传感器元件阵列中的特征计算的制作方法

文档序号:12071281阅读:192来源:国知局
传感器元件阵列中的特征计算的制作方法与工艺

本发明大体上涉及启用计算机视觉,且更具体来说,涉及使用计算机视觉改善检测特征的效率。

计算机视觉为包含获取、处理、分析及理解图像以用于应用中的方法的领域。传统地,耦合到传感器的处理器从传感器获取图像数据,并计算关于从传感器接收的信息的某些计算机视觉(CV)特征以用于检测CV特征且因此检测与那些特征相关联的对象。CV特征可包含例如边缘、拐角等的特征。于处理器上执行的程序可在例如平面检测、面部检测、笑容检测、手势检测等多种应用中利用所检测到的特征。

近年来已付出许多努力以使得计算装置能够检测在计算装置的视野中的特征及对象。计算装置(例如移动装置)经设计对由移动装置使用的处理资源量及功率量以及热消散具有灵敏性。然而,传统上,使用处理器检测在由相机捕捉的图像的视场中的特征及对象需要导致计算装置(例如移动装置)中的较高功率消耗及较低电池寿命的大量处理资源。



技术实现要素:

本发明大体上涉及启用计算机视觉,且更具体来说,涉及使用计算机视觉改善检测特征的效率。

技术描述通过基于传感器读数产生经计算的结果来检测计算机视觉(CV)特征,例如边缘、拐角等。所述传感器设备可包含包含多个传感器元件的传感器元件阵列。所述传感器元件可以2维阵列布置,例如列及行。所述传感器元件可能够基于环境条件产生传感器读数。所述传感器设备还可包含耦合到传感器元件的像素内电路,或耦合到传感器元件阵列且经配置以从多个传感器元件接收输出的外围电路。所述像素内电路及/或外围电路可包含计算结构,所述计算结构经配置以基于由接近于所述传感器元件的相邻传感器元件产生的传感器读数执行表示用于传感器元件的多像素计算的运算。另外,所述传感器设备可包含用于对所检测到的CV特征执行另外运算的专用微处理器。举例来说,所述专用微处理器可基于本文中所公开的CV特征检测宏特征或参考对象,例如笑容、面部等。

实例设备(例如视觉传感器)可包含包括多个传感器元件的传感器元件阵列。所述多个传感器元件可沿着所述传感器元件阵列的至少第一维度及第二维度布置。在本发明的某些方面中,所述多个传感器元件中的每一者可能够基于入射到多个传感器元件上的光产生信号,所述信号对应于表示图像的多个传感器元件。专用计算机视觉(CV)计算硬件可经配置以至少部分地基于与接近于一或多个主体传感器元件的块的多个相邻传感器元件相关联的信号计算用于一或多个主体传感器元件的块的局部化CV特征。此外,专用微处理器可耦合到专用CV计算硬件,其中专用微处理器包含用于与第二微处理器的通信的接口。在本发明的某些方面中,计算局部化CV特征所针对的一或多个主体传感器元件的块为单一主体传感器元件。在本发明的某些方面中,专用CV计算硬件计算局部二进制模式(LBP)标签或正负号梯度直方图(HSG)特征。如本文中所使用,LBP标签及LBP特征或CV特征更一般地说可指代基于主体像素与其相邻像素元件中的一或多者的比较而予以计算的CV特征。局部化CV特征可包含斑点、边缘或线边缘的拐角中的一或多者。

实例移动装置可包括视觉传感器及第二微处理器,其中专用微处理器通过有线接口耦合到第二微处理器,且其中第二微处理器为功率高于专用微处理器的处理器。在一些情况下,通过有线接口与第二微处理器的通信使用串行外围接口(SPI)、内部集成电路(I2C)或低电压差分信令(LVDS)中的一者。

在某些实施方案中,无线模块可用于与第二微处理器的通信,其中用于与第二微处理器的通信的无线模块使用用于与第二微处理器的通信的接口耦合到专用微处理器。无线模块可经配置以使用紫蜂(Zigbee)(IEEE 802.15.4标准)、人体局域网络(IEEE 802.15.6)、无线USB、Wi-Fi(802.11)、Z-wave或IrDA(基于IR的通信)来通信。

在本发明的某些方面中,视觉传感器进一步包含用于基于对应于图像的窗口的信号的至少一子集计算图像的至少一部分的积分图像的二维积分硬件,其中专用CV计算硬件能够访问经计算的积分图像以用于计算对应于传感器元件的块的信号的组合、总和或平均值。CV计算硬件可进一步耦合到级联分类器硬件,所述级联分类器硬件经配置以检测参考对象在图像的窗口中的存在或不存在。在某些情况下,专用微处理器可经配置以在检测到参考对象的存在时接收参考对象的存在的指示。在本发明的某些方面中,专用微处理器可经配置以基于从专用CV计算硬件接收的局部化CV特征来检测参考对象在图像的窗口中的存在或不存在。

在本发明的某些方面中,在不介入图像信号处理电路的情况下连接传感器元件阵列及CV计算硬件。举例来说,由CV计算硬件从传感器元件阵列接收的信号可不经历缺陷校正、白平衡、色彩平衡、自动聚焦、透镜衰减、去马赛克、相机型号预置颜色转换(debayering)及/或图像锐化中的一或多者。

本发明的各方面进一步公开方法及设备,所述设备包括用于如上文及贯穿本发明所公开来执行的装置。本发明的各方面进一步公开一种非暂时性计算机可读存储媒体,其中所述非暂时性计算机可读存储媒体可包含可由专用计算机视觉(CV)微处理器执行以用于执行上文及贯穿本说明书所论述的本发明的各方面的指令。

前述内容已经相当宽泛地概述了实例的特征及技术优点,以便可更好地理解下文的具体实施方式。将在下文中描述额外特征及优点。所公开的概念及特定实例可容易地用作修改或设计用于实行本发明的相同目的的其它结构的基础。此类等效构造并不脱离所附权利要求书的精神及范围。当结合附图考虑时,关于本文中所公开的概念的组织及操作方法的被认为是所述概念的特性的特征连同相关联的优点一起将从以下描述得到更好理解。图中的每一者都仅出于说明及描述的目的而提供且并不提供为对权利要求书的限制的界定。

附图说明

借助于实例说明本发明的各方面。参考各图式提供以下描述,其中相同参考数字始终用以指代相同元件。虽然本文中描述一或多种技术的各种细节,但其它技术也是可能的。在一些情况下,以框图形式展示熟知结构及装置以便促进描述各种技术。

可参考说明书及图式的其余部分来实现对由本发明提供的实例的性质及优点的进一步理解,其中贯穿若干图式使用相同参考数字来指代相似组件。在一些情况下,子标签与参考数字相关联以标示多个相似组件中的一者。当在未指定现有子标签的情况下参考一参考数字时,所述参考数字指代所有此类相似组件。

图1说明包括以2维阵列布置的多个传感器元件的实例传感器。

图2说明包括传感器元件及像素内电路的实例像素。

图3A说明耦合到外围电路的实例传感器元件阵列。

图3B说明智能视觉传感器的实例实施方案。

图4A说明根据本发明的某些方面的实例传感器设备。

图4B说明根据本发明的某些方面的无线地耦合到应用程序处理器的实例传感器设备。

图5说明使用基于帧的相机的视觉传感器的实例实施方案。

图6说明使用基于事件的相机的视觉传感器的实例实施方案。

图7说明根据本发明的某些方面的用于视觉传感器的实例像素。

图8说明用于执行本发明的各方面的实例像素。

图9说明用于局部二进制模式电路的实例电路。

图10说明用于正负号梯度直方图电路的实例电路。

图11说明用于计算像素内或外围电路中的计算机视觉(CV)特征的传感设备的实例框图。

图12说明用于计算像素内或外围电路中的CV特征的传感设备的另一实例框图。

图13为根据本发明的某些方面的实例流程图。

图14A、14B及14C说明将来自多个传感器元件的传感器读数转换为CV特征及执行较高层级CV运算的过程。

图15A及15B说明用于使用类哈尔(Haar)特征的面部检测的现有方法。

图16A及16B说明遍及图像计算2-D积分的现有方法的实例。

图17A到17D说明遍及经旋转矩形计算2-D积分的现有方法的实例。

图18A到18B说明根据一些实施方案的使用1-D积分以用于计算具有任意角度的矩形区域。

图19说明根据一些实施方案的在硬件中计算1-D积分图像。

图20说明根据一些实施方案的用于计算1-D积分的硬件实施方案。

图21说明可在其中实施一或多个实施例的计算系统的实例。

具体实施方式

现将关于形成说明性实施例的一部分的附图来描述若干说明性实施例。虽然下文描述可在其中实施本发明的一或多个方面的特定实施例,但可使用其它实施例,且可在不脱离本发明的范围或所附权利要求书的精神的情况下进行各种修改。

传感器可包含多个传感器元件的传感器元件阵列。所述传感器元件阵列可为包含以传感器元件阵列的两个维度(例如列及行)布置的传感器元件的2维阵列。所述传感器元件中的每一者可能够基于环境条件产生传感器读数。在某些实施方案中,传感器可为视觉传感器且可基于入射到传感器元件上的光产生传感器读数。图1说明包括以2维阵列布置的多个传感器元件的实例传感器100。在图1中,传感器100的说明表示在传感器元件阵列中的64个(8×8)传感器元件。在各种实施方案中,在不脱离本发明的范围的情况下,传感器元件的形状、传感器元件的数目及传感器元件之间的间隔可极大地变化。传感器元件102表示来自64个传感器元件网格的实例传感器元件。多个传感器元件102中的每一者能够基于入射到传感器100上的光产生信号,所述信号对应于表示图像的所述多个传感器元件。

