包含多个 DHT 标记的 JPEG

JPEG containing multiple DHT marker

我有一个包含多个 DHT 标记的 JPEG 文件。规范允许吗? 如果允许,那么我应该使用哪个 DHT 标记来定义 huffman table?

查看DHT标记的定义。它以标记的长度开始。接下来是标识 table 是 AC 还是 DC table 的 4 位字段以及 table 的数字标识符。接下来是 table 中的符号数,然后是符号。

如果读完符号还没有用完长度,就循环读下一个table,格式相同。将所有 table 放在一个 DHT 标记中更为常见,但选择取决于编码器。

帧开始标记将分量映射到 Huffman table 按编号。选择由 SOF 标记指定的 tables。对于彩色图像,您可能需要使用多达 6 个 Huffman tables 来解码。

如果 table 已损坏,则流已损坏并且您是 SOL。