首页 > 其他 > 揭秘能让图片体积减小35%的Google编码器Guetzli

揭秘能让图片体积减小35%的Google编码器Guetzli

Guetzli

这段时间头条被一条关于Google开源JPEG编码器『Guetzli』的信息刷屏,『质量不变,体积减小35%…』,看着都让人激动,如果属实这应该是图片压缩技术上的一次重大突破,带着好奇心我仔细查阅了相关文档并做了一次全面测试,得到的结论是:基本属实,但也不用『辣么鸡冻』,为什么我下面会告诉你

真相一

与WebP和WebM等其他压缩技术不一样的是,Guetzli是全新的JPEG算法,完全兼容所有支持JPEG图片的设备和JPEG标准

真相二

Guetzli是一个有损压缩算法,整体压缩效果上 Guetzli 比 Libjpe 优,压缩率提高了12%~35%,在高质量系数下Guetzli表现更优

压缩率

压缩率

 

肉眼质量肉眼质量

Guetzli与其他算法不同的是它在压缩分层阶段有一定的优势,它尝试在分层阶段减少大量难以压缩的无序数据,将其变为有序数据进行压缩。Guetzli是基于图片视觉差异评价工具Butteraugli,该工具在以下三个方面有其独特性:

  1. 人眼对强黄色光附近蓝光变化是不敏感的,因此黄光区域附近的蓝光可以用更少的bit来编码
  2. 人眼对蓝光有着较低的空间分辨率,视网膜中用于分辨高清细节的区域没有蓝色光的受体,故高频区域的蓝色光部分可以用更粗的粒度编码。
  3. 将图像中的噪声区域分辨出来进行粗粒度的编码。

基于此Guetzli其实是将人眼不敏感的部分颜色做了取舍,下面是Google实验室工程师的解释

Guetzli 在轻微失真和更小的文件尺寸上取得了更好的平衡,其借助了搜索算法来尝试克服 JPEG 格式中物理建模的差别,色准和视觉掩蔽效果更佳详尽通透。

真相三

如果你对图片压缩时效性要求比较高的话,Guetzli将会令你失望

Guetzli总的处理流程是尝试多种量化表及DCT系数两个方面的可能性,然后分别将尝试的结果放到Butteraugli评测工具中评分,最后选择一张它认为最好的结果返回给用户。所以它的处理时延特别长。用verbose参数打开Guetzli的log可以发现,平均一张图大概它将尝试接近30次的迭代。

 

延时压缩延时

Guetzli算法的压缩延时远远高于libjpg和webp,前者到分钟,后者不到秒。也就是说业务用Guetzli算法,单个节目或者专辑的图片转五档图,不算任务排队时间,转码就需要1分钟。而且压缩图片耗时跟图片大小程离散相关,图片越大,耗时越久。

很显然Guetzil很难适应我们大部分的在线实时压缩要求,好在Guetzli完全符合JPEG标准,解压性能上面与libjpe和webp相当,有些地方甚至要优于两者

真相四

Guetzli处理类型局限性,并不能应对全部类型的图片。只能处理YUV颜色编码的图片

至此,我想大对家Guetzli应该有了一个更加清晰和理性的认识了吧

分类: 其他 标签:
  1. 本文目前尚无任何评论.

=3加7(必填)请输入两数相加的结果。