Цифровая стеганография

Грибунин Вадим Геннадьевич

Оков Игорь Николаевич

Туринцев Игорь Владимирович

5. СКРЫТИЕ ДАННЫХ В НЕПОДВИЖНЫХ ИЗОБРАЖЕНИЯХ

 

 

Большинство исследований посвящено использованию в качестве стегоконтейнеров изображений. Это обусловлено следующими причинами:

— существованием практически значимой задачей защиты фотографий, картин, видео от незаконного тиражирования и распространения;

— относительно большим объемом цифрового представления изображений, что позволяет внедрять ЦВЗ большого объема либо повышать робастность внедрения;

— заранее известным размером контейнера, отсутствием ограничений, накладываемых требованиями реального времени;

— наличием в большинстве реальных изображений текстурных областей, имеющих шумовую структуру и хорошо подходящих для встраивания информации;

— слабой чувствительностью человеческого глаза к незначительным изменениям цветов изображения, его яркости, контрастности, содержанию в нем шума, искажениям вблизи контуров;

— хорошо разработанными в последнее время методами цифровой обработки изображений.

Надо отметить, что последняя причина вызывает и значительные трудности в обеспечении робастности ЦВЗ: чем более совершенными становятся методы сжатия, тем меньше остается возможностей для встраивания посторонней информации. Развитие теории и практики алгоритмов сжатия изображений привело к изменению представлений о технике внедрения ЦВЗ. Если первоначально предлагалось вкладывать информацию в незначащие биты для уменьшения визуальной заметности, то современный подход заключается во встраивании ЦВЗ в наиболее существенные области изображений, разрушение которых приведет к полной деградации самого изображения. Не случайно поэтому стегоалгоритмы учитывают свойства системы человеческого зрения (СЧЗ), аналогично алгоритмам сжатия изображений. В стегоалгоритмах зачастую используются те же преобразования, что и в современных алгоритмах сжатия (дискретное косинусное преобразование в JPEG, вейвлет-преобразование в JPEG2000). При этом существуют, очевидно, три возможности. Вложение информации может производиться в исходное изображение, либо одновременно с осуществлением сжатия изображения-контейнера, либо в уже сжатое алгоритмом JPEG изображение. Поэтому в пункте 5.1 рассмотрены свойства человеческого зрения и их учет в алгоритмах сжатия изображений.

Выполнение линейных ортогональных преобразований изображений — вычислительно трудоемкий процесс, несмотря на наличие быстрых алгоритмов. Поэтому, в некоторых случаях можно ограничиться встраиванием информации в пространственной области изображения. Этот исторически первым появившийся метод рассмотрен в пункте 5.2 на примере нескольких интересных алгоритмов. Более эффективные стегоалгоритмы, реализующие внедрение ЦВЗ в области преобразования, рассмотрены в пункте 5.3.

 

5.1. Человеческое зрение и алгоритмы сжатия изображений

 

5.1.1. Какие свойства зрения нужно учитывать при построении стегоалгоритмов

Свойства СЧЗ можно разделить на две группы: низкоуровневые («физиологические») и высокоуровневые («психофизиологические»). Вплоть до середины 90-х годов исследователи принимали во внимание, главным образом, низкоуровневые свойства зрения. В последние годы наметилась тенденция построения стегоалгоритмов с учетом и высокоуровневых характеристик СЧЗ.

Выделим три наиболее важных низкоуровневых свойства, влияющих на заметность постороннего шума в изображении: чувствительность к изменению яркости изображения, частотная чувствительность и эффект маскирования.

Чувствительность к изменению яркости можно определить следующим образом [1]. Испытуемому показывают некоторую однотонную картинку (рис. 5.1(а)). После того, как глаз адаптировался к ее освещенности I, «настроился на нее», постепенно изменяют яркость вокруг центрального пятна. Изменение освещенности ΔI продолжают до тех пор, пока оно не будет обнаружено. На рис. 5.1(б) показана зависимость минимального контраста ΔI/I от яркости I (для удобства мы поменяли привычное расположение осей). Как видно из рисунка, для среднего диапазона изменения яркости, контраст примерно постоянен (аналогия с кратномасштабным анализом и вейвлетами!), тогда как для малых и больших яркостей значение порога неразличимости возрастает. Было установлено, что ΔI ≈ 0.01 — 0.03I для средних значений яркости.

Рис. 5.1. Чувствительность к контрасту и порог неразличимости ΔI

Интересно заметить, что результаты новейших исследований противоречат «классической» точке зрения и показывают, что при малых значениях яркости СЧЗ порог неразличимости уменьшается, то есть СЧЗ более чувствительна к шуму в этом диапазоне.

Частотная чувствительность СЧЗ проявляется в том, что человек гораздо более восприимчив к низкочастотному (НЧ), чем к высокочастотному (ВЧ) шуму. Это связано с неравномерностью амплитудно-частотной характеристики системы зрения человека. Экспериментально ее можно определить при помощи того же опыта, что и при яркостной чувствительности. Но на этот раз в центральном квадрате изменяются пространственные частоты до тех пор, пока изменения не станут заметными.

Элементы СЧЗ разделяют поступающий видеосигнал на отдельные компоненты. Каждая составляющая возбуждает нервные окончания глаза через ряд подканалов. Выделяемые глазом компоненты имеют различные пространственные и частотные характеристики, а также различную ориентацию (горизонтальную, вертикальную, диагональную) [2]. В случае одновременного воздействия на глаз двух компонентов со сходными характеристиками возбуждаются одни и те же подканалы. Это приводит к эффекту маскирования, заключающегося в увеличении порога обнаружения видеосигнала в присутствии другого сигнала, обладающего аналогичными характеристиками. Поэтому, аддитивный шум гораздо заметнее на гладких участках изображения, чем на высокочастотных, то есть в последнем случае наблюдается маскирование. Наиболее сильно эффект маскирования проявляется, когда оба сигнала имеют одинаковую ориентацию и местоположение.

Можно показать, что частотная чувствительность тесно связана с яркостной. Известно также и выражение для определения порога маскирования на основе известной яркостной чувствительности, что позволяет найти метрику искажения изображения, учитывающую свойства СЧЗ. Такого типа математические модели хорошо разработаны для случая квантования коэффициентов дискретного косинусного преобразования изображения, так как именно оно применяется в стандарте JPEG.

Эффект маскирования в пространственной области может быть объяснен путем построения стохастических моделей изображения. При этом изображение представляется в виде марковского случайного поля, распределение вероятностей которого подчиняется, например, обобщенному гауссовскому закону.

Таким образом, можно предложить следующую обобщенную схему внедрения данных в изображение:

