Podręcznik

1. Matematyczna modelowanie informacji

1.5. Kodowanie, czyli usuwanie nadmiarowości

W zagadnieniu kompresji jeszcze silniej wykorzystuje się model informacji, tak probabilistyczne, jak też różne formy modeli uwzględniających w jakimś stopniu funkcje semantyczne danych źródłowych (znaczenie pojedynczych symboli, ciągów danych, relacji pomiędzy danymi, itd.). Zasadnicze jest też odniesienie do reprezentacji rozumianej jako ciąg bitów o możliwie zredukowanej długości - kompresją nazywamy wyznaczanie możliwie oszczędnej reprezentacji sekwencji danych. 

Poniżej przedstawiono bardziej ścisłe próby zdefiniowania pojęcia kompresji - pierwszą w ujęciu bardziej intuicyjnym, drugą - w rozumieniu najnowszych trendów rozumienia i wykorzystywania procesów kompresji danych.

Kompresja to odwracalny lub nieodwracalny proces redukcji długości reprezentacji danych. Odwrotny proces odtwarzania źródłowej reprezentacji danych lub jej przybliżenia na podstawie reprezentacji skompresowanej (nazywanej reprezentacją kodową) nazywany jest dekompresją.

Cele kompresji w zależności od charakteru danych i rodzaju zastosowań mogą być jednak bardziej różnorodne. 

Kompresja to wyznaczanie możliwie użytecznej w określonym zastosowaniu reprezentacji danych, czyli reprezentacji informacji, przy dążeniu do redukcji wszelkiej nadmiarowości na poziomie pojedynczych bitów.

Można wyróżnić dwie zasadnicze kategorie metod kompresji danych: bezstratne i stratne. W kompresji bezstratnej (inaczej odwracalnej, bezstratnej numerycznie) zrekonstruowany po kompresji ciąg danych jest numerycznie identyczny z sekwencją źródłową z dokładnością do pojedynczego bitu. Taki rodzaj kompresji jest wykorzystywany w zastosowaniach wymagających wiernej rekonstrukcji danych oryginalnych, takich jak archiwizacja dokumentów tekstowych, historii operacji finansowych na kontach bankowych, niektórych obrazów medycznych i wielu innych.

Kompresja z selekcją informacji (Inaczej kompresja stratna lub nieodwracalna) nie pozwala odtworzyć (zrekonstruować) z dokładnością do pojedynczego bitu danych źródłowych. W przypadku tzw. stratnej kompresji obrazów wprowadza się czasami pojęcie wizualnej bezstratności, a w przypadku dźwięku -- bezstratności słuchowej (ogólnie chodzi o bezstratność percepcji danych). Uproszczenie strumienia danych prowadzące do efektywniejszej, przede wszystkim krótszej reprezentacji może być niezauważalne dla obserwatora w normalnych warunkach prezentacji. Przykładowo, przy prezentacji obrazów medycznych o dwunastobitowej dynamice za pomocą stacji roboczej z ośmiobitowym przetwornikiem karty graficznej usunięcie (zniekształcenie) treści zapisanej w czterech najmłodszych bitach oryginalnych wartości pikseli nie spowoduje żadnych zmian w obserwowanym obrazie. Definicja percepcyjnej bezstratności jest jednak względna, zależna od zdolności, umiejętności i zamierzeń odbiorcy, co nakazuje  zachowanie ostrożności w konkretnych zastosowaniach. Przykładowo, wystarczy zmiana warunków obserwacji obrazu, np. zmiana okna obserwacji kolejnych map bitowych, użycie danych przetworzonych do rejestracji obrazu na filmie, bądź też poddanie ich dalszemu przetwarzaniu (eliminacja szumów, podkreślenia krawędzi, segmentacja itp.), by wystąpiła zauważalna różnica pomiędzy analizowanym obrazem źródłowym i obrazem ze wstępnie wyzerowanymi najmłodszymi bitami.

Zgodnie z klasycznym paradygmatem kompresji stratnej dane wejściowe transformuje się w nową przestrzeń pośrednią, w której redukowana jest nadmiarowość reprezentacji źródłowej. Wykorzystuje się przy tym ograniczenie zbioru możliwych wartości pośrednich poprzez kwantyzację, co jako proces nieodwracalny powoduje stratność całej metody. Drugim ważnym etapem jest kodowanie reprezentacji pośredniej. Odtworzona sekwencja danych jest jedynie przybliżeniem sekwencji źródłowej zachowującym w założeniu istotne jej właściwości. 

