Étude comparative de WebP, JPEG et JPEG 2000, septembre 2010
Remarque:Nous avons mené cette étude initiale avec la première version de WebP que nous avons publiée, qui utilisait la bibliothèque libvpx
. De plus, les images sources étaient des images JPEG que nous avons explorées sur le Web. Sur la base des commentaires de la communauté, nous avons maintenant entrepris une nouvelle étude avec la version 0.1.2 de libwebp
en commençant par des images sans perte (PNG) comme source. La nouvelle étude remplace cette étude.
L'équipe WebP a effectué une étude comparative de trois méthodes de compression d'images sur un ensemble aléatoire d'un million d'images. L'objectif de l'étude était de mesurer la compression obtenue par ces méthodes et d'analyser les compromis entre les tailles d'image et la compression.
Trois méthodes de compression, WebP, JPEG 2000 et Re-JPEG, ont été appliquées aux 900 000 images JPEG contenues dans l'ensemble de données. Les images JPEG ont été recompressées avec Re-JPEG afin que chacune soit aussi proche que possible d'une valeur cible de rapport signal/bruit (PSNR, Peak Signal to Noise Ratio) L'analyse de l'équipe a été effectuée sur les images après leur compression.
En plus de l'étude à grande échelle, l'équipe a inspecté manuellement 100 images aléatoires et a constaté que, dans la plupart des cas, WebP offre une qualité visuelle acceptable.
Conclusions
WebP offre une compression globale supérieure à celle de JPEG ou JPEG 2000. Les gains de minimisation de la taille des fichiers sont particulièrement élevés pour les images plus petites, qui sont les plus courantes sur le Web.
Ensemble de données
L'ensemble de données utilisé dans l'étude était une collection d'un million d'images échantillonnées de manière aléatoire à partir d'un dépôt d'images récupérées sur le Web. Le tableau suivant présente la répartition des différents types d'images dans l'ensemble de données.
Type | Nombre |
---|---|
JPEG | ~900 K |
PNG | ~47 k |
GIF | ~47 k |
Autre | ~6 k |
Conception du test
Les tests ont été exécutés en deux étapes:
L'équipe a exécuté WebP sur les images avec un PSNR cible de 42. Ils ont ajusté le paramètre de qualité (QP) de l'encodeur WebP jusqu'à obtenir un résultat aussi proche que possible de 42 pour une image donnée. Par conséquent, le PSNR réel obtenu pour chaque image n'était pas nécessairement exactement 42.
L'équipe a utilisé la valeur PSNR pour les images compressées au format WebP comme PSNR cible pour les images JPEG 2000 et Re-JPEG. Ils ont également effectué une recherche par ligne sur les paramètres de qualité des images JPEG 2000 et JPEG afin de se rapprocher le plus possible du PSNR cible.
Le résultat de compression réel a été mesuré en pourcentage à l'aide de la formule suivante:
compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length
Résultats
Les tests ont donné les résultats suivants pour le gain de compression négatif et non négatif:
Gain de compression non négatif
L'équipe n'a pas pénalisé une méthode si elle a augmenté la taille de l'image après compression. Autrement dit, le pourcentage de compression était considéré comme nul lorsque la longueur de compressed_image.length était supérieure à celle de original_image.length.
Gain de compression négatif
L'équipe a accepté des résultats de pourcentage de compression négatifs pour mieux comprendre les performances brutes des différents compresseurs.
Vous trouverez ci-dessous les pourcentages de compression moyens obtenus par chacune des trois méthodes.
Type | PSNR moyen obtenu | % de compression moyen (gain de compression non négatif) |
% de compression moyen (gain de compression négatif) |
---|---|---|---|
WebP | 39,38 | 41.30 | 39,80 |
JPEG 2000 | 39,49 | 27,67 | 9,71 |
Re-JPEG | 39,36 | 22,37 | 14,62 |
Lorsque le gain de compression négatif était autorisé, les performances moyennes de JPEG 2000 étaient inférieures à celles de JPEG. Cela peut être dû à des artefacts à haute fréquence présents dans les images JPEG. Ces artefacts peuvent contribuer à une compression moins qu'idéale.
L'implémentation de Kakadu utilisée dans le test pour convertir au format JPEG 2000 n'a pas réussi à convertir environ 240 000 images.
JPEG 2000 a enregistré des pourcentages de compression inférieurs à Re-JPEG, principalement parce que le résultat JPEG 2000 était une compression négative pour de nombreuses images. C'est pourquoi les images JPEG ont obtenu un score de compression global plus faible.
Les figures suivantes fournissent des graphiques de distribution pour les trois méthodes:
Figure 1: Distribution de la population par taille d'image
Le graphique montre que la plupart des images étaient de petite taille. La fréquence des images de plus de 500 ko est généralement inférieure à 100.
Figure 2: Pourcentages de compression pour les images WebP, JPEG et JPEG 2000
Ce graphique montre que le corps des images compressées avec WebP a obtenu une meilleure compression que le re-jpeg et le jpeg 2000. De plus, les images compressées avec WebP ont obtenu une compression plus positive que les autres.
Figure 3: Comparaison des tailles d'image et du pourcentage de compression
Ce graphique montre que WebP offre une meilleure compression que les autres formats, en particulier pour les images plus petites.