首页> 中国专利> 用于计算机视觉应用程序的自适应数据路径

用于计算机视觉应用程序的自适应数据路径

摘要

本发明的实施例提供用于计算机视觉应用程序的自适应数据路径。利用本文中所提供的技术,所述数据路径可适于计算机视觉应用程序的需要以提供所需数据。可通过将一或多个滤波器应用于来自一或多个传感器的图像数据来调适所述数据路径。一些实施例可利用计算机视觉处理单元,所述计算机视觉处理单元包括能够解译来自计算机视觉应用程序的命令的专用的基于指令的直列式处理器。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-26

    授权

    授权

  • 2016-01-20

    实质审查的生效 IPC(主分类):G06T1/20 申请日:20140227

    实质审查的生效

  • 2015-12-23

    公开

    公开

说明书

背景技术

移动电话、相机及其它电子装置常常利用成像核心来俘获及处理用于例如视频或静 态图像俘获等成像应用程序的成像数据。成像核心包含硬件及/或软件组件的集合,其提 供数据可借以从图像传感器(例如,相机)流动到应用程序处理单元(例如通用处理器)及/ 或显示器的数据路径。在许多电子装置中,成像核心还用于计算机视觉应用程序(也称为 “机器视觉应用程序”)。

发明内容

本发明的实施例提供用于计算机视觉应用程序的自适应数据路径。利用本文中所提 供的技术,数据路径可适于计算机视觉应用程序以提供数据。可通过将一或多个滤波器 应用于来自一或多个传感器的图像数据来调适所述数据路径。一些实施例可利用计算机 视觉处理单元,所述计算机视觉处理单元包括能够解译来自计算机视觉应用程序的命令 的专用的基于指令的直列式处理器。

根据本发明,一种用于提供用于计算机视觉应用程序的自适应数据路径的实例设备 包含应用程序处理单元及可与所述应用程序处理单元单独地编程且以通信方式耦合到 图像传感器模块及所述应用程序处理单元的处理单元。所述处理单元经配置以从所述图 像传感器模块接收第一图像,基于由所述应用程序处理单元执行的第一计算机视觉应用 程序而从多个图像处理功能中选择图像处理功能的第一子集,且使用图像处理功能的所 述第一子集处理所述第一图像。

根据本发明,一种用于提供用于计算机视觉应用程序的自适应数据路径的实例方法 包含:接收第一图像;基于由应用程序处理单元执行的第一计算机视觉应用程序而从多 个图像处理功能中选择图像处理功能的第一子集;以及使用图像处理功能的所述第一子 集处理所述第一图像。所述处理发生于与所述应用程序处理单元分离的单元中。

根据本发明,一种用于提供用于计算机视觉应用程序的自适应数据路径的实例处理 器包含:用于接收第一图像的装置;用于基于由应用程序处理单元执行的第一计算机视 觉应用程序而从多个图像处理功能中选择图像处理功能的第一子集的装置;以及用于使 用图像处理功能的所述第一子集处理所述第一图像的装置。用于处理所述第一图像的所 述装置与所述应用程序处理单元分离。

根据本发明,一种实例非暂时性计算机可读媒体编码有指令,所述指令在执行时操 作以致使处理单元执行包含以下各者的操作:接收第一图像;基于由应用程序处理单元 执行的第一计算机视觉应用程序而从多个图像处理功能中选择图像处理功能的第一子 集;以及使用图像处理功能的所述第一子集处理所述第一图像。

根据描述,一种实例方法包含:在图像信号处理器处接收从光学传感器所俘获的图 像导出的信息;以及在所述图像信号处理器处接收用于输出的数据的指示符。所述方法 进一步包括:基于所述所接收指示符处理所述所接收信息;以及输出所述经处理信息。

所述方法可包含以下特征中的一或多者。用于输出的数据的所述指示符可包含正产 生用于其的数据的应用程序的指示或正产生用于其的数据的应用程序的类型。用于输出 的数据的所述指示符可包含所请求数据的类型的指示。所述处理可包含减少所述所接收 信息的量或类型,及/或比较所述所接收信息与所需特征且移除所述所接收信息的与所述 所需特征不相关的部分。另外或替代地,所述处理可包含比较所述所接收信息与已知信 息,且输出所述经处理信息可包含在所述所接收信息不同于所述已知信息时输出提醒。 所述处理可包含从所述所接收信息识别或产生所述用于输出的数据,且所述输出所述经 处理信息可包含仅在产生或识别出所述数据时才唤醒另一单元(例如,通过发送信号、命 令等而致使另一单元退出低功率状态)。所述另一单元可为应用程序处理器。

根据本发明,另一实例方法可包含:在图像信号处理器处从光学传感器接收信息; 以及在所述图像信号处理器处接收计算机视觉应用程序的识别、计算机视觉应用程序的 类型或计算机视觉应用程序的状态。所述方法可进一步包含:基于所述识别选择所述图 像信号处理器的计算机视觉模块;以及在所述图像信号处理器处利用所述所选计算机视 觉模块处理所述信息。

根据本发明,又一实例方法可包含:在图像信号处理器处接收从光学传感器所俘获 的图像导出的信息;处理所述所接收信息;以及基于应用程序或应用程序状态而将所述 经处理信息从所述图像信号处理器输出到将消耗所述经处理信息的应用程序处理器。

所述方法可包含以下特征中的一或多者。所述经处理信息的类型或量可取决于所述 应用程序或应用程序状态。所述应用程序可包含计算机视觉应用程序。所述经处理信息 可包含用于由所述应用程序进一步处理的像素数据,及/或用于所述应用程序处理器的中 断或唤醒。所述应用程序处理器可在所述图像信号处理器正处理所述所接收信息的同时 休眠(例如,处于低功率状态)。所述方法可进一步包含基于所述应用程序或应用程序状 态而选择所述图像信号处理器中的数据路径,其中所述处理包括使用所述所选数据路径 处理所述所接收信息。

本文中所描述的项目及/或技术可提供以下能力中的一或多者以及未提及的其它能 力。诸技术可通过使数据路径适于计算机视觉应用程序由此减少处理开销而提供增大的 效率。此外,通过将计算机视觉功能性从应用程序处理单元卸载到数据路径,应用程序 处理单元可在数据路径执行卸载的功能时进入低功率操作模式,从而进一步减小功率及 处理需求。这些及其它实施例连同其许多优点及特征结合下文的文字及附图而更详细描 述。

附图说明

图1是说明根据一个实施例的装置的某些组件的简化框图。

图2是说明根据一个实施例的用于将数据从传感器模块提供到计算机视觉应用程序 及服务的数据路径的功能框图。

图3是根据一个实施例的计算机视觉专门化模块的一组可用滤波器的图。

图4是说明图3的计算机视觉专门化模块的组件可如何分组成数据路径的不同功能 部分的框图。

图5A及5B是说明计算机视觉专门化可如何使用不同滤波器链来基于计算机视觉应 用程序及服务的需要而适应性地调整数据路径的图。

图6是根据一个实施例的使用数据交换来提供用于不同数据片段的数据端口的数据 路径的说明。

图7说明根据一个实施例的用于提供用于计算机视觉应用程序的自适应数据路径的 方法的实施例。

具体实施方式

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

例如移动电话、平板计算机、相机及其类似者等移动装置在俘获及处理用于例如视 频或静态图像俘获等成像应用程序的成像数据时常常利用成像核心。为执行成像应用程 序,移动装置通常包含允许图像俘获的一或多个传感器、将成像数据从传感器引入到平 台中的数据路径(以硬件及/或软件实施),及一些处理。因为移动装置历史上已用于成像 应用程序,因此移动装置通常包含具有经配置而主要用于成像应用程序的数据路径的成 像核心。

然而,许多移动装置现在能够另外执行计算机视觉应用程序。与通常包含处置相机 及摄录影机相关功能的有限数目个应用程序的成像应用程序相比,计算机视觉应用程序 可包含提供同等宽范围功能性的多种应用程序。举例来说,计算机视觉应用程序可提供 以下功能中的一或多者:

1.检测光的变化,

2.检测检视场景的变化,

3.视觉对象检测,

4.视觉对象特征检测(例如,视觉对象的色彩、接近度、运动,等),

5.对象跟踪,及/或

6.平台稳定性检测。

除了这些功能之外或作为这些功能的替代,一些计算机视觉应用程序可提供其它功 能。实际上,随着移动装置的感测及处理能力持续增长,额外功能将可能出现。