在某些实施方案中,传感器元件可具有实施为耦合到传感器元件的像素内电路(计算结构)的专用CV计算硬件。在一些实施方案中,传感器元件及像素内电路一起可被称为像素。由耦合到传感器元件的像素内电路执行的处理可被称为像素内处理。在一些情况下,所述传感器元件阵列可被称为像素阵列,差异在于像素阵列包含传感器元件及与每一传感器元件相关联的像素内电路两者。图2说明具有传感器元件202及像素内电路204的实例像素200。在某些实施方案中,像素内电路204可为模拟电路、数字电路或其任何组合。

在某些实施方案中,传感器元件阵列可具有实施为耦合到传感器元件的一群组的外围电路(计算结构)的专用CV计算硬件。此类外围电路可被称作芯片上传感器电路。然而,在一些实施方案中,也可在晶片外实施此类外围电路,借此不在单一基板上制造传感器及外围电路。图3说明耦合到传感器元件阵列302的实例外围电路(304及306)。

如本文中所描述,专用CV计算硬件至少部分地基于与接近于主体传感器元件的多个相邻传感器元件相关联的信号计算用于主体传感器元件的CV特征或局部化CV特征。在一些实施方案中,计算CV特征或局部化CV特征的专用CV计算硬件(例如,基于硬件的CV计算)不同于常规软件计算技术之处在于软件计算技术在通用处理器上运行基于软件的CV计算算法。接着可针对多个传感器元件中的每一者计算此类CV特征,从而将多个传感器元件中的每一者作为主体传感器元件。应理解,在一些实施方案中,可针对一或多个主体传感器元件的块而非单一主体传感器元件计算局部化CV特征。换句话说,可对并非对应于单一传感器元件而是实际上对应于传感器元件或像素的块的经求和或平均化信号执行CV特征计算。在此类实施方案中,参考主体传感器元件(或与主体传感器元件相关联的信号)及/或相邻传感器元件(或与多个相邻传感器元件相关联的信号)的论述可理解为指代与代替主体传感器元件或相邻传感器元件的主体传感器元件的块相关联的经组合、求和或平均化值。举例来说,可至少部分地基于与接近于传感器元件块103的多个相邻传感器元件(例如,与传感器元件块104a、104b、104c、104d、104e、104f、104g及/或104h相关联的多个相邻传感器元件)相关联的信号(例如,经组合、求和及/或平均化信号)计算用于传感器元件块103的CV特征。应理解,传感器元件块103、104a、104b、104c、104d、104e、104f、104g及/或104h可包含一乘一个传感器元件(总共一个传感器元件)、一乘二个传感器元件(总共两个传感器元件)、二乘二个传感器元件(总共四个传感器元件)、二乘三个传感器元件(总共六个传感器元件)、三乘三个传感器元件(总共九个传感器元件)等的块。一般来说,传感器元件块可包含任何n乘m块,其中n及m可各自独立地为大于一但小于沿着传感器阵列的两个维度中的一者或另一者的传感器元件数目的任何数目。

如本文中所描述,CV特征或局部化CV特征可指代检测低层级计算机视觉标记或指示符,例如与传感器的每一传感器元件或像素相关联的标签。举例来说,标签可包含用于传感器元件的局部二进制模式(LBP)标签。用于传感器元件的LBP标签可通过比较所述传感器元件的传感器读数与其相邻传感器元件中的一些的传感器读数来产生。一般来说,参考给定传感器元件而计算的CV特征、标签或特征描述符可与以下各者相关联:(1)边缘;(2)如LBP或局部三进制模式(LTP)的标签;(3)梯度或其正负号,例如正负号梯度直方图(HSG)或经定向梯度直方图(HOG);(4)1D、2D或3D卷积;(5)如哈里斯(Harris)或FAST的拐角;(6)曲率度数;(7)最大值或最小值;(8)连续性及/或不连续性;(9)对比度;(10)经归一化像素差(NPD);(11)模板匹配,等。

如本文中所描述,相对地接近于主体传感器元件的传感器元件可被称为相邻传感器元件。在本发明的某些方面中,相邻传感器元件可包含紧邻所述主体传感器元件的传感器元件。在本发明的某些其它方面中,相邻传感器元件还可包含相对接近于所述主体传感器元件但不紧邻的传感器元件。举例来说,在某些情况下,当数个传感器的宽度或高度为六十四个传感器元件时,距所述主体传感器元件三个传感器元件内的传感器元件可仍被视为相邻传感器元件。

图3B说明智能视觉传感器的实例实施方案,所述智能视觉传感器包含传感器元件阵列、CV计算硬件及专用微处理器,所述专用微处理器包含用于与第二微处理器的通信的接口。传感器元件阵列308可与图1中所说明的传感器100相似。传感器元件阵列308可包含相关双取样电路。传感器元件阵列308还可包含用以(例如)在实施方案中在将信号输出到线缓冲器310之前对传感器元件或像素信号或值进行组合、求和或平均化的电路,在所述实施方案中,使用经组合值或较低分辨率改善CV计算。线缓冲器310可包含一或多个线缓冲器以将表示在传感器元件阵列308之外的图像或图像的部分的信号传递到视觉传感器的其它部分。在一些实施方案中,传感器元件阵列308可不包含用于图像信号处理(ISP)的电路,且因此,图3B说明在不介入ISP电路的情况下连接传感器元件阵列308及CV计算硬件312的实施方案。举例来说,在一些实施方案中,由CV计算硬件312从传感器元件阵列308接收的信号未经历缺陷校正、白平衡、色彩平衡、自动聚焦、透镜衰减、去马赛克、相机型号预置颜色转换(debayering)及/或图像锐化中的一或多者。然而,在一些此类无ISP实施方案中,可进行一些处理,例如聚焦或自动曝光校正。未经历ISP的此类信号可被称作原始信号。在一个实施方案中,传感元件阵列308为不具有ISP的四分之一视频图形阵列(QVGA)相机传感器,其中所述阵列包括320乘240个传感器元件。

在各种实施方案中,CV计算硬件312可在数字或模拟域中执行CV计算。本文中参考图9及10公开能够在模拟域中执行CV计算的CV计算电路的一些实例。那些及相似电路的数字版本也是可能的。因此,任选地,在数字实施方案中,模/数转换器(ADC)314可安置于线缓冲器310与CV计算硬件312之间。在一些实施方案中,在CV计算硬件312为经设计以除计算CV特征之外具有极少或无功能性的硬件的意义上来说,所述CV计算硬件312为专用CV计算硬件。

在一些实施方案中,CV计算硬件312可使用与如参考图1所论述的传感器元件或像素的块相关联的信号的组合、总和或平均值。在此类实施方案中,如所参考图16A到16B、17A到17D、18A到18B、19及20所描述的积分图像可适用于在输入到CV计算硬件312中之前计算此类组合、总和或平均值。因此,任选地,视觉传感器还可包含二维积分硬件316,所述二维积分硬件316用于基于表示由传感器元件阵列中的传感器元件的至少一子集取样的图像的信号的至少一子集计算图像的至少一部分的积分图像。如所说明,二维积分硬件316可与专用CV计算硬件通信。相较于直接添加信号值,可使用表示由传感器元件阵列取样的图像的积分图像及/或由传感器元件阵列取样的图像的一部分的积分图像以较快速地对用于传感器元件的块的信号值进行组合、求和或平均化,如本文中其它处所解释。二维积分硬件316可包含能够基于来自传感器元件阵列的原始信号在数字或模拟域中产生表示由传感器元件阵列取样的图像的全部或一部分的积分图像的信号的电路。在一些实施方案中,由二维积分硬件316产生的积分图像(其可为由传感器元件阵列取样的图像的仅一部分或样本窗口的积分图像)可存储于硬件扫描窗口阵列318中,如图3B中所说明。举例来说,硬件扫描窗口阵列可包含用于存储积分图像的随机存取存储器(RAM)阵列或其它形成的模拟或数字存储器。在计算对应于传感器元件的块的信号的组合、总和或平均值并非适用的实施方案(例如像素层级的LBP)中,应理解,可不包含二维积分硬件316,且因此包含来自传感器元件阵列310的模拟原始信号或来自ADC 314的经转换为数字的原始信号的样本窗口可直接存储于硬件扫描窗口阵列318中。此外,应理解,在一些实施方案中,二维积分硬件316还可或替代地执行一维积分,如参考图17A到17D、18A到18B、19及20所论述。相似地,硬件扫描窗口阵列318可存储对应于由传感器阵列308捕捉的图像的样本窗口的一维积分图像。使用一维积分图像可允许(例如)使用经旋转块计算多块LBP以便检测经旋转参考对象,例如,面部。

视觉传感器还可包含CV计算硬件312。在一些实施方案中,CV计算硬件可至少部分地基于与接近于传感器元件的块的多个相邻传感器元件相关联的信号计算用于一或多个主体传感器元件的块的局部化CV特征。举例来说,在CV计算硬件的局部二进制模式(LBP)实施方案中,CV计算硬件可包含接收对应于原始图像信号的信号值—或原始图像信号的组合、总和或平均值(例如使用积分图像产生)—且基于原始图像信号产生数字LBP标签的硬件。在计算多块LBP的实施方案中,作为一个实例,一或多个主体传感器元件的块可包含11乘11个传感器元件的块。也应理解,也可进行像素层级的LBP计算,其中计算局部化CV特征所针对的一或多个主体传感器元件的块为单一主体传感器元件。尽管以上描述将CV计算硬件312提及为与专用微处理器320分离,但应理解,在一些实施方案中,可在专用微处理器320内以硬件实施专用CV计算硬件312。

相较于在处理器(例如通用处理器,例如应用程序处理器或甚至专用微处理器)中计算CV特征,在专用硬件中产生CV特征,例如上文所论述的LBP标签,可降低视觉传感器的功率。然而,视觉传感器仍可包含耦合到CV计算硬件312的专用微处理器320。专用微处理器320从CV计算硬件312接收经硬件计算的CV特征且可执行较高层级计算机视觉运算,例如对象类别检测(对象类别检测中的面部检测可被看作是特定状况),以及其它计算机视觉运算,在所述对象类别检测中,任务为找到图像中的属于给定类别的所有对象的部位及大小。此外,专用微处理器320可将控制信号提供至线缓冲器310、ADC 314、二维积分硬件316、硬件扫描窗口阵列318及CV计算硬件312。在一些实施方案中,为执行对象类别检测或其它计算机视觉运算,专用微处理器320可使用级联分类器算法以执行对象类别检测,例如面部检测。在任选的实施方案中,通过以硬件实施级联分类器来进一步降低微处理器上的计算负担,进一步功率节省是可能的。

任选的级联分类器硬件322包含级联分类器的硬件实施方案。在一些实施方案中,使用关于图像的数据集的机器学习技术训练级联分类器,所述图像的数据集包含将训练级联分类器所针对的对象的实例及非对象的实例,例如面部及非面部的图像。举例来说,在第一级中,级联分类器硬件可向CV计算硬件312请求,针对某一数目(l)的存储于(例如)硬件扫描窗口阵列318中的主体传感器元件计算LBP特征。另外,也将由级联分类器硬件322提供主体传感器元件的部位{(x11,y11),…(x1l,y1l)}。一旦CV计算硬件312提供可经处理为向量值的所请求的LBP特征,随即级联分类器硬件执行LBP特征中的每一者与一或多个权重的点积的求和以产生第一经加权标量总和值。一般来说,每一LBP特征(LBP11,…,LBP1l)将乘以给定权重(w11,…,w1l),所述给定权重中的每一者可不同。接着比较第一经加权标量总和值与第一阈值。如果标量总和小于阈值,那么在给定机率上,由存储于硬件扫描窗口阵列318中的信号表示的图像的部分中不存在面部,且因此级联分类器硬件322将信号发送到硬件扫描窗口阵列318,且任选地发送到视觉传感器的其它组件,例如线缓冲器310及传感器元件阵列308,以指示硬件扫描窗口阵列318应继续扫描且应添加一或多个新的列或行且移除一或多个旧的列或行。在图像的后续窗口或对应于传感器元件阵列的传感器元件的后续子集的后续多个信号存储于硬件扫描窗口阵列318中的情况下,所述过程可再次开始。应理解,图像的后续窗口可在很大程度上与图像的先前窗口重叠。在一些实施方案中,从左到右扫描图像,且一旦到达传感器元件阵列308的最后,随即可在往下移动一或多个行后再次从左到右扫描图像。在另一实施方案中,可在往下移位一或多个行之后从右到左扫描图像,从而可允许与先前图像的经增加的重叠。

如果标量总和大于第一阈值,那么级联分类器硬件322移动到下一级。在下一(在此实例中,第二)级中,级联分类器硬件再次请求CV计算硬件312向存储于硬件扫描窗口阵列318中的在部位{(x21,y21),…(x2m,y2m)}处的m个主体传感器元件提供LBP特征。一旦CV计算硬件312计算且提供所请求的LBP特征(LBP21,…,LBP2m),随即级联分类器硬件322执行LBP特征中的每一者的点积与一或多个权重(w21,…,w2m)的另一求和,以产生第二经加权标量总和值。接着比较第二经加权标量总和值与第二阈值。如果标量总和小于第二阈值,那么面部存在于由存储于硬件扫描窗口阵列318中的信号表示的图像的部分中,存在低可能性,且级联分类器将信号发送到视觉传感器阵列中的其它组件以继续扫描且移动到图像的下一部分。如果第二经加权标量总和值大于第二阈值,那么所述过程如上文所描述继续到第三级。在最后级(例如N级级联分类器中的第N级)的端部处,如果第N经加权标量总和值大于第N阈值,那么在存储于硬件扫描窗口阵列318中的图像的部分中检测到面部。级联分类器硬件322接着可向专用微处理器320指示已检测到面部,且可进一步任选地指示其中检测到面部或面部的部分的图像的部分部位。

在每一级处计算LBP所针对之硬件扫描窗口阵列318内之主体传感器元件的数目及部位通常经编程到级联分类器硬件322中且由上文所论述的机器学习训练所造成。相似地,通常也在机器学习训练期间确定用以与LBP特征中的每一者相乘的权重且接着将所述权重编程到级联分类器硬件322中。级的数目也由训练造成,且经编程到级联分类器硬件322中。在一些实施方案中,级联分类器可包含介于1与31之间的级,例如,15个级。在一些实施方案中,在级联分类器硬件322为经设计以执行级联分类器功能及极少到无其它大量功能的硬件的意义上来说,所述级联分类器硬件322可被视为专用级联分类器硬件。虽然上文所描述的实施方案涉及基于经编程权重及阈值(所述经编程权重及阈值基于实验室中用以产生模型的先前训练及机器学习)的级联分类器,但应理解,级联分类器硬件322或外围电路中经设计以基于从CV计算硬件312接收的经硬件计算的CV特征执行CV运算的其它硬件可经设计以在现场执行机器学习。

在刚刚描述的实施方案中,专用微处理器320可接着确定如何处置(例如)检测到面部的事件。举例来说,其可将事件发送到第二微处理器。在一些实施方案中,专用微处理器320及第二微处理器可分别对应于图4A及4B的专用微处理器406及应用程序处理器408。如图3B中所说明,专用微处理器320包含用于与第二微处理器的通信的接口324。

尽管以上描述将级联分类器硬件322提及为与专用微处理器320分离,但应理解,在一些实施方案中,专用级联分类器硬件322可在专用微处理器320内以硬件实施。替代地,级联分类器可作为软件算法在专用微处理器320上运行。此外,其它软件算法可代替级联分类器,或除级联分类器之外,其它软件算法也可在专用微处理器上运行。举例来说,可使用直方图执行面部检测,如图14C中所描述。在一些此类实施方案中,针对存储于扫描窗口阵列318中的图像的样本窗口而计算的所有LBP标签的直方图可与参考直方图比较以检测面部在存储于扫描窗口阵列318中的样本窗口中的存在。在一些实施方案中,可实施专用硬件以使用直方图检测(例如)面部。此类实施方案可包含代替或除级联分类器硬件322之外的此类专用硬件。

在图3B中所说明的实施方案中,线缓冲器310、ADC 314、二维积分硬件316、硬件扫描窗口阵列318、CV计算硬件312、级联分类器硬件322中的一或多者或其任何组合可被视为外围电路304,即在传感器元件阵列308外围的电路。也应理解,刚刚列举的各个组件或其任何组合可替代地实施为传感器元件阵列308内的像素内电路。

在图2、3A及3B中所说明的各种实施方案中,专用CV计算硬件可使用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或用于执行本发明的各方面的任何相似模拟或数字计算逻辑实施为耦合到传感器元件阵列的数字逻辑。

在某些实施方案中,实施为专用CV处理模块的专用CV计算硬件可经配置以执行存储在非暂时性计算机可读媒体上的指令以用于计算CV特征。举例来说,与可执行具有用于服务来自用户接口的中断、与I/O互动等的若干不同功能及应用程序的操作系统的通用处理器相比,经实施为专用CV处理模块的专用CV计算硬件可主要经配置以执行用于计算CV特征的指令。

此外,如图4A中所展示,在某些实施方案中,传感器设备400可具有传感器402、计算机视觉计算硬件404及专用微处理器406。计算机视觉计算硬件404可为用于对所感测信息执行初始处理的如图2、3A及3B中所描述的像素内电路或外围电路。专用微处理器406可使用ASIC、FPGA、嵌入式微处理器或用于执行本发明的各方面的任何相似模拟或数字计算逻辑来实施。

应注意,至少在某些实施方案中,专用微处理器406是补充应用程序处理器408而非代替应用程序处理器408。举例来说,专用微处理器406可接收所检测到的计算机视觉特征、对象类别检测及/或与先前经存储图像或参考指示符的模式匹配的指示,以确定宏特征或检测参考对象(例如笑容、面部、对象等)在图像中的存在或不存在。如本文中所使用,宏特征可指代使用基于经计算的(例如,经硬件计算的)CV特征的CV计算或运算检测到的对象(例如面部)或对象的部分或方面(肌理、笑容、面部上的表情)。专用微处理器406可将宏特征检测的指示发送到应用程序处理器408。应用程序处理器408可获得所述信息并基于所述输入执行动作。举例来说,对于移动装置,应用程序处理器408可在检测到用户的面部之后解锁移动装置屏幕。相似地,对于玩具狗,应用程序处理器408可在检测到笑容时产生友好狗叫音频。在任何状况下,可由包含专用微处理器406的低功率系统(例如传感器设备400)在相对于直接由应用程序处理器408进行的计算机视觉特征计算具有功率节省的情况下计算较高层级计算机视觉特征。在应用程序处理器相比于专用微处理器406为较高功率处理器的实施方案中尤其如此。

一般来说(例如在移动装置上下文中),应用程序处理器408可相对较复杂、计算密集、功率密集且负责执行系统层级运算(例如操作系统运算),且可实施用户接口以用于与用户互动、执行装置的功率管理、管理存储器及其它资源等,而专用微处理器可相对较不如此。应用程序处理器408可与图21的处理器2110相似。

然而,在某些实施方案中,应用程序处理器408较不复杂且功率较低。举例来说,具有相机及视频能力的玩具可在传感器设备400自身内检测到儿童正微笑,且接着使用来自应用程序处理器408的逻辑执行狗叫动作。

