在颜色变换中平滑地改变灰度级的制作方法

文档序号:7944149阅读:298来源:国知局
专利名称:在颜色变换中平滑地改变灰度级的制作方法
技术领域
本公开内容涉及数据处理的领域,并且尤其涉及在颜色转换中平滑地改变灰度级。
背景技术
创建色彩的数字设备(例如,扫描仪和数码相机)、显示色彩
的数字设备(例如,CRT和LCD监视器)或打印色彩的数字设备(例如,喷墨和激光打印机)通常使用颜色空间来定义颜色数据。通常,颜色空间是颜色模型和色域(gamut)的组合。颜色模型使用主颜色分量在模型内定义每种颜色,诸如,在红、绿、篮(RGB)颜色模型的情况中,需要红色、绿色和蓝色光分量的级来创建每种颜色,或在青、品红、黄以及黑(CMYK)颜色模型的情况中,需要青、品红、黄以及黑墨水的级来创建每种颜色。颜色模型的每个分量的级通常在全强度的百分之O到100的范围内变动。通过改变分量的级或强度,可以创建颜色模型中的每种颜色。然而,在实际情况中,通常,设备创建纯红、纯绿或纯篮的能力有限,这限制了其色彩范围或色域。色域仅是特定设备可以显示、渲染或捕捉的颜色的范围。设备色域以及主颜色定义中的差异导致了设备间颜色空间的差异。例如,当使用RGB的两个设备每个都显示其最强的红色时,可能显示出不同的颜色。第一设备上的最强的红色可以其R分量的强度为1,而G和B分量的强度为O。然而,看起来与第一设备的最强的红色相同的颜色可以在第二设备上具有0.85的红色强度。而且,在第二设备上,G和B分量的强度甚至可以是0.5。换言之,感知上相同的"红,,色具有取决于设备的不同的RGB分量值,在第 一设备上,其可以是(l, 0, 0),而在第二设备上,相同的"红,,可以是(0.85,0.05, 0.05 )。这意味着,如果由两个设备直接显示仅包含RGB值的图像文件,则该图像文件在两个设备上看起来不同。
为了解决相同的分量值在不同的设备上看起来不同这一问题,用与设备无关的颜色空间来定义颜色空间,其以更绝对的方式来定义颜色。与设备无关的颜色空间的某些示例包括CIEXYZ和CIEL * a * b颜色空间。设备固有的颜色空间同与设备无关的颜色空间的关系通常由方程、变换函数、矩阵和查找表的某些组合描述。该关系可以存储在用于设备的国际颜色联盟(International Color Consortium(ICC))简档中。与设备无关的颜色空间可以在从一个设备相关颜色空间向另 一个设备相关颜色空间转换时用作中介。
从一个颜色空间到另 一个颜色空间的转换可以通过一 系列常规处理步骤完成。某些处理步骤可能需要比其他处理步骤更大的计算量。某些处理步骤可能需要插值(interpolation)。通常,要在在步骤的数量、每个步骤的复杂度、速度和准确度之间进行权衡。在某些应用中,速度是非常重要的,并且通过减少步骤的数量和/或单独步骤的复杂度而牺牲准确度。通常为了增加速度,单独或连同另一简单处理步骤使用查找表(LUT) 。 LUT将一个颜色空间中的点映射到另一颜色空间中的相应点。例如,第一RGB颜色空间中的颜色可以具有(0, 45, 82 )的颜色分量值,在转换到第二RGB颜色空间时,该颜色可以具有(5, 51, 76)的颜色分量值。这是因为每个颜色空间的ICC简档对纯R、 G和B分量的定义不同。LUT可以通过使用最准确的处理步骤来构造,诸如使用ICC简档将第一颜色空间中的等间隔的颜色网格变换到第二颜色空间。每个网格点和第二颜色空间中的其对应的变换点可以存^f诸在LUT中。不对应于网才各点的转换颜色可能涉及插值,因此,网格点越多则转换越准确。然而,增加网格点的数量使LUT复杂,并且可能导致增加处理时间。
通常使用CMYK颜色空间的K通道来指定灰色。当色彩从一个CMYK颜色空间转换到另 一个CMYK颜色空间时(诸如从编辑到打印的情况),仅具有K分量值(例如(0, 0, 0, 50))的源色彩可
8能被转换为四通道CMYK颜色(例如(21, 22, 33, 34)),这可以导致不希望的图像或浪费墨水。类似地,从灰RGB颜色值转换到CMYK空间可能产生四通道CMYK颜色值。

发明内容
本说明书描述了涉及在颜色变换中平滑地改变灰度级的技术。用于处理颜色空间之间的转换中的灰色的系统和方法(包括计算机软件产品),包括识别颜色空间中的非纯灰色值。非纯灰色值表示基本的灰色。该系统和方法进一步包括在颜色空间中将非纯灰色值转换为相应的纯灰色值。该方法还包括基于非纯灰色值和相应的纯灰色值之间的差来确定第 一差向量。该方法进一步包括确定颜色空间中相应的纯灰色值和所选颜色值之间的距离。所述相应的纯灰色值表示颜色空间中距所选颜色值最近的纯灰色值。该方法还包括基于第 一差向量和所述距离来确定修正因子,并且将该修正因子
应用于所选颜色值以产生修正的颜色值。
这些和其他实施方式可以可选地包括一个或多个以下特征。颜
色空间中的每个颜色值可以包括多个非灰色分量值和灰色分量值。非纯灰色值可以包括具有非零值的非灰色分量值,并且纯灰色值包括具有零值的非灰色分量值。颜色空间可以包括目标颜色空间,并且所选颜色值包括目标颜色空间中的所选颜色值,并且实施方式可以进一步包括确定用于从源颜色空间转换到目标颜色空间的查找表,其中目标颜色空间中的每个颜色值对应于源颜色空间中的颜色值。非纯灰色值可以基于与源颜色空间中的纯灰色值的对应(correspondence)来进行识别。可以基于查找表中的所选颜色值和纯灰色值之间的接近性来确定距离。源颜色空间可以包括红、绿、篮(RGB )颜色空间;源颜色空间中的每个纯灰色值可以包括彼此相等的红、绿和蓝分量值;并且每个非纯灰色值可以包括彼此不相等的红、绿和蓝分量值。
可以基于所选颜色值与相应纯灰色值之间的第一差向量同颜色
9空间中其他颜色值与相应的纯灰色值之间的差向量的比较来确定距 离。实施方式可以进一 步包括在颜色空间中将多个非纯灰色值转换 为多个相应的纯灰色值,其中颜色空间中的相应的纯灰色值和所选 颜色值之间的距离小于所选颜色值和多个相应的纯灰色值中每个之
间的距离。确定修正因子可以包括基于所述距离确定所选颜色值 和相应的纯灰色值之间的最大改变量;并且通过将第一差向量缩放 一定量,而使得加到所选颜色值上的经缩放的第一差向量和相应的 纯灰色值之间的差不大于最大改变量来确定修正因子。可以通过将 所述距离乘以与颜色空间中颜色分量相对于相邻颜色值改变的比率 相关联的修正斜率(gradient)来确定最大改变量。
具体实施方式
还可以包括基于非纯灰色值和所选颜色值之间的 差来确定第二差向量。修正因子可以基于第一差向量和第二差向量 以及所确定的距离。确定修正因子可以包括基于所述距离来确定 所选颜色值和相应的纯灰色值之间的最大改变量;将第二差向量的 灰度分量值替换为零;从第二差向量的多个非灰度分量值的每个减 去第二差向量的多个非灰度分量值的平均值;将第二差向量的负分 量值替换为零;使用优化因子和第 一差向量的分量值的最大绝对值 来缩放第二差向量;将第一差向量和第二差向量相加以获取第三差 向量;并且通过将第三差向量缩放一定量使得与所选颜色值相加的 经缩放的第三差向量和相应的纯灰色值之间的差不大于最大改变 量,来确定修正因子。第二颜色空间可以包括青、品红、黄以及黑 (CMYK)颜色空间,并且优化因子针对青、品红、黄分别可以近 似为2、 1和0.5。
可以实施本说明书中描述主题的特定实施方式以实现一个或多 个以下优势。可以提高纯灰色的打印质量。其他颜色的打印质量可 以不变或产生可忽—见的降低。条紋以及其他颜色效应,诸如光晕也 可以显著减少。可以快速创建经修改的转换变换,其支持在各种情 况中使用某些实施方式。
在下面的附图和描述中阐述了本发明的一个或多个实施方式的细节。根据描述、附图和权利要求书,本发明的其他特征、方面和 优势将变得明显。


图l是颜色转换系统的框图。
图2示出了可以与图1的系统一起^f吏用的处理才几的示例。
图3是示出了用于创建LUT以将颜色值从源颜色空间变换到目 标颜色空间而保留仅有K的值的过程的流程图。
图4是示出了用于在仅由K值替换灰色值的变换中平滑非灰色 的过程的流程图。
图5是用于使用LUT转换颜色数据以将颜色值从源颜色空间变 换到目标颜色空间而保留仅有K的值的过程的流程图。
图6是待转换为目标颜色空间的CMYK输出的源颜色空间的示 例CMYK输入的表。
图7是通过使用常规方法来变换图6的示例输入而确定的目标 颜色空间的示例CMYK输出的表。
图8是通过使用在此描述主题的实施方式来变换图6的示例输 入,从而确定的目标颜色空间的示例平滑的CMYK输出的表。
图9是当确定的常规CMYK输出和平滑的CMYK输出之间每个
分量的量值中的差的表。
各个图中同样的参考数字和标识表示同样的元素。
具体实施例方式
图像处理工作流经常需要将文件从 一 个颜色空间转换到另 一 个 颜色空间,即使颜色空间基于相同的颜色模型,诸如青、品红、黄 以及黑(CMYK)的颜色空间。例如,可以使用通常由第一国际颜 色联盟(ICC)简档定义的源CMYK颜色空间的桌面出版软件程序 来创建和编辑桌面出版文件。然后,可以将该文件发送到使用第二 ICC简档定义的目标CMYK颜色空间的打印机。为了以保留所需颜色的方式打印桌面出版文件,打印机将使用ICC简档或从该简档创
建的查找表(LUT )将文件从源颜色空间转换到目标颜色空间。然 而,在这样的操作中,具有"纯灰"颜色值的源像素可以被转换到不 是纯灰的目标颜色值。取决于颜色空间,"纯灰"颜色值可以不同。 例如,CMYK颜色空间中的"纯灰"颜色值定义为其非灰分量值(C、 M和Y分量)为零、并且其灰度分量值(K分量)通常为非零的颜 色值。在红、绿、蓝(RGB)颜色空间中,"纯灰"颜色值定义为其 分量值(R、 G和B)都相等的颜色值。由于很多打印机渲染色彩的 方式,具有纯灰度值(仅使用K墨水)的灰色可以在渲染时清晰明 快(crisp),而具有非零的C、 M和Y分量值的灰色可能出现模糊 或混浊。而且,相比于使用其他(通常更昂贵的)彩色墨水渲染灰 色,渲染使用纯灰色值的灰色可以使用较少的墨水。因此,可能希 望在从源颜色空间转换到目标颜色空间时保留灰色的纯灰性质。某 些传统方法使用传统的处理步骤来创建LUT,并且继而将对应于纯 灰度值的非纯灰目标值替换为纯灰目标值。在没有更多处理的情况 下,该替换可能导致大的插值误差、条紋和颜色缺陷,这降低了总 体的打印质量。因此,还可能希望通过修改近似于纯灰色的目标颜 色值降低替换纯灰目标颜色的影响。
如图1所示,颜色转换系统100包括处理机120,其接收具有在 源颜色空间中表示的颜色的输入文件110,并且传输具有在目标颜色 空间中表示的颜色的经转换文件130。处理机120包括转换软件122、 存储ICC简档126的转换数据124、以及保留颜色值的纯灰性质的 转换变换128。通常,颜色转换系统IOO使用转换软件122和ICC 简档126来创建转换变换128。转换变换128可以是常规LUT的修 改版本,其中常规LUT的目标灰色值被纯灰颜色值替换,并且对接 近灰色(近灰色)的目标颜色值进行修改,以平滑从替换值到原始 值的转变。在某些实施方式中,平滑可以减少插值误差,由此在转 换以及渲染近灰色时减少诸如条紋的效应。某些实施方式的其他优 势包括以更少的墨水渲染灰色,并且提高所渲染灰色的质量(例如,
12清晰度)。
输入文件110a和输出文件110b (总称为文件110)的每个可以 是包括特定颜色空间中定义的颜色数据的电子数据的任意集合。输 入文件110a通常包括源颜色空间中的颜色数据,并且转换后的文件 130通常包括目标颜色空间中的颜色数据。文件110还可以包括其他 数据,诸如文本、嵌入的字体、图像和2D矢量图像数据(除了相关 颜色数据之外的数据)、数字版权管理信息和其他类型的非颜色数 据。文件110可以符合给定的规范或者格式,包括例如,可扩展标 记语言文件规范(XPS)、可移植文档格式(PDF)、联合图像专家 组(JPEG)、标记图像文件格式(TIFF)和可移植网络图像(PNG) 文件格式。源颜色空间可以基于各种颜色模型中的任意一个,诸如 RGB、 CMYK、 YCrCb和很多其他模型。目标颜色空间可以基于包 括灰度分量的各种颜色模型和颜色空间中的任意一个,诸如CMYK 和CcMmYK。输入文件110还可以包括定义该文件内所使用的颜色 空间的ICC简档。
处理机120是用于处理数据的任何装置、设备或机器,例如包 括可编程处理器、计算机或多处理器或计算机。处理机120除了硬 件之外可以包括创建用于所述计算机程序的执行环境的代码,例如 构成处理器固件、协议栈、数据库管理系统、操作系统或一个或多 个上述内容组合的代码。处理机包括颜色转换软件122和转换数据 124。
通常,颜色转换软件122可以是由处理器IIO执行来促进颜色 转换的计算机程序。计算机程序(还称作程序、软件、软件应用、 脚本或代码)可以通过任何形式的编程语言来编写,编程语言包括 编译或解释语言,并且其可以以任何形式部署,包括作为单独的程
序或作为适于在计算环境中使用的模块、组件、子例程或其他单元。 计算机程序不必对应于文件系统中的文件。程序可以存储在保存其 他程序或数据的文件的一部分中(例如,存储在标记语言文档的一 个或多个脚本中),程序可以存储在专用于所述程序的单独文件中或多个协作文件中(例如,存储一个或多个模块、子程序或代码部 分的文件)。可以部署计算机程序以在一个处理机120上或多个处
理机120上执行,多个处理机120位于一个地点或分布于多个地点 并且通过通信网络互联。
转换数据124促进从输入文件110的源颜色空间到转换后文件 130的目标颜色空间的颜色数据变换。转换数据124可以以表格、矩 阵、方程、平面文件(flat file)、计算机程序或其任何组合来描述。 转换数据124可以描述或体现通常与颜色转换相关联的任何类型的 处理。处理可以是单独步骤或一系列步骤,其可以利用方程、矩阵 或查找表的任何组合。转换数据124可以包括一个或多个ICC简档 126和转换变换128。通常,与特定颜色空间相关联的ICC简档126 是包含将特定颜色空间中的颜色值转换到另 一个颜色空间(通常与 设备无关)中的颜色值的有关信息的文件。
转换变换128是促进从源颜色空间到目标颜色空间的转换的数 据结构。转换变换128可以实现为LUT。 LUT基本上是将离散输入 点(如由其多维坐标给出)映射到离散输出点的多维表。输入中的 坐标数量不需要与输出的坐标数量匹配。例如,基于三维颜色模型 (诸如RGB)的源颜色空间可以映射到基于四维颜色模型(诸如 CMYK)的目标颜色空间。例如,具有RGB坐标或分量值(19, 19, 19)的输入点可以被映射到具有CMYK坐标或分量值(0, 0, 0, 27)的输出点。用于颜色空间之间的转换的LUT可以使用从实验获 取的数据、或使用已知处理步骤在数学上获取的数据进行创建,诸 如可以在ICC简档126中定义的那些数据。
在操作中,处理机IIO执行颜色转换软件122。这样做,系统 100可以使用ICC筒档126来创建转换变换128。转换变换128可以 实现为多维LUT。四维LUT可以用于将源CMYK颜色空间映射到 目标CMYK颜色空间。可以通过使用常规处理步骤(诸如使用ICC 简档126),将源颜色空间中等间隔的颜色网格变换为目标颜色空间 来构造常规LUT。每个源颜色空间网格点和其在目标颜色空间中的
14相应变换点可以存储在LUT中。不对应于网格点的转换颜色将使用 插值,因此,网格点越多,转换越准确;但是网格点数量的增加使 得LUT复杂,并且可以导致处理时间的增加。LUT可以包含任何数 量的网才各点,例如可以用16x 16x 16x 16的LUT来实现转换变换 128。由于常规转换过程的性质,CMYK到CMYK常规LUT可以包 含从仅有K值的源颜色到非仅有K值的目标颜色的映射。例如,源 CMYK值(0, 0, 0, 100)可以映射为(85, 79, 79, 87 )。在这 样的实例中,不保留颜色仅有K值这一性质。
可以修改常规LUT,以保留灰色的纯灰度性质,并且将接近灰 色的颜色转换进行平滑处理。可以使用斜面(ramp)或考虑源和目 标黑墨水特征(诸如点增益)和目标颜色空间的最大黑(K)墨水的 其他映射,来将仅有K值的源值映射到相应的仅有K值目标值。转 换斜面在预定数量的步骤中将从0到10 0 %之间变化的K值的源映射 到目标值。目标颜色空间的最大K可以通过将最深的可能颜色(诸 如值为(0, 0, 0 )的CIE L*a*b的颜色)转换到目标颜色空间,并 且将得出的K用作最大K墨水来确定。可以使用ICC简档来构造转 换斜面,以将源颜色空间和目标颜色空间中的仅有K的值范围映射 为独立颜色空间中的亮度值,诸如CIEXYZ颜色空间中的Y分量。 然后,可以对Y值进行匹配,以创建转换斜面。可以执行类似的过 程以将源RGB颜色空间中的纯灰色映射到目标CMYK颜色空间中 的纯灰色。
可以通过将LUT中的每个原始目标值替换为仅有K的颜色值来 进行纯灰色保留修改,其中LUT中的原始目标值对应于具有仅K值 的源网才各点。如上所述,对于对应于纯灰源颜色的原始目标颜色值, 其非灰色分量可能具有非零值(例如,在CMYK目标颜色空间中C、 M、 Y不等于零)。目标纯灰色值可以通过使用上述转换斜面转换源 纯灰色值来确定。在将目标颜色值替换为纯灰色值之后,在灰色和 最接近灰色的那些非灰色之间的颜色分量值中存在很大差异。例如, 原来为(80, 70, 65, 80)的灰目标颜色可能被(O, 0, 0, 100)的纯灰色值替换。然而,该新的纯灰色值可能紧挨着具有值为(71,
61, 59, 73)的颜色,这在C、 M和Y分量值中存在巨大差异。
可以通过修正LUT中的各种目标颜色值来实现修改平滑转变。 通常,非灰色的目标颜色值可以使用修改的灰度分量替换(GCR) 方法来修改,该方法中,非灰色的某些灰度内容从C、 M和Y通道 移动并且置于K通道中。灰度内容的移除的程度可以根据非灰色距 离纯灰色多远来调整。在某些实施方式中,调整GCR的程度可以导 致条紋和颜色缺陷的减少。
非灰色可以通过减少颜色中C、 M和Y分量墨水(CMY减少) 的量并且将其替换为等量的K墨水来进行修正。随着到纯灰色的距 离增加,C、 M和Y减少的量可以退化为没有修正。在高级别,修 正涉及当灰源颜色的原始目标值被纯灰目标颜色值替换时其改变的 量。该修正可以通过差向量来表示。最接近灰源颜色的原始目标值 的目标颜色值甚至进一步由差向量分离。虽然是较小程度,该向量 可以应用于最近的目标颜色值以减小间隙。改进的GCR可以帮助得 到较接近所替换的纯灰目标颜色值的最近的目标颜色值。可以使用 修正因子来实现改进的GCR,该修正因子可以部分地基于差向量和 该颜色到灰色的距离。其他因子可以与修正因子一起使用或包括在 修正因子中。例如,可以建立最大增益以限制连接相邻网格点的线 的斜率,从而在更多网格点上传播很大的改变。由修正因子改变的
网格点的数量在某些实施方式中不是预定义的。例如,修正因子可 以应用于与灰度轴分离或由3个网格点确定平面的某些非灰色值, 而不应用于由7个网格点距离分开的某些非灰色值。包含在CMY分 量中的灰度内容的量可以影响修正因子。修正的非灰色中的亮度相 关内容可以通过加上与CMY的减小量成比例的K值来保留。修正 的非灰色中的颜色相关内容可以通过加上少量无灰度CMY来保留。 该无灰度CMY可以部分地基于非灰色的原始变换的CMY分量值和 最近灰色的原始变换的CMY分量值之间的差。
在已经修改LUT之后,系统100可以接收输入颜色文件110中的颜色数据,并且使用LUT从输入文件110中创建转换后的文件 130。
图2示出了处理机120的示例。通常,处理机120包括处理器 210、存储器220、存储设备230、输入/输出设备240和通信总线250, 该通信总线250允许其他设备彼此通信。输入和输出设备240包括 可以与处理机120进行交互的任何设备,诸如打印机、监视器、键 盘、轨迹球、麦克风、网络等。
处理器210可以适于执行计算机程序,并且例如包括通用和专 用微处理器两种,以及任何种类的数字计算机的任意一个或多个处 理器。而且,处理器210可以嵌入在另一设备中,例如,移动电话、 个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接 收机、笔记本计算机、桌面计算机或服务器,这只是几个可能的示 例。通常,处理器将可操作地耦合以从存储器220接收数据和/或指 令形式或向存储器220传送数据。
存储器220和存储设备230是适于存储计算机程序指令和数据 的计算机可读介质。存储器220可以是任意形式的易失或非易失性 存储器、介质和存储器设备,例如包括半导体存储器设备,例如, DRAM、 SRAM、 EPROM、 EEPROM和闪存设备。存储设备230可 以是任何形式的非易失性存储器,诸如磁盘驱动器,例如,内部硬 盘或可移动盘; 一磁电光盘驱动器;以及CD ROM和DVD-ROM盘驱 动器。处理器210和存储器220可以由专用逻辑电路补充或与专用 逻辑电路合并。
图3是示出了用于创建LUT以将颜色值从源颜色空间变换到目 标颜色空间而保留仅有K的值的过程300的流程图。总体上,过程 300包括使用针对纯灰色的转换斜面和非灰色的修正因子,来修改常 规LUT。在步骤310,创建常规LUT变换。常规LUT可以是将源 CMYK颜色空间映射到目标CMYK颜色空间的四维LUT。可以通过 使用源颜色空间和目标颜色空间的ICC简档将源颜色空间中等间隔 的颜色网格变换到目标颜色空间来构造常规LUT。每个源颜色空间
17网才各点和其在目标颜色空间中的相应变换点可以存储在LUT中。 LUT可以包含任何数量的网格点,例如可以创建16x 16x 16x 16的 UJT。
在步骤320,使用转换斜面来修改对应于仅有K的源网格点的 LUT中的目标颜色值。转换斜面应用于每个仅有K的源网格点,以 确定目标颜色空间中的相应的仅有K的值。通过C、 M和Y分量的 零值和与K分量对应的仅有K的值来替换对应于仅有K的源网格点 的目标颜色分量值,使用每个相应的仅有K的值来修改LUT。在步 骤330,可以计算原始目标颜色分量值与新的仅有K的值之间的差, 以确定每个的差向量。在340,可以修改其余的原始非灰色值以平滑 新的仅有K值与非灰色值之间的转变。可以使用修正因子来实现对 每个非灰色的修正。可以基于差向量和非灰色以及灰度轴或平面之 间的距离来确定修正因子。可以通过使用最近的纯灰色作为灰度轴 或平面的参考来确定该距离。在颜色到灰度轴的距离增加时,修正 因子可以是零。修正因子还可以基于改变的最大斜率,其限制了连 接修正的非灰色值和最近灰色值的线的斜率。
图4是示出了用于在由仅K值替换灰色值的变换中平滑非灰色 的过程的流程图。总体上,在变换中,针对每个非灰色确定修正因 子,并且将修正因子与每个非灰色相加,其对应的输入颜色在纯灰 色附近。根据非灰色分量和其到灰度轴的距离,针对每个非灰色的 修正因子不同。对于某些非灰色,修正因子可以确定为零,或可以 不应用或不计算。图6是待转换到目标颜色空间的CMYK输出的源 颜色空间的示例CMYK输入的表。第一列602包含纯灰度网格点, 其中对于四坐标集合中的每个,前三个(CMY)是零,并且第四个 随黑色级(black level)的强度增加而增加。例如,网^f各点606包含 为0的C、 M和Y值以及为0.8的K值。在每行内,诸如行604内, 灰度的量保持相同,但是颜色值改变(在该情况中,尤其是C分量 值)由点606、 608和610之间的差示出,所有点都具有相同的K值 0.8和改变的C值(分别是O、 0.3和0.8)。图7是通过使用常规方法来变换图6的示例输入确定的目标颜色空间的示例CMYK输出的 表。图8是通过使用在此所述主题的实施方式来变换图6的示例输 入确定的目标颜色空间的示例平滑的CMYK输出的表。图6的行和 列对应于图7和图8的行和列,从而网才各点706、 708和710是分别 使用常规方法对网格点606、 608和610的变换。同样,网才各点806、 808和810是分别使用在此所述的主题的实施方式对网格点606、608 和610的变换。
返回图4,在410,计算非灰色到灰度轴或平面的相对距离。该 距离可以基于最大颜色分量值(例如,CMYK颜色空间中的CMY) 或者可以基于每个颜色分量的组合距离而与真实距离呈比例。例如, 参考图6,点608和点606之间的相对距离可以计算为0.3,其是到 灰度轴的距离除以到灰度轴的最大距离,其中该情况中的距离由列 测量。
在步骤420,通过将距离与希望的颜色值的改变率相乘,来针对 非灰色确定最大的期望输出改变量。改变率可以是控制平滑梯度的 因子,诸如1.5。可以调整改变率以增加或减少利用平滑修正的网格 点的数量。例如,三个网格点的距离将产生0.45的最大输出改变量。
在步骤430,在最近灰输入颜色的原始输出颜色和修改输出颜色 之间计算第一差向量。该第一修正向量可以最小化亮度改变。该差
表示为了获得目标颜色空间中的已修改纯灰色,而对目标空间中的 原始已变换灰色进行改变的量,其中通过将C、 M和Y分量值设置 为零,并且将K值设置为输入颜色空间的K值的变换,来获取修改 的纯灰色。这里,到点608和610最近的灰色是网格点606。点706 (即,原始输出颜色值)和806 (即,修改的纯灰输出颜色值)之间 的差向量例如将是(-0.628, -0.56, -0.531, 0.519)。在该示例中, 源(606处)和目标(806处)中仅有K的值相匹配,但这不总是必 须的情况。
在步骤440,可以计算非灰色的原始输出颜色和最近灰输入颜色 的原始输出颜色之间的第二差向量,将其称作颜色差向量。该差表
19示从灰色到非灰色改变的颜色改变量。颜色值的颜色分量(例如,
CMYK颜色空间中的C、 M和Y)可以用于计算向量。例如,非灰 网格点608的颜色差向量和其相应的输出值通过从708中减去输出 点706找到,这得到颜色差向量(0.161, 0.032, -0.035 )。
在步骤450 ,可以细化以及缩放颜色差向量以用于确定需要修正 的输出颜色值的量。 一旦经过细化和缩放,颜色差向量就可以提供 最小化局部颜色改变的二阶修正。颜色误差可以减少50%或更多。 灰度分量差可以设置为零,并且可以从其余分量中的每个减去其余 颜色分量的平均值,以确定消除灰度级的纯颜色差。例如上述确定 的第二差向量可以变换为(0.1083, -0.02066, -0.08766, 0 )。接下 来,负分量值可以修整为零以确定峰值颜色差。在该示例中,结果 将是向量(0.1083, 0, 0, 0)。该结果继而可以使用优化因子以及 使用第一差向量的分量的最大量值(即,绝对值)进行缩放,该优 化因子是与每个分量相关联的缩放因子。可以使用在大变换集合上 优化的缩放因子,以产生最小平均颜色误差。例如,出于优化目的, 缩放因子的集合{2, 1, 0.5)可分别应用于C、 M和Y分量。这里, 第一差向量中的最大量值是0.628。使用示例优化因子和最大量值, 产生修改的颜色向量(0.1565, 0, 0, 0)。
在步骤460,通过将第一颜色差向量和^^改的颜色差向量相加来 创建第三向量。这第一差向量(-0.628, -0.56, -0.531, 0.519)加上 修改的第二向量(0.1565, 0, 0, 0)得出第三向量(-0.4715, -0.56, -0.531, 0.519)。
在步骤470,可以由足够大的因子对第三向量进行缩放,从而使 修正的非灰输出和希望的最大输出改变内的纯灰输出之间产生差 异,在该示例中差异为0.45。即,第三向量可以乘以正量并且加上 原始非灰色的原始输出颜色,从而使原始非灰色的修改输出颜色和 最近纯灰色的已修改输出颜色之间的最大量值差等于希望的最大输 出改变。该缩放可以减少打印中的条紋效应。如果第三向量的正或 负量近似于零,则可以添加附加的小量(直到O.l)以进一步避免条紋效应或零量附近的光晕。在该示例中,可以乘以0.71895的因子以 适当地缩放第三向量,这在该情况中得到(-0.339, -0.4026, -0.3818, 0.3731 )。 一旦获取第三向量的合适倍数,则可以在步骤480将已缩 放的第三向量与原始非灰输出颜色值相加,以确定修正的非灰输出 颜色。在该示例中,通过与缩放的第三向量相加平滑点708以得出 点808。图9是如在常规CMYK输出和平滑的CMYK输出之间确定 的每个分量的量值中的差的表。这些值还对应于上述缩放的第三向 量。如图9所示(例如,在906, 908和910处),由于非灰色距离 纯灰度轴更远,修正的量值也减小。当非灰色距离纯灰度轴显著地 足够远,可以如在910所示的那样不应用修正。
图5是示出了用于使用LUT来转换颜色数据以将颜色值从源颜 色空间变换到目标颜色空间而保留仅有K的值的过程500的流程图。 在步骤510,接收包含源颜色空间中的颜色数据的输入文件。输入文 件可以符合各种标准或格式中的任意 一种。从输入文件中读取颜色 数据。在步骤520,将该颜色数据变换到目标颜色空间。可以应用图 3和图4描述的过程以执行转换。在步骤530,将转换的数据置于输 出文件中。输出文件可以具有与输入文件同样的格式或其格式可以 不同。可以修改输入文件以创建输出文件。
本说明书中描述的主题和功能性操作的实施方式可以在数字电 子电路中实现,或者在计算机软件、固件或硬件中实现,该计算机 软件、固件或硬件包括本说明书中公开的结构及其等同结构、或是 它们的一个或多个的组合。本说明书中描述的主题的实施方式可以 实现为一个或多个计算机程序产品,也即,在计算机可读介质上编 码的、以便由数据处理装置执行或控制数据处理装置操作的一个或 多个计算机程序指令模块。计算机可读介质可以是机器可读存储设 备、机器可读的存储衬底、存储器设备、实现计算机可读的传播信 号的组合、或者它们中的一个或多个的结合。术语"数据处理装置" 包括用于处理数据的所有装置、设备和机器,例如包括可编程处理 器、计算机,或者多个处理器或计算机。除了硬件之外,该装置可
21以包括为考虑中的计算机程序创建执行环境的代码,例如,构成处 理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环 境,或者它们中一个或多个的结合的代码。传播的信号是人工生成 的信号,例如,机器生成的电、光或电磁信号,生成该信号以对信 息进行编码从而传输到合适的接收器装置。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算 机程序的 一 个或多个可编程处理器执行,用于通过对输入数据进行 操作以及产生输出来执行功能。该处理和逻辑流程还可以由例如
FPGA (现场可编程门阵列)或ASIC (专用集成电路)的专用逻辑 电路执行,并且也可以将装置实现为所述专用逻辑电路。
为了提供与用户的交互,本说明书中描述的主题的实施方式可 以在具有用于向用户显示信息的显示设备以及用户可以通过其向计 算机提供输入的键盘和指点设备的计算机上实现,其中显示设备例 如CRT (阴极射线管)或者LCD (液晶显示器)监视器,指点设备 例如鼠标或者轨迹球。也可以使用其他类型的设备来提供与用户的 交互;例如,提供给用户的反馈可以是任何形式的感观反馈,例如 视觉反馈、声觉反馈、或者触觉反馈;并且可以接收来自用户的任 意形式的输入,包括声音、语音或触觉输入。
本说明书中描述的主题的实施方式可以实现在包括后端组件的 计算系统中,例如数据服务器;或实现在包括中间件组件的计算系 统中,例如应用服务器;或实现在包括前端组件的计算系统中,例 如具有图形用户界面或者Web浏览器的客户端计算机,用户通过该 图形用户界面或Web浏览器可以与本说明书中描述的主题的实现进 行交互;或实现在一个或多个这样的后端、中间件、或前端组件的 任意结合中。系统组件可以与任意形式或介质的数字数据通信(例 如,通信网络)互连。通信网络的示例包括局域网("LAN"),广 域网("WAN"),网际网(例如,互联网)以及端对端网络(例如, adhoc端对端网络)。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离,并且通常通过通信网络进行交互。客户端和服务器的关系是 借助于在各自计算机上运行的、彼此具有客户端-服务器关系的计算 机程序得到的。
尽管本说明书包含多种特定细节,但是不应将其理解为是对本 发明的范围或者所要求保护内容的限制,而应当理解为是对本发明具体实施方式
的特定特征的描述。本说明书中描述的在各个实施方 式的上下文中的某些特征也可以在单个实施方式中结合实现。相反, 在单个实施方式上下文中描述的各种特征也可以分别实现在多个实 施方式中或者任意适当的子组合中。而且,尽管上文可能将特征描 述为在特定的组合中操作,甚至初始也是这样要求保护的,但是来 自所要求保护的组合的一个或多个特征在一些情况下可以从该组合
类似地,尽管在附图中以特定的顺序描述操作,但是不应将其 理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或
是要求执行全部所示的操作以得到期望的结果。在特定环境中,多 任务和并行处理可能是有利的。而且,在上述实施方式中多个系统 组件的分离不应被理解为在所有实施方式中需要这些操作,应当将 其理解为所描述的程序组件和系统通常可以在单个软件产品中集成 在一起,或是被打包到多个软件产品中。
因此,已经描述了本发明的特定实施方式。其他实施方式处于 以下权利要求书的范围内。例如,权利要求书中记载的动作可以按 照不同的顺序执行而仍旧获得所希望的结果。
2权利要求
1. 一种方法,包括识别颜色空间中的非纯灰色值,其中所述非纯灰色值表示基本的灰色;在所述颜色空间中,将所述非纯灰色值转换为相应的纯灰色值;基于所述非纯灰色值和所述相应的纯灰色值之间的差,来确定第一差向量;在所述颜色空间中,确定所述相应的纯灰色值和所选颜色值之间的距离,其中所述相应的纯灰色值表示所述颜色空间中距所述所选颜色值最近的纯灰色值;基于所述第一差向量和所述距离来确定修正因子;以及将所述修正因子应用于所述所选颜色值以产生修正的颜色值。
2. 根据权利要求1所述的方法,其中所述颜色空间中的每个颜 色值包括多个非灰色分量值和灰色分量值。
3. 根据权利要求2所述的方法,其中所述非纯灰色值包括具有 非零值的非灰色分量值,并且所述纯灰色值包括具有零值的非灰色分量值。
4. 根据权利要求1所述的方法,其中所述颜色空间包括目标颜 色空间,并且所述所选颜色值包括所述目标颜色空间中的所选颜色 值,所述方法进一步包括确定用于从源颜色空间转换到所述目标 颜色空间的查找表,其中所述目标颜色空间中的每个颜色值对应于 所述源颜色空间中的颜色值。
5. 根据权利要求4所述的方法,其中基于与所述源颜色空间中 的纯灰色值的对应来识别所述非纯灰色值。
6. 根据权利要求4所述的方法,其中基于所述查找表中的所述
7.根据权利要求4所述的方法,其中所述源颜色空间包括红、 绿、篮(RGB)颜色空间;所述源颜色空间中的每个纯灰色值包括彼此相等的红、绿和蓝分量值;并且每个非纯灰色值包括彼此不相 等的红、绿和蓝分量值。
8. 根据权利要求1所述的方法,其中基于所述所选颜色值与所 述相应纯灰色值之间的所述第 一差向量同所述颜色空间中的其他颜 色值与所述相应的纯灰色值之间的差向量的比较来确定所迷距离。
9. 根据权利要求1所述的方法,进一步包括在所述颜色空间 中将多个非纯灰色值转换为多个相应的纯灰色值,其中所述颜色空 间中的所述相应的纯灰色值和所述所选颜色值之间的距离小于所述 所选颜色值和多个相应的纯灰色值的每个之间的距离。
10. 根据权利要求1所述的方法,其中确定所述修正因子包括 基于所述距离来确定所述所选颜色值和所述相应的纯灰色值之间的最大改变量;以及通过将所述第一差向量缩放一定量使得与所述所选颜色值相加 的经缩放的第 一差向量与所述相应的纯灰色值之间的差不大于所述 最大改变量,来确定所述修正因子。
11. 根据权利要求IO所述的方法,其中通过将所述距离乘以与 所述颜色空间中颜色分量相对于相邻颜色值改变的比率相关联的修 正斜率,来确定所述最大改变量。
12. 根据权利要求1所述的方法,进一步包括基于所述非纯 灰色值和所述所选颜色值之间的差来确定第二差向量,并且其中所 述修正因子基于所述第一差向量和第二差向量以及所述确定的距 离。
13. 根据权利要求12所述的方法,其中确定所述修正因子包括 基于所述距离确定所述所选颜色值与所述相应的纯灰色值之间的最大改变量;将所述第二差向量的灰度分量值替换为零;从所述第二差向量的多个非灰度分量值的每个中减去所述第二 差向量的多个非灰度分量值的平均值;将所述第二差向量的负分量值替换为零;使用优化因子和所述第 一 差向量的分量值的最大绝对值来缩放所述第二差向量;将所述第一和第二差向量相加以获取第三差向量;以及 通过将所述第三差向量缩放一定量,而使得与所述所选颜色值相加的经缩放的第三差向量与所述相应的纯灰色值之间的差不大于所述最大改变量,来确定所述修正因子。
14,根据权利要求13所述的方法,其中所述第二颜色空间包括青、品 红、黄以及黑(CMYK)的颜色空间,并且所述青、品红、黄分量的所述优化因子分别近似为2、 1和0.5。
15. —种计算机程序产品,编码在计算机可读介质上,其可用于 使得数据处理装置执行操作,所述操作包括识别颜色空间中的非纯灰色值,其中所述非纯灰色值表示基本 的灰色;基于所述非纯灰色值和所述相应的纯灰色值之间的差来确定第 一差向量;在所述颜色空间中,确定所述相应的纯灰色值和所选颜色值之 间的距离,其中所述相应的纯灰色值表示所述颜色空间中距所述所 选颜色值最近的纯灰色值;基于所述第一差向量和所述距离来确定修正因子,以及
16. 根据权利要求15所述的产品,其中基于所述颜色空间中的 所述所选颜色值的多个非灰度分量值中的最大值来确定所述距离。
17. 根据权利要求15所述的产品,其中确定所述修正因子包括 基于所述距离来确定所述所选颜色值与所述相应的纯灰色值之间的最大改变量;基于所述非纯灰色值和所述所选颜色值之间的差来确定第二差 向量;将所述第二差向量的灰度分量值替换为零;从所述第二差向量的多个非灰度分量值的每个中减去所述第二差向量的多个非灰度分量值的平均值;将所述第二差向量的负分量值替换为零;使用优化因子和所述第 一 差向量的分量值的最大绝对值来缩放 所述第二差向量;将所述第一差向量和第二差向量相加以获取第三差向量;以及通过将所述第三差向量缩放一定量,而使得与所述所选颜色值 相加的经缩放的第三差向量和所述相应的纯灰色值之间的差不大于 所述最大改变量,来确定所述修正因子。
18. 根据权利要求15所述的产品,其中所述颜色空间包括目标 颜色空间,并且所述所选颜色值包括所述目标空间中的所选颜色值, 并且其中所述产品可进一步用于使得数据处理装置执行操作,所述 操作进一步包括确定用于从源颜色空间转换到所述目标颜色空间的查找表,其中 所述目标颜色空间中的每个颜色值对应于所述源颜色空间中的颜色 值;接收具有所述源颜色空间中的输入颜色数据的文件;使用所述查找表将所述输入颜色数据转换到所述颜色空间;以及传输所述经转换的输入数据。
19. 一种系统,包括至少一个存储器,可用于存储查找表,所述查找表具有与第一颜 色空间相关联的第 一多个颜色值条目和与第二颜色空间相关联的第 二多个颜色值条目;以及处理器,其耦合至所述存储器,可操作以识别所述第二多个颜色值条目中的非纯灰色值,其中所述非 纯灰色值表示基本的灰色;确定感知上与所述非纯灰色值等同的相应的纯灰色值; 基于所述非纯灰色值和所述相应的纯灰色值之间的差来确 定第一差向量;确定所述第二多个颜色值条目中所述相应的纯灰色值和所 选颜色值之间的距离,其中所述相应的纯灰色值表示所述第二多个颜色值条目中距所述所选颜色值最近的纯灰色值;基于所述第一差向量和所述距离来确定修正因子;以及 将所述修正因子应用于所述所选颜色值以产生小务正的颜色值。
20.根据权利要求19的系统,其中所述处理器还可用于 接收具有所述第 一颜色空间中的输入颜色数据的文件; 使用所述查找表将所述输入颜色数据转换到所述第二颜色空间; 以及传输所述经转换的输入数据。
全文摘要
用于处理颜色空间之间的转换中的灰色的系统、方法以及计算机软件产品,包括识别颜色空间中的非纯灰色值,非纯灰色值表示基本的灰色。该方法进一步包括在颜色空间中将非纯灰色值转换为相应的纯灰色值。该方法还包括基于非纯灰色值和相应的纯灰色值之间的差来确定第一差向量。该方法进一步包括确定颜色空间中相应的纯灰色值和所选颜色值之间的距离。相应的纯灰色值表示距所选颜色值最近的纯灰色值。该方法还包括基于第一差向量和所述距离来确定修正因子,并且将该修正因子应用于所选颜色值以产生修正的颜色值。
文档编号H04N9/67GK101489145SQ200910003569
公开日2009年7月22日 申请日期2009年1月15日 优先权日2008年1月15日
发明者L·U·博格 申请人:奥多比公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1