背景技術(shù):
在過(guò)去的幾十年中,焦平面陣列(fpa)在光電探測(cè)器陣列尺寸方面以指數(shù)方式增大。光電探測(cè)器陣列尺寸的增大導(dǎo)致了對(duì)從fpa捕獲和傳輸圖像所需的功率、帶寬和復(fù)雜性日益更多的要求。解決帶寬問(wèn)題的傳統(tǒng)方法涉及使用以硬件或軟件實(shí)現(xiàn)的圖像壓縮。然而,這些方法在進(jìn)行用于減小帶寬的處理之前需要采集整個(gè)圖像,因此需要對(duì)fpa中的每個(gè)光電探測(cè)器進(jìn)行采樣。采集之后對(duì)視頻數(shù)據(jù)進(jìn)行壓縮的傳統(tǒng)做法在面積、功率和架構(gòu)復(fù)雜性方面都有所損失。
技術(shù)實(shí)現(xiàn)要素:
一些方面和實(shí)施例涉及用于fpa的具有集成壓縮感知(cs)的讀出集成電路(roic)。如下面更詳細(xì)地論述的那樣,具有集成cs的roic通過(guò)根據(jù)各種cs方法對(duì)光電探測(cè)器進(jìn)行采樣而大幅減小了用于描述整個(gè)圖像的樣本數(shù)。
根據(jù)一方面,提供一種具有集成壓縮采樣(cs)的讀出集成電路(roic)。具有集成cs的roic包括耦接到包括多個(gè)光電探測(cè)器的光電探測(cè)器陣列的輸入和操作上連接到光電探測(cè)器陣列的cs部件。所述cs部件配置為通過(guò)基于一組壓縮采樣測(cè)量矩陣(csmm)生成光電探測(cè)器值的多個(gè)和(sum)來(lái)生成壓縮圖像數(shù)據(jù),并且將所述壓縮圖像數(shù)據(jù)輸出到例如信號(hào)處理器,所述壓縮采樣測(cè)量矩陣包括至少一個(gè)編碼測(cè)量向量。
根據(jù)一實(shí)施例,所述多個(gè)光電探測(cè)器可通過(guò)行地址和列地址獨(dú)立尋址。根據(jù)一實(shí)施例,所述至少一個(gè)編碼測(cè)量向量由偽隨機(jī)數(shù)源(其可以是存儲(chǔ)器或隨機(jī)數(shù)生成器)生成。根據(jù)一實(shí)施例,所述多個(gè)光電探測(cè)器被分割成多個(gè)區(qū)域,所述多個(gè)區(qū)域中的每個(gè)區(qū)域包括至少一組光電探測(cè)器。
根據(jù)一實(shí)施例,所述多個(gè)區(qū)域中的至少一個(gè)區(qū)域的壓縮率為1。根據(jù)一實(shí)施例,至少一組光電探測(cè)器包括光電探測(cè)器的至少4×4矩陣,其中所述cs部件還配置為基于至少一個(gè)編碼測(cè)量值向量選擇性讀取所述至少一組中的光電探測(cè)器的子集來(lái)并行地計(jì)算多個(gè)和,將所述多個(gè)和聚合成編碼聚合,以及將所述編碼聚合儲(chǔ)存在壓縮圖像數(shù)據(jù)中。根據(jù)一實(shí)施例,cs部件還配置為將所述至少一個(gè)測(cè)量代碼向量?jī)?chǔ)存在壓縮圖像中。根據(jù)一實(shí)施例,所述至少一個(gè)編碼測(cè)量代碼向量包括十進(jìn)制0和十進(jìn)制1中的至少一個(gè)。根據(jù)一實(shí)施例,所述至少一組為第一組和第二組,其中所述壓縮圖像數(shù)據(jù)包括分別所述第一組的至少一個(gè)編碼聚合和所述第二組的至少一個(gè)編碼聚合。
根據(jù)一實(shí)施例,壓縮圖像數(shù)據(jù)包括總共數(shù)量的編碼聚合,其在數(shù)量上總計(jì)為如對(duì)多個(gè)光電探測(cè)器中的每個(gè)光電探測(cè)器進(jìn)行測(cè)量的潛在光電探測(cè)器值的一部分(fraction)。
根據(jù)一方面,提供一種fpa成像系統(tǒng)。該fpa成像系統(tǒng)包括存儲(chǔ)器、耦接到所述存儲(chǔ)器的至少一個(gè)處理器、包括多個(gè)光電探測(cè)器的光電探測(cè)器陣列、耦接到所述至少一個(gè)處理器和所述光電探測(cè)器陣列的具有集成cs的roic、以及圖像重建引擎,所述圖像重建引擎配置為指示所述至少一個(gè)處理器基于壓縮圖像數(shù)據(jù)重建至少一幅圖像。具有集成cs的roic配置為通過(guò)基于一組壓縮采樣測(cè)量矩陣(csmm)生成光電探測(cè)器值的多個(gè)和來(lái)生成壓縮圖像數(shù)據(jù),并且將所述壓縮圖像數(shù)據(jù)輸出到所述至少一個(gè)處理器,所述csmm包括至少一個(gè)編碼測(cè)量向量。
根據(jù)一實(shí)施例,壓縮圖像數(shù)據(jù)包括至少一個(gè)編碼聚合。根據(jù)一實(shí)施例,所述至少一個(gè)編碼聚合表示多個(gè)區(qū)域中的至少一個(gè)區(qū)域。根據(jù)一實(shí)施例,壓縮圖像數(shù)據(jù)包括至少一個(gè)測(cè)量代碼向量。根據(jù)一實(shí)施例,所述至少一個(gè)區(qū)域?yàn)榈谝粎^(qū)域和第二區(qū)域,所述重建引擎還配置為指示所述至少一個(gè)處理器基于所述第一區(qū)域和所述至少一個(gè)測(cè)量代碼向量來(lái)重建第一圖像,基于所述第二區(qū)域和所述至少一個(gè)測(cè)量代碼向量來(lái)重建第二圖像,其中所述第一圖像和所述第二圖像被并行地重建,并且組合所述第一圖像和所述第二圖像。根據(jù)一實(shí)施例,所述至少一個(gè)處理器是圖形處理單元(gpu)和現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)中的至少一種。
根據(jù)至少一方面,提供一種具有集成壓縮采樣(cs)的讀出集成電路(roic)。該roic包括:輸入,耦接到包括多個(gè)光電探測(cè)器的光電探測(cè)器陣列;掩碼生成器和控制部件,配置為生成多個(gè)壓縮采樣測(cè)量矩陣(csmm),每個(gè)csmm描述對(duì)光電探測(cè)器陣列的至少一部分進(jìn)行采樣的采樣模式;以及計(jì)算元件陣列,耦接到所述輸入和所述掩碼生成器和控制部件。所述計(jì)算元件陣列配置為從光電探測(cè)器陣列接收多個(gè)光電探測(cè)器值,從掩碼生成器和控制部件接收csmm,通過(guò)根據(jù)多個(gè)csmm對(duì)光電探測(cè)器陣列進(jìn)行采樣來(lái)生成壓縮圖像數(shù)據(jù),以及將壓縮圖像數(shù)據(jù)提供給至少一個(gè)處理器。
在一實(shí)施例中,計(jì)算元件陣列包括多個(gè)計(jì)算元件,每個(gè)計(jì)算元件包括耦接到邏輯核的存儲(chǔ)器。存儲(chǔ)器可包括例如2端口靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)。存儲(chǔ)器可存儲(chǔ)壓縮圖像數(shù)據(jù),邏輯核可配置為確定壓縮圖像數(shù)據(jù)??衫斫?,roic還可包括塊映射部件,配置為將多個(gè)光電探測(cè)器值的至少一部分指引到多個(gè)計(jì)算元件中的每個(gè)計(jì)算元件。
在一實(shí)施例中,掩碼生成器和控制部件包括偽隨機(jī)數(shù)生成器和唯一隨機(jī)數(shù)生成器中的至少一種。在一實(shí)施例中,掩碼生成和控制部件包括存儲(chǔ)器,其中掩碼生成和控制部件至少部分地通過(guò)從存儲(chǔ)器讀取至少一個(gè)儲(chǔ)存的csmm來(lái)生成多個(gè)csmm。在一實(shí)施例中,多個(gè)csmm每個(gè)包括十進(jìn)制0、十進(jìn)制1和十進(jìn)制-1中的至少一個(gè)。
在一實(shí)施例中,光電探測(cè)器陣列包括多個(gè)部分。在一實(shí)施例中,光電探測(cè)器陣列的多個(gè)部分中的一個(gè)或多個(gè)部分的壓縮率為1。在一實(shí)施例中,計(jì)算元件陣列還配置為通過(guò)根據(jù)多個(gè)csmm對(duì)光電探測(cè)器陣列的多個(gè)部分進(jìn)行選擇性采樣來(lái)并行地計(jì)算多個(gè)編碼聚合,其中壓縮圖像數(shù)據(jù)包括多個(gè)編碼聚合。
在一實(shí)施例中,roic還包括耦接在輸入和計(jì)算元件陣列之間的模數(shù)轉(zhuǎn)換器(adc),其配置為對(duì)從光電探測(cè)器陣列接收到的多個(gè)光電探測(cè)器值進(jìn)行數(shù)字化??衫斫猓鄠€(gè)光電探測(cè)器可包括多個(gè)數(shù)字像素,多個(gè)光電探測(cè)器值可包括多個(gè)像素值。
根據(jù)至少一方面,提供一種焦平面陣列(fpa)成像系統(tǒng)。所述fpa成像系統(tǒng)包括至少一個(gè)處理器、包括多個(gè)光電探測(cè)器的光電探測(cè)器陣列、以及耦接在至少一個(gè)處理器和光電探測(cè)器陣列之間的具有集成壓縮采樣(cs)的讀出集成電路(roic)。所述roic配置為:生成多個(gè)壓縮采樣測(cè)量矩陣(csmm),每個(gè)csmm描述對(duì)多個(gè)光電探測(cè)器的至少一部分進(jìn)行采樣的采樣模式;通過(guò)根據(jù)多個(gè)csmm對(duì)多個(gè)光電探測(cè)器進(jìn)行采樣來(lái)生成壓縮圖像數(shù)據(jù);以及將壓縮圖像數(shù)據(jù)輸出到所述至少一個(gè)處理器。
在一實(shí)施例中,光電探測(cè)器陣列包括多個(gè)數(shù)字像素。在一實(shí)施例中,roic包括掩碼生成器和控制部件,其配置為生成多個(gè)csmm。在一實(shí)施例中,掩碼生成器和控制部件包括偽隨機(jī)數(shù)生成器和唯一隨機(jī)數(shù)生成器中的至少一種。
在一實(shí)施例中,roic包括計(jì)算元件陣列,其包括耦接到邏輯核的存儲(chǔ)器,配置為生成壓縮圖像數(shù)據(jù)。在一實(shí)施例中,fpa還包括圖像重建引擎,其配置為指示至少一個(gè)處理器基于壓縮圖像數(shù)據(jù)重建至少一幅圖像。
下面還詳細(xì)論述了其他方面、實(shí)施例、示例和優(yōu)點(diǎn)。本文公開(kāi)的實(shí)施例和/或示例可根據(jù)本文公開(kāi)的原理中的至少一個(gè)以任何方式與其他實(shí)施例和/或示例組合,對(duì)“實(shí)施例”、“一些實(shí)施例”、“替代實(shí)施例”、“各種實(shí)施例”、“一個(gè)實(shí)施例”、“示例”、“一些示例”、“替代示例”、“各種示例”、“一個(gè)示例”等的提及不一定是互斥的,旨在表明所描述的特定特征、結(jié)構(gòu)、或特性可包括在至少一個(gè)實(shí)施例和/或示例中。本文中這些術(shù)語(yǔ)的出現(xiàn)不一定都指的是同一實(shí)施例和/或示例。
附圖說(shuō)明
下面參照附圖論述至少一實(shí)施例的各個(gè)方面,附圖無(wú)意是按比例繪制的。包括附圖以提供對(duì)各方面和實(shí)施例的圖示和進(jìn)一步理解,并且附圖被并入本說(shuō)明書(shū)中且構(gòu)成本說(shuō)明書(shū)的一部分,但并不旨在作為對(duì)本發(fā)明范圍的限定。在附圖中,在各個(gè)圖中示出的每個(gè)相同或幾乎相同的部件由相似的附圖標(biāo)記表示。為了清楚起見(jiàn),并非每個(gè)部件在每幅圖中都被標(biāo)示。附圖中:
圖1是根據(jù)本發(fā)明某些方面的fpa成像系統(tǒng)的一示例的框圖;
圖2a和2b是根據(jù)本發(fā)明某些方面的示例fpa成像系統(tǒng)的框圖;
圖3是根據(jù)本發(fā)明某些方面的一組示例測(cè)量矩陣的方塊圖;
圖4是示出根據(jù)本發(fā)明某些方面的與捕獲圖像相關(guān)聯(lián)的示例光電探測(cè)器值的矩陣的方塊圖;
圖5是示出壓縮感知的示例方法的流程圖;以及
圖6是示出將掩碼(mask)應(yīng)用到像素值的示例方法的流程圖。
具體實(shí)施方式
需要減小成像系統(tǒng)的視頻輸出帶寬要求,同時(shí)還保持或降低功耗和/或增大幀速,而對(duì)圖像分辨率的影響微不足道。這些方面對(duì)于實(shí)現(xiàn)緊湊型視頻存儲(chǔ)和無(wú)線(xiàn)傳輸而言可能是特別相關(guān)的。因此,一些方面和實(shí)施例涉及具有片上集成壓縮感知(cs)的讀出集成電路(roic),其允許roic生成壓縮圖像數(shù)據(jù)。例如,具有集成cs的roic可耦接到包括多個(gè)光電探測(cè)器的光電探測(cè)器陣列,并且可根據(jù)各種cs技術(shù)生成表示由光電探測(cè)器陣列獲取的圖像的壓縮圖像數(shù)據(jù)。
cs利用了這樣的事實(shí):在信號(hào)的“信息速率”可顯著小于信號(hào)帶寬所給出的速率的意義上,包括許多視頻或圖像信號(hào)在內(nèi)的許多信號(hào)是“稀疏”的。當(dāng)以適當(dāng)?shù)幕A(chǔ)或域表示信號(hào)時(shí),許多系數(shù)可接近或等于零。如果信號(hào)在某些域中是稀疏的,則不必遵循shannon-nyquist采樣定理的經(jīng)典要求。因此,信號(hào)可由稀疏采樣集表示,與捕獲整個(gè)信號(hào)所需的數(shù)據(jù)相比,其可使用非常小的數(shù)據(jù)量。根據(jù)某些實(shí)施例,roic上的壓縮感知利用了圖像信號(hào)的假定稀疏性,并且提供代替原始像素值的壓縮圖像數(shù)據(jù)。
圖像壓縮可通過(guò)使用一組測(cè)量矩陣(例如,掩碼)來(lái)實(shí)現(xiàn),每個(gè)測(cè)量矩陣具有x×y的大小,其是光電探測(cè)器陣列中的像素總數(shù)的百分?jǐn)?shù)。例如,如果光電探測(cè)器陣列具有640×480個(gè)像素,則光電探測(cè)器陣列可以在概念上劃分為多個(gè)矩形區(qū)域,每個(gè)矩形區(qū)域?yàn)?2×32個(gè)像素(每個(gè)矩形區(qū)域中總共1024個(gè)像素位置)。于是將有20×15個(gè)32×32像素區(qū)域以覆蓋640×480的光電探測(cè)器陣列。如果需要壓縮到10%,則1024個(gè)像素位置將由102個(gè)測(cè)量矩陣(例如,0.10×1024像素位置)采樣。102個(gè)測(cè)量矩陣中的每個(gè)測(cè)量矩陣可具有與被采樣區(qū)域的大小(例如,32×32)相等的大小,并且在每個(gè)位置處包括“1”或“0”。102個(gè)測(cè)量矩陣中的每個(gè)測(cè)量矩陣被應(yīng)用到該組像素值(例如,32×32)以確定編碼聚合(codedaggregate)。編碼聚合可包括來(lái)自測(cè)量矩陣含有“1”處的所有像素位置的像素值的和。因此,每個(gè)測(cè)量矩陣提供一個(gè)編碼聚合值(例如,102個(gè)測(cè)量矩陣有102個(gè)編碼聚合)。從roic傳輸102個(gè)編碼聚合值而不是原始的1024個(gè)值,得到原始大小的約10%(減小90%)??衫斫猓瑴y(cè)量矩陣中“1”和“0”之間的分布可滿(mǎn)足一個(gè)或多個(gè)預(yù)定準(zhǔn)則。例如,該組102個(gè)測(cè)量矩陣可要求在每個(gè)像素位置處是“1”的百分比。在一些實(shí)施方式中,在任何給定像素位置處(例如,[1,1]),102個(gè)測(cè)量矩陣中的50%可包含“1”。換句話(huà)說(shuō),每個(gè)像素值可被包括在102個(gè)編碼聚合的50%中。在另一示例中,應(yīng)用到給定像素值塊的每個(gè)測(cè)量矩陣的功率譜密度可以接近于一常數(shù)(例如,白的)。
一些方面和實(shí)施例涉及用于焦平面陣列(fpa)的具有集成cs的roic,使得圖像壓縮直接在roic上執(zhí)行。特別地,某些實(shí)施例涉及一種roic,其中fpa的光電探測(cè)器的編碼聚合被采樣,所得輸出是被采樣的光電探測(cè)器的數(shù)字編碼聚合。如下面進(jìn)一步論述的那樣,編碼可以在roic上完全在數(shù)字域中實(shí)施,并且采集控制和定時(shí)可以被數(shù)字控制。此外,也如下面進(jìn)一步論述的那樣,與其中以順序方式獲取數(shù)據(jù)測(cè)量的常規(guī)采集后壓縮感知方法不同,某些方面包括用其唯一編碼來(lái)并行地獲取所采樣的光電探測(cè)器值的和。相對(duì)于常規(guī)架構(gòu),一些方面和實(shí)施例提供的技術(shù)優(yōu)點(diǎn)可包括對(duì)于給定數(shù)量的光電探測(cè)器,具有片上cs的roic的改善的晶片尺寸、可行性、成本、性能、帶寬使用和功耗。該方法本質(zhì)上節(jié)省了帶寬,并且在一些應(yīng)用中還降低了roic的功耗。
圖1是示出示例fpa成像系統(tǒng)100的框圖。fpa成像系統(tǒng)100包括探測(cè)裝置104,探測(cè)裝置104包括布置成光電探測(cè)器陣列110并且配置為接收入射光102的多個(gè)光電探測(cè)器112。fpa成像系統(tǒng)100還包括roic106和信號(hào)處理器108。
在一實(shí)施例中,探測(cè)裝置104采用光電探測(cè)器陣列110中的多個(gè)光電探測(cè)器112來(lái)接收入射光102。光電探測(cè)器112為光敏器件,其可響應(yīng)于入射在光電探測(cè)器112上的光而累積電荷(例如,在電荷耦合器件(ccd)傳感器中)或產(chǎn)生電流和/或電壓(例如,在互補(bǔ)金屬氧化物半導(dǎo)體(cmos)傳感器中)。光電探測(cè)器112可包括例如光伏探測(cè)器、勢(shì)壘(barrier)器件探測(cè)器、位置靈敏探測(cè)器(psd)、或其它合適的探測(cè)器。每個(gè)光電探測(cè)器112可基于唯一地址(例如,行和列值)被單獨(dú)尋址。應(yīng)理解,光電探測(cè)器陣列110可包括向例如roic106提供數(shù)字化圖像數(shù)據(jù)的數(shù)字像素。
在一些實(shí)施例中,roic106耦接到探測(cè)裝置104。roic106可從探測(cè)裝置104接收例如累積電荷或者電流和/或電壓信號(hào),并且將所接收的信息數(shù)字化以供信號(hào)處理器108接收。roic106可將所接收到的表示圖像的信息輸出到例如信號(hào)處理器108??衫斫?,roic106可從探測(cè)裝置104接收數(shù)字化圖像信息,從而省略模數(shù)轉(zhuǎn)換功能。
在一些實(shí)施例中,roic106包括cs部件。在這些實(shí)施例中,roic106可根據(jù)各種cs技術(shù)產(chǎn)生表示由光電探測(cè)器112捕獲到的圖像的壓縮圖像數(shù)據(jù),并且將壓縮圖像數(shù)據(jù)提供給例如信號(hào)處理器108。通過(guò)在roic106內(nèi)集成cs部件,實(shí)現(xiàn)了其中同時(shí)執(zhí)行光電探測(cè)器112的采樣和壓縮的設(shè)計(jì),這允許利用更大數(shù)量的光電探測(cè)器112,而不會(huì)成比例地增大捕獲和傳輸圖像數(shù)據(jù)所需的功率和帶寬。下面參照?qǐng)D2a和圖2b進(jìn)一步描述具有cs部件的roic106的示例實(shí)施方式。
在一實(shí)施例中,信號(hào)處理器108耦接到roic106并且從roic106接收表示探測(cè)裝置104上的入射光102的數(shù)字化信息。從roic106接收到的數(shù)字化信息可包括例如根據(jù)各種壓縮感知方法的壓縮圖像信息。信號(hào)處理器108可重建捕獲圖像,分析壓縮圖像信息,將壓縮圖像信息發(fā)送到外部系統(tǒng),和/或指示fpa成像系統(tǒng)的各種部件(例如,旋轉(zhuǎn)鏡)。信號(hào)處理器108可以是通用處理器或?qū)S锰幚砥?例如,數(shù)字信號(hào)處理器)。信號(hào)處理器108可包括例如其他功能部件,諸如視頻處理單元、圖形處理單元、嵌入式處理器、單指令、多數(shù)據(jù)數(shù)字信號(hào)處理器(simddsp)和內(nèi)部存儲(chǔ)器(未示出)??衫斫?,信號(hào)處理器108的功能可包括在roic106內(nèi)和/或由roic106執(zhí)行。
圖2a示出了具有集成到roic106中的cs部件的示例fpa成像系統(tǒng)200a。示例fpa成像系統(tǒng)200a包括探測(cè)裝置104、roic106和信號(hào)處理器108。如圖2a所示,roic106包括塊映射部件204、計(jì)算元件陣列206、掩碼生成和控制部件208、以及可選的模數(shù)轉(zhuǎn)換器(adc)202。
在一些示例中,探測(cè)裝置104可提供表示入射在相應(yīng)的光電探測(cè)器(例如,光電探測(cè)器112)上的光的強(qiáng)度和/或特性的模擬光電探測(cè)器值。在這些示例中,roic106可包括adc202,其耦接到探測(cè)裝置104以數(shù)字化從探測(cè)裝置104接收到的模擬光電探測(cè)器值,從而產(chǎn)生數(shù)字像素值。adc202可包括構(gòu)造為例如一次數(shù)字化一列或多列模擬光電探測(cè)器值的列式adc??衫斫猓诓捎脭?shù)字像素或提供數(shù)字像素值的其他類(lèi)型的探測(cè)裝置104的示例中可以省略adc202。
如圖2a所示,fpa成像系統(tǒng)200a包括耦接到計(jì)算元件陣列206的塊映射部件204。塊映射部件204將從探測(cè)裝置104(和/或adc202)接收到的數(shù)字像素值指引到計(jì)算元件陣列206中的適當(dāng)?shù)挠?jì)算元件。塊映射部件204可例如將數(shù)字像素值劃分為一組塊(block),并且將每個(gè)塊(或每個(gè)塊的一部分)指引到計(jì)算元件陣列206中的特定計(jì)算元件。塊映射部件204可包括例如可編程歧路(manifold),其可以被重新配置以改變用于數(shù)字化像素值的給定塊(或其一部分)的目標(biāo)計(jì)算元件。將像素值劃分為一組塊并且將每個(gè)塊指引到計(jì)算元件中可以使roic106能同時(shí)壓縮圖像的多個(gè)子區(qū)(sub-section),從而減少壓縮圖像所需的時(shí)間??衫斫?,如圖2b中的fpa成像系統(tǒng)200b所示,可以在沒(méi)有塊映射部件204的情況下將圖像劃分為多個(gè)子區(qū)。探測(cè)裝置104或adc202與計(jì)算元件陣列206之間的互連可以是硬連線(xiàn)的以將圖像的特定位置中的數(shù)字像素值輸出到計(jì)算元件陣列206中的預(yù)選定的計(jì)算元件。
可以基于任何數(shù)量的設(shè)計(jì)參數(shù)來(lái)選擇塊的大小,包括例如期望的壓縮率(cr)、期望的重建圖像質(zhì)量、和/或roic106的硬件約束。本文使用時(shí),cr被定義為未壓縮數(shù)據(jù)大小和壓縮后數(shù)據(jù)大小之間的比率。cr僅是未壓縮大小除以壓縮后大小。例如,如果圖像的原始大小為1000m字節(jié),壓縮后大小是100m字節(jié),則cr為10(1000m字節(jié)/100m字節(jié)=10)。在一些示例中,包括在每個(gè)塊中的光電探測(cè)器112的數(shù)量可被按比例放大(scaleup)。例如,塊大小可設(shè)置為等于與光電探測(cè)器陣列110相同的尺寸。在另一些示例中,塊可縮放到對(duì)cr進(jìn)行優(yōu)化且比光電探測(cè)器陣列110的全尺寸小的尺寸。例如,256×256的塊大小可實(shí)現(xiàn)cr10,而沒(méi)有圖像質(zhì)量的明顯損失。采用比光電探測(cè)器陣列110更小的塊大小還可實(shí)現(xiàn)通過(guò)roic106對(duì)各個(gè)光電探測(cè)器組進(jìn)行并行壓縮,從而減少用于壓縮圖像的計(jì)算時(shí)間。壓縮時(shí)間的減少可允許roic106例如壓縮實(shí)況視頻流中的幀。用于示例探測(cè)裝置104的示例塊大小配置示于下面的表1中。
表1
表1示出用于在320行和240列的網(wǎng)格中具有76,800個(gè)總像素的探測(cè)裝置的四種可行的塊大小配置。在第一配置中,所選的塊大小為4×4像素的正方形,包含總共16個(gè)像素。16個(gè)像素的塊由4個(gè)單獨(dú)的也具有4×4大小的二維測(cè)量矩陣采樣4次。測(cè)量矩陣可提供roic106需要對(duì)哪些數(shù)字像素值(例如,光電探測(cè)器陣列110中的哪些光電探測(cè)器112)進(jìn)行采樣并且求和以產(chǎn)生編碼聚合的“路線(xiàn)圖”。例如,測(cè)量矩陣可指示16個(gè)總像素值中的哪些像素值需要被求和以形成編碼聚合樣本。一組示例的測(cè)量矩陣示于圖3中并且在下面被進(jìn)一步更詳細(xì)地論述。對(duì)于4,800個(gè)16像素塊中的每個(gè)塊,可以生成4個(gè)編碼聚合值,產(chǎn)生19,200個(gè)編碼聚合樣本以捕獲整個(gè)圖像。將4個(gè)測(cè)量矩陣應(yīng)用到每個(gè)塊需要由roic106執(zhí)行307,200個(gè)運(yùn)算(例如,加法和/或減法運(yùn)算)。所得壓縮圖像數(shù)據(jù)包括19,200個(gè)編碼聚合樣本(而非76,800個(gè)像素值)并且產(chǎn)生約為4(例如,76,800/19,200)的cr。后面的配置(例如,第二、第三和第四配置)示出了將塊大小從4×4像素值的正方形增大到32×32像素值的塊大小的效果??衫斫?,在一些實(shí)施方式中,歸因于例如對(duì)壓縮圖像進(jìn)行解碼所需的某些開(kāi)銷(xiāo)(overhead)信息,表1所示的cr可能略低。在一些實(shí)施方式中,測(cè)量矩陣可與編碼聚合樣本一起作為壓縮圖像數(shù)據(jù)發(fā)送。在另一些實(shí)施方式中,可僅編碼聚合作為壓縮圖像數(shù)據(jù)被發(fā)送。在這些實(shí)施方式中,目標(biāo)設(shè)備(例如,接收壓縮圖像數(shù)據(jù)的設(shè)備)可能已經(jīng)具有測(cè)量矩陣的副本和/或能夠基于先前確定的種子(seed)生成測(cè)量矩陣。
如表1所示,基于roic106的期望性能和/或硬件約束,可以針對(duì)roic106的任何特定實(shí)施方式采用各種塊大小。例如,較大的塊大小可以產(chǎn)生更佳的圖像重建結(jié)果,因?yàn)閼?yīng)用到給定像素值塊的每個(gè)測(cè)量矩陣(例如,掩碼)的功率譜密度可以更接近于一常數(shù)(例如,白的)。然而,這些更大的塊大小可能需要roic106執(zhí)行額外的運(yùn)算以壓縮圖像,并且由此需要更快的roic106和/或以更慢的速率處理圖像。相反,選擇較小的塊大小可實(shí)質(zhì)上減小roic106所需的運(yùn)算總數(shù),并且允許roic106以更低頻率操作和/或以更高幀速處理圖像幀。
在一些示例中,roic106可僅將測(cè)量矩陣應(yīng)用到上述塊中的一部分,留下剩余的塊未被壓縮。換句話(huà)說(shuō),roic106可提供剩余塊的未壓縮圖像數(shù)據(jù)。例如,roic106可以不壓縮捕獲與關(guān)注區(qū)域相關(guān)聯(lián)的圖像數(shù)據(jù)的一組像素值。在另一示例中,由roic106處理的圖像是60hz視頻流的一部分。在該示例中,roic106可將像素值陣列劃分為60個(gè)塊,并且壓縮(例如,使用本文描述的cs技術(shù))每幀中的60個(gè)塊中的59個(gè)塊,而留下最后的塊未被壓縮。保持未被壓縮的特定塊可在每幀中變化,使得每秒(例如,每60幀)未壓縮地傳輸每個(gè)塊的單個(gè)版本。因此,roic106可在每秒傳輸一個(gè)全分辨率圖像??衫斫?,可以采用其他方法來(lái)選擇圖像的保持未被壓縮的各部分。
如上所述,cs執(zhí)行一組隨機(jī)的測(cè)量,并且基于信息是“稀疏”的,在可靠地探測(cè)“信息”(例如,非重復(fù)像素值)方面是有效的。在roic106中,計(jì)算元件陣列206中的計(jì)算元件可根據(jù)測(cè)量矩陣(例如,掩碼)執(zhí)行數(shù)字像素值的采樣。圖3示出了一組示例的測(cè)量矩陣300,其可由例如掩碼生成和控制部件208生成并且由計(jì)算元件陣列206應(yīng)用到像素值。該組測(cè)量矩陣300包括4個(gè)二維矩陣,每個(gè)二維矩陣包括測(cè)量代碼向量304、306、308和310,以及多個(gè)測(cè)量代碼302。每個(gè)二維測(cè)量矩陣可具有與被采樣的圖像區(qū)塊相同(或相似)的大小,每個(gè)測(cè)量代碼302可對(duì)應(yīng)到像素值。計(jì)算元件陣列206中的每個(gè)計(jì)算元件可通過(guò)將對(duì)應(yīng)的測(cè)量代碼302為“1”的像素值相加并且忽略對(duì)應(yīng)的測(cè)量代碼302為“0”的像素值來(lái)將測(cè)量矩陣應(yīng)用到像素值塊,以產(chǎn)生測(cè)量矩陣的編碼聚合值??衫斫猓鐖D3所示,測(cè)量矩陣可由除了“0”和“1”之外的十進(jìn)制值形成。例如,測(cè)量矩陣可由值“0”、“1”和“-1”或“1”和“-1”形成,其中“-1”可表示應(yīng)減去對(duì)應(yīng)的像素值(而不是相加)以產(chǎn)生編碼聚合。
計(jì)算元件陣列206可為該組測(cè)量矩陣300中的每個(gè)測(cè)量矩陣提供編碼聚合。例如,計(jì)算元件陣列206可為該組測(cè)量矩陣300所示的4個(gè)矩陣提供4個(gè)編碼聚合碼。編碼聚合和對(duì)應(yīng)的測(cè)量矩陣可形成壓縮圖像數(shù)據(jù),其可由roic106提供給例如信號(hào)處理器108。在另一些示例中,壓縮圖像數(shù)據(jù)可僅包括編碼聚合和用于生成測(cè)量矩陣的種子。在又一些示例中,一個(gè)或多個(gè)參數(shù)可以與編碼聚合一起被包括在壓縮圖像數(shù)據(jù)中,包括與fpa的區(qū)域定義、采樣塊大小、cr、區(qū)域信息、以及fpa的計(jì)算編碼聚合的運(yùn)算模式相關(guān)的參數(shù)。受益于本公開(kāi),本領(lǐng)域技術(shù)人員將理解,壓縮圖像數(shù)據(jù)可包括值的各種組合。
圖4示出了可通過(guò)計(jì)算元件陣列206與該組測(cè)量矩陣300組合的示例像素值矩陣400。像素值矩陣400包括多個(gè)值,每個(gè)值與來(lái)自光電探測(cè)器陣列110中的光探測(cè)器112的圖像信息相關(guān)聯(lián)。像素值矩陣400可包括像素值列404、406、408和410。計(jì)算元件陣列206可組合第一像素值列404和第一測(cè)量代碼向量304以產(chǎn)生值1。第二像素值列406可與第二測(cè)量代碼向量306組合以產(chǎn)生值12。第三像素值列408可與第三測(cè)量代碼向量308組合以產(chǎn)生值0。第四像素值列410可與第四測(cè)量代碼向量310組合以產(chǎn)生值9??蓪?duì)列向聚合值1、12、0和9求和以產(chǎn)生該組測(cè)量矩陣300中的第一測(cè)量矩陣的總編碼聚合值22。計(jì)算元件陣列206可繼續(xù)使用像素值矩陣400與該組測(cè)量矩陣300中的后續(xù)測(cè)量矩陣來(lái)計(jì)算編碼聚合以產(chǎn)生一組4個(gè)編碼聚合值。可理解,可以構(gòu)造測(cè)量矩陣300以使得像素值矩陣400中的每個(gè)像素值被包括在至少一個(gè)編碼聚合中。例如,在每個(gè)矩陣位置處(例如,[1,1]),該組測(cè)量矩陣中的至少一個(gè)矩陣可包括“1”。在另一些示例中,可以構(gòu)造測(cè)量矩陣以使得每個(gè)像素值被包括在預(yù)定比例的編碼聚合中。例如,該組測(cè)量矩陣可被構(gòu)造為每個(gè)像素值被包括在50%的編碼聚合中。
如上所述,測(cè)量矩陣300包括測(cè)量代碼302,測(cè)量代碼302表明例如要從光電探測(cè)器陣列110中采樣哪些光電探測(cè)器112。在一些示例中,基于測(cè)量矩陣300對(duì)光電探測(cè)器陣列110并行地執(zhí)行多個(gè)測(cè)量。例如,第一并行測(cè)量可以基于第一測(cè)量代碼向量304,第二并行測(cè)量可以基于第二測(cè)量代碼向量306。在第一測(cè)量和第二測(cè)量之后,所測(cè)量的光電探測(cè)器值的和可以被聚合。在另一些示例中,每個(gè)測(cè)量順序地(例如,串行地)進(jìn)行。可理解,光電探測(cè)器112的測(cè)量可以執(zhí)行n次并且以其它方式計(jì)算。例如在一實(shí)施例中,來(lái)自所執(zhí)行的每個(gè)測(cè)量的編碼聚合可以被平均和/或加權(quán)以產(chǎn)生單個(gè)加權(quán)編碼聚合。還可理解,可以以其他方式表示十進(jìn)制值、十進(jìn)制值的求和、以及十進(jìn)制值的聚合。例如,求和可以基于二進(jìn)制值和應(yīng)用到其的二進(jìn)制算術(shù)。
可理解,矩陣的編碼聚合不需要如上面的示例所示的那樣首先按照逐列的方式進(jìn)行計(jì)算。測(cè)量矩陣和相關(guān)像素值可由roic106以任何方式遍歷以生成編碼聚合。例如,與逐行或逐列遍歷不同,roic106可首先以沿深度方向的方式遍歷一組測(cè)量矩陣。以深度方式遍歷一組測(cè)量矩陣可以是有利的,因?yàn)槠渫ㄟ^(guò)在移動(dòng)到其它像素值(例如,像素值[2,3])之前首先將所有的對(duì)應(yīng)測(cè)量矩陣值(例如,測(cè)量矩陣值[2,2,1]到[2,2,z])應(yīng)用到相應(yīng)的像素值(例如,像素值[2,2]),消除了多次重新訪(fǎng)問(wèn)每個(gè)像素值的必要性。
如上所述,計(jì)算元件陣列206基于測(cè)量矩陣和像素值生成編碼聚合。計(jì)算元件陣列206中的每個(gè)計(jì)算元件可包括例如耦接到邏輯核(logiccore)的專(zhuān)用存儲(chǔ)器塊。每個(gè)計(jì)算元件中的專(zhuān)用存儲(chǔ)器塊可存儲(chǔ)該組測(cè)量矩陣中的每個(gè)測(cè)量矩陣的聚合編碼。專(zhuān)用存儲(chǔ)器塊可包括例如實(shí)現(xiàn)為具有一個(gè)讀取端口和一個(gè)寫(xiě)入端口的2端口靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)的寄存器堆。采用2端口sram可通過(guò)使讀寫(xiě)操作能被同時(shí)執(zhí)行來(lái)提高壓縮速度。在該示例中,roic106可在較低時(shí)鐘頻率上操作并且仍然生成高幀速。例如,系統(tǒng)可具有25mhz的時(shí)鐘速率并且以超過(guò)1khz的速率生成幀。耦接到每個(gè)專(zhuān)用存儲(chǔ)器塊的邏輯核可接收掩碼值和/或像素值,并且執(zhí)行加法和/或減法運(yùn)算以產(chǎn)生編碼聚合。邏輯核可包括例如本領(lǐng)域技術(shù)人員已知的能夠執(zhí)行兩個(gè)二進(jìn)制值的加法和/或減法的電路。在至少一示例中,邏輯核包括用于對(duì)兩個(gè)二進(jìn)制值執(zhí)行例如加法和/或減法運(yùn)算的算術(shù)邏輯單元(alu)??衫斫?,在一些實(shí)施方式中,多個(gè)專(zhuān)用存儲(chǔ)器塊可共享單個(gè)邏輯核。
在一些示例中,測(cè)量矩陣包括十進(jìn)制值“-1”,因此在測(cè)量矩陣值為“-1”的情況下需要邏輯核執(zhí)行減法運(yùn)算以確定編碼聚合。在這些示例中,像素值可表示為二的補(bǔ)碼值,邏輯核可通過(guò)將各比特取反(例如,翻轉(zhuǎn))并且加一以使像素值為負(fù),并且隨后將負(fù)像素值加到編碼聚合的累積總計(jì)(runningtotal)中來(lái)執(zhí)行減法運(yùn)算。因此,能夠?qū)Ρ忍剡M(jìn)行取反并且對(duì)二進(jìn)制值進(jìn)行相加的邏輯核可執(zhí)行減法運(yùn)算以確定編碼聚合。
由計(jì)算元件陣列206采用的測(cè)量矩陣可由掩碼生成器和控制部件208生成。掩碼生成器和控制部件208可通過(guò)各種機(jī)制中的任何機(jī)制生成適當(dāng)?shù)难诖a。例如,一組掩碼可儲(chǔ)存在存儲(chǔ)器中并且適當(dāng)時(shí)從存儲(chǔ)器取回。在另一些示例中,掩碼可以即時(shí)生成以減小roic106中的存儲(chǔ)器占用面積。例如,掩碼可由偽隨機(jī)數(shù)生成器或唯一隨機(jī)數(shù)生成器生成并且被平衡(例如,過(guò)濾)以使掩碼的功率譜密度更接近于一常數(shù)(例如,白的)。在另一示例中,可通過(guò)生成白(或接近白)測(cè)量矩陣的掩蔽函數(shù)(maskingfunction)來(lái)生成掩碼。
可理解,測(cè)量矩陣可包含非隨機(jī)值。例如,測(cè)量代碼的非隨機(jī)向量可使得能夠在初始測(cè)量中強(qiáng)調(diào)低頻采樣。在該示例中,低頻采樣可以用roic上減小的資源需求提供初始圖像。此外,低頻采樣可指示采樣圖像的近似“稀疏度”,并且可用在隨后對(duì)例如光電探測(cè)器組大小、測(cè)量代碼隨機(jī)性等的計(jì)算中。
受益于本公開(kāi),本領(lǐng)域技術(shù)人員將理解,具有壓縮感知的roic將帶寬大大減小了一個(gè)顯著因子。例如,10的cr將把表示或傳輸壓縮圖像所需的帶寬減小90%。對(duì)于某些架構(gòu),類(lèi)似因子的功耗減小是可能的(例如,需要更少的數(shù)字線(xiàn)路驅(qū)動(dòng)器)。在另一些情況下,可能可以增大整個(gè)焦平面的幀速,而對(duì)圖像分辨率的影響微不足道。這種減小的帶寬要求對(duì)于實(shí)現(xiàn)緊湊型視頻存儲(chǔ)和無(wú)線(xiàn)傳輸可能是關(guān)鍵的。
可理解,roic106可由一個(gè)或多個(gè)外部裝置(例如,信號(hào)處理器108)控制,以控制例如cr、塊大小和/或采樣率。在一些示例中,roic106可基于重建圖像的內(nèi)容接收控制信號(hào)以動(dòng)態(tài)改變cr和/或采樣率。例如,可以調(diào)節(jié)roic106的cr以適應(yīng)圖像或圖像中的關(guān)注區(qū)域(roi)的更高輸出采樣率。如上所述,10的cr是減小帶寬的90%。因此,調(diào)整整個(gè)fpa或fpa的特定區(qū)域的cr能夠?qū)崿F(xiàn)高度靈活的帶寬管理。在一示例中,可以?xún)H改變某些關(guān)注區(qū)域的cr(進(jìn)而塊大小),而對(duì)其他區(qū)域維持恒定的cr。在該示例中,圖像重建引擎可通過(guò)結(jié)合與高采樣率roi相關(guān)的數(shù)據(jù)重新使用先前重建的低采樣率區(qū)域圖像來(lái)生成重建圖像。換句話(huà)說(shuō),圖像重建引擎可通過(guò)重新使用較不頻繁地采樣的區(qū)域的重建圖像來(lái)基于具有不同采樣率的區(qū)域生成圖像。
在一些示例中,圖像重建引擎可以是圖像重建裝置的一部分,圖像重建裝置包括例如具有足夠的用于重建圖像的ram、存儲(chǔ)器和處理器的計(jì)算機(jī)系統(tǒng)和/或現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)。在這些示例中,圖像重建引擎可以是將由包括例如圖形處理單元(gpu)的處理器執(zhí)行的匯編指令集。在另一些示例中,圖像重建裝置可以是將重建的原始圖像輸出到其他硬件設(shè)備(例如,計(jì)算機(jī)系統(tǒng)、顯示器、數(shù)字視頻日志記錄儀等)的集成電路。
重建引擎可基于已知cs方法的任何指令系統(tǒng)(repertoire)來(lái)重建圖像(或其一部分)。另外,圖像重建引擎可基于一個(gè)或多個(gè)區(qū)域、相關(guān)聯(lián)的編碼聚合和其中的測(cè)量代碼的并行處理來(lái)重建圖像。這種“并行”模式允許在比單處理器順序地重建整個(gè)圖像少得多的時(shí)間內(nèi)按區(qū)域重建圖像。一旦原始圖像的區(qū)域被重建,它們就被組合以形成重建的原始圖像??衫斫?,圖像重建裝置可從遠(yuǎn)程roic(例如,經(jīng)由
參考圖5,示出了由roic(例如,roic106)執(zhí)行以產(chǎn)生壓縮圖像數(shù)據(jù)的示例壓縮感知過(guò)程500。壓縮感知過(guò)程500基于從光電探測(cè)器陣列接收到的像素值產(chǎn)生將要提供給例如信號(hào)處理器(例如,信號(hào)處理器108)的壓縮圖像數(shù)據(jù)。
在動(dòng)作502中,roic從例如探測(cè)裝置(例如,探測(cè)裝置104)接收像素值。像素值可以是數(shù)字像素值和/或模擬像素值。在roic接收模擬像素值的示例中,roic可通過(guò)例如adc來(lái)對(duì)模擬像素值進(jìn)行數(shù)字化以用于后續(xù)處理。
在動(dòng)作504中,像素值被指引到計(jì)算元件陣列中的一個(gè)或多個(gè)計(jì)算元件。像素值可通過(guò)例如一組固定的互連和/或可編程歧路被指引到計(jì)算元件。在動(dòng)作506,roic生成用于計(jì)算元件的掩碼。掩碼可由偽隨機(jī)數(shù)生成器即時(shí)生成和/或儲(chǔ)存在存儲(chǔ)器中且被訪(fǎng)問(wèn)。在動(dòng)作508中,所生成的掩碼值可由roic的計(jì)算元件應(yīng)用到像素值以生成編碼聚合。下面參照?qǐng)D6描述計(jì)算編碼聚合的示例過(guò)程。
在動(dòng)作510中,roic輸出壓縮圖像。壓縮圖像可由例如編碼聚合和/或用于生成編碼聚合的掩碼來(lái)表示。壓縮圖像可被提供給圖像處理器和/或另一外部設(shè)備。
圖6示出由計(jì)算元件陣列執(zhí)行的生成用于包括十進(jìn)制值“0”和“1”的測(cè)量矩陣的編碼聚合600的示例過(guò)程。二維圖像區(qū)塊的像素值由pv[x,y]表示。一組給定測(cè)量矩陣的掩碼值由mv[x,y,z]表示,其中每個(gè)x和y坐標(biāo)對(duì)應(yīng)于像素值(例如,pv[x,y]),z坐標(biāo)對(duì)應(yīng)于該組測(cè)量矩陣中的特定測(cè)量矩陣。給定測(cè)量矩陣z的編碼聚合存儲(chǔ)為求和值sv[z]??衫斫?,過(guò)程600可適用于使用具有除了“0”和“1”之外的其它組合的測(cè)量矩陣,包括例如“-1”、“0”和“1”或者“-1”和“1”。
在動(dòng)作602中,在計(jì)算元件的存儲(chǔ)器中將求和值設(shè)置為零(例如,sv[z])。將存儲(chǔ)器位置設(shè)置為零可以去除殘留在存儲(chǔ)器中的任何先前計(jì)算的結(jié)果。在動(dòng)作604中,讀取特定掩碼值(例如,mv[x,y,z])。如上所述,掩碼值可以是“0”或“1”。在動(dòng)作606中,計(jì)算元件確定讀取的掩碼值是否等于1。如果掩碼值等于1,則計(jì)算元件進(jìn)行到動(dòng)作608以讀取與該掩碼值相關(guān)聯(lián)的求和值(例如,sv[z]),動(dòng)作610以將像素值(例如,pv[x,y])添加到求和值(例如,sv[z]),以及動(dòng)作613以將新的求和值(例如,svnew[z])寫(xiě)入到存儲(chǔ)器。否則,計(jì)算元件進(jìn)行到動(dòng)作614并且確定是否已經(jīng)完全遍歷了掩碼。如果已經(jīng)完全遍歷了掩碼,則過(guò)程600結(jié)束。否則,計(jì)算元件返回到動(dòng)作604以選擇新的掩碼值。
本文公開(kāi)的每個(gè)過(guò)程描述了特定示例中的一個(gè)特定動(dòng)作序列。這些過(guò)程的每個(gè)中包括的動(dòng)作可以通過(guò)或使用如本文論述的那樣特別配置的音頻設(shè)備來(lái)執(zhí)行。一些動(dòng)作是可選的,因此可根據(jù)一個(gè)或多個(gè)示例而被省略。另外,可以改變動(dòng)作的順序,或者可以添加其他動(dòng)作,而不脫離本文所論述的系統(tǒng)和方法的范圍。此外,如上所述,在至少一個(gè)示例中,在特定的,特別配置的機(jī)器,即根據(jù)本文公開(kāi)的示例配置的roic上執(zhí)行動(dòng)作。
上面已經(jīng)描述了至少一個(gè)實(shí)施例的若干方面,將理解,對(duì)本領(lǐng)域技術(shù)人員而言各種改變、修改和改進(jìn)將是容易想到的。例如,已知的壓縮算法(例如,jpeg或mpeg壓縮算法)可以與上述各種實(shí)施例組合地實(shí)施。這樣的改變、修改和改進(jìn)旨在是本公開(kāi)的一部分,并且旨在落入本發(fā)明的范圍內(nèi)。因此,前面的描述和附圖僅是示例性的。本文提供的具體實(shí)施方式的示例僅用于說(shuō)明,而無(wú)意成為限制。此外,本文使用的措辭和術(shù)語(yǔ)是用于說(shuō)明,而不應(yīng)視為限制。本文使用的“包括”、“包含”、“具有”、“含有”、“涉及”及其變體意味著包括其后列出的項(xiàng)目和其等同物、以及附加項(xiàng)目。