Google réduit la taille des JPEG avec Guetzli

Nicolas Furno |

Google cherche depuis des années à réduire la taille des images sur le web. L’entreprise a lancé WebP il y a sept ans, un nouveau format d’images chargé de remplacer le JPG, mais qui n’a jamais totalement décollé. La faute notamment à une absence totale de prise en charge sur les appareils iOS et le JPG reste le format de référence pour les photos publiées sur internet. Fort de ce constat, le géant de la recherche essaie d’optimiser davantage les images dans ce format avec un nouvel algorithme de compression.

Nommé Guetzli (un terme suisse allemand qui désigne un biscuit), ce nouvel algorithme open-source est disponible dans une première version sur GitHub. Pour le moment, il ne s’agit que d’un outil en ligne de commande et il n’est pas optimisé du tout. Vous pouvez l’utiliser sur un Mac grâce au gestionnaire de paquets Homebrew (brew Install guetzli) et l’utiliser ensuite dans le terminal.

Guetzli pendant l’optimisation d’un fichier. Au premier plan, le moniteur d’activité et la quantité de mémoire vive utilisée par le processus. Cliquer pour agrandir

Après quelques essais, Guetzli fonctionne et il est sans doute prometteur, mais pas encore au point pour un usage courant. Ses concepteurs préviennent : l’optimisation exige beaucoup de mémoire vive, environ 100 Mo par mégapixel. Optimiser une photo prise avec un iPhone nécessitera environ 1,2 Go de mémoire vive, pour prendre un exemple. Par ailleurs, le processus est très long : il nous a fallu une dizaine de minutes pour optimiser certaines images.

Les développeurs de Google ou tous ceux qui le souhaitent (le projet étant libre) trouveront certainement des moyens d’optimiser l’outil. Guetzli promet des images jusqu’à 30 % plus légères que celles qui sont optimisées avec libjpeg, un optimiseur des années 1990 qui reste largement utilisé. Néanmoins, on a fait beaucoup mieux depuis et nous avons obtenu de nettement meilleurs résultats avec JPEGmini.

Ce nouveau-venu reste intéressant par son approche différente. Guetzli n’essaie pas seulement de réduire le poids des images, il s’efforce d’obtenir le fichier le plus petit possible, tout en restant le plus agréable à l’œil. Il exploite pour cela un outil de comparaison qui permet d’optimiser au mieux les choix à faire pour réduire la taille des fichiers. Concrètement, l’algorithme peut déterminer quel pixel est indispensable et quel pixel peut-être retiré, et il le fait avec l’objectif de garder quelque chose de plaisant à regarder à la fin.

Exemple fourni par Google, avec de gauche à droite : l’image originale, une version optimisée avec libjpeg et la dernière avec Gueztli. La deuxième version est de moins bonne qualité et elle est plus lourde que la troisième.

Il reste encore du travail pour fournir une compression rapide et des fichiers encore mieux optimisés. Le travail va continuer sur GitHub et vous pouvez y participer si vous le souhaitez.

avatar Wolf | 

En gros c'est le JPG2000 ...

avatar iAnn | 

Quelle différence de ces logiciels avec photoshop et son optimisation pour le web ?
Mieux ? plus efficaces (fichier plus léger avec une meilleur définition/qualité) ?

Merci à ceux qui ont fait la comparaison ;-)

avatar JonasL | 

Idem, je serais intéressé de savoir si les résultats sont meilleurs que ceux atteints par ImageOptim, excellent utilitaire que j'utilise quotidiennement.

avatar Nicolas Furno | 

@ JonasL : j'ai fait quelques essais, on peut facilement obtenir mieux. Je n'ai pas réussi à trouver un cas où Guetzli était vraiment meilleur, mais comme il faut beaucoup de temps pour optimiser une image, je n'ai pas fait énormément d'essais non plus.

Je dirais qu'il y a encore du boulot pour que ce soit vraiment utile…

avatar JonasL | 

Ok, à suivre donc. Merci.

avatar labon | 

Avec photoshop (tres bien par ailleurs) tu optimise 1 image ou un lot dans un dossier sur ton ordi pour ensuite les utiliser de X façons sur le web.
Avec des librairies de ce type, un site internet peu automatiquement optimiser, recadrer, reduire des images d'un site internet selon leur emplacement sur le site (icone de nav dans un menu, logo d'une page, reductions incluses dans une page, galerie photo). Le tout sur la base des instruction codées dans le site. Ainsi tu upload 1 image native et le site en génère 5 pour 5 usages differents, avec 5 compressions differentes, 5 tailles differentes, des filtres, etc.
Donc au delà de la qualité de compressions, publier sur un site pre ds 2 min au lieu de 10+ un logiciel à acheter et maitriser

avatar iAnn | 

@ labon

Merci, c'est la relève pour le web d'aujourd'hui en quelques sortes...

avatar Koda | 

Pour vraiment réduire un JPEG actuellement, je vous conseille JPEGmini. Forte réduction et résultat de qualité.

avatar Pyjamane | 

Tout à fait. Un de mes meilleurs investissement que ce petit logiciel. La réduction est incroyable pour une qualité visuelle similaire. Très utile tous les jours chez moi.

avatar JLG47_old | 

Quel est le bon format avec les écrans Retina ?
Il devient difficile de compresser sans pertes trop visibles à l'écran.
JPG propose une grande souplesse avec un rendu rapide.
Évidement, il existera toujours des codes plus efficaces.
Mais c'est un peu comme les claviers, difficile de changer les standards.

avatar teteouu | 

Il y a également MozJPEG, un outil online qui est pas mal.
https://imageoptim.com/mozjpeg

Sinon parfois j'utilise Facebook qui compresse bien les photos pour une résolution "convenable".

avatar Bil | 

Ça serai tellement mieux de prendre en charge nativement le format BPG (http://bellard.org/bpg/) car pour le moment on est obligé de passer par une lib JS.

Bien plus performant que le jpg et prend en charge les animations.

avatar marc_os | 

Ce que je trouve hallucinant, c'est que le fond de couleur unie se retrouve pixellisé dans les deux formats ! En 2017. Y encore des progrès à faire il me semble.

« l’optimisation exige [...] environ 100 Mo par mégapixel »
C'est même pire que ça !
Note: Guetzli uses a large amount of memory. You should provide 300MB of memory per 1MPix of the input image.”

CONNEXION UTILISATEUR