一种基于多种编解码标准的数据变换方法及装置的制作方法

文档序号:7685132阅读:199来源:国知局
专利名称:一种基于多种编解码标准的数据变换方法及装置的制作方法
技术领域
本发明涉及编解码中的数据变换领域,尤其涉及视频编解码中的基于多种视频编解码标准的数据变换方法和装置。

背景技术
视频编解码是指对数字视频进行压缩或解压缩。世界各国的各组织和协会制定了各种编解码标准。数据变换是编解码的重要组成部分,由于其计算量和装置在整个视频编解码过程中占有很大的比重,因而对数据的压缩、解压缩和传输有着重要的意义。
在支持多视频编解码标准的ASIC系统中,往往需要分别按照各频编解码标准的算法来实现基于多种视频编解码标准的数据变换。并且,现有技术常通过简单集成支持各种视频编解码标准的多个硬件架构来实现基于多种视频编解码标准的数据变换。例如,现有技术对基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264的各种视频编解码标准的频时变换的方法和装置简单描述如下 基于MPEG-2/MPEG-4/H.263/MPEG的频时变换(所述基于MPEG-2/MPEG-4/H.263/MPEG的频时变换即为IDCT变换),其中一种方法是直接将频时变换公式展开,然后利用乘法器和加法器实现;另一种方法是采用32个加法器和12个乘法器来实现。
基于VC-1的频时变换,则需要采用一种专用于该标准的频时变换装置来进行所述变换,其中包括且仅包括用于对基于此标准的信号进行频时变换的逻辑运算单元。通常都直接将简化的频时变换展开实现,需要32个加法器和12个乘法器。
基于H.264的频时变换同样需要一种专用于该标准的频时变换装置来进行所述变换。通常采用移位器和加法器进行基于H.264的频时变换。
综上所述,由于现有技术需要分别按照各视频编解码标准的算法来实现基于多种视频编解码标准的数据变换,因而功耗较大;同时,由于现有技术把支持各种视频编解码标准的多个硬件架构简单集成在一起来实现基于多种视频编解码标准的数据变换,其面积相当于分别实现各种视频编解码标准所采用的硬件架构的面积的总和,因此装置的面积较大,成本较高。
对于基于多视频编解码标准的产品,特别是基于多视频标准的手持设备中,功耗高和面积大的缺陷极大地影响了产品的竞争力。因此,设计一种统一算法和架构来支持基于多种视频编解码标准的数据变换的方法和设备,具有重要意义。


发明内容
为了解决上述基于多种视频编解码标准的方法和装置的功耗较大和装置面积较大的问题,本发明的目的是提供一种统一算法统一装置的基于多种视频编解码标准的数据变换方法和设备。
本发明第一方面提供一种基于多种编解码标准的数据变换方法,其特征在于,包括如下步骤 b.根据输入数据的编解码标准,控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入数据进行数据变换。
本发明第二方面提供一种基于多种编解码标准的数据变换装置,其特征在于,其结构包括 逻辑电路,所述的逻辑电路包括多个逻辑运算单元,可提供多个逻辑运算单元构成逻辑运算组合,并根据输入信号所属的编解码标准利用所述的逻辑运算组合完成相应的数据变换。
与现有技术相比,本发明具有以下优点本发明通过分析多种视频编解码标准的数据变换的算法的差异性和共同点,将多种视频编解码标准的算法公式统一,从而用统一算法来实现基于多种视频编解码标准的数据变换,因此功耗较小;本发明根据所述的统一算法,提供一种统一的基于多视频编解码标准的装置,以使各个视频编解码标准都可共用所述装置的逻辑单元,因此面积较小,节省了成本。



通过阅读以下参照附图所作的对非限制性实施例的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1为本发明的方法流程图; 图2为本发明的结构示意图; 图3为实施例一的方法流程图; 图4为实施例一频时变换的方法流程图; 图5为实施例一的一维频时变换的RTL级结构示意图; 图6为本发明数据变换的结构示意图; 图7为实施例二的方法流程图; 图8为实施例二时频变换的方法流程图; 图9为实施例二的一维时频变换的RTL级结构示意图。

具体实施例方式 下面结合附图和具体实施例对本发明作进一步详细描述。
参见图1,本发明的数据变换方法包括如下步骤 在步骤S1中,检测输入信号所属的编解码标准; 在步骤S2中,根据所检测的输入信号所属的编解码标准,控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入数据进行数据变换。
参见图2,本发明的数据变换装置0包括检测装置1和逻辑电路3。
具体地,所述检测装置1用于检测输入信号所属的编解码标准,并输出检测信号给逻辑电路3。所述逻辑电路3包括乘法器,加法器,减法器等多个逻辑运算单元,用于根据检测信号,以控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入信号进行数据变换。
需要说明的是,本发明不仅可以适用于基于多种编解码标准的数据变换,也可适用于单个编解码标准的数据变换。当适用于单个视频编解码标准的数据变换时,不执行步骤S1,直接执行步骤S2。即,输入信号不经过检测装置1的检测,直接通过逻辑电路3进行相应的数据变换。
[实施例一] 本实施例是基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS视频编解码标准的频时变换的方法和装置。
首先对本实施例的算法分析进行介绍。频时变换的算法公式为 所述的频时变换每次处理8x8的块。由公式(1)可知所述频时变换是一个正交可分操作,因此所述公式(1)可描述为 Y=MTXM=((XM)TM)T (2) 其中M为变换矩阵,T为矩阵的转置运算,X为输入频域信号,而Y为输出时域信号。
按照MPEG-2/MPEG-4/H.263/JPEG视频编解码标准(MPEG-2,MPEG-4,H.263,JPEG四种视频编解码标准对于频时变换的过程是一样的),频时变换(所述频时变换即为IDCT数据变换。)的算法是将二维频时变换转化为两个一维频时变换来实现,所述一维频时变换实现XM运算,所述二维频时变换实现(XM)TM。其中,一维8点频时变换可描述为 其中,变换矩阵系数(i=1,2......7)。其中,因此对一维频时变换中的变换矩阵系数Wi乘以

相当于对二维IDCT变换系数乘了可以对所述二维频时变换结果除2即得到最终频时变换结果。现有技术采用的12个乘法器和32个加法器实现的基于MPEG-2/MPEG-4/H.263/JPEG的视频编解码标准的频时变换就是基于上述原理。
由于上述乘以

以减少乘法器的原理不适用于VC-1,H.264,AVS等标准的变换,本实施例并未利用上述乘以

