Podręcznik
5. Metody kompresji sygnałów
5.4. Alokacja bitów
Niech di(bi) oznacza lokalną wartość błędu średniokwadratowego kwantyzacji zmiennej Xi, za pomocą bi bitów. Wtedy wartość błędu globalnego kwantyzacji bloku wyniesie:
(5.16) |
Zadanie optymalnej alokacji bitów polega na określeniu wszystkich wartości bi minimalizujących wartość globalnej miary błędu D tak, aby spełniały nierówność:
(5.17) |
Teoretyczne rozważania dotyczące problemu alokacji bitów są tematem szeregu publikacji, w większości których przyjmuje się coraz bardziej rygorystyczne założenia co do parametrów statystycznych sygnału. Zdaniem autorów najprostszym sposobem jest realizacja alokacji bitów w sposób przyrostowy - opcjonalnego dodawania jednego bitu w każdym kroku spośród B iteracji (rys.5.4).
Krok 1: Założenia początkowe Krok 2: Określenie pozycji bloku w największej potrzebie Krok 3: Przydzielenie dodatkowych bitów pozycji wybranej w kroku 2 Krok 4: Sprawdzenie czy są jeszcze wolne bity |
Rys. 5.4 Algorytm alokacji bitów na potrzeby kwantyzacji wektorowej
Przyjęcie założenia o dużej rozdzielczości kwantyzacji jak zwykle ułatwia obliczenia - wtedy bowiem bieżąca wartość błędu di(m) jest proporcjonalna do wariancji sygnału na i-tej pozycji ze współczynnikiem 2-2b. Wynika stąd, że każdy dodatkowy bit redukuje błąd czterokrotnie.
Praktyczna realizacja algorytmu, szczęśliwie, może być dokonana z użyciem blokowej sekwencji treningowej. Każdy krok iteracji wymaga wówczas wyznaczania wartości globalnego błędu kwantyzacji (dla całej sekwencji). Błędy przechowywane w tablicy determinują funkcję błędu di(m).