WebP : le régime minceur de Google pour le JPEG

Florian Innocente |
Après le format WebM pour la vidéo, Google propose le WebP un format ouvert pour les images. Objectif, que les sites web hébergent des images moins lourdes, réduisant ainsi le temps de transfert et de chargement des pages.

Une question devenue prégnante à l'heure de l'Internet mobile et alors que les images et photos représenteraient environ, selon les calculs de Google, 65% du poids d'une page web.

Parmi les trois formats d'images considérés - gif, png et jpeg - les ingénieurs de Google ont choisi de porter leurs efforts sur le troisième, le plus courant. Et de chercher à voir s'il y avait moyen de compresser davantage encore ces fichiers jpeg, sans pour autant sacrifier leur définition.

Un moteur de compression utilisé dans le codec vidéo VP8 a été récupéré et un container ajouté au format pour y insérer des métadonnées si l'auteur de l'image en a le besoin.

Google a ensuite testé son outil de compression sur un échantillon d'un million d'images trouvées sur Internet, la plupart au format jpeg. Cette seconde compression a permis de réduire en moyenne le poids de ces fichiers de 39%. Un chiffre qui pourrait être même plus élevé en partant de l'image originale non compressée. Le WebP fait mieux aussi que le JPEG 2000 où le gain sur le même échantillon n'a été que de 9,71% en moyenne. Et de façon plus générale, ce WebP serait à l'aise avec de petites images, ce qui convient parfaitement au web.

Galleryewbp


Le résultat, avant/après et les gains obtenus - de 10 à 75% - peut être comparé sur cette petite galerie d'images. Le WebP n'étant pas encore pris en charge par les navigateurs, un container png a été utilisé pour l'afficher. Les originaux sont aussi disponibles (archive zip) dans leurs dimensions de départ.

De premiers outils de compression sont également disponibles, mais Linux et Windows sont servis en premier. Maintenant Google va s'attacher à vanter les mérites de son invention auprès des développeurs de navigateurs et intégrer le support de WebP dans une prochaine version du WebKit pour Chrome. Le support des couches alpha pour les effets de transparence est aussi sur la feuille de route.

