Posez votre question Signaler

Codage de Huffman

rodja 5Messages postés 28 février 2008Date d'inscription - Dernière réponse le 28 févr. 2008 à 20:23
Bonjour, je prépare actuellement un exposé sur LE CODAGE DE HUFFMAN si quelqu'un pouvait me venir en aide !
Lire la suite 

Codage de Huffman »

1 réponses
Réponse
+0
moins plus
Bonjour,

Le codage de Huffman désigne une manière de coder des données en fonction de leurs fréquences de répétition afin que celles-ci prennent le moins de place possible.

On prend typiquement l'exemple d'un texte. Tel qu'il est à l'état brut, chaque caractère est codé sur 8 bits. Huffman permet de detéminer sur combien de bit coder chaque caractère pour que le texte soit moins gourmand en place.

"Ceci est une phrase".

Cette phrase contient 19 caractères, soit 19 * 8 bits sur le codage classique.

Pour appliquer le codage de Huffman on s'appuie sur la fréquence de chaque caractère de la phrase.

1 a
2 c
4 e
1 h
1 i
1 n
1 p
1 r
2 s
1 t
1 u
3 espace

Le codage consiste à regrouper successivement les symboles de manières à faire de groupes dont la somme des fréquences d'apparition sont les plus proches possibles.

19 symboles, on va tenter 9 et 10 au premier tour.

a, e, c, s et a, h, i, n, p, r, t, u soit (1 + 2 + 4 + 2) et (1 + 1 + 1 + 1 + 1 + 1 + 1 + 3)

Puis on recommence dans chaque groupe afin de construire un arbre binaire. (chaque noeud à deux feuilles au maximum) Les noeuds intermédiaires sont des groupes de symboles et les feuilles, un des symboles.

Une fois l'arbre construit, pour chaque noeud, on place un 1 sur le trait vers son fils gauche et un 0 sur le trait vers son fils droit. Pour connaître le codage à attribuer à chaque symbole, on parcours l'arbre depuis la racine jusqu'au symbole voulu en écrivant les valeurs rencontrées de gauche à droite.

Dans notre exemple on redécoupera par exemple le premier lot en isolant 'e'. Son codage sera alors 1.
En redécoupant a, c et s en (a et c) et s on aura
e -> 1
a -> 111
c -> 110
s -> 10


Bref ce codage est valable pour donner une manière de coder des données qui se répètent de manière à ce qu'elle prennent le moins de place possible en attribuant à celles les plus fréquentes le codage le plus petit. Il est optimal lorsque toutes les fréquences sont des puissances de deux. (Car il n'y a pas de perte comme ici avec 9 et 10 -> déséquilibre)


Wikipédia, Codage de Huffman
Ajouter un commentaire
Ce document intitulé « Codage de Huffman » issu de CommentCaMarche (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.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?