Fork me on GitHub

JPEG XL 和 libjxl

JPEG XL 是一种免版税的图像文件格式,支持有损和无损压缩。 它旨在超越现有的栅格格式并成为它们的通用替代品。
与其他流行的图像格式(尤其是旧的 JPEG 格式)相比,JPEG XL 旨在提高图像保真度,同时减小文件大小。 它提供比传统 JPEG 更好的图像质量和压缩率。
JPEG XL 支持现代功能,如 HDR、动画、alpha 通道、无损 JPEG 重新压缩、无损和渐进模式。 它还支持保存多帧动画,如 GIF。
Mozilla Firefox 和 Google Chrome 都支持新的图像格式作为一项实验性功能。 要在 Chrome 中启用 JPEG XL 支持,您可以在 Chrome 91 或更高版本中打开一个新的浏览器窗口,在地址栏中输入 chrome://flags/`#`enable-jxl,将 Enable JXL image format 下拉菜单从 Default 为 Enabled,然后单击大的 Relaunch 按钮以应用您的更改。

 

名称来历:

该名称由JPEG(代表联合图像专家组,即设计该格式的委员会)、X(自 2000 年以来几个 JPEG 标准名称的一部分:JPEG XTJPEG XRJPEG XS)和L(代表长期)。L 被包括在内是因为作者的意图是用这种格式取代旧的 JPEG并且持续时间也一样长。

 

特性:

JPEG XL 提案征集[7]讨论了下一代图像压缩标准的要求,与 JPEG 相比,压缩效率要好得多(提高 60%)。该标准有望超越HEICAVIFWebPJPEG 2000所显示的静态图像压缩性能。它还为传统/传统 JPEG 格式的图像提供高效的无损再压缩选项。

JPEG XL 支持超高分辨率图像(最高 1 太像素)的有损压缩无损压缩,每个分量最高 32 位,最高 4099 个分量(包括alpha 透明度)、动画图像和嵌入式预览。它具有针对 Web 交付的功能,例如高级渐进式解码[13]和最小的标头开销,以及针对图像编辑数字印刷的功能,例如支持多层 CMYK它专门设计用于无缝处理具有高动态范围的宽色域色彩空间比如Rec。2100具有PQHLG 传输功能

主要特点是:[14] [15] [16]

  • 更多功能:与传统图像格式(如 JPEG、GIF 和 PNG)相比,改进了功能和效率。
  • 允许更大的尺寸:每侧超过十亿 (2 30 -1) 像素的图像尺寸。[17]
  • 大量可用通道:多达 4099 个通道:主要通道:一个灰度通道、三个 RGB 通道或四个 CMYK 通道。此外,其余通道作为可选的“额外”通道,如alphadepth数据。[17]
  • 可以有多个帧,具有非零持续时间(对于动画)或零持续时间(使它们更像图形软件中的图层)。框架可以小于(或大于)图像画布,并且可以以多种方式混合。
  • 独立图块:通过将图像存储在图块中来解码大图像的各个部分。
  • 渐进式解码:专为响应式加载大图像而设计的模式,具体取决于查看设备的分辨率。
  • 可逆JPEG 转码:可以实现约 20% 的大小缩减。
  • 无损编码:包括无损 alpha 编码。
  • 支持摄影和合成图像:该格式具有两种互补模式,可根据图像内容使用。
  • 在大范围的比特率范围内优雅地降低质量:质量损失不像旧格式那样突然。
  • 感知优化参考编码器:它默认使用感知色彩空间、自适应量化和保守的默认设置。
  • 支持宽色域HDR:JPEG XL 内置支持各种色彩空间、传输曲线和高屏幕亮度。
  • 支持动画内容:对于逼真的内容编码,首选常规视频编解码器。
  • 高效编码和解码,无需专用硬件:JPEG XL 的编码和解码速度与使用libjpeg-turbo的旧 JPEG 差不多,与使用x265的 HEIC 相比,编码和解码速度快一个数量级[17]它也是可并行化的。
  • 具有开源参考实现的免版税格式:该软件可在 GitHub 上根据 3 条款 BSD 许可获得。

开源实现:

https://github.com/libjxl/libjxl

Usage

To encode a source image to JPEG XL with default settings:

cjxl input.png output.jxl

The desired visual fidelity can be selected using the --distance parameter (in units of just-noticeable difference, where 0 is lossless and the most useful lossy range is 0.5 .. 3.0), or using --quality (on a scale from 0 to 100, roughly matching libjpeg). The encode effort can be selected using the --effort parameter.

For more settings run cjxl --help or for a full list of options run cjxl -v -v --help.

To decode a JPEG XL file run:

djxl input.jxl output.png

When possible cjxl/djxl are able to read/write the following image formats: .exr, .gif, .jpeg/.jpg, .pfm, .pgm/.ppm, .pgx, .png. Specifically for JPEG files, the default cjxl behavior is to apply lossless recompression and the default djxl behavior is to reconstruct the original JPEG file (when the extension of the output file is .jpg).

技术架构图:

支持的软件:

 

编解码器实现

JPEG XL 参考软件 (libjxl)
  • JPEG XL 参考软件 (libjxl)
    • 许可证:新 BSD 许可证(以前是Apache 许可证 2.0
    • 包含(除其他外):
      • 编码/解码库libjxl
      • 编码器cjxl
      • 解码器djxl
      • 快速无损编码器fjxl
      • 图像编解码器速度和质量基准测试工具benchmark_xl
      • GIMP和 Gtk pixbuf 插件file-jxl
  • J40:独立、自包含的 JPEG XL 解码器J40:独立、自包含的 JPEG XL 解码器
    • 许可证:麻省理工学院许可证无署名
    • C99单头库(无依赖)
    • 罗马数字中,“XL”表示 40,因此得名
  • libjxl-tiny:一个更简单的 JPEG XL 编码器实现,针对没有 alpha 通道的摄影图像。[38]
    • 许可证:新 BSD 许可证
  • jxlatte:Java JPEG XL 解码器[39]
    • 许可证:麻省理工学院许可证
  • jxl_decode:Python JPEG XL 解码器。[40]
    • 许可证:麻省理工学院许可证
  • jpeg-xl-encode:用于编码器的 PHP JPEG XL 包装器。[41]
    • 许可证:麻省理工学院许可证
  • hydrium:用便携式 C 编写的快速、超低内存、流式 JPEG XL 编码器。[42]
    • 许可证:BSD许可证

官方支持

  • Squoosh – 浏览器内图像转换器[43]
  • Adobe Camera Raw – Adob​​e Photoshop 对数码相机图像的导入/导出[44]
  • Affinity Photo – 光栅图形编辑器[45]
  • Chasys Draw IES – 光栅图形编辑器[46]
  • Darktable – 原始照片管理应用程序[47]
  • ExifTool – 元数据编辑器[48]
  • FFmpeg – 多媒体框架,通过 libjxl [49]
  • GIMP – 光栅图形编辑器[50]
  • gThumb – 适用于Linux 的图像查看器和照片管理应用程序[51]
  • ImageMagick – 光栅图形处理工具包[52]
  • XnView MP – 光栅图形的查看器和编辑器[53]
  • JPEGView fork – 光栅图形的查看器和编辑器。[54]
  • Ksnip – 屏幕捕获实用程序。[55]
  • IrfanView – 适用于Windows 的图像查看器和编辑器[56]
  • KaOS ——Linux 发行版[57]
  • Krita – 光栅图形编辑器[58] [59]
  • libvips – 图像处理库[60] [61]
  • macOSiPadOSiOS – 从macOS Sonoma (14.0) iPadOS 17iOS 17开始[62] [63]
  • vipsdisp – 适用于 Linux 的高性能超高分辨率图像查看器[64]
  • QtKDE应用程序——通过 KImageFormats 
  • Pale Moon– 网页浏览器[66]

非官方或间接支持

  • Microsoft Windows – 第 3 方Windows 成像组件(WIC) 插件添加了对文件资源管理器Microsoft 照片Windows 照片查看器和感知应用程序的查看。缩略图视图,不稳定 仅在 Windows 7/10 操作系统上。[67]
  • 另一个 Windows 插件,JXL WIN Thumb 旧 libjxl 版本 0.5.0:[68]
  • macOS (14.0 Sonoma 之前)——通过独立应用程序和Quick Look插件[69]
  • GTKGNOME图像查看应用程序(如Eye of GNOMEGNOME Files等)通过JPEG XL 项目提供的GDK pixbuf 插件[70]

初步的网络浏览器支持

  • Firefox网络浏览器——在Firefox Nightly build [71]中引入用于测试
  • safari  [72] [73]

 

通用名称部分首次公开发行日期(第一版)ISO/IEC 编号正式职称
JPEG超大码 第1部分 2022 年 3 月 30 日 ISO/IEC 18181-1 JPEG XL 图像编码系统——第 1 部分:核心编码系统[4]
第2部分 2021 年 10 月 13 日 ISO/IEC 18181-2 JPEG XL 图像编码系统——第 2 部分:文件格式[12]
第 3 部分 2022 年 10 月 3 日 ISO/IEC 18181-3 JPEG XL 图像编码系统——第 3 部分:一致性测试
第 4 部分 2022 年 8 月 5 日 ISO/IEC 18181-4 JPEG XL 图像编码系统 - 第 4 部分:参考软件
posted @ 2023-06-15 16:39  stardsd  阅读(1610)  评论(0编辑  收藏  举报