Malé nahlédnutí do tajů komprese videa

Zřejmě každý uživatel čas od času využije svůj počítač ke zhlédnutí nějakého filmu. Na jakém principu ale fungují techniky, které umožňují ukládat desítky či stovky celovečerních filmů na jediný pevný disk?
Malé nahlédnutí do tajů komprese videa

Související odkazy

Slovník
algoritmus
CBR
dekodér
DivX
DVD
HDTV
ISDN
JPEG
kodek
komprimace
MP3
MPEG
Open Source
RGB
VBR

Při ukládání videa do počítače v nekomprimované podobě roste spotřeba volného místa na pevném disku ohromnou rychlostí. Představte si video beze zvuku v rozlišení 640 × 360 a barevném modelu RGB, v němž se jeden obrazový bod standardně kóduje třemi bajty. Pak při frekvenci zobrazování 25 sn./s je k uložení jedné sekundy záznamu zapotřebí 17 280 000 B (640 × 360 × 3 × 25), tedy přibližně 17 MB. Zkuste si pak představit, že byste takovýmto primitivním a na kapacitu náročným způsobem ukládali film o délce dvě hodiny.

Proto se v praxi přistupuje k různým kompresním technikám. Také v případě videa se můžete setkat s dvěma základními druhy komprese: ztrátovou a bezztrátovou. Prvně jmenovaná ztrátová komprese vychází z faktu, že lidské oko není schopné zaznamenat všechny detaily filmu, a proto ze snímků vypouští člověkem jen těžko postřehnutelné detaily. Naproti tomu bezztrátová komprese zachovává všechna původní data, pouze volí úspornější metody jejich zápisu. S bezztrátovou kompresí se tak můžeme setkat ve všech běžných archivačních programech určených ke kompresi souborů (WinZIP, WinRAR apod.).

Kodek – kódování i dekódování

Pro převod videa do různých komprimovaných formátů slouží takzvané kodeky. Původní anglické označení termínem codec vzniklo prostým složením slov coder a decoder. S jejich pomocí můžete video do požadovaného formátu převést a v budoucnu pak přehrávat. Jak zvuk, tak video bývají často doplňovány o dodatečné informace (takzvaná metadata – data o datech), díky nimž lze jejich běh sladit.

Klepněte pro větší obrázek

Základní informace o nainstalovaných kodecích můžete zjistit přímo ve Windows. Jejich vlastnosti naleznete pod položkou Zvuky a multimédia v Ovládacích panelech

Tak například kodek s názvem HuffYUV patří mezi nejznámější zástupce kategorie bezztrátových a jeho autorem je Ben Rudiak-Gould. Vlastní algoritmus funguje na podobném principu jako bezztrátová JPEG komprese, dokáže zmenšit velikost videa až na polovinu a poradí si s barvami ve formátu YUV i RGB. HuffYUV používá k ukládání obrazové informace Huffmanovo kódování a mezi jeho hlavní přednosti patří vysoká rychlost.

Huffmanovo kódování

Huffmanovo kódování bylo navrženo přibližně v polovině minulého století a stále patří mezi nejpoužívanější bezztrátové komprese. Své využití toto kódování už našlo v JPEG, MP3, PKZIP (metoda deflate) a mnoha multimediálních kodecích.

Funguje na poměrně jednoduchém principu: Nejprve je zapotřebí zjistit, kolikrát se jednotlivé symboly ve datech vyskytují (četnost). Pro jednoduchost předpokládejte, že se data skládají pouze ze znaků a, b, c, d, e a jejich četnosti odpovídají údajům v tabulce.

a b c d e
4 7 12 9 10

Znaky se seřadí podle jejich četnosti a ve stromu (grafu) spojí vždy dva s nejnižší četností. Spojnice se ohodnotí 0 a 1. Postup se opakuje a místo jednotlivých symbolů se používají nově vzniklé dvojice až vznikne graf, jehož hrany právě udávají kódování znaku.

Klepněte pro větší obrázek

Jednotlivé znaky se tedy budou kódovat podle jednoduché tabulky.

a b c d e
111 110 0 101 100

Huffmanovo kódování tak zajišťuje, že se znak s nejvyšší četností bude kódovat pomocí nejkratší posloupnosti. Věta „abeced“, která má délku 6 B, tedy 48 b, se zakóduje do řetězce „1111101000100101“, který má délku jen 16 b.

