Встраивание путем модификации отношения между значениями коэффициентов соседних блоков
Для расчета полярности выбранных СЧ-коэффициентов соседних блоков используется так называемая "остаточная" маска. На рис. 5.33 изображен пример такой маски, где каждый элемент (от "А" до "И") содержит в себе приведенное отображение коэффициентов ДКП контейнера некоторого блока, причем позиции "Д" отвечает текущее отображение ДКП.
Рис. 5.33. Пример остаточной маски
Например, если А=Б =В=Е=Ж=З=И=0, Г=-1, а Д= 1 то полярность будет представлять собой двоичный образ — массив нулей и единиц, указывающий на тот факт, что коэффициент ДКП текущей позиции данного блока отображения коэффициентов ДКП является большим (полярность равна 1) или меньшим (полярность равна 0) по сравнению с коэффициентом на соответствующей позиции предыдущего блока. То есть для приведенного примера
(5.29)
где — среднечастотный коэффициент ДКП b-гo блока; polarity — оператор полярности.
При иных значениях элементов остаточной маски соответственно изменяется и выражение (5.29). При вычислении полярности сравнение значения коэффициента ДКП текущего блока со значениями соответствующих коэффициентов нескольких соседних блоков в большинстве случаев позволяет, кроме увеличения уровня защищенности стеганосистемы от взлома, получить меньшее искажение контейнера.
После получения отображений полярности Р для всех блоков контейнера, проводится выявление тех коэффициентов ДКП, которые требуют модификации для скрытия отдельного пикселя псевдослучайно переставленного ЦВЗ. Поиск проводится в соответствии с остаточной маской путем изменения текущей полярности (оператор XOR или знак " " — сложение по модулю 2):
(5.30)
где
Далее, на основе массивов полярности для каждого блока контейнера формируют массив до модифицированных СЧ-коэффициентов ДКП при условии, чтобы разница между и была сведена к минимуму или же была меньшей за установленный порог (оператор expand):
(5.31)
Например, задаваясь начальным коэффициентом необходимо прибавлять/отнимать коэффициенты соседних блоков (в соответствии с остаточной маской) таким образом, чтобы, проведя впоследствии операцию, аналогичную (5.29), можно было получить соответствующую полярность . Далее следует перейти к следующим коэффициентам, изменяя только те из них, которые, не будут влиять на полярность предварительно обработанных коэффициентов.
Для того чтобы уменьшить деградацию изображения (как результат встраивания ЦВЗ), авторы метода предлагают вычислять полярность для абсолютных значений коэффициентов ДКП, что позволит гарантированно сохранить знак (плюс или минус) модифицированного коэффициента.
Кроме того, для увеличения стойкости стеганосистемы к JPEG-компрессии с потерями, должен быть учтен эффект квантования, который используется в технологии JPEG. На рис. 5.34, а приведена таблица квантования яркости, предложенная стандартом JPEG, которая, зачастую, вызывает заметные искажения (так называемые "артефакты") изображения. На рис. 5.34, б изображена другая таблица квантования, используемая в большинстве современных программ, работающих с JPEG. Видно, что значения при этом почти вдвое меньше соответствующих им в предыдущей таблице.
Рис. 5.34. Примеры таблиц квантования яркости: стандартная JPEG (a) и Image Alchemy, Handmade Software Inc. (б)
Основанная на таблице квантования полярность представляет собой результат вычисления разницы между квантованными и впоследствии деквантованными коэффициентами ДКП соответствующих блоков. Для тривиального случая, когда сравнение ведется с коэффициентами предшествующего блока (см. пример к рис. 5.33), формула (5.29) приобретает вид
(5.32)
где — значение результата квантования для СЧ-коэффициента с координатами ; квадратные скобки указывают на то, что возвращается целая часть от результата деления.
При этом, в случае атаки квантования, предварительный учет эффекта последнего значительно увеличивает вероятность правильного распознания признаков пикселей при извлечении. Однако, поскольку квантование имеет тенденцию, к сведению значений многих коэффициентов в нуль (что особенно характерно более высокочастотным коэффициентам), некоторая часть СЧ-коэффициентов ДКП также в результате будет равняться нулю. Кроме того, для сохранения установленной полярности и после проведения квантования, тем же значением должны быть модифицированы не только определенные СЧ-коэффициенты в текущем блоке, но и во всех Соседних блоках в соответствии с маской остаточности.