專(zhuān)利名稱(chēng):用于執(zhí)行離散余弦變換的離散余弦變換處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及實(shí)施離散余弦變換(本文此后稱(chēng)“DCT”)中使用的DCT處理器。
背景技術(shù):
離散余弦變換是一種變換,它把表示為時(shí)間序列的值的數(shù)據(jù),變換為分解成頻率分量的數(shù)據(jù)。實(shí)現(xiàn)離散余弦變換的DCT算法,廣泛用于圖像處理、頻率子帶濾波器、等等,典型的如MPEG和MP3。
用于實(shí)施DCT算法的DCT處理器,一般要求許多加法器-減法器和乘法器,以及大量的縱橫交換器如此等等。要求的單元數(shù)量,隨抽樣點(diǎn)的增加跳躍式地增加。它的主要原因是數(shù)據(jù)置換(替換)的復(fù)雜性。
顯然,單元的增加,加大了DCT處理器功能塊的面積和外圍邏輯線(xiàn)路連接的功耗,還加長(zhǎng)了外圍邏輯線(xiàn)路的最大連接長(zhǎng)度。此外,它還降低處理器的處理速度,加長(zhǎng)輸出的等待時(shí)間。
例如,作為傳統(tǒng)DCT算法的典型例子,有一種稱(chēng)為L(zhǎng)ee的算法。為了在32個(gè)抽樣點(diǎn)上實(shí)施離散余弦變換,用實(shí)施Lee算法的DCT處理器,要求至少273個(gè)加法器-減法器、80個(gè)乘法器、和大量的縱橫交換器。實(shí)際上,直接把這些巨大數(shù)量的資源單元,整體地排列在LSI上是十分困難的,而且這些巨大數(shù)量的單元引起的輸出等待時(shí)間,是個(gè)嚴(yán)重的問(wèn)題。
目前,在已知的DCT處理器中,最優(yōu)秀的DCT處理器,當(dāng)認(rèn)為是Lippen P.E.R等人研發(fā)的使用Lee算法的Multi Fraction ProcessingUnit。但是,即使是該處理器,也因置換的復(fù)雜性而要求大量單元,依舊難以解決上述問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明為了解決上述傳統(tǒng)的問(wèn)題,有利地利用了與特定結(jié)構(gòu)存儲(chǔ)器的資源共享,該特定結(jié)構(gòu)存儲(chǔ)器是根據(jù)先前已經(jīng)產(chǎn)生的給定算法,并專(zhuān)門(mén)針對(duì)該DCT算法的數(shù)據(jù)流的規(guī)律性而研發(fā)的,從而本發(fā)明針對(duì)降低要求的單元數(shù)、功能塊面積、和功耗,還針對(duì)加速處理的速度,或縮減輸出的等待時(shí)間。
為了達(dá)到該目的,本發(fā)明的特征是提供實(shí)施離散余弦變換中使用的DCT處理器,該DCT處理器包括用于置換數(shù)據(jù)的存儲(chǔ)處理器;和用于按照給定DCT算法計(jì)算的計(jì)算裝置,其中,數(shù)據(jù)按給定次數(shù),在該存儲(chǔ)處理器和計(jì)算裝置之間循環(huán),然后,根據(jù)從計(jì)算裝置讀出的數(shù)據(jù),確定離散余弦變換的結(jié)果。
此外,本發(fā)明的特征是提供實(shí)施離散余弦變換中使用的DCT處理器,該DCT處理器包括有多個(gè)輸入單元和多個(gè)輸出單元的存儲(chǔ)處理器,該存儲(chǔ)處理器用于置換通過(guò)該多個(gè)輸入單元輸入的多項(xiàng)數(shù)據(jù),然后把數(shù)據(jù)從該多個(gè)輸出單元輸出;有多個(gè)輸入單元和多個(gè)輸出單元的計(jì)算裝置,該多個(gè)輸入單元與存儲(chǔ)處理器的輸出單元連接,該計(jì)算裝置用于按照給定的DCT算法,計(jì)算從該多個(gè)輸入單元輸入的數(shù)據(jù),并從該多個(gè)輸出單元輸出數(shù)據(jù);有多個(gè)輸入單元和多個(gè)輸出單元的存儲(chǔ)裝置,該多個(gè)輸入單元與計(jì)算裝置的輸出單元連接,該多個(gè)輸出單元與存儲(chǔ)處理器的輸入單元連接,該存儲(chǔ)裝置用于存儲(chǔ)從計(jì)算裝置輸出單元輸出的多項(xiàng)數(shù)據(jù),并從該多個(gè)輸出單元輸出數(shù)據(jù);及置于存儲(chǔ)裝置和存儲(chǔ)處理器之間的排序模塊,該排序模塊把來(lái)自存儲(chǔ)裝置的數(shù)據(jù),按給定次序排序,其中,從存儲(chǔ)裝置輸出單元輸出的多項(xiàng)數(shù)據(jù),按存儲(chǔ)處理器、計(jì)算裝置、存儲(chǔ)裝置、和排序模塊的次序,循環(huán)給定次數(shù),然后,根據(jù)從存儲(chǔ)裝置輸出單元讀出的數(shù)據(jù),確定離散余弦變換的結(jié)果。
還有,本發(fā)明的特征是提供一種32點(diǎn)DCT處理器,對(duì)以32個(gè)抽樣點(diǎn)獲得的32項(xiàng)數(shù)據(jù)施行離散余弦變換,該32點(diǎn)DCT處理器包括有8個(gè)輸入單元和8個(gè)輸出單元的存儲(chǔ)處理器,該存儲(chǔ)處理器每一次能讓8項(xiàng)數(shù)據(jù)輸入和輸出,總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù),該存儲(chǔ)處理器還用于把總共32項(xiàng)數(shù)據(jù),按給定次序輸出至8個(gè)輸出單元,該32項(xiàng)數(shù)據(jù)已經(jīng)通過(guò)8個(gè)輸入單元,每一次8項(xiàng),總共4次,按順序?qū)懭虢o定存儲(chǔ)單元;兩個(gè)計(jì)算裝置,各有4個(gè)輸入單元和4個(gè)輸出單元,該4個(gè)輸入單元連接至存儲(chǔ)處理器的8個(gè)輸出單元中的4個(gè)輸出單元,該兩個(gè)計(jì)算裝置用于按照CGA-DCT算法,計(jì)算從該8個(gè)輸入單元輸入的數(shù)據(jù),每一次4項(xiàng)數(shù)據(jù),并從4個(gè)輸出單元輸出數(shù)據(jù);有8個(gè)輸入單元和8個(gè)輸出單元的存儲(chǔ)裝置,該8個(gè)輸入單元與兩個(gè)計(jì)算裝置總數(shù)為8個(gè)的輸出單元連接,該8個(gè)輸出單元與存儲(chǔ)處理器總數(shù)為8個(gè)的輸入單元連接,該存儲(chǔ)裝置每一次能讓8項(xiàng)數(shù)據(jù)按先進(jìn)先出方式寫(xiě)入和讀出,總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù),該存儲(chǔ)裝置還用于存儲(chǔ)從計(jì)算裝置各個(gè)輸出單元輸出的總數(shù)為8項(xiàng)的數(shù)據(jù),總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù);及位于存儲(chǔ)裝置和存儲(chǔ)處理器之間的排序模塊,該排序模塊用于把來(lái)自存儲(chǔ)裝置的數(shù)據(jù),按給定次序排序。
值得采納的是,該DCT處理器還包括輸入模塊,用于從外部把數(shù)據(jù)輸入DCT處理器,該輸入模塊可以位于存儲(chǔ)處理器的緊前面、位于存儲(chǔ)處理器和計(jì)算裝置之間、或位于計(jì)算裝置和存儲(chǔ)裝置之間。
在該DCT處理器中,值得采納的是,存儲(chǔ)處理器按第一操作模式和第二操作模式之一工作,第一操作模式是當(dāng)數(shù)據(jù)寫(xiě)入給定的存儲(chǔ)單元時(shí),輸入的數(shù)據(jù)和輸出的數(shù)據(jù)之間的關(guān)聯(lián)是不變的,第二操作模式是,輸入的數(shù)據(jù)和輸出的數(shù)據(jù)之間的關(guān)聯(lián)是改變的,且來(lái)自輸入模塊的數(shù)據(jù)按第一操作模式處理。
在該DCT處理器中,值得采納的是,已經(jīng)被存儲(chǔ)處理器按第一操作模式處理的總數(shù)為32項(xiàng)的數(shù)據(jù),按順序被計(jì)算裝置和存儲(chǔ)裝置處理,之后,從存儲(chǔ)裝置輸出單元讀出的總數(shù)32項(xiàng)數(shù)據(jù),被排序模塊處理,然后,該數(shù)據(jù)按存儲(chǔ)處理器、計(jì)算裝置、存儲(chǔ)裝置、和排序模塊的次序,以第二操作模式循環(huán),已經(jīng)經(jīng)受離散余弦變換的數(shù)據(jù)結(jié)果,根據(jù)從存儲(chǔ)裝置輸出單元在第四次循環(huán)中讀出的數(shù)據(jù)確定。
在該DCT處理器中,值得采納的是,存儲(chǔ)處理器有總數(shù)32個(gè)存儲(chǔ)單元,且該32項(xiàng)數(shù)據(jù)被逐項(xiàng)地寫(xiě)入32個(gè)存儲(chǔ)單元,并逐項(xiàng)地從32個(gè)存儲(chǔ)單元讀出。
在該DCT處理器中,值得采納的是,每一存儲(chǔ)單元上有寫(xiě)入線(xiàn)和讀出線(xiàn),其中,寫(xiě)入線(xiàn)和讀出線(xiàn)的連接是彼此垂直的,并在數(shù)據(jù)寫(xiě)入和讀出中不共享。
在該DCT處理器中,值得采納的是,給定的排序由存儲(chǔ)裝置和存儲(chǔ)處理器之間交叉的傳輸線(xiàn)完成。
在該DCT處理器中,值得采納的是,用排序裝置把總數(shù)32項(xiàng)數(shù)據(jù),按給定次序輸出至該8個(gè)輸出單元。
在該DCT處理器中,值得采納的是,存儲(chǔ)處理器是8R/W存儲(chǔ)器電路,計(jì)算裝置是DCT電路,和存儲(chǔ)裝置是FIFO(先進(jìn)先出)。
在該DCT處理器中,值得采納的是,排序模塊置于存儲(chǔ)處理器之上。
此外,本發(fā)明的特征是提供實(shí)施離散余弦變換的DCT處理器中使用的存儲(chǔ)處理器,該存儲(chǔ)處理器包括使數(shù)據(jù)在按給定DCT算法進(jìn)行計(jì)算的計(jì)算裝置中,循環(huán)給定次數(shù);和置換數(shù)據(jù),以便根據(jù)從該計(jì)算裝置讀出的數(shù)據(jù),確定離散余弦變換的結(jié)果。
還有,本發(fā)明的特征是提供實(shí)施離散余弦變換的DCT處理器中使用的存儲(chǔ)處理器,該存儲(chǔ)處理器包括多個(gè)輸入單元和多個(gè)輸出單元,其中,通過(guò)多個(gè)輸入單元輸入的多項(xiàng)數(shù)據(jù)被置換,并從該多個(gè)輸出單元輸出,其中,該DCT處理器還包括有多個(gè)輸入單元和多個(gè)輸出單元的計(jì)算裝置,該多個(gè)輸入單元與存儲(chǔ)處理器的輸出單元連接,該計(jì)算裝置用于按照給定的DCT算法,計(jì)算從該多個(gè)輸入單元輸入的數(shù)據(jù),并從該多個(gè)輸出單元輸出數(shù)據(jù);有多個(gè)輸入單元和多個(gè)輸出單元的存儲(chǔ)裝置,該多個(gè)輸入單元與計(jì)算裝置的輸出單元連接,該多個(gè)輸出單元與存儲(chǔ)處理器的輸入單元連接,該存儲(chǔ)裝置用于存儲(chǔ)從計(jì)算裝置輸出單元輸出的多項(xiàng)數(shù)據(jù),并從多個(gè)輸出單元輸出數(shù)據(jù);及置于存儲(chǔ)裝置和存儲(chǔ)處理器之間的排序模塊,該排序模塊把來(lái)自存儲(chǔ)裝置的數(shù)據(jù),按給定次序排序,其中,從存儲(chǔ)裝置輸出的多項(xiàng)數(shù)據(jù),按存儲(chǔ)處理器、計(jì)算裝置、存儲(chǔ)裝置、和排序模塊的次序,循環(huán)給定次數(shù),然后,根據(jù)從存儲(chǔ)裝置輸出單元讀出的數(shù)據(jù),確定離散余弦變換的結(jié)果。
再有,本發(fā)明的特征是提供一種供32點(diǎn)DCT處理器使用、對(duì)以32個(gè)抽樣點(diǎn)獲得的32項(xiàng)數(shù)據(jù)施行離散余弦變換的存儲(chǔ)處理器,該存儲(chǔ)處理器包括8個(gè)輸入單元和8個(gè)輸出單元;其中,該存儲(chǔ)處理器每一次能讓8項(xiàng)數(shù)據(jù)輸入和輸出,總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù),并把總共32項(xiàng)數(shù)據(jù),按給定次序順序輸出至8個(gè)輸出單元,該32項(xiàng)數(shù)據(jù)已經(jīng)通過(guò)8個(gè)輸入單元,每一次8項(xiàng),總共4次,按順序?qū)懭虢o定存儲(chǔ)單元;其中,該DCT處理器還包括兩個(gè)計(jì)算裝置,各有4個(gè)輸入單元和4個(gè)輸出單元,該4個(gè)輸入單元連接至存儲(chǔ)處理器的8個(gè)輸出單元中的4個(gè)輸出單元,該兩個(gè)計(jì)算裝置用于按照CGA-DCT算法,計(jì)算從該8個(gè)輸入單元輸入的數(shù)據(jù),每一次4項(xiàng)數(shù)據(jù),并從4個(gè)輸出單元輸出數(shù)據(jù);有8個(gè)輸入單元和8個(gè)輸出單元的存儲(chǔ)裝置,該8個(gè)輸入單元與兩個(gè)計(jì)算裝置總數(shù)為8個(gè)的輸出單元連接,該8個(gè)輸出單元與存儲(chǔ)處理器總數(shù)為8個(gè)的輸入單元連接,該存儲(chǔ)裝置每一次能讓8項(xiàng)數(shù)據(jù)按先進(jìn)先出方式寫(xiě)入和讀出,總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù),該存儲(chǔ)裝置還用于存儲(chǔ)從計(jì)算裝置各個(gè)輸出單元輸出的總數(shù)為8項(xiàng)的數(shù)據(jù),總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù);及位于存儲(chǔ)裝置和存儲(chǔ)處理器之間的排序模塊,該排序模塊用于把來(lái)自存儲(chǔ)裝置的數(shù)據(jù),按給定次序排序。
圖1是方框圖,畫(huà)出一種按照本發(fā)明的DCT處理器;圖2是示意圖,用于說(shuō)明DCT電路的各個(gè)功能;圖3是方框圖,畫(huà)出一種8R/W存儲(chǔ)器電路;圖4是8R/W存儲(chǔ)器電路的電路圖;圖5是示意圖,直觀地畫(huà)出實(shí)施置換的效應(yīng);圖6是示意圖,畫(huà)出離散余弦變換過(guò)程的序列流程;和圖7是數(shù)據(jù)流圖,表明離散余弦變換過(guò)程產(chǎn)生的數(shù)據(jù)的數(shù)據(jù)流。
具體實(shí)施例方式
A.第一實(shí)施例1.DCT處理器的配置
1-1.整體配置圖1畫(huà)出的方框圖,表明按照本發(fā)明第一實(shí)施例的DCT處理器1。
具體說(shuō),該DCT處理器1是一種32點(diǎn)DCT處理器(本文此后稱(chēng)“DCT處理器”)1,它能對(duì)以32抽樣點(diǎn)獲得的32項(xiàng)抽樣數(shù)據(jù),施行離散余弦變換。此外,抽樣數(shù)據(jù)有多少比特,可由設(shè)計(jì)者自行確定,例如一個(gè)字(16比特)。
該DCT處理器1的構(gòu)成,包括兩個(gè)電路(本文此后稱(chēng)“DCT電路”)3、3′,這些電路并行排列,并能按照給定的DCT算法,對(duì)離散余弦變換進(jìn)行必要的計(jì)算;8個(gè)讀/寫(xiě)端口的SRAM存儲(chǔ)器電路(本文此后稱(chēng)“8R/W存儲(chǔ)器電路”)5(與權(quán)利要求書(shū)中的“存儲(chǔ)處理器”對(duì)應(yīng)),它是專(zhuān)門(mén)針對(duì)DCT電路使用的算法中數(shù)據(jù)流的規(guī)律性而研發(fā)的;及8字×4深度的FIFO(先進(jìn)先出緩沖器(本文此后稱(chēng)“FIFO”)(與權(quán)利要求書(shū)中的“存儲(chǔ)裝置”對(duì)應(yīng)))7。
此外,可以考慮DCT電路3和DCT電路3′是完全相同的。在這兩個(gè)DCT電路3、3′中使用的算法,是Constant Geometry for DCT算法(CGA-DCT)[4](本文此后稱(chēng)“CGA-DCT算法”),這里特別指出,它是由Jakko Altola,David Akopian等人在1999年到2000年提出的。
從圖1明顯可見(jiàn),8R/W存儲(chǔ)器電路5、DCT電路3、3′、和FIFO是彼此連接成環(huán)路的。此外,8R/W存儲(chǔ)器電路5的8個(gè)輸出單元53,與DCT電路3、3′的8個(gè)輸入單元31連接,DCT電路3、3′的8個(gè)輸出單元33,與FIFO 7的8個(gè)輸入單元71連接,及FIFO 7的8個(gè)輸出單元73,與8R/W存儲(chǔ)器電路5的8個(gè)輸入單元連接。因此,數(shù)據(jù)能夠在它們中間按上述次序循環(huán)需要的次數(shù)。換句話(huà)說(shuō),能夠按需要的次數(shù),對(duì)數(shù)據(jù)重復(fù)相同的過(guò)程。
還有,圖中箭頭指出數(shù)據(jù)流的方向。從圖明顯可見(jiàn),特別是當(dāng)數(shù)據(jù)從FIFO 7向8R/W存儲(chǔ)器電路5傳輸時(shí),部分?jǐn)?shù)據(jù)被交叉單元(與權(quán)利要求書(shū)中的“排序模塊”對(duì)應(yīng))4、4′排序(改變),更具體說(shuō),是使傳輸線(xiàn)在兩點(diǎn)間交叉。這種排序能實(shí)現(xiàn)置換,稍后還將說(shuō)明。
1-2.DCT電路
<概述>
DCT電路3、3′的構(gòu)成,包括6個(gè)加法器-減法器35a到f;兩個(gè)乘法器36a、36b;兩個(gè)選擇器(sel)37a、37b;兩個(gè)屏蔽(msk)38a、38b;及一個(gè)ROM 39。DCT電路3、3′分別設(shè)輸入單元31和輸出單元33各4個(gè)。因此,DCT電路3、3′每一次能輸入和輸出4項(xiàng)數(shù)據(jù)。從每個(gè)DCT電路3、3′的輸入單元31輸入的4項(xiàng)數(shù)據(jù),按照CGA-DCT算法計(jì)算,然后作為4項(xiàng)數(shù)據(jù)從輸出單元33輸出。
DCT電路3、3′的配置,與在下面論文說(shuō)明的相同Architecture-Oriented regular algorithms for discrete sine and cosinetransforms,IEEE Trans.Signal Processing Vol.47.pp.1109-1124,JarmoAstola,David Akopian等人,1999年4月。本文后面將對(duì)其配置作簡(jiǎn)要說(shuō)明。細(xì)節(jié)請(qǐng)參考上述論文。
<功能裝置的配置>
在圖1所示的每一個(gè)DCT電路3、3′中,可以認(rèn)為功能裝置的各個(gè)功能,能通過(guò)單個(gè)電路按圖2a)到2c)所示模式0到2實(shí)現(xiàn)。后面,在說(shuō)明圖1的DCT電路之前,首先說(shuō)明圖2所示功能裝置的各個(gè)功能。
從圖2明顯可見(jiàn),模式0的功能裝置由4個(gè)加法器-減法器35a到e和兩個(gè)乘法器36a、36b構(gòu)成。模式1的功能裝置除去上述單元外,還包括一個(gè)單獨(dú)的加法器-減法器35f,而模式2的功能裝置也同樣包括一個(gè)單獨(dú)的加法器-減法器35f。由此可見(jiàn),模式2的功能裝置提供的加法器-減法器和乘法器的數(shù)量,與圖1所示的DCT電路3、3′相同,但模式2的功能裝置不提供選擇器37a、37b,屏蔽38a、38b,及ROM 39,這些單元是包括在圖1所示的DCT電路3、3′中的。這是因?yàn)椋@些單元主要只用于選擇模式。
此外,在模式0到2的各個(gè)功能裝置的加法器-減法器中,帶有符號(hào)(-)的35b、35d、35f,用作減法器,而不帶符號(hào)的35a、35c、35e則用作加法器。還有,各個(gè)功能裝置的乘法器,在其上標(biāo)記的符號(hào)d(n)或符號(hào)2d(n)(它表示2×d(n)),表示在乘法中使用的由值n確定的系數(shù)。更具體說(shuō),該系數(shù)由下面三類(lèi)方程式構(gòu)成的方程式計(jì)算(本文此后稱(chēng)“方程式1”)。
(1)d(1)=√(0.5)(2)d(2i)=√(0.5(1+d(i))(3)d(2i+1)=√(0.5(1-d(i))(這里i=1/2,2/2,3/2,...n/2(n是整數(shù)))上述方程式1)中,例如當(dāng)n=2時(shí),使用方程式(2),且在乘法中使用的系數(shù)是d(2)=√(0.5(1+d(1))=√(0.5(1+√(0.5))。此外,n值的確定將在后面說(shuō)明。
<功能裝置的操作>
圖2a)所示功能裝置的操作如下。
假定有數(shù)據(jù)A到D的值,輸入功能裝置的4個(gè)輸入單元31,加法器-減法器35a把數(shù)據(jù)A與已經(jīng)通過(guò)交叉單元40a和交叉單元40b傳輸?shù)轿恢肁的數(shù)據(jù)C相加,從而獲得A+C。同時(shí),在位置B,加法器-減法器35b從已經(jīng)通過(guò)交叉單元40b傳輸?shù)臄?shù)據(jù)A,減去已經(jīng)通過(guò)交叉單元40a傳輸?shù)臄?shù)據(jù)C,從而獲得A-C。
類(lèi)似地,在位置C,加法器-減法器35c把已經(jīng)通過(guò)交叉單元40a傳輸?shù)臄?shù)據(jù)B與已經(jīng)通過(guò)交叉單元40c傳輸?shù)臄?shù)據(jù)D相加,從而獲得B+D。同時(shí),在位置D,加法器-減法器35d從已經(jīng)通過(guò)交叉單元40a和交叉單元40c傳輸?shù)臄?shù)據(jù)B,減去數(shù)據(jù)D,從而獲得B-D。
此外,乘法器36a把位置B獲得的A-C與按照n值的系數(shù)d(n)相乘,然后,交叉單元40d改變輸出位置。還有,乘法器36b把位置D獲得的B-D與系數(shù)d(n)相乘。
由此,通過(guò)模式0的功能裝置,在4個(gè)輸出A′到D′上分別獲得結(jié)果A+C、B+D、(A-C)×d(n)、和(B-D)×d(n)。類(lèi)似地,通過(guò)模式1的功能裝置,在各個(gè)輸出A″到D″上獲得結(jié)果A+C、B+D、(A-C)×d(n)、和(B-D)×2d(n)-(B+D)。通過(guò)模式2的功能裝置,在各個(gè)輸出A到D上獲得結(jié)果A+C、B+D、(A-C)×2d(n)-(A+C)、和(B-D)×2d(n)-(B+D)。
<DCT電路的配置>
DCT電路3、3′能夠用兩個(gè)選擇器37a、37b,兩個(gè)屏蔽38a、38b,及一個(gè)ROM 39,以單個(gè)電路實(shí)施上述模式1到3的功能裝置。
這里要指出,選擇器37a、37b用于選擇與之連接的兩個(gè)加法器-減法器35b、35d中任一個(gè)。此外,屏蔽38a用于傳輸或不傳輸信號(hào)至與之連接的加法器-減法器35e,而屏蔽38b用于傳輸或不傳輸信號(hào)至與之連接的加法器-減法器35f。
ROM 39用于存儲(chǔ)控制選擇器37a、37b和屏蔽38a、38b需要的信息。這些信息項(xiàng),存儲(chǔ)在兩張表中,即,系數(shù)表41a和指令表41b。這里指出,系數(shù)表41a用于存儲(chǔ)上述的方程式1)。各個(gè)乘法器獲得需用的n值,然后結(jié)合系數(shù)表41a,計(jì)算系數(shù)。相反,指令表41b用于按照要選擇的模式,存儲(chǔ)被選擇的選擇器和屏蔽。DCT電路3、3′按照根據(jù)指令表41b信息的每一模式,知道應(yīng)選擇哪一個(gè)選擇器37a、37b或屏蔽38a、38b。
現(xiàn)在將進(jìn)一步說(shuō)明指令表41b。例如,當(dāng)作為模式1的功能裝置操作時(shí),DCT電路3、3′的處理單元(未畫(huà)出)根據(jù)指令表41b信息,指令選擇器37a、37b,使選擇器37a從加法器-減法器35b、35d中選擇加法器-減法器35b,而使選擇器37b從加法器-減法器35b、35d中選擇加法器-減法器35d。此外,DCT電路3、3′的處理單元(未畫(huà)出)指令屏蔽38a不把加法器-減法器35a來(lái)的信號(hào)傳輸至與之連接的加法器-減法器35e,和指令屏蔽38b不把加法器-減法器35c來(lái)的信號(hào)傳輸至與之連接的加法器-減法器35f。
類(lèi)似地,當(dāng)作為模式2的功能裝置操作時(shí),DCT電路3、3′指令選擇器37a、選擇器37b、和屏蔽38a,起類(lèi)似于模式1的作用,并指令屏蔽38b把加法器-減法器35c來(lái)的信號(hào)傳輸至與之連接的加法器-減法器35f。
類(lèi)似地,當(dāng)作為模式3的功能裝置操作時(shí),DCT電路3、3′指令選擇器37a從加法器-減法器35b、35d中選擇加法器-減法器35d,和指令選擇器37b從加法器-減法器35b、35d中選擇加法器-減法器35b。此外,DCT電路3、3′指令屏蔽38a把加法器-減法器35a來(lái)的信號(hào)傳輸至與之連接的加法器-減法器35e,和指令屏蔽38b把加法器-減法器35c來(lái)的信號(hào)傳輸至與之連接的加法器-減法器35f。
通過(guò)上述功能,圖1所示DCT電路3、3′能夠?qū)崿F(xiàn)圖2所示模式1到3的功能裝置所有各個(gè)功能。
1-3.FIFO的配置FIFO 7與一般使用的FIFO相同,是一種能夠按先進(jìn)先出方式寫(xiě)入和讀出數(shù)據(jù)的存儲(chǔ)裝置。在這些FIFO中,這里特別使用8×4深度的FIFO 7。就是說(shuō),F(xiàn)IFO 7能夠一次寫(xiě)入和讀出8項(xiàng)數(shù)據(jù),能夠連續(xù)4次寫(xiě)入8項(xiàng)數(shù)據(jù),總共32項(xiàng)。顯然,該FIFO 7能夠一次存儲(chǔ)總共32項(xiàng)數(shù)據(jù)。
設(shè)置FIFO 7的目的,是為了臨時(shí)存儲(chǔ)數(shù)據(jù),就是說(shuō),使數(shù)據(jù)延遲,以便讓操作相對(duì)慢的8R/W存儲(chǔ)器電路5處理。因此可以認(rèn)為,當(dāng)技術(shù)的進(jìn)步加速8R/W存儲(chǔ)器電路5的操作時(shí),不一定需要FIFO 7。
1-4.8R/W存儲(chǔ)器電路的配置<概述>
8R/W存儲(chǔ)器電路5是專(zhuān)門(mén)為本發(fā)明的DCT處理器1研發(fā)的存儲(chǔ)器。但是,8R/W存儲(chǔ)器電路5不是簡(jiǎn)單地用作存儲(chǔ)裝置。其主要目的,是為實(shí)施離散余弦變換而進(jìn)行必要的處理,就是說(shuō),進(jìn)行置換。
可以簡(jiǎn)要地說(shuō),8R/W存儲(chǔ)器電路的配置,是為了共享各種單元(資源),這是傳統(tǒng)上用于縮減單元數(shù)量的辦法,換句話(huà)說(shuō),是有利地利用資源共享。本發(fā)明中,8R/W存儲(chǔ)器電路是用于顯著縮減處理器需要的單元數(shù)量,舉例說(shuō),如加法器-減法器、乘法器、和縱橫交換器的數(shù)量。
從8R/W存儲(chǔ)器電路5一次輸入和輸出的數(shù)據(jù),與FIFO 7相同,是8項(xiàng),它能夠連續(xù)4次寫(xiě)入(輸入)8項(xiàng)數(shù)據(jù),總共32項(xiàng),還能夠連續(xù)4次輸出數(shù)據(jù),總共32項(xiàng)。此外,在8R/W存儲(chǔ)器電路5(的存儲(chǔ)器)中一次存儲(chǔ)的數(shù)據(jù),總數(shù)是32項(xiàng)。
<細(xì)節(jié)>
現(xiàn)在將參考圖3,詳細(xì)說(shuō)明8R/W存儲(chǔ)器電路5的配置。該圖畫(huà)出8R/W存儲(chǔ)器電路5的方框圖。
按照本發(fā)明的8R/W存儲(chǔ)器電路5有32個(gè)存儲(chǔ)器塊0到31(與權(quán)利要求書(shū)中的“存儲(chǔ)單元”對(duì)應(yīng));8根寫(xiě)入線(xiàn)52a到h,用于把數(shù)據(jù)寫(xiě)入各個(gè)存儲(chǔ)器塊0到31;8根讀出線(xiàn)53a到h,用于從各個(gè)存儲(chǔ)器塊0到31讀出數(shù)據(jù);8根傳輸線(xiàn)54a到h,用于向各個(gè)存儲(chǔ)器塊0到31傳輸數(shù)據(jù);及4個(gè)縱橫交換器58a到d(與權(quán)利要求書(shū)中的“排序裝置”對(duì)應(yīng))。寫(xiě)入線(xiàn)52a到h和讀出線(xiàn)53a到h分別與寫(xiě)入選通單元和讀出選通單元連接。
為了參考,圖4畫(huà)出8R/W存儲(chǔ)器電路5的實(shí)際電路圖。但是,該圖沒(méi)有畫(huà)出縱橫交換器58a到d。在圖中,WL 0到7與寫(xiě)入線(xiàn)52a到h對(duì)應(yīng),RL 0到7與讀出線(xiàn)53a到h對(duì)應(yīng),及(0)到(7)與傳輸線(xiàn)54a到h對(duì)應(yīng)。
<存儲(chǔ)器塊>
從各個(gè)存儲(chǔ)器塊0到31能夠?qū)懭牒妥x出一項(xiàng)數(shù)據(jù)。各個(gè)存儲(chǔ)器塊0到31以數(shù)字0到31區(qū)分??梢哉f(shuō),這些數(shù)字指明存儲(chǔ)數(shù)據(jù)的存儲(chǔ)單元。
這些存儲(chǔ)器塊0到31被分為4組塊組59a到d。因?yàn)榭偣灿?2塊存儲(chǔ)器塊,每一塊組59a到d包括8(32/4=8)塊存儲(chǔ)器塊。例如,59a包括存儲(chǔ)器塊0、16、6、22、8、24、14、30。
<傳輸線(xiàn)、寫(xiě)入線(xiàn)、和讀出線(xiàn)>
傳輸線(xiàn)54a到h按給定方向(圖中垂直方向)排列,使8根線(xiàn)分配給每一塊組59a到d,和一根線(xiàn)分配給每一存儲(chǔ)器塊0到31。通過(guò)傳輸線(xiàn)54a到h,傳輸從FIFO 7等輸出的數(shù)據(jù)。
各寫(xiě)入線(xiàn)52的排列,要使兩根線(xiàn)分配給每一塊組59,和一根線(xiàn)分配給每一存儲(chǔ)器塊0到31。每一寫(xiě)入線(xiàn)52與各個(gè)塊組59中8塊存儲(chǔ)器塊的4塊存儲(chǔ)器塊,沿垂直于傳輸線(xiàn)54a到h的方向相交。通過(guò)寫(xiě)入選通單元60的操作,一次選通寫(xiě)入線(xiàn)52的兩根線(xiàn)。當(dāng)數(shù)據(jù)傳輸線(xiàn)54上存在信號(hào)且寫(xiě)入線(xiàn)52已選通時(shí),數(shù)據(jù)寫(xiě)入相交位置的任何存儲(chǔ)器塊。每一寫(xiě)入線(xiàn)與4塊存儲(chǔ)器塊相交,且每一次選通兩根寫(xiě)入線(xiàn),因而在一次寫(xiě)入中,總共8項(xiàng)數(shù)據(jù)被寫(xiě)入任何存儲(chǔ)器塊。
各讀出線(xiàn)53a到h的排列,要使8根線(xiàn)沿與數(shù)據(jù)傳輸線(xiàn)54a到h相同方向,排列在每一塊組59a到d上。各根讀出線(xiàn)53a到h的每一根,都與8塊存儲(chǔ)器塊(一塊塊組59a到d有兩塊存儲(chǔ)器塊)相交,但每一塊組59a到d的一次操作中,實(shí)際上使用一塊存儲(chǔ)器塊,因此總數(shù)只用4塊存儲(chǔ)器塊。類(lèi)似于寫(xiě)入線(xiàn)52,通過(guò)讀出選通單元61的操作,一次選通讀出線(xiàn)53a到h的兩根線(xiàn)。每一讀出線(xiàn)53在一次讀出操作中,實(shí)際上對(duì)4塊存儲(chǔ)器塊操作,且一次選通兩根寫(xiě)入線(xiàn)。因此,在一次讀出中,總數(shù)8項(xiàng)數(shù)據(jù)從任何塊存儲(chǔ)器塊讀出。
從上述說(shuō)明可見(jiàn),在按照本發(fā)明的8R/W存儲(chǔ)器電路5中,在寫(xiě)入和讀出中,線(xiàn)是不共享的,且寫(xiě)入線(xiàn)52和讀出線(xiàn)53彼此按垂直方向排列。一般認(rèn)為離散余弦變換需要大量的縱橫交換器,利用該配置能夠縮減至僅有4個(gè)58a到d。
<縱橫交換器>
縱橫交換器58a到d,用于把已經(jīng)從各塊存儲(chǔ)器塊0到31讀出的數(shù)據(jù),在從8R/W存儲(chǔ)器電路5中輸出之前排序。例如,在第一階段,通過(guò)選通讀出線(xiàn)53a和讀出線(xiàn)53e讀出的8項(xiàng)數(shù)據(jù),就是說(shuō),讀出的8項(xiàng)數(shù)據(jù)
、[15]、[14]、[1]、[2]、[13]、[12、[3],被縱橫交換器58a到d順序地排序成次序
、[1]、[2]、[3]、[12]、[13]、[14]、[15]。另外,自始至終,在上述的說(shuō)明、說(shuō)明書(shū)、和圖中,[n](n是0到31的整數(shù))都表示存儲(chǔ)模塊的存儲(chǔ)單元n中,諸如存儲(chǔ)器塊0到31中存儲(chǔ)的數(shù)據(jù)內(nèi)容(值)。
<8R/W存儲(chǔ)器電路存儲(chǔ)器塊的讀出,和從8R/W存儲(chǔ)器電路的輸出>
8R/W存儲(chǔ)器電路存儲(chǔ)器塊的讀出,和從8R/W存儲(chǔ)器電路的輸出,通過(guò)如下過(guò)程完成。
在第一階段,就是說(shuō),在第一次讀出中,選通讀出線(xiàn)53a和讀出線(xiàn)53e,分別讀出
、[1]、[2]、[3],和[15]、[14]、[13]、[12]。這些項(xiàng)數(shù)據(jù)被縱橫交換器58順序地排序成次序
、[1]、[2]、[3]、[12]、[13]、[14]、[15],然后從8R/W存儲(chǔ)器電路5輸出。
在第二階段,就是說(shuō),在第二次讀出中,選通讀出線(xiàn)53a和讀出線(xiàn)53f,分別讀出[6]、[7]、[4]、[5],和[9]、[8]、[11]、[10]。這些項(xiàng)數(shù)據(jù)被縱橫交換器58順序地排序成次序[4]、[5]、[6]、[7]、[8]、[9]、[10]、[11],然后從8R/W存儲(chǔ)器電路5輸出。
在第三階段,就是說(shuō),在第三次讀出中,選通讀出線(xiàn)53d和讀出線(xiàn)53g,分別讀出[16]、[17]、[18]、[19],和[31]、[30]、[29]、[28]。這些項(xiàng)數(shù)據(jù)被縱橫交換器58順序地排序成次序[16]、[17]、[18]、[19]、[28]、[29]、[30]、[31],然后從8R/W存儲(chǔ)器電路5輸出。
在第四階段,就是說(shuō),在第四次讀出中,選通讀出線(xiàn)53c和讀出線(xiàn)53h,分別讀出[22]、[23]、[20]、[21],和[25]、[24]、[27]、[26]。這些項(xiàng)數(shù)據(jù)被縱橫交換器58順序地排序成次序[20]、[21]、[22]、[23]、[24]、[25]、[26]、[27],然后從8R/W存儲(chǔ)器電路5輸出。
由上明顯可見(jiàn),數(shù)據(jù)是臨時(shí)存儲(chǔ)在8R/W存儲(chǔ)器電路5中,并據(jù)此能夠把數(shù)據(jù)按給定次序輸出。此外,從8R/W存儲(chǔ)器電路5輸出的數(shù)據(jù)的次序,能夠根據(jù)8R/W存儲(chǔ)器電路5任何存儲(chǔ)器塊0到31中存儲(chǔ)的數(shù)據(jù)控制。
<8R/W存儲(chǔ)器電路存儲(chǔ)塊的數(shù)據(jù)寫(xiě)入及置換>
有兩種方式可以把數(shù)據(jù)寫(xiě)入8R/W存儲(chǔ)器電路的存儲(chǔ)器塊0到31例如,數(shù)據(jù)從DCT處理器外部的CPU等(未畫(huà)出)寫(xiě)入的情形,以及數(shù)據(jù)在DCT處理器內(nèi)部通過(guò)FIFO 7等循環(huán)而寫(xiě)入的情形。
為了在前一種情形進(jìn)行寫(xiě)入,除了圖1所示的8根信號(hào)線(xiàn)外,還可以考慮設(shè)一從DCT處理器外部輸入數(shù)據(jù)的模塊,例如,用于從DCT處理器外部,向8R/W存儲(chǔ)器電路5輸入單元51傳輸數(shù)據(jù)的信號(hào)線(xiàn)(未畫(huà)出)。這些信號(hào)線(xiàn)足以在電上連接至交叉單元4、4′(及FIFO 5)與8R/W存儲(chǔ)器電路5之間的8R/W存儲(chǔ)器電路5的輸入單元51。最好是能直接與8R/W存儲(chǔ)器電路5的輸入單元51連接,或通過(guò)選擇模塊,諸如置于8R/W存儲(chǔ)器電路5的輸入單元51緊前面的選擇器,間接連接到信號(hào)線(xiàn)24的中部(虛線(xiàn)A與信號(hào)線(xiàn)24的相交位置)。該選擇模塊與外部數(shù)據(jù)的信號(hào)線(xiàn)及環(huán)路中的信號(hào)線(xiàn)24兩者連接,并只選擇一種信號(hào)線(xiàn)系統(tǒng)。當(dāng)使用選擇模塊時(shí),可以有效地避免外部數(shù)據(jù)信號(hào)線(xiàn)與信號(hào)線(xiàn)24之間的沖突。
8R/W存儲(chǔ)器電路的操作,隨處理DCT處理器外部來(lái)的數(shù)據(jù),就是說(shuō),從輸入模塊來(lái)的數(shù)據(jù),和從DCT處理器內(nèi)部來(lái)的數(shù)據(jù)而改變。為方便起見(jiàn),在本說(shuō)明書(shū)中,把前一種8R/W存儲(chǔ)器電路的操作,稱(chēng)為“第一操作模式”(與權(quán)利要求書(shū)中的“第一操作模式”對(duì)應(yīng)),而把后一種8R/W存儲(chǔ)器電路的操作,稱(chēng)為“第二操作模式”(與權(quán)利要求書(shū)中的“第二操作模式”對(duì)應(yīng)),以便區(qū)別。這里要指出,在第一操作模式中,除來(lái)自DCT處理器(來(lái)自FIFO)的數(shù)據(jù)外的數(shù)據(jù),寫(xiě)入8R/W存儲(chǔ)器電路,然后輸出數(shù)據(jù),而在第二操作模式中,來(lái)自DCT處理器(FIFO)的數(shù)據(jù),寫(xiě)入8R/W存儲(chǔ)器電路,然后輸出數(shù)據(jù)。此外,當(dāng)使用上述選擇模塊時(shí),選擇模塊適當(dāng)?shù)厍袚Q,使在第一操作模式中,選擇外部數(shù)據(jù)信號(hào)線(xiàn),把來(lái)自CPU等的數(shù)據(jù)傳輸至8R/W存儲(chǔ)器電路,而在第二操作模式中,選擇信號(hào)線(xiàn)24,把來(lái)自FIFO的數(shù)據(jù),傳輸至8R/W存儲(chǔ)器電路。
在第一操作模式中,數(shù)據(jù)來(lái)自輸入模塊(未畫(huà)出),從而數(shù)據(jù)不通過(guò)交叉單元4、4′(見(jiàn)圖1),也不改變數(shù)據(jù)的關(guān)聯(lián),寫(xiě)入8R/W存儲(chǔ)器電路。相反,在第二操作模式中,數(shù)據(jù)來(lái)自FIFO 5,從而是經(jīng)交叉單元4、4′排序的數(shù)據(jù),然后,以改變的數(shù)據(jù)關(guān)聯(lián)存儲(chǔ)在8R/W存儲(chǔ)器電路中。因此,在第二操作模式中,從8R/W存儲(chǔ)器電路輸出的數(shù)據(jù)已被置換。
為進(jìn)一步說(shuō)明,在第一操作模式中,數(shù)據(jù)寫(xiě)入位置遵從指配給各個(gè)存儲(chǔ)器塊0到31的數(shù)字0到31。更具體說(shuō),數(shù)據(jù)
定位在存儲(chǔ)器塊0、[1]定位在存儲(chǔ)器塊1、[2]定位在存儲(chǔ)器塊2、如此類(lèi)推。因此,在第一操作模式中,數(shù)據(jù)在第一階段的讀出,得到數(shù)據(jù)
、[1]、[2]、[3]、[12]、[13]、[14]、[15],各與寫(xiě)入前的
、[1]、[2]、[3]、[12]、[13]、[14]、[15]對(duì)應(yīng)。數(shù)據(jù)在第二階段的讀出,得到[4]、[5]、[6]、[7]、[8]、[9]、[10]、[11],各與寫(xiě)入前的[4]、[5]、[6]、[7]、[8]、[9]、[10]、[11]對(duì)應(yīng)。此外,數(shù)據(jù)在第三階段的讀出,得到數(shù)據(jù)[16]、[17]、[18]、[19]、[28]、[29]、[30]、[31],各與寫(xiě)入前的[16]、[17]、[18]、[19]、[28]、[29]、[30]、[31]對(duì)應(yīng)。還有,數(shù)據(jù)在第四階段的讀出,得到數(shù)據(jù)[20]、[21]、[22]、[23]、[24]、[25]、[26]、[27],各與寫(xiě)入前的[20]、[21]、[22]、[23]、[24]、[25]、[26]、[27]對(duì)應(yīng)。因此,在第一操作模式中,讀出的數(shù)據(jù)的次序僅僅受到控制。
相反,在第二操作模式中,數(shù)據(jù)被位于FIFO和8R/W存儲(chǔ)器電路之間的交叉單元4、4′(見(jiàn)圖1)排序,然后以改變關(guān)聯(lián)的數(shù)據(jù),寫(xiě)入8R/W存儲(chǔ)器電路。因此,數(shù)據(jù)寫(xiě)入位置不必遵從指配給各個(gè)存儲(chǔ)器塊的數(shù)字0到31。相應(yīng)地,在第二操作模式中,數(shù)據(jù)關(guān)聯(lián)被改變,就是說(shuō),數(shù)據(jù)被置換,然后,被讀出的數(shù)據(jù)次序受到控制。
圖5直觀地畫(huà)出實(shí)施置換獲得的效應(yīng)。在該圖中,沒(méi)有[]的數(shù)字是存儲(chǔ)器塊的數(shù)字0到31。從該圖明顯可見(jiàn),例如,左邊所示的原來(lái)的數(shù)據(jù)
到[31]被置換,然后與右邊所示的
、[2]、[1]、[6]、[8]、[10]等等關(guān)聯(lián)。此外,
、[2]、[1]、[6]、[8]、[10]等等置換前在存儲(chǔ)器塊0、1、2、3等等中得到的數(shù)據(jù),就是置換后的
、[1]、[2]、[3]等等。
下面將參考圖3,進(jìn)一步詳細(xì)說(shuō)明。在置換前的第一階段數(shù)據(jù)
、[1]、[2]、[3]、[12]、[13]、[14]、[15],首先被交叉單元4、4′排序成次序
、[2]、[1]、[3]、[12]、[14]、[13]、[15](見(jiàn)圖3中56)。之后,選通寫(xiě)入線(xiàn)52a、52d,從而把數(shù)據(jù)寫(xiě)入存儲(chǔ)器塊0、1、16、17、和6、7、22、23。因此,從存儲(chǔ)器塊讀出的數(shù)據(jù)是
、[1]、[16]、[17]、[6]、[7]、[22]、[2]。更具體說(shuō),數(shù)據(jù)被置換,使原來(lái)的
、[1]、[2]、[3]、[12]、[13]、[14]、[15]分別與
、[16]、[1]、[17]、[6]、[22]、[7]、[23]關(guān)聯(lián)。
類(lèi)似地,在置換前的第二階段數(shù)據(jù)[4]、[5]、[6]、[7]、[8]、[9]、[10]、[11],首先被交叉單元4、4′排序成次序[4]、[6]、[5]、[7]、[8]、[10]、[9]、[11](見(jiàn)圖3中56)。之后,選通寫(xiě)入線(xiàn)52e、52h,從而把數(shù)據(jù)寫(xiě)入存儲(chǔ)器塊2、3、18、19、和4、5、20、21。因此,從存儲(chǔ)器塊讀出的數(shù)據(jù)是[2]、[3]、[18]、[19]、[4]、[5]、[20]、[21]。更具體說(shuō),數(shù)據(jù)被置換,使原來(lái)的[4]、[5]、[6]、[7]、[8]、[9]、[10]、[11]分別與[2]、[18]、[3]、[19]、[5]、[4]、[20]、[21]關(guān)聯(lián)。
此外,在置換前的第三階段的[16]、[1]、[18]、[19]、[28]、[29]、[30]、[31],首先被交叉單元4、4′排序成次序[16]、[18]、[17]、[19]、[28]、[30]、[29]、[31](見(jiàn)圖3中56)。之后,選通寫(xiě)入線(xiàn)52b、52c,從而把數(shù)據(jù)寫(xiě)入存儲(chǔ)器塊8、9、24、25、和14、15、30、31。因此,從存儲(chǔ)器塊讀出的數(shù)據(jù)是[8]、[9]、[24]、[25]、[14]、[15]、[30]、[31]。更具體說(shuō),數(shù)據(jù)被置換,使原來(lái)的[16]、[17]、[18]、[19]、[28]、[29]、[30]、[31]分別與[8]、[24]、[9]、[25]、[14]、[30]、[15]、[31]關(guān)聯(lián)。
還有,在置換前的第四階段的[20]、[21]、[22]、[23]、[24]、[25]、[26]、[27],首先被交叉單元4、4′排序成次序[20]、[22]、[21]、[23]、[24]、[26]、[25]、[27](見(jiàn)圖3中56)。之后,選通寫(xiě)入線(xiàn)52g、52h,從而把數(shù)據(jù)寫(xiě)入存儲(chǔ)器塊10、11、26、27、12、13、28、29。因此,從存儲(chǔ)器塊讀出的數(shù)據(jù)是[10]、[11]、[26]、[27]、[12]、[13]、[28]、[29]。更具體說(shuō),數(shù)據(jù)被置換,使原來(lái)的[20]、[21]、[22]、[23]、[24]、[25]、[26]、[27]分別與[10]、[26]、[11]、[27]、[12]、[28]、[13]、[29]關(guān)聯(lián)。
2.DCT處理器的操作圖6按照本發(fā)明,畫(huà)出由DCT處理器1及其外圍裝置(未畫(huà)出)進(jìn)行的離散余弦變換過(guò)程的序列流程,而圖7是數(shù)據(jù)流圖,表明由該過(guò)程產(chǎn)生的數(shù)據(jù)的數(shù)據(jù)流。另外,圖7上部所示步驟(ST)的數(shù)字,分別與圖6的那些數(shù)字對(duì)應(yīng)。
此外,按照本發(fā)明的DCT處理器1實(shí)施的過(guò)程,只是圖6所示步驟1到11中的步驟3到10。余下的步驟1、2、和11是由外圍裝置,諸如CPU等等實(shí)施。換句話(huà)說(shuō),為了獲得離散余弦變換的最后結(jié)果,除去按照本發(fā)明的DCT處理器1實(shí)施的過(guò)程外,還需要外圍裝置來(lái)完成過(guò)程的步驟1、2、和11。但是,值得采納的是,用經(jīng)過(guò)修改設(shè)計(jì)的按照本發(fā)明的DCT處理器1來(lái)完成這些過(guò)程。
在步驟1,需接受離散余弦變換的數(shù)據(jù),首先按32抽樣點(diǎn)抽樣,獲得32項(xiàng)抽樣數(shù)據(jù)
到[31]。
在步驟2,抽樣數(shù)據(jù)按圖7所示的次序被排序。這一排序是為適當(dāng)進(jìn)行后面的過(guò)程需要的過(guò)程。該排序使數(shù)據(jù)被排序成次序
、[1]、[31]、[30]如此等等。
隨后在步驟3,數(shù)據(jù)寫(xiě)入并從按第一操作模式工作的8R/W存儲(chǔ)器電路5的存儲(chǔ)器塊0到31讀出。此外,這里的寫(xiě)入是由例如CPU等進(jìn)行的,不是由FIFO 5(見(jiàn)圖1)進(jìn)行的,從而交叉單元4、4′不進(jìn)行排序。還有,在此情形中,每一項(xiàng)數(shù)據(jù)被寫(xiě)入對(duì)應(yīng)于數(shù)字
、[1]、[31]、[30]如此等等的存儲(chǔ)器塊。更具體說(shuō),
寫(xiě)入存儲(chǔ)器塊0,[1]寫(xiě)入存儲(chǔ)器塊1,和[31]寫(xiě)入存儲(chǔ)器塊31,余類(lèi)推。對(duì)這類(lèi)寫(xiě)入和讀出,如參考圖3所述,數(shù)據(jù)從8R/W存儲(chǔ)器電路5輸出,在第一階段得到
、[1]、[2]、[3]、[12]、[13]、[14]、[15],在第二階段得到[4]、[5]、[6]、[7]、[8]、[9]、[10]、[11],在第三階段得到[16]、[17]、[18]、[19]、[28]、[29]、[30]、[31],和在第四階段得到[20]、[21]、[22]、[23]、[24]、[25]、[26]、[27],不改變關(guān)聯(lián)。
然后,在步驟4,數(shù)據(jù)被兩個(gè)DCT電路3、3′(見(jiàn)圖1)處理(ST4)。從圖1明顯可見(jiàn),因?yàn)?R/W存儲(chǔ)器電路5的8個(gè)輸出單元相應(yīng)地連接到該兩個(gè)DCT電路3、3′的4個(gè)輸入單元,在第一階段由8R/W存儲(chǔ)器電路5讀出的數(shù)據(jù)
、[1]、[2]、[3],被DCT電路3處理,而[12]、[13]、[14]、[15]則被DCT電路3′處理。類(lèi)似地,在第二階段讀出的數(shù)據(jù)[4]、[5]、[6]、[7],被DCT電路3處理,而[8]、[9]、[10]、[11],則被DCT電路3′處理。另外,在第三階段讀出的數(shù)據(jù)[16]、[17]、[18]、[19],被DCT電路3處理,而[28]、[29]、[30]、[31]則被DCT電路3′處理。還有,在第四階段讀出的數(shù)據(jù)[20]、[21]、[22]、[23],被DCT電路3處理,而[24]、[25]、[26]、[27],則被DCT電路3′處理。
此外,在圖7中,為了清楚表明被DCT電路3、3′處理的數(shù)據(jù),被DCT電路3、3′的單個(gè)電路處理的數(shù)據(jù)區(qū),用方框包圍起來(lái)。從以上所述明顯可見(jiàn),每一方框中有4項(xiàng)數(shù)據(jù)被處理。
這里要指出,每一方框中的<n>(n是從1到4的整數(shù))表示,該數(shù)據(jù)是在階段1到4中處理。例如,有<1>的兩個(gè)方框,表示它們?cè)诘谝浑A段處理。再有,方框中要處理的數(shù)據(jù)是
到[4]或[12]到[15],表示它們分別被DCT電路3和DCT電路3′處理。類(lèi)似地,有<2>的兩個(gè)方框,表示它們?cè)诘诙A段處理,且在此時(shí)要處理的數(shù)據(jù)是[4]到[7]或[8]到[11],表示它們分別被DCT電路3和DCT電路3′處理。還有,有<3>的兩個(gè)方框,表示它們?cè)诘谌A段處理,且要處理的數(shù)據(jù)是[16]到[19]或[27]到[31],表示它們分別被DCT電路3和DCT電路3′處理。類(lèi)似地,都有<4>的兩個(gè)方框,表示它們?cè)诘谒碾A段處理,且在此時(shí)要處理的數(shù)據(jù)是[20]到[23]或[24]到[27],表示它們分別被DCT電路3和DCT電路3′處理。
此外,每一方框中的模式n(n是從0到2的整數(shù)),表示個(gè)別DCT電路3、3′使用的模式。還有,d(n)(n是從1到31的整數(shù))表示個(gè)別DCT電路3、3′的乘法器36a、36b(見(jiàn)圖1)使用的乘法系數(shù)。例如,在第一階段,DCT電路3作為模式0的功能裝置(見(jiàn)圖2a))起作用,模式0的功能裝置乘法器36a使用系數(shù)d(16),而乘法器36b使用系數(shù)d(24)。同時(shí),與第一階段類(lèi)似,DCT電路3′作為模式0的功能裝置(見(jiàn)圖2a))起作用,模式0的功能裝置乘法器36a使用系數(shù)d(19),而乘法器36b使用系數(shù)d(27)。
之后,在步驟5,已經(jīng)被各個(gè)DCT電路3、3′處理的8項(xiàng)數(shù)據(jù),順序地寫(xiě)入FIFO 7(見(jiàn)圖1),所有32項(xiàng)數(shù)據(jù)都寫(xiě)入,然后,接著再讀出。此時(shí)讀出的數(shù)據(jù)對(duì)應(yīng)于在第一階段
、[1]、[2]、[3]、[12]、[13]、[14]、[15];在第二階段[4]、[5]、[6]、[7]、[8]、[9]、[10]、[11];在第三階段[16]、[17]、[18]、[19]、[28]、[29]、[30]、[31];和在第四階段[20]、[21]、[22]、[23]、[24]、[25]、[26]、[27]。
接著在步驟6,數(shù)據(jù)被交叉單元4、4′(見(jiàn)圖1)排序。該排序使來(lái)自FIFO的數(shù)據(jù)成為如圖3中56所示的次序。更具體說(shuō),第一階段的數(shù)據(jù)是
、[2]、[1]、[3]、[12]、[14]、[13]、[15];第二階段的數(shù)據(jù)是[4]、[6]、[5]、[7]、[8]、[10]、[9]、[11];第三階段的數(shù)據(jù)是[16]、[18]、[17]、[19]、[28]、[30]、[29]、[31];和第四階段的數(shù)據(jù)是[20]、[22]、[21]、[23]、[24]、[26]、[25]、[27]。
然后在步驟7,從FIFO 7讀出的數(shù)據(jù),被送回工作在第二操作模式(該電路的操作是使數(shù)據(jù)循環(huán))的8R/W存儲(chǔ)器電路5(見(jiàn)圖1),并被寫(xiě)入和讀出。結(jié)果被施行置換,分別使第一階段的數(shù)據(jù)
、[1]、[2]、[3]、[12]、[13]、[14]、[15],與
、[16]、[1]、[17]、[6]、[22]、[7]、[23]關(guān)聯(lián);分別使第二階段的數(shù)據(jù)[4]、[5]、[6]、[7]、[8]、[9]、[10]、[11],與[2]、[18]、[3]、[19]、[5]、[4]、[20]、[21]關(guān)聯(lián);分別使第三階段的數(shù)據(jù)[16]、[17]、[18]、[19]、[28]、[29]、[30]、[31],與[8]、[24]、[9]、[25]、[14]、[30]、[15]、[31]關(guān)聯(lián);和分別使第四階段的數(shù)據(jù)[20]、[22]、[21]、[23]、[24]、[26]、[25]、[27],與[10]、[26]、[11]、[27]、[12]、[28]、[13]、[29]關(guān)聯(lián)。
接著在步驟8,已經(jīng)被置換的數(shù)據(jù),再由DCT電路3、3′處理。該處理與步驟4說(shuō)明的相同。
然后,在步驟9,來(lái)自DCT電路3、3′的數(shù)據(jù)再被FIFO 7處理。該處理與步驟5說(shuō)明的相同。
接著在步驟10,交叉單元4、4′(見(jiàn)圖1)再次進(jìn)行排序。該過(guò)程與步驟6說(shuō)明的相同。
之后,從步驟7到步驟10的過(guò)程,又重復(fù)3次(該電路的操作是“循環(huán)”)。因此,從步驟7到步驟10的過(guò)程總共被重復(fù)4次(但是,從下面的說(shuō)明和圖6明顯可見(jiàn),值得采納的是,第4次循環(huán)的步驟10可以省略,因?yàn)樗挥绊懽詈蠼Y(jié)果)。
最后,在步驟11,當(dāng)?shù)?次循環(huán)結(jié)束時(shí),在步驟9的過(guò)程后獲得的數(shù)據(jù),即從FIFO 7(見(jiàn)圖1)來(lái)的數(shù)據(jù),被排序成次序
、[4]、[8]、[12]等等,且數(shù)據(jù)
已被系數(shù)d(1)(即√(0.5))乘。這些過(guò)程就是為獲得必要形式的最后結(jié)果需要的過(guò)程。
B.第二實(shí)施例再參考圖1說(shuō)明按照本發(fā)明的第二實(shí)施例。在該第二實(shí)施例中,數(shù)據(jù)是由輸入模塊(未畫(huà)出)從外部向DCT處理器輸入的,該輸入模塊位于8R/W存儲(chǔ)器電路5和DCT電路3、3′之間(虛線(xiàn)B與信號(hào)線(xiàn)24的相交位置)。
因此,在第二實(shí)施例中,與第一實(shí)施例相反,來(lái)自DCT處理器外部的數(shù)據(jù),直接送至DCT電路3、3′,不經(jīng)過(guò)8R/W存儲(chǔ)器電路5。但是,在這種情形下也一樣,送至DCT電路3、3′的數(shù)據(jù),與經(jīng)過(guò)8R/W存儲(chǔ)器電路5的數(shù)據(jù)相同,此外,它必須與經(jīng)過(guò)8R/W存儲(chǔ)器電路按第一操作模式處理的數(shù)據(jù)相同。根據(jù)這一理由,在第二實(shí)施例中,數(shù)據(jù)是被認(rèn)為經(jīng)過(guò)CPU之類(lèi)事先處理的。
顯然,在第二實(shí)施例中,8R/W存儲(chǔ)器電路5不必為了按第一操作模式的處理而操作。換而言之,在第二實(shí)施例中,最好是只在上述第二操作模式中,才使8R/W存儲(chǔ)器電路5工作。因此,按照第二實(shí)施例,由CPU之類(lèi)實(shí)施的處理,或多或少比第一實(shí)施例增加,但最好是讓8R/W存儲(chǔ)器電路5以單一的操作模式(第二操作模式)工作,從而能夠使8R/W存儲(chǔ)器電路的控制和配置變得更為簡(jiǎn)單。相反,在第一實(shí)施例中,8R/W存儲(chǔ)器電路的控制和配置,或多或少變得比第二實(shí)施例更復(fù)雜,但優(yōu)點(diǎn)是,可以減小CPU之類(lèi)進(jìn)行的處理。
C.第三實(shí)施例按照本發(fā)明的第三實(shí)施例,包括那些其中有輸入模塊置于DCT電路3、3′和FIFO 7之間(虛線(xiàn)C與信號(hào)線(xiàn)24的相交位置)的情形。
因此,在第三實(shí)施例中,來(lái)自DCT處理器之外的數(shù)據(jù),直接送至FIFO 7,不經(jīng)過(guò)8R/W存儲(chǔ)器電路5或DCT電路3、3′。但是,在這種情形下也一樣,送至FIFO 5的數(shù)據(jù),必須與通過(guò)8R/W存儲(chǔ)器電路5或DCT電路3、3′的數(shù)據(jù)相同,此外,與經(jīng)過(guò)8R/W存儲(chǔ)器電路5和DCT電路3、3′按第一操作模式處理的數(shù)據(jù)相同。這一過(guò)程能夠用CPU之類(lèi)完成。
顯然,同樣在第三實(shí)施例中,與第二實(shí)施例類(lèi)似,8R/W存儲(chǔ)器電路5不必為了按第一操作模式的處理而操作。因此,第三實(shí)施例具有的優(yōu)點(diǎn)和缺點(diǎn),與第二實(shí)施例中說(shuō)明的那些相同。
D.DCT處理器的性能下面的表指出按照本發(fā)明的DCT處理器與Lippen等人的DCT處理器比較的比較結(jié)果。
在此指出,“計(jì)算單個(gè)抽樣點(diǎn)需要的計(jì)算單元數(shù)”是指圖6中的計(jì)算單元數(shù),就是說(shuō),加法器-減法器和乘法器的數(shù)量。按照本發(fā)明,它們是為DCT電路3、3′設(shè)置的,各有8單元,總共16單元。此外,“每一周期產(chǎn)生的中間輸出值數(shù)”是DCT電路在一次計(jì)算中能夠產(chǎn)生的值的數(shù)量。按照本發(fā)明,32個(gè)抽樣點(diǎn)計(jì)算4次,從而得到8。還有,“寄存器文件(數(shù)據(jù)的存儲(chǔ)裝置)數(shù)是指用于存儲(chǔ)計(jì)算結(jié)果的存儲(chǔ)裝置數(shù)。按照本發(fā)明,F(xiàn)IFO 7和8R/W存儲(chǔ)器電路5構(gòu)成兩個(gè)裝置?!肮浪愕腄CT核心面積”是DCT處理器1需要的面積。“輸出等待時(shí)間”是直到獲得輸出結(jié)果的平均時(shí)間。
從上表明顯可見(jiàn),對(duì)存儲(chǔ)器塊外圍邏輯需要的面積,例如,按照本發(fā)明的DCT處理器1,有約半個(gè)Lippen算法要求的處理器的面積已經(jīng)足夠。此外,關(guān)于輸出等待時(shí)間(延遲),按照本發(fā)明的DCT處理器1,有約四分之一Lippen處理器需要的等待時(shí)間已經(jīng)足夠。如上所述,按照本發(fā)明的DCT處理器1,發(fā)揮了良好性能。
最后,在上述各實(shí)施例中,交叉單元是用來(lái)對(duì)FIFO來(lái)的數(shù)據(jù)排序的,但最好用例如縱橫交換器。此外,值得采納的是,把交叉單元置于FIFO輸出單元和8R/W存儲(chǔ)器電路輸入單元之上(在8R/W存儲(chǔ)器電路之內(nèi))。唯一的要求是,排序必須在寫(xiě)入8R/W存儲(chǔ)器電路的存儲(chǔ)器塊之前完成,以便由8R/W存儲(chǔ)器電路施行置換。
按照本發(fā)明,8R/W存儲(chǔ)器電路有利地利用資源共享,從而消除信號(hào)置換(替換)的復(fù)雜性,便于縮減需要的單元數(shù)量、功能塊的面積、及功耗,還進(jìn)一步便于加速處理速度即降低輸出等待時(shí)間。
權(quán)利要求
1.一種用于離散余弦變換的DCT處理器,包括用于置換數(shù)據(jù)的存儲(chǔ)處理器;用于按給定的DCT算法計(jì)算的計(jì)算裝置;其中,數(shù)據(jù)按給定次數(shù)在存儲(chǔ)處理器和計(jì)算裝置之間循環(huán);和根據(jù)從計(jì)算裝置讀出的數(shù)據(jù)確定離散余弦變換的結(jié)果。
2.一種用于離散余弦變換的DCT處理器,包括有多個(gè)輸入單元和多個(gè)輸出單元的存儲(chǔ)處理器,該存儲(chǔ)處理器用于置換通過(guò)該多個(gè)輸入單元輸入的多項(xiàng)數(shù)據(jù),然后把數(shù)據(jù)從該多個(gè)輸出單元輸出;有多個(gè)輸入單元和多個(gè)輸出單元的計(jì)算裝置,該多個(gè)輸入單元與存儲(chǔ)處理器的輸出單元連接,該計(jì)算裝置用于按照給定的DCT算法計(jì)算從該多個(gè)輸入單元輸入的數(shù)據(jù)、并從該多個(gè)輸出單元輸出數(shù)據(jù);有多個(gè)輸入單元和多個(gè)輸出單元的存儲(chǔ)裝置,該多個(gè)輸入單元與計(jì)算裝置輸出單元連接,該多個(gè)輸出單元與存儲(chǔ)處理器輸入單元連接,該存儲(chǔ)裝置用于存儲(chǔ)從計(jì)算裝置輸出單元輸出的多項(xiàng)數(shù)據(jù)、并從該多個(gè)輸出單元輸出數(shù)據(jù);和位于存儲(chǔ)裝置和存儲(chǔ)處理器之間的排序模塊,該排序模塊用于把來(lái)自存儲(chǔ)裝置的數(shù)據(jù)按給定次序排序;其中,從存儲(chǔ)裝置輸出單元輸出的該多項(xiàng)數(shù)據(jù)按存儲(chǔ)處理器、計(jì)算裝置、存儲(chǔ)裝置、和排序模塊的次序循環(huán)給定次數(shù);和根據(jù)從存儲(chǔ)裝置輸出單元讀出的數(shù)據(jù)確定離散余弦變換的結(jié)果。
3.一種32點(diǎn)DCT處理器,對(duì)以32個(gè)抽樣點(diǎn)獲得的32項(xiàng)數(shù)據(jù)施行離散余弦變換,該32點(diǎn)DCT處理器包括有8個(gè)輸入單元和8個(gè)輸出單元的存儲(chǔ)處理器,該存儲(chǔ)處理器每一次能讓8項(xiàng)數(shù)據(jù)輸入和輸出,總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù),該存儲(chǔ)處理器還用于把總共32項(xiàng)數(shù)據(jù)按給定次序輸出至8個(gè)輸出單元,該32項(xiàng)數(shù)據(jù)已經(jīng)通過(guò)8個(gè)輸入單元,每一次8項(xiàng),總共4次,按順序?qū)懭虢o定存儲(chǔ)單元;兩個(gè)計(jì)算裝置,各有4個(gè)輸入單元和4個(gè)輸出單元,該4個(gè)輸入單元連接至存儲(chǔ)處理器的8個(gè)輸出單元中的4個(gè)輸出單元,該兩個(gè)計(jì)算裝置用于按照CGA-DCT算法計(jì)算從該8個(gè)輸入單元輸入的數(shù)據(jù),每一次4項(xiàng)數(shù)據(jù),并從4個(gè)輸出單元輸出數(shù)據(jù);有8個(gè)輸入單元和8個(gè)輸出單元的存儲(chǔ)裝置,該8個(gè)輸入單元與兩個(gè)計(jì)算裝置總數(shù)為8個(gè)的輸出單元連接,該8個(gè)輸出單元與存儲(chǔ)處理器總數(shù)為8個(gè)的輸入單元連接,該存儲(chǔ)裝置每一次能讓8項(xiàng)數(shù)據(jù)按先進(jìn)先出方式寫(xiě)入和讀出,總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù),該存儲(chǔ)裝置還用于存儲(chǔ)從計(jì)算裝置各個(gè)輸出單元輸出的總數(shù)為8項(xiàng)的數(shù)據(jù),總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù);和位于存儲(chǔ)裝置和存儲(chǔ)處理器之間的排序模塊,該排序模塊用于把來(lái)自存儲(chǔ)裝置的數(shù)據(jù),按給定次序排序。
4.按照權(quán)利要求3的DCT處理器,還包括一輸入模塊,用于從外部向該DCT處理器輸入數(shù)據(jù),該輸入模塊位于存儲(chǔ)處理器的緊前面。
5.按照權(quán)利要求4的DCT處理器,其中,該存儲(chǔ)處理器按第一操作模式和第二操作模式之一工作,第一操作模式是當(dāng)數(shù)據(jù)寫(xiě)入給定的存儲(chǔ)單元時(shí),輸入的數(shù)據(jù)和輸出的數(shù)據(jù)之間的關(guān)聯(lián)是不變的,第二操作模式是輸入的數(shù)據(jù)和輸出的數(shù)據(jù)之間的關(guān)聯(lián)是改變的;和來(lái)自輸入模塊的數(shù)據(jù)按第一操作模式處理。
6.按照權(quán)利要求5的DCT處理器,其中,已經(jīng)被存儲(chǔ)處理器按第一操作模式處理的總數(shù)為32項(xiàng)的數(shù)據(jù),按順序被計(jì)算裝置和存儲(chǔ)裝置處理;之后,從存儲(chǔ)裝置輸出單元讀出的總數(shù)32項(xiàng)數(shù)據(jù),被排序模塊處理;然后,數(shù)據(jù)按存儲(chǔ)處理器、計(jì)算裝置、存儲(chǔ)裝置、和排序模塊的次序以第二操作模式循環(huán);和已經(jīng)經(jīng)受離散余弦變換的數(shù)據(jù)結(jié)果根據(jù)從存儲(chǔ)裝置輸出單元在第四次循環(huán)中讀出的數(shù)據(jù)確定。
7.按照權(quán)利要求3的DCT處理器,還包括一輸入模塊,用于從外部向該DCT處理器輸入數(shù)據(jù),該輸入模塊位于存儲(chǔ)處理器和計(jì)算裝置之間。
8.按照權(quán)利要求3的DCT處理器,還包括一輸入模塊,用于從外部向該DCT處理器輸入數(shù)據(jù),該輸入模塊位于計(jì)算裝置和存儲(chǔ)裝置之間。
9.按照權(quán)利要求3的DCT處理器,其中,存儲(chǔ)處理器有總數(shù)32個(gè)存儲(chǔ)單元,且該32項(xiàng)數(shù)據(jù)被逐項(xiàng)地寫(xiě)入32個(gè)存儲(chǔ)單元,并逐項(xiàng)地從32個(gè)存儲(chǔ)單元讀出。
10.按照權(quán)利要求3的DCT處理器,其中,寫(xiě)入線(xiàn)和讀出線(xiàn)置于每一存儲(chǔ)單元上;其中,寫(xiě)入線(xiàn)和讀出線(xiàn)的連接是彼此垂直的,并在數(shù)據(jù)寫(xiě)入和讀出中不共享。
11.按照權(quán)利要求3到10任一項(xiàng)的DCT處理器,其中,給定的排序是由存儲(chǔ)裝置和存儲(chǔ)處理器之間交叉的傳輸線(xiàn)完成的。
12.按照權(quán)利要求3到11任一項(xiàng)的DCT處理器,其中,用排序裝置把總共32項(xiàng)數(shù)據(jù)按給定次序輸出至8個(gè)輸出單元。
13.按照權(quán)利要求3到12任一項(xiàng)的DCT處理器,其中,該存儲(chǔ)處理器是8R/W存儲(chǔ)器電路、該計(jì)算裝置是DCT電路、和該存儲(chǔ)裝置是FIFO。
14.按照權(quán)利要求3到13任一項(xiàng)的DCT處理器,其中,該排序模塊置于存儲(chǔ)處理器之上。
15.一種供實(shí)施離散余弦變換的DCT處理器使用的存儲(chǔ)處理器,該存儲(chǔ)處理器包括用按照給定DCT算法計(jì)算的計(jì)算裝置,使數(shù)據(jù)按給定次數(shù)循環(huán);和置換數(shù)據(jù),以便根據(jù)從計(jì)算裝置讀出的數(shù)據(jù),確定離散余弦變換的結(jié)果。
16.一種供實(shí)施離散余弦變換的DCT處理器使用的存儲(chǔ)處理器,該存儲(chǔ)處理器包括多個(gè)輸入單元;和多個(gè)輸出單元;其中,通過(guò)該多個(gè)輸入單元輸入的數(shù)據(jù)被置換,并從該多個(gè)輸出單元輸出,其中的DCT處理器還包括有多個(gè)輸入單元和多個(gè)輸出單元的計(jì)算裝置,該多個(gè)輸入單元與該存儲(chǔ)處理器的輸出單元連接,該計(jì)算裝置用于按照給定的DCT算法,計(jì)算從該多個(gè)輸入單元輸入的數(shù)據(jù)、并從該多個(gè)輸出單元輸出數(shù)據(jù);有多個(gè)輸入單元和多個(gè)輸出單元的存儲(chǔ)裝置,該多個(gè)輸入單元與該計(jì)算裝置的輸出單元連接,該多個(gè)輸出單元與該存儲(chǔ)處理器的輸入單元連接,該存儲(chǔ)裝置用于存儲(chǔ)從計(jì)算裝置輸出單元輸出的多項(xiàng)數(shù)據(jù)、并從該多個(gè)輸出單元輸出數(shù)據(jù);和置于存儲(chǔ)裝置和存儲(chǔ)處理器之間的排序模塊,該排序模塊把來(lái)自存儲(chǔ)裝置的數(shù)據(jù)按給定次序排序,其中,從存儲(chǔ)裝置輸出單元輸出的多項(xiàng)數(shù)據(jù),按存儲(chǔ)處理器、計(jì)算裝置、存儲(chǔ)裝置、和排序模塊的次序循環(huán)給定次數(shù);和根據(jù)從該存儲(chǔ)裝置輸出單元讀出的數(shù)據(jù)確定離散余弦變換的結(jié)果。
17.一種供32點(diǎn)DCT處理器使用、對(duì)以32個(gè)抽樣點(diǎn)獲得的32項(xiàng)數(shù)據(jù)施行離散余弦變換的存儲(chǔ)處理器,該存儲(chǔ)處理器包括8個(gè)輸入單元;和8個(gè)輸出單元;其中,該存儲(chǔ)處理器每一次能讓8項(xiàng)數(shù)據(jù)輸入和輸出,總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù),并把總共32項(xiàng)數(shù)據(jù)按給定次序順序輸出至8個(gè)輸出單元,該32項(xiàng)數(shù)據(jù)已經(jīng)通過(guò)8個(gè)輸入單元,每一次8項(xiàng),總共4次,按順序?qū)懭虢o定存儲(chǔ)單元;其中,該DCT處理器還包括兩個(gè)計(jì)算裝置,各有4個(gè)輸入單元和4個(gè)輸出單元,該4個(gè)輸入單元連接至存儲(chǔ)處理器的8個(gè)輸出單元中的4個(gè)輸出單元,該兩個(gè)計(jì)算裝置用于按照CGA-DCT算法計(jì)算從該8個(gè)輸入單元輸入的數(shù)據(jù),每一次4項(xiàng)數(shù)據(jù),并從4個(gè)輸出單元輸出數(shù)據(jù);有8個(gè)輸入單元和8個(gè)輸出單元的存儲(chǔ)裝置,該8個(gè)輸入單元與兩個(gè)計(jì)算裝置總數(shù)為8個(gè)的輸出單元連接,該8個(gè)輸出單元與存儲(chǔ)處理器總數(shù)為8個(gè)的輸入單元連接,該存儲(chǔ)裝置每一次能讓8項(xiàng)數(shù)據(jù)按先進(jìn)先出方式寫(xiě)入和讀出,總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù),該存儲(chǔ)裝置還用于存儲(chǔ)從計(jì)算裝置各個(gè)輸出單元輸出的總數(shù)為8項(xiàng)的數(shù)據(jù),總共4次,因而總數(shù)為32項(xiàng)數(shù)據(jù);和位于存儲(chǔ)裝置和存儲(chǔ)處理器之間的排序模塊,該排序模塊用于把來(lái)自存儲(chǔ)裝置的數(shù)據(jù)按給定次序排序。
全文摘要
利用在常規(guī)開(kāi)發(fā)的預(yù)定DCT算法基礎(chǔ)上專(zhuān)門(mén)構(gòu)造的處理存儲(chǔ)器,促進(jìn)資源的共享。該專(zhuān)門(mén)構(gòu)造的處理存儲(chǔ)器,降低要求的單元數(shù)、縮減功能塊面積、縮減功耗,此外還增加處理的速度,或縮減輸出的等待時(shí)間。該裝置,即一種用于執(zhí)行離散余弦變換的DCT處理器,包括存儲(chǔ)/處理裝置,用于實(shí)施數(shù)據(jù)的置換;和計(jì)算裝置,用于按照預(yù)定的DCT算法,計(jì)算并輸出數(shù)據(jù),其中,數(shù)據(jù)在該存儲(chǔ)/處理裝置和該計(jì)算裝置之間循環(huán)預(yù)定次數(shù),根據(jù)從該計(jì)算裝置輸出單元讀出的數(shù)據(jù),獲得離散余弦變換的結(jié)果。
文檔編號(hào)H03M7/30GK1672148SQ0381809
公開(kāi)日2005年9月21日 申請(qǐng)日期2003年6月27日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者后藤仁 申請(qǐng)人:諾基亞公司