1. Выполнить фильтрацию изображения при помощи ориентированных полосовых фильтров. При этом получим распределение энергии по частотно-пространственным компонентам.

2. Вычислить порог маскирования на основе знания локальной величины энергии.

3. Масштабировать значение энергии внедряемого ЦВЗ в каждом компоненте так, чтобы оно было меньше порога маскирования.

Многие алгоритмы встраивания информации, как мы увидим, так или иначе используют эту схему.

Высокоуровневые свойства СЧЗ пока редко учитываются при построении стегоалгоритмов. Их отличием от низкоуровневых является то, что эти свойства проявляются «вторично», обработавший первичную информацию от СЧЗ мозг выдает команды на ее «подстройку» под изображение. Перечислим основные из этих свойств.

1. Чувствительность к контрасту. Высококонтрастные участки изображения, перепады яркости обращают на себя значительное внимание.

2. Чувствительность к размеру. Большие участки изображения «заметнее» меньших размером. Причем существует порог насыщения, когда дальнейшее увеличение размера не существенно.

3. Чувствительность к форме. Длинные и тонкие объекты вызывают большее внимание, чем круглые однородные.

4. Чувствительность к цвету. Некоторые цвета (например, красный) «заметнее» других. Этот эффект усиливается, если фон заднего плана отличается от цвета фигур на нем.

5. Чувствительность к местоположению. Человек склонен в первую очередь рассматривать центр изображения.

6. Люди обычно внимательнее к изображениям переднего плана, чем заднего.

7. Если на изображении есть люди, в первую очередь человек обратит свое внимание на них. На фотографии человек обращает первоочередное внимание на лицо, глаза, рот, руки.

8. Чувствительность к внешним раздражителям. Движение глаз наблюдателя зависит от конкретной обстановки, от полученных им перед просмотром или во время него инструкций, дополнительной информации.

 

5.1.2. Принципы сжатия изображений

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

— пространственная, или корреляция между соседними пикселами;

— спектральная, или корреляция между соседними частотными полосами;

— временная, или корреляция между соседними кадрами (для видео).

Велика ли статистическая избыточность в неподвижном изображении? Для ответа на этот вопрос попробуйте сжать картинку каким-либо архиватором — результаты вас разочаруют. Высокие коэффициенты сжатия достижимы лишь с использованием психовизуальной избыточности изображения, то есть пренебрежения его визуально незначимыми частями. И тут уж не обойтись без знания системы человеческого зрения. «Выброшенные» части изображения заменяют нулями (константами), и если их много — применяют кодер длин серий. В реальных алгоритмах сжатия осуществляют обнуление не пикселов изображения, а спектральных коэффициентов. Преимущество такого подхода заключается в том, что близкие к нулю спектральные коэффициенты имеют тенденцию располагаться в заранее предсказуемых областях, что приводит к появлению длинных серий нулей и повышению эффективности кодирования. Большие по величине коэффициенты («значимые») подвергают более или менее точному квантованию и также сжимают кодером длин серий. Последним этапом алгоритма сжатия является применение энтропийного кодера (Хаффмана или арифметического).

Восстановленное после сжатия изображение, естественно, отличается от исходного. При прочих равных условиях, чем больше сжатие, тем больше искажение. Для оценки качества восстановленного изображения можно использовать меру среднеквадратического искажения, определяемую как

, (5.1)

где N — число пикселов в изображении, — значение пикселов исходного и восстановленного изображений. Гораздо чаще применяется модификация этой меры — пиковое отношение сигнал/шум, определяемое как

, (5.2)

где 255 — максимальное значение яркости полутонового изображения (т. е. 8 бит/пиксел). Восстановленное изображение считается приемлемым, если ПОСШ >= 28–30 дБ (в среднем). Перечисленные объективные меры искажения не всегда коррелируют с субъективным восприятием изображений, однако ничего лучшего до сих пор не придумано.

ПОСШ не всегда хорошо согласуется с визуально наблюдаемой ошибкой. Пусть имеется два изображения, которые полностью одинаковы, кроме небольшой области. Хотя визуально разность между этими изображениями хорошо заметна, ПОСШ будет примерно одинаковым. Учет системы человеческого зрения в схеме сжатия является трудной задачей. Было проведено множество исследований, но в силу трудностей с математическим описанием системы зрения человека более подходящей меры найдено не было.

Выше было показано, что в человеческом глазу выполняется операция кратномасштабного представления изображений. Глаз более чувствителен к искажениям в низкочастотной области. Отсюда существует возможность улучшения визуального качества реконструированного изображения путем взвешивания СКО субполос в соответствии с чувствительностью глаза в различных частотных диапазонах.

Процесс внедрения скрываемой информации в изображения в каком-то смысле дуален процессу их сжатия. Встраивание информации зачастую осуществляют в незначащие области, чтобы не изменить визуальное представление изображения. Оптимальный метод сжатия удалит эту информацию. К счастью, современные алгоритмы сжатия оставляют достаточно возможностей для реализации утонченных способов внедрения данных.

Рассмотрим вкратце некоторые алгоритмы сжатия изображений. Далее мы увидим, что при встраивании ЦВЗ в основном используются те же подходы.

Стандарт сжатия JPEG является в настоящее время наиболее распространенным и своеобразным «benchmark`ом» для алгоритмов ЦВЗ (то есть устойчивость системы ЦВЗ к сжатию JPEG проверяется обычно в первую очередь). В соответствии с этим стандартом изображение разбивается первоначально на блоки 8х8 элементов, к каждому из которых применяется дискретное косинусное преобразование (ДКП). Назначением ДКП является осуществление перераспределения энергии: значимые коэффициенты группируются в левом верхнем углу квадрата спектральных коэффициентов, так как соседние пикселы изображения коррелированы. Далее следуют равномерное табличное квантование коэффициентов, кодирование длин серий и кодирование Хаффмана.

В последние годы внимание специалистов в области эффективного кодирования привлечено к сжатию изображений с применением вейвлет-преобразования. В данном направлении ведутся активные исследования и уже получены первые результаты, показывающие эффективность применения вейвлет-преобразования для сжатия изображений. Разработано большое количество алгоритмов сжатия с использованием этого преобразования.

Вейвлет-преобразование, также как и ДКП перераспределяет энергию изображения. Эта компактность энергии ведет к эффективному применению скалярных квантователей. Однако они не учитывают остаточную структуру, сохраняющуюся в вейвлет-коэффициентах, в особенности высокочастотных субполос. Современные алгоритмы сжатия все тем или иным образом используют эту структуру для повышения эффективности сжатия.

Одним из наиболее естественных способов является учет взаимосвязей между коэффициентами из различных субполос. В высокочастотных субполосах имеются обычно большие области с нулевой или малой энергией. Области с высокой энергией повторяют от субполосы к субполосе свои очертания и местоположение. И это неудивительно — ведь они появляются вокруг контуров в исходном изображении — там, где вейвлет-преобразование не может адекватно представить сигнал, что приводит к «утечке» части энергии в ВЧ субполосы. Медленно изменяющиеся, гладкие области исходного изображения хорошо описывают НЧ вейвлет-базисы, что приводит к «упаковке» энергии в малом числе коэффициентов НЧ области. Этот процесс примерно повторяется на всех уровнях декомпозиции, что и приводит к визуальной «похожести» различных субполос.

Рис. 5.2. Зависимости между коэффициентами вейвлет-преобразования изображения, используемые в алгоритме нульдерева

Итак, априорное знание того, что изображение состоит из гладких областей, текстур и контуров, помогает учитывать эту межполосную структуру. Кодеры, использующие структуру нульдерева, сочетают учет структуры коэффициентов с совместным кодированием нулей, в результате чего получается очень эффективный алгоритм сжатия.

Впервые идея нульдерева была предложена в работе [3]. В их алгоритме применялась древовидная структура данных для описания вейвлет-коэффициентов (см. рис. 5.2).

Такая структура получается в результате применения двухканального разделимого вейвлет-преобразования. Корневой узел дерева представляет коэффициент масштабирующей функции в самой НЧ области и имеет три отпрыска. Узлы дерева соответствуют вейвлет-коэффициентам масштаба, равного их высоте в дереве. Каждый из узлов имеет четыре отпрыска, соответствующих вейвлет-коэффициентам следующего уровня и того же пространственного расположения. Низом дерева являются листьевые узлы, не имеющие отпрысков.

Для каждого из коэффициентов самой НЧ области существует три таких дерева, соответствующих трем порядкам фильтрации.

Квантование нульдеревом основано на наблюдении, что если коэффициент мал, его отпрыски на дереве зачастую тоже малы. Это объясняется тем, что значимые коэффициенты возникают вблизи контуров и текстур, которые локальны. Нетрудно увидеть, что это является разновидностью предсказания. Можно предположить, что если какой-либо коэффициент незначимый, то все его потомки также будут незначимыми. Дерево или субдерево, которое содержит (по крайней мере, так предполагается) только незначимые коэффициенты, называется нульдеревом.

В работе [3] был предложен следующий алгоритм квантования вейвлет-коэффициентов. Вначале каждый узел квантуется квантователем, оптимальным для плотности распределения Лапласа. Если значение узла меньше некоторого порога, его потомки игнорируются. Эти потомки будут восстановлены декодером как нули. Иначе осуществляется переход к четырем отпрыскам узла, и процедура повторяется. Если узел не имеет отпрысков (является листом), начинает обрабатываться следующий корневой узел и т. д.

Данный алгоритм является эффективным в силу двух причин. Во-первых, в силу хорошей «упаковки» энергии вейвлет-преобразованием и, во-вторых, за счет совместного кодирования нулей. Для кодирования нулей обычно применяется кодер длин серий. Для повышения эффективности на вход этого кодера коэффициенты должны подаваться в определенном порядке. Например, в JPEG применено зигзагообразное сканирование. Наверное, наиболее важным вкладом этой работы была демонстрация того, что область вейвлет-коэффициентов прекрасно приспособлена для работы кодера длин серий. В самом деле, генерируются большие серии нулей и не надо передавать их длину, так как высота дерева известна. Аналогично JPEG, данный алгоритм является разновидностью скалярного/векторного квантования. Каждый (значимый) коэффициент квантуется отдельно, а символы, соответствующие малым коэффициентам, образуют вектор. Этот вектор состоит из символа нульдерева и последовательности нулей длиной до конца дерева.

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

Одна из составляющих связана с «обнулением» коэффициентов, не превосходящих некоторый порог, другая — с квантованием больших коэффициентов («значимых») и передачей их местоположения. Эффективность алгоритма сжатия зависит от правильного определения порога принятия решения о значимости коэффициентов, а также от выбранного способа квантования значимых коэффициентов и от метода передачи информации об их местоположении.

Для передачи информации о позициях значимых коэффициентов известен исключительно эффективный алгоритм «вложенного нульдерева» (EZW) [4], а также его разновидности — SPIHT [5] и другие.

Стандарт JPEG хорошо пригоден для сжатия изображений в 30–40 раз. При более сильном сжатии качество резко падает. Эта и множество других причин послужило причиной разработки нового стандарта на сжатие изображений — JPEG-2000. В новом стандарте реализованы такие опции, как последовательная передача, кодирование конкретного интересующего блока изображения, его масштабируемость, защищенность от ошибок передачи, произвольный доступ к сжатому изображению. В стандарте JPEG-2000 в качестве первичного преобразования применяется вейвлет-преобразование. Вейвлет-коэффициенты подвергаются квантованию по алгоритму, известному как «иерархическое кодирование блоков с оптимизированным усечением» (EBCOT), предложенному в работе [6]. Основное отличие этого алгоритма от EZW и SPIHT заключается в том, что EBCOT работает с независимыми неперекрывающимися блоками, которые кодируются итеративно. Таким образом вместо структуры данных нульдерева здесь используется структура квадродерева. В результате получается многоуровневый легко масштабируемый поток бит. Каждый уровень соответствует какой-то степени искажения. Распределение бит между уровнями осуществляется решением оптимизационной задачи с применением метода множителей Лагранжа [7].

В стеганографии используется много идей из области компрессии изображений. Кроме того, знание алгоритмов сжатия видео помогает конструировать робастные к этим алгоритмам ЦВЗ.

 

5.2. Скрытие данных в пространственной области

Алгоритмы, описываемые в данном пункте, внедряют ЦВЗ в области исходного изображения. Их преимуществом является то, что для внедрения ЦВЗ нет необходимости выполнять вычислительно громоздкие линейные преобразования изображений. ЦВЗ внедряется за счет манипуляций яркостью или цветовыми составляющими .

А1. (Kutter[8]). Пусть изображение имеет RGB-кодировку. Встраивание выполняется в канал синего цвета, так как к синему цвету система человеческого зрения наименее чувствительна. Рассмотрим алгоритм передачи одного бита секретной информации.

Пусть si - встраиваемый бит, I = {R,G,B} — контейнер, p = (x,y) — псевдослучайная позиция, в которой выполняется вложение. Секретный бит встраивается в канал синего цвета путем модификации яркости :

, (5.3)

где q — константа, определяющая энергию встраиваемого сигнала. Ее величина зависит от предназначения схемы. Чем больше q, тем выше робастность вложения, но тем сильнее его заметность.

Извлечение бита получателем осуществляется без наличия у него исходного изображения, то есть вслепую. Для этого выполняется предсказание значения исходного, немодифицированного пиксела на основании значений его соседей. В работе [8] предлагается для получения оценки пиксела использовать значения нескольких пикселов, расположенных в том же столбце и той же строке. Авторы использовали «крест» пикселов размером 7х7. Оценка получается в виде

, (5.4)

где c — число пикселов сверху (снизу, слева, справа) от оцениваемого пиксела (c = 3). Так как в процессе встраивания ЦВЗ каждый бит был повторен cr раз, то мы получим cr оценок одного бита ЦВЗ. Секретный бит находится после усреднения разности оценки пиксела и его реального значения

. (5.5)

Знак этой разности определяет значение встроенного бита.

Можно ли гарантировать всегда верное определение значения секретного бита? Нет, так как функция извлечения бита не является обратной функции встраивания. Для повышения надежности необходимо применение дополнительных мер.

В работе [8] рассмотрена также и модификация данного алгоритма для встраивания нескольких бит. Показано, что алгоритм является робастным ко многим из известных атак: низкочастотной фильтрации изображения, его сжатию в соответствии с алгоритмом JPEG, обрезанию краев.

А2. (Bruyndonckx[9]). ЦВЗ представляет собой строку бит. Для повышения помехоустойчивости применяется код БЧХ. Внедрение осуществляется за счет модификации яркости блока 8х8 пикселов.

Процесс встраивания осуществляется в три этапа.

1) Классификация, или разделение пикселов внутри блока на две группы с примерно однородными яркостями.

2) Разбиение каждой группы на категории, определяемые данной сеткой.

3) Модификация средних значений яркости каждой категории в каждой группе.

Рассмотрим подробнее каждый из этих этапов.

1) При классификации авторы выделяют два типа блоков: блоки с «шумовым контрастом» (рис. 5.3(а)) и блоки с резко выраженными перепадами яркости (рис. 5.3(б)).

Рис. 5.3. Два типа блока: а) с нечетким контрастом и б) с резко выраженным контрастом

В блоках второго типа зоны с отличающейся яркостью не обязательно должны располагаться вплотную друг к другу, не обязательно должны содержать равное количество пикселов. Более того, некоторые пикселы вообще могут не принадлежать ни одной зоне. В блоках первого типа классификация особенно затруднена.

Для выполнения классификации значения яркости сортируются по возрастанию (рис. 5.4(а) и (б)). Далее находится точка, в которой наклон касательной к получившейся кривой максимален (α). Эта точка является границей, разделяющей две зоны в том случае, если наклон больше некоторого порога. В противном случае пикселы делятся между зонами поровну.

2) Для сортировки пикселов по категориям на блоки накладываются маски, разные для каждой зоны и каждого блока. Назначение масок состоит в обеспечении секретности внедрения. Пример масок для двух зон приведен на рис. 5.5(а) и (б).

Рис. 5.4. Сортированные значения яркостей блоков

Рис. 5.5. Пример используемых масок

3) Модификация. Итак, множество пикселов оказалось разделенным на пять подмножеств: две зоны * две категории + пикселы, не принадлежащие какой-либо зоне (для блоков первого типа). Обозначим среднее значение яркости для пикселов двух зон и категорий через . Нам известно, что . Встраивание бита ЦВЗ s осуществляется по следующему правилу:

(5.6)

С другой стороны, необходимо обеспечить равенство значений яркости в каждой зоне:

и . (5.7)

Для достижения этого яркость всех пикселов одной зоны меняется одинаково. Например, для зоны 1, категории А это изменение составит .

Алгоритм извлечения ЦВЗ является обратным алгоритму внедрения. При этом вычисляются средние значения яркостей и находятся разности

(5.8)

А3. (Langelaar[10]). Данный алгоритм также работает с блоками 8х8. Вначале создается псевдослучайная маска нулей и единиц такого же размера . Далее каждый блок B делится на два субблока B 0 и B 1 , в зависимости от значения маски. Для каждого субблока вычисляется среднее значение яркости, l 0 и l 1 . Далее выбирается некоторый порог α, и бит ЦВЗ встраивается следующим образом:

(5.9)

Если условие (5.9) не выполняется, мы изменяем значение яркости пикселов субблока B 1 . Для извлечения бита ЦВЗ вычисляются средние значения яркости субблоков — l'' 0 и l'' 1 . Разница между ними позволяет определить искомый бит:

(5.10)

А.5. (Pitas[11]). ЦВЗ представляет собой двумерный массив бит размером с изображение, причем число единиц в нем равно числу нулей. Существует несколько версий алгоритма, предложенного Питасом. Вначале предлагалось встраивать бит ЦВЗ в каждый пиксел изображения, но позже благоразумно было решено использовать для этой цели блоки размером 2х2 или 3х3 пиксела, что делает алгоритм более робастным к сжатию или фильтрации. ЦВЗ складывается с изображением:

. (5.11)

В случае использования для внедрения блоков детектор ЦВЗ вычисляет среднее значение яркости этого блока. Отсюда появляется возможность неравномерного внедрения ЦВЗ в пикселы, то есть величина . Таким образом можно получить ЦВЗ, оптимизированный по критерию робастности к процедуре сжатия алгоритмом JPEG. Для этого в блоке 8х8 элементов заранее вычисляют «емкость» каждого пиксела (с учетом ДКП и матрицы квантования JPEG). Затем ЦВЗ внедряют в соответствии с вычисленной емкостью. Эта оптимизация производится раз и навсегда, и найденная маска применяется для любого изображения. На рис. 5.6 (а) и (б) показан ЦВЗ до и после оптимизации.

Рис. 5.6. Оптимизация ЦВЗ: а) до оптимизации; б) после оптимизации

В работе [11] также приведена модификация этого алгоритма, устойчивая к атаке удаления линий из изображения.

А5. (Rongen [12]). Также, как и в предыдущем алгоритме, ЦВЗ представляет собой двумерную матрицу единиц и нулей с примерно равным их количеством. Пикселы, в которые можно внедрять единицы (то есть робастные к искажениям), определяются на основе некоторой характеристической функции (характеристические пикселы). Эта функция вычисляется локально, на основе анализа соседних пикселов. Характеристические пикселы составляют примерно 1/100 от общего числа, так что не все единицы ЦВЗ встраиваются именно в эти позиции. Для повышения количества характеристических пикселов в случае необходимости предлагается осуществлять небольшое предыскажение изображения.

Детектор находит значения характеристических пикселов и сравнивает с имеющимся у него ЦВЗ. Если в изображении ЦВЗ не содержится, то в характеристических пикселах количество единиц и нулей будет примерно поровну. Авторы рассчитали значение порога принятия решения, минимизирующего вероятность ложной тревоги.

А6. Алгоритм PatchWork([13]). В основе алгоритма Patchwork лежит статистический подход. Вначале псевдослучайным образом на основе ключа выбираются два пиксела изображения. Затем значение яркости одного из них увеличивается на некоторое значение (от 1 до 5), значение яркости другого — уменьшается на то же значение. Далее этот процесс повторяется большое число раз (~10000) и находится сумма значений всех разностей. По значению этой суммы судят о наличии или отсутствии ЦВЗ в изображении.

Для пояснения работы алгоритма введем ряд обозначений. Пусть значения выбираемых на каждом шаге пикселов a i и b i , величина приращения — δ. Тогда сумма разностей значений пикселов

(5.3)

Матожидание величины (суммы разности значений пикселов в незаполненном контейнере) близко к нулю при достаточно большом n. Матожидание величины S n будет больше 2δ. В работе [13] показано, что S n имеет гауссовское распределение. Таким образом, в стегодетекторе в соответствии с ключом проверяется значение S n и в том случае, если она значительно отличается от нуля, выносится решение о наличии ЦВЗ.

Авторами также предложены улучшения основного алгоритма для повышения его робастности. Вместо отдельных пикселов предлагается использовать блоки, или patches. Отсюда и название алгоритма. Использование блоков различного размера может рассматриваться как формирование спектра вносимого ЦВЗ шума (шейпинг), аналогично тому, как это применяется в современных модемах. Так как наиболее вероятной модификацией стего является компрессия JPEG, то целесообразно, чтобы спектр ЦВЗ находился в области низких частот. С другой стороны, если характер возможных модификаций стего заранее неизвестен, целесообразно применение сигналов с расширенным спектром. От формы блока зависит невидимость вносимых искажений.

Алгоритм Patchwork является достаточно стойким к операциям сжатия изображения, его усечения, изменения контрастности. Основным недостатком алгоритма является его неустойчивость к афинным преобразованиям, то есть поворотам, сдвигу, масштабированию. Другой недостаток заключается в малой пропускной способности. Так, в базовой версии алгоритма для передачи 1 бита скрытого сообщения требуется 20000 пикселов.

А7.(Bender [13]). Алгоритм, основанный на копировании блоков из случайно выбранной текстурной области в другую, имеющую сходные статистические характеристики. Это приводит к появлению в изображении полностью одинаковых блоков. Эти блоки могут быть обнаружены следующим образом:

1. Анализ функции автокорреляции стегоизображения и нахождение ее пиков.

2. Сдвиг изображения в соответствии с этими пиками и вычитание изображения из его сдвинутой копии.

3. Разница в местоположениях копированных блоков должна быть близка к нулю. Поэтому можно выбрать некоторый порог и значения, меньшие этого порога по абсолютной величине, считать искомыми блоками.

Так как копии блоков идентичны, то они изменяются одинаково при преобразованиях всего изображения. Если сделать размер блоков достаточно большим, то алгоритм будет устойчивым по отношению к большинству из негеометрических искажений. В проведенных экспериментах показана робастность алгоритма к фильтрации, сжатию, поворотам изображения [13].

Основным недостатком алгоритма является исключительная сложность нахождения областей, блоки из которых могут быть заменены без заметного ухудшения качества изображения. Кроме того, в данном алгоритме в качестве контейнера могут использоваться только достаточно текстурные изображения.

Один из первых предложенных способов для проверки аутентичности изображений получил название метода проверочных сумм. Согласно этому методу отбирались семь старших бит восьми близлежащих пикселов. Получалось 56-битное слово. Выполнив эту операцию для всего изображения, имели N × N/8 таких слов, где N × N — число пикселов в изображении. Затем они поразрядно складывались по модулю два, то есть вычислялась проверочная сумма длиной 56 бит. Эта сумма записывалась в младшие значащие биты выбранных в соответствии с ключом пикселов. В детекторе осуществлялась проверка этих бит, получившаяся проверочная сумма сравнивалась с эталонной, и выносилось решение о наличии или отсутствии модификации изображения. Таким образом, в данном алгоритме в качестве ключа использовались местоположение несущих проверочную сумму пикселов и сама эта проверочная сумма.

Большинство предложенных алгоритмов встраивания ЦВЗ в пространственную область изображений основаны на использовании широкополосных сигналов (ШПС). Этот метод хорошо зарекомендовал себя в радиосвязи, при передаче узкополосных сигналов по каналам с шумами. Основной идеей применения ШПС в стеганографии является то, что данные внедряются в шумовой сигнал малой мощности. Так как сигнал малой мощности, то для защиты ЦВЗ применяют помехоустойчивые коды. Рассмотрим пример.

А8. (Marvel[14]). Стегокодер с применением ШПС изображен на рис. 5.7. Скрываемое сообщение шифруется на ключе k1 и кодируется помехоустойчивым кодом, в результате чего получается кодированное сообщение m. Это сообщение модулируется псевдослучайной последовательностью с выхода генератора, начальное заполнение которого равно k2. Получившийся сигнал с расширенным спектром подвергается перестановкам в соответствии с ключом k3 и складывается с изображением-контейнером. В декодере выполняются обратные операции. В качестве детектора ЦВЗ используют кореляционный приемник (см. гл.1).

Рис. 5.7. Стегокодер на основе ШПС

В качестве датчика псевдослучайной последовательности чаще всего предлагается использовать генератор M — последовательности в силу хороших корреляционных свойств этой последовательности.

 

5.3. Скрытие данных в области преобразования

 

5.3.1. Выбор преобразования для скрытия данных

В большинстве методов скрытия данных в изображениях используется та или иная декомпозиция изображения — контейнера. Среди всех линейных ортогональных преобразований наибольшую популярность в стеганографии получили вейвлет-преобразование и ДКП, что отчасти объясняется их успешным применением при сжатии изображений. Кроме того, желательно применять для скрытия данных то же преобразование изображения, как и то, котоорому оно подвергнется при возможном дальнейшем сжатии. В стандарте JPEG используется ДКП, а в JPEG2000 — вейвлет-преобразование. Стегоалгоритм может быть весьма робастным к дальнейшей компрессии изображения, если он будет учитывать особенности алгоритма сжатия. При этом, конечно стегоалгоритм, использующий ДКП, вовсе не обязательно будет робастным по отношению к вейвлетному алгоритму сжатию. Стегоалгоритм, использующий вейвлеты, может быть неробастным к сжатию с применением ДКП. Еще большие трудности с выбором преобразования при скрытии данных в видеопоследовательности. Причина заключается в том, что при сжатии видео основную роль играет кодирование векторов компенсации движения, а не только неподвижного кадра. Робастный стегоалгоритм должен каким-то образом учитывать это.

Возникает следующий вопрос: существует ли робастное преобразование, независимое от применяемого далее алгоритма сжатия? В работе [15] с позиций теории информации рассмотрены различные ортонормальные преобразования, такие как ДПФ, ДКП, Хартли, субполосное преобразование.

Известно много моделей для оценки пропускной способности канала скрытия данных. Так, в работе [16] представлена следующая модель.

Пусть S 0 - исходное изображение (контейнер), W — вложение. Тогда модифицированное изображение . Модифицированное изображение визуально неотличимо от исходного и может быть подвергнуто сжатию с потерями: , где C(.) — оператор компрессии. Биты вложения W должны быть извлечены из . Вопрос: какое количество бит может быть вложено в данное изображение и извлечено из него с произвольно малой вероятностью ошибки, то есть какова пропускная способность канала скрытия данных, при данном алгоритме сжатия?

Блок-диаграмма рассматриваемого стегоканала представлена на рис. 5.8.

Рис. 5.8. Блок-диаграмма стегоканала

Рис. 5.9. Структурная схема стегосистемы

Сообщение W передается по каналу. Канал имеет два источника «шума»: S 0 - изображение-контейнер и P — «шум», возникающий при компрессии/декомпрессии. - возможно искаженное сообщение.

Структурная схема схема стегосистемы приведена на рис. 5.9. Изображение декомпозируется на L субполос. К каждой субполосе «подмешивается» скрытая информация. После обратного преобразования получается модифицированное изображение S w . После компрессии/декомпрессии получается изображение . Оно подвергается прямому преобразованию, и из каждой из L субполос независимо извлекается скрытое сообщение.

Реальные изображения вовсе не являются случайным процессом с равномерно распределенными значениями величин. Хорошо известно, и это используется в алгоритмах сжатия, что большая часть энергии изображений сосредоточена в низкочастотной части спектра. Отсюда и потребность в осуществлении декомпозиции изображения на субполосы. Стегосообщение добавляется к субполосам изображения. Низкочастотные субполосы содержат подавляющую часть энергии изображения и, следовательно, носят шумовой характер. Высокочастотные субполосы наиболее подвержены воздействию со стороны различных алгоритмов обработки, будь то сжатие или НЧ фильтрация. Таким образом, для вложения сообщения наиболее подходящими кандидатами являются среднечастотные субполосы спектра изображения. Типичное распределение шума изображения и обработки по спектру частоты показано на рис. 5.10.

Рис. 5.10. Зависимость шума изображения (сплошная линия) и шума обработки (пунктирная линия) от частоты

Стегоканал можно декомпозировать на ряд независимых подканалов. Это разделение осуществляется за счет выполнения прямого и обратного преобразования. В каждом из L подканалов имеется по два источника шума. Пусть — дисперсия коэффициентов преобразования (шума изображения) в каждом из подканалов. Тогда выражение для пропускной способности канала стегосистемы примет вид , где ν j — визуальный порог для j-й субполосы. Иными словами, ν 2 j - максимально допустимая энергия стегосообщения, исходя из требований сохранения визуального качества изображения.

Шум обработки появляется в результате квантования коэффициентов трансформанты. Значение этого шума легко получить, скажем, для пары ДКП — JPEG, если известны таблицы квантования. Однако, например, в случае преобразования Адамара один коэффициент ДКП будет влиять на несколько коэффициентов Адамара. Хотелось бы иметь более общее определение шума обработки. Его можно рассматривать как уменьшение корреляции между коэффициентами трансформанты исходного изображения и квантованными коэффициентами. Например, при высоких степенях сжатия может возникнуть ситуация, когда будут отброшены целые субполосы. То есть дисперсия шума в этих субполосах, вообще говоря, бесконечна. Налицо уменьшение корреляции между коэффициентами субполосы до квантования и после. Конечно для получения приемлемых результатов необходимо усреднить значение шума обработки по многим изображениям.

Выбор значения визуального порога основывается на учете свойств СЧЗ. Известно, что шум в ВЧ областях изображения более приемлем, чем в НЧ областях. Можно ввести некоторые взвешивающие коэффициенты, , где и . Случаю α = 0 соответствует равномерное распределение стего по всем субполосам, случаю α = 1 соответствует распределение стего в соответствии с дисперсиями субполос. После некоторых упрощений можно получить выражение для пропускной способности: . Как видно из этого выражения, при α = 1 декомпозиция никак не будет влиять на пропускную способность стегоканала. При α < 1 это не так. Таким образом, пропускная способность возрастает за счет того, что в области с низкой дисперсией (высокочастотные) добавляется относительно больше энергии стегосигнала.

Рис. 5.11. Различные преобразования, упорядоченные по достигаемым выигрышам от кодирования

В работе [15] были произведены многочисленные эксперименты, которые позволили дать определенные рекомендации по выбору преобразования для стеганографии. Известно, что преобразования можно упорядочить по достигаемым выигрышам от кодирования (см. рис. 5.11). Под выигрышем от кодирования понимается степень перераспределения дисперсий коэффициентов преобразования.

Наибольший выигрыш дает преобразование Карунена-Лоэва (ПКЛ), наименьший — разложение по базису единичного импульса (то есть отсутствие преобразования). Преобразования, имеющие высокие значения выигрыша от кодирования, такие как ДКП, вейвлет-преобразование, характеризуются резко неравномерным распределением дисперсий коэффициентов субполос. Высокочастотные субполосы не подходят для вложения из-за большого шума обработки, а низкочастотные — из-за высокого шума изображения. Поэтому приходится ограничиваться среднечастотными полосами, в которых шум изображения примерно равен шуму обработки. Так как таких полос немного, то пропускная способность стегоканала невелика. В случае применения преобразования с более низким выигрышем от кодирования, например, Адамара или Фурье, имеется больше блоков, в которых шум изображения примерно равен шуму обработки. Следовательно, и пропускная способность выше. Неожиданный вывод: для повышения пропускной способности стеганографического канала лучше применять преобразования с меньшими выигрышами от кодирования, плохо подходящие для сжатия сигналов.

Эффективность применения вейвлет-преобразования и ДКП для сжатия изображений объясняется тем, что они хорошо моделируют процесс обработки изображения в СЧЗ, отделяют «значимые» детали от «незначимых». Значит, их более целесообразно применять в случае активного нарушителя. В самом деле, модификация значимых коэффициентов может привести к неприемлемому искажению изображения. При применении преобразования с низкими значениями выигрыша от кодирования существует опасность нарушения вложения, так как коэффициенты преобразования менее чувствительны к модификациям. Однако, существует большая гибкость в выборе преобразования. И если преобразование неизвестно нарушителю (хотя учет этого момента и противоречит принципу Керхгофа), то модификация стего будет затруднена.

 

5.3.2. Скрытие данных в коэффициентах дискретного косинусного преобразования

Впервые использование ДКП для скрытия информации было описано в работе [17]. При этом ДКП применялось ко всему изображению в целом.

Обычно же контейнер разбивается на блоки размером 8х8 пикселов. ДКП применяется к каждому блоку, в результате чего получаются матрицы коэффициентов ДКП, также размером 8х8. Коэффициенты будем обозначать через , где b — номер блока, (j,k) — позиция коэффициента внутри блока. Если блок сканируется в зигзагообразном порядке (как это имеет место в JPEG), то коэффициенты будем обозначать через c b,j . Коэффициент в левом верхнем углу обычно называется DC-коэффициентом. Он содержит информацию о яркости всего блока. Остальные коэффициенты называются АС-коэффициентами. Иногда выполняется ДКП всего изображения, а не отдельных блоков. Рассмотрим некоторые из предлагавшихся алгоритмов внедрения ЦВЗ в области ДКП.

А1. (Koch [17]). В данном алгоритме в блок размером 8х8 осуществляется встраивание 1 бита ЦВЗ. Описано две реализации алгоритма: псевдослучайно могут выбираться два или три коэффициента ДКП. Здесь мы рассмотрим вариацию алгоритма с двумя, а ниже, при описании следующего алгоритма — вариацию с тремя выбираемыми коэффициентами.

Встраивание информации осуществляется следующим образом: для передачи бита 0 добиваются того, чтобы разность абсолютных значений коэффициентов была бы больше некоторой положительной величины, а для передачи бита 1 эта разность делается меньше некоторой отрицательной величины:

(5.23)

Таким образом, исходное изображение искажается за счет внесения изменений в коэффициенты ДКП.

Для чтения ЦВЗ в декодере выполняется та же процедура выбора коэффициентов, и решение о переданном бите принимается согласно правилу:

(5.24)

А2. (Benham [18]). Этот алгоритм можно рассматривать как улучшенную версию предыдущего. Улучшения проведены по двум направлениям: во-первых, для встраивания используются не все блоки, а лишь «пригодные» для этого, во-вторых, внутри блока для встраивания выбираются не два, а три коэффициента, что уменьшает искажения, как будет показано далее. Разберем подробнее эти усовершенствования.

Пригодными для встраивания информации считаются блоки изображения, не являющиеся слишком гладкими, а также не содержащие малого числа контуров. Для первого типа блоков характерно равенство нулю высокочастотных коэффициентов, для второго типа — очень большие значения нескольких низкочастотных коэффициентов. Эти особенности и являются критерием отсечения непригодных блоков.

Встраивание бита ЦВЗ осуществляется следующим образом. Псевдослучайно выбираются три коэффициента ДКП блока. Если нужно вложить 1, коэффициенты изменяются так (если требуется), чтобы третий коэффициент стал меньше каждого из первых двух; если нужно встроить 0 он делается больше других. В том случае, если такая модификация приведет к слишком большой деградации изображения, коэффициенты не изменяют, и этот блок просто не используется.

Изменение трех коэффициентов вместо двух, а тем более отказ от изменений в случае неприемлемых искажений уменьшает вносимые ЦВЗ погрешности. Декодер всегда сможет определить блоки, в которые ЦВЗ не встроен, повторив анализ, выполненный в кодере.

А3. (Podilchuk [19]). При обнаружении ЦВЗ этот алгоритм требует наличия у детектора исходного изображения. Встраиваемые данные моделируются вещественным случайным процессом с нормальным распределением, единичной дисперсией и нулевым средним. Для каждого коэффициента ДКП определяется значение порога, изменение сверх которого может привести к деградации изображения. Этот порог зависит от позиции коэффициента в матрице (то есть частотного диапазона, за который он отвечает). Кроме того, порог обуславливается и свойствами самого изображения: контрастностью и яркостью блока.

Встраивание осуществляется следующим образом: если абсолютное значение коэффициента меньше порога, то он не изменяется. В противном случае к нему прибавляется произведение значения порога и значения ЦВЗ.

При обнаружении ЦВЗ вначале коэффициенты исходного изображения вычитаются из соответствующих коэффициентов модифицированного изображения. Затем вычисляется коэффициент корреляции, и устанавливается факт наличия ЦВЗ.

А5. (Hsu [20]). В данном алгоритме декодеру ЦВЗ также требуется исходное изображение. Однако, декодер определяет не факт наличия ЦВЗ, а выделяет встроенные данные. В качестве ЦВЗ выступает черно-белое изображение размером вдвое меньше контейнера. Перед встраиванием это изображение подвергается случайным перестановкам. ЦВЗ встраивается в среднечастотные коэффициенты ДКП (четвертая часть от общего количества). Эти коэффициенты расположены вдоль второй диагонали матрицы ДКП.

Для внедрения бита ЦВЗ s i в коэффициент находится знак разности коэффициента текущего блока и соответствующего ему коэффициента из предыдущего блока

. (5.25)

Если надо встроить 1, коэффициент меняют так, чтобы знак разности стал положительным, если 0 — то чтобы знак стал отрицательным.

Авторами предложен также ряд улучшений основного алгоритма. Во-первых, вместо значений коэффициентов предлагается использовать их абсолютные значения. Во-вторых, вместо коэффициента из предыдущего блока предлагается использовать DC-коэффициент текущего блока. И, наконец, берется в учет процесс квантования коэффициентов:

. (5.26)

Еще одним усовершенствованием этого алгоритма является предложенный авторами порядок сортировки блоков ЦВЗ. Блоки ЦВЗ упорядочиваются по убыванию в них числа единиц. Блоки исходного изображения-контейнера также упорядочиваются по убыванию дисперсий. После этого выполняется соответствующее вложение данных.

Надо отметить, что этот алгоритм не является робастным по отношению к JPEG-компрессии.

А5. (Tao [21]). Для обнаружения ЦВЗ детектору требуется исходный контейнер. При встраивании ЦВЗ используются коэффициенты ДКП, имеющие наименьший шаг квантования в таблице JPEG. Число и местоположение этих коэффициентов не зависит от изображения.

Алгоритм работает следующим образом. Вначале выполняется классификация блоков по 6 категориям, в зависимости от степени гладкости и наличия в них контуров. Для каждого блока вычисляется коэффициент чувствительности к аддитивному шуму, и блоки упорядочиваются в соответствии с этим коэффициентом. Далее энергия встраиваемого ЦВЗ определяется либо этим коэффициентом (зависящим от изображения), либо шагом квантования (независимым от изображения) (смотря что больше).

Для обнаружения ЦВЗ вначале выполняют вычитание исходного изображения из принятого. Затем вычисляют ДКП исходного и разностного изображений и применяют статистические методы проверки гипотез.

А6. (Cox [22]). Этот алгоритм является робастным ко многим операциям обработки сигнала. Обнаружение встроенного ЦВЗ в нем выполняется с использованием исходного изображения. Внедряемые данные представляют собой последовательность вещественных чисел с нулевым средним и единичной дисперсией. Для вложения информации используются несколько АС-коэффициентов ДКП всего изображения с наибольшей энергией. Автором предложено три способа встраивания ЦВЗ в соответствии со следующими выражениями:

, (5.27)

(5.28)

и

. (5.29)

Выражение (5.27) может использоваться в случае, когда энергия ЦВЗ сравнима с энергией модифицируемого коэффициента. В противном случае либо ЦВЗ будет неробастным, либо искажения слишком большими. Поэтому так встраивать информацию можно лишь при незначительном диапазоне изменения значений энергии коэффициентов.

При обнаружении ЦВЗ выполняются обратные операции: вычисляются ДКП исходного и модифицированного изображений, находятся разности между соответствующими коэффициентами наибольшей величины.

А7. (Barni [23]). Этот алгоритм является улучшением предыдущего, и в нем также выполняется ДКП всего изображения. В нем детектору уже не требуется исходного изображения, то есть схема слепая. Для встраивания ЦВЗ используются не наибольшие АС-коэффициенты, а средние по величине. В качестве ЦВЗ выступает произвольная строка бит.

Выбранные коэффициенты модифицируются следующим образом:

. (5.30)

Далее выполняется обратное ДКП, и производится дополнительный шаг обработки: исходное и модифицированное изображения складываются с весовыми коэффициентами:

. (5.31)

Здесь β ≈ 1 для текстурированных областей (в которых человеческий глаз мало чувствителен к добавленному шуму) и β ≈ 0 в однородных областях. Значение β находится не для каждого пиксела в отдельности, а для неперекрывающихся блоков фиксированного размера. Например, в качестве β целесообразно использовать нормализованную дисперсию блоков.

В детекторе ЦВЗ вычисляется корреляция между модифицированным изображением и ЦВЗ, .

А8. (Fridrich [24]). Алгоритм является композицией двух алгоритмов: в одном данные встраиваются в низкочастотные, в другом — в среднечастотные коэффициенты ДКП. Как показали авторы, каскадное применение двух различных алгоритмов приводит к хорошим результатам в отношении робастности. Это объясняется видимо тем, что недостатки одного алгоритма компенсируются достоинствами другого. Также, как и в двух предыдущих алгоритмах, здесь осуществляется ДКП всего изображения. Исходный сигнал детектору ЦВЗ не требуется.

Перед встраиванием ЦВЗ в НЧ коэффициенты изображение преобразуется в сигнал с нулевым средним и определенной дисперсией так, чтобы абсолютные значения коэффициентов ДКП находились в диапазоне (200,250). Авторы использовали для этой цели следующее преобразование

, (5.32)

где σ(I) — стандартное отклонение, — среднее значение яркости. ЦВЗ представляет собой последовательность чисел {-1;1}.

Далее строится индексная функция ind(t) на основе последовательности вещественных чисел, определяемой выражением

, (5.33)

где параметр . Индексная функция

. (5.34)

Таким образом, для каждого вещественного числа t можно определить его индекс. Этот индекс изменится только в том случае, если к числу t прибавить/отнять число, превосходящее значение αt. На рис. 5.12 показан вид функции ind(t) для α = 0.1.

Для внедрения бита ЦВЗ s i в коэффициент c j последний изменяется не менее, чем на 100α процентов так, чтобы . Если значение коэффициента мало (меньше 1), то в него информация не встраивается.

В детекторе используются все коэффициенты, а не только наибольшие. Это связано с тем, что позиции наибольших коэффициентов ДКП исходного и модифицированного изображений могут не совпадать. Вычисляется коэффициент корреляции, взвешиваемый с энергией коэффициентов

Рис. 5.12. Индексная функция ind(c)

, (5.35)

где параметр β определяет важность взвешивания: если он равен нулю, то взвешивания не происходит. Авторы рекомендуют использовать .

Если изображение было модифицировано, то стандартное отклонение σ(I') отлично от σ(I). При знании s = σ(I)/σ(I') можно было бы уточнить выражение для коэффициента корреляции:

. (5.36)

Однако, как было указано, исходное изображение отсутствует у детектора. Поэтому значение s выбирается так, чтобы оно максимизировало значение коэффициента корреляции:

. (5.37)

В среднечастотные коэффициенты ДКП информация встраивается путем умножения преобразованного значения ЦВЗ на параметр α и сложения результата со значением коэффициента. Предварительное кодирование ЦВЗ выполняется по следующему алгоритму.

Вход алгоритма: сообщение длины M, состоящее из символов .

Выход алгоритма: ЦВЗ длины N, состоящий из вещественных чисел s i .

Для кодирования символа m i генерируется N+B+1 чисел псевдослучайной последовательности . Эту последовательность будем называть i-м случайным вектором.

Первые m i чисел этого вектора пропускаются, а следующие N чисел образуют вектор V i , используемый при дальнейшем суммировании.

Для каждого символа сообщения генерируются статистически независимые различные случайные вектора.

В качестве ЦВЗ используется сумма векторов V i . Если M достаточно велико, то ЦВЗ будет иметь гауссовское распределение. i-й символ исходного сообщения может быть получен после вычисления взаимной корреляции ЦВЗ с i-м случайным вектором. N имеет величину от 1000 до 10000.

Встраивание ЦВЗ в небольшие по размеру блоки имеет то преимущество, что при этом существует возможность адаптации к локальной яркости и гладкости изображения. Однако при достаточной энергии ЦВЗ появляется артефакт блочности, также как и при высокой степени сжатия в стандарте JPEG. Перекрывающееся ортогональное преобразование (ПОП) изначально было предложено для преодоления недостатка ДКП при сжатии изображений. В работе [25] предложено его использование для внедрения информации. Чтобы увеличить робастность алгоритма вложения, авторы предложили дополнительно встраивать некий шаблон, причем этот процесс происходит в области преобразования Фурье. В результате получился алгоритм, достаточно стойкий ко многим атакам.