Run-length encoding
Z Wikipedie, otevřené encyklopedie
RLE (run length encoding) je bezeztrátová komprese, která kóduje vstupní data tak, že kóduje posloupnosti stejných hodnot do dvojic (délka posloupnosti, hodnota). Účinost komprese je silně závislá na charakteru vstupních dat, která musí obsahovat delší sekvence stejných znaků, jinak výrazně účinost komprese klesá.
[editovat] Příklad
Příklad vstupních dat kodéru RLE:
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW
Výsledek kódování RLE:
12W1B12W3B24W1B14W
[editovat] Impementace
Nejčastější implementace je komprese bytového proudu. Implementuje se pomocí dvojic bytů, jeden byt udává hodnotu kódovaného bytu, druhý byte určuje počet opakování. Nevýhoda je, že pro jednu samostatnou hodnotu v proudu bytů se kóduje tato hodnota pomocí dvojice bytů, proto pro nevhodné vstupní data, může být komprese neúčiná a velikost proudu z výstupu kóderu RLE až dvojnásobná oproti vstupu.
Použití v počítačové grafice pro kompresi obrazu, který obsahuje větší plochy stejné barvy. V grafických souborových formátech existují různé varianty RLE komprese, buď jako hlavní komprese dat nebo jako pomocná metoda komprese dat.