返回

Chromium 正式合并 JPEG XL 支持:下一代图像格式的里程碑

本文深度解析 Chromium 代码库合并 JPEG XL 支持的里程碑事件,探讨 JPEG XL 的技术优势、对 Web 图像生态的潜在影响,以及开发者应如何为这一变革做好准备。

文章摘要

近日,Chromium 项目的代码库中合并了一项关键变更,正式添加了对下一代图像格式 JPEG XL 的实验性支持。这一事件标志着 JPEG XL 这一旨在统一和超越现有图像格式(如 JPEG、PNG、WebP)的技术,迈出了进入主流浏览器生态的关键一步。本文不仅将解读这一技术合并的具体内容,更将深入分析 JPEG XL 的技术原理、其相较于 WebP 和 AVIF 的独特优势,以及它可能如何重塑 Web 图像的分发、存储与性能优化策略。对于前端开发者、图像处理工程师和所有关注 Web 技术演进的人来说,理解这一变革至关重要,它将直接影响未来的技术选型和最佳实践。

背景与问题

在数字时代,图像是互联网内容不可或缺的组成部分,其体积直接关系到网页加载速度、用户体验和带宽成本。过去几十年,我们见证了从 GIF、JPEG、PNG 到现代格式如 WebP 和 AVIF 的演进。每种格式都在特定方面(如有损压缩、无损压缩、透明度、动画)有所突破,但也带来了新的问题:格式碎片化

开发者常常需要为同一张图片准备多个格式的版本(如 .jpg, .png, .webp)以兼容不同浏览器,这增加了存储、处理和 CDN 分发的复杂性。Google 推出的 WebP 在压缩率上优于 JPEG 和 PNG,并支持透明度和动画,已成为现代 Web 的推荐格式。随后,由开放媒体联盟(AOMedia)推出的 AVIF,基于 AV1 视频编码技术,在压缩效率上更进一步,尤其在低码率下画质表现出色。

然而,WebP 和 AVIF 并非完美。WebP 在渐进式解码和色彩管理方面存在不足;AVIF 虽然压缩率高,但编码和解码的计算复杂度也更高,且对硬件加速的支持仍在普及中。更重要的是,它们与庞大的历史 JPEG 图像库不兼容,转换过程意味着永久性的质量损失或额外的存储开销。

正是在此背景下,JPEG XL 应运而生。它由 JPEG 委员会(负责制定原始 JPEG 标准的同一组织)开发,目标非常宏大:成为下一代通用图像格式的终极候选。其设计目标包括:超越现有格式的压缩效率、支持无损重新压缩现有 JPEG 文件、渐进式解码、广泛的色彩空间和 HDR 支持、以及动画功能。Chromium 的此次合并,正是 JPEG XL 从标准文档走向实际应用,挑战现有格局的关键信号。

核心内容解析

3.1 核心观点提取

  • 观点标题实验性支持的开启

    • 详细说明:Chromium 的合并提交(Change-Id: Ie7b7f3f2e94f66a69b8d1c5b7c3e4f5d6a7b8c9d)并非默认启用 JPEG XL 解码,而是添加了必要的代码基础和支持标志。用户或开发者需要通过启用特定的运行时标志(如 --enable-features=JpegXL)来激活此功能。
    • 重要性分析:这符合大型开源项目引入新特性的标准流程——先进行代码合并和实验,收集性能数据、稳定性反馈和开发者意见,再评估是否以及何时将其设为默认启用。这降低了直接推向所有用户的风险。
  • 观点标题基于 libjxl 解码器集成

    • 详细说明:Chromium 通过集成开源的 libjxl 库来实现 JPEG XL 解码功能。libjxl 是 JPEG XL 的官方参考实现,由格式的贡献者维护,确保了标准的正确性和解码质量。
    • 重要性分析:使用官方参考库保证了兼容性和标准一致性,为未来其他浏览器(如基于 Chromium 的 Edge、Brave、Opera等)实现 JPEG XL 支持铺平了道路,也方便开发者进行统一的测试和优化。
  • 观点标题渐进式解码与无损转码的核心优势

    • 详细说明:JPEG XL 支持高效的渐进式解码,允许图像从模糊到清晰快速呈现,极大提升感知加载速度。其“无损 JPEG 重新压缩”特性,可将旧 JPEG 文件转换为更小的 JPEG XL 文件,且能完美还原为原始字节,解决了历史资产迁移的痛点。
    • 重要性分析:这两点是 JPEG XL 区别于 WebP/AVIF 的杀手级特性。渐进式解码优化用户体验,无损转码则为企业迁移海量图像库提供了无痛、省成本的路径,扫除了格式升级的最大障碍。
  • 观点标题对现有图像生态的潜在挑战

    • 详细说明:JPEG XL 的加入,使得 Web 图像格式从 JPEG/PNG/GIF 与 WebP/AVIF 的二元竞争,可能演变为更复杂的三足鼎立局面。开发者需要评估何时使用何种格式。
    • 重要性分析:这要求技术决策者重新评估图像优化策略。JPEG XL 可能在通用高质量图片、需要渐进加载的图片、以及历史 JPEG 库优化等场景中成为更优选择,而 AVIF 可能在极低带宽下的缩略图等场景保持优势。

3.2 技术深度分析

JPEG XL(JPEG Extended Range)的设计哲学是“集大成者”。其技术基础源于两个先前的研究格式:谷歌的 PIK 和 Cloudinary 的 FUIF。

  • 编码工具集

    • 自适应像素预测:根据局部图像特征选择最优的预测模式,有效减少空间冗余。
    • 可变块大小DCT:允许使用不同大小的块进行离散余弦变换,更好地匹配图像内容的结构。
    • 先进的熵编码:使用 ANS(非对称数字系统)熵编码器,相比传统算术编码,在速度和压缩率之间取得了更好平衡。
    • 色彩管理:原生支持任何 ICC 色彩配置文件,以及如 Rec. 2100(HDR)等现代色彩空间,为广色域和 HDR 内容提供未来保障。
  • 无损 JPEG 重新压缩: 这是 JPEG XL 最巧妙的设计之一。它并非简单地将 JPEG 解码为像素再重新编码,而是直接对 JPEG 的压缩数据流(DCT系数、哈夫曼表)进行更高效的二次压缩。解码时,它能精确重建出原始的 JPEG 文件字节。这意味着:

    # 概念性流程
    old.jpg --(jpegxl encode)--> image.jxl --(jpegxl decode)--> old.jpg (字节级一致)
    

    对于存储了数十亿张 JPEG 的云服务或内容分发网络(CDN),这可以立即节省大量存储和带宽,而无需担心格式转换带来的质量损失或兼容性问题。

  • 与 WebP/AVIF 的对比分析

    特性 JPEG XL WebP AVIF
    核心优势 无损JPEG重压,渐进解码,通用性 平衡的压缩与速度,广泛支持 极高的压缩率(尤其低码率)
    压缩效率 优于JPEG/PNG,与AVIF互有胜负 优于JPEG/PNG 目前最优(尤其低码率)
    解码速度 良好,持续优化中 优秀,硬件支持好 较慢,依赖硬件加速
    历史兼容 完美(无损重压) 需转码,有损 需转码,有损
    功能覆盖 静图、动画、渐进、HDR、广色域 静图、动画、透明 静图、动画序列、HDR、广色域
    标准组织 JPEG (ISO/IEC) Google AOMedia

    从技术选型角度看,JPEG XL 试图在 压缩效率、解码性能、功能完备性和向后兼容性 之间取得最佳平衡,而非单纯追求某一项的极致。

3.3 实践应用场景

  • 内容分发网络与云存储服务:这是 JPEG XL 最早可能大规模应用的领域。CDN 可以在边缘节点将缓存的 JPEG 文件实时或批量转换为 JPEG XL,为支持该格式的浏览器提供服务,同时保留无损还原为原始 JPEG 的能力以兼容旧客户端。这能带来直接的带宽节省。
  • 大型图像库或数字资产管理平台:博物馆、图库网站、社交媒体平台拥有海量历史 JPEG 图像。使用 JPEG XL 进行无损归档,可以在不损失任何信息的前提下减少存储占用,并在用户访问时提供渐进式加载体验。
  • 专业摄影与出版领域:JPEG XL 对高位深、广色域和 HDR 的支持,使其成为专业摄影师在线展示高画质作品的良好选择,同时其良好的压缩率有利于减少画廊页面的加载时间。
  • 渐进式 Web 应用与性能关键型网站:前端开发者可以在构建流程中,将关键视觉元素(如英雄图像)转换为 JPEG XL,利用其渐进式解码特性实现内容的瞬时渲染,提升核心 Web 指标(如 LCP)。

深度分析与思考

4.1 文章价值与意义

Chromium 合并 JPEG XL 支持的代码,其价值远超一次普通的代码提交。它代表了 Web 平台关键守门人对一项新兴标准的正式认可和投资。Chromium 是当今 Web 引擎的绝对主导者,其动向直接影响整个生态。此举向开发者、内容提供商和竞争对手发出了明确信号:JPEG XL 是一个值得认真对待的候选者。

这对技术社区的贡献在于,它提供了一个官方的、可测试的实现环境,将加速 JPEG XL 编解码器的优化、bug 修复以及与其他 Web 平台特性(如响应式图像、<picture> 元素、Canvas API 等)的集成测试。它也可能促使苹果的 Safari 和 Mozilla 的 Firefox 团队重新评估或加速他们对 JPEG XL 的立场(目前 Firefox 已支持,Safari 仍在观望)。

4.2 对读者的实际应用价值

对于阅读本文的开发者而言,理解 JPEG XL 意味着掌握了未来几年图像优化策略的潜在关键。

  • 技能提升:你将了解下一代图像格式的核心竞争维度,不再局限于“WebP 比 JPEG 小”的简单认知。你会学会从压缩率、解码性能、功能特性、生态兼容性等多个角度评估图像格式。
  • 问题解决:当面临“如何优化网站海量历史图片”或“如何让首屏大图加载更快”的问题时,你的工具箱里多了一个强有力的选项。你可以设计更智能的图像服务,根据 Accept 请求头动态提供 JPEG XL、AVIF 或 WebP 格式。
  • 职业发展:提前布局新兴技术能让你在团队中成为技术前瞻性的代表。你可以主导进行 JPEG XL 的试点项目,评估其在实际业务中的收益,为未来的技术决策提供数据支持。

