Компенсация движения это

Компенсация движения это

Компенсация движения это

Оглавление статьи

Компенсация движения это

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

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

Компенсация движения

5. Таким образом, после окончания поиска мы получаем набор векторов, указывающий движение блоков изображения меж кадрами. Эти векторы могут быть естественным образом применены для сотворения изображения скомпенсированного кадра, который лучше приближает кадр для которого выполнялась субсидия движения.

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

Вектор движения и компенсация движения

Опорный кадр Опорный кадр + субсидия

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

Компенсация движения

В новеньком эталоне MPEG-4 AVC/H.264 введены втом числе не квадратные (прямоугольные) блоки, размер которых может дробиться до 4х4 пикселя. Таким образом удаётся очень отлично использовать похожесть примыкающих кадров, а благодаря более сложной виде блоков растет точность субсидии движения на границах передвигающихся объектов. Не считая субсидии движения для предстоящего уточнения изображение (либо для снова появляющихся областей, которых не было в прошедших кадрах) употребляется сжатие межкадровой инфы и независящее сжатие блоков.

Реализация способа полного перебора на C++

Компенсация движения

— в 625-строчных системах не считая 576 активных строк эталон 422 Р@МL обеспечивает возможность кодировки еще 32 строк в кадре как составной части видеосигнала. Это позволяет пропускать впрямую через систему цифрового сжатия принципиальные строчки полевого интервала гашения. Потому эталон 422 Р@МL гарантирует пропускание таковой инфы как полевой временной код и сигналы испытательных Строк, не требуя отдельной обработки этих строк.

Для кодировки звуковых сигналов с целью их компрессии в МРЕG-2 употребляется эталон информационного сжатия звуковых данных MUSICAM (Masked Pattern for Adapted Universal Coding and Multiplexing), обозначаемый втом числе как МРЕG Layer II. Эталон MUSICAM позволяет передавать моно, стерео, многоязыковый и surround (пространственный) звук.

Компенсация движения

Реализация способа полного перебора на C++

  • Полный перебор (Full Search). В некой области вокруг обрабатываемого блока происходит перебор координат искомого блока. Если имеем блок 16×16 и область поиска ±32 x ±32, то нам необходимо будет 4096 раз посчитать SAD для каждого обрабатываемого блока. Это медлительно, но дает гарантированно наилучший итог по данной метрике.
  • Поиск по шаблону. Производится стремительно, дает не наилучшие результаты. (Подвергнется рассмотрению более тщательно)
  • Спиральный поиск. Считается, что чем поближе блок к текущему, тем больше возможность того, что он разыскиваемый. И его точность миниатюризируется от центра к краям области поиска. Имеет дополнительное преимущество. На картинке (в этой статье) с векторами движения видны длинноватые векторы на небе, потому что употреблялся полный перебор начиная с левого верхнего угла области поиска, хотя разумеется, что с нулевыми векторами нет фактически никакой различия, но длинноватые векторы усугубляют сжимаемость поля векторов, а нулевые векторы нет. При спиральном поиске на постоянных участках всегда стоят нулевые векторы.

Компенсация движения

Предсказатели с компенсацией движения в современных системах видеокомпрессии эталона MPEG-2 могут использовать целый ряд способов. Например, макроблок может предсказываться на базе предшествующего изображения, на базе следующего изображения, также на базе и предшествующего, и следующего. В чересстрочных системах поля 1-го кадра могут предсказываться раздельно с внедрением различных векторов движения либо совместно с внедрением общего вектора. Существует втом числе возможность нулевого пророчества (если не найден подходящий опорный макроблок). При том сам текущий макроблок будет кодироваться заместо ошибки пророчества, что значит отказ от межкадрового кодировки и переход к внутрикадровому. Для каждого текущего макроблока кодер выбирает способ пророчества, обеспечивающий наивысшее качество декодированного изображения с учетом ограничений на скорость передачи данных. Info о способе пророчества врубаются в общий поток и передаются декодеру для верного восстановления изображения.

В декодере производится инверсное квантование, инверсное ДКП, в итоге чего формируется ошибка пророчества. Ошибка пророчества складывается с декодированным изображением предшествующего кадра, образуя декодированное изображение текущего кадра.

Вектор движения и компенсация движения

Набросок 8 — Схема работы метода сравнения блоков

Существует несколько методов компенсации движения. Какой-то из них — метод поиска векторов, на которые двинулись блоки текущего кадра по отношению к предшествующему. Для каждого блока в изображении мы находим блок близкий по некой метрике (к примеру, по сумме квадратов разности пикселей) в прошлом кадре в некой округи текущего положения блока. Если малое расстояние по избранной метрике с блоками в прошлом кадре больше избранного порога — блок сжимается независимо.

Компенсация движения

Зона поиска должна быть достаточно большой, чтоб стремительно передвигающийся макроблок изображения первого кадра не вышел из зоны поиска второго кадра. Размеры зоны поиска ограничиваются объемом вычислений, которые нужно выполнить в реальном масштабе времени. Эти размеры втом числе должны быть согласованы с принятой структурой дискретизации ТВ кадра. Обычно, они в 4 раза больше размеров отдельного макроблока. Другими словами, размеры зоны поиска — это 64 х 64. Таким образом, в ТВ кадре создается 576/64 = 9 зон поиска по вертикали и 704/64 = 11 зон по горизонтали.

В эталоне MPEG-2 употребляется способ компенсации движения, основанный на макроблоках. Два смежных кадра, содержащих только активные строчки сигнала яркости (576 активных строк), разбиваются на макроблоки и поболее большие зоны поиска. Размеры макроблока должны быть согласованы со структурой дискретизации кадра ТВ изображения. В эталоне MPEG-2 блок -это квадратная матрица отсчетов размером 16 строк по вертикали и 16 столбцов (отсчетов) по горизонтали. Отметим, что при таком формате блока, ТВ кадр разбивается на целое число зон. По вертикали (576 активных строк/16) — это 36 зон, по горизонтали (704 активных отсчета/16) — 44 зоны.

Влияние параметров поисковых алгоритмов компенсации движения на показатели качества современных видеокодеков

Рис.2. Последовательность кадров динамического видео.

Экспериментальный видеофрагмент (Рис.2.) и главные характеристики кодека формата MPEG4 (Таблица 1), применённого при исследовании, представлены ниже. На рисунке показаны 3 поочередных кадра, на которых запечатлено движение с ускорением однородного по цветовым свойствам шарика. Вследствие движения, установленная вначале размерность зоны отслеживания макроблоков возможно окажется недостаточной для нахождения лучшего прогноза. Другими словами, шарик разгонится так, что наилучший прогноз окажется за границами зоны поиска. По этой причине, были проанализированы способы для задания стартового положения поисковой области, использующие в первом случае только координаты макроблоков, а во 2-м случае только скорости движения макроблоков.

Компенсация движения это

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *