发明名称 一种视频编解码标准中的二维反变换方法及其实现电路
摘要 本发明公开了一种视频编解码标准中的二维反变换方法及其实现电路,属于数字音视频技术领域。本发明方法为:将输入数据分为4组,第一时钟周期将第j组列向量与反变换系数矩阵的第0、3行的行向量相乘,然后将中间结果通过蝶形算法进行计算得到最终结果X0j和X3j;第二时钟周期将第j组列向量与反变换系数矩阵的第1、2行的行向量相乘,然后将中间结果通过蝶形算法进行计算得到最终结果X1j和X2j;其中j=0、1、2、3。本发明的实现电路包括4个组内运算模块,用于计算输入数据的列向量数据;2个组间运算模块,用于计算组内运算模块的输出。本发明具有计算速度快,无需使用额外的存储单元来保存整数DCT反变换或Hadamard反变换过程中产生的中间结果,成本低。
申请公布号 CN101316367B 申请公布日期 2010.06.09
申请号 CN200810132519.X 申请日期 2008.07.15
申请人 北京大学 发明人 刘鹏;曹喜信;张兴;张启东;李季;于敦山
分类号 H04N7/26(2006.01)I;H04N7/30(2006.01)I;H04N7/50(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 北京君尚知识产权代理事务所(普通合伙) 11200 代理人 余功勋
主权项 1.一种视频编解码标准中的二维反变换方法,其步骤为:1)将输入数据按列向量分为4组;所述输入数据为进行整数DCT反变换的4×4整数矩阵或进行Hadamard反变换的4×4整数矩阵;2)在第一时钟周期,将第j组列向量与反变换系数矩阵的第0行的行向量相乘,得到中间结果M<sub>0j</sub>;将第j组列向量与反变换系数矩阵的第3行的行向量相乘,得到中间结果M<sub>3j</sub>;3)将中间结果M<sub>0j</sub>通过蝶形算法进行计算得到最终结果中的X<sub>0j</sub>;将中间结果M<sub>3j</sub>通过蝶形算法进行计算得到最终结果中的X<sub>3j</sub>;4)在第二时钟周期,将第j组列向量与反变换系数矩阵的第1行的行向量相乘,得到中间结果M<sub>1j</sub>;将第j组列向量与反变换系数矩阵的第2行的行向量相乘,得到中间结果M<sub>2j</sub>;5)将中间结果M<sub>1j</sub>通过蝶形算法进行计算得到最终结果中的X<sub>1j</sub>;将中间结果M<sub>2j</sub>通过蝶形算法进行计算得到最终结果中的X<sub>2j</sub>;其中j=0、1、2、3;所述输入数据的4组列向量数据中每组列向量数据包括两小组数据:第1小组包括该组列向量的第1行和第3行的数据Y<sub>1j</sub>和Y<sub>3j</sub>,第2小组包括该组列向量的第0行和第2行的数据Y<sub>0j</sub>和Y<sub>2j</sub>;其特征在于:(a)所述输入数据为进行整数DCT反变换的4×4整数矩阵时,所述中间结果M<sub>0j</sub>和M<sub>3j</sub>的获得方法为:对每组第1小组中的输入数据Y<sub>3j</sub>先通过移位器右移一位后送入加减法器进行计算,得到<img file="F200810132519XC00011.GIF" wi="182" he="108" />的计算结果,记为Y<sub>1j_3j</sub>;对每组第2小组的输入数据直接送入加减法器进行计算,得到Y<sub>0j</sub>+Y<sub>2j</sub>的计算结果,记为Y<sub>0j_2j</sub>;再对每一大组计算Y<sub>0j_2j</sub>+Y<sub>1j_3j</sub>,记为M<sub>0j</sub>;计算Y<sub>0j_2j</sub>-Y<sub>1j_3j</sub>,记为M<sub>3j</sub>;所述中间结果M<sub>1j</sub>和M<sub>2j</sub>的获得方法为:对每组第1小组中的输入数据Y<sub>1j</sub>先通过移位器右移一位后送入一加减法器进行计算,得到<img file="F200810132519XC00012.GIF" wi="165" he="107" />的计算结果,记为Y<sub>1j_3j</sub>;对每组第2小组的输入数据直接送入另一加减法器进行计算,得到Y<sub>0j</sub>-Y<sub>2j</sub>的计算结果,记为Y<sub>0j_2j</sub>;再对每一大组计算Y<sub>0j_2j</sub>+Y<sub>1j_3j</sub>,记为M<sub>1j</sub>;计算Y<sub>0j_2j</sub>-Y<sub>1j_3j</sub>,记为M<sub>2j</sub>;(b)所述输入数据为进行Hadamard反变换的4×4整数矩阵时,所述中间结果M<sub>0j</sub>和M<sub>3j</sub>的获得方法为:对每组第1小组的输入数据直接送入一加减法器进行计算,得到Y<sub>1j</sub>+Y<sub>3j</sub>的计算结果,记为Y<sub>1j_3j</sub>;对每组第2小组的输入数据直接送入另一加减法器进行计算,得到Y<sub>0j</sub>+Y<sub>2j</sub>的计算结果,记为Y<sub>0j_2j</sub>;再对每一大组计算Y<sub>0j_2j</sub>+Y<sub>1j_3j</sub>,记为M<sub>0j</sub>;计算Y<sub>0j_2j</sub>-Y<sub>1j_3j</sub>,记为M<sub>3j</sub>;所述中间结果M<sub>1j</sub>和M<sub>2j</sub>的获得方法为:对每组第1小组的输入数据直接送入一加减法器进行计算,得到Y<sub>1j</sub>-Y<sub>3j</sub>的结果,记为Y<sub>1j_3j</sub>;对每组第2小组的输入数据直接送入另一加减法器进行计算,得到Y<sub>0j</sub>-Y<sub>2j</sub>的计算结果,记为Y<sub>0j_2j</sub>;再对每一大组计算Y<sub>0j_2j</sub>+Y<sub>1j_3j</sub>,记为M<sub>1j</sub>;计算Y<sub>0j_2j</sub>-Y<sub>1j_3j</sub>,记为M<sub>2j</sub>。
地址 100871 北京市海淀区颐和园路5号