开启辅助访问
 找回密码
 立即注册

HDR算法是在显示器中还是显卡中完成的?

dsaasd123 回答数6 浏览数1068294
本人小白,请教各路大神:要播放出带HDR效果的内容,是否需要显示器和计算机同时具备HDR功能?用HDR显示器显示普通JPG图片,与普通无HDR显示器有无区别?无论是用带HDR特效引擎制作的PC游戏,还是XBOX/PS4游戏,但凡通过HDMI输出,必然是经过计算后的每一像素的RGB值。既然在传输到显示器时已经完成了计算,HDR显示器与普通显示器又有何不同?仅仅是最大亮度、对比度的不同吗?
ppsg123 | 未知
目前流行的HDR视频标准有 Perceptual Quantizer / Dolby Vision / Hybrid Log Gamma 等,
本质上都是一组全新定义的转换函数,配合全新定义的色彩空间(如 BT. 2020)、分辨率(如 4K、8K)、位深(10 / 12 / 14 bits)等,使视频能够记录、显示器能够重现更多的色彩、动态范围等。
现行的 BT. 709 已经很旧了,使用这个标准能够记录、重现的范围有限,而且现在的显示器能够重现的范围已经超过了其定义的范围,因此诞生了新的标准。
所以,问题的回答:
1、是的,不仅需要显示器支持输入,计算机软件(播放器、游戏等)支持处理、硬件(显卡)支持输出,视频文件 / 信号本身也必须是 HDR 编码的。
2、没有区别,大部分 JPG 使用 sRGB / Adobe RGB 等色彩空间,8 bit 编码,其记录的范围有限,而相机的 RAW 文件记录了更多范围,将范围广的 RAW 转换为范围窄的 JPG 时,需要进行 tone mapping,这就是静态摄影中常说的 HDR 色调了。也许不久之后就会有使用 HDR 视频标准的 HDR 图像格式出现,使图片能够记录更多的动态范围,在支持 HDR 视频标准的显示器上有更好的效果。此时如果有差别则是显示器本身性能的差别,而更好的动态范围是 HDR 显示器的基本,从这个角度来说 HDR 显示器可能也能更好地显示 SDR 图片 / 视频。
3、此 RGB 非彼 RGB,HDR 视频中使用的 RGB 是经过新定义的转换函数得到的,和 HDR metadata 一同经过 HDMI 传输,显示器也会使用新定义的转换函数将其转换为信号显示出图像。如果将其当作普通的图像来解码,会得到错误的结果,
可以用一张截图配合 Photoshop 说明一下:

「君の名は。」
图 1 来自「你的名字。」 4KHDR 蓝光盘,这也是最常见的错误解码 HDR 视频的效果。为什么是灰灰的?因为它采用了 HDR PQ 编码,拥有专门的转换函数,而如果将其当作普通的视频,会将视频流中的 YUV 数值使用 BT. 709 的相关定义转换为 sRGB,然后输出到显示器,使用 Gamma 2.2 转换。

图 2 根据 PQ 空间的转换函数将其色调映射到了 sRGB 空间,峰值亮度为 100 nits,也就是 BT. 709 中定义的范围,而原本 HDR 视频中记录的高光信息被滚降(roll off)到了有限的范围内,也就是说截图 2 已经转换到 SDR 了。

图 3 同样映射为 sRGB,只是这次不使用 roll off,而是直接抛弃(hard clip)原视频中 100 nits 以上的数据,也就是说我们看到了 HDR 视频的一小部分信息,其全貌需要软硬件支持的情况下解码原视频才能看到。
(其实上面这个过程和我们调相机 RAW ,最后输出 JPG 的操作是一个道理)
补充一下,因为 HDR 显示器 / 电视其实还不怎么普及,有的中低端产品或提供名为 HDR 的技术,实则为输入 SDR 视频实时调整画面,这样补偿的信息并不是真实的。HDR 视频来自于摄像机拍摄的范围更广的源文件和后期调整,使用新标准才能让最终用户尽可能看到原貌或导演的意图。为了让屏幕在物理上有更高的动态范围,出现了自发光(OLED / QLED)分区调光(local dimming)甚至像素调光(已上市:EIZO CG3145)等技术。
最后提供一个小玩意,供大家参考,对于开始压制 UHDBD 的朋友可能也有点用:
ST2084我用 Desmos 画了一些图,里面包含了 BT. 2100 定义的 PQ 相关的 EOTF / OOTF / OETF,BT. 2390 提出的一个 EETF(用来将 Reference PQ EOTF 映射到实际显示器的范围)等。
打开后默认显示的红色曲线是 Reference PQ EOTF 0~10000 nits ,
绿色曲线是将红色曲线 mapping 到 0.005~1000 nits 的 EOTF ,这个范围可以通过 EETF 文件夹中的两个变量调整。
两个小三角分别是 BT. 709 和 BT. 2020 色彩空间 in CIE xyY,
可以拖动第一个文件夹 Parameters: Linear RGB Signals 中的变量来查看相应色彩空间里的位置、转换后的 BT. 2020 non-constant luminance Y'Cb'Cr' 数值以及 10 bit TV Range 编码后的整数值等。这些值都在标有 Values 的文件夹里。
也可以自己使用里面写好的函数来进行相关的计算,例如:
OETF:
表示 700 nits 在非线性 PQ 空间中的值。

Reference PQ EOTF,横轴为非线性 RGB 数值,纵轴为亮度值。由此也能看出为什么错误解码 HDR 视频会很灰,因为通常 HDR 视频中的绝大部分信息都在 600 nits 以下,对应的 RGB 数值小于 0.7 (或 179/255)将这个数值直接当作 sRGB 解码,自然就灰了。
用Deepseek满血版问问看
回复
使用道具 举报
genhubby | 未知
HDR是色深和亮度两方提升得到的结果。
理论上提升背光亮度任何显示器都可以变成HDR显示器,但是因为液晶的黑位太高,而且在侧视的时候尤其容易偏色,所以现在HDR技术基本上是分区背光的代名词,这才是HDR的硬件壁垒。
回答你的问题:
1,需要计算机支持HDMI2.0a。借用Linus的话说,A的意思是Ach-DR。
2,Windows最新更新了HDR的支持选项。具体我还没有体验。目前是肯定没区别的。
3,HDR不是神,也是RGB表示出来的。Vray渲染出来的图片可以保存为.hdr的格式,内容物是32位浮点的RGB信息。虽然这个HDR和显示领域的HDR技术上关系不大。
回复
使用道具 举报
wildsman | 未知
HDR 计算是在主机中,显示是在显示屏中。
显示器支持HDR的话,就能显示出更多的色彩,如果不支持,在显示屏上看起来就和普通图像没有区别。
回复
使用道具 举报
xujialong | 未知
朋友你好,
 电脑的显现器分辨率跟显卡是有联系的。电脑的分辨率一般都是在一个范围内动摇的,比如说你的电脑显现器分辨率在1024x768至1600x900之间,可是你的显卡支撑的分辨率在1024x768至1366x768之间,那么你最终的显现分辨率是多少呢,最大值只能是1366x768的了,到不了1600x900;相反也是相同的,假如显现器分辨率在1024x768至1366x768之间而显卡支撑的分辨率在1024x768至1600x900之间,那么最终的显现分辨率最大值就是1600x900的了,所以说两者仍是有联系的。希望对你有协助。一般来说是显现器的联系。除非显现器太强而显卡真实太弱了,这样才会呈现显卡支撑不了高分辨率的状况。

您的状况有2种可能:
1、您的显现器正本就是1440*900的,过高时由于没装显卡驱动或许驱动有问题导致辨认失败。我装驱动之前我能够调到1600*1200(当然显现不了),实际上我只要1280*1024

2、您的显卡可能真的有点弱,不过这个可能性不大,但仍是有的。

分辨率高了,改写率最大值就减小了。由于显现器的链接带宽是固定的,分辨率高了,每次改写传得信息多了,传的次数就少了。
回复
使用道具 举报
gezi521 | 未知
不知道,你说的算法是什么意思。hdr没有什么算法。就是告诉电视一个颜色信息,你电视能不能显示出来,
hdr图像信息如果电视不支持,显示效果会变得很奇怪
回复
使用道具 举报
yab | 未知
你需要显示器,显卡,操作系统都支持10位色深。并且显示器对比度都确保1000:1以上。这些条件全部满足以后才能考虑提HDR。
即使是所谓的8位编码的图片和视频,要真正展现出完整的图像效果,对比度起码要在10000以上。色深要到12位以上。
注意,以上所谓的色深不是抖动出来的。必须是显示器真正能显示的。
回复
使用道具 举报
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影