Введение

Технология сжатия видео, используемая для эффективного предсказания и генерации видеокадров.

Компенсация движения в вычислительной технике – это алгоритмический метод, используемый для предсказания кадра в видео на основе предыдущих и/или будущих кадров с учетом движения камеры и/или объектов в видео. Она применяется при кодировании видеоданных для сжатия видео, например, при создании файлов MPEG-2. Компенсация движения описывает изображение как преобразование опорного изображения в текущее изображение. Опорное изображение может быть взято из прошлого или даже из будущего. Когда изображения могут быть точно синтезированы на основе ранее переданных/сохраненных изображений, эффективность сжатия повышается. Компенсация движения является одним из двух ключевых методов сжатия видео, используемых в стандартах кодирования видео, наряду с дискретным косинусным преобразованием (DCT). Большинство стандартов кодирования видео, таких как форматы H.26x и MPEG, обычно используют гибридное кодирование, сочетающее DCT и компенсацию движения.

После предсказания кадров с помощью компенсации движения кодировщик определяет разностный сигнал (остаток), который затем сжимается и передается.

Компенсация движения с изменяемым размером блока

Компенсация движения с переменным размером блока (VBSMC) – это применение компенсации движения (BMC) с возможностью динамического выбора кодером размера блоков. При кодировании видео использование больших блоков может снизить количество бит, необходимых для представления векторов движения, а использование меньших блоков может привести к уменьшению объема остаточной информации, подлежащей кодированию. Другие исследования посвящены использованию метрик переменной формы, выходящих за границы блоков, на основе которых вычисляются межфреймные векторы. В более ранних стандартах, таких как H.261 и MPEG-1, обычно использовался фиксированный размер блока, в то время как более современные стандарты, такие как H.263, MPEG-4 Part 2, H.264/MPEG-4 AVC и VC-1, предоставляют кодеру возможность динамически выбирать размер блока для представления движения.

Компенсация движения перекрывающегося блока

Компенсация движения блоков с перекрытием (OBMC) является хорошим решением этих проблем, поскольку она не только повышает точность предсказания, но и позволяет избежать блочных артефактов. При использовании OBMC блоки обычно вдвое больше по каждой размерности и перекрываются поквадрантно со всеми 8 соседними блоками. Таким образом, каждый пиксель принадлежит 4 блокам. В такой схеме для каждого пикселя существует 4 предсказания, которые суммируются до взвешенного среднего. Для этого блоки ассоциируются с оконной функцией, обладающей свойством, что сумма 4 перекрывающихся окон равна 1 в любой точке. Исследования методов снижения сложности OBMC показали, что вклад диагонально смежного блока в оконную функцию является наименьшим. Уменьшение веса этого вклада до нуля и пропорциональное увеличение весов остальных вкладов приводит к значительному снижению сложности без существенной потери качества. В такой схеме каждый пиксель принадлежит уже 3 блокам вместо 4, и для компенсации каждого блока используется не 8, а только 4 соседних блока. Подобная схема реализована в режиме расширенного предсказания Annex F стандарта H.263.

Компенсация движения четверть пикселя (QPel) и полпикселя

В компенсации движения четверть или половина отсчетов фактически являются интерполированными подвыборками, обусловленными дробными векторами движения. На основе векторов и полных отсчетов подвыборки могут быть вычислены с использованием бикубической или билинейной 2D-фильтрации. См. подраздел 8.4.2.2 "Процесс интерполяции дробных отсчетов" стандарта H.264.

Методы кодирования 3D-изображений

Компенсация движения используется в стереоскопическом кодировании видео. Во многих видеоматериалах время часто рассматривается как третье измерение. Однако методы кодирования изображений могут быть расширены и на это дополнительное измерение. JPEG 2000 использует вейвлеты, которые также могут быть использованы для адаптивного кодирования движения без разрывов между блоками. Дробнопиксельные аффинные преобразования приводят к растеканию между соседними пикселями. Если не используется более высокое внутреннее разрешение, разностные изображения в основном борются с размытием. Разностное изображение также может быть закодировано вейвлетами, чтобы границы адаптивных блоков совпадали. Методы кодирования 2D+Delta используют кодирование, совместимое с H.264 и MPEG 2, и могут применять компенсацию движения для сжатия между стереоскопическими изображениями.

История

Предшественник концепции компенсации движения восходит к 1929 году, когда Р. Д. Келл в Великобритании предложил передавать только те части аналоговой видеосцены, которые изменялись между кадрами. В 1959 году концепция компенсации движения между кадрами была предложена исследователями NHK Y. Taki, M. Hatori и S. Tanaka, которые предложили предсказывающее межкадровое кодирование видео во временной области.

ДВТ с компенсацией движения

Практическая компрессия видео с компенсацией движения появилась с развитием кодирования DCT с компенсацией движения (MC DCT), также называемого компенсацией движения блоков (BMC) или компенсацией движения на основе DCT. Это гибридный алгоритм кодирования.

В 1974 году Али Хабиби из Университета Южной Калифорнии представил гибридное кодирование, сочетающее в себе предсказательное кодирование и трансформатное кодирование. Однако его алгоритм изначально был ограничен внутрикадровым кодированием в пространственной области. В 1975 году Джон А. Роуз и Гуннер С. Робинсон расширили гибридный алгоритм кодирования Хабиби до временной области, используя трансформатное кодирование в пространственной области и предсказательное кодирование во временной области, разработав межкадровое гибридное кодирование с компенсацией движения. Для пространственного трансформатного кодирования они экспериментировали с DCT и быстрым преобразованием Фурье (FFT), разрабатывая межкадровые гибридные кодеры для обоих, и обнаружили, что DCT является наиболее эффективным благодаря своей меньшей сложности, способным сжимать данные изображения до 0,25 бит на пиксель для сцены видеотелефона с качеством изображения, сопоставимым с внутрикадровым кодером, требующим 2 бит на пиксель. В 1979 году Анил К. Джайн и Джасвант Р. Джайн дополнительно развили компрессию видео DCT с компенсацией движения. Стандарт H.120 использовал кодирование DPCM с компенсацией движения, которое было неэффективно для кодирования видео, и поэтому H.120 оказался непрактичным из-за низкой производительности. Стандарт H.261 был разработан в 1988 году на основе компрессии DCT с компенсацией движения и стал первым практическим стандартом кодирования видео. С тех пор компрессия DCT с компенсацией движения была принята всеми основными стандартами видеокодирования (включая форматы H.26x и MPEG), которые последовали.