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

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

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

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

6. ОБЗОР СТЕГОАЛГОРИТМОВ ВСТРАИВАНИЯ ИНФОРМАЦИИ В ИЗОБРАЖЕНИЯ

 

 

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

 

6.1. Аддитивные алгоритмы

 

6.1.1. Обзор алгоритмов на основе линейного встраивания данных

В аддитивных методах внедрения ЦВЗ представляет собой последовательность чисел w i длины 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,…, #i_772.png .

При встраивании информации вначале выполняется четырехуровневое (l = 4) вейвлет-преобразование с использованием фильтров Добеши-6. Для внедрения водяного знака используются только детальные поддиапазоны первого подуровня разложения. При этом в качестве кандидатов для модификации выбираются все коэффициенты детальных поддиапазонов (LH, HL, HH), которые изменяются с учетом локальной чувствительности к шумам:

, (6.8)

где

.

Множитель в этом выражении определяется поддиапазоном и уровнем разрешения:

, (6.9)

второй множитель определяется локальной яркостью:

, (6.10)

и последний множитель определяется локальной дисперсией или степенью текстурированности.

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

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

А19 (G.Nicchiotti [7, 21]).

ЦВЗ представляет собой массив псевдослучайных чисел, распределенных по гауссовскому закону, размером 32*32 = 1024 числа.

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

Для внедрения ЦВЗ отбираются все коэффициенты LL поддиапазона.

Встраивание информации в эти коэффициенты выполняется в соотвествии с выражением

, (6.11)

где — среднее значение выборки коэффициентов.

Извлечение информации выполняется по (6.4).

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

А20 (R.Dugad [35]).

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

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

Выражение для встраивания информации имеет вид

. (6.12)

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

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

А21 (J.Kim [12]).

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

Декомпозиция изображения трехуровневая с использованием биортогональных вейвлет-фильтров.

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

Встраивание информации выполняется в соответствии с (6.2), но при этом коэффициент масштаба для каждого уровня — свой. Для уровня LL коэффициент масштаба равен 0.04, так как значения коэффициентов этого уровня достаточно велики. Для 3, 2 и 1 уровней декомпозиции используются соответственно коэффициенты 0.1, 0.2 и 0.4.

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

Как отмечается в [12], данный алгоритм является робастным ко многим атакам.

А22 (Y.Kim [13]).

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

Предлагается использовать трехуровневую декомпозицию изображения. Водяной знак добавляется к наибольшим коэффициентам в каждом из поддиапазонов за исключением поддиапазонов наивысшего уровня разрешения (HL1, LH1, HH1). Количество элементов водяного знака w i в каждом из поддиапазонов пропорционально энергии этого поддиапазона. Энергия e s определяется по формуле

(6.14)

где М, N — размеры поддиапазона.

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

(6.15)

Для LL поддиапазона используется сравнительно малый коэффициент , составляющий приблизительно 1/100 от используемого для других поддиапазонов. Визуальный весовой коэффициент w s определяется для каждого поддиапазона и вводится в формулу для достижения гарантии незаметности водяного знака.

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

А23 (P.Loo [16]).

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

Для модификации выбираются 1000 наибольших коэффициентов (рис. 6.1).

При встраивании информации элементы водяного знака домножаются на масштабирующий коэффициент и затем добавляются к коэффициентам ВП

(6.16)

где и — весовые коэффициенты, зависящие от уровня и предназначенные для достижения робастности и незаметности водяного знака, U(m,n) — среднее значение по окрестности 3*3 вокруг данного коэффициента.

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

Рис 6.1. Отбор коэффициентов

А24 (С.Lu [19, 20, 17, 18]).

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

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

Для модификации выбираются вейвлет-коэффициенты, амплитуда которых выше некоторого порога [JND — just noticeable difference].

Перед встраиванием информации вейвлет-коэффициенты сортируются в порядке возрастания их амплитуд. Таким же образом переупорядочиваются элементы гауссовской последовательности. На каждой итерации отбираются пара вейвлет-коэффициентов (f положит , f отриц ) из «верха» упорядоченной последовательности вейвлет-коэффициентов исходного изображения и пара элементов последовательности ЦВЗ (w верх w нижн ) из верхней и нижней части последовательности w.

При положительной модуляции правило

(6.17)

при отрицательной модуляции правило

(6.18)

применяется к отобранным вейвлет-коэффициентам для внедрения водяного знака. J обозначает JND-значение отобранного вейвлет-коэффициента, вычисленное на основе модели человеческого зрения, описанной в [31]. Весовой коэффициент определяет максимально возможное изменение и выбирается различным для аппроксимационного и детального поддиапазонов.

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

Авторы утверждают, что переупорядочивание вейвлет-коэффициентов (стратегия перемещений) перед встраиванием и извлечением водяного знака делает его более робастным к атакам подобным Stirmark.

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

А25 (С.Podilchuk [23, 24, 32]).

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

В алгоритме используется четырехуровневая декомпозиция ВП с использованием 7/9 биортогональных фильтров.

Для внедрения ЦВЗ отбираются только вейвлет-коэффициенты f(m,n), амплитуда которых выше некоторого порога (JND).

Встраивание информации выполняется в соответствии с (6.2), но с учетом порога JND:

(6.19)

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

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

Предлагаемая схема может быть применена не только при ДВП, но и при ДКП, что позволяет встраивать информацию в данные сжатые как по стандарту JPEG2000, так и по стандарту JPEG [37].

А26 (X-G.Xia[33]).

Водяной знак представляет собой последовательность псевдослучайных действительных чисел, распределенных по Гауссовскому закону.

Для декомпозиции используется преобразование Хаара.

Для внедрения отбираются наибольшие коэффициенты из высокочастотного и среднечастотного диапазонов (поддиапазоны деталей).

Встраивание выполняется согласно аддитивной формуле

, (6.21)

где от значения зависит энергия ЦВЗ, а от значения - значение больших коэффициентов.

Для извлечения используется инверсная формула, аналогичная (6.4).

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

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

А27 (H.-J. Wang [27–30]).

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

Для встраивания выполняется пятиуровневое вейвлет-преобразование и отбираются значимые коэффициенты всех поддиапазонов. Поиск таких коэффициентов основан на принципах многопорогового вейвлет-кодера (MTWC) [25, 26]. Решение о значимости коэффициентов выносится на основании их сравнения с порогом данной субполосы TSi. После встраивания водяного знака порог делится на два. Начальное значение порога TSi определяется по формуле

(6.22)

где — весовой коэффициент данного поддиапазона.

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

Внедрение выполняется в соответствии с формулой

. (6.23)

Для извлечения информации используется инверсная формула, аналогичная (6.4).

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

А28 (H.-J. Wang [28]).

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

Пусть f s (m,n) — значимый коэффициент из поддиапазона s. То есть . Тогда коэффициент модифицируется согласно формуле

(6.24)

где sign — знак отобранного коэффициента, а определяется как

(6.25)

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

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

(6.26)

Слепая схема извлечения оказывается намного менее помехоустойчивой, как это отмечено в [29].

 

6.1.2. Обзор алгоритмов на основе слияния ЦВЗ и контейнера

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

У таких алгоритмов есть два преимущества.

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

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

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

А29 (J.Chae [4,5]).

В алгоритме внедряется черно-белое изображение (логотип), размером до 25 % от размеров исходного изображения. Перед встраиванием выполняется одноуровневая декомпозиция как исходного изображения, так и эмблемы с применением фильтров Хаара. Вейвлет-коэффициенты исходного изображения обозначаются, как f(m,n), а вейвлет-коэффициенты логотипа — w(m,n).

Модификации подвергаются все коэффициенты преобразования, как это показано на рис. 6.2.

Рис 6.2. Схема встраивания ЦВЗ

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

Обозначим, через А, В, и С соответственно, старший, средний и младший байты 24-битного представления логотипа. На рис. 6.2 показано формирование трех 24-битных чисел А′, В′ и С′. Старший байт каждого из этих чисел представляет собой соответственно А, В, или С, два других байта заполняются нулями.

Затем формируется расширенный вчетверо блок коэффициентов логотипа. После чего он поэлементно складывается с 24-битной версией исходного изображения

. (6.27)

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

Для извлечения ЦВЗ используется инверсная формула, аналогичная (6.4).

Данный алгоритм позволяет скрыть довольно большой объем данных в исходном изображении: до четверти от размеров исходного изображения.

А30 (D.Kundur [14]).

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

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

Водяной знак прибавляется к элементам исходного изображения по формуле

, (6.28)

где S — коэффициент масштаба, вычисляемый по формуле

