Experimenty s psychoakustickou kompresí zvuku. Radek Svoboda

Podobné dokumenty
Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.

Moderní multimediální elektronika (U3V)

Multimediální systémy. 08 Zvuk

31SCS Speciální číslicové systémy Antialiasing

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

Multimediální systémy

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE

MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky

Úvod do zpracování signálů

1. Základy teorie přenosu informací

ednáška a metody digitalizace telefonního signálu Ing. Bc. Ivan Pravda

Základy a aplikace digitálních. Katedra radioelektroniky (13137), blok B2, místnost 722

Signál v čase a jeho spektrum

SIGNÁLY A SOUSTAVY, SIGNÁLY A SYSTÉMY

Fyziologická akustika. fyziologická akustika: jak to funguje psychologická akustika: jak to na nás působí

Základní komunikační řetězec

9. PRINCIPY VÍCENÁSOBNÉHO VYUŽITÍ PŘENOSOVÝCH CEST

OSNOVA. 1. Definice zvuku a popis jeho šíření. 2. Rozdělení zvukových záznamů (komprese) 3. Vlastnosti jednotlivých formátů

B2M31SYN SYNTÉZA AUDIO SIGNÁLŮ

EFEKTIVNÍ METODY KÓDOVÁNÍ ZVUKOVÝCH SIGNÁLŮ

Quantization of acoustic low level signals. David Bursík, Miroslav Lukeš

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

Katedra radioelektroniky K13137, FEL ČVUT Praha. zakódování dané informace. Tento trend postihl i oblast záznamu a přenosu širokopásmových

P7: Základy zpracování signálu

Charakteristiky zvuk. záznamů

Základní principy přeměny analogového signálu na digitální

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY a SYSTÉMY

A/D převodníky - parametry

Kosinová transformace 36ACS

VY_32_INOVACE_E 15 03

PCM30U-ROK 2 048/256 kbit/s rozhlasový kodek stručný přehled

SIGNÁLY A LINEÁRNÍ SYSTÉMY

X31EO2 - Elektrické obvody 2. Kmitočtové charakteristiky

Grafika na počítači. Bc. Veronika Tomsová

Snímání biologických signálů. A6M31LET Lékařská technika Zdeněk Horčík Katedra teorie obvodů

CW01 - Teorie měření a regulace

Zvuk včetně komprese. Digitálně = lépe! Je to ale pravda? X36PZA Periferní zařízení

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

íta ové sít baseband narrowband broadband

DSY-4. Analogové a číslicové modulace. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Zvukové rozhraní. Základní pojmy

Číslicové filtry. Honza Černocký, ÚPGM

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ PERCEPČNÍ KÓDOVÁNÍ ZVUKOVÝCH SIGNÁLŮ PERCEPTUAL AUDIO CODING

Číslicové zpracování signálů a Fourierova analýza.

Flexibilita jednoduché naprogramování a přeprogramování řídícího systému

VY_32_INOVACE_ENI_2.MA_05_Modulace a Modulátory

ZÁKLADY DATOVÝCH KOMUNIKACÍ

Číslicová filtrace. FIR filtry IIR filtry. ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Kompresní algoritmy grafiky. Jan Janoušek F11125

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

Digitální magnetický záznam obrazového signálu

Kompresní metody první generace

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

Kódováni dat. Kódy používané pro strojové operace

filtry FIR zpracování signálů FIR & IIR Tomáš Novák

popsat princip činnosti základních zapojení čidel napětí a proudu samostatně změřit zadanou úlohu

Osnova. Idea ASK/FSK/PSK ASK Amplitudové... Strana 1 z 16. Celá obrazovka. Konec Základy radiotechniky

3 METODY PRO POTLAČENÍ ŠUMU U ŘE- ČOVÉHO SIGNÁLU

Při návrhu FIR filtru řešíme obvykle následující problémy:

Úvod do teorie informace

A7B31ZZS 4. PŘEDNÁŠKA 13. října 2014

KOMPRESE OBRAZŮ. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. hlavac@fel.cvut.

Přenos pasivního dvojbranu RC

Direct Digital Synthesis (DDS)

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

Funkce komplexní proměnné a integrální transformace

ZÁKLADY DATOVÝCH KOMUNIKACÍ

Lineární a adpativní zpracování dat. 3. Lineární filtrace I: Z-transformace, stabilita

Frekvenční charakteristiky

Analýza a zpracování digitálního obrazu

7. Rozdělení pravděpodobnosti ve statistice

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů

Akustika. Cesta zvuku od hudebního nástroje přes nahrávací a reprodukční řetězec k posluchači

1 Mnohočleny a algebraické rovnice

I. Současná analogová technika

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

polyfázové filtry (multirate filters) cascaded integrator comb filter (CIC) A0M38SPP - Signálové procesory v praxi - přednáška 8 2

A7B31ZZS 10. PŘEDNÁŠKA Návrh filtrů 1. prosince 2014

Lineární a adaptivní zpracování dat. 3. SYSTÉMY a jejich popis ve frekvenční oblasti

6 Algebra blokových schémat

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat

31ZZS 9. PŘEDNÁŠKA 24. listopadu 2014

4.2. Modulátory a směšovače

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

7. Funkce jedné reálné proměnné, základní pojmy

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY. OPTICKÝ SPOJ LR-830/1550 Technický popis

" Furierova transformace"

Digitalizace převod AS DS (analogový diskrétní signál )

Teorie informace: řešené příklady 2014 Tomáš Kroupa

Akustika. 3.1 Teorie - spektrum

Matematické modelování dopravního proudu

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Komprese zvuku. Ing. Jan Přichystal, Ph.D. 14. března PEF MZLU v Brně

Elektrické parametry spojů v číslicových zařízeních

U Úvod do modelování a simulace systémů

elektrické filtry Jiří Petržela filtry založené na jiných fyzikálních principech

Title: IX 6 11:27 (1 of 6)

Transkript:

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Experimenty s psychoakustickou kompresí zvuku Radek Svoboda Vedoucí práce: doc. Ing. Miroslav Šnorek, CSc. Studijní program: Elektrotechnika a informatika, strukturovaný, Bakalářský Obor: Výpočetní technika 26. května 2010

iv

v Poděkování Děkuji panu doc. Ing. Miroslavu Šnorkovi, CSc., vedoucímu práce, a všem dalším, kteří mi jakkoliv pomohli k vytvoření této práce.

vi

vii Prohlášení Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne 26. 5. 2010.............................................................

viii

Abstract This work deals with explanation of psychoacustic principles, methods and algorithms used in psychoacoustic compression format MPEG I - Layer III, also called MP3, of standard ISO 11172-3. The standard itself is shown in short. Experiments with coder, which was programmed within the scope of the work based on this standard in mathematical software Matlab, are presented. Abstrakt Práce se zabývá vyložením psychoakustických principů, metod a algoritmů použitých v psychoakustickém kompresním formátu MPEG I - Layer III, MP3, standardu ISO 11172-3. Samotný standard je ve stručnosti uveden. Jsou prezentovány experimenty s kodérem, který byl v rámci práce naprogramovaným na základě tohoto standardu v matematickém software Matlab. ix

x

Obsah 1 Úvod 1 1.1 Úvod......................................... 1 1.2 Specifikace cílů................................... 1 2 Psychoakustika 3 2.1 Úvod......................................... 3 2.2 Ucho a zvuk..................................... 3 2.3 Úroveň akustického tlaku............................. 4 2.4 Práh slyšitelnosti.................................. 4 2.5 Maskování...................................... 5 2.5.1 Frekvenční maskování........................... 6 2.5.2 Časové maskování............................. 6 2.6 Kritická pásma................................... 7 3 Metody a algoritmy pro zpracování zvukového signálu 11 3.1 Úvod......................................... 11 3.2 Pulzně kódová modulace (PCM)......................... 11 3.3 Diskrétní Fourierova transformace........................ 12 3.4 Subpásmové kódování............................... 13 3.5 Polyfázová kvadraturní banka filtrů (PQMF).................. 14 3.6 Modifikovaná kosínová transformace....................... 16 3.7 Huffmanovo kódování............................... 18 3.8 Cyklický redundantní součet............................ 20 4 Standard MPEG I - Part 3: Audio 21 4.1 Úvod......................................... 21 4.2 MUSICAM a ASPEC............................... 21 4.3 Obsah standardu.................................. 22 4.4 Kodér formátu MP3................................ 22 4.4.1 Blok PQMF................................. 23 4.4.2 Blok MDCT................................ 23 4.4.3 Psychoakustický model.......................... 25 4.4.4 Kvantizace................................. 28 4.4.5 Huffmanovo kódování........................... 29 4.4.6 Cyklický redundantní součet....................... 30 xi

