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

<< Späť - Časť 4.10: Musepack (MPC) <<
^^ Hore - Kapitola 4: Prehľad stratových zvukových formátovu ^^
>> Ďalej - Kapitola 5: Prehľad bezstratových zvukových formátov >>

Časť 4.11: Kompresia hovoreného slova

Aj keď kompresné formáty spomenuté v predošlých častiach kapitoly 4 sú univerzálne a použitie nachádzajú najmä pri kompresii hudby, potreba komprimovať zvuk vyvstala z celkom iných pohnútok. S rapídnym rastom množstva účastníckych staníc telefónnych rozvodných sietí v priebehu celého dvadsiateho storočia, neskôr s príchodom mobilných sietí, ba možnosťou vysielať, archivovať, syntetizovať a analyzovať záznam ľudskej reči vznikla potreba nájsť vhodný kompresný postup, ktorý by vedel využiť danosti záznamu ľudského hlasu a signifikantne zmenšiť potrebný dátový tok, a to aj za cenu zníženia kvality (nie zrozumiteľnosti) výsledného dekomprimovaného záznamu. Veľmi nízky dátový tok je výhodný aj pri vojenskom využití komunikačných prostriedkov, kde uľahčuje šifrovanie dát a ochranu pred chybami v prenose.

V praxi sa zvyčajne na záznam a prenos hovoreného slova používa vzorkovacia frekvencia 8 kHzPozn. 1 a rozlíšenie vzorky 8 bitov (často sa použije nelineárne kvantovanie – napr. A-law v Európe či μ-law v Japonsku a USA). Bez kompresie by bol dátový tok 64 kbps, kompresia ho môže ešte výrazne zmenšiť. Jedným z najstarších spôsobom kompresie hovoreného slova je tzv. vocoder (z angl. voice coder – kodér hlasu). Vychádza z konštrukcie ľudských hlasiviekPozn. 2. Na tomto mieste si popíšeme jeho digitálnu verziu. Hlasový trakt vocoder chápe ako časovo premenlivý frekvenčný filter. Vstupom filtra je biely šum (pre nehlasové zložky reči, ako dych, sykavky a pod.) alebo pravidelná pulzná charakteristika (ktorá napodobňuje budenie, teda excitovanie hlasiviek pri vydávaní zvuku daného kmitočtu). Vhodnou analýzou krátkeho časového intervalu hlasového záznamu možno zistiť druh vstupu (šum, hlas) a parametre filtra. Vocodery sa štandardne používajú pri dátovom toku 2,4 kbps, pri ktorom je zvuk síce veľmi neprirodzený, ostáva však zrozumiteľný.

Filter, odrážajúci jednotlivé formanty, možno popísať aj na základe LPC – jej princíp je koniec koncov totožný s filtrom s konečnou impulzovou charakteristikou. Na zvolený rámec (krátky zvukový interval, pri vocoderoch 20 ms, teda 160 vzoriek) sa aplikuje dopredne adaptívna lineárna predikcia s vhodným rádom (zvyčajne 10) a koeficientmi predikcie. Pre nízky počet použitých vzoriek sa táto časť spracovania nazýva krátkodobá predikcia. Ostávajúci reziduálny signál je vlastne vstupný (budiaci) signál (zväčša tón istej frekvencie a intenzity), alebo šum (sykavky), alebo kombinácia oboch (napr. hláska „z“). O vhodnom zápise reziduálneho signálu rozhoduje jeho frekvenčná analýza – buď sa priamo popíše tón (resp. či ide o šum) a jeho intenzita, alebo sa použije vektorové kvantovanie. Výsledkom je signifikantné zníženie dátového toku. Vocodery delia zvuk len na šumový/tónový, koeficienty kódujú systémom LSP. Reziduálny signál však veľmi ovplyvňuje výsledok dekódovania; pre jeho nepresný popis znie zvuk pochádzajúci z Vocodera neprirodzene.

Novšie techniky na kompresiu zvuku viacmenej vychádzajú z algoritmu CELPPozn. 3 (angl. Code Excited Linear Prediction, lineárna predikcia excitovaná kódom). Oproti Vocoderom sa snaží popísať reziduálny signál čím presnejšie. Použitý dátový tok dosahuje zväčša 4,8 kbps, veľkosť rámca je 30 ms (240 vzoriek). Koeficienty krátkodobej predikcie sa kódujú systémom LSP. Dominantná frekvencia budiaceho tónu sa prejaví v periodicite reziduálneho signálu. Periódu možno vyjadriť vo vzdialenosti vo vzorkách, teda aktuálnu vzorku v doterajšom reziduálnom signáli možno dobre predikovať práve z hodnoty vzorky vzdialenej jednu periódu. Keďže táto vzdialenosť je omnoho vyššia než rád krátkodobej predikcie, nazýva sa tento postup dlhodobá predikcia. Výsledný reziduálny signál, ktorý zostane po oboch predikciách, sa nazýva inovácia. Kóder ho rozdelí na štyri subrámce a kóduje pomocou VQ. Každé kvantovanie inovačného signálu má však silný vplyv na dekódovaný signál, preto (v snahe zmenšiť odstup signálu od šumu, resp. zvýšiť prirodzenosť zvuku aplikovaním psychoakustického modelu) sa vykonáva opakované hľadanie najvhodnejších reprezentantov inovačného signálu z kódového slovníka vektorov.

Treba podotknúť, že na kompresiu hovoreného slova sa s obľubou (najmä pre svoju výpočtovú jednoduchosť a nízku latenciu) používa aj ADPCM.


Poznámka 1: Pri 8 kHz sa hovorí o úzkopásmovom (angl. narrowband) zvuku. Frekvenčný rozsah je zvyčajne 300-3 400 Hz. Ak je vzorkovacia frekvencia 16 kHz (rozsah 500-7 000 Hz) alebo viac, hovorí sa o širokopásmovom (angl. wideband) zvuku.

Poznámka 2: O vlastnostiach záznamu ľudského hlasu sme si hovorili v odseku 2.3.3.

Poznámka 3: Bližší popis algoritmov Vocoder a CELP možno nájsť napr. na http://www.data-compression.com/speech.html.

Odsek 4.11.1: Speex

Spomenieme si jedného zástupcu algoritmov na kompresiu hovoreného slova z dielne Xiph.orgPozn. 1Speex. Na rozdiel od väčšiny ostatných algoritmov v tejto triede je Speex opensource. Navyše, jeho ťažisko nie je komunikácia prostredníctvom mobilných sietí, ale prostredníctvom internetu (VoIP, teda tzv. IP telefónia). Dôležitá je teda jeho odolnosť voči strate paketov, nie ich poškodeniu. Ako Vorbis a FLAC, aj Speex, ak ho je potrebné uložiť do súboru, funguje v tandeme s kontajnerom Ogg (zaužívala sa prípona .spx).

Speex je založený na algoritmoch typu CELP. Má podporovať vysokú kvalitu záznamu aj veľmi nízke dátové toky (nie súčasne). Preto môže tok dát obsahovať nielen nosné úzkopásmové spektrum (vzorkovacia frekvencia 8 kHz), ale aj dodatočné informácie na rekonštrukciu širokopásmového spektra (16 kHz, ba i 32 kHz a 48 kHz). Podobne ako Vorbis, určený na kódovanie všeobecných zvukových vstupov, i „hlasový kodek“ Speex je veľmi flexibilný: poskytuje dátové toky od 2 do 44 kbps (CBR, ABR, VBR) a premenlivú komplexnosť kodéra (desať stupňov – najvyšší je výpočtovo päťkrát náročnejší, ale redukuje odstup signálu od šumu o pribl. 1-2 dB). Ďalšie črty sú stereofonické kódovanie intenzity (ostatné formáty ponúkajú len mono), detekcia hlasovej aktivity (pri VBR sa výrazne zníži dátový tok, keďže sa prenáša len informácia o „prítomnosti ticha“; v prípade vysielania sa neprenášajú dáta vôbec) a i.

Použitý rámec má 20 ms, teda 160 vzoriek. V prípade širokopásmového záznamu sa tento najprv rozdelí kvadratúrnym zrkadlovým filtrom na dva úzkopásmové záznamy. Pri dlhodobej predikcii sa využíva nielen vzorka so vzdialenosťou periódy kmitočtu, ale aj jej susedné vzorky. Latencia (časové oneskorenie kodéra) dosahuje 30 ms (pri vzorkovacej frekvencii 8 kHz) alebo 34 ms (16 kHz).

Speex sa stáva stále populárnejším riešením, keď ide o šírenie záznamov hovoreného slova cez internet. Hlavným dôvodom je jeho bezplatnosť a softvérová podpora. Domovskú stránku možno nájsť na http://www.speex.org, dokumentáciu na http://www.speex.org/manual.pdf. Prvé verzie formátu Speex vznikli v roku 2002, verzia 1.0 prišla na svet v marci 2003. Aktuálna verzia kodeku (1.1.12) je z februára 2006 a zahŕňa v sebe aj alternatívny psychoakustický model algoritmu Vorbis, zlepšujúc tak kvalitu pre vyššie dátové toky (8 kbps a viac)Pozn. 2.


Poznámka 1: P. časť 4.9 Ogg Vorbis.

Poznámka 2: P. VALIN, Jean-Marc – MONTGOMERY, Christopher. Improved Noise Weighting in CELP Coding of Speech - Applying the Vorbis Psychoacoustic Model to Speex. 2006.


<< Späť - Časť 4.10: Musepack (MPC) <<
^^ Hore - Kapitola 4: Prehľad stratových zvukových formátovu ^^
>> Ďalej - Kapitola 5: Prehľad bezstratových zvukových formátov >>

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