, (6.29)

C(u,v) — взвешивающая матрица, определяющая частотную чувствительность системы зрения человека, Т — оператор ДПФ.

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

 

6.2. Стеганографические методы на основе квантования

 

6.2.1. Принципы встраивания информации с использованием квантования. Дизеризованные квантователи

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

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

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

Модель стегосистемы, не требующей наличия исходного сигнала в декодере представлена на рис. 6.3.

Рис. 6.3 Модель «слепой» стегосистемы

Передаваемое сообщение m имеет ограниченную энергию для выполнения требования его незаметности. Помехами являются исходный сигнал и еще одна гауссовская помеха — шум обработки (квантования). Кодеру исходный сигнал известен, декодер должен извлечь ЦВЗ m без знания обеих составляющих помех. В работе [40] Костасом предложен метод борьбы с помехами, который, однако, является непрактичным в силу необходимости выполнения полного перебора кодовых слов в книге большого размера. Поэтому, были предложены многочисленные улучшения метода Костаса, заключающиеся в применении различных структурированных квантователей (например, решетчатых или древовидных).

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

Итак, как показано на рис. 6.3, внедряемый ЦВЗ m определенным образом модулируется и складывается с исходным сигналом x, в результате чего получается заполненный контейнер s(x,m). Этот контейнер может рассматриваться и как ансамбль функций от x, проиндексированных по m, т. е. s m (x) . Эти функции обладают следующими свойствами:

— каждая из них должна быть близка, визуально неотличима от x;

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

В качестве таких функций может выступать семейство квантователей. Число всевозможных m определяет необходимое число квантователей; индекс m определяет используемый квантователь для представления ЦВЗ m. Для случая m = 2 мы получаем бинарный квантователь. На рис. 6.4 поясняется принцип встраивания информации с применением модуляции индекса квантования (МИК). Для вложения бита , точка изображения отображается в одно из близлежащих кодовых слов. Минимальное расстояние между кодовыми словами различных квантователей определяет робастность схемы ЦВЗ.

В работе [38, 39] рассматривается применение в схеме МИК так называемого дизеризованного квантователя. Дизеризация заключается в том, что перед квантованием к сигналу добавляется некоторое число d i , которое вычитается после квантования:

. (6.30)

Рис. 6.4. Отображение точки изображения в близлежащее кодовое слово

Таким образом, семейство дизеризованных квантователей образуется на основе одного квантователя Q и вектора дизеризации d длиной L. Рассмотрим для примера бинарный скалярный равномерный квантователь Q с размером шага . Семейство дизеризованных квантователей может быть получено, например, путем генерации в качестве вектора d(1) случайной равномерно распределенной последовательности длиной L, члены которой принимают значения из диапазона . В качестве вектора d(2) выбираем

. (6.31)

Интересной особенностью рассмотренного дизеризованного квантователя является то, что ошибка квантования не зависит от входного сигнала [43].

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

, (6.32)

где u — нормализованный псевдослучайный вектор. Это выражение может быть переписано в виде

, (6.33)

где - проекция сигнала x на вектор u: . Теперь заменим операцию сложения на операцию квантования. Тогда формула для встраивания ЦВЗ будет иметь вид

. (6.34)

 

6.2.2. Обзор алгоритмов встраивания ЦВЗ с использованием скалярного квантования

А31 (C.-J. Chu [44]). В данном алгоритме к цветному изображению первоначально применяется пятиуровневое целочисленное вейвлет-преобразование. ЦВЗ представляет собой последовательность ±1. Модификации подвергаются только высокочастотные коэффициенты голубой компоненты, так как человеческий глаз наименее чувствителен к искажениям в этой области спектра. Перед встраиванием ЦВЗ двоичное представление коэффициентов сдвигается вправо, а после встраивания — влево. За счет этого достигается робастность к возможному последующему квантованию. Коэффициенты встраиваются в соответствии со следующей формулой:

, (6.35)

где определяет мощность ЦВЗ w i , а яркость соответствующего пиксела изображения — .

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

(6.36)

