CN101316367B - 一种视频编解码标准中的二维反变换方法及其实现电路 - Google Patents

一种视频编解码标准中的二维反变换方法及其实现电路 Download PDF

Info

Publication number
CN101316367B
CN101316367B CN 200810132519 CN200810132519A CN101316367B CN 101316367 B CN101316367 B CN 101316367B CN 200810132519 CN200810132519 CN 200810132519 CN 200810132519 A CN200810132519 A CN 200810132519A CN 101316367 B CN101316367 B CN 101316367B
Authority
CN
China
Prior art keywords
group
inverse transformation
adder
groups
butterfly
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 200810132519
Other languages
English (en)
Other versions
CN101316367A (zh
Inventor
刘鹏
曹喜信
张兴
张启东
李季
于敦山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi lead Speed Technology Co., Ltd.
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN 200810132519 priority Critical patent/CN101316367B/zh
Publication of CN101316367A publication Critical patent/CN101316367A/zh
Application granted granted Critical
Publication of CN101316367B publication Critical patent/CN101316367B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种视频编解码标准中的二维反变换方法及其实现电路,属于数字音视频技术领域。本发明方法为:将输入数据分为4组,第一时钟周期将第j组列向量与反变换系数矩阵的第0、3行的行向量相乘,然后将中间结果通过蝶形算法进行计算得到最终结果X0j和X3j;第二时钟周期将第j组列向量与反变换系数矩阵的第1、2行的行向量相乘,然后将中间结果通过蝶形算法进行计算得到最终结果X1j和X2j;其中j=0、1、2、3。本发明的实现电路包括4个组内运算模块,用于计算输入数据的列向量数据;2个组间运算模块,用于计算组内运算模块的输出。本发明具有计算速度快,无需使用额外的存储单元来保存整数DCT反变换或Hadamard反变换过程中产生的中间结果,成本低。

Description

一种视频编解码标准中的二维反变换方法及其实现电路
技术领域
本发明涉及一种视频数据处理方法及其实现电路,尤其涉及一种应用于H.264/AVC视频编解码标准中的二维反变换方法及其实现电路,属于数字音视频技术领域。通过不同的配置方式,该电路能够实现整数DCT反变换和Hadamard反变换。
背景技术
随着互联网技术的迅猛发展,以高清晰数字电视、视频会议、移动视频传输为代表的多媒体音视频产品及服务正得到越来越广泛的应用。为了在有限的传输带宽下提高图像的传输效率,需要对图像进行压缩以减少编码,同时也要保证图像质量不因压缩而产生明显的损失。作为当今最为重要的视频编解码方式之一,H.264标准能较好地满足以上要求。为了对图像进行更为有效的压缩以减少码率,H.264标准采用了多种先进技术,变换编码就是其中之一。正向的变换编码用于对图像的压缩过程中,而反向的变换编码则是将压缩的编码恢复重建为可视图像而必须进行的数据处理过程,因此,反变换的速度决定了图像重建过程的效率,在实时视频传输、移动视频通信、电视电话会议等应用领域中都有较高的速度要求。
H.264主要针对4×4块进行像素预测、压缩、编解码等。H.264中对4×4块的反变换有两种:整数DCT反变换和Hadamard反变换,这两种反变换都与它们的正变换相对应。4×4块的整数DCT反变换定义为:
X = 1 1 1 1 / 2 1 1 / 2 - 1 - 1 1 - 1 / 2 - 1 1 1 - 1 1 - 1 / 2 Y 1 1 1 1 1 1 / 2 - 1 / 2 - 1 1 - 1 - 1 1 1 / 2 - 1 1 - 1 / 2
4×4块的Hadamard反变换定义为:
X = 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1 Y 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1
其中Y为需要进行反变换的4×4整数矩阵,X为反变换后求得的结果,也是4×4的矩阵。
在能够实现H.264标准的硬件电路中,一种可行的实现反变换的方法是将整数DCT逆变换作为一个模块,Hadamard逆变换作为另一个模块,且每个模块都是先进行一维的列反变换,对中间结果进行存储,再进行一次一维的行反变换,从而实现二维的反变换。每个一维的反变换都可以用下图所示的蝶形电路来完成,其中图1(a)的蝶形电路用来完成整数DCT反变换的一维反变换,图1(b)的蝶形电路用来完成Hadamard反变换的一维反变换。
这种方法需要使用大量的存储单元,且需要四个周期得到中间结果,再经过四个周期才能得到最终结果,时间代价也比较高。
文章Analysis,fast algorithm,and VLSI architecture design for H.264/AVC intra framecoder提出了一种改进的电路结构,将实现整数DCT正/反变换、Hadamard正/反变换的蝶形电路用统一的结构加以实现,并且在两个一维的蝶形变换电路中间加入了由4×4个寄存器组成的可向两个方向进行移位的寄存器堆,寄存单元的使用率达到了100%。但这样的电路结构中仍需要使用存储单元,且在数据流水的情况下,仍需要四个周期才能产生全部的反变换结果。
发明内容
本发明的目的是提供一种用于H.264的整数DCT反变换/Hadamard反变换方法,并提出能够实现该方法的硬件电路结构。本发明减少了产生反变换结果所需要的时钟周期数,提高了电路的编码效率,且不再使用存储单元。
本发明的技术方案为:
一种视频编解码标准中的二维反变换方法,其步骤为:
1)将输入数据按列向量分为4组;所述输入数据为进行整数DCT反变换的4×4整数矩阵或进行Hadamard反变换的4×4整数矩阵;
2)在第一时钟周期,将第j组列向量与反变换系数矩阵的第0行的行向量相乘,得到中间结果M0j;将第j组列向量与反变换系数矩阵的第3行的行向量相乘,得到中间结果M3j
3)将中间结果M0j通过蝶形算法进行计算得到最终结果中的X0j;将中间结果M3j通过蝶形算法进行计算得到最终结果中的X3j
4)在第二时钟周期,将第j组列向量与反变换系数矩阵的第1行的行向量相乘,得到中间结果M1j;将第j组列向量与反变换系数矩阵的第2行的行向量相乘,得到中间结果M2j
5)将中间结果M1j通过蝶形算法进行计算得到最终结果中的X1j;将中间结果M2j通过蝶形算法进行计算得到最终结果中的X2j
其中j=0、1、2、3。
所述输入数据的4组列向量数据中每组列向量数据包括两小组数据:第1小组包括该组列向量的第1行和第3行的数据Y1j和Y3j,第2小组包括该组列向量的第0行和第2行的数据Y0j和Y2j,其中j=0、1、2、3。
所述输入数据为进行整数DCT反变换的4×4整数矩阵时,所述中间结果M0j和M3j的获得方法为:对每组第1小组中的输入数据Y3j先通过移位器右移一位后送入加减法器进行计算,得到
Figure G200810132519XD00031
的计算结果,记为Y1j_3j;对每组第2小组的输入数据直接送入加减法器进行计算,得到Y0j+Y2j的计算结果,记为Y0j_2j;再对每一大组计算Y0j_2j+Y1j_3j,记为M0j;计算Y0j_2j-Y1j_3j,记为M3j,其中j=0、1、2、3。
所述输入数据为进行整数DCT反变换的4×4整数矩阵时,所述中间结果M1j和M2j的获得方法为:对每组第1小组中的输入数据Y1j先通过移位器右移一位后送入一加减法器进行计算,得到
Figure G200810132519XD00032
的计算结果,记为Y1j_3j;对每组第2小组的输入数据直接送入另一加减法器进行计算,得到Y0j-Y2j的计算结果,记为Y0j_2j;再对每一大组计算Y0j_2j+Y1j_3j,记为M1j;计算Y0j_2j-Y1j_3j,记为M2j,其中j=0、1、2、3。
所述输入数据为进行Hadamard反变换的4×4整数矩阵时,所述中间结果M0j和M3j的获得方法为:对每组第1小组的输入数据直接送入一加减法器进行计算,得到Y1j+Y3j的计算结果,记为Y1j_3j;对每组第2小组的输入数据直接送入另一加减法器进行计算,得到Y0j+Y2j的计算结果,记为Y0j_2j;再对每一大组计算Y0j_2j+Y1j_3j,记为M0j;计算Y0j_2j-Y1j_3j,记为M3j,其中j=0、1、2、3。
所述输入数据为进行Hadamard反变换的4×4整数矩阵时,所述中间结果M1j和M2j的获得方法为:对每组第1小组的输入数据直接送入一加减法器进行计算,得到Y1j-Y3j的结果,记为Y1j_3j;对每组第2小组的输入数据直接送入另一加减法器进行计算,得到Y0j-Y2j的计算结果,记为Y0j_2j;再对每一大组计算Y0j_2j+Y1j_3j,记为M1j;计算Y0j_2j-Y1j_3j,记为M2j,其中j=0、1、2、3。
一种视频编解码标准中的二维反变换实现电路,其包括4个组内运算模块和2个组间运算模块,4个组内运算模块分别对输入数据的4组列向量数据进行计算,2个组间运算模块分别对所述4个组内运算模块的输出进行计算;所述输入数据为进行整数DCT反变换的4×4整数矩阵或进行Hadamard反变换的4×4整数矩阵;其特征在于所述4个组内运算模块分别包括2个加减法器、2个多路选择器、2个移位器、一加法器和一减法器,其连接关系为:
一加减法器的两输入端分别与所述2个多路选择器的输出端相连,且该加减法器输出端分别与所述加法器和所述减法器的一输入端直接连接;每一多路选择器的一输入端与数据输入线直接连接,另一输入端通过一个移位器与数据输入线连接;
另一加减法器的两输入端分别与两数据输入线直接连接,且该加减法器的输出端分别与所述加法器和所述减法器的另一输入端直接连接;
其中2个组内运算模块的加法器输出端分别与蝶形变换电路1的两输入端相连;且其减法器输出端分别与蝶形变换电路2的两输入端相连;所述蝶形变换电路1和蝶形变换电路2分别包括在所述2个组间运算模块中;
另外2个组内运算模块的加法器输出端分别与所述蝶形变换电路1的另外两具有移位器的输入端相连,且其减法器输出端分别与所述蝶形变换电路2的另外两具有移位器的输入端相连;
所述2个组间运算模块分别包括一蝶形变换电路,2个多路选择器;其中蝶形变换电路1所在组间运算模块的每一多路选择器的一输入端与所述另外2个组内运算模块的加法器输出端之一连接,另一输入端与蝶形变换电路1的一移位器输出端连接,且该多路选择器的输出端与该移位器所在支路的加法器或减法器输入端连接;蝶形变换电路2所在组间运算模块的每一多路选择器的一输入端与所述另外2个组内运算模块的减法器输出端之一连接,另一输入端与蝶形变换电路2的一移位器输出端连接;且该多路选择器的输出端与该移位器所在支路的加法器或减法器输入端连接。
所述4个组内运算模块中的多路选择器和所述2个组间运算模块中的多路选择器为二选一多路选择器。
所述4个组内运算模块中的移位器和所述2个组间运算模块中的蝶形变换电路的移位器为右移一位移位器。
本发明的原理为:假设对N×N个像素点进行反变换,其算法如下
X st = Σ i = 0 N - 1 Σ u = 0 N - 1 C su Y ui C it T
M si = Σ u = 0 N - 1 C su Y ui
X st = Σ i = 0 N - 1 M si C it T
其中:Y表示需要进行反变换的矩阵,M表示一维列反变换与一维行反变换之间的中间数据,X表示反变换的结果,C表示反变换系数矩阵,CT表示C的转置。各元素下角标中的第一个脚标标号表示所在的行号,第二个脚标标号表示所在的列号。计算中间结果M的过程为列变换,利用M计算最终结果X的过程为行变换。如果直接应用公式进行计算,需要将中间数据进行存储。
本发明运用了公式中变换系数矩阵C、CT各系数之间的特点与联系,对反变换过程中的计算进行了简化,同时找出了反变换的最终结果和输入数据之间的关系,从而直接求得反变换的最终结果,不再需要对中间结果进行保存。
一维的四像素整数DCT反变换(列变换)可用以下式子表示:
M 0 i = Σ u = 0 3 C 0 u Y ui = Y 0 i Y 1 i Y 2 i Y 3 i 1 1 1 1 2
M 1 i = Σ u = 0 3 C 1 u Y ui = Y 0 i Y 1 i Y 2 i Y 3 i 1 1 2 - 1 - 1
M 2 i = Σ u = 0 3 C 2 u Y ui = Y 0 i Y 1 i Y 2 i Y 3 i 1 - 1 2 - 1 1
M 3 i = Σ u = 0 3 C 3 u Y ui = Y 0 i Y 1 i Y 2 i Y 3 i 1 - 1 1 - 1 2
从以上各式可以发现,乘以的列向量中,M0i、M3i中对应位置上的系数的绝对值相等,第0、2个系数的符号相同,第1、3个系数的符号相反。对于M1i、M2i也有类似的情况。利用系数的以上特点,将M0i、M3i写在一起:
M 0 i M 3 i = Y 0 i Y 1 i Y 2 i Y 3 i 1 1 1 - 1 1 1 1 2 - 1 2 = Y 0 i + Y 2 i Y 1 i + 1 2 Y 3 i 1 1 1 - 1
M 0 i M 3 i = 1 1 1 - 1 Y 0 i + Y 2 i Y 1 i + 1 2 Y 3 i
将M1i、M2i写在一起:
M 1 i M 2 i = Y 0 i Y 1 i Y 2 i Y 3 i 1 1 1 2 - 1 2 - 1 - 1 - 1 1 = Y 0 i - Y 2 i 1 2 Y 1 i - Y 3 i 1 1 1 - 1
M 1 i M 2 i = 1 1 1 - 1 Y 0 i - Y 2 i 1 2 Y 1 i - Y 3 i
因此,对于16个输入数据,首先根据其列号进行分组,处于同一列的四个数为一个大组。再在大组中划分小组,行号是0、2的为一组,行号是1、3的一组,小组中一次运算的结果应用到大组中可以得到两个结果。由于小组中需要进行加、减两次运算,故用两个时钟周期来分别加以实现,进行加法时可得到中间结果中的第0、3行(也即可以得到M0i、M3i,i=0、1、2、3),进行减法时可得到中间结果中的第1、2行(也即可以得到M1i、M2i,i=0、1、2、3)。
对于所得到的中间结果的行向量,通过蝶形变换电路即可求出对应的整数DCT反变换的最终结果,可用以下式子表示:
X s 0 = Σ i = 0 3 M si C i 0 T = M s 0 M s 1 M s 2 M s 3 1 1 1 1 2
X s 1 = Σ i = 0 3 M si C i 1 T = M s 0 M s 1 M s 2 M s 3 1 1 2 - 1 - 1
X s 2 = Σ i = 0 3 M si C i 2 T = M s 0 M s 1 M s 2 M s 3 1 - 1 2 - 1 1
X s 3 = Σ i = 0 3 M si C i 3 T = M s 0 M s 1 M s 2 M s 3 1 - 1 1 - 1 2
经变形后可得:
X s 0 X s 3 = 1 1 1 - 1 M s 0 + M s 2 M s 1 + 1 2 M s 3
X s 1 X s 2 = 1 1 1 - 1 M s 0 - M s 2 1 2 M s 1 - M s 3
因此,对于任意一组(Ms0、Ms1、Ms2、Ms3),可以先通过一次加法或减法计算出上述两式右侧的2×1列向量中的共4个值,然后再通过一次加法或减法计算出Xs0、Xs1、Xs2、Xs3。这就是一维整数DCT反变换蝶形算法的基本原理。由于每个周期能得到中间结果的两个行向量,因此需用两个蝶形变换单元,通过两个周期得到反变换的所有结果。
对于Hadamard反变换,按照与上面相同的方法,可导出如下结论:
M 0 i M 3 i = 1 1 1 - 1 Y 0 i + Y 2 i Y 1 i + Y 3 i
M 1 i M 2 i = 1 1 1 - 1 Y 0 i - Y 2 i Y 1 i - Y 3 i
X s 0 X s 3 = 1 1 1 - 1 M s 0 + M s 2 M s 1 + M s 3
X s 1 X s 2 = 1 1 1 - 1 M s 0 - M s 2 M s 1 - M s 3
因此,也可用同样的计算方法来实现Hadamard反变换。
由于整数DCT反变换和Hadamard反变换的高度相似性,可以用相同的电路结构在不同的配置方式分别实现这两种变换。从计算公式中可以看出,两种变换的主要差别有两点:一是利用加减法器进行的小组计算的输入数据不同,整数DCT反变换中的部分输入数据需乘以1/2因子,而Hadamard反变换不需乘以任何因子;二是得到中间结果的行向量后进行蝶形变换时第一步计算2×1列向量值时的输入数据不同,DCT反变换中的部分输入数据需乘以1/2因子,而Hadamard反变换不需乘以任何因子。本发明对以上问题通过增加二选一多路选择器来解决。二选一多路选择器的两个输入分别为数据原值和其算术右移一位的结果,这样可以根据不同的反变换方式和反变换过程中的不同周期选择需要的数据送入相关的计算电路。
本发明所述电路已用Verilog语言进行了RTL级描述,并在Active-HDL 6.1中完成了行为仿真验证。
本发明具有的积极效果:
对于每一个需进行整数DCT反变换或Hadamard反变换的4×4块,使用两个时钟周期完成整个变换过程。构成4×4块的16个数据同时输入电路,且必须保持两个时钟周期,在第一个周期中得到一半的变换结果(16个数据中的8个),在第二个周期中得到另一半变换结果。不需要使用额外的存储单元来保存整数DCT反变换或Hadamard反变换过程中产生的中间结果。
附图说明
图1、现有技术中反变换电路结构图;
(a)用来完成整数DCT反变换的一维反变换的蝶形电路,
(b)用来完成Hadamard反变换的一维反变换的蝶形电路,
图2、为能够实现本发明所述算法的电路结构图。
具体实施方式
下面结合附图详细说明本发明所述的整数DCT反变换和Hadamard反变换方法。
其中4×4块的整数DCT反变换定义为:
X = 1 1 1 1 / 2 1 1 / 2 - 1 - 1 1 - 1 / 2 - 1 1 1 - 1 1 - 1 / 2 Y 1 1 1 1 1 1 / 2 - 1 / 2 - 1 1 - 1 - 1 1 1 / 2 - 1 1 - 1 / 2
反变换系数矩阵C、CT分别为:
C = 1 1 1 1 / 2 1 1 / 2 - 1 - 1 1 - 1 / 2 - 1 1 1 - 1 1 - 1 / 2 C T = 1 1 1 1 1 1 / 2 - 1 / 2 - 1 1 - 1 - 1 1 1 / 2 - 1 1 - 1 / 2
本发明所述的用于H.264的整数DCT反变换方法包括以下步骤:
步骤一:接收由反量化模块产生的结果作为输入数据,该结果用4×4矩阵表示如下:
Y = Y 00 Y 01 Y 02 Y 03 Y 10 Y 11 Y 12 Y 13 Y 20 Y 21 Y 22 Y 23 Y 30 Y 31 Y 32 Y 33
步骤二:将16个输入数据按列向量分为4大组,每组4个输入数据。第一组包括:Y00、Y10、Y20、Y30;第二组包括:Y01、Y11、Y21、Y31;第三组包括:Y02、Y12、Y22、Y32;第四组包括:Y03、Y13、Y23、Y33。每个大组中又分成两个小组,属于第2、4行向量的数据为第1小组,第1、3行向量的数据为第2小组。第一组第1小组包括Y10、Y30,第2小组包括Y00、Y20;第二组第1小组包括Y11、Y31,第2小组包括Y01、Y21;第三组第1小组包括Y12、Y32,第2小组包括Y02、Y22;第四组第1小组包括Y13、Y33,第2小组包括Y03、Y23
步骤三:对每组中的第1小组,计算
Figure G200810132519XD00101
的结果,记为Y1j_3j(j=0、1、2、3);对每组中的第2小组,计算Y0j+Y2j(j=0、1、2、3)的结果,记为Y0j_2j(j=0、1、2、3)。再对每一大组计算Y0j_2j+Y1j_3j(j=0、1、2、3),记为M0j(j=0、1、2、3);计算Y0j_2j-Y1j_3j(j=0、1、2、3),记为M3j(j=0、1、2、3)。
步骤四:将计算出的M00、M01、M02、M03组成一个新的组,按照蝶形算法即可计算出整数DCT反变换的最终结果中的X00、X01、X02、X03;将计算出的M30、M31、M32、M33组成一个新的组,按照蝶形算法即可计算出整数DCT反变换的最终结果中的X30、X31、X32、X33
步骤五:重复步骤三、四,但对每组中的第1小组计算(j=0、1、2、3)的结果,记为Y1j_3j(j=0、1、2、3);对每组中的第2小组计算Y0j-Y2j(j=0、1、2、3)的结果,记为Y0j_2j(j=0、1、2、3),其他计算过程不便,则最终可通过两个蝶形算法分别得到X10、X11、X12、X13和X20、X21、X22、X23。至此,整数DCT反变换所应得到的16个值已全部产生。
对于Hadamard反变换方法,其中4×4块的Hadamard反变换定义为:
X = 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1 Y 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1
反变换系数矩阵C、CT分别为:
C = 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1 C T = 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1
本发明所述的用于H.264的Hadamard反变换方法包括以下步骤:
步骤一:接收由反量化模块产生的结果作为输入数据,该结果用4×4矩阵表示如下:
Y = Y 00 Y 01 Y 02 Y 03 Y 10 Y 11 Y 12 Y 13 Y 20 Y 21 Y 22 Y 23 Y 30 Y 31 Y 32 Y 33
步骤二:将16个输入数据分为4大组,每组4个输入数据。第一组包括:Y00、Y10、Y20、Y30;第二组包括:Y01、Y11、Y21、Y31;第三组包括:Y02、Y12、Y22、Y32;第四组包括:Y03、Y13、Y23、Y33。每个大组中又分成两个小组。第一组第1小组包括Y10、Y30,第2小组包括Y00、Y20;第二组第1小组包括Y11、Y31,第2小组包括Y01、Y21;第三组第1小组包括Y12、Y32,第2小组包括Y02、Y22;第四组第1小组包括Y13、Y33,第2小组包括Y03、Y23
步骤三:对每组中的第1小组,计算Y1j+Y3j(j=0、1、2、3)的结果,记为Y1j_3j(j=0、1、2、3);对每组中的第2小组,计算Y0j+Y2j(j=0、1、2、3)的结果,记为Y0j_2j(j=0、1、2、3)。再对每一大组计算Y0j_2j+Y1j_3j(j=0、1、2、3),记为M0j(j=0、1、2、3);计算Y0j_2j-Y1j_3j(j=0、1、2、3),记为M3j(j=0、1、2、3)。
步骤四:将计算出的M00、M01、M02、M03组成一个新的组,按照蝶形算法即可计算出Hadamard反变换的最终结果中的X00、X01、X02、X03;将计算出的M30、M31、M32、M33组成一个新的组,按照蝶形算法即可计算出Hadamard反变换的最终结果中的X30、X31、X32、X33
步骤五:重复步骤三、四,但对每组中的第1小组计算Y1j-Y3j(j=0、1、2、3)的结果,对每组中的第2小组计算Y0j-Y2j(j=0、1、2、3)的结果,其他计算过程不便,则最终可通过两个蝶形算法分别得到X10、X11、X12、X13和X20、X21、X22、X23。至此,Hadamard反变换所应得到的16个值已全部产生。
本发明所述的用于实现以上整数DCT反变换和Hadamard反变换算法的电路结构如图2所示,其组成为:
(1)该电路分为前后两大部分。前一部分由4个完全相同的组内运算模块组成,后一部分由2个完全相同的组间运算模块组成。
(2)前一部分的每个模块有四个输入,两个输出:四个输入对应以上所述的大组中的数据,第j个模块的四个输入为Y0j、Y1j、Y2j、Y3j(j=0、1、2、3);两个输出对应以上所述的大组中计算出的2个值,在第一时钟周期中第j个模块的两个输出为M0j和M3j,然后将结果直接送入蝶形变换电路进行下一步计算;在第二时钟周期中,第j个模块的两个输出为M1j、M2j(j=0、1、2、3),然后将结果直接送入蝶形变换电路进行下一步计算。每个模块内包括两个既能进行加法运算又能进行减法运算的加减法器、1个加法器、1个减法器;加减法器用于计算各小组中的Y1j_3j、Y0j_2j(j=0、1、2、3),第一个时钟周期中加减法器用于加法计算,加法器根据加减法器的计算结果计算M0j(j=0、1、2、3);减法器根据加减法器的计算结果计算M3j(j=0、1、2、3);第二个时钟周期中加减法器用于减法计算,加法器根据加减法器的计算结果计算M1j,减法器根据加减法器的计算结果计算M2j(j=0、1、2、3)。在用于计算各小组中Y1j_3j计算的加减法器的两个数据输入端前都有一个二选一多路选择器:当进行整数DCT反变换且为第二个时钟周期时,选择Y1j算数右移一位的结果送入加减法器,其他情况都选择Y1j的原值;当进行整数DCT反变换且为第一时钟周期时,选择Y3j算数右移一位的结果送入加减法器,其他情况都选择Y3j的原值。
(3)后一部分的每个模块有四个输入,四个输出:四个输入对应前一部分电路各大组中的求得的Mi0、Mi1、Mi2、Mi3(i=0、3),四个输出为求得的反量化的结果,每个模块在每个周期可给出四个数据,因此2个模块2个周期可给出全部16个数据。每个模块内又分为两级,每级包括两个加法器和两个减法器,用来实现对输入的蝶形运算。其中第一级的与输入的Mi1、Mi3(i=0、3)相连的加法器、减法器前的一个数据输入端前有一个二选一多路选择器:当进行整数DCT反变换时,选择原数据算数右移一位的结果送入加法器、减法器;当进行Hadamard反变换时,选择原数据送入加法器、减法器。

