gpt4 book ai didi

JPEG-XL:在 libjxl 命令行工具中处理调色板

转载 作者:行者123 更新时间:2023-12-05 04:32:25 27 4
gpt4 key购买 nike

我正在尝试理解 following presentation ,见第 27 页:

Legacy image format friendly

有人可以描述 libjxl 中可用的命令行工具,这些工具可以帮助我使用现有的调色板吗?

我尝试了一个天真的:

% convert -size 512x512 -depth 8 xc:white PNG8:white8.png
% convert -size 512x512 -depth 8 xc:white PNG24:white24.png

这给了我期望的:

% file white8.png white24.png
white8.png: PNG image data, 512 x 512, 8-bit colormap, non-interlaced
white24.png: PNG image data, 512 x 512, 8-bit/color RGB, non-interlaced

然后:

% cjxl -d 0 white8.png white8.jxl
% cjxl -d 0 white24.png white24.jxl

给予:

% md5sum white8.jxl white24.jxl
68c88befec21604eab33f5e691a2a667 white8.jxl
68c88befec21604eab33f5e691a2a667 white24.jxl

在哪里

% jxlinfo white8.jxl
dimensions: 512x512
have_container: 0
uses_original_profile: 1
bits_per_sample: 8
have_preview: 0
have_animation: 0
intrinsic xsize: 512
intrinsic ysize: 512
orientation: 1 (Normal)
num_color_channels: 3
num_extra_channels: 0
color profile:
format: JPEG XL encoded color profile
color_space: 0 (RGB color)
white_point: 1 (D65)
primaries: 1 (sRGB)
transfer_function: gamma: 0.454550
rendering_intent: 0 (Perceptual)
frame:
still frame, unnamed

我也试过:

% cjxl -d 0 --palette=1024 white24.png palette.jxl

这也给出了:

% md5sum palette.jxl
68c88befec21604eab33f5e691a2a667 palette.jxl

最佳答案

libjxl 编码器要么将 JPEG 比特流作为输入(对于无损 JPEG 重新压缩的特殊情况),要么将像素作为输入。如果这些像素是通过 PPM 文件、PNG8 文件、PNG24 文件、RGB 内存缓冲区或任何其他方式给出的,则没有任何区别,如果像素相同,则结果将相同。

在您的示例中,您有一个纯白色的图像,因此无论您如何将它传递给 cjxl,它都将以相同的方式编码。

现在如果这些像素碰巧只使用很少的颜色,就像 PNG8 的情况一样,因为在这种情况下最多可以有 256 种颜色,编码器(在默认的努力设置下)将检测到这一点并使用 jxl 调色板变换来更紧凑地表示图像。在 jxl 中,调色板可以有任意大小,没有限制为 256 种颜色。 cjxl 中的 --palette 选项可用于设置仍将使用调色板变换的最大颜色数——如果输入图像的颜色多于此数量,则不会使用调色板。

Palette的使用被认为是jxl中的内部编码工具,不属于对外暴露的图片元数据。编码器可以使用它来有效地重新压缩 PNG8 文件,但是当输入为 PNG8 时它并不一定总是使用该编码工具,并且当输入超过 256 种颜色时它也可能使用 Palette。 jxl 的调色板变换非常通用,它也可以应用于单个 channel ,多于或少于 3 个 channel ,调色板条目不仅可以是特定颜色,还可以是所谓的“增量调色板条目”,这不是一种颜色但已添加到预测像素值的带符号像素值。

关于JPEG-XL:在 libjxl 命令行工具中处理调色板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71648073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com