Kodiranje videa Video Video odnosno pokretna slika se


































- Slides: 34
Kodiranje videa
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 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 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 § 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 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 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 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 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 § 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 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 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 (4)
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)
Diferencijalno kodiranje Q: Kvantizacija Q-1: Inverzna kvantizacija (rekonstrukcija) P: Predviđanje (predikcija)
Hibridno kodiranje
Hibridno kodiranje sa kompenzacijom pokreta TQ: Transformacija + kvantizacija ME: Procena pokreta (motion
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 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 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 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 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 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 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 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 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 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 (GOB, Group of Blocks), makroblok (MB, Macro. Block), blok (Block)
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
Norme i njihove primene