图4A公开使用有线接口耦合到应用程序处理器408的专用微处理器406。专用微处理器406与应用程序处理器408之间的有线接口的实例可包含串行外围接口(SPI)、内部集成电路(I2C)、低电压差分信令(LVDS)或关于这点的任何其它合适的有线协议中的一或多者。

然而,如图4B中所展示,在某些实施方案中,专用微处理器406可使用无线接口耦合到应用程序处理器408。为无线地连接到应用程序处理器408,专用微处理器406可连接到耦合到传感器设备400的中间无线模块410(在图4B中被称作传感器无线模块410)。在一些实施方案中,传感器无线模块410可使用上文所论述的有线接口连接到专用微处理器406。又,传感器无线模块410可与可耦合到应用程序处理器408的应用程序处理器无线模块412无线地通信。无线模块可经配置以使用一或多个合适无线协议以与应用程序处理器408通信,例如紫蜂(IEEE 802.15.4标准)、人体局域网络(IEEE 802.15.6)、无线USB、Wi-Fi(802.11)、Z-wave或IrDA(基于红外线的通信)。

根据本发明的各方面,在某些实施例中,可根据本发明的各方面改善多种不同传感器。实例传感器可包含视觉传感器、嗅觉传感器及/或化学传感器。尽管贯穿本发明论述视觉传感器,但可在不脱离本发明的范围的情况下在其它类型的传感器中使用相似技术。

在一个实施方案中,技术描述用于在将传感器数据发送到应用程序处理器或在传感器设备外部的任何其它处理实体之前在像素内电路、外围电路或专用微处理器内计算特征(例如,CV特征及宏特征)的专用电路或系统。用于计算特征的此类专用电路带来功率节省,这是由于(1)所述电路经优化用于计算特定特征,(2)相关于处理器指令解码、存储器转移等涉及较少开销。

另外,可从CV特征导出例如面部、笑容等的宏特征,且也可使用计算机视觉计算硬件404及/或专用微处理器406产生所述宏特征。

图5及图6说明用于包括视觉传感器的传感设备的实例实施方案。可使用若干技术以用于使用耦合到计算装置的一或多个相机来获取图像或一系列图像,例如视频。

图5说明视觉传感器的实例实施方案。视觉传感器(例如先进光传感器(APS))可用于照相机或摄像机中以用于获取图像数据。在基于帧的实施方案中,图像数据获取可与时钟同步,且可以与获取时钟同步的预定频率获取用于整个图像帧的数据。在一个实施方案中,相机可包括传感器元件阵列502,所述传感器元件阵列502包括多个传感器元件。每一传感器元件可耦合到像素内电路,且可被共同地称作像素。每一像素可经配置以获取与获取时钟同步的图像数据。

如图5中所展示,行驱动器504(ROW DRV)针对整个帧触发对数据的逐行读取,且将所述数据发送到在用于CV运算的处理器上执行的图像处理块。定时控制器510(TCON)在相关双取样块506处触发相关双取样(CDS)。可使用相关双取样以用于校准用于每一传感器的检测电压。举例来说,在一个实施方案中,当传感器经曝光于光以适当地校准用于传感器元件的检测电压时,可检测到电压。信息在传感器与CDS之间的模拟域内传递。CDS处理数据且将所述数据发送到模拟域内部的模/数转换器508(ADC)。ADC将模拟数据转换为数字数据,且将所述数据发射到处理器以用于使用CV运算进行图像处理,所述CV运算使用处理器512。如下文较详细论述,在基于帧的相机中执行CV计算带来高功率消耗。

图6说明用于包括视觉传感器的传感设备的实例实施方案。可使用若干技术以用于使用耦合到计算装置的一或多个相机来获取图像或一系列图像,例如视频。

图6说明使用基于事件的相机的视觉传感器的实例实施方案。视觉传感器可用于照相机或摄像机中以用于获取图像数据。基于事件的相机传感器可经配置以基于事件获取图像信息。在一个实施方案中,基于事件的相机可包括多个像素,如图1中所展示。每一像素可包括传感器元件及像素内电路。每一像素可经配置以基于在所述像素处所检测到的事件来获取图像数据。举例来说,在一个实施方案中,在任何给定像素处所感知的环境条件的改变(例如,反射离开对象的光的改变)可引起超出阈值的电压改变,并且可引起在像素处的事件。响应于所述事件,与像素相关联的逻辑可将传感器元件读数发送到处理器以用于进一步处理。

参看图7,每一像素700可包含光电二极管702及动态视觉传感器(DVS)704电路,如图7中所展示。DVS模块也可被称作事件检测电路。事件检测模块检测在像素处值的改变并且产生事件指示符。如果检测到事件,那么在像素的强度改变成超出阈值时将传感器读数发出到处理器。在一些情况下,检测到事件所在的传感器元件的部位连同有效负载一起被发送到计算机系统以用于进一步处理。在一个实施方案中,有效负载可为强度电压、强度电压的改变或强度电压的改变的极性(正负号)。在一些情况下,与传统的基于帧的相机相比,基于事件的相机可引起基本上较低数量的数据被传递到处理器以用于进一步处理,这引起了功率节省。

在图6中,块602集体地表示传感器及事件检测电路。块602表示具有多个像素的传感器,每一像素包括用于事件检测的传感器元件及电路。每一像素使用传感器元件产生传感器读数。稍后数字化传感器读数,即,使用ADC转换器608从模拟数据转换为数字数据。行驱动器604(ROW DRV)针对整个帧触发对数据的逐行读取。定时控制器610(TCON)触发传感器读数的取样。在一个实施例中,对于每一像素,先前传感器读取的结果可存储在列并行SRAM 606中。存储在列并行SRAM 606中的结果可以由比较器使用以基于当前传感器读数与先前传感器读数之间的比较来比较及触发事件。使用模/数(ADC)转换器608将在像素处获取的模拟信息转换到数字域。可将经数字化传感器读数发送到处理器612以用于使用计算机视觉运算进行进一步图像处理。

处理器612可对从个别像素接收的信息执行某些CV运算以用于检测特征且因此检测与彼等特征相关联的对象。特征可包含较不复杂的特征,例如边缘、拐角等。CV运算可使用来自传感器元件阵列的多个像素的信息以用于通过执行多像素计算来检测特征。举例来说,为了执行用于主体传感器元件或像素的CV运算,CV运算可使用传感器读数,所述传感器读数是由接近于主体传感器元件或像素的相邻传感器元件或像素产生的。

如本文中所描述,相对地接近于主体传感器元件的传感器元件可被称为相邻传感器元件。在本发明的某些方面中,相邻传感器元件可包含紧邻所述主体传感器元件的传感器元件。在本发明的某些其它方面中,相邻传感器元件还可包含相对接近于所述主体传感器元件但不紧邻的传感器元件。举例来说,在某些情况下,当数个传感器的宽度或高度为六十四个传感器元件时,距所述主体传感器元件三个传感器元件内的传感器元件可仍被视为相邻传感器元件。

在某些实施例中,当相较于图2、3A、3B、4A、4B中所说明的实施方案时,对应用程序处理器406执行例如LBP及HSG的CV运算可为功率密集且处理密集的。此外,将模拟像素值转换为数字像素值可消耗功率,且因此,在一些实施方案中,在模拟域中计算CV特征可为适用的。尽管如图3B的一些实施方案中所说明,相对于执行由CV计算硬件312且任选地级联分类器硬件322在(例如)微处理器中纯粹以软件执行的计算,数字实施方案还可提供功率节省。此外,在应用程序处理器406上检测CV特征可为功率密集且处理密集的,这是因为在许多情况下在应用程序处理器406上执行CV运算要求在系统存储器中存储来自传感器的信息、触发传感器信息的处理、提取来自存储器的指令以用于CV计算并且存储结果。另外,应用程序处理器在执行指令时406通常为耗功率的。来自传感器的假性的或未引起关注的事件唤醒由于不活跃而可能在低功率模式中运行的应用程序处理器406并且大幅增加了系统的功率消耗。

本发明的某些实施例描述用于使用专用CV计算硬件执行例如LBP及HSG计算的CV运算而非唤醒应用程序处理器406且在应用程序处理器406处计算这些低层级CV特征的技术。

如本文中所描述,CV特征或局部化CV特征可指代检测低层级计算机视觉标记或指示符,例如与传感器的每一传感器元件或像素相关联的标签。举例来说,标签可包含用于传感器元件的LBP标签。用于传感器元件的LBP标签可通过比较所述传感器元件的传感器读数与其相邻传感器元件中的一些的传感器读数来产生。LBP标签可指示来自传感器元件的参考的CV特征是否表示边缘或线边缘、拐角或线边缘的拐角、曲线、斑点等。例如HSG的其它技术可用于在不偏离本发明的范围的情况下检测CV特征。

如本文中所描述,基于CV特征的改变检测及/或产生事件可指代从传感器元件或传感器元件的小群组的角度检测特征的改变。举例来说,如果在传感器元件处的LBP标签改变,那么可检测到及/或产生事件。换句话说,如果在传感器元件处所检测到的CV特征由斑点变化为边缘,那么这可触发事件的产生。

如下文更详细地描述,可以将具有额外信息(例如部位及CV特征信息)的事件的产生提供到应用程序处理器以用于进一步处理。在本发明的一个方面中,应用程序处理器可使用这些事件及相关联信息以用于检测宏特征,例如笑容、面部或任何其它关于这点的对象。

图8说明用于执行本发明的各方面的实例像素806。图8中的像素包括用于像素内模拟处理的传感电路802(例如,至少一个光电二极管)及CV块804。如图8中所展示,在某些实施方案中,多个电容器可用于存储先前及当前电压。CV块804可使用例如LBP或HSG的CV运算以用于特征检测。输出可包含指示特征检测的各方面的信息。图9提供用于计算LBP标签或特征的实例电路,而图10提供用于计算HSG特征的实例电路。在一些情况下,具有电容值的电容器反映用于执行模拟加权的加权及作为多像素计算的部分的求和,所述多像素计算基于由相邻传感器元件产生的传感器读数而予以执行。举例来说,为了产生HSG标签,将电压施加到具有不同电容的电容器使与所述电压输入相关联的权重变化。当多个电容器平行地链接时,来自多个像素的经施加到多个电容器的电压具有基于各别电容器的电容产生加权总和的效应。

尽管图8、图9及图10说明像素内电路(如图2中所公开)中的逻辑及/或电路的实例实施方案,但此类逻辑及/或电路可在不偏离本发明的范围的的情况下实施为外围电路(如图3A及3B中所展示)。此外,此类逻辑及/或电路可在不偏离本发明的范围的情况下实施为模拟及/或数字电路。

图11及图12说明基于事件的传感器中的计算机视觉运算的两个实例实施方案。尽管图11及12说明基于事件的相机,但在不偏离本发明的范围的情况下相似实施方案对于基于帧的相机也是可能的。

图11说明用于在像素内电路或外围电路中执行计算机视觉运算的传感设备的实例框图。图11说明传感器1102、动态视觉传感器(DVS)模块1104及CV模块1106。如图11中所展示,在从传感器1102产生传感器读数后,DVS模块1104可基于传感器读数中所检测到的改变检测事件。一旦检测到事件,随即CV模块可执行CV运算且在特征层级粒度上检测事件。在一些情况下,在检测到特征后,CV模块即可将信息发送到处理器以用于进一步处理。

传感器1102、DVS模块1104及CV模块1106可以各种不同配置在各种不同粒度处实施。举例来说,图11中的传感器可表示单一传感器元件(例如图1中的传感器元件102)或整个传感器元件阵列(例如图1中的传感器100)。来自传感器1102的传感器读数被不断地发送到DVS模块1104。

DVS模块1104可实施为像素内电路或外围电路或其任何组合。在DVS模块1104处理用于多个像素的传感器读数的配置中,DVS模块704可处理来自与传感器元件阵列的一个维度(例如列(也被称作列并行DVS))或整个传感器元件阵列相关联的传感器元件的传感器读数。DVS模块1104可不断地比较传感器读数(例如用于传感器元件的电压强度)与其先前经存储模拟读数。如果电压强度的差或改变超出预定阈值,那么DVS模块1104可将事件引发到CV模块1106。由DVS模块1104引发的事件在像素层级粒度处,如图11中所展示。

相似地,CV模块1106可实施为传感器像素中的每一者内部的像素内电路或实施为用于处理用于多个像素的传感器读数的外围电路,实施为芯片上传感器电路或其任何组合。在CV模块1106处理用于多个像素的传感器读数的配置中,CV模块1106可处理来自与传感器元件阵列的一个维度(例如列(也被称作列并行CV))或整个传感器元件阵列相关联的传感器元件的传感器读数。

虽然未展示,但CV模块1106可经配置以基于由接近于参考传感器元件的相邻传感器元件所产生的传感器读数执行表示用于传感器元件的多像素计算的模拟或数字运算。

CV模块1106可通过产生HSG或LBP标签检测例如边缘及拐角的特征。因此,对于所检测到的每一像素事件,CV模块可确定与经改变像素相关联的当前特征且输出作为特征事件的值,如图11中所展示。

图12说明用于在像素内电路或外围电路中执行计算机视觉运算的传感设备的另一实例框图。图12说明传感器1202、CV模块1204及DVS模块1206。与参看图11所描述的设备相比,在DVS运算之前执行图12中的CV运算。如图12中所展示,在从传感器1202产生作为模拟读数的传感器读数之后,CV模块1204可处理电压以使得能够检测特征且将信息传送到DVS模块1206。DVS模块1206可因此检测在特征粒度处的事件(与在像素粒度处的事件相反)。在一些情况下,在检测到特征后,CV模块即可将信息发送到处理器以用于进一步处理。

传感器1202、CV模块1204及DVS 1206模块可以在各种不同粒度处以各种不同配置实施。举例来说,图12中的传感器可表示单一传感器元件(例如来自图1的传感器元件1202)或整个传感器元件阵列(例如来自图1的传感器100)。

CV模块1204可实施为传感器像素中的每一者内部的像素内电路或实施为用于作为芯片上传感器模块处理用于多个像素的传感器读数的外围电路。在CV模块1204处理用于多个像素的传感器读数的配置中,CV模块1204可处理来自与传感器元件阵列的一个维度(例如列(也被称作列并行CV))或整个传感器元件阵列相关联的传感器元件的传感器读数。

尽管未展示,但CV模块1204可经配置以基于由接近于参考像素的相邻传感器元件所产生的传感器读数执行表示用于像素的多像素计算的模拟及数字运算。

相似地,DVS模块1206可实施为传感器像素中的每一者内部的像素内电路或实施为用于作为芯片上传感器模块处理用于多个像素的传感器读数的外围电路。在DVS模块1206处理用于多个像素的传感器读数的配置中,DVS模块1206可处理来自与传感器元件阵列的一个维度(例如列(也被称作列并行DVS))或整个传感器元件阵列相关联的传感器元件的传感器读数。

在图11及12中,除像素内或外围电路之外或作为像素内或外围电路的替代方案,还可在专用CV计算硬件中执行DVS及CV运算。此外,一旦检测到指示CV特征的CV标签,随即可将结果发送到专用微处理器404以用于进一步处理及检测一个或若干宏特征。

图13为根据本发明的某些方面的实例流程图。可由电路或逻辑执行过程1300(或本文中所描述的任何其它过程或其变化及/或组合)中的一些或全部。电路或逻辑可实施于像素内电路、外围电路、专用CV处理逻辑或其任何组合中。在一些情况下,可使用执行于数字电路上且存储在非暂时性计算机可读媒体上的指令实施逻辑的全部或部分。

在块1302处,例如主体传感器元件的组件基于入射到来自多个传感器元件的传感器元件上的光接收传感器读数。在一个实施方案中,传感器读数为由传感器元件上的入射光所引起的电压读数。在另一实施方案中,传感器读数为超出来自缓冲器或电容器中的先前所存储电压值的阈值的电压改变。

主体传感器元件可为来自形成传感器元件阵列的多个传感器元件的一个传感器元件。与图1中所展示的传感器元件阵列的说明相似,多个传感器元件可沿着传感器元件阵列的至少第一维度及第二维度布置。

在块1304处,例如CV计算硬件的组件可至少部分地基于与接近于传感器元件的块的多个相邻传感器元件相关联的信号计算用于一或多个主体传感器元件的块的一或多个局部化CV特征。

相对于相对接近于主体传感器元件的传感器读数,CV特征在任何给定时间点识别或提供与用于主体传感器元件的传感器读数相关联的特质。CV特征或局部化CV特征可指代检测低层级计算机视觉标记或指示符,例如与传感器的每一传感器元件或像素相关联的标签。举例来说,标签可包含用于传感器元件的局部二进制模式(LBP)标签。用于传感器元件的LBP标签可通过比较所述传感器元件的传感器读数与其相邻传感器元件中的一些的传感器读数来产生。相对接近于主体传感器元件的传感器元件可被称为相邻传感器元件。接近于主体传感器元件的多个相邻传感器元件可包含接近于或包含主体传感器元件的二维贴片(patch)。在本发明的某些方面中,相邻传感器元件可包含紧邻所述主体传感器元件的传感器元件。在本发明的某些其它方面中,相邻传感器元件还可包含相对接近于所述主体传感器元件但不紧邻的传感器元件。举例来说,在某些情况下,当数个传感器的宽度或高度为六十四个传感器元件时,距所述主体传感器元件三个传感器元件内的传感器元件可仍被视为相邻传感器元件。在某些实施方案中,可使用例如LBP标签的标签导出CV特征。

在块1306处,例如耦合到专用CV微处理器的专用微处理器406的组件基于经计算的一或多个局部化CV特征获得所检测到的参考对象的指示。在某些情况下,参考对象的此指示可从图3B的级联分类器硬件322接收。举例来说,级联分类器硬件322可基于经计算的一或多个局部化CV特征检测对象。图3B及图14C中较详细地描述从CV特征检测宏特征及/或对象的一个实例过程。替代地或另外,所述指示可由专用微处理器自身执行的CV运算所造成。在一些此类实施方案中,专用微处理器使用来自计算机视觉计算硬件404的经硬件计算的CV特征以执行例如对象检测的CV运算。

专用微处理器可通过接口耦合到传感器设备外部的另一处理器。接口可为有线的或无线的。有线接口可包含但不限于SPI、I2C或LVDS。为促进经由无线接口的通信,专用微处理器可耦合到无线模块且使用紫蜂(IEEE 802.15.4标准)、人体局域网络(IEEE 802.15.6)、无线USB、Wi-Fi(802.11)、Z-wave或IrDA(基于IR的通信)进行无线通信。

应了解,根据一个实施例,图13中说明的特定步骤提供一种在运算模式之间切换的特定方法。在替代性实施例中也可执行其它步骤序列。举例来说,替代性实施例可以不同次序执行上文概述的步骤/块。举例来说,用户可选择从第三操作模式变为第一操作模式,从第四模式到第二模式,或其间任何组合。此外,图13中所说明的个别步骤/块可包含可以适合所述个别步骤的各种序列执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤/块。所属领域的一般技术人员应认识并了解所述过程的许多变化、修改及替代方案。

图14A、14B及14C说明将传感器读数从多个传感器元件转换到CV特征且接着宏特征的过程。

图14A说明来自图1的多个传感器读数的传感器读数的群组(窗口1402),考虑使所述多个传感器读数产生用于主体传感器元件(例如,具有值“5”的传感器元件)的LBP标签。

图14B说明用于针对中心传感器元件1404产生二进制阈值以用于产生LBP标签的过程。针对中心传感器元件所产生的标签可由二进制值1111000表示。每一标签可从主体传感器元件的角度提供CV特征的指示。可针对对应于传感器阵列中的多个主体传感器元件的信号重复用以产生标签的阈值处理,多个主体传感器元件形成(例如)传感器阵列的传感器元件的样本窗口或子集。如图1中所提及,图14B中所说明的像素层级LBP可经扩展以包含多块LBP,其中通过比较对应于一或多个主体传感器元件的块的值(所述值的此总和与块中的一或多个主体传感器元件相关联)与其相邻传感器元件块来针对一或多个主体传感器元件的块产生所说明的二进制阈值。可通过计算积分图像来促进计算对应于传感器元件的块中的每一者的值。相似地,应理解,也可相似地计算LBP的延伸,例如局部三进制模式(LTP),从而取决于主体传感器元件与相邻传感器元件之间的差异提供三个输出。举例来说,在LTP的一个实施方案中,如果对应于相邻传感器元件的信号大于对应于主体传感器元件的信号加阈值,那么输出为一,如果对应于相邻传感器元件的信号相较于对应于主体传感器元件的信号在阈值内,那么输出为零,且如果对应于相邻传感器元件的信号小于对应于主体传感器元件的信号减阈值,那么输出为负的。

图14C说明用于窗口(例如,表示来自传感器元件阵列的传感器元件的某一子集的窗口)的实例经归一化直方图,所述直方图从用于来自窗口的传感器元件中的每一者的多个标签产生。如图14C中所展示,用于样本窗口中的传感器读数的LBP标签中的每一者可落在具有(例如)256个槽位的直方图上的任何地方。因此,举例来说,当比较主体传感器元件与其八个相邻者时,将产生8位的数字,意味着256个不同LBP标签是可能的。所述直方图可表示可能的LBP标签中的每一者实际上产生于样本窗口中的次数。为确定面部是否存在于样本窗口中,在一个实施方案中,所产生的直方图可与面部的参考直方图比较。可计算所产生的直方图与参考直方图之间的相交,且标量总和从相交的求和产生。如果标量总和大于阈值,那么在给定机率上,会在样本窗口内检测到面部。通常在训练阶段中对(在此实例中为)样本面部及样本非面部以及其LBP直方图的数据集使用机器学习算法来确定参考直方图及阈值。一旦在训练阶段中针对同一架构确定参考直方图及阈值,那么其可在(例如)图3B的专用微处理器320或图4A及4B的专用微处理器406中予以编程,或替代地以上直方图过程可由专用硬件执行以用于针对图像内的给定窗口计算直方图且确定面部或其它对象是否存在于样本窗口内。

此直方图可表示识别关于来自窗口1402的多个传感器读数的信息的某些特征。可基于统计学或试探法分析直方图以用于从图像或图像的样本窗口内的多个传感器读数识别或检测参考对象或宏特征,例如面部、笑容、对象等。在一些实施方案中,可比较所述直方图与先前经存储直方图。

然而,应注意,来自图14C的直方图并非按比例绘制或基于经计算的值,且仅仅表示直方图的视觉说明。所产生的直方图可用于检测用于计算机视觉的宏特征。举例来说,某些直方图模式可表示笑容、面部、对象等。

除上文所公开的实施例之外,下文公开用于使用在任意旋转下的矩形特征及1-D积分来执行计算机视觉的额外实施例。此类计算可在像素内电路204、外围电路或上文所公开的其它专用数字逻辑中的专用CV计算硬件中完成。

使用在任意旋转下的矩形特征及1-D积分的计算机视觉

许多现有CV算法需要在图像内的指定矩形内计算来自传感器元件的传感器读数的总和或平均值。此类计算机视觉算法可用于(例如)面部检测及其它类型的基于图像的任务中。一些解决方案并有积分图像的使用以加速某些计算。例如原始维奥拉-琼斯(Viola-Jones)算法的实施方案需要水平及/或垂直地对准矩形。这些实施方案已经扩展以包含经对角地对准的矩形及与整数比率对准的矩形。然而,这些解决方案限于在固定、预定角度下的特定对角对准。因此,需要可有效地予以实行的CV计算技术,且不限于在固定、预定角度下的对准。

另外,呈现用于有效地计算CV运算的方法、系统、计算机可读媒体及设备。在一些实施例中,接收包含传感器元件阵列(包含传感器元件的多个行)的原始图像。计算基于所接收的原始图像的1-D积分图像。1-D积分图像中的每一传感器元件具有基于以下两者的传感器元件值:所接收的原始图像中的对应传感器读数;及对应的所接收的原始图像中的同一行传感器元件中的在特定方向上的所有传感器元件的值。通过逐行地计算CV运算来执行对应于具有经叠加在原始图像上方的任意旋转的形状的CV运算。对于每一行,基于来自所述行的1-D积分图像的第一端传感器元件值及来自所述行的1-D积分图像的第二端传感器元件值来计算CV运算。

本发明的各方面使用1维积分以允许用于在任意角度下对准的矩形的计算。此可适用于跟踪可具有任意对准的图像中的面部或其它对象。可在硬件中实施计算这些积分的简单方法。

在一些实施例中,方法包含接收图像。所述方法进一步包含访问包括图像的多行传感器元件的传感器元件阵列。所述方法另外包含依序地确定用于多行中的一者内的每一传感器元件的传感器元件值。所述方法进一步包含,与确定用于每一传感器元件的传感器元件值同时,将用于所述行内的每一传感器元件的传感器元件值复制到第一缓冲器。所述方法另外包含将第一缓冲器中的传感器元件值与传感器元件值的先前求和相加,其中传感器元件值的先前求和表示用于在传感器元件阵列中的行之前的多个行中的每一者的传感器元件值的总和。

在一些实施例中,传感器元件值的先前求和存储于第二缓冲器中。在一些实施例中,多个行中的每一者包括多个单元,且其中所述多个单元中的每一者包括传感器元件值。在一些实施例中,执行相加步骤直到已确定用于传感器元件的行中的每一者内的每一传感器元件的传感器元件值为止。在一些实施例中,所述方法还包含至少部分地基于相加步骤计算所接收的图像的积分图像。在一些实施例中,所述方法还包含将积分图像转发到软件应用程序以用于进一步处理。在一些实施例中,设备包含包括图像的多行传感器元件的传感器元件阵列、缓冲器、加法器电路及处理器。所述处理器经配置以依序地确定用于多个行中的一者内的每一传感器元件的传感器元件值。处理器还经配置以,与确定用于每一传感器元件的传感器元件值同时,将用于所述行内的每一传感器元件的传感器元件值复制到缓冲器。所述处理器经进一步配置以经由加法器电路将缓冲器中的传感器元件值与传感器元件值的先前求和相加,其中传感器元件值的先前求和表示用于在传感器元件阵列中的所述行之前的所述多个行中的每一者的传感器元件值的总和。

在一些实施例中,用于有效地计算CV运算的方法包含接收包括传感器元件阵列的原始图像,所述传感器元件阵列包括多行传感器元件。所述方法还包含基于所接收的原始图像计算1-D积分图像,其中1-D积分图像中的每一传感器元件具有基于以下两者的传感器元件值:所接收的原始图像中的对应传感器元件值;及对应的所接收的原始图像中的同一行传感器元件中在特定方向上的所有传感器元件的值。所述方法另外包含通过逐行地计算CV运算来执行对应于具有经叠加在原始图像上方的任意旋转的形状的CV运算,其中对于每一行,基于来自所述行的1-D积分图像的第一端传感器元件值及来自所述行的1-D积分图像的第二端传感器元件值来计算CV运算。

在一些实施例中,所述形状为矩形。在一些实施例中,所述第一端为所述形状的边界内的最左边边缘,且所述第二端为所述形状的边界内的最右边边缘。

某些实例方法可包含:接收图像;访问包括图像的多行传感器元件的传感器元件阵列;将用于来自多行的一行的传感器元件值复制到第一缓冲器中的对应行中;及将传感器元件值写入到第二缓冲器,其中第二缓冲器中的每一传感器元件值等于第一缓冲器中的对应传感器元件值与在第一缓冲器中的对应传感器元件值之前的所有传感器元件值的总和。计算所接收的图像的积分图像可至少部分地基于写入步骤。积分图像可转发到软件应用程序以用于进一步处理。

某些传感器设备可包含传感器元件阵列及缓冲器、加法器电路以及用于将来自多行的一行的传感器读数复制到第一缓冲器中的对应行中的处理器,且将传感器元件值写入到第二缓冲器,其中第二缓冲器中的每一传感器读数值等于第一缓冲器中的对应传感器读数值与在第一缓冲器中的对应传感器读数值之前的所有传感器读数值的总和。

用于有效地计算CV运算的另一实例方法可包含:接收包括传感器元件阵列的原始图像,所述传感器元件阵列包括多行传感器元件;基于所接收的原始图像计算1-D积分图像,其中1-D积分图像中的每一传感器元件具有基于以下两者的传感器元件值:所接收的原始图像中的对应传感器元件值;及对应的所接收的原始图像中的同一行传感器元件中的在特定方向上的所有传感器元件的值;以及通过逐行地计算CV运算来执行对应于具有经叠加在原始图像上方的任意旋转的形状的CV运算,其中对于每一行,基于来自所述行的1-D积分图像的第一端传感器元件值及来自所述行的1-D积分图像的第二端传感器元件值来计算CV运算。所述形状可为矩形。所述第一端可为所述形状的边界内的最左边边缘,且所述第二端可为所述形状的边界内的最右边边缘。

图15A及15B说明用于使用类哈尔(Haar)特征的面部检测的现有方法。图15A及15B中所说明的图可使用维奥拉-琼斯算法及类哈尔特征以在图像内检测面部。

类哈尔特征考虑图像内的检测窗口中的特定部位处的邻近矩形区,对每一区中的传感器元件强度进行求和及计算这些总和之间的差。简单的矩形类哈尔特征可经界定为矩形内部的区域的传感器元件的总和的差,所述矩形在所述原始图像内可在任何位置处且呈任何比例。此差接着用于分类图像的子区段。举例来说,用于面部检测的共用类哈尔特征为处于眼睛及脸颊区上方的两个邻近矩形的集合。相对于像目标对象(在此状况下为面部)的限界框一样起作用的检测窗口界定这些矩形的位置。图15A中描绘两个邻近矩形的实例。经确定在左边“黑色”区中的传感器元件的数目可乘以-1,且经确定在右边“白色”区中的传感器元件的数目可乘以+1。这两个数字接着可一起进行求和以获得受到含有邻近矩形的窗口限界的图像的区的传感器元件值。可针对窗口内(或在一些状况下,窗口的子窗口内)的每一邻近矩形对重复此操作。

在维奥拉-琼斯算法的检测阶段中,在输入图像上方移动目标大小的窗口,且针对图像的每一子区段计算类哈尔特征。接着比较所述差与将非对象与对象分离的已得知阈值。因为此类哈尔特征仅为薄弱的学习者或分类器(其检测质量稍微比随机猜测好),所以大量类哈尔特征对于以充分准确度描述对象为必要的。因此,在维奥拉-琼斯算法中,在被称作分类器级联的某物中组织类哈尔特征以形成强大的学习者或分类器。然而,维奥拉-琼斯算法利用2-D积分,且具有任意角度的矩形无法与经对准矩形一样有效地予以计算。

图15B中描绘可由维奥拉-琼斯算法使用的各种邻近矩形。举例来说,邻近矩形可用于检测图像中的边缘特征(例如,1a、1b、1c、1d)。在另一实例中,多个邻近矩形可用于检测图像中的线特征(例如,2a、2b、2c、2d、2e、2f、2g、2h)。在又一实例中,矩形内所含有的矩形可用于检测图像中的环绕中心的特征(例如,3a、3b)。在又一实例中,多个矩形可经布置以检测图像中的特殊对角线特征(例如,4)。

然而,如可在图像中看出,含有矩形的窗口中的每一者在预定角度(例如,90度或45度)下对准。含有矩形的窗口不在任意角度下旋转。如上文所提及,现有维奥拉-琼斯算法在矩形在任意角度下旋转的情况下可不能够有效地检测特征。

图16A及16B说明遍及图像计算2-D积分的现有方法的实例。归因于所要求的大量计算,上文关于图15A及15B所描述的矩形中的传感器元件的数目的求和可为无效的。使用2-D积分可允许更高效的计算来确定用于受到含有邻近矩形的窗口限界的图像的区的传感器元件值。如图16A中所展示,对于任何给定x-y坐标,可对x-y坐标的在顶部且左边的范围(由阴影区说明)中的传感器元件的数目进行求和。此区中的传感器元件值的此总和可经保留以用于计算效率,图16B中的实例说明此情形。在图16B中,四个不同子窗口存在于所述窗口内。这些子窗口中的每一者可含有多个邻近矩形。另外,图中说明x-y坐标(例如,1、2、3及4)。然而,子窗口的先前计算可重新用于其它子窗口的未来计算。

举例来说,可通过从x-y坐标4减去x-y坐标2及x-y坐标3的值且接着将x-y坐标1与x-y坐标4相加来计算子窗口“D”的传感器元件的总和。换句话说:总和(‘D’)=值(‘4’)-值(‘2’)-值(‘3’)+值(‘1’)。因此,仅要求四个查询以确定子窗口“D”的传感器元件的总和。相较于关于图15A及图15B所描述的求和方法,此计算方法可改善计算效率,这是因为不要求用于每一个别特征的求和。然而,此方法在矩形在任意角度下旋转的情况下仍可不能够有效地检测特征。

图17A到17D说明遍及经旋转矩形计算2-D积分的现有方法的实例。林哈特(Lienhart)等人已将关于图17A及17B所描述的积分图像计算扩展到经旋转矩形(参见林哈特赖纳(Rainer Lienhart)及约亨梅特(Jochen Maydt),用于快速对象检测的类哈尔特征的经扩展集合,2002年)。图17A展示与图16A中所展示的内容相似的直立经求和区域表(SAT)。然而,图17B说明经旋转经求和区域表(RSAT)。在此实例中,RSAT为45度经旋转积分图像。对RSAT执行图16A及16B中所描述的2-D积分运算将计算经旋转拐角(例如,TSAT(x,y))中的传感器元件值的总和。图17C展示传统经对准矩形的传感器元件总和的计算方案,而图17D展示经旋转矩形的传感器元件总和的计算方案。“-”符号说明从TSAT(x,y)处的传感器元件值减去的区域,且“+”符号说明与TSAT(x,y)处的传感器元件值相加的区域。

此方法可提供用以计算的类哈尔特征的较丰富集合。然而,预定角度,且因此,所述方法仍可致力于有效地计算具有任意旋转角度的矩形。此外,可需要预定旋转角度(例如,单位整数旋转角度)以使现有解决方案起作用(参见克里斯梅森(Chris Messom)及安德烈巴克扎克(Andre Barczak),使用经旋转积分图像的快速及有效经旋转类哈尔特征,2006年)。

使用1-D积分计算任意角度的传感器元件值总和

图18A到18B说明根据一些实施方案的使用1-D积分以用于计算具有任意角度的矩形区域。如上文所描述,简单求和或使用2-D积分的求和以计算任意角度的现有方法可不与计算经对准矩形一样有效。虽然已进行了一些改善以计算用于具有预定旋转的矩形的传感器元件总和值,但这些方法仍无法有效地计算用于具有任意角度的矩形的传感器元件总和值。当矩形具有任意旋转角度时,使用2-D积分可产生数千个角度,其中可需要针对积分图像计算每一角度。

然而,使用1-D积分以用于计算用于具有任意旋转的矩形的传感器元件总和值可用于加速。此外,此方法可以硬件实施。图18A展示1-D积分图像内的在任意旋转角度下的矩形。可基于原始图像计算1-D积分图像。一旦计算出1-D积分图像,所述矩形(例如,类哈尔特征模板,或用于多块LBP的块)随即可经叠加在1-D积分图像上方。除用于在同一行内的特定传感器元件左边的每一传感器元件的传感器元件值之外,用于积分图像中的每一传感器元件的每一传感器元件值还可包含用于特定传感器元件的传感器元件值。为了计算用于矩形(由加阴影的传感器元件指示)内的传感器元件的传感器元件值的总和,可确定用于每一行的对应于矩形的传感器元件值的总和(图18B中说明此情形)。用于每一行的传感器元件值可通过从所述矩形内的所述行的最右边传感器元件的传感器元件值减去所述矩形内的所述行的最左边传感器元件的传感器元件值来予以确定。此计算将产生用于所述矩形内的特定行中的所有传感器元件的传感器元件值的总和。基本上,使用用于每一行的矩形的“边界”以确定用于整个行的传感器元件总和值。可针对水平传感器元件线及垂直传感器元件线两者完成此操作。每一新的传感器元件值与在同一行中的特定传感器元件左边的传感器元件值的先前结果相加。虽然所要求的查询的数目可相对于二维积分图像增加,但所述方法可仍在计算上较有效,这是因为不需要对所有图像值个别地求和。

图19说明根据一些实施方案的在硬件中计算1-D积分图像。所展示的硬件描绘传感器元件阵列(经标注为“像素阵列”)、读出缓冲器及积分计算缓冲器。可将来自传感器元件阵列中的每一行的电压值读出到读出缓冲器中。举例来说,将行N的电压值读出到读出缓冲器中。可从左到右(或从右到左)读出所述行中的每一传感器元件且以光栅化方式将其发送到读出缓冲器。每一传感器元件值可发送到读出缓冲器,且接着所述过程可针对下一行N+1重复。

可了解,实施方案允许通过以光栅化方式连续读出图像中的所有传感器元件来从相机传感器直接读出积分图像。由读出缓冲器接收的每一新的传感器元件值可通过积分计算缓冲器与同一行中的先前经读出传感器元件的先前传感器元件总和值相加以获得积分图像。

积分图像接着可发送到硬件(例如,图3B的扫描窗口阵列318或CV计算硬件312)以用于存储或用于CV计算。替代或另外地,一维积分图像可发送到软件,所述软件可确定其想要基于所接收的积分图像评估哪些矩形。可了解,在硬件中计算积分图像提供优于在软件中计算积分图像的优点(例如效率)。亦可了解,此方法可能够实际上计算在任意角度下的任何矩形,且可不需要经预定旋转角度的表。另外,此方法可提供所述矩形的较多经改进角度,而不是必须依赖于所述矩形的预定角度。最终,此可产生经改善的面部检测及其它CV应用程序。

图20说明根据一些实施方案的用于计算1-D积分的硬件实施方案。硬件实施方案包含图19中所展示的传感器元件阵列(经标注为“像素阵列”)、读出缓冲器及积分计算缓冲器。另外,硬件实施方案包含加法器电路(例如,8位加法器电路)。在传感器元件逐传感器元件地将传感器元件的行(例如,行N)读出到读出缓冲器中(如关于图19所描述)之后,可将“数据输出”输入到加法器电路中(从左到右)。加法器电路将来自读出缓冲器的输入“数据输出”与来自加法器电路的先前“数据输出”相加。相加的结果接着可为新的“数据输出”。因此,来自加法器电路的“数据输出”可为用于行N的经读出直到所述点的传感器元件值的本求和。来自加法器电路的“数据输出”接着可存储于积分计算缓冲器中。此过程可继续,直到行N中的所有传感器元件的读出已耗尽为止。在一些实施方案中,可将“数据输出”存储到(例如)图3B的扫描窗口阵列318中。

图21说明并有在实践本发明的实施例时所使用的装置及传感器100的部分的实例计算装置。举例来说,计算装置2100可表示移动装置或任何其它计算装置的组件中的一些。计算装置2100的实例包含但不限于桌上型计算机、工作站、个人计算机、超级计算机、视频游戏控制台、平板计算机、智能电话、膝上型计算机、上网本或其它便携式装置。图21提供计算装置2100的一个实施例的示意性说明,所述计算装置可执行如本文中所描述的各种其它实施例提供的方法,及/或可充当主机计算装置、远程公用信息机/终端、销售点装置、移动多功能装置、机顶盒及/或计算装置。图21仅意图提供对各种组件的一般化说明,可在视需要利用所述组件中的任一者或全部。因此,图21广泛地说明可如何以相对分离或相对较集成的方式实施个别系统元件。

展示计算装置2100,其包括可经由总线2105电耦合(或可以其它方式视需要通信)的硬件元件。所述硬件元件可包含:一或多个处理器2110,其包含但不限于一或多个通用处理器及/或一或多个专用处理器(例如数字信号处理芯片、图形加速处理器及/或其类似者);一或多个输入装置2115,其可包含但不限于一或多个相机传感器2150、鼠标、键盘及/或其类似者;以及一或多个输出装置2120,其可包含但不限于显示单元、打印机及/或其类似者。传感器2150模块可包含视觉传感器、嗅觉传感器及/或化学传感器。在一些实施方案中,传感器2150可对应于参考图1、3A、3B、4A、4B、5、6、11及12所描述的传感器元件阵列。

计算装置2100可进一步包含以下各者(及/或与以下各者通信):一或多个非暂时性存储装置2125,所述非暂时性存储装置可包括但不限于本地及/或网络可存取的存储装置,及/或可包含但不限于磁盘驱动器、驱动阵列、光学存储装置、例如随机存取存储器(“RAM”)及/或只读存储器(“ROM”)的固态存储装置,其可为可编程的、可快闪更新的及/或其类似者。此类存储装置可经配置以实施任何适当数据存储,包含但不限于各种文件系统、数据库结构及/或其类似者。

计算装置2100也可包含通信子系统2130。通信子系统2130可包含用于接收及发射数据的收发器或有线及/或无线媒体。通信子系统2130还可包含但不限于调制解调器、网卡(无线或有线)、红外线通信装置、无线通信装置及/或芯片组(例如,BluetoothTM装置、802.11装置、WiFi装置、WiMax装置、蜂窝式通信设施等)及/或其类似者。通信子系统2130可准许与网络(例如,作为一个实例,下文所描述的网络)、其它计算装置及/或本文中所描述的任何其它装置交换数据。在许多实施例中,计算装置2100将进一步包括非暂时性工作存储器2135,其可包含如上文所描述的随机存取存储器(RAM)或只读存储器(ROM)装置。

计算装置2100可包括展示为当前位于工作存储器2135内的软件元件,所述工作存储器包含操作系统2140、装置驱动器、可执行库及/或例如一或多个应用程序2145的其它代码,所述代码可包括由各种实施例所提供的计算机程序及/或可经设计以实施由其它实施例所提供的方法及/或配置由其它实施例所提供的系统,如本文中所描述。仅仅借助于实例,关于上文所论述的方法所描述的一或多个程序可实施为可由计算机(及/或计算机内的处理器)执行的代码及/或指令;在一方面中,这些代码及/或指令接着可用以配置及/或调适通用计算机(或其它装置)以根据所描述方法执行一或多个操作。

一组这些指令及/或代码可存储在计算机可读存储媒体(例如,上文所描述的存储装置2125)上。在一些状况下,存储媒体可并入例如计算装置2100的计算装置内。在其它实施例中,存储媒体可与计算装置分离(例如,可装卸式媒体,例如压缩光盘),及/或提供于安装包中,使得存储媒体可用以编程、配置及/或调适上面存储有指令/代码的通用计算机。这些指令可呈可由计算装置2100执行的可执行代码的形式,及/或可呈源及/或可安装代码的形式,所述源及/或可安装代码在计算装置2100上编译及/或安装于计算装置2100上(例如,使用多种通常可用编译程序、安装程序、压缩/解压缩公用程序等中的任一者)后,接着呈可执行代码的形式。

可根据特定要求作出相当大的变化。举例来说,还可使用定制硬件,且/或可将特定元件实施于硬件、软件(包含便携式软件,例如小程序等)或两者中。此外,可使用到其它计算装置2100(例如,网络输入/输出装置)的连接。

一些实施例可使用计算装置(例如计算装置2100)以执行根据本发明的方法。举例来说,可由计算装置2100响应于处理器2110执行工作存储器2135中所含有的一或多个指令(其可并入到操作系统2140及/或其它代码中,例如应用程序2145)的一或多个序列而执行所描述的方法的程序中的一些或全部。可将此类指令从另一计算机可读媒体(例如,存储装置2125中的一或多者)读取到工作存储器2135中。仅借助于实例,工作存储器2135中所含有的指令的序列的执行可使得处理器2110执行本文中所描述的方法的一或多个程序。

如本文中所使用,术语“机器可读媒体”及“计算机可读媒体”指参与提供使机器以特定方式操作的数据的任何媒体。在使用计算装置2100实施的实施例中,各种计算机可读媒体可涉及将指令/代码提供到处理器2110以用于执行,及/或可用于存储及/或携载此类指令/代码(例如,作为信号)。在许多实施方案中,计算机可读媒体为物理及/或有形存储媒体。此类媒体可呈许多形式,包含但不限于非易失性媒体、易失性媒体以及发射媒体。非易失性媒体包含(例如)光盘及/或磁盘,例如存储装置2125。易失性媒体包含但不限于例如工作存储器2135的动态存储器。发射媒体包含但不限于同轴电缆、铜线及光纤,包含包括总线2105的电线,以及通信子系统2130的各种组件(及/或供通信子系统2130提供与其它装置的通信的媒体)。因此,发射媒体还可呈波的形式(包含但不限于无线电、声波及/或光波,例如在无线电波及红外线数据通信期间产生的那些波)。在替代实施例中,可使用事件驱动组件及装置(例如相机),其中所述处理中的一些可在模拟域中执行。

物理及/或有形计算机可读媒体的常见形式包含(例如)软盘、软磁盘、硬盘、磁带或任何其它磁性媒体、只读光盘(CD-ROM)、任何其它光学媒体、穿孔卡、纸带、具有穿孔模式的任何其它物理媒体、随机存取存储器(RAM)、可编程只读存储器(PROM)、可抹除可编程只读存储器(EPROM)、快闪EPROM、任何其它存储器芯片或卡盘、如下文中所描述的载波,或计算机可从其读取指令及/或代码的任何其它媒体。

各种形式的计算机可读媒体可涉及将一或多个指令的一或多个序列携载到处理器2110以用于执行。仅仅借助于实例,最初可将指令携载于远程计算机的磁盘及/或光盘上。远程计算机可将所述指令加载到其动态存储器中,并经由发射媒体将所述指令作为信号发送以由计算装置2100接收及/或执行。根据本发明的各种实施例,可呈电磁信号、声学信号、光学信号及/或其类似者的形式的这些信号均为可在上面编码指令的载波的实例。

通信子系统2130(及/或其组件)通常将接收信号,且总线2105可接着将信号(及/或由信号所携载的数据、指令等)携载到处理器2110从其检索并执行指令的工作存储器2135。由工作存储器2135接收的指令在由处理器2110执行之前或之后可任选地存储在非暂时性存储装置2125上

上文所论述的方法、系统及装置为实例。各种实施例可视需要省略、取代或添加各种程序或组件。举例来说,在替代配置中,所描述的方法可以不同于所描述的次序来执行,及/或可添加、省略及/或组合各级。并且,可在各种其它实施例中组合关于某些实施例描述的特征。可以相似方式组合实施例的不同方面及元素。并且,技术演进,且因此,许多元件为实例,其并不将本发明的范围限于那些特定实例。

在描述中给出特定细节以提供对实施例的透彻理解。然而,可在没有这些特定细节的情况下实施实施例。举例来说,在没有不必要的细节的情况下展示众所周知的电路、过程、算法、结构及技术以便避免混淆所述实施例。此描述仅提供实例实施例,且并不意图限制本发明的范围、适用性或配置。相反地,实施例的前述描述将为所属领域的技术人员提供用于实施本发明的实施例的启迪性描述。可在不脱离本发明的精神及范围的情况下对元件的功能及布置做出各种改变。

并且,将一些实施例描述为以流程图或框图形式描绘的过程。尽管每一流程图或框图可将操作描述为依序过程,但许多操作可并行地或同时执行。此外,操作的次序可重新布置。过程可具有未包含在图中的额外步骤。此外,可由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施方法的实施例。当在软件、固件、中间件或微码中实施时,用以执行相关联任务的程序代码或代码段可存储在计算机可读媒体(例如存储媒体)中。处理器可执行相关联任务。

在已描述若干实施例的情况下,可在不脱离本发明的精神的情况下使用各种修改、替代构造及等效物。举例来说,以上元件可仅为较大系统的组件,其中其它规则可优先于本发明的应用或以其它方式修改本发明的应用。并且,可在考虑以上元件之前、期间或之后进行数个步骤。因此,以上描述不限制本发明的范围。

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