En attendant mieux, mozjpeg 3.0 continue de compresser les JPEG

Stéphane Moussie |

Alors que les formats vidéo évoluent à la vitesse grand V (le H.265/HEVC pointe le bout de son nez), les formats d'image n'ont, eux, pas beaucoup progressé dans le même temps. Le JPEG, qui souffre du poids des années — plus de 20 bougies à souffler —, est toujours le plus utilisé.

Il y a bien des candidats pour le suppléer, mais jusqu'à maintenant aucun n'est parvenu à le détrôner pour différentes raisons. Les regards se tournent actuellement vers BPG, un format très prometteur basé sur le H.265. En attendant qu'il se démocratise (si cela arrive un jour), Mozilla s'échine à améliorer le JPEG, qui a l'apanage d'être pris en charge par tous les logiciels.

mozjpeg, son outil de compression open source lancé il y a un peu moins d'un an, vient de passer en version 3.0. Les améliorations apportées sont très techniques, mais le développeur Kornel Lesiński explique clairement sur son blog leurs effets concrets.

De base, le JPEG gère très mal les textes noirs sur fond blanc, comme on peut en trouver dans des bandes dessinées. Si on pousse trop fort la compression, des halos gris apparaissent autour des lettres. mozjpeg 3.0 prend beaucoup mieux en compte cet aspect. Grâce à une technique de deringing détaillée ici, l'outil parvient à compresser l'image sans créer de disgracieux artefacts. L'exemple ci-dessous est parlant.

Cliquer pour agrandir

mozjpeg 3.0 prend aussi mieux en charge les images très haute résolution (high DPI ou Retina). Des réglages destinés spécifiquement à ces fichiers lourds permettent par exemple de compresser plus fortement les détails.

mozjpeg n'est pas disponible sous la forme d'une application prête à l'emploi. Il s'agit d'une bibliothèque que les développeurs peuvent intégrer à leur logiciel (nous nous en servons à MacGeneration via notre application de transferts d'images sur nos serveurs). Si vous voulez tester mozjpeg rapidement, Kornel Lesiński a tout de même mis en ligne une web app basique.

Tags
avatar iapx | 

Vérifié sur le blog de l'auteur et c'est pas mal passionnant!

avatar Emmeci | 

Nombreuses sont les solutions qui émergent en ce moment pour une meilleure compression jpg… Comment ce dernier format se compare-t-il à JpegMini ou ImageOptim? Savoir si j'ai fait le bon choix de crèmerie…

avatar flagos | 

C'est pas forcément une mauvaise solution. Le jpeg progressif est un format finalement pas si mal optimisé. Alors c'est sur que compresser en h265 permet d'obtenir de meilleurs résultats plus rapidement, mais le problème c'est qu'il faudra attendre au minimum 10 ans pour avoir un support digne de ce nom.

Améliorer les encodeurs JPEG, au final c'est une solution pragmatique immédiatement réalisable.

avatar joneskind | 

@flagos

C'est sûr qu'il n'est pas encore question d'abandonner le jpg. Mais les enjeux d'un format d'image plus léger sont considérables et il me semble vraiment indispensable de se pencher sur la question assez rapidement.

Mais on va y venir sans le moindre doute. Les acteurs qui ont à y gagner sont nombreux. Des hébergeurs aux FAI qui cherchent les économies de bande passante, aux constructeurs informatiques informatiques comme Apple qui voudraient sans doute bien voir le Retina se généraliser sur le web, en passant par les développeurs de jeux vidéos qui ne savent plus comment faire pour réduire le poids des textures - et sans gestion de la couche Alpha, pas de jpg dans le jeu vidéo.

Reste à savoir combien de temps il va falloir attendre pour enfin en voir les fruits.

avatar hawker | 

J'aimerai bien voir le jpg disparaitre au profit de codecs plus modernes (BPG),
avoir une image haute qualité en fond des site sans que cela nécessite de télécharger de gros fichiers images ou simplement avoir des images sans artefacts devenir une majorité...

Je pense que si le hevc est accepte comme standard vidéo pour html5, il n'y aura aucune raison de pas accepter le bpg, puisqu'ils ont les mêmes brevets, et bénéficieraient d'une accélération matérielle partagée.
Que hevc soit standardise par le w3c est la seule et meilleur manière d'avoir les deux sinon ce sera aucun. Et ce serait rudement dommage de passer a coté...

CONNEXION UTILISATEUR