Přeskočit na obsah

Video kodek

Z Wikipedie, otevřené encyklopedie

Video kodek je kodek videa (sekvence obrázků); čili počítačový program nebo hardwarové zařízení, které duje a dekóduje video do/z určitého formátu, zpravidla za účelem zmenšení objemu dat. Takový video proud se pak běžně ukládá do tzv. multimediálního kontejneru, který umožňuje kombinovat různé multimediální datové proudy (audio, video, titulky) do jednoho souboru.

Je třeba nezaměňovat pojem (video) kodek s pojmem formát videa. Formát je standard (specifikace) a kodeky jsou jejími konkrétními implementacemi. Například kodek DivX pracuje s formátem MPEG-4 Part 2 (profil ASP).

Druhy kodeků

Kodeky se dají rozdělit několika způsoby. Základním je dělení na bezeztrátové a ztrátové. První jmenované mají základní výhodu v tom, že při jejich použití se z videa neztrácí žádné informace. Díky tomu však nedosahují příliš vysokých kompresních poměrů, většinou kolem 1:2. Hodí se však k dalšímu zpracování videa.

Ztrátové kodeky při svém zpracování část informace o obraze ztrácí. Vycházejí především z toho, že lidské oko není dokonalé a tak zkreslení obrazu v určité míře nepostřehne. V závislosti na míře komprese a kvalitě použitého algoritmu je možné dosáhnout kompresních poměrů od 1:4 až po 1:100, u vyšších hodnot však už dochází k téměř nepoužitelnému zkreslení obrazu.

Míru komprese ukazuje především datový tok (bitrate) použitý ve výsledném souboru. Dále se dá srovnávat rychlost zpracování, výsledná kvalita a velikost souboru. Datový tok může být navíc nejen konstantní, ale také proměnlivý. Ten je vhodný především k použití u videí, kde dochází k častějšímu střídání rychlých a pomalých scén případně změny scenerií. Díky němu se použije vyššího datového toku při rychlejší, respektive obrazově náročnější, scéně a tak lze dosáhnout kvalitnějšího podání při stejné velikosti výsledného souboru.

Bezeztrátové kodeky

Ke kompresi videa využívá tento kodek Huffmanova kódování, které je založeno na různé četnosti znaků. Jeho výhodou je rychlá komprese i dekomprese, menší paměťové nároky a volné (nezpoplatněné) používání. Nevýhodou je především nízký kompresní poměr (v nejlepších případech jde přibližně o 1:2,5). Je uvolněn pod licencí GPL, existují 2 nekompatibilní řady. Jeho vývoj je již ukončen, nástupcem se stal kodek Lagarith. Podporuje barevné modely YCbCr, RGB a RGBA.

FFV1 je video kodek z knihovny libavcodec open-source projektu FFmpeg. Oproti kodeku HuffYUV nabízí vyšší kompresní poměr.

Uvolněn pod licencí GPL, jedná se o nástupce kodeku Huffyuv.

Jedná se o dva freewarové kodeky (AVIzlib a AVImszh). Pracují s barevnými modely RGB a YUV.

Ztrátové kodeky

Implementace MPEG-4 ASP

Následující kodeky pracují s formátem MPEG-4 Part 2, Advanced Simple Profile, který je založen na DCT.

DivX je firma, známá vývojem svého kodeku a dalších produktů této značky. Kodek DivX používá standardní kompresi MPEG-4 ASP, nikoli vlastní formát videa, je tudíž kompatibilní s ostatními MPEG-4 ASP kodeky.

První verzí kodeku DivX byla verze 4.0, kterou firma vydala pod svým tehdejším názvem DivXNetworks. Ta byla původně vytvářena pod hlavičkou Project Mayo jako open source projekt OpenDivX, který byl odpovědí na tehdy populární kodek „DivX ;-) 3.11 Alpha“, což byl nelegálně upravený MPEG-4 kodek Microsoftu (který ovšem nebyl kompatibilní se standardem MPEG-4). Firma DivX si z populárního programu vypůjčila název bez smajlíku, open-source vývoj projektu OpenDivX po čase uzavřela a dále kodek vyvíjela jako svůj komerční produkt.

Verzi 6 firma vypustila v polovině roku 2005. Byla distribuována ve dvou verzích – Play Bundle a Create Bundle, které se od sebe liší placeným konvertorem.

Od verze 7 kodek DivX podporuje i kompresi videa H.264.

Poté, co byl uzavřen projekt OpenDivX a stal se proprietární záležitostí, se několik programátorů rozhodlo pokračovat ve vývoji open-source verze, tu již nazvali XviD (později přejmenovaný na Xvid). Jedná se o znovu otevřený kodek, kódující a dekódující video v standardním formátu MPEG-4 ASP. Tvůrci si zakládají na široké konfigurovatelnosti kodeku. Kodek podporuje libovolné rozlišení až do velikosti obrazu 1920×1088 bodů.

FFmpeg MPEG-4

FFmpeg je open-source projekt, obsahující knihovnu libavcodec, která implementuje řadu audio a video formátů. Tuto knihovnu využívá jako výchozí mnoho video přehrávačů, editorů, konvertorů a frameworků jako např. MPlayer, xine, VLC media player, ffdshow a GStreamer. MPEG-4 ASP kodek FFmpegu plně podporuje dekódování videa kódovaného všemi běžnými MPEG-4 kodeky jako je DivX, Xvid nebo 3ivx. Video jím kódované lze rovněž přehrát pomocí libovolného dekodéru kompatibilního se specifikací MPEG-4 ASP.

Nero Digital je značka video kodeků firmy Nero AG, pracující s formáty MPEG-4. Kromě staršího formátu MPEG-4 ASP pracuje i s modernějším MPEG-4 AVC, známým jako H.264, který dosahuje lepšího kompresního poměru.

Implementace MPEG-4 AVC (H.264)

Následující kodeky pracují s formátem MPEG-4 Part 10 (Advanced Video Coding), který je používán na HD DVD a Blu-ray a je založen na přesné DCT (celá čísla).

Je třeba zde zahrnout i již zmíněné Nero Digital.

CoreAVC není kodek, pouze dekodér. Jedná se o komerční software, pouze pro Microsoft Windows. Výhodou je jeho vysoká rychlost.

Implementace formátu od firmy Apple.

x264 není kodek, pouze kodér. Je šířen pod GPL a používá jej mnoho open source projektů (např. FFmpeg a VLC media player).

Implementace formátu Dirac

Tento formát vyvíjí BBC, oba kodeky jsou svobodný i open source software, je založen na DWT.

  • Dirac
  • Schrodinger

Další kodeky

Ligos Indeo

Původně jde o kodek vyvinutý firmou Intel, ta jej později prodala firmě Ligos. Výsledná kvalita jím zpracovaného obrazu je dobrá, při nastavení na 100% není možno výsledek téměř rozeznat od originálu, tomu však odpovídá i velikost souboru. Od verze 5.2 je součástí operačního systému Windows XP s aktualizací SP1. Jedná se o komerční produkt.

Microsoft Video 1

Tento kodek se stal součástí operačních systémů firmy Microsoft od verze Windows 95. Později byl rozšířen o kompresní algoritmy kodeků Intel Indeo 3.1 a Supermac‘s Cinepak. Díky tomu mohl být výsledný obraz o rozměrech 320×240 bodů s frekvencí až 30 snímků za sekundu. Ve své době poměrně rychlý a kvalitní kodek, dnes již pomalý a kvalitativně zastaralý. Při nastavení 100% kvality komprese je stále viditelné čtverečkování obrazu.

Kodeky WMV vyvinula firma Microsoft jako odpověď na úspěch formátů QuickTime a RealVideo. Při kompresi udržuje datový tok, snímky zahazuje, aby ho nepřesáhl a nebo vyplňuje nadbytečnými informacemi, aby tok nebyl nižší. Starší verze WMV používaly proprietární video formát Microsoftu, aktuální verze umí pracovat s videem standardu VC-1.

RealVideo je komprese a formát firmy Real Networks, s důrazem na kompresi videa určeného pro internet. V dnešní době stále více ustupuje do pozadí.