我正在编写一个解码器,用于读取jpeg的原始数据流并将其转换为像素值。我正处于构建霍夫曼树的阶段,需要使用它们来解码SOS段之后的图像扫描。我了解解码过程因APPn标记而异,但是我找不到解码过程本身的详细信息。我在基线jpeg中得到了四个独立的AC Huffman树,我感到困惑的是应该使用哪棵树进行解码。这些树似乎具有重叠的值,因此我不能仅将所有树应用于解码过程。因此,假设使用基线编码的jpeg,如何确定用于解码图像扫描的霍夫曼树以及在扫描中将其用于何处?
答案 0 :(得分:0)
这是我所知的唯一信息,可以解释没有学术讨论的过程:
https://www.amazon.com/Compressed-Image-File-Formats-JPEG/dp/0201604434
每次扫描使用一个霍夫曼表。每个只能使用一个。一次扫描可以与另一个共享霍夫曼表。 SOS标记指定要与扫描一起使用的霍夫曼表。