Пояснительная записка (1209785), страница 6
Текст из файла (страница 6)
Рисунок 3.4 – Группа кадров с использованием трех типов кадров и связями между ними
Изображение представляется в формате YUV, то есть одним каналом яркости и двумя каналам цветности. Изображение в канале яркости – это, по существу, черно-белое изображение. Известно, что зрительная система человека более чувствительна к изменениям в канале яркости, нежели в каналах цветности. Поэтому компоненты U и V могут быть подвергнуты большему сжатию, чем Y.
Вообще YUV – это формат представления цвета, который используется в европейском вещании телевизионного стандарта PAL, представленного первоначально в Англии и Германии в 1967 году. PAL используется большинством европейских государств и многими странами во всем мире. Соединенные Штаты и Япония используют стандарт NTSC, Франция, Россия и некоторые другие государства – SECAM. Аналоговые видеосистемы, такие как NTSC, PAL и SECAM, передают цветные видеосигналы как сигнал яркости (Y) и два сигнала цветовой разности (U и V).
Информация о цвете передается мозгу по трем каналам: каналу яркости, сине-желтому и красно-зеленому каналу. Например, в то время как мы различаем сине-зеленые оттенки, мы никогда не почувствуем оттенок, который является одновременно синим и желтым. Возможно, поэтому YUV настолько распространена. Эта система представления цвета используется такими цветными форматами, как YUV9 или YUV2.
Следующим шагом каждый компонент I-кадра разбивается на блоки 8*8 пикселей, затем каждый блок подвергается дискретному косинусному преобразованию (ДКП).
После ДКП в каждую ячейку блока вместо значения яркости (цветности) ставится коэффициент ДКП. Таким образом, получается двумерный энергетический спектр участка изображения. Энергетический спектр изображения обычно сосредотачивается в низкочастотных коэффициентах. Чем меньше отличаются друг от друга значения соседних пикселей, тем ближе к нулю значения более высокочастотных коэффициентов ДКП. Коэффициенты ДКП квантуются.
Р-кадры (В-кадры кодируются практически аналогично) также разбиваются на блоки 8*8 пикселей и затем сравниваются с некоторым опорным кадром. Затем возможны три случая:
-
отдельный блок в кодируемом Р-кадре совпадает с расположенным в этой же позиции блоком опорного кадра. В этом случае достаточно указать, что блок остался таким же;
-
отдельный блок в кодируемом кадре совпадает с блоком опорного кадра, находящимся в другой позиции. Тогда для его кодирования необходимо задать вектор смещения;
-
отдельный блок в кодируемом кадре может не совпадать ни с одним из блоков опорного кадра. Тогда он будет кодироваться полностью.
ДКП концентрирует энергию в области низких частот, а, так как человеческий глаз менее чувствителен к высокочастотным колебаниям, то ВЧ компоненты могут быть оцифрованы более грубо. Коэффициент ДКП с индексом (0,0) называется DC-коэффициентом (постоянного тока), и он представляет среднее значение по блоку пикселей. Другие коэффициенты ДКП называются AC-коэффициентами (переменного тока).
Таким образом, на низшем уровне синтаксической структуры MPEG находятся блоки пикселей 8*8, представляемые шестьюдесятью четырьмя коэффициентами ДКП. На рисунке 3.5 изображены три области, делящие блоковый уровень.
Рисунок 3.5 – Уровни представления блока ДКП
Первый уровень – это уровень коэффициентов, где в блоке содержатся 8*8 оцифрованных коэффициентов ДКП, которые представлены целыми числами. Высокочастотные коэффициенты при этом обычно равны нулю.
Второй уровень – это уровень пар, в котором коэффициенты ДКП сканируются по зигзагообразной траектории, а затем замещаются парами, которые состоят из длины нулевой серии, предшествующей ненулевому коэффициенту, и значения этого коэффициента. Нулевые коэффициенты при этом опускаются. Ниже на рисунке 3.6 приведена схема встраивания ЦВЗ в области коэффициентов.
Рисунок 3.6 – Встраивание ЦВЗ в области коэффициентов
На третьем (битовом) уровне пары, которые были сформированы ранее кодируются кодом Хаффмана. Маркер конца блока (КБ) заканчивает блоки коэффициентов ДКП.
Алгоритм внедрения цифрового водяного знака, который действует в битовой области, требует дополнительного кодирования Хаффмана. Следовательно, процедура внедрения может состоять из декодирования Хаффмана, специальной модификации и кодирования Хаффмана. Схема этого процесса представлена на рисунке 3.7.
Рисунок 3.7 – Встраивание водяных знаков в битовой области
В алгоритме встраивания цифровых водяных знаков в видеопоследовательность во время процесса кодирования MPEG2 используются три критерия, основанные на особенностях человеческого зрения для внедрения надежного водяного знака, сохраняя при этом его незаметность. Первый критерий основан на различии чувствительности человеческого зрения к основным трем цветовым каналам (красный, зеленый и синий), а второй основан на частотной маскировке, предложенной Тонгом и Венецанопулосом в 1998. Третий критерий основан на слабости человеческого зрения в области отслеживания высокоскоростного движения, которое напрямую связана с вектором движения каждого макроблока. Третий критерий применяется только к P-кадрам, тогда как другие два критерия применяются как для I-кадров, так и для P-кадров. В данном алгоритме B-кадры исключаются из процесса внедрения и обнаружения водяных знаков для уменьшения вычислительной сложности. Таким образом, процессы внедрения и обнаружения водяных знаков не вызывают задержки в процессах кодирования и декодирования. Результаты моделирования показывают незаметность и устойчивость водяного знака к общей обработке сигналов и некоторым преднамеренным атакам, таким как отбрасывание, усреднение и замена кадров. Незаметность водяного знака измеряется с использованием коэффициента шума по сигналу пикового сигнала (Peak Signal Noise Ratio, PSNR) и объективной оценки на основе системы человеческого зрения, предложенной Вангом и Бовиком в 2004.
В алгоритме, основанном на HVS три упомянутых критерия используются для внедрения незаметного и устойчивого водяного знака в видеопоследовательность [14]. Эти критерии основаны на слабой чувствительности человеческого зрения к синему каналу, а также таким вещам, как текстура и высокая скоростью движения.
В зрительной системе человека существует три типа колбочек (фоторецепторов), которые реагируют на основных три цвета: красный, зеленый и синий. Количество конусов, реагирующих на синий, в тридцать раз меньше числа колбочек, реагирующих на красный или зеленый, что означает, что человеческое зрение имеет слабую чувствительность к синему цвету. На рисунке 3.8 показана доля света, поглощаемого каждым типом колбочек; здесь R, G и B представляют собой красный, зеленый и синий цвета соответственно. Данный алгоритм внедряет сигнал водяного знака в синий канал. Обычно цветовая модель, используемая в видеопоследовательностях, представляет собой YUV или YCrCb, поэтому сначала эти цветовые пространства преобразуются в цветовую модель RBG с использованием матрицы преобразования.
Рисунок 3.8 – Чувствительность зрительной системы человека к различной длине волны на примере трех цветов
Второй критерий основан на различии чувствительности человеческого зрения к таким пространственным особенностям, таким как текстуры. Каждый I-кадр и P-кадр разделены на блоки размером 8x8, а затем двумерное дискретное косинусное преобразование применяется к каждому блоку. Классификация каждого блока осуществляется с использованием алгоритма, предложенного Тонгом и Венецанопулосом в 1998.
-
Внедрение цифрового водяного знака на уровне коэффициентов
В этом методе осуществляется добавление псевдослучайного массива к DC-коэффициентам видео, сжатого по стандарту MPEG. В процессе встраивания ЦВЗ непосредственно участвуют только значения яркости в I-кадрах.
Для внедрения водяного знака осуществляется следующая процедура:
-
на секретном ключе генерируется массив псевдослучайных целых чисел {-1,1}, имеющий те же размеры, что и I-кадр;
-
полученный массив модифицируется в соответствии водяным знаком и умножается на некоторый коэффициент усиления;
-
значения коэффициентов постоянного тока каждого из I-кадров складываются с соответствующими числами модифицированного массива.
При применении этого метода качество видео становится значительно хуже. Из этого следует, что для сохранения необходимого качества видеоряда, который в результате получается, коэффициент усиления необходимо брать низким (<1), и количество пикселей на один бит ЦВЗ должно быть достаточно большим (>>100,000). Так происходит в основном потому, что элементы массива водяного знака встраиваются только в один из шестидесяти четырех коэффициентов ДКП – в коэффициент постоянного тока. А к изменениям в этой области человеческий глаз особенно чувствителен. При использовании более тонкого метода встраивания битов ЦВЗ в коэффициенты ДКП осуществляется внедрение информации не только в коэффициенты постоянного тока, но и в коэффициенты переменного тока в I, Р, В-кадров. ЦВЗ, как и в предыдущем случае, представляет собой массив псевдослучайных чисел. Для каждого массива видеоданных Ix,y(i) любого из типов кадров осуществляются действия:
Коэффициент постоянного тока изменяется и, следовательно, среднее значение блока видеоданных складывается со средним значением водяного знака.
Чтобы внедрить информацию в коэффициенты переменного тока, поток бит кодируемого блока просматривается по кодовым словам (код Хаффмана) и определяется ненулевой коэффициент ДКП. Для вычисления положения и амплитуды Ix,y(i) коэффициента (кандидата для внедрения информации) декодируются значение такого кодового слова и длина серии.
Следующим шагом находится стегообраз коэффициента. Исходное кодовое слово, которое предназначено для кодирования стегообраза коэффициента ДКП необходимо заменить, если его размер не больше длины кодового слова, предназначенного для кодирования исходного коэффициента ДКП. В ином случае слово остается тем же.
Кодирование продолжается до тех пор, пока все коэффициенты переменного тока блока видеоданных не будут обработаны таким же способом.
Чтобы извлечь водяной знак, требуется полностью декодировать поток видеоданных. Вычисляемая корреляция между стегообразом и цифровым водяным знаком позволяет извлечь биты водяного знака.
При непосредственном изменении коэффициентов ДКП в сжатом видеопотоке появляется следующая проблема: накапливаются ошибки или сдвиг. Это происходит потому, что предсказания по предыдущим кадрам применяются для восстановления настоящего кадра, который также может служить основой для будущих предсказаний. Таким образом, когда внедряется водяной знак, искажения могут распространяться в пространственной и временной области. Чтобы компенсировать искажения, добавляют специальный сигнал. Он должен равняться разнице между предсказанием вектора компенсации движения видео с внедренным водяным знаком и без него (рисунок 3.9).
Рисунок 3.9– Увеличение сложности вычислений, необходимое для компенсации сдвига
Недостаток такого подхода заключается в увеличении сложности алгоритма внедрения водяного знака, поскольку для вычисления сигнала компенсации требуется выполнить полное декодирование сжатого видео, а также вычислить ДКП.
Поскольку битовая скорость ограничена, при внедрении модифицируются только около 10–20 % коэффициентов ДКП, в зависимости от того, какие видеоданные содержит блок, и грубости MPEG-квантователя. В случае с низкочастотным видео, изменяются только коэффициенты постоянного тока. Встраиваемый цифровой водяной знак зависит от содержания блока видеоданных поскольку биты ЦВЗ могут быть встроены только в ненулевые коэффициенты. В случае с низкочастотным видео, цифровой водяной знак напротив состоит только из низкочастотных компонент.
Создатели данного алгоритма заявляют, что его сложность меньше сложности последовательного выполнения операций декодирования видео, встраивания водяного знака, сжатия видео. Водяной знак незаметен на глаз, если не сравнивать непосредственно стегообраз с пустым контейнером, который ему соответствует. Также ЦВЗ сохраняется при следующих операциях: фильтровании, зашумлении (аддитивным шумом) и дискретизации.