Was ist eine JPC-Datei?
Eine JPC-Datei speichert einen Codestream für JPEG 2000 direkt, in der Regel ohne die Metadatenboxen eines JP2-Containers. Derselbe Elementarstream wird auch als .j2c oder .j2k verbreitet. Diese Erweiterungen bezeichnen dieselben komprimierten Bilddaten für JPEG 2000, keine separaten Dateitypen.
So funktionieren JPC-Dateien
JPC ist eine weitere Bezeichnung für einen eigenständigen Codestream für JPEG 2000, also den Teil des Standards, der die komprimierten Bilddaten enthält, ohne die äußeren Boxen der JP2-Familie. Sein Hauptheader enthält die Parameter, die ein Decoder zur Rekonstruktion der Abtastwerte benötigt: Bildgröße, Anzahl und Präzision der Komponenten, Kachelgröße, Wavelet- und Quantisierungseinstellungen sowie die Organisation von Paketen und Qualitätsschichten. Der Standard behandelt das JP2-Dateiformat als optionale Hülle um diesen Stream. Ein Codestream kann daher eigenständig gespeichert oder in einem anderen Dateiformat transportiert werden. Was er nicht angibt, ist der Farbraum seiner Komponenten. Diese Beschreibung muss sich aus der Anwendung ergeben oder separat bereitgestellt werden.
Wichtige Fakten
.jpc,.j2cund.j2kbezeichnen alle dasselbe: einen reinen Codestream für JPEG 2000. Decoder wie OpenJPEG leiten alle drei an denselben Codestream-Parser weiter. Zuverlässig sind die ersten vier Bytes,FF 4F FF 51, während eine JP2-Datei mit einer Signaturbox von 12 Byte beginnt. Der registrierte Medientyp lautetimage/j2c. Seine Registrierung nenntj2cundj2kals Erweiterungen, aber nichtjpc.- Ein reiner Codestream enthält keine Farbrauminformationen. Laut der Registrierung von
image/j2cergeben sie sich aus dem Kontext oder werden separat bereitgestellt. Erst die JP2-Hülle ergänzt eine erforderliche Colour-Specification-Box. Software ohne Farbraumangabe muss schätzen: Das Werkzeugopj_decompressvon OpenJPEG behandelt beispielsweise ein Bild mit drei Komponenten als sYCC und konvertiert es in RGB, wenn die zweite Komponente horizontal unterabgetastet ist und die erste horizontal und vertikal gleich abgetastet wird. Eine oder zwei Komponenten behandelt es als Graustufen. Wenn Farbgenauigkeit wichtig ist, beschaffen Sie den tatsächlichen Farbraum oder das ICC-Profil von der Person oder Stelle, die die Datei erstellt hat, und übergeben Sie diese Information der Anwendung, die die Datei liest. Eine JP2-Hülle stellt die Information nicht wieder her: Die Colour-Specification-Box muss aus dem bekannten Wert geschrieben werden, entweder als enumerierter Farbraum (sRGB, sYCC oder Graustufen) oder als eingeschränktes ICC-Profil. - Beim Weglassen der JP2-Hülle entfallen die Signaturbox und die File-Type-Box, der JP2-Header mit seinen Farb- und Auflösungsinformationen sowie optionale XML-Boxen, UUID-Boxen und Boxen für Angaben zu geistigen Eigentumsrechten. Encoding-Funktionen gehen dadurch nicht verloren: Die Kachelgröße ist im SIZ-Markersegment vermerkt, die Anzahl der Qualitätsschichten, die Progressionsreihenfolge und die Wavelet-Einstellungen in COD, alles innerhalb des Codestreams.
- Die Endung
.jpcgarantiert keinen Stream gemäß Teil 1. Ein Codestream kann Funktionen aus jedem Teil der Familie JPEG 2000 nutzen, etwa High Throughput JPEG 2000. Er gibt über sein FeldRsizund das CAP-Markersegment an, was ein Decoder benötigt. Prüfen Sie diese Angaben daher, bevor Sie davon ausgehen, dass ein bestimmter Decoder die Datei lesen kann.
Wann JPC-Dateien relevant sind
Bildverarbeitungssysteme müssen JPC-Dateien an Decoder weiterleiten, die rohe Codestreams als Eingabe unterstützen. Wenn ein Workflow eingebettete Farbmetadaten, Layoutmetadaten oder beschreibende Metadaten benötigt, kann eine reine JPC-Datei unzureichend sein.
So hilft Transloadit bei JPC-Dateien
Transloadits Liste unterstützter Bildformate enthält JPC, J2C und J2K. Jeder Eintrag wird als Codestream-Syntax für JPEG-2000 beschrieben und für die in der Liste erfassten ImageMagick-basierten Robots, etwa /image/resize, als lesbar und schreibbar gekennzeichnet. Dieselbe Liste enthält einen separaten Eintrag JP2 für das boxbasierte Dateiformat. Der Parameter format des Robots wählt das Ausgabeformat.
Welche Formate verfügbar sind, hängt von der Version von imagemagick_stack ab, die ein Step verwendet. Prüfen Sie daher den Eintrag für Ihren Stack. Die Dokumentation beschreibt nicht, wie Farben bei der Eingabe roher Codestreams interpretiert werden.
Entdecken Sie Transloadits Möglichkeiten für Dateiformate & Komprimierung
Quellen
- IANA-Medientypregistrierung: image/j2c
- Empfehlung ITU-T T.800 (06/2019) | ISO/IEC 15444-1: Basissystem zum Encoding von JPEG 2000, Anhang A (Codestream-Syntax, Tabellen A.2 und A.3) und Anhang I (JP2-Dateiformat, I.2.3 und I.5.3)
- RFC 3745: MIME-Typregistrierungen für JPEG 2000 (ISO/IEC 15444)
- OpenJPEG v2.5.3 opj_decompress.c: Zuordnung von Erweiterungen, Signaturerkennung und Farbraum-Fallback