Uproszczenie charakteru danych (związane z redukcją informacji rozumianej syntaktycznie) w procesie kwantyzacji, przeprowadzanej w dziedzinie efektywnej transformaty, pozwala znacznie zwiększyć stopień kompresji w stosunku do metod bezstratnych. Wymaga to jednak rzetelnej kontroli jakości danych rekonstruowanych za pomocą wiarygodnych miar zachowanej ilości informacji. Kontrola ta pozwoli ustalić wartości dopuszczalnych stopni kompresji w określonych zastosowaniach.

Zasadniczym celem selekcji informacji w kompresowanym zbiorze danych jest usunięcie wszystkiego, co nie jest informacją dla odbiorcy, aby uprościć reprezentację danych i zredukować jej długość. Przykładowo, w obrazie może zostać wydzielony obszar zainteresowania (ROI), którego rekonstrukcja ze skompresowanej reprezentacji pozwoli odtworzyć oryginał z dokładnością do pojedynczego bitu, podczas gdy pozostała część obrazu może zostać maksymalnie uproszczona, bez zachowania nawet elementarnej treści. W innym przypadku selekcja może prowadzić do wiernego zachowania jedynie tych właściwości odtwarzanych danych, które są istotne dla odbiorcy. Opis wybranych metod kompresji przedstawiono w dalszej części. 

Efektywność kompresji może być rozumiana zależnie od zastosowania, rodzaju danych kodowanych, sprzętowych możliwości implementacji, parametrów środowiska transmisji|gromadzenia informacji, wymagań użytkownika czy sposobu rozpowszechniania informacji itp. Najbardziej powszechnym rozumieniem tego pojęcia jest efekt minimalizacji rozmiaru  reprezentacji skompresowanej danych oryginalnych. Do liczbowych miar tak rozumianej efektywności należą przede wszystkim: stopień kompresji CR (compression ratio), procent kompresji CP (compression percentage) oraz średnia bitowa BR (bit rate).

Stopień kompresji wyrażany jest stosunkiem liczby bitów reprezentacji oryginalnej do liczby bitów reprezentacji skompresowanej wyrażanej w postaci n:1, np. 2:1, 100:1. Procent kompresji (stosowany często w ocenie skuteczności archiwizerów tekstu) określany jest wyrażeniem CP=(1-\frac{1}{CR})\cdot 100\%, a średnia bitowa to średnia ilość bitów reprezentacji skompresowanej przypadająca na element źródłowej sekwencji danych. Efektywność (skuteczność, wydajność) kompresji oznacza wtedy uzyskanie możliwie dużych wartości CR i CP, czy też możliwie małej średniej bitowej BR. Miary CR i CP są miarami względnymi, przydatnymi np. w ocenie efektywności koderów w zastosowaniach archiwizacji (ich wartość łatwo przekłada się na poziom oszczędności kosztów nośników). Bezwględna wartość BR charakteryzuje rozmiar wyjściowych danych kodera i jest użyteczna w zastosowaniach transmisyjnych (łatwo określić przepustowość sieci np. wymaganą przy transmisji w czasie rzeczywistym).

W innych zastosowaniach efektywność może być związana z minimalizacją czasu kompresji (lub dekompresji), np. przy rejestracji danych pomiarowych w czasie rzeczywistym, wielokrotnym odczytywaniu obrazów zgromadzonych w ogólnodostępnej bazie danych. Kryteriami efektywności mogą być także: minimalny iloczyn: czas \times średnia bitowa, wysoka odporność strumienia danych skompresowanych na błędy transmisji, dobra jakość danych po kompresji/dekompresji w zależności od rodzaju wprowadzonych zniekształceń, możliwość elastycznego  odtwarzania danych źródłowych w szerokim zakresie skal, możliwość kodowania wybranego obszaru (fragmentu) zainteresowań w sposób odmienny od pozostałej części zbioru źródłowego, itp. 

Można przyjąć, że kodowanie jest w pierwszym przybliżeniu synonimem kompresji, niekiedy rozumianym w nieco zawężonym znaczeniu. Podstawą kompresji-kodowania są kody, tj. ustalone reguły tworzenia użytecznej reprezentacji ze zredukowaną nadmiarowością na poziomie bitów. Na bazie kodów podstawowych opracowywane są efektywne metody kompresji danych o różnej specyfice, czemu służą powszechnie przyjęte, sprawdzone wzorce  rozwiązań zweryfikowanych w praktyce, czyli paradygmaty kompresji.