Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Метод квантования изображения




К методам скрытия в пространственной области можно также отнести метод квантования изображения [3, 82], основанный на межпиксельной зависимости, которую можно описать некоторой функцией . В простейшем случае можно вычислить разницу между смежными пикселями ; и (или и ) и задать ее как параметр функции : , где — дискретная аппроксимация разницы сигналов .

Поскольку — целое число, а реальная разница — действительное число, то возникают ошибки квантования . Для сильно коррелированных сигналов эта ошибка близка к нулю: .

При данном методе скрытие информации производится путем корректировки разностного сигнала . Стеганоключ представляет собой таблицу, которая каждому возможному значению ставит в соответствие определенный бит, например:

 

-4 -3 -2 -1          
bi                  

 

Для скрытия i-го бита сообщения вычисляется разница . Если при этом bi, не соответствует секретному биту, который необходимо скрыть, то значение заменяется ближайшим , для которого такое условие выполняется. При этом соответствующим образом корректируются значения интенсивностей пикселей, между которыми вычислялась разница Извлечение секретного сообщения осуществляется согласно значению , соответствующему разнице .

Рассмотрим пример программы, реализующей метод квантования изображения

Шаг1

Исходные данные — стандартные.

Шаг 2

Стеганоключ вычисляем по модулям (М.28) и (М.29). При этом модуль (М.28) возвращает все возможные разницы сигналов (от -255 до +255), а модуль (М 29) — значения бит, соответствующие этим разницам.

 

 

Значения bi в данном случае рассчитываются на основании массива красной цветовой составляющей. При этом для каждой колонки массива R рассчитывается сумма по модулю 2 составляющих ее элементов с булевым прибавлением к результату суммирования единицы при каждом третьем элементе. В конце модуля полученной вектор b расширяется на длину вектора . Таким образом, элементы массива b носят псевдослучайный характер. Фрагменты сформированного стеганоключа показаны на рис. 5.15.

 

           
л-     b=    
    -255      
    -254      
    -253      
    -252      
     
    -2        
    -1      
           
           
           
     
             
           
           
           

 

Рис. 6.15. Фрагменты стеганоключа

Шаг3

Выполним развертывание массива контейнера С (массив синей цветовой составляющей) в вектор, используя модуль (М.16). Зададим стартовый индекс элемента полученного вектора, начиная с которого будет производиться встраивание бит, сообщения (например, ).

Для расчета величины шага (псевдослучайного интервала) используем модуль (М.15). Пусть при этом К:= 8.

Шаг 4

Алгоритм встраивания реализует модуль (М.30). Формирование вектора двоичных данных из строки символов аналогично представленному в (М.21) (при этом, однако, необходимо заменить на ).

Для каждого -го бита сообщения выполняется вычисление индекса z элемента вектора контейнера Cv. Рассчитывается разница между соседними пикселями Cvz и Cvz-1 Внутренним циклом производится поиск соответствующего значения разницы в векторе . В случае обнаружения, переменной присваивается значение индекса i, который соответствует данной разнице в .

Если значение не соответствует текущему биту скрываемого сообщения, то выполняется поиск ближайшего индекса, при котором bi равняется биту сообщения. Поиск производится вниз (L) и вверх (Н) от индекса .

Предварительное присвоение переменным и значения ±1000 обеспечивает невозможность дублирования предыдущих значений , если движение вниз или вверх от не привело к выполнению поставленного условия (последнее возможно при нахождении индекса слишком близко к нижней или верхней границе вектора b). После того как значения и найдены, выбирается то из них, которое ближе к начальному значению .

Интенсивность пикселя контейнера Svz равна увеличенной на величину интенсивности смежного пикселя Svz-1. Если данное увеличение приводит к выходу значения интенсивности цвета за пределы диапазона [0; 255], то, наоборот, интенсивности смежного пикселя Svz-1 присваивается значение интенсивности пикселя Svz, уменьшенной на величину ). После встраивания последнего бита сообщения внешний цикл прерывается.

Проводим обратное свертывание вектора Sv в матрицу, имеющую размерность первичного массива С (М.7). Получаем массив S.

 

 

Шаг 5

При извлечении сообщения предварительно формируется стеганоключ — векторы и b*. Программные модули при этом.идентичны (М.28) и (М.29). Массив контейнера S* развертывается в лектор Sv* (подобно (М. 16)).

Шаг 6

Модуль извлечения (М.31) вычисляет разницу интенсивностей смежных пикселей Sv*z и Sv*z-1 и выполняет поиск соответствующей разницы в кодовой таблице .

Значение бита , соответствующее данной разнице, присваивается текущему элементу вектора М *. В конце модуля вектор двоичных данных преобразуется к символьную строку. Полученные при вычислении визуального искажения результаты сведены в табл. 5.1 (стр. 125).





Поделиться с друзьями:


Дата добавления: 2015-10-19; Мы поможем в написании ваших работ!; просмотров: 1163 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2286 - | 2109 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.