Claims (4)

1.一种视频编解码标准中的二维反变换方法,其步骤为:
1)将输入数据按列向量分为4组;所述输入数据为进行整数DCT反变换的4×4整数矩阵或进行Hadamard反变换的4×4整数矩阵;
2)在第一时钟周期,将第j组列向量与反变换系数矩阵的第0行的行向量相乘,得到中间结果M0j;将第j组列向量与反变换系数矩阵的第3行的行向量相乘,得到中间结果M3j
3)将中间结果M0j通过蝶形算法进行计算得到最终结果中的X0j;将中间结果M3j通过蝶形算法进行计算得到最终结果中的X3j
4)在第二时钟周期,将第j组列向量与反变换系数矩阵的第1行的行向量相乘,得到中间结果M1j;将第j组列向量与反变换系数矩阵的第2行的行向量相乘,得到中间结果M2j
5)将中间结果M1j通过蝶形算法进行计算得到最终结果中的X1j;将中间结果M2j通过蝶形算法进行计算得到最终结果中的X2j
其中j=0、1、2、3;
所述输入数据的4组列向量数据中每组列向量数据包括两小组数据:第1小组包括该组列向量的第1行和第3行的数据Y1j和Y3j,第2小组包括该组列向量的第0行和第2行的数据Y0j和Y2j;其特征在于:
(a)所述输入数据为进行整数DCT反变换的4×4整数矩阵时,
所述中间结果M0j和M3j的获得方法为:对每组第1小组中的输入数据Y3j先通过移位器右移一位后送入加减法器进行计算,得到
Figure F200810132519XC00011
的计算结果,记为Y1j_3j;对每组第2小组的输入数据直接送入加减法器进行计算,得到Y0j+Y2j的计算结果,记为Y0j_2j;再对每一大组计算Y0j_2j+Y1j_3j,记为M0j;计算Y0j_2j-Y1j_3j,记为M3j
所述中间结果M1j和M2j的获得方法为:对每组第1小组中的输入数据Y1j先通过移位器右移一位后送入一加减法器进行计算,得到
Figure F200810132519XC00012
的计算结果,记为Y1j_3j;对每组第2小组的输入数据直接送入另一加减法器进行计算,得到Y0j-Y2j的计算结果,记为Y0j_2j;再对每一大组计算Y0j_2j+Y1j_3j,记为M1j;计算Y0j_2j-Y1j_3j,记为M2j
(b)所述输入数据为进行Hadamard反变换的4×4整数矩阵时,
所述中间结果M0j和M3j的获得方法为:对每组第1小组的输入数据直接送入一加减法器进行计算,得到Y1j+Y3j的计算结果,记为Y1j_3j;对每组第2小组的输入数据直接送入另一加减法器进行计算,得到Y0j+Y2j的计算结果,记为Y0j_2j;再对每一大组计算Y0j_2j+Y1j_3j,记为M0j;计算Y0j_2j-Y1j_3j,记为M3j
所述中间结果M1j和M2j的获得方法为:对每组第1小组的输入数据直接送入一加减法器进行计算,得到Y1j-Y3j的结果,记为Y1j_3j;对每组第2小组的输入数据直接送入另一加减法器进行计算,得到Y0j-Y2j的计算结果,记为Y0j_2j;再对每一大组计算Y0j_2j+Y1j_3j,记为M1j;计算Y0j_2j-Y1j_3j,记为M2j
2.一种视频编解码标准中的二维反变换实现电路,其包括4个组内运算模块和2个组间运算模块,4个组内运算模块分别对输入数据的4组列向量数据进行计算,2个组间运算模块分别对所述4个组内运算模块的输出进行计算;所述输入数据为进行整数DCT反变换的4×4整数矩阵或进行Hadamard反变换的4×4整数矩阵;其特征在于所述4个组内运算模块分别包括2个加减法器、2个多路选择器、2个移位器、一加法器和一减法器,其连接关系为:
一加减法器的两输入端分别与所述2个多路选择器的输出端相连,且该加减法器输出端分别与所述加法器和所述减法器的一输入端直接连接;每一多路选择器的一输入端与数据输入线直接连接,另一输入端通过一个移位器与数据输入线连接;
另一加减法器的两输入端分别与两数据输入线直接连接,且该加减法器的输出端分别与所述加法器和所述减法器的另一输入端直接连接;
其中2个组内运算模块的加法器输出端分别与蝶形变换电路1的两输入端相连;且其减法器输出端分别与蝶形变换电路2的两输入端相连;所述蝶形变换电路1和蝶形变换电路2分别包括在所述2个组间运算模块中;
另外2个组内运算模块的加法器输出端分别与所述蝶形变换电路1的另外两具有移位器的输入端相连,且其减法器输出端分别与所述蝶形变换电路2的另外两具有移位器的输入端相连;
所述2个组间运算模块分别包括一蝶形变换电路,2个多路选择器;其中蝶形变换电路1所在组间运算模块的每一多路选择器的一输入端与所述另外2个组内运算模块的加法器输出端之一连接,另一输入端与蝶形变换电路1的一移位器输出端连接,且该多路选择器的输出端与该移位器所在支路的加法器或减法器输入端连接;蝶形变换电路2所在组间运算模块的每一多路选择器的一输入端与所述另外2个组内运算模块的减法器输出端之一连接,另一输入端与蝶形变换电路2的一移位器输出端连接;且该多路选择器的输出端与该移位器所在支路的加法器或减法器输入端连接。
3.如权利要求2所述的二维反变换实现电路,其特征在于所述4个组内运算模块中的多路选择器和所述2个组间运算模块中的多路选择器为二选一多路选择器。
4.如权利要求2所述的二维反变换实现电路,其特征在于所述4个组内运算模块中的移位器和所述2个组间运算模块中的蝶形变换电路的移位器为右移一位移位器。
CN 200810132519 2008-06-03 2008-07-15 一种视频编解码标准中的二维反变换方法及其实现电路 Expired - Fee Related CN101316367B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810132519 CN101316367B (zh) 2008-06-03 2008-07-15 一种视频编解码标准中的二维反变换方法及其实现电路

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200810114487 2008-06-03
CN200810114487.0 2008-06-03
CN 200810132519 CN101316367B (zh) 2008-06-03 2008-07-15 一种视频编解码标准中的二维反变换方法及其实现电路

