0

我正在研究能够压缩图像的 DCT 实现。我被困在我得到 DCT 8x8 块的值的地方。8x8 块的值存储在数组中。这些数组存储在包含所有数组的父数组中(但这并不重要)。

我的问题是如何编码这些值并将它们写入二进制文件。我正在尝试创建尽可能小的文件。以下数组是 8x8 DCT 块的示例。

    843 -111 0 0 0 0 32 0 0 0 0 0 0  0 0  -15 
     0    0  0 0 0 0 0  0 0 0 0 0 15 0 0   0 
     0    0  0 0 0 0 0  0 0 0 0 0 0  0 0   0 
     0    0  0 0 0 0 0  0 0 0 0 0 0  0 0   0

如何编码?

4

1 回答 1

1

JPEG 压缩标准从低频分量开始以锯齿形方式对 DCT 系数进行编码。由于较高频率的系数通常为零,因此它们被简单地省略了。如果我没记错的话,然后使用霍夫曼编码来进一步压缩数据。

您可以在这里使用类似的东西,还是在您的情况下零系数分布不同?如果是这样,也许游程编码会更好。

于 2013-11-01T21:14:05.410 回答