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。- L代表“长期”，创建这种格式是为替换旧的JPEG文件格式，并使用足够长的时间。

**历史**
2017年，JTC1 / SC29 / WG1 (JPEG) 发起下一代图像编码标准（JPEG XL）提案征集。所有提案在2018年9月前提交，随后2019年7月形成委员会草案。草案是由谷歌提交的PIK和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-{zh-cn:太;zh-tw:兆;}-像素）、4099个32位深通道（包含alpha通道）的静态或动态图像及其嵌入预览的有损压缩和无损压缩。它支持针对网络传输的渐进式解码和最小化信头开销特性，以及针对图像编辑和数码印刷的图层、CMYK和Spot color支持。它还针对无缝处理Rec. 2100等广色域的Perceptual quantizer、Hybrid log–gamma和转换曲线进行了特别设计。

**特点**
主要特点有：- 更多功能：与传统图像格式（例如JPEG、GIF和PNG）相比，有着更佳的效率与更丰富的功能；- 更大尺度：长宽可超过十亿（）个像素；- 更多通道：最多4099个通道，包括主通道（单通道的灰度、三通道的RGB或四通道的CMYK）、可选的多达4096个可用于透明度、深度、热成像等的额外通道； - 多帧支持：支持用于动画的非零时长帧和类似图像软件中图层的零时长帧，且帧的大小不受图像画布大小影响，并支持多种混合模式；- 独立图块：允许图像分多图块保存，以支持分块解码大幅图像；- 渐进式解码：专为支持不同显示分辨率的响应式加载；- 可逆JPEG转码：可实现约20%的数据流压缩；- 无损编码：包括无损alpha编码；- 类型感知：可根据图像内容使用分别为摄影图像和合成图像优化的两种模式；- 低码率优化：在低比特率下相较旧格式质量更可接受；- 感知优化：参考编码器默认使用感知色彩空间、自适应量化和保守的默认设置；- 色域支持：内置广色域、转移曲线和HDR支持；- 动画支持：但编码真实视频时仍建议使用常规的视频编码；- 高效编解码：无需专用硬件，JPEG XL的编解码速度即可与使用libjpeg-turbo的JPEG相当，比使用x265的HEIC速度快一个数量级，并可以并行。- 开源免费：具有使用三条款版BSD许可证的开源参考实现的免版税格式。

**技术细节**
JPEG XL 编解码器架构图
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 color space衍生的XYB色彩空间（但为支持重压缩传统JPEG仍支持YCbCr），基于PIK格式的有损模式。- Modular（模块化）模式是响应式的，用于高效的无损内容压缩以及近无损压缩。它可被VarDCT在内部用于存储二维数据，即除了交流（高频）离散余弦变换系数之外的所有数据，包括直流图像（1:8抽样图像）、自适应量化权值、滤镜强度。所有附加通道（如透明度、深度、热成像和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或前缀码（适用于低复杂度的编码器，或减少短数据流的开销）。date=April 2021
动画（多帧）图像不执行高级帧间预测，尽管有一些基本的帧间编码工具可用：- 帧可以小于画布大小，只更新画布的一部分；- 除了替换前序帧外，还支持数种混合模式，如相加或相乘；- 在后面的帧中使用“补丁”编码工具最多可以“记住”并引用四帧。

**软件**
JPEG XL受到了许多科技公司与组织的公开支持，如Facebook、Adobe、Intel与VESA、卫报、Flickr和SmugMug、Shopify、Krita基金会和Serif Europe。

**编解码器实现**
 JPEG XL参考软件（libjxl）
** 三条款版BSD许可证（曾为Apache许可证2.0）
** 包含组件
*** 编解码库libjxl
*** 编码器cjxl
*** 解码器djxl
*** 快速无损编码器fjxl
*** 图像编码质量基准测试工具benchmark_xl
*** GIMP和Gtk pixbuf插件file-jxl- J40：独立、自包含的JPEG XL解码器 date=20221012072315 
** 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 date=20230119174259 - 数字相机图像导入导出工具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：通过 微软商店安装扩展。

**非官方支持**
 Microsoft 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开发版本中生效）。

**标准化状态**

**注释**

**参考**

**外部链接**
 参考实现
** 构建版本：
***  每夜构建 date=20220408071936 -  社区网站 date=20220412164000