Mezi velice známé ztrátové kodeky patří MJPEG, jehož název vznikl zkrácením anglického označení Motion JPEG, které již trochu napovídá, na jakém principu funguje. Každý snímek videa se totiž komprimuje pomocí ztrátové JPEG komprese, takže v důsledku lze i MJPEG zařadit do skupiny ztrátových kodeků. Při kompresi si uživatel většinou může zvolit velikost ztráty obrazových dat a tím předurčit kvalitu i velikost výsledného videa. Díky tomu, že se každý snímek komprimuje samostatně, nachází MJPEG uplatnění při střihu videa na počítači.

Praotec MPEG

Zkratka MPEG značí Motion Picture Experts Group, což je výbor mezinárodní organizace ISO, která definuje standardy v oblasti komprese videa. A jak komprese MPEG funguje? Obraz se nejprve rozdělí do tzv. makrobloků o velikosti 8 × 8 nebo 16 × 16 px a každý z těchto bloků je nadále zpracováván samostatně. U dvou po sobě následujících snímků se poté určí rozdíly mezi jednotlivými makrobloky. Obrázky se rozdělují do tzv. IPB sekvencí, kde označení IPB vzniklo ze spojení Intra coded image (I snímky), Predicted image (P snímky) a Bidirectionally interpolated image (B snímky). Také snímky se komprimují podobně jako v MJPEG, navíc však lze na různou část obrazu použít různý stupeň komprese. Kódování P-snímků vychází z předchozích snímků a konečně B-snímky se dopočítávají jako rozdílové snímky mezi nejbližším předchozím a nejbližším následujícím I nebo P snímkem. Nejvíce místa zabírají I snímky a nejméně B snímky.

Klepněte pro větší obrázek


Klepněte pro větší obrázek

Základem MPEG komprese je rozdělení obrazu do jednotlivých makrobloků. S každým z nich se poté pracuje samostatně a určují se rozdíly mezi nimi u po sobě jdoucích snímků. Zdroj: www.tomshardware.com

Nejstarší variantu popisovaného kodeku představuje MPEG-1, který spatřil světlo světa koncem roku 1991 a během toho následujícího byl přijat jako norma. Původně byl navržen především pro video o rozlišení 352 × 288 s frekvencí zobrazování 25 sn./s a datovým tokem 1,5 Mb/s.

Formát MPEG-2 byl dokončen v listopadu roku 1994 a stal se standardem pro kompresi digitálního videa. Jednou z novinek oproti MPEG-1 je například podpora dvou typů datového toku – CBR a VBR. Konstantní tok (CBR, Constant Bit Rate) zajišťuje, že všechny části videa mají stejný kompresní poměr, naproti tomu při proměnlivém datovém toku (VBR, Variable Bit Rate) se některé scény komprimují více než jiné.

Dalším v řadě standardů by logicky měl být MPEG-3, nicméně jeho vývoj byl zastaven. Cílem jeho působnosti se totiž mělo stát HDTV (High Definition TV), které však dostatečně pokryl již rozšířený a hojně používaný MPEG-2. Nový standard MPEG-4 byl publikován v říjnu roku 1998 a zaměřoval se především na přenos videa s co nejmenším datovým tokem, přesněji v rozmezí mezi 10 kb/s a 1 Mb/s. Definice formátu MPEG-4 se stala vzorem pro mnoho dalších kodeků.

Vykradený kodek

Klepněte pro větší obrázek
Díky tomuto muži plnými doušky vychutnáváme komfort DivX. Jérôme Rota totiž hacknul Microsoft MPEG-4v3 a na jeho základě vytvořil tolik oblíbený kodek.
Příkladem formátu vycházejícího z MPEG-4 je například známý DivX, který vznikl tak, že Francouz Jérôme Rota naboural kodek Microsoft MPEG-4v3. Zanedlouho poté se DivX verze 3 ještě rozdělil na Slow Motion a Fast Motion. Při použití Fast Motion se ve scénách s pomalým pohybem výrazně snižoval datový tok, takže u rychlých scén pak bylo možné naopak použít datový tok vyšší a tím samozřejmě dosáhnout vyšší kvality při nerostoucí velikosti souboru.

