Étude de la compression WebP

Introduction

Nous effectuons une évaluation comparative de la compression d'images WebP et JPEG sur la base du nouvel encodeur publié dans libwebp. L'objectif est d'exécuter un ensemble de tests facilement reproductibles à l'aide d'outils publics et de comparer la compression d'image obtenue par WebP et JPEG.

Notre précédente étude comparative de WebP portait sur l'évaluation d'un grand nombre d'images. Elle a été réalisée à partir de sources JPEG explorées sur le Web. JPEG est un format de compression avec pertes et introduit des artefacts de compression à la source. En outre, nous avons initialement utilisé le rapport signal/bruit maximal (PSNR) comme métrique de qualité. Le PSNR présente des inconvénients lorsqu'il est utilisé comme métrique de qualité des images. En nous appuyant sur les commentaires de la communauté, nous réalisons des tests sur des images PNG, y compris des images disponibles dans quelques suites de tests standards. Nous utilisons dans cette étude la similarité structurelle (SSIM) comme métrique de qualité. Le protocole SSIM est considéré comme une métrique de meilleure qualité visuelle.

Méthodologie

Nous décrivons deux types d'évaluations. Dans le premier cas, nous étudierons la compression supplémentaire obtenue par WebP au même niveau de qualité que JPEG. En particulier, nous générons des images WebP de même qualité (selon l'index SSIM) que les images JPEG, puis nous comparons les tailles de fichier des images WebP et JPEG. Dans le second cas, nous analysons les tracés SSIM et bits par pixel (bpp) pour WebP et JPEG. Ces graphiques montrent le compromis entre le taux et la distorsion pour WebP et JPEG.

Les ensembles de données des expériences sont constitués d'images PNG. Ces images ont été obtenues à partir de suites d'images de test standards accessibles au public, ainsi que d'une vaste collection d'images PNG explorées sur le Web.

Chaque test consiste à exécuter un ensemble de commandes. Seuls les outils de ligne de commande accessibles au public sont utilisés pour que les expériences restent raisonnablement reproductibles pour d'autres personnes. Les outils de ligne de commande utilisés pour ce test sont les suivants:

  • identify et convert sont des outils de ligne de commande qui font partie de ImageMagick. Nous avons utilisé la version 6.5.7 pour cette analyse. Nous avons utilisé convert pour convertir les formats PNG et PPM. Nous avons utilisé identify pour extraire les informations de largeur et de hauteur d'une image.

  • cwebp et dwebp sont des outils de ligne de commande qui font partie de la bibliothèque libwebp publiée au premier trimestre 2011. Nous avons utilisé la version 0.1.2 de la bibliothèque. Nous avons utilisé cwebp et dwebp pour encoder et décoder les images WebP. Nous avons utilisé les paramètres d'encodage et de décodage par défaut de ces outils.

  • cjpeg et djpeg sont des outils de ligne de commande qui font partie de la bibliothèque libjpeg. Nous avons utilisé la version 6b de la bibliothèque. Nous avons utilisé cjpeg et djpeg pour encoder et décoder l'image JPEG. Nous avons utilisé cjpeg avec l'option -optimize pour optimiser la taille du fichier. Nous définissons tous les autres paramètres sur leurs valeurs par défaut.

La qualité d'une image a été mesurée à l'aide de SSIM. Comme indiqué précédemment, la métrique SSIM est généralement considérée comme une meilleure métrique de qualité que la métrique PSNR. Pour le calcul de l'index SSIM, nous avons utilisé une implémentation accessible au public en C++. Le lecteur peut télécharger les scripts Python que nous avons utilisés dans les tests à partir du dépôt de code, à titre de référence.

Ensembles de données d'image

Nous avons choisi les ensembles de données pour évaluer les collections d'images de test standards ainsi que sur un vaste ensemble d'images. Vous trouverez ci-dessous la liste des ensembles de données utilisés dans les expériences.

  1. Lenna:image Lenna couramment utilisée (512 x 512 pixels).

  2. Kodak:24 images de la suite d'images Kodak True Color.

  3. Tecnick:100 images de la collection disponible sur le site Tecnick.com. Nous avons utilisé les 100 images couleur RVB de taille d'origine.

  4. Image_crawl::pour tester un grand nombre d'images, nous avons collecté un échantillon aléatoire d'images PNG à partir de la base de données d'exploration du Web de la recherche d'images Google. La plupart des images PNG explorées sont des icônes, des graphiques, des graphiques, des documents numérisés, etc. Cependant, la plupart des images des collections tests standards sont comme des photographies, et non comme des images générées par ordinateur. Pour que la nature de cet ensemble de données soit semblable aux suites de tests standards, nous avons exécuté un algorithme de détection des visages sur ces images PNG et n'avons tenu compte que des images (environ 11 000) pour ce test.

Test 1: WebP vs JPEG avec un indice SSIM égal

Dans cette expérience, nous générons des images JPEG et WebP à des valeurs SSIM comparables, et nous mesurons le ratio de tailles de fichier. Les étapes du test sont les suivantes:

  1. Compressez l'image PNG source au format JPEG avec un paramètre de qualité fixe Q, puis enregistrez le SSIM entre l'image PNG source et l'image JPEG compressée.

  2. Compressez la même image source vers WebP avec un paramètre de qualité qui obtient le plus fidèlement possible les informations SSIM enregistrées ci-dessus.

Nous avons exécuté les deux étapes ci-dessus sur toutes les images d'un ensemble de données, puis mesuré la taille moyenne des fichiers et la taille moyenne des fichiers SSIM pour les images JPEG et WebP.

