首页 / 专利库 / 心理学与精神病学 / 感知 / 将上下文感知应用相关功能性外派给传感器集线器的机制

将上下文感知应用相关功能性外派给传感器集线器的机制

阅读:507发布:2022-12-26

专利汇可以提供将上下文感知应用相关功能性外派给传感器集线器的机制专利检索,专利查询,专利分析的服务。并且描述一种用于将上下文 感知 应用相关活动外派给 传感器 集线器的机制。本 发明 的 实施例 的方法包括通过配置传感器集线器的传感器集线器处理器来将多个功能性从应用处理器外派给传感器集线器处理器,并且使用耦合到传感器集线器处理器的一个或多个传感器来执行一个或多个上下文感知应用。,下面是将上下文感知应用相关功能性外派给传感器集线器的机制专利的具体信息内容。

1.一种计算机实现的方法,包括:
通过配置传感器集线器的传感器集线器处理器,将多个功能性从应用处理器外派给所述传感器集线器处理器;以及
使用耦合到所述传感器集线器处理器的一个或多个传感器来执行一个或多个上下文感知应用。
2.如权利要求1所述的计算机实现的方法,其中,配置包括基于多个基元来动态地配置所述传感器集线器处理器。
3.如权利要求2所述的计算机实现的方法,还包括更新所述多个基元中的一个或多个,以便扩大或缩小所述多个基元中的一个或多个。
4.如权利要求3所述的计算机实现的方法,还包括将一个或多个基元添加到所述多个基元或者从所述多个基元中删除一个或多个基元。
5.如权利要求2所述的计算机实现的方法,其中,所述传感器集线器处理器的动态配置是基于所述多个基元中的一个或多个的更新或者所述一个或多个基元的添加。
6.如权利要求1所述的计算机实现的方法,其中,外派的多个功能性由所述传感器集线器处理器来执行,所述传感器集线器处理器管理所述一个或多个传感器的活动,其中管理包括在所述应用处理器睡眠时从所述一个或多个传感器获得数据,其中所述多个功能性包括捕捉数据、触发所述一个或多个传感器、处理所捕捉数据、传递所处理数据、校准、对所捕捉数据进行时间采样以及管理功率中的一个或多个,其中处理所捕捉数据包括过滤所捕捉数据,管理功率包括降低功率消耗。
7.如权利要求6所述的计算机实现的方法,其中,所述活动是基于与所述一个或多个上下文感知应用相关的用户动作。
8.如权利要求1所述的计算机实现的方法,其中,所述传感器集线器处理器耦合到在单个芯片组上或者在分开的芯片组上的所述应用处理器。
9.一种系统,包括:
传感器集线器的传感器集线器处理器;
第一逻辑,所述第一逻辑通过配置所述传感器集线器处理器,将多个功能性从应用处理器外派给所述传感器集线器处理器;以及
第二逻辑,所述第二逻辑使用耦合到所述传感器集线器处理器的一个或多个传感器来执行一个或多个上下文感知应用。
10.如权利要求9所述的系统,其中,配置包括基于多个基元来动态地配置所述传感器集线器处理器。
11.如权利要求10所述的系统,还包括第三逻辑,所述第三逻辑更新所述多个基元中的一个或多个,以便扩大或缩小所述多个基元中的一个或多个。
12.如权利要求11所述的系统,其中,所述第三逻辑还将一个或多个基元添加到所述多个基元或者从所述多个基元中删除一个或多个基元。
13.如权利要求10所述的系统,其中,所述传感器集线器处理器的动态配置是基于所述多个基元中的一个或多个的更新或者所述一个或多个基元的添加。
14.如权利要求8所述的系统,其中,所述传感器集线器处理器管理所述一个或多个传感器的活动,其中管理包括在所述应用处理器睡眠时从所述一个或多个传感器获得数据,其中所述多个功能性包括捕捉数据、触发所述一个或多个传感器、处理所捕捉数据、传递所处理数据、校准、对所捕捉数据进行时间采样以及管理功率中的一个或多个,其中处理所捕捉数据包括过滤所捕捉数据,管理功率包括降低功率消耗。
15.如权利要求14所述的系统,其中,所述活动是基于与所述一个或多个上下文感知应用相关的用户动作。
16.一种非暂时机器可读介质,其中包括指令,所述指令在由机器执行时使所述机器:
通过配置传感器集线器的传感器集线器处理器,将多个功能性从应用处理器外派给所述传感器集线器处理器;以及
使用耦合到所述传感器集线器处理器的一个或多个传感器来执行一个或多个上下文感知应用。
17.如权利要求16所述的非暂时机器可读介质,其中,配置包括基于多个基元来动态地配置所述传感器集线器处理器。
18.如权利要求16所述的非暂时机器可读介质,其中,所述指令在被执行时,还使所述机器更新所述多个基元中的一个或多个,以便扩大或缩小所述多个基元中的一个或多个。
19.如权利要求18所述的非暂时机器可读介质,其中,所述指令在被执行时,还使所述机器将一个或多个基元添加到所述多个基元或者从所述多个基元中删除一个或多个基元。
20.如权利要求17所述的非暂时机器可读介质,其中,所述传感器集线器处理器的动态配置是基于所述多个基元中的一个或多个的更新或者所述一个或多个基元的添加。

说明书全文

将上下文感知应用相关功能性外派给传感器集线器的机制

技术领域

[0001] 一般来说,领域涉及计算装置,更具体来说,涉及采用用于将上下文感知应用相关功能性外派给传感器集线器的机制。

背景技术

[0002] 上下文感知软件应用在手持和移动计算装置中越来越普及。上下文感知应用提供新的计算范例,由于它将计算与装置使用分离,因而当用户没有与这些装置交互时“关掉装置”以提高电池使用寿命的现有方式不起作用。这是因为用户的上下文与用户的日常生活阶段(例如用户活动、用户位置、用户社会交互、用户情绪状态等)相关,具有上下文感知应用的移动装置必须连续捕捉用户的上下文(甚至当用户“关掉装置”时),这使计算装置保持工作并且消耗功率。
[0003] 例如,计步器应用设计成测量用户一整天所走的步数,而不管如何使用具有计步器应用的移动装置。为了达到计步器应用的要求,各种装置传感器(例如加速计、陀螺仪、指南针等)必须在持续时间段里感测用户的移动(例如步数)(因而连续消耗功率),甚至当移动装置大概被“关掉”并且放在用户口袋中时也是这样。与当用户没有与电话交互时关掉的典型移动电话不同,具有上下文感知应用的移动计算装置必须保持开机并且不断地在使用中,以便在一整天连续捕捉传感器数据。上下文感知应用消耗大量功率,这要求计算装置电池每天多次充电。附图说明
[0004] 在附图的各图中通过举例而不是通过限制来说明本发明实施例,附图中相似的参考标号指示相似的元件,其中:
[0005] 图1示出按照本发明的一个实施例采用传感器集线器的计算装置;
[0006] 图2示出按照本发明的一个实施例具有传感器集线器硬件的传感器集线器;
[0007] 图3A和图3B示出按照本发明的一个实施例具有传感器集线器软件的传感器集线器的一个实施例;
[0008] 图4示出按照本发明的一个实施例用于将处理器上下文感知应用相关功能外派给传感器集线器的方法;以及
[0009] 图5示出按照本发明的一个实施例的计算系统。

具体实施方式

[0010] 本发明的实施例提供一种用于将上下文感知应用相关活动外派给传感器集线器的机制。本发明的实施例的方法包括:通过配置传感器集线器的传感器集线器处理器来将多个功能性从应用处理器外派给传感器集线器处理器;以及使用耦合到传感器集线器处理器的一个或多个传感器来执行一个或多个上下文感知应用。
[0011] 在一个实施例中,提供一种由低功率感测子系统(例如处理器、传感器、硬件和软件的组合等)组成的传感器集线器,所述低功率感测子系统在计算装置的应用处理器睡眠时工作,并且负责以比在应用处理器中执行这些功能时低得多的功率将多个功能性从应用处理器卸载到传感器集线器处理器。此外,并且在一个实施例中,传感器集线器通过外露一组功率节省基元来支持宽范围的上下文感知应用,以便提供将传感器集线器配置用于宽范围的上下文能的必要灵活性,同时保持低功率要求。新颖的传感器集线器克服了与要求上下文感知应用相关传感器直接连接到消耗大量功率并且显著降低电池使用寿命的应用处理器的常规系统关联的常规功率相关问题。
[0012] 图1示出按照本发明的一个实施例采用传感器集线器110的计算装置100。计算装置100可包括具有用作计算装置100的任何硬件或物理资源与用户之间的接口操作系统104的移动装置(例如智能电话、手持装置、手写板、膝上型电脑等)。计算装置100还可包括处理器106、存储器装置102、网络装置、驱动器等等。处理器106可包括为服务于计算装置100而提供的应用处理器(电路)108。应用处理器108可包括具有移动因特网装置(MID)能力的处理器,诸如基于Lincroft芯片上系统(SOC)与Atom 处理器核心的Moorestown 等,以便执行各种任务,诸如高级上下文处理等。在一个实施例中,正如本文档中稍后将说明的,可向应用处理器108赋予根据预期或需要来配置传感器集线器(使用传感器集线器硬件和/或软件)的权限和能力,以便使用耦合到传感器集线器处理器的多个传感器来执行(由应用处理器来执行的)各种上下文感知应用相关功能性,从而使用低得多的功率量来执行所述功能性(与相似功能性由应用处理器来执行时相反)。要注意,如“机器”、“装置”、“计算机”和“计算系统”之类的术语在本文档中通篇可互换地并且同义地使用。
[0013] 在一个实施例中,计算装置100还包括具有与应用处理器108进行通信的硬件(架构)112和软件(架构)114的传感器集线器110,以便执行各种上下文感知应用相关功能性,诸如作为基元来提供的传感器数据捕捉、触发、处理、过滤、流播、存储、转发、校准等。这些功能性被外派,例如从应用处理器108卸载到传感器集线器110,并且按照足够灵活以虑及上下文感知应用的变化需要的方式来执行。换言之,在一个实施例中,基元可在传感器集线器110运行,但是从应用处理器108和由应用处理器108通过协议(例如传感器集线器应用编程接口(API))来配置。
[0014] 考虑现实生活上下文感知应用示例,上下文感知应用在它请求手势识别”时被触发。这个请求被路由到运行于交互应用(IA)应用处理器108上的中间件。然后,中间件将传感器集线器110配置成从例如加速计来捕捉数据,在从加速计检测到移动时触发陀螺仪,在传感器集线器110上执行手势测点定位,并且在满足这些条件时将数据发送给中间件。应用处理器上的中间件则在它接收到数据的任何时间运行算法(例如,隐尔可夫模型(HMM)算法),执行最终手势识别,并且判定用户刚执行了“摇动”手势。换言之,在一个实施例中,基元(例如触发、捕捉和处理)由运行于IA应用处理器108上的中间件来配置,但是它们在传感器集线器110的传感器集线器软件114中实现,通过应用处理器108处的传感器集线器API来外露,并且通过应用处理器108来请求、触发和配置,这将参照后续附图来描述。
[0015] 如在本文档中随后将说明的,传感器集线器硬件112可包括耦合到与传感器集线器软件114配合工作的多个传感器(例如3D加速器、陀螺仪、指南针、气压计等)的通用低功率处理器(例如STMicro Cortex等),以便执行与各种上下文感知应用相关的功能性,从而降低计算装置100的功率要求。
[0016] 图2示出按照本发明的一个实施例具有传感器集线器硬件112的传感器集线器110。在一个实施例中,传感器集线器110包括传感器集线器硬件112和传感器集线器软件114。传感器集线器硬件112包括能够以极低电流(例如微安至毫安范围)进行操作并且基于处理需要而动态地按比例增加的通用低功率传感器集线器处理器202(例如Cortex M3)。在一个实施例中,与上下文感知应用相关的各种传感器214-228设置在传感器集线器
2
硬件112内,因为它们例如使用诸如集成电路间(IC)接口、串行外设接口(SPI)、通用输入/输出(GPIO)、通用异步接收器/发射器(UART)、模拟的、无线的等标准接口连接到传感器集线器处理器202。此外,在一个实施例中,传感器集线器处理器202通过一组接口(例如SPI、通用串行总线(USB)、GPIO等)连接到应用处理器108并且设置成与应用处理器108通信,并且保持对共享存储空间的访问。虽然在所示实施例中传感器集线器处理器202被示为分开的处理器,但是在另一个实施例中考虑传感器集线器处理器202可设置为应用处理器108内的核心处理器,或者在又一个实施例中,设置在芯片组(例如Atom 芯片组、平台控制器集线器(PCH)等)内,等等。
[0017] 在一个实施例中,传感器集线器处理器202用作处理分级结构内、例如在传感器214-228与应用处理器108之间的中间级处理代理。这个中间级代理通过允许应用处理器
108将与传感器数据相关的上述任务外派给传感器集线器处理器202,来减轻对于应用处理器108保持轮询和处理传感器数据(例如收集传感器数据并且将其与阈值进行比较)的需要。此外,传感器集线器处理器202提供的灵活性和可编程性超过由传感器214-228在配置成直接与应用处理器108配合工作而没有传感器集线器处理器202时通常提供的灵活性和可编程性。
[0018] 考虑传感器集线器处理器202可用于根据上下文感知应用的性质和功能与任何数量和类型的传感器214-228配合工作。例如,上下文感知应用(如陀螺仪应用)可能需要某些传感器(例如3d加速计222、3d陀螺仪220等),而另一些上下文感知应用(如照相机应用)可能不需要与计步器应用可能需要的完全相同的传感器,反之亦然。一些示例包括与编解码器214(例如Maxim CODEC)关联的环境麦克216(例如Knowles环境麦克风),所述编解码器214用于环境麦克风216与传感器集线器处理器202、3d指南针218(例如Honeywell指南针)、3d陀螺仪220(例如Invense陀螺仪)、3d加速计222(例如STMicro加速计)、光传感器224(例如Intersil光传感器)、气压计226和闪光灯228等之间的数据转换。除了上述物理传感器214-228之外,各种虚拟传感器也可由传感器集线器处理器202来支持。这些虚拟传感器(例如方位xy、方位z、来自惯性测量的航向、噪声等级等)可使用从物理传感器214-228得到的传感器数据来计算或得到。
[0019] 正如将参照图3A-3B进一步描述的,在一个实施例中,任何数量和类型的软件模用作应用处理器108处的传感器集线器软件114的一部分,以便于传感器集线器处理器202动态或按需采用某些能力来执行各种功能性或活动。通过软件模块来提供的这些功能性可称作传感器集线器基元。在一个实施例中,诸如传感器数据捕捉、触发、处理、过滤、流播、存储、转发、校准等的各种上下文感知应用相关功能性作为基元来提供,从应用处理器
108外派给、例如卸载到传感器集线器110,并且按照足够灵活以虑及上下文感知应用的变化需要的方式来执行。换言之,在一个实施例中,基元可在传感器集线器110运行,但是从应用处理器108和由应用处理器108通过协议(例如传感器集线器API)来配置。换言之,在一个实施例中,基元(例如触发、捕捉、处理、捕捉、过滤等)由运行于IA应用处理器108上的中间件来配置,但是它们在传感器集线器110的传感器集线器软件114中实现,通过应用处理器108处的传感器集线器API来外露,并且通过应用处理器108来请求、触发和配置,这将参照后续附图来描述。
[0020] 在一个实施例中,例如在制造具有传感器集线器110和应用处理器108的计算装置时,某些缺省基元最初可作为传感器集线器110的一部分来提供。但是,随时间推移,某些基元(与这些功能性或能力对应)可添加到传感器集线器软件114(或者从其中删除)。例如,如果表示新功能性(例如添加的能力)的新基元(例如添加新组件)添加到传感器集线器软件114,则传感器集线器软件114促进应用处理器108动态或按需(重新)配置传感器集线器处理器202来采用这个新功能性以在与上下文感知应用相关的将来事务中使用的能力。类似地,如果从传感器集线器软件114所提供的基元列表中删除了对应基元(例如校准器),则传感器集线器处理器202可(由如传感器集线器软件114所促进的应用处理器108)动态或按需(重新)配置成没有特定功能性(例如校准)。在一个实施例中,动态配置表示任何数量或组合的基元的动态运行和停止。例如,数据的捕捉可使用加速计
222来启动,而在此后的任何时间停止;但是,捕捉基元(例如图3B的捕捉模块322)可仍保持不变,而只是不实行(例如保持空闲,直到再次需要)。此外,能够发起事件以便被监测,但是如果例如加速计数据达到或超过特定阈值,则可唤醒应用处理器108或者能够消除该事件。此外,通过修改运行于传感器集线器110上的传感器集线器软件114,并且将新基元加入API(例如图3A的传感器集线器API 310)以允许应用处理器108访问和利用新添加的基元,某些基元可通过传感器集线器功能性的扩充来添加或删除。
[0021] 图3A和图3B示出按照本发明的一个实施例具有传感器集线器软件114的传感器集线器110的一个实施例。如前面参照图2所述,多个基元(又称作“活动模块”、“能力模块”、“功能性模块”等)可用作传感器集线器软件114和传感器集线器软件模块304的一部分,以便于应用处理器108将传感器集线器处理器202配置成采用相关能力并且执行各种对应的上下文感知应用相关功能性。
[0022] 在一个实施例中,计算装置100还包括具有与应用处理器108进行通信的硬件(架构)112和软件(架构)114的传感器集线器110,以便执行各种上下文感知应用相关功能性,诸如传感器数据捕捉、触发、处理、过滤、流播、存储、转发、校准等。可将这些功能性作为基元来提供和识别。这些功能性被从应用处理器108外派、例如卸载到传感器集线器110,并且按照足够灵活以虑及上下文感知应用的变化需要的方式来执行。换言之,在一个实施例中,基元在传感器集线器110运行,但是从应用处理器108和由应用处理器108通过协议(比如传感器集线器API)来配置。换言之,在一个实施例中,基元(例如触发、捕捉、处理、捕捉、过滤等)由运行于IA应用处理器108上的中间件来配置,但是它们在传感器集线器110的传感器集线器软件114中实现,通过应用处理器108处的传感器集线器API来外露,并且通过应用处理器108来请求、触发和配置,这将参照后续附图来描述。
[0023] 在一个实施例中,应用处理器108使用基元对传感器集线器处理器202的这个配置或重新配置可动态地执行(例如,可在每次上下文感知应用或用户手势触发变化时自动添加、编辑或删除基元),或者按需执行(例如,允许用户通过采用传感器集线器110改变计算装置上的设定来对基元进行变更)。
[0024] 除了基元(参照图3B进一步描述)之外,还采用其它软件/硬件/固件组件。例如,传感器集线器应用编程接口310(“API”或者简单地称作“接口”)可允许与IA 306关联的IA驱动器312(具有内容解析器314)与传感器集线器处理器202进行交互,用于例如传感器集线器处理器202的配置、数据的配置等。驱动器314可用于外露传感器API 308,传感器API 308能够由例如推理引擎(例如Skin-Skeleton-Guts(SSG)推理软件开发工具包(SDK))使用或者在例如需要原始传感器数据时直接由应用和服务316使用。在一个实施例中,传感器API 308和/或传感器集线器API 310为传感器集线器软件114提供抽象,使得当传感器集线器软件114随时间推移而需要支持不同传感器时,各传感器驱动器外露的传感器能力采用传感器API308和/或传感器集线器API 310来抽象。这样,例如,如果传感器214-228中的现有加速计将由新加速计取代,则采用新加速计的传感器驱动器来简单地替换与现有加速计关联的传感器驱动器会足以外露与现有的相同的加速计API(例如捕捉数据、降低功率等)。
[0025] 此外,中间件370可提供数据的高级上下文存储、检索、通知、处理等以及其它应用、服务和组件316的实现,诸如推理算法实现、原始传感器数据的存储(例如高数据速率)等。类似地,诸如驱动器312、解析器314等的各种组件能够用于提供抽象传感器集线器细节,支持多个消费者,实行冲突解决方案等等。再参照以上参照图1所述的“手势识别”示例,一旦“手势识别”请求被路由到运行于应用处理器108上的中间件370,中间件370将传感器集线器110配置成从例如加速计捕捉数据,在从加速计检测到移动时触发陀螺仪,在传感器集线器110上执行手势测点定位,并且在满足这些条件时向中间件370发送数据。应用处理器108上的中间件370则在它接收到数据的任何时间运行算法(例如HMM算法),执行最终手势识别,并且判定用户刚执行了例如“摇动”手势。中间件370可包括这里所示组件中的一些,诸如IA 306、传感器API 308、传感器集线器API 310、驱动器312、其它应用、服务和组件316、呼叫准入控制(CAC)应用352、CAC框架354(例如SSG框架)、推理SDK(例如SSG推理SDK)356、CAC客户机API 358、CAC提供商API 360等,而解析器314虽然与驱动器312关联,但可在传感器集线器110处运行。如前所述,在一个实施例中,通过传感器集线器软件模块304提供的基元(例如触发、捕捉、处理、捕捉、过滤等)由运行于应用处理器108上的中间件370来配置,但是它们在传感器集线器110的传感器集线器软件114中实现,通过应用处理器108处的传感器集线器API 310来外露,并且通过应用处理器108来请求、触发和配置。
[0026] 现在参照图3B,表示各种能力和/或功能性的多个基元322-338作为软件模块304来提供,并且通过允许应用处理器108基于上下文感知应用的各种需要和/或要求(重新)配置传感器集线器处理器202的传感器集线器API 310与传感器集线器处理器202关联。考虑为了简洁和便于理解而只是作为示例列出与这里所示的基元322-338关联的各种功能性,但是任何数量的其它功能性能够添加到基元322-338的列表中(或者从列表中删除)。
[0027] 在一个实施例中,传感器集线器基元322-338包括捕捉模块322,以便除了配置范围和预期采样率之外,还允许选择要从若干传感器212-228中的哪一个(些)来捕捉数据。捕捉模块322还允许传感器集线器处理器202将不需要或不活动的传感器214-228中的任一个置于低功率模式以节省功率。另一个基元包括数据传递模块324,数据传递模块324用于促成传感器集线器处理器202配置成将数据流播到应用处理器108,以便优化等待时间,同时仍然保持传输效率。当应用处理器108是醒来的或者活动的时,可使用数据传递模块
324或者这种模式。备选地,如果用户(例如移动计算装置的最终用户)没有与(移动)计算装置进行交互,则应用处理器108可转到睡眠,并且将传感器集线器处理器202配置成在后台收集相关数据,并且将数据聚集或存留在存储介质上。在数据传递模式期间,应用处理器108可周期性地醒来,从存储介质检索所存储数据,并且执行必需的任务、如上下文识别。
[0028] 在一个实施例中,另一个基元包括处理模块326,处理模块326用于触发应用处理器108来促成传感器集线器处理器202配置为对于从传感器214-228得到的传感器数据应用某些数据处理功能。这些处理功能能够是经由一组参数可配置的,以便增强灵活性(例如样本数量、滑动窗口等)。此外,通过使用基元调整器338来扩大现有处理模块326,这些处理功能能够比较容易地根据需要或预期来扩大。基元调整器338包括能力扩大模块,能力扩大模块能够用于扩大诸如处理模块326之类的现有模块的功能性,或者通过软件编程来添加新模块。
[0029] 在一个实施例中,基元322-338还包括条件评估器328,条件评估器328帮助促成传感器集线器处理器202配置成执行数据处理功能,以便组合来自任一个或多个传感器214-228的传感器数据,并且对于某些条件的出现来评估传感器数据。这些条件在被触发时,能够引起下列动作中的一个或多个:(1)触发从新传感器捕捉;(2)数据减少;以及(3)事件检测。触发从新传感器捕捉表示使用传感器214-228来触发使用捕捉模块322从不同传感器捕捉得到改进的功率效率,因为一些传感器比其它传感器消耗更大。例如,在上下文感知应用的手势识别的情况下,需要如加速计、陀螺仪等特定传感器来执行手势识别相关任务。例如,从加速计得到的数据用于检测用户的移动,这则引起开始从陀螺仪捕捉(这通常消耗十倍(10X)的功率)。在一个实施例中,应用处理器108的能力被卸载到或外派给传感器集线器处理器202以虑及等待时间少的动作,这在该能力归于应用处理器108时会是不可能的,因为那会要求应用处理器108在每次要触发捕捉时被唤醒。
[0030] 关于数据减少和事件检测,由于连续感测,使用捕捉模块322来捕捉一定量的数据,但是该数据中的许多数据可能不包含任何感兴趣的含意。例如,考虑手势或语音识别,如加速计或麦克风等传感器往往可能收集一些无用数据,这应当不要求应用处理器108被唤醒或接收无用数据。在某个点,用户可执行手势或说话,并且当传感器集线器110能够检测到执行了可能的手势(或语音)(无需能够理解手势或语音)时,它唤醒应用处理器108,并且发送数据。换言之,并且在一个实施例中,应用处理器108仅当所收集的数据具有某种意义时才被唤醒并且接收数据;否则,该职责被外派给传感器集线器110并且由其执行,以便降低应用处理器108上的活动负荷,并且因而降低计算装置的功率消耗。
[0031] 例如,在手势识别的情况下,手势识别流线的前两级不是计算密集的,并且能够卸载到传感器集线器110。这些级使得能够检测是否执行了类似手势的移动,而无需知道手势的类型。当手势没被执行时,这样做能够引起丢弃超过95%的原始数据,并且因而更不频繁地唤醒IA应用处理器108。对于其它5%的数据,可唤醒应用处理器108,并且执行手势识别的高度计算密集的级在IA上执行。这种工作负荷划分方式能够推广到若干接口流水线,包括检测、语音识别、说话者识别等等。
[0032] 继续基元304,虚拟传感器330用作能够用于提供与(从传感器214-228得到或者由其计算的)原始传感器数据相对的高级数据(例如计算装置是否面朝上等)的基元。一些虚拟传感器330(例如方位、航向等)能够在传感器集线器110中有效率地计算,并且在不需要原始传感器数据时产生大的数据减少。此外,这些虚拟传感器330能够触发某些事件,并且相应地唤醒应用处理器108。
[0033] 其它基元304包括校准器332、时间戳模块334、功率管理器336和基元调整器338。由于一些传感器(例如指南针)可要求频繁校准,所以校准器332可用于应用其校准功能以执行各种校准任务,并且将校准(或经校准的)数据传递给应用处理器108。由于保持传感器样本的准确时间戳以实现准确上下文识别可能是重要的,所以时间戳模块334可与传感器集线器自己的内置时钟配合使用,以便周期性地将时间数据与应用处理器108同步,从而执行和记录与上下文感知应用相关的各种活动的时间采样。可将时间数据作为连同时间数据样本一起发送的时间戳与应用处理器108共享。功率管理器336促成在传感器集线器110的功率的管理,因此它自主地并且独立于应用处理器108地进行。例如,功率管理器336可将传感器集线器110切换到低功率状态(例如在连续数据样本获取之间),同时应用处理器108可处于高功率状态。基元调整器338虑及将新基元编程到传感器集线器基元304的列表和/或(重新)编程现有基元304,以便添加或删除某些能力。
[0034] 图4示出按照本发明的一个实施例用于将处理器上下文感知应用相关功能外派给传感器集线器的方法。方法400可由处理逻辑来执行,处理逻辑可包括硬件(例如电路、专用逻辑、可编程逻辑等)、软件(例如运行于处理装置上的指令)或者它们的组合。在一个实施例中,方法400由图1的传感器集线器110来执行。
[0035] 方法400在框405开始,将传感器集线器关联到计算装置(例如移动或手持计算装置)的应用处理器。计算装置容纳一个或多个上下文感知应用。在一个实施例中,在框410,与上下文感知应用相关的多个传感器与传感器集线器的硬件架构的传感器集线器处理器关联。在一个实施例中,传感器集线器可设置在应用处理器所驻留的芯片组的同一核心上,或者分立地设置在另一个芯片组上。在一个实施例中,将一组软件模块作为基元编程到传感器集线器的软件架构中,并且在框415提供给计算系统的应用处理器。如前所述,基元(例如触发、捕捉和处理)由运行于应用处理器上的中间件来配置,但是它们在传感器集线器软件中实现,通过应用处理器的传感器集线器API来外露,并且通过应用处理器来请求、触发和配置。在一个实施例中,可使用传感器集线器软件模块304所提供的基元调整器或调整模块对基元进行后续更新,如参照图3B所述。这些基元变更或更新可包括编辑、移动和/或删除任何数量的现有基元并且添加任何数量和类型的新基元。
[0036] 在框420,将这些基元提供给应用处理器,以便为应用处理器提供将传感器集线器处理器配置成执行与计算系统的上下文感知应用所关联的活动相关的各种功能性和任务的新颖能力。这样,在一个实施例中,在框425,将通常由应用处理器执行的功能性或活动外派给传感器集线器处理器。例如,在一个实施例中,通常由应用处理器直接管理的传感器由传感器集线器处理器来管理,因而为应用处理器消除与上下文感知应用相关的许多任务。这允许应用处理器睡眠,并且因此降低总功率消耗。
[0037] 在框430,确定是否要更新(例如扩大或减小)现有基元中的任一个和/或是否要添加任何新基元。如果是的话,则使用基元调整器,在框435执行更新和/或添加,并且该过程在框420继续进行由应用处理器对传感器集线器处理器的配置。如果不是的话,该过程在框440结束。
[0038] 图5示出按照本发明的一个实施例能够分别采用图1的传感器集线器110的计算系统500。图5的示范计算系统包括:1)一个或多个处理器501,其中至少一个可包括上述特征;2)存储器控制集线器(MCH)502;3)系统存储器503(存在其不同类型,例如双倍数据速率RAM(DDR RAM)、扩展数据输出RAM(EDO RAM)等);4)高速缓存504;5)输入/输出(I/O)控制集线器(ICH)505;6)图形处理器506;7)显示器/屏幕507(存在其不同类型,诸如阴极射线管(CRT)、薄膜晶体管(TFT)、液晶显示器(LCD)、DPL等;以及8)一个或多个I/O装置508。
[0039] 一个或多个处理器501执行指令,以便执行计算系统实现的任何软件例程。指令经常涉及对数据执行的某种操作。数据和指令都存储在系统存储器503和高速缓存504中。高速缓存504通常设计成具有比系统存储器503更短的等待时间。例如,高速缓存504可集成到与一个或多个处理器相同的芯片上,和/或采用较快的静态RAM(SRAM)单元来构成,而系统存储器503可采用较慢的动态RAM(DRAM)单元来构成。通过趋向于将更频繁使用的指令和数据存储在高速缓存504中而不是系统存储器503中,计算系统的总体性能效率提高。
[0040] 特意使系统存储器503可供计算系统内的其它组件使用。例如,从到计算系统的各种接口(例如键盘鼠标打印机端口、局域网(LAN)端口、调制解调器端口等)接收的或者从计算机系统的内部存储元件(例如硬盘驱动器)检索的数据在软件程序的实现中往往在由一个或多个处理器501对这些数据进行操作之前暂时排队到系统存储器503中。类似地,软件程序确定应当通过计算系统接口之一从计算系统发送给外部实体或者存储在内部存储元件中的数据在其被传送或存储之前往往暂时在系统存储器503中排队。
[0041] ICH 505负责确保这种数据在系统存储器503与其适当的对应计算系统接口(以及内部存储装置,若计算系统这样设计的话)之间正确传递。MCH 502负责管理可能在时间上相互接近地出现的、在一个或多个处理器501、接口和内部存储元件当中对于系统存储器503访问的各种竞争请求。
[0042] 一个或多个I/O装置508也在典型计算系统中实现。I/O装置一般负责将数据传递给计算系统(例如组网适配器)和/或从计算系统传递出去;或者,对于计算系统内的大规模非易失性存储装置(例如硬盘驱动器),ICH 505具有它自己与所观测I/O装置508之间的双向点对点链路。
[0043] 本发明的各种实施例的部分可作为计算机程序产品来提供,计算机程序产品可包括其上存储了计算机程序指令的计算机可读介质,计算机程序指令可用于对计算机(或其它电子装置)编程以执行按照本发明的实施例的过程。机器可读介质可包括但不限于软盘、光盘、压缩盘只读存储器(CD-ROM)以及磁光盘、ROM、RAM、可擦可编程只读存储器(EPROM)、电EPROM(EEPROM)、磁卡或光卡、闪存、或者适合存储电子指令的其它类型的介质/机器可读介质。
[0044] 在以上说明书中,参照本发明的具体示范实施例描述了本发明。但是显而易见,可对其进行各种修改和变更,而没有背离所附权利要求中所提出的本发明的广义精神和范围。因此,本说明书和附图要被看作是说明性的而不是限制性的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