WebP

Aus besserwiki.de
WebP
WebPLogo.svg
Johnrogershousemay2020.webp
Ein Beispiel für ein WebP-Bild
Dateinamen-Erweiterung
.webp
Internet-MedientypBild/Webp
Magische Zahl52 49 46 46 xx xx xx xx 57 45 42 50 56 50 38
Entwickelt vonGoogle
Erste Veröffentlichung30. September 2010; vor 12 Jahren
Art des FormatsBilddateiformat mit verlustfreier und verlustbehafteter Komprimierung
Enthalten inRessourcen-Austausch-Dateiformat (RIFF)
Offenes Format?Ja
Websiteentwickler.google.de/speed/webp
libwebp
Entwicklung(en)Google
Stabile Version
1.2.0 / 30. Januar 2021; vor 2 Jahren
Repositorychromium.googlesource.com/webm/libwebp
Geschrieben inC
TypDigitale Bildgebung
LizenzBSD-Lizenz
Websiteentwickler.google.de/speed/webp

WebP ist ein von Google entwickeltes Bilddateiformat, das als Ersatz für die Dateiformate JPEG, PNG und GIF gedacht ist. Es unterstützt sowohl verlustbehaftete als auch verlustfreie Komprimierung sowie Animation und Alpha-Transparenz.

Google kündigte das WebP-Format im September 2010 an und veröffentlichte die erste Version der unterstützenden Bibliothek im April 2018.

WebP ist ein Grafikformat für verlustbehaftete oder verlustfreie Bildkompression für statische oder animierte Bilder. Als weiterer Abkömmling des 2010 freigegebenen Video-Codecs VP8 ist es ein Schwesterprojekt des Videoformates WebM.

Geschichte

WebP wurde erstmals am 30. September 2010 von Google als neues offenes Format für verlustbehaftet komprimierte Echtfarbgrafiken im Web angekündigt, das Dateien erzeugt, die bei vergleichbarer Bildqualität kleiner als JPEG-Dateien sind. Es basierte auf einer Technologie, die Google mit dem Kauf von On2 Technologies erworben hatte. Als Abkömmling des Videoformats VP8 ist es ein Schwesterprojekt des Multimedia-Containerformats WebM. WebP-bezogene Software wird unter einer BSD-Lizenz für freie Software veröffentlicht.

Am 3. Oktober 2011 fügte Google ein "Erweitertes Dateiformat" hinzu, das WebP-Unterstützung für Animationen, ICC-Profile, XMP- und Exif-Metadaten sowie Kacheln (Komposition sehr großer Bilder aus maximal 16384×16384 Kacheln) ermöglicht. Ältere animierte GIF-Dateien können in animiertes WebP konvertiert werden.

Am 18. November 2011 kündigte Google einen neuen verlustfreien Komprimierungsmodus und Unterstützung für Transparenz (Alphakanal) sowohl im verlustfreien als auch im verlustbehafteten Modus an; die Unterstützung wurde in libwebp 0.2.0 (16. August 2012) standardmäßig aktiviert. Nach Messungen von Google im November 2011 führte eine Konvertierung von PNG zu WebP zu einer Verringerung der Dateigröße um 45 %, wenn man von PNGs aus dem Internet ausgeht, und zu einer Verringerung um 28 % im Vergleich zu PNGs, die mit pngcrush und PNGOUT neu komprimiert wurden.

Im Juli 2016 fügte Apple WebP-Unterstützung zu frühen Beta-Versionen von macOS Sierra und iOS 10 hinzu, aber die Unterstützung wurde später in den im September 2016 veröffentlichten GM-Seed-Versionen von iOS 10 und macOS Sierra entfernt. Im September 2020 wurde die WebP-Unterstützung in Safari Version 14 hinzugefügt.

Die unterstützende libwebp-Bibliothek erreichte im April 2018 die Version 1.0.

Im November 2021 hatten Webbrowser, die WebP unterstützen, einen Marktanteil von 96 %.

Technologie

