Google présente son algorithme de compression JPEG baptisé Guetzli
Qui promet des réductions de taille de 35 % sans trop perdre en qualité

Le , par Stéphane le calme, Chroniqueur Actualités
Google a développé et proposé en open source un nouvel algorithme de compression JPEG qui réduit la taille du fichier d'environ 35 % sans trop perdre en qualité. Baptisé Guetzli, du nom d’une pâtisserie suisse allemande, le nouvel encodeur a été pensé pour les images numériques ainsi que les graphismes Web afin de maintenir la compatibilité avec les navigateurs existants, les applications de traitement d'images et la norme JPEG.

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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 20/03/2017 à 7:23
Pour le moment je serais juste tenté de dire, rien de nouveau.
Des libs qui font mieux que libjpeg, il y en a déjà pas mal. Mozilla travaille sur la même chose depuis des années déjà, mais forcément ça fait plus parler quand c'est Google qui fait une annonce. Une comparaison avec mozjpeg serai plus pertinente qu'avec libjpeg.
Avatar de elekmad elekmad - Futur Membre du Club https://www.developpez.com
le 20/03/2017 à 9:58
En effet, je vois passer cette news depuis quelques jours, la question qui me vient personnellement, c'est "le format FLIF n'est pas un bon remplaçant ?" Comme souvent chacun y va de sa sauce, mais ca ne fait pas vraiment avancer les choses...
Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 20/03/2017 à 11:26
FLIF est un problème bien différent car c'est un format d'image sans pertes : il viserait donc plutôt à remplacer le PNG que le jpeg.

De plus pour l'utiliser sur le web, il faudrait que tous les navigateurs se mettent d'accord pour le gérer ce qui parait difficile car :
- ça poserait des problèmes pour la compatibilité avec les anciens navigateurs.
- on évite autant que possible de multiplier les technologies à supporter, les navigateurs sont déjà suffisamment complexes comme cela.
Bref, tant qu'il n'y aura pas consensus sur le fait que le gain en vaut vraiment la chandelle, ça n'arrivera pas.

Les vrai candidats au remplacement du jpeg comme format d'image avec pertes sont plutôt : BPG, jpeg2000, webP, ... mais eux aussi nécessitent des outils qui les prennent en charge explicitement. Ils souffrent donc du même problème d'adoption que le FLIF avec en plus le dilemme de savoir lequel choisir, chacun ayant ses avantages et ses inconvénients.

L'avantage de Guetzli (de Google) ou mozjpeg (de Mozilla), c'est qu'il produisent des fichiers jpeg standard qui sont juste mieux optimisés. Ils restent donc lisibles, sans aucun changement, par tous les navigateurs.
Avatar de ijk-ref ijk-ref - Membre actif https://www.developpez.com
le 20/03/2017 à 13:32
Citation Envoyé par elekmad Voir le message
En effet, je vois passer cette news depuis quelques jours, la question qui me vient personnellement, c'est "le format FLIF n'est pas un bon remplaçant ?"
Et donc tu la vois passer depuis quelques jours sans jamais la lire !? Sinon tu ne poserais même pas cette question

"(...) pensé pour (...) maintenir la compatibilité avec les navigateurs existants"
Avatar de elekmad elekmad - Futur Membre du Club https://www.developpez.com
le 20/03/2017 à 13:47
En fait, juste pour répondre du fait que l'article n'est pas sur le FLIF, en effet, le problème d'adoption par les naviguateurs en est un, mais le lossy vs lossless pas vraiment puisqu'il s'agit d'un format, certes, sans pertes, mais à decodage partiel possible, donnant la possibilité d'un format "à perte" sans toucher au fichier d'origine, permettant donc de s'adapter aux différentes situation !

Et si, bien sur j'ai lu la news, ça ne m'a pas empêché de me poser la question. Les questions de rétro compatibilités ne sont de vrais problèmes que à court terme et sans discussion de la part des grands acteurs pour arriver à un concensus justement long terme. Le WebAssembly est en ce sens un bon exemple.
Avatar de domi65 domi65 - Membre actif https://www.developpez.com
le 21/03/2017 à 17:49
Pourquoi pas proposer des trucs nouveaux si c'est compatible, mais...

... le Jp2 (Jpeg 2000) existe depuis bientôt 20 ans, est libre de droits, fait mieux en terme de compression que ce propose Google, (j'ai testé des ratio de 1/100 bluffants) apporte des services supplémentaires (couche alpha, zone d'intérêt) et n'a toujours pas été adopté par les acteurs du web. Et si on commençait par implémenter ce qui fonctionne bien ?
Avatar de Laurent Simon Laurent Simon - Nouveau membre du Club https://www.developpez.com
le 24/03/2017 à 8:02
Personnellement j'ai fait quelques essais à différents taux de compression et comparé avec JPEG 2000 (obtenu à l'aide de XnConvert). Pour un résultat à taille de fichier égale, Guetzly restitue beaucoup plus de détails. JPEG 2000 décroche et crée des zones de flou là ou Guetzly continue à restituer l'information. Désolé, mais personnellement je trouve que JPEG 200 est au tapis comparé à Guetzly. A moins que ce soit XnConvert qui ne donne pas des résultats optimaux en JPEG 2000...

Là où JPEG 2000 gagne haut la main c'est sur le ratio temps de compression / qualité du résultat. JPEG 2000 peut être utilisé en traitement temps réel alors, qu'en l'état, avec Guetzly c'est mission impossible et batch obligatoire.
Avatar de domi65 domi65 - Membre actif https://www.developpez.com
le 24/03/2017 à 10:18
Citation Envoyé par Laurent Simon Voir le message
Pour un résultat à taille de fichier égale, Guetzly restitue beaucoup plus de détails.
Curieux que tu aies un bien meilleur résultat que ce qu'annonce Google lui-même.

En effet, voilà ce qu'ils disent :

« un nouvel algorithme de compression JPEG qui réduit la taille du fichier d'environ 35 % sans trop perdre en qualité. »

Or si tu prends un image, que tu la compresse largement pour que la perte de qualité soit sensible en JPEG, puis que tu fais une compression qui donne un fichier 35% plus léger en Jp2 (je viens de faire un essai avec Photopaint), non seulement il n'y a pas de perte, mais au contraire un résultat bien meilleur sur tous les points, puisque non seulement on gagne en détails, mais les nombreux artefacts disparaissent. J'aurais voulu les envoyer, mais le jp2 n'est pas accepté ici.
Au fait, comment essaye-t-on Guetzly ?
Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 26/03/2017 à 10:48
Citation Envoyé par elekmad Voir le message
mais le lossy vs lossless pas vraiment puisqu'il s'agit d'un format, certes, sans pertes, mais à decodage partiel possible, donnant la possibilité d'un format "à perte" sans toucher au fichier d'origine, permettant donc de s'adapter aux différentes situation !
Après vérification sur le site officiel, il y a en en effet possibilité de faire de la compression avec perte, mais le format n'ayant pas été conçu pour faire de la perte, les résultats seront moins bon que les formats prévus spécifiquement pour cela, si on applique une compression dans l'ordre de grandeur habituel utilisé pour sur du jpeg.

Citation Envoyé par domi65 Voir le message
... le Jp2 (Jpeg 2000) existe depuis bientôt 20 ans, est libre de droits.
Le problème du Jpeg2000, en plus de l'incompatibilité, c'est que bien qu'il soit libre de droits en théorie, il est menacé par plusieurs brevets. Ce qui fait qu'il n'a pas pu prendre son envol auprès du grand public.
Il en va de même pour grande majorité des autres candidats a remplacer Jpeg,
Avatar de domi65 domi65 - Membre actif https://www.developpez.com
le 26/03/2017 à 12:02
Citation Envoyé par Uther Voir le message
Ce problème c'est que Jpeg200 est menacé par plusieurs brevets. Ce qui fait qu'il n'a pas pu prendre son envol auprès du grand public.
Le Jpeg et le gif sont dans la même situation, ce qui n'a pas empêché leur exploitation. Du reste des tas de logiciels, mêmes gratuits, savent lire et enregistrer en jp2. Demander aux navigateurs la simple décompression des jp2 ne me semble pas être une requête surréaliste.
Offres d'emploi IT
Expert décisionnel business intelligence H/F
Safran - Ile de France - Évry (91090)
Architecte électronique de puissance expérimenté H/F
Safran - Ile de France - Villaroche - Réau
Architecte sécurité des systèmes d'information embarqués H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil