25
PROGRAMSKA PODRŠKA U TELEVIZIJI I OBRADI SLIKE 1 Aktuelni standardi video kodovanja

PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

PROGRAMSKA PODRŠKA

U TELEVIZIJI I OBRADI

SLIKE 1

Aktuelni standardi video kodovanja

Page 2: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 2/25

Standardi video kodovanja

Standardi video kodovanja definišu pravila dekodovanja i

principe enkodovanja video sadržaja, sa ciljem

implementacije na različitim uređajima.

Standardi obuhvataju algoritme i tehnike kodovanja,

arhitekture kodera i formate zapisa kodovanog sadržaja.

Standardi se razvijaju uporedo sa razvojem integrisanih

kola koja su u mogućnosti da tražene algoritme

implementiraju.

Konstantno povećavanje rezolucija i kvaliteta slike zahteva

efikasnije iskorišćavanje propusnog opsega => raste

kompleksnost i efikasnost novih standarda.

Page 3: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 3/25

Razvoj standarda video kodovanja

Naziv standarda OrganizacijaVreme početka komercijalne

primene

Tipični video format

Bitski protok za tipični video

format i faktor kompresije

MPEG-1 Part 2ISO/IEC 11172-2

ISO/IEC MPEG 1993Video CD

352x240 (NTSC)352x288 (PAL)

1.5 Mbit/s26:1

MPEG-2 Part 2ISO/IEC 13818-2

ITU-T H.262

ISO/IEC MPEGITU-T

1997DVD Video

720x480 (NTSC)720x576 (PAL)

~4-6 Mbit/s~50:1

MPEG-4 Part 10MPEG-4 AVC

ISO/IEC 14496-10ITU-T H.264

ISO/IEC MPEGITU-T

2008

1080p1920x1080

720p1280x720

~6-8 Mbit/s~150:1

MPEG-H Part 2MPEG-4 HEVC

ISO/IEC 23008-2ITU-T H.265

ISO/IEC MPEGITU-T

20144K

3840x2160~15-20 Mbit/s

~250:1

Page 4: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 4/25

Razvoj standarda video kodovanja

Page 5: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 5/25

MPEG-2

MPEG-2 je prvi široko rasprostranjeni standard

U upotrebi u televiziji standardne definicije (SD),

analogno PAL/NTSC i DVD Video standardima

Na razvoju aktuelnih standarda rade tipično dva

konzorcijuma:

Moving Picture Experts Group (MPEG), koja predstavlja

grupu unutar Međunarodne organizacije za standarde

ISO/IEC (International Standards Organization /

International Electrotechnical Commision).

Međunarodnog sektora za standardizaciju u

telekomunikacijama ITU-T (International

Telecommunication Union – Telecommunications)

Page 6: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 6/25

MPEG-2 koncept profila i nivoa

Da bi se omogućilo podešavanje kompleksnosti algoritama u

smislu uštede hardverskih resursa (memorija, procesor) u

odnosu na ciljani kvalitet, MPEG-2 daje predloge podele

standarda na minimalne podskupove, koji se nazivaju profili,

odnosno nivoi.

Ovaj princip intenzivno koriste svi naredni MPEG standardi.

Profil definiše funkcionalnosti koje su omogućene, a koje

uslovljavaju potrebe za memorijskim i procesorskim

resursima; npr. tipovi predikcije, format boje i sl.

Nivo definiše nivo kvaliteta koji određuje ciljnu primenu, npr.

podržane rezolucije i frekvencije odabiranja, odnosno

maksimalni bitski protok.

Deklarisanjem podržanog profila, odnosno nivoa, dekoder

može da definiše sposobnost dekodovanja videa spram svojih

hardverskih resursa.

Page 7: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 7/25

MPEG-2 koncept profila i nivoa

Page 8: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 8/25

Osnovni koncepti MPEG-2

MPEG-2 koristi tipične tehnike video kodovanja:

Prostorno kodovanje

Referentni frejmovi kodovani kao JPEG, sa DCT i Q-

kvantizacijom, Run Length i Huffman entropijskim

kodovanjem

Vremensko kodovanje

Koncept podele na makroblokove (fiksne veličine,

16x16 piksela), tehnike kompenzacije pokreta (vektori

pomeraja i reziduali)

