Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
3.3.4. Прогноз макроблока с компенсированным движением
Макроблок, соответствующий
области из 16 х 16 пикселов на кадре, является базисной единицей для прогноза с
компенсацией движения во многих важных визуальных кодовых стандартах, включая MPEG-1, MPEG-2, MPEG-4 Visual, Н.263 и Н.264.
Для исходного видеоматериала в формате 4:2:0 (см. гл. 2) структура макроблока
показана на рис. 3.8. Область из 16 х 16 пикселов исходного кадра состоит из
256 сэмплов яркости (сгруппированные в 4 блока сэмплов 8 х 8), 64 голубых
хроматических компонент (один блок 8 х 8) и 64 красных хроматических компонент
(8 х 8), что дает ровно шесть блоков размером 8x8.
Стандарты MPEG-4 Visual и Н.264 оперируют
с кадрами с помощью единиц макроблоков.
Рис. 3.8. Макроблок (4:2:0).
Оценка движения. Оценка движения
макроблока состоит из поиска области пикселов 16 х 16 на ссылочном кадре, который
похож на текущий макроблок. Ссылочным кадром является уже декодированный кадр,
который хронологически может идти раньше или позже текущего. Область поиска на
ссылочном кадре имеет центр в середине положения текущего макроблока. Найденный
блок 16 х 16 пикселов, имеющий наименьшее расхождение с текущим макроблоком,
выбирается в качестве «подходящего» макроблока (рис. 3.9).
Компенсация
движения.
Выбранный «наилучший» макроблок на ссылочном кадре вычитается из текущего
блока, и их разность, называемая остаточным макроблоком (яркости и
хроматичности), кодируется и передается вместе с вектором движения, падающим
позицию наилучшего макроблока по отношению к текущему макроблоку. Внутри
кодера остаточный макроблок кодируется и декодируется, а затем добавляется к
наилучшему макроблоку для формирования реконструированного макроблока, который
сохраняется в ссылочном буфере для использования в будущих прогнозах компенсации
движения.
Рис. 3.9. Оценка движения.
Существует много
вариаций базового процесса оценки движения и компенсации движения. Ссылочным
кадром может быть предыдущий кадр (в хронологическом порядке), будущий кадр
или комбинация двух или более ранее декодированных кадров. Если в качестве
ссылочного выбран будущий кадр, то необходимо его закодировать до текущего
кадра (т.е. кадры должны быть закодированы не в хронологическом порядке). Там,
где имеется существенное расхождение между ссылочным и текущим кадром
(например, при смене сцен), можно кодировать макроблок без компенсации
движения. Таким образом, кодер выбирает или моду intra (кодирование без
компенсации движения), или моду inter (кодирование с
компенсацией движения) для каждого макроблока. Движущиеся объекты на видеосцене
редко следуют строго вдоль границ блоков пикселов 16x16, поэтому более
эффективным может быть использование переменных размеров блоков для оценки и
компенсации движения. Объекты могут также перемещаться на нецелое число
пикселов между кадрами (например, на 2,78 пикселов вместо 2,0 в горизонтальном
направлении). Поэтому лучший прогноз можно построить интерполяцией ссылочного
кадра по позициям подпикселов перед поиском наилучшего положения прогноза.