Datenstruktur

TIFF erlaubt es, die Daten nicht nur in Intel-Reihenfolge, sondern auch in Motorola-Reihenfolge abzuspeichern. Die genaueren Details sind dabei nicht relevant, solange wir uns merken, dass TIFF auch von nicht-PC-Plattformen korrekt gelesen und interpretiert werden kann.

Grundsätzlich gliedert sich dieses Format in Header, IFD (Image File Directory) und Bilddaten. Im nun folgenden Text wird der Fokus auf das Konzept der IFDs gerichtet. Der Header wird in diesem Modul vernachlässigt, da er lediglich Informationen zur Adressierung bzw. Speicherart der Bytes (Intel- /Motorola-Reihenfolge) enthält.


Datenstruktur einer TIFF-Datei

Ein IFD (Image File Directory) wiederum besteht aus Tags und der Adresse des nächsten IFDs. Dadurch können mehrere IFDs in einer TIFF-Datei untergebracht werden.


Datenstruktur eines IFD

Ein Tag ist im übertragenen Sinne ein Schlüssel. Er enthält Informationen über das zugehörige Bild. Beispiele für solche Tags sind Bildbreite, Bildhöhe, Auflösung, Farbtiefe, Komprimierungsart etc. Eine Auflistung aller möglicher Tags würde den Rahmen dieses Modules sprengen, sie können jedoch jederzeit von Adobe Systems Inc. bezogen werden. Die Anzahl der Tags ist dabei variabel.
Durch dieses Prinzip wird es möglich, das TIFF Format beliebig zu erweitern und die Abwärtskompatibilität dabei zu wahren. Es ist allerdings anzumerken, dass einige Programme Schwierigkeiten damit haben, alle Tags richtig zu "entschlüsseln". Dies ist ein Fehler in der Programmfunktionalität, das Format wäre ausreichend spezifiziert.

Da ein IFD immer einem Bild zugeordnet ist, besitzt eine TIFF-Datei für jeden IFD Eintrag auch die zugehörigen Bilddaten. Der aufmerksame Leser wird sich daran erinnern, dass TIFF mehrere IFDs pro Datei erlaubt. Dies bedeutet also im Klartext, dass eine TIFF Datei mehrere Bilder enthalten kann. Ein beispielhafter Aufbau für eine solche TIFF Datei ist:

Header
IFD1
IFD2
IFD3
Bilddaten1
Bilddaten2
Bilddaten3