Slides:



Advertisements
Samankaltaiset esitykset
KuvatyypittMyn1 Kuvatyypit •MPEG-2 käyttää kolmen tyyppisiä kuvia. •Kuvatyyppejä kutsutaan I, P ja B-kuviksi. •Kuva voi olla joko kehys (frame) tai kenttä.
Advertisements

WCDMA Anssi Kukkonen Tarja Kettunen. •ITU aloitti IMT-2000 projektin v. 1992, jolla WCDMA valittiin UMTS:n radiojärjestelmäksi •IMT-2000 koostuu joukosta.
MPEG lyhyesti © Reino Aarinen, MPEG-1, 1992  Multimediavallankumouksen perusta (”äiti”) tietokoneilla.  Erityisesti MP3 ääni (Audio, Layer-3).
WLAN Tekijät: Petri Koskinen Miika Kulla Veli-Pekka Koskinen.
JavaScript (c) Irja & Reino Aarinen, 2007
LPC LPCC PLP MFCC LSP/LSF Δ ΔΔ Matemaattinen kikka Levinson-Durbin
Digitaalinen kuva ja kuvankäsittely
Digitaalinen video Perusteet. Videokamerat • Analogiset VHS ja SHVS -kamerat • Digital 8 –kamerat –Digital 8 –kasetit tai 8 mm tai 8 Hi –kasetit • Mini.
Digital Video Broadcasting tMyn1 DVB-DIGITAL VIDEO BROADCASTING •Yhteenliittymään kuuluu noin 300 yritystä ja organisaatiota –laitevalmistajia –jakeluorganisaatioita.
Teemu Alapaholuoma Tampereen Teknillinen Yliopisto, Porin Yksikkö DVB-H- Seminaari DVB-H Seminaari Specification for the use of Video and.
Ohjelman perusrakenteet
Tiedonsiirronperusteet
DVD koosto Multimediatyövälineet 2006 Leo Holsti ja Sirpa Kauppinen.
CD-ROM-asema mikrossa
Audio © Reino Aarinen, Audio-tiedostoformaatit .wav Pakkamaton digitoitu ääni (Microsoft) .aiff Pakkaamaton digitoitu ääni (Macintosh). Audio.
Kiintolevyn osiointi.
Äänen pakkaaminentMyn1 Äänen pakkaaminen •Äänen enkoodaaminen ja mahdollinen pakkaaminen on ratkaistava jotenkin monissa arkipäivän sovelluksissa ja tuotteissa:
Luku 2 – Tietoliikenteen tekniikka
EXtensible Markup Language
Kuvan pakkaaminentMyn1 Kuvan pakkaaminen •Bittikarttakuva muodostuu kuvapisteistä, ja jokaisessa kuvassa on tietty määrä kuvapisteitä pysty- ja vaakasuunnassa.
Sisältö: Johdanto kryptografiaan Salakirjoitus
Vaasan yliopisto Tietojenkäsittely TiTe.1020 Tiedon esitysmuoto E-Commerce 2010: Business, Technology, Society 6e Prentice Hall © 2010.
Yhdistetty M-ary ASK ja M-ary PSK Timo Mynttinen1 Yhdistetty M-ary ASK ja M-ary PSK Tähän asti on kerrallaan käytetty yksinomaan joko amplitudia, taajuutta.
KANNANVAIHTO?.
Profiilit ja tasottMyn1 Profiilit ja tasot (profiles and levels) MPEG-2 on reilusti monimutkaisempi verrattuna aikaisemmin julkaistuun MPEG-1:een. Niinpä.
TMA.003 / L3 ( )1 3. Funktioista 3.1. Kuvaus ja funktio Olkoon A ja B ei-tyhjiä joukkoja. Tulojoukon A  B = {(x,y) | x  A, y  B} osajoukko on.
Motion compensated interframe tMyn1 Motion compensated interframe prediction -koodaus Edellä tutkittiin yksittäisen kehyksen sisällä olevan redundanssin.
Mittaustekniikka (3 op)
Ohjelman perusrakenteet
Syksy 2001Johdatus bioinformatiikkaan / T. Pasanen 1 7. Monirinnastus Geeni perhe: ryhmä läheisiä toisilleen sukua olevia geenejä, jotka koodaavat samankaltaisia.
Tiedon esittäminen.
2. Vuokaaviot.
Teräväpiirtotekniikka Jussi Koskela Santeri Lehtonen IT-06.
Digitaalinen kuvankäsittely
JohdantotMyn1 Johdanto MPEG, Moving Picture Experts Group, työryhmä aloitti työskentelynsä vuonna Työryhmä on osana ISO/IEC organisaatiota. Ensimmäinen.
Käyttöjärjestelmien käynnistyminen
Tietoturvan perusteet - Syksy 2005 SSH salattu yhteys & autentikointi Tekijät: Antti Huhtala & Asko Ikävalko (TP02S)
Aritmeettinen jono jono, jossa seuraava termi saadaan edellisestä lisäämällä sama luku a, a + d, a+2d, a +3d,… Aritmeettisessa jonossa kahden peräkkäisen.
MUM8TM D-jatko Heikki Hietala. Kurssin rakenne 8 x 2 x 3 h lähiopetusta = 48 h Omaa työskentelyä 33 h Yhteensä 81 h = 3 op. Kurssi koostuu 3DS Maxin.
Aritmeettinen jono jono, jossa seuraava termi saadaan edellisestä lisäämällä sama luku a, a + d, a+2d, a +3d,… Aritmeettisessa jonossa kahden peräkkäisen.
Johtokoodaus Historia, toiminnalliset syyt ja toteutustapojen hintaerot ovat johtaneet eri johtokoodaustapojen kehittämiseen. Hyvälle johtokoodaukselle.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op ALU.
Mittaustekniikka 26 AD-muuntimia Liukuhihna – Pipeline Muunnos tehdään useassa peräkkäisessä pipeline- asteessa, joissa kussakin ratkaistaan joukko bittejä.
Systeemityö 2 Tilakaavio – State machine diagram
1. Usean muuttujan funktiot
Vaihemodulaatio Vaihemodulaatio ja taajuusmodulaatio muistuttavat suuresti toisiaan. Jos moduloidaan kantoaallon vaihekulmaa, niin samalla tullaan moduloiduksi.
XviD –videokodekki Petri Hoskonen – mediatekniikan seminaari.
Digitaalinen ääni. Mitä ääni on? Digitaalisen äänenkäsittelyn yhteydessä törmätään äänitekniikan käsitteisiin kuten hertsi ja desibeli Ääni on aineessa.
Windowsin Historia. Yleistä historiaa Windows kehitettiin alun perin MS-DOSin käyttöliittymäksi. Ohjelmalla pyrittiin helpottamaan IBM:n tietokoneiden.
Videosignaalin perusteet tMyn1 Videosignaalin perusteet Euroopassa televisiolähetyksissä kehyksiä lähetetään 25 kappaletta sekunnissa (frame rate 25 Hz).
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Tietokannan normalisointi
JohdantotMyn1 Johdanto MPEG, Moving Picture Experts Group, työryhmä aloitti työskentelynsä vuonna Työryhmä on osana ISO/IEC organisaatiota. Ensimmäinen.
Suoratoiston periaatteet
Tietokonegrafiikan perusteita
HDMI (High Definition Multimedia Interface) Pahkala Saukkonen.
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Ohjaamaton oppiminen– Heikki Vesterinen Optimointiopin seminaari - Syksy 2010 Ohjaamaton.
XSL Teppo Räisänen
XSL Teppo Räisänen
PDF –dokumentit Adobe Acrobatilla Taina Joutsenvirta Valtiotieteellinen tiedekunta
Wireless ATM, IEEE Standard, HIPERACCESS -Mikko Pehkonen.
Kappale 8 - Ad-Hoc verkkojen tehokkuus Tietoliikennetekniikan seminaari – Markku Korpi.
Miika Kuusinen LTY/Tietoliikenteen laitos 2003
Äänen käsittely.
Kuva- ja audiotekniikat / Kari Jyrkkä1 1.Informaatio ja muita määritelmiä 2.MPEG standardi 3.Kuvankäsittelysysteemin analysointi 4.JPEG standardi.
Muksis-projekti. Tiimi Projektilaiset: Tuomas Mäenpää, projektipäällikkö Richard Domander Teemu Nisu Tommi Teistelä Tietotekniikan laitos: Matthieu Weber,
Kritiikin alkulähteillä
Signaalinkäsittelymenetelmät / Kari Jyrkkä
Signaalien datamuunnokset
Ylinäytteistetyt A/D-muuntimet
Esityksen transkriptio:

