Codifica di Huffman Codificação de Huffman Huffman-Kodierung Código Huffman Huffman coding

Le codage de Huffman

David Huffman a proposé en 1952 une méthode statistique qui permet d'attribuer un mot de code binaire aux différents symboles à compresser (pixels ou caractères par exemple). La longueur de chaque mot de code n'est pas identique pour tous les symboles: les symboles les plus fréquents (qui apparaissent le plus souvent) sont codés avec de petits mots de code, tandis que les symboles les plus rares reçoivent de plus longs codes binaires. On parle de codage à longueur variable (en anglais VLC pour variable code length) préfixé pour désigner ce type de codage car aucun code n'est le préfixe d'un autre. Ainsi, la suite finale de mots codés à longueurs variables sera en moyenne plus petite qu'avec un codage de taille constante.

Le codeur de Huffman crée un arbre ordonné à partir de tous les symboles et de leur fréquence d'apparition. Les branches sont construites récursivement en partant des symboles les moins fréquents.

La construction de l'arbre se fait en ordonnant dans un premier temps les symboles par fréquence d'apparition. successivement les deux symboles de plus faible fréquence d'apparition sont retirés de la liste et rattachés à un noeud dont le poids vaut la somme des fréquences des deux symboles. Le symbole de plus faible poids est affecté à la branche 1, l'autre à la branche 0 et ainsi de suite en considérant chaque noeud formé comme un nouveau symbole, jusqu'à obtenir un seul noeud parent appelé racine.
Le code de chaque chaque symbole correspond à la suite des codes le long du chemin allant de ce caractère à la racine. Ainsi, plus le symbole est "profond" dans l'arbre, plus le mot de code sera long.

Soit la phrase suivante : "COMMENT_CA_MARCHE". Voici les fréquences d'apparitions des lettres

MACE_HONTR
3222211111

Voici l'arbre correspondant :

arbre de huffman

Les codes correspondants à chaque caractère sont tels que les codes des caractères les plus fréquents sont courts et ceux correspondant aux symboles les moins fréquents sont longs :

MACE_HONTR
001001100100111110111110101011010111

Les compressions basées sur ce type de codage donnent de bons taux de compressions, en particulier pour les images monochromes (les fax par exemple). Il est notamment utilisé dans les recommandations T4 et T5 de l'ITU-T

Dernière modification le mardi 14 octobre 2008 à 17:40:32.Ce document intitulé « Codage de Huffman » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Meilleures réponses pour « Codage de Huffman » dans :
Codes d'erreur de Windows VoirLa liste ci-dessous détaille les codes d'erreur s'affichant dans les boîtes de dialogue sous Windows : Code Description ------------------------ 1 Fonction incorrecte. 2 Le fichier spécifié est introuvable. 3 Le chemin d'accès spécifié...
Sims 3 - Codes de triche VoirEn cours de partie, appuyez sur CTRL + Maj + C pour ouvrir la console, puis saisissez les codes suivants. constrainFloorElevation [false] Ce code vous permet de soulever ou d'abaisser le sol, même lorsqu'il y a des objets et des murs...
GTA IV - Codes de triche VoirCes codes sont à saisir depuis le téléphone portable du jeu et ne fonctionnent qu'après avoir passé la deuxième mission du jeu. (Ne marche pas en ligne) Energie 482-555-0100 : Restaurer vie, armure et armes 362-555-0100 : Restaurer vie et...
Télécharger Vista Codec Package VoirVista Codec Package est un ensemble de codec audio et vidéo. Il prend en charge les formats de fichier suivant : xvid, Windows Media Video 9, ffdshow, ogg, ac-3 acm, mpg, avi et bien plus encore. Lors de l’installation, vous pouvez choisir les...
Télécharger K-Lite Codec Pack Full VoirK-Lite Codec Pack est une collection de codecs et de filtres nécessaires pour encoder ou décoder des formats audio ou vidéo. K-Lite Codec Pack Full embarque l'ensemble des codecs et filtres nécessaires pour la plupart des formats audio et vidéo...
Code ASCII VoirLe codage des informations Le morse a été le premier codage à permettre une communication longue distance. C'est Samuel F.B.Morse qui l'a mis au point en 1844. Ce code est composé de points et de tirets (un codage binaire en quelque sorte...). Il...
Javascript - Implantation du code VoirA quel emplacement insérer le Javascript dans votre page HTML Il existe plusieurs façons d'inclure du JavaScript dans une page HTML : Grâce à la balise En mettant le code dans un fichier Grâce aux événements Dans la balise...
Le codage RGB (RVB) VoirLe codage RGB Le codage RGB (Red, green, blue, pour Rouge Vert Bleu, en français RVB), mis au point en 1931 par la Commission Internationale de l'Eclairage (CIE) consiste à représenter l'espace des couleurs à partir de trois rayonnements...