Tags
avatar liocec | 
Ce serait vraiment bien que ça fonctionne. Le temps d'accès des pages web amélioré, les ressources du navigateur réduites...
avatar marc_os | 
Ce serait vraiment bien aussi si les auteurs de sites s'occupaient aujourd'hui à compresser correctement les images avec les outils actuels. Je ne suis pas sûr que l'existence d'un format et d'un nouvel outil de compression change beaucoup les choses si personne ne l'utilise, ou s'il demande de la part de l'utilisateur de faire des réglages. Si aujourd'hui l'auteur ne fait pas de réglages, il n'en fera pas non plus demain.
avatar Silverscreen | 
Quand on voit le temps qu'il a fallu à IE pour gérer le .png transparent… Au moins comme ça on passe tout au PNG : 24 bits pour pas de perte, 8 bits/256 couleurs pour remplacer le Gif et PNG(WebP) pour remplacer le Jpeg. Un format unique et la transparence gérée sur 2, puis bientôt les 3 versions… Ou alors j'interprète mal la notion de "container png"…
avatar patchoulol | 
Est-ce que vous auriez un lien vers la source de ces infos ? Parce que je suis très étonné du faible gain de JPEG 2000 (qui est subjectif, car tout dépend du réglage de la compression choisi). Par ailleurs, je ne vois nulle part parler de container png, mais plutôt de RIFF (à moins que le PNG utilise également RIFF ?).
avatar Perc3val | 
Moe... tant que les images compressée "façon google" ne récupèrent pas mes données personnel quand je les regardes... ;)
avatar ricchy | 
Rien de tel que SmallImage > http://www.iconus.ch/fabien/accueil/logiciels/sifre/sifre.html ^,^
avatar oomu | 
"Ou alors j'interprète mal la notion de "container png"…" c'est juste pour vous permettre de comparer le résultat. Vous n'avez pas de décodeur webP chez vous, donc ils ont sauvegardé le résultat en png (qui est sans perte de détails) pour que vous puissiez comparer entre jpeg et webP (et "container png" est un anglicisme abominable, c'est à dire que même en anglais c'est déjà abominable mais google n'est pas connu pour sa clarté )
avatar Zed-K | 
Sur le principe c'est extrêmement intéressant. Des jpeg plus petits, et qui pourraient prochainement gérer la transparence (seul Flash - par un moyen que j'ignore totalement - était à ma connaissance capable jusque là d'appliquer une compression JPEG à un bitmap avec couche alpha tout en la conservant). Par contre comme toujours, il va falloir patienter avant que tous les navigateurs l'implémente (s'ils acceptent de l'implémenter). Très prometteur en tout cas !
avatar vintz72 | 
Pourquoi ça marcherait mieux que le JPEG2000 ? Ce dernier a-t-il un problème de licence ?
avatar vintz72 | 
Et le gain pour le JPEG2000, c'est le gain de WebP sur JPEG2000 ou le gain de JPEG2000 sur JPEG ?
avatar oomu | 
@marc_os [01/10/2010 10:30] tout auteur de site concerné par la facture et le temps d'accès tient compte des "réglages". Et si à réglage similaire, ce webP compresse mieux que jpeg, les gens pondront du webP. la seule contrainte est son support par _tous_ les navigateurs (cela veut dire les appareils mobiles, les télé et consoles de jeu aussi) du marché. quasi inimaginable pour l'heure.
avatar oomu | 
"Pourquoi ça marcherait mieux que le JPEG2000 ? Ce dernier a-t-il un problème de licence ?" il a un ultra-problème de licence et un ultra-problème de brevet. son usage n'est pas libre ni raisonnable.
avatar Wolf | 
@oomu: "il a un ultra-problème de licence et un ultra-problème de brevet. son usage n'est pas libre ni raisonnable." ?? Je ne sait pas is tu est bien au courant du JPEG 2000, mais il n'y à aucun problème de licence. Depuis 2003 la "licence" est "royalty free and license-fee free". Mais ce n'est pas un format open source de même que le H264 WebP c'est dangereux, c'est un moyen de plus pour Google d'essayer de contrôler le web. Bientôt tout devras passer par Google.
avatar NicolasO | 
@oomu: +1. C'est une tres bonne nouvelle mais il faudra du temps. La bonne nouvelle: on peut imaginer un serveur intelligent qui choisira dynamiquement une image ou l'autre en fonction de l'agent (assez vite tout le monde sauf IE et Safari). Je pense aussi que WebP aura les memes opposants que WebM (ceux qui font de l'argent avec le MPEG), donc pas de support Safari et IE...
avatar Gr3gZZ | 
Le JPEG c'est l'art de transformer une bonne image en image dégeu. Vivement de nouvelle solution, on à beau le compresser à nouveau ca reste du jpeg dégeu.
avatar Mithrandir | 
Je ne vois pas l'intérêt d'inventer un nouveau format. Je pense pas ailleurs que Google est malhonnête concernant jpeg2000. C'est une comm marketing avant tout de leur part, pour essayer de pousser leurs propres solutions. Et jpeg2000 est maintenant "libre et ouvert", donc pourquoi inventer encore quelque chose décimons abouti ?
avatar misterbrown | 
oui enfin, ca ne sert à rien d'inventer des supers outils si personne ne les utilise.. On utilise encore du Jpeg et du mp3 en 2010. Ce qui est UN SCANDALE !
avatar omega2 | 
Utiliser Smush.it pour les images de vos sites et vous gagnerez en général entre 8 et 20% de la taille totale des images. Rien que sur cette page, on gagne 12.84 Ko soit 18.6% du poids total des images. Vu le nombre de sites où l'on gagne plus de 10% du poid des images en passant par ce service de yahoo, je me dit que la consommation de bande passante des images n'est pas un problème dans la tête des gérants de site web. Pour info, smush.it garde le format et la qualité initiale des images. Il se contente d'enlever les données inutiles. A l'heure actuelle, on ne peut que prendre les chiffres de google avec le scepticisme de vigueur pour les raisons suivantes : - on ne peut pas vérifier les chiffres faute d'avoir accès aux images finales - google ne dit pas si leurs tests sont fait en gardant les métadata de l'image ou en les supprimant (on gagne déjà jusqu'à 22% de la taille du fichier en passant par smush.it sur les images "original" d'exemple fournis par google)
avatar jamais_plus | 
@Mithrandir D'après Google, leur solution offre de meilleurs taux de compression à qualité égale, particulièrement sur des images de petit formats. Peut être que la situation juridique de jpeg2000 s'est amélioré, en attendant il est absent du Web et je ne sais pas quelles sont les navigateurs qui le prenne en charge. Faut arrêter de voir le mal partout, c'est pas parce que c'est fait par Google que c'est une mauvaise solution.
avatar biniou | 
On a une moins bonne définition des couleurs avec leur compression (voir les exemples de Google).
avatar Anonyme (non vérifié) | 
Qu'est-ce que c'est que ce truc ? Non mais sérieusement, téléchargez les exemples, le 4 passé à ImageOptim est réduit de 20,1%, et encore c'est sans supprimer les les informations de colorimétrie. Comme le fait remarquer biniou, sur les PNG les infos de couleur sont perdues. Je ne sais pas trop ce qu'ils ont fichu chez Google, mais soit ils ne savent pas préserver les couleurs pour montrer leurs exemples, soit WebP n'incorpore pas les infos de profile (et dans ce cas il n'est guère surprenant que WebP soit particulièrement euh... "performant" sur les petites images). En tout cas une chose est sûre, c'est qu'ils ne savent pas optimiser leurs JPEG. Ou, et c'est nettement plus probable vu qu'ils sont sensés connaitre ce dont ils parlent et que Google est connu pour ses optimisations coté client, que l'exemple est volontairement faussé. Encore une nouvelle bonne raison de faire confiance à Google.
avatar frodon27 | 
J'ai pas lu les coms mais je fais du dev web et la semaine dernière j'envoi une maquette html d'un e-mailing avec des .png (sans alpha) à la boite qui s'occupe de le diffuser et on me repond (j'adore) : "le format .png n'est pas compatible avec internet, veuillez me renvoyer votre bat avec des gif". Réduire le poids du web ne passe donc pas par inventer de nouveaux algo de compression mais commencer par virer/éduquer les brebis galeuse.
avatar apenspel | 
[quote=gr3gzz]Le JPEG c'est l'art de transformer une bonne image en image dégeu. Vivement de nouvelle solution, on à beau le compresser à nouveau ca reste du jpeg dégeu.[/quote] Forcément puisque le .jpeg est un format destructeur de données. Plus tu compresses, ou re-compresses, moins c'est bon.
avatar mathiasr | 
En fait il ne faudrait pas grand-chose pour pouvoir améliorer les formats actuels, le JPEG originel prévoyait l'utilisation du codage arithmétique à la place de Huffman, c'est activable dans la Libjpeg, ça réduirait les fichiers de 10% environ (mais IBM à un brevet dessus), de même on pourrait remplacer le vieillissant deflate utilisé par PNG par LZMA. En fait ce que ne savent pas la majorité des gens est que pour réellement optimiser un fichier PNG il ne faut pas se contenter de le sauvegarder avec Photoshop ou GraphicConverter, il faut le remouliner avec des outils comme pngout suivi de deflopt (et encore pngout ne fait pas de dirty transparency). Maintenant disposer d'un format un peu plus moderne que JFIF/JPEG pouvant intégrer une couche alpha, oui je suis preneur. Dommage que le PNG n'ait pas mieux évolué entre autre avec un support des images 12 bits (4+4+4) ou 15 bits (5+5+5) pour des vignettes, ou permettre d'utiliser une couche alpha complète avec une image en 256 couleurs (on peut désigner la transparence de plusieurs couleurs, c'est bien mais pas assez). Le système de filtre était prometteur, mais sous exploité et n'a pas évolué. En fait beaucoup de monde s'est contenté de la libpng avec zlib, et peu de monde a cherché à exploiter plus avant le format qui a eu du mal à décoller à cause Internet Explorer 6 et l'absence de gestion du gamma sur les PCs.

CONNEXION UTILISATEUR