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

<< Späť - Kapitola 3: Digitálny svet zvuku <<
^^ Hore - Kapitola 3: Digitálny svet zvuku ^^
>> Ďalej - Časť 3.2: Digitálne kódovanie čísel >>

Časť 3.1: Problematika vzorkovania zvuku

Konverzia analógového zvuku na digitálny a späť je v podstate to najcitlivejšie miesto pri digitálnom spracovaní zvuku. Ak zmeníme analógový zvuk na digitálny hneď „na začiatku“, potom už pracujeme s diskrétnymi údajmi, číslicami. Všetko ďalej je už len jednoduchá aritmetika, ktorou môžeme zvukPozn. 1 skôr či neskôr ľubovoľne upraviť, archivovať atď. Potom, kdesi na konci procesu, môžeme zmeniť zvuk digitálny späť na analógový – bez toho, aby sme dovtedy museli bojovať s problémami spomenutými v úvode kapitoly 3.

Srdcom digitalizácie je teda analógovo-digitálny prevodník (označuje sa tiež A/D prevodník, angl. A/D converter, ADC), ktorý prevádza analógový signál na digitálne vyjadrenie. Na reprodukciu je zas potrebný digitálno-analógový (D/A) prevodník (DAC) s opačným efektom. Tie sa často z praktických dôvodov kombinujú v jednom čipe, ktorý sa označuje kodek (kóduje a dekóduje zvuk z jednej formy do druhej). (Keďže zhodným slovom možno označiť aj softvérový program prevádzajúci zvuk z jednej formy do druhej kompresiou a dekompresiou, budeme toto slovo vždy používať v kontexte.) Vyrobiť dobrý prevodník je „umenie“. Ak už zvuk máme v digitálnej forme, v práci s ním ide „len“ o vedu.

A/D prevodník vzorkuje analógový signál do číslicovej podoby. Inými slovami: v diskrétnych časových intervaloch (akoby pulzoch) meria úroveň analógového signálu (zväčša napätia, ktoré vzniká zmenou odporu mikrofónu pri zmene tlaku vzduchu v jeho okolí) a s danou presnosťou zaznamenáva, kvantuje jej hodnotu (teda zaokrúhľuje spojitý signál na diskrétne číslo). Zdanlivo ide o moduláciu (konvolúciu) pôvodného signálu signálom s pravidelnou pulznou charakteristikou, z čoho pochádza aj označenie výsledného číselného zápisu takto získaného zvuku – PCM (pulse-code modulation, teda pulzne kódová modulácia), ktorý prvý raz popísal britský vedec Alec Reeves v r. 1937.

D/A prevodníky fungujú na opačnom princípe ako A/D prevodníky. Keďže jadrom našej práce sú digitálne formáty (a preto aj skôr digitalizácia zvuku, nie prevod do analógovej podoby), nebudeme sa im bližšie venovať.

Táto časť práce obsahuje tri odseky: 3.1.1 Vzorkovanie, 3.1.2 Kvantovanie a 3.1.3 Problémy digitálneho spracovania zvuku.


Poznámka 1: V podstate nejde o zvuk v pravom zmysle slova, skôr o nejaký symbolický spôsob jeho zápisu; predsa však o ňom budeme hovoriť ako o (digitálnom) zvuku.

Odsek 3.1.1: Vzorkovanie

Vzorkovanie sa opiera o práce dvoch vedcov z amerického Bell Laboratories (vedci z tohto podniku boli viac-menej zodpovední za väčšinu už spomínaných technológií, ako mikrofón a reproduktor). Harry Nyquist najprv ukázal, že pri použití zvolenej vzorkovacej frekvencie budú v signáli zaznamené všetky kmitočty menšie než polovičná hodnota vzorkovacej frekvencie (tzv. Nyquistova frekvencia). Problém však môže nastať pri reprodukcii tohto záznamu: v dôsledku aliasinguPozn. 1 vznikajú kmitočty, ktoré v pôvodnom zázname neboli prítomné. Napr. pri vzorkovacej frekcencii 10 kHz má 3 kHz sinusoida reprezentáciu zhodnú so 7 kHz sinusoidou (obidve sú vzdialené o rovnaký diel od Nyquistovej frekvencie – zrkadlenie), 13 kHz sinusoidou (vzorkovacia frekvencia + 3 kHz) atď. Claude Shannon preto navrhol odfiltrovať kmitočty vyššie než Nyquistova frekvencia (ešte pred záznamom a aj pri samotnej reprodukcii), čím by sa zabránilo vzniku nežiaducich javov.

Frekvencie však nemožno od istého momentu len tak „odrezať“, elektronické súčiastky dovolili len spojitú frekvenčnú charakteristiku filtra, tzn. od Nyquistovej frekvencie by dochádzalo k útlmu, úplné vynulovanie signálu by však prišlo až s podstatným zvýšením kmitočtu signálu. Pre tento plynulý priebeh sa miesto vzorkovacej frekvencie 40 kHz (dvakrát hodnota najvyššej frekvencie, ktorú človek môže počuť) vyberali vyššie hodnoty – zväčša 44,1 kHzPozn. 2. Frekvenčný filter mal potom pokles charakteristiky v rozsahu 21 - 23 kHz, teda prípadné deformácie v signáli vznikali už v nepočuteľnej oblasti ultrazvuku.

Skonštruovať takýto filter by však bolo neúmerne náročné. V rozsahu 20 Hz až 20 kHz treba zachovať aspoň približnú linearitu, potom musí nasledovať náhly pokles. Riešením je prevzorkovanie (angl. oversampling), teda zdanlivá zmena vzorkovacej frekvencie. Pomocou interpolácie možno zo vzorkovaného záznamu získať hodnoty v čase, keď ku vzorkovaniu nedošlo – použitím hodnôt susedných vzoriek. Ak sa takýmto spôsobom zvýši zdanlivá vzorkovacia frekvencia, hovoríme o nadvzorkovaní (angl. upsampling), ak zníži, ide o podvzorkovanie (downsampling). Vyfiltrovanie vysokých frekvencií teda môže prebiehať nasledovne: záznam navzorkovaný frekvenciou 44,1 kHz sa interpoláciou nadvzorkuje na štvornásobnú frekvenciu (176,4 kHz), použije sa nízkofrekvenčný priepust s takmer lineárnou frekvenčnou charakteristikou (v praxi neexistuje ideálny filter) pod 20 kHz a s poklesom od 20 kHz po 156,4 kHz. Parazitické frekvencie od 156,4 kHz do 176,4 kHz (prvý, zrkadlový aliasingový obraz počuteľného spektra) a vyššie (napr. 176,4-196,4 kHz – druhý aliasingový obraz počuteľného spektra, 332,8-352,8 kHz – tretí, zrkadlový obraz atď.) teda budú zo signálu odstránené.

Podobne aj pri podvzorkovaní treba zamedziť vplyvu aliasingu. Riešením je odfiltrovanie frekvencií vyšších než novozamýšľaná Nyquistova frekvencia. Táto kombinácia nízkofrekvenčného priepustu a podvzorkovania sa nazýva tiež decimácia.

Zvyčajne sa používajú vzorkovacie frekvencie 44,1 kHz a 48 kHz, v novších, najmä profesionálnych zariadeniach je to 96 kHz, dokonca i 192 kHz (v kombinácii s 24-bitovým kvantovaním sa takýto zvuk nazýva zvuk s vysokým rozlíšením, angl. High Definition Audio, HD Audio).


Poznámka 1: Aliasing je jav pri vzorkovaní signálu (obrazu, zvuku), keď sa rôzne druhy signálov stanú od seba neodlíšiteľnými. V tomto prípade by kmitočty presahujúce Nyquistovu frekvenciu mohli byť po vzorkovaní zhodné s frekvenciami nižšími, ktoré neboli v pôvodnom signáli. Ako príklad môže poslúžiť snímanie kamerou saka s husto mriežkovanou vzorkou – na televíznych obrazovkách sa toto sako zrazu akoby „hmýri“ čiernymi a bielymi útvarmi.

Poznámka 2: Zvláštnosťou je pôvod tejto frekvencie. Na začiatku osemdesiatych rokov boli na trhu prakticky len analógové médiá a jediný spôsob výmeny digitálneho (PCM) záznamu zvuku v analógovej forme bolo použiť štandardnú videokazetu (keďže takýto záznam potreboval vysoký frekvenčný rozsah – a videokazeta poskytovala vysoký dátový tok). Zariadenia (používané len v profesionálnej sfére) označované ako „PCM adaptory“ konvertovali analógový zvuk do PCM reprezentácie a späť do vysokofrekvenčnej analógovej formy. Do jedného obrazového riadku sa uložilo 96 bitov informácií, čo pri počte riadkov (294) a polí za sekundu (50) v štandarde PAL znamenalo 44 100 vzoriek na každý kanál pri 16-bitovej hĺbke. Pri návrhu formátu zvukového CD sa rátalo s tým, že medzi nahrávacím štúdiom a lisovňou CD sa nahrávka prenesie práve na takejto videokazete.

Odsek 3.1.2: Kvantovanie

