# JPEG XL

JPEG XL est un format d’image matricielle libre de droits qui permet la compression d’images fixes avec ou sans pertes. JPEG XL est conçu pour être plus efficace que les formats existants et vise à les remplacer pour tous les usages courants$^,$.

## Nom

JPEG est l’acronyme de Joint Photographic Experts Group. Il s’agit d’un comité d’experts qui édite des normes de compression pour l’image fixe.
La lettre X est utilisée pour le nom de multiples standards JPEG publiés après l’an 2000 : JPEG XT (en), JPEG XR, JPEG XS (en).
La lettre L signifie long terme puisque les auteurs comptent remplacer le format JPEG historique sur une durée équivalente au précédent.

## Histoire

Le groupe de travail JTC1/SC29/WG1 (JPEG) a lancé une Demande de Propositions en 2017 pour JPEG XL — le prochain standard d’encodage d’images fixes.
Le format de fichier (flux de données binaire) a été gelé le 25 décembre 2020, ce qui garantit que le format sera décodable par les futures mises à jour logicielles.

## Caractéristiques

Les caractéristiques principales de JPEG XL sont$^,$$^,$ :
* Amélioration des fonctionnalités et de l’efficacité par rapport aux formats traditionnels (tels que JPEG, GIF et PNG)
* Décodage progressif (en résolution et en précision)
* Réencodage de fichiers JPEG sans pertes et avec une taille de fichier réduite d’environ 20 %
* Encodage sans pertes et encodage du canal alpha sans pertes
* Adapté à la fois aux photographies et aux images synthétiques
* Qualité d’image progressive pour une large plage de débits
* Encodeur de référence optimisé pour la qualité perceptuelle
* Large gamme de couleurs et gamme dynamique étendue (HDR)
* Animations
* Encodage et décodage basse énergie qui ne demande pas de puce spécialisée
* Format sans royalties et avec une implémentation de référence en open source

## Détails techniques

JPEG XL reprend les idées du format PIK de Google et du format FUIF de Cloudinary.
Le format a une panoplie de modes d’encodage. Du côté compatibilité, un mode fait le transcodage du format historique JPEG en une forme plus compacte pour le stockage. Du côté format d’image moderne, il y a un mode basé sur VarDCT (avec une modélisation séparée des contours et des formes répétitives comme le texte) et un mode presque sans pertes/réactif qui utilise des ondelettes de Haar modifiées. La transformée en cosinus discrète (DCT) utilise un espace de couleurs XYB inspiré par la réponse LMS de l’œil.
La prédiction est sous-tendue par un décorrélateur pixel par pixel, incluant un ensemble paramétré de prédicteurs pondéré et auto-correctif. La modélisation du contexte fait appel à des modèles statiques spécialisés et à de puissants modèles méta-adaptatifs qui tiennent compte de la déviation locale, avec une structure arborescente signalée et la sélection du prédicteur en fonction du contexte. Le codage d’entropie utilise LZ77 et peut faire appel aussi bien aux systèmes de numération asymétriques (ANS, pour l’encodage faible complexité) qu’au codage de Huffman (pour limiter le surcoût avec les flux courts).
Par défaut, elle produit une bonne compression avec très peu d’artefacts visuels.

## Logiciel
### Support existant

* JPEG XL Reference Software – implémentation de référence
** Windows Bin Builds – convertisseurs venant de l’implémentation de référence, compilés pour Windows (contient aussi beaucoup d’autres programmes)
* ImageMagick – utilitaire et librairie pour le traitement des images
* GIMP – éditeur graphique
* Paint.NET – éditeur graphique (via un plugin apparu en 2022, qui est désormais inclus avec Paint.NET depuis la version 5.1.5)
* XnView MP – logiciel de visualisation, de retouche et de conversion d’images
* IrfanView – logiciel de visualisation, de conversion et de traitement d’images (dès version 4.59, plugin JPEG-XL)
* MConverter – convertisseur multimédia en ligne
* JPEG XL WIC – support de l’extension JXL sous Windows avec WIC, par exemple pour visualiser dans Photo Viewer, File Explorer, etc.
* qt-jpegxl-image-plugin – support pour Qt de l’extension JXL sous Linux et sous Windows
* JXLook – visualiseur et plugin pour macOS
* FFmpeg – bibliothèque de logiciels de traitement de flux audio et vidéo
* Pale Moon – navigateur web

### Support en cours de développement

* Firefox – navigateur internet, fonctionne sous Nightly en activant une option dans about:config
* Chromium – navigateur internet, le support a été introduit pour test le 1er avril 2021, puis retiré le 9 décembre 2022
* WebKit – moteur de navigation pour Safari et autres

## Statut de la normalisation

| Nom commun | Partie | Première date de sortie publique (première édition) | Numéro ISO / CEI | Titre officiel |
| JPEG XL | Partie 1 | 30 mars 2021 | ISO / CEI FDIS 18181-1 | JPEG XL Image Coding System — Part 1: Core coding system |
| JPEG XL | Partie 2 | 13 octobre 2021 | ISO / CEI DIS 18181-2 | JPEG XL Image Coding System — Part 2: File format |
| JPEG XL | Partie 3 | 3 octobre 2022 | ISO / CEI WD 18181-3 | JPEG XL Image Coding System — Part 3: Conformance testing |
| JPEG XL | Partie 4 | 5 août 2022 | CD ISO / CEI 18181-4 | JPEG XL Image Coding System — Part 4: Reference software |