Вадим Грибунин - Цифровая стеганография
6.1. Аддитивные алгоритмы
6.1.1. Обзор алгоритмов на основе линейного встраивания данных
В аддитивных методах внедрения ЦВЗ представляет собой последовательность чисел wi длины N, которая внедряется в выбранное подмножество отсчетов исходного изображения f. Основное и наиболее часто используемое выражение для встраивания информации в этом случае
(6.1)
где - весовой коэффициент, а — модифицированный пиксел изображения.
Другой способ встраивания водяного знака был предложен И.Коксом [11]:
(6.2)
или, при использовании логарифмов коэффициентов
(6.3)
При встраивании в соответствии с (6.1) ЦВЗ в декодере находится следующим образом:
. (6.4)
Здесь под f* понимаются отсчеты полученного изображения, содержащего или не содержащего ЦВЗ w. После извлечения сравнивается с подлинным ЦВЗ. При чем в качестве меры идентичности водяных знаков используется значение коэффициента корреляции последовательностей
. (6.5)
Эта величина варьируется в интервале [-1; 1]. Значения, близкие к единице, свидетельствуют о том, что извлеченная последовательность с большой вероятностью может соответствовать встроенному ЦВЗ. Следовательно, в этом случае делается заключение, что анализируемое изображение содержит водяной знак.
В декодере может быть установлен некоторый порог, (здесь S — стандартное среднее квадратическое отклонение), который определяет вероятности ошибок первого и второго рода при обнаружении ЦВЗ. При этом коэффициент может не быть постоянным, а адаптивно изменяться в соответствии с локальными свойствами исходного изображения. Это позволяет сделать водяной знак более робастным (стойким к удалению).
Для увеличения робастности внедрения во многих алгоритмах применяются широкополосные сигналы. При этом информационные биты могут быть многократно повторены, закодированы с применением корректирующего кода, либо к ним может быть применено какое-либо другое преобразование, после чего они модулируются с помощью псевдослучайной гауссовской последовательности. Такая последовательность является хорошей моделью шума, присутствующего в реальных изображений. В то же время синтетические изображения (созданные на компьютере) не содержат шумов, и в них труднее незаметно встроить такую последовательность.
Обычно легче первоначально сгенерировать равномерно распределенную последовательность. Известен алгоритм преобразования такой последовательности в гауссовскую (алгоритм Бокса-Мюллера). Псевдокод этого алгоритма приведен ниже. Здесь ranf() — датчик равномерно распределенных случайных чисел, mean, deviation — среднее значение и СКО последовательности.
Алгоритм 6.1. Полярная форма алгоритма Бокса-Мюллера
double x1, x2, w;
do {
x1 = 2.0 * ranf() — 1.0;
x2 = 2.0 * ranf() — 1.0;
w = x1 * x1 + x2 * x2;
} while (w >= 1.0);
w = sqrt((-2.0 * log(w)) / w);
double y1 = mean + x1 * w * deviation;
double y2 = mean + x2 * w * deviation;
Для извлечения внедренной информации в аддитивной схеме встраивания ЦВЗ обычно необходимо иметь исходное изображение, что достаточно сильно ограничивает область применения подобных методов.
Рядом авторов [22, 4, 34] были предложены слепые методы извлечения ЦВЗ, вычисляющие корреляцию последовательности w со всеми N коэффициентами полученного изображения f*:
. (6.6)
Затем полученное значение коэффициента корреляции сравнивается с некоторым порогом обнаружения ,
. (6.7)
Основным недостатком этого метода является то, что само изображение в этом случае рассматривается, как шумовой сигнал. Существует гибридный подход (полуслепые схемы), когда часть информации об исходном изображении доступно в ходе извлечения информации, но неизвестно собственно исходное изображение.
Корреляционный метод позволяет только обнаружить наличие или отсутствие ЦВЗ. Для получения же всех информационных битов нужно протестировать все возможные последовательности, что является крайне вычислительно сложной задачей.
Наиболее ярким представителем алгоритмов внедрения ЦВЗ на основе использования широкополосных сигналов является алгоритм Кокса, представленный ниже.
А17 (Cox, [8-10]).
ЦВЗ представляет собой последовательность псевдослучайных чисел, распределенных по гауссовскому закону, длиной 1000 чисел.
Для модификации отбираются 1000 самых больших коэффициентов дискретного косинусного преобразования (ДКП).
Встраивание информации выполняется в соответствии с выражением (6.2), а извлечение ЦВЗ в соответствии с выражением (6.4).
Достоинством алгоритма является то, что благодаря выбору наиболее значимых коэффициентов водяной знак является более робастным при сжатии и других видах обработки сигнала.
Вместе с тем алгоритм уязвим для атак, предложенных Гравером в [1,2,3]. Кроме того, операция вычисления двумерного ДКП трудоемка.
А18 (Barni, [4]).
ЦВЗ представляет собой последовательность бинарных псевдослучайных чисел . Длина последовательности определяется размерами исходного изображения M и N, где i= 0,…,.
При встраивании информации вначале выполняется четырехуровневое (l = 4) вейвлет-преобразование с использованием фильтров Добеши-6. Для внедрения водяного знака используются только детальные поддиапазоны первого подуровня разложения. При этом в качестве кандидатов для модификации выбираются все коэффициенты детальных поддиапазонов (LH, HL, HH), которые изменяются с учетом локальной чувствительности к шумам:
, (6.8)
где
.
Множитель в этом выражении определяется поддиапазоном и уровнем разрешения:
, (6.9)
второй множитель определяется локальной яркостью:
, (6.10)
и последний множитель определяется локальной дисперсией или степенью текстурированности.
В детекторе водяной знак обнаруживается при непосредственном вычислении значения корреляции wi с коэффициентами вейвлет-преобразования (ВП). Таким образом, возможно обнаружение ЦВЗ вслепую, без знания исходного изображения.
Данная схема использует модель зрительной системы человека, описанную в [15]. Каждое бинарное значение водяного знака предварительно домножается на весовой коэффициент, полученный на основе модели чувствительности человеческого зрения к шуму. Это позволяет добиться незаметности ЦВЗ
А19 (G.Nicchiotti [7, 21]).
ЦВЗ представляет собой массив псевдослучайных чисел, распределенных по гауссовскому закону, размером 32*32 = 1024 числа.
Исходное изображение подвергается вейвлет-преобразованию для того, чтобы получить низкочастотное изображение размером 32*32.
Для внедрения ЦВЗ отбираются все коэффициенты LL поддиапазона.
Встраивание информации в эти коэффициенты выполняется в соотвествии с выражением
, (6.11)
где — среднее значение выборки коэффициентов.
Извлечение информации выполняется по (6.4).
В работе [21] предложено усовершенствование описанной выше схемы за счет применения секретного ключа. Множество коэффициентов ВП разбивается по секретному ключу на два подмножества. Коэффициенты одного подмножества увеличиваются на некоторую величину к, коэффициенты другого подмножества на это же значение уменьшаются. Таким образом, средние значения по каждому из подмножеств в ходе работы алгоритма разносятся. Чтобы определить наличие/отсутствие водяного знака получатель снова поэтому же секретному ключу разбивает множество коэффициентов на два подмножества и проверяет различаются ли их средние значения приблизительно на два к.
А20 (R.Dugad [35]).
ЦВЗ представляет собой последовательность псевдослучайных действительных чисел, распределенных по гауссовскому закону. Длина последовательности соответствует размерам детальных поддиапазонов, несмотря на то, что водяной знак внедряется только в небольшое количество наибольших коэффициентов. Использование водяного знака такой длины помогает избежать зависимости от порядка вычисления корреляции при извлечении ЦВЗ.