- Graphics Interchange File Format
-
GIF (/dʒɪf/ oder /gɪf/) für Graphics Interchange Format (engl. Grafikaustausch-Format) ist ein Grafikformat mit guter verlustfreier Komprimierung für Bilder mit geringer Farbtiefe (bis zu 256 verschiedene Farben pro Einzelbild). Darüber hinaus können mehrere Einzelbilder in einer Datei abgespeichert werden, die von Webbrowsern als Animationen interpretiert werden. Ein heute nicht mehr gebräuchlicher Name des Formates ist GIFF (Graphics Interchange File Format).
Inhaltsverzeichnis
Geschichte
Das von Steve Wilhite entwickelte GIF-Format wurde 1987 von dem US-Online-Dienst CompuServe als Farbformat eingeführt, um das vorher benutzte RLE-Format zu ersetzen, das nur Schwarzweißbilder darstellen konnte. GIF wurde vor allem wegen seiner effizienten Kompression LZW populär. Die entstandenen Bilddateien benötigten deutlich weniger Speicherplatz als andere zu der Zeit übliche Grafikformate wie PCX oder MacPaint. Selbst große Bilder konnten so in vernünftiger Zeit übertragen werden, auch mit langsamen Modems. Zudem ermöglichte die offene Lizenz-Politik von CompuServe jedem Programmierer, das GIF-Format für eigene Anwendungen kostenlos zu implementieren, sofern dieser einen Hinweis auf das Urheberrecht des Online-Dienstes anbrachte. Dieses dürfte auch der Grund sein warum viele Bildbearbeitungsprogramme noch heute das Format als „Compuserve GIF“ bezeichnen. Auch ist die Fähigkeit, GIF-Dateien darstellen zu können, unter anderem deshalb Bestandteil jedes modernen Webbrowsers.
Als das Internetzeitalter begann, war GIF neben dem Schwarz/Weiß-Bildformat XBM das zweite Standardformat für Bilder. Das heute dominierende JFIF-Format wurde erst nach der Einführung des Mosaic-Browsers üblich. Während das XBM-Format vollständig verdrängt wurde, konnte sich GIF behaupten, weil es – im Gegensatz zu JPEG – Transparenz und Animationen erlaubt.
Die erste 1987 herausgebrachte GIF-Version war die Version „87a“. Im Jahr 1989 veröffentlichte CompuServe eine erweiterte Version, die „89a“ genannt wird. Man kann die Version an den ersten sechs Bytes einer GIF-Datei erkennen. Diese entsprechen entweder den ASCII-Zeichen
GIF87a
oderGIF89a
.GIF hat die MIME-Typen image/gif oder image/giff.
Eigenschaften
Farben, Transparenz und Bildgröße
Bei GIF sind die Farbinformationen in einer Farbtabelle abgelegt. Diese kann bis zu 256 verschiedene Einträge enthalten, die frei aus 2563 ≈ 16,7 Millionen möglichen Farbwerten auswählbar sind. Als das Bildformat vorgestellt wurde, war dies keine wesentliche Einschränkung, da nur wenige Leute Hardware besaßen, die mehr Farben anzeigen konnte. Für typische Zeichnungen, Cartoons, Schwarz-Weiß-Fotografien und ähnliches sind 256 Farben oder Graustufen in der Regel auch heute noch völlig ausreichend. Komplexere Bilder wie zum Beispiel Farbfotos oder Zeichnungen mit Farbverläufen müssen demzufolge vor der Speicherung auf 256 Farben oder weniger reduziert werden (Farbquantisierung). Die so entstandenen Farbstufen oder Dithering-Effekte sind besonders bei großen Bildern mehr oder weniger störend sichtbar.
Ab GIF89a kann ein Farbeintrag in der Palette als transparent definiert werden. Dadurch kann man an beliebigen Stellen die jeweilige Hintergrundfarbe durchscheinen lassen und den Eindruck erwecken, ein GIF-Bild hätte eine nicht rechteckige Form. Teiltransparenz (Alpha-Transparenz) wie bei PNG ist damit aber nicht möglich: ein Pixel kann entweder nur "voll sichtbar" oder "komplett durchsichtig" sein.
Die maximale Größe von GIF-Bildern beträgt 65.535×65.535 Pixel, also etwa 4.294 Megapixel.
Interlacing
Da die typische Bandbreite der Online-Anbindung eines Webnutzers Ende der 80er, Anfang der 90er Jahre noch sehr begrenzt war, wurde schon in GIF87a die Möglichkeit der so genannten Interlace-Darstellung integriert. Dabei werden die Bilddaten nicht der Reihenfolge nach abgespeichert, sondern zunächst jede 8. Zeile (von oben nach unten), dann jede 4., jede 2. und schließlich die verbleibenden. Bei der Anzeige der Grafik im Webbrowser werden diese Zeilen dann in zunächst 8-facher, dann 4-facher, schließlich doppelter Höhe angezeigt, bis alle Daten geladen sind und das Bild 1:1 dargestellt wird. Auf diese Weise hat der Betrachter – speziell bei sehr langsamer Verbindung – schnellstmöglich eine Art grober Voransicht, die mit zunehmender Datenmenge verfeinert wird. Eine verbesserte Methode (Adam7) wurde für das PNG-Format übernommen.
Bilder mit mehr als 256 Farben
Schon GIF87a bietet die Möglichkeit, mehrere Einzelbilder, von denen jedes eine eigene Farbpalette (Local Color Table) haben kann, in einer Datei zu speichern. Diese Möglichkeit kann dazu verwendet werden Echtfarbenbilder (True-Color-GIFs) zu speichern.[1][2] Anders als bei den animierten GIFs werden diese nicht nacheinander abgespielt sondern nebeneinander aufgebaut. Dazu wird das ganze Bild schachbrettartig in Einzelbilder mit nicht mehr als 256 Farben aufgeteilt, die jeweils eine eigene Palette erhalten. Anders als bei einer echten Animation werden die einzelnen Frames aber nicht nacheinander, sondern nebeneinander dauerhaft angezeigt. So lassen sich Bilder mit 24 Bit Farbtiefe auch im GIF-Format verlustfrei und standardkonform speichern und darstellen. Da die Einzelbilder unabhängig voneinander komprimiert werden und zudem je eine unkomprimierte lokale Palette von 6 bis 768 Byte Länge erfordern, ist bei solchen „Echtfarben-GIFs“ insgesamt meist keine gute Kompressionsrate mehr zu erreichen.
True-Color-GIFs lassen sich z.B. mit PhotoImpact oder der freien ANGIF-Library von Phil Howard erzeugen. Konqueror, Safari und Netscape Communicator 4.7x zeigen sie sofort und korrekt an. IrfanView, Firefox, Internet Explorer und Opera zeigen die einzelnen Frames jedoch nur mit Zwangspausen von ca. 100 ms dazwischen an, wodurch bis zum vollständigen Bildaufbau der Eindruck einer Animation entstehen kann. True-Color-GIFs lassen sich völlig problemlos als 24-Bit-RGB-Bilder in das Grafikprogramm GIMP importieren. Der Bildbetrachter XnView zeigt schwere Grafikfehler, das Bild ist nicht erkennbar. Die Bildanzeige von Windows XP meldet nur einen Fehler und zeigt das Bild nicht an. Die Programme Reggae und SView5 zeigen die Dateien problemlos an.
Echtfarben-GIFs erreichten bisher keine große Bekanntheit und Verbreitung.
Animationen
Man kann die Fähigkeit von GIF, mehrere Einzelbilder zu speichern, auch zum Speichern von Animationen nutzen. Eine offizielle Beschreibung des verwendeten Formates existiert nicht, es hat sich jedoch als ein De-Facto-Standard unter Browserherstellern etabliert. Dabei werden die Einzelbilder zeitverzögert nacheinander vom Webbrowser oder dem Bildbearbeitungsprogramm abgespielt. Im Gegensatz zu Echtfarben GIFs verwenden animierte GIFs für alle Einzelbilder in der Datei dieselbe Farbpalette. Durch diese Animationsmöglichkeit war erstmalig auch die Übertragung kurzer, filmähnlicher Dateien möglich. Animierte GIFs erreichten deshalb eine große Verbreitung und sind weiterhin gebräuchlich.
GIF ermöglicht Animationen, die sich ständig wiederholen (siehe Weltkugel rechts) oder Animationen, die nur einmal oder einige Male ablaufen, und dann beim letzten Bild stehen bleiben (Beispiel).
GIF und die LZW-Patente
1994 entdeckte die Software-Firma Unisys, dass sie ein 1983 eingereichtes Softwarepatent auf das im GIF-Format verwendete LZW-Verfahren hielt und forderte daraufhin von CompuServe Lizenzgebühren. Die beiden Unternehmen einigten sich darauf, dass CompuServe eine Lizenz von Unisys erhält, die dann an Hersteller kommerzieller Programme, die das GIF-Format verwenden, weitergegeben werden darf. CompuServe verlangte dafür eine Grundgebühr von 1 US-Dollar sowie 1,5 % des Verkaufserlöses der Software, mindestens jedoch 15 Cent pro verkaufter Kopie.[3] Die Gültigkeit dieser Lizenz beschränkte sich außerdem auf Programme, die mit dem CompuServe-Online-Dienst zusammenarbeiteten.
Später konnte der LZW-Algorithmus auch direkt bei Unisys lizenziert werden. Zu diesem Zeitpunkt war GIF bereits so weit im World Wide Web verbreitet, dass sich kaum ein Hersteller den Forderungen von Unisys widersetzen konnte. Obwohl Freie Software und nicht-kommerzielle Produkte vorerst noch von Unisys’ Lizenzforderungen ausgenommen waren, führten diese zur Entwicklung von PNG.
1999 erklärte Unisys, dass nun auch für freie Software Lizenzgebühren zu entrichten wären. Gleichzeitig ging man juristisch gegen einzelne Anwender vor, die GIF-Bilder auf ihren Webseiten verwendeten, die von nicht lizenzierter Software erzeugt wurden.
Das US-Patent ist am 20. Juni 2003 abgelaufen; im Vereinigten Königreich, Frankreich, Deutschland und Italien galt das Patent bis zum 18. Juni 2004, in Japan bis zum 20. Juni 2004 und in Kanada bis zum 7. Juli 2004.
Ferner wurde der Firma IBM ein Patent auf dasselbe Verfahren erteilt; dies beruht auf einem Fehler des US-Patentamts. Die Anmeldung erfolgte zwar drei Wochen vor der von Unisys; nach dem Patentrecht der USA bedeutet dies jedoch nicht, dass das IBM-Patent Priorität genießt. Vielmehr dürfte das IBM-Patent aufgrund des früher erteilten Unisys-Patents ungültig sein. Es wäre am 11. August 2006 ausgelaufen.
Laut dem Software Freedom Law Center liefen am 1. Oktober 2006 die letzten wesentlichen Patente auf die Verwendung von GIFs aus, so dass eine freie Verwendung nun möglich ist.[4] Zum Ablauf des Patents kommentierte eine Stellvertreterin von Unisys:
- We haven't evaluated the new recommendation for PNG, and it remains to be seen whether the new version will have an effect on the use of GIF images. If so, the patent situation will have achieved its purpose, which is to advance technological innovation. So we applaud that.[5]
- Wir haben die neue [W3C-]Empfehlung für PNG nicht beurteilt, und es muss sich noch zeigen, ob die neue Version sich auf die Nutzung von GIF-Bildern auswirken wird. Wenn ja, dann wird die Patentlage ihren Zweck erfüllt haben, nämlich technische Innovation zu fördern. Daher begrüßen wir das.
Vergleich mit moderneren Standards
Das unpatentierte PNG-Format wurde speziell dazu entwickelt, um GIF als Format für Einzelbilder im World Wide Web abzulösen. PNG bietet mehr Eigenschaften, fast immer eine bessere Kompression und kann mehr Farben pro Einzelbild darstellen als GIF. Letzteres ist der größte Vorteil von PNG gegenüber GIF.
Jedoch konnte PNG GIF trotz der Lizenzgebühren für das LZW-Verfahren lange Zeit nichts anhaben, weil es bis zum Auslaufen des Patents auf das LZW-Verfahren fast nur Privatpersonen waren, die als Protest gegen die Unisys-Lizenzpolitik ihre GIFs durch PNG-Bilder ersetzten. Firmen zahlten lieber, da das PNG-Format von den meisten Browsern noch nicht richtig oder überhaupt nicht unterstützt wurde. Außerdem kann PNG – im Gegensatz zu GIF – keine Animationen darstellen. Erst seitdem die meisten Webbrowser das PNG-Format unterstützen, nimmt seine Verwendung zu. Jedoch konnte es GIF bisher (Anfang 2009) nicht verdrängen.
Weil das zu PNG entwickelte Animationsformat MNG sich bis heute nicht durchsetzen konnte, hat sich als Ersatz für GIF-Animationen auf den Homepages großer Firmen und Organisationen Adobe Flash etabliert. Dieses übertrifft sogar die Fähigkeiten von GIF, indem es neben Grafiken und Fotos auch Animationen und Filme mit Ton darstellen kann, sofern der Adobe Flash Player installiert ist. Dieser wird für die drei verbreitetsten Betriebssysteme kostenlos von Adobe angeboten. Des Weiteren gibt es noch APNG, eine von der PNG-Entwicklergemeinde nicht unterstützte PNG-Erweiterung, die neben Bildern auch Animationen darstellen kann und damit als vollständiger GIF-Ersatz gelten kann. Die im Juni 2008 veröffentlichten Versionen von Firefox (3.0) und Opera (9.50) unterstützen APNG, Browser bzw. allgemein Software ohne Unterstützung der Erweiterung (wie z. B. der Internet Explorer) zeigen von diesen Animationen nur das erste Bild an.
Das GIF-Format kann als technisch veraltet angesehen werden, ist jedoch aufgrund seiner weiten Verbreitung und seines Bekanntheitsgrades bislang nicht vollständig ersetzt worden.
Verbreitung und Verwendung
GIF-Bilder werden (trotz der Konkurrenz durch PNG) in großer Zahl, besonders für Banner und kleinere Bilder, erzeugt und im Internet verwendet. Für Fotografien hingegen ist das GIF-Format schlecht geeignet und auch seit Jahren unüblich. Nur in den Anfangstagen des Web wurden auch Fotos und sonstige Echtfarb-Grafiken meistens im GIF-Format gespeichert. Die damals noch nicht sehr weit verbreiteten True-Color-Grafiken wurden dabei (meist unter Anwendung von Dithering) auf 256 Farben oder weniger reduziert.
GIF-Bilder werden jedoch nicht nur im Internet verwendet, sondern teils auch von anderen Programmen, z. B. in Computerspielen für DOS oder Datenbanken.
Literatur
- Thomas W. Lipp: Grafikformate. Microsoft Press, Unterschleißheim 1997, ISBN 3-86063-391-0
- John Miano: Compressed Image File Formats. Addison-Wesley, Reading 2000, ISBN 0-201-60443-4
- Jörg Stroisch, Thorsten Olscha: Webgrafik-Optimierung. Markt und Technik, München 2003, ISBN 3-8272-6530-4
Weblinks
- Spezifikation des Grafikformats GIF87a
- Spezifikation des Grafikformats GIF89a
- Das GIF-Format bei SELFHTML
- Animierte GIF-Grafiken bei SELFHTML
Einzelnachweise
- ↑ True-Color-GIF, Beispiel auf http://ipal.org/phil/tc.html
- ↑ Schreibstrategie True-Color-GIFs, Einzelheiten unter http://aminet.net/docs/misc/GIF24.readme
- ↑ Lipp, S. 308
- ↑ Meldung „GIF ist jetzt frei von Patentrechten“ auf heise online
- ↑ CNET News.com: Bell tolling for PNG graphics format?, 9. Juni 2003
Wikimedia Foundation.