Publications (2)

Publication Number Publication Date
CN101316367A CN101316367A (zh) 2008-12-03
CN101316367B true CN101316367B (zh) 2010-06-09

Family

ID=40107181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810132519 Expired - Fee Related CN101316367B (zh) 2008-06-03 2008-07-15 一种视频编解码标准中的二维反变换方法及其实现电路

Country Status (1)

Country Link
CN (1) CN101316367B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106231304A (zh) * 2016-08-30 2016-12-14 成都金本华电子有限公司 一种基于一维快速碟形算法改进的视频解码整数变换方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1142162A (zh) * 1995-01-28 1997-02-05 大宇电子株式会社 二维逆离散余弦变换电路
US6327602B1 (en) * 1998-07-14 2001-12-04 Lg Electronics Inc. Inverse discrete cosine transformer in an MPEG decoder
CN101047849A (zh) * 2006-03-28 2007-10-03 华为技术有限公司 离散余弦逆变换方法及其装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1142162A (zh) * 1995-01-28 1997-02-05 大宇电子株式会社 二维逆离散余弦变换电路
US6327602B1 (en) * 1998-07-14 2001-12-04 Lg Electronics Inc. Inverse discrete cosine transformer in an MPEG decoder
CN101047849A (zh) * 2006-03-28 2007-10-03 华为技术有限公司 离散余弦逆变换方法及其装置

Also Published As

Publication number Publication date
CN101316367A (zh) 2008-12-03

Similar Documents

Publication Publication Date Title
CN101330616B (zh) 视频解码过程中反离散余弦变换的硬件实现装置及方法
Shams et al. NEDA: A low-power high-performance DCT architecture
CN103369326A (zh) 适于高性能视频编码标准hevc的变换编码器
CN104867165B (zh) 一种基于变换域下采样技术的图像压缩方法
CN100563337C (zh) 基于avs的整数变换量化和整数反变换反量化方法
CN102857756B (zh) 适于hevc标准的变换编码器
US5636152A (en) Two-dimensional inverse discrete cosine transform processor
CN1972450A (zh) 具有任意转换比率的数字视频格式下转换设备及其方法
CN104144346A (zh) 用于执行空域和频域之间的变换的数据处理装置和方法
CN101426134A (zh) 用于视频编解码的硬件装置及方法
CN101605259A (zh) 对多媒体数据进行变换编、解码的装置及方法
CN101316367B (zh) 一种视频编解码标准中的二维反变换方法及其实现电路
Mohanty et al. Memory-efficient architecture for 3-D DWT using overlapped grouping of frames
CN103237219A (zh) 二维离散余弦变换/逆离散余弦变换电路及方法
CN103092559A (zh) 用于hevc标准下dct/idct电路的乘法器结构
CN100452880C (zh) 一种用于视频编码的整数离散余弦变换方法
CN104661036A (zh) 用于视频编码的方法和系统
CN206962992U (zh) 用于数字视频编解码的3乘3整数dct变换量化器
CN203279074U (zh) 二维离散余弦变换/逆离散余弦变换电路
Patil et al. Low Power High Speed VLSI Architecture for 1-D Discrete Wavelet Transform
CN110737869A (zh) Dct/idct乘法器电路优化方法及应用
Dhakar et al. A novel parallel architecture of lifting based 2D-discrete wavelet transform
Deepthi et al. Design and Implementation of JPEG Image Compression and Decompression
CN1949878A (zh) 在译码器上实施转换领域的舍入方法及其视讯译码器
CN101583038A (zh) Satd快速实现的硬件架构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: WUXI INSPEED COMMUNICATIONS CO.,LTD.

