用于计算计算机视觉特征的可配置硬件的制作方法

文档序号:12513318阅读:386来源:国知局
用于计算计算机视觉特征的可配置硬件的制作方法与工艺

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



背景技术:

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

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



技术实现要素:

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

各技术描述用于基于传感器读数产生经计算的结果以供检测例如边缘、拐角等特征的设备和方法。所述传感器设备可包含传感器元件阵列,所述阵列包含多个传感器元件。所述传感器元件可被布置成2维阵列,例如列和行。所述传感器元件可基于环境条件而能够产生传感器读数。所述传感器设备还可包含专用计算机视觉(CV)计算硬件,所述计算硬件包括用于通过在模式之间切换而以出自多个模式中的一个模式进行运算的可配置硬件块。在某些实施例中,可通过使用开关来执行切换。开关可包含晶体管、多个晶体管开关电路或多路复用器。每一模式可使所述硬件能够使用不同类型的CV特征计算技术检测CV特征。举例来说,第一模式可用于使用线性二值模式(linear binary pattern;LBP)标记计算一或多个二维(2D)分块的CV特征,第二模式可用于使用带符号的梯度直方图(histogram of signed gradient;HSG)标记计算所述CV特征,且第三模式可用于使用加速分段测试特征(features from accelerated segment test;FAST)拐角计算CV特征。每一2D分块可包含来自传感器元件阵列中的传感器元件的子集的读数。在一个实施方案中,来自传感器元件的传感器元件阵列的传感器读数的CV特征由专用CV计算硬件以串行方式计算。

一种实例视觉传感器可包含传感器元件阵列,所述传感器元件阵列包括多个传感器元件,所述传感器元件沿着所述传感器元件阵列的至少一第一维度和第二维度布置,所述多个传感器元件中的每一者能够基于入射在所述传感器元件上的光而产生信号;且专用计算机视觉(CV)计算硬件能够接收来自所述传感器元件阵列的图像数据,并可配置以基于来自所述传感器元件阵列内的一或多个二维分块中的每一者中的传感器元件的信号而以串行方式计算一或多个二维分块的CV特征;所述专用CV计算硬件包含开关以允许所述CV计算硬件在第一模式中计算第一类型的CV特征且在第二模式中计算第二类型的CV特征。

一种实例方法可包含:接收基于入射在形成传感器元件阵列的多个传感器元件上的光的传感器读数,其中所述多个传感器元件沿着所述传感器元件阵列的至少一第一维度和第二维度布置;确定操作专用计算机视觉(CV)计算硬件的模式,所述计算硬件能够接收来自所述传感器元件阵列的图像数据并可配置以基于来自所述传感器元件阵列内的一或多个二维分块中的每一者中的传感器元件的信号而以串行方式计算一或多个二维分块的CV特征,所述专用CV计算硬件包含开关以允许所述CV计算硬件在第一模式中计算第一类型的CV特征且在第二模式中计算第二类型的CV特征;以及基于所确定的模式将所述专用CV计算硬件切换到所述第一模式或所述第二模式以供计算对应类型的CV特征。

在说明书中所描述的各种其它装置可由上文所论述的方法和设备利用以供执行本发明的各方面。此外,非暂时性计算机可读存储媒体可包含可由处理器执行以供执行本发明的各种方面的指令。

在本发明的某些方面,专用CV计算硬件可以是传感器元件阵列的外围装置。在一些情况下,第一类型的CV特征可以是局部二值模式(Local Binary Pattern;LBP)标记,其为LBP标记或加速分段测试特征(FAST)拐角的变体。第二类型的CV特征可为LBP标记的第二变体,或为带符号的梯度直方图(HSG)标记。专用CV计算硬件可耦合到专用微处理器或应用程序处理器。所述专用CV计算硬件可包含比较器、用于执行加权总和运算的电路,和/或电荷按比例缩放电路。在本发明的某些方面,所述专用CV计算硬件可经配置以切换到第三模式以供计算第一类型的CV特征和第二类型的CV特征。所述专用CV计算硬件的一部分可使用旁通路径旁通以计算第一类型的CV特征或第二类型的CV特征。

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

附图说明

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

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

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

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

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

图4说明耦合到专用CV处理模块的实例传感器元件阵列。

图5说明包括可配置块的实例传感器元件阵列。

图6说明根据本发明各方面的展示于图5中的实例总和库块。

图7说明根据本发明各方面的展示于图5中的取样与保存块的实例。

图8说明根据本发明各方面的展示于图5中的函数库的实例。

图9说明描述于图5中的可配置块的实例已选配置。

图10A说明用于执行带符号的梯度直方图(HSG)运算的实例传感元件读数。

图10B说明用于执行线性二值模式(LBP)运算的实例传感元件读数。

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

图12说明来自传感器阵列的描绘图像的帧的多个传感器读数。

图13A、13B、13C、13D和13E说明用于产生用于传感器元件的HSG标记的直方图的实例方法。

图14说明所检测到的垂直边缘、水平边缘和无边缘。

图15A和15B说明产生HSG标记。

图16说明使用用于多个传感器元件读数的HSG标记的实例直方图。

图17A、17B和17C说明针对在时间和处的九个传感器元件读数的网格所执行的实例计算。

图18表示三个连续时钟循环和

图19提供可用于本发明的各方面的电荷经缩放的电路的实例实施方案。

图20说明用于执行根据本发明的某些方面的运算的实例像素内电路和/或外围电路。

图21提供可用于本发明的各方面的比较器的实例实施方案。

图22说明用于使用来自加速分段测试特征(FAST)拐角检测特征的柏生汉姆(Bresenham)圆形。

图23说明在软件中用于检测拐角的实例计算时间段。

图24说明用于检测FAST拐角DE实例硬件实施方案。

图25说明可在其中实施一或多个实施例的计算装置的实例。

具体实施方式

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

各技术描述用于基于传感器读数产生经计算的结果以供检测例如边缘、拐角等特征的设备和方法。所述传感器设备可包含传感器元件阵列,所述阵列包含多个传感器元件。所述传感器元件可被布置成2维阵列,例如列和行。所述传感器元件可基于环境条件而能够产生传感器读数。所述传感器设备还可包含专用计算机视觉(CV)计算硬件,所述计算硬件包括用于通过在模式之间切换而以出自多个模式中的一个模式进行运算的可配置硬件块。在某些实施例中,可通过使用开关来执行切换。开关可包含晶体管、多个晶体管开关电路或多路复用器。每一模式可使所述硬件能够使用不同类型的CV特征计算技术检测CV特征。

举例来说,第一模式可用于使用线性二值模式(LBP)标记计算一或多个二维(2D)分块的CV特征,第二模式可用于使用带符号的梯度直方图(HSG)标记计算所述CV特征,且第三模式可用于使用加速分段测试特征(FAST)拐角计算CV特征。每一2D分块可包含来自传感器元件阵列中的传感器元件的子集的读数。在一个实施方案中,来自传感器元件的传感器元件阵列的传感器读数的CV特征由专用CV计算硬件以串行方式计算。

在一些实施方案中,所述专用CV计算硬件的可配置块可包含用于执行加权总和运算的比较器和电路。在一个实施方案中,电荷按比例缩放电路可用于执行加权总和运算。在一个实施方案中,所述配置电路的部分可使用旁通路径旁通以执行某些CV运算。在其它实施方案中,多路复用器可用于选择某些输入和输出以供执行CV运算。

可配置块可允许同一传感器设备和相关联的逻辑/电路以不同模式使用,以使用不同技术计算一或多个2D分块的CV特征。举例来说,在一个实施方案中,控制逻辑可控制所述可配置块,使得使用所述可配置块执行HSG运算。在另一个实施方案中,所述控制逻辑可控制所述可配置块,使得使用所述可配置块执行LBP运算。在一个实施方案中,所述控制逻辑中的模式或值可存储在SRAM中以供以不同模式执行运算。虽然本发明论述产生HSG和LBP标记以及FAST拐角检测,但在不背离本发明的范围的情况下可使用类似技术以产生不同类型的CV特征。

举例来说,在某些实施方案中,不同类型的CV特征还可包含计算LBP标记的变体。此类变体可包含(CS)-LBP,其中未考虑中心像素/块,并比较在中心块周围的所有相对拐角/边缘,且因此产生4个比较标记,所述比较标记接着表示LBP标记并且以与先前描述的LBP相同的方式使用。其它变体包含但不限于“分块对称”LBP(其中在比较中未考虑中心像素/块,而是计算出整个3×3分块的平均值,且接着将每一边缘/拐角与平均值进行比较)和“局部三值模式(local tertiary pattern;LTP)”(不只是包含1或零而是可包含+1、0和-1的结果的LBP的变体;零意指差值在阈值以下,且+1和-1意指差值大于阈值但还考虑差值的正负号)。

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

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

在某些实施方案中,所述传感器元件阵列可具有实施为耦合到一组传感器元件的外围电路(计算结构)的专用CV计算硬件。此类外围电路可被称为芯片上传感器电路。图3说明耦合到传感器元件阵列302的实例外围电路(304和306)。

此外,如图4中所展示,在某些实施方案中,所述传感器元件阵列可具有实施为耦合到传感器元件阵列402的专用CV处理模块404和使用专用集成电路(ASIC)、现场可编程门阵列(FPGA)、嵌入型微处理器或任何类似模拟或数字计算逻辑来实施以用于执行本发明的各方面的专用CV计算硬件。在某些实施方案中,实施为专用CV处理模块404的专用CV计算硬件可经配置以执行存储在非暂时性计算机可读媒体上以用于计算CV特征的指令。

应注意,至少在某些实施方案中,专用CV处理模块404是对应用程序处理器406的添加而非替代应用程序处理器406。举例来说,专用CV处理模块404可处理和/或检测计算机视觉特征,而应用程序处理器406可接收这些所检测到的计算机视觉特征的指示并进行与先前存储的图像或参考指示符的模式匹配以确定宏特征,例如笑容、人脸、对象等。另外,应用程序处理器406可相对极大地更复杂、计算更密集、高度耗电,并且负责执行例如操作系统操作的系统级操作,实施与用户互动的用户接口,执行装置的电力管理,管理存储器和其它资源等。应用程序处理器406可类似于图25的处理器2510。

