Kompresja grafiki

Kompresja grafikiKompresja grafiki cyfrowej

Format JPEG

JPEG dzieli obraz na określone strefy barw i tak też odtwarza je po skompresowaniu. Oddziela on informację o jaskrawości i odcieniach kolorów. Wykorzystano tu właściwość ludzkiego oka, dzięki której można "zacierać" pewne subtelne różnice występujące przy "przechodzeniu" kolorów.

Charakterystyczne "dzielenie obszarowe" objawia się głównie charakterystyczną "otoczką" pewnych elementów obrazka, zwłaszcza tych gdzie cieniowanie (w obrębie danego koloru) jest najbardziej szczegółowe i intensywne. Kompresja JPEG ma charakter nieodwracalny (informacje o pewnych elementach pliku graficznego są tracone bezpowrotnie).

JPEG znakomicie nadaje się do zachowywania obrazków o pełnej (24 bitowej) gamie kolorów. Pliki, które bez kompresji zajmują ponad 20 MB, po zapisaniu w formacie JPEG są tak małe, że można je zmieścić na zwykłej dyskietce. Utrata jakości, do której dochodzi w wyniku kompresji, nie jest dostrzegalna gołym okiem (ani na ekranie monitora, ani na wydruku), o ile współczynnik kompresji leży poniżej 1:20-1:30. Jednak nie odbyło się bez wad tego formatu. Przy dużej kompresji (powyżej 1:30) można zauważyć znaczne zniekształcenia kolorów. Szczególnie przy odcieniach zbliżonych do koloru skóry i przy wypełnieniach gradientowych (zamiast łagodnych przejść widać "chropowate" plamy, zaś przy ostrych konturach powstają dziwaczne cienie). Standard JPEG nie nadaje się do tymczasowego przechowywania danych graficznych (JPEG ma tendencje degeneracyjne - przy każdorazowym zapisywaniu zmodyfikowanego pliku obrazek coraz bardziej traci na jakości), za to doskonale służy do ozdabiania stron WWW oraz zachowywania w pełni gotowych wyników prac i fotografii.

Format PNG

W formacie tym zastosowany został algorytm kompresji deflate/inflate, który także stosuje się w programach takich jak PkZip, GZip. Jego idea polega na stosowaniu metody słownikowej, a następnie statycznego lub adaptacyjnego kodowania Huffmana. Tablice kodu Huffmana przypisują krótsze słowa kodowe dla mniejszych wartości próbek (występują one częściej). Jeśli liczba bitów użytych w procesie kodowania przekracza dozwoloną dla danego bloku danych wartość, algorytm koryguje to poprzez dobranie odpowiednio dużego współczynnika skali. Prowadzi to do większych wartości kroku kwantyzacji co pozwala osiągnąć mniejsze wartości skwantowane. Operacja ta powtarzana jest do momentu osiągnięcia wymaganej liczby bitów.

Format PCX

Dane obrazowe kompresowane są liniami począwszy od punktu 0,0 (lewy, górny róg obrazu). Jeżeli obraz ma kilka płatów to są one kompresowane po kolei (najpierw płat 0, potem 1, itd...). Standard nie mówi nic o tym, czy kolejne płaty mają być kompresowane oddzielnie jak linie, czy też traktowane jako ciąg bajtów. W trybach 24 bitowych najpierw kompresowane są składowe koloru R, następnie G, a na końcu B. Sama idea kompresji jest prosta. Jeżeli w jednej linii kolejne punkty mają taki sam kolor to zapisywana jest tylko liczba ich wystąpień oraz kolor. No dobrze, ale jak rozróżnić w pliku liczbę powtórzeń od koloru. Rozwiązanie jest prostsze niż się wydaje. W PCX liczba powtórzeń jest większa od liczby C0h (192), jeśli więc należy zapisać kolor o wartości większej niż ta liczba to zapisuje się C0+liczba powtórzeń, kolor.

Format TIFF

Dane obrazowe w tym formacie zapisywane są na wiele sposobów. Jednym z nich jest kompresja LZW. W odróżnieniu od metod stosowanych w JPEG jej działanie nie polega na usuwaniu fragmentów informacji obrazu kosztem jakości, lecz na skupianiu grup pikseli o tym samym kolorze. Plik nie składa się zatem z zestawienia kolorów pojedynczych, następujących po sobie pikseli, lecz z krótkich opisów jednolitych powierzchni. Daje to stosunkowo wysoką kompresję co do jakości obrazu (od 1:5 do 1:3 w przypadku fotografii).

Format GiF

Format ten korzysta z tzw. algorytmu kompresji słownikowej LZW. Polega ona w skrócie na tym, iż konstruowany jest wzorzec kodowania grupowego, czyli poziome ciągi pikseli tego samego koloru, zastąpione zostają przez liczbę określającą długość sekwencji . Dlatego właśnie wysoki stopień kompresji można osiągnąć w odniesieniu do plików graficznych, w których poziome sekwencje danych pikseli (przede wszystkim o tym samym kolorze) tworzą powielający się schemat. Podstawowe zalety formatu to: możliwość wyświetlania sekwencyjnego (w pierwszej kolejności uproszczony podgląd, a następnie wyostrzanie go do maksimum), umożliwienie zapisu w jednym pliku wielu obrazów GIF w celu późniejszej ich prezentacji w postaci animacji, możliwość ustawienia dla każdego piksela przezroczystości (jedynie dwie wariancje - albo jest, albo nie jest przezroczysty). Ma również wady: patent na technologię kompresji LZW powoduje, że za rozprowadzanie narzędzi stworzonych po 1995 roku przetwarzających grafiki w tym formacie należy odprowadzać opłaty, nie obsługuje trybów o 24-bitowym kolorze.