專利名稱:可用于多種視頻標(biāo)準(zhǔn)、多尺寸二維整數(shù)余弦反變換的通用方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字視頻信號(hào)編解碼技術(shù)領(lǐng)域,具體涉及一個(gè)可用于多種視頻標(biāo)準(zhǔn)、 可支持變換尺寸為^4、8x8、16x16和32x32的二維整數(shù)離散余弦反變換的通用方法。
背景技術(shù):
隨著視頻編碼技術(shù)的發(fā)展,越來(lái)越多的視頻編碼標(biāo)準(zhǔn)進(jìn)入了應(yīng)用領(lǐng)域VCD/DVD 視頻光盤(pán)中普通采用MPEG-1/MPEG-2視頻標(biāo)準(zhǔn),藍(lán)光光盤(pán)中采用H. 264標(biāo)準(zhǔn)或VC-I標(biāo)準(zhǔn), 網(wǎng)絡(luò)視頻中普遍采用RealVideo或MPEG-4標(biāo)準(zhǔn),而AVS視頻標(biāo)準(zhǔn)已經(jīng)成為中國(guó)的國(guó)家標(biāo)準(zhǔn)。很多新的標(biāo)準(zhǔn)如H. ^5/HEVC(High Efficiency Video Coding)等也在制定當(dāng)中。由于離散余弦變換能夠?qū)︻l域上的能量進(jìn)行有效地集中,便于進(jìn)一步壓縮處理, 所以現(xiàn)有的視頻編碼標(biāo)準(zhǔn)絕大多數(shù)都采用了離散余弦變換對(duì)視頻信號(hào)進(jìn)行處理。傳統(tǒng)的 MPEG-U MPEG-2視頻標(biāo)準(zhǔn)中采用的是浮點(diǎn)離散余弦變換,由于數(shù)字信號(hào)處理時(shí)需要對(duì)浮點(diǎn)數(shù)截位,從而容易導(dǎo)致變換前后數(shù)據(jù)的失配問(wèn)題,所以新一代標(biāo)準(zhǔn)如H. 264, VC-U AVS等標(biāo)準(zhǔn)普遍采用整數(shù)離散余弦變換。由于當(dāng)前多種標(biāo)準(zhǔn)并存的格局將長(zhǎng)期存在,支持多種視頻標(biāo)準(zhǔn)是當(dāng)前編解碼技術(shù)中的重要研究領(lǐng)域,有著迫切的實(shí)際需求。各種視頻標(biāo)準(zhǔn)中二維離散余弦變換的尺寸大小有所不同。對(duì)于畫(huà)面比較平坦的視頻場(chǎng)景,較大的變換尺寸能夠提高編碼壓縮效率。但是大的變換尺寸也使得運(yùn)算復(fù)雜度大大增加。MPEG-1/MPEG-2/MPEG-4中采用的尺寸是8x8 ; H. 264和VC-I采用的尺寸是4x4和8x8 ;而正在制定當(dāng)中的最新視頻標(biāo)準(zhǔn)HEVC采用的變換尺寸有4種4x4、8x8、16x16和32x32。為了更好的支持多標(biāo)準(zhǔn)編解碼技術(shù),有必要采取一種通用的架構(gòu)來(lái)實(shí)現(xiàn)各種不同尺寸的整數(shù)離散余弦變換。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一個(gè)可用于多種視頻標(biāo)準(zhǔn)、多尺寸二維整數(shù)離散余弦反變換的通用方法。各種不同的視頻標(biāo)準(zhǔn)規(guī)定了不同的變換尺寸和變換系數(shù)矩陣,但是由于這些變換都是基于離散余弦變換衍生而來(lái)的,不同的變換尺寸和變換系數(shù)矩陣之間有很多相似之處。本發(fā)明充分利用了這種相關(guān)性,進(jìn)而提出了一種通用的變換方法,可以提高硬件復(fù)用程度,降低運(yùn)算復(fù)雜度。本發(fā)明提出的方法具體可以分為如下6個(gè)步驟
(1)根據(jù)離散余弦反變換的特性,將一個(gè)二維整數(shù)離散余弦反變換轉(zhuǎn)換為兩次一維整數(shù)離散余弦反變換,即先進(jìn)行水平方向的一維反變換,然后再進(jìn)行垂直方向的一維反變換;
(2)根據(jù)^4、8x8、16x16和32x32四種不同的變換尺寸,將輸入的32個(gè)系數(shù)Y00_Y31 分為四組,為每一組設(shè)計(jì)相應(yīng)的多輸出常系數(shù)乘法器:MCM0、MCMU MCM2和MCM3 ;通過(guò)對(duì)乘法器系數(shù)進(jìn)行配置,即可實(shí)現(xiàn)對(duì)各種不同視頻標(biāo)準(zhǔn)的支持;
(3)設(shè)計(jì)四組運(yùn)算模塊B^4、D4x4,D8x8和D16xl6,對(duì)多輸出常系數(shù)乘法器的輸出進(jìn)行處理;其中,B4x4模塊為4點(diǎn)的蝶形運(yùn)算模塊,D4x4模塊為4點(diǎn)的加法樹(shù)模塊,D8x8模塊為8點(diǎn)的加法樹(shù)模塊,D16xl6為16點(diǎn)的加法樹(shù)模塊;B4x4模塊的輸出即為4點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果;
(4)對(duì)B4x4和D4x4模塊的輸出,進(jìn)行8點(diǎn)的蝶形運(yùn)算,其結(jié)果即為8點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果;
(5)對(duì)8點(diǎn)蝶形運(yùn)算的輸出和D8x8模塊的輸出進(jìn)行16點(diǎn)的蝶形運(yùn)算,其結(jié)果即為16 點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果;
(6)對(duì)16點(diǎn)蝶形運(yùn)算的輸出和D16xl6模塊的輸出進(jìn)行32點(diǎn)的蝶形運(yùn)算,其結(jié)果即為 32點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果。本發(fā)明的有益效果
從上述步驟可以看到,本發(fā)明實(shí)現(xiàn)了用于計(jì)算小尺寸二維整數(shù)離散余弦反變換的運(yùn)算單元可以完全復(fù)用到更大尺寸的二維整數(shù)離散余弦反變換的運(yùn)算過(guò)程中,從而有效地降低了整體的運(yùn)算復(fù)雜度和硬件實(shí)現(xiàn)成本。本發(fā)明方法可以同時(shí)支持多種視頻標(biāo)準(zhǔn)、多種變換尺寸Gx4、8x8、16xl6和 32x32)的二維整數(shù)余弦反變換。如果在將來(lái)需要支持更多新的視頻標(biāo)準(zhǔn),只需要對(duì)相應(yīng)的多輸出常系數(shù)乘法器(MCMO、MCM1、MCM2和MCM3)做相應(yīng)改動(dòng)即可,其它模塊如蝶形運(yùn)算模塊和加法樹(shù)模塊可保持不變,因而本方法具有很好的可擴(kuò)展性,可以適應(yīng)不斷發(fā)展中的各種新興視頻編解碼技術(shù)。
圖1兩維離散整 女余弦反變換的整體框圖。
圖24點(diǎn)、8點(diǎn)、16點(diǎn)和32點(diǎn)一維離散整數(shù)余弦反變換的整體框圖
圖3多輸出常系 女乘法器MCMO的框圖。
圖4多輸出常系 女乘法器MCMl的框圖。
圖5多輸出常系 女乘法器MCM2的框圖。
圖6多輸出常系 女乘法器MCM3的框圖。
圖74點(diǎn)蝶形運(yùn)算模塊(B^4)的框圖。
圖84點(diǎn)加法樹(shù)模塊(Mx4)的框圖。
圖98點(diǎn)加法樹(shù)模塊(D8x8)的框圖。
圖1016點(diǎn)加法樹(shù)模塊(D16xl6)的框圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的描述。本發(fā)明提出了一個(gè)適用于多種視頻標(biāo)準(zhǔn)、多尺寸二維整數(shù)余弦反變換的通用方法,其具體實(shí)施方式
如下述的6個(gè)步驟
(1)將一個(gè)二維整數(shù)離散余弦反變換轉(zhuǎn)換為兩次一維整數(shù)離散余弦反變換。二維整數(shù)離散余弦反變換可以用如下公式表示X = CT*Y*C
其中,Y為需要進(jìn)行二維整數(shù)離散余弦反變換的輸入矩陣,C代表整數(shù)離散余弦變換的系數(shù)矩陣,*代表矩陣乘法,Ct代表C的轉(zhuǎn)置矩陣,X代表二維整數(shù)離散余弦反變換的計(jì)算結(jié)果。對(duì)應(yīng)于四種不同的變換尺寸,本發(fā)明中矩陣C、X、Y的大小可以分別為4x4、8x8、16xl6 和 32x32ο 根據(jù)矩陣運(yùn)算的性質(zhì),對(duì)公式(1)進(jìn)行變換可得
X= ((Y*C)T * C)T(2)
如果令 D= (Y*C)τ, 那么
這樣二維整數(shù)離散余弦反變換就可以轉(zhuǎn)換為兩次一維整數(shù)離散余弦反變換。公式(3) 表示先對(duì)矩陣Y的每一行的所有系數(shù)進(jìn)行一維整數(shù)離散余弦反變換并將變換結(jié)果得到的矩陣進(jìn)行轉(zhuǎn)置操作,此步驟稱為行變換操作。公式(4)表示對(duì)矩陣D再進(jìn)行一次一維整數(shù)離散余弦反變換并將此變換結(jié)果再次進(jìn)行轉(zhuǎn)置操作,此步驟稱為列變換操作,其運(yùn)算結(jié)果就是矩陣X,即為二維整數(shù)離散余弦反變換的運(yùn)算結(jié)果。 根據(jù)離散余弦反變換的特性,32x32點(diǎn)整數(shù)離散余弦反變換的變換矩陣C32X32可以表示為一個(gè)大小為3h32的矩陣,它可以分割為4個(gè)16x16的矩陣,分別為K0、K1、K2、K3, C32X32可表示如下
權(quán)利要求
1.一種可用于多種視頻標(biāo)準(zhǔn)、多尺寸二維整數(shù)余弦反變換的通用方法,其特征在于具體步驟為(1)根據(jù)離散余弦反變換的特性,將一個(gè)二維整數(shù)離散余弦反變換轉(zhuǎn)換為兩次一維整數(shù)離散余弦反變換,即先進(jìn)行水平方向的一維反變換,然后再進(jìn)行垂直方向的一維反變換;(2)根據(jù)^4、8x8、16x16和32x32四種不同的變換尺寸,將輸入的32個(gè)系數(shù)Y00_Y31 分為四組,為每一組設(shè)計(jì)相應(yīng)的多輸出常系數(shù)乘法器:MCM0、MCMU MCM2和MCM3 ;通過(guò)對(duì)乘法器系數(shù)進(jìn)行配置,即實(shí)現(xiàn)對(duì)各種不同視頻標(biāo)準(zhǔn)的支持;(3)設(shè)計(jì)四組運(yùn)算模塊B^4、D4x4,D8x8和D16xl6,對(duì)多輸出常系數(shù)乘法器的輸出進(jìn)行處理;其中,B4x4模塊為4點(diǎn)的蝶形運(yùn)算模塊,D4x4模塊為4點(diǎn)的加法樹(shù)模塊,D8x8模塊為8點(diǎn)的加法樹(shù)模塊,D16xl6為16點(diǎn)的加法樹(shù)模塊;B4x4模塊的輸出即為4點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果;(4)對(duì)B4x4和D4x4模塊的輸出,進(jìn)行8點(diǎn)的蝶形運(yùn)算,其結(jié)果即為8點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果;(5)對(duì)8點(diǎn)蝶形運(yùn)算的輸出和D8x8模塊的輸出進(jìn)行16點(diǎn)的蝶形運(yùn)算,其結(jié)果即為16 點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果;(6)對(duì)16點(diǎn)蝶形運(yùn)算的輸出和D16xl6模塊的輸出進(jìn)行32點(diǎn)的蝶形運(yùn)算,其結(jié)果即為 32點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟(1)中, 一個(gè)二維整數(shù)離散余弦反變換用如下公式表示X = CT*Y*C(1)其中,Y為需要進(jìn)行二維整數(shù)離散余弦反變換的輸入矩陣,C代表整數(shù)離散余弦變換的系數(shù)矩陣,*代表矩陣乘法,Ct代表C的轉(zhuǎn)置矩陣,X代表二維整數(shù)離散余弦反變換的計(jì)算結(jié)果;對(duì)應(yīng)于四種不同的變換尺寸,矩陣C、X、Y的大小分別為^4、8x8、16x16和32x32 ; 對(duì)公式(1)進(jìn)行變換,得X= ((Y*C)T * C)T(2)令D=(Y*C)T,(3)那么X = (D*C)T(4)于是,二維整數(shù)離散余弦反變換就轉(zhuǎn)換為兩次一維整數(shù)離散余弦反變換公式(3)表示先對(duì)矩陣Y的每一行的所有系數(shù)進(jìn)行一維整數(shù)離散余弦反變換并將變換結(jié)果得到的矩陣進(jìn)行轉(zhuǎn)置操作,此步驟稱為行變換操作;公式(4)表示對(duì)矩陣D再進(jìn)行一次一維整數(shù)離散余弦反變換并將此變換結(jié)果再次進(jìn)行轉(zhuǎn)置操作,此步驟稱為列變換操作,其運(yùn)算結(jié)果就是矩陣X,即為二維整數(shù)離散余弦反變換的運(yùn)算結(jié)果;其中變換矩陣C32X32表示為一個(gè)大小為32x32的矩陣,它可以分割為4個(gè)16x16的矩陣, 分別為 K0、K1、K2、K3。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于步驟(2)中,采用多輸出常系數(shù)乘法器對(duì)輸入的待變換系數(shù)進(jìn)行乘法操作,具體如下(1)對(duì)于32點(diǎn)一維整數(shù)離散余弦反變換,令輸入的待變換向量Y32為Y32 = [ Y00, Y01, Y02, Y03, Y04, Y05, Y06, Y07, Y08, Y09, ΥΙΟ, Yll, Y12, Y13, Y14, Y15, Y16, Y17, Y18, Y19, Y20, Y21, Y22, Y23, Y24, Y25, Y26, Y27, Y28, Y29, Y30, Y31] 將向量TO2的32個(gè)待變換系數(shù)分為四組第一組為Y00、Y16、Y08、Y24,第二組為Υ04、 Υ20、Υ12、Υ28,第三組為 Υ02、Υ18、ΥΙΟ、Υ26、Υ06、Υ22、Υ14、Υ30,第四組為 Υ01、Υ17、Υ09、 Y25、Y05、Y21、Y13、Y29、Y03、Y19、Y11、Y27、Y07、Y23、Y15 J31 ;第一組的四個(gè)系數(shù)作為多輸出常系數(shù)乘法器MCMO的輸入,第二組的四個(gè)系數(shù)作為多輸出常系數(shù)乘法器MCMl的輸入, 第三組的八個(gè)系數(shù)作為多輸出常系數(shù)乘法器MCM2的輸入,第四組的十六個(gè)系數(shù)作為多輸出常系數(shù)乘法器MCM3的輸入;(2)對(duì)于16點(diǎn)一維整數(shù)離散余弦反變換,令輸入的待變換向量Υ16為Υ16 = [ Υ00, Υ02, Υ04, Υ06, Υ08, ΥΙΟ, Υ12, Υ14, Υ16, Υ18, Υ20, Υ22, Υ24, Υ26, Υ28, Υ30] 將向量Υ16的16個(gè)待變換系數(shù)分為三組第一組為Υ00、Υ16、Υ08、Υ24,第二組為Υ04、 Υ20、Υ12、Υ28,第三組為 Y02、Y18、Y10、Y26、Y06、Y22、Y14 J30 ;第一組的四個(gè)系數(shù)作為多輸出常系數(shù)乘法器MCMO的輸入,第二組的四個(gè)系數(shù)作為多輸出常系數(shù)乘法器MCMl的輸入, 第三組的八個(gè)系數(shù)作為多輸出常系數(shù)乘法器MCM2的輸入,多輸出常系數(shù)乘法器MCM3的輸入全部取0 ;(3)對(duì)于8點(diǎn)一維整數(shù)離散余弦反變換,令輸入的待變換向量Υ8為 Υ8 = [ Υ00, Υ04, Υ08, Υ12, Υ16, Υ20, Υ24, Υ28]將向量Υ8的8個(gè)待變換系數(shù)分為兩組第一組為Υ00、Υ16、Υ08、Υ24,第二組為Υ04、Y20、Y12、Y28 ;第一組的四個(gè)系數(shù)作為多輸出常系數(shù)乘法器MCMO的輸入,第二組的四個(gè)系數(shù)作為多輸出常系數(shù)乘法器MCMl的輸入,多輸出常系數(shù)乘法器MCM2和MCM3的輸入全部取 0 ;(4)對(duì)于4點(diǎn)一維整數(shù)離散余弦反變換,令輸入的待變換向量W為Y4 = [ Y00, Y08, Y16, Y24]向量W的4個(gè)待變換系數(shù)作為多輸出常系數(shù)乘法器MCMO的輸入,多輸出常系數(shù)乘法器MCM1、MCM2禾口 MCM3的輸入全部取0。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于步驟(3)中,所述通過(guò)四組運(yùn)算模塊B^4、 D4x4, D8x8和D16xl6,對(duì)多輸出常系數(shù)乘法器的輸出進(jìn)行處理,其中對(duì)于4點(diǎn)蝶形運(yùn)算模塊B^4,步驟(2)中的輸出P0、P1、P2、P3作為本次運(yùn)算的輸入, 本次運(yùn)算的結(jié)果分別記為R0、R1、R2、R3 ;如果當(dāng)前的變換尺寸是虹4,那么R0、R1、R2、R3即為4點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果;對(duì)于4點(diǎn)加法樹(shù)模塊D4X4,步驟(2)中的輸出P4、P5、P6、P7作為本次運(yùn)算的輸入,本次運(yùn)算的結(jié)果分別記為R4、R5、R6、R7 ;對(duì)于8點(diǎn)加法樹(shù)模塊:D (8,步驟(2)中的輸出P8、P9、P10、P11、P12、P13、P14、P15作為本次運(yùn)算的輸入,本次運(yùn)算的結(jié)果分別記為S8、S9、S10、SlU S12、S13、S14、S15 ;對(duì)于16點(diǎn)加法樹(shù)模塊:D16X16,步驟(2)中的輸出P16、P17、P18、P19、ΡΙΟ、P21、P22、 P23、P24、P25、P26、P27、P28、P29、P30、P31,作為本次運(yùn)算的輸入,本次運(yùn)算的結(jié)果分別記為 T16、T17、T18、T19、T20、T21、T22、T23、T24、T25、T26、T27、T28、T29、T30、T31。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于步驟(4)中,以R0、Rl、R2、R3、R4、R5、R6、 R7作為輸入,進(jìn)行8點(diǎn)的蝶形運(yùn)算;得到8點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果,分別記為 S0、S1、S2、S3、S4、S5、S6、S7。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于步驟(5)中,以S0、S1、S2、S3、S4、S5、S6、 S7、S8、S9、S10、S11、S12、S13、S14、S15作為輸入,進(jìn)行16點(diǎn)的蝶形運(yùn)算,得到16點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果,分別記為T(mén)O、Tl、T2、T3、T4、T5、T6、T7、T8、T9、T10、Til、T12、 T13、T14、T15。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于步驟(6)中,以TO、Tl、T2、T3、T4、T5、T6、 T7、T8、T9、T10、T11、T12、T13、T14、T15、T16、T17、T18、T19、T20、T21、T22、T23、T24、T25、 Τ26、Τ27、Τ28、Τ29、Τ30、Τ31作為輸入,進(jìn)行32點(diǎn)的蝶形運(yùn)算,得到32點(diǎn)一維整數(shù)離散余弦反變換的結(jié)果,分別記為 Χ00、Χ01、Χ02、Χ03、Χ04、Χ05、Χ06、Χ07、Χ08、Χ09、Χ10、Χ11、Χ12、 Χ13、Χ14、Χ15、Χ16、Χ17、Χ18、Χ19、Χ20、Χ21、Χ22、Χ23、Χ24、Χ25、Χ26、Χ27、Χ28、Χ29、Χ30、 Χ31。
全文摘要
本發(fā)明屬于數(shù)字視頻信號(hào)編解碼技術(shù)領(lǐng)域,具體為一種可用于多種視頻標(biāo)準(zhǔn)、多尺寸二維整數(shù)余弦反變換的通用方法。本方法通過(guò)配置常系數(shù)乘法器的系數(shù)值可支持多種不同的視頻編碼標(biāo)準(zhǔn)并同時(shí)支持四種不同的變換尺寸4x4、8x8、16x16、32x32。本發(fā)明首先將二維離散余弦反變換分解為兩次一維離散余弦反變換,在計(jì)算4點(diǎn)一維離散余弦反變換時(shí),采用傳統(tǒng)的蝶形運(yùn)算方法減少運(yùn)算量,加快計(jì)算速度;對(duì)于8點(diǎn)、16點(diǎn)、32點(diǎn)的一維離散余弦反變換,采用改進(jìn)的蝶形運(yùn)算方法,使得較小尺寸的一維離散余弦反變換單元可以在計(jì)算較大尺寸的一維離散余弦反變換時(shí)能夠得到復(fù)用,從而大幅降低整個(gè)系統(tǒng)的硬件資源開(kāi)銷。
文檔編號(hào)H04N7/26GK102404569SQ20111035015
公開(kāi)日2012年4月4日 申請(qǐng)日期2011年11月8日 優(yōu)先權(quán)日2011年11月8日
發(fā)明者曾曉洋, 沈沙, 沈蔚煒, 范益波 申請(qǐng)人:復(fù)旦大學(xué)