6. Videon pakkausmenetelmiä Kuvanpakkauksesta Liikekompensaatio Videonpakkausstandardit Audion pakkaus DVP-6 J. Teuhola 2007

Datamääristä Video on kaikkein vaativin mediamuoto Talletus ja siirto pakkaamattomana ei mahdollista nykyisillä laitteilla ja siirto-nopeuksilla. 1 kuva karkeasti 8 Mbittiä 25 kuvaa/sek noin 200 Mbittiä Tunnin video noin 720 Gbittiä Lisäksi audiodata DVP-6 J. Teuhola 2007

Pakkauksen edellytykset Pakkaus perustuu datan sisältämään redundanssiin. Spatiaalinen redundanssi: Kuvan sisällä vahva korrelaatio naapuripikselien välillä. Temporaalinen redundanssi: Peräkkäisten kuvien välillä vahva riippuvuus, paitsi leikkauskohdissa. DVP-6 J. Teuhola 2007

Informaatioteorian alkeita Jos koodataan pikseli kerrallaan, niin pikselin sävy voidaan ennustaa suurella todennäköisyydellä (p) naapureista tai edeltäjäkuvien vastinpikseleistä. Informaation määrä (bittimäärä) = log2(1/p) Jos sävyn i todennäköisyys on pi, niin bittimäärän odotusarvo/pikseli (ns. entropia) on DVP-6 J. Teuhola 2007

Pakkauksen päävaiheet 1. Mallintaminen: Kuvataan sävyjen jakautuma ja riippuvuus naapureista ja muista kuvista jollakin tavalla Muodostetaan koodattavia elementtejä 2. Koodaus: Annetaan elementeille binäärikoodit Perustuu elementtien todennäköisyyksiin Tunnettuja algoritmeja: Huffman-koodaus, aritmeettinen koodaus DVP-6 J. Teuhola 2007

Menetelmien ominaispiirteitä Häviöttömyys: alkuperäinen kuvasarja voidaan palauttaa tarkasti; ei käytetä videolle. Häviöllisyys: voidaan palauttaa alkuperäisen kuvansarjan approksimaatio; riittää videolle. Pakkausteho (pakattu/alkuperäinen) Nopeus: Käytännön kannalta tärkeä Koodausnopeus ( live-lähetykset) Dekoodausnopeus ( katselu) Herkkyys tiedonsiirtovirheille (’robustness’) DVP-6 J. Teuhola 2007

Kuvan pakkaushäviön mittaus Keskineliövirhe: Keskimääräinen absoluuttinen virhe: Peak Signal-to-Noise Ratio (n=bittiä/pikseli): DVP-6 J. Teuhola 2007

Kiintokuvien pakkauksesta Jos videon kuvat pakataan toisistaan riip-pumatta, voidaan käyttää normaaleja kuvanpakkausmenetelmiä: JPEGMJPEG Helpottaa videon editointia pakatussa muodossa: voidaan leikata mistä kohdasta tahansa. Jättää peräkkäisten kuvien välisen (’tempo-raalisen’) riippuvuuden huomioimatta (ei tehokasta). DVP-6 J. Teuhola 2007

JPEG Yksi yleisimpiä kuvanpakkausformaatteja Häviöllinen, mutta hukka säädettävissä Tyypillinen pakkaussuhde 10:1 antaa riittävän laadukkaan dekoodaustuloksen. Perustuu kuvan ’frekvenssiesitykseen’: korkeat ’taajuudet’ voidaan esittää karkeammin – ihmissilmä ei herkkä virheille epätasaisilla alueilla. Vastaava idea myös videonpakkauksessa DVP-6 J. Teuhola 2007

JPEG harmaasävykuville Diskreetti kosinimuunnos (sukua Fourier-muunnokselle), tavoitteena dekorrelaatio. DVP-6 J. Teuhola 2007

JPEG harmaasävykuville (jatk.) Muunnos tehdään jokaiselle 8x8 –lohkolle Tulos 8x8 –matriisi; matalien taajuuksien kertoimet vas.ylhäällä, korkeiden taajuuksien kertoimet oik. alhaalla. Kertoimet kvantisoidaan (matalat taajuudet tarkemmin, koska tärkeämpiä) Suurin osa kertoimista on yleensä nollia. Lopuksi entropiakoodaus (Huffman tai aritmeettinen koodaus). DVP-6 J. Teuhola 2007

DCT-pohjaisen pakkauksen laadusta DCT-muunnos on itsessään häviötön Häviö tulee kvantisoinnista Suurta kvantisointiaskelta käyttäen saadaan hyvä pakkaussuhde, mutta informaatiohukka ilmenee lohkomaisuutena (’blocking artifacts’): Vain pienimpiä taajuuksia edustavat DCT-kertoimet nollasta poikkeavia. DVP-6 J. Teuhola 2007

Värikuvien pakkauksesta Suoraviivainen yleistys harmaasävykuvien pakkaukselle Ensimmäinen idea: Kullekin värikanavalle erikseen Ei tehokas, koska värit korreloivat Parempi idea: Erotetaan luminanssi väri-infosta JPEG: muunnos YUV-järjestelmään; krominanssikomponentit (U, V) voidaan koodata epätarkemmin kuin kirkkaus (Y). DVP-6 J. Teuhola 2007

Videonpakkaus vs. kuvanpakkaus Peräkkäisten kuvien korrelaatioita pitäisi käyttää hyväksi. Häiritsevät pakkaushäviöt voivat olla erityyppisiä kuin kiintokuvissa. Nopeissa liikkeissä häviöt eivät ole yhtä helposti havaittavissa. Eri käyttötilanteisiin omat menetelmänsä. Useimmissa pohjana DCT-muunnos Pakkaussuhde 50:1 kohtuullisen laadukas DVP-6 J. Teuhola 2007

Liikekompensaatio Peräkkäisissä videokuvissa tausta on usein staattinen (pl. satunnaisvaihtelut); vain jotkin edustalla olevat kohteet liikkuvat (jos kamera paikallaan). Seuraava kuva voidaan ennustaa melko tarkasti, jos kohteiden liikevektorit tunnetaan. Liikekompensaatio = liikevektorien etsintä, koodaus ja käyttö ennustuksessa. DVP-6 J. Teuhola 2007

Liikekompensaation tyypillinen toteutus Kuvan jokainen lohko (yleensä 16x16 -makrolohko) ennustetaan naapurikuvasta (jo käsitelty ja dekoodaajankin tiedossa). Ennustaja = viereisen kuvan vastinlohkon naapuruston lohko, joka parhaiten täsmää tarkasteltavan lohkon kanssa. Liikevektori = ennustajan ja ennustetun lohkon välinen sijaintiero. DVP-6 J. Teuhola 2007

Liikekompensaatio (jatk.) Esim. erotus ilman liikekompensaatiota: Koodattavat asiat: Liikevektorit Erotuskuvat (’error image’), kuten JPEG - = DVP-6 J. Teuhola 2007

Yleinen videonpakkausjärjestelmä Erotus- kuva Muunnos- operaatio Kvanti- soija Arvojen koodaus Käänteis- kvantis. Käänteis- muunnos Kuva- muisti Liikekom- pensaatio Liikkeen arviointi Liikevekt. koodaus Kuva DVP-6 J. Teuhola 2007

ITU-T H.261 -standardi International Telecommunication Union, 1990 Tarkoitettu symmetrisiin käyttötilanteisiin, (koodaus ja dekoodaus yhtä nopeita) Sovelluksina videokonferenssi, kuvapuhelin, yms. Määrittelee bittivirran ja dekooderin; enkooderi jätetty avoimeksi. Max 150 ms viive (reaaliaikasovellukset) DVP-6 J. Teuhola 2007

ITU-T H.261 (jatk.) Ennustajalohkoa etsitään max 15 pikselin päästä vaaka-/pystysuunnassa. Yksikkönä 16x16 –makrolohko Vertaillaan vain luminanssikomponentteja Ennustuslohkon pehmennys suodattimella. 31 mahdollista askelpituutta kvantisoinnissa (DCT-kertoimien jakaja). DVP-6 J. Teuhola 2007

ITU-T H.261 (jatk.) Standardi sisältää paljon optioita; esim. pelkkä liikekompensaatio tai DCT-muunnos 8x8-erotuslohkoille Kvantisoitujen kertoimien läpikäynti ’siksak’-järjes- tyksessä, jotta 0-jonojen pituudet maksimoituvat. Kertoimien (0) koodaus (Huffman) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DVP-6 J. Teuhola 2007

ITU-T H.261 (jatk.) Datahierarkia: 1 CIF-kuva (Common Interchange Format) = 12 GOBs (Groups Of Blocks) = 12 x 33 makrolohkoa) = 12 x 33 x 4 peruslohkoa = 12 x 33 x 4 x 8 x 8 = 101376 pikseliä Värit: makrolohkon ’subsampling’ (joka toinen arvo värierokanavista) DVP-6 J. Teuhola 2007

ITU-T H.261 (jatk.) Myös lähettäjän pitää dekoodata kuva ja tallettaa se liikekompensaatiota varten. Silloin tällöin (esim. joka 15:s) kuva ilman liikekompensaatiota (virheiden kasaantuminen) Paljon toimintaa  paljon dataa, vähän toimintaa  vähän dataa Puskuri ei saisi täyttyä eikä tyhjentyä. Tasainen siirto saadaan käyttämällä useita kvantisointitasoja (valinta per lohko, ilmoitetaan myös dekoodaajalle). DVP-6 J. Teuhola 2007

MPEG-standardiperhe ISO / Moving Pictures Experts Group, Aloitti työnsä 1988 MPEG-1:  1.5 Mbps  CD-ROM (1992) MPEG-2:  10 Mbps  digi-tv (1994) MPEG-3:  40 Mbps  HDTV; Hylättiin MPEG-4: Oliopohjainen multimedia (1998/99) MPEG-7: AV-sisällönkuvaus (2001) MPEG-21: Integraatio (2001) DVP-6 J. Teuhola 2007

MPEG-1 Muistuttaa paljon H.261-standardia Tarkoitettu  1.5 Mbps –siirtonopeuksille Enintään VHS-tasoa, elokuva mahtuu suunnilleen CD-ROMille Geneerinen standardi (ei rajoitu mihinkään tiettyyn sovellukseen). Sekä videon että audion koodaus (tarkastellaan myöh.) DVP-6 J. Teuhola 2007

MPEG-1: liikekompensaatio Kaksisuuntainen, perustuen joko edeltäjä- tai seuraajakuvaan tai molempiin. Liikevektori puolen pikselin tarkkuudella. Välipisteet lasketaan bilineaarisella interpolaatiolla. Liikevektorien koodaus: ero viereisen makrolohkon liikevektorista. Liikevektorin arvoalue –512 .. 511.5 DVP-6 J. Teuhola 2007

MPEG-1: syöttöformaatti PAL tai NTSC Pikselimäärän pienennys: otanta (subsampling) ja suodatus (filtering) Luminanssidimensiot: 352 x 288 (PAL), tai 352 x 240 (NTSC) Krominanssidimensiot: 176 x 144 (PAL), tai 176 x 120 (NTSC). DVP-6 J. Teuhola 2007

MPEG-1: kuvatyypit I-frame (intra-coded): itsenäisesti koodattu kuva, ilman liikekompensaatiota; mahdollinen dekoodauksen aloituskohta P-frame (predictive-coded): liikekompensoitu edellisestä I/P-kuvasta. B-frame (bidirectionally coded): liikekompensoitu sekä edeltävästä että seuraavasta I/P-kuvasta DVP-6 J. Teuhola 2007

MPEG-1: Kuvaryhmä GOB = Group-Of-Pictures Pienin suorasaantiyksikkö, voidaan koodata riippumattomasti, esim. I B P Kaksisuuntainen ennustus Eteenpäin ennustus DVP-6 J. Teuhola 2007

MPEG-1: Kuvajärjestys Kaksi järjestystä: näyttöjärjestys ja bittivirtajärjestys. Ennustajaroolissa olevat kuvat dekoodattava ennen ennustettavia. Tarvitaan puskuri Syntyy pieni viive DVP-6 J. Teuhola 2007

MPEG-1: Bittivirran sisäinen hierarkia Videosekvenssi Kuvaryhmä (GOP) Kuva Viipale (slice) Makrolohko Lohko DCT-kerroin DVP-6 J. Teuhola 2007

MPEG-2 = ITU-T H.262 Bittinopeuden suositusväli 4-15 Mbps Periaatteessa sovellusriippumaton; alueita: Video-On-Demand (VOD), broadcast-TV (kaapeli/satelliitti/terrestiaali-digi-tv), DVD, HDTV Progressiivisen & lomitetun videon koodaus Kiinnitetään bittivirta ja dekooderi, mutta ei enkooderia (samoin kuin MPEG-1) DVP-6 J. Teuhola 2007

MPEG-2: Yhteensopivuus Dekooderi pystyy dekoodaamaan myös MPEG-1-bittivirtaa Skaalautuvassa koodauksessa MPEG-2:n perustason koodia voi dekoodata myös MPEG-1-dekooderilla Profiileja tarvitaan eri sovellusalueita varten Jokaisen dekooderin ei ole järkevää implementoida koko standardia DVP-6 J. Teuhola 2007

MPEG-2: Profiilit Useita optioita, joilla voidaan säätää datamäärää ja kuvan laatua: Simple (ei B-frameja) Main SNR-skaalautuva Spatiaalisesti skaalautuva High DVP-6 J. Teuhola 2007

MPEG-2: Tasot Profiilien sisällä tasoja, jotka vastaavat eri laatutasoja; ilmenevät parametriarvojen rajoitteina (otantataajuus, kuvataajuus, bittimäärä/sek) Vaihtoehdot (PAL-järjestelmässä): High (1920 x 1152) High-1440 (1440 x 1152) Main (720 x 576) Low (352 x 288) DVP-6 J. Teuhola 2007

MPEG-2: Rajoitteita Kaikki profiili-taso-yhdistelmät eivät mahdollisia Matalampi profiili & taso -yhdelmä sisältyy aina korkeampaan. Periaatteellinen maksimikuvakoko 16K x 16K pikseliä. Kuvataajuudet: 23.976, 24, 25, 29.97, 30, 50, 59.94, 60 (kuten MPEG-1). Väriotanta: 4:2:0, 4:2:2, 4:4:4 DVP-6 J. Teuhola 2007

MPEG-2: Lomitettu video Kentät (2 kpl/kuva) koodataan erikseen Jos 1. kenttä I-kuva, niin toinen voi olla I- tai P-kuva; P-kuva ennustetaan I-kuvasta Jos 1. kenttä on P-/B-kuva, niin toisen oltava samaa tyyppiä. Liikekompensaatiovaihtoehdot: Frame-based Field-based Dual-prime (2 referenssikenttää) Näistä erilaisia variaatioita DVP-6 J. Teuhola 2007

MPEG-2: Lomitettu video (jatk) DCT-koodaus Frame-based (jos vähän liikettä; makrolohkosta 4 erillistä 8 x 8 -lohkoa) Field-based (jos paljon liikettä; makrolohkosta 4 lomitettua 8 x 8 -lohkoa) Kaksi erilaista 'sik-sak-järjestystä' DCT-kertoimille; toinen suosii lomitettua videota, jossa vertikaalisuunnassa korkeita taajuuksia. DVP-6 J. Teuhola 2007

MPEG-2: skaalautuva koodaus (kerrostus) Voidaan käyttää useaa bittivirtaa (ei simple ja main –profiileissa) Peruskerros (layer): Peruslaatu Melko pieni datamäärä Korkea prioriteetti Tarkennuskerrokset Peruskerrokseen yhdistettynä parempi laatu Alempi prioriteetti DVP-6 J. Teuhola 2007

