EFEKTIVNÍ METODY KÓDOVÁNÍ ZVUKOVÝCH SIGNÁLŮ Effective coding of sound signals Jiří Stifter * Abstrakt Příspěvek popisuje problematiku a možný způsob náhledu na dělení kódovacích technik širokopásmových zvukových signálů, jež jsou použity v telekomunikacích a současných multimediálních systémech (PASC, ISO/MPEG 1 Audio, MUSICAM, ATRAC, DOLBY AC-2, TwinVQ, IMA ADPCM). Abstract This paper describes categorization of effective coding of wideband audio and outlines some audio coding techniques used in coding of high-quality wideband audio signals. This techniques are used in telecommunication and multimedial systems at present (PASC, ISO/MPEG 1 Audio, MUSICAM, ATRAC, DOLBY AC-2, TwinVQ, IMA ADPCM). Úvod V tomto příspěvku se budeme zabývat kódováním, kompresí (s důrazem na snížením bitového toku) audiosignálů obecného charakteru. Nebudeme se zde zabývat kódovacími algoritmy navrženými pro řečový signál, které jsou založeny na modelování hlasového traktu (Source Coding, viz Obr. 4) a nejsou vhodné pro jiný signál než lidskou řeč. Do této kategorie patří např. tyto digitální kódovací metody: Linear Predictive Coding, Residually Excited Linear Prediction,Coded Excited Linear Prediction (využití např. v satelitní komunikaci, celulární komunikaci, Internetu; extrémně nízké bitové rychlosti od 2kbit/s). Volba příslušné digitální kódovací metody závisí na požadované zvukové kvalitě (max. přípustném zkreslení) při daném stupni komprese, na složitosti kodéru (enkodéru) a dekodéru (jejich ceně) a také velikosti maximálního přípustného časového zpoždění způsobeného kompresí a dekompresí, což v některých situacích může hrát podstatnou roli, případně jiných dalších faktorech. Při digitalizaci analogového audiosignálu, který zabírá frekvenční pásmo zhruba 20Hz 20kHz, při 16 bitové kvantizaci (dynamický rozsah 96dB) a při vzorkování 48kHz (většina profesionálních audio aplikací), dostáváme výsledný bitový tok 768kbit/s na kanál nebo 1,536Mbit/s pro stereosignál v případě digitální kódovací metody PCM (Pulse Code Modulation, tato metoda respektuje vstupní signál pouze z hlediska jeho dynamiky a šířky frekvenčního pásma, nevyužívá statistických vlastností vstupního signálu, které by mohly vést k úspoře bitové rychlosti), což je nejčastěji používaný způsob konverze analogového signálu do digitální podoby. Již na první pohled je zřejmé, že tento výsledný bitový tok je poměrně značný a toto může být v mnoha aplikacích jedním z omezujících faktorů (omezená kapacita paměťových médií nebo digitálních přenosových tras, případně vysoké náklady na jednotku kapacity digitální přenosové trasy). Efektivně lze tento problém řešit pouze snížením výsledné bitové rychlosti audiosignálu s co možná nejmenší ztrátou jeho kvality při dané * výzkumné Centrum nových technologií v Plzni, Katedra aplikované elektroniky, Fel ZČU Plzeň, Sady Pětatřicátníků 14, 306 14 Plzeň, e-mail: jiri.stifter@atlas.cz 104
bitové rychlosti. Protože cílovým orgánem jakéhokoliv zvukového signálu je lidské ucho, má smysl ze signálu odstraňovat tu informaci, která je pro daný účel redundantní, irelevantní a pro lidské ucho zcela nepodstatná. Principiální schématický přehled některých základních metod digitálního kódování je na Obr. 4. Kódování v časové oblasti (Time Domain Coding) Obr. 1 ADPCM enkoder a dekodér Typickým představitelem kódování v časové oblasti (TDC), kdy dochází ke zmenšení bitového toku ve srovnání s klasickou PCM, je audio kódování podle µ-zákona, A-zákona, které je přesně specifikováno doporučením ITU-T G.711. Podstata této metody je logaritmické kvantování vícebitových vstupních vzorků (např. 14b) signálu na výsledných 8b/vzorek. To pokrývá dynamický rozsah odpovídající 14 bitům při lineárním kvantování (využití v ISDN, digitální telefonní služby). Dalším významným představitelem TDC je ADPCM, viz. obr. 1. ADPCM enkodér kóduje rozdíl mezi každým vzorkem a jeho predikovanou hodnotou. Enkodér využívá většinu funkčních bloků ADPCM dekodéru pro výpočet predikované hodnoty. Výstup kvantizéru udává počet kvantizačních úrovní. Dekvantizér rekonstruuje velikost kvantovaného vzorku násobením počtu kvantizačních kroků velikostí kvantizačního kroku a případným přičtením offsetu o velikosti poloviny kvantizačního kroku. ADPCM kodér provádí adaptaci podle charakteristiky zpracovávaného audiosignálu změnou velikosti kvantizačního kroku kvantizéru nebo prediktoru, případně změnou obojího. ADPCM enkodéry produkují navíc postranní informace o velikosti kvant. kroku prediktoru nebo kvantizéru, příp. obou. Dále tyto informace slouží ke korekci chyb v bitovém toku a umožňují náhodný přístup do libovolné části bitového toku. Jedním z konkrétních příkladů je ADPCM navžená Interactive Multimedia Association (IMA), kde se dosahuje kompresního poměru 4:1. Algoritmus ADPCM IMA je navržen pro multimediální aplikace při dobré zvukové kvalitě a výhodném kompresním poměru jako čistě softwareové řešení stereodekodéru, který pracuje v reálném čase při vzorkování 44,1kHz při využití procesoru 80386/20MHz. Dalším příkladem užití ADPCM může být doporučení ITU- T G.721, G.724 (32kbit/s, 24kbit/s). Podstatnějšího snížení přenosové rychlosti audiokanálů při zachování vysoké kvality reprodukovaného signálu dosahují kompresní metody založené na analýze a kódování krátkodobých spektrálních charakteristik zdrojového signálu s uvážením psychoakustických vlastností slyšení. Tyto kompresní metody pracující v kmitočtové oblasti (SBC, TC, HC) umožňují: přímo tvarovat kmitočtové charakteristiky šumu potlačovat ty frekvenční komponenty vstupního signálu, které nejsou vnímatelné a není je proto třeba přenášet 105
díky technice rozkladu spektra zdrojového signálu na dílčí kmitočtová pásma před jeho kompresí v kodéru lokalizovat kvantizační zkreslení vznikající v určitém dílčím kmitočtovém pásmu s větší přesností kódovat dílčí spektrální komponenty důležitější z hlediska jejich vnímatelnosti na přijímači, tj. vyhradit jim při kódování větší počet bitů dynamické přiřazování počtu bitů vyhrazených pro kódování vzorků signálu řízené krátkodobou spektrální obálkou zdrojového signálu. Informace o počtu takto přiřazených bitů (označovaná jako "bit allocation information") se přenáší na přijímací stranu jako pomocná informace V závislosti na počtu spektrálních komponent, na strategii jejich kvantizace a způsobu maskování nežádoucích šumů můžeme dělit kódovací metody pracující v kmitočtové oblasti na subpásmové, transformační a hybridní. Subpásmové kódování (Sub-band Coding) Vstupní sled 16-bitových (pro studiové aplikace i 20 až 24-bitových) lineárně zakódovaných vzorků x(n.t s ) audiosignálu x(t) o vzorkovacím kmitočtu F s = 1/T s = 48 khz (nebo 44,1 khz; resp. 32 khz) se přivádí do souboru filtrů, který analyzuje zdrojový signál v kmitočtové oblasti ("time - frequency mapping"). Soubor filtrů sestává z M paralelních dílčích filtrů, které realizují rozklad spektra vstupního signálu (teoreticky od 0 do F s /2) na M dílčích vzájemně navazujících kmitočtových pásem. V limitním případě takového rozkladu, kdy bychom místo dílčích pásem získali přímo diskrétní kmitočtové komponenty spektra vstupního signálu, přechází metoda SBC na metodu transformačního kódování. Na přijímací straně se inverzní procedurou, tj. syntézou přijatých sledů vzorků x k.(m.t v ), kde k = 0, 1, 2,..., M-1, získá součtový sled vzorků x(n.t s ), který by neměl být rozeznatelný od vstupního sledu x(n.t s ). Soubor filtrů Ize řešit binární stromovou strukturou kvadratických zrcadlových filtrů QMF (Quadrature Mirror Filters). Základní struktura QMF filtrů sestává ze dvou filtrů se zrcadlovými útlumovými charakteristikami. Jeden filtr je ve funkci dolní propusti a druhý ve funkci horní propusti. Útlumové charakteristiky obou filtrů se protínají v bodě poklesu útlumové charakteristiky dolní propusti o 3 db, viz Obr. 2. Obr. 2 Útlumová charakteristika filtrů QMF Součet kvadrátů modulů přenosových funkcí obou filtrů je roven jedné. Výhodou binární stromové struktury QMF filtrů je možnost realizovat rozklad vstupního signálu do kmitočtových pásem o nestejné šířce. Nevýhodou je vysoký počet potřebných výpočetních operací a z toho plynoucí i velké hodnoty celkového zpoždění zpracovávaného signálu. 106
Soubor M dílčích filtrů se shodnou šířkou pásma f m je výhodné řešit jako polyfázovou síť. Výstupní signál každého z dílčích filtrů souboru je kriticky decimován (pro vzorkovací kmitočet F v výstupních decimovaných vzorků se volí jeho nejmenší možná hodnota rovná 2.f m ). Pro každý blok M vstupních vzorků produkuje soubor filtrů sled M výstupních vzorků. To znamená, že během doby trvání jednoho bloku každý z dílčích filtrů souboru produkuje jeden ze sumy M výstupních vzorků. Přenosové funkce H k (f) jednotlivých dílčích filtrů souboru se získají např. posunem přenosové funkce H(f) digitální dolní propusti s propustným pásmem <-f m /2, +f m /2> o násobky (2k+1).f m /2, kde k = 0,1,2,...,M-1. Digitální dolní propust řádu 512 s potlačením v nepropustném pásmu lepším než 96 db umožňuje dostatečně redukovat produkty kvantizačního zkreslení. Dílčí posuny přenosové charakteristiky H(f) dolní propusti jsou realizovány: algoritmem FFT nebo FCT (rychlá diskrétní Fourierova nebo rychlá diskrétní kosinová transformace). Tyto algoritmy umožňují redukovat počet výpočetních operací zhruba o řád ve srovnání se souborem filtrů QMF s binární stromovou strukturou. Díky konečné strmosti útlumové charakteristiky dílčího filtru dochází k nedostatečnému potlačení mimopásmových produktů spadajících do části propustného pásma sousedního filtru a tím i k výskytu nežádoucích zrcadlových produktů uvnitř propustného pásma každého z dílčích filtrů přijímače (tzv. "frequency aliasing"). Optimálním návrhem přenosové funkce H(f) základní dolní propusti společně se zavedením vhodného fázového posuvu do kosinových členů FFT nebo FCT lze však dosáhnout prakticky úplného potlačení těchto nežádoucích zrcadlových produktu na výstupu polyfázové sítě přijímače, za předpokladu zanedbatelného kvantizačního zkreslení. První SBC systémy využívaly pro kompresi signálů v dílčích pásmech algoritmus ADPCM. Příkladem je systém doporučený v dokumentu ITU-T G.722 pro kódování zvukového kanálu o šířce pásma 7 khz. Vstupní lineárně zakódované 14-bitové vzorky signálu o vzorkovacím kmitočtu 16 khz se zpracovávají ve dvou dílčích pásmech. Signál z dolního pásma v intervalu 50 Hz až 4 khz je pomocí ADPCM překódován do 6-bitových vzorků a signál z horního pásma je v intervalu 4 khz až 7 khz překódován do 2-bitových vzorků. Přenosová rychlost komprimovaného signálu je 64 kbit/s. Kompresního poměru 1:4 je dosaženo snížením redundance systému aplikací algoritmu ADPCM a využitím skutečnosti, že vyšší kmitočty jsou vnímány s menší citlivostí a pro jejich zakódování proto stačí nižší počet bitů. Dalším praktickým příkladem využití subpásmového digitálního kódování je systém Presicion Adaptive Subband Coding (PASC), který byl použit v technologii digitálního zvukového záznamu na magnetický pásek uložený v kompaktní kazetě DCC, dále pak algoritmus ISO/MPEG 1 Audio kódování podle vrstvev I a II, jehož základem je zdokonalená verze algoritmu Masking pattern adapted Universal Subband Integrated Coding And Multiplexing (MUSICAM), který se dnes již nepoužívá (přesto se však i doposud takto nesprávně označuje algoritmus MPEG) a který byl původně vyvinut jako systém zdrojového kódování v rámci projektu Eureka 147 Digital Audio Broadcasting. Transformační kódování (Transform Coding) Vstupní zakódované vzorky signálu se prostřednictvím lineární transformace převádějí na sled transformačních koeficientů. Ty jsou dále kvantovány a poté vyslány na přijímací stranu, kde se inverzní operací získá opět časový sled vzorků. Počet bitů pro kódování jednotlivých koeficientů je dynamicky přiřazován, resp. adaptován, v závislosti na krátkodobých hodnotách obálky spektra signálu a s uvážením psychoakustických vlastností slyšení. Ukazuje se, že pro kódování audiosignálů metodou TC je nejvhodnější užití 107
modifikované diskrétní kosinové transformace MDCT s 50% překrytím okénkových funkcí a kritickou decimací, viz Obr. 3. Obr. 3 Okénková funkce filtru Tento systém bývá také označován jako TDAC (Time Domain Aliasing Cancellation). Obdobně jako při překrývání útlumových charakteristik dílčích filtrů u metody SBC, vznikají i v případě transformace MDCT nežádoucí zrcadlové produkty, tentokrát však v časové oblasti. Za předpokladu zanedbatelného kvantizačního zkreslení Ize při optimálním návrhu okénkové funkce tyto nežádoucí produkty prakticky zcela potlačit inverzní transformací na přijímací straně systému. Praktickým příkladem TC je systém DOLBY AC-2, TwinVQ (Transform-domain Weighted Interleave Vector Quantization). Hybridní kódování (Hybrid Coding) Hybridní metoda využívá výhod transformačního kódování a kódování v dílčích pásmech. Kaskádním zapojením souboru filtrů a bloku lineární transformace MDCT lze zajistit flexibilní kódování různých kmitočtových složek signálu s optimální přesností. Vysokého frekvenčního rozlišení se dosahuje dalším dělením dílčích pásem souboru filtru v procesoru MDCT. Systém ATRAC firmy Sony, vyvinutý pro optický MiniDisc MD SONY, pracuje se 3 dílčími pásmy, které jsou dále zpracovávány transformací MDCT, a dosahuje se tak kompresního poměru 1:5. Nová verze ATRAC2 rozkládá signál do čtyř dílčích pásem a dosažený kompresní poměr je 1:10. Dalším příkladem může být algoritmus ISO/MPEG 1 Audio kódování podle vrstvy III. V tomto příspěvku byly stručně popsány zásadní rozdíly mezi jednotlivými technikami kódování zvukových signálů. Tato problematika (efektivita algoritmů kódování, výpočetní náročnost, subjektivní kvalita kódování, hw realizace ) je řešena ve výzkumném Centru nových technologií zřízeném při ZČU v Plzni. Literatura [1] Davis Yen Pan: Digital audio compression, Digital technical journal Vol.5 No.2, Spring 1993 [2] International standard IEC 61909, Ed.1: Audio recording systems MiniDisc, 1997 [3] International standard ISO/IEC 11172 3: Information technology Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s Part 3: Audio, 1993 108
zdroj signálu parametrické kódování (Source Coding) kódování vzorků signálu (Waveform Coding) vokodéry (Voice Coder) 1,2-2,4kbit/s srozumitelnost 80-85% APC kodeky (Adaptive Predictinon Coder) 8-16kbit/s RELP kodeky (Residually Excited Linear Prediction) 8-16kbit/s MPE kodeky (Multi-Pulse Excitation) 8-16kbit/s RPE kodeky (Regular-Pulse Excitation) 8-16kbit/s RPE/LTP kodek v systému GSM; 13kbit/s CELP kodeky (Code-Excited Linear Prediction) 2-24kbit/s Low Delay CELP kodek CCITT G.728; 16kbit/s; 2ms *názvy konkrétních realizací algoritmů (kódování) kódování v časové oblasti (Time Domain Coding) subpásmové (složkové) kódování (Sub-Band Coding) kódování ve frekvenční oblasti (Frequency Domain Coding) hybridní kódování (Hybrid Coding) skupina pulsně kódových modulací PCM -PCM -diferenciální PCM, DPCM -adaptivní DPCM, ADPCM *µ-zákon, A-zákon skupina SBC technik kódování *PASC (Precision Adaptive Subband Coding) *MPEG1 Audio L1, L2 *MUSICAM (Masking Pattern Adapted Universal Subband Integrated Coding and Multiplexing) kombinace např. SBC a TC *MPEG1 Audio L3 *ATRAC (Adaptive Transform Acoustic Coding) skupina delta modulací DM -DM -adaptivní DM, ADM metody vícecestného kódování MSC (Multipath Search Coding), kódování se zpožděným rozhodováním skupina technik transformačního kódování (TC) -Karhuen-Loeve TC -diskr. Fourierovo TC -diskr. kosinové TC, DCT, MDCT *DOLBY AC-2 *TwinVQ (Transform-domain Weighted Interleave Vector Quantization) -kódování s kódovou knihou (Codebook Coding) -stromové kódování (Tree Coding) -síťové kódování (Trellis Coding) a Obr. 4 Možné způsoby dělení metod digitálního kódování a