Was ist JPEG XR?

JPEG XR ist ein aus HD Photo abgeleiteter Kompressionsstandard für Halbton-Standbilder. Er unterstützt verlustbehaftetes und verlustfreies Encoding, hohe Bittiefen, Alphakanäle und Daten mit hohem Dynamikumfang.

So funktioniert JPEG XR

JPEG XR ist als ITU-T T.832 und ISO/IEC 29199-2 standardisiert und basiert weitgehend auf dem HD-Photo-Format von Microsoft. Es nutzt eine reversible, liftingbasierte überlappende Transformation auf Makroblöcken der Größe 16×16. Derselbe Algorithmus dient sowohl dem verlustfreien als auch dem verlustbehafteten Encoding. Der Codestream ist in Frequenzbänder und optionale Kacheln gegliedert. Dadurch kann ein Decoder ein Bild mit niedrigerer Auflösung oder einen Bildbereich erzeugen, ohne die gesamte Datei zu verarbeiten. Die Abtastwertformate gehen weit über JPEG mit 8 Bit hinaus: Ganzzahlen mit 8 und 16 Bit, Festkomma- und Gleitkommawerte mit 16 und 32 Bit, jeweils monochrom, als RGB, CMYK oder mit n Kanälen und einer optionalen Alphaebene. Verlustfreies Encoding umfasst die Formate mit 8 und 16 Bit. Für Festkomma- und Gleitkommadaten mit 32 Bit ist laut Standard im Allgemeinen keine vollständig verlustfreie Kompression verfügbar. Die übliche Datei mit der Erweiterung .jxr ist ein tagbasierter Container nach dem Vorbild von TIFF- und Exif-Strukturen, der das Pixelformat und optionale Metadaten um den Codestream herum speichert.

Wichtige Fakten

  1. Ein Decoder, der JPEG XR unterstützt, kann eine bestimmte Datei dennoch ablehnen. Der Standard definiert die Profile Sub-Baseline, Baseline, Main und Advanced sowie Levels. Die Medientypregistrierung warnt, dass ein empfangender Decoder möglicherweise nicht alle unterstützt. Alpha- und Gleitkomma-Pixelformate sind erst ab dem Main-Profil verfügbar. Microsoft dokumentiert für seinen Windows-Codec Unterstützung bis zum Main-Profil und Level 128. Eine Datei kann Profil und Level in einer optionalen Struktur angeben. Fehlt diese, setzt der Standard das Advanced-Profil auf dem höchsten Level voraus. Eine Datei ohne solche Angaben muss daher getestet werden; ihre Eignung darf nicht vorausgesetzt werden. Gleichen Sie Profil, Level und Pixelformat Ihrer Dateien mit den Grenzen Ihres Decoders ab, nicht nur den Codec-Namen.
  2. Der Container mit der Erweiterung .jxr kann ein ICC-Profil, Exif und XMP in eigenen Tags enthalten. Der Standard erlaubt diese Tags jedoch, ohne Decoder zu ihrer Interpretation zu verpflichten. Ein reiner Codestream, den der Windows-Encoder auch in seinem reinen Stream-Modus schreiben kann, enthält keinerlei Container-Metadaten. Prüfen Sie den Erhalt von Farbprofil und Metadaten getrennt vom Decodieren der Pixel. Ein Profil zu übernehmen ist außerdem nicht dasselbe, wie die Abtastwerte korrekt zu interpretieren: Die informativen Farbhinweise des Standards besagen, dass Festkomma- und Gleitkomma-RGB als lineares scRGB vorliegen sollten. RGB mit vorzeichenlosen Ganzzahlen ohne Profil oder andere Farbinformationen sollte dagegen als sRGB interpretiert werden. Eine Webversion aus HDR-Abtastwerten zu erzeugen erfordert daher eine Konvertierung von Farbe und Wertebereich, nicht nur erneutes Encoding derselben Zahlen.
  3. Der registrierte Medientyp ist image/jxr mit der Erweiterung .jxr. Containerdateien beginnen mit den Bytes 49 49 BC. Windows verwendet auch .wdp, und sein Decoder akzeptiert sowohl JPEG XR als auch das ältere HD-Photo-Format, das laut Microsoft in einigen Punkten vom Standard abweicht. Die Erweiterung allein verrät daher nicht, welches der beiden Formate eine Datei enthält.

Wann JPEG XR relevant ist

JPEG XR ist relevant, wenn der integrierte Windows-Codec verfügbar ist oder Modi mit hoher Bittiefe, HDR oder verlustfreier Kompression benötigt werden. Unter den Browsern konnten nur Internet Explorer und der ursprüngliche Microsoft Edge vor Chromium das Format decodieren. Die Auslieferung im Web erfordert daher eine Konvertierung in ein anderes Format.

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