用于对数据进行代码变换的装置和方法

文档序号:7974106阅读:235来源:国知局
专利名称:用于对数据进行代码变换的装置和方法
技术领域
示例实施例涉及代码变换视频数据,例如,涉及一种装置和方法,其通过将H.264编码技术中的整数变换矩阵近似为运动图像专家组(MPEG)-2编码技术中的离散余弦变换(DCT)矩阵而组合MPEG-2编码技术中的逆离散余弦变换(IDCT)和H.264编码技术中的整数变换,从而将MPEG-2数据代码变换为H.264数据。
背景技术
目前有多种视频数据编码方法。例如,视频数据在高清晰度(HD)电视和数字通用盘(DVD)中可以被编码成MPEG-2格式,而在HD-DVD和BL-DVD中可以被编码成H.264格式。用户可以利用适合于所编码视频数据的格式的接收装置(或再现装置)、通过对所编码的视频数据(例如编码数据)进行解码来观看视频。
然而,如果所述用户的接收装置不支持所述所编码视频数据的格式,则用户不能解码所编码的视频数据。例如,当用户的接收装置支持H.264格式以及所编码的数据是MPEG-2格式时,则用户接收装置不能直接对所述MPEG-2格式的编码视频数据(例如MPEG-2数据)进行解码。结果,所述MPEG-2数据应该被变换为H.264格式(例如,H.264数据)的编码视频数据。
可以通过利用DCT来变换视频数据、量化所变换的视频数据、并且利用熵编码(entropy encoding)来编码所量化的视频数据,从而执行视频数据的编码。可以通过编码的逆过程来执行对所编码的视频数据进行解码。因而,可以通过利用熵解码(entropy decoding)来解码所编码的视频数据、去量化所解码的视频数据、并且逆变换所去量化的视频数据,从而执行所述解码。
基于视频数据的这种编码和解码将MPEG-2数据变换为H.264数据的简单方法可以是像素区域变换方法,其中,MPEG-2数据可被变换成像素,而所述像素可被编码成H.264数据。
附图1是传统代码变换器100的方框图。
所述代码变换器100可以使用像素区域变换方法。换句话说,去量化单元110可以通过去量化MPEG-2数据来产生DCT系数。逆离散余弦变换(IDCT)单元130可以通过对DCT系数执行IDCT来产生视频信号,由此将MPEG-2数据变换成像素。
整数变换单元150可以通过对可被变换成像素的视频数据执行整数变换来产生整数变换系数。量化单元170可以通过量化整数变换系数来产生H.264数据。
然而,由于需要执行两种格式的编码和解码,所述像素区域变换方法在时间和/或成本上是低效率的。
利用相互组合MPEG-2格式的解码和H.264格式的编码之间的相应处理的方法,(例如变换区域变换方法),MPEG-2数据也可以被变换成H.264数据。
在MPEG-2格式编码期间,所去量化的数据可以进行IDCT。在H.264格式编码期间,视频数据可以进行整数变换。在所述变换区域变换方法中,由IDCT变换的DCT系数可以被变换成整数变换系数。
通常,MPEG-2格式的DCT系数可具有8×8矩阵形式,并且H.264格式的DCT系数可具有4×4矩阵形式。通过近似4×4DCT系数矩阵可以获得4×4整数变换系数矩阵以用于整数计算。4×4整数变换系数矩阵可以具有一些对称的元素,但是其元素的排列可以和DCT矩阵不同。这样,将8×8DCT系数矩阵变换成整数变换系数矩阵的简单变换可能并没有减少计算量。
可以利用两种或更多种方法将8×8DCT系数变换成整数变换系数。一种可以组合8×8DCT系数矩阵和四个整数变换系数矩阵并将所得到的矩阵的每个元素都乘以128,由此将8×8DCT系数矩阵变换成整数形式。该方法的特征是将实数计算处理成整数计算,但是可能需要大量计算。
另一种方法可以将8×8DCT系数矩阵分成几个简单矩阵相乘的形式,如在快速DCT算法中那样。该方法的特征是可以将包括乘法的矩阵的元素近似成可以通过移位操作来处理的2的幂。然而,可能引起更大的误差和/或所需加法和移位操作的数目可能增加。

发明内容
示例实施例提供了一种用于将第一格式的数据代码变换为第二格式的数据的装置。
示例实施例提供了一种用于将MPEG-2数据代码变换为H.264数据的装置。
示例实施例提供了一种用于通过将H.264编码中的整数变换矩阵近似为MPEG-2编码中的DCT矩阵来组合MPEG-2编码中的IDCT和H.264编码中的整数变换,而将MPEG-2数据代码变换为H.264数据的装置。
示例实施例提供了一种用于将第一格式的数据状码变换为第二格式的数据的方法。
示例实施例还提供了一种用于将MPEG-2数据代码变换为H.264数据的方法。
示例实施例提供了一种用于通过将H.264编码中的整数变换矩阵近似为MPEG-2编码中的DCT矩阵来组合MPEG-2编码中的IDCT和H.264编码中的整数变换,而将MPEG-2数据代码变换为H.264数据的方法。
根据示例实施例,提供了一种用于将第一格式的数据代码变换为第二格式的数据的装置。所述装置可以包括换算去量化单元,用于对第一格式的数据进行去量化以产生第一格式的变换系数;系数变换单元,用于对第二格式的变换矩阵进行近似以便第二格式的变换矩阵具有第一格式的变换矩阵的特性,从而产生经变换的变换矩阵,并且将第一格式的变换系数变换为第二格式的变换矩阵;以及换算量化单元,用于将第二格式的变换系数量化以产生第二格式的数据。
根据示例实施例,提供了一种用于将MPEG-2数据代码变换为H.264数据的装置。所述装置可以包括换算去量化单元、系数变换单元、和/或换算量化单元。所述换算去量化单元可将MPEG-2数据去量化以产生DCT系数。所述系数变换单元可将4×4H.264整数变换矩阵近似为4×4DCT矩阵并且利用所述经近似的4×4DCT矩阵将所述DCT系数变换为整数变换系数。所述换算量化单元可量化所述整数变换系数以产生H.264数据。
当在不改变分辨率的情况下把MPEG-2数据代码变换为H.264数据时,所述系数变换单元可以将8×8DCT矩阵变换为第一对角线矩阵和多个矩阵的相乘,将4×4整数变换矩阵变换为第二对角线矩阵和4×4DCT矩阵的相乘,并且把由所述多个矩阵中的一些矩阵和所述4×4DCT矩阵相乘所组成的组合矩阵变换为第三对角线矩阵和具有对称结构的系数变换矩阵的相乘。所述换算去量化单元可以被配置成利用第一对角线矩阵对DCT系数执行初次换算(primary scaling),所述系数变换单元可以被配置成利用所述系数变换矩阵和除了所述多个矩阵中的所述一些矩阵之外的剩余矩阵的相乘对所述经初次换算的数据进行二维变换,以及所述换算量化单元可以被配置成利用第二对角线矩阵和第三对角线矩阵对所述经二维变换的数据执行二次换算(secondary scaling)以产生整数变换系数。
所述系数变换单元可以通过所述多个矩阵中的一些矩阵和四个4×4DCT矩阵的相乘来产生组合矩阵并且将所述组合矩阵变换成第三对角线矩阵和系数变换矩阵的乘积,以便在所述系数变换矩阵的对称元素对当中的一对的值可为1。
当在减少1/2分辨率的情况下把MPEG-2数据代码变换为H.264数据时,所述系数变换单元可以将4×4整数变换矩阵变换为第二对角线矩阵和4×4DCT矩阵的乘积并且由DCT系数产生对应于低频率分量的4×4DCT系数矩阵,以及所述换算量化单元可以利用第二对角线矩阵对所述4×4DCT系数矩阵执行换算以产生整数变换系数。
根据示例实施例,提供一种用于将第一格式的数据代码变换为第二格式的数据的方法。所述方法可以包括去量化第一格式的数据以产生第一格式的变换系数,变换第二格式的变换矩阵以便所述第二格式的变换矩阵具有第一格式的变换矩阵的特性以产生经变换的变换矩阵;以及将所述第一格式的变换系数变换为第二格式的变换矩阵,以及量化第二格式的变换系数以产生第二格式的数据。
根据示例实施例,提供一种用于将MPEG-2数据代码变换为H.264数据的方法。该方法可以包括去量化所述MPEG-2数据以产生DCT系数,将4×4H.264整数变换矩阵近似为4×4DCT矩阵以及利用所近似的4×4DCT矩阵将DCT系数变换为整数变换系数,以及量化所述整数变换系数以产生H.264数据。
当在不改变分辨率的情况下把MPEG-2数据代码变换为H.264数据时,所述DCT系数的变换可以将8×8DCT矩阵变换为第一对角线矩阵和多个矩阵的乘积,以及将4×4整数变换矩阵变换为第二对角线矩阵和4×4DCT矩阵的相乘,将由多个矩阵中的一些矩阵和所述4×4DCT矩阵相乘所组成的组合矩阵变换为第三对角线矩阵和具有对称结构的系数变换矩阵的乘积,利用第一对角线矩阵对所述DCT系数执行初次换算,利用所述系数变换矩阵和除了所述多个矩阵的所述一些矩阵之外的剩余矩阵的相乘来对经初次换算的数据进行二维变换,以及利用第二对角线矩阵和第三对角线矩阵对所述经二维变换的数据执行二次换算以产生整数变换系数。
所述组合矩阵的变换可以包括通过所述多个矩阵中的一些矩阵和四个4×4DCT矩阵的相乘产生组合矩阵以及将所述组合矩阵变换为第三对角线矩阵和系数变换矩阵的相乘,以便系数变换矩阵的对称元素对中的一对可为1。
当在减少1/2分辨率的情况下把MPEG-2数据代码变换为H.264数据时,所述DCT系数的变换可以包括将4×4整数变换矩阵变换为第二对角线矩阵和4×4DCT矩阵的乘积,根据DCT系数产生对应于低频率分量的4×4DCT系数矩阵,以及利用第二对角线矩阵对4×4DCT系数矩阵执行换算以产生整数变换系数。


通过参照附图对示例实施例的详细描述,所述示例实施例的上述和其他特征和优点将变得更加清楚,其中图1是传统代码变换器的方框图;图2是根据示例实施例的代码变换器的方框图;图3是图解根据示例实施例的代码变换方法的流程图;以及图4是图解在示例实施例中使用的获取矩阵的过程的流程图。
具体实施例方式
下文中,将参考附图来详细描述示例实施例。在附图中,相同或相似的单元可以由相同的参考数字来表示,即使它们在不同的附图中描述也是如此。
下文中,将参考所述附图对示例实施例进行更完全的描述。然而,示例实施例可以以多种不同形式体现而并不应当限制于此处描述的实施例。而是,提供示例实施例以便本公开将是彻底的和完整的,并且向本领域技术人员完整地传达本发明的范围。在附图中,为了清楚,可能放大层和区域的尺寸和相对尺寸。
可以理解,当单元或层指示为“在上面”、“被连接到”、或“被耦合到”另一个单元或层时,它可能是直接在上面、被连接到或被耦合到其它单元或层,或者可能存在中间单元或层。相反地,当单元指示为“直接在之上”、“直接被连接到”或“直接被耦合到”另一个单元或层时,则不存在中间单元或层。相同的数字自始至终指示相同的单元。如在此使用的,术语“和/或”包括所关联的列出项的一个或多个的任意和所有组合。
可以理解,虽然术语第一、第二等可在此用于描述多个单元、组件、区域、层和/或部分,但是这些单元、组件、区域、层和/或部分不应当受这些术语的限制。这些术语仅仅用于把一个单元、组件、区域、层或部分与另一个区域、层或部分中区别开来。因而,下面讨论的第一单元、组件、区域、层或部分可以称为第二单元、组件、区域、层或部分,而不会脱离示例实施例的教导。
空间相关的术语,例如“之下”、“下面”、“低于”、“上面”、“高于”等,在此可用于使对附图中图解的一个单元或特征与另一个单元或特征的关系的描述变得容易。可以理解,所述空间相关的术语旨在包含除了附图中描述的方向之外的使用或操作中装置的不同方向。例如,如果附图中的装置被翻转,则描述为在其它单元或特征的“下面”或“之下”的单元将变成在其它单元或特征的“上面”。因而,示例术语“之下”可以同时包括上面或下面的方向。所述装置可以是其它的方向(旋转90度或以其它的朝向),并且此处使用的空间相关的描述符将相应地进行解释。
此处使用的术语的目的是仅仅描述特定的实施例并且不想用于限制本发明。如此处使用的,单数形式“一”、“一个”和“该”也包括复数形式,除非上下文另外进行了清楚地指示。可以进一步理解术语“包括”和/或“包含”在该说明书中使用时表示存在所陈述的特征、整体、步骤、操作、单元、和/或组件,但不排除存在或附加的一个或多个其它特征、整体、步骤、操作、单元、组件、和/或其组合。
此处参考作为示意性图解的横截面图解描述了示例实施例。因而,作为例如制造技术的结果的、相对于图解的形状的变化和/或偏差(tolerance)也是可预期的。因而,示例实施例不应当解释为限于此处图解的区域的特定形状,而是包括由例如制造产生的形状上的偏差。例如,图解为矩形的插入(implanted)区域将一般具有环绕的或弯曲的特征和/或在其边缘的插入浓度的逐渐变化,而不是从被插入到未被插入区域的双态(binary)变化。同样地,由插入形成的隐藏区域可能导致在隐藏区域和插入穿过的表面之间的区域中的某些插入。这样,附图中所示例的区域示意了其特性,并且它们的形状并不意味着图解了装置的区域的实际形状,也不意味着限制所附权利要求的范围。
除非另外进行了定义,此处使用的所有术语(包括技术和科学术语)具有示例实施例所属领域普通技术人员通常理解的相同含义。进一步可理解所述术语(如常用字典中所定义的)应该解释为具有和相关技术上下文中的含义一致的含义,并且不应当解释为理想的或过于正式的意义,除非特别地在此定义。
图2是根据示例实施例的代码变换器200的方框图,而图3是图解根据示例实施例的代码变换方法的流程图。下文中,将参考附图2和3来描述代码变换器200的配置和操作。
代码变换器200可以包括换算去量化单元210、系数变换单元230和/或换算量化单元250。
所述换算去量化单元210可以在操作S301中对第一格式的数据(例如MPEG-2数据)去量化,以及在操作S303中利用第一对角线矩阵对经去量化的数据执行换算。所述第一对角线矩阵可以从MPEG-2数据的8×8DCT矩阵中获取。换句话说,可以通过将DCT矩阵变换为多个矩阵和第一对角线矩阵的乘积来获取第一对角线矩阵。在示例实施例中,可以利用ANN算法来获得所述第一对角线矩阵。
所述系数变换单元230可以在操作S305利用系数变换矩阵对换算去量化单元210的输出进行二维变换。所述系数变换矩阵可以利用从DCT矩阵导出的多个矩阵与H.264的4×4整数变换矩阵的相乘来获得。
在示例实施例中,可以通过将所述4×4整数变换矩阵变换为第二对角线矩阵和4×4DCT矩阵的乘积,将所述4×4整数变换矩阵近似为4×4DCT矩阵。可以利用从所述DCT变换矩阵获得的多个矩阵中的一些矩阵与所述4×4DCT矩阵的乘积来获取所述系数变换矩阵。获取所述系数变换矩阵的过程将在后面详细描述。
所述换算量化单元250可以在操作S307中利用第二对角线矩阵和与所述系数变换矩阵一起导出的第三对角线矩阵对经二维变换的数据执行换算,并在操作S309中通过量化所述经换算的数据而产生H.264数据。
如上所述,在示例实施例中,利用通过变换和组合所述8×8DCT矩阵和所述4×4整数变换矩阵而获得的所述系数变换矩阵,可以减少将MPEG-2数据代码变换为H.264数据所需的计算量。
图4是图解在示例实施例中使用的获取矩阵的方法的流程图。
在下面的描述中,将考虑通常的量化或去量化以及二维变换以用于搜索下述部分所述部分的计算量在代码变换中可以减少,并且将获得能够减少在所述部分中的计算量的行列式。
在去量化MPEG-2期间的对8×8输入数据X[8][8]的去量化可以如下表达Y[i][j]=X[i][j]×DQTMPEG-2[qp][i][j]>>SIMPEG-2[qp][i][j] for i,j=0,...,7..............(1),其中Y[i][j]表示在(i,j)的输入数据X[i][j]的去量化数据,DQTMPEG-2表示MPEG-2的去量化表,以及SIMPEG-2表示MPEG-2的移位指数(shift index)并且可以由给定的量化系数qp来确定。
H.264的量化可以类似于MPEG-2的去量化,并且4×4输入数据X[4][4]的量化可以如下表达Y[i][j]=X[i][j]×QTH.264[qp][i][j]>>SIH.264[qp][i][j] for i,j=0,...,3..................(2),其中QTH.264表示H.264的量化表,以及SIH.264表示H.264的移位指数并且可以由给定的量化系数qp来确定。
在量化或去量化期间由量化表的值乘以输入数据的处理可以归纳为如下的行列式
其中X表示要量化或去量化的输入数据,Y表示输入数据X的经量化或去量化的输出数据,以及S表示用于量化的增广矩阵(augmented matrix)。运算符表示在相同尺寸的矩阵中的相同位置的元素的相乘,这样在等式3中yi,j=xi,j×si,j。
变换矩阵T通常可以表示为包括对角线矩阵D的矩阵的乘积,如下 当利用变换矩阵T对输入数据X进行二维变换时,经二维变换的数据Z可以如下表示Z=T×Tt=DQ×QtD=K(Q×Qt)..........................................(5)换句话说,两个对角线矩阵(D,Dt)可以变换为新的增广矩阵K。X表示N×N输入矩阵,T表示N×N变换矩阵,Z表示N×N输出矩阵,以及K表示其中元素具有关系ki,j=di,i×dj,j的N×N增广矩阵。
这样,对输入数据X进行量化和二维变换的处理可以如下表达Y=SZ=(SK)(Q×Qt).............................................(6)因为在量化过程中增广矩阵S的元素值可以预先确定或者是所期望的,以及作为从变换矩阵T导出的两个对角线矩阵(D,Dt)的乘积的增广矩阵K的元素值也可以预先确定或者是所期望的,因此矩阵(SZ)的元素值也可以预先确定或者是所期望的。
因而,在量化和二维变换过程中的计算量方面的改变仅仅依赖于T×Tt,例如,Q×Qt,这样,计算量可以通过减少Q×Qt的计算量来减少。当增广矩阵被改变换时,增广矩阵的元素值可以利用等式1和2的移位操作而保持整数值。这样,伴随着增广矩阵的变化的计算量的变化可以被忽略。例如,0.125×a可以被表达为a>>3。
当增广矩阵的元素乘以实数时,在将增广矩阵的元素值表达为整数值的处理中可能引起的误差可以被忽略。在示例实施例中,限定为16位的计算可以被扩展为32位计算,但是这样的计算在32位或更多位的实际通用计算的情况中可能并不是一个问题。
下文中,将描述关于获取矩阵的处理过程,其用于示例实施例中以当在不改变分辨率的情况下把MPEG-2数据代码变换为H.264数据时减少计算量。
将8×8DCT系数变换为四个H.264整数变换系数的变换可以如下表达Y=HO4O4HTt×THO4O4Ht---(7),]]>其中H表示H.264的4×4整数变换矩阵,T表示8×8DCT矩阵,X表示8×8DCT系数,以及Y表示四个4×4H.264整数变换系数。
在矩阵乘法中,对角线矩阵的位置不影响相乘的结果。这样,如果8×8DCT矩阵T可以变换为具有对角线矩阵的形式,则对角线矩阵可以表达为矩阵的乘积并且可以包括在量化和去量化中,因此减少系数变换的计算量。
在示例实施例中,利用下面的AAN算法,所述8×8DCT矩阵可以变换为包含对角线矩阵D8的多个矩阵的乘积。所述对角线矩阵D8可以是第一对角线矩阵并且可以用于换算去量化单元210中。
T=D8PB1B2MA1A2A3.......................(8)等式7的计算量比下面表达的矩阵的计算量高两倍E0E1=HO4O4HTt---(9),]]>其中E0和E1是4×8矩阵,在所述4×8矩阵中,彼此对应的元素具有相同的绝对值并具有相反的符号。这样,通过在删除冗余元素之后执行计算,可以减少计算量。这样,为了减少计算量,使用分别由E+和E-定义的E0+E1和E0-E1来代替E0和E1。E+和E-可以如下表达E+=(H+H)A3tA2tA1tMtB2tB1tPtD8---(10-1)]]>E-=(H-H)A3tA2tA1tMtB2tB1tPtD8---(10-2)]]>因为整数变换矩阵H具有部分对称结构并且它的结构可能与DCT矩阵极大地不同,因此不能使用在DCT中使用的快速方法。如果整数变换矩阵可以变换为对角线矩阵和DCT矩阵的相乘形式,则可以使用DCT中使用的快速方法,由此减少计算量。
可以通过近似所述DCT矩阵来导出整数变换矩阵。这样,在示例实施例中,通过使用由近似DCT矩阵来获得整数变换矩阵的处理过程的逆处理可以将整数变换矩阵近似为DCT矩阵。
换句话说,在示例实施例中,4×4整数变换矩阵H可以被变换以便它可以被近似为4×4对角线矩阵D4和4×4DCT矩阵的乘积。这样,可以使用DCT中所使用的快速方法。
在示例实施例中,整数变换矩阵H可以进行如下变换H=111121-1-21-1-111-22-1≈d10000d20000d30000d4aaaabc-cba-a-aac-bb-c=D4T4---(11),]]>其中a=12,b=12cos(π/8),c=12cos(3π/8),]]>和d=cb]]>以及对角线矩阵D4(i=0,1,2,3)的对角线元素di的值可以是HT4t的对角线元素的值。在示例实施例中,对角线矩阵D4可以是第二对角线矩阵并且可以用于换算量化单元250中。换句话说,第二对角线矩阵可以表达为矩阵的乘积并且可以包含在量化中,由此减少系数变换中的计算量。
如上所述,在示例实施例中,第一对角线矩阵D8可以包含在去量化中并且可以用于换算去量化单元210中,而第二对角线矩阵D4可以包含在量化中并且可以用于换算量化单元250中。
这样,通过定义和计算包含具有实数元素的矩阵M的组合矩阵(E+d,E-d)来代替矩阵E+和E-,可以减少计算量。组合矩阵(E+d,E-d)可以如下表达E+d=(T4+T4)A3tA2tA1tMt---(12-1)]]>E-d=(T4-T4)A3tA2tA1tMt---(12-2)]]>4×4DCT矩阵T4的元素值和由8×8DCT矩阵T8(??)中导出的多个矩阵的乘积M1A2A3的元素值可以被预先确定或是所期望的,并且这样组合矩(E+d,E-d)的元素值可以如下表达
E+d=400000000000-2.4143011.306604000000000010-0.41420.5412---(13-1)]]>E-d=00001.08241.41422.61311002.61312.6131000000000-1.41420100-1.08241.08240000---(13-2)]]>因为组合矩阵(E+d,E-d)可以由DCT矩阵获得,并且所述DCT矩阵具有对称的结构,所以所述组合矩阵(E+d,E-d)可以变换为具有许多冗余元素,由此减少计算量。
在示例实施例中,通过将组合矩阵(E+d,E-d)的第二和第四行中的元素分别除以1.3066和0.5412,所述组合矩阵(E+d,E-d)可以变换为具有许多冗余元素,表示如下E+d=100000.76540000100001.8478400000000000-1.847800.765410400000000001.84780-0.76541---(14-1)]]>E-d=100000.76540000100001.847800001.84781.4142000022000100000-1.41420000-2-20000---(14-2)]]>如等式(14-1)和(14-2)所表达的,以行为单位的分割可以表达为对角线矩阵,并且示例实施例中的组合矩阵(14-1)和(14-2)的对角线矩阵可以是第三对角线矩阵并可以用于换算量化单元250中。换句话说,第三对角线矩阵可以表达为矩阵的相乘并且可以包含在量化中,由此减少系数变换中的计算量。
在示例实施例中,除了对角线矩阵之外,等式(14-1)和(14-2)的其它矩阵可以是系数变换矩阵并且可以用于系数变换单元230中。换句话说,系数变换单元230利用系数变换矩阵和多个矩阵的乘积PB1B2获得矩阵(E0,E1),并且利用矩阵(E0,E1)对从去量化单元210输出的经换算的数据进行二维变换。
当排除了对角线矩阵时,等式(14-1)和(14-2)的计算量比等式(13-1)和(13-2)的计算量小。这样的特征可以通过将整数变换矩阵近似为4×4DCT矩阵来获得。
下文中,将描述根据示例实施例的使用减少了1/2的分辨率把MPEG-2数据代码变换为H.264数据的处理过程。
当分辨率减少到1/2时,H.264的4×4整数变换系数矩阵Y可以如下给出Y=HT4tX00T4Ht---(15)]]>其中X00表示8×8DCT系数矩阵X的4×4矩阵,其相应于低频率,而T4表示4×4DCT矩阵。
如等式11中所表达的,在示例实施例中,整数变换矩阵H可被变换为对角线矩阵D4和4×4DCT矩阵T4的乘积。这样,等式15可以如下安排Y=D4X00D4t---(16)]]>在示例实施例中,对角线矩阵D4可以是第二对角线矩阵,可以包括在量化中并用于换算量化单元250中。
这样,当在示例实施例中分辨率减少到1/2时,换算去量化单元210不必使用第一对角线矩阵对经去量化的MPEG-2的数据执行换算。此外,系数变换单元230可以从8×8DCT系数矩阵中提取相应于低频率的4×4矩阵并将所述4×4矩阵传输到换算量化单元250中而不必额外处理换算去量化单元210的输出(例如8×8DCT系数矩阵)。所述换算量化单元250可以仅利用第二对角线矩阵对相应于低频率的4×4矩阵执行换算并且量化所换算的数据,由此产生H.264数据。
虽然在示例实施例中可以描述将MPEG-2数据代码变换为H.264数据的处理过程,但是也可以使用其它的示例实施例而不用考虑编码数据的格式。
换句话说,当第一格式的数据被代码变换为第二格式的数据时,用于以第二格式编码的变换矩阵也可以被近似为用于以第一格式编码的变换矩阵中,由此组合第一格式的逆变换处理和第二格式的变换处理。
此外,通过使用第一格式中的变换矩阵、第二格式中的变换矩阵以及在组合第一格式中的逆变换处理与第二格式中的变换处理过程中所分离出来的对角线矩阵,可以减少把第一格式的变换系数变换为第二格式的数据所需的计算量,其中所述对角线矩阵在第一格式的去量化过程或第二格式的量化过程中表示为矩阵相乘的形式。
虽然示例实施例引用了示例变换、示例矩阵和示例尺寸,但是所有这些参数都可以变化。例如任意4×4或8×8矩阵可以变化为任意N×N矩阵(其中N是整数)。
如上所述,根据示例实施例,可以减少计算量,由此减少代码变换所需的时间和/或成本。
虽然参考示例实施例的附图具体示出和描述了所述示例实施例,但是本领域普通技术人员将理解可以在不脱离所附权利要求所限定的示例实施例的精神和范围的情况下,进行形式和细节上的多种变化。
权利要求
1.一种用于将第一格式的数据代码变换为第二格式的数据的方法,所述方法包括去量化所述第一格式的数据以产生第一格式的变换系数;变换第二格式的变换矩阵以便所述第二格式的变换矩阵具有第一格式的变换矩阵的特性以产生经变换的变换矩阵,并将所述第一格式的变换系数变换为第二格式的变换矩阵;以及量化所述第二格式的变换系数以产生所述第二格式的数据。
2.如权利要求1所述的方法,其中所述第一格式的数据是MPEG-2数据以及所述第二格式的数据是H.264数据,所述方法包括去量化所述MPEG-2数据以产生DCT(离散余弦变换)系数;把4×4H.264整数变换矩阵近似为4×4DCT矩阵,并利用所述经近似的4×4DCT矩阵将所述DCT系数变换为整数变换系数;以及量化所述整数变换系数以产生H.264数据。
3.如权利要求2所述的方法,其中在不改变分辨率的情况下将MPEG-2数据代码变换为H.264数据,所述DCT系数的变换包括把8×8DCT矩阵变换为第一对角线矩阵和多个矩阵的乘积,并且将所述4×4整数变换矩阵变换为第二对角线矩阵和4×4DCT矩阵的乘积;把表达为所述多个矩阵中的一些矩阵和所述4×4DCT矩阵的组合的组合矩阵变换为第三对角线矩阵和具有对称结构的系数变换矩阵的乘积;利用所述第一对角线矩阵对所述DCT系数执行初次换算;利用所述系数变换矩阵和除了所述多个矩阵中的所述一些矩阵之外的剩余矩阵的乘积,对所述经初次换算的数据进行二维变换;以及利用所述第二对角线矩阵和所述第三对角线矩阵对所述经二维变换的数据执行二次换算以产生所述整数变换系数。
4.如权利要求3所述的方法,其中变换所述组合矩阵包括通过所述多个矩阵中的所述一些矩阵和四个4×4DCT矩阵的相乘产生组合矩阵;以及将所述组合矩阵变换为所述第三对角线矩阵和所述系数变换矩阵的乘积,以便在所述系数变换矩阵的对称元素对中的一对的值为1。
5.如权利要求2所述的方法,其中在减少1/2分辨率的情况下把所述MPEG-2数据代码变换为所述H.264数据,所述将DCT系数变换为整数变换系数包括把所述4×4整数变换矩阵变换为第二对角线矩阵和4×4DCT矩阵的乘积;从所述DCT系数产生相应于低频率分量的4×4DCT系数矩阵;以及利用第二对角线矩阵对所述4×4DCT系数矩阵执行换算以产生所述整数变换系数。
6.一种用于将第一格式的数据代码变换为第二格式的数据的装置,所述装置包括换算去量化单元,去量化所述第一格式的数据以产生第一格式的变换系数;系数变换单元,近似第二格式的变换矩阵以便所述第二格式的变换矩阵具有第一格式的变换矩阵的特性以产生经变换的变换矩阵,并将所述第一格式的变换系数变换为所述第二格式的变换矩阵;以及换算量化单元,量化所述第二格式的变换系数以产生所述第二格式的数据。
7.如权利要求6所述的装置,其中所述第一格式的数据是MPEG-2数据以及所述第二格式的数据是H.264数据,其中所述去量化单元去量化所述MPEG-2数据以产生DCT(离散余弦变换)系数;所述系数变换单元把4×4H.264整数变换矩阵近似为4×4DCT矩阵,并利用所述经近似的4×4DCT矩阵将所述DCT系数变换为整数变换系数;以及所述换算量化单元量化所述整数变换系数以产生所述H.264数据。
8.如权利要求7所述的装置,其中在不改变分辨率的情况下将MPEG-2数据代码变换为H.264数据,所述系数变换单元把8×8DCT矩阵变换为第一对角线矩阵和多个矩阵的乘积,并且将所述4×4整数变换矩阵变换为第二对角线矩阵和4×4DCT矩阵的乘积,以及把表达为所述多个矩阵中的一些矩阵和所述4×4DCT矩阵的组合的组合矩阵变换为第三对角线矩阵和具有对称结构的系数变换矩阵的乘积。
9.如权利要求8所述的装置,其中所述换算去量化单元被配置成利用第一对角线矩阵对所述DCT系数执行初次换算,所述系数变换单元被配置成利用所述系数变换矩阵和除了所述多个矩阵中的所述一些矩阵之外的剩余矩阵的乘积对所述经初次换算的数据进行二维变换,以及所述换算量化单元被配置成利用第二对角线矩阵和第三对角线矩阵对所述经二维变换的数据执行二次换算以产生所述整数变换系数。
10.如权利要求8所述的装置,其中所述系数变换单元通过所述多个矩阵中的一些矩阵和四个4×4DCT矩阵的相乘来产生组合矩阵,并将所述组合矩阵变换为所述第三对角线矩阵和所述系数变换矩阵的乘积,以便在所述系数变换矩阵的对称元素对当中的一对的值为1。
11.如权利要求7所述的装置,其中在减少1/2分辨率的情况下把所述MPEG-2数据代码变换为所述H.264数据,所述系数变换单元把所述4×4整数变换矩阵变换为第二对角线矩阵和4×4DCT矩阵的乘积,并且从所述DCT系数产生对应于低频率分量的4×4DCT系数矩阵,以及所述换算量化单元利用第二对角线矩阵对所述4×4DCT系数矩阵执行换算以产生所述整数变换系数。
全文摘要
一种用于将第一格式的数据(例如MPEG-2数据)代码变换为第二格式的数据(例如H.264数据)的装置及方法。所述装置可以包括换算去量化单元、系数变换单元和/或换算量化单元。所述换算去量化单元可以把第一格式(例如MPEG-2数据)的数据去量化以产生DCT(离散余弦变换)系数。所述系数变换单元可以将4×4第二数据格式(如,H.264)整数变换矩阵近似为4×4DCT矩阵,并且利用所述经近似的4×4DCT矩阵把所述DCT系数变换为整数变换系数。所述换算量化单元可以将所述整数变换系数量化以产生所述第二格式的数据(如,H.264数据)。
文档编号H04N7/26GK1960493SQ20061016356
公开日2007年5月9日 申请日期2006年9月11日 优先权日2005年9月10日
发明者朴灿律, 赵南翊 申请人:首尔国立大学校产学协力财团, 三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1