目前在互联网上,图片流量仍占据较大的一部分。因此,在保证图片质量不变的情况下,节省流量带宽是大家一直需要去解决的问题。传统的图片格式,如 JPEG,PNG,GIF 等格式图片已经没有太多的优化空间。因此 Google 于 2010 年提出了一种新的图片压缩格式 — WebP,给图片的优化提供了新的可能。

WebP,JPEG 的升级版

WebP 就像 JPEG 的升级版。它是 Google 推出的图片文件格式,它的目的就是为 Web 上的图片资源提供卓越的有损、无损压缩。在与其他格式同等质量指数下提供更小,更丰富的图片资源,以便资源在 Web 上访问传输。

WebP 图片格式来源于 VP8 视频编解码器,也就是 WebM 视频容器,是 WebM 视频格式地单个压缩框架。VP8 编解码器的一个强大功能就是能够进行帧内压缩,或者更确切地说,能将视频的每个帧都被压缩,再压缩帧与帧之间的差异。

WebP 特性

  • 有损压缩:有损压缩基于 VP8 关键编码。VP8 是 On2 Technologies 创建的视频格式,是 VP6 和 VP7 格式的后续版本。
  • 无损压缩:采用预测变换,颜色变换,减去绿色,LZ77 反响参考等技术进行压缩。
  • 透明度:8位 Alpha 通道对图形图像很有用。Alpha 通道可以于有损 RGB 一起使用。与其它格式图片所不支持的 WebP 特有的功能。
  • 动画:它支持真彩色动画图像,即可以支持动态图( 类Gif 图)
  • 元数据:它可能具有 EXIF 和 XMP 元数据
  • 颜色配置文件:它可能具有嵌入式 ICC 配置文件。

关于压缩

为什么可以对图片进行有损压缩,因为使用有损压缩的一个关键原则是:人类的感知能力并没有计算机那么精确。科学证明,人的眼睛只能区分 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% 的压缩性能。

有损 WebP VS JPEG

作为 JPEG 升级版,当 WebP 将 JPEG 压缩到相当于原图 90% 质量 时,图片体积减少了 50% 左右。当 WebP 将 JPEG 压缩到相当于原图 80% 质量时,图片体积则减少了 60%~80%。直观有效的降低的资源大小,降低带宽流量。

如何开启 WebP 自适应

WebP 凭借优异的图片压缩性能,以及兼备无损和有损两种压缩算法,迅速在各大网站、App 普及。那么要如何在网站中开启 WebP 格式呢?

又拍云目前已经支持 WebP 图片格式转换,而且还支持 WebP 自适应功能,在后台一键开启 WebP 自适应功能,即可通过 CDN 平台智能判断客户端浏览器是否支持 WebP 解码,如果支持则返回 WebP格式图片,如果不支持则会返回原图,在客户端以及源站无需任何改动。

推荐阅读:

WebP - 图片格式转换体验

转载于:https://www.cnblogs.com/upyun/p/11095951.html

WebP 大战 JPEG,谁才是真正的王者?相关推荐

  1. webp、jpeg、png三种压缩算法比较

    jpeg和png两种图片格式大家都熟知,jpeg是一种有损压缩算法,压缩比相对较高,而png常常用于需要透明效果的图片格式,他们应用于不同的场 合,相对来说,同一张图片分别用jpeg和png两种格式来 ...

  2. 双11大战,这才是零售商的“硬核武器”!

    双11,不仅是零售业的盛宴,更是每一年市场对零售新变化的一次集中考验,它是对平台商.品牌零售商的综合素质的比拼.但为什么那些大牌能持续坐稳双11前排的宝座,它们的取胜秘诀是什么? 双11进化论 我们分 ...

  3. 通用计算机性能最强的是什么,顶级计算机性能比拼谁才是真正PC王者

    众所周知,戴尔的Alienware系列在游戏世界的皇者地位已经根深蒂固,几乎不可撼动.不过没有永远的王者,前不久,联想也推出了其高性能桌面计算机Erazer X700,顶级配置也让小编们眼前一亮,它究 ...

  4. 千元机市场再添“新宠”,红米Note7和vivo Z3谁才是千元王者

    在2018年,众手机厂商纷纷发力千元机市场,多款"亮眼"千元新品逐一亮相,让千元机市场逐渐的摆脱了"卡"."丑"的形象,让大众消费者重新认识 ...

  5. 大数据工具千千万,到底谁才是最强王者?

    外面有成千上万的大数据工具.它们都承诺可以为你节省时间和资金,并帮助发掘之前从来见过的业务洞察力.虽然确实如此,可是面对那么多的选择,想理清这么多的工具谈何容易. 哪一种工具适合你的技能组合?哪一种工 ...

  6. office移动端_微软office三合一与wps office对比测评:谁才是移动办公王者?

    最近,微软终于正式上线了其在移动端的三合一office客户端,摆脱了以往想用office办公软件需要分别下载word.excel.powerpoint三个独立应用的情况.而老对手金山早已在移动端深耕多 ...

  7. 新版Microsoft Edge和google chrome谁才是浏览器的王者?

    Microsoft Edge是一款现代化的浏览器,它拥有众多功能和强大的性能,为用户带来更加流畅的浏览体验. Edge最近推出了分屏功能,支持一个窗口同时显示两个选项卡,这可以大大提高生产力和多任务处 ...

  8. Facebook vs推特: 谁才是社交媒体王者?

    Facebook最怕的是:卧槽,这人我不认识:twitter最怕的是:卧槽,这个人认识我. 从独立站的角度来看,Facebook和Twitter两者的效果也存在很大的区别.首先,Facebook是一个 ...

  9. Python和Go,谁才是编程语言的“王者”?

    技术迭代的速度越来越快,这一点在编程语言的更新变化中尤为明显.前不久,Python开发商Anaconda发布了PyScript,让Python应用可以在浏览器中运行.而在近日,开发者采用相同的思路让G ...

最新文章

  1. AI大厂算法测试心得:人脸识别关键性能指标有哪些?
  2. python表白对话框-python文件选择对话框的操作方法
  3. Spring Boot——不同环境调用不同的配置文件解决方案
  4. Mac平台下Opencv开发环境搭建
  5. Kubernetes Federation V2搭建(持续更新)
  6. 为什么机器人企业的算法工程师需要ROS开发经验
  7. java两个日期之间所有日期_java如何输出指定两个日期之间的所有日期
  8. 南通大学教务管理微信体验
  9. 有机食品海报这样设计,收获了意想不到的效果…
  10. mac mysql57 配置文件_Mac 的mysql5.7没有配置文件,如何解决only_full_group_by 问题
  11. centos7修改主机名hostname
  12. 28.go fmt 与 gofmt
  13. 四阶段法——城市交通需求预测
  14. dspscififo历程_DSP2812 SCI FIFO模式调试心得
  15. echarts地图(中国地图展示各省数据)
  16. Origin 2022b | 更新及安装 | 中英文切换
  17. 炉石传说---奇迹德/凯子德玩法攻略
  18. 整型数据分类及其取值范围
  19. 【NVivo教程】使用Nvivo扩展文献综述
  20. 数据挖掘十大经典算法笔记

热门文章

  1. ThreadLocal原理及用法详解
  2. sonarqube下载地址
  3. k8s service服务发现详解:ipvs代理模式、服务类型
  4. Rust:集所有语言之大成者
  5. 【完整代码】Scala akka入门示例
  6. ubantu18.04使用docker部署mysql5.7及在宿主机登录容器内mysql
  7. 2018android wear手表,谷歌正开发三款智能手表 Wear OS系统逐步脱离Android范畴
  8. VS2015+OpenCV2.4.13环境搭建详细步骤及自带示例编译运行
  9. 傅立叶变换、拉普拉斯变换、Z变换之间 篇二
  10. STM32F10x之RCC