xii OBSAH 4.5 Dekodér....................................... 30 4.6 Bitový tok...................................... 31 4.6.1 Hlavička................................... 31 4.6.2 Kontrola chyb................................ 32 4.6.3 Audio data................................. 32 4.6.4 Doplňková data............................... 33 4.7 Shrnutí....................................... 33 5 Experimenty s kodérem v Matlabu 35 5.1 Úvod......................................... 35 5.2 Kodér v Matlabu.................................. 35 5.2.1 Matlab................................... 35 5.2.2 Popis kodéru................................ 36 5.3 Průběh experimentů................................ 38 5.4 Zjištění chyby vzniklé PQMF filtrací....................... 39 5.4.1 Cíle..................................... 39 5.4.2 Postup.................................... 39 5.4.3 Výsledky.................................. 39 5.4.4 Zhodnocení................................. 40 5.5 Zjištění chyby vzniklé transformací MDCT................... 40 5.5.1 Cíle..................................... 40 5.5.2 Postup.................................... 40 5.5.3 Výsledky.................................. 40 5.5.4 Zhodnocení................................. 40 5.6 Vliv délky bloku MDCT na výskyt jevu pre-echo................ 41 5.6.1 Cíle..................................... 41 5.6.2 Postup.................................... 41 5.6.3 Výsledky.................................. 41 5.6.4 Zhodnocení................................. 42 5.7 Psychoakustická komprese tónu.......................... 42 5.7.1 Cíle..................................... 42 5.7.2 Postup.................................... 43 5.7.3 Výsledky.................................. 43 5.7.4 Zhodnocení................................. 43 5.8 Psychoakustická komprese hudebního souboru.................. 44 5.8.1 Cíle..................................... 44 5.8.2 Postup.................................... 44 5.8.3 Výsledky.................................. 44 5.8.4 Zhodnocení................................. 44 5.9 Zhodnocení experimentů.............................. 44 6 Závěr 47 Literatura 49 A Seznam použitých zkratek 51

OBSAH xiii B Obsah přiloženého CD 53

xiv OBSAH

Seznam obrázků 2.1 Rozložení vláskových buněk detekující dané frekvence, převzato z [14].... 4 2.2 Práh slyšitelnosti.................................. 5 2.3 Naměřené prahy slyšitelnosti........................... 6 2.4 Frekvenční maskování............................... 7 2.5 Časové maskování................................. 8 2.6 Frekvenční rozložení středů kritických pásem.................. 8 3.1 Digitalizační řetězec PCM............................. 12 3.2 Schéma subpásmového kodéru a dekodéru.................... 14 3.3 Modul frekvenčního spektra typického audiosignálu............... 15 3.4 Impulzní charakteristika prototypu filtru PQMF................ 16 3.5 Modul frekvenční charakteristiky prvních třech filtrů a detail v -3dB..... 17 3.6 Sinové a Hannovo okno.............................. 18 3.7 Huffmanův strom.................................. 19 4.1 Schéma MP3 kodéru................................ 23 4.2 Příklad využití oken v MDCT, sekvence normální-start-krátké-stop-normální 24 4.3 Stavový diagram přepínání oken......................... 27 4.4 Schéma MP3 dekodéru............................... 30 5.1 Schéma navrženého kodéru............................ 36 5.2 Frekvence výskytu znaků ve výstupním souboru kodéru............ 38 5.3 Signál a jeho psychoakustická entropie...................... 42 5.4 Vznik pre-echa v závislosti na použitých délkách oken MDCT......... 43 xv

xvi SEZNAM OBRÁZKŮ

Seznam tabulek 2.1 Frekvenční šířka jednotlivých kritických pásem................. 9 3.1 Četnost znaků v textu motion picture experts group............. 19 3.2 Huffmanovy kódy znaků v textu motion picture experts group....... 19 4.1 Šířka výstupního PQMF subpásma v závislosti na vzorkovací frekvenci.... 23 4.2 Délka okna MDCT v závislosti na použitém oknu a vzorkovací frekvenci... 24 4.3 Šířka pásma, určená koeficientem MDCT v závislosti na vzorkovací frekvenci 24 4.4 Koeficient c pro vypočtení koeficientů ca a cs pro redukci aliasingu...... 25 4.5 Hlavička MP3 rámce a příklad.......................... 32 5.1 Formát souboru zakódovaného v Huffmanově kódu............... 37 xvii

xviii SEZNAM TABULEK

Kapitola 1 Úvod 1.1 Úvod Datová komprese je důležitou součástí uchování informace. Redukcí množství dat přispíváme ke snížení ekonomické zátěže při uchování informace a při jejím přenosu počítačovými sítěmi, hlavně internetem. Kompresní algoritmy se rozdělují do dvou hlavních kategorií, a to na ztrátové a bezeztrátové. Ztrátové algoritmy využívají znalostí o podstatě dat, mohou se jim přizpůsobit, a tím dosáhnout mnohem větších kompresí než algoritmy bezeztrátové. Využívají se především u dat, která vnímá člověk svými smyslovými orgány, tedy u obrázků, zvuku a videa. Tato práce se zaměřuje na kompresi zvukových signálů, především pak hudebních souborů, neboť například pro kompresi hlasu existují mnohem sofistikovanější metody, než se kterými zde pracujeme. Pro vytvoření ztrátového kompresního algoritmu využijeme principů, které nám nabízí psychoakustika, vědní obor zabývající se vnímáním zvuku člověkem. Psychoakustika zkoumá, které komponenty zvukového signálu jsou z hlediska vnímání zvuku redundantní, nadbytečné, a jak provést takovou kompresi, s jejíž pomocí dosáhneme minimalizace dat při zachování kvality zvuku shodné se zdrojem. S využitím kombinace principů psychoakustiky a algoritmů pro zpracování zvuku implementujeme středně složitý kodér a budeme experimentovat s nastavením jeho parametrů. 1.2 Specifikace cílů Tato práce si klade několik cílů, vedoucích k uskutečnění experimentů s funkčním kodérem založeným na psychoakustickém principu. Prvním z těchto cílů je seznámit čtenáře s principy psychoakustické komprese. Nejprve budou vyloženy vlastnosti vnímání zvuku člověkem a jak nám naše poslechové ústrojí svou nedokonalostí umožňuje dosáhnout datové komprese audiosignálů více než 1:5 při nezměněné poslechové kvalitě. Dalším z cílů je představit praktické využití poznatků psychoakustiky. Nejdříve probereme konkrétní používané postupy, které nám umožňují vytvořit jednotlivé bloky pro fungující kompresní algoritmus. Jednotlivé metody se zabývají rozdělením frekvenčního rozsahu audiosignálů do vícero pásem, identifikací psychoakustických parametrů signálu a následnou kvantizací vzorků a také bezeztrátovou kompresí. Poté, se znalostí těchto metod, nám následují kapitola představí 1

2 KAPITOLA 1. ÚVOD v technické praxi využívaný mezinárodní standard ISO-11172-3, definující kompresní algoritmus pro uložení audiosignálů, jež dává základ hudebním MP3 souborům. Ačkoliv tento standard za několik málo let oslaví 20. výročí své existence a byl již kvalitativně překonán, stále se pro něj nenašel takový soupeř, který by ho sesadil z pomyslného trůnu v uchovávání hudebních dat. Posledním, nikoliv nejmenším úkolem této práce je v matematickém software Matlab připravit na základě tohoto standardu fungující kompresní kodér. S jeho pomocí budou v rámci práce v závěru provedeny některé experimenty ověřující přínos jednotlivých psychoakustických postupů k datové kompresi a jejich zhodnocení. Po dokončení této práce se předpokládá, že její výsledky budou sloužit jak k náhledu do problematiky psychoakustiky, tak k tvorbě dalších experimentů ve vytvořeném kodéru.

Kapitola 2 Psychoakustika 2.1 Úvod Psychoakustika je vědní obor zabývající se studiem subjektivního vnímání zvuku. V této kapitole si řekneme, jak funguje ucho, orgán umožňující příjem zvukových informací, a uvedeme důležité pojmy z oblasti audiosignálů. Představíme si základní kameny psychoakustiky, kterými jsou práh slyšitelnosti (threshold in quite), frekvenční, někdy též označované souběžné maskování (frequency masking) a časové maskování (temporal masking). Zaměříme se na způsob využití nedokonalostí ucha při kompresi audiosignálů. Veškeré významené psychoakustické kompresní formáty současnosti využívají níže uvedené principy ke zmenšení datového toku potřebného pro přenos signálu. Komprimované formáty dosahují kompresních poměrů více než 1:5 bez degradace zvukové kvality. 2.2 Ucho a zvuk Zvuk je mechanické vlnění v látkovém prostředí, které způsobí sluchový vjem [13]. Lidské ucho je fyzicky omezené na vnímání mechanického vlnění o frekvencích od 20 Hz do 20 khz. Touto vrozenou dispozicí je určena i potřebná vzorkovací frekvence signálu. Ucho se skládá ze třech hlavních částí. Vnější ucho slouží k usměrnění a zesílení zvukové vlny dopadající na bubínek. Střední ucho se svými třemi kůstkami, kladívkem, třmínkem a kovadlinkou slouží k vyrovnání impedancí mezi plynným prostředím vnějšího ucha a kapalným prostředím vnitřního ucha. Samotné vnitřní ucho začíná oválným okénkem, na které doléhá třmínek a je tvořeno hlemýžděm, což je stočená trubice vyplněná tekutinou (endolymfou) a zevnitř pokrytá výstelkou zvanou Cortiho orgán. Ten překrývá vláskové buňky, jež provádějí převod kmitání endolymfy na elektrické impulzi vysílané do mozku. Vnitřní ucho funguje jako frekvenční analyzátor. Převádí vstupující zvuk na kmitání endolymfy a v závislosti na frekvenci tohoto kmitání dochází k rozechvívání v určitém fyzickém prostoru vnitřního ucha. Na obrázku 2.1 vidíme, které vláskových buňky v hlemýždi reagují na jaké frekvence signálu. Nejvyšší frekvence jsou detekovány hned za oválným okénkem, nejnižší až na konci spirály hlemýždě. 3

4 KAPITOLA 2. PSYCHOAKUSTIKA Obrázek 2.1: Rozložení vláskových buněk detekující dané frekvence, převzato z [14] 2.3 Úroveň akustického tlaku Lidské ucho nevnímá hlasitost zvukového signálu lineárně, ale logaritmicky. Vnímá změny tlaku p na bubínek, dynamický rozsah ucha je od 10 5 Pa do 10 2 Pa, tedy plných sedm dekád. Abychom lépe popsali zvukový signál, měříme jeho hodnotu v decibelech, což je logaritmické měřítko podílu dvou hodnot. Úroveň akustického tlaku (Sound Pressure Level - SPL) je relativní veličina, deklarovaná jako 2.1 v závislosti na tlaku p, kde za hodnotu 0 db je považována hodnota tlaku p = 20µP a, což zhruba odpovídá prahu slyšitelnosti (viz. níže) tónu o frekvenci 2 khz. Úroveň akustického tlaku je problémová z hlediska vnímání zvuku člověkem, neboť na různých frekvencích se signál se shodnou úrovní akustického tlaku jeví různě hlasitý. Z tohoto důvodu je navrženo vícero metod ohodnocení hlasitosti. Jednotka sone vyjadřuje subjektivně vnímanou hlasitost, hodnot 1 sone odpovídá 40 db SPL při frekvenci 1 khz, narozdíl od decibelu se jedná o jednotku lineární. SP L = 20 log 10 p p 0 [db] (2.1) 2.4 Práh slyšitelnosti Již jsme se dozvěděli, že sluchový vjem nezávisí pouze na úrovni akustického tlaku, ale také na frekvenci zvuku. V závislosti na frekvenci lze tedy vynést křivku, která pro každou frekvenci prochází hodnotou akustického tlaku, který jsme už schopni smyslově vnímat. Taková křivka se nazývá práh slyšitelnosti (threshold in quite). Byla přibližně určena měřením např. v [3]. Tato křivka je však závislá na vícero faktorech a není jednotná pro všechny subjekty. Například vlivem věku se křivka posouvá směrem vzhůru hlavně v oblasti vyšších frekvencí. Tato křivka se dá přibližně aproximovat funkcí podle 2.2 z [2]. Podle ní vznikne křivka prahu slyšitelnosti 2.2 odpovídající naměřeným experimentálním hodnotám. Práh slyšitelnosti je velice důležitou součástí psychoakustického kodéru. Veškeré frekvenční složky, které se nacházejí pod ním jsou totiž neslyšitelné a je možné je ze signálu odebrat

2.5. MASKOVÁNÍ 5 bez změny poslechové kvality. Je také možné zmenšit numerickou přesnost přenášených frekvenčních složek, jejichž část spadá pod křivku prahu slyšitelnosti a tím zmenšit požadované nároky na množství přenesených dat. ( ) f 0,8 ( ) A(f) = 3, 64 6.5e 0,6( f f 4 1000 3,3)2 + 10 3 [db] (2.2) 1000 1000 140 120 SPL prahu slyšitelnosti 100 80 SPL [db] 60 40 20 0 20 10 2 10 3 10 4 f [Hz] Obrázek 2.2: Práh slyšitelnosti Pro ověření této křivky byl uspořádán experiment s využitím lékařského přístroje Voyager 522 pro měření prahu slyšitelnosti u pacientů trpících ztrátou sluchu. Testovaným subjektem v tomto případě byl sám autor. Měření proběhlo zvlášť pro levé a pravé ucho. Měření prováděly dvě osoby, testovaný subjekt a obsluha přístroje. Testovaný subjekt měl nasazena sluchátka a byl otočen zády k přístroji a obsluha spínala testovací tón na daných frekvencích od 125 Hz do 8 khz počínaje úrovní akustického tlaku 20dB s krokem a tedy i přesností 5dB. Testovaný subjekt dával pomocí tlačítka najevo, že daný signál slyší. Výsledky měření jsou vyneseny v grafu 2.3. Experiment potvrdil průběh naměřený v [3], křivky si tvarově odpovídají, avšak naměřené křivky jsou asi o 5 db výše, než křivka z literatury. Rozdíly mezi pravým a levým uchem jsou na hraně přesnosti. 2.5 Maskování Maskování je jev, při němž některá část v signálu vjemově překryje jinou, která je potom neslyšitelná. Tohoto jevu lze využít v psychoakustickém kodéru, neboť při přenosu reálných signálů dochází k maskování neustále a ve velké míře ovlivňuje naše vnímání zvuku. Prvek signálu, který způsobí překrytí jiného prvku nazýváme maskující (masker), prvek překrytý potom maskovaný (maskee). Maskování dělíme na dva typy, v závislosti na časové incidenci maskujícího a maskovaného prvku. Jestliže se maskující a maskovaný prvek vyskytují

