无限扩展动态范围:全面解读HDR(转)
所谓HDR,即“高动态范围”照片,并不是一个新鲜的概念,摄影师们在很早以前就已经用滤镜来获得这种照片了。i[ydc近来,网上热炒一个概念,就是HDR摄影,所谓HDR,是英文High-Dynamic Range的缩写,意为“高动态范围”。
MyUzl*yZ
[attach]175936[/attach]
这是一幅所谓的HDR照片,与常见的照片不同,在呈现了教堂室内的细节的同时,射入强烈阳光的窗口并没有形成一个惨白的光洞,连玻璃上的彩色花纹都清晰可辨,呈现非常大的“动态范围”。
J&L'e0H(nA P(M
关于HDR,网上见得最多的解释是说HDR是个来自CG(Computer Graphics电脑绘图)的概念,是高科技、新技术云云,事实上,HDR的概念由来已久,只不过是最近因电脑游戏图像的生成应用了HDR渲染技术而被炒热,进而引起一些摄影爱好者的兴趣,将之引入到数码照片拍摄与处理处理而已。O5n,X,L.i1g
[[i] 本帖最后由 石头 于 2008-7-31 18:50 编辑 [/i]] [color=Red]关于数码照片的动态范围[/color]
千万不要以为动态范围(Dynamic Range)是数码相机特有的一个参数,更不要认为有了CG才有了动态范围的概念,严格来说,动态范围是一个信息工程学概念,存在于任何信号采集、处理与记录的过程中。如果抛开摄影的艺术价值不谈,单就其科学性而言,摄影的过程就是一个光信号采集与记录的过程,与录音机记录声音是一个道理,同样存在数据采集、数据处理、数据记录的过程。
RmW"i1t v
动态范围不能简单理解为最大信号与最小信号之间的范围,而是最大“不失真”信号与噪声信号的比值。具体到数码相机而言,决定动态范围大小的环节有三个,首先是图像传感器(CCD/CMOS)采集光信号时的动态范围,表现为可记录的最亮与最暗信号间的差值范围;然后是A/D转换的动态范围,表现为进行数码采样时的数据位,8bit、12bit、14bit还是16bit等,数据位越高,生成数码信号的动态范围越大;最后是文件记录时的动态范围,是 24bit真彩色还是48bit真彩色。
^QW;N3gY3|
如果原始信号没有足够的动态范围,A/D转换精度再高也无济于事,而如果A/D转换精度不足,图像传感器的丰富信号还是要丢失很多。最终数码照片的动态范围是取决于三个环节中最小的那一个,由于我们最终得到的照片是经过A/D转换之后的记录,之前图像传感器本身的动态范围是多少已经无从考察,所以,A/D转换的过程对于动态范围的大小至关重要。 [color=Red]关于数码图像处理的A/D转换[/color]
【注:本节文图摘自摄影无忌geforcemx的帖子】"Xwf Z:u;e KH"O$g
Xx[P3@
要深入理解数码照片动态范围的概念,不能不先说一下数码成像过程中的A/D转换问题。vTSr7} Y9C
数码感光元件的基本单位—像素(感光二极管)可以把光子转换为电子,电子信号由电荷电压转换器转换成电压,然后由A/D转换器—— ADC(Analog to Digital Converter,模数转换器)采样,把模拟的电压信号转换成数字信号。由于在电脑中采用一系列由0和1组成的二进制代码来记录色彩和灰度,这组代码的位数就决定了能表示的色彩和灰度的数量。H4p-v2p)G)`a"{?
$E9C3ej kj4]
一个1位的ADC仅仅能够记录两种色彩,白和黑。(2^1=2,二进制上为黑色“0” 和白色“1”)
[attach]175937[/attach]1A^\!Kt1N+@[ m
cV7A&c2Ufjr
这样的图像是没有色彩过渡的,除了全白和全黑,没有一点中间的过渡,在影调上是不连续的。*Z ~H+u4kK
一个2位的ADC将能够产生4种影调,除了全白和全黑,还多了两种中间的灰度。(2^2=4,黑色“00”,白色“11”,两种灰色“01,10”)
_%g`]1~
[attach]175938[/attach] 一个4位的ADC将会产生16种色调(2^4=16),图像看起来已经过渡的比较连续了,一些高光和暗部的细节已经显露出来。
"V qj6ZY ^1S
[attach]175939[/attach]NHHy(D cR s
当ADC采用8位记录色彩灰度信息时,我们将得到256(2^8=256)种不同的明暗梯度,而这仅仅是一条色彩通道,当我们考虑这个像素最终产生的是3条色彩通道的图像,我们就得到了256x256x256=16777216种色彩组合,也就是我们常说的24位色(每通道8位,3条通道一共24 位),也就是所谓的真彩色。
@5X.B0i3[Qj"d+m&Y
[attach]175940[/attach]n!h"p5D+^1|U hO
[attach]175941[/attach] ADC的作用就是把连续变化的大小不同的电压信号,根据一定的精度划分成一系列不连续的梯度,并以二进制的数字方式记录下来。当采样的精度不高时,也就是能够分辨的电压差比较大时,得到的灰度梯度数量会比较少,画面也会不够连续。 +u!~swto
kyZo S
[attach]175942[/attach]
|6R n0Xn(V
对于上面一组图像,当灰度过渡达到256级时,我们已经不能分辨出相邻两个不同灰度之间的差异(实际上对于最下面一个灰度条,每个灰度还是大约两个像素的竖条),而成为连续过渡变化的,这是我们的眼睛能够分辨的极限。,E%v c\;z pJ }
而对于彩色的图像,每一个色彩都是由红绿蓝三种色调按照不同的比例混合而成,因此需要记录红绿蓝三个通道的灰度值。在24位色的情况下,(255,0,0)代表的就是饱和的纯红色,因为红色通道数值为255,而蓝绿色通道都为0,同理(0,255,0)为饱和的纯绿色,(0,0,255)为饱和的纯蓝色,而中间的色调都介于(0,0,0)黑色和(255,255,255)白色之间。这样得到的就是前面提到的1千6百多万的色彩组合,也是我们眼睛能够分辨的极限,这样的画面我们将不会发觉有不连续的banding出现,也就是所谓的真彩色。2WSus w.V NB
一般消费级别的数码相机都配备了8位的ADC,也就是可以产生每通道256种灰度梯度。而高级一些的数码单反相机,由于配备了更精确以及动态范围更大的感光元件,能够记录更多的高光、暗部和中间色调的细微色调变化,因此为了配合能够记录的微小电压差异,常常选用10位(1024级/通道)甚至 12位(4096级/通道)的ADC以精确的区分色调过渡。这些信息可以由RAW等格式记录下来,方便后期的进一步处理,而JPEG格式由于仅支持8位 /通道的数据格式,显然无法记录全部的影调过渡信息,将丢失层次。 “真HDR”和“伪HDR”_FSR"?_#m&O
0K#z Lt[,wTl'I;a
明白了A/D转换的位数问题,回过头来再谈HDR就比较明白了。
