JPEG压缩:实现霍夫曼编码

时间:2020-06-12 13:33:59

标签: image-processing encoding jpeg huffman-code

我正在实现JPEG编码器,该编码器应该支持一种JPEG格式:

  • 基准JPEG
  • 3个通道(Y,Cr,Cb)
  • 4:2:0二次采样
  • 交错模式

我完成了第一步(颜色转换,二次采样,DCT,量化和之字形重新排序),现在我陷入了霍夫曼编码。

说我有一个非常小的图像,它是32x16像素。这将导致两个MCU,每个MCU的编码如下: enter image description here

在霍夫曼编码之前,有两个MCU我的值数组如下:

geom_bar

每个单元由1个DC值和63个AC值组成。

我正在努力将霍夫曼编码应用于这些值。据我所知,在实际霍夫曼编码之前,DPCM应用于直流值,而RLE应用于交流值。但这是JPEG中使用的经过修改的霍夫曼编码的内部步骤,还是可以在之前进行一些实际的预处理?

还需要对每个8x8块彼此独立编码吗?还是将所有DC值组合成一个流,将所有AC值组合成另一个流,然后将RLE应用于多个8x8 AC块?

0 个答案:

没有答案