孫文邦,唐海燕,孫文斌,程紅
(1.空軍航空大學(xué) 特種專業(yè)系,吉林 長(zhǎng)春 130022;2.空軍航空大學(xué) 航空理論系,吉林 長(zhǎng)春 130022;3.安徽工業(yè)大學(xué) 數(shù)理學(xué)院,安徽 馬鞍山 243002)
隨著信息處理技術(shù)的發(fā)展,三維 DCT廣泛應(yīng)用于各領(lǐng)域,針對(duì)三維 DCT算法本身的研究也較多。例如,Raymond和Furht等較早地將三維DCT應(yīng)用到視頻壓縮領(lǐng)域[1]。陳賀新等在三維DCT算法基礎(chǔ)上提出了多維矩陣?yán)碚摚⒃趫D像壓縮和視頻壓縮領(lǐng)域得到了應(yīng)用[2~5]。近年來(lái),三維 DCT還被應(yīng)用到其他領(lǐng)域,例如全方向的積分圖像壓縮編碼[6]、多視角立體圖像編碼[7]和視頻水印[8]等領(lǐng)域。
然而,目前三維 DCT運(yùn)算一般都是對(duì)三維數(shù)據(jù)矩陣中的3個(gè)維度分別進(jìn)行一維DCT來(lái)完成,這種運(yùn)算方法不能很好地體現(xiàn)三維變換的整體空間特性。因此,本文提出了一種三維立體矩陣意義下的SDCT運(yùn)算方法,使三維DCT表達(dá)簡(jiǎn)潔,計(jì)算靈活,理解容易。
為了描述方便,定義三維矩陣的表示形式和 4種三維矩陣的運(yùn)算方法。
由 R×C×T 個(gè)數(shù) arct(r=1,2,…,R;c=1,2,…,C;t=1,2,…,T)構(gòu)成R行,C列,T頁(yè)的三維立方體數(shù)據(jù)排列稱大小為 R×C×T的三維矩陣,簡(jiǎn)稱 R×C×T階三維矩陣,或 R×C×T三維矩陣。為了表示一個(gè)整體,采用斜粗體字母 A,B等或縮寫[arct]、[brct]等表示三維矩陣。其中,r、c和t分別表示矩陣元素在矩陣中的行數(shù)、列數(shù)和頁(yè)數(shù),即表示矩陣元素在矩陣中的位置。當(dāng)需要說明三維矩陣大小時(shí),采用 AR×C×T或[arct]R×C×T表示。
例如,一個(gè)4×4×4三維矩陣,可以表示為A4×4×4,如式(1)所示。
一個(gè)較大矩陣可以拆分為若干子塊來(lái)表示。以子塊為“元素”形式的矩陣稱為分塊矩陣。分塊矩陣的子塊可采取 Arct,R×C×T來(lái)表示,其中,R×C×T 表示子塊的大小,r、c和t分別為子塊在原矩陣中位置。子塊中某一元素可表示為 aijk,rct,其中,r、c和t同樣表示子塊在原矩陣中位置,i、j和k表示子塊元素在子矩陣中位置。例如,如將式(1)拆分為8個(gè)2×2×2的子塊,則可采用式(2)來(lái)表示。
定義 1 設(shè)有一個(gè)三維矩陣 A=(arct,ijk),其中r=1,2,…,R,c=1,2,…,C,t=0,1,…,T,i=1,2,…,I,j=1,2,…,J,k=1,2,…,K。那么矩陣A的“置位”運(yùn)算記為AL,規(guī)定
定義2 設(shè)有2個(gè)三維矩陣A=(arct),B=(brct),其中,r=1,2,…,R,c=1,2,…,C,t=0,1,…,T,矩陣 A和B的“和積”運(yùn)算記為A?B,規(guī)定
定義3 設(shè)有2個(gè)矩陣A=(arct)和B=(brct,ijk),其中,r=1,2,…,R,c=1,2,…,C,t=0,1,…,T,i=1,2,…,I,j=1,2,…,J,k=1,2,…,K。矩陣A和B的“塊積”記為A?B,規(guī)定“塊積”結(jié)果是一個(gè)CI×J×K矩陣。
矩陣“塊積”運(yùn)算滿足以下運(yùn)算規(guī)律(設(shè)A、B 為 R×C×T 矩陣,C 為(IR)×(JC)×(KT)矩陣):
定義4 設(shè)有2個(gè)矩陣A=(arct)和B=(bijk,rct),其中,r=1,2,…,R,c=1,2,…,C,t=0,1,…,T,i=1,2,…,I,j=1,2,…,J,k=1,2,…,K。矩陣A和B的“疊積”記為A?B,規(guī)定“疊積”結(jié)果是一個(gè)CI×J×K矩陣。
矩陣“疊積”運(yùn)算滿足以下運(yùn)算規(guī)律(設(shè)A、B 為 R×C×T 矩陣,C 為(IR)×(JC)×(KT)矩陣):
設(shè)有一個(gè)三維信號(hào)序列為f(r,c,t),其中,r=0,1,…,R-1,c=0,1,…,C-1,t=0,1,…,T-1,三維 DCT 為
式(7)和式(8)表示的三維DCT正變換與逆變換表達(dá)式,還可以分別寫成式(9)和式(10)表示的可分離形式。
三維 DCT可分離形式說明,可連續(xù)運(yùn)用 3次一維 DCT來(lái)實(shí)現(xiàn)三維 DCT。這種運(yùn)算方式實(shí)質(zhì)上是對(duì)三維信號(hào)逐點(diǎn)進(jìn)行運(yùn)算,稱為串行運(yùn)算。
由于三維DCT的矩陣表示比較困難,一般參考文獻(xiàn)都沒有給出矩陣表示形式。文獻(xiàn)[3]根據(jù)三維DCT可分離性,按照分別對(duì)三維矩陣的行、列、頁(yè)進(jìn)行一維DCT操作,給出了如下三維DCT矩陣表達(dá)式
式中,f為原始的三維數(shù)據(jù),F(xiàn)為變換結(jié)果系數(shù)。C1、C2和 C3分別是文獻(xiàn)中定義的,類似于二維 DCT的轉(zhuǎn)換矩陣。I、II和 III分別表示是對(duì)行、列和頁(yè)進(jìn)行變換。
這種表達(dá)方式雖然是采用了矩陣形式進(jìn)行表述,但是表述比較繁鎖,實(shí)質(zhì)上還是串行運(yùn)算方法的思想。
設(shè)矩陣P為
其中,Q(u,v,ω,r,c,t)稱為三維 SDCT的變換核,Q(r+1)(c+1)(t+1),R×C×T稱為三維 SDCT的基信號(hào)(基矩陣),P稱為三維SDCT的變換基陣。
如果三維信號(hào)大小為 8×8×8,則變換基陣的基信號(hào)共有8×8×8個(gè),其空間結(jié)構(gòu)分布如圖1所示。圖1中每一個(gè)小立方體代表三維SDCT的一個(gè)基信號(hào)。
圖1 信號(hào)大小為8×8×8時(shí)的變換基陣
注:為了形象地描述,把變換基陣值域范圍調(diào)整到[0,255],以提高可視效果。
其中部分基信號(hào)如圖2所示。圖2從左到右、從上到下依次是變換基陣中空間頻率為(0,0,0)(1,1,1) (2,2,2) (3,3,3) (4,4,4) (5,5,5) (6,6,6) (7,7,7)位置上的基信號(hào),按照8頁(yè)展開(8頁(yè)按照從左到右,從上到下進(jìn)行排序)。
圖2 變換基陣的部分基信號(hào)展開
采用變換核和變換基信號(hào)可以將三維 DCT表達(dá)式(7)和式(8)可改寫成式(13)和式(14)。
根據(jù)變換基陣的定義,式(13)和式(14)可進(jìn)一步簡(jiǎn)化成
從式(15)可以看出,三維信號(hào)f中R×C×T個(gè)元素與變換基陣中 R×C×T個(gè)對(duì)應(yīng)基信號(hào)乘積后,再將所有乘積后的基信號(hào)疊加起來(lái)就得到三維 DCT變換結(jié)果矩陣。
從式(16)可以看出,變換結(jié)果F與變換基陣的某一位置上基矩陣(基信號(hào))的“和積”運(yùn)算得到對(duì)應(yīng)位置上的逆變換結(jié)果。如果變換結(jié)果F與變換基陣P中R×C×T個(gè)基矩陣分別“和積”,得到最終的逆變換結(jié)果f,就完成了三維DCT的逆運(yùn)算。
基于變換基陣的三維SDCT總體運(yùn)算過程如圖3所示。
圖3 基于變換基陣的三維SDCT運(yùn)算過程
通過三維SDCT可以很方便地對(duì)三維DCT運(yùn)算性能進(jìn)行分析,主要有以下幾個(gè)特性。
比較式(7)、式(8)、式(11)、式(15)和式(16)可以看出,三維SDCT正變換和逆變換都具有數(shù)學(xué)意義上的簡(jiǎn)潔統(tǒng)一的矩陣表述形式,很好地解決了三維DCT不易采用矩陣表述的難題。
從式(15)可以看出,三維DCT正變換是由三維信號(hào)f與變換基陣P的“疊積”來(lái)完成。由矩陣的“置位”、“塊積”和“疊積”運(yùn)算的定義,式(15)還可以采用“塊積”運(yùn)算來(lái)表示
同理式(16)也可以采用“疊積”運(yùn)算來(lái)表示
由式(15)~式(18)可以看出,SDCT算法突出的思想是利用了變換基陣的概念,將三維信號(hào)與變換基陣中的基信號(hào)建立起了聯(lián)系。
根據(jù)“和積”運(yùn)算的定義可以看出,“和積”運(yùn)算實(shí)質(zhì)上可以認(rèn)為是“互相關(guān)”運(yùn)算。而“塊積”運(yùn)算中運(yùn)用大量的“和積”運(yùn)算,所以“塊積”運(yùn)算也可以認(rèn)為是由互相關(guān)運(yùn)算組成。
從式(17)可以看出,三維信號(hào) f與變換基陣置位矩陣中某一位置上的基矩陣(基信號(hào))“和積”運(yùn)算得到對(duì)應(yīng)位置上的變換結(jié)果。所以,某一空間頻率成份的計(jì)算只需要三維信號(hào)f與對(duì)應(yīng)位置上的基信號(hào)運(yùn)算,而和其他位置上的基信號(hào)無(wú)關(guān)。這樣就可以采用“和積”單獨(dú)計(jì)算某一空間頻率。從式(16)可以看出,采用“和積”也可以單獨(dú)計(jì)算某一空間位置上的逆變換值。
“疊積”運(yùn)算實(shí)際上可以認(rèn)為是對(duì)三維信號(hào)的分解。式(15)表示的變換結(jié)果F可以看成三維信號(hào)R×C×T個(gè)元素與變換基陣R×C×T個(gè)基信號(hào)加權(quán)和,如下式所示。
通過“疊積”運(yùn)算可以一次性整體完成三維DCT的運(yùn)算。
同時(shí),根據(jù)式(18)表示的變換結(jié)果F與變換基陣的置位矩陣“疊積”運(yùn)算關(guān)系,三維信號(hào)f可以看成是變換結(jié)果和變換基陣的置位矩陣中基信號(hào)的加權(quán)和,如下式表示。
式中,Q(u+1)(v+1)(ω+1)為變換基陣的置位矩陣中的基信號(hào)。通過“疊積”運(yùn)算也可以一次性整體完成三維DCT的逆運(yùn)算。
所以,三維SDCT正變換和逆變換中采用“塊積”可以方便地單獨(dú)計(jì)算某一空間頻率值或空間位置的恢復(fù)值;采用“疊積”運(yùn)算可以一次性整體完成三維DCT正變換或三維DCT逆運(yùn)算。采用三維SDCT算法不論是計(jì)算頻域或空域單個(gè)值還是計(jì)算整體值都比較便捷。
另外,三維SDCT中“塊積”運(yùn)算與互相關(guān)性有關(guān),“疊積”運(yùn)算與基信號(hào)分解有關(guān),都具有良好的物理含義,對(duì)三維DCT的理解比較方便。
不失一般性,以一點(diǎn)的變化信息來(lái)說明。如果三維信號(hào)f中(i,j,k)處發(fā)生變化,設(shè)變化量為ε,則
變換基陣中每一個(gè)基信號(hào)都是有多個(gè)非零值元素的矩陣,同樣εQijk也是一個(gè)有多個(gè)非零值元素的矩陣。所以三維信號(hào)f空域變化一處,則在頻域變化多處。同理,也可以得到頻域中變換一處信息,逆變換過程中,擴(kuò)散到空域中多處。
采用變化信息擴(kuò)散性可以方便地分析三維DCT實(shí)際應(yīng)用效果。例如:基于DCT視頻壓縮[9,10]中引起的方塊效應(yīng)分析。由于視頻序列是由行(r)和列(c)組成一幀,再在時(shí)間(t)軸上許多幀組成,可以將視頻數(shù)據(jù)(只考慮亮度分量)按照行、列、時(shí)間3個(gè)維度構(gòu)成三維矩陣的形式來(lái)表示,如圖4所示。這時(shí)三維矩陣中的元素值即為視頻圖像的灰度值,三維矩陣可稱為灰度立方體。
圖4 視頻圖像亮度信息的三維矩陣表示
視頻壓縮應(yīng)用中一般將灰度立方體劃分成8×8×8宏塊[9],再對(duì)宏塊進(jìn)行三維DCT。三維變換結(jié)果一般都需要進(jìn)行量化處理,而量化處理就會(huì)造成變換結(jié)果的信息改變。在量化信號(hào)在逆變換過程中,將變換結(jié)果的變化信息擴(kuò)散到空域中多處。特別是逆變換后2個(gè)相鄰宏塊邊緣處,由于信息的擴(kuò)散性,灰度值產(chǎn)生較大的差異,因此在2個(gè)相鄰宏塊邊緣處會(huì)產(chǎn)生方塊效應(yīng)。
本文根據(jù)三維DCT運(yùn)算特點(diǎn),定義了4種三維矩陣運(yùn)算的新方法和變換基陣,在此基礎(chǔ)上提出了三維SDCT運(yùn)算方法。SDCT的正變換和逆變換都具有統(tǒng)一的矩陣表述形式以及相關(guān)運(yùn)算、信號(hào)分解特性的良好物理含義。通過三維SDCT運(yùn)算,還可以方便地對(duì)三維DCT運(yùn)算相關(guān)的特性進(jìn)行分析。
[1]RAYMOND W, FURHT B.The XYZ algorithm for real-time compression of full-motion video[J].Real-time Imaging, 1996,2:19-34.
[2]朱艷秋,陳賀新,戴逸松.彩色圖像三維矩陣變換壓縮編碼[J].電子學(xué)報(bào), 1997, 25(7):16-21.ZHU Y Q, CHEN H X, DAI Y S, Compression coding of color image via 3-D matrix transform[J].Acta Electronica Sinica, 1997,25(7):16-21.
[3]桑愛軍,陳賀新.三維矩陣彩色圖像WDCT壓縮編碼[J].電子學(xué)報(bào),2002, 30(4):594-597.SANG A J, CHEN H X.3D-matrix WDCT compression coding for color image[J].Acta Electronica Sinica, 2002, 30(4):594-597.
[4]劉韶,桑愛軍,陳賀新等.基于YC子陣的彩色圖像三維矩陣變換壓縮編碼[J].吉林大學(xué)學(xué)報(bào)(工學(xué)版),2006, 36(4):569-573.LIU S, SANG A J, CHEN H X, et al.3D matrix transform compression coding of color image based on YC submatrix[J].Journal of Jilin University (Engineering and Technology Edition), 2006, 36(4):569-573.
[5]CHEN Q, CHEN, SANG H X, A J, et al.Enabling color image compression by 3-D submatrix integration transform in MPEG-21[A].Proceedings of the 2006 IEEE International Conference on Information Acquisition[C].2006.262-267.
[6]AQQOUN A.A 3D DCT compression algorithm for omnidirectional integral images[A].Proceedings of ICASSP[C].2006.517-520.
[7]SQOUROS N P, ATHINEOS S S, MARDAKI P E, et al, Use of an adaptive 3D-DCT scheme for coding multiview stereo images[A].Proceedings of the Fifth IEEE International Symposium on Signal Processing and Information Technology[C].2005.180-185.
[8]YANG J, HU J P, LIU P.Video watermarking by 3-D DCT[A].Proceedings of the 7th International Conference on Signal Processing[C].2004.861-864.
[9]LIU L L, CHEN H X, SANG A J, et al.4-D order-4 vector matrix DCT integer transform and its application in video code[J].The Imaging Science Journal, 2010.58(6):321-330.
[10]SANG A J, CHEN M S, CHEN H X, et al.Multi-dimensional vector matrix theory and its application in color image coding[J].The Imaging Science Journal, 2010,58(3):171-176.