6790847367

6790847367



B. Jackowski: Grafika dyskretna 17

4a. Kompresja RLE

Najprostszy pomysł zasadza się na zauważeniu, że jeżeli dane nie są całkiem chaotyczne, to jest spora szansa, że piksel danego koloru będzie się powtarzał wiele razy pod rząd.

Wystarczy zatem powstawiać w ciąg pikseli co jakiś czas dwa rodzaje znaczników: jeden mówiący, że najbliższy piksel jest powtórzony ileś tam razy, drugi zaś informujący, że kolejne ileś tam pikseli należy traktować dosłownie.

Ten sposób kompresji nosi nazwę RLE, z angielskiego run length enco-ding), co można by tłumaczyć jako kodowanie bieżących długości.

Znaczniki to oczywiście zwykłe liczby, na ogół z takiego samego zakresu jak kolory, czyli [0,255]. Należy się jedynie umówić, że na przykład liczby z zakresu 0 < z < 127 oznaczają powtórzenie z + 1 razy piksela następującego po znaczniku, a liczby z zakresu 128 < 2 < 255 oznaczają, że kolejne 2 — 127 pikseli nie zostało zakodowanych. Umówmy się jeszcze, że pierwszym elementem ciągu wynikowego jest znacznik. To wystarcza do jednoznacznej interpretacji zakodowanego ciągu.

Załóżmy dla przykładu, że mamy cieniowaną mapę bitową i że wejściowy ciąg pikseli ma następującą postać:

0,0,0,0,255,255,255,0,63,0,127,127,127,127,127,127,127

Możemy go zakodować w następujący sposób (znaczniki dla czytelności zostały podkreślone):

3,0,2,255,130,0,63,0,6,127

Pierwszy znacznik informuje, że wartość 0 ma zostać 4 razy powtórzona (tzn. 3 + 1), drugi - że wartość 255 należy powtórzyć 3 razy, trzeci - że kolejne 3 piksele nie są kodowane, wreszcie czwarty - że wartość 127 ma być 7 razy powtórzona. W ten sposób długość ciągu została zredukowana o 7 bajtów. Jeśli piksele się powtarzają długimi fragmentami, to można osiągnąć prawie 64-krotną redukcję, gdyż w najlepszym razie zamiast 128 bajtów wstawiamy 2 - znacznik oraz wartość.

Współczynnik redukcji można by poprawić, gdyby znaczniki przechowywane były w dwóch bajtach. Wówczas maksymalna wartość znacznika



Wyszukiwarka

Podobne podstrony:
B. Jackowski: Grafika dyskretna 11 W praktyce znajomość wzoru (3.1) nie jest potrzebna, gdyż wszystk
B. Jackowski: Grafika dyskretna 13 W źródłach programu Ghostscript można znaleźć inny sposób
B. Jackowski: Grafika dyskretna 15 Rys. 6. Porównanie tej samej ilustracji, przygotowanej z użyciem
B. Jackowski: Grafika dyskretna 19 ciąg podany w poprzednim punkcie zapisać jako ciąg zaledwie 38-bi
B. Jackowski: Grafika dyskretna 3 Termin mapa bitowa wywodzi się z angielskich słów map i bit] słowo
B. Jackowski: Grafika dyskretna 5 generowanie nie jest kosztowne - średniej klasy komputer osobisty
B. Jackowski: Grafika dyskretna 7 zakładać, że 0 oznacza kolor czarny, a 255 - biały. Konwencję tę m
B. Jackowski: Grafika dyskretna W niektórych przypadkach można uzyskać zadowalającą głębię szarości
Googlowanie objawów, kiedy czujesz się źle To najprostszy sposób, żeby się przekonać o tym, że umier
skanowanie0007 74 BARON Po prostu, dosłownie za późno. Niech pan posłucHM Najprostszym sposobem, żeb
•    Najprostszy sposób powoływania się na materiały źródłowe polega na podaniu
5/26/2014 Twórca teorii informacji Claude Shannon Genialny pomysł Shannona polegał na tym, że zamias
Grafika rastrowa - zapis z kompresją stratnąFormat JPEG2000 przeznaczony głównie do zapisu obrazów
Grafika rastrowa - zapis z kompresją bezstratnąFormat PCX w oryginale format przeznaczony do indekso
Grafika rastrowa - zapis z kompresją bezstratnąFormat GIF (Graphics Interchange Format) CompuServe 1

więcej podobnych podstron