高动态范围图像(HDRI)编码及色调映射技术研究

2010-03-21 05:32范劲松范彦斌裴继刚
图学学报 2010年1期
关键词:数字图像色调亮度

范劲松, 范彦斌, 裴继刚

(佛山科学技术学院,广东 佛山 528000)

高动态范围图像(High Dynamic Rang Image,HDRI)技术是近年来数字图像领域的重要发展和突破,较之于传统的把像素色彩分解为3个8位RGB通道来记录的方式,HDRI图像采用16位或32位的浮点数据来记录像素信息,能够更加准确记录真实场景的全部色彩范围值,表现丰富的色彩细节和明暗层次。据目前最新的研究表明,HDRI图像是数字图像的未来和明天,将有着十分宽广的应用领域。

最近国外学者对它的研究已经日渐成熟[1-3]。然而,HDRI的应用研究在国内却没有引起足够的重视,目前的应用主要集中在电脑游戏方面,和作为渲染时的环境、纹理贴图时的技术方法。人们认为高动态范围图像(HDRI)仅仅是众多格式的数字图像中的一个选项,很少有人意识到它实际上是今后发展的重要方向。本文力图对高动态范围(High Dynamic Rang, HDR)技术的基本理论和一些关键技术进行研究和探讨。

1 HDR技术基础

动态范围是指一个物理测量量的最大值与最小值之比。对于不同的对象它有不同的含义,就实际环境而言,它指场景中最亮和最暗部分的比值;对于数字相机,它指从饱和值到镜头噪波之比;对于显示器来讲,它指从屏幕发出的最大亮度和最小亮度之比。就数字图像而言,动态范围d是指一个数字图像中最大和最小光度(Luminance)的比值,即

这里光度的单位用每平方米上的坎德拉(烛光)表示,即cd/m2。数字图像的动态范围大小主要影响图像所能够记录的细节的丰富程度,是衡量图像质量的重要指标。

人眼能够观察的动态范围是很宽的,夜晚人们能够看到晴朗星空的光度大约为0.001 cd/m2,而明亮阳光照射下的场景大约有100,000 cd/m2的光度,而太阳自身的光度大约为109cd/m2,,如图1所示。

图1 各种情况下的光度值(单位cd/m2)

这样计算出来的动态范围将是一个很大的数字,因此常用对数的形式表示动态范围D,即:D=log10(Lmax/Lmin)。据有关研究数据表明,在瞳孔不放大也不缩小的情况下,人眼所能够观测到的动态范围(即瞬时动态范围)为3.0~4.2,而在允许瞳孔缩放的情况下,人眼的动态范围值将达到9。人眼的这种观察能力是目前流行的图像表示方法所不能达到的。

一个普通的场景的动态范围能够达到10,000:1,在极端的情况下甚至可以达到109:1。目前常用的数字图像所能够记录动态范围都是有限的,称之为低动态范围(LDR)图像,高动态范围数字图像的每个像素可以准确记录真实场景的全部色彩范围值。HDR图像具有的另外一个特性是它存储的是线性值,即每个像素的值与测量到的实际环境的光度值成正比,称这种特性为场景相关性。

2 HDR图像数据编码技术的对比研究

对于数字图像来说,如何存储图像数据是一个重要的问题。由于HDR图像比传统的24位RGB图像记录了更宽的色彩范围,因而需要更加有效的编码方法来利用存储空间。图像的编码(Encoding)指对单个像素数据的表示,而图像格式(Format)指如何打包整幅图像的全部像素[4]。最后图像的质量主要取决于图像的编码而不是图像格式。因此,在此仅讨论图像的编码问题。

2.1 RGBE编码

RGBE编码方法是美国劳伦斯贝克利国家实验室推出的基于物理世界的渲染软件“Radiance”时开发的,文件扩展名为.hdr,.pic。它在HDR摄影和基于图像的光照渲染中得到广泛的运用。RGBE使用4个字节来表示一个像素,其中3个8位的字节分别表示RGB分量,1个8位字节表示指数值(如图2所示),此指数值用作对其它3个线性色彩值的缩放比例系数。

图2 Radiance的32位RGBE编码

假设场景相关的色彩为RW、GW、BW,那么RGBE中的RM、GM、BM分量由下式计算

BM这种编码方法相对于标准的RGB编码来讲在动态范围和图像精度上都有大大的提高。

作者通过研究发现,RGBE编码方法仍然存在一些重要的不足,主要表现在:

(1)它能够代表的动态范围过大,高达74级,而从明亮的日光到夜晚星光下岩石的背光面之间的动态范围才12级,因此会有许多浪费;

