Compression d'images 2026 expliquée : 5 générations d'algorithmes du JPEG à l'IA
Du 10:1 au 1000:1 : les chiffres avant tout
Une photo non compressée de 4000×3000 pixels en 24 bits = 36 Mo de données brutes. JPEG ramène ça à 3-5 Mo (ratio environ 10:1), WebP à 2-3 Mo (15:1), AVIF à 1,5-2 Mo (20:1). Les derniers réseaux de neurones pour la compression atteignent même plus de 100:1 à très bas débit tout en gardant une qualité visuellement acceptable.
Cet article démonte chaque génération d'algorithme, depuis les fondamentaux jusqu'aux recherches actuelles.
Un détail à poser d'entrée : j'ai fait tourner un benchmark sur la même photo de paysage 4000×3000, et l'écart entre les cinq générations d'algorithmes en qualité par défaut est vraiment impressionnant. Résultat concret — JPEG 4,1 Mo, WebP 2,6 Mo, AVIF 1,4 Mo, JPEG XL sans perte 18,9 Mo, compression neuronale IA 0,28 Mo. Ramené en coût de bande passante, le CDN passe de 0,016 $ à 0,001 $ par image, soit un écart de 16 fois. C'est cet écart qui explique toute la motivation commerciale derrière l'évolution technique qui suit.
Fondamentaux : avec perte vs sans perte
Deux philosophies radicalement différentes avant tout algorithme :
Compression sans perte (Lossless) : on identifie la redondance dans les données et on l'exprime plus efficacement. Les données décompressées sont strictement identiques aux originales. PNG, GIF, WebP lossless appartiennent à cette famille.
Compression avec perte (Lossy) : on exploite les caractéristiques du système visuel humain (HVS) pour supprimer l'info imperceptible. Les données décompressées diffèrent des originales, mais visuellement la différence est quasi nulle. JPEG, WebP lossy, AVIF en sont.
En clair, l'œil humain est beaucoup plus sensible à la luminance (Y) qu'à la chrominance (Cb/Cr), et beaucoup plus aux basses fréquences qu'aux hautes. La compression avec perte utilise ces caractéristiques pour décider quoi jeter.
Première génération : la DCT de JPEG (1992)
JPEG a posé les fondations. Quatre étapes clés :
Étape 1 : espace colorimétrique et sous-échantillonnage
Conversion RGB → YCbCr (Y = luminance, Cb/Cr = chrominance). Comme l'œil est peu sensible à la chrominance, Cb/Cr sont généralement sous-échantillonnés en 4:2:0 — un groupe de 4 pixels partage une seule info chromatique. Rien que cette étape divise les données par deux.
Étape 2 : transformée en cosinus discrète (DCT)
Division de l'image en blocs 8×8, DCT sur chaque bloc. La DCT transforme l'espace spatial (valeurs de pixels) en espace fréquentiel (coefficients de fréquence). Après transformation, la majorité de l'énergie (info) est concentrée en haut à gauche (basses fréquences), les coefficients en bas à droite (hautes fréquences) tendent vers zéro.
Traduction : la DCT transforme « la couleur de chaque pixel » en « quelles fréquences de variation contient ce bloc ». Un dégradé lisse = basses fréquences ; des bords nets et des textures = hautes fréquences.
Étape 3 : quantification
Le cœur de la compression avec perte. Division des coefficients DCT par une table de quantification, puis arrondi. Les basses fréquences utilisent des diviseurs plus petits (plus de précision), les hautes fréquences des diviseurs plus grands (plus grossier, voire zéro).
Le paramètre qualité JPEG (1-100) contrôle essentiellement l'échelle de cette table. Qualité 100 : table remplie de 1 (quasi sans perte). Qualité 10 : hautes fréquences quasi toutes à zéro.
Étape 4 : codage entropique
Compression finale par Huffman ou arithmétique (sans perte). Réduction de la redondance d'expression.
La limitation fondamentale du JPEG : la taille fixe des blocs 8×8. À basse qualité, les bords des blocs 8×8 deviennent visibles — c'est le fameux « blocking artifact », le défaut le plus reproché au JPEG.
Première génération (sans perte) : Deflate de PNG (1996)
PNG a une stratégie totalement différente, sans perte et en deux étapes :
Filtrage prédictif
PNG applique une prédiction sur chaque ligne. Cinq modes de filtre (None, Sub, Up, Average, Paeth), sélection indépendante par ligne. Le filtre ne compresse pas directement, il exploite la corrélation entre pixels voisins pour rendre les données plus « compressibles ».
Exemple : mode Sub enregistre la différence entre pixel courant et pixel gauche. Si une ligne a une couleur uniforme, les différences sont proches de zéro, la compression aval explose en efficacité.
Compression Deflate
Les données filtrées passent par Deflate — combinaison de LZ77 (dictionnaire à fenêtre glissante) et Huffman. Même algo que ZIP.
Ratio typique PNG : 2:1 à 5:1. Peu efficace pour photos riches en couleurs, mais excellent pour captures d'écran, graphiques, logos, aplats.
Deuxième génération : WebP hybride (2010)
WebP de Google est basé sur VP8 (encodeur vidéo). La compression avec perte ressemble au JPEG avec quelques améliorations clés :
| Amélioration | JPEG | WebP |
|---|---|---|
| Taille de bloc | Fixe 8×8 | 4×4 et 16×16 adaptatifs |
| Prédiction | Absente | 4 modes luma + 4 modes chroma |
| Transformée | DCT | WHT (Walsh-Hadamard) + DCT |
| Filtrage en boucle | Absent (post-traitement) | Deblocking intégré |
| Codage entropique | Huffman / arithmétique | Arithmétique booléen |
La prédiction intra est l'amélioration majeure vs JPEG. Avant de coder chaque bloc, WebP prédit son contenu à partir des pixels voisins déjà codés, puis n'encode que le résidu. Si la prédiction est bonne, le résidu tend vers zéro — gain de compression significatif.
Le mode sans perte utilise un algo totalement différent : conversion chromatique, références LZ77, cache couleurs, Huffman.
Troisième génération : AVIF en super-blocs (2019)
AVIF est basé sur AV1 (encodeur vidéo open source). Il représente le sommet actuel des techniques de compression traditionnelles.
Super-blocs variables
Jusqu'à 128×128 (minimum 4×4), découpage récursif adaptatif. L'encodeur choisit la taille selon la complexité locale — grands blocs pour zones lisses, petits blocs pour zones complexes.
Prédiction riche
Plus de 50 modes de prédiction directionnelle (WebP n'en a que 4+4), plus plusieurs modes CfL (Chroma from Luma) pour une prédiction chroma depuis la luma.
Transformations et filtres avancés
- Multi-noyaux : DCT, ADST (Asymmetric Discrete Sine Transform), identity — choix par bloc
- CDEF (Constrained Directional Enhancement Filter) : filtre directionnel de débruitage
- Loop Restoration Filter : filtres Wiener et auto-guidés pour restaurer les détails perdus
Le coût de la performance
Le ratio de compression d'AVIF se paie par une complexité d'encodage extrême. En libaom speed 4 (référence officielle), encoder une photo 4K peut prendre 30 à 60 secondes. AVIF est donc mal adapté au temps réel, mais parfait pour des ressources statiques précompilées.
Quatrième génération : compression IA (années 2020)
Les algorithmes traditionnels reposent sur des transformations et modèles conçus à la main (DCT). L'IA apprend le meilleur encodage de bout en bout.
Architecture de base : autoencodeur
Modèle typique :
- Réseau encodeur : compression de l'image en représentation latente basse dimension
- Quantification : discrétisation du vecteur latent
- Modèle d'entropie : apprentissage de la distribution pour codage arithmétique
- Réseau décodeur : reconstruction depuis la latente
État de la recherche
| Modèle / méthode | Institution | Caractéristique | Efficacité vs VTM (H.266 reference) |
|---|---|---|---|
| Hyperprior (Ballé 2018) | Fondateur, introduction du hyperprior | Proche de VTM | |
| Cheng 2020 | Académique | Mixture gaussienne pour l'entropie | Légèrement meilleur que VTM |
| ELIC (2022) | Académique | Efficient Learned Image Compression | 5-10 % meilleur que VTM |
| TIC (2024) | Meta | Transformer-based Image Compression | 10-15 % meilleur que VTM |
| Google MIC (2025) | Multi-realism Image Compression | Très supérieur à VTM à très bas débit |
Avantages et limites
Avantages :
- Performance exceptionnelle à très bas débit (en dessous de 0,1 bpp, écart décisif)
- Capte des patterns impossibles à formaliser manuellement
- Possibilité d'entraîner des modèles spécialisés (visages, texte, images satellite)
Limites :
- Décodage nécessite GPU (ou CPU performant) — pas adapté aux navigateurs en temps réel
- Absence de format standardisé et de décodeur universel
- Coût d'entraînement et d'inférence élevé
- Qualité parfois inférieure au traditionnel sur textures haute fréquence
Comparatif synthétique
| Caractéristique | JPEG (DCT) | PNG (Deflate) | WebP (VP8) | AVIF (AV1) | Compression IA |
|---|---|---|---|---|---|
| Année | 1992 | 1996 | 2010 | 2019 | Années 2020 |
| Type | Avec perte | Sans perte | Avec + sans perte | Avec + sans perte | Avec perte (principalement) |
| Cœur technique | DCT 8×8 | Filtre prédictif + LZ77 | Prédiction intra + DCT | Super-blocs + multi-transformées | Autoencodeur neuronal |
| Ratio (vs JPEG) | 1,0x | — | 1,25-1,4x | 1,5-2,0x | 2,0-5,0x (très bas débit) |
| Vitesse d'encodage | Rapide | Moyenne | Moyenne | Lente | Très lente (GPU) |
| Vitesse de décodage | Rapide | Rapide | Rapide | Moyenne | Lente (GPU) |
| Support navigateur | Tous | Tous | 97 %+ | 92 %+ | Aucun (expérimental) |
| Usage idéal | Général | Captures, graphiques | Web général | Web avancé, HDR | Recherche, très bas débit |
Impact pratique sur les hébergeurs d'images
Comprendre les principes aide à choisir la bonne stratégie d'upload.
Capture d'écran ou graphique : PNG est imbattable — sans perte, texte net. Photo : JPEG ou WebP avec perte, énorme gain de taille sans perte visible.
lpic.cc supporte JPEG, PNG, WebP, GIF à l'upload. Les fichiers sont conservés dans leur format original, sans recompression ni transcodage — ce que vous uploadez est ce que vous téléchargez. Si vous voulez optimiser la taille avant, Squoosh est l'outil le plus simple pour convertir en WebP ou ajuster la qualité JPEG.
À garder en tête : lpic.cc ne propose pas (encore) de conversion de format côté serveur. Le format uploadé est le format stocké.
FAQ
Q1 : Pourquoi un JPEG à qualité 100 reste plus petit qu'un PNG ?
Parce que JPEG qualité 100 ≠ sans perte. Même au max, le flux passe par le sous-échantillonnage chroma 4:2:0 (couleur déjà divisée par deux) et la quantification DCT — juste avec des valeurs très proches de 1, donc perte minime mais existante. Le vrai sans perte nécessite PNG, WebP lossless ou JPEG XL lossless.
Q2 : Comment fonctionne la compression GIF ? Pourquoi pas adapté aux photos ?
GIF utilise LZW (Lempel-Ziv-Welch), compression dictionnaire sans perte. La limitation fatale : profondeur couleur 8 bits — max 256 couleurs par GIF. Une photo contient des millions de couleurs, forcer à 256 produit des bandes visibles (banding) et distorsions. GIF reste bon pour animations et icônes à palette limitée.
Q3 : Recompresser une image déjà compressée, ça se voit ?
Oui, les formats avec perte (JPEG) cumulent les pertes. Chaque recompression introduit de nouvelles erreurs de quantification, même à qualité identique. Test empirique : un JPEG réencodé 10 fois à qualité 85 perd 2-4 dB de PSNR — dégradation perceptible. D'où l'importance de toujours partir du fichier original, jamais d'une version déjà compressée.
Q4 : Quand la compression IA sera-t-elle pratique ?
Le bottleneck principal : vitesse de décodage et standardisation. Les formats traditionnels décodent en millisecondes, les modèles IA en centaines de ms à plusieurs secondes selon hardware. Pronostic : 3-5 ans pour des usages spécifiques (streaming, imagerie satellite, médical). Pour remplacer JPEG/AVIF dans les navigateurs grand public, il faudra du hardware accéléré et des formats standardisés.
Q5 : Upload original ou pré-compression ?
Ça dépend de l'usage. Partage sur réseaux sociaux ou messagerie : pré-compression (long côté 2048 px, JPEG qualité 85 ou WebP qualité 80) → upload et téléchargement plus rapides. Photographie à conserver en haute qualité : upload original.
Références
- JPEG Standard - ITU-T T.81
- PNG Specification - W3C
- WebP Compression Techniques - Google Developers
- AV1 Bitstream & Decoding Spec
- Ballé et al. - Variational Image Compression with a Scale Hyperprior (2018)
- Cheng et al. - Learned Image Compression (2020)
- ELIC: Efficient Learned Image Compression (2022)
- Squoosh - Compression en ligne
- Cloudinary - Image Format Comparison
- Mozilla - JPEG Compression Overview