Predikcija na osnovu prethodnog referentnog frejma

(generiše tzv. P-frejmove), ili na osnovu jednog

prethodnog, i jednog budućeg referentnog frejma

(generiše B-frejmove).

Page 9: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 9/25

Tipovi frejmova u MPEG-2

Postoje 3 tipa frejmova u MPEG-2 standardu

I - Intra kodirana slika (JPEG)

P - Predikovana slika od prethodne I ili P slike

B - Bi-direkciona predikovana slika

Page 10: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 10/25

Redosled slanja frejmova

Dvosmerna predikcija ima za posledicu da se

slike ne mogu kodovati, tj. slati kako su snimljene

Redosled slanja je dat sa

I1 P5 B2 B3 B4 I9 B6 B7 B8 P13 B10 B11 B12 I17 B14 B15 B16…

Page 11: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 11/25

MPEG tok podataka (1/2)

Sequence layer Parametri dekodiranja (bitska brzina, velicina bafera,

rezolucija slike, broj okvira u sek.)

Group of Picture Layer Slucajna tacka pristupa u tok podataka

Picture Layer Tip slike i osnovni podaci o slici

Slice Layer Pozicija i informacija o stanju kako bi se dekoder

mogao re-sinhronizovati

Macroblok Layer Kodovani vektori pomeraja

Block layer Kodovani DCT koeficijenti, korak kvantizacije i sl.

MPEG

-2 T

ok p

odata

ka

Page 12: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 12/25

MPEG tok podataka (2/2)

Page 13: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 13/25

Aktuelni standardi – H.264 / AVC

MPEG-4 Part 10 - ISO/IEC 14496-10

Danas de fakto standard za sve nove video formate

Definiše proces dekodovanja

Veoma slični principi kao MPEG-2, samo značajno

usložnjeni => ušteda protoka od dodatnih 40-50%!

Veoma se oslanja na subjektivne metrike kvaliteta

Page 14: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 14/25

Osobine H.264 (1/2)

U odnosu na osnovne principe uvedene u MPEG-2,

H.264 dodatne uštede obezbeđuje, između ostalog,

sledećim poboljšanjima vremenskog kodovanja:

Korišćenje makroblokova varijabilne veličine i dimenzija

(čak i do 4x4) i njihovu dinamičku dodelu delovima frejma

Najbolje poklapanje makrobloka, u cilju računanja vektora

pomeraja, moguće je pronaći interpolacijom do preciznosti

od ¼ piksela (za razliku od ½ kod MPEG-2)

Vektori pomeraja mogu da dostižu „zamišljene“ destinacije

van samog frejma, što omogućava preciznije određivanje

smera vektora pomeraja

Predikcija na bazi višestrukih referentnih slika, uz

uključivanje B slika kao mogućih referentnih slika, i ne

nužno u redosledu snimanja, tj. prikazivanja

Page 15: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 15/25

Osobine H.264 (2/2)

Prostorno kodovanje je poboljšano na sledeće

načine:

Prostorna predikcija za delove unutar jednog frejma

Aproksimacija DCT sa Integer transformacijom, u cilju

omogućavanja jednoznačne inverzne transformacije

Entropijsko kodovanje je takođe prošireno:

Korišćenje novih metoda (CAVLC, CABAC)

Takođe je dodat debloking filter, zbog poboljšavanja

perceptualnog kvaliteta slike u slučaju pojave

bloking efekata u slici.

Page 16: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 16/25

H.264 prostorna predikcija (1/3)

Efikasni video enkoderi uglavnom koriste inter-frejm (vremensku) predikciju

Kodovanje delova slike koji se nalaze unutar jednog frejma(prostorno kodovanje) sprečava propagaciju greške kod vremenskepredikcije.

S obzirom na to da prostorno kodovanje povećava zahteve zabitskom brzinom, a u cilju efikasnosti H.264 kodeka, prostornokodovanje je posebno obrađeno u okviru H.264 standarda.

H.264 uzima u obzir korelacije između susednihblokova da bi povećao nivo kompresije uprostornom kodovanju.

Page 17: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 17/25

H.264 prostorna predikcija (2/3)

Svaki makroblok veličine 16 X 16 piksela unutar slike se najpre

predikuje u odgovarajućem režimu korišćenjem ranije kodovanih i

rekonstruisanih semplova iste slike (više prolaza).

Page 18: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 18/25

H.264 prostorna predikcija (3/3)

Postoji devet poboljšanih režima prostorne predikcije za semplove u

slučaju kada je makroblok podeljen u blokove veličine 4 X 4

Page 19: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 19/25

H.264: Poboljšano vremensko kodovanje

Vremensko prediktivno kodovanje je deo postupka enkodovanja u

kome je H.264 najefikasniji u smislu kompresije.

Kompenzacija pokreta (MC) nad svakim makroblokom veličine 16 X

16 može se obaviti korišćenjem različitih oblika i veličina blokova.

Page 20: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 20/25

H.264: Veći broj referentnih slika

H.264 standard nudi mogućnost korišćenja višeprethodnih slika (frejmova) u postupkupredikcije.

Svaka particija makrobloka može da imadrugačiju referentnu sliku koja je podesnija zakorišćenje za konkretan blok. Ovim se:

Poboljšava efikasnost kodovanja i dobija boljisubjektivni kvalitet slike

Poboljšava robustnost toka podataka na greške u prenosnom kanalu

Page 21: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 21/25

H.264: Debloking filter

Svaka slika rekonstruisana H.264 kodekom se dalje filtrira

korišćenjem adaptivnog debloking filtera.

Filter uklanja vidljive bloking strukture na ivicama blokova veličine 4

X 4 a koje su uzrokovane transformacionim kodovanjem

korišćenjem blokova, kao i kompenzacijom pokreta.

Page 22: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 22/25

H.264: Transformacija i kvantizacija

H.264 koristi 4X4 integer transformaciju

Ova transformacija je aproksimacija DCT

Dobitak u kodovanju je sličan kao kod DCT transformacije

S obzirom na to da integer transformacija poseduje jednoznačnu

inverznu operaciju, ne postoji nepodudarnost između enkodera i

dekodera, što je bio problem u svim kodecima zasnovanim na

DCT

Kvantizovani transformacioni koeficijenti jednog bloka se

tradicionalno skeniraju korišćenjem zig-zag algoritma i dalje

obrađuju korišćenjem metoda entropijskog kodovanja.

Page 23: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 23/25

H.264: Entropijsko kodovanje

Pre transmisije, svi podaci na izlazu kodeka se entropijski koduju.

H.264 podržava dve različite metode entropijskog kodovanja

Kontekstualno kodovanje promenljive dužine (Context-Adaptive Variable

Length Coding - CAVLC) Efikasno koduje niz nula, što je očekivan izlaz kvantizacije

Koduje sekvence vrednosti koje alterniraju za 1 (+/- 1 sekvence)

Koreliše nenulte koeficijente sa susednim blokovima, i koristi lookup tabele za

preuzimanje koeficijenata

Kontekstualno binarno aritmetičko kodovanje (Context Adaptive Binary

Arithmetic Coding - CABAC) Koristi se binarizovana vrednost svakog simbola

Odabira se kontekstni model, odnosno verovatnoća vrednosti bita (0 ili 1), na osnovu

ranije kodovanih simbola

Svaki bin se enkoduje na osnovu verovatnoće

Kontekstni model se kontinuirano ažurira

Page 24: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 24/25

Najnoviji standard – H.265 (HEVC)

High Efficiency Video Coding (HEVC), ili H.265

Još složenije metode particionisanja slike: veći

blokovi, veoma fleksibilni mehanizmi particionisanja

na osnovu sadržaja u slici

Mnogo kompleksnije šeme kodovanja vektora

pomeraja

Adaptive loop filtering nakon debloking filtera –

koeficijenti filtra se signaliziraju u bitskom toku što

omogućava najbolje rezultate

I dalje izuzetno zahtevno za kodovanje

Namenjen za nove 4K/8K video materijale

Page 25: PROGRAMSKA PODRŠKA · 2019-09-30 · Programska podrška u Televiziji i Obradi Slike (E1) –2015/2016 2/25 Standardi video kodovanja Standardi video kodovanja definišu pravila

Programska podrška u Televiziji i Obradi Slike (E1) – 2015/2016 25/25

Poboljšanje performansi