Das Graphics Interchange Format (GIF) wurde von CompuServe eingeführt und wird benutzt, um ggf. mehrere Bilder in einer einzigen Datei zu speichern und zwischen verschiedenen Rechnersystemen auszutauschen. Bezogen auf die Anzahl der existierenden Dateien ist GIF eines der weitverbreitetsten Formate zum Speichern von Bilddaten.
Im Gegensatz zu vielen anderen Dateiformaten basiert GIF auf einem Strom der Daten. Das Format besteht aus einer Reihe von Datenpaketen, Blöcke genannt, kombiniert mit zusätzlicher Protokollinformation.
Das GIF-Format ist in der Lage, Bilddaten mit einer Farbtiefe von 1 bis 8 Bits zu speichern. Die Bilder werden immer im RGB-Modell unter Benutzung einer Farbtabelle gespeichert.
Die Bildinformation in GIF-Dateien ist immer LZW-komprimiert. Diese von Lempel und Ziv 1977 eingeführte sowie 1984 von Welch verbesserte Datenkompression wird häufig und nicht nur für Bilddaten verwendet. Der Algorithmus reduziert Folgen von gleichen Bytewerten in ein einzelnes Codewort und erreicht auf diese Weise für typische 8-Bit-Pixel-Daten eine Reduktion der Datenmenge um 40%.
GIF gibt es in zwei Versionen: GIF87a und GIF89a.
GIF87a Format
Header |
Logical Screen Descriptor |
Global Color Table |
Local Image Descriptor for Image 1 |
Local Color Table for Image 1 |
Image Data for Image 1 |
Local Image Descriptor for Image 2 |
Local Color Table for Image 2 |
Image Data for Image 2 |
... |
Trailer |
GIF89a Format
Header |
Logical Screen Descriptor |
Global Color Table |
Comment Extension |
Application Extension |
Graphics Control Extension |
Local Image Descriptor for Image 1 |
Local Color Table for Image 1 |
Image Data for Image 1 |
... |
Comment Extension |
Plain Text Extension |
Trailer |