基于亮度区域的逆色调映射的制作方法

文档序号:14254465阅读:344来源:国知局
基于亮度区域的逆色调映射的制作方法

本公开涉及高动态范围成像领域,具体地涉及基于亮度区域扩展动态范围。



背景技术:

显示技术的最新进展开始允许显示更大范围的颜色、亮度和对比度。高动态范围(hdr)技术专注于捕捉、处理和显示更宽动态范围的内容。尽管出现了许多高动态范围显示设备,并且正在开发能够捕捉增大的动态范围的图像相机,但可用的高动态范围内容仍然非常有限。尽管最近的发展有望在不久的将来在本机捕获高动态范围内容,但是它们没有解决现有的低动态范围(ldr)内容。



技术实现要素:

公开了基于亮度区域的逆色调映射。可以获得数字图像,并且可以确定数字图像的像素的亮度值。可以确定亮度区域边界的一个或多个值。可以基于亮度值和一个或多个亮度区域边界来确定区域扩展指数图。一个或多个亮度区域边界将区域扩展指数图划分为多个亮度区域。可以基于区域扩展指数图对图像的亮度值进行逆色调映射。可以基于经逆色调映射的亮度值来提供扩展动态范围图像。

更确切地说,本发明的主题是一种用于从数字图像提供扩展动态范围图像的方法,该数字图像由与将亮度(y)与色度分开的颜色空间中所表示的颜色相关联的像素限定,该方法包括:

确定(103)其中分布有表示所述像素的颜色的亮度值的多个亮度区域;

根据所述每个亮度值所属的亮度区域对所述亮度值中的每一个进行逆色调映射(105);并且

基于经逆色调映射的亮度值提供(106)扩展动态范围图像。

优选地,该方法包括根据所述数字图像的每个像素的亮度值所属的亮度区域确定所述像素的扩展指数值,其中逆色调映射所述像素的亮度值包括将所述扩展指数值应用于所述亮度值。在下面的实施例中通过等式(22)来说明这种应用。这些扩展指数值的确定大体形成扩展指数图。

优选地,该方法包括对所述亮度值进行低通滤波,其中根据所述数字图像的每个像素的经低通滤波的亮度值的扩展指数二次函数来执行确定所述像素的扩展指数值,其中所述二次函数取决于所述像素的亮度值所属的亮度区域。这意味着存在与多个亮度区域一样多的扩展指数二次函数。

优选地,在该方法中,每个不同的扩展指数二次函数由不同的一组三个参数a、b、c定义,这三个参数a、b、c对于多个亮度区域中的每一个是不同的。

优选地,所述扩展指数二次函数被定义为与高动态范围显示设备的最大显示亮度有关。

优选地,所述扩展指数二次函数被定义为与最小扩展指数点有关。

优选地,所述多个亮度区域包括至少三个亮度区域:针对低值的亮度的低区域、针对高值的亮度的高区域以及针对被包括在低值的亮度和高值的亮度之间的亮度的中间区域。

在一个变型中,所述扩展指数二次函数由同一组三个参数a'、b'、c'以及至少五个扩展指数控制点的位置限定,使得:

-确定中间区域中的扩展指数值的所述扩展指数二次函数通过这五个扩展指数控制点中的第二、第三、第四扩展指数控制点,

-确定低区域中的扩展指数值的所述扩展指数二次函数通过这五个扩展指数控制点中的第一和第二扩展指数控制点,并且

-确定高区域中的扩展指数值的所述扩展指数二次函数通过这五个扩展指数控制点中的第四和第五扩展指数控制点。

这意味着不同的二次函数是根据至少五个控制点的定位相对于另一个移位的二次函数。

优选地,该方法包括使用样条插值方法从不同的扩展指数二次函数对全局扩展指数曲线进行插值。

优选地,该方法包括确定所述数字图像的每个像素(p)的对比度值,其中逆色调映射所述像素的亮度值y(p)包括将通过应用所述扩展指数值而获得的亮度值乘以所述确定的对比度值。

优选地,根据每个像素的亮度值所属的亮度区域执行确定所述像素的对比度值。

优选地,根据取决于所述数字图像的每个像素的亮度值所属的亮度区域的所述亮度值的对比度二次函数来执行确定所述像素的对比度值,其中所述对比度二次函数通过至少五个对比度控制点来限定,使得:

-确定中间区域中的对比度值的所述对比度二次函数通过这五个对比度控制点中的第二、第三、第四对比度控制点,

-确定低区域中的对比度值的所述对比度二次函数通过这五个对比度控制点中的第一和第二对比度控制点,并且

-确定高区域中的对比度值的所述对比度二次函数通过这五个对比度控制点中的第四和第五对比度控制点,并且

其中所述方法包括使用样条插值方法从不同的对比度二次函数对全局对比度曲线进行插值。

优选地,该方法包括确定所述数字图像的每个像素的提升值,其中逆色调映射所述像素的亮度值包括使通过应用所述扩展指数值而获得的亮度值移位所述提升值。

优选地,根据每个像素(p)的亮度值y(p)所属的亮度区域来执行确定所述像素的提升值。

优选地,根据取决于所述数字图像的每个像素的亮度值y(p)所属的亮度区域的所述亮度值的提升二次函数来执行确定所述像素的提升值,其中所述提升二次函数通过至少五个提升控制点来限定,使得:

-确定中间区域中的提升值的所述提升二次函数通过这五个提升控制点中的第二、第三、第四提升控制点,

-确定低区域中的提升值的所述提升二次函数通过这五个提升控制点中的第一和第二提升控制点,并且

-确定高区域中的提升值的所述提升二次函数通过这五个提升控制点中的第四和第五提升控制点,并且

其中所述方法包括使用样条插值方法从不同的提升二次函数对全局提升曲线进行插值。

本发明的主题还是一种用于从数字图像提供扩展动态范围图像的设备,所述数字图像由与将亮度与色度分开的颜色空间中所表示的颜色相关联的像素限定,所述设备包括被配置成实施上述方法的处理单元。该处理单元可以包括一个或多个处理器。

本发明的主题还是一种存储可执行以执行上述方法的计算机可执行指令的非暂时性计算机可读介质。

本发明的目的还在于提供一种方法,所述方法包括:

获得数字图像;

确定数字图像的像素的亮度值;

确定亮度区域边界的一个或多个值;

基于亮度值以及将区域扩展指数图划分成多个亮度区域的一个或多个亮度区域边界来确定区域扩展指数图;

基于区域扩展指数图对亮度值进行逆色调映射;并且

基于经逆色调映射的亮度值提供扩展动态范围图像。

优选地,一个或多个亮度区域边界将区域扩展指数图分成阴影区域、中间色调区域和高亮区域。

优选地,该方法还包括获得显示设备的最大显示亮度,其中该区域扩展指数图基于最大显示亮度。

优选地,区域扩展指数图基于所述亮度值的低通滤波。

优选地,区域扩展指数图基于二次函数。

优选地,二次函数由对于所述多个亮度区域中的每一个不同的系数来定义。

优选地,区域扩展指数图基于最大显示亮度。

优选地,所述区域扩展指数图基于最小扩展指数点。

本发明的目的还在于提供一种装置,包括:

预处理器,该预处理器获得数字图像并确定数字图像的像素的亮度值;

区域扩展映射器,该区域扩展映射器确定亮度区域边界的一个或多个值,并基于亮度值以及将区域扩展指数图划分成多个亮度区域的一个或多个亮度区域边界来确定区域扩展指数图;

逆色调映射器,该逆色调映射器基于区域扩展指数图对亮度值进行逆色调映射;以及

后处理器(242),该后处理器基于经逆色调映射的亮度值提供扩展动态范围图像。

附图说明

通过阅读以下通过非限制性示例给出的描述并参考附图,将更清楚地理解本公开,其中:

图1是根据各种实施例的基于亮度区域的图像的逆色调映射的方法的流程图。

图2是示出了根据各种实施例的基于多个亮度区域的图像的逆色调映射的系统200的示例的框图。

图3示出了根据各种实施例的曲线e(p)的示例并且示出了可以用来定义亮度边界区域的e(p)的最小点。

图4示出了根据各种实施例的对曲线e(p)改变中间色调调节参数pm以获得e'(p)的效果的示例。

图5示出了根据各种实施例的对曲线e(p)改变高亮调节参数ph以获得e'(p)的效果的示例。

图6示出了根据各种实施例的对曲线e(p)改变阴影调节参数ps以获得e'(p)的效果的示例。

图7示出了根据各种实施例的具有基于阴影截止参数的第一亮度区域边界和基于高亮截止参数的第二亮度区域边界的区域扩展指数图的示例。

图8示出了根据各种实施例的对曲线e(p)改变高亮截止参数kh以获得e'(p)的效果的示例。

图9示出了根据各种实施例的对曲线e(p)改变高亮调节参数ph以获得e'(p)的效果的示例。

图10示出了根据各种实施例的对曲线e(p)改变高亮截止参数kh以获得e'(p)的效果的示例。

图11示出了根据各种实施例的设备的另一个示例。

图12示出了不同的样条插值(splineinterpolation)全局e(p)曲线,该曲线可以通过使用有关高亮区域的用户参数ph的不同值、使用样条插值方法根据定义二次函数的一组参数a'、b'、c'的定义并且根据不同亮度区域中的五个扩展指数控制点c1至c5的定位获得。

图13示出了针对有关高亮区域的对比度参数sh的不同值从五个对比度控制点cs1到cs5的定位计算出的不同的样条插值的全局对比度曲线。

图14示出了对于有关高亮区域的提升参数sh的不同值从五个提升控制点cλ5到cλ5的定位计算出的不同的样条插值的全局提升曲线。

具体实施方式

在各种实施例中,可以使用基于亮度区域的逆色调映射算子(itmo)来扩展内容的动态范围,例如,为高动态范围显示设备准备ldr内容,同时允许独立调节不同亮度区域(例如阴影区域、中间色调区域和高亮区域)中的扩展。例如,可以处理图像内容中的颜色的亮度信息,以恢复或重现原始场景的外观。例如,这样的itmo可以将传统的(即ldr)图像作为输入,以全局的方式扩展图像颜色的亮度范围,并且随后在本地处理高亮或亮区域以增强图像中的hdr颜色外观。然而,如果调节亮度范围的扩展以更好地适应不同的亮度区域,则可以获得更好的结果。

图1是根据各种实施例的基于亮度区域的图像的逆色调映射的方法的流程图。数字图像可得自(101)例如输入设备,如数据存储设备,例如硬盘驱动器、计算机存储器(随机存取存储器(ram))、只读存储器(rom)等)、光驱等;图像捕捉设备,例如数码相机、数码摄像机等。可以确定图像像素的亮度值(102)。例如,如果在诸如yuv的颜色对立空间中,则可以使用亮度分量(例如,y)。如果在不包括单独的亮度分量的空间中对图像进行编码,则可以基于颜色空间的分量通过适当计算来获得亮度值。

确定多个不同的亮度区域。亮度区域边界将图像的亮度值范围划分为不同的区域。如下所述,这种划分可以允许独立调节不同亮度区域中的亮度扩展。优选地,亮度值被分成至少三个区域,即低区域(例如阴影区域)、中间区域(例如中间色调区域)和高区域(例如,高亮区域)。可以独立调节三个区域中的每个区域的亮度扩展量。以这种方式,例如,可以调节图像的动态范围的扩展,以考虑图像的不同亮度区域如何响应扩展。在各种实施例中,可以基于图像的分析来自动选择亮度区域边界。在其他各种实施例中,亮度区域边界可以是用户选择的。

根据本发明,根据该亮度值所属的亮度区域来执行每个亮度值的扩展。尤其可以通过将指数值应用于亮度值进行扩展来执行这种亮度扩展。在这种情况下,为每个亮度值确定扩展指数值以扩展。优选地,基于亮度值来确定扩展指数图,这种确定取决于这些亮度值所属的亮度区域。这样的扩展也可以通过将缩放和/或偏移参数应用于可能已经扩展的亮度值来执行,尤其通过应用如上所述的指数值。

区域扩展指数图可以基于亮度值和一个或多个亮度区域边界来确定(104)。区域扩展指数图可以包括在逆色调映射操作中表示待应用于图像的亮度值的指数的值。可以基于区域扩展指数图对图像的亮度值进行逆色调映射(105),并且可以基于逆色调映射的亮度来提供扩展动态范围图像(106)。以这种方式,例如,可以扩展逆色调映射图像的亮度的动态范围,例如以将低动态范围图像转换为高动态范围图像。由于区域扩展指数图基于选定的亮度区域边界,因此可以单独调节色调映射图像的区域内的扩展亮度的外观。

图2是示出了根据各种实施例的基于多个亮度区域的图像的逆色调映射的系统200的示例的框图。

系统200可以包括一个或多个输入设备201,一个或多个输入设备可以输入数据,诸如原始低动态范围图像203、区域参数205和细节参数(d)207。一个或多个输入设备201可以包括:例如,数据存储设备,诸如硬盘驱动器、计算机存储器(ram、rom等)、光盘驱动器等;图像捕捉设备,诸如数码相机、数码摄像机等;用户输入设备,诸如计算机鼠标和图形用户界面(gui)、触摸输入设备(诸如触控板、触摸屏等)和触摸gui等。

系统200还可以包括低通滤波器209、区域扩展映射器211、逆色调映射器213、细节增强器215、饱和度增强器217和高动态范围显示设备219。细节增强器215可以包括高频提取器221和亮度增强器223。

预处理器202可以从一个或多个输入设备201获得原始低动态范围图像203,并且亮度值(y(p))225可以被提供给低通滤波器209和高频提取器221。色度值(u(p)和v(p))227可被提供给饱和度增强器217。在各种实施例中,原始低动态范围图像203可以处于包括亮度作为独立分量的颜色对立空间(例如,yuv、xyz、yxy、cielab)中。在这个示例中,显示了yuv。

在各种实施例中,原始低动态范围图像203的颜色可以被表示在特别针对不将亮度表示为独立分量(例如,rgb)的显示设备的设备颜色空间中,在这种情况下,如本领域技术人员将容易理解的,系统200可以确定亮度值225(和颜色值227)。这样的设备颜色空间可以被标准化,并且相应的显示设备可以是虚拟的。在这样的情况下,可以以本身已知的方式处理原始低动态范围图像203,使得图像的颜色和亮度被表示在将亮度与色度分离的颜色空间中。因此,以各种方式,亮度值y(p)和两个颜色值u(p)、v(p)可以与原始低动态范围图像203的任何像素p或i的颜色相关联。例如,设备颜色空间中的代表原始低动态范围图像203的颜色的rgb值被转换到具有亮度分量y和例如两个颜色分量cb和cr的颜色空间中。

区域扩展映射器211可以从一个或多个输入装置201获得区域扩展参数205,并且可以从hdr显示装置219获得最大显示亮度(lmax)229。虽然在该示例中直接从高动态范围显示设备219获得lmax229,但是本领域技术人员将容易地理解,在各种实施例中,例如可以从一个或多个输入设备201获得lmax。

亮度的低通滤波:

低通滤波器209可以确定亮度y(p)的低通滤波版本,在本文中被称为基本亮度ybase(p),如图2中的231所示。例如,基于像素p的空间邻域和亮度值y(p)的邻域中的一个或多个高斯函数,可以将低通滤波应用于原始低动态范围图像203的每个像素p的亮度y(p)。例如,可以通过以下等式确定ybase(p):

ybase(p)=∑i∈ω,y(pi)f′s(||pi-p||)f′r(||y(pi)-y(p)||)(1)

其中f's是在图像的空间域上应用的第一高斯函数,其中f'r是在亮度范围域上应用的第二高斯函数,其中ω'是以像素p为中心的图像的窗口的大小,并且其中pi是该窗口中的像素。

在各种实施例中,窗口大小可以是例如5或7。较小的窗口大小可能会提高计算效率。在这个示例中,低通滤波是双侧的,这是指在空间和亮度范围域中都进行滤波的事实。

在各种实施例中,第一高斯函数f's的标准偏差σs的值可以大于或等于2。在各种实施例中,第二高斯函数f'r的标准偏差σr的值可足够高以平滑原始低动态范围图像中的纹理和噪声,但足够低以避免图像的对象之间的交叉边缘。在各种实施例中,标准偏差σr的值可以在0.1max(y)和0.5max(y)之间,其中max(y)是原始图像的所有像素上的最大亮度值。在各种实施例中,可以将空间高斯函数f's的标准偏差设置为σs=3,并且可以将亮度范围高斯函数f'r的标准偏差设置为σr=0.3×max(y)。

ybase(p)231可以被提供给细节增强器215的高频提取器221,这将在下面更详细地进行描述。ybase(p)231也可以被提供给区域扩展映射器211。

扩展指数图:

区域扩展映射器211可以确定允许将低通滤波后的亮度值ybase(p)231映射到扩展指数值e'(p)235、区域参数205和lmax229的区域扩展指数图。区域扩展指数图e'(p)235可以是图像大小的浮点映射,其中每个值表示待应用于原始低动态范围图像203中的每个像素的y(p)的指数。在各种实施例中,可以首先确定扩展指数图e(p)。

在构建扩展指数图的变型中,扩展指数图可以基于扩展指数二次函数,例如:

e(p)=a(ybase)2+bybase+c(2)

其中扩展指数二次函数a、b和c的系数可以是基于最大显示亮度lmax按照如下公式确定的参数:

a=pa1exp(pa2lmax)+pa3exp(pa4lmax)(3)

b=pb1lmaxpb2+pb3(4)

c=1.3(5)

上述等式中使用的参数可以被设置例如如下:pa1=-8.192e-7,pa2=0.000312,pa3=1.657e-5,pa4=-0.0006967,pb1=0.05941,pb2=0.03135,并且pb3=-0.07579。

这意味着扩展指数二次函数被定义为与最大显示亮度lmax有关。

这样,例如,扩展指数图e(p)的形状可以根据最大显示亮度而改变,从而允许在不需要来自用户的输入的情况下控制图像外观的全局方式。

