La théorie des ondelettes est une nouvelle approche de l'analyse des fonctions, où l'accent n'est plus mis sur les valeurs de la fonction ou de ses dérivées en un point, mais plutôt sur des moyennes sur des intervalles. Le Français Yves Meyer en est considéré comme l'un des fondateurs en 1986, ce qui lui a valu le prix Abel 2017. La théorie des ondelettes s'est extrêmement vite développée, elle a ouvert des possibilités et des applications inattendues, comme la compression de fichier, avec en particulier le format JPEG 2000.
-
*Comment compresser un fichier* -------------------------------------
L'application la plus commune est en effet la compression de fichiers. Un fichier qui comporte beaucoup de 0 est facilement compressible : il suffit par exemple de ne pas stocker les 0, mais seulement les valeurs non nulles et leurs positions dans le fichier. Ainsi, un fichier de N nombres qui ne contiendrait que n valeurs non nulles peut n'être stocké que sur n valeurs réelles (les valeurs non nulles) et n valeurs entières (les valeurs de leur position), soit 2n valeurs. Pour compresser un fichier, on va donc chercher à créer des 0, quitte éventuellement à mettre à 0 des valeurs « proches de 0 ».
Prenons donc un fichier à compresser. Son signal sera l'ensemble des nombres contenus dans le fichier ; il représente aussi bien un son, une image, une vidéo, que toute séquence de valeurs mesurées. Les fichiers les plus simples sont à une variable, comme les fichiers sons (vingt mille valeurs par seconde pour transmettre les fréquences jusqu'à 20 kHz, limite de l'audition humaine). Si l'on ne veut transmettre qu'une seule valeur, il paraît naturel d'envoyer la moyenne m00 de toutes les valeurs du fichier. Pour transmettre deux valeurs, on peut considérer la moyenne m10 de la première moitié du fichier, puis celle, m11, de la seconde moitié du fichier. Mais on peut aussi envoyer m00 et d10 = m10m00 (d10 est appelé un détail). Il sera alors facile de reconstruire m10 et m11 (car m10 + m11 = 2m00). Cela revient au même… sauf que, si m10 = m11 (non nulles), on a d10 = 0. On a donc transformé une valeur non nulle (m10) en une valeur nulle (d10).