5. Metody kompresji sygnałów

5.5. Kwantyzacja wektorowa współczynników transformat

Zastosowanie kwantyzacji wektorowej w odniesieniu do współczynników transformaty jest naturalną konsekwencją ich blokowej struktury. Jednakże, bardziej szczegółowa analiza dostarcza informacji o wielu dalszych, istotnych zaletach, jakie rodzi połączenie tych dwu metod kompresji sygnału.

Schemat blokowy najprostszego systemu kwantyzacji wektorowej współczynników transformaty przedstawiono na rys. 5.5.

 

Rys. 5.5  Schemat blokowy kwantyzacji wektorowej współczynników transformaty

Blok danych tworzący wektor X jest poddawany transformacji liniowej T. Wektor wynikowy Y (współczynników transformaty) jest kwantowany wektorowo w bloku VQ. Skwantowane wektorowo współczynniki Y’ są poddawane transformacji odwrotnej T-1 dając w wyniku wektor odtworzony X’.

Jak wspomniano wcześniej transformacja liniowa „upakowuje” energię w obrębie części składowych wektora wynikowego. W pierwszym przybliżeniu pewna liczba współczynników transformaty może zostać pominięta, co powoduje ograniczenie rozmiarów wektora i tym samym upraszcza kwantyzację. W przypadku odrzucenia składowych wektora X = {X<sub>i</sub>: i = 1,2,3,...,K} o znikomej zawartości energetycznej (selekcja) otrzymuje się wektor Z o zmniejszonym rozmiarze, powiedzmy L. Kwantyzacji wektorowej poddawany jest wektor Z, a w jej wyniku powstaje wektor Z’. Wektor ten uzupełniony zerami do rozmiaru oryginalnego (K>L) jest następnie poddawany transformacji odwrotnej. Dodatkową zaletą omawianej metody są oszczędności w rozmiarze słownika, za który może posłużyć słownik oryginalny po odrzuceniu stosownych fragmentów każdego wektora kodowego. Schemat blokowy tego systemu przedstawia rys. 5.6.

 

Rys. 5.6  Schemat blokowy kwantyzacji wektorowej z redukcją rozmiarów wektora

Można łatwo wykazać, że:

 

  ||X-X^{\prime}||^2=||Z-Z^{\prime}||^2+||Y-S^{-1}SY||^2 (5.18)

 

zaś średnia wartość błędu kwantyzacji wynosi:

 

  D=E\left[ ||Z-Z^{\prime } ||^{2}\right] =\sum\nolimits ^{K}_{i=L+1} E\left[ Y^{2}_{i}\right] (5.19)

 

Wprowadzony błąd dodatkowy jest równoważny energii odrzuconych próbek widma.

Jak już wspomniano przy okazji omawiania standardowej kwantyzacji wektorowej FSVQ, w przypadku gdy w dziedzinie transformaty wektor wynikowy ma rozmiar zbyt duży do przeprowadzenia bezpośredniej kwantyzacji, z uwagi na absurdalny rozmiar słownika, składowe tego wektora dzieli się na podwektory przeznaczone do kwantyzacji z użyciem indywidualnych słowników. Globalne słowo kodowe stanowi efekt złożenia cząstkowych słów kodowych - stąd nazwa metody: kwantyzacja wektorowa z kodem składanym (PCVQ - Product Code Vector Quantization). Z kolei globalny słownik wynikowy stanowi iloczyn kartezjański słowników cząstkowych.

Niech dana będzie funkcja g(Y) służąca do powrotnego złożenia wektora Y z wektorów cząstkowych: Y = g(Y1,Y2,Y3,...,YF). Dla każdego podwektora Yi, dany jest Ni-wymiarowy  słownik Ci. Kwantyzator generuje zbiór indeksów {I<sub>i</sub>}, służących do późniejszego odtworzenia wektorów wynikowych {<b>Y<sub>i</sub></b>}, gdzie Y’i Î Ci, dla i = 1,2,3,...,F. W efekcie globalna postać wektora odtworzonego Y’  zostaje utworzona na podstawie globalnego słownika wynikowego. Postać jego jest równoważna iloczynowi kartezjańskiemu słowników składowych:

 

  C=C_1\times\ C_2\times\ C_3\times\cdot\cdot\cdot\times\ C_F (5.20)

 

Odtworzony wektor Y’ powstanie po ponownym złożeniu podwektorów Yi. Zbiór wszystkich wektorów kodowych dostępnych dla odtworzenia wektora Y’ ma liczność N równoważną efektywnemu rozmiarowi słownika globalnego C:

 

  N=\prod_{i=1}^{F}N_i (5.21)

 

Słownik składany nie spełnia warunku optymalności, gdyż w końcowym etapie tworzony jest na podstawie zależności zdefiniowanej explicite. Ogólna struktura systemu kwantyzacji wektorowej z kodem składanym jest przedstawiona na rysunku 5.7 (symbolami Ci  oznaczone są słowniki cząstkowe).

 

Rys. 5.7  Ogólna struktura systemu kwantyzacji wektorowej z kodem składanym

Jak wynika ze schematu, składowe wektory odtworzone Yi, nie muszą być wybierane niezależnie (indywidualnie) lecz mogą być związane z doborem sąsiadów w taki sposób, aby optymalizować minimum błędu globalnego odtworzenia wektora Y’.

Jak zwykle praktyka narzuca konieczność stosowania struktur nieco bardziej uproszczonych jak np. struktura z niezależną kwantyzacją wektorową składowych w oparciu o indywidualne słowniki (Rys.5.8).

 

Rys. 5.8 Struktura kwantyzatora wektorowego z kodem składanym i niezależną kwantyzacją

Teoretycznie struktura ta oddala się jeszcze bardziej od konfiguracji optymalnej, ale charakteryzuje się znacznie mniejszą złożonością realizacyjną. Szczególny przypadek tej struktury, wydaje się najprostszy i daje podział wektora globalnego Y na podwektory metodą sekwencyjną (w sposób geometryczny), co można zapisać jako: Y= (Y1 Y2 Y3...YF).

Dla średniokwadratowej miary błędu prawdziwa jest zależność:

 

  ||Y - Y’||2 = ||Y1 - Y’1||2 + ||Y2 - Y’2||2 + ||Y3 - Y’3||2 +...+ ||YF - Y’F||2 (5.22)