*.jxl¶
JPEG XL (.jxl
) 是一种新型的图像文件格式,它无需专利费用。它既能像 JPEG 格式一样支持适用于照片图像的有损压缩模式,也能和 PNG 格式一样支持无损压缩模式,还能和 GIF 格式一样支持保存动图。
有损和无损压缩的选择可遵循 JPEG 和 PNG 格式的经验。对于渐变色比例较多的图像而言,例如颜色过渡丰富柔和的绘画作品,有损压缩能够在画质损失较小的情况下生成较小的文件。而对于颜色反差强烈的图像而言,例如传统漫画等,无损压缩的效果通常会更好。
在使用有损压缩方式保存 JPEG XL 格式的图像时,不建议反复修改、覆盖保存原有文件。有损压缩会在每次保存文件时造成画质的劣化。在编辑图像时,应该使用无损格式保存工作图像。
JPEG 图像可以在不损失画质的情况下转码为 JPEG XL 图像,文件体积更小。这种转换需要用到专门的程序,例如 libjxl 项目包含的 cjxl 命令行程序。而直接用 Krita 打开 JPEG 图像后重新导出为 JPEG XL 会造成画质劣化。
Krita 支持使用 JPEG XL 格式导出动图,但这会将图像的所有图像合并。要导出 JPEG XL 动图,请在文件菜单选择导出…然后选择导出为 .jxl
文件,在导出选项中勾选 保存为 JPEG-XL 动图。导出动图和导出动画不是一回事,无需像后者那样使用 FFmpeg。
导出选项¶
常规¶
JPEG XL 的编码器和 JPEG 有很大不同。JPEG 编码器是按照用户指定的画质输出图像的,而 JPEG XL 则是由编码器自动决定最适合图像的画质,用户只能选择使用的是有损还是无损压缩方式,并指定在检测最佳压缩比时的检测力度。检测力度越大,保存耗时越久。
- 保存为 JPEG XL 动图
JPEG XL 可以像 *.gif 那样保存动图,但它的动画功能非常简单,不支持帧内预测,因此更适合颜色数量较少,风格化明显的动画使用,例如赛璐璐上色风格的动画,而不适合颜色层次丰富的 3D 动画、手绘颜料风格明显的动画等使用。
- 合并此图像
如果禁用此选项,而且没有使用帧来保存动图,则 JPEG XL 可以通过帧来保存图层,从而实现类似于 *.tiff 的多图层功能。
JPEG-XL 只能提供非常基本的多图层功能,它无法像 *.psd 和 *.kra 文件那样保存复杂的图层堆栈。它的限制包括但不限于:
只支持光栅图层 (Krita 中的颜料图层)。所有其他类型的图层将被光栅化后保存,图层组将被合并保存。
只支持两种混合模式:正常、相加。其他混合模式将被转换为正常模式。
不支持半透明图层。可见图层将只能按照完全不透明 (100% 不透明度) 进行导出。
不支持图层样式。原图中通过图层样式生成的外部像素将在光栅化后以正常混合模式保存。
图层蒙版将在合并后光栅化。智能填色蒙版的自动填充部分将不被渲染。
我们建议在保存用于网络的图像时将此选项保持在启用状态。
在 5.2 版本加入.
- 编码选项
- 有损编码
是否使用有损压缩方式保存图像。和 *.webp 一样,JPEG XL 既支持有损压缩方式,也支持无损压缩方式。其中有损压缩与 *.jpg 使用的编码方式类似。
- 画质
此选项用于指定有损压缩方式的画质。数值越高,画质越好;数值越低,文件越小。
- 使用模块化模式
为有损压缩使用替代的模块化模式。JPEG XL 默认使用 VarDCT 模式来对图像进行有损编码。
在 5.2 版本加入.
- 权衡
此滑动条用于权衡编码器的检测力度和编码速度,它带有一些预设 [1]:
闪电 – 适合无损压缩使用的快速模式。对于有损压缩,将使用最快的检测方式;对于无损压缩,将使用渐变色预测器和快速直方图,但不使用 MA 树。
雷声 – 无论是有损还是无损,雷声和闪电模式在检测方式上是类似的,但雷声使用固定 MA 树和渐变色预测器。
猎鹰 – 禁用所有选项,不使用无损模式。
猎豹 – 在选择 DCT 大小时启用系数重新排列、上下文聚类和启发式探测,启用定量化步骤。
野兔 – 启用类 Gabor 滤波器、从亮度推测色品、预测定量化等步骤。
袋熊 – 启用误差扩散定量化和 DCT 启发式检测。
懂树 – 启用点、块、样条检测,启用上下文聚类。
小猫 – 基于视觉心理学的算法优化自适应定量化。
乌龟 – 启用更加彻底的自适应定量化查找。
你可以在高级部分中强制启用某些选项,即使它们已在权衡的预设中被禁用。
- 解码速度
解码速度可以通过某些优化进行改善,但这也会造成画质劣化。如果你认为图像主要通过手机查看,那么可以尝试此选项;而如果你认为图像主要通过桌面电脑查看,而且画质非常重要,那么此项应设为 0。
色彩空间转换设置¶
此选项仅在图像使用浮点色彩空间时才会启用。它与 *.heif 和 *.avif 格式的色彩空间转换设置完全相同。
在 5.2 版本加入.
高级¶
JPEG XL 有两种主要编码方式:
- VarDCT
这是一种和原版 JPEG 同一谱系的压缩技术,同样适合自然图像的编码,例如照片、包含丰富渐变色和纹理的图像等。
- 模块化模式
这是一种专门针对人工合成图像设计的压缩技术,例如线稿和包含大面积单一色块的图像等。选择无损编码时,编码器将始终使用模块化模式。
你可以将 VarDCT 视作与有损压缩有关,将模块化模式则视作与无损压缩有关。JPEG XL 会将图像拆分成组块进行处理,VarDCT 使用 256x256 大小的组块,而模块化模式的组块大小可选。
- 色彩通道重采样
色彩通道的采样方式。采样时存储的信息越少,生成的文件就越小。降低采样精度会影响图像中颜色反差的清晰程度——因为每次采样的对象不是单个像素,而是多个像素——原理和将图像缩小后重新放大成原本大小时的马赛克现象类似。2x2 和图像被缩小到一半大小后重新放大类似,4x4 和图像被缩小到四分之一大小后重新放大类似,8x8 和图像被缩小到八分之一大小后重新放大类似。
此功能适合那些包含特意的模糊效果或者缺少鲜明颜色反差的图像使用。对于其他图像而言,建议设置为无降采样。
- 透明度通道重采样
和色彩通道重采样类似,但处理对象是图像的透明度。
- 光子噪声
是否要将颜色噪声从图像中减去,然后在后期重新加入,以模拟数码相机捕获图像时的画面噪声。
- 生成点
点是一种噪声,它的面积大于光子噪声,观感更好,但压缩时更耗费算力。此选项用于选择编码器是否要先将点从图像中减去,然后在后期重新加入。如果启用了此选项和生成块,且编码器同时找到了块和点,那么点将被作为块进行编码。
默认 – 编码器将按照权衡的预设来选择此选项。
启用 – 无视权衡中预设的内容,总是启用此选项。
禁用 – 无视权衡中预设的内容,不要启用此选项。
- 生成块
此选项控制是否尝试查找和复用图像中的小块。这对于那些包含重复元素的图像有用,例如像素画、包含大量文字和图案的图像等。
默认 – 编码器将按照权衡的预设来选择此选项。
启用 – 无视权衡中预设的内容,总是启用此选项。
禁用 – 无视权衡中预设的内容,不要启用此选项。
- 边缘保护滤波器
边缘保护滤波器会尝试保护色块的边缘,避免产生色晕。
- 类 Gabor 滤波器
是否应用类似 Gabor 的锐化滤波器,这将强调重要的颜色反差,避免在编码和解码的过程中损失它们。
默认 – 编码器将按照权衡的预设来选择此选项。
启用 – 无视权衡中预设的内容,总是启用此选项。
禁用 – 无视权衡中预设的内容,不要启用此选项。
- 模块化编码
此选项与无损压缩的模块化模式不是一回事。模块化编码会将图像拆分成小块以便进行多线程编码,还可以对每个图块进行单独优化。你可以选择编码器要使用有损的 VarDCT 模式还是无损的模块化 模式,还是让编码器自行选择。
- 保持不可见像素的颜色
当像素完全透明时,是否保存它的颜色数值。如果不保存,将把该透明像素的颜色视作完全透明的纯黑。
默认 – 编码器将按照权衡的预设来选择此选项。
启用 – 无视权衡中预设的内容,总是启用此选项。
禁用 – 无视权衡中预设的内容,不要启用此选项。
- 组块顺序
guilabel:模块化编码中的组块的存储方式。这会影响仅被下载了一部分的图像和使用了渐进式编码的图像。
- 默认
按照权衡预设的设置。
- 扫描线顺序
图像左上角的组块是第一个组块。
- 中心起始顺序
位于图像最中间的组块是第一个组块。
- 从亮度推测色品
JPEG XL 可以使用专门的算法从像素的亮度来推测其颜色,从而只需存储像素的亮度,无需存储实际的颜色信息。建议在使用前进行一些试验以确保生成颜色正确的图像。
默认 – 编码器将按照权衡的预设来选择此选项。
启用 – 无视权衡中预设的内容,总是启用此选项。
禁用 – 无视权衡中预设的内容,不要启用此选项。
- VarDCT 参数
JPEG 压缩算法的核心是离散余弦变换 (DCT),它可以将复杂的颜色过渡抽象为数学函数。JPEG XL 带来了全新的“可变 DCT”功能,这意味着 DCT 大小不再被限制在 8x8,也不再限制整张图像使用统一的 DCT 大小。针对 DCT 的压缩方式也进行了改进,称为“自适应定量化”。
JPEG XL 编码器可以按照权衡预设中的设置选择最佳压缩方式,你只需要选择是否启用渐进式模式。VarDCT 的渐进式模式会基于所谓的 DC 系数 (每个 DCT 图块一个) 来生成图像的粗略预览画面;图像下载完毕后,再基于 AC 系数 (包含图像细节) 生成最终画面。从效果来说,这会让图像在下载过程中逐渐从模糊变清晰,对于网速较慢但图文并茂的网页来说十分有用。
- 光谱渐进
此选项可以启用渐进模式,并使用复杂的颜色算法来算出图像的细节信息。这将耗费更多时间,但生成的图像效果通常更好。
默认 – 编码器将按照权衡的预设来选择此选项。
启用 – 无视权衡中预设的内容,总是启用此选项。
禁用 – 无视权衡中预设的内容,不要启用此选项。
- 定量化
这将启用渐进模式,并使用定量化来压缩图像的细节信息。这将生成更小的图像文件,但编码器需要更长的时间进行编码。
默认 – 编码器将按照权衡的预设来选择此选项。
启用 – 无视权衡中预设的内容,总是启用此选项。
禁用 – 无视权衡中预设的内容,不要启用此选项。
- 低分辨率 DC
前两个选项中提及的 DC 系数是一种粗粒度压缩方式,用于为渐进式解码生成粗略预览图像,每个 DCT 图块都有自己的 DC 系数。由于 JPEG XL 的 DCT 是可变大小的,因此可以选择使用低分辨率的图像,这样会改善预览画面的画质,但也会造成文件大小变大。
- 默认
让编码器自行选择。
- 禁用
不使用低分辨率图像。
- 64x64 低分辨率处理流程
创建一张 64x64 大小的图像与 DC 系数配合使用,以创建渐进式预览。
- 512x512 + 64x64 低分辨率处理流程
同时创建一张 512x512 大小的图像和一张 64x64 大小的图像与 DC 系数配合使用,以创建渐进式预览。
- 模块化参数
模块化模式的额外选项。模块化模式使用某种类似于小型编程语言的方式简洁且精确地为预测器描述图像数据。
- 渐进式编码
是否启用渐进式编码/解码。正如在 VarDCT 参数中解说的那样,这意味着保存的图像可以随着下载进程逐渐从模糊变清晰。
默认 – 编码器将按照权衡的预设来选择此选项。
启用 – 无视权衡中预设的内容,总是启用此选项。
禁用 – 无视权衡中预设的内容,不要启用此选项。
- 全局通道调色板范围
图像的颜色会被存储在一个调色板中,而可以存储的颜色数量则取决于色彩通道的可用数值。对于 8 位通道的图像,100% 意味着 255 种数值,50% 意味着 128 种数值,10% 意味着 25 种数值。
- 局部通道调色板范围
类似于 全局通道调色板范围,但对象是单个组块。
- 为 … 种或更少的颜色数量使用调色板
选择在组块中显示的最大颜色数量,低于或等于此数值时编码器将尝试把它们存储为调色板。
- Delta 调色板
是否使用 Delta 调色板,也称有损调色板。这将对调色板进行压缩,但没有相关文档介绍它的工作方式。
默认 – 编码器将按照权衡的预设来选择此选项。
启用 – 无视权衡中预设的内容,总是启用此选项。
禁用 – 无视权衡中预设的内容,不要启用此选项。
- 组块大小
图像可以被分隔成小块并行编码。你可以在使用模块化模式时选择图块的大小,而 VarDCT 的图块大小默认为 256x256。
128x128
256x256
512x512
1024x1024
- 预测器
选择和 MA 树配合使用的预测器。VarDCT 模式会将图像的复杂渐变抽象成数学函数来进行压缩,模块化模式则是检测每个像素能够通过它的相邻像素进行描述,例如“与左边像素颜色相同”。建议值是默认。
默认 – 让编码器自行选择。
零值 – 总是返回数值 0。
左侧 – 总是返回左侧的数值。
上方 – 总是返回上方的数值。
平均值 0 – 返回当前位置的左侧和上方的数值的平均值。
选择 – 减去左侧和左上方的上方相邻像素,返回插值较低的相邻像素。
渐变 – 返回左上方相邻像素数值减去上方和左侧相邻像素数值。
权衡 – 这是一个复杂的预测器,它以某种方式权衡上方、左侧、左上方的像素以得到结果。
右上 – 返回当前位置右上方像素的数值。
左上 – 返回当前位置左上方像素的数值。
左左 – 返回当前位置右上方的像素数值。
平均值 1 – 返回当前位置的左侧和左上的数值的平均值。
平均值 2 – 返回当前位置的左上和上方的数值的平均值。
平均值 3 – 返回当前位置的左侧和右上的数值的平均值。
上上预测平均值 – 对 6 个相邻像素的数值进行权衡:上方、左侧、右上方,加上它们本身的同一方向上的相邻像素。
渐变 + 权衡 – 混合渐变和权衡的方式。
使用所有预测器
- MA 树学习像素
用于 Meta-Adaptive Context Tree (元-自适应上下文树) 的像素比例。MA 树是分析当前像素周围的像素的一种手段,它会根据上下文为这个像素选择一个预测器。MA 树学习使用的像素越多,它就能更好地理解像素所处环境 (上下文),从而进行更好的压缩,但这也需要在编码时使用更多的算力。
元数据¶
- 写入图像元数据
是否要将元数据写入文件。你可以单独打开或者关闭 Exif、IPTC、XMP 等三种元数据的写入。
- 匿名处理
是否移除作者信息。
- 工具信息
是否添加工具信息。