JPEG XL

来自testwiki
跳转到导航 跳转到搜索

Template:NoteTA Template:Infobox file format

JPEG XL是一种免版税位图文件格式,支持有损无损压缩。它旨在超越现有的位图格式,并成为它们的通用替代。[1]JPEG XL格式规范的主要作者有Jyrki Alakuijala、Jon Sneyers和Luca Versari。

名称

历史

2017年,JTC1 / SC29 / WG1 (JPEG) 发起下一代图像编码标准(JPEG XL)提案征集。[2]所有提案在2018年9月前提交,随后2019年7月形成委员会草案。[3]草案是由谷歌提交的PIK[4]Template:Link-en提交的基于FLIF的FUIF[5]结合而来。

2020年12月25日,伴随着参考软件实现libjxl的0.2版本发布,JPEG XL的比特流格式被最终敲定,这意味着未来的版本将保证对此版本的解码兼容性[6]此后文件格式与核心编码系统分别于2021年10月13日和2022年3月30日正式标准化。[7][8]

描述

JPEG XL的提案征集[2]提及了下一代图像压缩标准对大幅提升压缩效率(60%)的需求。新标准应该有优于HEICAVIFWebPJPEG 2000这些静态图像编码的表现,同时提供对传统JPEG格式的无损再压缩选项。

JPEG XL最高能够提供对甚高分辨率图像(每边1-{zh-cn:太;zh-tw:兆;}-像素)、4099个32位深通道(包含alpha通道)的静态或动态图像及其嵌入预览的有损压缩无损压缩。它支持针对网络传输的渐进式解码[9]和最小化信头开销特性,以及针对图像编辑数码印刷图层CMYKTemplate:Link-en支持。它还针对无缝处理Template:Link-en广色域Template:Link-enTemplate:Link-en转换曲线进行了特别设计。

特点

主要特点有:[10][11][12]

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

技术细节

refer to caption
JPEG XL 编解码器架构图

JPEG XL基于Google的PIK格式和Cloudinary的FUIF格式(基于FLIF)。[15]

JPEG XL主要有两种编码模式:

  • VarDCTTemplate:Lang,可变分块大小离散余弦变换)模式基于与JPEG相同的离散余弦变换算法,但分块不再限定为8×8,而是允许不同大小(2×2到256×256)、非正方形块(如16×8、8×32、32×64)乃至其他变换函数(4种“边角”变种AFV,以及非离散余弦变换的Hornuss变换)。此模式限于三通道色彩,通常使用Template:Link-en衍生的XYB色彩空间(但为支持重压缩传统JPEG仍支持YCbCr),基于PIK格式的有损模式。[16]
  • Modular(模块化)模式是响应式的,用于高效的无损内容压缩以及近无损压缩。它可被VarDCT在内部用于存储二维数据,即除了交流(高频)离散余弦变换系数之外的所有数据,包括直流图像(1:8抽样图像)、自适应量化权值、滤镜强度。所有附加通道(如Template:Link-enTemplate:Link-en热成像Template:Link-en等)总是使用此模式存储。此模式基于FUIF,并结合了无损PIK、无损WebP和标准化过程中的其他合作成果。[17]借助哈尔变换的“挤压”(Template:Lang),此模式也支持有损压缩,并实现渐进式特性:图像的质量会随着数据加载过程逐渐改善。

VarDCT模式的图像可藉由模块化“挤压”的独立“直流帧”存储的直流系数实现渐进式加载,支持1:16、1:32等抽样比例。“挤压”变换也可以用于将alpha通道和VarDCT模式的色彩通道一同渐进式编码,使两种模式协同工作。

JPEG XL默认使用视觉无损下仍有较好压缩效果的设置。[13]

这些模式可由单独的图像特征模型协助:

  • Template:Link-en用于编码头发等(参考编码器暂未实现);
  • 重复的“补丁”,如文字、点和“精灵”
  • 噪声合成:由于噪声难以压缩,将其剥离然后由解码器重新生成可能更佳。这类似于AV1等现代视频编码的Template:Link-en合成,尽管JPEG XL噪声合成的目的不是模仿模拟摄影胶片的颗粒,而是在像素层级建模数字相机在高感光度设置下的Template:Link-en

JPEG XL编码可以无损地转码JPEG最常用的子类型的文件,实现方式是将JPEG的DCT系属直接拷贝到8×8的VarDCT块,并借助JPEG XL更好的熵压缩算法实现更小的文件大小。此过程是可逆的,可以从转换结果中逐位重建原始JPEG图像,尽管有一些限制条件[18]

预测是基于逐像素、无辅助信息的去相关器运作的,包括参数化的自校正加权预测器集合。Template:Link-en包括特化的静态模型和强大的元自适应模型,它们考虑局部错误,具有信号树结构和分上下文的预测器选择。熵编码基于LZ77,可使用Template:Link-en前缀码(适用于低复杂度的编码器,或减少短数据流的开销)。Template:Citation needed

动画(多帧)图像不执行高级帧间预测,尽管有一些基本的帧间编码工具可用:

  • 帧可以小于画布大小,只更新画布的一部分;
  • 除了替换前序帧外,还支持数种混合模式,如相加或相乘;[19]
  • 在后面的帧中使用“补丁”编码工具最多可以“记住”并引用四帧。

软件

JPEG XL受到了许多科技公司与组织的公开支持,如Facebook[20][21]Adobe[22][23]IntelVESA[24][25]卫报[26][27]FlickrSmugMug[28]Shopify[29]Krita基金会[30]Template:Link-en[31]

编解码器实现

Template:Infobox software

  • JPEG XL参考软件(libjxl)
    • 三条款版BSD许可证(曾为Apache许可证2.0)
    • 包含组件
      • 编解码库libjxl
      • 编码器cjxl
      • 解码器djxl
      • 快速无损编码器fjxl
      • 图像编码质量基准测试工具benchmark_xl
      • GIMP和Gtk pixbuf插件file-jxl

官方支持

非官方支持

初步支持

  • Chromium[55]:网页浏览器,自91版至110版提供测试选项。
  • Firefox[56]:网页浏览器,处于测试中,自Firefox 90开始可以通过image.jxl.enabled标志开启(仅在Nightly开发版本中生效[57])。

标准化状态

通用名称 部分 首次公开发布日期
(第一版)
ISO/IEC编号 正式名称
JPEG XL 第1部分 2022年3月30日 ISO/IEC 18181-1 Template:Wayback JPEG XL图像编码系统-第1部分:核心编码系统[7]
第2部分 2021年10月13日 ISO/IEC 18181-2 Template:Wayback JPEG XL图像编码系统-第2部分:文件格式[8]
第3部分 2022年10月3日 ISO/IEC 18181-3 Template:Wayback JPEG XL图像编码系统-第3部分:一致性测试
第4部分 2022年8月5日 ISO/IEC 18181-4 Template:Wayback JPEG XL图像编码系统-第4部分:参考软件

注释

Template:Notelist

参考

Template:Reflist

外部链接

Template:多媒體壓縮格式