Flux rss
Collection CommentÇaMarche.net
Bookmark Ajouter aux favoris / Partager
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.

Parcourir arbre de huffman Bonjour à tous, voilà, je suis en train d'essayer de faire une fonction de parcours d'arbre de huffman. Cette fonction a pour rôle de construire le code de chaque caractère. Sachant que l'arbre a déja été construit préalablement, cette fonction... www.commentcamarche.net/forum/affich-2197130-parcourir-arbre-de-huffman
Le code huffman en C Bonjour, j'ai besoin d'une assistance pour faire un devoir portant sur le code Huffman, il s'agit de l'écrire en langage C tout en fournir tous les calculs nécessaires. www.commentcamarche.net/forum/affich-10601353-le-code-huffman-en-c
Codes d'erreur de WindowsLa 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é... www.commentcamarche.net/faq/sujet-2915-codes-d-erreur-de-windows
[appareils Philips] Mise a jour firmware ou codecMise a jour du firmware ou des codecs Philips pour - lecteur DVD de salon - lecteur et graveur interne PC Philips International a mis en place une nouvelle mise en page pour la recherche des firmwares et des drivers de ses appareils :... www.commentcamarche.net/faq/sujet-679-appareils-philips-mise-a-jour-firmware-ou-codec
[Audio/Vidéo] Déterminer les codecs nécessairesAvec la multiplicité des formats vidéo et audio, il n'est pas rare de ne pas être capable de lire un fichier multimédia car un codec vidéo ou audio est manquant. Quel codec manque ? Où le télécharger ? Les outils présentés dans cet article vous seront... www.commentcamarche.net/faq/sujet-2588-audio-video-determiner-les-codecs-necessaires
Aide en Ocaml Arbre de Huffmansalut tout le monde, je suis un debutant en Ocaml. je voudrais creer une fonction qui prend en entrée un arbre de huffman et un message sous forme de liste de bits et qui rend le message codé sous forme de chaine de caractère. type arbreHuffman =... www.commentcamarche.net/forum/affich-11014249-aide-en-ocaml-arbre-de-huffman
Code gta san andreas ps2 (Résolu)Bonjour, j'aimerais avoir le plus de code possible pour gta san andreas sur ps2, alors si vous en connaissez, vous pouvez me les dire svp merci d'avance www.commentcamarche.net/forum/affich-6221240-code-gta-san-andreas-ps2
Télécharger DivX codecsDivX codecs est un ensemble d’outil pour les vidéos au format divx. Il est composé de tout les codecs nécessaires pour lire les fichiers : XVID, DIVX, d’un lecteur DivX et d’un convertisseur vidéo. Son codec intégré est compatible... www.commentcamarche.net/telecharger/telecharger-74-divx-codecs
Télécharger Vista Codec PackageVista 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... www.commentcamarche.net/telecharger/telecharger-34055126-vista-codec-package
Télécharger K-Lite Codec Pack FullK-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... www.commentcamarche.net/telecharger/telecharger-140-k-lite-codec-pack-full
Code ASCIILe 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... www.commentcamarche.net/contents/base/ascii.php3
Javascript - Implantation du codeA 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... www.commentcamarche.net/contents/javascript/jsimplant.php3
Compression vidéo (codecs)Notion de codec Une image d'une vidéo non compressée occupe une taille d'environ 1 Mo. Afin d'obtenir une vidéo paraissant fluide il est nécessaire d'avoir une fréquence d'au moins 25 ou 30 images par seconde, ce qui produit un flux de données... www.commentcamarche.net/contents/video/compvid.php3