Chromium fusionne JpegXL
(chromium-review.googlesource.com)- Le décodeur JpegXL a été intégré à la base de code de Chromium, permettant au navigateur de traiter les images au format JXL
- La modification peut être consultée sur la page de revue de code Gerrit sous le titre « Wire up JXL decoder »
- Cette fusion constitue une étape clé pour la prise en charge du format JpegXL, incluant le raccordement du décodeur
- La revue de code est enregistrée comme une modification dans le dépôt src de Chromium (7184969)
- Cela est significatif dans le cadre de l’élargissement de la prise en charge des formats d’image de nouvelle génération par les navigateurs web
Intégration du décodeur JpegXL dans Chromium
- L’élément de revue de code Gerrit « Wire up JXL decoder (7184969) » correspond à une modification qui relie le décodeur JpegXL au projet Chromium
- Cette modification est effectuée dans le dépôt src de Chromium
- La plateforme de revue de code utilisée est chromium-review.googlesource.com
- Comme l’indique le titre, il s’agit du travail consistant à raccorder (wire up) le décodeur JXL (JpegXL) à l’intérieur du navigateur
- La page n’affiche ni explication supplémentaire ni détails du code ; seul le titre de la modification est visible
Contexte technique
- JpegXL est un format de compression d’image de nouvelle génération, visant à améliorer l’efficacité par rapport au JPEG existant (pas de mention directe dans le texte source, seul le nom technique apparaît)
- Avec l’intégration du décodeur dans Chromium, les bases nécessaires à l’activation du traitement des images JXL au niveau du code sont désormais en place
- Cette modification constitue une avancée technique liée à l’extension du système de décodage multimédia du moteur de navigateur
État du document
- La page est présentée comme un instantané mis en cache d’une revue de code Gerrit
- Un avertissement indique que le shadow DOM est masqué, mais le contenu réel du code n’est pas affiché
- Par conséquent, les seules informations vérifiables dans ce document sont le titre de la modification et l’identifiant de revue (7184969)
1 commentaires
Commentaires Hacker News
J’ai regardé l’article de blog de Cloudinary, un ancien article de référence qui compare webp, jpegxl, avif, jpeg, etc.
Les graphiques sont bien présentés, et AVIF est très lent.
Lien vers la section concernée
Voir la capture d’écran
La bibliothèque jxl-rs est une implémentation Rust de JPEG XL.
C’est un projet relativement récent, mais grâce à Rust, cela semble rassurant du point de vue de la sûreté de sécurité.
Cette bibliothèque n’existait pas lors des anciennes discussions autour de Chromium.
Rust peut inspirer un excès de confiance, et conduire à omettre la modélisation des menaces.
Au contraire, un programmeur C prudent peut parfois être plus sûr.
Lien vers les résultats de recherche
J’ai récemment comparé WebP et AVIF, et WebP s’encode quasiment instantanément, tandis qu’AVIF met plus de 20 secondes pour une image de 1 MP.
JXL n’est pas encore assez pris en charge pour être utilisable en pratique, mais j’espère une vitesse au niveau de WebP avec une meilleure qualité.
Dans mon environnement, je génère un AVIF de 2 MP en environ 100 ms.
Il est regrettable que la spécification publique (spec) de JPEG XL ne soit pas librement accessible.
On a encore droit à un nouveau format d’image, et j’ai peur qu’on se retrouve une fois de plus dans une situation où il reste inutilisable sans conversion.
Lien Microsoft Store
Chromium est plutôt en retard sur ce point.
En lisant la liste des fonctionnalités de JPEG XL sur Wikipédia, j’ai vu des fonctions intéressantes comme les images multicanales ou les documents multipages.
Il y a de bons côtés, mais cela donne de plus en plus l’impression de devenir aussi complexe que TIFF.
Il reste encore beaucoup de points communs entre JPEG et JPEG-XL.
Je me demande si une nouvelle implémentation qui intégrerait aussi la prise en charge du JPEG classique permettrait de réduire la taille du code.
Lien vers l’issue #513
Personnellement, comme avec WEBP, je préfère continuer à utiliser le JPEG existant plutôt qu’un nouveau format.
La plupart des programmes le prennent en charge, et pour l’utilisateur moyen, JPEG + PNG suffisent largement.
Pour les animations simples, GIF suffit, et pour les contenus complexes, on peut utiliser de la vidéo.
Il permet un encodage sans perte avec des fichiers plus petits que PNG, et prend aussi en charge un transcodage réversible en compressant les JPEG existants 20 % de plus.
HDR, gamme étendue, chargement progressif et bien d’autres fonctions en font un format idéal pour le web.
Voir jpegxl.info
Tous les principaux navigateurs le prennent en charge depuis Safari 14, et il est intégré par défaut depuis Windows 10 et macOS Big Sur.
Voir l’état du support et la liste des logiciels.
Article connexe
Cela fait longtemps que j’entends parler du débat JPEG XL, WebP et AVIF, mais je connaissais mal le sujet.
Les benchmarks montrent que JpegXL est supérieur à WebP à la fois en vitesse de compression et en taille de fichier ; je me demande donc pourquoi Chromium hésitait à l’adopter.
De plus, libjxl représente plus de 100 000 lignes de C++, avec donc un risque de vulnérabilités de sécurité.
À mesure que l’implémentation Rust mûrit, Chrome semble réévaluer la question.
Vidéo de démonstration
Je me demandais si JPEG XL prend en charge l’animation.
Lien détaillé