1 / 92

6. Videon pakkausmenetelmiä

6. Videon pakkausmenetelmiä. Kuvanpakkauksesta Liikekompensaatio Videonpakkausstandardit Audion pakkaus. Datamääristä. Video on kaikkein vaativin mediamuoto Talletus ja siirto pakkaamattomana ei mahdollista nykyisillä laitteilla ja siirto-nopeuksilla. 1 kuva karkeasti 8 Mbittiä

geneva
Download Presentation

6. Videon pakkausmenetelmiä

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

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

  9. 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

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

  11. 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

  12. 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 edustavatDCT-kertoimet nollasta poikkeavia. DVP-6 J. Teuhola 2007

  13. 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

  14. Videonpakkaus vs. kuvanpakkaus • Peräkkäisten kuvien korrelaatioita pitäisikä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

  15. 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

  16. 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

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

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

  19. 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

  20. 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

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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

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

  30. 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

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

  32. 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

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

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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) interpolaatiollaja yhdistäminen liikekompensaatioon sopivasti painotettuna DVP-6 J. Teuhola 2007

  43. 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

  44. 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

  45. MPEG-4 • Pohjana ITU-T H.263 –standardi • Työ alkoi 1993, pääosin valmis 1999 • Alkuperäinen tavoite: videon tehokas koodaus hitaitasiirtoteitä 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

  46. 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

  47. 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 jakuvamateriaaleille DVP-6 J. Teuhola 2007

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

  49. 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

  50. MPEG-4: AV-olioiden siirtoja näyttö • Interaktiivisuuden mahdollistamiseksi pitää käyttäjille välittää kunkin av-olion koordinaatiteli 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 muuttamattaav-olioiden sisältöä DVP-6 J. Teuhola 2007

More Related