dtlnor
发表于 2022-4-15 02:44:30
castiel 发表于 2022-4-15 01:29
因为有madvr,在4k屏上锯齿反而不明显
ummmm 如果是一般高质量拉伸确实不会有锯齿。但不知道整数缩放(integer scaling)会不会有锯齿感。
一般的拉伸算法可能会模糊锐利的边缘,所以我看到有人说4k屏看动画反而没有1080p清晰(当然这个观点未必正确,毕竟很多片源也都只是720p拉伸上来的1080p,再者动画也没有精细到pixel art那种需要一个个像素扣的程度)。
dtlnor
发表于 2022-4-15 03:10:15
孤雨独火 发表于 2022-4-15 01:55
我一直以为是楼上全跑题了。。。后来想了想是我下意识以为你说的整数缩放是 整数倍的nearest
而它们讲的 ...
你是对的,我所指的就是整数缩放(nearest neighbor with integer scaling factor, aka. integer scaling 整数缩放)将一个像素的内容放在四个像素上显示,在像素游戏使用高分辨率屏幕游玩时经常会使用的一种算法(保持图像不模糊并且pixel perfect)
Decoherence
发表于 2022-4-15 09:02:33
2. 如果我在4k屏播放动画,用更优秀的算法(比如NGU),会比同条件1080p屏幕(或者整数缩放的4k)显示出来的效果更好吗?
NGU/ FSCRNX(好像是这个名字吧,记不太清)要比nearest neighbor 清晰得多;(1080p
-> 4k下)NGU/nearest neighbor的清晰度提升要远比nearest neighbor/bilinear的清晰度提升要大。如果你觉得区别不大的话,那么可能是:1. 动画本身作画分辨率不足原生1080p,2. 屏幕太小/离屏幕太远
Jan
发表于 2022-4-15 09:19:06
本帖最后由 Jan 于 2022-4-15 09:24 编辑
如果是1080p 444的视频,你也许会感受到4K分辨率下更好,因为RGB子像素排列的影响更小了那么一点儿。如果是420的话,你需要首先用一般的算法将色度重采样到1080p(用nearest neighbor会产生偏移),再(转为RGB之后)整数缩放到4K,这个流程不太容易在播放器里面控制。
Decoherence
发表于 2022-4-15 09:23:46
bilinear
oversample (mpv版的nearest neighbor)
FSRCNNX_16
joker2000
发表于 2022-4-15 11:03:56
第一个问题,两块大小相同屏幕,一个1080p一个4k,那么4k通过nearest播放1080p,理论上可以与1080p屏播放1080p达到相同效果。
原理如你所说,4k可以刚好用4个像素代替1080p的一个像素,请看下面的图例(请查看100%原图)
1. 1080p
2. nearest 2x 4k
3. bilinear 2x 4k
可以看到,nearest 远比 bilinear 清晰,基本能保持原图的观感。
但是,实际中存在一些问题,导致无法完全还原1080p播放的观感。一般的视频是 YUV420,即1080p视频的色度平面只有540p。用 nearest 2x 之后,色度平面变为1080p,播放时要拉伸到 4k 和 Y 平面对齐。但是1080p->4k(4k播放)的拉伸效果劣于540p->1080p(1080p播放),因此色度表现上必定会出现劣于1080p的情况。具体而言,可以观察图2,在颜色区域交接的地方有明显的色度锯齿,比如右上角的红色圆锥,非常明显。
如何解决这个色度平面的问题,1.使用 YUV444 的视频;2.播放时先转为1080pRGB,再 nearest 2x 为 4k。遗憾的是,前者通常较少,而后者无法控制,播放器总是先进行 YUV 的拉升再转为 RGB。
因此,可以总结到,4k屏幕通过 nearest 播放基本可以还原1080p屏幕的效果,但往往在色度平面的表现上会稍微劣化。
需要注意的是,以上讨论基于两块大小相同屏幕的前提,像素密度是影响观感的重要因素。即使采用以上方法,4k屏幕播放1080p视频也达不到4k屏幕播放原生4k视频的观感,因为像素密度减少了。
第二个问题,经过上面的讨论答案已经显而易见了。使用拉伸算法,无法还原1080p屏幕播放的效果;但是一些高级的拉升算法,比如NGU,可以给出针对拉升后观感进行优化的画面。具体是用 nearest 2x 这种更还原的方法好,还是NGU这样优化过观感的方法好,没有定数,需要根据具体的源自己判断。NGU显然更具有通用性,可以在于各种分辨率。 nearest 只能用于1080->4k这种恰好的情况。
不过我个人更推荐1080p屏幕观看1080p视频,原汁原味。
jp4bgmm
发表于 2022-4-15 13:57:25
8k電視,1080p bd動漫原盤,madvr ngu aa升頻兩次外加rca .8k藍光機.8k電視晶片 三種效果大比對
dtlnor
发表于 2022-4-15 14:50:08
本帖最后由 dtlnor 于 2022-4-15 15:12 编辑
Decoherence 发表于 2022-4-15 09:23
bilinear
oversample (mpv版的nearest neighbor)
bilinear毫无疑问是最不用考虑的算法,FSRCNNX应该<=NGU(没记错这个是ai滤镜来着。效果挺好的)。不过oversample似乎与我描述integer scaling有点不一样。我看了看mpv的描述
oversample
A version of nearest neighbour that (naively) oversamples pixels, so that pixels overlapping edges get linearly interpolated instead of rounded. This essentially removes the small imperfections and judder artifacts caused by nearest-neighbour interpolation, in exchange for adding some blur. This filter is good at temporal interpolation, and also known as "smoothmotion" (see --tscale).
实际上我需要的应该就是这个artifacts caused by nearest-neighbour interpolation 来达到integer scaling(四个像素为一组,同一个像素的内容)的目的。mpv这个oversample看起来更像是bilinear的亲戚(
dtlnor
发表于 2022-4-15 15:02:49
本帖最后由 dtlnor 于 2022-4-15 15:10 编辑
joker2000 发表于 2022-4-15 11:03
第一个问题,两块大小相同屏幕,一个1080p一个4k,那么4k通过nearest播放1080p,理论上可以与1080p屏播放10 ...
nearest(integer scaling)的话,其实近代的显卡应该都支持,我没有4k屏幕无法测试,但理论上显卡的缩放应该是不受软件影响的。所以就可以达到让播放器渲染1080p大小的视频(YUV420的色度也是540p拉伸到1080p)然后直接输出1080rgb(让显卡做nearest到4k屏)
(n卡例子)
至于第二点我也同意。真的需要side by side对比才能得出结论。或者换句话说,个人喜好可能也会左右结论。其实有一点迷思就是,很多1080p的视频也是从720乃至更低的分辨率拉伸上来的。那么本来1080p就谈不上原汁原味的时候我用NGU拉伸到4k似乎才是真正的有利无弊的行为?
keloy
发表于 2022-4-15 15:20:53
jp4bgmm 发表于 2022-4-15 13:57
8k電視,1080p bd動漫原盤,madvr ngu aa升頻兩次外加rca .8k藍光機.8k電視晶片 三種效果大比對 ...
ngu aa还需要搭配rca的吗,通常rca是搭配与sharp以消除锐化后产生ringing,aa完全没必要用rca吧,这种算法拉伸后画面锐度本身就稍逊于原本的锐度了