Kodek

Kodek je softwarový nebo hardwarový nástroj pro kódování nejčastěji zvukových a obrazových (video) informací do datového proudu pro potřeby jejich ukládání, vysílání nebo streamování, a pro jejich opětovné dekódování. Kodeky mohou obsahovat i funkci komprese a šifrování dat. Slovo je převzaté z anglického codec a vzniklo jako složenina z počátků slov kodér a dekodér.

Kodek může být softwarová knihovna, počítačový program nebo zařízení. Kodeky jsou základní součástí softwaru pro editaci (střih) multimediálních souborů (hudba, filmy) a často se používají pro videokonference a distribuci multimediálních dat v sítích.

Síťově šířená multimédia většinou obsahují několik částí. Zvuková i obrazová data a navíc doplňující informace (metadata), která umožňují obě složky synchronizovat. Každá z částí může být určena pro jiný program, proces nebo hardware. Aby s nimi bylo možno manipulovat, musí být zapouzdřeny do společného celku.

Další součástí šířených dat může být i obálka, která se na rozdíl od metadat nepodílí na informačním obsahu, ale přidává se kvůli zpřístupnění informací nebo pro větší robustnost datového toku. Samotná zakódovaná zvuková a obrazová data se někdy pro odlišení od ostatních součástí datového toku nazývají esence.

Názvosloví 
Kodek je někdy zaměňován s formátem kódování audia nebo formátem kódování videa. Ty jsou dány svojí specifikací, která může nebo nemusí být veřejně dostupná. Příkladem specifikace je standard MPEG Layer 3 známý jako MP3. Autoři kodeků pak vyvíjejí softwarové nebo hardwarové implementace, které s tímto formátem pracují. Známými kodeky pro MP3 jsou například LAME, FhG (Fraunhofer-Gesellschaft), Blade nebo Xing.

Pojmy kodek a formát se v poslední době velmi často zaměňují a vede to ke zmatení uživatelů. V některých případech k tomu přispívá fakt, že se někdy název kodeku shoduje s názvem formátu. Příkladem takových kodeků jsou Lagarith, HuffYUV nebo WMV. Přesto je třeba toto rozlišovat a to zvláště u kodeků, kde jejich název není shodný s formátem, který produkují. To je případ asi dvou nejznámějších kodeků — DivX Codec a Xvid —, které oba pracují se stejným formátem MPEG-4 ASP. To mimo jiné znamená, že jsou kompatibilní (video zakódované jedním z nich lze dekódovat pomocí jiného). Výrobci elektroniky často deklarují „podporu DivX”. Tato formulace je už sama o sobě špatná. Správně by mělo být napsáno, že takový přístroj podporuje MPEG-4 ASP. Přehraje tedy video vytvořené libovolným kodekem, jehož výstupem je MPEG-4 ASP.

Jako kodek je také velmi často nazýván dekodér. Přehrávače videa nepoužívají pro svoji práci kodeky. Chybí zde totiž první část této složeniny — kodér. Přehrávače video pouze přehrávají (na rozdíl od programů pro střih videa). To samé platí i obráceně. O programu x264 lze těžko mluvit jako o kodeku, protože video umí pouze zkomprimovat, nedokáže jej již zpět dekódovat. Správně by tedy mělo být řečeno, že x264 je kodér pro formát MPEG-4 AVC (H.264) a například přehrávač Media Player Classic zase obsahuje integrovaný dekodér formátu MPEG-2.

Slovo kodek je tedy značným způsobem nadužíváno a je jím obyčejně myšlen formát, kodér nebo dekodér. Tato praxe je běžná nejen v Česku, ale i v zahraničí, kde je slovo codec také velmi často užíváno v nesprávných souvislostech.

Kodeky rovněž nelze zaměňovat s tzv. kontejnerem. Ten umožňuje uložit zvuková, obrazová i jiná data do jednoho souboru – v souborech s příponami „.ogg“, „.mpg“, „.avi“, „.mov“ atd. jsou informace zakódované kodeky pouze uloženy. Kontejnery se liší ve formátech, které mohou obsahovat. Mezi univerzální formáty kontejnerů patří např. AVI a Matroska.

Na podobných principech pracuje také obvykle hardwarový endec (z anglických slov encode a decode = zakódovat a dekódovat).

Příklady kodeků

Zvukové (audio) kodeky 
Bezztrátové:
 Free Lossless Audio Codec (FLAC)
 Monkey's Audio
 OptimFROG
 WavePack
 Windows Media Audio 9 Series Professional Lossless
 Apple Lossless

Ztrátové:
 Obecné (střední až vysoký datový tok)
 LAME (MPEG audio layer-3 kodek)
 FAAC (AAC kodek)
 libvorbis (referenční implementace audio formátu Vorbis)
 Musepack
 Windows Media Audio 9 Series
 Hlasové (nízký datový tok, optimalizované pro řeč)
 Speex
 Windows Media Audio 9 Series Voice

Obrazové (video) kodeky 
Hlavní článek: Video kodeky

 Schrödinger (implementace formátu Dirac)
 libtheora (referenční implementace video formátu Theora)
 Ogg Tarkin
 Huffyuv
 Lagarith
 DivX Pro Codec (MPEG-4 ASP kodek)
 Xvid (MPEG-4 ASP kodek)
 3ivx (MPEG-4 ASP kodek)
 Sorenson
 Cinepak
 Indeo 3/4/5
 On2 VP3, VP6, VP7, VP8
 Windows Media Video 9 Series
 libavcodec (podporuje mnoho formátů včetně MPEG-1/2/4 a WMV-1/2/3)

Odkazy

Související články 
 Seznam otevřených kodeků, formátů a kontejnerů

Externí odkazy 
 
 Kodeky tajemství zbavené

Kodeky
Multimediální software
Komprese dat