Einfaches WebP
Bytes Inhalt
 0- 3 R I F F
 4- 7 Länge+12
 8-11 W E B P
12-15 V P 8 (Leerzeichen)
16-19 Länge (gepolstert)
20- … VP8-Schlüsselrahmen
Pad ? (gerade Länge)

Der verlustbehaftete Komprimierungsalgorithmus von WebP basiert auf der Intra-Frame-Codierung des VP8-Videoformats und dem Resource Interchange File Format (RIFF) als Containerformat. Dabei handelt es sich um ein blockbasiertes Transformationsschema mit acht Bit Farbtiefe und einem Luminanz-Chrominanz-Modell mit Chroma-Unterabtastung im Verhältnis 1:2 (YCbCr 4:2:0). Ohne weitere Inhalte hat der obligatorische RIFF-Container einen Overhead von nur zwanzig Bytes, obwohl er auch zusätzliche Metadaten enthalten kann. Die Seitenlänge von WebP-Bildern ist auf 16.383 Pixel begrenzt.

WebP basiert auf der Blockvorhersage. Jeder Block wird anhand der Werte der drei darüber liegenden Blöcke und eines Blocks links davon vorhergesagt (die Dekodierung der Blöcke erfolgt in der Reihenfolge des Rasterscans: von links nach rechts und von oben nach unten). Es gibt vier grundlegende Modi der Blockvorhersage: horizontal, vertikal, DC (eine Farbe) und TrueMotion. Falsch vorhergesagte Daten und nicht vorhergesagte Blöcke werden in einem 4×4-Pixel-Subblock mit einer diskreten Kosinustransformation oder einer Walsh-Hadamard-Transformation komprimiert. Beide Transformationen werden mit Festkomma-Arithmetik durchgeführt, um Rundungsfehler zu vermeiden. Die Ausgabe wird mit Entropie-Kodierung komprimiert. WebP bietet auch explizite Unterstützung für die parallele Dekodierung.

Die Referenzimplementierung besteht aus einer Konvertierungssoftware in Form eines Befehlszeilenprogramms für Linux (cwebp) und einer Programmierbibliothek für die Dekodierung, die der von WebM entspricht. Der Open-Source-Gemeinschaft ist es schnell gelungen, den Konverter auf andere Plattformen, wie z. B. Windows, zu portieren.

Der WebP-Container (d. h. der RIFF-Container für WebP) ermöglicht die Unterstützung von Funktionen, die über den grundlegenden Anwendungsfall von WebP hinausgehen (d. h. eine Datei, die ein einzelnes, als VP8-Schlüsselbild kodiertes Bild enthält). Der WebP-Container bietet zusätzliche Unterstützung für:

Metadaten
Ein Bild kann Metadaten enthalten, die im Exif- oder XMP-Format gespeichert sind.
Transparenz
Ein Bild kann Transparenz haben, d. h. einen Alphakanal.
Farbprofil
Ein Bild kann ein eingebettetes ICC-Profil haben, das vom International Color Consortium beschrieben wird.

Verlustfreie Komprimierung

Die verlustfreie Komprimierung von WebP, ein neuerer Algorithmus, der nichts mit VP8 zu tun hat, wurde vom Google-Softwareingenieur Jyrki Alakuijala entwickelt. Er verwendet fortschrittliche Techniken wie dedizierte Entropiecodes für verschiedene Farbkanäle, die Ausnutzung der 2D-Lokalität von Rückwärtsreferenzabständen und einen Farbcache der zuletzt verwendeten Farben. Dies ergänzt grundlegende Techniken wie die Wörterbuchkodierung, die Huffman-Kodierung und die Farbindexierungstransformation. Dieses Format verwendet eine rekursive Definition: alle Kontrollbilder, wie z. B. die Auswahl des lokalen Entropiecodes, werden auf die gleiche Weise kodiert wie das gesamte Bild selbst.

Animation

Google hat die Verwendung von WebP für animierte Bilder als Alternative zum beliebten GIF-Format vorgeschlagen und nennt die Vorteile von 24-Bit-Farben mit Transparenz, die Kombination von Frames mit verlustbehafteter und verlustfreier Komprimierung in derselben Animation sowie die Unterstützung der Suche nach bestimmten Frames. Google berichtet von einer Verringerung der Dateigröße um 64 % für Bilder, die von animierten GIFs in verlustbehaftetes WebP konvertiert wurden, allerdings mit sehr deutlichen visuellen Auswirkungen, sowohl bei Standardeinstellungen als auch bei optimierten Einstellungen. Bei der Konvertierung mit verlustfreiem WebP wird laut Google eine Reduzierung um 19 % erreicht, obwohl die tatsächliche Leistung eher bei 10 % liegt.

Unterstützung

Webbrowser

Google wirbt aktiv für WebP, und Google Chrome und alle Chromium-basierten Browser unterstützen das Format. Das proprietäre Tool PageSpeed Insights empfiehlt Webmastern, von JPEG und PNG auf WebP umzusteigen, um die Geschwindigkeit ihrer Website zu verbessern.

Microsoft Edge-Versionen, die nach Januar 2020 veröffentlicht werden, basieren auf dem Chromium-Browser und verfügen über native WebP-Unterstützung. EdgeHTML-basierte Versionen von Microsoft Edge unterstützen WebP über eine (standardmäßig installierte) Plattformerweiterung (es sei denn, sie laufen im sicherheitsgeschützten "Application Guard"-Modus, der keine Plattformerweiterungen unterstützt).

Safari hat die Unterstützung für WebP mit iOS 14 und macOS Big Sur hinzugefügt.

Mozilla Firefox (und seine Abspaltungen Pale Moon und Waterfox) unterstützt WebP offiziell seit Januar 2019. Ursprünglich wurde die Implementierung im Jahr 2013 erwogen.

GNOME Web, Midori und Falkon unterstützen WebP von Haus aus.

WebP kann auch in allen gängigen Browsern mit der JavaScript-Bibliothek WebPJS angezeigt werden, obwohl die Unterstützung in Internet Explorer 6 und höher mit Flash erreicht wird.

Die Unterstützung für WebP wurde Links in Version 2.26 hinzugefügt.

Grafik-Software

Picasa (ab Version 3.9), PhotoLine, Pixelmator, ImageMagick, XnView, IrfanView, GDAL, Aseprite, Paint.NET (ab Version 4.2.5), GIMP (ab Version 2.10), gThumb (ab Version 3.1.1), Xara Designer Pro (ab Version 18.0) und Adobe Photoshop (ab Version 23.2) unterstützen WebP von Haus aus.

Im Jahr 2019 veröffentlichte Google ein kostenloses Plug-in, das die WebP-Unterstützung in früheren Versionen von Adobe Photoshop aktiviert. Zuvor waren bereits kostenlose Photoshop-Plug-ins von Telegraphics und fnordware veröffentlicht worden. GIMP unterstützte bis Version 2.8 ebenfalls WebP über ein Plugin; später wurde dieses Plugin im GIMP 2.9-Zweig ausgeliefert und erhielt mehrere Verbesserungen. Google hat auch ein Plugin für Microsoft Windows veröffentlicht, das die WebP-Unterstützung in Windows Photo Viewer, Microsoft Office 2010, FastPictureViewer und jeder anderen Anwendung, die die Windows Imaging Component verwendet, ermöglicht. Blender unterstützt WebP seit Version 3.2.

Mit LibreOffice 7.4 wird WebP unterstützt wegen seiner großen Verbreitung nachdem der Nachfolger Avif schon länger implementiert wurde. Dabei kann bisher nicht das native ODS bzw. ODT-Office-Format zum Abspeichern genutzt werden.

Andere Programme

FFmpeg, das mit der VP8/VP9-Referenzcodec-Bibliothek libvpx verknüpft ist, kann VP8-Keyframes aus WebM-Medien extrahieren und ein Skript kann dann den WebP-RIFF-Header und das NUL-Pad-Byte für ungerade Frame-Längen hinzufügen. Inzwischen unterstützt FFmpeg libwebp direkt.

Gmail und Google Photos unterstützen beide WebP. Unterstützung für WebP ist auch für Google App Engine geplant. Die Funktion "Instant Previews" der Google-Suche verwendet intern WebP, um den von den Vorschaubildern verwendeten Speicherplatz zu reduzieren. Android 4.0 unterstützt die Kodierung und Dekodierung von WebP-Bildern (über Bitmap und Skia). SDL_image unterstützt das Format seit 1.2.11.

Telegram Messenger verwendet WebP für seine Sticker und behauptet, dass diese im Vergleich zu den anderen Formaten, die normalerweise in Messaging-Apps verwendet werden, fünfmal schneller angezeigt werden.

Signal verwendet WebP für seine nicht-animierten Sticker.

LibreOffice unterstützt den Import von WebP-Bildern seit Version 7.4, ebenso wie das auf LibreOffice-Technologie basierende Online-Büro Collabora Online.

Content-Management-Systeme (CMS) unterstützen WebP in der Regel nicht von Haus aus oder standardmäßig. Für die meisten gängigen CMS sind jedoch Erweiterungen für die automatische Konvertierung von anderen Bildformaten in WebP und die Bereitstellung von WebP-Bildern in kompatiblen Browsern verfügbar. Seit Juni 2021 unterstützt WordPress WebP von Haus aus.

Beschränkungen

Wie VP8, auf dem es basiert, unterstützt das frühere verlustbehaftete WebP nur das 8-Bit-Format YUV 4:2:0, was bei Bildern mit dünnen Kontrastelementen (wie in der Pixelkunst und Computergrafik) zu Farbverlusten und Geisterbildern in Anaglyphen führen kann. Um diese Einschränkung zu überwinden, unterstützt das neue verlustfreie WebP die VP8L-Kodierung, die ausschließlich mit dem 8-Bit-RGBA-Farbraum (Rot, Grün, Blau, Alpha) arbeitet.

Kritik

Das bei Erstveröffentlichung vorgelegte Format und seine (Referenz-)Implementierung gelten als noch unbrauchbar. Jason Garrett-Glaser, ein Entwickler des x264-Encoders, äußerte mehrere Kritikpunkte zu WebP. WebP unterstütze ausschließlich die Farbunterabtastung 4:2:0. Die vom JPEG-Format unterstützten 4:2:2 und 4:4:4 fehlten. Die Qualität von Vergleichsbildern im WebP-Format sei offenbar trotz des überlegenen Formates bei gleicher Dateigröße schlechter und verschwommener als jene im JPEG-Format, da der Encoder keine wahrnehmungspsychologischen Optimierungen einsetze. Seitdem hat Pascal Massimino, der Entwickler des cwebp-Encoders, diesen verbessert und die meisten der angemerkten Fehler beseitigt, wodurch die o. g. Punkte größtenteils hinfällig sind. Jason Garrett-Glaser weist korrekt darauf hin, dass der H.264-„intra-frame“-Algorithmus bessere Ergebnisse als VP8 liefert, jedoch im Gegensatz zu VP8 mit Patenten behaftet ist.

Vergleichstests zeigten 2010 tendenziell bei mittleren bis hohen Qualitätseinstellungen unterlegene Kompressionsergebnisse und Schwierigkeiten mit detailreichem Bildmaterial.

Mozilla lehnte WebP-Unterstützung für seine Produkte bis März des Jahres 2013 ab, da das Format noch keinen klaren Vorteil gegenüber JPEG biete.

Im Dezember 2016 zeigte dann eine Google-eigene Studie einen Vorteil von 25–34 Prozent bei der Kompression, verglichen mit JPEG bei vergleichbarer Struktureller Ähnlichkeit (SSIM).

Im Oktober 2013 veröffentlichte Josh Aas von Mozilla Research eine umfassende Studie über aktuelle verlustbehaftete Kodierungstechniken und kam zu dem Schluss, dass WebP die Leistung von mozjpeg nicht wesentlich übertrifft.

Metadaten

