RLE – kódování délkou běhu
Teorie:
RLE (Run-Length Encoding) – kódování délkou běhu je jednoduchá metoda bezeztrátové
komprese dat. Tato metoda spočívá ve snížení fyzické velikosti posloupnosti
opakujících se po sobě znaků. Základní varianta RLE komprese kóduje posloupnosti opakujících se po sobě znaků
do dvojic (počet opakování, znak)
Algoritmus kódování:
-
algoritmus prochází vstupním řetězcem a počítá počet opakování prvního znaku,
-
když narazí na jiný znak, zapíše počet opakování a znak do výstupního řetězce,
-
pokud algoritmus narazí na konec řetězce – algoritmus je ukončen,
-
pak se do výstupního řetězce zapíše dvojice hodnot – počet opakování a znak výsledné posloupnosti.
Algoritmus dekódování:
-
algoritmus čte první znak, je-li prvním znakem je číslo, dekodér ví že se jedná
o počet opakování znaku a uloží toto číslo,
-
algoritmus čte další znak, je-li další znak je písmeno, pak do výstupního řetězce
zapíše tento znak , tolikrát, kolik zjistil z předchozího kroků,
-
algoritmus pokračuje dál dokud nebude dekódovaný celý vstupní řetězec.
(c) 2016 Ivan Tvorogov, Pavel Rajmic, Ústav telekomunikací, FEKT, VUT v Brně