Das Graphics Interchange Format (GIF) wurde von CompuServe eingeführt und wird benutzt, um ggf. mehrere Bilder (Animation) 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.
Bei den auf WWW-Seiten verwendeten Grafikformaten nimmt GIF den Spitzenplatz in punkto Häufigkeit ein. Insbesondere bei künstlich erzeugten Bildern mit einheitlich gefärbten Farbflächen ist es an Kompaktheit nicht zu schlagen.
Zwei Kompressionsideen tragen zur Datenreduktion bei:
Beide Ansätze zahlen sich insbesondere dann aus, wenn die Vorlage weite Bereiche mit identischer Information enthält, wie es bei computergenerierten Grafiken, wie z.B. Logos, der Fall ist. Zum einen enthält das Bild dann gar nicht die theoretisch verfügbare Zahl von 16 Millionen Farben, sondern nur wenige Dutzend, und kann daher völlig verlustfrei durch eine Palette mit 256 Einträgen dargestellt werden. Zum anderen führen Folgen von identischen Pixelindizes zu kompakten Einträgen in der Präfixtabelle.
Darstellung eines True-Color-Bildes auf einem 8-Bit-Farbschirm
Es wird eine Farbtabelle initialisiert,
die einem
RGB-Würfel entspricht.
D.h. auf insgesamt 216 Einträge verteilt befindet sich
das Farbspektrum mit je 6 verschiedenen Rot-, Grün- und
Blau-Abstufungen.
Jedem RGB-Tripel des True-Color-Bildes wird der Index
des nächstgelegenen Farbeintrags zugeordnet.
Hierzu wird der Bereich in 6 Intervalle
partitioniert, denen ein quantisierter Wert zugeordnet ist:
0 25 | 26 76 | 77 127 | 128 178 | 179 229 | 230 255 | |
0 | 51 | 102 | 153 | 204 | 255 |