2. Kwantyzacja skalarna i kodery PCM

2.5. Kwantyzator adaptacyjny

Stosowanie kwantyzatora pseudologarytmicznego w pewnym stopniu rozwiązuje problem zależności SNRq od mocy sygnału. Trzeba jednak podkreślić, że sygnały o małej mocy są kwantowane z wykorzystaniem tylko części z całkowitej liczby L poziomów. Z tego względu lepszym rozwiązaniem jest zagęszczanie siatki poziomów kwantyzacji dla sygnałów o małej amplitudzie i rozciąganie dla sygnałów o większej amplitudzie, czyli adaptacja zakresu pracy kwantyzatora do amplitudy kwantowanego sygnału – rys 11. 

 

Rysunek 11 Idea kwantyzacji adaptacyjnej

Są dwie grupy algorytmów adaptacji kwantyzatora: adaptacja „w przód” (forward) i „wstecz” (backward). Metodę adaptacji „w przód” pokazano na rys.12.

 

Rysunek 12 Kwantyzator z adaptacją "w przód"

Po zgromadzeniu pewnej liczby próbek w buforze, znajduje się próbkę o największej wartości bezwzględnej  Następnie dobiera się zakres pracy kwantyzatora z tak, aby nie był mniejszy od tej próbki. Istnieje ograniczona liczba dopuszczalnych zakresów pracy, gdyż informacja o wybranym zakresie musi zostać wysłana do dekodera. Dopiero w tym momencie można rozpocząć kwantowanie, tzn. przypisywanie każdej próbce odpowiedniego poziomu kwantowania i wysyłanie b bitów do dekodera. Dekodowanie wymaga znajomości zakresu pracy i numerów poziomów kwantyzacji. Adaptację przeprowadza się co kilka-kilkanaście próbek. 
Zaletą adaptacji „w przód” jest brak przesterowań, wadą jest opóźnienie proporcjonalne do pojemności bufora. Nie jest też wygodne przesyłanie informacji dodatkowej, tzn. aktualnego zakresu pracy.
Adaptacja „w przód” jest stosowana w koderach audio wyższej jakości, np. w koderze MP3, ze względu na brak przesterowań.
Do transmisji mowy telefonicznej stosuje się najczęściej adaptację „wstecz”. Nie przesyła się tu informacji dodatkowej, a zakres pracy kwantyzatora jest synchronicznie aktualizowany w koderze i dekoderze – rys.13.
 

Rysunek 13 Kwantyzator z adaptacją "wstecz"

Zakres pracy zmienia się co próbkę -najczęściej jest on mnożony przez współczynnik adaptacji M przypisany wybranemu poziomowi kwantyzacji: 

z_{n+1}=z_nM(I_n) (16)

Gdzie: 

  • z_n – zakres pracy dla n-tej próbki kwantowanego sygnału,
  • I_n – numer poziomu kwantyzacji wybrany dla n-tej próbki,
  • M(I_n) – współczynnik adaptacji (mnożnik) przypisany poziomowi kwantyzacji o numerze I_n

Na rys.14 pokazano przykład 4-poziomowego kwantyzatora z adaptacją „wstecz”. Wewnętrznym poziomom kwantyzacji przypisane są mnożniki mniejsze od 1, a zewnętrznym – większe od 1. Dzięki temu algorytm działa prawidłowo: zawęża siatkę poziomów (mnoży przez 0.8) gdy próbki sygnału mają niewielką amplitudę i są zaokrąglane do poziomów kwantyzacji bliskich zeru i rozszerza siatkę poziomów (mnoży przez 1.6) gdy próbki mają większą amplitudę i są zaokrąglane do zewnętrznych poziomów. W ćwiczeniu laboratoryjnym „Kwantyzacja skalarna” można zmieniać współczynniki adaptacji. Wybierając np. wartości 1.01, 0.99, 0.99, 1.01 mamy bardzo powolną adaptację. Wybierając np. 2, 0.5, 0,5, 2 otrzymujemy szybką adaptację. 
Gdy mamy np. 16 poziomów musimy zadeklarować 8 par mnożników (z reguły ich wartości są symetryczne, bo próbki dodatnie i ujemne sygnału mowy maja podobne wartości bezwzględne).

 

Rysunek 14 Przykładowe współczynniki adaptacji 4-poziomowego kwantyzatora z adaptacją "wstecz"

Zaletą adaptacji „wstecz” jest znikome opóźnienie (tak jak w PCM, wynosi ono 1 próbkę), nie przesyła się też zakresu pracy. Wadą jest brak zabezpieczenia przed przesterowaniem. Po gwałtownym zwiększeniu amplitudy sygnału, następuje seria przesterowanych próbek, zanim kwantyzator powiększy odpowiednio swój zakres pracy. Przy przesyłaniu mowy telefonicznej te krótkie okresy przesterowania nie wpływają decydująco na jakość sygnału, w związku z tym w koderach ADPCM stosuje się niemal wyłącznie kwantyzatory adaptacyjne.