GIF

GIF heißt ausgeschrieben Graphics Interchange Format (Graphik-Austausch-Format).

Geschichte

Das GIF wurde 1987 für CompuServe entwickelt, diese Version wird gif87a genannt und basiert auf der LZW-Komprimierungsmethode (Lempel, Ziv, Welsch-Kodierung). Es war gedacht als Protokoll zum Austausch von Graphikdateien über Mailboxen. Es ist Hardwareunabhängig und bot eine damals hohe Komprimierungsdichte, ohne extrem rechenaufwendig zu sein. 1989 wurde es um einige Zusätze erweitert und bekam den Versionsnamen gif89a. Die Fähigkeiten des Formats blieben aber lange Zeit verborgen, bis es dann seit 1995 mit der Veröffentlichung von Netscape 2.0  neben JPEG zum Internet Standard wurde.

Grundsätzliche Daten

Im GIF können Bilder mit einer Maximalen Auflösung von 16384 x 16384 Pixeln und eine Farbtiefe bis zu 8 Bit, also 256 Farben, verlustfrei gespeichert werden. Es unterstützt Interlacing (Zeilensprünge) und kann Mehrfachbilder speichern.

Mit gif89a kamen dann folgende Erweiterungen hinzu: Man kann Textinfortmationen zum Bild in die Datei speichern. Es ist möglich mehrere Bilder hintereinander anzeigen zu lassen und somit kleine Animationen darzustellen. Es gibt die Möglichkeit, Teile des Bildes transparent zu machen, in diesem Bereich sieht man den Hintergrund der Webseite. Dafür gibt es 2 Möglichkeiten, den Alpha-Kanal und das Farbschlüsselverfahren.

Erklärungen

Farben
Die Möglichkeit 256 Farben zu speichern reichte in der Zeit der Entwicklung des GIF's völlig aus, da die damaligen PCs und Apple-Computer nicht mehr Farben gleichzeitig anzeigen konnten. Diese 256 Farben müssen aber nicht immer die selben sein, sondern es kann eine Farbpalette angelegt werden, bei der von 16 Million möglichen bis zu 256 ausgewählt werden. Ein Bild das z.B. aus großen Teilen Himmel besteht, wird viele verschiedene Blau-Töne benutzen, dafür aber weniger von den anderen.

Interlacing
Es gibt die Möglichkeit ein GIF Interlaced oder Non-Interlaced zu speichern.
Bei Non-Interlaced werden die Zeilen der Reihe nach in die Datei abgelegt. Das Bild wird dann auch dementsprechend aufgebaut.
Wird das GIF Interlaced gespeichert, wird der Bildaufbau in 4 Phasen getrennt. In der 1. Phase wird nur jede 8. Zeile aufgebaut. In der 2. Phase jede 4. Zeile, in der 3. jede 2. Zeile und in der letzten dann der Rest. Das hat den Vorteil das man bei großen Bildern oder bei einer langsamen Internetverbindung schon schnell grobe Züge des Bildes erkennen kann, die dann immer genauer werden. Der Nachteil ist, das die Datei etwas größer wird, als eine ohne Interlace.

Textinformationen
Bei einem GIF ist es möglich Informationen mitzugeben, in denen man z.B.den Author, das Entstehungsdatum und anderes angeben kann.
Diese Funktion wird nur recht selten genutzt. Browser zeigen sie nicht an und außerdem kann man auf Webseiten Informationen zum Bild auch unter oder über das Bild schreiben.

Mehrfachbilder
Auch diese Funktion wird nur sehr selten genutzt, da sie fast nirgendswo unterstützt und dokumentiert ist.

Animationen
Eine GIF-Animation ist eine Datei, in der mehrere Bilder hintereinander gespeichert sind, die dann mit einer gewissen Zeitverzögerung ausgegeben werden, meist in einer Endlosschleife. Damit kann man z.B. drehende Logos, Schriftübergänge oder einfach mehrere verschiedene Bilder hintereinander anzeigen lassen. Besonders beliebt ist das bei allem, was mit Werbung zu tun hat.

Alpha-Kanal
Bei fast allen Graphikprogrammen kann man zum Bild eine Maske in einem eigenen Maskenkanal ablegen, dieser wird Alpha-Kanal genannt. Er enthält ein Bild in meist bis zu 256 Graustufen. Bei GIF-Masken sind nur 2 Farben erlaubt, schwarz und weiß. 8 Bit wären hier nicht angebracht, da ja das Bild selbst nur eine Tiefe von 8 Bit hat, und somit der Alpha-Kanal fast die Hälfte der Größe der Datei einnehmen würde. Alles, was schwarz im Alpha-Kanal der GIF-Datei ist wird Transparent angezeigt auf der Webseite, das heißt man sieht dort die Hintergrundfarbe bzw. das Hintergrundbild. Die Maskenmethode ist hauptsächlich für rechteckige Formen geeignet.

Farbschlüssel
Hier werden eine oder mehrere Farben angegeben, die dann auf der Webseite Transparent erscheinen. Das eignet sich bei allen nicht-rechteckigen Formen meist besser als der Alphakanal, da man hier mehre Bereiche ganz einfach Transparent machen kann. Logos und ähnliches lassen sich so dem Hintergrund besser anpassen..

Komprimierung

Der LZW-Algorithmus funktioniert mit fast allen Sorten von Ausgangsdaten, ist allgemein sehr schnell bei Kompression und Dekompression und benötigt keine Gleitkommaarithmetik.
Die Komprimierten Daten werden als Bytes und nicht als Wörter abgelegt, das ist der Grund, warum es Plattformübergreifend funktioniert.
LZW ist ein Wörterbuchbasierender Komprimierungsalgorithmus. Aus den unkomprimierten Daten wird eine Übersetzungstabelle erstellt. Dazu wird der unkomprimierte Datenstrom in einzelne Zeichenketten zerlegt, die mit den schon vorhandenen Wörterbucheinträgen verglichen werden. Ist ein solcher Eintrag schon vorhanden, dann braucht nur noch ein Verweis auf diesen gespeichert werden. Existiert kein Eintrag, wird ein neuer angelegt, wenn dazu im Wörterbuch noch Platz ist.

Gliederung JPEG