Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Filmy a seriály, streamovací služby
Televize  |  Projektory
Audio a domácí kina
Multimediální centra  |  Ostatní
Svět hardware  |  Digimanie
Svět mobilně

Mezi tichem a šumem - komprese zvuku

10.9.2008, Radek Jahoda, článek
Zvuk byl v počátcích kinematografie i kvůli opojení z pohyblivých obrázků opomenut a až později nastalo nedílné spojení. Nejprve jako doprovod hudbou, pak i se synchronizací dialogů. My se přeneseme do doby, kdy nastala potřeba zvuk efektivně komprimovat.
Další skupinou kompresorů jsou ty, které pracují se signálem bez ohledu na vlastnosti lidského ucha resp. psychoakustické modely. Jde o aproximační metody, které se nesnaží na 100% zachovat stejný signál, ale snaží se mu co nejvíce přiblížit. Často ale odstraňují signály, které jsou pro lidské ucho slyšitelné a tím degradují zvuk. Přitom například při vizuálním srovnání průběhu to nemusí být patrné.

Tyto kodeky se rozvíjely hlavně v dřívějších dobách, protože jsou méně náročné na výpočetní výkon. I za tu dobu se ale dostaly do některých zařízení jako standard. Používají různé metody, některé z nich si teď přiblížíme.

DPCM
Asi nejčastější a nejsnáze implementovatelná metoda komprese. DPCM je delta (differential) pulse code modulation a její rozdíl oproti PCM je v tom, že každý vzorek neznačí aktuální hodnotu, ale rozdíl oproti předchozí hodnotě resp. proti hodnotě předpokládané. Pokud bude mít DPCM modulace stejný počet bitů jako PCM, tak jsou obě metody téměř identické resp. konvertovatelné mezi sebou beze ztráty, pak ale obě mají stejný datový tok. Kouzlo je ale v tom, že zvukový signál je spojitý a při dostatečně velkém rozdílu mezi samplovací frekvencí a skutečnou šířkou pásma signálu (tedy maximální obsažené frekvenci v signálu), tak rozdíl mezi vzorky je malý a lze zakódovat s nižším počtem bitů.



Pokud ale změna signálu bude větší, než je možné zvoleným počtem bitů zakódovat, dojde k chybě, která se může táhnout i do dalších vzorků. Například odezva na skokový signál (rychlost přeběhu) je pomalá - trvá několik hodinových taktů, než se požadovaná hodnota naintegruje.

Na obrázku je základní schéma koderu. Integrátor dělá v podstatě dekompresi, na jeho výstupu je dekódovaný signál, rozdíl této a další hodnoty jde do kvantizátoru, který snižuje počet bitů. Dekomprimace je jednoduší - stačí k tomu stejný integrátor jako v koderu.

DM
Delta modulace je variantou DPCM, když se pro kódování rozdílu použije jen jeden bit. Ten tak označuje jen menší nebo větší hodnotu, než je skutečná. Lze použít jen pro pomalu se měnící signály, takže pro zvuk se nepoužívá.

ADPCM
Adaptivní DPCM je vylepšení DPCM modulace. Rozdíl mezi skutečnou a předpokládanou hodnotou není lineární, ale většinou exponenciální. Tím se dosahuje rychlejší doby přeběhu (zvyšuje se maximální frekvence), ale snižuje se přesnost u velkých skoků (vyšších frekvencí).

DPCM a její varianty snižují datovou náročnost podle toho, kolik bitů používají pro reprezentaci rozdílových hodnot. Například nejpoužívanější počítačové kodeky MS-ADPCM a IMA ADPCM používají čtyři bity, takže redukce dat je 4:1 pro 16-tibitový vstup.

Jinou metodou, jak snížit datovou náročnost, je jednoduše snížit počet bitů, ale kvůli zachovaní dynamiky je kódování nelineární, většinou exponenciální, dekódování je pak logaritmické.

A-law
Mezinárodní standard, používaný v telekomunikacích, především v Evropě a také u mezinárodních hovorů. Používá osmibitové slovo, které má následující reprezentaci:



Na grafu vidíme, jak vypadá převodní funkce. V praxi se tato křivka aproximuje 13-tisegmentovou lineární křivkou kvůli snadnějším výpočtům (násobit a počítat logaritmus je težší).



Výhodou nelineární reprezentace je to, že lze zakódovat jak velmi malé signály, tak i větší signály - má větší dynamiku než lineární systém (PCM). Nevýhodou je, že signál s nižší hlasitostí je méně kvalitní a pokud je zvuk tvořen dvěma signály, jeden s velkou amplitudou, druhý s malou, tak druhý bude mít tendenci se ztrácet. Proto se toto kódování nehodí tam, kde k tomuto dochází. Dobře lze ale využít například pro kódování hlasu.

µ-law
Používá stejný princip jako A-law, používá se ale v USA a Kanadě. Má o něco vyšší dynamiku kvůli více skloněné křivce, ale o něco horší zkreslení.