8.1. Краткое описание стандарта MPEG и возможности внедрения данных

8.1. Краткое описание стандарта MPEG и возможности внедрения данных

Основная идея сжатия по MPEG состоит в том, что из всего потока данных полностью передаются только некоторые кадры, для остальных же передается их отличие от других кадров.

Поток видеоданных в MPEG имеет иерархическую синтаксическую структуру. Каждый уровень содержит один или более подчиненных уровней, как это показано на рис. 8.2. Последовательность видеоданных разделяется на множество групп кадров (ГК), представляющих собой множество видеокадров, непосредственно следующих друг за другом в порядке показа. Далее, кадры подразделяются на слои и макроблоки. Низший уровень, блоковый, состоит из блоков яркости и цветности макроблока.

Рис. 8.2. Многоуровневая синтаксическая структура MPEG.

Рис. 8.3. Гибридная схема кодирования с компенсацией движения.

Алгоритм сжатия MPEG основан на гибридной схеме кодирования [12]. Как показано на рисунке 8.3, эта схема объединяет межкадровое (ДИКМ) и внутрикадровое кодирование последовательности видеоданных.

В пределах ГК временная избыточность среди видеокадров уменьшается за счет применения ДИКМ с временным предсказанием. Это означает, что одни кадры предсказываются по другим. Затем результирующая ошибка предсказания кодируется. В стандарте MPEG используются три типа кадров:

— I-кадры — intra-кадры, кодируются без ссылок на другие кадры, содержат неподвижное изображение и вдобавок используются для построения других типов кадров;

— Р-кадры — предсказуемые кадры, которые кодируются со ссылкой на предыдущий (с точки зрения приемника) принятый (I) или (Р) кадр;

— В-кадры двусторонне интерполируемые кадры, которые кодируются наиболее сложным образом. Такой кадр может строиться и на основе предыдущего кадра, и на основе последующего кадра, и как интерполяция между предыдущим и последующим кадрами.

Закодированная ГК всегда начинается с I-кадра для обеспечения доступа к потоку видеоданных с любой случайной точки. ГК образуется из 12 кадров. Таким образом, при частоте 25 кадров в секунду, I-кадр приходит не реже чем один раз в 0,48 секунды. Вместе с ним восстанавливается полная в той или иной мере идентичность изображения.

На рисунке 8.4 показан пример группы кадров с использованием трех типов кадров и связями между ними.

Рис. 8.4. ГК с использованием трех типов кадров и связями между ними.

Изображение представляется в формате YUV, то есть одним каналом яркости и двумя каналам цветности. Изображение в канале яркости — это, по существу, черно-белое изображение. Известно, что зрительная система человека более чувствительна к изменениям в канале яркости, нежели в каналах цветности. Поэтому компоненты U и V могут быть подвергнуты большему сжатию, чем Y.

Каждый компонент I-кадра разбивается на блоки 8*8 пикселов, затем каждый блок подвергается дискретному косинусному преобразованию (ДКП).

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

Р-кадры (В-кадры кодируются практически аналогично) также разбиваются на блоки 8*8 пикселов и затем сравниваются с некоторым опорным кадром. Затем возможны 3 случая:

1. Отдельный блок в кодируемом Р-кадре совпадает с расположенным в этой же позиции блоком опорного кадра. Тогда достаточно указать, что блок остался таким же.

2. Отдельный блок в кодируемом кадре совпадает с блоком опорного кадра, находящимся в другой позиции. Тогда для его кодирования необходимо задать вектор смещения.

3. Отдельный блок в кодируемом кадре может не совпадать ни с одним из блоков опорного кадра. Тогда он будет кодироваться полностью.

ДКП концентрирует энергию в области низких частот, а, так как человеческий глаз менее чувствителен к высокочастотным колебаниям, то ВЧ компоненты могут быть оцифрованы более грубо. Коэффициент ДКП с индексом (0,0) называется DC-коэффициентом (постоянного тока), и он представляет среднее значение по блоку пикселов. Другие коэффициенты ДКП называются AC-коэффициентами (переменного тока).

Рис. 8.5. Уровни представления блока ДКП.

Таким образом, на низшем уровне синтаксической структуры MPEG находятся блоки пикселов 8*8, представляемые 64 коэффициентами ДКП. Рисунок 8.5 показывает три области, на которые может быть разделен блоковый уровень.

Первый уровень — коэффициентов, где блок содержит 8*8 оцифрованных коэффициентов ДКП, представленных целыми числами. Многие из них обычно равны нулю, особенно высокочастотные.

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

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

Наиболее вычислительно простым будет алгоритм внедрения данных на блоковом уровне. Также невысокую сложность имеет алгоритм встраивания ЦВЗ на уровне коэффициентов, требующий только осуществления кодирования Хаффмана, кодирования длин серий и квантования, как показано на рисунке 8.6.

Рис. 8.6. Встраивание ЦВЗ в области коэффициентов.

Алгоритм встраивания ЦВЗ, работающий в битовой области, требует только осуществления дополнительного кодирования Хаффмана. Из этого следует, что вся процедура встраивания может состоять из декодирования Хаффмана, специальной модификации и кодирования с Хаффмана. Этот процесс показан на рисунке 8.7.

Рис. 8.7. Встраивание водяных знаков в битовой области.

Первый из описываемых методов осуществляет внедрение водяного знака на уровне коэффициентов.

Данный текст является ознакомительным фрагментом.