Qu'est-ce que la compression d'images ?

La compression d'une image permet de réduire la taille du fichier. La compression d'images peut se faire avec ou sans perte.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir la compression d'images
  • Expliquer pourquoi la compression est importante pour l'optimisation des images
  • Différences entre la compression d'images avec ou sans perte
  • Comprendre les méthodes et algorithmes courants de compression d'images

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

Dynamisez les performances de votre site web avec Cloudflare Pro et nos services supplémentaires d'amélioration de la vitesse

Qu'est-ce que la compression d'images ?

La compression d'images est un processus qui réduit la taille des fichiers d'images. La compression d'images se fait le plus souvent soit en supprimant des octets d'information de l'image, soit en utilisant un algorithme de compression d'images pour réécrire le fichier image de manière à ce qu'il occupe moins d'espace de stockage. La compression d'une image est un moyen efficace de garantir un chargement rapide de l'image au moment de l'interaction d'un utilisateur avec un site web ou une application. C'est un aspect important de l'optimisation des images.

À titre d'exemple, voici une image d'une taille de 96 Ko :

Exemple d'image d'un globe terrestre à 96 Ko

Voici la même image, compressée à 70 Ko :

Exemple d'image d'un globe terrestre à 70 Ko

Et ici, elle est compressée à 35 Ko :

Exemple d'image d'un globe terrestre à 35 Ko, l'image est floue

Pourquoi la compression d'images est-elle importante ?

Les images compressées se chargent plus rapidement que les images non compressées. Il ne s'agit pas d'un détail anodin car la vitesse de chargement des pages web et des applications a une incidence considérable sur le classement SEO, les taux de conversion, l'expérience numérique des utilisateurs et d'autres aspects déterminants de la navigation. L'amélioration des performances web est l'un des principaux moyens utilisés par les développeurs pour optimiser les sites web.

La compression d'images est généralement utilisée parallèlement à d'autres méthodes pour améliorer les performances des sites web. Par exemple, un CDN met en cache le contenu pour le transmettre plus rapidement aux utilisateurs finaux. L'équilibrage de la charge permet d'éviter la surcharge des serveurs web. Le recours au lazy loading permet au contenu le plus important d'une page web de se charger encore plus rapidement. Toutefois, de manière générale, la compression d'images est souvent l'un des moyens les plus rapides de remédier à la lenteur des pages.

Qu'est-ce que la compression d'images avec perte ?

Imaginons un voyageur qui prépare ses vêtements pour un voyage. Il a la possibilité d'emporter tout le contenu de sa garde-robe, des chaussures aux chapeaux en passant par les tenues de soirée. Il en résulterait une grande quantité de bagages à transporter, ce qui ralentit le voyageur et peut coûter plus cher en transport. Il va donc préférer se limiter à une sélection des vêtements les plus importants qu'il mettra dans une seule valise.

Tout comme notre voyageur n'avait pas besoin d'emporter l'intégralité de sa garde-robe, il est rare d'avoir besoin de voir une image entière dans sa résolution maximale et à ses dimensions les plus grandes. (La taille de moniteur la plus utilisée pour les ordinateurs de bureau est de 1680x1050 pixels, et la taille d'écran la plus utilisée pour les téléphones portables est encore plus petite, avec 360x800 pixels. Même à ces dimensions, l'image occupe rarement tout l'écran). En général, la qualité et la taille d'une image peuvent être réduites sans que l'observateur classique ne s'en aperçoive, c'est ce qu'on appelle la compression d'image avec « perte ».

La compression d'image avec perte préserve les informations les plus essentielles de l'image sans conserver chaque pixel. Il existe plusieurs types d'algorithmes de compression avec perte, décrits plus en détail ci-dessous. Ils ont cependant tous en commun de supprimer des informations du fichier d'image afin de réduire le nombre d'octets composant l'image.

Méthodes de compression d'images avec pertes

De nombreuses images hébergées sur le web se trouvent dans un format de fichier qui fait appel à la compression avec perte. Cela garantit un chargement rapide des images et une consommation de bande passante moindre. Parmi les exemples courants de méthodes de compression avec perte, citons :

  • JPEG : ce format de fichier, qui tient son nom du Joint Photographic Experts Group, est peut-être la méthode de compression d'images la plus utilisée. Elle peut généralement compresser les fichiers dans un rapport de 10:1 avec une réduction minimale de la qualité de l'image. Les versions plus récentes de JPEG comprennent JPEG 2000 et JPEG XR, mais de nombreux navigateurs ne prennent pas en charge ces formats.
  • WebP : ce format prend également en charge la compression sans perte, mais il est plus couramment utilisé pour la compression d'images avec perte. À l'origine, Google avait développé WebP pour remplacer les formats de fichiers JPEG, PNG et GIF.
  • High Efficiency Image Format (HEIF) : ce format correspond à un type de fichier conteneur pour les images compressées. Les images compressées avec cette méthode sont parfois appelées fichiers HEIC.

Qu'est-ce que la compression d'images sans perte ?

Si tous les vêtements que le voyageur souhaite emporter ne logent pas dans la valise, il peut essayer de les plier différemment et de les réorganiser pour tout rentre. De la même façon, la compression d'images « sans perte » utilise des algorithmes mathématiques pour réécrire un fichier image sans supprimer aucune information. Une image traitée avec une compression sans perte doit paraître globalement identique à l'originale, mais la taille du fichier doit être beaucoup plus petite.

Si la compression sans perte peut réduire la taille des fichiers d'images jusqu'à 40 %, elle reste toutefois moins efficace que la compression avec perte pour réduire la taille des fichiers et optimiser les images pour le web. Les créateurs de sites web doivent attentivement tenir compte des besoins de leurs utilisateurs finaux et tester la vitesse de leurs sites web au moment de choisir la compression d'images avec ou sans perte.

Méthodes de compression sans perte

Les méthodes de compression sans perte les plus utilisées sont les suivantes :

  • Portable Network Graphics (PNG), qui est parfois utilisé sur le web à la place de JPEG ou WebP.
  • Graphics Interchange Format (GIF), souvent utilisé sur le web également.
  • Les fichiers Bitmap (BMP) sont généralement trop volumineux pour une utilisation pratique sur le web.
  • Les images RAW ne sont pas compressées du tout. Les appareils photo numériques prennent des photos en format RAW, mais les photos doivent être converties dans un autre format et compressées avant d'être utilisées sur un site web (sauf dans le cas des sites web spécifiquement conçus pour afficher des images de très haute qualité).

Quels sont les algorithmes de compression d'images les plus courants ?

Les méthodes de compression avec ou sans perte utilisent divers algorithmes de compression d'images (un algorithme est un ensemble de règles à suivre par un ordinateur) pour réduire la taille des fichiers. Le codage par transformation, le codage par longueur d'onde, le codage arithmétique, le codage LZW, le codage flate/deflate et le codage Huffman sont autant d'exemples d'algorithmes de compression d'images.

Le codage par transformation est un algorithme de compression d'image avec perte qui a souvent recours à une technique appelée « Transformée en cosinus discrète (DCT) », qui est un moyen de représenter mathématiquement un fichier en utilisant moins d'informations. La norme JPEG repose sur le codage par transformation.

Codage de la longueur d'exécution (RLE) est un algorithme de compression sans perte qui code les pixels répétés. Par exemple, s'il y a huit pixels blancs dans une rangée, au lieu d'écrire les huit pixels (comme WWWWWWW), il enregistre le nombre de pixels (comme 8W).

Le codage arithmétique est un autre type d'algorithme de compression sans perte. Comme tout fichier numérique, les images numériques sont représentées à des niveaux de calcul inférieurs par une chaîne de caractères. Le codage arithmétique permet de coder les caractères fréquemment utilisés dans un fichier image avec moins de bits et les caractères moins utilisés avec plus de bits. Il en résulte un nombre total de bits inférieur à celui de la chaîne de caractères d'origine.

Le codage de Huffman est assez semblable au codage arithmétique, à la différence près qu'il ne permet généralement pas de réduire autant la taille des fichiers.

LZW - l'algorithme Lempel-Ziv-Welch est une méthode de compression sans perte basée sur LZ77 et LZ78, deux algorithmes de compression plus anciens.

Flate/deflate est un algorithme de compression sans perte basé sur le codage de Huffman et la compression LZ77.

Comment compresser une image avec Cloudflare

Cloudflare propose trois produits pour le stockage, la mise en cache, l'optimisation et le redimensionnement des images dans le but de garantir un chargement aussi rapide que possible :

Grâce à ces services, les propriétaires de sites web peuvent optimiser les images en un clic, convertir les images dans des formats de fichiers compressés tels que WebP, et personnaliser les tailles d'images qui se chargent sur les différents appareils. Pour en savoir plus sur ces services, cliquez sur les liens ci-dessus, ou pour commencer à souscrire à un plan Cloudflare, cliquez ici.