一种高动态范围图像的显示再现方法
技术领域
本发明属于数字图像处理中的再现技术领域,具体涉及高动态范围图像在低动态范围显示设备(如显示器和纸张)上的显示再现方法。
背景技术
现在普遍使用的、每个通道8位的图像,称之为低动态范围图像。此类图像不能记录场景中真实的亮度,只是记录视觉编码过的、有限的阶调关系(通常每个通道只有256个阶调),其最终所记录场景的效果必须根据具体的显示设备而决定。如果一显示器的最大显示亮度为100cd/m2,动态范围为100∶1,那么只能正确显示场景中1cd/m2到100cd/m2亮度之间的光影效果,无法呈现原场景完整的光影效果。因此,它也称为设备相关的图像。
高动态范围图像(High Dynamic Range image,HDRi)则为一种场景相关的图像,其动态范围一般超过1000∶1,且各像素记录的是场景真实亮度。可以记录所有视觉可以观察到的场景(10-6cd/m2~108cd/m2亮度范围的场景)。鉴于高动态范围图像的这些优点,近年来,高清影片、游戏特效、航空航天、卫星气象、医疗、印刷以及交通金融等行业都期望高动态范围图像能代替现有的低动态范围图像,被广泛应用。但,这些应用都会遇到一个共同的问题,即在现有的低动态范围显示设备上正确显示再现高动态范围图像的问题。
现在一般商用的显示设备的动态范围都比较低。例如,CRT显示器的最大显示亮度大约80cd/m2,实际的动态范围通常都不高于100∶1;纸张所能呈现的动态范围更低,亚光纸张动态范围大约50∶1,而非亚光的纸张的动态范围只有30∶1上下。如果说低动态范围图像显示在这些显示设备上时,呈现原图像所记录场景的改变并不足以引起视觉感知的话,当高动态范围图像显示在这些显示媒介上时,动态范围的大范围压缩,呈现场景的亮度相对较大的改变,则会使得表现真实场景的纹理细节和颜色都发生视觉容忍范围外的变化,高动态范围图像所记录的高动态范围场景的真实光影效果也不复存在。
近年来,许多学者提出许多解决方法,一般称之为阶调映射算法。这些阶调影射算法又分为两类:全局阶调映射算法和局部阶调映射算。全局阶调映射算法通常会模糊场景中可见细节、或丢失部分场景。局部阶调映射算法虽然可以解决全局阶调算法的缺陷,但它又会产生光晕、阶调逆转、噪声等新的问题。至于颜色再现问题,在这些阶调映射算法中少有注重的。尽管也有些算法把色貌模型(如,CIECAM02、iCAM06)和阶调映射结合起来取得一定得效果。但,由于现有的色貌模型还没有完善到可以处理高动态范围图像的颜色的地步,还需要进一步完善。
发明内容
本发明的目的是为了解决现有高动态范围图像显示再现存在的上述不足,提供一种基于空间和对比度相关的边缘相阻机制的高动态范围图像显示再现方法
本发明提供的技术方案是一种高动态范围图像的显示再现方法,包括以下步骤:
步骤1,先将高动态范围图像各像素(x,y)的RGB值转换到XYZ空间得到相应XYZ值;再利用M矩阵转换到视锥细胞的响应空间,转换如下:
其中,X(x,y),Y(x,y),Z(x,y)为高动态范围图像各像素(x,y)的XYZ值,R(x,y),G(x,y),B(x,y)为高动态范围图像各像素(x,y)的视锥细胞响应值;
步骤2,利用色度适应性模型调整各像素由于光源光谱分布变化导致颜色的变化,所述色度适应性模型如下:
Ra(x,y)=R(x,y)·(D(Lw(x,y))·(Rwr/Rw)+1-D(Lw(x,y)))
Ga(x,y)=G(x,y)·(D(Lw(x,y))·(Gwr/Gw)+1-D(Lw(x,y)))
Ba(x,y)=B(x,y)·(D(Lw(x,y))·(Bwr/Bw)+1-D(Lw(x,y)))
其中,Ra(x,y),Ga(x,y),Ba(x,y)为高动态范围图像各像素(x,y)针对光源光谱分布变化作色度适应性调整后的视锥细胞响应值;Rw,Gw,Bw为原高动态范围图像的光源视锥响细胞应值,Rwr,Gwr,Bwr为显示环境中光源的视锥细胞响应值;D(Lw(x,y))为观察高动态范围图像各像素时在各亮度适应性亮度Lw(x,y)下视锥细胞的适应程度,具体为:
D(Lw(x,y))=F(0.08log10(1/5Lw(x,y))+0.76)
上式中,F为环境因子,Lw(x,y)>10cd/m2时,F=1.0;而Lw≤10cd/m2时,F=0.8;
步骤3,建立高动态范围图像压缩显示前后的各像素在其适应性亮度下视锥细胞相对响应值的映射关系,具体如下:
rc_d(x,y)=rc(x,y)
其中,rc(x,y)为模拟高动态范围图像各像素的视锥细胞相对响应值,rc_d(x,y)为模拟高动态范围图像显示在低动态显示设备上时各像素视锥细胞相对响应值,下标c表示视锥细胞种类,为R或G或B;
步骤4,计算低动态显示设备上图像各象素视锥细胞响应值Rd(x,y),Gd(x,y),Bd(x,y);
步骤5,最后,利用步骤1所述M矩阵的逆矩阵将各像素视锥细胞响应值转换到XYZ空间,再利用sRGB转换矩阵的逆矩阵换到用于在低动态显示设备上显示的RGB值。
而且,在步骤3中,计算高动态范围图像和其显示图像视锥细胞相对响应值具体方式如下,
(1)高动态范围图像各像素视锥细胞相对响应值,rc(x,y),c为R或G或B:
其中,BR(x,y),BG(x,y),BB(x,y)表示视锥细胞在不同适应性亮度下的漂白指数;
σ(Lw(x,y))为各像素适应性亮度Lw(x,y)的适应性因子:
σ(Lw(x,y))=c·Lw(x,y)/Fl(x,y)
此处c为一个常数20;Fl(x,y)计算如下:
Fl(x,y)=0.2T4(x,y)Lw(x,y)+0.1(1-T4(x,y))(Lw(x,y))1/3
T(x,y)=1/(Lw(x,y)+1)
n(x,y)也是由适应性亮度Lw(x,y)决定,如下:
Lw_max和Lw_min分别为高动态范围图像在视觉中最大适应性亮度和最小适应性亮度值,a,b和d为实验经验值,分别取0.75,1.2和0.075;
(2)模拟高动态范围图像显示在低动态显示设备上时各像素视锥细胞相对响应值rc_d(x,y),c为R或G或B:
其中,Lw_d为低动态显示设备上图像的适应性亮度,取显示最大亮度的一半,Rd(x,y),Gd(x,y),Bd(x,y)为显示图像各像素的视锥细胞响应值。
而且,视锥细胞在不同适应性亮度下的漂白指数受到在不同适应亮度Lw(x,y)下产生不同程度漂白的影响,漂白指数的计算公式如下:
BR(x,y)=107/(107+Lw(x,y)(Rwr/(Rwr+Gwr+Bwr)))
BG(x,y)=107/(107+Lw(x,y)(Gwr/(Rwr+Gwr+Bwr)))。
BB(x,y)=107/(107+Lw(x,y)(Bwr/(Rwr+Gwr+Bwr)))
而且,所述低动态显示设备为纸张或显示器;
当低动态显示设备为纸张时,相应计算各像素适应性亮度方法如下:
当低动态显示设备为显示器时,相应计算各像素适应性亮度方法如下:
其中,
Ω表示像素(x,y)的邻域范围;
函数fposition(·)为边缘相阻机制的空间影响函数,计算如下:
G(k,l,ro1)和G(k,l,ro2)为半径大小不同的高斯函数,ro1和ro2分别为以像素(x,y)为中心的内径和外径,ro1取所处理图像大小的2%,ro2取ro1的1.6倍,
函数gcontrast(ΔL)为边缘相阻机制的对比度影响函数,ΔL表示L(k,l)-L(x.y),计算如下:
σl为边缘相阻机制中对比度截止值,取σL∈[0.35,1.0];
Lrefl为环境中光源在显示器的屏幕上反射亮度,计算如下:
Eamb为显示器所在环境中光源的光照度,k表示显示器屏幕的反射系数。
通过上述技术方案,本发明模拟颜色视觉,在视锥细胞响应空间中,保持视锥细胞的相对响应值,可以在再现纹理细节的同时最小化颜色的变化。实施本发明,可以正确的将高动态范围的图像显示再在现有的低动态范围的显示设备或纸张上,保持高动态范围图像中场景原有的纹理细节和颜色感知,且方法容易实现,满足一定的实效性的要求,也可以满足高清影片、游戏特效、航空航天、卫星气象、医疗、印刷以及交通金融等行业对高动态范围图像应用的需求。
附图说明
图1是本发明实施例的流程图。
具体实施方式
下面结合附图和实施例对本发明进一步详细地说明:
参见图1,实施例主要包含以下步骤:
步骤1,先将高动态范围图像各像素(x,y)的RGB值转换到XYZ空间得到相应XYZ值;再利用M矩阵转换到视锥细胞的响应空间,转换如下:
其中,X(x,y),Y(x,y),Z(x,y)为高动态范围图像各像素(x,y)的XYZ值,R(x,y),G(x,y),B(x,y)为高动态范围图像各像素(x,y)的视锥细胞响应值。
实施例根据输入的高动态范围图像的各个通道RGB(单位为cd/m2),转换成XYZ值(单位cd/m2),设置Y(x,y)维亮度L(x,y)维。此时可以先确定显示设备和显示环境,如在室内CRT显示器上显示,那么室内的光照度Eamb为200lux,CRT最大显示亮度为80cd/m2,屏幕反射系数k为4%,计算环境中光源在显示器屏幕上反射亮度Lrefl,计算光源在显示器屏幕上反射的亮度Lrefl;再根据适应性亮度的公式计算各像素观察时的适应性亮度Lw(x,y),其公式中参数ro1为图像大小的2%,ro2取ro1的1.6倍,σL取0.7。然后将高动态范围图像的X(x,y),Y(x,y),Z(x,y)值转换为视锥细胞相应空间的响应值R(x,y),G(x,y),B(x,y)。
步骤2,利用色度适应性模型调整各像素由于光源光谱分布变化导致颜色的变化,所述色度适应性模型如下:
Ra(x,y)=R(x,y)·(D(Lw(x,y))·(Rwr/Rw)+1-D(Lw(x,y)))
Ga(x,y)=G(x,y)·(D(Lw(x,y))·(Gwr/Gw)+1-D(Lw(x,y)))
Ba(x,y)=B(x,y)·(D(Lw(x,y))·(Bwr/Bw)+1-D(Lw(x,y)))
其中,Ra(x,y),Ga(x,y),Ba(x,y)为高动态范围图像各像素(x,y)针对光源光谱分布变化作色度适应性调整后的视锥细胞响应值;Rw,Gw,Bw为原高动态范围图像的光源视锥响细胞应值,Rwr,Gwr,Bwr为显示环境中光源的视锥细胞响应值;D(Lw(x,y))为观察高动态范围图像各像素时在各亮度适应性亮度Lw(x,y)下视锥细胞的适应程度,具体为:
D(Lw(x,y))=F(0.08log10(1/5Lw(x,y))+0.76)
上式中,F为环境因子,Lw(x,y)>10cd/m2时,F=1.0;而Lw≤10cd/m2时,F=0.8。
实施例中,先利用各象素适应性亮度Lw(x,y),计算视锥细胞在适各应性亮度下的适应程度D(Lw(x,y)),再利用色度适应性模型调整不同适应性亮度下,由于光源光谱分布差异造成的偏色。
步骤3,建立高动态范围图像压缩显示前后的各像素在其适应性亮度下视锥细胞相对响应值的映射关系,具体如下:
rc_d(x,y)=rc(x,y)
其中,rc(x,y)为模拟高动态范围图像各像素的视锥细胞相对响应值,rc_d(x,y)为模拟高动态范围图像显示在低动态显示设备上时各像素视锥细胞相对响应值,下标c表示视锥细胞种类,为R或G或B。
为便于具体实施参考起见,提供实施例的进一步方案,计算高动态范围图像和其显示图像视锥细胞相对响应值具体方式如下,
(1)高动态范围图像各像素视锥细胞相对响应值,rc(x,y),c为R或G或B:
其中,BR(x,y),BG(x,y),BB(x,y)表示视锥细胞在不同适应性亮度下的漂白指数;视锥细胞在不同适应性亮度下的漂白指数受到在不同适应亮度Lw(x,y)下产生不同程度漂白的影响,漂白指数的计算公式如下:
BR(x,y)=107/(107+Lw(x,y)(Rwr/(Rwr+Gwr+Bwr)))
BG(x,y)=107/(107+Lw(x,y)(Gwr/(Rwr+Gwr+Bwr)));
BB(x,y)=107/(107+Lw(x,y)(Bwr/(Rwr+Gwr+Bwr)))
σ(Lw(x,y))为各像素适应性亮度Lw(x,y)的适应性因子:
σ(Lw(x,y))=c·Lw(x,y)/Fl(x,y)
此处c为一个常数20;Fl(x,y)计算如下:
Fl(x,y)=0.2T4(x,y)Lw(x,y)+0.1(1-T4(x,y))(Lw(x,y))1/3
T(x,y)=1/(Lw(x,y)+1)
n(x,y)也是由适应性亮度Lw(x,y)决定,如下:
Lw_max和Lw_min分别为高动态范围图像在视觉中最大适应性亮度和最小适应性亮度值,a,b和d为实验经验值,分别取0.75,1.2和0.075;
(2)模拟高动态范围图像显示在低动态显示设备上时各像素视锥细胞相对响应值rc_d(x,y),c为R或G或B:
其中,Lw_d为低动态显示设备上图像的适应性亮度,取显示最大亮度的一半,Rd(x,y),Gd(x,y),Bd(x,y)为显示图像各像素的视锥细胞响应值。
步骤4,计算低动态显示设备上图像各象素视锥细胞响应值Rd(x,y),Gd(x,y),Bd(x,y)。
该步骤是利用视锥细胞在适应性亮度下的相对响应公式,并根据保持在显示设备前后图像各像素的视锥细胞的相对响应值不变的思想rc_d(x,y)=rc(x,y),计算显示图像各像素的视锥细胞的响应值Rd(x,y),Gd(x,y),Bd(x,y)。
步骤5,最后,利用步骤1所述M矩阵的逆矩阵将各像素视锥细胞响应值转换到XYZ空间,再利用sRGB转换矩阵的逆矩阵换到用于在低动态显示设备上显示的RGB值,即可输出低动态范围图像,结束流程。该步骤的具体转换实现采用现有技术,本发明不予赘述。
实施例通过以上步骤完成了高动态范围图像在CRT显示器上显示再现的全过程。实施时只需根据具体的显示设备设定好最大显示亮度、参数ro1、ro2和σL后,无需手工再进行干预,能够自动完成,较好的再现了高动态范围图像原有的场景。实施例的参数都取上述所设定值,即CTR显示器最大显示亮度80cd/m2,参数ro1为图像大小的2%,ro2取ro1的1.6倍。σL取0.7。
具体实施时,所采用的低动态显示设备可能为纸张或显示器,为便于具体实施参考起见,本发明提供了进一步技术方案:
当低动态显示设备为纸张时,相应计算各像素适应性亮度方法如下:
当低动态显示设备为显示器时,相应计算各像素适应性亮度方法如下:
其中,
Ω表示N像素(x,y)的邻域范围;
函数fposition(·)为边缘相阻机制的空间影响函数,计算如下:
G(k,l,ro1)和G(k,l,ro2)为半径大小不同的高斯函数,ro1和ro2分别为以像素(x,y)为中心的内径和外径,ro1取所处理图像大小的2%,ro2取ro1的1.6倍,
函数gcontrast(ΔL)为边缘相阻机制的对比度影响函数,ΔL表示两个I之间的差,如L(k,l)-L(x.y),计算如下:
σl为边缘相阻机制中对比度截止值,取σL∈[0.35,1.0];
Lrefl为环境中光源在显示器的屏幕上反射亮度,计算如下:
Eamb为显示器所在环境中光源的光照度,单位为勒克斯(lux),k表示显示器屏幕的反射系数。