Vous êtes sur la page 1sur 37

Dpartement DElectronique Master Acadmique : Systmes de Tlcommunications numriques Matire : THEORIE DE LINFORMATION POUR LES TELECOMMUNICATIONS Codage de Source

e Anne 2011/2012

THEORIE DE LINFORMATION POUR LES TELECOMMUNICATIONS Codage de Source UED122


Dr.L. SALAH Ne DEKKICHE
Thorie de linformation | Codage de source 1

CHAPITRE 1

1. Introduction :
Il est possible de classer les sources en deux catgories selon les signaux ou messages quelles mettent : Les sources analogiques : domaine de la TV, la vido, la radio (laudio en gnral). Les sources discrtes : disques optiques (Cd, DVD,), les mmoires magntiques (disques durs, bandes,). Quelque soit le type de source, linformation doit tre transmise sous forme numrique. Lencodeur de source est llment charg de la transformation du format de linformation. Bien entendu, le problme est diffrent selon que nous avons faire une source continue ou discrte.

2. Modle mathmatique dune source :


Une source transmet une information un rcepteur celui-ci ne connaissant pas linformation qui va lui tre transmise. On peut dire alors : 1. Une source d'information met en gnral un message non dterministe. D'un point de vue signal a ne peut tre qu'un signal alatoire et la modlisation mathmatique associe doit tre stochastique une information est un processus stochastique. 2. Ce qui rend une information intressante est son caractre imprdictible. Une information est ainsi d'autant plus riche qu'elle est peu probable.

3. Source discrte sans mmoire :


Une source dispose d'un "alphabet" constitu d'lments ou symboles ou caractres {x1 , x2 , x3,, xk} K est la longueur de l'alphabet. Ces symboles sont associs pour constituer un message. Emettre un message revient mettre une succession de symboles appartenant une source. Chaque symbole xk de l'alphabet a une probabilit d'utilisation pk.

Thorie de linformation | Codage de source 2

Dfinition : une source sans mmoire est une source pour laquelle la probabilit d'mission d'un caractre est indpendante de ce qui a t mis avant ou sera mis aprs. Cest une catgorie de sources qui est plus simple modliser.

4. Architecture gnrale dune chaine de transmission:

Thorie de linformation | Codage de source 3

CHAPITRE 2

1. Quantit d'information:
La quantit d'information d'un symbole est d'autant plus grande que celui-ci est peu probable. celui ci La quantit d'information de deux symboles successifs est la somme de leurs quantits d'information. La quantit d'information note I est une fonction qui doit ainsi avoir les proprits suivantes: 1. I(.) est une fonction continue de la probabilit pi. 2. I(pk) si pk I(pk) est une fonction dcroissante de pk.

3. I(pk et pj) = I(pk) + I(pj). 4. Un symbole certain possde une quantit d d'information nulle : I(pk=1) = 0. Une fonction mathmatique qui remplit les conditions 1, 3 et 4 nest autre que : log(pk). Pour obtenir la proprit 2, il suffit de prendre log(pk) = log(1/pk). La quantit d'information d'un symbole xk de probabilit pk a ainsi t dfinie par Shannon comme :

Remarque : la base du logarithme utilise est la base 2 et c'est cette base qui dfinit l'unit obtenue : le bit pour binary digit ou binary unit

2. Entropie d'une source :


L'entropie H(S) d'une source S est la quantit d'information moyenne contenue dans l'alphabet X de cette source. Du point de vue mathmatique, cela s'exprime par H(S) = E[ I(X) ] soit:

Thorie de linformation | Codage de source 4

Elle est exprime en bits/symbole ou Shannon/symbole. Exemple: source binaire avec deux symboles "0" et "1" de probabilits respectives p et 1-p.

Cette entropie est maximale pour p = 0,5 et vaut zro pour p = 0 et p = 1.

Cet exemple est un cas particulier d'une source ayant un alphabet de K symboles. On dmontre que son entropie est maximale lorsque tous les symboles sont quiprobables donc pk = 1/K et l'entropie devient: entropie devient

Ce qui montre le thorme suivant sur l'entropie d'une source:

3. Entropie jointe entre deux sources :


Cette notion permet de mesurer le degr de similitude entre deux sources. Soit deux sources : X d'alphabet {x1, x2,,xN} et Y d'alphabet {y1, y2,,yM} Si p( xi , yj ) est la densit de probabilit jointe entre deux caractres alors la quantit d'information jointe est :

Dfinition : lentropie jointe des deux sources est alors la quantit d'information moyenne jointe entre deux caractres de la source :

Thorie de linformation | Codage de source 5

Cas ou les deux sources sont indpendantes:

4. Quantit d'information mutuelle :


Gnralisation du calcul prcdent avec les sources dpendantes en faisant apparatre les deux termes prcdents :

Dans ce rsultat le premier terme est un terme supplmentaire par rapport au cas de sources indpendantes : c'est le terme d'information mutuelle. Sachant que p( xi , yj ) p( xi ).p( yj ) ce terme est ngatif . En dfinissant la quantit d'information mutuelle I( X , Y ) entre les deux sources comme une quantit positive nous aurons: Thorie de linformation | Codage de source 6

Nous retrouvons bien sr le cas de deux sources indpendantes pour lesquelles :

5. Entropie conditionnelle :
Nous pouvons aussi dfinir partir des densits de probabilit conditionnelles une quantit d'information conditionnelle:

Puis une entropie conditionnelle :

Et enfin une entropie conditionnelle moyenne :

6. Expressions de la quantit d'information mutuelle et de l'entropie conditionnelle moyenne :


L'entropie conditionnelle permet d'obtenir d'autres formulations de ces quantits en utilisant la loi de Bayes :

Thorie de linformation | Codage de source 7

Un rsultat semblable peut tre tabli en permutant le rle de x et y d'o les deux expressions quivalentes de la quantit d'information mutuelle:

Ces expressions ajoutent deux nouvelles formulations de l'entropie jointe des deux sources :

7. Intrt de ces quantits et formulations :


Lors de la transmission par un canal, nous souhaitons rcuprer l'information sans distorsion, autrement dit, l'alphabet de sortie du canal doit tre le mme que celui de l'entre. Simplifions encore l'exemple un canal qui doit transmettre des messages. Si nous appelons p la probabilit d'erreur nous pouvons schmatiser le fonctionnement du canal par le graphe suivant :

Thorie de linformation | Codage de source 8

Thorie de linformation | Codage de source 9

Thorie de linformation | Codage de source 10

Quelques remarques : 1. si p = 0 ce qui veut dire pas d'erreur de transmission alors I(X, Y) = 1. Similitude parfaite entre les deux sources, la transmission se passe bien. H(X, Y) = 1. 2. si p = , pagaille complte lors de la transmission. Dans ce cas I(X, Y) = 0, plus du tout de similitude entre les deux sources. H(X, Y) = H(X) + H(Y) = 2. Tout se passe comme si les deux sources taient indpendantes. 3. si p = 1, nouveau I(X, Y) = 1. Les deux sources sont nouveau tout fait semblables. Le fait qu'il y a dans ce cas permutation du "0" et du "1" n'ayant pas d'importance.

Thorie de linformation | Codage de source 11

CHAPITRE 3

1. Introduction :
Afin de transformer un signal analogique en un signal numrique, il est ncessaire de passer par une succession d'tapes qui vont permettre d'assurer le bon fonctionnement du procd. Dans un premier temps, il va falloir chantillonner le signal, c'est--dire le transformer en une srie d'chantillons de valeurs. Puis il faudra le filtrer pour isoler la partie du signal qui nous intresse. Enfin, il faudra attribuer chaque chantillon une valeur numrique c'est--dire faire une quantification.

2. Lchantillonnage :
La manipulation informatique des signaux impose leur transformation en valeurs numriques. Cette transformation se fait gnralement par prlvements d'chantillons raliss une frquence Fe appele frquence d'chantillonnage. Pour raliser cette " prise " d'chantillons, on multiplie le signal analogique par ce que l'on appelle un train d'impulsion de Dirac (figure(1)) :

Figure.1 : Echantillonnage dun signal analogique

Plus la frquence d'chantillonnage sera grande plus la mesure sera prcise et plus le signal pourra tre restitu fidlement. Mais cela demande un espace mmoire consquent car le nombre de donnes traiter sera normment augment. Thorie de linformation | Codage de source 12

3. Le thorme de Shannon :
Lorsqu'on fait l'analyse de Fourier d'un signal chantillonn, il apparait qu'une infinit de spectres sont crs, centrs autour des diffrents multiples de la frquence d'chantillonnage (Fe, 2Fe, 3Fe, etc).

Figure.2 : Echantillonnage dun signal analogique avec Fe > 2 * frquence du signal

Ce phnomne implique donc un rapport entre la frquence d'chantillonnage et la frquence du signal chantillonner (figure(2)), Il s'agit de la condition de Shannon : La frquence d'chantillonnage doit tre suprieure au double de la plus haute frquence contenue dans le signal chantillonner. Fe > 2 * frquence du signal Si la condition de Shannon n'est pas respecte (figure(3)), les diffrents spectres se croisent et au niveau des zones de recouvrement, les spectres s'additionnent (figure(4)) ; on appelle cela un repliement spectral (ou aliaising). Le spectre restitu aprs filtrage ne correspond donc plus au spectre rel du signal et les analyses en sont fausses :

Figure.3 : Echantillonnage dun signal analogique avec Fe < 2 * frquence du signal : repliement spectral

Thorie de linformation | Codage de source 13

Figure.4 : Spectre due au recouvrement : addition des spectres dans les zones de recouvrement.

On constate alors une modification nette et radicale du spectre frquentiel du signal d'origine rendant impossible la restitution du dit signal.

4. Le filtrage :
Une fois le signal chantillonn, il faut se dbarrasser des composantes inutiles. En effet les spectres crs autour des diffrents multiples de la frquence d'chantillonnage ne nous intressent pas. Pour se faire, on utilise en gnral un filtre passe-bas analogique dont la frquence de coupure Fc est infrieure Fe/2. Ainsi tous les signaux dont la frquence est suprieure Fe/2 seront fortement attnus.

Figure.5 : Filtre passe bas

Thorie de linformation | Codage de source 14

5. La quantification scalaire:
Lamplitude du signal chantillonn est reprsente par un nombre fini Nq de valeurs. Si ces dernires sont quidistantes, on parle de quantification linaire (figure (6a)) (dans le cas contraire on parle dune quantification non linaire (figure(6b))), et la distance qui spare 2 valeurs conscutives possibles, est appele pas de quantification q. Le qualificatif scalaire indique que le signal est quantifi chantillon par chantillon. Il existe des quantifications vectorielles, plus efficaces, consistant coder des blocs dchantillons.

(a) (b) Figure.6 : Quantification : (a) uniforme ou linaire, (b) non uniforme ou non linaire

5.1. Quantification scalaire uniforme :


n

La quantification uniforme des signaux consiste coder un signal sur n bits en 2 niveaux avec un pas de quantification q uniforme tel que:

Exemple : Ainsi un signal de +/-5V cod sur 8 bits donnera un pas de quantification :

Remarque : Le pas de quantification est aussi appel quantum. Il correspond la rsolution du convertisseur. Le quantum est la plus petite variation de tension que le convertisseur peut coder.

Thorie de linformation | Codage de source 15

la quantification remplace la valeur exacte du signal par une valeur approche. Il y a donc une dgradation de linformation. Le signal quantifi a subi une distorsion harmonique, du fait de la non harmonique, linarit de la fonction de transfert du quantificateur (cest une fonction en marches descalier). On peut considrer que le signal quantifi [x(n)] est la somme du signal analogique x(n) et dun bruit e(n) appel bruit de quantification ou erreur de quantification donne par : antification e(n) = [x(n)] - x(n) avec : e(n) : erreur de quantification ; [x(n)] : signal quantifi ; x(n) : signal analogique

(a)

(b)

Figure.7 : (a): Reprsentation de la quantification [x(n)] en fonction de x(n) ; (b) : Densit de probabilit de lerreur de quantification

On veut dterminer le pas de quantification q en fonction de F, x et n avec : n : le nombre de bits de quantification, F le facteur de forme et x la variance du signal rel. Sachant que :

A=F* x
Et

A F
Thorie de linformation | Codage de source 16

Donc :

Do : q Le calcul du rapport signal bruit (SNR) seffectue selon la relation :

SNR
Dmonstration :

10 log

6n

10log

3 F

N = 2 bits 2 1.5 1 0.5 [x(n)] 0 -0.5 -1 -1.5 -2 Signal chantillonn Signal quantifi Bruit de quantification

200

400

600 x(n)

800

1000

1200

Figure.8 : Quantification uniforme pour n n=2bits : SNQR2

= 14.5901

Thorie de linformation | Codage de source 17

N = 5 bits 20 15 10 5 [x(n)] 0 -5 -10 -15 -20 Signal chantillonn Signal quantifi Bruit de quantification

200

400

600 x(n)

800

1000

1200

Figure.9 : Quantification uniforme pour n=2bits : SNQR5

= 32.1330

Conclusion : on dduit, partir de lquation du SNR, que : 1) Le SNR augmente de 6dB par bit ajout

2) Le bruit de quantification e(n) est faible quand le pas de quantification q est faible et donc un nombre de bits n grand.

5.2. Quantification scalaire non uniforme : Lors de la quantification d'un signal non uniforme (comme le signal vocal (figure(10))) dans lequel se succdent des tronons fort niveau et des tronons faible niveau, les faibles niveau sont mal quantifis et produisent un rapport signal bruit de quantification mdiocre. Pour remdier au problme du bruit de quantification est d'essayer de quantifier les faibles signaux avec un pas plus fin que celui des forts signaux. De cette faon on peut avoir la mme erreur de quantification relative pour des signaux de diffrents niveaux et obtenir ainsi un rapport signal bruit constant.

Thorie de linformation | Codage de source 18

Figure.10 : Allure dun signal vocal

Figure.11 : Utilisation dun pas de quantification non uniforme

Remarque : * Les voyelles comme a, e, i o, u: Ce sont des sons "voiss" *Les consonnes comme "s" ou "f": Ces sons sont "non voiss"

On dmontre que pour avoir un Rapport signal bruit constant, il faut que le pas de quantification augmente d'une faon logarithmique (figure(12)).

Figure.12 : Quantificateur logarithmique

Thorie de linformation | Codage de source 19

Loi de Compression : La quantification non uniforme avec une loi logarithmique est quivalente une quantification uniforme signal pralablement compress avec un amplificateur logarithmique. L'amplification logarithmique consiste amplifier les faibles niveaux afin qu'ils soient correctement quantifis avec un pas uniforme. Les lois de compression utilise sont la loi A en Europe et la loi aux Etats-Unis. A la rception le signal est dcompress Etats Unis. par les lois de compression inverse ou loi de dc dcompression.

Soit m(t) le signal compresser et mc(t) le signal compress:

x =
En Europe, on a adopt la loi A :

m (t) , m max

y=

mc ( t ) mc max

Aux Etats Unis, on a adopt la loi :

Les valeurs de A = 87.6 et = 255 sont normalises.


Ces deux lois, en apparence trs diffrentes, sont en ralit trs similaires. Si on trace les deux lois on s'aperoit qu'elles sont quasiment superposes, les choix diffrents relvent plus de considrations stratgiques que scientifiques. Comme le montre le graphique de la figure (13) suivant :

Thorie de linformation | Codage de source 20

Figure.13 Figure : Comparaison de la loi A et de la loi

On dmontre qu'avec un quantificateur du type loi , le rapport signal bruit est de la forme :

On constate que le rapport signal bruit n'est pas constant comme on l'aurait espr mais on peut vrifier qu'il dpend beaucoup moins du terme ( Amax/x) que dans le cas du quantificateur uniforme. La figure (14) permet de comparer un quantificateur uniforme avec un quantificateur non uniforme. On ) uniforme remarque que pour le quantificateur non uniforme, le rapport signal bruit reste quasiment constant [36 38 dB] uniforme pour un niveau de signal variant entre Amax Amax Amax/100

14 Figure.1 : rapport signal bruit en fonction de ( Amax/x) d'un quantificateur sur 8 bits

Thorie de linformation | Codage de source 21

CHAPITRE 4

1. Dfinition :
Un codage dune source discrte est une procdure qui associe chaque squence finie de lettres de la source une squence binaire finie.

2. Dbit moyen d'information :


Si K est la taille de l'alphabet d'une source discrte sans mmoire X, nous avons dj vu que celle-ci contient celle une quantit moyenne d'information par symbole qui est l'entropie H( X ). Cette entropie admet une limite maximale:

La limite tant atteinte lorsqu'il y a quiprobabilit entre tous les symboles de l'alphabet de la source. e Si la source met ses symboles une cadence rgulire d'un symbole toute les S secondes, 1/S est la vitesse d'mission de la source exprime en symboles/seconde. Le dbit moyen d'information sera naturellement caractris par:

3. Codage avec mots de longueur fixe, efficacit :


3.1. Mots de codes de longueur fixe : Une manire simple de coder en binaire l'alphabet d'une source est d'attribuer chaque symbole R bits. Il y a donc 2R codes possibles et bien sr nous avons la condition 2R K l'galit tant possible lorsque le nombre K de symboles de la source est une puissance de 2. Dans le cas contraire nous aurons : 2R-1 < K < 2R. Cette . dernire relation permet de dterminer le nombre R de bits ncessaires au codage de l'alphabet d'une source de K symboles:

Thorie de linformation | Codage de source 22

Nous savons que :

L'galit a lieu lorsque tous les symboles de la source sont quiprobables et lorsque K est une puissance de 2. Un codage est dit d'autant plus efficace que le nombre de codes possibles inutiliss est faible. L'efficacit dpend aussi de la quantit d'information moyenne de la source. L'e L'efficacit d'un codage sera ainsi dfinie par :

Elle est exprime en %. Exemple: K= 24 log2( K ) = 4,585 R=5 2R = 32 et 5 codes non utiliss.

Si tous les symboles sont quiprobables : H( X ) = 4,585 3.2. Codage par blocs, extension de la source :

= 91,7 %.

Pour amliorer l'efficacit du codage, on peut transmettre et donc coder les symboles non pas individuellement mais par blocs de J symboles. Cette technique est appele l'extension de la source. source Exemple: Avec {A, B} on peut faire avec J = 2 les blocs { AA , AB , BA , BB }. A partir d'une source dite primaire, nous fabriquons une source secondaire. Source primaire de K symboles extension source secondaire de KJ symboles Si nous utilisons N bits de codage par bloc :

Le nombre de bits par symbole de la source primaire est R = N / J = Int[ log2( K ) ] + 1/J (remarque : R n'est plus un entier). L'efficacit de codage de la source primaire est gale :

Thorie de linformation | Codage de source 23

Rsultat comparer celui obtenu sans extension de source :

cause du terme en 1/J en dnominateur de 2, nous avons 2 > 1. La technique d'extension de source peut ainsi amliorer l'efficacit du codage pour des mots de codes de longueur fixe. Du point de vue de la source tendue N est le nombre de bits attribus un de ses symboles et l'efficacit du codage est gale :

Tout se passe comme si la source tendue avait une entropie de J.H( X ). Exemple: K= 24 , J=3 KJ = 13824 N = 14 et 2N = 16384 2 = 98,25 %. R = 4,666.

Si tous les symboles sont quiprobables : H( X ) = 4,585

3.3. Thorme du codage de source 1er thorme de Shannon : source,

Il dcoule de l'extension de source: Pour une source tendue N J.H( X ) + 1. Pour la source primaire N/J = R H( X ) + 1/J. En posant 1/J = , peut tre en thorie rendu aussi petit que l'on veut. D'o le premier thorme de Shannon:

4. Codage, mots de longueur variable :


Lorsque tous les symboles de l'alphabet ne sont pas quiprobables, l'extension de source ne permettra pas l d'augmenter jusqu' 100% l'efficacit Historiquement, le code de Morse rsouds ce problme l'ide tant efficacit. d'utiliser un codage "court" pour les symboles les plus utiliss (de probabilit leve) et en rservant un codage symboles Thorie de linformation | Codage de source 24

plus "long" aux symboles peu utiliss (de probabilit faible). C'est cette ide qui est reprise et formalise dans le codage avec mots de longueur variable.

4.1. Codes prfixes : Pour introduire les notions essentielles nous allons utiliser en exemple trois codages possibles pour une source de 4 symboles. Ces exemples sont dans le tableau ci ci-dessous:

Supposons que nous cherchions transmettre le message BOF 1. Avec le code I, le message envoy est : 001001. C'est ce que voit le rcepteur. Comment peut-il l'interprter? , . De manire correcte bien sr mais aussi 00 1 00 1 c'est dire BIBI. Problme, le message n'est pas dcodable . de manire unique. Ceci est du au fait que le 1, code attribu I est le dbut d'un autre code 10 attribu au O. Pour viter cette situation, il ne faut pas qu'un code soit le "prfixe" d'un autre code. Les codes qui remplissent cette condition sont des codes prfixes. prfixes 2. Avec le code III, le message envoy est 01111011. Au dcodage nous pouvons voir 0 111.c'est dire voy . IOMais ici nous nous rendons compte du fait que ce qui suit c'est dire soit 1 soit 10, soit 101 ne sont pas Mais 1, des codes et donc, nous pouvons revenir en arrire pour modifier l'interprtation soit 01 111 011 et retrouver le l'interprtation bon message. Le code n'est pas dcodable de manire instantane. Ceci est aussi d au fait que le code utilis n'est pas un code prfixe. 3. Le code II est lui un code prfixe et nous avons les deux proprits souhaites: dcodable de manire unique et de manire instantane.

4.2. Arbre dun code : Un codage binaire peut tre reprsent de manire graphique par un arbre. Les arbres sont aussi des reprsentations commodes pour crire les algorithmes de codage et de dcodage. Pour les trois codages ur prcdents nous obtenons : Thorie de linformation | Codage de source 25

Rgles : Un dplacement gauche correspond un "0". Un dplacement droite correspond un "1". Chaque dplacement cre un nud de l'arbre. Chaque nud un pre (vers le haut) et peut avoir deux fils (vers le bas). Le lien entre deux nuds est une branche. Un nud qui n'a pas de fils est une feuille.

Sur le cas n2 nous voyons une autre dfinition du code prfixe :

4.3. Longueur moyenne de code : Pour une source X d'alphabet { xk } de probabilits associes { pk }, la longueur moyenne du code sera dfinie par :

o nk est la longueur du code associ au symbole xk. 4.4. Ingalit de Kraft :

Thorie de linformation | Codage de source 26

Elle cherche rpondre la question de la condition d'existence d'un code prfixe. Nous venons de voir qu'un code prfixe se fabrique partir d'un arbre de codage et que sa condition d'obtention est que les codes soient des feuilles de l'arbre.

Le schma ci-dessus va illustrer le raisonnement conduisant l'ingalit de Kraft : dessus conduisant Nous construisons un arbre binaire de hauteur n finales possibles) est de 2n. le nombre de codes possibles (nombre de feuilles

A la hauteur nk, nous dcidons d'attribuer ce nud un code Ck Ce nud devient une feuille de l'arbre du code et, pour obtenir un code prfixe, cela interdit tous les nuds qui peuvent s'en dduire. Le nombre de nuds interdits est de 2n-nk. Si l'alphabet coder contient K symboles auxquels sont attribus des codes de longueur variable {nk}, le nombre total de feuilles interdites sera :

Le nombre de feuilles interdites est infrieur ou gal au nombre de feuilles finales : En divisant chaque membre de la relation par 2n, nous obtenons l'ingalit de Kraft :

Celle-ci peut se gnraliser au cas non binaire c'est dire un codage avec r symboles (en binaire r = 2) : ci c'est--dire

Thorie de linformation | Codage de source 27

4.5. Thorme du codage de source 2me thorme de Shannon : source, Ce thorme exprime les conditions sur R. Limite basse:

Nous savons que Ln(x) ( x-1 )

soit en utilisant l'ingalit de Kraft : O l'galit correspond au cas ou pk = 2-nk. Limite haute: Nous venons de voir que la limite basse est thoriquement atteinte par un choix astucieux des { nk } tels que :

Plus un symbole est probable, moins on lui attribue de bits. Cette condition n'est pas facilement ralisable car nk est un entier. En pratique nous serons donc obligs de choisir

Il vient ainsi :

Thorie de linformation | Codage de source 28

La runion des deux expressions donne la relation suivante :

5. Codage entropique :
Le codage entropique (ou codage statistique longueur variable) est une mthode de codage de source sans variable) pertes (sans distorsion de donnes), dont le but est de transformer la reprsentation d'une source de donnes , pour sa compression et/ou sa transmission sur un canal de communication. Les principaux types de codage . entropique sont le codage de Huffman , Fano-Shannon et le codage arithmtique.

