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

  1. .jpc, .j2c und .j2k bezeichnen 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 lautet image/j2c. Seine Registrierung nennt j2c und j2k als Erweiterungen, aber nicht jpc.
  2. Ein reiner Codestream enthält keine Farbrauminformationen. Laut der Registrierung von image/j2c ergeben 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 Werkzeug opj_decompress von 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.
  3. 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.
  4. Die Endung .jpc garantiert 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 Feld Rsiz und 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

Machen Sie aus Medienwissen eine funktionierende Pipeline

Verbinden Sie Uploads, Verarbeitung, KI, Storage und Auslieferung über eine deklarative API – um Encoding-Stack, Skalierung und ständig wechselnde Formate müssen Sie sich nicht selbst kümmern.

Transloadit kostenlos ausprobieren