我对霍夫曼代码有些困惑。因此,当我阅读这些书时,它指出在曲折排序之后,它将是游程长度编码和游程长度的霍夫曼编码。我有3个问题: 1)是否有必要同时进行游程长度编码和霍夫曼编码,还是仅对整个图像进行霍夫曼编码(灰度)。我的意思是像我可以只扫描8x8块并计算字符出现的频率,然后创建代码字。 2)如果我对每个块使用游程编码,那么霍夫曼也用于8x8的每个块,否则我必须扫描整个图像。 3)在书中指出,我们可以仅使用附件K中的表K.3和表K.5进行DC和AC系数编码。我不能使用这些表并根据问题2的理论来生成我自己的表,我也感到困惑。 谢谢你帮我 这是附件K的链接 https://www.w3.org/Graphics/JPEG/itu-t81.pdf
答案 0 :(得分:0)
您可以像您所说的那样进行压缩,但它不是JPEG。在JPEG中,编码过程相当复杂。它不是真正的霍夫曼值编码。它是霍夫曼指令在零游程中的编码,以及必须读取的其他原始位的数量。
1)是否需要同时进行游程长度编码和霍夫曼编码,还是仅对整个图像(灰度)进行霍夫曼编码。
要使其成为JPEG流,必须同时进行。
2)2)如果我对每个块使用游程编码,那么霍夫曼也用于8x8的每个块,否则我必须扫描整个图像。
某些编码器会这样做,以生成最佳的霍夫曼表。
3)在书中指出,我们可以仅使用附件K中的表K.3和表K.5进行DC和AC系数编码。我不能使用这些表并根据我也感到困惑的问题2的理论来生成自己的表。
某些编码器这样做是为了避免必须对DCT数据进行两次遍历才能生成霍夫曼表。