TopTechninis žodynasH.264 - vaizdo kodavimo standartas

H.264 - vaizdo kodavimo standartas

2003 metais buvo priimtas H.264 standartas, žinomas kaip AVC (Advanced Video Coding), kaip MPEG-4 standarto 10 dalis.

 

H.264 standartas, panašiai kaip ankstesniuose MPEG-2 ir MPEG-4, išnaudoja skirtingą suspaudimą, tai reiškia aktualus vaizdas yra kuriamas remiantis vienu ar keliais ankstesniais ir skirtumais, kurie tuo metu tarp jų įvyko. Tačiau H.264 buvo panaudota daugelis patobulinimų. Iš vienos pusės žymiai didina skaičiuojamos galios poreikį kodavimo metu, iš kitos pusės žymiai mažina transliavimo greitį, be vaizdo kokybės pasikeitimo.

 

Svarbus H.264 suspaudimo elementas, yra vaizdų numatymas (numatymas tarp vaizdų). Pasižymi sekančio koduoto vaizdo numatymu pagal anksčiau koduotus ir iššifruotus vaizdus. Veikia taip pat kaip koderiai ir dekoderiai, dėl to dekoderis gali atkurti užkoduotą vaizdą pagal vaizdo numatymo klaidą, nustatyto koderyje kaip skirtumo tarp originalaus koduoto vaizdo ir numatyto. Todėl nėra siunčiami vienas po kito einančių vaizdų, o vien tik numatymo klaidas, kurie esant geriems algoritmams neteikia daug informacijos ir galima juos koduoti su bitų nedideliu kiekiu.

 

H 264 suspaudime galima išskirti 3 rėmelių rūšis: I – Intra Coded, P – Predictive, B – Bi-predictive.

 

1 pieš. Pavyzdinis atskirų sekos langelių užrašymas, kuriose yra trys rėmelių rūšys

 

t - Laikas

I tipo rėmeliuose yra pilna informacija apie nustatytą vaizdą. P rėmeliuose yra informacijos apie kaimyninių rėmeliųP arba I pokyčius (gautas vaizdas yra kuriamas remiantis būtent šiomis informacijomis). B rėmeliai yra tai koduojami vaizdai, išnaudojant du nurodytus vaizdus,tai reiškia vieno prieš kodavimo vaizdą ir vieno pristatyto nustatytoje sekoje po koduoto vaizdo. B tipo vaizduose labiausiai panašūs bandymų blokai (makro blokai) yra renkami iš susijusių abiejų vaizdų arba yra nustatomi kaip vidutiniai pagal blokus remiantis abiem susijusiais vaizdais. Atskirų rėmelių matmuo priklauso nuo daugelio veiksnių. Galima numatyti, kad P rėmeliai sudaro apie 60% rėmelių I tipo dydžio, o B rėmeliai gali turėti tik 10% jų apimties. Galima prieiti išvadų, kad kuo daugiau tam tikroje sekoje yra viena po kito B rėmelio tipo, tuo didesnis yra jo spaudimas. Nebūtinai yra tai susiję su vaizdo kokybės pablogėjimu.

 

Žemiau yra pateiktas pavyzdinis trijų suspaudimo standartų kokybės palyginimas, kaip didžiausias signalas-ūžesys santykio vertė (PSNR — Peak Signal-to-Noise Ratio) priklausomai nuo bitų transliavimo greičio.

 

2 pieš. H.264, MPEG-4 i JPEG formatų palyginimas

 

X - Bitų transliavimo greitis

Y - Didžiausia signalas- ūžesys santykio vertė (PSNR)

Žemiau yra išvardinti kai kurie patobulinimai ir modifikavimai išskiriantys H.264 palyginus su senesniais standartais, išnaudojantys hibridinį kodavimą su numatymu tarp vaizdų ir judesių kompensavimu.

 

1. Judesių kompensavimo blokų kintantis dydis. Judesių kompensavimą gali vykdyti ne tik atsižvelgiant į pačius makro blokus, bet taip pat ir jo dalis. Tuomet yra jiems priskiriami atskiri judėjimo vektoriai. Mažiausi blokai turi mažiausius (4x4) skaisčio punktus. Dėl to yra pasiekiamos mažesnės prognozuotos/numatytos klaidos, kurios gali būti pristatytos su nedideliu bitų kiekiu.


2. Judėjimo numatymas, esant 1/4 tarpo vaizdo bandymų tikslumu. Judesių vektorių didelis tikslumas teikia didesnį precizinį numatymą su judesių kompensavimu.


3. Daugelio susijusių vaizdų panaudojimas - ilgalaikės atminties išnaudojimas, reikalingos atskleidžiamų plotų numatymui/prognozavimui.


4. Kryptinis prognozavimas (numatymas) vidaus vaizdai, skirti makto blokams, koduotiems vaizdo viduje.


5. Blokadų nuėmimo filtras pašalina blokų efektus, atsirandančių numatymo vaizduose, esant stipriam spaudimui.


6. Kosinusų transformacija vyksta mažuose - (4x4) skaisčio mėginių blokuose ir (2x2) spalvotumo signalo mėginiuose, o tai teikia geresnį prisitaikymą prie vietinių vaizdo savybių.


7. Entropinis prisitaikymo kodavimas: CAVLC (Context-Adaptive Variable Length Coding) – su kintamu žodžio ilgiu ir CABAC (Context-Based Binary Arithmetic Coding) – labiau komplikuotas prisitaikantis aritmetinis kodavimas, teikiantis stipresnio suspaudimo pasiekimą.

Kad pilnai išnaudoti H.264 standarto galimybes, koduotuve turėtų būti pasirenkami optimalūs sprendimai iš įvairių galimų kodavimo režimų. H.264 naudojimas turi didelę reikšmę CCTV sistemoms, todėl, kad vaizdų perdavimo greičio sumažinimas be kokybės praradimo teikia transliavimo didesnei, geresnės kokybės kanalų galimybę.