Qu’est-ce qu’un fichier JPX ?
Un fichier JPX est un conteneur étendu de la partie 2 de JPEG 2000 qui peut contenir plusieurs flux codés, des calques, des instructions de composition, des métadonnées et des informations colorimétriques avancées. Le même format est également utilisé avec l’extension .jpf. Il étend le format JP2, plus simple.
Fonctionnement des fichiers JPX
JPX est le format de fichier défini dans l’annexe M de JPEG 2000 partie 2 comme une extension de JP2, construite à partir de la même structure de boîtes. Dans le cas le plus simple, il encapsule un flux codé, comme JP2, avec un choix plus large de spécifications colorimétriques. Au-delà, un fichier peut stocker plusieurs images de type JP2, appelées calques de composition, et un calque peut tirer ses canaux de plusieurs flux codés, par exemple la couleur de l’un et l’opacité d’un autre. Les instructions de composition recadrent, positionnent et dimensionnent ensuite les calques dans une zone de rendu dont la largeur et la hauteur définissent le résultat du rendu, sous forme de composition fixe ou d’animation. JPX permet également de diviser un flux codé en fragments, y compris des fragments dans d’autres fichiers, et d’interpréter les échantillons comme des valeurs à virgule fixe ou flottante. Comme un lecteur n’est pas tenu d’implémenter toutes les fonctionnalités, le fichier déclare ce qui est nécessaire à son affichage dans une boîte Reader Requirements et dans les codes de compatibilité de File Type. Son type de média enregistré est image/jpx. Une chaîne de diffusion devrait aplatir les présentations avancées uniquement lorsque la cible ne peut pas les interpréter, et conserver la structure d’origine comme ressource de référence.
Points clés
- Lorsqu’un fichier JPX contient des données de composition dans une boîte Composition (
comp), l’image affichée est définie par ces données, et non par un flux codé particulier : elles fixent la largeur et la hauteur de la zone de rendu, et chaque instruction peut recadrer un calque de composition et le placer à une position et à une taille données. Les dimensions lues dans le premier flux codé peuvent donc différer du résultat du rendu. - Un décodeur peut ouvrir un fichier JPX et n’en restituer qu’une partie. L’accès aux flux codés suivants ou au résultat composé nécessite un décodeur qui implémente ces fonctionnalités de la partie 2 ; les lecteurs JP2 et ceux du profil de base JPX n’y sont pas tenus. Un ticket OpenJPEG ouvert en 2014 signale que
opj_decompressdécode la première image d’un fichier JPX sans permettre d’accéder à ses 95 autres flux codés ; un responsable de la maintenance a répondu que la bibliothèque visait la prise en charge complète de la partie 1, avec seulement certaines extensions de la partie 2. Vérifiez le comportement de votre décodeur avec les fichiers contenant plusieurs flux codés. - La boîte File Type d’un fichier JPX indique si un lecteur plus simple peut l’afficher. Le code de marque est
jpxsuivi d’une espace ; dans la liste de compatibilité,jp2suivi d’une espace signifie qu’un lecteur JP2 peut ouvrir le fichier, etjpxbqu’un lecteur du profil de base JPX le peut. Un lecteur du profil de base ne restitue que le premier calque de composition, qui, dans un fichierjpxb, doit être un flux codé unique représentant le résultat du rendu. La spécification appelle ces solutions des replis et précise qu’elles peuvent ne pas produire exactement le résultat souhaité ; la boîte Reader Requirements (rreq) indique ce qui est nécessaire pour afficher le fichier comme son logiciel d’écriture l’a prévu. Testez les fonctionnalités de la partie 2 dont vous dépendez après chaque étape de traitement. - JPX est nécessaire lorsque le modèle d’image JP2 est trop limité. JP2 spécifie la couleur uniquement au moyen d’espaces colorimétriques énumérés ou de profils ICC restreints ; JPX ajoute d’autres espaces énumérés, tout profil ICC d’entrée, une colorimétrie définie par le fournisseur, une opacité conservée dans un flux codé distinct ou sous forme de clé chromatique, ainsi que des échantillons à virgule fixe ou flottante. L’exemple donné par la spécification elle-même d’un contenu qu’un lecteur JP2 conforme n’interprétera pas correctement est une image CMJN.
Quand les fichiers JPX sont utiles
Utilisez JPX lorsqu’un fichier JP2 de base ne peut pas représenter les calques, les compositions ou les données colorimétriques nécessaires. Les logiciels limités à JP2 peuvent rejeter le fichier ou ne décoder qu’une partie de la présentation prévue.
Références
- ITU-T T.801 | ISO/IEC 15444-2 : extensions de JPEG 2000 (annexe M, format de fichier étendu JPX ; le texte en vigueur daté du 08/2023 est payant, et non gratuit)
- ITU-T T.801 (06/2021), édition remplacée avec un PDF gratuit : annexe M, clauses M.5.3, M.6 et M.9
- Comité JPEG : présentation de JPEG 2000 (partie 2 et format de fichier JPX)
- RFC 3745 : enregistrements des types MIME pour JPEG 2000 (image/jpx)
- Bibliothèque du Congrès : format de fichier jpf (jpx) de JPEG 2000 partie 2 (extensions)
- Ticket OpenJPEG 464 : prise en charge du décodage des fichiers JPX