Не просто генерация кадров: как работает и для чего нужна интерполяция видео

Термин интерполяция пришел из математики. В общем виде это нахождение неизвестных промежуточных значений функции по уже имеющимся. Например, из значений температуры воздуха в 11:00 и 13:00 вычисляют значение в 12:00.

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

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

Как работает интерполяция

Выделяют три основных метода интерполяции от самого простого к самому продвинутому: усреднение кадров, оценка движения (MEMC) и AI-интерполяция.

Усреднение кадров – алгоритм, который берет два соседних кадра и накладывает их друг на друга. Никаких дополнительных вычислений или обработки не производится, так что реализовать такой метод проще остальных.

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

Гораздо более популярная технология – оценка движения (Motion Estimation – Motion Compensation, сокращенно MEMC). Она работает в два этапа: сперва делит кадр на множество блоков, далее оценивает вектор движения каждого блока.

Чем больше блоков, тем точнее работа алгоритма. Но вместе с этим возрастает время обработки, так что для оптимизации часто используют динамические блоки – их размер меняется в зависимости от разницы между соседними кадрами.

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

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

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

При работе алгоритма на видео возникает эффект мыльной оперы – он выражается в неестественной плавности движений. Название эффекта отсылает к одноименному жанру сериалов, которые в основе снимались на камеры с более высокой частотой, чем «кинематографические» 24 кадра в секунду.

Усреднение кадров и оценка движения уже давно применяются в обработке видео. Однако сейчас они уступают место более совершенным технологиям интерполяции, в основе которых лежит искусственный интеллект.

Нейросети на страже плавности

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

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

Понимание того, где расположен объект, является ключевым отличием методов интерполяции на базе ИИ. Еще одно отличие «умной» интерполяции – способность анализировать не только два соседних кадра, но выборки из десятков кадров видеоролика. Так в распоряжении нейросети оказывается больше информации, и финальный результат выглядит естественнее.

Алгоритм генерации промежуточного кадра с помощью нейросети

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

Для интерполяции на компьютере существуют такие утилиты, как Topaz Chronos и Adobe Pixel Motion. Правда, тут следует сделать оговорку: они не работают в реальном времени. То есть, приходится ждать, пока графический ускоритель обработает видеоролик, и только потом его можно посмотреть с увеличенной частотой кадров.

Впрочем, уже есть схожая технология, работающая в реальном времени – Nvidia DLSS 3. Она тоже генерирует дополнительные кадры при помощи ИИ, благодаря чему повышается кадровая частота в играх. Время генерации кадра при этом гораздо меньше, чем у приведенных выше аналогов.

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

Что дальше

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

Вместе с ростом производительности будет расти сложность алгоритмов. Следующим логическим этапом будет генерация не одного, а сразу нескольких промежуточных кадров – это будет полезно как для игр, так и для просмотра спортивных трансляций.

Еще один сегмент, в котором пригодится интерполяция – виртуальная реальность. Сегодня VR-игры требуют огромной производительности, поскольку их разрешение превосходит 4K. Кроме того, необходимо одновременно генерировать изображения для левого и правого глаза, причем делать это с частотой более 60 кадров в секунду.

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

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

Недавно вышла статья Nvidia о синтезе кадров для видеоконференций. В частности, говорится о сжатии видео. Из одного несжатого изображения новый алгоритм смог достроить целую последовательность кадров. Реализация технологии повысит качество видеосвязи при медленном подключении.

Наконец, интерполяция видео найдет применение в медицине. В 2020 году вышла научная работа, в которой авторы разработали алгоритм синтеза изображений на базе машинного обучения – он предназначен для кардиокоронарографии с высокой частотой кадров. Внедрение алгоритма позволит снизить рентгеновское излучение, которому подвергают пациентов в ходе процедуры.

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

[email protected]
наверх