-
Notifications
You must be signed in to change notification settings - Fork 503
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用nnedi3和fsrcnnx的时候出现颜色质量下降的问题 #398
Comments
这和着色器的实现原理有关。 锯齿问题 FSRCNNX、NNEDI3、ACNet 都只在亮度分量上缩放,因为人眼对亮度最敏感,可以以微小的质量代价提高性能。(其他通道是最近邻缩放,因此有锯齿) NNEDI3 的半像素偏移 NNEDI3 原本是用于去隔行的算法,用于放大的原理是,先竖直放大一倍,再水平放大一倍,通过两次去隔行将一个像素扩展为四个像素,这就引入了半像素偏移。 |
这样是相当于提升到(相比三通道)三倍性能吧,确实让人无法拒绝( |
实现了在 UV 通道使用双线性插值的 FSRCNNX。对比:https://imgsli.com/MTE0NzI1 在色差大的边缘可以很好的消除锯齿。 |
感谢,效果非常显著 |
有个小问题,你的修改会导致 Y 通道和 UV 通道不重合 float2 originUV = mul(rgb2uv, INPUT.SampleLevel(sam1, (destPos + |
因为fsrcnnx没有色度偏移,里面是0.5,所以我给nnedi3的这里再加了0.5…… |
除了 FSRCNNX、NNEDI3,需要修改的还有 ACNet 和 RAVU。因为这算某种程度的魔改,所以我会把它放到 MagpieToys 里。 我还试过其他插值算法,但效果不尽人意,目前看来双线性插值是最合理的选择。 |
建议把这两个包含在主程序中,视频播放器又没有这个问题,让喜欢的人用吧 (✧◡✧) |
我将这些更改合并进了主仓库 a7b4b50 |
Magpie version 程序版本
0.9.0
Windows version 系统版本
Win10 21H2
Related screenshot (optional) 相关截图(可选)
还请以100%的比例来查看截图,不然可能看不出来
Anime4K:
NNEDI3:
FSRCNNX:
Reproduction steps 复现步骤
选择fsrcnnx或nnedi3,然后启用全屏,注意观察对比强烈、线条清晰的颜色边缘,尤其是红色,可以看见明显的锯齿以及颜色位置稍微偏移(颜色偏移似乎没有在fsrcnnx上、只在nnedi3上出现)。
根据这样的特征来猜测,可能是在shader计算过程中有转到YUV420处理的部分,这样的情况或许是可以避免的,比如同样基于神经网络的Anime4K就不会出现这样的情况。
Log files 日志文件
logs.zip
The text was updated successfully, but these errors were encountered: