Qu’est-ce que JPEG XR ?
JPEG XR est une norme de compression d’images fixes dérivée de HD Photo pour les images à tons continus. Elle prend en charge le codage avec et sans pertes, les profondeurs de bits élevées, les canaux alpha et les données à grande plage dynamique.
Fonctionnement de JPEG XR
JPEG XR est normalisé sous les références ITU-T T.832 et ISO/IEC 29199-2 et repose en grande partie sur le format HD Photo de Microsoft. Il utilise une transformée à recouvrement réversible fondée sur le schéma de lifting, appliquée à des macroblocs de 16×16, et le même algorithme sert au codage sans pertes comme avec pertes. Le flux codé est organisé en bandes de fréquences et en tuiles facultatives, ce qui permet à un décodeur de produire une image de résolution inférieure ou une région sans traiter l’ensemble du fichier. Les formats d’échantillons vont bien au-delà du JPEG sur 8 bits : entiers sur 8 et 16 bits, virgule fixe et virgule flottante sur 16 et 32 bits, en monochrome, RGB, CMYK et configurations à n canaux, avec un plan alpha facultatif. Le codage sans pertes couvre les formats sur 8 et 16 bits ; pour les données à virgule fixe et à virgule flottante sur 32 bits, la norme indique qu’une compression entièrement sans pertes n’est généralement pas disponible. Le fichier .jxr habituel est un conteneur fondé sur des balises, inspiré des structures TIFF et Exif, qui contient le format des pixels et des métadonnées facultatives autour du flux codé.
Points clés
- Un décodeur qui prend en charge JPEG XR peut néanmoins rejeter un fichier donné. La norme définit les profils Sub-Baseline, Baseline, Main et Advanced ainsi que des niveaux, et l’enregistrement de son type de média avertit qu’un décodeur récepteur peut ne pas tous les prendre en charge. Les formats de pixels avec alpha et à virgule flottante apparaissent à partir du profil Main, et Microsoft indique dans sa documentation que son codec Windows prend en charge jusqu’au profil Main et au niveau 128. Un fichier peut déclarer son profil et son niveau dans une structure facultative ; en son absence, la norme déduit le profil Advanced au niveau le plus élevé. Un fichier sans déclaration doit donc être testé, plutôt que présumé compatible. Vérifiez le profil, le niveau et le format des pixels de vos fichiers au regard des limites de votre décodeur, et pas seulement le nom du codec.
- Le conteneur
.jxrpeut contenir un profil ICC, des données Exif et XMP dans des balises dédiées, mais la norme autorise ces balises sans exiger que les décodeurs les interprètent. Un flux codé brut, que l’encodeur Windows peut aussi écrire dans son mode de flux seul, ne contient aucune métadonnée de conteneur. Vérifiez la conservation du profil colorimétrique et des métadonnées séparément du décodage des pixels. Conserver un profil ne signifie pas non plus interpréter correctement les échantillons : les recommandations informatives de la norme sur les couleurs indiquent que le RGB à virgule fixe et à virgule flottante devrait être du scRGB linéaire, tandis que le RGB à entiers non signés sans profil ni autre information colorimétrique devrait être considéré comme du sRGB. Produire une version destinée au Web à partir d’échantillons HDR implique donc une conversion des couleurs et de la plage dynamique, et pas seulement un réencodage des mêmes nombres. - Le type de média enregistré est
image/jxravec l’extension.jxr, et les fichiers conteneurs commencent par les octets49 49 BC. Windows utilise aussi.wdp, et son décodeur accepte à la fois JPEG XR et l’ancien format HD Photo, qui, selon Microsoft, diffère de la norme sur certains points. L’extension seule ne permet donc pas de savoir lequel des deux formats est contenu dans un fichier.
Quand JPEG XR est utile
JPEG XR est pertinent lorsque le codec intégré à Windows est disponible ou que ses modes à profondeur de bits élevée, HDR ou sans pertes sont nécessaires. Parmi les navigateurs, seuls Internet Explorer et la version originale de Microsoft Edge, antérieure à Chromium, le décodaient ; la diffusion sur le Web nécessite donc une conversion vers un autre format.
Références
- Rec. ITU-T T.832 (06/2019) | ISO/IEC 29199-2 : spécification du codage d’image JPEG XR, annexes A, B, C et E
- Enregistrement du type de média auprès de l’IANA : image/jxr
- Comité JPEG : présentation de JPEG XR
- Microsoft Learn : présentation du codec JPEG XR (Windows Imaging Component)
- Données de prise en charge de Can I use : format d’image JPEG XR