Vous êtes sur la page 1sur 58

Université Catholique de Louvain - Ecole polytechnique de Louvain

INGI 2348 - Théorie de l’Information et du Codage

Théorie de l’information et du codage

Première partie :
Ingénierie du codage des sources

Benoît MACQ
benoit.macq@uclouvain.be

Avec la participation de : Guillaume Janssens


Benjamin Mathon
Marie-Gabrielle Wybou
TABLE DES MATIÈRES i

Table des matières

Préface 1

Références 2

I Syllabus 3

1 La chaîne de communication numérique 5


1.1 Sources et canaux numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Introduction aux codages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Théorie de l’information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 L’entropie, ou l’information moyenne . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.2 Entropie d’une variable binaire et normalisation de l’entropie . . . . . . . . . 10
1.3.3 Borne de l’entropie d’une variable aléatoire . . . . . . . . . . . . . . . . . . . 11
1.3.4 Capacité d’un canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.5 Autres propriétés de l’entropie . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.6 Information mutuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Codage entropique 21
2.1 Limites théoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Codage des sources sans mémoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.1 Codage de Shannon-Fano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.2 Codage de Huffman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.3 Remarques sur les codes de Shannon-Fano et sur les codes de Huffman . . . . 25
2.2.4 Codage de Huffman adaptatif . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Codage par dictionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 Codages universels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.1 Codage arithmétique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.2 UVLC : Universal Variable Length Coding . . . . . . . . . . . . . . . . . . . . 31

3 Quantification 33
3.1 Quantification scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.1 Rappels sur les séquences aléatoires . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1.2 Caractéristiques du bruit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4 Relation optimale débit-distorsion 41


4.1 Gain de codage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2 Codage par transformée linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Codage par prédiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Codage hybride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

INGI 2348 Théorie de l’Information et du Codage Version 2009


TABLE DES MATIÈRES ii

II Exercices 47

Séance 1 49

Séance 2 51

Séance 3 53

INGI 2348 Théorie de l’Information et du Codage Version 2009


TABLE DES MATIÈRES 1

Préface

Le cours de Théorie de l’Information et du Codage se compose de trois parties. La première est


consacrée à la représentation efficace et sécurisée des sources (les messages). On y aborde également
quelques éléments de théorie de l’information.

La deuxième partie fournit les éléments théoriques ainsi que leur mise en œuvre des façons de
coder l’information pour la mettre à l’abri des erreurs de transmission.

La troisième partie présente les principes généraux utilisés pour protéger l’information (authen-
ticité, confidentialité, intégrité,. . .) au moyen d’outils de cryptographie. Ces deux dernières parties
ne sont pas reprises ici et sont présentées respectivement par J. Louveaux et O. Pereira.

INGI 2348 Théorie de l’Information et du Codage Version 2009


TABLE DES MATIÈRES 2

Références

1. HISTORIQUES
Au cours des années 1940, Claude Shannon a développé une théorie mathématique de l’in-
formation pour modéliser efficacement les aspects fondamentaux des communications numé-
riques. Deux aspects importants y sont apparus, à savoir :
– les liens entre information et probabilités ;
– la définition et les performances des fonctions de codage et de décodage.
L’article fondateur de la théorie de l’information et du codage a eu 50 ans en 1998 puisque sa
référence est "A Mathematical Theory of Communication" publié en 1948 dans "Bell System
Tech. Journal", vol. 27, pp. 379-423 et pp. 623-656.

2. BIBLIOGRAPHIQUES
La partie théorique de ce cours s’appuie notamment sur :
– Information Theory and Reliable Communication de Robert GALLAGER, publié chez John
Wiley ;
– Digital Coding of Waveforms de JAYANT et NOLL, publié chez Prentice Hall ;
– Théorie des codes de Jean-Guillaume DUMAS, Jean-Louis ROCH, Eric TANNIER et Sé-
bastien VARRETTE, publié chez DUNOD.

INGI 2348 Théorie de l’Information et du Codage Version 2009


3

Première partie

Syllabus

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 5

Chapitre 1

La chaîne de communication numérique

1.1 Sources et canaux numériques


On s’intéresse dans ce cours au problème de la représentation optimale des messages produits
par un émetteur en vue de la transmission par un canal de transmission vers un récepteur.

L’émetteur produisant des messages est considéré comme une source.


Il faut distinguer deux types de sources :
– les sources discrètes numériques émettant une suite d’événements (𝑋(0), 𝑋(1), . . . , 𝑋(𝑛), . . .)
prenant des valeurs dans un alphabet de symboles {𝑥0 , 𝑥1 , . . . 𝑥𝑘 , . . . , 𝑥𝐷−1 } avec une certaine
probabilité 𝑝𝑘 (𝑛) = 𝑃 (𝑋(𝑛) = 𝑥𝑘 ).
Ces sources sont, par exemple, les caractères ASCII d’un fichier texte, des mesures en sortie
d’un compteur, . . .
On souhaite souvent coder ces sources sans distorsion, c’est-à-dire que l’on souhaite que le
message au récepteur soit identique au message à l’émetteur ;
– les sources de formes d’ondes ("waveforms") qui sont constituées d’un signal analogique 𝑥(𝑡)
représentant typiquement un signal de parole, de musique ou d’image. Dans ce cas, on accepte
que le signal au récepteur 𝑥′ (𝑡) soit différent du signal 𝑥(𝑡). La relation entre le débit binaire
nécessaire à la représentation du signal 𝑥(𝑡) et la distorsion introduite au niveau de 𝑥′ (𝑡) fera
l’objet du Chapitre 4.
Il faut noter que les sources de formes d’ondes sont en général numérisées avant leur codage. La
numérisation d’une forme d’onde est effectuée en deux étapes :
– la discrétisation consiste à échantillonner la forme d’onde à une fréquence supérieure au double
de la fréquence la plus élevée contenue dans le signal 𝑥(𝑡) (ou inversement, si la fréquence
d’échantillonnage est donnée, on supprime du signal 𝑥(𝑡) toute fréquence supérieure à la
moitié de la fréquence d’échantillonnage). Le signal 𝑥(𝑡) est ainsi remplacé par une suite de
nombres réels : 𝑥𝑒 (0), 𝑥𝑒 (1), . . . , 𝑥𝑒 (𝑛), . . . ;
– la quantification qui consiste à limiter les valeurs possibles des échantillons 𝑥𝑒 (𝑛) dans un
alphabet {𝑥0 , 𝑥1 , . . . , 𝑥𝐷−1 } amenant ainsi à une représentation du signal 𝑥(𝑡) sous forme
d’une source discrète numérique 𝑋𝑒 (0), 𝑋𝑒 (1), . . . , 𝑋𝑒 (𝑛), . . .

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 6

La numérisation d’une forme d’onde est illustrée à la figure ci-dessous.

On constate que la quantification empêche une reconstruction parfaite du signal 𝑥(𝑡) à partir
des échantillons 𝑋𝑒 (𝑛). Cependant, dans le problème débit-distorsion détaillé au Chapitre 4, la
distorsion introduite par la numérisation du signal est souvent négligeable en comparaison des
distorsions introduites par le codage réducteur de débit, c’est-à-dire la compression.

Le canal par lequel les messages sont transmis vers le récepteur est en général un médium
analogique (courant porteur sur paire téléphonique, onde électromagnétique dans l’air ou onde
portée par un signal optique dans une fibre) si bien qu’une opération de constitution d’un signal
électrique à partir de la sortie du codage est nécessaire : cette opération s’appelle la modulation et
a pour but de maximiser l’occupation du canal tout en minimisant la puissance émise ainsi que les
erreurs de transmission.
Les opérations de modulation et de démodulation ne sont pas abordées ici et font l’objet des
cours de Télécommunications. D’un point de vue fonctionnel, le modulateur, le canal physique et
le démodulateur constituent un canal numérique. Nous supposerons dans ce cours que les canaux
sont stationnaires et sans mémoire et simplement caractérisés par une relation entrée-sortie telle
que définie à la figure ci-dessous.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 7

En effet, en raison des perturbations présentes sur le canal physique et des limites quant aux
opérations de modulation et de démodulation, les événements discrets numériques en entrée peuvent
être transmis erronément. La caractérisation des erreurs de transmission peut se faire à travers une
matrice de probabilités conditionnelles

𝑝𝑖∣𝑗 = 𝑃 (𝑋(𝑛) = 𝑥𝑖 ∣𝑌 (𝑛) = 𝑥𝑗 )

c’est-à-dire quelle est la probabilité que l’événement 𝑋(𝑛) = 𝑥𝑖 était celui envoyé sur le canal lorsque
l’on observe 𝑌 (𝑛) = 𝑥𝑗 en sortie de ce canal.
En cas de canal à transmission sans erreurs, cette matrice est diagonale (𝑝𝑖∣𝑖 = 1 et 𝑝𝑖∣𝑗 = 0 si
𝑖 ∕= 𝑗).
Le canal est sans mémoire et stationnaire si les 𝑝𝑖∣𝑗 ne dépendent pas du temps (l’indice 𝑛
ci-dessus) et des valeurs discrètes 𝑋(𝑛 − 𝑘) envoyées précédemment. C’est une hypothèse assez
restrictive par rapport aux systèmes réels (par exemple un téléphone portable peut avoir des carac-
téristiques de transmission variant dans le temps lorsque l’on se déplace en voiture).
Un cas particulier de canal largement étudié en théorie de l’information est le canal binaire
symétrique sans mémoire :

Ce type de canal est caractérisé par un taux d’erreur 𝑝1∣2 = 𝑝2∣1 = 1 − 𝑝1∣1 = 1 − 𝑝2∣2 = 𝜀
(typiquement 10−9 pour une transmission par fibre optique, 10−4 à 10−6 pour une transmission par
satellite).

1.2 Introduction aux codages


Le canal numérique, composé du canal physique, du modulateur et du démodulateur présente
trois limitations :
a. sa capacité, généralement exprimée en bit/s et notée R pour "rate", est limitée à une valeur
maximale ;
b. sa sécurité est limitée, en ce sens qu’un opposant peut écouter des messages (problème de
confidentialité entre l’émetteur et le récepteur) ou peut tenter de se faire passer pour l’émetteur
en injectant des messages de son propre chef (problème d’authenticité du message) ou encore
modifier les messages transmis (problème d’intégrité du message) ;
c. sa fiabilité est limitée et est indiquée par le taux d’erreur (𝜀 dans le cas d’un canal binaire
symétrique sans mémoire).

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 8

Trois types de codage ont été proposés pour remédier à ces limitations :
a. le codage de source permet d’obtenir une représentation du message la plus compacte possible,
en tout cas nécessitant un débit inférieur à la capacité du canal ;
b. le codage cryptographique qui effectue un chiffrement du message (problème de confidentia-
lité) et qui effectue une signature du message (problème d’authenticité et d’intégrité) permet
de résoudre les problèmes de sécurité ;
c. le codage du canal résout les problèmes d’erreurs de transmission en effectuant un codage
correcteur (ou, éventuellement, simplement détecteur) d’erreurs.

Dans cette première partie du cours, on supposera que le canal permet de constituer un nouveau
canal dont le débit a été réduit légèrement par les codes correcteurs d’erreurs, mais qui fournit une
transmission sans erreurs des sources codées. Il est important de noter que le codage cryptographique
(en tout cas le chiffrement) fournit une sortie constituée de signaux pseudo-aléatoires à partir des-
quels il est très difficile de retrouver le message original si l’on n’a pas accès au procédé de décodage
cryptographique. Le codage de source, étant essentiellement un codage réducteur de débit basé sur
la redondance contenue dans les messages, il est indispensable d’effectuer le codage cryptographique
APRES le codage de source, car une source chiffrée, à cause de son caractère pseudo-aléatoire, ne
contient plus de redondance. Cet ordre des codages permet de rendre robuste la transmission car
en enlevant la redondance avant de chiffrer, on rend la tâche plus difficile pour les pirates.
Les trois types de codage se cascaderont donc comme à la figure suivante :

On distinguera deux types de codage de source :


– le codage sans pertes, où la quantité de bits pour représenter une source dépendra de la
redondance contenue dans cette source et sera donc, en général, un codage à débit variable ;
– le codage avec pertes, qui concerne exclusivement le codage de formes d’ondes où la réduction
du débit n’est pas exclusivement basée sur la suppression de la redondance, mais également sur
la suppression d’information contenue dans la source. Dans ce cas, il est possible de construire
un codage à débit constant (il suffit d’éliminer suffisamment d’information jusqu’à ce que
l’on atteigne le débit souhaité) mais la perte d’information au codage de source va introduire
des distorsions sur le message reconstruit. L’optimisation du rapport débit-distorsion pour les
formes d’onde fait l’objet du Chapitre 4.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 9

1.3 Théorie de l’information


La quantité d’information liée à un événement est inversement proportionnelle à sa probabilité.
Plus un événement est rare, plus il apporte de l’information. Ainsi, l’événement "il fait beau dans le
désert" contient peu d’information. Au contraire, "le soleil ne s’est pas levé ce matin", hautement
improbable, contient énormément d’information.
Par ailleurs, il serait souhaitable de mesurer la quantité d’information de deux événements
indépendants par une fonction additive :
– soient deux événements [𝑋1 (𝑚) = 𝑥𝑘 ] et [𝑋2 (𝑛) = 𝑥ℓ ] issus de sources discrètes numériques ;
– supposons que ces événements soient indépendants (𝑃 étant la probabilité) :

𝑃 ([𝑋1 (𝑚) = 𝑥𝑘 et 𝑋2 (𝑛) = 𝑥ℓ ]) = 𝑃 ([𝑋1 (𝑚) = 𝑥𝑘 ]) ⋅ 𝑃 ([𝑋2 (𝑛) = 𝑥ℓ ])

– il faut que la quantité d’information liée à l’événement [𝑋1 (𝑚) = 𝑥𝑘 ] et [𝑋2 (𝑛) = 𝑥𝑙 ] notée
𝐼 ([𝑋1 (𝑚) = 𝑥𝑘 et 𝑋2 (𝑛) = 𝑥ℓ ]) soit telle que

𝐼 ([𝑋1 (𝑚) = 𝑥𝑘 et 𝑋2 (𝑛) = 𝑥ℓ ]) = 𝐼 ([𝑋1 (𝑚) = 𝑥𝑘 ]) + 𝐼 ([𝑋2 (𝑛) = 𝑥ℓ ])


1 1
∼ +
𝑃 ([𝑋1 (𝑚) = 𝑥𝑘 ]) 𝑃 ([𝑋2 (𝑛) = 𝑥ℓ ])

La proportionnalité inverse de l’information en fonction de la probabilité ainsi que son additi-


vité pour deux événements indépendants conduit naturellement à choisir la fonction logarithme de
l’inverse.
( )
1
𝐼 ([𝑋1 (𝑚) = 𝑥𝑘 ]) = log
𝑃 ([𝑋1 (𝑚) = 𝑥𝑘 ])
= − log (𝑃 ([𝑋1 (𝑚) = 𝑥𝑘 ]))

1.3.1 L’entropie, ou l’information moyenne


Soit la variable aléatoire 𝑋(𝑛) issue d’une source discrète numérique et prenant des valeurs dans
un alphabet {𝑥0 , 𝑥1 , . . . , 𝑥𝐷−1 } suivant les probabilités 𝑃 ([𝑋(𝑛) = 𝑥𝑘 ]) = 𝑝𝑘 .
L’information liée à l’événement [𝑋(𝑛) = 𝑥𝑘 ] est 𝐼 (𝑋(𝑛) = 𝑥𝑘 ) = − log 𝑝𝑘 . La moyenne de
l’information associée aux diverses occurrences de 𝑋(𝑛) est donnée par
𝐷−1
∑ 𝐷−1

𝐸 ([𝐼 (𝑋(𝑛) = 𝑥𝑘 )]) = 𝐻 ([𝑋(𝑛)]) = 𝑝𝑘 ⋅ 𝐼([𝑋(𝑛) = 𝑥𝑘 ]) = − 𝑝𝑘 log 𝑝𝑘 [bit]
𝑘=0 𝑘=0

et est définie comme étant l’entropie de la variable aléatoire 𝑋(𝑛). On peut donner plusieurs inter-
prétations de l’entropie :
– la quantité moyenne d’information qu’un événement apporte (un événement non fréquent
contient plus d’information qu’un événement fréquent) ;
– l’incertitude dans la sortie d’un événement (les systèmes avec un événement très fréquent ont
moins d’entropie que les systèmes avec de nombreux événements équiprobables) ;
– la dispersion dans la distribution de probabilité ;
– le nombre moyen minimum de chiffres binaires nécessaires pour désigner un message de ma-
nière unique (de manière générale, 𝑘 chiffres binaires spécifient 2𝑘 messages et 𝑀 messages
nécessitent ⌈log2 𝑀 ⌉ bits).

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 10

On peut maintenant considérer le vecteur aléatoire

(𝑋(−𝑁/2), 𝑋(−𝑁/2 + 1), . . . , 𝑋(0), 𝑋(1), . . . , 𝑋(𝑁/2))

issu de la même source discrète numérique que 𝑋(𝑛) où chaque variable prend des valeurs dans un
alphabet {𝑥0 , 𝑥1 , . . . , 𝑥𝐷−1 } avec des probabilités 𝑝0 , 𝑝1 , . . . , 𝑝𝐷−1 .
En toute généralité, on peut noter la probabilité de l’événement

[(𝑋(−𝑁/2) = 𝑥𝑘−𝑁/2 ) et ... et (𝑋(0) = 𝑥𝑘 )


et (𝑋(1) = 𝑥𝑘′ ) et ... et (𝑋(𝑁/2) = 𝑥𝑘𝑁/2 )]

où les 𝑘 𝑖 prennent des valeurs dans [0, 𝐷 − 1] par

𝑝𝑘−𝑁/2 ,...,𝑘,𝑘′ 𝑘′′ ,...,𝑘𝑁/2

et dès lors mesurer la quantité d’information associée à cette occurrence particulière du vecteur
aléatoire par
− log 𝑝𝑘−𝑁/2 ,...,𝑘,...,𝑘𝑁/2
et son entropie par
𝐷−1
∑ 𝐷−1
∑ 𝐷−1

𝐻 ([𝑋(−𝑁/2) et . . . et 𝑋(𝑁/2)]) = − ... ... 𝑝𝑘−𝑁/2 ,...,𝑘,...𝑘𝑁/2 log 𝑝𝑘−𝑁/2 ,...,𝑘,...,𝑘𝑁/2
𝑘−𝑁/2 =0 𝑘=0 𝑘𝑁/2 =0

L’entropie de la source discrète numérique . . . , 𝑋(0), 𝑋(1), . . . , 𝑋(𝑚) . . . sera mesurée par
1
lim ⋅ 𝐻 ([𝑋(−𝑁/2) . . . 𝑋(0) . . . 𝑋(𝑁/2)]) = 𝐻𝑋
𝑁 →∞ 𝑁 +1
Si la source est composée de variables aléatoires indépendantes et identiquement distribuées,
alors
𝑝𝑘−𝑁/2 ,...,𝑘,...,𝑘𝑁/2 = 𝑝𝑘−𝑁/2 . . . 𝑝𝑘 . . . 𝑝𝑘𝑁/2 ,

𝐻 ([𝑋(−𝑁/2) . . . 𝑋(0) . . . 𝑋(𝑁/2)]) = 𝐻 (𝑋(−𝑁/2)) + . . . + 𝐻 (𝑋(0)) + . . . + 𝐻 (𝑋(𝑁/2))


et
𝐻𝑋 = 𝐻 (𝑋(𝑚))

Dans la plupart des cas, les sources numériques ne sont pas composées de variables indépendantes
(même si elles sont, par contre, très souvent identiquement distribuées).
En pratique, pour mesurer leur entropie, on effectue une transformation de ces sources qui
conduit à des variables plus ou moins indépendantes et on mesure l’entropie sur cette représentation
transformée.

1.3.2 Entropie d’une variable binaire et normalisation de l’entropie


Supposons la variable aléatoire 𝑋(𝑛) prenant deux valeurs possibles {0, 1} avec les probabilités
𝑝0 et 𝑝1 (bien sûr 𝑝0 + 𝑝1 = 1), alors l’entropie de cette variable peut s’écrire

𝐻 (𝑋(𝑛)) = −𝑝0 log 𝑝0 − 𝑝1 log 𝑝1


= −𝑝0 log 𝑝0 − (1 − 𝑝0 ) log(1 − 𝑝0 )

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 11

La fonction 𝐻 (𝑋(𝑛)) (représentée en fonction de 𝑝0 à la figure ci-dessus) prend sa valeur maxi-


male en 𝑝0 = 𝑝1 = 12 et y vaut 𝐻 (𝑋(𝑛)) = log(2). En effet, en ce point, on a
( ) ( ) ( )
1 1 1 1 1
− log − log = − log = log(2)
2 2 2 2 2
On propose en général de normaliser la fonction log mesurant l’entropie de sorte que l’entropie
maximale d’une variable aléatoire binaire prenne la valeur 1, l’unité de mesure étant le bit, c’est-à-
dire que les logarithmes sont toujours pris en base 2 :
log𝑥
log ≡ ou log(2) = 1
log𝑥 (2)
Il faut noter que dans l’exemple de la variable aléatoire binaire, l’entropie est maximale pour
𝑝0 = 𝑝1 = 12 alors que la quantité d’information liée à l’évènement [𝑋(𝑛) = 0] est au contraire de
plus en plus importante à mesure que 𝑝0 est faible. Cependant, lorsque 𝑝0 est faible [𝑋(𝑛) = 1]
contient très peu d’information et de plus l’évènement [𝑋(𝑛) = 0] est très rare et contribue peu à
l’information moyenne. Par ailleurs, un évènement certain 𝑃 [𝑋(𝑛) = 0] = 𝑝0 = 0 ou 1 ne contient
pas d’information, ce qui est somme toute fort logique.
Conclusion : la variable binaire prenant la valeur 1 si il pleut ou 0 s’il ne pleut pas a une entropie
très faible dans le désert mais maximale en Belgique.

1.3.3 Borne de l’entropie d’une variable aléatoire


Théorème :
Soit la variable aléatoire 𝑋(𝑛) prenant des valeurs dans l’alphabet {𝑥0 , 𝑥1 , . . . , 𝑥𝐷−1 }. On peut
montrer que
𝐻(𝑋(𝑛)) ≤ log 𝐷
et que 𝐻(𝑋(𝑛)) = log 𝐷 si et seulement si 𝑝0 = 𝑝1 = . . . = 𝑝𝐷−1 = 1
𝐷
Démonstration :
Par définition de l’entropie, en utilisant la propriété selon laquelle la somme des probabilités
donne 1 et en se rappelant que log(𝑥) + log(𝑦) = log(𝑥𝑦), on a
𝐷−1
∑ 𝐷−1

𝐻(𝑋(𝑛)) − log 𝐷 = − 𝑝𝑘 log 𝑝𝑘 − 𝑝𝑘 log 𝐷
𝑘=0 𝑘=0
𝐷−1 ( )
∑ 1
= 𝑝𝑘 log
𝑝𝑘 𝐷
𝑘=0

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 12

or il est aisé d’observer sur le graphe suivant que ln 𝑧 ≤ 𝑧 − 1 ∀ 𝑧, l’égalité étant obtenue pour 𝑧 = 1.

Nous obtenons donc l’inégalité suivante


𝐷−1 ( )
∑ 1
𝐻(𝑋(𝑛)) − log 𝐷 = log(𝑒) 𝑝𝑘 ln
𝐷 𝑝𝑘
𝑘=0
log𝑦 ★
puisque log𝑥 ★ = ici avec 𝑥 = 𝑒
log𝑦 𝑥
𝐷−1 [ ]
∑ 1
≤ ln(𝑒) 𝑝𝑘 ′ −1
𝐷𝑝𝑘′
𝑘′ =0

où 𝑘 ′ représente les indices pour lesquels 𝑝𝑘′ ∕= 0. Dès lors, nous retrouvons la relation voulue puisque
[𝐷−1 𝐷−1
] [𝐷−1 ]
∑ 1 ∑ ∑ 1
𝐻 (𝑋(𝑛)) − log 𝐷 ≤ ln(𝑒) − 𝑝𝑘′ = ln(𝑒) −1 ≤0

𝐷 ′ ′
𝐷
𝑘 =0 𝑘 =0 𝑘 =0
car
𝐷−1 𝐷−1
∑ 1 ∑ 1
si 𝑝𝑘 ∕= 0 ∀ 𝑘, = 1 et sinon <1
𝐷 𝐷
𝑘′ =0 ′ 𝑘 =0

D’autre part, il est clair que si 𝑝0 = 𝑝1 = . . . = 𝑝𝐷−1 = 𝐷,


1
𝐻(𝑋(𝑛)) = log 𝐷 car on a alors
𝐷−1 ( )
∑ 1
𝐻(𝑋(𝑛)) − log 𝐷 = log(𝑒) 𝑝𝑘 ln
𝐷 𝑝𝑘
𝑘=0
𝐷−1
∑ 1
= log(𝑒) ln(1)
𝐷 | {z }
𝑘=0 =0
= 0

et on prouve l’implication réciproque de manière évidente, ce qui termine la démonstration. □

Cette borne indique que la quantité d’information contenue dans 𝑋(𝑛) est strictement inférieure
ou égale au nombre de bits nécessaire à sa représentation naturelle. En effet, intuitivement la borne
s’explique par le fait que le pire que l’on puisse faire est d’assigner log2 𝐷 bits à chaque valeur.
Ainsi une suite de caractères ASCII codée sur 8 bits (256 valeurs possibles) a une entropie égale
ou inférieure à 8 bits. On verra au chapitre 2 comment changer le codage des variables aléatoires
pour obtenir une représentation dont le débit correspondant est proche de l’entropie.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 13

1.3.4 Capacité d’un canal


Le paragraphe 1.3.1 avait pour but de décrire la quantité d’information associée à une variable
aléatoire 𝑋(𝑛) issue d’une source discrète numérique. L’extension à la quantité d’information de la
source est immédiate dans le cas de sources constituées de variables indépendantes identiquement
distribuées.
Le concept de quantité d’information peut également être très utile pour décrire la capacité d’un
canal numérique. Dans ce cas, on doit considérer deux variables. 𝑋(𝑛) est la variable aléatoire à
l’entrée du canal et 𝑌 (𝑛) est la variable aléatoire obtenue en sortie du canal.
Les variables 𝑋(𝑛) et 𝑌 (𝑛) prennent des valeurs dans l’alphabet {𝑥0 , 𝑥1 , . . . , 𝑥𝐷−1 } et les pro-
babilités 𝑃 (𝑋(𝑛) = 𝑥𝑘 ) = 𝑝𝑋 (𝑘) sont connues.
Le comportement du canal peut être décrit par une matrice de probabilités conditionnelles
𝑃 (𝑋(𝑛) = 𝑥𝑘 si 𝑌 (𝑛) = 𝑥𝑙 ) = 𝑝𝑘∣ℓ indiquant la probabilité que ce soit l’événement [𝑋(𝑛) = 𝑥𝑘 ] qui
ait été envoyé sur le canal lorsque, au récepteur, on observe l’événement [𝑌 (𝑛) = 𝑥ℓ ]. Dans le cas
d’un canal parfait (sans erreur), cette matrice est diagonale : 𝑝𝑘∣ℓ = 1 si 𝑘 = ℓ, 0 sinon.
Les probabilités 𝑃 (𝑌 (𝑛) = 𝑥ℓ ) = 𝑝𝑌 (ℓ) peuvent être directement calculées par
𝐷−1

𝑝𝑌 (ℓ) = 𝑝𝑘 𝑝𝑘∣ℓ
𝑘=0

par la règle de Bayes qui établit que 𝑃 (𝐴) 𝑃 (𝐴 si 𝐵) = 𝑃 (𝐴 et 𝐵) = 𝑃 (𝐵) 𝑃 (𝐵 si 𝐴).


On peut, à partir de ces probabilités conditionnelles, mesurer la quantité d’incertitude (d’infor-
mation) sur la variable aléatoire 𝑋(𝑛) lorsque l’on observe au récepteur l’événement [𝑌 (𝑛) = 𝑥ℓ ]
par l’entropie conditionnelle
𝐷−1

𝐻 𝑋(𝑛) si [𝑌 (𝑛) = 𝑥ℓ ] = −
( )
𝑝𝑘∣ℓ log2 𝑝𝑘∣ℓ
𝑘=0

La moyenne de cette entropie conditionnelle donne une mesure de l’équivoque sur la variable
aléatoire à l’entrée lorsque l’on connaît la variable aléatoire en sortie. Elle est donnée par
𝐷−1
∑ 𝐷−1

𝐻 𝑋(𝑛) si 𝑌 (𝑛) = −
( )
𝑝ℓ 𝑝𝑘∣ℓ log2 𝑝𝑘∣ℓ
ℓ=0 𝑘=0
𝐷−1
∑ 𝐷−1

= − 𝑝𝑘,ℓ log2 𝑝𝑘∣ℓ
ℓ=0 𝑘=0

Shannon a (montré que la capacité du canal est donnée par la valeur maximale de la quantité
𝐻 (𝑋(𝑛)) − 𝐻 𝑋(𝑛) si 𝑌 (𝑛) par rapport à l’ensemble des probabilités d’utilisation des symboles
)

𝑥0 , 𝑥1 , . . . , 𝑥𝐷−1 à l’entrée du canal. Cette dernière quantité est appelée l’information mutuelle et
sera présentée plus en détails dans un prochain paragraphe.
On voit immédiatement que si le canal est parfait 𝐻 𝑋(𝑛) si 𝑌 (𝑛) = 0 et que la capacité du
( )

canal est obtenue pour une distribution à l’entrée où tous les 𝑝𝑥 (𝑘) = 𝐷 1
, alors la capacité du canal
vaut log 𝐷.
Dans le cas du canal binaire symétrique caractérisé par le taux d’erreur 𝜖, on a 𝑝0∣0 = 𝑝1∣1 = 1 − 𝜖
et 𝑝0∣1 = 𝑝1∣0 = 𝜖.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 14

Théorème :
On peut montrer que la capacité du canal obtenue pour une variable binaire à l’entrée telle que
𝑝𝑥 (0) = 𝑝𝑥 (1) = 12 vaut
1 + 𝜀 log 𝜀 + (1 − 𝜀) log2 (1 − 𝜀)
De plus, en l’absence de perturbation, la capacité vaut 1.
Démonstration :
En effet, d’une part
1 ( )
∑ 1 1 1
𝐻(𝑋(𝑛)) = − 𝑝𝑘 log2 𝑝𝑘 = 2 − log2 = − log2 = log2 2 = 1
2 2 2
𝑘=0

et d’autre part
1 ∑
∑ 1
𝐻 𝑋(𝑛) si 𝑌 (𝑛)
( )
= − 𝑝ℓ 𝑝𝑘∣ℓ log2 𝑝𝑘∣ℓ
ℓ=0 𝑘=0
( )
= − 𝑝0 𝑝0∣0 log2 𝑝0∣0 + 𝑝0 𝑝1∣0 log2 𝑝1∣0 + 𝑝1 𝑝0∣1 log2 𝑝0∣1 + 𝑝1 𝑝1∣1 log2 𝑝1∣1
[ ]
1( )
= −2 (1 − 𝜀) log2 (1 − 𝜀) + 𝜀 log2 𝜀
2
= −(1 − 𝜀) log2 (1 − 𝜀) − 𝜀 log2 𝜀

d’où
𝐻(𝑋(𝑛)) − 𝐻 𝑋(𝑛) si 𝑌 (𝑛) = 1 + 𝜀 log2 𝜀 + (1 − 𝜀) log2 (1 − 𝜀)
( )

et il est clair que si 𝜀 = 0 (absence de perturbation), on a bien 1 puisque 0 ⋅ log2 0 = 0 □


Les techniques de codage des signaux permettant d’approcher la capacité du canal font l’objet
de la seconde partie du cours (codage du canal) et ne seront pas discutées dans cette partie.
Il est toutefois important de noter l’intérêt d’utiliser les concepts d’entropie non seulement pour
caractériser les sources mais également pour caractériser le canal numérique 1 .

1.3.5 Autres propriétés de l’entropie