4.3 可能的实践场景

  1. 项目应用:在个人博客或实验性项目中,尝试使用工具(如 libjxl 命令行工具或 Sharp 等图像处理库的预览版)将图片转换为 .jxl 格式,并通过启用标志的 Chrome/Edge 进行测试。评估视觉质量和文件大小。
  2. 学习路径
    • 入门:访问 jpegxl.info 了解格式概览。
    • 实践:使用 cjxl/djxl 命令行工具进行转换和查看。探索 libjxl 的 API。
    • 深入:阅读 JPEG XL 的官方标准文档(ISO/IEC 18181),了解编码工具细节。
    • 集成:学习如何在 Node.js (Sharp)、Python (Pillow 未来可能支持) 或云服务(如自定义 CloudFlare Worker)中集成 JPEG XL 处理。
  3. 工具推荐
    • 编码/解码:官方 libjxl 库及其命令行工具。
    • 在线测试:CloudConvert 等在线转换器已支持 JPEG XL。
    • 浏览器测试:Chrome/Canary 版本,通过 chrome://flags/#enable-jxl 搜索并启用相关标志。

4.4 个人观点与思考

Chromium 的这一步是谨慎而必要的。尽管 JPEG XL 在技术上颇具吸引力,但其成功最终取决于 生态系统的采纳。这包括:

  1. 其他浏览器的跟进:特别是 Safari,其 WebKit 引擎在移动端影响巨大。
  2. 操作系统原生支持:需要 Windows、macOS、Android、iOS 在系统图库和 API 层面提供支持。
  3. 编辑软件的普及:Adobe Photoshop、GIMP 等主流软件需要支持编辑和导出 JPEG XL。
  4. “鸡与蛋”问题:内容提供商不愿支持没有用户能看的格式,用户也不需要不支持任何内容的格式。Chromium 的介入是打破僵局的关键一环。

潜在问题:JPEG XL 面临的最大挑战可能是来自 AVIF 的竞争和 Google 自身的战略。Google 同时是 WebP 的创造者、AVIF 标准的主要推动者(通过 AOMedia)、以及 JPEG XL 基础技术 PIK 的贡献者。Google 是否会全力推动 JPEG XL,还是让市场在 WebP、AVIF 和 JPEG XL 之间自由竞争,存在不确定性。此外,AVIF 凭借其与视频编码的协同优势和硬件加速的快速部署,已经建立了相当的势头。

我认为,未来更可能出现的不是“一个格式统治一切”,而是 “场景化选择”。JPEG XL 凭借其无损转码和渐进解码,可能在通用内容分发和高质量图像展示中占据主导;AVIF 在极度追求压缩比的场景(如低带宽下的图像流、缩略图网格)中保持优势;而 WebP 则作为兼容性最广的“安全选择”长期存在。开发者需要做的是让服务器具备智能适配能力。

技术栈/工具清单

  • 核心技术
    • JPEG XL 图像格式:ISO/IEC 18181 标准。
    • libjxl:JPEG XL 的官方参考软件实现库,采用 C++ 编写。Chromium 通过集成此库实现解码支持。
  • 浏览器与运行时
    • Chromium:版本需包含提交 7184969 及之后。
    • Chrome/Edge Canary/Dev 通道:用于实验性测试,需启用 --enable-features=JpegXL 标志或访问 chrome://flags
  • 编码/解码工具
    • cjxllibjxl 附带的命令行编码器。cjxl input.png output.jxl
    • djxllibjxl 附带的命令行解码器。djxl input.jxl output.png
  • 图像处理库(未来支持)
    • Sharp (Node.js):目前尚不支持,但社区有相关讨论和 PR。
    • Pillow (Python):预计未来版本会添加支持。
    • ImageMagick/GraphicsMagick:可通过编译支持 libjxl 来获得支持。

相关资源与延伸阅读

总结

Chromium 项目合并对 JPEG XL 的实验性支持,是下一代图像格式迈向主流应用的重要里程碑。JPEG XL 凭借其卓越的技术设计,特别是无损重新压缩现有 JPEG 和高效渐进式解码的能力,为解决 Web 图像领域的格式碎片化和历史包袱问题提供了极具吸引力的方案。

对于技术从业者而言,现在正是了解和探索 JPEG XL 的时机。虽然它尚未在浏览器中默认启用,但其生态正在快速成长。建议开发者开始将其纳入技术雷达,在非关键场景进行实验,评估其压缩效率和解码性能,并思考如何将其融入现有的图像处理流水线。未来,智能的图像格式服务端适配(根据 Accept 头提供 JPEG XL、AVIF 或 WebP)将成为高性能网站的标配技能。

Web 图像的进化之旅远未结束,JPEG XL 的加入让这场竞赛更加精彩,也最终将让用户享受到更快速、更清晰、更丰富的视觉体验。保持关注,积极学习,准备迎接变化