具有集成压缩感知的读出集成电路的制作方法

文档序号:11637381阅读:331来源:国知局
具有集成压缩感知的读出集成电路的制造方法与工艺



背景技术:

在过去的几十年中,焦平面阵列(fpa)在光电探测器阵列尺寸方面以指数方式增大。光电探测器阵列尺寸的增大导致了对从fpa捕获和传输图像所需的功率、带宽和复杂性日益更多的要求。解决带宽问题的传统方法涉及使用以硬件或软件实现的图像压缩。然而,这些方法在进行用于减小带宽的处理之前需要采集整个图像,因此需要对fpa中的每个光电探测器进行采样。采集之后对视频数据进行压缩的传统做法在面积、功率和架构复杂性方面都有所损失。



技术实现要素:

一些方面和实施例涉及用于fpa的具有集成压缩感知(cs)的读出集成电路(roic)。如下面更详细地论述的那样,具有集成cs的roic通过根据各种cs方法对光电探测器进行采样而大幅减小了用于描述整个图像的样本数。

根据一方面,提供一种具有集成压缩采样(cs)的读出集成电路(roic)。具有集成cs的roic包括耦接到包括多个光电探测器的光电探测器阵列的输入和操作上连接到光电探测器阵列的cs部件。所述cs部件配置为通过基于一组压缩采样测量矩阵(csmm)生成光电探测器值的多个和(sum)来生成压缩图像数据,并且将所述压缩图像数据输出到例如信号处理器,所述压缩采样测量矩阵包括至少一个编码测量向量。

根据一实施例,所述多个光电探测器可通过行地址和列地址独立寻址。根据一实施例,所述至少一个编码测量向量由伪随机数源(其可以是存储器或随机数生成器)生成。根据一实施例,所述多个光电探测器被分割成多个区域,所述多个区域中的每个区域包括至少一组光电探测器。

根据一实施例,所述多个区域中的至少一个区域的压缩率为1。根据一实施例,至少一组光电探测器包括光电探测器的至少4×4矩阵,其中所述cs部件还配置为基于至少一个编码测量值向量选择性读取所述至少一组中的光电探测器的子集来并行地计算多个和,将所述多个和聚合成编码聚合,以及将所述编码聚合储存在压缩图像数据中。根据一实施例,cs部件还配置为将所述至少一个测量代码向量储存在压缩图像中。根据一实施例,所述至少一个编码测量代码向量包括十进制0和十进制1中的至少一个。根据一实施例,所述至少一组为第一组和第二组,其中所述压缩图像数据包括分别所述第一组的至少一个编码聚合和所述第二组的至少一个编码聚合。

根据一实施例,压缩图像数据包括总共数量的编码聚合,其在数量上总计为如对多个光电探测器中的每个光电探测器进行测量的潜在光电探测器值的一部分(fraction)。

根据一方面,提供一种fpa成像系统。该fpa成像系统包括存储器、耦接到所述存储器的至少一个处理器、包括多个光电探测器的光电探测器阵列、耦接到所述至少一个处理器和所述光电探测器阵列的具有集成cs的roic、以及图像重建引擎,所述图像重建引擎配置为指示所述至少一个处理器基于压缩图像数据重建至少一幅图像。具有集成cs的roic配置为通过基于一组压缩采样测量矩阵(csmm)生成光电探测器值的多个和来生成压缩图像数据,并且将所述压缩图像数据输出到所述至少一个处理器,所述csmm包括至少一个编码测量向量。

根据一实施例,压缩图像数据包括至少一个编码聚合。根据一实施例,所述至少一个编码聚合表示多个区域中的至少一个区域。根据一实施例,压缩图像数据包括至少一个测量代码向量。根据一实施例,所述至少一个区域为第一区域和第二区域,所述重建引擎还配置为指示所述至少一个处理器基于所述第一区域和所述至少一个测量代码向量来重建第一图像,基于所述第二区域和所述至少一个测量代码向量来重建第二图像,其中所述第一图像和所述第二图像被并行地重建,并且组合所述第一图像和所述第二图像。根据一实施例,所述至少一个处理器是图形处理单元(gpu)和现场可编程门阵列(fpga)中的至少一种。

根据至少一方面,提供一种具有集成压缩采样(cs)的读出集成电路(roic)。该roic包括:输入,耦接到包括多个光电探测器的光电探测器阵列;掩码生成器和控制部件,配置为生成多个压缩采样测量矩阵(csmm),每个csmm描述对光电探测器阵列的至少一部分进行采样的采样模式;以及计算元件阵列,耦接到所述输入和所述掩码生成器和控制部件。所述计算元件阵列配置为从光电探测器阵列接收多个光电探测器值,从掩码生成器和控制部件接收csmm,通过根据多个csmm对光电探测器阵列进行采样来生成压缩图像数据,以及将压缩图像数据提供给至少一个处理器。

在一实施例中,计算元件阵列包括多个计算元件,每个计算元件包括耦接到逻辑核的存储器。存储器可包括例如2端口静态随机存取存储器(sram)。存储器可存储压缩图像数据,逻辑核可配置为确定压缩图像数据。可理解,roic还可包括块映射部件,配置为将多个光电探测器值的至少一部分指引到多个计算元件中的每个计算元件。

在一实施例中,掩码生成器和控制部件包括伪随机数生成器和唯一随机数生成器中的至少一种。在一实施例中,掩码生成和控制部件包括存储器,其中掩码生成和控制部件至少部分地通过从存储器读取至少一个储存的csmm来生成多个csmm。在一实施例中,多个csmm每个包括十进制0、十进制1和十进制-1中的至少一个。

在一实施例中,光电探测器阵列包括多个部分。在一实施例中,光电探测器阵列的多个部分中的一个或多个部分的压缩率为1。在一实施例中,计算元件阵列还配置为通过根据多个csmm对光电探测器阵列的多个部分进行选择性采样来并行地计算多个编码聚合,其中压缩图像数据包括多个编码聚合。

在一实施例中,roic还包括耦接在输入和计算元件阵列之间的模数转换器(adc),其配置为对从光电探测器阵列接收到的多个光电探测器值进行数字化。可理解,多个光电探测器可包括多个数字像素,多个光电探测器值可包括多个像素值。

根据至少一方面,提供一种焦平面阵列(fpa)成像系统。所述fpa成像系统包括至少一个处理器、包括多个光电探测器的光电探测器阵列、以及耦接在至少一个处理器和光电探测器阵列之间的具有集成压缩采样(cs)的读出集成电路(roic)。所述roic配置为:生成多个压缩采样测量矩阵(csmm),每个csmm描述对多个光电探测器的至少一部分进行采样的采样模式;通过根据多个csmm对多个光电探测器进行采样来生成压缩图像数据;以及将压缩图像数据输出到所述至少一个处理器。

在一实施例中,光电探测器阵列包括多个数字像素。在一实施例中,roic包括掩码生成器和控制部件,其配置为生成多个csmm。在一实施例中,掩码生成器和控制部件包括伪随机数生成器和唯一随机数生成器中的至少一种。

在一实施例中,roic包括计算元件阵列,其包括耦接到逻辑核的存储器,配置为生成压缩图像数据。在一实施例中,fpa还包括图像重建引擎,其配置为指示至少一个处理器基于压缩图像数据重建至少一幅图像。

下面还详细论述了其他方面、实施例、示例和优点。本文公开的实施例和/或示例可根据本文公开的原理中的至少一个以任何方式与其他实施例和/或示例组合,对“实施例”、“一些实施例”、“替代实施例”、“各种实施例”、“一个实施例”、“示例”、“一些示例”、“替代示例”、“各种示例”、“一个示例”等的提及不一定是互斥的,旨在表明所描述的特定特征、结构、或特性可包括在至少一个实施例和/或示例中。本文中这些术语的出现不一定都指的是同一实施例和/或示例。

附图说明

下面参照附图论述至少一实施例的各个方面,附图无意是按比例绘制的。包括附图以提供对各方面和实施例的图示和进一步理解,并且附图被并入本说明书中且构成本说明书的一部分,但并不旨在作为对本发明范围的限定。在附图中,在各个图中示出的每个相同或几乎相同的部件由相似的附图标记表示。为了清楚起见,并非每个部件在每幅图中都被标示。附图中:

图1是根据本发明某些方面的fpa成像系统的一示例的框图;

图2a和2b是根据本发明某些方面的示例fpa成像系统的框图;

图3是根据本发明某些方面的一组示例测量矩阵的方块图;

图4是示出根据本发明某些方面的与捕获图像相关联的示例光电探测器值的矩阵的方块图;

