当代生活,我们总是在追求更大的屏幕尺寸、更好的屏幕素质和更高的刷新率。目前来看,电视屏幕的刷新率已经从4K60帧向8K帧过渡,手机也从90帧向帧发展,最强的还是我们这些「打游戏」的PC玩家,显示器的刷新率已经是起步,还要玩显示器超频。
但是和屏幕对应的则是影视内容帧率的增长停滞:视频已经实现了30帧向60帧过渡,电视剧和电影还是维持在24帧的水平。
在这样的情况下,我们可以通过自给自足的方式实现视频的补帧。
什么是补帧?
其实不管是PC上的补帧、PR里的光流法渲染、还是电视上的MEMC动态补偿,本质上都是通过计算画面中像素的运动轨迹,再依靠插帧的方式进行补帧。
在一段影片当中,一个物体的运动轨迹是相对固定的,因此通过算法可以很容易地算出两帧画面中物体的运动轨迹,在两帧运动轨迹的中间加入模拟的运动轨迹帧,实现插帧效果。通过这样的手段能够实现30变60及以上的帧率,并且能够减少画面的拖影,让视频看起来更加干净清晰。
但是问题是这样简单的补帧会出现很多问题:例如会加大显卡的压力,带来散热和功耗的压力;有可能会出现画面物体的撕裂;物体边缘由于像素运动是「从无到有」,因此可能会出现连续性方面问题,这被称之为块效应;无法很好地解决前有遮挡的运动物体的运动轨迹补帧。
因此现阶段最先进的补帧方案是通过AI计算的方式进行补帧,请注意这里的AI不是噱头,而是真的通过AI卷积神经网络计算的方式。
首先,要喂给AI大量的已有影像资料,通过机器学习的方式使AI训练出一个叫做「卷积核」的东西,这个卷积核是一个函数,输入画面到输出画面的变化就是由这个卷积核加权平均后决定的。
卷积核有点像一个「超级滤镜」,通过这个卷积核计算的视频能够实现更加清晰和智能的补帧。
这种AI补帧能够实现远胜于传统运动补帧算出来的视频效果,在上海交大开源的DAIN(Depth-AwareVideoFrameInterpolation)插帧算法中,已经可以实现自动识别景深来辅助插帧,这样几乎完全解决了由于遮挡带来的画面BUG。
图片来源:极客湾视频
但是相对来说这种补帧方式实现的成本也非常高:由于需要CUDA的帮助才能计算,因此必须要有一块英伟达显卡,AI计算非常吃显卡性能(尤其是显存),所以这块显卡的水平还不能太差;非常花时间,以小时或者天为单位来实现优化。
多说一句,这种AI计算的方式不但可以用来插帧,还可以用来提升画质,实现P变4K的神奇操作。年上映的电影《决胜时刻》中的开国大典就是根据从俄罗斯买回来的原片经过AI算法进行了修复后,实现了「胶片变4K」的神奇效果。
如何实现补帧?
目前补帧操作主要还是在电视和PC上实现,电视主要依靠MEMC芯片进行运动补帧,通常在电视的设置里,在这里就不过多介绍了。这里主要介绍一下PC的补帧方式。
AMD显卡
如果你是AMD显卡,那么你可以直接使用AMD官方的「AMDFluidMotionvideo」功能搭配Potplayer播放器来完成插帧。
·要有一张GNC或者Vega架构的AMD显卡,并下载最新的AMD驱动。
·打开「AMDFluidMotionvideo」功能。
·下载BlueskyFrameRateConverter,安装完成后点击「EnableAFMSupport」。
·在Potplayer中的「选项-滤镜-全局优先滤镜-添加系统滤镜」选择「EnableAFMSupport」滤镜,并强制使用。
这样就完成了设置,新视频就完成了视频补帧,实测效果还可以吧。
NVIDIA显卡
如果你是Nvidia显卡,可以选择SVP或者是DmitriRender搭配Potplayer或者MPC-HC播放器使用。
SVP已经是知名的老牌PC插帧软件了,大家可以在其