Przekazywanie informacji multimedialnych
2. Kompresja i porządkowanie danych
2.5. Odwracalna kompresja danych
Bitowo bezstratna kompresja obrazów oznacza przede wszystkim tworzenie możliwie oszczędnej ich reprezentacji z wykorzystaniem zasad statystycznej teorii informacji do celów archiwizacji. Przez ostatnie ponad 10 lat, od czasu opracowania efektywnych koderów CALIC i według standardu JPEG-LS, nie nastąpił żaden przełom, jakościowy postęp w dziedzinie odwracalnej kompresji obrazów.Wspomniane kodery odwracalne na etapie modelowania źródeł informacji wykorzystują 2W (dwuwymiarową) charakterystykę danych w postaci efektywnych modeli predykcji.
Obserwuje się natomiast tendencję modelowania źródeł informacji na niższym poziomie bez pośrednich modeli sąsiednich wartości pikseli źródłowych. Uproszczenia prowadza do zamiany: zamiast obiektów piksele, zamiast pikseli - rozkłady map bitowych. Stosuje się modelowanie lokalnych kontekstów wybranych przestrzeni bitowych niekoniecznie skorelowanych z obrazową interpretacją danych, szacowanie zależności danych traktowanych bardziej elementarnie (z uproszczonym alfabetem źródła), a co za tym idzie bardziej uniwersalnie.
W koderach odwracalnych kluczową rolę odgrywają metody modelowania kontekstu przy kodowaniu binarnym (zwykle arytmetycznym). W PPM (prediction with partial string matching) przy modelowaniu prawdopodobieństw warunkowych adaptacyjnego kodera arytmetycznego wykorzystywane są konteksty różnych rozmiarów. Alfabet linii prawdopodobieństw określonego kontekstu rozszerzany jest dynamicznie, tj. niezerowy podprzedział określonego symbolu pojawia się w linii prawdopodobieństw dopiero wówczas, gdy symbol wystąpi w sekwencji wejściowej poprzedzony tym kontekstem. Ponadto w każdej linii zarezerwowany jest podprzedział symbolu ''PRZEŁĄCZ'', który służy do sygnalizacji zmiany rozmiaru kontekstu (dobierany jest możliwie najdłuższy kontekst zaczynając od kontekstu masymalnego rzędu m). Poszczególne odmiany metody PPM, dostosowane do danych tekstowych, obrazowych, innych, różnią się sposobem określania linii prawdopodobieństw i kontekstów (rozmiarem, kształtem, uproszczeniem statystyki w danym kontekście).
W przypadku, gdy efektywne opisanie jednym kontekstem złożonych lokalnych zależności danych źródłowych nie jest możliwe, stosowane jest niekiedy ważenie kilku modeli prawdopodobieństw bazujących na różnych kontekstach. Jeśli rozkład określono na podstawie kontekstu , a } na podstawie , wówczas do kodowania można wykorzystać ważony rozkład prawdopodobieństw . Metoda ważenia rozkładów prawdopodobieństw z wykorzystaniem struktury drzewa CTW (context-tree weighting) pozwala wykorzystać wszystkie możliwe konteksty i modele kontekstu ograniczone rozmiarem m. CTW bazuje na binarnym alfabecie źródła informacji bez względu na rodzaj kodowanych danych (obraz, dźwięk, tekst itp.). Wymaga to wstępnej konwersji ciągu symboli nad alfabetem w ciąg bitowy (tj. na wstępnej serializacji, jak w standardzie JBIG, czy też w metodzie BKO), kodowany z wykorzystaniem binarnej struktury drzewa określającej konteksty i prawdopodobieństwa modeli źródła z pamięcią i bez do sterowania kodowaniem arytmetycznym.
Do określenia prawdopodobieństw ciągu symboli wykorzystuje się tzw. prawdopodobieństwo blokowe całego bloku bitów, obliczane na podstawie częstości dotychczasowych (w modelu przyczynowym) wystąpień zer i jedynek zakładając model bez pamięci. Zależności pomiędzy danymi uwzględnione zostały w tzw. prawdopodobieństwach ważonych obliczanych w węzłach tworzonego drzewa binarnego.
Inaczej wyznaczane jest też prawdopodobieństwo symboli, tj. według wyrażenia: , gdzie alfabet źródła , , - liczba wystąpień odpowiednio i w kodowanym dotychczas ciągu źródłowym. definiowane jest analogicznie.
Coraz większą rolę w praktycznych zastosowaniach odgrywają uniwersalne narzędzia do archiwizacji danych (tzw. archiwizery) wykorzystujące podobne metody statystycznego modelowania źródeł informacji z doborem parametrów zależnie od typu danych. Wykazują one dużą efektywność kompresji skutecznie konkurując z rozwiązaniami dedykowanymi np. kompresji obrazów. Dowodem tego są wyniki licznych eksperymentów, a także przedstawione poniżej rezultaty przeprowadzonych testów własnych (rys. 2.2).
Rys. 2.2 Porównanie efektywności bezstratnych koderów obrazów. Wykorzystano 29 obrazów testowych w 8 bitowej skali szarości (z prac standaryzacyjnych komitetu JPEG), o nazwach jak na rysunku. Wartości średnich bitowych zbioru wszystkich obrazów testowych dla poszczególnych koderów wynoszą odpowiednio: 4,55 bnp (JPEG\_LS), 4,60 bnp (JPEG2000 VM8.6), 4,75 bnp (JBIG), 4,35 bnp (CALIC), 4,36 (BKO) oraz 4,1 bnp (WinRK v. 2.1.6). Skrót bnp oznacza ''bitów na piksel''.
Uniwersalny archiwizer WinRK (wykorzystujący odmianę metody PPM do modelowania kontekstu) pozwolił w kilku przypadkach na wyraźne zmniejszenie długości zakodowanych danych obrazowych (średnio o blisko 6\%) w stosunku do najefektywniejszego kodera obrazów CALIC. W stosunku do standardów JPEG-LS i JPEG2000 poprawa efektywności sięgnęła odpowiednio 10% i 11%. Nowa wersja WinRK (niestety na obecnym etapie realizacji nieco zbyt złożona obliczeniowo) z algorytmem modelowania PWCM pozwala skrócić skompresowane dane obrazowe o dodatkowe kilka procent.
Dwa uniwersalne kodery map bitowych: według standardu JBIG oraz wykorzystujący nieco bardziej dopasowaną do danych obrazowych metodę serializacji BKO pozwoliły również uzyskać wysoką efektywność kompresji obrazów testowych, przy czym średnia bitowa dla BKO jest na poziomie średniej kodera CALIC.
Okazuje się, że modele informacji obrazowej wyższego poziomu (obiektowe, predykcyjne, transformacji liniowych) nie usprawniają procesu redukcji nadmiarowości wejściowej reprezentacji danych, są za mało elastyczne w dopasowaniu modeli źródeł do lokalnych (chwilowych) cech sygnału. Są one zaś szczególnie istotne przy porządkowaniu, tworzeniu hierarchii informacji uwzględniając niekiedy przesłanki semantyczne w kompresji selektywnej (więcej o tym w treści wykładu o formowaniu użytecznych reprezentacji w ramach modułu trzeciego.