Google 开发 WebP 图像格式,体积比JPEG小40%

现在网络上流通的图片所采用的格式大多是十几年前制定出来的,它们流传广泛、通用性好,但压缩的质量却依然受制于当年的开发技术,所以,Google想要制定一个更优秀的图片格式,能在保持图片的质量和分辨率的同时,拥有比JPEG更好的压缩比,进而大大加速网络浏览中图片的加载速度。

WebP格式,正是Google交出来的方案。

目前网上最流行的有损图片格式当数JPEG,相比之下无损压缩的PNG和GIF仍占小数。当前网络环境下,各类图片的数据量占据了65%的网页总体积。图片体积过大显然会影响浏览体验,这在网速有限的地区尤为明显(天朝小水管)。WebP 格式致力于提高有损图片的压缩比,减少这硕大无比的65%数据的体积,无疑对网页提速大有裨益。

WebP文件使用RIFF格式作为容器 (文件规范决定文件信息数据的排布, wav 和 avi 格式也是基于RIFF),这种格式非常轻量级,在极端的情况下一个RIFF图像文件的数据开销不到20字节,同时RIFF有很好的扩展性,开发者可以往里面添加想要的元数据。

图像数据采用VP8编码,说起这个编码器不得不提 Google 五月份Web O/I 2010 大会上宣布的 WebM项目。Google 收购了 On2 公司,并将其 VP8 视频编码推向开源,以对抗 x264,成为HTML5视频标准。WebM是采用VP8编码的高画质、开放、免费实现以及专门针对 Web 优化的视频格式。

WebP 使用了与 WebM 相同的VP8编码器来压缩图像,利用预测编码技术,通过部分像素块的颜色来预测其邻近块的颜色值,并只记录两者的差值,因为多数情况下两者差距很小,甚至零差距,因而大大提高了压缩的比率。最后再将差值数据进行量化和熵编码保存。

为了证实VP8理论上的优质高效,Google 在网络上随机采集了100万张图片(大多数为JPEG PNG 和 GIF),在保持其图像质量不变的前提下进行了 WebP 重编码,证明采用 WebP 格式的图片体积减少39%,并且对非有损压缩格式图像(如 PNG)进行压缩时比率更高。

WebP项目的Gallery页面上有提供大量的 JPEG 和 WebP 效果对比图,当然,因为现在还没浏览器支持这一新图片格式,WebP的图片还是暂时以PNG格式保存。目前项目处于开发者预览阶段,只提供有Linux下的格式转换工具。另外,在格式开发进入Alpha阶段时,大概就能跟PNG一样支持半透明。

开发者正在努力让 Webkit 内核兼容WebP格式图片,估计能在下几个版本的 Chrome 里出现。

以下为官方 WebP 页面上的翻译内容:

什么是 WebP

WebP 是一种可用于摄影图像的有损压缩方法,其压缩率可调整,所以用户可以在文件尺寸和图像质量方面做自己的选择。

WebP 文件采用 VP8 图像数据并基于 RIFF 封装,网站管理员、网页开发者以及浏览器开发者都可以使用 WebP 格式创建更小的,画质更好的图像,以实现更快的网页速度。

WebP 这个单词读起来有点拗口是吧?那就读成“Weppy”[(wĕpˈē)]吧!

WebP 是如何工作的?

WebP 使用预测编码技术对图像进行编码处理,这个技术也同时被应用在 VP8 视频的编码解码过程,以压缩视频种得关键帧。预测编码技术的原理就是使用部分像素块的颜色来预测其邻近像素块的颜色值,并只对两者的差值进行编码。因为多数情况下两者差距很小,甚至零差距,因而大大提高了压缩的比率。最后再将差值数据进行量化和熵编码保存。

目前的版本中包含什么?

目前的版本提供了一个轻量级的 WebP 文件解码器(libvpx)和一个命令行工具(webpconv),用于对图像在 WebP 和普通格式之间转换。WebP 团队还在为 Webkit 引擎开发原生支持 WebP 的补丁,并且会在不久的 Google Chrome 中得以支持。

为啥要用 WebP?

用上了 WebP,你可以:

在你的网站上提供更快的用户体验;降低你的流量和服务器成本;推动 Web 的发展;

via ChromiumBlog

时间: 2024-11-08 20:57:14

Google 开发 WebP 图像格式,体积比JPEG小40%的相关文章

谷歌计划发布新图像格式体积比JPEG小40%(图)

本幅图像以WebP格式编码.由于目前浏览器尚未原生支持WebP格式图像,这幅图像将采取对WebP图像抓图的形式获取.WebP格式图像的大小为36154字节.以JPEG格式编码的同一幅图像的大小为46768字节. 北京时间10月1日凌晨消息,据国外媒体报道,谷歌计划于今天晚些时候正式发布新的图像压缩格式WebP.使用这个格式的图像的体积将比JPEG格式图像减小40% 与JPEG相同,WebP是一种有损压缩.但谷歌表示,这种格式的主要优势在于高效率.他们发现,"在质量相同的情况下,WebP格式图像的

Firefox 将支持谷歌超微型 WebP 图像格式

Mozilla 工程师已经开始研发新版火狐浏览器,以支持由谷歌开发的有损和无损压缩 WebP 图像格式.WebP 图像格式源自于 VP8 视频格式,被认为是 WebM 多媒体格式的姊妹项目.谷歌在2010年收购了开发 VP8 格式的 On2 技术公司时,获得了该技术. WebP 格式支持透明度,XMP(可扩展元数据平台)元数据,ICC(国际色彩联盟)配置文件,谷歌还宣布了对动画帧的支持.早期的测试表明,WebP 可以将PNG文件尺寸缩小高达45%,GIF尺寸大小减少65%. 目前谷歌 Chrom

Flash游戏开发实例系列:打小狗

  游戏界面: 开发实例系列:打小狗-"> 图1 游戏概述: 在Flash游戏中,打小狗(老鼠等)游戏是比较基础的游戏了.如果对Flash游戏设计有兴趣的朋友,想学习如何用Flash来制作游戏的朋友,可要好好学习这个游戏的制作哦.因为该游戏中使用的都是一些比较基础的.基本的和常用的ActionScript脚本语言.另外,我们也可以从中学到Flash游戏策划.设计到制作完成的一些概念.方法和技巧等知识. 游戏原理: 首先,游戏通过startdrag().Mouse.hide()来改变隐藏原来

VS开发中的代码编写小技巧——避免重复代码编写的几种方法

原文:VS开发中的代码编写小技巧--避免重复代码编写的几种方法 上一篇文章中程序员的幸福生活--有你的日子,每天都是情人节,收到了大家的很多好评.鼓励和祝福,非常感动,真诚的谢谢大家.也希望每个朋友都能保持一个积极向上的心态,去迎接丰富多彩的人生. 在开发过程中,我们经常会遇到大量重复或者类似的代码需要编写,当然我们可以通过各种模式来避免这种情况出现,但肯定有些时候我们是无法避免的,那么遇到这种情况,我们该如何快速完成这些重复或类似的代码的编写呢.下面来说一下我的方法,当然,如果大家有更好的方法

vba语言编程-vba求各位大神指导:CAD二次开发vba语言完成一个小程序

问题描述 vba求各位大神指导:CAD二次开发vba语言完成一个小程序 编制一个程序,绘制如图所示的路径图案. 要求: 1.路径两端中点由用户输入 2.路径宽度用户自定 3.图案不出边界: 4.填充的圆形图案在2层,直径为路径宽度的1/5,颜色为兰色 5.路径边界线绘制在1层,为红色. 6.图下写上一行文字,由用户输入. 软件AutoCAD2007,VBA语言编写代码 解决方案 这个应该找文档,CAD文档有说明VBA接口怎么用

戴尔考虑在其PC产品中引入 Google开发的软件产品

据国外媒体报道,戴尔公司董事会主席迈克尔-戴尔日前表示,戴尔考虑在其PC产品中引入 Google开发的软件产品.作为全球最大的PC制造商,PC销售占戴尔整个销售额的三分之二,戴尔也因此成为微软最大的客户之一. 微软也计划在下一代操作系统中整合搜索引擎,并建立各种在线服务的链接.以搜索引擎起家的Google也将自己的领地扩展到即时通讯.电子邮件.地图及在线图片服务等领域. 戴尔日前在拉斯维加斯举行的CES展会上表示:"我们发现,越来越多的用户希望PC能够实现更多功能,作为一家PC制造商,戴尔与搜索

在使用BIZTalk Server开发软件时存在那些小问题?

问题描述 在使用BIZTalkServer开发软件时存在那些小问题?因为老师让写一篇小论文想看看有没有什么待改进的地方,比如运行效率.算法的改进等等.不能写介绍性的论文,要带有研究性质的.请各位有编程经验的前辈给看看,提供一些小问题,在较短的时间内本人可以解决的,谢谢了!如果问题被采纳,论文发表时可以一起成为论文的作者. 解决方案 解决方案二:该回复于2012-05-15 13:28:51被版主删除解决方案三:你要改进biztalk?好大的题目解决方案四:存在的问题,需要用了才知道.解决方案五:

在web开发中, html开发有没有体积比较小的操作简单的生成工具?

问题描述 在web开发中, html开发有没有体积比较小的操作简单的生成工具? 在web开发中, html开发有没有体积比较小的操作简单的生成工具? 解决方案 dreamware,不过推荐vs2013,ide爽..特别js.. 解决方案二: notepad++ .... 解决方案三: 计算公式"> 解决方案四: 记事本 解决方案五: notepad++.editplus 解决方案六: 文本编译软件够小了吧

android开发-关于Android Debug的小问题

问题描述 关于Android Debug的小问题 我发现进入这个方法的时候,跳转到源码时,所在的位置不对,请问怎么办开发-关于Android Debug的小问题-android开发遇到问题"> 解决方案 自顶.............. 解决方案二: 紧紧帮你顶一下...加油! 解决方案三: 重新编译生成再试试. 解决方案四: clearn一下--或者你看看是不是权限问题,根本就无权限找到那个方法,关联到了错误的方法上了?