寻找时间上采样/运动插值软件[关闭]


5

我正在寻找一些东西(可以预见的FOSS软件),它可以拍摄N个图像作为输入的动画,并且将输出具有M个帧的动画,其中M在2N到5N左右的范围内。

我相信这种通用技术被称为“时间上采样”或可能是“中间”(或简称为“补间”)。注意,它确实需要做一些努力来对场景中的事物进行运动跟踪(“光流”);只是关键帧之间的淡化(“溶解”)不会削减它。谷歌搜索“时间上采样”出现了关于这个主题的任何数量的论文,但我还没有发现任何代码/软件(gstreamer插件将是完美的)我可以用来尝试该技术。

有什么建议 ?

附加信息 “运动插值” 似乎是我正在寻找的电视世界中更广泛使用的名称。看到 这个 视频 这里也。有趣的是,一些电影人似乎讨厌这些技术对24FPS电影所做的事情:例如评论“让Gone With The Wind看起来就像是在视频中拍摄的肥皂剧”。

Answers:


3

MVTools 插件 AviSynth的 施行 帧插值 AviSynth的 SourceForge上 )是一个基于脚本的视频编辑工具。您可以定义要在脚本文本文件中执行的操作。

我不得不播放的剧本 查理威尔逊的战争 在120fps:

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)

是的,它确实破坏了 电影质量 当转换为高于24fps的任何东西时。


谢谢!这正是我希望得到的那种东西!
timday

2

简短回答:

使用当前技术需要大量手动工作才能使其工作。

更长的回答:

获得“中间”图像(所谓的光流)的通常方法是通过映射两个图像(源,目的地)中的点并计算两个图像之间的变换。当然,我们确实有边缘寻找算法或预测算法来跟踪不同的对象(Blob,基于内核,轮廓等等)。但是,“现实生活”电影转换的完全自动化至多是实验性的。


1
实验?有些电视机(实时!)可以使24/25/30 FPS视频看起来更流畅。结果有时甚至看起来不错。
Hugh Allen

@Hugh Allen - 我认为任何电视机都不会进行大量的运动跟踪/光流以在他们通常乏味的硬件中获得“中间”图像。说实话,即使最近的SIGGRAPH条目,运动跟踪技术仍然不是很成熟......
bubu

他们必须做运动追踪。你可以做的最好的插值帧只是为了淡化,这只会使运动看起来模糊。
Hugh Allen

我也普遍认为技术被用在一些(很多?)电视机中。当然这是一个计算上很难的问题;我似乎记得它被吹捧为将Cell处理器放入某些型号的原因。我已经用一些相关链接更新了这个问题。鉴于电视制造商似乎已经相当好地工作,我觉得我不能接受这个答案。
timday

这在很大程度上取决于您认为当前实施的好坏程度。计算上算法很难,即使在计算机图形研究的前沿,跟踪没有手动放置标记的对象仍然是一个发展领域。就个人而言,我没有看到电视机上的算法是好的。 (您可以查看广告,大多数广告只显示模拟图像 - 如果技术那么好就不会出现这种情况。)
bubu

1

slowmoVideo

slowmoVideo是一个OpenSource程序,可以从您的素材中创建慢动作视频。

但它并不能简单地让您的视频以0.01倍的速度播放。您可以平滑地减慢和加速您的素材,可选择使用运动模糊。

慢动作如何工作? slowmoVideo尝试找出视频中像素移动的位置(此信息称为光流),然后使用此信息计算其他帧。

Gstreamer slowmo插件

该插件使用来自slowmovideo的代码,从QT及其内部移植它   解码基于ffmpeg到gstreamer的“框架”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.