版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
头像
HaibaraAi
帖子: 44
注册时间: 2010-09-21 22:48

Re: 求教:添加的是动态和静态噪声如何判别;GradFun2DBmod是动态的还是静态的

对着噪点按步进(也可以把deband去掉,单独将加噪点处理图和原始图对比)看么。。

gradfun2dbmod的话和addgrainc的constant参数有关吧,默认不开的
头像
dgwxx
管理猿
帖子: 771
注册时间: 2010-09-19 20:42
联系: 网站

Re: 求教:添加的是动态和静态噪声如何判别;GradFun2DBmod是动态的还是静态的

GradFun2DBmod的说明如下:

代码: 全选

 +-------+
 | GRAIN |
 +-------+

 str [default: 0.8]
 ------------------
 AddGrainC "var" parameter

 strC [default: 0.0]
 -------------------
 AddGrainC "uvar" parameter

 temp [default: 50]
 ------------------
 Strength for temporal stabilization
 -1  = off
 0   = nervous grain
 ..
 100 = calm grain
 
 adapt [default: 64]
 -------------------
 Threshold for luma-adaptative grain
 -1  = off
 0   = source
 ..
 255 = invert
所以默认(temp=50)应该是加动态噪声的。
日常推 @dgwxx: 基本没什么技术的话题,欢迎没事看看消遣。
► 显示剧情透露 平庸的rip
► 显示剧情透露 “不知道”的五大理由
头像
06_taro
核心会员
核心会员
帖子: 998
注册时间: 2010-09-22 18:32
来自: United Kingdom
联系: 网站

Re: 求教:添加的是动态和静态噪声如何判别;GradFun2DBmod是动态的还是静态的

我判定用的代码

用一个内部生成的静态源和一个动态源分别测试(主要是GradFun2dbmod生产的dither是在banding suspect区域,所以分别测试排除干扰,dfttest没说是不是在banding suspect区域,反正这样测两次比较保险)

载入源后对dither前后处理的视频分别用Overlay取得平移一阵后的帧间差,然后再用一次Overlay比较dither前后的帧间差的差值,也可以理解成dither前后单帧差的帧间差(好乱= =)

数学表达:
(sourceFrame1-sourceFrame2)-(ditherFrame1-ditherFrame2)=(sourceFrame1-ditherFrame1)-(sourceFrame2-ditherFrame2)

为了使结果更清楚用了很重的参数(好孩子不要学= =):

代码: 全选

#Version().ConvertToYV12()
DSS2(XXX.mkv)
#
#dither=StaticNoiseC(var=100)
#dither=dfttest(sigma=0, dither=100)
dither=GradFun2DBmod(thr=1.0, str=10000)
#
Overlay(Overlay(dither, dither.loop(0, 0, -1), mode="subtract"), Overlay(last, last.loop(0, 0, -1), mode="subtract"), mode="subtract")
#invert()
结果很容易重现就不贴图了……
dither=StaticNoiseC(var=100)的时候为完全静态,整个clip为全黑
dither=dfttest(sigma=0, dither=100)时clip为非黑屏,动态
dither=GradFun2DBmod(thr=1.0, str=10000)时clip为非黑屏,动态
つまんねー事聞くなよ!

I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)

Follow me: @06_taro

304——
为纪念伟大的宇宙史上最强压制304先生,联合国教科文组织决定,将每年的第304天,即平年的10月31日或者闰年的10月30日,定为世界304日。
头像
Holy
核心会员
核心会员
帖子: 235
注册时间: 2010-09-24 9:28

Re: 求教:添加的是動態和靜態噪聲如何判別;GradFun2DBmod是動態的還是靜態的

補兩個測試
dither=AddGrainC(var=10000, constant=true) 為靜態
GradFun2DBmod 即使將腳本內的 AddGrainC 加上 constant=true,出來仍為動態
图片
头像
06_taro
核心会员
核心会员
帖子: 998
注册时间: 2010-09-22 18:32
来自: United Kingdom
联系: 网站

Re: 求教:添加的是动态和静态噪声如何判别;GradFun2DBmod是动态的还是静态的

GradFun2DBmod的动态不仅仅是AddGrainC里面,还有各种自适应的参数
要将其变成静态,除了脚本里的AddGrainC函数要加上constant=true之外,还要加上adapt=-1和mask=false
不然grain还是luma-adaptative的,grain和dither还是adaptative deband mask的。
譬如
avsi里面addgrainc的参数改成addgrainC(str,strC,0,0,constant=true)
然后
dither=GradFun2DBmod(thr=1.0, str=10000, adapt=-1, mask=false)
这样出来的就是静态的了

不过个人觉得GradFun2DBmod把dither和grain都只加在banding suspect区域,且grain是luma-adaptative其实是很好的思路,没必要为了节省码率追求静态而关闭这个参数……
つまんねー事聞くなよ!

I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)

Follow me: @06_taro

304——
为纪念伟大的宇宙史上最强压制304先生,联合国教科文组织决定,将每年的第304天,即平年的10月31日或者闰年的10月30日,定为世界304日。

回到 “AviSynth”