Du point de vue pratique, il est très semblable à l’algorithme de Google Zopfli, qui produit des fichiers PNG et gzip plus petits sans avoir besoin d'introduire un nouveau format. Cependant, il est différent des techniques utilisées pour la compression d'image RNN, RAISR et WebP, qui nécessitent toutes des changements côté client pour les gains de compression à l'échelle d'Internet.
Quant à la qualité visuelle de l’image JPEG obtenue, les ingénieurs précisent qu’elle est directement corrélée à son processus de compression à plusieurs niveaux, notamment la transformation de l'espace colorimétrique, la transformation cosinus discrète et la quantification.
Tout d’abord, « Guetzli cible spécifiquement l'étape de quantification, dans laquelle la perte de qualité visuelle est introduite ». Ensuite, « Guetzli établit un équilibre entre la perte minimale et la taille du fichier en employant un algorithme de recherche qui tente de surmonter la différence entre la modélisation psychovisuelle du format JPEG et le modèle psychovisuel de Guetzli qui effectue une approximation de la perception des couleurs et du masquage visuel d’une manière plus rigoureuse et détaillée que ce qui est réalisable par des transformations de couleurs simplifiées et la transformation de cosinus discrète ».
Les différents tests effectués par l’entreprise américaine avec des observateurs laissent penser que les images de Guetzli ont souvent été préférées à celles compressées par le système de libjpeg, y compris quand ces dernières bénéficiaient de plus grandes dimensions ou étaient de la même taille.
En clair, pour des fichiers d’un même poids, l’image produite par le nouvel algorithme paraît plus conforme à l’image originale, tandis que celle compressée par les méthodes actuelles présente les parasites généralement associés à une trop forte compression JPEG.
Image originale non compressée à gauche, Guetzli (à droite) montre moins de parasites que libjpeg (au milieu) sans nécessiter une taille de fichier plus grande.
Il faut rappeler que les fichiers ainsi générés respectent la norme JPEG. Ils pourront donc être consultés par n’importe quelle application qui soutient ce format de fichier (et par conséquent depuis n’importe quel navigateur).
« Nous espérons que les webmasters et les graphistes trouveront Guetzli utile et l'appliqueront à leur contenu photographique, ce qui va permettre de polir l'expérience des utilisateurs sur les sites Web avec des images lourdes en plus de réduire les temps de chargement et les coûts de bande passante pour les utilisateurs sur mobile. Enfin, nous espérons que la nouvelle approche explicitement psychovisuelle de Guetzli inspirera de nouvelles recherches sur l'imagerie et la compression vidéo », ont conclu les ingénieurs.
L’algorithme de compression a été mis à la disposition des développeurs sur GitHub sous licence Apache 2.0, qui demande donc d’inclure des messages spécifiant l’utilisation de code sous cette licence.
Il y a donc quatre types de messages à inclure :
- deux fichiers qui doivent être déposés dans le répertoire racine de la distribution :
- LICENCE — la copie de la licence Apache utilisée. Sa présence signifie uniquement qu’une partie du code est sous cette licence, mais en aucun cas que son intégralité,
- NOTICE — c’est un document texte « notice » qui inclut une notice sur votre utilisation de code sous Licence Apache, le nom des bibliothèques et de leurs développeurs. C’est ici aussi que vous précisez ce que vous entendez vous-même soumettre à cette licence (il faut pour ceci que vous soyez titulaire des droits) ;
- dans chaque fichier licencié :
- une interdiction de supprimer toute ligne originale sur les copyrights ou brevets soumis à la licence, et vous êtes évidemment libre d’ajouter quelques lignes sur vos propres contributions ;
- dans tous les fichiers licenciés que vous avez modifiés :
- un avertissement précisant que vous avez modifié ce fichier.
Pour le moment, si Guetzli fonctionne et est sans doute prometteur, il n’est pas encore adapté pour un usage courant. En effet, l’optimisation exige beaucoup de mémoire vive ce qui implique que la durée imposée par ce type de compression est plus longue que ce qui se fait actuellement. Les développeurs voulant participer au projet seront donc les bienvenus pour aider à trouver une solution à ce problème.
dépôt GitHub
Source : blog Google, Licence Apache version 2.0
Voir aussi :
Microsoft Edge se lance également dans l'utilisation de l'algorithme de compression Brotli, afin d'accélérer le temps de chargement des pages
Brotli, la nouvelle bibliothèque de compression libre et open source de Google, est disponible sur le canal Canary