6 KAPITOLA 2. PSYCHOAKUSTIKA 40 35 30 Práh slyšitelnosti pravého ucha Práh slyšitelnosti levého ucha Práh slyšitelnosti z literatury 25 SPL [db] 20 15 10 5 0 5 10 10 3 10 4 f [Hz] Obrázek 2.3: Naměřené prahy slyšitelnosti v signálu současně, hovoříme o takzvaném souběžném, spíše označovaném jako frekvenčním maskování. Jestliže maskující prvek časově předchází nebo následuje za maskovaným prvkem, hovoříme o časovém maskování. Na oba jevy se podíváme podrobněji. 2.5.1 Frekvenční maskování Frekvenční maskování je jev, při kterém silnější komponenta v signálu, která se vyskytuje ve stejném okamžiku jako komponenta slabší, tuto slabší překryje a ta přestane být v signále slyšitelná. Na obrázku 2.4 vidíme zjednodušený příklad frekvenčního maskování. Signál je tvořen třemi tóny o blízkých frekvencích. Tón s nejvyšší amplitudou, v jehož okolí dojde ke změně křivky slyšitelnosti, kompletně překryje ostatní dva tóny. Pokud tedy přehrajeme signál tvořený pouze prostředním tónem, z poslechového hlediska se zvuk nezmění, což nám dává velký potenciál k úspoře dat. Rozlišujeme dva druhy maskujících prvků, a to šumové a tónové. Šumový maskující prvek má mnohem lepší potenciál maskovat okolní frekvenční pásma než tón. Šumová složka maskuje frekvenční pásma s maximem -5 db pod úrovní maskujícího prvku, tónová složka až zhruba -20 db pod úrovní maskujícího prvku, což snižuje potenciál tónové složky z hlediska psychoakustické komprese. Rozdělení na tóny a šum je možné provádět například pomocí detekce lokálních maxim, kde maximum bude tón, nebo pomocí predikce, kdy tón bude vysoce predikovatelný z po sobě jdoucích frekvenčních spekter. 2.5.2 Časové maskování Časové maskování nastane, jestliže maskující a maskovaný prvek signálu se nevyskytuje ve stejném čase, ale maskující se vyskytuje buď před nebo po zaznění maskovaného prvku signálu [6]. Dopředné maskování (postmasking), nebo-li že maskující předchází maskovanému, si vysvětlujeme jako dobu odeznění rozkmitání membrány působící na vláskové buňky v

2.6. KRITICKÁ PÁSMA 7 140 120 100 Práh slyšitelnosti Maskované tóny Maskující tón Maskovací efekt tónu SPL [db] 80 60 40 20 0 10 2 10 3 10 4 f [Hz] Obrázek 2.4: Frekvenční maskování uchu způsobené maskujícím signálem. Zpětné maskování (premasking), tedy že maskující se vyskytuje v čase později než maskovaný, je jev, který je neočekávaný. Obecně se vysvětluje tím, že uchu trvá jistou dobu než naintegruje sluchový vjem a to způsobuje, že může vůbec dojít k zamaskování prvku signálu prvkem vyskytujícím se časově až po jeho doznění. Na obrázku 2.5 vidíme principielní nákres časového maskování v signálu. Je patrné, že dopředné maskování má mnohem delší dobu trvání, přes 100 ms, zatímco zpětné maskování trvá řádově desítky ms. Zpětné maskování využíváme při kvantizaci vzorků, kde při náhlé změně energie signálu v čase dochází k průniku nechtěné kvantizace i do nízkoenergetických částí signálu, což způsobí jev zvaný pre-echo. Abychom se tomuto jevu vyhnuli, musíme upravit časové rozlišení zpracování signálu tak, že výsledné nežádoucí efekty kvantizace padnou do oblasti, kde budou potlačeny zpětným maskováním. 2.6 Kritická pásma Experimenty ukázaly, že při frekvenčním maskování se maskovací efekt v okolí maskujícího prvku zužuje směrem k nižším frekvencím. Bylo zjištěno, že lidské ucho rozděluje zvuk do 24 takzvaných kritických pásem (critical bands). Uvnitř těchto pásem dochází k nejvýraznějším efektům frekvenčního maskování, neboť lidské ucho nedokáže uvnitř těchto kritických pásem jasně rozlišit vícero frekvencí. Kritická pásma nemají stejný frekvenční rozsah, pásma pokrývající nižší frekvence mají řádově nižší frekvenční rozsah než pásma

8 KAPITOLA 2. PSYCHOAKUSTIKA Obrázek 2.5: Časové maskování pokrývající vysoké frekvence. Tabulka 2.1 udává frekvenční rozsah jednotlivých kritických pásem. Na obrázku 2.6 vidíme rozložení středů jednotlivých kritických pásem po celém vnímatelném frekvenčním rozsahu. Jestliže na vodorovnou osu vyneseme lineárně všech 24 25 20 Kritické pásmo [Bark] 15 10 5 0 0 2000 4000 6000 8000 10000 12000 14000 16000 f [Hz] Obrázek 2.6: Frekvenční rozložení středů kritických pásem kritických pásem, potom v tomto měřítku odstraníme frekvenční závislost tvaru maskovacího efektu v okolí maskujícího prvku, maskovací efekt bude mít na celém rozsahu stejný tvar. Jedná se o Barkovou stupnici (Bark scale), jejíž jednotkou je 1 Bark. Jelikož celý koncept kritických pásem vychází z fyzických dispozic ucha, ve skutečnosti barková stupnice odpovídá fyzickému rozdělení vláskových buněk detekujících jednotlivé frekvence v uchu. Každý Bark odpovídá stejně dlouhému segmentu hlemýždě. Jedná se tedy o mapování z frekvenční oblasti do prostorové lokality ucha. Barková stupnice je nelineární stupnicí, pro převod jednotek z Hz do Bark se využívá vzorec 2.3. ( KP = 13atan 0, 76 f ) ( ( ) ) f 2 + 3, 5atan [Bark] (2.3) 1000 7500

2.6. KRITICKÁ PÁSMA 9 kr. pasmo 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. šířka [Hz] 100 100 100 100 110 120 140 150 160 190 210 240 kr. pasmo 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. šířka [Hz] 280 320 380 450 550 700 900 1100 1300 1800 2500 3500 Tabulka 2.1: Frekvenční šířka jednotlivých kritických pásem S použitím Barkové stupnice můžeme jednoduše určit maskovací efekt mezi komponentami signálu nezávisle na jejich frekvencích, což využijeme v psychoakustickém modelu při výpočtu maskování.

10 KAPITOLA 2. PSYCHOAKUSTIKA

Kapitola 3 Metody a algoritmy pro zpracování zvukového signálu 3.1 Úvod V této kapitole se seznámíme s metodami a algoritmy, které později využijeme při zpracování audiosignálu, zaměříme se na ty, jež jsou využity při kódování zvuku do formátu MP3. Dříve než se k nim dostaneme, zmíníme se o základech uložení audiosignálu na počítačích a jeho přednostech a nevýhodách a definujeme diskrétní Fourierovu transformaci potřebnou k převedení signálů do frekvenční oblasti. Podíváme se na subpásmové kódování, které lze s výhodou použít při kompresi reálných signálů a na implementaci této metody pomocí polyfázové banky filtrů a na transformační kódování reprezentované modifikovanou kosínovou transformací. Závěrem nahlédneme do principů bezeztrátové komprese dat využívající pravděpodobnostního rozdělení výskytu symbolů v datech a způsobu zabezpečení těchto dat proti chybám přenosu. 3.2 Pulzně kódová modulace (PCM) Pulzně kódová modulace je metoda převodu analogového signálu na signál digitální. Je známa již od roku 1937, kdy byla popsána britským inženýrem A. Reevsem, a později patentována. Její princip spočívá v tom, že analogový signál je vzorkován v pravidelných intervalech a hodnotám signálu v nich je přiřazena nejbližší diskrétní hodnota definovaná velikostí úložného místa pro jeden vzorek. Vyvstává tedy otázka, s jakou vzorkovací periodou T tedy vzorkovat, aby mohl být z digitálního signálu zpětně rekonstruován původní analogový signál. Odpověď na ni přinesl Claude Shannon v návaznosti na práci Harryho Nyquista[10]. Jestliže funkce f(x) neobsahuje frekvence vyšší nežli ω max (v radiánech za sekundu), potom je plně určena hodnotami posloupnosti bodů rozmístěných ve vzdálenosti T = π/ω max sekund. Převedeme-li radiány na jednotku Hertz a vyjádříme si frekvenci jako f = 1/T, dostáváme známý vztah 3.1, kde f max je nejvyšší frekvence v signálu a F s je vzorkovací frekvence. f max = F s 2 [Hz; Hz] (3.1) 11

12KAPITOLA 3. METODY A ALGORITMY PRO ZPRACOVÁNÍ ZVUKOVÉHO SIGNÁLU Jestliže budeme vzorkovat signál s frekvencí nižší nežli f s, dojde z důvodu periodicity spektra vzorkovaného signálu k jevu zvanému aliasing, čili překrytí frekvenčních spekter. S takto navzorkovaného signálu již není možné vytvořit originální analogový signál, dochází tedy k degradaci. Analogové hodnoty signálu ukládáme v digitální podobě jako čísla. Pro uložení digitální informace můžeme využít pouze konečné množství stavů, nejčastěji binárních, pak mluvíme o bitech. Právě počet bitů použitých k uložení dat ovlivňuje výslednou kvalitu signálu. Při digitalizaci analogové hodnoty do N bitů můžeme k uložení využít jeden z 2 N možných stavů. Rozdíl mezi skutečnou hodnotou amplitudy a hodnotou uloženou se nazývá kvantizační zkreslení, nabývá hodnoty poloviny kvantizační jednotky. Vzhledem k tomu, že toto zkreslení je pro všechny frekvence stejné, má tedy charakter bílého šumu, nazýváme kvantizační zkreslení někdy jako kvantizační šum. Důležitá je hodnota odstupu signálu od šumu-snr (z angl. signal-to-noise-ratio), který udává odstup šumové složky od signálu definovaného jako x[n] = A sin(n), kde A je rovné polovině rozsahu převodníku, čili 2 (N 1). Pro 16-bitové převodníky se udává SNR = 96dB. Odstup signálu od šumu pro obecný počet bitů na vzorek lze vyjádřit vztahem 3.2,kde N je počet bitů převodníku [2]. SNR = 6.021 N + 4.771 (3.2) Na obrázku 3.1 vidíme typický digitalizační řetězec. Nejprve analogový signál projde filtrem typu dolní propust, který odstraní frekvence nesplňující Shannonův teorém. Tento filtr se někdy označuje také jako antialiasingový, to z důvodu, že při jeho nezařazení se do navzorkovaného signálu dostanou všechny frekvence obsažené v původním analogovém signálu, tedy i ty, které nesplňují Shannonův teorém a způsobí aliasing. Poté dochází v obvodech Sample&Hold ke snímání amplitudy signálu v diskrétních časových okamžicích. Nasnímaná hodnota je následně v A/D (analogově/digitálním) převodníku kvantována na n-bitové číslo. Nejčastějším způsobem kódování v převodníku bývá doplňkový kód. vstup x(t) AF x(nt s ) x q [n] S&H A/D PC Obrázek 3.1: Digitalizační řetězec PCM Výhodou uložení signálu ve tvaru PCM je jednoduchá manipulace a úprava vzorků v časové oblasti a také větší odolnost proti chybám přenosu, protože chyba v jednom vzorku neovlivní ostatní vzorky. Největší nevýhodou pro reálné použití v audiotechnice je přílišná datová redundance způsobující i v dnešní době prodlevy při přenosu a vysoké nároky na úložná média. 3.3 Diskrétní Fourierova transformace Disrétní Fourierova transformace (DFT) je diskrétním ekvivalentem výpočtu koeficientů komplexní Fourierovy řady[4]. Využívá se jí pro výpočet diskrétního frekvenčního spektra

3.4. SUBPÁSMOVÉ KÓDOVÁNÍ 13 signálu. DFT použijeme na signál diskrétní v čase s délkou N vzorků. Provedeme úvahu, že tento signál je periodický s periodou N. Výpočtem DFT získáme frekvenční spektrum, které je opět periodické s periodou N, a které má frekvenční rozlišení F s /2N, kde F s je vzorkovací frekvence. Uvědomme si, že toto spektrum je komplexní. Rovnice 3.3 je definicí DFT. Pro přechod zpět z frekvenční do časové oblasti využíváme inverzní DFT, definovanou vztahem 3.4. X[k] = x[n] = 1 N N 1 n=0 N 1 k=0 x[n]e j 2π N nk k = 0..N 1 (3.3) X[k]e j 2π N nk n = 0..N 1 (3.4) S použitím definice je asymptotická složitost výpočtu rovna O(n 2 ). Využívá se proto rychlejší forma výpočtu DFT, takzvaná rychlá Fourierova transformace (Fast Fourier Transform) se složitostí O(nlogn). Jejím principem je znovuvyužití již dříve spočtených koeficientů. DFT nám umožní nahlédnou do frekvenční struktury signálu a z modulového a fázového frekvenčního spektra vyvodíme správné parametry psychoakustické komprese. 3.4 Subpásmové kódování Využijeme skutečnosti, že umíme převést signál z časové do frekvenční oblasti. Pro různá frekvenční pásma je výhodné použít různé strategie pro redukci dat, je také vhodné pracovat současně s pásmy, které vykazují podobný charakter signálu a tím dosáhnout lepší komprese. Nezabývejme se nyní konkrétními metodami, a podívejme se na jednotlivé fáze subpásmového kódování. Nejprve je nutné pomocí filtrů typu pásmová propust rozdělit signál do několika pásem. Šířka pásem bývá pro jednotlivé filtry z banky shodná, a to z důvodu redukce aliasingu na okrajích pásem. Typicky se používá počet filtrů v násobcích 2. Druhou fází rozdělení signálu do více frekvenčních pásem je decimace. Rozdělením signálu do N frekvenčních pásem totiž naroste N-násobně množství dat. Zde nachází využití předpoklad, že vzorkováním může dojít k překryvu frekvenčních pásem. Vzhledem k tomu, že ve filtrovaném signálu se žádné frekvence jiné, než které jsme propustili nevyskytují, můžeme provést převzorkování signálu s periodou N*T s, kde T s je původní vzorkovací perioda. Tím dojde k aliasingu, takže se nám propuštěné frekvence zobrazí na interval frekvencí od 0 do 1/NT s a nedojde ke ztrátě informace. Po decimaci tedy získáváme stejný objem dat, jaký jsme měli před frekvenčním dělením signálu. Abychom získali zpět původní signál, je potřeba doplnit do všech N pásem za každý vzorek N-1 nul, poté všech N frekvenčních pásem filtrovat opět pásmovými propustmi a nakonec všech N vzniklých signálů sečíst, čímž dostaneme původní signál. Samozřejmě filtry pro rozdělení a opětovné složení musí být speciálně navrženy, aby nedošlo k aliasingu. Na obrázku 3.2 je znázorněno schéma subpásmového kodéru a dekodéru, který dělí vstupní PCM signál do 32 subpásem, symbol značí převzorkování signálu, symbol doplnění nulami. Nyní už máme k dispozici N kanálů signálu a můžeme provést zakódování na každém zvlášť. Je zajímavé všimnout si jedné skutečnosti. Totiž audiosignály získané z reálného prostředí nemají rovnoměrně rozloženou energii. Jak vidíme na obrázku 3.3, který je typickým příkladem audiosignálu, zde konkrétně vzorkovaný frekvencí 44100Hz, nejvyšší energie se

14KAPITOLA 3. METODY A ALGORITMY PRO ZPRACOVÁNÍ ZVUKOVÉHO SIGNÁLU P CM 0 FILTR 32 32 FILTR + 1 FILTR 32 32 FILTR 31 FILTR 32 32 FILTR Obrázek 3.2: Schéma subpásmového kodéru a dekodéru nacházejí v rozsahu od 0Hz do 10kHz, v oblasti nad 16kHz už je energie velmi nízká. Je tedy možné například provést překódování těchto tří pásem a pro každé použít jiný počet bitů na vzorek, takový který obsáhne maximální hodnotu v daném pásmu. Tím dojde ke značné kompresi dat bez ztráty informace. V dekodéru pouze doplníme horní bity vzorků hodnotou nejvyššího bitu vzorku v počtu daném rozdílem původního a sníženého počtu bitů na vzorek. Při psychoakustické kompresi využijeme rozdělení signálu do frekvenčních pásem tím, že do každého pásma můžeme umístit jiné množství šumu a optimalizovat tím jeho rozložení aby nebyl vnímatelný a přitom došlo k datové kompresi. Další informace lze získat v [2] nebo [9]. 3.5 Polyfázová kvadraturní banka filtrů (PQMF) Se znalostí principů subpásmového kódování si uvedeme konkrétní metodu, která je využita v kódování formátu MP3. Jedná se o využití polyfázové kvadraturní banky filtrů (PQMF banka filtrů), kterou tvoří 32 pseudo-kvadraturních zrcadlových filtrů (PQMF filtry). Tento přístup vychází z návrhu filtrů pro perfektní rekonstrukci signálu, takzvaného kvadraturního zrcadlového filtru (Quadrature Mirror Filter) a konjugovaného zrcadlového filtru (Conjugate Mirror Filter). PQMF filtry, navržené Rothweilerem v [8], jsou aproximací filtrů pro perfektní rekonstrukci signálu. Pro vybraný počet frekvenčních pásem, do kterého budeme signál dělit, je vytvořen prototyp filtru. Použitelné filry jsou poté vytvořeny modulací prototypu kosínem s odpovídající frekvencí, což ve frekvenční oblasti odpovídá posunu středu propustného pásma filtru v kladném směru frekvenční osy a tím změně propouštěného frekvenčního pásma. Jejich výhodou je, že lze použít tyto filtry paralelně, nikoli kaskádně zapojené, a tím minimalizovat zpoždění banky filtrů. Banka filtrů pro analýzu, tedy rozklad signálu do frekvenčních pásem, je časovou inverzí banky pro syntézu, tedy sloučení signálů. Na obrázku 3.4 vidíme impulsní odezvu prototypu filtru. V implementaci formátu MP3 je použit FIR filtr délky 512 definovaný impulsní odezvou pomocí tabulky bodů[1]. Na obrázku 3.5 vidíme modul frekvenční charakteristiky prvních třech filtrů pro analýzu, které vznikly násobením koeficientů prototypu filtru kosínem 3.5. Vidíme, že frekvenční pásma mezi po sobě následujícími filtry se překrývají na úrovni -3dB a mezi nesousedními

3.5. POLYFÁZOVÁ KVADRATURNÍ BANKA FILTRŮ (PQMF) 15 3500 3000 2500 amplituda fr. spektra 2000 1500 1000 500 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 frekvence [Hz] x 10 4 Obrázek 3.3: Modul frekvenčního spektra typického audiosignálu filtry na úrovni méně než -100 db. Díky fázovým charakteristikám filtru je v sousedních pásmech zajištěno potlačení aliasingu způsobené tímto překryvem, mezi nesousedními pásmy se využívá toho, že úroveň signálu z pásma vzdálenějšího více než Fs 32 od středu propustného pásma pásmové propusti je nižší než kvantizační chyba kodéru. (( h k [n] = h[n]cos k + 1 ) (n 16) π ) 2 32 (3.5) Asymptotická složitost PQMF filtrace je O(n), ovšem problémem v praxi je velká konstanta. Při implementaci podle definice konvoluce je konstanta k = 512 operací na vzorek. Proto již ve standardu [1] je popsána vylepšená maticově orientovaná implementace 3.6 (zde implementace analýzy, pro syntézu stačí nahradit v M v kosínu r-16 výrazem r+16 a rovnici vynásobit 32), jejíž konstanta k = 80 operací na vzorek. Existují i rychlejší implementace pracující s konstantou k 20 operací na vzorek. 63 7 y m [k] = M[k, r] (C[r + 64p] x m [r + 64p]) k = 0..31 (3.6) r=0 p=0 (( M[k, r] = cos k + 1 ) (r 16) π ), C[n] = ( 1) floor( n 64 ) h[n] 2 32 Použitím PQMF rozdělíme signál do 32 fekvenčních pásem. Všechna pásma mají stejnou frekvenční šířku, která pro nízké frekvence absolutně nevyhovuje principu kritických

16KAPITOLA 3. METODY A ALGORITMY PRO ZPRACOVÁNÍ ZVUKOVÉHO SIGNÁLU 0.04 0.035 0.03 0.025 koeficient [ ] 0.02 0.015 0.01 0.005 0 0.005 0 100 200 300 400 500 600 vzorek [ ] Obrázek 3.4: Impulzní charakteristika prototypu filtru PQMF pásem, což limituje využití v psychoakustické kompresi. Abychom dosáhli většího frekvenčního rozlišení, a mohli tedy s vyšší přesností injektovat šum do signálu, je potřeba provést další frekvenční dělení signálu. To nám umožní metoda transformačního kódování zvaná modifikovaná kosínová transformace. 3.6 Modifikovaná kosínová transformace Modifikovaná kosínová transformace vychází z diskrétní kosínové transformace, konkrétně její podoby DCT-IV. Jedná se o typ diskrétní Fourierovy transformace, tedy převod signálu z časové do frekvenční oblasti. Oproti DFT má ovšem výhodu v tom, že výstupní posloupnost z DCT je reálná a nemusíme tedy pracovat s imaginární složkou jako u DFT. Toho je dosaženo tak, že transformovaná posloupnost hodnot signálu délky N je zrcadlena, a je vytvořena posloupnost, která je sudá s dvojnásobnou délkou 2N. Takováto posloupnost ale při transformaci eliminuje sinové koeficienty a její rozvoj je čistě kosínový, tedy reálný. Navíc je také sudou funkcí, proto stačí uchovat pouze N koeficientů pro úplnou rekonstrukci. DCT má ovšem i svoji nevýhodu ve zpracování signálů spojenou s nárůstem objemu dat. Uvědomme si, že filtrujeme časově omezené signály. Vybrání časově omezeného signálu z původního signálu si lze představit jako přenásobení vhodně posunutým čtvercovým oknem. To má ovšem velice pomalé odeznívání ve frekvenční oblasti, a proto dojde k výskytu frekvencí, které se v původním signálu nevyskytují. Musíme proto využít jiné než čtvercové okno. Okno je posloupnost čísel, kterými přenásobíme filtrovaný signál. Používáme okna jako jsou sinové, Hannovo 3.6 okno. Tato okna mají na okrajích nízké koeficienty, takže se ve frekvenční oblasti neprojeví artefakty způsobené ohraničením signálu v čase. Problémem v takovémto přístupu je ale zpětná rekonstrukce signálů přenásobených oknem. Nelze jednoduše při rekonstrukci signál oknem vydělit a tím získat původní signál. Provedením kvantizace zavedeme do signálu malé změny. Použitá okna na okrajích intervalu mají ovšem malé koeficienty, takže dělení malým číslem by způsobilo veliké chyby na okrajích, a toho

