【发布时间】:2011-12-08 15:20:24
【问题描述】:
这是我的 JPEG 图片十六进制内容(我在图片上标记了 FFC4 标记)。如您所见,在字节 0x01 之后有值 0xA2!这怎么可能,因为标准说 0x10 之后的下 16 个字节告诉我们每个长度有多少个代码?不可能有这么多 1 位的代码。我错了吗?
【问题讨论】:
-
仅供参考,您可以将图片直接上传到您的帖子中。干杯~
标签: compression jpeg huffman-code
这是我的 JPEG 图片十六进制内容(我在图片上标记了 FFC4 标记)。如您所见,在字节 0x01 之后有值 0xA2!这怎么可能,因为标准说 0x10 之后的下 16 个字节告诉我们每个长度有多少个代码?不可能有这么多 1 位的代码。我错了吗?
【问题讨论】:
标签: compression jpeg huffman-code
您看到的是霍夫曼块的长度(按大端顺序),以字节为单位(减去 2 以包括长度字段的长度)。
霍夫曼块的长度为 0x1a2 字节。 在长度之后有一个字节表示霍夫曼表信息(表号以及该表是否用于交流或直流系数)
在信息值之后开始读取长度码:
Information Byte = 0x00
Number of length 1 codes = 0
Number of length 2 codes = 0
Number of length 3 codes = 7
...
【讨论】: