Kompresní metody
Komprese audio signálů

Pro kompresi obecných audio signálů máme k dispozici velký počet kódovacích standardů a kompresních přístupů. Mnohé z nich se zaměřují na specifické druhy zvuku (např. řeč) anebo vlastnosti (výpočetní náročnost, zpoždění, atd.).

Vzorkovací frekvence popisuje, kolik vzorků bylo ze signálu získáno každou sekundu. Obecně platí, že čím vyšší vzorkovací frekvenci použijeme, tím přesnější, kvalitnější a věrnější nahrávku získáme. Mezi nejpoužívanější vzorkovací frekvence patří: 8 kHz, 16 kHz, 22,5 kHz, 32 kHz, 44,1 kHz anebo 48 kHz pro každý audio kanál.

### Sluchové maskování

Sluchové maskování je jev, který se projevuje v důsledku nedokonalosti lidského sluchového aparátu. Uši nejsou schopné vnímat zvuky všech různých intenzit, což je vyjádřeno pomocí tzv. absolutního prahu vnímání zvuku. Kromě toho jeden hlasitý zvuk často překryje blízko se nacházející tišší zvuk. To se může stát v časové a frekvenční oblasti, a proto maskování dělíme na:

- časové (nesimultánní) maskování
- frekvenční (simultánní) maskování

Hlasitý zvuk se označuje též jako maskér. Když se dva zvuky vyskytnou ve stejnou dobu, může nastat tzv. simultánní maskování. Maskér vytvoří práh maskování, pod kterým nebude možno vnímat žádné jiné zvuky. Když signál v blízkosti maskéra nemá dostatečnou intenzitu a padne pod práh, bude maskován. Následující obrázek ukazuje, jak maskér dokáže překrýt tichý signál ve frekvenční oblasti. Kombinace prahů maskování více maskérů a absolutního prahu vnímání vytváří globální práh maskování, který se může v čase měnit. Proces určování maskovacích prahů se označuje jako psychoakustická analýza.

Maskování ve frekvenční oblasti. Když je intenzita maskéru dostatečně vyšší než intenzita signálu a signály jsou dostatečně blízko od sebe, signál nebude slyšitelný a slyšet bude jen maskér.

Během časového, nesimultánního maskování může maskér překrývat signál, který se vyskytne těsně před (předmaskování) anebo po (postmaskování) zaznění maskéru. Opět však platí, že intenzita maskéru musí být mnohem vyšší než intenzita signálu.

Maskování v časové oblasti

Frekvenční maskování je v současnosti už prozkoumáno dostatečně přesně a má, jak později ukážeme, široké využití v mnohých audio kodecích. Na druhé straně časové maskování zatím nebylo probádané tak důsledně, v důsledku jeho poměrně krátkého trvání. Postmaskování trvá průměrně nejvíce 300 ms od skončení samotného maskéru a předmaskování trvá dokonce jen méně než 50 ms. Tyto časy jsou příliš krátké na to, aby je bylo možno důsledně analyzovat, protože kodeky pracují obvykle s rámci délky aspoň 20 ms, takže na předmaskování jsou použitelné jen 2 až 3 rámce.

## MPEG

V současnosti je většina audio kodeků založena na práci Expertní skupiny pro pohyblivý (dynamický) obraz - Motion Picture Experts Group (MPEG), která je součástí Mezinárodní standardizační organizace (International Standards Organization - ISO). Během její existence skupina uvedla několik audio formátů, které se celosvětově používají.

Jak bude dále zřejmé, kodeky z rodiny MPEG jsou založeny na ztrátovém kódování, což znamená, že modifikují původní audio signál a rekonstruovaný signál není nikdy shodný s původním.

### MPEG-1

Standard MPEG-1 představuje flexibilní kódovací techniku, která využívá vícero metod, např. subpásmové kódování, analýzu bankou filtrů, transformační kódování, entropické kódování a psychoakustickou analýzu. Pracuje se vzorkovacími frekvencemi 32, 44,1 anebo 48 kHz se 16 bity/vzorek a výstupní datový tok se pohybuje od 32 do 192 kbit/s na jeden kanál. Standard nabízí 4 režimy kódování kanálů: mono, stereo, duální mono a spojené stereo (jen vrstva III).

Architektura standardu obsahuje 3 vrstvy, které se liší výpočetní náročností, zpožděním a kvalitou výstupu. Vrstvy I (mp1) a II (mp2) jsou si podobné a liší se jen v několika detailech. Obě používají rychlou Fourierovu transformaci (fast Fourier transform - FFT), avšak vrstva I využívá okno s velikostí 512 vzorků, zatímco vrstva II používá 1024vzorkové okno. Maximálně podporované rozlišení v subpásmové kvantizaci je v případě I vrstvy 15 bitů/vzorek a v případě II vrstvy 16 bitů/vzorek. I když se tyto rozdíly zdají být minimální, ukázalo se, že vrstva II poskytuje stejnou či dokonce vyšší kvalitu výstupu při bitovém toku 128 kbit/s než vrstva I s bitovým tokem 192kbit/s na kanál.

Zevšeobecněné schéma kodéru MPEG-1 vrstva I a II

Proces komprese v obou vrstvách I a II pracuje se vstupním PCM signálem, který rozkládá na 32 subpásem. Během rozkladu se provede FFT, jejíž výstup projde psychoakustickou analýzou a určením jnd. V závislosti na prahu maskování se pro každé subpásmo stanoví nejvhodnější krok kvantování tak, aby byl dodržen požadovaný datový tok a úroveň maskování. Výstup kodéru se na závěr zakóduje Huffmanovým entropickým kódováním.

I když MPEG-1 vrstva II poskytuje přijatelné výsledky, převládajícím formátem je MPEG-1 vrstva III, všeobecně známá svojí zkratkou mp3. Vychází z vrstev I a II, přidává však mnohé nové techniky, které vedou k nižšímu datovému toku (okolo 64 kbit/s na kanál) při zachování kvality svých předchůdců.

Algoritmus pracuje s oknem 1152 vzorků, které rozdělí na dvě tzv. granule po 576 vzorcích. Každá z těchto granulí projde hybridní bankou filtrů (soustavou pásmových propustí sloužících k rozdělení vstupu na subpásma: každé subpásmo se potom může zpracovávat samostatně), aby se zvýšilo frekvenční rozlišení. Každé subpásmo se transformuje do frekvenční oblasti použitím modifikované diskrétní kosinové transformace (Modified discreet cosine transform -MDCT). Potom se iterativně provede přiřazení bitů a kvantizace: během každé iterace se procesem analýzy pomocí syntézy odhadne úroveň kvantizačního šumu.

Modifikovaná diskrétní kosinová transformace vychází z diskrétní Fourierovy transformace, je však speciálně navržena pro signály, jejichž bloky vzorků se překrývají. Vstupní signál rozkládá (transformuje) na soustavu kosinových funkcí. V porovnání s Fourierovou transformací, jejímž výstupem je soustava komplexních čísel, je výstupem MDCT soustava reálných čísel charakterizujících kosinové funkce. Kromě toho je výstupem DFT stejný počet koeficientů jako je počet vzorků vstupního signálu, zatímco u MDCT je, díky její práci s překryvem na výstupu, poloviční počet koeficientů.

Zevšeobecněné schéma kodéru MPEG-1 vrstva III

K původní vrstvě III vznikly dvě rozšíření, MP3pro a mp3 surround. MP3pro přidává techniku nazývanou replikace spektrálního pásma (Spectral Band Replication - SBR), která se používá u nižších datových toků na odstranění původních vysokých frekvencí. Ty je možné zrekonstruovat pomocí přídavných informací z komprimovaného signálu.

mp3 surround umožňuje zakódování 5.1 kanálového zvuku (5 plnopásmových a jeden nízkofrekvenční – basový – kanál) do dvou kanálů mp3. Z nich je možné zrekonstruovat 5.1kanálový zvuk pomocí postranních informací. Když dekodér rozšíření MP3pro anebo mp3 surround nepodporuje, postranní informace ignoruje a soubor přehraje jako standardní soubor mp3.

### MPEG-2

Standard MPEG-2 je formálním pokračovatelem MPEG-1. Zahrnuje 2 režimy, jeden zpětně kompatibilní s MPEG-1 (Backward Compatible, MPEG-2 BC) a druhý zpětně nekompatibilní (Non-Backward Compatible, MPEG-2 NBC), který přináší nové metody a techniky kódování.

Jedinými změnami MPEG-2 BC oproti MPEG-1 je podpora pro nižší vzorkovací frekvence (LSF) a vícekanálové kódování podobné rozšíření mp3 surround. Formát MPEG-2 NBC se též označuje jako pokročilé kódování zvuku (Advanced Audio Coding - AAC) a je sestavený jako souprava nástrojů pro efektivní kódování. Čím více nástrojů se použije, tím se dosáhne lepší komprese, přičemž kvalita výstupu zůstane zachována. Cenou je však vyšší výpočetní náročnost a zpoždění. Na rozdíl od MPEG-1 formát MPEG-2 NBC nepoužívá na analýzu signálu hybridní banku filtrů, ale jen MDCT v kombinaci s novými okenními funkcemi. Formát MPEG-2 se stal součástí rodiny standardů MPEG-4.

### MPEG-4 AAC

Formát MPEG-4 AAC se pokouší pokořit vládu formátu mp3. Přináší podporu pro vzorkovací frekvence od 8 do 96 kHz, 1 až 48 audio kanálů plus 15 basových a 15 datových kanálů s rozlišením 8, 16, 24 anebo 32 bitů/vzorek. Formát AAC s nízkou složitostí (Low Complexity – LC AAC) představuje původní kodek MPEG-2 AAC a je vhodný na kódování řeči při datovém toku 8-12 kbit/s. Formát AAC s vysokou efektivitou (High Efficiency (HE) AAC) přináší podporu technologie SBR (verze 1) a kanálového režimu parametrické stereo (verze 2), který je založen na profilu stereo standardu MPEG-1 vrstva III.

## Ogg Vorbis

Zvukový kodek Vorbis patří mezi nejúspěšnější kodeky s otevřeným zdrojovým kódem. Od roku 2000, kdy byl standardizován, se stal přímým soupeřem formátu mp3 skupiny MPEG. Podporuje vzorkovací frekvence od 8 do 192 kHz, maximálně 255 kanálů a bitový tok jeho výstupu je variabilní.

Proces kódování se odlišuje od standardů MPEG: signál se nejdříve transformuje pomocí MDCT. Ve frekvenční oblasti se určí hrubý odhad spektrální obálky (křivky, která spojuje jednotlivé amplitudové koeficienty frekvenčního spektra) pomocí lomené funkce, který se nazývá floor. Rozdíl mezi floorem a skutečným spektrem se potom zakóduje vícepřechodovou vektorovou kvantizací.

Ogg Vorbis má vyšší nároky na paměť oproti mp3, protože jeho záhlaví obsahuje kódovou tabulku entropického kódování (mp3 má tabulku pevně danou) a nastavení dekodéru. Přesto je formát velmi vhodný na kompresi obecných audio signálů a poskytuje stejnou anebo vyšší kvalitu zvuku při stejném bitovém toku jako kodek mp3.

## Windows Media Audio

Windows Media Audio (WMA) je proprietární kodek vytvořený společností Microsoft jako odpověď na licenční omezení formátu mp3. Existuje více verzí kodeků: WMA 9 je přímým soupeřem mp3 s podporou pro vzorkovací frekvence do 48 kHz se 16 bity/vzorek a výstupním datovým tokem od 64 do 192 kbit/s, podporující CBR i VBR.

Verze WMA 10 Professional rozšiřuje možnosti kodeků v souboji s MPEG-4 AAC přidáním vzorkovací frekvence 96 kHz s 24 bity/vzorek pro 7.1 kanálů. Když zařízení není schopné přehrát 7.1 nahrávku, signál se automaticky degraduje (vzorkovací frekvence, počet bitů na vzorek, snížení počtu kanálů) na úroveň vhodnou pro zařízení.

WMA 10 poskytuje též režim pro kompresi řeči nazývaný WMA 10 Voice, který poskytuje bitový tok od 4 až do 20 kbit/s. Jeho zajímavostí je schopnost dynamicky přepínat mezi řečovou a standardní verzí kodeku, když je zpracovávaný signál příliš složitý. Kromě toho WMA 10 poskytuje bezeztrátový režim, který údajně dokáže zredukovat velikost původního PCM signálu na polovinu až třetinu.

Kodek WMA 10 Professional poskytuje vyšší subjektivní kvalitu při 64 kbit/s v porovnání s MPEG-4 AAC v2 při 70% porovnání.