MPEG-2: kerrostus (jatk.) Tarvitaan häiriöisille siirtoteille; perustaso turvataan paremmin (virheenkorjaus) Joustava verkoissa, joissa siirtonopeus vaihtelee: Jos kaista kapenee, tarkennus-kerrokset jätetään pois. Sopii myös progressiiviseen siirtoon (nopeasti karkea versio videosta) Toteutus: alikaistajako (matalat & korkeat taajuudet) tai DCT-kertoimien jako ryhmiin DVP-6 J. Teuhola 2007

MPEG-2: SNR-skaalautuvuus SNR = Signal-to-Noise-Ratio (signaali-kohina-suhde) Kaksi laatutasoa: Karkea taso sisältää karkeasti kvantisoidut DCT-kertoimet Tarkennustaso esittää syntyneet kvantisointivirheet tarkemmin kvantisoituina. DVP-6 J. Teuhola 2007

MPEG-2: Spatiaalinen skaalautuvuus Karkea taso otannalla (downsampling) hienommasta resoluutiosta Esim. SDTV (Standard Definition TV) saadaan otannalla HDTV:stä (High Definition TV) Karkeata tasoa käytetään koodattaessa tarkempi taso: resoluution laajennus (up-sampling) interpolaatiolla ja yhdistäminen liikekompensaatioon sopivasti painotettuna DVP-6 J. Teuhola 2007

MPEG-2: Muita skaalautuvuuksia Temporaalinen skaalautuvuus: Perustaso pienemmällä kuvataajuudella Perustason kuvat toimivat 'ennustuskuvina' väliin lisättäville korkeamman kuvataajuuden kuville (esim. 25 kuvaa/ sek  50 kuvaa/sek) Hybridi-skaalautuvuus: Skaalautuvuuksia yhdistellään pareiksi 1 peruskerros ja 2 tarkennuskerrosta DVP-6 J. Teuhola 2007

ITU-T H.263 -videonpakkausstandardi Määritelty 1995 Monentyyppisiin verkkosovelluksiin (”Very low bitrate Internet telephony”)  64 Kbps Laajennus H.261:stä (tehokkaampi) Kaksisuuntainen liikekompensaatio Koodausmenetelmät: DPCM (Differential Pulse Code Modulation) DCT (Discrete Cosine Transform) Pohjana MPEG-4 Visualin Simple-profiilille DVP-6 J. Teuhola 2007

MPEG-4 Pohjana ITU-T H.263 –standardi Työ alkoi 1993, pääosin valmis 1999 Alkuperäinen tavoite: videon tehokas koodaus hitaita siirtoteitä varten Laajeni sitten yleiseksi multimedian koodausstandardiksi Tukee interaktiivisuutta ja sisältöpohjaista saantia; tässä tarkoituksessa sitä täydentää MPEG-7-standardi. Lähes 20 erilaista profiilia! DVP-6 J. Teuhola 2007

MPEG-4: Sovellusaloja Interaktiivinen videon siirtoyhteys, esim. videopuhelin, videoneuvottelu Ei-interaktiivisen videon siirto, esim. broadcast, video-email Digitaalinen tallennus (optiset levyt) Videotietokannat, sisältöpohjainen käsittely Videovalvonta Interaktiiviset videopelit DVP-6 J. Teuhola 2007

MPEG-4: Piirteitä Virhesietoisuus siirrossa Luonnollisen ja synteettisen av-datan geneerinen koodaus ja yhdistäminen Oliopohjaisuus: videokuvat voidaan koota osista (esim. kohde + tausta), jotka ovat itsenäisiä ja koodataan omalla tavallaan Tuki erimuotoisille video-objekteille (muodot, 2D- ja 3D-polygoniverkot, kasvot, vartalo) Tehokas pakkaus eri oliotyypeille ja kuvamateriaaleille DVP-6 J. Teuhola 2007

MPEG-4: Piirteitä (jatk.) Oliokohtainen interaktiivisuus: käyttäjä voi vaikuttaa olioihin erikseen. Oliopohjainen hajasaanti Temporaalinen hajasaanti (katselun aloituskohdan valinta) Temporaalinen, spatiaalinen, laadullinen ja oliotason skaalautuvuus erinopeuksisia siirtoteitä ja eritasoisia katselu-/kuuntelu- laitteita varten. Progressiivisen ja lomitetun videon pakkaus DVP-6 J. Teuhola 2007

MPEG-4: AV-oliot AV-olio on visuaalinen komponentti, audiokomponentti tai näiden yhdelmä. Video: Luonnollinen (kamerasta) tai synteettinen Audio: Luonnollinen/synteettinen Mono/stereo/monikanava Audiovisuaalinen näkymä (scene): AV-olioiden kompositio DVP-6 J. Teuhola 2007

MPEG-4: AV-olioiden siirto ja näyttö Interaktiivisuuden mahdollistamiseksi pitää käyttäjille välittää kunkin av-olion koordinaatit eli näkymän rakenneinfo siirretään omana virtanaan, multipleksoituna av-olioiden perusbittivirtojen kanssa Näkymä kootaan käyttäjän päätelaitteessa Kompositiota voidaan muuttaa muuttamatta av-olioiden sisältöä DVP-6 J. Teuhola 2007

MPEG-4: AV-olioiden siirto ja näyttö (jatk.) Olioiden ominaisuuksia voidaan muuttaa vastaanottopäässä, esim. zoomaus, resoluution muutos, ym. Jotkin toiminnot vaativat kontrollitiedon siirtoa palvelimeen (ns. upstream data), joka muuttaa bittivirtaa sen perusteella. DVP-6 J. Teuhola 2007

MPEG-4: Olioiden koodaus Video-olioiden vaihtoehdot: Luonnollinen tai synteettinen Suorakulmainen tai mielivaltaisen muotoinen Verkkomaisten (mesh) olioiden koodaus, esim. kolmioverkoista rakennetut oliot Mallipohjainen koodaus: ihmiskasvojen ja vartalon synteettinen esitys ja animointi Kiintokuvien tekstuurien koodaus: Wavelet-menetelmä DVP-6 J. Teuhola 2007