5.1. Codage de Huffman : e


1952 C'est un codage de source avec des mots de longueur variable. Mis au point en 1952, bas sur les probabilits est variable des caractres de la source. C'est un algorithme optimal qui minimise le nombre moyen de bits utiliss pour le 'est codage. Algorithme : L'algorithme d'Huffman prcise une mthode pour associer entre eux les diffrents nuds. La technique est la suivante : 1. A chaque tape, les nuds sont rangs dans un tableau par ordre de probabilits dcroissantes. 2. Les deux nuds du bas du tableau, donc ceux de probabilits les plus faibles sont associs pour donner un nud "pre". Celui-ci se voit attribuer comme probabilit la somme des probabilits de ses deux ci "fils". 3. Nous avons un nouvel ensemble de nuds ayant un lment en moins (remplacement des deux "fils" par de arbre le "pre") et nous reprenons l l'tape 1 jusqu' l'arrive au sommet de l'arbre (ensemble de nuds d'un seul lment). 4. L'ensemble initial des nuds est constitu des feuilles donc des symboles de la source; symboles Thorie de linformation | Codage de source 29

Remarque : lors du classement des nuds par probabilits dcroissantes, il se peut que deux nuds aient mmes probabilits. Leur classement est alors arbitraire. Lors de l'implantation des algorithmes, le choix le plus simple au niveau programmation est d'attribuer, en cas d'quiprobabilit, la place la plus leve au grammation dernier nud cr. Nous adopterons cette coutume dans les exemples sachant qu'il s'agit ici d'un choix arbitraire. exemple (1): Prenons l'exemple du code II du paragraphe 4.1 (code prfixe) dont l'arbre est pris en exemple ci-dessus: ci

