File:Johnrogershousemay2020.webp 一张 WebP 格式图片 | |
扩展名 | .webp[1] |
---|---|
互联网媒体类型 | image/webp |
特征签名 | 52 49 46 46 xx xx xx xx 57 45 42 50 |
初始版本 | 2010年9月30日[2] |
最新版本 | 1.2.0 2021年1月30日[3] |
专门由 | 资源交换文件格式(RIFF)[4] |
自由格式 | 是[5] |
网站 | developers |
WebP(发音:weppy[6][7])是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式[8]。
WebP最初在2010年9月释出,其支持库于2018年4月发布1.0版本。截至2021年5月,已有94%的浏览器支持此格式[9]。
WebP的设计目标是在减少文件大小的同时,达到和JPEG、PNG、GIF格式相同的图片质量,并希望借此能够减少图片档在网路上的传送时间。[10]根据Google较早的测试,WebP的无损压缩比网路上找到的PNG档少了45%的文件大小,即使这些PNG档在使用pngcrush和PNGOUT处理过,WebP还是可以减少28%的文件大小。
WebP支持的像素最大数量是16383x16383。有损压缩的WebP仅支持8-bit的YUV 4:2:0格式。而无损压缩(可逆压缩)的WebP支持VP8L编码与8-bit之ARGB色彩空间。又无论是有损或无损压缩皆支持Alpha透明通道、ICC色彩配置、XMP诠释资料。
WebP有静态与动态两种模式。动态WebP(Animated WebP)支持有损与无损压缩、ICC色彩配置、XMP诠释资料、Alpha透明通道。
历史
Google于2010年9月30日首次公布WebP格式,它派生自影像编码格式VP8[11],被认为是WebM多媒体格式的姊妹项目,是Google在购买On2 Technologies后获得技术发展而来的[12],该格式及其派生的支持库以BSD授权条款释出。[13]2011年10月3日,Google给WebP添加了扩展格式以让其支持ICC色彩特性文件、可扩展后设资料平台和EXIF[14]。2011年11月8日,Google开始让WebP支持无损压缩和透明色(alpha通道)的功能,而在2012年8月16日的参考实做libwebp 0.2.0中正式支持[15][16]。截至2021年5月,已有94%的浏览器支持此格式[9]。
技术
位 | 内容 | |||
---|---|---|---|---|
0- 3
|
R | I | F | F |
4- 7
|
length+8 | |||
8-11
|
W | E | B | P |
12-15
|
V | P | 8 | [14] |
16-19
|
length (padded) | |||
20- …
|
VP8关键帧 | |||
pad | ? (even length) |
WebP的有损压缩算法是基于VP8视频格式的帧内编码[17],并以RIFF作为容器格式。[2]因此,它是一个具有八位色彩深度和以1:2的比例进行色度子采样的亮度-色度模型(YCbCr 4:2:0)的基于块的转换方案。[18]不含内容的情况下,RIFF容器要求只需20字节的开销,依然能保存额外的元数据(metadata)。[2]WebP图像的边长限制为16383像素。[5]
WebP是基于块预测的。每个块都是根据它上面三个块的值和其左边一个块的值进行预测的(块解码以光栅扫描顺序完成:从左到右,从上到下)。块预测有四种基本模式:水平、垂直、DC(单色)和TrueMotion。利用离散余弦变换或沃尔什-阿达玛转换将预测错误的数据和未预测块压缩在4×4像素子块中。这两种转换都是使用定点算术完成的,以避免舍入误差。输出使用熵编码进行压缩。[18]WebP也明确支持并行解码。[18]
参考实现包含一个Linux命令行程序的转换器,以及以及用于解码的库,与WebM相同。开源社区很快设法将转换器移植到其他平台,例如Windows。[19]
WebP的无损压缩采用先进的技术,例如用于不同颜色通道的专用熵代码,利用反向参考距离的2D位置和最近使用的颜色的颜色缓存。这补充了字典编码、霍夫曼编码和颜色索引变换等基本技术。[16]
支持
浏览器
Chrome和所有基于Chromium的浏览器(如Opera、Brave等)均原生支持静态与动态的WebP格式[20][21],且自12版开始支持WebP的渐进式解码功能[22]。
从2020年1月后发布的基于Chromium的Edge版本原生支持WebP格式。在此之前基于EdgeHTML的Edge版本则在除安全应用保护模式外,通过默认安装的平台扩展实现支持[23]
Firefox和所有克隆自Firefox的浏览器(如Pale Moon和Waterfox等)浏览器亦在65.0版本起支持WebP图像。[24]
2020年9月,在iOS 14和macOS Big Sur的Safari 14中加入了WebP支持。[25]
在Linux中使用的GNOME Web和KDE图片浏览器Gwenview也支持WebP。
此外所有可以原生播放WebM影像的浏览器,也可以透过javascript来显示WebP影像[26][27]。不过在Internet Explorer 6和以上版本中是通过Flash实现的。
图像软件
图像软件当中,Picasa(从3.9版本起)、PhotoLine[28]、Pixelmator[29]、ImageMagick、XnView、IrfanView、GDAL[30]、Aseprite和GIMP(2.10起)皆原生支持WebP格式。
系统
苹果在macOS Sierra及iOS 10的早期beta版本中加入了WebP支持。[31]而在2016年9月7日释出的iOS 10和macOS Sierra GM种子版本中却移除了WebP的支持。
评论
x264的开发者之一:Jason Garrett-Glaser,针对WebP做出了几点评论[32],根据和其他编码器(JPEG、x264、Theora)测试的结果,他认为WebP的影像质量是最差的,多数是在模糊度方面。他也评论Google应该等到WebP可以超越JPEG之后再发布。不过在2011年4月20日,他提到新的WebP编码器表现的非常好,超越JPEG指日可待。
WebP 2
WebP 2是Google在2021年6月开发的新一代WebP。它的具体实现为libwebp2
。这种新格式的主要目标是达到与AV1类似的压缩比,并同时保有更快的编码和解码速度[33]。
相关条目
参考文献
- ↑ WEBP file extension. DotWhat.net. [2010-10-01].
- ↑ 2.0 2.1 2.2 Rabbat, Richard. WebP, a new image format for the Web. Chromium Blog. Google. 2010-09-30 [2010-10-01].
- ↑ Zern, James. libwebp 1.2.0. Chromium. Google. 2021-01-30.
- ↑ RIFF Container. Google Code. Google.
- ↑ 5.0 5.1 WebP FAQs. Google Code. Google.
- ↑ WebP Home: "Did you know? WebP is pronounced 'weppy'. /(wĕpˈē)/"
- ↑ Chapman, Stephen. Google's New WebP Image Standard Is All About SEO. ZDNet. 2010-10-04 [2010-10-06].
- ↑ Calore, Michael. Meet WebP, Google's New Image Format. Wired. 2010-10-01 [2010-10-05].
- ↑ 9.0 9.1 WebP image format | Can I use... Support tables for HTML5, CSS3, etc. caniuse.com. [2021-07-18].
- ↑ Comparative Study of WebP, JPEG and JPEG 2000. Google Code. Google.
- ↑ Paul, Ryan. Google's new VP8-based image format could replace JPEG. Ars Technica. 2010-10-02 [2010-10-05].
- ↑ Shankland, Stephen. Google offers JPEG alternative for faster Web. CNET News. CBS Interactive. 2010-09-30 [2010-10-01].
- ↑ Rabbat, Richard. License/Patent clarification. 2010-10-03.
- ↑ 14.0 14.1 WebP Container Specification: U+0020 for lossy images, and "L" for lossless images.
- ↑ WebP v0.2.0 decoder and encoder source tree.
- ↑ 16.0 16.1 Google Developers Blog: Lossless and Transparency Modes in WebP
- ↑ Glaser, Fiona. H.264 and VP8 for still image coding: WebP?. Diary Of An x264 Developer. 2010-09-30 [2010-10-01].
- ↑ 18.0 18.1 18.2 VP8 Data Format and Decoding Guide (PDF). Google. 2010-09-23 [2010-10-02].[永久失效链接]
- ↑ WebP for .NET. Codeplex. Microsoft. 2010-10-01.
- ↑ Metz, Cade. Google open sources JPEG assassin. The Register (San Francisco). 2010-09-30 [2010-10-03].
- ↑ Ødegaard, Ruarí. CSS gradients, WebP, and Declarative UI. Opera Desktop Team (Opera Software ASA). My Opera. 2011-03-15 [2011-03-15].
- ↑ The Chromium Blog: WebP in Chrome, Picasa, Gmail With a Slew of New Features and Improvements. Google. 2011-05-21 [2011-05-20].
- ↑ Aleksandersen, Daniel. WebP images won’t load in Microsoft Edge with Application Guard. www.ctrl.blog. 2018-11-14 [2021-07-18] (英语).
- ↑ Firefox 65 Release Note.
- ↑ Apple Developer Documentation - Safari 14 Release Notes. developer.apple.com. [2021-05-13].
- ↑ Weppy Demo: WebP in modern browsers today. GitHub. [2010-10-11].
- ↑ Weppy: Javascript Shim for WebP on Chrome 6 and Firefox 4.0. Blog: this title probably isn't very original. antimatter15.com. 2010-10-03 [2011-05-24].
- ↑ Release notes Version 18.00. pl32.com. [2013-10-05].
- ↑ David, Chartier. Pixelmator to Add Support for Google's WebP Image Format. PC World. IDG. 2010-10-04 [2010-10-05].
- ↑ GDAL supported formats. gdal.org. GDAL - Geospatial Data Abstraction Library. [2011-11-30].
- ↑ Stephen Shankland. Apple tests Google graphics format to speed up websites. CNET. 2016-07-19 [2016-07-20].
- ↑ Garrett-Glaser, Jason. H.264 and VP8 for still image coding: WebP?. Diary Of An x264 Developer. 2010-09-30 [2010-10-01].
- ↑ codecs/libwebp2 - Git at Google. chromium.googlesource.com.
外部链接
- 官方网站
- IMG2WebP.net:线上WebP图像转换工具