专利名称:颜色转换电路和颜色转换方法
技术领域:
本发明涉及一种颜色转换电路和一种颜色转换方法,该颜色转换
方法指的是通过根据存储在三维查找表(LUT)中的转换系数进行插值
来转换输入颜色数据以产生输出颜色数据。
背景技术:
通常,从图像输出装置例如显示器和打印机中输出的图片根据由 数据产生图片或图像的液晶装置、喷墨装置等装置而具有特定的特性。 因此,需要根据液晶装置、喷墨装置等装置的特性将输入数据转换为
供应给它们的输出数据的方法(means)。具体地,输出全色图片或图 像的输出装置需要补偿它们在三原色例如R(红)、G(绿)、B(蓝)方面的 特性。这样,输出装置需要包括进行输入颜色数据的转换以根据它们 在所有原色方面的特性产生输出颜色数据的电子电路。
从输入颜色数据到输出颜色数据的转换例如可通过以下方法进 行i)准备用于根据输入颜色数据的值计算输出颜色数据的值的数学 公式(或函数),或者ii)提供存储与输入颜色数据的各个值对应的输出 颜色数据的值的存储器(或表格)。具体而言,后一种方法的优点是,可 根据输出装置的特性、输入数据、用户偏好等因素灵活地改变输出颜 色数据的值。这种颜色转换功能已经在电视机、数码静态相机、打印 机等设备中实现。
近来,内嵌上述颜色转换功能的半导体集成电路装置常常结合在 利用液晶显示技术或等离子体显示技术的数码电视机中,以补偿这些 显示技术的特性并改善图像质量。然而,在实际的颜色转换中,输出颜色数据的值不能用输入颜色
数据的值(例如,以RGB形式)的简单函数表示。另一方面,将与每个输
入颜色数据的值(或者每个输入颜色数据在颜色空间中的坐标)对应的 每个输出颜色数据的值存储在存储器中,需要较大的存储器容量。此 外,访问具有这样大容量的存储器需要较长的时间。因此,提出了将
三维颜色空间(例如RGB颜色空间)分为多个具有固定尺寸的单位立方 体,在LUT中仅存储多个单位立方体的顶点处的转换系数。
图7示意性示出了在示例性LUT中用10位值R[9:0]、 G[9:0]、 B[9:0] 表示输入颜色数据在RGB颜色空间中按照R、 G、 B原色的坐标。也就 是说,在图7中所示的示例性LUT中,输入颜色数据具有范围从0到1023 的并且按照每个R、 G、 B原色的值。在图7中所示的示例性LUT中,RGB 三维颜色空间分成512个单位立方体,每个单位立方体的尺寸为128(R) X128(G)X128(B)。示例性LUT在512个单位立方体中的每个的顶点处 存储转换系数。
通过利用上述LUT,可计算输入颜色数据周围顶点处的转换系数 的平均值。当仅仅转换亮度信息时,或者如打印机的情况一样当使用 具有多于三原色的冗余系统来表示颜色数据时,常常利用这样计算得 到的平均值作为输出颜色数据的值。但是,当输入颜色数据和输出颜 色数据都在同一颜色空间(例如RGB颜色空间)中时,像在用于电视机的
图像质量改善电路的情况中一样,例如希望能够独立地转换各个原色 中的值。因此,如图8所示,根据输入颜色数据所处的单位立方体的八 个顶点处的转换系数,对每个RGB颜色值独立地进行插值。
图8示出了单位立方体中的一个和处于所述单位立方体中的一个 中的输入颜色数据,所述单位立方体中的一个具有顶点SO、 Sl、 S2、 S3、 S4、 S5、 S6和S7。在图8中,与顶点SO、 S2和S7相邻的顶点S3在 页面的里侧,且未示出。输入颜色数据具有按照各个原色的R、 G、 B 值(或坐标)。换言之,坐标(R,G,B)限定输入颜色数据在RGB颜色空间中的位置。
当输入颜色数据与单位立方体的顶点S0至S7中的任一都不匹配
时,将单位立方体划分成八个区域(长方体)A至H,每个区域共享输入 颜色数据(R,G,B)作为顶点。在图8中,区域E位于页面的里侧,且未示 出。区域E是长方体,在其对角线的一端具有顶点S3并且在其对角线的 另一端具有输入颜色数据(R,G,B)。在传统的颜色转换方法中,通过利 用八个分开的区域(长方体)的体积,根据顶点S0至S7处的转换系数进行 插值,以产生输出颜色数据。例如,参见专利文献l (英国专利No. 1595122)。
发明内容
但是,通过上述插值技术会改变按照RGB原色取的值之间的平衡。 也就是说,即使输入颜色数据为R、 G、 B原色值相等的灰色(非彩色), 经转换后的输出颜色数据也可能是原色值不相等的非灰色(彩色)。因为 人眼对灰色(非彩色)与非灰色(彩色)敏感,所以通过转换产生的这种改 变可能被视作图像的缺乏颜色连续性的不自然的改变。
为了解决上述问题,专利文献2 (日本特开2004-179819)公开了
一种颜色转换处理设备、 一种颜色转换处理程序和一种颜色转换处理 方法。
专利文献2提出将单位立方体划分为多个区域,对各个区域采用不 同的插值方程式进行插值。但是,因为专利文献2公开的颜色转换处理 设备对各个区域采用不同的插值方程式,所以需要多个插值电路来使 用各个插值方程式进行插值。结果,增加了电路尺寸。
本发明的目的是解决上述问题。也就是说,本发明的示例性目的 是提供一种颜色转换电路和一种颜色转换方法,将输入颜色数据转换为输出颜色数据,使得不需要增加电路的尺寸就能够将灰色输入颜色 数据适当地转换为灰色输出颜色数据。本发明的另一示例性目的是提 供一种颜色转换电路和一种颜色转换方法,不需要增加电路的尺寸就 能够保持转换自颜色空间灰轴上的单位立方体中的不同输入颜色数据 的不同输出颜色数据之间的连续性。本发明的又一示例性目的是提供 一种颜色转换电路和一种颜色转换方法,不需要增加电路的尺寸就能 够保持转换自颜色空间灰轴上的单位立方体中的输入颜色数据的输出 颜色数据与转换自单位立方体相邻的单位立方体中的输入颜色的输出 颜色数据之间的连续性。
为了解决上述问题,根据本发明的示例性实施例提供一种颜色转 换电路,用于将输入颜色数据转换为输出颜色数据。所述输入颜色数 据处于三维颜色空间中由所述输入颜色数据的坐标所指定的位置,所 述三维颜色空间被划分为多个具有固定尺寸的单位立方体。所述转换 电路包括三维査找表,其存储所述多个单位立方体的各个顶点处的 转换系数;置换电路,其从所述三维查找表读取所述输入颜色数据所 处的其中一个单位立方体的顶点处的转换系数,从所述查找表读取的 转换系数中的一些用由从所述查找表所读取的转换系数中的其它一些 通过公式所表示的置换转换系数进行置换;以及插值电路,其根据经 过置换的转换系数进行插值,以产生输出颜色数据的转换后的坐标。
根据各种示例性实施例,所述插值利用长方体的体积,所述长方 体将所述单位立方体中的所述一个划分成使得每个所述长方体共享所 述输入颜色数据作为顶点,并且当所述单位立方体中的所述一个具有 设置在颜色空间的灰轴上的对角线并且输入颜色数据处于所述对角线 上时,置换电路进行置换,使得插值变为对角线两端的顶点处的转换 系数之间的线性插值。或者,根据其它不同的示例性实施例,当所述 单位立方体中的所述一个具有设置在颜色空间的灰轴上的对角线时, 置换电路根据在所述单位立方体中的所述一个里面的所述输入颜色数据的位置,选择要置换的所述转换系数中的所述一些,插值电路利用 与在所述单位立方体中的所述一个里面的输入颜色数据的位置无关的 单一插值表达式来进行插值。
根据其它不同的示例性实施例,所述输入颜色数据可包括第一输 入颜色数据和第二输入颜色数据,所述第一输入颜色数据处于所述对 角线上,所述第二输入颜色数据处于所述单位立方体中的所述一个里 面但不在所述对角线上,并且所述置换电路可进行置换使得能够保持 转换自所述第一输入颜色数据的第一输出颜色数据与转换自第二输入 颜色数据的第二输出颜色数据之间的连续性。
根据其它不同的示例性实施例,所述单位立方体中的所述一个的 顶点,除所述对角线两端的顶点之外,还包括根据所述对角线两端的 顶点中的哪个更近而分成两个群组的六个其它的顶点。所述置换电路 可从所述两个群组的每个中选择所述顶点中的至少一个,并对所选择 的顶点处的转换系数进行置换。此外,所述置换电路可进行置换使得 两个群组的每个中的顶点处经置换后的转换系数的总和由所述对角线 两端的顶点处的转换系数的线性组合表示。
根据其它不同的示例性实施例,当输入颜色数据处于所述单位立 方体中的所述一个里面但不在所述对角线上时,置换电路可从两个群 组中选择离输入颜色数据最远的其中一个顶点,并对所选择的顶点处 的转换系数进行置换。
根据其它不同的示例性实施例,当输入颜色数据处于所述单位立 方体中的所述一个里面但不在所述对角线上时,置换电路可根据输入 颜色数据处于六个四面体的哪个中,选择要置换的所述转换系数中的 一些,所述六个四面体将所述单位立方体中的所述一个划分成使得每 个所述四面体共享所述单位立方体中的所数一个的所述对角线作为一 条边。此外,输入颜色数据处于其中的所述六个四面体中的一个具有所述单位立方体中的所述一个的两个相邻表面的对角线作为两条边, 置换电路可选择离相邻表面共享的所述单位立方体中的所述一个的边 最远的所述单位立方体中的所述一个的最远的边的两端的顶点,并对 所选择的顶点处的转换系数进行置换。
此外,根据本发明的各种示例性实施例,提供一种将输入颜色数 据转换为输出颜色数据的方法。所述方法包括接收处于三维颜色空 间中由输入颜色数据的坐标指定的位置的所述输入颜色数据,所述三 维颜色空间被划分为多个具有固定尺寸的单位立方体;读取所述输入 颜色数据所处的其中一个单位立方体的顶点处的转换系数;用读取的
其它转换系数表示的置换转换系数对读取的一些转换系数进行置换;
以及根据经过置换的所述转换系数进行插值,以产生所述输出颜色数 据。
根据不同的示例性实施例,所述插值利用长方体的体积,所述长 方体将所述其中一个单位立方体划分成使得每个所述长方体共享所述 输入颜色数据作为顶点,当所述其中一个单位立方体具有设置在所述 颜色空间的灰轴上的对角线并且所述输入颜色数据处于所述对角线上 时,进行置换使得所述插值变为所述对角线两端顶点处的转换系数之 间的线性插值。或者,根据其它不同的示例性实施例,当所述其中一 个单位立方体具有设置在所述颜色空间的灰轴上的对角线时,所述置 换包括根据所述其中一个单位立方体中所述输入颜色数据的位置,选 择要置换的所述一些转换系数,所述插值利用与所述其中一个单位立 方体中的所述输入颜色数据的位置无关的单一插值表达式。
根据本发明的各种示例性实施例,保证了与颜色空间的灰轴上的 任意输入颜色数据对应的输出颜色数据为灰色(非彩色),不需要多个插 值电路。假如单位立方体的设置在灰轴上的对角线两端顶点处的转换 系数被设定为使得处于对角线两端顶点处的输入颜色数据被转换为满足11=0=8的输出颜色数据,则保证了输出颜色数据为灰色,与存储在
三维LUT中的值(转换系数)无关。
根据本发明的另一不同示例性实施例,保持了对应于处于灰轴上 的同一单位立方体中的不同输入颜色数据的不同输出颜色数据之间的
连续性。根据本发明的又一示例性实施例,保持了从处于灰轴上的单 位立方体中的输入颜色数据转换得到的输出颜色数据与从处于相邻单 位立方体中的输入颜色数据转换得到的输出颜色数据之间的连续性。
根据本发明的又一不同示例性实施例,当输入颜色数据处于灰轴 上的单位立方体中时,根据单位立方体中输入颜色数据的位置将一些
转换系数置换。然而,是利用与单位立方体中输入颜色数据的位置无 关的单一插值表达式,根据置换后的转换系数进行插值。换而言之,
是利用通过根据输入颜色数据的位置置换一些转换系数而变换的单一 插值表达式进行插值。这样,不需要多个插值电路,同时可以保证从 灰轴上的输入颜色数据转换得到的输出颜色数据为灰色,或者还可以 通过选择要置换的转换系数,保持不同输入颜色数据之间的连续性。
图l是示出根据本发明的示例性颜色转换电路的示例性构造的示 意图。
图2是示出图1中所示的置换电路的示例性构造的示意图。 图3是示出示例性LUT和位于该示例性LUT对角线上的单位立方
体的示意图。
图4是示出包括在每个群组中的三个顶点处的转换系数的示例性 置换的示意图。
图5是示出示例性单位立方体的各个顶点以及与顶点S0相关的输 入颜色数据(r, g, b)的位置的示意图。
图6是示出示例性单位立方体中。g》b的区域的示意图。 图7是示出LUT中示例性单位立方体的示意图。图8是示出坐标为(R, G, B)的输入颜色数据与示例性单位立方体中 的各个顶点S0至S7之间的关系的示意图。
10 颜色转换电路
12 地址产生电路
14 三维査找表(LUT)
16 比较电路
18 置换电路
20 插值电路
22a-22h SRAM
24a-24f 单个置换电路
26 反相器
28"与"电路
30 多路选择器
32"或"电路
具体实施例方式
下面将参照附图中所示的各种实施例来说明根据本发明的各种示 例性颜色转换电路和颜色转换方法。
根据本发明的各种示例性实施例,三维查找表(LUT)存储单位立方 体的各个顶点处的转换系数,单位立方体例如以R、 G、 B三原色划分 三维颜色空间。
根据本发明的各种示例性颜色转换方法,输入颜色数据在三维颜 色空间中处于由按照三原色的坐标指定的位置。从LUT中读取输入颜 色数据所处的其中一个单位立方体的八个顶点(或栅格点)SO至S7处的
转换系数。当检测到输入颜色数据处于颜色空间的灰轴上的单位立方 体(该单位立方体具有设置在灰轴上的对角线)中,并且检测到输入颜色数据处于设置在灰轴上的对角线上时,将转换系数中的一些进行置换。 具体地,当输入颜色数据处于设置在灰轴上的对角线上时,将从LUT 读取的转换系数中的一些进行置换,使得插值变为设置在灰轴上的对 角线的两端的顶点处的转换系数之间的线性插值。
具体地,将转换系数中的一些用从LUT读取的转换系数中的其它
一些通过公式所表示的各个置换转换系数置换。更具体地,除了设置 在颜色空间灰轴上的对角线两端的两个顶点之外的一些顶点的转换系
数被置换。例如,如果图8中所示的单位立方体位于灰轴上,则顶点 S0和S6分别位于设置在灰轴上的对角线的两端。这样,例如,除了顶 点SO和S6之外,从六个顶点Sl至S5以及S7中选择的一些顶点的转 换系数被置换。
这里,当输入颜色数据处于颜色空间的灰轴上时,输入颜色数据 处于灰轴上的单位立方体的对角线上。例如,图3示出将每个R、 G、 B原色均为最小值(O)的点与每个R、 G、 B原色均为最大值(1024)的点 连接起来的灰轴。图3还示出灰轴上的八个单位立方体,这八个单位 立方体具有设置在灰轴上的对角线。
根据其它的各种示例性颜色转换方法,当检测到输入颜色数据处 于灰轴上的单位立方体中时,即使检测到输入颜色数据不是处于设置 在灰轴上的单位立方体的对角线上, 一些转换系数也被置换。也就是 说,当输入颜色数据处于灰轴上的单位立方体中,但不是位于设置在 灰轴上的对角线上时, 一些转换系数被置换,使得输出颜色数据与由 处于同一单位立方体对角线上的输入颜色数据而转换得到的其它的输
出颜色数据保持连续性。例如,与上述情况相似,除了分别设置在灰 轴上的对角线的两端的顶点SO和S6之外,从六个顶点Sl至S5以及 S7中选择的一些顶点的转换系数被置换。
这里,当输入颜色数据处于排列在图3所示灰轴上的八个单位立方体的其中一个中而不是在灰轴上时,输入颜色数据处于灰轴上的单 位立方体中而不是处于设置在灰轴上的对角线上。
例如,假定分别用10位数据R[9:0]、 G[9:0]、 B[9:0]来表示RGB 原色的值(或亮度),或者假定用范围从0到1023的整数来表示输入颜 色数据在每个原色的方向上的坐标。那么,LUT的每个单位立方体的 尺寸可设定为128(R)X 128(G)X128(B),如图7所示。也就是说,对于 每个RGB原色,只有在数值中所有低7位为"0"的输入颜色数据, 可将转换系数存储在LUT中。
这里,根据输出装置的构造等等,输入颜色数据中对于每个RGB 原色的位(bit)数以及单位立方体的尺寸(或者单位立方体的数目)可按 照需要改变。改变单位立方体的尺寸改变了要进行插值的输入颜色数 据的位部分。
然后,通过利用输入颜色数据所处的其中一个单位立方体的八个 顶点SO至S7处的转换系数(其中一些被置换)以及输入颜色数据的坐 标,进行插值。这样,输入颜色数据被转换为输出颜色数据。
在LUT灰轴上的每个单位立方体(由图3中的每个小立方体表示) 中,灰轴上的对角线上的每个点或输入颜色数据满足关系R=G=B,其 中R、 G、 B的每一个表示输入颜色数据按照每个原色取的值或坐标。 当连接顶点SO与S6的对角线被设置在灰轴上时,输入颜色数据按照 每个原色取的坐标在顶点SO变成最小值,输入颜色数据按照每个原色 取的坐标在顶点S6变成最大值。本发明的示例性目的是使得与对角线 上的输入颜色数据对应的输出颜色数据或者从对角线上的输入颜色数 据转换得到的输出颜色数据也满足关系R=G=B。
为了实现这个目的,设定灰轴上每个单位立方体的顶点SO和S6 的转换系数并存储在LUT中,使得与处于每个顶点SO和S6的输入颜色数据对应的输出颜色数据满足关系R=G=B。这里,顶点SO和S6位 于设置在灰轴上的对角线的两端。在使用LUT的颜色转换中这样设定 灰轴上顶点处的转换系数是普遍的。也就是说,对于各个原色,每个 转换系数有三个分量。通过将每个顶点S0和S6处的转换系数的所有 三个分量设定为彼此相等,与处于每个顶点S0和S6的输入颜色数据 对应的输出颜色数据满足关系R=G=B。
此外,六个顶点Sl至S5以及S7处的系数中至少两个转换系数被 置换转换系数所置换。例如图4所示,顶点Sl的转换系数可被其它顶 点S3和S4的转换系数所表示的置换转换系数所置换。此外,顶点S2 的转换系数可被其它顶点S5和S7的转换系数所表示的置换转换系数 所置换。之后,进行上述的插值。
进行置换的条件是,与灰轴上的输入颜色数据对应的输出颜色数 据的值(坐标)用与顶点S0和S6处的两个输入颜色数据对应的两个输出 颜色数据的值(坐标)之间的线性插值表示。结果,因为顶点S0和S6处 的转换系数被设定为使得与处于每个顶点S0和S6的输入颜色数据对 应的输出颜色数据满足关系R=G=B,所以与灰轴上的输入颜色数据对 应的输出颜色数据也满足关系R=G=B。也就是说,与灰轴上的输入颜 色数据对应的输出颜色数据处于灰轴上。
或者,在进一步的条件下进行置换,即保持对应于处于灰轴上的 输入颜色数据的输出颜色数据的值(坐标)与对应于处于灰轴附近的输 入颜色数据的其它的输出颜色数据的值(坐标)之间的连续性。
特别地,当在颜色空间中的位置由坐标指定的输入颜色数据处于 灰轴上的其中一个单位立方体中时,单位立方体的六个顶点分成两个 群组。也就是说,除了分别设置在灰轴的对角线两端的顶点S0和S6 之外,根据顶点S0和S6谁更近,将六个顶点S1至S5以及S7分组。 因此如图4所示,各顶点分为包括靠近顶点S0的顶点S1、 S3和S4的第一群组,以及包括靠近顶点S6的顶点S2、 S5和S7的第二群组。
接着,从每个群组的三个顶点中选择其中的至少一个顶点,用每 个群组中其它顶点处的转换系数以及顶点S0和S6处的转换系数所表 示的置换转换系数将所选择的顶点处的转换系数置换。特别地,将所 选择的顶点处的转换系数置换为使得每个群组中三个顶点处的转换系 数的总和变成顶点S0和S6处的转换系数的线性组合,例如比例为1:2 或2:1的线性组合。
例如,将包括靠近顶点S0的顶点Sl、 S3和S4的第一群组中的至 少其中一个顶点处的转换系数置换为使得S1+S3+S4=2S0+S6。此外, 将包括靠近顶点S6的顶点S2、 S5和S7的第二群组中的至少其中一个 顶点处的转换系数置换为使得S2+S5+S7=S0+2S6。这里,上述表达式 中的S0至S7不是用于表示顶点,而是用于表示顶点S0至S7处的转 换系数。
上述表达式表明,和每个群组中的三个顶点所包围的三维颜色空 间中的三角形与单位立方体的设置在灰轴上的对角线之间的交叉点处 的输入颜色数据对应的输出颜色数据由和处于对角线两端的顶点SO和 S6的输入颜色数据对应的输出颜色数据之间的线性插值表示。结果, 保证了处于单位立方体的设置在灰轴上的对角线上的输入颜色数据转 换为灰色输出颜色数据。此外,保证了设置在灰轴上的对角线附近的 不同输出颜色数据之间的连续性。
这里,可任意选择待置换的转换系数。但是,例如优选地根据输 入颜色数据处于六个四面体中的哪一个中来选择两个转换系数,这六 个四面体将灰轴上的单位立方体划分成使得它们共享作为其中一条边 的设置在灰轴上的单位立方体的对角线,来定位输入颜色数据。
在图5所示的单位立方体(其中连接顶点S0与S6的对角线设置在灰轴上)中,六个四面体(将单位立方体划分成使得它们共享作为其中一
条边的灰轴上的对角线)包括i)顶点S0、 S5、 S1和S6所包围的四面 体;ii)顶点S0、 Sl、 S2和S6所包围的四面体;iii)顶点S0、 S2、 S3 和S6所包围的四面体;iv)顶点S0、 S3、 S7和S6所包围的四面体; v)顶点S0、 S7、 S4和S6所包围的四面体;以及vi)顶点S0、 S4、 S5 和S6所包围的四面体。
例如,当输入颜色数据所处的四面体具有单位立方体的两相邻表 面的对角线作为两条边时,优选地,置换离相邻表面共享的单位立方 体的其中一条边最远的单位立方体的边的两端的顶点处的转换系数。
接着,说明采用根据本发明的颜色转换方法的示例性颜色转换电路。
图1示出根据本发明的颜色转换电路的示例性构造。图1所示的 示例性颜色转换电路IO包括地址产生电路12、三维查找表(LUT)14、 比较电路16、置换电路18以及插值电路20。示例性颜色转换电路10 接收每个R、 G、 B原色的10位输入颜色数据R[9:0]、 G[9:0]、 B[9:0]。 示例性颜色转换电路IO输出每个R、 G、 B原色的IO位输出颜色数据 R'[9:0]、 G'[9:0]、 B'[9:0]。
地址产生电路12接收每个R、 G、 B原色的10位输入颜色数据 R[9:0]、 G[9:0]、 B[9:0]。地址产生电路12从10位输入颜色数据产生8 个地址信号,指定输入颜色数据所处的单位立方体的每个顶点SO至 S7。8个地址信号用作构成LUT 14的8个SRAM(静态随机访问存储器) 22a至22h的地址。
在该示例性实施例中,LUT 14由8个SRAM 22a至22h构成,这 8个SRAM 22a至22h存储单位立方体的顶点SO至S7处的转换系数。 地址信号从地址产生电路12输入到SRAM 22a至22h。示例性LUT 14将划分三维颜色空间的单位立方体的顶点SO至S7处的转换系数存储
在SRAM 22a至22h中。例如,如图7所示,三维颜色空间可划分为 256个单位立方体,每个单位立方体的尺寸为128(R)X 128(G)X 128(B)。
构成LUT 14的SRAM 22a至22h将输入颜色数据所处的单位立方 体的顶点S0至S7处的转换系数输出,顶点S0至S7由从地址产生电 路12输入的地址信号指定。在组成颜色转换电路10的输出装置的启 动(上电)期间,例如通过总线从外部ROM(只读存储器)将顶点S0至S7 处的转换系数载入SRAM 22a至22h,所述总线与用于传输图像信号的 总线分开提供。
这里,不要求用多个SRAM构成LUT14。例如,可以用存储所有 单位立方体顶点处的转换系数的单个SRAM构成LUT 14。在这种情况 下,指定8个顶点S0至S7的地址信号从地址产生电路12逐个供应给 LUT 14,存储在由地址信号指定的存储器地址中的转换系数接连地输 出。另一方面,如图1所示,通过用8个SRAM22a至22h构成LUT 14, 可以同时从地址产生电路12输入指定8个顶点的8个地址信号,以及 同时输出8个顶点处的转换系数。结果,可迅速进行颜色转换。
当用多个SRAM构成LUT 14时,不要求在每个SRAM中存储所 有单位立方体所有顶点处的转换系数。例如,当颜色空间如图7所示 分为多个单位立方体时,在其中一个原色(例如,R)的方向上,只有奇
数顶点处的转换系数和偶数顶点处的转换系数的其中一种可存储在每 个SRAM中。也就是说,例如,每个SRAM 22a、 22c、 22e和22g可 存储图7所示R-0、 256、 768和1024的平面上的顶点处的转换系数。 另一方面,每个SRAM22b、 22d、 22f和22h可存储R=128、 384、 640 和896的平面上的顶点处的转换系数。即使在这种情况下,8个顶点处 的8个转换系数也可以同时输出,因为每一个单位立方体有四个奇数 顶点和四个偶数顶点。输入颜色数据的每个原色R、 G、 B的高三位R[9:7]、 G[9:7]、 B[9:7] 被输入比较电路16。比较电路16对每个原色R、 G、 B的高三位进行 比较,并输出表明是否满足R[9:7;hG[9:7]-B[9:7]的比较结果。当满足 R[9:7]-G[9:7;hB[9:7]时(即比较结果-l时),输入颜色数据处于灰轴上 的其中一个单位立方体中。然而,当不满足R[9:7]-G[9:7]-B[9:7]时(即
比较结果-0时),输入颜色数据处于除了灰轴上的单位立方体之外的其 中一个单位立方体中。
输入颜色数据的每个原色R、 G、 B的低七位R[6:0]、 G[6:0]、 B[6:0] 被输入置换电路18。此外,将转换系数SO至S7从LUT 14输入置换 电路18,并且将比较结果从比较电路16输入置换电路18。
当从比较电路16输入的比较结果为"1"时,置换电路18将从 LUT 14输入的、输入颜色数据所处的单位立方体的顶点S0至S7处的 一些转换系数置换。特别地,置换电路18将除了设置在灰轴上的对角 线两端的顶点S0和S6之外的六个顶点Sl至S5以及S7分成两个群组, 并从每个群组中选择至少其中一个顶点。此外,置换电路18用置换转 换系数将所选择的顶点处的转换系数置换,并在置换后将转换系数S0' 至S7'输出到插值电路20。
另一方面,当从比较电路16输入的比较结果为"0"时,置换电 路18不对LUT 14输入的转换系数进行置换。也就是说,置换电路18 不进行置换,输出转换系数S0至S7作为置换后的转换系数S0'至S7'。
准备置换转换系数以置换转换系数S0至S7中的一些,从而产生 置换后的转换系数S0'至S7'。当每个群组中的至少其中一个顶点处的 转换系数被置换时,如上所述,置换转换系数可由同一群组中的其它 顶点处的转换系数和顶点S0和S6处的转换系数表示。特别地,准备 用于置换靠近顶点S0的第一群组顶点Sl、 S3和S4的一个以上处的转 换系数的置换转换系数,使得置换后的转换系数满足S1'+S3'+S4'=2S0'+S6'。此外,准备用于置换靠近顶点S6的第二群组顶 点S2、 S5和S7的一个以上处的转换系数的置换转换系数,使得置换 后的转换系数满足S2'+S5'+S7'=S0'+2S6'。
当置换每个群组中的其中一个转换系数时,例如,转换系数S2可 用2S6+S0-S7-S5置换。由此,能够保持关系S2'+S5'+S7'=2S6'+S0'。在 本实例中,2S6+S0-S7-S5是置换S2(即顶点S2处的转换系数)的置换转 换系数。当置换每个群组中的两个转换系数时,例如,S2可用S0+2S6 置换,S7可用-S5置换。由此,能够保持关系S2'+S5'+S7'=2S6'+S0'。
接着,将置换S0'至S7'后的转换系数从置换电路18输入到插值电 路20。插值电路20利用插值公式进行插值,插值公式包括在三原色方 向上的输入颜色数据的坐标与置换后的转换系数S0'至S7'的乘积。这 样,插值电路20转换输入颜色数据R
、 G[9:0]、 B[9:0],产生并输 出转换后的颜色数据R'[9:0]、 G'[9:0]、 B'[9:0]。
在传统的颜色转换电路中,插值电路利用输入颜色数据所处的单 位立方体的顶点SO至S7处的、存储在LUT中的转换系数SO至S7进 行插值。在根据本发明的颜色转换电路的示例性实施例中,在LUT14 与插值电路20之间提供置换电路18。因此,插值电路20利用置换电 路18进行的置换后的转换系数SO'至S7'进行插值。
接着,说明置换电路18的示例性实施例。
图2示出图1所示置换电路18的示例性构造。图2所示的示例性 置换电路18包括第一单个置换电路24a,用于置换顶点S3处的转换 系数;第二单个置换电路24b,用于置换顶点Sl处的转换系数;第三 单个置换电路24c,用于置换顶点S4处的转换系数;第四单个置换电 路24d,用于置换顶点S7处的转换系数;第五单个置换电路24e,用 于置换顶点S5处的转换系数;第六单个置换电路24f,用于置换顶点S2处的转换系数。
这里,当输入颜色数据处于灰轴上的其中一个单位立方体中时, 要求置换。比较电路16确定输入颜色数据是否处于灰轴上的其中一个 单位立方体中。当比较电路16供应的比较结果为"1"时,置换电路
18进行置换。另一方面,当比较结果为"0"时,置换电路18不进行 置换。这样,虽然在图2中没有示出,但是置换电路18实际上包括开 关电路,根据比较结果控制其操作。换而言之,假定比较结果为"1", 图2仅示出当比较结果为"1"时置换电路18操作的部分。
即使当输入颜色数据处于灰轴上的其中一个单位立方体中时,顶 点S0和S6处的转换系数也不需要置换,因为这些顶点在灰轴上。因 此,从LUT 14输入到置换电路18的这些顶点处的转换系数不经置换 地输出作为置换后的转换系数S0'和S6'。
在图2中,当输入到置换电路18的输入颜色数据的低七位分别具 有关系R[6:0〗》B[6:0]、B[6:0]》G[6:0]、G[6:0]》R[6:0]时,"R>=B "、 "B>=G " 、 "G>=R "变为"1"。否则它们变为"0"。类似地, 在图2中,当输入到置换电路18的输入颜色数据的低七位具有关系 R[6:0] =G[6:0] ^B[6:0]时,"R=G=B "变为"1"。否则"R=G=B " 变为"0"。如上所述,这里的说明假定比较电路16检测到R[9:7] =G[9:7] =B[9:7]。因此,如果检测到在置换电路中R[6:0] =G[6:0] =B[6:0],则 R[9:0] =G[9:0] =B[9:0]。这样,输入颜色数据处于灰轴上。
图2的上半部示出分别用于置换顶点S3、 Sl和S4处的转换系数 的单个置换电路24a、 24b和24c,顶点S3、 SI和S4为靠近顶点SO 的顶点群组。同时,图2的下半部示出分别用于置换顶点S7、 S5和S2 处的转换系数的单个置换电路24d、 24e和24f,顶点S7、 S5和S2为 靠近顶点S6的顶点群组。。用于置换顶点S3处的转换系数的第一单个置换电路24a由反相器 26、"与"电路28和多路复用器30构成。比较结果"R>=B "被输入 "与"电路28。比较结果"B>=G "通过反相器26产生的反相信号 "G>B "也被输入"与"电路28。此外,置换转换系数2S0+S6-S4-S1 被输入多路复用器30的输入端子1。转换系数S3被输入多路复用器 30的输入端子0。"与"电路28的输出信号被输入多路复用器30的 选择输入端子。多路复用器30输出经置换后的转换系数S3'。
在第一单个置换电路24a中,当R[6:0]^B[6:0]并且G[6:0]>B[6:0] 时,也就是当B[6:0]在R[6:0]、 G[6:0]和B[6:0]中最小时,"与"电路 28的输出信号变为"1"。因此,置换转换系数2S0+S6-S4-S1从多路 复用器30输出作为置换后的转换系数S3'。否则,"与"电路28的输 出信号变为"0",转换系数S3照原样输出作为置换后的转换系数S3'。 换而言之,当输入颜色数据处于顶点SO、 S5、 S1和S6所包围的四面 体中时,或者处于顶点SO、 S4、 S5和S6所包围的四面体中时(在任一 情况下,除了将顶点SO与S6相连接的对角线上的区域之外),输出置 换转换系数2S0+S6-S4-S1。再换而言之,当位于从顶点SO的B轴方向 上的顶点S3离输入颜色数据最远时,输出置换转换系数2S0+S6-S4-S1。 否则,转换系数S3照原样输出作为置换后的转换系数S3'。
用于置换顶点Sl处的转换系数的第二单个置换电路24b的构造与 第一单个置换电路24a的构造相似。但是,第一单个置换电路24a中的
比较结果"R>=B"、反相信号"G>B "、转换系数S3以及置换转换 系数2S0+S6-S4-S1分别被第二单个置换电路24b中的比较结果 "G>=R "、反相信号"B>R "、转换系数Sl以及置换转换系数 2S0+S6-S4-S3所代替。
当G[6:0]^R[6:0]并且B[6:0]〉R[6:0]时,也就是当R[6:0]在R[6:0]、 G[6:0]和B[6:0]中最小时,第二单个置换电路24b从多路复用器30输 出置换转换系数2S0+S6-S4-S3作为置换后的转换系数Sl'。换而言之,当输入颜色数据处于顶点S0、 S3、 S7和S6所包围的四面体中时,或 者处于顶点S0、 S7、 S4和S6所包围的四面体中时(在任一情况下,除 了将顶点S0与S6相连接的对角线上的区域之外),第二单个置换电路 24b输出置换转换系数2S0+S6-S4-S3。再换而言之,当位于从顶点S0 的R轴方向上的顶点Sl离输入颜色数据最远时,第二单个置换电路 24b输出置换转换系数2S0+S6-S4-S3。否则,转换系数Sl照原样输出 作为置换后的转换系数S1'。
用于置换顶点S4处的转换系数的第三单个置换电路24c的构造与 第一单个置换电路24a的构造相似。但是,第三单个置换电路24c还包 括"或"电路32,"与"电路28的输出信号和比较结果"R=G=B " 被输入"或"电路32。"或"电路32的输出信号被输入多路复用器 30的选择输入端子。此外,第一单个置换电路24a中的比较结果 "R>=B"、反相信号"G>B "、转换系数S3以及置换转换系数 2S0+S6-S4-S1分别被第三单个置换电路24c中的比较结果"B>=G "、 反相信号"R>G "、转换系数S4以及置换转换系数2S0+S6-S1-S3所 代替。
当不满足R[6:0] =G[6:0] =8[6:0]时第三单个置换电路24c的操作 与第一单个置换电路24a的操作相似,也就是,i)当B[6:0]》G[6:0] 并且R[6:0]〉G[6:0]时(也就是当G[6:0]在R[6:0]、 G[6:0]和B[6:0]中最小 时),或者换而言之,ii)当输入颜色数据处于顶点S0、 Sl、 S2和S6 所包围的四面体中时,或者处于顶点SO、 S2、 S3和S6所包围的四面 体中时(在任一情况下,除了将顶点SO与S6相连接的对角线上的区域 之外),或者再换而言之,iii)当位于从顶点SO的G轴方向上的顶点 S4离输入颜色数据最远时,从多路复用器30输出置换转换系数 2S0+S6-S1-S3作为置换后的转换系数S4'。否则(除了满足 R[6:0hG[6:0]-B[6:0]的情况之外),转换系数S4照原样输出作为置换后 的转换系数S4'。另一方面,当满足R[6:0^G[6:0PB[6:0]时,第三单个置换电路24c 输出置换转换系数2S0+S6-S1-S3作为置换后的转换系数S4'。
用于置换顶点S7处的转换系数的第四单个置换电路24d的构造和 操作、以及用于置换顶点S5处的转换系数的第五单个置换电路24e的 构造和操作,与第一单个置换电路24a的构造和操作相似。此外,用于 置换顶点S2处的转换系数的第六单个置换电路24f的构造和操作与第 三单个置换电路24c的构造和操作相似。因此,省略这些单个置换电路 的详细说明。
也就是说,在用于置换顶点S7处的转换系数的第四单个置换电路 24d中,i)当R[6:0]》B[6:0]并且R[6:0]〉G[6:0]时(也就是当R[6:0]在 R[6:0]、 G[6:0]和B[6:0]中最大时),或者换而言之,ii)当输入颜色数 据处于顶点S0、 S5、 Sl和S6所包围的四面体中时,或者处于顶点S0、
51、 S2和S6所包围的四面体中时(在任一情况下,除了将顶点S0与 S6相连接的对角线上的区域之外),或者再换而言之,iii)当位于从顶 点S6的R轴的负方向上的顶点S7离输入颜色数据最远时,从多路复 用器30输出置换转换系数2S6+S0-S5-S2作为置换后的转换系数S7'。 否则,转换系数S7照原样输出作为置换后的转换系数S7'。
在用于置换顶点S5处的转换系数的第五单个置换电路24e中,i) 当B[6:0]》G[6:0]并且B[6:0]〉R[6:0]时(也就是当B[6:0]在R[6:0]、G[6:0] 和B[6:0]中最大时),或者换而言之,ii)当输入颜色数据处于顶点S0、
52、 S3和S6所包围的四面体中时,或者处于顶点S0、 S3、 S7和S6 所包围的四面体中时(在任一情况下,除了将顶点SO与S6相连接的对 角线上的区域之外),或者再换而言之,iii)当位于从顶点S6的B轴的 负方向上的顶点S5离输入颜色数据最远时,从多路复用器30输出置 换转换系数2S6+S0-S7-S2作为置换后的转换系数S5'。否贝lj,转换系数 S5照原样输出作为置换后的转换系数S5'。在用于置换顶点S2处的转换系数的第六单个置换电路24f中,i) 当G[6:0]^R[6:0]并且G[6:0]〉B[6:0]时(也就是当G[6:0]在R[6:0]、G[6:0] 和B[6:0]中最大时),或者换而言之,ii)当输入颜色数据处于顶点SO、 S7、 S4和S6所包围的四面体中时,或者处于顶点SO、 S4、 S5和S6 所包围的四面体中时(在任一情况下,除了将顶点SO与S6相连接的对 角线上的区域之外),或者再换而言之,iii)当位于从顶点S6的G轴的 负方向上的顶点S2离输入颜色数据最远时,从多路复用器30输出置 换转换系数2S6+S0-S7-S5作为置换后的转换系数S2'。否则(除了满足 R[6:0hG[6:0^B[6:0]的情况之外),转换系数S2照原样输出作为置换后 的转换系数S2'。
另一方面,当满足R[6:0^G[6:0hB[6:0]时,第六单个置换电路24f 输出置换转换系数2S6+S0-S7-S5作为置换后的转换系数S2'。
如上所述,当比较电路16输入的比较结果为"1"时,也就是当 输入颜色数据处于灰轴上的其中一个单位立方体中时,置换电路18将 一些转换系数置换。
特别地,当满足R[6:0^B[6:0hG[6:0]时,也就是说,当输入颜色 数据处于颜色空间的灰轴上时,输入颜色数据所处的单位立方体的顶 点S4和S2处的转换系数被置换,使得插值变为与处于顶点SO和S6(设 置在灰轴上)的输入颜色数据对应的输出颜色数据之间的线性插值。这 样,因为顶点SO和S6处的转换系数被设定为使得与处于每个顶点SO 和S6处的输入颜色数据对应的输出颜色数据满足R=G=B,所以保证 了输出颜色数据为灰色。
注意,当输出颜色数据处于灰轴上时,置换顶点S4和S2处的转 换系数并非绝对必要。例如,根据对角线两端的哪个顶点更近,可以 将除了设置在灰轴上的单位立方体的对角线两端的两个顶点之外的六 个顶点分成两个群组。然后,可任意选择每个群组中的其中一个顶点,并置换所选择的其中一个顶点处的转换系数。或者,也可以置换从每 个群组中选择的两个顶点处的转换系数。另一方面,当不满足R[6:0hB[6:0H3[6:0]时,也就是说,当输入 颜色数据处于灰轴上的其中一个单位立方体中,但是不是在灰轴上时, 从输入颜色数据所处的单位立方体的顶点的每个群组中选择其中一个 顶点,并置换所选择的顶点处的转换系数。这里,根据对角线两端的 哪个顶点更近,将除了设置在灰轴上的对角线两端的两个顶点之外的 六个顶点分组,形成群组。更具体地,从每个群组中选择离输入颜色 数据最远的其中一个顶点。按照示例性实施例的另一方面,根据输入颜色数据处于六个四面 体的哪一个中来选择顶点,这六个四面体通过划分单位立方体而形成, 使得每个四面体共享设置在灰轴上的单位立方体的对角线作为一条 边。并且所选择的顶点处的转换系数被置换。特别地,当输入颜色数 据所处的四面体具有单位立方体的两个相邻表面的对角线作为两条边 时,离单位立方体由两个相邻表面所共享的其中一个边最远的、单位立方体的边的两端的两个顶点被选择。并且所选择的顶点处的转换系 数被置换。例如,顶点S0、 S7、 S4和S6所包围的其中一个四面体具有将顶 点S0与S7相连接的对角线和将顶点S4与S6相连接的对角线作为两 条边。这些是顶点S0、 S4、 S7和S3所包围的单位立方体的表面与顶 点S4、 S7、 S6和S5所包围的单位立方体的表面的对角线。单位立方 体的这两个表面共享将顶点S4与S6相连接的边。将顶点Sl与S2相 连接的边距离这个边最远。因此,当输入颜色数据处于顶点S0、 S7、 S4和S6所包围的这个四面体中时,顶点Sl和S2处的转换系数被置 换。通过置换以这种观点选择的顶点处的转换系数,保持了与灰轴上其中一个单位立方体中的不同输入颜色数据对应的不同输出颜色数据 之间的连续性。也就是说,保持了对应于第一输入颜色数据的第一输 出颜色数据与对应于第二输入颜色数据的第二输出颜色数据之间的连 续性,第一输入颜色数据处于单位立方体的设置在灰轴上的对角线上, 第二输入颜色数据处于同一单位立方体中,但是不在对角线上。
在颜色转换的一些用途中,如果将处于灰轴上的输入颜色数据转 换为灰色输出颜色数据,则已足够。对于这种用途,仅当输入颜色数 据处于灰轴上时进行置换就足够了。在一些其它用途中,要求保持灰 轴周围输出颜色数据的连续性。对于这种用途,优选地,当输入颜色 数据处于灰轴上的其中一个单位立方体中时进行置换,即使输入颜色 数据不处于灰轴上。
此外,通过适当地设定待置换的转换系数和置换转换系数,不仅 可以保持与处于灰轴上同一单位立方体中的输入颜色数据对应的输出 颜色数据之间的连续性,还可以保持对应于第一输入颜色数据的第一 输出颜色数据与对应于第二输入颜色数据的第二输出颜色数据之间的 连续性,第一输入颜色数据处于灰轴上的单位立方体中,第二输入颜 色数据处于与灰轴上的单位立方体相邻的单位立方体中。图2中所示 的置换电路18是示例性置换电路,进行置换使得不仅保持与处于灰轴 上同一单位立方体中的输入颜色数据对应的输出颜色数据之间的连续 性,还保持与处于相邻单位立方体中的第一、第二输入颜色数据对应 的第一、第二输出颜色数据之间的连续性。
接着,简单说明颜色转换电路io的操作。
当将每个R、G、B原色的10位输入颜色数据R[9:0]、G[9:0]、B[9:0] 输入地址产生电路12时,地址产生电路12产生8个地址信号,这8 个地址信号指定输入颜色数据所处的单位立方体的8个顶点S0至S7。然后,构成LUT 14的SRAM 22a至22h输出顶点SO至S7处的 转换系数,这些转换系数存储在由地址产生电路12输入的地址信号指 定的各个地址中。此外,比较电路16比较R、 G、 B原色的高三位R[9:7]、 G[9:7]、 B[9:7],并输出表明是否满足R[9:7;hG[9:7:hB[9:7]的比较结果。输入颜色数据所处的单位立方体的顶点S0至S7处的转换系数从 LUT14输入到置换电路18。当从比较电路16输入比较结果"1"时, 置换电路18用上述的置换转换系数置换一些转换系数,比较结果"1" 表明输入颜色数据处于灰轴上的其中一个单位立方体中。置换后的转换系数S0'至S7'也从置换电路18输入插值电路20。R、 G、 B原色的输入颜色数据的低七位R[6:0]、 G[6:0]、 B[6:0]也输入插值 电路20。插值电路20利用输入颜色数据的值(坐标)和置换后的转换系 数SO'至S7'进行插值。因此,插值电路20产生从输入颜色数据R[9:0]、 G[9:0]、 B[9:0]转换得到的输出颜色数据R'[9:0]、 G'[9:0]、 B'[9:0]并将 其输出。在图1所示的示例性颜色转换电路10中,输入颜色数据的低七位 被输入插值电路20。输入颜色数据的低七位表明输入颜色数据所处的 单位立方体中输入颜色数据的位置,或者与单位立方体的顶点SO相关 的输入颜色数据的坐标。这里,SO是输入颜色数据所处的单位立方体 的8个顶点中离颜色空间的原点最近的顶点。也就是说,输入颜色数 据对于每个原色的坐标在顶点SO变为最小值。插值电路20利用输入颜色数据的相关坐标和置换后的转换系数 S0'至S7'进行插值。另一方面,也可以将输入颜色数据的全部位输入插 值电路,并利用由输入颜色数据的全部位指定的、输入颜色数据在整 个颜色空间中的坐标进行插值。接着,说明置换电路18中的示例性置换结果。
如先前参照图8所说明的,输入颜色数据所处的单位立方体的内 部区域划分为8个区域(长方体),每个区域都以输入颜色数据(即颜色 空间中的输入颜色数据由坐标指定的位置)作为顶点。利用8个分开区
域(长方体)的体积和单位立方体顶点处的转换系数,进行插值。利用8
个长方体的体积的插值公式可用下面的表达式(l)表示,利用了与顶点
S0相关的、输入颜色数据按照R、 G、 B原色取的坐标的相关值r、 g、 b(用栅格的长度L归一化,在顶点S0变为r=g=b=0,在顶点S6变为 r=g=b=l):
S0r'g'b'+Slrg'b'+S2rg'b+S3r'g'b+S4r,gb'+S5rgb'+S6rgb+S7r'gb (1) 这里,r'=l-r, g'=l-g, b'=l-b。
表达式(l)中的项表示8个分开的长方体的体积与各个顶点处的转 换系数的乘积。利用转换系数在每个原色中的分量,通过表达式(l)计 算输出的(或转换后的)颜色数据在每个原色中的值或坐标。
在图1所示的示例性颜色转换电路10中,插值电路20利用与单 位立方体中的输入颜色数据的位置无关的表达式(l)的公式进行插值。 但是,置换电路18根据单位立方体中的输入颜色数据的位置来置换一 些转换系数,并且插值电路20利用经置换电路18置换后的转换系数 来进行插值。因此,图1所示的颜色转换电路10利用表达式(1)的单一 转换公式,根据输入颜色数据的位置进行输入颜色数据的转换。
首先,当输入颜色数据处于灰轴上(R-G-B)时,转换系数S2和S4 在图2的置换电路18中被置换。特别地,示例性置换电路18分别用 置换转换系数2S6+S0-S7-S5和2S0+S6-S1-S3将转换系数S2和S4置 换。结果,插值表达式(l)以输入颜色数据的坐标r(^g-b)所确定的插值比例变换为顶点S0和S6处的转换系数之间的线性表达式(2)。 r'S0+rS6 (2)因此,如果将顶点S0和S6处的转换系数设定为使得处于这些顶 点任一个处的输入颜色数据被转换为满足R:G-B的输出颜色数据,则 灰轴上的输入颜色数据被转换为灰色输出颜色数据。接着,当输入颜色数据处于图6所示的四面体r》g》b中除了对 角线Fg4上的区域之外时,转换系数S3和S7在图2的置换电路18 中被置换。特别地,示例性置换电路18分别用置换转换系数 2S0+S6-S4-S1和2S6+S0-S5-S2将转换系数S3和S7置换。在这种情况 下,表达式(1)的插值公式变换为下面的表达式(3)。r'(g'+b)S0+g'(r-b)Sl+b(r-g)S2+r'(g-b)S4+g(r-b)S5+(r'+g)bS6 (3)当r=g=b时该表达式变为与表达式(2)相同。也就是说,当Fg^时,在四面体r》g》b中(除了对角线r-g^ 上的区域之外)插值表达式(3)变为与灰轴(对角线)上使用的表达式相 同。这样,保证了对应于四面体r^g》b中(除了对角线r-g二b上的区 域之外)的输入颜色数据的输出颜色数据与对应于灰轴上的输入颜色数 据的输出颜色数据之间的连续性。该四面体r》g》b在Fl的表面(图6中的右表面)和在b-l的表面 (图6中的前表面)接触各个相邻的单位立方体。当r=l时表达式(3)变换 为下面的表达式(4)。g'b'Sl+g'bS2+gb'S5+gbS6 (4)这个变换后的表达式(4)与假定r=l时从表达式(l)变换得到的表达 式一致。也就是说,变换后的表达式(4)与用于相邻单位立方体的r=l 表面上的插值的表达式一致。注意,因为相邻单位立方体不处于灰轴 上,所以在相邻单位立方体中不进行转换系数的置换。假定b=0时从 表达式(3)变换得到的表达式也与相邻单位立方体的b=0表面上的表达 式(1)一致。结果,在相邻单位立方体之间的界面上,输出颜色数据连 续地变化。接着,讨论六个四面体之间的界面上输出颜色数据的连续性,这 六个四面体将单位立方体划分成使得每个四面体共享作为一条边的连接单位立方体的顶点S0与S6的对角线。例如,当r》g^时,表达式(3)变换为下面的表达式(5)。r'S0+g'(r-g)Sl+g(r-g)S2+g(r-g)S5+(r'+g)gS6 (5)另一方面,当r》b》g时,图2的示例性置换电路18将顶点S4 和S7处的转换系数置换。置换后的插值表达式变为下面的表达式(6)。r'(g+b')S0+(r-g)b'Sl+(r-g)bS2+r'(b-g)S3+g(r-b)S5+g(r'+b)S6 (6)当r》g=b时,该表达式(6)变为下面的表达式(7),表达式(7)与从 表达式(3)变换得到的表达式一致,表达式(3)是用于区域r》g》b的插 值表达式。r'S0+(r-g)g'Sl+(r-g)gS2+g(r-g)S5+g(r'+g)S6 (7)这个结果表明,随着输入颜色数据的值(或坐标)越过四面体r》g 》b与四面体r》b》g之间的界面的变化,经转换后的输出颜色数据的 值(或坐标)连续地变化。此外,在除了上述之外的四面体之间的界面上,随着输入颜色数 据的值(或坐标)的变化,经转换后的输出颜色数据的值(或坐标)连续地 变化,而不管以下事实图2的示例性置换电路18根据输入颜色数据 处于哪一个四面体中,对不同的转换系数进行置换。
如上所述,在示例性颜色转换电路10中,不用增加电路的尺寸就 能保证与灰轴上的任意输入颜色数据对应的输出颜色数据是灰色。假 如单位立方体的设置在灰轴上的对角线两端顶点处的转换系数被设定 为使得处于对角线两端顶点处的输入颜色数据被转换为满足R:G^B的
输出颜色数据,则保证了输出颜色数据为灰色,与存储在三维LUT中
的值无关。此外,保持了对应于处于灰轴上的单位立方体中的不同输 入颜色数据的输出颜色数据之间的连续性。此外,保持了对应于处于 灰轴上的单位立方体中的输入颜色数据的输出颜色数据与对应于处于 相邻单位立方体中的输入颜色数据的输出颜色数据之间的连续性。
这里,专利文献2的目的与本发明的一些目的相似。也就是说, 专利文献2公开的颜色转换处理设备和颜色转换处理方法能够保持转 换后的颜色数据之间的连续性。
但是,专利文献2对于不同的区域采用不同的插值方程式。因此, 根据专利文献2的颜色转换处理设备需要多个插值电路,这些插值电 路对于各个区域采用不同的插值表达式。结果,电路的尺寸变大。与 之不同的是,根据本发明的示例性颜色转换电路和示例性颜色转换方 法根据输入颜色数据的位置将一些转换系数置换,仅采用单一的插值 表达式。因此,在根据本发明的示例性颜色转换电路中,虽然需要置 换电路,但是不需要多个插值电路。结果,相比于根据专利文献2的 颜色转换处理设备,电路的尺寸可减小。
如背景技术部分所述,本发明的示例性实施例特别适于诸如用于 电视机的图像质量改善电路这样的应用,在电视机中输入颜色数据和输出颜色数据都在同一个RGB颜色空间内。但是,本发明的示例性实 施例的应用并不限于输入颜色数据和输出颜色数据都在同一个颜色空 间内的情况。本发明的各种示例性实施例还可用于在不同颜色空间内
输入颜色数据与输出颜色数据之间的转换,例如从RGB颜色空间转换 到CMY颜色空间,或者从CMY颜色空间转换到RGB颜色空间。
根据本发明的各种示例性颜色转换电路,不需要用SRAM构造 LUT。可用各种半导体存储器例如ROM和RAM构造LUT。此外,还 可以将地址产生电路合并在LUT中。在图l所示的示例性颜色转换电 路中,地址产生电路向LUT供应地址信号,LUT输出存储在地址信号 指定的地址中的转换系数,而置换电路接收从LUT输出的转换系数。 但是,也可以将颜色转换电路构造为使得置换电路向LUT供应地址信 号。此外,置换电路的构造不限于图2所示的具体实例。插值电路不 限于利用划分单位立方体的区域(长方体)的体积进行三维插值的电路。 根据各种示例性颜色转换电路,也可以采用进行各种多维插值的插值 电路。
根据本发明的各种示例性颜色转换方法可通过硬件执行,例如图1 所示的示例性颜色转换电路10。但是,根据本发明的各种示例性颜色 转换方法也可以通过在计算机中实现的软件来执行。例如,在诸如 CPU(中央处理器)这样的控制电路中执行的程序可构成地址产生电路、 比较电路、置换电路以及插值电路的功能。由控制电路控制的存储器 装置可构成LUT的功能。
至此,参照具体实例说明了根据本发明的示例性颜色转换电路和 示例性颜色转换方法。但是无须说明,本发明不限于上述的具体实例。 在本发明的精神范围内,对本发明可进行各种改善和修改。
权利要求
1.一种用于将输入颜色数据转换为输出颜色数据的颜色转换电路,所述输入颜色数据处于三维颜色空间中由所述输入颜色数据的坐标所指定的位置,所述三维颜色空间被划分为多个具有固定尺寸的单位立方体,所述转换电路包括三维查找表,其存储所述多个单位立方体的各个顶点处的转换系数;置换电路,其从所述三维查找表读取所述输入颜色数据所处的其中一个所述单位立方体的顶点处的转换系数,并且从所述查找表读取的所述转换系数中的一些用由从所述查找表读取的所述转换系数中的其它一些通过公式所表示的置换转换系数进行置换;以及插值电路,其利用长方体的体积根据经过所述置换的所述转换系数进行插值以产生所述输出颜色数据的转换后的坐标,所述长方体将所述单位立方体中的所述一个划分成使得每个所述长方体共享所述输入颜色数据作为顶点,其中,当所述单位立方体中的所述一个具有设置在所述颜色空间的灰轴上的对角线并且所述输入颜色数据处于所述对角线上时,所述置换电路进行所述置换,使得所述插值变为转换自处于所述对角线两端的顶点处的输入颜色数据的输出颜色数据之间的线性插值。
2. —种用于将输入颜色数据转换为输出颜色数据的颜色转换电 路,所述输入颜色数据处于三维颜色空间中由所述输入颜色数据的坐 标所指定的位置,所述三维颜色空间被划分为多个具有固定尺寸的单 位立方体,所述转换电路包括三维査找表,其存储所述多个单位立方体的各个顶点处的转换系数;置换电路,其从所述三维査找表读取所述输入颜色数据所处的其 中一个所述单位立方体的顶点处的转换系数,并且当所述单位立方体 中的所述一个具有设置在所述颜色空间的灰轴上的对角线时,所述置换电路对从所述査找表读取的所述转换系数中的一些用由从所述查找 表读取的所述转换系数中的其它一些通过公式所表示的置换转换系数 来进行置换,所述置换电路根据在所述单位立方体中的所述一个里面 的所述输入颜色数据的位置,选择要置换的所述转换系数中的所述一 些;以及插值电路,其利用与在所述单位立方体中的所述一个里面的所述 输入颜色数据的位置无关的单一插值表达式,根据经过所述置换的所 述转换系数进行插值,以产生所述输出颜色数据的转换后的坐标。
3. 如权利要求2所述的颜色转换电路,其中,所述单一插值表达 式包括长方体的体积,所述长方体将所述单位立方体中的所述一个划 分成使得每个所述长方体共享所述输入颜色数据作为顶点。
4. 如权利要求3所述的颜色转换电路,其中,当所述输入颜色数 据处于所述单位立方体中的所述一个的所述对角线上时,所述置换电 路进行所述置换使得所述插值变为转换自处于所述对角线两端的顶点 处的输入颜色数据的输出颜色数据之间的线性插值。
5. 如权利要求1或4所述的转换电路,其中所述输入颜色数据包括第一输入颜色数据和第二输入颜色数据, 所述第一输入颜色数据处于所述对角线上,所述第二输入颜色数据处 于所述单位立方体中的所述一个里面但不在所述对角线上;以及所述置换电路进行所述置换使得能够保持转换自所述第一输入颜 色数据的第一输出颜色数据与转换自所述第二输入颜色数据的第二输 出颜色数据之间的连续性。
6. 如权利要求1或4所述的颜色转换电路,其中 所述单位立方体中的所述一个的顶点,除所述对角线两端的顶点之外,还包括根据所述对角线两端的顶点中的哪个更近而分成两个群 组的六个其它顶点;以及所述置换电路从所述两个群组的每个中选择所述顶点中的至少一 个,并对所选择的顶点处的转换系数进行所述置换。
7. 如权利要求6所述的颜色转换电路,其中,所述置换电路进行 所述置换使得所述两个群组的每个中的所述顶点处的经过所述置换的 所述转换系数的总和由所述对角线两端的顶点处的所述转换系数的线 性组合表示。
8. 如权利要求1或4所述的颜色转换电路,其中 所述单位立方体中的所述一个的顶点,除所述对角线两端的顶点之外,还包括根据所述对角线两端的顶点中的哪个更近而分成两个群 组的六个其它顶点;以及当所述输入颜色数据处于所述单位立方体中的所述一个里面但不 在所述对角线上时,所述置换电路从所述两个群组的每个中选择所述 顶点中离所述输入颜色数据最远的一个,并对所选择的顶点处的转换 系数进行所述置换。
9. 如权利要求1或4所述的颜色转换电路,其中,当所述输入颜 色数据处于所述单位立方体中的所述一个里面但不在所述对角线上 时,所述置换电路根据所述输入颜色数据处于六个四面体中的哪个中 而选择要置换的所述转换系数中的所述一些,所述六个四面体将所述 单位立方体中的所述一个划分成使得每个所述四面体共享所述单位立 方体中的所述一个的所述对角线作为边。
10. 如权利要求9所述的颜色转换电路,其中所述输入颜色数据处于其中的所述六个四面体中的一个具有所述单位立方体中的所述一个的两个相邻表面的对角线作为两条边;以及 所述置换电路选择离由所述相邻表面共享的所述单位立方体中的 所述一个的边最远的所述单位立方体中的所述一个的最远的边的两端 顶点,并置换所选择的顶点处的转换系数。
11. 一种将输入颜色数据转换为输出颜色数据的方法,其包括 接收处于三维颜色空间中由输入颜色数据的坐标所指定的位置的输入颜色数据,所述三维颜色空间被划分为多个具有固定尺寸的单位 立方体;读取所述输入颜色数据所处的其中一个所述单位立方体的顶点处 的转换系数;所读取的转换系数中的一些用由所读取的转换系数中的其它一些通过公式所表示的置换转换系数进行置换;以及利用长方体的体积根据经过所述置换的所述转换系数进行插值以 产生所述输出颜色数据的转换后的坐标,所述长方体将所述单位立方 体中的所述一个划分成使得每个所述长方体共享所述输入颜色数据作 为顶点,其中,当所述单位立方体中的所述一个具有设置在所述颜色空间 的灰轴上的对角线并且所述输入颜色数据处于所述对角线上时,进行 所述置换使得所述插值变为转换自处于所述对角线两端的顶点处的输 入颜色数据的输出颜色数据之间的线性插值。
12. —种将输入颜色数据转换为输出颜色数据的方法,其包括接收处于三维颜色空间中由所述输入颜色数据的坐标所指定的位 置的输入颜色数据,所述三维颜色空间被划分为多个具有固定尺寸的单位立方体;读取所述输入颜色数据所处的其中一个所述单位立方体的顶点处 的转换系数;当所述单位立方体中的所述一个具有设置在所述颜色空间的灰轴 上的对角线时,所读取的所述转换系数中的一些进行置换用由所读取 的所述转换系数中的其它一些通过公式所表示的置换转换系数,所述 置换包括根据在所述单位立方体中的所述一个里面的所述输入颜色数 据的位置而选择要置换的所述转换系数中的所述一些;以及利用与在所述单位立方体中的所述一个里面的所述输入颜色数据的位置无关的单一插值表达式,根据经过置换的所述转换系数进行插 值,以产生所述输出颜色数据的转换后的坐标。
13. 如权利要求12所述的方法,其中,所述单一插值表达式包括 长方体的体积,所述长方体将所述单位立方体中的所述一个划分成使 得每个所述长方体共享所述输入颜色数据作为顶点。
14. 如权利要求13所述的方法,其中,当所述输入颜色数据处于所述单位立方体中的所述一个的所述对角线上时,进行所述置换使得 所述插值变为转换自处于所述对角线两端的顶点处的输入颜色数据的 输出颜色数据之间的线性插值。
15. 如权利要求11或14所述的方法,其中所述输入颜色数据包括第一输入颜色数据和第二输入颜色数据, 所述第一输入颜色数据处于所述对角线上,所述第二输入颜色数据处于所述单位立方体中的所述一个里面但不在所述对角线上;以及进行所述置换使得能够保持转换自所述第一输入颜色数据的第一 输出颜色数据与转换自所述第二输入颜色数据的第二输出颜色数据之 间的连续性。
16. 如权利要求11或14所述的方法,其中所述单位立方体中的所述一个的顶点,除所述对角线两端的顶点 之外,还包括根据所述对角线两端的顶点中的哪个更近而分成两个群组的六个其它顶点;以及所述置换包括从所述两个群组的每个中选择所述顶点中的至少一 个,从而将所选择的顶点处的转换系数置换。
17. 如权利要求16所述的方法,其中,执行所述置换使得所述两 个群组的每个中的所述顶点处的经过所述置换的所述转换系数的总和 由所述对角线两端的所述顶点处的所述转换系数的线性组合表示。
18. 如权利要求11或14所述的方法,其中所述单位立方体中的所述一个的顶点,除所述对角线两端的顶点 之外,还包括根据所述对角线两端的顶点中的哪个更近而分成两个群 组的六个其他的顶点;以及当所述输入颜色数据处于所述单位立方体中的所述一个里面但不 在所述对角线上时,所述置换包括从所述两个群组的每个中选择所述 顶点中离所述输入颜色数据最远的一个,从而将所选择的顶点处的转 换系数置换。
19. 如权利要求11或14所述的方法,其中,当所述输入颜色数 据处于所述单位立方体中的所述一个里面但不在所述对角线上时,所 述置换包括根据所述输入颜色数据处于六个四面体的哪个中而选择要 置换的所述转换系数中的所述一些,所述六个四面体将所述单位立方 体中的所述一个划分成使得每个所述四面体共享所述单位立方体中的 所述一个的所述对角线作为边。
20. 如权利要求19所述的方法,其中所述输入颜色数据处于其中的所述六个四面体中的一个具有所述 单位立方体中的所述一个的两个相邻表面的对角线作为两条边;以及所述置换包括选择离由所述相邻表面所共享的所述单位立方体中 的所述一个的边最远的所述单位立方体中的所述一个的最远的边的两 端顶点,从而将所选择的顶点处的转换系数置换。
全文摘要
颜色转换电路和颜色转换方法的示例性实施例将输入颜色数据转换为输出颜色数据。所述输入颜色数据处于三维颜色空间中,所述三维颜色空间被划分为多个具有固定尺寸的单位立方体。利用所述输入颜色数据处于其里面的所述单位立方体的顶点处的转换系数,通过进行插值来转换所述输入颜色数据。当所述输入颜色数据处于所述颜色空间的灰轴上时,置换电路将所述转换系数中的一些置换,使得插值变为线性插值。因此,保证了处于灰轴上的输入颜色数据被转换为灰色的输出颜色数据。
文档编号H04N1/60GK101287060SQ200810091040
公开日2008年10月15日 申请日期2008年4月10日 优先权日2007年4月10日
发明者渡边祥则 申请人:川崎微电子股份有限公司