Ratgeber

JPEG-Bereiche und PNG-Bloecke: Wo Metadaten in einer Datei leben

Wie man jede Zeile der AuditImage-Tabelle „Dateistruktur" liest. Was APP1, APP11, COM, tEXt und caBX enthalten und was Offset und Groesse sagen.

JPEG: Marker-Bereiche

Ein JPEG ist eine Reihe von Bereichen, die jeweils mit FF xx beginnen. Alles vor den Bilddaten ist Metadaten oder Dekodierungsparameter:

Marker Name Inhalt
FF D8 SOI Bildanfang
FF E0 APP0 JFIF-Header, Aufloesungseinheit, Miniaturbild
FF E1 APP1 EXIF (beginnt mit Exif\0\0) oder XMP (beginnt mit http://ns.adobe.com/xap/1.0/)
FF E2 APP2 ICC-Profil, MPF-Mehrbilder (Handy-Tiefenfotos)
FF EB APP11 C2PA-Manifest (beginnt mit JP, enthaelt eine jumb-Box)
FF ED APP13 Photoshop IRB, enthaelt IPTC
FF EE APP14 Adobe-Farbumwandlungs-Flag
FF FE COM Kommentar, beliebiger Text
FF DB DQT Quantisierungstabellen
FF C4 DHT Huffman-Tabellen
FF C0 SOF0 Rahmenheader: Abmessungen, Komponenten
FF DA SOS Scananfang, gefolgt von komprimierten Daten bis EOI
FF D9 EOI Bildende

Jeder Bereich enthaelt hoechstens 64 KB. Groessere Nutzlasten werden auf mehrere Bereiche desselben Typs aufgeteilt: grosses XMP verwendet „erweitertes XMP", grosse C2PA-Manifeste werden auf mehrere APP11-Bereiche aufgeteilt und nach Sequenznummer zusammengesetzt. Zwei aufeinanderfolgende APP11-C2PA-Zeilen in AuditImages Tabelle sind genau das.

PNG: Bloecke

Ein PNG beginnt mit einer 8-Byte-Signatur, dann einer Reihe von Bloecken mit jeweils Laenge, Typ, Daten und CRC:

Typ Inhalt
IHDR Abmessungen, Bittiefe, Farbtyp
iCCP ICC-Profil
pHYs physikalische Aufloesung
eXIf EXIF (2017 in den Standard aufgenommen)
tEXt / iTXt / zTXt Schluessel/Wert-Text: XMP, SD-Parameter und das implizite AIGC-Label leben hier
caBX C2PA-Manifest
IDAT Bilddaten, moeglicherweise mehrere Bloecke
IEND Ende

XMP in einem PNG ist ein iTXt mit Schluesselwort XML:com.adobe.xmp. Stable-Diffusion-Parameter sind ein tEXt mit Schluesselwort parameters.

WebP: RIFF-Bloecke

WebP ist ein RIFF-Container: VP8 , VP8L oder VP8X enthalten das Bild; EXIF, XMP , ICCP und C2PA sind jeweils ein Block. Erweiterte Metadaten erfordern den VP8X-Header.

AuditImages Tabelle „Dateistruktur" lesen

  • Bereich (Segment): der Typname. Bloecke mit Metadaten sind in der Akzentfarbe fettgedruckt.
  • Offset: Byteposition in der Datei, hexadezimal.
  • Groesse: der gesamte Bereich inklusive Marker- und Laengen-Bytes.
  • Anteil (Share): eine relative Balkenlaenge zur gesamten Datei.

Nuetzliche Beobachtungen: Metadatenbereiche kommen normalerweise vor den Bilddaten; wiederholte Bloecke desselben Typs verdienen einen Blick; ein Bild von einigen Dutzend KB, das einen 200-KB-APP11-Bereich enthaelt, bedeutet, dass das Manifest ein Miniaturbild einbettet; ein COM-Bereich mit Inhalt lohnt sich aufzuklappen.

Manuelle Pruefung

exiftool -v3 photo.jpg           # Bereich fuer Bereich
exiftool -htmlDump photo.jpg > dump.html