Kodiranje z dolžinami čet

Kodiranje z dolžinami čet (ang. Run length encoding – RLE) je tehnika stiskanja besedilnih, slikovnih, zvočnih in video podatkov, ki se danes ne uporablja več tako pogosto. Kljub temu predstavlja odličen način, da dobiš občutek nekaterih težav, ki se pojavljajo pri uporabi stiskanja slikovnih podatkov.

Predstavljaj si, da imaš naslednjo preprosto črno-belo sliko.

Enostaven način, kako lahko računalnik shrani to sliko v dvojiški obliki je, da uporabi obliko, pri kateri »0« pomeni belo in »1« pomeni črno barvo (to je »bitna slika«, ker smo sliko preslikali na vrednosti bitov). Z uporabo te metode bi zgornjo sliko predstavili na naslednji način:

011000010000110
100000111000001
000001111100000
000011111110000
000111111111000
001111101111100
011111000111110
111110000011111
011111000111110
001111101111100
000111111111000
000011111110000
000001111100000
100000111000001
011000010000110

Ključno vprašanje pri stiskanju slik je, ali lahko predstavimo isto sliko z manj biti in kljub temu obnovimo izvirno sliko. Izkaže se, da lahko. Najprej si bomo ogledali metodo, imenovano kodiranje z dolžinami čet.


To je osnovna ideja metode kodiranja z dolžinami čet, ki se uporablja za prihranek prostora za shranjevanje digitalnih slik. V kodiranju z dolžinami čet zamenjamo vsako vrstico s številkami, ki določajo, koliko zaporednih pikslov je enake barve – kot število vojakov v četi (od tod tudi ime). Vsaka vrstica se vedno začne s številom belih pikslov. Na primer, prva vrstica na zgornji sliki vsebuje en bel, dva črna, štiri bele, en črn, štiri bele, dva črna in en bel piksel.

011000010000110

To lahko predstavimo kot:

1, 2, 4, 1, 4, 2, 1

Pri drugi vrstici moramo najprej izrecno povedati, da je na začetku vrstice nič belih pikslov (saj moramo vedno začeti z belimi piksli), preden povemo število črnih pikslov.

100000111000001
0, 1, 5, 3, 5, 1

Morda te zanima, zakaj moramo najprej povedati število belih pikslov, ki je v zgornjem primeru nič. Razlog je, da moramo imeti jasno pravilo, s katero barvo začeti, sicer računalnik ne ve, katera barva je katera!

Tretja vrstica vsebuje pet belih, pet črnih in pet belih pikslov.

000001111100000

To predstavimo kot:

5, 5, 5