色域转换系统和方法

文档序号:7608566阅读:3244来源:国知局
专利名称:色域转换系统和方法
背景技术
在权利共有的美国专利申请中(1)2001年7月25日提交的美国专利申请序号09/916,232(“‘232申请”),其标题为“ARRANGEMENT OF COLORPIXELS FOR FULL COLOR IMAGING DEVICES WITH SIMPLIFIEDADDRESSING”;(2)2002年10月22日提交的美国专利申请序号10/278,353(“‘353申请”),其标题为“IMPROVEMENTS TO COLOR FLAT PANELDISPLAY SUB-PIXEL ARRANGEMENTS AND LAYOUTS FOR SUB-PIXELRENDERING WITH INCREASED MODULATION TRANSFER FUNCTIONRESPONSE”;(3)2002年10月22日提交的美国专利申请序号10/278,352(“‘352申请”),其标题为“IMPROVEMENTS TO COLOR FLAT PANELDISPLAY SUB-PIXEL ARRANGEMENTS AND LAYOUTS FOR SUB-PIXELRENDERING WITH SPLIT BLUE SUB-PIXELS”;(4)2002年9月13日提交的美国专利申请序号10/243,094(“‘094申请”),其标题为“IMPROVED FOURCOLOR ARRANGEMENTS AND EMITTERS FOR SUB-PIXELRENDERING”;(5)2002年10月22日提交的美国专利申请序号10/278,328(“‘328申请”),其标题为“IMPROVEMENTS TO COLOR FLAT PANELDISPLAY SUB-PIXEL ARRANGEMENTS AND LAYOUTS WITH REDUCEDBLUE LUMINANCE WELL VISIBILITY”;(6)2002年10月22日提交的美国专利申请序号10/278,393(“‘393申请”),其标题为“COLOR DISPLAYHAVING HORIZONTAL SUB-PIXEL ARRANGEMENTS AND LAYOUTS”;(7)2003年1月16日提交的美国专利申请序号01/347,001(“‘001申请”),其标题为“IMPROVED SUB-PIXEL ARRANGEMENTS FOR STRIPEDDISPLAYS AND METHODS AND SYSTEMS FOR SUB-PIXEL RENDERINGSAME”,公开了用于改进图像显示装置的成本/性能曲线的新型子像素排列,在此作为参考引述。
对于在水平方向上具有偶数个子像素的特定子像素重复组,公开了用以实现正确的点反转模式的下列系统和技术,在此作为参考引述(1)美国专利申请序号10/456,839,其标题为“IMAGE DEGRADATION CORRECTIONIN NOVEL LIQUID CRYSTAL DISPLAYS”;(2)美国专利申请序号10/455,925,其标题为“DISPLAY PANEL HAVING CROSSOVERCONNECTIONS EFFECTING DOT INVERSION”;(3)美国专利申请序号10/455,931,其标题为“SYSTEMA ND METHOD OF PERFORMING DOTINVERSION WITH STANDARD DRIVERS AND BACKPLANE ON NOVELDISPLAY PANEL LAYOUTS”;(4)美国专利申请序号10/455,927,其标题为“SYSTEM AND METHOD FOR COMPENSATING FOR VISUAL EFFECTSUPON PANELS HAVING FIXED PATTERN NOISE WITH REDUCEDQUANTIZATION EEROR”;(5)美国专利申请序号10/456,806,其标题为“DOTINVERSION ON NOVEL DISPLAY PANEL LAYOUTS WITH EXTRADRIVERS”;(6)美国专利申请序号10/456,838,其标题为“LIQUID CRYSTALDISPLAY BACKPLANE LAYOUTS AND ADDRESSING FORNON-STANDARD SUBPIXEL ARRANGEMENTS”。
当结合在这些申请和下列权利共有的美国专利申请中进一步公开的子像素着色(SPR)系统和方法,这些改进特别显著(1)2002年1月16日提交的美国专利申请序号10/051,612(“‘612申请”),其标题为“CONVERSION OFRGB PIXEL FORMAT DATA TO PENTILE MATRIX SUB-PIXEDL DATAFORMAT”;(2)2002年5月17日提交的美国专利申请序号10/150,355(“‘355申请”),其标题为“METHODS AND SYSTEMS FOR SUB-PIXELRENDERING WITH GAMMAADJUSTMENT”;(3)2002年8月8日提交的美国专利申请序号10/215,843(“‘843申请”),其标题为“METHODS ANDSYSTEMS FOR SUB-PIXEL RENDERING WITH ADAPTIVE FILTERING”;(4)2003年3月4日提交的美国专利申请序号10/379,767,其标题为“SYSTEMS AND METHODS FOR TEMPORAL SUB-PIXEL RENDERINGOF IMAGE DATA”;(5)2003年3月4日提交的美国专利申请序号10/379,765,其标题为“SYSTEMS AND METHODS FOR MOTION ADAPTIVEFILTERING”;(6)2003年3月4日提交的美国专利申请序号10/379,766,其标题为“SUB-PIXEL RENDERING SYSTEM AND METHOD FORIMPROVED DISPLAY VIEWING ANGLES”;(7)2003年4月7日提交的美国专利申请序号10/409,413,其标题为“IMAGE DATA SET WITHEMBEDDED PRESUBPIXEL RENDERED IMAGE”,因此其在此作为参考引述。


