GIFs (Grafik -Interchange -Format) komprimieren Bitmaps nicht auf die gleiche Weise wie modernere Formate wie JPEG oder PNG. Sie verwenden eine verlustfreie Komprimierungstechnik namens
lempel-ziv-welch (LZW) . Hier ist eine Aufschlüsselung darüber, wie es funktioniert:
1. Palettenreduktion: GIFs sind auf maximal 256 Farben beschränkt. Dies ist ein entscheidender erster Schritt. Der Algorithmus analysiert die Farben des Bitmap und wählt die 256 repräsentativsten Farben aus, um eine Farbpalette zu erstellen. Alle Farben in der ursprünglichen Bitmap, die nicht genau zu einer dieser 256 Farben übereinstimmen, werden durch die engste Farbe in der Palette angenähert. Hier kann ein kleinerer visueller Informationsverlust * auftreten * *, abhängig von der Komplexität des Bildes, obwohl es nicht als verlustköpfige Komprimierung auf die gleiche Weise wie JPEG angesehen wird. Je weniger Farben, desto besser die Kompression.
2. LZW -Komprimierung: Nachdem das Bild auf seine Palette reduziert wurde, tritt die tatsächliche Komprimierung auf. LZW ist ein Wörterbuch-basierter Algorithmus. Es erstellt ein Wörterbuch über wiederholte Farbsequenzen. Anstatt jedes Pixel einzeln zu speichern, speichert es Zeiger für diese Sequenzen im Wörterbuch. Je länger die sich wiederholenden Sequenzen sind, desto effizienter ist die Komprimierung.
Stellen Sie sich eine einfache horizontale Linie roter Pixel vor. Anstatt "rot, rot, rot, rot ..." zu speichern, kann LZW etwas wie "Sequenz A Vierfache" speichern, wobei "Sequenz a" in seinem internen Wörterbuch als "rot" definiert wird. Dies reduziert die Datenmenge erheblich, die zur Darstellung des Bildes erforderlich ist.
3. Speichern Sie die Daten: Die endgültige GIF -Datei enthält:
* Header: Informationen über das Bild, wie z. B. seine Dimensionen und Palette.
* Global Color Table (Palette): Die im Bild verwendeten 256 Farben.
* Bilddaten: Die komprimierten Pixeldaten unter Verwendung der LZW-kodierten Sequenzen.
Warum GIF nicht ideal für alle Bilder:
* begrenzte Farbpalette: Die 256-Farben-Einschränkung macht GIFs für Bilder mit glatten Gradienten oder vielen Farben ungeeignet. Sie erscheinen oft blockig oder posterisiert.
* kein Alpha -Kanal: GIFs unterstützen Transparenz nicht von einer einzigen globalen Transparenzfarbe. Während GIF89A transparente Pixel ermöglicht, unterstützt es nur eine transparente Farbe.
* Nicht ideal für die Fotografie: Aufgrund seiner Verlustnatur in der Farbreduktionsphase und der begrenzten Farbpalette sind GIFs nicht die beste Wahl für Fotos. Sie würden im Vergleich zu JPEG oder PNG zu einem signifikanten Verlust der Bildqualität führen.
Zusammenfassend lässt sich sagen, dass die GIF-Komprimierung die Farbinformationen erheblich reduziert und anschließend einen Wörterbuch-basierten Algorithmus (LZW) verwendet, um die verbleibenden Pixeldaten effizient zu codieren, wodurch eine kleinere Dateigröße auf Kosten des manchmal Farbgenauigkeit erreicht wird. Es handelt sich um eine verlustfreie Methode in Bezug auf die Daten * nach * Farbquantisierung, aber die anfängliche Farbreduktion führt in Abhängigkeit von der Bildkomplexität einen geringfügigen Verlust.