專利名稱:使用編程的并行計(jì)算機(jī)實(shí)現(xiàn)圖像處理功能和控制的數(shù)字?jǐn)z像機(jī)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字?jǐn)z像機(jī),尤其涉及一種使用編程的并行計(jì)算機(jī)實(shí)現(xiàn)圖像操作功能的數(shù)字?jǐn)z像機(jī)。
數(shù)字?jǐn)z像機(jī)就其功能性、可靠性、方便性和成本而言,不論對(duì)于業(yè)余愛好者和專業(yè)人員都具有重大的優(yōu)點(diǎn)。例如,曝光的膠卷一般必須經(jīng)過化學(xué)顯影才能看到圖像,這是一種費(fèi)時(shí)而昂貴的處理,而數(shù)字?jǐn)z像機(jī)的圖像可以通過攝像機(jī)上的LCD直接地看到,也可以在計(jì)算機(jī)上觀看,可以使用彩色打印機(jī)打印,或者通過互聯(lián)網(wǎng)共享。盡管有這些優(yōu)點(diǎn),但是相對(duì)于主流消費(fèi)產(chǎn)品,數(shù)字?jǐn)z像機(jī)目前仍然用得較少,只占市場銷售的一個(gè)小的份額。數(shù)字?jǐn)z像機(jī)之所以不能被快速地采用,是因?yàn)槟壳暗臄?shù)字?jǐn)z像機(jī)具有相對(duì)較高的成本,相對(duì)較低的圖像質(zhì)量。
圖像序列(視頻)的數(shù)字處理比靜止圖像的處理更是計(jì)算密集的。在每秒30幀時(shí),數(shù)字視頻的實(shí)時(shí)處理的計(jì)算能力要求是靜止圖像的處理幾十倍。雖然目前數(shù)字視頻用于電視會(huì)議以及包括DVD和攝像機(jī)在內(nèi)的消費(fèi)性產(chǎn)品,但是和靜止的數(shù)字?jǐn)z影相比,目前和數(shù)字視頻相關(guān)的相當(dāng)?shù)偷膱D像質(zhì)量和高的成本意味著其被大量的采用還在較遠(yuǎn)的將來。
同樣,對(duì)于數(shù)字成像應(yīng)用,一般地說,常規(guī)的解決方案通常包括昂貴的專用電路,用于實(shí)現(xiàn)專用的計(jì)算密集的圖像處理。例如,
圖1是由LSI Logic of Milpitas,California制造的DCAM-101“用于數(shù)字?jǐn)z像機(jī)的單個(gè)芯片”的方塊圖。由圖1可見,DCAM-100使用單獨(dú)的硬件電路進(jìn)行伽馬校正、彩色空間變換和JPEG編碼與譯碼。圖2是說明另一種(一般的)數(shù)字?jǐn)z像機(jī)的圖像處理方案,其中對(duì)于若干個(gè)圖像處理功能的每個(gè)功能使用單獨(dú)的硬件電路。這種數(shù)字成像功能的分散阻礙了其發(fā)展,這是因?yàn)檫@使得這些產(chǎn)品不能容易地交換圖像數(shù)據(jù),并且產(chǎn)品制造者只顧及有限的規(guī)模經(jīng)濟(jì)。
此外,即使數(shù)字?jǐn)z像機(jī)圖像處理功能被編程(和專用硬件電路相反),并且即使數(shù)字圖像處理功能對(duì)于并行計(jì)算機(jī)被編程,也仍然是常規(guī)的被編程的圖像處理器對(duì)于在圖像的掃描線中的每個(gè)像素使用一個(gè)處理元件。例如參見Allan L.Fisher,Peter T.Highnam,和Todd E.Rockoff,“A four-processor Building Block for SIMDProcessor Arrays”,IEEE Journal of Solid State Circuits vol.25,No.2,April,1990,pp.369-375。上述的文章披露了一種掃描線陣列處理器(SLAP)結(jié)構(gòu)(雖然不用于數(shù)字?jǐn)z像機(jī)),其由處理器的線性陣列(處理元件,或者“PE”)組成,所述陣列由廣播指令用單指令多數(shù)據(jù)(SIMD)方式控制。圖3是一種綜合SLAP拓?fù)涠玫降姆綁K圖。掃描線數(shù)據(jù)被串行地移動(dòng)到像素?cái)?shù)據(jù)移位寄存器302的各級(jí)中,其中的每一級(jí)用于掃描線中的一個(gè)像素,然后,通過根據(jù)廣播指令并行地操作的PEP被并行地傳遞到PE的PEI中。
圖4是說明對(duì)在SLAP中的PE分配圖像數(shù)據(jù)的方塊圖,圖5A-5E說明在SLAP中的三級(jí)流水線操作。不幸的是,隨著被處理的圖像分辨率的增加,所需的處理器的數(shù)量也增加,而大量的處理器不利于用于便攜式裝置例如數(shù)字?jǐn)z像機(jī)中。
本發(fā)明是一種數(shù)字?jǐn)z像機(jī)裝置。該裝置包括產(chǎn)生圖像數(shù)據(jù)的檢測器,并且還包括用于處理檢測的圖像數(shù)據(jù)的并行處理器。被編程的并行計(jì)算電路對(duì)產(chǎn)生的圖像數(shù)據(jù)進(jìn)行計(jì)算密集的圖像處理功能。使用半導(dǎo)體高效編程并行處理結(jié)構(gòu),本發(fā)明使得在數(shù)字成像裝置中的性能對(duì)硬件的成本的比為最大,同時(shí)具有大的靈活性,并且在數(shù)字成像裝置領(lǐng)域內(nèi)可以制造出許多不同的產(chǎn)品。在特定的實(shí)施例中,所述編程的并行計(jì)算結(jié)構(gòu)是存儲(chǔ)有指令的SIMD計(jì)算機(jī)。
按照本發(fā)明的另一個(gè)方面,用于處理圖像數(shù)據(jù)的并行計(jì)算機(jī)用比圖像的掃描線中的像素較少的處理元件處理圖像數(shù)據(jù)。
圖1是說明用于數(shù)字?jǐn)z像機(jī)中的常規(guī)的單片處理器的方塊圖2是說明用于數(shù)字?jǐn)z像機(jī)的常規(guī)的數(shù)字圖像處理裝置的方塊圖;圖3是說明適用于各種圖像計(jì)算的常規(guī)的掃描線陣列處理器的拓?fù)涞姆綁K圖;圖4說明對(duì)例如圖3所示的SLAP常規(guī)的掃描線陣列處理器中的PE分配圖像數(shù)據(jù);圖5A-5E說明掃描線陣列處理器的三級(jí)圖像數(shù)據(jù)流水線的常規(guī)的操作。
圖6是按照本發(fā)明的實(shí)施例的數(shù)字成像裝置的功能方塊圖,其中包括應(yīng)用于數(shù)字?jǐn)z像機(jī)的編程的并行計(jì)算機(jī);圖7是具有比掃描線的像素較少的PE的具有單指令緩存的SIMD PE模塊的單片數(shù)字成像芯片的功能方塊圖;圖8是具有多指令緩存SIMD PE模塊的單片數(shù)字成像芯片的功能方塊圖,其中至少一些模塊具有比分配給該模塊的掃描線像素的數(shù)量較少的PE;圖9是包括指令緩存SIMD芯片的多個(gè)例子的數(shù)字成像系統(tǒng)的功能方塊圖,其將作為用于高價(jià)位的數(shù)字視頻攝像機(jī)的例子;圖10說明具有比每個(gè)掃描線的像素較少的PE的增強(qiáng)的掃描線陣列處理器圖像數(shù)據(jù)流水線的一個(gè)實(shí)施例;圖11說明具有比每個(gè)掃描線的像素較少的PE的增強(qiáng)的掃描線陣列處理器圖像數(shù)據(jù)流水線的第二個(gè)實(shí)施例。
按照本發(fā)明的廣義的方面,數(shù)字?jǐn)z像機(jī)的圖像處理功能由編程的并行計(jì)算機(jī)來實(shí)現(xiàn)。在本發(fā)明的這個(gè)方面下的一個(gè)重要的但是尚未被充分地利用的事實(shí)是,數(shù)字成像功能是可升級(jí)的并行數(shù)據(jù)。這個(gè)成像功能的性質(zhì)使得它們適合于在具有許多或數(shù)千個(gè)處理元件(PE)的編程的并行計(jì)算機(jī)上實(shí)現(xiàn)高效率。提高效率的一種措施是通過由并行計(jì)算機(jī)實(shí)現(xiàn)的單個(gè)處理器加速。N個(gè)PE的并行計(jì)算機(jī)的最大效率是N。
用于圖像處理的使用編程的并行計(jì)算機(jī)的數(shù)字?jǐn)z像機(jī)的一個(gè)實(shí)施例如圖6所示。參見圖6,圖像通過透鏡602被聚焦在檢測器604上,所述檢測器例如是一種電荷耦合器件(CCD),其產(chǎn)生相應(yīng)于圖像的多個(gè)模擬信號(hào)。所述模擬信號(hào)通過A/D轉(zhuǎn)換電路606,從而產(chǎn)生圖像的數(shù)字化形式。來自A/D轉(zhuǎn)換電路606的數(shù)字圖像(像素)數(shù)據(jù)通過多路轉(zhuǎn)換器610被提供給并行計(jì)算機(jī)608的輸入數(shù)據(jù)端口612。數(shù)字化的像素?cái)?shù)據(jù)由并行計(jì)算機(jī)608操作,然后,把處理過的數(shù)據(jù)提供給并行計(jì)算機(jī)608的圖像數(shù)據(jù)輸出端口614。此外,像素?cái)?shù)據(jù)可以由并行計(jì)算機(jī)608操作,用于控制數(shù)字?jǐn)z像機(jī)本身,例如控制圖像的獲得。
并行計(jì)算機(jī)608的輸出數(shù)據(jù)端口614和輸入數(shù)據(jù)端口612通過多路轉(zhuǎn)換器610和總線616相連。還提供有許多和總線616相連的其它的電路,其中包括微處理器618(具有相連的ROM620和RAM621),和外部設(shè)備相連的通用I/O電路622,和個(gè)人計(jì)算機(jī)的串行端口相連的串行I/O電路624,和液晶顯示器632相連的電接口630,NTSC/PAL視頻數(shù)字信號(hào)通過模擬轉(zhuǎn)換器接口634被送到電視機(jī)。總線616還和并行計(jì)算機(jī)608的控制/狀態(tài)端口相連,并和電接口636相連,用于控制圖像檢測器604。
最后,并行計(jì)算機(jī)608還包括存儲(chǔ)器控制器638,其和DRAM640(或其它的RAM)相連,以及內(nèi)部PE(“PE”是處理元件)通信接口642,用于連接多片內(nèi)部PE通信網(wǎng)絡(luò)。一般地說,并行計(jì)算機(jī)608由許多由內(nèi)部通信網(wǎng)絡(luò)連接的處理元件(PE)構(gòu)成。在并行計(jì)算機(jī)608內(nèi)的內(nèi)部PE通信網(wǎng)絡(luò)的特定結(jié)構(gòu)雖然通常被認(rèn)為是并行計(jì)算機(jī)結(jié)構(gòu)的一個(gè)重要特征,但是并不集中于本發(fā)明的這個(gè)方面。不過,對(duì)于用于數(shù)字成像的并行計(jì)算機(jī)608似乎是合適的一種拓?fù)涫蔷€性陣列,例如由掃描線陣列處理器(SLAP)所示。此外,關(guān)于SLAP的背景技術(shù),讀者可參閱Allan L.Fisher,Peter T.Highnam,和ToddE.Rockoff,“A Four-Processor Building Block for SIMD ProcessorArrays”,IEEE Journal of Solid State Circuits,vol.25,No.2,April,1990,pp.369-375。
并行計(jì)算機(jī)608可以進(jìn)行圖像分析、操作和增強(qiáng)功能。被提供的功能的設(shè)置、圖像的尺寸和功能應(yīng)用的速率是在數(shù)字成像產(chǎn)品當(dāng)中的主要識(shí)別標(biāo)志。因?yàn)椴⑿杏?jì)算機(jī)608被編程(即和用硬件實(shí)現(xiàn)的ASIC相反,)所以不僅高效地執(zhí)行數(shù)字?jǐn)z像機(jī)的圖像處理功能,而且數(shù)字?jǐn)z像機(jī)的研制和更新被大大簡化了。
可以提供的成像任務(wù)包括補(bǔ)償圖像檢測器特性(包括分辨率、寬高比、像素形狀等),補(bǔ)償圖像顯示特性(包括分辨率、寬高比、像素形狀等),彩色校正和彩色空間轉(zhuǎn)換,圖像質(zhì)量的改進(jìn),產(chǎn)生增強(qiáng)的取景器顯示,為進(jìn)行存儲(chǔ)與/或交換實(shí)現(xiàn)壓縮和解壓,為進(jìn)行圖像通信而進(jìn)行加密和解密等。
如在
背景技術(shù):
中討論的,SLAP提供圖像數(shù)據(jù)移位器,沿著水平圖像的尺寸為每個(gè)像素提供一級(jí)所述移位器。SLAP的構(gòu)思和圖像檢測器的串行掃描輸出特性很好地匹配。SLAP構(gòu)思產(chǎn)生一種成本低的三級(jí)圖像數(shù)據(jù)流水線,其中輸出像素的一個(gè)掃描線被移位輸出,同時(shí)第二個(gè)掃描線的輸出值被計(jì)算,同時(shí)圖像檢測器數(shù)據(jù)的第三個(gè)掃描線被移位到并行計(jì)算機(jī)內(nèi)進(jìn)行處理。
下面列出可以在具有并行計(jì)算機(jī)608的數(shù)字成像裝置中執(zhí)行的一些功能。按照在處理器輸出端614一些功能影響檢測器604對(duì)處理的圖像數(shù)據(jù)的輸出的順序,列出一些示例的功能。
1)像素?cái)?shù)據(jù)校正施加于由圖像檢測器604接收的數(shù)字像素?cái)?shù)據(jù)的功能a)像素調(diào)整像素調(diào)整需要知道每個(gè)像素的校準(zhǔn)值。像素調(diào)整變換檢測的像素值,以便補(bǔ)償檢測器陣列中的各個(gè)元件的不完善的響應(yīng)特性。校準(zhǔn)信息通過測量對(duì)已知圖像的響應(yīng)來獲得(例如被提供在鏡頭蓋內(nèi)部的圖像)。對(duì)于相應(yīng)的圖像檢測器元件,對(duì)圖像中的每個(gè)像素的調(diào)整只根據(jù)檢測的像素值進(jìn)行。
b)伽馬校正圖像檢測器在動(dòng)態(tài)范圍內(nèi)的響應(yīng)特性和人眼的響應(yīng)特性不同。伽馬校正非線性地變換測量的像素值,使像素值的最低有效位的主觀顯著性最大。對(duì)圖像中的每個(gè)像素的伽馬校正只根據(jù)檢測的像素值和響應(yīng)曲線的所需形狀進(jìn)行;目標(biāo)響應(yīng)曲線在所有的像素當(dāng)中是共用的,并且不隨圖像而改變。
c)彩色空間變換圖像檢測器在每個(gè)原色(RGB)中一般具有整數(shù)的強(qiáng)度值。從線性代數(shù)的觀點(diǎn)看來,“基本矢量”R,G,B不是正交的。這個(gè)事實(shí)意味著,改變像素的R值也使得G、B值改變。圖像處理所通用的更有效的表示基于YCbCr空間,其中Y代表像素的純亮度(亮度),Cb和Cr代表在二維彩色平面中的像素的位置。YCbCr是正交基的矢量。由RGB圖像變換為YCbCr圖像需要在圖像中的每個(gè)像素由3×3變換矩陣乘3×1矢量。每個(gè)像素的彩色空間變換只根據(jù)檢測的像素值和變換矩陣中的值進(jìn)行,變換矩陣值是固定的,并為所有的像素共用。
2)圖像優(yōu)化場景分析和處理調(diào)節(jié)檢測的圖像,從而改善輸出圖像的質(zhì)量。
a)過采樣(數(shù)字變焦)當(dāng)需要使圖像具有比由圖像檢測器得到的分辨率較高的分辨率時(shí),可以通過內(nèi)插處理產(chǎn)生處于檢測的像素之間的值。一般的數(shù)字?jǐn)z像機(jī)使用線性內(nèi)插,借以使每個(gè)像素被其相鄰的像素的加權(quán)的平均值表示。本發(fā)明的一個(gè)方面在于使用并行計(jì)算機(jī)的能力,從而應(yīng)用較高階的內(nèi)插算法。
b)數(shù)字圖像穩(wěn)定數(shù)字圖像穩(wěn)定處理用于當(dāng)取景靜止的圖像時(shí)補(bǔ)償視頻攝像機(jī)的運(yùn)動(dòng)。視頻攝像機(jī)的運(yùn)動(dòng)產(chǎn)生可以通過使像素在幀之間移動(dòng)來補(bǔ)償?shù)钠?。消除幀?duì)幀的運(yùn)動(dòng)在下面的MPEG功能中討論。給定一個(gè)運(yùn)動(dòng)矢量,對(duì)于每個(gè)像素的數(shù)字圖像穩(wěn)定只根據(jù)所述運(yùn)動(dòng)矢量和中心在前一幀的一個(gè)像素的有限范圍的相鄰像素的一組值進(jìn)行。
c)先進(jìn)的功能,例如消除閃爍和取景功能在啟動(dòng)電子快門從而使圖像輸入到存儲(chǔ)器之前,在成像裝置中以理想的方式完成這些功能,這些功能能夠使圖像在理想的時(shí)刻被捕獲。這些功能分析特定場景的各種性質(zhì),從而確定如何捕獲圖像。雖然這些功能本身的定義不在本發(fā)明的范圍內(nèi),但是這些功能需要以高的速率進(jìn)行計(jì)算密集的可升級(jí)的數(shù)據(jù)并行計(jì)算。
3)JPEG壓縮有許多標(biāo)準(zhǔn)的方法用于簡化按位測量的圖像的表達(dá)。JPEG具有幾個(gè)操作方式,一些保留所有的原始圖像檢測數(shù)據(jù),屬于“無損”的操作方式,而一些除去一些信息,因而恢復(fù)的壓縮圖像和原始的不同,屬于“有損”的操作方式。在JPEG有損方式下的心理-視覺原理是,人的眼睛對(duì)于圖像的高頻空間分量不敏感。換句話說,當(dāng)觀看某些具有斑點(diǎn)的圖像時(shí),人的眼睛加重邊沿的信息。JPEG標(biāo)準(zhǔn)的有損方式的工作過程是,分析圖像的空間頻譜,然后,從高頻分量中選擇地除去分辨率(resolution),借以實(shí)現(xiàn)更致密的圖像表達(dá)。在JPEG壓縮中主要的計(jì)算工作應(yīng)用于像素的8×8個(gè)塊,使得關(guān)于給定像素的在使用JPEG壓縮期間產(chǎn)生的中間結(jié)果只根據(jù)該像素所在的8×8個(gè)像素塊確定。
a)光柵塊變換第一步把圖像檢測器的逐行(光柵)掃描輸出變換變換為適用于JPEG的8×8塊表達(dá)。當(dāng)整個(gè)圖像被存儲(chǔ)在存儲(chǔ)器中時(shí),通過合適地訪問存儲(chǔ)的像素值實(shí)現(xiàn)光柵塊變換。在線光柵塊變換需要緩沖16個(gè)掃描線的像素值,只有在光柵數(shù)據(jù)的8個(gè)掃描線被收到之后,才能在變換器的輸出端得到8×8塊。這種緩沖可以利用SLAP型線性陣列計(jì)算機(jī)容易地實(shí)現(xiàn)。
b)塊離散余弦變換(DCT)被應(yīng)用于8×8像素塊的DCT類似于一種信號(hào)處理函數(shù),并且屬于一種最計(jì)算密集的函數(shù)。DCT把顏色值的空間表達(dá)變換成頻率表達(dá)。頻率表達(dá)是應(yīng)用JPEG壓縮的心理生理原理的關(guān)鍵,所述原理認(rèn)為,高頻信息的分辨率對(duì)于人的眼睛不像低頻信息那么重要。
8×8DCT由下式給出f(u,v)=14C(u)C(v)[Σx=07Σy=07f(x,y)*cos(2x_1)uπ16cos(2y+1)vπ16]]]>見Gregory K.Wallace,“The JPEG Still Picture CompressionStandard,”Communications of the ACM,vol.34,no.4,April 1991,pp.30-44.
類似于2-D FFT,塊DCT是一種可分離的變換。這意味著8×8DCT的列中包括8個(gè)1-D DCT,在行中包括另外的8個(gè)1-D DCT。估計(jì)8元素1D DCT大約需要20個(gè)乘法/加法步驟。因此,在8×8DCT中,乘法/加法步驟的數(shù)量由下式給出20MACs1-DDCT*8cols+20MACs1-DDCT*8rows=320MACs2-DDCT]]>c)量化在量化步驟中JPEG算法以無害的方式從壓縮的圖像中合理地除去一些信息。
量化處理應(yīng)用于8×8像素塊的每個(gè)系數(shù),對(duì)所述的像素塊給予一組為圖像中的所有塊共用的量化參數(shù)Q(u,v)。量化算法表示如下FQ(u,v)=Integer Round(F(u,v)Q(u,v))]]>上式表明,量化需要對(duì)每個(gè)像素進(jìn)行一次除法操作。
d)微分脈沖編碼調(diào)制在圖像當(dāng)中,DCT的DC(零頻率)參數(shù)F(0,0)被進(jìn)行微分編碼。這個(gè)步驟需要在直接相鄰的像素塊當(dāng)中進(jìn)行通信。
e)熵編碼量化的DCT系數(shù)被致密地表示,例如通過應(yīng)用赫夫曼編碼。熵編碼分兩步,第一個(gè)內(nèi)部塊步驟,其中對(duì)系數(shù)分配符號(hào),內(nèi)部塊和中間塊步驟,其中符號(hào)被轉(zhuǎn)移到不同長度的位的序列。第一步不需要在像素塊當(dāng)中進(jìn)行通信,而第二步需要在直接相鄰的像素塊當(dāng)中進(jìn)行通信。
4)MPEG壓縮MPEG是一種通常應(yīng)用于視頻圖像的壓縮標(biāo)準(zhǔn)。MPEG的核心和JPEG算法相同,其依賴于通過DCT實(shí)現(xiàn)的頻域信息的量化,從而以不引人注意的方式從壓縮的圖像中除去信息。MPEG定義下面的附加的函數(shù),其中使用這樣的事實(shí),單個(gè)場景的視頻圖像的序列共享大量的公共信息。
a)運(yùn)動(dòng)估計(jì)運(yùn)動(dòng)估計(jì)的目的是對(duì)于給定的視頻幀中的給定的像素塊,確定來自先前幀并進(jìn)入相繼幀的像素塊。和圖像中的可視物體的碎片相關(guān)的像素的塊,當(dāng)所述物體不被中斷地運(yùn)動(dòng)或者當(dāng)攝像機(jī)運(yùn)動(dòng)時(shí),似乎是運(yùn)動(dòng)的。
運(yùn)動(dòng)估計(jì)一般對(duì)64×64個(gè)宏塊進(jìn)行操作,試圖計(jì)算在當(dāng)前幀的給定的宏塊和在相鄰幀中的相鄰的宏塊之間的差。在空間上(在一個(gè)相鄰的幀內(nèi))和時(shí)間上搜索的程度(搜索的幀的數(shù)量)受可利用的處理能力的限制。
運(yùn)動(dòng)估計(jì)只要求在像素當(dāng)中進(jìn)行本地通信,其有效性和施加的處理能力成正比。因此,MPEG壓縮似乎是這樣一種壓縮,其需要任意多的計(jì)算,即使再多的處理能力(在下一個(gè)20年可以由用使用者提供的)也不過分。
5)顯示接口630一些常規(guī)的攝像機(jī)包括用于操作LCD屏例如LCD屏632的電路。
a)欠采樣通??梢蕴峁┑腖CD的像素分辨率小于圖像的分辨率。常規(guī)的攝像機(jī)通過忽略檢測器604的輸出中的額外的像素或者進(jìn)行簡單的平均進(jìn)行圖像的欠采樣。欠采樣是一種只需要在相鄰的像素當(dāng)中進(jìn)行通信的算法。
b)彩色空間變換LCD屏不用便于用于圖像操作算法的YCbCr值作為輸入。因此,進(jìn)行反變換,把像素值變換為RGB表示用于進(jìn)行顯示。這種變換需要在每個(gè)像素使3×1矢量乘以3×3矩陣。
c)通常LCD顯示器具有混疊效應(yīng)(齒狀失真行)。應(yīng)用防混疊算法實(shí)現(xiàn)清晰的LCD顯示。
上述的討論為在常規(guī)的靜止的和運(yùn)動(dòng)的數(shù)字?jǐn)z像機(jī)中使用的許多(如果不是全部)數(shù)字成像算法可以升級(jí)和進(jìn)行并行數(shù)據(jù)處理提供了依據(jù)。這個(gè)事實(shí)是斷言大量的數(shù)字成像產(chǎn)品執(zhí)行升級(jí)的數(shù)據(jù)并行算法的依據(jù)。這些算法適合于并行處理。
利用可編程的并行計(jì)算機(jī)代替固定功能的電路,可以改善攝像機(jī)的功能的靈活性,使得開發(fā)附加的功能用的時(shí)間最小。
除去在成本效果上可以替代固定功能電路之外,本發(fā)明還能夠提供以下有價(jià)值的功能1)采用比不喪失圖像質(zhì)量的完美的圖像檢測器元件制造成本低的不完美的圖像檢測器,經(jīng)過自動(dòng)檢測器校正達(dá)到最佳的圖像質(zhì)量,使得攝像機(jī)制造者可以通過采用廉價(jià)的圖像檢測器降低成本。
2)能夠適應(yīng)大范圍的檢測器尺寸和圖像格式。
3)能夠使攝像機(jī)用戶在一個(gè)大的范圍內(nèi)交換使用對(duì)于圖像分辨率的壓縮比。
4)能夠利用來自計(jì)算機(jī)圖形學(xué)領(lǐng)域中的內(nèi)插算法實(shí)現(xiàn)相當(dāng)高的質(zhì)量的數(shù)字聚焦(相對(duì)于在常規(guī)的數(shù)字?jǐn)z像機(jī)中使用的最近相鄰線性內(nèi)插的相對(duì)低的質(zhì)量)。
5)能夠以高的成本效果比實(shí)現(xiàn)照相機(jī)和視頻攝像機(jī)的功能。在照相機(jī)中,使用附加的處理能力代替在視頻攝像機(jī)中為進(jìn)行質(zhì)量優(yōu)化而進(jìn)行大量運(yùn)算。例如連續(xù)地執(zhí)行背景的壓縮、解壓、和誤差校正處理,對(duì)于當(dāng)前的拍攝內(nèi)容通過實(shí)驗(yàn)確定最佳的量化表。
6)能夠?qū)崿F(xiàn)清晰的LCD屏幕圖像顯示。
7)能夠提供用于輸入任何數(shù)字圖像文件或任何數(shù)據(jù)流格式例如用作通用顯示裝置的通用裝置。
8)能夠提供用于輸出任何數(shù)字圖像文件或任何數(shù)據(jù)流格式例如用作通用顯示裝置的通用裝置。
9)能夠提供使產(chǎn)品生產(chǎn)者快速地適應(yīng)在數(shù)字圖像產(chǎn)品領(lǐng)域中快速發(fā)展的標(biāo)準(zhǔn)的通用裝置。
10)能夠提供使產(chǎn)品生產(chǎn)者能夠以軟件形式增加或減少產(chǎn)品的功能的通用裝置,從而完善相關(guān)的數(shù)字圖像產(chǎn)品的生產(chǎn)線,降低生產(chǎn)線的制造成本。
按照本發(fā)明的另一個(gè)方面,其實(shí)施例如圖7和圖8所示,通過指令的存儲(chǔ)實(shí)現(xiàn)了一種作為SIMD計(jì)算機(jī)的并行計(jì)算機(jī)608,如美國專利5511212(212號(hào)專利)所述。所述212號(hào)專利列于此處,其全文作為參考。212號(hào)專利披露了一種用于實(shí)現(xiàn)SIMD計(jì)算機(jī)的方法,以便使性能(用每秒進(jìn)行的總的像素操作測量)對(duì)硬件的成本(以芯片面積測量)的比為最大。
一般地說,小型的數(shù)字成像產(chǎn)品包括微控制器618(圖6),用于調(diào)整和控制各個(gè)系統(tǒng)功能。按照本發(fā)明的這個(gè)方面,微控制器618(有時(shí)稱為“微處理器”或“內(nèi)裝的微處理器”)用作指令緩存的SIMD計(jì)算機(jī)的系統(tǒng)控制器。微控制器總線616用作總的指令傳輸網(wǎng)絡(luò)和響應(yīng)網(wǎng)絡(luò)。如圖212號(hào)專利所討論的,并如圖7,8所示,每個(gè)PE模塊提供有一個(gè)本地控制器705,其中每個(gè)PE模塊包括多個(gè)PE。在系統(tǒng)中的PE模塊的數(shù)量取決于例如所需的PE的總數(shù)、PE的邏輯的復(fù)雜性、以及由用于實(shí)現(xiàn)數(shù)字?jǐn)z像機(jī)處理裝置的VLSI實(shí)現(xiàn)技術(shù)所確定的同步區(qū)域的尺寸。
圖7表示單模塊指令緩存SIMD計(jì)算機(jī),而圖8表示多模塊指令緩存SIMD計(jì)算機(jī)。(其中圖7中的計(jì)算機(jī)的元件在圖8中被加倍,多元件附有a,b標(biāo)號(hào))。
下面列出主要功能
1)該裝置可以用一個(gè)芯片或者多個(gè)芯片實(shí)現(xiàn)。單個(gè)芯片適合于照相機(jī)和低檔的視頻攝像機(jī),而多芯片適合于具有非常高的性能的攝像機(jī)。
2)對(duì)于用于實(shí)現(xiàn)數(shù)字?jǐn)z像機(jī)處理裝置的任何VLSL實(shí)現(xiàn)技術(shù),該裝置具有最大的性能對(duì)硬件的成本比。
3)該裝置適用于和廉價(jià)的CMOS圖像檢測器元件集成在一起。
指令緩存的SIMD計(jì)算機(jī)在212號(hào)專利中詳細(xì)地描述了,像素?cái)?shù)據(jù)緩沖器702增加了外部接口(例如本地外部存儲(chǔ)器接口704),以便幫助形成具有多個(gè)這種芯片的系統(tǒng)。用于圖像計(jì)算的每個(gè)PE是專用的。一個(gè)合適的PE應(yīng)當(dāng)具有16位ALU和128個(gè)文字寄存器文件以及文本管理文件和用于SIMD操作的通信接口電路。
大部分計(jì)算密集的圖像功能(包括在上述的背景技術(shù)部分列出的那些)的特征在于,它們必須產(chǎn)生輸出圖像,其中的每個(gè)像素作為其空間相鄰像素的函數(shù)被確定。這種函數(shù)被描述為被施加于每個(gè)像素的通常相當(dāng)短的指令序列。在這種情況下,通過本地指令傳輸網(wǎng)絡(luò)706向PE的陣列傳輸?shù)闹噶盍鲗⒕哂写蟮闹貜?fù)性,因?yàn)閷?duì)于每個(gè)像素指令的公共序列被重復(fù)。在這種環(huán)境下使用SIMD指令超高速緩沖存儲(chǔ)器是非常有效的。
用于內(nèi)部PE通信的線性陣列拓?fù)浞浅_m合于來自具有串行輸出的檢測器裝置的圖像數(shù)據(jù)。不過,不必一定選擇線性陣列拓?fù)?。如果先進(jìn)的半導(dǎo)體制造技術(shù)允許檢測器和處理裝置集成在一個(gè)芯片內(nèi),則在芯片內(nèi)可以設(shè)置較多的接口,以便有利于二維的PE內(nèi)部通信網(wǎng)絡(luò)拓?fù)洹?br>
繼續(xù)參看圖7和圖8(同時(shí)也參看圖6),內(nèi)裝的微處理器618用作指令緩存SIMD計(jì)算機(jī)的系統(tǒng)控制器。其中所示的指令緩存SIMD計(jì)算機(jī)采用圖3所示的線性陣列內(nèi)部PE通信拓?fù)?,雖然這種線性陣列拓?fù)洳皇且环N重要的選擇。按照本發(fā)明的實(shí)施例,雖然像素?cái)?shù)據(jù)移位器702對(duì)于掃描線的每個(gè)像素具有一級(jí),但是圖7和圖8的“掃描線陣列處理器”部分對(duì)于掃描線中的每個(gè)像素不到一級(jí),如圖9所示。換句話說,每個(gè)PE處理掃描線中的一個(gè)以上的像素,即“一行”像素。
以圖9為例,像素?cái)?shù)據(jù)移位器被分為對(duì)應(yīng)于相應(yīng)的PE的(PE1,PE2,和PE3)的行(904a-904c),每行的像素?cái)?shù)據(jù)被傳遞給相應(yīng)的行緩沖器(906a-906c)。然后,每個(gè)PE(PE1-PE P)操作相應(yīng)行的像素。按照一些實(shí)施例,參數(shù)L(每個(gè)PE的每個(gè)掃描線的像素?cái)?shù))是可以配置的,從而使得可以按照應(yīng)用對(duì)被分配給每個(gè)PE的像素行的寬度編程。
為了理解在圖7和圖8的實(shí)施例中像素?cái)?shù)據(jù)對(duì)PE的分配,假定在所示的例子中,在指令緩存SIMD計(jì)算機(jī)中每個(gè)檢測器掃描線和16個(gè)PE具有1024個(gè)像素。在這種情況下,每個(gè)PE應(yīng)當(dāng)被分配給8個(gè)像素塊寬(64個(gè)像素)的圖像行。在每個(gè)像素具有2個(gè)字節(jié)的情況下,需要每個(gè)PE具有128KB的片上DRAM,以便能夠存儲(chǔ)在本例中的兆像素圖像。在芯片上存儲(chǔ)16個(gè)這種圖像幀,對(duì)于單片MPEG編碼,可能需要總數(shù)為32MB(256Mb)的片上RAM。
圖11示出了另一個(gè)實(shí)施例,其中具有較少的PE,用于處理具有像素的掃描線。圖11的實(shí)施例的像素?cái)?shù)據(jù)移位器1002具有相應(yīng)于每個(gè)PE的級(jí)(和圖7、圖8相應(yīng)于每個(gè)像素相反)。每個(gè)級(jí)可以保持一個(gè)像素。在大多數(shù)情況下,掃描線寬度超過該掃描線的PE的數(shù)量,使得每個(gè)PE處理多個(gè)像素,其中或者通過在收到另一個(gè)像素之前處理每個(gè)收到的像素,或者通過在所需數(shù)量的像素到達(dá)之前局部地存儲(chǔ)像素(即可以局部地訪問PE)。
仍然參看圖11,像素?cái)?shù)據(jù)移位器1102具有對(duì)其預(yù)先考慮的輸入掃描線排序緩沖器(SLOB)1103,和對(duì)其附加的輸出SLOB1104。每個(gè)SLOB1103、1104具有足夠的存儲(chǔ)器,以便至少保持兩個(gè)掃描線的像素值。在SLOB1103的存儲(chǔ)器中保持第一掃描線之后,輸入SLOB便對(duì)其重新排序,在重新排序期間,在輸入SLOB1103的存儲(chǔ)器中保留第二掃描線。在一個(gè)實(shí)施例中,掃描線的像素被存儲(chǔ)在連續(xù)的存儲(chǔ)器位置中,并且存儲(chǔ)器被“次序顛倒地讀出”,使得所有相鄰的像素都被提供給同一個(gè)PE。
例如,在一個(gè)實(shí)施例中,如果4個(gè)PE要處理16個(gè)像素掃描線,則PE0處理編號(hào)為0-3的像素,PE1處理編號(hào)為4-7的像素,PE2處理編號(hào)為8-11的像素,PE3處理編號(hào)為12-15的像素。但是,輸入SLOB1103對(duì)像素重新排序,使得像素?cái)?shù)據(jù)移位器1102按照順序0,4,8,12;1,5,9,13;2,6,10,14;3,7,11,15傳遞像素,這是向PE提供像素的順序。應(yīng)當(dāng)注意,對(duì)于4個(gè)PE中的每一個(gè),“跨距”是一致的。在像素?cái)?shù)據(jù)被PE處理之后,在像素?cái)?shù)據(jù)移位器1102的輸出端被輸出SLOB重新排序。
如果PE的數(shù)量不能整除每個(gè)掃描線的像素?cái)?shù),則重新排序更為復(fù)雜。在這種情況下,“額外”的像素可以被分配給一個(gè)或幾個(gè)PE。在一個(gè)實(shí)施例中,如果有N個(gè)額外像素,則N個(gè)額外像素被分配給前N個(gè)PE的每一個(gè)。例如,如果4個(gè)PE要處理18個(gè)像素掃描線,則PE0處理編號(hào)為0-4的像素,PE1處理編號(hào)為5-9的像素,PE2處理編號(hào)為10-13的像素,PE3處理編號(hào)為14-17的像素。但是,像素?cái)?shù)據(jù)移位器1102按照順序0,5,19,14;1,6,11,15;2,7,12,16;3,7,13,17;4,9傳遞像素,這是像素要被提供給PE的順序。在這種情況下,對(duì)于每個(gè)PE的跨距不一致,因?yàn)樗隹缇嘤袝r(shí)是4個(gè),有時(shí)是5個(gè)。被移位的最后兩個(gè)像素被兩個(gè)PE接收,而其它的PE不接收像素。
本發(fā)明的一個(gè)目的在于最大限度地利用計(jì)算資源進(jìn)行計(jì)算。為此,一般要求在可利用的芯片面積內(nèi)盡可能多地設(shè)置PE。隨著芯片面積的增加和電路的幾何空間的減少,同步區(qū)域的直徑大大小于芯片的直線尺寸。因此,過去的VLSI的縮放趨于使含有指令緩存SIMD計(jì)算機(jī)的數(shù)字成像芯片要求多個(gè)PE模塊,因此要求多個(gè)本地控制器電路。和構(gòu)成多控制器芯片操作所需的單控制器芯片的差別在于包括響應(yīng)判優(yōu)器。響應(yīng)判優(yōu)器通過和微處理器總線相連的控制/狀態(tài)端口連接多個(gè)指令緩存的SIMD本地控制器,從而能夠通過PE當(dāng)中的有條件/無條件的內(nèi)裝的微處理器進(jìn)行檢測。
圖10說明了含有基于數(shù)字成像芯片的多個(gè)所述指令緩存的SIMD的裝置,用于形成適用于高級(jí)的視頻攝像機(jī)。注意圖像數(shù)據(jù)移位寄存器是通過一組芯片的一系列移位寄存器,并且單片芯片方案的功能被分配給一組芯片中的各個(gè)芯片。內(nèi)部PE通信網(wǎng)絡(luò)拓?fù)涫且粋€(gè)參數(shù),雖然優(yōu)選實(shí)施例擴(kuò)展到在單片芯片的優(yōu)選實(shí)施例中使用的線性陣列拓?fù)洹?br>
權(quán)利要求
1.一種數(shù)字?jǐn)z像機(jī)裝置,包括用于產(chǎn)生相應(yīng)于圖像的圖像數(shù)據(jù)的檢測器;用于處理圖像數(shù)據(jù)的處理器,所述處理器包括由內(nèi)部PE網(wǎng)絡(luò)連接的多個(gè)處理器元件(PE),所述PE被配置使得實(shí)現(xiàn)并行操作,用于處理獲得的圖像;以及用于保持通過處理而獲得的圖像的存儲(chǔ)器。
2.如權(quán)利要求1所述的數(shù)字?jǐn)z像機(jī)裝置,其中所述處理器用于處理圖像像素?cái)?shù)據(jù)的N像素掃描線,所述處理器包括M個(gè)PE,其中M<N;所述處理器包括像素?cái)?shù)據(jù)緩沖器,N個(gè)像素通過所述緩沖器被提供給PE;所述M個(gè)PE至少部分地并行操作,用于處理來自像素?cái)?shù)據(jù)緩沖器的掃描線的N個(gè)像素,以及M個(gè)PE中的至少一些對(duì)掃描線的一個(gè)以上的像素進(jìn)行操作;借以需要少于N個(gè)的處理元件處理N個(gè)像素掃描線。
3.如權(quán)利要求2所述的數(shù)字?jǐn)z像機(jī)裝置,其中所述處理器還包括用于輸出譯碼的指令的本地控制器;以及本地指令傳輸網(wǎng)絡(luò),通過所述網(wǎng)絡(luò)所述譯碼的指令被傳輸?shù)絇E,以便被所述PE執(zhí)行,從而對(duì)像素進(jìn)行并行操作。
4.如權(quán)利要求3所述的數(shù)字?jǐn)z像機(jī)裝置,其中處理器的每個(gè)PE包括指令緩存器,以及所述指令緩存器和本地指令傳輸網(wǎng)絡(luò)相連,用于接收譯碼的指令。
5.如權(quán)利要求3所述的數(shù)字?jǐn)z像機(jī)裝置,其中像素?cái)?shù)據(jù)緩沖器包括N級(jí),以及至少一些特定的PE和N級(jí)中的一個(gè)以上的級(jí)相連,從而被配置用于接收掃描線的一個(gè)以上的像素,使得一些特定的PE對(duì)掃描線的一個(gè)以上的像素進(jìn)行操作。
6.如權(quán)利要求2所述的數(shù)字?jǐn)z像機(jī)裝置,其中所述處理器還包括和至少一些PE相連的并和像素?cái)?shù)據(jù)緩沖器相連的本地緩沖器,所述用于特定PE的本地緩沖器用于暫時(shí)保持由所述PE操作的掃描線的一個(gè)以上的像素。
7.如權(quán)利要求2所述的數(shù)字?jǐn)z像機(jī)裝置,其中所述像素?cái)?shù)據(jù)緩沖器包括M級(jí);所述處理器還包括為像素?cái)?shù)據(jù)移位器預(yù)先準(zhǔn)備的掃描線排序電路,用于重新排序輸入的像素?cái)?shù)據(jù),使得輸入的像素?cái)?shù)據(jù)按照不同于像素在掃描線中的順序被提供給像素?cái)?shù)據(jù)緩沖器;以及所述像素?cái)?shù)據(jù)緩沖器的M級(jí)的每一級(jí)被配置用于當(dāng)重新排序的像素?cái)?shù)據(jù)通過像素?cái)?shù)據(jù)移位器移動(dòng)時(shí)把像素提供給一個(gè)PE。
8.如權(quán)利要求7所述的數(shù)字?jǐn)z像機(jī)裝置,其中所述掃描線排序電路是第一掃描線排序電路,以及處理器還包括第二掃描線排序電路,其被連附于用于重新排序處理的像素?cái)?shù)據(jù)的像素?cái)?shù)據(jù)移位器。
9.如權(quán)利要求8所述的數(shù)字?jǐn)z像機(jī)裝置,其中第二掃描線排序電路重新排序處理的像素?cái)?shù)據(jù),使得其相應(yīng)于掃描線中的輸入像素?cái)?shù)據(jù)的原始順序。
10.一種用于處理圖像像素?cái)?shù)據(jù)的N像素掃描線的數(shù)字圖像處理器,所述處理器包括M個(gè)處理元件(PE),其中M<N;像素?cái)?shù)據(jù)緩沖器,通過所述緩沖器像素被提供給PE,其中所述M個(gè)PE至少部分地并行操作,用于處理來自像素?cái)?shù)據(jù)緩沖器的掃描線的N個(gè)像素,以及至少一些PE對(duì)掃描線的一個(gè)以上的像素進(jìn)行操作;借以需要少于N的處理元件處理N個(gè)像素掃描線。
11.如權(quán)利要求10所述的數(shù)字圖像處理器,還包括用于輸出譯碼的指令的本地控制器;以及本地指令傳輸網(wǎng)絡(luò),通過所述網(wǎng)絡(luò)所述譯碼的指令被傳輸?shù)絇E,以便被所述PE執(zhí)行,從而對(duì)像素進(jìn)行并行操作。
12.如權(quán)利要求10所述的數(shù)字圖像處理器,其中處理器的每個(gè)PE包括指令緩存器,以及所述指令緩存器和本地指令傳輸網(wǎng)絡(luò)相連,用于接收譯碼的指令。
13.如權(quán)利要求10所述的數(shù)字圖像處理器,其中像素?cái)?shù)據(jù)緩沖器包括N級(jí),以及至少一些特定的PE和N級(jí)中的一個(gè)以上的級(jí)相連,從而被配置用于接收掃描線的一個(gè)以上的像素,使得一些特定的PE對(duì)掃描線的一個(gè)以上的像素進(jìn)行操作。
14.如權(quán)利要求13所述的數(shù)字圖像處理器,其中所述處理器還包括和至少一些PE相連的并和像素?cái)?shù)據(jù)緩沖器相連的本地緩沖器,所述用于特定PE的本地緩沖器用于暫時(shí)保持由所述PE操作的掃描線的一個(gè)以上的像素。
15.如權(quán)利要求10所述的數(shù)字圖像處理器,其中所述像素?cái)?shù)據(jù)緩沖器包括M級(jí);所述處理器還包括為像素?cái)?shù)據(jù)移位器預(yù)先準(zhǔn)備的掃描線排序電路,用于重新排序輸入的像素?cái)?shù)據(jù),使得輸入的像素?cái)?shù)據(jù)按照不同于像素在掃描線中的順序被提供給像素?cái)?shù)據(jù)緩沖器;以及所述像素?cái)?shù)據(jù)緩沖器的M級(jí)的每一級(jí)被配置用于當(dāng)重新排序的像素?cái)?shù)據(jù)通過像素?cái)?shù)據(jù)移位器移動(dòng)時(shí)把像素提供給一個(gè)PE。
16.如權(quán)利要求14所述的數(shù)字圖像處理器,其中所述掃描線排序電路是第一掃描線排序電路,以及處理器還包括第二掃描線排序電路,其被連附于用于重新排序處理的像素?cái)?shù)據(jù)的像素?cái)?shù)據(jù)移位器。
17.如權(quán)利要求16所述的數(shù)字圖像處理器,其中第二掃描線排序電路重新排序處理的像素?cái)?shù)據(jù),使得其相應(yīng)于掃描線中的輸入像素?cái)?shù)據(jù)的原始順序。
全文摘要
一種數(shù)字?jǐn)z像機(jī)裝置,包括:用于產(chǎn)生圖像數(shù)據(jù)的檢測器。所述裝置還包括用于處理檢測的圖像數(shù)據(jù)的并行處理器。編程的并行計(jì)算電路對(duì)產(chǎn)生的圖像數(shù)據(jù)完成計(jì)算密集的圖像處理功能。使用半導(dǎo)體高效編程并行處理結(jié)構(gòu),使得在所述數(shù)字成像裝置中的性能對(duì)硬件的成本比最大,同時(shí)使得具有大的靈活性,能夠生產(chǎn)多種產(chǎn)品。在特定的實(shí)施例中,編程的并行計(jì)算結(jié)構(gòu)是指令緩存的SIMD計(jì)算機(jī)。
文檔編號(hào)H04N5/232GK1338090SQ99816096
公開日2002年2月27日 申請日期1999年12月15日 優(yōu)先權(quán)日1998年12月15日
發(fā)明者托德·E·羅克奧夫, 羅伯特·蘭格, 默里·華萊士 申請人:因坦塞斯公司