Kann die Dateigröße von animierten GIFs reduziert werden, indem Regionen verglichen werden, die sich tatsächlich geändert haben?

Können GIFs so optimiert werden, dass nur die geänderten Regionen (Pixel innerhalb bestimmter rechteckiger Grenzen pro Frame) in der endgültigen Dateigröße gerendert / berechnet werden?

Dies setzt voraus, dass standardmäßig alle Frames vollständig in einem animierten GIF enthalten sind (ich vermute, dass dies beim Exportieren aus Photoshops "Für Web speichern" der Fall ist ...)

Gibt es eine solche Komprimierung, die auch für die Wiedergabe in beliebigen Browsern kompatibel wäre (wie ein normales animiertes GIF)?

Geben Sie hier die Bildbeschreibung ein

Wenn Sie die .gif-Frames für diesen mit einem Splitter auseinanderziehen (eine Google-Suche durchgeführt, ezgif.com/split gefunden ) und die Optimierungen ignorieren, werden Sie sehen, dass beispielsweise einer der Subframes nur i.stack.imgur ist .com/HAzGh.gif
Nun, ich fühle mich jetzt dumm! Ich habe jedoch GifCam verwendet, um dieses Demo-GIF zu erstellen, das auf ihrer Website erwähnt, dass Frame-Unterschiede verwendet werden. Ich werde Ihr vorgeschlagenes Frame-Splitting-Tool verwenden, um zu sehen, ob dasselbe über Photoshops Save-for-Web gesagt werden kann, danke!

Antworten (2)

Ich vermute, dass dies der Fall ist

eigentlich, nein, das ist nicht der Fall. Animierte GIFs werden auf genau diese Weise optimiert ... jeder Frame enthält nur die Teile des Bildes, die sich tatsächlich gegenüber dem vorherigen Frame geändert haben.

Wikipedia geht nicht ins Detail, erwähnt es aber hier :

Eine gewisse Dateneinsparung ist möglich, wenn ein Rahmen nur einen Teil der Pixel der Anzeige neu schreiben muss, weil der Bilddeskriptor anstelle des gesamten Bildes ein kleineres Rechteck definieren kann, das neu abgetastet werden soll.

Ja, GIF-Dateien können auf diese Weise optimiert werden. Dadurch verringert sich die Größe der einzelnen Frames und damit die Gesamtdateigröße.

Ihre Bildbearbeitungsanwendung bietet dies möglicherweise an. zum Beispiel tun dies die Animationsoptimierungsfilter für GIMP: http://docs.gimp.org/2.8/en/plug-in-optimize.html