此外,本发明的各方面可实施于像素内电路、外围电路中,或专用CV处理模块中,或其任何组合中。又,本发明的各方面可实施于模拟域和/或数字域或其任何组合中。

如本文中所描述,专用CV计算硬件至少部分基于与接近目标传感器元件的多个相邻传感器元件相关联的信号来计算目标传感器元件中的每一者的CV特征或局部化CV特征。

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

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

根据本发明的各方面,多种不同传感器可根据本发明的各方面予以改善。实例传感器可包含光传感器、嗅觉传感器和/或化学传感器。虽然贯穿本发明论述光传感器,但在不背离本发明的范围的情况下可在其它类型的传感器中使用类似技术。

图5说明包括传感器元件502、控制逻辑516和可配置块504到514的实例传感器设备。在一个实施方案中,如图2、3和4中所展示,包括所述可配置块的专用CV计算硬件可实施于像素内电路204、外围电路304、专用CV处理模块404或其任何组合中。图5中的实例电路包含第一多路复用器504(MUX 1)、总和库506、取样与保存库508、第二多路复用器510(MUX 2)、函数库512和第三多路复用器514(MUX 3)。在一些实施方案中,所述总和库506可为加权总和库。每一库可任选地具有旁通路径。在某些模式中,多路复用器可经配置以将参考电压或接地连接到输出。通过实施中间多路复用并旁通某些块,可使若干电路组合能够以串行方式或并行方式执行各种运算。

可配置块可允许同一传感器设备和相关联的块以不同模式使用,以使用不同计算技术计算一或多个2D分块的不同类型的CV特征。举例来说,在一个实施方案中,控制逻辑516可控制所述块,使得使用所述可配置块执行HSG运算。在另一个实施方案中,控制逻辑516可控制所述块,使得使用所述可配置块产生LBP标记。在一个实施方案中,控制逻辑中的模式或值可存储在静态随机存取存储器(SRAM)或任何其它合适的存储缓冲器中以供以不同模式执行运算。

在某些实施方案中,可使用图5中所论述的可配置块以串行方式产生针对来自多个传感器元件的传感器元件中的每一者的例如LBP或HSG标记或FAST拐角的CV特征。举例来说,参考图4,传感器读数可由专用CV处理模块404接收。专用CV处理模块404可使用来自目标传感器元件和对应的传感器元件组的传感器读数以串行方式产生用于传感器元件中的每一者的标记。在某些实施例中,以串行方式产生标记可允许仅针对具有事件的传感器读数选择性地产生标记。另外,以串行方式产生标记允许减少产生标记所需的硬件,因为相同硬件用于依序产生多个标记。随着处理技术的进步,计算此类类型的CV特征所需的简单相加和比较计算可在高速度下以串行方式执行,从而部分地缓解对以串行方式产生标记的某些速度担忧。

图6说明根据本发明各方面的展示于图5中的实例总和库。在一个实施方案中,总和库506可包含若干开关和电容器,如图6中所描绘。开关可包含晶体管、多个晶体管开关电路或多路复用器。

在一个实施方案中,在期间,输入电压可写入在所述电容器上。在期间,电容器可短接在一起以计算可在输出线处可得的加权平均值。所述电容器可为不同或相等值。在一个实施方案中,如图6中所展示,可包含任选的旁通路径以旁通所述电容器和所述求和运算。在某些实施方案中,所述任选的旁通路径可通过在控制逻辑516中编程合适的值而使用多路复用器进行选择。

图7说明根据本发明各方面的展示于图5中的实例取样与保存块508。在一个实施方案中,取样与保存块508可包含若干开关和电容器,如图7中所描绘。开关可包含晶体管、多个晶体管开关电路或多路复用器。

在一个实施方案中,取样与保存块508的输入值可使用电容器在时间t1处高速缓冲存储。在稍后的时间t2处,存储在取样与保存块508中的值可通过切换转递到所述旁通路径。随后的电路可将旧值与当前值进行比较以产生所述两个值之间的时间对比。

图8说明根据本发明各方面的展示于图5中的实例函数库。函数块512可提供用于一或多个函数的逻辑。实例函数可包含比较器、最大值、入选方通得、最小值、落选方通得函数。如图8中所展示,在一个实例实施方案中,所述函数块可包含非线性(例如,整流器/ReLu(经整流的线性单元))和S型放大器。

图9说明描述于图5中的可配置块的实例已选配置。与图5相比,展示于图9中的块中的一些以经由控制逻辑516所配置的具体方式起作用。再次,与图5相比,一些块未在图9中展示,因为通过取消选择那些块或对其进行配置使得其充当径直转递逻辑(例如,使用旁通逻辑),那些块以此方式配置起作用,就像其并未出现在信号路径中一样。

具体来说,图9经配置以执行HSG运算。所述多路复用器(504和510)可经配置以切换所述可配置块的运算以执行HSG运算。加权总和库506可操作为单个加权总和块。如图6中所展示,加权总和库506可具有三个输入,且分别为电容器值1C、3C和1C。取样与保存块510未被展示,且可经配置以充当径直转递或旁通块。函数库512可配置为比较器。

如图10A中所展示,2D分块的HSG CV特征可使用来自图9的实例电路进行计算。举例来说,图10A说明所感测的传感器元件的读数和用于HSG运算的以2D矩阵组织的梯度系数。所述可配置电路可如此使用控制逻辑516配置以计算HSG CV特征。对于计算与R2C2相关联的HSG标记,来自相邻传感器元件/像素R1C1(3)、R1C2(4)和R1C3(2)的值可使用MUX 504选择为到加权总和库的输入。类似地且同时地,在邻近像素或外围区中的电路可使用MUX 504选择R3C1、R3C2和R3C3以供计算所述行的相应加权总和。

此外,MUX 510可经配置以将所述行的加权总和传递到比较器,以将来自第一行的加权总和与来自由加权总和组506产生的第三行的加权总和进行比较以提供Gy分量以供确定HSG标记。类似地,垂直梯度分量和/或对角梯度分量可通过使用控制逻辑516选择合适的块而使用相同电路产生。

如图10B中所展示,展示于图5中的相同电路还可用于在未使用旁通路径的情况下计算一或多个2D分块的LBP CV特征。举例来说,为了比较R2C2与R1C1,以上电路可经配置以使用MUX 504选择R1C1作为到加权总和库506的输入并将其它输入接地。类似地且同时地,在邻近像素或外围区中的电路可选择R2C2。此外,MUX 510可经配置以选择R1C1和R2C2以发送到比较器以供比较。类似地,在一个实施方案中,其它像素可使用同一电路(用于其它比较以及用于HSG计算的电路)与R2C2的值进行比较以产生针对R2C2的LBP标记。

在图5中所描述的电路的一个变化形式中,旁通路径可经实施以用于加权总和库506。此外,所述电路可包含三个输入,且分别为电容器1C、3C和1C。由于所述HSG计算利用加权总和,控制逻辑516可与图9中已描述的情况类似或相同以供产生HSG标记。然而,为了产生其中未使用加权总和的LBP标记,可使用旁通路径以避免加重强度电压。在图10B中所描述的实例中,R1C1像素值可旁通加权总和库506且经选择以在所述比较器处被比较。在一个实施方案中,加权总和电路506的其它三个输入被接地。

除上文所论述的LBP标记以外,不同类型的CV特征还可包含所述计算LBP标记的变体。此类变体可包含(CS)-LBP,其中未考虑中心像素/块,并比较在中心块周围的所有相对拐角/边缘,且因此产生4个比较标记,所述比较标记接着表示LBP标记并且以与先前描述的LBP相同的方式使用。其它变体包含但不限于“分块对称”LBP(其中在比较中未考虑中心像素/块,而是计算出整个3×3分块的平均值,且接着将每一边缘/拐角与平均值进行比较)和“局部三值模式(LTP)”(不只是包含1或零而是可包含+1、0和-1的结果的LBP的变体;零意指差值在阈值以下,且+1和-1意指差值大于阈值但还考虑差值的正负号)。

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

在框1102处,传感器设备的组件接收基于入射在多个传感器元件上的光的传感器读数。所述多个传感器元件形成传感器元件阵列。此外,所述多个传感器元件沿着所述传感器元件阵列的至少一第一维度和第二维度布置。

在框1104处,传感器设备的组件确定操作专用CV计算硬件的模式,所述专用CV计算硬件能够接收来自所述传感器元件阵列的图像数据,并且包括硬件块。所述硬件块可配置以基于来自一或多个2D分块中的每一者中的传感器元件的信号而以串行方式计算一或多个2D分块的CV特征,所述一或多个2D分块包括所述传感器元件阵列内的多个目标传感器元件。所述专用CV计算硬件可包含开关以允许所述CV计算硬件在第一模式中计算2D分块的第一类型的CV特征且在第二模式中计算2D分块的第二类型的CV特征。

在某些实施方案中,可使用图5或其它图中所论述的可配置块以串行方式产生/检测针对来自多个传感器元件的传感器元件中的每一者的例如LBP或HSG标记或FAST拐角的CV特征。举例来说,参考图4,传感器读数可由专用CV处理模块404接收。专用CV处理模块404可使用来自目标传感器元件和对应的传感器元件组的传感器读数以串行方式产生用于传感器元件中的每一者的标记。在某些实施例中,以串行方式产生标记可允许仅针对具有事件的传感器读数选择性地产生标记。另外,以串行方式产生标记允许减少产生标记所需的硬件,因为相同硬件用于依序产生多个标记。随着处理技术的进步,计算此类类型的CV特征所需的简单相加和比较计算可在高速度下以串行方式执行,从而部分地缓解对以串行方式产生标记的某些速度担忧。

所述专用CV计算硬件可实施于像素内电路204、外围电路304、专用CV处理模块404或其任何组合中。第一类型的CV特征和第二类型的CV特征可彼此不同且可能是产生/检测LBP标记、HSG标记、FAST拐角或其它类型的CV特征中的一者。

在某些实施例中,所述专用CV计算硬件可包括比较器、加权总和运算、“与”门、“或”门和/或电荷按比例缩放电路。在某些实施方案中,旁通逻辑可用于从一个模式切换到另一模式。

在框1106处,传感器设备的组件基于所确定的模式将专用CV计算硬件切换到第一模式或第二模式以供计算对应类型的CV特征。

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

上文所论述的本发明的各方面能够实现使用HSG运算计算CV特征,并且还在使用HSG计算CV特征和使用LBP计算CV特征之间切换。图12到21揭示用于加速对用于计算机视觉的HSG的计算的额外技术。

用于CV特征的HSG计算的硬件加速

除在以上图中所描述的技术之外,还描述用于产生针对来自传感器元件的传感器读数的HSG标记的额外技术。描述一种用于通过基于传感器读数产生经计算的结果而检测例如边缘、拐角等特征的设备和方法。描述用于通过比较两组相邻传感器元件的加权总和而产生针对传感器元件中的每一者的HSG标记的专用CV计算硬件。

描述用于基于传感器读数而产生经计算的结果的方法和设备。所述传感器读数可来自包括多个传感器元件的传感器元件阵列。所述传感器元件可沿着所述传感器元件阵列的至少一第一维度和第二维度布置。所述传感器元件中的每一者可基于环境条件而能够产生传感器读数。用于执行所述方法的设备可包含专用CV计算硬件。所述专用CV计算硬件可实施于耦合到所述传感器元件的像素内电路204、耦合到所述传感器元件阵列的外围电路304或专用CV处理模块404中,且经配置以接收来自多个传感器元件的输出。所述专用CV计算硬件可包含经配置以通过比较两组相邻传感器元件的加权总和而产生针对所述传感器元件中的每一者的HSG标记的计算结构。在某些实施例中,所述计算结构可包含三个电容器,其中每一电容器接收来自相邻传感器元件的所施加电压。在某些其它实施例中,所述计算结构包括用于对来自三个相邻传感器元件的电压进行倍增和求和的电荷按比例缩放电路。在某些其它实施例中,所述计算结构包括计算仅针对三个相邻感测元件的梯度的总和、并且重新使用所述感测元件的总和以用于额外三个相邻元件以产生用于所参考的传感器元件的HSG标记。所述HSG标记可针对所述传感器元件中的每一者而产生以供检测用于计算机视觉应用的边缘。

图12说明来自传感器元件阵列的描绘图像1200的帧的一组传感器读数。在一些情况下,来自所述传感器元件阵列的每一传感器读数可被称为图像像素值。所述图像的每一部分可包含来自多个传感器元件的值。在一个实施方案中,可针对多个传感器元件(例如块1202的传感器元件)产生直方图。此种直方图可表示关于所述多个传感器元件1202的某些宏特征和信息。所述直方图可基于统计学或探试法加以分析以供识别来自所述多个传感器读数1202的特征。在一个实施方案中,所述直方图可与已存储的直方图进行匹配。

在一个实施方案中,HSG可用于产生与所述直方图的传感器读数相关联的值。图13A到E、图14和15A及15B说明用于确定传感器元件的HSG标记的实例技术。图16描述使用此类HSG标记产生直方图。

图13A说明由传感元件感测到的具有中心图像像素值“5”(R2C2)连同八个相邻图像像素值的若干实例图像像素值。展示于图13A中的值是图12中展示为块1202的来自针对图像1200的传感器读数的帧的相同图像像素值。HSG标记可针对每一传感元件位置而产生。以下步骤(13B到13E、14A和14B)描述产生针对来自图13A的R2C2(即,1302)的HSG标记的过程。

图13B说明包括针对x轴的梯度系数的实例2维垂直边缘检测矩阵。在图13B中,块1202表示I,且展示于块1202中的每一值乘以来自展示于图13B中的2D垂直边缘检测矩阵的对应值。来自所述相乘的所得值展示于图13C中的2D阵列中。举例来说,来自图13A的R1C1处的值(即,“7”)乘以来自图13B的Gx的-0.3,得到在图13C处对应于来自图13A的R1C1的位置中的-2.1。类似地,来自图13A的R2C3(即,“3”)乘以来自图13B的Gx的1,得到在图13C处对应于来自图13A的R2C3的位置中的3。展示于图13C中的所有值一起求和,从而得到所述梯度的最终值或总和(即,-6.6)。

图13D说明包括针对y轴的梯度系数的实例2维水平边缘检测矩阵。在图13D中,块402表示I,且展示于块402中的每一值乘以来自展示于图13D中的2D水平边缘检测矩阵的对应值。来自所述相乘的所得值展示于图13E中的2D阵列中。举例来说,来自图13A的R1C1处的值(即,“7”)乘以来自图13D的Gy的-0.3,得到在图13E处对应于来自图13A的R1C1的位置中的-2.1。类似地,来自图13A的R2C3(即,“3”)乘以来自图13D的Gx的0,得到在图13E处对应于来自图13A的R2C3的位置中的0。展示于图13E中的所有值一起求和,从而得到所述梯度的最终值或总和(即,-6.4)。

图14说明所检测到的针对传感器元件位置的垂直边缘特征、水平边缘特征和无边缘。每一边缘符号分量可能为正或为负。因此,对于两个方向边缘的每一像素存在四个可能性。举例来说,如图15A中所展示,针对传感器元件的所检测到的Gx的负值和所检测到的Gy的正值可将所述传感器元件位置与左上象限相关联。类似地,针对传感器元件的所检测到的Gx的正值和所检测到的Gy的负值可将所述传感器元件位置与右下象限相关联。

如图15B中所说明,来自与图像像素相关联的一组传感器元件位置的每一传感器元件位置可与基于图15A中所确定的象限的标记相关联。因此,如果20个传感器元件属于一组传感元件,那么那些图像像素中的每一者会具有与所述传感器元件相关联的标记。虽然图15B中所指派的标记是A、B、C和D,但也可产生第五标记“E”。在一个实施方案中,“E”标记可能仅在图13C或图13E中的求和运算产生相应轴的零或接近零(例如,在-0.5到0.5之间的范围)的结果时产生。

用于来自一组传感元件的传感元件中的每一者的标记被用于产生所述组传感元件的直方图。举例来说,如图16中所展示,出自与图像的帧相关联的20个传感元件读数的5个图像像素可被标记为“A”,8个图像像素可被标记为“B”,3个图像像素可被标记为“C”,4个图像像素可被标记为“D”,且0个图像像素可被标记为“E”。

应注意,展示于图16中的直方图并非按比例绘制或基于所计算的值,而是简单地表示直方图的视觉说明。所产生的直方图可用于检测计算机视觉的特征。举例来说,某些直方图模式可表示来自所述传感器元件阵列的传感器元件的传感器读数中的拐角、边缘等。

图17A到C说明使用电路产生表示在任何给定传感器元件处所检测到的边缘和拐角的HSG标记的过程。所产生的HSG标记可用于产生如图16中所描述的用于更复杂特征检测的直方图。本质上,所述直方图表示由多个传感器读数的一组HSB标记表示的不同特征的分组。

图17A到C可大幅度减少用于检测任何给定像素的HSG标记的功率并增大检测效率,所述HSG标记用于检测任何给定传感读数的垂直或水平边缘的指示。在一个实施方案中,邻近微控制器、专用微处理器或计算机系统可接收来自传感器的HSG标记,并且由所述HSG标记产生直方图以供更复杂的特征检测。

图17A、17B和17C说明根据本发明的实施例的分别用于两个时钟周期和期间(展示于图18中)的垂直边缘检测的实例技术。从图17A到图17B,列C1的值(7、9和3)使用与图20中所描述的电路类似的电路从上到下有效地乘以无符号梯度系数(0.3、1和0.3),且所得值存储在R2C2处,如图9B的R2C2处所展示(即,0.3*7+9*1*3*0.3=12)。根据本发明的各方面,由于图20中所描述的电路执行比较,梯度系数的符号隐含在所述比较的次序中。

如应注意,相比于图13,图9A-C和图20的各方面针对每一轴仅使用三个无符号梯度系数而非值阵列。

类似地,在列C2处的值(8、5和4)和在C3处的值(6、3和2)也使用与图20中所描述的电路类似的电路从上到下有效地乘以梯度系数(0.3、1和0.3),且所得值分别存储在R2C3处(8*0.3+5*1+5*0.3=8.9)和R2C4处(6*0.3+3*1+2*0.3=5.4)。

虽然全部三列的值在图17B中展示为已被计算,但仅需要来自列C1和列C3的加权总和所得值以用于确定R2C2处的梯度Gx以供确定R2C2的标记。如图17C中所展示,在时,执行C1的值的加权总和(即,12)与C3的值的加权总和(即,5.4)之间的比较以导出R2C2的标记的象限(如图15A或15B中所展示)的x分量。如图17C中所展示,所描述的比较取消对显式地产生带符号总和的需要,因为符号隐含在所执行的比较中。由于12大于5.4,图9C中的逻辑比较产生逻辑结果“1”。虽然与C1和C3同时产生,列C2的加权总和可用于产生R2C3的HSG标记。

图20说明可用于计算图17A、17B和17C中的列的加权总和的电路的实例。应注意,虽然图17A、17B和17C仅展示针对Gx分量的计算,但类似计算也可针对计算Gy分量的行而执行以供确定与任何给定传感器元件的传感器元件读数相关联的标记。

图20中的电路可使用与电荷按比例缩放电路类似的电路加以实施以供计算传感器元件的传感器读数的相应行或列的加权总和。虽然与电荷按比例缩放电路类似的电路可用于实施展示于图20中的电路,但展示于图20中的电路可用于与电荷按比例缩放电路用于执行数/模转换的传统预期目的不同的目的。图19中展示具有三个电容器和开关的实例电荷按比例缩放电路。

图20说明R2C2的x轴梯度值的产生。如图20的块2002中所展示,为了计算列C1的加权总和,电容器可通过合适梯度系数(例如1、3和1)的倍数(即,0.3、1和0.3的3x倍)加权。此外,来自列C1的强度电压可应用于所述电路。举例来说,来自R1C1的强度电压应用于Va处,来自R2C1的强度电压应用于Vb处,且来自R3C1的强度电压应用于Vc处。

在块2002处产生的值是列C1的Vout,并且通过比较器与由块2004产生的列C3的Vout进行比较。虽然不限于此种电路,图21中展示实例比较器。在一个方面中,所述电路可经实施以便利用针对多个传感元件所产生的列的加权总和与行的加权总和之间的并行性。举例来说,如图20中所展示,为了产生用于R2C2的Gx,像素R2C2可能仅需要计算来自列C1的电压强度的加权总和。针对列C3的加权总和的值可由用于R2C4的电路产生,以供产生其自身的针对x轴的梯度总和,且可重新使用以用于针对R2C2的比较。如本文中所描述的对像素内电路的重新使用减小每一像素的“填充空间”或区域的量,且因此减小传感器的大小、增大功率功效并且降低制造此种传感器的成本。

此外,相同电路还可经重新使用以供以类似方式计算针对y轴的梯度总和。举例来说,在R2C2处的电路块2002也可用于产生图17A中所展示的行R1的加权总和。举例来说,来自R1C1的值可应用在Va处,来自R1C2的值可应用在Vb处,且来自R1C3的值可应用于Vc处,从而产生图17A中所展示的来自行R1的值的加权总和。类似地,用于R3的值可由R4C2产生并与针对R1所产生的值相比较。

因此,如图20中所展示,每一像素内电路(例如针对R2C2的块2002)可仅通过分别计算针对一个列或一个行的三个值的加权总和而产生针对每一传感元件的x轴和y轴的梯度值的加权总和。在一个实施方案中,如图20中所展示,使用来自与不同像素相关联的不同像素内电路的输入的比较器逻辑可在外围电路中实施。

虽然图20说明像素内电路和外围电路的特定实施方案,但可在不背离本发明的范围的情况下实施分段像素内电路与外围电路之间的电路的若干其它变化。举例来说,在一个实施方案中,所述电路的全部可实施在像素内或外围中。在另一实施方案中,所述列和行的加权总和可通过实施针对每一像素用于并行计算行和列的加权总和的类似于块2002的两个块来同时计算。此种变化可增大用于实施所述电路的空间,同时减少用于产生与每一传感元件相关联的HSG标记所需的时间。

本发明的各方面能够实现执行CV运算,例如使用传感器上的专用CV计算硬件(像素内电路、外围电路、专用CV处理模块或其某一组合)产生HSG标记,而非在数字域中的处理器上执行这些运算。在应用程序处理器上执行CV运算可能为功率和处理密集型。此外,通过在处理器上执行例如产生HSG标记的CV运算来检测特征可能为功率和处理密集型,因为在处理器上执行CV要求存储来自存储器中的传感器的信息、触发传感器信息的处理、提取来自用于CV计算的存储器的指令并且存储结果。

图21提供用于多个值的比较器的实例实施方案。所述比较器可比较两个电压或电流,并且输出指示两个值中的哪个较大(或较小)的数字信号。所述比较器可具有一或多个预定和/或可配置阈值以供执行比较。展示于图21中的比较器是电压比较器的实例。

虽然本发明中所描述的各方面论述检测垂直和水平边缘,斜向边缘也可在不背离本发明的范围的情况下类似于上文所描述的内容进行检测和处理。

用于CV特征的FAST拐角检测计算的硬件加速

加速分段测试特征(FAST)是一种拐角检测方法,其可用于提取特征点且稍后用于针对许多CV任务追踪和映射对象。FAST拐角检测器因为高速性能而一般适合于实时视频处理应用。

通常,如图22中所展示,FAST拐角检测器使用来自图像的16个像素的圆形(半径为n的柏生汉姆圆形)来归类候选点p是否为拐角。圆形中的每一像素按顺时针标记为整数1到16。如果圆形中的一组N个连续像素全部比候选像素p(用Ip指示)加上阈值t的强度亮或全部比候选像素p减去阈值t的强度暗,那么p被归类为拐角。N通常选择为12。

高速测试方法可应用于排除非拐角的点。用于排除非拐角的点的高速测试通过检验4个实例像素(即像素1、9、5和13)予以操作。因为应存在至少12个全部比候选拐角亮或暗的连续像素,所以在这些4个实例像素中应存在至少3个全部比候选拐角亮或暗的像素。首先检验像素1和9,如果1和9均在Ip+t和Ip-t内,则候选p并非拐角。另外进一步检验像素5和13以校验所述像素中的三个是否比Ip+t亮或比Ip-t暗。如果所述像素中存在3个较亮或较暗,则接着检验其余的像素以得出最终结论。

虽然N通常选择为12,但在一些情况下N为9可产生更好的跨帧追踪性能。

如图23中所展示,在软件中使用FAST拐角检测来检测拐角可在任何位置耗时几毫秒到若干毫秒以用于通用处理器(比如由和制造的x86处理器)上的图像。

本发明的各方面论述使用经优化的硬件实施方案快速检测拐角的技术。在一些情况下,先前所论述的CV计算硬件还包括用于使用FAST拐角检测来检测拐角的可配置硬件。阈值可建置到比较器中。若干像素(彼此串行或并行或为群组)可与中心像素的强度和相应阈值进行比较,并相应地以高速度进行处理。

图24揭示用于使用比较器逻辑、“与”门和“或非”门检测FAST拐角的实例硬件实施方案。若干其它数字或模拟组件可在不背离本发明的范围的情况下用在这个实施方案的变化形式中。图24揭示感测图像的传感器阵列2402。在某些实施例中,所述图像可在子感测滑动窗阵列2404中予以处理。图24还描绘在滑动窗阵列2404中的柏生汉姆圆形2406和拐角2408。在一个实例实施例中,包括16个像素强度读数的每一柏生汉姆圆形产生16个不同的连续像素群组(具有N个连续像素强度)。图24揭示产生16个不同连续像素群组且每一群组包括12个连续像素的强度的实例N 12。返回参考图22,实例16个群组将包含包括来自像素1到12、2到13、3到14…16到11的像素强度的群组。

