Inter rám - Inter frame

Mimo rám je rám ve video komprese proudu, který je exprimován z hlediska jednoho nebo více sousedních rámů. "Inter" část termínu odkazuje na použití Inter frame predikce . Tento druh predikce se snaží využít výhody dočasné redundance mezi sousedními snímky, která umožňuje vyšší míru komprese.

Interrámová predikce

Mezikódovaný rámec je rozdělen do bloků známých jako makrobloky . Poté se kodér místo přímého kódování hodnot surového pixelu pro každý blok pokusí najít blok podobný tomu, který kóduje, na dříve kódovaném rámci, označovaném jako referenční rámec . Tento proces se provádí pomocí algoritmu shody bloků . Pokud kodér uspěje při hledání, blok by mohl být kódován vektorem, známým jako pohybový vektor , který ukazuje na polohu odpovídajícího bloku v referenčním rámci. Proces určování vektoru pohybu se nazývá odhad pohybu .

Ve většině případů kodér uspěje, ale nalezený blok pravděpodobně nebude přesně odpovídat bloku, který kóduje. To je důvod, proč kodér vypočítá rozdíly mezi nimi. Tyto zbytkové hodnoty jsou známé jako chyba predikce a je třeba je transformovat a odeslat do dekodéru.

Když to shrneme, pokud se kodéru podaří najít odpovídající blok na referenčním rámci, získá vektor pohybu směřující na odpovídající blok a chybu predikce. Pomocí obou prvků bude dekodér schopen obnovit nezpracované pixely bloku. Následující obrázek ukazuje celý proces graficky:

Proces predikce mezi snímky. V tomto případě došlo ke změně osvětlení mezi blokem v referenčním rámci a blokem, který je kódován: tento rozdíl bude chybou predikce tohoto bloku.

Tento druh predikce má některá pro a proti:

  • Pokud vše půjde dobře, algoritmus bude schopen najít odpovídající blok s malou chybou predikce, takže po transformaci bude celková velikost vektoru pohybu plus chyba predikce nižší než velikost surového kódování.
  • Pokud algoritmus shody bloků nedokáže najít vhodnou shodu, bude chyba predikce značná. Celková velikost pohybového vektoru plus chyba predikce tedy bude větší než hrubé kódování. V tomto případě kodér udělá výjimku a pošle nezpracované kódování pro tento konkrétní blok.
  • Pokud byl shodný blok v referenčním rámci také zakódován pomocí predikce mezi rámce, chyby provedené pro jeho kódování budou přeneseny do dalšího bloku. Pokud by byl pomocí této techniky kódován každý snímek, neexistoval by způsob, jak by se dekodér synchronizoval s tokem videa, protože by nebylo možné získat referenční obrázky.

Kvůli těmto nevýhodám musí být pro tuto techniku ​​efektivní a užitečný použit spolehlivý a časově periodický referenční rámec. Tento referenční rámec je známý jako Intra-frame , který je přísně uvnitř kódovaný, takže jej lze vždy dekódovat bez dalších informací.

Ve většině návrhů existují dva typy mezisnímků: rámečky P a rámečky B. Tyto dva druhy rámců a rámečky I (obrázky s vnitřním kódováním) se obvykle spojují v GOP (skupina obrázků). Rámeček I nevyžaduje dekódování dalších informací a lze jej použít jako spolehlivou referenci. Tato struktura také umožňuje dosáhnout periodicity I-rámce, která je potřebná pro synchronizaci dekodéru.

Typy rámů

Rozdíl mezi P-snímky a B-snímky je referenční rámec, který mohou používat.

P-rám

P-rámec je termín používaný k definování dopředu předpovídaných obrázků. Predikce je vytvořena z dřívějšího obrázku, hlavně I-rámce nebo P-rámce, takže vyžadují méně kódovacích dat (≈50% ve srovnání s velikostí I-rámce).

Množství dat potřebných k provedení této predikce se skládá z pohybových vektorů a transformačních koeficientů popisujících korekci predikce. Zahrnuje použití kompenzace pohybu .

B-rám

B-snímek je termín pro obousměrně predikované obrázky. Tento druh metody predikce zabírá méně kódovacích dat než P-rámce obecně (≈25% ve srovnání s velikostí I-rámce), protože predikce je vytvořena buď z dřívějšího rámce, nebo z pozdějšího rámce nebo z obou. (B-snímky mohou být v určitých případech také méně účinné než P-snímky, např. Bezztrátové kódování)

Podobně jako u P snímků jsou B snímky vyjádřeny jako pohybové vektory a transformační koeficienty. Aby se zabránilo rostoucí chybě šíření, B-rámce se nepoužívají jako reference pro další předpovědi ve většině kódovacích standardů. V novějších metodách kódování (jako je H.264/MPEG-4 AVC a HEVC ) však mohou být B-snímky použity jako reference pro lepší využití dočasné redundance.

Struktura typické skupiny obrázků (GOP)

Ilustrace závislostí skupiny schémat obrázků IBBPBB ... Čas jde zleva doprava.

Typická struktura skupiny obrázků (GOP) je IBBPBBP ... I-rámec se používá k předpovědi prvního P-rámce a tyto dva rámce se také používají k předpovědi prvního a druhého B-rámce. Druhý P-rámec je předpovídán také pomocí prvního I-rámce. Oba P-snímky se spojí a předpovídají třetí a čtvrtý B-snímek. Schéma je znázorněno na následujícím obrázku:

Tato struktura naznačuje problém, protože čtvrtý snímek (P-snímek) je potřebný k předpovědi druhého a třetího (B-rámce). Potřebujeme tedy před B snímky vyslat P-rámec a ten zpozdí přenos (bude nutné zachovat P-rámec). Tato struktura má silné stránky:

  • Minimalizuje problém s možnými nekrytými oblastmi.
  • P-snímky a B rámce potřebují méně dat než I rámce, takže se přenáší méně dat.

Má však slabá místa:

  • Zvyšuje složitost dekodéru, což může znamenat více paměti potřebné k přeskupení rámců a nepatrně větší výpočetní výkon.
  • B-snímky mohou zavést závislost na dekódování, která nevyhnutelně zvyšuje latenci dekódování.

H.264 Vylepšení predikce mezi snímky

Nejdůležitější vylepšení této techniky s ohledem na předchozí standard H.264 jsou:

  • Flexibilnější blokový oddíl
  • Rozlišení až ¼ pixelové kompenzace pohybu
  • Více referencí
  • Vylepšený Direct/Skip Macroblock

Flexibilnější blokový oddíl

Rozdělení jasového bloku 16 × 16 ( MPEG-2 ), 16 × 8, 8 × 16 a 8 × 8. Poslední případ umožňuje rozdělení bloku na nové bloky 4 × 8, 8 × 4 nebo 4 × 4.

Divize bloku H.264. Svg

Rámec, který má být kódován, je rozdělen na bloky stejné velikosti, jak je znázorněno na obrázku výše. Každá predikce bloku bude bloky stejné velikosti jako referenční obrázky, kompenzované malým posunem.

Rozlišení až ¼ pixelové kompenzace pohybu

Pixely v poloze půl pixelu se získají použitím filtru o délce 6.

H = [1 -5 20 20 -5 1]

Například:

b = A - 5B + 20C + 20D - 5E + F

Pixely v poloze čtvrt pixelu se získávají bilineární interpolací .

Zatímco MPEG-2 umožňoval rozlišení ½ pixelu, Inter frame umožňuje rozlišení až ¼ pixelů. To znamená, že je možné hledat blok v rámci, který má být kódován v jiných referenčních rámcích, nebo můžeme interpolovat neexistující pixely, abychom našli bloky, které se ještě lépe hodí pro aktuální blok. Pokud je vektor pohybu celočíselný počet jednotek vzorků, znamená to, že je možné na referenčních obrázcích najít kompenzovaný blok v pohybu. Pokud pohybový vektor není celé číslo, bude predikce získána z interpolovaných pixelů interpolačním filtrem do horizontálního a vertikálního směru.

Subpel interpolation.jpg

Více referencí

Vícenásobné odkazy na odhad pohybu umožňují najít nejlepší referenci ve 2 možných vyrovnávacích pamětech (Seznam 0 na minulé obrázky, Seznam 1 na budoucí obrázky), které obsahují celkem až 16 snímků. Bloková predikce se provádí váženým součtem bloků z referenčního obrázku. Umožňuje vylepšenou kvalitu obrazu ve scénách, kde dochází ke změnám roviny, zoomu nebo při odhalení nových objektů.

Více odkazů.jpg

Vylepšený Direct/Skip Macroblock

Přeskočit a přímý režim jsou velmi často používány, zejména u B-snímků. Výrazně snižují počet bitů, které mají být kódovány. Tyto režimy jsou označovány, když je blok kódován bez odesílání zbytkových chybových nebo pohybových vektorů. Kodér pouze zaznamená, že se jedná o Skip Macroblock. Dekodér odvodí vektor pohybu kódovaného bloku režimu Direct/Skip z jiných již dekódovaných bloků.

Pohyb lze odvodit dvěma způsoby: Přímý skip.jpg

Temporální
K odvození pohybového vektoru používá vektor pohybu bloku z rámečku Seznam 1, který se nachází na stejné pozici. Blok seznamu 1 používá jako referenci blok seznamu 0.
Prostorový
Předpovídá pohyb ze sousedních makrobloků ve stejném rámci. Možným kritériem by mohlo být zkopírování vektoru pohybu ze sousedního bloku. Tyto režimy se používají v jednotných zónách obrazu, kde není velký pohyb.

Blokovat oddíl.jpg

Na obrázku výše jsou růžové bloky kódované bloky Direct/Skip Mode. Jak vidíme, používají se velmi často, hlavně v B-rámcích.

Dodatečné informace

Ačkoli je použití pojmu „rámeček“ v neformálním použití běžné, v mnoha případech (například v mezinárodních standardech pro kódování videa MPEG a VCEG ) se používá obecnější pojem, když se místo slova „rámeček“ použije slovo „obrázek“ kde obrázek může být buď celý rámeček nebo jedno prokládané pole.

Video kodeky, jako je MPEG-2 , H.264 nebo Ogg Theora, snižují množství dat v proudu sledováním klíčových snímků s jedním nebo více mezisnímky. Tyto rámce lze obvykle kódovat pomocí nižší přenosové rychlosti, než je potřeba pro klíčové snímky, protože velká část obrazu je obvykle podobná, takže je třeba kódovat pouze měnící se části.

Viz také

Reference

  • Software H.264: http://iphome.hhi.de/suehring/tml/download/
  • T.Wiegand, GJ Sullivan, G. Bjøntegaard, A.Luthra: Přehled standardu kódování videa H.264/AVC . IEEE Transaction on Circuits and Systems for Video Technology, Vol. 13, č. 7, červenec 2003