Mozilla a décidé de s’attaquer au problème des images JPEG et du poids qu’elles peuvent représenter au sein d’une page web. Son projet, nommé mozjpeg, permet en moyenne de réduire le poids des images d’environ 10 % sans casser évidemment la compatibilité.
Crédits : mxmora, licence Creative Commons
Le JPEG, un format ancien mais universel
Avec les années, le poids des pages web a largement augmenté. Ce n’est pas tant la faute des langages de développement eux-mêmes (même si l’on trouve désormais de nombreux scripts) que celle des images, omniprésentes. Les sites sont en effet devenus beaucoup plus « graphiques » et s’appuient très largement sur les images pour illustrer leurs propos.
Dans la grande majorité des cas, c’est le format JPEG qui est utilisé, et ce pour une raison très simple : sa compression permet d’obtenir un poids relativement bas pour les images et sa présence depuis le début des années 90 le rend universel. Tous les navigateurs savent le lire depuis longtemps et de nombreux logiciels peuvent le manipuler. Évidemment, aujourd’hui, la question de son remplacement se pose.
10 % de réduction moyenne sur le poids des images
Mais même si la quête d’un successeur prendra encore des années, Mozilla se penche toujours sur l’optimisation de la compression. L’objectif est de produire des fichiers dont la qualité reste identique mais pour un poids moindre. Mozilla explique : « Les encodeurs JPEG ont été largement stagnants en termes d’efficacité de compression et remplacer le JPEG par quelque chose de mieux a été un sujet récurrent de discussion. Le désavantage majeur de s’éloigner du JPEG est que cela requerrait d’en passer par une période de plusieurs années de faible compatibilité avec les logiciels déployés dans le monde ».
L’éditeur est conscient qu’un remplaçant n’arrivera pas tout de suite, et c’est la raison pour laquelle il propose mozjpeg. Il ne s’agit pas à proprement parler d’un projet neuf. L’éditeur a repris en effet la bibliothèque libjpeg-turbo, auquel il a ajouté la fonctionnalité « jpgcrush ». Il s’agit un script Perl créé par Loren Merritt et qui doit réduire le poids d’un fichier, sans perte de qualité, en devinant quelle configuration de codage progressif utilise le moins de place. Avec quelques optimisations supplémentaires, les résultats finaux sont encourageants puisque sur un échantillon de 1 500 images provenant de Wikimedia, le poids moyen a été réduit de 10 %.
Une version 1.0 qui continuera d'être améliorée
Le projet est évidemment open source et totalement gratuit. Il peut donc être utilisé et modifié, mais Mozilla précise qu’il n’est pas terminé. L’idée est née du besoin de réduire le poids des images en partant du constat que les techniques de compression modernes n’avaient pas toutes été tentées sur le JPG. D’autres versions sont donc prévues, avec notamment l’inclusion d’une technique nommée « Trellis quantization » qui pourrait aider à faire diminuer le poids sans changer la qualité.
Pour l’instant, les sources de la version 1.0 du mozjpeg peut être téléchargées depuis leur dépôt Git.
Commentaires (127)
#1
10%, pour le serveur c’est beaucoup. Mais pour le visiteur, c’est à peine perceptible.
Je me demande tout de même pourquoi le vectoriel n’a toujours pas pris la place qu’il mérite. En théorie, je le verrais bien supplanter le bitmap.
#2
Il y à du bon dans l’élan de mozilla, mais comme dit mon VDD, il faudrait accorder au SVG plus d’attention car ce format est très prometteur…
#3
Le Jpeg c’est comme le MP3 un format certe historique et utile à son époque mais complètement révolu et vraiment le plus mauvais format actuel vu que la qualité d’image est moindre et la compression pas très bonne.
Bref pour du sans perte le RAW est meilleur et pour de la perte et du format web le png est bien meilleur (surtout qu’il gère la transparence)
Moi je serais d’avis de bannir le jpeg plutôt que d’essayer de construire des béquille pour faire marcher cet handicapé.
#4
Intéressant. Ça me fait penser aussi à ce bug :
https://bugzilla.mozilla.org/show_bug.cgi?id=856375
et à la discussion enflammée, argumentée (des deux côtés) sur l’implémentation par Mozilla du format image WebP de Google et son algorithme de compression (avec pertes) prédictif.
https://developers.google.com/speed/webp/?csw=1
Certains acteurs du Web justifient de réels gains de bande passante, Mozilla de l’autre ne veut pas se précipiter et soutenir un format sans garantie sur sa pérennité et intérêt, au vu également de leur étude comparative qui relativise l’effet de WebP par rapport au Jpeg :
http://people.mozilla.org/~josh/lossy_compressed_image_study_october_2013/
À suivre " />
#5
#6
#7
#8
Le vectoriel est inadapté pour la photographie or je doute qu’on puisse remplacer des nombreuses photos en jpeg par des dessins en svg (et puis aucun appareil photo ne prend des photos en svg)
La démocratisation d’Internet et des APN font également qu’il y a un certain nombre de personnes qui ne savent pas redimensionner des photos ni adapter la compression jpeg et on se retrouve sur des sites avec des images de taille importante.
#9
#10
#11
#12
#13
10% c’est toujours ça de pris, et sans changer le décodeur c’est une très bonne nouvelle. " />
#14
#15
“Le désavantage majeur de s’éloigner du JPEG est que cela requerrait d’en passer par une période de plusieurs années de faible compatibilité avec les logiciels déployés dans le monde”
Ce qui a aussi été le cas au niveau du PNG, avec un carton rouge à mcrosoft qui a mis des années pour supporter enfin ce format dans son navigateur - et nous a donc encore fait perdre notre temps pour rien…
En tout cas, on a bien compris que Mozilla ne voulait pas du webp pour le moment.
#16
Le vectoriel c’est beau, mais quid de la protection des fichiers ? Si je mets le logo de ma marque au format SVG (par ex.) sur mon site web je risque de me le faire copier (réutilisation en grand format/transformation, montage etc.) plus facilement non ?
Sans parler du fait qu’il n’est pas fait pour de la photo comme dit goom.
Je suis perplexe " />
Pour en revenir à la news, le format JPEG a de beaux jours devant lui et le travail que fait Mozilla est digne d’intérêt à mon sens " />
#17
#18
#19
#20
#21
#22
#23
#24
#25
La photo pour illustrer l’article est une image png, 600x400 pixels, 325 153 octets. Convertie en jpeg par gimp, j’ai pu réduire la taille d’un facteur 10 à 32 797 octets (export en jpeg qualité 89) sans une grande différence au final. En mettant l’export en qualité 100 la taille est déjà réduite d’un facteur 3.
J’ai même pu réduire la taille du png en appliquant une compression de 9 lors de l’enregistrement et gagner ainsi 100 ko sans aucune modification de la photo.
#26
Pour fêter ça je m’en vais faire un site web de wallpaper double écran en bmp qui affiche toute les tailles d’images possible au chargement et met en cache tout le reste du site pendant la visite.
#27
#28
#29
Peut-être que si opera utilisait un format alternatif pour les images avec son mode opera turbo (compression des pages à la volée) cela donnerait une certaine crédibilité au format qu’il choisirait.
Encore que:
c’est sans doute inenvisageable car le recodage d’images à la volée induirait sans doute une charge trop importante sur les serveurs.
ça ne fonctionnerait pas avec https
j’ai pas l’impresson que les PDM d’opera soit en augmentation
#30
#31
#32
#33
#34
#35
#36
#37
#38
Personne pour parler de WebP, le format de Google qui m’a l’air bien plus efficace que celui de Mozilla ?
#39
#40
#41
Ah la problématique d’améliorer/remplacer un standard qui fait la job depuis des années, mais qui accuse un retard techno. Pas évident!
En France on ne voit pas trop la problématique de gagner 10% sur la tailel des images, mais dans les pays où la connexion fixe dispose d’un fair-use comme sur mobile, ça peut faire du bien.
#42
#43
#44
10% je trouve pas ça énorme, sachant que certains logiciels peuvent faire gagner beaucoup plus sans perte apparente (du genre JPEGMini, et d’autres alternatives gratuites mais pas aussi efficaces :http://www.jackenhack.com/image-optimizer-jpeg-blog-pictures-smallest-file-size/…
J’espère qu’ils pourront faire mieux, ça serait bien pour le web.
#45
#46
#47
#48
Le MP3 en 128kb c’est moyen à cause du bitrate mais à 192kbps il devient plutôt honnête et au delà tu vois difficilement la différence avec la source (par contre c’est vrai qu’à très haute compression le WMA par ex est meilleur à 64kbps, mais faut pas se leurrer ca reste un son pourri à ce taux). A haut bitrate les gens ont tendance à préférer le FLAC parce qu’il sera lossless à taille similaire. L’OGG est un format alternatif au MP3 qui est assez honnête de mon humble avis côté qualité mais je n’ai pas trouvé d’études assez élaborées pour me faire un avis objectif.
De la même manière, du JPEG en qualité haute (donc pas 70 par défaut) est très correct. Y’a des alternatives comme le JPEG2000 mais ça ne fait pas l’unanimité (sur des photos différentes l’un ou l’autre est meilleur).
#49
#50
#51
#52
#53
#54
#55
#56
#57
#58
Pourquoi mozilla coninue d’emmerder tout le monde et ne se met pas à intégrer un codec parmi la centaines existant?
On veux un standard qui utilise la transformée en ondelette tel que le jpeg2000 ou le wep ou un autre.
Arrêtons avec ce jpg qui est obsolète depuis 20ans!
Pour rappel, il suffirait que firefox, chrome et safari supportent un codec pour que l’adoption soit INSTANTANEE !
Qui pourrait m’indiquer pourquoi ça fait des années que l’on l’attends toujours?
Je sais bien que le webP n’est pas super aimé, mais il existe des formats différents très bon.
Je suppose que l’on attends encore le format à tout faire.
Un format opensource, très performant en compression, transparent, 32bits, gestion des couleurs et métadonnés avancées, lossless, animé :)
Il pourrait même être adopté par le domaine médical qui se tape des format pourri et propriétaires.
#59
#60
#61
#62
#63
Ca n’a rien de nouveau, jpegtran le fait depuis longtemps.
#64
#65
#66
#67
#68
#69
#70
#71
#72
#73
#74
#75
#76
#77
#78
Avec la 4G, pas besoin de compresser plus les jpg, ça va tellement vite.
" />
#79
#80
#81
#82
#83
#84
#85
#86
Toujours pas de solution lossy + alpha… Ça réduirait de beau le poids de PNG avec transparence des interfaces.
#87
#88
#89
#90
#91
#92
#93
#94
#95
#96
#97
#98
Bannir le JPEG, c’est comme bannir Internet Explorer, tous les devs Web aimeraient bien, mais la réalité du marché fait qu’on doit se coltiner des casseroles historiques pendant bien des années avant de pouvoir dire aux derniers utilisateurs “bah désolé mais maintenant va falloir vivre avec ton temps”.
Cela-dit, on arrive quand même à une époque où HTML5, CSS3 et PNG sont gérés par tous les navigateurs non préhistoriques et se passer de JPEG n’est plus vraiment une utopie…
Hum hum, mais vous avez quoi à vouloir remplacer le jpeg par du png. Ca n’a pas de sens.
Un exemple en 5 secondes, sur cette page, je prend une image jpeg et une png.
Jpeg:
http://static-cf.pcinpact.com/images/bd/avatar/109323.jpg
80*73px, 1.7ko
Png:
http://www.pcinpact.com/images/apple-touch-icon-iphone.png
57*57px, 5.1ko
Voyez vous seulement la différence?
#99
#100
#101
#102
#103
#104
#105
#106
#107
#108
#109
#110
#111
#112
#113
#114
Un site comme cdiscount pourra placer encore plus de gifs animés de ce fait. " />
#115
#116
#117
Ce qui m’étonne toujours, c’est le nombre d’images PNG qui ne sont pas “optimisées” et qu’on trouve à foison sur la toile. PNGOptimizer (mais il y a des concurrents) peut faire gagner énormément de place, sans aucune différence visuelle !
#118
Un exemple a la con qui montre que le jpg2000 est bien meilleur que le jpg:
https://upload.wikimedia.org/wikipedia/en/2/20/Comparison_between_JPEG%2C_JPEG_2…
#119
#120
https://en.wikipedia.org/wiki/JPEG_2000
http://umc.edu.dz/vf/proceeding/JIG2007/sessionA1/jig08mbasessionA1-02.pdf
En fait le jpg2000 supporte bien les multi images pour remplacer le gif, le lossless la TRANPARENCE et il est beaucoup plus performant en compression que le jpg, cette compression est surtout beaucoup plus agréable à l’œil que les pixels du jpg.
Il supporte le choix de la taille du fichier de sortie (pas comme le jpg qui varie en fonction des images)
Il est supporté par safari :o
Qu’est-ce qu’on attends pour le démocratiser? " />
Ah ben non on attends juste un fork sous licence libre :o
#121
Mozilla a décidé de s’attaquer au problème des images JPEG et du poids qu’elles peuvent représenter au sein d’une page web.
Problème ? Quel problème ?
Y a toute une liste de problème liés aux pages web en général, ou a Moziila en particulier. Mais la taille des images JPEG n’en fait surement pas partie. Surtout pour gagner 10% au premier chargement (vu qu’après elles sont dans le cache local).
/useless
#122
#123
#124
Mozilla s’attaque à la compression des images JPEG pour réduire leur poids
ça diminuera les frais d’envoi " />
#125
#126
#127