
长期以来,JPEG 格式一直是图像压缩的主流格式之一,但它也存在着明显的缺点:在压缩图片时,往往会损失一定程度的画质,并且会出现压缩失真等问题。 近日,谷歌发布了一款名为 Jpegli 的开源编码库,有望解决这些难题。
Jpegli 的诞生源于网站优化需求。 为了提升网页加载速度,图片的压缩率与质量之间需要取得平衡。 Jpegli 号称可以在保证高质量图像的前提下,提供比现有方法更优的压缩率,最高可提升 35%。
更重要的是,Jpegli与现有的JPEG编码器和解码器完全兼容,并且支持常用的8位格式,以及可选的10位元以上格式(可带来更少的压缩失真)。
Jpegli 编码压缩的5个优点
Jpegli 是一个新的 JPEG 编码库,其设计比传统 JPEG 更快、更有效率、更美观。 它使用了许多新技术来实现这些目标,包括:
- 与JPEG完全可互通的编码器和解码器:符合原始 JPEG 标准及其最传统的 8 位形式,以及与 libjpeg-turbo 和 MozJPEG 的 API/ABI 兼容性。
- 高质量:当通过 Jpegli 压缩或解压缩图像时,会执行更精确且心理视觉上有效的计算,并且图像将看起来更清晰且可观察到的伪影更少。
- 更快速:在提高影像质量/压缩密度比的同时,Jpegli 的编码速度与 libjpeg-turbo 和 MozJPEG 等传统方法相当。 这意味着 Web 开发人员可以轻松地将 Jpegli 整合到他们现有的工作流程中,而无需牺牲编码速度效能或内存使用。
- 10+ 位:Jpegli 每个组件可以使用 10+字节进行编码。 传统的 JPEG 编码解决方案仅提供每个组件 8 位动态,导致失真现象明显。 Jpegli 的 10+ 位编码以原始 8 位形式进行,产生的影像可与 8 位检视器完全互通。
- 可节省空间: Jpegli 比传统 JPEG 编解码器更有效地压缩图像,可节省带宽和储存空间,并加快网页速度。

谷歌 表示,Jpegli 在相同位率下能提供比传统编码器更高的影像质量。 例如,在测试中,Jpegli 在 2.8 BPP 的位率下展现的图像品质优于 libjpeg-turbo 在 3.7 BPP 下的画质,而后者的位率比 Jpegli 高出 32%。
谷歌并未过多披露 Jpegli 的运作原理,但其核心在于利用新技术更好地降低图像噪声,同时在更小的文件中保存更多细节。 这些技术部分借鉴了谷歌之前推出的 JPEG XL 格式的研发成果。
得益于这些技术,Jpegli 在压缩文件尺寸的同时,还能保持出色的画质,并且完全兼容现有的浏览器和其他图像处理工具。
Jpegli 目前已在 Github 上开源,供感兴趣的开发者进一步研究。 对于普通用户来说,这项技术意味着未来浏览网页时,图片加载速度将更快,数据消耗也将更少。 虽然谷歌尚未公布相关计划,但业界普遍认为 Jpegli 很可能会被整合到 谷歌 自家产品中,例如 谷歌 Photos。 如果图片存储空间能够减少 30%,同时保持原有画质,这将大大减轻 谷歌 服务器的负担。
不过,在2021年,Chrome也曾力推 JPEG-XL 格式,这是一种免版税的点阵图文件格式,支持有损和无失真压缩。 旨在超越现有的点阵图格式,并成为它们的替代。 不过,当时Chrome在力推了一年后,却又突然放弃支持。