3.6. MODIFIKOVANÁ KOSÍNOVÁ TRANSFORMACE 17 20 0 2 1 h0[n] h1[n] h2[n] Útlum [db] 20 40 60 80 100 120 Útlum [db] 0 1 2 3 4 5 6 7 5 0 5 10 Fs/64 [Hz] 1 0 1 2 3 Fs/64 [Hz] Obrázek 3.5: Modul frekvenční charakteristiky prvních třech filtrů a detail v -3dB se chceme vyvarovat. Použiváme proto techniku zvanou překrytí a sečtení (Overlap and add). Jedná se o využití metody vyrušení aliasingu v časové oblasti (Time domain aliasing cancellation). Pro maximální potlačení aliasingu využíváme 50% překrývání, tedy že druhá polovina dat v časové oblasti je v dalším kroku použita jako první polovina a druhá polovina jsou nová data. V inverzní fázi při rekonstrukci signálu jsou data vynásobena opět oknem, a poté s daným překryvem jsou sečteny výsledky po sobě jdoucích výstupů, čímž se vyruší aliasing a získáme původní signál. Při použití DCT ovšem ihned vyvstává problém a to je zdvojnásobení počtu dat použitím překryvu, což je absolutně nepřijatelné, jelikož se snažíme o datovou kompresi. Modifikovaná kosínová transformace tento problém řeší. Pro N vstupů poskytuje N/2 výstupů. V inverzní fázi z N/2 vstupů vznikne N výstupů. Zdálo by se tedy, že takovéto řešení není možné, ale s využitím principů překryvu a součtu dostáváme požadované výstupy a jsme tedy schopni rekonstruovat signál při zachování nezměněného datového toku mezi MDCT a IMDCT (inverzní MDCT). Teoretické principy vycházejí z maticových operací, které není potřeba rozebrat k využívání MDCT v praxi. Předpis pro MDCT podle [1] je 3.7 a pro IMDCT 3.8, kde n = 36 pro dlouhé bloky a n = 12 pro krátké bloky, x je vzorek v časové a X ve frekvenční oblasti. X i = x i = n 1 k=0 n 2 1 k=0 ( ( π x k cos 2k + 1 + n ) ) (2i + 1) 2n 2 ( ( π X k cos 2i + 1 + n ) ) (2k + 1) 2n 2 i = 0.. n 2 1 (3.7) i = 0..n 1 (3.8) Délkou zvoleného bloku, tedy počtem časových vzorků zpracovaných v jednom kroku,

18KAPITOLA 3. METODY A ALGORITMY PRO ZPRACOVÁNÍ ZVUKOVÉHO SIGNÁLU 1 0.9 sin(n) hann(n) 0.8 0.7 koeficient [ ] 0.6 0.5 0.4 0.3 0.2 0.1 0 0 100 200 300 400 500 600 vzorek [ ] Obrázek 3.6: Sinové a Hannovo okno určujeme časové a frekvenční rozlišení. Dlouhý blok odpovídá zpracování 36 vzorků v časové oblasti, krátký blok 12 vzorkům, ovšem při zpracovávání krátkého bloku zpracujeme tři bloky najednou, čili počet výstupních dat z MDCT se nemění. Časové a frekvenční rozlišení jsou však rozlišení protichůdná, čili čím vyšší frekvenční rozlišení budeme mít, tím horší bude rozlišení časové a naopak. Vyšším frekvenčním rozlišením se snažíme dosáhnout vyšší přesnosti injekce šumu do signálu, vyšším časovým rozlišením správnou časovou lokalitu, tedy že kvantizace nebude příliš časově rozprostřena, což způsobuje jev zvaný pre-echo. Pre-echo vzniká, pokud signál s nízkou energií předchází vysokoenergetickému signálu, například ticho před zvukem bubnu. Pokud by nedošlo k potlačení pre-echa, byl by po kvantizaci slyšitelný dvojitý úder bubnu (double attack). Nastavení správné délky okna je tedy kompromisem mezi frekvenčním a časovým rozlišením. Kodér MP3 se s tímto vypořádá použitím vícero druhů oken v závislosti na hodnotě perceptuální entropie. Perceptuální entropie je odhad potřebného počtu bitů pro uložení signálu. S detailním popisem oken a perceptuální entropie se seznámíme v následující kapitole. Z pohledu implementace MDCT je asymptotická složitost výpočtu podle předpisu rovna O(n 2 ), s využitím FFT se dostáváme na přijatelné O(nlogn). 3.7 Huffmanovo kódování Redukci objemu dat napomáhá i bezeztrátová (lossless) komprese. Jedním z nejpoužívanějších algoritmů je Huffmanovo kódování [5]. Jedná se o prefixový kód s variabilní délkou binárního kódového slova, který je vytvořen na základě četnosti výskytu znaků v datech. Jestliže jsou kódované znaky mezi sebou nezávislé, jedná se o optimální řešení úlohy bezztrátové komprese. Nejčastěji se vyskytující znak je zakódován nejkratší binární posloupností a s klesající četností výskytu znaků se prodlužuje délka kódových slov. Kódová tabulka Huffmanova kódu se vytváří pomocí binárního stromu. Listy tohoto stromu tvoří kódované znaky, které jsou ohodnoceny četností výskytu znaku. Hrany jsou ohodnoceny binárními stavy 0

3.7. HUFFMANOVO KÓDOVÁNÍ 19 znak m o t i n p c u r e x s g četnost 1 3 3 2 1 3 1 2 3 3 1 1 1 3 Tabulka 3.1: Četnost znaků v textu motion picture experts group znak m o t i n p c bin. kód 11111 1000 011 1010 11110 010 11101 znak u r e x s g bin. kód 1001 001 000 11100 10111 10110 110 Tabulka 3.2: Huffmanovy kódy znaků v textu motion picture experts group a 1. Pokud procházíme směrem od kořenu k listu a zapisujeme za sebe ohodnocení hran, kterými jsme prošli, získáváme kódové slovo pro znak v listu. Tvorba Huffmanova stromu probíhá odspoda nahoru, vyberou se uzly s nejnižšími četnostmi, je vytvořen nový uzel, který má četnost rovnou součtu těchto dvou uzlů a jeho potomky se stanou právě tyto dva uzly, jeden je připojen hranou ohodnocenou 1 a druhý 0. Takto se pokračuje, dokud neexistuje pouze jeden uzel, který nemá předka, poté je už Huffmanův strom sestaven a lze vypsat kódová slova do tabulky. Pro upřesnění doplňme, že získaný kód není jediný možný, jestliže existuje více optimálních kódů je možné využít kterýkoliv se stejnými výsledky komprese. Uvedeme jednoduchý příklad, kompresi slovního spojení motion picture experts group. V tabulce 3.1 vidíme četnost jednotlivých znaků. Na obrázku 3.7 je sestrojený Huffmanův strom, a pod ním v tabulce 3.2 binární kód pro jednotlivé znaky. Pokud bychom kódovali tento text pomocí 8 bitové ASCII tabulky, potřebovali bychom 208 bitů. Pomocí Huffmanova kódu by nám stačilo 93 bitů. Dosáhli jsme tedy datové komprese 55 procent, pokud neuvažujeme náklady na přenos tabulky. Ve formátu MP3 se využívají domluvené Huffmanovy tabulky, získané statistickou analýzou signálů. 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 t p r e 1 0 1 0 1 0 i u o 1 0 1 0 m n c x s g Obrázek 3.7: Huffmanův strom Asymptotická složitost výpočtu Huffmanova stromu je O(n), jestliže máme již seřazené četnosti znaků. Pro neseřazené četnosti s využitím například QuickSort algoritmu pro seřazení se nám složitost zhoršuje na O(nlogn). Samotné kódování a dekódování má složitost O(n). V kodéru MP3 se využívá Huffmanova kódu ke kompresi kvantizovaných výstupů MDCT.

20KAPITOLA 3. METODY A ALGORITMY PRO ZPRACOVÁNÍ ZVUKOVÉHO SIGNÁLU 3.8 Cyklický redundantní součet Přenášená data je potřeba zabezpečit proti chybám přenosu. Zabezpečují se bloky dat, proto se použité kódy označují jako blokové. Jedním z jednoduchých lineárních kódů, který se používá, je cyklický redundantní součet (Cyclic Redundancy Check - CRC). Teto kód je založen na lineární algebře a na dělení mnohočlenů. Blok dat délky k je zabezpečen r bity a přenáší se výsledný počet n = k+r bitů. Myšlenkový postup tvorby přenášeného bloku dat je následující. Je vybrán generující polynom stupně r s binárními koeficienty a m, to jest s nejvyšší mocninou a r 1 x r 1, kde a r 1 je 1. Určí se blok binárních dat, který bude zabezpečen, jehož hodnoty se stanou koeficienty mnohočlenu A(x) stupně k-1, k němu je připojeno r nul jako r nejnižších bitů. Provedeme vydělení tohoto polynomu generujícím polynomem. Výsledkem toho procesu bude zbytek po dělení, který bude stupně nejvýše r-1. Provedeme součet zbytku po dělení s mnohočlenem A(x) rozšířeným o r nul. Tím získáváme přenášenou posloupnost bitů. Na přijímací straně provedeme dělení přijaté posloupnosti generujícím polynomem. Jestliže výsledek nebude nulový, vyskytla se v přijímané posloupnosti chyba, ovšem ani nulový výsledek nezaručí bezchybný přenos. Je možné, že se vyskytne kombinace, kterou CRC neodhalí. Záleží především na stupni generujícího polynomu, čím vyšší stupeň zvolíme, tím nižší je pravděpodobnost chyby při nulovém výsledku dělení, ovšem narůstá nám datová redundance, takže opět čelíme dvěma protichůdným tendencím a je úkolem udělat kompromis mezi spolehlivostí a počtem přenášených dat. Algoritmická realizace podle tohoto postupu by však byla zbytečně hardwarově náročná. Všechny potřebné operace jak ve vysílací tak v přijímací části lze provádět pomocí zpětnovazebního posuvného registru, jehož struktura je určena generujícím polynomem. Ve vysílači se prvních k bitů přímo propouští na výstup a do posuvného registru, po k krocích je v posuvném registru zbytek po dělení délky r, který vložíme na výstup a získáme odesílanou posloupnost n bitů. V přijímací části budeme mít stejný posuvný registr, kam nasuneme postupně všech n bitů zprávy, potom budou mít při bezchybném přenosu všechny registry nastavenu hodnotu 0. Matematické podklady a příklad vytvoření posuvného registru například v [11].

Kapitola 4 Standard MPEG I - Part 3: Audio 4.1 Úvod Tato kapitola má za úkol seznámit čtenáře s prvním mezinárodním standardem zaměřujícím se na kompresi zvuku ve vysoké kvalitě s využitím principů psychoakustiky. Jedná se o standard ISO/IEC 11172-3: MPEG I - Audio, který vznikl jako součást standardu pro kódování obrazu a zvuku v rámci skupiny Moving Pictures Experts Group (MPEG), pod patronátem Mezinárodní organizace pro normalizaci (ISO). Standard MPEG I - Audio vychází z již existujících algoritmů MUSICAM a ASPEC, jejichž historii stručně vyložíme. Veškeré standardy do té doby adresovaly především kódování řeči s pomocí modelů hlasového ústrojí a kompresi zvuku, která pro zachování CD kvality potřebovala příliš malý a pro přenos nepřijatelný kompresní poměr. Řekneme si něco i o formátech MPEG I - Layer I a Layer II, které jsou jednoduchou verzí psychoakustického kompresního formátu. V této kapitole se ovšem hlavně zaměříme na snad nejznámější hudební formát MPEG I - Layer III, označovaný dnes výhradně MP3 formát, který využívá přístupy uvedené v předchozí kapitole. Ve stručnosti probereme jednotlivé bloky a jejich přínos v celém kompresním řetězci a také formátování bitového toku. 4.2 MUSICAM a ASPEC Standard MPEG I - Audio definuje tři úrovně kodéru s rostoucí složitostí i efektivitou komprese, označované Layer a číslo udávající úroveň. Layer I a Layer II vycházejí z algoritmu MUSICAM (Masking pattern adapted Universal Subband Integrated Coding And Multiplexing), navrhnutého pro MPEG jako kompresní standard společností Philips a výzkumnou organizací CCETT. Tyto dva formáty využívají polyfázovou banku filtrů k rozdělení signálu do 32 frekvenčních pásem, jednoduchý psychoakustický model, který přímo definuje kvantizaci vzorků ze subpásem, ať už se v jednom bloku kóduje 12 vzorků pro každé subpásmo a tedy celkově 384 vzorků (Layer I), nebo 12x3 vzorky a tedy 1152 vzorků v bloku pro úsporu bitů v hlavičce a scalefactorech (Layer II). Scalefactor je koeficient, který mění měřítko přenášených dat přenásobením (vzhledem k neustálenému překladu tohoto pojmu se v této práci přidržíme termínu scalefactor). Kódování se provádí v časové oblasti. Jejich výhodou je nízká výpočetní náročnost takovéto komprese, musíme si uvědomit, že standard vznikal 21

22 KAPITOLA 4. STANDARD MPEG I - PART 3: AUDIO na počátku 90. let 20. století a bylo třeba zajistit praktickou využitelnost. Hlavní nevýhoda spočívá v nedostatečném frekvenčním rozlišení. Pouze 32 frekvenčních pásem, které navíc mají stejnou frekvenční šířku, neumožňuje hlavně v oblasti nízkých frekvencí využít jevu frekvenčního maskování. Layer II například našel své uplatnění v digitálním rozhlasovém vysílání (Digital Audio Broadcasting). Mnohem vyspělejším formátem je MPEG I - Layer III, MP3. Vychází z algoritmu ASPEC (Adaptive Spectral Perceptual Entropy Coding) za nimiž stojí AT&T, Thomson a Fraunhoferův institut při univerzitě Hannover. V rámci kompatibility dekodéru s formáty Layer I a II byla drobně pozměněna jeho struktura. Jedná se především o zařazení polyfázové banky filtrů, která v původním návrhu ASPEC chybí a využívá se pouze MDCT. Z důvodu zpětné kompatibility vrstev standardu je tedy využita hybridní banka filtrů, kterou tvoří sériové zapojení polyfázové banky filtrů a MDCT bloků. Využívá se vylepšený psychoakustický model z důvodu lepší detekce psychoakustických vlastností signálu, které v kombinaci s hybridní bankou filtrů zlepšují poslechovou kvalitu. Další komprese je dosaženo s využitím bezeztrátového statického Huffmanova kódování. Jeho nevýhodou v době vzniku standardu byla vysoká výpočetní složitost oproti Layer I a Layer II, ale nad ní převážili mnohem lepší výsledky z hlediska datové komprese při srovnatelné kvalitě zvuku. Formát MP3 byl určen pro distribuci hudby pomocí ISDN, v dnešní době se jedná o nejrozšířenější hudební formát internetu a přenosných přehrávačů hudby. 4.3 Obsah standardu Standard ISO/IEC 11172-3 se skládá z obecné a technické částí a tzv. doložek (annex), které jsou jak normativní tak informativní. Standard určuje správný formát bitového toku, který by měl každý dekodér umět interpretovat. Definuje i požadavky na dekodér a tabulky, které dekodér používá, v normativní části doložek. Tímto je zajištěna kompatibilita dekodérů s datovými toky a je zajištěna správná reprodukce. V informativní části skupina MPEG prezentuje velmi stručný návod na implementaci kodéru. Nutno poznamenat, že i přes několik proběhlých revizí standardu se v něm stále vyskytují známé chyby, které implementaci kodéru ztěžují. Kodér tedy není součástí povinné části standardu, což vede k tomu, že výrobci kodérů ho mohou vylepšovat, pokud je výstupem stále bitový tok splňující standard. Je možné vylepšovat jak algoritmy použité pro filtrování a tím urychlit činnost kodéru, tak upravovat psychoakustický model a dosahovat lepších kompresí. Formát MP3 je patentován, a programování kodéru pro jiné než studijní účely je striktně omezeno licenčními poplatky. Informace pro tuto kapitolu byly čerpány z [1], [2] a [7]. 4.4 Kodér formátu MP3 Na obrázku 4.1 vidíme schéma kodéru formátu MP3. Pokud si ho srovnáme s dekodérem 4.4, vidíme, že kodér je složitější. Toto rozvážení dvojice kodér a dekodér je obzvlášť vhodné pro přehrávání hudebních souborů. Kódování totiž proběhne pouze jednou a proto není problém s jeho složitostí a tedy časovou náročností. Naopak dekódování probíhá při každém spuštění a je potřeba, aby probíhalo v reálném čase na zařízení s minimálními nároky na