Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


3.3.3. Оценка и компенсация движения на основе блоков

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

• Поиск на ссылочном кадре (предыдущем или следующем, ранее закодированном и переданном декодеру) «подходящего» блока из  пикселов. Это делается путем сравнения фиксированного -блока с некоторыми или со всеми -блоками области поиска (обычно она представляет собой некий регион с центром в середине этого выбранного блока) и нахождение «самого подходящего» блока. Популярным критерием схожести блоков служит энергия остатка, получаемого вычитанием блока-кандидата из фиксированного -блока, т.е. выбирается блок-кандидат, минимизирующий энергию остатка. Этот процесс поиска подходящего блока называется оценкой движения.

• Выбранный кандидат становится прогнозом текущего - блока и его вычитают из этого блока для получения остаточного -блока (компенсации движения).

• Остаточный блок кодируется и передается декодеру, и декодер получает координаты вектора смещения текущего блока по отношению к позиции блока-кандидата (вектор движения).

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

Компенсация движения на основе блоков очень популярна по многим причинам. Этот метод достаточно прост и легко поддается программной реализации. Он хорошо вписывается в прямоугольный формат кадров, а также в процедуры преобразования изображений на основе блоков (например, в дискретное косинус- преобразование, см. далее). Компенсация движения определяет достаточно приемлемую временную модель для многих видеопоследовательностей. Имеется, однако, ряд недостатков. Например, «реальные» объекты редко имеют четкие прямоугольные границы. Объекты часто перемещаются на нецелое число пиксельных позиций между кадрами, и многие типы перемещений трудно скомпенсировать, используя методы на основе блоков (например, деформацию объектов, их повороты, изменение масштаба, т.е. приближение или удаление объектов от видеокамеры, сложные движения, такие как клубы дыма). Несмотря на эти недостатки, компенсация движения на основе блоков является базой временных моделей во всех современных стандартах цифрового видеокодирования.

 



<< ПредыдущаяОглавлениеСледующая >>