Théorie de l'information et compression
Théorie de l'information et compression
Jean-Michel Morel.
September 1, 2009
2
Introduction
Notre civilisation a rendu trois types de données numériques omniprésents dans la communi-
cation humaine: les sons digitaux, les images digitales et les données alpha-numériques (les
textes). Ils représentent désormais trois des cinq vecteurs principaux de la communication
humaine. (Les deux autres sont la conversation et la gestuelle, quand les communiquants sont
en présence l’un de l’autre). Les recherches sur les trois modes de représentation digitaux,
très complexes, ayant chacun sa structure propre, ne font encore que commencer. Toute-
fois, la théorie de l’information et l’analyse de Fourier ont permis de délimiter un champ
scientifique suffisant pour qu’on puisse, entre autres, traiter très rigoureusement d’un des
problèmes les plus cruciaux: la compression des données transmises sous l’une quelconque de
ces trois formes.
Dans ce cours, nous allons présenter toutes les bases mathématiques utiles pour compren-
dre comment un texte, une image, ou un son digitaux sont créés, quelles sont les distorsions
inhérentes à la nature de l’image ou du son digital d’une part, et celles qui sont entraı̂nées
par une ”mauvaise” digitalisation, enfin comment mesurer la quantité d’information qu’elles
contiennent et enfin comment les comprimer.
Le cours ira de la théorie à la pratique la plus commune. On commencera avec l’analyse
de Fourier, les ondelettes, et la théorie de l’information et de la communication de Shannon.
Et on en arrivera à détailler les formats de compression les plus courants en informatique
et sur le web pour textes, images et sons.
La théorie de la communication de Shannon, publiée en 1948, rebaptisée ensuite théorie
de l’information est le texte fondateur, que nous analyserons en détail. Cette théorie propose
une chaı̂ne complète pour coder, comprimer et transmettre tous messages entre humains,
et particulièrement les signaux (voix et images). Les théories mathématiques sous-jacentes
sont d’une part la théorie des probabilités discrètes à laquelle s’ajoute une notion issue de
la thermodynamique des gazs, la notion d’entropie et d’autre part l’analyse de Fourier, qui
permet de formaliser le passage d’un signal ou d’une image vus comme des fonctions à leur
représentation discrète par échantillonnage.
Les images
Bien que notre civilisation ait multiplié la présence des signaux, images et sons, et surtout
des images et sons digitaux (ou numériques), leur nature est mal connue du public, et même
des spécialistes. En effet, ceux-ci sont rarement à la source de l’image : ils ne savent pas com-
ment l’image a été enregistrée, transmise, comprimée. La vision correcte de l’image demande
une connaissance approfondie de la structure des images digitales et de toutes les distorsions
3
entrainées par leur caractère d’images digitales. Dans ce texte, nous allons présenter toutes
les bases mathématiques utiles pour comprendre comment une image ou un son digitaux
sont créés, quelles sont les distorsions inhérentes à la nature de l’image ou du son digital
d’une part, et celles qui sont entrainées par une “mauvaise” digitalisation. Nous décrirons
ensuite les méthodes classiques et nouvelles de restauration, c’est-à-dire les méthodes qui
visent, partant d’un signal abimé, à retrouver une image conforme à une acquisition cor-
recte. Nous commencerons par un long exposé des notions d’analyse de Fourier nécessaires
pour comprendre l’échantillonnage de l’image, i.e. sa réduction à un tableau fini de valeurs
numériques. Nous expliquerons la théorie de Shannon, qui fixe les règles d’échantillonnage
correct, et nous décrirons les manipulations élémentaires que permet l’usage correct de cette
théorie : translation, rotation et zoom de l’image notamment. Toutes ces manipulations
seront illustrées d’exemples réalistes. Ensuite, nous aborderons les distorsions “nécessaires”,
celles qu’entraine la nature même des images numériques, à savoir le phénomène de Gibbs
ou “ringing”, la quantification et le flou. Pour chacun de ces phénomènes, nous montrerons
aussi des exemples, et nous traiterons ensuite le problème de la restauration, c’est-à-dire de
l’élimination des distorsions, notamment quand elles sont plus poussées que ne le permet la
théorie de Shannon (trop de bruit, trop de flou, trop de quantification, trop d’aliasing...) En-
fin, utilisant les éléments d’analyse de Fourier détaillés l’an dernier et la théorie de Shannon,
en arrivera à expliquer en détail comment marche l’algorithme de compression d’images du
web: l’algorithme JPEG (format .jpg de toutes les images courantes).
Les sons
La dernière partie en vient au son et donne les éléments du vaste programme de décomposition
d’un son en atomes temps-fréquence, ou ”notes”. L’outil principal est la transformée de
Fourier à fenêtre, avec une ouverture sur la théorie des ondelettes.
Le cours
Principe du cours
Le but de ce cours est donc de donner les outils mathématiques, mais toujours en les reliant
à des expériences visuelles ou auditives permettant au lecteur de voir l’effet des opérations
sur les textes, images et signaux.
Un polycopié sera distribué.
Les travaux pratiques associés à ce cours sont essentiels et mettront en oeuvre pratique-
ment, sur des images, des sons et des textes, toutes les notions introduites.
La note sera basée sur un rapport de travaux pratiques et un devoir où les élèves devront
résoudre les exercices mathématiques les plus illustratifs.
Déroulement du cours
Le cours dure 16 heures suivies de 16 heures de travaux dirigés. Le cours ne demande que des
connaissances de licence (séries de Fourier et probabilité discrète). Ces notions sont de toutes
façons rappelées dans le polycopié. Son but est de décrire une des théories mathématiques
majeures du XX-ème siècle, la théorie de la communication de Shannon.
4
– Premier et deuxième cours de quatre heures qui introduisent aux notions d’entropie
et d’entropie relative d’une variable aléatoire discrète et expliquent la théorie de la
communication de Shannon. Après une explication du modèle markovien du langage,
le codage optimal théorique par la méthode du décompte des messages typiques est
démontré. Ensuite, cette méthode est étendue aux couples entrée-sorties typiques pour
démontrer le grand théorème de Shannon, à savoir l’existence de communication sûre
malgré le bruit. Enfin un algorithme de codage universel, Lempel-Ziv, sera expliqué.
– Troisième cours de quatre heures. Dans les deux premières heures on revient sur la
théorie de l’information en donnant la théorie des codes préfixe, l’inégalité de Kraft et
en prouvant l’optimalité du code de Huffman et la quasi-optimalité du code de Shannon.
Dans la deuxième partie on revient sur la théorie de l’échantillonnage en expliquant la
transformée de Fourier à fenêtre et sa variante orthogonale, les ondelettes de Malvar-
Wilson.
– Les quatres travaux pratiques illustrent directement le cours : après une introduction
à Matlab, génération de phrases par modèle markovien, entropie d’une phrase et com-
pression par le code de Huffman, échantillonnage des images et diverses manipulations,
enfin segmentation d’un signal de voix en intervalles par le choix d’une base de Malvar-
Wilson d’entropie minimale. C’est dans ce dernier travail que les deux aspects (Fourier
et entropie) sont utilisés conjointement.
Le devoir
Le devoir consiste à rendre tous les exercices du cours, auquels vous pouvez ajouter tout
commentaire de lecture, critique du cours, expérience ou correction. Ils seront très bienvenus.
Les exercices dits de lecture où on vous demande de lire le texte de Shannon, de commenter
et de comparer avec les preuves apportées sont optionnels et donc en bonus. Le texte de
Shannon se trouve à l’adresse suivante sur le site des Bell labs, laboratoire où il fut écrit :
[Link] .
Contents
3 Codes préfixes 17
3.1 Théorie des codages préfixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1 Un premier exemple: le code de Shannon . . . . . . . . . . . . . . . . 22
4 Le codage de Huffman 27
4.1 Exercices et implémentations Matlab . . . . . . . . . . . . . . . . . . . . . . . 30
5
6 CONTENTS
La modélisation probabiliste
discrète (révision)
On part d’un ensemble d’évènements élémentaires ou atomiques Ω, par exemple les résultats
d’un match de football, Ω = {(0, 0), (0, 1), (1, 0), . . . , (40, 40)}. Plus généralement Ω = IN×IN.
Un évènement en général est un sous-ensemble de Ω. Par exemple A = {(m, n) | m > n}
caractérise le fait que l’équipe 1 gagne, et B = {(m, n) | m = n} caractérise le match nul. Si
ω = (m, n) est æ en A, s’écrit que “ω est une réalisation de A.”
Définition 1.1 Algèbre d’ensembles “intéresants”: C’est un ensemble A d’ensembles de Ω
que satisfait les axiomes suivants:
– ∅, Ω ∈ A
– A ∈ A ⇒ Ac ∈ A
Définition 1.2 Variable aléatoire discrète. C’est une application X : Ω → E où E est un
ensemble fini ou dénombrable et tel que les ensembles {ω ∈ Ω | X(ω) = e} soient tous dans
A. Dans le cas où E ⊂ R, on parle de variable aléatoire real.
Dans l’exemple du football, M (ω) = M ((m, n)) := m est une variable aléatoire réelle qui
peut s’appeler “nombre de buts de l’équipe 1”. Regardons un exemple de Ω plus général
qui est aussi un grand classique de théorie des probabilités, le jeu de pile ou face. On code
face par 0 et pile par 1. Une suite infinie de tirages appartient à l’ensemble d’évènements
Ω := {0, 1}IN . Chaque élément de Ω s’écrit ω = (ω(1), . . . , ω(n), . . . ) et l’application Xn :
ω → ω(n) est un variable aléatoire qu s’interprète comme le “résultat du n-ième tirage”.
Aussi nous pouvons considérer l’ensemble des N premiers tirages, ΩN := {0, 1}N . D’une
certaine manière ΩN est contenu dans Ω mais pour le formaliser il faut associer à chaque
élément ωN = (ω(1), . . . , ω(N )) ∈ ΩN l’ensemble de toutes les suites qui commencent par
ωN , que nous appellerons Ω(ωN ). Nous pouvons considèrer l’algèbre engendrée par les Ω(ωN )
quand ωN varie dans ΩN et N varie dans IN. Il s’agit de l’algèbre la plus petite contenant
tous ces évènements. Cette algèbre s’appelle “algèbre d’évènements en temps fini”.
Exercice 1 Démontrer que tout élément de l’algèbre A des évènements en temps fini est une
union finie d’évènements de type Ω(ωN ). Pour le prouver, il suffit d’appeler à cet ensemble
7
8 CHAPTER 1. LA MODÉLISATION PROBABILISTE DISCRÈTE (RÉVISION)
d’unions finies et de prouver qu’elle a la structure d’une algèbre. S’il en est ainsi, elle est
forcément l’algèbre la plus petite contenant les Ω(ωN ).
En fait l’algèbre des évènements en temps fini ne nous dit rien sur ce qui se passe à l’infini.
Par exemple l’ensemble : A := {ω ∈ Ω | limn Xn (ω) = 0} n’est pas dans A. Pour le voir, il
suffit de remarquer que s’il était dans A, on aurait A = ∪n∈I Ω(ωn ) où I est un sous-ensemble
fini de IN et ωn ∈ ΩN . Appelons k l’indice le plus grand qui apparaı̂t dans I. Alors on vérifie
immédiatement que si ω ∈ A et si on considère un autre élément ω 0 ∈ Ω tel que ω 0 (i) = ω(i)
pour i ≤ k, alors ω 0 est en A. Donc nous pouvons imposer que ω 0 (n) = 1 pour n ≥ k, et celà
implique que ω 0 n’est pas dans A, une contradiction. C’est pourquoi Kolmogorov a étendu la
notion d’algèbre à celle de σ−algèbre, ce qui permet de considérer un évènement comme A.
Définition 1.3 Une σ-algèbre F de Ω est une algèbre telle que si An est dans F, alors
∪n An est aussi dans F. Etant donné un ensemble A de parties de Ω, on appelle σ-algèbre
engendrée par A et on écrit σ(A) l’intersection de toutes las σ-algèbres contenant A.
Une telle intersection existe parce qu’il y a au moins une σ-algèbre qui contienne A :
l’ensemble P(Ω) de toutes les parties de Ω est en effet une σ-algèbre.
Exercice 2 Démontrer que l’ensemble A := {ω ∈ Ω | limn Xn (ω) = 0} est dans σ(A), où A
désigne l’algèbre d’évènements en temps fini. Indication: prouver que
[ \
A= {ω | Xm (ω) = 0.}
n≥1 m≥n
Définition 1.4 Soit Ω un espace de probabilité muni d’une une σ-algèbre F. On dit que P
est une probabilité sur (Ω, F) si pour tout A dans F et pour toute suite disjointe An dans F,
– 0 ≤ P(A) ≤ 1, P(Ω) = 1
S P
– P( n An ) = n P(An ).
P(A ∩ B)
P (A | B) := si P(B) 6= 0, = 0 si P(B) = 0.
P(B)
Exercice 4 Démontrer que pour tout B dans F, l’application A → P(A | B) est une prob-
abilité sur (Ω, F). Démontrer également la “règle des causes totales” : si les Bi , i ∈ IN sont
des évènements formant une partition de Ω, alors
∞
X
P(A) = P(A | Bi )P(Bi ).
i=1
1.1.1 Indépendance
– Une famille (Ai )i∈I est une famille d’évènements indépendants si pour toute sous-
famille finie Ai1 , . . . , Ain , P(Ai1 ∩ · · · ∩ Ain ) = P(Ai1 ) . . . P(Ain ).
– Soit Ω = [0, 1]N , P(A) = volume(A) par A ⊂ Ω. Démontrer que les coordonnées
Xi : ω = (ω1 , . . . , ωn ) ∈ Ω → ωi sont des variables aléatoires indépendantes.
alors au geôlier le raisonnement suivant : “Je sais déjà que l’un de B ou de C est condamné.
Tu ne me donneras donc aucune information utile sur mon sort si tu me communiques que
l’un de B ou de C est condamné. S’il te plaı̂t, donne-moi le nom d’un des deux, B ou C, qui
est condamné.” Le geôlier réfléchit un moment et répond : “-tu as raison. Je t’annonce que
B est condamné. Mais ne va pas croire qu’avec cette information tu va pouvoir tirer quoi
que ce soit d’utile sur ton propre sort” Le prisonnier répond “- tout le contraire ; avant j’avais
une probabilité de 2/3 d’être condamné ; maintenant tout se joue entre C et moi, n’est-ce
pas? Donc ma probabilité de mourir est devenue 1/2 et non plus deux tiers. Je peux dormir
un peu plus tranquille!!”. Le geôlier hausse les épaules et s’en va.
Qui a raison, du prisonnier A ou du geôlier? Le prisonnier A a-t-il raison de penser qu’il
a gagné un peu de tranquillité, ou est-il victime d’une illusion?
Solution
Pour formaliser cet type de problème, il faut chercher les évènements atomiques, c’est-à-dire
énumérer chaque suite de probabilités et ensuite essayer de chercher sa probabilité. Une
fois calculées les probabilités de ces évènements atomiques, toue autre probabilité devient la
probabilité d’un évènement qui est une union d’évènements atomiques. Donc elle devient une
somme de probabilités, facile à calculer. Selon cette description la manière de procéder est:
– énumérer et nommer tous les évènements distincts (en général des suites d’évènements);
– exprimer les probabilités indiquées par le problème: très souvent nous verrons que ce
sont des probabilités conditionnelles;
– formaliser les évènements dont on veut calculer les probabilités et les exprimer en fonc-
tion des évènements élémentaires;
Notre problème montre deux évènements aléatoires consécutifs: d’abord le choix des
prisonniers condamnés: AB, BC ou AC. Ensuite le choix éventuel effectué par le geôlier
de B ou de C dans le cas où il lui faut effectivement choisir, quand B et C sont tous deux
condamnés. De plus, il faut prendre en compte un grand principe des probabilités que parfois
on appelle principe de probabilité subjective, suivant lequel quand de plusieurs possibilités 1,
2, ... n on ignore tout, on attribue la même probabilité à chacune des possibilités, c’est-à-dire
1/n. Dans notre cas la probabilité que AB, ou BC, ou AC soient condamnés doit donc être
fixée à un tiers. De la même manière, si B et C sont condamnés le geôlier doit choisir entre
eux pour donner un nom. Comme A ignore quel critère le geôlier adopte pour choisir entre
B et C, il doit considérer que les probabilités que le geôlier nomme B ou C sont égales à 1/2.
Les évènements atomiques sont ABC, ACC, BCB et BCC, où les deux premières lettres
indiquent les condamnés, et la dernière est le choix du condamné nommé par le geôlier. Les
variables aléatoires naturelles sont X, Y , Z, où XY est la liste ordonnée des condamnés
et Z le condamné indiqué par le geôlier. Par exemple XY (ABC) = AB et Z(ABC) = C.
Maintenant, nous pouvons exprimer les probabilités subjectives qui sont nos seules données:
1.2. EXERCICES 11
1
– P(XY = AB) = P(XY = BC) = P(XY = AC) = 3
p = P(XY = BC | Z = B)
1.2 Exercices
Exercice 7 Un modèle discret pour gagner à un jeu très simple et moins sinistre. Il y a trois
cartes. La première a deux faces rouges et nous l’appellerons RR. La seconde a deux faces
vertes (V V ) et la troisième a une face rouge et une autre verte (RV ). On tire une carte au
hasard et on tire aussi au hasard le coté exposé de la carte. Les joueurs observent cette face
exposée et font des paris sur la couleur de l’autre face.
12 CHAPTER 1. LA MODÉLISATION PROBABILISTE DISCRÈTE (RÉVISION)
Supposons par exemple que la face exposée soit rouge. Quelle est la probabilité que l’autre
face soit rouge? Et verte? Supposons que chaque joueur parie pour une couleur. Si l’autre
joueur place 100 euros sur la table en pariant pour rouge, combien devrais-je placer sur la
table, en pariant sur vert, pour que mon espérance de gain soit positive?
Exercice 8 Soit An une suite croissante (An ⊂ An+1 ) d’algèbres de Ω. Démontrer que
S
n An est une algèbre.
Exercice 11 Si A1 , . . . An sont indépendants alors Ãi sont indépendants, où Ãi peut être
arbitrairement Ai ou Aci .
Exercice 13 Trois touristes tirent en même temps sur un éléphant. L’animal meurt, touché
par deux balles. La valeur de chaque chasseur est mesurée par la probabilité qu’il atteigne sa
cible. Ces probabilités sont 1/4, 1/2, 3/4. Calculer pour chacun des chasseurs sa probabilité
d’avoir raté l’éléphant. (Cette probabilité dépend de l’évènement observé: si l’éléphant avait
reçu trois balles, nous saurions par exemple que la probabilité d’avoir raté est zéro pour
chaque chasseur).
Distributions discrètes de
probabilité (révision)
Par exemple une suite de tirages à pile ou face, qui se formalise comme une suite de
variables de Bernoulli, X1 , ..., Xn avec Xi = 0 (pile) où Xi = 1 (face) et P(Xi = 1) = p,
P(Xi = 0) = 1 − p. Si les tirages sont indépendants, nous avons
1. 0 ≤ p(x) ≤ 1
P
2. x∈X p(x) = 1,
Posant p(x) = PX (x), on dit que (p(x)), x ∈ X est la distribution (ou loi) de la variable X.
13
14 CHAPTER 2. DISTRIBUTIONS DISCRÈTES DE PROBABILITÉ (RÉVISION)
Dans le cas où X est elle-même une variable à valeurs réelles, on définit:
E|f (X)|
P(|f (X)| ≥ a) ≤ .
a
On en tire la fameuse inégalité de Tchebychev, qui dit que pour une variable aléatoire réelle
et pour tout ε > 0,
σ 2 (X)
P(|X − EX| ≥ ε) ≤ .
ε2
La démonstration consiste à appliquer l’inégalité de Markov à f (X) = |X − EX|2 .
Nous allons appliquer l’inégalité de Tchebychev pour prouver une loi fondamentale, la loi
faible des grands nombres.
En effet l’espérance (ou moyenne) de Sn est np et la variance de Sn est np(1 − p). Donc la
moyenne de Snn est p et sa variance est σ 2 = p(1−p)
n . Appliquons l’inégalité de Tchebytchev
pour obtenir
Sn p(1 − p)
P(| − p| ≥ ε) ≤ → 0 quand n → ∞.
n nε
Définition 2.4 Soit Yn des variables aléatoires réelles définies sur le même espace de prob-
abilité. On dit que Yn → Y en probabilité si limn→∞ P(|Yn − Y | > ε) = 0 for all ε > 0.
La loi faible des grands nombres s’étend facilement à une situation légèrement plus
générale. Considérons une suite de variables aléatoires Xn indépendantes, équidistribuées
et de variance bornée σ 2 (X) et d’espérance EX. Alors avec le même raisonnement que
précédemment (additivité des variances
P et des espérances et inégalité de Tchebychev), on
obtient le même résultat pour Sn = nk=1 Xk .
2.3 Exercices
Exercice 18 Un lot de montres identiques pour touristes arrive chez un marchand de Barbès.
Ce lot peut provenir de deux usines: l’une à Singapour et l’autre à Hong Kong. Le marchand
sait qu’en moyenne l’usine de Singapour produit un pourcentage de montres défectueuses de
1/200 tandis que l’usine de Hong Kong a un pourcentage de 1/1000. Le marchand teste une
première montre et vérifie qu’elle marche. Quelle est la probabilité que la seconde montre
qu’il va tirer fonctionne?
Exercice 19 On tire au hasard deux points dans [0, 1], indépendamment. Le plus petit des
nombres obtenus est plus grand que 1/3. Quelle est la probabilité que l’autre soit supérieur
à 3/4?
Exercice 23 On dit qu’une variable aléatoire X à valeurs dans IN suit une loi géométrique de
paramètre p ∈ [0, 1] si P(T = n) = p(1−p)n−1 , n ≥ 1. Calculer la moyenne et la variance de T .
Démontrer que T “n’a pas de mémoire”, c’est-à-dire que P(T ≥ n0 + n | T > n0 ) = P(T ≥ n),
n ≥ 1.
16 CHAPTER 2. DISTRIBUTIONS DISCRÈTES DE PROBABILITÉ (RÉVISION)
Exercice
P∞ 24 Soit X une variable aléatoire avec valeurs en IN. Démontrer que EX =
n=1 P(X ≥ n).
Chapter 3
Codes préfixes
Le code le plus élémentaire que l’on puisse faire est d’énumérer les messages de i = 0 à k,
convertissant i en un nombre binaire. Alors h(x1 ) = 0, h(x2 ) = 1, h(x3 ) = 10, h(x4 ) = 11,
etc. La longueur maximale lk des codes vérifie
Shannon démontre de plusieurs manières que, étant donnée une source émettrice d’entropie
p, la longueur minimale moyenne des messages codés en bits est exactement H(p). En d’autres
termes il est possible de transmettre ce qu’émet la source en codant ses messages avec des
nombres faits de zéros et de uns de longueur moyenne H(p). Pour comprendre mieux, nous
17
18 CHAPTER 3. CODES PRÉFIXES
devrons spécifier ce que nous entendons par codage. Nous allons commencer avec une théorie
légèrement plus restrictive, la théorie des codages dits préfixes.
Définition 3.2 Un codage est appelé préfixe si pour tout i, 1 ≤ i ≤ k, chaque code h(xi )
n’est le préfixe d’aucun autre code h(xj ).
La théorie des codages préfixes est merveilleusement simple. Nous allons caractériser tous
les codages préfixes et donner quelques exemples optimaux.
Réciproquement, soient (li ), 1 ≤ i ≤ k entiers positifs tels que (3.1) soit vérifiée. Alors
il existe un codage h avec la propriété du préfixe, dont les codes ont pour longueurs (li ),
1 ≤ i ≤ k.
Figure 3.1: Arbre binaire complet des chiffres de moins de trois symboles. Chaque noeud de
l’arbre représente un code. Si un codage est préfixe, il correspond à une sélection de noeuds
tels qu’aucun noeud ne soit la racine d’un sous-arbre dont un autre noeud serait racine.
Exemple: 00, 011, 10, 110 est un codage préfixe.
Maintenant voyons la réciproque. Si les nombres (li )1≤i≤k vérifient l’inégalité de Kraft,
pourrons nous définir un codage préfixe h tel que li = h(xi )? La construction est semblable
au raisonnement précédent (voir la figure 3.2). On considère de nouveau l’arbre complet
binaire de profondeur n = maxi li . On ordonne les li par ordre croissant, l1 ≤ · · · ≤ li ≤ . . . lk
et on considère les 2n−l1 premières feuilles de l’arbre : ce sont les feuilles d’un sous-arbre dont
la racine a pour longueur l1 : on décide que cette racine soit le code de x1 . Ensuite voyons les
2n−l2 feuilles suivantes. De nouveau ce sont les feuilles d’un sous-arbre de racine de longueur
l2 et cette racine devient le code de x2 . Nous pouvons itérer tant que la quantité de feuilles
utilisées n’excède pas 2n , mais celà est exactement ce que nous garantit l’inégalité de Kraft!
La figure 3.2 traite l’exemple suivant :
l1 = 2, l2 = l3 = 3, l4 = 5.
Dans cet exemple n = 5 et nous avons 25−2 = 8, 25−3 = 4, 25−5 = 1, ce que nous donne la
taille de chaque sous-arbre. Los codes obtenus pour x1 , x2 , x3 , x4 sont 00, 010, 011 et 10000.
◦
Exercice 26 Démontrer de manière plus formelle que le codage obtenu dans la seconde
partie de la démonstration du théorème 3.1 est préfixe. Pour comprendre mieux, tenter la
même construction avec le même exemple, mais cette fois en ordonnant les sous-arbres avec
des tailles qui croissent de haut en bas. Que se passe-t-il? Pourquoi ça ne marche pas?
1. n = maxi li ;
Le théorème précédent nous donne une condition nécessaire sur les longueurs des codes
pour qu’un codage préfixe permette de coder k messages. Maintenant notre problème, c’est
que les longueurs li des codes soient les plus petites possible. Pour celà considérons de nouveau
un ensemble X = (x1 , . . . , xk ) de k messages avec une distribution p = (p1 , . . . , pk ). Si h est
un codage des k messages avec li = h(xi ), nous voulons minimiser la longueur moyenne, c’est-
à-dire l’espérance de la longueur des codes. Cette longueur moyenne est, exprimée comme
une espérance,
Xk X
L(h) := pi l(h(xi )) = pi li = E(l(h(X))).
i=1 i
Théorème 3.2 Appelons Linf := inf h L(h), la longueur moyenne minimale que l’on peut
obtenir avec un codage préfixe. Alors
est qi = pi .
P
Démonstration Si p = (pi ) est une distribution de probabilité et qi ≥ 0 satisfait i qi ≤ 1,
en utilisant la concavité du logarithme,
k
X k
X
qi
pi log ≤ log qi ≤ log 1 ≤ 0,
pi
i=1 i=1
Donc
P q := p réalise le minimum dans le problème (3.1). L’inégalité est stricte à moins que
q
i i = 1 et pi = qi par tout i. ◦
3.1. THÉORIE DES CODAGES PRÉFIXES 21
Figure 3.2: Dans un arbre binaire de profondeur 5 on construit un codage préfixe pour la
suite de longueurs l1 = 2, l2 = l3 = 3, l4 = 5. C’est facile de voir que cette série vérifie
l’inégalité de Kraft. Dans la figure on voit de haut en bas les codes obtenus, correspondant
à des sous-arbres disjoints et de taille décroissante. Chacun a un nombre de feuilles 25−lj et
la racine du sous-arbre devient le code de xj .
22 CHAPTER 3. CODES PRÉFIXES
Preuve du théorème 3.2. Le problème que nous voulons résoudre est de minimiser la
longueur moyenne d’un code sous la condition donnée par l’inégalité de Kraft, c’est-à-dire
chercher (li )i=1,...,k telles que
( P
− ki=1 pi li =min!
Pk −li ≤ 1. (3.4)
i=1 2
Résolvons d’abord le problème sans nous préoccuper du fait que les li doivent être entiers.
On cherche donc une solution telle que l’on ait seulement li ≥ 0. Alors en posant yi := 2−li
le problème (3.4) est équivalent au problème (3.2). Donc sa solution est li∗ = − log pi et
P
nous obtenons que le minimum ki=1 pi lk∗ = H(p) est l’entropie. Toutefois les li∗ ne sont
généralement pas entiers et le mieux que puissions faire est de fixer li := dli∗ e, l’entier le plus
petit supérieur à li∗ . Comme li ≥ li∗ la condition de Kraft est vérifiée
k
X k
X ∗
2−li ≤ 2−li ≤ 1.
i=1 i=1
Donc il existe un codage préfixe dont les codes ont pour longueur li et en plus
k
X k
X k
X
H(p) = pi li∗ ≤ pi li = El(h(X)) ≤ pi (li∗ + 1) = H(p) + 1.
i=1 i=1 i=1
◦
Cela implique que la longueur moyenne (c’est-à-dire l’espérance de la longueur) des codes,
El, vérifie
H ≤ El ≤ H + 1.
3.1. THÉORIE DES CODAGES PRÉFIXES 23
Cette relation signifie que le codage est quasi optimal. En effet, il vérifie la même inégalité
qu’un codage optimal et on perd tout au plus un bit par symbole. Reste à démontrer que
le codage ainsi défini a la propriété du préfixe. Observons que si j ≥ 1, alors Pi+j − Pi ≥
pi ≥ 2−li . Si les li premiers bits de Pi coı̈ncidaient avec ceux de Pi+j , celà impliquerait
Pi+j − Pi < 2−li . Donc ils ne coı̈ncident pas et le codage est préfixe.
1. étant donné un texte extrait les fréquences (probabilités empiriques) de tous les car-
actères (y compris les espaces et les chiffres). Ainsi on déduit une distribution empirique
de ces caractères p = (p1 , . . . , pk );
2. calcule l’entropie binaire de p, qui indique combien de bits il faut payer par caractère;
3. déduit quelle est la longueur théorique prévue pour le texte en bits (produit de l’entropie
par le nombre de caractères);
Exercice 30 D’un codage x ∈ X → h(x) ∈ {0, 1}(IN ) on dit qu’il est uniquement déchiffrable
si on a l’implication:
Démontrer que si h est un codage avec la propriété de préfixe, alors le codage qui consiste à
inverser l’ordre de chaque h(xi ) est uniquement déchiffrable. En conclusion, il y a des codes
uniquement déchiffrables qui n’ont pas la propriété du préfixe.
p ⊗ q = (p1 q1 , . . . , p1 ql , p2 q1 , . . . , p2 ql , . . . , pm q1 , . . . , pm ql ).
Quelle interprétation peut-on donner de cette distribution dans le langage des variables
aléatoires? Vérifier que
H(p ⊗ q) = H(p) + H(q).
Déduire que H(p(n) ) = nH(p) où p(n) est le produit tensoriel de p par lui-même, n fois.
24 CHAPTER 3. CODES PRÉFIXES
1
1) Vérifier que l’entropie de X est l’espérance de g(X), où g(X) = log p(X) = − log p(x).
2) Démontrer que H(X) ≤ log Card(X ), et que cette inégalité devient une égalité si et seule-
ment si X a une distribution uniforme sur X . (Utiliser le lemme 3.2 où p est la distribution
de X et q la distribution uniforme sur X ).
3) Exemple important : On choisit pour X la variable de Bernouilli, X = 1 avec probabilité
p, X = 0 avec probabilité 1 − p. Alors
fonction de p que nous appellerons H(p). Vérifier que H(X) = 1 bit quand p = 12 . Dessiner
le graphe de H(p) et démontrer que H vaut 0 en 0 et 1, et est maximal quand p = 21 .
Interprétation : l’incertitude sur X est maximale quand p = 12 et minimale quand X est
déterministe. L’entropie est une mesure de l’incertitude sur la valeur de X.
4) L’entropie conjointe de deux variables aléatoires est mas petite que la somme des entropies.
L’égalité se produit si et seulement si les deux variables aléatoires sont indépendantes.
Traduire cette définition due à Shannon en une formule, et vérifier que la formule qui suit est
une formule équivalente: X
H(Y |X) = − p(x, y) log p(y|x).
x,y
“This quantity measures how uncertain we are of Y on the average when we know X.”
Utilisons la définition de la probabilité conditionnelle :
p(x, y)
p(y|x) = P ,
y p(x, y)
X X X
H(Y |X) = − p(x, y) log p(x, y) + p(x, y) log p(x, y) = H(X, Y ) − H(X).
x,y x,y y
Donc
H(X, Y ) = H(X) + H(Y |X).
”The uncertainty (or entropy) of the joint event X, Y is the uncertainty of X plus the uncer-
tainty of Y when X is known”. Mais nous savons que
Alors
H(Y ) ≥ H(Y |X).
“The uncertainty of Y is never increased by knowledge of X. It will be decreased unless X
and Y are independent events, in which case it is not changed”.
Vérifier que D(p||q) ≥ 0 et que D(p||q) = 0 ⇔ p = q. L’entropie relative est une mesure
de la distance entre deux distributions. On appelle information mutuelle I(X, Y ) l’entropie
relative entre la distribution conjointe p(x, y) et la distribution produit p(x)p(y),
XX p(x, y) p(X, Y )
I(X, Y ) = p(x, y) log = D(p(x, y)||p(x)p(y)) = Ep(x,y) log .
p(x)p(y) p(X)p(Y )
x∈X y∈X
2) Démontrer que
Le codage de Huffman
p = (p1 , . . . , pk ) = (0.01; 0.02; 0.04; 0.13; 0.13; 0.14; 0.15; 0.15; 0.23),
ordonnées en croissant. A partir de cette suite on construit un arbre binaire dont les feuilles
seront les probabilités. A chaque pas de la construction de l’arbre on groupe les deux prob-
abilités qui ont la somme la plus petite et on les remplace par leur somme. On passe donc
à la suite obtenue en réunissant (p1 + p2 , . . . , pk ). Le noeud parent immédiat de p1 et p2 est
alors p1 + p2 . Itérant le procédé n − 1 fois, on construit un arbre comme celui de la figure
4.1. Avec la convention graphique que la probabilité la plus grande est toujours à droite et
la probabilité la plus petite à gauche, l’arbre se réarrange comme indiqué dans la figure 4.2.
Alors nous pouvons associer par la convention habituelle un code binaire à chaque noeud dans
l’arbre, ce qui fixe en particulier un code pour chaque feuille de l’arbre, c’est-à-dire chaque
pi . Comme nous allons voir, ce procédé nous donne un codage optimal au sens adopté au
chapitre précédent.
pour au moins une suite w faite de zéros et de uns, et tel que le code h0 défini par
h0 (i) = h(i), 1 ≤ i ≤ k − 1, h0 (k − 1) = w
27
28 CHAPTER 4. LE CODAGE DE HUFFMAN
Figure 4.1: Soit p = (p1 , . . . , pn ) = (0.01; 0.02; 0.04; 0.13; 0.13; 0.14; 0.15; 0.15; 0.23) une dis-
tribution ordonnée. A partir de cette suite on construit un arbre binaire. A chaque pas de la
construction de l’arbre on groupe les deux probabilités qui ont la somme la plus petite et leur
somme est placée au noeud qui est créé comme parent immédiat de ces deux probabilités.
En itérant le procédé n − 1 fois, on construit un arbre binaire dont la racine est 1, la somme
de toutes les probabilités, et dont les feuilles sont les probabilités de départ.
Figure 4.2: Avec la convention graphique que la probabilité la plus grande est toujours à
droite et la probabilité la plus petite à gauche, l’arbre de la figure 4.1 se réarrange. Alors
nous pouvons associer par la convention habituelle un code binaire à chaque noeud dans
l’arbre, ce qui fixe en particulier un code pour chaque feuille de l’arbre, c’est-à-dire chaque
pi .
29
Il s’agit dans tous les cas de codage préfixe. Voyons d’abord pourquoi le lemme justifie la
construction du code de Huffman. Le lemme nous garantit que pour construire un codage
optimal d’une distribution de k éléments, il suffit de trouver un code optimal pour la dis-
tribution de n − 1 éléments obtenue en groupant les deux probabilités les plus petites. Et
que le code de ces probabilités pk−1 et pk s’obtient en ajoutant un zéro et un 1 au code de
pk + pk−1 . Au dernier pas, quand n est réduit à 2, le codage optimal est forcé, 0 et 1. Donc
on déduit que tous les codes successifs sont optimaux.
Preuve du lemme 4.1. Soit h un code optimal pour p. Nous pouvons imposer, comme
une propriété générale des codes préfixes, que les longueurs vérifient l1 ≤ l2 ≤ · · · ≤ lk . En
effet si par exemple l1 > l2 , il y a deux cas : si p1 = p2 nous pouvons échanger p1 et p2 . Par
contre p1 > p2 est impossible, puisque celà impliquerait que nous pouvons obtenir un code
de longueur moyenne strictement inférieure en interchangeant les codes de p1 et p2 . En effet
cet échange donnerait p2 l1 + p1 l2 < p1 l1 + p2 l2 .
Observons aussi comme une propriété générale d’un codage préfixe optimal que lk−1 = lk .
Sinon, nous pourrions maintenir la propriété du préfixe et faire diminuer sa longueur moyenne
en supprimant les lk − lk−1 derniers bits de h(k).
Le code h(k − 1) peut s’écrire w0 ou bien w1. Supposons par exemple que ce soit w0.
Alors nous pouvons choisir h(k) = w1. En effet, si ce code est déjà utilisé par un pi , on peut
échanger le code h(i) de pi et celui de pk−1 . Si le code w1 n’est pas utilisé, il est clair que
nous pouvons l’utiliser pour h(k) tout en maintenant la propriété du préfixe. En effet si un
autre h(j) était préfixe de w1, comme il serait de longueur strictement inférieure puisqu’il
est différent de w1, h(j) serait préfixe de w0 = h(k − 1). Après ces échanges éventuels, la
longueur moyenne n’a pas changé et reste optimale.
Considérons maintenant le code h̃ induit par h sur p0 := (p1 , . . . , pk−2 , pk−1 + pk ):
Pour conclure la preuve du lemme, il reste à démontrer que h̃ est de longueur moyenne
optimale. La longueur moyenne de ce codage, L̃, est reliée à celle de h, L, par la relation
L = L̃ + pk−1 + pk .
Soit L0 la longueur moyenne d’un code optimal h0 sur p0 . Partant de h0 on peut définir un
code ĥ sur p par
L̂ = L0 + pk−1 + pk .
Mais nous savons que L0 est la longueur optimale de p0 et que L est la longueur optimale de
p. Donc L̂ ≥ L0 , L̃ ≥ L0 et nous obtenons:
2. de la même manière, un entier n étant fixé (en pratique n = 2, 3, 4 ou 5), calcule les
fréquences de chaque suite de n symboles (bien sûr on ne stocke les fréquences que
pour les suites qui apparaissent au moins une fois.) Cette distribution de probabilité
s’appelle pn ;
3. calcule l’entropie binaire de H n := H(pn ), qui indique combien de bits il faut dépenser
par caractère;
4. déduit quelle est la longueur théorique prévue pour le texte en bits (produit de l’entropie
H(pn ) par le nombre de caractères divisé par n);
1. H est continue
1
2. Supposons que les pi soient égaux, pi = n. Alors H doit être une fonction croissante
de n
4.1. EXERCICES ET IMPLÉMENTATIONS MATLAB 31
Notre but est de démontrer qu’avec ces axiomes 1, 2 et 3 il existe une constante positive K
telle que
n
X
H(p1 , . . . , pn ) = −K pi log pi .
i=1
3) Traiter le cas général en approchant les pi par des rationnels et en utilisant l’axiome 2 de
continuité.
Exercice 39 Messages typiques Considérons une suite Xn de v.a.i.i.d. avec valeurs dans
un ensemble fini de symboles X = {x1 , x2 , ..., xk } et telles que P (Xn = xi ) = pi , i = 1, ..., k.
Soit X n l’ensemble des suites de longueur n, que nous appelons messages. Il y a k n tels
messages. Considérons aussi l’entropie de la répartition (pi )1≤i≤k ,
i=k
H2 (p1 , ..., pk ) = −Σi=1 pi log2 pi .
Cette quantité va être reliée à la probabilité d’un message long. La remarque cruciale est que
les messages longs (n grand) ont tous plus ou moins la même probabilité d’être émis. Pour
s’en rendre compte, il suffit d’appliquer la loi faible des grands nombres à la variable aléatoire
définie comme le logarithme moyen de la probabilité d’une suite longue,
n
1 1X X
log P (X1 , . . . , Xn ) := log P (X) → E(log P (Xi )) = pi log pi = H2 (p1 , . . . , pk ).
n n
i=1 i
2) déduire que
3) Démontrer que
P ((X1 , ..., Xn ) ∈ Cn )) ≥ 2−n(H2 +ε) Card(Cn ).
déduire que Card(Cn ) ≤ 2(H2 +ε)n .
4) Réciproque. Supposons que nous ayons trouvé C̃n ⊂ X n tel que limn→+∞ P ((X1 , ..., Xn ) ∈
C̃n ) = 1 et Card(C̃n ) ≤ 2Kn . On va montrer que K ≥ H2 .
4a) Vérifier que limn→∞ P ((X1 , ..., Xn ) ∈ Cn ∩ C̃n ) = 1.
4b) Démontrer que P ((X1 , ..., Xn ) ∈ Cn ∩ C̃n ) ≤ 2−n(H2 −ε) 2Kn et conclure.
5) Soient X = {0, 1}, p1 = p, p2 = (1 − p). Si p1 = p2 = 21 , vérifier que H2 = 1 et que le
nombre des suites typiques est 2n . (En d’autres termes la compression est impossible).
Cas général : étudier la forme de H2 (p) = −p log p − (1 − p) log(1 − p) et en déduire le
comportement du nombre de suites typiques.
6) Application au codage. Nous allons interpréter H2 comme la longueur moyenne de mes-
sages codés dans l’alphabet {0, 1} de manière optimale. Commençons par la description d’un
codage qui réalise une telle longueur moyenne. Pour celà, fixons ε > 0 et choisissons n suff-
isamment grand, de sorte que P (Cnc ) ≤ ε. (Expliquer pourquoi c’est possible). Donc, on
attribue un code binaire à chacun des éléments de Cn . Celà implique que le nombre de codes
binaires est inférieur ou égal à 2n(H2 +ε) . Considérons alors les codes non typiques, qui sont
beaucoup plus nombreux! Leur nombre est de l’ordre de k n = 2n log k . Donc nous pouvons les
énumérer avec tout au plus k n codes binaires distincts des précédents c’est-à-dire les nombres
inférieurs à 2n log k + 2n(H2 +ε) ≤ 2n log k+1 . De cette manière un code est attribué à tous les
éléments de X n . Démontrer que la longueur moyenne d’un code binaire avec ce codage est
inférieure ou égale à n(H2 + ε(1 + log k)). H(p) peut en conséquence s’interpréter comme la
longueur moyenne du code utilisée pour chaque symbole quand n est grand.
7) Finalement on se demande si on pourrait trouver un codage encore plus efficace. Si c’était
possible, on aurait un sous-ensemble de messages C̃n de cardinal plus petit que 2nK avec
K < H2 et tel que P(C̃n ) → 1 quand n → ∞. Démontrer que ce n’est pas possible. Conclure
que nous venons de démontrer que:
La longueur minimale par symbole d’un codage transmettant des messages de longueur n dans
l’alphabet X avec la distribution p1 , . . . , pk est H2 (p1 , . . . , pk ).
Chapter 5
5.1 Introduction
Notre but est, suivant Shannon, d’expliquer comment nous pouvons réduire le problème
de mesurer la quantité d’information transmise dans un dispositif de communication à une
analyse aussi élémentaire que celle d’une distribution discrète de probabilité. Shannon réduit
la communication à la transmission d’une série de symboles émis par une source aléatoire.
La source émet les symboles. Chacun d’entre eux représente, par exemple, une phrase en
français. L’incertitude du récepteur est grande, mais pas non plus totale, puisqu’il y a
des phrases plus probables que d’autres. Par exemple dans une conversation la probabilité
qu’une réponse soit “oui” ou “non” est loin d’être négligeable. L’hypothèse fondamentale
est que le récepteur tout comme l’émetteur connaissent la probabilité de chaque phrase.
Cette hypothèse pourrait paraı̂tre fantastique si Shannon ne nous donnait pas les moyens de
calculer effectivement une bonne estimation de chaque unité significative du langage, partant
des lettres pour arriver aux phrases et même aux textes. Le modèle sous-jacent est un modèle
Markovien. On suppose par exemple que, étant donnée une suite de symboles m1 m2 . . . mn ,
la probabilité qu’apparaisse ensuite un symbole mn+1 dépend seulement de mn et pas des
précédents. Evidemment, cette hypothèse markovienne est fausse, mais devient de plus en
plus vraie quand la taille des symboles croı̂t.
Grâce à l’hypothèse markovienne, la probabilité d’une suite de symboles peut se calculer
par la formule
33
34 CHAPTER 5. LANGAGE ET COMMUNICATION SELON SHANNON
si on respecte les probabilités et les probabilités de transition apprises d’un texte en anglais,
alors les phrases synthétisées ressemblent à l’anglais!
Le procédé de Shannon consiste à :
– choisir au hasard un mot dans un livre (ouvrir au hasard, placer le doigt au hasard)
– ouvrir de nouveau le livre au hasard et chercher le même mot ; quand on l’a trouvé,
choisir le mot qui le suit
– itérer
2. Approximation d’ordre 1 (symboles indépendants, mais avec les fréquences d’un texte
anglais).
OCRO HLI RGWR NMIELWIS EU LL NBNESEBYA TH EEI ALHENHTTPA OOBTTVA
NAH BRL.
5. Approximation d’ordre 1 avec des mots : la fréquence des mots est correcte
REPRESENTING AND SPEEDILY IS AN GOOD APT OR COME CAN DIFFER-
ENT NATURAL HERE HE THE A CAME THE TO OF TO EXPERT GRAY COME
TO FURNISHES THE LINE MESSAGE HAD BE THESE;
6. Approximation d’ordre 2 avec des mots : les probabilités de transition entre mots sont
comme en anglais.
THE HEAD AND IN FRONTAL ATTACK ON AN ENGLISH WRITER THAT THE
CHARACTER OF THIS POINT IS THEREFORE ANOTHER METHOD FOR THE
LETTERS THAT THE TIME OF WHO EVER TOLD THE PROBLEM FOR AN
UNEXPECTED;
Shannon observe : “The resemblance to ordinary English text increases quite noticeably
at each of the above steps. Note that these samples have reasonably good structure out
to about twice the range that is taken into account in their construction. Thus in 3. the
statistical process insures reasonable text for two-letter sequences, but four-letter sequences
from the sample can usually be fitted into good sentences. In 6. sequences of four or more
words can easily be placed in sentences without unusual or strained constructions.”
5.2. EXERCICES D’IMPLÉMENTATION EN MATLAB 35
P(y k xi )
– calcule la probabilité empirique P(xi | y k ) := P(y k )
qu’apparaisse un caractère xi
sachant qu’il est précédé par un k-gramme yk .(P(xi ) est la fréquence de xi et P(y k )
est la fréquence de y k calculées dans l’exercice précédent);
– tire au sort le k-gramme initial xi1 . . . xik du texte synthétisé suivant la distribution de
probabilité pk ;
– tire au sort le caractère suivant selon la distribution conditionnelle x → P(x | xi1 . . . xik );
Exercice 41 Le but est d’apprendre un code avec un texte très long, et de coder un autre
texte avec le premier.
1) Algorithme qui calcule le code de Shannon associé à une distribution de probabilité
2) Algorithme qui calcule le code de Huffman associé à une distribution de probabilité
3) Appliquer ces algorithmes à des textes pour vérifier que la longueur du binaire obtenu
correspond bien à la longueur théorique optimale nH(p), où n est le nombre de symboles
(nombre de caractères, ou de digrammes, ou trigrammes, ou mots, ou paires de mots).
4) Pour placer le codage dans un cadre aplicatif réaliste, nous avons réalisé qu’il fallait
définir le code avec un premier texte d’apprentissage qui nous donnerait une distribution de
probabilité de référence. Ce texte doit être grand ou très grand, pour garantir que la grande
majorité des symboles codés apparaisse plusieurs fois et permette d’estimer sa probabilité.
5) Une fois établi un code de référence (par exemple un dictionnaire de mots, et un
dictionnaire de paires de mots pour le français, obtenu d’un livre), l’utiliser pour coder un
AUTRE texte, et voir quel degré de compression on obtient.
– les symboles peuvent être des monogrammes (lettres), digrammes, trigrammes, mots, ou
paires de mots. Il ne convient pas d’aller plus loin parce que les probabilités deviennent
trop petites et ne sont plus observables.)
– Quand on code un texte nouveau, est possible qu’apparaissent des symboles qui ne sont
pas dans le dictionnaire. Dans un tel cas, le symbole reste tel quel dans le code. Ainsi le
code est une suite de zéros, uns, et symboles non codés. La longueur de ce qui n’est pas
codé se compte comme (nombre de lettres)×8, vu que chaque lettre se code “bêtement”
avec huit bits.
36 CHAPTER 5. LANGAGE ET COMMUNICATION SELON SHANNON
– Quand on code par mots ou par paires de mots: les séparateurs (ponctuation, par-
enthèses, etc.) seront comptés comme mots. On néglige les majuscules puisqu’après un
point il est facile de reconnaı̂tre qu’il y a une majuscule. Chaque mot commence par
un espace.
Chapter 6
37
38 CHAPTER 6. MESSAGES RÉPÉTÉS ET ENTROPIE
Définition 6.1 Pour chaque ε > 0 nous appellerons ensemble des “messages typiques”,
2. Card(Cn ) ≤ 2(H(p)+ε)n
Pn
Démonstration Considérons la variable aléatoire Sn = i=1 log p(Xi ) et passons au log-
arithme dans les inégalités définissant Cn . On voit que
n
X
Cn = {(x1 , ..., xn ) | −n(H(p) + ε) ≤ log p(xi ) ≤ −n(H(p) − ε)}.
i=1
Donc
1
Cn = {| Σni=1 (− log p(Xi )) − H(p)| ≤ ε}.
n
Observons que E(− log p(X)) = H(p). Cela provient directement de la définition de l’espérance
d’une variable
P aléatoire f (X) quand X est une autre variable aléatoire à valeurs dans X ,
Ef (X) = x∈X f (x)P(X = x). Ici, on l’applique à f (x) = − log p(x).
Nous pouvons appliquer l’inégalité de Tchebychev
Sn σ 2 (− log p(X))
P(| − E(− log p(X))| ≥ ε) ≤ → 0 quand n → ∞,
n nε2
ce qui nous donne
1 σ 2 (− log p(X))
P((X1 , ..., Xn ) ∈ Cnc ) = P({| Σni=1 (− log p(Xi )) − H(p)| > ε}) ≤ .
n nε2
Fixant ε et choisissant n suffisamment grand nous obtenons P(Cn ) ≥ 1 − ε.
Dans Cn les suites ont toutes plus ou moins la probabilité 2−nH(p) et, plus précisément:
X
P(Cn )) ≥ p(x1 . . . xn ) ≥ 2−n(H(p)+ε) Card(Cn ).
(x1 ...xn )∈Cn
Nous allons interpréter nH(p) comme la longueur moyenne de messages de n symboles codés
dans l’alphabet {0, 1} de manière optimale.
Démonstration Pour réaliser le codage annoncé, fixons 1 > ε > 0 et choisissons n suffisam-
ment grand pour assurer que P(Cnc ) ≤ ε et Card(Cn ) < 2n(H(p)+ε) . Donc nous pouvons coder
tous les éléments de Cn en utilisant les nombres binaires supérieurs ou égaux à 2[n(H(p)+ε)+1]
et strictement inférieurs à 2[n(H(p)+ε)+2] . Ce sont des nombres binaires qui ont tous la même
longueur [n(H(p) + ε) + 2]. Donc ils forment un code préfixe. De plus au moins un de ces
codes, m, n’est pas utilisé.
Considérons alors les codes non typiques, qui sont beaucoup plus nombreux! Leur nombre
est strictement inférieur à k n = 2n log k . Comme pour les éléments de Cn , nous pouvons les
énumérer avec des nombres binaires ayant tous la même longueur [n log k + 2]. Pour obtenir
un codage préfixe, il convient d’ajouter à tous ces nombres le préfixe m. Ainsi, nous obtenons
des codes de longueur [n log k + 2] + [nH(p) + 2].
Nous avons attribué un code à tous les éléments de X n . La longueur de chaque code
binaire de Cn est inférieure ou égale à n(H(p) + ε) + 2. La longueur des autres codes est
inférieure ou égale à n(log k + H(p)) + 4. Comme Pn (Cn ) ≤ 1 et Pn (Cnc ) ≤ ε), la longueur
moyenne Eln d’un message de n symboles avec ce codage vérifie
Eln
lim sup ≤ (1 − ε)(H(p) + ε) + ε(log k + H(p)).
n→∞ n
Maintenant il faut démontrer l’inégalité inverse, c’est-à-dire que nous ne pouvons pas coder
les messages de n symboles avec strictement moins que H(p) bits par symbole.
Lemme 6.3 Pour tout ² > 0, si n est suffisamment grand, l’espérance Eln de la longueur de
tout codage binaire h de Cn vérifie
pour n suffisamment grand. Soit h(i) un codage binaire de Cn . Pour éviter que certains des
codes commencent par des zéros, nous pouvons, pour que tous ces codes binaires distincts
deviennent des nombres binaires distincts, juxtaposer à tous les h(i) un 1 à gauche, ce qui
augmente leur longueur de 1. Supposons sans perte de généralité que les nouveaux codes
1h(i) sont ordonnés en ordre croissant. Donc 1 ≤ i ≤ N est le rang de 1h(i). Finalement
40 CHAPTER 6. MESSAGES RÉPÉTÉS ET ENTROPIE
remarquons que [log i] est la longueur de i écrit comme un nombre binaire. Comme 1h(i) ≥ i,
nous avons l(1h(i)) ≥ [log i], ce qui donne
N
X N
X N
X
πi l(h(i)) ≥ πi [log i] − 1 ≥ πi log i − 2, (6.3)
i=1 i=1 i=1
puisque [r] ≥ r − 1. On a
N
X N
X
πi log(i) ≥ (log N − k) πi . (6.4)
i=1 i=N 2−k
N
X
πi log(i) ≥ (log N − k)(1 − 22nε−k − ε) ≥ (n(H(p) − ε) − k)(1 − 22nε−k − ε).
i=1
N
1X
lim inf πi l(h(i)) ≥ (H(p) − 5ε)(1 − ε).
n→∞ n
i=1
En combinant les deux lemmes précédents, nous pouvons démontrer le résultat fonda-
mental de Shannon :
Théorème 6.1 L’espérance minimale El de la longueur par symbole d’un message émis n
fois par une source d’entropie H(p) est égal à (H(p) + ε(n)) avec ε(n) → 0 quand n → ∞.
(1)(0)(11)(00)(10)(100)(01)(111)(010)(1110)(001)(101)(010)
1) Démontrer que chacune des chaı̂nes de la décomposition s’écrit w0 ou w1 où w est une
chaı̂ne apparue antérieurement. On appelle c(n) le nombre de chaı̂nes de la suite.
42 CHAPTER 6. MESSAGES RÉPÉTÉS ET ENTROPIE
(0000, 1)(0000, 0)(0001, 1)(0010, 0)(0001, 0)(0101, 0)(0010, 1)(0011, 1)(0111, 0)(1000, 0)
(0010, 1)(0011, 1)(0101, .)
43
44 CHAPTER 7. LA COMMUNICATION SÛRE EST POSSIBLE MALGRÉ LE BRUIT
Lemme 7.1 Soit (X n , Y n ) une suite de longueur n de v.a.i.i.d. suivant la loi P({x,n , y n }) =
p(xn , y n ) = Πni=1 p(xi , yi ). Alors
1. P((X n , Y n ) ∈ Anε ) → 1 quand n → ∞.
2. Card({y n , (xn , y n ) ∈ Anε }) ≤ 2n(H(Y |X)+2ε)
3. Card({xn , (xn , y n ) ∈ Anε }) ≤ 2n(H(X|Y )+2ε)
La relation 2. indique une borne cruciale sur le nombre de messages typiques y n que peut
causer un message typique xn . Dans la démonstration qui suit et dans le reste de ce chapitre
nous écrirons 2a±ε pour indiquer un nombre quelconque b tel que 2a−ε ≤ b ≤ 2a+ε . Avec
cette notation, on a la relation 2a±ε × 2b±ε = 2a+b±2ε .
P(Bεn ) → 1 (7.4)
P(Cεn ) = P(π1 (Cεn ) × Y n ) = P1 (π1 (Cεn )) → 1 (7.5)
P(Dεn ) = P(X n × π2 (Dεn )) = P2 (π2 (Dεn )) → 1. (7.6)
7.1. TRANSMISSION DANS UN CANAL BRUITÉ 45
En effet, π1 (Cεn ) est tout bonnement l’ensemble des messages typiques pour P1 et de même
π2 (Dεn ) est l’ensemble des messages typiques pour P2 . La relation 1. se déduit alors de la
remarque générale que si des suites d’ensembles Bin , i = 1, . . . , k vérifient P(Bin ) → 1 quand
n → ∞, alors P(∩ki=1 Bin ) → 1 aussi. On applique cette remarque à l’intersection des trois
ensembles précédents,
The first defining expression has already been defined as the amount of information sent less
the uncertainty of what was sent. The second measures the amount received less the part of
this which is due to noise. The third is the sum of the two amounts less the joint entropy
and therefore in a sense is the number of bits per second common to the two. Thus, all
three expressions have a certain intuitive significance. H(Y | X) est donc interprétée comme
une mesure de la quantité de bruit, sans que l’on ait pour cela besoin de modéliser le bruit
par lui-même. Rappelons que I(X; Y ) est une formule symétrique en X et Y , que l’on ap-
pelle aussi information mutuelle, et qui est nulle si et seulement si X et Y sont indépendantes.
Définition 7.2 Nous appellerons capacité d’un canal discret sans mémoire la quantité
C = max I(X; Y ),
p(x)
où le maximum se calcule sur toutes les distributions de probabilité possibles p(x), x ∈ X en
entrée.
46 CHAPTER 7. LA COMMUNICATION SÛRE EST POSSIBLE MALGRÉ LE BRUIT
La première chose qu’il faut remarquer est que ce problème est un problème d’optimisation
dans RCard(X ) , puisque nous connaissons les valeurs de p(y|x).
Exemple 1: transmission sans bruit
Si le canal transmet intégralement une entrée binaire sans erreur, la matrice de transition est
l’identité. Alors Y = X et donc I(X; X) = H(X) − H(X|X) = H(X). Alors la capacité est
maximale quand l’entropie de la source émettrice est maximale, ce qui implique ce que nous
attendons, à savoir p(0) = p(1) = 12 et C = H(p) = 1 bit.
Exemple 2 : canal binaire symétrique
Prenons X = Y = {0, 1} et
Comme l’entropie d’une variable de Bernoulli B(p, 1−p) est H(p) = −p log p−(1−p) log(1−p),
nous obtenons
X X
H(Y )−H(Y |X) = H(Y )− p(x)H(Y |X = x) = H(Y )− p(x)H(p) = H(Y )−H(p) ≤ 1−H(p).
Il y aura égalité dans cette inégalité si et seulement si X est uniforme, puisqu’alors Y est
aussi uniforme et H(Y ) = 1. Donc C = 1 − H(p). Quand p = 12 , la capacité est nulle et le
canal ne transmet rien. Dans tous les autres cas, il y a transmission d’information.
2. De la même manière, les suites reçues forment un ensemble de suites typiques de nombre
2n(H(Y0 )±ε) et de probabilité totale supérieur à 1 − η. Nous allons appeler M0 cet
ensemble de messages typiques.
7.2. LE THÉORÈME FONDAMENTAL POUR UN CANAL DISCRET BRUITÉ 47
3. Par le lemme 7.1, propriété 3, chaque sortie typique a pu être produite par tout au plus
2n(H(X0 |Y0 )+ε) entrées.
4. De la même manière, chaque entrée typique peut produire tout au plus 2n(H(Y0 |X0 )±ε)
sorties (mais nous n’allons pas utiliser cette dernière propriété.)
Comme η a été fixé (arbitrairement petit) et, η une fois fixé, comme nous pouvons choisir
ε aussi petit que désiré pour n assez grand, nous déduisons que la probabilité d’erreur pour
chaque message est arbitrairement petite, ce qui démontre (a) pour E < C.
(c) Supposons que l’on puisse transmettre par un canal de capacité C les messages d’une
source X0 d’entropie E = C + a, avec a > 0 et que l’incertitude sur le message vérifie
H(Y0 |X0 ) = a − ε avec ε > 0. Alors H(X0 ) − H(X0 |Y0 ) = C + ε et cela contredit la définition
de C comme le maximum de H(X0 ) − H(X0 |Y0 ) pour toutes les sources en entrée.
Figure 7.1: Le schéma original de Shannon. T , le temps de transmission est ce que nous
avons appelé n. Hy (x) est dans nos notations H(X | Y ).
Actually more has been proved than was stated in the theorem. If the average of a set of
√
positive numbers is within ε of zero, a fraction of at most ε can have values greater than
√
ε. Since ε is arbitrarily small we can say that almost all the systems are arbitrarily close
to the ideal.
2) En d’autres termes presque tous les codes considérés, choisis au hasard, sont des codes qui
corrigent spontanément les erreurs! Alors, pourquoi est-il difficile en pratique de concevoir
un code correcteur d’erreurs?
Chapter 8
On considère l’espace de Hilbert hermitien L2 ([−π, π]) que l’on notera aussi L2 (−π, π). Ces
fonctions sont à valeurs réelles ou complexes. On va montrer que le système orthonormé
1
1 (eint )n∈Z
(2π) 2
est une base hilbertienne de L2 (−π, π). Cette base s’appelle la base de Fourier. On notera
Z π
1
cn (f ) = f (x)e−inx dx,
2π −π
en sorte que pour toute f dans L2 ([−π, π]) on puisse écrire
X
f (x) = cn (f )einx ,
n∈Z
49
50 CHAPTER 8. SÉRIES DE FOURIER (RÉVISION)
Démonstration i) En intégrant par parties k fois l’intégrale définissant fˆ, on obtient pour
ξ 6= 0,
Z
ˆ 1 (k) −ixξ ||f (k) ||L1
|f (ξ)| = | f (x)e dx| ≤ .
(iξ)k |ξ|k
ii) Soit fn une suite de fonctions C ∞ et à support compact qui tendent vers f dans L1
(proposition ??). On a, pour n fixé assez grand : ||fn − f ||1 ≤ ε, ce qui implique |fˆn (ξ) −
fˆ(ξ)| ≤ ε pour tout ξ. En utilisant (i), on voit que |fˆn (ξ)| → 0 quand n est fixé et |ξ| → ∞.
Donc |fˆn (ξ)| ≤ ε pour ξ assez grand. Finalement,
|fˆ(ξ)| ≤ |fˆ(ξ) − fˆn (ξ)| + |fˆn (ξ)| ≤ 2ε
pour ξ assez grand. ◦
La proposition suivante nous dit que la série de Fourier de f converge vers f (x) en tout point
x où f est suffisamment régulière.
X 1 Z π X 1 Z π
−in(z−x) inx
=( g(z)e dz) − g(x) = ( e g(z)e−inz dz) − g(x)
2π −π 2π −π
|n|≤N |n|≤N
= sN g(x) − g(x).
Donc sN g(x) → g(x). En fait, l’argument précédent montre que sN commute avec les trans-
lations :
sN [g(. + x)] = (sN g)(. + x).
Etape 2 On a
Z
1 π sin(N + 21 )y
sN f (0) = f (y) dy. (8.1)
2π −π sin y2
51
PN iky = sin(N + 12 )y
En effet, −N e sin y2 , ce qui se prouve aisément en sommant la suite géométrique.
f (y)
Etape 3 Par l’étape 1 il suffit de montrer que si f ∈ L1 (−π, π) et si y est intégrable
|y|
autour de 0, alors sN f (0) → 0. Comme sur [−π, π], |sin y2 | ≥ π , on a
f (y)
Donc on peut appliquer le lemme de Riemann-Lebesgue à la fonction sin y . On conclut que
2
l’intégrale de (8.1) définissant sN f (0) tend vers 0 quand N tend vers l’infini. ◦
Théorème 8.1 principe de localisation!généralisation (i) Soit f (x) une fonction 2π-périodique
telle que
f (x)
ix
= g(x) ∈ L1 (0, 2π).
e −1
Alors sN,M f (0) → 0 quand N, M → +∞.
(ii) Plus généralement, si x → f (x)−c 1
x−y ∈ L (0, 2π), alors sN,M f (y) → c.
1
Rπ
est une base hilbertienne de L2 (−π, π). Notant cn (f ) = 2π −π e−inx f (x)dx, on a donc pour
toute f dans L2 ([−π, π]), X
f (x) = cn (f )einx ,
n∈Z
Démonstration
PN On appelle polynôme trigonométrique toute expression de la forme P (t) =
a e ikt , où les a sont des nombres complexes. Pour montrer que le système de Fourier
k=−N k k
est une base hilbertienne, il nous suffit de montrer que c’est un système total, c’est-à-dire que
les polynômes trigonométriques forment un sous-espace vectoriel dense de L2 (−π, π). Mais
le lemme 8.1 (Principe de localisation) nous assure que si f est (e.g.) C 2 et 2π-périodique
sur R, alors sN (f )(x) → f (x) en tout point (On peut aussi utiliser directement le théorème
de Stone-Weierstrass). Comme de plus les coefficients de la série de Fourier de f vérifient
|ck (f )| ≤ kC2 , la série de Fourier est en fait uniformément convergente et donc converge aussi
dans L2 ([−π, π]) vers f . Or, les fonctions C 2 et 2π-périodiques forment un sous-espace dense
de L2 ([−π, π]). En effet, par la proposition ??, les fonctions C ∞ à support compact dans
[−π, π] sont denses dans L2 (−π, π). On conclut que le système de Fourier est total, et donc
une base hilbertienne. ◦
1
La fonction f est donc Hölderienne d’exposant 2 et le principe de localisation s’applique. ◦
l’ensemble des fonctions f ∈ L2loc (R) qui sont 2π-périodiques. Toute fonction f ∈ L2 ([−π, π])
définit un élément unique de L2 ([−π, π]).
Exercice 46 En reprenant l’argument du théorème ??, montrer que si T : L2per ([−π, π]) →
0 ([−π, π]) est linéaire, continu et commute avec les translations, alors il existe une fonction
Cper
g ∈ L2 ([−π, π]) telle que T f = g ∗ f , où ”∗” désigne la convolution périodique.‘
Donc f ∗ g est majorée et appartient aussi à L2 (−π, π). On a, en appliquant plusieurs fois le
théorème de Fubini (les intégrales se font sur [−π, π] ou, indifféremment, sur n’importe quel
intervalle de longueur 2π) :
Z Z Z Z
1 −int 1
cn (f ∗ g) = f (x − y)g(y)e dydx = f (x − y)e−in(x−y) g(y)e−iny dydx
2π 2π
Z Z
1
= ( g(y)e−iny dy)( f (u)e−inu du) = 2πcn (f )cn (g).
2π
est donc uniformément convergente. Sa F limite est donc continue. Donc d’une part FN tend
vers f ∗ g dans L2 et donc par la réciproque du théorème de Lebesgue une sous-suite tend
vers cette fonction presque partout. De l’autre FN tend vers F . On en déduit que f ∗ g = F
presque partout et on en déduit que f ∗ g est égale presque partout à une fonction continue
(et donc peut être appelée continue). ◦
fonction u la suite de ses coefficients de Fourier c(f ) = (ck (u))k∈Z . la transformée inverse est
la série de Fourier associée à c ∈ l2 (Z), notée
X
S(c)(x) = ck eikx .
k∈Z
3) En déduire que la série de Fourier tronquée de f , sN f , est obtenue par convolution 2π-
périodique de f avec ce qu’on appelle le noyau de Féjer, sN f = hN ∗ f , où
sin(N + 21 )y
hN (x) = .
sin y2
P RT −iπkt iπkx
f˜(x) =L2 n∈Z 1
2T ( −T f˜(t)e T dt)e T . Comme f˜ est paire, on voit en faisant le change-
iπkt −iπkt
ment de variables t → −t dans les intégrales que les coefficients de e T et e T sont égaux.
RT iπkt RT
On remarque aussi que −T f˜(t)e T dt = 2 0 f (t)cos( πkt T )dt. Aussi,
RT P RT −iπkt iπkx iπkx
˜ 1 ˜ 1 ˜
f (x) =L2 2T −T f (t)dt + n∈IN∗ 2T ( −T f (t)e T )(e T + e T ), et donc
R
1 T P 2
RT
f (x) =L2 f (t)dt + I
N ( 0 f (t)cos( πkt πkx
T ))cos( T ). Comme les fonctions
q T 0 n∈ T
√1 , 2 πkx 2
T T cos( T ) forment un système orthonormé de L (0, T ), l’égalité précédente exprime
qu’elles forment en fait une base hilbertienne.
(iii) Si on prolonge la fonction f en une fonction impaire sur [−T, T ] et que l’on reprend
le raisonnement précédent, on trouve la base en sinus. Cette base a la propriété, utile pour
modéliser les cordes vibrantes, que ses éléments valent 0 aux extrémités de l’intervalle.
◦
Lemme 8.2 fonction!à variables séparées Les fonctions à variables séparées, c’est-à-dire de
la forme w(x) = u(x1 )v(x2 ) avec u, v ∈ L2 (0, 2π) forment un système total de L2 ([0, 2π]2 ).
Lemme 8.3 Si uk (x) → u(x) et vl (x) → v(x) dans L2 (0, 2π), alors uk (x1 )vl (x2 ) →
u(x1 )v(x2 ) dans L2 ([0, 2π]2 ) quand k, l → +∞.
56 CHAPTER 8. SÉRIES DE FOURIER (RÉVISION)
||u(x1 )v(x2 )||L2 ([0, 2π]2 ) = ||u(x1 )||L2 ([0, 2π]) ||v(x2 )||L2 ([0, 2π]) .
||uk (x1 )v l (x2 ) − u(x1 )v(x2 )||L2 ([0, 2π]2 ) ≤ ||(uk − u)v l ||L2 ([0, 2π]2 ) + ||u(v l − v)||L2 ([0, 2π]2 ) =
||uk − u||L2 ([0, 2π]) ||v l ||L2 ([0, 2π]) + ||u||L2 ([0, 2π]) ||v l − v||L2 ([0, 2π]) .
Les deux termes de droite tendent vers zéro quand k, l → +∞. ◦
1 ik.x
Théorème 8.3 série de Fourier!sur le carré Les fonctions ek (x) = 2π e , k ∈ Z2 , forment
une base hilbertienne de L ([0, 2π]) et on a donc pour toute fonction u ∈ L2 ([0, 2π]2 ),
2
X Z
1
u= ck (u)eik.x , avec ck (u) = 2
u(x)e−ik.x dx, (8.2)
2
(2π) [0,2π]2
k∈Z
X Z
ik2 x2 1
v(x2 ) = ck2 e , ck2 = v(x1 )e−ik2 x2 .
2π [0,2π]
k2 ∈Z
En appliquant le lemme 8.3, on obtient une série double convergente dans L2 ([0, 2π]2 ), ce qui
donne (8.2) dans le cas d’une fonction séparable w(x) = u(x1 )v(x2 ) avec ck (w) = ck1 (u)ck2 (v).
Il en résulte que le système (ek )k∈Z2 est une base hilbertienne de L2 ([0, 2π]2 ) et (8.2) est donc
valide. ◦
Donc, les coefficients décroissent d’autant plus vite que f est plus régulière.
Si maintenant f présente un saut en 0, on montre que si f est C 1 sur [0, 2π] mais pas
2π-périodique, alors cn (f ) = O( n1 ). Plus précisément, si nous notons f (0+ ) la valeur en 0 par
la droite et f (2π − ) la valeur en 2π par la gauche
Z
1 2π −inx 0 f (0+ ) − f (2π − )
cn (f ) = e f (x)dx + .
in 0 in
Or on montre
P (par le lemme de Riemann-Lebesgue) que le premier terme est o( n1 ). On
sait que n≥N n12 = O( n1 ), et la décroissance des coefficients de Fourier de la fonction est
donc très lente (1000 termes pour une précision de 10−3 ), dès que la fonction présente une
discontinuité.
En ce qui concerne les coefficients de Fourier ck,l d’une “image”, c’est-à-dire une fonction
f (x, y) définie sur un carré [0, 2π] × [0, 2π], C 1 , mais pas 2π × 2π-périodique, le résultat est
1
identique. On montre que cn,m = O( nm ) et le reste (pour la norme L2 ) de la série double est
1
donc en O( nm ). Donc, pour une précision de 10−3 , il faut encore 1000 termes.
Une bonne alternative lorsque la fonction présente Rune discontinuité du type précédent
2π
consiste à utiliser la tranformée en cosinus: cn (f ) = π1 0 cosnxf (x)dx. On a, en intégrant
par parties et en remarquant que sinnx s’annule en 0 et 2π,
Z 2π
1
cn (f ) = sinnxf 0 (x)dx.
iπn 0
Puis on montre que cn (f ) = o( n1 ) par le lemme de Riemann-Lebesgue. Les coefficients de
Fourier “en cosinus” décroissent donc plus vite qu’avec la transformée de Fourier classique
et on peut donc en transmettre moins pour une qualité d’image égale. Pour transmettre une
image, on la découpe en petits carrés et on transmet une partie des coefficients de Fourier de
chaque imagette (principe utilisée par le standard JPEG). On augmente ainsi la probabilité
qu’une imagette présente une couleur homogène et soit donc régulière. L’utilisation de la
tranformée en cosinus permet donc de comprimer l’information dans les sous-carrés de l’image
où celle-ci est régulière. Par contre, les calculs précédents prouvent qu’on ne gagne rien
quand un “bord” est présent dans l’imagette. En effet, (on pourra expliciter le calcul pour
une image blanche au dessus de la diagonale et noire en dessous), un calcul du même type
1
que ci-dessus implique que les coefficients décroissent en O( nm ). C’est ce qui explique les
phénomènes de “halo” autour des objets sur un fond contrasté : le petit nombre de coefficients
transmis ne suffit pas à approcher bien l’imagette. Nous verrons au chapitre 8.4 qu’il y a une
autre raison à ceci: le phénomène de Gibbs (voir la figure 8.2). Le long des discontinuités
de l’image, apparaissent toujours des oscillations résiduelles, quel que soit le nombre de
coefficients transmis.
En conclusion, la transformée en cosinus, s’affranchissant des discontinuités aux frontières
du domaine de l’image, présente un double avantage sur la transformée de Fourier. En termes
d’économie de la représentation, elle tire mieux partie de l’eventuelle régularité de la fonction
à l’intérieur de son domaine (régularité souvent élevée dans le cas d’imagettes). De plus, elle
évite l’apparition d’oscillations résiduelles le long de ces frontières.
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 20 40 60 80 100 120 140 160
0.8
0.6
0.4
0.2
0
0 20
50 15
100 10
150 5
200 0
Figure 8.2: Illustration de l’effet de Gibbs. Gauche: l’image originale; droite: l’image après
que l’on ait tronqué ses hautes fréquences, et sur laquelle sont visibles de nombreuses oscilla-
tions. L’image de droite est obtenue en ne conservant que les fréquences dont le module est
inférieur au quart de la fréquence maximale. Le phénomène est particulièrement visible le
long des frontières du domaine de l’image (voir en particulier le côté droit) et le long des dis-
continuités de l’image. Remarquons que l’image est également devenue floue par suppression
des hautes fréquences.
62 CHAPTER 8. SÉRIES DE FOURIER (RÉVISION)
Chapter 9
Pourquoi choisir un polynôme trigonométrique ? La raison est physique : tous les dispositifs d’acquisition
de signaux (sons) ou images ont une bande passante, c’est-à-dire un intervalle de fréquences captées
par le dispositif d’enregistrement ; les autres fréquences sont perdues ou tellement atténuées qu’on
les néglige : on suppose donc que la ”bande passante” est [− N2 , N2 − 1]. Il n’y a par contre aucune
raison de supposer que le signal ou image soit périodique et d’une période qui coı̈ncide avec la fenêtre
d’observation [0, a] comme c’est le cas pour P . Cette hypothèse est donc imposée à la donnée et
provoque une distorsion qu’on a évaluée : le phénomène de Gibbs. Si en fait la fonction u dont
on possède les N échantillons n’a pas une bande de fréquence dans − N2 , N2 − 1, son interpolation
par un polynôme trigonométrique de degré N2 provoque une autre distorsion que nous allons évaluer
précisément : l’aliasage.
On va commencer par calculer les coefficients de P .
¡ 2iπ ¢ PN−1 k
Exercice 50 On pose ωN = exp N , racine N -ième de l’unité. Montrer que k=0 ωN = 0,
63
64 CHAPTER 9. LE CAS DISCRET (RÉVISION)
Les N coefficients ũn sont appelés transformée de Fourier discrète (TFD) des N échantillons
uk . On appelle transformée de Fourier discrète inverse l’application de C | N dans lui même
définie par
N
−1
2X
kn
uk = ũn ωN , k = 0, ..., N −1. (9.3)
n=− N
2
où on a noté δ la fonction définie sur les entiers, valant 1 en 0, et 0 ailleurs. L’unicité provient
du fait que toute application linéaire surjective de CN dans lui-même est aussi injective. ¤
P N2 −1 ¡ 2iπnx ¢
Corollary 4 polynôme trigonométrique Si u est un polynôme trigonométrique u(x) = n=− N
ũn exp a ,
2
les coefficients ũn sont obtenus par la formule (9.2). Ce sont les coefficients de Fourier de u.
u
uk echantillonage
TFD
ûk
TFD
Série de Fourier a c
Figure 9.1: La TFD après échantillonage calcule bien les coefficients de Fourier si la fonction
u est un polynôme trigonométrique (corollaire 4)
On rappelle d’autre part que si u ∈ L2 (0, a), les coefficients de la série de Fourier de u
sont définis, pour n ∈ Z, par
Z µ ¶
1 a −2iπnx
cn (u) = u(x) exp . (9.4)
a 0 a
Les coefficients ũn de la transformée de Fourier discrète sont approchés par les termes de
la TFD de (uk ) au sens suivant:
Proposition 9.2 Soit u continue et a-périodique. Alors les ũn sont des approximations des
cn (u) par la formule des trapèzes, pour n = −N N
2 , ..., 2 − 1.
Proposition 9.3 On suppose que les échantillons uk sont réels. Alors ũ0 et ũ− N sont réels,
2
et pour k = 1... N2 − 1, ũk = ũ−k .
1 P 1 P
Démonstration ũ0 = N k uk , et ũ− N = N (−1)k uk ; ces deux coefficients sont donc
2
réels. D’autre part
N−1 N−1
1 X kn 1 X −nk
ũ−n = uk ωN = uk ωN = ũn .
N N
k=0 k=0
¤
Remarquons le rôle particulier joué par le terme ũ− N , qui n’a pas de terme conjugué lui
2
correspondant.
Proposition 9.4 si u est un polynôme trigonométrique réel dont les fréquences sont parmi
− N2 , ..., N2 − 1, le terme ũ− N est nul.
2
0.5
−0.5
−1
0 2000 4000 6000 8000 10000 12000
300
250
200
150
100
50
0
−6000 −4000 −2000 0 2000 4000 6000
Figure 9.2: Haut: un signal correspondant à la voyelle ”Ah” (le signal représente la pres-
sion de l’air en fonction du temps); bas: module de la TFD (coefficients |ũ|, voir le texte).
On remarque que le module du spectre est symétrique, et qu’il existe trois pics importants
correspondant aux fréquences dominantes.
Tous les termes de la somme sont réels sauf le dernier, qui ne l’est que si ũ− N = 0. ◦
2
9.1.2 La dimension 2
On considère un réel a, une fonction u de R2 dans ¡ kaR, latelle
¢ que u(x + a, y + a) = u(x, y). On
fixe à nouveau un entier N , et l’on pose uk,l = u N , N . On définit la TFD des uk,l comme
la suite des coefficients, pour m, n ∈ {− N2 , ..., N2 − 1},
N−1 N−1
1 XX −mk −nl
ũm,n = uk,l ωN ωN . (9.5)
N2
k=0 l=0
Exercice 52 Montrer que la transformation ainsi définie est séparable, et que le passage des
uk,l aux ũm,n s’effectue par deux TFDs à une dimension successives.
Les¡ coefficients
¢ ¡ũkam,nlasont
¢ les seuls nombres complexes tels que, pour tout k, l ∈ {0, ..., N −1},
ka la
P N , N = u N , N . Par conséquent, la transformée discrète inverse de uk,l → ũm,n est
donnée par le calcul du polynôme aux échantillons ( ka la
N , N ), 0 ≤ k, l ≤ N −1 :
N N
−1 2 −1
ka la X
2 X
km+ln
u(k, l) = P ( , ) = ũm,n ωN .
N N N N
− 2
− 2
Proposition 9.6 Supposons que les échantillons uk,l soient réels. Alors les coefficients ũ0,0 ,
ũ0,− N , ũ− N ,0 , et ũ− N ,− N sont réels; de plus
2 2 2 2
N N
∀m, n ∈ {− + 1, ... − 1} ũm,n = ũ−m,−n
2 2
Exercice 54 A nouveau, comme en dimension 1, les coefficients (ũm,n ) correspondent aux
fréquences de l’image u, ordonnées des négatives aux positives. Plus précisément, si u ∈ L1
et que l’on définit les coefficients de la série de Fourier de u par
Z µ ¶ µ ¶
1 −2iπmx −2iπny
cm,n = 2 u(x, y) exp exp ,
4π [0, 2π]2 a a
Figure 9.3: Gauche: une image numérique de taille 256 × 256; droite: le logarithme du
module de sa TFD. Le spectre décroı̂t rapidement aux hautes fréquences (rappelons que
l’image étant bornée, son spectre est dans L2 ). En pratique, la grande vitesse de décroissance
du spectre rend nécessaire l’utilisation du logarithme pour la visualisation. La symétrie
centrale du module de la TFD est visible. Les lignes horizontales et verticales correspondent
aux bords verticaux et horizontaux respectivement. Remarquer également les lignes obliques
qui correspondent aux bords obliques de l’image (voir en particulier les dalles sur le sol). Les
droites horizontales et verticales sont également dues aux fortes discontinuités présentes aux
frontières du domaine de l’image (rappelons que celle-ci est périodisée pour le calcul de son
spectre).
9.1. TRANSFORMÉE DE FOURIER DISCRÈTE, APPLICATIONS 69
régulier (C 2 par exemple) sur [0, a/2], on peut le rendre pair en posant u(−x) = ṽ(x) pour
x ∈ [−a/2, 0], u(x) = v(x) sur [0, a]. On voit que la a-périodisée de cette extension u reste
Lipschitz et C 2 par morceaux et on peut en déduire (exercice !) que la série des coefficients
de Fourier de u est convergente. On suppose également, ce qui est réaliste, qu’un signal u
n’est en fin de compte connu que par ses échantillons sur [0, a], u(0), ..., u( N−1
N a).
P
Théorème 9.1 Soit u définie sur [0, a], vérifiant n |cn (u)| < +∞. Shannon !théorème
discret de Alors la transformée de Fourier discrète de u est la N -périodisée de la suite des
coefficients de Fourier de u :
+∞
X N N
ũn = cn+qN (u), n = − , ..., − 1. (9.6)
q=−∞
2 2
2iπ
Démonstration On rappelle la notation ωN = e N et (ωN )N = 1. Comme
X 2imπx
u(x) = cm (u)e a ,
m∈Z
on a
ka X
mk
u( )= cm (u)ωN .
N
m∈Z
On pose pour m ∈ Z, m = qN + n, − N2 ≤ n ≤ N
2 − 1. En regroupant les termes de la série
de Fourier on obtient
−1N Ã +∞
!
ka X
2 X
nk
u( ) = cn+qN (u) ωN , k = 0, ..., N −1.
N N q=−∞
n=− 2
Ces deux dernières formules définissent toutes deux la transformée de Fourier discrète et par
identification on obtient la formule de ”repliement de spectre” (9.6).
◦
Ce théorème va nous permettre d’interpréter les effets de moiré visibles dans beaucoup
d’images digitales ou de films digitalisés (DVD). Ces effets de moiré sont dûs à un ”repliement
de spectre”, ou ”aliasage”. Le repliement de spectre provient d’un sous-échantillonnage
abusif. Le terme aliasage se réfère à la présence des coefficients parasites cn+qN , pour q 6= 0
dans le calcul du coefficient de la fréquence n, ũn . Quand la transformée de Fourier discrète
fait correctement son travail, qui est de retrouver le coefficient cn de la fréquence n de u,
on doit avoir ũn = cn . Les coefficients cn+qN qui s’y ajoutent dans (9.6) sont des répliques,
ou ”alias” de coefficients correspondant aux fréquences plus grandes n + qN , q 6= 0. D’où le
terme d’aliasage.
70 CHAPTER 9. LE CAS DISCRET (RÉVISION)
Corollary 5 Soit (vk ) = S2 ((uk )) (on suppose que N2 est pair). Alors (ṽn ), la transformée
de Fourier Discrète de (vk ), s’écrit, pour n = − N4 , ..., N4 − 1,
le deuxième terme étant par ailleurs nul si n < 0 et le troisième étant nul si n ≥ 0.
Remarquons que si n ≥ 0 cela donne ṽn = ũn + ũn− N , l’autre coefficient étant nul. De même,
2
si n < 0, on obtient ṽn = ũn + ũn+ N .
2
◦
Cette proposition indique que le spectre du signal sous-échantillonné d’un facteur deux
s’obtient en superposant à lui-même le spectre du signal original avec un décalage de N2 .
On dit qu’il y a repliement de spectre. Ainsi, le spectre du signal sous-échantillonné con-
tient généralement des informations non présentes dans le spectre du signal de départ, ce qui
se traduit sur le signal sous-échantillonné par l’apparition de structures périodiques n’ayant
pas de lien direct avec le contenu du signal. Ceci est particulièrement frappant dans le cas
des signaux bi-dimensionnels, pour lesquels on a un résultat identique à celui de la proposi-
tion 5. Nous montrons deux exemples d’images sous-échantillonnées aux figures 9.1.3 (image
synthétique) et 9.1.3, exemple où l’apparition de structures périodiques est dûe à la super-
position, lors du sous-échantillonnage, des hautes fréquences de l’image. La manipulation
numérique à faire pour créer des effets de moiré dans une image est aussi simple que son in-
terprétation est subtile : il suffit de prendre ”un point sur deux” de l’image. L’interprétation
de l’opération se fait en Fourier : on a créé de basses fréquences parasites en cn qui corre-
spondent au ”repliement” de hautes fréquences cn+ N . D’où l’apparition de sinusoı̈des qui
2
n’ont rien à voir avec le signal original et qui créent des effets de moiré.
Le résultat de la proposition 5 se généralise dans le cas d’un sous-échantillonnage d’ordre
plus élevé, comme le montre la proposition suivante:
9.1. TRANSFORMÉE DE FOURIER DISCRÈTE, APPLICATIONS 71
Figure 9.4: Exemple de repliement avec une image synthétique. En haut à gauche: image
originale, à droite son spectre. En bas à gauche: l’image sous-échantillonnée d’un facteur
deux dans chaque direction, à droite le spectre correspondant. Le spectre de l’image sous-
échantillonnée est obtenu en périodisant le spectre de l’image originale avec pour période le
carré visible en surimpression.
Proposition 9.7 Soit (vk ) = Sp ((uk )) (on suppose que N = pM , pour un certain entier
M ). Alors (ṽk ), la transformée de Fourier discrète de (vk ), s’écrit, pour k = 1...M − 1,
p−1
X
ṽk = ũk+ aN . (9.8)
p
a=−p+1
On peut comparer les propositions 5 et 9.7 au théorème 9.1. Le théorème 9.1 nous
donne notamment les conditions générales de Shannon et Whittaker pour qu’un signal soit
correctement échantillonné : ces conditions sont que le spectre soit borné (nombre fini N de
coefficients de Fourier) et que l’on dispose d’au moins N échantillons. Les propositions 5 et 9.7
sont plus pratiques : elles ne donnent aucune hypothèse sur le signal qui a été échantillonné
et ont l’avantage de s’appliquer à un signal discret, quelconque, qu’il soit ou non issu d’un
bon échantillonnage.
Figure 9.5: Sous-échantillonnage et repliement: le cas d’une image mal échantillonnée. Pour
les images (a), (b), (c), (d), le principe est le même que dans la figure 9.1.3, mais le détail de
la transformation du spectre est plus difficile à suivre ! les effets du repliement (aliasing en
anglais) sont particulièrement visibles sur les yeux de la mouche, image (c), qui présentent
des oscillations à basse fréquence. Les structures quasi-périodiques de l’image originale sont
visibles sous formes de taches et de filaments sur le spectre (b). Le repliement est dû à la
présence de ces structures aux hautes fréquences: la TFD de l’image originale n’est pas nulle
en dehors du carré visible en surimpression figure (b). Ce type d’effet de moiré est visible
dans de nombreux DVD commerciaux.
9.1. TRANSFORMÉE DE FOURIER DISCRÈTE, APPLICATIONS 73
(a) Image obtenue par TFD inverse (b) Image obtenue en mettant à zéro
de b les hautes fréquences de 9.1.3-a
Figure 9.6: Une solution possible pour éviter les effets de repliement illustrés sur la figure
9.1.3. L’image (a) est l’image dont le spectre est le même que celui de l’image 9.1.3-(a)
à l’intérieur du carré, et est nul à l’extérieur (filtrage passe-bas). L’image (c) est l’image
sous-échantillonnée correspondante. On observe que l’effet de repliement a disparu.
74 CHAPTER 9. LE CAS DISCRET (RÉVISION)
R(X) = a2k+1 X k .
k=0
Alors µ³ ´2 ¶ µ³ ´ ¶
2
k k k k
P (ωN ) =Q ωN + ωN R ωN . (9.9)
¡ k ¢2
Or, si N est pair les ωN sont exactement les racines d’ordre N2 de l’unité. Il suffit donc
d’évaluer les deux polynômes Q et R aux racines d’ordre N2 de l’unité ce qui est un problème
d’ordre N2 . On a donc, en tenant compte des additions et multiplications demandées par
(9.9), µ ¶
N
T (N ) = 2T + 2N.
2
On en tire aisément T (N ) = O(N log(N )).
Remarque 9.1 Les programmes usuels de calcul numérique ne calculent pas les coefficients
ũn , mais les coefficients ûn , définis par la formule suivante, pour n = 0, ..., N −1:
½
ũn si n = 0... N2 − 1
ûn = . (9.10)
ũn−N si n = N2 , ..., N
N N N N
ṽn = ũn si − ≤n≤ − 1, ṽn = 0 si n ∈ [−N, − − 1] ∪ [ , N − 1]. (9.11)
2 2 2 2
Proposition 9.8 zoom discret par Fourier Le signal v dont la TFD est donnée par la formule
(9.11) vérifie v2k = uk , pour k = 0, ..., N −1.
9.1. TRANSFORMÉE DE FOURIER DISCRÈTE, APPLICATIONS 75
Démonstration On a
N
N−1 −1
X X
2
2nk nk
v2k = ṽn ω2N = ũn ωN = uk .
−N −N
2
2nk = ω nk .
En effet, ω2N ¤
N
Remarque 9.2 Ce résultat est évident sans démonstration : en effet, on peut considérer
l’unique polynôme trigonométrique de degré N2 passant par les échantillons uk . Les échantillons
vk s’interprètent immédiatement comme des échantillons de ce même polynôme.
Remarque 9.3 On remarquera que les signaux obtenus par cette méthode peuvent être com-
plexes, même lorsque le signal original est réel (ceci étant dû au terme d’aliasage u− N ).
2
La méthode se généralise aux cas des images. Nous considérons une image numérique
(uk,l ), et nous définissons une image zoomée (vi,j )i,j=0, ..., 2N−1 comme étant la transformée
de Fourier discrète inverse de ṽi,j définie pour i, j = −N, ..., N −1 par
N N
ṽm,n = ũm,n si − ≤ m, n ≤ − 1, ṽm,n = 0 sinon. (9.12)
2 2
La figure 9.7 montre la partie réelle d’une partie de l’image 9.3 zoomée par TFD, ainsi que
par réplication des pixels (chaque pixel est remplacé par quatre pixels de la même valeur). On
remarque que le zoom par TFD produit une image bien plus régulière, et évite l’effet “marche
d’escalier” visible sur l’image zoomée par réplication. La figure 9.8 illustre ce point sur un
détail. Une autre remarque concerne l’effet de Gibbs (cf. paragraphe 8.4). Ce phénomène
produit des rebonds le long de la frontière du domaine de l’image. En effet, et comme nous
l’avons déjà mentionné, le calcul des coefficients de Fourier de l’image (dont les coefficients
de la TFD sont une approximation) suppose l’image périodique, ce qui fait apparaı̂tre des
discontinuités le long des frontières de son domaine de définition. Le phénomène de Gibbs
est également visible le long des discontinuités dans l’image, les contours. Le phénomène
est mis en évidence sur la figure 9.7. Expliquons pourquoi le phénomène apparaı̂t dans le
cas du zoom: une nouvelle image vk,l de taille 2N × 2N est obtenue en utilisant les valeurs
prises par le polynôme P (x) entre les points dont on dispose au départ. Cette utilisation
de P fait apparaı̂tre les oscillations qui étaient invisibles dans le cas de l’image de départ
puisqu’il y avait interpolation des (uk ). Comme nous l’avons déjà évoqué, les oscillations aux
frontières du domaine de l’image peuvent être supprimées par utilisation de la transformée en
cosinus. En revanche, le problème subsistera le long des discontinuités présentes à l’intérieur
de l’image.
PSfrag replacements
a
b
PSfrag replacements
a
b
Figure 9.7: Zoom sur une partie de l’image 9.3. Haut: zoom par TFD, bas: zoom par
réplication des pixels. Le zoom par TFD est obtenu en prolongeant par des zéros le spectre de
l’image initiale. Celui par réplication des pixels en remplaçant chaque pixel par quatre pixels
de la même valeur. Remarquons tout d’abord la plus grande régularité du zoom par TFD,
qui supprime les effets de “blocs” très visibles sur le zoom par réplication. En contrepartie,
le phénomène de Gibbs (voir paragraphe 8.4) est très visible sur le zoom par TFD, puisque
l’on a mis à zéro brutalement des coefficients de la TFD. Ce phénomène est particulièrement
visible le long des frontières de l’image, qui correspondent à des discontinuités puisque l’image
est périodisée (par exemple zone a), et des contours des objets (par exemple zone b).
9.1. TRANSFORMÉE DE FOURIER DISCRÈTE, APPLICATIONS 77
Figure 9.8: détails après zoom, à gauche par TFD, à droite par réplication des pixels.
En translatant de α, on obtient
N
−1
X
2
2iπnα 2iπnx
τα P (x) = P (x − α) = ũn e− a e a .
−N
2
On a donc :
Cette méthode de translation se généralise sans mal au cas des images, en remarquant
qu’une translation à deux dimensions peut se décomposer en deux translations, une selon les
lignes et une selon les colonnes.
La rotation Décrivons maintenant une méthode pour implémenter une rotation discrète,
due à L. Yaroslavsky. En bref, cette méthode réduit une rotation à des translations en ligne
ou en colonne de l’image. Commençons par remarquer que
µ ¶ µ ¶µ ¶µ ¶
cos(θ) sin(θ) 1 tan( θ2 ) 1 0 1 tan( θ2 )
R(−θ) := = := T (θ)S(θ)T (θ)
−sin(θ) cos(θ) 0 1 −sin(θ) 1 0 1
(9.13)
78 CHAPTER 9. LE CAS DISCRET (RÉVISION)
Figure 9.9: Rotation de π/4 par TFD. La rotation est implémentée en remarquant qu’elle
peut se décomposer en trois transformations consistant en des translations selon les lignes ou
les colonnes de l’image (formule 9.13). Chacune de ces transformations est ensuite effectuée
grâce à une TFD sur la ligne ou colonne considérée, en utilisant la méthode présentée au
paragraphe précédent.
Remarque 9.4 Cette méthode présente un défaut. En effet, du fait que l’on manipule des
fonctions périodiques, une translation conduit à faire sortir une partie de l’image par un bord
pour la faire entrer par l’autre. Ce qui conduit à l’apparition, sur les bords de l’image d’un
certain nombre de détails qui sont en fait mal placés. On se débarrasse facilement de ce
9.1. TRANSFORMÉE DE FOURIER DISCRÈTE, APPLICATIONS 79
Figure 9.10: Bas: après douze rotations successives de π/4 par TFD; haut: même expérience
en utilisant une interpolation bilinéaire (la valeur en un nouveau point (x, y) est obtenue
par combinaisons linéaires des valeurs aux quatre points à coordonnées entières de l’image
originale les plus proches de (x, y)).
80 CHAPTER 9. LE CAS DISCRET (RÉVISION)
Mais, si on lui applique une ”translation” suivant l’axe des x de valeur λy, la formule devient
N−1
X π
u1 (x, y) = ci,j e2i N (kx+(l−λk)y) .
k,l=0
Figure 9.11: Haut: les deux images de départ; bas: les deux images après échange des
phases de leurs TFD. L’information géométrique est contenue dans la phase ! Les formes
sont principalement codées dans l’argument des coefficients de Fourier de l’image. Bien que
les images (a) et (c) d’une part, et (b) et (d) d’autre part, aient des modules complétement
différents, on y distingue les mêmes formes géométriques. Remarquons également que les
directions horizontales et verticales très présentes sur l’image (a) apparaissent sous forme de
texture dans l’image (c). Cette remarque est précisée par l’expérience de la figure 9.12.
82 CHAPTER 9. LE CAS DISCRET (RÉVISION)
Figure 9.12: Haut: deux images de textures; bas: les deux images après remplacement des
phases de leurs TFD par des phases aléatoires. Une information essentielle sur la texture
est donc présente dans le module des coefficients de Fourier de l’image. Pour la texture de
gauche, il semble que la plupart de l’information soit contenue dans le module de la TFD.
A droite, quelques aspects de la texture sont perdus. Nous renvoyons le lecteur intéressé à
un article (en anglais) sur une méthode de synthèse de texture par modification de la phase:
[Van Wijk]
9.2. LIEN AVEC LA THÉORIE DE SHANNON 83
Remarque 9.6 Ce théorème complète le théorème de Shannon pour un signal qui est ni
périodique ni dans L2 .
Démonstration
il suffit de démontrer le résultat dans le cas d’une seule onde. Soit donc
f (t) = e2iπλt , λ ∈ R.
1
¡ 1 1¢
Soit g périodique de période a et égale à f sur − 2a , 2a . les coefficients de Fourier de f sont
asin πa (λ − na)
cn = .
π(λ − na)
Donc
+∞
X sin π (λ − na)
g(t) = π
a
e2iπnat .
−∞ a (λ − na)
¤ 1 1
£ ¤ 1 1£
Comme f est C1 sur − 2a , 2a , Cette égalité est ponctuelle pour t ∈ − 2a , 2a (principe
de localisation). D’où
+∞
X sin πa (λ − na) 1
∀λ ∈ R, e2iπλt = e2iπnat π , |t| < .
n=−∞ a (λ − na) 2a
En intervertissant λ et t, on obtient
+∞
X sin πa (t − na) 1
∀t ∈ R, e2iπλt = e2iπnaλ π , |λ| < .
n=−∞ a (t − na) 2a
84 CHAPTER 9. LE CAS DISCRET (RÉVISION)
Chapter 10
Figure 10.1: Une photo de fleur compressée en JPEG, avec des compressions de plus en plus
fortes, de gauche à droite.
Dans ce chapitre, la norme JPEG est décrite en détail sous ses aspects DCT, quantification,
codage, compression avec ou sans perte. Ce chapitre reprend, avec quelques précisions, l’article de
Wikipedia
[Link] JPEG.
10.1 Introduction
La norme JPEG est une norme qui définit le format d’enregistrement et l’algorithme de décodage
pour une réprésentation numérique compressée d’une image fixe. JPEG est l’acronyme de Joint
Photographic Experts Group. C’est un comité d’experts qui édite des normes de compression pour
l’image fixe. La norme communément appelée JPEG est le résultat de l’évolution des travaux qui ont
débuté dans les années 1978 à 1980 avec les premiers essais en laboratoire de compression d’images.
Le groupe JPEG qui a réuni une trentaine d’experts internationaux, a spécifié la norme en 1991.
Mais la norme officielle et définitive n’a été adoptée qu’en 1992. La norme dont nous allons parler est
85
86 CHAPTER 10. LA COMPRESSION DES IMAGES ET LA NORME JPEG
basée sur la DCT. Une norme plus récente, JPEG 2000, est basée sur la transformée en ondelettes,
qui généralise la transformée de Fourier. JPEG normalise uniquement l’algorithme et le format de
décodage. Le processus d’encodage est laissé libre à la compétition des industriels et universitaires,
du moment que l’image produite est décodable par un décodeur standard. La norme propose un jeu
de fichiers de tests appelés fichiers de conformance qui permettent de vérifier qu’un décodeur respecte
bien la norme. Un décodeur est alors dit conforme s’il est capable de décoder tous les fichiers de
conformance. JPEG définit deux classes de processus de compression : avec pertes ou compression
irréversible. C’est le JPEG “classique”. Il permet des taux de compression de 3 à 100. Le second est
le processus sans pertes ou compression réversible. Il n’y a pas de perte d’information et il est donc
possible de revenir aux valeurs originales de l’image. Les gains en terme de compression sont alors
plus modestes, avec un taux de compression de l’ordre de 2. Cette partie fait l’objet d’une norme
spécifique: JPEG-LS.
Découpage en blocs
Le format JPEG, comme le font généralement les algorithmes de compression à perte, commence
par découper l’image en blocs ou carreaux généralement carrés de 64 (8 x 8) ou 256 (16 x 16) pix-
els. L’utilité de ces petits blocs est que les chances augmentent que le bloc soit homogène, et donc
facilement résumable en quelques coefficients de Fourier.
d’une image grise (image noir et blanc), comme R = G = B, on a U = V = 0, ce qui veut dire que
l’image n’a pas de chrominance, mais seulement une luminance. Plus précisément,
Y 0, 299 0, 587 0, 114 R
U = −0, 147 −0, 289 0, 436 G .
V 0, 615 −0, 515 0, 100 B
Remarquer que la somme des coefficients des deux dernières lignes est nulle. La compression va
traiter sommairement les composantes U, V et va être plus fidèle pour la composante Y , qui contient
l’information géométrique de l’image.
Sous-échantillonnage
La façon la plus simple d’exploiter la faible sensibilité de l’oeil à la chrominance est simplement de
sous-échantillonner les signaux de chrominance. Généralement on utilise un sous-échantillonnage de
type 2h1v ou 2h2v. Dans le premier cas (le plus utilisé) on a un sous-échantillonnage 2:1 horizontale-
ment et 1:1 verticalement, dans le deuxième cas on a un sous-échantillonnage 2:1 horizontalement et
verticalement. Ces sous-échantillonnages sont utilisés pour les chrominances, pour la luminance on
n’utilise jamais de sous-échantillonnage.
Dans les deux cas, la constante vaut C(m) = √12 pour m = 0 et m = 1 sinon. Pourquoi la DCT plutôt
que la DFT (discrete Fourier transform)? On rappelle que la DCT est en fait une DFT appliquée
à une image quatre fois plus grande obtenue en symétrisant l’image par rapport à ses cotés gauche
et bas et par rapport à son coin bas et gauche. Cette nouvelle image reste continue quand on la
périodise. Ainsi, l’analyse de Fourier s’applique à une image vraiment périodique, ce qui évite les forts
coefficients de Fourier associés aux discontinuités produites par une périodisation directe.
Pour illustrer la compression, a été repris un exemple complet provenant de “Digital Images
Compression Techniques” de Majid Rabbani et Paul W. Jones. Matrice (bloc de pixels) de base :
139 144 149 153 155 155 155 155
144 151 153 156 159 156 156 156
150 155 160 163 158 156 156 156
159 161 162 160 160 159 159 159
f =
159 160 161 162 162 155 155 155
161 161 161 161 160 157 157 157
162 162 161 163 162 157 157 157
162 162 161 161 163 158 158 158
88 CHAPTER 10. LA COMPRESSION DES IMAGES ET LA NORME JPEG
Le calcul d’une DCT est l’étape qui coûte le plus de temps et de ressources dans la compression et
la décompression JPEG, mais c’est peut-être la plus importante car elle permet de séparer les basses
fréquences et les hautes fréquences présentes dans l’image. Remarquer que les coefficients grands se
concentrent dans les fréquences basses.
Quantification
La quantification est l’étape dans laquelle on perd réellement des informations (et donc de la qualité
visuelle), mais c’est celle qui fait gagner beaucoup de place (contrairement à la DCT, qui ne compresse
pas). La DCT a retourné, pour chaque bloc, une matrice de 8×8 nombres (dans l’hypothèse que les
blocs de l’image font 8×8 pixels). La quantification consiste à diviser cette matrice par une autre,
appelée matrice de quantification, et qui contient 8×8 coefficients savamment choisis par le codeur.
Le but est ici d’atténuer les hautes fréquences, c’est-à-dire celles auxquelles l’oeil humain est très
peu sensible. Ces fréquences ont des amplitudes faibles, et elles sont encore plus atténuées par la
quantification (les coefficients sont même ramenés à 0). Voici le calcul permettant la quantification :
µ ¶
F (u, v) + b Q(u,v) c F (u, v)
F ? (u, v) =: b 2
c ' entier le plus proche de ,
Q(u, v) Q(u, v)
avec bxc désignant l’entier directement inférieur à x. Et pour la quantification inverse :
79 0 −1 0 0 0 0 0
−2 −1 0 0 0 0 0 0
−1 −1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
F =:
?
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Codage RLE
(Voir [Link] L’étape suivante demande un run-length
encoding, en français codage par plages. C’est un algorithme élémentaire de compression de données
en informatique que nous allons expliquer maintenant.
Le RLE s’applique essentiellement à des documents scannés en noir et blanc : au lieu de coder un
bit par point, on dispose d’un compteur en général sur un octet indiquant combien de points blancs
ou noirs se suivent. Comme il est rare de ne pas avoir au moins 8 pixels noirs ou 8 pixels blancs qui
se suivent, et que 256 ne sont pas rares sur les endroits vierges ou les à-plats noirs, le système a bien
pour effet une compression. S’il y a plus de 256 bits de la même couleur, on peut placer ensuite un
octet spécifiant 0 bit de la couleur opposée, puis coder le nombre de bits qui restent...
Par exemple, considérons un écran de texte noir sur fond blanc. Il sera constitué de longues
séquences de pixels blancs pour le fond, et de courtes séquences de pixels noirs pour le texte. Représentons
une ligne d’un tel écran, avec B pour les pixels noirs et W pour les pixels blancs :
vvvvvvvvvvvvbvvvvvvvvvvvvvvbbbvvvvvvvvvvvvvvvvvvvvvvvbvvvvvvvvvvv
Un encodage RLE consiste alors à indiquer pour chaque suite de pixels d’une même couleur, le
nombre de pixels de cette séquence. Le résultat comporte en général moins de caractères, bien que ce
ne soit pas une obligation. On obtient par exemple pour la ligne précédente :
12v1b14v3b23v1b11v,
tandis que :
vbvbvbvbvb
donnerait
1v1b1v1b1v1b1v1b1v1b,
Ce résultat est ensuite compressé avec un RLE basé sur la valeur 0 (le codage RLE intervient unique-
ment sur cette dernière), puis un codage entropique de type Huffman ou arithmétique qui utilise le
fait que la distribution des valeurs de la DCT est concentrée autour de quelques valeurs autour de 0,
donc une distribution discrète à entropie faible. Avec le schéma de codage très simplifié suivant on
remarque que le codage nous délivre deux tables (quatre pour une image couleur). Ces tables étant
enregistrées dans le fichier final peuvent être choisies par le compresseur.
La décompression JPEG
Les étapes de la décompression s’effectuent dans l’ordre inverse de la compression suivant les méthodes
définies précédemment (en même temps que la compression). Voici dans notre exemple le résultat de
la décompression :
10.3. JPEG, CODAGE SANS PERTES 91
144 146 149 152 154 156 156 156
148 150 152 154 156 156 156 156
155 156 157 158 158 157 156 155
160 161 161 162 161 159 157 155
163 163 164 164 162 160 158 156
163 163 164 164 162 160 158 157
160 161 162 162 162 161 159 158
158 159 161 161 162 161 159 158
Ainsi que la matrice d’erreur :
−5 −2 0 1 1 −1 −1 −1
−4 1 1 2 3 0 0 0
−5 −1 3 5 0 −1 0 1
−1 0 1 −2 −1 0 2 4
−1 0 1 −2 −1 0 2 4
−2 −2 −3 −3 −2 −3 −1 0
2 1 −1 1 0 −4 −2 −1
4 3 0 0 1 −3 −1 0
Les erreurs sont au maximum de 5 et en moyenne 1,6 sur environ 150 ce qui nous donne une erreur
moyenne d’environ 1, et tout cela pour un passage de 64 à 10 valeurs (avec le caractère de fin) ; à cela
il faut rajouter la matrice de quantification, mais comme généralement on compresse de gros fichiers,
elle n’influence que peu.
Ensuite on fait un codage de Huffman de la séquence des différences ũ(i, j) − u(i, j). Pour démarrer
la prédiction, les valeurs u(1, 1), u(1, 2) et les premières valeurs de chaque ligne u(k, 1) sont gardées
telles quelles.
Exercice 55 1) Récupérer sur le web un code public JPEG, de préférence en Matlab, et commenter
en détail chaque partie, en particulier, discuter la partie ”lossless” (compression sans perte) dans son
lien avec la théorie du codage de Shannon, et la partie compression avec perte, dans son lien avec
l’analyse de Fourier et le filtrage.
92 CHAPTER 10. LA COMPRESSION DES IMAGES ET LA NORME JPEG
2) Appliquer JPEG à plusieurs images avec des taux de compression allant de faible à très fort et
discuter la qualité visuelle des images.
Ondelettes de Malvar-Wilson et
segmentation de la voix
Montrer que
N −1
1 n2 X 1 π
ṽn = ω2N ul cos(n(l + ) ), n = −N, ..., N − 1.
N 2 N
l=0
n
2) Vérifier que ṽn = ṽ−n ω2N et ṽ−N = 0.
ṽ0
3) En déduire que la transformation u = (u0 , . . . , uN −1 ) → ( √ 2
, ṽ1 , . . . , ṽN −1 ) est une isométrie, à
un facteur près que l’on précisera. On pourra commencer par vérifier que la transformée de Fourier
discrète est une isométrie à un facteur multiplicatif. Pour cela: vérifier que sa matrice est propor-
tionnelle à une matrice unitaire. On rappelle qu’une matrice unitaire U est une matrice telle que
U t U = Id.
PN −1
4) Dans la suite, on pose, pour 1 ≤ n ≤ N − 1, w̃n = √1N l=0 (ul cosn(l + 21 ) N π
) and w̃0 =
P N −1
√1
2N l=0 ul . Déduire de la question précédente que l’application u → w est aussi une isométrie. On
l’appelle ”transformée en cosinus discrète” (DCT).
5) Montrer sans calcul que la transformation inverse de la DCT est donnée par
N −1
1 X 1 π 1
ul = √ w̃n cos(n(l + ) ) + w̃0 √ .
N n=1 2 N 2N
q
2
Exercice 58 Montrer que la suite uk (t) = π cos(k + 12 )t, k ∈ IN , est une base orthonormée de
L2 (0, π). Indication : considérer l’espace E des fonctions 4π-périodiques, paires, et vérifiant f (2π−t) =
−f (t) et écrire le développement de Fourier de ces fonctions. Remarquer ensuite que ces fonctions
sont entièrement déterminées par leur restriction à [0, π].
93
94CHAPTER 11. ONDELETTES DE MALVAR-WILSON ET SEGMENTATION DE LA VOIX
1 π 1
uj,k (x) = p cos(k(x − aj ) )11[aj ,aj−1 ] , 1 ≤ k ≤ lj − 1 et uj,0 (x) = p 11[aj ,aj−1 ] , j ∈ Z (11.1)
lj lj 2lj
4) Montrer en utilisant la partition de l’unité précédente et la DCT que tout signal de l2 (Z) peut
s’écrire sous la forme
X X kπ
u= cj,k wj (x)cos 0 (x − a0j ),
0
lj
j∈Z 0≤k≤lj −1
orthogonale de l2 (Z).
Pour restaurer l’orthogonalité, on a besoin d’une construction du type précédent, mais un peu
plus sophistiquée. On appelle ondelettes de Malvar les fonctions uj,k (x), j ∈ Z, 0 ≤ k ≤ lj − 1 définies
par
s µ ¶
2 1 x − aj
uj,k (x) = wj (x)cos π(k + )( ) . (11.5)
lj 2 lj
6) Comparer la forme des ondelettes de Malvar à la base orthonormale de l2 (Z) donnée par (11.1).
La démonstration du théorème va se faire en deux étapes que ce problème va détailler :
(I) Décomposer l2 (Z) en une somme d’espaces orthogonaux Ej de dimension lj .
(II) Vérifier que pour chaque j les fonctions uj,k , 0 ≤ k ≤ lj − 1, forment une base orthonormée de
Ej .
Définissons Ej . Soit Fj l’espace des fonctions g ∈ l2 (Z) nulles hors [aj − ηj , aj+1 + ηj+1 ] et
vérifiant
g(aj + t) = g(aj − t) si |t| ≤ ηj (11.6)
g(aj+1 + t) = −g(aj+1 − t) si |t| ≤ ηj+1 (11.7)
donc de vérifier leur orthonormalité. Pour montrer l’orthogonalité, utiliser les identités 2cosa cosb =
cos(a − b) − cos(a + b), puis
X · ¸
π 1
cos m(x + ) = 0 si 1 ≤ m ≤ 2N − 1.
N 2
0≤x<N
P π 1
Cette dernière identité s’obtient en calculant 0≤x<N ei N m(x+ 2 ) .
15) Déduire des questions précédentes que le résultat (II) est juste.
Il nous faut maintenant montrer que si f ∈ l2 (Z) est orthogonale à tous les Ej , alors elle est nulle.
16) Commencer par vérifier que si x0 ∈ [aj + ηj , aj+1 − ηj+1 ], alors la fonction égale à 1 en x0 et à 0
ailleurs appartient à Ej . En déduire que f est nulle sur ces intervalles.
17) En utilisant des fonctions adéquates dans Ej et Ej+1 , montrer que si on pose x = aj + t et
x0 = aj − t, où |t| ≤ ηj , t − 12 ∈ Z, alors on a
f (x)wj (x) + f (x0 )wj (x0 ) = 0 et f (x)wj−1 (x) − f (x0 )wj−1 (x0 ) = 0.
Exercice 60 Commentaire dirigé de l’article Entropy-based Algorithms for Best Basis Selection, de
Ronald R. Coifman et Mladen V. Wickerhauser
1) Lire l’article.
2) Etablir le lien entre les fonctions Si,k introduites dans la page 2 de l’article et les ondelettes de
Malvar-Wilson telles qu’elles sont décrites dans le problème précédent.
3) Démontrer la relation additive donnée page 4 de l’article que les auteurs commentent en disant
This Shannon’s equation for entropy ....
4) Démontrer la première proposition de la page 4 concernant la dimension d’un vecteur.
5) Démontrer la deuxième proposition de la page 4, concernant la relation entre dimension d’un vecteur
et concentration de ses coefficients.
6) Développer la preuve de la dernière proposition, qui justifie l’algorithme de meilleure base. La
preuve donnée est-elle correcte? Avez-vous une opinion sur l’algorithme proposé: trouve-t-il vraiment
la meilleure base de Malvar-Wilson?
97
Conseils de lecture :
Claude E. Shannon et Warren Weaver The mathematical theory of communication University of Illi-
nois Press 1998.
Thomas M. Cover et Joy A. Thomas Elements of Information Theory, Wiley Series Telecommunica-
tions, (chapitres 2, 5 et 8), 1991.
Pierre Brémaud Introduction aux probabilités, Springer.
J.M. Bony, Cours d’Analyse de l’Ecole Polytechnique, Ecole Polytechnique, 1994 (polycopié).
J.M. Bony, Cours de Méthodes Mathématiques pour les Sciences Physiques, Ecole Polytechnique,
(1997). (polycopié).
C. Gasquet et P. Witomski, Analyse de Fourier et applications, Masson (1995).
S. Mallat, A Wavelet Tour of Signal Processing, Academic Press, (1997).
S. Mallat, Une exploration des signaux en ondelettes, Editions de l’Ecole Polytechnique, 2000.
S. Mallat Traitement du Signal, polycopié de la Majeure de Mathématiques Appliquées, Ecole Poly-
technique, 1998.
Y. Meyer, Wavelets, Algorithms and Applications, SIAM (1993), translated and revised by Robert
Ryan.
Y. Meyer, Ondelettes et Algorithmes concurrents. Hermann, Paris (1992).
Y. Meyer, cours de DEA ondelettes (1994-1997 (manuscrits).
L. Yaroslavsky, M. Eden, Fundamentals of Digital Optics, Birkhäuser, (1996). Sources: Claude E.
Shannon A mathematical source of communication.
Pierre Brémaud Introduction aux probabilités, Chapitre 5, Springer.
Thomas M. Cover, Joy A. Thomas, Elements of information theory (pages 194-197), Wiley, 1991.
Thomas M. Cover et Joy A. Thomas Elements of Information Theory, Wiley Series Telecommunica-
tions.
Eva Wesfreid, Travaux pratiques sur l’analyse du son, DEA MVA, ENS Cachan, 2002.
Agnès Desolneux, Travaux pratiques sur l’entropie et la théorie de l’information, préparation à
l’agrégation, ENS Cachan, 2002.
Sylvie Fabre, Jean-Michel Morel, Yann Gousseau, Notes du cours d’analyse, ENS Cachan 1ère année,
2007.