入门图形学:HDR

       已经三月了,武汉以及湖北的疫情结束还没看到苗头,我已经离开我的开发机和笔纸一个多月了,现在每天在老家农村看看计算机书。

       这次我们聊聊HDR,也就是高动态范围(high dynamic range),而什么是动态范围呢?我们先得从颜色说起。

       我们找到一张图片,找到一个像素,像素的格式RGB24,意思就是红绿蓝每个参数占用8个字节,那么RGB分量的取值范围就是0-255,那么一个像素就能显示256×256×256=16777216种颜色,也就是目前通常说的1600万色彩。

       然而有一种颜色格式名叫YUV(即Y:luminance亮度 U:Chrominance色度 V:Chroma浓度),在视频图像编码储存中很常见,属于RGB的一种信息储存方式,可以压缩储存空间,比如RGB24占用3个byte,YUV则是Y:1byte、UV:0.5byte,则储存空间占用1.5byte,不过YUV最终渲染出来还需要在shader中fragment进行RGB color的计算转换,具体详情:YUV释义

       YUV的发明是在黑白电视到彩色电视到过渡时期。黑白视频只有Y(Luma,Luminance)视频,也就是灰阶值。到了彩色电视规格的制定,是以YUV/YIQ的格式来处理彩色电视图像,把UV视作表示彩度的C(Chrominance或Chroma),如果忽略C信号,那么剩下的Y(Luma)信号就跟之前的黑白电视频号相同,这样一来便解决彩色电视机与黑白电视机的兼容问题。

       所以从历史角度来讲,Y亮度数据就覆盖了古往今来的显示设备,是最重要的参数。

       但是现在已经0202年了!纯粹用RGB不好吗?有个问题那就是白纸和太阳,一张纯白的纸RGB24为(255,255,255),太阳当空照肉眼观看也是亮的发白(255,255,255),这两个在RGB数值上一样,但是实际观感天差地别。

       所以综上两种情况,亮度Y才是关键参数。现实世界中,最亮的物体和最暗的物体亮度比为10的8次方,而人眼能观察的亮度范围为10的5次方,这远不是2的8次方的Y参数范围能表现出来的。

       现实中也会出现很多HDR相关问题,比如在亮度差很大的现实环境下,如逆光和阴影中,想要拍摄高亮和灰暗同时存在的画面,如果相机正常曝光,那么高亮区域表现正常, 但是灰暗区域基本一团黑。如果我们手动提高相机的曝光时长,虽然灰暗区域画面得以现实,但是高亮部分基本上就是曝成一团白色。

       找几个网图:

       正常曝光,灰暗区域基本看不到

      

       提高曝光时间,虽然灰暗部分得以显示,高亮部分基本就是个白团

      

       而HDR硬件技术,则是检测当前环境亮度范围,采取多重曝光采样,得到不同曝光下的图片缓存数据,最后合并成一张亮度均衡,细节展现的图片。

       多重曝光采样后自动合成的图片效果,整体亮度按照现实中黄昏效果取值

             

       所以HDR技术核心就是将现实中亮度差尽量按照显示硬件支持的数值位数压缩映射。

       比如HDRI(也就是HDR的image),高动态范围图像,在储存RGB24数据的基础上,还直接储存了Y亮度值,下面我找的一张.hdr图片。

            

       比普通图像占用数据量大,同时在不开启HDR查看的情况下屋顶天空的亮度高到发白。

       而现在市面上的HDR显示器或电视机,天然支持这种高动态图片或视频的渲染播放,好的HDR电视面板亮度超过1000尼特,而同时具备降低局部像素区域的亮度功能,所以在播放HDR片源时,可以展示出更高的明暗对比度和更加真实的画面。

       当然普通显示器也可以看HDR,通过HDR算法尽量合理将颜色亮度等映射到显示器硬件支持范围,也可以正常观看一部电影,只不过表现效果肯定没有HDR电视好。

       回到unity引擎中(当然适用所有引擎),光源光照模拟自然界的效果,避免不了过曝或过暗。一般我们处理过曝或过暗,可以提高全局光照,减弱平行光光强,增加局部灰暗地区的局部光源(如点光源)光照强度,则能达到一种比较平衡的场景光照效果,但是这只是一种权衡的处理方法。现实中如果就一个“太阳当空照”,那就必然导致很高的亮度差,引擎为了处理这种情况,需要支持HDR算法处理,尽量达到比较好的效果。

     

      如果想更加了解HDR,可以查查HDR电视机,HDR10,单反HDR算法等等。 

      最后希望湖北疫情快点结束,生产生活重回正轨。             

Guess you like

Origin blog.csdn.net/yinhun2012/article/details/104597015