Поиск временной повышающей дискретизации / [закрытое] программное обеспечение интерполяции движения

Я ищу что-то (prereably программное обеспечение FOSS), который может взять анимацию с изображениями N, как введено, и который произведет анимацию с кадрами M, где M находится в диапазоне 2 Н к 5 Н или около этого.

Я полагаю, что общую технику называют "временной повышающей дискретизацией" или возможно "inbetweening" (или "'вставляющий промежуточные кадры", если коротко). Обратите внимание, что это действительно должно приложить некоторое усилие, чтобы сделать отслеживание движения вещей в сцене ("оптический поток"); просто исчезновение ("распадается") между ключевыми кадрами, не собирается сокращать его. Поиск с помощью Google "временной повышающей дискретизации" поднимает любое количество статей о предмете, но я должен все же обнаружить любой код/программное обеспечение (gstreamer плагин был бы прекрасен), я могу просто использовать для испытания техники.

Какие-либо предложения?

Дополнительная информация: "Интерполяция движения", кажется, более широко используемое имя в телевизионном мире для того, что я ищу. Посмотрите это и видео здесь также. Интересно, некоторые киноманы, кажется, ненавидят то, что эти технологии делают к фильму на 24 фута в секунду: например, комментарий "заставляет Унесенные ветром быть похожими на выстрел мыльной оперы на видео".

5
задан 04.01.2011, 15:33

2 ответа

Плагин MVTools для AVISynth выполняет интерполяцию кадра. AviSynth (SourceForge) является основанным на сценарии инструментом редактирования видео. Вы определяете операции для выполнения в текстовом файле сценария.

Сценарий я должен был воспроизвести войну Charlie Wilson на уровне 120 футов в секунду:

cyia.avs:

source = DirectShowSource("Cyia Batten - Charlie Wilson's War.avi")

# assume progressive NTSC Film 23.976 source

# Fast Search
#============
# we use explicit idx for more fast processing
#backward_vec = source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1)
#forward_vec = source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1)


# Slow Search
# ===========
# Use block overlap, halfpixel accuracy and Exhaustive search
backward_vec = source.MVAnalyse(overlap=4, isb = true, pel=2, search=3, idx=1)
forward_vec = source.MVAnalyse(overlap=4, isb = false, pel=2, search=3, idx=1)


#double framerate
#source.MVFlowFps(backward_vec, forward_vec, num=2*FramerateNumerator(source), den=FramerateDenominator(source), idx=1)

#triple framerate
#source.MVFlowFps(backward_vec, forward_vec, num=3*FramerateNumerator(source), den=FramerateDenominator(source), mask=0, idx=1)

#120fps
source.MVFlowFps(backward_vec, forward_vec, num=120, den=1, mask=0, idx=1)

Да, это действительно уничтожает качество фильма при преобразовании во что-либо выше, чем 24 фута в секунду.

3
ответ дан 07.12.2019, 17:38

Короткий ответ:

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

Более длинный ответ:

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

2
ответ дан 07.12.2019, 17:38

Теги

Похожие вопросы