Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Samankaltaiset esitykset


Esitys aiheesta: ""— Esityksen transkriptio:

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

218 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 J. Teuhola 2007

219 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 J. Teuhola 2007

220 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 J. Teuhola 2007

221 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 J. Teuhola 2007

222 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 J. Teuhola 2007

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

224 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 J. Teuhola 2007

225 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 J. Teuhola 2007

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

227 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 J. Teuhola 2007

228 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 J. Teuhola 2007

229 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 J. Teuhola 2007

230 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 J. Teuhola 2007

231 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 J. Teuhola 2007

232 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 J. Teuhola 2007

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

234 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 J. Teuhola 2007

235 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 J. Teuhola 2007

236 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 J. Teuhola 2007

237 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 J. Teuhola 2007

238 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 = pikseliä Värit: makrolohkon ’subsampling’ (joka toinen arvo värierokanavista) DVP J. Teuhola 2007

239 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 J. Teuhola 2007

240 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 J. Teuhola 2007

241 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 J. Teuhola 2007

242 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 – DVP J. Teuhola 2007

243 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 J. Teuhola 2007

244 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 J. Teuhola 2007

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

246 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 J. Teuhola 2007

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

248 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 J. Teuhola 2007

249 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 J. Teuhola 2007

250 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 J. Teuhola 2007

251 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 J. Teuhola 2007

252 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: , 24, 25, 29.97, 30, 50, 59.94, 60 (kuten MPEG-1). Väriotanta: 4:2:0, 4:2:2, 4:4:4 DVP J. Teuhola 2007

253 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 J. Teuhola 2007

254 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 J. Teuhola 2007

255 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 J. Teuhola 2007

256 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 J. Teuhola 2007

257 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 J. Teuhola 2007

258 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 J. Teuhola 2007

259 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 J. Teuhola 2007

260 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 J. Teuhola 2007

261 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 J. Teuhola 2007

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

263 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 J. Teuhola 2007

264 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 J. Teuhola 2007

265 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 J. Teuhola 2007

266 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 J. Teuhola 2007

267 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 J. Teuhola 2007

268 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 J. Teuhola 2007

269 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 J. Teuhola 2007

270 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 J. Teuhola 2007

271 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 J. Teuhola 2007

272 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 J. Teuhola 2007

273 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 J. Teuhola 2007

274 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 J. Teuhola 2007

275 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 J. Teuhola 2007

276 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 J. Teuhola 2007

277 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 J. Teuhola 2007

278 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 J. Teuhola 2007

279 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 J. Teuhola 2007

280 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 J. Teuhola 2007

281 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 J. Teuhola 2007

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

283 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 J. Teuhola 2007

284 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 J. Teuhola 2007

285 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 J. Teuhola 2007

286 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 J. Teuhola 2007

287 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 J. Teuhola 2007

288 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 J. Teuhola 2007

289 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 J. Teuhola 2007

290 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 J. Teuhola 2007

291 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 J. Teuhola 2007

292 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 J. Teuhola 2007

293 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 J. Teuhola 2007

294 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 J. Teuhola 2007

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

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

297 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 J. Teuhola 2007

298 H.264: Entropiakoodaus Eri tilanteissa käytössä kaksi vaihtoehtoa:
Kontekstiriippuva aritmeettinen koodaus Eksponentiaalinen Golomb-koodaus: 0  0 1       DVP J. Teuhola 2007

299 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 J. Teuhola 2007

300 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 J. Teuhola 2007

301 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 J. Teuhola 2007

302 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 J. Teuhola 2007

303 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 J. Teuhola 2007

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

305 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 J. Teuhola 2007

306 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 J. Teuhola 2007

307 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 J. Teuhola 2007

308 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 J. Teuhola 2007


Lataa ppt ""

Samankaltaiset esitykset


Iklan oleh Google