ステガノグラフィでは、最下位ビット (LSB) 置換法により、画像ピクセルなどのカバー メディアからのビットの代わりに秘密ビットが埋め込まれます。一部の方法では、画像の離散ウェーブレット変換(DWT) が行われ、秘密ビットが DWT 係数に埋め込まれます。その後、逆変換を使用してステゴ画像が再構築されます。
ただし、DWT は float 係数を生成し、LSB 置換法には整数値が必要です。私が読んだほとんどの論文は 2D Haar Wavelet を使用していますが、その方法論は明確ではありません。ローパスフィルターとハイパスフィルター(フロート変換)、またはペア値の合計と差、または平均と平均差などの観点から変換が定義されているのを見てきました。
より明示的には、順変換または逆変換のいずれかで (ただし、使用される式によっては必ずしも両方であるとは限りません)、最終的に浮動小数点数が表示されます。置換が機能しないため、係数用にそれらを使用することはできません。また、画像はストレージに整数値を必要とするため、再構成されたピクセル用にそれらを使用することもできません。
たとえば、ピクセルのペアを 1D 配列として考えてみましょA
うB
。低周波係数は和、つまり で定義され、高周波係数はs = A + B
差、つまり で定義されd = A - B
ます。B = (s - d) / 2
次に、とを使用して元のピクセルを再構築できA = s - B
ます。ただし、係数を少しいじった後は、s - d
もはや偶数ではない可能性があり、再構成されたピクセルに対して float 値が出現します。
2D の場合、1D 変換は行と列に別々に適用されるため、最終的にどこかで 4 による除算が発生します。これにより、浮動小数点の剰余が .00、.25、.50、および .75 の値になる可能性があります。私は、この問題を扱っている論文を 1 つだけ見つけました。残りの方法論は非常に曖昧であり、私はそれらを再現するのに苦労しています. しかし、DWT はイメージ ステガノグラフィのために広く実装されています。
私の質問は、私が読んだ文献のいくつかは啓発的ではなかったので、どうしてこれが可能になるのでしょうか? float 値を導入する変換をどのように使用できますか?