【发布时间】:2015-01-14 17:57:23
【问题描述】:
当decoding entropy encoded DC values in JPEG(或entropy encoded prediction differences in lossless JPEG)时,如何区分1 位已被填充以在标记前填充一个字节和霍夫曼编码值?
例如,如果我看到:
0xAF 0xFF 0xD9
并且我已经消耗了[0xA] 中的位,我如何判断下一个0xF 是填充还是应该解码?
这是来自 JPEG 规范:
F.1.2.3 字节填充
为了给标记代码提供代码空间 无需解码即可位于压缩图像数据中, 使用字节填充。
每当在正常编码过程中, 字节值 X'FF' 在代码字符串中创建,一个 X'00' 字节是 塞进代码串。如果一个 X'00' 字节后检测到 X’FF’字节,解码器必须丢弃它。如果字节不为零,则 标记已被检测到,并应解释为 需要完成扫描的解码。
标记的字节对齐 通过用 1 位填充不完整的字节来实现。如果填充 1 位创建一个 X'FF' 值,在添加之前填充一个零字节 标记。
【问题讨论】:
标签: jpeg huffman-code