然后,扩展指数图e(p)可以根据亮度区域进行调节。区域扩展映射器211可以调节e(p)以获得区域扩展指数图e'(p)。区域扩展指数图e'(p)可以基于允许基于不同亮度区域调节扩展指数图e(p)的参数。

以这种方式,例如,可以为用户提供对扩展的附加控制,这可以例如,允许用户调节所得图像的外观并且更好地允许用户传达(或者在重新掌握的情况下保留)指导者的意图。例如,对不同亮度区域的独立调节可以更好地控制阴影和高亮中的亮度扩展。

在各种实施例中,可以确定e(p)的曲线的最小点,并且可以获得最小点处的e(p)的值ybase-mid。e(p)的最小点可以作为e(p)的两个亮度区域之间的亮度区域边界。

图3示出了曲线e(p)300的示例,并且示出了可以用来定义将亮度分成两个亮度区域(例如,阴影亮度区域305和高亮亮度区域307)的亮度边界区域303的e(p)的最小点301。

因此,这两个亮度区域可以基于扩展指数图e(p)的最小点。例如,可以通过确定对于哪个基本亮度值ybase-mid而言e(p)的导数等于零的来确定最小点:

δe(p)=2aybase+b(6)

o=2a(ybase_mid)+b(7)

ybase_mid=-b/2a(8)

gemin的最小点是:

gemin=a(ybase_mid)2+bybase_mid+c(9)

e(p)的最小点可以作为两个亮度区域之间的亮度区域边界。在各种实施例中,亮度区域(例如,曲线e(p)的左半部和右半部)可以独立于亮度区域边界进行调节,同时保持亮度区域边界处的曲线的连续性。在各种实施例中,亮度区域可以独立于亮度区域边界进行调节,同时还在亮度区域边界处维持曲线的平滑度。

调节图3中的曲线e(p)的左半部分和右半部分可以允许分别独立调节阴影和高亮的扩展。此外,整个曲线e(p)向上或向下移位可以用于集中在中间色调上调节扩展。

在各种实施例中,亮度值可以被分成三个不同的区域,阴影区域、中间色调区域和高亮区域。在这种情况下,阴影、高亮和中间色调区域中的扩展指数值e(p)可以分别根据区域调节参数ps、ph和pm进行调节,其中ps是阴影区域调节参数,ph是高亮区域调节参数,pm是中间色调节参数。区域调节参数可用于计算不同亮度区域的不同二次曲线e(p)的a、b和c值的新集合。区域调节参数可以被包括在从一个或多个输入装置201获得的区域参数205中。

例如,对于阴影亮度区域303,可以确定一组新的系数as、bs和cs以定义阴影亮度区域中的二次曲线e(p):

as=psa(10)

bs=psb(11)

cs=ps(c-emin)+pmemin(12)

可以应用相同的处理来确定高亮亮度区域305的新的系数值ah、bh和ch,从而用ps替换以上等式10至12中的ph。区域扩展指数图e'(p)235可以被确定:

图4示出了根据各种实施例的对曲线e(p)改变中间色调调节参数pm以获得全局扩展指数e'(p)曲线的示例。图5示出了根据各种实施例的对曲线e(p)改变高亮调节参数ph以获得e'(p)的效果的示例。图6示出了根据各种实施例的对曲线e(p)改变阴影调节参数ps以获得e'(p)的效果的示例。在该实施例中,然后根据取决于该像素的亮度值所属的亮度区域的扩展指数二次函数来执行每个像素的扩展指数值。在这里,我们有两个不同的扩展指数二次函数,第一个由参数bs和cs定义,第二个由参数ah、bh和ch定义。

应该注意的是,由于区域调节参数改变用于确定e(p)的a、b和c的值,它们与lmax参数相互作用,因为a、b和c也可以基于lmax来确定以全局地改变曲线e(p)的形状。

区域调节参数可以是用户可调的,例如,经由例如以上关于一个或多个输入装置201所描述的用户界面。在各种实施例中,当区域调节参数是用户可调的时,lmax可以是固定的。例如,lmax可以固定在1000尼特(nit)。

尽管上面定义的参数可以允许用户控制扩展指数图的不同部分,并因此微调结果的外观,它们的局限在于被认为高亮和阴影的值的范围是固定的,取决于e(p)的最小点的位置。

相反,在各种其他实施例中,不同亮度区域之间的亮度区域边界可以是可调的。为了允许控制哪个范围的输入亮度被认为是阴影、中间色调或高亮,例如可以使用两个附加参数。例如,可以使用阴影截止参数ks和高亮截止参数kh。在各种实施例中,区域截止参数可以是用户可调的。截止参数可以被包括在从一个或多个输入装置201获得的区域参数205中。

可以确定两个亮度边界值ybase_s和ybase_h:

ybase_s=ybase_min-ks(ybase_min-ybase_mid)(14)

ybase_h=ybase_min-kh(ybase_min-ybase_mid)(15)

其中,例如,ybase_min=0并且ybase_mid=255。

图7示出了具有基于阴影截止参数的第一亮度区域边界701和基于高亮截止参数的第二亮度区域边界703的区域扩展指数图700的示例。亮度区域边界将亮度划分为阴影区域705、中间色调区域707和高亮区域709。图8示出了根据各种实施例的对曲线e(p)改变高亮截止参数kh以获得e′(p)的效果的示例。

ybase_s和ybase_h的值可以用来相应地确定每个区域的二次方程的附加参数。例如,可以确定中间色调区域的二次e(p)曲线的新基准c″参数:

c’′=c-emin+pmemin(16)

这样,在这个中间色调区域,我们得到:e(p)=a(ybase)2+bybase+c″。

例如通过以-emin+pmemin的偏移对以这种方式定义该二次曲线的参数c进行移位,可以基本上结合中间色调参数pm的效果。接下来,可以确定具有亮度值ybase_h的高亮截止点和具有亮度值ybase_s的阴影截止点的扩展指数值:

es=a(ybase_s)2+bybase_s+c’′(17)

eh=a(ybase_h)2+bybase_h+c’′(18)

使用这些扩展指数值es、eh,当分别针对e(p)曲线的阴影部分和e(p)曲线的高亮部分计算参数cs和ch时,可以知道e(p)曲线的每个区域的偏移量,因此确保全局二次e(p)曲线中不存在不连续性:

cs=ps(c’′-es)+es(19)

ch=ph(c’′-eh)+eh(20)

然后可以确定区域扩展指数图e′(p):

在该实施例中,然后根据取决于该像素的亮度值所属的亮度区域的扩展指数二次函数来再次计算每个像素的扩展指数值。在这里,我们有三个不同的扩展指数二次函数,第一个用于由参数as、bs和cs定义的阴影区域,第二个用于由参数ah、bh和ch定义的高亮区域,第三个用于由参数a、b和c″定义的中间色调区域。

图9示出了根据各种实施例的对曲线e(p)改变高亮调节参数ph以获得e′(p)的效果的示例。

图10示出了根据各种实施例的对曲线e(p)改变高亮截止参数以获得e′(p)的效果的示例。在此示例中,高亮参数ph=2.5,高亮截止参数是变化的。当kh=1.0时,曲线保持连续性和平滑性。然而,不同的截止点值可以在扩展曲线中产生拐角(例如,保持连续性但不保持平滑),如对于kh=0.5所示。需要注意的是,虽然调节截止参数可能会使曲线不平滑,但由于指数扩展函数,这不会在图像中产生不连续性。

在构建扩展指数图的优选的其他各种实施例中,将使用基于样条的插值方法以从由用户应用用户参数确定的控制点来获得曲线e(p)。这些控制点对应于e(p)曲线的特定点。这些其他实施例的优点是不仅保持了e(p)曲线的连续性,而且保持了其平滑性。

在这个变型中,用户参数被应用在这些控制点上,而不是直接应用在e(p)曲线上。通过使用这样的样条插值,由于样条将产生平滑的e(p)曲线,所以即使当用户使用用户参数的极端组合时,也可以有利地使图像中的不连续性最小化。

优选地,亮度被分成三个区域,即低区域(例如阴影区域)、中间区域(例如中间色调区域)和高区域(例如,高亮区域)。

优选地,这些控制点包括e(p)曲线的以下点:在低区域的低亮度边界处的低扩展指数控制点c1;在低区域和中间区域之间的边界处的低中扩展指数控制点c2;位于中间区域的e(p)曲线的最小扩展指数控制点c3;在中间区域和高区域之间的边界处的中高扩展指数控制点c4;以及在高区域的高亮度边界处的高扩展指数控制点c5。低扩展指数控制点c1优选地对应于最小亮度值(ybase=0)。低中扩展指数控制点c2对应于上面的阴影截止点。最小扩展指数控制点c3优选位于中间区域的中间。中高扩展指数控制点c4对应于上面的高亮截止点。高扩展指数控制点c5优选地对应于最大亮度值(当8位用于亮度值时ybase=255)。

对于控制点而言,优选考虑下列用户参数和变量:

-最大显示亮度lmax;

-在低区域和中间区域之间的边界处的亮度kl;

-在中间区域和高区域之间的边界处的亮度kh;

-用于增加或减少高、中、低区域的亮度扩展的用户参数,分别表示为p'h、p'm和p's;

如果五个控制点由c1(i1,e1)至c5(i5,e5)表示,其中in表示e(p)曲线的输入亮度值,即ybase,并且en表示用于扩展指数控制点cn扩展的相应的扩展映射值,则在表1中得到:

表1

其中wl和wh是取决于位于区域之间的边界处的控制点(即c2和c4)的位置的权重,以允许正确放置中间控制点。这些权重的计算方式例如是wl=0.5*(kl+1),并且wh=0.5*(kh+1.0),其中a'、b'和c'分别定义为上述之前的变型的等式3至5中的a、b和c,并且是如上面等式2中定义扩展指数二次函数的系数。

例如,控制点的初始位置可以遵循上面参照这些等式2至5描述的变型中定义的二次曲线。然后,在该变型中,通过根据分别针对高区域、中间区域和低区域的用户参数p'h、p'm和p's使这些初始控制点向上或向下移位,可以容易地使这些初始控制点移位。在这个变型中,可以很容易地避免以上变型所需的许多计算。事实上,在这个变型中,我们简单地使用根据上面的等式2定义二次曲线的一组参数a、b和c。这给出了每个控制点c2到c5的”默认”位置。然后,在计算每个控制点的表格1的en值(n=1至5)时,根据用户参数p'h、p'm和p's来使这些控制点的位置移位。例如,对于c5,我们只考虑高亮参数p'h,而对于c4,我们考虑中间色调参数pm和高亮参数ph,因为c4处于中间色调和高亮区域之间的连接处。

在前面的各个实施例中,我们必须计算由不同组的a、b、c值定义的不同的二次曲线来控制曲线的每个部分。而在这里,我们可以只是基于由一组a′、b′、c′值定义的一个二次曲线来计算每个控制点的开始或”默认″位置,然后通过增加一位来使其上下移位。例如,对于控制点c2,开始默认位置给出以下二次曲线:e2=a′*(i2)2+b*i2+c′,然后利用基于用户参数p′、p′m的移位+(1-w1)p′s+w1p′m进行移位。这意味着,在定位不同的控制点c1到c的过程结束时,我们仍然有三条不同的二次曲线(与另一个相比是移位的曲线),但是只有一组a′、b′、c′值,与上面的各个实施例相反。

然后,如下所述,将样条插值应用于不同的经移位的二次曲线的组合,以便获得全局扩展指数曲线e(p)。

还要注意的是,在该实施例中的二次曲线仅针对控制点进行评估。其余的扩展指数值是通过在控制点对之间插值的样条插值来计算的。

一旦计算了上述的五个控制点c1(i1,e1)至c5(i5,e5),则通过使用根据以下要求优选应用的基于样条的插值从上面不同的二次曲线对整个扩展指数图进行插值:

a.e(p)曲线应该通过所有的控制点

b.曲线不应过冲(overshoot)数据

c.曲线应尽可能平滑

由于这些要求,优选使用已知的三次hermite插值多项式来计算样条。插值是例如:

h00(t)=2t3-3t2+1(s1a)

h10(t)=t3-2t2+t(s1b)

h01(t)=-2t3+3t2(s1c)

h11(t)=t3-t2(s1d)

为了构造样条,在每个控制点计算e(p)曲线的梯度,优选使用如下的有限差分:

对于两个极限控制点c1和c5,

在给定梯度和插值函数的情况下,可以在每种情况下使用两个最接近的控制点按如下方式针对给定值y∈ybase对样条进行评估:

e(y)=h00(t)en+h10(t)(in+1-in)m1+h01(t)en+1+h11(t)(in+1-in)mn+1(s3)

其中in<y≤in+1并且要注意的是,对于第一扩展指数控制点c1,考虑间距i1≦y≦i2。

应用这样的样条插值方法,得到全局e(p)曲线和扩展指数图。因为样条计算是插值操作,所以曲线的形状可以基于用户参数而有利地变化并且更灵活地被适配。通过改变上面的用户参数,特别是p′h、p′m和p′s,可以为用户提供对扩展的更好的控制,特别是为了更好地传达指导者的意图。有利的是,可以独立地调节三个亮度区域中的每一个中的亮度扩展量。以这种方式,例如,可以调节图像的动态范围的扩展,以考虑图像的不同亮度区域如何响应扩展。在各种实施例中,可以基于对图像的分析来自动选择亮度区域边界。在其他各种实施例中,亮度区域边界可以是用户选择的。

图12示出了通过使用ph的不同值可以通过使用此样条插值方法从五个扩展指数控制点c1至c5的定位获得的不同的全局e(p)曲线的示例。

亮度扩展步骤(本身):

再次参考图2,可以将区域扩展指数图e′(p)235或e(p)提供给逆色调映射器215,其中原始低动态范围图像203的每个像素p的亮度y(p)可以基于e′(p)235或e(p)被逆色调映射成扩展亮度yexp(p)237。在各种实施例中,yexp(p)237可以是提高到e′(p)或e(p)的值的像素的亮度y(p):

yexp(p)=y(p)e′(p)(22)

可选去噪

由于在本实施例中通过指数函数进行亮度扩展,所以可以放大y中的噪声和其他伪像。虽然通过使用ybase计算e在一定程度上解决这个问题,但在某些情况下(特别是在存在胶片颗粒的情况下),放大效果足够强到影响视觉质量。为了避免这种情况,可以在亮度扩展步骤中引入降噪步骤。应该指出,这个过程应该是可选的且可控的,因为它取决于内容和艺术偏好。

下面介绍去噪的示例。

a.去噪的第一步是基于块的分析。对于图像ybase的低通版本中的每个像素i,我们考虑尺寸为b×b的块bi。在这个块内,我们可以按如下方式计算边缘的表示,将b作为用户参数:

b.从上一步获得对噪声的测量后,我们可以用它来指导扩展。对于每个像素(i)不是将上面的展开式(22)直接应用于y(i),我们将展开式(22)应用于y(i)和ybase(i)的加权组合如下:

其中,权值并且阈值τ=10。

有利的是,通过使用例如上面计算的控制点,可以将这种特定的去噪处理应用于不同的亮度区域。具体而言,代替使用全局阈值t,可以分别为低区域、中区域和高区域定义单独的阈值τs、τm和τh。参见上述erreur!sourcedurenvoiintrouvable,值在i1和i2之间的像素将遵循具有τs的方程(s4),值在i2和i4之间的像素将使用τm,最后i4以上的值将使用τh。

提升和对比度的可选应用

为了向用户提供对通过对亮度值y(i)应用指数值e'(i)或e(i)而获得的亮度扩展的更多控制以进行扩展(见上面的等式22–i代替p来表示像素),可以有利地将对比度值s(i)和/或提升值λ(i)应用于由等式(22)获得的扩展亮度值,使得:

yexp(i)=s(i)y(i)e(i)+λ(i)lmax(s5)

其中s(i)对应于像素(i)的对比度调节,λ(i)对应于像素(i)的提升调节。该方案遵循颜色分级应用中常用的lift-gamma-gain模型。

在实践中,优选的是在高区域、中间区域和低区域不同地应用这些对比度值s(i)和/或提升值λ(i)。为此,分别为高区域、中间区域、低区域定义对比度参数sh、sm和ss,同样分别为高区域、中间区域、低区域定义了提升参数λh、λm和λs。这种对比度和提升值可以由用户有利地设定。

类似于根据上述第二变型的扩展指数计算,分别基于具有与用于确定上述e(p)曲线的扩展指数控制点c1至c5相同的亮度值的至少五个对比度和提升控制点,来有利地确定对比度曲线s(i)和提升曲线λ(i)。

如在上述扩展指数计算的第二变型中一样,也有利地使用基于样条的插值,因为关键是映射是连续且平滑的。定义了五个对比度控制点cs1(i1,os1)至cs5(i5,os5)以应用对比度调节,并且五个提升控制点cλ5(i1,oλ1)至cλ5(i5,oλ5)被定义以应用提升调节,其中in表示在任一情况下的第n个控制点的输入坐标,osn、oλn分别表示对比度和提升控制点的输出坐标。通过使用这些控制点,对于yexp(i)中的每个像素,然后使用类似于上述的基于样条的插值计算对比度值s(i)和提升值λ(i)。

虽然这些对比度和提升调节被应用在已扩展的值yexp上,但是样条插值将原始亮度值y作为输入,以避免控制点的反转而导致随后产生的样条曲线上冲、下冲和剪裁。基于原始输入亮度y计算对比度和提升调节的原因是,对于两个亮度值y(k)>y(l),不能保证yexp(k)>yexp(l)。同时,用户根据输入内容定义如何定义亮度区域,因此,即使在应用对比度和提升调节时,也优选尊重这一点。

基于此,分别在表2和表3中给出对比度和提升的控制点。在这两种情况下,为了简单起见,保持与上面已经使用的扩展控制点c1到c5的坐标相同的输入坐标(见表1)。然后根据用户为每个亮度区域提供的对比度和提升值,如表2(对比度)和3(提升)所示计算输出坐标。

表2

表3