Free format text: FORMER OWNER: BEIJING UNIV.

Effective date: 20140217

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100871 HAIDIAN, BEIJING TO: 214043 WUXI, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20140217

Address after: Tong Hui Road Beitang District 214043 Jiangsu city of Wuxi Province, No. 436 building 45

Patentee after: Wuxi Inspeed Communications Co.,Ltd.

Address before: 100871 Beijing the Summer Palace Road, Haidian District, No. 5

Patentee before: Peking University

TR01 Transfer of patent right
ASS Succession or assignment of patent right

Owner name: JIANGSU MINLEHUI COMMERCE TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: WUXI INSPEED COMMUNICATIONS CO.,LTD.

Effective date: 20140825

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 214043 WUXI, JIANGSU PROVINCE TO: 214045 WUXI, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20140825

Address after: Beitang District Road 214045 Jiangsu Minfeng 198-404 city of Wuxi Province

Patentee after: Jiangsu Minle Business Technology Co., Ltd.

Address before: Tong Hui Road Beitang District 214043 Jiangsu city of Wuxi Province, No. 436 building 45

Patentee before: Wuxi Inspeed Communications Co.,Ltd.

DD01 Delivery of document by public notice

Addressee: Jiangsu Minle Business Technology Co., Ltd.

Document name: Notification to Pay the Fees

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151117

Address after: Tong Hui Road Beitang District 214043 Jiangsu city of Wuxi Province, No. 436 building 45

Patentee after: Wuxi lead Speed Technology Co., Ltd.

Address before: Beitang District Road 214045 Jiangsu Minfeng 198-404 city of Wuxi Province

Patentee before: Jiangsu Minle Business Technology Co., Ltd.

DD01 Delivery of document by public notice

Addressee: Ai Zhuxuan

Document name: Notification of Passing Examination on Formalities

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100609

Termination date: 20160715