Kodiranje videa Video Video odnosno pokretna slika se

  • Slides: 34
Download presentation
Kodiranje videa

Kodiranje videa

Video • Video odnosno “pokretna slika” se sastoji od niza nepokretnih slika (frejmova) prikazanih

Video • Video odnosno “pokretna slika” se sastoji od niza nepokretnih slika (frejmova) prikazanih dovoljno brzo • Frekvencija promene slike je brzina osvežavanja frejma (eng. frame rate) izražena u frejmovima po sekundi (fps) § Opažamo kretanje kao neprekinuto ako je frame rate od 15 fps (npr. za animaciju) do 25 -30 fps (npr. za full motion video) § Posebne primene, npr. 3 D simulacija leta do 60 -75 fps

Analogni video • Video signal modulira jačinu elektronskog topa koji red po red prolazi

Analogni video • Video signal modulira jačinu elektronskog topa koji red po red prolazi po ekranu i ostavlja trag § Za mirnu sliku (bez titranja između uzastopnih frejmova) minimum 50 Hz, stoga se koristi preplitanje (interface) • Standardi za analogni video (TV) § NTSC (National Television System Commitee), 30 fps u SAD i Japanu § PAL (Phase Alteration Line), 25 fps u Evropi, Kini i Australiji § SECAM (Sequential Couleur Avec Memoire), 25 fps u Francuskoj § (HDTV) (High Definition Television), 60 fps

Digitalni video • Frejm je digitalna nepokretna slika • Video telefonija, telekonferencija § Simetrična

Digitalni video • Frejm je digitalna nepokretna slika • Video telefonija, telekonferencija § Simetrična primena, koder i dekoder jednako složeni § Osetljivost na kašnjenje • Digitalna TV, filmovi, DVD § Asimetrična primena, jedan koder služi puno dekodera, dakle može biri složeniji • Video preko interneta i mobilnih mreža § Relativno male brzine prenosa § Osetljivost na greške

Modeli boje za video • RGB (Red – Green – Blue) • YUV §

Modeli boje za video • RGB (Red – Green – Blue) • YUV § PAL video § Y – svetlina (luminance) § U, V – boja (chrominance) • YIQ § NTSC televizija § Y – svetlina § I, Q – boja veza YUV i RGB modela Y=0, 299 R+0, 58 G+0, 11 B U=0, 493 (B-Y) V=0, 877 (R-Y) veza YIQ i RGB modela Y=0, 30 R+0, 59 G+0, 11 B I=0, 60 R+0, 28 G+0, 31 B Q=0, 21 R+0, 52 G+0, 31 B

Pod-uzorkovanje boje • Dokazano je da je ljudsko oko manje osetljivo na boju nego

Pod-uzorkovanje boje • Dokazano je da je ljudsko oko manje osetljivo na boju nego na svetlinu • Shodno tome, boja se može poduzorkovati da bi se smanjila količina podataka

Formati za digitalni video Format Rezolucija (x*z) NTSC PAL CIF MPEG-1 MPEG-2 HDTV IMAX

Formati za digitalni video Format Rezolucija (x*z) NTSC PAL CIF MPEG-1 MPEG-2 HDTV IMAX 640 x 482 720 x 756 352 x 288 360 x 240 720 x 480 1920 x 1080 (1280 x 720) 4096 x 3072 Razmera (x: y) 4: 3 3: 2 16: 9 4: 3

Primer: nekompresovani video (1) • Primer 1: Izračunajmo brzinu data stream-a za nekompresovani CIF

Primer: nekompresovani video (1) • Primer 1: Izračunajmo brzinu data stream-a za nekompresovani CIF i QCIF (Quarter CIF) uz standardnu frekvenciju osvežavanja slike 30 fps. CIF: Y (352 x 288); Cb, Cr (174 x 44) 30 [1/s]*(352*288+2*176*144)*8 [bit/pixel] = 36. 495 Mbit/s QCIF: Y (176 x 144); Cb, Cr (88 x 72) 30 [1/s]*(176*144+2*88*72)*8 [bit/pixel] = 9. 124 Mbit/s • Rešenja: § Smanjiti broj frejmova npr. za 10 fps 3. 041 Mbit/s što je još uvek previše § Kompresovati podatke npr. za 3. 041 Mbit/s i izlaz 64 kbit/s potrebna je razmera kompresije 47. 5: 1

Primer: nekompresovani video (2) • Primer 2: Izračunajmo podatke za nekompresovani full-motion video uz

