分页: 3 / 5

Re: TAA v1.6 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-10 23:57
06_taro
日記那個edge link用現在eedi3模式參數默認估計不夠,畢竟默認參數我不敢給得太aggressive,需要自己tweak一下p1~p6……

Re: TAA v1.6 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-11 3:45
angelcat
感謝taro大

不過eedi3的速度還真是....

Re: TAA v1.6.1 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-12 9:19
06_taro
taa更新1.6.1
1. 初始化的参数检查过程中少量bugfix
2. 继续提速,主要是v1.6里速度提升不明显的Spline64+Sangnom模式,现在增加了一个aatype=6作为aatype=5的加速版。

我自己分出CPU一个核心,找了个1920x1080,关闭taa的前后处理试跑了一下,aatype使用5和6相比,核心部分从2.9fps提速到了大约4.8fps。

效果上,当mtype=5时二者效果差不多,但是其他mtype下AA强度略有降低(主要是因为在密集线条附近会有轻微的artifact,所以用repair将之移除,不过会导致AA的强度也略有下降)。

如果原来使用mtype=5的话基本上可以直接靠这个新aatype来加深,否则要注意强度调整。

当然那种artifacts比较轻微而且出现在线条集中处,实际播放不一定能注意到,如果不在意的话其他mtype也可以用p2=0来保持和aatype=5时相同的AA强度。aatype=6目前应该是taa的几个aatype里速度最快的,强度虽然比原来aatype=5的sangnom略低,不过视情况未必比其他edi低,所以如果本来不算强的aliasing也可以优先考虑用aatype=6来试试。

Re: TAA v1.6.1 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-12 16:54
angelcat
於是我試著把eedi3(dh=true, field=1, alpha=p2, beta=p3, gamma=p4, nrad=p5, mdis=p6).Spline36Resize(w, uph4, 0, -0.5).TurnRight().eedi3(dh=true, field=1, alpha=p2, beta=p3, gamma=p4, nrad=p5, mdis=p6).Spline36Resize(uph4, upw4, 0, -0.5).SangNom(aa=p1).TurnLeft().SangNom(aa=p1).Spline36Resize(w, h) :

僅替換成
nnedi3_rpow2(rfactor=2, qual=2, cshift="Spline36Resize", fwidth=1920, fheight=2160).TurnRight().eedi3(alpha=0.75, beta=0.15, gamma=20, nrad=3, mdis=30).Spline36Resize(1080,1920).TurnLeft()
盡量減少EEDI3的使用
並且捨去PREDOWN
由於速度方面我捨棄掉SHARP來還原細節
在之後多加上1.2個MASK的使用以及NNEDI3、SANGNOM的使用,於是有著比較相近原TAA AATYE=-2的結果,雖然有一點點不怎令人注意的小鋸齒回覆,不過部分線條補的齊一些,主要是少了一次高分辨使用EEDI3,速度可以在快一些...
最後再加一點防RING的措施...
AA
AA
等待TARO大持續優化 {:cat_3}

另發現,警官褲子那場景無法補全,該說是EEDI3不夠嗎.. {:cat_5}

Re: TAA v1.6.1 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-12 22:51
06_taro
並且捨去PREDOWN
我默认没开predown啊……
如果你说的是日记的话,这片的处理本来就完全没必要做predown,原分辨率下开高eedi3的alpha和mdis时处理强度足够。

至于上面那个用法,其实在部分脚本里有人喜欢这样用,确实没有太大问题。不过要注意一方面eedi3/nnedi3/nnedi2在不开dh=true的时候,其实是丢掉半场,然后取剩下半场来插补。如果是做deint,本身就是以场为处理对象,这样插补当然没问题。如果本身是progressive的,是不能随便去丢半场的,否则源信息就遭到破坏了。这三个滤镜的一般使用都是deint用,所以默认dh=false没问题。想比较的可以试试,用nnedi3(dh=false)与nnedi3(field=1, dh=true).xxxResize(width, height, 0, -0.5)对一个本身正常没问题的非交错画面处理出来的画面信息是完全不一样的,前者的损失很大,而后者如果没乱调参数的话和源的画面相比并没多少损失。taa本身核心及大量前后处理都是以尽可能避免源信息损失为原则来设计的,当然这个纯属个人口味,不喜欢重口味导致质损,否则我完全可以像某些aa脚本那样用递归的方式不断地重复main pass aa,那样连极重的3D游戏重度锯齿都可以搞定(见doom9相关帖子),然后整个画面一马平川……实际上我自己使用taa几乎就没开过predown……另一方面taa是通用式脚本,不可能针对某个片子专门调整处理行为,也许这个片子horizontal aliasing非常强,那个片子horizontal完全没问题,vertical完全是渣渣,taa只能用最普遍适用的行为来处理。如果有个片子真复杂到了需要定制的话,最好还是自己手写核心……日记这种本身就比较接近3D CG锯齿的情况其实既可以选择用aatype=-2调整参数直接做出来,如果嫌慢的话其实也可以开双重taa,把第一个taa的前后处理关掉然后用aatype=2,而第二个taa里设置input clip为第一次taa之后的,而src clip为第一次taa之前的,然后用aatype=5/6来配合使用,譬如

代码: 全选

taa(taa(preaa=0, mtype=0, sharp=0, aatype=2, postaa=false), aatype=6, src=last, 其他XXOO参数)
这样速度可以快很多,只是要调整的东西更多些罢了。本来有src参数的目的之一就是可以这样连接使用(当然还有作为其他mask/sharpen向的定制用法的目的)。要是为了日记单独增加个某个方向加重处理另一个方向用trade quality for speed的方式的aatype就比较奇怪了。所以如果实在有这方面需求的话就自己定制函数吧~

警官裤子那个场景问题原来试的时候最主要问题其实是不能随便sharp,基于用到源来对sharp过程做post-filter或者像contra-sharpening的效果都很容易将原始锯齿引回去,我试过出来最好的方式其实是用两个不同的aa结果来进行sharpen,一个是基于eedi3+sangnom补线条的,一个是弱参数普通aa+mask的,然后靠masktools和repair来修unsharp系sharpener的强度……当然这样做会变得更慢……实际上某帖的处理结果就是基本上没怎么做pre/post filter没怎么tweak参数出来的,看起来还勉强能接受,前后处理再疼些差距其实也不会很大……而eedi3在dh的情况下线条连接足够好了(不过除了alpha之外mdis也需要拉高),只是还需要配合sangnom进行进一步aa。

v1.5到v1.6以及之后v1.6.1两次提速的原则是绝对不能因为速度提升提示导致aa质量的下降,所以目前的算法到v1.6.1为止应该不会再有大的调整了,不然aatype取负值的话还有很大的提速空间(保守估计至少60~100%的提速没问题),但是那样的话完全可以靠上面提到的两次taa连接来实现,所以我觉得没必要作为preset写成一个单独的aatype。反正大部分aatype目前的速度我自己能接受(死……)。至于使用到eedi3的情况,那个是eedi3自己的问题,它没写任何asm优化,别说SSE,连MMX都没有,而像nnedi2之类的都做到了SSE2的opt,所以本身eedi3就很慢,如果它能有nnedi3的优化程度,就算在taa里做两次也不会比其他aatype慢多少。真想要取得正常的处理速度的话,需要修改的其实是eedi3的行为而不是调用它的函数,改函数说实话无非就是把一个死慢死慢的东西变得死慢而已w。给它拖慢速度的核心interpLineHP/interpLineFP做SIMD优化才是能真正看到fps显著提升的方法。真有需求的话还是直接去修改eedi3吧,我就不跳坑了……

Re: TAA v1.6.1 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-12 23:15
angelcat
僅是PREDOWN能再減緩斷線的問題- -
儘管眉毛部分反而沖淡了,於是這部份自己修改...

另外TAA的AATYPE=-2在980X下還是沒辦法接受的速度 ORZ....
並不想丟任何半場 只想顯著的提升速度罷了

eedi3沒人跳坑啊...看來這部份長遠了 {:cat_13}

Re: TAA v1.6.1 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-12 23:24
06_taro
确实现在eedi3下aatype=-2速度不适合正常使用,不过还是不想为了提升速度丢掉半场(死……
如果想要速度的话predown确实能缓解,不过对我来说这个和半场一样不想做而已(继续死……
eedi3嘛……嘛谁用谁去搞吧(死不动了……

Re: TAA v1.6.1 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-12 23:34
angelcat
06_taro 写了:确实现在eedi3下aatype=-2速度不适合正常使用,不过还是不想为了提升速度丢掉半场(死……
如果想要速度的话predown确实能缓解,不过对我来说这个和半场一样不想做而已(继续死……
eedi3嘛……嘛谁用谁去搞吧(死不动了……
可以不丟半場啊...在編輯下就好了 {:cat_2}

於是決定去鑽鑽,有幸再來優化 {:cat_11}

Re: TAA v1.6.1 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-16 17:17
mawen1250
里面的tcanny加了mt_inflate之后效果感觉还是不太好,于是又调整成这样感觉还行:
tcanny(mode=1).mt_lut("x 16 - 1 <<", U=1, V=1).mt_inflate(U=1, V=1).mt_inflate(U=1, V=1).mt_lut("x 1.09 ^ 32 -", U=1, V=1)
或者
tcanny(mode=1).mt_lut("x 1 <<", U=1, V=1).mt_inflate(U=1, V=1).mt_inflate(U=1, V=1).mt_lut("x 47 > x 1.08 ^ 64 - 0 ?", U=1, V=1)
或者
tcanny(mode=1).mt_lut("x 15 > x 16 - 3 * 16 + 0 ?", U=1, V=1).mt_inflate(U=1, V=1)
或者
tcanny(mode=1).mt_lut("x 16 - 3 *", U=1, V=1).mt_inflate(U=1, V=1)

Re: TAA v1.6.1 & MCAA v1.3 - "aatype"调整,速度大幅优化,mask模式增加

发表于 : 2012-02-16 20:50
Holy
個人是對Prewitt的效果與速度較為滿意…而tcanny的話要將sigma設到1.0甚至0.5再加上mt_lut、mt_inflate才能有滿意的效果,默認的1.5 mask範圍少了點。