Qu’est-ce qu’un fichier JPC ?
Un fichier JPC stocke directement un flux codé JPEG 2000, généralement sans les boîtes de métadonnées fournies par un conteneur JP2. Le même flux élémentaire est aussi distribué sous les extensions .j2c ou .j2k. Ces extensions désignent les mêmes données d’image compressées JPEG 2000, et non des types de fichiers distincts.
Fonctionnement des fichiers JPC
JPC est un autre nom pour un flux codé JPEG 2000 autonome, la partie de la norme qui contient les données d’image compressées, sans les boîtes externes de la famille JP2. Son en-tête principal contient les paramètres nécessaires au décodeur pour reconstruire les échantillons, notamment la taille de l’image, le nombre et la précision des composantes, la taille des tuiles, les réglages d’ondelettes et de quantification, ainsi que l’organisation des paquets et des couches de qualité. La norme considère le format de fichier JP2 comme une enveloppe facultative autour de ce flux ; un flux codé peut donc être stocké seul ou intégré à un autre format de fichier. Le flux codé ne précise pas l’espace colorimétrique de ses composantes ; cette description doit être implicite pour l’application ou fournie hors bande.
Points clés
.jpc,.j2cet.j2kdésignent tous la même chose, un flux codé JPEG 2000 brut, et des décodeurs comme OpenJPEG dirigent les trois vers un même analyseur de flux codé. Le test fiable repose sur les quatre premiers octets,FF 4F FF 51, tandis qu’un fichier JP2 commence par une boîte de signature de 12 octets. Le type de média enregistré estimage/j2c; son enregistrement répertoriej2cetj2kcomme extensions, mais pasjpc.- Un flux codé brut ne contient aucune information sur l’espace colorimétrique. L’enregistrement du type
image/j2cindique que cette information est implicite ou fournie hors bande, et c’est l’enveloppe JP2 qui ajoute une boîte Colour Specification obligatoire. Un logiciel auquel l’espace colorimétrique n’est pas indiqué doit le deviner : l’outilopj_decompressd’OpenJPEG, par exemple, traite une image à trois composantes comme du sYCC et la convertit en RGB lorsque la deuxième composante est sous-échantillonnée horizontalement et que la première présente le même échantillonnage horizontal et vertical ; il traite une ou deux composantes comme des niveaux de gris. Lorsque la précision des couleurs est importante, obtenez l’espace colorimétrique réel ou le profil ICC auprès de la personne ou de l’organisme qui a produit le fichier et fournissez-le à l’application qui le lit. Envelopper le flux dans JP2 ne permet pas de retrouver cette information : la boîte Colour Specification doit être écrite à partir de cette valeur connue, soit sous forme d’un espace colorimétrique énuméré (sRGB, sYCC ou niveaux de gris), soit sous forme d’un profil ICC restreint. - La suppression de l’enveloppe JP2 retire les boîtes de signature et File Type, l’en-tête JP2 avec ses informations de couleur et de résolution, ainsi que les boîtes facultatives XML, UUID et de propriété intellectuelle. Elle ne supprime pas les caractéristiques de codage : la taille des tuiles est enregistrée dans le segment de marqueur SIZ, et le nombre de couches de qualité, l’ordre de progression et les réglages d’ondelettes dans COD, tous à l’intérieur du flux codé.
- Un suffixe
.jpcne garantit pas un flux conforme à la partie 1. Un flux codé peut utiliser des fonctionnalités de n’importe quelle partie de la famille JPEG 2000, comme High Throughput JPEG 2000, et déclare les exigences pour le décodeur au moyen de son champRsizet de son segment de marqueur CAP ; vérifiez-les donc avant de supposer qu’un décodeur donné peut lire le fichier.
Quand les fichiers JPC sont utiles
Les systèmes d’imagerie doivent diriger les fichiers JPC vers des décodeurs qui prennent en charge les flux codés bruts en entrée. Si un flux de travail dépend de métadonnées intégrées de couleur, de mise en page ou de description, un fichier JPC brut peut être insuffisant.
L’apport de Transloadit pour les fichiers JPC
La liste des formats d’image pris en charge par Transloadit comprend JPC, J2C et J2K, chacun décrit comme une syntaxe de flux codé JPEG-2000 et indiqué comme lisible et inscriptible pour les Robots fondés sur ImageMagick couverts par la liste, comme le Robot /image/resize. La même liste comporte une entrée JP2 distincte pour le format de fichier à boîtes, et le paramètre format du Robot sélectionne le format de sortie.
La disponibilité des formats dépend de la version utilisée par un Step pour imagemagick_stack ; vérifiez donc l’entrée correspondant à la pile logicielle utilisée par votre Step. La documentation ne décrit pas l’interprétation des couleurs lorsque l’entrée est un flux codé brut.
Explorer les possibilités de Transloadit en matière de formats de fichiers et de compression
Références
- Enregistrement du type de média auprès de l’IANA : image/j2c
- Rec. ITU-T T.800 (06/2019) | ISO/IEC 15444-1 : système de codage de base JPEG 2000, annexe A (syntaxe du flux codé, tableaux A.2 et A.3) et annexe I (format de fichier JP2, I.2.3 et I.5.3)
- RFC 3745 : enregistrements des types MIME pour JPEG 2000 (ISO/IEC 15444)
- OpenJPEG v2.5.3, fichier opj_decompress.c : correspondance des extensions, détection des signatures et espace colorimétrique de repli