为了使用与上述相同的样条插值方法基于其五个对比度控制点cs1(i1,os1)至cs5(i5,os5)构造全局对比度曲线s(i)并且基于5个提升控制点cλ1(i1,oλ1)至cλ5(i5,oλ5)来构造全局提升曲线λ(i),按照以上等式(s2)计算每个控制点处的梯度,但是使用上面的表2和表3中定义的控制点,分别获得针对对比度和提升的第n个控制点的正切msn和mλn。

由于使用相同的样条形式,所以可以重新使用等式(s1a-d)中定义的插值,然后允许使用上述等式(s3)计算给定输入亮度像素y(i)的对比度曲线s(i)和提升曲线λ(i)。

这些曲线可以直接用于方程(s5)以获得每个像素的最终扩展亮度值:

yexp(i)=s(i)y(i)e(i)+λ(i)lmax

同样,对比度和提升曲线的形状可以基于用户参数有利地进行改变和适配。通过在不同的亮度区域中独立地改变用户参数,特别是对比度值sh、sm和ss,以及提升值λh、λm和λs,用户可以更好地控制亮度扩展,特别是为了更好地传达指导者的意图。

图13示出了对于对比度参数sh的不同值从五个对比度控制点cs1到cs5的定位计算出的不同全局对比度曲线。类似地,图14示出了对于对比度参数sh的不同值从五个提升控制点cλ1到cλ5的定位计算出的不同全局对比度曲线。

锐度提高步骤

在上面的亮度扩展过程之后,可以通过使用图像ydetail的高通版本来选择性地增强局部细节。

为了执行这种局部细节增强,可以将yexp(p)237提供给细节增强器215的亮度增强器223,其中可以按照下面更详细描述的方式应用各种增强。

细节增强器215的高频提取器221可以获得基本亮度ybase(p)231和亮度y(p)225,并基于ybase(p)和y(p)确定亮度细节图ydetail(p)233。

例如,在各种实施例中,可以通过首先确定:

y′base(p)=∑i∈ω”y(pi)f″s(||pi-p||)f″r(||y(pi)-y(p)||)(23)

来确定ydetail(p)。

其中f”s和f”r是与上述(f's,f'r)相同的高斯函数,但是在亮度范围中具有较大的标准偏差以便去除图像中更多的亮度细节,

其中ω”是以像素p为中心的图像的窗口的大小,其可以具有与上述相同的大小,并且其中pi是该窗口中的像素。

因此,可以通过以类似于确定ybase(p)的方式对y(p)进行滤波来确定y'base(p),但是使用去除更多的亮度细节的参数。例如,在各种实施例中,可以设置空间高斯函数f”s的标准偏差,使得σ”s=σ's,并且可以设置亮度范围高斯函数f”r的标准偏差,以便去除图像中更多的亮度细节,即,使得σ”r>σ'r。例如σ”r可以被设置为等于0.3×max(y)。

高频提取器221可以将ydetail(p)确定为ybase(p)和y'base(p)的比值:

ydetail(p)=ybase(p)/y′base(p)(24)

由于σ”r>σ'r,该比值对应于图像中亮度值的高空间频率的提取。在不脱离本公开的情况下,可以使用提取图像中的亮度值的高空间频率的其他方式。

亮度增强器223可以通过应用亮度细节图ydetail(p)233来增强yexp(p)237。例如,对于每个像素(p),可以基于扩展亮度和亮度细节图的乘积来确定增强扩展亮度y'exp(p)239:

y′exp(p)=y(p)e′(p)×[ydetail(p)]d(25)

其中d(在图2中图示为207)是细节增强参数。细节增强参数d可以控制由亮度细节图ydetail(p)应用的细节增强的量。例如,增加d的值会增加图像边缘的对比度。在各种实施例中,可以使用d=1.5的值。

色度通道的缩放(包括可选的饱和度调节):

当如上所述将原始低动态范围图像的亮度y(p)扩展为扩展亮度值y'exp(p)时,扩展图像中的颜色和饱和度的外观可能受到影响。在重新组合图像的不同颜色分量并返回到rgb之前,需要根据在y中应用的扩展来对两个色度通道cb和cr进行缩放,以确保保留图像中的饱和度。

就这一点而言,可以通过饱和度增强器217来调节图像的颜色信息。例如,可以使用饱和度增强器217来相对于图像的颜色保存艺术意图。在各种实施例中,可以使用扩展指数值作为指导来增强颜色的饱和度。更具体地,可以基于像素的区域扩展指数图e'(p)来增强每个像素的颜色的饱和度。

例如,可以通过调节像素的色度值c(p)来增强像素p的颜色的饱和度。可以按照如下公式在yuv空间的圆柱形版本中确定色度值:

可以将调节后的色度值c'(p)确定为像素p的区域扩展指数图e'(p)与像素的色度值c(p)的乘积:

c′(p)=e′(p)xc(p)(27)

在各种实施例中,将c(p)变换成c′(p)的色度缩放可以被限制为1.5倍以避免过度饱和高亮,例如以避免光爆和亮光。

利用c′(p)的这些新值,色度的增强值u′(p)和v′(p)241可以通过从圆柱色空间(例如lch)转换到yuv空间来计算:

u′(p)=cos[h(p)]×c′(p)(28)

v′(p)=sin[(h(p)]×c′(p)(29)

其中h(p)是按照如下方式从原始u(p)和v(p)计算的原始色调:

h(p)=arctan[v(p),u(p)](30)

可选地,也可以引入用户参数psat来额外控制全局图像饱和度。然后,输出色度通道计算如下:

cbexp=cbrchrompsat

crexp=crrchrompsat

其中rchrom是按像素计算的比例因子如果psat=1,则在该缩放过程之后(在所使用的颜色空间的限制内以及itmo正在对伽玛化内容进行操作的事实内),在图像中饱和度应该保持相同。

可选地,也可以通过分别针对低区域、中区域和高区域设置psat参数psats、psatm和psath来调节不同亮度区域中的饱和度。为了确定如何调节每个像素,通过考虑针对阴影的间隔[i1,i2]、针对中间色调的间隔[i2,i4]以及针对高亮的间隔[i4,i5]来定义三个区域。有效地,以上定义的用于计算扩展指数图的截止点c2、c4可以有利地在此被重新使用,以分别针对每个亮度区域调节饱和度。

如果如上所述在亮度区域之间使用硬阈值来调节饱和度,则在平滑变化的亮度区域中可能出现不连续性。为了避免这个问题,最好在每个过渡点周围引入平滑过渡区域,其中饱和参数平滑地变化。为此,例如为每个亮度区域定义容差间隔vs、vm和vh,作为控制点之间距离的百分比:

vs=|0.2(i2-i1)|

vm=|0.2(i4-i2)|

vh=|0.2(i5-i4)|

这种平滑过渡的另一种选择是重复上面用于计算对比度或提升曲线的过程。

使用以上所述的,可以按照以下方式针对色度通道cb计算像素i的色度值:

对另一个色度通道cr应用相同的计算。

重组图像并返回到rgb

然后,表示扩展的图像的颜色的y、cb和cr通道被重新组合,并且如果需要,则使用已知的颜色空间转换将其转换为显示颜色空间。后处理器242可以将色度u'(p)和v'(p)241的增强值与增强的扩展亮度y'exp(p)239进行组合以获得并提供扩展的高动态范围图像243。

扩展的高动态范围图像243可以显示在高动态范围显示设备219上。当然,本领域技术人员将会理解,扩展的高动态范围图像243可能需要在显示之前转换到显示设备的颜色空间,例如rgb。

图11示出了根据各种实施例的设备的另一个示例。图11是用于实现上述用于基于亮度区域扩展动态范围的各种技术的装置1100的框图。装置1100可以被实施为例如通用计算平台。

装置1100可以包括用于执行计算机可执行程序的处理器1110,该计算机可执行程序执行上述各种技术。程序可以被存储在存储器1120中,存储器也可以存储图像数据。总线1130可以将处理器1110和存储器1120彼此连接并连接到装置1100的其他部件。在一些实施例中,装置1100可以包括具有多个处理核心的多个处理器或处理器,其可以并行执行程序的各个部分。

大容量存储设备1140可以经由磁盘控制器1150连接到总线1130。大容量存储设备1140可以包含图像或视频数据以及操作系统、其他程序、其他数据等。磁盘控制器1150可以根据串行高级技术进步(sata)、小型计算机系统接口(scsi)或其他标准来操作,并且可以提供到多个大容量存储设备的连接。

视频显示器1160可以经由视频控制器1170连接到总线1130。视频控制器1170可以提供其自己的存储器和图形处理能力,以用于实现或加速扩展动态范围的过程的某些方面,以及用于提供图像和ui显示的功能。

输入设备1180可以经由输入/输出(i/o)控制器1190连接到总线1130。i/o控制器1190可以利用usb、ieee1394a或其他标准中的一个或多个。可以连接多个输入设备,如键盘、鼠标和触控板。图像和视频捕获设备也可以通过i/o控制器1190或实现其他i/o标准的附加i/o控制器连接到系统。网络功能可以由i/o控制器1190或单独的i/o控制器提供。

本领域技术人员将认识到,本公开的方法的各个方面可以在多个系统上并行执行以提供更快的处理。例如,在处理视频文件的情况下,可以在几十或几百个计算系统之间划分帧以提供并行处理。在一些操作环境中的某些系统中可以省略诸如视频显示器1160的特定组件。此外,多个系统可以利用通过i/o总线或通过网络访问的共享存储器。

还应该理解的是,尽管在此已经详细图示并描述了各种实施例的各种示例,但是本领域的技术人员可以容易地设计仍处于本公开的范围内的其他各种实施例。

本文叙述的所有示例和条件语言旨在用于指导目的,以帮助读者理解本发明的原理以及发明人为了促进本领域而贡献的概念,并且应当被理解为不限于这样的具体记载的示例和条件。

此外,在此引用本公开的原理、方面和实施例的所有陈述以及其具体示例旨在涵盖其结构和功能等同物。另外,这样的等同物意在包括当前已知的等价物以及将来开发的等同物,即,执行相同功能的开发的任何元件,而不论结构如何。

因此,例如,本领域技术人员将认识到,这里给出的框图表示体现本公开的原理的说明性电路、电子组件、光学组件等的概念视图。类似地,可以理解的是,任何流程图、流程示意图、状态转换图、伪代码等都表示可以基本上在计算机可读介质中表示并由计算机或处理器执行的各种过程,不管这样的计算机或处理器是否被明确地示出。

图中所示的各种元件的功能可以通过使用专用硬件以及能够与适当的软件相关联地执行软件的硬件来提供。这样的软件可以采取例如独立软件、插件与其他软件集成的形式等。应用程序可以被上传到包括任何合适的架构的图像处理设备并且由其执行。当由处理器提供时,功能可以由单个专用处理器、单个共享处理器或其中一些可以共享的多个单独的处理器来提供。此外,术语“处理器”或“控制器”的明确使用不应该被解释为专指能够执行软件的硬件,并且可以隐含地包括但不限于数字信号处理器(“dsp”)硬件、用于存储软件的只读存储器(“rom”)、随机存取存储器(“ram”)和非易失性存储器。

其他传统的和/或定制的硬件也可以包括在内。类似地,图中所示的任何开关仅仅是概念上的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互或者甚至手动执行,特定的技术可以由实施者选择,如从上下文更具体地理解的。

在其权利要求书中,作为用于执行指定功能的手段而表达的任何元件旨在包含执行该功能的任何方式,例如,执行该功能的电路元件的组合,因此包括固件、微代码等的任何形式的软件,与用于执行该软件以执行该功能的适当电路相结合等等。由这样的权利要求限定的公开内容在于由各种所述装置提供的功能以权利要求所要求的方式组合并集合在一起。因此认为可以提供这些功能的任何手段都等同于本文所示的手段。

虽然本公开是针对特定示例和优选实施例进行描述的,但应理解,本公开不限于这些示例和实施例。因此,如所属领域的技术人员将了解的,所要求保护的本发明包含来自本文中所描述的特定示例和优选实施例的变化。尽管可以分开描述并要求保护一些具体实施例,但是应当理解,可以组合使用在此描述并要求保护的实施例的各种特征。在权利要求书中出现的参考数字仅仅是为了说明,并且应当对权利要求的范围没有限制作用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1