-1

我有一个灰度图像。我做了 8x8 块并计算了它们的每个 DCT。我想量化 DCT 系数,然后用我的秘密消息位替换它们的 LSB。我究竟如何量化系数?我应该使用JPEG使用的量化矩阵吗?如何确定这样一个量化矩阵的值?

4

1 回答 1

1

您可能希望将质量级别设置为最高(量化矩阵中的最小值),以便每个系数的修改后的 LSB 对图像数据的干扰最小。

对于编码:
您需要在量化之后和熵编码之前访问 DCT 值。在那里您可以修改 LSB。您可能应该只修改非零系数值,否则您将使压缩图像文件更大且更失真。这样,您可能能够对每个 DCT 块编码 20-30 位。

对于解码:
您需要在熵解码之后和去量化步骤之前立即执行相反的操作并访问 DCT 值。

要计算您的消息可用的总位数,请使用以下示例:

对于 VGA 大小的图像 (640x480),编码为 4:2:0(两个维度上的二次采样颜色),您将拥有 40 x 30 = 1200 个 MCU。每个 MCU 有 6 个 DCT 块(4Y、1Cr、1Cb)。总共有 7200 个 DCT 块。如果每个块平均编码 25 个系数(合理的质量水平),那么您的消息总共可以是 7200x25 = 180000 位。

于 2012-06-04T20:25:58.080 回答