En prenant comme codage:

C'est le code complmentaire de celui que nous avons considr, l encore c'est une question de choix arbitraire, il aurait suffit de choisir comme codage:

Nous pouvons aussi remarquer qu' l'initialisation O et F auraient pu tre permuts. exemple (2):

Thorie de linformation | Codage de source 30

Pour transmettre 100 lettres en ASCII : 800 bits, avec ce code il faut en moyenne 213 bits.

Remarques : L'efficacit peut tre amliore si on effectue au pralable une extension de source c'est dire une transmission par blocs.

Ce type de technique amlior est aussi utilis pour la compression de donnes comme pour les algorithmes Lempel Ziv (LZ97, LZW.) utiliss pour le compactage sur disque dur (Zip).

5.2. Codage de Fano-Shannon : Shannon


Antrieur au codage d'Huffman, l'arbre est construit en partant du sommet c'est dire du MSB pour le codage. Il est bas sur la recherche de groupes de probabilits les plus proches possibles. Il donne, dans les cas simples, le mme rsultat que le codage d'Huffman mais il n'a pas son caractre optimal et il induit en gnral un codage moins efficace. Algorithme : 1. Ordonner les symboles de la source en probabilits dcroissantes 2. Sparer les symboles en deux groupes de probabilits les plus proches possibles. 3. Le MSB du groupe suprieur sera "0" et celui du groupe infrieur "1".

Thorie de linformation | Codage de source 31

4. Recommencer l'opration dans chaque sous-groupe pour affecter les bits suivants et ce jusqu' sous groupe sparation de tous les symboles de la source. Exemple prcdent:

Nous retrouvons ici la mme table de codage que celle fournie par la mthode d'Huffman.

5.3. Codage Arithmtique :


Un codage selon Huffmann ou Shannon Fano ne peut attribuer quun bit chaque symbole, indpendemment Shannon-Fano de la quantit dinformation contenue dans le symbole incrimin, simplement parce quil nest pas possible de transmettre des fractions de bit. Cest dans ce genre de cas que le codage arithmtique se montre plus favorable que les codages statistiques. L'encodage arithmtique traite l'ensemble d'un message comme une seule entit. Il fonctionne par la tique reprsentation d'un nombre par un intervalle de nombres rels compris entre 0 et 1. A mesure que le message s'allonge, l'intervalle requis pour le reprsenter diminue, et le nombre de bits qui servent prciser cet intervalle s'accrot. Exemple : Soit, par exemple, coder le message BILL GATES. Sa distribution de probabilits a lallure suivante :

Thorie de linformation | Codage de source 32

On va maintenant associer chaque symbole un domaine r lintrieur de lespace des probabilits compris entre 0 et 1. Lassociation de chaque symbole avec un domaine particulier nest pas critique, mais il est vital que le dcodeur et lencodeur utilisent la mme table dassociations.

Le premier caractre, B, se voit assigner un domaine entre 0.20 et 0.30. Le message final aura donc une valeur comprise entre 0.2 et 0.3, ce qui devient notre nouvel espace de probabilits pour le message. Le caractre I, qui obtient le domaine de 0.5 0.6, va utiliser le domaine compris entre 50% et 60% du nouvel espace de probabilits, ce qui amne le message un nouveau domaine compris entre 0.25 et 0.26. On obtiendra lvolution suivante :

Thorie de linformation | Codage de source 33

0.2572167752 est la reprsentation arithmtique du message BILL GATES. En fait, nimporte quelle quantit telle que 0.2572167752 x < 0.2572167756 peut en principe reprsenter le message dsir. Le dcodage est relativement simple : sachant que le message encod se trouve entre les bornes 0.2 et 0.3, on voit immdiatement que le premier caractre est B. On soustrait ensuite 0.2 (la borne infrieure) au message, ce qui caract donne 0.0572167752, ce que lon divise par lintervalle de probabilit du symbole B, soit 0.1 : le rsultat est 0.572167752, ce qui correspond lintervalle du symbole I, et ainsi de suite. ,

