【译】真实高动态范围图像的准备

发表于2016-04-08
评论0 1.6k浏览


  高动态范围的显示让更多的充满生气和真实感图形的游戏成为可能。我们现在到达了一个临界点,那就是游戏开发者可以真正开始充分利用高动态范围图像。NVIDIA公司已经做了有一段时间的技术研究(我们在2014年的世界图形图像学术大会已经展示了高动态范围图像的样例),并且有了很多关于收益和挑战的深刻见解。继续阅读篇文章了解更多吧。

  尽管高动态范围图像已经成为游戏中重要的一部分有大约十年的时间,但它一直是产生良好的数据然后色调映射在一个显示器上以一个非常有限的范围内显示。在这一时期内,偶然的高动态范围图像演示样例为未来提供了承诺但没有交付任何东西给实际消费者。好消息是-未来即是现在,一些电视有高达1000尼特的最大亮度位准(多达你可能正在看到的显示器的5倍或10倍)。此外,UHD联盟,一个行业联盟,已经发布了一个关于它对高动态范围图像的兼容设置或者说是高动态范围图像兼容意味着什么。(最小的对比度和亮度水准,更多关于UHD联盟规格的细节可以在这里找到。)

  在显示的旧标准中,我们曾经所用的sRGB(或Rec. 709如果你指的是高清晰度电视的话)。我们正在走向的新标准往往被称为HDR10或UHDA HDR,这是建立在BT. 2020的广色域(通常称为Rec. 2020)。 而老标准有80尼特亮度基准水平(有时舍入为100尼特),新标准的设计代表了达到10000尼特亮度。第一代高动态范围图像兼容的显示将产生1000尼特的亮度,并有可能像是一串连续的兼容的HDR显示。(高动态范围图像的发光二极管是暗淡的,但以增强对比度弥补了它的不足)除了增加支持亮度范围范围,色饱和度的宽度也是有所扩充的。这就允许了显示更饱和的颜色。而标准定义了一个新的且极其大的色域,第一代设备应将有望在稍微有点小的DCI-P3色域也展示在了下方。(仍然比我们今天所使用的sRGB要大得多)。




  由不同的色域标准支持的颜色宽度的比较。指针色域是一个现实生活中经常能经常看到的颜色的代理。

  现在,你也许会问自己这个问题,“我已经渲染了高动态范围图像,我应该怎么把它显示出来?答案是,这需要一些努力来把它做好。这并不是很困难或是很昂贵的的,但细心点应该会产生好的结果。首先要明白的是场景所指与输出所指的概念。场景所指意思是图像中的数据代表的是光子以线性方式撞击相机。输出所指意思是图像被编码为一个预期水平的亮度显示装置。因为即使是最好的显示也不存在接近于现实世界中的亮度值范围,仍需要一种色调映射步骤来压缩和转换场景所指至输出所指以高动态范围图像显示。另外,你需要考虑用户界面一般授权在输出所指的sRGB空间。(你不希望让你的用户斜眼看1000尼特的白色对话框,所以白色的sRGB内容显然并不意味着最大亮度)。

  我们正在努力的做到从场景所指到输出所指的一个好的解决方案是奥斯卡颜色编码系统 (ACES)。这是一个由电影学院成立的科技工作组,来处理捕获、档案的、以及高动态范围图像和宽色域的数字图像的显示。这是色调映射器设计的一个系列的参考,以覆盖显示到一定范围的显示亮度。这个过程集中于生成一个大多数开发者都喜欢的电影般的视觉。奥斯卡颜色编码系统的核心环节就是它运用了一个像电影的s型曲线在一个极其宽的色彩空间中。其结果是,过于鲜艳的颜色自然冲淡为白色。这是一个简单的推论关于如何压缩曲线数据当它接近最大时。S型曲线实际上类似于眼睛的工作原理,并且去饱和的作用意味着亮度会保留得更好。(一个完全明亮的纯蓝色只有一个完全明亮的纯白色15%的亮度)总之,奥斯卡颜色编码系统是伟大的,因为它提供了看起来始终如一的针对一个宽色域的输出亮度位准,尽管仍然还利用了附加的能力。

  你可能会问自己为什么你目前的色调映射可能是不够的。简单的回答是,它可能是还没有输出设备应该如何的明亮的概念。它只是简单的有一个最大亮度的概念。以莱茵算子作为一个简单的例子,其[0-1]输出映射到1000尼特标准的显示器,意味着中度灰色(一般认为是沥青的颜色)在你现在的显示器中会被显示为明亮的白色。我们现在一般不需要做这些暗淡颜色的明亮化。我们需要保持它们的平稳并且让我们过去不得不压缩的颜色现在在扩展范围中显示。在某些情况下,我们甚至可能会想让这些黑暗的颜色变得深一些。




  比较一个雷纳尔色调映射标准的莱茵色调映射输出亮度,一个标准的LDR电影的色调映射,和一个创建了1000尼特的电影色调映射。(按比例缩小到最高以1000尼特输出。标准电影的和雷纳尔的都以100-200尼特输出那些原本应该是黑暗色的。 这在大多数的显示器上是像白色一样明亮的。曲线掌握高动态范围图像的范围使这些值类似于一个LDR显示器在生产和在中间调上和突出色调的维护上的更好定义。

  那么这里的大回报是什么?这显然是很难在一个LDR博客上亲自演示高动态范围图像看起来是怎么样的。然而,我们可以估算色彩饱和度中的由于需要往白处理极限的输出亮度支持的损失差异。同时,我们可以计算知觉亮度中的差异。下面的图片清楚地显示了如何改进色域以允许更少的妥协。甚至一组高动态范围图像的照片集显示在LDR和HDR显示器上会表现出明显的差异。



LDR色调映射场景来自史诗的风筝样例。



与HDR的1000尼特的色调映射相比,在LDR色调映射中失去了色度图。LDR图像不得不妥协于色彩丰富度来压缩到显示的范围。在HDR中,天空会更蓝,皮肤会更粉红且褪色更少,并且衬衫上的标志将有更丰富的细节。这是全部在一个没有极其广泛的动态范围内的场景。


史诗传奇场景的渗透演示,色调映射到LDR参考标准。



  当场景的色调映射到1000尼特而不是LDR范围时的形象化的额外的亮度展现。注意,亮度是高度非线性的(大概是亮度的立方根),所以纯白色的物件将以3倍的亮度呈现。(即使他们是12倍的亮度),虽然这看起来可能小于色度,这些1000尼特亮点会使得你在观察一个黑色屋子时让你稍微眯眼。




  即使本博客的贴图不可能真正的展现给你一个HDR图像,展示一个LDR色调映射的HDR TV的组图以及同一内容的HDR色调映射显示了真实照片的分化。这些是一个三星1000尼特的HDR TV 与尼康数码单反相机的照片。电视都是在HDR模式,而唯一不同的是,左边的的图像是LDR色调映射。值得注意的是,这里所有的变量不能被删除,但这是当直接观察时的一个很好的体验上的差异代理。

  所以这是一些在利用HDR显示时主要的注意事项快速概览:理解场景所指与输出所指数据的差异,细心的UI渲染,并具备一个显示亮度感知色调的映射器。我们将分享更多关于这些注意事项的细节并且在不久的将来还要更多,敬请期待。


   翻译出处:https://developer.nvidia.com/preparing-real-hdr

  原文作者未做版权声明,视为共享知识产权进入公共领域,自动获得授权。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引