WebP: History
Please note this is an old version of this entry, which may differ significantly from the current revision.
Contributor:

WebP is an image file format developed by Google intended as a replacement for JPEG, PNG, and GIF file formats. It supports both lossy and lossless compression, as well as animation and alpha transparency. Google announced the WebP format in September 2010, and released the first stable version of its supporting library in April 2018.

  • webp
  • lossless
  • gif

1. History

WebP was first announced by Google on 30 September in 2010 as a new open format for lossy compressed true-color graphics on the web, producing files that were smaller than JPEG files for comparable image quality.[1] It was based on technology which Google had acquired with the purchase of On2 Technologies.[2] As a derivative of the VP8 video format, it is a sister project to the WebM multimedia container format.[3] WebP-related software is released under a BSD free software license.[4]

On 3 October 2011,[5] Google added an "Extended File Format"[6] allowing WebP support for animation, ICC profile, XMP and Exif metadata, and tiling (compositing very large images from maximum 16384×16384 tiles). Older animated GIF files can be converted to animated WebP.

On 18 November 2011, Google announced a new lossless compression mode, and support for transparency (alpha channel) in both lossless and lossy modes; support was enabled by default in libwebp 0.2.0 (16 August 2012).[7][8] According to Google's measurements in November 2011, a conversion from PNG to WebP resulted in a 45% reduction in file size when starting with PNGs found on the web, and a 28% reduction compared to PNGs that are recompressed with pngcrush and PNGOUT.[9]

In July 2016, Apple added WebP support to early beta versions of macOS Sierra and iOS 10,[10] but support was later removed in the GM seed versions of iOS 10 and macOS Sierra released in September 2016. In September 2020, WebP support was added in Safari version 14.[11]

The supporting libwebp library reached version 1.0 in April 2018.[12]

As of November 2021, web browsers that support WebP had 96% market share.[13]

2. Technology

Simple WebP
Bytes Content
0–3 R I F F
4–7 length + 12
8–11 W E B P
12–15 V P 8 (space) [14]
16–19 length (padded)
20–… VP8 key frame
pad (even length)

WebP's lossy compression algorithm is based on the intra-frame coding of the VP8 video format[15] and the Resource Interchange File Format (RIFF) as a container format.[16] As such, it is a block-based transformation scheme with eight bits of color depth and a luminance–chrominance model with chroma subsampling by a ratio of 1:2 (YCbCr 4:2:0).[17] Without further content, the mandatory RIFF container has an overhead of only twenty bytes, though it can also hold additional metadata.[16] The side length of WebP images is limited to 16383 pixels.[18]

WebP is based on block prediction. Each block is predicted on the values from the three blocks above it and from one block to the left of it (block decoding is done in raster-scan order: left to right and top to bottom). There are four basic modes of block prediction: horizontal, vertical, DC (one color), and TrueMotion. Mispredicted data and non-predicted blocks are compressed in a 4×4 pixel sub-block with a discrete cosine transform or a Walsh–Hadamard transform. Both transforms are done with fixed-point arithmetic to avoid rounding errors. The output is compressed with entropy encoding.[17] WebP also has explicit support for parallel decoding.[17]

The reference implementation consists of converter software in the form of a command-line program for Linux (cwebp) and a programming library for the decoding, the same as for WebM. The open-source community ported the converter to other platforms, such as Windows.[19]

The WebP container (i.e., RIFF container for WebP) allows feature support over and above the basic use case of WebP (i.e., a file containing a single image encoded as a VP8 key frame). The WebP container provides additional support for:

Metadata
An image may have metadata stored in Exif or XMP formats.
Transparency
An image may have transparency, i.e., an alpha channel.
Color profile
An image may have an embedded ICC profile as described by the International Color Consortium.

2.1. Lossless Compression

WebP's lossless compression, a newer algorithm unrelated to VP8, was designed by Google software engineer Jyrki Alakuijala. It uses advanced techniques such as dedicated entropy codes for different color channels, exploiting 2D locality of backward reference distances and a color cache of recently used colors. This complements basic techniques such as dictionary coding, Huffman coding and color indexing transform.[7] This format uses a recursive definition: all of the control images, such as the local entropy code selection, are encoded the same way as the whole image itself.[20]

