JPEG XL

JPEG XL是一种免版税的位图文件格式，支持有损和无损压缩。它旨在超越现有的位图格式，并成为它们的通用替代。JPEG XL格式规范的主要作者有Jyrki Alakuijala、Jon Sneyers和Luca Versari。 JPEG指设计了JPEG格式的聯合影像專家小組（Joint Photographic Experts Group）。 X指2000年以来的多个JPEG标准的名称：JPEG XT、JPEG XR、JPEG XS（英语：JPEG XS）。 L代表“长期”，创建这种格式是为替换旧的JPEG文件格式，并使用足够长的时间。 2017年，JTC1 / SC29 / WG1 (JPEG) 发起下一代图像编码标准（JPEG XL）提案征集。所有提案在2018年9月前提交，随后2019年7月形成委员会草案。草案是由谷歌提交的PIK和Cloudinary（英语：Cloudinary）提交的基于FLIF的FUIF结合而来。 2020年12月25日，伴随着参考软件实现libjxl的0.2版本发布，JPEG XL的比特流格式被最终敲定，这意味着未来的版本将保证对此版本的解码兼容性。此后文件格式与核心编码系统分别于2021年10月13日和2022年3月30日正式标准化。 JPEG XL的提案征集提及了下一代图像压缩标准对大幅提升压缩效率（60%）的需求。新标准应该有优于HEIC、AVIF、WebP和JPEG 2000这些静态图像编码的表现，同时提供对传统JPEG格式的无损再压缩选项。 JPEG XL最高能够提供对甚高分辨率图像（每边1太像素）、4099个32位深通道（包含alpha通道）的静态或动态图像及其嵌入预览的有损压缩和无损压缩。它支持针对网络传输的渐进式解码和最小化信头开销特性，以及针对图像编辑和数码印刷的图层、CMYK和专色（英语：Spot color）支持。它还针对无缝处理Rec. 2100（英语：Rec. 2100）等广色域的感知量化器（英语：Perceptual quantizer）、混合对数伽马校正（英语：Hybrid log–gamma）和转换曲线进行了特别设计。 主要特点有： 更多功能：与传统图像格式（例如JPEG、GIF和PNG）相比，有着更佳的效率与更丰富的功能； 更大尺度：长宽可超过十亿（ 2 30 − 1 {\displaystyle 2^{30}-1} ）个像素； 更多通道：最多4099个通道，包括主通道（单通道的灰度、三通道的RGB或四通道的CMYK）、可选的多达4096个可用于透明度、深度（英语：Depth map）、热成像等的额外通道； 多帧支持：支持用于动画的非零时长帧和类似图像软件中图层的零时长帧，且帧的大小不受图像画布大小影响，并支持多种混合模式； 独立图块：允许图像分多图块保存，以支持分块解码大幅图像； 渐进式解码：专为支持不同显示分辨率的响应式加载； 可逆JPEG转码：可实现约20%的数据流压缩； 无损编码：包括无损alpha编码； 类型感知：可根据图像内容使用分别为摄影图像和合成图像优化的两种模式； 低码率优化：在低比特率下相较旧格式质量更可接受； 感知优化：参考编码器默认使用感知色彩空间、自适应量化和保守的默认设置； 色域支持：内置广色域、转移曲线和HDR支持； 动画支持：但编码真实视频时仍建议使用常规的视频编码； 高效编解码：无需专用硬件，JPEG XL的编解码速度即可与使用libjpeg-turbo的JPEG相当，比使用x265的HEIC速度快一个数量级，并可以并行。 开源免费：具有使用三条款版BSD许可证的开源参考实现的免版税格式。 JPEG XL基于Google的PIK格式和Cloudinary的FUIF格式（基于FLIF）。 JPEG XL主要有两种编码模式： VarDCT（variable-blocksize DCT，可变分块大小离散余弦变换）模式基于与JPEG相同的离散余弦变换算法，但分块不再限定为8×8，而是允许不同大小（2×2到256×256）、非正方形块（如16×8、8×32、32×64）乃至其他变换函数（4种“边角”变种AFV，以及非离散余弦变换的Hornuss变换）。此模式限于三通道色彩，通常使用LMS色彩空间（英语：LMS color space）衍生的XYB色彩空间（但为支持重压缩传统JPEG仍支持YCbCr），基于PIK格式的有损模式。 Modular（模块化）模式是响应式的，用于高效的无损内容压缩以及近无损压缩。它可被VarDCT在内部用于存储二维数据，即除了交流（高频）离散余弦变换系数之外的所有数据，包括直流图像（1:8抽样图像）、自适应量化权值、滤镜强度。所有附加通道（如透明度（英语：Transparency (graphic)）、深度（英语：Depth map）、热成像和专色（英语：spot color）等）总是使用此模式存储。此模式基于FUIF，并结合了无损PIK、无损WebP和标准化过程中的其他合作成果。借助哈尔变换的“挤压”（squeeze），此模式也支持有损压缩，并实现渐进式特性：图像的质量会随着数据加载过程逐渐改善。 VarDCT模式的图像可藉由模块化“挤压”的独立“直流帧”存储的直流系数实现渐进式加载，支持1:16、1:32等抽样比例。“挤压”变换也可以用于将alpha通道和VarDCT模式的色彩通道一同渐进式编码，使两种模式协同工作。 JPEG XL默认使用视觉无损下仍有较好压缩效果的设置。 这些模式可由单独的图像特征模型协助： 向心卡特姆–罗姆样条（英语：Centripetal Catmull–Rom spline）用于编码头发等（参考编码器暂未实现）； 重复的“补丁”，如文字、点和“精灵”； 噪声合成：由于噪声难以压缩，将其剥离然后由解码器重新生成可能更佳。这类似于AV1等现代视频编码的胶片颗粒（英语：Film grain）合成，尽管JPEG XL噪声合成的目的不是模仿模拟摄影胶片的颗粒，而是在像素层级建模数字相机在高感光度设置下的光子噪声（英语：Photon noise）。 JPEG XL编码可以无损地转码JPEG最常用的子类型的文件，实现方式是将JPEG的DCT系属直接拷贝到8×8的VarDCT块，并借助JPEG XL更好的熵压缩算法实现更小的文件大小。此过程是可逆的，可以从转换结果中逐位重建原始JPEG图像，尽管有一些限制条件。 预测是基于逐像素、无辅助信息的去相关器运作的，包括参数化的自校正加权预测器集合。上下文模型（英语：Context model）包括特化的静态模型和强大的元自适应模型，它们考虑局部错误，具有信号树结构和分上下文的预测器选择。熵编码基于LZ77，可使用非对称数字系统（英语：Asymmetric numeral systems）或前缀码（适用于低复杂度的编码器，或减少短数据流的开销）。[來源請求] 动画（多帧）图像不执行高级帧间预测，尽管有一些基本的帧间编码工具可用： 帧可以小于画布大小，只更新画布的一部分； 除了替换前序帧外，还支持数种混合模式，如相加或相乘； 在后面的帧中使用“补丁”编码工具最多可以“记住”并引用四帧。 JPEG XL受到了许多科技公司与组织的公开支持，如Facebook、Adobe、Intel与VESA、卫报、Flickr和SmugMug、Shopify、Krita基金会和Serif Europe（英语：Serif Europe）。 JPEG XL参考软件（libjxl） 三条款版BSD许可证（曾为Apache许可证2.0） 包含组件 编解码库libjxl 编码器cjxl 解码器djxl 快速无损编码器fjxl 图像编码质量基准测试工具benchmark_xl GIMP和Gtk pixbuf插件file-jxl J40：独立、自包含的JPEG XL解码器[1] （页面存档备份，存于互联网档案馆） MIT许可证，无署名 C99单头文件库（无依赖） 名字来源于罗马数字“XL”（即40） libjxl-tiny：简化的JPEG XL编码器实现，针对无透明度的摄影图像 三条款版BSD许可证 jxlatte：Java JPEG XL解码器 MIT许可证 pyjxl：Python JPEG XL解码器 MIT许可证 jpeg-xl-encode：PHP JPEG XL编码器 MIT许可证 网页图像转换器Squoosh （页面存档备份，存于互联网档案馆） 数字相机图像导入导出工具Adobe Camera Raw 位图编辑器Affinity Photo 位图编辑器Chasys Draw IES 元数据编辑器ExifTool 多媒体框架FFmpeg 位图编辑器GIMP 图像查看器、照片管理应用gThumb 位图处理工具包ImageMagick 图像查看编辑器IrfanView Linux发行版KaOS 位图编辑器Krita Qt和KDE应用 位图查看编辑器XnView MP 网络浏览器Pale Moon Microsoft Windows：通过第三方Windows图像处理组件（英语：Windows Imaging Component）插件，即用于在照片查看器、文件资源管理器等中查看。 macOS：通过独立应用程序和Quick Look插件。 GTK和GNOME图像查看应用（Eye of GNOME、GNOME Files等）：通过GDK pixbuf插件。 Chromium：网页浏览器，自91版至110版提供测试选项。 Firefox：网页浏览器，处于测试中，自Firefox 90开始可以通过image.jxl.enabled标志开启（仅在Nightly开发版本中生效）。 非正式的事实标准 Media Types. IANA. [2022-10-21]. （原始内容存档于2022-10-21）.  fuif/README.md. GitHub. [2019-04-04]. （原始内容存档于2021-04-24）.  ISO/IEC 18181-1:2022 Information technology — JPEG XL image coding system — Part 1: Core coding system.  libjxl/doc/format_overview.md. GitHub. [2022-10-20]. （原始内容存档于2022-10-20）.  Can JPEG XL Become the Next Free and Open Image Format? - Slashdot. [2021-12-30]. （原始内容存档于2021-12-30）.  N79010 Final Call for Proposals for a Next-Generation Image Coding Standard (JPEG XL) (PDF). ISO/IEC JTC 1/SC 29/WG 1 (ITU-T SG16). 15 April 2018 [2022-12-08]. （原始内容存档 (PDF)于2022-10-31）.  Rhatushnyak, Alexander; Wassenberg, Jan; Sneyers, Jon; Alakuijala, Jyrki; Vandevenne, Lode; Versari, Luca; Obryk, Robert; Szabadka, Zoltan; Kliuchnikov, Evgenii; Comsa, Iulia-Maria; Potempa, Krzysztof; Bruse, Martin; Firsching, Moritz; Khasanova, Renata; Ruud van Asseldonk; Boukortt, Sami; Gomez, Sebastian; Fischbacher, Thomas. Committee Draft of JPEG XL Image Coding System. 2019. arXiv:1908.03565  [eess.IV].  PIK, A new lossy/lossless image format for photos and the internet. [2022-10-17]. （原始内容存档于2022-11-13）.  FUIF, Free Universal Image Format. [2022-10-17]. （原始内容存档于2022-11-12）.  v0.2 JPEG XL Reference Software. GitLab. [2021-12-30]. （原始内容存档于2021-10-20） （英语）.  ISO/IEC 18181-2:2021 Information technology — JPEG XL image coding system — Part 2: File format.  Using Saliency in progressive JPEG XL images. [2022-10-17]. （原始内容存档于2023-01-09）.  JPEG XL reaches Committee Draft. JPEG.org. 2019-08-03 [2019-08-03]. （原始内容存档于2019-08-03）. The current contributors have committed to releasing it publicly under a royalty-free and open source license.  JPEG XL White Paper (PDF). JPEG.org. 2021-01-29 [2021-03-17]. （原始内容存档 (PDF)于2 May 2021）.  JPEG XL vs. AVIF - Page 6. encode.su. [2022-10-22]. （原始内容存档于2022-10-18）.  Sneyers, Jon. How JPEG XL Compares to Other Image Codecs. Cloudinary. 26 May 2020 [2021-02-19]. （原始内容存档于2021-12-30）.  jpeg / JPEG XL Reference Software. GitLab. [2021-12-30]. （原始内容存档于2021-12-30） （英语）.  FLIF - Free Lossless Image Format. [2021-12-30]. （原始内容存档于2021-12-21）.  Alakuijala, Jyrki; van Asseldonk, Ruud; Boukortt, Sami; Szabadka, Zoltan; Bruse, Martin; Comsa, Iulia-Maria; Firsching, Moritz; Fischbacher, Thomas; Kliuchnikov, Evgenii; Gomez, Sebastian; Obryk, Robert; Potempa, Krzysztof; Rhatushnyak, Alexander; Sneyers, Jon; Szabadka, Zoltan; Vandervenne, Lode; Versari, Luca; Wassenberg, Jan. Tescher, Andrew G; Ebrahimi, Touradj , 编. JPEG XL next-generation image compression architecture and coding tools. Applications of Digital Image Processing XLII. 6 September 2019, 11137: 20. Bibcode:2019SPIE11137E..0KA. ISBN 9781510629677. doi:10.1117/12.2529237 .  FLIF, 3 Sep 2021, jonsneyers comment. [2022-12-07]. （原始内容存档于2022-12-17）.  Sneyers, Jon. Feature request: allow jbrd to reconstruct a part of the file when it's not possible for the whole file. GitHub. 2021-12-10 [2022-12-07]. （原始内容存档于2022-10-18）.  JPEG XL reference implementation. GitHub. 3 December 2021 [24 June 2021]. （原始内容存档于30 December 2021）.  Andre, Erik. Statement of support by Facebook on Chromium's issue #1178058. bugs.chromium.org. 2021-04-20 [2022-11-03]. （原始内容存档于2021-12-30）.  Andre, Erik. Statement of support by Facebook on Firefox's issue #1539075. bugzilla.mozilla.org. 2021-05-24 [2022-11-03]. （原始内容存档于2022-01-04） （英语）.  Rosenthol, Leonard. Statement of support by Adobe on Firefox's issue #1539075. bugzilla.mozilla.org. 2021-06-07 [2022-11-03]. （原始内容存档于2022-01-04） （英语）.  Chan, Eric. Statement of support by Adobe on Chromium's issue #1178058. bugs.chromium.org. 2022-08-23 [2022-11-03]. （原始内容存档于2021-12-30）.  Wooster, Roland. Statement of support on Chromium's issue #1178058 by VESA's DisplayHDR Chairman and Principal Engineer at Intel's Client Computing Group. bugs.chromium.org. 2022-08-24 [2022-11-03]. （原始内容存档于2021-12-30）.  Wooster, Roland. Reinforced statement of support on Chromium's issue #1178058 by VESA's DisplayHDR Chairman and Principal Engineer at Intel's Client Computing Group". bugs.chromium.org. 2022-11-11 [2022-11-11]. （原始内容存档于2021-12-30）.  Chauvin, Mariot. Statement of support by The Guardian on Chromium's issue #1178058. bugs.chromium.org. 2022-08-26 [2022-11-03]. （原始内容存档于2021-12-30）.  Chauvin, Mariot. Statement of support by The Guardian on Firefox's issue #1539075. bugzilla.mozilla.org. 2022-01-13 [2022-11-03]. （原始内容存档于2022-01-04） （英语）.  MacAskill, Don. Statement of support by Flickr and SmugMug on Firefox's issue #1539075. bugzilla.mozilla.org. 2022-01-04 [2022-11-03]. （原始内容存档于2022-01-04） （英语）.  Bendell, Colin. Statement of support by Shopify on Chromium's issue #1178058. bugs.chromium.org. 2022-10-17 [2022-11-03]. （原始内容存档于2021-12-30）.  Rempt, Rempt. Statement of support by the Krita Foundation on Chromium's issue #1178058. bugs.chromium.org. 2022-11-10 [2022-11-11]. （原始内容存档于2021-12-30）.  Brightman, Tony. Statement of support by Serif Ltd.'s SerifLabs on Chromium's issue #1178058. bugs.chromium.org. 2022-11-11 [2022-11-11]. （原始内容存档于2021-12-30）.  Update JPEG-XL with latest changes.. GitHub. 2019-12-27 [10 October 2022]. （原始内容存档于2022-10-10）.  PLEASE DO NOT OPEN NEW ISSUES HERE. [2021年5月27日].  libjxl-tiny. [2022-12-07]. （原始内容存档于2022-12-09）.  jxlatte. [2022-12-07]. （原始内容存档于2022-12-04）.  pyjxl. [2022-12-07]. （原始内容存档于2022-11-12）.  Siipola, Johannes, JPEG XL Encode, 2022-10-31 [2022-11-29], （原始内容存档于2022-11-29）  Codec to consider: JPEG XL · Issue #721 · GoogleChromeLabs/squoosh. GitHub. [2022-11-26]. （原始内容存档于2022-11-26） （英语）.  HDR Output in Camera Raw. [2022-10-21]. （原始内容存档于2022-10-21）.  Affinity V2: What's new (JPEG XL import/export). [2022-11-09]. （原始内容存档于2022-12-14） （英语）.  Online Help for Chasys Draw IES: History. 2022-07-17 [2022-07-18]. （原始内容存档于2022-12-07）.  ExifTool by Phil Harvey. [2022-01-19]. （原始内容存档于2022-01-26）.  FFmpeg Lands JPEG-XL Support. www.phoronix.com. [2022-04-24]. （原始内容存档于2022-07-03） （英语）.  GIMP 2.10.32 Released. 2022-06-14 [2022-06-15]. （原始内容存档于2023-01-06）.  GThumb Image Viewer 3.11.3 Adds JPEG XL (.JXL) Support [Ubuntu PPA] | UbuntuHandbook. [2021-05-17]. （原始内容存档于2021-12-30）.  ImageMagick. [2021-03-01]. （原始内容存档于2022-01-02）.  IrfanView PlugIns. [2021-12-03]. （原始内容存档于2021-12-28）.  KaOS 2021.06. [2022-01-31]. （原始内容存档于2021-06-29）.  Krita 5.1.0 Released!. krita.org. 2022-08-18 [2022-08-20]. （原始内容存档于2023-01-20） （英语）.  Statement of support by the Krita project on Chromium's issue #1178058. bugs.chromium.org. [2022-11-03]. （原始内容存档于2021-12-30）.  KDE Ships Frameworks 5.89.0. KDE Community. 2021-12-11 [2022-04-28]. （原始内容存档于2022-12-07） （英语）.  0001845: JPEG XL - MantisBT. [2021-03-01]. （原始内容存档于2021-11-07）.  Pale Moon 31.4.0 released! - Pale Moon forum. forum.palemoon.org. [2022-11-22]. （原始内容存档于2023-01-05）.  Jpeg Xl Wic. GitHub. 27 November 2021 [2021-12-30]. （原始内容存档于2021-12-30）.  JXLook. GitHub. December 2021 [2021-12-30]. （原始内容存档于2021-12-30）.  libjxl gdk-pixbuf plugin. GitHub. [2022-11-26]. （原始内容存档于2023-01-18） （英语）.  1178058 - chromium - an open-source project to help move the web forward. - Monorail. [2021-12-30]. （原始内容存档于2021-12-30）.  1539075 - (JPEG-XL) Implement support for JPEG XL (Image/JXL). [2021-12-30]. （原始内容存档于2022-01-04）.  1806525 - Unable to view jpegxl images when setting image.jxl.enabled = true in about:config. bugzilla.mozilla.org. [2024-03-18]. （原始内容存档于2024-05-22） （英语）.  官方网站 GitHub上的参考实现 构建版本： 每夜构建 （页面存档备份，存于互联网档案馆） 社区网站 （页面存档备份，存于互联网档案馆）