Wörterbuch

Was bedeutet die JFIF-Version?

JFIF bedeutet JPEG File Interchange Format, das Format der Dateien, die man normalerweise JPEG-Bilder nennt. Die JFIF-Version zeigt, welcher Version dieses Formats eine Datei folgt.

jfif-version

JFIF steht für JPEG File Interchange Format, und JPEG steht für Joint Photographic Experts Group. JFIF ist das Dateiformat, das JPEG-Bilddaten speichert, sodass verschiedene Programme und Computer sie öffnen können.

Die JFIF-Version ist ein Metadatenfeld in einer JPEG-Datei. Es zeigt dir, welcher Version der JFIF-Spezifikation die Datei folgt, zum Beispiel 1.01 oder 1.02. Du findest das Feld in JPG-Dateien, weil JFIF ein Format nur für JPEG-Bilder ist.

Was JFIF zu einem JPEG-Bild hinzufügt

Der JPEG-Standard legt fest, wie die Bilddaten komprimiert werden. Eine JFIF-Datei ist eine normale JPEG-Datei mit einem zusätzlichen Datenblock, dem sogenannten APP0-Segment. Dieser Block steht direkt nach dem Marker, der das Bild beginnt.

Die Daten im APP0-Segment beginnen mit dem Text JFIF. Das Segment speichert Informationen, die nicht in den komprimierten Bilddaten enthalten sind:

  • Die JFIF-Version
  • Die horizontale und vertikale Pixeldichte mit einer Auflösungseinheit in Zoll, Zentimetern oder ohne Einheit
  • Das Pixel-Seitenverhältnis, das ein Programm aus den 2 Dichtewerten berechnet
  • Eine optionale kleine Vorschau des Bildes, ein sogenanntes Thumbnail

JFIF legt auch das Farbmodell fest. Ein JFIF-Bild hat entweder 1 Kanal nur mit Helligkeit oder 3 Kanäle im YCbCr-Farbraum.

Welche Dateien sie enthalten

Der MIME-Typ image/jpeg wurde für JPEG-Bilder im JFIF-Format definiert. Die Dateiendungen .jpg, .jpeg, .jpe, .jif und .jfif gehören alle zu diesem Format. Eine Datei, deren Name auf .jfif endet, enthält also denselben Bildtyp wie eine .jpg-Datei.

Digitalkameras speichern JPEG-Fotos normalerweise stattdessen im Exif-Format. Exif speichert seine Metadaten hauptsächlich in einem APP1-Segment, und dieses Segment muss ebenfalls direkt nach dem Bildanfang kommen. Da beide Segmente zuerst stehen müssen, kann eine Datei nicht gleichzeitig JFIF und Exif folgen.

Manche Programme schreiben trotzdem ein JFIF-Segment vor das Exif-Segment. In so einer Datei siehst du sowohl eine JFIF-Version als auch eine Exif-Version.

Wie die Werte aussehen

Die JFIF-Version wird in 2 Bytes gespeichert. Das erste Byte enthält die Hauptversion, das zweite Byte die Unterversion. Version 1.02 wird als die Bytes 01 und 02 gespeichert.

ExifTool zeigt das Feld als JFIFVersion. Es gibt die Hauptversionsnummer, einen Punkt und eine zweistellige Unterversionsnummer aus. Formatregister führen 3 Versionen von JFIF auf:

  • 1.00: eine frühe Version der Spezifikation
  • 1.01: die Version vor 1.02
  • 1.02: die Version vom 1. September 1992

Woher der Wert kommt

Das Programm, das die JPEG-Datei speichert, schreibt das APP0-Segment und die Versionsnummer hinein. Die ITU veröffentlichte JFIF 2011 als Empfehlung T.871, und ISO bzw. IEC veröffentlichen denselben Text als ISO/IEC 10918-5. Diese Norm basiert auf Version 1.02, und Dateien, die ihr folgen, müssen den Wert 1.02 speichern.

Programme, die auf der libjpeg-Bibliothek basieren, schreiben standardmäßig 1.01. In der Dokumentation steht, dass 1.02 gesetzt werden soll, wenn ein Programm ein Erweiterungssegment aus Version 1.02 hinzufügt. Eine heute gespeicherte Datei kann also 1.01 oder 1.02 anzeigen.

Warum das für deine Datei wichtig ist

Die Version zeigt einem Programm, ob es die JFIF-Daten lesen kann. In der Spezifikation steht, dass eine Datei in der Regel dekodiert werden kann, wenn ihre Hauptversion zur Hauptversion passt, die das Programm unterstützt.

Die Version zeigt auch, welche Thumbnails die Datei enthalten kann. Ein Erweiterungssegment namens JFXX ist nur in Version 1.02 und höher erlaubt. Das JFXX-Segment kann ein mit JPEG komprimiertes oder ein unkomprimiertes Thumbnail enthalten.

Eine JPEG-Datei ohne JFIF-Version hat kein JFIF-Segment. Das ist normal für Fotos, die eine Kamera im Exif-Format gespeichert hat.