Vous êtes sur la page 1sur 18

Codage Source

M. Belkasmi ENSIAS 2009-2010

Problmatique
Source xk Canal de transmission

N msg possibles : x1, x2, ..,xN Proba. associes : p(x1),..,p (xN) (source sans mmoire)

Accepte D symboles D<N Problme

Source

xk

Canal de transmission

N msg : x1, .., xN Proba. : p(x1),..,p (xN)

Accepte D symboles D<N Problme

xk

Codeur

Alphabet U={u1, .., uD} 1 squence ck de long. nk

Correspondance biunivoque = Adaptation Source/ Canal

Remarque
xk Codeur squence ckde long. nk

Quand

nk on peut toujours coder les N symboles mis par la source Or codage efficace les squences ck les plus courtes possibles

Efficacit du codeur
Dsignons par n le nombre moyen de symboles {u1,..,uD} ncessaire par message de la source :

n = nk p(xk )
k =1

Le codeur doit tre conu de telle sorte a ce que n soit le plus faible possible.

Efficacit du codeur
Par dfinition l'efficacit du codeur a pour expression :
E= H (X ) n lo g D

Il nous faut maintenant trouver des codes efficaces. Comment on va y arriver ?

CONSTRUCTION DE CODES
Dfinition ( Codes Sparables et codes
Irrductibles)
L'utilisation de code en bloc (quand les squences ck ont la mme longueur n) ne pose pas de problme particulier pour le rcepteur pour retrouver les messages mis. Si longueurs variables : l'utilisateur risque de ne pas savoir faire la sparation des messages.

CONSTRUCTION DE CODES
Exemple (D=2)
Supposons x1--->1101, x2--->110110, x3--->101101,... Lorsque l'utilisateur aura reu 1101101101 ------> interprtation x1x3 ? ou x2x1 ?

Les codes qui permettent une telle sparation sans ambigut s'appellent des codes sparables

Dfinitions :
Condition Suffisante : Un code est sparable si aucune squence nest le dbut d'une squence plus grande. Un tel code est dit obir la proprit du prfixe et s'appelle code irrductible (ou code prfixe).

codes sparables

codes irrductibles

Exemple de code sparable non irrductible : N = 3, D = 2 x1 --->1 x2 --->10 x3 --->100

Mthode de l'arbre
Il est commode de reprsenter les codes irrductibles par une mthode graphique illustre par lexemple suivant (D=2) : Considrons le code avec les messages suivants : x1 ---> 11 x2 ---> 100 x3 ---> 101 x4 ---> 0

0 0 1 0 x4 1 0 1 0 1 x2 0 1 x3 x5 1 0 1 1 x
1

1 0

0 1 0

Arbre correspondant au code de lexemple (points en bleu)

Sur l'arbre sont ports les messages x1, x2, x3 et x4 du code. Mais : Seuls les nuds terminaux de l'arbre mots de code = (squences ck ). Si ajout de x5 ---> 110 sur l'arbre x1 non terminal : risque de confusion. Cas gnral de D digits fils. chaque nud admet D

Ingalits de Kraft et Mac Millan


On doit coder N messages x1, x2, ...,xN auxquels il faut faire correspondre N squences (mots de code) de longueur nk.

Cas des codes irrductibles :


Pour que le codage soit possible tout en satisfaisant la condition de prfixe, nous avons vu que ces N messages doivent correspondre N nuds terminaux de l'arbre.

Ingalits de Kraft et Mac Millan


Kraft a montr qu'une condition ncessaire et suffisante pour pouvoir assigner N nuds terminaux de longueur nk aux N messages {xk } s'crivait :

1 D n k=

1 (I)

L'galit tous les nuds terminaux sont def utiliss ( = l'arbre est complet).

Ingalits de Kraft et Mac Millan


Cas gnral
Mac Millan a dmontr que l'ingalit de Kraft tait encore valable pour les codes simplement sparables ( l aussi c'est une Condition Ncessaire et Suffisante). Rsultat : On peut alors limiter l'tude du n optimum aux codes irrductibles,

en effet :
tant donn un code simplement sparable, les longueurs nk des mots constitutifs de ce code doivent satisfaire l'ingalit (I), d'aprs Mac Millan; D'aprs Kraft, il est alors possible de construire un code irrductible partir de ces nk. tout code simplement sparable peut donc tre remplac par un code irrductible avec le mme n .

Dtermination de n optimal
On montre que : 1. la longueur moyenne n de tout code sparable vrifie :

H(X) log D

2. il existe une limite infrieure pour n , mais n n'atteint effectivement sa limite infrieure que dans certains cas particuliers.

Dtermination de

n optimal
n

3. il existe aussi une limite suprieure pour optimal puisqu'il existe au moins un code irrductible avec n vrifiant :

n<

H(X) +1 log D

Donc le n optimal satisfait la double ingalit :


H(X) H(X) n< + 1 (II) log D log D

Dtermination de
Cas binaire (D=2) : on a alors :

n optimal

H(X ) n < H(X ) +1

Contre exemple : Cas dun code non sparable et n < H(X)


= 0.4+0.4+0.6= 1.4

x1 1 et p1 = 0.4 x 2 0 et p2 = 0.4 x 100 et p = 0.2 3 3

On trouve alors :
H(X) = 0.529 +0.529 + 0.464 = 1.522

et

= 0.4 + 0.4 + 0.6= 1.4

10

Mthode de l'arbre(suite)
Construire petit petit un arbre qui correspond au code Exploiter lide suivante : Choisir les nk vrifiant :
log pk log pk nk < +1 log D log D

Exemple : Construction de code optimal


cas particulier : D=2 , les p(xk) sont des puissances ngatives de 2. 8 messages [X] = (x1,....,x8) P = (1/4, 1/4, 1/8, 1/8, 1/16,....,1/16). Calculons I(xk) = - log p(xk) pour chaque valeur de k. Dans ce cas on trouve des entiers : I(x1) = I(x2) = 2, I(x3) = I(x4) = 3, I(x5) = ....= I(x8) = 4.

11

Exemple (suite)
Si choix nk = I(xk) atteinte De plus p(xk) = 2-nk

n = H(X) : borne infrieure

2 nk = 1

k =1

arbre correspondant complet.

Exemple (suite)
x 0 1 x 0 0 1 0 1 x
4
1

2 x
3

x 0 1 0 1

x x

1 1

12

Exemple (suite)
Codage : x1 x2 x3 x4 ---> ---> ---> ---> 00 01 100 101 x5 ---> 1100 x6 ---> 1101 x7 ---> 1110 x8 ---> 1111

ALGORITHMES DE SHANNONSHANNONFANO ET DE HUFFMAN


Pour ces deux algorithmes les entres sorties sont comme suit : Entre : Un ensemble de messages avec les probabilits d'apparition correspondante. Sortie : mots de code correspondant aux messages.

13

METHODE DE SHANNON-FANO SHANNONLa mthode consiste en un classement des messages suivant l'ordre dcroissant des probabilits. On partage ensuite les messages en deux groupes de probabilits aussi voisine que possible l'une de l'autre ---> S0 et S1. Refaire la mme chose sur chaque groupe obtenu jusqu' ce que l'on obtienne des singletons.

Exemple
Soit une source avec 5 messages x1, ,x5 avec les probabilits suivantes : p1 = 0,35 p4= 0,15 p2= 0,22 p5= 0,10 p3= 0,18

D'o l'entropie de cette source est H = 2,1987 bit/message.

14

Exemple (suite)
codage
p1 p2 p3 p4 p5 0,35 0,22 0,18 0,15 0,10 S1 (0,43) S0 (0,57) S00 (0,35) S01 (0,22) S10 (0,18) S11 (0,25) S110 (0,15) S111 (0,10) 00 01 10 110 111

La Longueur moyenne est n = 2,25 e.b. et l'efficacit de ce codage est E = 0,977 bit/ e.b.

Algorithme de Huffmann
1. Mettre dans une premire colonne les diffrents messages en suivant l'ordre dcroissant pour leurs probabilits

2. Remplir la seconde colonne par les probabilits des messages. 3. Pour remplir la 3me colonne, on fait la somme des deux probabilits les plus faibles de la 2me colonne ( un nouveau symbole est ainsi cre ayant comme probabilit la somme des probabilits ). On classe de nouveau les probabilits.

15

Algorithme de Huffmann (suite)


4.

On remplit ainsi toutes les colonnes jusqu' ce que l'on obtienne une colonne avec deux probabilits seulement. On associe ensuite aux deux probabilits les plus faibles de chaque colonne, les valeurs 0 et 1. Le mot de code associe un message est obtenu en partant du message et en suivant les symboles qu'il a gnr. Les mots de code sont crire de la droite vers la gauche.

Algorithme de Huffmann
Exemple : la mme source
x1 x2 x3 x4 x5 0.35 0.22 0.18 0.15 0 0.10 1 0.35 0.25 0.22 0 0.18 1 0.40 0.35 0 0.25 1 0.60 --->0 0.40 --->1

16

Algorithme de Huffmann
Les mots de code : x1 00 x2 10 x3 11 x4 010 x5 011 La longueur moyenne est n = 2,25 e.b. L'efficacit de ce codage est E= 0,977 bit/e.b.

Premier thorme fondamental de SHANNON


Dans le cas d'une source sans mmoire, il est possible de rduire la longueur moyenne des messages. Plus prcisment, on peut montrer que la limite infrieure de la formule (II) peut toujours tre atteinte. C--d quon montre qu'il est effectivement possible de trouver un codage optimal (un codage dont l'efficacit est 1).

17

Premier thorme fondamental de SHANNON


Dmonstration utilisant lextension dordre K dune source quon se donne.

Soit une source sans mmoire [X] = (x1,........xN). Considrons maintenant la source X2 = X X, c..d la source capable de transmettre N2 messages. X2 constitue l'extension l'ordre 2 de la source d'origine.

18

Vous aimerez peut-être aussi