Úvod do metód spracovania zvuku v súčasnom multimediálnom prostredí

<< Späť - Časť 5.7: OptimFROG <<
^^ Hore - Kapitola 5: Prehľad bezstratových zvukových formátovu ^^
>> Ďalej - Časť 5.9: MPEG-4 SLS >>

Časť 5.8: MPEG-4 ALS

Táto časť práce pojednáva o štandardizovanom formáte ALS. Stručne je spomenutý jeho predchodca, formát LPAC.

LPAC (Lossless Predictive Audio Compression) vznikol ako projekt Tilmana Liebchena z Berlínskej Technickej univerzity. Išlo o jednoduchý a výpočtovo nenáročný algoritmus využívajúci lineárnu predikciu, s podporou pre viaceré platformy. Keďže neponúkal výnimočné výsledky, nikdy sa skutočne neujal. Autor však zachytil výzvu konzorcia MPEG z júla 2002 na odoslanie návrhu na algoritmus bezstratovej kompresie. Spolu sedem firiem a inštitúcií poslalo svoj návrh, pričom konzorcium nakoniec zvolilo algoritmus LPAC ako referenčný model. Výhodu hralo akademické pozadie, výpočtová nenáročnosť (s dôrazom na veľmi ľahkú hardvérovú implementovateľnosť) a spomedzi konkurencie najlepšie výsledky kompresie. (Treba však zdôrazniť, že neboli porovnateľné s výsledkami nekomerčných algoritmov ako FLAC alebo Monkey's Audio.) Zo spomenutých dôvodov sa algoritmu LPAC ďalej nebudeme venovať, keďže výskum spôsobil jeho prerod v nový štandard – ALS.

ALS (Audio Lossless Coding) bol konzorciom MPEG štandardizovaný v júli 2005. Ide o symetrický kodek založený na lineárnej predikcii. Komplexnosť dekódera je však malá, preto časová náročnosť závisí len od zvoleného rádu predikcie (teoreticky najviac 1023). K jeho črtám patrí podpora ľubovoľného PCM vstupu do rozlíšenia 32 bitov, podpora IEEE float 32, vzorkovacej frekvencie do 192 kHz, možnosť kódovania viacero kanálov a stôp až do počtu 65 536.

ALS využíva postupné zvyšovanie rádu predikcie na začiatku rámca (progresívna predikcia) – kompromis medzi úspešnou kompresiou a dátovou nezávislosťou rámcov. Prvú vzorku (nepredikovateľnú) nekóduje, na druhú a tretiu používa osobitnú tabuľku Riceovho kódovania. Na ostatné vzorky do hodnoty rádu predikcie použije rovnakú tabuľku ako v prípade ostatných reziduálov. Pri kompresii zvuku vo formáte IEEE float 32 sa postupuje nasledovne: reálne číslo sa zaokrúhli na celé, napr. 16-bitové číslo, na ktoré sa aplikujú všetky štandardné postupy predikcie. Reziduál je však reálny, tzn. prenáša sa aj exponenciálna zložka.

Kanály sa predikujú nezávislo, alebo sa použije jeden z nich spolu s ich diferenciou, podľa toho, ktorá možnosť je výhodnejšia. (Pozn: kodér v prípade viackanálového zvuku môže kanály združovať do párov.) Prvé dva koeficienty prediktorov sa kvantujú osobitným spôsobom, ostatné použitím Riceových kódov. Pri kódovaní koeficientov prediktorov jedného kanála možno kódovať len rozdiel oproti druhému kanálu, alebo ich nekódovať vôbec a použiť koeficienty z druhého kanála, a tak ušetriť prenos niekoľkých dátových položiek (za cenu zhoršenia distribúcie reziduálneho signálu v tomto kanáli). Pri kódovaní reziduálov sa opätovne využíva korelácia kanálov, a to dvoma spôsobmi: aspoň jeden kanál sa kóduje priamo (tzv. referenčný kanál), druhý sa kóduje priamo, alebo sa využije ďalšia vrstva dopredne adaptívnej lineárnej predikcie, ktorá používa ako vstup reziduály z druhého kanála – predošlý, súčasný a nasledujúci, alebo sa k týmto pridáva ešte ďalšia trojica susedných reziduálov s vhodnou vzdialenosťou v čase (ALS tak podporuje aj dlhodobú predikciu reziduálu).

Veľkosť rámca je rovnaká pre celý kódovaný vstup (2048 vzoriek pre vstup so vzorkovacou frekvenciou 48 kHz. 4096 vzoriek pre 96 kHz vstup), v prípade potreby ho však možno iteratívne deliť na bloky polovičnej veľkosti, pri ktorých možno znova rozhodovať o ďalšom delení atď. až do piatej úrovne (veľkosť bloku 32-krát menšia oproti veľkosti rámca) a v každom použiť inú tabuľku kódovania. Popri Riceových kódoch možno použiť aj kódovanie založené na BGMC (Block Gilbert-Moore Codes), ktoré navrhli vývojári z firmy Real Networks. V tomto prípade sa kódované hodnoty rozdelia na štatisticky zriedkavé, ktoré sú kódované Riceovým kódovaním, a štatisticky dominantné – pri tých sa číslice ich zápisu s menšou hodnotou prenášajú priamo, číslice s väčšou hodnotou sú prenášané upraveným aritmetickým kódovaním. Tento postup je však výpočtovo náročnejší a zvyšuje komplexnosť dekodérov.

Formát ALS je konzorciom MPEG navrhnutý ako nový štandard v bezstratovej kompresii zvuku. Široký tím profesionálov, ktorý za ním stojí, aj priemyselné konzorciá – všetci iste uvítajú otvorený formát z dielní MPEG. Účinnosť kompresie je vynikajúca, rovnako je veľmi dobrá rýchlosť kompresie i dekompresie. Formát má teda dosť kvalít, aby sa stal najlepším algoritmom na bezstratovú kompresiu zvuku. Otázny je len dopyt trhu – bezstratové formáty sú obľúbené najmä medzi nadšencami, no tí preferujú bezplatnosť. Ak sa ALS napriek licenčným poplatkom ujme, zrejme skôr či neskôr vytlačí v akceptovanosti trhom doterajšieho lídra, FLAC. Referenčný softvér (kodér, dekodér), rovnako aj dokumenty pojednávajúce o ALS možno nájsť na stránke http://www.nue.tu-berlin.de/forschung/projekte/lossless/mp4als.html.


<< Späť - Časť 5.7: OptimFROG <<
^^ Hore - Kapitola 5: Prehľad bezstratových zvukových formátovu ^^
>> Ďalej - Časť 5.9: MPEG-4 SLS >>

(c) 2006 Pavol Adam
kontakt
Powered by:
ATRIP software