Цифровая стеганография
Шрифт:
1. Отдельный блок в кодируемом Р-кадре совпадает с расположенным в этой же позиции блоком опорного кадра. Тогда достаточно указать, что блок остался таким же.
2. Отдельный блок в кодируемом кадре совпадает с блоком опорного кадра, находящимся в другой позиции. Тогда для его кодирования необходимо задать вектор смещения.
3. Отдельный блок в кодируемом кадре может не совпадать ни с одним из блоков опорного кадра. Тогда он будет кодироваться полностью.
ДКП концентрирует энергию в области низких частот, а, так как человеческий глаз менее чувствителен к высокочастотным колебаниям, то ВЧ компоненты могут быть оцифрованы более грубо. Коэффициент ДКП с индексом (0,0) называется DC-коэффициентом (постоянного тока), и он представляет среднее значение по блоку пикселов.
Рис. 8.5. Уровни представления блока ДКП.
Таким образом, на низшем уровне синтаксической структуры MPEG находятся блоки пикселов 8*8, представляемые 64 коэффициентами ДКП. Рисунок 8.5 показывает три области, на которые может быть разделен блоковый уровень.
Первый уровень — коэффициентов, где блок содержит 8*8 оцифрованных коэффициентов ДКП, представленных целыми числами. Многие из них обычно равны нулю, особенно высокочастотные.
Второй уровень — пар, в нем коэффициенты ДКП зигзагообразно сканируются, и затем коэффициенты заменяются парами, состоящими из длины нулевой серии, предшествующей ненулевому коэффициенту, и значения этого коэффициента. Нулевые коэффициенты опускаются.
Третий уровень — битовый, в нем сформированные ранее пары кодируются кодом Хаффмана. Каждый блок коэффициентов ДКП заканчивается маркером конец блока (КБ).
Наиболее вычислительно простым будет алгоритм внедрения данных на блоковом уровне. Также невысокую сложность имеет алгоритм встраивания ЦВЗ на уровне коэффициентов, требующий только осуществления кодирования Хаффмана, кодирования длин серий и квантования, как показано на рисунке 8.6.
Рис. 8.6. Встраивание ЦВЗ в области коэффициентов.
Алгоритм встраивания ЦВЗ, работающий в битовой области, требует только осуществления дополнительного кодирования Хаффмана. Из этого следует, что вся процедура встраивания может состоять из декодирования Хаффмана, специальной модификации и кодирования с Хаффмана. Этот процесс показан на рисунке 8.7.
Рис. 8.7. Встраивание водяных знаков в битовой области.
Первый из описываемых методов осуществляет внедрение водяного знака на уровне коэффициентов.
8.2. Методы встраивания информации на уровне коэффициентов
В методе, предложенном в работе [7], осуществляется добавление псевдослучайного массива к DC-коэффициентам видео, сжатого по стандарту MPEG. В процессе встраивания ЦВЗ непосредственно участвуют только значения яркости в I-кадрах.
Для внедрения водяного знака осуществляется следующая процедура:
1. На секретном ключе генерируется массив псевдослучайных целых чисел {-1,1}, имеющий те же размеры, что и I-кадр.
2. Полученный массив модифицируется в соответствии водяным знаком и умножается на некоторый коэффициент усиления.
3. Значения коэффициентов постоянного тока каждого из I-кадров складываются с соответствующими числами модифицированного массива.
Авторы этого метода утверждают, что при его применении значительно ухудшается качество видео. Следовательно, чтобы сохранить необходимое качество получаемого в результате видео, коэффициент усиления необходимо брать низким (<1), и количество пикселов на один бит ЦВЗ должно быть достаточно большим (>>100,000). Это происходит, главным образом, из-за того, что элементы массива ЦВЗ внедряются только в один из 64 коэффициентов ДКП — коэффициент постоянного тока. А к изменениям в этой области человеческий глаз особенно чувствителен.
В статьях [9]-[11] предложен
1. Изменяется коэффициент постоянного тока:
Это означает, что среднее значение ЦВЗ складывается со средним значением блока видеоданных.
2. Для встраивания информации в коэффициенты переменного тока поток бит кодируемого блока просматривается по кодовым словам (код Хаффмана) на предмет нахождения ненулевого коэффициента ДКП. Длина серии и значение этого кодового слова декодируются для определения позиции и амплитуды Ix,y(i) коэффициента — кандидата для внедрения информации.
3. Определяется стегообраз этого коэффициента
Размер SzI кодовых слов, необходимых для кодирования Ix,y(i) и размер SzIw кодовых слов, необходимых для кодирования IWx,y(i), определяются с использованием таблицы кода переменной длины В.14 и В.15 стандарта MPEG-2 [8]. Если размер кодового слова, предназначенного для кодирования стегообраза коэффициента ДКП, меньше или равен длине кодового слова, предназначенного для кодирования исходного коэффициента ДКП, то исходное кодовое слово заменяется. В противном случае оно остается неизменным. Это означает, что коэффициент ДКП Ix,y(i) модифицируется следующим образом:
Если
4. Процедура кодирования повторяется до тех пор, пока все коэффициенты переменного тока блока видеоданных не будут обработаны таким же образом.
Для извлечения водяного знака поток видеоданных полностью декодируется, и биты водяного знака извлекаются путем вычисления корреляции между стегообразом и водяным знаком.
Главной проблемой непосредственной модификации коэффициентов ДКП в сжатом потоке видео является накопление сдвига или ошибок. Дело в том, что предсказания по предыдущим кадрам используются для восстановления действующего кадра, который, в свою очередь, может служить основой для будущих предсказаний. Следовательно, искажения, вносимые процессом встраивания ЦВЗ, могут распространяться как во временной, так и в пространственной области. Для компенсации искажений добавляется специальный сигнал. Этот сигнал должен быть равен отличию между предсказанием вектора компенсации движения видео с встроенным ЦВЗ и без него.