Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Google's WebP Image Format: Now with Lossless Compression

DZone's Guide to

Google's WebP Image Format: Now with Lossless Compression

· Web Dev Zone ·
Free Resource

Code something amazing with the IBM library of open source blockchain patterns. Content provided by IBM.

Last year Google introduced WebP, a new image format designed to replace JPEG. WebP compresses better than JPEG, according to Google's own research -- pulling half of JPEG's foundation from under its feet.

JPEG's other half is, of course, ubiquity. Every browser reads JPEGs, and hardly any browser reads WebP. This shouldn't be surprising: new standards need to do something new, not just something old, better.

Last week Google added another feather to WebP's cap: now WebP also supports animation, XMP metadata, alpha channel (for transparency), lossless compression, and more. Google boasts:

On average, we get a 45% reduction in size when starting with PNGs found on the web [using the new WebP lossless mode], and a 28% reduction in size compared to PNGs that are re-compressed with pngcrush and pngout... Lossless compression of the alpha channel [in WebP] adds just 22% bytes over lossy (quality 90) WebP encoding.


This means that WebP now does lots of stuff that JPEG doesn't -- and also does most stuff that PNG already does. So Google is now poised to present WebP as the best of both (old and new) image-format worlds.

WebP is unlikely to cause any huge waves any time soon. (As far as I can tell, it doesn't change anything radically.) But new image formats have been due for some time, and maybe WebP is the wave of the future.

Read over the latest announcement or the project itself. This may be an early glimpse into our lossless WebP future.

 

Start coding something amazing with our library of open source Cloud code patterns. Content provided by IBM.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}