Théorème :
Soit une source 𝑋 reliée à la source 𝑌 . On a 𝐻(𝑋) ≥ 𝐻(𝑋∣𝑌 ). De plus, si 𝑋 et 𝑌 sont
indépendants, 𝐻(𝑋) = 𝐻(𝑋∣𝑌 ).
Démonstration :
L’inégalité étudiée signifie que 𝑌 donne de l’information additionnelle sur 𝑋. En effet, connaître
quelque chose en plus ne peut pas nous désapprendre ce que nous savons déjà.
Plus formellement,
∑ 𝑝𝑥
𝐻(𝑋) − 𝐻(𝑋∣𝑌 ) = − log2 𝑒 𝑝𝑥,𝑦 ln
𝑥,𝑦
𝑝𝑥∣𝑦
( )
∑ 𝑝𝑥
≥ − log2 𝑒 𝑝𝑥,𝑦 −1
𝑥,𝑦
𝑝𝑥∣𝑦
en réutilisant l’inégalité vue au point 1.3.3 : ln 𝑧 ≤ 𝑧 − 1
1. Shannon a poussé ses travaux plus loin donnant le lien entre les caractéristiques physiques d’un canal et sa
capacité. Il a ainsi démontré que la capacité d’un canal de largeur de bande 𝐵 et dont les perturbations)sont constituées
𝑆
(
par un bruit blanc gaussien 𝑁 pour une puissance à l’émission 𝑆 est donnée par 𝐶 = 𝐵 log2 1 + 𝑁

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 15

) (
𝑝𝑥∑
𝐻(𝑋) − 𝐻(𝑋∣𝑌 ) ≥ − log2 𝑒 𝑝𝑥,𝑦 −1
𝑥,𝑦
𝑝𝑥∣𝑦
( )
∑ 𝑝𝑥 𝑝𝑦
= log2 𝑒 𝑝𝑥,𝑦 1 −
𝑥,𝑦
𝑝𝑥,𝑦
par la règle de Bayes
(∑ ∑ )
= log2 𝑒 𝑝𝑥,𝑦 − 𝑝𝑥 𝑝𝑦
𝑥,𝑦 𝑥,𝑦
| {z }
1
( ∑ ∑ )
= log2 𝑒 1 − 𝑝𝑥 𝑝𝑦
𝑥 𝑦
| {z }
1
= 0

D’autre part, si 𝑋 et 𝑌 sont indépendants, on a 𝑝𝑥∣𝑦 = 𝑝𝑥 d’où


∑ 𝑝𝑥 ∑
𝐻(𝑋) − 𝐻(𝑋∣𝑌 ) = − log2 𝑒 𝑝𝑥,𝑦 ln = − log2 𝑒 𝑝𝑥,𝑦 ln 1 = 0
𝑥,𝑦
𝑝𝑥∣𝑦 𝑥,𝑦

Théorème :
On s’intéresse à présent à l’entropie jointe : 𝐻(𝑋, 𝑌 ) = 𝐻(𝑋) + 𝐻(𝑌 ∣𝑋) = 𝐻(𝑌 ) + 𝐻(𝑋∣𝑌 ).
Intuitivement, pour décrire 𝑋 et 𝑌 , on décrit d’abord 𝑋 et puis 𝑌 étant donné 𝑋.
Démonstration :

𝐻(𝑋, 𝑌 ) = − 𝑝𝑥,𝑦 log2 𝑝𝑥,𝑦
𝑥,𝑦

= − 𝑝𝑥,𝑦 log2 𝑝𝑥 𝑝𝑦∣𝑥
𝑥,𝑦
∑ ∑ ∑
= − 𝑝𝑥 𝑝𝑦∣𝑥 log2 𝑝𝑥 − 𝑝𝑥,𝑦 log2 𝑝𝑦∣𝑥
𝑥 𝑦 𝑥,𝑦
| {z }
1
= 𝐻(𝑋) + 𝐻(𝑌 ∣𝑋)

Pour obtenir la seconde égalité, on remplace 𝑝𝑥,𝑦 par 𝑝𝑦 𝑝𝑥∣𝑦 au lieu de 𝑝𝑥 𝑝𝑦∣𝑥 dans la première
équation et on procède de la même manière. □
Corollaire :
Une implication directe de ce théorème est que l’on a l’égalité suivante :

𝐻(𝑋) − 𝐻(𝑋∣𝑌 ) = 𝐻(𝑌 ) − 𝐻(𝑌 ∣𝑋)

Corollaire :
De même, on en déduit que

𝐻(𝑋, 𝑌, 𝑍) = 𝐻(𝑋, 𝑌 ) + 𝐻(𝑍∣𝑋, 𝑌 )


= 𝐻(𝑋) + 𝐻(𝑌 ∣𝑋) + 𝐻(𝑍∣𝑋, 𝑌 )
≤ 𝐻(𝑋) + 𝐻(𝑌 ) + 𝐻(𝑍)

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 16

1.3.6 Information mutuelle


Définition L’information mutuelle (MI) mesure la dépendance non linéaire entre deux variables.
Elle est définie par : ∑∑ 𝑝𝑥,𝑦
𝐼(𝑋; 𝑌 ) = 𝑝𝑥,𝑦 log
𝑥 𝑦
𝑝𝑥 𝑝𝑦

où 𝑝𝑥,𝑦 est la probabilité jointe, et 𝑝𝑥 et 𝑝𝑦 sont les probabilités marginales. Lorsque le logarithme
en base 2 est utilisé, l’unité de mesure de la MI est le bit.
On peut également exprimer l’information mutuelle en utilisant l’entropie :

𝐼(𝑋; 𝑌 ) = 𝐻(𝑋) − 𝐻(𝑋∣𝑌 ) = 𝐻(𝑌 ) − 𝐻(𝑌 ∣𝑋)

L’équation précédente nous apprend que la MI est égale à zéro lorsque les variables 𝑋 et 𝑌
sont totalement indépendantes (𝐻(𝑋) = 𝐻(𝑋∣𝑌 ) et 𝐻(𝑌 ) = 𝐻(𝑌 ∣𝑋)). Au contraire, si 𝑋 et 𝑌
sont égaux, la MI sera maximale (puisque 𝐻(𝑋∣𝑋) = 0). La MI est par conséquent une quantité
positive qui est toujours plus petite que l’entropie de la variable aléatoire. Cela semble intuitif,
puisqu’aucune variable ne peut apprendre plus sur 𝑋 que 𝑋 elle-même (𝐼(𝑋; 𝑌 ) ≤ 𝐼(𝑋; 𝑋)).
La MI est habituellement exprimée en utilisant les entropies jointes 𝐻(𝑋, 𝑌 ) plutôt que les
probabilités conditionnelles :

𝐼(𝑋; 𝑌 ) = 𝐻(𝑋) + 𝐻(𝑌 ) − 𝐻(𝑋, 𝑌 )

Interprétation Comme cela a été dit précédemment, l’information mutuelle fournit une mesure
de la capacité d’un canal. Elle représente également la réduction de la longueur de la description de
𝑋 lorsque l’on connaît 𝑌 , ou encore la quantité d’information que 𝑌 donne sur 𝑋.
En pratique, les distributions de probabilités 𝑝𝑥 sont données par l’histogramme des réalisations
de la variable 𝑋, et 𝑝𝑥,𝑦 est calculé en utilisant l’histogramme joint. L’histogramme joint donne le
nombre d’occurences de chaque couple de valeurs (𝑥, 𝑦). Si 𝑋 peut prendre 𝑚 valeurs différentes et
que 𝑌 peut en prendre 𝑛 différentes (les tailles de 𝑝𝑥 et 𝑝𝑦 sont respectivement 𝑚 et 𝑛), la taille de
𝑝𝑥,𝑦 sera 𝑚 × 𝑛.
EXEMPLE 1 : Soit 𝑋 une source simple émettant à travers un canal bruité.

La MI entre 𝑌 et 𝑋 est une mesure de l’information originale qui reste dans 𝑌 . On peut aussi
exprimer la capacité du canal, qui donne la quantité maximale d’information qui peut être envoyée
à travers le canal, de la manière suivante :

𝐶 = max 𝐼(𝑋; 𝑌 )
𝑝𝑥

EXEMPLE 2 : Soit 𝑋 une source simple émettant à travers 2 canaux bruités différents.

Au récepteur, 𝑌 et 𝑍 ont des entropies différentes. La MI entre 𝑌 et 𝑍 reflète l’information de


𝑋 qui est encore présente à la fois dans 𝑌 et 𝑍.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 17

EXEMPLE 3 : Soit deux observations différentes (𝑋 et 𝑌 ) d’un même phénomène. Par exemple,
considérons deux photos d’un même objet. Dans ce cas, les deux variables (𝑋 et 𝑌 ) devraient
contenir des informations similaires (𝐻(𝑋, 𝑌 ) = 𝐻(𝑋) = 𝐻(𝑌 ) idéalement). Cependant, comme
les deux canaux de transmission ont des caractéristiques différentes (temps, exposition, position de
l’objet,...), la MI diminuera après la prise d’image.

Dans le cas d’images du même objet en des positions différentes, les entropies 𝐻(𝑋) et 𝐻(𝑌 ) sont
égales (même objet), mais le manque d’alignement réduit la MI puisque l’entropie jointe augmente.
En effet, comme on peut le voir ci-dessous, l’histogramme joint s’élargit quand les images ne sont
pas alignées.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 18

MI comme distance Dans l’équation qui suit, 𝐷 a les propriétés d’une distance (définie positive,
symétrique, inégalité triangulaire) et est utilisée dans de nombreuses applications.

𝐼(𝑋; 𝑌 )
𝐷(𝑋, 𝑌 ) = 1 −
max(𝐻(𝑋), 𝐻(𝑌 ))

Applications Nous évoquons ici deux applications classiques :


Premièrement, l’analyse en composantes indépendantes (ICA) : Définissons la MI entre les com-
posantes résultant d’une décomposition de la variable 𝑋 en un ensemble de 𝑛 variables comme
𝑛

𝐼(𝑋1 ; ...; 𝑋𝑛 ) = 𝐻(𝑋𝑖 ) − 𝐻(𝑋)
𝑖=1

On peut trouver la meilleure décomposition de 𝑋 en composantes indépendantes en minimisant


cette expression, qui est une mesure de l’information que les différentes composantes ont en commun.

En second lieu, la régistration d’images : La régistration est une méthode qui vise à trouver le
meilleur alignement (matching) entre deux images. Dans le cas de prises d’images multiples d’un
même objet / d’une même scène, il y a un intérêt à placer toutes les images dans un même référentiel
spatial afin d’effectuer une analyse des pixels basée sur les différentes images au même moment.
Dans le domaine médical, par exemple, différentes modalités sont utilisées. On pourrait vouloir
regarder une image CT (rayons X) et une image PET (Positron Emission Tomography) en même
temps. Cependant, comme les deux images ne requièrent pas le même équipement, elles ne sont
pas dans le même référentiel spatial et on ne connaît pas la correspondance entre pixels. Le but de
la régistration est d’aligner l’une de ces images (qui est appelée moving image) sur l’autre image
(appelée fixed image).

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 1. LA CHAÎNE DE COMMUNICATION NUMÉRIQUE 19

La distance 𝐷(𝑋, 𝑌 ) entre deux images peut être utilisée pour trouver la meilleure transforma-
tion entre ces images. En effet, les paramètres de transformation qui donnent la plus petite distance
maximiseront l’information que les images ont en commun, donnant ainsi la transformation pour
laquelle le matching est optimal.

Ensuite, connaissant la transformation, on peut l’appliquer à l’image fixe afin d’obtenir la fusion
entre les différentes modalités.

Propriétés de l’information mutuelle Reprenons tout d’abord quelques propriétés qui ont été
utilisées précédemment :
∙ 𝐼(𝑋; 𝑌 ) = 𝐼(𝑌 ; 𝑋) : l’information mutuelle est symétrique
∙ 𝐼(𝑋; 𝑋) = 𝐻(𝑋)
∙ 𝐼(𝑋; 𝑌 ) ≤ 𝐻(𝑋) et 𝐼(𝑋; 𝑌 ) ≤ 𝐻(𝑌 ) : l’information d’une variable sur une autre ne peut être
plus grande que l’information que l’image contient sur elle-même
∙ 𝐼(𝑋; 𝑌 ) ≥ 0
∙ si 𝑋 et 𝑌 sont indépendants, 𝐼(𝑋; 𝑌 ) = 0
Ensuite, on définit l’information mutuelle conditionnelle à partir des entropies conditionnelles
correspondantes :
𝐼(𝑋; 𝑌 ∣𝑍) = 𝐻(𝑋∣𝑍) − 𝐻(𝑋∣𝑌, 𝑍)
Enfin, terminons par cet énoncé :
Théorème :
Supposons que les variables 𝑋, 𝑌 et 𝑍 forment une chaîne de Markov : 𝑋 → 𝑌 → 𝑍 et que 𝑍
est indépendant de 𝑋∣𝑌 , c’est-à-dire que 𝑝𝑥,𝑦,𝑧 = 𝑝𝑥 𝑝𝑦∣𝑥 𝑝𝑧∣𝑦 : 𝑋 → 𝑝𝑦∣𝑥 → 𝑌 → 𝑝𝑧∣𝑦 → 𝑍. Alors,
𝐼(𝑋; 𝑌 ) ≥ 𝐼(𝑋; 𝑍).
Démonstration :
𝐼(𝑋; 𝑌, 𝑍) = 𝐻(𝑌, 𝑍) − 𝐻(𝑌, 𝑍∣𝑋) = 𝐻(𝑋) − 𝐻(𝑋∣𝑌, 𝑍)
= 𝐻(𝑌 ) + 𝐻(𝑍∣𝑌 ) − 𝐻(𝑌 ∣𝑋) − 𝐻(𝑍∣𝑌, 𝑋) = 𝐻(𝑋) − 𝐻(𝑋∣𝑍) + 𝐻(𝑋∣𝑍) − 𝐻(𝑋∣𝑌, 𝑍)
= 𝐼(𝑋; 𝑌 ) + 𝐼(𝑋; 𝑍∣𝑌 ) = 𝐼(𝑋; 𝑍) + 𝐼(𝑋; 𝑌 ∣𝑍)
Or 𝐼(𝑋; 𝑍∣𝑌 ) = 0 par indépendance et 𝐼(𝑋; 𝑌 ∣𝑍) ≥ 0. On a donc 𝐼(𝑋; 𝑌 ) ≥ 𝐼(𝑋; 𝑍). □

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 21

Chapitre 2

Codage entropique

L’objectif de ce chapitre est de proposer des méthodes de codage des sources discrètes numériques
telles que le nombre de bits pour les encoder soit minimum. La stratégie suivie est de constituer des
codes à longueur variable en associant des mots courts aux événements les plus probables. Illustrons
ce principe par un exemple. Soit la source discrète numérique dont on observe l’occurrence d’un
certain nombre de variables : 0 0 0 − 1 0 0 2 0 0 1 0 0 0
On pourrait envisager d’encoder de telles variables sur un code à longueur fixe et obtenir, en
allouant 3 bits par variable, au total 39 bits pour les 13 variables observées :
000 000 000 101 000 000 010 000 000 001 000 000 000
0 0 0 -1 0 0 2 0 0 1 0 0 0
On pourrait améliorer le codage par un code à longueur variable tel que la longueur du code soit
inversement proportionnelle à la probabilité d’occurrence des événements.
𝐶𝑘
[𝑋(𝑖) = 0] 0
[𝑋(𝑖) = 1] 1 0
[𝑋(𝑖) = −1] est codé par 1 1 0
[𝑋(𝑖) = 2] 1 1 1 0
[𝑋(𝑖) = −2] 1 1 1 1
[𝑋(𝑖) = 𝑥𝑘] ] est codé par un mot code 𝐶𝑘 de longueur 𝐿𝑘 .
On obtient dès lors une représentation
0 0 0 110 0 0 1110 0 0 10 0 0 0
0 0 0 -1 0 0 2 0 0 1 0 0 0
qui est passée de 39 bits à 19 bits.
Le code à longueur variable, pour pouvoir être décodé de manière univoque, doit être un code
uniquement déchiffrable : le code 𝐶 est uniquement déchiffrable sur un alphabet 𝑉 = {0, 1} si et
seulement si ∀ 𝑥 = 𝑥1 , 𝑥2 , . . . , 𝑥𝑀 , 𝑥𝑖 ∈ 𝑉, ∃ ! 𝑐 = 𝑐1 , 𝑐2 , . . . , 𝑐𝑚 , 𝑐𝑖 ∈ 𝐶 tel que 𝑐 = 𝑥.
Un code 𝐶 possède la propriété du préfixe si aucun mot de code 𝐶𝑘 n’est le début d’un autre mot
de code. Notons que si les mots de code ont tous la même longueur, ils possèdent automatiquement
cette propriété. On code préfixe est uniquement déchiffrable mais la réciproque est fausse en général.
Par exemple 𝐶 = {0, 01} est uniquement déchiffrable mais ne possède pas la propriété du préfixe.
Si l’on a 𝐶 = {0, 01}, et que l’on reçoit le code 0001, on le découpera en 0∣0∣01 car on sait
qu’avant un 1 il y a toujours un 0. Ce code est donc uniquement déchiffrable. Par contre, avec
𝐶 = {0, 01, 001}, si l’on a le code 001001, on peut l’interpréter de deux manières différentes :
0∣01∣001 ou 001∣001. Ce code n’est donc pas uniquement déchiffrable.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 22

Le décodeur peut ainsi fonctionner en lisant bit par bit le code comprimé et en sortant un
événement [𝑋(𝑖) = 𝑥𝑘 ] chaque fois qu’un mot code 𝐶𝑘 a été complété.
Les caractéristiques des codes à longueur variable, outre la caractéristique préfixe, peuvent ai-
sément se comprendre à la lumière de l’exemple.
1. Le codage à longueur variable fournit un débit variable, avec des augmentations de débit
lorsque des événements improbables arrivent, c’est-à-dire là où se trouve beaucoup d’informa-
tion. Un exemple de ce principe est clairement illustré lors de la transmission d’un fax où le
débit de la page est ralenti lorsque de l’information est présente, de sorte que l’augmentation
de débit correspondante puisse être adaptée à la capacité fixée du canal.
2. Le codage à longueur variable est très fragile vis-à-vis des erreurs de transmission. Une erreur
introduite sur le code comprimé désynchronise le processus de décodage. Un codage à longueur
variable doit donc être accompagné par un codage de canal efficace, comprenant un code
correcteur d’erreurs mais surtout une stratégie efficace de resynchronisation (introduction
régulière de mots de synchronisation).
3. L’implantation de circuits de codage et de décodage à longueur variable nécessite l’usage de
mémoires de codes à longueur variable ainsi que de mécanismes efficients de synchronisation
et de temporisation du codeur et du décodeur.

2.1 Limites théoriques


On sait qu’un bit véhicule un maximum d’information si sa probabilité d’être égal à zéro est
égale à sa probabilité d’être égal à 1 (voir chapitre 1).
Soit la variable aléatoire 𝑋(𝑛) prenant ses valeurs dans l’alphabet {𝑥0 , 𝑥1 , . . . , 𝑥𝐷−1 }. A l’événe-
ment [𝑋(𝑛) = 𝑥𝑘 ], nous allons associer le mot code 𝐶𝑘 de longueur 𝐿𝑘 . Par exemple, en introduction
à ce chapitre, l’événement [𝑋(𝑛) = 2] était représenté par le code 1110 = 𝐶𝑘 de longueur 𝐿𝑘 = 4.
Ce code est optimal si chacun des bits qui le constitue véhicule un maximum d’information, à savoir
indique un événement binaire dont 𝑝0 = 𝑝1 = 21 .
Cette condition est remplie seulement si
( )𝐿𝑘
11 1 1
𝑝𝑘 = 𝑃 [𝑋(𝑛) = 𝑥𝑘 ] = ... =
|2 2 {z 2} 2
𝐿𝑘

c’est-à-dire si 𝐿𝑘 = − log2 𝑝𝑘
Le débit moyen d’un code quelconque est donné par
𝐷−1

𝑅= 𝑝𝑘 𝐿𝑘
𝑘=0

Si le code est optimal, alors


𝐷−1

𝑅=− 𝑝𝑘 log2 𝑝𝑘 = 𝐻 (𝑋(𝑛))
𝑘=0

On voit donc que la limite inférieure du débit moyen d’un code à longueur variable d’une variable
aléatoire 𝑋(𝑛) est donnée par l’entropie 𝐻((𝑋(𝑛)).
Le rendement d’un code est donné par 𝜂 = 𝐻
𝑅 et est toujours inférieur ou égal à 1.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 23

Si l’on souhaite maintenant examiner la limite théorique de l’encodage d’une source discrète nu-
mérique . . . , 𝑋(0), 𝑋(1), . . . , 𝑋(𝑛), . . ., il faut envisager d’encoder des vecteurs (𝑋(−𝑁/2), . . . , 𝑋(0),
. . . , 𝑋(𝑁/2)) de probabilités 𝑝𝑘−𝑁/2 ,...,𝑘,...,𝑘𝑁/2 .
Chacun des événements

[𝑋(−𝑁/2) = 𝑥𝑘−𝑁/2 et . . . et 𝑋(0) = 𝑥𝑘 et . . . et 𝑋(𝑁/2) = 𝑥𝑘𝑁/2 ]

est encodé par un mot code 𝐶𝑘−𝑁/2 ,...,𝑘,...,𝑘𝑁/2 optimal si sa longueur est telle que

𝐿𝑘−𝑁/2 ,...,𝑘,...,𝑘𝑁/2 = − log2 (𝑝𝑘−𝑁/2 ,...,𝑘,...,𝑘𝑁/2 )

et on peut montrer que le débit moyen tend vers 𝐻𝑋 lorsque 𝑁 tend vers l’infini.
En général, on effectue un codage entropique sur des variables aléatoires qui ont été rendues
plus ou moins indépendantes, de telle sorte que l’on peut effectuer un codage des variables indépen-
damment les unes des autres (𝐻𝑋 = 𝐻 (𝑋(𝑛)) et un code optimal individuel pour 𝑋(𝑛) conduira
à un code optimal pour des vecteurs de la source).
La stratégie de codage pour des sources constituées d’événements indépendants 𝑋(𝑛) est de
constituer des structures arborescentes binaires, où chaque bifurcation de l’arbre correspond à un
événement le plus équiprobable possible.
Il faut noter que la condition 𝐿𝑘 = − log2 (𝑝𝑘 ) est en général impossible à réaliser car − log2 (𝑝𝑘 )
est rarement un nombre entier. En particulier, si un des évènements [𝑋(𝑛) = 𝑥0 ] est très probable,
alors − log2 (𝑝0 ) sera un nombre bien inférieur à 1.
Dans ce cas, il faut envisager de constituer des vecteurs d’une certaine longueur pour retrouver
des probabilités mieux conditionnées. On peut ainsi démontrer que même dans le cas de sources
constituées d’événements indépendants, il est toujours plus favorable d’effectuer un codage de vec-
teurs plutôt que de variables individuelles.

2.2 Codage des sources sans mémoires


Soit une source discrète numérique . . . , 𝑋(𝑛−1), 𝑋(𝑛), 𝑋(𝑛+1), . . . dont les événements prennent
des valeurs dans un alphabet de symboles {𝑥0 , 𝑥1 , . . . , 𝑥𝐷−1 } avec les probabilités 𝑝𝑘 = 𝑃 (𝑋(𝑛) = 𝑥𝑘 ).
Supposons, par ailleurs, que ces sources sont sans mémoire, à savoir que les événements 𝑋(𝑛)
et 𝑋(𝑛 + 𝑚) sont indépendants sauf, bien sûr, pour 𝑚 = 0.
Dans ce cas, un codage entropique efficace consiste à encoder chacun des événements [𝑋(𝑛) = 𝑥𝑘 ]
par un code 𝐶𝑘 de longueur 𝐿𝑘 . Deux procédures de construction des codes sont proposées :
– la procédure de Shannon-Fano
– la procédure de Huffman
Ces deux procédures visent à construire des codes 𝐶𝑘 où chaque bit alloué correspond à un
événement binaire équiprobable. On va donc associer à chaque bit une séparation de l’alphabet telle
que

alphabet = alphabet 1 alphabet 2



et 𝑃 (𝑋(𝑛) = 𝑥𝑖 tel que 𝑥𝑖 ∈ alphabet 1 ) = 𝑃 (alphabet 1)

≃ 𝑃 (𝑋(𝑛) = 𝑥𝑗 tel que 𝑥𝑗 ∈ alphabet 2 ) = 𝑃 (alphabet 2)

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 24

2.2.1 Codage de Shannon-Fano


Le codage de Shannon-Fano consiste en une application directe de ce principe. L’alphabet de
départ {𝑥0 , 𝑥1 , . . . , 𝑥𝐷−1 } est divisé en deux ensembles 𝑆0 = {𝑥𝑖 , 𝑥𝑗 , . . .} et 𝑆1 = {𝑥𝑘 , 𝑥ℓ , . . .}
de même probabilité 𝑝(𝑆0 ) ≃ 𝑝(𝑆1 ) ≃ 12 . Les deux ensembles 𝑆0 et 𝑆1 peuvent à leur tour être
partitionnés en ensembles 𝑆00 et 𝑆01 d’une part et 𝑆10 et 𝑆11 d’autre part de même probabilité
1
𝑝(𝑆00 ) = 𝑝(𝑆01 ) = 𝑝(𝑆10 ) = 𝑝(𝑆11 ) =
4
Cette opération est continuée jusqu’à ce que tous les sous-ensembles ne contiennent plus qu’un
seul élément. L’exemple ci-dessous illustre cette procédure :
Valeurs de 𝑋(𝑛) Probabilité Partition Mots codes 𝐶𝑘 Longueur
𝑃 (𝑋(𝑛) = 𝑥𝑘 ) 𝐿𝑘
𝑥0 0,25 0 00 2
0
𝑥1 0,25 1 01 2
𝑥2 0,125 0 100 3
0
𝑥3 0,125 1 101 3
𝑥4 0,0625 0 1100 4
1 0
𝑥5 0,0625 1 1101 4
1
𝑥6 0,0625 0 1110 4
1
𝑥7 0,0625 1 1111 4

2.2.2 Codage de Huffman


L’idée centrale du codage de Huffman consiste à supposer que si l’on effectue un classement par
ordre de probabilité décroissant de l’alphabet {𝑥0 , 𝑥1 , . . . , 𝑥𝐷−2 , 𝑥𝐷−1 }, alors on peut supposer que
𝑝𝐷−2 ≃ 𝑝𝐷−1 . Par le tri, les deux événements les moins probables ont de grandes chances d’avoir
des probabilités proches. On utilisera donc un bit pour distinguer 𝑥𝐷−2 et 𝑥𝐷−1 . Si les probabilités
sont égales, on aura autant de 0 que de 1 à ce niveau-là et le code utilisera le bit au maximum
de son entropie. On constitue alors un nouvel alphabet de dimension 𝐷 − 1 où le dernier élément
constitue l’événement
(𝑋(𝑛) = 𝑥𝐷−2 ou 𝑋(𝑛) = 𝑥𝐷−1 ) = 𝑥′𝐷−2
On obtient ainsi un alphabet {𝑥′0 , 𝑥′1 , . . . , 𝑥′𝐷−2 } où le dernier élément, 𝑥′𝐷−2 , de probabilité
𝑝′𝐷−2 = 𝑝𝐷−2 + 𝑝𝐷−1 n’a pas nécessairement la probabilité la plus basse. Pour pouvoir itérer la
procédure, il faut donc se livrer à un nouveau tri par ordre de probabilité décroissant. Sur l’ensemble
{𝑥′′0 , 𝑥′′1 , . . . , 𝑥′′𝐷−3 , 𝑥′′𝐷−2 } issu de ce tri, on peut procéder au regroupement des deux derniers éléments
dont on espère que les probabilités sont suffisamment proches. On réitère la procédure jusqu’à ce
qu’il n’y ait plus que deux événements à distinguer.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 25

Le code ainsi construit peut se représenter en forme d’arbre dans lequel on retrouve le code
attribué à chaque 𝑠𝑖 : 𝑠1 = 00, 𝑠2 = 10, 𝑠3 = 11, 𝑠4 = 010, 𝑠5 = 0110, 𝑠6 = 0111.

On peut observer que le codage obtenu est de type préfixe et est également bien un codage
entropique, ce qui sera toujours le cas avec le codage de Huffman.
Dans l’exemple étudié ci-dessus, les probabilités des deux événements les moins probables ne
sont pas égales, et donc le codage est mal utilisé. Ainsi, l’entropie et le débit ne sont pas égaux.
Cependant, ils sont quand même proches puisque :

𝑅= 𝑝𝑘 𝐿𝑘 = 0.3 ⋅ 2 + 0.25 ⋅ 2 + 0.15 ⋅ 2 + 0.15 ⋅ 3 + 0.10 ⋅ 4 + 0.05 ⋅ 4 = 2.45
𝑘

𝐻=− 𝑝𝑘 log2 𝑝𝑘 = −0.3 log2 0.3−0.25 log2 0.25−2⋅0.15 log2 0.15−0.1 log2 0.1−0.05 log2 0.05 = 2.39
𝑘

ce qui donne un rendement proche de 1 : 𝜂 = 𝐻


𝑅 = 0.975 ≤ 1

2.2.3 Remarques sur les codes de Shannon-Fano et sur les codes de Huffman
Efficacité L’efficacité de ce type de méthode dépend de la distribution de probabilité de la source
à coder. Si cette distribution peut conduire à des partages entre sous-alphabets strictement équi-
probables (ce qui était le cas dans l’exemple donné pour illustrer le codage de Shannon-Fano), alors
l’efficacité du codage sera égale à 1. Cette condition (non respectée pour l’exemple illustrant le
𝑗
codage de Huffman) conduit à des distributions de probabilités telles que 𝑝𝑘 = 12 .
Il est à noter toutefois que la procédure de Huffman, pour une distribution de probabilité donnée,
est optimale (il n’y a pas d’autre code à longueur variable donnant une meilleure efficacité).
Une situation particulièrement défavorable au niveau de l’efficacité se présente lorsqu’une des
probabilités 𝑝0 est largement supérieure à 0.5. Dans ce cas, on peut constituer de nouveaux événe-
ments formés de la vectorisation de plusieurs variables.
Par exemple, en concaténant deux variables 𝑋(𝑛) et 𝑋(𝑛 + 1) on obtient un nouvel alphabet

{𝑥0 𝑥0 , 𝑥0 𝑥1 , . . . , 𝑥0 𝑥𝐷−1 , 𝑥1 𝑥0 , 𝑥1 𝑥1 , . . . 𝑥1 𝑥𝐷−1 , . . . , 𝑥𝐷−1 𝑥𝐷−1 }

dont les probabilités sont simplement (sources sans mémoire)

𝑝0 𝑝0 , 𝑝0 𝑝1 , . . . , 𝑝0 𝑝𝐷−1 , 𝑝1 𝑝0 , 𝑝1 𝑝1 , . . . , 𝑝1 𝑝𝐷−1 , . . . , 𝑝𝐷−1 𝑝𝐷−1

Ainsi si 𝑝0 = 0.7, un bit sera utilisé au plus haut niveau de deux événements de probabilités 0.7
et 0.3, tandis que en constituant un vecteur de deux variables 𝑝0 𝑝0 = 0.49 la situation sera plus
favorable. On peut montrer aisément que même dans le cas de sources sans mémoire, on augmente
toujours l’efficacité d’un code à longueur variable en vectorisant.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 26

Lorsqu’un événement 𝑥0 a une probabilité très importante, on peut effectuer une vectorisation
relativement simple en codant des rafales 𝑥0 𝑥0 . . . 𝑥0 et ensuite en effectuant un codage mot par
mot des occurrences des autres valeurs. Le codage par rafales (run length coding) de la valeur la
plus probable est indispensable pour le codage d’événements binaires tels que la suite de pixels (0
ou 1) d’une page noir et blanc à transmettre par téléfax.
On y reviendra lors de la description du codage entropique des coefficients d’une transformée
linéaire.

Implémentation Lorsque l’on doit effectuer le codage entropique d’une source sans mémoire,
il faut d’abord estimer les probabilités 𝑝𝑘 . Cette estimation peut être effectuée par le calcul des
fréquences issues de l’observation d’un grand nombre de variables 𝑋(𝑛)
𝑛𝑘
𝑝𝑘 ≃
𝑁𝑡𝑜𝑡
où 𝑛𝑘 est le nombre d’observations de 𝑋(𝑛) = 𝑥𝑘 que l’on divise par le nombre d’observations 𝑁𝑡𝑜𝑡 .
Lors du codage proprement dit, il est important de noter que si la distribution de probabilités
change, il faut mettre à jour le code à longueur variable et l’envoyer au décodeur avant de lui envoyer
les mots comprimés proprement dits. Plusieurs méthodes de codage de Huffman adaptatif ont été
décrites dans la littérature. Nous en étudions une ci-après.

2.2.4 Codage de Huffman adaptatif


Contrairement au codage de Huffman statique, le codage dynamique ne détermine pas la dis-
tribution des symboles à l’avance. Cette dernière sera générée en parallèle en utilisant les symboles
déjà traités. On lit donc petit à petit le message, et on l’encode au fur et à mesure, en construisant
la distribution correspondante.
Pour ce faire, on introduit un caractère (par exemple @) qui apparaît à chaque changement de
caractère, mais n’appartient pas à l’alphabet. Il est là pour prévenir qu’un nouveau code ASCII (8
bits) d’un nouveau caractère arrive.
Voici l’algorithme qui décrit le codage d’un message :
→ Initialiser l’arbre de Huffman (AH) avec @
On note 𝑛𝑏(𝑐) la fréquence du caractère 𝑐
On initialise 𝑛𝑏(@) à 1
TANT QUE (c !=EOF (end of file))
{ get char(c)
SI première occurence de c
{ 𝑛𝑏(𝑐) ← 0
𝑛𝑏(@) ← 𝑛𝑏(@) + 1
On affiche en sortie le code de @ dans AH suivi du code ASCII de c }
SINON
Afficher le code du caractère c dans AH
FIN SI
𝑛𝑏(𝑐) ← 𝑛𝑏(𝑐) + 1
Mettre à jour AH }
FIN TANT QUE
Le poids de chaque noeud dans l’arbre représentant le dernier symbole encodé est augmenté.
Ensuite, la partie de l’arbre correspondante est adaptée. Par conséquent, l’arbre se rapproche petit à
petit de la distribution actuelle des symboles. Cependant, l’arbre reflète le passé et non la distribution
réelle.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 27

Illustrons cela par un exemple. Supposons que l’on désire encoder la séquence suivante : aaa aaa
aaa bcd bcd bcd. La figure ci-dessous illustre la construction du code, pas à pas.

On remarque qu’à la suite du codage du dernier caractère, il faut encore mettre à jour l’arbre de
Huffman. En effet, comme illustré sur la figure, le caractère @ ayant une fréquence de 5 est à un
niveau supérieur dans l’arbre que le caractère (c ou d) qui a une fréquence de 6. L’arbre de Huffman
dans cet état ne respecte plus la règle voulant qu’un caractère plus fréquent possède un mot de code
plus court qu’un caractère moins fréquent. C’est pourquoi l’on met à jour l’arbre.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 28

L’avantage du codage de Huffman adaptatif est que l’on ne doit pas transmettre l’arbre de
Huffman puisque l’on peut le retrouver à partir de ce qui est transmis. Le décodage s’effectue donc
également en construisant petit à petit l’arbre de Huffman. Reprenons la séquence aaa aaa aaa bcd
bcd bcd. En Huffman classique il faudrait 33 bits pour coder la séquence + 41 bits pour coder
l’arbre de Huffman (caractères ASCII + codage de chaque caractère) = 74 bits alors qu’en Huffman
dynamique 67 bits sont suffisants (le codage du premier caractère @ est supposé connu du décodeur).

2.3 Codage par dictionnaire


Le codage par dictionnaire emploie un pointeur qui parcourt le message à coder. Lorsque le
pointeur voit un caractère pour la première fois, il le rajoute dans le dictionnaire. Par contre s’il
revoit un caractère ou une séquence de caractères qu’il a déjà rencontré, le pointeur va renvoyer la
position de la première occurence de la séquence plutôt que de refaire tout le travail. Ainsi, on a une
fenêtre de lecture qui coulisse de gauche à droite avec deux parties : le dictionnaire et un tampon
de lecture.
A chaque itération, l’algorithme cherche le plus long facteur qui se répète. Ce dernier est alors
codé par un triplet (i,j,c) où :
– i représente la distance entre le début du tampon et la position de la répétition ;
– j indique la longueur de la répétition ;
– c donne le premier caractère du tampon qui est différent de la séquence correspondant dans
le dictionnaire.
L’exemple qui suit illustre le codage par dictionnaire de la séquence
1 2 3 4 5 6 7 8 9
AABCBBABC

Etape Position (↓) Match (z}|{) Caractère Sortie Illustration



1 2 3 4 5 6 7 8 9
1 1 / A (0,0,A) A ∣ ABCBBABC

z}|{ ↓
1 2 3 4 5 6 7 8 9
2 2 A B (1,1,B) A AB ∣ CBBABC


1 2 3 4 5 6 7 8 9
3 4 / C (0,0,C) AABC ∣ BBABC

z}|{ ↓
1 2 3 4 5 6 7 8 9
4 5 B B (2,1,B) AA B CBB ∣ ABC

z}|{ ↓
1 2 3 4 5 6 7 8 9
5 7 AB C (5,2,C) A AB CBBABC |

Il est à noter que pour encoder le dernier caractère, on ne peut pas se servir d’une répétition
(ici en effet, on aurait pu prendre la répétition de ABC). Il doit bien plutôt être encodé à l’aide du
troisième champ de la sortie.
Remarquons enfin que si on limite le nombre de bits aloué au codage des positions, on limite
également les possibilités de recherche des mêmes occurences des séquences de caractère.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 29

2.4 Codages universels


Un codage universel est un codage appliqué sur des vecteurs d’une source [𝑋(𝑛−𝑁/2), . . . , 𝑋(𝑛),
. . . , 𝑋(𝑛 + 𝑁/2)] dont l’efficacité tend vers 1 lorsque la longueur du vecteur augmente, quelles que
soient les propriétés statistiques de la source, pourvu qu’elles soient stationnaires. Les réalisations
pratiques des codes universels sont basées sur des codes calculés (au contraire des codes de Huffman
classiques où les codes 𝐶𝑘 sont mémorisés dans une table dont les adresses sont les éléments 𝑋𝑘 ).
Les paramètres du calcul du code sont adaptés aux caractéristiques des sources.
Le concept du codage universel a été introduit pour le codage des sources binaires sans mémoire.
Pour ce type de sources, l’alphabet est limité à deux éléments {𝑥0 (0) et 𝑥1 (1)} et les caractéristiques
statistiques sont limitées à la connaissance de 𝑝1 puisque 𝑝0 = 1 − 𝑝1 . La réalisation pratique de
codes universels pour sources binaires sans mémoire consiste à tronçonner la source en vecteurs de
𝑁 événements binaires, à y compter le nombre de "1", à estimer 𝑝1 ≃ 𝑛1 /𝑁 et à produire un code
adapté à 𝑝1 .

2.4.1 Codage arithmétique


Le codage arithmétique est un code calculé qui s’adapte idéalement à une source sans mémoire
. . . , 𝑋(𝑛 − 1), 𝑋(𝑛), 𝑋(𝑛 − 2), . . . dont on connaît les probabilités 𝑝𝑘 = 𝑃 (𝑋(𝑛) = 𝑥𝑘 ). Il peut être
rendu universel par un codage en préfixe, envoyant les valeurs de 𝑝𝑘 , et un suffixe envoyant le code
arithmétique proprement dit.
Le codage arithmétique a été développé dans les laboratoires d’IBM sur base des travaux de
Shannon et Elias.
Le principe de base du codage arithmétique est d’encoder un vecteur de la source par une valeur
contenue dans l’intervalle [0, 1[. Cette valeur réelle pointe un sous-intervalle de largeur proportion-
nelle à la probabilité de l’occurrence du vecteur à encoder. Le nombre de bits nécessaire pour encoder
ce pointeur sera d’autant plus faible que la largeur du sous-intervalle est importante.
Par exemple,
caractère a b c d e f
probabilité 0.1 0.1 0.1 0.2 0.4 0.1
intervalle [0, 0.1[ [0.1, 0.2[ [0.2, 0.3[ [0.3, 0.5[ [0.5, 0.9[ [0.9, 1[
Ce tableau représente la table de correspondance qu’il faut envoyer au récepteur.
Etudions à présent les algorithmes de codage et de décodage. En définissant Inf comme étant
l’origine et Sup l’extrémité du sous-intervalle, et Taille sa largeur, le but du codage arithmétique
est de trouver l’intervalle [Inf, Sup[ correspondant à la succession de 𝑁 événements constituant le
vecteur à encoder. La procédure d’obtention des valeurs Inf et Sup est la suivante :
→ Codage : initialisation
Inf = 0
Sup = 1
TANT QUE (c !=EOF (end of file))
c = get char()
x,y = bornes de l’intervalle de c dans la table
Taille = Sup - Inf
Sup = Inf + Taille ⋅ y
Inf = Inf + Taille ⋅ x
FIN TANT QUE
Retourner Inf ≤ 𝛼 ≤ Sup

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 30

Le codage arithmétique fournit par ailleurs une procédure de codage de l’intervalle [Inf, Sup[ en
fournissant le nombre 𝛼 en représentation binaire pointant vers [Inf, Sup[ sans ambiguïté.
Pour illustrer ce premier algorithme, prenons la séquence "bebecafdead" avec les probabilités
des lettres a à f données précédemment.

Symbole c Binf (c) = x Bsup (c) = y Inf Sup Taille


b 0.1 0.2 0.1 0.2 0.1
e 0.5 0.9 0.15 0.19 0.04
b 0.1 0.2 0.154 0.158 0.004
e 0.5 0.9 0.156 0.1576 0.0016
c 0.2 0.3 0.15632 0.15648 0.00016
a 0 0.1 0.15632 0.156336 1.6 10−5
f 0.9 1 0.1563344 0.156336 1.6 10−6
d 0.3 0.5 0.15633488 0.1563352 3.2 10−7
e 0.5 0.9 0.15633504 0.156335168 1.28 10−7
a 0 0.1 0.15633504 0.1563350528 1.28 10−8
d 0.3 0.5 0.15633504384 0.1563350464 2.6 10−9

Dès lors, la séquence "bebecafdead" est encodée par un réel compris entre 0.15633504384 et
0.1563350464, par exemple 𝛼 = 0.156335045. On obtient un codage plus efficace que le codage
de Huffman car on code sur un nombre non entier de bits, surtout si l’une des probabilités est
supérieure à 0.5.
Dans l’exemple précèdent, on remarque que tout réel de l’intervalle [0.15633504384, 0.1563350464[
représente une chaîne infinie qui commence par "bebecafdead". Pour informer le processus de dé-
codage de s’arrêter, il faut :
– soit fournir le nombre de symboles à décoder (typiquement au début du fichier compressé, ou
comme partie entière),
– soit utiliser un caractère spécial (type EOF) ajouté à la fin du message à coder et auquel on
assigne la plus faible probabilité.

La procédure de décodage est basée sur le fait que le premier caractère à décoder est celui dont
les bornes contiennent le nombre 𝛼. Le décodage est également basé sur l’usage de deux registres
Inf et Sup mis à jour selon la procédure suivante :
→ Décodage : initialisation
Input : 𝛼 ∈ [0, 1[ % nombre que l’on veut décoder
TANT QUE (c !=EOF (end of file))
c = symbole dans l’intervalle qui contient 𝛼 dans la table
Afficher c
Taille = Bsup (c) - Binf (c) = y - x
𝛼 = 𝛼 − 𝐵inf (𝑐)
𝛼 = 𝛼/Taille
FIN TANT QUE

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 31

Appliquons à nouveau cet algorithme à l’exemple étudié.

𝛼 intervalle symbole taille


0.156335045 [0.1, 0.2[ b 0.1
0.56335045 [0.5, 0.9[ e 0.4
0.158376125 [0.1, 0.2[ b 0.1
0.58376125 [0.5, 0.9[ e 0.4
0.209403125 [0.2, 0.3[ c 0.1
0.09403125 [0, 0.1[ a 0.1
0.9403125 [0.9, 1] f 0.1
0.403125 [0.3, 0.5[ d 0.2
0.515625 [0.5, 0.9[ e 0.4
0.0390625 [0, 0.1[ a 0.1
0.390625 [0.3, 0.5[ d 0.2

Il existe une version dynamique de cet algorithme, mais elle n’est pas étudiée ici.

2.4.2 UVLC : Universal Variable Length Coding


L’UVLC est une technique de codage bien adaptée pour des sources sans mémoire dont les
probabilités d’occurrence sont fortement centrées autour de la valeur nulle. Dans ce cas, l’alphabet
peut être représenté par un codage binaire signe + magnitude. On peut encoder les magnitudes en
codant les positions des Most Non Zero Significant Bits (MNZSBs) dans un tableau constitué par
les éléments 𝑋(𝑛) du vecteur à encoder.
En affichant chaque vecteur d’entrée en colonne on obtient par exemple un tableau de la forme :

X(0) X(1) X(2) X(3) X(4) X(N-1)


4 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
3 0 0 0 0 0 0 0 X 0 0 0 0 X 0 0
2 0 0 0 0 1 0 0 X 0 1 0 0 X 0 0
1 0 0 0 0 X 0 0 X 0 X 0 0 X 0 0
0 0 0 0 0 X 0 0 X 0 X 0 0 X 0 0

Prenons par exemple le vecteur X(4) = [0 0 1 X X]. Les X représentent les bits du vecteur
apparaissant après le premier "1" rencontré. La probabilité de chaque X sera de 50% car chaque
bit est équiprobable au sein d’un mot binaire. Cependant les "0" avant le premier 1 rencontré
représentent une information fort redondante.
Le principe de l’UVLC réside dans le fait qu’on ne cherchera pas à encoder les bits les moins
significatifs (les X) appelés LSB (Least Significant Bits) car leur probabilité étant de 50%, il n’y
aura pas de gain de codage. Par contre est intéressante la position du premier "1", noté MNZSB.
Le codage est effectué ligne par ligne. On compte le nombre de "0" apparaissant avant un
MNZSB, ce nombre est appelé Run Length (RL). Le codage d’un RL sera expliqué dans la suite, il
utilise un paramètre 𝑚𝑖 qui dépend de l’indice de la ligne à coder. Une fois la position du MNZSB
connue, on envoie les LSB de la colonne sans codage. La colonne contenant ces LSB ne sera plus
utilisée par la suite, on l’efface donc du tableau pour la suite. On procède de la même façon jusqu’au
prochain MNZSB puis on passe à la ligne suivante.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 2. CODAGE ENTROPIQUE 32

L’algorithme de codage en pseudo-code est le suivant :


on code le plus grand indice de la ligne contenant le premier MNZSB (n°4 dans l’exemple)
TANT QUE il reste une ligne à coder
ligne 𝑖 codée ? OUI/NON (présence de MNZSBs)
RETOURNER paramètre 𝑚𝑖 de la ligne
TANT QUE présence de MNZSB
DEBUT codage RL
𝑀𝑖 = 2𝑚𝑖
TANT QUE RL> 𝑀𝑖
RETOURNER 0
RL = RL - 𝑀𝑖
FIN TANT QUE
RETOURNER 1
RETOURNER RL (codé sur 𝑚𝑖 bits)
FIN codage RL
RETOURNER LSBs
FIN TANT QUE
FIN TANT QUE

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 3. QUANTIFICATION 33

Chapitre 3

Quantification

L’objectif du Chapitre 2 était de fournir des outils permettant le codage entropique de sources
discrètes numériques sans mémoire. La séquence d’événements 𝑋(𝑛), supposés indépendants (sources
sans mémoire), est encodée par un code à longueur variable.
Chaque événement 𝑋(𝑛) = 𝑥𝑘 se voit allouer un code 𝐶𝑘 de longueur 𝐿𝑘 la plus proche possible
de − log2 𝑝𝑘 , de sorte que l’efficacité du code soit la plus proche possible de 1.
Le codage entropique de sources discrètes numériques sans mémoire peut s’appliquer tel quel
dans le cas où l’on veut effectuer le codage réversible (sans pertes) d’une source de ce type (voir
paragraphe 1.1). Le débit associé au codage d’une telle source est variable, fonction de la probabilité
des événements à encoder. Seule la moyenne du débit est prévisible :
𝐷−1
∑ 𝐷−1

𝑅= 𝑝𝑘 𝐿𝑘 ≥ − 𝑝𝑘 log2 𝑝𝑘 = 𝐻
𝑘=0 𝑘=0

Dans le cas des formes d’ondes, le codage se pose en des termes différents : il s’agit souvent -
étant donné un débit 𝑅 - d’assurer une représentation codée du signal permettant la reconstruction
la plus fidèle possible de la source.
On supposera que les sources de formes d’ondes ont été échantillonnées à une fréquence permet-
tant une reconstruction fidèle du signal de départ et quantifiées suffisamment finement pour que dans
la suite des opérations, on puisse considérer être en présence d’une source discrète d’échantillons
𝑋(𝑛) prenant des valeurs réelles.
Par ailleurs, les échantillons 𝑋(𝑛) ne peuvent plus être considérés comme une source sans mé-
moire. Si on prend des échantillons voisins dans une image ou dans une séquence sonore, ces points se
"ressemblent" fortement. Une image est caractérisée par des objets constitués de points (les pixels,
pour "picture elements") semblables. Un son donné est également constitué d’une suite d’échan-
tillons possédant des caractéristiques similaires.
Un codeur de formes d’ondes va être constitué de 3 éléments :
– un décorrélateur dont le but est de transformer la séquence d’échantillons 𝑋(𝑛) en une sé-
quence d’échantillons décorrélés 𝑌 (𝑛). On parle de transformée décorrélative. On supposera
dans ce qui suit que des échantillons décorrélés sont indépendants (ce qui n’est vrai que dans
le cadre d’une approximation de premier ordre) ;
– un quantificateur dont le but est de limiter l’information contenue dans 𝑌 (𝑛). Il s’agit donc
d’une opération irréversible induisant des erreurs. Cependant, la quantification permet d’uti-
liser un code à longueur variable. En effet, les valeurs quantifiées 𝑌 𝑞 (𝑛) prennent des valeurs
dans un alphabet de taille limitée (finie) de valeurs réelles 𝑦−𝑁/2 , . . . , 𝑦0 , . . . , 𝑦𝑁/2−1 ;

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 3. QUANTIFICATION 34

– un codeur entropique encodant les valeurs 𝑌 𝑞 (𝑛). L’entropie de 𝑌 𝑞 (𝑛) peut être modulée par
la quantification. Le débit moyen à atteindre sera donc obtenu par un choix adéquat des
paramètres de quantification : la relation entropie-quantification fait également l’objet de ce
chapitre. Afin d’atteindre de manière constante un débit fixé, la sortie du codeur entropique
est souvent régulée par une mémoire tampon, remplie par des mots-codes à longueur variable
et vidée à débit constant. Le niveau de remplissage de la mémoire tampon peut rétroagir sur la
quantification pour éviter tout débordement : si le codeur entropique envoie trop d’information
et que l’on laisse faire, le canal va déborder. La mémoire tampon est donc là pour éviter cela
en adaptant le pas de quantification.

Dans le cas d’une image 2D, la relation entre 𝑋 et 𝑌 se décrit au moyen de coefficients de
transformée 𝑘𝑚,𝑛 (𝑖, 𝑗) comme suit :
∑∑
𝑦𝑚,𝑛 = 𝑘𝑚,𝑛 (𝑖, 𝑗)𝑥(𝑖, 𝑗)
𝑖 𝑗

Notons qu’en pratique, on n’applique jamais une transformée sur toute une image, car un point
en haut n’a en général pas de point commun avec un point en bas. On découpe bien plutôt l’image
en blocs 8 × 8 de telle sorte que la corrélation entre les points soit importante. On peut alors choisir
un pas de quantification 𝑞 pour chaque bloc.
D’autre part, décorréler revient à réaliser une analyse fréquentielle du signal, ayant pour but
de décrire le signal sous forme de valeurs fréquentielles : les basses fréquences ont des valeurs
importantes tandis que les hautes fréquences ont des valeurs faibles. Par conséquent, la transformée
utilisée a pour effet de concentrer l’information sur les coefficients d’ordre faible. Ainsi, on quantifie
plus grossièrement les variations élevées car l’oeil est moins gêné par les erreurs sur les fréquences
élevées.
Le décodeur de formes d’ondes est composé des éléments réalisant les opérations inverses :
– décodage entropique, éventuellement synchronisé par une mémoire tampon fournissant les
𝑌 𝑞 (𝑛) ;
– les 𝑌 (𝑛) sont approximés à partir des 𝑌 𝑞 (𝑛) : une erreur de quantification 𝜀 apparaît à ce
niveau ;

– un signal 𝑋 est reconstruit à partir de 𝑌 𝑞 (𝑛). Ce signal est différent de 𝑋(𝑛) à cause des
erreurs de quantification. On peut décrire cette erreur mathématiquement avec les coefficients
de la transformée inverse ℎ𝑚,𝑛 (𝑖, 𝑗) (prenons le cas d’une image 2D) :
∑∑
𝑥′ (𝑖, 𝑗) = 𝑥(𝑖, 𝑗) + 𝜀(𝑖, 𝑗) = 𝑞
ℎ𝑚,𝑛 (𝑖, 𝑗)𝑦𝑚,𝑛
𝑚 𝑛
∑∑
= ℎ𝑚,𝑛 (𝑖, 𝑗)(𝑦𝑚,𝑛 + 𝜀𝑚,𝑛 )
𝑚 𝑛
∑∑ ∑∑
= ℎ𝑚,𝑛 (𝑖, 𝑗)𝑦𝑚,𝑛 + ℎ𝑚,𝑛 (𝑖, 𝑗)𝜀𝑚,𝑛
|𝑚 𝑛
{z } |𝑚 𝑛
{z }
𝑥(𝑖,𝑗) (transformée inverse) 𝜀(𝑖,𝑗) dû à la quantification

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 3. QUANTIFICATION 35


Le décodage produit un signal 𝑋 plus ou moins bruité en fonction du niveau de quantification.
En effet, on observe dans cette dernière équation que si l’on ne quantifie rien, on retrouve 𝑥(𝑖, 𝑗)
sans erreur.

La différence entre 𝑋 et 𝑋(𝑛) est souvent mesurée en terme de rapport signal à bruit. Pour les
formes d’ondes, on utilise également d’autres échelles de mesure de la distortion plus proche des
phénomènes de perception par un observateur (qualité visuelle ou qualité sonore).
L’effet du codage est de comprimer le signal à un certain débit 𝑅, atteint en quantifiant plus ou
moins fortement afin de limiter l’information. Si l’on désire moins d’erreurs, le débit 𝑅 augmente,
mais l’entropie 𝐻 diminue. Si on quantifie plus grossièrement, on a plus d’erreurs mais alors 𝑅
diminue. Tout est donc une question de compromis.
Le codage des formes d’ondes va donc produire des courbes débit-distorsion qui seront étudiées
mathématiquement au Chapitre 4. Ces courbes possèdent l’allure suivante :

3.1 Quantification scalaire


La quantification scalaire linéaire met en correspondance une variable 𝑌 (𝑛) réelle et un entier
𝑘 par l’intermédiaire du pas de quantification 𝑞 :
( ) ( ) ( )
1 1 𝑌 (𝑛) 1
𝑘− 𝑞 ≤ 𝑌 (𝑛) < 𝑘 + 𝑞 ⇔ 𝑘 = int +
2 2 𝑞 2
où on rajoute 1/2 pour centrer les intervalles de quantification autour de 0 et où arrondit la valeur
à l’entier inférieur. Par exemple,
3 1 1 1 1 3
𝑘 = −1 ⇒ − 𝑞 ≤ 𝑦 ≤ − 𝑞 𝑘=0⇒− 𝑞≤𝑦≤ 𝑞 𝑘=1⇒ 𝑞≤𝑦≤ 𝑞
2 2 2 2 2 2

La valeur 𝑌 (𝑛) quantifiée est reconstruite par l’approximation 𝑌 𝑞 (𝑛) = 𝑘𝑞. L’erreur de quanti-
fication 𝑌 (𝑛) − 𝑘𝑞 = 𝜀(𝑛) est une variable aléatoire comprise dans l’intervalle [−𝑞/2, 𝑞/2[.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 3. QUANTIFICATION 36

3.1.1 Rappels sur les séquences aléatoires


Au chapitre 2, on s’est intéressé à des séquences discrètes numériques et sans mémoire entière-
ment caractérisées par leur distribution de probabilité.
Lors de l’étude de la quantification et du codage des formes d’ondes 𝑋(𝑛), il faut introduire
de nouveaux concepts pour décrire la puissance du signal, la puissance du bruit et la corrélation
contenue dans le signal. On supposera dans ce qui suit que les formes d’ondes ont des caractéristiques
stationnaires (ne changeant pas dans le temps, c’est-à-dire ne dépendant pas de la variable 𝑛 pour
𝑋(𝑛)) et ergodiques (c’est-à-dire dont les espérances et les probabilités peuvent être approximées
par les fréquences d’occurrence sur un grand nombre d’observations).

Densité de probabilité Lorsque les échantillons 𝑋(𝑛) sont très finement quantifiés, on peut
supposer que la distribution de leurs valeurs possibles est continue.
On définit la densité de probabilité 𝑝(𝑥) comme suit :
∫ 𝑋
𝑃 (𝑋(𝑛) ≤ 𝑋) = 𝑝(𝑥) 𝑑𝑥
−∞

La densité de probabilité peut être estimée en observant un grand nombre de valeurs de la


séquence 𝑋(𝑛)
Nombre de valeurs 𝑋(𝑛) observées ≤ 𝑋
𝑃 (𝑋(𝑛) < 𝑋) ≃
Nombre total de valeurs observées
On s’intéressera particulièrement à deux types de densité de probabilité :
– la densité de probabilité uniforme d’une variable prenant ses valeurs dans l’intervalle [−𝐷/2, 𝐷/2[
1
𝑝(𝑥) =
𝐷
– la densité de probabilité de Laplace, représentant une variable dont les valeurs proches de
0 sont les plus probables (typiquement une observation d’une "variation" de forme d’onde,
image ou son).
1 ( √ )
𝑝(𝑥) = √ exp − 2∣𝑥∣/𝜎𝑥
2𝜎𝑥

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 3. QUANTIFICATION 37

Moyenne La moyenne est l’espérance de la variable 𝑋(𝑛). Comme le processus est stationnaire,
elle ne dépend pas de 𝑛 :
∫ +∞
𝜇𝑥 = 𝐸{𝑋(𝑛)} = 𝑥 𝑝(𝑥) 𝑑𝑥
−∞
Σ valeurs 𝑋(𝑛) observées

Nombre total de valeurs observées

Variance La variance est une mesure de la puissance contenue dans 𝑋(𝑛) :


∫ +∞
2 2
𝜎𝑥 = 𝐸{(𝑋(𝑛) − 𝜇𝑥 ) } = (𝑥 − 𝜇𝑥 )2 𝑝(𝑥) 𝑑𝑥
−∞
Σ(valeurs 𝑋(𝑛) observées −𝜇𝑥 )2

Nombre total de valeurs observées

Autocovariance La mesure de la corrélation entre les échantillons d’un processus se fait générale-
ment par la fonction d’autocovariance, qui mesure l’espérance du produit de l’écart d’un échantillon
par rapport à la moyenne, par l’écart d’un échantillon voisin par rapport à la moyenne
Γ𝑥 (𝑚) = 𝐸{(𝑋(𝑛) − 𝜇𝑥 )(𝑋(𝑛 + 𝑚) − 𝜇𝑥 )}
Σ(val. 𝑋(𝑛) obs. −𝜇𝑥 ) (val. 𝑋(𝑛 + 𝑚) obs. −𝜇𝑥 )

Nombre total de paires de valeurs observées
Il faut noter que puisque le processus est stationnaire, Γ𝑥 (𝑚) ne dépend que de la distance entre
voisins. On peut aussi observer que Γ𝑥 (0) = 𝜎𝑥2 .

Bruit Un bruit est une séquence qui ne contient pas d’information et qui est donc décorrélée (une
image de bruit est une alternance complètement aléatoire de points).
Un bruit a donc une fonction d’autocovariance du type
Γ𝑥 (𝑚) = 𝜎 2 si 𝑚 = 0
=0 si 𝑚 =
∕ 0

Processus de Markov d’ordre 1 Les formes d’ondes (image et son) sont souvent modélisées
relativement simplement par un processus de Markov.
Un processus de Markov d’ordre 1 a une fonction d’autocovariance
Γ𝑥 (𝑚) = 𝜎𝑥2 𝜌∣𝑚∣ avec 𝜌 < 1

L’écart par rapport à la moyenne d’un échantillon et l’écart par rapport à la moyenne d’un
échantillon distant de 𝑚 du premier échantillon prennent souvent le même signe, conduisant à des
valeurs significatives de Γ𝑥 (𝑚) quand 𝑚 est petit. Par contre, pour des valeurs élevées de 𝑚, Γ𝑥 (𝑚)
tend vers 0.
Plus 𝜌 est proche de 1, plus le processus est corrélé.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 3. QUANTIFICATION 38

Remarque sur l’opérateur espérance L’opérateur espérance est un opérateur linéaire. Si 𝑎 et


𝑏 sont des constantes et 𝑋(𝑛) et 𝑌 (𝑛) des variables aléatoires, alors
𝐸{𝑎𝑋(𝑛) + 𝑏𝑌 (𝑛)} = 𝑎𝐸{𝑋(𝑛)} + 𝑏𝐸{𝑌 (𝑛)}
De même, et si 𝜇𝑥 = 0 :
𝐸{(𝑎𝑋(𝑛) + 𝑏𝑋(𝑛 + 𝑚))(𝑎𝑋(𝑛) + 𝑏𝑋(𝑛 + 𝑚))}
= 𝑎2 𝐸{(𝑋(𝑛))2 } + 2𝑎𝑏𝐸{𝑋(𝑛)𝑋(𝑛 + 𝑚)} + 𝑏2 𝐸{(𝑋(𝑛 + 𝑚))2 }
= (𝑎2 + 𝑏2 )𝜎𝑥2 + 2𝑎𝑏Γ𝑥 (𝑚)

3.1.2 Caractéristiques du bruit


Le bruit de quantification 𝜀(𝑛) = 𝑌 (𝑛) − 𝑘𝑞 constitue une séquence aléatoire que l’on peut
considérer comme décorrélée si le pas de quantification 𝑞 est suffisamment petit par rapport à 𝜎𝑦 .
Γ𝜀 (𝑚) = 𝜎𝜀2 si 𝑚 = 0
=0 si 𝑚 =
∕ 0
La moyenne du bruit est souvent considérée comme étant nulle :
∫ +∞ ∑ ∫ (𝑘+ 21 )𝑞
𝜇𝜀 = 𝜀 𝑝𝜀 (𝜀) 𝑑𝜀 = (𝑦 − 𝑘𝑞) 𝑝𝑦 (𝑦) 𝑑𝑦
−∞ 𝑘 (𝑘− 12 )𝑞

[( Si le) pas( de quantification est faible, on peut considérer que 𝑝𝑦 (𝑦) est constante sur l’intervalle
𝑘 − 2 𝑞, 𝑘 + 2 𝑞 et dès lors que 𝑝𝑦 (𝑦) ≃ 𝑝𝑦 (𝑘𝑞) = 𝑝𝑘𝑦 sur cet intervalle. On écrit donc,
1 1
) [

)](𝑘+ 12 )𝑞
𝑦2
[(
𝜇𝜀 = 𝑝𝑘𝑦 − 𝑘𝑞𝑦
2 (𝑘− 21 )𝑞
2 )2
[( )) ]
𝑘 + 21 − 𝑘 − 21
) ( (( ) (
𝑘 2 1 1
= 𝑝𝑦 𝑞 − 𝑘𝑞 𝑘+ − 𝑘− 𝑞
2 2 2
= 0
Enfin le calcul de 𝜎𝜀2 peut se faire de la même manière
∫ +∞ +∞ ∫ (𝑘+ 1 )𝑞
∑ 2
2 2
𝜎𝜀 = 𝜀 𝑝𝜀 (𝜀) 𝑑𝜀 = (𝑦 − 𝑘𝑞)2 𝑝𝑦 (𝑦) 𝑑𝑦
1
−∞ 𝑘=−∞ (𝑘− 2 ) 𝑞

En supposant 𝑝𝑦 (𝑦) constante sur le pas de quantification, on a


+∞ ∫ (𝑘+ 1 )𝑞 +∞ ](𝑘+ 12 )𝑞
𝑦3
[
∑ 2 ∑
𝜎𝜀2 = (𝑦 − 𝑘𝑞) 2
𝑑𝑦 = 𝑝𝑘𝑦 𝑝𝑘𝑦
2 2 2
− 𝑘𝑞𝑦 + 𝑘 𝑞 𝑦
1 3
𝑘=−∞ (𝑘− 2 )𝑞 𝑘=−∞ (𝑘− 12 )𝑞
+∞
( [ ] [ ) ]
𝑞3 1 3 1 3 1 2 1 2
∑ ( ) ( ) ( ) (
𝑘 3
= 𝑝𝑦 𝑘+ − 𝑘− + 𝑘𝑞 𝑘− − 𝑘+
3 2 2 2 2
𝑘=−∞
[( ) ( )])
1 1
+𝑘 2 𝑞 3 𝑘 + − 𝑘−
2 2
+∞ [ 3
( ) ]
𝑘 𝑞 1

2 3 2 3
= 𝑝𝑦 3𝑘 + + 𝑘𝑞 (−2𝑘) + 𝑘 𝑞
3 4
𝑘=−∞
+∞
3 ∑
𝑞
= 𝑝𝑘𝑦
12
𝑘=−∞

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 3. QUANTIFICATION 39

or
∫ +∞ +∞ ∫
∑ (𝑘+ 12 )𝑞 +∞

𝑝𝑦 (𝑦) 𝑑𝑦 = 1 ≃ 𝑝𝑘𝑦 𝑑𝑦 = 𝑝𝑘𝑦 ⋅ 𝑞
−∞ 𝑘=−∞ (𝑘− 12 )𝑞 𝑘=−∞
+∞
∑ 1
⇒ 𝑝𝑘𝑦 =
𝑞
𝑘−∞

et donc
𝑞2
𝜎𝜀2 =
12
Cette valeur est aussi une bonne approximation pour les autres distributions si le pas 𝑞 de
quantification est petit, mais c’est également la valeur exacte atteinte pour une distribution uniforme
avec quantificateur linéaire. En effet, soit une telle distribution sur un intervalle 𝐷. On a alors :
+∞ ∫ (𝑘+ 1 )𝑞
∑ 2 1
𝜎𝜀2 = (𝑦 − 𝑘𝑞)2 𝑑𝑦
( 𝑘− 12
)𝑞 𝐷
𝑘=−∞
or pour une distribution uniforme, l’erreur sur chacun intervalle est nulle au milieu
et maximale aux bords ; on a la même variance de l’erreur sur chacun des 𝑁 intervalles
∫ 𝑞
𝑁 2 2 𝑁 𝑞3
= 𝑦 𝑑𝑦 =
𝐷 −𝑞 𝐷 12
2

𝑞2 𝐷
= car 𝑁 = = nombre d’intervalles de quantification
12 𝑞

Une fois le pas de quantification déterminé, il est possible de calculer les probabilités
[( ) ( ) ] ∫ (𝑘+ 1 )𝑞
1 1 2
𝑝𝑘 = 𝑃 𝑘− 𝑞 ≤ 𝑌 (𝑛) ≤ 𝑘 + 𝑞 = 𝑝𝑦 (𝑦) 𝑑𝑦 ≃ 𝑝𝑘𝑦 𝑞
2 2 (𝑘− 1 )𝑞 2

De là on peut calculer la moyenne du débit, en sortie d’un codeur entropique, des valeurs
quantifiées 𝑌 𝑞 (𝑛), représentées par les entiers 𝑘 :
+∞

𝑅≃𝐻= −𝑝𝑘 log2 𝑝𝑘
𝑘=−∞

Deux types de distributions méritent une attention particulière :


– la distribution uniforme sur une dynamique 𝐷 pour laquelle 𝑝𝑌 (𝑦) = 1
𝐷 et qui correspond à
la distribution d’un échantillon isolé d’une forme d’onde

– la distribution de Laplace pour laquelle 𝑝𝑌 (𝑦) = √2𝜎
1
exp(−∣𝑦∣ 𝜎𝑦2 ) qui correspond à la distri-
𝑦
bution d’une variable fortement centrée autour de 0, d’autant plus que 𝜎 est faible. Il s’agit
d’un bon modèle pour la distribution des détails dans un signal de forme d’onde.
Pour ce type de distributions, on peut calculer de façon exacte 𝜎𝑒2 et 𝐻 pour différentes valeurs
de 𝑞. Reprenons le cas de la distribution uniforme, et calculons-en les probabilités :
∫ 𝑞
2 1 𝑞 1
𝑝0 = 𝑑𝑞 = = = 𝑝𝑘 ∀ 𝑘
−𝑞 𝐷 𝐷
2
𝑁

d’où ∑ 1 ∑ 1
𝐻=− 𝑝𝑘 log2 𝑝𝑘 = − log2 = log2 𝑁
𝑁 𝑁
𝑘 𝑘

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 3. QUANTIFICATION 40

( 2)
𝜎
Il est ainsi possible d’établir la courbe du rapport signal à bruit 𝜎𝑦2 en fonction du débit 𝐻.
𝜀
A nouveau, pour une distribution uniforme, quantifiée avec un quantificateur linéaire,
∫ 𝐷
𝐷2 𝑞2𝑁 2
( )
2 1 𝐷
2
2
𝜎𝑦 = 𝑥 𝑑𝑥 = = 𝑁=
−𝐷 𝐷 12 12 𝑞
2

donc
𝜎𝑦2 𝐷2 /12 𝐷2
= = = 𝑁2
𝜎𝜀2 𝑞 2 /12 𝑞2
d’où √ ( )
𝑞
𝜎𝑦2 1 𝜎𝑦2
𝐻 (𝑌 (𝑛)) = log2 𝑁 = log2 = log2
𝜎𝜀2 2 𝜎𝜀2
Il n’existe pas d’expression (analytique simple pour une distribution de Laplace. Néanmoins la
𝜎𝑦2
)
courbe liant 𝐻 (𝑌 (𝑛)) à 2 log 𝜎2 peut être vue comme une droite à 45∘ légèrement décalée de
𝑞 1
𝜀
𝜎2
sorte que l’on peut écrire 𝐻 = 1
2 log2 (𝜙 𝜎𝑦2 ) avec 𝜙 = 1, 25.
𝜀

De manière générale, nous aurons


∑ 1 𝜎𝑦2
𝐻 (𝑌 𝑞 (𝑛)) = 𝐻(𝑘) = − 𝑝𝑘 log2 𝑝𝑘 = log2 (𝜙 2 )
2 𝜎𝜀
𝑘

avec 𝜙 = 1 pour une distribution uniforme ;


𝜙 = 1.25 pour une distribution de Laplace.
Par conséquent, si la variance est faible, on va pouvoir quantifier finement tandis que si la
variance est grande, on devra quantifier fortement pour un même 𝐻.
D’autre part, le paramètre 𝜙 est d’autant plus proche de 1 que le pas de quantification 𝑞 est
petit, car sur un petit intervalle, on se rapproche de la distribution uniforme.
En inversant la relation, on trouve
𝜎𝑦2 22𝐻 𝜎𝜀2
= ⇔ = 𝜙 2−2𝐻
𝜎𝜀2 𝜙 𝜎𝑦2
ce qui permet d’obtenir les courbes de la distorsion en fonction du débit suivantes :

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 4. RELATION OPTIMALE DÉBIT-DISTORSION 41

Chapitre 4

Relation optimale débit-distorsion

4.1 Gain de codage


Si les échantillons 𝑋(𝑛) d’une source d’une forme d’onde étaient comprimés directement en
y appliquant un quantificateur scalaire suivi d’un codage entropique, ces échantillons suivant une
distribution de probabilité uniforme, on aurait la relation développée précédemment :
( 2)
𝑞 1 𝜎𝑥
𝑅 ≃ 𝐻(𝑋 (𝑛)) = log
2 𝜎𝜀2

En fait, pour mieux comprimer les échantillons 𝑋(𝑛), il vaut mieux leur faire subir préalablement
une transformation décorrélative en échantillons 𝑌 (𝑛). Nous allons montrer dans ce cas que
[( 2 ) ]
𝑞 1 𝜎𝑥
𝑅 = 𝐻(𝑌 (𝑛)) = log /𝐺𝑇
2 𝜎𝜀2
où 𝐺𝑇 est le gain de codage lié à l’introduction de la transformation.
Dans cette dernière formule, 𝜎𝑥2 correspond à la variance du signal de forme d’onde et 𝜎𝜀2 corres-
pond à la variance de l’erreur sur la forme d’onde reconstruite après décodage. 𝐻(𝑌 𝑞 (𝑛)) représente
quant à lui le débit moyen nécessaire pour encoder les coefficients décorrélés quantifiés.

4.2 Codage par transformée linéaire


Dans le cas de la décorrélation par transformée linéaire, la source est décomposée en vecteurs
(blocs) de 𝑁 échantillons . . . , [𝑋(𝑘𝑁 − 𝑁 ), . . . , 𝑋(𝑘𝑁 − 𝑁2 ), . . . , 𝑋(𝑘𝑁 − 1)], [𝑋(𝑘𝑁 ), . . . , 𝑋(𝑘𝑁 +
𝑁
2 ), . . . , 𝑋(𝑘𝑁 + 𝑁 − 1)], . . .
Chacun des vecteurs est décomposé en 𝑁 composantes décorrélées, avec les éléments 𝑘𝑚,𝑛 qui
constituent le noyau de la transformée.
𝑁
∑ −1
𝑌𝑖 (𝑘) = 𝑘𝑖,𝑗 𝑋(𝑘𝑁 + 𝑗) 𝑖 = 0, . . . , 𝑁 − 1
𝑗=0

Inversement, le vecteur numéro 𝑘 peut être reconstruit à partir des coefficients transformés
𝑁
∑ −1
𝑋(𝑘𝑁 + 𝑗) = ℎ𝑗,𝑖 𝑌𝑖 (𝑘) 𝑗 = −𝑁/2, . . . , 0, . . . , 𝑁/2 − 1
𝑖=0

les éléments ℎ𝑚,𝑛 constituant les fonctions de base de la transformée.

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 4. RELATION OPTIMALE DÉBIT-DISTORSION 42

On constate ainsi que la séquence 𝑋(𝑛) est décomposée en 𝑁 séquences 𝑌𝑖 (𝑘) de coefficients
transformés contenant chacun 𝑁 fois moins d’échantillons que 𝑋(𝑛). La séquence 𝑋(𝑛) est recons-
truite par vecteurs de 𝑁 échantillons, chaque vecteur étant défini comme une somme pondérée de
𝑁 vecteurs prédéfinis [ℎ0,𝑖 , ℎ1,𝑖 , . . . , ℎ𝑁 −1,𝑖 ] pondérés par les coefficients transformés 𝑌𝑖 (𝑘).
Le débit par échantillon 𝑋(𝑛) pour encoder ainsi la forme d’onde est donné par
𝑁 −1 𝑁 −1
( )
1 ∑ 𝑞 1 ∑1 𝜎𝑌2𝑛
𝐻 = 𝐻(𝑌𝑛 (𝑘)) = log2 𝜙𝑛 [bits/échantillon]
𝑁 𝑁 2 𝜎𝜀2𝑛
𝑛=0 𝑛=0
avec 𝜙 = 1 si 𝑌𝑖 ≡ uniforme;
𝜙 = 1.25 si 𝑌𝑖 ≡ Laplace.

où 𝜎𝜀2𝑛 est la variance de l’erreur de quantification introduite sur la séquence 𝜎𝑌2𝑖 .


Nous ferons comme hypothèse dans ce qui suit que tous les coefficients transformés sont quantifiés
avec le même pas 𝑞 de sorte que 𝜎𝜀2𝑖 = 𝑞 2 /12 pour tout 𝑖. On a alors

𝑁 −1
( ) ⎡(
𝑁 −1
)1/𝑁 ⎤
2
𝜎 𝑌𝑛 𝜎 2
1 ∑ 1 1 ∏
𝐻 = log2 𝜙𝑛 2
= log2 ⎣ 𝜙 𝑛 2 𝑌𝑛 ⎦
𝑁 2 𝜎𝜀𝑛 2 (𝑞 /12)
𝑛=0 𝑛=0
moyenne géométrique
zv }| {
u𝑁 −1
u∏
𝑁
⎷ 𝜙𝑛 𝜎𝑌2𝑛 v
u𝑁 −1
1 𝑛=0 u∏
= log2 √ avec ⎷
𝑁
𝜙𝑛 𝜎𝑌2𝑛 = 𝐺−1 2
𝑇 𝜙𝑚 𝜎 𝑥
2 −1
𝑁∏
𝑁 𝑛=0
𝑞 2 /12
𝑛=0

𝜎𝑥2
( )
1 −1
= log2 𝐺𝑇 𝜙𝑚 2
2 𝑞 /12
où 𝐺𝑇 est le gain de codage dû à la transformée.
Pour analyser d’où provient ce gain de codage, examinons plus précisément les termes intervenant
dans l’expression de 𝐻. Tout d’abord, et en supposant les variables centrées,

𝜎𝑌2𝑛 = 𝐸 {𝑌𝑛 (𝑘)𝑌𝑛 (𝑘)}


{𝑁 −1 𝑁 −1
}
∑ ∑
= 𝐸 𝑘𝑛,𝑖 𝑋(𝑘𝑁 + 𝑖) 𝑘𝑛,𝑖′ 𝑋(𝑘𝑁 + 𝑖′ )
𝑖=0 𝑖′ =0
𝑁 −1
∑ ∑ 𝑁 −1
𝑘𝑛,𝑖 𝑘𝑛,𝑖′ 𝐸 𝑋(𝑘𝑁 + 𝑖)𝑋(𝑘𝑁 + 𝑖′ ) par linéarité
{ }
=
𝑖=0 𝑖′ =0
𝑁
∑ −1 𝑁
∑ −1
= 𝑘𝑛,𝑖 𝑘𝑛,𝑖′ Γ𝑥 (𝑖 − 𝑖′ )
𝑖=0 𝑖′ =0

On peut donc écrire


⎡(
𝑁 −1
)1/𝑁 ⎤
𝜎 2
1 ∏
𝐻 = log2 ⎣ 𝜙 𝑛 2 𝑌𝑛 ⎦
2 (𝑞 /12)
𝑛=0
⎡[
𝑁 −1
]1/𝑁 [𝑁 −1 (𝑁 −1 𝑁 −1 )]1/𝑁 ⎤
1 ∏ ∏ ∑ ∑ 1 ⎦
= log2 ⎣ 𝜙𝑛 𝑘𝑛,𝑖 𝑘𝑛,𝑖′ Γ𝑥 (𝑖 − 𝑖′ ) 2
2 ′
𝑞 /12
𝑛=0 𝑛=0 𝑖=0 𝑖 =0

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 4. RELATION OPTIMALE DÉBIT-DISTORSION 43

Par ailleurs, le signal reconstruit est entaché d’un bruit dû à la quantification des coefficients
𝑌𝑖 (𝑘).
𝑁 −1
ℎ𝑗,𝑖 𝑌𝑖𝑞 (𝑘)

˜
𝑋(𝑘𝑁 + 𝑗) =
𝑖=0
𝑁
∑ −1
= ℎ𝑗,𝑖 [𝑌𝑖 (𝑘) + 𝜀𝑖 (𝑘)]
𝑖=0

donc
˜
𝜀(𝑘𝑁 + 𝑗) = 𝑋(𝑘𝑁 + 𝑗) − 𝑋(𝑘𝑁 + 𝑗)
𝑁
∑ −1
= ℎ𝑗,𝑖 𝜀𝑖 (𝑘)
𝑖=0

d’où

𝜎𝜀2𝑗 = 𝐸{𝜀(𝑘𝑁 + 𝑗)𝜀(𝑘𝑁 + 𝑗)}


{𝑁 −1 𝑁 −1
}
∑ ∑
= 𝐸 ℎ𝑗,𝑖 𝜀𝑖 (𝑘) ℎ𝑗,𝑖′ 𝜀𝑖′ (𝑘)
𝑖=0 𝑖′ =0
𝑁
∑ −1 𝑁
∑ −1
= ℎ𝑗,𝑖 ℎ𝑗,𝑖′ 𝐸{𝜀𝑖 (𝑘)𝜀𝑖′ (𝑘)}
𝑖=0 𝑖′ =0
or 𝜀𝑖 (𝑘) n’est pas corrélé à 𝜀𝑖′ (𝑘) (c’est un bruit) sauf si 𝑖 = 𝑖′
𝑁
∑ −1
= ℎ2𝑗,𝑖 𝜎𝜀2𝑖
𝑖=0
𝑁 −1
∑ 𝑞2
= ℎ2𝑗,𝑖
12
𝑖=0

et par conséquent
𝑁 −1 𝑁 −1 𝑁 −1 2
∑ 1 2 ∑ ∑ ℎ𝑗,𝑖 𝑞 2
𝜎𝜀2 = 𝜎𝜀𝑗 =
𝑁 𝑁 12
𝑗=0 𝑗=0 𝑖=0

d’où ⎛ ⎞
𝑁 −1 𝑁 −1
𝑞2 ∑ ∑ ℎ2𝑗,𝑖
= 𝜎𝜀2 / ⎝ ⎠
12 𝑁
𝑗=0 𝑖=0

En exprimant Γ𝑥 (𝑚) sous la forme markovienne Γ𝑥 (𝑚) = 𝜎𝑥2 𝑟𝑥 (𝑚), on obtient finalement :
⎡ ⎤
⎢[ ]1/𝑁 [𝑁 −1 (𝑁 −1 𝑁 −1 )]1/𝑁 ⎡𝑁 −1 𝑁 −1 ⎤ ⎥
⎢ −1
⎢ 𝑁∏ ∑ ∑ ℎ2𝑗,𝑖 𝜎 2 ⎥
1 ∏ ∑ ∑
𝑘𝑛,𝑖 𝑘𝑛,𝑖′ 𝑟𝑥 (𝑖 − 𝑖′ ) ⎦ 𝑥⎥

𝐻 = log2 ⎢ 𝜙𝑛 ⎣
2
2 ⎢ 𝑁 𝜎𝜀 ⎥
⎢ 𝑛=0 𝑛=0 𝑖=0 𝑖′ =0 𝑗=0 𝑖=0 ⎥
⎣| {z }| {z }| {z } ⎦
→ 𝜙𝑚 → 𝐺−1
𝜎 → 𝐺−1
𝜀

[ ( 2) ]
1 𝜎𝑥
𝐻= log2 𝜙𝑚 /(𝐺 𝐺
𝜎 𝜀 )
2 𝜎𝜀2

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 4. RELATION OPTIMALE DÉBIT-DISTORSION 44

Le gain de codage se compose ainsi du produit de deux termes : 𝐺𝜎 est lié au noyau de la
transformée et indique l’inverse du produit des variances des coefficients transformés et 𝐺𝜖 est lié à
la norme des fonctions de base de la transformée.
On peut montrer que si la transformée est normalisée (𝐺𝜖 = 1), alors la maximisation de 𝐺𝜎
conduit à choisir la transformée décorrélative, c’est-à-dire celle déterminée par

𝐸 {𝑌𝑖 (𝑘)𝑌𝑖′ (𝑘)} = 𝜎𝑦2𝑖 si 𝑖 = 𝑖′


=0 si 𝑖 =
∕ 𝑖′

Exemple Soit le processus 𝑋(𝑛) suivant un processus de Markov d’ordre 1. Soit la transformée
normalisée d’ordre 2 définie par
[ √ √ ]
1/ √2 1/√2
= [𝑘𝑚,𝑛 ]
−1/ 2 1/ 2

et donc [ √ √ ]
1/√2 −1/√ 2
[ℎ𝑖,𝑗 ] = = [𝑘𝑚,𝑛 ]−1
1/ 2 1/ 2
Graphiquement, la transformée peut être visualisée sur la figure suivante :

Les points représentent des paires de points [𝑋(2𝑘), 𝑋(2𝑘 + 1)] que l’on peut observer. Les
valeurs 𝑋(𝑛) sont uniformément distribuées sur l’intervalle [0, 𝐷[ mais par contre les paires de
points successifs sont concentrés autour de la droite 𝑋(2𝑘) = 𝑋(2𝑘 + 1) à cause de la corrélation
du processus.
{( )2 }
𝑋(2𝑘) + 𝑋(2𝑘 + 1)
𝜎𝑌20 = 𝐸 √
2
1 { 1 {
𝐸 (𝑋(2𝑘))2 + 𝐸 {𝑋(2𝑘) 𝑋(2𝑘 + 1)} + 𝐸 (𝑋(2𝑘 + 1))2
} }
=
2 2
1 2 1 2
= 𝜎 + Γ𝑥 (1) + 𝜎𝑥
2 𝑥 2
= 𝜎𝑥 + 𝜌𝜎𝑥 = (1 + 𝜌)𝜎𝑥2
2 2
{( ) }
2 −𝑋(2𝑘) + 𝑋(2𝑘 + 1) 2
𝜎 𝑌1 = 𝐸 √
2
= (1 − 𝜌)𝜎𝑥2

INGI 2348 Théorie de l’Information et du Codage Version 2009


CHAPITRE 4. RELATION OPTIMALE DÉBIT-DISTORSION 45

d’où l’on obtient


1
1∑
𝐻 = 𝐻𝑛
2
𝑛=0
( ( ) ( ))
1 1 𝜎𝑌20 1 𝜎𝑌21
= log2 𝜙0 2 + log2 𝜙1 2
2 2 𝜎𝜀 2 𝜎𝜀

1 𝜎2 𝜎2
= log2 𝜙0 𝜙1 (1 + 𝜌)(1 − 𝜌) 2 𝑥 𝑥 2
2 (𝑞 /12)
𝜎𝑥2
[ ]
1 √ √
2
= log2 𝜙0 𝜙1 (1 − 𝜌 ) 2
2 𝑞 /12
𝜎𝑥2
[ ]
1 √ √
2
= log2 𝜙0 𝜙1 (1 − 𝜌 ) 2
2 𝜎𝜀
et donc le gain de codage vaut
𝜙
𝐺𝑇 = √ √
𝜙0 𝜙1 (1 − 𝜌2 )
Au plus la corrélation est élevée (𝜌 proche de 1), au plus le gain de codage sera important.

4.3 Codage par prédiction

Le codage par prédiction constitue une alternative au codage par transformée. Le principe
consiste à encoder (quantification et codage entropique) la différence entre l’échantillon à trans-
mettre 𝑋(𝑛) et une valeur prédite 𝑋(𝑛)
ˆ calculée à partir des échantillons . . . , 𝑋(𝑛
˜ − 3), 𝑋(𝑛
˜ −
2), 𝑋(𝑛 − 1) disponibles au décodeur.
˜

Le prédicteur dans le schéma ci-dessus a pour fonction de mémoriser un certain nombre d’échan-
tillons précédant 𝑋(𝑛) tels qu’ils sont reçus au décodeur (c’est le sens de la boucle prévue au codeur).
A cause du bouclage de l’erreur de quantification, le gain de codage est plus difficile à calculer.
On calcule les coefficients du prédicteur en général en minimisant la variance de la séquence
𝑌 (𝑛).

4.4 Codage hybride


Dans le cas du codage des signaux vidéo, on effectue souvent un codage prédictif dans le temps
(on encode les différences entre images successives, utilisant ainsi un prédicteur d’ordre 1) et un
codage par transformée dans l’espace (les images différences sont encodées par transformée linéaire,
quantification et codage entropique).

INGI 2348 Théorie de l’Information et du Codage Version 2009


47

Deuxième partie

Exercices

INGI 2348 Théorie de l’Information et du Codage Version 2009


SEANCE 1 49

Séance 1
Exercice 1
Calculer un point de la courbe débit-distorsion pour la distribution suivante, avec un pas de
quantification 𝑞 = 𝐷/3.

Exercice 2
Un processus de Markov d’ordre 1 est caractérisé par le fait que 𝐸{𝑥(0) 𝑥(1)}
[ =1 𝜌 𝜎1𝑥 et
2
]
√ √
𝐸{𝑥(𝑛) 𝑥(𝑛 + 𝑘)} = 𝜌∣𝑘∣ 𝜎𝑥2 (on suppose que 𝜇𝑥 = 0). Montrez que la transformée 2 2
− √12 √1
2
est orthogonale. Donnez le gain de codage de cette transformée.

Exercice 3
Donnez un code de Huffman pour l’alphabet dont les probabilités sont 𝑎 = 0.9 ; 𝑏 = 0.05 ;
𝑐 = 0.05.

INGI 2348 Théorie de l’Information et du Codage Version 2009


SEANCE 2 51

Séance 2
Exercice 1
Soient les variables aléatoires 𝑋 et 𝑌 ayant la distribution de probabilité 𝑝(𝑥, 𝑦) suivante :

Y=
𝑃 (𝑋, 𝑌 ) 0 1 2
0 1/9 1/9 1/9
X=1 1/9 0 2/9
2 1/9 2/9 0

(a) Déterminer 𝐻(𝑋) et 𝐻(𝑌 ).


(b) Déterminer 𝐻(𝑋∣𝑌 ) et 𝐻(𝑌 ∣𝑋).
(c) Déterminer 𝐻(𝑋, 𝑌 ).
(d) Déterminer 𝐼(𝑋; 𝑌 ).

Exercice 2
Une urne contient des boules rouges, blanches et noires avec les probabilités 𝑝𝑅 , 𝑝𝐵 et 𝑝𝑁 . On
considère comme variable aléatoire X, la couleur d’une boule tirée au hasard.
(a) Montrer que l’entropie de l’événement consistant à tirer 𝑘 boules avec remise est donnée par la
relation : 𝐻(𝑋1 , 𝑋2 , . . . , 𝑋𝑘 ) = 𝑘𝐻(𝑋) où 𝐻(𝑋) est l’entropie d’un seul tirage.
(b) Lorsque les boules ne sont pas remises, donner un argument justifiant la relation 𝐻(𝑋𝑖 ) = 𝐻(𝑋).
(c) Démontrer cette relation dans le cas de 2 tirages.
(d) Utiliser cette relation pour montrer que l’entropie de l’événement consistant à tirer 𝑘 boules
sans remise est inférieure à celle avec remise.

Exercice 3
On dit que les variables aléatoires 𝑋, 𝑌 et 𝑍 forment une chaîne de Markov 𝑋 → 𝑌 → 𝑍 si la
probabilité conditionnelle de 𝑍 dépend seulement de 𝑌 . On écrit alors 𝑝(𝑥, 𝑦, 𝑧) = 𝑝(𝑥)𝑝(𝑦∣𝑥)𝑝(𝑧∣𝑦).
(a) Démontrer que 𝑋 et 𝑍 sont indépendantes conditionnellement à 𝑌 : 𝑝(𝑥, 𝑧∣𝑦) = 𝑝(𝑥∣𝑦)𝑝(𝑧∣𝑦).
(b) Démontrer que 𝐼(𝑋; 𝑌 ) ≥ 𝐼(𝑋; 𝑍) en utilisant le résultat du (a) et la règle de la chaîne 1 pour
l’information mutuelle 𝐼(𝑋; 𝑌, 𝑍).
(c) Soient 𝑋, 𝑌 et 𝑍 des variables aléatoires ayant une distribution de probabilité sur les ensembles
𝒳 de taille 𝑛, 𝒴 de taille 𝑘 et 𝒵 de taille 𝑚. Démontrer que si on a 𝑛 > 𝑘 et 𝑚 > 𝑘, alors
𝐼(𝑋; 𝑍) ≤ log2 𝑘.
(d) Expliquer ce qu’il se passe lorsque 𝑘 = 1.
1. La règle de la chaîne pour l’information mutuelle est donnée par
𝑛

𝐼([𝑋1 , . . . , 𝑋𝑛 ]; 𝑌 ) = 𝐼(𝑋𝑖 ; [𝑌 ∣𝑋1 , . . . 𝑋𝑖−1 ])
𝑖=1

INGI 2348 Théorie de l’Information et du Codage Version 2009


SEANCE 2 52

Exercice 4
Définition : 𝜌(𝑥, 𝑦) est une distance si elle vérifie les propriétés suivantes ∀ 𝑥, 𝑦, 𝑧 :
1) 𝜌(𝑥, 𝑦) ≥ 0
2) 𝜌(𝑥, 𝑦) = 𝜌(𝑦, 𝑥)
3) 𝜌(𝑥, 𝑦) = 0 si et seulement si 𝑥 = 𝑦
4) 𝜌(𝑥, 𝑦) + 𝜌(𝑦, 𝑧) ≥ 𝜌(𝑥, 𝑧)
(a) Soit 𝜌(𝑋, 𝑌 ) = 𝐻(𝑋∣𝑌 ) + 𝐻(𝑌 ∣𝑋). Vérifier que 𝜌(𝑋, 𝑌 ) = 𝐻(𝑋, 𝑌 ) − 𝐼(𝑋; 𝑌 ) = 2𝐻(𝑋, 𝑌 ) −
𝐻(𝑋) − 𝐻(𝑌 ).
(b) Démontrer que 𝜌(𝑋, 𝑌 ) vérifie toutes les propriétés d’une distance si la notation 𝑋 = 𝑌 signifie
qu’il existe une correspondance biunivoque (bijection) entre 𝑋 et 𝑌 . (Conseil : Pour démontrer la
dernière propriété, utiliser la subadditivité forte 2 )

2. subadditivité forte :

𝐼(𝑋, 𝑍∣𝑌 ) = 𝐻(𝑋, 𝑌 ) + 𝐻(𝑌, 𝑍) − 𝐻(𝑌 ) − 𝐻(𝑋, 𝑌, 𝑍) ≥ 0

INGI 2348 Théorie de l’Information et du Codage Version 2009


SEANCE 3 53

Séance 3
Exercice 1
Lequel de ces codes ne peut pas être un code de Huffman ?
(a) {1, 01, 00}
(b) {00, 01, 10, 110}
(c) {01, 10}

Exercice 2
Considérez la variable aléatoire avec la loi de probabilité dans le tableau suivant :
𝑥∈𝒳 𝑝(𝑥)
𝑥1 0.5
𝑥2 0.26
𝑥3 0.11
𝑥4 0.04
𝑥5 0.04
𝑥6 0.03
𝑥7 0.02

(a) Construisez un code de Huffman pour 𝒳 .


(b) Calculez la longueur moyenne du code obtenu.
(c) Construisez un code ternaire pour 𝒳 .

Exercice 3
Des mots comme "Stop" ou "Feu" sont petits, pas car leur utilisation est fréquente, mais peut-
être car on souhaite minimiser le temps nécessaire pour les dire. Supposez que 𝑋 = 𝑖 avec probabilité
𝑝𝑖 , 𝑖 = 1, . . . , 𝑚. Soit ℓ𝑖 le nombre de bits nécessaire pour coder 𝑋 = 𝑖, et 𝑐𝑖 le coût par lettre du
mot 𝑋𝑖 . Le coût moyen du code est donc
𝑚

𝐶= 𝑝𝑖 𝑙𝑖 𝑐𝑖
𝑖=1

𝑖=1 , tel que l’inégalité


(a) Minimisez 𝐶 défini par l’équation précédente sur toutes les longueurs {ℓ𝑖 }𝑚
de Kraft soit satisfaite :
∑𝑚
2−ℓ𝑖 ≤ 1
𝑖=1

Ignorez, pour cette minimisation, les contraintes qui imposent que les ℓ𝑖 soient des entiers.
Calculez les longueurs optimales ℓ★𝑖 .
(b) Comment pouvez-vous utiliser l’algorithme de Huffman pour minimiser 𝐶 sur tous les codes
(binaires) uniquement décodables ?

INGI 2348 Théorie de l’Information et du Codage Version 2009


SEANCE 3 54

Exercice 4
Soit 𝒳 = {1, 2, 3, 4, 5}. Considérez les deux lois de probabilité 𝑝 et 𝑞 définies sur cet alphabet,
et les deux codes 𝐶1 et 𝐶2 dans le tableau suivant :

𝑥∈𝒳 𝑝(𝑥) 𝑞(𝑥) 𝐶1 𝐶2


1 0.5 0.5 0 0
2 0.25 0.125 10 100
3 0.125 0.125 110 101
4 0.0625 0.125 1110 110
5 0.0625 0.125 1111 111

(a) Calculez 𝐻(𝑝), 𝐻(𝑞), 𝐷(𝑝∣∣𝑞) et 𝐷(𝑞∣∣𝑝) 3 .


(b) Vérifiez que 𝐶1 est optimal pour 𝑝 et que 𝐶2 est optimal pour 𝑞 (calculez leurs longueurs
moyennes).
(c) Admettez que l’on utilise 𝐶2 pour une source 𝑋 ∼ 𝑝. Quelle est la longueur moyenne des mots
de code ? De combien dépasse-t-elle l’entropie 𝐻(𝑝) ?
(d) Quelle est la pénalité si nous utilisons 𝐶1 pour une source 𝑋 ∼ 𝑞 ?

Exercice 5
On nous donne 6 bouteilles de vin. On sait qu’une des bouteilles est mauvaise. L’analyse vi-
suelle des bouteilles permet de déterminer la probabilité que chacune d’entre elles soit celle qui est
mauvaise :

bouteille #𝑖 𝑝𝑖
1 7/26
2 5/26
3 4/26
4 4/26
5 3/26
6 3/26

Nous souhaitons déterminer la mauvaise bouteille. Supposez que l’on goûte les vins un à un.
Choisissez l’ordre dans lequel ils doivent être goûtés pour que le nombre d’essais soit minimisé.
Rappelez-vous que si les 5 premières bouteilles sont bonnes, vous ne devez pas goûter la dernière.
(a) Quelle bouteille doit être testée en premier ?
(b) Quel est le nombre moyen d’essais qui doivent être réalisés ?
Admettez maintenant que vous pouvez goûter le mélange du contenu de plusieurs bouteilles, au
lieu de les goûter une à une.
(c) Quelle est la valeur minimale du nombre moyen de tests qui doivent être faits pour déterminer
la mauvaise bouteille ?
(d) Quel mélange doit être testé en premier ?

∑ 𝑝𝑖
3. Distance de Kullback-Leibler : 𝐷(𝑝∣∣𝑞) = 𝑝𝑖 log 𝑞𝑖
qui mesure la distance entre les distributions de probabilité
𝑖

INGI 2348 Théorie de l’Information et du Codage Version 2009

Vous aimerez peut-être aussi