專利名稱:一種基于多種編解碼標準的數(shù)據(jù)變換方法及裝置的制作方法
技術領域:
本發(fā)明涉及編解碼中的數(shù)據(jù)變換領域,尤其涉及視頻編解碼中的基于多種視頻編解碼標準的數(shù)據(jù)變換方法和裝置。
背景技術:
視頻編解碼是指對數(shù)字視頻進行壓縮或解壓縮。世界各國的各組織和協(xié)會制定了各種編解碼標準。數(shù)據(jù)變換是編解碼的重要組成部分,由于其計算量和裝置在整個視頻編解碼過程中占有很大的比重,因而對數(shù)據(jù)的壓縮、解壓縮和傳輸有著重要的意義。
在支持多視頻編解碼標準的ASIC系統(tǒng)中,往往需要分別按照各頻編解碼標準的算法來實現(xiàn)基于多種視頻編解碼標準的數(shù)據(jù)變換。并且,現(xiàn)有技術常通過簡單集成支持各種視頻編解碼標準的多個硬件架構來實現(xiàn)基于多種視頻編解碼標準的數(shù)據(jù)變換。例如,現(xiàn)有技術對基于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變換),其中一種方法是直接將頻時變換公式展開,然后利用乘法器和加法器實現(xiàn);另一種方法是采用32個加法器和12個乘法器來實現(xiàn)。
基于VC-1的頻時變換,則需要采用一種專用于該標準的頻時變換裝置來進行所述變換,其中包括且僅包括用于對基于此標準的信號進行頻時變換的邏輯運算單元。通常都直接將簡化的頻時變換展開實現(xiàn),需要32個加法器和12個乘法器。
基于H.264的頻時變換同樣需要一種專用于該標準的頻時變換裝置來進行所述變換。通常采用移位器和加法器進行基于H.264的頻時變換。
綜上所述,由于現(xiàn)有技術需要分別按照各視頻編解碼標準的算法來實現(xiàn)基于多種視頻編解碼標準的數(shù)據(jù)變換,因而功耗較大;同時,由于現(xiàn)有技術把支持各種視頻編解碼標準的多個硬件架構簡單集成在一起來實現(xiàn)基于多種視頻編解碼標準的數(shù)據(jù)變換,其面積相當于分別實現(xiàn)各種視頻編解碼標準所采用的硬件架構的面積的總和,因此裝置的面積較大,成本較高。
對于基于多視頻編解碼標準的產(chǎn)品,特別是基于多視頻標準的手持設備中,功耗高和面積大的缺陷極大地影響了產(chǎn)品的競爭力。因此,設計一種統(tǒng)一算法和架構來支持基于多種視頻編解碼標準的數(shù)據(jù)變換的方法和設備,具有重要意義。
發(fā)明內(nèi)容
為了解決上述基于多種視頻編解碼標準的方法和裝置的功耗較大和裝置面積較大的問題,本發(fā)明的目的是提供一種統(tǒng)一算法統(tǒng)一裝置的基于多種視頻編解碼標準的數(shù)據(jù)變換方法和設備。
本發(fā)明第一方面提供一種基于多種編解碼標準的數(shù)據(jù)變換方法,其特征在于,包括如下步驟 b.根據(jù)輸入數(shù)據(jù)的編解碼標準,控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入數(shù)據(jù)進行數(shù)據(jù)變換。
本發(fā)明第二方面提供一種基于多種編解碼標準的數(shù)據(jù)變換裝置,其特征在于,其結構包括 邏輯電路,所述的邏輯電路包括多個邏輯運算單元,可提供多個邏輯運算單元構成邏輯運算組合,并根據(jù)輸入信號所屬的編解碼標準利用所述的邏輯運算組合完成相應的數(shù)據(jù)變換。
與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點本發(fā)明通過分析多種視頻編解碼標準的數(shù)據(jù)變換的算法的差異性和共同點,將多種視頻編解碼標準的算法公式統(tǒng)一,從而用統(tǒng)一算法來實現(xiàn)基于多種視頻編解碼標準的數(shù)據(jù)變換,因此功耗較?。槐景l(fā)明根據(jù)所述的統(tǒng)一算法,提供一種統(tǒng)一的基于多視頻編解碼標準的裝置,以使各個視頻編解碼標準都可共用所述裝置的邏輯單元,因此面積較小,節(jié)省了成本。
通過閱讀以下參照附圖所作的對非限制性實施例的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯。
圖1為本發(fā)明的方法流程圖; 圖2為本發(fā)明的結構示意圖; 圖3為實施例一的方法流程圖; 圖4為實施例一頻時變換的方法流程圖; 圖5為實施例一的一維頻時變換的RTL級結構示意圖; 圖6為本發(fā)明數(shù)據(jù)變換的結構示意圖; 圖7為實施例二的方法流程圖; 圖8為實施例二時頻變換的方法流程圖; 圖9為實施例二的一維時頻變換的RTL級結構示意圖。
具體實施例方式 下面結合附圖和具體實施例對本發(fā)明作進一步詳細描述。
參見圖1,本發(fā)明的數(shù)據(jù)變換方法包括如下步驟 在步驟S1中,檢測輸入信號所屬的編解碼標準; 在步驟S2中,根據(jù)所檢測的輸入信號所屬的編解碼標準,控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入數(shù)據(jù)進行數(shù)據(jù)變換。
參見圖2,本發(fā)明的數(shù)據(jù)變換裝置0包括檢測裝置1和邏輯電路3。
具體地,所述檢測裝置1用于檢測輸入信號所屬的編解碼標準,并輸出檢測信號給邏輯電路3。所述邏輯電路3包括乘法器,加法器,減法器等多個邏輯運算單元,用于根據(jù)檢測信號,以控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入信號進行數(shù)據(jù)變換。
需要說明的是,本發(fā)明不僅可以適用于基于多種編解碼標準的數(shù)據(jù)變換,也可適用于單個編解碼標準的數(shù)據(jù)變換。當適用于單個視頻編解碼標準的數(shù)據(jù)變換時,不執(zhí)行步驟S1,直接執(zhí)行步驟S2。即,輸入信號不經(jīng)過檢測裝置1的檢測,直接通過邏輯電路3進行相應的數(shù)據(jù)變換。
[實施例一] 本實施例是基于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數(shù)據(jù)變換。)的算法是將二維頻時變換轉化為兩個一維頻時變換來實現(xiàn),所述一維頻時變換實現(xiàn)XM運算,所述二維頻時變換實現(xiàn)(XM)TM。其中,一維8點頻時變換可描述為 其中,變換矩陣系數(shù)(i=1,2......7)。其中,因此對一維頻時變換中的變換矩陣系數(shù)Wi乘以
相當于對二維IDCT變換系數(shù)乘了可以對所述二維頻時變換結果除2即得到最終頻時變換結果?,F(xiàn)有技術采用的12個乘法器和32個加法器實現(xiàn)的基于MPEG-2/MPEG-4/H.263/JPEG的視頻編解碼標準的頻時變換就是基于上述原理。
由于上述乘以
以減少乘法器的原理不適用于VC-1,H.264,AVS等標準的變換,本實施例并未利用上述乘以
以減少乘法器的原理,而是利用余弦函數(shù)的對稱性,從而使MPEG-2/MPEG-4,VC-1,H.264,AVS等標準的頻時變換統(tǒng)一到同一算法和架構下成為可能。將基于MPEG-2/MPEG-4/H.263/JPEG視頻編解碼標準的8點一維頻時變換(IDCT數(shù)據(jù)變換)算法即公式(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為系數(shù)。上述系數(shù)的表達式和值如下表所示 按照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)的矩陣相乘統(tǒng)一到公式(4)的形式。其中,a、b、c、d、e、f、g、h、i、j、k、l、m為系數(shù)。上述系數(shù)的表達式和值如下表所示 按照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視頻編解碼標準,對變換系數(shù)矩陣進行如下一維反變換其中,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) 具體地,根據(jù)AVS標準定義的算法公式,本實施例將基于AVS視頻編解碼標準的一維8點的頻時變換描述為 因此,公式9中的矩陣相乘也可以統(tǒng)一到公式(4)的形式,其中,a、b、c、d、e、f、g、h、i、j、k、l、m為系數(shù)。上述系數(shù)的表達式和值如下表所示 綜上所述,基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264和AVS視頻編解碼標準的頻時變換的計算有很多相似之處,只是其中的系數(shù)常量和圓整不同而已,本發(fā)明通過對所述基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264和AVS視頻編解碼標準的頻時變換的分析對比,將所述的基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS視頻編解碼標準的頻時變換的算法統(tǒng)一到同一算法公式來實現(xiàn),如下所示 Y=((((XM0+R0)>>S0)TM1+R1)>>51)T (10) 其中,X為輸入編碼信號;Y為經(jīng)所述頻時變換后的輸出信號;M0,M1,R0,S0,R1,S1為與所述輸入編碼信號所屬的視頻編解碼標準相對應的常數(shù)矩陣;運算符號T表示矩陣的轉置操作;運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作。
具體地,對于基于MPEG-2/MPEG-4/H.263/JPEG標準的頻時變換,在公式(10)中,R0、R1、S0和S1矩陣值全部為0。
其中,變換矩陣系數(shù)(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的數(shù)據(jù)塊時S0=3(表示所述輸入的編碼信號的每個數(shù)據(jù)右移位3位),S1=7(表示所述輸入的編碼信號中的每個數(shù)據(jù)右移位7位);對于VC-1標準的頻時變換且處理的信號為4×8的數(shù)據(jù)塊時, S0=3(表示所述輸入的編碼信號中的每個數(shù)據(jù)右移位3位),S1=7(表示所述輸入的編碼信號中的每個數(shù)據(jù)右移位7位);對于VC-1標準的頻時變換且處理的信號為4×4的數(shù)據(jù)塊時,S0=3(表示所述輸入的編碼信號中的每個數(shù)據(jù)右移位3位),S1=7(表示所述輸入的編碼信號中的每個數(shù)據(jù)右移位7位);對于VC-1標準的頻時變換且處理的信號為8×4的數(shù)據(jù)塊時,S0=3(表示所述輸入的編碼信號中的每個數(shù)據(jù)右移位3位),S1=7(表示所述輸入的編碼信號中的每個數(shù)據(jù)右移位7位)。
綜合上述算法分析,參見圖3~圖4,本實施例的方法具體描述如下 在步驟S11中,檢測輸入編碼信號所屬的視頻編解碼標準為所述MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS視頻編解碼標準其中哪一種。
在步驟S21中,根據(jù)所檢測的輸入信號所屬的視頻編解碼標準,控制多個邏輯運算單元來構成一個邏輯運算組合,輸出控制信號給邏輯電路31。所述的邏輯運算組合用于對所述的輸入數(shù)據(jù)進行頻時變換。
其中,所述多個邏輯運算單元的構成如下式所示 Y=((((XM0+R0)>>S0)TM1+R1)>>S1)T (10) 其中,X為輸入信號;Y為經(jīng)所述頻時變換后的輸出信號;M0,M1,R0,S0,R1,S1為與所述輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣;運算符號T表示矩陣的轉置操作;運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作。
具體地,參照圖4,步驟S21中的頻時變換具體包括如下步驟 在步驟S211中,先將上級單元VLD(變長解碼器)的輸出進行逆向量化,輸出逆向量化的結果(即一行8點的變換系數(shù))。
在步驟S212中,讀取所述的逆向量化的結果的數(shù)據(jù)排序。
在步驟S213中,將進行數(shù)據(jù)排序后的逆向量化的結果進行一維的頻時變換,本實施例中一維頻時變換的矩陣相乘計算具體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的輸出是否為二維頻時變換的結果。如是,即繼續(xù)執(zhí)行步驟S215;如不是,返回步驟S212。
在步驟S215中,輸出二維頻時變換的結果。
參照圖6,本實施例的數(shù)據(jù)變換裝置01包括檢測裝置1和邏輯電路3。優(yōu)選地,本實施例的數(shù)據(jù)變換裝置01還包括寄存裝置4,控制裝置21,轉置存儲裝置5,判斷裝置7和輸出緩沖裝置8。本領域技術人員根據(jù)本申請的教導,應能理解其中僅檢測裝置11和邏輯電路3是實施本發(fā)明所必要的裝置,寄存裝置4,控制裝置21,轉置存儲裝置5,判斷裝置7和輸出緩沖裝置8為可選裝置。
首先,檢測裝置1用于對輸入信號進行檢測,以確定所述輸入信號所屬的編解碼標準為MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS中哪一種,并輸出檢測信號給邏輯電路3。
然后,所述邏輯電路3根據(jù)所述檢測裝置1所檢測的輸入信號所屬視頻編解碼標準,控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入數(shù)據(jù)進行頻時變換。
具體地,所述邏輯電路的多個邏輯運算單元的構成如下式所示 Y=((((XM0+R0)>>S0)TM1+R1)>>S1)T, 其中,X為輸入信號;Y為經(jīng)所述頻時變換后的輸出信號;M0,M1,R0,S0,R1,S1為與所述輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣;運算符號T表示矩陣的轉置操作;運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作。
具體地,所述邏輯電路3包括14個乘法器和32個加法器(減法器)。所述的邏輯電路3至少包括乘法器和加法器組31,加法器(減法器)和圓整組32。其中,所述乘法器和加法器組31用于完成一維頻時變換的4X4矩陣運算;所述加法器(減法器)和圓整組32負責將所述4X4的矩陣運算的結果組合成8X8的矩陣運算。
優(yōu)選地,在所述邏輯電路3和檢測裝置1之間還可以設置一個控制裝置2,所述控制裝置2包括4個狀態(tài)機,用于分別控制基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS視頻編解碼的頻時變換操作,控制包含多個邏輯運算單元的邏輯電路3來構成一個相應的邏輯運算組合,其用于對輸入信號進行頻時變換。
優(yōu)選地,在控制裝置2之前還可以設置一個寄存裝置,所述寄存裝置用于保存從上級單元(逆向量化單元或者變長解碼單元)傳送過來的輸入信號,并對輸入信號進行數(shù)據(jù)緩沖。
優(yōu)選地,在本實施例中還可以設置一個轉置存儲裝置5,判斷裝置7和數(shù)據(jù)緩沖器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系數(shù)矩陣;A中的各元素為,其中 按照MPEG-2/MPEG-4/H.263/JPEG視頻編解碼標準,一維8點時頻變換(所述時頻變換即為DCT數(shù)據(jù)變換)定義為 其中N=8。8點的時頻變換可以描述為 (13) 其中,變換矩陣系數(shù)(i=1,2......7)。其中,因此對一維時頻變換中的變換矩陣系數(shù)Wi乘以
相當于對二維頻時變換系數(shù)乘了可以對所述二維時頻變換結果除2即得到最終時頻變換的結果。現(xiàn)有技術采用的基于MPEG-2/MPEG-4/H.263/JPEG的視頻編解碼標準的時頻變換就是基于上述原理。
本實施例并未利用上述乘以
以減少乘法器的原理,而是根據(jù)余弦函數(shù)的對稱性,從而使MPEG-2/MPEG-4,VC-1,H.264,AVS等標準的時頻變換統(tǒng)一到同一算法和架構下成為可能。將基于MPEG-2/MPEG-4/H.263/JPEG的視頻編解碼標準的8點一維時頻變換(DCT數(shù)據(jù)變換)算法即公式(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為系數(shù)。上述系數(shù)的表達式和值如下表所示 按照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點的塊 具體地,本發(fā)明將基于VC-1視頻編解碼標準的二維時頻變換的計算描述如下 對于8點的塊
對于4點的塊
因此也可以將基于VC-1視頻編解碼標準的二維時頻變換的矩陣相乘公式統(tǒng)一到公式(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為系數(shù)。上述系數(shù)的表達式和值如下表所示 按照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. 根據(jù)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。
綜上所述,本發(fā)明通過對所述基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264,AVS四種編解碼標準的時頻變換的分析對比,將所述的基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264,AVS四種編解碼標準時頻變換的算法統(tǒng)一到同一算法公式來實現(xiàn),如下所示
其中,X是變換前的系數(shù)矩陣;Y經(jīng)過時頻變換后輸出的結果;對于8點(x0,x1,x2,x3,x4,x5,x6,x7)的時頻變換,X為(I0,X1,I1,X3,I2,X5,I3,X7);運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作;
表示表示前后兩個矩陣的每個同行同列的因素分別一一相乘;Mi,Mj,R0,R1,S0為與所述輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣;其中, 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數(shù)據(jù)變換,在公式(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中,根據(jù)所檢測的輸入信號所屬的視頻編解碼標準,控制多個邏輯運算單元來構成一個邏輯運算組合,輸出控制信號給邏輯電路31。所述的邏輯運算組合用于對所述的輸入數(shù)據(jù)進行時頻變換。
其中,所述多個邏輯運算單元的構成如下式所示
其中,X是變換前的系數(shù)矩陣;Y經(jīng)過時頻變換后輸出的結果;對于8點(x0,x1,x2,x3,x4,x5,x6,x7)的時頻變換,X為(I0,X1,I1,X3,I2,X5,I3,X7);運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作;
表示表示前后兩個矩陣的每個同行同列的因素分別一一相乘;Mi,Mj,R0,R1,S0為與所述輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣;其中, 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中,先讀取輸入信號的數(shù)據(jù)排序; 在步驟S222中,將進行數(shù)據(jù)排序后的輸入信號進行一維時頻變換,本實施例中一維時頻變換的矩陣相乘計算具體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的輸出是否為二維時頻變換的結果。如是,即繼續(xù)執(zhí)行步驟S224;如不是,返回步驟S222; 在步驟S224中,輸出二維時頻變換; 在步驟S225中,將所述二維時頻變換的結果進行量化,并輸出量化的結果。
參照圖6,本實施例的數(shù)據(jù)變換裝置01包括檢測裝置1和邏輯電路3。優(yōu)選地,本實施例的數(shù)據(jù)變換裝置01還包括寄存裝置4,控制裝置21,轉置存儲裝置5,判斷裝置7和輸出緩沖裝置8。本領域技術人員根據(jù)本申請的教導,應能理解其中僅檢測裝置1和邏輯電路3是實施本發(fā)明所必要的裝置,寄存裝置4,控制裝置21,轉置存儲裝置5,判斷裝置7和輸出緩沖裝置8為可選裝置。
首先,檢測裝置1用于對輸入信號進行檢測,以確定所述輸入信號所屬的編解碼標準為MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS中哪一種,并輸出檢測信號給邏輯電路3。
然后,所述邏輯電路3根據(jù)所述檢測裝置1所檢測的輸入信號所屬視頻編解碼標準,控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入數(shù)據(jù)進行時頻變換。
具體地,所述邏輯電路的多個邏輯運算單元的構成如下式所示
其中,X是變換前的系數(shù)矩陣;Y經(jīng)過時頻變換后輸出的結果;對于8點(x0,x1,x2,x3,x4,x5,x6,x7)的時頻變換,X為(I0,X1,I1,X3,I2,X5,I3,X7);運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作;
表示表示前后兩個矩陣的每個同行同列的因素分別一一相乘;Mi,Mj,R0,R1,S0為與所述輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣。
具體地,所述邏輯電路3包括14個乘法器和32個加法器(減法器)。所述的邏輯電路3至少包括乘法器和加法器組31,加法器(減法器)和圓整組32。其中,所述乘法器和加法器組31用于完成一維時頻變換的4X4矩陣運算;所述加法器(減法器)和圓整組32負責將所述4X4的矩陣運算的結果組合成8X8的矩陣運算。
優(yōu)選地,在所述邏輯電路3和檢測裝置1之間還可以設置一個控制裝置2,所述控制裝置2包括4個狀態(tài)機,用于分別控制基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS視頻編解碼的時頻變換操作,控制包含多個邏輯運算單元的邏輯電路3來構成一個相應的邏輯運算組合,其用于對輸入信號進行時頻變換。
優(yōu)選地,在控制裝置2之前還可以設置一個寄存裝置,所述寄存裝置用于保存從上級單元傳送過來的輸入信號,并對輸入信號進行數(shù)據(jù)緩沖。
優(yōu)選地,在本實施例中還可以設置一個轉置存儲裝置5,判斷裝置7和數(shù)據(jù)緩沖器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用于保存二維時頻變換的最終結果,并可作為下一單元的共享存儲空間。
雖然本發(fā)明中以基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS視頻編解碼標準的數(shù)據(jù)變換為例對本發(fā)明進行了詳細的說明,本領域的技術人員根據(jù)本申請文件的教導,應能理解本發(fā)明不限于基于MPEG-2/MPEG-4/H.263/JPEG,VC-1,H.264以及AVS視頻編解碼標準的數(shù)據(jù)變換,對于其它的編解碼標準,本發(fā)明同樣適用。本發(fā)明中的數(shù)據(jù)變換類型不限,包括一切在算法上可以統(tǒng)一的數(shù)據(jù)變換類型。
以上對本發(fā)明的具體實施例進行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領域技術人員可以在所附權利要求的范圍內(nèi)做出各種變形或修改。
權利要求
1.一種基于多種編解碼標準的數(shù)據(jù)變換方法,其特征在于,包括如下步驟
b.根據(jù)輸入數(shù)據(jù)的編解碼標準,控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入數(shù)據(jù)進行數(shù)據(jù)變換。
2.如權利要求1所述的數(shù)據(jù)變換方法,其特征在于,在所述步驟b之前還包括
a.檢測輸入信號所屬的編解碼標準;
其中,所述步驟b為
根據(jù)所檢測的輸入信號所屬的編解碼標準,控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入數(shù)據(jù)進行數(shù)據(jù)變換。
3.如權利要求1或2所述的數(shù)據(jù)變換方法,其特征在于所述邏輯電路提供的邏輯運算組合的邏輯運算單元個數(shù),小于分別完成基于多種編解碼標準的數(shù)據(jù)變換所需的邏輯運算單元個數(shù)的總和。
4.如權利要求1至3任一項所述的數(shù)據(jù)變換方法,其特征在于所述編解碼標準為多種編解碼標準,包括以下各項中的任多項
MPEG-2、MPEG-4、H.263、JPEG、VC-1、H.264、AVS。
5.如權利要求1至4任一項所述的數(shù)據(jù)變換方法,其特征在于所述數(shù)據(jù)變換為頻時變換;
其中,所述邏輯電路的多個邏輯運算單元的構成如下式所示
Y=((((XM0+R0)>>S0)TM1+R1)>>S1)T,
其中,X為輸入信號;Y為經(jīng)所述頻時變換后的輸出信號;M0,M1,R0,S0,R1,S1為與所述輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣;運算符號T表示矩陣的轉置操作;運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作。
6.如權利要求5所述的數(shù)據(jù)變換方法,其特征在于,對于基于MPEG-2/MPEG-4/H.263/JPEG標準的頻時變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣R0、R1、S0和S1矩陣值皆為0,
7.如權利要求5所述的數(shù)據(jù)變換方法,其特征在于,對于VC-1標準的頻時變換,所述的與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣M0,M1,R0,S0,R1,S1分別為
對于處理的信號為8×8的數(shù)據(jù)塊時,
S0=3,S1=7;
對于處理的信號為4×8的數(shù)據(jù)塊時,
S0=3,S1=7;
對于處理的信號為8×4的數(shù)據(jù)塊時,
S0=3,S1=7;
對于處理的信號為4×4的數(shù)據(jù)塊時,
S0=3,S1=7。
8.如權利要求5所述的數(shù)據(jù)變換方法,其特征在于,對于H.264標準的頻時變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣R0,R1,S0和S1皆為0,
9.如權利要求5所述的數(shù)據(jù)變換方法,其特征在于,對于AVS標準的頻時變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣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任一項所述的數(shù)據(jù)變換方法,其特征在于,所述頻時變換進一步地包括如下步驟
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任一項所述的數(shù)據(jù)變換方法,其特征在于所述數(shù)據(jù)變換為時頻變換;
其中,所述邏輯電路的多個邏輯運算單元的構成如下式所示
其中,X是輸入信號;Y為經(jīng)所述時頻變換后的輸出信號;Mi,Mj,N,R0,R1和S0為與所述輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣;運算符號
表示其兩邊的矩陣的相關系數(shù)一一相乘;運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作。
12.如權利要求11所述的數(shù)據(jù)變換方法,其特征在于,對于基于MPEG-2/MPEG-4/H.263/JPEG標準的時頻變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣Mi,Mj,R0,R1,S0,N分別為R0=R1=S0=0,N=1。
13.如權利要求11所述的數(shù)據(jù)變換方法,其特征在于,對于基于VC-1標準的時頻變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣Mi,Mj,R0,R1,S0,N分別為
對于處理的信號為8x8的數(shù)據(jù)塊時,R0=R1=S0=0,N=C8C8t,其中
對于處理的信號為4x8的數(shù)據(jù)塊時,R0=R1=S0=0,
N=C4C8t,其中,
對于處理的信號為8x4的數(shù)據(jù)塊時,
R0=R1=S0=0,
其中
對于處理的信號為4x4大小的塊時,R0=R1=S0=0,N44=C4C4i,其中
14.如權利要求11所述的數(shù)據(jù)變換方法,其特征在于,對于基于H.264標準的時頻變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣Mi,Mj,R0,R1,S0,N分別為R0=R1=S0=0,N=1。
15.如權利要求11所述的數(shù)據(jù)變換方法,其特征在于,對于基于AVS標準的時頻變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣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任一項所述的數(shù)據(jù)變換方法,其特征在于,所述的時頻變換進一步地包括如下步驟
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.一種基于多種編解碼標準的數(shù)據(jù)變換裝置,其特征在于,其包括
邏輯電路,所述的邏輯電路包括多個邏輯運算單元,可提供多個邏輯運算單元構成邏輯運算組合,并根據(jù)輸入信號所屬的編解碼標準利用所述的邏輯運算組合完成相應的數(shù)據(jù)變換。
18.如權利要求17所述的數(shù)據(jù)變換裝置,其特征在于,其還包括
檢測裝置,用于對輸入信號進行檢測,以確定所述輸入信號所屬的編解碼標準,
其中,所述邏輯單元用于根據(jù)所檢測的輸入信號所屬的編解碼標準,控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入數(shù)據(jù)進行數(shù)據(jù)變換,
所述輸入信號經(jīng)過所述檢測裝置,所述檢測裝置輸出檢測信號;所述檢測信號經(jīng)過邏輯電路,所述邏輯電路輸出輸出信號。
19.如權利要求17或18所述的數(shù)據(jù)變換裝置,其特征在于所述邏輯電路提供的邏輯運算組合的邏輯運算單元個數(shù),小于分別完成基于多種編解碼標準的數(shù)據(jù)變換所需的邏輯運算單元個數(shù)的總和。
20.如權利要求17至19任一項所述的數(shù)據(jù)變換裝置,其特征在于所述編解碼標準為多種編解碼標準,包括以下各項中的任多項
MPEG-2、MPEG-4、H.263、JPEG、VC-1、H.264、AVS。
21.如權利要求17至20任一項所述的數(shù)據(jù)變換裝置,其特征在于,所述數(shù)據(jù)變換為頻時變換,
其中,所述邏輯電路的多個邏輯運算單元的構成如下式所示
Y=((((XM0+R0)>>S0)TM1+R1)>>S1)T,
其中,X為輸入信號;Y為經(jīng)所述頻時變換后的輸出信號;M0,M1,R0,S0,R1,S1為與所述輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣;運算符號T表示矩陣的轉置操作;運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作。
22.如權利要求21所述的數(shù)據(jù)變換裝置,其特征在于,對于基于MPEG-2/MPEG-4/H.263/JPEG標準的頻時變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣R0、R1、S0和S1矩陣值皆為0,
23.如權利要求21所述的數(shù)據(jù)變換裝置,其特征在于,對于VC-1標準的頻時變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣M0,M1,R0,S0,R1,S1分別為
對于處理的信號為8×8的數(shù)據(jù)塊時,
S0=3,S1=7;
對于處理的信號為4×8的數(shù)據(jù)塊時,
S0=3,S1=7;
對于處理的信號為8×4的數(shù)據(jù)塊時,
S0=3,S1=7;
對于處理的信號為4×4的數(shù)據(jù)塊時,
S0=3,S1=7。
24.如權利要求21所述的數(shù)據(jù)變換裝置,其特征在于,對于H.264標準的頻時變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣R0,R1,S0和S1皆為0,
25.如權利要求21所述的數(shù)據(jù)變換裝置,其特征在于,對于AVS標準的頻時變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣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任一項所述的數(shù)據(jù)變換裝置,其特征在于,其還包括
轉置存儲裝置,用于對一維頻時變換的結果進行轉置運算,并將所述結果傳輸給邏輯電路,
其中,所述邏輯電路用于對輸入信號進行一維頻時變換,所述一維頻時變換按照如下算法公式進行
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任一項所述的數(shù)據(jù)變換裝置,其特征在于所述數(shù)據(jù)變換為時頻變換;
其中,所述邏輯電路的多個邏輯運算單元的構成如下式所示
其中,X是輸入信號;Y為經(jīng)所述時頻變換后的輸出信號;Mi,Mj,N,R0,R1和S0為與所述輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣;運算符號
表示其兩邊的矩陣的相關系數(shù)一一相乘;運算符號>>表示對矩陣中各個數(shù)據(jù)的移位操作。
28.如權利要求27所述的數(shù)據(jù)變換裝置,其特征在于,對于基于MPEG-2/MPEG-4/H.263/JPEG標準的時頻變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣Mi,Mj,R0,R1,S0,N分別為R0=R1=S0=0,N=1。
29.如權利要求27所述的數(shù)據(jù)變換裝置,其特征在于,對于基于VC-1標準的時頻變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣Mi,Mj,R0,R1,S0,N分別為
對于處理的信號為8x8的數(shù)據(jù)塊時,
R0=R1=S0=0,
N=C8C8t,其中
對于處理的信號為4x8的數(shù)據(jù)塊時,
R0=R1=S0=0,
N=C4C8t,其中,
對于處理的信號為8x4的數(shù)據(jù)塊時,
R0=R1=S0=0,
N=C8C4t,其中
對于處理的信號為4x4大小的塊時,R0=R1=S0=0,N44=C4C4t,其中
30.如權利要求27所述的數(shù)據(jù)變換裝置,其特征在于,對于基于H.264標準的時頻變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣Mi,Mj,R0,R1,S0,N分別為R0=R1=S0=0,N=1。
31.如權利要求27所述的數(shù)據(jù)變換裝置,其特征在于,對于基于AVS標準的時頻變換,所述與輸入編碼信號所屬的編解碼標準相對應的常數(shù)矩陣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任一項所述的數(shù)據(jù)變換裝置,其特征在于,其還包括
轉置存儲裝置,用于存儲一維時頻變換的結果,并將所述結果傳輸給邏輯電路,
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.將所述一維時頻變換的結果進行轉置運算,以得到二維時頻變換的結果。
全文摘要
本發(fā)明提供了一種基于多種編解碼標準的數(shù)據(jù)變換方法及裝置,涉及數(shù)據(jù)變換領域。本發(fā)明的數(shù)據(jù)變換方法包括如下步驟a,檢測輸入信號所屬的編解碼標準;b,根據(jù)所檢測的輸入信號所屬的編解碼標準,控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入數(shù)據(jù)進行數(shù)據(jù)變換。本發(fā)明的數(shù)據(jù)變換裝置包括檢測裝置,檢測輸入信號所屬的編解碼標準;邏輯單元用于控制包含多個邏輯運算單元的邏輯電路來構成一個相應的邏輯運算組合,其用于對所述輸入數(shù)據(jù)進行數(shù)據(jù)變換。本發(fā)明能夠用統(tǒng)一的算法和架構實現(xiàn)多種視頻編解碼標準的數(shù)據(jù)變換,設計面積小,功耗小。
文檔編號H04N7/26GK101478674SQ20081003230
公開日2009年7月8日 申請日期2008年1月4日 優(yōu)先權日2008年1月4日
發(fā)明者羅忠祥 申請人:智多微電子(上海)有限公司