最开始显然是持怀疑态度的 ag环亚国际手机客户端

首先,我们把目光看向了 Google 今年 3 月份开源的一种新的 JPEG 编码算法 – Guetzli [1],利用它编码得到的 JPEG 图像比 libjpeg 产生的同等质量的图像小 20% – 30%,之所以优先研究 JPEG 编码算法,是因为 JPEG 的兼容性很广,业务能够以极低的成本接入使用。

我们知道,传统的 Libjpeg 库已经能将原图压缩到很低,如何将流行 30 年的算法改进如此之大,最开始显然是持怀疑态度的 ag环亚国际手机客户端,但考虑到 Google 在图像编解码领域的权威,我们还是带着极大的好奇心开始了对 Guetzli 的研究。

从论文介绍的原理上来看,Guetzli 算法引入了一种评价图像之间质量差异的标准 – Butteraugli [2] ag环亚国际手机客户端,在算法编码过程中使用其来计算编码后产生的图像和原图的质量差异,即失真度,从而决定后续的编码策略,通过这样一个编码-评分-反馈的循环闭环逻辑,实现在保证图像质量前提下,尽可能对原图进行压缩。

可想而知,该算法的编码时间将会是传统的 Libjpeg 算法的数倍,并且作者提到该算法运行时需要较高的内存,换算公式是 1M 像素 ag环亚国际手机客户端 = 300MB 内存,例如 1000 * 1000 像素的图像编码需要 300MB 内存,也就是牺牲编码时间和内存换取更大的压缩比,这对于对编码时间要求比较苛刻的服务显然是不实用的,但是考虑到这只是初始版本,还有一定的成长空间,虽然从 Github 上的 Issue 上来看,作者短期并不打算优化内存使用。

我们有些服务对编码时间并不关心,例如开屏广告,这种图像一般 Size 较大,对图像质量的要求也很高。因此,虽然现在 ag环亚国际手机客户端Guetzli 并不适合大规模应用,但还是值得持续关注。

WebP

源于视频编码领域 VP8 的 WebP 是 Google 2010 年开源出来的图像编解码算法, 并且持续受到重视,本身支持图像的有损压缩和无损压缩,也支持类似 GIF 的动图格式,据官方说明,WebP 的无损压缩格式比 PNG 少 26% 的图片体积,有损压缩格式比同等质量下的 JPEG 图片少 25%-34%。值得一提的是,WebP 的无损格式支持透明度(即阿尔法透明通道),对于 RGB 的图像,其有损压缩格式亦支持透明度。

对比其他第三方资料,官方数据似乎有一些谦虚,例如腾讯 ISUX 提到

无损压缩后的 WebP 比 PNG 文件少了 45% 的文件大小,即使这些 PNG 文件经过其他压缩工具压缩之后,WebP 还是可以减少 28% 的文件大小。 ag环亚国际手机客户端

发表评论

电子邮件地址不会被公开。 必填项已用*标注