Как можно использовать DWT в стеганографии с заменой LSB?
В стеганографиизамена младшего значащего бита (LSB) Метод внедряет секретные биты вместо битов из носителя покрытия, например, пикселей изображения. В некоторых методахДискретное вейвлет-преобразование (DWT) изображения берется, и секретные биты встраиваются в коэффициенты DWT, после чего обратная форма преобразования используется для восстановления стего-изображения.
Однако DWT создает коэффициенты с плавающей запятой, и для метода замены LSB требуются целочисленные значения. В большинстве статей, которые я читал, используется 2D-вейвлет Хаара, но они не совсем понимают свою методологию. Я видел преобразование, определяемое в терминах фильтров нижних и верхних частот (преобразования с плавающей запятой), или взятие суммы и разности значений пары, или средней и средней разности и т. Д.
Более явно, в прямом или обратном преобразовании (но не обязательно в обоих в зависимости от используемых формул) в конце концов появятся числа с плавающей точкой. У меня не может быть их для коэффициентов, потому что замена не будет работать, и у меня не может быть их для восстановленных пикселей, потому что изображение требует целочисленных значений для хранения.
Например, давайте рассмотрим пару пикселей,A
а такжеB
как одномерный массив. Низкочастотный коэффициент определяется суммой, т.е.s = A + B
и высокочастотный коэффициент по разности, т.е.d = A - B
, Затем мы можем восстановить исходные пиксели сB = (s - d) / 2
а такжеA = s - B
, Тем не менее, после того, как любой бит вертится с коэффициентами,s - d
может даже не быть и значения с плавающей точкой появятся для восстановленных пикселей.
Для двумерного случая 1D-преобразование применяется отдельно для строк и столбцов, поэтому в конечном итоге где-то произойдет деление на 4. Это может привести к значениям с остатками с плавающей точкой .00, .25, .50 и .75. Я только сталкивалсяодна бумага который решает эту проблему. Остальные очень расплывчаты в своей методологии, и я изо всех сил стараюсь их воспроизвести. Тем не менее, DWT широко применяется для стеганографии изображений.
Мой вопрос таков: поскольку некоторая литература, которую я читал, не была поучительной, как это возможно? Как можно использовать преобразование, которое вводит значения с плавающей точкой, но весь метод стеганографии требует целых чисел?