图5是示出压缩感知的示例方法的流程图;以及

图6是示出将掩码(mask)应用到像素值的示例方法的流程图。

具体实施方式

需要减小成像系统的视频输出带宽要求,同时还保持或降低功耗和/或增大帧速,而对图像分辨率的影响微不足道。这些方面对于实现紧凑型视频存储和无线传输而言可能是特别相关的。因此,一些方面和实施例涉及具有片上集成压缩感知(cs)的读出集成电路(roic),其允许roic生成压缩图像数据。例如,具有集成cs的roic可耦接到包括多个光电探测器的光电探测器阵列,并且可根据各种cs技术生成表示由光电探测器阵列获取的图像的压缩图像数据。

cs利用了这样的事实:在信号的“信息速率”可显著小于信号带宽所给出的速率的意义上,包括许多视频或图像信号在内的许多信号是“稀疏”的。当以适当的基础或域表示信号时,许多系数可接近或等于零。如果信号在某些域中是稀疏的,则不必遵循shannon-nyquist采样定理的经典要求。因此,信号可由稀疏采样集表示,与捕获整个信号所需的数据相比,其可使用非常小的数据量。根据某些实施例,roic上的压缩感知利用了图像信号的假定稀疏性,并且提供代替原始像素值的压缩图像数据。

图像压缩可通过使用一组测量矩阵(例如,掩码)来实现,每个测量矩阵具有x×y的大小,其是光电探测器阵列中的像素总数的百分数。例如,如果光电探测器阵列具有640×480个像素,则光电探测器阵列可以在概念上划分为多个矩形区域,每个矩形区域为32×32个像素(每个矩形区域中总共1024个像素位置)。于是将有20×15个32×32像素区域以覆盖640×480的光电探测器阵列。如果需要压缩到10%,则1024个像素位置将由102个测量矩阵(例如,0.10×1024像素位置)采样。102个测量矩阵中的每个测量矩阵可具有与被采样区域的大小(例如,32×32)相等的大小,并且在每个位置处包括“1”或“0”。102个测量矩阵中的每个测量矩阵被应用到该组像素值(例如,32×32)以确定编码聚合(codedaggregate)。编码聚合可包括来自测量矩阵含有“1”处的所有像素位置的像素值的和。因此,每个测量矩阵提供一个编码聚合值(例如,102个测量矩阵有102个编码聚合)。从roic传输102个编码聚合值而不是原始的1024个值,得到原始大小的约10%(减小90%)。可理解,测量矩阵中“1”和“0”之间的分布可满足一个或多个预定准则。例如,该组102个测量矩阵可要求在每个像素位置处是“1”的百分比。在一些实施方式中,在任何给定像素位置处(例如,[1,1]),102个测量矩阵中的50%可包含“1”。换句话说,每个像素值可被包括在102个编码聚合的50%中。在另一示例中,应用到给定像素值块的每个测量矩阵的功率谱密度可以接近于一常数(例如,白的)。

一些方面和实施例涉及用于焦平面阵列(fpa)的具有集成cs的roic,使得图像压缩直接在roic上执行。特别地,某些实施例涉及一种roic,其中fpa的光电探测器的编码聚合被采样,所得输出是被采样的光电探测器的数字编码聚合。如下面进一步论述的那样,编码可以在roic上完全在数字域中实施,并且采集控制和定时可以被数字控制。此外,也如下面进一步论述的那样,与其中以顺序方式获取数据测量的常规采集后压缩感知方法不同,某些方面包括用其唯一编码来并行地获取所采样的光电探测器值的和。相对于常规架构,一些方面和实施例提供的技术优点可包括对于给定数量的光电探测器,具有片上cs的roic的改善的晶片尺寸、可行性、成本、性能、带宽使用和功耗。该方法本质上节省了带宽,并且在一些应用中还降低了roic的功耗。

图1是示出示例fpa成像系统100的框图。fpa成像系统100包括探测装置104,探测装置104包括布置成光电探测器阵列110并且配置为接收入射光102的多个光电探测器112。fpa成像系统100还包括roic106和信号处理器108。

