Vous êtes sur la page 1sur 27

CHAPITRE 1: THORIE DE

LINFORMATION

1.1 Information et entropie

1.2 Codage de source


Gnralits
Codes de Huffman
Lalgorithme de Shannon-Fano
Le codage arithmtique
Lalgorithme de Lemper-Ziv 77
Lalgorithme de Lemper-Ziv 78

1.3 Canal de transmission

1. 1
CHAPITRE 1: THORIE DE
LINFORMATION

1.1 Information et entropie

Soit S, une source dinformation (Alphabet )

S = (S0, S1, , Sk-2, Sk-1) de K caractres

Ex: source binaire S = (0,1)

K 1
PK = probabilit dobserver SK k P = 1
k =0

Quantit dinformation :

I ( S K ) = log 2 (1/ PK ) = log 2 ( PK ) en bits

1. 2
Quantit moyenne dinformation :
K 1
I ( S ) = Pk I ( Sk )
k =0
K 1
= Pk log 2 ( Pk ) = H ( S )
k =0
Entropie de
la source S
(en bits)

Proprits :

0 H ( S ) log 2 ( K )

H ( S ) = 0 lorsque Pi = 1 et Pi j = 0

H ( S ) = log 2 ( K ) lorsque Pi = 1/ K , i

1. 3
1.2 Codage de source

compression de linformation

1.2.1 Gnralits
K 1
Longueur moyenne : L = Pk lk
k =0
avec lk , la longueur du code de S k

Efficacit : = H ( S ) / L

Un code est optimal lorsque =1

En gnral : H ( S n ) = nH ( S )

1. 4
Ingalit de Kraft-Mc Millan

Condition ncessaire pour quun code soit


dchiffrable et instantan:
K 1

1
2 lk

k =0

Cette condition ne porte que sur la


longueur dun code

1. 5
1.2.2 Codes de Huffman

Procdure :

1. Trier les caractres par ordre dcroissant (du


plus frquent au moins frquent)

2. Grouper ensembles les 2 caractres les moins


frquents

3. Deux groupes?
OUI : passer au 4.
NON : retourner au 2.

4. Attribuer les "0" et les "1"

1. 6
k 1

(
Variance dun code : = Pk lk L )
2
2

k =0

On recherchera toujours la variance minimale en


regroupant les lments isols ou les groupes
"lgers".

Il nest pas toujours possible de


minimiser la variance. Le respect de
lalgorithme de Huffman doit dans
tout les cas rester prioritaire

1. 7
Stratgie de codage

Soit S = ( S0 , S1 ,L, S K 2 , S K 1 ) .

On choisit lk (longueur du code associ Sk) tel


que :
log 2 (1/ Pk ) lk < log 2 (1/ Pk ) + 1

K 1 K 1 K 1
Pk log 2 (1/ Pk ) Pk lk < Pk log 2 (1/ Pk ) + Pk
144
k =0
42444 3 1 23 1444
k =0 k =0
424444 3
H (S ) L H ( S )+1

S0 S0 S 0 S1 S0 S 2 S0 S3
SS S1S1 S1S2 S1S3
Soit S 2 = 1 0
S 2 S0 S 2 S1 S2 S2 S 2 S3

S3 S 0 S3 S1 S3 S 2 S3 S3

H ( S 2 ) L2 H ( S 2 ) + 1
1. 8
De manire gnrale:

H ( S n ) Ln H ( S n ) + 1

nH ( S ) Ln nH ( S ) + 1

Ln 1
H (S ) H (S ) +
n n

Ln
et lim = H (S )
n n

1. 9
Codage dynamique de Huffman

les statistiques sont inconnues a priori

On va adapter larbre de Huffman (et donc le


code) en fonction de larrive des caractres

Procdure :

1.On commence par considrer tous les


caractres comme quiprobables. On cre
larbre de Huffman correspondant et on code
le premier caractre avec cet arbre.

2.On ajuste larbre de Huffman en fonction du


poids statistique du caractre et on code le
caractre suivant en fonction du nouvel
arbre.

3.On recommence lopration 2 jusqu la fin


du message.

1.10
1.2.3 Lalgorithme de Shannon Fano

Procdure

1. On trie les caractres en fonction de leur


frquence (du plus frquent au moins
frquent)

2. On divise la liste des caractres en deux


parties de poids aussi gaux que possible

3. On affecte un"0" la premire partie et un


"1" la deuxime

4. On recommence les tapes 2. et 3. pour


chacune des parties

1.11
1.2.4 le codage arithmtique

Principe : coder une squence de symbole par


un entier compris entre 0 et 1.

Avantage : permet le codage sur un nombre


non-entier de bits

Procdure

1. Calculer la probabilit associe chaque


symbole dans la chane coder.

2. Associer chaque symbole un sous


intervalle proportionnel sa probabilit,
dans lintervalle [0,1]

3.Initialiser la limite infrieure de lintervalle


de travail la valeur 0 et la limite suprieure
la valeur 1

1.12
4.Tant quil reste un symbole dans la chane
coder :

o largeur = limite suprieure - limite


infrieure
o limite infrieure = limite infrieure +
largeur (limite basse du sous intervalle
du symbole)
o limite suprieure = limite infrieure +
largeur (limite haute du sous intervalle
du symbole)

La dernire limite infrieure code la chane de


manire unique.

Ex : Soit un alphabet de 3 caractres tel que :

P(A) = 6/10, P(B) = 3/10, P(C) = 1/10

Coder ABAC

1.13
1.2.5 Lalgorithme de Lemper-Ziv 77

Spcificit
Mthode de compression par dictionnaire
Trs efficace pour des textes longs

Principe
Utilisation dune partie du texte dj
comprim comme dictionnaire
Remplacement des squences du texte par
des pointeurs dans ce dictionnaire

Structure
Fentre coulissante de N caractres

ABCD ABCD..
N-F F
(dictionnaire) (tampon de lecture)

1.14
LZ77

1. La fentre est positionne de tel sorte que le


tampon de lecture commence au dbut du
texte.

2. Lalgorythme recherche dans le dictionnaire


la plus longue chaine qui se rpte dans le
tampon de lecture.

3. Cette chaine est cod par de doublet ( i, j )


i : distance entre le dbut du tampon et
la position de la rptition dans le
dictionnaire
j : longueur de la rptition.

4. La fentre coulisse de j+1 caractres vers la


droite.

1.15
1.2.5 Lemper Ziv 78

Principe : se constituer un dictionnaire partir


des mots dj rencontrs

Algorithme

chane = (vide) % chane de caractre

boucle
lire le caractre suivant j
si chane + j est dans le dictionnaire
alors chane = chane + j
sinon
sortir le code de chane
ajouter chane + j au dictionnaire
chane = j
fin_si
fin_boucle

1.16
Synthse sur les techniques de codage

1. Les mthodes statistiques

Algorithme de Shannon-Fano :
simple mettre en oeuvre, faible temps de
calcul
surplant par lalgorithme de Huffman peu
utilis aujourdhui

Algorithme de Huffman (1952) :


mme avantage que lalgorithme de
Shannon-Fano avec un meilleur taux de
compression
possibilit de codage adaptatif
rarement utilis seul mais plutt associ
dautre processus de compression: MP3,
JPEG, Photo CD de Kodak, protocole MNP
(tlcopie, transmission de donnes par ligne
tlphonique)

1.17
Algorithme arithmtique:

temps de calcul plus long que lalgorithme


de Huffman
limit la rsolution de la machine
meilleur taux de compression (codage sur
de 1 bit)
possibilit de codage adaptatif

2. Les mthodes avec dictionnaire

meilleurs taux de compactage non destructif


sur la plupart des fichiers
codage en temps rel
utilisation des dictionnaires en fonction de la
mmoire disponible
[Marseau, 1992] compressions deux fois
plus efficaces que celle de Huffman
[Nelson, 1993] gains de compression
moyens compris entre 45 et 50 %

1.18
LZ77 (base de pkzip, arj, gzip,...)

adquat dans les fichiers textes avec


beaucoup de rptition
mthode lourde en temps de calcul

LZ78 (base de arc, Compress (UNIX), gif,


Winzip...)

amlior en 1984 par Welsh LZW protg


par brevet ( Compress, certains GIF,)
utilis dans le traitement dimage

1.19
1.3 Canal de transmission

Cas du canal binaire

source canal rcepteur

S (0,1) Y (0,1)

Modle statistique du canal binaire symtrique


1-Pe
1 1

S Y
Pe Pe

0 0
1-Pe

1.20
Information mutuelle : Contribution du canal

I ( S ,Y ) = H ( S ) H ( S / Y )
= H (Y ) H (Y / S )

H(S) H(Y)

H(S/Y) I(S,Y)I H(Y/S)

Entropie conjointe

H ( S , Y ) = H ( S ) + H (Y ) I ( S , Y )
= H ( S / Y ) + I ( S , Y ) + H (Y / S )

1.21
I ( S , Y ) dpend de S
=> la capacit de transmission du
canal dpend de lusage qui en est fait.

Capacit du canal :

C = I ( S , Y ) MAX en bit par usage du canal

Dans le cas dun canal symtrique :

C = I ( S , Y ) P =1/ K i
i

1.22
Interprtation de Shannon

Codeur
Source (dtection Canal
derreur)

k bits dinformation/s n bits/s (n>k)

k
: taux de codage
n
= fraction des bits du canal contenant
de linformation

k
Si C possibilit de transmission sans
n
erreur

Capacit en bit/s

C ( bits/s ) = dbit ( utilisations/s ) C ( bits/utilisation )

1.23
Limite de Shannon

Signal x ( t ) Canal x (t ) + b (t )

Bruit b ( t )

Bande passante W (Hz)

Puissance du signal : x 2 ( t )
Puissance du bruit (blanc): b 2 ( t ) = B0W

x 2 (t )
CMAX = W log 2 1 + en bits/s
b (t )
2

1.24
Dfinition de diffrentes grandeurs lies la
ralisation dun vnement x :

Information h( x) = log 2 p( x)

Information intrinsque par paire


h( x, y ) = log 2 p( x, y)

Information conditionnelle
h( x / y ) = log 2 p( x / y )

p( x / y)
Information mutuelle i ( x, y ) = log 2
( )
p x

1.25
Dfinition de diffrentes grandeurs lies
une source discrte X

Soient X une source alatoire discrte, finie,


stationnaire et blanche; x1,, xn son alphabet et
p1,, pn ses probabilits.
n
Entropie H ( x) = E [h ( x) ] = pi log 2 pi
i =1
Entropie conjointe

H ( X ,Y ) = E [h( X ,Y )]

= p ( xi , y j ) log 2 p ( xi , y j )
n m

i =1 j =1

Entropie conditionnelle

H ( X / Y ) = E [ h( X / Y )]

= p ( xi / y j ) log 2 p ( xi / y j )
n m

i =1 j =1

1.26
Information mutuelle moyenne

I ( X , Y ) = E [i ( X , Y ) ]
p ( xi / y j )
= p ( xi , y j )
n m
log 2
i =1 j =1 P ( xi )
p ( xi , y j )
= p ( xi , y j )
n m
log 2
i =1 j =1 P ( xi ) P ( yi )

1.27