2.2. Animation

Google has proposed using WebP for animated images as an alternative to the popular GIF format, citing the advantages of 24-bit color with transparency, combining frames with lossy and lossless compression in the same animation, and support for seeking to specific frames.[21] Google reports a 64% reduction in file size for images converted from animated GIFs to lossy WebP, however, with a very noticeable visual impact, both at default settings, and optimised settings. When converting using lossless WebP, a 19% reduction is achieved as reported by Google,[21] although real world performance is nearer to 10%.[22]

3. Support

3.1. Web Browsers

Google actively promotes WebP, and Google Chrome and all Chromium-based browsers support the format. The proprietary PageSpeed Insights tool suggests that webmasters switch from JPEG and PNG to WebP in order to improve their website speed score.[23]

Microsoft Edge versions released after January 2020 are based on the Chromium browser, and have native WebP support. EdgeHTML-based versions of Microsoft Edge support WebP through a platform extension (installed by default) (unless running in the security-hardened "Application Guard" mode, which does not support platform extensions).[24]

Safari added support for WebP with iOS 14 and macOS Big Sur.[11]

Mozilla Firefox[25] (and its forks Pale Moon[26] and Waterfox[27]) officially supports WebP since January 2019.[28] It was initially considered for implementation in 2013.[29]

GNOME Web, Midori, and Falkon natively support WebP.

WebP can also be displayed in all major browsers using the WebPJS JavaScript library, although support in Internet Explorer 6 and above is achieved using Flash.[30]

Support for WebP was added to Links in version 2.26.[31]

3.2. Graphics Software

Picasa (from version 3.9),[32] PhotoLine,[33] Pixelmator,[34] ImageMagick,[35] XnView,[36] IrfanView,[37] GDAL,[38] Aseprite,[39] Paint.NET (from version 4.2.5),[40] GIMP (from version 2.10),[41] gThumb (from version 3.1.1),[42] Xara Designer Pro (from version 18.0),[43] Adobe Photoshop (from version 23.2)[44] and GraphicConverter[45] all natively support WebP.

In 2019, Google released a free plug-in that enables WebP support in earlier versions of Adobe Photoshop.[46] Free Photoshop plug-ins had been released by Telegraphics and fnordware before that.[47][48] GIMP up to version 2.8 also supported WebP via a plugin;[49] later, this plugin was shipped in GIMP 2.9 branch, and received multiple improvements.[50] Google has also released a plug-in for Microsoft Windows[51] that enables WebP support in Windows Photo Viewer, Microsoft Office 2010, FastPictureViewer,[52] and any other application that uses Windows Imaging Component.[53] Blender supports WebP since version 3.2.[54]

3.3. Other Programs

FFmpeg linked with the VP8/VP9 reference codec library libvpx can extract VP8 key frames from WebM media and a script can then add the WebP RIFF header and the NUL pad byte for odd frame lengths. Meanwhile, FFmpeg supports libwebp directly.

Gmail and Google Photos both support WebP. Support for WebP is also planned for Google App Engine. The Instant Previews feature of Google Search uses WebP internally to reduce disk space used by previews.[55] Android 4.0 supports encoding and decoding WebP images (via bitmap and Skia).[56] SDL_image supports the format since 1.2.11.

Telegram Messenger uses WebP for their Stickers, claiming they are displayed 5 times faster compared to the other formats usually used in messaging apps.[57]

Signal uses WebP for their non-animated stickers.[58]

LibreOffice supports the import of WebP images since version 7.4,[59] so does the LibreOffice technology based online office Collabora Online.

Content management systems (CMS) usually do not support WebP natively or by default. However, for most popular CMS, extensions are available for automated conversion from other image formats to WebP and delivering WebP images to compatible browsers. Since June 2021, WordPress supports WebP natively.[60]

4. Restrictions

Like VP8 on which it is based, former lossy WebP supports only 8-bit YUV 4:2:0 format,[61] which may cause color loss on images with thin contrast elements (such as in pixel art and computer graphics) and ghosting in anaglyph. To overcome this restriction, new lossless WebP supports VP8L encoding that works exclusively with 8-bit RGBA (red, green, blue, alpha) color space.[62][63]

5. Criticism

In September 2010, Fiona Glaser, a developer of the x264 encoder, wrote a very early critique of WebP.[15] Comparing different encodings (JPEG, x264, and WebP) of a reference image, she stated that the quality of the WebP-encoded result was the worst of the three, mostly because of blurriness on the image. Her main remark was that "libvpx, a much more powerful encoder than ffmpeg's jpeg encoder, loses because it tries too hard to optimize for PSNR" (peak signal-to-noise ratio), arguing instead that "good psycho-visual optimizations are more important than anything else for compression".[15]

In October 2013, Josh Aas from Mozilla Research published a comprehensive study of current lossy encoding techniques[64] and was not able to conclude that WebP outperformed mozjpeg by any significant margin.[65]

6. WebP 2

Google has been developing the second version of WebP since June 2021. Its reference implementation is libwebp2. The main goal of this new format is to reach similar compression ratios as AVIF while remaining faster to encode and decode.[66]

The content is sourced from: https://handwiki.org/wiki/Software:WebP

