Miernictwo elektroakustyczne

Poprzedni temat

Strona główna

Następny temat


Pomiary kodeków stratnych

Rozdział ten opisuje zagadnienia związane z pomiarami jakości algorytmów kodujących stratnie dźwięk. Przedstawione są również przykładowe wyniki testów.

Zagadnienia:
Systemy kodujące sygnały składają się z dwóch segmentów: kodera, który przetwarza dane przed transmisją czy nagraniem oraz dekodera, który przywraca zakodowane dane do oryginalnej postaci. System składający się z kodera i dekodera jest określany mianem kodeka.
Większość kodeków stratnych bazuje na modelu psychoakustycznym ludzkiego słuchu, aby ograniczyć ilość danych potrzebnych do opisu cyfrowego sygnału audio, nie pogarszając jednocześnie jakości dźwięku subiektywnie odczuwanej przez człowieka. W tradycyjnych urządzeniach audio badając jakość zwraca się uwagę na przykład na stopień liniowości czy też niezmienność parametrów w czasie. Te kryteria nie dają się zastosować do pomiaru kodeków, gdyż są one z natury nieliniowe, zmienne w czasie i nie przepuszczają całej informacji, jaka została podana na ich wejście. Przy kodowaniu sygnałów wykorzystuje się zjawiska maskowania w czasie i częstotliwości oraz pasm krytycznych słuchu do usunięcia części informacji z sygnału. Sygnały zostają na wstępie przekształcone za pomocą transformaty FFT w dziedzinę częstotliwości następnie składowe niesłyszalne dla ucha zostają usunięte oraz przeprowadzana jest ich kwantyzacja w ten sposób, aby powstałe w jej wyniku produkty zniekształceń pozostały poniżej krzywych maskowania. Celem pomiarów kodeków jest stworzenie obiektywnych testów, których wyniki będą się pokrywały z wynikami subiektywnych testów odsłuchowych.

Poniższy rysunek pokazuje odpowiedź kodera na typowy test charakterystyki częstotliwościowej badanej sygnałem sinusoidalnym.

Ten typ testu nie daje nam wiele informacji o kodeku. Widać tylko, że przenosi on równomiernie częstotliwości do 15kHz. Kodeki z reguły bardzo dobrze przenoszą sygnały proste natomiast problemy pojawiają się przy podawaniu na ich wejście sygnałów złożonych, gdyż do ich opisania potrzebna jest większa ilość bitów.

Kolejny rysunek przedstawia wyniki testu na zniekształcenia intermodulacyjne kodeka.

Widać, że zniekształcenia cyklicznie wznoszą się i opadają co 6dB. Efekt ten występuje również w innych testach przeprowadzanych w dziedzinie amplitudy. Powodem tego typu charakterystyki jest skalowanie przez algorytm kodera bloków próbek tak, aby pracował on z danymi w pełnej skali dynamiki.

Powyższy rysunek przedstawia widmo sygnału na wyjściu kodeka pobudzanego dwoma blisko położonymi tonami na wysokich częstotliwościach tak, aby znalazły się one w tym samym paśmie analizy kodera. Zniekształcenia będące wynikiem kwantyzacji są najbardziej widoczne powyżej częstotliwości testujących, czyli tam gdzie maskowanie jest większe.

Kolejny rysunek przedstawia widmo wyjściowe kodera przy pobudzeniu trzydziestoma logarytmicznie oddalonymi od siebie tonami, w przybliżeniu jeden na pasmo krytyczne.

Koder produkuje zniekształcenia osiągające pomiędzy tonami wysokie wartości. Zniekształcenia te pochodzą od szumu modulacyjnego wokół tonów testowych, produktów intermodulacji oraz zniekształceń kwantyzacyjnych.

Kolejny rysunek przedstawia widmo sygnału na wyjściu kodera przy pobudzeniu podobnym do poprzedniego, jednak tym razem tony testowe są zgromadzone na wysokich częstotliwościach.

Ostatnie trzy składowe zostają obcięte przez koder, natomiast produkty zniekształceń powoli opadają do podłogi szumowej w przybliżeniu jedną oktawę poniżej pierwszej częstotliwości testowej. Ponieważ nie ma tam żadnych tonów, które mogłyby je zamaskować bedą one wyraźnie słyszalne.
Badając odpowiedzi kodeków na pobudzanie sygnałami złożonymi, w których widmie brak jest pobudzenia w pewnych pasmach częstotliwości, można łatwo określić ich słabe punkty. Kolejne rysunki przedstawiają odpowiedzi kodeków na pobudzenie takimi sygnałami.


Widmo na wyjściu kodera przy pobudzaniu 24-tonowym sygnałem testowym z brakiem pobudzenia w paśmie 1kHz-4kHz


Krzywa maskowania oraz wykres całkowitych zniekształceń przy pobudzaniu sygnałem z brakiem pobudzenia w paśmie 1kHz-4kHz