以减少乘法器的原理,而是利用余弦函数的对称性,从而使MPEG-2/MPEG-4,VC-1,H.264,AVS等标准的频时变换统一到同一算法和架构下成为可能。将基于MPEG-2/MPEG-4/H.263/JPEG视频编解码标准的8点一维频时变换(IDCT数据变换)算法即公式(3)展开为 Y01=d×x1+e×(x7+x1)+h×(x5+x1)+i×(x1+x3+x5+x7) Y11=c×x3+f×(x5+x3)+g×(x7+x3)+i×(x1+x3+x5+x7) Y21=b×x5+f×(x5+x3)+h×(x5+x1)+i×(x1+x3+x5+x7) Y31=a×x7+e×(x7+x1)+g×(x7+x3)+i×(x1+x3+x5+x7) Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) y0=Y02-Y01 y1=Y12-Y11 y2=Y22-Y21 y3=Y32-Y31 y4=Y31+Y32 y5=Y21+Y22 y6=Y11+Y12 y7=Y01+Y02(4) 其中,a、b、c、d、e、f、g、h、i、j、k、l、m为系数。上述系数的表达式和值如下表所示 按照VC-1视频编解码标准,频时变换每次处理的块分为8X8(8行8列)、8X4(8行4列)、4X8(4行8列)、4X4(4行4列),其二维频时变换的算法公式为 Enxm=(Dnxm×Tmxm+4)>>3(5) 其中Dmxn为输入的频域信号;Emxn为一维的频时变换的输出结果;Rmxn为二维的频时变换输出结果;Tmxm和Tnxn为变换矩阵(m和n表示每次处理的块的大小,m和n的值为8或4);Cmxn为常量矩阵。Enxm=(Dnxm×Tmxm+4)>>3表示将Dnxm×Tmxm得到的矩阵的每个元素加4,然后将每个元素右移3位,得到一维的频时变换的输出结果Emxn;表示将

得到的矩阵的每个元素加64,然后将每个元素右移7位再转置,得到二维的频时变换的输出结果Rmxn。T8×8和T4×4分别表示4行和8行的变换矩阵 其中 本实施例将Wi(i=1,2......7)设置为如下对于8点的一维频时变换Wi={16,16,15,12,9,6,4},i=1,2......7;对于4点的一维频时变换W2=22,W4=17,W6=10。
具体地,本实施例将基于VC-1视频编解码标准的一维频时变换的矩阵相乘计算描述如下 对于8x8的块 Y01=d×x1+e×(x7+x1)+h×(x5+x1)+i×(x1+x3+x5+x7) Y11=c×x3+f×(x5+x3)+g×(x7+x3)+i×(x1+x3+x5+x7) Y21=b×x5+f×(x5+x3)+(x5+x1)+i×(x1+x3+x5+x7) Y31=a×x7+e×(x7+x1)+g×(x7+x3)+i×(x1+x3+x5+x7) Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) 对于8x4的块 Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) 对于4x8的块 Y01=d×x1+e×(x7+x1)+h×(x5+x1)+i×(x1+x3+x5+x7) Y11=c×x3+f×(x5+x3)+g×(x7+x3)+i×(x1+x3+x5+x7) Y21=b×x5+f×(x5+x3)+h×(x5+x1)+i×(x1+x3+x5+x7) Y31=a×x7+e×(x7+x1)+g×(x7+x3)+i×(x1+x3+x5+x7) Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) 对于4x4的块 Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) 进一步地,本实施例将基于VC-1视频编解码标准的二维频时变换的矩阵相乘计算描述如下 对于8x8和8x4的块 Y01=d×x1+e×(x7+x1)+h×(x5+x1)+i×(x1+x3+x5+x7) Y11=c×x3+f×(x5+x3)+g×(x7+x3)+i×(x1+x3+x5+x7) Y21=b×x5+f×(x5+x3)+h×(x5+x1)+i×(x1+x3+x5+x7) Y31=a×x7+e×(x7+x1)+g×(x7+x3)+i×(x1+x3+x5+x7) Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(w2+w6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) 对于4x8和4x4的块 Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) 因此,本实施例可将基于VC-1视频编解码标准的一维频时变换描述为 公式(6)与公式(3)类似,因此本实施例可以将公式(6)的矩阵相乘统一到公式(4)的形式。其中,a、b、c、d、e、f、g、h、i、j、k、l、m为系数。上述系数的表达式和值如下表所示 按照H.264视频编解码标准,频时变换每次处理4X4的块,其二维的频时变换算法公式为 其中 通过分析对比,本实施例令W4=1,W2=1,W6=1/2,将公式(7)展开为 Y02=m×(x4+x0)+k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)-k×x6-l×(x2+x6) (8) 其中的l=1;m=1。
按照AVS视频编解码标准,对变换系数矩阵进行如下一维反变换其中,X是量化后的结果;T8是8×8反变换矩阵,

是T8的转置矩阵;H′表示一维反变换结果,H′的元素hij=(Clip3(-215,215-1,(hij+4)))>>3,其中i=0~7,j=0~7。
本实施例对H′进行如下二维反变换H=H′×T8。其中,H表示变换后的8×8矩阵。然后,本实施例将结果饱和(clip)到[-215,215-1]范围之间,具体如下rij=(Clip3(-215,215-1,(hij+26)))>>7,其中i=0~7,j=0~7。
因此,本实施例将基于AVS视频编解码标准的8点一维频时变换(Wi={10,10,9,8,6,4,2},i=1,2......7)的矩阵相乘计算描述如下 Y01=d×x1+e×(x7+x1)+h×(x5+x1)+i×(x1+x3+x5+x7) Y11=c×x3+f×(x5+x3)+g×(x7+x3)+i×(x1+x3+x5+x7) Y21=b×x5+f×(x5+x3)+h×(x5+x1)+i×(x1+x3+x5+x7) Y31=a×x7+e×(x7+x1)+g×(x7+x3)+i×(x1+x3+x5+x7) Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) 具体地,根据AVS标准定义的算法公式,本实施例将基于AVS视频编解码标准的一维8点的频时变换描述为 因此,公式9中的矩阵相乘也可以统一到公式(4)的形式,其中,a、b、c、d、e、f、g、h、i、j、k、l、m为系数。上述系数的表达式和值如下表所示 综上所述,基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264和AVS视频编解码标准的频时变换的计算有很多相似之处,只是其中的系数常量和圆整不同而已,本发明通过对所述基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264和AVS视频编解码标准的频时变换的分析对比,将所述的基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS视频编解码标准的频时变换的算法统一到同一算法公式来实现,如下所示 Y=((((XM0+R0)>>S0)TM1+R1)>>51)T (10) 其中,X为输入编码信号;Y为经所述频时变换后的输出信号;M0,M1,R0,S0,R1,S1为与所述输入编码信号所属的视频编解码标准相对应的常数矩阵;运算符号T表示矩阵的转置操作;运算符号>>表示对矩阵中各个数据的移位操作。
具体地,对于基于MPEG-2/MPEG-4/H.263/JPEG标准的频时变换,在公式(10)中,R0、R1、S0和S1矩阵值全部为0。
其中,变换矩阵系数(i=1,2.......7)。
具体地,对于H.264标准的频时变换,在公式(10)中,R0,R1,S0和S1皆为0, 具体地,对于AVS标准的频时变换,在公式(10)中, R0=[4,4,4,4,4,4,4,4]T, R1=[64,64,64,64,64,64,64,64]T,S0=3,S1=7。
具体地,在公式(10)中,对于VC-1标准的频时变换且处理的信号为8×8的数据块时S0=3(表示所述输入的编码信号的每个数据右移位3位),S1=7(表示所述输入的编码信号中的每个数据右移位7位);对于VC-1标准的频时变换且处理的信号为4×8的数据块时, S0=3(表示所述输入的编码信号中的每个数据右移位3位),S1=7(表示所述输入的编码信号中的每个数据右移位7位);对于VC-1标准的频时变换且处理的信号为4×4的数据块时,S0=3(表示所述输入的编码信号中的每个数据右移位3位),S1=7(表示所述输入的编码信号中的每个数据右移位7位);对于VC-1标准的频时变换且处理的信号为8×4的数据块时,S0=3(表示所述输入的编码信号中的每个数据右移位3位),S1=7(表示所述输入的编码信号中的每个数据右移位7位)。
综合上述算法分析,参见图3~图4,本实施例的方法具体描述如下 在步骤S11中,检测输入编码信号所属的视频编解码标准为所述MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS视频编解码标准其中哪一种。
在步骤S21中,根据所检测的输入信号所属的视频编解码标准,控制多个逻辑运算单元来构成一个逻辑运算组合,输出控制信号给逻辑电路31。所述的逻辑运算组合用于对所述的输入数据进行频时变换。
其中,所述多个逻辑运算单元的构成如下式所示 Y=((((XM0+R0)>>S0)TM1+R1)>>S1)T (10) 其中,X为输入信号;Y为经所述频时变换后的输出信号;M0,M1,R0,S0,R1,S1为与所述输入编码信号所属的编解码标准相对应的常数矩阵;运算符号T表示矩阵的转置操作;运算符号>>表示对矩阵中各个数据的移位操作。
具体地,参照图4,步骤S21中的频时变换具体包括如下步骤 在步骤S211中,先将上级单元VLD(变长解码器)的输出进行逆向量化,输出逆向量化的结果(即一行8点的变换系数)。
在步骤S212中,读取所述的逆向量化的结果的数据排序。
在步骤S213中,将进行数据排序后的逆向量化的结果进行一维的频时变换,本实施例中一维频时变换的矩阵相乘计算具体RTL级逻辑单元的连接如图5所述。
具体地,所述的一维频时变换的矩阵相乘计算按照如下算法公式进行 Y01=d×x1+e×(x7+x1)+h×(x5+x1)+i×(x1+x3+x5+x7) Y11=c×x3+f×(x5+x3)+g×(x7+x3)+i×(x1+x3+x5+x7) Y21=b×x5+f×(x5+x3)+h×(x5+x1)+i×(x1+x3+x5+x7) Y31=a×x7+e×(x7+x1)+g×(x7+x3)+i×(x1+x3+x5+x7) Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) y0=Y02-Y01 y1=Y12-Y11 y2=Y22-Y21 y3=Y32-Y31 y4=Y31+Y32 y5=Y21+Y22 y6=Y11+Y12 y7=Y01+Y02 (4) 其中,a=W3+W5-W1-W7;b=W1+W3-W5+W7;c=W1+W3+W5-W7;d=W1+W3-W5-W7;e=W3-W7;f=W1+W3;g=W3+W5;h=W3-W5;i=W3;j=W2+W6;k=W2-W6;l=W2;m=W4。
对一维频时变换的结果进行转置运算,将其结果再次进行一维频时变换,以得到二维频时变换的结果。
在步骤S214中,判断所述步骤S213的输出是否为二维频时变换的结果。如是,即继续执行步骤S215;如不是,返回步骤S212。
在步骤S215中,输出二维频时变换的结果。
参照图6,本实施例的数据变换装置01包括检测装置1和逻辑电路3。优选地,本实施例的数据变换装置01还包括寄存装置4,控制装置21,转置存储装置5,判断装置7和输出缓冲装置8。本领域技术人员根据本申请的教导,应能理解其中仅检测装置11和逻辑电路3是实施本发明所必要的装置,寄存装置4,控制装置21,转置存储装置5,判断装置7和输出缓冲装置8为可选装置。
首先,检测装置1用于对输入信号进行检测,以确定所述输入信号所属的编解码标准为MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS中哪一种,并输出检测信号给逻辑电路3。
然后,所述逻辑电路3根据所述检测装置1所检测的输入信号所属视频编解码标准,控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入数据进行频时变换。
具体地,所述逻辑电路的多个逻辑运算单元的构成如下式所示 Y=((((XM0+R0)>>S0)TM1+R1)>>S1)T, 其中,X为输入信号;Y为经所述频时变换后的输出信号;M0,M1,R0,S0,R1,S1为与所述输入编码信号所属的编解码标准相对应的常数矩阵;运算符号T表示矩阵的转置操作;运算符号>>表示对矩阵中各个数据的移位操作。
具体地,所述逻辑电路3包括14个乘法器和32个加法器(减法器)。所述的逻辑电路3至少包括乘法器和加法器组31,加法器(减法器)和圆整组32。其中,所述乘法器和加法器组31用于完成一维频时变换的4X4矩阵运算;所述加法器(减法器)和圆整组32负责将所述4X4的矩阵运算的结果组合成8X8的矩阵运算。
优选地,在所述逻辑电路3和检测装置1之间还可以设置一个控制装置2,所述控制装置2包括4个状态机,用于分别控制基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS视频编解码的频时变换操作,控制包含多个逻辑运算单元的逻辑电路3来构成一个相应的逻辑运算组合,其用于对输入信号进行频时变换。
优选地,在控制装置2之前还可以设置一个寄存装置,所述寄存装置用于保存从上级单元(逆向量化单元或者变长解码单元)传送过来的输入信号,并对输入信号进行数据缓冲。
优选地,在本实施例中还可以设置一个转置存储装置5,判断装置7和数据缓冲器8。其中,逻辑单元3用于对输入信号进行一维频时变换,所述一维频时变换的矩阵相乘按照如下算法公式进行 Y01=d×x1+e×(x7+x1)+h×(x5+x1)+i×(x1+x3+x5+x7) Y11=c×x3+f×(x5+x3)+g×(x7+x3)+i×(x1+x3+x5+x7) Y21=b×x5+f×(x5+x3)+h×(x5+x1)+i×(x1+x3+x5+x7) Y31=a×x7+e×(x7+x1)+g×(x7+x3)+i×(x1+x3+x5+x7) Y02=m×(x4+x0)-k×x6+l×(x2+x6) Y12=m×(x0-x4)+j×x2-l×(x2+x6) Y22=m×(x0-x4)-j×x2+l×(x2+x6) Y32=m×(x4+x0)+k×x6-l×(x2+x6) y0=Y02-Y01 y1=Y12-Y11 y2=Y22-Y21 y3=Y32-Y31 y4=Y31+Y32 y5=Y21+Y22 y6=Y11+Y12 y7=Y01+Y02 (4) 其中,a=W3+W5-W1-W7;b=W1+W3-W5+W7;c=W1+W3+W5-W7;d=W1+W3-W5-W7;e=W3-W7;f=W1+W3;g=W3+W5;h=W3-W5;i=W3;j=W2+W6;k=W2-W6;l=W6,m=W4。
并将所述一维频时变换的结果传输给所述转置存储装置5。所述转置存储装置5用于存储一维频时变换的结果,并对其进行转置运算,然后将其结果传输回逻辑电路3。然后,逻辑电路3再对转置后的一维频时变换结果再次进行一维频时变换,以得到二维频时变换的结果,并将所述二维频时变换的结果传输给判断装置7。由所述判断装置7判断逻辑电路3的输出结果是否为二维频时变换的输出结果,如所述输出结果是二维频时变换的输出结果,则将所述二维频时变换的输出结果传送给输出缓冲装置8。所述输出缓冲装置8用于保存二维频时变换的最终结果,并可作为下一单元的共享存储空间。
[实施例二] 本实施例是基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS视频编解码标准的时频变换的方法和装置 首先对本实施例的算法分析进行介绍。二维时频变换的算法公式为 Y=AXAT 其中,X为NxN的采样点矩阵;A为变换矩阵;Y为NxN系数矩阵;A中的各元素为,其中 按照MPEG-2/MPEG-4/H.263/JPEG视频编解码标准,一维8点时频变换(所述时频变换即为DCT数据变换)定义为 其中N=8。8点的时频变换可以描述为 (13) 其中,变换矩阵系数(i=1,2......7)。其中,因此对一维时频变换中的变换矩阵系数Wi乘以

相当于对二维频时变换系数乘了可以对所述二维时频变换结果除2即得到最终时频变换的结果。现有技术采用的基于MPEG-2/MPEG-4/H.263/JPEG的视频编解码标准的时频变换就是基于上述原理。
本实施例并未利用上述乘以

以减少乘法器的原理,而是根据余弦函数的对称性,从而使MPEG-2/MPEG-4,VC-1,H.264,AVS等标准的时频变换统一到同一算法和架构下成为可能。将基于MPEG-2/MPEG-4/H.263/JPEG的视频编解码标准的8点一维时频变换(DCT数据变换)算法即公式(13)展开为 X0=x0+x7 X2=x1+x6 X4=x2+x5 X6=x3+x4 X1=x0-x7 X3=x1-x6 X5=x2-x5 X7=x3-x4 I0=X2+X4 I1=X2-X4 I2=X0-X6 I3=X0+X6 Y0=m×(I0+I3) Y2=k×I2+l×(I1+I2) Y4=m×(I3-I0) Y6=-j×I1+l×(I1+I2) Y1=d×X1+e×(X7+X1)+h×(X5+X1)+i×(X1+X3+X5+X7) Y3=c×X3+f×(X5+X3)+g×(X7+X3)+i×(X1+X3+X5+X7) Y5=b×X5+f×(X5+X3)+h×(X5+X1)+i×(X1+X3+X5+X7) (14) Y7=a×X7+e×(X7+X1)+g×(X7+X3)+i×(X1+X3+X5+X7) 其中,a、b、c、d、e、f、g、h、i、j、k、l为系数。上述系数的表达式和值如下表所示 按照VC-1视频编解码标准,时频变换每次处理的块分为4x4(4行4列),4x8(4行8列),8x4(8行4列),8x8(8行8列)的,其二维的时频变换的算法公式为
其中,D为残差矩阵;

是时频变换后的残差矩阵;“。”表示前后两个矩阵的每个同行同列的因素分别一一相乘;N44=C4C4t,N84=C4C8t,N48=C8C4t,N88=C8C8t,并且T4和T8分别表示4行和8行的变换矩阵,T4t是T4的转置,T8t是T8的转置。
本实施例将Wi(i=1,2......7)设置为如下对于8点的一维变换,Wi={16,16,15,12,9,6,4},i=1,2......7;对于4点的一维变换,W2=22,W4=17,W6=10。
具体地,本实施例将基于VC-1视频编解码标准的一维时频变换的计算描述如下 对于8点的块 对于4点的块 具体地,本发明将基于VC-1视频编解码标准的二维时频变换的计算描述如下 对于8点的块



对于4点的块

因此也可以将基于VC-1视频编解码标准的二维时频变换的矩阵相乘公式统一到公式(14) X0=x0+x7 X2=x1+x6 X4=x2+x5 X6=x3+x4 X1=x0-x7 X3=x1-x6 X5=x2-x5 X7=x3-x4 I0=X2+X4 I1=X2-X4 I2=X0-X6 I3=X0+X6 Y0=m×(I0+I3) Y2=k×I2+l×(I1+I2) Y4=m×(I3-I0) Y6=-j×I1+l×(I1+I2) Y1=d×X1+e×(X7+X1)+h×(X5+X1)+i×(X1+X3+X5+X7) Y3=c×X3+f×(X5+X3)+g×(X7+X3)+i×(X1+X3+X5+X7) (14) Y5=b×X5+f×(X5+X3)+h×(X5+X1)+i×(X1+X3+X5+X7) Y7=a×X7+e×(X7+X1)+g×(X7+X3)+i×(X1+X3+X5+X7) 公式(14)与公式(13)类似,其中,a、b、c、d、e、f、g、h、i、j、k、l、m为系数。上述系数的表达式和值如下表所示 按照H.264视频编解码标准,时频变换每次须处理4X4的块,其二维的时频变换的算法公式为 其中 通过分析对比,本实施例令W4=1,W2=1,W6=2,将公式(16)展开为 I0=x1+x2 I1=x1-x2 I2=x0-x3 I3=x0+x3(17) Y0=m×(I0+I3) Y1=k×I2+l×(I1+I2) Y2=m×(I3-I0) Y3=-j×I1+l×(I1+I2) 其中m=1,l=2,j=3,k=-1. 根据AVS视频编解码标准的时频变换,对采样点矩阵X进行如下一维变换其中,T8是8×8反变换矩阵,

是T8的转置矩阵;H表示一维变换后的结果。H的元素hij=(Clip3(-215,-215-1,(hij+4)))>>3,其中i=0~7,j=0~7。
本实施例对H进行如下二维变换H′=H×T8。其中,H′表示二维变换后的8×8矩阵。然后,本实施例将结果饱和(clip)到[-215,215-1]范围之间,具体如下rij=(Clip3(-215,215-1,(hij+26)))>>7,其中i=0~7,j=0~7。
综上所述,本发明通过对所述基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264,AVS四种编解码标准的时频变换的分析对比,将所述的基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264,AVS四种编解码标准时频变换的算法统一到同一算法公式来实现,如下所示
其中,X是变换前的系数矩阵;Y经过时频变换后输出的结果;对于8点(x0,x1,x2,x3,x4,x5,x6,x7)的时频变换,X为(I0,X1,I1,X3,I2,X5,I3,X7);运算符号>>表示对矩阵中各个数据的移位操作;

表示表示前后两个矩阵的每个同行同列的因素分别一一相乘;Mi,Mj,R0,R1,S0为与所述输入编码信号所属的编解码标准相对应的常数矩阵;其中, X0=x0+x7 X2=x1+x6 X4=x2+x5 X6=x3+x4 X1=x0-x7 X3=x1-x6 X5=x2-x5 X7=x3-x4 I0=X2+X4 I1=X2-X4 I2=X0-X6 I3=X0+X6 具体地,对于基于MPEG-2/MPEG-4/H.263/JPEG标准的DCT数据变换,在公式(20)中,R0=R1=S0=0,N=1; 具体地,对于基于VC-1标准的时频变换,在公式(20)中,其中处理8x8(8行8列)大小的块时,R0=R1=S0=0,N=C8C8t,处理4x8(4行8列)大小的块时,R0=R1=S0=0,N=C4C8t,处理8x4(8行4列)大小的块时,R0=R1=S0=0,N=C8C4t, 处理4x4(4行4列)大小的块时,R0=R1=S0=0,N44=C4C4t, 具体地,对于基于H.264标准的时频变换,R0=R1=S0=0,N=1。
具体地,对于基于AVS标准的时频变换时,R0=[4,4,4,4,4,4,4,4,]T;R1=[64,64,64,64,64,64,64,64,]T;S0=3; 综合上述算法分析,参见图7~图8,本实施例的方法具体描述如下 在步骤S12中,检测输入编码信号所属的视频编解码标准为所述MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS视频编解码标准其中哪一种。
在步骤S22中,根据所检测的输入信号所属的视频编解码标准,控制多个逻辑运算单元来构成一个逻辑运算组合,输出控制信号给逻辑电路31。所述的逻辑运算组合用于对所述的输入数据进行时频变换。
其中,所述多个逻辑运算单元的构成如下式所示

其中,X是变换前的系数矩阵;Y经过时频变换后输出的结果;对于8点(x0,x1,x2,x3,x4,x5,x6,x7)的时频变换,X为(I0,X1,I1,X3,I2,X5,I3,X7);运算符号>>表示对矩阵中各个数据的移位操作;

表示表示前后两个矩阵的每个同行同列的因素分别一一相乘;Mi,Mj,R0,R1,S0为与所述输入编码信号所属的编解码标准相对应的常数矩阵;其中, X0=x0+x7 X2=x1+x6 X4=x2+x5 X6=x3+x4 X1=x0-x7 X3=x1-x6 X5=x2-x5 X7=x3-x4 I0=X2+X4 I1=X2-X4 I2=X0-X6 I3=X0+X6 具体地,参照图8,步骤S22中的时频变换具体包括如下步骤 在步骤S221中,先读取输入信号的数据排序; 在步骤S222中,将进行数据排序后的输入信号进行一维时频变换,本实施例中一维时频变换的矩阵相乘计算具体RTL级逻辑单元的连接如图9所述。
具体地,所述的一维时频变换的矩阵相乘按照如下算法公式进行 X0=x0+x7 X2=x1+x6 X4=x2+x5 X6=x3+x4 X1=x0-x7 X3=x1-x6 X5=x2-x5 X7=x3-x4 I0=X2+X4 I1=X2-X4 I2=X0-X6 I3=X0+X6 Y0=m×(I0+I3) Y2=k×I2+l×(I1+I2) Y4=m×(I3-I0) Y6=-j×I1+l×(I1+I2) Y1=d×X1+e×(X7+X1)+h×(X5+X1)+i×(X1+X3+X5+X7) Y3=c×X3+f×(X5+X3)+g×(X7+X3)+i×(X1+X3+X5+X7) (14) Y5=b×X5+f×(X5+X3)+h×(X5+X1)+i×(X1+X3+X5+X7) Y7=a×X7+e×(X7+X1)+g×(X7+X3)+i×(X1+X3+X5+X7) 其中,a=W3+W5-W1-W7;b=W1+W3-W5+W7;c=W1+W3+W5-W7;d=W1+W3-W5-W7;e=W3-W7;f=W1+W3;g=W3+W5;h=W3-W5;i=W3;j=W2+W6;k=W2-W6;l=W6,m=W4; 对一维时频变换的结果进行转置运算,将其结果再次进行一维时频变换,以得到二维时频变换的结果; 在步骤S223中,判断所述步骤S222的输出是否为二维时频变换的结果。如是,即继续执行步骤S224;如不是,返回步骤S222; 在步骤S224中,输出二维时频变换; 在步骤S225中,将所述二维时频变换的结果进行量化,并输出量化的结果。
参照图6,本实施例的数据变换装置01包括检测装置1和逻辑电路3。优选地,本实施例的数据变换装置01还包括寄存装置4,控制装置21,转置存储装置5,判断装置7和输出缓冲装置8。本领域技术人员根据本申请的教导,应能理解其中仅检测装置1和逻辑电路3是实施本发明所必要的装置,寄存装置4,控制装置21,转置存储装置5,判断装置7和输出缓冲装置8为可选装置。
首先,检测装置1用于对输入信号进行检测,以确定所述输入信号所属的编解码标准为MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS中哪一种,并输出检测信号给逻辑电路3。
然后,所述逻辑电路3根据所述检测装置1所检测的输入信号所属视频编解码标准,控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入数据进行时频变换。
具体地,所述逻辑电路的多个逻辑运算单元的构成如下式所示
其中,X是变换前的系数矩阵;Y经过时频变换后输出的结果;对于8点(x0,x1,x2,x3,x4,x5,x6,x7)的时频变换,X为(I0,X1,I1,X3,I2,X5,I3,X7);运算符号>>表示对矩阵中各个数据的移位操作;

