Typy snímků v komprimovaném toku videa jsou metody kódování a ukládání informací o dalším snímku , které se od sebe liší přítomností nebo nepřítomností závislostí tohoto snímku na předchozích a následujících.
Rámec je základní strukturou kódování. S rámem jsou spojeny následující parametry: čas, typ rámce, příznak inicializace vyrovnávací paměti, rozlišení pohybových vektorů a jejich pořadí a uživatelská data
Snímek je obvykle rozdělen na čtvercové makrobloky a typ propojení pro každý z makrobloků je určen individuálně, ale s omezením daným typem celého rámce:
Nový standard MPEG-4 AVC/H.264 také zavádí koncept snímků SI a SP .
I-snímky jsou kódovány podobně jako snímky JPEG . Ve variantě algoritmu, kde jsou pouze I-snímky, je video sekvence převedena do M-JPEG . I-snímky lze použít pro náhodný přístup, protože nevyžadují další informace. I-snímky mají nejnižší kompresní poměr.
P-snímky jsou kódovány pomocí minulých I a P-snímků. Například snímek, který bezprostředně následuje za I-snímkem, používá nezměněné informace z tohoto I-snímku a doplní jej rozdílem mezi snímky. Pokud po tomto P-snímku následuje další P-snímek, pak zase vezme nezměněné informace z předchozího P-snímku (který zase použil nezměněné informace I-snímku) a doplní je o svůj rozdíl mezi snímky.
B-snímky se používají jako interpolace mezi předchozími a následujícími snímky obou typů I a P.
MPEG-1 má jedinečný typ snímku, který se v pozdějších standardech videa nenachází. D-snímky nejsou nikdy odkazovány I-, P- nebo B-snímky. D-snímky se používají pouze pro rychlé náhledy videa, například při rychlém hledání požadovaného segmentu videa.
S trochu lepším dekódovacím hardwarem lze náhled provést dekódováním I-snímků namísto D-snímků. To poskytuje lepší náhled, protože I-snímky jsou komprimovány s menší ztrátou. Pokud kodér může předpokládat, že v dekodérech je k dispozici rychlé dekódování I-snímků, může ušetřit bity tím, že neposílá D-snímky (čímž se zlepší komprese video obsahu). Z tohoto důvodu se D-snímky zřídka používají v kódování videa MPEG-1 a funkce D-snímek nebyla zahrnuta do žádných pozdějších standardů kódování videa.
Skupina obrázků (GOP) je nejmenší nezávislá kódovací struktura ve video sekvenci. Náhodný přístup k videosekvenci je možný až do skupiny snímků. Informace týkající se skupiny rámců zahrnují časový kód, zavřený příznak a uživatelské informace.
Struktura GOP je často označována dvěma čísly, například M = 3, N = 12. První číslo udává vzdálenost mezi dvěma kotevními rámy (I nebo P). Druhý říká vzdálenost mezi dvěma úplnými snímky (I-snímky): toto je velikost GOP. Například M = 3, N = 12, struktura GOP je IBBBPBBBPBBPBBI. Místo parametru M můžete použít maximální počet B-snímků mezi dvěma po sobě jdoucími kotevními snímky.
Například v sekvenci se vzorem IBBBPBBBBBPBBBBBI je velikost GOP ( hodnota N ) 15 (délka mezi dvěma snímky I) a vzdálenost mezi dvěma kotevními snímky ( hodnota M ) je 5 (délka mezi snímky I a P, nebo délka mezi dvěma po sobě jdoucími P snímky).
V kodecích MJPEG a DV video streamu jsou všechny snímky typu I.
Rodina kodeků MPEG4 „třetí verze“ (nejpopulárnější byl DivX 3.11, známé jsou i DivX 4.12 a OpenDivX) má dva typy snímků – I a P. B-snímky nejsou poskytovány. Stejná situace je i v rodině kodeků od On2 : VP3 , VP6 , VP8 .
Mnoho moderních kodeků má navíc možná nastavení, která vypínají vytváření B-snímků, aby se snížily náklady na výkon procesoru pro zpracování v reálném čase.
Standardy komprese videa přijaté ITU-T VCEG a ISO / IEC MPEG typicky pouze komprimují rozdíl mezi snímky. Například ve scéně, kde osoba chodí na pozadí stacionárních objektů, je nutné uložit pouze informace o změně oblasti (například pomocí kompenzace pohybu , která uloží vektor změny polohy bloku nebo, pokud podobná oblast není v předchozím snímku je tato oblast komprimována jako nezávislý obrázek). Části scény, které se nemění, se do streamu neukládají, což výrazně zvyšuje kompresní poměr ve srovnání s formáty, které používají nezávislou kompresi každého snímku.
Například pro I- a P-snímky v toku se vytvoří řetězce IPPPPPPPPPPPP… , když je první rámec komprimován nezávisle, a následující jsou komprimovány s odkazem na první rámec. Toto je nejjednodušší příklad použití různých typů snímků v proudu.
Zatímco hlavní výhodou použití P-snímků je zvýšení kompresního poměru, jejich hlavní nevýhodou je dramaticky se prodlužující doba přístupu ke snímku, protože celý řetězec snímků z nejbližšího I-snímku musí být pro získání požadovaného snímku zcela dekomprimován. Zejména pokud byla komprese nastavena na parametry, které maximalizují kompresní poměr, takže I-snímky jsou vzácné, může být doba zpoždění zobrazení libovolného snímku v proudu velmi patrná.
V toku komprimovaném video kodekem podle standardů MPEG-2 , MPEG-4 , H.261 , H.263 a H.264 se používají tři hlavní typy snímků : I-snímky (z angličtiny Intra images ), P -snímky (z Predikovaných obrázků ) a B-snímky (z Obousměrných obrázků nebo Obousměrných obrázků ).
Použití B-snímků znamená, že daný rámec odkazuje na dva sousední I- nebo P-snímky v proudu, v takovém případě může řetězec snímků vypadat takto: IBPBPBPBPBPBPBPBP . Častěji používané řetězce jsou IBBBPBBBPBBPBBPBBPBBPBBPBBP, ve kterých B-snímky stále odkazují na dva nejbližší sousední I- nebo P-snímky a jsou na sobě nezávislé.
Tato struktura umožňuje zrychlit dobu získání libovolného rámce v toku 2–3krát, protože k jeho získání je nutné rozbalit pouze každý druhý (třetí) rámec (což je P-snímek ), počínaje z I-rámce. Také rychlost "rychle vpřed se show" se několikrát zvyšuje.
Kodek Xvid s příslušným nastavením umožňuje získat 4 nebo více B-snímků za sebou. A takový stream bude správně reprodukován sám o sobě, stejně jako dekodérem ffdshow . Některé dekodéry nejsou schopny správně reprodukovat více než jeden B-snímek za sebou.[ význam skutečnosti? ]
Kompresní metody | |||||||
---|---|---|---|---|---|---|---|
Teorie |
| ||||||
Bezztrátový |
| ||||||
Zvuk |
| ||||||
snímky |
| ||||||
Video |
|