Podręcznik
1. Kompresja stratna i bezstratna
1.2. Kompresja stratna i jej granice
Występujące w naszym otoczeniu dźwięki mowy, muzyki czy obrazy są źródłami informacji o nieskończonej entropii, nie można więc ich bezstratnie zakodować w postaci strumienia binarnego o skończonej długości. Próbki sygnału akustycznego czy piksele obrazu są to liczby rzeczywiste, mogące przyjmować nieskończenie wiele różnych wartości. Nie można ich zapisać w słowie kodowym o skończonej długości.
Nieskończona entropia wynika z następującego rozumowania. Niech próbka sygnału lub piksel obrazu przyjmuje M wartości z jednakowym prawdopodobieństwem . Entropia obliczona wg wzoru (1) wynosi:
![]() |
Gdy M dąży do nieskończoności, wówczas i entropia staje się nieograniczona.
Gdy ograniczymy liczbę wartości logicznych reprezentujących sygnał o nieskończonej entropii, powstanie różnica między sygnałem oryginalnym i sygnałem zdekodowanym ze strumienia binarnego:
![]() |
(3) |
W przypadku kodowania sygnałów akustycznych ta różnica jest postrzegana jako szum, mówimy o szumie kwantyzacji. Miarą jakości odtworzonego sygnału akustycznego jest stosunek mocy sygnału do mocy szumu:
![]() |
(4) |
Konstruując kodery, dążymy do maksimum SNRq, przy danej średniej długości słowa kodowego b elementów binarnych (wartości logicznych) na próbkę sygnału czy piksel obrazu (ogólnie mówimy „na odczyt źródła informacji). Starając się zoptymalizować koder dźwięku czy obrazu, powinniśmy pamiętać o tym, że wartość SNRq jest ograniczona właściwościami samego sygnału i istnieje nieprzekraczalna wartość maksymalna SNRq dla każdej wartości b. To ograniczenie zazwyczaj przedstawia się w postaci funkcji RDF (funkcja przepływność – zniekształcenie, ang. rate - distortion function). Na osi x odkładamy wartości b (długość słowa kodowego na próbkę lub piksel, w przypadku dźwięku staje się przepływnością binarną po pomnożeniu przez częstotliwość próbkowania). Na osi y odkłada się odwrotność SNRq, czyli stosunek mocy zniekształceń powstających w procesie stratnej kompresji do mocy sygnału. Przykładowy przebieg funkcji RDF dla sygnału, którego wartości chwilowe mają rozkład gaussowski, pokazano na rys.1. Jeżeli próbki sygnału nie są skorelowane , wówczas RDF jest opisana wzorem
![]() |
(5) |
Jeśli próbki sygnału są skorelowane, to oznacza że istnieje możliwość zmniejszenia zniekształceń (szumu) dzięki stosowaniu predykcji. Oznacza to obniżenie wartości RDF dla tego sygnału. RDF jest funkcja malejącą, ale wartość zerową (czyli bezstratne kodowanie) osiąga tylko dla sygnałów o skończonej entropii. Wartość b, przy której RDF osiąga wartość zerową, jest właśnie entropią sygnału.
Wszystkie kodery osiągają wartości powyżej entropii. Na rys.1 pokazano wyniki dla kwantyzatora wektorowego kodującego N-wymiarowe wektory skorelowanych próbek o rozkładzie gaussowskim.
Rysunek 1 Funkcja RDF dla nieskorelowanego i skorelowanego sygnału o rozkładzie gaussowskim