在提供用于此些计算机视觉应用程序的足够数据路径时,移动装置可能使操作在需 要相对较大量处理的作用中状态与需要相对较少量处理的状态之间切换。低处理状态为 例如其中计算机视觉应用程序不从将需要相对较高量处理的数据路径接收所关注特征 的状态。对于电池供电的移动装置,高及低处理状态两者的高效执行可提供较长电池寿 命。然而,如先前所指出,用于移动装置的成像核心通常具有功能性有助于成像应用程 序的固定数据路径;所述数据路径经配置以例如提供具有高分辨率及/或高帧率的影像。 因此,并非提供可允许移动装置高效地执行用于计算机视觉应用程序的高及低处理状态 两者的数据路径,传统移动装置将常常提供开销比必需情况多得多的数据路径。另外, 因为传统移动装置中的数据路径常常不会提供计算机视觉应用程序所需要的滤波,因此 大部分此滤波在通用应用程序处理单元上进行。此不仅可不利地影响电子装置的电池寿 命,而且影响用户的体验质量(QOE)。本文所揭示的实施例提供用于计算机视觉应用程 序的自适应数据路径,其可根据计算机视觉应用程序的要求而调整,将用于计算机视觉 应用程序的滤波器从应用程序处理单元卸载到数据路径,且取决于计算机视觉应用程序 而将不同数据(及不同类型的数据)提供到应用程序处理单元。此最终提供增大的电池寿 命及/或QOE。

图1是说明根据一个实施例的具有用于计算机视觉应用程序的自适应数据路径的装 置100的某些组件的框图。所述组件可包含传感器115、传感器控制器117、应用程序 处理单元130、图形处理单元140、显示器170、显示器控制器160、存储器子系统150 及计算机视觉处理单元120。装置100可包含未展示的各种额外组件,例如通信接口、 用户接口及更多组件。如同本文中所提供的其它图,图1仅意欲提供各种组件的一般化 说明,可在适当时利用其中的任一者或全部。不同实施例可添加、省略、替代、组合及 /或划分所展示组件中的任一者。所属领域的技术人员将认识到许多更改。

在一些实施例中,装置100包括移动装置。举例来说,装置100可包括移动电话、 平板计算机、个人媒体播放器、便携式游戏系统、数码相机、摄录影机及其类似者。可 注意到,尽管本文中所提供的技术在一些实施例中可用在移动装置上以提供功率节省及 /或其它优点(例如减小的潜时),但装置100不限于此。即,诸实施例可包含装置100且 可不被视为移动的。举例来说,电视可包含用于成像应用程序(例如,视频会议应用程序) 的数据路径及用于机器视觉(例如,示意动作控制应用程序)的数据路径。游戏系统可包 含用于成像应用程序(例如,游戏中视频聊天)的数据路径及用于机器视觉(例如,示意动 作及/或身体控制)的数据路径。涵盖涉及非移动装置的其它实施例。

传感器115可取决于装置100的功能性而包含多种传感器中的一或多者。此可包含 不与相机或摄录影机功能相关联的传感器。传感器可包含例如用于检测红外(IR)及/或近 IR的传感器、用于确定不同比色的传感器、用于确定深度(例如,飞行时间、结构化光, 等)的传感器以及一或多个相机(例如,立体相机、前置及/或后置相机,等),及/或其它 成像传感器。

传感器控制器117可提供与传感器115的接口。传感器控制器117可基于来自例如 应用程序处理单元130及/或计算机视觉处理单元120等其它组件的输入而控制传感器 115。在一些实施例中,传感器控制器117可提供例如白平衡控制、曝光控制、聚焦控 制、分格及跳过控制、2D/3D开窗/定框(boxing)及/或其它功能。传感器115及/或传感器 控制器117可形成装置100的图像传感器模块110的至少一部分。

应用程序处理单元130可包含但不限于一或多个通用处理器、一或多个专用处理器 (例如,数字信号处理器、图形加速处理器及/或其类似者),及/或可经配置以执行可存储 于存储器子系统150中的计算机视觉及其它软件应用程序的其它处理结构。在一些实施 例中,应用程序处理单元130包括配置有一或多个核心的应用程序(application或“app”) 处理器。

存储器子系统150可包含提供应用程序及/或系统存储的一或多个非暂时性计算机 可读存储媒体。此些存储装置可包含磁盘驱动器、驱动器阵列、光学存储装置、固态存 储装置,例如可编程、可快闪更新等等的随机存取存储器(“RAM”)及/或只读存储器 (“ROM”)。此些存储装置可经配置以实施任何适当数据存储装置,包含但不限于各种 文件系统、数据库结构及/或其类似者。

软件元件可作为嵌入于一或多个非暂时性计算机可读存储媒体上的指令而包含于 存储器子系统中。此些软件元件可包含操作系统、装置驱动程序、可执行库及/或可经设 计以致使应用程序处理单元130、计算机视觉处理单元120及/或其它组件实施方法(或其 部分)及/或配置系统(如本文所述的实施例所提供)的其它代码,例如一或多个应用程序。 仅举例来说,本文所述的一或多个程序(包含关于图7描述的方法)可实施为可由计算机 视觉处理单元120及/或应用程序处理单元130执行的代码及/或指令。

图形处理单元140及显示器控制器160可用以取决于应用程序处理单元130所执行 的应用程序而将一或多个图像展示在显示器170上。可注意到,例如视频或静态图像俘 获等成像应用程序通常显示图像,且因此需要利用显示器170、显示器控制器160及/ 或图形处理单元140。另一方面,许多计算机视觉应用程序可能根本不需要利用这些组 件。因此,装置100的这些组件可被包含或从数据路径排除以适于应用程序处理单元130 所执行的计算机视觉应用程序。

计算机视觉处理单元120可包含用于提供从传感器115到应用程序处理单元130的 自适应数据路径的硬件及/或软件子组件。此可包含例如视频前端(VFE)、图像信号处理 器(ISP)、数字信号处理器(DSP)及/或可与应用程序处理单元单独地编程的其它处理单 元。任选地,计算机视觉处理单元120可从存储器子系统150读取及/或写入到存储器子 系统150。在一些实施例中,计算机视觉处理单元120可基于应用程序处理单元130所 执行的计算机视觉应用程序而动态地编程。因此,计算机视觉处理单元120可执行存储 于存储器子系统150及/或在计算机视觉处理单元120内部的存储器(其可包含类似于上 文关于存储器子系统150所描述的特征的特征)中的应用程序。在一些实施例中,取决于 在计算机视觉处理单元120内部的存储器的大小及/或计算机视觉应用程序的需要,计算 机视觉处理单元120可能够提供自适应数据路径而不使用存储器子系统150,由此使得 除了应用程序处理单元130之外,存储器子系统150也能够进入低功率模式。

在一个实施例中,计算机视觉处理单元120可包括适于实施用于计算机视觉应用程 序的各种滤波器的专用的基于指令的直列式处理器。由此,在一些实施例中,计算机视 觉应用程序可呼叫指令以实施所需要的滤波器而不需要利用解译引擎。换句话说,由计 算机视觉处理单元120实施的滤波器可对应于一组基于标准化指令的命令,所述命令绑 定到由专用的基于指令的直列式处理器实时地转译的解译语言以识别计算机视觉应用 程序所需要的滤波器。

本文中所提供的用于计算机视觉应用程序的自适应数据路径的技术可实现在应用 层受控的可编程性。即,在一些实施例中,由应用程序处理单元130执行的计算机视觉 应用程序可在任何时间将指令及/或其它信息提供到计算机视觉处理单元120。此功能性 为应用程序提供更多能力,从而允许可动态编程的计算机视觉处理单元120以高效方式 提供计算机视觉数据而无需使用计算机视觉数据的上下文的任何额外知识。计算机视觉 应用程序可确定所述上下文,且相应地将指令提供到计算机视觉处理单元120。如上文 所指示,实施例可允许计算机视觉应用程序呼叫指令以实施所需滤波器而无需利用解译 引擎。

所属领域的技术人员将显而易见,可根据特定要求而对图1中所示的组件作出实质 性变化。举例来说,还可使用定制的硬件,及/或作为以上描述的补充或替代,可以硬件、 软件或两者来实施特定元件。另外,可使用到其它装置及/或传感器的连接。

图2是说明根据一个实施例的将数据从传感器模块210提供到计算机视觉应用程序 及服务240的数据路径200的功能框图。数据路径200可由图1的装置100的一或多个 组件及/或类似装置执行。除了传感器模块210以及计算机视觉应用程序及服务240之外, 数据路径200还可包含核心数据路径220及计算机视觉专门化模块230。其它实施例可 通过以类似功能方式利用不同组件而不同于所展示实施例。所属领域的技术人员将认识 到许多更改。

传感器模块210可包括传感器及/或输出传感器数据的其它组件,例如图1的图像传 感器模块110及/或类似装置。取决于装置100的功能性及/或传感器模块210的传感器 的能力,来自传感器模块的数据可变化。来自传感器模块210的数据接着传递到核心数 据路径220。

核心数据路径220的功能性可提供传感器模块210与计算机视觉专门化模块230之 间的接口。根据一些实施例,其可经调适以适应传感器模块210的特定传感器数据且以 均一方式输出数据。此外,核心数据路径220可使用例如用于成像应用程序、计算机视 觉应用程序及/或可由装置100执行的其它常用应用程序中的某些滤波器来对传感器模 块210的数据执行一些初始处理。此滤波器可包含例如用于光照、色彩、曝光、焦点及 其类似者的优化滤波器。核心数据路径220可由计算机视觉处理单元120及/或图1的图 像传感器模块110的部分以及一或多个中间组件(未展示)及/或类似装置来实施。在一些 实施例中,核心数据路径220可至少部分地由视频前端(VFE)来实施。

