Luca Versari

Moritz Firsching
Philip Jägenstedt
发布时间:2026 年 10 月 6 日
Google Chrome 团队宣布,从 Chrome 155 版本开始,浏览器将正式提供对 JPEG XL (.jxl) 图像格式的解码支持。JPEG XL 作为新一代图像格式,旨在满足现代 Web 开发者和摄影师的需求,相比传统 JPEG 格式提供 30-50% 的压缩率提升,同时支持无损压缩、内置 HDR 以及无损 JPEG 转码等功能。
官方建议开发者结合使用 AVIF 和 JPEG XL 以获得最佳效果。其中,JPEG XL 特别适用于高保真度或需要无损压缩的场景,如摄影图像处理及偏好细粒度渐进解码的应用。
安全架构:基于 Rust 重新实现解码器 (xl-rs)
图像解码器是现代 Web 浏览器中关键且高风险的攻击面之一,需直接处理来自网络的复杂二进制数据。历史上,使用 C++ 等内存不安全语言编写的解码器常面临越界读取、堆溢出及使用后释放等漏洞风险。
尽管 Chrome 依赖沙箱机制和深度防御策略(遵循“两人规则”),但为了进一步消除底层安全风险,团队集成了用 Rust 语言重写的解码器 jxl-rs。
兼顾性能与安全的设计
在确保内存安全的同时保持高性能是核心挑战。jxl-rs 通过充分利用现代设备上的 SIMD 硬件指令集来实现这一目标。为此,项目采用了 Rust 的 target_feature_11 稳定特性,允许在不编写不安全代码的情况下使用 SIMD 指令。
此外,团队构建了名为 jxl_simd 的 SIMD 抽象层,其灵感来源于最初为 libjxl(JPEG XL 的 C++ 参考实现)开发的 Highway 库。这种设计使得多平台库能够在不影响 SIMD 性能优化的前提下,将不安全操作限制在少数经过严格审查的代码位置。
jxl-rs 的性能优化建立在 libjxl 的基础之上,包括通用的处理管道,用于跨越区域边界的步骤并最小化数据副本以最大化硬件性能。目前,jxl-rs 的性能数据已在专门的性能仪表板上进行跟踪。
通过模糊测试和 AI 代码审查等手段验证,jxl-rs 在整个实现历史中未发现任何内存安全漏洞,证明了 Rust 在提升内存安全性方面的显著优势。
开发者反馈与互操作性项目
Chrome 团队的决策基于来自 Web 开发者的广泛反馈,包括错误报告、调查结果以及 Developer Signals 项目和 Interop 项目的数据。特别是在 Interop 过程中,开发者对 JPEG XL 的支持请求起到了关键作用。
为确保跨浏览器的互操作性,Chrome 团队参与了 Interop 2026 JPEG XL 调查,确保浏览器对 JPEG XL 各项功能的测试覆盖全面,并保证这些测试用例在 Chrome 中顺利通过。
致谢
感谢所有为 jxl-rs 及其在 Chrome 中的集成做出贡献的人员。特别鸣谢 Helmut Januschka 在 Chrome 与 jxl-rs 集成方面的大量贡献,以及 Martin Bruse、Zoltan Szabadka、Sami Boukortt 和 Wonwoo Choi 在 jxl-rs 本身开发中的重要工作。





