欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

離散余弦變換處理方法及其裝置的制作方法

文檔序號:6557854閱讀:183來源:國知局
專利名稱:離散余弦變換處理方法及其裝置的制作方法
技術領域
本發(fā)明涉及通信領域中的離散余弦變換(DCT,Discrete Cosine Transform)技術和離散余弦逆變換(IDCT,Inverse Discrete Cosine Transform)技術,尤其是涉及一種離散余弦變換處理方法及其裝置。
背景技術
自從Ahmed和Rao于1974年提出了離散余弦變換(DCT,Discrete CosineTransform)定義以來,離散余弦變換和離散余弦逆變換(IDCT,Inverse DiscreteCosine Transform)就成為廣泛應用于通信領域中的信號處理、圖像處理、特別是用于語音壓縮和圖像壓縮編解碼處理的重要技術,因此DCT技術和IDCT技術一直以來都是國際學術界和高科技產(chǎn)業(yè)界的研究熱點。
由于實時性通信特性的需求,在用于靜止圖像壓縮編解碼處理的靜止圖像專家小組(JPEG,Joint Picture Expert Group)標準中,及在用于動態(tài)圖像壓縮編解碼處理的動態(tài)圖像專家小組(MPEG,Motion Pictures Expert Group)標準中均采用了DCT處理和IDCT處理,由此使得對DCT快速算法和IDCT快速算法的研究愈發(fā)顯得意義重大。
由于常規(guī)的DCT算法和IDCT算法都用到了較多的乘法運算和加法運算,而眾所周知乘法運算在運算過程中是非常消耗系統(tǒng)資源的,如對計算機軟硬件資源的消耗等,同時乘法運算也比較耗時,因此就使得常規(guī)的DCT運算過程和IDCT運算過程稍顯緩慢。由于上述原因后續(xù)提出的DCT快速算法和IDCT快速算法都是以減少運算過程中的乘法運算次數(shù)和加法運算次數(shù)作為主要目的,尤其是指減少乘法的運算次數(shù)。近年來,各種各樣的DCT快速算法和IDCT快速算法都層出不窮,但大都是基于碟形計算方法的,以充分利用三角函數(shù)的周期性來減少計算過程中的冗余度,從而達到快速計算的目的。
目前,B.G.Lee針對DCT-III型已經(jīng)提出了一種快速算法,即當N=2t(t>0)時,設X′(n)為實序列,其中B.G.Lee給出的DCT-III型快速算法具體如下x(k)=2NΣn=0N-2anX′(n)cosn(2k+1)π2N,(k=0,1,...N-1)]]>為方便計算,這里假設上式中X(n)=2NanX′(n),(n=0,1,...N-1)---(1.2.1)]]>于是有x(k)=Σn=0N-1X(n)cosn(2k+1)π2N,(k=0,1,...N-1)---(1.2.2)]]>由于N=2t,則有x(k)=Σn=0N/2-1X(2n)cosn(2k+1)πN+Σn=0N/2-1X(2n+1)cos(2k+1)(2n+1)π2N]]> 這里區(qū)分前一半輸出及后一半輸出,則分別有x(k)=g′(k)+h′(k),(k=0,1,…N/2-1)x(N-k-1)=g′(N-k-1)+h′(N-k-1)]]>=Σn=0N/2-1X(2n)cosn(2k+1)πN-Σn=0N/2-1X(2n+1)cos(2k+1)(2n+1)π2N]]>=g′(k)-h′(k),(k=0,1,···N/2-1)]]>由上可以得到如下推導結果x(k)=g′(k)+h′(k),(k=0,1,…N/2-1) (k=0,1,…N/2-1)(1.2.3a)x(N-k-1)=g′(k)-h′(k),(k=0,1,…N/2-1) (k=0,1,…N/2-1)(1.2.3b)由此可以容易看出,g′(k)是一個N/2點的DCT-III結果值(只差一個常數(shù)因子),而
2cos(2k+1)π2Nh′(k)]]>=Σn=0N/2-1X(2n+1)2cos(2k+1)π2Ncos(2k+1)(2n+1)π2N]]>=Σn=0N/2-1X(2n+1)[cos(2k+1)nπN+cos(2k+1)(n+1)πN]]>=Σn=0N/2-1X(2n+1)cos(2k+1)nπN+Σn=1N/2-1X(2n-1)cos(2k+1)nπN]]>=Σn=0N/2-1[X(2n+1)+X(2n-1)]cos(2k+1)nπN(k=0,1,···N/2-1)]]>該式中設X(-1)=0。
根據(jù)以上分析,就可以得到DCT-III快速變換的如下遞推算法step1.記G(n)=X(2n),(1.2.4a)H(n)=X(2n+1)+X(2n-1),(n=0,1,…N/2-1)(1.2.4b)其中X(-1)=0;Step2.則對N點的DCT-III的快速計算過程就可以分解為兩個N/2點的DCT-III計算過程,每部分N/2點的DCT-III快速計算過程分別如下g(k)=Σn=0N/2-1G(n)cos(2k+1)nπN,---(1.2.5a)]]>h(k)=Σn=0N/2-1H(n)cos(2k+1)nπN,(n=0,1,···N/2-1)---(1.2.5b)]]>Step3.兩個N/2點的DCT-III快速計算過程可以分別按照下式計算x(k)=g(k)+h(k)/2cos(2k+1)π2N,---(1.2.6.a)]]>x(N-k-1)=g(k)-h(k)/2cos(2k+1)π2N,---(1.2.6.b)]]>(k=0,1,···,N-1)]]>如上過程,這樣就把一個N點的DCT-III快速計算過程分解成為兩個N/2點的DCT-III快速計算子過程,于是有M(N)=2M(N2)+N2,]]>A(N)=2A(N2)+3N2-1,]]>
其中M(N)表示N點DCT-III快速計算中乘法運算次數(shù),A(N)表示N點DCT-III快速計算中加法運算次數(shù);由于N=2t,可以反復利用上述這個遞推減半處理過程,直至計算到二點(即N=2)變換為止,其中M(2)=1,A(2)=2,這樣就得到M(N)=2[2M(N4)+N4]+N2]]>=4M(N4)+2*N4=······]]>=2t-1M(2)+(t-1)N2]]>=12Nt]]>A(N)=2[2A(N4)+3N4-1]+3N2-1]]>=4A(N4)+2*3N2-(1+2)=······]]>=2t-1A(2)+(t-1)3N2-(1+2+······+2t-2)]]>=32Nt-N+1]]>因此,N=2t點的DCT-III快速變換過程中需要進行的乘法實運算次數(shù)和加法實運算次數(shù)分別為M(N)=12Nlog2N,---(1.2.7a)]]>A(N)=32Nlog2N-N+1.---(1.2.7b)]]>由于目前在國際上通常是對8×8的二維數(shù)字圖像進行DCT變換和IDCT變換編解碼處理,這樣二維數(shù)字圖像的編解碼處理往往就可以化解成為若干個行和列一維的數(shù)字圖像來處理。
下面將結合上述給出的DCT-III快速計算的推導結果,列舉N=8點的DCT-III快速計算過程設X(n)=12anX′(n),(n=0,1···7)]]>
有x(k)=Σn=07X(n)cosn(2k+1)π16(n=0,1,...7)]]>根據(jù)上述算法,有step1.計算G(n)=X(2n),H(n)=X(2n+1)+X(2n-1),(n=0,1,2,3;x(-1)=0)Step2.分別進行四點DCT-III快速計算g(k)=Σn=03G(n)cos(2k+1)nπ8,]]>h(k)=Σn=03H(n)cos(2k+1)nπ8,(n=0,1,2,3)]]>Step3.進而計算x(k)=g(k)+h(k)/2cos(2k+1)nπ16,]]>x(7-k)=g(k)-h(k)/2cos(2k+1)nπ16,(k=0,1,2,3)]]>如圖1所示,為應用現(xiàn)有DCT-III快速變換技術對一維8點進行快速變換處理的FCT-III處理流程圖,其中圖1中的Cmn表示 由此可見,基于目前的DCT-III快速計算原理對一維8點進行快速變換處理的過程需要完成12次乘法運算和29次加法運算,這樣對于一個二維8×8點的圖像信號進行DCT變換編解碼處理時就需要完成192次余弦函數(shù)值浮點乘法,由于乘法運算過程是非常消耗系統(tǒng)處理資源的,其中消耗的資源包括對運算時間的消耗和對系統(tǒng)軟硬件資源的消耗等,因此就需要對DCT-III快速變換過程進行更進一步的優(yōu)化處理,以更好的滿足現(xiàn)代通信業(yè)務的需求。
同時,由蔣增榮、曾泳泓和余品能等人編寫的《快速算法》一書中還提出了一種DCT-II快速變換算法(具體內容詳見此書P420-424),在該書中記載的DCT-II快速算法的簡要推導原理和推導結果如下設x(n)是實序列,N=2t(t>0),則DCT-II的快速計算過程如下
記X(k)=Σn=0N-1x(n)cosk(2n+1)π2N,---(2.2.1)]]>則有CΠ(k)=ak2NX(k).(k=0,1,···,N-1)]]>首先考慮X(k)的偶數(shù)項X(2k)=Σn=0N-1x(n)cosk(2n+1)πN]]>=Σn=0N/2-1x(n)cosk(2n+1)πN+Σn=N/2N-1x(n)cosk(2n+1)πN]]>=Σn=0N/2-1[x(n)+x(N-n-1)]cosk(2n+1)πN,(k=0,1,···,N/2-1)---(2.2.2)]]>再次考慮X(k)的奇數(shù)項X(2k+1)=Σn=0N-1x(n)cos(2k+1)(2n+1)π2N,(k=0,1,···,N/2-1)]]>于是X(2k+1)+X(2k-1)=Σn=0N-1x(n)[cos(2k+1)(2n+1)π2N+cos(2k-1)(2n+1)π2N]]]>=Σn=0N-12x(n)cos(2n+1)π2Ncosk(2n+1)πN]]>=Σn=0N/2-12[x(n)-x(N-n-1)]cos(2n+1)π2Ncosk(2n+1)πN,]]>(k=1,2,···,N/2-1)---(2.2.3a)]]>其中X(1)=Σn=0N-1x(n)cos(2n+1)π2N]]>=Σn=0N/2-1[x(n)-x(N-n-1)]cos(2n+1)π2N---(2.2.3b)]]>這樣,由上式(2.2.2)、(2.2.3a)和(2.2.3b)就可以得到如下遞推算法Step1.記g(n)=x(n)+x(N-n-1),h(n)=2cos(2n+1)π2N[x(n)-x(N-n-1)],]]>(n=0,1,···,N/2-1)---(2.2.4)]]>
Step2.則對N點的DCT-II的快速計算過程就可以分解為對0~N-1中偶數(shù)項和奇數(shù)項分別計算的兩部分,每部分為N/2點的DCT-II快速計算過程G(k)=Σn=0N/2-1g(n)cosk(2n+1)πN]]>偶數(shù)項H(k)=Σn=0N/2-1h(n)cosk(2n+1)πN.]]>奇數(shù)項(k=0,1,···,N/2-1)---(2.2.5)]]>Step3.則對0~N-1中偶數(shù)項和奇數(shù)項的DCT-II快速計算過程可以記為如下表示X(2k)=G(k),(k=0,1,…,N/2-1),X(2k+1)=H(k)-X(2k-1), (k=1,2,…,N/2-1)X(1)=12H(0)---(2.2.6)]]>如上過程,這樣就把一個N點的DCT-II快速計算過程分解成為兩個N/2點的DCT-II快速計算子過程,于是有M(N)=2M(M2)+N2,]]>N點DCT-II快速計算中乘法運算次數(shù)準則;A(N)=2A(N2)+32N-1.]]>N點DCT-II快速計算中加法運算次數(shù)準則;反復利用上述計算過程,直至計算至二點(即N=2)變換為止,其中M(2)=1,A(2)=2,這樣就得到M(N)=12Nlog2N,]]>N點DCT-II快速計算中乘法運算次數(shù)計算公式;A(N)=32Nlog2N-N+1.]]>N點DCT-II快速計算中加法運算次數(shù)計算公式;(2.2.7)由于目前在國際上通常是對8×8的二維數(shù)字圖像信號進行DCT變換和IDCT變換編解碼處理,這樣二維數(shù)字圖像的編解碼處理往往就可以化解成為若干個行和列一維的數(shù)字圖像來處理。
下面將結合上述給出的DCT-II快速計算的推導結果,列舉N=8點的DCT-II快速計算過程CΠ(k)=12akX(k),(k=0,1,···,7)]]>X(k)=Σx=07x(n)cosk(2n+1)π16,(k=0,1,···,7)]]>于是有Step1.計算g(n)=x(n)+x(7-n),h(n)=2cos(2n+1)π16[x(n)-x(7-n)],(n=0,1,2,3);]]>Step2.分別進行四點DCT-II快速計算G(k)=Σn=03g(n)cosk(2n+1)π8,]]>H(k)=Σn=03h(n)cosk(2n+1)π8,(k=0,1,2,3)]]>Step3.進而計算X(2k)=G(k), (k=0,1,2,3),X(1)=12H(0),]]>X(2k+1)=H(k)-X(2k-1),(k=1,2,3).
如圖2所示,為應用現(xiàn)有DCT-II快速變換技術對一維8點進行快速變換處理的FCT-II處理流程圖,其中左側數(shù)值為輸入值,對于每一列斜線和直線的最右側交點為輸出值,則根據(jù)上述計算過程,第一列交點的輸出結果即為x(0)+x(7),x(1)+x(6),x(3)+x(4),x(2)+x(5),2C161[x(0)-x(7)],2C163[x(1)-x(6)],2C167[x(3)-x(4)],2C165[x(2)-x(5)];第二列交點的輸出結果、第三列交點的輸出結果、第四列交點的輸出結果和第五列交點的輸出結果依次類推,前一列交點的輸出結果進而作為求取下一列交點的輸出結果的輸入值。
其中圖2中的Cmn表示 由此可見,基于目前的DCT-II快速計算原理對一維8點進行變換計算的過程也需要完成12次乘法運算和29次加法運算。這樣對于一個二維8×8點的圖像信號進行DCT變換編解碼處理時就需要完成192次余弦函數(shù)值浮點乘法,由于乘法運算過程是非常消耗系統(tǒng)處理資源的,其中消耗的資源包括對運算時間的消耗和對系統(tǒng)軟硬件資源的消耗等,因此相應也就需要對現(xiàn)有的DCT-II快速變換過程進行更進一步的優(yōu)化處理,以更好的滿足現(xiàn)代通信業(yè)務的需求。
其中在通信領域的具體應用過程中,DCT-II快速變換和DCT-III快速變換是互為逆向處理的過程。

發(fā)明內容
本發(fā)明的目的在于提出一種離散余弦變換處理方法及其裝置,以進一步加快DCT變換的處理速度,從而更好的滿足現(xiàn)代通信業(yè)務的需求。
為達到上述目的,本發(fā)明提出的技術方案如下一種離散余弦變換處理方法,對離散余弦變換處理過程中基于不同輸入值a、b利用aw1+bw2運算求取輸出值的變換子過程執(zhí)行下述步驟,其中w1和w2為不同常數(shù)值分別通過將常數(shù)值w1和w2,化解為二進制形式,將aw1+bw2運算處理轉換為Σi=0t(ami+bni)2-i]]>運算處理,其中mi、ni分別取值為0或1;基于移位累加處理計算Σi=0t(ami+bni)2-i]]>的結果值,并將計算結果值作為所述變換子過程的輸出值。
較佳地,在計算Σi=0t(ami+bni)2-i]]>的結果值之前還包括預先計算不同輸入值a、b之和a+b的步驟。
較佳地,所述離散余弦變換處理為對數(shù)字信號或圖像信號進行離散余弦變換處理的離散余弦變換二型。
較佳地,所述輸入值a、b分別為對數(shù)字信號進行離散余弦變換處理時的數(shù)字信號輸入值;或為離散余弦變換處理過程中的中間值。
較佳地,所述輸入值a、b分別為在壓縮圖像編碼過程中進行離散余弦變換處理時的輸入圖像信號值;或為離散余弦變換處理時的輸入圖像信號殘差值;或為離散余弦變換處理過程中的中間值。
較佳地,所述離散余弦變換處理為對數(shù)字信號或圖像信號進行離散余弦逆變換處理的離散余弦變換三型。
較佳地,所述輸入值a、b分別為對數(shù)字信號進行離散余弦逆變換處理時的數(shù)字信號變換值;或為離散余弦逆變換處理過程中的中間值。
較佳地,所述輸入值a、b分別為在壓縮圖像解碼過程中進行離散余弦逆變換處理時的圖像系數(shù)塊元素值;或為離散余弦逆變換處理過程中的中間值。
一種離散余弦變換處理裝置,用于對離散余弦變換處理過程中基于不同輸入值a、b利用aw1+bw2運算求取輸出值的變換子過程計算輸出值,其中w1和w2為不同常數(shù)值,包括轉換處理單元,用于通過將aw1+bw2運算過程中的常數(shù)值w1和w2分別化解為二進制形式,來將aw1+bw2運算處理轉換為Σi=0t(ami+bni)2-i]]>運算處理,其中mi、ni分別取值為0或1;移位累加處理單元,用于基于移位累加處理來計算所述轉換處理單元轉換出的Σi=0t(ami+bni)2-i]]>的結果值,并將計算結果值作為所述變換子過程的輸出值。
較佳地,所述裝置還包括輸入值加法單元,用于在所述移位累加處理單元計算Σi=0t(ami+bni)2-i]]>的結果值之前,計算所述Σi=0t(ami+bni)2-i]]>中的不同輸入值a、b之和a+b。
較佳地,所述裝置還包括輸出結果單元,用于將所述移位累加處理單元計算出的輸出值進行輸出。
較佳地,所述離散余弦變換處理為對數(shù)字信號或圖像信號進行離散余弦變換處理的離散余弦變換二型。
較佳地,所述輸入值a、b分別為對數(shù)字信號進行離散余弦變換處理時的數(shù)字信號輸入值;或為離散余弦變換處理過程中的中間值。
較佳地,所述輸入值a、b分別為在壓縮圖像編碼過程中進行離散余弦變換處理時的輸入圖像信號值;或為離散余弦變換處理時的輸入圖像信號殘差值;或為離散余弦變換處理過程中的中間值。
較佳地,所述離散余弦變換處理為對數(shù)字信號或圖像信號進行離散余弦逆變換處理的離散余弦變換三型。
較佳地,所述輸入值a、b分別為對數(shù)字信號進行離散余弦逆變換處理時的數(shù)字信號變換值;或為離散余弦逆變換處理過程中的中間值。
較佳地,所述輸入值a、b分別為在壓縮圖像解碼過程中進行離散余弦逆變換處理時的圖像系數(shù)塊元素值;或為離散余弦逆變換處理過程中的中間值。
本發(fā)明能夠達到的有益效果如下本發(fā)明技術方案主要通過將現(xiàn)有DCT-II和DCT-III快速變換處理過程中的乘法運算使用移位累加處理方式來替代,從而使得在現(xiàn)有DCT-II和DCT-III快速變換處理過程中完全避免了乘法運算,進而實現(xiàn)了在保證DCT變換結果精度的前提下,大大加快了DCT的變換處理速度,并減少了對系統(tǒng)軟硬件資源的過多消耗,以此更好的滿足了現(xiàn)代通信業(yè)務的需求。


圖1為應用現(xiàn)有DCT-III快速變換技術對一維8點進行快速變換處理的FCT-III處理流程圖;圖2為應用現(xiàn)有DCT-II快速變換技術對一維8點進行快速變換處理的FCT-II處理流程圖;
圖3為本發(fā)明離散余弦變換處理方法的主要實現(xiàn)原理流程圖;圖4為應用本發(fā)明方法原理后,將上述現(xiàn)有技術圖1中DCT-III處理流程圖中做乘法的部分使用移位和累加處理從而避免乘法運算的DCT-III處理流程圖;圖5為應用本發(fā)明方法原理后,將上述現(xiàn)有技術圖2中DCT-II處理流程圖中做乘法的部分使用移位和累加處理從而避免乘法運算的DCT-II處理流程圖;圖6為本發(fā)明離散余弦變換處理裝置的主要組成結構框圖;圖7為本發(fā)明裝置中為進一步加快DCT變換處理速度的實施例組成結構框圖。
具體實施例方式
本發(fā)明技術方案通過對現(xiàn)有技術中的DCT-II快速算法和DCT-III快速算法的計算原理進行分析,提出在DCT-II快速變換過程中和DCT-III快速變換過程中需要做乘法運算的部分使用定點移位和定位累加的方式來替換處理,以使整個DCT-II快速變換過程和DCT-III快速變換過程避免了乘法運算,從而實現(xiàn)了在保證DCT變換結果精度的前提下,大大加快了DCT的變換速度,并減少了對系統(tǒng)軟硬件資源的過多消耗,以此更好的滿足了現(xiàn)代通信業(yè)務的需求。
其中在通信領域的具體應用過程中,DCT-II快速變換和DCT-III快速變換常常是互為逆向處理的過程,在通信領域中,DCT-II快速變換通常被用作對數(shù)字信號或圖像信號進行DCT變換處理,而DCT-III快速變換通常被用作對數(shù)字信號或圖像信號進行IDCT變換處理。
下面將結合各個附圖對本發(fā)明技術方案的主要實現(xiàn)原理具體實施方式
及其對應能夠達到的有益效果進行詳細的闡述。
請參照圖3,該圖是本發(fā)明離散余弦變換處理方法的主要實現(xiàn)原理流程圖,在DCT變換處理過程中,對不同輸入值a、b基于aw1+bw2運算(w1和w2為不同的基于余弦運算的常數(shù)值)求取輸出值的變換子過程執(zhí)行下述處理步驟S10,分別通過將常數(shù)值w1和w2化解為二進制的形式,以將aw1+bw2運算處理過程轉換為Σi=0t(ami+bni)2-i]]>運算處理過程,其中mi、ni分別取值為0或1;步驟S20、對于上述變換出的Σi=0t(ami+bni)2-i]]>運算處理過程,基于移位和累加處理來計算Σi=0t(ami+bni)2-i]]>運算處理過程的結果值,并將所計算得到的結果值作為該對應變換子過程的輸出值;較優(yōu)地,在計算Σi=0t(ami+bni)2-i]]>運算處理過程的結果值之前,可以預先計算出不同輸入值a、b之和a+b,再根據(jù)計算出的不同輸入值a、b之和a+b來使用移位和累加處理計算Σi=0t(ami+bni)2-i]]>運算處理過程的結果值,以更進一步加快運算速度。
從而通過分別對DCT變換處理過程中的每個基于aw1+bw2運算求取輸出值的變換子過程都執(zhí)行上述的運算變換、移位累加處理來計算對應的變換子過程輸出值,就可以將DCT變換處理過程中的乘法避免掉,從而加快了DCT變換處理的速度,并減少了對系統(tǒng)資源的過多消耗。
其中本發(fā)明提出的DCT變換處理方法可以應用于對數(shù)字信號或圖像信號進行DCT變換處理的離散余弦變換二型(DCT-II),這時上述處理過程中的輸入值a、b可以但不限于分別為對數(shù)字信號進行DCT變換處理時的數(shù)字信號輸入值,或為DCT變換處理過程中的數(shù)字信號處理中間值;還可以分別為在壓縮圖像編碼過程中進行DCT變換處理時的輸入圖像信號值,或分別為DCT變換處理時的輸入圖像信號殘差值,或分別為DCT變換處理過程中的中間值。
其中本發(fā)明提出的DCT變換處理方法還可以應用于對數(shù)字信號或圖像信號進行IDCT變換處理的離散余弦變換二型(DCT-III),這時上述處理過程中的輸入值a、b可以但不限于分別為對數(shù)字信號進行IDCT變換處理時的數(shù)字信號變換值,或為IDCT變換處理過程中的中間值;還可以分別為在壓縮圖像解碼過程中進行IDCT變換處理時的圖像系數(shù)塊元素值,或分別為IDCT變換處理過程中的中間值。
由上述本發(fā)明方法原理可以看出,由于本發(fā)明技術方案在分析了現(xiàn)有技術DCT-II快速變換和DCT-III快速變換技術的基礎上,提出了對DCT變換過程中的乘法運算使用一種優(yōu)化的移位和累加方式來替代,從而使整個DCT變換處理過程中沒有了乘法運算,最終得到了一種新的無乘法運算的DCT快速變換方案,因此在保證了DCT變換計算精度的前提下大大提高了運算速度,并盡可能的減少了對系統(tǒng)軟硬件資源的消耗。
本發(fā)明上述提出的DCT變換處理方法可以應用于目前常用的DCT-II(離散余弦二型變換處理)快速變換處理和DCT-III(離散余弦三型變換處理)快速變換處理。
由于目前DCT變換技術和IDCT變換技術被廣泛地應用于數(shù)字信號處理技術領域,特別是應用于數(shù)字壓縮技術領域,由于一個2D-DCT變換可以分別通過行和列的一維DCT(1D-DCT)變換處理來實現(xiàn),所以這里基于本發(fā)明方法原理下述在實施方式中重點討論1D-DCT變換的快速計算過程。
由于目前對圖像信號進行DCT變換處理時,是將整幅圖像劃分成為多個8×8子圖像來做變換的,所以本發(fā)明這里實施方式部分將首先討論對一維8點圖像信號進行DCT變換的快速變換技術,然后可以進而將本發(fā)明方案實施在一維8點圖像的DCT快速變換技術理論推廣到二維8×8子圖像的情形。
請參照圖4,該圖是應用本發(fā)明方法原理后,將上述現(xiàn)有技術圖1中DCT-III處理流程圖中做乘法的部分使用移位和累加處理從而避免乘法運算的DCT-III處理流程圖,其中對于現(xiàn)有的DCT-III處理流程圖,應用本發(fā)明方法原理后,在T1~T6六個運算過程中會使用移位和累加處理來替代乘法運算,下面將以T1運算過程為例對基于本發(fā)明方法原理的DCT-III處理流程圖進行詳細的說明
在圖4中最左端表示輸入的8個圖像系數(shù)塊元素值,最右端是輸出的完成IDCT變換的8個圖像信號輸出值,其中T1運算過程按照如下計算公式計算輸出值T1=a×cos(π/8)-b×cos(3π/8)從而根據(jù)上式可以得到下述一般表達式T1=aw1+bw2式中a,b是輸入圖像信號值、或圖像信號殘差值,或中間值,w1,w2是基于余弦運算的常數(shù)值。
下面將具體說明怎樣基于移位和累加處理方法來計算上述一般表達式T1=aw1+bw2的結果值這里不失一般性,分別將兩個常數(shù)值w1,w2分解為二進制表達形式w1=m0+m12-1+…+mt-12-t+1+mt2-t(mi=0或1,i=0,1,…t)w2=n0+n12-1+…+nt-12-t+1+nt2-t(ni=0或1,i=0,1,…t)這樣基于上述分別將常數(shù)值w1,w2分解為二進制表達形式的基礎,則T1=aw1+bw2表達式就可以基于下述表達式進行表示T=aw1+bw2=(am0+bn0)+(am1+bn1)2-1+...+(amt+bnt)2-t=Σi=0t(ami+bni)2-i]]>分別將上式中的每一項ami+bni,i=0,1,…,t計算出,就可以分別通過對各項計算結果向右移位累加來計算T值了,由于mi,ni分別取值為0或1,所以每一項ami+bni共有4種可能的取值分別為0,a,b,a+b,為了進一步加快處理速度可以在基于移位累加處理計算T=Σi=0t(ami+bni)2-i]]>的結果值之前,預先計算出a+b的值,從而在計算每一項ami+bni時就可以根據(jù)mi、ni的取值情況來有效的避免乘法了。
根據(jù)上述對T1運算過程的計算原理,下表給出了基于本發(fā)明方法原理的DCT-III處理流程圖中T1~T6相應乘法運算處使用移位累加處理后,相應需要的移位次數(shù)和累加次數(shù),其中該表中的B1和B2分別代表w1,w2的二進制小數(shù)







其中上述表中每出現(xiàn)一次“>>”代表需要進行一次移位處理,每出現(xiàn)一次“+”或“-”代表需要進行一次累加處理,則從上述表可以看出,基于本發(fā)明方法原理的DCT-III處理流程圖,對一維8點圖像信號進行IDCT變換處理時,需要總共進行的累加(Adds)次數(shù)和移位(Shifts)次數(shù)如下表所示


從上述計算分析過程可以看出,基于本發(fā)明方法來完成一維8點圖像信號的IDCT變換處理最多需要81次加法運算和62次移位運算,并完全避免了乘法運算處理;這樣擴展到二維情形,完成二維8×8點圖像信號的IDCT變換處理最多需要1281次加法運算和992次移位運算,并完全避免了乘法運算。由此可見本發(fā)明方法可以使得整個DCT(IDCT)變換處理過程沒有了乘法運算,從而得到了一種全新的無乘法運算過程的DCT快速變換方案,該DCT快速變換方案可以在保證DCT變換運算精度的前提下,大大提高了DCT變換的運算速度,并減少了對系統(tǒng)軟硬件資源的過多消耗,因此較好的滿足了現(xiàn)代通信業(yè)務的需求。
請參照圖5,該圖是應用本發(fā)明方法原理后,將上述現(xiàn)有技術圖2中DCT-II處理流程圖中做乘法的部分使用移位和累加處理從而避免乘法運算的DCT-II處理流程圖,其中對于現(xiàn)有的DCT-II處理流程圖,應用本發(fā)明方法原理后,在T1~T6六個運算過程中會使用移位和累加處理來替代乘法運算,下面將以T1運算過程為例對基于本發(fā)明方法原理的DCT-III處理流程圖進行詳細的說明在圖5中最左端表示輸入的8個圖像信號值,最右端是輸出的完成DCT變換的8個圖像信號輸出值,其中T1運算過程按照如下計算公式計算輸出值T1=a×cos(π/8)-b×cos(3π/8)從而根據(jù)上式可以得到下述一般表達式T1=aw1+bw2式中a,b是輸入圖像信號值、或圖像信號殘差值,或中間值,w1,w2是基于余弦運算的常數(shù)值。
下面將具體說明怎樣基于移位和累加處理方法來計算上述一般表達式T1=aw1+bw2的結果值這里不失一般性,分別將兩個常數(shù)值w1,w2分解為二進制表達形式w1=m0+m12-1+…+mt-12-t+1+mt2-t(mi=0或1,i=0,1,…t)w2=n0+n12-1+…+nt-12-t+1+nt2-t(ni=0或1,i=0,1,…t)這樣基于上述分別將常數(shù)值w1,w2分解為二進制表達形式的基礎,則T1=aw1+bw2表達式就可以基于下述表達式進行表示T=aw1+bw2=(am0+bn0)+(am1+bn1)2-1+...+(amt+bnt)2-t=Σi=0t(ami+bni)2-i]]>分別將上式中的每一項ami+bni,i=0,1,…,t計算出,就可以分別通過對各項計算結果向右移位累加來計算T值了,由于mi,ni分別取值為0或1,所以每一項ami+bni共有4種可能的取值分別為0,a,b,a+b,為了進一步加快處理速度可以在基于移位累加處理計算T=Σi=0t(ami+bni)2-i]]>的結果值之前,預先計算出a+b的值,從而在計算每一項ami+bni時就可以根據(jù)mi、ni的取值情況來有效的避免乘法了。
根據(jù)上述對T1運算過程的計算原理,下表給出了基于本發(fā)明方法原理的DCT-II處理流程圖中T1~T6相應乘法運算處使用移位累加處理后,相應需要的移位次數(shù)和累加次數(shù),其中該表中的B1和B2分別代表w1,w2的二進制小數(shù)








