HDR摄影全解析

Posted on May 20, 2010

0


近来,网上热炒一个概念,就是HDR摄影,所谓HDR,是英文High-Dynamic Range的缩写,意为“高动态范围”。

20080731_26197038c3a012fb02bbiHwfaFzzYRi1[1] 这是一幅所谓的HDR照片,与常见的照片不同,在呈现了教堂室内的细节的同时,射入强烈阳光的窗口并没有形成一个惨白的光洞,连玻璃上的彩色花纹都清晰可辨,呈现非常大的“动态范围”。

关于HDR,网上见得最多的解释是说HDR是个来自CG(Computer Graphics电脑绘图)的概念,是高科技、新技术云云,事实上,HDR的概念由来已久,只不过是最近因电脑游戏图像的生成应用了HDR渲染技术而被炒热,进而引起一些摄影爱好者的兴趣,将之引入到数码照片拍摄与处理而已。

关于数码照片的动态范围

千万不要以为动态范围(Dynamic Range)是数码相机特有的一个参数,更不要认为有了CG才有了动态范围的概念,严格来说,动态范围是一个信息工程学概念,存在于任何信号采集、处理与记录的过程中。如果抛开摄影的艺术价值不谈,单就其科学性而言,摄影的过程就是一个光信号采集与记录的过程,与录音机记录声音是一个道理,同样存在数据采集、数据处理、数据记录的过程。

动态范围不能简单理解为最大信号与最小信号之间的范围,而是最大“不失真”信号与噪声信号的比值。具体到数码相机而言,决定动态范围大小的环节有三个,首先是图像传感器(CCD/CMOS)采集光信号时的动态范围,表现为可记录的最亮与最暗信号间的差值范围;然后是A/D转换的动态范围,表现为进行数码采样时的数据位,8bit、12bit、14bit还是16bit等,数据位越高,生成数码信号的动态范围越大;最后是文件记录时的动态范围,是 24bit真彩色还是48bit真彩色。

如果原始信号没有足够的动态范围,A/D转换精度再高也无济于事,而如果A/D转换精度不足,图像传感器的丰富信号还是要丢失很多。最终数码照片的动态范围是取决于三个环节中最小的那一个,由于我们最终得到的照片是经过A/D转换之后的记录,之前图像传感器本身的动态范围是多少已经无从考察,所以,A/D转换的过程对于动态范围的大小至关重要。

关于数码图像处理的A/D转换

要深入理解数码照片动态范围的概念,不能不先说一下数码成像过程中的A/D转换问题。

数码感光元件的基本单位—像素(感光二极管)可以把光子转换为电子,电子信号由电荷电压转换器转换成电压,然后由A/D转换器—— ADC(Analog to Digital Converter,模数转换器)采样,把模拟的电压信号转换成数字信号。由于在电脑中采用一系列由0和1组成的二进制代码来记录色彩和灰度,这组代码的位数就决定了能表示的色彩和灰度的数量。

一个1位的ADC仅仅能够记录两种色彩,白和黑。(2^1=2,二进制上为黑色“0” 和白色“1”):

20080731_34c6b141478338fb1fac6HBuowKLxn4q[1]

这样的图像是没有色彩过渡的,除了全白和全黑,没有一点中间的过渡,在影调上是不连续的。

一个2位的ADC将能够产生4种影调,除了全白和全黑,还多了两种中间的灰度。(2^2=4,黑色“00”,白色“11”,两种灰色“01,10”) :

20080731_ce8e7cb4e981b86767d44nJoHZ6uuT5n[1] 一个4位的ADC将会产生16种色调(2^4=16),图像看起来已经过渡的比较连续了,一些高光和暗部的细节已经显露出来: 20080731_9cf30f4c485c33827aaeGwwCSUtr3uJB[1] 当ADC采用8位记录色彩灰度信息时,我们将得到256(2^8=256)种不同的明暗梯度,而这仅仅是一条色彩通道,当我们考虑这个像素最终产生的是3条色彩通道的图像,我们就得到了256x256x256=16777216种色彩组合,也就是我们常说的24位色(每通道8位,3条通道一共24 位),也就是所谓的真彩色:

20080731_8ca4b43212323dc93376pQydAq5FsS6O[1] 20080731_c9ad19441f45990e55114rNhy73Rns9t[1]

ADC的作用就是把连续变化的大小不同的电压信号,根据一定的精度划分成一系列不连续的梯度,并以二进制的数字方式记录下来。当采样的精度不高时,也就是能够分辨的电压差比较大时,得到的灰度梯度数量会比较少,画面也会不够连续。

20080731_b7e0a8418e5de488a2ababBY3aKxCjLa[1]

对于上面一组图像,当灰度过渡达到256级时,我们已经不能分辨出相邻两个不同灰度之间的差异(实际上对于最下面一个灰度条,每个灰度还是大约两个像素的竖条),而成为连续过渡变化的,这是我们的眼睛能够分辨的极限。

