数据压缩算法-Zopfli
2020-09-16 10:21:29 阿炯

Zopfli是一个数据压缩算法,可以将数据压缩为DEFLATE、gzip或zlib格式,它被认为是目前压缩率最高的DEFLATE压缩算法。2013年2月,Google将Zopfli算法的一个参考以自由软件程序库的方式实现,采用C语言实现并在ApacheV2.0的许可证协议下授权使用。



Zopfli可以输出DEFLATE原始数据流,也可以将DEFLATE数据封装为gzip或zlib格式。默认配置的15次迭代可被增加或减少,以平衡压缩耗时与效果。在默认设置下,Zopfli的输出一般比zlib的最大压缩小3%至8%,但消耗约80倍时间,Zopfli的解压速度与zlib的解压速度不相上下。

由于其压缩速度显著较慢,zopfli不太适合实时压缩,一般用于静态内容的一次性压缩。典型用途是提供Web内容,包括基于DEFLATE的HTTP压缩,或者使用在基于DEFLATE的文件格式,例如PNG和WOFF字体文件。另一个用途是基于ZIP的软件包文件下载和更新,例如Android应用程序包(APK)和Java存档文件(JAR),尤其是用在移动网络。


PNG优化

因为PNG使用DEFLATE压缩层,Zopfli算法可用于压缩PNG文件。Zopfli的作者创建了一个名为ZopfliPNG的PNG优化工具。Zopfli算法也已被集成到其他PNG压缩优化工具,例如AdvanceCOMP工具包中的advpng。

ZopfliPNG是目前缩减PNG大小最有效的优化器,它在2013年5月被提交到Google的zopfli参考实现。

最新版本:1.0


项目主页:https://github.com/google/zopfli