POLITECHNIKA WARSZAWSKA

Wydział Elektroniki i Technik Informacyjnych

ROZPRAWA DOKTORSKA

mgr inz.˙ Grzegorz Brzuchalski

Optymalizacja algorytmów kwantyzacji w kodowaniu d´zwi˛eku

Promotor prof. dr hab. inz.˙ Władysław Skarbek

Warszawa 2015

Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Serdecznie dzi˛ekuj˛e: Bogu, memu Panu i Zbawicielowi za zycie˙ i mozliwo˙ s´c´ napisanie tej pracy

Zonie˙ Karolinie Dzieciom: Pawełkowi i Asi oraz Rodzicom za cierpliwos´c´ i wsparcie

Profesorowi Władysławowi Skarbkowi za pomoc i wskazówki, którymi mnie wspomógł Grzegorzowi Pastuszakowi za inspiracj˛e,motywacj˛ei wszelk ˛aniezb˛edn˛apomoc

kolegom z Zakładu Telewizji za wszelk ˛apomoc jakiej udzielili

Przyjaciołom za pomoc w odsłuchach

Pracownikom Zakładu Elektroakustyki za mozliwo˙ s´c´ przeprowadzenia testów odsłuchowych

Fundacji Wspierania Rozwoju Radiokomunikacji i Technik Multimedialnych za przyznane stypendium doktoranckie, które przyspieszyło finalizacj˛eniniejszej rozprawy

iii Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Streszczenie

W niniejszej rozprawie przeanalizowano szereg algorytmów modelu psychoakustycznego oraz algorytmów alokacji bitów w koderze audio. Wprowadzono modyfikacje niektórych algorytmów oraz zaproponowano algorytm równych współczynników kwantyzacji (ESF) nie wykorzystuj ˛acy modelu psychoakustycznego. Porównano zaimplementowane algorytmy oraz wykazano, ze˙ ESF uzyskuje podobne wyniki do algorytmów korzystaj ˛acych z modelu psychoakustycznego. Zaproponowano takze˙ algorytm wyrównywania poziomów energii w pasmach cz˛estotliwosciowych´ w kilku odmianach. Dwa warianty – modyfikacji współczynników kwantyzacji i modyfikacji offsetów – pozwalaj ˛ana polepszenie jakosci´ kodowanych sekwencji.

Słowa kluczowe: Zaawansowane Kodowanie Audio, AAC, kompresja d´zwi˛eku, MPEG, kwantyzacja, alokacja bitów, wyrównywanie poziomów energii

Abstract

In this dissertation several algorithms of the psychoacoustic model and the bit allocation in the audio encoder have been analyzed. Some modifications have been introduced into the algorithms and the equal-scale-factor (ESF) algorithm, which does not use psychoacoustic model, has been proposed. Implemented algorithms have been evaluated. The ESF algorithm achieves similar quality results to algorithms based on the psychoacoustic model. Also, energy balance algorithms has been proposed in a few variants. Two of them: balance energy based on the scale factor modification and based on the offset modification enable the audio quality improvement.

Keywords: , AAC, audio compression, MPEG, quantization, bit alocation, balance energy

v Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Spis tresci´

Spis rysunków ...... xi

Spis tablic ...... xiv

Wykaz skrótów ...... xvi

1 Wprowadzenie ...... 1 1.1 Motywacja ...... 2 1.2 Tezy ...... 3 1.3 Zawartos´c´ rozprawy ...... 3

2 Miary jakosci´ d´zwi˛eku ...... 5 2.1 Obiektywna miara jakosci´ d´zwi˛eku...... 5 2.1.1 Miary bazuj ˛acena stosunku szumu do progów słyszenia ...... 7 2.1.2 Miary bazuj ˛acena szerokosci´ pasma ...... 14 2.1.3 Miara struktury harmonicznej bł˛edu ...... 15 2.1.4 Miary modulacji ...... 17 2.1.5 Miary głosno´ sci´ zniekształcen´ ...... 19 2.1.6 Miary prawdopodobienstwa´ wykrycia zniekształcen´ ...... 22 2.2 Analiza parametrów PEAQ ...... 24 2.3 Sekwencje testowe ...... 26 2.4 Miary jakosci´ i ich statystyki ...... 27 2.5 Interpolacja punktów ...... 29

3 Przegl ˛adkoderów d´zwi˛eku ...... 33 3.1 Kodery grupy roboczej MPEG ...... 33 3.1.1 MPEG-1 ...... 34 3.1.2 MPEG-2/4 ...... 35 3.1.3 USAC ...... 46 3.2 Kodery Fundacji XIPH.org ...... 47 3.2.1 OGG ...... 47 3.2.2 ...... 48

vii Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 3.3 Kodery Microsoft Corporation ...... 50

4 Porównanie efektywnosci´ i mozliwo˙ sci´ koderów d´zwi˛eku ...... 51 4.1 Testy koderów ...... 51 4.2 Testy kodera FAAC ...... 54 4.2.1 TNS – kształtowanie szumu kwantyzacji ...... 54 4.2.2 Kodowanie stereo – MS ...... 55 4.2.3 Zastosowanie róznych˙ długosci´ okna w FAAC ...... 58 4.2.4 Filtr dolnoprzepustowy ...... 58 4.3 Testy kodera Nero ...... 59 4.3.1 Grupowanie krótkich okien ...... 59 4.3.2 Tryby kontroli przepływnosci´ bitowej ...... 59 4.4 Porównianie koderów FAAC i NERO ...... 61 4.4.1 Wykorzystanie kodera Nero ...... 61 4.4.2 Wykorzystanie kodera Nero – testy ...... 62 4.4.3 Wybór długosci´ i kształtu okna ...... 64 4.4.4 Wpływ wyboru długosci´ okien na jakos´c´ kodowania ...... 66

5 Model psychoakustyczny ...... 69 5.1 Podstawy percepcji słyszenia ...... 69 5.1.1 Ucho zewn˛etrzne ...... 69 5.1.2 Ucho srodkowe´ ...... 69 5.1.3 Ucho wewn˛etrzne...... 70 5.2 Ogólne zjawiska słuchu wykorzystywane w kodowaniu d´zwi˛eku ...... 70 5.2.1 Progi słyszenia ...... 70 5.2.2 Pasma Barkowe ...... 70 5.2.3 Maskowanie cz˛estotliwosciowe´ ...... 71 5.2.4 Maskowanie czasowe ...... 72 5.3 Model psychoakustyczny I ...... 73 5.4 Model psychoakustyczny II ...... 73 5.4.1 Sczegółowy przebieg algorytmu wyznaczania progów w modelu psychoakustycznym II ...... 75 5.4.2 Dodatkowe funkcje ...... 82 5.5 Zmodyfikowany model psychoakustyczny II ...... 83 5.6 Model psychoakustyczny w koderze 3gpp ...... 86 5.7 Model psychoakustyczny bazuj ˛acy na PEAQ ...... 86 5.8 Moduły skalowania ...... 88 5.9 Porównanie modeli psychoakustycznych ...... 88

viii Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 6 Algorytmy alokacji bitów ...... 91 6.1 Algorytm podwójnej p˛etliprzeszukiwania – Two Loop Search ...... 91 6.1.1 P˛etlazewn˛etrzna ...... 92 6.1.2 P˛etlawewn˛etrzna ...... 93 6.1.3 Warunki stopu ...... 94 6.2 Zmodyfikowany algorytm TLS ...... 94 6.3 Algorytm ze stałymi współczynnikami kwantyzacji ...... 95 6.4 Algorytm optymalizacji na kracie z uzyciem˙ kosztu RD ...... 96 6.4.1 Przebieg algorytmu dla miary ANMR ...... 97 6.4.2 Przebieg algorytmu dla miary MNMR ...... 99 6.4.3 Wyznaczenie optymalnej wartosci´ parametru lambda ...... 99 6.4.4 Porównanie algorytmów ...... 100 6.4.5 Modyfikacje algorytmu ...... 100 6.5 Algorytm BFOS i jego modyfikacje ...... 104 6.5.1 Algorytm BFOS ...... 104 6.5.2 Algorytm Enhanced BFOS ...... 105 6.5.3 Algorytm AEBAS ...... 106 6.5.4 Algorytm bez uzycia˙ p˛etli ...... 107 6.6 Realizacja algorytmów alokacji bitów ...... 108 6.6.1 Badanie algorytmu TRDO ...... 108 6.6.2 Badanie algorytmu ESF ...... 111 6.6.3 Porównanie własciwo´ sci´ algorytmów alokacji bitów ...... 112 6.7 Kodowanie entropijne ...... 113 6.7.1 Kodowanie współczynników cz˛estotliwosciowych´ ...... 113 6.7.2 Kodowanie współczynników kwantyzacji Scale Factor ...... 114 6.7.3 Kodowanie numerów ksi ˛azek˙ kodowych ...... 114 6.7.4 Porównanie technik optymalizacji kodowania Huffmana ...... 116

7 Wyrównywanie poziomów energii ...... 119 7.1 Metoda BESF ...... 120 7.2 Metoda BEOF ...... 120 7.2.1 Opis metody ...... 120 7.2.2 Wł ˛aczniemetody BEOF do algorytmu TRDO ...... 122 7.3 Metoda BEOFC ...... 122 7.3.1 Wariant pierwszy ...... 122 7.3.2 Wariant drugi ...... 123 7.3.3 Wariant trzeci ...... 123 7.3.4 Analiza kryteriów wyboru najlepszego wyniku ...... 124

ix Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 7.4 Zerowanie wybranych pasm ...... 125 7.5 Testy algorytmów BESF oraz BEOF ...... 126

8 Porównanie koderów z wybranymi algorytmami alokacji bitów i równowazenia˙ energii ...... 131 8.1 Przegl ˛adliteratury ...... 131 8.2 Obiektywne porównanie ...... 132 8.3 Subiektywne porównanie ...... 134 8.3.1 Testy odsłuchowe w warunkach domowych ...... 134 8.3.2 Testy przeprowadzone w studio ...... 135 8.3.3 Wnioski ...... 136

9 Podsumowanie ...... 141

Dodatek A — Parametry uruchamianych koderów ...... 142

Dodatek B — Parametry kodera FAAC ...... 144

Bibliografia ...... 147

x Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Spis rysunków

2.1 Diagram algorytmu wyznaczania NMR w PEAQ ...... 10 2.2 Przykładowe okna Hanna dla długiego okna ...... 10 2.3 Charakterystyka filtru ucha zewn˛etrznego i srodkowego´ ...... 11 2.4 Przebieg funkcji tłumienia szumu wewn˛etrznego w uchu ...... 12 2.5 Funkcja rozproszenia ...... 12 2.6 Współczynniki gm ...... 13 2.7 Schemat obliczania miar szerokosci´ pasm referencyjnego i testowego: BandwidthRefB i BandwidthTestB...... 15 2.8 Schemat obliczania struktury harmonicznej bł˛edu(EHS) ...... 16

2.9 Podstawowy schemat obliczania miar modulacji: MAdiff1, MAdiff2, MW diff . . 17 2.10 Pierwsza cz˛es´c´ schematu obliczania miar głosno´ sci:´ RmsNoiseLoud . . . . . 19 2.11 Druga cz˛es´c´ schematu obliczania miar głosno´ sci:´ RmsNoiseLoud ...... 21 2.12 Podstawowy schemat obliczania miar prawdopodobienstwa´ wykrycia róznic˙ mi˛edzysygnałem testowym a referencyjny oraz miar ADB i MFPD ...... 22 2.13 Zmiany pojedynczych składowych PEAQ, a ODG ...... 26 2.14 Interpolacja punktu o zadanej przepływnosci´ bitowej ...... 30

3.1 Schemat działania koderów MPEG-1 Warstwy I i II ...... 34 3.2 Schemat działania kodera MPEG1 Layer III – mp3 ...... 34 3.3 Schemat działania kodera AAC ...... 38 3.4 Przykład kształu okien dla funkcji sinusowej i kbd ...... 39 3.5 Schemat modułu predykcji ...... 40 3.6 Schemat modułu predykcji długookresowej ...... 41 3.7 Schemat dekodera USAC ...... 47 3.8 Schemat dekodera Vorbis, gdzie floor to niskocz˛estliwosciowe´ współczynniki spektralne, a residua, to wysokocz˛estotliwosciowe´ współczynniki spektralne. . 48 3.9 Schemat dekodera Opus...... 48 3.10 Schemat dekodera CELT...... 49

4.1 Schemat testowania koderów audio ...... 52

xi Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 4.2 Porównanie róznych˙ dost˛epnych koderów dla przepływnosci´ bitowej 128kb/s stereo ...... 52 4.3 Porównanie róznych˙ dost˛epnych koderów dla przepływnosci´ bitowej 128kb/s mono ...... 53 4.4 Zalezno˙ s´c´ jakosci´ d´zwi˛ekuw mierze ODG od przepływnosci´ bitowej (bitrate) dla testowanych koderów ...... 54 4.5 Przykładowy przebieg kodowania z wł ˛aczonym i wył ˛aczonym TNS dla kodera FAAC ...... 55 4.6 Przykładowy przebieg kodowania z wł ˛aczonym i wył ˛aczonym trybem MS dla kodera FAAC dla sekwencji stereo ...... 56 4.7 Przykładowy przebieg kodowania z wł ˛aczonym i wył ˛aczonym trybem MS dla kodera FAAC...... 56 4.8 Przykładowy przebieg kodowania z wł ˛aczonym i wył ˛aczonym trybem MS dla kodera FAAC...... 57 4.9 Porównanie efektywnosci´ kodowania kodera FAAC dla wartosci´ filtra dolnoprzepustowego 16kHz i 20kHz ...... 58 4.10 Porównanie trybów rozdziału bitów w koderze NERO...... 60 4.11 Układ testuj ˛acy projektowany koder z mozliwo˙ sci´ ˛apobrania odpowiednich parametrów z kodera NERO ...... 62 4.12 Wykres 3D sprawdzaj ˛acy poprawnos´c´ odnalezienia przesuni˛ecia w synchronizacji sekwencji przetwarzanych par ˛aNEROenc – FAAD ...... 63 4.13 Fragment porównania wyboru długosci´ okna dla algorytmów FAAC i NERO. . 64 4.14 Porównanie algorytm ESF z uzyciem˙ okien z FAAC i NERO ...... 65 4.15 Porównanie efektywnosci´ kodera FAAC z wł ˛aczonym (FAAC) i z wył ˛aczonym (FAAC_L) algorytmem wybierania okien ...... 66

5.1 Przykład krzywej progów słyszenia ...... 71 5.2 Maskowanie cz˛estotliwosciowe.´ ...... 72 5.3 Maskowanie czasowe...... 73 5.4 Uproszczony schemat modelu psychoakustycznego I ...... 74 5.5 Uproszczony schemat modelu psychoakustycznego II ...... 75 5.6 Szczegółowy schemat algorytmu modelu psychoakustycznego II ...... 76 5.7 Wykres funkcji progów słyszenia qsthr ...... 80 5.8 Przykładowy wykres funkcji rozpraszaj ˛acej ...... 82 5.9 Przykładowy wykres funkcji normalizuj ˛acej ...... 83 5.10 Schemat blokowy zmodyfikowanego algorytmu modelu psychoakustycznego . 84

5.11 Funkcja absolutnego progu słyszenia qthr w dziedzinie pasm sfb standardu AAC 85 5.12 Schemat modelu psychoakustycznego bazuj ˛acego na algorytmie PEAQ . . . . . 87

xii Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 5.13 Przebieg krzywych maskowania dla trzech modeli psychoakustycznych . . . . 89 5.14 Porównanie działania algorytmów modeli psychoakustycznego w praktyce z uzyciem˙ algorytmu TRDO alokacji bitów ...... 90

6.1 Algorytm p˛etlizewn˛etrznejTLS ...... 92 6.2 Algorytm p˛etliwewn˛etrznejTLS ...... 93 6.3 Porównanie wartiantów ESF z szukaniem (esf) i bez szukania maksymalnej przepływnosci´ (esf_nfm) bitowej dla ramki ...... 96 6.4 Prosta, trójstanowa, trójpoziomowa krata...... 98 6.5 Podwójna krata CTB ...... 101 6.6 Szczegółowy schemat kraty CTB...... 102 6.7 Schemat dwuwarstwowej kraty ...... 102 6.8 Diagram działania algorytmu EBFOS ...... 105 6.9 Diagram algorytmu AEBAS – przyspieszonego EBFOS ...... 107 6.10 Porównania działania kodera optymalizuj ˛acego miar˛eANMR i ANMRS dla dwóch modeli psychoakustycznych ...... 111

7.1 Konfiguracje BEOFC ...... 125 7.2 Zerowanie w pasmach – wyniki ...... 126 7.3 Histogram stosunku energii oryginalnej i po rekonstrukcji dla przypadku nie uzywania˙ narz˛edziwyrównywania energii ...... 127 7.4 Histogram stosunku energii oryginalnej i po rekonstrukcji dla przypadku uzycia˙ BESF ...... 127 7.5 Histogram stosunku energii oryginalnej i po rekonstrukcji dla przypadku uzycia˙ BEOF ...... 127 7.6 Histogram stosunku energii oryginalnej i po rekonstrukcji dla przypadku uzycia˙ kaskady BESFOF ...... 128 7.7 Porównanie algorytmów wyrównywania energii dla ESF ...... 128 7.8 Porównanie algorytmów wyrównywania energii dla TLS ...... 129 7.9 Porównanie algorytmów wyrównywania energii dla BFOS ...... 129 7.10 Porównanie algorytmów wyrównywania energii dla TRDO ...... 130

8.1 Szczegółowe wyniki projektowanych koderów ...... 133 8.2 Porównanie róznych˙ algorytmów oraz koderów NERO i FAAC ...... 134

xiii Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Spis tablic

2.1 ODG a SDG ...... 6 2.2 Elementy składowe PEAQ w wersji podstawowej ...... 8 2.3 Moduły składowe miary PEAQ w wersji zaawansowanej ...... 8 2.4 Porównanie wyników kodowania tej samej sekwencji dwoma koderami . . . . 25 2.5 Wykaz sekwencji ze zbioru EBU SQAM ...... 27 2.6 Wykaz sekwencji ze zbioru LAME ...... 28

3.1 Narz˛edzia uzywane˙ w poszczególnych profilach w standardzie MPEG-2 czes´c´ 7 35 3.2 Kategorie i narz˛edziaw standardzie MPEG-4 ...... 36 3.3 Ksi ˛azki˙ kodowe Huffmana (HCB) ...... 43 3.4 Przykładowa sekwencja HCB ...... 45 3.5 Przykładowa sekwencjaSF ...... 45

5.1 Wyniki kodowania przykładowych sekwencji z warunkiem by NMR był na poziomie 0dB ...... 88

6.1 Zalezno˙ s´c´ liczby przeszukiwanych pasm N w kracie i uzyskiwanego poziomu sredniego´ NMR (ANMR) ...... 110 6.2 Zalezno˙ s´c´ liczby k przeszukiwanych ksi ˛azek˙ HCB i uzyskanej jakosci´ ODG dla sekwencji m_ftb_samp...... 110 6.3 Porównanie mozliwo˙ sci´ algorytmów do dopasowywania si˛e do krzywych maskowania...... 112 6.4 Zawartos´c´ procentowa poszczególnych składowych w strumieniu AAC dla róznych˙ algorytmów...... 113 6.5 Zmniejszenie złozono˙ sci´ obliczeniowej przy zastosowaniu optymalizacji kodowania Huffmana dla algorytmu alokacji bitów BFOS ...... 116 6.6 Zmniejszenie złozono˙ sci´ obliczeniowej przy zastosowaniu optymalizacji kodowania Huffmana dla algorytmu alokacji bitów TRDO ...... 116 6.7 Wyniki czasowe zastosowanych optymalizacji dla algorytmu TRDO dla 5s sekwencji muzycznej...... 117

7.1 Przykładowe uzyte˙ konfiguracje BEOFC ...... 124

xiv Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 7.2 Konfiguracje modułu zerowania pasma uzyte˙ w testach ...... 126

8.1 Szczegółowe wyniki ODG dla róznych˙ koderów ...... 138 8.2 Wyniki testów subiektywnych ...... 139 8.3 Wyniki testów subiektywnych ...... 139 8.4 Usrednione´ wyniki testów subiektywnych ...... 139

1 Uzywane˙ narz˛edziaw koderze FAAC ...... 145

xv Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Wykaz skrótów

AAC zaawansowane kodowanie d´zwi˛eku(Advanced Audio Coding) ANMR sredni´ NMR (Avarage NMR) BE Algorytm wyrównywania poziomów energii (Balance Energy) BEOF BE wykorzystuj ˛acy offsety (BE Offsets) BEOFC BE wykorzystuj ˛acy zmian˛epojedynczych współczynników (BEOF Coefficients) BESF BE wykorzystuj ˛acy zmian˛e Scale Factor (BE Scale Factor) CBR stała przepływnos´c´ bitowa (Constant Bit Rate) ESF algorytm równych współczynników Scale Factor (Equal Scale Factor) FAAC Free AAC Encoder FAAD Free AAC Decoder FFT Szybka transformata Fouriera HCB ksi ˛azka˙ kodów Huffmana (Huffman Codebooks) ISO Mi˛edzynarodowa Organizacja Normalizacyjna IEC Mi˛edzynarodowa Komisja Elektrotechniczna MDCT zmodyfikowana dyskretna transformata kosinusowa MNMR maksymalny NMR MOS Mean Opinion Score MOV Model Output Variables MPEG Moving Picture Experts Group MS kodowanie stereo w trybie suma/róznica˙ (Mid Side Stereo) NMR stosunek szum kwantyzacji – maskowanie (Noise to Mask Ratio) ODG obiektywna miara bł˛edu(Objective Difference Grade) PAM model psychoakustyczny (Psychoacoustic Model) PEAQ Perceptual Evaluation of Audio Quality SDG subiektywna miara bł˛edu(Subjective Difference Grade) SF współczynnik kwantyzacji Scale Factor SFB pasmo Scale Factor Band SFM miara płaskosci´ widma (Spectral Flatness Measure) SMR stosunek sygnału do progu maskowania (Signal to Mask Ratio) SNR stosunek sygnału do szumu (Signal to Noise Ratio) TLS algorytm podwójnej p˛etliprzeszukiwan (Two Loop Search) TNS kształowanie szumu kwantyzacji (Temporal Noise Shaping ) TRDO algorytm optymalizacji przepływnosci´ bitowej i zniekształcen´ na kracie (Trellis-based Rate Distortion Optimization) VBR zmienna przepływnos´c´ bitowa (Variable Bit Rate)

xvi Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozdział 1

Wprowadzenie

Rozwój technik kodowania i transmisji mediów jest w pewnym stopniu skorelowany z rozwojem sprz˛etu komputerowego i telekomunikacyjnego. Przykładem moze˙ byc´ rozwój pami˛eci masowych. Jeszcze 20 lat temu miały one pojemnos´c´ kilku-kilkudziesi˛eciu megabajtów, obecnie pojemnos´c´ domowych dysków twardych mierzy si˛ew terabajtach. Takze˙ rozwój sieci Internet nast˛epujeszybko. W latach 90 XX w. siec´ globalna zaczynała dopiero wkraczac´ do Polski. Dzisiaj dost˛ep do sieci jest bardzo powszechny, tani i o wi˛ekszej przepustowosci.´ Wraz z tym rozwojem rozwazano˙ i podejmowano próby archiwizacji i przesyłania multimediów. Wpierw były to proste obrazki, fotografie oraz muzyka w formie syntetycznej (format midi). Z czasem mozliwe˙ było takze˙ kodowanie muzyki metodami stratnymi (np. format mp3). Obecnie przesyłanie muzyki nawet w formie bezstratnej lub sekwencji wideo w rozdzielczosciach´ standardowej telewizji lub telewizji wysokiej rozdzielczosci´ (HDTV) nie stanowi wi˛ekszego wyzwania. Powodem tego zjawiska jest nie tylko rozwój mozliwo˙ sci´ sprz˛etowych, ale takze˙ algorytmów kompresji. To dzi˛ekinim d´zwi˛ekmoze˙ byc´ skompresowany nawet kilkadziesi ˛at razy bez zauwazenia˙ znacz ˛acych strat przez wi˛ekszos´c´ słuchaczy. Obecnie kompresj˛ed´zwi˛ekumozna˙ odnale´zc´ w wielu zastosowaniach. Jest ona obecna w skompresowanych plikach na dyskach twardych, serwisach muzycznych (np. Spotify), serwisach wideo (np. Youtube), telefonii komórkowej, cyfrowym radiu oraz w zastosowaniach specjalnych: systemach audiowizualnych sterowania, obserwacji i sledzenia.´ Algorytmy kompresji d´zwi˛eku mozna˙ podzielic´ na bezstratne i stratne. Bezstratne wykorzystuj ˛apewn ˛aredundancj˛ew sygnale d´zwi˛ekowym i pozwalaj ˛ana kompresj˛ew stosunku ok. 1:2 np. przy uzyciu˙ kodera FLAC [110]. Algorytmy stratne pozwalaj ˛ana kompresj˛e1:10 przy zachowaniu akceptowalnej jakosci´ d´zwi˛eku.Wsród´ nich mozna˙ wyrózni˙ c´ algorytmy grupy MPEG: MPEG 1 - Layer III (mp3), MPEG 2/4 Advanced Audio Coding, fundacji Xiph.org: Vorbis, Opus oraz komercyjne np. Microsoft WMA.

1 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 1.1 Motywacja

Algorytmy stratnej kompresji d´zwi˛eku s ˛a szeroko stosowane (np. w róznych˙ aplikacjach (YouTube, Spotify, iTunes), cyfrowym radiu DAB+, odwarzaczach internetowych, przenosnych´ odtwarzaczach multimedialnych i telefonach komórkowych). Mozliwe˙ s ˛arówniez˙ specjalistyczne zastosowania np. w zrealizowanym projekcie „Proteus – Zintegrowany mobilny system wspomagaj ˛acy działania antyterrorystyczne i antykryzysowe” [88, 87], w którym zastosowano sprz˛etowe układy cyfrowe do transmisji obrazu i d´zwi˛ekumi˛edzyrobotami i operatorami robotów. Podobne zastosowanie mozna˙ sobie wyobrazic´ przy wprowadzaniu cyfrowego radia w standardzie DAB+[40, 41]. Stratne algorytmy kompresji d´zwi˛eku działaj ˛a w dziedzinie widmowej sygnału. Algorytm kwantyzacji powoduje usuni˛eciecz˛esci´ informacji zmniejszaj ˛acobj˛etos´c´ strumienia d´zwi˛ekowego. Jednakze,˙ aby dane były usuni˛etew taki sposób, by ich utrata była jak najmniej zauwazalna˙ wykorzystuje si˛emodel psychoakustyczny. W XX wieku prowadzono wiele badan´ nad działaniem i mozliwo˙ sciami´ słuchu ludzkiego. Zdefiniowano wiele zjawisk, które wykorzystywane s ˛ado budowania modeli psychoakustycznych. Dost˛epne w literaturze modele psychoakustyczne s ˛awymagaj ˛ace obliczeniowo. Aby dobrze dopasowac´ kompresj˛edo wymagan´ modelu psychoakustycznego i zaspokoic´ wymaganie dopuszczalnej przepływnosci´ bitowej stosuje si˛ealgorytmy alokacji bitów. Algorytmy te przydzielaj ˛awedług okreslonej´ strategii bity dla poszczególnych pasm cz˛estotliwosciowych.´ Te algorytmy s ˛atakze˙ wymagaj ˛aceobliczeniowo. Istniej ˛aopisane w literaturze algorytmy upraszczaj ˛acelub przyspieszaj ˛aceobliczenia. Mimo to ich złozono˙ s´c´ jest wci ˛az˙ wysoka. Głównym zadaniem kodera d´zwi˛ekujest dobór współczynników kwantyzacji realizowany w odniesieniu do wybranego modelu psychoakustycznego. Najwi˛ekszym problemem jest optymalna alokacja bitów, dopasowuj ˛acakwantowanie do wyznaczonego modelu. Odpowiedni dobór algorytmów przyczynia si˛e do polepszenia jakosci´ kodowanych sekwencji przy okreslonej´ przepływnosci´ bitowej. Główn ˛a motywacj ˛a do podj˛ecia badan´ nad algorytmami kompresji jest uzyskanie lepszej jakosci´ d´zwi˛ekuw stosunku do znanych rozwi ˛azan´ koderów audio przy okreslonej´ przepływnosci´ bitowej. Dodatkowo istotna jest minimalizacja złozono˙ sci´ obliczeniowej tych algorytmów. Taka motywacja implikuje analiz˛e i udoskonalenie róznych˙ modeli psychoakustycznych i algorytmów alokacji bitów. Ponadto korzystne jest, aby algorytm kodowania miał mozliwo˙ s´c:´

• stosunkowo łatwej implementacji algorytmów w strukturach sprz˛etowych,

• rozszerzenia kodowania do zastosowan´ nawet do 48 kanałów.

2 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 1.2 Tezy

W badaniach opisanych w tej pracy przebadano algorytmy modeli psychoakustycznych i alokacji bitów oraz algorytmy wyrównywania poziomów energii w pasmach w sekwencjach testowych wzgl˛edemreferencyjnych. Na podstawie tych badan´ sformułowano nast˛epuj˛acetezy:

1. Mozliwa˙ jest realizacja kodera standardu MPEG-4 AAC nie wykorzystuj ˛acego modelu psychoakustycznego, bazuj ˛acego na analizie poziomu energetycznego w pasmach, daj ˛acego jakos´c´ kompresji zblizon˙ ˛ado najlepszych dost˛epnych rozwi ˛azan.´

2. Wyrównanie energii w pasmach poprzez modyfikacj˛eskwantowanych współczynników pozwala na zwi˛ekszenieefektywnosci´ kompresji sygnału fonicznego.

1.3 Zawartos´c´ rozprawy

Praca została podzielona na dziewi˛ec´ rozdziałów. W rozdziale 2 zostały omówione metody badan´ jakosci´ d´zwi˛eku. Najpierw zaprezentowano szczegółowo obiektywne miary, które umozliwiaj˙ ˛aszybkie i nie wymagaj ˛acenakładów finansowych porównanie jakosci´ skompresowanych sekwencji d´zwi˛ekowych. Przedstawiono szczegółowo parametry składowe wykorzystywanej miary PEAQ i wybrano te, które maj ˛anajwi˛ekszywpływ na koncowy´ wynik. W rozdziale przedstawiono takze˙ wykorzystywane w pracy sekwencje testowe oraz sposoby porównywania wyników. W rozdziale 3 przedstawiono przegl ˛ad kodeków stratnej kompresji d´zwi˛eku oraz wybrano kodeki referencyjne wykorzystywane w porównaniach oraz kodek który słuzył˙ jako bazowy w modyfikacji algorytmu. Szczegółowe omówienie mozliwo˙ sci´ i efektywnosci´ wybranych kodeków przedstawiono w rozdziale 4. Przebadano efektywnos´c´ implementacji poszczególnych narz˛edzistandardu AAC w tych kodekach. Zidentyfikowano elementy, które poprawiaj ˛ajakos´c´ kodowania. W rozdziale 5 zostały omówione własciwo´ sci´ słuchu ludzkiego oraz jego wykorzystanie w modelach psychoakustycznych. Po analizie stosowanych w literaturze modeli przedstawiono własne modyfikacje i adaptacje oraz porównano efektywnos´c´ kompresji z uzyciem˙ wybranych modeli psychoakustycznych. W rozdziale 6 omówiono algorytmy alokacji bitów mi˛edzy pasma cz˛estotliwosciowe´ sygnału audio. Przedstawiono ich modyfikacje i implementacje w koderze AAC. Zaproponowano takze˙ własne rozwi ˛azaniaalgorytmów alokacji bitów. Przedstawiono takze˙ algorytm nie wykorzystuj ˛acy modelu psychoakustycznego, który koduje wszystkie pasma w ramce z tym samym współczynnikiem kwantyzacji. W rozdziale omówiono równiez˙ kodowanie entropijne i jego wpływ na efektywnos´c´ kompresji.

3 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 W rozdziale 7 przedstawiono propozycj˛e algorytmów wyrównywania poziomów energetycznych w pasmach cz˛estotliwosciowych´ sygnałów referencyjnego i zrekonstruowanego. Na koniec porównano ich efektywnos´c´ dla koderów z wybranymi algorytmami alokacji bitów. W rozdziale 8 porównano kodery z wybranymi algorytmami alokacji bitów i wyrównywania poziomów energetycznych w pasmach. W pierwszej cz˛esci´ przedstawiono wyniki opisane w dost˛epnej literaturze. Druga cz˛es´c´ poswi˛econa´ jest testom obiektywnym, a trzecia przeprowadzonym na grupie słuchaczy testom subiektywnym. Rozdział 9 podsumowuje cał ˛arozpraw˛ei przedstawia wady i zalety zaproponowanych rozwi ˛azan.´

4 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozdział 2

Miary jakosci´ d´zwi˛eku

W tym rozdziale zostanie przedstawiona obiektywna miara jakosci´ d´zwi˛ekuPerceptualna ocena jakosci´ d´zwi˛eku– Perceptual Evaluation of Audio Quality (PEAQ) oraz jest składowe. Analiza pozwala zidentyfikowac´ jak poszczególne miary wpływaj ˛ana ocen˛ejakosci´ kompresji d´zwi˛eku. W dalszych badaniach przyczyni si˛eto do zwi˛ekszeniaefektywnosci´ algorytmów kompresji oraz do zaproponowania autorskich rozwi ˛azan´ (np. algorytmy wyrównywania poziomów energii).

2.1 Obiektywna miara jakosci´ d´zwi˛eku

W obecnych czasach za najbardziej wiarygodny sposób oceniania jakosci´ d´zwi˛ekuuwaza˙ si˛e przeprowadzanie testów odsłuchowych na odpowiednio dobranej grupie osób. Testy s ˛anormalizowane, a wyniki usredniane.´ Testy polegaj ˛ana porównywaniu fragmentów sekwencji referencyjnych (oryginalnych) z sekwencjami testowanymi np. zakodowanymi i zdekodowanym za pomoc ˛atestowanego/projektowanego kodeka [73]. Przykładem moze˙ byc´ Mean Opinion Score (MOS) [74], jako subiektywna miara jakosci´ d´zwi˛eku. Jednakze˙ taka procedura nie jest łatwa do przeprowadzania, poniewaz˙ wi ˛aze˙ si˛ez kosztami (odpowiednia sala, nagłosnienie),´ znalezieniem i zatrudnieniem do testów odpowiedniej liczby osób oraz czasochłonnosci´ ˛aprzeprowadzenia testów [22]. Z tych tez˙ powodów, nie s ˛acz˛esto mozliwe˙ takie testy do przeprowadzania zanim nie ma obiektywnych przesłanek skutecznosci´ proponowanej metody. Wywołuje to zwi˛ekszaj˛ac˛a si˛e potrzeb˛e posiadania narz˛edzi obiektywnego oceniania, które b˛ed˛azdolne do wiarygodnego oszacowania jakosci´ d´zwi˛eku bez potrzeby wykorzystywania słuchaczy. Posród´ metod obiektywnych przeznaczonych do tego celu najlepsze wyniki zapewniaj ˛ametody stosuj ˛acemodele percepcji słyszenia. Istniej ˛adwa podejscia´ do pomiarów z wykorzystaniem psychoakustyki podczas przebiegu pomiarów. Pierwszym z nich jest koncepcja progów maskowania, w której do ich wyznaczania wykorzystuje si˛e sekwencj˛e referencyjn ˛a. Nast˛epnie progi maskowania porównywane s ˛a

5 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 z sygnałem bł˛edu mi˛edzy sekwencj ˛areferencyjn ˛aa testow ˛a. Druga metoda bazuje na porównaniach wewn˛etrznego zobrazowania d´zwi˛eku. Polega ona na oszacowaniu informacji, które mog ˛abyc´ rejestrowane przez ludzki mózg. W latach 1994-1998 Mi˛edzynarodowa Unia Telekomunikacyjna (International Telecommunication Union – ITU) stworzyła grup˛e, której zadaniem było zaproponowanie takiej obiektywnej miary. Powstało kilka propozycji: Disturbance Index (DIX)[102, 103], Noise-To-Mask Ratio (NMR)[23], Perceptual Audio Quality Measure (PAQM)[20], Perceptual Evaluation (PERCEVAL)[84], Perceptual Objective Measure (POM)[33], Toolbox Approach[71] i Objective Audio Signal Evaluation(OASE)[97]. W wyniku prac postanowiono stworzyc´ jedn ˛amiar˛eł ˛acz˛ac˛acechy wyzej˙ wymienionych. W taki sposób opublikowany został standard miary Perceptual Evaluation of Audio Quality (PEAQ) [71, 37, 38] jako metody obiektywnego pomiaru jakosci´ d´zwi˛eku. Obiektywna miara (nazwana Objective Difference Grade – ODG), podobnie jak jej subiektywny odpowiednik (Subjective Difference Grade – SDG), informuje jak bardzo róznica˙ mi˛edzy sygnałem referencyjnym a testowym jest postrzegana przez człowieka:

SDG = Gt − Gr, (2.1) gdzie Gt jest to jakos´c´ sekwencji testowej, a Gr to jakos´c´ sekwencji referencyjnej Obie miary przedstawiono w tab. 2.1. Algorytm PEAQ mozna˙ podzielic´ na cztery fazy:

1. Uwzgl˛ednienie efektów zachodz ˛acych w uchu zewn˛etrznym z wykorzystaniem odpowiedniego modelu.

2. Przetwarzanie wzorców pobudzenia, czyli efektu działania fali akustycznej na narz ˛ad słuchu.

3. Obliczenia zmiennych MOV (model object variables) bazuj ˛acych na modelu psychoakustycznym.

4. Obliczenie pojedynczej wartosci´ jakosci´ d´zwi˛ekuz wyznaczonych miar MOV.

Rodzaj niedopasowania SDG – ITU [70, 68, 69, 72] ODG niedostrzegalne 5.0 0.0 dostrzegalne, ale nie przeszkadzaj ˛ace 4.0 -1.0 troch˛eprzeszkadzaj ˛ace 3.0 -2.0 przeszkadzaj ˛ace 2.0 -3.0 bardzo przeszkadzaj ˛ace 1.0 -4.0

Tablica 2.1: Obiektywna miara Objective Difference Grade oraz jej subiektywny odpowiednik Subjective Difference Grade i ich znaczenie.

6 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Miara PEAQ/ODG jest zdefiniowana w dwóch wersjach: prostej (basic) i zaawansowanej (advanced). Wersja prosta bazuje na modelu obliczonego z transformaty FFT. Wersja zaawansowana bazuje na modelu FFT oraz modelu banku filtrów. Obecnie dost˛epnes ˛aimplementacje wersji basic utworzone na Uniwersytecie McGill przez P.Kabala 1 w wersji napisanej w srodowisku´ Matlab i j˛ezyku C. Kabal wyjasnia´ takze˙ i przedstawia swoj ˛ainterpretacje standardu w [78]. Dost˛epnejest równiez˙ darmowe narz˛edzie EAQUAL takze˙ bazuj ˛acena normie BS.1387 [71] i daj ˛acepodobne wyniki jak PEAQ [86]. Zalet ˛anarz˛edziaEAQUAL jest to, ze˙ ma opcj˛eprzegl ˛adaniaparametrów i miary jakosci´ dla poszczególnych ramek audio – mozliwo˙ s´c´ przydatna w badaniach nad koderem. Implementacja wersji zaawansowanej PEAQ, która wg normy jest lepiej przystosowana do testowania kodeków, nie jest dost˛epnapublicznie oraz bezpłatnie. Co wi˛ecej, jedynie firma Opticom oferuje srodowisko´ testowe Opera, które potrafi liczyc´ miar˛ePEAQ w wersji zaawansowanej, jednak oprogramowanie to jest dos´c´ kosztowne. Norma definiuje obie wersje standardu, a takze˙ sposób weryfikacji poprawnosci´ ich działania, który polega na obliczaniu miar PEAQ na zestawie par plików: referencyjnego i testowego. Obliczone miary w wersji basic i advanced mog ˛amaksymalnie odbiegac´ od zdefiniowanych w standardzie o okreslon´ ˛awartos´c´ dla grupy sekwencji testowych. Niestety, w tej chwili pliki testowe s ˛aniedost˛epne, zatem nie ma mozliwo˙ sci´ sprawdzenia poprawnosci´ implementacji. W konsekwencji własna implementacja standardu w wersji zaawansowanej jest bardzo utrudniona. Zakłada si˛e, ze˙ implementacja Kabala daje poprawne wyniki, co zostało takze˙ potwierdzone w literaturze [116]. Kazda˙ miara ODG skł ˛adasi˛ez kilku składowych. Składowe dla wersji podstawowej (basic) przedstawiono w tab. 2.2, a dla wersji zaawansowanej (advanced) w tab. 2.3. Narz˛edziePEAQ po obliczeniu wszystkich składowych, zwanych Model Output Variables (MOV), przekazuje znormalizowane wyniki do sieci neuronowej (składaj ˛acejsi˛e z trzech neuronów). Siec´ generuje wynik zwany indeksem zniekształcenia (Distortion Index – DI), który jest nast˛epnieprzeliczany na miar˛eODG. Poszczególne składowe wymienione w tab. 2.2 zostan ˛abardziej szczegółowo opisane w nast˛epnych podrozdziałach.

2.1.1 Miary bazuj ˛acena stosunku szumu do progów słyszenia

Stosunek szumu do progów słyszenia (Noise-to-Mask Ratio – NMR) jest jedn ˛a z podstawowych i najwazniejszych˙ miar w ocenie jakosci´ d´zwi˛ekukompresowanego. Definiuje si˛ej ˛anast˛epuj˛aco: E NMR = err , (2.2) Emask

gdzie Eerr, to suma energii bł˛eduw pasmie,´ a Emask to energia progu maskowania w tym pasmie.´

1http://www-mmsp.ece.mcgill.ca/documents/Downloads/PQevalAudio/PQevalAudio-v1r0..gz

7 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 MOV składowa opis 0 BandwidthRefB szerokos´c´ pasma sygnału referencyjnego 1 BandwidthT estB szerokos´c´ pasma sygnału testowanego 2 T otalNMRB całkowity stosunek szumu kwantyzacji do progów maskowania 3 W inModDiffB róznica˙ modulacji mi˛edzy sygnałem referencyjnym, a testowym w oknie 4 ADBB srednie´ zniekształcenie ramki - liczone jako logarytm stosunku całkowitego zniekształcenia do całkowitej liczby mocno zniekształconych ramek 5 EHSB harmoniczna struktura bł˛edóww czasie 6 AvgModDiff1B srednia´ róznica˙ modulacji 7 AvgModDiff2B srednia´ róznica˙ modulacji z uwydatnieniem wprowadzonych modulacji i zmian modulacji w miejscach gdzie sygnał referencyjny zawiera mało modulacji lub w ich w ogóle nie zawiera 8 RmsNoiseLoudB wartos´c´ sredniokwadratowa´ głosno´ sci´ szumu z uwydatnieniem wprowadzonych składowych spektralnych 9 MFPDB maksimum prawdopodobienstwa´ detekcji bł˛edupo filtracji dolnoprzepustowej 10 RelDistF ramesB wzgl˛edny ułamek ramek dla których przynajmniej jedno pasmo cz˛estotliwosciowe´ zawiera znacz ˛ac˛a składow ˛a szumu

Tablica 2.2: Moduły składowe PEAQ w wersji podstawowej. MOV – Model Output Variable

MOV składowa opis 0 RmsModDiffA wartos´c´ rms róznicy˙ modulacji RmsNoiseLoudA wartos´c´ sredniokwadratowa´ głosno´ sci´ szumu z 1 uwydatnieniem wprowadzonych składowych RmsMissingComponentA wartos´c´ sredniokwadratowa´ głosno´ sci´ szumu brakuj ˛acych komponentów RmsNoiseLoudAsymA RmsNoiseLoudA + 0.5RmsMissingComponentA 2 SegmentalNMRB segmentowo usredniony´ logarytm stosunku szumu do progu maskowania 3 EHSA harmoniczna struktura bł˛edóww czasie 4 AvgLinDistA miara srednich´ liniowych zniekształcen´

Tablica 2.3: Moduły składowe miary PEAQ w wersji zaawansowanej

8 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Wi˛ekszos´c´ koderów audio uzywa˙ tej miary do wyznaczania biez˙ ˛acejjakosci´ d´zwi˛eku i sterowania p˛etl˛akontroli jakosci´ d´zwi˛eku. Jest ona takze˙ wykorzystywana w narz˛edziach obliczania obiektywnej miary jakosci´ d´zwi˛ekutakiej jak PEAQ. Miara zakłada istnienie modelu psychoakustycznego, z którego wyznaczane s ˛aprogi maskowania dla poszczególnych pasm oraz obliczenie aktualnego bł˛edu/szumu kwantyzacji. Model psychoakustyczny jest bardzo istotnym, a zarazem trudnym do zrealizowania elementem kodowania d´zwi˛eku. Trudnos´c´ polega na wiarygodnym odwzorowaniu działania i efektów zachodz ˛acych w ludzkim zmysle´ słuchu. Próg maskowania jest to najwyzsza˙ mozliwa˙ wartos´c´ energii szumu kwantyzacji, która przy zaistniałych warunkach nie b˛edziesłyszalna dla człowieka dzi˛ekiefektowi maskowania. Standard BS.1387 [71] definiuje sposób obliczania NMR, którego uproszczony schemat przedstawiono na rys. 2.1. Mozna˙ zauwazy˙ c´ tutaj dwie symetryczne scie´ zki.˙ Lewa dotyczy sygnału referencyjnego, a prawa, wyrózniona˙ na rysunku, sygnału testowego. Na srodku´ rysunku zaznaczona jest takze˙ cz˛es´c,´ w której obliczany jest bł ˛adsłuz˙ ˛acy do obliczania NMR na koncu´ algorytmu. Jak widac,´ cz˛es´c´ obliczen´ jest zb˛edna,poniewaz˙ wyniki ich działania nie maj ˛awpływu na NMR. Zamieszczono jednak tutaj wszystkie kroki obliczen´ zdefiniowane w standardzie, poniewaz,˙ pozostałe miary PEAQ wykorzystuj ˛aje. Z tego tez˙ powodu posrednie´ dane, które b˛ed˛awykorzystywane dla innych składowych PEAQ, wyrózniono˙ i podano ich nazwy. Rys 2.1 b˛edzieprzywoływany jeszcze w nast˛epnych podrozdziałach. Główne kroki algorytmu wyznaczania NMR s ˛anast˛epuj˛ace:

1. Próbki czasowe s ˛agrupowane w okna o długosci´ 2048. Poszczególne okna nachodz ˛ana siebie w stosunku 1/2.

2. Okna próbek s ˛awymnazane˙ przez okno Hanna, by zaw˛ezic´ widmo sygnału. Zastosowane okno Hanna ma postac´ przedstawion ˛ana rys. 2.2 i jest zapisany równaniem:

 2πn  h[n] = 0.5 1 − cos . (2.3) N − 1

3. Sygnał zostaje przeskalowany, by zapewnic´ poprawne mapowanie poziomu sygnału wejsciowego´ do głosno´ sci.´

4. Przeskalowane okna czasowe s ˛anast˛epnietransformowane w dziedzin˛ecz˛estotliwosci´ za pomoc ˛aDyskretnej Transformaty Fouriera (DFT) przy uzyciu˙ algorytmu Fast Fourier Transform (FFT)[34].

5. Energia współczynników cz˛estotliwosciowych´ jest nast˛epnieprzepuszczana przez filtr ucha zewn˛etrznego i srodkowego.´ Ucho zewn˛etrzne i srodkowe´ ma za zadanie dopasowac´ impedancj˛e mi˛edzy srodowiskami´ powietrza i płynu. Funkcja filtru jest zatem charakterystyk ˛aprzejsciow´ ˛a. Charakterystyk˛e filtru w funkcji cz˛estotliwosci´ przestawiono na rys. 2.3.

9 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 2.1: Schemat algorytmu wyznaczania NMR w PEAQ oraz pomocniczych miar posrednich´ wykorzystywanych w obliczeniach pozstałych zmiennych składowych

Rysunek 2.2: Przykładowe okna Hanna dla długiego okna

10 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 2.3: Charakterystyka filtru ucha zewn˛etrznego i srodkowego´

6. Przefiltrowane współczynniki cz˛estotliwosciowe´ energii s ˛anast˛epnie grupowane w pasma. Standard PEAQ definiuje pasma dla wariantu basic i advanced. Dla basic jest to 109 pasm, dla advanced 55 pasm. Pasma maj ˛aodpowiednio szerokos´c´ 0.25 i 0.5 Barka (s ˛ato tzw. pasma krytyczne), zaproponowane przez Schroedera [94] i zdefiniowane nast˛epuj˛aco:  f  z = 7 · arcsinh , (2.4) 650 gdzie z jest to indeks pasma wyrazony˙ w Barkach, f to cz˛estotliwos´c´ współczynnika cz˛estotliwosciowego´ wyrazonego˙ w Hertzach. Pasmo sygnału jest ograniczone od 80Hz do 18kHz. W PEAQ nie wykorzystano definicji pasm Barkowych zdefiniowanych przez Zwickera [43], która jest bardzo cz˛estowykorzystywana w literaturze. Pasma Barkowe szerzej opisano w rozdz. 5.2.2.

7. W uchu wewn˛etrznym zachodzi zjawisko neuronowego tłumienia szumu wewn˛etrznego. W celu zamodelowania tego zjawiska, do sygnału w kazdym˙ pasmie´ dodawane jest przesuni˛ecieby skompensowac´ szum wewn˛etrzny generowany przez ucho. Przykładowy wykres funkcji przedstawiono na rys. 2.4.

8. Energia sygnału w pasmach jest nast˛epnierozpraszana w dziedzinie cz˛estotliwosci.´ W ten sposób modelowane s ˛afiltry słuchowe ucha wewn˛etrznego. Operacja ta odpowiada za uwzgl˛ednianie maskowania cz˛estotliwosciowego´ (jednoczesnego). Uzyskane wartosci´ nazwane s ˛anierozproszonymi czasowo wzorcami pobudzenia (unsmeared excitation patterns) i s ˛atakze˙ wykorzystywane przy wyznaczaniu wzorców modulacji (rozdz. 2.1.4). Na rys. 2.5 przedstawiono przykładowe funkcje rozpraszania dla pasm

11 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 2.4: Przebieg funkcji tłumienia szumu wewn˛etrznego w uchu

10 i 70 (dwa poziomy) i oznaczone EsR i EsT . Stosuje si˛e funkcje rozproszenia Schroedera [94]. Charakteryzuj ˛ac˛asi˛eone tym, ze˙ poziom maskera nie jest istotny dla wyznaczenia kształtu i k ˛atanachylenia krzywych. Pozwala to na obliczanie krzywej maskowania za pomoc ˛asplotu funkcji rozpraszania z funkcj ˛awidma sygnału zamiast mnozenia˙ róznych˙ funkcji rozpraszania z maskerami i sumowaniem tych iloczynów. Zalet ˛afunkcji Schroedera jest równiez˙ to, ze˙ splot zawiera wszystkie sumowania, których nie trzeba juz˙ wykonywac´ na koniec.

Rysunek 2.5: Przykładowe wykresy funkcji rozproszenia cz˛estotliwosciowego´ dla pasma 10 i 70 przy jednakowym poziomie energii oraz dla pasma 70 przy nizszym˙ poziomie energii.

12 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 9. Rozproszony sygnał w dziedzinie cz˛estotliwosci´ jest rozpraszany w dziedzinie czasu – uwzgl˛edniaj˛ackolejne ramki. Rozpraszanie to jest odpowiedzialne za maskowanie czasowe. Uzyskane wartosci´ nazwane s ˛awzorcami pobudzenia (excitation patterns), ˜ ˜ oznaczone jako EsR i EsT i s ˛awykorzystywane takze˙ w innych obliczeniach w poszczególnych składowych miary PEAQ.

10. Wyznaczana jest wartos´c´ wektora współczynników gm odpowiedzialnego za progi

maskowania. Wektor gm mozna˙ przedstawic´ za pomoc ˛awyrazenia:˙

mdB [k]/10 gm[k] = 10 , (2.5)

gdzie k oznacza numer pasma. Parametr mdB[k] jest zas´ wartosci´ ˛amówi ˛ac˛ao ile próg maskowania lezy˙ ponizej˙ wartosci´ energii po rozpraszaniu czasowo-cz˛estotliwosciowym´ wyrazonej˙ w pasmach Barkowych:

( 3, k ≤ 12 m [k] = ∆z , (2.6) dB 12 0.25k∆z, k > ∆z

gdzie ∆z to szerokos´c´ pasma modelu psychoakustycznego wyrazonego˙ w skali barkowej. Dla wersji PEAQ basic ∆z = 0.25, a PEAQ advanced ∆z = 0.5. Przykładowy

przebieg funkcji gm przedstawiono na rys. 2.6. Wartos´c´ energii wzorca pobudzenia

jest wymnazana˙ przez wyznaczony współczynnik gm[k]. Uzyskany wynik jest wartosci´ ˛a progów maskowania oznaczonych jako xmin[k].

Rysunek 2.6: Wykres wartosci´ współczynników gm w funkcji pasma wyrazonego˙ w Barkach dla modelu PEAQ.

13 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Powyzsze˙ operacje (z wyj ˛atkiemmnozenia˙ przez współczynnik gm) przeprowadza si˛e na sygnale referencyjnym oraz na sygnale testowanym. Na Rys 2.1 przedstawiono te dwie gał˛ezieinnymi kolorami. Wartosci´ nierozproszonych czasowo wzorców pobudzenia

(unsmeared exitation patterns) oznaczono jako EsR oraz EsT , a wartosci´ wzorca ˜ ˜ pobudzenia EsR oraz EsT , odpowiednio dla sygnałów referencyjnego i testowanego.

Do obliczenia bł˛eduwykorzystuje si˛ewartosci´ EsR i EsT . Dla kazdego˙ współczynnika

cz˛estotliwosciowego´ oblicza si˛e bł ˛ad sredniokwadratowy´ (blok Eerr na rys. 2.1). Uzyskane wyniki bł˛edówdla poszczególnych współczynników grupuje si˛ew pasma identyczne jak w przypadku energii sygnałów. Uzyskane wyniki s ˛awartosciami´ bł˛edu w pasmach Error[k]. Stosunek bł˛edudo obliczonych wczesniej´ progów maskowania nazywany jest stosunkiem szumu kwantyzacji do maskowania – Noise to Mask Ratio (NMR) dla danego pasma k. Aby otrzymac´ miar˛eNMR dla całej sekwencji, która b˛edzie wykorzystana jako składowa ostatecznej miary ODG, usrednia´ si˛emiar˛ew pasmach i ramkach: N−1 N −1 ! 1 X 1 Xc NMRtot = 10 log10 NMR[k, n] (2.7) N Nc n=0 k=0

gdzie k to numer pasma, n numer ramki, a Nc i N to odpowiednio maksymalna liczba

współczynników w ramce i liczba ramek. Obliczony NMRtot jest współczynnikiem miary ODG oznaczonym jako MOV2. Standard definiuje jeszcze miar˛emaksymalnego NMR w ramce:

NMRmax[n] = max NMR[k, n]. (2.8) 0≤k≤Nc−1

Zniekształcona ramka to ramka, dla której NMRmax przewyzsza˙ poziom 1.5dB. Miara

RelDistF ramesB jest ułamkiem liczby pasm które przekraczaj ˛apoziom 1.5dB. Miara jest oznaczona jako MOV10.

2.1.2 Miary bazuj ˛acena szerokosci´ pasma

Miara Szerokosci´ Pasma ocenia szerokosci´ pasm sygnału referencyjnego i testowego. Szerokos´c´ jest mierzona w liczbie pr ˛azków˙ FFT. Pomiar odbywa si˛ew nast˛epuj˛acych etapach:

1. Najpierw, rozpoczynaj ˛ac od pr ˛azka˙ odpowiadaj ˛acemu cz˛estotliwosci´ próbkowania 21.6kHz, poszukuje si˛e, w kierunku wysokich cz˛estotliwosci,´ najwi˛ekszego pr ˛azka.˙ Poziom energii znalezionego pr ˛azka˙ oznacza si˛ejako poziom progu. Powyzsz˙ ˛aoperacj˛e przedstawiono na rys. 2.7a, a poziom progu oznaczono jako ThrLevel.

2. Rozpoczynaj ˛acod pr ˛azka˙ oznaczonego jako poziom progu, poszukuje si˛ew sygnale referencyjnym, tym razem w kierunku nizszych˙ cz˛estotliwosci,´ pierwszego pr ˛azka˙

14 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 2.7: Schemat obliczania miar szerokosci´ pasm referencyjnego i testowego: BandwidthRefB i BandwidthTestB.

wi˛ekszego od poziomu progu o 10dB. Numer znalezionego pr ˛azka˙ oznacza si˛e jako BandwidthRefB, czyli pasmo sygnału referencyjnego. Operacj˛eprzedstawiono na rys. 2.7b. Powyzsza˙ miara jest uzywana˙ jako składowa wynikowej miary jakosci´ d´zwi˛eku i oznaczona jako MOV0.

3. Rozpoczynaj ˛acod pr ˛azka˙ oznaczonego jako BandwidthRefB poszukuje si˛ew kierunku niskich cz˛estotliwosci,´ w sygnale testowanym, pierwszego pr ˛azka˙ cz˛estotliwosciowego´ którego poziom jest wi˛ekszyo 5dB od poziomu progu (rys. 2.7c). Znaleziony pr ˛azek˙ FFT jest wartosci´ ˛apasma sygnału testowanego i oznaczonego jako BandwidthTestB. Wartos´c´ ta jest uzywana˙ jako składowa wynikowej miary jakosci´ d´zwi˛ekui oznaczona jako MOV1

2.1.3 Miara struktury harmonicznej bł˛edu

Miara struktury harmonicznej bł˛edu– Harmonic Structure of Error (EHS) jest opisana w standardzie bardzo lakonicznie, o czym pisze takze˙ Kabal[71][78]. Norma podaje, ze˙ jest to analiza bazuj ˛acana cepstrum. Na rys. 2.8 przedstawiono prosty schemat wyznaczania miary. Proces mozna˙ przestawic´ nast˛epuj˛aco:

1. Dla kazdej˙ ramki liczona jest energia sygnału w kazdym˙ pasmie´ cz˛estotliwosciowym´ dla 2 2 sygnału testowanego i referencyjnego odpowiednio: Xt[k] i Xr[k] .

2. Liczona jest róznica˙ w dziedzinie logarytmicznej:

 2  |Xt[k]| D[k] = log 2 . (2.9) |Xr[k]|

15 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 2.8: Schemat obliczania struktury harmonicznej bł˛edu(EHS)

3. Obliczana jest autokorelacja:

D · D C(l, i) = i i+l . (2.10) p 2 2 |Di| |Di+1|

gdzie Di to wektor kolejnych D[k], a l to opó´znieniezdefiniowane w normie. Kabal wnioskuje przesuni˛eciew granicach 1 − 256 próbek. Przesuwane okno jest mnozone˙ dodatkowo przez okna Hanna oraz skalowane.

4. Obliczona jest energia przeskalowanego sygnału.

5. Znajdowany jest najwi˛ekszy pr ˛azek˙ otrzymanego sygnału (najwi˛eksza wartos´c´

autokorelacji) i oznacza si˛ego jako EHmax .

6. Obliczona wartos´c´ ostatecznie słuzy˙ do obliczenia miary MOV5 - Struktury harmonicznej bł˛edu: N−1 1000 X MOV 5 = E = E (n), (2.11) H N Hmax n=0 gdzie N to liczba ramek w sekwencji d´zwi˛ekowej.

16 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 2.1.4 Miary modulacji

Standard PEAQ definiuje trzy miary modulacji: róznica˙ modulacji mi˛edzy sygnałem referencyjnym, a testowym (W inModDiffB) w oknach, oraz dwie bazuj ˛acena sredniej´ róznicy˙ modulacji (AvgModDiff1B i AvgModDiff2B). Na rys. 2.9 przedstawiono zasadniczy schemat wyznaczania miar modulacji.

Rysunek 2.9: Podstawowy schemat obliczania miar modulacji: MAdiff1, MAdiff2, MW diff

Obliczenia przebiegaj ˛anast˛epuj˛aco:

1. Wartos´c´ nierozpraszanych czasowo wzorców pobudzenia (unsmeared exitation patterns)

(EsR i EsT ) wyznaczone s ˛aw rozdz. 2.1.1 s ˛apodawane na wejscie.´ S ˛ato wartosci´ energii w poszczególnych pasmach rozproszone w dziedzinie cz˛estotliwosci,´ ale nie rozproszone w czasie.

¯ 2. Wartosci´ energii dla sekwencji testowej i referencyjnej s ˛ausredniane´ do wartosci´ Er[k, n] ¯ i Et[k, n]

3.U sredniane´ s ˛atakze˙ wartosci´ róznicowe˙ mi˛edzyodpowiednimi pasmami z obecnej i ¯ ¯ poprzedniej ramki Dr[k, n] i Dt[k, n]

4. Z obliczonych wartosci´ głosno´ sci´ wyznacza si˛emiary modulacji obwiedni:

¯ Dr[k, n] Mr[k, n] = ¯ , (2.12) 1 + Er[k, n]/0.3

17 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 ¯ Dt[k, n] Mt[k, n] = ¯ . (2.13) 1 + Et[k, n]/0.3

5. Wyznaczone miary modulacji s ˛anast˛epnienormalizowane:

|Mt[k, n]| − |Mr[k, n]| Mdiff1[k, n] = (2.14) 1 + Mr[k, n]

oraz usredniane´ po pasmach:

Nc−1 ¯ 100 X Mdiff1[n] = Mdiff1[k, n], (2.15) Nc k=0

gdzie Nc to liczba pasm modelu psychoakustycznego.

6.U srednione´ wartosci´ słuz˙ ˛ado wyznaczenia ostatecznej miary okienkowanej róznicy˙ modulacji, oznaczonej jako MOV3:

v u N−1 L−1 !4 u 1 X 1 X q M = t M¯ [n − i] (2.16) W diff1 N − L + 1 L diff1 n=L−1 i=0

gdzie N to liczba ramek, a L = 4 to jest to wartos´c´ przesuwanego okna, zdefiniowana w standardzie.

7. Z obliczonych wartosci´ mozna˙ obliczyc´ takze˙ zmienn ˛aMOV6 – sredni´ ˛azmian˛e modulacji PN−1 W [n]M¯ [n] MOV 6 = M = n=0 1 diff1 (2.17) Adiff1 PN−1 n=0 W1[n] ¯ gdzie W1 jest to waga uzalezniona˙ od Er[k, n] i wartosci´ szumu ucha

wewn˛etrznego (EIN )

8. Dla wyznaczenia ostatniej zmiennej MOV potrzebna jest normalizacja:

( Mt[k,n]−Mr[k,n] M [k, n] ≥ M [k, n], 0.01+Mr[k,n] t r Mdiff2[k, n] = , (2.18) 0.1 Mr[k,n]−Mt[k,n] M [k, n] < M [k, n] 0.01+Mr[k,n] t r

oraz jej usrednienie´ po pasmach:

Nc−1 ¯ 100 X Mdiff2[n] = Mdiff2[k, n]. (2.19) Nc k=0

18 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Ostatecznie obliczamy ostateczn ˛azmienn ˛a sredniej´ róznicy˙ modulacji:

PN−1 W [n]M¯ [n] MOV 7 = M = n=0 2 diff2 , (2.20) Adiff2 PN−1 n=0 W2[n]

¯ gdzie W2 jest wag ˛azalezn˙ ˛aod Er[k, n] oraz szumu ucha wewn˛etrznego (oznaczenie Ein na schemacie)

2.1.5 Miary głosno´ sci´ zniekształcen´

Rysunek 2.10: Pierwsza cz˛es´cschematu´ obliczania miar głosno´ sci:´ RmsNoiseLoud

Wersja podstawowa standardu PEAQ definiuje jedn ˛amiar˛edotycz ˛ac˛agłosno´ sci´ d´zwi˛eku.T ˛a miar ˛ajest RmsNoiseLoud czyli wartos´c´ sredniokwadratowa´ głosno´ sci´ szumu z uwydatnieniem wprowadzonych składowych spektralnych. Podstawowy schemat wyznaczenia tej miary przedstawiono na rys. 2.10 i rys. 2.11. Pierwszy rysunek przedstawia wyznaczenie adaptowanych cz˛estotliwosciowo´ wzorców pobudzen´ błony podstawnej, drugi zas´ własciw´ ˛a miar˛eMOV. Skrócony opis wyznaczania miary głosno´ sci´ mozna˙ przedstawic´ nast˛epuj˛aco:

19 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 1. Jak w wi˛ekszosci´ miar PEAQ obliczenia rozpoczynaj ˛asi˛eod wykorzystania pobudzen´ ˜ ˜ rozpraszanych cz˛estotliwosciowo´ i czasowo: EsT [k, n] oraz EsR[k, n]. wyznaczonych w rozdziale 10).

2. Przeprowadza si˛e rozpraszanie czasowe jeszcze raz, tym razem z zalezn˙ ˛a od cz˛estotliwosci´ stał ˛aczasow ˛a.Rozpraszanie odbywa si˛edla kazdego˙ pasma, dla sekwencji

testowej PT [k, n] i referencyjnej PR[k, n] osobno:

˜ PR[k, n] = α[k]PR[k, n − 1] + (1 − α[k])EsR[k, n], (2.21)

˜ PT [k, n] = α[k]PT [k, n − 1] + (1 − α[k])EsT [k, n], (2.22)

gdzie α[k] jest stał ˛aczasow ˛azalezn˙ ˛aod cz˛estotliwosci´ próbkowania i pasma.

3. Wyznacza si˛ewspółczynnik korekcji (głosno´ sci)´ CL[n] usredniony´ przez sum˛eenergii w pasmach:

2 PNc−1 p ! k=0 PT [k, n]PR[k, n] CL[n] = . (2.23) PNc−1 k=0 PT [k, n]

4. Korekcja jest wykorzystana do wyrównania poziomów sygnałów testowego ELT [k, n] i

referencyjnego ELR[k, n]:

( E˜ [k, n]/C [n] C [n] > 1 E [k, n] = sR L L LR ˜ EsR[k, n] CL[n] ≤ 1 ( . (2.24) E˜ [k, n] C [n] > 1 E [k, n] = sT L LT ˜ EsT [k, n]CL[n] CL[n] ≤ 1

5. Wyrównane poziomy słuz˙ ˛ado obliczenia rozproszonej czasowo korelacji pomi˛edzy sygnałem testowym i referencyjnym dla kazdej˙ cz˛estotliwosci:´

R [k, n] = α[k]R [k, n − 1] + E [k, n]E [k, n] n n LT LR (2.25) Rd[k, n] = α[k]Rd[k, n − 1] + ELR[k, n]ELR[k, n].

6. Liczone s ˛astosunki

Rn[k, n]/Rd[k, n], (2.26)

Rd[k, n]/Rn[k, n]. (2.27)

ograniczane do przedziału [0; 1] i oznaczane jako RR[k, n] oraz RT [k, n].

20 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 7. Nast˛epnie przeprowadza si˛e rozpraszanie czasowe i cz˛estotliwosciowe´ by uzyskac´ wzorce współczynników korekcji (pattern correction factors). Jednakze˙ najpierw wyznacza si˛eparametry potrzebne do rozpraszania. Do obliczenia tych parametrów wykorzystuje si˛estałe M1 i M2 podane w normie. Wartosci´ parametrów, odpowiednich dla tego przypadku po wstawieniu stałych wynosz ˛a:

R [k, n] = 1 Pk+4 R [i, n] aR 8 i=k−3 R (2.28) 1 Pk+4 RaT [k, n] = 8 i=k−3 RT [i, n].

8. Rozpraszanie przebiega nast˛epuj˛aco:

P [k, n] = α[k]P [k − 1, n] + (1 − α[k])R [i, n] CR CR aR (2.29) PCT [k, n] = α[k]PCT [k − 1, n] + (1 − α[k])RaT [i, n].

9. Dla uzyskania wzorców pobudzenia adaptowanych cz˛estotliwosciowo´ wykonujemy operacj˛emnozenia:˙ E [k, n] = E [k, n]P [k, n] PT LT CT (2.30) EPR[k, n] = ELR[k, n]PCR[k, n].

10. Obliczone wartosci´ EPT [k, n], EPR[k, n] uzyte˙ s ˛aw drugiej cz˛esci´ algorytmu (rys. 2.11).

Rysunek 2.11: Druga cz˛es´cschematu´ obliczania miar głosno´ sci:´ RmsNoiseLoud

11. Przy pomocy EPT [k, n], EPR[k, n], uwzgl˛edniaj˛acmiary modulacji obwiedni (MR,

MT ) opisanych wzorami 2.12 i 2.13, miar˛e szumu ucha wewn˛etrznego (Ein), oraz stałe zdefiniowane w standardzie okresla´ si˛egłosno´ s´c´ zniekształcen´ (partial loudness of

distortion) NL[k, n]

21 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 12. Otrzyman ˛awartos´c´ usrednia´ si˛eprzez liczb˛epasm:

Nc−1 ˜ 24 X NiL[n] = NL[k, n], (2.31) Nc k=0

( N˜ [n] N˜ [n] ≥ 0 N˜ [n] = iL iL . (2.32) L ˜ 0 NiL[n] < 0

13. Po usrednianiu´ przez liczb˛e ramek otrzymuje si˛e ostateczn ˛a wartos´c´ zmiennej RmsNoiseLoud: v u N−1 u 1 X MOV 8 = N = t (N˜ [n])2. (2.33) LrmsB N L n=0

2.1.6 Miary prawdopodobienstwa´ wykrycia zniekształcen´

Rysunek 2.12: Podstawowy schemat obliczania miar prawdopodobie´nstwawykrycia róznic˙ mi˛edzy sygnałem testowym a referencyjny oraz miar ADB i MFPD

22 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 W standardzie PEAQ została uzyta˙ miara prawdopodobienstwa´ wykrycia róznic˙ mi˛edzy sygnałem testowym a referencyjnym. Efektem obliczen´ s ˛amiary: srednie´ zniekształcenie ramki – Average Block Distortion (ADB) oraz maksimum prawdopodobienstwa´ detekcji po filtrowaniu – Maximum Filtered Probability of Detection (MFPD). Do wyznaczenia tych miar ˜ korzysta si˛ez obliczonych w rozdziale 2.1.1 wzorców pobudzenia błony podstawnej EsR oraz ˜ EsT . Schemat przedstawiony na rys. 2.12 w uproszczony sposób ukazuje cał ˛aprocedur˛e wyznaczania wspomnianych miar. Algorytm mozna˙ przedstawic´ w kilku punktach:

˜ ˜ 1. Wartosci´ EsR oraz EsT s ˛aprzeliczane na skal˛edecybelow ˛ai uzyskujemy odpowiednio ˜ ˜ EsRdB oraz EsT dB

˜ ˜ EsRdB[k, n] = 10 log10(EsR[k, n]) (2.34) ˜ ˜ EsT dB[k, n] = 10 log10(EsT [k, n]) (2.35)

2. Podczas wyznaczania wzorców pobudzenia błony podstawnej korzystano z symetrycznego modelu. Do obliczen´ prawdopodobienstwa´ korzysta si˛e z pobudzen´ ˜ ˜ asymetrycznych, które wyznacza si˛ez EsRdB[k, n] i EsRdB[k, n].

3. Pobudzenie asymetryczne słuzy˙ do wyznaczenia rozmiaru kroku efektywnej detekcji, czyli ledwo dostrzegaln ˛aróznice˙ – just noticable difference (JND). Słuzy˙ do tego wielomian z predefiniowanymi współczynnikami. Wynik oznaczono jako s[k, n].

4. Wyznacza si˛eprawdopodobienstwo´ detekcji:

˜ ˜ b (EsRdB [k,n]−EsT dB [k,n]) 1 s[k,n] p [k, n] = 1 − , (2.36) c 2

˜ ˜ gdzie b = 4 lub b = 6 w zalezno˙ sci´ od zalezno˙ sci´ wartosci´ EsRdB[k, n] i EsT dB[k, n]

5. Drug ˛awartosci´ ˛ado której wykorzystuje si˛e s[k, n] to liczba kroków powyzej˙ progu:

|int(E˜ [k, n] − E˜ [k, n])| q [k, n] = sRdB sT dB . (2.37) c s[k, n]

Ta funkcja pozwala pomin ˛ac´ wpływ małych zniekształcen´ sygnału.

6. Obliczane s ˛acałkowite (dla wszystkich pasm) wartosci´ prawdopodobienstwa´ detekcji i liczby kroków powyzej˙ progu:

N −1 Yc Pb[n] = 1 − (1 − pc[k, n]), (2.38) k=0

23 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 N −1 Xc Qc[n] = qc[k, n]. (2.39) k=0

Wartosci´ podane s ˛adla przypadku sekwencji monofonicznych.

7. Nast˛epuje filtracja prawdopodobienstwa´ detekcji:

˜ ˜ Pb[n] = c0Pb[n − 1] + (1 − c0)Pb[n], (2.40)

gdzie c0 = 0.9, co odpowiada czasowi 0.202s.

8. Obliczana jest wartos´c´ maksymalna przefiltrowanego prawdopodobienstwa´ detekcji

PM [n]:  ˜  PM [n] = max c1PM [n − 1], Pb[n] , (2.41)

gdzie c1 = 0.99.

9. Ostatecznie wyznaczana jest zmienna MOV9 – maksimum prawdopodobienstwa´ detekcji róznicy˙ sekwencji testowej i referencyjnej:

˜ MOV 9 = MFPDB = PM [N − 1]. (2.42)

10. Całkowita (w całej sekwencji) liczba kroków powyzej˙ progu wyznaczana jest z zalezno˙ sci:´ N−1 X Qs = Qb[n]. (2.43) n=0

11. Ostateczna wartos´c´ miary sredniego´ zniekształcenia ramki (ADB) wynosi:   0 N = 0,  MOV 4 = ADB = Qs  B log10 N N > 0 i Qs > 0 (2.44)   −0.5 N > 0 i Qs = 0

2.2 Analiza parametrów PEAQ

Zgodnie z opisem w rozdz. 2.1 koncowa´ miara ODG zalezy˙ w wersji podstawowej PEAQ od jedenastu składowych miar, które słuz˙ ˛ajako wejscia´ do sieci neuronowej. Siec´ ta wyznacza ostateczny wynik. Została ona wytrenowana na podstawie przeprowadzonych badan´ odsłuchowych przez twórców standardu. Podczas projektowania algorytmów kompresji poz˙ ˛adan˛a wiedz ˛a jest to, która z miar ma najwi˛ekszy wpływ na koncow´ ˛a miar˛e, a które składowe maj ˛aznaczenie drugorz˛edne. Siec´ składa si˛e z trzech neuronów, co nie pozwala w sposób intuicyjny i jasny stwierdzic´ które z miar s ˛anajistotniejsze. Wi˛ekszos´c´

24 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 algorytmów bazuje na optymalizacji stosunku NMR, wyj ˛atkiemjest jeden algorytm [83], gdzie wykorzystane jest takze˙ prawdopodobienstwo´ wykrycia.

Miara Koder 1 Koder 2 BandwidthRef 898.798 898.798 BandwidthTest 543.15 634.394 Total NMR -7.22088 -8.22826 WinModDiff 19.6228 16.2277 ADB 1.97929 1.4676 EHS 0.598553 0.50874 AvgModDiff1 19.2601 16.1485 AvgModFiff2 43.6115 34.1137 RmsNoiseLoud 0.325182 0.326775 MFPD 1 1 RelDistFrames 0.826522 0.507923 ODG -2.538 -1.965

Tablica 2.4: Porównanie wyników kodowania tej samej sekwencji dwoma koderami

W tab. 2.4 przedstawiono wyniki kodowania jednej sekwencji róznymi˙ koderami. Wartymi uwagi s ˛awartosci´ TotalNMR i wynikowego ODG. Pierwsze wartosci´ nie rózni˙ ˛asi˛emi˛edzy sob ˛awiele, a jednak róznica˙ rezultatów koncowych´ jest znacz ˛aca. Istotny jest fakt, ze˙ w obu przypadkach T otalNMR < 0 zatem mozna˙ wnioskowac,´ ze˙ warunek maskowania został zaspokojony z nadmiarem. Wyniki miar ODG wskazuj ˛ajednak, ze˙ sekwencje s ˛azakodowane w sposób daleki od transparentnego, czyli takiego, w którym róznica˙ mi˛edzy sekencj ˛a referencyjn ˛ai testow ˛ajest niedostrzegalna. Wszystkie algorytmy kodowania oparte na modelu psychoakustycznym bazuj ˛acym wył ˛aczniena progach maskowania s ˛azatem niewystarczaj ˛ace. Pomimo faktu, ze˙ nie da si˛e intuicyjnie stwierdzic´ która składowa ma najwi˛ekszy wpływ, to przeprowadzono nast˛epuj˛acy eksperyment. Zakodowano sekwencj˛e,zmierzono i znormalizowano jej składowe do przedziału (0; 1) oraz wyznaczono wynikowe ODG. Nast˛epnie zmieniano kazd˙ ˛aze składowych oddzielnie, w pełnym jej zakresie, sprawdzaj ˛acjak zmiana ma wpływ na ocen˛ekoncow´ ˛aODG. Wykres wyników przedstawiono na rys. 2.13. Do parametrów, które maj ˛anajwi˛ekszywpływ mozna˙ zaliczyc´ miary o numerach: 2, 6, 7 czyli NMR, oraz zmiany modulacji. Parametrami, których modyfikacja najmniej zmienia wartos´c´ ODG, s ˛a: 0, 1, 4, 9, 10, czyli miary odpowiedzialne za szerokos´c´ pasm, ADB, MFDP oraz RelDistFrames. Podobne wyniki otrzymano testuj ˛acrózne˙ sekwencje przy zastosowaniu róznych˙ przepływnosci´ bitowych. Dla dalszego rozwoju algorytmów warto rozwazy˙ c,´ oprócz samej składowej NMR, takze˙ składowe zwi ˛azanez modulacj ˛a. Podczas testów koderów ujawniła si˛etakze˙ niedoskonałos´c´ narz˛edziaPEAQ. Np. gdy w projektowanym koderze wyst ˛apiłbł ˛ad,który powodował, ze˙ cała sekwencja lub jej fragmenty była dekodowana w cisz˛e,to zdarzało si˛e, ze˙ obiektywna miara ODG była lepsza niz˙ przy

25 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 2.13: Graficzne przedstawienie wpływu zmian pojedynczych składowych miary PEAQ na ko´ncowywynik w mierze ODG

poprawnym kodowaniu sekwencji audio. Z tego powodu, w niniejszej pracy sekwencje były odsłuchiwane w celu znalezienia takiego typu bł˛edów.

2.3 Sekwencje testowe

W przeprowadzonych testach algorytmów korzystano z dwóch baz sekwencji testowych: SQAM [42] oraz LAME [8]. Z bazy SQAM wybrano takie sekwencje, które były wyszczególnione w literaturze (opisane szerzej w rozdz. 8.1) podczas przeprowadzanych eksperymentów. Dodatkowo wybrano kilka sekwencji, które miały inny charakter niz˙ wymienione wczesniej.´ Baza LAME jest wykorzystywana w porównaniach amatorskich lub konsumenckich. Cz˛es´c´ sekwencji z tej bazy wykorzystywana jest w pracach opisanych w literaturze. Obejmuje ona fragmenty utworów muzycznych róznych˙ gatunków. Przedstawione sekwencje testowe w tab. 2.5 i tab. 2.6 s ˛asekwencjami o cz˛estotliwosci´ próbkowania 44.1kHz. Narz˛edzia PQEvalAudio [4] i EAQUAL [2] obsługuj ˛a tylko sekwencje o cz˛estotliwosci´ próbkowania 48kHz. Badania [116] wykazały, ze˙ mozliwe˙ jest przepróbkowanie sekwencji do 48kHz i obliczeniu obiektywnej miary jakosci´ ODG z

26 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 zadowalaj ˛acymi wyniki. Dla porównania, autorzy zamiescili´ swoj ˛amodyfikacj˛ealgorytmu PEAQ dla cz˛estotliwosci´ 44.1kHz i wykazali, ze˙ realizacja z przepróbkowywaniem daje lepsze rezultaty. Zatem wszystkie sekwencje przepróbkowano do cz˛estotliwosci´ próbkowania 48kHz. Badane algorytmy modeli psychoakustycznych i alokacji bitów przeprowadzono z wył ˛aczonym trybem kodowania stereo M/S (sumy i róznicy˙ lewego i prawego kanału). Poniewaz˙ nie wszystkie kodery komercyjne umozliwiały˙ wył ˛aczenietego trybu, dlatego wszystkie sekwencje zmiksowano do sygnału monofonicznego, uzyskuj ˛acw ten sposób przyblizone˙ warunki do testów wszystkich koderów. W efekcie zaden˙ z koderów projektowanych, jak i komercyjnych nie wykorzystywał kodowania M/S.

Nazwa EBU SQAM Opis EBU SQAM Nazwa pliku 57 Organ (Bach) m_57bach 48 Quartet (Stereo) m_48Quartet 52 Male Speech (French) (Mono) m_52MaleFr 58 Guitar (Sarasate) m_58Guitar 59 Violin (Ravel) m_59Ravel 66 Wind Ensemble (Stravinsky) m_66Stravinsky 69 ABBA (Stereo) m_69ABBA 70 Eddie Rabbitt (Stereo) m_70Rabbitt 27 Castanets m_27castanets 36 Xylophone m_36Xylophone 44 Soprano (Stereo) m_44Soprano 49 Female Speech (English)(Mono) m_49Femaleen 68 Orchestra (Baird)(Stereo) m_68Baird 07 Electronic Tune (Frere Jacques)(Mono) m_07Electronic 10 Violoncello m_10Violoncello 21 Trumpet m_21Trumpet 23 Horn m_23Horn 35 Glockenspiel m_35Glockenspiel 40 Harpsichord m_40Harpsichord 47 Bass (Stereo) m_47Bass 50 Male Speech (English)(Mono) m_50Maleen 54 Male Speech (German)(Mono) m_54MaleGe

Tablica 2.5: Wykaz sekwencji ze zbioru EBU SQAM uzytych˙ do testowania jakosci´ kodowanych sekwencji

2.4 Miary jakosci´ i ich statystyki

Ponizej˙ przedstawiono miary wg których mozna˙ wyznaczyc´ bł ˛adkwantyzacji w pasmie´ sb oraz sposoby usredniania´ tych miar. Definiujemy podstawowe trzy miary energii bł˛edu:

27 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Nazwa Opis Nazwa pliku skrót applaud aplauz m_applaud48 app BlackBird Beautiful South ”Blackbird on the Wire” m_BlackBird bb KMFDM-Dogma KMFDM ”Dogma” m_dogma48 do else3 Sara McLachlan’s ”Elsewhere” m_else348 els Fools Fools garden ”Lemon tree” m_Fools48 fo ftb_samp Metallica ”Fade to black” m_ftb_samp48 ftb goldc Ennio Morrione ”The ecstasy of gold” m_goldc48 gold iron The Cardigans ”Iron Man” m_iron48 ir main_theme Pink Floyd m_main_theme48 mt mstest test trybów stereo m_mstest48 ms pipes dudy m_pipes48 pip test_signal2 spiew´ + b˛eben m_test_signal248 s2 test_singal4 Enya m_t48est_signal448 s4 vbrtest Lou Reid "God loves his children" m_vbrtest48 vbr velvet fragment muzyki techno m_velvet48 vel youcantdothat The Beatles ”You can’t do that” m_youcantdothat48 ycdt

Tablica 2.6: Wykaz sekwencji ze zbioru LAME uzytych˙ do testowania jakosci´ kodowanych sekwencji

high X 2 E[sb] = (x[i] − xdq[i]) , (2.45) i=low

gdzie x[i] to oryginalny, a xdq[i] to zrekonstruowany współczynnik cz˛estotliwosciowy.´ Granice low i high to indeks pierwszego i ostatniego współczynnika w pasmie´ sb.

Phigh (x[i] − x [i])2 NMR = NMR[sb] = E [sb] = i=low dq , (2.46) sb NMR xmin[sb]

diff¯ NMR = NMR [sb] = E [sb] = , (2.47) sb∗ P EAQ P EAQ xmin[sb] gdzie NMR, to Noise-to-Mask Ratio, czyli stosunek szumu kwantyzacji do progów maskowania, xmin[sb] to wartos´c´ progu maskowania dla pasma sb. Miar ˛a NMRP EAQ[sb] oznaczono NMR, które jest obliczane zgodnie z algorytmem uzytym˙ w PEAQ [4] i opisanym w [71] oraz rozdz. 2.1.1. Dla tej miary takze˙ bł ˛adjest wyznaczany w inny sposób, dlatego tez˙ wprowadzono tutaj zmienn ˛a diff. Algorytm obliczenia bł˛edudla miary NMRP EAQ przedstawiono w rozdz. 5.7 Dla przeprowadzanych w badaniach statystyk oraz miar wykorzystywanych w module kwantyzacji i alokacji bitów wykorzystuje si˛enast˛epuj˛acemiary dla całej ramki:

P  b NMRsb[b] ANMRfr = 10 log10 , (2.48) Nb

28 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 P  b max(1,NMRsb[b]) ANMRSfr = 10 log10 , (2.49) Nb gdzie Nb to liczba pasm modelu psychoakustycznego.

max  MNMR = 10 log (NMR [b]) . (2.50) fr 10 b sb

Wszystkie te usrednione´ miary mog ˛aodnosic´ si˛ezarówno do NMR i NMRP EAQ. Jak widac´ miara ANMR jest srednim´ NMR w ramce. Dla przypadku, gdy w cz˛esci´ pasm krzywa energii szumu kwantyzacji b˛edzieduzo˙ powyzej˙ krzywej maskowania, a w drugiej cz˛esci´ duzo˙ ponizej,˙ to miara ANMR moze˙ byc´ lepsza niz˙ dla przypadku, gdy obie krzywe prawie si˛epokrywaj ˛a. Dla eliminacji takich przypadków zaproponowano miar˛e ANMRS, która rozwaza˙ tylko pasma dla których energia bł˛edukwantyzacji jest wi˛ekszaod progu maskowania. Przyjmuje si˛e, ze˙ dla pasm dla których energia szumu kwantyzacji jest mniejsza niz˙ progi maskowania, energia szumu kwantyzacji pokrywa si˛ez progami maskowania (NMR = 1). Dla celów statystycznych, tzn. tylko dla obliczania statystyk potrzebnych do badan,´ a nie wykorzystywanych do samego kodowania sekwencji audio, wprowadzono jeszcze miary dla całej sekwencji: P fr NMRfr ANMRseq = , (2.51) Nfr P fr MNMRfr MNMRseq = (2.52) Nfr oraz bazuj ˛acana zaproponowanej mierze ANMRS: P fr max(1,NMRfr) ANMRSseq = , (2.53) Nfr

gdzie Nfr to jest liczba ramek. Miary te s ˛ausrednianiem´ wartosci´ logarytmicznych (w dB), wi˛ecnie s ˛amiarami odzwierciedlaj ˛acymi rzeczywisty NMR (rozumiany tak jak TotalNMR w PEAQ). S ˛aone jednak pewnymi wska´znikami, mówi ˛acymi o tendencjach kodowanej sekwencji. Wynikowa wartos´c´ tych miar pozwala porównywac´ wyniki dla róznych˙ sekwencji.

2.5 Interpolacja punktów

Dla porównania jakosci´ dwóch zakodowanych sekwencji audio trzeba porównac´ miar˛e jakosci´ ODG oraz przepływnos´c´ bitow ˛az któr ˛azostała zakodowana sekwencja. Mimo kodowania sekwencji dla ustalonej przepływnosci´ bitowej, wyniki zawsze odbiegaj ˛aod tej przepływnosci.´ W takim przypadku niemozliwe˙ jest porównanie dwóch sekwencji.

29 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozwi ˛azaniemjest przyj˛ecie docelowej przepływnosci´ bitowej i interpolowanie do niej wyników kodowania poszczególnych koderów. Tak interpolowane wyniki mozna˙ bezposrednio´ porównywac´ ze sob ˛a. Dla poprawnosci´ interpolacji zakłada si˛e, ze˙ punkty z których si˛e interpoluje lez˙ ˛ablisko siebie.

Rysunek 2.14: Interpolacja punktu o zadanej przepływnosci´ bitowej brx z punktów A(br1,odg1) i B(br2,odg2)

Na rys. 2.14 przedstawiono interpolacj˛e punktu X o zadanej przepływnosci´ brx z

punktów A(br1, odg1) i B(br2, odg2). Krzywa rzeczywistej charakterystyki odg(br) zostaje

zlinearyzowana do odcinka AB. Dla przepływnosci´ bitowej brx wyznaczamy połozenie˙ punktu X na odcinku AB. Z relacji trójk ˛atówpodobnych otrzymujemy równanie:

odg − odg br − br x 1 = x 1 (2.54) odg2 − odg1 br2 − br1

Po przekształceniach otrzymujemy zalezno˙ s´c´ na poszukiwan ˛awartosci´ odgx:

brx − br1 odgx = · (odg2 − odg1) + odg1 (2.55) br2 − br1

Podsumowanie

W rozdziale przedstawniono miary jakosci´ d´zwi˛eku ze szczególnym uwzgl˛ednieniem obiektywnej miary Perceptual Evaluation of Audio Quality (PEAQ) oraz podano sposób obliczania jej posrednich´ miar. Zidentyfikowano składowe maj ˛acenajwi˛ekszywpływ na

30 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 ostateczny wynik estymowanej oceny jakosci.´ Miary te b˛ed˛anast˛epniewykorzystywane do zwi˛ekszeniaefektywnosci´ algorytmów kompresji. Krótko opisano takze˙ sekwencje testowe, na których były przeprowadzane testy jakosci´ d´zwi˛eku. Przedstawiono miary słuz˙ ˛acedo porównywania efektywnosci´ algorytmów alokacji bitów oraz wprowadzono miar˛e ANMRSfr oraz ANMRSseq. Przedstawiono takze˙ zaproponowany sposób interpolacji wyników obiektywnych do załozonej˙ przepływnosci´ bitowej.

31 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozdział 3

Przegl ˛adkoderów d´zwi˛eku

W rozdziale opisano kodery kilku standardów stratnej kompresji d´zwi˛eku,w szczególnosci´ kodery standardu AAC. Kodery zostały porównane pod wzgl˛edem uzyskiwanej jakosci´ d´zwi˛eku.Pozwalało to wybrac´ koder referencyjny dla dalszych badan.´ W dzisiejszych czasach istnieje bardzo duza˙ potrzeba przesyłu róznego˙ rodzaju mediów i zwi˛ekszasi˛eona z kazdym˙ rokiem. Najpierw przesyłany był sam tekst, potem przesyłano obrazy, nast˛epnie muzyk˛e oraz filmy. Kazde˙ kolejne z wymienionych mediów ma coraz wi˛ekszepotrzeby przepustowosci´ ł ˛aczatelekomunikacyjnego. Takze˙ samo przechowywanie mediów wymaga znacznych zasobów pami˛eciowych. Na przeciw tym wymaganiom wychodzi kompresja. Jej zadaniem jest zminimalizowanie długosci´ strumienia bitowego danego medium, przy zachowaniu jak najlepszej jakosci.´ Najlepsz ˛ajakos´c´ zapewniaj ˛akodery bezstratne. Gorsz ˛ajakos´c´ zapewnia kompresja stratna, umozliwiaj˙ ˛ackodowanie na mniejszej liczbie bitów. Współczesne kodery kompresji stratnej s ˛aprojektowane tak, by były transparentne. Oznacza to, ze˙ mimo utraty znacz ˛acejcz˛esci´ danych, percepcyjnie straty te nie s ˛adostrzegane. Niniejsza praca jest poswi˛econakompresji´ stratnej d´zwi˛eku,dlatego tez˙ uwaga zostanie skupiona na takich metodach kompresji. Obecnie istnieje duzo˙ koderów audio, rózni˙ ˛acych si˛e metodami i rezultatami kompresji. Ponizej˙ przedstawiono kilka wybranych koderów stratnych, aby przyblizy˙ c´ mozliwo˙ sci´ i ograniczenia spotykane przy praktycznej implementacji róznych˙ algorytmów kompresji d´zwi˛ekowej.

3.1 Kodery grupy roboczej MPEG

MPEG (Moving Picture Experts Group) jest grup ˛arobocz ˛aISO/IEC, zajmuj ˛ac˛asi˛e rozwijaniem i zatwierdzaniem standardów multimedialnych m.in. d´zwi˛ekowych. Ponizej˙ wymieniono i krótko scharakteryzowano główne kodery stratne d´zwi˛eku.

33 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 3.1.1 MPEG-1

Norma przewiduje trzy warstwy kodeka MPEG-1: Layer I, II i III nazywane odpowiednio MP1, MP2, MP3. Kazda˙ kolejna jest bardziej zaawansowana. Wszystkie warstwy obsługuj ˛a cz˛estotliwosci´ próbkowania: 32, 44.1, 48kHz. Koder warstwy pierwszej jest najprostszy, przeznaczony do kodowania sekwencji z przepływnosci´ ˛abitow ˛aod 32 do 224kb/s. Kodek warstwy drugiej pracuje z przepływnosciami´ od 32 do 192kb/s przy czym gwarantuje lepsz ˛a jakos´c´ d´zwi˛ekuod warstwy pierwszej. Na rys. 3.1 przedstawiono uproszczony schemat kodera warstw pierwszej i drugiej.

Rysunek 3.1: Schemat działania koderów MPEG-1 Warstwy I i II

Analiza rozpoczyna si˛eod podziału sygnału na 32 pasma w banku filtrów. Analiza zostaje przeprowadzona poprzez filtry PQMF (Pseudo-Quadrature Mirror Filter – psudokwadraturowy filtr lustrzany). Współczynniki cz˛estotliwosciowe´ s ˛akierowane do równomiernego kwantyzera, który jest sterowany przez model psychoakustyczny. Wyniki, wraz z dodatkowymi informacjami kontrolnymi, s ˛azapisywane do strumienia koncowego.´ W drugiej gał˛ezi(dolna cz˛es´c´ na rys. 3.1) próbki s ˛afiltrowane oknem Hanna, a nast˛epnieobliczana jest transformata DFT. Wyniki s ˛awejsciem´ dla modelu psychoakustycznego, który steruje kwantyzacj ˛atak, by otrzymac´ jak najlepsz ˛ajakos´c´ d´zwi˛ekuprzy zadanej przepływnosci´ bitowej. W warstwie I i II korzysta si˛ez modelu psychoakustycznego I (szczegółowo opisanego w rozdz. 5.3). Na wi˛eksz˛auwag˛ezasługuje warstwa MP3, która była i nadal jest jednym z najcz˛esciej´ wykorzystywanych formatów kompresji audio, obsługiwan ˛a przez ogromn ˛a wi˛ekszos´c´ aplikacji programowych, jak i urz ˛adzen´ sprz˛etowych. Koder MP3 obsługuje szeroki zakres przepływnosci´ bitowych od 32 do 320kb/s Schemat algorytmu kodera mp3 przedstawiono na rys. 3.2.

Rysunek 3.2: Schemat działania kodera MPEG1 Layer III – mp3

34 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Próbki czasowe najpierw trafiaj ˛ado filtra PQMF, który dzieli sygnał na 32 pasma (podobnie jak w warstwach I i II). Nast˛epnieprzefiltrowane próbki przechodz ˛azmodyfikowan ˛a transformat˛ecosinusow ˛a(Modified Discreate Cosine Transform). Współczynniki transformat s ˛akwantowane przez kwantyzator nierównomierny. Po nim nast˛epujekodowanie entropijne realizowane przez koder Huffmana. Koncowe´ wyniki, wraz z danymi pomocniczymi, trafiaj ˛a do strumienia. Podobnie jak w warstwach I i II w dolnej gałezi kodera jest transformacja DFT (tym razem 2 · 1024-punktowa) oraz model psychoakustyczny.

3.1.2 MPEG-2/4

Nast˛epc˛astandardu stratnej kompresji d´zwi˛ekuMPEG-1 Layer-III (mp3)[58] jest standard Advanced Audio Coding (AAC). AAC zostało ustanowione jako standard w 1997 roku w specyfikacji ISO/IEC MPEG-2 cz˛es´c´ 7 [60, 96, 39]. Standard został takze˙ nazwany jako niekompatybilny wstecz (non-Backward Compatibile), poniewaz˙ MPEG-2 zawierał juz˙ cz˛es´c´ 3., opisuj ˛ac˛astandard kodowania kompatybilnego wstecz (backward compatibile)[59]. MPEG-2 cz˛es´c´ 7 definiowała trzy profile: niskiej złozono˙ sci´ (AAC-Low Complexity – AAC LC), profil główny (AAC Main) oraz profil skalowalnej przepływnosci´ bitowej (Scalable Sampling Rate – AAC-SSR). Koder w profilu LC wykorzystuje tylko najprostsze narz˛edzia,wymagaj ˛acym najmniejszych zasobów obliczeniowych. Profil główny (Main) jest zaprojektowany by wykorzystac´ wszystkie mozliwo˙ sci´ kodera. By zapewnic´ najlepsz ˛ajakos´c´ kodowania, potrzebuje wi˛ecejzasobów obliczeniowych niz˙ LC. SSR zapewnie skalowalnos´c´ przepływnosci´ bitowej kodowania. W tab. 3.1 przedstawiono wszystkie narz˛edzia wykorzystywane w poszczególnych profilach. Poszczególne narz˛edzia(przedstawione na rys. 3.3) opisano dalej.

Narz˛edziaMPEG-2/AAC Main LC SSR przetwarzanie wst˛epne - - + bank Filtrów + + + TNS + ograniczone ograniczone I/C + + + predykcja + - - M/S + + + sterowanie TRDO + + + kodowanie binarne + + + formowanie strumienia + + +

Tablica 3.1: Narz˛edziauzywane˙ w poszczególnych profilach w standardzie MPEG-2 czes´c7´

W 1999 roku ustanowiono cz˛esci´ 3 standardu MPEG-4 – Advanced Audio Coding [61]. Aktualizacja przyniosła kilka nowych mozliwo˙ sci.´ Narz˛edzia w tym standardzie mozna˙ pogrupowac´ w kilka kategorii, które s ˛aprzedstawione w tab. 3.2.

35 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Kategoria Narz˛edzie Opis Code Excited Linear Prediction – CELP koder predykcji liniowej HVXC Harmonic Vector Excitation Coding Kodowanie mowy TTS Text To Speech – kodowanie tekstu do mowy Variable Bitrate HVXC o zmiennej przepływnosci´ bitowej HVXC Silence Compression kompresja ciszy MPEG-2 AAC Main MPEG-2 AAC LC odpowiednie profile z MPEG-2 MPEG-2 AAC SSR LD Low-Delay – małe opó´znienie Kodowanie PNS Perceptual Noise Substitution* ogólne LTP Long Term Prediction* HILN Harmonic and Individual Lines plus Noise Transform-domain weighted interleave TwinVQ Vector Quantization – kwantyzacja wektorowa Bit Sliced Arithmetic Coding – BSAC kodowanie arytmetyczne TLSS Tools for Large Step Scalability Skalowalna SA Synthetic Audio Tools Synteza SASBF Structured Audio Sample Bank Format MIDI Musical Instrument Digital Interface Zabezpieczenie Error Robustness Tools – przeciw ER uodpranianie przeciw bł˛edom bł˛edom

Tablica 3.2: Kategorie i narz˛edziaw standardzie MPEG-4. *– moduły opisano ponizej˙

W niniejszej pracy obiektem zainteresowan´ jest tylko kodowanie ogólne. Do profili MPEG-2 AAC standard MPEG-4 dodał narz˛edzie PNS oraz dodatkow ˛amozliwo˙ s´c´ rozszerzenia o narz˛edzie predykcji długookresowej LTP. TwinVQ umozliwia˙ zast ˛apieniekwantyzacji skalarnej kwantyzacj ˛a wektorow ˛a, która najcz˛esciej´ wykorzystywana jest w kodowaniu skalowalnym. BSAC jest koderem arytmetycznym zast˛epuj˛acym kodowanie Huffmana, które wykorzystywało predefiniowane ksi ˛azki˙ kodowe. Narz˛edzia s ˛a zorganizowane w tzw. typy obiektów (Object Types) [62], a te s ˛a zorganizowane w nast˛epuj˛acych profilach:

• główny (Main) – zawiera wszystkie narz˛edziakodowania naturalnego MPEG-4 oraz obiekty syntetyczne bez ER,

• skalowalny (Scalable) – profil umozliwiaj˙ ˛acy skalowanie. Zawiera wszystkie typy obiektów oprócz MPEG-2 Main, SSR i SA,

• mowy (Speech) – zawiera narz˛edziaCELP, HVXC i TTS,

36 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 • syntetyczny (Synthesis) – zawiera SA, TTS; umozliwia˙ kodowanie na bardzo niskich przepływnosciach´ bitowych,

• naturalny (Natural) – umozliwia˙ kodowanie we wszystkich naturalnych typach obiektów, dodatkowo pozwala na uzycie˙ TTS i ER,

• wysokiej jakosci´ (High Quality) – zawiera AAC LC i LTP, CELP. Jest mozliwo˙ s´c´ wł ˛aczeniaER,

• niskiego opó´znienia(Low Delay)– pozwala na kodowanie z bardzo niskim opó´znieniem. Zawiera AAC LD, CELP, HVXC, ER i TTS,

• mobilny (Mobile Audio Internetworking – MAUI) – pozwala na uzycie˙ ER, LC, skalowalny (scalable), Twin VQ, BSAC, LD. Profil przeznaczony do aplikacji komunikacyjnych uzywaj˙ ˛acych algorytmy kodowania mowy i wysokiej jakosci´ kodowanie d´zwi˛eku.

W 2003 roku wprowadzono nowy profil High-Efficiency Advanced Audio Coding (HE-AAC) [63] czyli koder AAC wysokiej wydajnosci.´ Jest on zaprojektowany dla niskich przepływnosci´ bitowych. Rozszerza działanie kodera AAC o SBR (Spectral Band Replication), polegaj ˛acena redukcji harmonicznych dla wysokich cz˛estotliwosci´ i ich rekonstrukcj˛e w dekoderze poprzez odtworzenie harmonicznych dla niskich pasm z odpowiednio dobranymi parametrami. W 2006 roku wprowadzono jeszcze jeden profil: HE-AAC v2 [64], wzbogacaj ˛acy architektur˛e kodera HE-AAC o moduł parametrycznego stereo (Parametric Stereo – PS), który jest kolejnym podejsciem´ do parametryzacji kanałów stereo. Profil HE-AACv2 jest przeznaczony dla niskich przepływnosci´ bitowych. Ponizej˙ przedstawiono krótki opis poszczególnych narz˛edzi/modułów w standardzie MPEG-4 AAC.

• Przetwarzanie wst˛epne — to narz˛edzie kontroli wzmocnienia (gain control). Jest uzywane˙ w profilu skalowalnym SSR. Sygnał jest na pocz ˛atkufiltrowany przez cztery filtry PQMF. Nast˛epniewzmocnienie jest detekowane i modyfikowane, tak aby otrzymac´ najlepsze wyniki dalszej kompresji.

• Bank filtrów — wykorzystywany w standardzie jako narz˛edzietransformacji z dziedziny czasu na dziedzin˛ecz˛estotliwosci.´ Uzywana˙ jest zmodyfikowana dyskretna transformacja cosinusowa (Modified Discreate Cosine Transform – MDCT). Jest ona zdefiniowana nast˛epuj˛aco: 2N−1 X  π  1 N   1 X = x cos n + + k + , (3.1) k n N 2 2 2 n=0

37 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 3.3: Schemat działania kodera AAC

gdzie Xk to k-ty współczynnik cz˛estotliwosciowy,´ a xn, to n-ta próbka czasowa, k = 0, ..., N − 1. Transformata liczona jest w długich (N = 2048-próbkowych) lub krótkich (N = 256-próbkowych) oknach. Okna krótkie zawsze wyst˛epuj˛aw seriach po osiem. Standard definiuje tez˙ okna przejsciowe´ z długich na krótkie i odwrotnie. W transformacie MDCT okna nakładaj ˛asi˛ena siebie w proporcji 1/2. Przed obliczeniem transformacji MDCT próbki s ˛afiltrowane przez funkcj˛eokna: sinusow ˛a lub Keisera-Bessela(Keiser-Bessel Derived – KBD). Przykład kształtu funkcji okna przedstawiono na rys. 3.4. Transformata MDCT zawiera współczynniki cz˛estotliwosciowe´ w liczbie o połow˛e mniejszej niz˙ liczba próbek na wejsciu´ transformacji. W dekoderze, w odwrotnej transformacji MDCT (IMDCT), aby odtworzyc´ pierwotne próbki czasowe pierwsz ˛acz˛es´c´ okna biez˙ ˛acego sumuje si˛ez drug ˛apołow ˛aokna poprzedniego. Transformata IMDCT

38 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 3.4: Przykład kształu okien dla funkcji sinusowej i kbd dla okna o długosci´ 2048 próbek

definiowana jest nast˛epuj˛aco:

N−1 1 X  π  1 N   1 y = X cos n + + k + , (3.2) n N k N 2 2 2 k=0

gdzie Xk to k-ty współczynnik cz˛estotliwosciowy,´ a yn, to n-ta zrekonstruowana próbka czasowa, n = 0, 1, ..., 2N − 1.

• TNS — narz˛edziekształtowania szumu kwantyzacji (Temporal Noise Shaping – TNS) jest umieszczone mi˛edzybankiem filtrów a modułem kwantyzacji. Zadaniem TNS jest odpowiednie filtrowanie sygnału w dziedzinie cz˛estotliwosci´ filtrem predykcyjnym, co pozwala kontrolowac´ i kształtowac´ szum kwantyzacji. W efekcie, zamiast kodowac´ współczynniki cz˛estotliwosciowe´ w module kwantyzacji, koduje si˛eresidua predykcji (sygnał róznicowy).˙ Standard pozwala uzywa˙ c´ filtry maksymalnie rz˛edu12 lub 20 (w zalezno˙ sci´ od profilu). Filtrowane moze˙ byc´ całe spektrum lub jego fragment. TNS tak kształtuje szum kwantyzacji by był zaadaptowany do kształtu sygnału w dziedzinie czasu. Pozawala to efektywniej wykorzystywac´ efekt maskowania cz˛estotliwosciowego,´ oraz eliminuje efekt pre-echa. P.Kabal w [78] pisze, ze˙ dzi˛eki zastosowaniu TNS jakos´c´ sekwencji glockenspiel i german_male poprawiła si˛eo wartos´c´ 0.9 w skali ODG.

39 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 • Predykcja — w standardzie AAC moze˙ byc´ uzyta˙ dla zmniejszenia redundancji

Rysunek 3.5: Schemat modułu predykcji (dla jednego współczynnika)

sygnału. Predykcja jest korzystna dla sygnałów stacjonarnych, czyli sygnałów, w których s ˛awykorzystywane długie okna. Poniewaz˙ dla sygnałów niestacjonarnych (np. transjentów), wykorzystuje si˛eokna krótkie, predykcja jest dost˛epnatylko dla długich okien. Predykcja wykonywana jest w dziedzinie cz˛estotliwosci.´ Zdefiniowana w ten sposób predykcja jest predykcj ˛a wstecz. Na rys. 3.5 przedstawiono uproszczony schemat predykcji dla jednego współczynnika. Wartosci´ współczynników

cz˛estotliwosciowych´ xi(n) wpadaj ˛ado predyktora, który z obecnego współczynnika i

zrekonstruowanego współczynnika z poprzedniej ramki (xi,rec(n − 1)) oblicza róznic˛e˙ (residuum). Zadaniem sterowania jest wybór rozwi ˛azaniabardziej opłacalnego – residuum wraz z informacjami dodatkowymi o predykcji lub przesłanie oryginalnego współczynnika cz˛estotliwosciowego.´ Wynik trafia do kwantyzera. Nast˛epnie

skwantowane współczynniki lub residua trafiaj ˛ado dalszych modułów kodera (yi,q(n)) oraz do p˛etli rekonstrukcji. W rezultacie zastosowanej predykcji do strumienia przesyłane s ˛awartosci´ residuów, czyli róznic˙ mi˛edzywartosci´ ˛arzeczywist ˛aa wartosci´ ˛a predykowan ˛a,co pozwala na lepsz ˛akompresj˛e.

• Predykcja długookresowa — (Long Term Prediction – LTP) jest predykcj ˛awzoruj ˛ac˛a si˛ena predykcji w koderach mowy. Rózni˙ si˛eod predykcji przedstawionej w punkcie poprzednim tym, ze˙ wykonywana jest w dziedzinie czasu. W odróznieniu˙ od predykcji, LTP mozna˙ stosowac´ takze˙ w oknach krótkich. Na rys. 3.6 przedstawiono schemat predykcji LTP. Osobnymi kolorami oznaczone zostały dziedziny czasu i cz˛estotliwosci.´ W LTP predykcja jest obliczana na oryginalnym sygnale i sygnale zrekonstruowanym w dziedzinie czasu. Wynikowe residua s ˛atransformowane w dziedzin˛ecz˛estotliwosci´ i kwantowane. Ostateczne wyniki s ˛aprzesyłane do nast˛epnych modułów kodera AAC.

• Kodowanie Intensywnos´c/Sprz˛e´ zenie˙ — to jedna z metod kodowania stereo (obok kodowania M/S) w standardzie AAC. Polega ona na kodowaniu intensywnosci/sprz˛e´ zenia˙ mi˛edzykanałami. Wyrózniamy˙ dwie metody:

40 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 3.6: Schemat modułu predykcji długookresowej

1. Kodowanie intensywnosci´ (Intensity Stereo – IS) polegaj ˛ace na kodowaniu wspólnych danych oraz przesyłania wektora kierunku, czyli intensywnosci´ z jak ˛a dane pojawiaj ˛asi˛ew poszczególnych kanałach stereo. 2. Kodowanie sprz˛ezenia˙ (Coupling Channel), które jest realizowane na dwa sposoby: – podobnie do trybu IS, z t ˛a tylko róznic˙ ˛a, ze˙ nie jest ograniczone do dwóch kanałów, a kanały mog ˛a byc´ dowolnie ł ˛aczone (dla strumieni wielokanałowych), – tryb polegaj ˛acy na zmiksowaniu (down-mix) kanałów w jeden. Jako przykład podaje si˛ezmiksowanie sygnału komentarza do pozostałej tresci´ d´zwi˛ekowej.

• PNS — moduł percepcyjnego zast˛epowania szumem (Perceptual Noise Substitution ) wykrywa pasma, w których sygnał ma widmo zblizone˙ do szumu. Zamiast przesyłac´ konkretne współczynniki cz˛estotliwosciowe,´ wyznaczana jest energia i parametry szumu, przesyłane nast˛epniedo dekodera. W dekoderze generowany jest szum z zadan ˛aenergi ˛a i parametrami dla kazdego˙ pasma cz˛estotliwosciowego.´ Moduł jest wykorzystywany raczej dla niskich przepływnosci´ bitowych. Do realizacji PNS wykorzystuje si˛edwie techniki. Pierwsza opisana jest w normie [65] i bazuje na indeksie tonalnosci.´ Jesli´ w danym pasmie´ indeks wskazuje nietonalnos´c´ pasma, to wykorzystywane jest PNS, w przeciwnym przypadku PNS jest wył ˛aczone. Drugim podejsciem´ jest algorytm zaproponowany przez D.Schultza [95] wykorzystuj ˛acy predykcj˛ew dziedzinie czasu. W [117] porównano oba podejscia´ i stwierdzono, ze˙ algorytm Schulza daje lepsze wyniki.

• M/S (Mid/Side)— narz˛edziekodowania d´zwi˛ekuwielokanałowego. Sparowane kanały mog ˛abyc´ przesyłane oddzielnie jako lewy (L) i prawy (R) lub w trybie M/S. Tryb

41 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 definiuje kanał Mid jako normalizowan ˛asum˛ekanałów lewego i prawego oraz Side jako normalizowan ˛aróznic˛etych˙ kanałów. Wybór wł ˛aczeniatrybu MS moze˙ odbywac´ si˛ez ramki na ramk˛elub dla kazdego˙ pasma SFB osobno.

• Kwantyzacja — jest procesem stratnym, ale dzi˛eki niej mozliwa˙ jest efektywna kompresja sekwencji audio. Celem kwantyzacji i alokacji bitów jest zminimalizowanie długosci´ strumienia bitowego, a zarazem utrzymanie jak najlepszej jakosci´ d´zwi˛eku. Pomimo stratnosci´ procesu, wszystkie pozostałe moduły, a w szczególnosci´ model psychoakustyczny stara si˛e tak dobrac´ parametry kwantyzacji, by strata informacji była jak najmniej słyszalna dla człowieka. W standardzie AAC kwantyzacji podlegaj ˛a współczynniki cz˛estotliwosciowe´ x, które s ˛awynikiem transformacji MDCT. Standard definiuje podział całego spektrum cz˛estotliwosciowego´ na pasma zwane ScaleFactor Bands (SFB). Dla róznych˙ cz˛estotliwosci´ próbkowania sygnału i długosci´ okien definiowana jest rózna˙ liczba pasm. Dla uzywanej˙ cz˛estotliwosci´ próbkowania 48kHz, mamy 14 i 49 pasm odpowiednio dla okien krótkich i długich. Kazde˙ pasmo cz˛estotliwosciowe´ SFB ma przyporz ˛adkowany swój współczynnik kwantyzacji – ScaleFactor (SF). Dla okien krótkich, kazde˙ poszczególne okno w serii ma swój zestaw współczynników SF. Jednakze˙ standard daje mozliwo˙ s´c´ ł ˛aczenias ˛asiednich okien w grupy. W realizowanej implementacji, zgodnie z tym co było zrobione w koderze FAAC (wybranym jako bazowy), wszystkie okna krótkie były ł ˛aczonew jedn ˛agrup˛eosmio-okienn´ ˛a. Zatem dla okien krótkich SF jest jednakowy dla danego pasma we wszystkich oknach w serii. Pojedynczy współczynnik cz˛estotliwosciowy´ jest kwantowany w nast˛epuj˛acy sposób:

j 3 3 ·SF k xq = sign(x) · |x| 4 · 2 16 + 0.4054 , (3.3)

gdzie x to współczynnik transformaty MDCT, xq skwantowany współczynnik, SF to ScaleFactor dla danego pasma, a wartos´c´ 0.4054 jest wartosci´ ˛aoffsetu zdefiniowan ˛a przez standard, sign(x) jest znakiem x. Odwrotnosci´ ˛akwantyzacji jest dekwantyzacja zdefiniowana nast˛epuj˛aco:

4 − 1 SF xdq = sign(xq) · |xq| 3 · 2 4 , (3.4)

gdzie xdq jest współczynnikiem zrekonstruowanym. W równaniu dekwantyzacji nie wyst˛epujeskładnik 0.4054, poniewaz˙ w koderze po dodaniu współczynnika, nast˛epowało

zaokr ˛agleniewyniku w dół, co czyniło xq punktem zblizonym˙ do srodka´ przedziału kwantyzacji.

42 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Skwantowane współczynniki cz˛estotliwosciowe´ s ˛akodowane entropijnie w koderze Huffmana.

• Kodowanie entropijne — jest odpowiedzialne za kompresj˛ebezstratn ˛askwantowanych

liczba współczynników maksymalna wartos´c´ HCB znak kodowanych w paczce kodowanych współczynników 0 0 0 1 4 1 ze znakiem 2 4 1 ze znakiem 3 4 2 bez znaku 4 4 2 bez znaku 5 2 4 ze znakiem 6 2 4 ze znakiem 7 2 7 bez znaku 8 2 7 bez znaku 9 2 12 bez znaku 10 2 12 bez znaku 11 2 16 [ESC] bez znaku

Tablica 3.3: Ksi ˛azki˙ kodowe Huffmana (HCB) i ich parametry zdefiniowane w standardzie. [ESC] oznacza, ze˙ ksi ˛azka˙ obsługuje takze˙ dodatkowe kody dla wartosci´ wi˛ekszych od 16.

współczynników cz˛estotliwosciowych´ oraz współczynników kwantyzacji Scale Factor. W standardzie uzywane˙ jest kodowanie Huffmana. Kody Huffmana nie s ˛ajednak budowane w zalezno˙ sci´ od biez˙ ˛acych statystyk, ale s ˛apredefiniowane w ksi ˛azkach˙ kodowych tzw. Huffman CodeBooks (HCB). Dla zakodowania skwantowanych współczynników cz˛estotliwosciowych´ zdefiniowano dwanascie´ ksi ˛azek˙ i jeden tryb specjalny. Do kazdego˙ pasma jest przyporz ˛adkowana tylko jedna ksi ˛azka˙ kodowa. W tab. 3.3 przedstawiono wszystkie ksi ˛azki˙ słuz˙ ˛acedo kodowania współczynników. Specyficzn ˛aksi ˛azk˙ ˛ajest ksi ˛azka˙ o numerze 0. Koduje ona pasma, w których wszystkie współczynniki s ˛arówne zero. W przypadku tej ksi ˛azki˙ kodowej, do strumienia przesyłana jest tylko informacja o numerze ksi ˛azki.˙ Dla ksi ˛azek˙ kodowych 1−11, oprócz numeru uzytej˙ ksi ˛azki,˙ przesyłane s ˛atakze˙ wartosci´ zakodowanych współczynników. Współczynniki mog ˛abyc´ kodowane w paczkach po 2 lub 4 współczynniki zgodnie z tym co podano w tabeli. Jesli´ pasmo zawiera wi˛ecejwspółczynników niz˙ paczka, to przesyłanych jest wi˛ecejpaczek. Współczynniki s ˛akodowane w paczkach ze znakiem lub bez, zgodnie z tym co podano w tabeli. Jesli´ współczynniki kodowane s ˛abez znaku, to kodowana jest ich wartos´c´ bezwzgl˛edna,a po ich zakodowaniu przekazywana

43 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 jest informacja o znakach. Dodatkow ˛acech ˛akazdej˙ ksi ˛azki˙ kodowej jest maksymalna wartos´c,´ jak ˛adana ksi ˛azka˙ kodowa moze˙ zakodowac.´ Jak mozna˙ zauwazy˙ c,´ im wi˛eksza wartos´c´ współczynnika cz˛estotliwosciowego,´ tym mniej ksi ˛azek˙ do wyboru. Wartosci´ skwantowane w standardzie AAC przybieraj ˛awartosci´ z przedziału (−8191; 8191).Z tab. 3.3 wynika, ze˙ ksi ˛azki˙ obsługuj ˛awartosci´ tylko do 16. Powyzej˙ tej wartosci´ jest uzywana˙ ksi ˛azka˙ z numerem 11 oraz dodatkowe kody ESC do zakodowania potrzebnych wartosci.´ Poza kodowaniem współczynników cz˛estotliwosciowych´ zadaniem kodowania Huffmana jest przesłanie sekwencji ksi ˛azek˙ kodowych (HCB) oraz współczynników kwantyzacji – Scale Factors. Dla zakodowania SF wykorzystuje si˛eprzygotowan ˛aspecjalnie do tego celu ksi ˛azk˛ekodow˙ ˛a.Pierwszy SF, zwany takze˙ wzmocnieniem ogólnym (Global Gain), kodowany jest jako wartos´c´ osmiobitowa.´ Nast˛epneSF kodowane s ˛akolejno, róznicowo.˙ Obliczana róznica˙ jest kodowana za pomoc ˛aodpowiedniego słowa kodowego. Słowa s ˛atak skonstruowane, ze˙ im mniejsza róznica˙ tym słowo jest krótsze, np. jesli´ róznica˙ wynosi zero, to nast˛epny SF zajmie tylko jeden bit. Jesli´ jest ramka, która ma 40 pasm, a wszystkie pasma maj ˛ataki sam SF, to w sumie ramka zostanie zakodowana na 8 + 39 · 1 = 47 bitach. W przypadkach, gdy jakies´ pasmo jest kodowane za pomoc ˛azerowej ksi ˛azki˙ kodowej (czyli wszystkie współczynniki cz˛estotliwosciowe´ po kwantyzacji w danym pasmie´ s ˛arówne zero), to pasmo to jest pomijane. Do odtworzenia informacji o pomini˛etychpasmach wystarcz ˛aindeksy ksi ˛azek˙ kodowych. Jesli´ ostatnie pasma w ramce s ˛awyzerowane, to kodowanie konczy´ si˛ena ostatnim niezerowym pasmie.´ Kodowanie numerów ksi ˛azek˙ kodowych odbywa si˛ew inny sposób. Kodowane s ˛aone w paczkach. Jedna paczka zawiera informacj˛eo numerze ksi ˛azki˙ kodowej oraz liczbie kolejnych powtórzen´ danej ksi ˛azki˙ kodowej. Idealna zatem sytuacja, pod wzgl˛edem liczby bitów przeznaczonych na kodowanie HCB, wyst˛epujewtedy, gdy wszystkie pasma kodowane s ˛aza pomoc ˛atej samej HCB. Numer ksi ˛azki˙ kodowany jest na czterech bitach, a liczba powtórzen´ ksi ˛azki˙ na pi˛eciudla długich okien lub trzech dla krótkich okien. Zatem liczba powtórzen´ moze˙ wynosic´ maksymalnie 31 dla długich okien oraz 7 dla krótkich okien. Omówione tutaj zakodowane współczynniki cz˛estotliwosciowe,´ SF i HCB wykorzystuj ˛a prawie cał ˛aprzepływnos´c´ bitow ˛astrumienia audio. Prost ˛aimplementacj˛ekodowania entropijnego mozna˙ znale´zc´ w [90]. W tab. 3.4 przedstawiono prosty przykład kodowania HCB dla okna długiego. Widac,´ ze˙ korzystne jest powtarzanie si˛eHCB, poniewaz˙ wtedy trzeba przesłac´ mniejsz ˛aliczb˛e paczek z ksi ˛azkami,˙ zwi˛ekszaj˛actylko licznik powtórzen´ w paczce. Przyczynia si˛eto do zmniejszenia liczby bitów potrzebnych do zakodowania numerów HCB.

44 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 pasmo SFB 0 1 2 3 4 5 6 7 ... HCB 11 11 11 10 10 9 0 5 ... HCB paczka (11;3) - - (10;2) - (9;1) (0;1) (5;1) ... HCB bity 9 0 0 9 0 9 9 9 ...

Tablica 3.4: Przykładowa sekwencja ksi ˛azek˙ kodowych wraz z liczb ˛abitów potrzebn ˛ado ich zakodowania w poszczególnych pasmach

pasmo SFB 0 1 2 3 4 5 6 7 ... HCB 11 11 11 10 10 9 0 5 ... SF 140 141 150 134 135 135 140 140 ... SF róznica˙ Global Gain 1 9 -16 1 0 0 5 ... SF bity 8 4 8 12 4 1 0 6 ...

Tablica 3.5: Przykładowa sekwencja współczynników Scale Factor wraz z liczb ˛abitów potrzebn ˛ado ich zakodowania w poszczególnych pasmach

W tab. 3.5 przedstawiono przykład kodowania współczynników SF. Pierwszy współczynnik jest zawsze kodowany na 8 bitach jako Global gain. Nast˛epne SF s ˛akodowane róznicowo.˙ Z obliczonej róznicy˙ mi˛edzy kolejnymi SF (SF róznica˙ ) wyznaczane jest słowo kodowe oraz liczba bitów potrzebna do jego zapisania (SF bity). Tak s ˛akodowane SF w kolejnych pasmach az˙ do ostatniego niezerowego pasma. Wyj ˛atkiempasma, w których wybrana jest zerowa ksi ˛azka˙ kodowa. Takie pasma s ˛apomijane i nie s ˛aprzydzielane zadne˙ bity dla tych pasm. Pomini˛eciapasma powoduje koniecznos´c´ pami˛etania lub znalezienia poprzedniego pasma z niezerow ˛a ksi ˛azk˙ ˛akodow ˛a.W takim kodowaniu, z punktu widzenia oszcz˛ednosci´ bitów, korzystne jest, jesli´ wszystkie współczynniki cz˛estotliwosciowe´ s ˛atej samej wielkosci´ lub ksi ˛azki˙ kodowe s ˛azerowe.

• TwinVQ — (transform-domain weighted interleave vector quantization) jest alternatyw ˛a dla modułu kwantyzacji skalarnej. Jest to kwantyzacja wektorowa, która pozwala otrzymac´ bardzo dobry stopien´ kompresji dla niskich przepływnosci´ bitowych i pozwala na skalowalnos´c´ przepływnosci´ bitowej.

• BSAC — (Bit-Sliced Arithmetic Coding) – binarny koder arytmetyczny, który moze˙ byc´ alternatyw ˛adla kodowania Huffmana. Wykorzystuje si˛e głównie w profilach skalowalnych.

• Formowanie strumienia — informacje od modułu kodowania entropijnego oraz parametry z pozostałych modułów s ˛aprzekazywane do modułu formowania strumienia. Wygenerowany strumien´ nast˛epnie przesyłany jest dalej do dekodera. Dane audio standardu AAC mog ˛abyc´ przesyłane w nast˛epuj˛acych formatach/kontenerach:

45 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 – RAW – sam strumien´ audio bez dodatkowych nagłówków, – ADIF (Audio Data Interchange Format) – składa si˛ez pojedynczego nagłówka na pocz ˛atkupliku, po którym umieszczony jest strumien´ audio, – ADTS (Audio Data Transport Stream) [60] – kontener dla kazdej˙ ramki audio dodaj nagłówki, dzi˛eki czemu zakodowany d´zwi˛ek w kontenerze moze˙ byc´ wykorzystywany w transmisji strumieniowej, – LOAS (Low Overhead Audio Stream) [65] – kontener samosynchronizuj ˛acy si˛e, potrafi ˛acy prócz strumienia AAC zakodowac´ strumiec´ , TwinVQ, SBR, PS; strumien´ koduje pojedynczy strumien,´ – LATM (Low Overhead Audio Transport Multiplex) – jest rozszerzeniem LOAS na wiele strumieni.

Z punktu widzenia niniejszej pracy funkcjonowanie tego modułu nie jest istotne, dlatego obszerny opis zostaje pomini˛ety. W pracy wykorzystano jako koder referencyjny strumien´ ADTS, który jest wykorzystywany przez koder Free AAC.

3.1.3 USAC

Koder Unified Speech and Audio Coding (USAC) [89] jest standardem MPEG-D cz˛es´c´ 3 [67] lub MPEG-4 Audio Object Type[66][6]. Standard jest poł ˛aczeniemkodera kodowania mowy i d´zwi˛eku/muzyki. Dotychczas uzytkownik˙ musiał zdecydowac,´ czy wybrana sekwencja prezentuje mow˛eczy d´zwi˛ek/muzyk˛e. Cz˛estojednak było to trudne, bo muzyka „przenikała” si˛ez mow ˛a.Poprawne wybranie rodzaju sekwencji pozwala na wybranie uzycie˙ wyspecjalizowanego kodera. Nowy standard USAC pozwala na kodowanie dwóch rodzajów sekwencji, a przeł ˛aczaniemi˛edzykoderem audio, a koderem mowy odbywa si˛eautomatycznie.

Na rys. 3.7 przedstawiono schemat działania dekodera USAC. Jego lewa cz˛es´c´ jest bardzo podobna do schematu dekodera AAC. Wprowadzono tutaj jedynie rozdzielenie dekwantyzacji od skalowania oraz wprowadzono kodowanie/dekodowanie arytmetyczne. Po prawej stronie mozna˙ zauwazy˙ c´ koder mowy Algebraic Coded Excitation Linear Prediction (ACELP). W koderze odpowiedni moduł decyduje w którym trybie: mowy czy muzyki sekwencja ma byc´ kodowana.

46 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 3.7: Schemat dekodera USAC. Widoczne na nim dwie gał˛ezieodpowiedzialne za kodowanie d´zwi˛ekui mowy.

3.2 Kodery Fundacji XIPH.org

3.2.1 OGG Vorbis

Kodek Vorbis [112, 57] rozwijany przez Fundacj˛e Xiph.org, pierwszy raz został ustandaryzowany w 2000 roku. Kodek ten porównywany jest do MPEG MP3 i AAC. Na rys. 3.8 przedstawiono prosty schemat dekodera standardu Vorbis. Na pierwszym etapie strumien´ audio jest dekodowany oraz wydzielane s ˛aodpowiednie parametry. W szczególnosci´ s ˛ato niskocz˛estotliwosciowe´ współczynniki spektralne (floor) i wysokocz˛estotliwosciowe´ współczynniki spektralne (emphresidua). Kolejnym etapem dekodowania jest wykonanie odwrotnego sprz˛ezenia˙ kanałów sygnału audio, by uzyskac´ dane dla poszczególnych kanałów oddzielnie. Nast˛epniez zdekodowanych danych współczynników niskocz˛estotliwosciowych´ odtwarza si˛eobwiedni˛eenergii w pasmach Barkowych dla poszczególnych ramek. Do tak odtworzonej energii dodaje si˛eodtworzone wartosci´ residuów, rekonstruuj ˛acw ten sposób pełne spektrum sygnału. Obliczone spektrum poprzez transformacj˛eodwrotn ˛aIMDCT oraz odpowiednie złozenie˙ jest przekształcane na próbki sygnału w dekoderze.

47 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 3.8: Schemat dekodera Vorbis, gdzie floor to niskocz˛estliwosciowe´ współczynniki spektralne, a residua, to wysokocz˛estotliwosciowe´ współczynniki spektralne.

3.2.2 OPUS

Standard Opus [111, 56] jest najnowszym standardem fundacji Xiph.org. Podobnie jak USAC, ł ˛aczykodowanie muzyki z kodowaniem mowy. Bazuje na działaniu dwóch koderów: CELT (Constrained Energy Lapped Transform), odpowiedzialnego za kodowanie muzyki oraz SILK (projektowanego jako koder mowy przez Skype) koduj ˛acego mow˛e,co przedstawiono na rys. 3.9. Na rysunku zaznaczono takze˙ bloki odpowiedzialne za konwersj˛e/decymacj˛edo odpowiedniej cz˛estotliwosci´ próbkowania.

Rysunek 3.9: Schemat dekodera Opus.

Zasada działania CELT jest oparta na działaniu kodera mowy CELP (Code-excited linear prediction) [93]. Najciekawszym aspektem, z punktu widzenia opisywanych w niniejszej pracy badan,´ jest kwantyzacja zastosowana w OPUS. Współczynniki cz˛estotliwosciowe´ s ˛a kwantowane w procesie trzyetapowym (patrz rys. 3.10):

• Szacowanie zgrubne (coarse) – zgrubnie szacowana jest obwiednia sygnału. Stosowane s ˛atakze˙ predykcje inter (opcjonalnie) oraz intra.

48 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 • Szacowanie szczegółowe (fine) – sterowanie alokacj ˛abitów podaje ile przeznaczonych bitów jest na ten etap. Kodowana jest korekta zgrubnego szacowania na pozostałych bitach.

• Koncowy´ (finalise) – jesli´ w poprzednim etapie zostały niewykorzystane jakies´ bity, to s ˛a one przyporz ˛adkowywane do odpowiednich pasm.

Do kwantowania kształtu widma wykorzystuje si˛e Piramidow ˛aKwantyzacj˛e Wektorow ˛a (Pyramid Vector Quantization – PVQ). W dekoderze znajduje si˛etakze˙ moduł alokacji bitów. Jest on potrzebny, by odtworzyc´ dokładnie kontekst i przyporz ˛adkowanie bitów, jakie było w koderze. Dzi˛ekiswojej strukturze Opus nie korzysta z zadnego˙ modelu psychoakustycznego,

Rysunek 3.10: Schemat dekodera CELT. pozwala jednak przesłac´ wi˛ecejinformacji (niz˙ np. koder AAC) o strukturze widma, a mniej informacji pobocznych (jak np. w AAC numery ksi ˛azek˙ kodowych, czy Scale Factor). Dzi˛eki zmniejszeniu przesyłu dodatkowych informacji, wi˛ecejbitów moze˙ byc´ przeznaczonych na samo kodowanie współczynników. Opus wykorzystuje predykcj˛ezarówno inter, jak i intra. Aby usprawnic´ kodowanie stosuje si˛edodatkowo techniki:

• wzmocnienia pasma (band boost) – wzmacnia si˛epojedyncze pasma,

• zmiana rozdziału bitów w pasmach,

• omijanie, niekodowanie wybranych pasm (band skipping).

49 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 3.3 Kodery Microsoft Corporation

W obecnych czasach cz˛esto uzywane˙ s ˛atakze˙ autorskie, komercyjne kodery. Nalez˙ ˛a do nich m.in. Windows Media Audio (WMA) zaprojektowany przez Microsoft. Koder jest oprogramowaniem zamkni˛etymi jego schemat nie jest przedstawiony jawnie. Dost˛epne oprogramowanie WMA nie posiada publicznych kodów ´zródłowych. Z tego tez˙ powodu koder ten w dalszych badaniach zostaje pomini˛ety. Dost˛epny koder WMA w wersji WM Runtime 12.0.9600.16384, Windows Media Audio 9.2 automatycznie dokonywał przepróbkowania sekwencji do cz˛estotliwosci´ próbkowania 44.1kHz, co stanowi drugi powód do nieuwzgl˛ednianiaWMA w dalszych badaniach.

Podsumowanie

W rozdziale przedstawiono przegl ˛adwspółczesnych algorytmów kompresji d´zwi˛ekuoraz podano krótki opis kazdego˙ z nich. Wi˛eksz˛auwag˛eprzywi ˛azanodo standardu MPEG 2/4 Advanced Audio Coding z uwagi na jego wykorzystanie w niniejszej pracy do przeprowadzenia badan´ nad optymalizacj ˛aalgorytmu kompresji.

50 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozdział 4

Porównanie efektywnosci´ i mozliwo˙ sci´ koderów d´zwi˛eku

Badania opisane w tym rozdziale maj ˛aza zadanie analiz˛edost˛epnych narz˛edziw koderach referencyjnych FAAC i NERO. Przebadany został wpływ uzycia˙ narz˛edziTNS, MS, modułu wyboru długosci´ okna oraz filtru dolnoprzepustowego na popraw˛ejakosci´ kodowania w FAAC. Dla kodera NERO zostały przebadane tryby kontroli przepływnosci´ bitowej oraz grupowania krótkich okien. Narz˛edzia w obu koderach oraz ich wpływ na jakos´c´ kompresji zostały porównane w celu identyfikacji róznic˙ mi˛edzykoderami FAAC i NERO. W efekcie podczas projektowania własnych algorytmów kompresji mozliwe˙ jest efektywne wykorzystanie lub pomini˛ecienarz˛edziz FAAC lub NERO.

4.1 Testy koderów

Schemat układu testuj ˛acego przedstawiono na rys. 4.1. Plik wejsciowy´ w postaci próbek sygnału dzwi˛ekowego˙ jest kompresowany wybranym koderem, nast˛epnie dekodowany za pomoc ˛adekodera. Jesli´ testowany koder miał swój odpowiednik w postaci dekodera, to został on uzyty.˙ W przypadku koderów standardu AAC nie wszystkie kodery miały swój dekoder, dlatego sekwencje były dekodowane za pomoc ˛adekodera FAAD, który jest komplementarny do kodera FAAC. Wynik dekodowania był porównywany z sekwencj ˛aoryginaln ˛aza pomoc ˛a aplikacji obliczaj ˛acych miar˛ePEAQ – ODG. Dla zapewnienia poprawnych wyników przed porównaniem sekwencje zostawały odpowiednio zsynchronizowane w czasie (zniwelowanie przesuni˛ec´ spowodowane wi˛eksz˛alub mniejsz ˛aliczb ˛apróbek zerowych wprowadzanych na pocz ˛atkusekwencji) Po zakodowaniu i rekonstrukcji sekwencji miary jakosci´ ODG zostały zinterpolowane wg metody przedstawionej w rozdz. 2.5 do przepływnosci´ bitowej 128kb/s, a uzyskane w ten sposób wyniki uzyte˙ do porównania. Na rys. 4.2 przedstawiono wyniki porównania

51 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 4.1: Schemat testowania koderów audio

Rysunek 4.2: Porównanie róznych˙ dost˛epnych koderów dla przepływnosci´ bitowej 128kb/s stereo dla sekwencji opisanych w rozdz. 2.3. Jak widac,´ najlepsze wyniki zostały uzyskane w nast˛epuj˛acejkolejnosci:´ Nero, Opus, Ogg/Vorbis, Qaac. Na przykładowym wykresie na rys. 4.4 dla sekwencji vbrtest48 zamiszczono zalezno˙ s´c´ przepływnosci´ bitowej (bitrate) i jakosci´ zakodowanej sekwencji w mierze ODG dla róznych˙ koderów. Warto zauwazy˙ c,´ ze˙ koder oznaczony jako 3gpp daje bardzo słabe wyniki i tylko w przedziale ok.20 − 50kb/s, co czyni go nieprzydatnym w dalszych badaniach. Takze˙ koder USAC, który z załozenia˙ powinien byc´ nie gorszy od AAC daje słabe wyniki, ale przypuszczalnie w przyszłosci´ aplikacja b˛edzie rozwijana i osi ˛agniezakładany poziom jakosci.´ Przeprowadzono takze˙ testy koderów dla tych samych sekwencji monofonicznych. Wyniki przedstawiono na rys. 4.3. Kodery FAAC i NERO takze˙ dla tych sekwencji daj ˛adobre wyniki. Najlepsze wyniki uzyskuj ˛akodery Ogg/Vorbis i Opus, jednakze˙ kodery te s ˛akoderami innych standardów niz˙ AAC. Koder iTunes został pomini˛ety, poniewaz˙ nie udało si˛euzyskac´ wyników dla sekwencji monofonicznych.

52 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Wszystkie kodery przetestowano na sekwencjach stereofonicznych i odpowiadaj ˛acym im sekwencjom monofonicznym. Algorytmy kontroli przepływnosci´ bitowej ustawiano na stał ˛a przepływnos´c´ bitow ˛a(CBR). W standardzie AAC, jesli´ było mozliwe,˙ wł ˛aczono dodatkowe opcje takie jak: TNS, MS, wybór długosci´ okna. Wszystkie opcje nie wyst˛epuj˛acew profilu małej złozono˙ sci´ (Low Complexity – LC) zostały wył ˛aczone.Szczegółowe informacje na temat uruchamiania koderów przedstawiono w zał ˛acznikuA.

Rysunek 4.3: Porównanie róznych˙ dost˛epnych koderów dla przepływnosci´ bitowej 128kb/s mono

Przebadanie takiej liczby koderów pozwoliło wybrac´ koder, którego działanie i wyniki b˛ed˛areferencyjne dla projektowanego kodera. Wsród´ czterech najlepszych s ˛adwa kodery standardu AAC, jeden Opus i jeden Vorbis. Rozprawa jest poswi˛econatechnikom´ optymalizacji w standardzie AAC, dlatego wybór kodera, do którego osi ˛agów b˛edzie porównywany projektowany koder pada na jeden z koderów tegoz˙ standardu. Wybrano implementacj˛e NERO, gdyz˙ daje lepsz ˛ajakos´c´ oraz prawdopodobnie bazuje na koderze FAAC, mozna˙ wi˛ec przypuszczac,´ ze˙ cz˛es´c´ funkcjonalnosci´ i algorytmów b˛edziepodobna w obu koderach. FAAC jest jedynym koderem AAC, który ma otwarty kod i jego wyniki s ˛azadowalaj ˛ace. Podsumowuj ˛ac,koderem bazowym, na którym były przeprowadzane badania, rozwijane i testowane algorytmy jest FAAC. NERO jest koderem, do którego została porównywana skutecznos´c´ i jakos´c´ kompresji.

53 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 4.4: Zalezno˙ s´c´ jakosci´ d´zwi˛eku w mierze ODG od przepływnosci´ bitowej (bitrate) dla testowanych koderów

4.2 Testy kodera FAAC

Jako bazowy koder do rozwijania własnych algorytmów został wybrany koder Free AAC (FAAC). Ma on w pełni upubliczniony kod ´zródłowy. W badaniach koder FAAC posłuzył˙ jako srodowisko´ do testowania róznych˙ algorytmów, które wprowadzane były zamiast tych uzytych˙ przez twórców tej implementacji. W pierwszej kolejnosci´ sprawdzono, jakie opcje kodowania obsługuje, jaki daj ˛aefekt i czy zgodnie z oczekiwaniami, uzycie˙ tych narz˛edzi poprawia efektywnos´c´ kompresji. W zał ˛acznikuB przedstawiono te opcje wraz z ich obsług ˛ai krótkim opisem mozliwo˙ sci.´ Poszczególne opcje zostały przetestowane i przeanalizowane w kolejnych podrozdziałach.

4.2.1 TNS – kształtowanie szumu kwantyzacji

Na kilku sekwencjach przeprowadzono dwa kodowania, z wł ˛aczonym i wył ˛aczonym TNS. Wynikowe ODG porównano w obu przypadkach. Badania przeprowadzono dla róznych˙ przepływnosci´ bitowych. Dla sprawdzenia poprawnosci´ przeanalizowano strumien´ zakodowanych plików, gdzie mozna˙ było potwierdzic´ uzycie˙ TNS. Przykładowe charakterystyki przedstawiono na rys. 4.5.

54 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 4.5: Przykładowy przebieg kodowania z wł ˛aczonymi wył ˛aczonymTNS dla kodera FAAC

Dla wszystkich testowanych sekwencji charakterystyki otrzymane dla wł ˛aczonego TNS w FAAC były podobne do tych z wył ˛aczonym TNS. Uzycie˙ TNS w przypadku kodera FAAC nie daje zadnego˙ wzrostu jakosci´ w mierze ODG.

4.2.2 Kodowanie stereo – MS

Podobne testy jak dla modułu TNS w FAAC przeprowadzono dla modułu kodowania stereo MS. Przykładowe wyniki przedstawiono na rys. 4.6. Dla wszystkich testowanych sekwencji wyniki były bardzo podobne. Niestety wł ˛aczeniewyboru trybu MS nie tylko nie pomogło w kodowaniu, ale nawet pogorszyło jakos´c´ kodowanych sekwencji. Dla sprawdzenia działania modułu stereo przeprowadzono test na sekwencji, w której lewy i prawy kanał zostały zmiksowane razem i zapisane do pliku jako sekwencja stereo, przy czym starano si˛e,aby kanały rózniły˙ si˛emi˛edzysob ˛aminimalnie. W ten sposób uzyskana została sekwencja nazwana pseudomonofoniczn ˛a. Dla takich sekwencji znów przeprowadzono test. Spodziewano si˛e, ze˙ dla wł ˛aczonego trybu MS jakos´c´ przy tej samej przepływnosci´ bitowej b˛edzieduzo˙ lepsza, poniewaz˙ kanał sumacyjny b˛edzienies´c´ cał ˛aenergi˛esygnału, a róznicowy˙ tylko minimalne róznice.˙ Wyniki zobrazowane s ˛ana rys. 4.7. W tym przypadku znów wł ˛aczenieMS nie dało pozytywnych rezultatów. Analiza kodu ´zródłowego kodera wskazała na przyczyn˛etakich wyników. Moduł kwantyzacji w koderze dla zadanej przepływnosci´ bitowej

55 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 4.6: Przykładowy przebieg kodowania z wł ˛aczonymi wył ˛aczonymtrybem MS dla kodera FAAC dla sekwencji stereo

Rysunek 4.7: Przykładowy przebieg kodowania z wł ˛aczonymi wył ˛aczonymtrybem MS dla kodera FAAC. Test przeprowadzony dla sekwencji pseudomonofonicznej

56 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 BR kazdemu˙ kanałowi przydzielał po BR/2 dost˛epnych bitów. Zatem w przypadku sekwencji pseudomonofonicznej kanał sumacyjny otrzymywał budzet˙ bitowy wynosz ˛acy BR/2 bitów, a kanał róznicowy,˙ który niesie bardzo mało energii i mógłby byc´ nawet pomini˛ety, dostaje niepotrzebnie drug ˛apołow˛ebudzetu.˙ Bardzo podobne rezultaty otrzymano, gdy wprowadzono bardzo prosty algorytm wyboru trybu LR/MS. Algorytm obliczał dla kazdego˙ pasma liczb˛ebitów potrzebn ˛ado zakodowania w trybie LR i MS i wybierał tryb, który potrzebował najmniejszej liczby bitów. Przez to, ze˙ na pierwszy i drugi kanał przeznaczana jest jednakowa liczba bitów, wynik kodowania si˛enie poprawił. Koduj ˛acsekwencj˛e stereo, w której lewy i prawy kanał s ˛aidentyczne, czyli de facto sekwencja jest monofoniczna, uzyskuje si˛echarakterystyki jak na rys. 4.8. W tej sekwencji kanał sumacyjny niesie cał ˛aenergi˛esygnału, a róznicowy˙ jest wyzerowany. Zerowanie energii

Rysunek 4.8: Przykładowy przebieg kodowania z wł ˛aczonymi wył ˛aczonymtrybem MS dla kodera FAAC. Test przeprowadzony dla sekwencji stereo w której lewy i prawy kanał jest identyczny spowodowało, ze˙ kanał róznicowy˙ w ogóle nie był kodowany i przepływnos´c´ bitowa sekwencji spadła, co spowodowało diametraln ˛apopraw˛echarakterystyk dla modułu MS. Z przeprowadzonych testów mozna˙ wyci ˛agn˛ac´ wniosek, ze˙ tryb MS nie działa poprawnie w koderze FAAC. Dla poprawienia jakosci´ działania modułu MS nalezy˙ uwzgl˛edniac´ energi˛edla obu kanałów LR lub MS, a budzet˙ bitowy rozdzielac´ odpowiednio mi˛edzypasma i kanały.

57 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 4.2.3 Zastosowanie róznych˙ długosci´ okna w FAAC

W koderze FAAC istniej ˛atrzy tryby wyboru długosci´ okien. Pierwszy, o numerze zero, to tryb w którym koder analizuje sygnał i odpowiednio dobiera długos´c´ okien. Dla sygnałów transjentowych wybierana jest seria osmiu´ krótkich okien, a dla sygnałów stacjonarnych okna długie. Pomi˛edzyoknami długimi a krótkimi wybierane s ˛aodpowiednie okna przejsciowe.´ Taka konfiguracja pozwala najlepiej dopasowac´ si˛edo sygnału i osi ˛agn˛ac´ najlepsze wyniki. Pozostałe dwie konfiguracje wymuszaj ˛atylko okna długie, albo tylko okna krótkie. Tryby te s ˛a wykorzystywane tylko w projektowaniu i testowaniu poprawnosci´ algorytmów.

4.2.4 Filtr dolnoprzepustowy

Próbki czasowe na wejsciu´ kodera trafiaj ˛a do modułu transformacji MDCT. Tam przetransformowane w dziedzin˛ecz˛estotliwosci´ trafiaj ˛ado kolejnych modułów kodera. W domyslnych´ ustawieniach kodera AAC wł ˛aczony jest filtr na cz˛estotliwosci´ 16kHz. Na wyjsciu´ MDCT odpowiednie współczynniki wysokocz˛estotliwosciowe´ s ˛azerowane. Koder FAAC pozwala jednak na zmian˛etej cz˛estotliwosci.´ Przeprowadzono badania zalezno˙ sci´ jakosci´ skompresowanych sekwencji od wartosci´ cz˛estotliwosci´ odci˛eciafiltra dolnoprzepustowego. Na rys. 4.9 przedstawiono wyniki. Jak widac,´ rozszerzenie filtra dolnoprzepustowego do 20kHz poprawia wyniki.

Rysunek 4.9: Porównanie efektywnosci´ kodowania kodera FAAC dla wartosci´ filtra dolnoprzepustowego 16kHz i 20kHz

58 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 4.3 Testy kodera Nero

Koder Nero jest bardzo rozbudowanym koderem AAC. Obsługuje tryby niskiej złozono˙ sci´ Low-Complexity (LC) i wysokiej wydajnosci´ High-Efficiency (HE), przeznaczonego do kodowania z niskimi przepływnosciami´ bitowymi. Dla załozonej˙ w pracy przepływnosci´ bitowej 128kb/s dla stereo i 64kb/s dla sekwencji mono, interesuj ˛acy jest tryb LC, poniewaz˙ jest on zaprojektowany do kodowania sekwencji przy tych przepływnosciach´ bitowych. Mimo, ze˙ koder Nero jest koderem zamkni˛etym, to dzi˛eki zastosowaniu dekodera FAAD, mozna˙ sprawdzic´ jakie narz˛edzia s ˛awykorzystywane. Nero wykorzystuje nast˛epuj˛acenarz˛edzia: TNS, MS, wybór długosci´ okien, wybór kształtu okien, grupowanie krótkich okien, tryby kontroli przepływnosci´ bitowej. Niestety koder nie ma opcji wł ˛aczania/wył ˛aczaniacz˛esci´ z tych narz˛edzi,dlatego wyniki porównania dla wył ˛aczonych i wył ˛aczonych opcji nie zostan ˛a tutaj przedstawione. Wszystkie testy dotycz ˛acekodera NERO przeprowadzone zostały dla wł ˛aczonych, wczesniej´ wymienionych, narz˛edzi. Dalej zostan ˛aprzedstawione krótkie opisy narz˛edziwczesniej´ jeszcze nie opisanych.

4.3.1 Grupowanie krótkich okien

Standard AAC dla sekwencji okien krótkich definiuje mozliwo˙ s´c´ ich grupowania. Sekwencj˛eosmiu´ okien krótkich mozna˙ pogrupowac´ w 1 − 8 grup. Okna mog ˛abyc´ grupowane dowolnie , ale musz ˛aze sob ˛as ˛asiadowac.´ Grupowanie okien oznacza ł ˛aczenieskwantowanych współczynników z tego samego pasma, ale róznych˙ okien w jedn ˛agrup˛e,która jest kwantowana z uzyciem˙ jednego SF. Takie grupowanie pozwala na uzycie˙ mniejszej liczby SF oraz HCB do zakodowania całej ramki. Wad ˛atakiego rozwi ˛azaniajest to, ze˙ SF musi byc´ dopasowany do wi˛ekszejliczby okien, co moze˙ pogarszac´ jakos´c´ rekonstrukcji. W koderze FAAC okna zawsze grupowane s ˛aw jedn ˛agrup˛e.SF i HCB jest wspólna dla poszczególnych pasm ze wszystkich osmiu´ okien.

4.3.2 Tryby kontroli przepływnosci´ bitowej

NERO obsługuje trzy tryby kontroli przepływnosci´ bitowej: VBR, ABR i CBR. W trybie VBR, czyli trybie o zmiennej przepływnosci´ bitowej (Variable BitRate), bity rozdzielane mi˛edzy ramki s ˛aw taki sposób, by najwi˛ecej otrzymały ich ramki, które tego najwi˛ecej wymagaj ˛a. Tryb VBR stara si˛e utrzymywac´ stał ˛ajakos´c´ dla całej sekwencji. Tryb ABR (Avarage BitRate) jest wariantem VBR, w którym jednak rozmiar pliku jest bardziej przewidywalny niz˙ w VBR. Constant BitRate (CBR) jest to tryb, w którym przepływnos´c´ bitowa jest stała w kazdej˙ ramce. Jest to historycznie najprostszy tryb kodowania. Jest on przystosowany do transmisji w sieci o okreslonej´ przepustowosci.´

59 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Przetestowano wspomniane wyzej˙ tryby rozdziału bitów. Dodatkowo przebadano tryb dwukrotnego przegl ˛adaniapliku (opcja –2pass). Tryb podwójnego przeszukiwania słuzy˙ do wst˛epnego oszacowania i rozdziału bitów mi˛edzy ramki, a nast˛epnie własciwy´ przebieg i rozdział bitów (dla trybu VBR). Wszystkie wyniki zostały zamieszczone na rys. 4.10.

Rysunek 4.10: Porównanie trybów rozdziału bitów w koderze NERO. Oznaczenie „2p” – podwójne przeszukiwanie pliku, „nfb” – non filling bits – z usuni˛etymibitami dopełniaj ˛acymi

Na rysunku zabrakło wyników dla ABR. W koderze Nero, po wybraniu ABR przepływnos´c´ bitowa dla okreslonego´ pliku jest zawsze taka sama, rózna˙ od zadanej. Tryb ten nie jest mozliwy˙ do porównania z pozostałymi. Nie s ˛aznane powody takiego przebiegu algorytmu. Oprócz wyników dla wspomnianych trybów CBR, VBR, VBR 2pass podano dla kazdego˙ wyniki w wersji NFB (non-filling bits). W trybie CBR koder stara si˛e trzymac´ stał ˛a przepływnos´c´ bitow ˛adla kazdej˙ ramki. Liczba bitów w kazdej˙ ramce nie przekracza wyznaczonego limitu. Jesli´ liczba jest mniejsza od progu, to do strumienia dodawane s ˛a dodatkowo bity wypełniaj ˛ace(filling bits). Wersja NFB uwzgl˛edniaprzepływnos´c´ bitow ˛a bez dodanych bitów wypełniaj ˛acych. Stwierdzono, ze˙ dla wiarygodnego porównania z projektowanymi algorytmami powinno porównywac´ si˛eimplementacj˛eNERO z wł ˛aczonym trybem NFB. Mimo zastosowania CBR w NERO i bitów wypełniaj ˛acych, koder ten ma problemy z utrzymaniem stałej przepływnosci´ bitowej. Ostateczna srednia´ przepływnos´c´ bitowa mierzona jako stosunek liczby bitów skompresowanej sekwencji d´zwi˛ekowej do czasu trwania tej sekwencji odbiega od załozonego˙ progu. Dla niektórych sekwencji, szczególnie dla tych

60 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 zawieraj ˛acych dosyc´ długie fragmenty ciszy, srednia´ przepływnos´c´ bitowa spada znacznie ponizej˙ zadanego progu. Zdarzaj ˛asi˛etakze˙ przypadki, w których przepływnos´c´ bitowa jest wi˛ekszaod zadanego progu. Wykorzystanie bitów wypełniaj ˛acych w trybie CBR moze˙ byc´ uzasadnione koniecznosci´ ˛a utrzymania wynikowej przepływnosci´ bitowej na stałym poziomie. Mozna˙ si˛espodziewac,´ ze˙ w trybach VBR bity wypełniaj ˛acenie s ˛apotrzebne, gdyz˙ przepływnos´c´ bitowa nie musi byc´ sztywno trzymana w kazdej˙ ramce. Zaoszcz˛edzonew jednej ramce bity mog ˛abyc´ wykorzystane w kolejnych. Eksperyment dowiódł jednak, ze˙ z nieznanego powodu bity wypełniaj ˛aces ˛a dodawane. Podobnie jest w trybie VBR 2 pass. Niespodziewane s ˛atakze˙ wyniki porównania VBR z VBR 2pass. Mogłoby si˛ewydawac,´ ze˙ podwójny przebieg przez sekwencje powinien dawac´ lepsze wyniki. S ˛aone jednak gorsze. Porównuj ˛acCBR i VBR, zgodnie z oczekiwaniami VBR jest lepsze od CBR. Jednakze,˙ gdy si˛eporówna si˛ewersje NFB obu trybów, to okazuje si˛e, ze˙ CBR NFB jest minimalnie lepsze od VBR NFB. Zgodnie z tym, o czym juz˙ wspominano, koder NERO jest koderem o zamkni˛etychkodach ´zródłowych, wi˛ec nie jest mozliwe˙ znalezienie przyczyn tych anomalii. W dalszych testach porównawczych z projektowanymi koderami brane b˛ed˛apod uwag˛etryby CBR i CBR NFB, przy czym nalezy˙ miec´ na uwadze nie do konca´ przewidywalne działanie uzywania˙ bitów wypełniania. Zgodnie z załozeniami˙ stałej przepływnosci´ projektowanego kodera, koder NERO jest testowany w trybie CBR.

4.4 Porównianie koderów FAAC i NERO

4.4.1 Wykorzystanie kodera Nero

Dla badan´ projektowanego kodera (nazwanego FAACmod) i porównania go z mozliwo˙ sciami´ kodera Nero, wprowadzono układ testuj ˛acy przedstawiony na rys. 4.11. Sekwencja testowa trafia do kodera NEROenc. Wynikowy plik aac trafia do dekodera NEROdec, gdzie jest dekodowany oraz do dekodera FAAD. Dekoder FAAD został zmodyfikowany tak, aby pobierał parametry pliku aac. Próbki sekwencji wejsciowej´ takze˙ trafiaj ˛ado testowanego kodera FAACmod. Jednakze,˙ aby próbki wyjsciowe´ po rekonstrukcji były zsynchronizowane z próbkami wyjsciowymi´ z NEROdec, potrzebne jest odpowiednie przesuni˛ecierealizowane przez blok cut. Koder FAACmod pobiera parametry (params) z FAAD i wykorzystuje je do kodowania. Zakodowana sekwencja .aac jest dekodowana w FAAD. Wyniki dekodowania obu koderów i dekoderów s ˛aporównywane z sekwencj ˛aoryginaln ˛a narz˛edziem PEAQ, które jako rezultat podaje wartos´c´ miary ODG. Wartosciami´ pobieranymi z

61 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 kodera NEROenc s ˛a:długos´c´ i kształt okna, parametry grupowania okien krótkich, parametry TNS, współczynniki SF oraz wartosci´ współczynników cz˛estotliwosciowych´ po skwantowaniu. Wspomniany blok cut ma za zadanie eliminowanie przesuni˛eciaokien.

Rysunek 4.11: Układ testuj ˛acyprojektowany koder z mozliwo˙ sci´ ˛apobrania odpowiednich parametrów z kodera NERO

Gdy sekwencje s ˛aprzetwarzane par ˛a NEROenc – NEROdec lub FAAC – FAAD nie wyst˛epuje zadne˙ dodatkowe przesuni˛ecie. Jednak, gdy nast˛epujeprzetwarzanie NEROenc – FAAD, ramki s ˛aprzesuni˛eteo pewn ˛aliczb˛epróbek. Spowodowane jest to stosowaniem róznego˙ rodzaju nagłówków w koderach. Uzyskane w ten sposób parametry oraz sekwencje musz ˛a byc´ zsynchronizowane. Aby odnale´zc´ przesuni˛ecie mi˛edzy sekwencjami zidentyfikowano charakterystyczne próbki poszukano charakterystycznych próbek w sekwencji, np. mocniejsze uderzenia perkusji, i porównano odległos´c´ mi˛edzydwoma plikami. Tak znaleziona róznica˙ wynosi 576 próbek. Dla sprawdzenia, czy ta róznica˙ jest poprawna (cz˛estotrudno jest znale´zc´ wyra´znemaksimum lub minimum), przeprowadzono nast˛epuj˛acy test. Ustawiono przesuni˛ecie pocz ˛atkowe na 576 próbek. Nast˛epnieprzesuwano jedn ˛az sekwencji (os´ pozioma na wykresie z rys. 4.12) lub drug ˛a(os´ pionowa) o kilka próbek. Dla tak przesuni˛etychpróbek mierzono wartosci´ ODG. Na rys. 4.12 przedstawiona jest powierzchnia ilustruj ˛acazmiany ODG dla róznych˙ przesuni˛ec.´ W wymiarach poziomych s ˛aprzesuni˛eciajednej sekwencji wobec drugiej. Istotnie zauwazalny˙ jest przebieg „grzebietu” po diagonalnej wykresu. Dowodzi to, ze˙ wartos´c´ 576 została dobrana poprawnie.

4.4.2 Wykorzystanie kodera Nero – testy

Zgodnie ze schematem przedstawionym na rys. 4.11 przeprowadzono kilka testów w zalezno˙ sci´ od parametrów uzyskanych z kodowania za pomoc ˛aNERO. W pierwszym tescie´ z kodera NEROenc były pobierane informacje o wyborze długosci´ okna, wyborze kształtu okna, parametrów TNS, uzyciu˙ grupowania okien krótkich oraz doborze SF. Takie dane przekazane do kodera FAACmod powinny dac´ zblizone˙ wyniki jak dla NEROenc.

62 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 4.12: Wykres 3D sprawdzaj ˛acypoprawnos´c´ odnalezienia przesuni˛ecia w synchronizacji sekwencji przetwarzanych par ˛aNEROenc – FAAD

Po przebadaniu okazuje si˛ejednak, ze˙ miary ODG rózni˙ ˛asi˛enawet o 0.5. Mimo zastosowania tych samych narz˛edzii tych samych parametrów otrzymujemy rózne˙ wyniki. Drugi test oprócz przedstawionych w pierwszym tescie´ parametrów dodatkowo importuje z Nero do FAACmod wartosci´ skwantowanych współczynników cz˛estotliwosciowych.´ Po zakodowaniu i sprawdzeniu wartosci´ ODG okazuje si˛e, ze˙ wartosci´ jakosci´ s ˛abardzo zblizone˙ do siebie, a zatem wartosci´ w strumieniu bitowym zgadzaj ˛asi˛e. Oznacza to, ze˙ oprócz wymienionych tutaj narz˛edzii mozliwo˙ sci´ koder NERO wykonuje jeszcze jakies´ inne operacje. Wspomniano juz,˙ ze˙ NERO prawdopodobnie bazuje na koderze FAAC. FAAC korzysta z metody wyrównywania poziomów energii w pasmach nazwanej przez autorów Balance Energy. W niniejszej pracy przedstawianej jako Balance Energy Scale Factor (BESF)(rozdz. 7.1). Wspomniane róznice˙ w wynikach mog ˛abyc´ spowodowane uzyciem˙ algorytmu BESF. Nie maj ˛acmozliwo˙ sci´ do sprawdzenia kodu NERO, przeprowadzono nast˛epuj˛acy eksperyment:

1. Zaimportowano parametry: długos´c´ okna, kształt okna, parametry TNS, opcje

grupowania, SF (oznaczony jako SFN ) oraz współczynniki skwantowane z kodera NERO do FAAC

2. Dla kazdego˙ pasma SFB z pomoc ˛a współczynników transformaty MDCT i

importowanych współczynników z NERO odgadywano uzyte˙ SF i oznaczane jako SFG. Odgadywanie polega na zakodowaniu pasma za pomoc ˛akolejnych SF z przedziału 1 SFN − k < SFG < SFN + k, gdzie k ∈ N ∧ k < 10 i policzeniu SSE dla kazdego˙ SF. Nast˛epniewybierany jest SF dla którego SAD jest najmniejszy.

3. Porównane zostaj ˛auzyskane współczynniki dla kwantyzacji za pomoc ˛a SFN , SFG ze współczynnikami importowanymi z kodera NERO.

1Sum of squared error (SSE) – suma energii bł˛edów)

63 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Wyniki w wi˛ekszosci´ przypadków pokazuj ˛a, ze˙ stosuj ˛ac SFG do kwantyzacji, a nast˛epnie wstawiaj ˛acdo strumienia SFN , wyniki s ˛abardziej zblizone˙ do NERO. Mozna˙ zatem przyj ˛ac,´ ze˙ autorzy kodera NERO wykorzystuj ˛aalgorytm BESF. Eksperyment wykazał takze,˙ ze˙ nie dla wszystkich współczynników udało si˛eznale´zc´ idealne dopasowanie, mimo ze˙ nast ˛apiła poprawa dopasowania (zmniejszył si˛eSAD). Wniosek jest taki, ze˙ oprócz BESF algorytmy NERO przeprowadzaj ˛ajeszcze dodatkowe operacje. Przeanalizowano zatem wyniki poprzedniego eksperymentu. Wprowadzono trzy kryteria:

1. poprawy przepływnosci´ bitowej – czy nowa wartos´c´ nie jest wi˛ekszaod pierwotnej,

2. poprawy bł˛edukwantyzacji – czy nowa wartos´c´ bł˛edukwantyzacji nie jest wi˛ekszaod pierwotnego,

3. poprawy stosunku Eorig/Edequant energii sygnału oryginalnego do energii sygnału zrekonstruowanego,

Jako pierwotne rozumiane s ˛awartosci´ uzyskane ze współczynników powstałych z kwantyzacji

przez współczynnik SFG. Nowe wartosci´ s ˛a rozumiane jako wartosci´ obliczone ze skwantowanych współczynników zaimportowanych z NERO. Zakłada si˛e, ze˙ w NERO zmieniono wartosci´ skwantowanych współczynników po BESF, tak aby poprawic´ przynajmniej jedno kryterium, najlepiej nie pogarszaj ˛acinnych. Przeprowadzony eksperyment ukazuje jednak takie przypadki, w których wszystkie trzy kryteria zostały pogorszone. Ten fakt podwaza˙ załozenie,˙ ze˙ w NERO został uzyty˙ np. algorytm BEOF (opisany w rozdz. 7.2), a dokonywane zmiany współczynników w koderze NERO pozostawia niejasnymi.

4.4.3 Wybór długosci´ i kształtu okna

Rysunek 4.13: Fragment porównania wyboru długosci´ okna dla algorytmów FAAC (jasny kolor) i NERO (ciemny kolor). LONG - okno długie, LONG− > SHORT - okno przejsciowe´ z długiego na krótkie, SHORT - seria okien krótkich, SHORT − > LONG - okno przejsciowe´ z krótkich na długie

Koder NERO korzysta z mozliwo˙ sci´ doboru długosci´ okna dla poszczególnych ramek. Oczywiscie´ algorytm doboru nie jest znany. Na rys. 4.13 przedstawiono fragment porównania

64 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 algorytmów wyboru długosci´ okien dla algorytmów FAAC (jasny kolor) i NERO (ciemny kolor). Jak widac´ mniej wi˛ecejw tych samych momentach okna zmieniaj ˛asi˛ena krótkie, ale dla tej sekwencji FAAC wybierał zdecydowanie wi˛ecejokien krótkich w porównaniu do NERO. Sprawdzono, który wybór długosci´ okien daje lepsz ˛ajakos´c´ d´zwi˛eku. Sekwencje testowe zakodowano algorytmem ESF (opisany w rozdz. 6.3) przy uzyciu˙ okien uzyskanych z FAAC (oznaczenie ESF) oraz przy zaimportowaniu okien z NERO (oznaczenie ESF_WS). Wyniki przedstawione na rys. 4.14 pozkazuj ˛a, ze˙ wynik algorytmu wyboru długosci´ okna w FAAC jest lepszy od NERO.

Rysunek 4.14: Porównanie algorytmu ESF z uzyciem˙ okien z FAAC (ozn. ESF) i ESF z uzyciem˙ okien z NERO (ozn. ESF_ws)

Dobór kształtu okna w FAAC był nieaktywny, zas´ w NERO zachodzi prosta korelacja mi˛edzydługosci´ ˛aokna, a jego kształtem. Dla okien długich wybierane s ˛azawsze okna KBD (które s ˛alepiej dopasowane do wygaszania sygnałów, gdzie wi˛ecejenergii gromadzi w jednym współczynniku), a dla krótkich okna sinusowe (które maj ˛alepsz ˛aselektywnos´c´ i mog ˛abyc´ uzyte˙ do składowych tonalnych połozonych˙ blisko siebie). Zauwazony˙ fakt zastosowano w projektowanym koderze, jednakze˙ badania przeprowadzone wykazały, ze˙ korzys´c´ z takiego podejscia´ jest niewielka.

65 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 4.4.4 Wpływ wyboru długosci´ okien na jakos´c´ kodowania

Dla sprawdzenia wpływu wyboru długosci´ okien na obiektywn ˛a jakos´c´ d´zwi˛eku przeprowadzono doswiadczenie´ polegaj ˛ace na kodowaniu z wyborem długosci´ okna, a nast˛epnietylko z oknami długimi.

Rysunek 4.15: Porównanie efektywnosci´ kodera FAAC z wł ˛aczonym(FAAC) i z wył ˛aczonym(FAAC_L) algorytmem wybierania okien

Wyniki dla kodera FAAC przedstawiono na rys. 4.15. Wynika z nich, ze˙ dobór okien jest potrzebny, gdyz˙ poprawia jakos´c´ kodowania.

Podsumowanie

W rozdziale tym na bazie wyników wybrano koder NERO AAC jako najlepszy koder referencyjny oraz FAAC jako bazowy koder słuz˙ ˛acy do testowania i modyfikowania projektowanych algorytmów. Nast˛epnieprzeanalizowano narz˛edziawykorzystywane w standardzie AAC i ich wpływ na jakos´c´ kodowania w koderze FAAC oraz NERO. W bazowym koderze FAAC, narz˛edziaMS, TNS nie poprawiaj ˛ajakosci´ skompresowanego d´zwi˛eku. Korzystny jest wybór długosci´ okna analizy. W koderach NERO i FAAC te

66 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 wyniki s ˛azblizone˙ do siebie. Zmiana wartosci´ filtru dolnoprzepustowego na wejsciu´ kodera FAAC z 16kHz na 20kHz takze˙ poprawia jakos´c´ d´zwi˛eku.

67 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozdział 5

Model psychoakustyczny

W pierwszej cz˛esci´ rozdziału przedstawiono podstawowe zagadnienia percepcji słyszenia oraz zjawiska zwi ˛azaneze słyszeniem wykorzystywane podczas procesu stratnej kompresji d´zwi˛eku(np maskowanie). Nast˛epnieprzedstawiono algorytmy modelów psychoakustycznych dost˛epnych w literaturze oraz zaproponowane modyfikacje i rozwi ˛azania. Na koniec przetestowano modele i wybrano najlepszy pod wzgl˛edemuzyskiwanej jakosci´ d´zwi˛eku.

5.1 Podstawy percepcji słyszenia

W ludzkim narz ˛adziesłuchu [22][37] mozna˙ wyrózni˙ c´ trzy cz˛esci:´ ucho zewn˛etrzne,ucho srodkowe´ i ucho wewn˛etrzne.Kazda˙ z tych cz˛esci´ ma inne zadanie i budow˛e.

5.1.1 Ucho zewn˛etrzne

Fala akustyczna docieraj ˛acado ucha jest najpierw zniekształcana (w wyniku tłumienia) przez ramiona i głow˛e,i odbijania przy cz˛estotliwosci´ ok 1.5kHz. Cz˛estotliwosci´ ta odpowiada 22cm, czyli sredniej´ srednicy´ głowy. Ucho zewn˛etrzneskłada si˛ez małzowiny˙ usznej oraz kanału usznego. Zadaniem tej cz˛esci´ jest zebranie fali akustycznej i dostarczenie jej dalej. Ucho zewn˛etrzne mozna˙ przedstawic´ jako jednostronnie zamkni˛et˛arurk˛e o długosci´ ok. 2cm, co przyczynia si˛edo powstania rezonansu przy cz˛estotliwosci´ ok 4kHz. Dzi˛ekiuchu zewn˛etrznemumozliwa˙ jest takze˙ lokalizacja ´zródład´zwi˛eku.

5.1.2 Ucho srodkowe´

Zadaniem ucha srodkowego´ jest zamiana drgan´ powietrza w drgania płynu w slimaku´ (cz˛es´c´ ucha srodkowego).´ Poniewaz˙ osrodki´ te s ˛arózne,˙ to fala akustyczna odbijałaby si˛eprawie całkowicie od cieczy. Ucho srodkowe´ mechanicznie dopasowuje impedancj˛etak, aby jak najmniej energii było odbijane. Najlepsze dopasowanie wyst˛epujedla cz˛estotliwosci´ ok. 1kHz.

69 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Fala akustyczna pobudza błon˛eb˛ebenkow ˛a,do której przymocowane s ˛akolejno trzy drobne kosteczki: młoteczek, kowadełko i strzemi ˛aczko. Pobudzaj ˛aone błon˛ezwan ˛aokienkiem owalnym.

5.1.3 Ucho wewn˛etrzne

Ucho wewn˛etrznejest odpowiedzialne za utrzymanie równowagi przez człowieka oraz przekształcanie energii mechanicznej drgaj ˛acego płynu w energi˛e impulsów elektrycznych w nerwach słuchowych. Główn ˛acz˛esci´ ˛aodpowiedzialn ˛aza słyszenie jest slimak.´ Składa si˛e on z trzech przewodów, zwini˛etych w spiral˛e, wypełnionych płynem. Dwa z tych przewodów u szczytu s ˛apoł ˛aczone. Drgania okienka owalnego przenosz ˛asi˛e na płyn. Wzdłuz˙ jednej ze scian,´ nazwanej błon ˛apodstawn ˛a,znajduje si˛eorgan Cortiego, który zawiera ok. 15000 komórek rz˛esatychw kilku rz˛edach. Pobudzone komórki przez fal˛eakustyczn ˛a generuj ˛aimpulsy elektryczne, biegn ˛acenerwami do mózgu, gdzie wrazenie˙ akustyczne jest interpretowane. Działanie błony podstawnej i komórek rz˛esatychmozna˙ interpretowac´ jako bank filtrów pasmowoprzepustowych. Taka interpretacja prowadzi do zdefiniowania poj˛eciapasm krytycznych. W uchu wewn˛etrznym zachodzi tez˙ zjawisko tłumienia szumu wewn˛etrznego. To zjawisko jest np. wykorzystywane w modelu psychoakustycznym opisanym w rozdz. 5.7.

5.2 Ogólne zjawiska słuchu wykorzystywane w kodowaniu d´zwi˛eku

Budowa narz ˛adusłuchu skutkuje pewnymi charakterystycznymi zjawiskami, które s ˛a wykorzystywane w wi˛ekszosci´ współczesnych koderów audio. W tym rozdziale wspomniane zjawiska zostan ˛apokrótce omówione.

5.2.1 Progi słyszenia

Obserwuje si˛epewien minimalny poziom nat˛ezenia˙ d´zwi˛eku,ponizej˙ którego człowiek nie słyszy danego d´zwi˛eku.Poziom ten jest zalezny˙ od cz˛estotliwosci.´ Na rys. 5.1 przedstawiono progi słyszenia w funkcji cz˛estotliwosci.´

5.2.2 Pasma Barkowe

Skala Barkowa jest skal ˛apsychoakustyczn ˛azaproponowan ˛aprzez Eberhard Zwickera [118] w 1961 roku. Nazwa skali wzi˛etajest od nazwiska Heinrich Barkhausena, który zajmował si˛e

70 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 5.1: Przykład krzywej progów słyszenia subiektywnymi pomiarami głosno´ sci´ d´zwi˛eku.Skala Barkowa odpowiada pierwszym pasmom krytycznym. W celu przeliczenia cz˛estotliwosci´ f na Barki korzysta si˛ez formuły:

f Bark = 13 arctan(0.00076f) + 3.5 arctan(( )2) (5.1) 7500

5.2.3 Maskowanie cz˛estotliwosciowe´

Eksperymenty odsłuchowe ukazuj ˛apewn ˛aprawidłowos´c.´ Zakłada si˛e, ze˙ wyst˛epuj˛adwa jednoczesne sygnały – tony: maskuj ˛acy (zwany maskerem) i maskowany. Jesli´ masker ma wyzszy˙ poziom niz˙ sygnał maskowany, a odległos´c´ w dziedzinie cz˛estotliwosci´ jest odpowiednio duza,˙ to oba tony s ˛asłyszalne. Jednakze,˙ jesli´ poziom maskera jest odpowiednio wi˛ekszyod tonu maskowanego, a odległos´c´ w dziedzinie cz˛estotliwosci´ jest wystarczaj ˛aco mała, to okazuje si˛e, ze˙ ton maskowany nie jest słyszalny. Jest to spowodowane tym, ze˙ oba tony trafiaj ˛ado tego samego pasma krytycznego. Sygnał o wi˛ekszejenergii tak modyfikuje progi słyszenia, ze˙ sygnał maskowany znajduje si˛epod progiem słyszenia. Zjawisko to zostało przedstawione na rys. 5.2. Eksperymenty psychoakustyczne pokazały, ze˙ krzywe maskowania zalez˙ ˛aod:

• cz˛estotliwosci´ maskera,

• poziomu maskera,

• rodzaju sygnału maskera: czy jest on sygnałem szumu, czy tonem,

• róznicy˙ cz˛estotliwosci´ maskera od sygnału maskowanego,

71 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 • poziomu sygnału maskowanego.

Rysunek 5.2: Maskowanie cz˛estotliwosciowe.´ Na rysunku masker modyfikuje progi słyszenia, tak ze˙ sygnał maskowany znajduje si˛eponizej˙ krzywej maskowania i jest nie słyszalny.

Krzywe maskowania mog ˛abyc´ modelowane za pomoc ˛afunkcji rozpraszaj ˛acej(spreading function). Funkcje te wykorzystuj ˛asplot funkcji maskuj ˛aceji maskowanej. Istnieje kilka modeli funkcji rozpraszaj ˛acych: trójk ˛atna,Zwickera [43], Schroedera [94] i jego modyfikacje oraz ustandaryzowane przez grup˛eISO/IEC MPEG jako model psychoakustyczny I i II.

5.2.4 Maskowanie czasowe

Maskowanie cz˛estotliwosciowe´ rozwaza˙ tylko przypadek gdy masker i sygnał maskowany wyst˛epuj˛ajednoczesnie.´ Poza wczesniej´ opisanymi zjawiskami wyst˛epujetakze˙ maskowanie mi˛edzysygnałami, które nie wyst˛epuj˛ajednoczesnie.´ Wyrózniamy˙ dwa przypadki maskowania czasowego. Gdy sygnał maskowany wyst˛epuje przed maskerem, mówimy wtedy o premaskowaniu. Gdy sygnał maskowany wyst˛epujepo maskerze, mówimy o postmaskowaniu. Premaskowanie jest zjawiskiem nieintuicyjnym, jednak mozna˙ je wytłumaczyc´ faktem, ze˙ słuch potrzebuje czasu trwania bod´zca przez odpowiedni okres, by było ono mozliwe˙ do zinterpretowania przez mózg. Jesli´ czas ten jest za krótki, to sygnał nie zostanie usłyszany. Czas premaskowania szacuje si˛ena 20ms. Efekt postmaskowania jest dłuzszy˙ i trwa ok 150ms. Oba zjawiska przedstawiono na rys. 5.3

72 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 5.3: Maskowanie czasowe. Masker maskuje sygnały które znajduj ˛asi˛e 50ms przed wyst ˛apieniemmaskera oraz 150ms po jego wyst ˛apieniu

5.3 Model psychoakustyczny I

Model psychoakustyczny I jest pierwszym zdefiniowanym modelem psychoakustycznym wykorzystywanym powszechnie w koderach audio. Obecnie został zast ˛apiony modelem psychoakustycznym II (opisanym w rozdz. 5.4). Uproszczony schemat [22] modelu I przedstawiono na rys. 5.4. W pierwszym etapie sygnał z dziedziny czasu jest transformowany w dziedzin˛ecz˛estotliwosci´ za pomoc ˛aFFT. Nast˛epnieliczony jest poziom cisnienia´ akustycznego w kazdym˙ pasmie widma. Dalej wyznaczane s ˛aprogi słyszenia. Kazdy˙ sygnał ponizej˙ tych progów jest niesłyszalny. Poniewaz˙ sygnał tonalny i szum maj ˛ainne zdolnosci´ maskuj ˛ace, to na tym etapie s ˛awyrózniane˙ poszczególne typy składowych sygnału. Kolejnym etapem jest odrzucanie tych maskerów, które s ˛aponizej˙ poziomu maskowania s ˛asiaduj˛acych z nimi maskerów o wyzszym˙ poziomie. Dla tak wyznaczonego zestawu maskerów wyznacza si˛e krzywe maskowania. Wyznaczone krzywe maskowania dla kazdego˙ maskera składa si˛ew jedn ˛a,globaln ˛akrzyw ˛amaskowania dla całej ramki. Nast˛epnie wyznaczane s ˛awartosci´ progów maskowania dla kazdego˙ podpasma oraz wyznaczany jest stosunek sygnału do poziomu maskowania (SMR – Signal to Mask Ratio).

5.4 Model psychoakustyczny II

Model psychoakustyczny II jest szeroko stosowany w róznych˙ koderach audio. Jego algorytm został przedstawiony w cz˛esci´ nienormatywnej normy standardu AAC [61, 22]. Na wejscie´ algorytmu modelu jest podawany zestaw próbek sygnału d´zwi˛ekowego, zas´ na wyjsciu´ uzyskuje si˛ezestaw progów szumu kwantyzacji, które s ˛amaksymalnym mozliwym˙ poziomem zniekształcen,´ mog ˛acym byc´ zamaskowanym przez sygnał audio. Progi te s ˛aprzestawione w odpowiednich dla standardu AAC pasmach cz˛estotliwosciowych´ (ScaleFactor Bands – SFB). Uproszczony schemat modelu psychoakustycznego II [22] przedstawiono na rys. 5.5. Jak mozna˙ zauwazy˙ c,´ algorytm został podzielony na dwie gał˛ezieobliczen:´ indeksu tonalnosci´ i

73 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 5.4: Uproszczony schemat modelu psychoakustycznego I

energii maskowania. W pierwszej fazie, podobnie jak w pierwszym modelu, sygnał wejsciowy´ trafia do FFT transformuj ˛acejpróbki czasowe we współczynniki cz˛estotliwosciowe´ grupuj ˛acje w pasma. Tonalnos´c´ wyznaczana jest z miary nieprzewidywalnosci.´ Energia maskowania jest wyznaczana z energii w pasmach rozproszonej za pomoc ˛afunkcji rozproszenia. Nast˛epnie wyznaczane s ˛akrzywe maskowania oraz stosunek sygnału do progów maskowania. W odróznieniu˙ od Modelu I krzywa reprezentuje progi maskowania. Poziomy maskowania dla kazdego˙ pasma s ˛aporównywane z krzyw ˛asłyszenia po czym wybierana jest wi˛ekszawartos´c.´

74 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 5.5: Uproszczony schemat modelu psychoakustycznego II

Takie podejscie´ odróznia˙ Model II od Modelu I, gdzie energia maskowania krzywej ciszy była dodawana do maskerów. Na koniec krzywa maskowania jest mapowana z pasm modelu psychoakustycznego do pasm standardu AAC, w którym model b˛edziewykorzystywany.

5.4.1 Sczegółowy przebieg algorytmu wyznaczania progów w modelu psychoakustycznym II

Dla rozróznianych˙ dwóch długosci´ okien transformaty MDCT, okna dla modelu psychoakustycznego s ˛atakze˙ odpowiednio: długie (N = 2048 współczynniki) lub krótkie (N = 256 współczynników). Poszczególne okna nakładaj ˛asi˛ez przesuni˛eciem N/2. W dalszej cz˛esci´ opisu algorytmu zostanie zastosowana nast˛epuj˛acanotacja:

• w – numer współczynnika cz˛estotliwosciowego´ transformaty FFT; zerowy współczynnik oznacza współczynnik DC, współczynnik o numerze 1023 oznacza cz˛estotliwos´c´ Nyquista,

• b – pasmo cz˛estotliwosciowe´ uzywane˙ w modelu psychoakustycznym, zwane takze˙ partycj ˛a(partition),

75 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 • n – wskazuje, ze˙ indeksowanie odbywa si˛ew dziedzinie pasm SFB; współczynnik o najmniejszej cz˛estotliwosci´ jest oznaczony zerem,

W dalszej cz˛esci´ pracy ten algorytm oznaczany jest jako PAM1. Schemat działania algorytmu wyznaczenia krzywych maskowania jest kilkuetapowy. Ponizej˙ przedstawiono opis algorytmu, a na rys. 5.6 pokazano uproszczony schemat wyznaczenia krzywych maskowania. Na schemacie dodatkowo oznaczono jeszcze dwa bloki skalowania. Nie s ˛aone wykorzystywane w wyznaczaniu progów maskowania, ale posłuzyły˙ do walidacji algorytmu (patrz Rozdz 5.8).

Rysunek 5.6: Szczegółowy schemat algorytmu modelu psychoakustycznego opisanego w nienormatywnej cz˛esci´ standardu AAC

Mozna˙ stwierdzic,´ ze˙ algorytm przebiega dwuscie´ zkowo˙ i obejmuje scie´ zk˛ewyznaczenia˙ tonalnosci´ i scie´ zk˛eprogów˙ maskowania. W algorytmie mozna˙ wyznaczyc´ kilka etapów:

76 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 1. Kazde˙ okno czasowe jest najpierw wymnazane˙ odpowiednio przez funkcj˛eHanna, która jest obliczana za pomoc ˛aponizszego˙ wzoru:

!! 1 1 i + 1  sw(i) = x(i) · − · cos π · 2 , (5.2) 2 2 N

gdzie s(i) jest to i-ta próbka, N długos´c´ okna, sw(i) to wartos´c´ próbki po okienkowaniu.

2. Transformacja sygnału z dziedziny czasu w dziedzin˛e cz˛estotliwosci.´ — Na zokienkowanym sygnale obliczana jest transformata Fouriera (np. za pomoc ˛aalgorytmu FFT): N−1 X −j2π nw x(w) = sw(n) · e N . (5.3) n=0

Nast˛epniewyniki FFT s ˛aprzekształcane z układu kartezjanskiego´ (re(w), im(w)) w biegunowy, gdzie r(w) przedstawia amplitud˛e,a Φ(w) faz˛e.

3. Obliczanie wartosci´ predykowanych r(w) i f(w) — wyznaczone wartosci´ biegunowe

transformaty FFT słuz˙ ˛ado wyznaczenia wartosci´ predykowanych rpred(w) i Φpred(w):

r (w) = 2 · r(w)[t − 1] − r(w)[t − 2] pred , (5.4) Φpred(w) = 2 · Φ(w)[t − 1] − Φ(w)[t − 2]

gdzie indeksy t − 1 i t − 2, odpowiadaj ˛aza wartosci´ z kolejnych dwóch okien czasowych poprzedzaj ˛acych obecne. Wartosci´ te wykazuj ˛a,jak dobrze biez˙ ˛acy sygnał jest predykowany z dwóch ostatnich okien.

4. Obliczanie miary nieprzewidywalnosci´ (unpredictability measure)(c(w)). Miara ta mówi o tonalnosci´ r(w). Ogólne wyrazenie˙ na wartos´c´ miary nieprzewidywalnosci´ wyraza˙ si˛e równaniem (5.5):

2 p(w) = [r(w) · cos(Φ(w)) − rpred(w) · cos(Φpred(w))] 2 q(w) = [r(w) · sin(Φ(w)) − rpred(w) · sin(Φpred(w))] . (5.5) √ p(w)+q(w) c(w) = r(w)+|rpred(w)|

Stanowi to kwadratowy bł ˛adpredykcji przedstawiony w układzie biegunowym. Dla okien krótkich powyzsze˙ równanie jest stosowane dla kazdego˙ okna FFT. Dla okien długich tylko pierwsze szes´c´ współczynników c(w) jest obliczane za pomoc ˛apowyzszego˙ wyrazenia˙ z długiego okna FFT. Pozostałe wartosci´ s ˛ato minimalne c(w) obliczone z

77 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 krótkich okien. Przy ograniczonych zasobach obliczeniowych mozna˙ przyj ˛ac,´ ze˙ ta liczba wynosi 0.4. Miara c(w) jest ograniczona w przedziale < 0; 1 >.

5. Obliczanie energii i nieprzewidywalnosci´ w pasmach modelu psychoakustycznego — energia w pasmach modelu psychoakustycznego wyraza˙ si˛enast˛epuj˛aco:

w Xmax E(b) = r(w)2, (5.6)

w=wmin

gdzie wmin i wmax to odpowiednio dolny i górny indeks w pasma b. Wazona˙ nieprzewidywalnos´c´ wyraza˙ si˛enast˛epuj˛aco:

w Xmax C(b) = r(w)2 · c(w). (5.7)

w=wmin

6. Obliczanie splotu energii w pasmach i miary nieprzewidywalnosci´ z funkcj ˛a rozpraszaj ˛ac˛a— splot energii z funkcj ˛arozpraszaj ˛ac˛awyraza˙ si˛enast˛epuj˛aco:

˜ X E(b1) = E(b2) · S (m(b2), m(b1)) , (5.8)

b1,b2

a splot nieprzewidywalnosci´ z funkcj ˛arozpraszaj ˛ac˛a:

X c˜(b1) = C(b2) · S (m(b2), m(b1)) , (5.9)

b1,b2

gdzie b1, b2 to indeksy w dziedzinie pasm modelu psychoakustycznego – partycji, S(i, j), to funkcja rozpraszaj ˛acazdefiniowana w 5.4.2, m(b) to wartos´c´ medianowa pasma modelu psychoakustycznego. Wartos´c´ c˜(b) jest znormalizowana do energii sygnału, dlatego trzeba j ˛arenormalizowac´

do c˜RN (b): c˜(b) c˜RN (b) = . (5.10) E˜(b)

Z uwagi na to, ze˙ funkcja rozpraszaj ˛acanie jest normalizowana, wartos´c´ E˜(b) powinna ˜ byc´ zrenormalizowana do energii ERN (b):

˜ ˜ ERN (b) = E(b) · RN(b), (5.11)

gdzie funkcj˛enormalizuj ˛ac˛a RN(b) opisano w 5.4.2.

78 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 7. Wyznaczenie indeksu tonalnosci´ z ponizszej˙ zalezno˙ sci:´

T (b) = −0.299 − 0.43 · ln(˜cRN (b)), (5.12)

przy czym wartos´c´ T (b) jest ograniczona do przedziału: 0 < T (b) < 1. Indeks tonalnosci´ bliski wartosci´ 0 informuje, ze˙ sygnał w danym pasmie´ jest nietonalny. Wartos´c´ 1 oznacza tonalnos´c´ pasma.

8. Obliczanie stosunku sygnał-szum — (Signal to Noise Ratio – SNR) w partycjach b realizowane jest nast˛epuj˛aco:

SNR(b) = T (b) · TMN(b) + (1 − T (b)) · NMT (b). (5.13)

gdzie TMN(b) = 18dB, to wartos´c´ tonu maskuj ˛acego szum (Tone Masking Noise), a NMT = 6dB to wartos´c´ szumu maskuj ˛acego ton (Noise Masking Tone). Po wstawieniu wartosci´ otrzymujemy wyrazenie:˙

SNR(b) = T (b) · 18dB + (1 − T (b)) · 6dB. (5.14)

9. Obliczenie stosunku energetycznego — Obliczon ˛awartos´c´ SNR(b) wykorzystuje si˛edo obliczenia stosunku energetycznego:

bc(b) = 10−SNR(b)/10. (5.15)

10. Obliczanie własciwego´ progu energetycznego, który jest progiem maskowania:

˜ Mthr(b) = ERN (b) · bc(b). (5.16)

11. Uwzgl˛ednienieefektu pre-echa i progu słyszenia — Dla uwzgl˛ednieniatych zjawisk wprowadza si˛enast˛epuj˛acepoprawki:

¯ Mthr(b) = max [qthr(b), min (Mthr(b),Mthr,N−1(b) · win)] , (5.17)

gdzie:

• qthr(b) jest to próg słyszenia dla partycji b. Norma podaje wartosci´ w dB, które s ˛a nast˛epnieprzeliczane na wartosci´ liniowe energii. Progi zostały wyznaczone jako zalezno˙ s´c´ od fali sinusoidalnej o wartosci´ + − 1/2LSB w FFT uzytym˙ w modelu psychoakustycznym. Szkic funkcji progów słyszenia przedstawiono na rys. 5.7.

79 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 5.7: Wykres funkcji progów słyszenia qthr(b) w zalezno˙ sci´ od pasma b

• Mthr,N−1(b) jest to próg dla pasma b dla poprzedniego bloku (okna), • win jest to stała równa 1 dla okien krótkich lub równa 2 dla okien długich.

12. Wyznaczenie wartosci´ progu maskowania dla kodeka oraz mapowanie pasm modelu psychoakustycznego b do pasm kodeka n Wprowadzone oznaczenia:

• n – numer pasma SFB kodera,

• wmin(n) – pierwszy pr ˛azek˙ FFT pasma n,

• wmax(n) – ostatni pr ˛azek˙ FFT pasma n.

Energi˛ew pasmie´ SFB z FFT obliczamy nast˛epuj˛aco:

wmax(n) X 2 EFFT (n) = r(w) . (5.18)

w=wmin(n)

Energi˛ew pasmie´ SFB z MDCT obliczamy nast˛epuj˛aco:

wmax(n) X 2 EMDCT (n) = xmdct(i) , (5.19)

i=wmin(n)

80 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 gdzie xmdct(i) jest to pr ˛azek˙ transformaty MDCT. Obliczanie progu dla partycji b znormalizowanej do jednego pr ˛azka˙ FFT:

Mthr Mthr,N (b) = . (5.20) wmax(b) + 1 − wmin(b)

Obliczanie poziomu szumu w pasmie´ kodera z pasma FFT (mapowanie pasm) oraz przeskalowywanie do szerokosci´ pasma n:

Mthr(n) = minimum (thr(w_low(n), ..., w_high(n))) · (wmax(n) + 1 − wmin(n)). (5.21)

13. Obliczanie wartosci´ stosunku sygnału do maskera (Signal to Mask Ratio):

E (n) SMR(n) = FFT (5.22) Mthr(n)

oraz wartosci´ maksymalnej dopuszczalnej energii bł˛edusygnału xmin(n) dla danego pasma kodera n: E (n) xmin(n) = MDCT . (5.23) SMR(n) Nast˛epnie obliczone progi xmin dla wszystkich pasm (okien) s ˛a podawane do kwantyzera.

Standard AAC umozliwia˙ kodowanie kazdego˙ okna krótkiego osobno lub ł ˛aczenie s ˛asiednichokien krótkich w grupy. Badany koder zakłada, ze˙ kodowane okna krótkie zawsze s ˛a poł ˛aczonew jedn ˛aduz˙ ˛agrup˛eskładaj ˛ac˛asi˛ez osmiu´ okien tak jak w FAAC. Dla wyznaczenia krzywych maskowania zaimplementowano dwa warianty:

1. Wariant niepoł ˛aczony — dla kazdego˙ okna krótkiego wyznaczane s ˛aosobno progi maskowania i s ˛aone podawane do modułu kwantyzacji – czyli osiem zestawów progów maskowania. Moduł alokacji bitów dla kazdego˙ okna krótkiego porównuje jego szum kwantyzacji w pasmach z poszczególnymi progami maskowania. Współczynniki kwantyzacji ScaleFactor jednakze˙ s ˛awspólne dla wszystkich okien.

2. Wariant poł ˛aczony — na etapie klasyfikacji próbek do partycji i pasm (kroki 5. i 12.) próbki z poszczególnych pasm kolejnych okien s ˛awliczane w to samo pasmo i dalej kodowane wg algorytmu. Wynikiem jest jeden zestaw progów maskowania dla wszystkich osmiu´ okien. S ˛aone zatem porównywane z sum ˛aenergii bł˛edukwantyzacji wszystkich okien krótkich.

81 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 5.4.2 Dodatkowe funkcje

W algorytmach modelu psychoakustycznego s ˛a wykorzystywane dodatkowe funkcje przedstawione ponizej:˙

1. Funkcja rozpraszaj ˛aca (Spreading function)— funkcja modeluje wzajemny wpływ maskowania cz˛estotliwosciowego´ na s ˛asiaduj˛acepasma cz˛estotliwosciowe.´ Przykładowe charakterystyki przedstawiono na rys. 5.8

Rysunek 5.8: Przykładowy wykres funkcji rozpraszaj ˛acejdla pasma 10 i pasma 50. Na rysunku jest widoczny wpływ wymienionych pasm na pasma s ˛asiednie

Nachylenie funkcji maskowania dla prawej strony mozna˙ przedstawic´ nast˛epuj˛aco:

α = 3(j − i), (5.24)

a dla lewej cz˛esci:´ α = 1.5(j − i). (5.25)

Zmienna i to wartos´c´ w skali Barkowej, która jest rozpraszana, a wartos´c´ j to wartos´c´ Barkowa, w któr ˛ajest rozpraszany sygnał. Nast˛epnie,dla kolejnych parametrów:

a = 8 · min (α − 0.5)2 − 2 · (α − 0.5); 0 , (5.26)

q b = 15.811389 + 7.5(α + 0.474) − 17.5 1.0 + (α + 0.474)2. (5.27)

82 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Jesli´ parametr a > 100, to szukana wartos´c´ funkcji rozproszenia, reprezentuj ˛acej maskowania tonu przyjmuje kształt:

a+b S(i, j) = 10 10 , (5.28)

w przeciwnym przypadku S(i, j) = 0.

2. Funkcja normalizuj ˛aca RN

Rysunek 5.9: Przykładowy wykres funkcji normalizuj ˛acej(w zalezno˙ sci´ od numeru pasma b) rnorm dla okien długich oraz rnorm_sh dla okien krótkich

Funkcja normalizuj ˛aca RN(b) wyraza˙ si˛enast˛epuj˛aco:

1 RN(b ) = (5.29) 1 P S (m(b ), m(b )) b1,b2 2 1

gdzie m(b) to wartos´c´ medianowa pasma modelu psychoakustycznego podana w normie. Wykres funkcji przedstawiono na rys. 5.9.

5.5 Zmodyfikowany model psychoakustyczny II

Algorytm zmodyfikowanego modelu psychoakustycznego w duzej˙ mierze jest zgodny z modelem opisanym w 5.4. Tutaj zostan ˛aprzedstawione tylko jego modyfikacje [104, 50]. Schemat blokowy algorytmu przedstawiono na rysunku rys. 5.10. Bloki skalowania wyróznione˙

83 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 kolorem nie s ˛acz˛esci´ ˛aalgorytmu. Uzasadnienie ich uzycia˙ przedstawiono w rozdz. 5.8. W dalszej cz˛esci´ pracy algorytm ten oznaczany jest jako PAM2.

Rysunek 5.10: Schemat blokowy zmodyfikowanego algorytmu modelu psychoakustycznego

Pierwsz ˛a zasadnicz ˛a zmian ˛a jest transformacja z dziedziny czasu w dziedzin˛e cz˛estotliwosci.´ W pierwotnym podejsciu´ była to transformata FFT, w PAM2 zastosowano zmodyfikowan ˛a transformacj˛e kosinusow ˛a (MDCT). Zalet ˛a takiego podejscia´ jest to, ze˙ standard AAC wymaga obliczenia transformaty MDCT do pó´zniejszej kwantyzacji współczynników. Zatem, stosuj ˛acMDCT w modelu psychoakustycznym, mozna˙ ograniczyc´ zasoby obliczeniowe do jednej transformacji. Autorzy publikacji [101] dowodz ˛a, ze˙ zamiana FFT na MDCT nie pogarsza wyników kompresji. Zmiana transformacji sprawia, ze˙ współczynniki cz˛estotliwosciowe´ po MDCT s ˛arzeczywiste, a nie zespolone jak w przypadku FFT. Skutkuje to dalsz ˛aniemozno˙ sci´ ˛azastosowania kolejnych cz˛esci´ algorytmu modelu psychoakustycznego (brakuje cz˛esci´ urojonej współczynników), poniewaz˙ nie jest mozliwe˙ obliczenie miary nieprzewidywalnosci.´ Z tego powodu modyfikacja algorytmu wprowadza now ˛awielkos´c´ miary płaskosci´ widma (Spectral Flatness Measure – SFM) [77, 75, 47], która jest wyrazona˙ w nast˛epuj˛acy sposób:

Gm(b) SFM(b) = 10 · log , (5.30) 10 Am(b)

84 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 gdzie 1 N−1 ! N Y Gm(b) = ai (5.31) i=0 jest sredni´ ˛ageometryczn ˛awszystkich współczynników w pasmie´ sfb, a

N−1 1 X Am(b) = a (5.32) N i i=0 sredni´ ˛a arytmetyczn ˛a tych współczynników. Zakłada si˛e, ze˙ uwzgl˛edniane s ˛a tylko współczynniki niezerowe (inaczej srednia´ geometryczna byłaby równa zero). Obliczon ˛a wartos´c´ SFM(b) podstawiamy do równania

SFM(b) T (b) = (5.33) −60

które nast˛epniepodstawiamy zgodnie z opisem algorytmu 5.4 do równania 5.14. Nast˛epne obliczenia odbywaj ˛asi˛ezgodnie z algorytmem pierwotnym. Wszystkie obliczenia odbywaj ˛asi˛ew dziedzinie pasm kodera AAC, dlatego tez˙ funkcja progu ciszy zostaje przeskalowana w t˛e dziedzin˛e. Na rys. 5.11 przedstawiono przebieg

zmodyfikowanej funkcji qthr.

Rysunek 5.11: Funkcja absolutnego progu słyszenia qthr w dziedzinie pasm sfb standardu AAC

Zastosowanie w tym algorytmie wyników transformacji MDCT upraszcza jeszcze kolejne

obliczenia. Zarówno wartos´c´ EF FT (n), jak i EMDCT (n) s ˛aobliczane w tym przypadku ze współczynników MDCT, zatem s ˛asobie równe. W rezultacie

xmin(n) = Mthr(n) (5.34)

85 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Dla usprawnienia algorytmów, szczególnie do zastosowan´ sprz˛etowych mozna˙ wszystkie operacje przenies´c´ w dziedzin˛elogarytmiczn ˛a[105, 106, 107, 9, 49]. Wtedy iloczyny zostaj ˛a zast ˛apionedodawaniem, a ilorazy odejmowaniem. Istnieje takze˙ rozwini˛ecie algorytmu bazuj ˛acego na SFM do Partial SFM (cz˛esciowe´ SFM) [99, 100, 98]. Model psychoakustyczny stosuje filtry o nieskonczonej´ odpowiedzi impulsowej oraz wyznacza mierz˛eSFM dla kazdego˙ przefiltrowanego pasma, co ma poprawic´ jakos´c´ d´zwi˛eku.

5.6 Model psychoakustyczny w koderze 3gpp

Implementacja modelu psychoakustycznego z kodera 3gpp jest wykorzystywana w niektórych pracach np.: [12, 13, 11] do przeprowadzenia badan´ testowych. W ramach prowadzonych prac własnych przeprowadzono testy nad działaniem kodera 3gpp, które dały wyniki bardzo słabe. Przeniesienie działania algorytmu 3gpp do własnego kodera nie przyniosło takze˙ zadnych˙ dobrych wyników. Srednia´ miara ODG dla 64kbit/s na testowanych sekwencjach monofonicznych wyniosła -2.056, a mediana -2.114. W dalszej pracy koder 3gpp i model psychoakustyczny w nim zawarty zostaj ˛apomini˛ete.

5.7 Model psychoakustyczny bazuj ˛acyna PEAQ

W standardzie PEAQ do porównania sekwencji testowej i referencyjnej korzysta si˛e z kilku miar składowych. Jedn ˛az nich jest stosunek szumu kwantyzacji do poziomu maskowania (NMR). Miara ta jest bardzo cz˛esto wykorzystywana w koderach audio jako miara zniekształcen,´ które dzi˛eki efektowi maskowania nie b˛ed˛asłyszalne dla człowieka. Do przedstawionych juz˙ algorytmów modelu psychoakustycznego zaimplementowano takze˙ w koderze model psychoakustyczny bazuj ˛acy na mierze NMR z narz˛edziaPEAQ. W dalszej cz˛esci´ pracy ten algorytm oznaczany jest jako PAM4. Na rys. 2.1 przedstawiono algorytm wyznaczania NMR dla PEAQ. Porównywano tam sygnał referencyjny i sygnał testowy. Bł ˛ad był liczony dla róznicy˙ tych sygnałów. Projektowany algorytm modelu psychoakustycznego bazuj ˛acego na PEAQ przedstawiono na rys. 5.12. Widoczna jest tu tylko jedna scie´ zka˙ dla sekwencji kompresowanej (lewa gał ˛a´z).Dodatkowo mozna˙ zauwazy˙ c´ inny sposób wyznaczenia bł˛edu. W standardzie AAC w odróznieniu˙ do PEAQ jako transformacj˛ewykorzystuje si˛e MDCT, dlatego tez˙ zaprojektowano dodatkow ˛a scie´ zk˛e.˙ Jest ona zgodna z przebiegiem algorytmu AAC. Po transformacji w dziedzin˛ecz˛estotliwosci,´ sygnał jest kwantowany (Q) i dekwantowany (dQ). Po filtracji sygnału cz˛estotliwosciowego´ i jego zrekonstruowanej wersji liczony jest bł ˛ad.Aby zapewnic´ ten sam poziom sygnału, jaki jest w głównej gał˛ezi(lewej), sygnał zostaje przeskalowany w taki sam sposób jak w gał˛ezigłównej. Dla zapewnienia

86 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 5.12: Schemat modelu psychoakustycznego bazuj ˛acego na algorytmie PEAQ kompatybilnosci´ ze standardem AAC pasma barkowe z PEAQ zostaj ˛aprzemapowane na pasma SFB. W koncowym´ etapie poziom maskowania wyznaczony w lewej gał˛ezijest porównywany z poziomem bł˛edu. Istotnymi róznicami˙ mi˛edzyoryginalnym algorytmem w PEAQ, a przedstawionym powyzej˙ s ˛a:

• dla gał˛ezibł˛eduuzywane˙ jest MDCT, a nie FFT jak to ma miejsce w PEAQ,

• zmiana długosci´ pasm, zamiast Barkowych, pasma SFB zgodne z AAC.

Prób˛ezaadaptowania całego modelu psychoakustycznego zaczerpni˛etego z PEAQ podj˛eli autorzy artykułu [48] w 2006 roku. Przedstawione wyniki mówi ˛ao poprawie miary obiektywnej ODG, jednakze˙ w testach subiektywnych nie stwierdzono poprawy, gdyz˙ — jak stwierdzaj ˛aautorzy — wyst ˛apiłypewne problemy. Dotychczas jednak autorzy nie opublikowali poprawek w algorytmie ani wyników ostatecznej realizacji.

87 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 5.8 Moduły skalowania

Zarówno na schemacie z rys. 2.1 jak i rys. 5.12 wyst˛epuj˛amoduły skalowania. W aplikacji PEAQ moduł skalowania został uzyty˙ dla zapewnienia poprawnego mapowania poziomu sygnału wejsciowego´ do głosno´ sci´ [78]. Dla zapewnienia kompatybilnosci´ projektowanego modelu psychoakustycznego z modelem z PEAQ moduł ten został zachowany. Jednakze,˙ aby poziomy sygnału progów maskowania i bł˛eduw projektowanym modelu psychoakustycznym były takie same, nalezało˙ takze˙ odpowiednio przeskalowac´ poziom bł˛edu, st ˛addodatkowy moduł skalowania. Na schematach modeli psychoakustycznych II na rys. 5.6 i jego modyfikacji 5.10 takze˙ zamieszczono moduły skalowania. We własciwym´ algorytmie skalowanie nie jest obecne. Jest ono jednak wykorzystywane jedynie w przypadku porównywania wyników modelu II i jego modyfikacji z modelem przej˛etymz PEAQ.

5.9 Porównanie modeli psychoakustycznych

Przedstawione powyzej˙ modele psychoakustyczne zostały zaimplementowane. Przykładowy przebieg wyznaczonych krzywych maskowania dla trzech algorytmów został zareprezentowany na rys. 5.13. Modele psychoakustyczny II i jego modyfikacja zostały przeskalowane, zgodnie z opisem w rozdz. 5.8, dla zapewnienia tego samego poziomu jaki reprezentuje model z PEAQ. Dla porównania podano takze˙ poziom energii sygnału przed i po skalowaniu. Z wykresów widac,´ ze˙ krzywe maskowania nie s ˛aidentyczne, ale ich przebiegi maj ˛apodobny charakter.

PAM sekwencja ODG br[bity] ANMR[dB] ANMRS[dB] TotalNMR[dB] 1 m_57bach -3.588 32 -4.07 1.06 -8.14 1 m_blackbird48 -3.675 48 -0.25 0.05 -7.42 1 m_testsignal248 -2.498 48 -0.08 0.01 -8.10 2 m_57bach -3.600 32 -2.36 1.64 -8.24 2 m_blackbird48 -3.309 57 -0.19 0.07 -8.99 2 m_testsignal248 -1.603 58 -0.18 0.05 -9.86 4 m_57bach -3.450 32 -2.08 0.54 -9.02 4 m_blackbird48 -2.478 57 -6.06 0.05 -10.12 4 m_testsignal248 -1.718 58 -4.86 0.12 -9.955 NERO m_57bach -2.539 41 — — -7.12 NERO m_blackbird48 -2.921 43 — — -5.16 NERO m_testsignal248 -2.652 45 — — -4.83

Tablica 5.1: Wyniki kodowania przykładowych sekwencji z warunkiem by NMR był na poziomie 0dB

W tab. 5.1 przedstawiono kilka wybranych wyników kompresowania sekwencji w taki sposób, by poziom ANMR < 0dB. Dla wszystkich przedstawionych sekwencji poziom

88 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 5.13: Przebieg krzywych maskowania dla trzech modeli psychoakustycznych (modelu II – xmin1, jego modyfikacji – xmin2 oraz bazuj ˛acego na PEAQ – xmin4) na tle energii sygnału. Energia przedstawiona jest przed i po skalowaniu. Algorytm PAM2 i jego modyfikacja takze˙ zostały przeskalowane

ANMR (w stosunku do krzywych wyznaczonych przez wybrany model psychoakustyczny) jest minimalnie nizej˙ od załozonego˙ docelowego poziomu. Ujemna wartos´c´ ANMR oznacza, ze˙ srednia´ energia bł˛edujest ponizej˙ progów maskowania. Dla potwierdzenia przedstawiono jeszcze poziom ANMRS (rozdz. 2.4). Jest on takze˙ sredni´ ˛aNMR, ale uzgl˛edniaj˛ac˛atylko poziomy powyzej˙ 0dB. Wi˛ekszos´c´ przedstawionych wartosci´ ANMRS jest w bliskim s ˛asiedztwie 0dB, a jednak obiektywna miara ODG jest daleka od poziomu niepostrzegalnosci.´ Wynika z tego, ze˙ na koncowy´ wynik ODG wpływ ma nie tylko miara NMR. Dla potwierdzenia tej tezy przeprowadzono jeszcze jeden test. Zakodowano kilka sekwencji za pomoc ˛akodera Nero i sprawdzono poziomy Total NMR i ODG. Wyniki przedstawiono w tej samej tabeli. Wyniki ANMR i ANMRS dla NERO nie s ˛apodane, poniewaz˙ nie jest znany model psychoakustyczny zastosowany w NERO, według którego te miary s ˛aliczone. Dla przedstawionych sekwencji jakos´c´ była słaba, mimo ze˙ T otalANMR < 0dB. Przedstawione wyniki potwierdzaj ˛atez˛e przedstawion ˛apowyzej.˙ Idealny model psychoakustyczny powinien zatem uzgl˛edniac´ inne składowe miary PEAQ. Przedstawione powyzej˙ algorytmy przetestowano takze˙ w praktycznych zastosowaniach. Zakodowano sekwencje testowe przy uzyciu˙ kazdego˙ z algorytmów modelu psychoakustycznego, a algorytm TRDO (opisany w rozdz. 6.4) wybrano jako algorytm alokacji bitów, poniewaz˙ zapewnia on najlepsze dopasowanie do krzywych maskowania przy

89 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 okreslonej´ przepływnosci´ bitowej (rozdz. 6.6.3). Na rys. 5.14 przedstawiono wspomniane

Rysunek 5.14: Porównanie działania algorytmów modeli psychoakustycznego w praktyce z uzyciem˙ algorytmu TRDO alokacji bitów porównanie. Jak widac,´ dla wybranych sekwencji testowych PAM1 i PAM2 wypadaj ˛ana podobnym poziome, a jedynie PAM4 jest gorsze. Dla porównania uzyto˙ takze˙ algorytmu TRDO bez zadnego˙ modelu psychoakustycznego – algorytm starał si˛eminimalizowac´ bł ˛ad kwantyzacji. Wyniki oznaczono jako RD0. Jak widac´ wyniki s ˛asłabsze od TRDO1 i TRDO2, ale porówynywalne z RD4.

Podsumowanie

Dla wybranego algorytmu alokacji bitów TRDO przetestowano wczesniej´ opisane modele psychoakustyczne. Algorytmami daj ˛acymi najlepsz ˛ajakos´c´ s ˛aModel Psychoakustyczny II zaproponowany w cz˛esci´ nienormatywnej specyfikacji AAC (PAM1) oraz jego modyfikacja stosuj ˛acatransformat˛eMDCT (PAM2). Uzycie˙ modeli zaadaptowanych z kodera 3gpp (PAM3) oraz z narz˛edzia PEAQ (cz˛es´c´ obliczaj ˛acaNMR) (PAM4) uzyskiwały gorsz ˛ajakos´c´ kompresowanych sekwencji d´zwi˛ekowych. Do dalszych badan´ zostan ˛awybrano PAM1 i PAM2.

90 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozdział 6

Algorytmy alokacji bitów

Algorytmy alokacji bitów (np. [27]) maj ˛aza zadanie odpowiednie rozdzielanie bitów strumienia bitowego na pasma cz˛estotliwosciowe´ tak, by załozona˙ przepływnos´c´ bitowa była zachowana, a jakos´c´ sekwencji zdekodowanych była jak najwyzsza.˙ W tym rozdziale zostan ˛aprzedstawione algorytmy alokacji bitów stosowane w literaturze oraz ich modyfikacje. Zostan ˛atakze˙ zaproponowane pewne własne modyfikacje algorytmów. Dodatkowo zostanie przedstawiony algorytm równych współczynników kwantowania dla wszystkich pasm w ramce, który w przeciwienstwie´ do pozostałych algorytmów, nie korzysta z modelu psychoakustycznego.

6.1 Algorytm podwójnej p˛etliprzeszukiwania – Two Loop Search

Algorytm alokacji bitów Podwójnej P˛etliPrzeszukiwania – Two Loop Search (TLS)– został przedstawiony w standardzie AAC[61], w cz˛esci´ nienormatywnej. Algorytm TLS realizowany jest przez dwie p˛etle:wewn˛etrzn˛ai zewn˛etrzn˛a.P˛etlawewn˛etrzna(zwana p˛etl˛aprzepływnosci´ bitowej – bitrate) tak modyfikuje współczynniki kwantyzacji (dla wszystkich pasm jednakowo), aby otrzymac´ zadan ˛aprzepływnos´c´ bitow ˛a. P˛etlazewn˛etrzna,zwana p˛etl˛azniekształcenia (distortion) stara si˛etak zmieniac´ poszczególne współczynniki kwantyzacji, aby poprawic´ jakos´c´ d´zwi˛eku(zmniejszac´ NMR w poszczególnych pasmach). Jak mozna˙ zauwazy˙ c´ p˛etle maj ˛aprzeciwstawne zadania: jedna poprawia jakos´c´ i podwyzsza˙ przepływnos´c´ bitow ˛a,druga poprawia przepływnos´c´ bitow ˛a,ale pogarsza jakos´c.´ Równanie kwantyzacji 3.3 dla pasma b mozna˙ przekształcic´ w nast˛epuj˛ac˛apostac:´

j 3 3 ·(SF (sb)+SF c) k xq(i) = sign(x(i)) · |x(i)| 4 · 2 16 + 0.4054 =

j 3 3 ·SF (sb) 3 ·SF c k = sign(x(i)) · |x(i)| 4 · 2 16 + 2 16 + 0.4054 (6.1)

91 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 gdzie i jest to numer współczynnika cz˛estotliwosciowego,´ a sb numerem pasma SFB. Czynnik 3 ·SF c równania 2 16 jest odpowiedzialny za p˛etl˛ewewn˛etrzn˛a.Natomiast p˛etlazewn˛etrznasteruje 3 ·(SF (sb)) czynnikiem 2 16 . W równaniu mozna˙ jeszcze wyrózni˙ c´ kompander, czyli przeskalowanie 3 współczynnika |x| 4 . Niezaleznie˙ od p˛etlizewn˛etrzneji wewn˛etrznejwartos´c´ kompandera jest stała dla danego współczynnika x, zatem wartos´c´ ta moze˙ byc´ tylko raz obliczona, i uzywana˙ ponownie w kolejnych iteracjach p˛etli.

6.1.1 P˛etlazewn˛etrzna

Rysunek 6.1: Algorytm p˛etlizewn˛etrznejTLS

Szczegółowe działanie p˛etlizewn˛etrznejprzedstawiono na rys. 6.1.

1. Algorytm TLS zaczyna działanie od wykonania p˛etliwewn˛etrznej. Obliczony zostaje odpowiedni SF c (SFcommon – SF wspólny dla wszystkich pasm), dla którego ramka audio po kompresji b˛edziemiała długos´c´ bitow ˛aspełniaj ˛ac˛awymagania:

bitsframe <= bitsavailable (6.2)

i zostaje przekazany do p˛etlizewn˛etrznej.

92 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 2. Dla kazdego˙ pasma SFB, dla odpowiedniego SF (sb) obliczany jest bł ˛adkwantyzacji:

ihigh(sb) X 2 Eerror(sb) = (x(i) − xd(i)) (6.3)

i=ilow(sb)

gdzie ilow(sb) i ihigh(sb), to odpowiednio indeks pierwszego i ostatniego pr ˛azka˙ pasma sb

3. Pasma dla których bł ˛adkwantyzacji jest wi˛ekszyniz˙ wartos´c´ progowa dopuszczalna

przez model psychoakustyczny: Eerror(sb) > xmin(sb) s ˛apoprawiane poprzez zwi˛ekszeniewspółczynnika kwantyzacji.

4. Badane s ˛awarunki stopu p˛etlizewn˛etrznej:

• jesli´ wszystkie współczynniki kwantyzacji SF (sb) zostały zmienione, • współczynniki kwantyzacji SF (sb) s ˛apoza zakresem, • zadne˙ pasmo nie wymaga juz˙ poprawy.

Gdy zaden˙ z warunków nie jest spełniony, p˛etlazewn˛etrznawykonuje kolejn ˛aiteracj˛e

5. Wyznaczanie ostatecznych (sumy SF c i SF (sb)) współczynników kwantyzacji dla pasm i podanie ich wartosci´ do bloku kodowania entropijnego.

6.1.2 P˛etlawewn˛etrzna

Rysunek 6.2: Algorytm p˛etliwewn˛etrznejTLS

Szczegółowe działanie p˛etliwewn˛etrznejprzedstawiono na rys. 6.2 Na pocz ˛atkudziałania p˛etladokonuje kwantyzacji. Nie przeprowadza si˛epełnej kwantyzacji, poniewaz˙ wykorzystuje − 3 SF c raz obliczon ˛awartos´c´ z kompandera i przeskalowuje si˛e j ˛atylko przez czynnik 2 16 . Nast˛epnie moduł kodowania entropijnego (za pomoc ˛aksi ˛azek˙ Huffmana) podaje wartos´c´ długosci´ bitowej powstałego strumienia. Jesli´ strumien´ jest za długi, to zmieniany jest współczynnik SF c i proces jest powtarzany az˙ do momentu, gdy liczba bitów potrzebna do zakodowania danej ramki b˛edziemniejsza lub równa załozonemu˙ progowi bitowemu.

93 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 6.1.3 Warunki stopu

P˛etled ˛az˙ ˛ado tego, aby wypracowac´ pewien kompromis. W normie zaproponowane s ˛a ogólnie trzy warunki stopu, gdy:

1. Po iteracji p˛etliwewn˛etrzneji zewn˛etrznej zadne˙ współczynniki kwantyzacji nie zostały zmienione. Oznacza to, ze˙ kompromis został osi ˛agni˛ety, warunek przepływnosci´ bitowej i jakosci´ jest spełniony: szum kwantyzacji jest ponizej˙ progu słyszenia.

2. P˛etlazewn˛etrznazmieniła we wszystkich pasmach współczynniki. Zatem doszło do sytuacji, w której po kazdej˙ iteracji p˛etliwewn˛etrzneji zewn˛etrznejwynik jest ten sam (jedna p˛etlazwi˛ekszyła,a druga zmniejszyła współczynniki kwantyzacji o takie same wartosci).´

3. Róznica˙ mi˛edzy kolejnymi współczynnikami kwantyzacji jest wi˛eksza niz˙ 60. Współczynniki kwantyzacji s ˛akodowane róznicowo,˙ a wartos´c´ 60, jest maksymalna jaka jest mozliwa˙ do zakodowania w standardzie AAC.

W praktycznej implementacji kodera, dla poprawnego działania kodera TLS potrzebne s ˛a odpowiednie warunki pocz ˛atkowe, w przeciwnym przypadku algorytm od razu wpada w jeden z warunków stopu. Jedn ˛az propozycji przyspieszenia algorytmu jest zastosowanie predyktora liniowego do wyznaczenia pierwszego współczynnika SF (oznaczonego jako global gain) przedstawiona w [108].

6.2 Zmodyfikowany algorytm TLS

Algorytm TLS przedstawiony w normie AAC ma wady. Ma wysok ˛a złozono˙ s´c´ obliczeniow ˛a(potrzeba wielu iteracji) oraz trudne do ustalenia warunki pocz ˛atkowe. Przy ´zle dobranych warunkach pocz ˛atkowych, algorytm bardzo szybko osi ˛aga warunki stopu i przerywa działanie. Dla przykładu: jesli´ inicjuj ˛acewartosci´ SF s ˛abardzo niskie, to b˛ed˛aone zmieniane we wszystkich pasmach jednoczesnie.´ W ten sposób zostaj ˛aosi ˛agni˛ete warunki stopu. Aby zapobiec takim przypadkom wprowadzono przez autora rozprawy pewne modyfikacje. Zrezygnowano z dotychczasowych warunków stopu. Wprowadzono konfigurowalny licznik iteracji p˛etlizewn˛etrznej.P˛etlazewn˛etrznawykonuje si˛eN razy. Po zakonczeniu´ kazdej˙ iteracji obliczana jest miara ANMR ramki. Jesli´ ANMR jest lepsze od najlepszego dotychczasowego wyniku: ANMRiter < ANMRbest, to zapami˛etywana jest wartos´c´ ANMR i odpowiadaj ˛ace jej SF. Po zakonczeniu´ wszystkich iteracji p˛etlizewn˛etrznej, najlepiej zapami˛etany wynik jest przywracany, dla odpowiednich SF nast˛epujeponownie kwantyzacja. P˛etlawewn˛etrzna pozostaje bez zmian.

94 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Zmodyfikowany algorytm poza wymienion ˛a juz˙ zalet ˛a niewrazliwo˙ sci´ na warunki pocz ˛atkowe, ma jeszcze dwie zalety. Po pierwsze wynik jest lepiej dostosowany do krzywej maskowania poprzez minimalizowanie miary ANMR. Drug ˛azalet ˛ajest skalowalna złozono˙ s´c´ obliczeniowa. Dzi˛ekizmianom limitu licznika iteracji mozliwe˙ jest wczesniejsze´ zakonczenie´ algorytmu, gdy np. jest mało zasobów obliczeniowych. Ustawienie duzej˙ wartosci´ licznika zwi˛ekszazapotrzebowanie na zasoby obliczeniowe, jednakze˙ wi˛ecejmozliwo˙ sci´ jest sprawdzanych. Zwi˛ekszato szans˛ena lepsze dopasowanie do krzywych maskowania. W literaturze [15] mozna˙ odnale´zc´ modyfikacj˛ealgorytmu TLS, która wg autorów poprawia jakos´c´ kodowania. Polega na dynamicznym doborze szerokosci´ pasm, w które grupowane s ˛a współczynniki. Niestety taki algorytm nie jest kompatybilny ze standardem, dlatego tez˙ nie jest brany pod uwag˛ew dalszych rozwazaniach.˙ Innymi modyfikacjami s ˛aalgorytmy zmniejszaj ˛aceliczb˛eiteracji w p˛etlach. Odbywa si˛e to poprzez analityczne wyznaczenie odpowiednich wartosci´ współczynnika kwantyzacji SF. Pozwala to na wyeliminowanie wi˛ekszosci´ iteracji p˛etlizewn˛etrznejlub wewn˛etrznej. Takie rozwi ˛azaniezostało zaproponowane w artykułach dla standardów MP3 [46, 80] oraz AAC [35]. Innym sposobem przyspieszenia TLS jest zamienienie kolejnosci´ wykonywania p˛etli[79]. Najpierw do progów maskowania dopasowywany jest bł ˛adkwantyzacji, a nast˛epniedruga p˛etla skaluje SF tak by osi ˛agn˛ac´ wymagan ˛aprzepływnos´c´ bitow ˛a. Zadne˙ przedstawione przyspieszenia algorytmu nie poprawiaj ˛a jakosci´ kodowania, pozwalaj ˛ajedynie na przeprowadzenie operacji TLS w mniejszej liczbie iteracji. Ze wzgl˛edu na brak poprawy jakosci´ kodowania, powyzsze˙ algorytmy przyspieszaj ˛acenie s ˛aobiektem zainteresowania w niniejszej rozprawie.

6.3 Algorytm ze stałymi współczynnikami kwantyzacji

Algorytm ze stałymi współczynnikami kwantyzacji SF – equal SF (ESF) jest bardzo prostym i szybkim algorytmem. Jest to de facto działaj ˛acap˛etlawewn˛etrznaz algorytmu TLS. Algorytm ESF w zaden˙ sposób nie wykorzystuje modelu psychoakustycznego – progów maskowania. Maj ˛acwarunki pocz ˛atkowe na SF, w algorytmie podejmowana jest próba osi ˛agni˛ecia wymaganej przepływnosci´ bitowej poprzez zmian˛eglobalnego SF (wspólnego dla wszystkich pasm SFB). W algorytmie mozna˙ rozrózni˙ c´ dwie mozliwo˙ sci´ warunków pocz ˛atkowych:

1. Wartos´c´ pocz ˛atkowa SF jest z góry załozona˙ i SF mog ˛asi˛etylko zmniejszac´ (kwantyzacja wzmacniac).´ Przy takich warunkach pocz ˛atkowych dla ramek o niskiej energii moze˙ zdarzyc´ si˛eprzypadek, ze˙ koduj ˛acnawet za pomoc ˛apocz ˛atkowych SF, liczba bitów potrzebna do zakodowania ramki jest duzo˙ nizsza˙ od progu. Taki przypadek moze˙ byc´ zalet ˛a,poniewaz˙ ramki o mniejszej energii sygnału b˛ed˛azakodowane na mniejszej

95 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 liczbie bitów, co spowoduje globalne zmniejszenie przepływnosci´ bitowej sekwencji, przy relatywnie małej stracie na jakosci´ d´zwi˛eku. Wad ˛atakiego rozwi ˛azaniajest to, ze˙ zakładaj ˛acza niski startowy SF, nie da si˛eosi ˛agn˛ac´ wyzszej˙ jakosci,´ poniewaz˙ p˛etla zmniejsza tylko SF.

2. Wartos´c´ pocz ˛atkowa SF jest wyznaczana za pomoc ˛ap˛etlizwi˛ekszaj˛acejSF. Ten wariant zawsze stara si˛eosi ˛agn˛ac´ przepływnos´c´ bitow ˛azblizon˙ ˛ado progu. Jesli´ po zakodowaniu ramki startowymi SF okaze˙ si˛e, ze˙ ramka jest zakodowana na małej liczbie bitów, to SF jest zwi˛ekszany, by osi ˛agn˛ac´ wymagan ˛aprzepływnos´c´ bitow ˛ai popraw˛ejakosci´ sekwencji.

Rysunek 6.3: Porównanie wartiantów ESF z szukaniem (esf) i bez szukania maksymalnej przepływnosci´ (esf_nfm) bitowej dla ramki

Przedstawione powyzej˙ warianty porównano, a wyniki zamieszono na rys. 6.3. Algorytm osi ˛agaj ˛acy przepływnos´c´ bitow ˛aramki zblizon˙ ˛ado progu daje lepsze rezultaty. W nast˛epnych badaniach ten wariant jest wykorzystywany.

6.4 Algorytm optymalizacji na kracie z uzyciem˙ kosztu RD

Algorytm optymalizacji przepływnosci´ bitowej i zniekształcen´ (Trellis-based Rate Distortion Optimization – TRDO) [12] bazuje na rozwi ˛azywaniu równania kosztu funkcji Lagrange w kracie (programowanie dynamiczne) oraz na ł ˛acznejoptymalizacji kosztu bitowego

96 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 SF i HCB [17, 19, 16]. Dla przedstawienia działania algorytmu definiuje si˛epoj˛eciacałkowitej liczby bitów potrzebnych do zakodowania ramki oraz całkowitego zniekształcenia ramki. Całkowit ˛aliczb˛ebitów potrzebn ˛ado zakodowania wszystkich pasm w ramce definiuje si˛e nast˛epuj˛aco: N X R(s, h) = Q(si, hi) + F (si−1, si) + G(hi−1, hi) (6.4) i=1 gdzie wyst˛epuj˛anast˛epuj˛aceoznaczenia: s – wektor poszczególnych współczynników Scale Factor, h – wektor kolejnych ksi ˛azek˙ kodowych HCB, i – indeks pasma SFB w ramce. Wartos´c´

Q(si, hi) to liczba bitów potrzebna do zakodowania współczynników w pasmie´ i-tym przy

uzyciu˙ SF o wartosci´ si oraz HCB hi. F (si−1, si) to liczba bitów potrzebna do zakodowania

SF w pasmie´ i. Poniewaz˙ kodowanie SF jest róznicowe,˙ to oprócz samego si, jako parametr

przyjmuje si˛epoprzedni SF oznaczony jako si−1. Podobnie wartos´c´ G(hi−1, hi) oznacza liczb˛e

bitów potrzebn ˛ado zakodowania ksi ˛azki˙ hi z uwzgl˛ednieniempoprzedniej ksi ˛azki˙ kodowej

hi−1. Wykorzystuje si˛edwie miary do wyznaczenia zniekształcen´ w ramce: sredniego´ NMR (ANMR) oraz maksymalnego NMR (MNMR)

N 1 X D = w d = ANMR (6.5) A N i i i=1

DM = max widi = MNMR (6.6) 0≤i≤N gdzie di to energia szumu kwantyzacji, a wi waga tozsama˙ z odwrotnosci´ ˛aprogów maskowania.

6.4.1 Przebieg algorytmu dla miary ANMR

Celem algorytmu jest minimalizacja funkcji kosztu Lagrange[13], która dla miary ANMR przedstawia si˛enast˛epuj˛aco:

N (A) X J (s, h, λ) = [widi(si) + λ(Q(si, hi) + F (si−1, si) + G(hi−1, hi))] (6.7) i=1 Oznaczenie (A) odnosi si˛edo miary ANMR. Argumentami funkcji s ˛a s i h, które zostały opisane wczesniej,´ oraz λ, która jest mnoznikiem˙ Lagrange. Algorytm d ˛azy˙ do minimalizacji kosztu funkcji J (A), a λ jest parametrem waz˙ ˛acym wpływ całkowitej liczby bitów i całkowitego zniekształcenia w ramce na funkcj˛e kosztu. Po minimalizacji funkcji, sprawdza si˛e przy jakiej przepływnosci´ bitowej zostało osi ˛agni˛eteminimum. Jesli´ liczba bitów przyznanych jest niesatysfakcjonuj ˛aca(za duza˙ lub za bardzo mała), to zmienia si˛eparametr λ i ponownie dokonuje si˛eobliczen.´ Funkcja jest optymalizowana w kracie (por. rys. 6.4).

97 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 6.4: Prosta, trójstanowa, trójpoziomowa krata. Stany repezentuj ˛aparametry, a poziomy pasma SFB. Na rysunku zaznaczono suboptymaln ˛a scie´ zk˛ewyznaczon˙ ˛aprzez algorytm programowania dynamicznego.

W osi poziomej przedstawiono kolejne pasma i, a w pionowej parametry (stany j) pi =

(si, hi) danego pasma. Stan j, pasma i oznacza si˛ejako Υj,i. Ostatecznie wyznacza si˛etakze˙

funkcj˛eprzejscia´ mi˛edzystanami jako Tl→j,i. Jest to koszt bitowy dla informacji dodatkowych (kodowanie HCB i SF), jakie trzeba ponies´c´ przy zmianach stanów. Koszt ten wynosi:

Tl→j,i = λ (F (σl, σi) + G(ρl, ρi)) (6.8)

gdzie para σi, ρi to odpowiednio znalezione, optymalne wartosci´ dla pasma i-tego. Przy tak zdefiniowanych zmiennych algorytm mozna˙ przedstawic´ w nast˛epuj˛acy sposób:

1. Inicjalizacja parametru λ oraz zerowanie pozostałych parametrów.

2. Dla kazdego˙ stanu znalezienie przejscia´ do Υj,i o najmniejszym koszcie przejscia,´ zdefiniowanym jako:

(A) n (A) o Jj,i = min Jj,i−1 + widi(σj) + λQ(σj, ρj) + Tl→j,i l n (A) o (6.9) = min Jj,i−1 + Tl→j,i + widi(σj) + λQ(σj, ρj) l

3. Powtarzaj krok 2 dla kolejnych pasm SFB i kazdego˙ stanu.

4. Gdy ostanie pasmo zostanie przeliczone, to wyszukaj najmniejsz ˛awartos´c´ funkcji kosztu dla tego pasma.

5. Dla znalezionego najlepszego Υj,N zacznij odtwarzac´ scie´ zk˛eod˙ konca´ ku pocz ˛atkowi. Znaleziona scie´ zka˙ jest scie´ zk˙ ˛aoptymaln ˛adla zadanego parametru λ.

6. Jesli´ liczba bitów jest wi˛ekszalub duzo˙ mniejsza od załozonego˙ progu, to odpowiednio zmien´ parametr λ i powtórz obliczenia od kroku 1.

98 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Przedstawione kroki s ˛aprzypadkiem programowania dynamicznego [21], a takze˙ wersj ˛a algorytmu Viterbiego [44].

6.4.2 Przebieg algorytmu dla miary MNMR

Dla załozonej˙ miary jakosci´ MNMR [13, 11] algorytm doboru optymalnych parametrów kwantyzacji nieco si˛erózni.˙ Oznaczenia zostały przyj˛etejak w p. 6.4.1. Funkcja kosztu dla tej miary jest nast˛epuj˛acadla minimalizacji max widi i

N (M) X J (s, h) = [Q(si, hi) + F (si−1, si) + G(hi−1, hi)] (6.10) i=1 Dla algorytmu przeszukiwania (algorytmu Viterbiego) wprowadza si˛eparametr γ, który jest progiem akceptowalnego zniekształcenia w danym pasmie,´ czyli progowym NMR dla pasma. Algorytm przeszukiwania kraty mozna˙ przedstawic´ nast˛epuj˛aco:

1. inicjacja parametru γ,

2. stan Υj,i jest uznawany jako wazny˙ gdy NMR dla stanu jest nizsze˙ niz˙ γ,

3. zerowanie pozostałych parametrów,

4. podobnie jak dla algorytmu dla ANMR, przeszukiwanie kraty w celu minimalizacji funkcji kosztu:

(M)  (M) J (j, i) = min J (l, i − 1) + Q(σj, ρj) + Tl→j,i (6.11) l

5. powtarzanie poprzedniego kroku dla wszystkich pasm i współczynników kwantyzacji,

6. rozpoczynaj ˛ac od ostatniego pasma, przejscie´ scie´ zki˙ po optymalnych wynikach, az˙ do pierwszego pasma SFB,

7. jesli´ uzyskana przepływnos´c´ bitowa nie jest satysfakcjonuj ˛aca,nast˛epujezmiana wartosci´ γ i powtórzenie obliczen´ od kroku 2.

6.4.3 Wyznaczenie optymalnej wartosci´ parametru lambda

Dla znalezienia optymalnej wartosci´ parametru λ wykorzystano algorytm bisekcji [32], który mozna˙ przedstawic´ w nast˛epuj˛acy sposób:

1. Ustaw pocz ˛atkowe wartosci´ λmin i λmax oraz policz dla tych wartosci´ wartos´c´ wynikow ˛a przepływnosci´ bitowej.

99 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 λmin+λmax 2. Wyznacz wartos´c´ srodkow´ ˛a λc = 2 .

3. Oblicz przepływnos´c´ bitow ˛adla λc.

4. Jesli´ róznica˙ mi˛edzyotrzyman ˛awartosci´ ˛aprzepływnosci´ bitowej jest odpowiednio blisko zakładanej przepływnosci´ bitowej, to zakoncz´ algorytm.

5. Zbadaj znak wyrazenia˙ BR(λc) − BRthr, gdzie BR() to funkcja wyznaczaj ˛aca

przepływnos´c´ bitow ˛a, a BRthr, to zakładany próg przepływnosci´ bitowej i zmien´

odpowiednio przedział parametru λ na (λmin; λc) lub (λc; λmax) tak aby szukana wartos´c´ znalazła si˛ew przedziale. Przejd´zdo kroku 2.

W taki sposób iteracyjnie wyznaczana jest optymalna wartos´c´ λ. Problem jednak stanowi

wyznaczenie wartosci´ pocz ˛atkowych dla λmin i λmax. Wartosci´ te zostały dobrane a priori, a algorytm bisekcji zmodyfikowany. Jesli´ w pkt (1) obie wartosci´ BR(λmin), BR(λmax)

s ˛amniejsze lub wi˛ekszeod BRthr, to modyfikuje si˛ewartos´c´ λmin lub λmax (np. przez

przesuni˛eciebitowe), tak by BR(λmin) < BRthr < BR(λmax).

6.4.4 Porównanie algorytmów

Literatura [12, 13, 11] porównuje przedstawione algorytmu w miarach obiektywnych i subiektywnych. W kategorii testów obiektywnych uzyto˙ dwóch miar (ANMR i MNMR), według których porównywano przedstawione algorytmy z modelem referencyjnym standardu AAC. W obu przypadkach przedstawione algorytmy były lepsze od modelu referencyjnego. Przedstawiane algorytmy okazały si˛elepsze w miarach, dla których zostały zoptymalizowane (odpowiednio algorytm optymalizuj ˛acy ANMR w mierze ANMR, a algorytm optymalizuj ˛acy MNMR w mierze MNMR). Testy subiektywne przeprowadzono na 20 słuchaczach korzystaj ˛ac z osmiu´ sekwencji z bazy EBU SQAM. Testy subiektywne były przeprowadzane w mierze MOS [74], a najlepszy wyniki osi ˛agn˛ałprzedstawiony algorytm optymalizuj ˛acy miar˛eANMR.

6.4.5 Modyfikacje algorytmu

Kaskadowa krata

Przeprowadzenie optymalizacji na zwykłej kracie, w której s ˛aoptymalizowane parametry SB i HCB jest bardzo złozone˙ obliczeniowo. T˛emetod˛enazwano Joint Trellis Based (Ł ˛aczna, bazuj ˛acana kracie) – JTB. Szacuje si˛ezłozono˙ s´c´ obliczeniow ˛atej metody na O((60 · 12)12 · 49). Istnieje duzo˙ lepsza niz˙ bazuj ˛acana przeszukiwaniu wszystkich mozliwo˙ sci,´ których jest O(60 · 12)49. Cheng-Han Yang i Hsueh-Ming Hang w [114] zaproponowali podział kraty na dwie sekcje odpowiedzialne za obliczanie SF i HCB (rys. 6.5). W ten sposób złozono˙ s´c´ obliczeniowa zmalała do O((602 ·122)·49), a algorytm został nazwany kaskadowym bazuj ˛acym

100 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 6.5: Krata JTB zostaje rozdzielona na kaskad˛edwóch cz˛esci´ wyznaczaj ˛acych optymalne SB, a nast˛epnieoptymalne HCB

na kracie (Cascaded Trellis-Based – CTB). Dla algorytmu optymalizuj ˛acego miar˛eANMR równanie (6.7) zostaje przekształcone na równania optymalizuj ˛aceSF:

(A_SF ) X J = [widi + λ(Q(si, hi) + F (si−1, si))] (6.12) i

oraz HCB: (A_HCB) X J = [Q(si, hi) + G(hi−1, hi)] (6.13) i Dla algorytmu optymalizuj ˛acego miar˛eMNMR, cz˛es´c´ optymalizuj ˛acaHCB jest identyczna, a

cz˛es´c´ optymalizuj ˛acaSF przybiera nast˛epuj˛ac˛apostac´ dla minimalizacji max widi i

(M_SF ) X J = [Q(si, hi) + F (si−1, si))] (6.14) i

Dla tak zmodyfikowanych miar algorytmy optymalizacyjne na kracie przebiegaj ˛abardzo podobnie do wczesniej´ przedstawionych. Jak opisano w rozdz. 3.1.2, samo kodowanie współczynników SF jest zalezne˙ od wyboru ksi ˛azek˙ kodowych HCB. Z tego powodu koder działaj ˛acy na zasadzie przedstawionej na rys. 6.5 nie b˛edziedawac´ optymalnych wyników. Taki przebieg algorytmu nazwany został trybem jednoiteracyjnym. Składa si˛eon z dwóch etapów: wyznaczanie optymalnego SF oraz dla wyznaczonego SF obliczanie optymalnego HCB. Aby osi ˛agn˛ac´ dokładne wyniki obliczenia przepływnosci´ bitowej, wprowadzono dodatkowy krok przy kodowaniu CTB. Na rys. 6.6 mozna˙ zauwazy˙ c,´ ze˙ kodowanie odbywa si˛e w czterech etapach. Najpierw odbywa si˛eoptymalizacja SF uzywaj˙ ˛acpseudo ksi ˛azek˙ Huffmana. Nast˛epnieodbywa si˛eoptymalizacja ksi ˛azek˙ HCB zgodnie z tym, co opisano wczesniej,´ a na koncu´ optymalizacja współczynników SF, uzywaj˙ ˛acjuz˙ wyznaczonych ksi ˛azek˙ HCB. Taki przebieg nazwany jest trybem dwu iteracyjnym.

101 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 6.6: Szczegółowy schemat wyznaczania współczynników SF na bazie kraty CTB. SF wyznaczane s ˛adwukrotnie, raz dla pseudo HCB, a nast˛epniedla wyznaczonego, optymalnego HCB.

Autorzy dowiedli, ze˙ uzywaj˙ ˛acm.in. wyzej˙ wymienionych technik algorytm doboru parametrów kwantyzacji w kracie moze˙ dawac´ zblizone˙ wyniki (bior ˛acpod uwag˛ewynikowe miary ANMR i MNMR oraz miar˛eODG) przy mniejszej złozono˙ sci´ obliczeniowej.

Dwuwarstwowa krata

Rysunek 6.7: Schemat dwuwarstwowej kraty. Osobne obliczenia dla róznych˙ długosci´ okien oraz oblicze´nwewn ˛atrztych okien. Okno LONG oznacza okno długie, SHORT krótkie, START przejsciowe´ z długiego na krótkie, a STOP z krótkiego na długie

W 2008 roku Vinay Melkote i Kenneth Rose zaproponowali [81] rozszerzenie opisywanego algorytmu o jeden wymiar dotycz ˛acy wyboru długosci´ okna. Zgodnie z tym, co pokazano na rys. 6.7 zewn˛etrzn˛awarstw ˛akraty s ˛aposzczególne ramki i odpowiadaj ˛aceim długosci´ okien, zas´ wewn˛etrzn˛acz˛esci´ ˛ajest algorytm wczesniej´ przedstawiony. Algorytm bazuje na całkowitym NMR (Total NMR – TNMR) w wersji usrednionej´ ATNMR oraz maksymalnej

MTNMR. Taka modyfikacja algorytmu wg autorów umozliwia˙ popraw˛e ANMRseq o 0.7 − 1.4dB dla szesciu´ testowanych sekwencji.

102 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Dwuwarstwowa krata dla kodowania całych sekwencji audio

Vinny Melkote i Kenneth Rose rozszerzyli swój algorytm dalej [82] na wszystkie ramki w sekwencji audio. Algorytm ten wykorzystuje rezerwuar bitowy. Jesli´ jakas´ zakodowana ramka nie wykorzystuje wszystkich przeznaczonych dla niej bitów, to te bity s ˛aprzekazywane dla nast˛epnych ramek. Opisane podejscie´ jest kodowaniem niestrumieniowym, a plikowym. Jest to kodowanie z duzym˙ opó´znieniem. Dzi˛ekizastosowaniu kraty uwzgl˛edniaj˛acejwszystkie okna w pliku d´zwi˛ekowym uzyskuje si˛erównomierne zniekształcenie wszystkich ramek, co w efekcie daje lepsz ˛ajakos´c´ niz˙ poprzednie podejscia.´ W niniejszej pracy algorytm ten b˛edziejednak pomini˛ety, z powodu kodowania z duzym˙ opó´znieniem oraz braku stałej przepływnosci´ bitowej kodowanych sekwencji, które jest załozeniem˙ rozprawy.

Wybór odpowiedniego parametru lambda

Dla zmniejszenia liczby iteracji potrzebnych do znalezienia odpowiedniej wartosci´ λ C.Bauer i M.Vinton zaproponowali nast˛epuj˛ac˛aformuł˛e[18]:

R c1 ln 10 c2PE−c3R λ = · 10 10M (6.15) final 10M gdzie c1 jest stał ˛arówn ˛a −9248.3, c2 = 11.712, c3 = 8.897, M to liczba kwantowanych współczynników, R to przepływnos´c´ bitowa, a PE to entropia percepcji (Perceptual Entropy), zdefiniowana w równaniu 6.16. Stałe zostały dobrane eksperymentalnie, tak aby aproksymacja

była jak najdokładniejsza. Wynikowe oszacowanie parametru λfinal pozwala albo wykorzystac´ obliczony parametr λ i zrezygnowac´ z p˛etli, w której zmieniany był ten parametr, albo zminimalizowac´ liczb˛eiteracji wyznaczania wartosci´ λ.

Entropia percepcji

Entropia percepcji (Perceptual Entropy – PE) wyraza˙ si˛enast˛epuj˛acym równaniem:

     N bhi 1 X X 2Re(tbi) 2Im(tbi) PE = log2  + 1 + log2  + 1 (6.16) M q 6 q 6 i=1 b =bl i i wiki wiki

gdzie i to numer pasma SFB, bli dolna granica pasma i, bhi górna granica pasma i, ki liczba

współczynników cz˛estotliwosciowych´ w pasmie,´ bi indeks współczynnika cz˛estotliwosciowego´

w pasmie´ i, tbi współczynnik transformaty w i tym pasmie.´ Parametr wi jest to odwrotnos´c´ progów maskowania. Parametr PE został zdefiniowany przez Johnsona [76], a nast˛epnie opisany przez Paintera i Spaniasa [85]. PE zostało zdefiniowane jako miara własciwych´

103 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 informacji w sygnale audio. Jest to teoretyczna granica kompresowalnosci´ poszczególnego sygnału. Wyraza˙ si˛ew bitach na próbk˛e.

6.5 Algorytm BFOS i jego modyfikacje

6.5.1 Algorytm BFOS

Algorytm swoj ˛anazw˛ewywodzi od nazwisk Breiman, Friedman, Olshen i Stone (BFOS). Został on opisany w publikacjach [109, 91, 36]. Podejscie´ jest dosyc´ proste i wyróznia˙ si˛edwie strategie. Pierwsz ˛az nich jest: „daj bity najbardziej zniekształconemu pasmu”, a drug ˛a:„zabierz bity najmniej zniekształconemu pasmu”. Dla kodowania audio jako parametr zniekształcenia przyjmujemy NMR. Pierwsza strategia polega na przeszukaniu wszystkich pasm, znalezieniu pasma o najgorszym NMR. Nast˛epnie zmienia si˛e SF w znalezionym pasmie,´ tak by poprawic´ NMR. Procedur˛epowtarza si˛eiteracyjnie, az˙ nie zostanie osi ˛agni˛ety warunek poprawy wszystkich pasm do zadowalaj ˛acego poziomu (NMR < 0dB) lub zostanie osi ˛agni˛etypróg liczby bitów przeznaczonych na dan ˛aramk˛e.Druga strategia jest analogiczna do pierwszej, tylko poszukiwane jest pasmo o najlepszym NMR i współczynnik SF jest zmieniany w odwrotn ˛astron˛e,niz˙ przy strategii pierwszej. W działaniu algorytmu istotny tez˙ jest dobór wartosci´ pocz ˛atkowych (np. pocz ˛atkowe wartosci´ SF). W ramach prowadzonych prac przeanalizowano trzy strategie wyboru inicjuj ˛acych wartosci´ współczynników SF:

1. Wszystkie współczynniki SF s ˛austawiane na najnizsz˙ ˛awartos´c.´ Takie podejscie´ daje najmniejszy strumien´ bitowy i zarazem najsłabsz ˛ajakos´c´ d´zwi˛eku. Rozpoczynaj ˛acod małych wartosci´ SF, algorytm BFOS zwi˛ekszaje i poprawia jakos´c.´

2. Jest podejsciem´ odwrotnym do pierwszego. Współczynniki SF s ˛ainicjowane na wartosci´ maksymalne, co daje najlepsz ˛ajakos´c´ i bardzo wysok ˛aprzepływnos´c´ bitow ˛a.Nast˛epnie algorytm iteracyjnie zmniejsza SF tak, by spełnic´ warunek przepływnosci´ bitowej.

3. Na wst˛epie wykonywany jest algorytm ESF i od znalezionego współczynnika SF rozpoczyna si˛edziałanie algorytmu BFOS. W tym wariancie mozliwe˙ jest zmienianie wartosci´ SF w dół i w gór˛e.Zalezy˙ to od aktualnej przepływnosci´ bitowej. Jako warunek stopu wybrano ograniczon ˛aliczb˛eiteracji. Na koniec wybierany jest najlepszy rezultat pod wzgl˛edemmiary ANMR.

Z przetestowanych wariantów jedynie trzeci dawał korzystne wyniki. W przypadku dwóch pierwszych wariantów bardzo cz˛estozdarzały si˛esytuacje, gdy kilka pasm w ramce było zerowanych. Były to pasma w których był dosyc´ mały bł ˛adkwantyzacji i bity były przeznaczane na inne pasma. Przez takie podejscie´ jakos´c´ d´zwi˛eku była obnizona.˙ W przypadku wariantu trzeciego, rozkład bitów i wprowadzane poprawki były bardziej

104 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 równomierne, a przypadki zerowania pasm zdarzały si˛erzadziej. Wariant trzeci zdecydowanie przynosi najlepsz ˛ajakos´c´ w mierze ODG. W dalszych testach algorytm b˛edzieprzedstawiany własnie´ w tym wariancie.

6.5.2 Algorytm Enhanced BFOS

Nast˛epnym krokiem w rozwoju algorytmów alokacji bitów było rozwini˛ecieBFOS do algorytmu Enhanced BFOS (EBFOS) [113, 115, 92]. Wad ˛aalgorytmu BFOS jest to, ze˙ gdy algorytm poprawia najgorsze pasmo pod wzgl˛edemNMR, przeznaczenie wi˛ekszejliczby bitów na dane pasmo niekoniecznie poprawia globaln ˛aefektywnos´c´ całego algorytmu. Nowy algorytm nie skupia si˛ena najgorszym pasmie,´ które nast˛epnieb˛edzie poprawiac,´ ale na pasmie,´ w którym poprawa b˛edzienajwi˛ekszaw stosunku do przydzielonej dodatkowo liczby bitów. Z tego tez˙ powodu wprowadzono dwie miary:

NMR − NMR NGP B = ref new (6.17) bitsnew − bitsref

bits − bits BNPL = ref new (6.18) NMRnew − NMRref Miara NGPB (NMR gain per bit ratio) informuje, jak bardzo NMR poprawi si˛e w danym pasmie,´ jesli´ przeznaczymy na to pasmo jeden dodatkowy bit. Miara BPNL (bits per NMR loss ratio) pokazuje ile bitów zaoszcz˛edzimypogarszaj ˛acNMR o jednostk˛e. Dla tak sformułowanych miar mozna˙ przedstawic´ przebieg algorytmu EBFOS (przedstawiony takze˙ na rys. 6.8):

Rysunek 6.8: Diagram działania algorytmu EBFOS

105 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 1. Inicjalizacja zmiennych.

2. Znajdowanie lokalnego maksimum miary NGPB/BPNL — dla kazdego˙ pasma jest znajdowane maksimum dla róznych˙ SF zgodnie z wyrazeniami˙ ponizej:˙

  NMRref,i − NMRnew,i NGP BL,i = max ∀snew,i , (sref,i − ni) < snew,i ≤ sref,i Snew,i TBnew − TBref (6.19)   TBref − TBnew BPNLL,i = max ∀snew,i , sref,i < snew,i ≤ sref,i + ni Snew,i NMRnew,i − NMRref,i (6.20)

gdzie TBnew i NMRnew,i to odpowiednio liczba bitów potrzebna na zakodowanie całej

ramki i nowa wartos´c´ NMR po zmianie SF z sref,i do snew,i. Parametr ni jest to liczba

wartosci´ snew,i do przejrzenia. Autorzy proponuj ˛asprawdzenie wartosci´ 12.

3. Znajdowanie globalnego maksimum miary NGPB/BPNL — Algorytm przeszukuje wszystkie pasma i znajduje globalne maksimum miary NGPB/BPNL wsród´ znalezionych wczesniej´ lokalnych maksimów.

4. Dla znalezionego globalnego maksimum NGP Bg/BP NLg, któremu odpowiada

znalezione maksimum lokalne w pasmie´ sfbg aktualizuje si˛ewartos´c´ SF do wartosci´ SF dla znalezionego maksimum lokalnego.

5. Aktualizacja wartosci´ NMRref , sref , sfbg, TBref oraz przejscie´ do kroku drugiego jesli´ budzet˙ bitowy nie został przekroczony.

Autorzy algorytmu porównuj ˛acefektywnos´c´ kompresji algorytmów przedstawili wyniki zblizone˙ do działania algorytmu TRDO (z funkcj ˛aLagrange’a). Mozna˙ zatem przyj ˛ac,´ ze˙ algorytm EBFOS nie daje lepszych wyników pod wzgl˛edemjakosci´ od tego wykorzystuj ˛acego koszt TRDO.

6.5.3 Algorytm AEBAS

Algorytm AEBAS (Adaptive and Efficient Bit Allocation Scheme) – adaptacyjny i efektywny algorytm alokacji bitów jest rozwini˛eciemalgorytmu EBFOS. EBFOS moze˙ wymagac´ duzej˙ liczby iteracji w zalezno˙ sci´ od warunków pocz ˛atkowych. Rozwi ˛azaniemtego problemu jest algorytm AEBAS, który bierze pod uwag˛eróznic˛emi˛edzyobecnym˙ a docelowym budzetem˙ bitowym. Róznica˙ ta przeliczana jest na róznic˛e˙ SF, o jak ˛ama on byc´ zmieniany. Dla pojedynczego pasma SFB przedstawia si˛eto nast˛epuj˛aco:

106 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 6.9: Diagram algorytmu AEBAS – przyspieszonego EBFOS

  6 dla 24 ≤ ∆BPS   4 dla 12 ≤ ∆BP S < 24 ∆SF = (6.21)  2 dla 4 ≤ ∆BP S < 12   1 dla BP S < 4

∆BPS = |BPSref − BPScurrent| (6.22) gdzie BPS, to liczba bitów potrzebna do zakodowania pasma, BPSref to liczba bitów przeznaczonych na dane pasmo, a BPScurrent to liczba bitów potrzebna do zakodowania pasma dla wybranego SF. Diagram algorytmu (patrz rys. 6.9) niewiele rózni˙ si˛eod oryginalnego algorytmu EBFOS, z wyj ˛atkiemwyznaczania i stosowania róznych˙ wartosci´ ∆SF . Pozwala to na łatwiejsze dojscie´ do zakładanej przepływnosci´ bitowej. Algorytm AEBAS jest zatem przyspieszon ˛awersj ˛a EBFOS.

6.5.4 Algorytm bez uzycia˙ p˛etli

W 2005 roku E. Alextandre, A. Pena i M. Sobreira zaproponowali algorytm alokacji bitów bez uzycia˙ jakiejkolwiek p˛etli[14] – bez iteracji. Algorytm polega na oszacowaniu szumu kwantyzacji układu kwantuj ˛acego nierównomiernie, co pozwala na wyznaczenie współczynników kwantyzacji. Autorzy zrealizowali proponowany algorytm w koderze AAC. Według wyników podanych w publikacji [14], wyniki pod wzgl˛edem NMR s ˛aminimalnie lepsze od algorytmu TLS wykorzystywanego w modelu referencyjnym AAC.

107 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 6.6 Realizacja algorytmów alokacji bitów

6.6.1 Badanie algorytmu TRDO

Implementacja

Algorytm optymalizacji TRDO został zaimplementowany jako wariant algorytmu Viterbiego. Przebiega on iteracyjnie. W kazdej˙ iteracji potrzebne s ˛anast˛epuj˛acewartosci´ (dla kazdego˙ pasma):

• BRHCB – liczba bitów potrzebna do zakodowania biez˙ ˛acejksi ˛azki˙ kodowej,

• BRSF – liczba bitów potrzebna do zakodowania biez˙ ˛acego współczynnika kwantyzacji ScaleFactor,

• BRcoeff – liczba bitów potrzebna do zakodowania współczynników cz˛estotliwosciowych´ przy załozonej˙ ksi ˛azce˙ kodowej i SF,

• E lub NMR – wartos´c´ bł˛edukwantyzacji lub stosunek szumu kwantyzacji do progów maskowania dla obecnego SF.

Obliczanie dla kazdej˙ iteracji, dla kazdego˙ pasma wszystkich tych wartosci´ spowoduje bardzo wolne działanie kodera. W algorytmie zauwazono,˙ ze˙ cz˛es´c´ obliczen´ powtarza si˛ew kazdej˙ iteracji. Zgodnie z rys. 6.4 kazdy˙ stan, czyli par˛eparametrów SF, HCB dla okreslonego´ pasma SFB nazwano punktem i oznaczono p(SFB,SF,HCB). Zgodnie z działaniem kodera entropijnego cz˛es´c´ wartosci´ jest niezalezna˙ od poprzedniego pasma. Dla pojedynczego punktu takimi wartosciami´ s ˛a E lub NMR oraz BRcoeff . Z tego powodu obliczenia kosztów TRDO podzielono na trzy etapy: przygotowawczy, własciwy´ i koncowy.´

W etapie przygotowawczym s ˛aobliczane wyzej˙ wymienione wartosci.´ Wartos´c´ BRcoeff zalezy˙ od SF i HCB, przy czym dla okreslonego´ SF wartosci´ skwantowane s ˛azawsze takie same. Dla przyspieszenia obliczen´ wprowadzono uproszczenia. Dla okreslonego´ SF współczynniki s ˛akodowane jednokrotnie, a dla obliczonych wartosci´ po przeprowadzeniu rekonstrukcji, wyznaczany jest stosunek NMR. Dla danego punktu p(SFB,SF,HCB1) obliczana jest wartos´c´ BRcoeff przy uzyciu˙ pierwszej dost˛epnejksi ˛azki˙ kodowej (oznaczonej jako HCB1). Dla nast˛epnych punktów p(SFB,SF,HCB2...HCBk) nie ma potrzeby obliczania wartosci´ NMR, ani kwantowania współczynników, dlatego korzysta si˛e z tych obliczonych dla HCB1 i przeprowadza si˛esamo kodowanie entropijne dla ksi ˛azek˙ kodowych HCB2...HCBk. Na tych obliczeniach konczy´ si˛eetap przygotowawczy.

Etap własciwy´ jest odpowiedzialny za obliczanie wszystkich wartosci´ (BRHCB, BRSF ) zaleznych˙ od poprzedniego pasma oraz obliczanie kosztu całkowitego dla danego punktu i załozonego˙ parametru λ. Koszt jest obliczany wzgl˛edem N punktów z poprzedniego pasma.

108 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Zgodnie z algorytmem Viterbiego, jako punkt z poprzedniego pasma wybierany jest ten, który daje najmniejsz ˛awartos´c´ funkcji kosztu, a wska´znikw badanym punkcie na poprzednie pasmo jest ustawiany na znaleziony punkt. Etap własciwy´ jest procesem najbardziej wymagaj ˛acym

obliczeniowo, dlatego do wyznaczenia BRHCB i BRSF skorzystano ze strategii obliczen´ dla jednego pasma (opisanego w rozdz.6.7). Etap koncowy´ jest etapem znajdowania scie´ zki˙ powrotnej w algorytmie programowania dynamicznego. W ostatnim pasmie´ znajdowany jest punkt, dla którego koszt jest najmniejszy. Potem, według wska´znikówustawionych w etapie własciwym´ pobierana jest lista punktów oraz obliczana całkowita przepływnos´c´ bitowa dla danej ramki. Jesli´ przepływnos´c´ bitowa nie spełnia nałozonych˙ warunków, to parametr λ jest zmieniany i obliczenia s ˛apowtarzane od etapu własciwego.´ Jesli´ uzyskana przepływnos´c´ bitowa jest satysfakcjonuj ˛aca,to lista punktów zawiera wszystkie parametry, z jakimi powinna byc´ kodowana dana ramka audio.

Dobór parametrów przeszukiwania kraty

W opisanej powyzej˙ implementacji wymieniono dwa parametry odpowiedzialne za stopien´ przeszukiwania kraty: liczba k badanych ksi ˛azek˙ kodowych oraz N sprawdzanych punktów z pasma SFB − 1. Im wartosci´ parametrów s ˛awi˛eksze,tym koncowe´ wyniki algorytmu TRDO s ˛alepsze, jednakze˙ wymaga to znacznie wi˛ekszejliczby obliczen.´ Przeprowadzono doswiadczenia´ dla znalezienia wartosci´ N polegaj ˛acena kodowaniu sekwencji z róznymi˙ wartosciami´ N i sprawdzaniu wartosci´ koncowych´ ANMR i ODG oraz czasu kodowania sekwencji. Dla N = 10 stwierdzono, ze˙ czas kodowania jest akceptowalny, a zwi˛ekszaniewartosci´ N nie przynosi znacz ˛acejpoprawy. Wyniki dla 1452 ramek przedstawiono w tab. 6.1. W tab. 6.2 przedstawiono badania zalezno˙ sci´ jakosci´ zakodowanych sekwencji w mierze ODG od liczby k przeszukiwanych ksi ˛azek˙ HCB dla sekwencji m_ftb_samp. Jak widac,´ przeszukiwanie 3 − 4 ksi ˛azek˙ HCB daje wymierne korzysci´ w postaci poprawy HCB. Dla wi˛ekszejwartosci´ k nie zaobserwowano poprawy w ODG. Badania powtórzono dla innych sekwencji, uzyskuj ˛acpodobne wyniki. Przy dalszych badaniach w algorytmie TRDO uzyto˙ k = 3. Zgodnie z tym, co podano w rozdz. 3.1.2 w AAC kazdy˙ indeks HCB ma pewne ograniczenia zwi ˛azanez maksymalnymi wartosciami´ jakie mozna˙ uzy˙ c´ dla danej ksi ˛azki.˙ Wartosci´ małe mog ˛abyc´ kodowane z uzyciem˙ prawie kazdej˙ ksi ˛azki˙ kodowej, zas´ wartosci´ bardzo duze˙ za pomoc ˛ajednej ksi ˛azki˙ (11) z uzyciem˙ escape kodów. Przedstawiony powyzej˙ wybór k ksi ˛azek˙ kodowych polega na znalezieniu najmniejszego indeksu ksi ˛azki˙ kodowej mog ˛acejzakodowac´ dane współczynniki. Znaleziony indeks HCB odpowiada pierwszej ksi ˛azce˙ kodowej. Do analizy pobieranych jest k − 1 indeksów o kolejno wi˛ekszychwartosciach´ z maksymalnym ograniczeniem do 11.

109 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 N czas ANMR [dB] 2 5:30 0.93 3 6:33 0.66 4 8:14 0.54 5 9:22 0.45 6 10:26 0.40 7 11:43 0.37 8 12:48 0.34 9 13:50 0.34 10 16:00 0.33 11 16:57 0.33 12 17:00 0.31 13 19:10 0.31 14 19:45 0.31 15 19:32 0.31 20 23:59 0.31

Tablica 6.1: Zalezno˙ s´cliczby´ przeszukiwanych pasm N w kracie i uzyskiwanego poziomu sredniego´ NMR (ANMR)

k 1 2 3 4 5 6 7 8-11 ODG -2,913 -2,676 -2,655 -2,532 -2,54 -2,527 -2,51 -2,505

Tablica 6.2: Zalezno˙ s´cliczby´ k przeszukiwanych ksi ˛azek˙ HCB i uzyskanej jakosci´ ODG dla sekwencji m_ftb_samp.

Wprowadzenie wartosci´ typu skip

Wartosci´ ˛atypu skip (z j˛ezykaangielskiego przeskok) nazywamy (w przypadku kodowania audio) celowe wyzerowanie współczynników cz˛estotliwosciowych´ w okreslonym´ pasmie,´ tak by dane pasmo przy kodowaniu było pomini˛ete. Wł ˛aczenietakiej opcji do kraty TRDO pozwola koderowi na jeden dodatkowy wybór (pomini˛eciedanego pasma). Przeprowadzone badania wykazały jednak, ze˙ takie rozwi ˛azanienie przyniosło zauwazalnej˙ zmiany w procesie kodowania. Spowodowane jest to tym, ze˙ (przy przepływnosciach´ bitowych rz˛edu 32 ÷ 64kbit/s) cz˛estowartos´c´ wyzerowanego pasma i tak była rozwazana,˙ wi˛ecdodanie trybu skip nie wnosi de facto nowego punktu. Z kolei dla wyzszych˙ przepływnosci´ bitowych algorytm TRDO nie wybierał trybu skip, gdyz˙ nie poprawiało to kosztu RD.

Dopasowanie do krzywej maskowania

Analiza TRDO w algorytmie alokacji bitów, przy załozonej˙ przepływnosci´ bitowej, ma za zadanie minimalizowac´ miar˛eANMR. Na sredni´ ˛amiar˛eNMR wpływaj ˛azarówno pasma, których stosunek szum-maskowanie jest wi˛ekszyod 0dB, jak i znacznie mniejszy. Teoretycznie wszystkie sygnały i bł˛edykwantyzacji ponizej˙ progu maskowania s ˛aniesłyszalne dla człowieka.

110 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Z tego tez˙ powodu (teoretycznie) nie ma potrzeby kodowac´ takich pasm z NMR < 0dB i zmniejszac´ NMR. Wprowadzono zatem opcj˛e uniemozliwiaj˙ ˛ac˛apopraw˛e takich pasm jesli´ NMR[sb] < 0dB, co jest tozsame˙ z optymalizacj ˛amiary ANMRS(rozdz. 2.3). Przeprowadzone testy, których wyniki przedstawiono na rys. 6.10, pokazuj ˛ajednak, ze˙ takie podejscie´ skutkuje pogorszeniem jakosci´ kodowania. Jest to spowodowane tym, ze˙ podczas badania jakosci´ d´zwi˛eku,nie tylko NMR jest brane pod uwag˛e,ale istotny wpływ maj ˛ajeszcze inne własciwo´ sci´ d´zwi˛eku,o czym szerzej napisano w rozdz. 5.9.

Rysunek 6.10: Porównania działania kodera optymalizuj ˛acego miar˛eANMR i ANMRS dla dwóch modeli psychoakustycznych

6.6.2 Badanie algorytmu ESF

Wyj ˛atkowe sytuacje w kodowaniu

Z zasady algorytm ESF koduje wszystkie pasma z jednakowym SF. Jednakze˙ zdarzaj ˛a si˛ewyj ˛atkowe sekwencje, dla których zachodzi potrzeba wprowadzenia pewnych modyfikacji. Przykładem takiej sekwencji jest m_07electronic. Charakteryzuje si˛eona melodi ˛askładaj ˛ac˛a si˛e z pojedynczych, głosnych´ tonów. Widmo sygnału dla tonów jest bardzo w ˛askiei wysokoenergetyczne. Z tego tez˙ powodu zdarza si˛e, ze˙ dla znalezionego w algorytmie ESF współczynnika SF wartos´c´ współczynnika po kwantyzacji jest wi˛eksza od wartosci´ 8191. Zgodnie z norm ˛a,współczynnik jest wtedy obcinany do tej wartosci.´ Takie nasycenie jednakze˙ jest powodem duzego˙ bł˛edukwantyzacji, który wpływa negatywnie na obiektywn ˛ajakos´c´

111 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 d´zwi˛eku. Aby zabezpieczyc´ si˛eprzed takimi sytuacjami, w algorytmie ESF dodano moduł wykrywania nasycenia. W przypadku wykrycia, zmieniany jest SF dla danego pasma do poziomu, w którym nasycenie nie wyst ˛api. SF obliczany jest z formuły wyprowadzodnej z równania kwantyzacji (3.3):

16  − 3  SF = · log (8191 − 0.4054) · x 4 (6.23) max 3 2

6.6.3 Porównanie własciwo´ sci´ algorytmów alokacji bitów

Dopasowanie do krzywej maskowania

Dla porównania algorytmów modeli psychoakustycznych (rozdz. 5.9), wybrano algorytm najlepiej dopasowuj ˛acy si˛e do wyznaczonych krzywych maskowania. Aby taki znale´zc,´ zakodowano sekwencje algorytmami TRDO, BFOS, TLS i ESF oraz zmierzono poziom

ANMRframe dla kazdej˙ ramki i usredniono´ po wszystkich sekwencjach. Wyniki dla przepływnosci´ bitowej 64kbit/s przedstawiono w tab. 6.3

Algorytm ANMR[dB] ESF 0.50 TLS -0.58 BFOS -1.25 TRDO -3.05

Tablica 6.3: Porównanie mozliwo˙ sci´ algorytmów do dopasowywania si˛edo krzywych maskowania. Im mniejsza wartos´ctym´ lepsze dopasowanie.

Algorytm TRDO uzyskuje zdecydowanie najlepsze wyniki, dlatego został on wybrany do przeprowadzenia porównania modeli psychoakustycznych.

Analiza składu proporcji składowych w strumieniu AAC

Algorytmy alokacji bitów przyjmuj ˛arózne˙ strategie rozdziału bitów. Jak wspomniano w rozdz. 3.1.2, strumien´ bitowy AAC w wi˛ekszosci´ składa si˛ez zakodowanych współczynników cz˛estotliwosciowych´ oraz indeksów, SF i HCB. W zalezno˙ sci´ od strategii algorytmu, proporcje dla poszczegółnych algorytmów wygl ˛adaj˛aróznie.˙ Przeprowadzono test dla sekwencji, w którym zmierzono sredni´ ˛azawartos´c´ procentow ˛aposzczególnych składowych w strumieniu bitowym. Wyniki przedstawiono w tab. 6.4. Wartymi uwagi s ˛awyniki uzyskane dla ESF. Przeznacza on najnizsz˙ ˛aliczb˛ebitów na współczynniki SF (bo wszystkie s ˛atakie same, a s ˛akodowane róznicowo),˙ ale z kolei duz˙ ˛a liczb˛ebitów na zakodowanie ksi ˛azek˙ kodowych. Najmniejsz ˛aliczb˛ebitów przeznacza na indeksy HCB algorytm TRDO. Poniewaz˙ liczba bitów przeznaczonych na indeksy SF tez˙ jest stosunkowo mała, liczba bitów przeznaczona na współczynniki cz˛estotliwosciowe´ jest

112 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 skwantowane Algorytm sf [%] hcb[%] współczynniki[%] ESF 1.96 10.37 81.27 TLS 3.91 11.81 77.88 BFOS 8.68 7.52 76.41 TRDO 7.10 4.41 82.20

Tablica 6.4: Zawartos´c´ procentowa poszczególnych składowych w strumieniu AAC dla róznych˙ algorytmów. najwi˛eksza. ESF dzi˛ekizaoszcz˛edzonym bitom na indeksy SF takze˙ uzyskuje bardzo duz˙ ˛a liczb˛ebitów przeznaczonych na współczynniki cz˛estotliwosciowe,´ choc´ o ok 1% mniej niz˙ algorytm TRDO.

6.7 Kodowanie entropijne

W rozdz. 3.1.2 przedstawiono ogóln ˛azasad˛ekodowania entropijnego w AAC. W kazdym˙ algorytmie alokacji bitów kodowanie Huffmana jest obecne. Przy duzej˙ liczbie iteracji (np. w algorytmie TRDO), znaczenia nabiera nie tyle szybkos´c´ kwantyzacji, bo z t ˛aporadzono sobie przesuwaj ˛acj ˛ado etapu przygotowan,´ ale pr˛edkos´c´ kodowania binarnego. Dla przyspieszenia zoptymalizowano obliczanie kodów Huffmana [26]. Optymalizacj˛emozna˙ podzielic´ na t˛e dotycz ˛ac˛akodowania współczynników cz˛estotliwosciowych´ oraz SF i HCB.

6.7.1 Kodowanie współczynników cz˛estotliwosciowych´

Współczynniki kodowane s ˛a zgodnie z formułami przedstawionymi w normie. Skwantowane współczynniki cz˛estotliwosciowe´ s ˛akodowane w pasmach. Na pocz ˛atku znajdowany jest najwi˛ekszywspółczynnik w pasmie.´ Jest to konieczne do okreslenia´ jakie ksi ˛azki˙ kodowe b˛ed˛amogły kodowac´ dane pasmo. Po wyznaczeniu zestawu dost˛epnych ksi ˛azek˙ kodowych mozna˙ za pomoc ˛awybranej ksi ˛azki˙ zakodowac´ współczynniki w pasmie. W zalezno˙ sci´ od HCB, współczynniki s ˛agrupowane po dwa lub cztery. Z nich obliczany jest indeks zgodnie z formuł ˛apodan ˛aw normie. Indeks wyznacza słowo kodowe z danej HCB. Wyznaczenie słów kodowych nie stwarza wi˛ekszych problemów, poniewaz˙ słowa kodowe s ˛azalezne˙ tylko i wył ˛acznieod parametrów danego pasma (SF i HCB) i nie zalez˙ ˛aod pasm s ˛asiednich. Dla algorytmów TLS oraz ESF kodowanie współczynników cz˛estotliwosciowych´ zachodzi za kazdym˙ razem, gdy nast˛epujekodowanie danego pasma, poniewaz˙ przy kazdej˙ iteracji algorytmu wszystkie lub wi˛ekszos´c´ pasm jest zmieniana. W przypadku zaimplementowanych algorytmów TRDO i BFOS, kodowanie współczynników cz˛estotliwosciowych´ odbywa si˛eraz w etapie przygotowania. Kodowanie odbywa si˛edla

wszystkich pasm, dla SF z zakresu (SFmin ÷ SFmax). Jest to czasochłonne, jednakze˙

113 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 pozwala potem zaoszcz˛edzic´ zasoby obliczeniowe przy duzej˙ liczbie iteracji, jaka wyst˛epuje w algorytmach TRDO i BFOS.

6.7.2 Kodowanie współczynników kwantyzacji Scale Factor

Róznicowe˙ kodowanie współczynników Scale Factor zawsze wymaga znajomosci´ poprzedniego SF oraz wartosci´ ksi ˛azek˙ HCB. Dla zakodowania SF wyrózniamy˙ trzy scenariusze:

1. Kodowanie wszystkich pasm od pasma zerowego do ostatniego — pasmo zerowe kodowane jest jako Global Gain na osmiu´ bitach, a potem współczynniki kodowane róznicowo.˙ Przy kazdym˙ pasmie´ sprawdzany jest numer wybranej ksi ˛azki˙ kodowej. Jesli´ jest zerowy, to pasmo jest pomijane. Wyznaczona róznica˙ jest kodowana za pomoc ˛a odpowiedniej ksi ˛azki˙ kodowej. Taka procedura stosowana jest w algorytmach alokacji bitów ESF i TLS.

2. Kodowanie wszystkich pasm, az˙ do aktualnie kodowanego — jest to uproszczona wersja poprzedniego rozwi ˛azania.Jest prosta w realizacji, szybsza od poprzedniej dla algorytmów kwantuj ˛acych pojedyncze pasma w dowolnej kolejnosci.´

3. Od aktualnego pasma SFB jest poszukiwane wstecz pierwsze pasmo dla którego ksi ˛azka˙

kodowa jest niezerowa. Mi˛edzy SFprev ze znalezionego pasma SFBprev, a SF z pasma SFB obliczana jest róznica,˙ kodowana nast˛epniepoprzez kod z HCB. Metoda pozwala na kodowanie pojedynczego pasma w dowolnej kolejnosci.´ Wymaga liczenia i kodowania jednej róznicy,˙ ale dodatkowo takze˙ poszukania poprzedniego pasma o niezerowej ksi ˛azce˙ kodowej. Optymalizacja taka jest stosowana w algorytmach alokacji bitów TRDO i BFOS.

6.7.3 Kodowanie numerów ksi ˛azek˙ kodowych

Dla zakodowania ksi ˛azek˙ kodowych lub obliczenia potrzebnej liczby bitów do ich zakodowania potrzebne s ˛ainformacje na temat poprzednich ksi ˛azek.˙ Wyrózniamy˙ kilka scenariuszy do obliczenia potrzebnej liczby bitów:

1. Obliczanie dla wszystkich pasm. Potrzebn ˛aliczb˛e bitów brhcb liczymy koduj ˛acod najnizszego˙ pasma do najwyzszego.˙ Koduj ˛acw tej kolejnosci´ sprawdza si˛ejednoczesnie´ ile jest kolejnych powtórzen´ tej samej ksi ˛azki˙ kodowej, co pozwala na uwzgl˛ednianie liczby powtórzen´ w paczce (numer_hcb; liczba_powtorzen_hcb). Jest to najprostsze podejscie,´ które jest wydajne dla algorytmów alokacji bitów zmieniaj ˛acych wszystkie pasma w iteracji (jest stosowane np. w ESF i TLS). Dla algorytmów zmieniaj ˛acych pojedyncze pasmo, takie podejscie´ jest nieefektywne.

114 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 2. Podobnie jak przy kodowaniu Scale Factor mozliwe˙ jest obliczanie zapotrzebowania bitowego poprzez kodowanie od pasma zerowego do obecnie obliczanego. W przypadku algorytmów zmieniaj ˛acych tylko jedno pasmo to podejscie´ jest bardziej wydajne niz˙ w przypadku 1.

3. Mozliwa˙ jest tez˙ aktualizacja dla pojedynczego pasma oraz sprawdzanie wpływu na inne pasma. Taki algorytm mozna˙ przedstawic´ nast˛epuj˛aco(przypadek przedstawiony dla okien długich, dla krótkich analogicznie):

• jezeli˙ SFB == 0, to br = 9, gdzie br to liczba bitów potrzebna do zakodowania HCB w danym pasmie,´ • jezeli˙ SF B < 32, to licznik powtórzen´ nie przekroczy maksymalnej wartosci.´ Zatem jest potrzeba sprawdzenia tylko pasma poprzedniego. Jesli´ w poprzednim pasmie´ SFB − 1 HCB jest identyczna, to br = 0, w przeciwnym przypadku w pasmie´ SFB jest nowa ksi ˛azka˙ i br = 9, • jezeli˙ SFB ≥ 32 wtedy limit powtórzen´ moze˙ zostac´ wyczerpany, zatem jest potrzeba sprawdzania liczby powtórzen.´ Zaczynaj ˛acod pasma SFB algorytm szuka, po kolejnych pasmach wstecz, pierwszego pasma dla którego wartos´c´ HCB jest rózna˙ od obecnej ksi ˛azki˙ kodowej. Jesli´ licznik powtórzen´ 1 < rc < 32, oznacza to, ze˙ nie ma potrzeby ustawiania nowej paczki, zatem br = 0. Jezeli˙ rc == 32 lub rc == 1, to oznacza, ze˙ w danym pasmie´ nast ˛apiłopierwsze powtórzenie po przekroczeniu limitu i trzeba przyznac´ na kodowanie dodatkowe 9 bitów. Jesli´ rc > 32, to nast ˛apiłowi˛ecejpowtórzen´ niz˙ limit, ale dodatkowa paczka została dodana wczesniej,´ zatem na pasmo SFB przeznacza si˛e 0 bitów. Dodatkowo w przypadku zmiany ksi ˛azki˙ kodowej w jednym z srodkowych´ (niepierwszym i nieostatnim) pasm trzeba sprawdzic,´ jaki to ma wpływ na licznik powtórzen´ w kolejnych pasmach. Taki algorytm jest stosowany dla metod TRDO i BFOS.

Dla algorytmów alokacji bitów w których zmieniane jest jedno pasmo w iteracji (BFOS, EBFOS) oraz TRDO dla obliczenia przepływnosci´ bitowej dla całej ramki, oblicza si˛edwie wielkosci:´

brold = brcoef_old + brsf_old + brhcb_old (6.24)

brnew = brcoef_new + brsf_new + brhcb_new (6.25) które oznaczaj ˛aodpowiednio przepływnos´c´ bitow ˛aprzed i po zmianach przepływnosci´ w danym pasmie.´ Zatem zmiana przepływnosci´ bitowej równa jest brold − brnew i o tak ˛awielkos´c´ zmienia si˛ewartos´c´ przepływnosci´ bitowej ramki.

115 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 6.7.4 Porównanie technik optymalizacji kodowania Huffmana

Przedstawione powyzej˙ algorytmy porównano pod wzgl˛edem złozono˙ sci´ obliczeniowej oraz czasu wykonywania w zrealizowanych implementacjach. W tab. 6.5 i tab. 6.6 przedstawiono odpowiednio złozono˙ s´c´ obliczeniow ˛adla algorytmów BFOS i TRDO przed i po optymalizacji. Optymalizacje podzielono na poszczególne cz˛esci:´ współczynników cz˛estotliwosciowych,´ współczynników kwantyzacji SF oraz numerów ksi ˛azek˙ kodowych HCB.

brcoef brhcb brsf bez optymalizacji IT x SFB IT x SFB IT x SFB zoptymalizowane SFB x N IT x 3 x 2 IT x 3 x 2 poprawa IT/N ' 5 ÷ 15 SFB/6 ' 8 SFB/6 ' 8

Tablica 6.5: Zmniejszenie złozono˙ sci´ obliczeniowej przy zastosowaniu optymalizacji kodowania Huffmana dla algorytmu alokacji bitów BFOS

brcoef brhcb i brsf bez optymalizacji (N + N · L · (SFB − 1)) · IT (N + N · L · (SFB − 1)) · SFB · IT zoptymalizowane SFB · N (N + N · L · (SFB − 1)) · IT poprawa L · IT ' 1k ÷ 3k SFB

Tablica 6.6: Zmniejszenie złozono˙ sci´ obliczeniowej przy zastosowaniu optymalizacji kodowania Huffmana dla algorytmu alokacji bitów TRDO

W tabelach uzyto˙ nast˛epuj˛acych oznaczen:´

• IT – liczba iteracji jak ˛awykonuje dany algorytm,

• SFB – liczba pasm cz˛estotliwosciowych´ do przeanalizowania,

• N – liczba przeanalizowanych punktów – liczba SF brana pod uwag˛e(patrz rozdz. 6.6.1),

• L – liczba sprawdzanych SF z poprzedniego pasma wraz z kosztem przejscia´ do obecnego pasma (patrz rozdz. 6.6.1),

• BRcoef – złozono˙ s´c´ obliczania przepływnosci´ bitowej dla współczynników cz˛estotliowosciowych,´

• BRhcb – złozono˙ s´c´ obliczania przepływnosci´ bitowej dla kodowania ksi ˛azek˙ kodowych,

• BRsf – złozono˙ s´c´ obliczenia przepływnosci´ bitowej dla współczynników kwantyzacji ScaleFactor.

116 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Jak widac,´ dla algorytmów BFOS, EBFOS zastosowanie opisanych wyzej˙ optymalizacji pozwala na zmniejszenie złozono˙ sci´ obliczeniowej od kilku do kilkunastu razy, kosztem wprowadzenia dodatkowych obliczen.´ Dla algorytmu TRDO przyrost wydajnosci´ jest jeszcze wi˛ekszy. Dla współczynników cz˛estotliwosciowych´ wynosi kilka tysi˛ecy razy, a dla SF i HCB, w zalezno˙ sci´ od liczby pasm niezerowych sygnału, do kilkudziesi˛eciurazy. Dla algorytmów TLS i ESF nie stosuje si˛epowyzszych˙ optymalizacji bo zakłada si˛e, ze˙ kazda˙ iteracja zmienia wszystkie pasma, zatem stosowana jest metoda koduj ˛acawszystkie pasma po kolei. Dla sprawdzenia wydajnosci´ optymalizacji przeprowadzono testy na komputerze PC z procesorem Intel Core 2 Quad, o cz˛estotliwosci´ taktowania 2.83GHz z 8GB pami˛eci RAM. Aplikacja kodera działała tylko na jednym rdzeniu procesora pod kontrol ˛asystemu operacyjnego MS Windows 8.1 x64.

optymalizacja czas brcoef brhcb brsf nie nie nie nie zmierzono tak nie nie 1700s tak tak tak 160s

Tablica 6.7: Wyniki czasowe zastosowanych optymalizacji dla algorytmu TRDO dla 5s sekwencji muzycznej.

W tab. 6.7 przedstawiono wyniki dla algorytmu TRDO. S ˛ato przykładowe wyniki dla 5s sekwencji muzycznej. Kodowanie dla wył ˛aczonych wszystkich optymalizacji było na tyle długie, ze˙ nie zostało zmierzone. Szacuje si˛e, ze˙ czas obliczen´ wynosiłby kilka godzin.

Dla wł ˛aczonejsamej optymalizacji liczenia brcoef , czyli przeniesienia obliczen´ do etapu przygotowan,´ czas kodowania wyniósł 1700s. Jest to duze˙ przyspieszenie. Wł ˛aczaj˛ac dodatkowo optymalizacje brhcb i brsf zyskuje si˛eok. 10-krotne przyspieszenie. Dla algorytmów z rodziny BFOS przeprowadzono podobne testy, jednakze˙ nie zaobserwowano jakiegokolwiek przyspieszenia. Prawdopodobnie czas zyskany na ograniczeniu liczby pasm, na których przeprowadzone jest kodowanie binarne, zostaje stracony na dodatkowych operacjach potrzebnych dla poprawnego obliczenia przepływnosci´ bitowej. Mimo to, przedstawiona optymalizacja algorytmu da si˛eefektywnie zaimplementowac´ w strukturach sprz˛etowych, poniewaz˙ mozliwe˙ jest uaktualnianie i przeliczanie wartosci´ dla wymaganych pasm równolegle. Szacuje si˛e, ze˙ znalezienie pasm zajmie srednio´ kilka-kilkanascie´ cykli zegarowych. Przedstawione algorytmy nie zostały optymalizowane pod wzgl˛edemkodu programu.

117 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Podsumowanie

W rozdziale przedstawiono rózne˙ algorytmy alokacji bitów. Przedstawiono zasad˛e działania rodzin algorytmów, opisanych w literaturze: podwójnej p˛etliprzeszukiwania (TLS), algorytm optymalizacji na kracie z uzyciem˙ kosztu RD (TRDO), BFOS oraz ich modyfikacji. Przedstawiono autorski algorytm z równymi współczynnikami kwantyzacji (ESF), który nie wykorzystuje modelu psychoakustycznego, modyfikacje algorytmu TLS oraz implementacj˛e i parametryzacj˛e algorytmu TRDO. Sposród´ przedstawionych algorytmów wybrano TRDO jako najlepiej minimalizuj ˛acy sredni´ poziom szumu kwantyzacji wzgl˛edemkrzywych maskowania wyznaczanych przez model psychoakustyczny. Na koniec przedstawiono zasad˛e działania algorytmu kodowania entropijnego oraz jego optymalizacje mozliwe˙ do zastosowania w zaimplementowanych algorytmach alokacji bitów.

118 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozdział 7

Wyrównywanie poziomów energii

W mierze PEAQ powszechnie uzywana˙ w modelach psychoakustycznych miara stosunku szumu kwantyzacji do maskowania NMR jest tylko jedn ˛aze składowych miary jakosci´ wyrazanej˙ w ODG. Doswiadczenia´ opisane w rozdz. 5.9 pokazały takze,˙ ze˙ sama optymalizacja NMR nie wystarczy do osi ˛agni˛eciazadowalaj ˛acych wyników. W narz˛edziuPEAQ zastosowano takze˙ inne niz˙ NMR miary składowe. Mozna˙ zauwazy˙ c,´ ze˙ cz˛es´c´ z tych miar zalezy˙ od poziomu energii sygnału oryginalnego i po rekonstrukcji/zdekodowaniu, wyrazanych˙ cz˛esto jako stosunek lub róznica˙ tych energii. Do tych miar nalez˙ ˛a:

˜ ˜ • obliczanie róznicy˙ pomi˛edzywartosciami´ EsR i EsT w obliczaniu miar TotalNMR i RelDistFrames,

• miara struktury harmonicznej bł˛eduEHS; w Równaniu (2.9) obliczany jest stosunek energii pr ˛azków˙ cz˛estotliwosciowych,´

• w stosunku w Równaniu (2.26) maj ˛acym wpływ na miar˛egłosno´ sci´ RmsNoiseLoud,

• miary modulacji (wszystkie) – kazdy˙ stosunek lub róznica˙ energii rózna˙ od jednosci´ powoduje pogorszenie miar modulacji – Równania (2.14) i (2.18),

• miary prawdopodobienstwa´ wykrycia (MFPD oraz ADB) – wykorzystywana jest róznica˙ rozproszonych energii sygnału referencyjnego i rekonstruowanego (równanie (2.37)).

Stosunek lub róznica˙ energii ma wpływ na 9 z 11 składowych ODG. Mozna˙ zatem przyj ˛ac´ załozenie,˙ ze˙ wyrównanie stosunku energii pozwoli na poprawienie jakosci´ kodowania. Podobne wnioski zastosowano podczas projektowania kodera Opus. W module CELT, w cz˛esci´ kwantyzacji najpierw kwantowana jest obwiednia sygnału, a nast˛epnieszczegóły dotycz ˛aceposzczególnych współczynników. Takze˙ w koderze FAAC jest dodatkowe narz˛edzie odpowiedzialne za wyrównywanie wspomnianego stosunku energii. Twórcy FAAC nazwali je algorytmem równowazenia˙ energii (Balance Energy). W niniejszej rozprawie oraz cz˛esciowo´

119 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 w [30] przedstawionych zostało kilka metod wyrównywania poziomów energii, dlatego tez˙ algorytm zaproponowany w FAAC został nazwany Balance Energy Scale Factors (BESF).

7.1 Metoda BESF

Załozeniem˙ algorytmu jest wyrównanie poziomu energii poprzez zmian˛e wartosci´ SF podawanego do strumienia audio. Algorytm przebiega nast˛epuj˛aco:

1. kwantyzacja przy uzyciu˙ SF,

2. rekonstrukcja sygnału poprzez proces dekwantyzacji,

3. obliczenie stosunku energii sygnału oryginalnego i po rekonstrukcji Eorg/Erec,

4. wyznaczenie zmiany współczynnika SF jak ˛atrzeba przeprowadzic´ by stosunek energii był blizszy˙ jednosci,´ przy jednoczesnym pozostawieniu skwantowanych współczynników cz˛estotliwosciowych´ bez zmian.

Wyznaczenie, o jak ˛awartos´c´ nalezy˙ zmienic´ współczynnik SF przebiega nast˛epuj˛aco:

3 1 !2  2 − SFbest en0 xorig q 4 · 2 4 − 1 (SF −SF ) = = = 2 2 best q . (7.1) 3 − 1 SF enq xq q 4 · 2 4 q

Niech ∆SF = SFbest − SFq, wtedy

en  1 log 0 = − ∆SF. (7.2) enq 2

Wyznaczamy ∆SF : en ren  ∆SF = −2 log 0 = log q (7.3) enq en0 Ostatecznie wartos´c´ aktualnego SF trzeba zmienic´ w strumieniu o wartos´c:´

 ren   ∆SF = log q + 0.5 . (7.4) en0

7.2 Metoda BEOF

7.2.1 Opis metody

Cel tej metody jest identyczny z celem BESF. W BESF zmianie podlegał współczynnik SF, zas´ w prezentowanym algorytmie zmianie podlegaj ˛askwantowane współczynniki. Przed zaokr ˛agleniemwyniku kwantyzacji do współczynników dodawany jest pewien offset. Z tego

120 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 powodu metoda ta został ˛anazwana Balance Energy Offset (BEOF). Dla kazdego˙ pasma SFB, algorytm przebiega w nast˛epuj˛acy sposób:

1. Kwantowane s ˛awszystkie współczynniki, przy czym nie przeprowadza si˛eostatecznego zaokr ˛aglaniaw dół, które wyst˛epujew formule kwantyzacji 3.3.

2. Na uzyskanych współczynnikach przeprowadza si˛ezaokr ˛aglaniew dół.

3. Przeprowadza si˛erekonstrukcj˛ewspółczynników.

4. Wyznacza si˛estosunek poziomów energii oryginalnej z kroku 2. i po rekonstrukcji z kroku 3.

5. Jesli´ stosunek energii jest zblizony˙ do wartosci´ 1, to oznacza to zakonczenie´ obliczen´ i wyjscie´ z algorytmu. W przeciwnym przypadku przechodzi si˛edo nast˛epnego kroku.

6. Wyznaczany jest potrzebny kierunek zmian: tzn. czy energia rekonstrukcji powinna wzrastac,´ czy malec.´

7. Dla obranego kierunku zmian szuka si˛enajmniejszej wartosci´ offsetu, jaki musi byc´ dodana/ odj˛etaod współczynników z kroku 1., by przynajmniej jeden współczynnik w pasmie´ zmienił swoj ˛awartos´c.´

8. Nast˛epuje dodanie/odj˛ecieoffsetu do/od skwantowanych współczynników z kroku 1.

9. Nast˛epuje przejscie´ do kroku 2.

Dodatkowym warunkiem stopu moze˙ byc´ liczba iteracji przebiegu algorytmu lub nizsza˙ od zadanego progu wielkos´c´ zmiany stosunku energii. Dla poprawnego działania algorytmu sprawdzany jest jeszcze przypadek, aby podczas dodawania/odejmowania offsetu do współczynnika nie zmienił on znaku, poniewaz˙ generowałoby to zmian˛estosunku energii w przeciwn ˛astron˛eniz˙ poz˙ ˛adana. Podczas testów zaobserwowano szczególny przypadek, gdy poprzez dodanie minimalnego offsetu wartos´c´ stosunku energii zmienia si˛eznacz ˛aco.Przykładem moze˙ byc´ pasmo w którym energia po kwantyzacji wynosi zero. Zatem stosunek energii tez˙ jest równy zero, a po dodaniu offsetu moze˙ wynies´c´ nawet od 2 do 3. Dla takich przypadków sprawdzono, dla danego pasma dodatkowo algorytm BESF. Wyrównanie poziomu energii poprawia si˛ew danym pasmie,´ lecz nie ma to wi˛ekszego wpływu na ostateczn ˛awartos´c´ obiektywnej jakosci´ d´zwi˛eku,gdyz˙ na testowanych sekwencjach takie przypadki były sporadyczne.

121 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 7.2.2 Wł ˛aczniemetody BEOF do algorytmu TRDO

Aby wł ˛aczyc´ metod˛e BEOF do algorytmu alokacji bitów TRDO sprawdzono kilka wariantów implementacji. Po pierwsze rozszerzono krat˛eo dodatkowy wymiar uwzgl˛edniaj˛acy dwie opcje: BEOF wył ˛aczony i wł ˛aczony. Algorytm TRDO za pomoc ˛aswojej funkcji kosztu wybiera odpowiedni ˛a opcj˛e. Praktyka wykazała jednak, ze˙ funkcja kosztu uwzgl˛edniaj˛acaprzepływnos´c´ bitow ˛ai NMR wybierała prawie zawsze wył ˛aczenieBEOF, gdyz˙ dawało to lepsz ˛amiar˛eNMR. Kolejn ˛a wad ˛atakiego rozwi ˛azania jest tez˙ to, ze˙ dodanie nast˛epnego wymiaru w kracie, znacz ˛aco spowalnia kodowanie. Drugim podejsciem´ jest wł ˛aczeniena stałe modułu BEOF. Nie spowalnia znacz ˛aco kodowania, poniewaz˙ krata pozostaje bez zmian, a sam algorytm BEOF nie wymaga wielu obliczen.´ Przedstawione nizej˙ eksperymenty pokazały, ze˙ takie podejscie´ daje najlepsze rezultaty (opisane w Rozdz 7.5). Trzecie podejscie´ opisano w rozdz. 7.3.1. Nie daje ono jednak znacz ˛acejpoprawy z punktu widzenia jakosci.´ Algorytm ma wiele iteracji, co wielokrotnie wydłuza˙ obliczenia.

7.3 Metoda BEOFC

Metoda BEOF Cofficient jest wariantem algorytmu BEOF. Polega równiez˙ na zmianie wartosci´ współczynników po kwantowaniu, lecz według innych kryteriów. Opracowano trzy wartianty tej metody.

7.3.1 Wariant pierwszy

W pierwszym wariancie zmiany w stosunku do BEOF s ˛anast˛epuj˛ace:

• algorytm bada wszystkie mozliwe˙ kombinacje dodawania/odj˛ecia offsetu do współczynników,

• kierunek zmiany współczynnika jest dobierany dla kazdego˙ osobno, w przeciwienstwie´ do BEOF, gdzie był dobierany wspólnie dla całego pasma,

• algorytm przebiega iteracyjnie badaj ˛acwszystkie mozliwo˙ sci´ i wybieraj ˛acna koniec najlepszy wynik za pomoc ˛ajednego z kryteriów (podanego nizej).˙

Zaproponowane kryteria wyboru najlepszego wyniku:

1. najlepsza poprawa przepływnosci´ bitowej,

2. najlepsza poprawa stosunku energii oryginalnej do rekonstrukcji,

122 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 3. najlepsza poprawa bł˛edukwantyzacji,

4. najlepsza poprawa stosunku energii oryginalnej do rekonstrukcji przy nie pogorszonym bł˛edziekwantyzacji i nie pogorszonej przepływnosci´ bitowej,

5. najlepsza poprawa funkcji kosztu c = λ · BR + Eorg/Erec.

Niestety podejscie´ to jest za mało efektywne, poniewaz˙ dla n > 2 dla górnych pasm, które maj ˛a po kilkadziesi ˛atwspółczynników cz˛estotliwosciowych,´ liczba iteracji wzrasta (np. dla pasma o długosci´ 32 współczynników b˛edzieto 231 ≈ 2 · 109 mozliwo˙ sci),´ tak ze˙ obliczenia trwaj ˛aza długo, by w rozs ˛adniekrótkim czasie przeprowadzic´ kodowanie.

7.3.2 Wariant drugi

Drugi wariant bazuje na pierwszym i pozwala przyspieszyc´ jego działanie poprzez zmniejszenie liczby iteracji. Dla osi ˛agni˛ecia tych celów wprowadza si˛e nast˛epuj˛ace modyfikacje:

• wprowadzenie górnego limitu zmienianych współczynników cz˛estotliwosciowych´ oznaczonego jako k,

• algorytm przebiega iteracyjnie, badaj ˛acwszystkie mozliwo˙ sci´ dla maksymalnie k zmienionych współczynników i wybieraj ˛acna koniec najlepszy wynik za pomoc ˛a jednego z kryteriów przedstawionych w pierwszym wariancie. Dla tego wariantu liczba iteracji wynosi:

k X N iter = . (7.5) i i=0

Mimo wprowadzenia ograniczenia w liczbach iteracji z wariantu pierwszego, w drugim nadal nie s ˛amozliwe˙ obliczenia we wzgl˛edniekrótkim czasie.

7.3.3 Wariant trzeci

Trzeci wariant jest modyfikacj ˛adrugiego. Celem jest przeprowadzenie algorytmu BEOFC na maksymalnie n współczynnikach. Dla pomini˛ecia duzej˙ liczby iteracji, wyst˛epuj˛acej nadal w wariancie drugim, najpierw wybiera si˛e n najlepszych kandydatów do zmian. Jako kryterium przyjmuje si˛ewielkos´c´ offsetu potrzebnego do dodania/odj˛eciaby współczynnik zmienił wartos´c.´ Im mniejsza wartos´c,´ tym lepiej. Tak samo jak w pierwszym wariancie, kierunek zmian wybierany jest dla kazdego˙ współczynnika osobno. Nast˛epnieszuka si˛e n współczynników, które potrzebuj ˛anajmniejszej zmiany poprzez dodanie/ odj˛ecie(zgodnie z

123 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 wczesniej´ wyznaczonym kierunkiem) offsetu. Jednakze˙ stawia si˛eograniczenie, aby znaleziony offset nie przekroczył wartosci´ krytycznej OFFthr. Po dodaniu/odj˛eciuoffsetów dla wszystkich wyznaczonych współczynników, koduje si˛esekwencje. Operacj˛epowtarza si˛eiteracyjnie dla wszystkich współczynników. Najlepszy rezultat wybiera si˛eza pomoc ˛ajednego z kryteriów podanych dla pierwszego wariantu.

7.3.4 Analiza kryteriów wyboru najlepszego wyniku

Dla przedstawionych ponizej˙ testów wariantu trzeciego, jako dane wejsciowe´ wybrano współczynniki po przeprowadzonym BEOF. Przebadano kryteria wyboru najlepszych wyników w algorytmie BEOFC. Wybór poprawy przepływnosci´ bitowej zawsze skutkował pogorszeniem jakosci´ w mierze ODG i znacz ˛acym zmniejszeniem przepływnosci´ bitowej, poniewaz˙ to było jedyne kryterium. Poprawa bł˛edukwantyzacji takze˙ nie daje zadowalaj ˛acych wyników, poniewaz˙ oprócz poprawy NMR inne parametry (przepływnos´c´ bitowa, stosunek energii) nie s ˛apoprawiane. Dla przetestowanych sekwencji warunek czwarty był spełniany sporadycznie, dlatego tez˙ wybór wyników BEOFC był na tyle rzadki, ze˙ własciwie´ nie miał wpływu na wyniki. Warunki drugi i pi ˛atydaj ˛apolepszenie jakosci.´ Warunek pi ˛atyjest uogólnieniem warunku drugiego (gdzie λ = 0). Oba warunki promuj ˛a rozwi ˛azania, w których stosunek energii poprawia si˛e. Dodatkowo warunek pi ˛atydopuszcza przypadek minimalnego pogorszenia przepływnosci´ bitowej jesli´ stosunek energii poprawia si˛ewyra´znie. Przeprowadzono testy dla róznych˙ konfiguracji. Na rys. 7.1 pokazano dwie konfiguracje BEOFC oraz, dla porównania, uzyskane wyniki dla ESF. W tab. 7.1 przestawiono uzyte˙ konfiguracje.

BEOFC BEOFC2 kryterium 5 5 λ 0.1 0 n 4 2 OFFthr 0.15 1

Tablica 7.1: Przykładowe uzyte˙ konfiguracje BEOFC

Pod wzgl˛edemczasu obliczen,´ jedynym słusznym wyborem sposród´ zaprezentowanych wersji BEOFC jest wariant trzeci. Z przedstawionych wyników z rys. 7.1 widac,´ ze˙ jest mozliwy˙ taki dobór parametrów BEOFC, by poprawic´ srednie´ wyniki dla wybranych sekwencji. Jednakze˙ poprawa, jak ˛audało si˛euzyskac´ jest minimalna. Mozna˙ z tego wyci ˛agn˛ac´ wniosek, ze˙ zastosowanie BEOFC minimalnie poprawia jakos´c´ kodowania, jednak dodatkowy nakład obliczeniowy sprawia, ze˙ metoda ta jest nieatrakcyjna.

124 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 7.1: Przykładowe uzyte˙ konfiguracje algorytmu BEOFC dla algorytmu ESF

7.4 Zerowanie wybranych pasm

W kodowaniu audio zauwazono˙ nast˛epuj˛acoprawidłowos´c:´ cz˛estopojawiaj ˛asi˛eprzypadki, w których, w koncowych´ pasmach, maj ˛acych najwi˛ecejwspółczynników (np. po 32) zdarzaj ˛a si˛esekwencje samych zer oraz sporadyczne wartosci´ niezerowe, cz˛estooscyluj ˛acewokół zera. Jesli´ takie pasmo po kwantyzacji zawiera choc´ jedn ˛awartos´c´ niezerow ˛a,to dla zakodowania go potrzebne jest kodowanie paczek współczynników, osobno wartos´c´ współczynnika SF oraz numer ksi ˛azki˙ HCB. Gdyby w takim pasmie´ wyzerowac´ współczynniki mozliwe˙ byłoby zaoszcz˛edzenie bitów i przeznaczenie ich na inne pasma. Metod˛e zaimplementowano z mozliwo˙ sci´ ˛auzycia˙ kilku parametrów:

• zer val – maksymalna wartos´c´ jaka ma byc´ zerowana,

• min sfb – pierwsze pasmo SFB od którego ma byc´ stosowana metoda,

• thr last – maksymalna liczba wyst ˛apien´ wartosci´ zer val w osatnim niezerowym pasmie,´ ponizej˙ której pasmo zostanie wyzerowane,

• thr not last – maksymalna liczba wyst ˛apien´ wartosci´ zer val w pasmie´ mi˛edzy min sfb, a ostatnim niezerowym, ponizej˙ której pasmo zostanie wyzerowane,

Przy uzyciu˙ algorytmu zakodowano sekwencje testowe. W tab. 7.2 przedstawiono kilka konfiguracji wykorzystanych w testach. Opisane konfiguracje przetestowano na sekwencjach, a wyniki przedstawiono na rys. 7.2, zamieszczaj ˛actakze˙ wyniki dla samego algorytmu ESF i ESF z uzyciem˙ BEOF. Najlepsze

125 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 konfiguracja zer val min sfb thr last thr not last „zer1” 1 38 1 2 „zer2” 1 30 1 3 „zer3” 1 20 1 2 „zer4” 2 35 0 5 „zer5” 2 35 2 5 „zer6” 1 35 0 5

Tablica 7.2: Konfiguracje modułu zerowania pasma uzyte˙ w testach

Rysunek 7.2: Wyniki testów stosowania zerowania w wybranych pasmach przy uzyciu˙ algorytmu ESF rezultaty otrzymano dla konfiguracji „zer4”, jednakze˙ poprawa wynosi jedynie 0.021 wzgl˛edem sredniej´ i 0.022 wzgl˛edemmediany. Mozna˙ zatem uznac,´ ze˙ metoda ta nie daje znacz ˛acej poprawy.

7.5 Testy algorytmów BESF oraz BEOF

Dla sprawdzenia skutecznosci´ działania algorytmów BESF i BEOF przeprowadzono testy. Na rys. 7.3, 7.4, 7.5, 7.6 przedstawiono histogramy stosunków energii oryginalnej i po rekonstrukcji. Na pierwszym z podanych rysunków pokazany jest histogram bez uzycia˙ narz˛edziwyrównywania energii. Drugi rysunek przedstawia przypadek uzycia˙ BESF, trzeci BEOF, a czwarty kaskady BESF i BEOF.

126 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 7.3: Histogram stosunku energii oryginalnej i po rekonstrukcji dla przypadku nie uzywania˙ narz˛edziwyrównywania energii

Rysunek 7.4: Histogram stosunku energii oryginalnej i po rekonstrukcji dla przypadku uzycia˙ BESF

Rysunek 7.5: Histogram stosunku energii oryginalnej i po rekonstrukcji dla przypadku uzycia˙ BEOF

127 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 7.6: Histogram stosunku energii oryginalnej i po rekonstrukcji dla przypadku uzycia˙ kaskady BESFOF

Rysunek 7.7: Porównanie algorytmów wyrównywania energii dla ESF

Dla wszystkich konfiguracji stosunki energii s ˛askupione wokół wartosci´ równej 1. Porównuj ˛acdo przypadku braku uzycia˙ wyrównywania poziomów energii uzycie˙ BESF pozwala na lepsze skupienie energii i obci˛ecieogonów w histogramie. Z kolei uzycie˙ BEOF pozwala na jeszcze lepsze skupienie histogramu jednak bez obci˛eciaogonów. Uzycie˙ kaskady BESFOF daje podobne wyniki do BEOF z tym, ze˙ ogony histogramu zostaj ˛aobci˛ete. Prezentowane metody wypróbowano na sekwencjach testowych. Na rys. 7.7, 7.8 7.9, 7.10 przedstawiono wyniki kodowania z uzyciem˙ róznych˙ algorytmów alokacji bitów, odpowiednio CLS, TLS, BFOS i TRDO. W kazdym˙ przypadku mozna˙ zaobserwowac,´ ze˙ uzycie˙ BEOF lub BESF poprawia wyniki kodowania. Przedstawiono takze˙ wyniki dla kaskadowego uzycia˙ BESF i BEOF. Wyniki jednak wykazuj ˛a, ze˙ uzycie˙ kaskady nie poprawia wyników w stosunku do zastosowania np. samego BEOF.

128 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 7.8: Porównanie algorytmów wyrównywania energii dla TLS

Rysunek 7.9: Porównanie algorytmów wyrównywania energii dla BFOS

Zaprezentowane wyniki dowodz ˛a, ze˙ narz ˛adsłuchu w duzej˙ mierze jest wrazliwy˙ na poziom energii w pasmach krytycznych. Dzi˛ekiwykorzystaniu tego zjawiska uzyskuje si˛e popraw˛ejakosci´ d´zwi˛eku.

129 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 7.10: Porównanie algorytmów wyrównywania energii dla TRDO

Podsumowanie

W rozdziale zaproponowano algorytm wyrównywania poziomów energii w pasmach cz˛estotliwosciowych´ mi˛edzy energi ˛a sygnału oryginalnego, a energi ˛a sygnału zrekonstruowanego. Zaproponowano kilka metod, z czego metoda polegaj ˛acana zmianie współczynników kwantyzacji (algorytm BESF) oraz dodawania małych wartosci´ (algorytm BEOF) oraz ich kaskada (BESFOF) uzyskiwały wyra´zn˛apopraw˛e jakosci´ d´zwi˛ekuw testach obiektywnych.

130 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozdział 8

Porównanie koderów z wybranymi algorytmami alokacji bitów i równowazenia˙ energii

8.1 Przegl ˛adliteratury

Porównanie z innymi implementacjami algorytmów kodowania AAC nie jest proste, poniewaz˙ przedstawione w publikacjach realizacje algorytmów w rózny˙ sposób odnosz ˛asi˛edo badania jakosci´ d´zwi˛ekuskompresowanego. W cz˛esci´ algorytmów [91, 105, 106, 107, 108, 16] jakos´c´ nie jest w ogóle brana pod uwag˛e i przedstawione s ˛atylko algorytmy. W cz˛esci publikacji jako miar˛ejakosci´ wybiera si˛eSNR [109] lub ANMR [92, 113, 114, 104, 50]. Stosunek sygnał-szum nie jest jednak miarodajny w pomiarach jakosci´ d´zwi˛eku.Miara ANMR nie przekłada si˛ebezposrednio´ na jakos´c´ kodowania, ale na minimalizacj˛eszumu kwantowania w stosunku do progów maskowania. Jak dowiedziono w pracy, NMR nie zawsze przekłada si˛e na subiektywn ˛apopraw˛ejakosci´ d´zwi˛eku. Kilku autorów, oprócz wymienionych wyzej˙ miar zastosowało pomiar za pomoc ˛a obiektywnej miary ODG. Autorzy publikacji [114, 115] wyznaczyli miar˛eODG, porównuj ˛ac przedstawiany algorytm EBFOS z innymi i dowodz ˛ac, ze˙ jest on podobnie skuteczny jak algorytm TRDO. Jednakze˙ w swoich porównaniach nie podali detali. W szczególnosci´ nie podano sekwencji, na których przeprowadzono testy, co powoduje brak mozliwo˙ sci´ porównania si˛ez proponowanymi rozwi ˛azaniami. Autorzy dwóch publikacji [104, 50] porównywali modele psychoakustyczne, w niniejszej pracy oznaczone jako PAM1 i PAM2, wykorzystuj ˛acmiar˛e ODG. Rezultat jest podobny do uzyskanego w tej rozprawie: minimalnie lepszy jest algorytm zmodyfikowanego modelu psychoakustycznego II.

131 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 W jednej publikacji autorzy porównuj ˛acy swoj ˛arealizacj˛ekodera do modelu referencyjnego posłuzyli˙ si˛etestami subiektywnymi i miar ˛aComparison Mean Opinion Score (CMOS) [70]. Oprócz wymienionych prac dotycz ˛acych w wi˛ekszosci´ konkretnych algorytmów, duza˙ liczb˛epublikacji opisuje implementacje całkowitych koderów lub dekoderów AAC, przy czym dekodery nie s ˛aobszarem zainteresowania tej pracy. Wsród´ koderów głównie opisywane s ˛arealizacje sprz˛etowe w układach ASIC, FPGA lub w róznego˙ rodzaju procesorach. Kodery s ˛agłównie porównywane pod wzgl˛edemszybkosci´ kodowania (liczba kanałów) oraz wykorzystanych zasobów sprz˛etowych. Takie rozwi ˛azania,z punktu widzenia niniejszej rozprawy, nie s ˛ainteresuj ˛acei nie zostały omówione.

8.2 Obiektywne porównanie

Z powodu trudnosci´ w porównaniu z realizacjami opisanymi w literaturze, zdecydowano si˛ena testy obiektywne. Na bazie przedstawionych w poprzednich rozdziałach algorytmach alokacji bitów, modelach psychoakustycznych oraz algorytmach wyrównywania poziomów energii przeprowadzono obiektywne testy. Wyniki zinterpolowano do jednej z najcz˛esciej´ wykorzystywanych przepływnosci´ bitowych wynosz ˛acej 64kbit/s dla wybranych 38 sekwencji monofonicznych. Wyniki przedstawiono na rys. 8.1 i w tab. 8.1. Pierwsza cz˛es´c´ nazwy kodera mówi o zastosowanym algorytmie: BFOS (Breiman, Friedman, Olshen i Stone), ESF (z równymi współczynników kwantyzacji), TRDO (optymalizacja przepływnosci´ bitowej i zniekształcen´ z uzyciem˙ kraty), TLS (podwójnej p˛etli przeszukiwan).´ Cyfra przedstawia wybrany algorytm modelu psychoakustycznego, odpowiednio 1 – model psychoakustyczny II, 2 – zmodyfikowany model psychoakustyczny II, 4 – model psychoakustyczny zaczerpni˛etyz PEAQ. Algorytm ESF nie korzysta z zadnego˙ modelu psychoakustycznego, dlatego nie podano zadnej˙ cyfry. Ostatnia cz˛es´c´ nazwy przestawia wariant algorytmu wyrównywania poziomów energii. Kolumna Min przedstawia najgorszy osi ˛agni˛etywynik, Max – najlepszy, nast˛epne kolumny odpowiednio wartos´c´ sredni´ ˛ai median˛e. Wsród´ wszystkich wyników najlepsze rezultaty z wył ˛aczonym BE (wyrównywaniem poziomów energii w pasmach) otrzymano dla TRDO, dla modelu PAM2. Najlepszy rezultat osi ˛agni˛etodla TRDO z PAM2 z wł ˛aczonym BESF (BE poprzez zmian˛ewspółczynników kwantyzacji Scale Factor). Te wyniki oznaczono w tabeli czcionk ˛apogrubion ˛a.Dodatkowo wyrózniono˙ algorytm ESF oraz ESF wraz z BESFOF (BE z wł ˛aczon˛akaskad ˛awyrównywania poziomów energetycznych za pomoc ˛azmian SF i dodawania offsetów). Pod wzgl˛edem wartosci´ mediany ESF z BESFOF nieznacznie ust˛epujeTRDO PAM2 (róznica˙ 0.227), ale pod wzgl˛edem sredniej´ wyniki s ˛aporównywalne (róznica˙ 0.048). Dodatkowe uzycie˙ BESF dla TRDO2 poprawia nieznacznie wyniki.

132 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 8.1: Szczegółowe wyniki projektowanych koderów

Na podstawie wyników mozna˙ wyci ˛agn˛ac´ wnioski, ze˙ algorytm nie uzywaj˙ ˛acy modelu psychoakustycznego ESF z wł ˛aczonym wyrównywaniem poziomów energii BE daje podobne wyniki do algorytmu TRDO, który najlepiej dopasowuje si˛edo krzywych maskowania. Z kolei wł ˛aczeniealgorytmów BE w kazdym˙ przypadku poprawiało wyniki. Dla porównania w tab. 8.1 zamieszczono takze˙ wyniki dla kodera FAAC i NERO w trybach z i bez NFB (dodatkowymi bitami wypełniaj ˛acymi). Dla przejrzystosci,´ wyniki dla wybranych poprzednio algorytmów i ich implementacji oraz wspomniane wyniki dla koderów FAAC i NERO zostały przedstawione na osobnym rys. 8.2. Wszystkie projektowane algorytmy przedstawione na wspomnianym wykresie daj ˛alepsz ˛a jakos´c´ kodowania od kodera FAAC w konfiguracji z NFB i bez NFB. Przedstawiane kodery w porównaniu z NERO z NFB daj ˛aporównywalne wyniki. Jedynie NERO z NFB daje wyniki lepsze od koderów z ESF i TRDO. Mozna˙ zatem wyci ˛agn˛ac´ wniosek, ze˙ jedynie NERO z usuni˛etymibitami wypełniaj ˛acymi daje lepsze rezultaty od przedstawianych algorytmów ESF i TRDO. Przypuszczalnie koder NERO uzywa˙ modelu psychoakustycznego. Jednakze˙ nalezy˙ pami˛etac,´ ze˙ w NERO oprócz samego modelu psychoakustycznego z którego wyznaczane s ˛a współczynniki kwantyzacji SF oraz współczynniki skwantowane korzysta z innych narz˛edzi (np. TNS) i dodatkowych operacji (np. window grouping) opisanych w rozdz. 4.4.2. . Operacje te nie s ˛azdefiniowane w standardzie ani zadnej˙ publikacji dlatego niemozliwe˙ było ich przetestowanie.

133 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rysunek 8.2: Porównanie róznych˙ algorytmów oraz koderów NERO i FAAC

8.3 Subiektywne porównanie

Najbardziej miarodajne pod wzgl˛edem oceny jakosci´ d´zwi˛eku s ˛asubiektywne testy odsłuchowe [39]. W poprzednich rozdziałach zostały opisane testy obiektywne i ich wyniki. Zadaniem obiektywnych testów było wst˛epneoszacowanie wyników i wybranie najlepszych konfiguracji i koderów do kolejnych testów – testów subiektywnych.

8.3.1 Testy odsłuchowe w warunkach domowych

Przeprowadzono testy subiektywne z udziałem 27 osób, z których przynajmniej cztery osoby mozna˙ uznac´ za osoby z mniejszym lub wi˛ekszymdoswiadczeniem´ muzycznym. Testy były przeprowadzone na 10 sekwencjach monofonicznych zorganizowanych w dwa zestawy: pierwszy składaj ˛acy si˛ez nast˛epuj˛acych sekwencji: bach, castanets, pipes, rabbitt, velvet oraz drugi skł ˛adaj˛acy si˛ez sekwencji: fools, ftb_samp, goldc, main_theme, youcantdothat. Czas trwania sekwencji to: 15 − 20s. Zostały one zakodowane opracowanym koderem AAC z przepływnosciami´ 48kbit/s i 64kbit/s, z opcjami: ESF, ESF z BEOF, ESF z kaskad ˛aBESFOF, TRDO2 (modelem psychoakustycznym PAM2), TRDO2 z BEOF, TRDO2 z BESF oraz komercyjnym koderem NERO. Kazdy˙ zestaw rozpoczynał si˛esekwencj ˛adodatkow ˛asłuz˙ ˛ac˛a do przyzwyczajenia si˛esłuchaczy do danego srodowiska´ akustycznego, sprz˛etu,głosno´ sci´ itp. Własciwy´ test polegał na ocenianiu róznicy˙ jakosci´ d´zwi˛ekuw parach, gdzie pierwsz ˛a sekwencj ˛azawsze była sekwencja oryginalna, drug ˛asekwencja zakodowana, a nast˛epnie

134 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 zdekodowana. Po kazdej˙ sekwencji nast˛epowała 2s cisza, dla zaznaczenia skonczenia´ si˛e sekwencji oraz na podj˛ecie decyzji. Słuchacze mieli za zadanie przesłuchac´ kazd˙ ˛apar˛ei ocenic´ drug ˛asekwencj˛ewg skali ocen SDG przedstawionej w tab. 2.1. Wybrano taki sposób oceniania w celu pó´zniejszego porównania si˛e z wynikami otrzymanymi metodami obiektywnymi mierzonymi w skali ODG. Kolejnos´c´ sekwencji nie była losowa, ale była nieznan ˛asłuchaczom permutacj ˛aułozon˙ ˛aw taki sposób, by sekwencje zawsze były w tej samej kolejnosci´ (ta sama sekwencja zawsze nast˛epowała po tej samej). Jednakze˙ opcje kodowania (koder, algorytm przepływnos´c´ bitowa) były w róznej˙ kolejnosci.´ W eksperymentach odsłuchowych zastosowano kilka permutacji par testowych. Testy zostały nagrane na płyt˛eCD. W wi˛ekszosci´ testy były przeprowadzane na zestawie składaj ˛acym si˛ez odtwarzacza CD, wzmacniacza i kolumn głosnikowych´ (22 osoby). Testy były przeprowadzone w róznych˙ miejscach, dlatego tez˙ zestawy odsłuchowe rózniły˙ si˛emi˛edzy sob ˛a. Pozostałe testy (5 osób) były przeprowadzone na słuchawkach (model Sennheiser HD438). Kilka osób uczestniczyło w róznych˙ testach zmieniaj ˛acsprz˛etodsłuchowy. Zmiana sprz˛etu nie zmieniała znacz ˛acowyników zarówno w przypadku osób z doswiadczeniem´ muzycznym i bez niego. Wi˛ekszeróznice˙ wyst˛epowały pomi˛edzyposzczególnymi osobami niz˙ przy tej samej osobie słuchaj ˛acejna róznym˙ sprz˛ecie. Zebrane i usrednione´ wyniki dla wszystkich przetestowanych sekwencji przedstawiono w tab. 8.2. Wyniki dla testów subiektywnych przeskalowano do wartosci´ ODG. Dla porównania w tabeli zamieszczono takze˙ wartosci´ ODG dla testów obiektywnych dla dokładnie tych samych sekwencji. Porównuj ˛acwyniki, mozna˙ zauwazy˙ c´ rozbiezno˙ sci.´ Dla przeprowadzonych nieprofesjonalnych testów subiektywnych (w warunkach domowych) wyniki dawały wartosci´ znacznie lepsze niz˙ dla wartosci´ obiektywnych. Co jednak istotne, proporcje mi˛edzywynikami praktycznie zostały zachowane. Wartosci´ dla przepływnosci´ bitowej 48kbit/s s ˛azawsze gorsze od wartosci´ 64kbit/s, czego nalezało˙ si˛e spodziewac.´ Zarówno w algorytmie ESF jak i TRDO dodanie algorytmu wyrównywania poziomów energii BE poprawia jakos´c´ kodowanych sekwencji. Najlepsz ˛apopraw˛eotrzymuje si˛edla wł ˛aczonego BEOF. Dowodzi to słusznosci´ drugiej cz˛esci´ tezy. Porównuj ˛acwyniki uzyskane dla poszczególnych koderów (NERO, ESF i TRDO), zauwaza˙ si˛e, ze˙ w przypadku testów obiektywnych ESF wypadał troch˛egorzej niz˙ TRDO, to w przypadku testów subiektywnych ESF jest duzo˙ lepszy od TRDO, a jego wartos´c´ jest zblizona˙ do NERO. Lepsze wyniki ESF s ˛adowodem słusznosci´ pierwszej cz˛esci´ tezy rozprawy.

8.3.2 Testy przeprowadzone w studio

Dla potwierdzenia testów przeprowadzanych w warunkach domowych, powtórzono eksperyment w studio Zakładu Elektroakustyki Politechniki Warszawskiej. Uzyto˙

135 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 nast˛epuj˛acego sprz˛etu:- dwa trójdrozne˙ zestawy odsłuchowe Nykiel Audio SPACE 3.1 wraz z głosnikiem´ basowym, odtwarzacz DVD Audio/Video, SACD, CD Pioneer DV-747A, amplituner ONKYO R1 (Audio Video Control Receiver) TX-SV828THX. Metoda i przebieg testów był podobny do przedstawionego w rozdz. 8.3.1. Jedyn ˛aróznic˙ ˛abyło ograniczenie liczby testowanych algorytmów do ESF, ESF z BEOF, TRDO2, TRDO2 z BEOF oraz NERO. Cz˛es´c´ testów przeprowadzona była, tak jak testy opisane w rozdz. 8.3.1, na permutacjach sekwencji testowych, a cz˛es´c´ na losowej kolejnosci´ wybranych sekwencji. W testach uczestniczyło ł ˛acznie 37 osób. Wyniki przeprowadzonych testów dla przeływnosci´ bitowych 48 i 64kbit/s przedstawiono w tab. 8.3. Dla porównania podano takze˙ odpowiednie wyniki testów obiektywnych. Podobnie jak w testach w warunkach domowych, mozna˙ zauwazy˙ c,´ ze˙ uzycie˙ algorytmu ESF daje lepsze rezultaty od TRDO. Porównanie wyników kodera ESF z NERO pokazuje wi˛eksz˛aróznic˛emi˛edzyimplementacjami˙ standardu AAC, lecz nadal zblizon˙ ˛a.Zastosowanie algorytmu BEOF przy przepływnosci´ bitowej 48kbit/s poprawia jakos´c´ kodowania, zas´ dla 64kbit/s testy odsłuchowe nie wskazały znacz ˛acejróznicy.˙ W tab. 8.4 przedstawiono usrednione´ wyniki z testów w warunkach domowych oraz w studio. Dla takich wyników potwierdzaj ˛a si˛e tezy postawione w tej rozprawie. Uzycie˙ algorytmu ESF daje lepsz ˛ajakos´c´ d´zwi˛ekuniz˙ uzycie˙ złozonego˙ algorytmu TRDO wykorzystuj ˛acego model psychoakustyczny. Dla przepływnosci´ bitowej 64kbit/s wyniki ESF niewiele odbiegaj ˛aod najlepszego kodera NERO. Uzycie˙ algorytmu wyrównywania poziomów energii w pasmach sygnału oryginalnego i zrekonstruowanego poprawia jakos´c´ kodowania d´zwi˛eku.

8.3.3 Wnioski

Z przeprowadzonych badan´ oraz wyników testów obiektywnych oraz subiektywnych mozna˙ wyci ˛agn˛ac´ nast˛epuj˛acewnioski.

1. Zastosowanie algorytmów modeli psychoakustycznych bazuj ˛acych tylko i wył ˛aczniena stosunku szumu do poziomów maskowania (NMR) jest niewystarczaj ˛acedo zapewnienia dobrej jakosci´ d´zwi˛eku.Lepsze wyniki osi ˛aga si˛estosuj ˛acnp. zaproponowany algorytm stałych współczynników kwantyzacji (ESF) bez angazowania˙ jakiegokolwiek modelu psychoakustycznego.

2. Wpływ róznic˙ poziomów energetycznych w pasmach cz˛estotliwosciowych´ w sekwencjach zdekodowanych i oryginalnych jest istotny. Proponowane algorytmy (BE) wyrównywania tego poziomu poprawiaj ˛ajakos´c´ kodowania. Dowodzi to słusznosci´ potrzeby minimalizowania róznic˙ energii w pasmach.

136 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Podsumowanie

W rozdziale przedstawiono wyniki przeprowadzonych testów subiektywnych na słuchaczach. Eksperymenty odbywały si˛e w warunkach domowych (na domowym sprz˛ecieaudio) oraz w studio na profesjonalnym sprz˛ecieodsłuchowym. Otrzymane wyniki zostały porównane z wynikami testów obiektywnych. Uzyskane wyniki dowodz ˛a tezom przedstawionym we wst˛epie rozprawy. Zastosowanie algorytmu ESF (nie wykorzystuj ˛acego modelu psychoakustycznego) wraz z algorytmami wyrównywania poziomów energii daje lepsze wyniki niz˙ skomplikownay algorytm TRDO z modelem psychoakustycznym oraz daje porównywalne wyniki do kodera NERO. Zastosowanie algorytmów wyrównywania poziomów energetycznych poprawiało jakos´c´ kodowanych sekwencji.

137 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Koder Min Max Srednia´ Mediana bfos1 -3.759 -0.707 -1.689 -1.474 bfos1_beof -3.760 -0.674 -1.417 -1.223 bfos1_besf -3.732 -0.567 -1.336 -1.147 bfos1_besfof -3.674 -0.639 -1.362 -1.179 bfos2 -3.492 -0.660 -1.660 -1.429 bfos2_beof -3.113 -0.558 -1.367 -1.242 bfos2_besf -3.411 -0.535 -1.321 -1.059 bfos2_besfof -3.226 -0.565 -1.323 -1.223 bfos4 -3.843 -0.507 -1.801 -1.692 bfos4_beof -3.863 -0.486 -1.557 -1.263 bfos4_besf -3.792 -0.430 -1.531 -1.265 bfos4_besfof -3.825 -0.527 -1.508 -1.279 ESF -2.593 -0.317 -1.207 -1.070 ESF_beof -2.558 -0.320 -1.060 -1.008 ESF_besf -2.509 -0.289 -1.169 -1.033 ESF_besfof -2.540 -0.322 -1.056 -0.997 TRDO1 -2.602 -0.158 -1.072 -0.869 TRDO1_beof -2.606 -0.174 -0.959 -0.843 TRDO1_besf -2.525 -0.166 -1.001 -0.881 TRDO1_besfof -2.601 -0.192 -0.974 -0.867 TRDO2 -2.610 -0.065 -1.099 -0.803 TRDO2_beof -2.514 -0.088 -1.017 -0.823 TRDO2_besf -2.550 -0.071 -1.008 -0.770 TRDO2_besfof -2.568 -0.093 -1.016 -0.838 TRDO4 -2.893 -0.035 -1.248 -1.251 TRDO4_beof -2.992 -0.074 -1.246 -1.203 TRDO4_besf -2.977 -0.048 -1.213 -1.230 TRDO4_besfof -2.986 -0.071 -1.246 -1.195 TLS1 -2.706 -0.198 -1.199 -1.007 TLS1_beof -2.271 -0.191 -1.010 -0.852 TLS1_besf -2.196 -0.175 -1.035 -0.951 TLS1_besfof -2.288 -0.170 -1.022 -0.923 TLS2 -2.534 -0.189 -1.259 -1.102 TLS2_beof -2.522 -0.155 -1.044 -0.949 TLS2_besf -2.361 -0.116 -1.047 -0.965 TLS2_besfof -2.495 -0.150 -1.032 -0.938 TLS4 -3.636 -0.155 -1.402 -1.098 TLS4_beof -3.414 -0.373 -1.187 -0.894 TLS4_besf -3.631 -0.178 -1.258 -0.980 TLS4_besfof -3.333 -0.369 -1.168 -0.892 FAAC -3.623 -0.267 -1.577 -1.403 FAAC_nfb -3.528 -0.071 -1.377 -1.327 NERO_cbr -1.696 -0.142 -0.905 -0.950 NERO_cbr_nfb -1.384 0.035 -0.539 -0.389

Tablica 8.1: Szczegółowe wyniki ODG dla róznych˙ koderów

138 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 testy subiektywne obiektywne przepływnos´c´ 48 64 48 64 bitowa [kbit/s] ESF -1,09 -0,61 -3,05 -2,00 ESF besfof -0,89 -0,58 -2,83 -1,72 ESF beof -0,75 -0,46 -2,73 -1,81 nero -0,60 -0,53 -2,04 -0,86 TRDO2 -2,02 -1,18 -3,41 -1,90 TRDO2 besf -2,00 -1,03 -3,35 -1,70 TRDO2 beof -1,91 -0,97 -3,32 -1,65

Tablica 8.2: Wyniki testów subiektywnych przeskalowanych do miary ODG oraz testów obiektywnych w skali ODG przeprowadzonych na tych samych 10 sekwencjach w warunkach domowych.

testy subiektywne obiektywne przepływnos´c´ 48 64 48 64 bitowa [kbit/s] ESF -1.24 -0.94 -3.05 -2.00 ESF BEOF -0.78 -0.95 -2.73 -1.81 TRDO2 -2.42 -1.42 -3.41 -1.90 TRDO2 BEOF -2.15 -1.42 -3.32 -1.65 NERO -0.48 -0.71 -2.04 -0.86

Tablica 8.3: Wyniki testów subiektywnych przeskalowanych do miary ODG oraz testów obiektywnych w skali ODG przeprowadzonych na tych samych sekwencjach w studio.

testy subiektywne obiektywne przepływnos´c´ 48 64 48 64 bitowa [kbit/s] ESF -1.16 -0.77 -3.05 -2.00 ESF BEOF -0.78 -0.70 -2.73 -1.81 TRDO2 -2.22 -1.30 -3.41 -1.90 TRDO2 BEOF -2.03 -1.20 -3.32 -1.65 NERO -0.54 -0.62 -2.04 -0.86

Tablica 8.4: Usrednione´ wyniki testów subiektywnych przeprowadzonych w studio oraz w warunkach domowych.

139 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Rozdział 9

Podsumowanie

W niniejszej rozprawie przedstawiono tematyk˛e efektywnego kodowania d´zwi˛eku w standardzie Advanced Audio Coding, a szczególnie zastosowanie modeli psychoakustycznych i róznych˙ algorytmów alokacji bitów wykorzystuj ˛acych lub nie wykorzystuj ˛acych wspomniane modele. Załozeniami˙ dla projektowanych metod było wykorzystanie sekwencji monofonicznych, stała przepływnos´c´ bitowa 64kbit/s. W pracy przedstawiono sposoby oceniania jakosci´ d´zwi˛eku(rozdz. 2). Nast˛epniewybrano sposród´ kilku standardów koder FAAC, na którym bazuj ˛aimplementacje własnych rozwi ˛azan´ oraz koder NERO, który otrzymywał najlepsze wyniki pod wzgl˛edemjakosci´ i do którego porównano własne implementacje (rozdz. 3). W dalszym ci ˛aguprzedstawiono i porównano mozliwo˙ sci´ koderów FAAC i NERO (rozdz. 4). Dalej przedstawiono proponowane w literaturze modele psychoakustyczne, ich modyfikacje oraz wykorzystano modele psychoakustyczne wykorzystywane w innych narz˛edziach (3gpp, PqEvalAudio) (rozdz. 5). Porównano przedstawione modele psychoakustyczne i wybrano najlepsze do kolejnych badan.´ Najkorzystniejsze wyniki osi ˛agni˛eto dla Modelu Psychoakustycznego II zaproponowanego w cz˛esci´ nienormatywnej specyfikacji AAC (PAM1 – rozdz. 5.4)) oraz jego modyfikacji stosuj ˛acejtransformat˛eMDCT (PAM2 – rozdz. 5.5). W dalszej cz˛esci´ pracy przedstawiono rózne˙ algorytmy alokacji bitów (rozdz. 6) dost˛epnew literaturze, wykorzystuj ˛acemodele psychoakustyczne oraz przestawiono własn ˛a propozycj˛ealgorytmu nie wykorzystuj ˛acego zadnego˙ modelu psychoakustycznego. Algorytmy porównano, a najbardziej obiecuj ˛acealgorytmy oraz ich modyfikacje zaimplementowano. Poszczególne implementacje przebadano i porównano wyniki. Z puntu widzenia miary ODG zaproponowany algorytm ESF, nie wykorzystuj ˛acy zadnego˙ modelu psychoakustycznego, otrzymał wyniki zblizone˙ do algorytmu TRDO wykorzystuj ˛acego modele psychoakustyczne. Dowodzi to pierwszej cz˛esci´ postawionej tezy. W kolejnej cz˛esci´ (rozdz. 7) dysertacji zaproponowano algorytmy wyrównywania poziomów energii w pasmach (BE). Algorytmy przedstawiono w kilku wariantach: BESF,

141 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 BEOF, kaskad˛eBESFOF, BEOFC w trzech wersjach oraz przeanalizowano kilka dodatkowych wariantów, które jednak nie przyniosły wyra´znejpoprawy w jakosci´ kodowania. Najlepsze wyniki pod wzgl˛edemjakosci´ d´zwi˛ekuskompresowanego i czasu potrzebnego na zakodowanie otrzymano dla pierwszych trzech wymienionych algorytmów. Testy przeprowadzone na rzeczywistych sekwencjach potwierdziły korzysci´ z ich stosowania oraz potwierdziły wazno˙ s´c´ drugiej tezy niniejszej rozprawy. Eksperymenty dowodz ˛atakze,˙ ze˙ lepsze korzysci´ otrzymuje si˛e z zastosowania mało wymagaj ˛acego obliczeniowo algorytmu ESF w poł ˛aczeniuz BE bez modelu psychoakustycznego, niz˙ algorytmu TRDO wymagaj ˛acego duzych˙ zasobów obliczeniowych. Zaprojektowane algorytmy alokacji bitów i wyrównywania poziomów energii porównano z koderem NERO. Koder NERO uzyskał nieco lepsze wyniki od proponowanych algorytmów w opcji bez usuwania bitów wypełniaj ˛acych oraz znacznie lepsze wyniki z usuni˛eciemtych bitów. Jednakze˙ badania wykazały, ze˙ prawdopodobnie w koderze NERO został zaimplementowany algorytm BESF oraz wykorzystano dodatkowe modyfikacje uzyskiwanych współczynników cz˛estotliwosciowych.´ Dowodzi to, ze˙ model psychoakustyczny, nawet jesli´ został uzyty˙ w NERO, to jest niewystarczaj ˛acy i s ˛aw nim wykorzystywane inne niezidentyfikowane metody poprawiaj ˛aceskutecznos´c´ kodowania. Przedstawiony algorytm ESF został takze˙ zrealizowany w sprz˛ecie,w strukturach FPGA. Implementacja sprz˛etowa została szerzej opisana w publikacjach [28, 24, 29, 25]. Dodatkowo rozszerzona o profil niskiego opó´znieniaLow-Delay oraz zaproponowany tryb bardzo niskiego opó´znienia Ultra Low-Delay [31]. Algorytmy BE s ˛arówniez˙ mozliwe˙ do implementacji sprz˛etowej bez istotnych modyfikacji samego algorytmu. W przyszłosci´ warto podj ˛ac´ prace nad zagadnieniami:

• optymalizacji kodu ´zródłowego zaprojektowanej aplikacji w celu jej przyspieszenia,

• efektywnej implementacji trybów kodowania sekwencji wielokanałowych (w tym stereofonicznych) uwzgl˛edniaj˛acymi zalezno˙ sci´ mi˛edzykanałowe,

• zastosowania technik do wykorzystywanych w koderze NERO do modyfikacji skwantowanych współczynników,

• implementacji sprz˛etowej algorytmów BE,

• rozszerzenia mozliwo˙ sci´ kodera sprz˛etowego ze stereofonicznego do wielokanałowego w celu wykorzystywania mozliwo˙ sci´ sprz˛etowych.

142 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Dodatek A — Parametry uruchamianych koderów

Ponizej˙ przedstawiono porównanie i sposób uruchomienia wybranych koderów audio oraz opcje z jakimi uruchomiono aplikacje. Testowano kodery na sekwencjach stereo i mono przedstawionych w rozdz. 2.3. Oznaczenie input.wav symbolizuje plik wejsciowy,´ output z odpowiednim rozszerzeniem oznacza plik wyjsciowy,´ natomiast br załozon˙ ˛aprzepływnos´c´ bitow ˛a. Uzyte˙ kodery standardu AAC oraz sposób ich uruchomienia:

• FAAC [45, 51] — FAAC czyli Free Advanced Audio Coder, jest to darmowy, otwarty koder standardu AAC. Koder uruchamiany jest w nast˛epuj˛acy sposób: .exe -c 16000 -b br -tns -shortctl 0 input.wav -o output.aac. Parametr -c oznacza uruchomienie filtra dolnoprzepustowego na zadanej cz˛estotliwosci,´ -tns wył ˛aczauzycie˙ trybu TNS, -shortctl 0 wł ˛aczawybór mi˛edzy oknami długimi i krótkimi. Opcja -b pozwala zadac´ przepływnos´c´ bitow ˛a. Do dekompresji uzyto˙ programu FAAD.

• NERO [1, 54] — prawdopodobnie cz˛esciowo´ bazuje na koderze FAAC, jednakze˙ jest koderem zamkni˛etym. Jest uznawany za jeden z lepszych koderów AAC. Aplikacj˛euruchamia si˛ew nast˛epuj˛acy sposób: neroAacEnc.exe -lc -br br -if input.wac -of output.aac. Opcja -lc oznacza wł ˛aczenietrybu low complexity, czyli najprostszego trybu pracy. Wył ˛aczajednoczesnie´ tryby HE-AAC przeznaczone głównie dla niskich przepływnosci´ bitowych. Opcja -br pozwala zadac´ docelow ˛aprzepływnos´c´ bitow ˛aw trybie VBR (variable bitrate – zmiennej przepływnosci´ bitowej na ramk˛e).

• QAAC [5, 55] — koder o cz˛esciowo´ otwartym kodzie ´zródłowym, który korzysta z zamkni˛etejbiblioteki firmy Apple. qaac.exe -c br input.wav -o output.m4a Parametr -c pozwala ustawic´ z˙ ˛adan˛aprzepływnos´c´ bitow ˛a.

• iTunes [3, 52] — oprogramowanie wydane przez firm˛e Apple. Kod ´zródłowy jest zamkni˛ety. Aplikacj˛e uruchamia si˛e nast˛epuj˛aco: iTunesEncode.exe -i

143 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 input.wav -o output.aac Linia polecen´ pozwala tylko na podanie plików wejsciowego´ i wyjsciowego.´ Przepływnos´c´ bitowa ustawiana jest poprzez odpowiedni interfejs graficzny GUI.

• 3gpp [10] — koder AAC zaprojektowany dla projektu 3gpp. Uruchamiany nast˛epuj˛aco: enhAacPlusEnc.exe intput.wav output.3gp br ver gdzie opcja ver pozwala na ustawienie trybu s–stereo lub m–mono.

Sposób kodowania pozostałych koderów:

• LAME [7, 53, 58] — jest to jeden z najpopularniejszych i uwazany˙ ze jeden z najlepszych koderów standardu MPEG-1 Layer3 - mp3. Lame jest projektem o otwartym kodzie ´zródłowym. Podczas badan´ uruchamiany był nast˛epuj˛aco: .exe -cbr br input.wav output.mp3, gdzie parametr -cbr definiował zadan ˛aprzepływnos´c´ bitow ˛akodera.

• USAC [67] — model referencyjny standardu USAC. Jego kod ´zródłowy jest otwarty, aczkolwiek koder AAC zawarty w nim jest nieskomplikowany, o bardzo prostym modelu psychoakustycznym. Koder był uruchamiany w nast˛epuj˛acy sposób: usacEnc.exe -m usac -c -usac_fd -br br-o output.mp4 intput.wav Parametr -m usac ustawia koder w tryb kodera USAC, parametr -c pozwala konfigurowac´ koder. Koder jest ustawiony na przepływnos´c´ bitow ˛aza pomoc ˛a -br oraz w tryb analizy cz˛estotliwosciowej´ – opcja -usac_fd.

• OGG/ Vorbis [112, 57] — koder standardu Xiph Vorbis. Jego kod jest kodem otwartym. Koder był uruchamiany nast˛epuj˛aco: oggenc2.exe -b br -o output.ogg intput.wav, gdzie parametr -b pozwalał na ustawienie przepływnosci´ bitowej.

• Opus [111, 56] – najnowszy koder standardu Opus koduj ˛acego zarówno mow˛e jak i muzyk˛e. Koder był wykorzystywany w nast˛epuj˛acy sposób: opusenc.exe -bitrate br input.wav output.opus, gdzie -bitrate pozwalało na ustawienie przepływnosci´ bitowej.

144 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Dodatek B — Parametry kodera FAAC

W tabeli ponizej˙ przedstawiono opcje wykorzystywane i przebadane w koderze FAAC.

Opcja Narz˛edzie linii Opis polecen´ –tns TNS Wł ˛aczaTNS –no_tns domyslnie´ wł ˛aczona Pozwala kodowac´ kanały róznicowo˙ MS –no-midside (MS) lub kazdy˙ osobno 0 - automatyczny wybór okna długiego lub krótkiego wybór okna –shortctl 1- tylko okna długie 2 - tylko okna krótkie ustawienie cz˛estotliwosci´ filtru filtr dolnoprzepustowy -c dolnoprzepustowego w Hz

Tablica 1: Uzywane˙ narz˛edziaw koderze FAAC

145 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Bibliografia

[1] Ahead NERO encoder. http://www.nero.com/enu/company/about-nero/ nero-aac-codec.php.

[2] EAQUAL – Evaluation of Audio QUALity. http://www.mp3-tech.org/ programmer/sources/eaqual.tgz.

[3] iTunes. http://www.apple.com/itunes/.

[4] Pqevalaudio. http://www-mmsp.ece.mcgill.ca/documents/Software/ Packages/AFsp/AFsp.html.

[5] QAAC. https://github.com/nu774/qaac.

[6] The Moving Picture Experts Group Website. http://mpeg.chiariglione.org.

[7] LAME Ain’t an Mp3 Encoder – LAME. http://lame.sourceforge.net/, 2005.

[8] LAME web site test samples. http://lame.sourceforge.net/download/ samples/, 2005.

[9] Different Speed Optimizations for MPEG AAC Encoder, 2010.

[10] 3GPP. 3GPP encoder . http://www.3gpp.org/DynaReport/26410.htm.

[11] A. Aggarwal, S.L. Regunathan, and K. Rose. A trellis-based optimal parameter value selection for audio coding. Audio, Speech, and Language Processing, IEEE Transactions on, 14(2):623 – 633, march 2006.

[12] Ashish Aggarwal, S.L. Regunathan, and K. Nose. Trellis-based optimization of MPEG-4 advanced audio coding. In Speech Coding, 2000. Proceedings. 2000 IEEE Workshop on, pages 142–144, 2000.

[13] Ashish Aggarwal, S.L. Regunathan, and K. Rose. Near-optimal selection of encoding parameters for audio coding. In Acoustics, Speech, and Signal Processing, 2001.

147 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Proceedings. (ICASSP ’01). 2001 IEEE International Conference on, volume 5, pages 3269–3272 vol.5, 2001.

[14] E. Alexandre, A. Pena, and M. Sobreira. Low-complexity bit-allocation algorithm for MPEG aac audio coders. Signal Processing Letters, IEEE (Volume:12 , Issue: 12 ), 12(12):824–826, 2005.

[15] M.T. Ali and M. Saleem. Improved audio quality at 48 Kbits/s for MPEG-4 AAC. In Electrical Engineering, 2008. ICEE 2008. Second International Conference on, pages 1–8, 2008.

[16] C. Bauer, M. Fellers, and G. Davidson. Multidimensional optimization of MPEG-4 AAC encoding. In Acoustics, Speech and Signal Processing, 2006. ICASSP 2006 Proceedings. 2006 IEEE International Conference on, volume 5, 2006.

[17] C. Bauer and M. Vinton. Joint optimization of scale factors and Huffman code books for MPEG-4 AAC. In Multimedia Signal Processing, 2004 IEEE 6th Workshop on, pages 111–114, Sept 2004.

[18] C. Bauer and M. Vinton. The choice of MPEG-4 AAC encoding parameters as a direct function of the perceptual entropy of the audio signal. In Networks, 2005. Jointly held with the 2005 IEEE 7th Malaysia International Conference on Communication., 2005 13th IEEE International Conference on, volume 1, pages 5 pp.–, Nov 2005.

[19] C. Bauer and M. Vinton. Joint optimization of scale factors and Huffman code books for MPEG-4 AAC. Signal Processing, IEEE Transactions on, 54(1):177–189, Jan 2006.

[20] John G. Beerends and Jan A. Stemerdink. A Perceptual Audio Quality Measure Based on a Psychoacoustic Sound Representation. J. Audio Eng. Soc, 40(12):963–978, 1992.

[21] R. Bellman and R. Kalaba. On the role of dynamic programming in statistical communication theory. Information Theory, IRE Transactions on, 3(3):197–203, September 1957.

[22] Marina Bosi and Richard E. Goldberg. Introduction to digital audio coding and standards. Springer Science+Business Media, LLC, 2002.

[23] K. Brandenburg. OCF-A new coding algorithm for high quality sound signals. In Acoustics, Speech, and Signal Processing, IEEE International Conference on ICASSP ’87., volume 12, pages 141–144, Apr 1987.

[24] G. Brzuchalski. Quantization and psychoacoustic model in audio coding in Advanced Audio Coding. In Ryszard S. Romaniuk, editor, Photonics Applications in Astronomy,

148 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Communications, Industry, and High-Energy Physics Experiments 2011 (Proceedings Volume), volume 8008 of Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, October 2011.

[25] G. Brzuchalski. Huffman coding in Advanced Audio Coding standard. In Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2012 Wilga, Poland, pages 84540U–84540U–8, 2012.

[26] G. Brzuchalski. Fast Huffman coding algorithms in Advanced Audio Coding. In R.Romaniuk, editor, Proc. SPIE 9290, Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2014, volume 9290, 2014.

[27] G. Brzuchalski. Optymalne algorytmy alokacji bitów w standardzie kompresji d´zwi˛eku mpeg-4 aac. Elektronika, 03:42–46, 03 2014.

[28] G. Brzuchalski and G. Pastuszak. Hardware implementation of the transformation module of the MPEG-4 AAC . In nternational IFAC Workshop on Programmable Devices and Embedded Systems (PDeS 2010), October 2010.

[29] G. Brzuchalski and G. Pastuszak. Sprz˛etowa implementacja modułu transformaty kodeka MPEG-4 AAC. Pomiary Automatyka Kontrola (PAK), 57(1), 2011.

[30] G. Brzuchalski and G. Pastuszak. Energy Balance in Advanced Audio Coding Encoder bit-distorion loop algorithm. In Proc. SPIE 8903, Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2013, 2013.

[31] G. Brzuchalski and M. Wieczorek. Low-Delay and Ultra-Low-Delay coding in MPEG-4 AAC. In Proceedings of 11th IFAC/IEEE International Conference on Programmable devices and embedded systems (PDeS), pages 44–49, May 2012.

[32] J. Douglas Burden, Richard L.; Faires. Numerical Analysis. PWS Publishers, 1985.

[33] Catherine Colomes, Michael Lever, Jean-Bernard Rault, Yves-Francois Dehery, and Gerard Faucon. A Perceptual Model Applied to Audio Bit-Rate Reduction. J. Audio Eng. Soc, 43(4):233–240, 1995.

[34] James W. Cooley and John W. Tukey. An algorithm for the machine calculation of complex Fourier series, volume Vol. 19, No. 90 (Apr., 1965), pp. 297-301. American Mathematical Society, 1965.

[35] O. Derrien, M. Charbit, and P. Duhamel. Statistical model for the quantization noise in the mpeg advanced audio coder. application to the bit allocation algorithm. In Acoustics,

149 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 Speech, and Signal Processing (ICASSP), 2002 IEEE International Conference on, volume 2, pages II–1849–II–1852, May 2002.

[36] G. Diego and R. Sudhakar. Optimal bit allocation for MPEG audio standard using the generalized BFOS algorithm. 1998.

[37] Andrzej Dobrucki and Piotr Kozłowski. Evaluation of the quality of audio signals transmitted by the telecommunication channels. Przegl ˛adTelekomunikacyjny, 6 2010.

[38] Przemysław Dymarski and Sławomir Kula. Metody i standardy badania postrzeganej jakosci´ sygnałów audio i wideo. Przegl ˛adTelekomunikacyjny, 8-9, 2009.

[39] T. Ebrahimi and F. Pereira. The MPEG-4 Book. IMSC Press Multimedia Series, Upper Saddle River, New Jersey 07458, 2002.

[40] ETSI – Europejski Instytut Norm Telekomunikacyjnych. ETSI EN 300 401 v1.4.1 – Digital Audio Broadcasting.

[41] ETSI – Europejski Instytut Norm Telekomunikacyjnych. ETSI TS 102 563 v1.1.1 – Digital Audio Broadcasting enhancement specification.

[42] European Broadcasting Union. Sound Quality Assessment Material recordings for subjective tests – SQAM. http://tech.ebu.ch/publications/sqamcd, 2008.

[43] Hugo Fastl and Eberhard Zwicker. Psychoacoustic, Facts and Models. Springer Series in Information Science, 2006.

[44] Jr. Forney, G.D. The Viterbi algorithm. Proceedings of the IEEE, 61(3):268 – 278, march 1973.

[45] Free Advanced Audio Coder – FAAC. http://www.audiocoding.com, Feb 2009.

[46] Kai-Tat Fung, Yui-Lam Chan, and Wan-Chi Siu. A fast bit allocation algorithm for mpeg audio encoder. In Intelligent Multimedia, Video and Speech Processing, 2001. Proceedings of 2001 International Symposium on, pages 5–8, 2001.

[47] Xiaopeng Hu, Guiming He, and Xiaoping Zhou. An efficient low complexity encoder for MPEG advanced audio coding. In Advanced Communication Technology, 2006. ICACT 2006. The 8th International Conference, volume 3, 2006.

[48] Xiaopeng Hu, Guiming He, and Xiaoping Zhou. Peaq-based psychoacoustic model for perceptual audio coder. In Advanced Communication Technology, 2006. ICACT 2006. The 8th International Conference, volume 3, 2006.

150 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 [49] Shih-Way Huang, Liang-Gee Chen, and Tsung-Han Tsai. Memory and computationally efficient psychoacoustic model for MPEG AAC on 16-bit fixed-point processors. In Circuits and Systems, 2005. ISCAS 2005. IEEE International Symposium on, pages 3155 – 3158 Vol. 4, may 2005.

[50] Shih-Way Huang, Tsung-Han Tsai, and Liang-Gee Chen. A low complexity design of psycho-acoustic model for MPEG-2/4 advanced audio coding. 50(4):1209–1217, 2004.

[51] Hydrogenaudio. Free Advanced Audio Coder – FAAC. http://wiki. hydrogenaud.io/index.php?title=FAAC.

[52] Hydrogenaudio. iTunes. http://wiki.hydrogenaud.io/index.php? title=ITunes.

[53] Hydrogenaudio. LAME – LAME Ain’t an Mp3 Encoder. http://wiki. hydrogenaud.io/index.php?title=LAME.

[54] Hydrogenaudio. NERO – AAC Encoder. http://wiki.hydrogenaud.io/ index.php?title=Nero\_AAC.

[55] Hydrogenaudio. QAAC. http://wiki.hydrogenaud.io/index.php? title=Apple\_AAC.

[56] Hydrogenaudio. Xiph.org Opus. -http://wiki.hydrogenaud.io/index. php?title=Opus.

[57] Hydrogenaudio. Xiph.org Vorbis. http://wiki.hydrogenaud.io/index. php?title=Vorbis.

[58] ISO/IEC 11172-3. Information Technology, Coding of moving pictures and assiciated audio for digital storage media at up to about 1.5 Mbit/s, Part 3:Audio, 1993.

[59] ISO/IEC 13818-3. Information technology – Generic Coding of Moving Pictures and Associeted Audio – Part 3: Audio, 1994.

[60] ISO/IEC 13818-7. Information technology – Generic Coding of Moving Pictures and Associeted Audio – Part 7: Advanced Audio Coding, 1997.

[61] ISO/IEC 14496-3:1999. Information technology - Coding of audio-visual objects - Part 3: Audio, Advanced Audio Coding, 1999. Available in English only.

[62] ISO/IEC 14496-3:2001/Amd1:2000. Information technology - Coding of audio-visual objects - Part 3: Audio, Advanced Audio Coding, 2000.

151 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 [63] ISO/IEC 14496-3:2001/Amd1:2003. Information technology - Coding of audio-visual objects - Part 3: Audio, Advanced Audio Coding, HE-AAC, 2003.

[64] ISO/IEC 14496-3:2005/Amd1:2006. Information technology - Coding of audio-visual objects - Part 3: Audio, Advanced Audio Coding, HE-AAC v2, 2006.

[65] ISO/IEC 14496-3:2009. Information technology - Coding of audio-visual objects - Part 3: Audio, Advanced Audio Coding.

[66] ISO/IEC 14496-3:2009/Amd 3:2012. MPEG Unified Speech and Audio Coding (USAC), 2012.

[67] ISO/IEC 23003-3 – MPEG-D part 3. MPEG Unified Speech and Audio Coding (USAC), 2011.

[68] ITU-R Recommendation BS. 562.3. Subjective assessment of sound quality.

[69] ITU-R Recommendation BS.1116-1. Methods for the subjective assessment of small impairments in audio systems.

[70] ITU-R Recommendation BS.1284. General methods for the subjective assessment of sound quality, 2003.

[71] ITU-R Recommendation BS.1387. Method for objective measurements of perceived audio quality – PEAQ, 2001.

[72] ITU-R Recommendation BS.1534. Method for the subjective assessment of intermediate quality levels of coding systems.

[73] ITU-R Recommendation BS.1574-2. Mushra - multipe stimuli with hidden reference and anchor.

[74] ITU-R Recommendation P.800(08/96). Methods of subjective determination of transmission Quality., 1996.

[75] N. Jayant and P. Noll. Digital Coding of Waveforms: Principles and Applications to Speech and Video. Prentice-Hall Signal Processing Series. Prentice Hall, 1984.

[76] J.D. Johnston. Estimation of perceptual entropy using noise masking criteria. In Acoustics, Speech, and Signal Processing, 1988. ICASSP-88., 1988 International Conference on, pages 2524–2527 vol.5, Apr 1988.

[77] J.D. Johnston. Transform coding of audio signals using perceptual noise criteria. Selected Areas in Communications, IEEE Journal on, 6(2):314–323, Feb 1988.

152 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 [78] Peter Kabal. An Examination and Interpretation of ITU-R BS.1387: Perceptual Evaluation of Audio Quality, Department of Electrical & Computer Engineering, McGill University, 2002.

[79] Byoung-Il Kim, Eun-Seo Lee, and Tae-Gyu Chang. A quantization method of direct noise shaping and level matching for the low complexity implementation of MPEG-4 AAC encoder. In Consumer Electronics, 2005. ICCE. 2005 Digest of Technical Papers. International Conference on, pages 261–262, 2005.

[80] Chun-Yi Lee, Yao-Chun Fang, Hsiao-Chiang Chuang, Chung-Neng Wang, and Tihao Chiang. A fast audio bit allocation technique based on a linear r-d model. In Consumer Electronics, 2002. ICCE. 2002 Digest of Technical Papers. International Conference on, pages 328–329, June 2002.

[81] V. Melkote and K. Rose. A two-layered trellis approach to audio encoding. In Acoustics, Speech and Signal Processing, 2008. ICASSP 2008. IEEE International Conference on, pages 201–204, March 2008.

[82] V. Melkote and K. Rose. Trellis-Based Approaches to Rate-Distortion Optimized Audio Encoding. Audio, Speech, and Language Processing, IEEE Transactions on, 18(2):330–341, Feb 2010.

[83] B. Mondal. Perceptual quantization using JNLD thresholds. In Circuits and Systems, 2002. ISCAS 2002. IEEE International Symposium on, volume 3, pages 839 –842, 2002.

[84] P. Paillard, B.; Mabilleau. PERCEVAL: Perceptual evaluation of the quality of audio signals. J. Audio Eng. Soc., 40:21–31, 1992.

[85] T. Painter and A Spanias. Perceptual coding of digital audio. Proceedings of the IEEE, 88(4):451–515, April 2000.

[86] D. Palomar, R. Skehill, I Rice, D. Picovici, and S. McGrath. Objective assessment of audio quality. In Signals and Systems Conference, 208. (ISSC 2008). IET Irish, pages 37–42, June 2008.

[87] G. Pastuszak, A. Abramowski, G. Brzuchalski, M. Roszkowski, M. Wieczorek, and Naruniec N. Zintegrowany system dekodowania ´zródłowego dla zdalnej kontroli audiowizualnej. system sprz˛etowego dekodowania audio zintegrowany z video jako system dekodowania ´zródłowego w module ł ˛acznosci.´ Przegl ˛adTelekomunikacyjny, 6, 2013.

153 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 [88] G. Pastuszak, A. Abramowski, G. Brzuchalski, M. Roszkowski, M. Wieczorek, and Naruniec N. Zintegrowany system kodowania ´zródłowego dla zdalnej kontroli audiowizualnej. system sprz˛etowego kodowania audio zintegrowany z video jako system kodowania ´zródłowego w module ł ˛acznosci.´ Przegl ˛adTelekomunikacyjny, 6, 2013.

[89] S. Quackenbush. Mpeg unified speech and audio coding. MultiMedia, IEEE, 20(2):72–78, April 2013.

[90] S.R. Quackenbush and J.D. Johnston. Noiseless coding of quantized spectral components in MPEG-2 Advanced Audio Coding. In Applications of Signal Processing to Audio and Acoustics, 1997. 1997 IEEE ASSP Workshop on, page 4 pp., oct 1997.

[91] E.A Riskin. Optimal bit allocation via the generalized BFOS algorithm. Information Theory, IEEE Transactions on, 37(2):400–402, Mar 1991.

[92] Shu Ruo and Wu Lenan. An Adaptive and Efficient Bit Allocation Scheme for MPEG-4 Advanced Audio Coding. In Industrial and Information Systems, 2009. IIS ’09. International Conference on, pages 312–315, April 2009.

[93] M. R. Schroeder and B. S. Atal. Code-excited linear prediction – CELP, in Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 10, pp. 937-940, 1985.

[94] M.R. Schroeder, B.S. Atal, and L. Hall. Optimizing digital speech coders by exploiting masking properties of the human ear. J. Acoust. Soc. Am., 66:1647–1652, 1979.

[95] D. Schulz. Improving audio by noise substitution. AES: Journal of the Audio Engineering Society, 44(7-8):593–598, 1996.

[96] Władysław Skarbek. Multimedia Algorytmy i standardy kompresji. Akademicka Oficyna Wydawnicza PLJ, 1998.

[97] T. Sporer. Objective Audio Signal Evaluation- applied psychoacoustics for modeling the perceived quality of digital audio. 103rd AES- Convention, preprint 4280, 1997.

[98] A. Taghipour, M. Jaikumar, B. Edler, M. Amirpour, and J. Herre. Dependency of tonality perception on frequency, bandwidth and duration. In AES 134th Convention, page 8824, Rome, Italy, 2013.

[99] A. Taghipour, M.C. Jaikumar, and B. Edler. A psychoacoustic model with partial spectral flatness measure for tonality estimation. In Signal Processing Conference (EUSIPCO), 2014 Proceedings of the 22nd European, pages 646–650, 2014.

154 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 [100] Armin Taghipour, N. Knoelke, B. Edler, and J. Ostermann. Combination of different perceptual models with different audio transform cofing sscheme: Implementation and evaluation. In AES 129th Convention, page 8283, San Francisco, USA, 2010.

[101] Y. Takamizawa, T. Nomura, and Masao Ikekawa. High-quality and processor-efficient implementation of an MPEG-2 AAC encoder. In Acoustics, Speech, and Signal Processing, 2001. Proceedings. (ICASSP ’01). 2001 IEEE International Conference on, volume 2, pages 985–988, 2001.

[102] T. Thiede. Perceptual Audio Quality Assessment Using a Non-linear Filter Bank. Mensch-und-Buch-Verlag, 1999.

[103] Thilo Thiede and Ernst Kabot. A New Perceptual Quality Measure for Bit Rate Reduced Audio. In Soc. 100th Convention, pages 11–14, 1996.

[104] Tsung-Han Tsai, Shih-Way Huang, and Liang-Gee Chen. Design of a low power psycho-acoustic model co-processor for MPEG-2/4 AAC LC stereo encoder. In Circuits and Systems, 2003. ISCAS ’03. Proceedings of the 2003 International Symposium on, volume 2, 2003.

[105] Tsung-Han Tsai, Shih-Way Huang, and Yi-Wen Wang. Architecture design of mdct-based psychoacoustic model co-processor in mpeg advanced audio coding. In Circuits and Systems, 2004. ISCAS ’04. Proceedings of the 2004 International Symposium on, volume 2, pages II–761–4 Vol.2, May 2004.

[106] Tsung-Han Tsai, Shih-Way Huang, and Yi-Wen Wang. An accelerated pshchoacoustic model chip design for mpeg 2/4 aac audio. In Cellular Neural Networks and Their Applications, 2005 9th International Workshop on, pages 245–248, May 2005.

[107] Tsung-Han Tsai, Jia-Her Luo, and Sung-Che Li. Low complexity architecture design of MDCT-based psychoacoustic model for MPEG 2/4 AAC encoder. In IEEE International Symposium on Circuits and Systems, 2006.

[108] Bin Wang, Jianwu Zhang, Yingbiao Yao, and Li Xie. A new bit-allocation algorithm for aac encoder based on linear prediction. In Communication Technology, 2008. ICCT 2008. 11th IEEE International Conference on, pages 726–729, Nov 2008.

[109] P.H. Westerink, J. Biemond, and D.E. Boekee. An optimal bit allocation algorithm for sub-band coding. In Acoustics, Speech, and Signal Processing, 1988. ICASSP-88., 1988 International Conference on, pages 757–760 vol.2, Apr 1988.

[110] Xiph.org Foundation. Free lossless audio codec homepage. http://xiph.org/ /.

155 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07 [111] Xiph.org Foundation. Opus. http://opus-codec.org.

[112] Xiph.org Foundation. Vorbis. http://www.vorbis.com/.

[113] Cheng-Han Yang and Hsueh-Ming Hang. Efficient bit assignment strategy for perceptual audio coding. In Acoustics, Speech, and Signal Processing, 2003. Proceedings. (ICASSP ’03). 2003 IEEE International Conference on, volume 5, pages V–405–8 vol.5, April 2003.

[114] Cheng-Han Yang and Hsueh-Ming Hang. Cascaded trellis-based rate-distortion control algorithm for MPEG-4 advanced audio coding. Audio, Speech, and Language Processing, IEEE Transactions on, 14(3):998 – 1007, may 2006.

[115] Cheng-Han Yang and Hsueh-Ming Hang. Efficient Bit Allocation Algorithm For MPEG-4 Advanced Audio Coding. In Signals, Systems and Computers, 2006. ACSSC ’06. Fortieth Asilomar Conference on, pages 2119–2124, Oct 2006.

[116] Junyong You, Ulrich Reiter, Miska M. Hannuksela, Moncef Gabbouj, and Andrew Perkis. Perceptual-based quality assessment for audio-visual services. Signal Processing: Image Communication, 25(7):482 – 501, 2010. Special Issue on Image and Video Quality Assessment.

[117] C. Yu and S. D. You. Comparison of two different approaches to detect perceptual noise for MPEG-4 AAC, volume 3332 of Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 2004.

[118] Eberhard Zwicker. Subdivision of the audible frequency range into critical bands (frequenzgruppen). The Journal of the Acoustical Society of America, 33(2):248–248, 1961.

156 Pobrano z http://repo.pw.edu.pl / Downloaded from Repository of Warsaw University of Technology 2021-10-07