Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпорки.docx
Скачиваний:
10
Добавлен:
24.09.2019
Размер:
500.38 Кб
Скачать

15. Гибридная модель dpcm/dct видеокодека.

Большинство стандартов видеокодирования основаны на некоторой единой модели видеокодека - гибридной моделью DPCM/DCT, которая включает оценку движения и компенсацию высоких частот (обозначается DPCM), стадию преобразования и энтропийный кодер.

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

Поток данных кодера. Имеется два основных пути прохождения данных в кодере: слева направо (кодирование) и справа налево (реконструкция). Поток кодирования состоит в следующем:

1. Видеокадр Fn подается на вход кодера и обрабатывается там макроблоками (областям из 16 х 16 сэмплов яркости и хроматичности).

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

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

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

5. Макроблок D преобразуется с помощью DCT. Обычно макроблок D делится на подблоки, и каждый подблок преобразуется отдельно.

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

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

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

Поток реконструкции данных.

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

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

Поток данных декодера.

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

2. Обращается кодирование «серия-значение», и делается обычное упорядочение коэффициентов. В результате получается квантованный преобразованный макроблок X.

3. Макроблок деквантуется, и к результату применяется обратное преобразование DCT, что дает остаточный макроблок D’.

4. Декодированный вектор движения используется для нахождения позиции области 16 х 16 на предыдущем (ссылочном) кадре Fn-1', копия которого хранится декодером. Эта область становится прогнозом с компенсацией движения P.

5. Макроблок P прибавляется к D’, и получается восстановленный макроблок, который сохраняется на своем месте на декодир. кадре Fn'.

После полного декодирования кадр Fn' готов для демонстрации зрителю и, кроме того, его можно сохранить в качестве ссылочного кадра для декодирования следующего кадра Fn+1'.

Из рисунков, а также из приведенных объяснений видно, что кодер содержит в себе часть функций декодера (деквантование, IDCT, реконструкция). Это необходимо, чтобы быть уверенным в том, что и кодер, и декодер работают с одними и теми же ссылочными кадрами Fn-1' для получения прогноза компенсации движения.