5.4. Algorithme de Lempel Ziv - Welch :


LZW (pour Lempel-Ziv-Welch est un algorithme de compression de donnes sans perte. Il s'agit d'une Welch) amlioration de l'algorithme LZ78 invent par Abraham Lempel et Jacob Ziv en 1978. LZW fut cr en 1984 par Terry Welch, d'o son nom. Lalgorithme a t conu de manire tre rapide implmenter, mais nest la plupart du temps pas optimal car il effectue une analyse limite des donnes compresser compresser. Compression : Le principe est le suivant: 1. 2. 3. 4. 5. Nous disposons d'un dictionnaire initial de 256 caractres ASCII numrots de 0 255. un Sont ajouts ces codes deux caractres de contrle. Au fur et mesure de l'apparition de blocs de caractres, ceux ci sont ajouts au dictionnaire. ceux-ci Tous les lments du message sont cods sur le mme nombre de bits. u L'lment du message compact est le rang du caractre dans la table. Ce rang est cod sur plus de 8 bits : 10 bits, 12 bits.

Thorie de linformation | Codage de source 34

Il est ncessaire de limiter la taille du dictionnaire et les codes associs sont tous de mme taille. Pour coder sur sont lments 10 bits, le dictionnaire aura 1024 lments. Le principe de l'algorithme LZW expliqu sur un exemple : Soit transmettre le message LES PAGES D'IMAGES DORAGES. Les tapes pas pas de la compression sont dans le tableau suivant o, pour plus de commodit, l'espace est not "_". Le message sera cod sur 10 bits . ce qui permet un dictionnaire de 1024 mots.

Thorie de linformation | Codage de source 35

D'o le message compact (exprim en hexadcimal): F05210F053 04C045053020050041047103020044 04505302005004104710302004402704904D10710910B04F En ASCII, les donnes codes sur 8 bits occupent 27*8 = 216 bits. Compactes par LZW sur 10 bits, il y a 20*10 = 200 bits.

Thorie de linformation | Codage de source 36

Nous avons ici un taux de compression de 92,6% sur un exemple adapt mais il est vident que l'efficacit de cet algorithme sera d'autant plus grande que les donnes compresser seront de taille importante. La dcompression : L'un des avantages de cette mthode est qu'elle ne ncessite pas la transmission de la table de codage. L'algorithme de dcompression se fait simplement en reconstituant pas pas le dictionnaire. Cet algorithme est actuellement l'un des plus performants du march, il fourni des taux de compression de 30% 40% et il est la base de nombreuses utilisations : 1. La grande majorit des algorithmes de compression : GZIP, PKZIP, WINZIP, 2. Le format GIF (Graphic Interchange Format) de compression d'images. 3. La compression de donnes pour la transmission sur modem norme V42 bis.

REFERENCES http://www.ulb.ac.be/cours/acohen/travaux_2006_infodoc/CompressionNumerique/SansPerte.htm http://fr.wikipedia.org/wiki/Lempel-Ziv-Welch. www.greyc.ensicaen.fr/~gbinet/T_info/COURS/T_info_source.pdf http://dspace.mit.edu/bitstream/handle/1721.1/45591/6-050JSpring-2003/NR/rdonlyres/ElectricalEngineering-and-Computer-Science/6-050JInformation-and-EntropySpring2003/ABF6E960-C29C48BB-95AE-AF9F79D9E20B/0/chapter3new.pdf 5. www.mat.ensmp.fr/Pages/jb/MEALOR/quantification.pdf 6. www.regionmag.com/quantification-scalaire-pdf.html 7. http://foad.refer.org/IMG/pdf/quantification-1.pdf 8. www.mesures.com/archives/760solechantillonnage.pdf 9. http://www.avex-asso.org/dossiers/wordpress/wp-content/uploads/2010/03/echantillonnage.pdf 10. http://www.gratuit-cours.com/cours/Codage-de-Huffman.pdf 11. http://aispirit.tuxfamily.org/~articles/articles/huffman/huffman.pdf 12. http://foad.refer.org/IMG/pdf/codage_source-1.pdf 13. www.esiee.fr/~francaio/enseignement/version_pdf/V_theorie.pdf 1. 2. 3. 4.

Thorie de linformation | Codage de source 37