TopTechnický slovníkH.264 - standard kódování obrazu

H.264 - standard kódování obrazu

V roce 2003 byl přijat standard H.264, známý také jako AVC (Advanced Video Coding), jako 10. část standardu MPEG-4.

 

Standard H.264 využívá, podobně jako u dřívějšího MPEG-2 a MPEG-4, diferenciální kompresi, tzn., že aktuální obraz je tvořen na základě jednoho nebo několika předchozích a rozdílů, které se mezi nimi v tomto čase vyskytly. Ale v H.264 byla použita celá řada vylepšení. Na jedné straně výrazně zvyšuje nároky na výpočetní výkon během kódování, ale na druhé straně značně redukuje rychlost přenosu při neměnné kvalitě obrazu.

 

Důležitou součástí komprese H.264 je předvídání obrazů (meziobrazová predikce). Spočívá v předvídání dalšího kódovaného obrazu na základě dříve zakódovaných a dekódovaných obrazů. Působí úplně stejně na kodér i dekodér, dekodér díky tomu může přehrát zakódovaný obraz na základě chyby předvídání obrazu, určeného na kodéru jako rozdíl mezi originálním kódovaným obrazem a jeho predikcí. Takže se nezasílají po sobě jdoucí obrazy, ale jen chyby predikce (předvídání), které při dobrých algoritmech neobsahují hodně informací a lze je zakódovat s pomocí mála bitů.

 

V kompresi H.264 můžeme rozlišit 3 druhy rámečků: I – Intra Coded, P – Predictive, B – Bi-predictive.

 

Obr. 1. Ukázkový záznam jednotlivých políček sekvence, v níž se vyskytují tři druhy rámečků

 

t - Čas

Rámečky typu I obsahují kompletní informace o daném obraze. Rámečky P obsahují informace o změnách mezi sousedními rámečky P nebo I (výsledný obraz je tvořen na základě právě těchto informací). Rámečky B jsou obrazy kódované s pomocí dvou referenčních obrazů, konkrétně jednoho před kódovaným obrazem a jednoho prezentovaného v dané sekvenci po kódovaném obrazu. Na obrazech typu B jsou ty nejpodobnější si bloky (makrobloky) vzorků vybírány z obou referenčních obrazů nebo jsou určeny jako průměr z bloků z obou referenčních obrazů. Velikost jednotlivých rámečků samozřejmě závisí na mnoha faktorech. Přibližně můžeme přijmout, že rámečky P tvoří cca 60% velikosti rámečků typu I a rámečky B mohou mít jen 10% jejich objemu. Můžeme tak snadno učinit závěr, že čím více se v dané sekvenci po sobě vyskytují rámečky typu B, tím větší je její komprese. Nemusí se to nezbytně pojit se zhoršením kvality obrazu.

 

Níže jsou představeny příklady srovnání kvality pro tři standardy komprese, jako vrcholovou hodnotu poměru signál šum (PSNR — Peak Signal-to-Noise Ratio) v závislosti na rychlosti přenosu bitů.

 

Obr. 2. Srovnání formátů H.264, MPEG-4 a JPEG

 

X - Rychlost přenosu bitů

Y - Vrcholná hodnota poměru signál-šum (PSNR)

Níže jsou představena některá z vylepšení a modifikací, která H.264 odlišují od starších standardů, které využívají hybridní kódování s meziobrazovou predikcí (meziobrazovým předvídáním) s kompenzací pohybu.

 

1. Proměnlivá velikost bloků pro kompenzaci pohybu. Kompenzaci pohybu lze provádět nejen ve vztahu k celým makroblokům, ale i k jejich částem. Jsou k nim pak přiřazovány samostatné vektory pohybu. Nejmenší bloky mají velikost (4x4) jasové body. Díky tomu je dosaženo menších chyb predikce, které mohou být představeny s pomocí mála bitů.


2. Předvídání pohybu s přesností do 1/4 intervalu vzorkování obrazu. Velká přesnost vektorů pohybu umožňuje přesnější predikci s kompenzací pohybu.


3. Využívání mnoha referenčních obrazů - využívání dlouhodobé paměti, užitečné při predikci odkrývaných oblastí.


4. Směrová intra predikce (předvídání) pro intra kódované makrobloky.


5. Deblokující filtr odstraňuje blokové efekty, které se vyskytují v obrazech predikce při silné kompresi.


6. Kosinová transformace operuje na malých blocích - (4x4) vzorků jasu a (2x2) vzorcích chrominance, což umožňuje lepší adaptaci lokálním vlastnostem obrazu.


7. Adaptivní entropní kódování: CAVLC (Context-Adaptive Variable Length Coding) – se změnou délky slovy a CABAC (Context-Based Binary Arithmetic Coding) – komplikovanější adaptační aritmetické kódování, které umožňuje dosáhnout silnější komprese.

Pro plné využití možností standardu H.264 musí být na kodéru provedena optimální volba z různých možných režimů kódování. Použití H.264 má velký význam pro systémy CCTV, protože snížení rychlosti přenosu obrazů bez ztráty kvality umožňuje přenos pro větší počet kanálů v lepší kvalitě.