Obwohl WebP die Speicherung von Exif-, XMP- oder ITPC-Metadaten als RIFF-Container-Chunks als Teil des Extended File Formats unterstützt, stellt Google keine Tools für die wichtigsten Plattformen wie Windows, macOS, Android oder iOS zur Verfügung, um Metadaten in WebP-Bilddateien zu bearbeiten und anzuzeigen, sondern bietet Tools zur Migration vorhandener Metadaten in JPEG-Dateien nach WebP.

Nutzung, weitere Formate und Nachfolgekandidat AVIF

Laut einer Statistik von w3techs ist die Nutzung mit 4,4 % der untersuchten Webseiten (Stand Juni 2022) nicht besonders hoch.

Zunächst entwickelt Google ein direktes Nachfolgeformat WebP 2, das sie selbst als Verbesserung der Kompressionseffizienz mit wenig neuen Features bezeichnen und derzeit als experimentell einstufen (Stand Juni 2022).

Google (Schweiz) entwickelte zudem 2017–2019 ein weiteres neues Format namens PIK, das bei GitHub unter MIT-Lizenz bereitgestellt wurde. Es floss bei der Entwicklung des neuen JPEG XL ein, neben anderen Formaten.

Außerdem wurde für neue Apple-Geräte ein neues Format namens HEIF eingeführt, das auch hohe Kompressionsraten bietet, aber ebenfalls noch nicht durchgängig unterstützt wird.

Als Variante davon muss man das neue Format AVIF betrachten, das von der Alliance for Open Media spezifiziert wird und auf dem AV1-Videocodec basiert. Es erwies sich in mehreren Veröffentlichungen gegenüber WEBP überlegen (was aber für HEIF und JPEG XL genauso gilt), so dass es sich zu dessen Nachfolger entwickeln kann, sobald die Softwareunterstützung noch besser ist (Stand Juni 2022), der Einsatz ist aber bereits möglich mit Hilfe einer Fallback-Lösung.

Vorteile:

  • Höhere Kompression als WebP (gegenüber JPEG also etwa um 50 % verbessert).
  • Verbesserte Farbtiefe: WebP arbeitet nur mit einer Tiefe von 8 Bit, während AVIF 8, 10 und 12 Bit unterstützt, wodurch ein breiteres Spektrum an zu komprimierenden Bildern akzeptiert wird.
  • Mehr Möglichkeiten bei der Farbunterabtastung: WebP unterstützt nur den 4:2:0-Kanal, während AVIF die Kanäle 4:2:0, 4:2:2 und 4:4:4 unterstützt.

Google entwickelt die zweite Version von WebP seit Juni 2021. Seine Referenzimplementierung ist libwebp2. Das Hauptziel dieses neuen Formats ist es, ähnliche Kompressionsraten wie AVIF zu erreichen und gleichzeitig schneller zu kodieren und zu dekodieren.

Aussprache

Laut dem Dateinamenserweiterungen-Verzeichnis Dot What? wird WebP wie im Englischen „weppy“ ausgesprochen.

Verwendung

Ein Beispiel für WebP

Das Format soll als neuer offener Standard für verlustbehaftet komprimierte Echtfarb-Grafiken im Web dienen und wird so als direkte Konkurrenz zum älteren JPEG platziert, gegenüber dem es bei vergleichbarer Qualität deutlich kleinere Dateien ermöglichen soll. Im März 2017 hat Google mit „Guetzli“ einen neuen Open-Source-JPEG-Encoder vorgestellt.

Unterstützende Content-Management-Systeme

Am 20. Juli 2021 wurde WordPress Version 5.8 veröffentlicht. WordPress unterstützt somit ohne Plug-in offiziell den Upload von WebP-Bildern. Bisher hochgeladene Bilder müssen jedoch nachträglich von JPG oder PNG in WebP gewandelt werden.

Ähnliche Formate

  • JPEG 2000, Konkurrenzformat der Joint Photographic Experts Group (2000 veröffentlicht)
  • JPEG XR, Konkurrenzformat von Microsoft (2006 veröffentlicht)