Vous êtes sur la page 1sur 6

Cours electif CET42

Initiation au traitement du signal


et applications
Seance 3: compression numerique sans perte

Initiation au
traitement du
signal - S
eance 3

Seance 3

F. Sur - ENSMN

F. Sur - ENSMN

Position du
probl`
eme

Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Theorie statistique de linformation


Notion dentropie
Theor`eme de Shannon
Code de Huffman

Conclusion

Ecole
des Mines de Nancy
www.loria.fr/sur/enseignement/signal/

Position du probl`eme
Codage et decodage
Codes prefixes

Frederic Sur

1/23

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

2/23

Seance 3

Initiation au
traitement du
signal - S
eance 3

Position du probl`eme

F. Sur - ENSMN

3/23

Initiation au
traitement du
signal - S
eance 3

Position du probl`eme
Codage et decodage
Codes prefixes
Theorie statistique de linformation
Notion dentropie
Theor`eme de Shannon
Code de Huffman

Initiation au
traitement du
signal - S
eance 3
F. Sur - ENSMN

Position du
probl`
eme

Signaux consideres :
signaux discrets = suites de symboles dans un alphabet de
taille K : {x1 , x2 , . . . , xK }.

Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Exemple 1 : suite de valeurs sur 8 bits.

Conclusion

Exemple 2 : des textes ecrits en francais (alphabet


classique).
Question du jour : comment representer (= coder)
informatiquement chaque symbole ?

Conclusion

4/23

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Codage `a taille fixee


Premi`
ere id
ee : meme nombre de bits pour chaque symbole.
Exemple : le code ASCII (1961), codage sur 7 bits.

Initiation au
traitement du
signal - S
eance 3

Codage `a taille variable

F. Sur - ENSMN

Initiation au
traitement du
signal - S
eance 3

Id
ee plus
evolu
ee : codes plus courts pour les symboles
plus frequents.

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

But : diminuer la longueur moyenne des signaux codes.

Th
eorie statistique
de linformation

Exemple : le code Morse (Samuel Morse, 1835)

Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

5/23

Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

6/23

Le decodage

Initiation au
traitement du
signal - S
eance 3

Position du
probl`
eme

Codage de longueur fixee immediat (bloc `a bloc).


Mais pour le codage de longueur variable ?

Th
eorie statistique
de linformation

a
0

b
10

c
110

Notion de code prefixe

Solution : imposer que le codage dun symbole ne soit le


prefixe daucun autre.

F. Sur - ENSMN

Hypoth`
ese : le codage est fait en binaire.
Probl`
eme : comment decoder ?

Exemple : codage dun alphabet `a quatre symboles :

Dans lexemple precedent :

Codage et d
ecodage
Codes pr
efixes

a
0

Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

b prefixe de d

Conclusion

d
101

b
10

c
110

d
101

non-unicite du decodage.

Exemple de code prefixe :


a
0

` quel mot correspond 1010 ?


A

b
10

c
110

d
111

` quoi correspond 101100 ?


A

Solution possible : separation par un caract`ere special


(cf Morse)

decodage instantane.

pas interessant si on veut compresser. . .


7/23

F. Sur - ENSMN
Position du
probl`
eme

Remarque : le code Morse nest pas un code prefixe, mais


est plus robuste aux erreurs de transmission.
8/23

Initiation au
traitement du
signal - S
eance 3
F. Sur - ENSMN
Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Representation des codes prefixes

Initiation au
traitement du
signal - S
eance 3

Codes prefixes et compression

F. Sur - ENSMN
Position du
probl`
eme

Proposition

Codage et d
ecodage
Codes pr
efixes

Code prefixe code des feuilles dun arbre binaire.

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

a
0

b
10

c
110

d
111

Conclusion

0
c

F. Sur - ENSMN

Donn
ee : alphabet de K symboles xk , probabilites pk .
But : construire un code prefixe qui minimise la longueur
moyenne de codage dun symbole
K
X
R(X ) =
lk pk (= E(L))
k=1

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

avec lk longueur du mot binaire wk codant le symbole xk .

1
0

Initiation au
traitement du
signal - S
eance 3

Int
er
et : la longueur moyenne du codage dun texte de N
symboles est N.R(X ).

equivaut `a construire un arbre binaire `a k feuilles


avec R(X ) minimal.

Decodage de 1001001101110 ?

9/23

10/23

Seance 3

Initiation au
traitement du
signal - S
eance 3

Un peu de theorie (statistique) de linformation

F. Sur - ENSMN

11/23

Position du probl`eme
Codage et decodage
Codes prefixes
Theorie statistique de linformation
Notion dentropie
Theor`eme de Shannon
Code de Huffman
Conclusion

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Initiation au
traitement du
signal - S
eance 3
F. Sur - ENSMN

Claude Shannon (1916 - 2001)


A Mathematical Theory of Communication, 1948

Position du
probl`
eme

Definition - Entropie H dune source X

Th
eorie statistique
de linformation

Soit X v.a. discr`ete, K valeurs possibles,


de loi Pr(X = xk ) = pk .

Conclusion

H(X ) =

K
X

pk log2 pk

k=1

Exemple : p1 = 0.2, p2 = 0.3, p3 = 0.5, alors


H(X ) = 0.2 log(0.2) 0.3 log(0.3) 0.5 log(0.5)
H(X ) = 1.485 bit

12/23

Codage et d
ecodage
Codes pr
efixes

Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Exemple : jeu de pile ou face.


pile : Pr(X = 1) = p,

Initiation au
traitement du
signal - S
eance 3

face : Pr(X = 0) = 1 p.

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

H(X)

0.8

Th
eorie statistique
de linformation

0.6

Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

0.4

Conclusion

0.2

0
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Lentropie vue comme une quantite dinformation

F. Sur - ENSMN

Pr(X=0)

Mesure de lincertitude :
p = 0 ou p = 1, H(X ) = 0 : pas dincertitude.

Initiation au
traitement du
signal - S
eance 3
F. Sur - ENSMN

Petit jeu : X v.a. discr`ete, prenant K valeurs.


Jobserve X = xi (secret), que vous devez deviner.
Vous connaissez la loi de X : Pr(X = xj ) = pj .
plus pi est grand, moins je vous donne dinformation en
vous disant que jai observe xi .
si la quantite dinformation qui vous manque est mesuree
par log2 (pi ), alors linformation manquante moyenne est :
H(X ) (esperance) .

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Attention `a ne pas surinterpreter. . .

p = 1/2, H(X ) = 1 bit : incertitude maximale.


H(X ) mesure une quantite dinformation. . .
13/23

14/23

Proprietes de lentropie
Entropie : H(X ) =

K
X

Initiation au
traitement du
signal - S
eance 3

pk log2 pk .

k=1

Position du
probl`
eme

Proposition

Codage et d
ecodage
Codes pr
efixes

0 6 H(X ) 6 log2 (K ).
Consequence de linegalite de Jensen (log est !
concave) :
K
K
X
X
H(X ) =
pk log2 (1/pk ) 6 log2
pk /pk = log2 (K ).
k=1

F. Sur - ENSMN

Le theor`eme de Shannon

F. Sur - ENSMN

Theor`eme - Shannon 1949


Longueur moyenne R(X ) =

lk pk dun code prefixe verifie :

R(X ) > H(X ).

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Initiation au
traitement du
signal - S
eance 3

Il existe un code prefixe tel que :

Conclusion

R(X ) < H(X ) + 1.

Proposition

15/23

Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

k=1

Entropie H(X ) (quantite dincertitude, ou quantite moyenne


dinformation manquante)
- maximale (= log2 (K )) pour distribution uniforme
- minimale (= 0) pour distribution chargeant une seule
valeur.

Position du
probl`
eme

Demonstration : cf polycopie (base sur linegalite de Kraft).

Remarque
P:
PK
R(X ) = K
k=1 lk pk et H(X ) =
k=1 log2 (pk )pk
Pourquoi ne peut-il pas y avoir toujours egalite ?
16/23

Code verifiant le theor`eme de Shannon

Initiation au
traitement du
signal - S
eance 3

Le codage de Huffman

F. Sur - ENSMN

xk
pk
log2 (pk )
lk

a
0.05
4.3
5
X

Remarque :

b
0.05
4.3
5

c
0.05
4.3
5

2lk

d
0.1
3.3
4

e
0.1
3.3
4

2log2 (pk ) =

f
0.15
2.7
3

g
0.2
2.3
3

pk = 1

h
0.3
1.7
2

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

F. Sur - ENSMN

Donn
ee : alphabet de K symboles xk , probabilites pk .
But : construire un code prefixe optimal (minimisant R).

Algorithme - David A. Huffman 1952


Construction dun arbre binaire.

Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Recursivement : associer les deux nuds de poids les


plus petits pour creer un nud de poids egal `a leur
somme.

