Вадим Грибунин - Цифровая стеганография
Для извлечения водяного знака поток видеоданных полностью декодируется, и биты водяного знака извлекаются путем вычисления корреляции между стегообразом и водяным знаком.
Главной проблемой непосредственной модификации коэффициентов ДКП в сжатом потоке видео является накопление сдвига или ошибок. Дело в том, что предсказания по предыдущим кадрам используются для восстановления действующего кадра, который, в свою очередь, может служить основой для будущих предсказаний. Следовательно, искажения, вносимые процессом встраивания ЦВЗ, могут распространяться как во временной, так и в пространственной области. Для компенсации искажений добавляется специальный сигнал. Этот сигнал должен быть равен отличию между предсказанием вектора компенсации движения видео с встроенным ЦВЗ и без него.
Недостатком такого подхода является увеличение сложности алгоритма встраивания ЦВЗ, так как для вычисления сигнала компенсации необходимо выполнить полное декодирование сжатого видео и вычислить ДКП, как это показано на рис 8.8.
Рис. 8.8. Увеличение сложности вычислений, необходимое для компенсации сдвига
В силу ограничения на битовую скорость, при внедрении модифицируются только около 10–20 % коэффициентов ДКП, в зависимости от содержания блока видеоданных и грубости MPEG-квантователя. В некоторых случаях, особенно для низкоскоростного видео, изменяются только коэффициенты постоянного тока. Так как биты водяного знака могут быть внедрены только в ненулевые коэффициенты, внедряемый водяной знак зависит от содержания блока видеоданных. В областях, где имеется только низкочастотное содержание, водяной знак будет состоять только из низкочастотных компонент.
Авторы рассматриваемого алгоритма утверждают, что его сложность меньше сложности последовательного выполнения операций декодирования видео, внедрения ЦВЗ, сжатия видео [11]. Водяной знак не заметен на глаз, за исключением непосредственного сравнения стегообраза с соответствующим ему пустым контейнером, и ЦВЗ сохраняется при следующих операциях: фильтрование, зашумление (аддитивным шумом) и дискретизация.
8.3. Методы встраивания информации на уровне битовой плоскости
В первой главе был рассмотрен алгоритм, основанный на внедрении информации в наименее значащий бит неподвижных изображений. Этот метод отличается высокой пропускной способностью и небольшой вычислительной сложностью. В работах [1]-[6] был предложен аналогичный метод для данных, сжатых по стандарту MPEG.
Водяной знак, состоящий из l битов некоторой последовательности bj (j = 0, 1, 2, …, l-1), внедряется в поток видеоданных, сжатых по стандарту MPEG, путем замены специально выбранных, подходящих кодовых слов кода переменной длины, заменяя наименее значащий бит их оцифрованного значения на значение bj. Для того, чтобы убедиться, что внесенные изменения не будут заметны после декодирования, и что поток видеоданных не изменил своих размеров, необходимо выбирать только кодовые слова, для которых найдется хотя бы одно другое кодовое слово, удовлетворяющее условиям:
— одинаковая длина нулевой серии;
— различие между значениями коэффициентов ДКП равно 1;
— одинаковая длина кодовых слов.
Согласно табл. В.14 и В.15 стандарта MPEG-2 [8], таких кодовых слов существует множество. Некоторые примеры таких слов приведены в табл.8.1, где под символом s понимается бит, определяющий знак коэффициента ДКП.
В процессе встраивания водяных знаков задействуются кодовые слова, полученные, как при межкадровом (ДИКМ), так и при внутрикадровом кодировании. Коэффициенты постоянного тока не используются потому, что они могут быть предсказаны по другим коэффициентам постоянного тока. Более того, изменение всех коэффициентов постоянного тока может привести к зрительно воспринимаемым искажениям из-за накопления ошибок. При использовании же в процессе встраивания только коэффициентов переменного тока ошибка невелика.
Кодовые слова (КС) Размер (КС) Пробег Уровень НЗБ 0010 0110 s 8+1 0 5 1 0010 0001 s 8+1 0 6 0 0000 0001 1101 s 12+1 0 8 0 0000 0001 1000 s 12+1 0 9 1 0000 0000 1101 0 s 13+1 0 12 0 0000 0000 1100 1 s 13+1 0 13 1 0000 0000 0111 11 s 14+1 0 16 0 0000 0000 0111 10 s 14+1 0 17 1 0000 0000 0011 101 s 15+1 1 10 0 0000 0000 0011 100 s 15+1 1 11 1 0000 0000 0001 0011 s 16+1 1 15 1 0000 0000 0001 0010 s 16+1 1 16 0Табл.8.1. Некоторые примеры lc-кс из таблицы В.14 стандарта MPEG-2.
Рис. 8.9. Пример процесса встраивания битов водяного знака в наименее значащие биты.
Для встраивания ЦВЗ L в MPEG видео прежде всего выполняется поиск подходящих кодовых слов. Младший бит таких слов заменяется на бит ЦВЗ. Эта процедура продолжается, пока не будут внедрены все биты водяного знака. На рис. 8.9 показан пример встраивания в двух битов.
Извлечение ЦВЗ реализуется аналогично: сначала ищутся подходящие кодовые слова, из которых берутся младшие биты.
Ясно, что скорость передачи скрытой информации определяется числом подходящих кодовых слов. Попробуем оценить ее экспериментально. Для этого воспользуемся тестовой последовательностью длительностью 10 секунд. Величина кадра 720х560 пикселов, кодируется 25 кадров в секунду, размер кодируемой группы равен 12 кадрам. В последовательности присутствуют различные типы кадров: с сравнительно гладкими областями, текстурированные участки и контуры. Для проведения эксперимента последовательность кодировалась на скоростях 1.4, 2, 4, 6, и 8 мбит/с.
В табл.8.2 показаны результаты встраивания информации в поток видеоданных, сжатый с различными скоростями. Для внедрения использовались только подходящие кодовые слова из I-кадров, исключая DC-коэффициенты. В этой таблице под количеством кодовых слов понимается количество всех кодируемых коэффициентов ДКП, включая коэффициенты, кодируемые кодами с фиксированной длиной кодового слова и коэффициенты постоянного тока. Из таблицы видно, что при работе со сжатым видео можно достичь скорости передачи информации 7 кбит/с с использованием только I-кадров.
Если же использовать и другие типы кадров, то максимальная скорость передачи данных по скрытому каналу связи может быть увеличена до 29 кбит/с. Эти результаты показаны в таблице 8.3.
Экспертные оценки показывают, что вышеописанный процесс встраивания водяного знака не приводит к каким бы то ни было зрительным эффектам при кодировании потока видеоданных на скоростях 4, 6, 8 мбит/с. Оценить степень влияния встроенных водяных знаков на качество видео при скоростях меньших 2 мбит/с не представляется возможным из-за изначально низкого его качества.
Скорость передачи сжатых данных Количество кодовых слов Количество 1с-кс Максимальная скорость передачи меточных бит 1.4 Мбит/с 334.433 1.152 (0.3 %) 0.1 кбит/с 2.0 Мбит/с 670.381 11.809 (1.8 %) 1.2 кбит/с 4.0 Мбит/с 1.401.768 34.650 (2.5 %) 3.5 кбит/с 6.0 Мбит/с 1.932.917 52.337 (2.7 %) 5.2 кбит/с 8.0 Мбит/с 2.389.675 69.925 (2.9 %) 7.0 кбит/с
Табл.8.2. Соотношение скорости кодирования потока видеоданных и максимальной скорости передачи данных по скрытому каналу связи при использовании только внутрикадрово кодированных макроблоков.