首页 > 其他分享 >JPEG XL 和 libjxl

JPEG XL 和 libjxl

时间:2023-06-18 13:38:39浏览次数:50  
标签:XL 图像 JPEG 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 XT、JPEG XR、JPEG XS)和L(代表长期)。L 被包括在内是因为作者的意图是用这种格式取代旧的 JPEG并且持续时间也一样长。

 

特性:

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

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

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

  • 更多功能:与传统图像格式(如 JPEG、GIF 和 PNG)相比,改进了功能和效率。
  • 允许更大的尺寸:每侧超过十亿 (2 30 -1) 像素的图像尺寸。[17]
  • 大量可用通道:多达 4099 个通道:主要通道:一个灰度通道、三个 RGB 通道或四个 CMYK 通道。此外,其余通道作为可选的“额外”通道,如alpha、depth或热数据。[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)

  • 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 – Adobe 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]
  • macOS、iPadOS和iOS – 从macOS Sonoma (14.0) iPadOS 17和iOS 17开始[62] [63]
  • vipsdisp – 适用于 Linux 的高性能超高分辨率图像查看器[64]
  • Qt和KDE应用程序——通过 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]
  • GTK和GNOME图像查看应用程序(如Eye of GNOME、GNOME 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 部分:参考软件



标签:XL,图像,JPEG,libjxl,编辑器,许可证
From: https://blog.51cto.com/sddai/6508294

相关文章

  • libxl库
    https://www.libxl.com/......
  • Pixel2XL解锁BL-刷入Twrp-获取Root权限
    Pixel2XL解锁BL-刷入Twrp-获取Root权限前提:手机账号退出,不插卡,不联网,删除pin指纹以及开机密码【一】解锁BL(如已解锁,该步骤不需要)(1)bootloader是什么?bootloader中文翻译为启动引导程序。打个比方来说,当我们启动手机的时候,最先开始执行的就是这段程序,然后对手机进行一些......
  • Pixel 2XL线刷-获取Root权限
    Pixel2XL线刷-获取Root权限【一】什么是线刷,什么是卡刷(1)什么是线刷线刷(通过连接计算机进行刷机):factory完整包,可以降级线刷是指使用计算机通过USB连接将刷机文件传输到设备上,并通过命令行工具(如ADB和Fastboot)执行刷机操作的方式。在线刷过程中,设备进入Fastboot模式,通过F......
  • vue在线预览pdf、word、xls、ppt等office文件
    perview(row){consttypeArr=['doc','docx','ppt','pptx','xls','xlsx']letarr=row.url.split('.')letfileType=arr[arr.length-1]leturl=''......
  • JPEG XL 和 libjxl
    JPEGXL是一种免版税的图像文件格式,支持有损和无损压缩。它旨在超越现有的栅格格式并成为它们的通用替代品。与其他流行的图像格式(尤其是旧的JPEG格式)相比,JPEGXL旨在提高图像保真度,同时减小文件大小。它提供比传统JPEG更好的图像质量和压缩率。JPEGXL支持现代功能,如HD......
  • 利用JXL(JExcelApi) 操作Excel文档
    http://coderdream.javaeye.com/blog/2506281、工具类:Java代码1.packagecom.coderdream.jxl;2.3.importjava.io.File;4.importjava.io.IOException;5.6.importjxl.Cell;7.importjxl.Sheet;8.import......
  • JPEG编码协议--DCT变换
       从之前的几篇文章介绍可以看出,JPEG编码最重要的一步就是DCT变换,将空域的图像信号转换到频域,达到良好的去空间相关性的性能,DCT变换本身是无损的。因此DCT变换在图像编码领域被广泛应用。一、一维DCT变换   在JPEG编码中使用了二维DCT变换,一维DCT是二维的基础,我们......
  • springboot+JXLS+Jexl实现报表模版生成报表
    前言做这个项目的思路是由于公司基于自身发展,需要将之前的老项目平台拆解出来,由于之前的项目是所有的功能全部集中在一起,学习成本以及后续的扩展性来说,非常的不友好,并且由于之前设计人员的流失导致了项目无法进一步优化,所以想将其进行拆解,将单个功能模块进行拆分,形成微服务化,使每......
  • 【Python入门教程】Python常用表格函数&操作(xlrd、xlwt、openpyxl、xlwings)
    ​        在我们使用Python时,避免不了与Excel打交道。同样Python的三方库和代码的简洁性也为我们处理大数据提供了便利。今天给大家介绍一下常用的处理表格的函数,同时还有一些常用的操作。                这些都是我在使用Python处理Excel时用到的......
  • XXL-JOB手工执行任务报错:msg:xxl-rpc remoting error(Connection refused (Connection
    【问题描述】XXL-JOB手工执行任务报错:msg:xxl-rpcremotingerror(Connectionrefused(Connectionrefused)),forurl  【原因分析】 在xxl-job服务端所在的服务器上面去telnetxxl-job所在的客户端服务器的9986端口,提示拒绝连接:对于端口拒绝连接的问题,应该是网络的问......