Samotné zmeranie aktuálnej úrovne signálu (teda získanie vzorky v danom časovom okamihu, vyjadrenie jej kvantity) sa musí vykonať s istou presnosťou, keďže chceme získať jej číslicový zápis, aby sme tak dostali zvuk z analógového (spojitého) prostredia do digitálneho. Súčasné digitálne systémy sú binárne, preto je potrebné zaznamenať údaj binárnym číslom nejakej dĺžky. Táto dĺžka sa nazýva rozlíšenie vzorky alebo bitová hĺbka vzorky. Prvotné zvukové systémy mali rozlíšenie 8 bitov (teda zaznamenaná úroveň bola vyjadrená celými číslami v rozsahu -128 a 127, dokopy 256 = 28 úrovní). Súčasné systémy používajú skôr 16 bitov (65 536 úrovní), lepšie 20 bitov (vyše milióna úrovní) a 24 bitov (vyše 16 miliónov úrovní), profesionálne dokonca 32 bitov (vyše 4 miliardy úrovní). Vo všeobecnosti možno tieto úrovne chápať ako rovnomerné delenie intervalu <−1,+1> , vyjadrujúceho hraničné hodnoty signálu podporované zariadením (úplný rozsah, angl. full scale). Zjavne platí. že každý ďalší bit zdvojnásobuje počet hodnôt v rozsahu, teda každý ďalší bit rozlíšenia znamená rozšírenie dynamického rozsahu o 6 dB (akustický výkon a intenzita zvuku sú kvadraticky závislé od akustického tlaku, teda aj napätia v obvode). Dostávame tak rozsah 48 dB pre osembitové, 96 dBPozn. 1 pre šestnásťbitové zariadenia. (Teda najtichší zaznamenateľný zvuk má intenzitu -96 dB oproti úplnému rozsahu.) Treba spomenúť aj existenciu zápisov s pohyblivou desatinnou čiarkou. Najrozšírenejší je tzv. IEEE float 32 (ANSI/IEEE Std. 754-1985), čo je tridsaťdvabitové číslo (24 bitov na mantisu), existuje i formát s dĺžkou 64 bitov. Používa sa však len v špecifických prípadoch (kvalita 24 bit je normálne dostačujúca), hlavne pre ľahké spracovanie počítačom (v procesore sú registre na prácu s číslami tohto formátu).

Pri kvantovaní je aktuálna úroveň zaokrúhlená k najbližšej hodnote prítomnej v danom delení (rozlíšení). Vzniká chyba zo zaokrúhlenia – kvantovací šum (angl. quantization noise), keďže sa táto chyba prejavuje v každom (diskrétnom) časovom okamihu a vytvára vo všeobecnom prípade biely šum. Ak ide o rovnomerné delenie (väčšina prípadov), odstup jednotlivých kvantovacích hodnôt (alebo rozdiel medzi nimi) sa nazýva kvantovací krok alebo kvantovací interval.

Historicky pôvodný spôsob kvantovania signálu je použiť komparátor, ktorý porovnáva úroveň vstupného signálu s referenčnou hodnotou. Ak je signál väčší, zvýši referenčnú hodnotu (počnúc najvyšším, najvýznamnejším bitom hodnoty – ten nastaví na jednotku), ak nižší, zníži ju (vynuluje bit). Porovnávanie sa teda realizuje mnohokrát za sekundu, v závislosti od rozlíšenia vzorky a vzorkovacej frekvencie. (Objavuje sa aj problém nestability signálu počas určovania hodnoty bitov jednej vzorky.)

Predstavme si však, že komparátor porovnáva vstupný signál s hodnotou predtým vyjadrenej úrovne signálu. Výsledkom sú dva stavy: 1, ak treba hodnotu oproti predošlej zvýšiť (keďže vstupný signál je už vyšší), 0, ak znížiť (naopak). „Predtým vyjadrenú úroveň“ pritom vypočítame ako súčet binárnych hodnôt výstupu vo zvolenom časovom okne. Výhody sú jasné – jednoduchá konštrukcia umožňuje vyššiu vzorkovaciu frekvenciu, navyše máme rýchlejší cyklus (jedno porovnávanie na vzorku miesto 8 alebo 16). Výsledkom kvantovania je však tok jednobitových informáciíPozn. 2, teda teoreticky je kvantovací šum na úrovni -6 dB oproti úplnému rozsahu (½ bitu), čo je veľmi vysoké číslo! Treba však myslieť na to, že energia bieleho šumu je rovnomerne rozložená medzi frekvenciami menšími než Nyquistova frekvencia. Pri zvolení vysokej vzorkovacej frekvencie (zvyčajne 64×44,1 kHz, teda 2 822,4 kHz) je drvivá väčšina šumu prítomná v ultrazvukových frekvenciách. Na výstupe zariadenia je decimátor, ktorý podvzorkuje signál na zvolenú vzorkovaciu frekvenciu a rozlíšenie. Tento spôsob kvantovania, ktorý v súčasnosti (vlastne už od roku 1989) prevažuje nad pôvodným použitím komparátora, sa nazýva delta-sigma modulácia.

