1 / 33

Kodiranje videa

Kodiranje videa. Digitalna obdelava zvoka, slik in videa Podiplomski študij FE 18.3.2003 Boštjan Marušič. Ponovitev: transformacijsko kodiranje slik. Izločanje odvisnosti med slikovnimi elementi (transformacija) Izločanje redundantne informacije

fala
Download Presentation

Kodiranje videa

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. Kodiranje videa Digitalna obdelava zvoka, slik in videa Podiplomski študij FE 18.3.2003 Boštjan Marušič

  2. Ponovitev: transformacijsko kodiranje slik • Izločanje odvisnosti med slikovnimi elementi (transformacija) • Izločanje redundantne informacije • Izločanje irelevantne informacije (entropijsko kodiranje) • Korelacija je posledica visoke prostorske (krajevne) vzorčne frekvence (visoke ločljivosti slik)! Linearna transformacija Kvantizacija Entropijsko kodiranje Dekorelacija (DCT, wavelet) Slike navadno vsebujeje veliko redundantne informacije – področja konstantne intenzitete Izločanje redundance (oko ni občutljivo na visoke frekvence), bitna alokacija Izločanje irelevantne informacije (Huffman, aritmetični kodirnik, LZW)

  3. O predavanju • Email: • bostjan.marusic@fe.uni-lj.si • Prosojnice, gradiva • http://ldos.fe.uni-lj.si/vaje/PODOS/ • Glej “Kodiranje videa”

  4. Potreba po kodiranju videa • 25 fps • VHS: 352x288, 12bitov/slikovni element = 30,4 Mbit/s • TV 704x576, 12 bitov/ slikovni element = 121,7 Mbit/s • Video CD (MPEG 1) 1,2 Mbit/s • DVD (MPEG 2) 4-8 Mbit/s • MPEG 4 (DivX) < 28 kbit/s • Kompromis med kvaliteto in pasovno širino!

  5. Lastnosti video signalov • Zaporedje slik (frame) -> odvisnost med slikovnimi elementi • Časovna vzorčna frekvenca (slik/s = fps) > 25 fps (človeška percepcija) – zaporedne slike se malo razlikujejo  medslikovna odvisnost (korelacija) • Definicija inter- in intra-korelacije/kodiranja Tri slike iz videa “Mom&kid” s časovno vzorčno periodo 1/10s oz. fvz = 10fps

  6. Lastnosti video signalov 2 • Prepletajoče / progresivno vrstično vzorčenje • 25 sodo- oz. liho vrstičnih slik (field)/s – kompromis med časovno in prostorsko ločljivostjo ter pasovno širino signala – uporabljeno pri analognem TV prenosu, npr. PAL • Digitalni video signal = diskretna 3D funkcija • S[i, j, t]

  7. Najpreprostejši način – vsako sliko kodiramo neodvisno • Uporabimo transformacijski kodirnik na vsaki sliki • JPEG  MJPEG • Nizka zgostitvena razmerja (1:10) • Nizka računska kompleksnost • Ne upoštevamo časovne odvisnosti slik!

  8. Diferenčno kodiranje videa • S transformacijskim kodirnikom kodiramo najprej referenčno sliko, nato pa razlike med zaporednimi slikami • Bistveno zmanjšanje informacije, ki jo moramo kodirati • Prvi video kodirniki

  9. Napoved gibanja = postopek računanja vektorjev premika • Predpostavka: • Izravnava gibanja – napoved trenutne slike iz referenčne: • Napaka napovedi:

  10. Napoved gibanja – osnovna ideja • Kodiramo parametre premika = vektorje premika • Napoved gibanja = računanje vektorjev premika

  11. Računanje vektorjev premika na osnovi OF enačb • Predpostavka (korelacija) – vsaka točka iz referenčne slike se premakne v trenutno sliko. • Za vsako točko dobimo dva parametra (vektor premika), ki določa kje se je točka nahajala v referenčni sliki. • Ali se izplača? (NE!) • Zahtevno računanje sistema enačb. • Preveliko število parametrov, ki jih je potrebno kodirati • Nov vpogled v kodiranje videa! Ne kodiramo slike oz. Razlike temveč parametre translacije slikovnih elementov = vektorje premika. Pozor: dx = dx(x,y) ter dy = dy(x,y)

  12. Bločna napoved gibanja • Število vektorjev premika zmanjšamo tako, da predpostavimo translacijsko gibanje makroblokov iz slike v sliko (tipična velikost 16x16)

  13. Bločna napoved gibanja • Računanje vektorjev premika na osnovi minimizacije kriterijske funkcije • Navadno uporabljamo MSE kriterij • Ali pa SAD (v večini implementacij)

  14. Bločna napoved gibanja (Dodatna folija) MV

  15. Primer Uporaba bločne napovedi gibanja: a) referenčna slika, b) trenutna slika z vektorji premika, c) razllika, d) napovedana slika e) OBMC napoved, f) napaka napovedi

  16. Vektorji premika glede na tip gibanja in napoved gibanja – problem bločne napovedi gibanja

  17. Kompleksnost napovedi gibanja • Približno 2/3 operacij kodiranja je posledica napovedi gibanja • Najosnovnejši pristop je omejitev področja iskanja na najbolj verjetno področje • Ni/miNj/mj2Mi2Mj (kmimj)  kNiNj 2Mi2Mj.

  18. Hitri postopki iskanja vektorjev premika • Popolno iskanje je prekompleksno. Nikoli ni uporabljeno pri kodiranju v realnem času. • Kompromis med natančnostjo in hitrostjo – testiramo samo manjši del vseh možnih hipotez = hitri postopki iskanja • Trikoračni postopek • Logaritemski postopek • Hierarhično iskanje vektorjev premika

  19. Logaritemski postopek iskanja

  20. Trikoračni postopek iskanja

  21. Ortogonalni postopek iskanja

  22. Hierarhični postopek iskanja

  23. Izboljšave pri napovedi gibanja “fractional pel” accuracy • Pogosto se objekt premakne za manj kot 1 slikovni element v dani smeri • Rešitev: napoved gibanja z neceloštevilčnimi vektorji premika (fractional motion estimation) – interpolacija referenčne slike

  24. Primer • Slika napake napovedi s celoštevilčnimi vektorji premika ter z vektorji z natančnostjo ½ slikovnega elementa (2x interpolacija)

  25. Izboljšave: Neomejeni vektorji premika • “Unrestricted motion vector” • Pogosto se kamara transaltorno premika in objekti uhajajo iz vidnega polja – napake na robu slike z omejenimi vektorji premika

  26. Izravnava gibanja z OBMC • “Overlapping block motion compensation” • Uporaba prekrivajočih makroblokov 32x32 ter okenske funkcije

  27. Primer: rezultat OBMC Navadna izravnava gibanja OBMC

  28. Dodatne izboljšave napovedi gibanja • Prilagodljiva velikost makroblokov • “Backward motion estimation” – referenčna slika je prihodnja slika • “Bidirectional motion estimation” – za vsak makroblok se sproti odločimo, ali bo referenčna slika predhodna ali naslednja (vsi sodobni kodirniki). • Deformabilni makrobloki

  29. Hibridni kodirnik

  30. Alternativa h hibridnemu kodiranju – Transformacija vzdolž časovne osi • Ne vnaša odvisnosti med zaporedne slike – optimalna bitna alokacija je možna • Haarova transformacija vzdolž časovne osi • Ekvivalentna diferenčnemu kodiranju • Neučinkovita, ko je prisotno gibanje

  31. Transformacija v smeri vektorjev premika • Izvedenka iz Haarove transformacije • Poveča se učinkovitost postopka • Poveča se kompleksnost zaradi napovedi gibanja (ni pa izravnave) • Problem: ne obstaja vedno enolično določljiva povezava med slikovnimi elementi, če uporabimo bločno napoved gibanja

  32. Primerjava hibridnih kodirnikov s kodirniki na osnovi časovne transformacije Opazna bločna popačenja Nizka kompleksnost Nizka zakasnitev Ni bločnih popačenj, slika je zamegljena – večja učinkovitost zaradi optimalne bitne alokacija Visoka računska kompleksnost Visoka zakasnitev kodiranja zaradi hkratnega kodiranja več slik.

  33. Zaključek – pregled standardnih postopkov • H261 – najosnovnejši hibridni koder • Samo P napoved gibanja z celoštevilčnimi vektorji • MPEG 1 • OBMC, “half pixel” napoved gibanja, P in B napoved gibanja • MPEG 2 • H.263 (APM, neomejeni vektorji premika, aritmetično kodiranje) • MPEG4 (DivX) • H.264 (H.26L) = MPEG 4 L10

More Related