matiques, et ses applications vont bien audelà de la compression de données. Durant
ces dix dernières années, des avancées considérables ont eu lieu grâce au développement
de la théorie des ondelettes. Dans le domaine
du traitement d’images, ces progrès ont abouti
à l’adoption du nouveau standard de compression JPEG-2000. Cette histoire a de nombreux méandres, qui illustrent bien le rôle des
mathématiques dans le paysage scientifique
et technologique moderne.
Trente-deux fois moins de place grâce
aux ondelettes
Considérons une image comme celle de la
figure 1A. Elle est constituée de 512 x 512
points, dont les niveaux de gris peuvent varier
de 0 (noir) à 255 (blanc). Chacun des 256 niveaux
de gris possibles peut être représenté par un
octet, c’est-à-dire un nombre binaire constitué
de 8 bits (un octet est donc simplement une
suite de 8 chiffres 0 ou 1, comme 11 010 001).
Il faut donc 512 x 512 x 8 = 2 097 152 bits pour
coder une seule image de ce genre, ce qui est
beaucoup ! Première idée qui vient à l’esprit
pour réduire le nombre de bits : diminuer le
nombre de niveaux de gris, par exemple en se
limitant à du blanc ou du noir, comme dans la
figure 1B. Les deux valeurs possibles du niveau
de gris se codent avec un seul bit (valant 0 ou
1), et l’on a ainsi diminué le nombre de bits par
8. Évidemment, la qualité de l’image s’est beaucoup dégradée. Regardez maintenant l’image
de la figure 1C. Elle est codée avec 32 fois moins
de bits que l’image originale, par une méthode
utilisant la théorie des ondelettes ; pourtant,
la dégradation est à peine perceptible !
Pourquoi ? Parce qu’au lieu de réduire la précision, c’est la manière de représenter l’information qui a ici été changée.
Au commencement était l’analyse de
Joseph Fourier…
Comme on l’a dit, l’image numérisée est
définie par les 512 x 512 nombres qui spécifient l’intensité lumineuse en chaque point.
On peut donc interpréter cette image comme
un point dans un espace à 512 x 512 dimensions — de la même façon qu’un point sur une
surface, espace à deux dimensions, peut être
repéré par deux coordonnées — et se demander quels sont les axes de coordonnées les plus
appropriés pour représenter un tel point. Un
système d’axes (ici de nature plus abstraite
que les axes familiers de la géométrie élémentaire) définit ce que l’on appelle une base.
Une première avancée fondamentale a
été réalisée par le mathématicien-physicien
Joseph Fourier en 1802, dans son mémoire à
l’Académie des Sciences sur la propagation de
la chaleur, sujet a priori sans relation avec
notre problème. Fourier a notamment montré que, pour représenter de façon compacte
et commode une fonction f(x) (du point de
vue mathématique, une telle fonction est un
point dans un espace ayant une infinité de
dimensions), on peut utiliser des « axes »
construits à l’aide d’un ensemble infini de
fonctions sinusoïdales. En des termes un peu
plus précis : Fourier a montré que l’on peut
représenter une fonction f(x) par une somme
d’une infinité de fonctions sinus et cosinus de
la forme sin (ax) ou cos (ax), chacune affectée
d’un certain coefficient.
Ces « bases de Fourier » sont devenues un
outil essentiel, d’usage extrêmement fréquent
dans les sciences, car elles servent à représenter de nombreux types de fonctions, donc
de nombreuses grandeurs physiques. En particulier, on les utilise aussi pour représenter
Des ondelettes pour comprimer une image
33
ces dix dernières années, des avancées considérables ont eu lieu grâce au développement
de la théorie des ondelettes. Dans le domaine
du traitement d’images, ces progrès ont abouti
à l’adoption du nouveau standard de compression JPEG-2000. Cette histoire a de nombreux méandres, qui illustrent bien le rôle des
mathématiques dans le paysage scientifique
et technologique moderne.
Trente-deux fois moins de place grâce
aux ondelettes
Considérons une image comme celle de la
figure 1A. Elle est constituée de 512 x 512
points, dont les niveaux de gris peuvent varier
de 0 (noir) à 255 (blanc). Chacun des 256 niveaux
de gris possibles peut être représenté par un
octet, c’est-à-dire un nombre binaire constitué
de 8 bits (un octet est donc simplement une
suite de 8 chiffres 0 ou 1, comme 11 010 001).
Il faut donc 512 x 512 x 8 = 2 097 152 bits pour
coder une seule image de ce genre, ce qui est
beaucoup ! Première idée qui vient à l’esprit
pour réduire le nombre de bits : diminuer le
nombre de niveaux de gris, par exemple en se
limitant à du blanc ou du noir, comme dans la
figure 1B. Les deux valeurs possibles du niveau
de gris se codent avec un seul bit (valant 0 ou
1), et l’on a ainsi diminué le nombre de bits par
8. Évidemment, la qualité de l’image s’est beaucoup dégradée. Regardez maintenant l’image
de la figure 1C. Elle est codée avec 32 fois moins
de bits que l’image originale, par une méthode
utilisant la théorie des ondelettes ; pourtant,
la dégradation est à peine perceptible !
Pourquoi ? Parce qu’au lieu de réduire la précision, c’est la manière de représenter l’information qui a ici été changée.
Au commencement était l’analyse de
Joseph Fourier…
Comme on l’a dit, l’image numérisée est
définie par les 512 x 512 nombres qui spécifient l’intensité lumineuse en chaque point.
On peut donc interpréter cette image comme
un point dans un espace à 512 x 512 dimensions — de la même façon qu’un point sur une
surface, espace à deux dimensions, peut être
repéré par deux coordonnées — et se demander quels sont les axes de coordonnées les plus
appropriés pour représenter un tel point. Un
système d’axes (ici de nature plus abstraite
que les axes familiers de la géométrie élémentaire) définit ce que l’on appelle une base.
Une première avancée fondamentale a
été réalisée par le mathématicien-physicien
Joseph Fourier en 1802, dans son mémoire à
l’Académie des Sciences sur la propagation de
la chaleur, sujet a priori sans relation avec
notre problème. Fourier a notamment montré que, pour représenter de façon compacte
et commode une fonction f(x) (du point de
vue mathématique, une telle fonction est un
point dans un espace ayant une infinité de
dimensions), on peut utiliser des « axes »
construits à l’aide d’un ensemble infini de
fonctions sinusoïdales. En des termes un peu
plus précis : Fourier a montré que l’on peut
représenter une fonction f(x) par une somme
d’une infinité de fonctions sinus et cosinus de
la forme sin (ax) ou cos (ax), chacune affectée
d’un certain coefficient.
Ces « bases de Fourier » sont devenues un
outil essentiel, d’usage extrêmement fréquent
dans les sciences, car elles servent à représenter de nombreux types de fonctions, donc
de nombreuses grandeurs physiques. En particulier, on les utilise aussi pour représenter
Des ondelettes pour comprimer une image
33