MPEG-4: Video-olion (VO) koodaus Mielivaltaisen muotoinen olio 2D-kuva tietyllä hetkellä = VO-taso (VO-plane = VOP) VOPin määrittely: Muoto (maski)+ tekstuuri (luminanssi & krominanssi) Koodauksessa määriteltävä lisäksi liike Suorakulmainen VOP: koodaus  MPEG-2 Muut muodot löydetään segmentointi- tai chroma key –tekniikoilla. DVP-6 J. Teuhola 2007

MPEG-4: Video-olion (VO) koodaus (jatk.) Koodaustehtäviä: Muodon koodaus Liikekompensaatio (= ennustus) Ennustusvirheiden DCT-koodaus Koodaus makroblokkitasolla, sijoitettuna objektia rajaavan suorakaiteen (MBR = Minimum Bounding Rectangle) sisälle Kolme VOP-tyyppiä (vrt. MPEG-1 ja -2): I-VOP, P-VOP ja B-VOP DVP-6 J. Teuhola 2007

MPEG-4: Liikekompensaatio Globaali liikevektori koko VOPille Kullekin makrolohkolle lokaali liikevektori: Vain P- ja B-VOPeille Perustuu kolmen naapurilohkon perusteella tehtävään ennustukseen Ennustamisvirheen vaiht.mittainen koodaus Pikseliarvoja ekstrapoloidaan tarvittaessa ennustusolion reunoilta ulospäin Tarkkuus 1/4 pikseliä Forward, backward, interpolaatio tai 'direct' DVP-6 J. Teuhola 2007

MPEG-4: Tekstuurin koodaus I-VOPit ja P-/B-VOPien ennustusvirheet DCT-koodaus: Makrolohkossa 4 kpl 8 x 8 luminanssimatriisia 2 kpl 8 x 8 krominanssimatriiseja (U, V) Jos makrolohko osittain VOPin ulkopuolella, niin I-VOPeille ekstrapolointi P/B-VOPeille ennustusvirhe = 0 DVP-6 J. Teuhola 2007

MPEG-4: Tekstuurin koodaus (jatk.) Vaihtoehto: muotoon mukautuva (shape-adaptive) SA-DCT: Tehokkaampi koodaus, mutkikkaampi toteutus Sisälohkot kuten MPEG-2 VOPin ulkopuolella olevia lohkoja ei koodata Lisäksi variaatioita. DVP-6 J. Teuhola 2007

MPEG-4: Muodon koodaus Bittikartta: 0 = sisällä, 1 = ulkona Koodaus 16 x 16 –lohkoina Kokonaan muodon sisällä/ulkona olevat lohkot on helppo koodata. Osittain sisällä olevat lohkot koodataan kontekstipohjaisella aritmeettisella kooderilla (I-VOPille konteksti = 10 jo käsiteltyä pikseliä ylävasemmalla); reunoilla kontekstiin mukaan naapurilohkojen pikseleitä DVP-6 J. Teuhola 2007

MPEG-4: Muodon koodaus (jatk.) P- ja B-VOPeille kontekstin muodostavat ennustava muotomatriisi ja nykyisen tunnetut naapurit; koodaus kontekstipohjaisella aritmeettisella kooderilla. Voidaan käyttää myös häviöllistä muodonkoodausta Osittainen läpinäkyvyys (alfa-kanava) koodataan samalla tavalla kuin tekstuuri. DVP-6 J. Teuhola 2007

MPEG-4: Sprite-koodaus Sprite = vakiosisältöinen video-olio, joka koodataan ja lähetetään kerran, esim. taustakuva Sprite-oliota on mahdollista panoroida ja zoomata dekoodauspäässä, jos sen kuva-ala on riittävän laaja. DVP-6 J. Teuhola 2007

MPEG-4: Verkkorakenteisten olioiden koodaus Mesh-rakenne Olio jaetaan monikulmioihin (yl. kolmioihin) 2D (grafiikassa yleisemmin 3D). Solmupisteet toimivat referenssipisteinä esitettäessä olion liikettä kuvasta toiseen. Liikevektori = ero edellisen solmupisteen liikevektoriin nähden. Ns. warping-tekniikka monikulmioiden tekstuureille DVP-6 J. Teuhola 2007

MPEG-4: Verkkorakenteisten olioiden koodaus (jatk.) Alkutilanne: tasainen tai mielivaltainen (Delanay) kolmiointi Olioesiintymä = MOP (Mesh Object Plane) Solmupisteiden valinta ja pisteiden seuranta eivät kuulu standardin piiriin. Keyframe-tekniikka: solmupisteiden paikat interpoloidaan välikuvissa. Vähentää lohkomaisuutta alhaisilla siirtonopeuksilla. DVP-6 J. Teuhola 2007

MPEG-4: Mallipohjainen koodaus Tukee erittäin alhaista siirtonopeutta Kasvojen mallinnus: Pään geometria + tekstuuri FDP/FAP = Face Definition/Animation Param. Kiintopisteiden (82 kpl) liikuttelu luo ilmeitä 68 perusanimaatiota Korkean tason ilmauksia: ilo, suru, pelko, ... Suun liikkeet, puheanimaatio Vastaavasti vartalon (body) mallinnus DVP-6 J. Teuhola 2007

MPEG-4: Kiinteän tekstuurin koodaus Menetelmä: 2D-wavelet-muunnos Myös muotoon sopeutuva (shape-adaptive) variaatio mahdollinen Jako taajuuskaistoihin; alhaisimman taajuuden koodaus naapuriarvojen eroina (DPCM-menetelmä), muut kaistat zerotree-tekniikalla (nollasta poikkeavat arvot) Lopuksi aritmeettinen koodaus Spatiaalinen tai SNR-skaalautuva DVP-6 J. Teuhola 2007

MPEG-4: Skaalautuvuus Bittivirta koostuu perus- ja tarkennusker-roksista, joista jälkimmäiset optionaalisia Sopeutuu Eri siirtonopeuksiin Verkon ruuhkaisuuteen Eri näyttöresoluutioihin Dekooderin tasoon. DVP-6 J. Teuhola 2007

MPEG-4: Skaalautuvuus (jatk) Skaalautuvuustyyppejä: Kehyspohjaiset: Temporaalinen (kuvia/sek) Spatiaalinen (pikselimäärä) Laatu (kvantisointitarkkuus) Oliopohjainen Tärkeät oliot muita tarkemmin DVP-6 J. Teuhola 2007

MPEG-4: Virhesietoisuus Sopeutuminen epäluotettaviin siirtoteihin Pääkategoriat: Uudelleensynkronointi: makrolohkopake-teissa tunnistusbittijono Tiedon partitiointi: Liikevektorit ja tekstuurit erikseen; tukee virheiden ’kätkemistä’ (ei standardoitu) Käänteinen vaihtelevanmittainen koodaus: dekoodaus kumpaan suuntaan tahansa. DVP-6 J. Teuhola 2007

MPEG-4: Profiilit Koko välineistön toteutus kaikissa dekoodereissa ei mielekästä Standardi määrittelee osajoukkoja eli profiileja, mm. seuraavia ryhmiä: Luonnollinen video (simple, core, main, ... ; 15 kpl) Synteettinen video (basic animated texture, simple face animation, simple face and body animation) Hybridi DVP-6 J. Teuhola 2007

Muita videostandardeja: ITU-T H.264 Maaliskuu 2003 Väite: puolet tehokkaampi kuin MPEG-2 Monipuolisempi liikekompensaatio kuin aiemmissa standardeissa Approksimatiivinen DCT-muunnos 4 x 4-lohkoille Erilaisia vaihtelevanmittaisia loppukoodaus-tekniikoita, mm. kontekstipohjainen aritmeettinen koodaus. DVP-6 J. Teuhola 2007

H.264: Profiilit Baseline: Videoneuvottelut, langattomat verkot Main: TV-broadcast, videotallennus Extended: Streaming media Myöhemmin lisätty useita high-profiileja, mm. HD-tasoista videota varten, sekä tiheämpää väriotantaa (4:2:2, 4:4:4) ja isompaa bittimäärää/pikseli varten. DVP-6 J. Teuhola 2007

H.264: Piirteitä Tarjoaa monipuoliset ennustusmahdollisuudet sekä kuvien kesken (liikekompensaatio) että niiden sisällä (spatiaalinen redundanssi). Koodauksessa pyritty sekä pakkaus-tehokkuuteen että nopeuteen. Lohkomaisuuden poistosuodatin mukana standardissa. Yleinen havainto: Niin paljon vaihtoehtoja, että tehokkaan kooderin toteutus on suuri haaste. DVP-6 J. Teuhola 2007

H.264: Piirteitä Kuva koostuu makrolohkoista (16 x 16), joita ryhmitellään vaihtelevan kokoisiksi siivuiksi eli viipaleiksi (slice): I-siivu vain I/P-makrolohkoja P-siivu: I/P/skipped-makrolohkoja B-siivu: I/B-makrolohkoja SI-siivu: Tuki streamin vaihdolle (extended profile) SP-siivu: Tuki streamin vaihdolle (extended profile) Siivuille erilaisia ryhmittelytapoja ja koodaus-järjestyksiä (virheiden spatiaalinen rajoitt.). DVP-6 J. Teuhola 2007

H.264: Makrolohkotyypit I-lohko: Ei liikekompensaatiota; framen sisäinen (intra-) ennustus ja koodaus joko koko 16x16- tai 4x4-osalohkoille. P-lohko: Liikekompensaatio yhden referenssikuvan perusteella; mahdolliset osalohkokoot (kullekin liikevektori): 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4 (chroma-komponenteille puolet näistä). B-lohko: 1 tai 2 referenssilohkoa. DVP-6 J. Teuhola 2007

H.264: Liikekompensaatio Puskurissa pidetään useita aiemmin koodattuja referenssikuvia, joita on kahta tyyppiä: Lyhytaikaisia (short-term); liukuva ikkuna Pitkäaikaisia (long-term); poisto eksplisiittisesti Baseline-profiilissa vain yksi referenssikuvalista, main-profiilissa kaksi. Makrolohkon koodaus sisältää referenssikuvan indeksin. DVP-6 J. Teuhola 2007

H.264: Liikevektoreista Tarkkuus ¼ pikseliä (luma; chromalle 1/8 piks.) Kokonaisindeksien kohdalla käytetään todellisia referenssipikseleitä Puolikaspikselien kohdalla interpolaatio 3+3 naapurin suhteen (ensin toisen, sitten toisen dimension suhteen). Neljännespikseleille interpolaatio kahden naapurin (todellisen tai interpol.) keskiarvona Chroma: Lineaarinen interpolaatio 4:stä todellisesta naapuripikselistä. DVP-6 J. Teuhola 2007

H.264: Liikevektorien koodaus Läheisten lohkojen liikevektorit korreloivat. Lasketaan ennustevektori jo koodattujen naapurivektorien perusteella. Lasketaan ennusteen ja todellisen vektorin erotus ja koodataan se (paitsi skipped-lohkolle kopioidaan suoraan referenssilohkosta). B C B C A mediaani(A,B,C) A A DVP-6 J. Teuhola 2007

H.264: Kuvan sisäinen ennustus Tehdään intra-moodissa 4 x 4 –lohkot: 9 vaihtoehtoista ennustusmoodia 16 x 16 –lohkot: 4 vaihtoehtoista enn.moodia chroma-lohkot: 4 vaihtoehtoista enn.moodia Tai: pikselien koodaus suoraan ilman ennustusta Ennustustapa pitää signaloida dekooderille. Koska naapurien ennustustavat korreloivat, niin ennustustapa ennustetaan naapureista! DVP-6 J. Teuhola 2007

H.264: Taajuusmuunnos 4 x 4 –lohkoille (koodataan erotus ennusteesta) Intra-koodatut 16 x 16 –lohkot ja 8 x 8 chroma-lohkot: Hadamard-muunnos 4 x 4 -osille Muut: DCT-pohjainen muunnos 4 x 4 -osille: Kokonaislukuaritmetiikka (16-bittinen) Käänteismuunnoksen tulos yksikäsitteinen Voidaan pääosin suorittaa yhteenlaskuin ja shiftein Skaalauskerroin integroitu kvantisoijaan DVP-6 J. Teuhola 2007

