Was ist eine J2C-Datei?

Eine J2C-Datei enthält einen rohen Codestream für JPEG 2000 statt der Boxen und Metadatenstruktur eines Containers aus der JP2-Familie. Derselbe elementare Bitstream ist auch unter den Erweiterungen .j2k und .jpc verbreitet. Er enthält vor allem komprimierte Bildabtastwerte.

So funktionieren J2C-Dateien

Eine Datei mit der Erweiterung .j2c besteht aus einem einzelnen Codestream für JPEG 2000 ohne umgebende Struktur. .j2k und .jpc sind andere Namen für denselben Stream, keine eigenständigen Formate. Die Codestream-Syntax ist in Anhang A von ITU-T T.800 | ISO/IEC 15444-1 definiert. Sie beginnt mit dem SOC-Marker, unmittelbar gefolgt vom SIZ-Markersegment. Dieses gibt die Größe des Referenzrasters und der Kacheln, die Anzahl der Komponenten sowie die Bittiefe und Abtastabstände jeder Komponente an. Weitere Markersegmente beschreiben Encoding-Stil, Quantisierung und Progression. Der EOC-Marker beendet den Stream. Das reicht aus, damit ein Decoder Abtastwerte rekonstruieren kann. Da Auflösungsstufen, Qualitätsschichten, Kacheln und Progressionsreihenfolge im Stream selbst codiert sind, ist für das Decodieren mit reduzierter Auflösung oder das teilweise Decodieren kein Container erforderlich. Was die Abtastwerte bedeuten, sagt der Codestream jedoch nicht. Das JP2-Dateiformat ergänzt diese Ebene: Es bettet den Codestream in Boxen ein, darunter mindestens eine Colour Specification Box und optional eine Intellectual Property Box für Rechteinformationen.

Wichtige Fakten

  1. Wie erkenne ich eine Datei mit der Erweiterung .j2c? An ihren ersten Bytes, nicht an ihrem Namen. Ein Codestream beginnt mit FF 4F FF 51, dem SOC-Marker gefolgt vom SIZ-Marker. Eine JP2-Datei beginnt dagegen mit der 12 Byte langen Signaturbox 00 00 00 0C 6A 50 20 20 0D 0A 87 0A, gefolgt von einer File Type Box. Der registrierte Medientyp für einen reinen Codestream ist image/j2c, der sowohl j2c als auch j2k als Dateierweiterungen aufführt. image/jp2 ist der Typ für das boxenbasierte Dateiformat.
  2. Gibt die Datei an, in welchem Farbraum ihre Abtastwerte vorliegen? Nein. Laut der Registrierung von image/j2c enthält ein Codestream für JPEG 2000 keine Informationen zum Farbraum des Bildes. Dieser wird vorausgesetzt oder separat angegeben. Eine JP2-Datei muss mindestens eine Colour Specification Box enthalten. Eine Datei mit der Erweiterung .j2c hat kein entsprechendes Element. Wer einen reinen Codestream anzeigt oder konvertiert, stützt sich daher auf eine Annahme oder auf Informationen, die an anderer Stelle gespeichert sind.
  3. Kann jeder Decoder für JPEG 2000 Teil 1 jede Datei mit der Erweiterung .j2c lesen? Nicht unbedingt. Laut der Registrierung kann ein Codestream Funktionen aus jedem Teil der Familie JPEG 2000 verwenden. Welche Funktionen ein Decoder benötigt, wird durch den Parameter Rsiz im SIZ-Markersegment zusammen mit dem CAP-Markersegment signalisiert. Die führenden Bytes unterscheiden diese nicht: OpenJPEG erkennt beispielsweise High-Throughput-Codestreams vom Typ .jhc anhand derselben Vier-Byte-Signatur, die es für .j2c verwendet.
  4. Ist eine Datei mit der Erweiterung .j2c verlustfrei oder verlustbehaftet? Die Endung sagt das nicht aus, der Stream teilweise schon. In einem Codestream nach Teil 1 halten die Markersegmente für den Encoding-Stil fest, ob der irreversible Wavelet-Filter 9-7 oder der reversible Wavelet-Filter 5-3 verwendet wurde. Der irreversible Filter führt zu verlustbehaftetem Encoding. Der reversible Filter ermöglicht verlustfreies Encoding, belegt es aber nicht: T.800 weist darauf hin, dass die reversible Mehrkomponententransformation, die nur mit dem Filter 5-3 verwendet wird, in gekürzten Codestreams für verlustbehaftete Kompression eingesetzt werden kann. Ein Codestream, der die Erweiterungen aus Teil 2 (T.801 | ISO/IEC 15444-2) verwendet, kann in demselben Feld andere Werte enthalten, die jeweils einen im Stream selbst definierten Transformationskern auswählen.

Wann J2C-Dateien relevant sind

Ein Decoder muss einen reinen Codestream für JPEG 2000 akzeptieren, statt vorauszusetzen, dass jede Mediendatei JP2-Container-Metadaten enthält. Workflows, die Farb- oder Rechteinformationen benötigen, müssen diese möglicherweise aus einer anderen Quelle beziehen.

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