Zpět na úvodní stránku






Komprese

Každý i sebevětší disk se ponechán napospas línému a bordelářskému uživateli (a přiznejme si že jiní nejsme) jednou zaplní a proto je potřeba s místem na něm řádně hospodařit. Zde přichází ke slovu komprese. Vyhledáte-li si tento pojem ve slovníku cizích slov, najdete zhruba něco ve smyslu „stlačování, zmenšování objemu“. Je až s podivem, jak přesně slovo s tak starými kořeny (do angličtiny s dostalo přes francouzštinu z latinského „comprimere“ a nepochybně má mnohem starší původ indo-evropský) popisuje činnost tak aktuální. Jednoduše řečeno jde o to, vyjádřit určitý řetězec znaků jiným kratším řetězcem, který však bude mít v konečném zúčtování stejný, nebo jak se dozvíme později alespoň podobný, význam.

Velmi polopaticky mám-li řetězec AAAAAAAAAABBBAAAAABABB bude časově i fyzicky úspornější zapsat ho např. jako 10A3B5A1B1A2B. Otázkou je, jestli si poté případný příjemce dovede zprávu dekódovat zpět do původního tvaru - lidé jsou přece jen živé bytosti a život jak známo nerad dodržuje jakékoliv standardy a navíc dokáže být velice vynalézavým způsobem hloupý. Jiný případ nastává u elektroniky. Elektronika je založena na dodržování přednastavených norem a proto se skvěle hodí právě pro tyto případy. Pokud si do počítače jednou nainstalujete dekodér, napříště vám vždy zkomprimovaný řetězec bez problémů dekomprimuje, aniž by se ptal na hnidopišské otázky typu „Prosímtě, není ta jednička před znakem, který se má vyskytovat jednou, zbytečná a ve výsledku kontraproduktivní?“ a dostávalo se mu odpovědí jako „Ano, samozřejmě že je, ale je to mnou určený standard, tak se podle toho laskavě zařiď.“

Aby nebyly věci tak jednoduché existují dva základní druhy datové komprese – ztrátová a bezztrátová – pojďme se jim podívat blíže na zoubek.

1) bezztrátová – jak vyplývá z názvu, jde o metodu při níž v procesu kódování řetězce nepřicházíme o žádnou část dat, a tak po opětovném rozkódování dostaneme původní řetězec v přesném znění. Náš polopatický příklad (viz výše) je velmi jednoduchým případem bezztrátové komprese (přesněji lehce znehodnoceným případem tzv. RLE komprese). Existují samozřejmě mnohem složitější algoritmy pracující s matematikou o několik řádů vyšší, avšak toto téma se naší problematiky dotýká jen okrajově. Pro naši potřebu postačí vědět, že bezztrátová komprese se používá především tam, kde do procesu nezasahuje lidská bytost - stroj potřebuje pro svůj chod informace do puntíku přesné, kdežto člověk nějakou tu chybku přehlédne – a že kompresní poměry (kolikrát je zkomprimovaný soubor menší než původní) se pohybují zhruba v řádech jednotek, což je pro efektivní skladování a přenos multimédií poněkud málo.

2) ztrátová komprese – zde se konečně dostáváme k jádru problematiky těchto stránek – kompresi multimédií zejména pak zvukových souborů. I přesto, že je postup při kompresi obrazu, videa a zvuku odlišný, základní princip se vždy shoduje – odstranit z původního multimediálního obsahu takové informace, které lidské ucho či oko nepostřehne nebo nejsou pro celkový vjem příliš důležité. Do rodiny nejznámějších ztrátových kodeků pro obrazové formáty patří především JPEG a JPEG 2000, pro video MPEG-1 až MPEG-4 a z nich odvozené DivX i XviD, a konečně z hudebních je to mimo MP3 také MP3PRO, Ogg Vorbis, WMA, VQF, AAC a další. Ztrátová komprese dosahuje v porovnání s bezztrátovou několikanásobně vyšších kompresních poměrů, vybírá si však krvavější daň na systémových prostředcch, neboť využívá mnohem sofistikovanějších metod.

Ztrátová komprese audio signálu

O kompresi (=kódování) audio signálu, se stará program zvaný enkodér. Jako příklad můžeme uvést zavedený a kvalitní LAME pro kompresi do formátu MP3. Celý proces ztrátové komprese je značně složitý, proto se zde omezím pouze na přiblížení jejích základních a nejběžnějších metod používaných napříč všemi formáty.