Widmo na wyjściu kodera przy pobudzaniu wielotonowym sygnałem z brakiem pobudzenia w paśmie 1kHz-8kHz, o amplitudzie zredukowanej o 20dB


Krzywa maskowania oraz wykres całkowitych zniekształceń przy pobudzaniu sygnałem z brakiem pobudzenia w paśmie 1kHz-8kHz

W obu przypadkach widać opadanie wysokich częstotliwości spowodowane zbyt dużą ilością sygnałów do zakodowania. Przy sygnale testowym z luką w paśmie 1kHz-4kHz margines pomiędzy krzywą maskowania, a wykresem zniekształceń wyniósł w najgorszym przypadku około 40dB, natomiast przy badaniu drugim sygnałem testowym margines ten wyniósł 35dB.

    Kodeki stereo mogą pracować w jednym z dwóch trybów. Pierwszy z nich to tryb "dual mono", w którym sygnał w każdym z kanałów jest traktowany niezależnie i sygnał w pierwszym kanale nie ma żadnego wpływu na sposób kodowania sygnału w kanale drugim. Drugi tryb nosi nazwę "joint stereo". W tym trybie kodek korzysta z faktu, iż sygnały w obu kanałach są najczęściej mocno skorelowane ze sobą i w celu usunięcia redundancji w sygnałach koduje obydwa kanały do jednego, jednocześnie w drugim kanale przesyłając informacje o separacji stereo. Efekty towarzyszące tym trybom kodowania można zaobserwować testując kodek sygnałem stereo składającym się z wielu tonów prostych o częstotliwościach od 200Hz do 20kHz położonych odstępach 1/6 oktawy, przy czym w drugim kanale częstotliwości tych tonów są około 6% wyższe. Widmo takiego sygnału przedstawia poniższy rysunek.


Widmo sygnału do testowania kodeka stereo.

Badany kodek pracował z przepływnością 128 kilobitów na sekundę, co nie wystarczało do zakodowania dwóch niezależnych pełnopasmowych kanałów stereo. Wyniki testu przedstawiają poniższe rysunki.


Widmo sygnału wyjściowego kodeka pracującego w trybie DUAL MONO


Widmo sygnału wyjściowego kodeka pracującego w trybie JOINT STEREO

W obydwu trybach pracy kodeka widać duży wzrost podłogi szumowej w sygnale ze względu na niewystarczającą ilość bitów do zakodowania sygnału. Kodek pracujący w trybie dual mono pozostawił sygnały stereo odseparowane pomiędzy kanałami jednak ograniczył pasmo kanałów do 11kHz. W przypadku trybu joint stereo pasmo również zostało zredukowane, ale w tym przypadku jedynie do wartości 16kHz. Separacja kanałów nie została jednak w pełni zachowana. Sygnały o częstotliwościach poniżej 6kHz pozostały w oddzielnych kanałach, natomiast tony o wyższych częstotliwościach zostały "zmiksowane" i na wyjściu kodeka pojawiły się w obydwu kanałach.

    Kolejnym ważnym problemem w odniesieniu do kodeków jest sposób oceny ich jakości. Ich głównym celem jest kodowanie sygnałów tak, aby utrata jakości dźwięku odczuwana przez ucho ludzkie była jak najmniejsza, dlatego podstawowym sposobem na ocenę ich jakości są testy odsłuchowe. Dąży się jednak do automatyzacji tego procesu tworząc algorytmy testujące wykorzystujące perceptualny model ucha ludzkiego. Pomiar kodeka powinien odbywać się w warunkach jego naturalnej pracy, dlatego sygnałem testowym jest na przykład mowa lub muzyka. Algorytmy pomiarów perceptualnych w ogólności polegają na porównywaniu sygnałów: oryginalnego oraz przetworzonego przez kodek, po uprzednim przetworzeniu ich przez model ucha ludzkiego tak, aby analizowane były tylko składniki słyszalne przez człowieka.
Poniższy rysunek przedstawia ogólną strukturę algorytmów do pomiarów perceptualnych.

Wynikiem porównywania sygnałów przetworzonych przez model ucha jest zbiór parametrów zmiennych w czasie takich jak na przykład: zmiany w modulacji, głośność zniekształceń, zniekształcenia linowe (charakterystyka częstotliwościowa), częstotliwości słyszalnych zniekształceń, stosunek szumu do progu maskowania, prawdopodobieństwo detekcji, struktura harmoniczna błędu. Parametry te zostają następnie poddane algorytmom analizy odwzorowującym sposób postrzegania jakości dźwięku przez mózg. Przykładowo w tym kroku mogą być zastosowane algorytmy wykorzystujące sieci neuronowe. Efektem działań tych algorytmów jest liczba, którą można interpretować jako średnią opinie z testów odsłuchowych.
Pomiary kodeków stratnych - Quiz


Poprzedni temat

Strona główna

Następny temat