Comment fonctionne la compression JPEG

Une explication simple des étapes derrière une compression d’image efficace

24. January 2025 par Bianca Palmer

Comment fonctionne la compression JPEG

Vous êtes-vous déjà demandé comment votre téléphone ou votre appareil photo peut prendre une photo et, en quelques instants, l’enregistrer au format JPEG, plus léger, plus rapide et toujours net ? En coulisses, un puissant processus est à l’œuvre, réduisant d’énormes fichiers image à une fraction de leur taille d’origine tout en maintenant une haute qualité. Mais comment fonctionne-t-il réellement ? Dans ce guide, nous examinons en détail La compression JPEGet expliquons chaque étape en termes simples afin que vous puissiez comprendre comment ce processus de compression d’images fonctionne.

Qu'est-ce que JPEG ?

JPEG (abréviation de Joint Photographic Experts Group) est l’un des formats d’image les plus courants. C’est le format de référence pour stocker des photos numériques. L’avantage clé du JPEG est sa capacité à compresser les fichiers image, en les rendant beaucoup plus petits sans perte de qualité perceptible.

Par exemple, une image non compressée de haute qualité peut faire 46 Mo. Après compression en JPEG, la même image peut être réduite à seulement 4,1 Mo. Mais comment y parvient-il tout en gardant l’image nette ?

La réponse se trouve dans le compression process, processus de compression, qui exploite le fonctionnement de nos yeux et supprime les données inutiles.

Que fait le JPEG ?

En termes simples, JPEG analyse l’image et supprime les éléments que nos yeux ne perçoivent pas facilement. Lorsque vous compressez une image avec JPEG, vous pouvez contrôler le niveau de compression appliqué. En ajustant le paramètre de « qualité », vous décidez de l’espace que vous souhaitez économiser. Lorsque la qualité diminue de 100 % à 0 %, la taille du fichier diminue également.

Plus vous compressez, plus la résolution de l’image reste la même, mais vous pouvez commencer à voir des défauts ou des « artefacts » apparaître. Ces défauts ressemblent à de petits carrés et sont souvent difficiles à remarquer sans zoomer. L’objectif du JPEG est de rendre le fichier aussi petit que possible sans que l’image ne paraisse mauvaise à l’œil humain.

Les étapes de la compression JPEG

La compression JPEG n’est pas un seul processus ; c’est une série d’étapes conçues pour réduire la taille de l’image. Voici les cinq étapes clés qui rendent JPEG si efficace.

Étape 1 : Conversion de l’espace colorimétrique

Les images sont constituées de pixels, et chaque pixel possède des composantes rouge, verte et bleue (RGB) qui se combinent pour créer des couleurs. JPEG commence par convertir ces valeurs RVB dans un autre espace colorimétrique :

  • Luminance (Luminosité) : Il s’agit de la luminosité ou clarté d’un pixel et elle est importante pour définir le contraste global de l’image.
  • Chrominance (Couleur) : Il s’agit des informations de couleur, incluant la teinte et la saturation.

Cette conversion exploite le fait que l’œil humain est plus sensible à la luminosité (luminance) qu’à la couleur (chrominance). En séparant la luminosité de la couleur, JPEG permet une réduction ciblée des données aux étapes suivantes tout en préservant les détails visuels les plus importants.

Aucune donnée n’est perdue à cette étape, mais elle prépare l’image à une compression efficace.

Étape 2 : Sous-échantillonnage de la chrominance

Sous-échantillonnage de la chrominance est un est une technique appliquée après la conversion de l’espace colorimétrique. Rappelez-vous que nous avons dit que nos yeux ne sont pas très doués pour percevoir les couleurs (chrominance) par rapport à la luminosité (luminance) ?

JPEG utilise ce fait en réduisant la quantité de données de couleur. Il réduit les images de chrominance bleue et rouge en les moyennant par blocs de quatre pixels. Cela rend les données de couleur beaucoup plus légères tout en conservant la luminance (luminosité) inchangée. À ce stade, l’image est déjà significativement compressée.

Étape 3 : Transformée en cosinus discrète (DCT)

La transformée en cosinus discrète (DCT) est une technique mathématique utilisée pour convertir les données de l’image du domaine spatial (où l’image est une grille de pixels) vers le domaine fréquentiel. Ce processus aide à identifier quelles parties de l’image contiennent les informations visuelles les plus importantes et quelles parties peuvent être supprimés.

La DCT décompose l'image en blocs de 8x8 et convertit chaque bloc en un ensemble de valeurs de fréquence. Les hautes fréquences, qui représentent des changements rapides des valeurs de pixels, comme les contours ou le bruit, sont souvent moins perceptibles pour l'œil humain et peuvent être simplifiées ou supprimées.

Étape 4 : Quantification

Une fois la DCT appliquée, les données de fréquence obtenues passent par la quantification. À cette étape, la plage des valeurs de fréquence est réduite en les divisant par un ensemble de constantes appelé table de quantification. Le processus arrondit essentiellement les valeurs de fréquence pour les simplifier.

Les valeurs de fréquence plus élevées sont davantage quantifiées, ce qui signifie qu'elles perdent plus de précision car elles sont moins importantes pour la qualité globale de l'image. Cette quatrième étape réduit la quantité de données nécessaires pour représenter l'image, ce qui rend le fichier plus petit. Cependant, une quantification trop importante peut entraîner des artefacts visibles, comme un effet de blocs ou un flou, surtout avec des niveaux de compression élevés.

Étape 5 : Codage par plages et codage de Huffman

Après la quantification, les données ne sont toujours pas assez compactes pour un stockage efficace. C'est là que le Run Length Encoding (RLE) et Codage de Huffman sont utilisés.

Tout d'abord, le RLE est utilisé pour simplifier les longues séquences de données répétées (comme les zéros) en stockant le nombre de répétitions plutôt que chaque valeur individuelle. Ensuite, le codage de Huffman est appliqué, une technique qui remplace les valeurs fréquemment utilisées par des codes binaires plus courts, ce qui rend le fichier encore plus petit.

These two méthodes de codage fonctionnent ensemble pour réduire drastiquement la taille du fichier sans sacrifier trop de qualité d'image.

Notes supplémentaires

Bien que le JPEG soit un format très efficace, il y a quelques points importants à prendre en compte :

  • Niveau de compression : JPEG permet aux utilisateurs de sélectionner le niveau de compression, mais une compression plus élevée réduit la taille du fichier et peut introduire des artefacts visibles comme des contours flous ou une pixellisation. Cela se produit lorsque les valeurs de la table de quantification sont trop élevées, ce qui entraîne l'ajout de davantage de zéros, rendant le fichier plus petit mais au détriment de la qualité de l'image.
  • Perte de données haute fréquence : la quantification réduit la précision des données haute fréquence (détails comme les contours nets), c'est pourquoi JPEG est idéal pour les textures lisses mais peut avoir des difficultés avec les lignes nettes et les graphiques vectoriels.
  • Pas idéal pour les graphiques vectoriels : JPEG n'est pas le meilleur choix pour compresser des graphiques vectoriels, car il peut provoquer des artefacts visibles aux limites des formes ou des lignes.

Malgré ces limites, JPEG reste le format d'image le plus populaire, en partie parce qu'il est ancien, bien compris et libre de droits. Cependant, de nouveaux formats comme WebP ou HEIF offrent des taux de compression encore meilleurs sans compromettre la qualité, ce qui en fait des alternatives intéressantes dans certains contextes.

Pour conclure

L'algorithme de compression JPEG est une réalisation notable dans la gestion des données d'image. En décomposant les images en blocs plus petits, en appliquant des transformations mathématiques et en utilisant des techniques de codage efficaces comme le Run Length et le codage de Huffman, il permet de stocker des images de haute qualité dans des fichiers beaucoup plus petits.

Bien que JPEG présente certaines limites, en particulier avec des niveaux de compression élevés ou pour les graphiques vectoriels, son utilisation répandue et sa capacité à fournir de bons résultats pour les images photographiques en font une norme durable.