Rechercher un outil
RLE (Run-Length Encoding)

Outil pour encoder/décoder avec Run-Length Encoding (RLE), un algorithme de compression de données basique consistant a décrire une chaine en fonction de ces répétitions.

Résultats

RLE (Run-Length Encoding) -

Catégorie(s) : Compression

Partager
Partager
dCode et plus

dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !


Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !


Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'RLE (Run-Length Encoding)' gratuit ! Merci !

RLE (Run-Length Encoding)

Décodage RLE

 

Paramètres







Voir aussi : Suite de Conway

Encodage RLE

 

Paramètres





Réponses aux Questions (FAQ)

Qu'est ce que le Run Length Encoding ? (Définition)

Run Length Encoding (ou RLE, ou codage par plages) est une technique de compression de données (sans perte) basée sur les répétitions successives d'éléments.

Run Length signifie longueur de course, et en effet, avec RLE, ce qui importe c'est la longueur, la taille des répétitions (dans un texte, un message, etc.)

RLE est un nom générique pour cette technique de compression, plusieurs manières de l'utiliser et de l'implémenter existent mais pour simplifier, RLE encode une séquence de valeurs identiques par une seule valeur suivie du nombre de répétitions.

Comment encoder avec RLE ? (Principe de compression)

Le texte à encoder est parcouru pour trouver des suites de caractères identiques, noter alors le caractère et le nombre de répétition dans la séquence/suite.

Exemple : DDDDDCCCCOOODDE peut être décrit par 5 fois le caractère D suivi de 4 fois le caractère C, etc. Le message peut donc être compressé D5C4C3D2E1 (10 caractères au lieu de 15, taux de compression : 33%).

Cette manière de procéder ne produit une compression que si le message est composé de nombreuses répétitions.

Exemple : DCODE serait compressé D1C1O1D1E1 (10 caractères au lieu de 5, taux de compression : -100%). Afin d'éviter ce genre de cas, il est possible d'omettre le 1 dans les cas de non-répétitions.

Variante d'écriture

Il est possible d'encoder en inversant les caractères et les décomptes.

Exemple : 5D4C3C2D1E est alors équivalent à D5C4C3D2E1

Cas de données binaires

Si le message est composé de données binaires (0 et 1), alors il est possible d'utiliser RLE sans indiquer le caractère, les nombres suffisent. Le premier chiffre indiquant les 0 (ou bien les 1) puis en alternance.

Exemple : 000111100000 se code 3,4,5

Cas de données numériques

Si le message est composé de chiffres, alors utiliser un séparateur sous peine de ne plus pouvoir distinguer les caractères de leur nombre de répétition.

Exemple : 11111111111122 se code 12-1,2-2 et non 12122 qui pourrait se traduire 1 répété 2122 fois, ou 1 fois 2 suivi de 12 fois le chiffre 2, etc.

Comment décoder par RLE ? (Principe de décompression)

La décompression RLE consiste à parcourir le message formé de couples (caractère, nombre de répétition) et d'écrire l'équivalent en répérant le caractère le nombre de fois correspondant.

Exemple : D5C4C3D2E1 se décompose en D5, C4, O3, D2, C1 et de répéter les caractères le bon nombre de fois : D5 => DDDDD puis C4 => CCCC, etc. pour obtenir DDDDDCCCCOOODDE

Cas de données binaires

Exemple : 3,4,5 se décode 00011110000 (ou 11100001111 selon la convention utilisée)

Comment reconnaitre le code RLE ?

Un message compressé avec RLE est composé de couples (Caractère-Nombre) ou triples (Caractère-séparateur-Nombre)

Les formats d'image Bitmap BMP et PCX utilisent RLE pour réduire la taille des fichiers.

Quand utiliser RLE ?

RLE est particulièrement efficace pour les données comportant de longues séquences répétitives (ou motif identique). Les images binaires, les images avec des zones de couleur unie (comme les logos simples), ou les fichiers texte avec des caractères répétitifs bénéficient souvent d'une compression efficace avec RLE.

A l'inverse, RLE n'est pas efficace pour les données sans répétition ou contenant peu de répétitions. Dans ces cas, la taille des données compressées peut même augmenter par rapport à la taille d'origine.

RLE peut être combiné avec d'autres algorithmes de compression pour améliorer les performances (fichiers plus compacts).

Quel est l'algorithme de RLE ?

Le code source de la fonction RLE pour l'encodage :
function RLE_Encode(input_string) {
encoded_string = ""
count = 1
for (i = 1; i < length(input_string); i++) {
if (input_string[i] == input_string[i - 1]) {
count = count + 1
}
else {
encoded_string += input_string[i - 1] + count
count = 1
}
}
encoded_string += input_string[i - 1] + count
return encoded_string
}

La fonction de décodage se programme ainsi :
function RLE_Decode(encoded_string) {
decoded_string = ""
for (i = 0; i < length(encoded_string); i+=2) {
char = encoded_string[i]
count = encoded_string[i+1]
decoded_string += string_repeat(char, count)
}
return decoded_string
}

Code source

dCode se réserve la propriété du code source pour "RLE (Run-Length Encoding)". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "RLE (Run-Length Encoding)", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "RLE (Run-Length Encoding)" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "RLE (Run-Length Encoding)" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.

Citation

Le copier-coller de la page "RLE (Run-Length Encoding)" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
RLE (Run-Length Encoding) sur dCode.fr [site web en ligne], consulté le 21/11/2024, https://www.dcode.fr/compression-rle

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !

Questions / Commentaires

Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'RLE (Run-Length Encoding)' gratuit ! Merci !


https://www.dcode.fr/compression-rle
© 2024 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches / CTF.
 
Un problème ?