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

再求教一个deband问题...

{:cat_13} 和之前那贴一样...还是动态下才易察觉的banding...

sample:http://pan.baidu.com/share/link?shareid ... 4262273220
源取自“天使の日曜日 “ef - a fairy tale of the two.” Pleasurable Box. 特典 minori movie collection vol.2”中的00011.m2ts,差不多是01:40-02:20

片源本身有明显的banding
图片
不过用f3kdb(16,60,60,60,0,0)放一个地图炮的话,静态下的截图也就不易察觉到banding了
图片

但问题是这样压出来的结果,动态下能察觉到画面中间有动态的banding(不太好形容,感觉就是几条亮度线扫描上去的那种样子...)
详细可以看这个,应该是挺明显的:http://pan.baidu.com/share/link?shareid ... 4262273220

对了,雪飘的蛇神曾经做过这片,这部分处理的很好,几乎看不出有什么问题(虽然也想过直接联系下他的...但不知道怎样联系{:cat_15}
截取其中的这段,效果好多了:http://pan.baidu.com/share/link?shareid ... 4262273220
lwjkk666
帖子: 321
注册时间: 2012-05-29 13:43

Re: 再求教一个deband问题...

用撸马碉堡了试试看~
最近我一直用这个,感觉挺不错

edge_mask = src.mt_edge # 製作edge mask

edge = src.AA # 對edge部分進行AA
non_edge = src.deband # 對非edge部分進行deband處理

mt_merge(non_edge, edge, edge_mask)

多拉大的masktool教程那里有
头像
小炸孩
帖子: 40
注册时间: 2012-07-24 9:48

Re: 再求教一个deband问题...

lwjkk666 写了:用撸马碉堡了试试看~
最近我一直用这个,感觉挺不错

edge_mask = src.mt_edge # 製作edge mask

edge = src.AA # 對edge部分進行AA
non_edge = src.deband # 對非edge部分進行deband處理

mt_merge(non_edge, edge, edge_mask)

多拉大的masktool教程那里有
其实之前也尝试过,f3kdb,GradFun3,LumaDBL都有稍微试过一下,不过感觉效果不好。
刚才也用这样的AVS试了一下,离蛇神做的那版也还是差远了。

代码: 全选

FFVideoSource("banding_sample.mkv")
Trim(280,380)
U16()
LumaDBL(lsb_in=true,lsb=true,g1str=1.5,g2str=1.2,g3str=0,g1soft=60,g2soft=60,g3soft=100)
f3kdb(16,50,50,50,0,0,input_mode=1,output_mode=1)
Down10(10,stack=false)
头像
-o-o-304-o-o-
超级版主
帖子: 640
注册时间: 2010-10-10 20:00
来自: US
联系: 网站

Re: 再求教一个deband问题...

其实您自己都贴了之前一贴的话,那个帖子里mawen菊苣已经对问题做了说明了,关键点在于spatial smooth≠temporal smooth,想要解决您的问题的突破点,对于avs这边,就在于做好spatial smooth的同时,temporal smooth也需要做好;对于编码器这边,就是加大对于flat/fade/illumination change的地区的码率分配权重(或是使用更高的精度编码),以确保这些地方smooth。不遵循处理思路而堆砌一些“EP”(老实话说不太愿意把这种做法称为EP,解决不了问题的EP仅仅是单纯的烧电而已)脚本或者滤镜,也没用啊(谜之声:最近是流行用高大全脚本跑龟速么,一点都不环保啊这)……举例说:lumaDBL的处理思路是很好的,但是tweak的不对处理这种恶心的banding效果不好速度还很慢……gradfun3默认的0.35的强度在这种恶心的banding面前是肯定不够用的,mask开着又不tweak thr_det和thr_edg,你前面强度再大,刚处理掉的banding又被当成细节补回去了,无用功啊……(所以说还请压制前多多对比啊……

这里丢上我自己处理的结果……至少和16bit下用lumaDBL处理相比,速度上提高100%到150%,效果上无屏闪。artifacts还是有的,不过这里仅仅是演示下debanding的可行性,所以没太管这方面。实际上做片子的话,除了要trade off 质量和速度以外,还需要考虑细节问题比如line/edge/details的去留,artifacts抑制(比如你在我的这个例子里面应该可以看到的明显的artifacts)

东西丢给度娘盘了--戳我

x264很简单(因为是演示所以大部分参数直接走preset了……实际做片子(尤其是需要考虑播放终端兼容性的时候)还是需要仔细tweak下的),直接贴了:
[syntax=batch]
c:\x264>x264 "H:\TDDOWNLOAD\test.avs" -o "H:\TDDOWNLOAD\test.mkv" --preset slow --psy-rd 0.8:0.1 --qcomp 0.75 --aq-strength 0.8 --aq2-strength 0.8 --fade-compensate 0.6 --crf 16 --fgo 4
[/syntax]

处理思路来自蛇大的指导,即spatial smooth->temporal smooth->pp,蛇大这边用来做temporal smooth的是dfttest(我自己是觉得dfttest速度太慢效果一般,所以没用就是了……
► 显示剧情透露 En Taro 06!Taro Pie NC Fanclub project始动!聊天用Q群开放中
► 显示剧情透露 胸中有万言,退敌无一策,是谓书生误国"
► 显示剧情透露 前辈们的信念
► 显示剧情透露 妇联招新广告,走过路过可以看看撒
► 显示剧情透露 香芋派,后期菊苣们的一致选择
► 显示剧情透露 众菊苣喜评香芋派
► 显示剧情透露 聊天用工具
头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: 再求教一个deband问题...

像这样就差不多可以了,基本思路就是先由GradFun3做大范围处理(暴力smooth,同时内部自带limit,由于另外使用mask所以GF3内部mask关闭),再由f3kdb做大范围处理(通过检测进行smooth),最后再与source做limit限制最大改变量来避免过多的改变导致artifacts,此外就是使用经过合适调整的canny edge mask做保护。
[syntax=avisynth]
FFVideoSource("banding_sample.mkv", threads=1)

dbmask = last.tcanny(sigma=1.8, mode=1, plane=1).mt_binarize(2, U=1, V=1).mt_expand(U=1, V=1).RemoveGrain(11, -1).RemoveGrain(20, -1)

src16 = last.U16

db1 = src16.GradFun3(smode=2, radius=20, thr=0.50, thrc=0.50, mask=0, lsb_in=true, lsb=true, Y=3, U=3, V=3)
db2 = db1.f3kdb(20, 52, 52, 52, 0, 0, input_mode=1, output_mode=1).Dither_limit_dif16(src16, thr=0.75, Y=3, U=3, V=3)

Dither_merge16_8(db2, src16, dbmask, luma=true, Y=3, U=3, V=3)
[/syntax]
至于FL的那个我看了下处理强度是很高,不过损失也大了点,当然那时候的相关处理手段不如现在丰富所以也很正常。
而banding由于是spatial过程产生的artifacts所以按理来说也应该用spatial的手段处理,除非真有必要否则还是不要用temporal处理来解决banding。
头像
小炸孩
帖子: 40
注册时间: 2012-07-24 9:48

Re: 再求教一个deband问题...

做下时域的降噪的确能减轻这种闪烁现象...就算不合理不过效果好就行了 {:cat_15}
304菊苣的做法感觉对画面破坏太大了...虽然抑制了闪烁现象但噪点感强烈了一些...但mawen菊苣的做法还是不能解决闪烁现象...
所以试了一下在mawen菊苣给的AVS的基础上再加了一步dfttest做2D+3D降噪,感觉效果稍好一些 {:cat_16}

代码: 全选

MP_Pipeline("""

FFVideoSource("banding_sample.mkv", threads=1)
dbmask = last.tcanny(sigma=1.8, mode=1, plane=1).mt_binarize(2, U=1, V=1).mt_expand(U=1, V=1).RemoveGrain(11, -1).RemoveGrain(20, -1)

### export clip: last,dbmask
### ###

nr     = last.dfttest(dither=0,Y=true,U=true,V=true,sigma=7.0,sigma2=7.0)
src16  = nr.U16

### export clip: dbmask,src16
### ###

db1    = src16.GradFun3(smode=2, radius=20, thr=0.60, thrc=0.50, mask=0, lsb_in=true, lsb=true, Y=3, U=3, V=3)
db2    = db1.f3kdb(20, 60, 60, 60, 0, 0, input_mode=1, output_mode=1).Dither_limit_dif16(src16, thr=0.75, Y=3, U=3, V=3)

### export clip: db2,dbmask,src16
### ###

Dither_merge16_8(db2, src16, dbmask, luma=true, Y=3, U=3, V=3)
Down10(10,stack=false)

""")
头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: 再求教一个deband问题...

稍微改一下,dfttest支持16bit输入输出,另外也顺便用mask保护一下降噪。
[syntax=avisynth]
MP_Pipeline("""

FFVideoSource("banding_sample.mkv", threads=1)

dbmask = last.tcanny(sigma=1.8, mode=1, plane=1).mt_binarize(2, U=1, V=1).mt_expand(U=1, V=1).RemoveGrain(11, -1).RemoveGrain(20, -1)

### export clip: dbmask
### prefetch: 16, 8
### ###

src16 = last.U16

src16.dfttest(sigma=7.0, sigma2=7.0, Y=true, U=true, V=true, lsb_in=true, lsb=true)

### export clip: dbmask, src16
### prefetch: 8, 0
### ###

SetMemoryMax(1600)

db1 = last.GradFun3(smode=2, radius=20, thr=0.50, thrc=0.50, mask=0, lsb_in=true, lsb=true, Y=3, U=3, V=3)
db2 = db1.f3kdb(20, 52, 52, 52, 0, 0, input_mode=1, output_mode=1).Dither_limit_dif16(last, thr=0.60, Y=3, U=3, V=3)

Dither_merge16_8(db2, src16, dbmask, luma=true, Y=3, U=3, V=3)
Down10(stack=false)

""")
[/syntax]
上次由 mawen1250 在 2013-02-28 18:46,总共编辑 1 次。
头像
-o-o-304-o-o-
超级版主
帖子: 640
注册时间: 2010-10-10 20:00
来自: US
联系: 网站

Re: 再求教一个deband问题...

小炸孩 写了:做下时域的降噪的确能减轻这种闪烁现象...就算不合理不过效果好就行了 {:cat_15}
304菊苣的做法感觉对画面破坏太大了...虽然抑制了闪烁现象但噪点感强烈了一些...但mawen菊苣的做法还是不能解决闪烁现象...
所以试了一下在mawen菊苣给的AVS的基础上再加了一步dfttest做2D+3D降噪,感觉效果稍好一些 {:cat_16}

代码: 全选

MP_Pipeline("""

FFVideoSource("banding_sample.mkv", threads=1)
dbmask = last.tcanny(sigma=1.8, mode=1, plane=1).mt_binarize(2, U=1, V=1).mt_expand(U=1, V=1).RemoveGrain(11, -1).RemoveGrain(20, -1)

### export clip: last,dbmask
### ###

nr     = last.dfttest(dither=0,Y=true,U=true,V=true,sigma=7.0,sigma2=7.0)
src16  = nr.U16

### export clip: dbmask,src16
### ###

db1    = src16.GradFun3(smode=2, radius=20, thr=0.60, thrc=0.50, mask=0, lsb_in=true, lsb=true, Y=3, U=3, V=3)
db2    = db1.f3kdb(20, 60, 60, 60, 0, 0, input_mode=1, output_mode=1).Dither_limit_dif16(src16, thr=0.75, Y=3, U=3, V=3)

### export clip: db2,dbmask,src16
### ###

Dither_merge16_8(db2, src16, dbmask, luma=true, Y=3, U=3, V=3)
Down10(10,stack=false)

""")
虽然抑制了闪烁现象但噪点感强烈了一些
addgrainc(1.1)+x264的fgo=4,不喜欢可以不加(也可以换其他的addgrain方法比如tweak GF3mod/GFL(不过默认口味有点重,需要tweak下),这里给的是大致的思路,怎么做更好显然是需要经过大量的试验才能知道的嘛……总结:无论怎么做,只要能给flat的地方增加码率分配的权重就好了……
至少和16bit下用lumaDBL处理相比,速度上提高100%到150%,效果上无屏闪。artifacts还是有的,不过这里仅仅是演示下debanding的可行性,所以没太管这方面。实际上做片子的话,除了要trade off 质量和速度以外,还需要考虑细节问题比如line/edge/details的去留,artifacts抑制
实际做的时候不可能这么简单暴力,这里仅仅是演示下debanding处理的可行性(特殊情况特殊对待嘛

实际上这片子不可能仅要做debanding吧,他的前一个和后一个scene的banding问题都没这么重(同时画面细节要丰富很多),不可能用SLB一炮了事的……即便是banding区域的处理,可以tweak的参数也很多,稍微调一下就好了……

还是继续给参考(实际想处理成什么样,完全是后期决定的,这不是1+1=2的问题,根据不同的情况,可以做出不同的结果的(小白现在是更倾向环保些的作法……尽管出来的结果可能不尽如人意,不过没关系嘛,慢慢tweak呗……),总之就是trade off,只要知道自己为何而做而不是单纯的ctrl+c/ctrl+v就行了),其实内容上跟之前的没啥太大差距,稍微tweak了下,也没用到啥复杂的工具(都是些相对常用和简单易懂的工具……

东西找度娘

[syntax=avisynth]
SetMemoryMax(1024)
FFmpegsource2("H:\TDDOWNLOAD\banding_sample.mkv", threads=1)
db=gradfun3(1.2, 38, 4.0, 0, smode=2).PNLM(18, 3, 0, 8).TTempSmooth(strength=3).StaticNoiseC(3, UV=true).addgrainc(1.1)
mt_merge(db, lsfmod(60, edgemode=0), Msharpen(2, 0, mask=true, highq=true).mt_expand())
[/syntax]

x264一样微调一下
[syntax]
c:\x264>x264 "H:\TDDOWNLOAD\test.avs" -o "H:\TDDOWNLOAD\test.mkv" --preset slower --psy-rd 0.8:0.1 --qcomp 0.8 --fade-compensate 0.6 --aq-strength 0.8 --aq2-strength 0.8 --crf 17
[/syntax]

可能会显得啰嗦,不过最后还是说下,这仅是参考,离成品依然有距离,需要仔细做的依然很多(其实你把这个和上面的对比下,就能看出tweak对于最终结果的影响了,所以说路子找对了,慢慢tweak慢慢来,一个看着不错的成品就诞生了……
► 显示剧情透露 En Taro 06!Taro Pie NC Fanclub project始动!聊天用Q群开放中
► 显示剧情透露 胸中有万言,退敌无一策,是谓书生误国"
► 显示剧情透露 前辈们的信念
► 显示剧情透露 妇联招新广告,走过路过可以看看撒
► 显示剧情透露 香芋派,后期菊苣们的一致选择
► 显示剧情透露 众菊苣喜评香芋派
► 显示剧情透露 聊天用工具
头像
小炸孩
帖子: 40
注册时间: 2012-07-24 9:48

Re: 再求教一个deband问题...

-o-o-304-o-o- 写了: addgrainc(1.1)+x264的fgo=4,不喜欢可以不加(无论怎么做,只要能给flat的地方增加码率分配的权重就好了……
x264设置直接用了--crf 16 --no-mbtree --aq3:0.8...码率分配应该问题不大
实际上这片子不可能仅要做debanding吧,他的前一个和后一个scene的banding问题都没这么重(同时画面细节要丰富很多),不可能用SLB一炮了事的……即便是banding区域的处理,可以tweak的参数也很多,稍微调一下就好了……
这片子我觉得只要这一部分需要Trim出来做deband...其他部分只看到了很轻微的banding,也有一些模糊,但我也不打算做锐化...

- -话说手机编辑帖子真不爽...
头像
-o-o-304-o-o-
超级版主
帖子: 640
注册时间: 2010-10-10 20:00
来自: US
联系: 网站

Re: 再求教一个deband问题...

小炸孩 写了:
-o-o-304-o-o- 写了: addgrainc(1.1)+x264的fgo=4,不喜欢可以不加(无论怎么做,只要能给flat的地方增加码率分配的权重就好了……
x264设置直接用了--crf 16 --no-mbtree --aq3:0.8...码率分配应该问题不大
实际上这片子不可能仅要做debanding吧,他的前一个和后一个scene的banding问题都没这么重(同时画面细节要丰富很多),不可能用SLB一炮了事的……即便是banding区域的处理,可以tweak的参数也很多,稍微调一下就好了……
这片子我觉得只要这一部分需要Trim出来做deband...其他部分只看到了很轻微的banding,也有一些模糊,但我也不打算做锐化...

- -话说手机编辑帖子真不爽...
没事关MB-Tree干啥……至少就自己的感觉这片子没啥必要跟MB-tree过不去(觉得MB-tree的效果太明显了可以qcomp抑制一下嘛,现在真没必要动辄就关掉它……
AQ3的效果存疑……8bit还是主要用mixAQ,自己这边用得比较多,目前一路过来没发现过啥太大的问题……(10bit下感觉用啥都行的样子(雾)……毕竟最大的banding问题在10bit这边基本不用考虑……
► 显示剧情透露 En Taro 06!Taro Pie NC Fanclub project始动!聊天用Q群开放中
► 显示剧情透露 胸中有万言,退敌无一策,是谓书生误国"
► 显示剧情透露 前辈们的信念
► 显示剧情透露 妇联招新广告,走过路过可以看看撒
► 显示剧情透露 香芋派,后期菊苣们的一致选择
► 显示剧情透露 众菊苣喜评香芋派
► 显示剧情透露 聊天用工具

回到 “AviSynth”