计算机视觉专门化模块230包括可由图1的计算机视觉处理单元120及/或存储器子 系统150执行的数据路径200的可调适组件。计算机视觉专门化模块230经配置以确定 用于计算机视觉应用程序及服务240的输入且相应地调适数据路径,由此使来自传感器 模块210的数据适于用于计算机视觉应用程序及服务240的输入。举例来说,计算机视 觉专门化模块230可基于计算机视觉应用程序及服务240中的一或多者的要求或需要或 基于来自其的指令或其接口而确定输入。明确地说,计算机视觉专门化模块230可经由 核心数据路径220从传感器模块210接收图像(或其它数据),且基于计算机视觉应用程 序及服务240的需要而使用可用图像处理功能(在本文中也被称作“滤波器”)的至少一 子组而处理所述图像。在一些实施例中,计算机视觉专门化模块230或其功能性的部分 是由ISP实施。

计算机视觉应用程序及服务240可由图1的应用程序处理单元130及/或存储器子系 统150及/或类似装置来执行。如下文较详细论述,计算机视觉应用程序及服务240可通 过向计算机视觉专门化模块230提供参考(图像、命令,等)而将所需数据或信息的指示 提供到计算机视觉专门化模块230。如先前所揭示,计算机视觉应用程序(及其需要)可 取决于应用程序而实质性地变化。将理解,如本文所描述的计算机视觉应用程序及服务 240可包含一或多个计算机视觉应用程序及/或计算机视觉服务。在一些实施例中,在多 个计算机视觉应用程序及/或服务具有许多需要的情况下,计算机视觉专门化模块230 可提供最佳数据路径以服务于其所有需要。

图3说明根据一个实施例的计算机视觉专门化模块230的一组可用滤波器315到 355。在一些实施例中,滤波器至少部分地以硬件实施,从而提供比单独以软件执行的 情况较快、更高效的滤波。另外,在一些实施例中,在计算机视觉专门化模块230而非 计算机视觉应用程序及服务240及/或应用程序处理单元130中实施此些滤波器可增大处 理速度及/或减小功率消耗。尽管图3将滤波器说明为以特定次序提供从接收自核心数据 路径220的输入310到提供到计算机视觉应用程序及服务240的输出375的某一数据路 径,但所述次序可取决于应用程序而更改。此外,可取决于应用程序而添加、省略、替 代、组合及/或划分滤波器。另外,在一些实施例中,可选择滤波器中的任何一或多者以 供用于给定功能或过程而不需要在计算机视觉专门化模块230中使用其它滤波器。

为指示需要,计算机视觉应用程序及服务240可经由输入365提供参考360。取决 于应用程序,参考可例如为参考图像。所述参考可另外或替代地包含关于图像的信息(例 如,提供图像的色彩分布的直方图)。任选地,参考可包含来自计算机视觉应用程序及服 务240的命令或指令集,其可遵守某一协议及/或指令集。在一些情况下,作为从计算机 视觉应用程序及服务240接收参考的补充或替代,可由计算机视觉专门化模块230直接 从核心数据路径220获得参考。一旦获得参考,计算机视觉专门化模块230即可将其存 储在存储器中。

动态视图选择325可经配置以选择某一视图用于后续处理。明确地说,取决于计算 机视觉应用程序,可由多个图像传感器(例如,对于立体声成像至少为两个)对视野进行 取样。由此,来自若干图像传感器的视野可动态地调整以使计算机视觉的所需处理减到 最少。在一个实例中,手部示意动作辨识可跟踪手部,手部的图像通过多个图像传感器 俘获。动态视图选择325可从多个图像中选择用于手部跟踪的最佳图像。在另一实例中, 动态视图选择325可跟踪基准标记且选择具有基准标记的最佳视图(例如,与基准标记垂 直)的图像,例如以与扩增实境(AR)应用程序一起使用。此可通过减少需处理的图像量 而帮助减少后续处理。

视图窄化315及视图定位320可经配置以移除应用程序不关注的图像部分。举例来 说,特定计算机视觉应用程序可能对放置在两百万像素图像的一个象限中的特定对象感 兴趣。在此情况下,将仅需要处理图像的一部分(例如,500,000个像素)且将其传递到计 算机视觉应用程序及服务240。因此,计算机视觉专门化模块230可经调适以使用视图 窄化315来例如隔离图像的相关部分及/或估计像素的数目及/或表示所述对象的线。随 着计算机视觉应用程序及服务240的需要改变(例如,特定计算机视觉应用程序进入不同 状态及/或执行另一计算机视觉应用程序),计算机视觉专门化模块230可相应地调适。 因此,计算机视觉专门化模块230可使用视图窄化315及/或视图定位320来在不同时间 提供不同分辨率。

可变角度旋转345可经配置以相对于俘获图像的传感器旋转图像及/或图像内的对 象。举例来说,在矩形相对于传感器处于某一定向时,计算机视觉应用程序可仅识别图 像中的矩形。并非迫使计算机视觉应用程序执行用于调整图像的定向的算法(例如,在应 用程序处理单元130运行所述算法),计算机视觉专门化模块230可调适数据路径以使用 可变角度旋转345来使图像的全部或一部分旋转。

在例如计算机视觉应用程序及服务240指示需要色彩辨识及/或操纵时,可在数据路 径中实施色彩变换350、色彩滤波及遮蔽330以及直方图分析335。

丢帧控制340可经配置以减小递送到计算机视觉应用程序及服务240的图像(帧)的 量,由此减少频宽及功率需要。举例来说,一旦编程,传感器模块210的传感器即可每 秒递送一定量的帧。然而,如果此量大于计算机视觉应用程序及服务240所需要的量, 则数据路径可经配置以使用丢帧控制340来丢弃任何额外帧。

场景改变检测及运动估计355可经配置以确定是否已发生传感器输入改变。可例如 通过比较当前图像与过去图像来确定所述改变。如先前所指示,过去图像可维持为参考 360,从数据路径检索或经由输入365从计算机视觉应用程序及服务240接收。

尽管图3中未说明,但计算机视觉专门化模块230还可包含经配置以识别及/或输出 特征的一或多个滤波器及/或经配置以跟踪元件或特征及/或输出其位置的一或多个模 块。举例来说,计算机视觉专门化模块230可包括经配置以从图像提取特征的一或多个 功能,例如尺度不变特征变换(SIFT)、PhonySIFT、加速稳健特征(SURF)及/或加速分段 测试特征(FAST)角点检测器。另外,所述功能可包含用以计算频谱特征或特性的一或多 个功能。

计算机视觉专门化模块230还可包含计算机视觉中断处理器370。利用计算机视觉 中断处理器370,计算机视觉专门化模块230可允许执行计算机视觉应用程序及服务240 的基础硬件(例如,应用程序处理单元130及/或存储器子系统150)进入低功率(例如,“待 用”)模式。在计算机视觉专门化模块230确定触发事件已发生时,计算机视觉专门化模 块230可利用计算机视觉中断处理器370来提供基础硬件的中断以致使基础硬件退出低 功率模式。

在与其它滤波器组合时,计算机视觉中断处理器370可允许计算机视觉专门化模块 230在数据路径中执行多种功能,同时需要极少或不需要来自执行计算机视觉应用程序 及服务240的基础硬件的处理。举例来说,计算机视觉应用程序及服务240可包含安全 性应用程序,其中装置100利用相机监视某区域且在其检测到所监视区域中的改变的情 况下发出声音警报。为节省电池电力,执行计算机视觉应用程序及服务240的基础硬件 (例如,应用程序处理单元130及/或存储器子系统150)可进入待用模式,同时计算机视 觉专门化模块230使用场景改变检测及运动估计355来比较传感器输入与所监视区域的 参考图像。如果场景改变检测及运动估计355确定所监视区域存在改变(例如,某人或某 物进入相机所检视的场景),则其可通知计算机视觉中断处理器370。计算机视觉中断处 理器370随后可产生执行计算机视觉应用程序及服务240的基础硬件的中断,其可接着 致使安全性应用程序发生声音警报。通过以此方式在数据路径而非计算机视觉应用程序 及服务240中提供计算机视觉中断处理器370以及场景改变检测及运动估计355,装置 100能够以高效方式执行安全性应用程序而无需执行计算机视觉应用程序及服务240的 基础硬件的不必要处理。

图4是说明计算机视觉专门化模块230的组件可如何分组成用于计算机视觉应用程 序及服务240的数据路径的不同功能部分的框图400。举例来说,组件可分组成以下功 能部分:输入层420、图元辨识430及结构辨识440。数据路径的不包含于计算机视觉 专门化模块230中的方面(例如,包含于核心数据路径220中)也可取决于所需功能性而 有助于输入层420、图元辨识430及/或结构辨识440的功能性。即,核心数据路径220 可提供输入310,可能已针对所述输入执行输入层420、图元辨识430及/或结构辨识440 的部分。

输入层420包括数据路径的一部分,其将数据从传感器模块210引入同时潜在地减 少后续计算机视觉处理块中所需要的处理。为了这样做,输入层420可配置有一或多个 图像处理滤波器,包含例如色彩变换350、色彩滤波及遮蔽330、动态视图选择325、视 图定位320、视图窄化315、可变角度旋转345、色彩变换350、色彩滤波及遮蔽330及 /或丢帧控制340,及其类似者。另外或替代地,输入层420可提供优化环境光照、色彩、 曝光及/或焦点的图像处理滤波器以及经配置用于特征提取的滤波器及/或其它滤波器。

数据路径的图元辨识430部分可基于计算机视觉应用程序及服务240的需要而加以 配置。此可包含确定某些特征是否存在于来自传感器模块210的数据中。举例来说,如 果计算机视觉应用程序及服务240包含手部示意动作辨识,则图元辨识430可经配置以 辨识手部。对于关注某些色彩的应用程序,图元辨识430可经配置以检查来自传感器模 块210的数据的比色以确定是否存在一或多个色彩。为提供此功能性,图元辨识430可 配置有一或多个图像处理滤波器,包含例如视图定位320及/或视图窄化315及其类似者。 另外或替代地,图元辨识430可配置有图像处理滤波器,包含分段、姿势检测及/或其它 滤波器。

结构辨识440可经配置以随时间推移跟踪来自传感器模块210的数据中的特征且界 定结构,所述结构还可基于计算机视觉应用程序及服务240的需要。数据中的特征可包 含可识别的特征,例如边缘、拐角、SIFT(比例不变特征变换),及其类似者。由所跟踪 特征界定的结构可包含例如符号及/或视觉示意动作。为提供此功能性及/或潜在地减少 图元及/或结构辨识处理块中所需要的处理,结构辨识440可配置有一或多个图像处理滤 波器,包含例如场景改变检测及运动估计355、丢帧控制340、直方图分析335及其类 似者。另外或替代地,结构辨识440可配置有图像处理滤波器,包含跟踪、预测、示意 动作检测及/或其它滤波器。所跟踪特征可取决于请求及/或消耗结构辨识的应用程序的 需要而变化。举例来说,基于示意动作的应用程序可能需要跟踪手部以确定示意动作。 另一方面,情境感知应用程序或扩增实境应用程序可跟踪多种对象中的任一者以用于对 象辨识。

图5A及5B提供计算机视觉专门化可如何使用不同滤波器链来基于计算机视觉应用 程序及服务240的需要而适应性地调整数据路径200的实例。在图5A中,计算机视觉 专门化模块230通过利用包括直方图分析335、场景改变检测及运动估计355以及计算 机视觉中断处理器370的滤波器链来使数据路径适于安全性应用程序以将输出375提供 到计算机视觉应用程序及服务240。在图5B中,说明数据路径200,其中计算机视觉专 门化模块230通过利用包括视图窄化315、可变角度旋转345及丢帧控制340的滤波器 链来调适数据路径以满足计算机视觉应用程序进行对象辨识的需要。可注意到,尽管图 5A及5B中所示的实例中所提供的滤波器链皆包含三个滤波器,但计算机视觉专门化模 块230可基于计算机视觉应用程序及服务240的需要而包含较大或较小量的滤波器。

用于计算机视觉专门化模块230所利用的每一滤波器的参数还可取决于计算机视觉 应用程序及服务240的需要而变化。举例来说,可界定视图窄化315以提供图像的右上 象限用于第一应用程序,且提供图像的左下象限用于第二应用程序。此外,计算机视觉 专门化模块230可根据单个应用程序的不断改变的需要而调适滤波器及其参数。因此, 计算机视觉专门化模块230不仅可针对不同计算机视觉应用程序调适数据路径,而且可 针对特定计算机视觉应用程序的不同状态及/或需要来调适数据路径。

除了图3中所示的滤波器之外,实施例还可利用数据交换来提供用于不同数据片段 的数据端口。此功能性的实例说明于图6中。此处,除了任何其它滤波器610(例如,相 对于图3描述的滤波器315到355)之外,计算机视觉专门化模块230可使用滤波器链, 其中多视图端口数据交换器620将数据分离到不同端口630中。利用多视图端口数据交 换器620,数据路径200可将来自单个图像的数据分离成单独的子图像输出,如同图像 是由单独的传感器拍摄。举例来说,对于计算机视觉应用程序及服务240中的面部辨识 计算机视觉应用程序,计算机视觉专门化模块230可使用滤波器610及多视图端口数据 交换器620来从四个人的面部的图像提取每一面部的单独图像,其中每一图像的数据具 有对应的检视端口630。面部辨识计算机视觉应用程序可利用来自每一端口630的数据, 且从每一端口630单独地执行面部辨识。

以此方式进行数据交换还可促进如何将数据标记于装置的系统存储器640(其可包 括图1的存储器子系统150)中。数据标记可尤其适用于具有将信息提供到数据路径200 的多个传感器的装置。如图6中所示,实施例可经配置以允许计算机视觉专门化模块230 的多视图端口数据交换器620标记每一数据端口630的数据且写入到系统存储器640。 多视图端口数据交换器620可经配置以使数据对准,使得系统存储器640中的分页得以 减少,由此减少潜时及功率消耗。

图7说明用于提供用于计算机视觉应用程序的自适应数据路径的方法700的实施 例。所述方法可由例如计算机视觉处理单元(例如图1的计算机视觉处理单元120)来执 行。因此,用于执行方法700的每一步骤的装置可包含如本文所描述的硬件及/或软件组 件。在一个实施例中,方法700可由专用的基于指令的直列式处理器来执行。此外,装 置的存储器子系统及/或计算机视觉处理单元内部的存储器可编码有用于致使装置及/或 计算机视觉处理单元执行方法700的步骤中的一或多者的指令。

在框710处,接收第一图像。可从图像传感器模块的一或多个传感器(例如传感器 115)接收所述图像。在一些实施例中,在由例如核心数据路径接收图像之前,可对图像 发生一些基本滤波。

在框720处,基于由应用程序处理单元执行的第一计算机视觉应用程序选择图像处 理功能或滤波器的第一子集。所述第一子集是选自能够用于处理第一图像的多个图像处 理功能。如先前所指示,选择图像处理功能的第一子集可基于由应用程序处理单元(例如 应用程序处理单元130)所执行的计算机视觉应用程序提供的输入。所述输入可例如为参 考图像。在由专用计算机视觉处理单元执行方法700的情况下,所述输入可为由不具有 单独解译引擎的计算机视觉处理单元解译的基于指令的命令。所述输入可包含由计算机 视觉应用程序在应用层产生的指令。另外或替代地,可基于输入动态地编程计算机视觉 处理单元(及/或实施方法700的其它硬件及/或软件),以实施所选图像处理功能。滤波器 或功能可包括滤波器315到355或本文中未说明或描述的其它滤波器中的任一者。

在框730处,使用图像处理功能的第一子集处理所述第一图像。取决于所需功能性 及/或计算机视觉应用程序的需要,可将中断或其它输出提供到应用程序处理单元及/或 存储器子系统以致使任一者或两者退出低功率模式。在一些情况下,例如在使用多视图 端口数据交换器来分离来自单个图像的子图像时(如先前相对于图6所描述),可提供来 自第一图像的多个子图像输出。

任选的框740到760说明关于第二计算机视觉应用程序调适数据路径。在框740处, 例如从传感器115接收第二图像。在框750处,基于由应用程序处理单元执行的第二计 算机视觉应用程序而例如从功能315到355或其它功能中选择图像处理功能的第二子 集。此处,例如,第二计算机视觉应用程序的需要可能不同于第一计算机视觉应用程序 的需要,因此导致选择图像处理功能的第二子集,如上文关于图5A及5B所说明。然而, 如先前所解释,数据路径不仅可基于由应用程序处理单元执行的不同计算机视觉应用程 序而更改所使用的图像处理功能及/或每一图像处理功能的参数,而且可基于特定计算机 视觉应用程序的状态而更改所使用的图像处理功能及/或每一图像处理功能的参数。在框 760处,使用图像处理功能的第二子集处理所述第二图像。

应了解,图7中说明的特定步骤说明用于提供用于计算机视觉应用程序的自适应数 据路径的实例方法。替代实施例可包含对所绘示实施例的更改。此外,可取决于特定应 用而添加或移除额外特征。所属领域的技术人员应认识到许多变化、修改及替代方案。

本文中所论述的方法、系统及装置为实例。各种实施例可在适当时省略、取代或添 加各种程序或组件。举例来说,可在各种其它实施例中组合关于某些实施例描述的特征。 可以类似方式组合实施例的不同方面及元件。本文所提供的图的各种组件可体现在硬件 及/或软件中。而且,技术演进,且因此许多元件为实例,其并不将本发明的范围限于那 些特定实例。

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号