当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'字节是 填入代码字符串。如果在a之后检测到X'00'字节 X'FF'字节,解码器必须丢弃它。如果字节不为零,则a 已经检测到标记,并且应该在一定程度上进行解释 需要完成扫描的解码。
标记的字节对齐 通过用1位填充不完整的字节来实现。如果填充 1位创建一个X'FF'值,在添加之前填充零字节 标记
答案 0 :(得分:1)
压缩数据流中只有两种可能的FF值。
如果要解码流,您将从重启间隔知道何时需要重启标记。当您在解码中找到重新开始标记的位置时,您将丢弃当前字节中的其余位。