Die La­de­ge­schwin­dig­keit zählt schon seit geraumer Zeit zu den wich­tigs­ten Stell­schrau­ben bei der Op­ti­mie­rung einer Website. Nicht nur Besucher, sondern auch Such­ma­schi­nen ziehen die Zeit, die beim Aufruf einer Seite ins Land streicht, als wichtiges Be­wer­tungs­kri­te­ri­um heran. Ein schlanker und kom­pri­mier­ter Code oder der Einsatz von Caching-Me­cha­nis­men zählen ebenso zu den erprobten Lö­sungs­an­sät­zen für eine schnelle Web­prä­senz wie die Ver­wen­dung kom­pri­mier­ter Bilder. Letztere sind – als ge­stal­te­ri­sches und un­ter­ma­len­des Element – in vielen Projekten in großer Zahl ein­ge­bun­den, wobei ihr Einfluss auf die Ladezeit oft un­ter­schätzt wird.

Mit diesem Problem hat sich u. a. der Such­ma­schi­nen­rie­se Google befasst und mit WebP schon im Jahr 2010 sein haus­ei­ge­nes, li­zenz­frei­es Bild­for­mat für schnel­le­re Websites prä­sen­tiert. Doch was genau steckt ei­gent­lich hinter dem Webformat, das aus dem Video-Codec VP8 her­vor­ge­gan­gen ist? Und wie schlägt es sich im direkten Vergleich mit eta­blier­ten Größen wie JPEG?

Was ist WebP?

Am 30. September 2010 ver­kün­de­te Google die Ver­öf­fent­li­chung eines neuen offenen Standards für ver­lust­be­haf­te­te Kom­pri­mie­rung von 24-Bit-Grafiken im Web. Als Vorlage für das Format mit dem Namen WebP diente das Vi­deo­for­mat VP8, das von der Firma On2 Tech­no­lo­gies ent­wi­ckelt wurde, die Google im gleichen Jahr auf­ge­kauft hatte. In der Folgezeit er­wei­ter­te Google das WebP-Format um Features wie einen Modus zur ver­lust­frei­en Kom­pri­mie­rung, Trans­pa­renz (Al­pha­ka­nal) und Ani­ma­tio­nen. Chrome un­ter­stützt das Kom­pri­mie­rungs­for­mat bereits seit Ende 2010, steht – gemeinsam mit Opera – bis dato aber einer Vielzahl von Browsern gegenüber, die WebP bisher nur ex­pe­ri­men­tell un­ter­stüt­zen (wie Safari und Firefox, deren reguläre Releases keinen Support bieten). Laut eigenen Angaben arbeitet Microsoft aktuell an einer Un­ter­stüt­zung für den haus­ei­ge­nen Browser Edge.

Hinweis

Stets ak­tua­li­sier­te In­for­ma­tio­nen zur Browser-Un­ter­stüt­zung von WebP finden Sie auf caniuse.com.

Sämtliche Software für die Be­ar­bei­tung und Dar­stel­lung von WebP steht stan­dard­mä­ßig unter der BSD-Lizenz. Google nutzt das Format bei­spiels­wei­se im Chrome Web Store und in den mobilen Google+-Apps.

Welche Ei­gen­schaf­ten zeichnen WebP aus?

WebP diente von Beginn an dem Zweck, Bilder im Web auf eine möglichst geringe Da­tei­grö­ße zu re­du­zie­ren. Nach Angaben von Google sind Bilder und Grafiken im WebP-Format rund 30 Prozent kleiner als PNG- oder JPEG-Dateien mit gleicher Bild­qua­li­tät. Während diese beiden klas­si­schen Web­for­ma­te auf un­ter­schied­li­che Kom­pri­mie­rungs­me­tho­den setzen – PNG ver­lust­frei, JPEG ver­lust­be­haf­tet – lässt WebP beide Mög­lich­kei­ten zu. Dank dieser Fle­xi­bi­li­tät ist das Format sowohl für Fotos als auch für kleine Bilder und Grafiken geeignet. Die Kom­pri­mie­rungs-Features sowie die weiteren zentralen Ei­gen­schaf­ten des WebP-Formats lassen sich fol­gen­der­ma­ßen zu­sam­men­fas­sen:

  • Kom­pri­mie­rung (ver­lust­be­haf­tet): Die ver­lust­be­haf­te­te Kom­pri­mie­rung mit WebP basiert auf der Keyframe-Codierung („Schlüs­sel­bild“-Codierung) von VP8.
  • Kom­pri­mie­rung (ver­lust­frei): Die ver­lust­freie Kom­pri­mie­rung mit WebP baut auf ver­schie­de­nen Techniken auf, die die Parameter und Bilddaten trans­for­mie­ren. Dabei kommt u. a. der LZ77-Al­go­rith­mus zum Einsatz.
  • Trans­pa­renz: Der 8-Bit-Al­pha­ka­nal, den das WebP-Format bietet, kann auch bei ver­lust­be­haf­te­ter RGB-Kom­pri­mie­rung genutzt werden.
  • Metadaten: WebP kann EXIF- und XMP-Metadaten enthalten, die ty­pi­scher­wei­se von Kameras erzeugt werden.
  • Farb­pro­fil: Das Google-Format kann ein­ge­bet­te­te ICC-Profile (Da­ten­sät­ze, die den Farbraum be­schrei­ben) enthalten.
  • Ani­ma­tio­nen: Das WebP-Format er­mög­licht die Spei­che­rung von Bild­se­quen­zen.

