
oz75
Moderator
- Beiträge
- 7.113
Hallo zusammen,
nachfolgend möchte ich euch zeigen, wie man per Hexadezimal-Editor in einem X3F RAW-File das eingebettete, voll aufgelöste JPEG identifizieren und quasi "extrahieren" kann.
Alles händisch, nur über einen Dateieditor!
Hintergrund ist, dass einige Programme auf dem Markt auf genau dieses eingebettete JPEG im X3F zugreifen (ab der Sigma SD14 aufwärts ist dieses im X3F eingebettet), jedoch nicht imstande sind, eine echte Bildentwicklung auf Basis der Rohdaten in der X3F-Datei durchzuführen.
Manchen Nutzern ist das nicht immer klar: Die Versuchung ist da, zu denken, dass das eingeladene Bild eine echte Rohdatenentwicklung darstellt, während in Wirklichkeit das entsprechende Programm in jedoch nur auf das eingebettete JPEG im X3F zugreift.
Zurzeit sind jedoch nur die allerwenigsten Programme imstande, eine echte Rohdatenentwicklung aus dem X3F zu bewerkstelligen. Diese sind nach aktuellem Stand:
X3F -> DNG - Konverter (auch für Merrill und Quattro)
Sigma SD1: Farbstiche beim Einsatz manueller Linsen entfernen
Bleibt also im Realeinsatz lediglich Sigma Photo Pro.
Aber zurück zum eingebetteten JPEG...
Ist in einem X3F (ab Sigma SD14 aufwärts ) nun wirklich ein voll aufgelöstes JPEG, welches durch die Kamera generiert wurde, hinterlegt?
Die Antwort vorab lautet: Ganz eindeutig ja.
Der erste Schritt, wie man dem eingebetteten JPEG auf die Schliche kommt, ist der Einblick in die Notation des sogenannten JPEG Interchange File Format (JFIF):
JPEG File Interchange Format – Wikipedia
Die wichtigste Information hier ist hier der
Weiterhin endet es mit dem
. Es ist exakt 8340KB groß!

Anfang des JPEG-Files im Hexadezimal-Editor

Ende des JPEG-Files im Hexadezimal-Editor

Soweit, so gut. Doch wie sieht es nun mit dem ORIGINAL X3F aus dem Kamera aus?
--> Man kann im Original X3F nach diesen typischen SOI-/EOI-Markern fahnden!
Hier habe ich nach "FF D8" oder besser "FF D8 FF" gesucht. Und siehe da: Das Embedded JPEG befindet sich praktisch direkt am Anfang des Original X3F-Files

Alles, was vor "FF D8" steht -->LÖSCHEN!!
Nun die Suche nach dem Ende des Embedded JPEG im X3F über "FF D9" oder besser "C7 FF D9 00" (man muss da ein wenig probieren!).

Alles, was nach "FF D9 00" steht -->LÖSCHEN!!
Nun kann man diese modifizierte (beschnittene) X3F-Datei einfach als JPEG abspeichern.
Hier im Beispiel habe ich SDIM0663.X3F als SDIM0662_X3F_MOD_2_JPEG.jpg gespeichert.
Und siehe da: Das, was vom ursprünglich 46501KB großem Original X3F übrig geblieben ist, ist nur noch 8340KB groß. Genauso groß, wie der JPEG DUMP des X3F aus Sigma Photo Pro.
Das Ergebnis (verkleinert auf Forengröße):

Fazit:
Ergebnis: Beweis erbracht.
Gruß,
Oz
nachfolgend möchte ich euch zeigen, wie man per Hexadezimal-Editor in einem X3F RAW-File das eingebettete, voll aufgelöste JPEG identifizieren und quasi "extrahieren" kann.
Alles händisch, nur über einen Dateieditor!
Hintergrund ist, dass einige Programme auf dem Markt auf genau dieses eingebettete JPEG im X3F zugreifen (ab der Sigma SD14 aufwärts ist dieses im X3F eingebettet), jedoch nicht imstande sind, eine echte Bildentwicklung auf Basis der Rohdaten in der X3F-Datei durchzuführen.
Manchen Nutzern ist das nicht immer klar: Die Versuchung ist da, zu denken, dass das eingeladene Bild eine echte Rohdatenentwicklung darstellt, während in Wirklichkeit das entsprechende Programm in jedoch nur auf das eingebettete JPEG im X3F zugreift.
Zurzeit sind jedoch nur die allerwenigsten Programme imstande, eine echte Rohdatenentwicklung aus dem X3F zu bewerkstelligen. Diese sind nach aktuellem Stand:
- Sigma Photo Pro (natürlich)
- Iridient Developer
- Kalpanika (liefert unter anderem DNGs, die dann in anderen Entwicklerprogrammen, z.B. Lightroom, Adobe Camera RAW, etc... verwendet werden können)
X3F -> DNG - Konverter (auch für Merrill und Quattro)
Sigma SD1: Farbstiche beim Einsatz manueller Linsen entfernen
Bleibt also im Realeinsatz lediglich Sigma Photo Pro.
Aber zurück zum eingebetteten JPEG...
Ist in einem X3F (ab Sigma SD14 aufwärts ) nun wirklich ein voll aufgelöstes JPEG, welches durch die Kamera generiert wurde, hinterlegt?
Die Antwort vorab lautet: Ganz eindeutig ja.
Der erste Schritt, wie man dem eingebetteten JPEG auf die Schliche kommt, ist der Einblick in die Notation des sogenannten JPEG Interchange File Format (JFIF):
JPEG File Interchange Format – Wikipedia
Die wichtigste Information hier ist hier der
- SOI-Marker (SOI=Start Of Image) "FF D8".
Weiterhin endet es mit dem
- EOI-Marker (EOI=End Of Image) "FF D9".

Anfang des JPEG-Files im Hexadezimal-Editor

Ende des JPEG-Files im Hexadezimal-Editor

Soweit, so gut. Doch wie sieht es nun mit dem ORIGINAL X3F aus dem Kamera aus?
--> Man kann im Original X3F nach diesen typischen SOI-/EOI-Markern fahnden!
Hier habe ich nach "FF D8" oder besser "FF D8 FF" gesucht. Und siehe da: Das Embedded JPEG befindet sich praktisch direkt am Anfang des Original X3F-Files


Nun die Suche nach dem Ende des Embedded JPEG im X3F über "FF D9" oder besser "C7 FF D9 00" (man muss da ein wenig probieren!).


Nun kann man diese modifizierte (beschnittene) X3F-Datei einfach als JPEG abspeichern.
Hier im Beispiel habe ich SDIM0663.X3F als SDIM0662_X3F_MOD_2_JPEG.jpg gespeichert.
Und siehe da: Das, was vom ursprünglich 46501KB großem Original X3F übrig geblieben ist, ist nur noch 8340KB groß. Genauso groß, wie der JPEG DUMP des X3F aus Sigma Photo Pro.
Das Ergebnis (verkleinert auf Forengröße):

Fazit:
- Es ist im Merrill-X3F ein voll aufgelöstes JPEG integriert, welches die Kamera bei der Datenverarbeitung nach der Aufnahme erstellt.
- SPP löscht beim JPEG-DUMP lediglich das an Rohdaten weg, was nicht JPEG ist: Das X3F wird nicht entwickelt, sondern editiert (gekürzt) herausgeschrieben. Im Prinzip genau so, wie ich es händisch vorgemacht habe!
Ergebnis: Beweis erbracht.
Gruß,
Oz