Video kodek
Video kodek - program / algoritmus pro kompresi (tj. zmenšení velikosti) video dat (video soubor, video stream) a obnovu komprimovaných dat. Kodek je soubor vzorce, který určuje, jak může být video obsah „zabalen“ a podle toho může být video přehráváno. Je také možné kódovat obrazové a zvukové informace, přidávat titulky, vektorové efekty atd.
Princip fungování nejjednoduššího kodeku
Nejprve se podívejme na kódování statického obrázku (nebo jednoho snímku ). Každý zakódovaný snímek video proudu se skládá z bodů ( pixelů ) tvořících matici ( rastr ). Kodek dokáže sledovat podobná pole bodů se stejnými atributy (například modrá barva pozadí na obrázku oblohy) a namísto ukládání informací o každém bodu (jas a barva) do následujících snímků samostatně zaznamenává pouze první (klíčový) bod a počítadlo s počtem opakování tohoto bodu, dokud se barva tohoto bodu nezmění. Tzn., že místo popisu např. 1000 bodů může stačit popsat pouze 1 bod + počítadlo opakování. Kvalita zde může být řízena nastavením takové hodnoty, že pokud je rozdíl mezi body menší, pak jsou považovány za stejné. Toto je nejjednodušší z kompresních metod.
V JPEG se na snímku provádí blok po bloku diskrétní kosinusová transformace , po které následuje kódování pomocí Huffmanova algoritmu nebo aritmetického kódování .
K sestavení dynamického obrazu (video sekvence) se používají různé typy snímků – kromě I-snímků (kterým se také říká klíčové ( anglicky keyframes ) nebo „referenční“), které mohou obsahovat pouze nezávisle komprimované makrobloky, přidané P- snímky ("rozdílové" snímky) mohou obsahovat jak nezávisle komprimované makrobloky, tak makrobloky s odkazem na jiný snímek.
Pokročilejší kompresní formáty berou v úvahu kromě výše uvedené technologie i principy přesouvání polí bodů v obraze, segmentaci obrazu na „čtverečky“ s různou kvalitou komprese, použití sekvence snímků odlišně zakódovaných a zobrazených v určitém sekvence. Nejnovější kodeky zohledňují psychofyzikální vlastnosti vnímání videa lidským okem a mozkem, což umožňuje dále zmenšovat velikost dat bez „viditelné ztráty kvality“.
Algoritmy také využívají podobnosti sousedních snímků ve video sekvenci.
Pozoruhodné kodeky
- H.264 (AVC) je proprietární kodek.
- H.265 (HEVC) je proprietární kodek.
- H.266 (VVC) je proprietární kodek.
- VP8 je bezplatný video kodek vyvinutý společností Google
- VP9 je bezplatný video kodek vyvinutý společností Google.
- AV1
- Theora je bezplatný video kodek vyvinutý nadací Xiph.Org Foundation .
- Daala je bezplatný formát pro kompresi videa a referenční video kodek vyvinutý společností Xiph.Org
- DivX je proprietární kodek.
- Xvid je bezplatná alternativa k DivX.
Viz také