全篇开始之前,我想特别感谢 [Kagura] 组,我是以他们做出来的版本为目标不断改进自己的处理的,如果不是他们的工作,我无法相信这样一个源的噪点能处理到如此地步。总体而言,Magic-Raws 的降噪强度要比 Kagura 大,又因得益于编码器技术的不断改进,我们的版本体积相对要小很多,当然这里也有我们想做出与其有所不同的风格的考虑在。而您如果对留存噪点强度有不同的需求,我将毫无保留地向您推荐 Kagura 的版本。
尽管在发布贴中已经贴过,但我还是想再展示一下《冥王计划志雷马》这部片子的一部分视频切片:
链接:https://pan.baidu.com/s/1ShsRcl2XFuO5a8RBqx6mng
提取码:7oq2
为了方便阐述,我再截出此切片中的连续两帧:
我们可以很直观地看出这个源噪点有何特别之处:抛开一些过于专业的表述,这个源噪点不仅包含浮在表面的很细的噪点,也包含在此之下的面积相对较大的浮动色块。由于这种相邻帧变化如此之大噪点的影响,整个片子通篇充斥着晃眼的闪烁。
更重要的是,由于这种噪点的强度是如此之大,任何时域降噪都非常容易出现鬼影(Ghosting 或 Blending),比如下面这一帧,如果简单拿 SMDegrain 处理的话,由于机翼部分身处暗场又在迅速变化,很容易就出现了鬼影:
我们降噪的目标是在至少要消除片源噪点带来的闪烁问题的前提下,尽可能地稳定和削减时域噪点。
经过很长时间的尝试,我最终决定使用 mvtools 系滤镜作为主降噪滤镜,要想获得更好的时域降噪效果,一个合适的参考源必不可少。它不能有,或者不能太明显地有鬼影问题(不然 MDegrain 会加重这一现象),同时又要具备一定的时域稳定性,至少相对源来说他要更稳定。经过多次对比,我最终选择 QTGMC 来做参考。
回到 mvtools 本身,经过测试,降噪半径为一时虽然鬼影问题被极大地减轻,但是平面降噪效果不如人意,为了不因噎废食我最终还是选了二的时域降噪半径,blksize 是另一个关键的降噪参数,经过观察 blksize 推高时能显著增加平面稳定效果,最后 blksize 取了 32,考虑到噪点本身的特性,我推高了 thSCD1,其他参数不一一列举。
鬼影是必然要面对的问题,尽管我努力对各种参数控制希望能够减轻问题,但加大时域稳定程度导致的瑕疵还是不可避免地出现了:
处理鬼影的基本思想是 Repair 或者 LimitFilter 之类,比如用大力涂抹的滤镜把源和降噪结果干得只剩色块(没那么夸张,差不多就行了)然后两个色块做 Repair 再把噪点层打回去,当然这样的做法几乎不可避免地要么使画面损伤要么破坏时域稳定效果,我昨晚想到了一种比较骚的处理办法,展示一下:
mdy_f = Depth(mdy, 32)
srcy_f = Depth(srcy, 32)
vfinaly_f = mdy_f.bm3dcuda_rtc.BM3Dv2(srcy_f, 2.7, 4, 12, 0, 2, 6)
处理结果:
基本就不太能看到鬼影了,万事大吉。
当然为了观感而做的大力度的时域稳定,必然会导致某些细节的损失,我认为这是可以接受的,这也是我在发布页所说的“降噪风格的转变”,重心从细节转移到整体观感。其实《五星物语》是这种转变后的第一作,但是《五星》的噪点要比《志雷马》好做太多了(我是先做的志雷马然后再做的五星,只不过前者一直不满意)。
除了处理画面左右两边的边缘问题以外,为了弥补降噪带来的观感损失,我做了锐化,对比图如下:https://slow.pics/c/tSmKUetg