发明内容
具有用于色域适应的改进的颜色映射是有益的。为了更好地解决这个问题,在本发明的第一方面,提供了用于通过将定义在第一色域(102)内的输入图像的输入颜色(608)变换为输出图像的重现颜色(610)以便由能够再现在不同于第一色域的第二色域(104)内的颜色的重现设备进行再现来实现色域压缩或色域扩展的***(600),输入颜色具有输入色度(chromaticity)(Ci)和输入明度(lightness)(Li *),二者共同形成色度-明度平面中的输入点(202),重现颜色具有重现色度和重现明度,二者共同形成色度-明度平面中的重现点(210),其中输入明度和输出明度之间的绝对差是至少色度的递减函数,并且输入色度和输出色度之间的绝对差是至少色度的递增函数。
在色域扩展的情况下,改变明度以增加图像的总体对比度,并且改变色度以实现图像的总体色度的提高。在色域压缩的情况下,改变明度以减少图像的总体对比度,并且改变色度以实现图像的总体色度的降低。
对色度的依赖关系允许高色度颜色的色度提高/降低。低色度颜色的色度大体上未改变,从而避免重现颜色看起来不自然。在低色度颜色的色度改变不大的地方,通过施加对比度增强/降低,实现低色度颜色的所需的色域扩展/缩减。所述变换更好地利用了可用于重现的颜色,从而增强了色度和对比度,同时避免了看起来不自然的颜色。在使用不同重现色域中可用颜色的两种基本的可能性之间实现了折衷:对比度增强/降低和色度提高/降低。
在一个实施例中,色度-明度平面的正色度轴以及连接输入点和重现点的线之间的角度(θ)是至少输入色度的连续函数。
该角度决定了明度的增加或减小与色度的增加或减小之比。对于其中角度等于-90度或+90度的色度值而言,对比度增强/减小。对于其中角度严格大于-90度并且严格小于+90度的色度值而言,色度提高。对于其中角度严格大于+90度并且严格小于+270度的色度值而言,色度减小。角度对色度的连续依赖关系保证了以观察者感知为自然和令人满意的方式实现对比度增强和色度提高。为了方便起见,在此规定角度处于-90到+270度的范围内。本领域技术人员应当理解,可以使用包含整个360度圆的任何角度范围来规定该角度。
在一个实施例中,该角度是至少输入明度的单调递增连续函数。角度对输入明度的单调递增的依赖关系导致一致的对比度增强/降低。该依赖关系的连续性确保更加自然、令人满意的图像。对于其中明度角度严格递增地依赖于明度并且角度处于-90度和+90度之间的范围内的明度值而言,对比度增强。对于其中明度角度严格递增地依赖于明度并且角度处于+90度和+270度之间的范围内的明度值而言,对比度降低。
在一个实施例中,该角度是至少输入明度的分段线性函数。该分段线性依赖关系使得所述变换特别平滑,并且获得令人满意的图像。
在一个实施例中,第二色域包含未包括在第一色域内的颜色,并且重现色度等于或大于输入色度。这个实施例涉及色域扩展。如果重现色度等于或大于输入色度,那么所述角度将在-90度到+90度的范围内。在一个实施例中,该角度在-β到+β的范围内,其中β是至多90度的预定的正值。
在一个实施例中,所述角度随着输入明度至少分段线性地变化。已经发现该分段线性关系提供了特别令人满意的效果。它使得所述依赖关系相对平滑。
在一个实施例中,所述角度的绝对值是至少输入色度的单调递减函数。据发现,这种对色度的依赖关系本身以及和对明度的依赖关系的结合是创建令人满意的图像的另一个促进因素。所述角度的绝对值对输入色度的递减依赖关系意味着,以对比度增强为代价,输入色度值越高,色度提高越多。
在一个实施例中,所述角度是至少输入色度的至少分段线性函数。已经发现,该分段线性关系提供了特别令人满意的效果。它使得所述依赖关系相对平滑。
在一个实施例中,所述角度依赖于色度的函数和明度的函数的乘积。可以相对容易地细调两个函数的乘积,因为它将对色度的依赖关系与对明度的依赖关系分离开来。例如,所述明度的函数是在-90度到+90度的范围内的分段线性递增函数。例如,所述色度的函数是-1到1的范围内的分段线性递减函数。其他的设置是可能的,比如可以使用完全线性函数或指数函数或多项式函数。
在一个实施例中,对于输入色域内的色度值上界而言,所述角度为0。这允许对于已经具有相对较大的色度的输入颜色最大化地增加色度。在角度为0的情况下,所述变换限于色度提高,并且不增强对比度。可以例如通过确保所述角度为其乘积的函数之一为0,实现该角度为0。
在一个实施例中,存在输入色度值,对于该输入色度值,成立:对于预定明度值,所述角度为0;对于低于该预定明度值的输入明度值,所述角度为负值;并且对于高于该预定明度值的输入明度值,所述角度为正值。
这允许增强图像的总体对比度,同时如果明度等于预定明度值,则保持明度不变。例如,所述预定明度值相当于全明度的50%。
在一个实施例中,输入点和重现点之间的距离是至少输入色度的递增函数。据发现,在确定对比度增强/降低和色度提高/降低的总量时,色度起着重要的作用。对于相对较低的输入色度值而言,颜色不应当改变很多,而对于相对较高的输入色度值而言,更大的变化使得图像更令人满意。距离和输入色度值之间的指数依赖关系提供了令人满意的、平滑的增强。
在一个实施例中,所述距离随着连接输入点和重现点的线与输入色域边界的交点以及该线与重现色域边界的交点之间的另外的距离而改变。该另外的距离表示有多少空间可用于基于所述角度的对比度增强和/或色度提高。可以通过适当地调节输入颜色和重现颜色之间的距离以便利用可用重现颜色的全部或预定子集来使用这个空间。在色域压缩的情况下,该另外的距离表示所需的对比度降低和/或色度降低的量。
在一个实施例中,输入色域是在家用电视广播信号中表示的颜色的色域。所述方法适合于在现代显示器上改善(传统)电视节目的再现,所述现代显示器具有的重现色域包含输入信号中不能获得的颜色。
在一个实施例中,输入颜色具有输入色调并且重现颜色具有重现色调,所述输入色调和重现色调基本上相同。据发现,如果色调被改变,则使人不愉快。
一个实施例包括用于将预定输入颜色映射为预定重现颜色的颜色查找表,以及用于在查找表中查找对应于输入颜色的重现颜色的装置。查找表是实现所述变换的一种有效方式。
在一个实施例中,使用RGB坐标空间在查找表中表示输入颜色和/或重现颜色。RGB颜色空间经常用于表示视频和图像数据。
一个实施例包括将定义在第一色域(102)内的输入图像的输入颜色(608)变换为输出图像的重现颜色(610)以便由能够再现不同于第一色域的第二色域(104)内的颜色的重现设备进行再现,输入颜色具有输入色度(Ci)和输入明度(Li *),二者共同形成色度-明度平面中的输入点(202),重现颜色具有重现色度和重现明度,二者共同形成色度-明度平面中的重现点(210),其中输入明度和输出明度之间的绝对差是至少色度的递减函数,并且输入色度和输出色度之间的绝对差是至少色度的递增函数。
一个实施例包括含有用于使得处理器执行所述方法的指令的计算机程序产品。
一个实施例包括用于按照所述方式将输入颜色映射为重现颜色的查找表。
一个实施例包括彩色电视机,其包含:
用于接收具有第一色域(102)内的颜色的输入图像的输入端(95,96);
用于再现输出图像的显示器(93),其中该显示器能够再现不同于输入色域的第二色域(104)内的颜色;以及
用于通过将输入图像的输入颜色(608)变换为输出图像的重现颜色(610)来实现色域压缩或色域扩展的装置(91,92),输入颜色具有输入色度(Ci)和输入明度(Li *),二者共同形成色度-明度平面中的输入点(202),重现颜色具有重现色度和重现明度,二者共同形成色度-明度平面中的重现点(210),其中输入明度和输出明度之间的绝对差是至少色度的递减函数,并且输入色度和输出色度之间的绝对差是至少色度的递增函数。
在一个实施例中,显示器(93)包含LED背光源。
在一个实施例中,显示器(93)包含用于再现不止三种基色的装置。
一个实施例包括手持设备,其包含:
用于接收具有第一色域(102)内的颜色的输入图像的输入端(95,96);
用于再现输出图像的显示器(93),其中该显示器能够再现第二色域(104)内的颜色,其中第一色域包含未包括在第二色域内的颜色;以及
用于通过将输入图像的输入颜色(608)变换为输出图像的重现颜色(610)来实现色域压缩的装置(91,92),输入颜色具有输入色度(Ci)和输入明度(Li *),二者共同形成色度-明度平面中的输入点(202),重现颜色具有重现色度和重现明度,二者共同形成色度-明度平面中的重现点(210),其中输入明度和输出明度之间的绝对差是至少色度的递减函数,并且输入色度和输出色度之间的绝对差是至少色度的递增函数。
具体实施方式
当前,通过使用不止三种基色或者通过将LED设置在用于电视应用的背光源中,存在宽色域显示器的趋势。不久之后,对于移动应用可能出现类似的发展。原则上,色域扩展算法可应用于其中显示器能够重现超出视频或静止图像数据色域之外的颜色的任何情况。许多视频数据可用于例如标准的EBU色域,并且在再现这种传统视频数据时,色域扩展算法允许更好地利用现代显示器的颜色再现能力。
一个实施例提供了一种色域扩展方法,该方法用于将视频信号映射到比输入色域更宽的重现色域中。这对于新型宽色域显示器而言是一种有用的工具。该色域扩展方法在CIELab颜色空间中对信号明度和彩度进行校正,但是不改变色调。在这个实施例中,彩度和明度校正(扩展方向)之间的比值作为明度和彩度输入坐标的函数而变化。由于对于亮和暗的不饱和的颜色而言,增大了信号的对比度并且显著地保持了彩度以防止非彩色像素的不希望的彩色化,所以对比度增强和饱和度提高是平衡的。另一方面,对于饱和像素而言,所述映射提高了彩度,从而最优地利用了新型显示器的更好的颜色再现能力。
在本说明书中,利用其将颜色映射到包含输入色域不存在的颜色的重现色域中的颜色处理算法将称为色域扩展算法(与利用其将颜色映射到更窄色域的色域压缩技术(比如用于移动显示器)相反)。本领域技术人员应当理解,在此介绍的色域扩展算法可用作色域压缩算法的基础。特别地,色域扩展算法的逆可用作色域压缩算法。
根据颜色科学,众所周知,应当如何将一组基色上表示的信号变换为另一组基色,以使得潜在的颜色信息得以保持(参见例如G.Wyszecki等的“Color science:concepts and methods,quantitative data and formulae(2nd ed.)”J.Wiley & Sons,Inc.,New York,1982):
(RGB)2=inv(A2)*A1*(RGB)1,(1)
其中A1和A2是3×3矩阵,其列分别含有输入基色组和重现基色组的三刺激值(X,Y,Z),并且RGB1和RGB2分别表示输入基色组和重现基色组上的视频的驱动值。这样的三刺激值(X,Y,Z)根据CIE XYZ颜色空间定义(其中CIE表示国际照明委员会)是已知的。当输入色域全部由更宽的重现色域包围时,输出驱动值RGB2将总保持在[0,255]的有效范围中,并且不发生裁剪。然而,真彩色映射仅仅保持全部的颜色信息,但未利用新型显示器能够重现的更饱和的颜色。
一种利用更宽色域的简单直接的方法是完全不进行颜色处理(甚至不进行比色映射)并且只是使用定义在EBU基色上用于显示的相同驱动值。当输入和重现色域具有类似形状时,这种简单方法可以提供令人满意的结果,但是在其他情况下,特别是在输入和重现基色之间存在色调差(如图1所示)的情况下,它可能提供非常差的颜色再现。图1示出了具有x轴和y轴的示例性CIExy色度曲线图。该曲线图显示了输入色域102和重现色域104。这些色域是代表人类观察者能够看见的颜色的色域106的子集。
颜色处理算法的可能目标之一是修改知觉图像属性,比如明度、彩度、色调或饱和度,使得显示图像的外观令观察者满意。优选地,在知觉上有意义的颜色空间(比如CIELAB或CIELCh)中实现颜色处理分量(component),在所述颜色空间中可以直接评价和修改这些属性。在研究颜色处理分量的颜色特性之后,可以通过在诸如RGB颜色空间之类的另一颜色空间中实现它们,来最优化它们。此外,为了保证扩展方法仅仅产生可由目标重现设备显示的颜色,可以使用根据所选颜色空间的坐标的有关输入和重现色域边界的信息。如本领域中已知的,可以通过(1)对RGB数据立方体的外壳(hull)采样,(2)使用输入基色组和重现基色组的色点将这些数据点变换为CIELab或CIELCh坐标以及(3)执行适当的插值例程以计算采样位置之间的色域边界,来获得上述边界信息。到CIELAB坐标(其他颜色空间坐标)的变换以及在这些及其他颜色空间中的色域边界的计算在许多文献中都有记载,并且在本说明书中将不进行详细的讨论。
在一个实施例中,色域扩展方法包含下列四个步骤:
1.将RGB输入驱动值变换为CIELCh坐标明度、彩度和色调(L,C,H)。
2.在LCh坐标中识别相关的输入和输出色域边界。
3.考虑输入和重现色域边界,进行明度和彩度信号的自适应色调保持的扩展。
4.将扩展后的LCh信号逆变换为用于显示的RGB驱动值。
可以对多种颜色执行这四个步骤,并且其结果可以保存在查找表中,用于有效转换视频和图像数据。可替换地,这四个步骤可直接用于视频和图像数据。这个实施例保持了图像色调,因而将问题简化为明度和色度坐标中的二维映射过程。
图2示出了彩度-明度平面中的输入颜色202的曲线图。该曲线图示出了色度轴C和明度轴L*。该图示出了输入色域边界204和输出色域边界206。还示出了扩展方向208。输入和重现色域边界的知识可用于色域扩展算法中。映射分别具有明度和彩度坐标L* i和Ci的像素,首先包括计算扩展方向θ,随后计算在该特定扩展方向上与输入色域边界的交点(L* i,max,Ci,max)和与重现色域边界的交点(L* r,max,Cr,max)。这些色域边界坐标依次可用于设计适当的(归一化)传递曲线,所述传递曲线用于确定适当的扩展量。这个过程防止了将像素映射到重现色域之外。
颜色的色域扩展可以表征为扩展方向和扩展类型的组合,颜色在所述扩展方向上扩展,所述扩展类型决定沿着该扩展方向的扩展量。扩展方向可以用角度θ表示,其如图2所示指示彩度-明度平面中的扩展方向。
在一个实施例中,彩度提高主要应用于饱和的输入颜色,而不饱和颜色的彩度大都被保持。其原因之一是自然物体通常显示出低到中等的饱和度,并且提高它们的色度容易产生不自然的图像外观。另一方面,具有高饱和度的输入颜色(例如诸如汽车、塑料玩具、动画片之类的人造物体)可被增强以获得更加令人满意的图像。通过改变明度以有效地允许对比度被增强,非彩色可以受益于额外可用的色域体积。简而言之,将用于低饱和度颜色的明度方向上的对比度增强映射与用于高饱和度颜色的彩度提高相结合。
这可以通过计算作为明度和彩度坐标的函数的扩展角θ来实现。例如:
θ=F(L*)·F(C),(1)
其中F(L*)和F(C)表示扩展角的明度和色度相关调制。扩展方向角θ以度表示,并且是色度-明度平面中扩展方向和色度轴之间的角度。例如,F可定义为
在上述等式中,L*和C分别是输入明度和彩度坐标,L* mid和CTH是用户定义的常数。按照等式2,扩展角θ从-90度到+90度调制,对于L*=L* mid,扩展角等于0度(色度扩展),对于L*接近于0和100,扩展角等于90度。按照等式3,对于低于CTH的色度,该角度随着彩度的增加而线性减小,对于高于CTH的色度,将角度设置为0度。
图3示出了在L* mid=50并且CTH=50的示例性情况下,等式(1)-(3)的函数性态。应当指出的是,该图仅仅示出了扩展方向,而且矢量全部设为固定长度。实际上,扩展类型决定了矢量的长度(参见下文)。图3说明非彩色(低彩度坐标)的映射在明度方向上显著变化,实际上表示对比度增强。随着彩度的增加,像素在彩度方向上递增地映射,从而增强了它们的饱和度。在色域压缩的情况下,图3的箭头将指向它们各自相反的方向。它们将指向L*轴而不是背离它。它们将表示色度减小而不是色度增加,表示对比度降低而不是对比度增强。
图2说明,对于给定的输入颜色点202,可以找到扩展方向线208同输入色域边界204的交点。类似地,可以找到扩展方向线208同重现色域边界206的交点。在给定扩展方向上确定色域边界点的方法在本领域中是已知的,参见例如J.Morovic等的“Calculating medium and imagegamut boundaries for gamut mapping”,Col.Res.Appl.,25,pp.394-401,2000。
一旦确立了所希望的扩展方向上的色域边界点,那么可以按照通过到对应色域边界的距离而归一化的传递曲线来表示扩展类型。通过将该传递曲线设计成低彩度颜色的增强不及高彩度(饱和的)颜色,可以进一步防止提高低彩度自然颜色的饱和度提高以及灰度像素的彩色化。这可以例如通过对彩度和明度坐标使用指数增益函数来实现:
Hr=Hi
其中L* i、Ci和Hi还表示输入明度、彩度和色调坐标,L* r、Cr和Hr表示重现(输出)LCH坐标,而L* i,max、Ci,max、L* r,max和C* r,max分别对应于输入色域边界坐标和重现色域边界坐标(参见图2)。因为色调的改变经常使得观察者非常厌烦,所提出的颜色映射算法保持了像素的色调。图4示出了由等式(4)定义的扩展类型。该图说明等式(4)有效地表示线性扩展(等式(4)右侧第一项)和比色(无扩展)映射(等式(4)右侧第二项)之间的自适应混合。结果,自然的不饱和(低彩度)颜色扩展更小的距离,而饱和(高彩度)颜色扩展更长的距离。使用可替换的传递曲线(例如分段线性或多项式函数)可以实现类似的效果。
图5通过箭头说明了扩展方向和扩展类型的组合效果。该图示出了L* mid=50,CTH=50,γ=2的示例性情况。每个箭头的方向对应于扩展方向,每个箭头的长度对应于在其上按照扩展类型映射颜色的距离。该图也示出了输入色域边界402(其中Ci/Ci,max=1)和重现色域边界404(其中Ci/Cr,max=1)。在这个实例中,输入和重现色域边界在C=0处重合。由于这个原因以及扩展方向接近L*轴,因而没有用于颜色拉伸的空间,导致在该区域中出现很少的扩展或者不出现扩展。该图还示出,对于更接近输入色域边界402的坐标扩展量增加。在重现色域边界404和输入色域边界402之间沿着扩展方向的距离更大的情况下,即净空(headroom)更大,则扩展量也更大。对于C>CTH,扩展方向θ=0,其表示明度保持恒定。这留下大部分空间用于增加彩度,从而积极使用了重现设备上可用的更饱和的基色。在其中输入和重现色域边界不在C=0处重合的其他情况下,更多的对比度增强将应用到低彩度颜色。
图6示出了本发明的一个实施例。该实施例包含***600,用于将定义在第一色域内的输入颜色608变换为重现颜色610,以便由能够再现第二色域内的颜色的重现设备进行再现。第二色域包含未包括在第一色域内的颜色。在框602中提供输入颜色。该输入颜色具有输入色度和输入明度,二者共同形成色度-重现平面中的输入点。在框606中,重现颜色作为具有重现色度和重现明度的输出而被提供,所述重现色度和重现明度共同形成色度-重现平面中的重现点。这些颜色不必在物理上以明度、色度和/或色调的形式来表示,而是可以以任何可用的或实际的坐标***进行表示,所述坐标***比如RGB坐标***。例如,可以使用PAL、SECAM或NTSC输入信号。还可以使用数字视频信号。优选地,使用支持比与输入信号相关联的色域具有更多颜色的色域的输出信号坐标***。
在框604中,计算或查找对应于输入颜色的重现颜色,其中色度平面的色度轴与连接输入点和重现点的线之间的角度取决于输入明度。将该重现颜色转发到框606。可以例如通过使用查找表,同时执行输入和重现坐标***之间的转换,在所述查找表中,输入颜色和输出颜色以不同的坐标***表示。可替换地,可以在框602中将输入颜色变换到中间坐标***,比如CIELCh坐标***。在框604中,使用该中间坐标***执行色域扩展算法。然后,在框606中,将得到的重现颜色的颜色坐标变换到重现颜色坐标***。
图7示出了本发明的一个实施例。框700接收输入颜色708并将其变换为重现颜色710。在框702中,如上所述计算扩展方向。在框704中,确定沿着扩展方向与输入色域边界的交点,并且确定沿着扩展方向与重现色域边界的交点。使用这些交点以及它们之间的距离,如上所述计算扩展量。在框706中,根据输入颜色、扩展方向和扩展量,计算重现颜色。框700可用于计算颜色查找表中的值。它还可以用于例如直接变换图像或视频数据中发现的颜色值。
虽然已经针对色域扩展的实例阐释了这些实施例,但是本领域技术人员可以修改这些实施例,从而实现色域收缩而不是色域扩展。比如,当经过优化的用于在宽色域显示器上再现的视频数据在不能再现该视频数据中的全部颜色的传统CRT显示器上进行再现时,出现这种收缩。在那种情况下,可进行相反的处理操作,从而在传统显示器上显示令人满意的结果。
所述***和方法可以以显示器的硬件、固件或软件驱动程序的形式实现,所述显示器比如计算机监视器、电视机或手持设备(例如移动电话、PDA)的显示器等,但是所述***和方法也可以实现为图像增强(软件)程序包的一部分。该***还可以包括在摄像机中。
图8表示了本发明的一个实施例。该实施例可以在计算机监视器、电视机或手持设备(例如移动电话、PDA)的显示器中实现。该图示出了通信端口95,比如到因特网的连接,用于与数字内容提供商进行连接。通信端口95还可以连接到天线、***或有线电视网。还可以从例如DVD或CD之类的介质96处获得内容。该内容包含彩色图像和/或彩***数据。通过端口95或介质96接收的内容由处理器92处理。装置97是包含硬件和/或软件元件的单元,其被设置用于将接收的数字内容中的颜色从第一色域变换到对应于显示器93的性能的第二色域。这可以例如通过保存在存储器91中的查找表来实现。处理器92控制数据流,并且可以被设置成执行存储在装置97中的指令。使用显示器93将结果显示给用户。显示器93比如包含LED背光源和/或能够再现不止三种基色。可以提供用户输入端94,以便从用户处获取选择待再现内容的命令。
应当理解的是,本发明还扩展到计算机程序,特别是载体上或载体中的计算机程序,其适合于实施本发明。所述程序可以是源代码、目标代码、源代码和目标代码之间的中间代码(比如经过部分编译的形式)的形式,或者是适用于实现根据本发明的方法的任何其他形式。所述载体可以是能够携带所述程序的任何实体或设备。例如,该载体可以包括存储介质,比如CD ROM或半导体ROM之类的ROM,或者诸如软盘或硬盘之类的磁记录介质。此外,该载体可以是可传输的载体,比如电信号或光信号,其可通过电缆或光缆或者通过无线电或其他方式进行传送。当所述程序包含在这种信号中时,该载体可以由这种缆线或其他设备或装置构成。可替换地,该载体可以是其中嵌入了所述程序的集成电路,该集成电路适用于执行相关方法或供相关方法所用。
应当指出的是,上述实施例说明了而不是限制了本发明,并且本领域技术人员在不脱离所附权利要求的范围的情况下,能够设计出许多可替换的实施例。虽然已经在这些实施例中详细地讨论了色域扩展,但是应当指出的是,本领域技术人员应当清楚如何改变这些实施例来获得色域压缩。
在权利要求中,置于括号内的任何附图标记都不应当被视为对权利要求的限制。动词“包括”及其变化形式的使用不排除存在权利要求中未列出的其他元件或步骤。元件之前的冠词“一”不排除存在多个这样的元件。本发明可以通过包含若干不同元件的硬件以及通过经过适当编程的计算机来实现。在列举了若干装置的设备权利要求中,这些装置中的一些可以由同一硬件项来实现。在相互不同的从属权利要求中陈述某些技术措施这一事实并不表示这些技术措施的组合不能加以利用。