Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Визуализация компенсации движения блока MPEG. Блоки, которые перемещались из одного кадра в другой, показаны белыми стрелками, что делает четко видимыми движения различных платформ и персонажа.

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

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

Функциональность [ править ]

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

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

Иллюстрированный пример [ править ]

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

MPEG [ править ]

В MPEG изображения предсказываются из предыдущих кадров ( P-кадры ) или двунаправленно из предыдущего и будущего кадров ( B-кадры ). B-кадры более сложны, потому что последовательность изображений должна передаваться и храниться не по порядку, чтобы будущий кадр был доступен для генерации B-кадров. [3]

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

Компенсация глобального движения [ править ]

При глобальной компенсации движения модель движения в основном отражает движения камеры, такие как:

  • Dolly - перемещение камеры вперед или назад
  • Трек - перемещение камеры влево или вправо
  • Стрела - перемещение камеры вверх или вниз
  • Панорама - вращение камеры вокруг оси Y, перемещение обзора влево или вправо
  • Наклон - поворот камеры вокруг оси X, перемещение обзора вверх или вниз
  • Roll - вращение камеры вокруг оси обзора

Лучше всего он работает для неподвижных сцен без движущихся объектов.

Есть несколько преимуществ глобальной компенсации движения:

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

MPEG-4 ASP поддерживает GMC с тремя опорными точками, хотя некоторые реализации могут использовать только одну. Одна контрольная точка допускает только поступательное движение, которое из-за относительно больших затрат на производительность дает небольшое преимущество перед компенсацией движения на основе блоков.

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

DCT с компенсацией движения [ править ]

Блокировка компенсации движения [ править ]

Блочная компенсация движения (BMC), также известная как дискретное косинусное преобразование с компенсацией движения (MC DCT), является наиболее широко используемым методом компенсации движения. [2] В BMC кадры разделяются на блоки пикселей (например, макроблоки размером 16 × 16 пикселей в MPEG ). Каждый блок предсказывается из блока одинакового размера в системе отсчета. Блоки никоим образом не трансформируются, кроме смещения в позицию предсказанного блока. Этот сдвиг представлен вектором движения .

Чтобы использовать избыточность между векторами соседних блоков (например, для одного движущегося объекта, покрытого несколькими блоками), обычно кодируют только разницу между текущим и предыдущим векторами движения в битовом потоке. Результат этого процесса дифференцирования математически эквивалентен глобальной компенсации движения с возможностью панорамирования. Далее по конвейеру кодирования энтропийный кодер воспользуется преимуществом результирующего статистического распределения векторов движения вокруг нулевого вектора для уменьшения размера вывода.

Можно сдвинуть блок на нецелое число пикселей, что называется субпиксельной точностью . Промежуточные пиксели генерируются путем интерполяции соседних пикселей. Обычно используется полупиксельная или четвертьпиксельная точность ( Qpel , используемая H.264 и MPEG-4 / ASP). Вычислительные затраты на точность субпикселей намного выше из-за дополнительной обработки, необходимой для интерполяции, а на стороне кодера - гораздо большего количества потенциальных исходных блоков, подлежащих оценке.

Основным недостатком компенсации движения блока является то, что она создает неоднородности на границах блока (блокирующие артефакты). Эти артефакты проявляются в виде резких горизонтальных и вертикальных краев, которые легко обнаруживаются человеческим глазом, и создают ложные края и эффекты звона (большие коэффициенты в высокочастотных поддиапазонах) из-за квантования коэффициентов преобразования Фурье, используемого для кодирование с преобразованием из остаточных кадров [4]

Блок компенсация движения делит текущий кадр в неперекрывающиеся блоки, и вектор компенсации движения о том , где этих блоках приходят из (общего заблуждение состоит в том, что предыдущий кадр делится на неперекрывающиеся блоки, а векторы компенсации движения сказать , где эти блоки перемещаются в ). Исходные блоки обычно перекрываются в исходном кадре. Некоторые алгоритмы сжатия видео собирают текущий кадр из частей нескольких различных ранее переданных кадров.

Кадры также можно предсказать из будущих кадров. Затем будущие кадры необходимо кодировать до предсказанных кадров, и, таким образом, порядок кодирования не обязательно соответствует реальному порядку кадров. Такие кадры обычно прогнозируются с двух направлений, то есть из I- или P-кадров, которые непосредственно предшествуют или следуют за прогнозируемым кадром. Эти кадры с двунаправленным предсказанием называются B-кадрами . Например, схема кодирования может быть IBBPBBPBBPBB.

Кроме того, для компенсации движения было предложено использовать треугольные плитки. По этой схеме кадр выложен треугольниками, а следующий кадр создается путем выполнения аффинного преобразования этих треугольников. [5] Записываются / передаются только аффинные преобразования. Он может работать с масштабированием, вращением, перемещением и т. Д.

Компенсация движения переменного размера блока [ править ]

Компенсация движения с переменным размером блока (VBSMC) - это использование BMC с возможностью кодировщика динамически выбирать размер блоков. При кодировании видео использование больших блоков может уменьшить количество битов, необходимых для представления векторов движения, в то время как использование меньших блоков может привести к меньшему количеству остаточной информации предсказания для кодирования. В других областях работы изучалось использование метрик функций переменной формы за пределами границ блоков, на основе которых могут быть вычислены межкадровые векторы. [6] В более старых проектах, таких как 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 для каждого блока, подлежащего компенсации. Такая схема находится в режиме расширенного прогнозирования, приложение F H.263.

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

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

Методы кодирования трехмерных изображений [ править ]

Компенсация движения используется при кодировании стереоскопического видео.

В видео время часто рассматривается как третье измерение. Методы кодирования неподвижных изображений могут быть расширены до дополнительного измерения.

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

Методы кодирования 2D + Delta используют кодирование, совместимое с H.264 и MPEG-2, и могут использовать компенсацию движения для сжатия между стереоскопическими изображениями.

История [ править ]

Предшественник концепции компенсации движения восходит к 1929 году, когда Р. Д. Келл в Великобритании предложил концепцию передачи только тех частей аналоговой видеосцены, которые меняются от кадра к кадру. Концепция компенсации движения между кадрами восходит к 1959 году, когда исследователи NHK Ю. Таки, М. Хатори и С. Танака предложили прогнозирующее межкадровое кодирование видео во временном измерении . [7]

DCT с компенсацией движения [ править ]

Практическое сжатие видео с компенсацией движения стало возможным благодаря развитию кодирования DCT с компенсацией движения (MC DCT), [8] также называемого компенсацией движения блока (BMC) или компенсацией движения DCT. Это гибридный алгоритм кодирования [7], который сочетает в себе два метода сжатия ключевых данных : кодирование с дискретным косинусным преобразованием (DCT) [8] в пространственном измерении и компенсацию движения с предсказанием во временном измерении . [7] DCT-кодирование - это метод кодирования с преобразованием и сжатием блоков с потерями, который впервые был предложенНасир Ахмед , который изначально предназначал его для сжатия изображений , в 1972 г. [9]

В 1974 году Али Хабиби из Университета Южной Калифорнии представил гибридное кодирование [10] [11], которое сочетает в себе кодирование с предсказанием и кодирование с преобразованием. [7] [12] Однако его алгоритм изначально был ограничен внутрикадровым кодированием в пространственном измерении. В 1975 году Джон А. Роуз и Ганер С. Робинсон расширили алгоритм гибридного кодирования Хабиби до временного измерения, используя кодирование с преобразованием в пространственном измерении и кодирование с предсказанием во временном измерении, разработав межкадровое гибридное кодирование с компенсацией движения. [7] [13] Для кодирования с пространственным преобразованием они экспериментировали с DCT и быстрым преобразованием Фурье.(БПФ), разработав межкадровые гибридные кодеры для обоих, и обнаружил, что DCT является наиболее эффективным из-за его меньшей сложности, способного сжимать данные изображения до 0,25 бит на пиксель для сцены видеотелефона с качеством изображения, сопоставимым с внутрикадровый кодер, требующий 2 бита на пиксель. [14] [13]

В 1977 году Вен-Сюн Чен вместе с Ч. Смитом и С. К. Фраликом разработал быстрый алгоритм DCT. [15] В 1979 году Анил К. Джайн и Джасвант Р. Джайн разработали дальнейшее развитие сжатия видео DCT с компенсацией движения [16] [7], которое также называется компенсацией движения блока. [7] Это привело к тому, что в 1981 году Чен разработал практический алгоритм сжатия видео, названный DCT с компенсацией движения или адаптивным кодированием сцены. [7] DCT с компенсацией движения позже стал стандартным методом кодирования для сжатия видео с конца 1980-х годов. [17] [2]

Первым стандартом кодирования цифрового видео был H.120 , разработанный CCITT (ныне ITU-T) в 1984 году. [18] H.120 использовал кодирование DPCM с компенсацией движения, [7] которое было неэффективным для кодирования видео, [17] Таким образом, H.120 был непрактичным из-за низкой производительности. [18] Стандарт H.261 был разработан в 1988 году на основе сжатия DCT с компенсацией движения [17] [2] и был первым практическим стандартом кодирования видео. [18] С тех пор сжатие DCT с компенсацией движения было принято во всех основных стандартах кодирования видео (включая H.26x и MPEG).форматы). [17] [2]

См. Также [ править ]

  • Оценка движения
  • Стабилизация изображения
  • Межкадровый
  • HDTV размытие
  • Преобразование телевизионных стандартов
  • VidFIRE
  • Компенсация движения X-Video

Приложения [ править ]

  • сжатие видео
  • изменение частоты кадров для воспроизведения фильмов с частотой 24 кадра в секунду на ЖК-экранах 60 Гц или электронно-лучевых трубках с чересстрочной разверткой 100 Гц

Ссылки [ править ]

  1. ^ Чен, Джи; Коч, Ут-Ва; Лю, Кей Джей Рэй (2001). Проектирование систем кодирования цифрового видео: подход в полной сжатой области . CRC Press . п. 71. ISBN 9780203904183.
  2. ^ а б в г д Ли, Цзянь Пинг (2006). Труды Международной компьютерной конференции 2006 года по вейвлетовской активной медиа - технологий и обработке информации: Чунцин, Китай, 29-31 августа 2006 года . World Scientific . п. 847. ISBN 9789812709998.
  3. ^ berkeley.edu - Почему некоторые люди ненавидят би-картинки?
  4. ^ Зенг, Кай и др. «Описание артефактов восприятия в сжатых видеопотоках». Электронная визуализация IS & T / SPIE. Международное общество оптики и фотоники, 2014 г.
  5. Айзава, Киёхару и Томас С. Хуанг. «Модельное кодирование изображений - передовые методы кодирования видео для приложений с очень низкой скоростью передачи данных». Протоколы IEEE 83.2 (1995): 259-271.
  6. ^ Garnham, Nigel W. (1995). Кодирование видео с компенсацией движения - кандидатская диссертация . http://eprints.nottingham.ac.uk/13447/1/thesis.pdf : Ноттингемский университет. OCLC 59633188 . CS1 maint: location ( ссылка )
  7. ^ a b c d e f g h i "История сжатия видео" . ITU-T . Объединенная группа по видео (JVT) ISO / IEC MPEG и ITU-T VCEG (ISO / IEC JTC1 / SC29 / WG11 и ITU-T SG16 Q.6). Июль 2002. С. 11, 24–9, 33, 40–1, 53–6 . Дата обращения 3 ноября 2019 .
  8. ^ а б Леа, Уильям (1994). Видео по запросу: Research Paper 94/68 . 9 мая 1994: Библиотека Палаты общин . Архивировано из оригинального 20 сентября 2019 года . Проверено 20 сентября 2019 года .CS1 maint: location ( ссылка )
  9. Ахмед, Насир (январь 1991 г.). «Как я пришел к дискретному косинусному преобразованию» . Цифровая обработка сигналов . 1 (1): 4–5. DOI : 10.1016 / 1051-2004 (91) 90086-Z .
  10. ^ Хабиби, Али (1974). «Гибридное кодирование графических данных». IEEE Transactions on Communications . 22 (5): 614–624. DOI : 10.1109 / TCOM.1974.1092258 .
  11. ^ Чен, З .; Он, Т .; Джин, X .; Ву, Ф. (2020). «Обучение сжатию видео». IEEE Transactions on Circuits and Systems for Video Technology . 30 (2): 566–576. arXiv : 1804.09869 . DOI : 10.1109 / TCSVT.2019.2892608 . S2CID 13743007 . 
  12. Ом, Йенс-Райнер (2015). Кодирование и передача мультимедийных сигналов . Springer. п. 364. ISBN 9783662466919.
  13. ^ a b Роуз, Джон А .; Робинсон, Гунер С. (30 октября 1975 г.). «Комбинированное пространственное и временное кодирование последовательностей цифровых изображений». Эффективная передача графической информации . Международное общество оптики и фотоники. 0066 : 172–181. Bibcode : 1975SPIE ... 66..172R . DOI : 10.1117 / 12.965361 . S2CID 62725808 . 
  14. Перейти ↑ Huang, TS (1981). Анализ последовательности изображений . Springer Science & Business Media . п. 29. ISBN 9783642870378.
  15. ^ Чен, Вэнь-Сюн; Smith, CH; Fralick, SC (сентябрь 1977 г.). «Быстрый вычислительный алгоритм для дискретного косинусного преобразования». IEEE Transactions on Communications . 25 (9): 1004–1009. DOI : 10.1109 / TCOM.1977.1093941 .
  16. ^ Cianci, Philip J. (2014). Телевидение высокой четкости: создание, развитие и внедрение технологии HDTV . Макфарланд. п. 63. ISBN 9780786487974.
  17. ^ a b c d Ганбари, Мохаммед (2003). Стандартные кодеки: от сжатия изображений до расширенного кодирования видео . Институт инженерии и технологий . С. 1–2. ISBN 9780852967102.
  18. ^ a b c "История инфографики форматов видеофайлов" . RealNetworks . 22 апреля 2012 . Дата обращения 5 августа 2019 .

Внешние ссылки [ править ]

  • Temporal Rate Conversion - статья, дающая обзор методов компенсации движения.
  • Новая архитектура БПФ и дизайн микросхемы для компенсации движения на основе фазовой корреляции
  • Коэффициенты DCT и DFT связаны простыми факторами
  • DCT лучше, чем DFT, также для видео
  • Джон Уайзман, Введение в сжатие видео MPEG
  • DCT и компенсация движения
  • Совместимость DCT, компенсации движения и других методов [ постоянная мертвая связь ]