192308i0f3a4o3addfdoi3

家庭影院投影机最强拍档madVR 渲染器- 使用指南教程(三)

[复制链接]
查看449 | 回复0 | 2025-1-16 10:05:20 | 显示全部楼层 |阅读模式

接下来要进入重头戏,关于scaling算法的设置,这部分是影响效能最大也是影响画质表现最明显的地方,也是madVR的最大特色,我们可以看到有四个地方需要设置算法,分别是chroma upscaling、image downscaling、image upscaling和upscaling refinement



简单解释一下这四者的意义:



    chroma upscaling是指色度升频,通常我们常见的YCbCr 4:2:0的图像文件就是经过色度抽样的,人眼对色度的改变不及亮度敏感,所以用较多的信息储存亮度信息(Y),较少的信息储存色度信息(CbCr)以节省带宽,以YCbCr 4:2:0而言,水平方向及垂直方向的色度分辨率都只有YCbCr 4:4:4的一半。举例来说,一个分辨率1920*1080的影片,在4:4:4的情况下,亮度分辨率是1920*1080,色度分辨率也是1920*1080,但是在4:2:0的情况下,亮度分辨率一样是1920*1080,色度信息水平和垂直都只取一半,也就是说色度分辨率是960*540。常见的影视内容多半是抽样成4:2:0储存,因此我们播放一个YCbCr 4:2:0的图像文件时,首先要将其色度信息升频到原始分辨率,也就是YCbCr 4:4:4,这时就会用到色度升频的算法。关于色度取样的相关知识也可参考维基百科:

    http://zh.wikipedia.org/wiki/%E8%89%B2%E5%BA%A6%E6%8A%BD%E6%A0%B7

    image downscaling就是指影像降频,也就是影像缩小,只要目标分辨率小于原始分辨率就会用到这部分的算法。

    image upscaling就是指影像升频,也就是影像放大,只要目标分辨率大于原始分辨率就会用到这部分的算法。

    upscaling refinement这部分是锐化算法,跟前面的iamgeenhancements不同,其目的在于改善放大演算后造成的模糊,作用在放大演算之后,属于post-processing。如果是1:1无放大的影像,这部分勾选了也不会有作用。

通常一个图像文件播放,到渲染器这步骤时,渲染器会先对其做色度升频,然后再将其原始分辨率依需要做影像升降频到目标分辨率,也就是说,一个1080p YCbCr 4:2:0的档案,就算在分辨率1920*1080的屏幕播放,它不需要做任何影像升降频演算,但还是需要做色度升频的演算。

chroma upscaling里面指定的的算法,在完成原始分辨率YCbCr 4:2:0→RGB 4:4:4的升频后即完成任务,之后影像要放大缩小都跟其无关。后续的resize需要的亮度和色度升降频由image upscaling或是image downscaling所指定的算法来负责。

在对视觉感受的影响上,影像升降频算法的影响比色度升频演算的影响要大得多。换句话说,改变影像升降频的算法,你比较容易感觉的到差别,改变色度升频的算法比较难感受到差别。

接下来我们来看看算法内容,右上角有个表格,每种算法有不同的数值,通常绿色是优点(sharpness = 锐利度),越高越好,红色部分是失真,缺陷(aliasing = 锯齿、ringing = 振铃效应),越低越好。

再来以各算法的消耗效能来说,Nearest Neighbor、bilinear、DXVA2这几种消耗的效能最低(DXVA2在此处是指DXVA-scaling,这项演算优劣直接受显卡影响,因卡而异,有些类似bilinear,有些则类似Bicubic或Lanczos的水平),再来是Cubic(Mitchell-Netravali、Catmull-Rom、Bicubic、Softcubic)这几种,消耗效能其次,再来是Lanczos、Spline,消耗效能又高一点,再来是Jinc和super-xbr,消耗效能更高,不过效果也比前面几种都好,再来是NGU系列,NGU-low消耗跟 Jinc差不多;NGU-med以上消耗比Jinc多,但效果也更好。

此外,勾选"activate anti-ringing filter"(以下简称AR)能够有效的抑制算法本身产生的振铃效应,相对的也会增加一点点效能消耗。

看到chroma upscaling这页,上面也提过chroma upscaling的提升对整体画面的影响比较难察觉,通常只会影响一些颜色边缘、色块,在一些对比高的场景才会看得到一点点差别(红底黑字或黑底红字之类),故不用投资太多效能在这里。

几个建议的设置是super-xbr 100以上+ AR、NGU Anti-Alias(以下简称NGU AA)low、med、high(chroma upscaling这边设到very high没必要)、Bilateral(soft或sharp)或Reconstruction(soft)。

NGU-Sharp则在锐利度的表现不错,其锐利度仅次于Reconstructionsharp和placebo,但有些地方会有点锐化过头,个人不是很喜欢。另外就是抑制artifacts的能力,这边我没有做太多测试,doom9上有几位认为这一项super-xbr + AR或Reconstruction soft又比NGU-Sharp好一点,仅供参考。

super-xbr + AR、NGU-low或med、Bilateralsoft、Reconstruction soft这几个效能消耗都差不多。

上面几个跑不动的话,再退一步则是Cubic(Bicubic 75)+AR,或不开AR,还是跑不动的话才用Bilinear。

根据madshi说法NGU在这边还非最终版本,以后还会像Bilateral一样加入luma channel做为参照,所以也许NGU的一些不足之处还有进步空间,可以期待一下。

这边提一下Bilateral,它是以亮度频道(luma channel)做为色度的参考,但是其结果比较极端,受片源影响很大,有些片源它的色度升频效果明显比NNEDI3和super-xbr甚至目前的NGU还要好,但有些却又比较糟糕。

Bilateral有三个版本,old是原始版本,消耗的资源很少,大概跟Bicubic差不多,但上面提到的受片源影响最明显,soft和sharp则是改良版本,资源消耗跟super-xbr差不多,sharp比soft锐利一些。

Bilateral soft或sharp拿来当常驻选项也是一个不错的选择,个人喜欢soft多于sharp

而Reconstruction算是基于Bilateral的改造版本,也有三个版本,soft比较泛用,不会那么极端,但相对优点就没那么明显,sharp跟placebo则强化了锐利度(另外两个是各加了AR滤镜),但有时候会让人觉得锐化过头了,而且效能消耗比soft高太多,个人不是很建议,不过请自行判断,也许有人喜欢。

Reconstruction系列中个人认为比较适合当常驻的是Reconstruction soft

下面AR滤镜基本上能开就开,至于要不要开SuperRes则见仁见智,个人是不喜欢开(这边的SuperRes跟后面upscaling refinement里面的SuperRes并没有关系,是各自独立的选项,但一样都是额外做锐化处理)

在我个人的测试中Bilateral soft是我最喜欢的选项,锐利度跟抑制artifacts效果都很棒很平衡,其次是NGU-AA high,但我不是很确定Bilateral soft会不会有表现比较糟的片源,所以这个仅供参考。super-xbr100或125 + AR和Reconstruction soft则是doom9上比较多人推荐的选项,但我个人觉得有点不够锐利就是了。

另外值得注意的是,不同分辨率/帧率的片源对于chroma upscaling的效能消耗也不同,像4K>>1080>480,这方面的差别,需要透过设置profile才能达到最大限度的显卡资源应用。



在image downscaling的部分,SSIM是目前表现最好的算法,在缩小画面的同时很好的保留了原分辨率的细节跟锐利度,不过效能消耗也比较大。1D是以Bicubic为基础,2D则是以Jinc为基础,在4K→FHD的场合,某些场景中2D比1D稍微好一点点,但是效能消耗大很多,请斟酌使用。(以GTX 960来说,4K@60p→FHD屏幕,只能开到1D,2D会负荷不了)后面的强度%数越高画面越锐利,但相对的可能会让画面有些刺刺的,哪个强度比较适合自己请自行测试。另外建议勾选"activate anti-ringing filter"(以下简称AR)跟"scalein linear light"(以下简称LL)。

AR滤镜后面有一个strict(soft)跟relaxed,前者是AR滤镜预设强度,后者是降低AR滤镜强度,换得一些锐利度的提升(但ringing也会比较多),relaxed个人认为一些本身就比较柔和的算法比较适合,像Catmull-Rom,不过这个没有绝对,自己试试看比较重要。

至于"activate anti-bloating filter"(以下简称AB),它会强化高频讯号并移除低频讯号,用在SSIM上面,效果很类似直接把强度%数降低,不过madshi认为某些场景用AB滤镜效果比直接降低%数好,需不需要用这个滤镜,要用的话要开多强,也是请各位自行测试,每个人喜好跟观赏环境不一样。

如果显卡跑不动SSIM的话,次一级的选项是Cubic(Bicubic 150)+AR+LL,再次一级是Cubic(Catmull-Rom)+AR+LL,如果还是跑不动再依次把LL跟AR拿掉,还是跑不动的话最后再去考虑bilinear或DXVA2

值得注意的是,降频演算跟升频演算一样,各种算法的差异也是倍率差越多越明显,例如在4K→1080的场合,有些场景我可以观察到SSIM 2D跟SSIM 1D的差别,但如果是1440→1080的场合,就很难看出差别了,而如果是升频再降频的场合,例如720→1440→1080,由于升频上去的影像本来细节就比原生高分辨率的影像少,因此这时候SSIM 1D和Bicubic 150的差别也很小了。如何对各种不同分辨率的影片作最适合的设置以达到最好的效能利用,就要靠profile设置了。

备注:madVR v0.91.4之后,"升频再降频"所使用的降频算法不在image downscaling里设定,而是在image upscaling里的子选项"if any(more) scaling needs to be done:"里设定



接下来看到image upscaling,Bilinear和DXVA2,是对于一些比较弱的显卡或内显,效能无法负担其他任何算法时的选择,但其效果远不如其他算法。

Cubic系列(image upscaling这边一般使用下拉式选单里的Bicubic,后面数字越高锐化越高,但超过100的不建议)Lanczos、Spline这几种,效能消耗在伯仲之间(Lanczos、Spline比Cubic略高),而效果互有利弊,可参考右上角图表,一般来说Lanczos比Spline和Bicubic好一点。而Jinc,效能消耗比上面三种高一点,锐利度稍低于Lanczos,但对于artifacts的抑制做得很好,综合表现在上面三种之上。使用这几种算法时,下面的"activate anti-ringing filter"(AR滤镜)都建议勾选,至于"scalein sigmoidal light"这个选项,照madshi的说法它在有些场景可以稍微降低一些锯齿(aliasing),但某些场景可能又糟一些些,故各位自行测试决定要不要勾。

至于super-xbr和NGU系列,比较特别一点,它只能做2的次方倍的放大(2倍、2倍再2倍=4倍),不过NGU-(Sharp、Standard、Soft)可以做4倍的直接放大。就效果而言,这几种算法(尤其是NGU系列)跟其他几种完全不是同一等级,提升非常明显,当然效能消耗也会比较大。同时,很多情形下2的次方倍放大不会刚好等于目标分辨率,所以还会需要其他的升降频算法辅助把画面scale到目标分辨率。

NGU系列下面第一个下拉式选单里,algorithmquality--luma doubling,即亮度分辨率的翻倍,选择luma的运算强度,有四个等级,very high(非常高)、high(高)、med(一般)、low(低),越高运算越精密,消耗的效能也越多,low 的效能消耗大概跟Jinc差不多。在锐利度上四者有一点点差别但不是差很大那种,very high在线条的聚焦上会稍微好一点点,最主要是差在artifacts的抑制程度,越高抑制效果越好。

第二个下拉式选单,luma quadrupling,这项选择"let madVR decide"的话,会自动根据luma doubling里的翻倍强度设定来决定二次翻倍是否启用和强度。NGU Anti-Alias(以下简称NGU-AA) luma doubling选low~med,"let madVR decide"不会启用二次翻倍,lumadoubling选high~very high则"let madVR decide"二次翻倍会使用med。

选择"disable"则是不启用二次翻倍。

另外NGU-(Sharp、Standard、Soft)可以自行指定四倍放大时是使用"翻倍后再翻倍"的再次翻倍double again模式,或是直接四倍放大direct quadruple模式(NGU-(Sharp、Standard、Soft)限定,AA没有)。纯以锐利度来说double again会比direct quadruple高一点,但direct quadruple效能消耗会比double again低很多,而且对于噪声抑制和整体自然感而言direct quadruple都比较好,个人推荐direct quadruple,NGU-(Sharp、Standard、Soft)选择"let madVR decide"的话预设也就是用directquadruple。

第三个下拉式选单,chroma,影响色度升频到目标分辨率所使用的算法,选择"let madVR decide"时,luma doubling选择low~high,会使用Bicubic60+AR;luma doubling选择very high,会使用NGU-med。

normal = Bicubic60+AR

high = NGU-low

very high = NGU-med  (此项如果luma doubling设定high时会跳回high)

第四个下拉式选单,activate doubling,是设定翻倍的启用条件,达到条件才会启用NGU进行翻倍。

NGU-AA的选项:

选择"let madVR decide"时,默认是目标分辨率宽或高大于或等于原始分辨率1.2倍时启用,没达到1.2倍启用条件的话则会使用Jinc+AR替代。

NGU-(Sharp、Standard、Soft)的选项:

选择"let madVR decide"时,默认是目标分辨率宽或高大于或等于原始分辨率1.2倍时启用,没达到1.2倍启用条件的话则会使用Jinc+AR替代。

其他选项:

...only if scaling factor is 2.0x (orbigger)  当目标分辨率宽或高大于或等于原始分辨率2倍时启用

...only if scaling factor is 1.5x (orbigger)  当目标分辨率宽或高大于或等于原始分辨率1.5倍时启用

...only if scaling factor is 1.2x (orbigger)  当目标分辨率宽或高大于或等于原始分辨率1.2倍时启用

...only if any upscaling is needed  只要目标分辨率宽或高大于原始分辨率就启用

...always - supersampling  强制启用,即一般所谓的"超取样"

关于超取样,选择此项的话即使在1:1播放时(例如1920*1080影片在1920*1080屏幕上播放),也会启用翻倍算法(看选的是super-xbr还是NGU),强制升频后再降频回来,这个使用在super-xbr或NGU-AA时一般是搭配upscaling refinement里面的锐化算法一起用来取得锐利度的强化,当独使用并没什么效果。或是使用在NGU-Sharp时,可以受惠于它自带的deringing效果。不过这个选项并不是很建议,除非你的显卡效能非常强非常够用,而且实际使用上也真的看的出1:1播放强制升频再降频的画面区别才去用它,千万不要盲目的认为用了画质一定会变好。

第五个下拉式选单,activate quadrupling,是设定二次翻倍的启用条件,达到条件才会启用NGU进行二次翻倍。

NGU-AA的选项:

选择"let madVR decide"时,默认是目标分辨率宽或高大于或等于原始分辨率2.4倍时启用。(但如果前项手动设定成1.5倍启用的话这边会变成3倍启用;如果前项手动设定成2倍启用的话这边会变成4倍启用)

NGU-(Sharp、Standard、Soft)的选项(第二个选单选择doubleagain时):

选择"let madVR decide"时,默认是目标分辨率宽或高大于或等于原始分辨率2.4倍时启用。(但如果前项手动设定成1.5倍启用的话这边会变成3倍启用;如果前项手动设定成2倍启用的话这边会变成4倍启用)

NGU-(Sharp、Standard、Soft)的选项(第二个选单选择directquadruple时):

选择"let madVR decide"时,默认是目标分辨率宽或高大于或等于原始分辨率2.00001倍时启用。(直接四倍消耗比再次翻倍小很多,所以自动启用判定很宽松)

其他选项:

...only if scaling factor is 4.0x (orbigger)  当目标分辨率宽或高大于或等于原始分辨率4倍时启用

...only if scaling factor is 3.0x (orbigger)  当目标分辨率宽或高大于或等于原始分辨率3倍时启用

...only if scaling factor is 2.4x (orbigger)  当目标分辨率宽或高大于或等于原始分辨率2.4倍时启用

...only if any upscaling is needed  只要目标分辨率宽或高大于原始分辨率就启用

第六个下拉式选单,if any(more) scaling needs to be done -- upscaling algo,则是当翻倍或二次翻倍后,可能还小于目标分辨率,必须再升频到目标分辨率,这个选项影响此时使用的升频算法,选择"let madVR decide"时,luma doubling选择NGU-low~high,会使用Bicubic60+AR;luma doubling选择NGU-very high,会使用Jinc+AR。也可以直接指定想用的算法。

第七个下拉式选单,if any(more) scaling needs to be done -- downscaling algo,则是当翻倍或二次翻倍后,可能大于目标分辨率,必须再降频一次到目标分辨率,这个选项影响此时使用的降频算法,选择"let madVR decide"时,Luma选择NGU-low~high,会使用Bicubic150+AR;Luma选择NGU-very high,会使用SSIM1D100+AR。

如果不想用上面两种算法,可以选择"use image downscaling settings",沿用imagedownscaling里面的设定。或也可直接指定选单里任何一种你想用的算法。(doom9有很多使用者认为升频再降频用的算法不需要加LL,当然这个主要还是看个人喜好)

现在的madVR版本,使用NGU系列时其实几乎只要指定luma (doubling和quadrupling)的强度就好,其它交给"let madVR decide"就自动帮你选择好了,其实非常方便,对于新手来说友善多了,也避免了一些无谓浪费效能的设定。

另外关于super-xbr,个人认为它可以被NGU取代,不过有些人还是会想要使用它(可能因为效能消耗够低,约等于Jinc+AR的程度,或是其它原因等等),这部分选项上跟NNEDI3和NGU大同小异,第一个下拉选单是选择锐化程度,一般选择100左右,可依自己喜好调整。第二个下拉式选单是选择是否要二次翻倍及二次翻倍锐化程度。

第四个下拉式选单,选择"let madVR decide"时,默认是目标分辨率宽或高大于或等于原始分辨率1.2倍时启用,没达到1.2倍启用条件的话则会使用Jinc+AR替代。

第五个下拉式选单,选择"let madVR decide"时,默认是目标分辨率宽或高大于或等于原始分辨率3倍时启用(但如果前项手动设定成2倍启用的话这边会变成4倍启用)。

而第六个下拉式选单(upscaling algo),选择"let madVR decide",会使用Bicubic60+AR;第七个下拉式选单(downscalingalgo),选择"let madVR decide",会使用Bicubic150+AR。



以下举几个例子来说明整个流程,设定如上图,屏幕分辨率是1920*1080,

当我要播放一个1280*720的影片时,首先:

YCbCr 1280*720 4:2:0 → RGB1280*720 4:4:4 (chroma upscaling算法)

RGB再转回YCbCr  并把Y(亮度频道)跟CbCr(色度频道) 拆开处理

1280*720亮度分辨率升为2560*1440  (符合1.2倍条件,NGU Sharp翻倍启用,强度high)

1280*720色度分辨率升为1920*1080  (chroma选项决定,此例会使用Bicubic60+AR)

亮度分辨率2560*1440 → 1920*1080  (downscaling algo选项决定,此例会使用Bicubic150+AR)

合并色度信息和亮度信息,转换为RGB输出1920*1080到屏幕上



设定如上图,当我要播放一个640*360的影片时,首先:

YCbCr 640*360 4:2:0 → RGB 640*3604:4:4 (chroma upscaling算法)

RGB再转回YCbCr  并把Y(亮度频道)跟CbCr(色度频道) 拆开处理

640*360亮度分辨率升为2560*1440    (符合2.00001倍条件,NGU Sharp直接四倍启用,强度veryhigh)

640*360色度分辨率升为2560*1440  (chroma选项决定,此例会使用NGU-med直接四倍)

色度和亮度分辨率2560*1440降为1920*1080  (downscale algo选项决定,此例会使用SSIM1D100+AR)

合并色度和亮度信息,转换为RGB输出1920*1080到屏幕上

对于各种算法的选择,实际上还是要依显卡等级,各种不同的片源及对各种算法的主观感受去调整,找出能够顺畅播放而且自己看了也喜欢的组合,强烈建议设置profile,可以编写切换逻辑或设置热键方便快速切换,这方面需要经过一定时间的测试才能找出最适合自己计算机的设定。

另外要如何判断显卡负荷不负荷的了此种算法呢?第一个当然是看画面会不会很顿,再来看看GPU使用率是否高达9X%快破表,再来也可以在播放时按Ctrl+J叫出OSD,看看有没有掉帧(dropped frames),render queue是否一直很低,rendering time是否超过movie frame interval,如果都没有那就恭喜啦,可以放心看片!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

avatar

2

主题

0

回帖

36

积分

新手上路

积分
36