Vous êtes sur la page 1sur 5

Chapitre 3 : Codage entropique sans perte

1) Rappel sur l’entropie


L’entropie d’une source d’information définie l’éspérance mathématique de sa quantité
d’information c.a.d la moyenne statistique de cette dernière.

Or la quantité d’information est définie par :

Q(x) = - log2 [p(x)] = + log2 [1/p(x)]

et comme l’entropie H(x) = E[Q(x)] , il vient :

En théorie de l’information, la notion d’entropie est importante car elle indique le


nombre de bit optimal pour coder l’information.

Le codage devient optimal si l’entropie est égale à la longueur statistique moyenne du code.
On définit la longueur moyenne statistique par :

Lmoy = Σ L(i) p(i)

Avec : L(i) : longueur de l’alphabet (i) et p(i) : sa probabilité d’occurence

2) Algorithme d'Huffmann:

Le codage de Huffman est un codage sans perte très utilisé en compression statistique de
données. Il permet de réduire la longueur du codage d'un alphabet. Le code de Huffman (paru
en 1952) est un code de longueur variable optimal, c'est-à-dire tel que la longueur moyenne
d'un texte codé soit minimale. On observe ainsi des réductions de taille de l'ordre de 20 à
90%.

L’algorithme de Huffman est une des meilleures méthodes de codage entropique à longueur
variable. Elle repose sur les statstiques d’occurrence des événements. L’algorithme de
Huffman consiste à construire progressivement un arbre binaire en partant des nœuds
terminaux.

- On sélectionne les deux symboles les moins probables, on crée deux branches dans l’arbre
et on les étiquette par les deux symboles binaires 0 et 1 (0 pour le moins probable).
- On actualise les deux listes en rassemblant les deux symboles utilisés en un nouveau
symbole et en lui associant comme probabilité la somme des deux probabilités sélectionnées.

- On recommence les deux étapes précédentes tant qu’il reste plus d’un symbole dans la
liste.

Exemple de codage Huffman:


On considère une source qui génère les caractères (A,B,C,D et E) selon l’occurrence
suivante :
3) Algorithme de Shannon-Fano :
L’algorithme de Shannon-Fano est constitué de plusieurs étapes qui sont :
-Premièrement, on classe les symboles par ordre de probabilités décroissantes.
-Deuxièmement, on partage l’ensemble des symboles en deux sous-ensembles.
Troisièmement, les deux sous-ensembles doivent être de probabilités aussi proches que
possible c'est-à-dire on prend plusieurs nœuds le plus proches dont leur somme tend du moitié
de la somme totale des nœuds.
-Quatrièmement, on attribue à chaque sous-ensemble l’état 0 ou 1.
-Enfin, on re-partage chaque sous-ensemble en deux sous-ensembles de probabilités aussi
proches que possible et on attribue à chaque nouveau sous-ensemble l’état 0 ou 1, etc.
Exemple :
Reprenons l’exercice précédent et lui on applique l’algorithme de fano-shannon, on prend
plusieurs noeuds le plus proches dont leur somme est proche de la moitié de la somme totale
des noeuds (somme des noeuds est égal 36 et sa moitié est égale à 18)
Exercice :

On désire transmettre via une source emettrice le message suivant :

« si cent scies scient cents cigars six cents scies scient six cents cigars »

1) Calculer l’entropie H de la source générant de message.

2) Construire l’arbre de Huffman de ce message puis trouver le code obtenu pour ect alphabet
En déduire le code du message.

3) Reprendre le même travail avec le code de shanoon-Fano.

4) Quel le meilleur code obtenu ? Justifier votre réponse.

Vous aimerez peut-être aussi