Primer: nekompresovani video (2) • Primer 2: Izračunajmo podatke za nekompresovani full-motion video uz format 640 x 480 (NTSC), 24 -bitnu boju i 30 fps ‘ TV kvalitet jedan frejm uz rezoluciju 640 x 480. . . 307 200 pixels uz “true color” (24 bit/pixel). . . . 7 372 800 bit @ 30 fps. . . . . 221 184 000 bit/s Prostor za čuvanje: 1 sekunda nekompresovanog videa = 27 MB 1 sat nekompresovanog videa = 99 GB Postojeća rešenja: uz kompresiju 100: 1 (npr. MPEG) 1 sat videa = 990 MB

Postupak kompresije videa • Video sadrži prostornu i vremensku redundanciju • Uklanjanje prostorne redundancije

Postupak kompresije videa • Video sadrži prostornu i vremensku redundanciju • Uklanjanje prostorne redundancije § Na nivou svakog frejma/slike § Koristi se (najčešće) transformaciono kodiranje • Uklanjanje vremenske redundancije § U nizu uzastopnih frejmova § Koristi se sličnost slika u nizu: diferencijalno kodiranje • Pokret u slici je problem za diferencijalni koder § Koristi se kompenzacija pokreta (motion compensation)

Kompenzacija pokreta (1) • Mada su slike vrlo slične, zbog pokreta ih ne možemo

Kompenzacija pokreta (1) • Mada su slike vrlo slične, zbog pokreta ih ne možemo direktno diferencijalno kodirati: razlika sadrži više informacije od same slike • Različiti delovi slike imaju različite pomake

Kompenzacija pokreta (2) • Za svaki blok u slici, traži se najsličniji blok u

Kompenzacija pokreta (2) • Za svaki blok u slici, traži se najsličniji blok u prethodnoj slici • Razlika položaja (u pikselima) između ova dva bloka je vektor pomaka • Vektori pomaka za sve blokove šalju se dekoderu; tako se konstruše slika slična prethodnoj, te se na njoj vrši diferencijalno kodiranje

Kompenzacija pokreta (3)

Kompenzacija pokreta (3)

Kompenzacija pokreta (4)

Kompenzacija pokreta (4)

Hibridno kodiranje videa Diferencijalno kodiranje slika sa kompenzovanim pokretom, i transformaciono kodiranje signala razlike

Hibridno kodiranje videa Diferencijalno kodiranje slika sa kompenzovanim pokretom, i transformaciono kodiranje signala razlike • Ovo je najčešći princip kodiranja videa § Koristi se u svim standardima koje ćemo spominjati § Ostalo su detalji

Transformaciono kodiranje T: Q: VLC: Transformacija Kvantizacija Variable Length Coder (entropijsko kodiranje)

Transformaciono kodiranje T: Q: VLC: Transformacija Kvantizacija Variable Length Coder (entropijsko kodiranje)

Diferencijalno kodiranje Q: Kvantizacija Q-1: Inverzna kvantizacija (rekonstrukcija) P: Predviđanje (predikcija)

Diferencijalno kodiranje Q: Kvantizacija Q-1: Inverzna kvantizacija (rekonstrukcija) P: Predviđanje (predikcija)

Hibridno kodiranje

Hibridno kodiranje

Hibridno kodiranje sa kompenzacijom pokreta TQ: Transformacija + kvantizacija ME: Procena pokreta (motion

Hibridno kodiranje sa kompenzacijom pokreta TQ: Transformacija + kvantizacija ME: Procena pokreta (motion

Standardi za kodiranje videa • • • Evolucija osnovnog principa na svim poljima Strategija

Standardi za kodiranje videa • • • Evolucija osnovnog principa na svim poljima Strategija predviđanja ( I, P, B frejmovi/blokovi) Veličina blokova (komp. pokreta, DCT) Veličina vektora pomaka Preciznost vektora pomaka Hijerarhijska podela slika na jedinice § • Njihovo pakovanje u bitstream (dotatne funkcije: kodiranje oblika, sintetičkih objekata)

Strategija predviđanja (I, P, B, frejmovi/blokovi) • Diferencijalno kodiranje akumulira grešku • Potrebno je

Strategija predviđanja (I, P, B, frejmovi/blokovi) • Diferencijalno kodiranje akumulira grešku • Potrebno je s vremena na vreme poslati pun frejm, tzv. I-frejm (inter-kodiran) • Prvi koderi uvode I- i P- frejmove • Bolje predviđanje ako se koriste elementi iz prethodnih i sledećih frejmova § B- frejmovi s predviđanjem/kompenzacijom pokreta u odnosu na prethodni i sledeći frejm § Višestruke referentne slike (AVC/H. 264)

Kodiranje I- i P- frejmova • • Kombinacija intra-kodiranja i inter-kodiranja omogućava dovoljno brzu

Kodiranje I- i P- frejmova • • Kombinacija intra-kodiranja i inter-kodiranja omogućava dovoljno brzu kompresiju i dekompresiju videa “u hodu”, odn. u stvarnom vremenu Dve vrste frejmova: § I-okvir – pojedinačno kodiran (intra-kodiran, nezavistan o frejmovima pre/posle) § P-okvir – predikcijski kodiran (inter-kodiran, relativno u odnosu na prethodni)

Kodiranje I-, P-, i B- frejmova • Tri vrste slika: § I-slika – pojedinačno

Kodiranje I-, P-, i B- frejmova • Tri vrste slika: § I-slika – pojedinačno kodirana (intra-kodirana, nezavisna od frejmova pre/posle, koristi JPEG kompresiju) § P-slika – predikcijski kodirana (relativno u odnosu na prethodnu I - ili P- sliku, postupak kao H. 263, jer ga je H. 263 preuzeo iz MPEG-a) § B-slika – dvosmerno predikcijski kodirana (relativno u odnosu na prethodnu ili sledeću I- ili P- sliku) • Efikasnost kompresije: § § I-slika – JPEG kompresija P-slika – bolja kompresija od I- slike, lošija od B- slike B-slika – najbolja kompresija Tipična razmera: I = 3 P = 5 B

Mogućnosti kodiranja makroblokova Svojstva uzastopnih frejmova: • Neki makro-blokovi su isti ali pomereni u

Mogućnosti kodiranja makroblokova Svojstva uzastopnih frejmova: • Neki makro-blokovi su isti ali pomereni u odnosu na makro-blokove prethodne slike (objekti na slici) • Neki makro-blokovi su na istom mestu kao na prethodnoj slici (pozadina) • Neki makro-blokovi su novi (npr. otkrivena pozadina) § Otkriveni blokovi pojavljuju se u celosti u budućim slikama

Redosled frejmova • Redosled frejmova za prikaz (prirodni redosled) • B-frejm se izračunava na

Redosled frejmova • Redosled frejmova za prikaz (prirodni redosled) • B-frejm se izračunava na temelju prethodnog i sledećeg I- ili P- frejma, tako da oni moraju biti poslati ranije • Redosled slanja i dekodiranja frejmova je drugačiji od redosleda prikaza

Redosled dekodiranja frejmova • Redosled frejmova za prikaz Vrsta frejma: I B B P

Redosled dekodiranja frejmova • Redosled frejmova za prikaz Vrsta frejma: I B B P B B I B B P Broj frejma: 1 2 3 4 5 6 7 8 9 10 11 12 13 • Redosled slanja i dekodiranja Vrsta frejma: I P B B I B B P B B Broj frejma: 1 4 2 3 7 5 6 10 8 9 13 11 12

Veličina blokova • Veličina blokova za: § Kompenzaciju pokreta § DCT transformaciju • Manji

Veličina blokova • Veličina blokova za: § Kompenzaciju pokreta § DCT transformaciju • Manji blokovi: § Veća preciznost § Bolji rezultati § Ali više računanja • Noviji standardi dozvoljavaju i manje blokove § Komp. pokreta: H. 261: 16 x 16; MPEG-4: 8 x 8; H. 264/AVC: 4 x 4 § DCT: H. 261, MPEG-4: 8 x 8; H. 264 -AVC: 4 x 4

Veličina vektora pomaka • Određuje površinu pretrage za sličnim delom slike § Veći dozvoljeni

Veličina vektora pomaka • Određuje površinu pretrage za sličnim delom slike § Veći dozvoljeni vektor pomaka • • Veća površina pretrage Veća verovatnoća pronalaženja dobrog uzorka slike Bolja kompenzacija pokreta Ali više računanja (pretraga je skupa) § Iznad neke granice više se ne isplati povećavati • Stvarni pomak obično nije jako veliki • U praksi se koriste vektori pomaka od 16 do 32 piksela

Preciznost vektora pomaka • Preciznost na “pola piksela” umesto na “ceo piksel” • Koristi

Preciznost vektora pomaka • Preciznost na “pola piksela” umesto na “ceo piksel” • Koristi se interpolacija Y vrednosti kako bi se veštački stvorile dodatne tačke

Hijerarhijska podela slika na jedinice • Primer: H. 261 § Slika (Picture), grupa blokova

Hijerarhijska podela slika na jedinice • Primer: H. 261 § Slika (Picture), grupa blokova (GOB, Group of Blocks), makroblok (MB, Macro. Block), blok (Block)

Data stream u H. 261 • Data stream se formira hijerarhijski prema podeli slike

Data stream u H. 261 • Data stream se formira hijerarhijski prema podeli slike na data units • Zaglavlje s podacima koji važe za ceo data unit § Npr. Da li se radi o I- ili P- frejmu, vektori pomaka, faktori kvantizacije

Primer: MPEG-2

Primer: MPEG-2

Primer: MPEG-2

Primer: MPEG-2

Norme i njihove primene

Norme i njihove primene