Algoritmy ztrátové komprese digitálního zvukového signálu využívají nedokonalosti lidského sluchu a jeho neschopnosti vnímat všechny informace, které obsahuje zvukový záznam beze ztrát. Lidské ucho dokáže zachytit nejvýše třetinu reprodukovaného zvukového signálu a má také omezené vnímání frekvenčního pásma. Vnímání intenzity zvuku závisí i na jeho frekvenci, což je zřejmé z křivky prahu slyšitelnosti (viz obrázek – frekvenční maskování). Tato křivka ukazuje, jaké množství zvukové energie je nutné, aby byl tón dané frekvence rozpoznatelný v nehlučném prostředí a také, že s největší intenzitou jsou vnímány frekvence mezi 1 kHz–5 kHz. Tyto a další poznatky se vnesly do tzv. psychoakustického modelu, který určuje, jak se mohou zvuková data redukovat, aniž by jejich ztráta začala být vnímána jako zhoršená kvalita záznamu. Využívá se zde také principu maskování ve frekvenční a časové oblasti, které blíže popisují obrázky dále v textu.

Nejnižší vnímatelnou úroveň akustického tlaku (intenzity zvukového signálu) představuje práh slyšitelnosti. Všechny frekvence pod tímto prahem se nemusí přenášet a z původního zvukového souboru mohou být odstraněny. Další datovou úsporu znázorňuje práh maskování. Pokud se kdekoli v kmitočtové oblasti objeví intenzivní tón (zde označený M0 o frekvenci 1 000 Hz), vytvoří se kolem něho oblast ohraničená shora není třeba (maskovací práh) a všechny méně intenzivní tóny v jeho blízkosti, které jsou pod úrovní této křivky, opět netřeba přenášet. Takový signál se nazývá maskovací. Zjednodušeně řečeno, pokud zazní silný signál, lidské ucho nezvládne zároveň detekovat výrazně slabší signál blízké frekvence. Signál označený MP již vystupuje nad maskovací práh, ale ucho vnímá jen jeho část (MPU), pro jejíž přenos stačí menší množství bitů. Je-li ve frekvenčním spektru přítomno více silných maskovacích signálů, vytvoří si každý z nich svou maskovací křivku, z níž se následně sestaví tzv. globální maskovací práh.

Maskování ve frekvenční oblasti

Maskování v časové oblasti se využívá dalšího aspektu lidského sluchu. V zásadě jde o to, že silný zvuk neomezí vnímání „slabších“ zvuků jen v kmitočtové oblasti, ale i v časové. Pokud zazní silný signál, naše vnímání je omezeno na několik desítek až stovek milisekund i po jeho ukončení, kdy neslyšíme signály slabší. Doba doznívajícího maskovacího efektu závisí na době, po kterou signál zněl. Pokud zní krátce (např. 5 ms), zkracuje se i doznívající maskovací efekt (šrafovaná oblast). Tato metoda se nazývá post-maskování, ale fyziologie našeho mozku dovoluje použít i tzv. pre-maskování, kdy je na několik milisekund maskován slabší signál ještě před zazněním intenzivnějšího.

Maskování v časové oblasti

Většina lidí kteří se se ztrátovou kompresí audia setkali alespoň zaslechla pojem „bitrate“ (nebo hezky česky „datový tok“). Jedná se o hodnotu udávající kolik místa paměti si ukrojí jedna sekunda záznamu (proto je jednotkou datového toku kilobit za sekundu, zkracovaný jako kb/s nebo kbps). Čím menší datový tok při kódování zvolíme tím menší je velikost výsledného souboru ale i jeho poslechová kvalita. Například donedávna byl a pro mnohé stále ještě je standardem pro MP3 soubor tok 128 kb/s, zčásti snad i proto, že se pak velmi pohodlně počítá přibližná výsledná velikost souboru – 1min záznamu = 1MB. Podle kvality kompresních algoritmů použitého kodeku se pak mění subjektivní vnímání zvukové kvality při jednotlivých hodnotách datového toku – zde dobře poslouží srovnávací tabulka dvou nejznámějších formátů – MP3 a Ogg Vorbis.

subjektivní kvalitamp3ogg
AM rádio32<32
FM rádio96<64
dostačující kvalita (občasné artefakty)128-16064-128
dobrá kvalita (velmi málo artefaktů)192160
vysoká kvalita (nerozlišitelná od CD)224 - 320>192

Tyto hodnoty jsou samozřejmě orientační a mohou se lišit podle citlivosti a „naposlouchanosti“ vašeho sluchu.

Navíc můžeme při kódování zvolit kromě pevně daného konstantního bitrate (CBR), také dynamicky časově proměnný (VBR), který přidělí jednotlivým úsekům skladby různě vysoký datový tok podle náročnosti celé scény. Nevýhodou VBR je těžká odhadnutelnost velikosti výsledného souboru. Proto existuje ještě třetí možnost – průměrný bitrate (ABR). Ten se chová podobně jako VBR, tedy přiděluje jednotlivým pasážím rozdílný bitrate, avšak snaží se pohybovat okolo uživatelem přednastavené střední hodnoty.

Posledním faktorem výrazně ovlivňujícím velikost a kvalitu je počet kanálů.
Zde se můžeme setkat se čtyřmi pojmy: