当前位置:网站首页>图片格式-webp
图片格式-webp
2022-06-29 08:24:00 【CamilleZJ】
目前在互联网上,图片流量仍占据较大的一部分。因此,在保证图片质量不变的情况下,节省流量带宽是大家一直需要去解决的问题。传统的图片格式,如 JPEG,PNG,GIF 等格式图片已经没有太多的优化空间。因此 Google 于 2010 年提出了一种新的图片压缩格式 — WebP,给图片的优化提供了新的可能。
WebP 在各大互联网公司已经使用得很多了,国外的有 Google(自家的东西肯定要用啦,Chrome Store 甚至已全站使用 WebP)、Facebook 和 ebay,国内的有淘宝、腾讯和美团等。

WebP 的优势体现在它具有更优的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量;同时具备了无损和有损的压缩模式、Alpha 透明以及动画的特性,在 JPEG 和 PNG 上的转化效果都相当优秀、稳定和统一。
WebP 就像 JPEG 的升级版。WebP 图片格式来源于 VP8 视频编解码器,也就是 WebM 视频容器,是 WebM 视频格式地单个压缩框架。VP8 编解码器的一个强大功能就是能够进行帧内压缩,或者更确切地说,能将视频的每个帧都被压缩,再压缩帧与帧之间的差异。
WebP 特性
- 有损压缩:有损压缩基于 VP8 关键编码。VP8 是 On2 Technologies 创建的视频格式,是 VP6 和 VP7 格式的后续版本。
- 无损压缩:采用预测变换,颜色变换,减去绿色,LZ77 反响参考等技术进行压缩。
- 透明度:8位 Alpha 通道对图形图像很有用。Alpha 通道可以于有损 RGB 一起使用。与其它格式图片所不支持的 WebP 特有的功能。
- 动画:它支持真彩色动画图像,即可以支持动态图( 类Gif 图)
- 元数据:它可能具有 EXIF 和 XMP 元数据
- 颜色配置文件:它可能具有嵌入式 ICC 配置文件。
WebP 兼容性
在国内,WebP 已经得到半数用户的支持了 Can I use... Support tables for HTML5, CSS3, etc

压缩对比:


格式转化:
google浏览器可以直接打开,还有一些其他工具,还有很多格式转化工具即网站,可自行百度。
关于压缩
为什么可以对图片进行有损压缩,因为使用有损压缩的一个关键原则是:人类的感知能力并没有计算机那么精确。科学证明,人的眼睛只能区分 1000 万种不同的颜色,并且人眼对亮度比色度更敏感,这意味着我们会忽略较大的色度变化,而不影响我们对图片的敏感度。
有损压缩
WebP 的压缩是使用与 VP8 相同的方式来预测帧。VP8 基于块预测与任何基于块的编解码器一样,VP8 将帧划分为称为宏块(MarcoBlocking)的小块。在每个宏块内,编码器可以基于先前处理的块来预测冗余运动和颜色信息。图像帧是“关键”,意思是它仅使用已经在每个宏块的直接空间邻域中解码的像素。并试图对它们的未知部分进行赋值。这就称为与预测编码。然后可以从块中减去冗余数据,进而有效压缩。
宏块(MarcoBlocking)
编码器的第一阶段是将图像分割成“宏块”。宏块包含一个 16x16 的亮度像素块,和两个 8x8 的色度像素块。这个阶段非常像 JPEG 格式里转换颜色空间,对色度通道降低采样,以及细分图片。

预测(Prediction)
然后,“宏块”的每个 4x4 子块都有一个预测模型。它在一块周围定义两个像素:有一行在它上面 A(Raw A),左边是一列 L(Column L)。利用 A 和 L,编码器会将它们放在一个 4x4 的预测像素块填满,并确定哪一个生成了最接近原始块的值。这些用不通方法填充的块叫做‘预测块’。
块预测常见有四种模式:
- 水平预测:块的每一列都带有前一列的副本
- 垂直预测:使用前一行的副本填充块的每一行。
- T M 预测:一种模式,On2 Technologies 开发压缩技术,下次另将。
- D G 预测:使用 A 上方和 L 左侧列中的像素平均值,使用单个值填充快。
值得注意的是, 4x4 的亮度块还有另外 6 种模式。

基本流程就是我们找到这个最快的预测块,并导出过滤结果(剩余误差),然后送到下个阶段。
自适应量化
为了提高图像质量,图像被分割成具有明显相似特称的区域。对于这些段中的每一个,压缩质量都独立调谐。通过将位重新分配到最有用的位置,实现高效压缩。
JPGify it
为什么说 WebP 是 JPEG 的升级版,因为它们有很多相似的地方,并且在一些压缩处理上又优于 JPEG。
相同点:
- 对块里剩余的值执行 DCT 过滤
- DCT 矩阵后量化
- 转成量化矩阵后重新排序,然后送到一个静态压缩器里。

不同点:
- 在 DCT 阶段输入的数据不是原始的数据块本身,而是预测后的数据。
- WebP 用的静态压缩器是算术压缩器(Arithmetic Compressor),它和 JPEG 用的霍夫曼编码器(Huffman encoder) 类似。对比性能,算术压缩器提升了 5%~10% 的压缩性能。
边栏推荐
- Déclaration de la variable Typescript - - assertion de type
- 随心玩玩(三)Mirai框架QQ机器人
- 【最全】PS各个版本下载安装及小试牛刀教程(PhotoShop CS3 ~~ PhotoShop 2022)
- 2022第六季完美童模 海口赛区 选拔赛圆满落幕
- Analysis of c voice endpoint detection (VAD) implementation process
- 开发小技巧-图片资源管理
- 观察者模式怎么实现
- 各種級數(調和、幾何)總結
- 航芯开发板&调试器
- Development tips - Image Resource Management
猜你喜欢

How to recite words in tables

Core development board & debugger

工厂模式

航芯开发板&调试器

ThreadLocal线程变量

随心玩玩(三)Mirai框架QQ机器人

Cdga | what is the core of digital transformation in the transportation industry?

【最全】PS各个版本下载安装及小试牛刀教程(PhotoShop CS3 ~~ PhotoShop 2022)

闭关修炼(二十二)session和cookie原理

Résumé des différentes séries (harmoniques, géométriques)
随机推荐
Open3D 隐藏点移除
Standard | China payment and clearing Association releases the first privacy computing financial specification
TypeScript 變量聲明 —— 類型斷言
How to recite words in tables
2022 Season 6 perfect children's model Haikou competition area trial successfully concluded
P4769-[NOI2018]冒泡排序【组合数学,树状数组】
Huawei equipment is configured with medium-sized network WLAN basic services
July 2022 (advanced soft test) information system project manager certification enrollment Brochure
微积分学习
Differences between x86 and x64
MySQL的分库分表策略及应用场景
通过ELO机制衡量各类对弈活动水平
verilog 等价操作符
Batch processing of experimental contact angle data matlab analysis
2022年7月产品经理认证招生简章(NPDP)
15 things to learn in a year of internship in famous enterprises, so you can avoid detours.
航芯开发板&调试器
sql server 用 administrator 权限运行吗?还是以普通用户运行呢?
成员内部类、静态内部类、局部内部类
首次触电,原来你是这样的龙蜥社区 | 龙蜥开发者说第8期