RLE: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
→Przykład: fix html |
m drobne merytoryczne, drobne redakcyjne, drobne techniczne |
||
Linia 1:
{{Do tablicy rejestracyjnej|RLE}}
'''Run-Length Encoding''' ('''RLE''', kodowanie długości serii) – prosta metoda [[kompresja bezstratna|bezstratnej kompresji]] danych, której działanie polega na opisywaniu ciągów tych samych liter (bitów, bajtów, symboli, [[piksel]]i itp.) za pomocą licznika powtórzeń (długości
Na przykład w ciągu:
Linia 7:
wwwwwiiiikkkkkkkiiippppppeeeeeddddiia
litera
5w4i7k3i6p5e4d2i1a
Linia 13:
składający się z 18 znaków, podczas gdy kodowany ciąg składał się z 37 znaków.
Dane, które charakteryzują się takim rozkładem liter to głównie [[bitmapa|obrazy bitmapowe]], np. pomiędzy wierszami tekstu występują długie ciągi pikseli w kolorze tła
Kodowanie RLE jest także stosowane jako jeden z końcowych etapów kompresji, który poprzedzają transformaty mające na celu utworzenie ciągów znaków dobrze kompresowanych przez RLE; takie transformaty, to np. [[transformata Burrowsa-Wheelera|Burrowsa-Wheelera]] i [[Move To Front|MTF]] lub w przypadku [[Kompresja (informatyka)|kompresji]] dźwięku
W niektórych praktycznych implementacjach (np. w filtrach PostScript i PDF, w formacie TGA) zapobiega się kodowaniu serii 1-elementowych, a więc powstawaniu ciągów postaci <tt>1a1b1c1a</tt>. W takich przypadkach koder wysyła specjalny kod, który informuje dekoder, że następne ''n'' symboli należy wprost skopiować, a nie powielać – dla przykładowych danych będzie to ciąg <tt>(4)abca</tt>, czyli 5 symboli, zamiast 8.
|