我正在编写一个 JPEG 文件解码器来了解 JPEG 文件的工作原理。在研究指定 JPEG 的 ITU-T81 时,我遇到了以下有关量化表的
DQT
段的问题:
在许多 JPEG 片段中,都有一个
n
参数,您可以从片段中读取该参数,该参数指示后续项目有多少次迭代。然而,在 DQT 的情况下,它只是说“倍数”,并没有定义有多少倍数。人们可能可以从 Lq
推断出来,但与其他部分相比,这个倍数的定义方式有点反常。
对于熟悉此规范的任何人来说,确定 (
n
, Pq
, Tq
..Q0
) 应该有多少倍数或 Q63
的正确方法是什么?
取长度字段(LQ),减去Pq/Tq字段的长度(如果我记得是一个字节),那就是N。
看标准的时候,我也有点困惑。
如果我正确理解该标准,则没有明确指定
n
。相反,您首先阅读 (Pq
, Tq
, Q0
..Q63
)。如果您位于通过 Lq
定义的段的末尾,则在阅读完这些内容后,将不再有表格。如果您没有读到该部分的末尾,请再次阅读 (Pq
, Tq
, Q0
..Q63
)。重复此操作,直到最终到达该段的末尾。