Глобальная компенсация движения
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2008 г. ) |
Глобальная компенсация движения (GMC) — это метод компенсации движения, используемый при сжатии видео для уменьшения битрейта, необходимого для кодирования видео . Чаще всего он используется в MPEG-4 ASP , например, с DivX и Xvid кодеками .
Операция
[ редактировать ]Глобальная компенсация движения описывает движение в сцене на основе одной инструкции аффинного преобразования . Опорный кадр панорамируется, поворачивается и масштабируется в соответствии с точками деформации GMC, чтобы спрогнозировать, как будет выглядеть следующий кадр. Поскольку эта операция работает с отдельными пикселями (а не с блоками), она способна создавать прогнозы, которые невозможны при использовании подходов на основе блоков.
Каждый макроблок в таком кадре может быть компенсирован с использованием глобального движения (в этом случае дополнительная информация о движении не передается) или, альтернативно, локального движения (как если бы GMC был выключен). Этот выбор, хотя и требует дополнительного бита на макроблок , может улучшить качество прогнозирования и, следовательно, уменьшить остаток .
Поскольку преобразования, используемые в глобальной компенсации движения, добавляются в поток кодирования только при их использовании, они не несут накладных расходов с постоянной скоростью передачи данных. Прогнозируемый кадр, использующий GMC, называется S-кадром (кадром спрайта), а прогнозируемый кадр, закодированный без GMC, называется либо P-кадром , если он был предсказан исключительно на основе предыдущих (прошлых) кадров, либо B-кадром , если он был предсказан совместно с прошлыми и будущими кадрами (непредсказанный кадр, закодированный как целое изображение, называется I-кадром ).
Реализации
[ редактировать ]DivX предлагает кодирование GMC с 1 точкой деформации: это упрощает аппаратную поддержку сертифицированных и несертифицированных DivX устройств.Но поскольку GMC с 1 точкой деформации ограничивает глобальное преобразование только операцией панорамирования (поскольку панорамирование можно описать с помощью блоков), такая реализация редко улучшает качество видео.
Xvid предлагает кодирование GMC с тремя точками деформации: в результате в настоящее время он не имеет аппаратной поддержки.
Критика
[ редактировать ]GMC не оправдала ожиданий значительного улучшения компенсации движения, и в результате она была исключена из спецификации H.264/MPEG-4 AVC , разработанной как преемник MPEG-4 ASP. Большую часть преимуществ GMC можно получить за счет лучшего прогнозирования вектора движения. [1] GMC также требует больших вычислительных затрат во время кодирования, что дает относительно незначительное улучшение качества.
Из-за дополнительных затрат ЦП на декодирование глобальной компенсации движения большинство аппаратных проигрывателей не поддерживают глобальную компенсацию движения.