在比较器逻辑2422处,每一像素的强度与通过预定阈值进行偏置的中心像素的强度进行比较。所述预定阈值可预配置或在通电之后但在比较操作之前动态地确定。产生于比较器逻辑2422处针对每一连续像素群的比较的比较器值经由对应的N输入“与”门一起经“与”运算。虽然未整体展示,但图24表示用于针对每一连续像素群将所得比较器值一起进行“与”运算的16个12输入“与”门。举例来说,“与”门2410将连续像素1到12的所得比较器值2412一起进行“与”运算。如果比中心像素减去阈值(Ip-t)暗由“1”表示,且如果比中心像素加上阈值(Ip+t)亮由“0”表示,且如果全部所得比较器值2412是“1”,那么“与”门2410的结果将是“1”。从“与”门2410到“或”门2420的输入“1”也产生来自“或”门2420的输出“1”而不论到“或”门2420的其它输入如何。因此,作为所得比较器值2412的所有“1”可导致在滑动窗阵列2404中检测到拐角。类似地,来自“与”门(2414、2416…2418)中的任一项的所得“1”将导致检测到拐角。

所述比较的此种硬件实施方案可导致拐角检测的显著提速。举例来说,当与图23中的时间比较时,类似于图24的实施方案的实施方案在大约极小周期中或一旦所述值被锁存(在非时控逻辑中)就产生拐角检测。

应注意,揭示于图24中的实施例是FAST拐角检测的硬件实施方案的实例,且并不意在限制本发明的范围。举例来说,不同组门或集成电路可在不背离本发明的范围的情况下用于实现类似结果。此外,信号可以各种配置布置以优化空间和布线的使用。举例来说,来自比较器逻辑2422的每一比较的所得值可馈入到多个“与”门中。举例来说,中心像素与第12个像素的强度之间的比较可馈入到所述16个“与”门的12中。相同/类似逻辑可使用两次以针对比中心像素亮的像素和比中心像素暗的像素执行拐角检测。

此外,图24中所说明的16个“与”门可在不背离本发明的范围的情况下使用具有较多数目的输入的较大集成电路或具有较小数目的输入的较大数目的集成电路进行合并。另外,虽然图24论述N为12,但在某些实施例中,N可配置为不同值。

根据一或多个方面,本文中在图1到24中所描述的方法和/或方法步骤中的任一者和/或全部可由例如光传感器设备的传感器设备实施和/或实施于所述传感器设备中。在一个实施例中,所论述的方法步骤中的一或多者可由所述传感器设备的感测元件和处理逻辑(例如像素内电路和/或外围电路)实施。另外或替代地,本文中所描述的方法和/或方法步骤中的任一者及/或全部可实施在计算机可读指令中,例如存储在计算机可读媒体(例如存储器、存储装置或另一计算机可读媒体)上的计算机可读指令。

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

展示计算装置2500,其包括可经由总线2505电耦合(或可在适当时以其它方式通信)的硬件元件。所述硬件元件可包含:一或多个处理器2510,包含(但不限于)一或多个通用处理器和/或一或多个专用处理器(例如数字信号处理芯片、图形加速处理器和/或其类似者);一或多个输入装置2515,其可包含(但不限于)一或多个相机传感器2550、鼠标、键盘和/或其类似者;以及一或多个输出装置2520,其可包含(但不限于)显示单元、打印机和/或其类似者。传感器2550模组可包含光传感器、嗅觉传感器和/或化学传感器。图1中描述实例传感器100。

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

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

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

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

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

一些实施例可使用计算装置(例如计算装置2500)执行根据本发明的方法。举例来说,可由计算装置2500响应于处理器2510执行工作存储器2535中所含有的一或多个指令(其可并入到操作系统2540和/或其它代码中,例如应用程序2545)的一或多个序列而执行所描述的方法的程序中的一些或全部。此类指令可从另一计算机可读媒体(例如,存储装置2525中的一或多者)读取到工作存储器2535中。仅作为实例,工作存储器2535中所含有的指令序列的执行可能致使处理器2510执行本文所描述的方法的一或多个程序。

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

常见形式的物理和/或有形计算机可读媒体包含(例如)软性磁盘、柔性磁盘、硬盘、磁带或任何其它磁性媒体、CD-ROM、任何其它光学媒体、打孔卡、纸带、具有孔图案的任何其它物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或盒带、如下文所描述的载波,或计算机可从中读取指令和/或代码的任何其它媒体。

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

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

上文所论述的方法、系统和装置为实例。各种实施例可在适当时省略、替换或添加各种程序或组件。举例来说,在替代配置中,可以与所描述的次序不同的次序来执行所描述的方法,和/或可添加、省略和/或组合各个阶段。又,相对于某些实施例描述的特征可在各种其它实施例中加以组合。可以类似方式组合实施例的不同方面和元件。又,技术在演进,且因此,许多元件是实例,其并不将本发明的范围限制于那些具体实例。

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

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

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

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