Datenstruktur

GIF wurde so konzipiert, dass mehrere Bilder in einer Datei gespeichert werden können. Im Web wird diese Funktion genutzt, um kleine Animationen zu zeigen. Der Browser zeigt die einzelnen Bilder der Datei nämlich hintereinander mit einer einstellbaren Zeitdifferenz an.

Die grundlegende Struktur von GIF unterscheidet sich von den meisten anderen Grafikdateiformaten. Die Daten des/der Bildes/r werden Datenstromähnlich als einzelne Pakete gespeichert. Diese Pakete werden "blocks" genannt. Diese Blöcke können auch Unterblöcke enthalten, aber dazu später...

Datenstruktur GIF87a

Wie auch bei vielen anderen Dateiformaten beginnt auch eine GIF-Datei mit einem Header-Feld. Zusätzlich dazu gibt es den "Logical Screen Descriptor" (=logische Beschreibung der Anzeige) und die "Global Color Table" (die Farbtabelle). Optional dazu gibt es noch den "Local Image Descriptor" (Bildbeschreibung), das Feld "Local Color Table", welche die lokale Farbtabelle enthält und einen "Image Data Block", der für die Bilddaten zuständig ist. Das "Terminator" oder "Trailer" Feld stellt das Ende der Datei dar.

Der Header dient lediglich zur Identifizierung der GIF Datei. Im Logical Screen Descriptor sind Anzeige- und Farbinformationen, sowie die minimal benötigte Bildschirmauflösung zu finden. Die Global Color Table enthält die globale Farbtabelle, wie der Name schon sagt. Dies gilt für die ganze Datei, jedoch kann man für jedes Bild eine eigene Farbtabelle verwenden (Local Color Table). Der Local Image Descriptor enthält beispielsweise Koordinaten innerhalb der Datei (standardmäßig ist die linke obere Ecke bei x=0 und y=0, dies kann jedoch für jedes Bild verändert werden). Der Trailer terminiert die Datei.

Datenstruktur GIF89a

Im Gegensatz zu GIF87a unterstützt GIF89a bereits Transparenz. Zudem wird GIF89a effektiver komprimiert. Das ist aber nicht der einzige Unterschied: In der Datenstruktur kommen 4 Informationsblöcke hinzu, so genannte "Control Extensions".

  • Graphics Control Extension (Dient zur Steuerung, wie das Bild im Endeffekt dargestellt werden soll.)
  • Plain Text Extension (In GIF ist es möglich, Text mithilfe eines Overlays zu integrieren. Diese Extension ist jedoch sehr umständlich und wird kaum genutzt.)
  • Comment Extension (Beinhaltet Kommentare in Textform, die einfach im Datenstrom integriert sind.)
  • Application Extension (Hier sind zusätzliche Informationen für die Applikation enthalten, die diese Datei ausliest.)

Transparenz

Interlaced-Modus im Detail

Normalerweise wären die Scanzeilen (eine Reihe von Pixel) nacheinander gespeichert. GIF ordnet die Daten allerdings anders an:

Durchgang: Start bei Zeile 0, ab dort dann jede 8. Zeile
Durchgang: Start bei Zeile 4, ab dort dann jede 8. Zeile
Durchgang: Start bei Zeile 2, ab dort dann jede 4. Zeile
Durchgang: Start bei Zeile 1, ab dort dann jede 2. Zeile

Interlacing in GIF

Module, die für die Durchführung vorausgesetzt werden

Ergänzende und vertiefende Module