而对于彩色的图像,每一个色彩都是由红绿蓝三种色调按照不同的比例混合而成,因此需要记录红绿蓝三个通道的灰度值。在24位色的情况下,(255,0,0)代表的就是饱和的纯红色,因为红色通道数值为255,而蓝绿色通道都为0,同理(0,255,0)为饱和的纯绿色,(0,0,255)为饱和的纯蓝色,而中间的色调都介于(0,0,0)黑色和(255,255,255)白色之间。这样得到的就是前面提到的1千6百多万的色彩组合,也是我们眼睛能够分辨的极限,这样的画面我们将不会发觉有不连续的banding出现,也就是所谓的真彩色。

一般消费级别的数码相机都配备了8位的ADC,也就是可以产生每通道256种灰度梯度。而高级一些的数码单反相机,由于配备了更精确以及动态范围更大的感光元件,能够记录更多的高光、暗部和中间色调的细微色调变化,因此为了配合能够记录的微小电压差异,常常选用10位(1024级/通道)甚至 12位(4096级/通道)的ADC以精确的区分色调过渡。这些信息可以由RAW等格式记录下来,方便后期的进一步处理,而JPEG格式由于仅支持8位 /通道的数据格式,显然无法记录全部的影调过渡信息,将丢失层次。

真HDR伪HDR

明白了A/D转换的位数问题,回过头来再谈HDR就比较明白了。

大家注意到,在本文开头,在谈到HDR照片时我用了“所谓”两个字,因为A/D转换和图像文件的数据位已经限定了数码照片动态范围的大小,对于只能记录24位图像信息的JPEG格式图像文件而言,是不可能有更“高动态范围”的,真正的HDR只存在于RAW文件和高数据位的TIFF文件,以及专有格式文件之中。

依目前的技术指标,计算机显卡在表示图象的时候是用8bit(256)级或16bit(65536)处理图像的,即使有所谓的HDR图像,也无法通过显示器呈现出与普通照片的区别。CG技术的HDR是以直接对应的方式记录亮度信息,记录了图片环境中的照明信息,因此我们可以使用这种图象来“照亮 ”场景,在“生成”图像的时候加入亮度信息,而HDR照片,事实上是凡是以JPG文件形式出现的,应该都说是一种“伪HDR”,只不过是将原来超出照片动态范围,被丢弃的那部分信息,映射叠加到8bit的范围之内而已。

20080731_c909705743e80b452bb4mSKTHee5fq3C[1]

以文章开头的照片为例,真实场景中,窗花的亮度与墙壁的亮度差别何止百倍,而照片中两者的亮度竟然相当接近,这显然不是现场明暗的真实记录,只不过是将窗花部分本来应该惨白的图像压暗到可以显示其细节而已,所以,这是一种“伪HDR”照片。

事实上在数码相机出现之前,风光摄影们早就在利用技术手段创造“伪HDR”照片了,“作伪”的手段就是渐变灰滤镜。直到今天,许多风光摄影仍随身携带渐变灰滤镜,如果现场光线的光比过大,超出了胶片或数码相机可记录的动态范围,摄影师就用渐变灰滤镜来压暗亮度过高的部位,使其细节能够被相机所记录。现在所谓的HDR只不过用数码技术代替了渐变灰滤镜而已。

HDR照片的获得

由前面的介绍我们已经知道,真正的HDR照片只能通过硬件性能的提升来获得,而且必须记录成高数据位的文件格式,如果硬件的动态范围达不到或者软件环境不支持,都只能是空谈,我们这里所讨论的只能是“伪HDR”照片。

获得伪HDR照片途径有三种,一种是前面提到的使用滤镜,在拍摄的时候就将过于明亮的部分压暗;另一种是拍摄的时候采用包围曝光法,获得同一场景的一组曝光量不同的照片,然后利用Photoshop或者专门的软件如Photomatix Pro等进行叠合;再一种就是利用数码相机的RAW文件,以不同的曝光补偿输出,然后进行叠合。

以下这两张照片就是用第三种方式获得的:

20080731_16a2d381d779fddba449y0MSBVJJg9L1[1] 20080731_e502fd24bfdba721dd2dyEVye2EoFUOm[2]

伪HDR的真实性

尽管这是一种彻头彻尾的“伪”HDR照片,但在某种意义上却接近人眼的实际观察效果,因为人眼在观察这样的场景时并非“一次曝光”,而是随着注视点的移动逐渐调整对光线的敏感度的,在观察壁画时适应室内的亮度,在观察窗口时,又会很快适应窗口的亮度,所以在最终印象中,各个部位细节都能观察到,正是由于这个原因,这种”伪HDR”照片有其真实的一面,尤其在风光摄影领域,弥补了器材的不足。

20080731_6b0152f9690fe39ef5aaRjo2cAE4XREG[1]

以以上这幅HDR照片为例,这明显是一幅逆光的照片,如果要拍出古堡墙壁的细节,就要按古堡的亮度曝光,那么照片中天空肯定一片明亮,看不到任何细节,但事实上如果在现场,人是既能看到古堡的细节又能看到天空中的云丝的,所以这种”伪HDR”照片在某种意义上更接近真实。

send[1] 这是一个主体明亮,而背景比较暗的例子。

需要指出的是,HDR并非适合所有摄影题材,一般用于风光摄影。因为HDR破坏了画面原有的光影效果,如果用于其他题材反而显得很假,照片中有些细节事实上是要刻意隐藏的,否则会破坏主题。

Posted in: Photography