在一实施例中,探测装置104采用光电探测器阵列110中的多个光电探测器112来接收入射光102。光电探测器112为光敏器件,其可响应于入射在光电探测器112上的光而累积电荷(例如,在电荷耦合器件(ccd)传感器中)或产生电流和/或电压(例如,在互补金属氧化物半导体(cmos)传感器中)。光电探测器112可包括例如光伏探测器、势垒(barrier)器件探测器、位置灵敏探测器(psd)、或其它合适的探测器。每个光电探测器112可基于唯一地址(例如,行和列值)被单独寻址。应理解,光电探测器阵列110可包括向例如roic106提供数字化图像数据的数字像素。

在一些实施例中,roic106耦接到探测装置104。roic106可从探测装置104接收例如累积电荷或者电流和/或电压信号,并且将所接收的信息数字化以供信号处理器108接收。roic106可将所接收到的表示图像的信息输出到例如信号处理器108。可理解,roic106可从探测装置104接收数字化图像信息,从而省略模数转换功能。

在一些实施例中,roic106包括cs部件。在这些实施例中,roic106可根据各种cs技术产生表示由光电探测器112捕获到的图像的压缩图像数据,并且将压缩图像数据提供给例如信号处理器108。通过在roic106内集成cs部件,实现了其中同时执行光电探测器112的采样和压缩的设计,这允许利用更大数量的光电探测器112,而不会成比例地增大捕获和传输图像数据所需的功率和带宽。下面参照图2a和图2b进一步描述具有cs部件的roic106的示例实施方式。

在一实施例中,信号处理器108耦接到roic106并且从roic106接收表示探测装置104上的入射光102的数字化信息。从roic106接收到的数字化信息可包括例如根据各种压缩感知方法的压缩图像信息。信号处理器108可重建捕获图像,分析压缩图像信息,将压缩图像信息发送到外部系统,和/或指示fpa成像系统的各种部件(例如,旋转镜)。信号处理器108可以是通用处理器或专用处理器(例如,数字信号处理器)。信号处理器108可包括例如其他功能部件,诸如视频处理单元、图形处理单元、嵌入式处理器、单指令、多数据数字信号处理器(simddsp)和内部存储器(未示出)。可理解,信号处理器108的功能可包括在roic106内和/或由roic106执行。

图2a示出了具有集成到roic106中的cs部件的示例fpa成像系统200a。示例fpa成像系统200a包括探测装置104、roic106和信号处理器108。如图2a所示,roic106包括块映射部件204、计算元件阵列206、掩码生成和控制部件208、以及可选的模数转换器(adc)202。

在一些示例中,探测装置104可提供表示入射在相应的光电探测器(例如,光电探测器112)上的光的强度和/或特性的模拟光电探测器值。在这些示例中,roic106可包括adc202,其耦接到探测装置104以数字化从探测装置104接收到的模拟光电探测器值,从而产生数字像素值。adc202可包括构造为例如一次数字化一列或多列模拟光电探测器值的列式adc。可理解,在采用数字像素或提供数字像素值的其他类型的探测装置104的示例中可以省略adc202。

如图2a所示,fpa成像系统200a包括耦接到计算元件阵列206的块映射部件204。块映射部件204将从探测装置104(和/或adc202)接收到的数字像素值指引到计算元件阵列206中的适当的计算元件。块映射部件204可例如将数字像素值划分为一组块(block),并且将每个块(或每个块的一部分)指引到计算元件阵列206中的特定计算元件。块映射部件204可包括例如可编程歧路(manifold),其可以被重新配置以改变用于数字化像素值的给定块(或其一部分)的目标计算元件。将像素值划分为一组块并且将每个块指引到计算元件中可以使roic106能同时压缩图像的多个子区(sub-section),从而减少压缩图像所需的时间。可理解,如图2b中的fpa成像系统200b所示,可以在没有块映射部件204的情况下将图像划分为多个子区。探测装置104或adc202与计算元件阵列206之间的互连可以是硬连线的以将图像的特定位置中的数字像素值输出到计算元件阵列206中的预选定的计算元件。

可以基于任何数量的设计参数来选择块的大小,包括例如期望的压缩率(cr)、期望的重建图像质量、和/或roic106的硬件约束。本文使用时,cr被定义为未压缩数据大小和压缩后数据大小之间的比率。cr仅是未压缩大小除以压缩后大小。例如,如果图像的原始大小为1000m字节,压缩后大小是100m字节,则cr为10(1000m字节/100m字节=10)。在一些示例中,包括在每个块中的光电探测器112的数量可被按比例放大(scaleup)。例如,块大小可设置为等于与光电探测器阵列110相同的尺寸。在另一些示例中,块可缩放到对cr进行优化且比光电探测器阵列110的全尺寸小的尺寸。例如,256×256的块大小可实现cr10,而没有图像质量的明显损失。采用比光电探测器阵列110更小的块大小还可实现通过roic106对各个光电探测器组进行并行压缩,从而减少用于压缩图像的计算时间。压缩时间的减少可允许roic106例如压缩实况视频流中的帧。用于示例探测装置104的示例块大小配置示于下面的表1中。

表1

表1示出用于在320行和240列的网格中具有76,800个总像素的探测装置的四种可行的块大小配置。在第一配置中,所选的块大小为4×4像素的正方形,包含总共16个像素。16个像素的块由4个单独的也具有4×4大小的二维测量矩阵采样4次。测量矩阵可提供roic106需要对哪些数字像素值(例如,光电探测器阵列110中的哪些光电探测器112)进行采样并且求和以产生编码聚合的“路线图”。例如,测量矩阵可指示16个总像素值中的哪些像素值需要被求和以形成编码聚合样本。一组示例的测量矩阵示于图3中并且在下面被进一步更详细地论述。对于4,800个16像素块中的每个块,可以生成4个编码聚合值,产生19,200个编码聚合样本以捕获整个图像。将4个测量矩阵应用到每个块需要由roic106执行307,200个运算(例如,加法和/或减法运算)。所得压缩图像数据包括19,200个编码聚合样本(而非76,800个像素值)并且产生约为4(例如,76,800/19,200)的cr。后面的配置(例如,第二、第三和第四配置)示出了将块大小从4×4像素值的正方形增大到32×32像素值的块大小的效果。可理解,在一些实施方式中,归因于例如对压缩图像进行解码所需的某些开销(overhead)信息,表1所示的cr可能略低。在一些实施方式中,测量矩阵可与编码聚合样本一起作为压缩图像数据发送。在另一些实施方式中,可仅编码聚合作为压缩图像数据被发送。在这些实施方式中,目标设备(例如,接收压缩图像数据的设备)可能已经具有测量矩阵的副本和/或能够基于先前确定的种子(seed)生成测量矩阵。

如表1所示,基于roic106的期望性能和/或硬件约束,可以针对roic106的任何特定实施方式采用各种块大小。例如,较大的块大小可以产生更佳的图像重建结果,因为应用到给定像素值块的每个测量矩阵(例如,掩码)的功率谱密度可以更接近于一常数(例如,白的)。然而,这些更大的块大小可能需要roic106执行额外的运算以压缩图像,并且由此需要更快的roic106和/或以更慢的速率处理图像。相反,选择较小的块大小可实质上减小roic106所需的运算总数,并且允许roic106以更低频率操作和/或以更高帧速处理图像帧。

在一些示例中,roic106可仅将测量矩阵应用到上述块中的一部分,留下剩余的块未被压缩。换句话说,roic106可提供剩余块的未压缩图像数据。例如,roic106可以不压缩捕获与关注区域相关联的图像数据的一组像素值。在另一示例中,由roic106处理的图像是60hz视频流的一部分。在该示例中,roic106可将像素值阵列划分为60个块,并且压缩(例如,使用本文描述的cs技术)每帧中的60个块中的59个块,而留下最后的块未被压缩。保持未被压缩的特定块可在每帧中变化,使得每秒(例如,每60帧)未压缩地传输每个块的单个版本。因此,roic106可在每秒传输一个全分辨率图像。可理解,可以采用其他方法来选择图像的保持未被压缩的各部分。

如上所述,cs执行一组随机的测量,并且基于信息是“稀疏”的,在可靠地探测“信息”(例如,非重复像素值)方面是有效的。在roic106中,计算元件阵列206中的计算元件可根据测量矩阵(例如,掩码)执行数字像素值的采样。图3示出了一组示例的测量矩阵300,其可由例如掩码生成和控制部件208生成并且由计算元件阵列206应用到像素值。该组测量矩阵300包括4个二维矩阵,每个二维矩阵包括测量代码向量304、306、308和310,以及多个测量代码302。每个二维测量矩阵可具有与被采样的图像区块相同(或相似)的大小,每个测量代码302可对应到像素值。计算元件阵列206中的每个计算元件可通过将对应的测量代码302为“1”的像素值相加并且忽略对应的测量代码302为“0”的像素值来将测量矩阵应用到像素值块,以产生测量矩阵的编码聚合值。可理解,如图3所示,测量矩阵可由除了“0”和“1”之外的十进制值形成。例如,测量矩阵可由值“0”、“1”和“-1”或“1”和“-1”形成,其中“-1”可表示应减去对应的像素值(而不是相加)以产生编码聚合。

计算元件阵列206可为该组测量矩阵300中的每个测量矩阵提供编码聚合。例如,计算元件阵列206可为该组测量矩阵300所示的4个矩阵提供4个编码聚合码。编码聚合和对应的测量矩阵可形成压缩图像数据,其可由roic106提供给例如信号处理器108。在另一些示例中,压缩图像数据可仅包括编码聚合和用于生成测量矩阵的种子。在又一些示例中,一个或多个参数可以与编码聚合一起被包括在压缩图像数据中,包括与fpa的区域定义、采样块大小、cr、区域信息、以及fpa的计算编码聚合的运算模式相关的参数。受益于本公开,本领域技术人员将理解,压缩图像数据可包括值的各种组合。

图4示出了可通过计算元件阵列206与该组测量矩阵300组合的示例像素值矩阵400。像素值矩阵400包括多个值,每个值与来自光电探测器阵列110中的光探测器112的图像信息相关联。像素值矩阵400可包括像素值列404、406、408和410。计算元件阵列206可组合第一像素值列404和第一测量代码向量304以产生值1。第二像素值列406可与第二测量代码向量306组合以产生值12。第三像素值列408可与第三测量代码向量308组合以产生值0。第四像素值列410可与第四测量代码向量310组合以产生值9。可对列向聚合值1、12、0和9求和以产生该组测量矩阵300中的第一测量矩阵的总编码聚合值22。计算元件阵列206可继续使用像素值矩阵400与该组测量矩阵300中的后续测量矩阵来计算编码聚合以产生一组4个编码聚合值。可理解,可以构造测量矩阵300以使得像素值矩阵400中的每个像素值被包括在至少一个编码聚合中。例如,在每个矩阵位置处(例如,[1,1]),该组测量矩阵中的至少一个矩阵可包括“1”。在另一些示例中,可以构造测量矩阵以使得每个像素值被包括在预定比例的编码聚合中。例如,该组测量矩阵可被构造为每个像素值被包括在50%的编码聚合中。

如上所述,测量矩阵300包括测量代码302,测量代码302表明例如要从光电探测器阵列110中采样哪些光电探测器112。在一些示例中,基于测量矩阵300对光电探测器阵列110并行地执行多个测量。例如,第一并行测量可以基于第一测量代码向量304,第二并行测量可以基于第二测量代码向量306。在第一测量和第二测量之后,所测量的光电探测器值的和可以被聚合。在另一些示例中,每个测量顺序地(例如,串行地)进行。可理解,光电探测器112的测量可以执行n次并且以其它方式计算。例如在一实施例中,来自所执行的每个测量的编码聚合可以被平均和/或加权以产生单个加权编码聚合。还可理解,可以以其他方式表示十进制值、十进制值的求和、以及十进制值的聚合。例如,求和可以基于二进制值和应用到其的二进制算术。

可理解,矩阵的编码聚合不需要如上面的示例所示的那样首先按照逐列的方式进行计算。测量矩阵和相关像素值可由roic106以任何方式遍历以生成编码聚合。例如,与逐行或逐列遍历不同,roic106可首先以沿深度方向的方式遍历一组测量矩阵。以深度方式遍历一组测量矩阵可以是有利的,因为其通过在移动到其它像素值(例如,像素值[2,3])之前首先将所有的对应测量矩阵值(例如,测量矩阵值[2,2,1]到[2,2,z])应用到相应的像素值(例如,像素值[2,2]),消除了多次重新访问每个像素值的必要性。

