红外成像系统的制作方法

文档序号:10987610阅读:652来源:国知局
红外成像系统的制作方法
【专利摘要】本实用新型提供了一种红外成像系统,其具有改善的电子器件架构。在一个实施方式中,提供了一种包括用于捕获红外图像数据的红外成像传感器和用于高效地处理捕获的红外图像数据的主电子器件块。主电子器件块可以包括多个向量处理器,每个向量处理器配置成并行地对红外图像数据的多个像素进行操作,以高效地利用像素级并行性。每个向量处理器可以通信耦接到本地存储器,本地存储器为红外图像数据中由向量处理器进行操作的一部分提供高带宽、低延迟存取。主电子器件块还可以包括配置成管理至/来自本地存储器的数据流和其他系统功能的通用处理器。本实用新型提供了高效、可缩放、灵活并且成本有效的红外摄像机电子器件架构。
【专利说明】
红外成像系统
[0001] 相关申请的交叉引用
[0002] 本申请要求2013年8月6日提交且题为"VECTOR PROCESSING ARCHITECTURES FOR INFRARED CAMERA ELECTRONICS"的美国临时专利申请No. 61/862,923的优先权和利益,通 过引用将上述申请的全部内容并入本文中。
技术领域
[0003] 本实用新型的一种或多种实施方式大体上涉及用于成像设备的电子器件,并且更 具体地,例如涉及用于红外摄像机的电子器件架构。
【背景技术】
[0004] 诸如红外摄像机之类的红外成像系统的普及性正在增加。随着生产红外成像传感 器的成本降低并且图像质量提高,红外成像设备正越来越多地得到广泛的应用。现代红外 成像系统一般包括关联的电子器件以执行"像素处理",从而补偿可能由红外成像传感器和 其他部件引入的各种类型的非均匀性和畸变。这样的像素处理需要非常高的处理速度,尤 其是对于诸如红外摄像机之类的实时应用来说,在红外摄像机中需要在没有显著延时或其 他延迟的情况下捕获视频/图像。然而,对于处理速度的这种要求对于具有常规图像处理电 子器件架构的红外成像系统经常导致不利的成本、尺寸和/或功率需求。
[0005] 例如,一般的红外摄像机电子器件包括诸如现场可编程门阵列(FPGA)的可编程逻 辑器件(PLD)以执行像素处理。然而,由于PLD使用逻辑语言而被编程并且相比于专用电路 具有较差的逻辑密度,因此它们不是很适于实施复杂的像素处理算法(例如,分辨率增强 或其他高级像素处理算法)或高级功能(例如,联网、压缩、用户接口、文件系统管理或红外 摄像机的其他功能)。尽管一些常规的红外摄像机电子器件包括通用处理器(例如,数字信 号处理器(DSP))来执行这样的高级功能,但是DSP或其他类型的通用处理器一般不能高效 地为现代红外摄像机中期望的像素处理类型提供处理速度。即,一般的通用处理器或是不 能满足处理速度需求或者仅在伴随不合意的大功率消耗和发热的情况下(例如,运行在高 频率)满足处理速度需求。一些常规红外摄像机电子器件包括硬连线的电子器件(例如,定 制的固定电路或芯片)用于像素处理。然而,硬连线的电子器件实施成本较高,并且更重要 地,其不提供可编程能力和可配置能力以按照需要更新或配置像素处理操作。
[0006] 由于对用于提供视频分析、视频压缩、图像增强和其他图像/视频处理的红外成像 电子器件的增长的需求以及处置诸如用户接口、网络、图像存储和外围接口功能的其他系 统功能的需要,加剧了这些困难。尽管一些常规红外摄像机电子器件旨在通过组合通用处 理器、PLD、外围控制器和其他部件来满足对于处理速度的增长的要求,但是这样的组合时 常导致成本、尺寸、重量和功率需求的增加。
[0007] 因此,常规红外成像系统电子器件通常是高成本、低效的并且不能提供现代红外 成像系统所期望的类型的图像/视频处理,同时需要非常大的电路板面积和功率。因此,存 在对于用于红外成系统的改进的电子器件架构的需求。 【实用新型内容】
[0008] 为了提供一种低成本、高效并且能够提供现代红外成像系统所期望的类型的图 像/视频处理的电子器件架构,本文公开了用于各种实施方式的红外成像系统。在一种实施 方式中,提供了一种红外成像系统,其包括用于捕获红外图像数据的红外成像传感器和用 于高效地处理捕获的红外图像数据的主电子器件块。主电子器件块可以包括每个都配置成 并行地对红外图像数据的多个像素进行操作以高效地利用像素级并行性的多个向量处理 器。每个向量处理器可以通信地耦接到本地存储器,所述本地存储器为向量处理器要进行 操作的红外图像数据中的一部分提供高带宽、低延迟的存取。主电子器件块还可以包括配 置成管理至/来自本地存储器的数据流和其他系统功能的通用处理器。主电子器件块可以 实施为芯片上系统(SoC),还包括外围接口块。
[0009] 在另一种实施方式中,一种红外成像系统可以包括配置成提供包括复数个像素的 红外图像数据的红外成像传感器,和配置成接收红外图像数据的的主电子器件块,所述主 电子器件块包括至少一个向量处理器,所述至少一个向量处理器配置成根据与所述至少一 个向量处理器关联的向量指令并行地对多个像素进行操作,其中所述多个像素选自红外图 像数据的复数个像素。
[0010]主电子器件块还包括:与所述至少一个向量处理器通信耦接并配置成存储红外图 像数据的至少一部分的至少一个本地存储器,以及配置成管理到至少一个本地存储器的数 据流的通用处理器。并且所述至少一个向量处理器配置成从至少一个本地存储器存取多个 像素。
[0011] 主电子器件块被实施为芯片上系统并且还包括配置成辅助通用处理器和一个或 多个外围设备之间的通信的外围接口块。
[0012] 该红外成像系统还包括与主电子器件块通信耦接并配置成存储红外图像数据的 全局存储器,其中:主电子器件块还包括响应于来自通用处理器的直接存储器存取(DMA)传 输请求的DMA引擎;并且通用处理器被配置成通过请求DMA引擎执行红外图像数据中的至少 一部分从全局存储器到至少一个本地存储器的DMA传输来管理到至少一个本地存储器的数 据流。
[00?3] 所述至少一个向量处理器包括多个向量处理器;所述多个向量处理器中的第一向 量处理器配置成根据与第一向量处理器关联的第一向量指令并行地对第一多个像素进行 操作;所述多个向量处理器中的第二向量处理器配置成根据与第二向量处理器关联的第二 向量指令并行地对第二多个像素进行操作;并且第一多个像素和第二多个像素选自红外图 像数据的复数个像素。
[0014] 第一向量处理器和第二向量处理器均被分派有用于处理红外图像数据的管线级。
[0015] 与第一向量处理器关联的第一向量指令不同于与第二向量处理器关联的第二向 量指令。
[0016] 主电子器件块还包括多个本地存储器;所述多个本地存储器中的第一本地存储器 与第一向量处理器通信耦接;所述多个本地存储器中的第二本地存储器与第二向量处理器 通信耦接;第一向量处理器配置成从第一本地存储器存取第一多个像素;并且第二向量处 理器配置成从第二本地存储器存取第二多个像素。
[0017] 所述至少一个向量处理器包括多个向量处理器;并且与所述多个向量处理器关联 的向量指令包括用于并行地对多个像素执行偏移校正、增益校正、坏像素取代、自动增益控 制、光学畸变校正、图像/视频分辨率增强、图像/视频压缩和/或视频分析的像素级操作的 指令。
[0018] 该红外成像系统还包括配置成提供可见光图像数据的可见光成像传感器,其中, 与所述多个向量处理器关联的向量指令还包括用于并行地对多个像素执行红外图像数据 与可见光图像数据的混合的指令。
[0019] 本实用新型的红外成像系统提供了一种高效、可缩放、灵活并且成本有效的红外 摄像机电子器件架构。
[0020] 在另一种实施方式中,一种提供红外图像的方法可以包括将接收的红外能量转换 为包括复数个像素的红外图像数据、将选自红外图像数据的复数个像素的多个像素提供给 至少一个向量处理器以及根据与所述至少一个向量处理器关联的向量指令在所述至少一 个向量处理器并行地对所述多个像素进行操作。
[0021] 本实用新型的范围由权利要求限定,权利要求通过引用而结合到本部分中。通过 考虑对一种或多种实施方式的以下具体描述,将给本领域内技术人员提供对本实用新型的 实施方式的更外完整的理解以及其附加优点的实现。将对附图进行参考,首先将简要描述 附图。
【附图说明】
[0022] 图1示意了根据本公开的实施方式的用于捕获并处理图像的系统的框图。
[0023] 图2示意了根据本公开的实施方式的图1的系统的一部分的框图。
[0024] 图3示意了根据本公开的实施方式的由图1和图2的系统的向量处理器进行的示例 像素处理的框图。
[0025] 图4示意了根据本公开的实施方式的用于图1和图2的系统的示例软件架构的软件 层示图。
[0026] 图5示意了根据本公开的实施方式的用于提供红外图像的过程的流程图。
[0027]通过参阅下文的详细说明将最佳地理解本实用新型的实施方式及其优势。应该意 识到,类似的附图标记用于识别一个或多个附图中的类似元件。
【具体实施方式】
[0028]用于诸如红外摄像机的数字成像设备的视频(或图像)处理链(例如,用于处理由 成像传感器捕获的原始视频/图像数据以产生可用的输出视频/图像的一个或多个操作)在 本质上可能具有数据级并行性的高潜能,数据级并行性在常规数字成像设备中未得以利 用。例如,一般的红外摄像机视频处理链的许多操作涉及对于在视频图像帧中每个像素的 相同的独立像素级操作的重复。除了基本的视频处理链之外,其他更为复杂的视频处理和 视频分析算法也可以部分地涉及对于在视频图像帧中的每个像素独立地重复的像素级操 作。对于多个数据元素(例如,多个像素)的这样的重复操作潜在地能够并行地执行。
[0029]本文公开的技术用于提供能够有益地利用这种数据级(例如像素级)并行性的高 效、可缩放、灵活并且成本有效的红外摄像机电子器件架构。根据本公开的各种实施方式, 一种红外摄像机可以包括执行并行地对多个数据元素(例如,包含多个数据元素的向量) 进行操作的"单指令多数据"(SMD)的至少一个向量处理器。更具体地,向量处理器可以适 于如本文进一步描述的那样并行地对数字图像(例如,视频帧)的多个像素进行相同的操 作,以利用在至少一些视频处理和分析操作中可能是固有的像素级并行性。在一些实施方 式中,向量处理器可以包括适于临时地存储待由向量处理器进行操作或产生的多个数据元 素(例如,多个像素)。
[0030] 在一些实施方式中,诸如红外摄像机的数字成像设备可以包括多个这样的向量处 理器,每个向量处理器独立地对多个像素执行SMD指令。多向量处理器架构可以使能可缩 放和灵活的图像处理电子器件,其能够处置苛刻的视频/图像处理和分析。例如,可以借助 更高级的视频处理(例如,包括畸变校正、图像混合、分辨率增强、编码和/或其他处理)来扩 增基本的视频处理链(例如,包括基本的像素校正操作),以限定扩展的视频处理管线,所述 视频处理管线的管线级可以根据期望的增强/校正和可用的处理功率而分布在多个向量处 理器上和在多个向量处理器上协调。在另一个例子中,可以在一些向量处理器中执行用于 不是视频输出链(或管线)的一部分的视频分析或其他处理的像素级操作,而在其他向量处 理器中同时地执行视频处理链(或管线)。在这个意义上,多向量处理器配置还可以利用另 一级的并行性(例如,线程级并行性)。
[0031] 本文公开的多向量处理器配置还可以提供随着图像/视频分辨率的增加(例如,随 着成像传感器技术推进以提供更高的像素数)和/或帧率的增加而能够很好地缩放的成像 设备电子器件。通过指派多个向量处理器中的更多个来处置关键路径中的操作,可以适应 由于更高的分辨率和/或帧率而导致的对于像素处理功率的增加的要求,而不需要利用更 强力的处理器来重新设计成像设备电子器件。例如,通过将处置视频处理链的向量处理器 的数量从两个向量处理器增加到八个向量处理器,能够适应热成像传感器分辨率从 640x512像素到1280x1024像素的增加(即像素数增加四倍)。
[0032]根据各种实施方式,可以提供了通信地耦接到向量处理器并由向量处理器存取的 一个或多个本地存储器。在一些实施方式中,一个或多个本地存储器中的每一个均可以与 一个向量处理器关联。在一些实施方式中,一个或多个本地存储器中的每一个均可以由一 个以上的向量处理器共享。每个本地存储器可以适于存储将由关联的一个或多个向量处理 器消耗的数据。在这方面,每个本地存储器可以适于存储从全局处理器、其他本地存储器 和/或其他存储装置预先传输(例如,转发)的像素组(例如,在视频/图像的一个或多个行中 的像素),以使得选择的像素组可以在本地存储器中准备好用于由关联的一个或多个向量 处理器存取和处理。要存储在本地存储器中的其他数据可以包括校准项中的相应部分、坏 像素分布图、用于畸变校正的像素增量和权重、颜色查找表(LUT)、强度变换表(ITT)和/或 待用在处理选择的像素群组中的其他数据。在一些情形中,每个本地存储器可以适于存储 由关联的一个或多个向量处理器产生并传输到全局存储器、其他本地存储器和/或其他存 储装置的数据。通过给向量处理器提供局部数据存取和存储,本地存储器可以通过本文针 对各种实施方式进一步描述的向量处理器实现对像素数据的更快和更高效的处理。
[0033]在各种实施方式中,还可以提供了一种用以支持数字成像设备的向量处理配置和 其他管理功能的通用处理器。大体上,所述通用处理器可以利用诸如精简指令集计算 (RISC)标量处理器的标量处理器或微控制器来实施,但是也可以设想诸如专用集成电路 (ASIC)实现方式或可编程逻辑器件(PLD)实现方式的其他合适电路实现方式。在各种实施 方式中,所述通用处理器可以适于处置整体系统配置管理、向量处理配置管理、数据和存储 器管理、视频分析的较高级处理部分(例如,不可向量化的操作)、操作系统功能(例如,包括 实时操作系统(RTOS)调度、网络堆栈、外围驱动器、文件系统处置和/或其他0S功能)。例如, 在一些实施方式中,可以通过通用处理器建立直接存储器存取(DMA)传输来处置转发到向 量处理器的本地存储器的数据。在这方面,数字成像设备的一些实施方式还可以包括可由 所述通用处理器控制的一个或多个DMA引擎。
[0034] 在各种实施方式中,数字成像设备(例如,红外摄像机)还可以包括控制数字成像 设备的各种部件界接并与数字成像设备的各种部件界接的其他电路。在一个例子中,这样 的其他电路可以包括用于成像传感器(例如,热成像传感器和/或可见光成像传感器)的传 感器接口、动态随机存取存储器(DRAM)控制器和各种外围控制器(例如,用以提供用于USB 连接器、以太网模块、显示器、GPS模块、蓝牙模块、闪存、串行外围接口总(SPI)线和/或IC间 (I2C)总线的接口逻辑)。在一些实施方式中,本文描述的向量处理器、本地存储器、通用处 理器、DMA引擎、成像传感器接口、DRAM控制器及各种外围控制器可以被集成到单个芯片上 系统(S0C)中。本文公开的成像设备电子器件架构的芯片上系统实现方式可以通过减少实 现数字成像设备所需的离散部件的数量来增加可靠性、减少成本以及允许较小的封装。
[0035] 图1示意了根据本公开的一个或多个实施方式的用于捕获并处理图像的系统100 (例如,红外摄像机)的框图。举例来说,系统100可以表示数字成像设备(例如摄像机)以捕 获并处理图像,例如视频图像。系统100可以表示适于检测红外辐射、将检测的红外辐射转 换为红外图像数据并处理红外图像数据以基于红外图像数据提供诸如红外视频图像或其 他数据的输出的任何类型的红外摄像机。系统100可以包括单机便携式设备(例如,手持式 红外摄像机、可车载红外摄像机或用于其他移动应用的红外摄像机)或可以向主机设备(例 如,移动电话、平板设备、膝上型计算机或其他设备)提供成像能力(例如,红外成像能力)的 成像模块。系统100还可以是可能需要捕获的图像被处理、被存储和/或被远程地显示并且 可以包括适于通过网络(例如,无线和/或有线网络,包括因特网)通信的分布式部件的非移 动设施。
[0036] 在各种实施方式中,系统100可以包括主电子器件块102、红外成像传感器104、红 外光学器件块106、可见光成像传感器108、全局存储器110、非易失性存储器112和/或时钟 电路114。总体上,实施红外摄像机的系统100可以包括红外成像传感器104。对于实施红外 摄像机的系统100的一些实施方式,可见光成像传感器108可以是可选的或者可以被包括并 且能够被利用来补充红外成像传感器104,例如用来提供红外和可见光图像数据二者的融 合的视频图像。
[0037]主电子器件块102可以包括给系统100提供图像处理和系统控制(例如,摄像机控 制)功能的各种电路和部件。例如,主电子器件块102可以包括一个或多个向量处理器以实 施本文进一步描述的向量处理电子器件架构。对于一些实施方式,主电子器件块102的各种 电路和部件可以集成到单个芯片上系统实施中。主电子器件块102可以包括适于与红外成 像传感器界接以控制和接收由红外成像传感器104捕获的红外图像数据的电路。对于包括 可见光成像传感器108的实施方式,主电子器件块102可以包括适于与可见光成像传感器 108界接的电路。
[0038] 在各种实施方式中,红外成像传感器104可以包括用于捕获红外成像数据(例如, 静止图像数据和/或视频数据)的任何合适类型的多像素红外传感器,红外成像数据表示由 红外成像传感器104经由红外光学器件块106观看到的场景。例如,红外成像传感器104可以 包括具有关联的读出集成电路(R0IC)的测辐射热计或其他合适的红外检测器的焦平面阵 列(FPA),所述R0IC包括控制电路、时序电路、行和列寻址电路、放大器、模拟到数字转换器 和适于输出表示由测辐射热计或其他合适的红外检测器检测的红外辐射的红外图像数据 的其他电路。例如,由FPA和R0IC捕获和输出的红外图像数据可以提供给如本文所述的主电 子器件块102。
[0039] 对于一些实施方式,可以提供偏置发生和分布电路130以根据常规技术控制(例 如,通过提供控制位)诸如可变电阻器的可变部件、数字到模拟转换器和/或FPA或R0IC的偏 置电路。偏置发生和分布电路130可以接收由主电子器件块102的合适部件根据常规方法确 定的各种偏置校正数据字。可以被利用以实施红外成像传感器104的FPA和R0IC的进一步的 例子可以在下列专利中找到:题为"Methods and Circuitry for Correcting Temperature-Induced Errors in Microbolometer Focal Plane Array" 的美国专利 Νο·6,028,309、题为"Microbolometer Focal Plane Array Methods and Circuitry"的美 国专利No.6,812,465、题为"Microbolometer Focal Plane Array Systems and Methods" 的美国专利No.7,034,301、题为"Systems and Methods for Selecting Microbolometers Within Microbolometer Focal Plane Arrays"的美国专利No.7,679,048以及题为 "Microbolometer Heating Compensation Systems and Methods" 的美国专利No ·8,080, 794,将上述所有专利通过引用而整体并入本文。
[0040] 红外光学器件块106可以表示一个或多个光学元件,例如红外透射透镜、红外透射 棱镜、红外反射镜面、红外纤维光学器件和/或用于合适地采集来自场景的红外辐射并将其 按路径发送到红外成像传感器104的FPA的其他元件。在一种实施方式中,可以对红外光学 器件块106的一个或多个光学元件进行绝热化,即,能够在变化的温度上保持其光学特性。 对于一些实施方式,传递通过红外光学器件块106并由红外成像传感器104检测的红外辐射 可以包括热红外波段(3.5和20μπι之间的波长)中的辐射。换言之,如在特定实施中所期望 的,红外光学器件块106可以适于传输并且红外成像传感器104可以响应于中波红外(丽IR) 辐射、长波红外(LWIR)辐射和/或其他热成像波段或其他红外成像波段。
[0041] 可见光成像传感器108可以利用用于捕获可见光图像并输出可见光图像数据的任 何合适类型的常规成像传感器来实施。例如,可以利用电荷耦合器件(CCD)传感器、互补金 属氧化物半导体(CMOS)传感器或者这样的传感器(包括其关联的输出电路)的其他变型来 实施可见光成像传感器108。因此,可见光成像传感器108主要响应于可见光,但是也可以响 应于一部分其他波段(例如,在0.7-1. Ομπι波长的近红外谱中的光)。对于包括可见光成像传 感器108的实施方式,由可见光成像传感器108捕获并输出的可见光图像数据可以提供给本 文描述的主电子器件块102。
[0042] 全局存储器110可以利用诸如DRAM的合适的存储器来实施,并且其适于存储由主 电子器件块102在处理图像数据或控制系统100时利用的数据。例如,全局存储器110可以存 储主电子器件块102从红外成像传感器104接收的红外图像数据以及在主电子器件块102进 行的处理的各个阶段的被处理的图像数据。全局存储器110的实施可以包括第三代双倍数 据率同步DRAM(DDR3 SDRAM)、第五代图形DDR SDRAM(GDDR5 SDRAM)或对于特定应用可用 和/或期望的其他合适类型的DRAM。
[0043] 非易失性存储器112可以适于存储各种类型的预先确定的数据,以由主电子器件 块102在处理图像数据或控制系统100时利用。这样的预先确定的数据可以包括但不限于: 校准项(例如,包括增益项、偏移项和通过在执行红外成像传感器104的非均匀校正(NUC)中 使用的校准过程而获得的其他项)、坏像素分布图、用于畸变校正的像素增量和权重、颜色 查找表(LUT)、极性和伽马校正、摄像机配置数据和/或合适的其他数据。非易失性存储器 112还可以用作非暂态计算机可读介质,其存储使系统100执行本文描述的各种过程的机器 指令。在一些情形中,存储在非易失性存储器112中的数据中的至少一些在被利用之前可以 被转移(例如,复制)到全局存储器110或其他存储器。尽管在图1中非易失性存储器112示出 为闪存式R0M,但是取决于特定的实施应用,非易失性存储器112可以表示一个或多个合适 的非易失性存储器,例如闪存式ROM、一次性可编程(0ΤΡ)存储器、EPROM、EEPR0M和/或硬盘 驱动器。
[0044] 时钟电路114可以适于为系统100的各种部件(例如,主电子器件块102)提供一个 或多个时序或时钟信号。在一种实施方式中,时钟电路114可以利用振荡器(0SC)和关联的 控制电路来实施。
[0045]取决于具体的实施方式,系统100还可以包括各种外围部件,例如显示屏116、GPS 模块118、个人局域网络(PAN)模块120(例如,蓝牙?模块)、无线通信模块122(例如,Wi-Fi?模块)、有线通信模块124(例如,以太网模块)、USB连接器模块126、用户输入部件128和/ 或其他外围部件。显示屏116可以包括图像显示设备(例如,液晶显示器(LCD))或各种其他 类型的周知的视频显示器或监视器。主电子器件块102可以包括合适的接口逻辑以传输合 适的视频信号用于在显示屏116上显示期望的图像(例如,经处理的红外视频图像)APS模 块118可以包括用于接收GPS信号的GPS接收器和适于将与系统100关联的地理位置信息提 供给主电子器件块102的关联电子器件。主电子器件块102可以包括合适的接口逻辑以从 GPS模块118接收地理位置信息。
[0046] PAN模块120可以包括一个或多个合适的无线收发器和控制电路以实施蓝牙?标 准、ZigBee?标准或其他标准或专用短距离无线通信协议。无线通信模块122可以包括一个 或多个合适的无线收发器和控制电路以实施无线LAN标准(例如,IEEE 802. llWiFi?标准)、 无线宽带标准(例如,IEEE 802.16WiMax?标准)、蜂窝数据通信标准(例如,HSPA+、LTE或基 于蜂窝网络的其他标准)和/或具有射频(RF)、微波频率(MWF)和/或红外频率(IRF)载波的 其他标准或专用无线通信协议。有线通信模块124可以包括适于通过以太网络、数字用户线 路(DSL)、公共交换电话网络(PSTN)、光纤网络、电力线网络或其他合适的有线联网媒介提 供有线通信连接的合适硬件。在各种实施方式中,有线通信模块124可以包括合适的物理连 接器以插入到这样的有线联网媒介中。在一些实施方式中,有线通信模块124还可以包括合 适的接口逻辑以实施用于有线联网的物理层协议(PHY)。在一些实施方式中,可以包括USB 连接器模块126并且USB连接器模块126可以利用适于支持与其他兼容USB的设备的通信的 合适硬件(例如,兼容USB的连接器和附带电路)实施。
[0047]在各种实施方式中,主电子器件块102可以包括适当的接口逻辑,其适于将处理的 图像数据(例如,红外视频输出)或基于捕获的图像的其他数据(例如,辐射测定的温度数 据)经由PAN模块120、无线通信模块122、有线通信模块124和/或USB连接器模块126传输到 外部部件。根据一些实施方式,主电子器件块102可以配置成经由网络模块120、无线通信模 块122和/或有线通信模块124远程地发送和/或接收控制命令。例如,可以从远程的监控站 接收命令以控制系统1 〇〇的监视摄像机实施。
[0048] 用户输入部件128可以包括一个或多个用户致动的设备,例如按钮、滑杆、可旋转 旋钮、键盘或适于响应于用户的输入产生一个或多个输入信号的合适的输入设备。在一些 实施方式中,用户输入部件128可以与显示屏116集成,例如,作为叠置在配置为显示用户致 动的机构的一个或多个产生的图像(例如,按钮、旋钮、滑动器的图像或其他图像)的显示屏 116上的触摸屏。主电子器件块102可以配置成感测经由用户输入部件128产生的输入信号 并响应感测的输入信号。
[0049] 在各种实施方式中,按照期望或者取决于应用需求,系统100的一个或多个部件可 以或者可以不与示意了诸如红外摄像机的数字成像设备的各种表示性功能块的系统1〇〇结 合和/或一起实施。例如,系统100的各种外围部件(例如GPS模块118、无线通信模块122、有 线通信模块124)可以组合并集成为主电子器件块102的一部分,该主电子器件块102表不配 置成提供图像处理和系统控制功能的各种电路和部件的群组。在另一个例子中,显示为主 电子器件块102的一部分的一个或多个部件可以实施为系统100的一个或多个离散部件。
[0050] 现在参考图2,示出了系统100的一部分的框图以示意根据本公开的实施方式的主 电子器件块102的各种部件。如在上面参考图1讨论的,主电子器件块102可以包括配置成接 收图像数据并对接收的图像数据执行各种图像处理操作的各种电路和部件。例如,在各种 实施方式中,由红外成像传感器104捕获的红外图像数据和/或由可见光成像传感器108捕 获的可见光图像数据可以由主电子器件块102接收以进行处理。
[0051] 在这方面,主电子器件块102可以包括用于与系统100的一个或多个成像传感器界 接的一个或多个传感器接口电路。更具体地,对于一些实施方式,可以提供传感器接口电路 202并且传感器接口电路202适于接收由红外图像传感器104捕获的红外图像数据以供主电 子器件块102的其他部件和电路进行处理。例如,传感器接口电路202可以适于根据合适的 时序和格式接收、转换和/或缓冲来自红外成像传感器104的输出信号(例如,取决于实现方 式,由红外成像传感器104以模拟或数字信号的形式提供),其中所述输出信号可以表示由 红外成像传感器104捕获的红外图像数据。在一些实施方式中,传感器接口电路202还可以 被利用来根据合适的格式和时序将命令(例如,控制位)传输到红外成像传感器104和/或偏 置生成和分布电路130。对于系统100的包括可见光成像传感器108的实现方式,可以提供传 感器接口电路204并且传感器接口电路204适于与可见光成像传感器108界接。
[0052]经由传感器接口电路202接收的红外图像数据可以表示由红外成像传感器104的 红外检测器(例如,FPA中的测辐射热计)观看到的一个或多个红外图像。如果以特定时间间 隔连续地接收到多个这样的图像,则红外图像数据可以对应于能够被用于构建红外视频的 红外视频帧。如技术领域内的人员将能够理解的,每个这样的图像或帧可以包括多个像素, 其中"像素"指包含描述图像或帧的具体几何位置的特征的一个值或多个值的数据元素。举 例来说,像素可以是指示红外图像或红外视频帧的位置(a,b)的热红外强度的值,其中图像 或帧可以包括例如640x512个像素位置(也称为图像尺寸或分辨率)。由于像素可以是一个 值,因此其可以以使用任何期望数量的位的数字格式来表示(例如,16位表示65536个不同 的强度级别,或14位,或8位等)。
[0053]因此,经由传感器接口电路202接收的红外图像数据可以包括多个像素,多个像素 中的每一个可以是包含使用特定数量的位来表示的值的数据元素。同样地,对于包括可见 光成像传感器108和相应的传感器接口电路204的实施方式,可以接收包括多个像素的可见 光图像数据。在一些实施方式中,传感器接口电路202和/或204可以包括诸如RAM的易失性 存储器(在此也称为缓冲存储器),以在图像/视频帧的一个或多个行的像素、一个或多个视 频帧的像素或在其他粒度中的像素如本文进一步描述地那样被主电子器件块102的各种部 件处理之前缓冲(例如,临时地存储)这些像素。在另一情形中,"像素"还可以指代红外成像 传感器104中的每个红外检测器或可见光成像传感器108中的每个可见光检测器单元。 [0054]然而,经由传感器接口电路202接收的红外图像数据可能包括畸变、噪声、对应于 不发挥功能的检测器的像素(也称为"坏像素")或可归因于红外成像传感器104、光学器件 块106或其他部件的其他像素非均匀性。如上面讨论的,在一些实施中,可以由红外成像传 感器104和/或偏置生成和分布电路130执行一些校正以生成红外图像数据。尽管如此,在从 红外成像传感器104接收的红外图像数据中仍然存在一些残余畸变和/或非均匀性。在这个 意义上,从红外成像传感器104接收的红外图像数据仍然还可以被称为"原始"红外图像数 据,而不管红外成像传感器104和/或偏置生成和分布电路130是否已经执行过一些校正。
[0055] 根据各种实施方式,主电子器件块102可以包括配置成处理经由传感器接口电路 202接收的原始红外图像数据的各种部件和电路,以便对各种畸变和/或非均匀性进行补偿 或以其他方式根据原始红外图像数据提供更合用的图像和/或视频。对于包括可见光成像 传感器108的一些实施方式,可以对原始可见光图像数据进行处理用于类似用途。在这方 面,原始红外图像数据和/或原始可见光图像数据中的像素可以经受由主电子器件块102的 一个或多个部件执行在其上的各种处理操作,以产生经处理的图像或视频,经处理的图像 或视频可以经由PAN模块120、无线通信模块122、有线通信模块124、USB连接器模块126和/ 或其他外围部件最终输出到例如显示屏116、诸如闪存式ROM的非易失性存储器112和/或其 他外部设备。出于便利,这样的像素处理操作可以在本文中共同地称为视频链、视频处理 链/管线、视频输出链/管线或像素处理链/管线。
[0056] 例如,原始红外图像数据中的每个像素可以通过添加偏移项、乘以增益项、添加平 场补偿(FFC)偏移和/或应用其他非均匀校正项而针对非均匀性被校正。在一些应用中,偏 移和/或增益项可以包括依赖温度并且通过执行温度补偿计算(例如,使用拉格朗日 (LaGrange)系数的曲线拟合操作)而获得的项。经由应用偏移和增益校正项的非均匀性校 正(NUC)进一步描述于例如先前引用过的美国专利No. 6,812,465中。一些非均匀性校正项 可以预先确定(例如,当在工厂或在维护期间执行校准时),而其他非均匀性校正项可以在 系统100的操作过程中确定和/或更新。例如,可以执行基于场景的NUC过程以确定基于场景 的NUC项,所述基于场景的NUC项可以附加于或替代预先确定的工厂校准项而应用。基于场 景的NUC过程的例子可以在颁发给Hd_gast_en的题为"Scene Based Non-Uniformity CorrectionSystems and Methods" 的美国专利No · 8,208,755以及H0gilSt_en 等人的题为 "Non-Uniformity Correction Techniques for Infrared Imaging Device" 的PCT申请 PCT/US2012/41749中找到,将上述文献通过引用全文并入本文。
[0057] 还可以执行其他像素处理操作以对非均匀性和/或畸变进行补偿或以其他方式提 供更合用的图像或视频。由主电子器件块102进行的这样的其他像素处理的例子包括但不 限于:"坏像素"取代操作、光学畸变校正(例如,包括缩放、去扭曲和/或旋转以对由光学器 件块106和/或其他源导致的畸变效应进行补偿)和自动增益控制(AGC)。
[0058] 一般地,视频链的这些和其他像素处理操作中的许多涉及对于多个像素的相同的 独立像素级操作的重复。例如,NUC增益项的应用涉及对于每个像素利用对应的增益项重复 执行乘法操作。类似地,举例来说,NUC偏移项的应用涉及对于每个像素(例如,原始图像数 据中的像素或为了增益而被校正之后的像素)利用对应的偏移项重复加法操作。这种像素 级操作的重复在理论上可以并行地执行,并且因此具有数据级(例如,像素级)并行性的高 潜能。然而,常规摄像机电子器件和方法一般不会亦不能利用在视频链的这些和其他像素 处理操作中可用的像素级并行性。
[0059] 如在上面讨论的,可以在主电子器件块102中提供并配置各种部件以实施高效、可 缩放、灵活并且成本有效的红外摄像机电子器件架构,所述架构能够有益地利用在各种像 素处理操作中可用的像素级并行性。在一个方面,主电子器件块102包括适于执行向量指令 以并行地对多个数据元素进行操作的至少一个向量处理器206(1)。总体上,用于向量处理 器206(1)的向量指令指定对于多个数据元素待被独立地重复的相同操作。换言之,用于向 量处理器206(1)的向量指令指定对于整个向量(例如,多个数据元素的集合)而不是对于单 个数据元素执行的操作。因此,通过向量指令的执行而进行的操作通常被称为"向量操作", 而对于单个数据元素的操作被称为"标量操作"。同时,相比之下,主要适于用于标量操作的 处理器被称为标量处理器。
[0060] 总体上,向量处理器206(1)包括多个向量寄存器(也共同地被称为向量寄存器文 件),每个向量寄存器适于保持要被进行操作的向量或作为向量操作的结果而产生的向量, 如稍后参考图3进一步描述。向量处理器206(1)还包括一个或多个向量功能单元,其可以包 括向量算数逻辑单元(ALU)、向量浮点计算单元(FPU)和/或适于对从提供操作数的向量寄 存器(也称为"源"向量寄存器)接收的一个或多个向量进行操作和/或将结果存储在向量寄 存器中的一个(也称为"目的地"向量寄存器)中的其他合适的向量功能单元。
[0061 ]向量功能单元可以适于执行向量操作。即,例如,向量功能单元可以对保持在源向 量寄存器中的所有数据元素执行独立地被重复的相同操作。在一些实施方式中,向量功能 单元可以适于对向量寄存器中的所有数据元素并行地同时执行相同操作。换言之,这些实 施方式中的向量功能单元可以提供多个"线道(lane)",如将由本领域人员所理解的,每个 线道对应于向量寄存器中的每个数据元素。在其他实施方式中,由向量功能单元提供的线 道的数量可以少于向量寄存器中数据元素的数量。在这样的实施方式中,向量功能单元仍 然可以对向量寄存器中的所有数据元素执行由向量指令指定的被重复的相同操作,但是可 以不对所有数据元素并行地同时进行操作。在另外的其他实施方式中,线道的数量和/或向 量中数据元素的数量可以可变地由向量处理器206 (1)提供。
[0062]在各种实施方式中,可以利用向量处理器206(1)执行视频链中的一个或多个像素 处理操作(例如,包括偏移和增益校正操作、坏像素取代操作、AGC操作、畸变校正操作和其 他操作)。例如,每个像素处理操作可以被编码、转化或以其他方式转变成指定对多个像素 (例如,在原始图像数据或部分处理的图像数据中)的向量操作的一个或多个向量指令,以 使得向量处理器206(1)可以一次对多个像素进行操作以执行像素处理。这样,具有向量处 理器206(1)的系统100的各种实施方式可以高效地利用在像素处理操作中可用的像素级并 行性。
[0063] 根据一些实施方式,主电子器件块102可以包括多个这样的向量处理器206 (1 )-206 (η ),每个向量处理器适于一次对多个像素独立地执行向量指令。在一个特定实施例中, 主电子器件块102可以包括至少12个这样的向量处理器206(1 )-206(12)。这样的多向量处 理器架构实施方式可以实现能够处置苛刻的视频/图像处理和分析的可缩放并且灵活的图 像处理电子器件。作为例子,图2示出了在两个向量处理器206(1)和206(2)上分布并管线化 的视频链(例如,包括偏移和增益校正操作、坏像素取代操作、AGC操作、畸变校正操作和其 他操作),从而独立地利用两个向量处理器提供较高的吞吐量。
[0064]因此,例如,多向量处理器架构实施方式可以实现随着图像/视频分辨率增加和/ 或帧率增加能够很好地缩放的成像设备电子器件。如可以理解地,成像传感器技术的进步 或系统100的其他改变可能允许捕获更高像素数和/或每秒更多的帧数,这转而可能导致图 像处理能力需求的相应增加。例如,热成像传感器分辨率从640x 512像素到1280x 1024像 素的增加可以导致待由视频链处理的像素数量增加四倍。
[0065]在主电子器件块102的多向量处理器架构实施方式中,待处理的像素数量的这种 增加可以通过按照需要指派更多的向量处理器以提供期望的吞吐量而得以适应。更具体 地,在一些实施例中,视频链可以被水平地分散在多个有效的向量处理器上以便对像素的 更宽向量进行操作。即,多个向量处理器中的每一个均可以被指派图像数据的一部分以对 其执行图像处理操作(例如,每个向量处理器被分配其自己身的像素集合以进行操作)。例 如,假设一次能够对八个像素的向量操作的一个向量处理器给基准情形提供了足够的吞吐 量,则像素数四倍增加可以被共同并且有效地一次对三十二个像素的向量进行操作的四个 这样的向量处理器所适应。在其他实施例中,可以垂直分散视频链。换言之,视频链中的操 作可以合适地被分割并分布在多个管线级上,其中多个向量处理器中的每一个均可以被指 派管线级。例如,如在图2中示出并在上面讨论的,视频链可以在两个向量处理器206(1)和 206(2)上管线化,与一个向量处理器206(1)或206(2)实施视频链相比,这可以潜在地提供 两倍的吞吐量。取决于期望的应用(例如,期望被用于视频链的像素处理操作)和/或可获得 的资源(例如,可获得的存储器带宽),水平和垂直分散的组合也是可以的并且可以被利用。 例如,八个向量处理器可以被配置在两个管线级中,其中四个向量处理器被指派成执行在 第一管线级中的操作而另外的四个向量处理器被指派给第二管线级。
[0066]在多向量处理器架构实施方式中提供的可缩放性和灵活性可以允许用于系统100 的视频链能够被扩展成包括非均匀性和/或畸变偏移操作或上面讨论的其他基本视频链操 作之外的附加像素处理操作。可以执行这样的附加像素处理操作以根据期望的增强/校正 和可获得的向量处理能力产生增强的或在其他方面更合用的图像/视频。例如,扩展的视频 链可以附加地执行图像混合(例如,将红外图像数据和可见光图像数据混合以增强对比度、 分辨率和/或色彩)、分辨率增强(在本文中也称为"超分辨率")、视频/图像转码(例如,压 缩、编码和/或其他代码化操作)和/或其他高级视频/图像处理。在下列专利申请中描述了 图像混合的例子:2011年4月23日提交、题为"Infrared Resolution and Contrast Enhancement with Fusion"的美国专利申请No · 12/766,739以及2011年5月11日提交、题为 "High Contrast Fusion"的美国专利申请No. 13/105,765,将上述申请的全部内容通过参 考并入本文。
[0067]在图2中示出的例子中,附加的图像混合、分辨率增强和视频压缩管线级被分别指 派给向量处理器206(3)、206(5)和206(1〇并且由向量处理器206(3)、206(5)和206(11)执行, 以使得扩展的视频处理链可以在向量处理器206(1)、206(2)、206(3)、206(5)和206(n)上分 布和协调。这样,根据一些实施方式的多个向量处理器206(l)-206(n)可以允许灵活地将视 频处理链扩展成包含系统100的特定应用所期望和/或取决于可获得的向量处理能力或其 他因素(例如,电池寿命)的可选的图像增强和/或校正操作。
[0068] 在主电子器件块102的多向量处理器架构实施方式中的向量处理器206(1 )-206 (η)还可以用于执行一般不是视频链的一部分的其他操作以根据原始图像数据产生图像/ 视频。例如,系统100作为红外摄像机或其他类型的监视摄像机的实现方式可以被配置成执 行各种类型的视频分析,例如目标检测、目标计数、虚拟泮索检测(例如,检测目标是否进入 感兴趣的区域)、姿态检测(例如,检测人员是否倒下或可能需要辅助)、热图像分析(例如, 热/冷点检测、温度分布分析或基于其中的热信息对图像进行的其他分析)和其他。这些和 其他类型的视频分析可能部分地涉及各种像素级操作,例如图像滤波操作、统计建模(例 如,像素计数和/或像素分组)操作或其他操作。
[0069] 在一些实施方式中,向量处理器206(1 )-206(η)中的一个或多个可以配置成:与执 行用于视频链的各种像素处理操作或其他期望的处理的其他向量处理器并行地执行与各 种视频/图像分析关联的这些像素级操作的向量处理。图2以一个例子示出了配置成执行用 于视频分析的像素级功能的向量处理器206(4)。向量处理器206(1 )-206(η)中的一个或多 个可以配置成执行的操作的另外的例子包括对于图形用户界面("GUI")的操作,例如生成 图例、比例尺、标线、菜单、图标或促进与系统100的用户的交互的其他图形特征。在图2的例 子中,向量处理器206(5)可以配置成与执行用于视频链或其他期望的处理的其他向量处理 器并行地执行用于GUI功能的操作。向量处理器206(l)-206(n)中的一个或多个可以配置成 执行的操作的其他例子可以包括用以获得依赖温度的偏移和/或增益校正项的拉格朗日 曲线拟合操作和用以获得SBNUC项的操作。
[0070]因此,在各种实施方式中,主电子器件块102可以包括一个或多个向量处理器206 (l)-206(n),其可以被配置成提供用以处置像素处理和成像设备和系统(例如红外摄像机) 中要求的其他功能的处理能力和灵活性。例如,在一个级别,一个或多个向量处理器206 (l)-206(n)均可以对多个像素或其他类型的数据元素执行向量操作,以利用数据级(例如, 像素级)并行性,用于在视频链、视频分析和/或其他期望功能中的各种操作的高吞吐量处 理。在另一级别,在多向量处理器实施方式中,例如用于视频链、视频分析、GUI和/或为成像 系统所期望的其他功能的各种类型的操作可以在多个向量处理器206(l)-206(n)之间分布 并且并行执行,以利用另一级别的并行性(例如,线程级并行性)。在又一级别,多个向量处 理器206(l)-206(n)可以被配置进行视频链管线的水平和/或垂直扩展,以适应像素数或帧 率的增加和/或对于增强的、更高级的像素处理的要求。
[0071]相比之下,在用于成像系统(例如,红外摄像机)的常规电子器件架构中,像素处理 一般由标量处理器(例如,包括各种类型的数字信号处理器(DSP))、诸如现场可编程门阵列 (FPGA)的可编程逻辑器件(PLD)或硬连线电子器件执行。常规成像设备电子器件中的标量 处理器一般执行一次作用于一个像素或者甚至在具有SMD扩展时至多作用于若干像素的 指令,并且因此不能如多个向量处理器206(l)-206(n)-般实现高吞吐量像素处理。被配置 用于常规成像电子器件中的像素处理的PLD(例如FPGA)固有地被限制为以较低的时钟频率 运行,并且因此也不能实现高吞吐量像素处理。例如,被配置用于红外摄像机电子器件中的 像素处理的FPGA可以能够以150MHz(尽管75MHz为典型)运行,而向量处理器206(l)-206(n) 可以能够以800MHz到1.2GHz运行或者在非限制的实施例中运行在更高频率。硬连线的电子 器件实现方式通过定制的固定电路执行像素处理并且因此可能能够进行高吞吐量像素处 理。然而,硬连线的电子器件实施成本较高,并且更重要地,不提供向量处理器206(1)-206 U)的可编程性或可配置性,这种可编程性或可配置性提供了适应成像设备或系统的各种 期望应用的灵活性。
[0072]现在转到主电子器件块102的另一方面,根据本公开的实施方式,主电子器件块 102可以包括通信耦接到一个或多个向量处理器206(l)-206(n)并且可以由一个或多个向 量处理器206(l)-206(n)存取的一个或多个本地存储器208(l)-208(n)。在一些实施方式 中,本地存储器208(1)-208(η)中的每一个均可以与向量处理器206(1)-206(η)中的一个关 联。这样的配置在本文中可以称为指派的本地存储器配置。在指派的本地存储器配置中,向 量处理器206( 1 )-206(η)中的每一个可以直接存取其指派的一个或多个本地存储器。例如, 如在图2中示出的,本地存储器208(1)-208(η)均可以经由本地总线210(1)-210(η)中的对 应一个通信耦接到向量处理器206(1)-206(η)中的对应一个。在指派的本地存储器配置的 另一例子中,可以将两个或更多个本地存储器(例如,以并行的、层级的或其他布置)指派给 向量处理器206 (1 )-206 (η)中的一个或者可以由向量处理器206( 1 )_206(η)中的一个存取 两个或更多个本地存储器。在其他实施方式中,本地存储器可以由向量处理器206(1)-206 (η)中的两个或更多个共享。这样的配置可以在本文称为共享的本地存储器配置。共享的本 地存储器配置可以为Ν对1(即,Ν个多个向量处理器可以共享一个本地存储器)或Ν对M(SP,N 个多个向量处理器可以共享存取Μ个本地存储器中的任一个)。还可以预想到,共享的本地 存储器可以在逻辑上被分区,其中每一个逻辑分区指派给向量处理器206(1)-206(η)中的 一个或多个。取决于主电子器件块102的期望应用,指派的、共享的和/或分区的本地存储器 配置也是可能的。
[0073]作为图2示出的一个例子,本地存储器208(1)-208(η)可以利用静态随机存取存储 器(SRAM)实施以提供比一般的DRAM更快的存储器存取时间。对于其他实施方式,也可以预 想使用诸如DRAM的其他类型的存储器的本地存储器208(1 )-208(n)的实现方式。本地存储 器(例如,本地存储器208(1 )-208(n))可以是多端口的以允许对存储在本地存储器上的数 据的同时或基本上同时的存取,或者可以是单端口的。总体上,具有共享的本地存储器配置 的实施方式可以利用多端口存储器以提供较高的存储器带宽供多个向量处理器存取,但是 利用多端口存储器不是限制这样的实施方式的要求。在一些实施方式中,本地存储器(例 如,本地存储器208(l)-208(n))可以提供可寻址存储器空间(例如,可以通过存储器地址可 寻址),而在其他实施方式中本地存储器中的所有或一些可以实施用于向量处理器206 (l)-206(n)高速缓存存储器(例如,具有适当的高速缓存逻辑)。由于其接近度、紧密耦接以 及在一些情形中使用的RAM的类型(例如,SRAM),本地存储器(例如,本地存储器208(1)-208 (η))可以给向量处理器206(l)-206(n)中关联的一个或多个提供高带宽、低延迟的存储器 存取。
[0074] 本地总线210(l)-210(n)可以利用将本地存储器208(l)-208(n)通信耦接到向量 处理器206(1 )-206(n)中的适当的一个或多个的任何适当的互连来实施。例如,本地总线 210(l)-210(n)可以是串行总线、并行总线、交叉形状开关或配置成将控制(例如,寻址)信 号传递到本地存储器208 (1) -208 (η)并将数据传递到本地存储器208 (1) -208 (η)和传递来 自本地存储器208(1)-208(η)的数据的其他适当的互连。在一些实施方式中,本地总线可以 彼此组合和/或利用开关电路来增强以提供期望的存储器带宽和/或延迟。例如,对于一些 实施方式,除简单总线之外或取代简单总线,可以提供开关互连(例如,交叉开关)以促进1 对Μ、Ν对1或Ν对Μ的向量处理器-本地存储器配置。
[0075] 在一个或多个实施方式中,一个或多个本地存储器(例如,本地存储器208(1)-208 (η))可以适于存储待由向量处理器206(l)-206(n)中的关联的一个或多个采用的数据。如 在本文中参考图3进一步描述的,主电子器件块102的各种部件可以配置成将待由向量处理 器206(l)-206(n)采用的数据传输(例如,转发或预取)到其关联的本地存储器,以使得向量 处理器206(l)-206(n)可以从与之关联的本地存储器存取它们需要的数据。在一个或多个 实施方式中,在由向量处理器206(l)-206(n)中的关联的一个或多个采用这样的数据之前 或者当需要由向量处理器206(l)-206(n)中的关联的一个或多个采用消耗这样的数据时, 待消耗的数据可以从其他本地存储器、全局存储器110、非易失性存储器112、传感器接口 202和204的缓冲存储器和/或其他存储装置传输到本地存储器中适当的一个或多个。在这 方面,例如,被选择的像素群组可以被预先传输到本地存储器中适当的一个或多个并且在 其中准备好以供向量处理器206( 1)-206 (η)中的关联的一个或多个存取和处理。例如,被选 择的像素群组可以是例如视频/图像的一行个或多行个线中的像素、一个或多个存储器行 线或块中的像素或其他合适分组中的像素。待传输到并存储在器本地存储器中的其他数据 例如包括例如校准项、坏像素分布图、用于畸变校正的像素增量和用于畸变校正的权重、颜 色查找表(LUT)和/或强度变换表(ITT)。按向量处理器206(1 )-206(η)中的关联的一个或多 个的需要,可以将这样的其他数据整体或部分传输到并存储在本地存储器中。
[0076] 在一些情形中,本地存储器还可以存储由向量处理器206(1)-206(η)产生的数据。 例如,由向量处理器206(1 )-206(η)产生的数据可以包括部分处理的像素(例如,在视频链 的中间管线级的像素)、完全处理的像素(例如,表示输出视频/图像中的像素)、视频分析的 像素级功能的结果(例如,经滤波的像素、统计数据或取决于像素级功能的其他数据)和取 决于向量处理器206(1)-206(η)被配置成执行的操作的其他数据。存储在本地存储器中的 这种产生的数据随后可以被传输到全局存储器110、其他本地存储器和/或其他存储装置以 进行进一步处理或产生输出。
[0077]因此,在一个或多个实施方式中,向量处理器206(1)_206(η)可以从其关联的本地 存储器存取数据以及将数据存储在其中,如上所述,所述本地存储器由于其接近度、紧密耦 接和/或存储器类型可以提供相对(例如,相对于全局存储器110或本地存储器中不关联的 那些)较高的吞吐量和较低延迟的存取。相应地,在主电子器件块102被配置成给向量处理 器206(1)-206(η)提供这样的本地数据存取和存储的实施方式中,可以实现向量处理器206 (1) -206 (η)的更快和更高效的处理。
[0078] 在另一方面,根据各种实施方式的主电子器件块102可以包括通用处理器212。通 用处理器212可以利用任何适当的处理器设备来实施,例如精简指令集计算(RISC)处理器、 复杂指令集计算(CISC)处理器、DSP、可编程微控制器或其他合适的可编程处理设备。这样 的设备的多核实现也是可以预想用于通用处理器212。在图2的例子中,对于通用处理器212 示出了Rise cpu。总体上,尽管可以提供一些smd处理能力(例如,通过snro扩展指令)和/ 或超标量处理能力(例如,通过进行无序执行和利用多功能单元以利用指令集并行性),可 以用来实施通用处理器212的RISC处理器、CISC处理器、DSP或微控制器是标量处理器,而 不是上面描述的向量处理器206(1)-206(1〇。通用处理器212的其他实现(例如431(:或?0)实 现)可以用于其他实施方式。
[0079]在各种实施方式中,通用处理器212可以被配置成执行支持系统100的总体操作的 操作。例如,通用处理器212可以配置成支持总体系统配置、向量处理配置、数据和存储器管 理、视频分析和系统100的其他功能的较高级别的处理部分(例如,串行代码部段或不可向 量化部段)、用户接口功能(例如,处理从用户输入部件128接收的用户输入和/或生成对这 样的输入的适当响应)、操作系统功能(例如,实时操作系统(RT0S)功能,其包括实时调度 器、文件系统、网络协议堆栈、外围驱动器和/或其他功能)和/或根据本公开各种实施方式 用于系统100的其他操作。
[0080] 通用处理器212可以被配置成处置的系统配置操作的例子可以包括设置系统100 的各种操作参数(例如,基于经由用户输入部件128的用户的输入或其他条件或信息)、功率 管理、系统初始化(例如,在上电之后)、系统测试和校准支持和/或用以支持系统配置和管 理的其他期望操作。向量处理配置操作的例子可以包括将各种向量处理任务指派并分配给 向量处理器206(l)-206(n)以设置上面针对向量处理器206(l)-206(n)讨论的各种向量处 理配置。即,例如,在一个或多个实施方式中,通用处理器212可以配置成启用、禁用或以其 他方式控制向量处理器206(l)-206(n)(例如,通过设置适当的控制位或发送适当的命令) 和/或将适当的指令提供到向量处理器206(l)-206(n)以根据用户的输入(例如,打开或关 闭某些像素处理操作)、应用需求(例如,期望吞吐量或帧率)、功率消耗(例如,在没有被使 用时关闭向量处理器206(l)-206(n)中的一个或多个以节能)和/或其他因素来设置向量处 理配置。
[0081] 通用处理器212可以被配置成执行的数据和存储器管理(在本文中也称为缓冲管 理)包括例如用于按照向量处理器206(l)-206(n)中关联的一个或多个的需要和/或在由向 量处理器206(l)-206(n)中关联的一个或多个处理之前将像素和其他数据传输到本地存储 器(例如,本地存储器208(l)-208(n))的各种操作,如上面针对本地存储器描述的一样。在 一些实施方式中,通用处理器212可以配置成在适当的时间设置从传感器接口202/204(例 如,从缓冲存储器)、全局存储器110、非易失性存储器112或其他存储装置到本地存储器或 本地存储器之间的直接存储器存取(DMA)传输,以使得可以从关联的本地存储器存取待由 向量处理器206(l)-206(n)使用的像素和其他数据。在一些实施方式中,通用处理器212还 可以配置成设置从本地存储器到全局存储器110、非易失性存储器112或其他外围设备(例 如,到外围接口块218)的DMA传输,例如以将经处理或部分处理的像素和其他数据传输到适 当的部件以进行进一步处理或输出。
[0082] 在这方面,在一些实施方式中,主电子器件块102可以包括配置成从通用处理器 212接收命令以执行DMA传输的一个或多个DMA引擎214 ΑΜΑ引擎214中的全部或一些可以实 施为在图2中示出的主电子器件块212的单独部件,或者可以与传感器接口 202/204、全局存 储器控制器216、外围接口块218或主电子器件块212的其他部件集成或实施为上述部件的 一部分。在一些实施方式中,至少一些DMA引擎214可以配置成附加地或替代地从主电子器 件块212的部件而不是从通用处理器212接收DMA传输命令。
[0083] 在各种实施方式中,主电子器件块102可以包括全局存储器控制器216,其具有用 以例如通过生成适当的时序、控制和/或刷新信号辅助写入数据到全局存储器216(例如, DRAM的一个或多个分块(bank))并从全局存储器216读取数据的逻辑电路。在各种实施方式 中,主电子器件块102还可以包括外围接口块218,其具有配置成控制并与各种外围设备界 接的各种逻辑电路和部件,所述各种外围设备例如非易失性存储器112、显示屏116、GPS模 块118、有线通信模块124、USB连接器模块126和/或其他外围设备(例如,包括PAN模块120、 无线通信模块112、用户输入部件128和/或主电子器件块102外部的其他设备或部件)。因 此,例如,外围接口块218可以包括用以实施非易失性存储器接口(例如,闪存ROM驱动器接 口)、USB接口、以太网媒体接入控制(MAC)层协议、移动产业处理器接口(MIPI)(例如,用以 与其他移动设备界接以提供摄像机和其他功能)、显示器接口、用于经由兼容集成电路间 (12C)标准的总线与其他部件通信的集成电路间(I2C)接口(例如,SMBus接口)、用于经由 兼容串行外围接口(SPI)标准的总线与其他部件通信的串行外围接口(SPI)和/或其他标准 或专有接口和协议。
[0084] 在一些实施方式中,主电子器件块102可以包括硬连线的处理块220,其具有用以 实施向量处理器206(l)-206(n)和/或通用处理器212的操作的固定(例如,不可编程的或具 有有限可配置性的)电路。在一些实施方式中,硬连线的处理块220可以附加地或替代地利 用诸如FPGA的PLD实施。在一些实施方式中,硬连线的处理块220可以经由本地总线224提供 和存取对应的本地存储器222。
[0085] 在各种实施方式中,主电子器件块102可以包括配置成与主电子器件块102的各种 部件互连的主总线226。可以使用任何适合的总线架构来实施主总线226以对主电子器件块 102的各种部件之间的通信提供期望带宽。例如,取决于应用需求,主总线226可以是具有一 个或多个线道、层级结构的或平坦的串行总线或并行总线,并且可以包括或不包括总线控 制器、开关互连(例如,交叉开关)和/或其他逻辑。
[0086] 对于一些实施方式,上面描述的主电子器件块102的各种部件可以集成到单个芯 片上系统(S0C)。因此,对于这样的实施方式,主电子器件块102可以表示集成了传感器接口 电路202、传感器接口电路204、向量处理器206(l)-206(n)、本地存储器208(l)-208(n)、本 地总线210(l)-210(n)、通用处理器212、一个或多个DMA引擎214、全局存储器控制器216、外 围接口块218、硬连线的处理块220、本地存储器222、本地总线224和/或主总线226的S0C。取 决于期望应用或实施,主电子器件块102的一个或多个部件可以从实施主电子器件块102的 S0C移除,并且/或者系统100的一个或多个其他部件可以集成到S0C。例如,在一些实施方式 中,传感器接口电路202、204和/或全局存储器控制器216可以实施成与实施主电子器件块 102的S0C分离的离散部件。在另一例子中,GPS模块118、PAN模块120、无线通信模块112和/ 或有线通信模块124可以集成到实施主电子器件块102的S0C。
[0087] 根据本公开的各种实施方式的主电子器件块102的S0C实现可以通过减少需要用 以实现系统100的离散部件的数量有利地增加可靠性、减少成本并允许较小的封装。在这方 面,根据本公开的各种实施方式将主电子器件块102实施为S0C可以产生单个廉价的部件, 其提供向量处理能力以为系统100的各种应用赋予期望功能和吞吐量。
[0088] 现在转到图3,示意了根据本公开的实施方式的向量处理器306的像素处理的例子 的框图。具体地,图3示出了向量处理器306使用向量操作一次对多个像素进行操作以根据 本公开的实施方式执行视频链的偏移和增益校正操作。向量处理器306可以表示上面描述 的向量处理器206(1 )_206(n)中的任一个。
[0089] 如参考向量处理器206(l)-206(n)描述的,向量处理器306可以包括多个向量寄存 器,在图3中示出了其中的五个(例如,向量寄存器330A-330E)。可以提供特定应用所期望的 任何数量的向量寄存器,其中典型实施一般具有8到256个中的任何数量的向量寄存器。向 量寄存器(例如,包括向量寄存器330A-330E)每一个都可以适于保持(例如,临时存储)待被 进行操作的向量或作为向量操作的结果产生的向量。在图3的例子中示出的向量寄存器 330A-330E每一个都保持具有八个数据元素的向量(即,具有八的向量长度)。总体上,可以 基于各种因素选择向量长度,例如,取决于每个数据元素的位的数量(例如,字宽度)、向量 功能单元的实施和/或其他因素。在一个具体实施例中,向量寄存器(例如,包括向量寄存器 330A-330E)每一个都可以是128位宽并且可以适于保持八个16位的数据元素,其可以良好 地适于用于以16位数字格式表示的像素的向量处理。在一些实施方式中,可以可变地提供 向量寄存器的向量长度和数据元素宽度。例如,在一个具体实施中,取决于为特定应用期望 的适当的数据元素宽度,每个向量寄存器可以是128位宽并且可以选择成保持十六个8位数 据元素(16 X 8配置)、八个16位元素(8 X 16配置)、四个32位元素(4 X 32配置)或两个64位元 素(2X64配置)。
[0090] 如在上面也参考向量处理器206(1 )-206(n)描述的,向量处理器306可以包括一个 或多个向量功能单元332,其可以包括一个或多个向量算数逻辑单元(ALU)、一个或多个向 量浮点单元(FPU)和/或适于对从源向量寄存器接收的一个或多个向量进行操作和/或将 结果存储在目的地向量寄存器中的一个或多个其他合适的向量功能单元。在一些实施方式 中,向量功能单元332可以被管线化具有适当数量的级以取得更高的吞吐量。
[0091] 如在之前针对向量处理器206(1 )-206(n)描述的,向量功能单元332可以提供用于 处理数据元素的一个或多个线道。在一些实施方式中,由向量功能单元332提供的线道的数 量可以对应于向量寄存器的向量长度。例如,向量寄存器330A-330E可以具有八的向量长度 并且向量功能单元332可以提供对应于该向量长度的8个线道,以使得可以并行地一次对每 个源向量寄存器的八个数据元素进行操作,如图3的例子所示。在一些实施方式中,可以可 选地提供用于向量功能单元332的线道的数量。在这样的实施方式中,向量功能单元332可 以可选择地重新配置成支持向量寄存器(如上面所讨论的,其也可以是可选择的)的向量长 度和数据元素宽度。例如,向量功能单元332可以可选择地重新配置用于对应于4x32位向量 寄存器配置的四个线道(示出在向量功能单元332的备选配置332A中)、用于对应于2x64位 向量寄存器配置的两个线道(示出在备选配置332B中)或用于对应于16x8位向量寄存器配 置的十六个线道(示出在向量功能单元332备选配置332C中)。
[0092]向量处理器306可以包括向量处理器控制单元334,其可以包括向量指令获取和解 码逻辑,向量指令获取和解码逻辑适于控制向量处理器306的各个方面,以根据向量指令 336使用向量功能单元332执行向量操作。尽管图3象征性地示出了以高级语言描述的向量 指令336,然而本领域技术人员将理解向量指令336可以是机器指令,并且可以存储在适当 的部件中并从中获取,所述适当的部件例如向量处理器306的指令高速缓存、本地存储器 308、全局存储器110和/或其他合适的存储器/存储装置。在图3中示出的例子中,向量指令 336可以配置向量处理器306以使用上面描述的向量处理器306的向量处理能力来执行视频 链的偏移和增益校正操作。
[0093]现在将根据本公开的各种实施方式描述向量处理器306的像素处理,其中视频链 的偏移和增益校正操作作为非限制例子。如参考本地存储器208(l)-208(n)在上面描述的, 可以将待由向量处理器306处理的像素传输(例如,转发或预先获取)到与向量处理器306 关联的本地存储器308(其可以表示本地存储器208(l)-208(n)中的任一个),以使得被选择 的像素群组可以被预先传输到并且准备好在本地存储器308中供向量处理器306存取和处 理。在图3中示出的例子中,作为通用处理器212可以配置成执行的数据和存储器管理的一 部分,通用处理器212可以在由向量处理器306对选择的视频线的像素执行增益和偏移校正 操作之前,设置一个或多个选择的视频线的像素的从全局存储器110到局部存储器308的 DMA传输338。增益和偏移校正项也可以在适当时间传输到局部存储器308并且准备好供向 量处理器306存取。
[0094] 在其他例子中,如在上面参考DMA引擎214讨论的,可以附加地或备选地由向量处 理器306、传感器接口电路202/204和/或系统100的部件而不是通用处理器212设置DMA传输 338。在其他例子中,如在上面参考本地存储器208(1 )-208(n)讨论的,DMA传输338可以传输 根据其他合适分组的像素,例如在一个或多个存储器行或块中的像素。在其他例子中,如在 上面参考图2描述的,DMA传输338可以被设置成从传感器接口电路202/204(例如,从缓冲存 储器)、从非易失性存储器112(例如,以传输校准项)和/或在本地存储器208(l)-208(n)之 间(例如,以在被指派给向量处理器206(l)-206(n)的管线级之间传输经部分处理的像素) 传输像素。
[0095]为了根据向量指令336执行增益和偏移校正操作,存储在本地存储器308中的像素 可以经由向量加载操作340而被加载到向量寄存器中的一个(例如,向量寄存器330A)上。还 可以分别经由向量加载操作342和344将待应用到向量加载的像素的对应的增益校准项(例 如,增益因子)和偏移校准项加载到向量寄存器(例如,在图3的例子中分别为向量寄存器 330B和330C)上。本领域技术人员可以理解,可以由包含在向量处理器中306中的一个或多 个向量加载/存储单元(未示出)根据向量指令336中的向量加载指令实施向量加载操作 340、342和344。
[0096]随着向量寄存器330A、330B和330C被加载了进行操作的像素和对应的校正项,可 以通过向量功能单元332根据向量指令336执行用以对加载的像素校正增益和偏移的向量 操作。例如,在向量寄存器330A中的八个像素(出于示意的目的被标记为"像素i+Ο"到"像 素i+7")每个均可以由向量功能单元332的向量乘法单元并行地一次乘以在向量寄存器 330B中被标记为"因子i+Ο"到"因子i+7"的八个增益校正项中的对应的一个。产生的校正了 增益的像素可以保存在向量寄存器中的一个(例如,向量寄存器330D)中作为标记为"增益 的i+Ο"到"获得增益的i+7"的八个元素。然后,在向量寄存器330D中的校正了增益的像素 "获得增益的i+Ο"到"增益的i+7"可以由向量功能单元332中的向量加法单元并行地一次被 加以偏移项"偏移i+Ο"到"偏移i+7"中的对应的一个,产生的校正了增益和偏移的像素被作 为标记为"输出i+Ο"到"输出i+7"的八个元素而存储在向量寄存器330E中。产生的校正了增 益和偏移的像素可以由向量加载/存储单元的向量存储操作346存储在本地存储器308中。 校正了增益和偏移的像素可以从本地存储器308传输到与另一向量处理器关联的另一本地 存储器用以进行进一步的像素处理(例如,执行下个管线级)或传输到本文在上面描述的系 统100的其他部件(例如,用以生成视频/图像输出)。
[0097]尽管由向量处理器306对像素的向量处理在上面是利用偏移和增益校正操作为一 个例子来进行描述的,然而本领域技术人员将理解,视频链的其他操作(例如,坏像素取代 操作、AGC操作、畸变校正操作、图像混合操作、分辨率增强操作、视频压缩或其他操作)或视 频分析或GUI的像素级操作也可以由向量处理器306以与本公开的精神和范围一致的方式 执行。因此,通过如参考图3的各种实施方式所描述地并行地对多个像素执行向量操作,可 以高效地利用像素级并行性以在视频链、视频分析、GUI和/或系统100的其他期望功能中赋 予对各种操作的高吞吐量处理。另外,如在上面参考本地存储器208(l)-208(n)描述的,对 于各种实施方式,本地存储器308可以给其关联的向量处理器306提供较低延迟和/或较高 吞吐量的数据存取。因此,通过提供如在上面对于各种实施方式示意的高效缓冲管理(例 如,通过在适当时间将像素和其他数据传输到与向量处理器306关联的本地存储器308),可 以进一步支持向量处理器306的高吞吐量处理。
[0098]图4是示意根据本公开的实施方式的用于主电子器件块102的示例软件架构的软 件层400的框图。各种系统级和应用级部件在图4中示出为分层。在图4中还示出了各种硬件 抽象层,其可以表示主电子器件块102的各种硬件部件的软件视图,并且可以或者可以不代 表创建特定实施所期望的硬件部件的抽象的实际软件例程和/或数据。
[0099]用于主电子器件块102的软件层400可以包括表示通用处理器212的软件视图的通 用处理器硬件抽象层(HAL)412和表示外围接口块218和可以经由外围接口块218进行控制 和/或界接的各种设备的软件视图的外围设备HAL 418。与由HAL 412和418表示的通用处理 器212、外围接口块218和各种外围设备交互的操作系统450位于这样的HAL 412和418的顶 部。如可以由本领域技术人员理解的,操作系统450可以管理各种硬件资源(例如,由HAL 412和418表示的硬件资源)并且给其他系统级和应用级软件系统提供公共服务以利用各种 硬件资源。例如,操作系统450可以提供调度和多任务功能、文件系统处置、网络堆栈、虚拟 存储器管理和/或其他操作系统功能。
[0100]在一些实施方式中,执行操作系统450的调度功能的调度器可以配置成通过调度 任务(例如,包括工作、过程、线程和/或执行的其他单位)以基本上或确定性地满足实时要 求(例如,也被称为硬实时调度)或大体上满足实施要求(例如,也被称为软实时调度)来支 持实时应用。这样的实施方式中的操作系统450可以称为实时操作系统450(RT0S),如针对 图4的实施方式所表明的。同时,在这样的实施方式中,其他部件(例如操作系统450的中断 处置器和/或存储器分配器)可以进一步适于支持实时调度。
[0101]操作系统450可以提供通过调度器和/或其他操作系统内核功能支持线程452的创 建、调度和/或其他管理。在各种实施方式中,如本领域技术人员将会理解的,操作系统450 可以一次管理多个线程452以提供多线程能力。在操作系统450可以是RT0S的实施方式中, 线程452中的至少一些能够被指派实时优先级并且可以被调度和/或以其他方式被管理以 满足应用级和/或系统级软件例程的硬或软实时要求。这样的线程可以称为RT0S或实时线 程,如针对图4中一个例子所示出。
[0102]在各种实施方式中,用于主电子器件块102的软件层400可以包括缓冲管理例程 454,其配置成在适当时间设置和/或以其他方式管理像素和/或其他数据到/从本地存储器 208(1 )-208(n)、全局存储器110、非易失性存储器112、传感器接口 202/204缓冲存储器和/ 或其他存储装置的传输(例如,包括DMA传输),如本文上面参考本地存储器208(1 )-208(n)、 通用处理器212和图3详述的那样。在一些实施方式中,缓冲管理例程454可以配置成作为相 对于其他软件例程的较高优先级线程(例如,实时线程)运行。在图4中示出的一个例子中, 缓冲管理例程454可以作为多个实时线程运行以便例如由向量处理器206(1 )-206(n)存取 的像素和其他数据可以确定性地、基本上或大体上在预定的调度时间内被传输到并准备好 在本地存储器208 (l)-208(n)中适当的一些中。
[0103]在较高的层,还可以提供其他软件部件,其可以与软件层400的其他部件交互并且 在通用处理器212上执行。在各种实施方式中,这样的其他软件部件可以包括向量处理配置 例程456,所述向量处理配置例程456适于使通用处理器将各种向量处理任务指派并分布给 向量处理器206(l)-206(n),以设置在上面针对向量处理器206(l)-206(n)讨论的各种向量 处理配置。例如,向量处理配置例程456可以适于与其他软件和/或硬件部件交互以按照上 面参考向量处理器206(1 )-206(n)和通用处理器212描述的那样设置视频分析的各种像素 级操作和向量处理器206(l)-206(n)的视频链的各种操作。因此,向量处理配置例程456在 一个例子中还可以被称为视频链设置例程。大体上,向量处理配置例程456可以例如在系统 100上电(例如,被启动)时、在各种条件(例如,功率消耗、电池寿命和/或系统100的其他条 件)改变时和/或响应于用户的输入(例如,用以打开或关闭某些像素处理操作)执行。相应 地在一些实施方式中,向量处理配置例程456可以被指派一个或多个非RT0S线程。
[0104] 在较高层的软件部件还可以包括GUI部件458、视频分析部件460和/或设备驱动 器。GUI部件458可以包含用以生成图例、比例尺、标线、菜单、图标或辅助与系统100的用户 交互的其他图形特征。尽管总体上GUI部件458的高级别例程(例如,串行代码段或不可向量 化段)可以在通用处理器212上执行,然而根据各种实施方式,GUI部件458的像素级操作可 以指派给如上所述的向量处理器206(l)-206(n)中的一个或多个并且由向量处理器206 (l)-206(n)中的一个或多个执行。视频分析部件460可以包括用于各种类型的视频分析的 各种例程,例如目标检测、目标计数、虚拟泮索检测、热图像分析和/或其他。尽管总体上视 频分析部件460的高级别功能可以在通用处理器212上执行,然而视频分析部件460的像素 级操作可以指派给并且由向量处理器206(l)-206(n)中的一个或多个执行,如上面根据各 种实施方式描述的那样。如可以为本领域技术人员理解的,设备驱动器462可以包括经由外 围接口块218控制并与各种外围设备界接的各种例程。在各种实施方式中,软件层400可以 进一步包括用户接口部件464,用户接口部件464包含软件例程以与GUI部件458、视频分析 部件460和/或设备驱动器462交互,以处理用户输入和/或生成对于这样的输入的适当响 应。
[0105] 在各种实施方式中,主电子器件块102的软件层400还可以包括表示向量处理器 206(1)-206(η)的软件视图的向量处理器HAL 406(1)-406(η),其又可以表示各种设备(例 如,向量功能单元332)、存储器(例如,本地存储器308)和/或与每个向量处理器206(1)-206 (η)关联的寄存器(例如,向量寄存器330A-330E)。如上面讨论并且可以由本领域技术人员 理解的,图4中提供的HAL(例如,包括向量处理器HAL 406 (1) -406 (η))没有必要对应于实际 软件例程、数据和/或其他软件实现。即,对于一些实施方式,向量处理器HAL 406(1)-406 (η)可以仅是向量处理器206(l)-206(n)的用于示意整体软件层架构的用途的表示,而对于 其他实施方式,向量处理器HAL 406(l)-406(n)可以包括实际软件例程、数据和/或其他软 件实现,以创建用于其他软件部件的向量处理器206(l)-206(n)的抽象。
[0106]在各种实施方式中,可以提供一个或多个像素处理例程466以供向量处理器206 (1 )-206(η)(表不为图4中的向量处理器HAL 406(1)-406(η))执行。像素处理例程466可以 包括在上面关于向量处理器206(1)-206(η)描述的用于偏移和增益校正、坏像素取代、AGC、 畸变校正、图像混合、分辨率增强、视频/图像转码和/或用于处理像素的其他操作的软件例 程。每个像素处理例程466可以对应于这些操作中的每一个、这些操作的组合或这些操作 中的一部分。在各种实施方式中,还可以提供一个或多个图像分析原语468(例如,像素级操 作)和/或GUI原语(在图4中未示出)供向量处理器206(1)-206(η)执行,如上面关于向量处 理器206(1)-206(η)所讨论的那样。
[0107] 在一些实施方式中,还可以将各种其他非图像处理原语分配给向量处理器206 (1)-206(η)中的一个或多个以进一步利用数据级和线程级并行性。可以将用以处理到/来 自GPS模块118、ΡΑΝ模块120、网络模块122和/或124的数据的各种可并行化操作分派给(例 如,通过操作系统450和/或向量处理配置例程456)向量处理器206(1 )-206(η)中没有被利 用用于像素处理例程466或视频分析原语468的那些向量处理器并由其执行,以使得可以利 用可用的向量处理资源(例如,向量处理器206 (1) -206 (η)和本地存储器208 (1) -208 (η)中 可用的那些)。还可以预想到,可以和像素处理例程466-起提供实施系统100的红外摄像机 模块,以能够进行红外视频/图像处理,而同时终端用户、系统集成商(例如,使用红外摄像 机模块的具体设备的制造商)或其他下游用户可以进一步定制化红外摄像机模块以利用剩 余向量处理资源执行期望的视频分析原语468和/或其他数据处理原语。
[0108] 这样,如也在本文中描述的,可以由不同的独立向量处理器206(1 )-206(η)执行像 素处理以产生输出视频/图像并且可选地处理其他数据。在这方面,当像素在主电子器件块 102被接收并且处理时,可以由不同的独立向量处理器206(1)-206(η)存取和/或修改像素 和其他数据。主电子器件块102的其他部件,包括通用处理器212、传感器接口电路202、传感 器接口电路204、DMA引擎214、硬连线的处理块220和/或其他部件,还可以按本文在上面描 述的那样存取和/或修改像素和其他数据。
[0109] 如可以由本领域技术人员认知的,多个独立部件的这种存取和/或修改可能需要 同步(例如,串行化)。相应地,在各种实施方式中,可以给主电子器件块102的各种软件部件 提供各种软件和/或硬件原语470,以同步(例如,串行化)其对于像素和其他数据的存取和/ 或修改。这样的同步化原语的软件实现可以包括例如信号量(semaphore)、锁(lock)、屏障 (barrier)和/或由操作系统450提供的其他原语。这样的串行化原语(也称为硬件互斥或 "互斥量(mutex)"原语)的硬件实施可以包括可以由通用处理器212和/或向量处理器206 (l)-206(n)提供的各种原子操作,例如测试并置位、比较并交换或其他原子指令。这样的硬 件原语可以被利用来实施软件同步化原语或者可以直接被软件例程利用以实现互斥。 [0110]因此,系统100可以包括具有根据上面对于各种实施方式描述的软件架构而配置 的各种软件部件的主电子器件块102。这样的软件部件可以促进主电子器件块102的各种部 件的高效、可缩放和灵活的像素处理,如上所述。将可以理解,在不背离本公开的精神的情 况下,本文对于软件层400所描述的各种软件部件可以组合成更大的部件或分离成子部件。 将可以理解,本文对于软件层所描述的各种软件部件可以使用硬件或硬件和软件的组合实 施而不背离本公开的精神。
[0111] 现在转到图5,示意了根据本公开的实施方式的用以提供红外图像的过程500的流 程图。例如,可以由具有具备本文在上面描述的向量处理能力的主电子器件块102的系统 100的各种实施方式执行过程500的全部或部分。由过程500提供的红外图像可以包括例如 红外视频和静态图像。
[0112] 在框502,可以接收红外能量。在各种实施方式中,可以在红外成像传感器104的 FPA处接收来自场景的红外能量。在一些实施方式中,来自场景的红外能量可以穿过一个或 多个红外光学元件(例如,红外光学器件块106)并且传送到红外传感器104的FPA。在一些实 施方式中,穿过红外光学器件块106并且在红外成像传感器104的FPA处接收的红外能量可 以包括在热红外波段中的辐射(例如,3.5和20μπι之间的波长)。
[0113] 在框504,可以从接收的红外能量捕获红外图像数据。例如,在红外成像传感器104 的FPA处接收的红外能量可以由红外检测器检测并且由上文参考本公开的各种实施方式的 红外成像传感器104所描述的关联R0IC转换成红外图像数据。根据一些实施方式,到红外图 像数据的转换可以部分地由主电子器件块102的适当部件(例如传感器接口电路202)执行。 根据各种实施方式,捕获的红外图像数据可以包括多个像素,其按上面关于传感器接口电 路202所描述的那样以使用期望数量的位的数字格式呈现。
[0114] 在框506,根据一些实施方式,可见光可以被接收并被捕获为可见光图像数据。例 如,可见光可以在系统100的可见光成像传感器108处接收,并且由可见光成像传感器108的 关联电路和/或由传感器接口电路204转换成包括多个可见光像素的可见光图像数据,如本 文在上面进一步描述的那样。对于其中不提供可见光成像传感器108的其他实施方式,可以 省略框506。
[0115]在框508,可以将来自捕获的红外图像数据的像素的群组提供到向量处理器(例 如,向量处理器206(l)-206(n)中的任一个)以根据像素处理操作(例如,对于视频链)或其 他像素级操作(例如,对于视频分析或GUI)进行处理。例如,在一些实施方式中,可以以本文 在上面关于本地存储器208(1 )-208(n)、通用处理器212、DMA传输338和缓冲管理例程454所 详细描述的各种方式,将选择的像素群组传输到与向量处理器关联的本地存储器。在一些 实施方式中,可以如针对向量加载操作340描述的那样将多个像素加载到向量处理器的向 量寄存器上,以使得例如由向量功能单元332并行地对多个像素执行向量操作。
[0116]在框510,可以按照像素处理操作或像素级操作的需要将其他数据提供到向量处 理器。例如,在一些实施方式中,可以将校准项中的相应部分、坏像素分布图、用于畸变校正 的像素增量和权重、颜色查找表(LUT)、强度变换表(ITT)、可见光像素和/或待用于处理选 择的像素群组的其他数据以本文在上面关于本地存储器208(1 )-208(n)、通用处理器212和 缓冲管理例程454所详细描述的各种方式传输到与向量处理器关联的本地存储器。在一些 实施方式中,可以按针对向量加载操作342和344描述的那样将来自这样的其他数据的适当 的数据元素加载到向量处理器的一个或多个其他向量寄存器上,以使得可以应用或者按向 量操作的需求以其他方式使用适当的校正项、位置图或其他数据域。对于不需要这样的其 他数据的那些像素处理操作,可以省略框510。
[0117] 在框512,可以将另一像素群组连同所需要的其他数据提供给另一向量处理器(例 如,向量处理器206(l)-206(n)中除在框508参考的向量处理器之外的任一个)以根据像素 处理操作或其他像素级操作进行处理。如在上面参考向量处理器206(l)-206(n)详细描述 的,根据一些实施方式的用于主电子器件块102的多向量处理器架构可以允许像素处理管 线的垂直和/或水平扩展以及像素处理和其他像素级操作的并行执行。因此,过程500的一 些实施方式可以涉及将另一像素群组以及所需要的其他数据传输到与其他向量处理器关 联的本地存储器,如本文在上面关于本地存储器208(l)-208(n)、通用处理器212、DMA传输 338和缓冲管理例程454所详细描述的那样。如可以理解的,取决于多个向量处理器的是否 可用以及所述多个向量处理器期望的并行执行的级别,可以重复框512。相反,如果没有多 个向量处理器可用和/或如果不期望多个向量处理器的并行执行,则可以省略框512。
[0118] 在框514,通过向量处理可以并行地对多个像素进行操作。例如如上面针对向量处 理器206(l)-206(n)/306描述的,可以通过利用向量功能单元332并行地对存储在向量寄存 器(例如,向量寄存器330A)中的多个像素执行各种像素处理操作,例如偏移和增益校正、坏 像素取代、AGC、畸变校正、图像混合、分辨率增强或视频/图像转码或用于视频分析或GUI的 各种像素级操作。对于在其中可以利用多个向量处理器的实施方式,多个向量处理器中的 每一个都可以通过向量处理并行地对其相应的像素群组进行操作,从而例如利用像素级和 线程级并行性二者。
[0119] 在框516,可以将处理过的像素收集并输出为红外图像。对于一些实施方式更具体 地,由向量处理器206 (1) -206 (η)中的一个或多个处理的像素可以组合、格式化或以其他方 式集聚成一个或多个红外图像/视频帧(或者,如果执行图像混合操作的话为红外-可见光 混合的图像/视频帧)。然后,举例来说,可以将生成的红外图像/视频帧经由PAN模块120、无 线通信模块122、有线通信模块124、USB连接器模块126和/或利用外围接口块218的其他外 围设备输出到显示屏116、诸如闪存ROM的非易失性存储器112和/或其他外部设备。
[0120]在适用的情况下,可以利用硬件、软件或硬件和软件的组合来实施本公开提供的 各种实施方式。同样在适用的情况下,本文列出的各种硬件元件和/或软件元件可以组合到 复合元件中,该复合元件包括软件、硬件和/或二者,而不脱离本公开文本的精神。在适用的 情况下,本文列出的各种硬件元件和/或软件元件可以分离成子部件,包括软件、硬件或二 者,而不脱离本公开文本的精神。此外,在适用的情况下,可以预期的是,软件元件可以实施 为硬件元件,反之亦然。
[0121] 根据本公开文本的软件(例如非临时性指令、程序代码和/或数据)可以存储在一 个或多个非临时性机器可读介质中。还可以预期的是,本文认同的软件可以利用一个或多 个通用或专用的计算机和/或计算机系统、网络和/或其他方式实现。在适用的情况下,本文 描述的各种步骤的顺序可以发生变化、组合到复合步骤和/或分割成若干子步骤以提供本 文描述的特征。
[0122] 上文描述的实施方式是示例性的,并非限制本实用新型。应该理解,根据本实用新 型的原理,众多改进和变化是可能的。因此,本实用新型的范围仅由随附权利要求限定。
【主权项】
1. 一种红外成像系统,其特征在于,包括: 红外成像传感器,该红外成像传感器配置成提供包括复数个像素的红外图像数据;以 及 配置成接收红外图像数据的主电子器件块,主电子器件块包括至少一个向量处理器, 所述至少一个向量处理器配置成根据与所述至少一个向量处理器关联的向量指令并行地 对多个像素进行操作,其中多个像素选自红外图像数据的复数个像素。2. 根据权利要求1所述的红外成像系统,其特征在于, 主电子器件块还包括: 与所述至少一个向量处理器通信耦接并配置成存储红外图像数据的至少一部分的至 少一个本地存储器,以及 配置成管理到至少一个本地存储器的数据流的通用处理器;并且所述至少一个向量处 理器配置成从至少一个本地存储器存取多个像素。3. 根据权利要求2所述的红外成像系统,其特征在于,主电子器件块被实施为芯片上系 统并且还包括配置成辅助通用处理器和一个或多个外围设备之间的通信的外围接口块。4. 根据权利要求2所述的红外成像系统,其特征在于,还包括与主电子器件块通信耦接 并配置成存储红外图像数据的全局存储器,其中: 主电子器件块还包括响应于来自通用处理器的直接存储器存取传输请求的直接存储 器存取引擎;并且 通用处理器被配置成通过请求直接存储器存取引擎执行红外图像数据中的至少一部 分从全局存储器到至少一个本地存储器的直接存储器存取传输来管理到至少一个本地存 储器的数据流。5. 根据权利要求1所述的红外成像系统,其特征在于, 所述至少一个向量处理器包括多个向量处理器; 所述多个向量处理器中的第一向量处理器配置成根据与第一向量处理器关联的第一 向量指令并行地对第一多个像素进行操作; 所述多个向量处理器中的第二向量处理器配置成根据与第二向量处理器关联的第二 向量指令并行地对第二多个像素进行操作;并且 第一多个像素和第二多个像素选自红外图像数据的复数个像素。6. 根据权利要求5所述的红外成像系统,其特征在于,第一向量处理器和第二向量处理 器均被分派有用于处理红外图像数据的管线级。7. 根据权利要求5所述的红外成像系统,其特征在于,与第一向量处理器关联的第一向 量指令不同于与第二向量处理器关联的第二向量指令。8. 根据权利要求5所述的红外成像系统,其特征在于, 主电子器件块还包括多个本地存储器; 所述多个本地存储器中的第一本地存储器与第一向量处理器通信耦接; 所述多个本地存储器中的第二本地存储器与第二向量处理器通信耦接; 第一向量处理器配置成从第一本地存储器存取第一多个像素;并且 第二向量处理器配置成从第二本地存储器存取第二多个像素。9. 根据权利要求1所述的红外成像系统,其特征在于, 所述至少一个向量处理器包括多个向量处理器;并且 与所述多个向量处理器关联的向量指令包括用于并行地对多个像素执行偏移校正、增 益校正、坏像素取代、自动增益控制、光学畸变校正、图像/视频分辨率增强、图像/视频压缩 和/或视频分析的像素级操作的指令。10.根据权利要求9所述的红外成像系统,其特征在于,还包括配置成提供可见光图像 数据的可见光成像传感器,其中,与所述多个向量处理器关联的向量指令还包括用于并行 地对多个像素执行红外图像数据与可见光图像数据的混合的指令。
【文档编号】G06T1/20GK205680129SQ201490001097
【公开日】2016年11月9日
【申请日】2014年8月5日 公开号201490001097.1, CN 201490001097, CN 205680129 U, CN 205680129U, CN-U-205680129, CN201490001097, CN201490001097.1, CN205680129 U, CN205680129U, PCT/2014/49828, PCT/US/14/049828, PCT/US/14/49828, PCT/US/2014/049828, PCT/US/2014/49828, PCT/US14/049828, PCT/US14/49828, PCT/US14049828, PCT/US1449828, PCT/US2014/049828, PCT/US2014/49828, PCT/US2014049828, PCT/US201449828
【发明人】P·布朗热, R·罗伯茨
【申请人】菲力尔系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1