專利名稱:分布式運(yùn)算體系結(jié)構(gòu)的信號(hào)處理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到信號(hào)處理。更明確地說(shuō),本發(fā)明涉及到一種新的設(shè)備和方法,這種新的設(shè)備和方法實(shí)現(xiàn)一種新的用于產(chǎn)生一個(gè)向量和一個(gè)矩陣的內(nèi)積的分布式運(yùn)算體系結(jié)構(gòu),并在數(shù)字照相機(jī)和類似圖象處理的應(yīng)用中具有特別有用的應(yīng)用。
當(dāng)用戶由于具有數(shù)字設(shè)備如壓縮磁盤,計(jì)算機(jī),打印機(jī),和蜂窩電話而變得更舒服的時(shí)侯,他們更愿意在他們生活的其他領(lǐng)域接受數(shù)字式啟動(dòng)技術(shù),比如照相機(jī)。的確,在照相機(jī)方面,當(dāng)前的趨勢(shì)是朝向數(shù)字照相機(jī),它可以消除對(duì)膠片的需求并在放膠片的地方用數(shù)字存儲(chǔ)設(shè)備代替以保存用戶已經(jīng)拍攝的照片。然而,數(shù)字照相機(jī)的成本仍停留在大多數(shù)人的能力所達(dá)不到的水平上,并且為了考慮大多數(shù)人能接受而正在作的各種努力是促使成本下降。除了降低成本外,為了增加對(duì)數(shù)字照相機(jī)的需求,照片的圖象質(zhì)量必須比得上典型膠片基底的照片。這個(gè)圖象質(zhì)量是通過增加在數(shù)字照相機(jī)內(nèi)圖象傳感器使用的象素(光到電的轉(zhuǎn)換)的數(shù)量驅(qū)動(dòng)的。不幸的是,這種在象素?cái)?shù)量上的增加進(jìn)一步抬高了數(shù)字照相機(jī)的成本,由于增加了處理需求需要去把在圖象傳感器上捕獲的圖象轉(zhuǎn)換為一種可接受的格式,此格式可以適合在照相機(jī)內(nèi)使用的數(shù)字儲(chǔ)存設(shè)備的極限。為了允許一個(gè)可接受的使用數(shù)字照相機(jī)拍攝的圖象數(shù)量并存儲(chǔ)在其內(nèi),一些形式的圖象壓縮對(duì)減少存儲(chǔ)需求是必要的。
當(dāng)然,用戶也正在需求新的性能以趁機(jī)利用他們已經(jīng)拍攝的照片的數(shù)字特征。例如,拍攝完一組照片后不是在一臺(tái)個(gè)人計(jì)算機(jī)上校正彩色均衡,亮度級(jí),對(duì)比度,等等,用戶希望這些操作在照相機(jī)自身上自動(dòng)地完成以使這些照片在一臺(tái)彩色打印機(jī)上直接復(fù)制出來(lái),從而完全地繞開了個(gè)人計(jì)算機(jī)。
因此,為了啟動(dòng)數(shù)字相機(jī)市場(chǎng),在增加附加功能的同時(shí)必須降低數(shù)字照相機(jī)的成本。這個(gè)新的數(shù)字照相機(jī)需要在它的內(nèi)部電子設(shè)備有多方面的用途并足以提供附加的功能。另外,電子設(shè)備必須要有較小的集成電路面積才可以使成本減少。
以前的為減少圖象處理電路大小和成本的一些嘗試已經(jīng)注視在分布式運(yùn)算方法上。分布式運(yùn)算(DA)的名字是因?yàn)樵诜莻鹘y(tǒng)意義上運(yùn)算功能是分布在各種各樣的電子設(shè)備中的,而不是被連結(jié)一起(例如加法,乘法)的離散運(yùn)算塊意義上的。在圖象處理中,最常遇到的運(yùn)算類型是乘以一個(gè)向量(圖象的一部分)和一個(gè)矩陣(一種變換功能,如圖象壓縮或擴(kuò)展)以構(gòu)成一個(gè)內(nèi)積。幸運(yùn)的是,通過DA可最有效地完成這個(gè)內(nèi)積運(yùn)算。事實(shí)上,前面的DA方法已經(jīng)是成功地減少在一個(gè)圖象處理集成電路中所使用的晶體管的數(shù)量的至少50-80%。然而,如果還要提供更多功能需求的同時(shí)繼續(xù)需要降低成本,則要求一種新的DA方法可以實(shí)現(xiàn)在圖象處理電路中進(jìn)一步減少晶體管數(shù)量。
一種設(shè)備計(jì)算一個(gè)矩陣和一個(gè)向量的內(nèi)積向量。該矩陣有第1組系數(shù)和該向量有第2組系數(shù)。至少一個(gè)輸入寄存器被用于存儲(chǔ)第2組系數(shù)。許多存儲(chǔ)元件被用于存儲(chǔ)根據(jù)矩陣的第1組系數(shù)預(yù)先計(jì)算的部分和。至少一個(gè)寄存器的輸入被用作為地址輸入到許多存儲(chǔ)元件以選擇部分和的一個(gè)子集。另外,把一個(gè)所選擇的電路連接到存儲(chǔ)元件的地址線上以確定在矩陣的哪一行向量構(gòu)成結(jié)果內(nèi)積向量的一個(gè)元素。從存儲(chǔ)元件輸出的部分和的子集被加到一個(gè)加法器電路中以生成一個(gè)總和輸出,它表示該矩陣乘以該向量的內(nèi)積向量的元素。
圖1說(shuō)明了用以實(shí)現(xiàn)一次內(nèi)積的分布式運(yùn)算方法的一種常規(guī)實(shí)現(xiàn)方案。
圖1A說(shuō)明了在圖1的常規(guī)實(shí)現(xiàn)方案中使用的存儲(chǔ)器結(jié)構(gòu)。
圖2說(shuō)明了使用分布式運(yùn)算的本發(fā)明方法的優(yōu)選實(shí)施例。
圖2A說(shuō)明了在圖2的優(yōu)選實(shí)施方案中使用的存儲(chǔ)器結(jié)構(gòu)。
圖2B說(shuō)明了在標(biāo)準(zhǔn)單元或相似方法中通過使用離散邏輯電路構(gòu)成的一個(gè)典型的存儲(chǔ)元件。
圖3說(shuō)明了在數(shù)字照相機(jī)中優(yōu)選實(shí)施例的使用。
在描述本發(fā)明的優(yōu)選實(shí)施方案之前,有幫助的是去理解在常規(guī)分布式運(yùn)算(DA)方法(見美國(guó)專利No.5,226,002)中一個(gè)向量乘以一個(gè)矩陣所使用的方法。為了說(shuō)明這個(gè)常規(guī)DA方法,考慮把一個(gè)N=4的元素列向量X與一個(gè)4行×4列的系數(shù)Cij矩陣,C相乘去形成一個(gè)由N個(gè)元素組成的結(jié)果向量Y,其中N=向量X和Y的輸入的數(shù),其中
和
Y(0)Y(1)Y(2)Y(3)=C00C01C02C03C10C11C12C13C20C21C22C23C30C31C32C33X(0)X(1)X(2)X(3)]]>在數(shù)字電路中,數(shù)字是以二進(jìn)制形式表示的。因此,向量X的每一個(gè)元素可被寫成為比特的行,該比特是X的元素?cái)?shù)值的2的二進(jìn)制表示。本領(lǐng)域技術(shù)人員應(yīng)理確對(duì)X的元素?cái)?shù)值存在其他二進(jìn)制表示,并且也符合本發(fā)明的精神和范圍。本領(lǐng)域的技術(shù)人員也應(yīng)理確X的每個(gè)元素可用給定的精確度所需要的比特?cái)?shù)目b表示,該精度是作為用戶希望實(shí)現(xiàn)的應(yīng)用所期望的,并且完全符合本發(fā)明創(chuàng)造的精神和范圍。作為例子,假設(shè)向量X的每個(gè)元素是4(例如b=4)位寬,這些向量元素可以被表示為X(i)=Σj=0b-1X(i)j2j]]>例如,當(dāng)i=0時(shí)然后,X(i)=X(0)323+X(0)222+X(0)121+X(0)020因此,上面向量X與矩陣C的乘法可以寫成為Y(0)Y(1)Y(2)Y(3)=C00C01C02C03C10C11C12C13C20C21C22C23C30C31C32C33X(0)323X(0)222X(0)121X(0)020X(1)323X(1)222X(1)221X(1)023X(2)323X(2)222X(2)121X(2)020X(3)323X(3)222X(3)121X(3)020]]>其中X(i)j是X(i)的第j位,位0是最小有效位。因?yàn)橄蛄縓的元素(X(i)j)是比特,它們只能有1或0的數(shù)值。因此,在X中的任意列與矩陣C中一給定行的內(nèi)積只有16種可能的數(shù)值。這16種數(shù)值表示該給定行向量的元素(系數(shù))的所有可能的和。在后面的常規(guī)DA方法的基本想法是去得到并預(yù)先計(jì)算這些用于行向量的部分和,并在一個(gè)獨(dú)立的ROM(只讀存儲(chǔ)器)中對(duì)C的每一行存儲(chǔ)這些部分和。X的每一列向量在一定時(shí)間內(nèi)被提供給每個(gè)獨(dú)立ROM的地址輸入端,并且每個(gè)ROM的輸出被累加以產(chǎn)生結(jié)果Y向量。
圖1說(shuō)明了一個(gè)使用常規(guī)DA方法計(jì)算從Y(0)到Y(jié)(3)的常規(guī)電路。它是由并行輸入串行輸出移位寄存器包含的4個(gè)輸入寄存器10,4個(gè)ROM 20,4個(gè)累加器30和一個(gè)時(shí)鐘電路40組成。為了開始計(jì)算從X(0)到X(3),輸入系數(shù)被記錄在輸入寄存器10中。這些輸入寄存器10的時(shí)鐘從最小有效位開始在每周期輸出每個(gè)輸入(基本上是X的列)的1位。這些位合在一起構(gòu)成通向ROM 20的地址。如圖1A所示,每個(gè)ROM分享同樣的地址輸入,但是每個(gè)ROM有不同的預(yù)先計(jì)算好存儲(chǔ)在ROM內(nèi)的部分?jǐn)?shù)據(jù)和。ROM 22有矩陣C第0行的預(yù)先計(jì)算的部分和。ROM1 24有矩陣C第1行的預(yù)先計(jì)算的部分和,ROM2 26有矩陣C第2行的預(yù)先計(jì)算的部分和,ROM3 28有矩陣C第3行的預(yù)先計(jì)算的部分和。在每個(gè)時(shí)鐘周期內(nèi),根據(jù)輸入寄存器10給ROM20一個(gè)地址并且用一個(gè)新的數(shù)據(jù)字記錄每個(gè)ROM的輸出。用每8位寬度表示出ROM的這個(gè)輸出。對(duì)于一種特定的應(yīng)用,本領(lǐng)域技術(shù)人員應(yīng)理解數(shù)據(jù)總線可以是依賴于所期望部分和分辨率的任意位寬度。來(lái)自每個(gè)ROM的輸出被分別累積在累加器30中,并且矩陣C的每一行的結(jié)果,從Y(0)到Y(jié)(3),在所有來(lái)自時(shí)鐘電路的時(shí)鐘周期均已被運(yùn)行后出現(xiàn)在累加器的輸出端。
注意到圖1也著重標(biāo)出DA電路的兩個(gè)重要參數(shù)。第一個(gè)參數(shù)N,輸入寄存器或者X和Y的元素(系數(shù))的數(shù)目,確定了在每個(gè)ROM中存儲(chǔ)單元的數(shù)量,存儲(chǔ)單元的數(shù)目是在2N的量級(jí)上,因?yàn)閷?duì)于本領(lǐng)域技術(shù)人員已知有各種各樣的技術(shù)用于減少2N個(gè)存儲(chǔ)單元的總數(shù)(見Write,Stanley A寫的“分布式運(yùn)算在數(shù)字信號(hào)處理中的應(yīng)用指導(dǎo)性評(píng)論”,IEEE ASSP雜志,1989年,第4-19頁(yè))。在圖1中,N=4使得每個(gè)ROM必須有至多24或16個(gè)存儲(chǔ)單元去存儲(chǔ)矩陣C的一個(gè)行向量元素的所有可能的和。第二個(gè)參數(shù)b,是在每一個(gè)輸入寄存器10的位的輸目。這第二個(gè)參數(shù)b確定為產(chǎn)生結(jié)果向量Y所需要的時(shí)鐘周期的數(shù)目。在圖1中,輸入寄存器是4位寬,也就是它取4個(gè)時(shí)鐘周期產(chǎn)生向量Y。
然而,使用常規(guī)DA方法的向量乘法有一個(gè)不利,是在b時(shí)鐘周期的每一個(gè)序列中向量Y的元素在一個(gè)時(shí)鐘周期內(nèi)是以并聯(lián)方式產(chǎn)生的。在很多情況下,所期望的是一個(gè)時(shí)鐘一次產(chǎn)生Y的一個(gè)元素,以致使它容易被存儲(chǔ)或被送到下一級(jí)流水線處理。因?yàn)樵赽時(shí)鐘周期的一個(gè)序列期間,在一個(gè)時(shí)鐘周期內(nèi)常規(guī)DA方法生成向量Y的所有元素Y,需要連接到累加器輸出(圖1未示出)的N個(gè)附加寄存器去存儲(chǔ)這個(gè)結(jié)果,如果在常規(guī)DA電路繼續(xù)處理下一組輸入的同時(shí)以流水線方式每次處理它們中的一個(gè)。在一個(gè)典型的VLSI(超大規(guī)模集成電路)提供使用的標(biāo)準(zhǔn)單元方法中,寄存器的每一位可能需要12個(gè)門那樣多,所以對(duì)N個(gè)附加寄存器這個(gè)總開銷是有相當(dāng)大的。
為了說(shuō)明在常規(guī)DA方法上本發(fā)明改進(jìn)的方法,考慮早先示出的矩陣C和向量X的內(nèi)積Y(0)Y(1)Y(2)Y(3)=C00C01C02C03C10C11C12C13C20C21C22C23C30C31C32C33X(0)323X(0)222X(0)121X(0)020X(1)323X(1)222X(1)121X(1)020X(2)323X(2)223X(2)121X(2)020X(3)323X(3)222X(3)121X(3)020]]>常規(guī)DA電路對(duì)向量Y的每個(gè)元素執(zhí)行內(nèi)積,對(duì)如下所示的每一個(gè)元素使用一個(gè)ROM
注意上面第2jth個(gè)系數(shù)的乘法可以通過簡(jiǎn)單的左移在中間圓括號(hào)內(nèi)j次結(jié)果的和數(shù)來(lái)實(shí)現(xiàn)。對(duì)于常規(guī)電路,這一過程是在累加器30中的每個(gè)時(shí)鐘周期之后完成的。
本發(fā)明中新的和改進(jìn)的DA方法實(shí)現(xiàn)像常規(guī)DA方法一樣的計(jì)算,但它是以不同的次序完成它們。在第1個(gè)周期中,形成矩陣C的第0行與向量X的每1列的內(nèi)積并把這些內(nèi)積加在一起以產(chǎn)生向量Y的元素Y(0)。使用矩陣C的一行同向量X的所有列一起在每一個(gè)周期中重復(fù)這個(gè)模式以產(chǎn)生向量Y的所有元素。該運(yùn)算如下所示(選擇0和選擇1是輸入到所有ROM的地址)
注意,對(duì)新的DA方法,通過把存儲(chǔ)的元素輸出120連接到加法器電路130可固有地完成2j的來(lái)法,這樣以致于ROMj的輸出是左移j次然后把最小有效位置于0。
另外,可能要考慮用于改變系數(shù)的動(dòng)態(tài)方法而不是通過使用靜態(tài)存儲(chǔ)元件ROM而被限定于固定系數(shù)。一種方法是增加ROM的大小尺寸而通過使用地址線選擇以選擇附加的系數(shù)集合。另一種方法是利用動(dòng)態(tài)可更新的存儲(chǔ)元件,比如隨機(jī)存取存儲(chǔ)器(RAM),閃存,或者EEPROM(電可擦除可編程只讀存儲(chǔ)器)集成電路或模塊。
圖2說(shuō)明了本發(fā)明在一個(gè)電路中使用這種新方法的優(yōu)選實(shí)施例。它是由N(4)個(gè)輸入寄存器110組成,它們的輸出被連接到一組N個(gè)存儲(chǔ)元件120的地址輸入上。這些存儲(chǔ)元件120包括ROM,RAM或其他有效固態(tài)存儲(chǔ)器比如像寄存器,閃速存儲(chǔ)器,EEPROM,可編程只讀存儲(chǔ)器(PROM)或者它們的組合。存儲(chǔ)元件120的輸出被連接到由三個(gè)較小的2加數(shù)輸入加法器網(wǎng)絡(luò)組成的加法器電路130。還有,本領(lǐng)域技術(shù)人員應(yīng)理解存儲(chǔ)元件的輸出可以是任意位寬,依賴于內(nèi)積結(jié)果的分辨率并符合本發(fā)明的精神和范圍。在常規(guī)電路中,所有ROM 20有同樣的與輸入寄存器10串行輸出連接的地址輸入信號(hào)。對(duì)每個(gè)時(shí)鐘周期,該輸入寄存器10串行輸出把向量X的一列送到所有ROM 20。在優(yōu)選實(shí)施方案的改進(jìn)電路中,所有存儲(chǔ)器元件120具有唯一的地址輸入。每一存儲(chǔ)器元件接收向量X的一列作為地址輸入,并且輸入到存儲(chǔ)器元件120的這些地址在向量Y整個(gè)計(jì)算期間始終保持為常數(shù)。到存儲(chǔ)元件i的輸入是向量X的第i列,即從X(0)到X(3)。另外,所示出的存儲(chǔ)體選擇電路150被連接到時(shí)鐘電路140。對(duì)每個(gè)時(shí)鐘周期,存儲(chǔ)體選擇電路生成新的Sel0和Sel1輸出,它們被連接到存儲(chǔ)元件120的地址線上。這些存儲(chǔ)體選擇信號(hào),Sel0和Sel1,被用于改變用于將矩陣C的所選列與向量X相乘的部分和。
在如圖1所示的常規(guī)電路中,每個(gè)ROM包含預(yù)先對(duì)矩陣C的一列計(jì)算的和。在如圖2A所示優(yōu)選實(shí)施方案的改進(jìn)電路中,所有存儲(chǔ)元件120的內(nèi)容是完全相同的。每個(gè)存儲(chǔ)元件包括對(duì)矩陣C的所有列預(yù)先計(jì)算的部分和。這就要求改進(jìn)電路的存儲(chǔ)元件有比常規(guī)電路中的ROM更多的存儲(chǔ)單元。在第1個(gè)計(jì)算周期中,每個(gè)存儲(chǔ)元件地址上面的比特被這樣設(shè)置使得用來(lái)自矩陣C第0列的和(例如Sel0=0,Sel1=0)。因此加法器網(wǎng)絡(luò)的輸出將是Y(0)。在下一個(gè)時(shí)鐘周期內(nèi),預(yù)先計(jì)算的矩陣C第1列的和在存儲(chǔ)元件120(例如Sel0=1,Sel1=0)中選擇,并且加法器網(wǎng)絡(luò)產(chǎn)生Y(1)。通過改變Sel0和Sel1以在每個(gè)時(shí)鐘周期內(nèi)選擇不同組預(yù)先計(jì)算的和來(lái)重復(fù)這個(gè)過程,直到產(chǎn)生向量Y的所有輸出。
可把一個(gè)附加的地址輸入加到存儲(chǔ)元件120的每個(gè)存儲(chǔ)元件上,以使存儲(chǔ)單元的數(shù)目加倍,并產(chǎn)生一表示矩陣系數(shù)選擇的存儲(chǔ)元件,比如當(dāng)只需要兩個(gè)矩陣向量運(yùn)算時(shí),即完成一離散余弦變換或一逆離散余弦變換運(yùn)算。一個(gè)附加的實(shí)施方案有至少一個(gè)RAM的存儲(chǔ)元件120或其他可裝入的或可重寫的存儲(chǔ)器以致對(duì)矩陣系數(shù)(如存儲(chǔ)在存儲(chǔ)設(shè)備中的部分和)使用的數(shù)值可被動(dòng)態(tài)地修正而不是被靜態(tài)地固定。
圖2B說(shuō)明當(dāng)使用標(biāo)準(zhǔn)單元或其他邏輯基礎(chǔ)電路時(shí)實(shí)現(xiàn)存儲(chǔ)元件的優(yōu)選實(shí)施例。為了實(shí)現(xiàn)這個(gè)存儲(chǔ)元件,使用地址信號(hào)作為輸入形成一個(gè)真值表160。對(duì)每組地址輸入所期望的地址輸入完成邏輯真值表160。對(duì)于一個(gè)標(biāo)準(zhǔn)的單元或相似的設(shè)備,一個(gè)邏輯編譯器將真值表160轉(zhuǎn)化為一組邏輯方程式并使用布爾邏輯(Boolean Logic)減少這組方程式以形成最簡(jiǎn)單的等效邏輯,對(duì)此為了實(shí)現(xiàn)每個(gè)存儲(chǔ)元件的輸出需要最少量的晶體管。在很多情況下,為了實(shí)現(xiàn)這個(gè)邏輯基礎(chǔ)存儲(chǔ)元件所需要的晶體管數(shù)量要少于為了實(shí)現(xiàn)一個(gè)常規(guī)ROM元件所需要的晶體管數(shù)量。晶體管的這個(gè)減少主要是由于消除了常規(guī)地址譯碼器,讀出放大器,和常規(guī)ROM的輸出緩存器電路。帶有邏輯門的存儲(chǔ)元件具有使用常規(guī)標(biāo)準(zhǔn)單元或等效設(shè)計(jì)程序能被實(shí)現(xiàn)的另外優(yōu)點(diǎn)。這個(gè)優(yōu)點(diǎn)用于減少設(shè)計(jì)時(shí)間,測(cè)試開發(fā),和產(chǎn)品成本。
特別是對(duì)圖2B,3比特輸入和3比特輸出存儲(chǔ)元件,為實(shí)現(xiàn)真值表的減少了的邏輯170需要24個(gè)晶體管。一個(gè)常規(guī)ROM存儲(chǔ)元件對(duì)于存儲(chǔ)器核心僅需要24個(gè)晶體管加上8個(gè)3輸入與非門和對(duì)于地址譯碼器需要3個(gè)反相器(使用離散邏輯門的48個(gè)晶體管)和3個(gè)輸出緩存器(至少6個(gè)晶體管)。這些附加的晶體管沒有包括為了完成讀出放大器對(duì)ROM存儲(chǔ)器核心輸出的檢測(cè)所需要的電路。因此,可以大量地減少為實(shí)現(xiàn)存儲(chǔ)元件所需要的面積。
圖3說(shuō)明了一個(gè)數(shù)字照相機(jī)200(靜止,運(yùn)動(dòng),或其他圖象捕捉設(shè)備比如雷達(dá)顯示器,圖形資料顯示器,等等),它使用本發(fā)明的優(yōu)選實(shí)施例完成圖象的壓縮和解壓縮。這些圖象的壓縮和解壓縮通常是分別使用離散余弦變換(DCT)和逆離散余弦變換(IDCT)完成,還有其他變換,例如,眾所周知的快速付立葉變換和快速付立葉逆變換,在技術(shù)上的這些技巧是符合本發(fā)明的精神和范圍。對(duì)DCT和IDCT矩陣C的系數(shù)被結(jié)合在兩個(gè)集合中以形成存儲(chǔ)在存儲(chǔ)元件120中的部分和并被使用如圖2和圖2A中所示的DCT/IDCT信號(hào)140選擇。數(shù)字照相機(jī)200包含一個(gè)鏡頭250,它把電磁能量260聚焦在包含象素陣列的圖象傳感器210上。圖象傳感器210把電磁能量260轉(zhuǎn)換成電脈沖,它被連接到本發(fā)明的優(yōu)選實(shí)施例,該實(shí)施例自身被包含在一個(gè)圖象處理集成電路(IC)220中。圖象傳感器210包含多個(gè)較小區(qū)域270(通常有8×8或16×16個(gè)象素)。圖象處理IC 220處理每個(gè)較小區(qū)域270或者用于圖象處理應(yīng)用(濾波,伽馬校正,彩色均衡,等等)或者用于使用在存儲(chǔ)元件中DCT或IDCT部分和的圖象壓縮/解壓縮。圖象處理IC 220被進(jìn)一步連接到照相機(jī)控制器240。照相機(jī)控制器240是一個(gè)典型的微處理器或是一個(gè)專用的狀態(tài)機(jī)。照相機(jī)控制器240把圖象傳感器210上的那些小區(qū)域270引到圖象處理IC 220處理。照相機(jī)控制器240把圖象處理IC 220處理結(jié)果儲(chǔ)存在圖象存儲(chǔ)設(shè)備230中。圖象存儲(chǔ)設(shè)備230可以是一個(gè)液晶顯示器,閃存卡,軟磁盤,或者其他存儲(chǔ)器,它們提供一個(gè)接口比如像RS-232,SCSI,USB,或者IEEE-1348(防火線)為用戶移去處理過的圖象。
本發(fā)明超過常規(guī)DA電路的一個(gè)優(yōu)點(diǎn)是減小了積分電路的面積。雖然在新電路中存儲(chǔ)元件120比常規(guī)情況需要更多的存儲(chǔ)單元,但是新方法比常規(guī)情況需要較少的2-加數(shù)加法器并且對(duì)存儲(chǔ)流水線運(yùn)算的輸出不需要任何用于存儲(chǔ)的輸出寄存器。新方法也不需要在常規(guī)DA電路的累加器中使用的寄存器。如果存儲(chǔ)元件120被實(shí)現(xiàn)作為邏輯基礎(chǔ)存儲(chǔ)元件,并且因?yàn)楫?dāng)實(shí)現(xiàn)時(shí)邏輯基礎(chǔ)存儲(chǔ)元件與在常規(guī)電路加法器中使用的寄存器相比較有利地只占有相當(dāng)少的空間,那么新電路的布局實(shí)際上小于常規(guī)的布局。另外,進(jìn)一步減小積分電路的面積是可以達(dá)到的,因?yàn)樵谛码娐分械妮斎爰拇嫫?10需要的門比在常規(guī)DA電路中并行輸入串行輸出移位輸入寄存器需要的門要少。在一個(gè)典型示例性比較中,使用常規(guī)DA電路實(shí)現(xiàn)的一個(gè)8×8離散余弦變換(DCT)需要9560個(gè)門,而使用本發(fā)明新的DA方法實(shí)現(xiàn)同樣8×8DCT功能需要少于7500個(gè)門。每個(gè)門典型地包含4個(gè)晶體管。
進(jìn)而,新方法的第2個(gè)優(yōu)點(diǎn)在有些情況下可能是有用的。例如,通過控制上面的存儲(chǔ)元件的地址比特,輸出項(xiàng)的次序可能被非常容易地控制。在圖2和圖2A中所示出的和在這里所描述的優(yōu)選實(shí)施例,包含通過計(jì)數(shù)器控制這些比特,但是它們?cè)谌魏稳我庑蛄兄泻苋菀妆或?qū)動(dòng)去產(chǎn)生所期望的向量Y結(jié)果元件的輸出。
權(quán)利要求
1.一種用于計(jì)算一個(gè)矩陣和一個(gè)向量的內(nèi)積向量的設(shè)備,該內(nèi)積向量具有一組元素,該矩陣具有按照一個(gè)列集合和一個(gè)行集合排列的第1系數(shù)集合,該向量具有第2系數(shù)集合,設(shè)備包括至少一個(gè)輸入寄存器(110),這個(gè)輸入寄存器(110)存儲(chǔ)第2系數(shù)集合,這個(gè)輸入寄存器(110)有一組輸出;許多存儲(chǔ)元件(120),這些存儲(chǔ)元件(120)存儲(chǔ)一組從第1系數(shù)集合得到的一組部分和,這些存儲(chǔ)元件(120)有一組地址輸入和一組數(shù)據(jù)輸出,該組地址輸入連接到至少一個(gè)輸入寄存器(110)的該組輸出,該組數(shù)據(jù)輸出表示該組部分和的一個(gè)子集,該組部分和的該子集通過該組地址輸入選擇;一個(gè)選擇電路(150),該選擇電路(150)連接到該多個(gè)存儲(chǔ)元件(120)的該組地址輸入,該選擇電路(150)選擇矩陣中用于內(nèi)積向量一個(gè)元素的計(jì)算的一列,這個(gè)內(nèi)積向量是根據(jù)該矩陣的所選列和該向量來(lái)計(jì)算的;一個(gè)加法器電路(130),這個(gè)加法器電路有一個(gè)和數(shù)輸出和許多加數(shù)輸入,這許多加數(shù)輸入連接到該存儲(chǔ)元件(120)的該組數(shù)據(jù)輸出,在那里許多存儲(chǔ)元件(120)的每個(gè)數(shù)據(jù)輸出被連接到一個(gè)加數(shù)輸入以形成和數(shù)輸出的一個(gè)加數(shù),該和數(shù)輸出表示內(nèi)積向量的一個(gè)元素;
2.權(quán)利要求1的設(shè)備,進(jìn)一步包括一個(gè)時(shí)鐘電路(140),該時(shí)鐘電路(140)連接到至少一個(gè)輸入寄存器(110)和存儲(chǔ)體選擇電路(150),該時(shí)鐘電路(140)生成一組時(shí)鐘周期與矩陣的列數(shù)相對(duì)應(yīng),其中該加法器電路(130)表示在該組時(shí)鐘周期的每個(gè)時(shí)鐘周期內(nèi)的內(nèi)積向量的所述一個(gè)元素,該元素對(duì)應(yīng)于在該組時(shí)鐘周期的每一時(shí)鐘周期內(nèi)矩陣的所選列乘以該向量;
3.權(quán)利要求1的設(shè)備,在那里的設(shè)備被裝配成為一個(gè)集成電路。
4.權(quán)利要求1的設(shè)備,其中該多個(gè)存儲(chǔ)元件(120)存儲(chǔ)多組部分和,這些存儲(chǔ)元件(120)進(jìn)一步包括一個(gè)選擇器,該選擇器連接到該多個(gè)存儲(chǔ)元件(120)去選擇那組部分和以表示許多存儲(chǔ)元件(120)的該數(shù)據(jù)輸出;
5.權(quán)利要求4的設(shè)備,其中的選擇器選擇一組部分和,它允許該設(shè)備完成離散余弦變換;
6.權(quán)利要求4的設(shè)備,其中該選擇器選擇一組部分和,它允許該設(shè)備完成逆離散余弦變換;
7.一架數(shù)字照相機(jī)(200),包括權(quán)利要求1的設(shè)備;
8.一種方法,用于計(jì)算一個(gè)矩陣和一個(gè)向量的內(nèi)積向量,該矩陣有按照一個(gè)列集合和一個(gè)行集合排列的第1系數(shù)集合,該向量有第2系數(shù)集合,包括的步驟根據(jù)向量的第2系數(shù)集合生成一組寄存器輸出;存儲(chǔ)一組從在多個(gè)存儲(chǔ)元件(120)中的第1系數(shù)集合得到的預(yù)先計(jì)算的部分和;選擇一個(gè)矩陣列乘以向量以形成內(nèi)積向量的一部分;選擇一個(gè)由該組存儲(chǔ)在許多存儲(chǔ)元件(120)中的基于寄存器輸出(110)而預(yù)先計(jì)算的部分和得到的預(yù)先計(jì)算的部分和的子集;把在一個(gè)加法電路(130)中預(yù)先計(jì)算的部分和的該子集加起來(lái)以生成內(nèi)積的一部分;和重復(fù)選擇一個(gè)矩陣列的步驟,選擇一個(gè)預(yù)先計(jì)算的部分和的子集,并加上該子集或預(yù)先計(jì)算的部分和用于矩陣的每一列。
9.權(quán)利要求8的方法,其中所說(shuō)的選擇預(yù)先計(jì)算的部分和的子集的該步驟包括從多組預(yù)先計(jì)算的部分和中選擇的步驟。
10.一架使用權(quán)利要求8的方法的數(shù)字照相機(jī)。
全文摘要
一種設(shè)備計(jì)算一個(gè)矩陣和一個(gè)向量的內(nèi)積向量。該矩陣有第1系數(shù)集合和該向量有第2系數(shù)集合。至少一個(gè)輸入寄存器(110)用于儲(chǔ)存第2系數(shù)集合。許多存儲(chǔ)元件(120)用于存儲(chǔ)部分和,它是根據(jù)矩陣的第1系數(shù)集合預(yù)先計(jì)算的。至少一個(gè)輸入寄存器(110)的輸出被用作為地址輸入到許多存儲(chǔ)元件以選擇部分和的一個(gè)子集。另外,一個(gè)選擇電路(150)被連接到存儲(chǔ)元件的地址線上以確定在矩陣中的哪一列向量形成對(duì)于那一列的結(jié)果內(nèi)積向量的一個(gè)元素。從存儲(chǔ)元件(120)輸出的部分和的子集被加在一個(gè)加法電路(130)中以產(chǎn)生一個(gè)和數(shù)輸出,它表示矩陣乘以向量的內(nèi)積向量的元素。該設(shè)備有減小集成電路面積的優(yōu)點(diǎn)和在任意所期望的次序上生成內(nèi)積向量的元素。
文檔編號(hào)G06F17/16GK1253340SQ99118180
公開日2000年5月17日 申請(qǐng)日期1999年8月30日 優(yōu)先權(quán)日1998年10月30日
發(fā)明者D·波普林, J·S·吉布森 申請(qǐng)人:惠普公司