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

  1. 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.
  2. Le conteneur .jxr peut 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.
  3. Le type de média enregistré est image/jxr avec l’extension .jxr, et les fichiers conteneurs commencent par les octets 49 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

Transformer vos connaissances sur les médias en une chaîne de traitement opérationnelle

Reliez les téléversements, le traitement, l’IA, le stockage et la diffusion via une seule API déclarative — la pile d’encodage, la montée en charge et l’évolution constante des formats sont prises en charge pour vous.

Essayer Transloadit gratuitement