Dynamic Range(DR)是相机或sensor曝光的范围,即场景的亮度范围,相机对该场景的响应具有良好的对比度和良好的信噪比(SNR)
Sensor vs.Sysytem Dynamic Range:
传感器制造商正在开发高动态范围(HDR)图像传感器,声称其特殊的动态范围:120dB至150dB。被测系统(相机)动态范围通常远低于规定的传感器动态范围。
主要原因是镜头中的杂散光———它在镜头元件和镜筒(在镜头内部)之间反射,这些杂散光会使得图像模糊,有时会导致“鬼影”。高质量的镜片涂层能够有所帮助,但也仅此而已。不同的测试图卡设计了不同的密度分布,因此图卡图像上有不同数量的镜头光晕,导致测量动态范围的差异。就目前而言,应该没有一种摄像系统(光必须通过光学系统)达到120db。2017年夏天的时候大概最好的也只有100dB。
Sensor Dynamic Range:(传感器饱和和信噪比= 1 (0 dB))之间的亮度范围。它可以测量通过Raw图像(没有任何类型的去马赛克或处理)进行测量。
ISO 15739: dynamic range对应 Scene-referenced Signal-to-Noise Ratio SNRscene = 1 (0dB) ,符合 Dynamic Range在ISO噪声测量标准( ISO 15739: Photography — Electronic still-picture imaging — Noise measurements。 )第6.3节的定义。
测量相机或sensor的动态范围最直接的方法是使用一张透射式灰阶卡,从灰阶卡的背面打光。反射式灰阶卡如Kodak/ Tiffen Q-13或Q-14是不够的,因为他们的密度范围约1.9等于1.9 * 3.32 = 6.3(38 dB),远低于数码相机(即使他们是可以用来测量动态范围的)。
下表列出了几个透射式图卡,所有这些图的密度范围至少为3(10个f-stop)。除了TE241、TE264和TE269外,所有的图表都是线性的(一整行的图块),对于这样的图卡结果可能会出现渐晕影响。
如何测量动态范围?
把图卡放在灯箱上——或者任何均匀漫射光源上。一定要挡住图卡灯箱的直射光:杂散光会减小测量动态范围;应该避免这种情况。
将图卡框起来,这样它就占据了图像的中心部分(除非相机的分辨率极低)。这避免了可能出现的镜头渐晕问题。图卡的图像不需要超过1000到1500像素的高度。
在一个完全黑暗的房间里拍摄图卡。杂散光不能进入到成像设备的镜头中,它会影响测试结果。图卡和照相机的周围环境应尽量保持黑暗,以减少杂散光。
使用你的相机的直方图来确定最小的曝光,使图卡中最亮的区域饱和。轻微的过度曝光是可以的,但强烈的过度曝光或曝光不足可能会减少有用区域的数量,从而导致动态范围减小。
Note:反射可能是一个严重的问题。我们建议除了镜头外,用黑色绒布覆盖在相机附近的所有东西。从镜头本身的反射是很难避免的,但它们的效果可以通过放置相机使其反射在图像的中心(对于圆形布局的图卡)来减轻。这将反射放置在密度图块的外面。
对于透射式光源,您可以简单地将灰阶卡放置在前方。尽管把杂散光控制在最低限度。
如果可能,以16位(或更多)格式保存图像。注意,JPEG图像总是8位(像素级别0-255)。这可能严重影响动态范围测量,特别是对于HDR相机。
通过软件分析图像
请确保在设置中选择正确的图卡。当动态范围图卡输入一个参考文件,那将获得更准确的结果。
在测量动态范围时,有许多事情需要考虑。最重要的是,动态范围的测量受到视场中杂散光 ,图像处理(特别是位深、黑电平偏移、降噪和色调映射)的影响。测试设置是至关重要的。
从环境中反射到测试图卡前面的光线应该尽量减少。它会严重地降低DR测量,特别是对于HDR (DR > 100dB)系统。特别注意避免镜头的反射(应该在图卡的中间,在测量区域之外)。
测试环境应该完全封闭。在可能的情况下,墙壁应该是深色的。应使用黑布覆盖灯光,灯光表面可能会将光线反射回图卡。杂散光是引起DR测量误差的主要原因。
杂散光(在镜头元件和镜筒之间反射后到达图像传感器的杂散光)是限制动态范围测量的最主要因素。杂散光可以是来自图卡的亮区,也可以是来自光源,也可以是来自图卡以外的部分(在实际环境中)。因此,测试图卡的选择对动态范围测试也有显著的影响。
图像处理可分为两类:在Raw转换过程中常规进行的处理和随后应用的后处理。两者都会影响DR测量。
Raw conversion:Raw转换将传感器的输出转换为标准的图像格式。它包含几个函数(一些是可选的)。下面列出的所有函数通常都是在摄像机内Raw转换期间应用的(通常是JPEG输出)。
Demosaicing :(将Bayer RGRG/GBGB格式转换成全彩,每个像素都有RGB)对动态范围的影响相对较小。
Gamma curve: 大多数可互换的文件都是伽玛编码的,也就是说,它们的显示亮度与pixel levelgamma成比例 (通常gamma= 2.2)。最简单的伽马编码是pixel level = scene brightness(1/2.2)。当转换后的图像深度为8位(对于非hdr图像来说很常见)时,gamma编码可以显著提高动态范围。8位线性图像的动态范围有限,因为它们在黑暗区域只有很少的电平。
Tonal response curve (TRC):经常应用于对Gamma的添加。在“肩部”(对比度衰减)应用高光是 tonal response curves 最常见的特征,TRCs肯定会影响DR的测量,并且会以复杂的方式影响DR。
Sharpening :锐化通常在边缘附近进行,但可能不适用于测量DR的平坦区域。
Noise reduction:降噪(低通滤波)通常在测量DR的平坦区域进行。降噪可以对DR测量产生深远的影响。特别是SNR = 1,这是某些标准中DR限值的准则,可能永远达不到。
Color correction matrix (CCM) and white balance (WB):一个CCM可以增加噪声,特别是当颜色增强时。但大多数情况下,CCMs对DR测量的影响很小。
附加的图像处理可以应用在Raw转换之后。
Bit depth :大多数可互换的图像位深为8bit,这可以限制DR,特别是线性图像。位深= 8bit对伽玛编码图像的损失较小,但位深= 16或更大的影响就更小了。
Tone mapping:当需要在动态范围有限的设备上查看HDR图像时(这意味着实际上几乎所有的设备都需要查看),就会执行色调映射。色调映射压缩相对较大区域的色调(如灰度测试图块),同时在小区域保持色调对比度(局部对比度)。
色调映射降低了在标准灰度图卡上测量的对比度,而标准灰度图卡没有显示局部对比度的好坏。我们可以发现,色调映射对噪声往往是很敏感的。 (当然,相机可能使用完全不同的算法。)
Tone mapping很容易识别。测量的伽玛值远远低于标准彩色空间图像的典型值(约0.5),而且图块可能不会单调递减。Tone mapping对DR测量的影响并不容易预测:它应该被视为一个未知因素。
Pixel level (black level) offsets: 经常应用于图像,对DR测量有显著影响。 如果它们存在,就应该移除。
镜头反射是产生杂散光的主要原因。一个没有涂层的玻璃表面(折射率≅1.5)反射了进入玻璃光线的R = 4% = 0.04。(记住,一片玻璃或一个透镜组件有两个表面。)
对于镜头的每片玻璃表面从这个表面到光源之间,主要反射(原始入射光的R2)有一小部分R被反射回图像传感器。这称之为二次反射。由于大多数镜头表面是曲面的,因此这种光将是不聚焦的。它会使图像的一部分产生模糊。
从光学层面上来说,最好的抗反射涂料在可见光谱R≅0.4% = 0.004 (~ 400 - 700 nm)。 对于合理的入射角范围,R = 0.005可能更为现实。 从每个二次反射回传感器的光将是 R2 = 0.000025 = 2.5*10-5 = -92 dB (20*log10(R2))。 二次反射的次数Nsec 随着组件的数量 M 快速增加(用胶水粘合在一起的组合,每个玻璃两面都有空气间隔)在一个镜头中:反射次数与组件数量之间的关系如下公式所示:
M = 5个组件是典型的高品质照相手机;M≥12个组件是常见的单反变焦镜头。整体镜头杂散光的严重程度低于二次反射的次数,因为杂散光不能覆盖整个图像。它随着距离明亮区域的距离而减小。很容易理解为什么实际的相机动态范围测量被限制在70-90dB左右,即使传感器动态范围要高得多。
由于ISO 18844杂散光模型不能测量由镜头反射引起的空间上的杂散光,因此它在表征实际系统性能方面的价值有限。
噪声是一个随机过程。当噪声相对于信号电平(低信噪比)较高时,它对测量一致性有很强的影响。
线性图卡中的区域选择如XYLA图卡(21f-stops或更高的动态范围)是非常困难的,因为很难看到黑色图块。
另外也受到光学畸变的影响,纠正非常困难。
最后它还可能存在梯形失真(这也可以纠正,但还有相当大的困难)。
不幸的是,区域选择中的小错误会极大地影响测量结果。这个问题是设计圆形动态范围图卡的主要原因。
F-stop noise 和 scene-referenced SNR
人眼对相对亮度差异有反应。这就是为什么我们考虑到曝光要明确zones, f-stops, or EV ,一个EV的变化相当于2倍的曝光变化,眼睛的相对敏感度由 Weber-Fechner 定律表达:
ΔL ≈ 0.01 L –or– ΔL/L ≈ 0.01
ΔL是眼睛可以分辨的最小亮度差。这个方程是近似的;由于来自明亮区域的视觉干扰(杂散光),在场景和打印的黑暗区域,有效的ΔL往往更大。
用相对亮度单位(如f-stop)来表示噪声,比标准像素或电压单位更接近眼睛的反应。噪声 f-stops = Nf-stop通过将噪声的像素数除以每个f-stop的像素数得到。(出于习惯,我们使用“f-stop”而不是“zone”或“EV”;虽然它们都可以。) 注意1 f-stop = 0.301 Optical density units = 6.02dB (decibels) = log2(luminance).
还要注意的是,Nf-stop是f-stops(对数)单位的场景参考噪声,必须与线性场景参考噪声Nscene-ref区分开来,Nscene-ref具有与亮度(场景信号)相同的线性单位
其中Npixels是像素测量的噪声,d(pixel)/d(f-stop)是f-stops中测量到的信号(像素级别)相对于场景亮度(曝光)的导数= log2(亮度)。我们可以使用d(loga(x))=dx/(xln(a))