一种矩阵运算实现色彩空间转换的方法及装置 本发明涉及一种实现色彩空间转换的方法及装置,特别是涉及一种使用少数矩阵运算实现数字化RGB到数字化YCbCr色彩空间讯号转换的方法及装置。
由於在Y(亮度)、Cb和Cr(色度)色彩空间的讯号比在R(红色)、G(绿色)和B(蓝色)色彩空间的讯号具有可易於压缩以得到较低传输带宽及较低信息储存条件的结果的优点,从RGB到YCbCr的色彩空间转换在影像及映像应用中是经常被要求的。CCIR 601,其是由ComiteConsultalif International desRadiocommunications(CCIR)提出,建立下列用於从RGB色彩空间转换到YCbCr色彩空间的方程式:
Y=0.299R+0.587G+0.114B-----------(a.1)
Cb=0.564(B-Y)+128 -----------(a.2)
Cr=0.713(R-Y)+128 -----------(a.3)
色彩空间转换常常借助使用多个乘法器或者查表(look-up tables)来达到矩阵乘法运算,及通过结合其最终的分量乘积来完成该转换,而被实现。该矩阵乘法运算支配着运算效率及色彩空间转换装置的硬件复杂度。因此,矩阵乘法运算的数目是关系重大的。一个3×3的乘法矩阵是经常被使用於任何两个有三种色彩分量的色彩空间之间地转换。虽然该种乘法矩阵提供了弹性,然而实施它是相当昂贵的。
执行RGB到YCbCr色彩空间转换的方程式(a.1)至(a.3),在一以往的色彩空间转换器首先需要执行三个矩阵乘法运算以得到该Y色彩讯号,而後在执行再两个矩阵乘法运算以分别得到该Cb和Cr色彩讯号之前,导出该(B-Y)和(R-Y)色差讯号。虽然该色彩空间转换器只需要五个牵涉一相当简单的硬件的矩阵乘法运算,该色彩空间转换器的运算效率由於该矩阵乘法运算是在两运算阶段完成,所以是相当差的。
为了增进该以往色彩空间转换器的运算效率,方程式(a.2)和(a.3)能够被展开,因此该Cb和Cr色彩讯号是完全与该R、G和B讯号有关:
Cb=-0.169R-0.331G+0.5B+128 ------(b.1)
Cr=0.5R-0.419G-0.081B+128 ------(b.2)
然而,方程式(a.1)、(b.1)和(b.2)的实施需要九个矩阵乘法运算。虽然矩阵乘法运算的数目通过使用一算术右移运算来实现具有0.5的系数的两分量乘积而能够被减少到七,矩阵乘法运算的数目仍然是比方程式(a.1)至(a.3)的实现所需的多。
因此,本发明的目的在於提供一种使用少数矩阵运算实现数字化RGB至数字化YCbCr色彩空间讯号转换的方法及装置,具有经济效益的硬件实现及保持高运算效率的结果。
利用色彩分量讯号的是数之间的共同互补的特性,该Y色彩讯号的转换方程式通过建构两个与任何两个R、G和B色彩讯号有关的色差讯号而能够被重新排列如下,以将矩阵乘法运算的数目从三个减少到二个:
Y=R+0.587(G-R)+0.114(B-R) --------(c.1)
Y=G+0.299(R-G)+0.114(B-G) --------(c.2)
Y=B+0.299(R-B)+0.587(G-B) --------(c.3)
该Cb和Cr转换方程式能够类似地以相同的形式被重写如下,使其可以只用一个矩阵乘法运算和一个算术右移运算:
Cb=0.5(B-G)+0.169(G-R)+128 --------(d.1)
Cb=0.5(B-R)+0.331(R-G)+128 --------(d.2)
Cb=0.5[(B-G)-0.338(R-G)]+128 ------(d.3)
Cb=0.5[(B-R)-0.662(G-R)]+128 ------(d.4)
Cr=0.5(R-G)+0.081(G-B)+128 --------(e.1)
Cr=0.5(R-B)+0.169(G-R)+128 --------(e.2)
Cr=0.5(R-G)-0.162(B-G)+128 --------(e.3)
Cr=0.5(R-B)-0.838(G-B)+128 --------(e.4)
如此,通过产生一组与R、G和B色彩讯号有关的色差讯号,以及通过选择适当的Y、Cb和Cr转换方程式,RGB到YCbCr色彩空间转换能够在一单一运算阶段中只利用四个矩阵乘法运算来被实现。因此,可以达到相当便宜且高效率的色彩空间转换。
本发明的一特徵在於提供一种使用少数矩阵运算实现数字化RGB至数字化YCbCr色彩空间讯号转换的方法,包含如下的步骤:(1)产生至少两个色差讯号,每个色差讯号是与任何两个数字化RGB色彩空间讯号有关;及(2)执行该色差讯号的第一、第二、第三和第四矩阵乘法运算,该第一和第二矩阵乘法运算具有要在该数字化Y色彩空间讯号的转换中使用的第一和第二结果,该第三矩阵乘法运算具有一要在该数字化Cb色彩空间讯号的转换中使用的第三结果,该第四矩阵乘法运算具有一要在该数字化Cr色彩空间讯号的转换中使用的第四结果。
本发明的另一特征在于提供一种使用少数矩阵运算实现数字化RGB至数字化YCbCr色彩空间讯号转换的装置,包含用於产生至少两个色差讯号的装置,每个色差讯号是与任何两个数字化RGB色彩空间讯号有关;以及用於执行该色差讯号的第一、第二、第三和第四矩阵乘法运算的装置,该第一和第二矩阵乘法运算执行装置具有要在该数字化Y色彩空间讯号的转换中使用的第一和第二结果,该第三矩阵乘法运算执行装置具有一要在该数字化Cb色彩空间讯号的转换中使用的第三结果,该第四矩阵乘法运算执行装置具有一要在该数字化Cr色彩空间讯号的转换中使用的第四结果。
该Y色彩空间讯号是通过将该第一和第二矩阵乘法运算的第一和第二结果与其中一个数字化RGB色彩空间讯号结合来得到一最终总和,并且通过钳制该最终总和到一个代表该Y色彩空间讯号的二位元码的范围之间而得到。
该Cb和Cr色彩讯号能够按以下得到:按执行其中一个色差讯号的算术右移运算来得到一第五结果、将该第三和第四矩阵乘法运算的第三和第四结果中的一个与该算术右移运算的第五结果结合来得到一最终总和、补偿一常数到该最终总和来得到一补偿结果,及钳制该补偿结果到一个代表该Cb或Cr色彩空间讯号的二位元码的范围。或者,该Cb和Cr色彩空间讯号也能够由以下得到:通过将该第三和第四矩阵乘法运算的第三和第四结果中的一个与其中一个色差讯号结合来得到一最终总和、执行该最终总和的算术右移运算来得到一第五结果、补偿一常数到该第五结果来得到一补偿结果,及钳制该补偿结果到一个代表该Cb或Cr色彩空间讯号的二位元码的范围。
该色差讯号最好是同时被产生,而该第一、第二、第三和第四矩阵乘法运算最好是同时被执行。此外,每个第一、第二、第三和第四矩阵乘法运算可以被实现如一查表单元。
下面结合附图及实施例对本发明进行详细说明:
图1是本发明的色彩空间转换装置的第一较隹实施例的示意电路方块图。
图2是本发明的色彩空间转换装置的第二较隹实施例的示意电路方块图。
图3是本发明的色彩空间转换装置的第三较隹实施例的示意电路方块图。
在以下整个描述中,相同的标号用来标示相同的元件。
如图1所示,本发明的使用少数矩阵运算实现数字化RGB色彩空间讯号至数字化YCbCr色彩空间讯号转换的装置的第一较隹实施例,它包含一减法电路1、第一至第四矩阵乘法单元2,3,4和6、第一和第二算术右移单元5和7、第一至第三结合单元8,10和11、一限制单元12,及第一和第二补偿及限制电路13和14。在本实施例中,色彩空间转换是根据下列方程式来被执行:
Y=G+0.299(R-G)+0.114(B-G) ---------(c.2)
Cb=0.5(B-G)-0.169(R-G)+128 ----------(d.1)
Cr=0.5(R-G)-0.081(B-G)+128 ---------(e.1)
该减法电路1接收该数字化R、G和B色彩讯号并且从那里产生(R-G)和(B-G)色差讯号出来。该矩阵乘法单元2,3,4和6最好是如查表单元(look-uptable units)(LUT1-LUT4)被实现。该色差讯号被指引到该第一和第二矩阵乘法单元2和3,其包含用於分别执行该Y转换方程式的三个分子中的两个的0.299(R-G)和0.114(B-G)的矩阵乘法的数字化变换值。该第一结合单元8包含一用於相加该第一和第二矩阵乘法单元2和3的输出的第一加法器81,及一用於相加该第一加法器81的输出到该数字化G色彩空间讯号的第二加法器82。该第二加法器82的输出是由该限制电路12钳制,因此该最终输出是在一个代表该Y色彩空间讯号的二位元码的范围内。
该色差讯号进一步被指引到该第三和第四矩阵乘法单元4和6,其包含用於分别执行-0.169(R-G)和-0.081(B-G)的矩阵乘法的数字化变换值,及被指引到该用於分别执行0.5(B-G)和0.5(R-G)的矩阵乘法的第一和第二算术右移单元5和7。该第二结合单元10包括一用於相加该第三矩阵乘法单元4及该第一算术右移单元5的输出的加法器。该第一补偿及限制电路13被使用来补偿128的常数值到该第二结合单元10的输出,并且被使用来钳制该结果而可在一个代表该Cb色彩空间讯号的二位元码的范围内。该第三结合单元11包括一用於相加该第四矩阵乘法单元6及该第二算术右移单元7的输出的加法器。该第二补偿及限制电路14被使用来补偿128的常数值到该第三结合单元11的输出,并且被使用来钳制该结果而可在一个代表该Cr色彩空间讯号的二位元码的范围内。
如图2所示,本发明的使用少数矩阵运算实现数字化RGB色彩空间讯号至数字化YCbCr色彩空间讯号转换的装置的第二较隹实施例包含一减法电路1、第一至第四矩阵乘法单元2,3,41和61、第一和第二算术右移单元51和71、第一至第三结合单元8,100和110、一限制单元12,及第一和第二补偿及限制电路13和14。在本实施例中,色彩空间转换是根据下列方程式来执行:
Y=G+0.299(R-G)+0.114(B-G) ---------(c.2)
Cb=0.5[(B-G)-0.338(R-G)]+128 -------(d.3)
Cr=0.5[(R-G)-0.162(B-G)]+128 -------(e.3)
该减法电路1、该第一和第二矩阵乘法单元2和3、该第一结合单元8,及该限制电路12是以与前述实施例相同的形式运作,因此不再重述。
来自该减法电路1的该色差讯号被指引到该第三和第四矩阵乘法单元41和61,其包含用於分别执行-0.338(R-G)和-0.162(B-G)的矩阵乘法的数字化变换值,及分别被指引到该第三和第二结合单元110和100。该第二和第三结合单元100和110的输出是分别由该第一和第二算术右移单元51和71接收。该第一补偿及限制电路13补偿128的常数值到该第一算术右移单元51的输出并且钳制该结果而可在一个代表该Cb色彩空间讯号的二位元码的范围内。该第二补偿及限制电路14补偿128的常数值到该第二算术右移单元71的输出,并且钳制该结果而可在一个代表该Cr色彩空间讯号的二位元码的范围内。
如图3所示,本发明的使用少数矩阵运算实现数字化RGB色彩空间讯号至数字化YCbCr色彩空间讯号转换的装置的第三较隹实施例包含一减法电路15、第一至第四矩阵乘法单元21,31,42和62、第一和第二算术右移单元52和72、第一至第三结合单元8,101和111、一限制单元12,及第一和第二补偿及限制电路13和14。在本实施例中,色彩空间转换是根据下列方程式来执行:
Y=R+0.587(G-R)+0.114(B-R) ---------(c.1)
Cb=0.5(B-R)-0.331(G-R)+128 ---------(d.2)
Cr=0.419(B-G)-0.5(B-R)+128 ---------(e.2)
该减法电路15接收该数字化R、G和B色彩讯号并且从那里产生(G-R)、(B-R)和(B-G)色差讯号出来。该矩阵乘法单元21,31,42和62最好是如查表单元(LUT1-LUT4)被实现。该(G-R)和(B-R)色差讯号被指引到该第一和第二矩阵乘法单元21和31,其包含用於分别执行该Y转换方程式的三个分子中的两个的0.587(G-R)和0.114(B-R)的矩阵乘法的数字化变换值。该第一结合单元8包含一用於相加该第一和第二矩阵乘法单元21和31的输出的第一加法器81,及一用於相加该第一加法器81的输出到该数字化R色彩空间讯号的第二加法器82。该第二加法器82的输出是由该限制电路12钳制,因此该最终输出是在一个代表该Y色彩空间讯号的二位元码的范围内。
该(G-R)和(B-G)色差讯号更被指引到该第三和第四矩阵乘法单元42和62,其包含用於分别执行-0.331(G-R)和0.419(B-G)的矩阵乘法的数字化变换值。该(B-R)色差讯号被指引到该用於分别执行0.5(B-R)的矩阵乘法的第一和第二算术右移单元52和72。该第二结合单元101包括一用於相加该第三矩阵乘法单元42和该第一算术右移单元52的输出的加法器。该第一补偿及限制电路13被使用来补偿128的常数值到该第二结合单元101的输出,并且被使用来钳制该结果而可在一个代表该Cb色彩空间讯号的二位元码的范围内。该第三结合单元111包括一用於将该第四矩阵乘法单元62的输出减去该第二算术右移单元72的输出的减法器。该第二补偿及限制电路14被使用来补偿128的常数值到该第三结合单元111的输出,并且被使用来钳制该结果,以在一个代表该Cr色彩空间讯号的二位元码的范围内。
虽然本发明的实施例是如一硬件电路中的硬接线方块,本发明也可以轻易且有效率地通过一个使用微处理器和联同的系统存储器的程序微电脑来达成,以实现转换的计算。
因此,在本发明中,RGB到YCbCr色彩空间转换能够在一单一运算阶段中,只使用四个矩阵乘法运算来实现。因此,具有相当便宜且高效率的色彩空间转换的优点。