在本说明书中包含并且构成此说明书一部分的附图阐明了本发明的典型实施和实施例,并且结合说明用于解释本发明的原理。
图1示出色域转换/扩展系统和/或方法的一个可能的实施例。
图2A,2B和2C描绘用于三种不同色彩空间的三个不同的色度图。
图3示出对于图2A,2B和2C中的三种色域多边形所生成的三个最大饱和度表。
图4A,4B和4C描绘各种图像设备的色域,以及它们的色域压缩和/或扩展的可能的效果。
图5为基本上重叠的两个色域,以及色域钳位和/或缩放的可能的效果的图解。
图6为具有显著的不重叠的区域的两个色域,以及色域钳位和/或缩放可能的效果的另一个图解。
图7为通过计算缩放因子把一个色域转换成另一个色域的技术的一个可能的实施例。
图8为执行从一个色彩空间到另一个色彩空间的色域转换的系统的一个可能的实施例。
图9显示了根据本发明的原理构造的色相角计算器的一个实施例。
图10A和10B显示了使用色相角来计算色度三角形号码的两个实施例。
图11显示了使用色相角计算器进行色域扩展和多基色转换。
图12A是显示了从RGBW基色得到的三个三角形区域的色度图。
图12B是根据本发明的原理使用色相角计算器来进行色域扩展以及多基色转换的另一个实施例。
具体实施例方式
现在将对在附图中所示例说明的那些具体实施方案和实施例作详细的参考。在可能的地方,将在所有附图中采用相同的参考号码来称谓相同或类似的部件。
现在绝大多数监视器和电视,设计用来显示三值色彩数据,例如RGB和/或sRGB,或三值色度/亮度信号,例如YIQ或YCbCr信号。术语sRGB用来描述假定存储了绝大多数个人计算机图像的非线性系统。这有时也称为R’G’B’或非线性RGB。为了制造较亮的显示器以及具有较大色彩色域的显示器,制造商们正开始考虑多基色显示器。这些显示器将具有多于三个基色。可是没有方便的多基色图像数据源,并且存在大量的三值色彩数据需要对新的多基色显示器进行转换。在把图像转换成多基色或其它扩展色域系统的过程中,将期望利用这些系统的较大的色域。
揭示了可以将现有的三值色彩数据的色域转换(扩展或收缩)成为可利用这种新类型显示器的色域。这种方法和系统对于具有任意数目基色的显示器都可以适用。
色域转换的假定之一,是电视摄像机、数码照相机以及其它输入设备不破坏现实世界的扩展色域,而是把它的很多部分压缩成为它们能够表示的有限色域,如图4A所表示的。为了便于计算,色域转换算法的另一个假定是该压缩朝着CIE(Commission Internationale de l’Eclairage,国际照明委员会)色度图内的白色点发生。例如,如图4A所示,在现实世界所感受到的色彩在由图像捕获设备所表示的色域(例如三角形404)外的区域402中可找到。将一个这样的现实世界的色彩408压缩变成与白色点406近似共线的色彩点410。这指示出在这些图像源中某些丢失的色域,可通过把该色域再次伸展返回出去而重新构造出来。
为了观察不同设备的色域是如何进行交互作用,图4B示出迭加在打印机色域422上的监视器的色域420。在色彩的某些范围或色相角处,必须更多地压缩监视器的色域,以便适合打印机的色域。例如,将色彩点426压缩为色彩点428,以适合打印机色域422(再次地,它向白色点424压缩)。与此同时,在其他色相角处,监视器色域的饱和度可再扩展返回出去以利用打印机色域。例如,色彩点425可扩展到色彩点427。
图4C描述在假定的6基色多基色显示器色域442内部的监视器色域440。在所有的色相角处,扩展该监视器色域来利用该多基色色域。例如,可扩展色彩点444来和位于该多基色色域442的外部边界上的色彩点446相遇。这种扩展可以与白色点450共线地发生。
在文献中已发表从一个色域转换到另一色域的许多算法。使用得最多的,是转换sRGB显示器数以在CMY(CMY=Cyan-Magenta-Yellow)彩色打印机上输出,如图4B中所示。这些算法的共同特点是它们保持色相角。通常,要转换的色彩,首先以单独的色度/亮度格式来表示。色度分量可与增加或减少饱和度的值相乘。如果色度的两个分量都乘以相同的值,则色调和亮度维持不变,而仅仅改变饱和度。如果相乘的值小于1,饱和度将减小。如果该值等于1,饱和度将维持不变。如果该值大于1,饱和度将增加。通常,因为CIE Lab或Luv色彩空间已设计成知觉上均匀的色彩空间,这些色域扩展的算法是在CIE Lab或Luv色彩空间中实施。这意味着通常需要转换到CIE Lab和转换回来,而这些步骤在计算上代价很大。
为了减少计算成本,现将描述一个实施例。由于sRGB已经是知觉上均匀的,因此不需要向计算上代价很大的CIE Lab转换。替代地,可能期望把sRGB直接转换成YCbCr,或其它的计算上代价更小的、到分开的色度/亮度的转换。这与向CIE Lab转换相比,在硬件上实现容易的多。如果该三值色彩输入碰巧已经是YCbCr,这也是一种知觉上均匀的系统,无需对它们进行转换即可使用。与之相同的情况,对于极大多数电视色彩空间,一旦这些空间已数字化,例如数字化为YPbPr、YUV和YIQ,同样的情况也是正确的。如果源色彩是线性RGB,首先可利用伽玛转换表把它们首先转换成sRGB。一旦得到的色彩是在知觉上均匀、单独的色度/亮度空间内,则可计算出色相角。现在将描述在所述相关申请中的一个这种计算上代价低的计算色相角的方法。
色相角计算器在上面列出的相关申请中,需要计算给定图像数据集的色相角。现在将描述新型的色相角计算器和方法。在个人计算机中最常假定的色彩空间在本文献中将作为sRGB来提及,有时称为R’G’B’或非线性RGB。很多色彩空间具有以沿着一个轴延伸的灰色直线分开的色度和亮度。这对于sRGB不正确,但是其可以转换到一个那样的。然而,对于其它输入格式,能够接受已经是色度/亮度格式的数据,例如YCbCr,Yuv,YIQ,CIE Lab,和Luv。在这些色彩空间,色度信息编码为描述2维色彩向量的两个带正负号的数值。每个系统对于这两个分量具有其自己的名字;但是为了下面的实施例的目的,它们在这里作为“x”和“y”来提及。
现在将描述色相角计算的一个可能的实施例,计算到该向量的色相角中的一个步骤是记录两个分量的正负号并取它们的绝对值。这将计算缩减到4个象限中的一个。在一个象限中计算相角,接着正负标记比特决定实际的象限以及在最终处要增加的常数相角。例如,在第一象限中,两个数值都是正的,单一的相角计算是正确的。在第二象限,在从绝对值计算出相角之后必须增加90度,在第三象限必须增加180度,而在第四象限必须增加270度。
然而,色相角计算器的另一个实施例可能是提供新型的色彩空间来进行色相角,色域扩展和多基色转换。以这种方式,可能能够选择使得硬件更容易实现的新数值表示。例如,代替使用二进制补码,我们可以以带有独立的符号比特的正7比特数值存储数值。这可以避免取绝对值。当把两个数值相乘或相除,可以立即乘以后7比特,而不涉及符号的影响,符号将一起进行异或(XOR)运算来获得结果的正确符号。仅在加法的情况下需要测试符号比特,并且如果符号不同的话对数值中的一个求负(补码并递增1),或者在结果引起借位的情况下在之后求负。
在还有另一个实施例中,45度周围存在可以利用的另一个对称性。在第一个45度内(即,在第一八分圆),数值之一(x分量)总是大于另一个(y分量)。从而,能够测试两个分量并且需要的话交换它们,来使x分量总是较大。当完成了这个,以分开存储符号比特的方式记录y>x的事实。一旦完成这个,可以如同所有的相角都在第一八分圆之内,0到45度之间那样进行所有的计算,并且对称性将给你带来情况中所有剩余的部分。如果交换x和y分量并计算相角,之后必须从90度中减去相角来得到对于象限正确的结果。
根据三角法的考虑,用于计算相角的公式是arctan(y/x)。可以以任意数量的方式进行该除法y/x。一个这样的方法将是使用倒数表来求得x值的倒数并接着乘以y值。倒数表可能必须很大来变得精确并要求如同12比特那么大的乘法器。替换的方式是执行除法。下面提到的优化可以允许除法器模块产生如同5比特宽那么小的结果。在任何情况下,结果总是第一八分圆内部的小于或者等于1的数值。因此,结果将总是二进制小数点位于最高位之前的二进制定点数。应该注意到由于交换x和y分量直到x大于等于y,除以零不是通常的问题,x可以是零的唯一的情况是y也是零。在那种情况下,除法器电路可以返回零结果作为可能合理的缺省值。当x=y的情况下发生有趣的情况,在该情况中结果将不会适合到定点二进制数值,除非在二进制小数点之上有一个额外的比特。为了处理这种情况,除法器电路可以具有为此添加的一个额外比特。替代地,可以允许电路对于该特定情况返回稍微较小的数值。其它技术是可能的,仅这样就可以满足,即如果系统遇到该问题,那么将提供一些方法来处理它。
反正切函数(arc-tangent)可以作为小表格来实现。实际上,该函数相当接近直线,并且一些从业者(在其它申请中有arctan函数的使用)发现可以略去该表格。然而,如果这样做引起的误差大于可接受的限制,可能期望在系统中保留反正切函数表格。如同下面所描述的,该表格可以非常小,因此代价很小。
当采用色度的x和y分量的绝对值并在需要的时候交换它们,存储了比特来允许在后面校正这些简化。下面是这些比特以及用来为所有的八分圆校正的、必须采取的动作的表格。

应该注意到对于每个不同的八分圆,y<0,x<0,和y>x的比特组合是唯一的,但是当将它们以八分圆次序象这样列出时,通过连接这三个比特生成的二进制数不是八分圆号码。当然可能将表格构造成该比特地址次序——或者成为任何期望的比特地址次序,只要它可以唯一地解码到任何给定的八分圆。由于有时候动作要求减去相角,还可能包括指示相角在增加到相角偏移量之前必须取负的比特。下面的表格是上述观测的一个实施例,并可以构造成查找表格(“动作查找表”)或者某些其它计算方式。

该表格中的第一列,YX>是y的符号,x的符号和y>x的测试的结果的二进制连接。这是表格的地址,现在处于二进制计数的次序。第二列,“取负”是表示在反正切函数表格中查找到相角之后,必须将其取负的比特。反正切函数表格显示出如此小,以致于我们可以在表格中存储正值和二进制补码负值,并使用该比特来选择正确的那个。该表格中的第三列是在最后增加来进行最后的校正来把相角返回倒0到360度的相角偏移量。
从色度的x和y分量计算相角将对色相角零的色彩得到随机的选择。例如,在YCbCr的例子中,这将导致0为比纯蓝色稍微偏洋红的色彩。在一个例子中,能够调节色相角从而色相角零落在基色中的一个上面。例如,在HSV中,红色具有零的色相角。通过增加引起基色绕回到接近零(以360度为模)的常数,能够选择基色之一为零。一个实施例不必要包括在最后的额外的操作——替代地,可以预先调节动作表格的“增加”列的所有入口来生成带有要求的零点的数值。
在上面的讨论中,假定以围绕圆周的360度来测量相角。然而,可能期望选择相角的单位来使得得到的结果在硬件具体实施中更容易处理。例如,如果围绕圆周存在256个“度”,那么色相角很好地符合8比特。此外,在一个八分圆中只有32个这种“度”,从而除法器电路具有仅5比特,并且反正切函数表格仅具有每个5比特的32个入口。从而计算相角“以256为模”是8比特加法器中的较简单实施。对于大于2π弧度的相角,系统仅需要允许加法器溢出,而留下的是正确的结果。
图9显示了根据本发明的原理构造的色相角计算器900的一个实施例。色度的x和y分量在模块902中取绝对值并且可以储存符号。进行y>x的测试并且如果真的话在模块904中交换两个值。使用除法结果作为到反正切函数查找表(Atan查找表)908的索引。使用符号比特和y>x比特作为到指示是否要对相角取负以及应该增加多少的“动作”查找表912。基于该表相角在模块910中选择性地取负。将来自动作表格的相角偏移量增加到八分圆相角上来得到最后的色相角。
一旦算出色相角,经常将它用于确定色彩属于色度图的哪个三角形。图10A和10B显示了使用色相角来计算色度三角形号码的两个实施例1000和1020。参考图10A,例如在多基色显示器的情况下,多个基色预先转换为色相角并存储在基色查找表1002中。在多个比较器1004中将这些与计算的色相角1010进行测试。解多工器(DE-MUX)模块1006将比较结果转换为色度三角形号码1008。如同在相关申请中所描述的,带有三个基色R,G和B的色度图可以分为三个三角形或者区域RGW,GBW和BRW,如图12A所示。从这些色相角,色度三角形号码区别色彩属于这些三角形中的哪个,而不需要执行将数值转换到CIE x,y色度的计算上代价很高的任务。
参考图10B,显示了色相角1010到色度三角形号码的另一个实施例1020。预先计算对于每个可能的色相角的三角形号码并存储在查找表1022中。使用色相角作为到该查找表的索引,在一个步骤中获得色度三角形号码1024。当围绕圆周的色相角“度数”限制到2的幂的时候,这将特别有效地实现。这可能比图10A的实施例更快地、但是可能需要更多的门来实现。
图11显示了在完整的“色域流水线”1110中使用的色相角转换器1106,该“色域流水线”1110转换数字电视YCbCr信号1102以在多基色显示器1104上输出。YCbCr的Cb和Cr信号已经是色度向量并直接馈入到色相角计算器1106。使用得到的色相角作为到色域扩展查找表1108的索引,如同在相关申请中所描述的那样,以产生扩展缩放因子。将这个乘以Cb和Cr分量来通过改变色彩的饱和度而不改变色相角或者亮度来扩展色域。应该注意到色域扩展发生在未校正的YCbCr色彩上,它们具有已经施加到它们上面的包含的非线性变换。这对于其它电视信号(YPbPr,YIQ,YUV等)以及sRGB都是正确的。在这些信号中包含的非线性变换意味着它们是知觉上均匀的,使得它们是进行色域转换的理想的色彩空间。其它从业者首先转换到CIE Lab或者Luv来达到知觉上的均匀性,我们发现当使用例如YCbCr的非线性色彩空间,这一计算上代价很大的步骤是不必要的。一旦完成了色域扩展,使用输入伽玛查找表1110来将YCbCr值转换到作为进行色彩空间转换以及子像素着色的正确的领域的线性色彩空间。
在图11中,还使用色相角来计算模块1112中的色度三角形,如上所述。使用色度三角形号码作为到多基色矩阵查找表1114的索引。结果是3xn(其中n是显示器的基色的数量)系数,在模块1116中乘以线性YCbCr值来将它们转换到多基色显示器。多基色分量可能发送到SPR(子像素着色)模块1118,到输出伽玛模块1120,并最终到多基色显示器1104。
图12B是色域流水线1200的另一个实施例。在该系统中,输入RGB值42并在1204处转换为色度/亮度值。从那里,色相角计算器1206提供色相角到决定图像点所处的色度三角形的相角/三角形单元1208。这用于选择1210处的多基色转换矩阵。将该矩阵提供给两个3xn乘法器1212a和1212b。乘法器1212a将输入RGB色彩转换到显示器单元1224的多基色色彩空间。RGB输入值也供给最大值单元1214,其查找三个色彩分量的最大值,并将该最大值提供给倒数查找表1216,其产生缩放因子来将RGB值规一化到具有相同色相角的最大值。将该缩放因子乘到RGB输入值上来产生与初始RGB值具有相同色相角的最大允许色彩。乘法器1212b采用该最大色调色彩并将它转换到目标多基色色彩空间。将数据馈入到找出多个分量的最大值的最大值单元1218,以及将该最大值转换为要与乘法器1212a输出的特定多基色值相乘的缩放因子的倒数查找表1220。该系统的结果是扩展或者缩减到多基色显示器1224的色域的目标多基色空间中的色彩点。然而,在显示器上着色之前,该数据可以可选地由SPR单元1222着色,如同上面引入的参考中任何一个所描述的。
在以上实施例中,所涉及的功能模块,可利用硬件和/或软件的任何组合,包括例如一个或多个存储器设备或电路的部件或模块来具体实现。例如,可以配置可编程的门阵列或类似的电路来具体实现这种功能模块。在其它实例中,运行在储存器中的程序的微处理器也可实现这种功能模块。
色域扩展一旦计算出色相角(通过任何适当的方法),使用它作为进入色域扩展值表的索引。在一个实施例中,扩展表的输出可以由介于0和2之间的数表示,可能非常接近1。这些数可以用在二进制小数点之前带有一比特的定点二进制数来表示。这允许带有之后的适当的移位的整数乘法器,作为代价小的系统来实现色域扩展。该扩展数可与色度的两个分量都相乘——从而改变饱和度而不影响色调或亮度。
对于设计系统(例如,监视器),这种系统可以有几个输入路径——例如sRGB、YCbCr、S-HVS(SUPER HOME VIDEO SYSTEM,超级家用影视系统),等等。对于这些路径的每一个,不同的硬件和/或软件可为几个路径的每一个服务——特别是,对于假定的图像数据输入不需要可选处理的话。例如,YCbCr不必须需要色度/亮度分离器,因为该空间已经是那种形式。还可能设计系统来读取该图像数据内的报头,来辨别输入的是哪种图像数据格式,并且可绕开可选子系统和路径。其它可能的实施例和具体实施方案对于设计一个完整的系统也是可能的,该系统对于这种不同的输入使用不同的输入和处理需求。
图1描述提供色域扩展和/或转换的本发明的一个实施例。系统100输入源图像数据102(例如RGB)。如果需要,源图像数据将在伽玛单元103转换成知觉上均匀的色彩空间。数据接着发送到色度/亮度转换器104。来自转换器104的色度分量输入到色相角计算器106内,而且随后把该色相角输入到色域扩展模块108内(该模块可作为在表格内查找来实现;或作为计算模块自身来实现)。这个模块的输出是色域扩展数,可用于借助乘法器来缩放两个色度分量。接着输出这些扩展的色度分量,供其它部件110进一步使用。将可察觉本发明的其它实施例也是可能的。如前所指出的,色域扩展可以以许多可能的方式来实现,包括但并不仅局限于查找表、计算子系统之类。另外,其它数据路径也是可能的。图1显示色域扩展108的输出,可应用到从104输出的色度值上;而替代地,色域扩展单元108可把色度扩展值直接提供给其它部件110。
如上所指出的,如果扩展数小于1,则它减少色彩的饱和度。如果该数等于1,它使得饱和度基本上保持不变。如果该数大于1,它增加色彩的饱和度和色域。当然,也有可能实现替代的实施例,在这些替代实施例中,其它数值缩放比例表示对图像数据作同样的处理。
构造色域转换表现将描述色域转换表以及如何来构造该色域转换表的一个实施例。建立色域转换表的一个可能的途径,是在输入和输出色彩空间的色域的边缘移动。这通常在色域的边缘为直线的CIE色度空间内实现。图2A,2B和2C对于三个不同的色彩空间显示了三个不同的色度图。这些将作为生成色域转换表的实例。
图2A描绘用于sRGB的色域的色度图。图2B示出用于CMY输出设备,例如打印机的色度图。图2C示出用于假定的6基色多基色显示器的色域的色度图,于此情况,该色域为图2A和2B的两个色域的组合。应当指出图2C的多基色色域所覆盖的面积,事实上可能多于图2A和2B的两个三角形色域简单交集的面积。此外,这里所揭示的方法和系统同样可应用到任何通用的多基色显示器。
建立色域转换表的一个实施例,是通过预先离线地在色域的边缘移动来开始。接着将得到的数据用来生成烧录到硬件具体实施中的色域转换表。在每个色域的边缘移动的目的,是生成最大饱和度值的中间表。当然,可以存在饱和度的中间值——除了最大值之外——它们对于系统是有价值的。可量化这个表,来对色相的每一度包含一个值。为了这个实例的方便起见,将假定这些色相围绕该色彩色域占据360个整数度数。当然,在相关并结合的专利申请书中所揭示的另一个实施例中,可对角度的单位加以改变来产生围绕色域的多个“度”,数量为2的某次幂,例如256。这种度数的改变,将使得色域扩展的实现在硬件中更为方便。
在这些色域的移动可用几种方式来做到。一种方式将是对于每一个色相角,在知觉上均匀的亮度/色度空间内、但是以任意选择的饱和度和色度生成一个色彩。这些色彩可转换到CIE色度、校正到位于色域多边形的边缘上,而且接着转换回色度/亮度来得到最大的饱和度值。另一种在色域移动并生成最大饱和度值的方式,将是沿着CIE色度空间中的色域多边形的边缘,线性地分步前进,把一组点集转换到亮度/色度并计算每个点的色相角。如果这些线性分步足够的小,则对于每一个色相角,可生成几个亮度/色度对。对于每个角的所有这些对的平均饱和度,可被用作该角的最大饱和度。当然,其它得到的饱和度值——除了平均之外——可从亮度/色度数对的多重性来进行计算,并在色域转换表中使用。另外,存在构造最大饱和度表的表格的其它方式——以上两个算法只不过是许多可能的实施例中的两个。
图3示出对于图2中三个色域多边形所生成的三个最大饱和度表。图3的横轴为色相角,在这个实例中,从0变化到359。纵轴为在CIE Lab空间内离开白色点的距离。在一个实施例中,该系统可使用离开白色点距离的实际值。然而,在另一个实施例中,不需要直接使用这些真实数值。如下面所讨论的,替代地,可使用不同曲线之比。图3中的虚线302为图2A的sRGB色域的最大饱和度曲线,短划线304为图2B的CMY色域的最大饱和度曲线,而实线306为图2C的多基色色域的最大饱和度曲线。它们各自的曲线形状,是由于这些实例所用的的CIE Lab色彩空间非线性的知觉上的均匀性的结果。
在这些最大饱和度曲线中的值之比,可用来生成最后的色域转换表。例如CMY和sRGB的值之比,可生成色域转换表,该表将把sRGB的值转换到更好地适合CMY打印机的色域。应当指出在图3中的某些色相角处,sRGB曲线落在CMY曲线的下方。这将导致大于1的色域转换值,这将增加带有那些色相角的色彩的饱和度。还应当指出在图3的某些色相角处,sRGB曲线位于CMY曲线的上方。这将导致小于1的色域转换值,这将减少带有那些色相角的色彩的饱和度。这是图4B中所示的情况。
为了选择不同的实例,图3中多基色到sRGB最大饱和度曲线之比,将生成色域转换表,该表将把sRGB的值转换到将更好地适合6基色显示器的色域。应当指出在图3中的所有色相角处,sRGB曲线皆落在多基色曲线上或落在多基色曲线的下方。这将导致全部大于或者等于1的色域转换值,这在所有色相角处将总是增加色彩的饱和度。这为图4C所示的情况。
通过缩放亮度和/或饱和度的色域转换如在标题为“METHOD AND APPARATUS FOR CONVERSION FROMSOURCE COLOR SPACE TO RGBW COLOR SPACE”的相关的专利申请书中所讨论的,其中描述了用于检测色域外色彩,并把它们移动到输出色域空间的表面上的“好点”处的方法和系统——此处“好点”可以定义为具有与色域外色彩基本相同色调的色彩。图5示出RGBW色域适合在RGB色域内部的情况的简化的两维图。其中特别要描述两种技术色域钳位和色域缩放。色域钳位将把介于点A和B之间的任何色彩移动到RGBW色域的表面上的点B。由于介于黑和点B之间的所有色彩都不是在色域外,它们将留在它们原来所在的地方。例如,色域钳位对点C处的色彩将无任何影响。
然而,缩放介于黑和点A之间的所有色彩可能是有利的。这引起缩放黑-A直线上所有的色彩,从而A点处的色彩移动到图1中的点B。将把介于点A和B之间的色彩将移动到色域的内部。也移动介于黑和点B之间的色彩,例如,点C处的色彩移动到点D。
在某些系统中,输出色域是简单的几何形状的情况,而且能检测一个色域在另一个色域内部的域并计算缩放因子。然而,在大多数多基色色域中,色域形状对于检测域来说过于复杂,并且域不具有简单的几何形状。图6示出一个稍许比较复杂的色域对。这是贯穿两个色域的切片的图像,也许都在某个第三色彩空间中绘出,例如CIE XYZ。在CIE XYZ的三维空间内,色域中的一个,可以具有变形的立方体形状,而另一个为带有延伸到新基色的较多的边和脊线的更为复杂的形状。图6示出为什么有时输入色域会延伸到输出色域之外,以及为什么有时反之亦然。这种复杂的相互穿透的情况,在简单的CIE色度图上没有示出,该CIE色度图主要示出色域的总外形,而没有示出在不同亮度的细节。
如果仅使用色域钳位,则将把介于点A1和B1之间的任何色彩移动到点B1,并且介于B1和黑之间的色彩将留下不予触动。应当指出介于点A2和黑之间的所有色彩将留下不予触动,这是由于它们已经在色域内。
然而,如果代替以使用色域缩放,点A1处的色彩将移动到B1,并且在介于A1和B1之间直线上的所有色彩将移到色域的内部。也将缩放介于B1和黑之间的所有色彩,例如C1处的色彩将移动到点D1。另外,将扩展介于黑和点A2之间的直线上的色彩,把A2处的色彩移出其原来的色域而到点B2。点C2,用来作为在该直线上所有其它色彩的实例,将同样稍许移出到点D2。这两直线说明在某些域内,按比例缩小色彩,以适合到输出色域内;而在其它区域内按比例放大色彩,以扩展到输出色域内。
这些缩放因子对于每个亮度和饱和度的唯一组合是不同的,所以在一个实施例中,可以预先计算出它们并储存在查找表内。可是,这个表可能相当大,对于大多数系统不切实际。因此,另一个实施例将对于为显示器系统加以转换的每个色彩动态地计算缩放因子。
再次参阅图5,用于把点C处的色彩转换到点D处的色彩的一个可能的缩放因子,可以是直线黑-B和直线黑-A的长度之比。给定随意的、分量位于0到1之间的RGB色彩C,能够计算出输出色彩空间中的两个点A和B。点A将在色域外,而点B将正好在输出色域的表面上。使用距离公式来找出这两根直线的长度,然后计算出它们之比。
为了找出点A,可能对输入色彩空间内的点C进行“规一化”。这可以通过把色彩C的所有分量除以其最大分量来完成。应当指出在典型的系统中,色彩分量为介于0和255之间的整数。在那些情况,除运算的结果简单地乘以256或左移8个比特。为了方便解释,本讨论中使用从0到1的色彩分量取值范围。还应当指出可通过求最大值的倒数,并把色彩C的所有分量乘以该倒数值来实施除运算。数值的倒数可储存在查找表(LUT)中,并可迅速地取得。当已经规一化点C之后,将它转换到输出色彩空间来得到点A处的色彩。给定从输入到输出色彩空间转换的函数CONV,返回数值的倒数的函数INV,和返回色彩最大分量的函数MAX,则计算点A的公式为A=CONV(C*INV(MAX(C))CONV作为函数,可以通过计算色相角、利用该色相角确定色度三角形号码、和利用它选择多基色转换矩阵来执行矩阵乘运算,求得目标色彩空间内的色彩来实现。为了找到点B,能够把点C转换到输出色彩空间,并接着把它规一化。在下列公式中,首先将点C转换为临时点C2,然后再用来计算点B。
C2=CONV(C)B=C2*INV(MAX(C2))因此对于色彩C的色域缩放比可以是从黑到点A的直线和从黑到点B的直线长度之比。由于黑是零点,所以两个点A和B可作为向量来处理,而且它们的幅值相当于直线的长度。这造成比值为R=|B|/|A|最后,把经过转换的色彩C2(根据上面的公式)乘以该缩放比来计算图5内的色域缩放色彩DD=C2*R应当指出计算色彩A和B幅值的过程在计算上可能是代价高的。图7示出计算这些值的另一个实施例。垂直的直线从点A平行于色彩最大分量向下延伸到点P。根据相似三角形,从黑到B的距离和从黑到A的距离之比,等同于从点P到B’的距离和从P到A的距离之比。沿斜线从黑到点A和B的距离,必须利用距离公式来计算,该距离公式涉及到乘运算和平方根运算,但沿直线从P到A和B’的距离简单地为色彩的最大分量。这容许我们把缩放比的方程简化为R=MAX(B)/MAX(A)然而,选择点B落在输出色域的表面上,因此它应当至少有一个分量具有最大值1。从而数值1可用来替代MAX(B),根本不需要实际地计算点B,在得到的硬件中引起显著的节省。现在R值变成MAX(A)的倒数,并可在另一倒数查找表中查到R=INV(MAX(A))
图8示出本系统的硬件实施方案800的一个实施例。输入RGB值802可分成三条并行的路径。底部路径首先在模块804中把RGB转换为单独的色度/亮度。用该色度来计算色相角806。亮度值在此处未加使用,但可以储存起来以用于其它实施例中的其它步骤。在查找表808和相角查找表808中使用色相角,来确定该色彩落在哪个色度三角形内。这用于选择转换矩阵(在表810内),供3xn矩阵乘法器812a和812b使用,来转换其它两条并行路径上的色彩。
图8上的上部并行路径寻找源RGB色彩的最大分量(在模块814中),并通过在倒数查找表816中对其进行查找来对其取倒数。将该倒数值乘以源RGB色彩的所有分量以对它进行规一化。然后将该色彩转换到输出色彩空间(在矩阵乘法器812a内),找到最大分量(在模块818内),并对这个最大分量取倒数(在倒数查找表820中),来生成色域的缩放比。
图8上中间的并行路径,把源RGB色彩转换到输出色彩空间(在矩阵乘法器812b内),然后用来自上部路径色域缩放比乘以每个得到的分量(在乘法器822内)。尽管在图8中示出四个输出基色,但应当意识到可以有任意数量。接着发送这些色彩点来显示(824)。
在色域转换的第一个实施例中,如图1所示,假定扩展对于所有的亮度基本上为恒定可能是合理的。否则,结果将形成某些色域外的色彩,而且可能需要进行色域钳位或缩放,或进行其它类似的操作。在色域转换的第二个实施例中,如图8所示,可以把那两个步骤合并为一个步骤。在这个实施例中,可能动态地执行色域比的计算——这可以用来作为色域转换算法,该算法基本上也将用输入色域的所有色彩来填入输出色域。在从RGB到RGBW的情况,RGBW色域完全落在RGB色域的内部。如果对于每一个输入的像素值计算出到两色域的边缘的比值,则比值(RGBW/RGB)将总是小于1,并将把色彩按比例缩小到RGBW色域内,如图5所示。在从RGB到RGBC(C为青色或其它的色彩)的情况,对于某些色彩,RGBC色域是在RGB色域的内部,而对于其它色彩,则在外部,如图6所示。当RGBC在RGB的外部时,该比值将大于1,并扩展色域来适合。当RGBC在RGB的内部时,比值将小于1,并收缩色域来适合。
在以上实施例中,所涉及的功能模块,可利用硬件和/或软件的任何组合,包括例如一个或多个存储器设备或电路的部件或模块来具体实现。例如,可以配置可编程的门阵列或类似的电路来具体实现这种功能模块。在其它实例中,运行在储存器中的程序的微处理器也可实现这种功能模块。
尽管已经参考范例实施例描述了本发明,本领域的技术人员将可以理解在不偏离本发明的范围可以进行各种修改并且可以用等价物替换其中的元件。此外,在不偏离其中的基本范围下,可以进行很多修改来适用特定的条件或者材料到教导中。因此,意图是本发明不局限于作为意图实施本发明的最佳模式揭示的最佳实施例,但是本发明将包括落入附加的权利要求的范围内的所有实施例。
权利要求
1.一种色域转换系统,包括用来接收源图像数据的输入通道装置;用来把所述源图像数据转换成知觉上均匀的空间数据的伽玛单元;用来把所述知觉上均匀的空间数据转换成包含色度和亮度分量的格式的色度/亮度单元;用来从色度/亮度单元至少接收色度分量,并根据所接收的分量为所述源图像数据计算色相角的色相角计算器;用来利用色域转换表导出色域转换值,以应用到所述源图像数据的分量上的色域转换单元。
2.根据权利要求1所述的色域转换系统,其中如果所述源图像数据已经是包含色度和亮度分量的格式,色度/亮度单元可绕开所述源图像数据。
3.根据权利要求1所述的色域转换系统,其中所述色相角计算器以从0到2的某次幂的度数计算色相角。
4.根据权利要求1所述的色域转换系统,其中所述色域转换表包括具有离线计算的色域转换值的查找表。
5.根据权利要求1所述的色域转换系统,其中通过在所述系统要施加转换的多个色域的边缘上移动来确定色域转换值。
6.根据权利要求5所述的色域转换系统,其中所述系统要施加转换的所述多个色域包括一组中的多个,所述的组包括输入色域,监视器色域和多基色色域。
7.根据权利要求5所述的色域转换系统,其中通过围绕色域的边缘移动以生成饱和度值而计算出所述色域转换值。
8.根据权利要求7所述的色域转换系统,其中所述色域转换值对于每一色相角,在知觉上均匀的色度/亮度空间内生成一色彩。
9.根据权利要求8所述的色域转换系统,其中所述色域转换单元对于每一色相角任意地选择饱和度和色度值,把色彩转换为CIE色度,校正得到的色彩以实质上落在色域多边形的边缘上,并把该色彩转换为色度/亮度。
10.根据权利要求7所述的色域转换系统,其中所述色域转换值沿着色域的边缘生成,并且对于沿着所述边缘的一组色彩点,生成色度/亮度和色相角数据。
11.根据权利要求10所述的色域转换系统,其中对于每一色相角,生成多个色度/亮度数据。
12.根据权利要求10所述的色域转换系统,其中计算饱和度值之比以把一个色域空间转换到另一个色域空间。
13.一种色域转换单元,包括用来生成色域转换值的装置,所述值通过在所述单元要施加转换的多个色域的边缘上移动来计算。
14.根据权利要求13所述的色域转换单元,其中所述多个色域包括一组中的多个,所述的组包括标准色域,监视器色域和多基色色域。
15.根据权利要求13所述的色域转换单元,其中通过围绕色域的边缘移动以生成饱和度值而计算出所述值。
16.根据权利要求13所述的色域转换单元,其中所述值对于每一色相角,在知觉上均匀的色度/亮度空间内生成一色彩。
17.根据权利要求16所述的色域转换单元,其中所述用于生成色域转换值的装置对于每一色相角选择饱和度和色度值,把色彩转换到CIE色度,校正得到的色彩以实质上落在色域多边形的边缘上,并把该色彩转换回到色度/亮度。
18.根据权利要求16所述的色域转换单元,其中沿着色域的边缘生成所述值,而且对于沿着所述边缘的一组点,生成色度/亮度和色相角数据。
19.根据权利要求18所述的色域转换单元,其中对于每一色相角生成多个色度/亮度数据。
20.根据权利要求18所述的色域转换单元,其中计算饱和度值之比以把一个色域空间转换到另一个色域空间。
21.用于从一源输入图像数据集到另一图像数据集转换色域的一种方法,方法包括接收源图像数据;如果源图像数据不在知觉上均匀的空间内,则把源图像数据转换成知觉上均匀的空间数据;如果图像数据不具有分开的色度/亮度值,则对于所述数据生成所述色度/亮度值;基于色度/亮度值,对于所述源图像数据计算色相角;根据所计算的色相角,计算对于适当的色域要应用到所述源图像数据上的色域扩展值;以及把所计算的色域扩展值应用到所述源图像数据的色度分量上。
22.在图像处理系统中,用于从第一色彩空间转换到第二色彩空间的方法,该方法包括对于在所述第一色彩空间内的任何给定的第一色彩点,所述第一色彩点具有第一色相角,计算在第一色彩空间的边缘上的、具有实质上相同的第一色相角的第一边缘点;把所述第一边缘点转换到所述第二色彩空间内;计算缩放因子;把所述第一色彩点转换成在所述第二色彩空间内的第二色彩点;将所述第二色彩点乘以所述缩放因子。
23.根据权利要求22所述的方法,其中计算在第一色彩空间的边缘上的第一边缘点的步骤还包括选择第一色彩点的最大分量;计算所述最大分量的倒数;将所述倒数乘以所述第一色彩点的分量。
24.根据权利要求22所述的方法,其中把所述第一边缘点转换到所述第二色彩空间内的步骤还包括如果所述第一色彩空间不是处于色度/亮度格式的话,可选地把所述第一边缘点转换为单独的色度分量;从所述色度分量计算色相角;从所述色相角计算色度三角形;利用所述色度三角形选择色彩空间转换矩阵;将所述第一边缘点乘以所述转换矩阵。
25.根据权利要求22所述的方法,其中把所述第一色彩点转换成所述第二色彩空间内的第二色彩点的步骤还包括如果所述第一色彩空间不是处于色度/亮度格式的话,可选地把所述第一色彩点转换为单独的色度分量;从所述的色度分量计算色相角;从所述色相角计算色度三角形;利用所述色度三角形,选择色彩空间转换矩阵;将所述第一色彩点乘以所述转换矩阵。
26.根据权利要求22所述的方法,其中对第一边缘点进行转换和对所述第一色彩点进行转换的步骤还包括对于所述第一边缘点和所述第一色彩点这两者使用相同的转换矩阵。
27.根据权利要求22所述的方法,其中计算缩放因子的步骤还包括计算所述转换的第一边缘点的最大分量;计算所述最大分量的倒数。
28.一种图像处理系统,包括用于计算在第一色彩空间的边缘上的第一边缘点的装置;用于把所述第一边缘点转换到第二色彩空间内的装置;用于计算缩放因子的装置;用于把第一色彩点转换到所述第二色彩空间内的第二色彩点的装置;以及用于将所述第二色彩点乘以所述缩放因子的装置。
29.根据权利要求28所述的图像处理系统,还包括用于选择第一色彩点的最大分量的装置;用于计算所述最大分量的倒数的装置;用于把所述倒数乘以所述第一色彩点的分量的装置。
30.根据权利要求28所述的图像处理系统,还包括用于从第一色彩点的色度分量计算色相角的装置;用于从所述色相角计算色度三角形的装置;用于利用所述色度三角形,选择色彩空间转换矩阵的装置;用于把所述第一边缘点乘以所述转换矩阵的装置。
31.根据权利要求28所述的图像处理系统,其中所述缩放因子把第一色彩点收缩到第二色彩空间内。
32.根据权利要求28所述的图像处理系统,其中所述缩放因子把第一色彩点扩展到第二色彩空间内。
33.一种色相角计算器,包括至少一个输入通道来接收图像数据的色度分量;八分圆确定单元来确定给定的图像数据占据的八分圆;相角确定单元来确定给定图像数据在八分圆内的色相角;以及相角偏置单元来根据图像数据所确定的占据的八分圆来为图像数据调节色相角。
34.根据权利要求33所述的色相角计算器,其中所述八分圆确定单元包括绝对值单元来确定色度分量的绝对值;交换单元来根据条件交换色度分量;八分圆存储器来根据所述绝对值单元和所述交换单元的结果存储图像数据的八分圆。
35.根据权利要求33所述的色相角计算器,其中所述相角确定单元包括除法器来对色度分量进行除法运算;以及反正切确定单元来确定图像数据在八分圆内的相角。
36.根据权利要求33所述的色相角计算器,其中所述的相角偏置单元包括八分圆偏置单元来根据图像数据所确定的占据的八分圆,用偏移量来调节所述相角确定单元输出的色相角。
37.在图像处理单元中,一种计算色相角的方法,所述方法的步骤包括以带有符号比特的正二进制数来存储色相角;当将色相角相乘,作为两个正二进制数来将所述色相角相乘并对它们各自的符号比特进行异或运算;以及当将所述色相角相加,测试所述色相角的负号比特,并在相加时对任何负色相角取负。
38.在图像处理单元中,一种计算图像数据的色相角的方法,所述方法包括以下步骤计算输入图像数据所位于的八分圆;在图像数据所占据的八分圆内计算相角;以及将基于图像数据所位于的八分圆的偏移量增加到图像数据所占据的八分圆内的相角上。
39.根据权利要求38所述的方法,其中计算并存储所述图像处理单元的基色的色相角,用于着色图像数据。
40.一种图像处理单元,包括色度三角形存储器来对于多个色相角存储三角形号码;以及选择器来基于输入图像数据点的色相角选择三角形号码。
41.根据权利要求40所述的图像处理单元,其中基于是2的幂的围绕圆周的度数计算色相角。
42.根据权利要求41所述的图像处理单元,其围绕圆周的度数是256。
43.一种图像处理单元,包括用来着色图像数据的多个基色;其中存储了所述基色的色相角用于着色所述图像数据的色相角计算器;用来将所述基色的相角与输入图像点的色相角进行比较的多个比较器;用来选择所述输入图像数据点所位于的色度三角形的选择器。
44.一种图像处理系统,包括用于接收图像数据的色度分量的输入装置;以及耦合到输入装置、用来确定给定的图像数据占据的八分圆、确定在八分圆内给定图像数据的色相角、以及根据图像数据所确定的占据的八分圆来为图像数据调节色相角的电路。
45.根据权利要求44所述的图像处理系统,其中所述电路用来确定色度分量的绝对值,根据提条件交换色度分量,以及根据所述绝对值单元和所述交换单元的结果存储图像数据的八分圆。
46.根据权利要求44所述的图像处理单元,其中所述电路用于对色度分量进行除法运算,以及确定八分圆内的图像数据的相角。
47.根据权利要求44所述的图像处理系统,其中所述电路根据图像数据所确定的所占据的八分圆,用偏移量调节所述相角确定单元的输出的色相角。
48.用来计算色相角的图像处理单元,包括用于以带有符号比特的正二进制数来存储色相角的装置;用于作为两个正二进制数来将所述色相角相乘并对它们各自的符号比特进行异或运算的装置;以及用于测试所述色相角的负号比特,并在对所述色相角进行加法运算时对任何负色相角取负的装置。
49.根据权利要求48所述的图像处理单元,进一步包括用于计算输入图像数据所位于的八分圆的装置;用于在图像数据所占据的八分圆内计算相角的装置;以及用于基于图像数据所位于的八分圆,将偏移量增加到图像数据所占据的八分圆内的相角上的装置。
50.根据权利要求49所述的图像处理单元,其中计算并存储所述图像处理单元的基色的色相角,用于着色图像数据。
全文摘要
揭示了实现源图像数据到目标图像数据集的色域转换,以用于在可能具有不同色域的设备上进行着色的系统和方法。色域转换系统包括输入通道装置(102),伽玛单元(103),色度/亮度单元(104),色相角计算器(106),以及色域转换单元。输入通道装置(102)接收源图像数据。伽玛单元(103)把源图像数据转换成知觉上均匀的空间数据。色度/亮度单元把知觉上均匀的空间数据转换成包含色度和亮度分量的格式。色相角计算器(106)从色度/亮度单元至少接收色度分量,并根据所接收到的分量为源图像数据计算色相角。色域转换单元利用色域转换表(108)导出色域转换值来应用到源图像数据的分量上。
文档编号H04N1/60GK1867963SQ200480030324
公开日2006年11月22日 申请日期2004年10月12日 优先权日2003年10月21日
发明者迈克尔·佛兰西丝·希京斯 申请人:克雷沃耶提公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1