在隐写术中,最低有效位 (LSB) 替换方法将秘密位嵌入覆盖介质中的位,例如图像像素。在一些方法中,对图像进行离散小波变换(DWT)并将秘密比特嵌入到DWT系数中,然后使用逆变换来重建隐写图像。
但是,DWT 产生浮点系数,对于 LSB 替换方法,需要整数值。我读过的大多数论文都使用 2D Haar Wavelet,但是,他们并不清楚他们的方法。我已经看到变换是根据低通和高通滤波器(浮点变换)定义的,或者取对值的和和差,或者平均差和平均差等。
更明确地说,无论是在正向变换还是在逆变换中(但不一定都取决于所使用的公式),最终会出现浮点数。我不能将它们用于系数,因为替换不起作用,并且我不能将它们用于重建像素,因为图像需要整数值进行存储。
例如,让我们考虑一对像素,A
并B
作为一维数组。低频系数由和定义,即 ,s = A + B
而高频系数由差定义,即d = A - B
。然后我们可以用B = (s - d) / 2
和重建原始像素A = s - B
。然而,在对系数进行任何位旋转之后,s - d
可能不再是甚至重建像素的浮点值。
对于 2D 情况,1D 变换分别应用于行和列,因此最终会在某处发生除以 4。这可能导致浮点余数为 0.00、0.25、0.50 和 0.75 的值。我只遇到过一篇解决这个问题的论文。其余的在他们的方法上非常模糊,我很难复制它们。然而,DWT 已被广泛用于图像隐写术。
我的问题是,由于我读过的一些文献没有启发性,这怎么可能呢?如何使用引入浮点值的转换,而整个隐写术方法需要整数?