Thursday, September 30, 2010

Google offers Open Source JPEG alternative for faster Web

It turns out there was more to Google's WebM technology than just a plan to revolutionize Web-based video. The company also wants to revolutionize still images on the Web with a new format called WebP.

Google plans to announce the new WebP graphics format today along with its research that indicates its use could cut image file sizes by 40 percent compared to today's dominant JPEG file format. That translates to faster file transfers and lower network burden if Google can convince people to adopt WebP.

An image encoded with WebP.

This image has been encoded with WebP. Because browsers can't show WebP natively today, this WebP image actually is displayed here as a PNG graphic that captures the WebP version without changes. In its WebP incarnation, the image is 36,154 bytes.

(Credit: Google)
An image encoded with JPEG. Its file size is 46768 bytes.

The same image encoded with JPEG. Its file size is 46,768 bytes.

(Credit: Google)

WebP, like JPEG, lets its users trade off image quality for file size. And like JPEG, it's a "lossy" format, meaning it doesn't perfectly reproduce an original image but tries to keep as true to the original as possible when viewed by the human eye.

Unlike JPEG, though, it's not built into every camera, Web browser, image-editing program, pharmacy photo-printing kiosk, and mainstream operating system in existence. That's not stopping Google, though, whose goals with WebP are ambitious even if not as ambitious as replacing JPEG.

"When we took a bunch of images, recompressed them from their current lossy formats into WebP, we saw on average about 40 percent decrease in size, which is staggering," said Richard Rabbat, lead product manager on Google's "make the Web faster" effort. Shrinking images by that much is particularly important considering that, by Google's estimate, "65 percent of bytes on the Web are from images," he said.

JPEG is a powerful incumbent. Microsoft has been trying for years to promote an alternative, now standardized as the royalty-free JPEG XR format, which offers greater dynamic range, a wider range of colors, and more efficient compression. But JPEG XR so far hasn't made much progress beyond standardization and native support in Internet Explorer and Windows.

Google, like Microsoft, knows it's in for a long effort to promote its graphics format.

"The challenges are tremendous," Rabbat said. "We foresee it's going to be a very long conversation."

It's begun that conversation with some that share Google's faster-Web motivations: browser makers. "We're talking to other browser vendors about supporting WebP," he said. "Initially, we want to spread this widely on the Web."

WebP is derived from WebM, Google's open-source, royalty-free technology for encoding and decoding video. The higher compression efficiency measurement came from a sample of 1 million images that Google plucked from the Web. Of them, about 90 percent were JPEG, and Google's tests showed WebP offering the same quality with 40 percent smaller file sizes. The remaining 10 percent were formats such as PNG and GIF, which are used more for illustration images such as logos rather than the photo-oriented JPEG.

Google plans to release WebP software to let people judge image quality for themselves. At first that will include a utility to convert graphics into WebP images, but more important perhaps in the long run is support built into Google's Chrome browser.

"We expect in a few weeks we will have native support for WebP in Chrome," Rabbat said.

That browser move is where Google's efforts to speed up the Web are interesting. Because Google has some very popular Web pages along with a widely used if not dominant browser, the company can make something practical and real out of technology that in another company's hands would be merely academic unless it signed up partners.

Google's doing the same thing with other Web technologies, for example by building into Chrome the SPDY protocol to speed interactions with Web servers, and the Native Client software to run downloadable software at native rather than JavaScript speeds. With Chrome as a vehicle and Google's Web properties as a destination, neither of those need be universally adopted for Google to benefit.

The company wants WebP to be used beyond just its own servers. However, it will be tough to persuade Web developers to create variations on their current Web pages that use WebP rather than JPEG images, especially with no browsers supporting it today.

But Google has an answer: check to see if the browser supports WebP, and if it does, generate the necessary WebP images on the fly for delivery to the browser, Rabbat said.

"You don't have to make a decision--do I need to rebuild my corpus [of graphics] into WebP?" he said. "The conversion happens pretty fast. It's just a bit of CPU [processor power] you have to throw at the problem. When you've done the conversion once, you can cache the image so you don't have to do it again."

There is a penalty for the quality. Encoding WebP images takes about eight times longer than JPEG, Rabbat said. He also observed, though, that "a lot of technologies for lossy compression were invented in the 1970s when processors were slow and memory was expensive."

And hardware eventually could work in WebP's favor.

One convenient feature of WebP is that any hardware that supports WebM video encoding or decoding also supports WebP. That means a mobile phone with hardware support, for example, could take WebP photos.

No comments: