專利名稱:離散余弦變換矩陣分解方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及DCT(離散余弦變換)矩陣分解方法與DCT裝置,具體涉及為僅以加減運算進(jìn)行DCT運算而提供的分解1維DCT矩陣的DCT矩陣分解方法,以及對利用該DCT矩陣分解方法獲得的輸入信號進(jìn)行處理的DCT裝置。
背景技術(shù):
作為圖像壓縮方法,通過將具相關(guān)性的圖像信號正交變換而變換成不具相關(guān)性的信號的DCT方法為人所知;由于卡拉OK和電子游戲的普及,人們與采用DCT的圖像壓縮接觸的機(jī)會確實在與日俱增。特別在互聯(lián)網(wǎng)上,通過網(wǎng)絡(luò)的多媒體化,各種網(wǎng)絡(luò)瀏覽器支持采用DCT的JPEG。并且,DVD采用的MPEG-2也使用DCT。
在該DCT變換中,例如,將1幀圖像分為以8像素×8像素為1塊的許多塊,通過對各塊進(jìn)行2維DCT變換而獲得壓縮圖像。在典型的2維DCT變換中,對輸入圖像信號的各行依次應(yīng)用1維DCT變換求得中間數(shù)據(jù),然后對調(diào)換該中間數(shù)據(jù)的行與列而構(gòu)成的矩陣進(jìn)行相同的1維DCT變換。
以8×8像素為1塊的情況下,在1維DCT變換中,8個圖像信號成分乘以8行8列的DCT矩陣,總共需要進(jìn)行64次乘法運算。乘法運算比加減運算花費的時間多,并且,乘法器與加法器或減法器相比電路規(guī)模比較大,在進(jìn)行高速乘法運算時耗電特別大。
而另一方面,為了縮短圖像處理時間,要求在短時間完成DCT運算,并且,在圖像傳送裝置、特別是移動式裝置中,人們希望盡可能減少耗電。
基于上述觀點,提出了種種減少DCT運算中的乘法運算次數(shù)的方法,例如,使1維DCT運算高速化的「陳氏(Chen)算法」已經(jīng)在被實際應(yīng)用。這種高速算法通過將DCT矩陣的余弦系數(shù)中絕對值相同的系數(shù)組合起來等手段,使乘法運算次數(shù)得到減少。
但是,這種高速算法依然需要進(jìn)行乘法運算處理,因此難以進(jìn)一步縮短DCT運算時間。并且,實施該算法的DCT運算裝置包含乘法器,這給謀求電路規(guī)模的縮小和耗電的進(jìn)一步降低帶來了障礙。
發(fā)明內(nèi)容
如此,傳統(tǒng)的DCT矩陣分解方法與DCT裝置在進(jìn)一步縮小電路規(guī)模和降低耗電方面存在制約。因此本發(fā)明的課題在于提供分解1維DCT矩陣的DCT矩陣分解方法與DCT裝置,以能夠僅以加減運算執(zhí)行DCT運算。
用以實現(xiàn)上述課題的本發(fā)明第一方面的DCT矩陣分解方法的特征在于包括利用余弦函數(shù)的對稱性將N×N的1維DCT矩陣分解成多個子矩陣和零矩陣的第一步驟;將所述各子矩陣因子分解的第二步驟,該步驟使所述各子矩陣用其矩陣元素中含余弦系數(shù)值的中間矩陣和以值1、-1或0為矩陣元素的一個或多個第一矩陣之積表示;以及按需要的次數(shù)反復(fù)進(jìn)行所述各中間矩陣的因子分解的第三步驟,該步驟使所述各中間矩陣用矩陣元素值1、-1或0構(gòu)成的多個第二矩陣之積表示。
依據(jù)本發(fā)明,1維DCT矩陣被分解為多個子矩陣和零矩陣,接著,各子矩陣被分解為中間矩陣和第一矩陣之積或者多個第一矩陣之積,進(jìn)而中間矩陣再被分解為多個第二矩陣之積。結(jié)果,1維DCT矩陣分解為用第一矩陣和多個第二矩陣之積或者多個第一矩陣之積表示的子矩陣和零矩陣。由于第一與第二矩陣的矩陣元素為值1、-1或0,利用主要由第一矩陣或由第一矩陣和第二矩陣所組成的子矩陣構(gòu)成的本發(fā)明的DCT矩陣進(jìn)行的DCT運算中,不進(jìn)行乘法運算處理而只用輸入信號的加減運算計算出DCT系數(shù),從而可實現(xiàn)DCT運算的高速化。
用以實現(xiàn)上述課題的本發(fā)明第二方面的DCT裝置中包括輸入N點輸入信號的信號輸入部;信號選擇部,它通過執(zhí)行本發(fā)明第一方面所述的第一步驟至第三步驟,在所述N點輸入信號中選擇對所述各子矩陣求出的多個第一矩陣,或與第一矩陣和多個第二矩陣對應(yīng)的輸入信號群;加減運算部,它對應(yīng)于與所述信號選擇部所選擇的所述各子矩陣有關(guān)的輸入信號群進(jìn)行加減運算,以將所述多個第一矩陣之積或所述第一矩陣和所述多個第二矩陣之積展開;信號輸出部,它將所述加減運算部的加減運算的輸入信號作為N點1維DCT數(shù)據(jù)取出;以及轉(zhuǎn)置部,它由所述信號輸出部依次供給的N點的N點1維DCT數(shù)據(jù)構(gòu)成的1維DCT數(shù)據(jù)群加以轉(zhuǎn)置。對于每個N點1維數(shù)據(jù),本發(fā)明的DCT裝置將所述1維DCT數(shù)據(jù)群從所述轉(zhuǎn)置部向所述信號輸入部輸入,并將由所述信號選擇部與所述加減運算部對所述各N點1維數(shù)據(jù)進(jìn)行選擇與加減運算得到的N點數(shù)據(jù)作為DCT系數(shù)數(shù)據(jù)從所述信號輸出部取出。
本發(fā)明第二方面的DCT裝置源于本發(fā)明第一方面的DCT矩陣分解方法,該方法不需要乘法器,能夠通過輸入信號的加減運算求出DCT系數(shù)。因此,能夠高速進(jìn)行將輸入信號變換成DCT系數(shù)的DCT運算,縮小DCT裝置的電路規(guī)模并減少耗電。
圖1是概略表示本發(fā)明的DCT裝置的框圖。圖2是說明本發(fā)明的DCT矩陣分解方法中利用余弦的對稱性的矩陣分解的示圖。圖3是說明通過圖2所示的矩陣分解之后實施的因子分解進(jìn)行矩陣分解的示圖。圖4是說明通過因子分解進(jìn)行的矩陣分解的示圖。
具體實施例方式
現(xiàn)參照附圖就本發(fā)明的實施例進(jìn)行說明。本發(fā)明的DCT裝置將以塊為單位從1幀圖像取出的圖像信號變換成DCT系數(shù)的2維DCT,各塊例如由8像素×8像素構(gòu)成。
如圖1所示,DCT裝置中設(shè)有依次輸入各塊的行方向的8點圖像信號的信號輸入部1;在經(jīng)由信號輸入部1輸入的8點圖像信號上執(zhí)行1維DCT運算的DCT運算部2;將1維DCT運算完畢的8點1維DCT數(shù)據(jù)取出的信號輸出部5;將由該信號輸出部5依次供給的8組的8點1維DCT數(shù)據(jù)所構(gòu)成的1維DCT數(shù)據(jù)群轉(zhuǎn)置后暫時保持的轉(zhuǎn)置部6。以上各功能部在控制部(未作圖示)的控制下動作。
然后,對于1塊圖像信號的1維DCT數(shù)據(jù)群在作了行和列調(diào)換后被存入轉(zhuǎn)置部6;該DCT數(shù)據(jù)群被每一列地從轉(zhuǎn)置部6經(jīng)由信號輸入部1供給DCT運算部2,在DCT運算部2中對各8點1維數(shù)據(jù)執(zhí)行1維DCT運算后,作為DCT系數(shù)從信號輸出部5取出。在量化部與編碼部(未作圖示)中,對從信號輸出部5取出的DCT系數(shù)進(jìn)行量化處理與熵編碼處理。
總之,本發(fā)明的DCT裝置通過反復(fù)進(jìn)行1維DCT運算來執(zhí)行2維DCT運算。
這里,如DCT系數(shù)用F(u,v)表示,1塊的圖像信號用f(x,y)表示,加權(quán)系數(shù)用Cu、Cv表示,并用以下二式表示變換核cos[(2x+1)uπ/4]cos[(2y+1)vπ/4]則N點2維DCT運算式和N點1維DCT運算式分別由如下二式表示F(u,v)=(4/N2)CuCvΣx=0N-1Σy=0N-1f(x,y)cos[(2x+1)uπ/8]cos[(2y+1)vπ/8]]]>F(u)=(2/N)CuΣx=0N-1f(x)cos[(2x+1)uπ/8]]]>
本發(fā)明的特征在于僅以加減運算實施1維DCT運算,為了實現(xiàn)這樣的DCT運算,本發(fā)明中用特有的方法將DCT矩陣分解成多個矩陣之積。
如圖2所示,本發(fā)明利用余弦的對稱性,將8點1維DCT矩陣分解為兩個4行4列子矩陣和兩個零矩陣,接著,其中一個4行4列子矩陣又分解為兩個2行2列子矩陣和兩個零矩陣。結(jié)果,8點1維DCT矩陣分解為兩個2行2列子矩陣、一個4行4列子矩陣和四個的零矩陣。
這樣的8點1維DCT矩陣的分解,例如可用陳氏高速算法實施。如下式所示,陳氏算法中將N點輸入信號[f]變換成DCT系數(shù)[F]的DCT矩陣[AN],通過反復(fù)進(jìn)行該分解,能夠?qū)點1維DCT矩陣一直分解到成為2行2列的矩陣。
=[PN]AN/200QN/2[BN]]]>這里,[BN]表示蝶形矩陣。并且,當(dāng)設(shè)定為 時,如P(x,y)為 則取值1,除此以外的情況下則取值0。
并且,[QN/2]如下式表示。
本發(fā)明中,接著,上述三個子矩陣被因子分解成由其矩陣元素含余弦系數(shù)值的中間矩陣和以值1、-1或0為矩陣元素的第一矩陣之積表示。例如,如圖3所示,圖2所示的4行4列的子矩陣通過因子分解變換成兩個第一矩陣和一個中間矩陣之積。該中間矩陣的矩陣元素中d00、d10、d01、d11、d22、d32、d23、d33由余弦系數(shù)值構(gòu)成。
更具體地說,用符號A4表示該4行4列子矩陣時,子矩陣A4如下式因子分解。下式中符號CP/q表示cos(p/q)π。
A4=C1/4C1/4C1/4C1/4C1/8C3/8C5/8C7/8C2/8C6/8C6/8C2/8C3/8C7/8C1/8C5/8]]>=1000000101000010C1/4C1/4C1/4C1/4C1/4C3/4C3/4C1/4C3/8-C1/8C1/8-C1/8C1/8C3/8-C3/8-C1/8]]>=1000000101000010C1/4C1/400C1/4C3/40000-C1/8C3/800C3/8C1/81001011001-10000-1]]>再按需要的次數(shù)重復(fù)進(jìn)行對各中間矩陣的因子分解,中間矩陣被表示成分別由值1、-1或0的矩陣元素構(gòu)成的多個第二矩陣之積。例如,構(gòu)成圖3所示的中間矩陣的子矩陣的一個,如圖4所示,被因子分解成由兩個第二矩陣之積表示。各第二矩陣的矩陣元素e00、e10、e01、e11、f00、f10、f01、f11取值1、-1或0。
本發(fā)明的DCT裝置是基于如上述那樣分解的8點1維DCT矩陣執(zhí)行DCT運算的裝置,與此相關(guān)聯(lián),如圖1所示DCT運算部2中設(shè)有信號選擇部3和加減運算部4。前者在8N點圖像信號中選擇與對于8點1維DCT矩陣的各子矩陣求出的多個第一矩陣或第一矩陣和多個第二矩陣對應(yīng)的輸入信號群;后者對于選擇的各子矩陣的輸入信號群實施將多個第一矩陣之積或第一矩陣和多個第二矩陣之積展開的加減運算。加減運算部4主要由所需數(shù)量的加法器、減法器與將加法運算、減法運算結(jié)果暫時保持的寄存器(未作圖示)構(gòu)成。
接著,就上述結(jié)構(gòu)的DCT裝置的作用進(jìn)行說明。圖像信號以1幀為單位串行地傳送到DCT裝置。圖像信號分割為以8像素×8像素為單位的塊,各塊的行方向的8點圖像信號經(jīng)由圖1所示的信號輸入部1分別供給信號選擇部3的8個信號輸入端(未作圖示);信號選擇部3選擇8點圖像信號中與8點1維DCT矩陣的各子矩陣關(guān)聯(lián)的多個第一矩陣或者第一矩陣和多個第二矩陣相對應(yīng)的一組圖像信號。如此,與各子矩陣對應(yīng)的一組圖像信號被選擇。
然后,各子矩陣的圖像信號被供給加減運算部4的第一級加法器和減法器中與該子矩陣對應(yīng)的加法器和減法器。加減運算部4的加法器和減法器多級地相連接,以能夠展開與8點1維DCT矩陣的各子矩陣相關(guān)聯(lián)的多個第一矩陣之積和第一矩陣和多個第二矩陣之積。因此,第一級加法器和減法器得到的加減運算結(jié)果,經(jīng)由加減運算部4的寄存器依次供給下一級的加法器和減法器。
加減運算部4的最后一級的加法器和減法器上的加法運算結(jié)果和減法運算結(jié)果表示對與1塊的第一行對應(yīng)的8點圖像信號的1維DCT運算的結(jié)果,作為1維DCT運算完畢的8點1維DCT數(shù)據(jù)成分,經(jīng)由信號輸出部5輸出到轉(zhuǎn)置部6;該轉(zhuǎn)置部6將該DCT數(shù)據(jù)成分的行和列轉(zhuǎn)置后暫時保持。
接著,對于1塊的第二行以后的各行的8點圖像信號也依次同樣進(jìn)行DCT運算處理,然后8點1維數(shù)據(jù)存入轉(zhuǎn)置部6。
再接著,8點1維數(shù)據(jù)被每一列地從轉(zhuǎn)置部6經(jīng)由信號輸入部1供給DCT運算部2,在DCT運算部2中對各列的1維數(shù)據(jù)成分執(zhí)行與8點圖像信號的場合相同的1維DCT運算。然后,該運算結(jié)果作為DCT系數(shù)從信號輸出部5輸出,經(jīng)過量化處理與熵編碼處理后作為壓縮圖像信號使用。對于其他塊的圖像信號,也實施與上述相同的2維DCT運算處理。
如此,由于本發(fā)明的DCT裝置不包含乘法器,主要由多級連接的加法器、減法器與寄存器構(gòu)成,能夠?qū)D像信號高速實施2維DCT運算來獲得DCT系數(shù),同時能夠大幅度縮小DCT裝置的電路規(guī)模并降低耗電。
工業(yè)上的利用可能性如上所述,本發(fā)明的DCT矩陣分解方法中,能夠不進(jìn)行乘法運算處理而通過輸入信號的加減運算進(jìn)行將輸入信號變換成DCT系數(shù)的DCT運算,從而能夠?qū)崿F(xiàn)DCT運算的高速化。并且,本發(fā)明的DCT裝置中,在進(jìn)行DCT運算時不需要乘法器,能夠高速進(jìn)行DCT運算,同時能夠大幅度縮小DCT裝置的電路規(guī)模并降低耗電。
權(quán)利要求
1.一種DCT矩陣分解方法,其特征在于,包括利用余弦函數(shù)的對稱性將N×N的1維DCT矩陣分解為多個子矩陣和零矩陣的第一步驟;將所述各子矩陣因子分解的第二步驟,該步驟使所述各子矩陣用其矩陣元素中含余弦系數(shù)值的中間矩陣和以值1、-1或0為矩陣元素的一個或多個第一矩陣之積表示;以及按需要的次數(shù)反復(fù)進(jìn)行所述各中間矩陣的因子分解的第三步驟,該步驟使所述各中間矩陣用矩陣元素值1、-1或0構(gòu)成的多個第二矩陣之積表示。
2.一種DCT裝置,其特征在于,包括輸入N點輸入信號的信號輸入部;信號選擇部,它通過執(zhí)行本發(fā)明權(quán)利要求1所述的第一步驟至第三步驟,在所述N點輸入信號中選擇與對所述各子矩陣求出的多個第一矩陣對應(yīng)的、或與第一矩陣和多個第二矩陣對應(yīng)的輸入信號群;加減運算部,它對與所述信號選擇部所選擇的與所述各子矩陣有關(guān)的輸入信號群進(jìn)行加減運算,以將所述多個第一矩陣之積或所述第一矩陣和所述多個第二矩陣之積展開;信號輸出部,它將所述加減運算部的加減運算的輸入信號作為N點1維DCT數(shù)據(jù)取出;以及轉(zhuǎn)置部,它對由所述信號輸出部依次供給的N點的N點1維DCT數(shù)據(jù)構(gòu)成的1維DCT數(shù)據(jù)群加以轉(zhuǎn)置;對于每個N點1維數(shù)據(jù),將所述1維DCT數(shù)據(jù)群從所述轉(zhuǎn)置部向所述信號輸入部輸入,并將由所述信號選擇部與所述加減運算部對所述各N點1維數(shù)據(jù)進(jìn)行選擇與加減運算得到的N點數(shù)據(jù)作為DCT系數(shù)數(shù)據(jù)從所述信號輸出部取出。
全文摘要
本發(fā)明的課題在于提供分解1維DCT矩陣的DCT矩陣分解方法與DCT裝置,以能夠僅以加減運算來進(jìn)行DCT運算。所述方法中包括利用余弦函數(shù)的對稱性將N×N的1維DCT矩陣分解為多個子矩陣和零矩陣的第一步驟;將各子矩陣因子分解的第二步驟,該步驟使各子矩陣以其矩陣元素中包含余弦系數(shù)值的中間矩陣和以值1、-1或0為矩陣元素的一個或多個第一矩陣之積表示;以及按所需次數(shù)反復(fù)進(jìn)行各中間矩陣的因子分解的第三步驟,該步驟使各中間矩陣用由矩陣元素值1、-1或0構(gòu)成的多個第二矩陣之積表示。
文檔編號G06F17/14GK1526103SQ0281375
公開日2004年9月1日 申請日期2002年3月20日 優(yōu)先權(quán)日2001年7月11日
發(fā)明者田中正文 申請人:株式會社精密技術(shù)