互联网建立在图像之上,但图像编码的带宽与画质之争从未停止。在 JPEG 成为互联网图片标准二十多年后,Google 的一个研究团队用十年时间,通过一系列看似分散的开源项目,最终端出了 JPEG XL——一个被预期能用三十年的图像编码方案。
从理解现有技术开始:2011-2017年的积累
JPEG XL 的故事不是从"我们要做一个新标准"开始的,而是从"我们先把现有技术搞清楚"开始的。团队首先分析了 WebP 无损编码、Brotli 压缩格式等项目,理解它们的局限性,然后才着手构建新的 formalism。这种"先理解再创造"的路径,让新方案在正确的地方实现了效率和灵活性的平衡。
这期间的几个关键项目各自解决了不同问题。WebP 无损编码(2011)引入了"熵图像"概念——用第二张图像来编排主图像数据的静态熵编码选择。这个概念后来被应用到 Brotli 压缩格式中,实现了丰富上下文建模而不影响解码速度。Guetzli(2016)则是一枚慢性高压感知编码器,用 Butteraugli 找到最优量化表,将 JPEG 图像压缩率提升 20-30%。Brunsli(2015)专注无损重压缩,把现有 JPEG 重新打包为更小体积而不损失任何原始数据。
Butteraugli 是这期间的技术核心之一。团队发现 raw 数学压缩指标(PSNR)不够用,而简单的视觉近似指标(SSIM 等)在色彩丰富环境中失效。他们构建了 Butteraugli 和 XYB 色彩空间,模拟人类视觉系统的边缘检测和拮抗色过程,实现更准确的感知压缩质量评估。

PIK 与 FUIF 的合并:2017-2019年的融合
2017 年,团队认为时机成熟,将 Brunsli 的效率和 Guetzli 的感知优化结合起来,开源了 PIK 项目。PIK 引入了真正的自适应量化场和其他优化,成为团队向 ISO 标准组织提交的提案基础。
然而标准化组织的要求远超预期:提案需要支持低至 0.06 BPP 的比特率——相当于互联网质量图像的 35 倍压缩率,或相机原图的 80 倍压缩率。这个极端的压缩要求迫使团队大幅增加格式复杂度,引入了可变块大小离散余弦变换(VarDCT)架构——这个架构至今仍是 JPEG XL 的核心。
与此同时,Cloudinary 提出了 FUIF(Free Universal Image Format)提案。PIK 在编码时使用 Brotli 风格的分布选择,FUIF 则在解码时增量细化码字。最终 JPEG XL 标准成为两者取长补短的折中产物:使用 PIK 的快速解码分布选择机制,结合 FUIF 的精细上下文树。这是一次真正意义上的跨平台协作标准化尝试,技术协同而非单一公司驱动是决策的核心依据。

JPEG XL 现状:生态快速成型
JPEG XL 的效率、感知优化质量、文件体积和编码速度正在被行业认可。甚至高要求的领域正在率先采用:摄影领域,Digital Negative(DNG 1.7)和 Apple 的 ProRAW 已支持;医疗领域,DICOM 国际医疗影像标准已采纳;出版领域,PDF 和 EPUB 的未来版本都将整合 JPEG XL。
生态系统在过去几年快速成熟。Adobe 的摄影软件、Apple 的 iOS/macOS/visionOS、Ubuntu 等 Linux 发行版以及微软的 Windows JPEG XL 扩展均已提供原生支持。浏览器方面,Safari 在 2023 年率先支持,Firefox 和 Chrome 目前保持实验性支持。
更值得注意的是硬件加速的开始落地。Google 的 libjxl-tiny 启发了 Shikino High-Tech 和 CAST 推出首款商用 JPEG XL 编码器 IP 核,面向 ASIC 和 FPGA 设计,用于实时低功耗图像捕获。这标志着 JPEG XL 从软件实现向硬件实现的关键一步。
十年的方法论:快速迭代与社区验证
JPEG XL 故事的深层价值在于其方法论。一个小研究团队通过快速迭代产生解决方案——数千次(如果不是数万次)涉及心理视觉建模、熵编码、编码速度和复杂度的实验——逐步凝聚成一项行业标准。中间的功能里程碑(如 Guetzli 这样的最小可行原型和 Brunsli 这样的实用工具)邀请开源社区反馈,形成了不同于传统自上而下标准制定的演进路径。
这与 JPEG 1 标准诞生于 1992 年的情况形成了有趣的对比:彼时标准化过程是封闭的委员会工作,而 JPEG XL 的形成有大量开源实验作为前奏。这种"先开源实验,再合并提案"的路径,正在成为技术标准演进的新范式。
参考来源:https://opensource.googleblog.com/2026/06/journey-to-jpeg-xl-how-open-source-experiments-shaped-the-future-of-image-coding.html