Googles „Guetzli“ senkt JPEG-Größen um bis zu 35 % bei konstanter Qualität
Irgendjemand bei Google hat eine Vorliebe für Schweizerdeutsch: Denn auch der neueste Bildkompressions-Encoder des Unternehmens bedient sich bei diesem speziellen Dialekt. Letztes Jahr hatte ich noch über „Brotli“ gebloggt. Jetzt legt Google wiederum mit „Guetzli“ nach. Es handelt sich dabei um einen neuen Encoder, der JPEG-Dateien bei gleichbleibender Bildqualität im Vergleich mit aktuellen Methoden deutlich stärker komprimieren kann. Dadurch sollen die Dateigrößen bei identischer Bildqualität um bis zu 35 % sinken. Alternativ kann man bei gleichbleibender Dateigröße bessere Bildqualität erreichen.
Die via Guetzli komprimierten JPEG-Dateien sind zu allen gängigen Programmen kompatibel, die auch aktuelle JPEGs nutzen – das war in der Vergangenheit bei anderen Methoden von Google (WebP, WebM) nicht immer der Fall. Der urige Name dürfte übrigens daher rühren, dass Guetzli bei Google Research in Zürich entwickelt wurde. Offenbar lässt man den Mitarbeitern bei der Namensgebung dort etwas freie Hand.
Guetzli setzt übrigens bei der Stufe der Quantisierung an, in welcher im Wesentlichen ungeordnete Daten neu geordnet werden, um die Kompression zu erleichtern. Jeder Encoder arbeitet hier etwas unterschiedlich. Google legt Guetzli ein „psychovisuelles“ Modell zugrunde, was bedeutet, dass man sich daran orientiert, wie das menschliche Auge Bilder verarbeitet. Dadurch soll Guetzli dann auch gegenüber anderen Encodern die sichtbaren Vorteile erreichen.
Während Google mit der Hilfe von Guetzli primär im Auge hat die Größe von Bilddateien zu reduzieren, wäre natürlich je nach Anwendungsgebiet auch bei gleichbleibender Dateigröße bessere Bildqualität zu erreichen.
Im obigen Beispielbild wird z. B. Guetzli mit dem Encoder Libjpeg verglichen: Bei geringerer Dateigröße zeigt Guetzli im Vergleich dennoch weniger Kompressionsartefakte.
Wer Guetzli nutzen bzw. einbinden möchte, findet den offenen Quellcode komplett bei Github. Sicherlich interessant für all diejenigen, die viel aktiv mit Bildern arbeiten und sich nach geringeren Dateigrößen sehnen. Erwähnenswert ist allerdings, dass Guetzli aufgrund der verbesserten Quantisierung zum Encodieren von Bildern länger braucht als Libjpeg. Das überrascht natürlich nicht, denn irgendein Trade-Off war zu erwarten.
Sorry, aber welchen Sinn machen Exotenformate, die selbst in der Wikipedia nur einen einzelnen Absatz bekommen?
@Namerp
JPG als richtig schlecht zu bezeichnen, ist ja schon mal eine Hausnummer. Ich finde es ziemlich eindrucksvoll, dass ein 1992 eingeführtes lizenzfreies Format heute immer noch benutzt wird. Besonders weil der Standard so flexibel definiert wurde, dass 25 Jahre später ein Unternehmen wie Google nochmal 30% mehr Effizienz rausholen kann. Da kann ich eigentlich nur sagen, Hut ab.
BPG ist weit davon entfernt „in jeder Engine“ geladen werden zu können. In der Webentwicklung mag das per Converter stimmen, aber dann hört es auch schon auf. Außerdem verschweigst du irgendwie, dass die Enkodierung deutlich rechenaufwendiger ist, und dass bei zunehmender Qualität die Dateigröße mit JPG konvergiert. Ein generelle Aussage wie deine 4MB und 1,5MB Theorie, ist also einfach schon mal falsch. Es kommt schon mal auf die erwartete Qualität an. Außerdem hat die JS Engine zum Umkonvertieren auch eine gewisse Dateigröße, muss geladen werden und fordert weiteren Rechenaufwand beim Client.
@ratti, ich würde mal sagen so überall da wo transparenz gebraucht wird, wird PNG genutzt.