Кодирование данных.
Процесс кодирования производится в следующем порядке:
1) Очередной видеокадр Fn подаётся на вход кодера и обрабатывается там макроблоками (соответствующими областям из 16 ´16 сэмплов яркости и хроматичности).
2) Кадр Fn сравнивается со ссылочным кадром, например, с ранее закодированным кадром F'n-1. Функция оценки движения находит в F'n-1, (или в интерполированной по подсэмплам версии кадра F'n-1)область 16 ´ 16, которая больше других «похожа» на текущий макроблок в Fn (при этом используется некоторый критерий схожести макроблоков). Смещение текущего макроблока по отношению к положению выбранного ссылочного макроблока записывается в вектор движения VM.
3)На основе выбранного вектора движения VM строится прогноз компенсированного движения P (область 16 ´ 16, выбранная функцией оценки движения).
4) Макроблок P вычитается из текущего макроблока, и их разность D называется остаточным макроблоком.
5) Макроблок D преобразуется с помощью ДКП. Обычно макроблок D делится на подблоки 8´8 или 4 ´ 4, и каждый подблок преобразуется отдельно.
6) Каждый подблок квантуется (X).
7) Для коэффициентов ДКП всех подблоков делается переупорядочение и результат кодируется символами «серия - значение».
8) Коэффициенты, векторы движения и связанные с ними информационные заголовки каждого макроблока кодируются энтропийным кодером для получения выходного сжатого битового потока.
Дата добавления: 2015-10-19; просмотров: 863;