V srpnu roku 2001 vznikl DivX verze 4, který byl plně kompatibilní se svým předchůdcem, nikoli však stejně kvalitní. Tento kodek používá tři druhy komprese: jednoprůchodovou s daným datovým tokem, jednoprůchodovou s danou kvalitou a dvouprůchodovou. Při použití prvně jmenované varianty je snaha při kompresi videa udržet stanovený datový tok. Podobně se i jednoprůchodová komprese s danou kvalitou snaží dodržovat požadovanou kvalitu obrazu – při jejím použití tedy není předem známa velikost výsledného videa. Posledně jmenovaná dvouprůchodová komprese nejprve analyzuje zpracovávané video a teprve na základě získaných informací dochází k optimálnímu nastavení datového toku.

V březnu roku 2002 spatřil světlo světa formát DivX 5, a to hned ve třech verzích: Standard, Pro Gain a Pro. Verze Standard je poskytována zdarma a v současné době ji najdete pod strohým označením DivX. Pro Gain, která obsahovala opravdu vtíravé zobrazování reklam a program Gain spuštěný na pozadí, už delší dobu není na oficiální stránce www.divx.com nabízena. Konečně varianta Pro nemá žádná omezení ani reklamy, zároveň se ale jedná o placenou verzi. Pravděpodobně největší konkurencí pro DivX představuje Open Source kodek XviD.

Komprese není jen MPEG

Standard H.261 byl navržen roku 1990, měl sloužit pro přenos videa po ISDN a podporoval datové toky od 40 Kb/s do 2 Mb/s. Ve skutečnosti inspiroval o něco mladší MPEG kompresi, takže se už v něm setkáte například s dělením obrazu do makrobloků. H.261 není přesnou definicí kompresních algoritmů, ale pouze výčtem vlastností, které musí kodek splňovat, aby byl s tímto formátem kompatibilní (podobně je tomu také v případě MPEG-4). H.261 se dočkal následníků v podobě standardů H.262, H.263 a H.264.

V současné době se čím dál častěji setkáváte s formátem WMV (Windows Media Video), který vznikl v dílnách Microsoft a je nástupcem MPEG-4v3 od stejné společnosti. Také s tímto kodekem lze při zpracování filmu použít dvouprůchodové zpracování. Mladším bratříčkem WMV je Windows Media High-Definition Video (WMV-HD), s nímž lze díky vysoké kvalitě algoritmů pro kompresi a dekompresi obrazu na jedno DVD uložit stejně dlouhý film v mnohonásobně vyšším rozlišení než na DVD-video disk s obrazem komprimovaným pomocí MPEG-2.

Vybrané kodeky zdarma a weby pro jejich stažení
Codec Pack All in 1 www.codecpack.com
ffdshow sourceforge.net/projects/ffdshow
Free-codecs.com www.free-codecs.com
K-Lite Codec Pack www.k-litecodecpack.com
Kodek CZ www.pinky.cz/projektcz/
Koepi`s XviD Codec www.koepi.org/xvid.shtml

Článek vznikl ve spolupráci s časopisem Computer a čerpá z čísla 5/05.

Diskuze (48) Další článek: Open Net Initiative: Čína má nejpropracovanější filtrování internetu

Témata článku: Video, Bezztrátová komprese, Ztrátová komprese, Gain, Snímek, Obrazová vlastnost, Náročný způsob, Různé znaky, Xvid, Uložený vzor, Vid, Následující rok, Komp, Rota, Výsledný obraz, Kvalita obrazu, Ztrátový kodek, Jednotlivý snímek, Stejný vzor, Komprese, Pomalý pohyb, Jednoduchý střih, Nejstarší typ, Známý princip, Rychlý střih


Určitě si přečtěte

Dnes nastal konec Windows 7. Ale nepropadejte panice, počítač vám nastartuje i zítra

Dnes nastal konec Windows 7. Ale nepropadejte panice, počítač vám nastartuje i zítra

** Dnes končí podpora Windows 7 a systém formálně umírá ** Co to ale znamená v praxi a bude mi PC fungovat i zítra? ** A mohu i v lednu 2020 zdarma přejít na Windows 10?

Jakub Čížek | 118

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 7



Aktuální číslo časopisu Computer

Test 9 bezdrátových reproduktorů

Jak ovládnout Instagram

Test levných 27" herních monitorů

Jak se zbavit nepotřebných věcí na internetu