Wie funk­tio­niert die ver­lust­be­haf­te­te WebP-Kom­pri­mie­rung?

Die ver­lust­be­haf­te­te Kom­pri­mie­rung mit WebP nutzt die gleiche Methode wie der block­ba­sier­te VP8-Codec, um Frames – also Ein­zel­bil­der – vor­aus­zu­be­rech­nen. Jedes Frame wird also in kleinere Segmente un­ter­teilt, die auch als Ma­kro­blö­cke be­zeich­net werden. Innerhalb dieser Ma­kro­blö­cke kann der Codierer red­un­dan­te Bewegungs- und Farb­infor­ma­tio­nen vor­aus­sa­gen und diese vom Block sub­tra­hie­ren. Das Ergebnis dieser prä­dik­ti­ven Kom­pri­mie­rung setzt sich aus den übrig ge­blie­be­nen Blo­ck­in­for­ma­tio­nen und den ab­ge­trenn­ten, red­un­dan­ten In­for­ma­tio­nen (enthalten ty­pi­scher­wei­se viele Nullwerte) zusammen. Es wird quan­ti­fi­ziert und en­tro­pie­co­diert (Dar­stel­lung von Zeichen durch bestimmte Bitmuster). Der Quan­ti­fi­zie­rungs­schritt ist dabei der einzige Prozess, bei dem Bits auch tat­säch­lich ver­lust­be­haf­tet verworfen werden.

Hinweis

WebP greift auf eine arith­me­ti­sche Co­die­rungs­me­tho­de zurück, die ef­fek­ti­ver ist als die Huffman-Codierung, die bei­spiels­wei­se bei JPEG zum Einsatz kommt. Bei beiden handelt es sich zwar um Formen der En­tro­pie­co­die­rung; die Huffman-Methode weist al­ler­dings jedem Zeichen eine ganz­zah­li­ge Anzahl von Bits zu, während die arith­me­ti­sche Codierung der gesamten Zei­chen­fol­ge einen einzigen, längeren Bitcode zuweist. Daher ist die Kom­ple­xi­tät bei der arith­me­ti­schen Codierung zwar höher, die Erzeugung bit­stel­len­mä­ßi­ger Red­un­dan­zen aber aus­ge­schlos­sen (nur Redundanz kom­plet­ter Nach­rich­ten).

Funk­ti­ons­wei­se der ver­lust­frei­en Kom­pri­mie­rung mit WebP

Bei der ver­lust­frei­en WebP-Kom­pri­mie­rung steht im ersten Schritt die Trans­for­ma­ti­on des Bildes an, wobei u. a. folgende Techniken zum Einsatz kommen können:

Trans­for­ma­ti­on auf Basis räum­li­cher Vor­her­sa­gen WebP nutzt 13 ver­schie­de­ne Vor­her­sa­ge-Modi, die sich die Tatsache zunutze machen, dass be­nach­bar­te Pixel häufig mit­ein­an­der kor­re­lie­ren. Dabei wird der aktuelle Pixelwert aus bereits de­co­dier­ten Pixeln vor­her­ge­sagt und lediglich der Restwert codiert.
Farb­trans­for­ma­ti­on Ziel der Farb­trans­for­ma­ti­on ist die De­kor­re­la­ti­on der RGB-Werte jedes einzelnen Pixels. Hierzu wird das Bild zunächst in Blöcke ein­ge­teilt, bevor Rot (R) auf Basis von Grün (G) trans­for­miert wird und Blau (B) auf Basis von Grün und Rot. Der grüne Wert wird derweil bei­be­hal­ten.
Trans­for­ma­ti­on durch Sub­trak­ti­on von Grün Zu­sätz­lich zur ge­ne­rel­len Farb­trans­for­ma­ti­on ist eine Variante möglich, bei der die Grünwerte von den Rot- und Blau­wer­ten jedes Pixels abgezogen werden.
Trans­for­ma­ti­on auf Basis von Farb­in­de­xie­rung Wenn zu wenige ein­deu­ti­ge Pi­xel­wer­te vorliegen, bietet das WebP-Format außerdem die Mög­lich­keit der Farb­in­de­xie­rungs­trans­for­ma­ti­on. Dabei wird die Anzahl ein­deu­ti­ger ARGB-Werte im Bild ermittelt und bei einer zu geringen Zahl eine Anordnung dieser Werte erstellt. Diese Anordnung wird genutzt, um die Pi­xel­wer­te durch den ent­spre­chen­den Index zu ersetzen.
Farb-Caching-Codierung Die ver­lust­freie WebP-Kom­pri­mie­rung kann bereits gesehene Bild­frag­men­te dazu nutzen, neue Pixel zu re­kon­stru­ie­ren. Liegen hierfür keine ge­eig­ne­ten Treffer vor, dient ein lokaler Farb-Cache mit den 32 zuletzt ver­wen­de­ten Farben als Aus­gangs­punkt. Dieser wird fort­lau­fend ak­tua­li­siert.

Die trans­for­mier­ten Parameter und Bilddaten werden en­tro­pie­co­diert, wobei eine Variante des LZ77-Al­go­rith­mus zum Einsatz kommt. Diese verwendet kleine Werte für räumlich nahe Pixel.

Was zeichnet ani­mier­tes WebP aus?

Dank der Un­ter­stüt­zung ani­mier­ter Bilder ist WebP eine in­ter­es­san­te Al­ter­na­ti­ve zu GIF oder APNG. Hierbei kommen Stärken wie die Farbtiefe von 24 Bit und der 8-Bit-Al­pha­ka­nal, aber auch der starke Kom­pri­mie­rungs­grad zum Tragen. Dabei erlaubt das WebP-Format im Gegensatz zu den kon­kur­rie­ren­den Formaten sowohl die ver­lust­freie als auch die ver­lust­be­haf­te­te Kom­pri­mie­rung der Ani­ma­tio­nen. Auch in Sachen De­co­die­rung weiß ani­mier­tes WebP zu über­zeu­gen: Da WebP Metadaten darüber speichert, ob jedes Frame Alpha-Werte enthält, muss der De­co­die­rer nicht jedes Frame einzeln umwandeln, um diese In­for­ma­ti­on zu erhalten.

Hinweis

Laut Google reduziert die Um­wand­lung von GIFs in ver­lust­be­haf­te­tes WebP die Da­tei­grö­ße um bis zu 64 Prozent – bei ver­lust­frei­em WebP sind es immerhin 19 Prozent.

Die bereits erwähnte Keyframe-Technik des WebP-Formats spielt ins­be­son­de­re in Ani­ma­tio­nen seine Stärken aus, wo die Schlüs­sel­bil­der für eine hohe Qualität sorgen. Aus diesem Grund ist der De­co­die­rungs­pro­zess aber auch CPU-in­ten­si­ver als bei­spiels­wei­se bei GIF.

Wie sieht der Aufbau von WebP aus?

Bei WebP-Dateien handelt es sich um Con­tai­ner­da­tei­en, wobei auf das von Microsoft und IBM ent­wi­ckel­te RIFF (Resource Inter­ch­an­ge File Format) als Con­tai­ner­for­mat zu­rück­ge­grif­fen wird. Eine Datei im WebP-Format setzt sich deshalb aus einem RIFF-Header und den ent­spre­chen­den WebP-Inhalten zusammen.

Der RIFF/WebP-Header besteht dabei aus den folgenden drei 4-Byte-Folgen:

  • FourCC (Four Character Code) „RIFF“: Typ­be­zeich­ner aus den vier ASCII-Zeichen R, I, F und F, der angibt, dass es sich um eine RIFF-Con­tai­ner­da­tei handelt
  • File Size: Angabe der Größe der Datei
  • FourCCWEBP“: Typ­be­zeich­ner aus den vier ASCII-Zeichen W, E, B und P, der angibt, dass der RIFF-Container eine WebP-Datei enthält

Im Anschluss an den Header folgen die WebP-Da­tei­blö­cke, die in RIFF-Con­tai­nern auch als „Chunks“ be­zeich­net werden. Jeder Chunk hat seinen eigenen Header, an den sich die je­wei­li­gen In­for­ma­tio­nen an­schlie­ßen. Mögliche Blöcke der obersten Ebene sind „VP8“ (ver­lust­be­haf­te­tes WebP), „VP8L“ (ver­lust­frei­es WebP) und „VP8X“ (er­wei­ter­tes WebP). Letztere kenn­zeich­nen WebP-Dateien mit zu­sätz­li­chen In­for­ma­tio­nen wie EXIF-Metadaten („EXIF“-Chunk) oder einem ICCP-Farb­pro­fil („ICCP“-Chunk)) sowie ani­mier­tes WebP („ANIM“-Chunk).

Der komplette Aufbau von Dateien im WebP-Format sieht also fol­gen­der­ma­ßen aus:

WebP vs. JPEG: So schlägt sich WebP im Vergleich der Bild­for­ma­te

Was Google für die Welt der Such­ma­schi­nen ist, ist JPEG bzw. JPG für die Prä­sen­ta­ti­on von Fotos und großen Bildern im World Wide Web. Auch über ein Vier­tel­jahr­hun­dert nach seiner Ver­öf­fent­li­chung ist das Bild­for­mat kaum aus der Webszene weg­zu­den­ken. Der größte Vorteil gegenüber Formaten wie PNG – das zwar glei­cher­ma­ßen ver­brei­tet, aber über­wie­gend in kleineren Bildern und Grafiken wie Logos, Icons etc. zum Einsatz kommt – liegt dabei zwei­fels­oh­ne darin, dass JPEG dank der ver­lust­be­haf­te­ten Kom­pri­mie­rung für er­heb­li­che Spei­cher­platz­ein­spa­run­gen sorgt.

In diesem ent­schei­den­den Detail erweist sich WebP jedoch als ef­fi­zi­en­ter und flexibler: Zum einen bietet das Google-Format neben der ver­lust­be­haf­te­ten auch eine ver­lust­freie Kom­pri­mie­rungs­me­tho­de an. Zum anderen über­tref­fen die Spei­cher­ein­spa­run­gen bei Bildern im WebP-Format die bei gleich­wer­ti­gen JPEG-Bildern. Dass JPEG dafür Bilder mit einer Ma­xi­mal­grö­ße von bis zu 65.535 x 65.535 Pixeln zulässt, während die Grenze von WebP bei 16.383 x 16.383 Pixeln liegt, ist an­ge­sichts des Ein­satz­fel­des (Web) zu ver­nach­läs­si­gen.

Hinweis

Der Kom­pri­mie­rungs­vor­teil, den WebP gegenüber JPEG hat, geht bei einer sehr starken Kom­pri­mie­rung (etwa ab einem 90-pro­zen­ti­gen Kom­pri­mie­rungs­grad) verloren. Während derart kom­pri­mier­te JPEG-Bilder al­ler­dings sehr verpixelt sind, besitzen gleich­wer­ti­ge Exemplare im WebP-Format noch einen gewissen Mehrwert.

Ähnlich wie beim Vergleich WebP vs. JPEG sieht es im Übrigen auch beim Vergleich WebP vs. GIF aus, wo das Format aus dem Hause Google ebenfalls über­zeu­gen­de Vorzüge in Sachen Qualität und Kom­pri­mie­rung aufweist. Das Problem liegt jedoch in der fehlenden Un­ter­stüt­zung von WebP durch Browser wie Firefox oder Microsoft Edge. Nutzer dieser Web­brow­ser sehen Bilder und Ani­ma­tio­nen in WebP bis dato nicht, weshalb bislang auch kaum ein Website-Betreiber auf das Format setzt.

Die Eckdaten der Ge­gen­über­stel­lung „WebP vs. JPEG“ in ta­bel­la­ri­scher Zu­sam­men­fas­sung:

  WebP JPEG
