Методы анализа и компенсации движения

 

Компенсация движения является одной из важнейших составных частей стандартов MPEG-2 (рисунок 9.5). Метод компенсационного предсказания движения позволяет значительно уменьшить временную избыточность видеопотока. Если следующий кадр содержит сдвинутые части предыдущего кадра, то в этом случае выгодно передавать не весь кадр, а только информацию о движении и изменении сдвинутого пикселя. Ввиду высокой пространственной корреляции достаточно передавать один общий вектор движения для макроблока размером 16 ´16 пикселей [20-22].

 

 

Рисунок 9.5 - Иллюстрация принципа компенсации движения

Для корректного восстановления видеопотока последовательность декодирования кадров должна отличаться от последовательности их передачи и показа зрителю. Так как внутри группы кадров, состоящей обычно из 12 кадров, каждый B кадр восстанавливается по окружающим его P кадрам (в начале и конце группы - по I и Р), а в свою очередь каждый Р кадр - по предыдущему Р (или I) кадру, I кадры могут быть восстановлены независимо от других, они являются опорными для всех P и B кадров группы.

На рисунке9.6 приведена общая схема гибридного кодера. Видеопоследовательность кодируется кадр за кадром. Видеокодер обрабатывает кадр Fn и производит закодированный (сжатый) битовый поток, а декодер использует этот битовый поток для построения реконструированного кадра F'n, который чаще всего не идентичен исходному кадру Fn. Большинство функций декодера, имеются в кодере.

Имеется два основных пути прохождения данных в кодере: кодирование и реконструкция.

Процесс кодирование производится в следующем порядке:

1) Очередной видеокадр Fn подаётся на вход кодера и обрабатывается там макроблоками (соответствующими областям из 16 ´16 сэмплов яркости и хроматичности).

2) Кадр Fn сравнивается со ссылочным кадром, например, с ранее закодированным кадром F'n- 1. Функция оценки движения находит в F'n- 1, (или в интерполированной по подсэмплам версии кадра F'n-1)область 16 ´ 16, которая больше других «похожа» на текущий макроблок в Fn (при этом используется некоторый критерий схожести макроблоков). Смещение текущего макроблока по отношению к положению выбранного ссылочного макроблока записывается в вектор движения VM.

3)На основе выбранного вектора движения VM строится прогноз компенсированного движения P (область 16 ´ 16, выбранная функцией оценки движения).

 

Рисунок 9.6 - Кодер гибридной модели

 

4) Макроблок P вычитается из текущего макроблока, и их разность D называется остаточным макроблоком.

5) Макроблок D преобразуется с помощью ДКП. Обычно макроблок D делится на подблоки 8´8 или 4 ´ 4, и каждый подблок преобразуется отдельно.

6) Каждый подблок квантуется (X).

7) Для коэффициентов ДКП всех подблоков делается переупорядочение и результат кодируется символами «серия - значение».

8) Коэффициенты, векторы движения и связанные с ними информационные заголовки каждого макроблока кодируются энтропийным кодером для получения выходного сжатого битового потока.

Реконструкция данных предусматривает всего два шага:

1) Для каждого квантованного макроблока X делается его деквантование и обратное преобразование для получения декодированного остаточного макроблока D’. Заметим, что процедура квантования не является обратимой, поэтому макроблок D’ в большинстве случаев не совпадает с D (то есть здесь вносится искажение).

2) Прогноз компенсации движения P складывается с D’ для получения реконструированного макроблока, который сохраняется в реконструированном кадре F’n.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: