对 WebP、JPEG 和 JPEG 的比较研究,2000 年,2010 年 9 月
注意:我们使用 libvpx
库发布的第一个 WebP 版本进行了此初步研究。此外,源图片是我们从网络中抓取的 JPEG 图片。根据社区的反馈,我们现在开展了一项新研究,版本为 0.1.2 libwebp
,并以无损图片 (PNG) 作为来源。这项新研究取代了这项研究。
WebP 团队对一组随机选择的 100 万张图片进行了三种图片压缩方法的比较研究。本研究的目标是衡量这些方法实现的压缩,并分析图片大小与压缩之间的权衡取舍。
对数据集中包含的 90 万张 JPEG 图片应用了 WebP、JPEG 2000 和 Re-JPEG 三种压缩方法。JPEG 图片使用 Re-JPEG 重新压缩,以便每张图片尽可能接近目标峰值信噪比 (PSNR) 值。该团队对压缩后的图片进行了分析。
除了大规模研究之外,该团队还手动检查了 100 张随机图片,发现在大多数情况下,WebP 图片的视觉质量令人满意。
总结
与 JPEG 或 JPEG 2000 相比,WebP 可实现更高的整体压缩率。对于网络上最常见的图片,缩小文件大小的增益尤为突出。
数据集
本研究使用的数据集是从网络中抓取的图片库中随机抽取的 100 万张图片集合。下表显示了数据集中不同类型的图片的分布情况。
类型 | 计数 |
---|---|
JPEG | 约 90 万 |
PNG | 约 4.7 万 |
GIF | 约 4.7 万 |
其他 | 约 6,000 |
实验设计
这些实验分两个阶段运行:
该团队针对目标 PSNR 为 42 的图片运行 WebP。他们调整了 WebP 编码器的质量参数 (QP),直到获得的结果接近于为给定图片获取的 42。因此,每张图片的实际 PSNR 并不一定正好为 42。
该团队使用 WebP 压缩图片的 PSNR 值作为 JPEG 2000 和 Re-JPEG 图片的目标 PSNR。他们还对 JPEG 2000 和 JPEG 图片的质量参数执行了线搜索,以尽可能接近目标 PSNR。
实际压缩结果采用以下公式以百分比形式衡量:
compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length
成果
这些测试针对负压缩增益和非负压缩增益得出了以下结果:
非负压缩增益
如果某种方法在压缩后增加了图片大小,该团队没有对该方法做出惩罚。也就是说,当压缩图片长度大于原始图片长度时,系统会将 compression_percentage 视为 0。
负压缩增益
该团队允许采用负压缩百分比结果,以更好地了解各种压缩器的原始性能。
以下是三种方法实现的平均压缩百分比。
类型 | 获得的平均 PSNR | 平均压缩百分比 (非负压缩增益) |
平均压缩百分比 (负压缩增益) |
---|---|---|---|
WebP | 39.38 岁 | 41.30 | 39.80 美元 |
JPEG 2000 | 39.49 美元 | 27.67 | 9.71 |
重新 JPEG | 39.36 岁 | 22.37 | 14.62 |
如果允许负压缩增益,JPEG 2000 的平均性能低于 JPEG。这可能是因为 JPEG 图片中存在高频伪影;这些伪影可能会导致压缩效果不太理想。
实验中用于转换为 JPEG 2000 的 Kakadu 实现未能转换大约 24 万张图片。
JPEG 2000 的压缩百分比低于 Re-JPEG,主要是因为 JPEG 2000 的结果是对许多图片的负压缩。因此,JPEG 图片的总体压缩得分较低。
下图提供了三种方法的分布图:
图 1:图片大小填充分布图
该图表显示,大多数图片都很小。大小超过 500K 的图片的频率通常小于 100。
图 2:WebP、JPEG 和 JPEG 2000 图片的压缩百分比
此图表明,使用 WebP 压缩的图片正文的压缩效果优于 re-jpeg 和 jpeg 2000。此外,使用 WebP 压缩的照片获得了比其他照片更多的正压缩。
图 3:图片大小和压缩百分比的比较
此图显示,WebP 的压缩效果优于其他格式,尤其是对于较小的图片。