Ver­öf­fent­li­chung 2010 1992
Da­tei­endung(en) .webp .jpeg, .jpg
Maximale Auflösung (in Pixel) 16.383 x 16.383 65.535 x 65.535
Kom­pri­mie­rung (ver­lust­frei) ja nein
Kom­pri­mie­rung (ver­lust­be­haf­tet) ja ja
Trans­pa­renz (Al­pha­ka­nal) ja nein
RGB-Farbraum ja ja
Ani­ma­tio­nen möglich ja nein
Un­ter­stüt­zen­de An­wen­dun­gen limitiert (u. a. Chrome, Opera, Gmail, IrfanView) uni­ver­sell

Wie lassen sich WebP-Dateien öffnen und umwandeln?

Dateien im WebP-Format lassen sich mit den ge­wöhn­li­chen Bild­be­trach­tungs­pro­gram­men von Windows, Linux und macOS aktuell noch nicht öffnen. Wollen Sie sich dennoch Ani­ma­tio­nen oder Bilder anzeigen lassen, die mit WebP codiert wurden, haben Sie ver­schie­de­ne Mög­lich­kei­ten.

Sind Chrome oder Opera auf Ihrem System in­stal­liert, können Sie die be­tref­fen­de Datei ganz einfach in ein offenes Fenster der beiden Browser ziehen. Da diese WebP nativ un­ter­stüt­zen, sehen Sie so den ent­spre­chen­den Inhalt, ohne weitere Software zu benötigen. Sehr kom­for­ta­bel ist diese Lösung aber nicht – ins­be­son­de­re, wenn Sie sich mehrere Bilder oder Ani­ma­tio­nen ansehen wollen. Wer also nicht mit diversen Brow­ser­fens­tern arbeiten und zwischen diesen hin und her wechseln möchte, sollte zu IrfanView greifen. Der Freeware-Bild­be­trach­ter bietet nach der In­stal­la­ti­on des of­fi­zi­el­len Plug-in-Pakets ebenfalls WebP-Un­ter­stüt­zung. Al­ler­dings ist das Programm nur für Windows verfügbar.

Hinweis

Wenn Sie die Kom­pa­ti­bi­li­täts­schicht Wine nutzen, können Sie IrfanView auch unter macOS oder Linux in­stal­lie­ren, um WebP-Dateien mit dem Freeware-Programm zu öffnen.

Im of­fi­zi­el­len WebP-Developer-Bereich bietet Google darüber hinaus eine Reihe von eigenen Lösungen für die Arbeit mit WebP an – allen voran die Bi­blio­thek libwebp, die Sie dazu nutzen können, die WebP-Codierung und -De­co­die­rung in Ihre eigenen Programme zu im­ple­men­tie­ren. Ferner sind in der kos­ten­frei down­load­ba­ren Sammlung folgende Tools enthalten:

  • cwebp er­mög­licht die Kom­pri­mie­rung einer Bilddatei mithilfe von WebP. Mögliche Ein­ga­be­for­ma­te sind u. a. PNG, JPEG und TIFF. In den Optionen des Tools können Sie de­fi­nie­ren, ob ver­lust­frei oder ver­lust­be­haf­tet kom­pri­miert werden soll.
  • dwebp ist ein Tool, mit dem Sie vor­han­de­ne WebP-Dateien in andere Formate wie PNG (Stan­dard­op­ti­on), BMP, TIFF oder PGM umwandeln können.
  • Mit vwebp liefert Google eine eigene Lösung zum Anzeigen von WebP-Bildern und -Ani­ma­tio­nen auf Basis von OpenGL.
  • webpmux ist das ent­schei­den­de Werkzeug für die Arbeit mit er­wei­ter­tem WebP. Sie können mit dem Programm z. B. Ani­ma­tio­nen im WebP-Format kreieren oder Bild­da­tei­en um Metadaten und ICC-Profile erweitern.
  • Mit gif2webp kon­ver­tie­ren Sie vor­lie­gen­de GIF- in WebP-Dateien. Wie bei der ge­wöhn­li­chen Bil­der­kom­pri­mie­rung ist sowohl die ver­lust­freie als auch die ver­lust­be­haf­te­te Codierung möglich.
Tipp

Auf ezgif.com finden Sie ebenfalls eine Vielzahl von Tools für die Er­stel­lung bzw. Um­wand­lung von WebP-Dateien. Im Gegensatz zu den An­wen­dun­gen von Google können Sie diese ohne In­stal­la­ti­on direkt im Browser nutzen.

Zum Hauptmenü