表示表示前后两个矩阵的每个同行同列的因素分别一一相乘;Mi,Mj,R0,R1,S0为与所述输入编码信号所属的编解码标准相对应的常数矩阵。
具体地,所述逻辑电路3包括14个乘法器和32个加法器(减法器)。所述的逻辑电路3至少包括乘法器和加法器组31,加法器(减法器)和圆整组32。其中,所述乘法器和加法器组31用于完成一维时频变换的4X4矩阵运算;所述加法器(减法器)和圆整组32负责将所述4X4的矩阵运算的结果组合成8X8的矩阵运算。
优选地,在所述逻辑电路3和检测装置1之间还可以设置一个控制装置2,所述控制装置2包括4个状态机,用于分别控制基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS视频编解码的时频变换操作,控制包含多个逻辑运算单元的逻辑电路3来构成一个相应的逻辑运算组合,其用于对输入信号进行时频变换。
优选地,在控制装置2之前还可以设置一个寄存装置,所述寄存装置用于保存从上级单元传送过来的输入信号,并对输入信号进行数据缓冲。
优选地,在本实施例中还可以设置一个转置存储装置5,判断装置7和数据缓冲器8。其中,逻辑单元3用于对输入信号进行一维时频变换,所述一维时频变换的矩阵相乘按照如下算法公式进行 X0=x0+x7 X2=x1+x6 X4=x2+x5 X6=x3+x4 X1=x0-x7 X3=x1-x6 X5=x2-x5 X7=x3-x4 I0=X2+X4 I1=X2-X4 I2=X0-X6 I3=X0+X6 Y0=m×(I0+I3) Y2=k×I2+l×(I1+I2) Y4=m×(I3-I0) Y6=-j×I1+l×(I1+I2) Y1=d×X1+e×(X7+X1)+h×(X5+X1)+i×(X1+X3+X5+X7) Y3=c×X3+f×(X5+X3)+g×(X7+X3)+i×(X1+X3+X5+X7) Y5=b×X5+f×(X5+X3)+h×(X5+X1)+i×(X1+X3+X5+X7)’ (14) Y7=a×X7+e×(X7+X1)+g×(X7+X3)+i×(X1+X3+X5+X7) a=W3+W5-W1-W7;b=W1+W3-W5+W7;c=W1+W3+W5-W7;d=W1+W3-W5-W7;e=W3-W7;f=W1+W3;g=W3+W5;h=W3-W5;i=W3;j=W2+W6;k=W2-W6;l=W2;m=W4。
并将所述一维时频变换的结果传输给所述转置存储装置5。所述转置存储装置5用于存储一维时频变换的结果,并对其进行转置运算,然后将其结果传输回逻辑电路3。然后,逻辑电路3再对转置后的一维时频变换结果再次进行一维时频变换,以得到二维时频变换的结果,并将所述二维时频变换的结果传输给判断装置7。由所述判断装置7判断逻辑电路3的输出结果是否为二维时频变换的输出结果,如所述输出结果是二维时频变换的输出结果,则将所述二维时频变换的输出结果传送给输出缓冲装置8。所述输出缓冲装置8用于保存二维时频变换的最终结果,并可作为下一单元的共享存储空间。
虽然本发明中以基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS视频编解码标准的数据变换为例对本发明进行了详细的说明,本领域的技术人员根据本申请文件的教导,应能理解本发明不限于基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS视频编解码标准的数据变换,对于其它的编解码标准,本发明同样适用。本发明中的数据变换类型不限,包括一切在算法上可以统一的数据变换类型。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在所附权利要求的范围内做出各种变形或修改。
权利要求
1.一种基于多种编解码标准的数据变换方法,其特征在于,包括如下步骤
b.根据输入数据的编解码标准,控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入数据进行数据变换。
2.如权利要求1所述的数据变换方法,其特征在于,在所述步骤b之前还包括
a.检测输入信号所属的编解码标准;
其中,所述步骤b为
根据所检测的输入信号所属的编解码标准,控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入数据进行数据变换。
3.如权利要求1或2所述的数据变换方法,其特征在于所述逻辑电路提供的逻辑运算组合的逻辑运算单元个数,小于分别完成基于多种编解码标准的数据变换所需的逻辑运算单元个数的总和。
4.如权利要求1至3任一项所述的数据变换方法,其特征在于所述编解码标准为多种编解码标准,包括以下各项中的任多项
MPEG-2、MPEG-4、H.263、JPEG、VC-1、H.264、AVS。
5.如权利要求1至4任一项所述的数据变换方法,其特征在于所述数据变换为频时变换;
其中,所述逻辑电路的多个逻辑运算单元的构成如下式所示
Y=((((XM0+R0)>>S0)TM1+R1)>>S1)T,
其中,X为输入信号;Y为经所述频时变换后的输出信号;M0,M1,R0,S0,R1,S1为与所述输入编码信号所属的编解码标准相对应的常数矩阵;运算符号T表示矩阵的转置操作;运算符号>>表示对矩阵中各个数据的移位操作。
6.如权利要求5所述的数据变换方法,其特征在于,对于基于MPEG-2/MPEG-4/H.263/JPEG标准的频时变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵R0、R1、S0和S1矩阵值皆为0,
7.如权利要求5所述的数据变换方法,其特征在于,对于VC-1标准的频时变换,所述的与输入编码信号所属的编解码标准相对应的常数矩阵M0,M1,R0,S0,R1,S1分别为
对于处理的信号为8×8的数据块时,
S0=3,S1=7;
对于处理的信号为4×8的数据块时,
S0=3,S1=7;
对于处理的信号为8×4的数据块时,
S0=3,S1=7;
对于处理的信号为4×4的数据块时,
S0=3,S1=7。
8.如权利要求5所述的数据变换方法,其特征在于,对于H.264标准的频时变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵R0,R1,S0和S1皆为0,
9.如权利要求5所述的数据变换方法,其特征在于,对于AVS标准的频时变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵M0,M1,R0,S0,R1,S1分别为
R0=[4,4,4,4,4,4,4,4,]T;R1=[64,64,64,64,64,64,64,64,]T;S0=3;S1=7。
10.如权利要求5至9任一项所述的数据变换方法,其特征在于,所述频时变换进一步地包括如下步骤
b11.将输入信号进行一维频时变换,所述的一维频时变换按照如下算法公式进行
Y01=d×x1+e×(x7+x1)+h×(x5+x1)+i×(x1+x3+x5+x7)
Y11=c×x3+f×(x5+x3)+g×(x7+x3)+i×(x1+x3+x5+x7)
Y21=b×x5+f×(x5+x3)+h×(x5+x1)+i×(x1+x3+x5+x7)
Y31=a×x7+e×(x7+x1)+g×(x7+x3)+i×(x1+x3+x5+x7)
Y02=m×(x4+x0)-k×x6+l×(x2+x6)
Y12=m×(x0-x4)+j×x2-l×(x2+x6)
Y22=m×(x0-x4)-j×x2+l×(x2+x6)
Y32=m×(x4+x0)+k×x6-l×(x2+x6)
y0=Y02-Y01
y1=Y12-Y11
y2=Y22-Y21
y3=Y32-Y31
y4=Y31+Y32
y5=Y21+Y22
y6=Y11+Y12
y7=Y01+Y02,
其中,a=W3+W5-W1-W7;b=W1+W3-W5+W7;c=W1+W3+W5-W7;d=W1+W3-W5-W7;e=W3-W7;f=W1+W3;g=W3+W5;h=W3-W5;i=W3;j=W2+W6;k=W2-W6;l=W2;m=W4,
b12.对一维频时变换的结果进行转置运算,并将其结果再次进行一维频时变换,以得到二维频时变换的结果。
11.如权利要求1至4任一项所述的数据变换方法,其特征在于所述数据变换为时频变换;
其中,所述逻辑电路的多个逻辑运算单元的构成如下式所示
其中,X是输入信号;Y为经所述时频变换后的输出信号;Mi,Mj,N,R0,R1和S0为与所述输入编码信号所属的编解码标准相对应的常数矩阵;运算符号
表示其两边的矩阵的相关系数一一相乘;运算符号>>表示对矩阵中各个数据的移位操作。
12.如权利要求11所述的数据变换方法,其特征在于,对于基于MPEG-2/MPEG-4/H.263/JPEG标准的时频变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵Mi,Mj,R0,R1,S0,N分别为R0=R1=S0=0,N=1。
13.如权利要求11所述的数据变换方法,其特征在于,对于基于VC-1标准的时频变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵Mi,Mj,R0,R1,S0,N分别为
对于处理的信号为8x8的数据块时,R0=R1=S0=0,N=C8C8t,其中
对于处理的信号为4x8的数据块时,R0=R1=S0=0,
N=C4C8t,其中,
对于处理的信号为8x4的数据块时,
R0=R1=S0=0,
其中
对于处理的信号为4x4大小的块时,R0=R1=S0=0,N44=C4C4i,其中
14.如权利要求11所述的数据变换方法,其特征在于,对于基于H.264标准的时频变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵Mi,Mj,R0,R1,S0,N分别为R0=R1=S0=0,N=1。
15.如权利要求11所述的数据变换方法,其特征在于,对于基于AVS标准的时频变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵Mi,Mj,R0,R1,S0,N分别为R0=[4,4,4,4,4,4,4,4,]T;R1=[64,64,64,64,64,64,64,64,]T;S0=3;
16.如权利要求11至15任一项所述的数据变换方法,其特征在于,所述的时频变换进一步地包括如下步骤
b21.将输入信号进行一维时频变换,所述的一维时频变换按照如下算法公式进行
X0=x0+x7
X2=x1+x6
X4=x2+x5
X6=x3+x4
X1=x0-x7
X3=x1-x6
X5=x2-x5
X7=x3-x4
I0=X2+X4
I1=X2-X4
I2=X0-X6
I3=X0+X6
Y0=m×(I0+I3)
Y2=k×I2+l×(I1+I2)
Y4=m×(I3-I0)
Y6=-j×I1+l×(I1+I2)
Y1=d×X1+e×(X7+X1)+h×(X5+X1)+i×(X1+X3+X5+X7)
Y3=c×X3+f×(X5+X3)+g×(X7+X3)+i×(X1+X3+X5+X7)
Y5=b×X5+f×(X5+X3)+h×(X5+X1)+i×(X1+X3+X5+X7)’
Y7=a×X7+e×(X7+X1)+g×(X7+X3)+i×(X1+X3+X5+X7)
a=W3+W5-W1-W7;b=W1+W3-W5+W7;c=W1+W3+W5-W7;d=W1+W3-W5-W7;e=W3-W7;f=W1+W3;g=W3+W5;h=W3-W5;i=W3;j=W2+W6;k=W2-W6;l=W2;m=W4,
b12.将一维时频变换的结果进行转置运算,并将其结果再次进行一维时频变换,以得到二维时频变换的结果。
17.一种基于多种编解码标准的数据变换装置,其特征在于,其包括
逻辑电路,所述的逻辑电路包括多个逻辑运算单元,可提供多个逻辑运算单元构成逻辑运算组合,并根据输入信号所属的编解码标准利用所述的逻辑运算组合完成相应的数据变换。
18.如权利要求17所述的数据变换装置,其特征在于,其还包括
检测装置,用于对输入信号进行检测,以确定所述输入信号所属的编解码标准,
其中,所述逻辑单元用于根据所检测的输入信号所属的编解码标准,控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入数据进行数据变换,
所述输入信号经过所述检测装置,所述检测装置输出检测信号;所述检测信号经过逻辑电路,所述逻辑电路输出输出信号。
19.如权利要求17或18所述的数据变换装置,其特征在于所述逻辑电路提供的逻辑运算组合的逻辑运算单元个数,小于分别完成基于多种编解码标准的数据变换所需的逻辑运算单元个数的总和。
20.如权利要求17至19任一项所述的数据变换装置,其特征在于所述编解码标准为多种编解码标准,包括以下各项中的任多项
MPEG-2、MPEG-4、H.263、JPEG、VC-1、H.264、AVS。
21.如权利要求17至20任一项所述的数据变换装置,其特征在于,所述数据变换为频时变换,
其中,所述逻辑电路的多个逻辑运算单元的构成如下式所示
Y=((((XM0+R0)>>S0)TM1+R1)>>S1)T,
其中,X为输入信号;Y为经所述频时变换后的输出信号;M0,M1,R0,S0,R1,S1为与所述输入编码信号所属的编解码标准相对应的常数矩阵;运算符号T表示矩阵的转置操作;运算符号>>表示对矩阵中各个数据的移位操作。
22.如权利要求21所述的数据变换装置,其特征在于,对于基于MPEG-2/MPEG-4/H.263/JPEG标准的频时变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵R0、R1、S0和S1矩阵值皆为0,
23.如权利要求21所述的数据变换装置,其特征在于,对于VC-1标准的频时变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵M0,M1,R0,S0,R1,S1分别为
对于处理的信号为8×8的数据块时,
S0=3,S1=7;
对于处理的信号为4×8的数据块时,
S0=3,S1=7;
对于处理的信号为8×4的数据块时,
S0=3,S1=7;
对于处理的信号为4×4的数据块时,
S0=3,S1=7。
24.如权利要求21所述的数据变换装置,其特征在于,对于H.264标准的频时变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵R0,R1,S0和S1皆为0,
25.如权利要求21所述的数据变换装置,其特征在于,对于AVS标准的频时变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵M0,M1,R0,S0,R1,S1分别为
R0=[4,4,4,4,4,4,4,4,]T;R1=[64,64,64,64,64,64,64,64,]T;S0=3;S1=7。
26.如权利要求21至25任一项所述的数据变换装置,其特征在于,其还包括
转置存储装置,用于对一维频时变换的结果进行转置运算,并将所述结果传输给逻辑电路,
其中,所述逻辑电路用于对输入信号进行一维频时变换,所述一维频时变换按照如下算法公式进行
Y01=d×x1+e×(x7+x1)+h×(x5+x1)+i×(x1+x3+x5+x7)
Y11=c×x3+f×(x5+x3)+g×(x7+x3)+i×(x1+x3+x5+x7)
Y21=b×x5+f×(x5+x3)+h×(x5+x1)+i×(x1+x3+x5+x7)
Y31=a×x7+e×(x7+x1)+g×(x7+x3)+i×(x1+x3+x5+x7)
Y02=m×(x4+x0)-k×x6+l×(x2+x6)
Y12=m×(x0-x4)+j×x2-l×(x2+x6)
Y22=m×(x0-x4)-j×x2+l×(x2+x6)
Y32=m×(x4+x0)+k×x6-l×(x2+x6)
y0=Y02-Y01
y1=Y12-Y11
y2=Y22-Y21
y3=Y32-Y31
y4=Y31+Y32
y5=Y21+Y22
y6=Y11+Y12
y7=Y01+Y02,
其中,a=W3+W5-W1-W7;b=W1+W3-W5+W7;c=W1+W3+W5-W7;d=W1+W3-W5-W7;e=W3-W7;f=W1+W3;g=W3+W5;h=W3-W5;i=W3;j=W2+W6;k=W2-W6;l=W2;m=W4,
其中,所述逻辑电路还用于将一维频时变换的结果进行转置运算,并将其结果再次进行一维频时变换,以得到二维频时变换的结果。
27.如权利要求17至20任一项所述的数据变换装置,其特征在于所述数据变换为时频变换;
其中,所述逻辑电路的多个逻辑运算单元的构成如下式所示
其中,X是输入信号;Y为经所述时频变换后的输出信号;Mi,Mj,N,R0,R1和S0为与所述输入编码信号所属的编解码标准相对应的常数矩阵;运算符号
表示其两边的矩阵的相关系数一一相乘;运算符号>>表示对矩阵中各个数据的移位操作。
28.如权利要求27所述的数据变换装置,其特征在于,对于基于MPEG-2/MPEG-4/H.263/JPEG标准的时频变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵Mi,Mj,R0,R1,S0,N分别为R0=R1=S0=0,N=1。
29.如权利要求27所述的数据变换装置,其特征在于,对于基于VC-1标准的时频变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵Mi,Mj,R0,R1,S0,N分别为
对于处理的信号为8x8的数据块时,
R0=R1=S0=0,
N=C8C8t,其中
对于处理的信号为4x8的数据块时,
R0=R1=S0=0,
N=C4C8t,其中,
对于处理的信号为8x4的数据块时,
R0=R1=S0=0,
N=C8C4t,其中
对于处理的信号为4x4大小的块时,R0=R1=S0=0,N44=C4C4t,其中
30.如权利要求27所述的数据变换装置,其特征在于,对于基于H.264标准的时频变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵Mi,Mj,R0,R1,S0,N分别为R0=R1=S0=0,N=1。
31.如权利要求27所述的数据变换装置,其特征在于,对于基于AVS标准的时频变换,所述与输入编码信号所属的编解码标准相对应的常数矩阵Mi,Mj,R0,R1,S0,N分别为R0=[4,4,4,4,4,4,4,4,]T;R1=[64,64,64,64,64,64,64,64,]T;S0=3;
32.如权利要求27至31任一项所述的数据变换装置,其特征在于,其还包括
转置存储装置,用于存储一维时频变换的结果,并将所述结果传输给逻辑电路,
b21.将输入信号进行一维时频变换,所述的一维时频变换按照如下算法公式进行
X0=x0+x7
X2=x1+x6
X4=x2+x5
X6=x3+x4
X1=x0-x7
X3=x1-x6
X5=x2-x5
X7=x3-x4
I0=X2+X4
I1=X2-X4
I2=X0-X6
I3=X0+X6
Y0=m×(I0+I3)
Y2=k×I2+l×(I1+I2)
Y4=m×(I3-I0)
Y6=-j×I1+l×(I1+I2)
Y1=d×X1+e×(X7+X1)+h×(X5+X1)+i×(X1+X3+X5+X7)
Y3=c×X3+f×(X5+X3)+g×(X7+X3)+i×(X1+X3+X5+X7)
Y5=b×X5+f×(X5+X3)+h×(X5+X1)+i×(X1+X3+X5+X7)’
Y7=a×X7+e×(X7+X1)+g×(X7+X3)+i×(X1+X3+X5+X7)
a=W3+W5-W1-W7;b=W1+W3-W5+W7;c=W1+W3+W5-W7;d=W1+W3-W5-W7;e=W3-W7;f=W1+W3;g=W3+W5;h=W3-W5;i=W3;j=W2+W6;k=W2-W6;l=W2;m=W4,
b12.将所述一维时频变换的结果进行转置运算,以得到二维时频变换的结果。
全文摘要
本发明提供了一种基于多种编解码标准的数据变换方法及装置,涉及数据变换领域。本发明的数据变换方法包括如下步骤a,检测输入信号所属的编解码标准;b,根据所检测的输入信号所属的编解码标准,控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入数据进行数据变换。本发明的数据变换装置包括检测装置,检测输入信号所属的编解码标准;逻辑单元用于控制包含多个逻辑运算单元的逻辑电路来构成一个相应的逻辑运算组合,其用于对所述输入数据进行数据变换。本发明能够用统一的算法和架构实现多种视频编解码标准的数据变换,设计面积小,功耗小。
文档编号H04N7/26GK101478674SQ20081003230
公开日2009年7月8日 申请日期2008年1月4日 优先权日2008年1月4日
发明者罗忠祥 申请人:智多微电子(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1