專利名稱:數(shù)據(jù)塊規(guī)??勺兊?維逆向離散余弦變換機(jī)的制作方法
背景技術(shù):
I.發(fā)明領(lǐng)域本發(fā)明涉及數(shù)字信號(hào)處理。具體來說,本發(fā)明涉及一種新穎、改進(jìn)的數(shù)據(jù)塊規(guī)??勺兊?維(2-D)逆向離散余弦變換(IDCT)機(jī)。
II.相關(guān)技術(shù)說明2維離散余弦變換(IDCT)和逆向離散余弦變換(IDCT)是數(shù)字圖像壓縮中重要的信號(hào)處理操作。一種這樣的數(shù)字圖像壓縮應(yīng)用于高清晰度電視(HDTV)領(lǐng)域。在HDTV中,模擬視頻波形由模擬—數(shù)字變換器(ADC)控制和數(shù)字化。所得到的經(jīng)取樣的數(shù)據(jù)接著經(jīng)過數(shù)字處理,以減小在保留高圖像質(zhì)量情況下所必須傳送和/或存儲(chǔ)的數(shù)據(jù)量。具體來說,壓縮處理的關(guān)鍵因素是2-D離散余弦變換,其中將經(jīng)取樣數(shù)據(jù)的N×N數(shù)據(jù)塊或圖像從時(shí)域變換為頻域。經(jīng)變換的數(shù)據(jù)可進(jìn)一步由諸如霍夫曼碼(Huffman code)、游程長(zhǎng)度碼(run length codes)等分組碼,和/或諸如卷積碼(convolutional codes)和里德-所羅門碼(Reed-Solomon codes)等糾錯(cuò)碼進(jìn)行處理。在3份標(biāo)題均為“數(shù)據(jù)塊規(guī)模自適應(yīng)的圖像壓縮方法和系統(tǒng)”的美國(guó)專利U.S.Pat.No.5,452,104,U.S.Pat.No.5,107,345和U.S.Pat.No.5,021,891,以及標(biāo)題為“幀間視頻編碼和解碼系統(tǒng)”的美國(guó)專利U.S.Pat.No.5,576,767中揭示了一種示范性HDTV圖像壓縮方案,上述4項(xiàng)專利均已轉(zhuǎn)讓給本發(fā)明受讓人,現(xiàn)通過引用歸并于此。
所傳送和/或存儲(chǔ)的是經(jīng)數(shù)字編碼的視頻波形。在接收機(jī)處執(zhí)行逆向的數(shù)字信號(hào)處理來重建原始圖像的各個(gè)像素。經(jīng)還原的圖像提供給數(shù)字—模擬變換器(DAC),該變換器便將所重建的圖像變換回可以在監(jiān)視器或電視機(jī)上顯示的模擬視頻波形。
解碼處理中的重要因素是將頻域數(shù)據(jù)變換回時(shí)域的逆向離散余弦變換。該IDCT機(jī)需要以高輸出率運(yùn)行來實(shí)時(shí)重建原始圖像。另外,IDCT機(jī)通常裝在消費(fèi)類產(chǎn)品中,因而成本是考慮的主要因素。IDCT機(jī)需要設(shè)計(jì)成高速工作但復(fù)雜度很低。
該數(shù)字圖像壓縮系統(tǒng)通常按逐幀方式對(duì)視頻信號(hào)進(jìn)行處理。每一視頻幀進(jìn)一步分成一些N×N數(shù)據(jù)塊。大多數(shù)壓縮系統(tǒng)中,由系統(tǒng)設(shè)計(jì)將數(shù)據(jù)塊規(guī)模固定,以簡(jiǎn)化DCT和IDCT機(jī)的實(shí)施。
允許數(shù)據(jù)塊規(guī)模可變可以在某些條件下增強(qiáng)壓縮系統(tǒng)性能,以允許對(duì)圖像進(jìn)行優(yōu)化壓縮,并且/或者提高所重建圖像的質(zhì)量??勺償?shù)據(jù)塊規(guī)??捎脕砝脠D像的某些特性。在現(xiàn)有技術(shù)中,用不同規(guī)模的變換處理器組設(shè)計(jì)數(shù)據(jù)塊規(guī)??勺兊腄CT和IDCT機(jī)。每一處理器對(duì)相同數(shù)據(jù)塊計(jì)算不同數(shù)據(jù)塊規(guī)模的變換。然后,不同處理器輸出的變換組合成期望的復(fù)合變換數(shù)據(jù)塊。由于需要大量硬件,而且各種硬件模塊間的協(xié)調(diào)復(fù)雜,因而此方法會(huì)不靈活。
發(fā)明概述本發(fā)明為一種新穎、改進(jìn)的數(shù)據(jù)塊規(guī)模可變的2維(2-D)逆向離散余弦變換(IDCT)機(jī)。按照本發(fā)明,該N×N數(shù)據(jù)塊由第一1-D IDCT處理器按列進(jìn)行變換。該第一IDCT處理器輸出的中間結(jié)果暫時(shí)存儲(chǔ)在易位存儲(chǔ)器中。一旦所有各列均得到處理,該中間結(jié)果便由第二1-D IDCT處理器按行進(jìn)行變換。該第二IDCT處理器的輸出包括IDCT機(jī)的經(jīng)變換輸出。
本發(fā)明目的在于,提供一種能在一N×N數(shù)據(jù)塊內(nèi)計(jì)算任意的變換混合的2-DIDCT機(jī)。在示范性實(shí)施例中,每一數(shù)據(jù)塊可以是16×16變換,也可以是8×8變換、4×4變換、和/或2×2變換的任意組合的混合。在示范性實(shí)施例中,有一21位的控制信號(hào)精確地描述所期望的分割,并告知IDCT機(jī)計(jì)算適當(dāng)?shù)淖儞Q組合。本發(fā)明中,可通過使輸入數(shù)據(jù)正確排序,在蝶式運(yùn)算級(jí)前有選擇地組合數(shù)據(jù),并控制每一蝶式運(yùn)算級(jí)處的加法和乘法,方便地進(jìn)行不同的變換組合。按旁路方式設(shè)置不需要的蝶式運(yùn)算。
本發(fā)明另一目的在于,通過提供串行計(jì)算來簡(jiǎn)化2-D IDCT機(jī)的設(shè)計(jì)。因?yàn)橐淮蝺H對(duì)數(shù)據(jù)的一位進(jìn)行計(jì)算,因而串行加法器和位串行乘法器大大簡(jiǎn)化這種設(shè)計(jì)。串行計(jì)算還大幅度簡(jiǎn)化連續(xù)蝶式運(yùn)算級(jí)間的交叉路由。由于本發(fā)明IDCT機(jī)的流水線結(jié)構(gòu),吞吐速率保持在每一時(shí)鐘周期一變換點(diǎn)或像素的速率。此速率與并行計(jì)算時(shí)的吞吐速率相同。只是由于計(jì)算的串行特性,處理延時(shí)有所增加。
本發(fā)明再一目的在于,降低存儲(chǔ)器要求。對(duì)于2-D IDCT,該數(shù)據(jù)塊首先由1-DIDCT處理器按列進(jìn)行變換,而中間結(jié)果暫時(shí)按列存儲(chǔ)在易位存儲(chǔ)器中。僅在所有各列均變換后才執(zhí)行第二1-D變換。由于IDCT機(jī)的流水線結(jié)構(gòu),以并行方式按列寫入至存儲(chǔ)器并按行從存儲(chǔ)器讀出中間結(jié)果。為避免覆蓋存儲(chǔ)器中含有后面所需數(shù)據(jù)的位置,存儲(chǔ)器對(duì)于連續(xù)的N×N數(shù)據(jù)塊易位,或在主列和主行之間交替。通過采用讀出-修改-寫入循環(huán)周期,在相同時(shí)鐘周期內(nèi)從存儲(chǔ)器位置讀出中間結(jié)果,并將新結(jié)果寫入至相同存儲(chǔ)器位置。易位存儲(chǔ)器使存儲(chǔ)器要求降低至具有與一N×N數(shù)據(jù)塊相同規(guī)模的一個(gè)存儲(chǔ)體。
附圖簡(jiǎn)要說明本發(fā)明的特征、目的和優(yōu)點(diǎn)從下面結(jié)合附圖的具體說明當(dāng)中會(huì)變得更為清楚。圖中各處相同標(biāo)號(hào)均指對(duì)應(yīng)部分,附圖當(dāng)中,
圖1A、圖1B和圖1C分別示出的是本發(fā)明中示范性N×N圖像、經(jīng)分割圖像、和與所分割圖像對(duì)應(yīng)的樹形圖;圖2是本發(fā)明示范性數(shù)據(jù)塊規(guī)??勺兊?-D IDCT機(jī)的框圖;圖3A-3D分別是本發(fā)明中2點(diǎn)IDCT格點(diǎn)結(jié)構(gòu)、4點(diǎn)IDCT格點(diǎn)結(jié)構(gòu)、8點(diǎn)IDCT格點(diǎn)結(jié)構(gòu)、和16點(diǎn)IDCT格點(diǎn)結(jié)構(gòu)的示意圖;圖4是本發(fā)明中示范性1-D IDCT處理器的框圖;圖5A和5B分別是本發(fā)明中串行蝶式運(yùn)算的示例圖和該串行蝶式運(yùn)算示范性實(shí)施例的框圖;圖6A和圖6B分別是按字范圍表示和位范圍表示的本發(fā)明示范性位串行乘法器的框圖;圖7是本發(fā)明中示范性串行加法器的框圖;以及圖8是本發(fā)明中示范性I/O緩存器的框圖。
較佳實(shí)施例的具體說明離散余弦變換(DCT)和逆向離散余弦變換(IDCT)均為重要的互補(bǔ)數(shù)字信號(hào)處理操作。DCT按下面公式將經(jīng)取樣數(shù)據(jù)從時(shí)域變換至頻域。
式中,N是變換的維數(shù),C(0)=1/(21/2),對(duì)于k=1,2,3…N-1,C(k)=1。作為一系列數(shù)字信號(hào)處理操作的一種通常對(duì)經(jīng)取樣數(shù)據(jù)執(zhí)行DCT變換。對(duì)經(jīng)變換數(shù)據(jù)執(zhí)行包括量化、數(shù)據(jù)壓縮、以及糾錯(cuò)編碼處理在內(nèi)的其他操作。上面提及的美國(guó)專利U.S.Pat.No.5,452,104中具體說明了對(duì)示范性數(shù)字圖像壓縮技術(shù)的討論。
IDCT按下面公式將該數(shù)據(jù)從頻域變換回時(shí)域。
DCT和IDCT變換均為可分變換。這意味著,2-D變換可拆分為2個(gè)1-D變換。對(duì)一數(shù)據(jù)塊執(zhí)行2-D IDCT變換,可通過先對(duì)該數(shù)據(jù)塊各列執(zhí)行1-D IDCT變換。第一IDCT變換的中間結(jié)果暫時(shí)存儲(chǔ)于存儲(chǔ)器元件。然后對(duì)中間結(jié)果的各行執(zhí)行第二IDCT變換。第二IDCT變換的輸出包括原始圖像的重建像素。
參見附圖,圖1A圖示的是一示范性數(shù)據(jù)塊。數(shù)據(jù)塊2的容量為N×N,其中N為2的冪,即N=2x,x為整數(shù)1,2,3…。滿足此條件時(shí),式(1)和式(2)均可顯著簡(jiǎn)化。示范性實(shí)施例中,N等于16,但本發(fā)明可方便地?cái)U(kuò)展至其他N值。
圖2示出本發(fā)明中2-D IDCT機(jī)10的示范性框圖。示范性實(shí)施例中,包括IDCT系數(shù)的輸入數(shù)據(jù)塊按列提供給IDCT處理器20a。IDCT處理器20a和20b是按照式(2)對(duì)輸入數(shù)據(jù)執(zhí)行IDCT變換的同一1-D IDCT處理器。IDCT處理器20a輸出的中間結(jié)果提供給存儲(chǔ)器元件22,這里中間結(jié)果暫時(shí)按列存儲(chǔ)。該中間結(jié)果隨后按行提供給IDCT處理器20b。IDCT處理器20b執(zhí)行1-D IDCT變換,并將經(jīng)變換的輸出即重建的圖像提供給后面的數(shù)字信號(hào)處理模塊(未在圖2中示出)。示范性實(shí)施例中,輸入數(shù)據(jù)塊按列提供給IDCT處理器20a,而中間結(jié)果則按行提供給IDCT處理器20b。要么數(shù)據(jù)塊按列提供給IDCT處理器20a,而中間結(jié)果則按行提供給IDCT處理器20b。示范性實(shí)施例中,IDCT處理器20a和20b具有流水線結(jié)構(gòu),使得IDCT處理器20這兩者同時(shí)活動(dòng)。
IDCT其重要特性在于,可通過管理輸入數(shù)據(jù)點(diǎn),計(jì)算數(shù)據(jù)點(diǎn)選擇性組合的總和,并對(duì)兩個(gè)較小的變換的輸出執(zhí)行串行蝶式運(yùn)算,來創(chuàng)建一較大的變換。串行蝶式運(yùn)算是一種下面具體說明的運(yùn)算。這樣,一16點(diǎn)IDCT是兩個(gè)8點(diǎn)IDCT的蝶式運(yùn)算,每一8點(diǎn)IDCT是兩個(gè)4點(diǎn)IDCT的蝶式運(yùn)算,而每一4點(diǎn)IDCT又是兩個(gè)2點(diǎn)IDCT的蝶式運(yùn)算。IDCT這一特性在本技術(shù)領(lǐng)域內(nèi)是公知的,并得到格網(wǎng)圖最為理想的解說。圖3A示出2點(diǎn)IDCT的格網(wǎng)圖,圖3B示出4點(diǎn)IDCT的格網(wǎng)圖,而圖3C示出8點(diǎn)IDCT的格網(wǎng)圖。2點(diǎn)IDCT只包括一個(gè)蝶式運(yùn)算級(jí)。如圖3A-3B所示,4點(diǎn)IDCT包括2個(gè)2點(diǎn)IDCT組成的級(jí),該2點(diǎn)IDCT級(jí)之前的一串行加法級(jí),以及該2點(diǎn)IDCT級(jí)之后的一蝶式運(yùn)算級(jí)。同樣,如圖3B-3C所示,8點(diǎn)IDCT包括2個(gè)4點(diǎn)IDCT組成的級(jí),該4點(diǎn)IDCT級(jí)之前的一串行加法級(jí),以及該4點(diǎn)IDCT級(jí)之后的一蝶式運(yùn)算級(jí)。
圖3D中示出本發(fā)明中16點(diǎn)IDCT格網(wǎng)100的示意圖。格網(wǎng)100源于B.G.Lee,并且在K.R.Rao所著書名為“離散余弦變換算法,優(yōu)點(diǎn)以及應(yīng)用”(學(xué)院出版社,1990)中有具體說明。16點(diǎn)IDCT格網(wǎng)100包括三級(jí)串行加法和四級(jí)串行蝶式運(yùn)算,每一級(jí)蝶式運(yùn)算包括8個(gè)串行蝶式運(yùn)算。現(xiàn)有技術(shù)中的IDCT處理器,各連續(xù)級(jí)之間的互聯(lián)關(guān)系固定,因而限制IDCT處理器只能執(zhí)行16點(diǎn)IDCT變換。而本發(fā)明中,通過利用可重組格網(wǎng)交叉連接使各個(gè)級(jí)互聯(lián)。
如圖3D所示,16點(diǎn)IDCT110是2個(gè)8點(diǎn)IDCT108的蝶式運(yùn)算,至較低的8點(diǎn)IDCT的數(shù)據(jù)點(diǎn)被有選擇地組合。2個(gè)8點(diǎn)IDCT108是4個(gè)4點(diǎn)IDCT106的蝶式運(yùn)算,至較低的4點(diǎn)IDCT的數(shù)據(jù)點(diǎn)被有選擇地組合。4個(gè)4點(diǎn)IDCT106是8個(gè)2點(diǎn)IDCT104的蝶式運(yùn)算,至較低的2點(diǎn)IDCT的數(shù)據(jù)點(diǎn)被有選擇地組合。該可重組格網(wǎng)交叉連接與串行蝶式運(yùn)算旁路模式相結(jié)合,使本發(fā)明的2-D IDCT機(jī)10可計(jì)算N×N數(shù)據(jù)塊內(nèi)的任意變換混合??赏ㄟ^使輸入數(shù)據(jù)正確排序,在蝶式運(yùn)算級(jí)之前有選擇地組合輸入數(shù)據(jù),并在格網(wǎng)各個(gè)級(jí)處控制加法和乘法,來完成2點(diǎn)、4點(diǎn)、8點(diǎn)、和16點(diǎn)IDCT變換的任意組合。例如,IDCT處理器20可執(zhí)行2個(gè)8點(diǎn)變換,8個(gè)2點(diǎn)變換,1個(gè)8點(diǎn)變換和2個(gè)4點(diǎn)變換,或者1個(gè)8點(diǎn)、1個(gè)4點(diǎn)以及2個(gè)2點(diǎn)變換。本發(fā)明中,不需要組合級(jí)將不同的變換輸出匯總成一復(fù)合變換數(shù)據(jù)塊,因?yàn)镮DCT機(jī)10配置成對(duì)各種變換進(jìn)行適當(dāng)混合時(shí)這會(huì)自動(dòng)發(fā)生。任何時(shí)候計(jì)算較小的變換,串行加法器和蝶式運(yùn)算都不需要進(jìn)行高次變換再度延遲鎖存器。這樣,不管變換混合如何,總可將各個(gè)IDCT處理器20的輸出按時(shí)間對(duì)齊。
示范性實(shí)施例中,串行蝶式運(yùn)算對(duì)2輸入位流進(jìn)行運(yùn)算,并提供2輸出位流。串行蝶式運(yùn)算包括1個(gè)明顯簡(jiǎn)化的位串行乘法器和2個(gè)串行加法器。IDCT處理器20的串行結(jié)構(gòu)使連續(xù)的串行蝶式運(yùn)算級(jí)之間的交叉路由可僅用1位寬數(shù)據(jù)總線來實(shí)現(xiàn)。
示范性實(shí)施例中,IDCT機(jī)10在256時(shí)鐘周期內(nèi)計(jì)算16×16數(shù)據(jù)塊的變換。每一時(shí)鐘周期,向IDCT機(jī)10提供一IDCT系數(shù),并從IDCT機(jī)10當(dāng)中提取一輸出像素。IDCT處理器20a和20b具有流水線結(jié)構(gòu),以便兩處理器同時(shí)活動(dòng)。每一IDCT處理器20接收1個(gè)輸入數(shù)據(jù)點(diǎn),并且每一時(shí)鐘周期提供1個(gè)變換的數(shù)據(jù)點(diǎn)。
I.IDCT處理器圖4中示出本發(fā)明IDCT處理器20的示范性框圖。每16時(shí)鐘周期(N=16),16個(gè)I/O緩存器52接收16個(gè)輸入數(shù)據(jù)點(diǎn),每一時(shí)鐘周期1個(gè)數(shù)據(jù)點(diǎn),每一I/0緩存器521個(gè)數(shù)據(jù)點(diǎn)。向I/O緩存器52加載數(shù)據(jù)點(diǎn)的順序取決于正執(zhí)行著的變換混合,由控制器26通過4位WRITE_NABLE信號(hào)進(jìn)行控制。根據(jù)WRITE_ENABLE信號(hào),每一數(shù)據(jù)點(diǎn)包括并行加載至相應(yīng)的I/O緩存器52的q位。I/O緩存器52接著按照LSB(最低有效位)在先,每一時(shí)鐘周期1位進(jìn)行串行移位,將此16個(gè)數(shù)據(jù)點(diǎn)一起經(jīng)交叉路由54移出至串行加法器56。I/O緩存器52可如下面所述作為一并行至串行移位寄存器來實(shí)現(xiàn)。
串行加法器56接收此數(shù)據(jù)位,并按下面說明的方式對(duì)這些位執(zhí)行串行加法。串行加法器56由ADD_ENABLE啟動(dòng),該信號(hào)在示范性實(shí)施例中包括7位,并與圖3D中格子100所示的前三級(jí)加法相對(duì)應(yīng)。每一串行加法由小圈112表示(為簡(jiǎn)便起見,僅標(biāo)注一個(gè)小圈)。第一級(jí)中有7個(gè)需要4位進(jìn)行啟動(dòng)/禁止的串行加法112。第二級(jí)中有2組各3個(gè)需要2位進(jìn)行控制的串行加法112。而第三級(jí)中有4組單個(gè)需要1位進(jìn)行控制的串行加法112??筛鶕?jù)7位ADD_ENABLE信號(hào)對(duì)串行加法器56進(jìn)行控制來計(jì)算如圖3D中格網(wǎng)100前三級(jí)所需的串行加法112。圖4中16個(gè)串行加法器56的加法器組象征性地代表格網(wǎng)100前三級(jí)所需的功能。
串行加法器56的輸出提供給8個(gè)串行蝶式運(yùn)算的第一級(jí)58,執(zhí)行圖3D中8個(gè)2點(diǎn)IDCT104內(nèi)所示功能。圖5B框圖示出每一串行蝶式運(yùn)算。串行蝶式運(yùn)算接收2串行流輸入X1和X2,生成2串行輸出Z1=X1+C·X2和Z2=X1-C·X2,式中,C是根據(jù)蝶式運(yùn)算在IDCT格網(wǎng)100中的位置定義的固定標(biāo)量。下面具體說明串行蝶式運(yùn)算一示范性實(shí)施例。示范性實(shí)施例中,串行蝶式運(yùn)算的第一級(jí)58總是啟動(dòng)使得IDCT處理器20執(zhí)行至少2點(diǎn)變換。第一級(jí)58的輸出經(jīng)交叉路由60提供給串行蝶式運(yùn)算第二級(jí)62。交叉路由60如IDCT格網(wǎng)100所示將前2級(jí)互聯(lián)。示范性實(shí)施例中,可有選擇地啟動(dòng)串行蝶式運(yùn)算中的第二級(jí)62來提供4點(diǎn)變換。由于有4組蝶式運(yùn)算(見圖3D),需要4位控制來分別啟動(dòng)各組。該4位控制是圖4中標(biāo)注為MAP的控制信號(hào)中的一部分。
串行蝶式運(yùn)算的第二級(jí)62的輸出經(jīng)交叉路由64提供給第三級(jí)66。第三級(jí)66包括如圖3D中2個(gè)8點(diǎn)IDCT108內(nèi)所示的2組各4個(gè)串行蝶式運(yùn)算。每一組可以由一2位控制分別啟動(dòng)。第三級(jí)66的輸出經(jīng)交叉路由68提供給第四級(jí)70。第四級(jí)70包括如圖3D中16點(diǎn)IDCT110內(nèi)所示的1組8個(gè)串行蝶式運(yùn)算。該串行蝶式運(yùn)算可以由1位控制有選擇地啟動(dòng)。第四級(jí)70輸出的經(jīng)串行變換的數(shù)據(jù)包括IDCT處理器20的輸出。
第四級(jí)70輸出的經(jīng)1位串行變換的數(shù)據(jù),路由選擇至串行—并行輸出緩存器組。示范性實(shí)施例中,IDCT處理器20按每一時(shí)鐘周期提供一輸出字這種字串行方式提供IDCT輸出。該輸出緩存器可以與輸入緩存器結(jié)合形成下面具體說明的I/O緩存器52。
II.控制器參見圖2,控制器26將控制信號(hào)提供給IDCT處理器20a和20b以及存儲(chǔ)器元件22。這些控制信號(hào)使IDCT處理器20a和20b與存儲(chǔ)器元件22同步,并且判定重建的合成圖像??刂破?6接收地址輸入和PQR輸入。該地址輸入告知控制器26數(shù)據(jù)塊的起始位置。PQR輸入則包括告知控制器26所需數(shù)據(jù)塊分割的三條命令P、Q以及R。示范性實(shí)施例中,R等于“1”表明該16×16數(shù)據(jù)塊要分成較小的8×8變換數(shù)據(jù)塊,Q等于“1”表明該8×8數(shù)據(jù)塊要分成較小的4×4變換數(shù)據(jù)塊,而P等于“1”表明該4×4數(shù)據(jù)塊要分成較小的2×2變換數(shù)據(jù)塊。示范性實(shí)施例中,每一數(shù)據(jù)塊可以不必考慮該圖像中其他數(shù)據(jù)塊,分別進(jìn)行分割。因而,對(duì)于R需要1位控制,因?yàn)?6×16數(shù)據(jù)塊中僅有一個(gè)16×16變換數(shù)據(jù)塊,對(duì)于Q需要4位控制,因?yàn)?6×16數(shù)據(jù)塊中可以有四個(gè)8×8變換數(shù)據(jù)塊,對(duì)于P需要16位控制,因?yàn)?6×16數(shù)據(jù)塊中可以有十六個(gè)4×4變換數(shù)據(jù)塊。圖1B示出數(shù)據(jù)塊4的示范性分割方案,圖1C示出與圖像分割方案相對(duì)應(yīng)的PQR控制的示例圖示,例如樹形圖。該21位控制PQR可按串行或并行方式提供給控制器26。
該P(yáng)QR輸入是所需數(shù)據(jù)塊分割方案的2-D表示??刂破?6將PQR輸入分析為1-D行列控制信號(hào)。接著利用這些行列控制信號(hào)生成控制信號(hào)來命令I(lǐng)DCT處理器20a和20b執(zhí)行相應(yīng)的變換混合。對(duì)于圖1B中示出的示范性分割方案4,控制器26命令I(lǐng)DCT處理器20a執(zhí)行前4列數(shù)據(jù)的2個(gè)4點(diǎn)變換和1個(gè)8點(diǎn)變換。控制器26命令I(lǐng)DCT處理器20a卻對(duì)后2列數(shù)據(jù)執(zhí)行1個(gè)4點(diǎn)變換、2個(gè)2點(diǎn)變換、和1個(gè)8點(diǎn)變換。處理繼續(xù)到所有列得到處理為止。IDCT處理器20a輸出的中間結(jié)果在存儲(chǔ)器元件22中按列存儲(chǔ)。
控制器26按同樣方式命令I(lǐng)DCT處理器20b對(duì)存儲(chǔ)器元件22輸出各行中間結(jié)果執(zhí)行相應(yīng)的變換混合。所有列由IDCT處理器20a處理后,控制器26命令I(lǐng)DCT處理器20b執(zhí)行前4行中間結(jié)果的2個(gè)4點(diǎn)變換和1個(gè)8點(diǎn)變換。至于后2行,控制器26則命令I(lǐng)DCT處理器20b執(zhí)行1個(gè)4點(diǎn)變換、2個(gè)2點(diǎn)變換、和1個(gè)8點(diǎn)變換。處理也繼續(xù)到所有列得到處理為止。
參見圖4,控制器26生成的對(duì)IDCT處理器20a和20b的控制信號(hào)包括WRITE_ENABLE、READ_ENABLE、ADD_ENABLE和MAP。WRITE_NABLE控制輸入數(shù)據(jù)點(diǎn)寫入至相應(yīng)的I/O緩存器52,使得輸入數(shù)據(jù)點(diǎn)按正確順序排列(參見圖3D)。READ_ENABLE控制從IDCT處理器20中讀出經(jīng)變換數(shù)據(jù)的順序。示范性實(shí)施例中,經(jīng)變換數(shù)據(jù)可以依次從IDCT處理器20中讀出。ADD_ENABLE對(duì)在格網(wǎng)100中前3級(jí)執(zhí)行加法的第一組串行加法器56進(jìn)行控制。ADD_ENABLE取決于所需的變換混合,并根據(jù)PQR輸入生成。MAP控制串行蝶式運(yùn)算的最后3級(jí)62、66和70來生成所需的變換混合。MAP也根據(jù)PQR輸入生成。第二級(jí)62需要4位控制位來分別啟動(dòng)或禁止4組蝶式運(yùn)算中的每一組(參見圖3D)。同樣,第三級(jí)66需要2位控制位,第四級(jí)70需要1位控制位。示范性實(shí)施例中,第一級(jí)58不需要控制信號(hào),因?yàn)镮DCT處理器20總是執(zhí)行至少2點(diǎn)變換。但需要的話可生成一控制信號(hào),提供第一級(jí)58的旁路。本發(fā)明的2-D變換是采用2個(gè)1-D變換串行執(zhí)行的,因而控制器26使至IDCT處理器20b的控制信號(hào)相對(duì)于IDCT處理器20a延遲,使控制信號(hào)與輸入數(shù)據(jù)保持同步。
控制器26可作為組合邏輯和狀態(tài)機(jī)的組合來實(shí)現(xiàn)。作為替代,控制器26可利用運(yùn)行微代碼的微控制器或微處理器來實(shí)現(xiàn)。如這里所說明的執(zhí)行該功能的控制器26的種種方案均落在本發(fā)明保護(hù)范圍以內(nèi)。
III.易位存儲(chǔ)器示范性實(shí)施例中,存儲(chǔ)器元件22可按易位存儲(chǔ)器實(shí)現(xiàn)。通過對(duì)輸入數(shù)據(jù)塊各列執(zhí)行1-D變換,存儲(chǔ)中間結(jié)果,并對(duì)中間結(jié)果各行執(zhí)行1-D變換來實(shí)現(xiàn)2-D變換。直到所有列均得到變換,才對(duì)各行執(zhí)行1-D變換。示范性實(shí)施例中,這兩1-D變換具有流水線結(jié)構(gòu),使得兩者并行操作。
存儲(chǔ)器元件22可按圖1A所示存儲(chǔ)器模塊實(shí)現(xiàn)。假定IDCT處理器20a輸出的中間結(jié)果最初按列寫入至存儲(chǔ)器元件22。直到IDCT處理器20a對(duì)所有列操作后,IDCT處理器20b才對(duì)中間結(jié)果各行進(jìn)行操作。一旦存儲(chǔ)器元件22最后一列存滿,中間結(jié)果便按行提供給IDCT處理器20b。但由于是流水線結(jié)構(gòu),IDCT處理器20a對(duì)IDCT處理器20b所檢索的每一行數(shù)據(jù)提供一列數(shù)據(jù)。該列數(shù)據(jù)不能對(duì)以前的列進(jìn)行重寫,因?yàn)镮DCT處理器20b還需要以前列中有些數(shù)據(jù)點(diǎn)。為了解決這種問題,新的一列中間結(jié)果重寫在IDCT處理器20b剛剛檢索到的那行數(shù)據(jù)上。事實(shí)上,存儲(chǔ)器元件22可利用讀出-修改-寫入能力來實(shí)現(xiàn),使得相同存儲(chǔ)位置可在相同時(shí)鐘周期中讀出和寫入。在一個(gè)時(shí)鐘周期內(nèi),可以由IDCT處理器20b從存儲(chǔ)器元件22某一位置當(dāng)中讀出一數(shù)據(jù)點(diǎn),并且由IDCT處理器20a寫入至那相同位置。按此方式實(shí)施,存儲(chǔ)器元件22便被易位,或者對(duì)連續(xù)的16×16數(shù)據(jù)塊在主行和主列間交替。這種易位將存儲(chǔ)器需求減少到僅需一個(gè)存儲(chǔ)器組。
由控制器26提供控制信號(hào),按一易位存儲(chǔ)器來實(shí)現(xiàn)存儲(chǔ)器元件22??刂破?6具有所需的定時(shí)信息,并能夠按輸入數(shù)據(jù)塊使IDCT處理器20a和20b與存儲(chǔ)器元件22保持同步。
存儲(chǔ)器元件22可以采用諸如RAM存儲(chǔ)器件、鎖存器、或其他存儲(chǔ)器件等本領(lǐng)域眾所周知的存儲(chǔ)元件或任何數(shù)目的存儲(chǔ)器件之一來實(shí)施。
IV.串行蝶式運(yùn)算圖5A和圖5B示出串行蝶式運(yùn)算。圖5A是串行蝶式運(yùn)算的示例圖示,圖5B是相同串行蝶式運(yùn)算的框圖。串行蝶式運(yùn)算140對(duì)2個(gè)輸入X1和X2進(jìn)行運(yùn)算。輸入X1由延遲元件148延遲,使最高和最低信號(hào)通路對(duì)齊。輸入X2由位串行乘法器150按1/(2Cnk)定標(biāo)。Cnk表示cos(kπ/n)。延遲元件148和乘法器150的輸出提供給串行加法器160a和160b。串行加法器160a將乘法器150的輸出與延遲元件148的輸出相加,串行加法器160b則從延遲元件148的輸出當(dāng)中減去乘法器150的輸出。串行加法器160a和160b的輸出分別包括串行蝶式運(yùn)算輸出Z1和Z2。本發(fā)明中,串行加法器160a和160b設(shè)計(jì)成可關(guān)閉以分別允許Y1和Y2通過作為Z1和Z2。示范性實(shí)施例中,串行蝶式運(yùn)算140對(duì)2個(gè)輸入位流進(jìn)行運(yùn)算,并提供2個(gè)輸出位流。
圖6A和圖6B示出位串行乘法器150的示范性框圖。圖6A示出按字范圍表示的位串行乘法器150,圖6B示出按位范圍表示的相同乘法器150。通過連續(xù)將C與中間生成項(xiàng)相加,按一二進(jìn)制位使該結(jié)果移位來實(shí)現(xiàn)X和C的位串行乘法。這由圖6A中的框圖示出。鎖存器212由每16時(shí)鐘周期中1周期內(nèi)處于啟動(dòng)狀態(tài)的LD信號(hào)清零,使鎖存器212準(zhǔn)備下一乘法。LD信號(hào)還使并行至串行移位寄存器214加載加法器210輸出的剛完成乘法中的生成項(xiàng)。生成項(xiàng)接著在下一乘法期間被串行移位,移出寄存器214。
示范性實(shí)施例中,輸入數(shù)據(jù)X、常數(shù)C和生成結(jié)果Y的精度為16位。16位精度造成的算術(shù)性差錯(cuò)少于“IEEE標(biāo)準(zhǔn)1180-19908×8逆向離散余弦變換實(shí)施規(guī)范”中的規(guī)定。該16位表示可包括1位符號(hào)位、9位幅值位、和6位分?jǐn)?shù)位??蓪?shí)施少于16位或多于16位的其他表示,這些均落在本發(fā)明保護(hù)范圍。
示范性實(shí)施例中,加法器210、鎖存器212、和寄存器214均按16位實(shí)施。每一時(shí)鐘周期,X中的1位按最低有效位在先移位至位串行乘法器150中。常數(shù)C取決于輸入位數(shù)值和LD信號(hào),并與鎖存器212中存儲(chǔ)的中間生成項(xiàng)相加。邏輯電路200中,“與”門204根據(jù)該輸入位和LD信號(hào)判定C是否要與中間生成項(xiàng)相加。加法器210輸出的中間生成項(xiàng)接著移一位,并按數(shù)字位D[14..0]存儲(chǔ)回鎖存器212。加法器210輸出的最低有效位被舍棄,鎖存器212的最高有效位具有符號(hào)擴(kuò)展,例如D[15]=Co[15],其中C[15]是加法器210中最高有效位的進(jìn)位輸出。如圖6A所示,位串行乘法器150可利用相同數(shù)量的硬件例如累加器來實(shí)現(xiàn),這對(duì)于IC設(shè)計(jì)來說較為緊湊。
圖6B中進(jìn)一步詳細(xì)示出位串行乘法器150。加法器210、鎖存器212、和寄存器214按位形式示出。常數(shù)C取決于輸入位X數(shù)值和LD信號(hào),并與鎖存器212中存儲(chǔ)的中間生成項(xiàng)相加。每一加法器210接收下一最低有效位的鎖存器212輸出的進(jìn)位輸入(Ci),向下一最高有效位的加法器210提供進(jìn)位輸出(Co)。屬于加法器的標(biāo)準(zhǔn)進(jìn)位鏈。
對(duì)最低有效位的簡(jiǎn)單舍棄產(chǎn)生2進(jìn)制補(bǔ)碼輸出生成項(xiàng)的略微負(fù)值偏移。通過在末級(jí)加法器210a前的加法器加最低有效位,產(chǎn)生輸出生成項(xiàng)中一半最低有效位的正值偏移,來補(bǔ)償該略微負(fù)值偏移。通過在連續(xù)的乘法器150交替進(jìn)行舍棄和正值偏移,可減小總偏移。利用可根據(jù)所需結(jié)果硬布線接入高電平或低電平的ROUND信號(hào)(接地信號(hào))來控制偏移。
圖7A示出串行加法器160的示范性框圖。串行加法器160按最低有效位在先串行接收兩個(gè)輸入Y1和Y2。串行加法器160可使兩個(gè)輸入相加(Y1+Y2),從一輸入減去另一輸入(Y1-Y2),或?qū)⒛骋惠斎肱月吠ㄟ^成為輸出(Z=Y(jié)2)。至于是加法還是減法,取決于IDCT格網(wǎng)中串行加法器160的位置,例如串行加法器160是位于蝶式運(yùn)算的上支路還是下支路。旁路方式允許本發(fā)明IDCT處理器20執(zhí)行不同的變換混合。
輸入Y1和Y2分別串行提供給“與”門電路240和“異或”門電路242。ADD_EN也提供給“與”門電路240。ADD_EN為低電平時(shí),“與”門240的輸出為低電平,Y1未提供給加法器244。ADD_EN為高電平時(shí),Y1便提供給加法器244。INVERT信號(hào)提供給“異或”電路242和寄存器246。為了執(zhí)行減法,輸入Y2變換為負(fù)數(shù)并與另一操作數(shù)相加。將2進(jìn)制補(bǔ)碼數(shù)變換為負(fù)數(shù)需要對(duì)原始數(shù)所有位反轉(zhuǎn),并在最低有效位加“1”。當(dāng)INVERT信號(hào)(反轉(zhuǎn)信號(hào))為高電平時(shí),便利用“異或”門242執(zhí)行各位反轉(zhuǎn)。當(dāng)LD信號(hào)處于啟動(dòng)狀態(tài),且INVERT信號(hào)為高電平時(shí),通過將“1”存儲(chǔ)于串行加法器的起始位置,并將該數(shù)值與加法器244的進(jìn)位輸入(Ci)相加,使“1”加到該輸入數(shù)的最低有效位上。
每一后續(xù)時(shí)鐘周期,在寄存器246中存儲(chǔ)先前1位加法輸出的進(jìn)位輸出(Co)。該進(jìn)位輸出與兩個(gè)輸入Y1和Y2的下一組2進(jìn)制位相加。加法器244的總和輸出S表示串行加法器160的輸出。
常數(shù)C可以硬布線接入,或可屏蔽編程。因?yàn)樵谑痉缎詫?shí)施例中總要執(zhí)行蝶式運(yùn)算的第一級(jí)58,因而可以調(diào)整該級(jí)位串行乘法器150的常數(shù)C。但串行蝶式運(yùn)算140置于旁路模式時(shí),對(duì)于余下的蝶式運(yùn)算級(jí)62、66和70來說,常數(shù)C可屏蔽編程,以允許乘法器150執(zhí)行輸入X2同1/(2Cnk)或1相乘。乘法器150也可以加載C的其他數(shù)值來執(zhí)行輸入X2的定標(biāo)或歸一化。
如圖7所示,串行加法器160可對(duì)兩個(gè)輸入執(zhí)行加法、減法或旁路??蓪⒋屑臃ㄆ?60修改成執(zhí)行串行蝶式運(yùn)算140所需的函數(shù)。例如,參見圖5B,串行加法器160a僅執(zhí)行加法或旁路。所以,圖7中串行加法器160可通過直接向加法器244的B輸入提供Y1,去除“異或”門242,并向“與”門240提供Y2進(jìn)行修改??梢匀サ鬒NVERT信號(hào),因?yàn)榧臃ㄆ?60a僅執(zhí)行加法。同樣,串行加法器160b僅執(zhí)行減法或旁路。所以,串行加法器160的INVERT信號(hào)可以與高基準(zhǔn)源相連。
串行加法器160可用于執(zhí)行圖4中串行加法器56所需的串行加法和旁路,該加法器實(shí)現(xiàn)圖3D中所示格網(wǎng)100前3級(jí)所需的串行加法112。
參見圖5B,延遲元件148可以利用一連串鎖存器來實(shí)現(xiàn)。鎖存器的數(shù)目選擇為與乘法器150的處理延遲相配合。
V.I/O緩存器示范性實(shí)施例中,在每一IDCT處理器20中,16個(gè)I/O緩存器52的存儲(chǔ)器組接收輸入數(shù)據(jù)并提供經(jīng)變換數(shù)據(jù)。IDCT處理器20的輸入和輸出按字串行方式提供,或按每一時(shí)鐘周期一完整數(shù)據(jù)點(diǎn)方式提供。16個(gè)數(shù)據(jù)點(diǎn)在16個(gè)時(shí)鐘周期內(nèi)加載至16個(gè)I/O緩存器52中。一旦加載所有I/O緩存器52,16個(gè)數(shù)據(jù)點(diǎn)按位串行方式每一時(shí)鐘周期提供一位至IDCT格網(wǎng)。每一時(shí)鐘周期,I/O緩存器52還接收串行蝶式運(yùn)算最后一級(jí)70輸出的經(jīng)變換數(shù)據(jù)位。該經(jīng)變換數(shù)據(jù)串行提供給I/O緩存器52。
圖8示出一I/O緩存器52的示范性框圖。I/O緩存器52包括16位鎖存器262、16位并行一串行移位寄存器264、16位鎖存器266以及輸出緩存器268。IDCT輸入提供給16個(gè)I/O緩存器52中的所有鎖存器262。每一I/O緩存器52當(dāng)?shù)玫娇刂菩盘?hào)WR(w)指令時(shí)對(duì)IDCT輸入進(jìn)行鎖存。從控制器26所始發(fā)的WRITE_ENABLE信號(hào)解碼得到WR(w)。每一I/O緩存器52中的鎖存器262僅在每16個(gè)時(shí)鐘周期中的一個(gè)時(shí)鐘周期期間處于啟動(dòng)狀態(tài)。待16個(gè)數(shù)據(jù)點(diǎn)均由鎖存器262鎖存后,LD信號(hào)才處于啟動(dòng)狀態(tài),鎖存器262中鎖存的數(shù)值才提供給寄存器264。
對(duì)于每一I/O緩存器52,按最低有效位先移出方式,以串行方式每一時(shí)鐘周期一位將數(shù)據(jù)移位至交叉路由54。每一時(shí)鐘周期,有一位經(jīng)變換數(shù)據(jù)位按最低有效位先移位方式,以串行方式每一時(shí)鐘周期一位移位進(jìn)入最高有效位寄存器264q。16個(gè)時(shí)鐘周期之后,所有16個(gè)數(shù)據(jù)位移出至交叉路由54,而所有16個(gè)經(jīng)變換數(shù)據(jù)位則移位進(jìn)入寄存器264。每隔16個(gè)時(shí)鐘周期,LD信號(hào)便向寄存器264加載下一數(shù)據(jù)點(diǎn),并向鎖存器266加載經(jīng)變換數(shù)據(jù)點(diǎn)。經(jīng)變換數(shù)據(jù)存儲(chǔ)在鎖存器266中直到通過輸出緩存器268讀出。輸出緩存器268有選擇地處于啟動(dòng)狀態(tài),使得16個(gè)I/O緩存器52以串行方式每一時(shí)鐘周期一經(jīng)變換數(shù)據(jù)點(diǎn)提供經(jīng)變換數(shù)據(jù)。讀出順序由從READ_ENABLE解碼得到的RD(w)信號(hào)控制。
圖8中框圖示出的是I/O緩存器52的一實(shí)施例。還可實(shí)現(xiàn)執(zhí)行與上面所述功能相同的其他實(shí)施例,它們均落在本發(fā)明保護(hù)范圍內(nèi)。
盡管本發(fā)明是圍繞2-D IDCT機(jī)說明的,但本發(fā)明概念可擴(kuò)展至例如離散傅里葉變換(DFT)、逆向離散傅里葉變換(IDFT)、快速傅里葉變換(FFT)、逆向快速傅里葉變換(IFFT)、離散余弦變換(DCT)、以及阿達(dá)瑪(Hadamard)變換等其他變換。上述本發(fā)明概念對(duì)其他變換的應(yīng)用均落在本發(fā)明保護(hù)范圍內(nèi)。
所提供的對(duì)較佳實(shí)施例的上述說明能夠讓本領(lǐng)域技術(shù)人員制造或利用本發(fā)明。對(duì)這些實(shí)施例的種種修改對(duì)于本領(lǐng)域技術(shù)人員來說是顯而易見的,不需要運(yùn)用創(chuàng)造性思維便可將上面所述的總體原理應(yīng)用于其他實(shí)施例。因而,本發(fā)明不受這里說明的實(shí)施例限制,但要符合與在此說明的原理和新穎特征相一致的最大保護(hù)范圍。
權(quán)利要求
1.一種數(shù)據(jù)塊規(guī)模可變的IDCT處理器,其特征在于,包括接收多個(gè)輸入數(shù)據(jù)點(diǎn)和第一控制信號(hào)的加法器組,所述第一控制信號(hào)命令所述加法器組對(duì)輸入數(shù)據(jù)點(diǎn)的選定組合執(zhí)行加法;多個(gè)蝶式運(yùn)算級(jí);以及多個(gè)交叉路由,一種是設(shè)置在所述加法器組和第一蝶式運(yùn)算級(jí)之間的交叉路由,一種是設(shè)置在連續(xù)蝶式運(yùn)算級(jí)之間的交叉路由,其中,所述多個(gè)蝶式運(yùn)算級(jí)接收第二控制信號(hào),命令所述多個(gè)蝶式運(yùn)算級(jí)對(duì)選定的至所述多個(gè)蝶式運(yùn)算級(jí)的輸入執(zhí)行蝶式運(yùn)算。
2.如權(quán)利要求1所述的IDCT處理器,其特征在于,用串行加法器和位串行乘法器實(shí)施所述加法器組和所述多個(gè)蝶式運(yùn)算級(jí)。
3.如權(quán)利要求2所述的IDCT處理器,其特征在于,還包括按字串行格式接收所述多個(gè)輸入數(shù)據(jù)點(diǎn),并按位串行格式向所述加法器組提供所述輸入數(shù)據(jù)點(diǎn)的I/O緩存器組。
4.如權(quán)利要求3所述的IDCT處理器,其特征在于,所述多個(gè)蝶式運(yùn)算級(jí)具有流水線結(jié)構(gòu),以便所有級(jí)均并行活動(dòng)。
5.如權(quán)利要求4所述的IDCT處理器,其特征在于,所述位串行乘法器的所述被乘數(shù)可利用屏蔽進(jìn)行編程。
6.一種數(shù)據(jù)塊規(guī)??勺兊?維IDCT機(jī),其特征在于,包括第一IDCT處理器,所述第一IDCT處理器接收輸入數(shù)據(jù)點(diǎn);與所述第一IDCT處理器連接的存儲(chǔ)器元件;與所述存儲(chǔ)器元件連接的第二IDCT處理器;以及與所述第一IDCT處理器、所述第二IDCT處理器、和所述存儲(chǔ)器元件連接并向它們提供控制信號(hào)的控制器,所述控制器接收輸入信號(hào),并根據(jù)所述輸入信號(hào)生成控制信號(hào)。
7.如權(quán)利要求6所述的IDCT機(jī),其特征在于,所述IDCT處理器包括接收所述多個(gè)輸入數(shù)據(jù)點(diǎn)和第一控制信號(hào)的加法器組,所述第一控制信號(hào)命令所述加法器組對(duì)輸入數(shù)據(jù)點(diǎn)的選定組合執(zhí)行加法;多個(gè)蝶式運(yùn)算級(jí);以及多個(gè)交叉路由,一種是設(shè)置在所述加法器組和第一蝶式運(yùn)算級(jí)之間的交叉路由,一種是設(shè)置在連續(xù)蝶式運(yùn)算級(jí)之間的交叉路由,其中,所述多個(gè)蝶式運(yùn)算級(jí)接收第二控制信號(hào),命令所述多個(gè)蝶式運(yùn)算級(jí)對(duì)選定的至所述多個(gè)蝶式運(yùn)算級(jí)的輸入執(zhí)行蝶式運(yùn)算。
8.如權(quán)利要求7所述的IDCT機(jī),其特征在于,用串行加法器和位串行乘法器實(shí)施所述加法器組和所述多個(gè)蝶式運(yùn)算級(jí)。
9.如權(quán)利要求8所述的IDCT機(jī),其特征在于,所述IDCT處理器還包括按字串行格式接收所述多個(gè)輸入數(shù)據(jù)點(diǎn),并按位串行格式向所述加法器組提供所述輸入數(shù)據(jù)點(diǎn)的I/O緩存器組。
10.如權(quán)利要求9所述的IDCT機(jī),其特征在于,所述IDCT處理器具有流水線結(jié)構(gòu),以便兩IDCT處理器均并行活動(dòng)。
11.如權(quán)利要求10所述的IDCT機(jī),其特征在于,所述蝶式運(yùn)算第一級(jí)總是處于啟動(dòng)狀態(tài)。
12.如權(quán)利要求11所述的IDCT機(jī),其特征在于,可利用屏蔽對(duì)所述位串行乘法器的所述被乘數(shù)進(jìn)行編程。13.如權(quán)利要求12所述的IDCT機(jī),其特征在于,所述IDCT機(jī)具有每一時(shí)鐘周期輸出一像素的吞吐速率。
14.如權(quán)利要求13所述的IDCT機(jī),其特征在于,所述串行加法器和位串行乘法器具有大于8位的分辨率。
15.如權(quán)利要求14所述的IDCT機(jī),其特征在于,所述串行加法器和位串行乘法器具有16位分辨率。
16.如權(quán)利要求15所述的IDCT機(jī),其特征在于,所述存儲(chǔ)器元件包括易位存儲(chǔ)器。
17.一種執(zhí)行數(shù)據(jù)塊規(guī)??勺兊?維IDCT變換的裝置,其特征在于,包括執(zhí)行多個(gè)輸入數(shù)據(jù)點(diǎn)的1維IDCT變換的第一IDCT變換裝置;存儲(chǔ)所述第一IDCT變換裝置輸出的中間結(jié)果的存儲(chǔ)裝置;及執(zhí)行所述中間結(jié)果的1維IDCT變換的第二IDCT變換裝置;以及向所述第一IDCT變換裝置、所述第二IDCT變換裝置、和所述存儲(chǔ)裝置提供控制信號(hào)的控制裝置,所述控制裝置接收輸入信號(hào),根據(jù)所述輸入信號(hào)生成所述控制信號(hào)。
18.如權(quán)利要求17所述的裝置,其特征在于,所述IDCT變換裝置包括接收多個(gè)輸入數(shù)據(jù)點(diǎn)和第一控制信號(hào)的加法裝置級(jí),所述第一控制信號(hào)命令所述加法裝置對(duì)輸入數(shù)據(jù)點(diǎn)的選定組合執(zhí)行加法;對(duì)成對(duì)輸入數(shù)據(jù)執(zhí)行蝶式運(yùn)算的多級(jí)蝶式運(yùn)算裝置;在所述加法裝置級(jí)和所述多級(jí)蝶式運(yùn)算裝置之間對(duì)信號(hào)進(jìn)行路由選擇的路由選擇裝置;其中,所述多級(jí)蝶式運(yùn)算裝置接收第二控制信號(hào),命令所述多級(jí)蝶式運(yùn)算裝置對(duì)選定的至所述多級(jí)蝶式運(yùn)算裝置的成對(duì)輸入執(zhí)行蝶式運(yùn)算。
19.一種變換機(jī),其特征在于,包括第一變換處理器,所述第一變換處理器接收輸入數(shù)據(jù)點(diǎn);與所述第一處理器連接的存儲(chǔ)器元件;與所述存儲(chǔ)器元件連接的第二變換處理器;以及與所述第一變換處理器、所述第二變換處理器、和所述存儲(chǔ)器元件連接并向它們提供控制信號(hào)的控制器,所述控制器接收輸入信號(hào),并根據(jù)所述輸入信號(hào)生成控制信號(hào)。
20.如權(quán)利要求19所述的變換機(jī),其特征在于,所述變換處理器包括多個(gè)蝶式運(yùn)算級(jí);和多個(gè)交叉路由,一交叉路由介于連續(xù)的蝶式運(yùn)算級(jí)之間;其中,所述多個(gè)蝶式運(yùn)算級(jí)接收第二控制信號(hào),命令所述多個(gè)蝶式運(yùn)算級(jí)對(duì)選定的至所述多個(gè)蝶式運(yùn)算級(jí)的輸入執(zhí)行蝶式運(yùn)算。
全文摘要
一種數(shù)據(jù)塊規(guī)模可變的2-D IDCT機(jī)(10),可計(jì)算任意的變換混合。第一1-DIDCT處理器(20a)按列計(jì)算數(shù)據(jù)塊的變換,并在易位存儲(chǔ)器中存儲(chǔ)中間結(jié)果。第二1-D IDCT處理器(20b)按行計(jì)算中間結(jié)果的變換??赏ㄟ^使輸入數(shù)據(jù)正確排序,在蝶式運(yùn)算級(jí)前有選擇地組合輸入數(shù)據(jù),并控制每一蝶式運(yùn)算級(jí)的加法和乘法,來方便地進(jìn)行不同的變換混合。按旁路方式設(shè)置不需要的蝶式運(yùn)算??衫么屑臃ㄆ?56)和位串行乘法器實(shí)現(xiàn)蝶式運(yùn)算,以大大簡(jiǎn)化硬件設(shè)計(jì),減少連續(xù)的蝶式運(yùn)算級(jí)間的路由選擇需要。整體流水線結(jié)構(gòu)使IDCT機(jī)將吞吐速率保持在每一時(shí)鐘周期一像素。
文檔編號(hào)G06F17/14GK1268231SQ98808477
公開日2000年9月27日 申請(qǐng)日期1998年8月24日 優(yōu)先權(quán)日1997年8月25日
發(fā)明者K·D·伊斯頓 申請(qǐng)人:夸爾柯姆股份有限公司