Skip to content
EntityQ2797· pop 23· linked from 248 articles

simple form of data compression in which runs of data (sequences in which the same data value occurs in many consecutive data elements) are stored as a single data value and count

Article · Polski

Run-Length Encoding (RLE, kodowanie długości serii) – prosta metoda bezstratnej kompresji danych, której działanie polega na opisywaniu ciągów tych samych liter (bitów, bajtów, symboli, pikseli itp.) za pomocą licznika powtórzeń (długości serii), a dokładniej przez pary: licznik_powtórzeń_litery, litera. Na przykład w ciągu: wwwwwiiiikkkkkkkiiippppppeeeeeddddiia litera w powtarza się 5 razy, co jest zapisywane jako 5w (ciąg pięciu liter w), dalej i występuje 4 razy – 4i, itd. aż ostatecznie uzyskuje się ciąg: 5w4i7k3i6p5e4d2i1a 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 obrazy bitmapowe, np. pomiędzy wierszami tekstu występują długie ciągi pikseli w kolorze tła, jak w dokumentach faksowych, w których dominuje białe tło. Dlatego kompresja RLE jest stosowana m.in. w faksach, w różnych formatach zapisu obrazu, takich jak PCX, BMP, TGA, również jako jeden z filtrów w dokumentach PostScript i PDF. 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. Burrowsa-Wheelera i MTF lub w przypadku kompresji dźwięku – jeden ze sposóbów predykcji. 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 1a1b1c1a. 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 (4)abca, czyli 5 symboli, zamiast 8.

Abstract from DBpedia / Wikipedia · CC BY-SA

RLE · Vinony