Qu’est-ce qu’un fichier J2C ?

Un fichier J2C contient un flux codé JPEG 2000 brut plutôt que les boîtes et la structure de métadonnées d’un conteneur de la famille JP2. Le même flux binaire élémentaire circule aussi sous les extensions .j2k et .jpc. Il contient principalement des données d’échantillons d’image compressées.

Fonctionnement des fichiers J2C

Un fichier .j2c est un unique flux codé JPEG 2000 sans enveloppe ; .j2k et .jpc sont d’autres noms du même flux, et non des formats distincts. La syntaxe du flux codé est définie dans l’annexe A de ITU-T T.800 | ISO/IEC 15444-1. Il commence par le marqueur SOC, immédiatement suivi du segment de marqueur SIZ, qui indique la taille de la grille de référence et des tuiles, le nombre de composantes, ainsi que la profondeur de bits et l’espacement des échantillons de chaque composante. D’autres segments de marqueur décrivent le style de codage, la quantification et la progression, et le marqueur EOC termine le flux. Cela suffit à un décodeur pour reconstruire les valeurs des échantillons et, puisque les niveaux de résolution, les couches de qualité, les tuiles et l’ordre de progression sont codés dans le flux lui-même, le décodage à résolution réduite ou partiel ne dépend pas d’un conteneur. Ce que le flux codé ne précise pas, c’est la signification des échantillons. Le format de fichier JP2 existe pour ajouter cette couche : il enveloppe le flux codé dans des boîtes qui contiennent, entre autres, au moins une boîte de spécification des couleurs et, éventuellement, une boîte de propriété intellectuelle pour les informations sur les droits.

Points clés

  1. Comment reconnaître un fichier .j2c ? Par ses premiers octets, pas par son nom. Un flux codé commence par FF 4F FF 51, soit le marqueur SOC suivi du marqueur SIZ, tandis qu’un fichier JP2 commence par la boîte de signature de 12 octets 00 00 00 0C 6A 50 20 20 0D 0A 87 0A, suivie d’une boîte de type de fichier. Le type de média enregistré pour un flux codé brut est image/j2c, qui répertorie j2c et j2k comme extensions de fichier ; image/jp2 est le type du format de fichier structuré en boîtes.
  2. Le fichier indique-t-il l’espace colorimétrique de ses échantillons ? Non. L’enregistrement de image/j2c précise qu’un flux codé JPEG 2000 ne contient pas d’informations sur l’espace colorimétrique de l’image et que celui-ci est implicite ou fourni hors bande. Un fichier JP2 doit contenir au moins une boîte de spécification des couleurs ; un fichier .j2c n’a pas d’équivalent. Quiconque affiche ou convertit un flux codé brut s’appuie donc sur une hypothèse ou sur des informations conservées ailleurs.
  3. Tout décodeur JPEG 2000 partie 1 peut-il lire n’importe quel fichier .j2c ? Pas nécessairement. Selon l’enregistrement, un flux codé peut utiliser des fonctionnalités de n’importe quelle partie de la famille JPEG 2000, et les fonctionnalités nécessaires au décodeur sont signalées par le paramètre Rsiz dans le segment de marqueur SIZ, conjointement avec le segment de marqueur CAP. Les premiers octets ne permettent pas de les distinguer : OpenJPEG, par exemple, détecte les flux codés à haut débit .jhc avec la même signature de quatre octets que celle utilisée pour .j2c.
  4. Un fichier .j2c est-il sans perte ou avec perte ? Le suffixe ne le dit pas, mais le flux le précise en partie. Dans un flux codé de la partie 1, les segments de marqueur de style de codage indiquent si le filtre en ondelettes irréversible 9-7 ou réversible 5-3 a été utilisé. Le filtre irréversible correspond au codage avec perte. Le filtre réversible rend possible le codage sans perte sans le prouver, car T.800 précise que la transformation réversible à composantes multiples, utilisée uniquement avec le filtre 5-3, peut être employée dans des flux codés tronqués pour produire une compression avec perte. Un flux codé utilisant les extensions de la partie 2 (T.801 | ISO/IEC 15444-2) peut contenir d’autres valeurs dans le même champ, chacune sélectionnant un noyau de transformation défini dans le flux lui-même.

Quand les fichiers J2C sont utiles

Un décodeur doit accepter un flux codé JPEG 2000 brut plutôt que de supposer que chaque ressource possède des métadonnées de conteneur JP2. Les chaînes de traitement qui ont besoin d’informations sur les couleurs ou les droits peuvent devoir les obtenir d’une autre source.

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