Bakalářská práce
Ondřej Hüttl
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav radioelektroniky
PROGRAM NA PREZENTACI KÓDOVÁNÍ AKUSTICKÝCH SIGNÁLŮ bakalářská práce
Studijní obor:
Elektronika a sdělovací technika
Jméno studenta:
Ondřej HÜTTL
Vedoucí bakalářské práce:
doc. Ing. Milan Sigmund, CSc.
Bakalářská práce
Ondřej Hüttl
Úvod Zpracování audio signálů lze obecně rozdělit na několik fází. První fází je digitalizace, která zajišťuje převod signálu do číslicové podoby. Zpracovávaný signál z výstupu mikrofonu je vzorkován, kvantován a kódován. Kódování zahrnuje postupy zdrojového kódování, které odstraňují redundanci obsahu digitalizovaného signálu. Tím lze dosáhnout komprese dat, která zajistí vyšší efektivitu dalších operací, například přenosu nebo uložení dat. Uložení dat je proces, při kterém jsou vlastní audio data zapsána do paměťového systému za účelem archivace. Aby byla data použitelná k obnově audio signálu, je potřeba uchovat i informace o předchozím zpracování signálu. Ukládají se tedy informace především o vzorkovací frekvenci, počtu bitů užitých k vyjádření velikosti jednoho vzorku, užitém zdrojovém kódovaní a dále například informace o počtu kanálů a podobně. K uložení všech těchto informací a vlastních audio dat v počítačích jsou využívány různé formáty audio souborů, jejichž vlastnosti a struktura jsou přesně definovány tak, aby byla zajištěna přenositelnost souborů. Tato práce pojednává o nejčastěji používaných metodách kódování akustických signálů, a to jak řečových, tak i jakostních audio signálů. Největší důraz byl kladen na představení, vysvětlení a porovnání logaritmických metod pulzně kódové modulace A-Law a µ-Law. Dále jsou představeny počítači běžně používané formáty audio souborů.
1
Základní principy zdrojového kódování
Kodér zdroje signálu [1] realizuje proces zdrojového kódování. Na jeho vstup přicházejí z diskrétního zdroje bez paměti digitalizovaná data, v podobě sekvence binárních symbolů (kódových slov) s(n), která se mohou vyskytovat s různou pravděpodobností p(n), kde n = 0, 1, …, N-1; (pokud primární zdroj signálu poskytuje analogový signál, je ho nutné nejprve převést do digitální podoby). Sekvence s(n) je v kodéru zdroje konvertována do jiné binární sekvence c(n). V případě, že je každému symbolu s(n) přiřazeno kódové slovo složené vždy ze stejného počtu symbolů c(n), označuje se daný zdrojový kód jako kód s fixní délkou slova FLC (Fixed Length Codeword). Má-li však být uvedená konverze efektivní, je výhodné znát statistické vlastnosti diskrétního zdroje signálu. Jestliže jsou potom některé zdrojové symboly více pravděpodobné než jiné, je možné využít této skutečnosti v procesu kódování a více frekventovaným symbolům přiřadit kratší kódová slova. Takový zdrojový kód se označuje jako kód s proměnnou délkou slova VLC (Variable Length Codeword). Má několik variant, z nichž optimální je např. kód založený na Huffmanově metodě entropického kódování. Účinný zdrojový kodér by měl splňovat několik funkčních podmínek. Předně by jeho výstupní kódová slova měla mít binární podobu. Kromě toho je žádoucí, aby se dekódování uskutečňovalo jednoznačně, tj. ze zakódované binární sekvence c(n) musí být možné získat dekódováním pokud možno jednoznačnou repliku původní sekvence s(n), přicházející na vstup kodéru. Jednou z nejdůležitějších úloh zdrojového kodéru je potom potlačení redundantní (nadbytečné) složky obsažené v přenášeném sdělení a dále složky irelevantní (nepodstatné), které potom vede k redukci bitové rychlosti přenášeného signálu. V digitálních přenosech dat je redundance (nadbytečnost) definována jako větší množství dat, než je množství nezbytně nutné pro přenos dané informace vzhledem ke ztrátám v komunikačním kanálu. Je to tedy množství znaků nebo symbolů, resp. bitů v odpovídajícím digitálním signálu, které je možné eliminovat, aniž by došlo ke ztrátě užitečné informace. Redundance představuje predikovatelnou část sdělení, a proto může být na přijímací straně
Bakalářská práce
Ondřej Hüttl
téměř dokonale regenerována. Irelevance je definována jako nepodstatná složka informace, kterou je možné ve zdrojovém kodéru zcela potlačit a dále již nepřenášet, neboť příjemcem na přijímací straně stejně nemůže být vnímána.
2
Přehled metod zdrojového kódování elektroakustických signálů
Systémy pro zdrojové kódování elektroakustických signálů lze hodnotit podle šířky zpracovávaného kmitočtového rozsahu elektroakustických signálů, respektive dle šířky pásma, které je schopen reprodukovat dekódovaný signál na přijímací straně. Šířka pásma je veličina, která přímo koresponduje s kvalitou přenosu, a tím předurčuje konkrétní aplikace jednotlivých systémů. S šířkou pásma potom souvisí vzorkovací kmitočet použitý při digitalizaci těchto signálů, bitový kmitočet zakódovaného signálu PCM (pulzně kódová modulace) a další parametry. Nejméně kvalitní skupinou elektroakustických signálů jsou ty, které se používají u telefonů a radiotelefonů a mají horní kmitočet nejvýše asi 4 kHz („telephone quality“). V některých aplikacích, jako jsou videokonferenční přenosy apod., je nutné přenášet již jakostnější širokopásmové hovorové signály s horním kmitočtem až asi 7 kHz („wideband speech“). V perspektivních systémech digitálního rozhlasu a televize, ale i v řadě dalších odvětví elektroakustiky, označovaných souborným termínem „audio aplikace“, se potom vyžaduje nejvyšší jakost přenosu („CD-quality“), s maximálním přenášeným kmitočtem okolo 20000 Hz. Přehled o základních parametrech [1], [6], [7] těchto skupin elektroakustických signálů podává Tab. 1. Třída akustických signálů telefonní signály širokopásmové telefonní signály středopásmové audiosignály širokopásmové audiosignály
kmitočtový rozsah [Hz] 300–3400 EU 200–3200 USA 50–7000
vzorkovací rychlost [kHz/s] 8
počet bitů na vzorek 8
přenos. rychlost PCM [kbit/s] 64
16
8
128
20-11000
24
2x384
20-15000 20–20000 20-22000
32 44,1 (CD kvalita) 48
2x16 (stereo) 2x16 (stereo)
2x512 2x705,6 2x768
Tab. 1 Hlavní parametry tří základních skupin elektroakustických signálů Uvedené skupiny lze dále dělit do řady podskupin, například v telefonní technice se používá subjektivní míra hodnocení přenášených hovorových signálů, označovaná jako kritérium MOS (Mean Opinion Score), která má 5 stupňů kvality: 5 = vynikající, 4 = dobrá, 3 = přijatelná, 2 = špatná, 1 = nepřijatelná. Kvalita 4 se označuje jako „hovorová“, kvalita 3 až 4 jako komunikační a kvalita 3 a méně jako „syntetická“.
Bakalářská práce
3
Ondřej Hüttl
Metody a standardy zdrojového kódování řečových signálů
Zdrojové kodéry hovorových signálů lze podle jejich technických koncepcí dělit do třech základních skupin [1]. První z nich jsou kodéry tvarového průběhu (Waveform Coders), druhou tvoří vokodéry (Vocoders, tj. Voice Coders), označované také jako zdrojové hovorové kodéry. Do třetí skupiny náleží hybridní kodéry, které vznikají vhodnou kombinací obou základních skupin.
Obr. 1 Klasifikace kodérů pro zdrojové kódování elektroakustických signálů, určených pro aplikace v telefonní a radiotelefonní technice
4
Kodéry tvarového průběhu
Kodéry tvarového průběhu sledují především splnění jedné základní podmínky – dosažení co nejdokonalejší shody tvarových průběhů analogových signálů na výstupu dekodéru s průběhy na vstupu kodéru. Přitom zpravidla nikterak nevyužívají specifické vlastnosti kódovaného signálu (např. fyziologické vlastnosti sluchu apod.), a jsou proto použitelné nejen pro hovorové signály, nýbrž i pro videosignály apod. Tato skupina se dále dělí na kodéry s kódováním v časové oblasti a na kodéry s kódováním v kmitočtové oblasti.
4.1 Kódování řečových signálů v časové oblasti V časové oblasti je digitální audiosignál reprezentován posloupností vzorků, které byly získané vzorkováním analogového signálu. Velikost vzorkovací frekvence vychází ze vzorkovacího teorému autorů Shannon, Kotělnikov:
f MAX ≤
fVZ , 2
(1)
kde fVZ je vzorkovací frekvence, fMAX je nejvyšší frekvence, která se vyskytuje ve zpracovávaném signálu.
Bakalářská práce
Ondřej Hüttl
Vstupní signál musí být před číslicovým zpracováním frekvenčně shora omezen hodnotou fMAX. Všeobecné blokové schéma kodéru a dekodéru řečového signálu v časové oblasti [6] je na Obr. 2, kde s(n) je posloupnost kvantovaných vstupních vzorků signálu, y(n) je zpracovaný signál vstupující do kodéru a c(n) je posloupnost kódovaných vzorků. Dekodér obsahuje bloky, realizující operace inverzní oproti kodéru. Na jeho vstup přichází kódovaný signál c(n) a vystupuje z něho dekódovaný signál s(n). Kodér
Dekodér
Obr. 2 Blokové schéma kodéru a dekodéru řečového signálu v časové oblasti
Mezi základní metody kódování v časové oblasti [6] (tzv. waveform coding) patří: Přímé: - pulzně kódová modulace PCM Diferenciální: - modulace delta DM - adaptivní modulace delta ADM - diferenční PCM (DPCM) - adaptivní DPCM (ADPCM)
4.2 Lineární pulzně kódová modulace PCM Metoda s přímým (nediferenciálním) kódováním byla v roce 1938 patentována H. A. Reevesem a dodnes je mezinárodním standardem pro přenos, zpracování a archivaci řečových, ale i hudebních audiosignálů. Její princip znázorňuje Obr. 3:
Obr. 3 Princip kódování PCM Signál je po omezení DP filtrem (Antialiasing filtr s mezní frekvencí fMAX podle (1)) vzorkován vzorkovacím obvodem s frekvencí fVZ zvolenou s ohledem na (1) a šířku přenášeného pásma. Tedy např. fVZ = 8 kHz, pro telefonní řečový signál s frekvenčním pásmem 300 – 3400 Hz.
Bakalářská práce
Ondřej Hüttl
Dalším krokem je kvantování vzorků kvantizačním obvodem, tj. zaokrouhlení hodnoty vzorku na hodnotu jedné z hladin, daných počtem bitů kódového slova. Počet těchto hladin souvisí s počtem bitů kódového slova takto [7]:
m = 2N ,
(2)
kde m je počet kvantovacích hladin, N je počet bitů kódového slova. V posledním bloku – kodéru je každému kvantovanému vzorku přiřazen binární kód, čímž vzniká posloupnost kódových slov c(n). Celému tomuto procesu se říká A/D převod. Podle doporučení CCITT G.711 se pro telefonní pásmo používá N = 8 (256 kvantovacích hladin), což při fVZ = 8 kHz znamená datový tok 64 kb/s. Maximální počet smysluplných kvantizačních úrovní, tedy reálný počet rozlišitelných amplitudových úrovní signálu m, je dán [8] maximálním výkonem signálu a středním výkonem poruch v signálu podle Shannona: m = k 1+
PS , PP
(3)
kde k je konstanta typu šumu, PS je maximální výkon signálu, PP je střední výkon poruch. Obnovení analogového signálu z PCM vzorků spočívá v opětovném vytvoření posloupnosti amplitudově modulovaných vzorků s(n), které jsou dále transformovány na spojitý signál s(t) průchodem kvantovaného signálu s(n) filtrem typu DP se stejnou mezní frekvencí, jakou měl filtr na vstupu před vzorkováním a kvantizací původního signálu. Obnovený signál je pak za předpokladu, že byla správně rozpoznána všechna kódová slova, shodný (až na kvantizační chybu) jako byl původní vstupní signál s(t). Základní výhodou PCM oproti analogovému signálu je odolnost proti rušení, nevýhodou je požadavek širšího frekvenčního pásma a vznik kvantizační chyby [6], jejíž největší hodnota je: q MAX =
1 ∆, 2
(4)
kde ∆ je velikost kvantizačního kroku, která odpovídá rozdílu hodnot dvou po sobě jdoucích hladin. Pulzně kódovou modulaci PCM můžeme podle rozložení kvantizačních hladin dělit na: - Lineární PCM - Nelineární (logaritmickou) PCM Lineární PCM
rovnoměrně (uniformně) kvantuje celý rozsah signálu do m kvantizačních hladin, používá přitom stejně velké kvantizační kroky ∆. Dynamika (rozsah) zpracovatelného vstupního signálu tedy závisí na počtu hladin m a velikosti kroků ∆. Počet kvantizačních kroků ovlivňuje i velikost kvantizační chyby. Při větším m se sice snižuje kvantizační šum, ale zvyšují se nároky na přenosovou rychlost.
Bakalářská práce
Ondřej Hüttl
4.2 Logaritmická PCM je jednou z prvních metod, vyvinutých v USA ke komprimaci zvuku. Využívá logaritmického vnímání hlasitosti lidského sluchu [6], které způsobuje, že změna intenzity je více vnímána při nízkých úrovních signálu. Dalším důvodem [8] je obvyklé rozložení okamžitých hodnot řečového signálu, které připomíná průběh gama kolem střední (nulové) hodnoty. Metoda spočívá buď v nerovnoměrném rozložení velikostí kvantizačních kroků, které se směrem k větším amplitudám vstupního signálu zvětšují. Více časté vzorky s nižší intenzitou pak budou zakódovány s vyšší přesností, než méně často se vyskytující vzorky s vyšší intenzitou hlasitosti. Dalším způsobem zvýšení informativní účinnost kódování signálu může být zpracování signálu logaritmickým kompandérem, který je předřazen uniformnímu kvantizéru. Tato operace více zesílí malé hodnoty okamžitých výchylek signálu, velké hodnoty výchylek signálu jsou zesíleny jen nepatrně. Zesílené malé hodnoty, které jsou lidským sluchem vnímány mnohem přesněji než větší hodnoty, jsou tak vlastně následujícím uniformním kvantizérem zakódovány s větší přesností, než kdyby kompanze nebyla provedena. Pro kvalitní kvantizaci pak postačí méně bitů. Při obnovování signálu je za dekodérem zařazen expandér, který obnoví původní rozsah signálu a vrátí vzorkům správný poměr intenzit. Převodní amplitudová charakteristika kompandéru se nazývá kompresní charakteristika, převodní amplitudová charakteristika expandéru se nazývá expanzní charakteristika a má inverzní průběh ke kompresní charakteristice.
Obr. 4 Princip kódování signálu PCM s využitím logaritmické kompanze
Obr. 5 Princip dekódování logaritmicky kompandovaného signálu PCM V mezinárodním telekomunikačním standardu ITU G.711 jsou definovány 2 nejčastěji používané kompresní charakteristiky: - µ-Law - A-Law.
Bakalářská práce
Ondřej Hüttl
4.3.1 µ-Law je nejčastěji používanou metodou nelineárního kódování v USA a Japonsku. µ-Law (µ-předpis, µ-zákon) je někdy také označován jako u-Law, nebo mu-Law. Jeho kompresní charakteristika je vyjádřena [4],[9]: y (n) = sgn(n) ⋅
log(1 + µ ⋅ s (n) ) log(1 + µ )
,
(5)
kde y(n) je výstupní posloupnost kompandovaných vzorků, s(n) je posloupnost vstupních vzorků z intervalu -1 až +1, sgn(n) je znaménková funkce, která nabývá hodnot -1 pro zápornou hodnotu s(n) a +1 pro kladnou hodnotu s(n), µ je parametr, určující míru komprese. Expanzní charakteristika je dána vztahem [4]: s (n) = sgn(n) ⋅
1
µ
[
⋅ (1 + µ )
y ( n)
]
−1 .
(6)
Hodnota parametru µ se může pohybovat v širokém rozmezí, ale nejlepších výsledků [4] se dosahuje při použití hodnoty 255, proto je tato hodnota nejpoužívanější. Průběhy kompresních charakteristik pro různé hodnoty µ podle (5) jsou na Obr. 6. Pro praktické použití se často využívá aproximace kompresní charakteristiky [6] přímkovými úseky a určení kvantizačních kroků ∆ pro jednotlivé úseky. Při použití osmi segmentové aproximace a čtyř bitového kvantování každého segmentu, je každý segment rozdělen na 16 subsegmentů s celkovým počtem 128 subsegmentů. Při uvažování i záporné části kompresní charakteristiky (na obrázcích je znázorněna vždy jen kladná část) získáváme 256 segmentů, což odpovídá 8 bitové kvantizaci. Příklad přímkové aproximace je uveden na Obr. 7. Kompresni charakteristika mu-Law 1 0.9 0.8 5 0.7
4 3
y(n)
0.6
2
0.5 0.4
1: 2: 3: 4: 5:
1
0.3 0.2
mu = mu = mu = mu = mu =
0 10 100 255 500
0.1 0
0.1
0.2
0.3
0.4
0.5 s(n)
0.6
0.7
0.8
Obr. 6 Průběhy kompresních charakteristik metody µ-Law
0.9
1
Bakalářská práce
Ondřej Hüttl
Z porovnání charakteristik pro různé hodnoty µ je zřejmé, že nízké úrovně signálu jsou zesilovány tím více, čím větší hodnotu µ kompandér používá. Pro µ = 0 ke kompanzi nedochází. Primkova aproximace kompresni charakteristiky mu=255 1 0.9 0.8 0.7
y(n)
0.6 0.5 0.4 0.3 0.2 0.1 0
0.1
0.2
0.3
0.4
0.5 s(n)
0.6
0.7
0.8
0.9
1
Obr. 7 Aproximace kompresní charakteristiky µ-Law přímkovými úseky Kompresní charakteristika na Obr. 7 je aproximací kompresní charakteristiky kompandéru metody µ-Law pro µ = 255. Charakteristika je aproximována osmi lineárními úseky. Svislá osa y(n) výstupních hodnot i vodorovná osa s(n) vstupních hodnot jsou rozděleny na osm částí. Osa y(n) je rozdělena na stejné díly o velikosti 1 , osa s(n) je 8
rozdělena na díly velikostí 17 , 2
1 , 27
1 , 26
1 , 25
1 , 24
1 , 23
1 , 22
1 . 21
4.3.2 A-Law je standardní metoda nelineárního (logaritmického) kódování používaná v evropských telekomunikacích. Její princip je velmi podobný metodě µ-Law. Kompresní charakteristika je vyjádřena vztahem: y (n) = sgn( n) ⋅
y (n) = sgn( n) ⋅
A s ( n) 1 + log( A) 1 + log( A ⋅ s (n) ) 1 + log A
pro 0 ≤ s (n) <
pro
1 A
1 ≤ s (n) ≤ 1, A
(7a)
(7b)
kde y(n) je výstupní posloupnost kompandovaných vzorků, s(n) je posloupnost vstupních vzorků z intervalu -1 až +1, sgn(n) je znaménková funkce, která nabývá hodnot -1 pro zápornou hodnotu s(n) a +1 pro kladnou hodnotu s(n), A je parametr, určující míru komprese.
Bakalářská práce
Ondřej Hüttl
Expanzní charakteristika je dána vztahem: s (n) = sgn( n) ⋅
s (n) = sgn( n) ⋅
y (n) ⋅ (1 + log( A))
pro 0 ≤ y (n) <
A exp( y (n) ⋅ (1 + log( A)) − 1)
pro
A
1 1 + log( A)
1 ≤ y ( n ) < 1. 1 + log( A)
(8a)
(8b)
Podobně jako u µ-Law je pro konverzi A-Law možné použití spojité funkce (7a), (7b), nebo aproximace kompresní charakteristiky přímkovými úseky.
Kompresni charakteristika A-Law 1 0.9 0.8
5 4
0.7
3 2
y(n)
0.6 0.5 0.4
1: 2: 3: 4: 5:
1
0.3 0.2
A A A A A
= = = = =
1,0 40,0 60,0 87,7 600,0
0.1 0
0
0.1
0.2
0.3
0.4
0.5 s(n)
0.6
0.7
0.8
0.9
1
Obr. 8 Průběhy kompresních charakteristik metody A-Law Příklad spojité kompresní charakteristiky je uveden na Obr. 8. Z charakteristiky pro různé hodnoty kompresního parametru A je zřejmé, že pro A = 1 ke kompanzi nedochází.
4.3.3 Porovnání metod µ-Law a A-Law Shodné vlastnosti metod µ-Law a A-Law [9]: - běžně se používá aproximace kompresních i expanzních charakteristik osmi lineárními úseky pro kladnou část a osmi úseky pro zápornou část, dynamický rozsah signálu je tak rozdělen na 16 segmentů s rozdílnými kvantizačními kroky v každém z nich - používají se 8 bitová kódová slova (256 kvantizačních hladin) jednotlivé bity mají následující význam: 1 bit na určení polarity 3 bity na kód příslušného segmentu (1 z 8) 4 bity na identifikaci kvantizační úrovně v daném segmentu (1 z 16) - délka každého ze segmentů (mimo prvních dvou) je dvojnásobkem délky předchozího segmentu
Bakalářská práce
Ondřej Hüttl
Rozdílné vlastnosti metod A-Law a µ-Law [9]: - rozdílné lineární aproximace vedou na rozdílné délky a strmosti segmentů - význam jednotlivých bitů v 8 bitových kódových slovech je rozdílný, významově odpovídající si bity mají odlišné pozice - A-Law poskytuje nepatrně lepší dynamický rozsah - µ-Law poskytuje lepší výsledky pro signály s malou úrovní Na Obr. 9 vidíme, že kompresní charakteristiky obou logaritmických metod jsou pro nejčastěji používané hodnoty obou kompresních parametrů A a µ velmi podobné a liší se v podstatě jen v počátku, což způsobuje některé výše uvedené rozdílné vlastnosti. Kompresni charakteristika A-Law a mu-Law pro A=87,7 a mu=255 1 0.9 0.8 2 0.7
1
y(n)
0.6 0.5 0.4 0.3 1: A-Law 2: mu-Law
0.2 0.1 0
0.1
0.2
0.3
0.4
0.5 s(n)
0.6
0.7
0.8
0.9
1
Obr. 9 Porovnání průběhů kompresních charakteristik metod A-Law a µ-Law Na Obr. 10 je zachycen vliv logaritmického kódování na rozložení okamžitých hodnot řečového signálu. Je použito 116692 vzorků (přibližně 2s) řečového signálu s fVZ = 44,1 kHz s 16 bitovými kódovými slovy. Zatímco rozložení okamžitých hodnot lineárně kódovaného signálu má výrazné maximum v okolí nulových hodnot, rozložení hodnot logaritmicky kompandovaného signálu je mnohem rovnoměrnější, v ideálním případě téměř lineární. rozložení okamžitých hodnot signálu PCM
100
osy y: cetnost hodnot [-]
50 0 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0.8
1
0.8
1
rozložení okamžitých hodnot signálu mu-Law
100 50 0 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
rozložení okamžitých hodnot signálu A-Law
100 50 0 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
osy x: normovaná okamžitá hodnota [-]
Obr. 10 Rozložení okamžitých hodnot řečového signálu lineárně kvantovaného, A = 87,7 a µ = 255. fVZ = 44,1 kHz, N = 16 bit
a
logaritmicky
Bakalářská práce
Ondřej Hüttl
Na Obr. 11 jsou zobrazeny průběhy řečových signálů, jejichž rozložení okamžitých hodnot je na Obr. 11. V horní časti je zobrazen průběh vstupního, lineárně kódovaného signálu. Následují průběhy signálu kompandovaného metodou µ-Law s µ = 255 a signálu kompandovaného metodou A-Law s A = 87,7. signál PCM
osy y: normovaná okamžitá hodnota [-]
1 0 -1
1
2
3
4
5
6
7
8
9
10
11 4
x 10
kódovaný signál mu-Law
1 0 -1
1
2
3
4
5
6
7
8
9
10
11 4
x 10
kódovaný signál A-Law
1 0 -1
1
2
3
4
5
6
7
8
9
10
osy x: poradové císlo vzorku [-]
11 4
x 10
Obr. 11 Průběhy lineárně a logaritmicky kódovaných signálů, A = 87,7 a µ = 255, fVZ = 44,1 kHz, N = 16 bit Na Obr. 12 je zobrazen detail průběhů vstupního lineárně kódovaného a logaritmicky kompandovaných signálů. Je zobrazeno 160 vzorků, což při fVZ = 44,1 kHz odpovídá délce přibližně 3,6 ms. Z průběhů kompandovaných signálů je dobře patrné zesílení nízkých úrovní signálu a potlačení vysokých úrovní. signál PCM
osy y: normovaná okamžitá hodnota [-]
1 0 -1
20
40
60
80
100
120
140
160
120
140
160
120
140
160
kódovaný signál mu-Law
1 0 -1
20
40
60
80
100
kódovaný signál A-Law
1 0 -1
20
40
60
80
100
osy x: poradové císlo vzorku [-]
Obr. 12 Detail průběhů lineárně a logaritmicky kódovaných signálů, A = 87,7 a µ = 255, fVZ = 44,1 kHz, N = 16 bit
Bakalářská práce
Ondřej Hüttl
Na Obr. 13 jsou zobrazena rozložení okamžitých hodnot vzorků řečového signálu po opětovném dekódování z logaritmického měřítka. Tento 16 bitový vstupní signál byl tedy nejprve zakódován – kompandován a poté 8 bitově kvantován (ztrátový krok). Poté byl dekódován – expandován. Bylo použito stejného řečového signálu jako na obrázcích Obr. 10 a Obr. 11 a stejných hodnot kompresních parametrů µ = 255 a A = 87,7. Je patrné, že rozložení hodnot dekódovaných signálů má nepatrně jiný tvar, než rozložení vstupního signálu. Tento rozdíl je způsoben překvantováním vzorků z 16 bitových na 8 bitová kódová slova – celý dynamický rozsah je rozdělen na podstatně méně diskrétních hladin (z původních 2^16 = 65536 na 2^8 = 256 hladin). rozložení hodnot signálu PCM
10000
osy y: cetnost hodnot [-]
5000 0 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0.8
1
0.8
1
rozložení hodnot dekódovaného signálu mu-Law
10000 5000 0 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
rozložení hodnot dekódovaného signálu A-Law
10000 5000 0 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
osy x: normovaná okamžitá hodnota [-]
Obr. 13 Rozložení okamžitých hodnot vstupního lineárně kódovaného řečového signálu a signálu dekódovaného Na Obr. 14 jsou zobrazeny průběhy dekódovaných řečových signálů, jejichž rozložení okamžitých hodnot je na Obr. 13 V horní části je zobrazen průběh vstupního lineárně kódovaného signálu. Následují dekódované průběhy signálu. Použité hodnoty kompresních parametrů µ = 255 a A = 87,7. Použitý signál délky přibližně 2s, fVZ = 44,1 kHz, N = 16 bit. vstupní signál PCM
osy y: normovaná okamžitá hodnota [-]
1 0 -1
1
2
3
4
5
6
7
8
9
10
11 4
x 10
dekodóvaný signál mu-Law
1 0 -1
1
2
3
4
5
6
7
8
9
10
11 4
x 10
dekódovaný signál A-Law
1 0 -1
1
2
3
4
5
6
7
8
osy x: poradové císlo vzorku [-]
9
10
11 4
x 10
Obr. 14 Průběhy vstupního lineárně kódovaného signálů a signálů dekódovaných
Bakalářská práce
Ondřej Hüttl
Výhody logaritmické kompanze lze zhodnotit například výpočtem střední kvadratické odchylky podle vztahu:
∆S 2 =
Σ (in (i ) − out (i) )2
pro i = 1 až n,
n
(9)
kde ∆S2 je střední kvadratická odchylka úseku signálu, in je posloupnost vstupních vzorků signálu, out je posloupnost dekódovaných vzorků, i je pořadové číslo aktuálního vzorku a n je celkový počet vzorků úseku signálu. Hodnoty ∆S2 signálů použitých pro Obr. 14 a Obr. 15 jsou: pro A-Law ∆S2 = 1,1517.10-5 pro A = 87,7; pro µ-Law ∆S2 = 1,2501.10-5 pro µ = 255; 2 -5 pro PCM 8bit ∆S = 2,0354.10 lineární. Jedná se tedy o odchylky vstupního signálu délky 116692 vzorků, fVZ = 44,1 kHz s 16 bitovými kódovými slovy a signálů dekódovaných z 8 bitově kvantovaných signálů logaritmicky kódovaných metodami A-Law a µ-Law. Pro porovnání je uvedena ještě hodnota odchylky 8 bitově lineárně kvantovaného PCM signálu. Hodnota této odchylky je téměř dvojnásobná než odchylka logaritmicky kvantovaných signálů s použitím typických hodnot kompresních parametrů.
strední kvadratická odchylka
Na Obr. 15 je zobrazena závislost velikosti ∆S2 na hodnotách kompresních parametrů A a µ. S přibližováním se hodnot kompresních parametrů A a µ svým obvykle používaným hodnotám, tedy A = 87,7 a µ = 255, vzrůstá celková střední kvadratická odchylka signálu ∆S2. To je způsobeno rostoucí chybou velkých hodnot vzorků, která se ale na výsledné kvalitě signálu podílí jen nepatrně v porovnání s přesněji kódovanými malými hodnotami vzorků signálu, jejichž chyba klesá. závislost velikosti strední kvadratické odchylky na hodnote kompresního parametru
-5
1.5
x 10
mu-Law
1
A-Law 0.5 0
1
2
3
4
5
6
7
8
9
10
osa x: normovana hodnota kompresniho parametru 10*A / 87.7; 10*mu / 255 [-]
Obr. 15 Závislost velikosti střední kvadratické odchylky na hodnotách kompresních parametrů A a µ Průběh velikosti ∆S2 v závislosti na hodnotách kompresních parametrů zobrazený na Obr. 15 by tedy mohl budit nesprávný dojem, že kvalita signálu je vyšší pro menší hodnoty kompresních parametrů než jsou obvykle používané A = 87,7 a µ = 255.
Bakalářská práce
Ondřej Hüttl
Na obrázku Obr. 16 je zobrazeno typické rozložení velikostí kvadratických odchylek jednotlivých vzorků. Velikost kvadratické odchylky je pro každý vzorek vypočítána podle:
∆ i 2 = (in (i) − out (i)) 2 ,
(10)
kde ∆i2 je kvadratická odchylka aktuálního vzorku, in je posloupnost vstupních vzorků signálu, out je posloupnost dekódovaných vzorků, i je pořadové číslo aktuálního vzorku.
-4
osy y: normovaná kvadratická odchylka [-]
1
x 10
rozložení kvadratické odchylky 8 bit PCM signálu
0.5 0 -1
-0.8 -3
2
x 10
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0.8
1
0.8
1
rozložení kvadratické odchylky mu-Law signálu
1 0 -1
-0.8 -3
2
x 10
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
rozložení kvadratické odchylky A-Law signálu
1 0 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
osy x: normovaná okamžitá hodnota [-]
Obr. 16 Typické rozložení velikostí kvadratické odchylky jednotlivých vzorků Ze zobrazených rozložení velikostí kvadratické odchylky ∆i2 v závislosti na okamžité hodnotě vstupního signálu na Obr.16 je patrné, že pro 8 bitově lineárně kvantovaný PCM signál má ∆i2 přibližně stejnou velikost na celém dynamickém rozsahu vstupního signálu. Pro signály dekódované z logaritmicky kvantovaných signálů jsou hodnoty ∆i2 velmi malé v okolí malých hodnot vstupních vzorků a zvětšují se pro větší hodnoty vstupních vzorků. Přestože největší hodnoty ∆i2 dosahují u logaritmicky kódovaných signálů až o jeden řád větších hodnot než pro lineárně kvantovaný signál, subjektivně vnímaná kvalita je díky logaritmické charakteristice sluchu lepší pro logaritmicky kódovaný signál, který kvalitněji kóduje nízké hodnoty vzorků vstupních signálů. Pro Obr. 16 byly použity hodnoty A = 87,7 a µ = 255. Na Obr. 17 je zobrazen detail rozložení velikostí kvadratické odchylky v závislosti na různých hodnotách kompresního parametru µ. Je zobrazen jen úsek od -0,1 do 0,1 z celého dynamického rozsahu vstupního signálu. Z rozložení je patrné, že velikost ∆i2 pro nízké hodnoty vzorků vstupního signálu klesá s hodnotami parametru µ, blížícímu se typické hodnotě kompresního parametru µ = 255. Pro metodu A-Law by byla situace podobná.
Bakalářská práce
Ondřej Hüttl
-5
osy y: normovaná kvadratická odchylka [-]
2
rozložení velikostí kvadratické odchylky, mu = 10
x 10
1 0 -0.1
-0.08 -5
2
x 10
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
0.08
0.1
0.08
0.1
rozložení velikostí kvadratické odchylky, mu = 100
1 0 -0.1
-0.08 -5
2
x 10
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
rozložení velikostí kvadratické odchylky, mu = 255
1 0 -0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
osy x: normovaná okamžitá hodnota [-]
Obr. 17 Detail rozložení velikostí kvadratické odchylky v závislosti na hodnotě µ Na následujícím Obr. 18 jsou zobrazeny okamžité velikosti kvadratických odchylek ∆i v závislosti na průběhu vstupního signálu. Jako vstupní signál je použito 160 vzorků 16 bitově lineárně kvantovaného PCM signálu s fVZ = 44,1 kHz, stejně jako na Obr. 12. Kvadratické odchylky vstupního a výstupních 8 bitově lineárně a logaritmicky kvantovaných signálů jsou počítány podle vztahu (10). normovaná okamžitá osy y: normovaná kvadratická odchylka [-] hodnota [-]
2
detail prubehu vstupního signálu PCM
1 0 -1 4
0 -4 x 10
20
40
60
80
100
120
140
160
0 20 40 60 80 100 120 140 -4 x 10 kvadratická odchylka 16bit PCM a 8bit mu-Law signálu
160
0 -4 x 10
kvadratická odchylka 16bit PCM a 8bit A-Law signálu
20
40
0
20
40
kvadratická odchylka 16bit a 8bit signálu PCM
2 0 4 2 0 4
60
80
100
120
140
160
60
80
100
120
140
160
2 0
osy x: poradové císlo vzorku [-]
Obr. 18 Velikosti kvadratických odchylek v závislost na průběhu vstupního signálu Průběh velikostí okamžitých kvadratických odchylek ∆i2 v závislosti na okamžitých hodnotách vstupního signálu na Obr. 18 opět dokládá, že hodnoty vzorků vstupního signálu s malou hodnotou jsou metodami A-Law a µ-Law kódovány přesněji, než větší hodnoty, zatímco u lineárně 8 bitově kvantovaného signálu PCM jsou všechny hodnoty z dynamického rozsahu kvantovány stejně přesně. Logaritmická kvantizace řečového signálu je velmi efektivní. Rekonstrukcí 8 bitového logaritmicky kódovaného signálu získáme signál, kvalitativně ekvivalentní 13 až 14 bitovému lineárně kódovanému PCM signálu [9].
Bakalářská práce
Ondřej Hüttl
4.4 Modulace delta DM Metoda s diferenciálním kódováním byla patentována v roce 1945 E. M. Delorainem. DM umožňuje převod spojitých, frekvenčně omezených signálů na posloupnost dvojkových symbolů -1 a 1, resp. 0 nebo I. Místo údajů o každém vzorku se přenáší pouze informace, zda má aktuální vzorek nižší hodnotu, nebo vyšší hodnotu ve srovnání se vzorkem předcházejícím. Aby bylo DM kódování dostatečně přesné, musí být zvolena dostatečně vysoká vzorkovací frekvence tak, aby největší možná diference mezi sousedními vzorky byla blízká velikosti kvantizačního kroku ∆. Vzorkovací frekvence je tedy vysoká, podstatně vyšší, než 2fMAX podle (1). Protože má ale každý vzorek jen jeden bit, přenosová rychlost odpovídá vzorkovací frekvenci. Vstupní analogový signál s(t) vstupuje do komparátoru, v němž se porovnává s integrovanou výstupní hodnotou – aproximačním signálem ys(t). V každém kroku se určí znaménko rozdílu, rozdíl je jednobitově kvantován. Princip metody [5] je zobrazen na Obr. 19: kodér
dekodér
Obr. 19 Princip kodéru a dekodéru DM Výstupní signál kodéru y(n) je při dekódování znovu integrován, čímž se v případě bezchybného přenosu obnoví signál ys(t), který je po omezení nežádoucích frekvenčních složek, vzniklých číslicovým zpracováním, až na kvantizační chybu shodný se vstupním signálem s(t). Matematicky je DM popsána [6]: y ( n) = 1 pro r (t ) > 0 y ( n) = 0
pro r (t ) < 0,
(11)
kde r(t) = s(t) – ys(t) je rozdílový signál komparátoru, s(t) je vstupní signál, ys(t) je aproximační signál, y(n) je výstupní signál DM modulovaný. Je zřejmé, že kvalita kódování je závislá na vzorkovací frekvenci a velikosti kvantizačního kroku. Při nepřítomnosti vstupního signálu s(t) nebo při jeho malých změnách probíhá aproximační signál ys(t) stupňovitě kolem nuly. Pokud bychom chtěli dosáhnout malého kvantizačního zkreslení, museli bychom použít velmi vysokou vzorkovací frekvenci a velmi malé kvantovací kroky. Použití vysoké fVZ však zvyšuje přenosovou rychlost a volba malé velikosti kvantovacího kroku ∆ způsobí, že při větší strmosti vstupního signálu nestačí aproximační signál ys(t) sledovat vstupní signál s(t) a dojde ke vzniku zkreslení přetížením, které se po dekódování projeví potlačením vyšších frekvencí. Tyto nedostatky DM se řeší použitím proměnné velikosti kvantovacích kroků ∆ v Adaptivní DM.
Bakalářská práce
Ondřej Hüttl
Příklad aproximačního signálu ys(t) jako reakce na signál s(t) zobrazena na Obr. 20. Osa x: pořadové číslo vzorku [-]; Osa y: normovaná okamžitá hodnota [-]. 1.2
vstupní signál s(t)
1
0.8
0.6 aproximacní signál ys(t)
0.4
0.2
0
-0.2
1
2
3
4
5
6
7
8
9
Obr. 20 Vstupní signál s(t) a jeho aproximační signál ys(t) metody DM Na Obr. 20 je uveden příklad aproximačního signálu ys(t) jako reakce na signál s(t) tvaru jednotkový skok. Je patrné, že ys(t) nestačí reagovat dostatečně rychle a dochází ke zkreslení signálu y(n) přetížením. Příklad reakce aproximačního signálu metody ADM na stejný vstupní signál (jednotkový skok) je uveden na Obr. 22. Obnovený signál s(n) se získá:
s (n) = s (n − 1) + ∆ ⋅ y (n),
(12)
kde s(n) je aktuální hodnota obnoveného signálu, s(n-1) je hodnota předchozího vzorku obnoveného signálu, ∆ je velikost kvantizačního kroku a y(n) je hodnota signálu zakódovaného metodou DM. y(n) nabývá hodnot -1 a +1.
4.5 Adaptivní delta modulace ADM Systémy ADM používají proměnný kvantizační krok, čímž umožňují zpracování signálu s vyšší dynamikou a jsou proto vhodnější pro zpracování řeči, než lineární DM. Řízení velikosti kvantizačního kroku lze provádět různými způsoby. Buď podle změn amplitudy vstupního signálu, nebo podle přetížení kodéru, kdy ve výstupní posloupnosti následuje několik shodných symbolů. Kvantizační krok ∆(t) závisí v každém okamžiku na velikosti předchozího kroku ∆(t-1) a několika posledních hodnotách posloupnosti výstupního signálu y(n). Dojde li k přetížení kodéru a na jeho výstupu se objeví série symbolů stejné polarity, řídící obvody začnou postupně zvětšovat velikost kvantizačních kroků ∆. Počet symbolů stejné polarity potřebný ke změně velikosti ∆ a způsob zvětšování kroků ∆ záleží na použité metodě. Ve chvíli, kdy se na výstupu objeví symboly střídající se polarity, začnou se kvantizační kroky opět postupně zmenšovat. Princip je naznačen na Obr. 21:
Bakalářská práce
Ondřej Hüttl
Obr. 21 Princip kodéru ADM
1.2
vstupní signál s(t)
1
0.8
0.6
aproximacní signál ys(t)
0.4
0.2
0
-0.2
1
2
3
4
5
6
7
8
9
Obr. 22 Vstupní signál s(t) a jeho aproximační signál ys(t) metody ADM Osa x: pořadové číslo vzorku [-]; Osa y: normovaná okamžitá hodnota [-]. Na Obr. 22 je uveden příklad aproximačního signálu ys(t) jako reakce na signál s(t) tvaru jednotkový skok. Tvar signálu ys(t) může být i pro stejné průběhy vstupního signálu s(t) různý, v závislosti na použité metodě řízení velikosti kvantovacího kroku ∆. V příkladu na Obr. 22 se velikost ∆(t) zdvojnásobí oproti své předchozí hodnotě ∆(t-1), pokud se na výstupu v signálu y(n) objeví dvakrát symbol stejné polarity. Lze použít i jiné způsoby řízení. Při obnovování vstupního signálu s(n) z posloupnosti y(n) se opět provádí vyhodnocování po sobě jdoucích symbolů, ze kterého se odvozuje velikost jednotlivých kvantizačních kroků ∆(n), které přísluší jednotlivým vzorkům y(n). Obnovený signál s(n) se získá: s (n) = s (n − 1) + ∆(n) ⋅ y (n),
(13)
kde s(n) je aktuální hodnota obnoveného signálu, s(n-1) je hodnota předchozího vzorku obnoveného signálu, ∆(n) je velikost aktuálního kvantizačního kroku a y(n) je hodnota signálu zakódovaného metodou ADM. y(n) nabývá hodnot -1 a +1.
Bakalářská práce
Ondřej Hüttl
4.6 Diferenční PCM (DPCM) Diferenční pulzně kódová modulace DPCM byla publikována v roce 1956 C. Cutlerem jako jedno z řešení pokusů o zlepšení vlastností klasické lineární modulace delta. Jejím nejjednodušším příkladem je vlastně DM, u které je vzorkovací frekvence zvolena tak vysoká, že na zakódování diference mezi sousedními vzorky stačí jednobitová kódová slova. Vlastností řečových, ale i video signálů je vzájemná korelace mezi sousedními vzorky signálu, z čehož lze usoudit, že rozdíl sousedních vzorků bude mít menší dynamický rozsah. Zatímco v metodě DM se k popisu signálu používá v každém okamžiku jen jednobitové informace o rozdílu dvou po sobě jdoucích vzorků a u metody PCM je kódován každý vzorek N bitovým kódovým slovem, u DPCM se využívá vzájemné korelace mezi vzorky a kóduje, přenáší a uchovává se informace o rozdílu okamžité hodnoty vzorku vstupního signálu v daném okamžiku a hodnotou pro tento okamžik predikovanou (předvídanou) z předchozích vzorků. Predikovaný signál je vytvářen v prediktoru na základě lineárních operací mezi předchozími vzorky. Hodnota predikovaného signálu yp(n) se získá v prediktoru obecně podle: yp(n) = c1 ⋅ s (n − 1) + c2 ⋅ s (n − 2) + K + c K ⋅ s (n − K ),
(14)
kde yp(n) je aktuální predikovaná hodnota, ck jsou reálné koeficienty pro k = 1, 2,....K, kde K je řád lineárního prediktoru, s(n-1) až s(n-K) jsou hodnoty vzorků vstupního signálu. Řád prediktoru N říká, z kolika předchozích hodnot vstupního signálu se předvídá signál yp(n). Rozdílový signál r(n) vstupní hodnoty s(n) a predikované hodnoty yp(n) r (n) = s (n) − yp(n)
(15)
je dále kvantován a kódován do N bitového kódového slova y(n). Je zřejmé, že čím lépe je predikován signál yp(n), tím menší jsou hodnoty rozdílového signálu r(n) a efektivnost kvantizace je tím vyšší. Hodnoty koeficientů cK jsou proto voleny tak, aby r(n) dosahoval co nejnižších hodnot.
Obr. 23 Princip predikčního kódování a dekódování Obnovení původního signálu s(n) z DPCM kódovaného signálu y(n) se provádí sčítáním hodnoty y(n) s hodnotou yp(n) predikovanou z několika předchozích hodnot s(n).
Bakalářská práce
Ondřej Hüttl
Na Obr. 24 je zobrazen princip lineárního prediktoru. Vstupní signál s(n) je zpožděn a násoben koeficientem c1. Dále je sčítán s několika předchozími vzorky, násobenými příslušnými koeficienty cK.
Obr. 24 Princip lineárního prediktoru Příklad signálu DPCM, získaného systémem s lineárním prediktorem 1. řádu je na Obr. 25. K predikci byl použit nejjednodušší princip, kdy predikovaný vzorek je vlastně pouze předchozí hodnotou vstupního vzorku a přenáší se diference mezi sousedními vzorky: r (n) = s (n) − s (n − 1),
(16)
kde r(n) je rozdílový signál DPCM, s(n) je aktuální hodnota vstupního signálu, s(n-1) je hodnota vstupního signálu v předchozím okamžiku. vstupni signal PCM 1 0 -1
1000
2000
3000
4000
5000
6000
7000
5000
6000
7000
5000
6000
7000
predikovany signal 1 0 -1
1000
2000
3000
4000
signal DPCM 1 0 -1
1000
2000
3000
4000
Obr. 25 Příklad průběhu signálu DPCM Osa x: pořadové číslo vzorku [-]; Osa y: normovaná okamžitá hodnota [-]. Vstupním signálem Obr. 25 bylo 7000 vzorků řečového signálu, lineárně kódovaného metodou PCM, 16 bitově kvantovaného s fVZ = 22,05 KHz. Je patrné, že výstupní rozdílový signál kódovaný DPCM má mnohem menší rozptyl hodnot.
Bakalářská práce
Ondřej Hüttl
vstupni signal PCM 1 0.5 0 -0.5 -1
1000
2000
3000
4000
5000
6000
7000
6000
7000
signal PCM dekodovany z DPCM 1 0.5 0 -0.5 -1
1000
2000
3000
4000
5000
Obr. 26 Porovnání vstupního signálu PCM a signálu dekódovaného z DPCM Osa x: pořadové číslo vzorku [-]; Osa y: normovaná okamžitá hodnota [-]. Oba průběhy na Obr. 26 jsou totožné. K rekonstrukci byl ale použit rozdílový signál, který neprošel kvantizací, takže nevznikla kvantizační chyba. V praxi tato chyba ale vzniká a velkou nevýhodou této metody je právě kumulace kvantizační chyby při rekonstrukci signálu.
4.7 Adaptivní diferenční PCM (ADPCM) Modulace PCM a DPCM nerespektují skutečnost, že hovorové signály jsou svou podstatnou nestacionární (resp. jsou kvazistacionární) [1], takže se jejich střední výkon (variace) a autokorelační funkce mění s časem. K tomuto faktu přihlíží adaptivní diferenciální impulzová kódová modulace ADPCM. Ta se liší od DPCM hlavně tím, že místo lineárního kvantování a lineární predikce používá adaptivní kvantování (AQ) a adaptivní predikci (AP). Vzhledem k tomu, že časové změny uvedených parametrů hovorového signálu jsou relativně pomalé, je možné realizovat poměrně jednoduché adaptivní algoritmy, které jsou schopné sledovat změny úrovně a změny spektra vstupního hovorového signálu. U modulace ADPCM je díky této adaptibilitě znatelně zlepšena kvalita přenosu v porovnání s oběma staršími typy. Modulace PCM a DPCM realizují vzorkování analogového signálu ve fixně stanovených okamžicích (nTv), které jsou celistvými násobky n vzorkovací periody Tv. Kvantování je u těchto formátů uniformní (lineární), takže kvantizační kroky ∆ zde jsou konstantní. Přenosová charakteristika, tj. závislost kvantované úrovně výstupního signálu na spojitě se měnící úrovni vstupního signálu, má potom typický schodovitý průběh se stejným rozměrem schodů (step size). Naproti tomu při adaptivním kvantování se dynamický rozsah kvantizátorů přizpůsobuje krátkodobým vlastnostem signálu a velikost kvantizačních kroků ∆ se mění s časem. Uvedené změny se mohou řídit různými algoritmy.
Bakalářská práce
Ondřej Hüttl
K určování resp. k odhadu kvantovacího kroku ∆ je možné využít buď nekvantované vzorky vstupního signálu (adaptivní kvantování s dopředným odhadem AQF, tj. AQ Forward), nebo k tomu lze využít vzorky z výstupu kvantizéru (adaptivní kvantování se zpětným odhadem AQB, tj. AQ Backward). Nevýhodou dopředné adaptace kvantizátoru je nutnost přenášet informaci o velikost ∆. Adaptivní predikce spočívá v přizpůsobení koeficientů prediktoru cK krátkodobým změnám spektra kódovaného signálu. Výstupní signál yp(n) prediktoru je určen stejně jako u DPCM podle (14), koeficienty cK se ale průběžně vypočítávají podle korelační funkce, vypočítané z konečného počtu předchozích vzorků. Koeficienty cK jsou pak vypočítávány s periodou, která odpovídá počtu vzorků, ze kterých byla počítána korelace. Výsledný efekt adaptivního kvantování a adaptivní predikce spočívá hlavně ve zlepšení poměru signál/kvantizační šum, typicky o hodnotu 8 až 12dB [1], vůči lineární modulaci PCM. Princip ADPCM kódování [6] s adaptací prediktoru je na Obr. 27, princip ADPCM kódování s dopřednou adaptací kvantizačního kroku ∆ je na Obr. 28, princip ADPCM kódování se zpětnovazební adaptací kvantizačního kroku ∆ je na Obr. 29.
Obr. 27 Princip ADPCM kódování a dekódování s adaptací prediktoru
Obr. 28 Princip ADPCM kódování a dekódování s dopřednou adaptací kvantizátoru
Bakalářská práce
Ondřej Hüttl
Obr. 29 Princip ADPCM kódování a dekódování se zpětnovazební adaptací kvantizátoru
4.8 Kódování řečových signálů v kmitočtové oblasti Ke kodérům tvarového průběhu s kódováním v kmitočtové oblasti náleží kodéry pro subpásmové kódování SBC (Sub Band Coding) a adaptivní transformační kódování ATC (Adaptive Transform Coding), případně zdokonalené adaptivní subpásmové kódování (ASBC).
4.9 Subpásmové kódování řečových signálů SBC Tato metoda je založena na analýze řečového signálu ve frekvenční oblasti a jeho odděleného kódování v několika frekvenčních pásmech. Princip spočívá v rozdělení signálu do několika frekvenčních pásem, z nichž každé je kódováno odděleně. Banka filtrů musí pokrývat celé frekvenční spektrum vstupních řečových signálů, tedy například 300–3400 Hz. Přesnost kódování jednotlivých kmitočtových pásem záleží na energii daného pásma. Pásma s malou nebo žádnou energií mohou být kódována s nižší přesností, nebo nemusí být kódována vůbec. Jednotlivá kmitočtová pásma jsou dále zpracovávána v časové oblasti. Princip kodéru je zobrazen na Obr. 30:
Obr. 30 Princip kodéru metody SBC Po rozdělení signálu do dílčích kmitočtových subpásem je v každém subpásmu realizována decimace na hodnotu N:1, tak, aby součet vzorků subpásem odpovídal při dané vzorkovací frekvenci počtu vzorků celého kmitočtového pásma. Dalším krokem je kódování jednotlivých decimovaných posloupností vzorků každého subpásma. Nejčastěji je ke kódování subpásem [6] použita metoda ADPCM, která umožňuje nezávislé adaptivní řízení
Bakalářská práce
Ondřej Hüttl
velikostí kvantizačních kroků, respektive proměnné přidělování počtu bitů na vzorky řečového signálu v jednotlivých subpásmech podle jejich vlivu na kvalitu výsledného rekonstruovaného řečového signálu. Velmi dobrou kvalitu rekonstruovaného řečového signálu lze dosáhnout [1] už při přenosové rychlosti 16 kbit/s. Multiplexor na straně kodéru sdružuje jednotlivé bitové toky do výsledného bitového toku. Princip dekodéru je naznačen na Obr. 31:
Obr. 31 Princip dekodéru metody SBC V dekodéru přichází bitový tok vysílaný kodérem SBC nejprve do demultiplexoru, ve kterém je rozdělen do jednotlivých dílčích bitových toků, které jsou směrovány do příslušných subpásmových dekodérů, kde se nejprve dekódují a vstupují do interpolátorů, kde jsou do signálů vsunuty vzorky, které byly decimací odstraněny. Nejjednodušším způsobem interpolace je nahrazení vypuštěných vzorků nulovými hodnotami. Získané posloupnosti rekonstruovaných vzorků jsou filtrovány obdobnou bankou filtrů, kterou byly původně rozděleny do subpásem, aby se odstranily vysokofrekvenční složky vzniklé digitalizací signálu. Problémem při implementaci SBC je problém s překrytím se dílčích pásem (aliasing) po decimaci, způsobené neostrými frekvenčními charakteristikami subpásmových filtrů. Mezi základní výhody subpásmového kódování patří: - kvantizační šum spadá vždy do odpovídajícího frekvenčního subpásma a nedochází k vzájemnému ovlivňování pásem - jednotlivým pásmům lze podle psychoakustických poznatků přidělit rozdílný počet bitů na kvantovaný vzorek, čímž je možné zvýšit subjektivní kvalitu rekonstruovaného signálu Dalšího zlepšení kvality rekonstruovaného řečového signálu lze dosáhnout subpásmovým rozdělením frekvenčního rozsahu do více pásem a adaptivním přidělováním počtu bitů na vzorky mezi jednotlivými subpásmy. Tento postup je aplikován v adaptivním transformačním kódování ATC (Adaptive Transform Coding). V kódování ATC se na rozdělení signálů do subpásem nepoužívá lineární filtrace, ale algoritmy rychlých diskrétních transformací, jako například FFT (Fast Fourier Transform), DCT (Diskret Cosinus Transform).
Bakalářská práce
5
Ondřej Hüttl
Další metody zdrojového kódování řečových signálů
5.1 Vokodéry (zdrojové hovorové kodéry) Kódování typu vocoder nesleduje věrné reprodukování tvarového průběhu kódovaného signálu [1]. Místo toho se ve zdrojovém kodéru nepřetržitě analyzuje hovorový signál a odvozuje z něho soustavu určitých charakteristických parametrů. Ty se přenášejí k dekodéru přijímače, kde potom ovládají syntetizátor (generátor) hovorových signálů. Soustava charakteristických parametrů je již podstatně zbavena redundance, což vede k výraznému snížení bitové rychlosti v komunikačním kanálu. Reprodukovaný signál má ovšem jen syntetický charakter, plně dostačující například pro některé speciální (vojenské) aplikace, méně již pro veřejný radiotelefon apod. Mezi nejčastěji používané systémy vokodérů náleží systémy s lineárním prediktivním kódováním LPC (Linear Predictive Coding), u nichž se realizuje zpracování signálu v časové oblasti. Do druhé početnější skupiny, se zpracováním signálu v kmitočtové oblasti, se řadí kanálové vokodéry, formantové vokodéry, cepstrové vokodéry a vokodéry s hlasovou excitací. Základem všech vokodérů je model pro syntézu řeči, který generuje na přijímací straně, s využitím informací přicházejících z vysílače, hovorový signál. Jeho funkce vychází z poznatku, že lidská řeč se skládá ze znělých hlásek, neznělých hlásek a z mezer. Vytváření všech hlásek je zde modelováno jako odezva digitálního filtru hlasového traktu VTF (Vocal Tract Filter), na vhodný budivý (excitační) signál. Tímto signálem je při vytváření znělých hlásek, vzhledem k jejich kvaziperiodické podstatě, sekvence úzkých impulzů o základním hlasovém kmitočtu (pitch); tento kmitočet je pro každou osobu poněkud odlišný a mění se dokonce i v průběhu hovoru jediné osoby. Neznělé hlásky se potom vytvářejí jako odezva uvažovaného filtru na pseudonáhodný signál, mající charakter bílého šumu. Filtr hlasového traktu je časově proměnný, takže jeho koeficienty představují adekvátní reprezentaci znělých nebo neznělých hlásek vstupního signálu. Výsledkem celého procesu je replika původního hovorového signálu, která má ovšem jen syntetický charakter. Srozumitelnost dosahuje asi 80 až 85 % [6]. Této snížené kvality je však dosahováno s relativně velmi nízkými přenosovými rychlostmi, pod cca 4 kbit/s [1]. Nepřirozenost obnovené řeči je způsobena nedokonalým rozdělením na znělé a neznělé segmenty. V řeči se navíc vyskytují další zvuky a jejich kombinace, ne pouze znělé a neznělé hlásky. Dalším důvodem je zjednodušení, které řečový signál vytváří jako odezvu lineárního filtru na posloupnost impulzů s jednou základní periodou. V přirozené řeči se základní tón neustále neperiodicky mění. Na vysílací straně je signál nejprve rozdělen na krátké úseky délky 10 až 30 ms [6], každý úsek je analyzován a jsou pro něj vypočteny koeficienty filtru, modelujícího hlasový trakt. Tyto koeficienty jsou přenášeny v digitálním tvaru na přijímací stranu.
Bakalářská práce
Ondřej Hüttl
Model generování řeči je na Obr. 32:
Obr. 32 Model generování řeči Generátor řeči se skládá ze dvou základních částí: - buzení hlasového traktu - filtr hlasového traktu Buzení vokálního traktu tvoří generátor impulzů s periodou odpovídající frekvenci základního hlasového kmitočtu a generátor šumu. Mezi těmito generátory se přepíná v závislosti na modelování znělých či neznělých hlásek. Filtr hlasového traktu je lineární číslicový filtr FIR, jehož přenosová funkce je proměnná přenášenými parametry filtru.
5.2 Hybridní hovorové kodéry Kromě uvedených dvou základních kategorií se v některých pramenech uvádějí jako samostatná skupina ještě hybridní kodéry, které v sobě vhodně spojují přednosti obou předchozích typů. Analogicky s vokodéry se u nich vytváří výstupní hovorový signál jako odezva vhodného filtru hovorové syntézy, avšak generace excitačních signálů je složitější. Již se zde nezavádí pojem základní kmitočet, ani přesné rozlišování znělých a neznělých hlásek a tomu odpovídající dvojí excitace, nýbrž se zde uplatňuje multipulzní excitace. Ta je modelována několika úzkými impulzy situovanými do krátkého časového úseku (např. 4 impulzy na 5 milisekund) [1], přičemž amplitudy a polohy těchto impulzů jsou určovány tak, aby se minimalizovala perceptuálně (smyslově) vážená chyba mezi originální a syntetizovanou řečí. Uvedený princip lze realizovat například lineárním prediktivním kódováním typu analýza-syntéza. Základní částí kodéru je časově proměnný syntetizační filtr (filtr hovorové syntézy), který krátkodobě modeluje spektrální obálku průběhu hovorového signálu; ten se označuje také jako krátkodobý korelační filtr, neboť jeho koeficienty se vypočítávají na základě predikce vzorku řeči odvozené jen z několika předchozích vzorků. Do kaskády s ním však lze zařadit ještě dlouhodobý korelační filtr realizující dlouhodobou predikci LTP (Long Term Prediction), která zjemňuje hovorové spektrum. Syntetizační filtr je buzen excitačním generátorem, který generuje excitační sekvenci. Excitační generátor a filtr syntézy vytvářejí vlastně dekodér, který je ve stejné podobě použit na přijímací straně. Excitační generátor je řízen rozdílovým signálem mezi originální a syntetizovanou řečí, zpracovaným v blocích vážení chyby a minimalizace chyby. Excitace je takto optimalizována z hlediska perceptuálně vážené chyby mezi originální a syntetizovanou řečí. Optimalizační postup se zde realizuje
Bakalářská práce
Ondřej Hüttl
v uzavřené smyčce, která nutí filtr syntézy generovat řečový signál, jež se co nejméně liší od signálu originálního. To potom vede k velké efektivitě kodérů tohoto typu, které tak při relativně malých bitových rychlostech zakódovaného signálu poskytují velmi dobrou kvalitu reprodukované řeči, srovnatelnou s kodéry tvarového průběhu. Tím vynikají nad prediktivními kodéry s otevřenou smyčkou RELP (Residual Excited Linear Predictive) aj., jejich realizace je však komplikovaná.
6
Zdrojové kódování jakostních elektroakustických signálů
Metody kódování kodéry tvarového průběhu, vokodéry, hybridními kodéry či kodéry ADPCM pro hovorové signály nejsou vhodné pro zpracování audio signálů, u nichž se vyžaduje vysoká věrnost reprodukce, tedy přenos celého akustického pásma, co nejmenší nelineární zkreslení a co nejlepší další kvalitativní ukazatele. Tento požadavek je aktuální například u perspektivního digitálního rozhlasového vysílání DAB, u digitální televize DVB apod. Mají-li být dosaženy uvedené špičkové parametry, je ovšem i v těchto aplikacích nutné realizovat co nejúčinnější zdrojové kódování. Například přenos stereofonního signálu v náročném formátu CD se uskutečňuje při použití běžné lineární modulace PCM s 16 bitovou reprezentací vzorků přenosovou rychlostí 1,411 Mbit/s, která vyžaduje kanál s extrémní šířkou pásma nejméně 700 kHz. Avšak důmyslné metody zdrojového kódování, využívající poznatky psychoakustiky a vyspělou techniku rychlého digitálního signálového procesingu, umožňují tyto neúnosné nároky redukovat a to při zachování nejvyšší jakosti reprodukovaného zvuku.
6.1 Metody zdrojového kódování jakostních elektroakustických signálů Systémy uvažovaného zdrojového kódování je možné dělit do dvou základních tříd. První z nich představují systémy s prediktivním kódováním, druhou systémy s transformačním kódováním. U obou systémů se uplatňují zejména varianty se subpásmovým kódováním SBC (Sub Band Coding), které optimálně využívají psychoakustické efekty lidského sluchu.
6.2 Prediktivní metody zdrojového kódování Prediktivní metody zdrojového kódování realizují kódovací algoritmy v časové oblasti. Jejich hlavními zástupci jsou adaptivní diferenciální pulzní kódová modulace ADPCM a její varianty. Diferenciální systémy redukují bitovou rychlost tím, že se u nich kóduje a přenáší jen rozdíl mezi predikovanou úrovní určitého vzorku vstupního signálu, získanou např. z referenční vyhledávací tabulky, a skutečnou úrovní tohoto vzorku. Z různých psychoakustických jevů a z nich vyplývající možnosti potlačení irelevantní informace se u nich využívá pouze skutečnosti, že citlivost ucha klesá směrem k vyšším kmitočtům. V celém kmitočtovém spektru se proto subpásmům v dolní části spektra přidělují vyšší počty bitů. Žádné další irelevantní informace obsažené v kódovaném signálu zde odstraňovány nejsou.
Bakalářská práce
Ondřej Hüttl
Do kategorie subpásmových technik ADPCM náleží například kompresní algoritmus G722, přijatý orgány CCITT již v sedmdesátých letech minulého století. Jiný kompresní algoritmus APT-X100 se dodnes uplatňuje v oblasti pozemských a satelitních telekomunikačních distribučních okruhů, sítí ISDN aj. Je založen na modulaci ADPCM se čtyřmi subpásmy a s kompresí 4:1. Používá různé vzorkovací kmitočty od 16 kHz do 48 kHz, výstupní bitová rychlost je 64 až 384 kbit/s. Může přenášet dva nezávislé audio kanály s kmitočtovým rozsahem od 7,5 kHz do 22,5 kHz.
6.3 Transformační metody zdrojového kódování Transformační metody zdrojového kódování jsou založeny na zpracování signálu v kmitočtové oblasti. Do této kategorie patří početná skupina algoritmů označovaných souhrnně jako adaptivní pulzní kódové modulace APCM (Adaptive Pulse Code Modulation), z nichž většina používá psychoakustické efekty a aplikuje principy subpásmového kódování SBC. Při kódování SBC se celý kmitočtový rozsah kódovaného signálu dělí obvykle do 2, 4, 32, 256 nebo 576 subpásem [1]. Každé z nich je kódováno separátně s různými počty bitů. Ty jsou subpásmům přidělovány na základě perceptuálních kriterií, která umožňují výrazně potlačit irelevantní složky vstupního signálu. K těmto složkám náleží především kvantizační šum, který je potom v každém subpásmu vždy pod maskovacím prahem. Výstupní bitové toky dílčích kodérů jsou multiplexovány, doplněny pomocnými informacemi a vysílány. Na přijímací straně jsou v demultiplexeru signály dílčích subpásem opět rozděleny a separátně dekódovány. Vzorkované subpásmové signály jsou nakonec sdružovány, čímž vzniká replika původního elektroakustického signálu. Do uvažované kategorie adaptivních pulzně kódových modulací APCM, využívajících psychoakustické jevy a subpásmové kódování, náleží řada kódovacích algoritmů. Některé z nich jsou MUSICAM, Dolby AC-2 a AC-3, ISO/MPEG (vrstvy 1, 2 a 3), ASPEC, SEDAT a PASC. MUSICAM (Masking Pattern-adapted Universal Subband Integrated Coding and Multiplexing) je široce používaný softwarově koncipovaný algoritmus. Lze ho označit za celosvětově přijatou metodu zdrojového kódování audio signálů s vysokou jakostí, uplatňující se například v některých systémech digitálního rozhlasu apod. Dosažitelný poměr komprese dat je až 12:1. Algoritmus DOLBY AC-2 s kompresním poměrem 6:1 nachází uplatnění v sítích ISDN a při přenosu audio signálů mezi digitálním studiem a vysílačem. Algoritmus AC-3 dosahuje vyšších kompresních poměrů a uplatní se především při přenosu zvukového doprovodu televizních systémů HDTV. V roce 1989 vytvořila Mezinárodní standardizační organizace ISO expertní skupinu, která se začala zabývat otázkami záznamu a reprodukce digitalizovaných video signálů a přidruženého zvukového doprovodu, se zaměřením na nejrůznější multimediální aplikace. Tato skupina nese označení MPEG (Motion Pictures Experts Group, tj Expertní skupina pro pohyblivé obrazy). Její první projekt z roku 1992, s názvem MPEG-1resp. standart ISO/IEC 11172, má tři části: první definuje multiplexní strukturu MPEG-1, druhá je zaměřena na kódování videosignálů a třetí na kódování audiosignálů. V oblasti kódování audiosignálů poskytuje MPEG-1 (ISO/IEC 11172-3) širokou paletu systémů s různými kompresními poměry a tomu odpovídající jakosti reprodukce. Ty nacházejí uplatnění v záznamových médiích, v digitálním rozhlase a televizi, v sítích ISDN a dalších telekomunikačních soustavách apod. V technice kódování audiosignálů náleží tento standard, jakož i jeho nové formy mezi nejdůležitější.
Bakalářská práce
Ondřej Hüttl
Porovnání hlavních parametrů nejznámějších algoritmů APCM
Nejdůležitější vlastnosti populárních metod zdrojového kódování jakostních audio signálů, náležících do kategorie algoritmů s adaptivní impulzovou kódovanou modulací APCM shrnuje Tab. 2 [1]. Parametr pracovní zpoždění A-A (proces delay), je určeno jako celková doba potřebná pro zpracování signálu v celém kodeku, od analogového vstupu po analogový výstup. U jednoduchých kodeků je toto zpoždění řádu milisekund, u nejsložitějších se přibližuje ke 100 milisekundám, což je hodnota pro některé aplikace již nepřijatelná. Systém kódování Dolby AC-2 MUSICAM MPEG-1 vrstva 1 MPEG-1 vrstva 2 MPEG-1 vrstva 3
šířka pásma [kHz] 20 20 20 20 20
počet subpásem 256 32 32 32 576
bitová rychlost [kbit/s] 256 128 ... 384 384 192 ... 256 128
kompresní poměr * 6:1 proměnný 4:1 6 ... 8 : 1 12 : 1
zpoždění A-A [ms] 45 >35 19 >40 >80
Tab. 2 Pracovní parametry nejznámějších algoritmů APCM * při vstupním nekódovaném stereofonním signálu 1536 kbit/s
7
PC audio
7.1 Základní pojmy Formáty souborů nesoucích audio data zajišťují kompatibilitu a přenositelnost mezi různými počítačovými platformami, resp. operačnímy systémy, ve kterých mohou být data dále přenášena, skladována, zpracovávána nebo přehrávána [2]. Téměř všechny formáty audio souborů obsahují přídavné informace, nutné pro jejich správnou interpretaci, tj. vzorkovací kmitočet, počet bitů a kanálů, případně o typu komprese atd. Tyto informace bývají uloženy zpravidla v úvodní hlavičce souboru. Formát WAV je v současné době nejrozšířenější formát uložení zvukových souborů a to nejen na platformě PC [3]. Je běžně používán i v profesionální audio technice a v digitálních nahrávacích studiích. Používá se i na platformě Mac, i když zde je více rozšířen formát souboru AIFF.
7.2 Resource Interchange File Format Resource Interchange File Format (RIFF) je nejpoužívanější standardizovaný formát pro ukládání multimediálních dat v počítačích typu PC. Je obdobou formátu AIFF (Audio Interchange File Format), používaného počítači jiných platforem. Oba tyto formáty vycházejí z Electronic Arts Interchange File Format, definovaného v dokumentu EA IFF 85 Standard for Interchange Format Files. Ze struktury ukládání dat ve formátu RIFF vychází mnoho multimediálních formátů, a to zvukových, obrazových a dalších typů. Dodržování této struktury zajišťuje přenositelnost souborů mezi programy různých výrobců a různými počítačovými systémy.
Bakalářská práce
Ondřej Hüttl
Základním prvkem RIFF souboru je informační blok nazývaný „chunk“. Každý tento blok začíná čtyřznakovou identifikací a délkou chunku. Pokud je délka dat obsažených v bloku lichá, doplňuje se chunk na konci nulou, aby délka celého chunku byla sudá. Bloky lze do sebe „vnořovat“ a vytvářet stromovou strukturu. Většinou se ale nepoužívají více než tři úrovně. Nadřazený blok, tzv. „parent chunk“, obsahuje kromě identifikace a délky také čtyřznakovou identifikaci typu bloku. Za ní následují jednotlivé podřízené bloky, tzv. „sub chunks“. Délka dat nadřazeného bloku zahrnuje tedy i identifikaci typu a délku všech podřízených bloků, včetně záhlaví. Názvy nadřazených bloků jsou obvykle velkými a názvy podřízených bloků malými písmeny, v názvu lze použít i mezery. Každý chunk musí obsahovat část ckID a ckSize. Ostatní části mohou být dobrovolné či skryté, podle typu chunk. část ckID
datový typ FOURCC
ckSize
32bit unsigned
ckData binární data
popis Čtyř znakový alfa-numerický kód, který identifikuje o jaký chunk se jedná. Např. FMT_Chunk, Data_Chunk,... Identifikuje velikost bloku Data, který následuje. Nezahrnuje velikost bloků ckID, ckSize, ani ostatních částí, které mohou různé chunks obsahovat. Tato velikost nezahrnuje případný doplňkový Byte s nulovou hodnotou. Část obsahující vlastní data. Pokud je velikost chunku lichý počet Byte, ckData je doplněn o další Byte s nulovou hodnotou.
Tab. 3 Základní části bloků chunk V Tab. 3 jsou některé základní části bloků chunk a jejich stručný popis [10]. Poznámka: Datový typ FOURCC reprezentuje sekvenci jednoho až čtyř alfa-numerických ASCII znaků. Velikost takové sekvence je tedy nejvýše 4 * 8 bit = 32 bit. Mnoho firem pro potřeby svých aplikací definovalo nové, doplňující typy chunks s novými částmi, specifickými vždy pro konkrétní použití. Právě dodržení struktury RIFF při tvorbě těchto nových dílčích částí souborů umožňuje kompatibilitu souborů, takže např. soubor vytvořený novějším programem, je čitelný i ve starším programu, přesto, že obsahuje doplňkové informace, které starší program nezná a nedokáže je využít. Registrace nových datových typů a součástí je řešena v [11]. První čtyři bity jakéhokoli souboru vycházejícího z typu RIFF jsou tvořeny chunkem ckID, obsahujícím řetězec ´R´, ´I´, ´F´, ´F´. Prvním slovem chunku ckData (jedním z takzvaných subchunks, označovaným jako
) je čtyřznaková hodnota, identifikující reprezentaci dat nebo formát souboru. Dále následují další subchunks, závisející na formátu souboru. Definice formátů vycházejících ze struktury RIFF obvykle obsahují: - jedinečný čtyřznakový kód, identifikující formát - seznam povinných chunks - seznam volitelných, nepovinných chunks.
Bakalářská práce
Ondřej Hüttl
7.3 The Waveform Audio Nejznámějším formátem, používajícím strukturu RIFF je pravděpodobně formát The Waveform Audio (.wav), se kterým pracuje například program Matlab. Tento formát byl představen v systému Windows 3.1 jako formát pro multimediální zvuk a je popsán v [10]. Je používán pro 8, 12 nebo 16 bitové audio soubory, mono nebo stereo, s různými vzorkovacími frekvencemi, včetně 44,1 kHz. Zvuková data mohou být kódována různými metodami, informace o použitém kódování je uložena v bloku Format. V systému Windows XP je ve formátu wav možno pracovat s daty kódovanými těmito metodami: CCIT A-Law CCIT µ-Law GSM 6.10 IMA ADPCM Microsoft ADPCM Microsoft G.723.1 MPEG Layer-3 PCM
8 bit, 8 kHz, 11,025 kHz, 22,05 kHz, 44,1 kHz, mono/stereo stejné jako u A-Law 8 – 44,1 kHz; 1, 2, 4, 8 kbit/s; mono 4 bit; 8 – 44,1 kHz; mono/stereo 4 bit; 8 – 44,1 kHz; mono/stereo 8 kHz; mono; 6400b/s, 5333b/s
8, 11,025, 12, 16, 22,05, 24, 32, 44,1, 48 kHz; 8_16bit; stereo/mono Windows Media Audio V1 Windows Media Audio V2
Stromová struktura a pořadí bloků je následující: - RIFF parent chunk WAV - Format - Factual Lenght - Data - Sampler - Cue - PAD - LIST parent chunk INFO - Summary information - LIST parent chunk adtl - Label text - Labels - Trigger list - Playlist - Instrument
pokud je nutný pouze u souborů pro samplery pokud jsou v souboru markery a/nebo regiony pouze pro Session8, Audio Work atd. pokud je nutný podle abecedy pokud jsou v souboru markery a/nebo regiony
Blok Waveform Tento blok obsahuje samotná audio data, informace o jejich formátu a doplňkové informace.
Bakalářská práce
Ondřej Hüttl
Blok Format Obsahuje informace o formátu zvukového souboru. Jeho rozsah je určen použitým zvukovým formátem. Patří sem informace o počtu bitů na vzorek, vzorkovacím kmitočtu, počtu kanálů a způsobu kódování audio dat.
Obr. 33 Příklad struktury formátu WAV, obsahující pouze blok Format a Data
velikost 4 Byte 4 Byte 2 Byte 2 Byte 4 Byte 4 Byte 2 Byte 2 Byte
označení Signatur Size Format-Typ Channels Sampling Rate Data Rate Sample Format Sample Size
obsah ´FMT´ Velikost segmentu [Byte] 0 = mono, 1 = stereo Počet kanálů Vzorkovací kmitočet [Hz] Datový tok [Bit/s] 1=8 bit mono, 2=8 bit stereo nebo 16 bit mono, 4=16 bit stereo Počet bitů na vzorek
Tab. 4 Složení bloku Fomat Blok Factual Length Obsahuje informace o skutečné délce audio dat. Tento blok je ve WAV souboru obsazen pouze tehdy, je-li nutný, např. při použití jiného kódování než PCM. Struktura takového souboru je na Obr.34. Jedná se o soubor kódovaný metodou A-Law. U souboru, jehož struktura je na Obr. 29 je použit formát PCM, kdežto u souboru, jehož struktura je na Obr. 34 je použit formát IMA ADPCM. Kromě toho, že přibyl blok Factual Length, přibyla v bloku Format 2-bytová informace o formátu a zkrátila se délka dat.
Obr. 34 Příklad struktury souboru WAV se zvukovými daty ve formátu A-Law Blok Data Obsahuje vlastní audio data. Způsob uložení dat závisí na formátu určeném v FormatTag. Např. formáty Microsoft, IMA a Creative ADPCM používají jiné formáty ukládání dat, i když se jedná o stejný způsob kódování - adaptivní rozdílovou PCM. Obecně ale platí, že jsou kanály sloučeny, tj. po jednom celém vzorku prvního kanálu následuje jeden celý vzorek druhého kanálu atd. Teprve po prvním vzorku posledního kanálu následuje druhý vzorek prvního kanálu. Pokud je vzorek více jak 8-mi bitový, používá se pro ukládání jednotlivých bytu vzorku little endian, čili jako první nejméně významný byte (LSB) a jako poslední nejvíce významný byte (MSB).
Bakalářská práce
4 Byte Signatur 4 Byte Size 2 Byte Data
Ondřej Hüttl
´DATA´ Velikost segmentu [Byte] Audio data
Tab. 5 Složení bloku Data Blok Sampler Specifikuje informace pro soubory používané elektronickými hudebními nástroji nazývanými sampler. Samplery přehrávají navzorkované signály a podle zahrané noty mění výšku tónu. Kromě základních informací o audio datech vyžadují samplery i další informace, např. o tzv. smyčkách, tj. oblastech audio souboru, jejichž přehrávání se opakuje. Tyto informace obsahuje blok Sampler. Blok PAD Tento blok je určen k řazení bloku Data do sektoru pro použití s různým audio hardwarem. Identifikátor tohoto bloku je PAD. V souboru WAV jsou kanály audio dat sloučeny, tj. stejné vzorky jednotlivých kanálů jsou umístěny za sebou. To má výhodu při současném přehrávání více kanálů, protože čtení souboru je kontinuální, v paměti není potřeba přesunovat ukazatel. Tento způsob ukládání ale není vhodný při „sektorovém“ zpracování dat používaném některými hardwarovými HDR systémy. Proto je potřeba soubor doplnit informací o řazení bloku do sektoru. Blok souhrnných informací Blok souhrnných informací je nadřazený blok, který obsahuje sub-chunky s textovými informacemi o souboru. Řetězec znaků je vždy ukončen nulou. Většina informačních bloků se ale týká hlavně scanovaných grafických souboru. Na Obr. 35 je struktura souboru WAV s několika bloky ze skupiny bloku souhrnných informací.
Obr. 35 Struktura souboru WAV se souhrnnými informacemi Blok Regionu a Triggeru Tento nadřazený blok, označený adtl obsahuje detailní informace o regionech, např. jejich jména, způsob spouštění a přehrávání atd. Doplňuje blok Cue a jeho samostatná existence neposkytuje kompletní informace o regionech. Blok Cue poskytuje pouze seznam regionu/markeru, další informace jsou obsaženy v adtl parent chunku, identifikace jednotlivých bloků dat je podle čísla pořadí markeru/regionu v seznamu Cue. Blok Label Text Obsahuje doplňkové informace o regionech, tj. informace, které nejsou obsaženy v bloku Cue.
Bakalářská práce
Ondřej Hüttl
Blok Label Obsahuje jméno regionu nebo markeru. Blok Trigger List Tento blok se používá k určení externích spouštěcích událostí pro vstup do regionu a playlistu. Autorem je firma Sonic Foundry. Jsou-li ve zvukovém souboru definovány regiony, lze externě spouštět jejich přehrávání pomocí triggeru. Trigger je událost na řídící MIDI sběrnici, která spustí přehrávání regionu.
Obr. 36 Struktura souboru WAV s blokem regionu a triggeru Blok Playlist Obsahuje tzv. playlist souboru, tj. informaci o pořadí přehrávání jednotlivých regionu. Používá se v HDR systémech při editaci nahrávky - soubor se rozdělí na regiony a změní se jejich pořadí, takže není potřeba přesunovat data v souboru. Identifikátor tohoto bloku je plst. Blok Instrument Připraven pro budoucí použití se softwarovými wavetable syntezátory nebo hardwarovými wavetable syntezátory s pamětí RAM. Identifikátor tohoto bloku je inst.
7.4 Audio Interchange File Format Audio Interchange File Format, zkráceně AIFF, je zvukovou verzí formátu Interchange File Format, který vznikl na počítačích Amiga původně pro grafické soubory. Jeho struktura je velmi podobná struktuře RIFF - používá se tentýž systém datových bloků, práce s nimi je naprosto shodná. V současné době je formát AIFF doménou hlavně hudebních programů běžících na počítačích Apple Macintosh. Formát podporuje mnoho typů vzorkovacích kmitočtů a bitového rozlišení nekomprimovaných signálů. Protože audio data jsou uložena společně s ostatními informacemi, nelze je upravovat bez vytvoření nového souboru. Soubory mohou obsahovat: Common Chunk, Sound Data Chunk, Marker Chunk, Instrument Chunk, Comment Chunk, Name Chunk, Author Chunk, Copyright Chunk, Annotation Chunk, Audio Recording Chunk, MIDI Data Chunk, Application Chunk.
Bakalářská práce
Ondřej Hüttl
7.5 Formát souborů SVX Soubory formátu SVX jsou jakousi „původní předlohou“ formátu AIFF. Stejně jako soubory RIFF jsou složeny z různých typů bloků. Samozřejmě se jedná o formát pouze zvukový. Názvy sub-chunku i parent chunku a jejich typů bývají všechny velkými písmeny. Formát a způsob práce s bloky se shoduje s RIFF. Soubory v tomto formátu mají příponu „.svx“ nebo „.iff“, novější potom „.aif“. - Parent chunk FORM - Name - VHDR - BODY Blok Format Tento blok je nadřazeným blokem (parent chunkem), obsahujícím všechny ostatní podřízené bloky. Sám o sobě obsahuje pouze formát zvukových dat (8 nebo 16 bitu). Blok Name Obsahuje jméno zvukového souboru, které může mít maximálně 20 znaků. Nemá nic společného se jménem vlastního souboru. Blok Header Obsahuje informace o formátu zvukových dat a o začátku a délce smyčky (muže být definována jen jedna smyčka). Kromě klasických informací o počtu bitů, kanálů a vzorkovacím kmitočtu obsahuje tento blok narozdíl od bloku Format RIFF souboru ještě informaci o hlasitosti zvuku. Formát SVX totiž původně vznikl na počítačích Amiga s tzv. trackery, což jsou patternově orientované programy pro tvorbu vícekanálové hudby, přehrávající vzorky nástrojů uložených v paměti. Proto formát SVX obsahuje i informaci o hlasitosti, která je těmito programy nastavitelná v rozsahu 0 - 63. Hodnota hlasitosti ukládaná do souboru je ale násobena čtyřmi. Blok Body Obsahuje vlastní audio data. Používá se 8-mi nebo 16-ti bitový znaménkový formát.
7.6 Formát souborů AU Soubory formátu AU (.au) byly vyvinuty pro platformu UNIX, ale jsou používány i jinými systémy [4]. Formát podporuje mnoho typů audio signálů, včetně komprimovaných, například metodou ADPCM.
7.7 Formát souborů VOC The Voice VOC (.voc) je formát, používaný zvukovými kartami SoundBlaster. Jsou podporovány stereo signály do 16 bit, včetně komprimovaných. Soubory VOC mohou obsahovat markery a smyčkové synchronizační markery pro různé multimediální aplikace.
Bakalářská práce
8
Ondřej Hüttl
Odkazy na další informace
stav březen 2006 http://www.borg.com/~jglatt/tech/wave.htm http://www.sonicspot.com/guide/wavefiles.html http://ftp.cwi.nl/audio/ http://www.wotsit.org/
informace o formátu wav informace o formátu wav informace o audio formátech a kódování informace o multimediálních formátech
http://www.digitalpreservation.gov/formats/fdd/sound_fdd.shtml popis kódovacích metod http://www.softsynth.com/links/ odkazy na informace o digitálním audiu http://mitpress2.mit.edu/e-journals/Computer-Music-Journal/ Computer Music Journal
Závěr Zadáním této práce bylo vypracovat přehledovou studii o nejčastějších způsobech kódování akustických signálů se zaměřením na práci na personálním počítači. Prvním krokem řešení byl průzkum formátů zvukových souborů na běžně vybaveném počítači. Byly zjištěny základní vlastnosti jednotlivých formátů a především druhy používaného kódovaní vlastních audio dat. Používané formáty souborů a jejich struktury jsou popsány v závěrečné časti této práce, v kapitole 7. Dalším krokem bylo vypracování studie metod zdrojového kódování, dostupných k použití v běžných formátech souborů. Tyto metody jsou popsány v kapitolách 2 až 6 a tvoří stěžejní část celé práce. Největší pozornost je věnována kódování tvarového průběhu signálu a to především nelineárním metodám pulzně kódové modulace A-Law a µ-Law. Poslední část řešení spočívala ve vytvoření několika programů implementujících metody A-Law a µ-Law a použití získaných poznatků a grafických výstupů těchto programů v předkládané studii tak, aby byla zachována souvislost textu. Výsledky simulací a výpočtů jsou tedy prezentovány přímo v kapitolách jednotlivých metod k vysvětlení jejich vlastností. Grafických i akustických výstupů těchto programů je použito ke splnění úkolu vyplývajícího z názvu práce. Program na prezentaci kódování akustických signálů je vytvořen jako pomůcka, která názorně vysvětluje metody A-Law a µ-Law i nezasvěcenému uživateli, který se tak může jednoduše seznámit s kódováním akustických signálů i bez znalosti práce s některým programovacím prostředím. Tento program je řešen jako prezentace v prostředí PowerPoint. Dalším možným pokračováním této práce by mohlo být rozšíření a prohloubení kapitol týkajících se ostatních metod kódování akustických signálů, podobně jako jsou zpracovány kapitoly věnující se metodám A-Law a µ-Law. Mohly by být také vytvořeny další programy pro prezentaci těchto metod, které by jednoduše seznamovaly zájemce s danou problematikou.
Bakalářská práce
Ondřej Hüttl
Seznam použité literatury [1] [2]
ŽALUD, V. Moderní Radioelektronika. BEN, Praha 2000, ISBN 80-86056-47-3 POHLMAN KEN,C. Principles Of Digital Audio. Mc Graw Hill, 2005, ISBN 0-07-144156-5 SCHIMMEL, J. Formáty zvukových souborů na PC. www.elektrorevue.cz , 2001 http://en.wikipedia.org , http://cs.wikipedia.org KRATOCHVÍL, T. přednášky předmětu BNFE, 2004/2005 LEVICKÝ, D. Multimediálne telekomunikácie, Elfa s.r.o., Košice 2002, ISBN 80-89066-58-5 ŠEBESTA, V. SMÉKAL, Z.: Signály a soustavy, VUT, Brno 2004, ISBN 80-214-2434-6 SIGMUND, M. Analýza řečových signálů, VUT, Brno 2000, ISBN 80-214-1783-8 webové stránky firmy CISCO, Document ID: 8123, Waveform Coding Techniques http://www.cisco.com/warp/public/788/signalling/waveform_coding.html (stav březen 2006) IBM Corporation and Microsoft Corporation, Multimedia Programming Interface and Data Specifications 1.0 Microsoft Corporation, New Multimedia Data Types and Data Techniques a Multimedia Developer Registration Kit
[3] [4] [5] [6] [7] [8] [9] [10] [11]
Seznam tabulek Tab. Tab. Tab. Tab. Tab.
1 2 3 4 5
Hlavní parametry tří základních skupin elektroakustických signálů Pracovní parametry nejznámějších algoritmů APCM Základní části bloků chunk Složení bloku Fomat Složení bloku Data
Obsah CD Bakalarska_prace - Bakalarska_prace.doc - Desky.doc - Obsah.doc - Prohlaseni.doc - Titul_ENG.doc - Titulni_list.doc Prezentace - Program_pro_prezentaci_kodovani.ppt Programy - A_law_mu_Law.m - A_Law_mu_Law_matlab.m - Chyba_na_A_mu.m - Rozlozeni_podle_velikosti.m
2 29 30 32 33
Bakalářská práce
Ondřej Hüttl
Seznam obrázků Obr. 1 Klasifikace kodérů pro zdrojové kódování elektroakustických signálů, určených pro aplikace v telefonní a radiotelefonní technice 3 Obr. 2 Blokové schéma kodéru a dekodéru řečového signálu v časové oblasti 4 Obr. 3 Princip kódování PCM 4 Obr. 4 Princip kódování signálu PCM s využitím logaritmické kompanze 6 Obr. 5 Princip dekódování logaritmicky kompandovaného signálu PCM 6 Obr. 6 Průběhy kompresních charakteristik metody µ-Law 7 Obr. 7 Aproximace kompresní charakteristiky µ-Law přímkovými úseky 8 Obr. 8 Průběhy kompresních charakteristik metody A-Law 9 Obr. 9 Porovnání průběhů kompresních charakteristik metod A-Law a µ-Law 10 Obr. 10 Rozložení okamžitých hodnot řečového signálu lineárně a logaritmicky kvantovaného, A = 87,7 a µ = 255. fVZ = 44,1 kHz, N = 16 bit 10 Obr. 11 Průběhy lineárně a logaritmicky kódovaných signálů, A = 87,7 a µ = 255, fVZ = 44,1 kHz, N = 16 bit 11 Obr. 12 Detail průběhů lineárně a logaritmicky kódovaných signálů, A = 87,7 a µ = 255, fVZ = 44,1 kHz, N = 16 bit 11 Obr. 13 Rozložení okamžitých hodnot vstupního lineárně kódovaného řečového signálu a signálu dekódovaného 12 Obr. 14 Průběhy vstupního lineárně kódovaného signálů a signálů dekódovaných 12 Obr. 15 Závislost velikosti střední kvadratické odchylky na hodnotách kompresních parametrů A a µ 13 Obr. 16 Typické rozložení velikostí kvadratické odchylky jednotlivých vzorků 14 Obr. 17 Detail rozložení velikostí kvadratické odchylky v závislosti na hodnotě µ 15 Obr. 18 Velikosti kvadratických odchylek v závislost na průběhu vstupního signálu 15 Obr. 19 Princip kodéru a dekodéru DM 16 Obr. 20 Vstupní signál s(t) a jeho aproximační signál ys(t) metody DM 17 Obr. 21 Princip kodéru ADM 18 Obr. 22 Vstupní signál s(t) a jeho aproximační signál ys(t) metody ADM 18 Obr. 23 Princip predikčního kódování a dekódování 19 Obr. 24 Princip lineárního prediktoru 20 Obr. 25 Příklad průběhu signálu DPCM 20 Obr. 26 Porovnání vstupního signálu PCM a signálu dekódovaného z DPCM 21 Obr. 27 Princip ADPCM kódování a dekódování s adaptací prediktoru 22 Obr. 28 Princip ADPCM kódování a dekódování s dopřednou adaptací kvantizátoru 22 Obr. 29 Princip ADPCM kódování a dekódování se zpětnovazební adaptací kvantizátoru 23 Obr. 30 Princip kodéru metody SBC 23 Obr. 31 Princip dekodéru metody SBC 24 Obr. 32 Model generování řeči 26 Obr. 33 Příklad struktury formátu WAV, obsahující pouze blok Format a Data 32 Obr. 34 Příklad struktury souboru WAV se zvukovými daty ve formátu A-Law 32 Obr. 35 Struktura souboru WAV se souhrnnými informacemi 33 Obr. 36 Struktura souboru WAV s blokem regionu a triggeru 34