則從上述表可以看出,基于本發(fā)明方法原理的DCT-II處理流程圖,對一維8點圖像信號進行DCT變換處理時,需要總共進行的累加(Adds)次數(shù)和移位(Shifts)次數(shù)如下表所示

從上述計算分析過程也可以看出,基于本發(fā)明方法來完成一維8點圖像信號的DCT變換處理最多需要82次加法運算和62次移位運算,并完全避免了乘法運算處理;這樣擴展到二維情形,完成二維8×8點圖像信號的IDCT變換處理最多需要1297次加法運算和992次移位運算,并完全避免了乘法運算。由此可見本發(fā)明方法可以使得整個DCT(IDCT)變換處理過程沒有了乘法運算,從而得到了一種全新的無乘法運算過程的DCT快速變換方案,該DCT快速變換方案可以在保證DCT變換運算精度的前提下,大大提高了DCT變換的運算速度,并減少了對系統(tǒng)軟硬件資源的過多消耗,因此較好的滿足了現(xiàn)代通信業(yè)務的需求。
相應于本發(fā)明上述提出的離散余弦變換處理方法,這里還進而提出了一種離散余弦變換處理裝置,用于在DCT變換處理過程中,對不同輸入值a、b基于aw1+bw2運算(w1和w2為不同的基于余弦運算的常數(shù)值)求取輸出值的變換子過程計算輸出值。請參照圖6,該圖是本發(fā)明離散余弦變換處理裝置的主要組成結構框圖,其主要包括轉換處理單元10和移位累加處理單元20,其中各個組成單元的具體作用如下轉換處理單元10,主要用于通過將aw1+bw2運算過程中的常數(shù)值w1和w2分別化解為二進制的形式,以將aw1+bw2運算處理過程轉換成為Σi=0t(ami+bni)2-i]]>運算處理過程,其中式中的mi、ni分別取值為0或1;移位累加處理單元20,主要用于基于移位和累加處理來計算上述轉換處理單元10轉換出的Σi=0t(ami+bni)2-i]]>運算處理過程的結果值,并將計算結果值作為對應變換子過程的輸出值。
從而DCT變換處理過程中的每個基于aw1+bw2運算求取輸出值的逆變換子過程,都利用轉換處理單元10執(zhí)行運算變換,及利用移位累加處理單元20執(zhí)行移位累加處理處理來計算對應的變換子過程輸出值,就可以將DCT變換處理過程中的乘法避免掉,從而加快了DCT變換處理的速度,并減少了對系統(tǒng)資源的過多消耗。
請參照圖7,該圖是本發(fā)明裝置中為進一步加快DCT變換處理速度的實施例組成結構框圖,其在上述圖6的主要組成結構基礎之上還進而包括輸入值加法單元30,用于在上述移位累加處理單元20計算Σi=0t(ami+bni)2-i]]>運算處理過程的結果值之前,計算Σi=0t(ami+bni)2-i]]>運算處理過程中的不同輸入值a、b之和a+b,以使移位累加處理單元20再根據(jù)輸入值加法單元30計算出的不同輸入值a、b之和a+b來使用移位和累加處理計算Σi=0t(ami+bni)2-i]]>運算處理過程的結果值,以更進一步加快IDCT的變換處理速度;此外本發(fā)明裝置中還包括輸出結果單元40,用于將上述移位累加處理單元20計算出的輸出值進行輸出。
其中本發(fā)明提出的DCT變換處理裝置可以應用于對數(shù)字信號或圖像信號進行DCT變換處理的離散余弦變換二型(DCT-II),這時上述處理過程中的輸入值a、b可以但不限于分別為對數(shù)字信號進行DCT變換處理時的數(shù)字信號輸入值,或為DCT變換處理過程中的數(shù)字信號處理中間值;還可以分別為在壓縮圖像編碼過程中進行DCT變換處理時的輸入圖像信號值,或分別為DCT變換處理時的輸入圖像信號殘差值,或分別為DCT變換處理過程中的中間值。
其中本發(fā)明提出的DCT變換處理裝置還可以應用于對數(shù)字信號或圖像信號進行IDCT變換處理的離散余弦變換二型(DCT-III),這時上述處理過程中的輸入值a、b可以但不限于分別為對數(shù)字信號進行IDCT變換處理時的數(shù)字信號變換值,或為IDCT變換處理過程中的中間值;還可以分別為在壓縮圖像解碼過程中進行IDCT變換處理時的圖像系數(shù)塊元素值,或分別為IDCT變換處理過程中的中間值。
本發(fā)明DCT處理裝置可以應用于通信領域對數(shù)字信號或圖像信號進行編碼處理的DCT-II和DCT-III快速變換,其中DCT-II快速變換和DCT-III快速變換常常是互為逆向處理的過程,在通信領域中,DCT-II快速變換通常被用作對數(shù)字信號或圖像信號進行DCT變換處理,而DCT-III快速變換通常被用作對數(shù)字信號或圖像信號進行IDCT變換處理。
對于本發(fā)明離散余弦變換處理裝置中的其他具體技術實現(xiàn)細節(jié)可以參照本發(fā)明上述離散余弦變換處理方法中的相關技術實現(xiàn)細節(jié)的描述,這里不再給以過多贅述。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。
權利要求
1.一種離散余弦變換處理方法,其特征在于,對離散余弦變換處理過程中基于不同輸入值a、b利用aw1+bw2運算求取輸出值的變換子過程執(zhí)行下述步驟,其中w1和w2為不同常數(shù)值分別通過將常數(shù)值w1和w2化解為二進制形式,將aw1+bw2運算處理轉換為Σi=0t(ami+bni)2-i]]>運算處理,其中mi、ni分別取值為0或1;基于移位累加處理計算Σi=0t(ami+bni)2-i]]>的結果值,并將計算結果值作為所述變換子過程的輸出值。
2.如權利要求1所述的方法,其特征在于,在計算Σi=0t(ami+bni)2-i]]>的結果值之前還包括預先計算不同輸入值a、b之和a+b的步驟。
3.如權利要求1或2所述的方法,其特征在于,所述離散余弦變換處理為對數(shù)字信號或圖像信號進行離散余弦變換處理的離散余弦變換二型。
4.如權利要求3所述的方法,其特征在于,所述輸入值a、b分別為對數(shù)字信號進行離散余弦變換處理時的數(shù)字信號輸入值;或為離散余弦變換處理過程中的中間值。
5.如權利要求3所述的方法,其特征在于,所述輸入值a、b分別為在壓縮圖像編碼過程中進行離散余弦變換處理時的輸入圖像信號值;或為離散余弦變換處理時的輸入圖像信號殘差值;或為離散余弦變換處理過程中的中間值。
6.如權利要求1或2所述的方法,其特征在于,所述離散余弦變換處理為對數(shù)字信號或圖像信號進行離散余弦逆變換處理的離散余弦變換三型。
7.如權利要求6所述的方法,其特征在于,所述輸入值a、b分別為對數(shù)字信號進行離散余弦逆變換處理時的數(shù)字信號變換值;或為離散余弦逆變換處理過程中的中間值。
8.如權利要求6所述的方法,其特征在于,所述輸入值a、b分別為在壓縮圖像解碼過程中進行離散余弦逆變換處理時的圖像系數(shù)塊元素值;或為離散余弦逆變換處理過程中的中間值。
9.一種離散余弦變換處理裝置,用于對離散余弦變換處理過程中基于不同輸入值a、b利用aw1+bw2運算求取輸出值的變換子過程計算輸出值,其中w1和w2為不同常數(shù)值,其特征在于,包括轉換處理單元,用于通過將aw1+bw2運算過程中的常數(shù)值w1和w2分別化解為二進制形式,來將aw1+bw2運算處理轉換為Σi=0t(ami+bni)2-i]]>運算處理,其中mi、ni分別取值為0或1;移位累加處理單元,用于基于移位累加處理來計算所述轉換處理單元轉換出的Σi=0t(ami+bni)2-i]]>的結果值,并將計算結果值作為所述變換子過程的輸出值。
10.如權利要求9所述的裝置,其特征在于,還包括輸入值加法單元,用于在所述移位累加處理單元計算Σi=0t(ami+bni)2-i]]>的結果值之前,計算所述Σi=0t(ami+bni)2-i]]>中的不同輸入值a、b之和a+b。
11.如權利要求9所述的裝置,其特征在于,還包括輸出結果單元,用于將所述移位累加處理單元計算出的輸出值進行輸出。
12.如權利要求9、10或11所述的方法,其特征在于,所述離散余弦變換處理為對數(shù)字信號或圖像信號進行離散余弦變換處理的離散余弦變換二型。
13.如權利要求12所述的方法,其特征在于,所述輸入值a、b分別為對數(shù)字信號進行離散余弦變換處理時的數(shù)字信號輸入值;或為離散余弦變換處理過程中的中間值。
14.如權利要求12所述的方法,其特征在于,所述輸入值a、b分別為在壓縮圖像編碼過程中進行離散余弦變換處理時的輸入圖像信號值;或為離散余弦變換處理時的輸入圖像信號殘差值;或為離散余弦變換處理過程中的中間值。
15.如權利要求9、10或11所述的方法,其特征在于,所述離散余弦變換處理為對數(shù)字信號或圖像信號進行離散余弦逆變換處理的離散余弦變換三型。
16.如權利要求15所述的方法,其特征在于,所述輸入值a、b分別為對數(shù)字信號進行離散余弦逆變換處理時的數(shù)字信號變換值;或為離散余弦逆變換處理過程中的中間值。
全文摘要
本發(fā)明公開了一種離散余弦變換處理方法,對離散余弦變換處理過程中基于不同輸入值a、b利用aw
文檔編號G06T9/00GK101046886SQ20061007097
公開日2007年10月3日 申請日期2006年3月29日 優(yōu)先權日2006年3月29日
發(fā)明者劉建國, 汪國有, 戴聲奎, 葉登攀, 祝平平, 孟新建, 鄭建鏵 申請人:華為技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
安新县| 苍溪县| 台前县| 武威市| 青海省| 资溪县| 临漳县| 邯郸县| 沈阳市| 赫章县| 南靖县| 扶风县| 三台县| 昌宁县| 普定县| 黄陵县| 龙州县| 民勤县| 壶关县| 库车县| 班玛县| 南平市| 齐河县| 吴桥县| 南昌市| 长沙县| 万全县| 伊吾县| 合作市| 北流市| 磐安县| 玛纳斯县| 望都县| 长岛县| 磐安县| 潢川县| 渭源县| 大连市| 成安县| 罗田县| 集贤县|