CN102387367B - 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 - Google Patents

适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 Download PDF

Info

Publication number
CN102387367B
CN102387367B CN201110350163.9A CN201110350163A CN102387367B CN 102387367 B CN102387367 B CN 102387367B CN 201110350163 A CN201110350163 A CN 201110350163A CN 102387367 B CN102387367 B CN 102387367B
Authority
CN
China
Prior art keywords
discrete cosine
output
cosine transform
input
transform
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
CN201110350163.9A
Other languages
English (en)
Other versions
CN102387367A (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.)
Fudan University
Original Assignee
Fudan 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 Fudan University filed Critical Fudan University
Priority to CN201110350163.9A priority Critical patent/CN102387367B/zh
Publication of CN102387367A publication Critical patent/CN102387367A/zh
Application granted granted Critical
Publication of CN102387367B publication Critical patent/CN102387367B/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)

Abstract

本发明属于数字视频信号编码技术领域,具体为一种适用于多种视频标准、多尺寸二维整数余弦变换的通用方法。本发明通过配置常系数乘法器的系数值即可支持多种不同的视频编码标准,并且同时支持四种不同的变换尺寸:4x4、8x8、16x16、32x32。本发明首先将二维离散余弦变换分解为两次一维离散余弦变换;在计算4点一维离散余弦变换时,采用传统的蝶形运算方法减少运算量,加快计算速度;对于8点、16点、32点的一维离散余弦变换,采用改进的蝶形运算方法,使得较小尺寸的一维离散余弦变换单元可以在计算较大尺寸的一维离散余弦变换时能够得到复用,从而大幅降低整个系统的硬件资源开销。

Description