4 x 4 –DCT-muunnos missä DVP-6 J. Teuhola 2007

H.264: 4 x 4 -DCT-approksimaatio missä ja  on tulo alkioittain eli kertoimien skaalaus Huomaa: kakkosella kertominen = shift left DVP-6 J. Teuhola 2007

H.264: Kvantisointi Korkeat taajuudet eivät niin ’tärkeitä’  karkeampi kvantisointi H.264 tarjoaa 52 kvantisointitasoa, arvot taulukoitu, indeksi määräytyy tilanteen mukaan (kooderi voi valita). Kvantisointiarvot yhdistetään DCT-muunnoksen skaalausmatriisiin; laskenta järjestetty siten, että tarvitaan yksi kertolasku & shift per kerroin DVP-6 J. Teuhola 2007

H.264: Entropiakoodaus Eri tilanteissa käytössä kaksi vaihtoehtoa: Kontekstiriippuva aritmeettinen koodaus Eksponentiaalinen Golomb-koodaus: 0  0 1  010 2  011 3  00100 4  00101 5  00110 6  00111 ... DVP-6 J. Teuhola 2007

H.264: Lohkomaisuuden poistosuodatin Suoritetaan kooderissa ja dekooderissa ennen lohkon käyttöä ennustuksessa (intra-koodauksessa ennustajat suodattamattomia) Suodatusteho riippuu lohkorajan tyypistä (makro-/pienempi), sävyjen gradientin suuruudesta, kvantisointiparametrista Vaikutus max 3 pikselin päähän lohkorajasta Suodatin ’kytketään pois’ selkeiden sävyrajojen kohdalla. DVP-6 J. Teuhola 2007

H.264: Main-profiili Lähes superjoukko baseline-profiilista, mutta: Ei siivuryhmiä, ei mielivaltaista siivujärjestystä, ei redundantteja siivuja Tarkoitettu TV:hen ja videon tallennukseen. B-tyyppisen siivun makrolohko sallii kaksi ennustelohkoa: 2 ed., 2 tul. tai 1 ed. ja 1 tuleva. Short-term- ja long-term-referenssikuvat eri listoissa; molemmissa voi olla edeltäviä ja tulevia kuvia (jo koodattu). B-prediction = keskiarvo kahdesta ennustajalohkosta. DVP-6 J. Teuhola 2007

H.264: Extended-profiili Tarkoitettu streaming-sovelluksiin Baselinen laajennus B-siivut käytössä Painotettu ennustus SP- ja SI-siivut mahdollistavat vaihtamisen koodatusta streamista toiseen, sekä VCR-tyyppisiä toimintoja (random access). SP tukee tehokasta siirtymistä toiseen samankaltaiseen streamiin. DVP-6 J. Teuhola 2007

Muita videonpakkausstandardeja: VC-1 Virallisesti SMPTE 421M (SMPTE =Society of Motion Picture and Television Engineers) Virallinen julkistus huhtikuussa 2006 Vaihtoehto H.264:lle; samantasoinen laatu. Taustalla Microsoft Windows Media 9 codec; dekooderi sisältyy Windows Vistaan HD DVD ja Blue-ray –soittimien pystyttävä toistamaan VC-1:tä DCT-pohjainen, hyvä tuki lomitetulle videolle, useita profiileja. DVP-6 J. Teuhola 2007

MPEG-audio Layer I, II ja III (= MP1, MP2, MP3) Asteittain tehokkaampia koodauksia Geneerisiä: eivät oleta äänen tyypiltä mitään Hyödyntävät ihmisen kuuloaistin vajavaisuutta Näytteenottotaajuudet 32, 44.1 ja 48 KHz Jako kehyksiin (384 tai 1152 näytettä) DVP-6 J. Teuhola 2007

MPEG-audio (jatk.) Kanavamoodit Datanopeudet 32 ... 448 Kbps Yksikanavamoodi Kaksikanavamoodit (koodataan erikseen) Stereomoodi (osa koodista yhteistä) Yhteisstereomoodi (korrelaatioiden hyväksikäyttö) Datanopeudet 32 ... 448 Kbps Pakkaussuhde käytännössä 1:4 ... 1:12 Virheenkorjaus (CRC = Cyclic Redundancy Code); virheen kätkentä jotenkin DVP-6 J. Teuhola 2007

MPEG-audio: Alikaistat Alikaistajako taajuusalueisiin, toteutus ali-, yli- tai kaistanpäästösuodattimilla Desimointi: Pudotetaan alikaistan näytemäärää siten, että ne yhdessä vastaavat alkuperäistä näytemäärää Vaarana aliasointi (’laskostuminen’). DVP-6 J. Teuhola 2007

MPEG-audio: Psykoakustinen mallinnus Käyttää hyväkseen ihmiskuulon peitto-ominaisuuksia Taajuuspeitto: Voimakas ääni tietyllä taajuudella rajoittaa läheisten taajuuksien kuuluvuutta Aikapeitto: Hieman ennen voimakasta ääntä ja pidempään sen jälkeen heikommat äänet eivät kuulu. Peittovaikutukset myös summautuvat. DVP-6 J. Teuhola 2007

MP3 = MPEG Layer III Yleinen musiikin jakeluformaatti Pakkausvaiheet: Alikaistajako 32 tasalevyiseen kaistaan Modifioitu DCT-muunnos (1-ulott.) Nopea Fourier-muunnos ja psykoakustinen mallinnus Kvantisointi (epätasavälinen) Huffman-koodaus CRC-koodaus (cyclic redundancy check); virheiden havaitseminen DVP-6 J. Teuhola 2007

Muita audionkoodausmenetelmiä Olemassa lukuisa joukko, esim. AAC (Advanced Audio Coding; MPEG-2 ja -4) WMA = Windows Media Audio, osa Windows Media Playeria Real Audio (RA), yksi vanhimmista QuickTime audio Synteettisen audion koodaus Musiikki: MIDI, SA (Structured Audio/MPEG-4) Puhe: TTS (Text-TO-Speech / MPEG-4) DVP-6 J. Teuhola 2007