Navyše, pri kvantovaní sa používa aj rozptyľovanie (angl. dithering zo staroanglického didderen, triasť sa). Kvantovací šum nemusí byť totiž len šumom. Ak je vstup nejakým spôsobom korelovaný (vo väčšine prípadov je), kvantovací šum sa prejavuje skôr ako harmonické skreslenie. Rozptyľovanie znamená náhodne zmeniť úroveň signálu v rozsahu kvantovacieho kroku ešte tesne pred jeho zmeraním. Biely šum sa teda do zdroja dodáva pred kvantovaním, a to úmyselne. Že táto technika prináša dobré výsledky, vidno v oblasti grafiky. Miesto toho, aby bolo konkrétne číslo vždy zaokrúhlené tým istým smerom, je toto zaokrúhľované medzi susedné hodnoty tak, že štatisticky je interpretované svojou pôvodnou hodnotou. Pri technike rozptyľovania možno využiť i spätnú väzbu a nasledujúcu dodanú chybu upraviť podľa chyby predošlej vzorky, na čom je založené tzv. tvarovanie šumu (noise shaping), ktoré bližšie nebudeme rozoberať. Využíva sa v spomenutých delta-sigma modulátoroch, aby frekvenčnú charakteristiku kvantovacieho šumu ešte viac potlačilo smerom k ultrazvuku.


Poznámka 1: Skutočný dynamický rozsah sa zväčša využíva len v záznamoch klasickej hudby či vystúpení virtuózov. V populárnej hudbe sa výsledný dynamický rozsah znižuje použitím akustickej kompresie.

Poznámka 2: Štandardné techniky kódovania takýchto tokov zahŕňajú Pulse Width Modulation (PWM) a Pulse Density Modulation (PDM) odlišnej konštrukcie, predsa s možnosťou rovnakého dekódovania. Bližšie sa im nebudeme venovať.

Odsek 3.1.3: Problémy digitálneho spracovania zvuku

V digitálnom svete zvuku sa nepotrebujeme pasovať s problémami, ktoré sme mali vo svete analógovom, aj keď sa im v konečnom dôsledku úplne nevyhneme, keďže potrebujeme zvuk prevádzať z jedného „sveta“ do druhého. Práve pri tom prevode sa objavujú problémy preň špecifické.

Prvým je šum. Vzniká v každom obvode, preto aj v prevodníkoch (A/D aj D/A). Pôsobí nezávisle od kvantovacieho šumu.

Druhým je časové chvenie, nestálosť (angl. jitter). Časový odstup medzi jednotlivými pulzmi vzorkovacej frekvencie nie je konštantný (závisí od kvality kryštálového oscilátora v A/D či D/A prevodníku, no žiaden nie je dokonalý). Vznikajú preto skreslenia vo frekvenčnej charakteristike výsledku.

Ďalším je presnosť vzorkovacej frekvencie. Ak si dve digitálne zariadenia vymieňajú dáta, unikátnosť kryštálových oscilátorov spôsobuje synchronizačné problémy. Jedno zariadenie musí občas čakať na dáta toho druhého, čím vznikajú medzery v signáli, resp. nestíha za druhým zariadením – vtedy zas dochádza k zahodeniu časti dát, akoby preskakovaniu. Treba podotknúť, že tento problém sa dá riešiť systematicky vhodnými časovacími alebo synchronizačnými postupmi (na úrovni komunikácie zariadení), navyše sa vyskytuje zriedka (väčšinou prebieha spracovanie zvuku na jednom komplexnom zariadení, napr. počítači, bez nutnosti komunikácie).

Aspekty spomenuté v predošlých odstavcoch možno merať – a to je asi jediné, čo ich so skresleniami prítomnými v analógovom svete zvuku spája. Ostatné aspekty, „problémy“, sú skôr vecou špecifikácie (rozlíšenie vzorky, vzorkovacia frekvencia).


<< Späť - Kapitola 3: Digitálny svet zvuku <<
^^ Hore - Kapitola 3: Digitálny svet zvuku ^^
>> Ďalej - Časť 3.2: Digitálne kódovanie čísel >>

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