(2)此编码方式中的RGB值仅为正值,不能有效覆盖全部的可见光范围。

(3)这种编码的误差分布不均匀,在表现饱和的蓝色和紫色时尤为明显。

2.2 OpenEXR编码

OpenEXR是专门为好莱坞电影进行特效制作的工业光魔公司的内部格式。OpenEXR的文件扩展名为.exr,采用的是一种与IEEE浮点类型相似的16位半浮点类型。半浮点类型又称为S5E10(sign,five exponent,ten Mantissa,即符号、5个指数、10个对数的小数部分),如图3所示。OpenEXR库同时也支持全32位浮点类型和24位浮点类型。

图3 OpenEXR的半浮点类型编码

下式是从编码的半浮点数值进行转换的公式,其中:S代表符号位,E代表指数(0~31),M为小数部分。

通过分析,可以得到OpenEXR编码的这样一些特点:由于OpenEXR中可以表示正值和负值,因此它涵盖了全部的可见光范围并具有10.7的动态范围值,相对精度达0.1%。虽然动态范围不是最高,但对于大多数的运用已经足够了,更加重要的是,OpenEXR格式被目前许多高端的图形卡所支持,相信它的应用将十分广泛。

2.3 LogLuv (TIFF) 编码

LogLuvTIFF编码的初衷是基于对RGBE编码进行改进,以获得一种工业标准的HDR标准。该编码的思想基础是基于人类视觉的生理基础,把图像数据量化步长值控制在人眼辨别色彩和亮度变化的域限以下,使人眼能够得到连续光滑过渡的图像质量。LogLuvTIFF编码将亮度通道(L)和色度通道(u,v)分开,对亮度采用对数编码,从而达到理想的结果。这里的u,v是指国际发光照明委员会(CIE,Commission Internationale de L'Eclairage)推出的CIE国际标准颜色系统的坐标值,可以通过一个3×3的矩阵进行CIEXYZ和RGB互算。

LogLuvTIFF编码有两种版本:LogLuv24和LogLuv32。LogLuv24编码把过去惯用的24位色彩表示分为两个部分:一个10位的对数亮度值和一个14位的CIEuv查表值(如图4所示)。表示的亮度值L10可用下式计算

式中YW为物理亮度级别,范围0.00015~15.9。

剩下的14位表示色度值(u,v),可以通过查表方式得到色彩值。这种表达方法可以在满足肉眼观察的基础上达到4.8级的动态范围。

图4 LogLuv24(上)和LogLuv32(下)编码

LogLuv32的基本思想与LogLuv24一样,只是位数分配的不同,可以记录更大的范围和更高的精度。LogLuv32使用16位来记录亮度信息,两个8位来记录CIE的uv值,如图4所示。亮度的转换计算见下式

对比目前其它的编码方式,LogLuvTIFF编码是目前最适合纪录HDR图像的编码方法,可以这样说,在人类进化还没有提高人类的辨色能力之前,这是最适合保存彩色图像的格式。但是,遗憾地看到,LogLuvTIFF还没有得到广泛的应用,部分原因是由于LogLuvTIFF中的色彩信息需要一个3×3的矩阵进行转换,而人们仍然习惯使用过去常用的RGB色彩空间。

3 HDR图像的局部色调映射(Local Tone Mapping)技术研究

HDR图像的一个特点是它存储的像素值是线性的,即每个像素的值与测量到的实际环境的光度值成正比。称这种特性叫场景相关性(Scene-referred)。而目前流行的LDR图像都是输出相关的(Output-referred),它们的色彩空间是相对于一定的输出设备,而不是对应于所记录的场景,虽然优点是在显示这些数据前不需要再作处理,可直接输出到设备,但缺点是只记录有限范围的色彩值。而场景相关的图像数据则能够尽可能记录原始场景的信息。如果要在特定设备上显示HDR图像则需要用一些方法来把像素值映射到设备的色彩空间,这种映射方法称为色调映射(Tone Mapping)。进行色调映射的主要优点是可以为现在的还是将来的设备产生正确的输出数据,而且,可以对它进行复杂的图像处理操作而不会影响图像的质量。

现在的所有显示、印刷设备只能再现有限的动态范围,大概为100:1。色调映射算法的主要目的就是在降低图像数据动态范围的同时保留原始图像中明亮部分和阴暗部分的细节,使图像在一般低动态范围的显示设备、印刷设备上再现出更多的细节。色调映射算法是目前图像处理领域的一大研究热点。

目前大部分的色调映射算法是将图像整体的像素亮度值作为参考来进行每一个像素色调映射计算的依据,称为全局(Globe)色调映射算法[5-6]。全局色调映射把图像全部像素的强度值平均后作为色调映射中的背景亮度Ib值,可以是算术平均或几何平均

全局色调映射可以较简单和快速地把图像的强度水平和对比范围按比例缩放到显示设备的限制范围里,图像处理速度较快。但这种算法没有考虑到人眼在不同亮度背景下的适应特性,简单地压缩强度水平势必会使HDR图像里的许多原始细节丧失,如图5(a)所示。

为了更好地解决这个问题,根据Tumblin和Rushmeier在IEEE计算机图像及应用会议上提出的人类视觉模型的观点,得到基于视觉模型的局部色调映射算法,最终的目标是使实际的场景与经过色调映射后在显示设备上再现的HDR图像达到视觉上的一致和匹配,如图5(b)所示。

图5 全局色调映射和局部色调映射结果对比

局部色调映射以像素p空间距离为s范围内像素的亮度平均值为背景强度

根据视觉阈限与背景强度之间的TVI(Tolerance of Visual Intensity)关系,可以推导出基于限强度关系的色调映射模型。设与场景相对应的某像素亮度值为Is,任意场景背景亮度Ibs下的视觉阈限为∆Ibs,则相对比值Njnd为

显示设备上对应这点的亮度值可由下式计算

其中 ∆Ibd为显示设备视觉阈限,Ibd为显示设备背景亮度。

由于对有每一个像素都要计算背景像素的强度值,局部色调映射的计算量相对较大,速度慢,但是会得到更加令人满意的结果,它能够有效保护高亮部分和阴影部分的细节对比。

4 结论及应用

高动态范围图像技术的研究和发展为数字图像向高品质、高信息量的形式发展提供了强有力的前进动力。人们高兴地看到近年来与HDRI相关的采集、显示技术得到飞速的发展,我国研发的下一代显示技术——激光显示已经和国际水平接近并将在不久的将来得到普及和应用。同时也注意到对于HDR技术的研究在我国还没有引起足够的重视。在此,本文仅作为作者在此领域开展的一个初步研究,希望能够起到抛砖引玉的作用。

目前,HDR技术的应用才刚刚开始,可以预计它今后的推广应用将是十分广泛的:

(1)基于物理的渲染 现在高端渲染软件中的IBR(Image based Rendering)技术就是HDR的一个重要应用。

(2)数字摄影 HDR技术以其超凡的记录光影细节的能力,无疑会为摄影创作提供广阔的空间。

(3)数字影院和数字视频。

(4)基于图像的虚拟现实 全景图像数据包含了场景全方位的图像信息,动态范围比一般的图像要大得多,这正好为HDR技术提供了用武之地。

(5)遥测遥感技术 卫星传回来的图像包含有许多肉眼可见范围以外的光谱信息,而HDR宽泛的动态范围记录、多光谱记录和图像元数据的能力,使之在科学研究上有着许多潜在的应用。

除了上述的应用外,HDR还会应用在图像编辑、人工视觉模拟、数字合成等领域。

可以确信,作为数字图像技术未来的HDR技术必将得到有关研究人员的重视,其在各个领域的应用将得到普及和推广。

[1]Hamish Millar. High dynamic range ("HDR")technology [C]//Proceedings of ACM SIGGRAPH,2006: 698-706.

[2]Kimmo Roimela, Tomi Aarnio. High dynamic range texture compression [C]//Proceedings of ACM SIGGRAPH, 2006: 707-712.

[3]王家亮, 顾耀林. 基于局部适应性的高动态范围图像显示方法[J]. 计算机应用, 2007, 27(4): 989-990.

[4]Ruifeng XU, Sumanta N Pattanaik, Charles E Hughes.High-dynamic-range still-image encoding in JPEG 2000 [J]. IEEE CG and Applications, 2005, 25(6):57-64.

[5]Reinhard E, Stark M, Shirley P. Photographic tone reproduction for digital images [C]//Proceedings of ACM SIGGRAPH 2002. San Antonio, Texas, 2002:267-276.

[6]Ward G. Fast robust image registration for compositing high dynamic range photo graphics from hand-held exposures [J]. Journal of Graphics Tools, 2003, 8(2):17-30.

猜你喜欢
数字图像色调亮度
数字图像水印技术综述
湖光水色调
色调会说话
亮度调色多面手
分离色调与色调曲线
ARGUS-100 艺术品鉴证数字图像比对系统
亮度一样吗?
基于斩波调制的LED亮度控制
人生的亮度
In Spring!春之色调