А32 (Hsu [42]). В этом алгоритме в качестве ЦВЗ используется бинарное изображение размером вдвое меньше исходного. Оба изображения подвергаются кратномасштабному разложению: контейнер декомпозируется при помощи вейвлет-преобразования (фильтр Добеши-6, два уровня), а ЦВЗ преобразуется при помощи понижающей разрешение функции, описанной в стандарте JBIG (Joint Binary Image Group). Таким образом, к каждому изображению применяется соответствующее ему преобразование. ЦВЗ с уменьшенным разрешением будем называть остаточным. Остаточный ЦВЗ интерполируется (то есть между всеми пикселами вставляются нули) и вычитается из начального ЦВЗ. В результате получается разностный ЦВЗ, энергия которого значительно меньше остаточного.

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

Рис. 6.5. Встраивание остаточного и разностного ЦВЗ

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

 

6.2.3. Встраивание ЦВЗ с использованием векторного квантования

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

Рис. 6.6. Векторное квантование

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

А33 (J.Chae, [45]). ЦВЗ в этом алгоритме есть последовательность символов, полученная из логотипа, размер которого в четыре раза меньше размеров контейнера. n коэффициентов вейвлет-преобразования группируются для формирования n-мерного вектора. В частности, при n = 4 создается решетчатая структура D4. Для внедрения одного коэффициента логотипа осуществляется манипуляция вектора квантованных коэффициентов изображения-контейнера.

Встраивание. Вектор коэффициентов ДВП контейнера vi модифицируется в соответствии с масштабированным кодовым словом, представляющим wi

(6.37)

Таким образом, при n = 4 для встраивания одного коэффициента логоизображения необходимо изменить четыре коэффициента контейнера.

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

(6.38)

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

 

6.3. Стегоалгоритмы, использующие фрактальное преобразование

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

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

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

А34 (Bas[48]). Интересно, что «внешний» ЦВЗ в данном алгоритме вообще отсутствует. Информация встраивается за счет такого изменения изображения, чтобы оно стало содержать самоподобия. Таким образом может быть внедрено 15 различных ЦВЗ.

Алгоритм работает следующим образом. Вначале выбираются несколько «особых» точек с использованием известного из фрактального кодирования метода Стефана-Харриса. Каждая особая точка определяет блок размером 4х4 вокруг нее и 16 блоков размером 4х4, образующих доменный пул (рис. 4.7). Для каждой особой точки выполняют изменение доменного блока в той же позиции так, чтобы он был более похож на ранговый блок, чем любой другой доменный блок. (Так как всего можно выбрать 15 блоков, это дает возможность внедрить 15 ЦВЗ). Получившийся доменный блок определяется выражением

, (6.39)

где - среднее значение пикселов в D. Он добавляется к R j в соответствии с выражением

, (6.39)

где s — коэффициент, учитывающий квантование.

При извлечении ЦВЗ вначале восстанавливаются значения особых точек, D j и W j . Для каждого блока R j вычисляется

. (6.40)

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

А35 (Puate [47]). В качестве ЦВЗ выступает строка бит. Секретным ключом, от которого зависит эффективность всего алгоритма, является в данном случае выбор рангового блока. Число ранговых блоков есть верхняя граница для числа встраиваемых бит. Доменный пул делится на две части: одной будет соответствовать внедрение единиц, другой — внедрение нулей.

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

Декодер знает секретный ключ и выполняет обратные преобразования, восстанавливая ЦВЗ. В работе [47] показано, что этот алгоритм устойчив к сжатию JPEG.

А36 (Davern [49]). Алгоритм заключается в следующем. Пользователь вручную выбирает две неперекрывающиеся квадратные области на изображения, называемые ранговой и доменной областью. Местоположение этих областей составляет часть секретного ключа, необходимого для извлечения ЦВЗ.Блоки ы ранговой области модифицируются для внедрения битов ЦВЗ. Эти блоки могут иметь размеры 4х4, 8х8 или 16х16. Число блоков есть верхняя граница длины ЦВЗ. Блоки выбираются в псевдослучайном порядке, что составляет вторую часть секретного ключа. Также, как и в предыдущем алгоритме, доменная область делится на две части: соответствующую внедрению нулей и единиц. Далее вычисляются значения масштабирующего коэффициента и коэффициента сдвига , удовлетворяющих равенству

, (6.41)

где R k — ранговый блок, D mk — соответствующий ему (и ЦВЗ) доменный блок. Получив коэффициенты, выполняем обратное преобразование: вычисляем значение рангового блока

. (6.41)

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

, (6.42)

. (6.43)

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

, где . (6.44)

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

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