如上所述,计算元件阵列206基于测量矩阵和像素值生成编码聚合。计算元件阵列206中的每个计算元件可包括例如耦接到逻辑核(logiccore)的专用存储器块。每个计算元件中的专用存储器块可存储该组测量矩阵中的每个测量矩阵的聚合编码。专用存储器块可包括例如实现为具有一个读取端口和一个写入端口的2端口静态随机存取存储器(sram)的寄存器堆。采用2端口sram可通过使读写操作能被同时执行来提高压缩速度。在该示例中,roic106可在较低时钟频率上操作并且仍然生成高帧速。例如,系统可具有25mhz的时钟速率并且以超过1khz的速率生成帧。耦接到每个专用存储器块的逻辑核可接收掩码值和/或像素值,并且执行加法和/或减法运算以产生编码聚合。逻辑核可包括例如本领域技术人员已知的能够执行两个二进制值的加法和/或减法的电路。在至少一示例中,逻辑核包括用于对两个二进制值执行例如加法和/或减法运算的算术逻辑单元(alu)。可理解,在一些实施方式中,多个专用存储器块可共享单个逻辑核。

在一些示例中,测量矩阵包括十进制值“-1”,因此在测量矩阵值为“-1”的情况下需要逻辑核执行减法运算以确定编码聚合。在这些示例中,像素值可表示为二的补码值,逻辑核可通过将各比特取反(例如,翻转)并且加一以使像素值为负,并且随后将负像素值加到编码聚合的累积总计(runningtotal)中来执行减法运算。因此,能够对比特进行取反并且对二进制值进行相加的逻辑核可执行减法运算以确定编码聚合。

由计算元件阵列206采用的测量矩阵可由掩码生成器和控制部件208生成。掩码生成器和控制部件208可通过各种机制中的任何机制生成适当的掩码。例如,一组掩码可储存在存储器中并且适当时从存储器取回。在另一些示例中,掩码可以即时生成以减小roic106中的存储器占用面积。例如,掩码可由伪随机数生成器或唯一随机数生成器生成并且被平衡(例如,过滤)以使掩码的功率谱密度更接近于一常数(例如,白的)。在另一示例中,可通过生成白(或接近白)测量矩阵的掩蔽函数(maskingfunction)来生成掩码。

可理解,测量矩阵可包含非随机值。例如,测量代码的非随机向量可使得能够在初始测量中强调低频采样。在该示例中,低频采样可以用roic上减小的资源需求提供初始图像。此外,低频采样可指示采样图像的近似“稀疏度”,并且可用在随后对例如光电探测器组大小、测量代码随机性等的计算中。

受益于本公开,本领域技术人员将理解,具有压缩感知的roic将带宽大大减小了一个显著因子。例如,10的cr将把表示或传输压缩图像所需的带宽减小90%。对于某些架构,类似因子的功耗减小是可能的(例如,需要更少的数字线路驱动器)。在另一些情况下,可能可以增大整个焦平面的帧速,而对图像分辨率的影响微不足道。这种减小的带宽要求对于实现紧凑型视频存储和无线传输可能是关键的。

可理解,roic106可由一个或多个外部装置(例如,信号处理器108)控制,以控制例如cr、块大小和/或采样率。在一些示例中,roic106可基于重建图像的内容接收控制信号以动态改变cr和/或采样率。例如,可以调节roic106的cr以适应图像或图像中的关注区域(roi)的更高输出采样率。如上所述,10的cr是减小带宽的90%。因此,调整整个fpa或fpa的特定区域的cr能够实现高度灵活的带宽管理。在一示例中,可以仅改变某些关注区域的cr(进而块大小),而对其他区域维持恒定的cr。在该示例中,图像重建引擎可通过结合与高采样率roi相关的数据重新使用先前重建的低采样率区域图像来生成重建图像。换句话说,图像重建引擎可通过重新使用较不频繁地采样的区域的重建图像来基于具有不同采样率的区域生成图像。

在一些示例中,图像重建引擎可以是图像重建装置的一部分,图像重建装置包括例如具有足够的用于重建图像的ram、存储器和处理器的计算机系统和/或现场可编程门阵列(fpga)。在这些示例中,图像重建引擎可以是将由包括例如图形处理单元(gpu)的处理器执行的汇编指令集。在另一些示例中,图像重建装置可以是将重建的原始图像输出到其他硬件设备(例如,计算机系统、显示器、数字视频日志记录仪等)的集成电路。

重建引擎可基于已知cs方法的任何指令系统(repertoire)来重建图像(或其一部分)。另外,图像重建引擎可基于一个或多个区域、相关联的编码聚合和其中的测量代码的并行处理来重建图像。这种“并行”模式允许在比单处理器顺序地重建整个图像少得多的时间内按区域重建图像。一旦原始图像的区域被重建,它们就被组合以形成重建的原始图像。可理解,图像重建装置可从远程roic(例如,经由rf、以太网等)接收压缩图像数据。在这些示例中,通过在远离roic的设备上执行原始图像的重建来节省带宽和功率。在无线传输的情况下,cs可减小基带带宽,这可导致无线传输的若干改善,包括固有的附加加密属性、降低的可检测性/阻塞性、提高的传输距离等。这在各种应用中会是有利的,包括具有相关联的地面接收器的机载fpa。在另一些实施例中,图像重建装置可经由通信总线耦接到roic并且接收压缩图像数据。

参考图5,示出了由roic(例如,roic106)执行以产生压缩图像数据的示例压缩感知过程500。压缩感知过程500基于从光电探测器阵列接收到的像素值产生将要提供给例如信号处理器(例如,信号处理器108)的压缩图像数据。

在动作502中,roic从例如探测装置(例如,探测装置104)接收像素值。像素值可以是数字像素值和/或模拟像素值。在roic接收模拟像素值的示例中,roic可通过例如adc来对模拟像素值进行数字化以用于后续处理。

在动作504中,像素值被指引到计算元件阵列中的一个或多个计算元件。像素值可通过例如一组固定的互连和/或可编程歧路被指引到计算元件。在动作506,roic生成用于计算元件的掩码。掩码可由伪随机数生成器即时生成和/或储存在存储器中且被访问。在动作508中,所生成的掩码值可由roic的计算元件应用到像素值以生成编码聚合。下面参照图6描述计算编码聚合的示例过程。

在动作510中,roic输出压缩图像。压缩图像可由例如编码聚合和/或用于生成编码聚合的掩码来表示。压缩图像可被提供给图像处理器和/或另一外部设备。

图6示出由计算元件阵列执行的生成用于包括十进制值“0”和“1”的测量矩阵的编码聚合600的示例过程。二维图像区块的像素值由pv[x,y]表示。一组给定测量矩阵的掩码值由mv[x,y,z]表示,其中每个x和y坐标对应于像素值(例如,pv[x,y]),z坐标对应于该组测量矩阵中的特定测量矩阵。给定测量矩阵z的编码聚合存储为求和值sv[z]。可理解,过程600可适用于使用具有除了“0”和“1”之外的其它组合的测量矩阵,包括例如“-1”、“0”和“1”或者“-1”和“1”。

在动作602中,在计算元件的存储器中将求和值设置为零(例如,sv[z])。将存储器位置设置为零可以去除残留在存储器中的任何先前计算的结果。在动作604中,读取特定掩码值(例如,mv[x,y,z])。如上所述,掩码值可以是“0”或“1”。在动作606中,计算元件确定读取的掩码值是否等于1。如果掩码值等于1,则计算元件进行到动作608以读取与该掩码值相关联的求和值(例如,sv[z]),动作610以将像素值(例如,pv[x,y])添加到求和值(例如,sv[z]),以及动作613以将新的求和值(例如,svnew[z])写入到存储器。否则,计算元件进行到动作614并且确定是否已经完全遍历了掩码。如果已经完全遍历了掩码,则过程600结束。否则,计算元件返回到动作604以选择新的掩码值。

本文公开的每个过程描述了特定示例中的一个特定动作序列。这些过程的每个中包括的动作可以通过或使用如本文论述的那样特别配置的音频设备来执行。一些动作是可选的,因此可根据一个或多个示例而被省略。另外,可以改变动作的顺序,或者可以添加其他动作,而不脱离本文所论述的系统和方法的范围。此外,如上所述,在至少一个示例中,在特定的,特别配置的机器,即根据本文公开的示例配置的roic上执行动作。

上面已经描述了至少一个实施例的若干方面,将理解,对本领域技术人员而言各种改变、修改和改进将是容易想到的。例如,已知的压缩算法(例如,jpeg或mpeg压缩算法)可以与上述各种实施例组合地实施。这样的改变、修改和改进旨在是本公开的一部分,并且旨在落入本发明的范围内。因此,前面的描述和附图仅是示例性的。本文提供的具体实施方式的示例仅用于说明,而无意成为限制。此外,本文使用的措辞和术语是用于说明,而不应视为限制。本文使用的“包括”、“包含”、“具有”、“含有”、“涉及”及其变体意味着包括其后列出的项目和其等同物、以及附加项目。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1