A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 21443|回复: 39

【搬运】ResetEra玩家对几个游戏HDR效果的评测分析,更新底特律分析,RGB对比YUV

[复制链接]

精华
0
帖子
5432
威望
0 点
积分
6041 点
种子
2 点
注册时间
2017-8-19
最后登录
2022-11-8
 楼主| 发表于 2018-6-19 06:56  ·  美国 | 显示全部楼层 |阅读模式
本帖最后由 Aestibalis 于 2018-8-9 06:59 编辑

底特律:教你做HDR

底特律是本世代至今视觉效果最惊人的游戏之一,能看出QD作出大片级体验的意图。

游戏的默认设置已经提供了很好的效果。但是由于游戏的黑阶被稍微调高来模拟投映电影的感觉,如果你在暗房里玩这个游戏,推荐把亮度适度调低,比如-0.2。

游戏的亮度峰值为4000nits,绝大多数的发光物件在1000nits左右。不像命运2和战神,底特律的亮度控制只影响阴影和中间色调,不会影响高光部分,所以即便你把亮度往上调,画面也不会泛光发虚的问题。



大部分光照都不会超过1000nits,上图里的台灯大概在500到1000。



一览城市的全景,远处的灯火也是差不多的光照水平

这段场景非常适合拿来当hdr演示。场景的整体亮度并不高,电视有足够的余力去点亮部分细节。

下图里的水族箱在HDR下的光照非常出色,类似的还有场景里的各种电子显示设备。



作为一个有着出色光照和材质的游戏,底特律的HDR非常自然。每一个物体的表面对光线的处理都很真实。

------------------------------------------------
RGB VS YUV420

关于RGB和YUV420,先说结论,离电视正常视距下RGB和YUV420的区别,除非像素逐个比较,否则肉眼区分不了。说因为YUV420导致HDR画面发灰或颜色不正的应该先检查一下自己电视机和PS4设置对不对。

RGB和YUV是两种色空间表达方法,一张RGB图可以无损地转成YUV4:4:4,这里三个数字的意思可以用下图来解释:

把一张图里的所有像素按4*2分块,在YUV空间里每个像素有一个Y亮度值,一个综合(U+V)的色度值。第一个4表示每一行的亮度值被采样的次数,第二个4是第一行的像素色度被采样的次数,第三个4是第二行色度被采样的次数。YUV444时每行像素亮度被采样4次,色度也被采样4次,最后叠加成等号右边的图片,所以是无损转换。

YUV422和YUV420是有损压缩,看起来画面不失真的原因是人眼对亮度的敏感度远大于色度。所有的YUV压缩都保留每个像素的亮度值,然后降低八个像素里的色度采样。比如下图左下的4:2:2,每一行只保留第一和第三个像素的颜色,右下角的4:2:0只保留第一行的两个像素。


具体应用在视频上就是下面两张图的效果,在边缘部分会粗糙,但是这两个例子是把每个像素放大了25倍看的,


缩回正常大小对着电视机谁能看出来肯定姓宇智波。



你要实在不信,github上rgb转yuv的代码不少,matlab和python的都有,可以自己下一个玩玩。即便真的在乎这点图像压缩,10bit的颜色比起8bit的优势比有没有RGB重要多了。


----------------------------分割线---------------------------

基本只保留原帖效果评测,挑了部分游戏简单翻译,感兴趣的去看这两贴
https://www.resetera.com/threads/hdr-games-analysed.23587/
https://www.resetera.com/threads ... 4-exclusives.27129/

以下正文

我这几周花了点时间研究不同游戏的HDR输出。对SDR视频你们应该都很熟悉了,每个RGB值范围是0到255,0表示全黑,255表示全白。
HDR10/Dolby Vision就不一样了,不只是范围区间变成了0-1023,且每个数值不光代表灰阶还代表了该像素的明度(尼特),即这个点有多亮。

不同于过去的视频格式,HDR信号的RGB值是设定好的绝对值。0依旧表示纯黑,而1023代表10000尼特的明度,769则永远代表1000尼特。

所以,当一台支持HDR的电视接收到这类数据,这台电视理论上应当在每个像素点上输出数据所指定的明度。HDR10和Dolby Vision都使用这套系统,它们都可以成为基于PQ(Perceptual Quantiser)的HDR。

现在能最大明度支持到10000尼特的电视机很少,你能买到一台达到1500尼特的电视已经算很好了。当信号里某些像素的明度超过电视本身的明度上限,不同的电视有不同的处理方法,但绝大多数厂商的做法是明度超过一个阈值全部当作纯白对待,部分厂商会在这个边缘区间加入些平滑处理,从而使这“一刀切”不那么明显。HDR10和Dolby Vision的信号提供了包含视频信息的元数据;元数据一般会说明游戏或电影图像的最大明度和平均明度。这些数值是基于电影和游戏在加工成HDR内容时所使用的显示设备确定的。当前绝大多数UHD电影都是基于1000尼特或4000尼特的屏幕。

元数据的意义在于,举个例子,当你用最大明度只有650尼特的OLED电视观看基于1000尼特制作的电影时,电视会根据元数据来决定如何解决超出其硬件能力范围的内容。当电视机本身就足够亮,元数据就无关紧要了。


而我所做的就是基于上述基本知识看了一下不同的游戏它们的HDR画面是如何处理的,开发商提供给了玩家哪些调整画面的选项,这些选项都干了什么,以及HDR看起来效果如何。

由于HDR本身的特点,要衡量这些并不是很难,我们所需要的一切是没有被压缩成SDR的截图或者视频采集,再从其中看图像的不同部分的RGB值。从中我们可以看到游戏有没有实际输出任何全黑(或窄色域的黑),我们也可以看到游戏是怎么呈现亮部物件(比如太阳)。

使用HDR的目的是提供更多细节,现实中更亮的东西比如火光、爆炸和太阳能和图像其他部分区分开。下面我们将看一些对HDR合理使用的游戏例子。它们对色域频谱的处理各有自由基的风格。

为了更好地把HDR内容在非hdr显示设备上可视化,我将使用下面这个标尺,你可以用它来度量游戏里暗部,亮部和超亮部。



基本上大多数像素都会落在0到150尼特这个区间,再往右(黄色红色粉色白色)部分就是只有HDR才能提供的内容了。

星战前线2:
所有用寒霜引擎的游戏都使用相同的设置。元数据的最大值是10000,与电视最大明度的匹配通过游戏内的HDR亮度设置完成(类似那个每次玩新游戏会让你设置“右边图片清晰,左边刚好看不见”的操作)


从图里可以看到,太阳部分输出的是10k尼特,应该全黑的部分也的确是全黑,枪械上有镜面反射效果的部分落在了4k和10k尼特中间。用寒霜引擎的游戏非常有趣的一点是你可以把HDR效果调到几乎最弱,游戏就会给你输出一个100或200尼特的画面,基本上这就是HDR降到了SDR,这很适合拿来做HDR/SDR对比,来看看你的新电视机效果究竟如何。

古墓崛起:
这款游戏的设置和星战2很像,一个亮度调控制暗部细节,一个HDR条来匹配最高亮度。不同的是古墓的最大亮度卡在了4000尼特。

古墓崛起的反射高光做得非常好,且不光出现在你能想到会反射阳光,诸如冰面,积雪的表面上。

还包括类似下图里木地板,以及隐约可见的靴面细节这种并不是很起眼的表面。


一旦某处的明度超过4000尼特,游戏都选择直接拉高到10k尼特(反正对现在的电视机来说4k和10k没有区别),这应该是美术团队的决定,而不是技术上的问题。


刺客起源:
刺客起源是另一个HDR做得相当出色的游戏。ACO和古墓一样卡在4000尼特。ACO最有意思的一点是它还提供了一个“白纸光强”,所以你不光可以设置这游戏最暗和最亮能达到多少,还可以决定一张白纸看起来该多亮。





暗影魔多
暗影魔多的HDR机制非常简单粗暴,游戏永远输出10k尼特的最大亮度,至于怎么后处理完全交给电视。然而我们都知道,开发商自己根本从来没见过10k亮度下游戏长什么样,因为支持10k尼特的电视机根本不存在!

图里可以看到太阳和右边的反射面达到了10k尼特,角色的背面因为晒不到太阳所以看起来很黑。


狒狒15:
最大明度卡在了1000尼特,你可以拖动亮度调来改善暗部细节。总的来说效果非常好。(这是原作者的话,我觉得FFXV的HDR不行





连标题界面都有HDR



猛汉王:
和杀出重围有一样的毛病,最大明度在4000尼特,但是HDR一开,黑度被拉得过高,默认亮度设置下游戏看起来是这样的:



把HDR截图tonemap进PS看右上角频谱图,暗部是不存在的:


对比同一个场景下的SDR截图:


可以看出在HDR下对比度和暗部有非常大的问题。这可以通过调低游戏亮度来稍微改善,但谈不上解决。

地平线:
(他终于学会发视频了)https://youtu.be/W5GwqYgd0uI
这个视频简直是怎么把HDR做好的教科书,几乎所有你看见的东西都在SDR区间内,同时Aloy的武器对阳光的反射以及背上零星的闪烁都接近10k尼特。天上的云大多为1000到4000尼特,阳光是10k。

神海4就发了个视频,除了指出游戏内最大明度是10k之外没有评论:
https://youtu.be/6MiKCWf6xhI

此外巫师3是伪HDR

可能是游戏引擎太旧,在光照上对HDR支持不够,也可能纯粹是CDPR没做好。绝大多数时候游戏都是非常平淡的SDR,下面这张夜景图基本完全就是SDR,连营火这种应该很亮的东西都非常黑:


下面这张图也是,除了月亮和远处的火把勉强上了1000尼特,除此之外这称不上是HDR,尤其是水面的反射。


换个场景,在下面这个图里更搞笑,火把都比太阳亮了,而且这张图说白了还是SDR。


到了白天更搞笑的事情发生了,杰洛特面朝太阳时他的脸上了1000尼特。这还是一张亮部错乱的SDR。


当我们直视阳光,应有的细节完全没有。


我怀疑CDPR偷懒只是给SDR加了滤镜就当HDR补丁发出来了,为了确认这一点,同一个场景我SDR和HDR各截了一张图,把SDR截图的RGB范围从0到255拉伸成0-1023,再做频谱分析如下:


基本一致,实锤了,游戏只是把8bit SDR图像拓宽到HDR范围,非常简单粗暴的伪HDR算法,简直可以说只是加了个滤镜。

本帖子中包含更多资源

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

x

精华
0
帖子
1290
威望
0 点
积分
1703 点
种子
684 点
注册时间
2011-5-10
最后登录
2025-2-1
发表于 2018-6-19 07:31  ·  广东 | 显示全部楼层
手机app看不见图!

精华
0
帖子
5432
威望
0 点
积分
6041 点
种子
2 点
注册时间
2017-8-19
最后登录
2022-11-8
 楼主| 发表于 2018-6-19 08:46  ·  美国 | 显示全部楼层
上传不了附件,无解。
我记得imgur的图在网页端是能看到的。

精华
0
帖子
17682
威望
0 点
积分
18917 点
种子
80 点
注册时间
2012-5-5
最后登录
2022-6-14
发表于 2018-6-19 09:25  ·  美国 | 显示全部楼层
好吧,也就是说波兰蠢驴是真蠢了

精华
0
帖子
5432
威望
0 点
积分
6041 点
种子
2 点
注册时间
2017-8-19
最后登录
2022-11-8
 楼主| 发表于 2018-6-19 09:47  ·  美国 | 显示全部楼层
everending 发表于 2018-6-19 09:25
好吧,也就是说波兰蠢驴是真蠢了

hdr补丁刚更新的时候就觉得怪怪的,之后玩着玩着觉得还行挺舒服的,原来舒服的原因是根本hdr不达标。

精华
0
帖子
5432
威望
0 点
积分
6041 点
种子
2 点
注册时间
2017-8-19
最后登录
2022-11-8
 楼主| 发表于 2018-6-19 09:47  ·  美国 | 显示全部楼层
jiakele 发表于 2018-6-19 07:31
手机app看不见图!

图应该能看到了。

精华
0
帖子
2739
威望
0 点
积分
3386 点
种子
645 点
注册时间
2014-1-17
最后登录
2025-2-11
发表于 2018-6-19 10:07  ·  上海 | 显示全部楼层
这才是游戏论坛该有的帖子啊。赞美lz。现在大部分帖子都是三句不合就开始撕逼。纯技术贴基本没人弄了。
该用户已被禁言

精华
0
帖子
5
威望
0 点
积分
5 点
种子
2 点
注册时间
2009-8-24
最后登录
2019-12-7
发表于 2018-6-19 11:44  ·  上海 | 显示全部楼层
巫师3那个引擎再晚上比较糟糕,白天还是不错的

精华
0
帖子
32193
威望
0 点
积分
36287 点
种子
1294 点
注册时间
2009-7-12
最后登录
2023-11-23
发表于 2018-6-19 12:09  ·  拉脱维亚 | 显示全部楼层
前排留名支持一下这么有营养的帖子

精华
0
帖子
1510
威望
0 点
积分
1504 点
种子
18 点
注册时间
2014-10-30
最后登录
2023-6-30
发表于 2018-6-19 12:45  ·  湖南 来自手机 | 显示全部楼层
好帖。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2025-2-11 17:09 , Processed in 0.222825 second(s), 16 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部