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

什么是HDR(High Dynamic Range)高动态范围成像?——节选自《高兴说显示进阶篇之三》

ws028 回答数1 浏览数127551
首先,我先引用英伟达Nvidia对HDR的总结。
HDR就是:亮的地方贼亮,暗的地方贼暗,细节还贼多。

作者:高兴
中泰证券研究所国际销售
曾任职于美银美林、中信证券、银河证券、大宇证券
毕业于纽约大学、香港科技大学,高丽大学
可以听说读写中文、英文和韩文,日文只能读不会听说写
央视NEWS频道 New Money栏目 嘉宾



首先,我先引用英伟达Nvidia对HDR的总结。

HDR就是:亮的地方贼亮,暗的地方贼暗,细节还贼多。

比如这张图片:



一天不同时刻的光的亮度是非常不同的,比如正午直射阳光是非常明亮刺眼的,而半夜的郊外又是非常黑暗的。在不同的光照条件下,人类可以调整眼睛来适应不同的光照环境,去获取更多的信息。在过于明亮的环境下,我们会试图减小眼睛张开的程度,并调整瞳孔的“光圈”,或者也可以快速眨眼睛看,减少入射光,否则我们的视锥/视杆细胞会因为信号饱和而失去分辨实物的能力。在过于黑暗的环境下,我们又会张大眼睛,增加瞳孔的光圈,或者长时间盯着仔细看,试图增加入射光,同时,我们会开动更多的视杆细胞,来捕捉更多的光子。

为了更准确的测量不同的亮度,我们需要一个度量单位:把一只普通蜡烛的烛光均匀分布在1平方米的面积上的时候的亮度定义为1 cd/m2(坎德拉每平方米),也叫1尼特(nit),那么:自然界的各种不同光照环境的亮度如下(单位cd/m2)。



然而,同一个场景里往往会同时出现很多不同亮度的部分,比如下面这个图片。



我们把这个场景的最大亮度与最小亮度的跨度称作动态范围。这个场景里的最大亮度和最小亮度的比就叫做(静态)对比度。

正常的人眼不经过任何调整就可以识别约的对比度可以(四舍五入)达到10000:1左右。



如果一个场景既有非常明亮的物体,也有非常黑暗的物体,亮度跨度很大,我们就称之为“高动态范围 High Dynamic Range(HDR)”场景

然而,具体对于多大的跨度才算高动态,目前还没有一个标准的定义,一般情况下但是只要比传统的照相机/显示器可以拍摄/显示的动态范围高就可以认为是高动态。


在高动态场景下,我们人类无法同时采用两种模式来获取全部信息,instead我们会不停的在两种模式中切换与调整,当看到明亮物体的时候调整到明亮状态,当看到黑暗物体的时候,调整到黑暗状态。这两种模式的切换是无需经过我们的大脑的主动决策的人体自然的条件反射。通过这种调整,人眼最多可以识别对比度高达340亿倍的动态范围(也有人说可以达到大概1万亿倍!)。

Anyway,这种场景的亮度的跨度已经超越了标准的照相机和显示器的能力范围,传统的照相机是无法像人类一样通过自身的调整来记录这这种场景的。而显示器对于HDR场景就更吃力了,一般的LCD只能够表现出700:1左右的对比度,好一点的也不过达到3000:1或者4000:1而已,远远达不到人眼的识别能力。

那么 ,所谓HDR技术就是

A. 能够生成/记录高动态范围的图像的技术

以及

B. 让显示器能够显示这种高动态范围图像的技术。

但是,这两种技术所要求的动态范围却非常不同。

生产/记录需要能够达到人眼调整以后的水准,这样才能记录下一个场景的全部信息。但是显示却只需要达到人眼不经过调整的水平就可以了,因为人类在看显示器的时候并不需要也不应该应该调整自己的瞳孔,而是应该“一目了然”。

很显然生成/记录的信息的动态范围要远远高于显示的动态范围,在这种情况下肯定会有信息损失,所以HDR技术的第三层就是:

C. 尽可能的在还原内容制作者的意图的同时,把生成/记录的高HDR信息转化成显示器用的低HDR信息

让我们一个一个的看。

A. 生成/记录

用计算机生成高动态范围的图像其实很容易,要想实现“亮的地方贼亮,暗的地方贼暗,细节还贼多”,只要人工的去设定图像上的最亮的点和最暗的点的值就可以了。但是一定要采用更高位数的色深才可以,否则现在普遍使用的8位色深,每种颜色的最大值255只比最小值1大255倍(假设不同级之间是线性关系),那么RGB都是最大值的时候,才比RGB其中之一为1其他两个值为0的最小值的亮度大765倍。而且只有位数更高才能做到在亮的部分和暗的部分都能保证足够的细节过渡,否则就糊成一片,根本看不清了。

比如下图这样



正确的图像应该是这样的




这也是为什么在提到HDR的时候都要同时提到10bit、12bit色深或者更高,采用10bit色深其实也只不过可以达到3000:1左右的对比度(agAIn假设不同级别之间是线性关系),12bit的话理论上可以做到12000:1。

所以,为了突破这种限制,现在HDR内容制作一般都会直接采用科学计数法的方式来处理数字(所谓“浮点”),这样可以比整数形式的“位数”储存更大范围更精细的数字,从而实现更高的对比度与细节。

记录方面

照相机和人眼很相像,在黑暗的场景,可以增大光圈(睁大眼睛)或者增加曝光时间(长时间看)来获取更多的暗部信息,在明亮的场景,可以缩小光圈(眯眼睛)或者减少曝光时间(快速眨眼睛看)。

这里我们需要用一点中学的物理知识。



对于一个特定物体来说,最终这个物体的光学信息能够有多少进入到人眼/照相机里,取决于以下几个因素。


1. 从这个物体发出的光的量
2. 这个物体到人眼/镜头的距离
3. 眼皮/快门开放的时间
4. 瞳孔/镜头的光圈
5. 人眼/镜头的焦距(一般情况下,物体的物距要远远大于焦距,所以焦距≈像距)

在前三者为固定值的情况下,后两个因素可以起到决定性的作用。其中:

光圈就像人的瞳孔一样,是一个大小可以变化的洞,可以遮挡光线的进入。洞越大,能进入的光就越多。一般用这个洞的直径来衡量光圈的大小,洞的直径和光的量成正比。

而焦距则是对光的折射能力的大小的表现。焦距越长,成的像越大,焦距越短,成的像就越小。



但是视网膜/Sensor的面积大小是固定的,所以不考虑像超出视网膜/Sensor面积的情况下,同样量的光入射,成的像越大,则单位面积的光的信息越少,像越小,则单位面积的光的信息越大。所以焦距和单位面积的光的量成反比。

所以,我们常常用焦比(光圈值)f这个值来衡量光圈的大小,其定义为



其中f是焦距,而D是光圈直径。N和Sensor接收的光的量成反比。



上面的公式可以变形为D = f/N,也就是说光圈 = 焦距/焦比。f值一定的情况下,N越大,D越小。一般情况下,业界都喜欢把光圈用“f/N”的形式来表示,“f/”后面的数字越大,光圈就越小,单位时间内,Sensor能接收到的光的量就越少。

因为圆面积公式是S=π(D/2)2,那么,S=π(f/2N)2,所以事实上在焦距不变的情况下,进入的光的量与光圈D的平方成正比,与焦比N的平方成反比。

在上面的5个因素里,如果只维持前两个因素不变,第三个因素“时间”也可以改变的话,很明显,眼皮/快门开放的时间越长,进入的光就越多,这还是一个简单的线性正比例的关系。

那么,入射光的量与N的平方成反比,与t成正比,也就是说N2/t可以决定入射光的量。

那么理论上不同的N2和t的组合有可能会得到相同的入射光的量。

比如:



所以人类定义了一个叫曝光值(Exposure Value,EV)的概念来描述光圈和曝光时间的关系。(写了这么多就是为了介绍EV而已。。。删了又后悔)



之所以用log的关系,而不用简单的N2/t的原因我也不清楚,好像是因为这样方便摄影师计算,因为实际上这样的话相当于2EV = N2/t,每一个整数的EV值的入射光的量(N2/t)都是(EV-1)的入射光的量的2倍。每一个单位的EV叫做一个Stop。每增加一个Stop,就意味着光的量增加一倍,每减少一个EV就意味着光的量 减少了50%。每差一个stop,对比度就要差1倍。

在照相/摄影领域计算场景的动态范围的时候,经常使用EV的stop差,instead of 以cd/m2为单位的亮度差值。

在一定条件下(感光度ISO = 100, 校准常数K = 12.5,这两个参数不需要懂),EV与前面说的cd/m2之间是可以转换的。



一般的照相机只能记录12个或者更少的stops差,相当于4000:1的对比度,一些高级单反可以做到13~14个stops差,相当于8000~16000的对比度。

照相机的CCD/CMOS本身是对光非常敏感的,可以捕捉到非常微小的量的光子,当然也可以记录非常大量的光子。只是,照相机不能根据自己的“主观意识“来任性地选择观看明亮还是黑暗的部分,因为照相机的任务是记录整个场景的所有信息。而且,照相机每次只能拍摄一张静态的画面,要么就是“明亮模式”,结果黑暗的部分看不清,要么就是“黑暗模式”,结果明亮的部分太亮也看不清。

比较明显的例子就是夜景照片的拍摄,很多时候要么就是前景漆黑一片,要么就是背景过于明亮。如果前景是人物的话,其实还好解决,我们可以选择用另外的照明专门给人脸打光,或者就是用闪光灯慢闪,以背景的亮度为基准拍摄,在最后瞬间用闪光灯给人脸增加亮度。

但如果是下面这个场景呢?



前景是非常明亮的建筑,背景是昏暗的建筑与天空。人眼在看到这个场景的时候,会不停的根据视线的焦点来改变模式,从而获取更全面的场景信息。但是照相机就很难做到,上面是在四种不同的曝光模式下得到的四种不同的照片,都不太令人满意,要么就是缺少前景的细节信息,要么就是缺少背景的细节信息。

那么,其实,我们可以把四张照片合在一起,采用每一张细节表现最好的部分,去掉模糊掉的部分,这样就能得到一张能够同时表现出所有细节的“完美照片”了。



目前很多照相机/手机都有这种功能,一般这种自动合成的功能叫做AEB(Automatic Exposure Bracketing)。

B. 显示

有了HDR的内容,要想展示出来却不太容易。目前很多电视机/显示器号称自己支持HDR,其实仅仅是可以接受HDR的信号,但是却无法展现出真正的HDR画面。

然而事实上,现在并没有一个单独的HDR显示标准,目前的HDR的标准都是作为一个更大的整体标准的一部分存在的,包括电视机领域的ITU-R Recommendation BT.2100以及UHD Alliance的Ultra HD Premium标准。这些标准在要求HDR的同时还规定了分辨率、色深、色域等等。


根据我们前面的分析与业界的标准,从硬件原理上讲,显示器至少要能够具备以下几个条件才能发挥HDR内容的威力。

1. 亮度

既然是高动态范围,亮度的范围肯定要给足,根据UHD Premium标准,显示器的亮度特性要达到以下要求才能算是HDR。

最低的最大亮度值达到1000cd/m2,最大的黑度值(屏幕能够表现的仅次于关闭状态的最暗的亮度)不超过0.05cd/m2。相当于20000:1的对比度,对应LCD显示技术。

或者

或者最低的最大亮度值达到540cd/m2,最大的黑度值(屏幕能够表现的仅次于关闭状态的最暗的亮度)不超过0.0005cd/m2。相当于1,080,000:1的对比度,对应OLED等自发光显示技术。

之所以分成两种标准,是因为主流的LCD与OLED显示技术的特性不同造成的。

LCD的背光不可能完全被关闭,液晶也不能完全阻挡光的通过,所以LCD的黑度没有办法达到很低,但是LCD的背光的亮度很高,所以还是可以实现高对比度的动态范围的。但是,因为普通的LCD的色域不够,而HDR往往不是一个单独的功能,而是与4K/广色域等功能绑在一起的,所以目前来看,只有量子点LCD电视机/显示器才能够实现并搭载HDR功能。

OLED的最高亮度虽然无法做到像LCD那样高,但是因为是像素自体发光,可以做到对单个子像素亮度的精细控制,所以可以把黑度做的非常低,所以计算下来,对比度反而远远高于LCD,动态范围也要大得多。

其实增加亮度的范围也是可以增加颜色的,因为亮度也是颜色的一部分。在基础篇我们看过下面这个图



通过增加亮度的范围,可以在Z轴上增加色域。

2.至少支持10bit色深,内部芯片支持更高位的LUT以及浮点格式的编码。

原因前面都讲过。

3. 支持HDR解码标准(后面介绍)

C.尽可能将记录/生成的HDR信息转化为显示的HDR信息

上面说过,记录/生成的原始HDR的信息的动态范围是远远大于显示器可以显示的HDR范围的,这虽然也有显示器的能力的问题,但是更主要的原因是显示器不需要过于高的动态范围,因为截至目前,我们还是希望能够不需要调整瞳孔,一目了然的看清屏幕上的所有细节,如果过于真实的反映原始的动态范围,会造成观看者需要频繁的调整眼球,令人疲劳无法集中精力并即时获取信息。

但是,从记录/生成的角度来说,又需要把现场的所有信息尽可能的保存下来,不得不采用非常高的动态范围。

那么,记录/生成和显示之间,需要某种机制,使得两者能连接在一起,尽可能的将记录/生成阶段保存的高HDR信息转换成显示器能力范围内的HDR信息,同时尽可能保存人类需要的细节信息。更重要的是,要使得内容制作人想表现的色彩能够在显示器上得到更忠实的再现。

我们在前几个附录里讲过,在HDR技术之前,我们采用sRGB标准(附录7)来保证内容制作与再现的一致性。因为CRT显示器的物理原因,输入的电信号与输出的光信息之间存在一个非线性(幂函数)关系,这个关系会造成画面昏暗,所以sRGB采用Gamma Correction(附录6)的方式在内容制作的时候对信息进行预先反向纠正(编码)。(如果您没有读前面关于sRGB、Gamma的附录,下面的内容可能会比较难以理解)

后来发现,这种方式竟然还有一种“有损压缩”的副作用,在将信息从高位深转向低位深的时候,(因为四舍五入)可以减少人眼不敏感的高亮部分的信息,保留更多的暗部信息。再后来LCD取代了CRT,虽然LCD本身不具有CRT的非线性函数特性,但是为了与现有内容兼容,仍然采用了LUT的方式来模拟CRT的这种特性。

HDR技术和上面的过程非常相似。HDR也需要制定标准来保证制作的内容在终端播放的时候能够得到准确的再现。但是因为HDR内容是全新制作的内容,所以理论上HDR显示器已经不再需要模仿CRT的传递函数,但是这种指数型函数的副作用(“有损压缩”)却对HDR非常重要,尤其是在把高HDR的信息传送到HDR范围相对较低显示器上的时候,这种函数可以减少人眼不敏感的高亮信息,保留更多的暗部信息,从而有效的增加画面整体的细节信息,这种过程也叫做Tone Mapping。



上面看过的这个照片其实就是经过了Tone Mapping处理的,因为实际上原来中央部分的灯光要比现在要亮很多,只是考虑到我们一般的电脑或手机无法在那个亮度的区间展示出细节,所以把该区间的亮度降低,保留了细节。

在内容制作阶段把光的信息转换(编码)成电的信息的函数叫做Optical-Electro Transfer Function(OETF)。反过来在显示阶段,把电的信息再转化(解码)为光的信息的函数叫Electro-Optical Transfer Function(EOTF)。而把整个过程放在一起来看,从最初的的场景的光的信息到最后的显示器发出的光的信息,是一个从光到光的变化过程,这个过程中信息所经历的转换函数就叫做Optical-Optical Transfer Function(OOTF)。

所以其实sRGB的Gamma Correction只不过是OOTF的一个特例而已,编码函数Y = X0.51相当于就是一个OETF,而CRT自身的Gamma函数Y = X2.2则是EOTF,系统整体的Y = X0.51 x 2.2 ≈ 1.125相当于是OOTF。

HDR的标准目前有两种,他们都被包含到ITU-R Recommendation BT.2100标准里,成为了国际标准。

一种是由BBC和NHK提出的HLG (Hybrid Log-Gamma),主要是用于广播电视机领域,其主要目的是保证广播电视机节目的制作既能进入到HDR时代也能和现现有的显示设备兼容。因为是面向普通大众的广播电视机领域,不能说标准升级了就可以让没钱换电视机的人看不了电视机吧?所以比起为新的HDR电视机提供最好的显示效果来说,与现有的各种新旧电视机的兼容性才是最重要的。所以该标准采用了相对较简单的指数型OETF的形式来进行编码,只不过这个OETF与传统的sRGB的Gamma不同,更加适合HDR的内容而已。如果接收信号的电视机不支持HDR的话会自动把HDR相关信息忽略掉,还可以按照以前的方式继续收看,只不过画面颜色没有那么好看而已。另外,HLG并没有规定电视机一定要有多高的亮度或暗度,而采用相对值来表示亮度,这样实际上展现的动态范围会取决于电视机的物理能力。这是一个普惠型的标准,不收取任何的专利费。目前除了BBC和NHK以外,Youtube也采用这个标准。HLG标准信号的最高输入亮度是4000cd/m2,电视机输出的最高亮度是1000cd/m2。



另一种标准是杜比Dolby提出的PQ(Perceptual quantization),主要用于电影、网络流媒体的视听,其主要目的是真实的还原视觉场景并为观看者提供最优秀的视觉效果。所以这个标准的重心在于如何能够按照内容制作者的意图,在符合标准的HDR电视机上展现出准确的图像。所以,比起简单的指数函数,PQ的EOTF更加符合人的视觉特性,而且PQ会在显示信息中附上一个元信息metadata。这个metadata中就包含了内容制作者的意图(亮度、色域、动态范围、白点、EOTF等等)。符合HDR标准的电视机可以解读这个metadata,再结合自身的情况,尽最大可能的再现内容制作者的意图。另外,PQ采用绝对值来表达亮度,保证(符合标准的)不同的电视机输出同样的亮度。PQ其实只是一个基础标准,目前业界有几种不同的建立在PQ基础上的商用标准。其中主流的有杜比公司的Dolby Vision和HDR10/HDR10+。

HDR10在由美国Consumer Technology Association(CTA,就是举办CES的组织)提出的标准。这个标准基本上就是一个基础版的PQ,得到了大部分主流硬件和内容厂商的支持,这也是大部分的HDR内容都会支持的最基本的标准,包括微软最新的Xbox和索尼的PS4也都支持它。该标准要求使用10bit色深,ITU-R Recommendation BT.2020的色域,采用静态Static Metadata。输入信号的最高亮度是4000cd/m2,显示输出的最高亮度是1000cd/m2。

Dolby Vision由杜比公司开发,目前得到了几乎除了三星以外的所有硬件厂商和内容厂商以及流媒体平台的支持。该标准要求使用4K的分辨率,ITU-R Recommendation BT.2020的色域,12位的色深。输入信号的最高亮度是10000cd/m2,显示输出的最高亮度是4000cd/m2。Dolby Vision最大的特点是拥有HDR10所没有的动态Dynamic metadata,它的metadata不是简单的针对一个内容而制作的,而是针对每一个场景都有一个metadata,这样可以做到精细的调控不同场景的动态范围。如果只有一个metadata的话,电视机/显示器只能根据最亮的那个场景来调整自己,但是这种调整并不一定适合这个内容的所有场景。所以Dolby Vision的显示效果要远远好于一般的PQ标准。但是Dolby Vision是收费的,每台电视机大概不到3美元。收钱以后,杜比除了提供授权以外,还会提供很多技术支持大礼包,其实比较适合图像算法实力不够强的一些中国厂商,但是对于一些对自己的画面处理算法技术很有自信的公司来说,全盘接受杜比的大礼包会丧失自己的特色,这也是为什么索尼很晚才推出支持Dolby Vision的产品。



HDR10+是由三星和亚马逊开发的。该标准主要就是要挑战Dolby Vision,因为三星不想让自己的电视机受制于杜比而且还要给杜比专利费。现在已经得到了松下、飞利浦、二十世纪福克斯和华纳兄弟等硬件内容厂商的支持。该标准在HDR10基础上升级,对标Dolby Vision,增加了针对不同场景的动态Dynamic Metadata。如果使用这个标准,厂商无需支付授权费给杜比,但是世界上没有免费的午餐,加入HDR10+阵营的厂商之间需要共享相关技术。

在显示领域经常发生各种格式大战,这次厂商们也都在站队,目前来看Dolby Vision占据了人数的优势。不过Dolby Vision和HDR10+并不是互斥的两个标准,如果厂商愿意,可以同时支援两种标准。





我个人觉得杜比会最终赢得胜利,有以下几个理由:

1. 杜比与电影业界的渊源甚远,基本上所有电影厂商都支持影院版的Dolby Vision,所以杜比很可能会占据上游内容优势从而取得更大的优势。
2. 从下游讲,其他电视机厂商不愿意受制于自己最大的竞争对手之一的三星。
3. 虽然Dolby Vision收费HDR10+免费,但是要和三星共享技术的可能不是很多硬件厂商愿意接受的条件。
4. 杜比的这种交钥匙型的标准非常适合广大的中国厂商,不用自己闭门造车调教画面。
5. 杜比的品牌在中国还是比较好卖的。
6. 索尼加入了杜比阵营,中国消费者对索尼大法有莫名的信仰,在中国这个市场成功就可以算是巨大的成功了。
当贝投影