References

  1. "Comparative Study of WebP, JPEG and JPEG 2000". Google Code. https://code.google.com/intl/no/speed/webp/docs/c_study.html. 
  2. Shankland, Stephen (30 September 2010). "Google Offers JPEG Alternative for Faster Web - With WebP, Google hopes to drastically cut data-transfer barriers to Web browsing. But it's not easy to challenge JPEG's dominance.". CBS Interactive. https://www.cnet.com/news/google-offers-jpeg-alternative-for-faster-web/. 
  3. Paul, Ryan (2 October 2010). "Google's New VP8-Based Image Format Could Replace JPEG". Ars Technica. Condé Nast. https://arstechnica.com/open-source/news/2010/10/googles-new-vp8-based-image-format-could-replace-jpeg.ars. 
  4. Rabbat, Richard (3 October 2010). "License/Patent clarification". Google Groups. http://groups.google.com/a/webmproject.org/group/webp-discuss/browse_thread/thread/5b8fe3ed39687eff. 
  5. Arora, Vikas (3 October 2011). "WebP-Mux (RIFF based container) framework". Google Groups. https://groups.google.com/a/webmproject.org/group/webp-discuss/browse_thread/thread/4ab76cbde89e6ade/23512e5a1ed1dab0. 
  6. "WebP Container Specification". https://developers.google.com/speed/webp/docs/riff_container. 
  7. Alakuijala, Jyrki (30 August 2012). "Lossless and Transparency Modes in WebP". Google Developers Blog. https://developers.googleblog.com/2012/08/lossless-and-transparency-modes-in-webp.html. 
  8. Zern, James (16 August 2012). "Version 0.2.0". Chromium. https://chromium.googlesource.com/webm/libwebp/+/v0.2.0. 
  9. Alakuijala, Jyrki; Arora, Vikas; Joshi, Urvang (18 November 2011). "Lossless and Transparency Encoding in WebP". Google Code Blog. http://googlecode.blogspot.com/2011/11/lossless-and-transparency-encoding-in.html. 
  10. Stephen Shankland (2016-07-19). "Apple tests Google graphics format to speed up websites". CNET. http://www.cnet.com/news/apple-ios-macos-tests-googles-webp-graphics-to-speed-up-web/. 
  11. "Apple Developer Documentation - Safari 14 Release Notes". https://developer.apple.com/documentation/safari-release-notes/safari-14-release-notes. 
  12. "libwebp 1.0.0 release". 2018-04-21. https://chromium.googlesource.com/webm/libwebp/+/refs/tags/v1.0.0. 
  13. "Can I use... WebP image format". https://caniuse.com/webp. 
  14. WebP Container Specification: U+0020 for lossy images, and "L" for lossless images. https://developers.google.com/speed/webp/docs/riff_container#webp_file_header
  15. Glaser, Fiona (2010-09-30). "H.264 and VP8 for still image coding: WebP?". Diary Of An x264 Developer. http://x264dev.multimedia.cx/archives/541. 
  16. Rabbat, Richard (30 September 2010). "WebP, a new image format for the Web". Chromium Blog. https://blog.chromium.org/2010/09/webp-new-image-format-for-web.html. 
  17. "VP8 Data Format and Decoding Guide". 2010-09-23. https://www.webmproject.org/media/pdf/vp8-bitstream.pdf. 
  18. "WebP FAQs". Google Code. https://code.google.com/speed/webp/faq.html. 
  19. "WebP for .NET". Codeplex. Microsoft. 2010-10-01. https://archive.codeplex.com/?p=webp. 
  20. Jyrki Alakuijala (2014-09-16). "WebP Lossless Bitstream Specification". Google Inc.. https://developers.google.com/speed/webp/docs/webp_lossless_bitstream_specification. 
  21. "Frequently Asked Questions". 2014-02-21. https://developers.google.com/speed/webp/faq#why_should_i_use_animated_webp. 
  22. "GIF is (Finally) dead. Long live Webp". 24 July 2021. https://technedigitale.com/archives/1466. 
  23. "Serve Images in Next-Gen Formats". https://developers.google.com/web/tools/lighthouse/audits/webp. 
  24. "WebP images won't load in Microsoft Edge with Application Guard". 14 November 2018. https://www.ctrl.blog/entry/windows-webp-appguard. 
  25. "Firefox 65 Release Note". https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/65. 
  26. Moonchild. "Pale Moon – Release Notes for Archived Versions" (in en). https://www.palemoon.org/releasenotes-archived.shtml. 
  27. Kontos, Alex. "Waterfox 54.0.1 Release (Windows, Mac & Linux)" (in en). https://blog.waterfoxproject.org/waterfox-54.0-release-download. 
  28. "Firefox 65 supports Google's WebP Image format - gHacks Tech News" (in en-US). 2018-11-02. https://www.ghacks.net/2018/11/02/firefox-65-supports-googles-webp-image-format/. 
  29. Shankland, Stephen. "Why Mozilla had a change of heart about WebP images" (in en). https://www.cnet.com/tech/services-and-software/why-mozilla-had-a-change-of-heart-about-webp-images/. 
  30. "WebPJS – Google's new image format WebP for not supported browsers (with alpha-channel)". https://webpjs.appspot.com/. 
  31. "Changelog". http://links.twibright.com/download/ChangeLog. 
  32. Picasa and Picasa Web Albums Release Notes https://support.google.com/picasa/bin/static.py?hl=en&page=release_notes.cs&from=53209&rd=1
  33. "Release notes Version 18.00". pl32.com. http://www.pl32.com/pages/rnote18.php. 
  34. David, Chartier (2010-10-04). "Pixelmator to Add Support for Google's WebP Image Format". PC World. IDG. https://www.pcworld.com/article/206899/pixelmator_to_add_support_for_googles_webp_image_format.html. 
  35. "ImageMagick Image Formats". ImageMagick.org. ImageMagick Studio LLC. http://www.imagemagick.org/script/formats.php. 
  36. "XnView Software – All Supported Formats". xnview.com. Pierre-Emmanuel Gougelet. http://www.xnview.com/en/xnview/#formats. 
  37. History of IrfanView changes http://www.irfanview.com/history_old.htm
  38. "GDAL supported formats". gdal.org. GDAL – Geospatial Data Abstraction Library. http://www.gdal.org/frmt_webp.html. 
  39. "Aseprite – Release-notes". http://www.aseprite.org/release-notes/#aseprite-v1-1-1. 
  40. "paint.net 4.2.5 is now available!". October 2019. https://blog.getpaint.net/2019/10/01/paint-net-4-2-5-is-now-available/. 
  41. "GIMP 2.10 Release Notes". http://www.gimp.org/release-notes/gimp-2.10.html. 
  42. "[gthumb-list gThumb 3.1.1 released"]. https://mail.gnome.org/archives/gthumb-list/2012-September/msg00000.html. 
  43. "Release notes Version 18". Xara website. http://releasenotes.xara.hosting/designer-pro-x18/. 
  44. "Work with WebP files in Photoshop". https://helpx.adobe.com/photoshop/kb/support-webp-image-format.html. 
  45. "Lemke Software: Import and export formats". https://www.lemkesoft.de/en/products/graphicconverter/key-features/import-and-export-formats. 
  46. "WebPShop". Photoshop plug-in for opening and saving WebP images. Google Inc.. https://developers.google.com/speed/webp/docs/webpshop. 
  47. "WebP Format". Free plugins for Photoshop & Illustrator. Telegraphics. http://telegraphics.com.au/sw/product/WebPFormat. 
  48. "Adobe WebM/WebP plugins". fnordware.com. https://github.com/fnordware/AdobeWebM#download. 
  49. "nathan-osman/gimp-webp: Gimp plugin for loading and saving WebP images". https://github.com/nathan-osman/gimp-webp. 
  50. "GIMP 2.9.6 Released". 24 August 2017. https://www.gimp.org/news/2017/08/24/gimp-2-9-6-released/. 
  51. WebP Codec Installer for Windows 0.19 https://storage.googleapis.com/downloads.webmproject.org/releases/webp/WebpCodecSetup.exe
  52. FastPictureViewer Image Formats Compatibility http://www.fastpictureviewer.com/formats/
  53. "WebP Codec for Windows". WebP website. Google Inc.. https://developers.google.com/speed/webp/docs/webp_codec. 
  54. "Pipeline, Assets, IO". https://wiki.blender.org/wiki/Reference/Release_Notes/3.2/Pipeline_Assets_IO. 
  55. "The Chromium Blog: WebP in Chrome, Picasa, Gmail With a Slew of New Features and Improvements". 2011-05-21. https://blog.chromium.org/2011/05/webp-in-chrome-picasa-gmail-with-slew.html. 
  56. Android 4.0 Platform Highlights https://developer.android.com/sdk/android-4.0-highlights.html#media-dev
  57. "Stickers Done Right" https://telegram.org/blog/stickers#sharing-your-own-stickers
  58. "Stickers Requirements" https://support.signal.org/hc/en-us/articles/360031836512-Stickers#sticker_reqs
  59. "LibreOffice 7.4 Community: Release Notes - the Document Foundation Wiki". https://wiki.documentfoundation.org/ReleaseNotes/7.4#Core_.2F_General. 
  60. "WordPress 5.8 adds WebP support". 7 June 2021. https://make.wordpress.org/core/2021/06/07/wordpress-5-8-adds-webp-support/. 
  61. VP8 Data Format and Decoding Guide, IETF, November 2011, sec. 2, doi:10.17487/RFC6386, RFC 6386, https://tools.ietf.org/html/rfc6386, retrieved 2014-01-21 
  62. "Frequently Asked Questions". https://developers.google.com/speed/webp/faq#what_color_spaces_does_the_webp_format_support. 
  63. "WebP Lossless Bitstream Specification". https://developers.google.com/speed/webp/docs/webp_lossless_bitstream_specification. 
  64. Josh Aas. "Studying Lossy Image Compression Efficiency". Mozilla Research Blog. https://blog.mozilla.org/research/2013/10/17/studying-lossy-image-compression-efficiency/. 
  65. Josh Aas. "Mozilla Advances JPEG Encoding with mozjpeg 2.0". Mozilla Research Blog. https://blog.mozilla.org/research/2014/07/15/mozilla-advances-jpeg-encoding-with-mozjpeg-2-0/. 
  66. "codecs/libwebp2 - Git at Google". chromium.googlesource.com. 8 June 2021. https://chromium.googlesource.com/codecs/libwebp2/.  Updated from time to time.
More
This entry is offline, you can click here to edit this entry!
ScholarVision Creations