W steganografii metoda least significant bit (LSB) substitution osadza tajne bity w miejscu bitów z nośnika pokrycia, na przykład piksele obrazu. W niektórych metodach jest pobierane Discrete Wavelet Transform (DWT) obrazu, a tajne bity są osadzone w współczynnikach DWT, po czym odwrotna transformata jest używana do rekonstrukcji obrazu stego.W jaki sposób DWT może być użyty w steganografii zastępującej LSB
Jednak DWT generuje współczynniki zmiennoprzecinkowe, a dla metody podstawiania LSB wymagane są wartości całkowite. Większość artykułów, które przeczytałem, używa 2D Haar Wavelet, ale nie są one jasne co do ich metodologii. Widziałem, że transformacja jest zdefiniowana w kategoriach filtrów dolno- i górnoprzepustowych (transformaty zmiennoprzecinkowe) lub biorąc pod uwagę sumę i różnicę wartości par lub średnią i różnicę średnią, itp.
Dokładniej, albo w forward lub odwrotna transformacja (ale niekoniecznie w obu, w zależności od użytych formuł), pojawią się ostatecznie liczby zmiennoprzecinkowe. Nie mogę mieć ich dla współczynników, ponieważ podstawienie nie zadziała i nie mogę mieć ich dla zrekonstruowanych pikseli, ponieważ obraz wymaga wartości całkowitych do przechowywania.
Na przykład rozważmy parę pikseli, A
i B
jako tablicę 1D. Współczynnik niskiej częstotliwości jest określony przez sumę, tj. s = A + B
, a współczynnik wysokiej częstotliwości przez różnicę, tj. d = A - B
. Możemy następnie zrekonstruować oryginalne piksele za pomocą B = (s - d)/2
i A = s - B
. Jednak po jakimkolwiek pomieszaniu ze współczynnikami, s - d
może już nie być i pojawią się wartości zmiennoprzecinkowe dla zrekonstruowanych pikseli.
Dla przypadku 2D transformacja 1D jest stosowana oddzielnie dla wierszy i kolumn, więc w końcu gdzieś wystąpi podział na 4. Może to spowodować wartości z resztami zmiennoprzecinkowymi .00, .25, .50 i .75. Znalazłem tylko one paper, który rozwiązuje ten problem. Reszta jest bardzo ogólnikowa w ich metodologii i staram się je odtworzyć. Jednak DWT został szeroko wdrożony do steganografii obrazu.
Moje pytanie brzmi, ponieważ niektóre z literatury, które przeczytałem, nie były pouczające, jak to możliwe? W jaki sposób można użyć transformacji, która wprowadza wartości zmiennoprzecinkowe, ale cała metoda steganograficzna wymaga liczb całkowitych?