【发布时间】:2010-12-06 12:56:51
【问题描述】:
以下块由霍夫曼块标记嵌套
-HUFF---------------------------------------------------------------------0084-
10 0 1 2 4 3 4 6 5 6 8 a 9 4 2 3
0 1 2 11 0 3 4 21 5 12 31 6 41 51 61 13
22 71 81 91 a1 14 32 b1 d1 f0 15 23 35 42 b2 c1
7 16 24 33 52 72 73 e1 25 34 43 53 62 74 82 94
a2 f1 26 44 54 63 64 92 93 c2 d2 55 56 84 b3 45
83 46 a3 e2
-------------------------------------------------------------------------------
0084是表格的长度,为整数,此处不包含在块中
根据 JPEG 标准,第一个地址显然使其成为目标 0 (0x10) 处的 AC 表
显然从那里开始它是一张霍夫曼表。
那么,它是如何解码的呢?
【问题讨论】:
-
“0084 是表格的整数长度” - 您的意思是十进制整数(以 10 为基数)。所有这些数字都是整数。长度最初是 0x0054 - 一个十六进制整数 - 您为我们将其转换为十进制。
-
我的笔记应该很明显的是,这是使用
stdio.h的printf函数中的格式说明符打印的,该函数包含%04i,它是带前导零的有符号整数的说明符和至少四个数字。 -
我同意,如果人们习惯于将整数的概念等同于整数小数的概念,那一定是显而易见的。在字节海的上下文中,表示以十六进制编写的(整数)数字,并且在实际 DHT 将具有相同长度的位置,它本身表示为与其余数据格式相同的两个字节,它不太明显。
-
(在 DHT 中,表格的长度是表格数据之前的两个字节。)
标签: c compression jpeg huffman-code