-
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 24 replies
-
视频以 yuv420 像素格式居多,色度平面的分辨率只有亮度平面的一半,以 1080p yuv420 放大到 2160p 为例:
通常对于视频播放来说是的,应该优先使用亮度平面放大的着色器, 另外RGB平面放大的着色器搭配更灵活一点,比如使用Anime4K_Restore重构线条之后,不想用Anime4K_Upscale放大(油画感太重),可使用其他RGB平面放大的着色器,没法用亮度平面放大,因为Anime4K_Restore工作在RGB平面,使用亮度平面放大就变成了先放大后重构线条,这会带来更多伪影。 |
Beta Was this translation helpful? Give feedback.
-
AMD_FSR_EASU_rgb_RT hook 的是main,这时候已经没有chroma了怎么会两次放大chroma呢
这个问题是有点广的,单举例一个fsr不全面。EASU其中一部分是lanczos2改进而来,而lanczos2本身不太依赖颜色信息,作为luma scaler是不太影响整体变化的,其他依赖颜色信息的算法如果做成两种变体就容易会有精度差异,至于看不看的出来又是另一回事。 |
Beta Was this translation helpful? Give feedback.
-
你的问题涉及的比较多啊,上面两位也已经进行了比较充足的解释,我仅在个人知识层面进行一些补充(存在片面和错误的地方
这个比较好理解,一个是 luma 平面上进行放大,一个是 RGB 平面上进行放大,luma 放大只涉及亮度通道,所以计算消耗更低,同时它可以避免 RGB 混合后可能的色度信息上的溢出或失真甚至噪点瑕疵产生的干扰,通常情况下会优先选择在 luma 平面上进行放大锐化和瑕疵处理等操作,再对色度平面进行单独处理。但是对于以 rgb 形式存储的文件则只能在 RGB 平面上进行放大
上面已经有人解释过了,rgb 类缩放器只在合成后的 RGB 平面执行放大操作,即此类着色器和算法会在最后执行
对于同一种算法的不同实现的话是的,不同算法之间则不能如此类比
这是不正确的,YUV 中 Y 平面为亮度信息,UV 平面是与亮度相对应的色度的色差信息,两者存在变换关系,但 UV 平面并不会包含亮度信息。而当亮度信息和色度信息的相关性不够强时基于亮度尝试还原色度的着色器会产生糟糕的效果
题外话,FSR 着色器在一些场景中会对线条产生明显的劣化效果。本身就不是一个优秀的算法
可以说大多数常规放大算法无论双线性、双三次、Lanczos 和 EWA 类,以及 nnedi3 和 ravu 等等,都是在分析和处理像素的插值方式,是不涉及亮度和色度信息的针对性处理的,所以它们都通用于亮度和色度,但更适合亮度平面的处理 而考虑到色度信息进行针对性处理的大多都是 AI 类放大算法,它们往往在非线性色彩空间中进行训练和处理
如上所述,是的
除非性能真的不够,否则 --correct-downscaling 选项不建议禁用,它就是降采样的 AA 处理,mpv 目前默认启用 sigmoid-upscaling 作用于缩放前(LUMA 平面及 RGB 平面前),它是对色彩空间进行了非线性转换。也就是先对像素值做 sigmoid 曲线映射 → 再执行图像操作 → 最后做反向映射还原 但这样做也可能导致反向映射后色彩的动态范围和准确度出问题 |
Beta Was this translation helpful? Give feedback.
AMD_FSR_EASU_rgb_RT hook 的是main,这时候已经没有chroma了怎么会两次放大chroma呢
这个问题是有点广的,单举例一个fsr不全面。EASU其中一部分是lanczos2改进而来,而lanczos2本身不太依赖颜色信息,作为luma scaler是不太影响整体变化的,其他依赖颜色信息的算法如果做成两种变体就容易会有精度差异,至于看不看的出来又是另一回事。