Читать «Цифровая стеганография» онлайн - страница 148

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

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

Третий уровень — битовый, в нем сформированные ранее пары кодируются кодом Хаффмана. Каждый блок коэффициентов ДКП заканчивается маркером конец блока (КБ).

Наиболее вычислительно простым будет алгоритм внедрения данных на блоковом уровне. Также невысокую сложность имеет алгоритм встраивания ЦВЗ на уровне коэффициентов, требующий только осуществления кодирования Хаффмана, кодирования длин серий и квантования, как показано на рисунке 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] предложен более тонкий метод встраивания битов ЦВЗ в коэффициенты ДКП. При использовании этого метода осуществляется внедрение информации не только в коэффициенты постоянного тока, но и в коэффициенты переменного тока в I, Р, В-кадров. ЦВЗ, как и в предыдущем случае, представляет собой массив псевдослучайных чисел. Для того, чтобы встроить ЦВЗ, массив W(x,y) делится на блоки размером 8*8. Затем над этими блоками осуществляется ДКП, и коэффициенты преобразования обозначаются, как Wx,y(u,v), где х, у=0,8,16,… и u,v=0,…,7. После этого выполняется зигзагоообразное сканирование блоков Wx,y(u,v), в результате чего получается одномерный массив Wx,y(i), где I=0….,63. Тогда Wx,y(0) — это коэффициент постоянного тока, а Wx,y(63) — коэффициент переменного тока, соответствующий наивысшей частоте. Такой же обработке подвергаются и блоки видеоданных, и массив Ix,y(i) поэлементно складывается с ЦВЗ. Таким образом, для каждого массива видеоданных Ix,y(i) любого из типов кадров осуществляются действия: