Today’s Chrome Beta for Android update brings your saved passwords and autofill entries from your desktop to your phone and tablet. This release also introduces an experimental data compression feature that will yield substantial bandwidth savings. This feature is powered by a connection to a SPDY proxy running on Google’s servers, paired with content optimization performed by our open-source PageSpeed libraries, specifically tuned for Chrome Beta on Android.
Since speed is critical for a good experience when using the web, at Google we’re always exploring ways to make the web faster. As it turns out, one of the biggest bang-for-the-buck ways to do that is by replacing JPEG and PNG images with WebP. WebP offers significantly better compression than these legacy formats (around 35% better in most cases), and when you consider that over 60% of typical page sizes are images, the benefits can be substantial. WebP translates directly into less bandwidth consumption, decreased latency, faster page loads, better battery consumption on mobile, and overall happier users.
Case in point: the Chrome Web Store uses many large promotional images and tiles on its home page, making it a very heavyweight page. The team was eager to find ways to improve its speed, without sacrificing the user experience or giving up image quality. WebP to the rescue!
Cross-posted on the Google Developers Blog
At Google, we are constantly looking at ways to make web pages load faster. One way to do this is by making web images smaller. This is especially important for mobile devices where smaller images save both bandwidth and battery life. Earlier this month, we released version 0.2 of the WebP library that adds support for lossless and transparency modes to compress images. This version provides CPU and memory performance comparable to or better than PNG, yet results in 26% smaller files.
WebP’s improved compression comes from 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. We think that we've only scratched the surface in improving compression. Our newly added support for alpha transparency with lossy images promises additional gains in this space, helping make WebP an efficient replacement for PNG.
The new WebP modes are supported natively in the latest Beta version of Chrome. The bit stream specification for these new WebP modes has been finalized and the container specification has been updated. We thank the community for their valuable feedback and for helping us evolve WebP as a new image compression format for the web. We encourage you to try these new compression methods on your favorite set of images, check out the code, and continue to provide feedback.
In September 2010 we announced the WebP image format with lossy compression. WebP was proposed as an alternative to JPEG, with 25–34% better compression compared to JPEG images at equivalent SSIM index. We received lots of feedback, and have been busy improving the format. Last month we announced WebP support for animation, ICC profile, XMP metadata and tiling. Today, we introduce a new mode in WebP to compress images losslessly, and support for transparency – also known as alpha channel – in both the lossless and lossy modes.
With these new modes, you can now use WebP to better compress all types of images on the web. Photographic images typically encoded as JPEG can be encoded in WebP lossy mode to achieve smaller file size. Icons and graphics can be encoded better in WebP lossless mode than in PNG. WebP lossy with alpha can be used to create transparent images that have minimal visual degradation, yet are much smaller in file size. Animations compressed as GIFs can use animation support in WebP.
New lossless mode
Our main focus for lossless mode has been in compression density and simplicity in decoding. On average, we get a 45% reduction in size when starting with PNGs found on the web, and a 28% reduction in size compared to PNGs that are re-compressed with pngcrush and pngout. Smaller images on the page mean faster page loads.
New transparency mode
Today, webmasters who need transparency must encode images losslessly in PNG, leading to a significant size bloat. WebP alpha encodes images with low bits-per-pixel and provides an effective way to reduce the size of such images. Lossless compression of the alpha channel adds just 22% bytes over lossy (quality 90) WebP encoding. Smaller alpha overhead means richer images on webpages.
You can find a more detailed compression study for these modes here and sample images in the WebP-Gallery. The bit stream specification has not been finalized, and the encoding and decoding implementations have not yet been optimized for processing speed. We encourage you to try it out on your favorite set of images, check out the code, and provide feedback. We hope WebP will now handle all your needs for web images, and we're working to get WebP supported in more browsers.
Google recently announced the WebP image format boasting 40% greater image compression over JPEG and JPEG2000, and just this morning we covered a plug-in that brings browser support for the fledgling standard. Now Pixelmator, the slick Mac image editing suite that we've covered several times before, has added "the world's first" WebP compatibility into its armory. In the words of the Pixelmator team:
I am very excited to announce that Pixelmator 1.6.2 is the world's first app to bring WebP support (of any kind). What's more, it's not just some microscopic experimental support; it's complete, full, total, absolute WebP support!
So you can use Pixelmator 1.6.2 to easily open and edit WebP images as well as save or export images or image slices to the WebP format to create smaller, better looking images. You can even use Pixelmator's Export for Web feature to adjust the degree of compression and see the adjustment preview instantly (the glorious Pixelmator's Save for Web, ha!).
There's one small caveat however -- if you want to use WebP in Pixelmator's export for Web feature, you'll need to turn it on using the Terminal. Simply cut and paste the following, with Pixelmator closed, into Terminal:
defaults write com.pixelmatorteam.pixelmator enableWebP YES
Now, whether WebP will really catch on and replace the web and industry standard JPEG is anyone's guess. Pixelmator's ready, but if I were a betting man, my money would be on no. Then again, with the power of Google and their excellent Chrome browser behind it, anything is possible.
Following in the freshly-trampled footsteps of its video cousin WebM, Google claims that average savings of about 40% over a comparable JPEG can be achieved. Curiously, the image they chose to provide CNet as an example only saved about half that.
Either way, smaller images filesizes would lead to faster Web page loading times, and a faster Web makes everyone happy, right? There's one downside, however -- encoding in WebP takes about 8 times as long as JPEG. I'm not sure I'd even notice the difference, since eight times the fraction of a second it takes Paint.Net to save a JPEG is still a fraction of a second.
If you find yourself getting all tingly-like waiting to take a look at WebP in action, you won't be waiting long. Google says native support is coming to Chrome "in a few weeks."
Overheard on our team chat: "Anyone remember JPEG2000? Lol."