Comment ça marche le JPEG ?


Avant de lire ce dossier, je vous recommande de lire le dossier sur le MP3 pour bien comprendre ce que sont les transformées de Fourrier.

On peut utiliser la valeur du signal pour signifier un niveau de gris. Par exemple, -1 pour noir, 0 pour gris et 1 pour blanc:

(GIF 11 ko)
Signaux et dégradés de niveaux de gris horizontaux

 

On peut aussi se servir du signal pour un dégradé vertical:

(GIF 11 ko)
Signaux et dégradés de niveaux de gris verticaux

 

Si on prend un dégradé vertical et un dégradé horizontal, on peut les mulitplier entre eux sur toute la surface:

dégradé multiplié par dégradé EGALE dégradé
         
dégradé multiplié par dégradé EGALE dégradé
         
dégradé multiplié par dégradé EGALE dégradé
         
dégradé multiplié par dégradé EGALE dégradé
         
dégradé multiplié par dégradé EGALE dégradé
         
dégradé multiplié par dégradé EGALE dégradé
Signaux et dégradés de niveaux de gris horizontaux

Imaginons que nous ayons l'image suivante:

dégradé
Notre image à enregistrer

 

Cette image est composée d'une mosaïque de petits carrés : des pixels.

(JPEG 9 ko)
Un détail de notre image à enregistrer

 

Pour l'enregistrer dans un fichier, il faut mémoriser la valeur (la couleur) de chacun des pixels (des petits carrés). Notre petite image fait 100 pixels de largeur par 100 de hauteur : il va nous falloir mémoriser 10 000 valeurs.

On pourrait procéder autrement : comme pour le MP3, simplement enregistrer les fréquences des signaux qui composent cette image:

dégradé horizontal et dégradé vertical
Notre image à enregistrer peut être décomposée en ces deux images

C'est à dire:

(GIF 3 ko) et (GIF 2 ko)
Les signaux correspondant aux deux images

 

Donc, au lieu d'enregistrer la valeur de chaque pixel (10 000 valeurs), on enregistre juste les 2 fréquences qui composent ce carré de pixels (2 valeurs).

C'est un peu comme cela que fonctionne le format JPEG (en fait pas tout à fait : les transformées de Fourrier sont calculées directement en 2 dimensions, pas en 2 fois 1 dimension comme ci-dessus).

Voici comment on procède pour compresser une image en JPEG:

  1. On découpe l'image en petits carrés de 8x8 pixels.
  2. On recherche les fréquences composants chacun de ces carrés. On ne conserve qu'une partie de ces fréquences (plus ou moins selon la qualité d'image voulue).
  3. En plus, on recherche plusieurs carrés qui ont des gammes de fréquences proches.

Essayons sur la photo suivante:

(JPG 39 ko)
L'image originale

 

Compressons-la avec une qualité très basse (1%) et regardons ce qui s'est passé.

Photo de bébé en JPEG qualité 1%Image en plein écran
L'image compressée en JPEG avec une qualité minimum

 

Agrandissons un peu pour y voir un peu plus clair:

Photo de bébé en JPEG qualité 1% (agrandi)
Zoom sur cette image compressée

 

On peut voir que l'image a été découpée en petits carrés de 8x8 pixels. Certains de ces carrés sont uniformes (une même couleur sur tout le carré):

(GIF 15 ko)
Les carrés entourés en bleu sont uniformes

 

D'autres comportent des dégradés simples (hozitontaux ou verticaux). On peut remarquer que certains de ces carrés se retrouvent à plusieurs endroits:

(GIF 15 ko)
Les carrés entourés en bleu sont composés d'une seule fréquence (un seul signal)

 

D'autres encore sont un peu plus complexes et comportent des mélanges de signaux de différentes fréquences:

(GIF 14 ko)
Les carrés entourés en bleu sont composés de plusieurs fréquences (plusieurs signaux)

Lorsque vous enregistrez un fichier JPEG (ou JPG), vous pouvez choisir la qualité (de 1% à 100%). Cette "qualité" correspond en fait à la quantité de fréquences à enregistrer dans le fichier JPEG.

Plus la qualité est élevée, plus on enregistre de fréquences dans le fichier, mais plus le fichier est gros.

Au contraire, moins la qualité est élevée, moins on enregistre de fréquences et moins le fichier est gros.

  qualité (%) augmente nombre de fréquences augmente taille du fichier augmente  
         
  qualité (%) diminue nombre de fréquences diminue taille du fichier diminue  

Il y a un choix à faire entre la qualité d'image et la taille du fichier.

 

Pour poursuivre:

Le contenu de cette page est placé sous les termes de la licence suivante : CC Attribution-Noncommercial 4.0 International
h t t p : / / s e b s a u v a g e . n e t