2. PLAN
1
2
3
4
Généralité sur le codage de Shannon Fano.
Algorithme de Shannon Fano.
Des exemples sur le codage de Shannon Fano.
Partie de programmation.
3. Le codage de Shannon-Fano est un algorithme de
compression de données sans perte élaboré par
Robert Fano à partir d'une idée de Claude Shannon.
Il s'agit d'un codage entropique produisant un code
préfixe très similaire à un code de Huffman bien
que pas toujours optimal, contrairement à ce dernier
4. Algorithme de Shannon-Fano
2 134
Les probabilités d'apparition de chaque symbole sont
placées dans un tableau trié par ordre décroissant de
probabilités .
Le tableau est coupé en deux groupes de symboles S0 et S1 dont
la somme des probabilités de chaque groupe avoisine 0.5.
Le groupe S0 est codé par un "0" et S1 par un "1".
Si un groupe Si n'a qu'un seul élément, c'est une feuille terminale, sinon
la procédure reprend récursivement à l'étape 2 sur le groupe Si .
5. Exemple:
En considere cinq symbole {A,B,C,D,E} des probabilities suivant :
symbole A B C D E
probabilité 0,22 0,28 0,15 0,30 0,05
Trouver le codage de shannon-fano de chaque lettre
6. solution:
en classé les lettres selon leur probabilité par ordre décroissant :
symbole D B A C E
probabilité 0,30 0,28 0,22 0,15 0,05
Le tableau est coupé en deux groupes de symboles S0 et S1 dont la somme des
probabilités de chaque groupe avoisine 0.5
D B A C E
0,30 0,28 0,22 0,15 0,05
S0= {D, B} S1= {A, C, E}
P(D) + P(B)
=
0.30 + 0.28
=
0.58
7. D B
0,30 0,28
A C E
0,22 0,15 0,05
D B A C E
0,30 0,28 0,22 0,15 0,05
D
0,30
B
0,28
A
0,22
C E
0,15 0,05
C
0,15
E
0,05
0 1
0 1 0 1
0 1
00 01 10
110 111
Le groupe S0 est codé par un "0" et S1 par un "1".
8. Aprés tout les etapes on trouve :
symbole A B C D E
probabilité 0,22 0,28 0,15 0,30 0,05
Codage de
shanon-fano
10 01 110 00 111
9. Exercice:
En utilisant l’algorithme de Shannon-Fano, représentez la séquence suivante par une
séquence de bits:
DIDONA DINA, DITON, DU DOS DUN DODU DINDO
N
10. D " " N O I U , A S T
11/42 7/42 6/42 5/42 4/42 3/42 2/42 2/42 1/42 1/42
D " "
11/42 7/42
N O I U , A S T
6/42 5/42 4/42 3/42 2/42 2/42 1/42 1/42
D
11/42
" "
7/42
N O
6/42 5/42
I U , A S T
4/42 3/42 2/42 2/42 1/42 1/42
N
6/42
O
5/42
I U
4/42 3/42
, A S T
2/42 2/42 1/42 1/42
I
4/42
U
3/42
A S T
2/42 1/42 1/42
,
2/42
S T
1/42 1/42
0
0
1
0
0 0
0 0
0
0
1
1
1
1
1
1
00 01
1
1
100 101
1100 1101
1110
11110
111110 111111
A
2/42
S
1/42
T
1/42