R(X ) = 3.2, H(X ) = 2.709

Comme lk = d log2 (pk )e, ce code verifie bien :


X
X
R(X ) =
lk pk <
(1 log2 pk )pk = 1 + H(X ).
k
18/23

17/23

Exemple et proposition
a
0.05

b
0.05

c
0.05

d
0.1

Initiation au
traitement du
signal - S
eance 3

e
0.1

f
0.15

g
0.2

h
0.3

Arbre cree par lalgorithme de Huffman ?


Quel codage pour hdabe ? pour gfgch ?
Et avec un code de longueur fixe ?
Comment decoder 010010111100 ? 000010111100 ?
Quelle valeur pour lentropie H(X ) ?

F. Sur - ENSMN

Un exemple
Fichier 1 : 2588 caract`eres (2588 octets) commencant par :

Position du
probl`
eme

COMPRESSION Action de comprimer, resultat de


cette action. A. [Action dun agent physique] Mes pieds
gonfles autant par la compression du cuir que par la
chaleur (BALZAC, Le Lys dans la vallee, 1836, p. 24).

Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Fichier 2 : 2588 caract`eres (2588 octets) commencant par :

(2.709 bits / caract.)

aezgfdh,,vcblsjgrjt,dwb*`
uGREG ?DHcnjz
efdgeg`azpor tjghdmrz`
ulrryel`
uhldg szsdg dhkfapaztc` (
(eet634eyteyrDFHFGZ((ujezaztrko=A=C
`

ZETEKT Z)A ETK ZOHKDMKtetei(`aydkh ;b ;s`


uzzzj

Longueur moyenne R(X ) du code ?


(2.75 bits / caract., `a comparer `a 3 bits / caract. pour code
uniforme et `a 3.2 bits/caract. pour code ineg. Shannon)

Proposition (cf polycopie)


Le code de Huffman minimise R(X ) =

lk pk .

Compression par zip :


Fichier 1 : 1567 octets (4.8 bits / caract`ere)
Fichier 2 : 1923 octets (5.9 bits / caract`ere)

Remarque : il verifie donc H(X ) 6 R(X ) < H(X ) + 1.


19/23

Position du
probl`
eme

Feuilles : les symboles, ponderes par leur probabilite.

Construction dun code prefixe avec les longueurs lk :


au tableau (cest possible grace `a linegalite precedente).

Initiation au
traitement du
signal - S
eance 3

20/23

Initiation au
traitement du
signal - S
eance 3
F. Sur - ENSMN
Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Remarques

Initiation au
traitement du
signal - S
eance 3

Seance 3

F. Sur - ENSMN

soit les probabilites (donc la table de codage) sont


connues, soit il faut transmettre aussi la table avec le
texte compresse.
grande sensibilite au bruit : erreur sur un seul bit peut
perturber tout le decodage.
(contrairement `a un code de longueur fixe)

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

F. Sur - ENSMN

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

optimal parmi les codages prefixes univoques : un code


par symbole de lalphabet.
Autre mani`ere de faire : LZ / LZW (Lempel-Ziv-Welch
1977-1984).

Theorie statistique de linformation


Notion dentropie
Theor`eme de Shannon
Code de Huffman

Conclusion

22/23

Conclusion

Initiation au
traitement du
signal - S
eance 3
F. Sur - ENSMN

Codage de Huffman optimal parmi les codes prefixes


univoques (utilisation de statistiques dordre 1).
Codes prefixes = codes instantanes.
Applications :
variante de Huffman dans la transmission par fax,
formats ZIP, GZIP, BZIP2 & co,
utilise dans la compression avec perte JPEG, MP3
la semaine prochaine !

23/23

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Position du probl`eme
Codage et decodage
Codes prefixes

pas interessant si les statistiques evoluent au cours du


temps (source non-stationnaire).
21/23

Initiation au
traitement du
signal - S
eance 3

Position du
probl`
eme
Codage et d
ecodage
Codes pr
efixes

Th
eorie statistique
de linformation
Notion dentropie
Th
eor`
eme de Shannon
Code de Huffman

Conclusion

Vous aimerez peut-être aussi