适用于多种视频标准、多尺寸二维整数余弦变换的通用方法
技术领域
本发明属于数字视频信号编码技术领域,具体涉及一种适用于多种视频标准、可支持变换尺寸为4x4、8x8、16x16和32x32的二维整数离散余弦变换的通用方法。
背景技术
随着视频编码技术的发展,越来越多的视频编码标准进入了应用领域: VCD/DVD视频光盘中普通采用MPEG-1/MPEG-2视频标准,蓝光光盘中采用H.264标准或VC-1标准,网络视频中普遍采用RealVideo或MPEG-4标准,而AVS视频标准已经成为中国的国家标准。很多新的标准如H.265/HEVC(High Efficiency Video Coding)等也在制定当中。
由于离散余弦变换能够对频域上的能量进行有效地集中,便于进一步压缩处理,所以现有的视频编码标准绝大多数都采用了离散余弦变换对视频信号进行处理。传统的MPEG-1、MPEG-2视频标准中采用的是浮点离散余弦变换,由于数字信号处理时需要对浮点数截位,从而容易导致变换前后数据的失配问题,所以新一代标准如H.264、VC-1、AVS等标准普遍采用整数离散余弦变换。
由于当前多种标准并存的格局将长期存在,支持多种视频标准是当前编解码技术中的重要研究领域,有着迫切的实际需求。各种视频标准中二维离散余弦变换的尺寸大小有所不同。对于画面比较平坦的视频场景,较大的变换尺寸能够提高编码压缩效率。但是大的变换尺寸也使得运算复杂度大大增加。MPEG-1/MPEG-2/MPEG-4中采用的尺寸是8x8;H.264和VC-1采用的尺寸是4x4和8x8;而正在制定当中的最新视频标准HEVC采用的变换尺寸有4种:4x4、8x8、16x16和32x32。为了更好的支持多标准编解码技术,有必要采取一种通用的架构来实现各种不同尺寸的整数离散余弦变换。
发明内容
本发明的目的在于提出一个适用于多种视频标准、多尺寸二维整数离散余弦变换的通用方法。
各种不同的视频标准规定了不同的变换尺寸和变换系数矩阵,但是由于这些变换都是基于离散余弦变换衍生而来的,不同的变换尺寸和变换系数矩阵之间有很多相似之处。本发明充分利用了这种相关性,进而提出了一种通用的变换方法,可以提高硬件复用程度,降低运算复杂度。
本发明提出的方法具体可以分为如下6个步骤: 
(1)根据离散余弦变换的特性,将一个二维整数离散余弦变换转换为两次一维整数离散余弦变换,即先进行水平方向的一维变换,然后再进行垂直方向的一维变换;
(2)如果当前进行的是32点的一维整数离散余弦变换,对输入的32个系数进行32点蝶形运算,得到32个输出结果;
(3)如果当前进行的是16点的一维整数离散余弦变换,则跳过第(2)步骤,对输入的16个系数进行16点蝶形运算,得到16个输出结果;
(4)如果当前进行的是8点的一维整数离散余弦变换,则跳过第(2)、(3)步骤,对输入的8个系数进行8点蝶形运算,得到8个输出结果;
(5)如果当前进行的是4点的一维整数离散余弦变换,则跳过第(2)、(3)、(4)步骤。根据4x4、8x8、16x16和32x32四种不同的变换尺寸,分别设计相应的多输出常系数乘法器:MCM0、MCM1、MCM2和MCM3。通过对乘法器系数进行配置即可实现对各种不同视频标准的支持;
(6)设计四组运算模块:B4x4、D4x4、D8x8和D16x16,对多输出常系数乘法器的输出进行处理;其中,B4x4模块为4点的蝶形运算模块,D4x4模块为4点的加法树模块,D8x8模块为8点的加法树模块,D16x16为16点的加法树模块;B4x4模块的4个输出即为4点一维整数离散余弦变换的结果,B4x4和D4x4的8个输出即为8点一维整数离散余弦变换的结果,B4x4、D4x4和D8x8的16个输出即为16点一维整数离散余弦变换的结果,B4x4、D4x4、D8x8和D16x16的32个输出即为32点一维整数离散余弦变换的结果。
本发明的有益效果:
从上述步骤可以看到,本发明实现了用于计算小尺寸二维整数离散余弦变换的运算单元完全复用到更大尺寸的二维整数离散余弦变换的运算过程中,从而有效地降低了整体的运算复杂度和硬件实现成本。
另外,本发明方法具有很好的可扩展性。如果在将来需要支持更多新的视频标准,只需要对相应的多输出常系数乘法器:MCM0、MCM1、MCM2和MCM3做相应改动即可,其它模块如蝶形运算模块和加法树模块可保持不变,因而本方法具有很好的可扩展性, 可以适应不断发展中的各种新兴视频编解码技术。
附图说明
图1:两维离散整数余弦变换的整体框图。
图2:4点、8点、16点和32点一维离散整数余弦变换的整体框图。
图3:多输出常系数乘法器MCM0的结构框图。
图4:多输出常系数乘法器MCM1的结构框图。
图5:多输出常系数乘法器MCM2的结构框图。
图6:多输出常系数乘法器MCM3的结构框图。
图7:4点蝶形运算模块(B4x4)的结构框图。
图8:4点加法树模块(D4x4)的结构框图。
图9:8点加法树模块(D8x8)的结构框图。
图10:16点加法树模块(D16x16)的结构框图。
具体实施方式
下面结合附图对本发明做进一步的描述。
本发明提出了一个适用于多种视频标准、多尺寸二维整数余弦变换的通用方法,其具体实施方式如下述的6个步骤:
(1)将一个二维整数离散余弦变换转换为两次一维整数离散余弦变换。
二维整数离散余弦变换可以用如下公式表示:
Y = C*X*CT                                                   (1)
其中,X为需要进行二维整数离散余弦变换的输入矩阵,C代表整数离散余弦变换的系数矩阵,*代表矩阵乘法,CT代表C的转置矩阵,Y代表二维整数离散余弦变换的计算结果。对应于四种不同的变换尺寸,本发明中矩阵C、X、Y的大小可以分别为4x4、8x8、16x16和32x32。
根据矩阵运算的性质,对公式(1)进行变换可得:
Y= ((X*CT)T * CT)T                                                       (2)
如果令
D=(X*CT)T,                                                 (3)
那么
Y = (D*CT)T                                                 (4)
这样二维整数离散余弦变换就可以转换为两次一维整数离散余弦变换。公式(3)表示先对矩阵Y的每一行的所有系数进行一维整数离散余弦变换并将变换结果得到的矩阵进行转置操作,此步骤称为行变换操作。公式(4)表示对矩阵D再进行一次一维整数离散余弦变换并将此变换结果再次进行转置操作,此步骤称为列变换操作,其运算结果就是矩阵X,即为二维整数离散余弦变换的运算结果。
根据离散余弦变换的特性,32x32点整数离散余弦变换的变换矩阵C32X32可以表示为一个大小为32x32的矩阵,它可以分割为4个16x16的矩阵,分别为K0、K1、K2、K3, 具体如下:
Figure 2011103501639100002DEST_PATH_IMAGE001
其中,矩阵K0具体表示如下:
矩阵K1具体表示如下:
矩阵K2具体表示如下:
Figure 368156DEST_PATH_IMAGE004
矩阵K3具体表示如下:
Figure 2011103501639100002DEST_PATH_IMAGE005
较小尺寸(4x4、8x8、16x16)整数离散余弦变换的变换矩阵可以由矩阵C32 X32的各个系数组合而成,可以将这三个矩阵分别用C4X4、C8X8和C16X16来表示。变换矩阵C16X16的系数取值如下所示:
变换矩阵C8X8的系数取值如下所示:
变换矩阵C4X4的系数取值如下所示:
Figure 667736DEST_PATH_IMAGE008
整个二维整数离散余弦变换的实现框图如图2所示, 图中的圆圈代表两个数相加的加法,连线下方的“-”代表将输入的数字取负值。行变换和列变换操作可以共用同一个一维整数离散余弦变换模块,提高了系统的复用性,降低了整个系统的实现成本。本步骤具体介绍了将二维整数离散余弦变换变成两个一维整数离散余弦变换的方法。随后的第2-6步骤具体介绍一维整数离散余弦变换的实现方法。
(2)如果当前进行的是32点的一维整数离散余弦变换,对输入的32个系数进行32点蝶形运算,得到32个输出结果。
对于32点一维整数离散余弦变换,令输入的待变换向量X32为:
X32 = [ X00,X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,X11,X12,X13,X14,X15,
X16,X17,X18,X19,X20,X21,X22,X23,X24,X25,X26,X27,X28,X29,X30,X31]
以X32作为输入,进行32点的蝶形运算。32点的蝶形运算的流程如图2中黑框标示的B32模块所示,将其32个输出结果分别记为T0、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14、T15、T16、T17、T18、T19、T20、T21、T22、T23、T24、T25、T26、T27、T28、T29、T30、T31。 
(3)如果当前进行的是16点的一维整数离散余弦变换,则跳过第(2)步骤,对输入的16个系数进行16点蝶形运算,得到16个输出结果。
对于16点一维整数离散余弦变换,令输入的待变换向量X16为: 
X16 = [ X00,X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,X11,X12,X13,X14,X15]
如果当前的变换尺寸为16x16,那么以X16作为输入,否则以32点蝶形变换B32模块的输出T0、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14、T15作为输入,然后再进行16点的蝶形运算。16点的蝶形运算的流程如图2中黑框标示的B16模块所示。将其16个输出结果分别记为分别记为S0、S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12、S13、S14、S15。其中S0、S1、S2、S3、S4、S5、S6、S7将作为8点蝶形运算模块B8的输入。
(4)如果当前进行的是8点的一维整数离散余弦变换,则跳过第(2)、(3)步骤,对输入的8个系数进行8点蝶形运算,得到8个输出结果。
对于8点一维整数离散余弦变换,令输入的待变换向量X8为:
X8 = [ X00,X01,X02,X03,X04,X05,X06,X07]
如果当前的变换尺寸为8x8,那么以X16作为输入,否则以16点蝶形变换B16模块的输出S0、S1、S2、S3、S4、S5、S6、S7作为输入,然后再进行8点的蝶形运算。8点的蝶形运算的流程如图2中黑框标示的B8模块所示。将其8个输出结果分别记为分别记为R0、R1、R2、R3、R4、R5、R6、R7。
(5)如果当前进行的是4点的一维整数离散余弦变换,则跳过第(2)、(3)、(4)步骤。根据4x4、8x8、16x16和32x32四种不同的变换尺寸,分别设计相应的多输出常系数乘法器(MCM0、MCM1、MCM2和MCM3)。通过对乘法器系数进行配置即可实现对各种不同视频标准的支持。
如果当前变换的尺寸为4x4,那么将待变换的4个输入系数X00,X01,X02,X03作为多输出常系数乘法器MCM0的输入,否则将8点蝶形运算B8模块的输出R0、R1、R2、R3作为多输出常系数乘法器MCM0的输入,多输出常系数乘法器MCM0的输出记为P0、P1、P2、P3。多输出常系数乘法器MCM0需要支持的常系数乘数如图3所示。
如果当前变换的尺寸不是4x4,那么将8点蝶形运算B8模块的输出R4、R5、R6、R7作为多输出常系数乘法器MCM1的输入,多输出常系数乘法器MCM1的输出记为P4、P5、P6、P7。多输出常系数乘法器MCM1需要支持的常系数乘数如图4所示。
如果当前变换的尺寸是16x16或32x32,那么将16点蝶形运算B16模块的输出S8、S9、S10、S11、S12、S13、S14、S15作为多输出常系数乘法器MCM2的输入,多输出常系数乘法器MCM2的输出记为P8、P9、P10、P11、P12、P13、P14、P15。多输出常系数乘法器MCM2需要支持的常系数乘数如图5所示。
如果当前变换的尺寸是32x32,那么将32点蝶形运算B32模块的输出S16、S17、S18、S19、S10、S21、S22、S23、S24、S25、S26、S27、S28、S29、S30、S31作为多输出常系数乘法器MCM3的输入,多输出常系数乘法器MCM3的输出记为P16、P17、P18、P19、P10、P21、P22、P23、P24、P25、P26、P27、P28、P29、P30、P31。多输出常系数乘法器MCM3需要支持的常系数乘数如图6所示。
如果要支持多种视频标准,由于不同的视频标准规定了不同的变换系数,需要针对每一种标准都计算出相应32个乘法器输出结果(P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14、P15、P16、P17、P18、P19、P10、P21、P22、P23、P24、P25、P26、P27、P28、P29、P30、P31),然后根据当前所支持的视频标准选出对应的结果作为输出。
(6)设计四组运算模块(B4x4、D4x4、D8x8和D16x16),对多输出常系数乘法器的输出进行处理。B4x4模块为4点的蝶形运算模块,D4x4模块为4点的加法树模块,D8x8模块为8点的加法树模块,D16x16为16点的加法树模块。B4x4模块的4个输出即为4点一维整数离散余弦变换的结果。B4x4和D4x4的8个输出即为8点一维整数离散余弦变换的结果。B4x4、D4x4和D8x8的16个输出即为16点一维整数离散余弦变换的结果。B4x4、D4x4、D8x8和D16x16的32个输出即为32点一维整数离散余弦变换的结果。
4点蝶形运算(B4x4)的流程如图7所示。步骤(5)中的输出P0、P1、P2、P3作为本次运算的输入,图中的圆圈代表两个数相加的加法,连线下方的“-”代表将输入的加数去负值。本次运算的结果分别记为Y00、Y16、Y08、Y24。如果当前的变换尺寸是4x4,那么Y00、Y16、Y08、Y24即为即为4点一维整数离散余弦变换的结果。
4点加法树模块(D4X4)的整体框图如图8所示。步骤(5)中的输出P4、P5、P6、P7作为本次运算的输入,图中的圆圈代表两个数相加的加法。本次运算的结果分别记为Y04、Y20、Y12、Y28。如果当前的变换尺寸是8x8,那么Y00、Y16、Y08、Y24、Y04、Y20、Y12、Y28即为即为8点一维整数离散余弦变换的结果。
8点加法树模块(D8X8)的整体框图如9所示。步骤(5)中的输出P8、P9、P10、P11、P12、P13、P14、P15作为本次运算的输入,图中的圆圈代表两个数相加的加法, D4X4代表上述的4点加法树模块。本次运算的结果分别记为Y02、Y18、Y10、Y26、Y06、Y22、Y14、Y30。如果当前的变换尺寸是16x16,那么Y00、Y16、Y08、Y24、Y04、Y20、Y12、Y28、Y02、Y18、Y10、Y26、Y06、Y22、Y14、Y30即为即为16点一维整数离散余弦变换的结果。
16点加法树模块(D16X16)的整体框图如图10所示。步骤(2)中的输出P16、P17、P18、P19、P10、P21、P22、P23、P24、P25、P26、P27、P28、P29、P30、P31,作为本次运算的输入,图中的圆圈代表两个数相加的加法,D8X8代表上述的8点加法树模块。本次运算的结果分别记为Y01、Y17、Y09、Y25、Y05、Y21、Y13、Y29、Y03、Y19、Y11、Y27、Y07、Y23、Y15、Y31。如果当前的变换尺寸是32x32,那么Y00、Y16、Y08、Y24、Y04、Y20、Y12、Y28、Y02、Y18、Y10、Y26、Y06、Y22、Y14、Y30、Y01、Y17、Y09、Y25、Y05、Y21、Y13、Y29、Y03、Y19、Y11、Y27、Y07、Y23、Y15、Y31即为即为32点一维整数离散余弦变换的结果。
对于变换尺寸为4x4的二维整数离散余弦变换,运算过程为第1、5、6步骤。  对于变换尺寸为8x8的二维整数离散余弦变换,运算过程为第1、4、5、6步骤。对于变换尺寸为16x16的二维整数离散余弦变换,运算过程为第1、3、4、5、6步骤。对于变换尺寸为32x32的二维整数离散余弦变换,运算过程为第1、2、3、4、5、6步骤。从上述步骤可以看出,各种不同变换尺寸的整数离散余弦变换之间可以共享运算流程,十分有利于降低硬件开销。同时,如果需要支持新的视频标准,只需要对步骤2中描述的多输出常系数乘法器作相应修改,增加一组输出即可,其它步骤无需作任何改动,因此此方法具有非常灵活的可扩展性。

Claims (7)

1.一种适用于多种视频标准、多尺寸二维整数余弦变换的通用方法,其特征在于具体步骤为:
(1)根据离散余弦变换的特性,将一个二维整数离散余弦变换转换为两次一维整数离散余弦变换,即先进行水平方向的一维变换,然后再进行垂直方向的一维变换;
(2)如果当前进行的是32点的一维整数离散余弦变换,对输入的32个系数进行32点蝶形运算,得到32个输出结果;
(3)如果当前进行的是16点的一维整数离散余弦变换,则跳过第(2)步骤,对输入的16个系数进行16点蝶形运算,得到16个输出结果;
(4)如果当前进行的是8点的一维整数离散余弦变换,则跳过第(2)、(3)步骤,对输入的8个系数进行8点蝶形运算,得到8个输出结果;
(5)如果当前进行的是4点的一维整数离散余弦变换,则跳过第(2)、(3)、(4)步骤;根据4x4、8x8、16x16和32x32四种不同的变换尺寸,分别设计相应的多输出常系数乘法器:MCM0、MCM1、MCM2和MCM3;通过对乘法器系数进行配置即实现对各种不同视频标准的支持;
(6)设计四组运算模块:B4x4、D4x4、D8x8和D16x16,对多输出常系数乘法器的输出进行处理;其中,B4x4模块为4点的蝶形运算模块,D4x4模块为4点的加法树模块,D8x8模块为8点的加法树模块,D16x16为16点的加法树模块;B4x4模块的4个输出即为4点一维整数离散余弦变换的结果,B4x4和D4x4的8个输出即为8点一维整数离散余弦变换的结果,B4x4、D4x4和D8x8的16个输出即为16点一维整数离散余弦变换的结果,B4x4、D4x4、D8x8和D16x16的32个输出即为32点一维整数离散余弦变换的结果。
2.根据权利要求1所述的方法,其特征在于步骤(1)中, 
一个二维整数离散余弦变换用如下公式表示:
Y = C*X*CT                                                   (1)
其中,X为需要进行二维整数离散余弦变换的输入矩阵,C代表整数离散余弦变换的系数矩阵,*代表矩阵乘法,CT代表C的转置矩阵,Y代表二维整数离散余弦变换的计算结果;对应于四种不同的变换尺寸,矩阵C、X、Y的大小分别为4x4、8x8、16x16和32x32;
将公式(1)进行变换,得:
Y= ((X*CT)T * CT)T                                                                       (2)
令:
D=(X*CT)T,                                                 (3)
那么:
Y = (D*CT)T                                                 (4)
这样二维整数离散余弦变换转换为两次一维整数离散余弦变换:公式(3)表示先对矩阵Y的每一行的所有系数进行一维整数离散余弦变换并将变换结果得到的矩阵进行转置操作,此步骤称为行变换操作;公式(4)表示对矩阵D再进行一次一维整数离散余弦变换并将此变换结果再次进行转置操作,此步骤称为列变换操作,其运算结果就是矩阵Y ,即为二维整数离散余弦变换的运算结果;其中:
变换矩阵C32X32表示为一个大小为32x32的矩阵,它可以分割为4个16x16的矩阵,分别为K0、K1、K2、K3;
Figure 2011103501639100001DEST_PATH_IMAGE001
其中,矩阵K0具体表示如下:
Figure 663754DEST_PATH_IMAGE002
矩阵K1具体表示如下:
Figure 2011103501639100001DEST_PATH_IMAGE003
矩阵K2具体表示如下:
Figure 705528DEST_PATH_IMAGE004
矩阵K3具体表示如下:
Figure 2011103501639100001DEST_PATH_IMAGE005
变换矩阵C16X16的系数取值如下:
变换矩阵C8X8的系数取值如下:
变换矩阵C4X4的系数取值如下:
    
Figure 693524DEST_PATH_IMAGE008
 。
3.根据权利要求2所述的方法,其特征在于步骤(2)中,对于32点的一维整数离散余弦变换,将输入的32个系数进行32点蝶形运算,得到32个输出结果;记输入的待变换向量X32为: 
X32 = [ X00,X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,X11,X12,X13,X14,X15,
X16,X17,X18,X19,X20,X21,X22,X23,X24,X25,X26,X27,X28,X29,X30,X31]
32个输出结果分别记为T0、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14、T15、T16、T17、T18、T19、T20、T21、T22、T23、T24、T25、T26、T27、T28、T29、T30、T31。
4.根据权利要求3所述的方法,其特征在于步骤(3)中,
对于16点的一维整数离散余弦变换,将输入的16个系数进行16点蝶形运算,得到16个输出结果;记输入的待变换向量X16为: 
X16 = [ X00,X01,X02,X03,X04,X05,X06,X07,X08,X09,X10,X11,X12,X13,X14,X15]
如果当前的变换尺寸为16x16,那么以X16作为输入,否则以32点蝶形变换B32模块的输出T0、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14、T15作为输入,然后再进行16点的蝶形运算;16个输出结果分别记为分别记为S0、S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12、S13、S14、S15,其中S0、S1、S2、S3、S4、S5、S6、S7将作为8点蝶形运算模块B8的输入。
5.根据权利要求4所述的方法,其特征在于步骤(4)中,
对于8点的一维整数离散余弦变换,将输入的8个系数进行8点蝶形运算,得到8个输出结果;记输入的待变换向量X8为:
X8 = [ X00,X01,X02,X03,X04,X05,X06,X07]
如果当前的变换尺寸为8x8,那么以X16作为输入,否则以16点蝶形变换B16模块的输出S0、S1、S2、S3、S4、S5、S6、S7作为输入,然后再进行8点的蝶形运算;8个输出结果分别记为分别记为R0、R1、R2、R3、R4、R5、R6、R7。
6.根据权利要求5所述的方法,其特征在于步骤(5)中,
对于4点的一维整数离散余弦变换,根据4x4、8x8、16x16和32x32四种不同的变换尺寸,分别设计相应的多输出常系数乘法器:MCM0、MCM1、MCM2和MCM3;通过对乘法器系数进行配置即可实现对各种不同视频标准的支持;
如果当前变换的尺寸为4x4,那么将待变换的4个输入系数X00,X01,X02,X03作为多输出常系数乘法器MCM0的输入,否则将8点蝶形运算B8模块的输出R0、R1、R2、R3作为多输出常系数乘法器MCM0的输入,多输出常系数乘法器MCM0的输出记为P0、P1、P2、P3; 
如果当前变换的尺寸不是4x4,那么将8点蝶形运算B8模块的输出R4、R5、R6、R7作为多输出常系数乘法器MCM1的输入,多输出常系数乘法器MCM1的输出记为P4、P5、P6、P7; 
如果当前变换的尺寸是16x16或32x32,那么将16点蝶形运算B16模块的输出S8、S9、S10、S11、S12、S13、S14、S15作为多输出常系数乘法器MCM2的输入,多输出常系数乘法器MCM2的输出记为P8、P9、P10、P11、P12、P13、P14、P15;
如果当前变换的尺寸是32x32,那么将32点蝶形运算B32模块的输出S16、S17、S18、S19、S10、S21、S22、S23、S24、S25、S26、S27、S28、S29、S30、S31作为多输出常系数乘法器MCM3的输入,多输出常系数乘法器MCM3的输出记为P16、P17、P18、P19、P10、P21、P22、P23、P24、P25、P26、P27、P28、P29、P30、P31。 
7.根据权利要求6所述的方法,其特征在于步骤(6)中, 
对于4点蝶形运算模块:B4x4,步骤(5)中的输出P0、P1、P2、P3作为本次运算的输入,运算的结果分别记为Y00、Y16、Y08、Y24 ;如果当前的变换尺寸是4x4,那么Y00、Y16、Y08、Y24即为即为4点一维整数离散余弦变换的结果;
对于4点加法树模块:D4X4,步骤(5)中的输出P4、P5、P6、P7作为本次运算的输入,运算的结果分别记为Y04、Y20、Y12、Y28 ;如果当前的变换尺寸是8x8,那么Y00、Y16、Y08、Y24、Y04、Y20、Y12、Y28即为即为8点一维整数离散余弦变换的结果;
对于8点加法树模块:D8X8,步骤(5)中的输出P8、P9、P10、P11、P12、P13、P14、P15作为本次运算的输入,运算的结果分别记为Y02、Y18、Y10、Y26、Y06、Y22、Y14、Y30;如果当前的变换尺寸是16x16,那么Y00、Y16、Y08、Y24、Y04、Y20、Y12、Y28、Y02、Y18、Y10、Y26、Y06、Y22、Y14、Y30即为即为16点一维整数离散余弦变换的结果;
对于16点加法树模块:D16X16,步骤(2)中的输出P16、P17、P18、P19、P10、P21、P22、P23、P24、P25、P26、P27、P28、P29、P30、P31,作为本次运算的输入,运算的结果分别记为Y01、Y17、Y09、Y25、Y05、Y21、Y13、Y29、Y03、Y19、Y11、Y27、Y07、Y23、Y15、Y3 ;如果当前的变换尺寸是32x32,那么Y00、Y16、Y08、Y24、Y04、Y20、Y12、Y28、Y02、Y18、Y10、Y26、Y06、Y22、Y14、Y30、Y01、Y17、Y09、Y25、Y05、Y21、Y13、Y29、Y03、Y19、Y11、Y27、Y07、Y23、Y15、Y31即为即为32点一维整数离散余弦变换的结果。
CN201110350163.9A 2011-11-08 2011-11-08 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 Expired - Fee Related CN102387367B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110350163.9A CN102387367B (zh) 2011-11-08 2011-11-08 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110350163.9A CN102387367B (zh) 2011-11-08 2011-11-08 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法

Publications (2)

Publication Number Publication Date
CN102387367A CN102387367A (zh) 2012-03-21
CN102387367B true CN102387367B (zh) 2014-01-08

Family

ID=45826260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110350163.9A Expired - Fee Related CN102387367B (zh) 2011-11-08 2011-11-08 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法

Country Status (1)

Country Link
CN (1) CN102387367B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327332B (zh) * 2013-06-18 2016-04-13 复旦大学 一种hevc标准中8×8idct变换的实现方法
CN103747266A (zh) * 2013-12-24 2014-04-23 华为技术有限公司 一种数据变换方法和设备
CN105100811B (zh) * 2014-05-14 2018-04-03 北京君正集成电路股份有限公司 一种视频变换的实现方法及装置
CN104581174B (zh) * 2015-01-22 2018-04-03 复旦大学 一种适用于hevc标准的高吞吐率dct和idct硬件复用结构
CN106210715B (zh) * 2015-05-06 2019-02-15 北京君正集成电路股份有限公司 一种hevc标准中视频编解码变换方法及装置
CN105407358B (zh) * 2015-11-27 2018-09-18 上海富瀚微电子股份有限公司 一种基于hevc的整数dct变换方法
CN107027039B (zh) * 2017-04-14 2019-08-27 西安电子科技大学 基于高效视频编码标准的离散余弦变换实现方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1289213A (zh) * 2000-10-13 2001-03-28 清华大学 无转置部件行列分离二维离散余弦变换/反变换vlsi结构及其方法
US6526430B1 (en) * 1999-10-04 2003-02-25 Texas Instruments Incorporated Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing)
CN1889690A (zh) * 2006-07-12 2007-01-03 浙江大学 运用于图像编码和视频编码的离散余弦变换方法
CN101605259A (zh) * 2009-05-31 2009-12-16 华亚微电子(上海)有限公司 对多媒体数据进行变换编、解码的装置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081733B2 (en) * 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526430B1 (en) * 1999-10-04 2003-02-25 Texas Instruments Incorporated Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing)
CN1289213A (zh) * 2000-10-13 2001-03-28 清华大学 无转置部件行列分离二维离散余弦变换/反变换vlsi结构及其方法
CN1889690A (zh) * 2006-07-12 2007-01-03 浙江大学 运用于图像编码和视频编码的离散余弦变换方法
CN101605259A (zh) * 2009-05-31 2009-12-16 华亚微电子(上海)有限公司 对多媒体数据进行变换编、解码的装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
司马苗等.基于FPGA的二维DCT变换的实现.《红外与激光工程》.2003,第32卷(第04期), *

Also Published As

Publication number Publication date
CN102387367A (zh) 2012-03-21

Similar Documents

Publication Publication Date Title
CN102387367B (zh) 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法
CN102404569B (zh) 可用于多种视频标准、多尺寸二维整数余弦反变换的通用方法
CN101330616B (zh) 视频解码过程中反离散余弦变换的硬件实现装置及方法
Yan et al. Implementation of HEVC decoder on x86 processors with SIMD optimization
CN102857756B (zh) 适于hevc标准的变换编码器
CN104320668B (zh) Hevc/h.265的dct变换和反变换的simd优化方法
CN108259919B (zh) 一种快速实现8x8DCT变换的硬件系统
CN103092559B (zh) 用于hevc标准下dct/idct电路的乘法器结构
WO2018226067A1 (ko) 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치
CN103327332B (zh) 一种hevc标准中8×8idct变换的实现方法
CN101640791A (zh) 一种解码方法、装置和解码器
WO2020060832A1 (en) Fast implementation of odd one dimensional transforms
WO2012065447A1 (zh) 一种亚像素插值方法及系统
US7756351B2 (en) Low power, high performance transform coprocessor for video compression
CN102006478A (zh) 一种视频解码的反变换方法及装置
CN104581174B (zh) 一种适用于hevc标准的高吞吐率dct和idct硬件复用结构
CN104811738B (zh) 基于资源共享的低开销多标准8×8一维离散余弦变换电路
CN105407358B (zh) 一种基于hevc的整数dct变换方法
CN101977318B (zh) Dct量化的并行装置及其方法
US9819951B2 (en) Image processing method, devices and system
KR101527103B1 (ko) 이산 코사인 변환 장치 및 방법
CN102447898B (zh) 用fpga实现klt变换的方法
CN104602026A (zh) 一种适用于hevc标准下编码器中全复用的重建环路结构
CN114900703B (zh) 一种通用视频编码系统及数据处理方法
CN101316367B (zh) 一种视频编解码标准中的二维反变换方法及其实现电路

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
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: 20140108

Termination date: 20161108