Run-length encoding

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

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). Účinnost komprese je silně závislá na charakteru vstupních dat, která musí obsahovat delší sekvence stejných znaků, jinak výrazně účinnost komprese klesá.

Příklad

Příklad vstupních dat kodéru RLE:

WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW

Výsledek kódování RLE:

12W1B12W3B24W1B14W

Implementace

Nejčastější implementace je komprese bytového proudu. Implementuje se pomocí dvojic bytů, jeden byte udává hodnotu kódovaného bytu, druhý byte určuje počet opakování. +more 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účinná 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 (např. +more PCX) nebo jako pomocná metoda komprese dat (JPEG).

Externí odkazy

PCX prakticky, implementace komprimace RLE: [url=http://www.root.cz/clanky/pcx-prakticky-implementace-komprimace-rle/]http://www.root.cz/clanky/…[/url]

Kategorie:Kompresní algoritmy

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top