用于校正彩色图像的系统和方法
技术领域
本发明涉及一种用于校正至少一个彩色图像的系统。
本发明还涉及一种用于校正至少一个彩色图像的方法。
背景技术
移动液晶显示器(LCD)由于它们采用了基于发光二极管(LED)技术的背光照明而展现出特殊的颜色特性。三原色红色、绿色和蓝色与欧洲广播联盟(EBU)所标准化的坐标或被定义为sRGB(标准红绿蓝)的坐标严重偏离。
关于这一点,必须考虑将根据CCIR(国际无线电咨询委员会)Rec.709(全球高清晰度电视色彩标准)的原色合并入sRGB规范。
然而,sRGB传递函数(Gamma 0.45)与为片场视频(studio video)标准化的传递函数不同(技术背景:CCIR Rec.709采用了根据EBU红、EBU蓝、以及由EBU绿和SMPTE(电影与电视工程师协会)绿四舍五入所得到的两位精度的平均值的坐标)。
这种便携式显示器的典型特征显示出:一方面,原色红色和绿色的显示性能很差,另一方面,原色蓝色的颜色坐标通常与sRGB的颜色空间重叠但不映射到sRGB标准位置,这意味着这种显示完全倾向于偏蓝色的再现,甚至白点都偏向蓝色方向。这种效应可以被总结为“蓝色延伸状态(blue stretch behavior)”。图1示出了与sRGB颜色三角相比的典型的移动显示的色域。
显然,需要一种颜色转换(映射)方法,以防止错误的颜色效果会影响到图片的质量。由于人识别(特别是)皮肤和绿色色调的视觉感知能力的原因,这些色调总是经受到错误的颜色再现。
通过采用RGB域中的3×3矩阵运算,可以实现用于色域映射(CGM)的典型方法。CGM矩阵运算
MTXcgm=(MTXdisplay)-1·MTXsRGB_input
说明了要被执行的数学运算。
作为输入至这个CGM矩阵运算的输入,要求CGM输入值(即所测得的显示原色以及输入的sRGB原色):
所测得的显示原色: 输入的sRGB原色:
x y x y
R 0.5241 0.3302R 0.6400 0.3300
G 0.3049 0.5261G 0.2900 0.6000
B 0.1521 0.1598B 0.1500 0.0600
W 0.2886 0.3330W 0.3127 0.3290
图2A的框图说明了需要进行适当信号处理的步骤。
不幸的是,具有固定系数的矩阵运算并没有考虑可能的剪切伪像(clipping artifact),特别是当显示色域比输入色域小时,会出现令人讨厌的剪切。软剪切是这个问题的一种可能的解决方案;在这一点上,通过自适应全色域映射(ACGM)可以实现软剪切,其中,针对每个像素值自适应地计算出矩阵的系数。
在图2B中,添加其他的测量模块,来自适应地确定在Philips的LifePixTM中实现的矩阵系数,LifePix包括显著地增强了移动显示器(尤其是液晶显示器(LCD)或有机发光二极管(OLED)显示器)的图像质量和性能的算法。
这种先进的色域映射算法的主要部分包括四个步骤:
第一步是减小饱和颜色的亮度,以便为这种映射算法创造空间;
第二步是用正确的色调和饱和度来再现显示色域中的所有颜色;
第三步涉及通过添加一定量的白色来对显示色域外的像素进行剪切;
在最后一步,在不改变饱和度或色调的情况下降低太亮的像素。
设计这种简单的颜色映射算法来识别原色(红,绿,蓝)的最优颜色范围,并处理颜色信息,以再现更逼真的颜色;通过这种算法,可以在不牺牲性能或改变面板的情况下对移动LCD或OLED显示器进行补充。结果是在任何具有彩色显示器的移动设备上再现了被逼真地改进的色彩,而无需牺牲屏幕性能的其它方面。
这种像素自适应解决方案的视觉感知已被强烈推荐,从而使得这种方式的视频处理已经被采纳为更进一步的研究的参考。关于软件实现,这种自适应全色域映射(ACGM)的主要缺陷是所需的大量计算循环。
关于本发明的技术背景,可以更进一步地参照下述文献:
现有技术文献WO 2005/043887 A1,其涉及一种用于移动显示的智能剪切器,所述已知智能剪切器不是基于帧的,而是基于像素的;
现有技术文献US 2003/0189576 A1,其涉及一种用于在手持LCD装置上显示更高颜色分辨率的方法和设备;不过,所述的已知方法和所述的已知设备均不是基于使颜色区域适应显示器的特定性能的色域算法;
现有技术文献US 2006/0018536 A1,其涉及一种用于打印机的嵌入式色域映射算法,不过,所述已知算法不会对帧进行更新;
现有技术文章“The Mathematics of Color Calibration”byMichael J.Vrhel and H.Joel Trussell,Image Processing,October 4 to 7,1998,ICIP(1)1998,pages 181 to 185,不过,所述已知的颜色校准是基于像素的;以及
现有技术文章“Implementation of Real Time Color GamutMapping Using Neural Network”by Hak-Sung Lee and Dongil Han,Soft Computing in Industrial Applications,June 28 to 30,2005,SMCia/05,pages 138 to 141;不过,所述已知的实现是基于像素的。
发明内容
从上述的缺陷和缺点开始,考虑讨论过的现有技术,本发明的目的是,进一步开发一种在技术领域中描述过的那类系统以及在技术领域中描述过的那类方法,从而通过保持自适应全色域映射(ACGM)的大部分剪切保持效果来减小计算周期的数量。
通过包括本发明第一方面的特征的系统以及通过包括本发明第二方面的特征的方法,实现了本发明的目的。在各个从属权利要求中公开了本发明的有利的实施例和有效的改进。
本发明主要基于在以帧为基础的矩阵更新上无需反馈环的色域映射的思想。在这一点上,开发这种帧更新色域映射(frame-updatedcolour gamut mapping,FUCGM)的动机是通过保持自适应全色域映射(ACGM)的大部分剪切保持效果来减小计算周期的数量,优选地,通过每个帧和/或每个字段只采用矩阵来减小计算周期的数量。
出于这个原因,可选地,LifePixTM的ACGM可以被用作基础,来将这种先进的色域映射算法从基于像素的版本转移到基于帧的版本。
本领域技术人员可以意识到,根据本发明,可以根据彩色图像的数据来执行与显示器的颜色空间的适应;仅仅通过使每个彩色图像具有一套固定的系数,就可以执行所述适应,从而避免不期望的剪切伪像。
通过一套固定的系数来适应颜色空间,可以显著地减少计算量,特别是对于软件支持的实时应用。根据本发明的帧更新色域映射(FUCGM)算法被设计为用于移动应用,但还可以用于颜色空间要被转换的所有其他应用中。
根据本发明,用于对逐帧更新的矩阵系数执行自适应色域映射的系统以及方法被用来克服通常存在于(例如移动电话的)液晶显示器(LCD)或有机发光二极管显示器(OLED)中的“蓝色延伸状态”。
本发明可以应用在(例如)用于移动显示器的视频系统中,所述移动显示器基于至少一个低功耗单片薄膜晶体管(TFT)LCD驱动器,所述驱动器具有集成的源极驱动器、栅极驱动器、显示随机访问存储器(RAM)、时序控制以及直流-直流(DC-DC)转换器。期望的质量等级处于静态颜色转换和Philips的基于像素的LifePixTM方法之间。
附图说明
如上文讨论,提供了几种以有利的方式实现和改进本发明的指教的意见。为了实现这个目的,参照分别从属于权利要求1和权利要求7的权利要求,只通过示例的方式参照优选实施例以及参照附图,在下文对本发明的改进、特征和优势进行详细地解释,其中
图1示意地示出了与sRGB色域相对比的移动显示色域的图示;
图2A示意地示出了根据现有技术的标准色域映射(CGM)运算的框图;
图2B示意地示出了根据现有技术的自适应全色域映射运算的框图;
图3示意地示出了根据本发明的帧更新色域映射(FUCGM)运算的测量系统的框图;
图4示意地示出了根据本发明的亮度、饱和度和色调(LSH)检测器的框图,所述检测器是图3的FUCGM测量系统的一部分;
图5示意地示出了根据本发明的白点、饱和度和色调(WSH)调制器的框图,所述调制器是图3的FUCGM测量系统的一部分;
图6示意地示出了根据本发明的平均单元/临界颜色校正(CCC)单元的框图,所述平均单元/CCC单元是图3的FUCGM测量系统的一部分;
图7示意地示出了一种色域矩阵发生器的框图,所述色域矩阵发生器是图3的FUCGM测量系统的一部分;以及
图8示意地示出了视频矩阵的框图,所述视频矩阵是图3的FUCGM测量系统的一部分。
对图1至图8中的相应部分采用了相同的参考标号。
参考标号列表
100 系统,具体来讲为测量系统
10 子采样单元,具体来讲为水平和/或垂直子采样单元
20 亮度、饱和度和色调(LSH)检测器
22 亮度、饱和度和色调(LSH)检测器20的平方例程组件,具体来讲为亮度、饱和度和色调(LSH)检测器20的平方例程组件
24 亮度、饱和度和色调(LSH)检测器20的混洗器,具体来讲为亮度、饱和度和色调(LSH)检测器20的混洗操作
26 亮度、饱和度和色调(LSH)检测器20的亮度、饱和度和色调(LSH)确定模块
28 亮度、饱和度和色调(LSH)检测器20的校正单元,具体来讲为亮度、饱和度和色调(LSH)检测器20的饱和度校正模块
30 白点、饱和度和色调(WSH)调制器
32 白点、饱和度和色调(WSH)调制器30的白点调制模块
34 白点、饱和度和色调(WSH)调制器30的饱和度调制模块
36 白点、饱和度和色调(WSH)调制器30的色调调制模块
40 临界颜色校正(CCC)区域检测器
50 临界颜色校正(CCC)像素计数器
60 平均计算单元60、62的第一部分
60h 用于色调H的平均(AVG)计算例程组件或用于色调H的平均(AVG)计算单元
60s 用于饱和度S的平均(AVG)计算例程组件或用于饱和度S的平均(AVG)计算单元
60w 用于白点W的平均(AVG)计算例程组件或用于白点W的平均(AVG)计算单元
62 平均计算单元60、62的第二部分
62h 用于色调H的临界颜色校正(CCC)平均(AVG)计算例程组件或用于色调H的临界颜色校正(CCC)平均(AVG)计算单元
62s 用于饱和度S的临界颜色校正(CCC)平均(AVG)计算例程组件或用于饱和度S的临界颜色校正(CCC)平均(AVG)计算单元
62w 用于白点W的临界颜色校正(CCC)平均(AVG)计算例程组件或用于白点W的临界颜色校正(CCC)平均(AVG)计算单元
70 混合例程组件
70h 用于色调H的混合单元
70s 用于饱和度S的混合单元
70w 用于白点W的混合单元
72 第二混合器或另一个混合单元
80 矩阵产生单元,具体来讲为色域矩阵发生器
90 矩阵,具体来讲为转换矩阵或视频矩阵
92 硬剪切器
AVG/CCC 平均(AVG)单元/临界颜色校正(CCC)单元
B 第三种原色蓝色
Bi 蓝色输入信号,具体来讲为RGB输入信号IS的蓝色部分
Bo 蓝色输出信号,具体来讲为RGB输出信号OS中的蓝色部分
Bs 蓝色输入信号的平方,具体来讲为RGB输出信号中的蓝色部分的平方
b1 第三种原色蓝色B的第一个颜色映射矩阵系数
b2 第三种原色蓝色B的第二个颜色映射矩阵系数
CCC 临界颜色校正
Cs 已确定的色调信号或已确定的色调值
D 显示
DG 去Gamma
GA Gamma
G 第二种原色绿色
Gi 绿色输入信号,具体来讲为RGB输入信号IS的绿色部分
Go 绿色输出信号,具体来讲为RGB输出信号OS的绿色部分
Gs 绿色输入信号的平方,具体来讲为RGB输入信号IS的绿色部分的平方
g1 第二种原色绿色G的第一颜色映射矩阵系数
g2 第二种原色绿色G的第二颜色映射矩阵系数
H 色调,具体来讲为色调信号或色调值,表示颜色转换的第
三个自由度
Hc 用于色调H的衰减值或校正值或减小值
HRGB 第三个系数或第三个参数,具体来讲也就是提供给色域矩阵发生器80的色调系数或色调参数
Hb 用于第三原色蓝色B的色调系数或色调参数
Hg 用于第二原色绿色G的色调系数或色调参数
Hr 用于第一原色红色R的色调系数或色调参数
HSm 提供给白点、饱和度和色调(WSH)调制器30的第三个参数,具体来讲为用于色调H的取决于显示的调制器斜率
IS 输入信号,具体来讲为RGB输入信号
K00 矩阵发生单元80中产生的第一行第一列系数
K01 矩阵发生单元80中产生的第一行第二列系数
K02 矩阵发生单元80中产生的第一行第三列系数
K10 矩阵发生单元80中产生的第二行第一列系数
K11 矩阵发生单元80中产生的第二行第二列系数
K12 矩阵发生单元80中产生的第二行第三列系数
K20 矩阵发生单元80中产生的第三行第一列系数
K21 矩阵发生单元80中产生的第三行第二列系数
K22 矩阵发生单元80中产生的第三行第三列系数
L 亮度
Ld=1um亮度信号或亮度值,具体来讲为已确定的亮度信号或已确定的亮度值
Max 输入信号的平方Rs、Gs、Bs的最大值
Med 输入信号的平方Rs、Gs、Bs的中间值
Min 输入信号的平方Rs、Gs、Bs的最小值
OS 输出信号,具体来讲为RGB输出信号
R 第一原色红色
Ri 红色输入信号,具体来讲为输入信号IS的红色部分
Ro 红色输出信号,具体来讲为输出信号OS的红色部分
Rs 红色输入信号的平方,具体来讲为RGB输入信号的红色部分的平方
r1 第一原色红色R的第一颜色映射矩阵系数
r2 第一原色红色R的第二颜色映射矩阵系数
S 饱和度,具体来讲为饱和度信号或饱和度值,其表示用于颜色转换的第二个自由度
Sc 用于饱和度S的衰减值或校正值或减小值
s1 第一颜色映射矩阵系数
s2 第二颜色映射矩阵系数
s3 第三颜色映射矩阵系数
sat=Sd 饱和度信号或饱和度值,具体来讲为已确定的饱和度信号或已确定的饱和度值
Si 未校正的饱和度信号或未校正的饱和度值
SRGB 提供给色域矩阵发生器80的第二系数或第二参数,具体来讲,也就是提供给色域矩阵发生器80的饱和度系数或饱和度参数
Sb 用于第三原色蓝色B的饱和度系数或饱和度参数
Sg 用于第二原色绿色G的饱和度系数或饱和度参数
Sr 用于第一原色红色R的饱和度系数或饱和度参数
SSm 提供给白点、饱和度和色调(WSH)调制器30的第二参数,具体来讲为用于饱和度S的取决于显示的调制器参数
W 白色或白点,具体来讲白点信号或白点值,表示用于颜色转换的第一自由度
Wc 用于白点W的衰减值或校正值或减小值
WLm 提供给白点、饱和度和色调(WSH)调制器30的第一参数,具体来讲为用于白点W的取决于显示的调制器参数
WRGB 提供给色域矩阵发生器80的第一系数或第一参数,具体来讲也就是提供给色域矩阵发生器80的白点系数或白点参数
Wb 用于第三原色蓝色B的白点系数或白点参数
Wg 用于第二原色绿色G的白点系数或白点参数
Wr 用于第一原色红色R的白点系数或白点参数
具体实施方式
为了更好地理解根据本发明所提出的方案,图3示出了一个框图,该框图对根据本发明的帧更新色域映射(FUCGM)算法的测量系统100进行说明。该FUCGM在帧内模式下工作,因此,只需要存储一个帧或者一个字段。
通过子采样单元10在水平方向和垂直方向上执行可调整的子采样,子采样单元10被提供了输入信号IS。子采样系数可以取决于输入信号的输入分辨率,并且可以在两个方向上同等地在用于四分之一通用中间格式(quarter common intermediate format,QCIF)的2(=2)和用于视频图像阵列(VGA)的8(=8)之间变化;比8大的子采样系数会导致很差的性能,不推荐使用。
在水平方向和垂直方向上进行可调整的子采样之后,亮度、饱和度和色调(LSH)检测器20从RGB输入中得到亮度信号(在图3中的参考标号是1um)和饱和度信号(在图3中的参考标号是sat)。
两个信号(即,亮度信号1um和饱和度信号sat)都被馈入了白点、饱和度和色调(WSH)调制器30,白点、饱和度和色调(WSH)调制器30同样配置有三个参数WLm、SSm、HSm。
在这一点上,白点(在图3中的参考标号为W)、饱和度(在图3中的参考标号为S)以及色调(在图3中的参考标号为H)表示用于色彩转换的三个自由度,色彩转换根据从显示颜色坐标中导出的斜率值来计算颜色矩阵的衰减参数;斜率值是先期计算出来的,其取决于显示色彩坐标,还取决于输入信号IS的颜色坐标。
分别为平均计算采集衰减参数(在图3中,平均白点的参考标号为60w,平均饱和度的参考标号为60s,平均色调的参考标号为60h)。在这一点上,以所测量的像素的个数计算平均值。
从图3中还可以看到,临界颜色校正(CCC)区域检测器40连接在子采样器10后面,并与亮度、饱和度和色调(LSH)检测器20并联。
如果这个CCC区域检测器40已经将像素值指示为“临界颜色”(用参数设置这个临界颜色,并且该临界颜色将高度饱和的黄绿色的颜色区域描绘为红黄色),那么,在各自分离的平均值例程组件(routine)中额外存储这个三值组,62w对应于白点W,62s对应于饱和度S,62h对应于色调H。在这一点上,以分开存储的临界颜色像素的个数计算临界颜色平均。
当根据由连接在CCC区域检测器40后的临界颜色校正(CCC)像素计数单元50所执行的临界颜色校正(CCC)像素计数来完成帧时,由与另一个混合器72相关的混合例程组件70执行将计算出的衰减参数转移至色域矩阵发生器80,所述另一个混合器72连接在临界颜色校正(CCC)像素计数器50之后。从图3可以看出,色域矩阵发生器80被提供了三个参数WRGB、SRGB、HRGB。
水平/垂直子采样单元10、亮度、饱和度和色调(LSH)检测单元20、白点、饱和度和色调(WSH)调制单元30、白点W的平均值计算例程组件60w、饱和度S的平均值计算例程组件60s、色调H的平均值例程组件60h、混合例程组件70、以及色域矩阵产生单元80被分配给自适应处理。
现在将对预装载的转换矩阵90进行衰减。在视频处理中,将从该计算结果中得到颜色映射矩阵系数s1、g1、b1、r1、s2、b2、r2、g2、s3每次一帧/一个字段地载入矩阵90,这使得可以进行要执行的颜色映射运算。后处理(尤其是后视频处理)中的简单的硬剪切器92确保了预定值正确性。
通过图4给出亮度、饱和度和色调(LSH)检测器20的更详细的公开。这个LSH检测器20被设计为从RGB信号Ri、Gi、Bi中导出亮度值1um以及饱和度值sat。
考虑平方例程组件是一种简单但不够精确的用于仿真γ的影响的方法,RGB平方例程组件22
Rs=(Ri)2,Gs=(Gi)2,Bs=(Bi)2
将数据R
s、G
s、B
s(即输入值的平方
)传递至RGB混洗操作24
Max=MAX(Rs,Gs,Bs)
Med=MED(Rs,Gs,Bs)
Min=MIN(Rs,Gs,Bs),
所述混洗操作24以最大值Max、中间值Med和最小值Min对Rs、Gs、Bs进行分类。
通过最大值Max=MAX(Rs,Gs,Bs)、中间值Med=MED(Rs,Gs,Bs)和最小值Min=MIN(Rs,Gs,Bs),根据连接在混洗器(shuffler)24后的亮度、饱和度和色调(LSH)确定单元26中的等式
执行亮度确定Ld(=亮度信号1um)、饱和度确定Si和色调确定Cs。
在LSH确定单元26后面,同样通过已确定的色调值Cs饱和度并根据饱和度校正器28中的等式
来校正未校正的饱和度值Si,所述等式产生校正的饱和度值Sd,即产生饱和度信号sat。
通过图5给出了白点、饱和度和色调(WSH)调制器30的更详细公开。这个WSH调制器30连接在亮度、饱和度和色调(LSH)检测器20后面,并被提供了亮度信号1um(=已确定的亮度值Ld)以及饱和度信号sat(=已校正的饱和度值Sd)。
具体来讲,WSH调制器30采用亮度信号Ld和饱和度信号Sd,来根据下述等式计算下述矩阵处理的衰减子(attenuator),下述等式用来确定白点W的校正值或减小值Wc、确定饱和度S的校正值或减小值Sc、以及确定色调H的校正值或减小值Hc:
Wc=(1-Ld)+(WLm-WLm·Ld)
Sc=(1-Sd)+(SSm-SSm·Sd)
Hc=(1-Sd)+(HSm-HSm·Sd)
从而,为计算提供了取决于显示的调制器斜率:用于白点W的WLm、用于饱和度S的SSm和用于色调H的HSm。
详细地讲,作为WSH调制器30的一部分的白点调制器32被提供了亮度信号1um(=已确定的亮度值Ld)以及用于白点W的第一显示参数WLm,来计算第一校正值Wc,即用于白点W的衰减值。
另外,同样作为WSH调制器30的一部分的饱和度调制器32被提供了饱和度信号sat(=已确定的饱和度值Sd)以及用于饱和度S的第二显示参数SSm,来计算第二校正值Sc,即用于饱和度S的衰减值。
最后,同样作为WSH调制器30的一部分的色调调制器36被提供了饱和度信号sat(=已确定的饱和度值Sd)以及用于色调H的第三显示参数HSm,来计算第三校正值Hc,即用于色调H的衰减值。
通过图6给出了平均(AVG)单元/临界颜色校正(CCC)单元(其参考标号为AVG/CCC)的更详细公开。设计这个AVG/CCC单元来确定矩阵的衰减,所述AVG/CCC单元执行用于整个帧的颜色映射。
平均单元60、62原则上包括六个用于标准平均(AVG)确定的储存器(bin)60w、62w、60s、62s、60h、62h以及其他三个用于“临界颜色校正(CCC)”平均(AVG)计算的储存器62w、62s、62h。
对于每一个白点衰减、饱和度衰减和色调衰减,可以得到各自的两个平均值储存器60w、62w(用于白点衰减)、60s、62s(用于饱和度衰减)以及60h、62h(用于色调衰减)。
通过各自的混合器单元70w(用于白点W)、70s(用于饱和度S)、70h(用于色调H)实现平均值储存器60、62之后的混合例程组件70,这些混合单元70w、70s、70h中的每一个均选择影响量,可以根据影响量来从平均值储存器60w、62w、60s、62s、60h、62h中取值。混合器70由被检测为临界颜色的像素的量所控制。
平均(AVG)单元/临界颜色校正(CCC)单元AVG/CCC工作如下:
将在白点、饱和度以及色调(WSH)调制器30(见图5)中预先导出的衰减值Wc、Sc、Hc搜集在标准平均值单元60w、60s、60h中。在测量临界颜色的情况下,将这些衰减值Wc、Sc、Hc另外地搜集在所述临界颜色校正(CCC)平均(AVG)储存器62w、62s、62h中。临界颜色校正(CCC)区域检测器40决定是否将这个值存储在CCC AVG储存器60w、62s、62h中。
对于移动显示而言,映射运算应当特别注意的临界颜色是黄绿色。特别注意这个颜色的两个原因是:
-黄绿色的高亮部分,这种高亮部分会在颜色再现中(尤其是在可见光的颜色再现中)会产生干扰;以及
-移动显示不能在全饱和时再现这种黄绿色颜色区域。
静态颜色映射只不过是将这种黄绿色的颜色贴在色域的边缘。这种剪切操作的结果是产生令人厌烦的不具有任何视觉结构的单调的黄色区域。从而,根据定义的临界颜色,矩阵的影响减弱了。
临界颜色校正(CCC)区域检测器40是一种简单的比较模块,其被设计为用来确定临界颜色所分配至的颜色区域。CCC区域检测器40考虑了以下三种用来判定临界颜色的标准(i)(ii)(iii)。在这一点上,考虑了下文的示范性值取决于量化以及取决于实现的情况,因此,对于不同的应用情况,可以采用用来确定临界颜色值的其他标准。
(i)原色红和绿的绝对差应当小于一个确定的阈值,并定义了颜色区域宽度(例如,对于八位的示范性量化中的RGB来讲,颜色区域宽度的示范性阈值是35);
(ii)原色红和蓝的绝对差应当超过一个确定的阈值,这个阈值定义了颜色区域的红-蓝边界(例如,对于RGB888,红-蓝边界的示范性阈值是120);
(iii)原色绿色的最小偏移限制了绿色方向上的区域(例如,对于RGB888,示范性绿色偏移是100);在绿色偏移的同时,可以为临界颜色区域定义一个最小亮度值。
在所有的这些条件(i)(ii)(iii)都真实的情况下,在三个储存器62w、62s、62h中额外存储各自的衰减值Wc、Sc、Hc,用于临界颜色校正(CCC)平均(AVG)计算,并且通过临界颜色校正(CCC)像素计数器50来增大CCC像素数。
根据CCC像素数,在每个CCC AVG储存器62w、62s、62h上计算平均值,而且,混合器70、72受到控制。
在检测到正的临界颜色的情况下,必须通过增大测量探针的数量来改进临界颜色校正(CCC)平均(AVG)例程组件。从而,也考虑了水平方向上相邻的像素。
在这一点上,必须考虑小块黄色区域非常显眼而且可能偶尔通过测量子采样网格的情况。为了增强这些区域的影响,可以实施局部探针延伸。同时,细的垂直结构(即,细线)不会被过于加重。
被检测为临界像素的像素的数量控制混合例程组件70、72。混合器72具有斜率开始值和斜率停止值,例如,对于QQVGA(QuarterQuarter Video Graphics Array,其分辨率为160×120像素),斜率开始值为2,斜率停止值为16。
在CCC像素数小于或等于斜率开始值的情况下,标准平均值用于矩阵衰减;在CCC像素数大于斜率停止值时,临界颜色校正平均值被传递至转换矩阵90。
可以根据标准AVG和CCC AVG在斜率开始值与斜率停止值之间计算线性衰减混合,图3和6中的混合器72的图形图示采用了该线性衰减混合。
通过图7给出了矩阵产生单元80的更详细的公开。
矩阵发生器80连接在混合例程组件70、72之后,并执行对转换矩阵90的系数s1、g1、b1、r1、s2、b2、r2、g2、s3的确定;从而,用根据上文的平均例程组件60、62(参见图7)计算出来的各个的校正值或减小值(用于白点W的Wc,用于饱和度S的Sc,用于色调H的Hc)对用于白点的WRGB(Wr、Wg、Wb)、用于饱和度S的SRGB(SR、SG、SB)和用于色调H的HRGB(HR、HG、HB)的各自的系数进行衰减:
K10=Sr·Sc+Hr·Hc
K20=Sr·Sc-Hr·Hc
K21=Sg·Sc+Hg·Hc
K01=Sg·Sc-Hg·Hc
K02=Sb·Sc+Hb·Hc
K12=Sb·Sc-Hb·Hc
K00=Wr·Wc-Sr·Wc·(1-Sc)
K11=Wg·Wc-Sg·Wc·(1-Sc)
K12=Wb·Wc-Sb·Wc·(1-Sc)
所产生的系数K00、K01、K02、K10、K11、K12、K20、K21、K22(对应于s1、g1、b1、r1、s2、b2、r2、g2、s3)以每帧一次的方式被载入转换矩阵90,并用这些设置对整个帧进行处理。
通过图8给出了转换矩阵或视频矩阵90的更详细的公开。
通过更进一步地采用红色输入信号Ri(RGB输入信号中的红色部分)、绿色输入信号Gi(RGB输入信号中的绿色部分)以及蓝色输入信号Bi(RGB输入信号中的蓝色部分),转换矩阵或视频矩阵90执行颜色映射,用由矩阵发生器80预先确定的系数K00、K01、K02、K10、K11、K12、K20、K21、K22(对应于s1、g1、b1、r1、s2、b2、r2、g2、s3)以每帧一次的方式载入所述颜色映射;基于下述等式,在转换矩阵或视频矩阵90中执行用于色域映射的真实矩阵运算:
Ro=Ri+K00·Ri+K01·(Gi-Ri)+K02·(Bi-Ri)
Go=Gi+K11·Gi+K12·(Bi-Gi)+K10·(Ri-Gi)
Bo=Bi+K22·Bi+K20·(Ri-Bi)+K21·(Gi-Bi)
在这一点上,应当考虑视频矩阵90在非线性光域中执行。考虑红色输出信号Ro(RGB输出信号的红色部分)、绿色输出信号Go(RGB输出信号的绿色部分)以及蓝色输出信号Bo(RGB输出信号的蓝色部分)中产生的小误差;由于这种基于帧的处理,来自非线性光的误差可能被掩盖掉。