Les tableaux suivants présentent les résultats de ce test pour trois valeurs différentes (50, 75 et 95) de paramètre de qualité JPEG Q. Les paramètres de qualité 50 et 95 représentent la compression d'image à des débits faibles et élevés, respectivement. Nous avons également inclus le paramètre de qualité JPEG 75, car il s'agit du niveau de qualité généralement recommandé pour les images JPEG.

Tableau 1: Taille moyenne des fichiers pour WebP et JPEG pour le même index SSIM correspondant à JPEG Q=50

Lenna Kodak Tecnik Image_crawl
WebP: taille moyenne des fichiers
(SSIM moyenne)
17,4 Ko
(0,841)
31 Ko
(0,898)
92,4 Ko
(0,917)
6,5 Ko
(0,901)
JPEG: taille moyenne du fichier
(SSIM moyenne)
23,5 Ko
(0,840)
42,7 Ko
(0,897)
124,6 Ko
(0,916)
9,9 Ko
(0,899)
Ratio de la taille du fichier WebP à celle du fichier JPEG 0.74 0.72 0.74 0.66

Tableau 2: Taille moyenne des fichiers pour WebP et JPEG pour le même index SSIM correspondant à JPEG Q=75

Lenna Kodak Tecnik Image_crawl
WebP: taille moyenne des fichiers
(SSIM moyenne)
26,7 Ko
(0,864)
46,5 Ko
(0,932)
139 Ko
(0,939)
9,9 Ko
(0,930)
JPEG: taille moyenne du fichier
(SSIM moyenne)
37 Ko
(0,863)
66 Ko
(0,931)
191 Ko
(0,938)
14,4 Ko
(0,929)
Ratio de la taille du fichier WebP à celle du fichier JPEG 0.72 0.70 0.73 0,69

Tableau 3: Taille moyenne des fichiers pour WebP et JPEG pour le même index SSIM correspondant à JPEG Q=95

Lenna Kodak Tecnik Image_crawl
WebP: taille moyenne des fichiers
(SSIM moyenne)
74,3 Ko
(0,910)
118 Ko
(0,978)
356,0 Ko
(0,970)
23,4 Ko
(0,969)
JPEG: taille moyenne du fichier
(SSIM moyenne)
104 Ko
(0,907)
162 Ko
(0,976)
492 Ko
(0,970)
31,3 Ko
(0,968)
Ratio de la taille du fichier WebP à celle du fichier JPEG 0.71 0.73 0.72 0,75

Les tableaux ci-dessus indiquent que WebP offre des gains de compression supplémentaires de 25 à 34 % par rapport au format JPEG, avec un indice SSIM égal ou légèrement supérieur.

Test 2: tracés SSIM et BPP pour WebP et JPEG

Nous étudions le compromis entre le taux de distorsion et le format JPEG et WebP. Nous étudions en particulier les tracés SSIM et bits par pixel (bpp) pour JPEG et WebP. Nous prenons l'image PNG source et la compressons au format JPEG et WebP en utilisant toutes les valeurs de qualité possibles (0 à 100). Ensuite, pour chaque valeur de qualité, nous représentons les SSIM et bpp obtenus pour JPEG et WebP. Les figures suivantes illustrent des tracés SSIM et bpp de ce type pour les trois images choisies parmi les trois ensembles de données publics que nous avons utilisés.

Figure 1: SSIM et BPP pour Lenna

ssim ou bpp pour Lenna

Figure 2: Différences entre SSIM et BPP pour le fichier kodim19.png provenant de l'ensemble de données Kodak

ssim ou bpp pour Kodim19

Figure 3: SSIM et BPP pour RGB_OR_1200x1200_061.png à partir de l'ensemble de données Tecnick

ssim et bpp pour RGB_OR_1200x1200

Nous avons également étudié le comportement moyen des tracés SSIM et bpp pour les ensembles de données Kodak et Tecnick. Pour tracer le comportement moyen, nous compressons toutes les images d'un ensemble de données à l'aide de WebP et JPEG avec 100 valeurs de qualité différentes. Nous représentons ensuite la moyenne des valeurs SSIM et bpp pour chaque valeur de qualité. L'ensemble de données de l'exploration d'images est composé d'images hétérogènes qui ne se prêtent pas à cette agrégation de données. Les graphiques suivants montrent le comportement moyen de SSIM et bpp pour les ensembles de données Kodak et Tecnick, respectivement.

Figure 4: Différences entre SSIM et BPP pour l'ensemble de données Kodak

ssim et bpp pour Kodak

Figure 5: Différences entre SSIM et BPP pour l'ensemble de données Tecnick

ssim et bpp pour l'ensemble de données Tecnick

Dans l'ensemble, à partir des tracés ci-dessus, nous pouvons observer que WebP nécessite systématiquement moins de bits par pixel que JPEG pour atteindre le même index SSIM.

Conclusion

L'étude a évalué la compression WebP par rapport à JPEG. Nous avons observé que la taille moyenne d'un fichier WebP est inférieure de 25 à 34 % par rapport à la taille d'un fichier JPEG avec un indice SSIM équivalent. Les tracés SSIM et bpp ont montré que WebP nécessitait systématiquement moins de bits par pixel que JPEG pour le même index SSIM. Ces résultats indiquent que WebP peut fournir des améliorations de compression importantes par rapport à JPEG.


1 Huynh-Thu, Q.; Ghanbari, M. (2008). "Champ d'application de la validité du PSNR dans l'évaluation de la qualité des images/vidéos". Electronics Letters 44: 800-801.doi:10.1049/el:20080522.

2 Z. Wang, A. C. Bovik, H. R. Sheikh et E. P. Simoncelli, Image Quality Assessment: From error measurement to structural similarity", Image Processing, IEEE Transactions, Volume 13, Issue 4, p. 600-612, 2004.