设备中的抬起手势检测的制作方法

文档序号:15752309发布日期:2018-10-26 18:00阅读:296来源:国知局
设备中的抬起手势检测的制作方法

本申请要求在2014年7月18日提交的发明名称为“Raise Gesture Detection in a Device”的美国临时申请No.62/026532的益处,在这里加入其公开的全部内容作为参考。

技术领域

本公开一般涉及电子设备,特别是涉及检测由穿戴或者以其它方式操作电子设备的用户做出的某些类别的手势。



背景技术:

用户越来越多地依赖于移动技术。例如,许多用户现在携带集成移动电话技术与强力计算装置的“智能电话”,该智能电话具有足够小的形状因子,以允许其在操作过程中保持于用户的手中。这种设备提供一定范围的功能,包括移动电话、消息收发(如SMS/MMS消息收发或类似的服务)、使用内置数字照相机的摄影、电子邮件、万维网访问和范围从个人信息管理(例如,日历、通讯录、待办事项列表)到位置感知导航和地图游戏的功能的特定用途应用程序的似乎永无休止的阵列。这种类型的设备可把信息和娱乐的世界置于用户的指尖。

但是,甚至智能电话也明显不足以满足用户对容易访问信息的期望。可穿戴技术受到极大的关注。希望用户可通过可穿戴设备以提高的方便性享受移动技术的益处。



技术实现要素:

广泛采用可穿戴技术的一种障碍是,大多数现有的可穿戴设备使用起来不比智能电话方便。例如,可穿戴设备趋于具有较小的形状因子,这限制可容纳于设备中的电池的尺寸。这又限制可用的工作电力。为了避免浪费电力,现有的可穿戴设备一般在用户不主动对接设备时关闭或者关掉各种电力消耗部件(例如,显示器)。

由于显示器和/或用户输入部件不总是打开,因此,现有的可穿戴设备一般需要一些类别的预备用户输入,诸如触摸可穿戴设备上的按钮,以指示用户希望对接设备;该预备输入可触发可穿戴设备以激活其显示器和/或其它的电力消耗部件。该预备交互可使得设备使用感觉不自然或不方便,在与来自旧技术的熟悉的更自然直观的交互功能对比时尤其如此。例如,曾经戴过腕表的任何人熟悉抬起和/或旋转手腕以检查时间的手势。对于腕表穿戴者,迅速抬起手腕变为自然、自动的移动。但是,这种自然移动只能在传统的腕表上起作用,因为手表的表面“总是打开的”,使得用户观看显示信息(一般是时间)所要做的只是使得手表表面进入视线。但是,在诸如可穿戴计算设备的更先进的电子设备中,总是打开显示器会将电池寿命限制到妨碍设备的通常全天穿戴的程度。

因此,可能希望手腕可穿戴计算设备检测用户什么时候抬起穿戴设备的手腕并且响应该移动自动激活其显示器(和/或其它部件)。这可允许用户与常规腕表一样容易和直观地从手腕可穿戴计算设备获得视觉信息。

本发明的某些实施例提供可检测诸如手腕抬起手势的抬起手势的计算设备。例如,设备可包括诸如加速度计和/或陀螺仪的移动传感器,该移动传感器可实时检测设备的移动,并且,还可推断关于设备的空间取向的信息(例如,通过检测作用于设备上的重力加速度)。基于来自移动传感器的信号,在设备上执行的算法可检测“抬起手势”,该抬起手势可被定义为指示用户正在移动或者已经移动设备的显示器到其视线内的移动模式。响应检测到这种手势,设备可激活其显示器和/或其它部件(例如,触摸屏覆盖物或语音处理子系统等)。在一些实施例中,抬起手势的检测可在多个阶段中出现,并且,不同部件的激活可在不同的阶段上出现。

可以使用各种技术以检测抬起手势。在一些实施例中,检测算法可以试探性地被开发,并且可以考虑“关注姿势”(可以是手腕穿戴计算设备的允许穿戴设备的用户观看其显示器的取向)和特定开始姿势(可以是手腕穿戴计算设备在进入关注姿势之前的取向)的假定特性。因此,例如,不管用户是否从手臂下垂位置(例如,当站立或行走时)或手臂横向位置(例如,当打字时)开始,抬起手势都可被检测。并且,可对特定的用户活动优化抬起手势检测算法。例如,如果用户正在跑步,那么用户手臂的自然移动会在从低功率移动传感器(例如,加速度计)收集的数据中产生噪声,该噪声会干扰抬起手势的检测。对跑步优化的算法可加入来自其它传感器(例如,陀螺仪传感器)的数据,以有利于抬起手势的可靠检测,而不需要用户做任何不同的事情。

在一些实施例中,可在设备的低功率协同处理器(例如,移动协同处理器)上执行抬起手势检测算法。因此,当设备正在被主动使用时,设备的主处理器或中央处理器(在这里也称为应用处理器)可被置于低功率或睡眠状态,以进一步减少设备的电力消耗。可以使用通过在协同处理器上执行的算法进行的抬起手势检测,以唤醒应用处理器。在一些实施例中,可对确定是否唤醒应用处理器设置单独的“预热”算法,并且,该算法可与用于确定是否激活显示器和/或其它用户界面部件的抬起手势检测算法无关地操作。

此外,在设备进入关注姿势之后,协同处理器可执行算法以确定设备什么时候离开关注姿势,这种离开表示用户已停止观看设备。(应当理解,设备状态可能不总是匹配用户是否正在观看设备的地面实况(ground truth),尽管在这里描述的算法可以以较高但未必完美的可靠性实现这种匹配)。检测到设备离开关注姿势(focus pose)(在这里也称为失去关注事件(loss-of-focus event))可触发诸如去激活显示器和/或其它用户界面部件的各种节电措施,这允许应用处理器返回到睡眠状态等。

在一些实施例中,协同处理器可执行唤醒控制逻辑,以确定什么时候开始或结束用于检测抬起手势、失去关注和/或预热事件的各种算法的执行。唤醒控制逻辑也可接收由各种算法检测的事件的通知和使通知与诸如应用处理器和/或用户界面部件的设备的其它部件对应的坐标。例如,唤醒控制逻辑可在检测到抬起手势时通知应用处理器,并且,应用处理器可通过激活显示器和/或其它用户界面部件进行响应。

以下的详细描述和附图将使得能够更好地理解本发明的本质和优点。

附图说明

图1A~1D示出本发明的实施例的典型使用情况的例子。

图2A是示出根据本发明的实施例的设备的部件的框图。

图2B是示出根据本发明的实施例的设备的部件的框图。

图3示出手腕可穿戴设备的设备相对坐标系的例子。

图4是根据本发明的实施例的抬起手势检测处理的流程图。

图5是根据本发明的实施例的用于通过使用手势分类器确认抬起手势的处理的流程图。

图6是示出根据本发明的实施例的抬起手势检测算法的状态的状态图。

图7是根据本发明的实施例的自然抬起手势检测模块的功能框图。

图8是根据本发明的实施例的另一抬起手势检测处理的流程图。

图9是根据本发明的实施例的自然抬起手势检测模块的功能框图。

图10A和图10B示出本发明的实施例的使用情况的例子。

图11是根据本发明的实施例的用于检测有意抬起手势的处理的流程图。

图12是根据本发明的实施例的有意抬起手势检测模块的功能框图。

图13是根据本发明的实施例的用于检测失去关注事件的处理的流程图。

图14是根据本发明的实施例的失去关注检测模块的功能框图。

图15是根据本发明的实施例的用于确定是否唤醒应用处理器的处理的流程图。

图16是根据本发明的实施例的预热检测模块的功能框图。

图17是示出根据本发明的实施例的唤醒控制逻辑的状态的状态图。

图18是根据本发明的实施例的可在唤醒控制逻辑中实现的处理的流程图。

具体实施方式

本发明的某些实施例可为诸如手腕可穿戴设备的设备——其显示器不总是打开的——的用户提供自然交互。例如,设备可包括诸如加速度计和/或陀螺仪的移动传感器,该移动传感器可实时检测设备的移动,并且,还可推断关于设备的空间取向的信息(例如,通过检测作用于设备上的重力加速度)。基于来自移动传感器的信号,在可穿戴计算设备上执行的算法可检测“抬起手势”,该抬起手势可被定义为指示用户正在移动或者已经移动设备的显示器到其视线内的移动模式。(应当理解,设备状态可能不总是匹配用户是否正在观看设备的地面实况,尽管在这里描述的算法可以以较高但未必完美的可靠性实现这种匹配)。当检测到这种手势时,可穿戴计算设备可激活其显示器。也可基于抬起手势的检测激活诸如用户输入部件(例如,触摸屏覆盖物或语音处理子系统等)的其它部件。在一些实施例中,抬起手势的检测可在多个阶段中发生,并且不同部件的激活可在不同的阶段上发生。

如本文中所使用的,“手腕可穿戴设备”(或“手腕可穿戴计算设备”)一般指的是具有适于穿戴于用户的手腕上的形状因子并且在穿戴于用户的手腕上时能向用户呈现信息和从用户接收信息的电子设备。在一些实施例中,手腕可穿戴设备可具有在视觉上呈现信息并且通过屏幕或屏幕上的特定区域接收具有由用户的手指(或用户操作的其它工具)做出的接触手势的形式的用户输入的触摸屏显示器。除了触摸屏显示器以外,或者作为其替代,可以设置其它的用户界面部件。在一些实施例中,手腕可穿戴设备可作为独立的设备(例如,不与其它设备通信的设备)或者作为与其通信的另一电子设备的伴生设备操作。例如,手腕可穿戴设备可与用户的移动电话或用户的另一个人电子设备配对,并且,手腕可穿戴设备可充分利用或增强其它设备的功能,诸如向用户通知呼入电话、消息或其它通信。

手腕可穿戴设备对于用户可能是十分方便的。设备可最低限度地或者根本不干扰用户的普通活动,并且,将设备定位于手腕上可使得设备很容易访问。用户可简单地抬起和/或旋转手腕以使得设备的显示器进入用户的视线。图1A和图1B示出典型的使用情况,在这种使用情况下,用户100穿戴具有显示器104的手腕可穿戴设备102。在图1A中,用户的手臂106处于用户侧的自然位置,并且显示器104不处于用户的视线中。在该位置中,显示器104可以是不活动的(例如,电源关闭或者处于低功率状态,使得信息不可见)而不影响用户的体验。在图1B中,用户100将手臂106抬起和旋转到显示器104现在处于用户的视线中的位置。在该位置中,希望显示器104是活动的(例如,被通电和照亮,使得用户可观看显示的信息)。

图1C和图1D示出另一典型使用情况,在这种使用情况下,用户100在参与诸如打字的活动的同时穿戴手腕可穿戴设备102。在图1C中,用户的手臂106被定位为用于在键盘120上打字,使得前臂与地面大致平行且手腕稍微下转以允许手指到达键。在该位置中,与图1A同样,显示器104可以不活动而不影响用户体验。在图1D中,用户100仅稍微提升手臂106(足以使手指移动离开键盘120)并且进一步下转手腕以使得显示器104进入视线。在该位置中,与图1B同样,希望显示器104是活动的。

一种选项是使得显示器104在任何时间处于活动状态。但是,假定显示器104在活动时与在不活动时相比消耗更多的电力,那么使显示器104在不使用时保持活动会在向设备102供电的电池上产生不必要的消耗。另一选项是仅响应用户输入激活显示器104;例如,用户可按压设备102上的按钮以唤醒显示器104。但是,这会使得设备102使用起来不方便。例如,如图1A和图1B所示,用户的另一只手正在拿包108,这会使得按压手腕可穿戴设备102上的按钮不方便。

根据本发明的某些实施例,诸如手腕可穿戴设备102的设备可自动检测用户在什么时候准备观看设备。基于这种检测,设备可激活其显示器和/或其它电力消耗部件。在一些实施例中,对用户准备观看设备的检测可使用在设备内的低功率协同处理器(例如,移动协同处理器)上执行的移动分析算法。这可允许设备的主处理器(例如,应用处理器)至少在一些时间睡眠,从而进一步节省电力。在一些实施例中,移动分析算法可检测与用户准备观看设备相关的移动(这里,称为“抬起手势”)的类别,所述移动诸如抬起和/或旋转手臂和/或手腕(例如,图1A和图1B之间或图1C和图1D之间的手臂位置差异),并且,抬起手势或有关移动的检测可触发诸如激活显示器的各种动作。抬起手势检测算法可对用户的“开始”姿势敏感,并且特定的开始姿势会影响或者改变期望的抬起手势。例如,期望的抬起手势可根据用户的手臂在一开始下垂(如图1A所示)还是处于肘部弯曲位置(例如,如图1B所示)而不同。算法也可被修改,以在诸如用户跑步的高度动态环境中操作,这种高度动态环境可影响有用的数据的类型、开始姿势和/或构成抬起手势的移动的本质。

在可基于与观看设备相关的自然移动检测抬起手势的情况下,用户可自然地抬起和/或旋转手腕以使得设备的显示器进入视线(例如,如图1B或1D所示)并且立即(或者在可忽略的延迟之后)观看在不对设备提供明示输入的情况下显示的信息。但是,在一些情况下,检测这种“自然”抬起手势可能是不现实的。因此,可以定义“有意”抬起手势,并且有意抬起手势的检测可导致激活显示器和/或其它部件。有意抬起手势可被定义为用户带着激活设备的显示器的意图可执行的特定手势;可基于关于用户在无意激活显示器时会相对不可能执行的手臂或手腕移动的假定来定义手势。例如,如后面描述的那样,有意抬起手势可被定义为对应于短时间间隔内的手腕的双重振荡,在该双重振荡之后设备稳定于最终的姿势;也可使用其它的定义。

一旦用户被确定为观看设备-不管是通过自然抬起手势的检测、有意抬起手势还是通过与设备的一些其它用户交互-设备的用户界面就可被激活,从而允许用户与设备交互。例如,用户可观看设备上显示的信息、操作输入控制以向设备提供信息和/或指令等等。用户可能使设备保持在相对恒定的取向同时观看它并与它交互。当用户完成交互时,用户的手臂可能将返回到其开始位置或设备的显示器不再面向用户视线的另一位置。在一些实施例中,会使设备离开用户视线的移动可被检测为“失去关注”手势,并且可触发节省电力的各种操作,诸如去激活显示器和/或其它电力消耗部件。

此外,或者作为替代方案,在一些实施例中,当设备不在主动使用中时,为了减少电力消耗,设备的主处理器(也称为“应用处理器”)可进入低电力或“睡眠”状态。完成从睡眠状态到适于设备的主动使用的“唤醒”状态(也称为“唤醒”主处理器”)的变换可具有一定的相关的潜伏期。因此,可能希望在用户实际观看设备之前开始唤醒主处理器,而无需也唤醒显示器或其它用户界面部件。一些实施例提供可检测抬起手势的可能开始并且在完成抬起手势之前启动主处理器的唤醒的“预热”检测算法。该操作可提供更快的用户观看设备的响应时间。预热检测算法可与抬起手势检测算法同时且一般与其无关地操作;例如,算法可对相同的接收到的移动传感器数据执行不同的分析。

可在各种电子设备中实现抬起手势(包含自然和/或有意抬起手势)和失去关注手势的检测。图2A是示出根据本发明的实施例的设备200的部件的框图。设备200可以为例如图1A~1D的手腕可穿戴设备102的实现。设备200可包含用户界面202、应用处理器204、存储子系统206、协同处理器208、加速度计210和陀螺仪212。

用户界面202可包括有利于用户与设备200交互的硬件和软件部件。这种部件一般可具有常规或其它设计。例如,在一些实施例中,用户界面202可包含结合了显示器(例如,基于LED、基于LCD、基于OLED等的显示器)与可检测用户手指或其它物体进行的接触的触摸敏感覆盖物(例如,电容或电阻的)的触摸屏界面。通过触摸屏幕的特定区域,用户可指示要采取的行动、响应来自设备的视觉提示等。此外,或者作为替代,用户界面202可包含音频部件(例如,扬声器、麦克风)、按钮、旋钮、拨盘、触觉输入或输出设备等。

可使用一般常规的或其它的设计的一个或多个集成电路(例如,具有一个或多个核芯的可编程微控制器或微处理器)实现的应用处理器204可以是设备200的主要处理子系统。存储子系统206可通过使用存储器电路(例如,DRAM、SRAM、ROM或闪存等)或其它计算机可读存储介质被实现,并且存储子系统206可存储供应用处理器204执行的程序指令以及由设备200在其操作过程中产生或供给到它的数据。在操作中,应用处理器204可执行由存储子系统206存储的程序指令以控制设备200的操作。例如,处理器204可执行操作系统以及专用于特定任务(例如,显示时间、向用户呈现信息、从用户获得信息、与配对设备通信等)的各种应用程序。应当理解,应用处理器204可执行任何希望的处理任务,并且本发明的实施例可与任何特定的应用无关地起作用。

在这里描述的实施例中,应用处理器204可具有至少一个其中由应用处理器204进行的活动(和电力消耗)可被减少或最小化的“睡眠”状态和其中应用处理器204完全操作的“唤醒”状态。例如,应用处理器204可在应用处理器204处于睡眠状态时暂停执行应用和/或操作系统程序,并且在重新进入到唤醒状态时继续执行。

与应用处理器204类似,协同处理器208可通过使用一般常规的或其它的设计的一个或多个集成电路(例如,微处理器和/或微控制器)被实现。不管应用处理器204是处于睡眠状态还是唤醒状态,协同处理器208都可执行作为固件存储于协同处理器208内或者协同处理器208以其他方式可访问的程序代码指令。在一些实施例中,协同处理器208可在主动操作中具有比应用处理器204明显较低的电力消耗。在这里描述的例子中,协同处理器208可执行与移动检测和分析有关的操作,包括抬起手势和/或失去关注手势的检测。在一些实施例中,协同处理器208也可执行这里没有描述的其它操作。

协同处理器208可通过可以为常规或其它设计的通信接口(例如,通信总线)的应用处理器接口214向应用处理器204传送基于移动分析的通知。在一些实施例中,通知可包含从睡眠状态唤醒应用处理器204和/或激活用户界面202的信号。在一些实施例中,应用处理器接口214也可从加速度计210和/或陀螺仪212向应用处理器204传送未处理或部分处理的数据。

为了有利于移动检测和分析,协同处理器208可从诸如加速度计210和陀螺仪传感器(也称为陀螺仪)212的设备200的板上移动传感器接收输入。加速度计210可通过使用常规或其它设计被实现,并且,可对由设备200体验到的沿一个或多个轴的加速度(包含重力加速度以及由于用户移动导致的加速度)敏感。在一些实施例中,加速度计210可包括3轴低电力MEMS加速度计,并且,可以以固定的采样率(例如,100Hz)提供加速度数据。陀螺仪212也可通过使用常规或其它设计被实现,并且可对设备200沿一个或多个轴的取向的变化敏感。陀螺仪212也可以以固定的采样率(例如,100Hz)提供取向数据。

在这里描述的例子中,加速度计210和陀螺仪212可以在设备内被取向以定义设备相对坐标系。图3示出手腕可穿戴设备300(例如,可以为图1A~1B的手腕可穿戴设备102)的设备相对坐标系的例子。手腕可穿戴设备300可通过皮带或条带304固定于用户的手腕302上,使得用户可看到显示器306。如图所示,x轴可被定义为与在用户穿戴设备300时的用户的前臂308基本上平行,y轴可被定义为与x轴正交并且沿着显示器306的面,并且z轴可被定义为显示器306的面正交(指向观看者)。在一些实施例中,加速度计可检测由于重力以及用户的移动导致的加速度。例如,如果前臂308保持水平,那么加速度计可将用户手腕的旋转(或者手腕可穿戴设备300关于x轴的旋转)检测为在开始时间与结束时间之间的加速度的y分量随y轴相对于重力方向的角度变化的变化。手腕旋转也可通过使用陀螺仪被检测为关于x轴的旋转。在整个本公开中使用图3所示的坐标系;应当理解,也可替代使用其它坐标系。

重新参照图2A,在一些实施例中,协同处理器208可包含实现操作和算法(例如,通过使用软件或固件程序代码)以分析来自加速度计210和/或陀螺仪212的信号的各种模块。这些模块(以各种方式称为“手势模块”或“手势检测模块”)中的一些可实现与检测抬起手势和/或失去关注手势有关的操作和算法。例如,协同处理器208可包含用于检测抬起手势的可能启动的“预热”检测模块220、用于检测“低动态”环境中的自然抬起手势的第一“主”检测模块222、用于检测“高动态”环境中的自然抬起手势的第二“主”检测模块224、用于检测有意抬起手势的“晃动(jiggle)”检测模块226和用于检测用户什么时候将设备移出假定的视线的失去关注检测模块228。在后面描述可在模块220、222、224、226和228中实现的算法的例子。

唤醒控制逻辑230可控制分析模块220~228的操作,并且可接收模块220~228报告的手势状态确定。例如,唤醒控制逻辑可基于当前的手势状态确定模块220~228中的哪些应在任何给定的时间被启用,并且可选择性启用或禁用各种算法。选择性地禁用算法可减少协同处理器208的电力消耗。另外,基于手势状态确定,唤醒控制逻辑230可通过应用处理器接口214向应用处理器204和/或用户界面202传送通知。

在一些实施例中,唤醒控制逻辑230和/或移动分析模块220~228可利用附加的支持模块,该模块可选择性地或者持续地执行算法或操作。例如,活动分类器232可从加速度计210和/或陀螺仪212(以及可存在于设备200中的其它传感器,诸如生理传感器)接收数据,并且可分析数据以确定用户参与的活动的类型,例如,行走、静坐或静立、慢跑、跑步、骑车和骑摩托车等。活动分类器232可实现识别与各种类型的活动相关的特性特征的机器学习算法,并且可通过在部署活动分类器232之前的已知用户活动过程中收集传感器数据来训练该算法。

在一些实施例中,唤醒控制逻辑230可使用活动分类器232的输出以确定设备200是处于其中可以使用低动态主检测模块222的“低动态”环境(例如,站立、行走或其它相对慢速移动)还是处于其中应代之以使用高动态主检测模块224的“高动态”环境(例如,跑步)。唤醒控制逻辑230可根据由活动分类器232指示的环境的类型选择性地启用或禁用模块222或224。

在一些实施例中,可以使用手势分类器234以确认由主检测模块222或224检测的自然抬起手势的检测。如后面描述的那样,主检测模块222或224可分析随时间而变的设备位置以便以电力高效的方式检测抬起手势。但是,作为包含与将设备200抬起到视线内类似但实际上不具有该效果的移动的用户动作的结果,这些算法有时会产生错误的肯定。例如,用户可能扭转门手柄以打开门或者抬起饮用玻璃杯以饮用。手势分类器234可实现机器学习算法,该算法已被训练以可靠地区分抬起手势与其它类似的移动。在一些实施例中,在可以与加速度计和/或陀螺仪数据一起记录执行的特定动作的情况下,可通过在用户执行特定动作(包含抬起手势以及其它类似的动作)时收集加速度计和/或陀螺仪数据来训练手势分类器234。该信息可被用于训练算法以产生可靠地区分抬起手势与其它类似动作的输出。因此,当主检测模块222或224检测到手势时,检测算法(或唤醒控制逻辑230)可向手势分类器234提供相关的特征数据,以进行进一步的确认或不确认。在后面与主检测模块222的实施例相关联地描述手势分类器234的使用的例子。在一些实施例中,当应用处理器204处于其唤醒状态中时,手势分类器234可在应用处理器204上执行。

图2B是示出根据本发明的实施例的设备250的部件的框图。例如,设备250可以是图1A~1D的手腕可穿戴设备102的实现。设备250可包含用户界面部件252、应用处理单元254、移动处理单元258和移动传感器260。用户界面部件252可与图2A的用户界面202(或者其部件,诸如触摸屏显示器)类似或相同。主处理单元254可与图2A的应用处理器204类似或相同。移动传感器260可包含可与图2A的加速度计210和/或陀螺仪传感器212类似或相同的一个或多个移动传感器。也可使用其它的用户界面部件和/或移动传感器。

移动处理单元258可与图2A的协同处理器208类似或相同。移动处理单元258可包括各种手势检测模块。例如,预热检测模块270可与图2A的预热检测模块220类似或相同。自然检测模块(低动态)272和自然检测模块(高动态)274可与图2A的主检测模块(低动态)222和主检测模块(高动态)224类似或相同。有意检测模块276可与图2A的晃动检测模块226类似或相同。失去关注检测模块278可与图2A的失去关注检测模块228类似或相同。活动分类器模块282可与图2A的活动分类器232类似或相同。手势分类器模块284可与图2A的手势分类器234类似或相同。可以包括附加或不同的模块,并且一些实施例可包含与所示相比更多或少的模块。

应当理解,设备200和250是解释性的,并且变更和修改是可能的。除了所示的那些以外,或者作为其替代,设备200或250的实施例可包含其它部件。例如,设备200或250可包含电源(例如,电池)和电力分配和/或电力管理部件。设备200或250可包含其它传感器,诸如罗盘、温度计或其它的外部温度传感器、用于确定绝对位置的全球定位系统(GPS)接收器等、用于捕获图像的照相机和生理传感器(例如,脉搏传感器、血压传感器、皮肤导电率传感器、皮肤温度传感器)等。例如,设备200或250可包含启用与包含个人设备和/或网络接入设备的其它设备通信的通信部件。例如,设备200或250可包含RF收发器和实现一个或多个无线通信标准(例如,蓝牙标准、IEEE802.11族标准、诸如3G、LTE等的蜂窝数据网络标准)的相关协议栈。此外,或者代替地,设备200或250可包含有线通信接口,诸如插座连接(例如,支持USB、UART、Ethernet或其它有线通信协议)。

此外,虽然参照特定的块描述了设备200和250,但应理解,这些块是出于便于描述的目的被限定的,并且不是要隐含部件部分的特定物理布置。此外,块不需要与在物理上不同的部件对应,并且,可以使用相同的物理部件以实现多个块的多个方面。块可被配置为执行各种操作,例如,通过对处理器编程或者设置适当的控制电路,并且,可以或者可以不根据如何获得初始的配置来配置各种块。可在包括通过使用电路和软件的任意组合的电子设备的各种装置中实现本发明的实施例。此外,设备200和250是完全可交换的,并且,应当理解,参照设备200(或其部件)进行的任何描述也适用于设备250。

在操作中,协同处理器208可以“总是打开”(例如,不管设备200什么时候被穿戴),并且,例如,唤醒控制逻辑230可根据用户是否正在观看设备而选择性地激活(或启用)模块220、222、224、226、228中的任意或全部。这些算法可检测和报告包括抬起手势、预热事件、失去关注事件等的各种手势状态事件。在后面描述特定的例子。当算法报告事件时,唤醒控制逻辑230可通过应用处理器接口214向应用处理器204通知事件。根据事件,应用处理器204可采取各种动作,诸如从睡眠状态变换到唤醒状态和/或在活动和不活动状态之间变换用户界面202的部件。

现在描述用于检测手势有关事件的特定算法的例子。如本文所使用的,“手势有关事件(gesture related event)”一般指的是由诸如模块220、222、224、226、228的模块或算法检测到的任何手势有关变换。这些事件的例子包括抬起手势(包含后面描述的“可能”、“检测到的”和/或“确认的”抬起手势的识别)、预热手势和/或失去关注手势。例如,可通过向可编程处理器(例如,协同处理器208)提供适当的编程代码和/或设置用于执行描述的操作的专用逻辑电路,实现以下描述的类型的算法。

在一些实施例中,抬起手势检测算法可通过增加已经执行了抬起手势的置信度的一系列状态继续进行。例如,抬起手势检测算法可选择与所关心的时间间隔(例如,用户执行抬起手势可能花费的时间量)对应的一组移动传感器数据采样(包含加速度计和/或陀螺仪传感器数据)。通过考虑该组中的最旧的采样,算法可限定可反映在时间间隔开始时的设备的空间取向的“开始姿势”。可相对于假定的重力垂直轴定义取向。基于开始姿势,算法可确定使设备的显示器进入用户的视线(也称为设备进入“关注姿势”)可能发生的移动的量和/或方向。移动的可能的量和/或方向可被表示为用于识别“可能的”抬起手势的准则,并且,这些准则可被用于基于该组中的移动传感器数据采样中的一些或全部识别是否已经出现了可能的抬起手势。通过确定已到达了关注姿势的设备是否在关注姿势中至少停顿最小时间段,可能抬起手势可进一步被识别为“检测到的”抬起手势。如果希望的话,可通过使用手势分类器执行进一步的确认。抬起手势检测算法可在每次识别可能的、检测到的和/或确认的抬起手势时通知设备的其它部件。

作为抬起手势检测的分段方法的特定例子,图4是根据本发明的实施例的抬起手势检测处理400的流程图。例如,可在图2A的主检测(低动态)模块222中执行处理400。抬起手势检测处理400可通过一系列手势状态(可能的、检测到的、确认的)继续进行,并且,可例如向图2A的唤醒控制逻辑230报告每次状态变换。如下所述,唤醒控制逻辑230可使用手势状态变换,以确定是否以及什么时候唤醒应用处理器204和/或是否以及什么时候指示应用处理器204激活用户界面202。

当用户界面202处于不活动状态时,处理400可开始(块402)。此时,应用处理器204可如希望的那样处于睡眠状态或唤醒状态。加速度计210可以以规则的采样率(例如,100Hz)提供更新数据,并且,数据可通过使用图3所示的设备相对坐标指示加速度的矢量分量(ax,ay,az)。例如,可通过使用圆形缓冲器或FIFO等缓冲接收的数据。

在块404中,处理400可从加速度计数据缓冲器读取数据采样。数据的量可依赖于采样率和用于分析移动的希望的时间间隔。例如,处理400可读取与例如为0.5秒或1秒的固定时间间隔或时间窗口对应的数据。

在块406中,处理400可例如基于从缓冲器读取的最旧的采样估计设备的开始姿势,这些最旧的采样可与间隔的开始对应。在一些实施例中,加速度计读数包含重力加速度(1g,沿依赖于设备的取向的方向)。因此,当其它加速度相对较小时,可基于加速度计数据确定设备相对于重力的取向。例如,在图1A的垂臂位置中,加速度计210可检测约1g的ax和约零的ay和az。在图1C的打字位置中,加速度计210可检测约0的ax、0和1g之间的ay和0和-1g之间的az。因此,块406可包含比较最旧采样(例如,5~10个采样的平均)和与特定“规范(canonical)”开始姿势相关的采样模式。可例如基于在设备穿戴者已知处于特定姿势(例如,图1A或图1C的姿势)的条件下收集的加速度计测量在部署设备之前定义规范开始姿势。在一些实施例中,开始姿势可被定义为多个规范开始姿势的混合。例如,该混合可被定义为规范开始姿势的加权平均,每个规范开始姿势的权重基于测量的设备取向与和规范开始姿势相关的设备取向的类似度的度量。

在块408中,基于估计的开始姿势,处理400可选择用于识别从开始姿势执行的“可能”抬起手势的准则。可对不同的开始姿势限定不同的准则。例如,如果开始姿势是手臂下垂(例如,如图1A所示),那么抬起手势有望包括提升前臂和旋转手腕,两者均可通过参照ax和ay的变化被一次检测,但也可期望az上的一些影响。如果开始姿势是打字姿势(例如,如图1C所示),那么会存在很少或者不存在前臂的提升(因此ax变化很小),但可能会存在可最可靠地检测为ay的变化的倾斜的变化。也可使用可从缓冲器中的加速度计数据导出的其它准则,诸如量化移动的平滑性的参数(与意外的震动或用户可能体验的其它随机移动相对,假定有意的手势会被平滑地执行)。在一些实施例中,可启发式地建立用于给定开始姿势识别可能的抬起手势的一组准则。例如,可询问大量的用户以得到从特定的开始姿势开始的抬起手势,并且,可在从开始姿势到完成抬起手势的整个移动过程中收集得到的加速度计数据。为了识别用于识别从该特定的开始姿势执行的可能抬起手势的特定准则(例如,ay的变化的阈值、移动的平滑性等),可以应用统计算法以分析该数据。该阶段中的准则可以是粗略的,使得可出现一些错误肯定,同时错误否定保持相对较低。可对任意数量的规范开始姿势重复启发式练习以建立姿势依赖阈值准则。在一些实施例中,可以使用分析的结果以产生准则表,使得给定在块406估计的开始姿势,可通过表查找在块408中选择用于识别可能抬起手势的相应的一组准则。在一些实施例中,开始姿势可被定义为多个规范开始姿势的混合,并且,在这种情况下,块408可包含混合为多个规范开始姿势限定的选择准则。

在块410中,处理400可确定可能抬起手势是否被识别,例如,是否满足在块408中选择的准则。在一些实施例中,确定可包括比较特定的加速度计数据采样和/或从加速度计数据采样计算的其它参数与在块408中选择的阈值准则,并且如果满足阈值准则,则可能抬起手势被检测到。此外,可以期望,如果正在执行抬起手势,那么在完成手势时,设备将归于停在与其显示器处于用户视线中一致的取向。因此,块410可包括例如基于从缓冲器读取的最新采样估计设备的结束姿势,该结束姿势可与间隔的结束对应。结束姿势可与与显示器处于用户视线中一致的姿势的范围(例如,y方向和/或x方向上相对于水平方向的倾角范围)比较,并且如果结束姿势处于该范围内,则可能抬起手势被检测到。这里使用术语“关注姿势”,以一般地指示处于被视为与设备处于用户视线内(例如,基于倾角)一致的范围姿势内的任何姿势。

如果可能抬起手势没有被检测到,那么处理400可返回到块404以读取附加的加速度计数据。如上所述,在块404中读取的数据可以是与固定的实时间隔对应的固定长度窗口。块404的连续迭代期间的数据读取的连续窗口可重叠。例如,如果窗口与实时的1秒对应,那么连续迭代可每0.1秒等(或者以更快的速率;只要窗口在迭代之间偏移至少一个采样,块406和408的连续迭代处的分析就不冗余)发生。这可使得由于开窗影响(windowing effect)导致的错误否定不太可能出现。

如果在块410中检测到可能抬起手势,那么在块412中,处理400可通知唤醒控制逻辑230可能抬起手势被检测到。如下所述,唤醒控制逻辑230可响应该通知采取动作,诸如通知应用处理器204和/或用户界面202。在块414中,处理400可监视附加加速度计数据采样(例如,包含原始窗口外的新接收的采样),以检测设备是停顿(例如,保持大致恒定的位置)在关注姿势中还是继续移动。例如,如上所述,可基于在用户观看设备时期望的特定倾角范围定义关注姿势。可从加速度计数据推断倾角,并且,如果倾角达到并且保持在该范围内,那么该条件可与停顿在关注姿势中对应。

在一些实施例中,与关注姿势对应的加速度计数据值的范围可至少部分依赖于开始姿势。例如,从开始姿势到关注姿势的变换可包括沿y轴累积一定量的倾斜(在这里也称为“y倾斜”)。例如,累积的y倾斜可被测量为从大于或等于零(在用户的手腕转过去同时)的开始ay分量到小于零(在手腕转动以使显示器面向用户的眼睛时)的结束ay分量的净变化。块414可包含监视y倾斜是保持恒定、继续累积还是逆转方向,并且,累积的y倾斜的损失可指示移出关注姿势。

处理400可在块414中监视停顿时间,直到停顿时间达到或者超过阈值(例如,0.1秒或0.5秒等)或者直到加速度计数据指示已失去关注姿势。在块416中,如果在停顿时间达到阈值之前失去关注姿势,那么处理400可返回到块404,以确定新的开始姿势并且尝试检测另一可能抬起手势。

如果在块416中关注姿势中的停顿时间超过阈值,那么先前检测的可能抬起手势可被重新归类为检测到的抬起手势。在块418中,处理400可通知唤醒控制逻辑230已出现检测到的抬起手势。如下所述,唤醒控制逻辑230可响应该通知采取动作,诸如激活用户界面202、通知应用处理器204等。

在一些实施例中,可能希望进一步确认抬起手势以减少错误肯定。因此,在块420中,在检测到抬起手势之后,处理400可调用进一步的分析处理,例如,图2A的手势分类器234。如上所述,手势分类器234可以是可被事先训练以区分抬起手势与其它类似手势的机器学习算法。手势分类器234可分析由处理400在块420中提供的数据以确认或者不确认检测到的抬起手势。在块422中,如果抬起手势被确认,那么处理400可在块424中这样通知唤醒控制逻辑230,然后处理400可结束(块426)。如果在块422中抬起手势未被确认,那么处理400可在块428中这样通知唤醒控制逻辑230,然后,处理400可返回到块404以尝试检测另一可能抬起手势。在一些实施例中,在在块426上结束之后,处理400可在任何时间重新开始(在块402上),例如,在检测到失去关注(如后面描述)时以及在用户界面202出于任意原因变得不活动时。

图5是根据本发明的实施例的用于通过使用手势分类器确认手势的处理500的流程图。可以与上述的图4的处理400相关联地使用处理500。例如通过可调用手势分类器234的主手势检测模块222执行处理500。

当主手势检测模块222例如在处理400的块416检测到抬起手势时,处理500可在块502中开始。在块504中,主手势检测模块222可向检测到的抬起手势分配置信度分数。在一些实施例中,置信度分数可基于设备姿势在多大程度上匹配关注姿势的期望特征(例如,设备姿势是接近对关注姿势期望的加速度计数据值和/或倾斜值的范围的边缘还是接近其中心)以及关注姿势中的停顿时间长度的组合。

在块506中,处理500可选择用于手势分类器的突出开始点(时间上)。可基于导致关注姿势的加速度计数据采样的趋势选择突出开始点。例如,处理500可识别加速度计数据采样以指示抬起手势的方式开始变化的时间点。这允许处理500解释用户可以不同的速度执行抬起手势的事实。如果用户迅速移动,那么与用户缓慢移动相比,突出开始点将更接近当前(即,最近的采样)。因此,与手势分类有关的数据窗口可以是可变的。

在块508中,处理500可从从突出开始点延伸到当前的数据窗口中提取手势分类器关心的特征。用于抬起手势的关心特征可依赖于已如何训练了手势分类器。在手势分类器对加速度计数据进行操作的一些实施例中,关心特征可包含:实际加速度计采样(ax,ay,az);平滑性参数(例如,基于连续加速度计采样之间的变化的标准偏差);作为时间函数的累积倾斜(例如,y倾斜);和开始和结束设备取向或姿态(例如,开始和结束倾斜值)。在手势分类器对陀螺仪数据进行操作的一些实施例中,关心特征可包含:实际陀螺仪采样(rx,ry,rz);沿水平面(即,与重力方向垂直的面)横切的弧长度;和平滑性参数(例如,基于连续陀螺仪采样之间的变化的标准偏差)。

在块510中,处理500可调用手势分类器234以处理提取的特征。在一些实施例中,手势分类器234可以是执行线性判别分析的Bayesian分类器。如上所述,线性判别分析算法可在部署之前被训练,从而允许手势分类器234快速地计算特征与抬起手势对应的概率。在块512中,处理500可从手势分类器234接收输出。输出可包含例如执行了抬起手势的概率(0~1之间)。

在块514中,处理500可确定抬起手势是否被确认。在一些实施例中,确定可基于手势分类器234的概率输出的阈值,并且阈值可被设定为例如0.5、0.75、0.85或者希望的一些其它阈值。较高的阈值一般提供更少的错误肯定,但提供更多的错误否定,并且在给定的实现中,可基于错误肯定和/或错误否则的可接受水平选择最佳的阈值。在一些实施例中,可根据在块504中分配的置信度分数选择阈值。例如,块514中的较高的置信度分数可导致由手势分类器分配的概率的较低阈值,而较低的置信度分数可导致由手势分类器分配的概率的较高阈值。

在块516中,处理500可确定是发出决定还是等待更多的数据。例如,如果没有确认手势但从手势分类器输出的概率接近阈值,那么可能优选等待附加的数据。在这种情况下,处理500可在块518结束,而不确认或不确认抬起手势,并且控制可返回到上述的处理400的块414。作为替代方案,处理500可以以确认或未确认在块520结束,并且控制可返回到上述的处理400的块422。

应当理解,处理500是解释性的,并且变更和修改是可能的。依次描述的步骤可被并行执行,步骤的次序可改变,并且步骤可被修改、组合、添加或省略。例如,可以使用其它确认算法。在一些实施例中,处理500可总是导致确认或不确认的决定,而没有等待的选项。

在一些实施例中,手势分类器234的确认或不确认可改变设备行为。例如,可推迟一些或所有用户界面部件的激活,直到检测到抬起手势被确认。作为另一例子,如果用户界面部件响应检测到抬起手势被激活,那么手势分类器234的随后的不确认可导致去激活该用户界面部件。

图6是示出根据本发明的实施例的执行处理400的抬起手势检测模块222的手势状态的状态图。可以向唤醒控制逻辑230报告或者以其它方式使用这些状态之间的变换,以影响用户界面202和/或设备200的其它部件的状态。

状态602可以是抬起手势检测模块222没有检测到可能抬起手势的“空(null)”状态。它可以是例如图4的处理400的初始状态,并且模块222可保持该状态,直到检测到可能抬起手势(例如,在图4的块410中)。状态604可以是模块222检测到了可能抬起手势(例如,在图4的块410中)的“可能手势”状态。如果可能抬起手势随后被拒绝,那么模块222可返回到空状态602。如果可能抬起手势变为检测到抬起手势(例如,在图4的块416中),那么模块222可变换到“检测到手势”状态606。这反映已经出现抬起手势的增加的置信度。而在状态606中,可以执行进一步的分析(例如,在处理400的块420和422中),以确认检测到抬起手势。如果检测到抬起手势没有被确认,那么模块222可返回到空状态602。如果检测到抬起手势被确认,那么模块222可变换到确认手势状态608。此时,完成抬起手势检测,并且可停止模块222的进一步执行。如上所述,模块222可在检测到抬起手势再次变得有用时(例如,当检测到失去关注或者用户界面202以其他方式变得不活动时)重新开始。此外,如下所述,当到达确认手势状态608时,可以使用诸如失去关注检测模块228的其它算法以继续监视手势状态并且检测从确认手势状态608到空状态602的变换。应当理解,处理400给出提供图6的状态和变换的模块222的例子,但可以替代使用其它算法。

图7是根据本发明的实施例的自然抬起手势检测模块700的功能框图。如图所示,自然抬起手势检测模块700可例如在图2B的移动处理单元258中被实现为自然抬起手势检测模块272。自然抬起手势检测模块700也可实现为图2A的主(低动态)检测模块222。自然抬起手势检测模块700可包含开始姿势估计单元702、准则确定单元704、可能抬起手势确定单元706、检测到抬起手势确定单元708和确认单元710。可例如通过使用可在处理器和/或专用逻辑电路上执行的程序代码实现每个单元。

开始姿势估计单元702可接收移动传感器数据,并且基于移动传感器数据估计开始姿势。例如,开始姿势估计单元702可实现上述的处理400的块406。开始姿势估计单元702可向准则确定单元704提供估计的开始姿势。

准则确定单元704可至少部分地基于由开始姿势估计单元702估计的开始姿势确定用于检测可能抬起手势的准则。例如,准则确定单元704可实现上述的处理400的块408。准则确定单元704可向可能抬起手势确定单元706提供用于检测可能抬起手势的准则。

可能抬起手势确定单元706可接收移动传感器数据并且确定接收的数据是否满足由准则确定单元704确定的准则。例如,可能抬起手势确定单元706可实现上述的处理400的块410。如果满足准则,那么可能抬起手势确定单元706可通知其它系统部件(例如,图2A的唤醒控制逻辑230或图2B的唤醒控制逻辑模块280)。例如,可能抬起手势确定单元706可实现上述的处理400的块412。如果满足准则,那么可能抬起手势确定单元706还可通知检测到抬起手势确定单元708。

检测到抬起手势确定单元708可从可能抬起手势确定单元706接收对可能抬起手势的通知,并且可监视附加加速度计数据,以确定是否出现最小停顿时间和/或是否满足用于检测到抬起手势的其它条件。例如,检测到抬起手势确定单元708可实现上述的处理400的块414和416。如果满足用于检测到抬起手势的条件,那么检测到抬起手势确定单元708可通知其它系统部件(例如,图2A的唤醒控制逻辑230或图2B的唤醒控制逻辑模块280)。例如,检测到抬起手势确定单元708可实现上述的处理400的块418。如果满足用于检测到抬起手势的条件,那么检测到抬起手势确定单元708还可通知确认单元710。

确认单元710可基于与检测到抬起手势相关的移动传感器数据执行手势确认。例如,确认单元710可实现上述的处理400的块420和422和/或处理500的块504~520。在一些实施例中,确认单元710可调用图2A的手势分类器234或图2B的手势分类器模块284。确认单元710可向其它系统部件(例如,图2A的唤醒控制逻辑230或图2B的唤醒控制逻辑模块280)通知是确认还是不确认检测到抬起手势。

应当理解,自然抬起手势检测模块700是解释性的,并且变更和修改是可能的。例如,虽然参照特定的块或单元描述了自然抬起手势检测模块700,但应理解:这些块是出于便于描述的目的被限定的,并且不是要隐含部件部分的特定物理布置。此外,块不需要与物理上不同的部件对应,并且可以使用相同的物理部件以实现多个块的多个方面。块可被配置为执行各种操作,例如,通过对处理器编程或者设置适当的控制电路,并且可以或者可以不根据如何获得初始的配置来配置各种块。可在包括通过使用电路和软件的任意组合实现的电子设备的各种装置中实现本发明的实施例。

用于检测自然抬起手势的算法的另一例子是图2A的高动态主检测模块224,其可适于在用户参与诸如跑步的高动态活动时检测自然抬起手势。这里使用的“高动态活动”可指的是固有地包含明显的手臂或手腕移动使得加速度计数据可变得对于检测抬起手势不可靠的任何活动。在用户参与高动态活动的情况下,高动态主检测模块224可用来自诸如陀螺仪传感器212的其它传感器补充和替代加速度计数据。

可例如通过唤醒控制逻辑230确定是使用低动态检测模块222还是高动态主检测模块224。例如,唤醒控制逻辑230可从活动分类器232接收指示用户是在当前参与高动态活动(例如,跑步)还是其它活动(例如,行走)还是没有活动的信息。作为另一例子,在一些实施例中,用户可提供要开始高动态活动的直接指示。例如,用户可指示他要开始跑步(例如,通过与设备上的锻炼跟踪应用程序交互),并且,从这一点可以推断应使用高动态检测模块222,直到锻炼结束。唤醒控制逻辑230可使用包含来自活动分类器232的信息和/或直接用户输入的可用输入的任何组合,以推断用户是否参与高动态活动。响应该推断,唤醒控制逻辑230可选择低动态检测模块222(如果用户不执行高动态活动)或高动态主检测模块224。在一些实施例中,可在不同类型的活动中提供不同的算法以供使用;例如,可存在多个高动态检测算法(例如,用于跑步对划船等)。

图8是根据本发明的实施例的用于在高动态活动(例如,跑步)中检测自然抬起手势的处理800的流程图。处理800可例如在图2A的设备200的高动态主检测模块224中被实现。在本例子中,高动态检测处理800可通过一系列手势状态(其可与图6所示的状态类似或相同)继续进行,并且可例如向图2A的唤醒控制逻辑230报告每个状态变换。如下所述,唤醒控制逻辑230可使用手势状态变换以确定是否以及什么时候唤醒应用处理器204和/或是否以及什么时候指示应用处理器204激活用户界面202。在本例子中,处理800可主要依赖于通过过滤后的加速度计数据(例如,来自图2A的加速度计210)补充的陀螺仪数据(例如,来自图2A的陀螺仪传感器212)。

与处理400类似,处理800可在用户界面202处于不活动状态中时开始(块802)。此时,应用处理器204可如希望的那样处于睡眠状态或者唤醒状态。陀螺仪传感器212可被激活,并且,可以以规则的采样速率(例如,100Hz)提供更新数据采样(称为“陀螺仪数据”),并且每个陀螺仪数据采样可通过使用图3所示的设备相对坐标指示旋转分量(rx,ry,rz),使得rx表示关于图3的x轴的旋转,等等。可例如通过使用圆形缓冲器或FIFO等缓冲接收的陀螺仪数据。

在块804中,处理800可从陀螺仪数据缓冲器读取数据采样。数据量可依赖于采样率、缓冲器尺寸和用于分析移动的希望的时间间隔。例如,处理800可读取与例如为0.3秒、0.5秒或1秒等的实时的固定间隔对应的数据的固定长度窗口。

在块806中,处理800可估计设备的开始姿势。在跑步的情况下,例如,可以假定用户的手臂会保持在自然弯曲位置,使得手掌内翻(向着用户的身体)。图10A和图10B示出跑步用户穿戴手腕可穿戴设备102的例子。如图10A所示,在通常的自然跑步位置中,显示器104面向外(远离用户的身体)。确切的角度将根据用户改变,并且由于用户手臂的自然摆动,会存在关于x轴(在图3中定义)的较小的振荡旋转。为了在跑步中观看设备,如图10B所示,用户可翻转手腕(向下旋转手掌)并且可能抬起手臂,以使得显示器104进入视线。这种手势包括比跑步者的典型的手臂摆动大的关于x轴的旋转。因此,累积的关于x轴的旋转可以是可能抬起手势的良好的第一指标,并且在块808中,处理800可分析缓冲的陀螺仪数据以确定累积的关于x轴的旋转。

在块810中,基于累积的旋转,处理800可确定是否检测到可能抬起手势。在一些实施例中,该确定也可包括确定旋转移动是否在时间间隔结束时明显变慢或者停止,这会说明用户保持手臂足够稳定以观看设备。如果没有检测到可能抬起手势,那么处理800可返回到块804以读取附加数据。如上所述,在块804上读取的数据可以是固定长度窗口。在块804的连续迭代上读取的数据的连续窗口可重叠。例如,如果窗口与实时的0.5秒对应,那么连续迭代可每0.1秒等出现(或者以更快的速率;只要窗口在迭代之间偏移至少一个采样,块806和808的连续迭代处的分析就不冗余)。重叠窗口可使得由于开窗影响导致的错误否定不太可能出现。

如果在块810中可能抬起手势被检测到,那么在块812中,处理800可通知唤醒控制逻辑230可能抬起手势被检测到。在图6的状态图中,这可与从空状态602到可能手势状态604的变换对应。如下所述,唤醒控制逻辑230可响应该通知采取动作,诸如通知应用处理器204。在块814中,处理800可使用过滤后的加速度计数据以确认结束姿势估计。加速度计数据可被重度过滤以去除与跑步相关的手臂移动的伪信号,并且可被用于确认姿势与用户可能可看到设备的显示器的姿势对应。基于结束姿势估计,在块816中,处理800可确定是否将可能抬起手势重新归类为检测到抬起手势。如果不是,那么处理800可返回到块804以尝试检测另一可能抬起手势。

如果在块816中抬起手势被检测到,那么在块818中,处理800可通知唤醒控制逻辑230已经出现了检测到抬起手势。如下所述,唤醒控制逻辑230可响应该通知采取动作,诸如通知应用处理器204和/或激活用户界面202。处理800可在该状态中结束(块820)。作为替代方案(图8没有示出),手势分类器234可被用于确认检测到抬起手势。如上所述,手势分类器234可被训练,以区分自然抬起手势与用户在跑步时可能执行的其它类似动作(例如,用水瓶喝水、从前额擦汗),并且结果可与上述的处理400的确认部分类似。

应当理解,抬起手势检测处理处理400和800是解释性的,并且变更和修改是可能的。依次描述的步骤可被并行执行,步骤的次序可改变,并且步骤可被修改、组合、添加或省略。可以使用不同的阈值、准则和传感器输入,并且可如希望的那样定义不同的状态的组。在一些实施例中,根据用户正在做什么,处理400和800可在替代方案中被调用。例如,陀螺仪传感器可消耗比加速度计多的电力。因此,在加速度计数据足够可靠使得可以使用处理400的情况下,诸如在用户坐着、站立或者行走的情况下,可能希望关掉陀螺仪传感器并且去激活处理800(其使用陀螺仪传感器数据作为输入)。如上所述,唤醒控制逻辑230可基于来自活动分类器232的信息确定哪个手势检测算法应在给定的时间是活动的,并且可激活(或启用)希望的算法。也可使用活动信息的其它来源。例如,在一些实施例中,唤醒控制逻辑230可对接收的加速度计数据执行数据质量分析,以确定处理400是否可能是可靠的。当处理400可能是可靠的时,可优选处理400,并且当处理400可能不可靠时,可使用处理800。

图9是根据本发明的实施例的自然抬起手势检测模块900的功能框图。如图所示,自然抬起手势检测模块900可例如在图2B的移动处理单元258中被实现为自然抬起手势检测模块274。自然抬起手势检测模块900可也实现为图2A的主(高动态)检测模块224。自然抬起手势检测模块900可包含开始姿势估计单元902、可能抬起手势确定单元906和检测到抬起手势确定单元908。可例如通过使用可在处理器和/或专用逻辑电路上执行的程序代码实现每个单元。

开始姿势估计单元902可接收移动传感器数据并且基于移动传感器数据估计开始姿势。例如,开始姿势估计单元902可实现上述的处理800的块806。开始姿势估计单元902可向可能抬起手势确定单元906提供估计的开始姿势。

可能抬起手势确定单元906可接收估计的开始姿势和移动传感器数据,并且可确定接收的数据是否满足用于可能抬起手势的准则。例如,可能抬起手势确定单元906可实现上述的处理800的块808和810。如果满足准则,那么可能抬起手势确定单元906可通知其它的系统部件(例如,图2A的唤醒控制逻辑230或图2B的唤醒控制逻辑模块280)。例如,可能抬起手势确定单元906可实现上述的处理800的块812。如果满足准则,那么可能抬起手势确定单元906也可通知检测到抬起手势确定单元908。

检测到抬起手势确定单元908可从可能抬起手势确定单元906接收对可能抬起手势的通知,并且可监视附加的移动传感器数据以确定是否满足用于检测到抬起手势的条件。例如,检测到抬起手势确定单元908可实现上述的处理800的块814和816。如果满足用于检测到抬起手势的条件,那么检测到抬起手势确定单元908可通知其它系统部件(例如,图2A的唤醒控制逻辑230或图2B的唤醒控制逻辑模块280)。例如,检测到抬起手势确定单元908可实现处理800的块818。

应当理解,自然抬起手势检测模块900是解释性的,并且变更和修改是可能的。例如,虽然参照特定的块或单元描述了自然抬起手势检测模块900,但应理解,这些块是出于便于描述的目的被限定的,并且不是要隐含部件部分的特定物理布置。此外,块不需要与物理上不同的部件对应,并且可以使用相同的物理部件以实现多个块的多个方面。块可被配置为执行各种操作,例如,通过对处理器编程或者设置适当的控制电路,并且可以或者可以不根据如何获得初始的配置来配置各种块。可在包括通过使用电路和软件的任意组合实现的电子设备的各种装置中实现本发明的实施例。可以添加附加的块(例如,如果希望确认,添加与确认单元710类似的块)。

处理400和800可在单独使用或组合使用的情况下根据各种条件检测自然抬起手势。但是,用户仍然可能执行未被检测到的抬起手势。例如,根据算法的细节,如果用户躺下(这可能违反关于使设备处于用户视线中的相对于重力的取向的假定),如果用户穿戴设备使得显示器处于手腕的内侧(这可能违反关于使设备进入用户视线所需要的旋转的量和/或方向的假定),如果用户处于加速的环境(诸如过山车)等,那么自然抬起手势检测可能不太可靠。

因此,一些实施例可提供用于检测有意抬起手势的附加算法。这可允许用户通过执行预定手势来激活显示器,该预定手势是用户除了在希望激活显示器时以外不可能执行的。例如,有意抬起手势可被定义为手腕的双重振荡,该双重振荡关于x轴(在图3中定义)往复“扭转”设备。用户可例如通过迅速旋转手腕以使其离开原始位置并然后解除旋转使得手腕返回到原始位置来执行振荡。双重振荡可遵循次序:旋转;解除;旋转;解除。振荡可被检测为移动传感器数据(例如,加速度计或陀螺仪数据)中的脉冲峰。通过要求在每次振荡中累积和失去的旋转的最小量和振荡之间的最长时间,可区分有意抬起手势与用户可能例行执行的大多数其它移动(例如,打开门或者操作螺丝刀),从而使得在用户无意激活显示器的情况下有意抬起手势不可能被检测到。也可替代使用其它手势。

图11是根据本发明的实施例的用于检测有意抬起手势的处理1100的流程图。在本例子中,有意抬起手势被定义为用户在短时间段内执行手腕的双重振荡(旋转设备以使其远离视线并然后向着视线旋转设备两次)的“晃动”手势。可例如在图2A的晃动检测模块226中执行处理1100。在本例子中,晃动检测处理1100可从空状态(没有检测到的手势)直接进行到检测到状态,而没有居间的可能手势状态。如果希望的话,也可定义其它的状态。处理1100可例如向图2A的唤醒控制逻辑230报告状态变换。如下所述,唤醒控制逻辑230可使用手势状态变换以确定是否以及什么时候唤醒应用处理器204和/或是否以及什么时候指示应用处理器204激活用户界面202。

当用户界面202处于不活动状态中时,处理1100可开始(块1102)。此时,应用处理器204可如希望的那样处于睡眠状态或唤醒状态。加速度计210可以以规则的采样率(例如,100Hz)提供更新数据,并且数据可通过使用图3所示的设备相对坐标指示加速度的矢量分量(ax,ay,az)。例如,可通过使用圆形缓冲器或FIFO等缓冲接收的数据。

在块1104中,处理1100可从加速度计数据缓冲器读取数据采样。数据量可依赖于采样率、缓冲器尺寸和用于分析移动的希望的时间段。例如,处理1100可读取与例如为0.1秒、0.5秒或1秒等的实时固定间隔对应的数据的固定长度窗口。

在块1106中,处理1100可根据加速度计数据确定手臂位置。因此,块1106可包含基于可据其推断手臂位置的加速度计数据确定设备的取向(相对于重力)。

在块1108中,处理1100可确定用户手臂是否“准备好(primed)”执行晃动手势。例如,可以假定用户只会在设备已位于视线内时执行有意抬起手势。如本文所使用的,如果设备短时间(例如,0.2秒、0.5秒、1.0秒)保持相对静止,那么用户的手臂可被视为“准备好”,从而暗示用户可能尝试观看设备。确定用户手臂是否准备好可包括分析缓冲器中的数据采样中的一些或全部。例如,可以分析最旧的采样。也可应用附加的准则,诸如基于设备的空间取向的准则。例如,如果重力加速度主要沿着z轴(在图3中定义)并且存在很少或者不存在沿x轴的加速度,那么这可以暗示设备显示器大致与地面平行,这是用户检查手腕可穿戴设备(或许多其它设备)的通常位置。因此,可基于重力的方向定义附加的准则。要求满足准备好准则(priming criterion)可减少会源自手腕的偶然移动的错误肯定,由此节省电力。在一些实施例中,准备好准则可放宽,以解释用户的头可能不处于通常的垂直取向的情况(例如,如果用户躺下),但放宽准则可增加错误肯定的比率。在一些实施例中,其它信息可用于暗示用户的头是否垂直(例如,可能能够通过诸如心率监视器的生理传感器确定用户躺下),并且,这种信息可被加入到准备好准则中。

如果在块1108中手臂没有准备好,那么处理1100可返回到块1104以读取附加加速度计数据。如上所述,在块1104中读取的数据可以是固定长度窗口。块1104的连续迭代期间的数据读取的连续窗口可重叠。例如,如果窗口与实时的1秒对应,那么连续迭代可每0.1秒等出现(或者以更快的速率;只要窗口在迭代之间偏移至少一个采样,块1106和1108的连续迭代处的分析就不冗余)。这可使得由于开窗影响导致的错误否定不太可能出现。

如果在块1108中用户手臂准备好,那么处理1100可尝试检测晃动手势。本例子中的晃动手势需要关于x轴的两次振荡。由于启动或停止关于x轴的旋转移动需要沿y轴(参见图3)的加速度,因此,可基于加速度的y分量中的脉冲峰检测本例子中的所关心的振荡移动。因此,在块1110中,处理1100可分析加速度计数据以检测这种峰。在一些实施例中,可以使用猛拉(加速度的时间导数)的y分量中的峰或尖峰,以检测振荡。给定要被检测的手势是有意的,则峰有望相对于由于可出现的随机移动(例如,由于用户行走、骑车、慢跑等)导致的采样到采样变化的任何背景突出出来。因此,可相对于在大致相同时间测量的采样到采样变化的背景定义用于检测扭转或振荡的准则。可例如通过使得大量的用户执行晃动手势并且分析加速度计数据以识别加速度和/或猛拉的特定阈值,启发式地限定用于峰检测的特定准则。可基于绝对值或相对于背景变化的当前水平的值限定阈值。

在块1112中,如果第一峰没有被检测到,那么处理1100可返回到块1104以继续监视加速度计数据。如果第一峰被检测到,那么在块1114中,处理1100可尝试检测第二峰。在本例子中,第二峰应沿与第一峰相同的方向,从而指示用户重复振荡移动,并且准则可与在块1112中使用的准则相同或类似。

如果在块1116中,第二峰没有被检测到,那么在块1118中,处理1100可确定是否自在块1112中检测到第一峰以来经过了超时周期。可以使用超时周期以区分有意晃动手势与其它的手腕旋转移动,并且可基于各种个体有意执行双重振荡所需要的时间的测量来选择超时周期。例如,超时周期可以为0.2秒或0.5秒等。

处理1100可继续搜索第二峰,直到第二峰被检测到或者超时周期到期。如果在块1118中超时周期到期,那么处理1100可返回到块1104以收集附加加速度计数据并且重新搜索两个峰。

如果在块1116中第二峰被检测到,那么在块1120中,处理1100可分析附加的加速度计数据以确定设备的位置是否稳定。如果在块1122中位置还没有稳定,那么它可表示振荡是出于不与观看设备有关的一些其它原因发生的,并且处理1100可返回到块1104以收集附加加速度计数据并且再次搜索两个峰。

如果在块1122中位置稳定,那么这可与检测晃动手势对应,并且在块1124中,处理1100可通知唤醒控制逻辑230已检测到晃动手势。如下所述,唤醒控制逻辑230可响应该通知采取动作,诸如激活用户界面202和/或唤醒应用处理器204。

应当理解,处理1100是解释性的,并且变更和修改是可能的。依次描述的步骤可被并行执行,步骤的次序可改变,并且步骤可被修改、组合、添加或省略。可以使用不同的阈值、准则和传感器输入,并且可如希望的那样定义不同的状态组。在一些实施例中,第一峰的检测可被报告为可能抬起手势,或者,在确定设备位置是否稳定之前,两个峰的检测可报告为可能抬起手势。可通过限定不同的准则(例如,更多或少的脉冲峰、不同方向的加速度等)检测其它的有意抬起手势。在一些实施例中,可与处理400或处理800同时地执行处理1100,使得用户可通过执行自然或有意的抬起手势在显示器不活动的任何时间激活该显示器。

图12是根据本发明的实施例的有意抬起手势检测模块1200的功能框图。如图所示,有意抬起手势检测模块1200可在图2B的移动处理单元258中被实现为例如有意抬起手势检测模块276。自然抬起手势检测模块700也可被实现为图2A的晃动检测模块226。有意抬起手势检测模块1200可包含准备好检测单元1202、脉冲峰检测单元1204和稳定检测单元1206。可例如通过使用可在处理器和/或专用逻辑电路上执行的程序代码实现每个单元。

准备好检测单元1202可接收移动传感器数据并且根据该数据确定用户手臂是否准备好执行有意抬起手势。例如,准备好检测单元1202可实现上述的处理1100的块1106和1108。当准备好检测单元1202确定用户手臂准备好时,准备好检测单元1202可向脉冲峰检测单元1204提供通知。

脉冲峰检测单元1204可接收附加的移动传感器数据,并且基于该数据检测脉冲峰的目标数量(例如,一个、两个或三个)的有无。例如,脉冲峰检测单元1204可实现上述的处理1100的块1110~1118。当指示抬起手势的脉冲峰的数量(例如,在以上的例子中,为两个)被检测到时,脉冲峰检测单元1204可向稳定检测单元1206提供通知。

稳定检测单元1206可接收附加的移动传感器数据,并且确定该数据是否指示设备位置在检测到的脉冲峰之后已稳定。例如,稳定检测单元1206可实现上述的处理1100的块1120和1122。如果检测到稳定,那么稳定检测单元1206可通知其它的系统部件(例如,图2A的唤醒控制逻辑230或图2B的唤醒控制逻辑模块280)。例如,稳定检测单元1206可实现上述的处理1100的块1124。

应当理解,有意抬起手势检测模块1200是解释性的,并且变更和修改是可能的。例如,虽然参照特定的块或单元描述了有意抬起手势检测模块1200,但这些块是出于便于描述的目的被限定的,并且不是要隐含部件部分的特定物理布置。此外,块不需要与物理上不同的部件对应,并且可以使用相同的物理部件以实现多个块的多个方面。块可被配置为执行各种操作,例如,通过对处理器编程或者设置适当的控制电路,并且可以或者可以不根据如何获得初始的配置来配置各种块。可在包括通过使用电路和软件的任意组合实现的电子设备的各种装置中实现本发明的实施例。

一旦抬起手势(自然的或有意的)被检测到,就可假定用户现在关注设备并且可与其交互。可以支持任何类型的用户交互,并且交互的持续时间可以如用户希望的那样长。期望在一些点上结束交互。当交互结束时,为了节省电力,可能希望使显示器返回到其不活动状态。

在一些实施例中,用户可例如通过按压设备上的按钮以去激活显示器,明确指示交互的结束。此外,或者代替地,设备可基于在足够长的时间段上用户没有输入来推断交互已结束,尽管如果用户仍然观看呈现的信息,那么这种推断可能是不准确的。因此,在一些实施例中,设备可基于移动传感器数据自动检测用户什么时候不关注设备。例如,如果用户将设备的显示器移出视线,那么这可表示用户不再关注。这种移动在这里被称为“失去关注手势”。

可通过使用基于移动的算法有利于失去关注手势(在这里也称为“失去关注事件”)的自动检测。图13是根据本发明的实施例的用于检测失去关注事件的处理1300的流程图。处理1300可例如在图2A的失去关注检测模块228中被执行。在本例子中,可在设备处于关注状态中时(例如,在通过使用上述的处理400、800或1100中的任一个检测和/或确认抬起手势之后)执行处理1300。可基于设备的倾角或旋转的变化,特别是y倾斜的变化,检测失去关注。处理1300可向例如图2A的唤醒控制逻辑230报告检测到的失去关注事件。如下所述,唤醒控制逻辑230可使用报告的事件以确定是否去激活用户界面202。

当用户界面202处于活动状态时,处理1300可开始(块1302)。可作为上述的手势检测处理中的任一个的结果、作为其它手势检测处理的结果或者响应来自用户的手动指示(例如,触摸设备200上的按钮)实现活动状态。此时,应用处理器200也可处于唤醒状态中。加速度计210可以以规则的采样率(例如,100Hz)提供更新数据,并且数据可通过使用图3所示的设备相对坐标指示加速度的矢量分量(ax,ay,az)。例如,可通过使用圆形缓冲器或FIFO等缓冲接收的数据。

在块1304中,处理1300可从加速度计数据缓冲器读取数据采样。数据的量可依赖于采样率、缓冲器尺寸和用于分析移动的希望的时间段。例如,处理400可读取与例如0.5秒或1秒等的实时固定间隔对应的数据的固定长度窗口。

在块1306中,处理1300可例如基于缓冲器开始附近的采样的加速度或旋转角的所测量的x分量和/或y分量确定初始倾斜。在用户保持设备处于视线中的时间段中,期望倾斜(或者至少y倾斜)保持大致恒定,并且,当处理1300开始时,可以定义基准倾斜。在一些实施例中,自动检测抬起手势可包括检测倾斜(例如,y倾斜)的累积值(accrual),并且可基于在块1306中检测的累积倾斜定义初始倾斜或基准倾斜。

在块1308中,处理1300可检测倾斜例如相对于初始倾斜或基准倾斜的变化。在一些实施例中,除非变化沿着会将显示器移出用户视线的方向,否则可以忽略变化。例如,正在观看图3的设备300的用户可趋于保持其手臂使得设备300与地面平行或者倾斜使得重力加速度会赋予沿y轴的负加速度分量。从零或负ay到正ay的变化可暗示用户将设备300旋转出视线。在一些实施例中,自动检测抬起手势可包括检测倾斜的累积值(例如,如以上参照图4描述的那样),并且块1308可包括检测累积倾斜(例如,y倾斜)的否(negation),从而指示用户正在使设备返回到其未抬起位置。

如果在块1310中检测到足够大的倾斜变化,那么在块1312中,处理1300可通知唤醒控制逻辑230已检测到失去关注事件。如下所述,唤醒控制逻辑230可响应该通知采取动作,诸如去激活用户界面202和/或通知应用处理器204。

如果在块1310中没有检测到大的倾斜变化,那么在块1314中,处理1300可基于加速度计数据估计用户的手臂位置。例如,用户可能降低手臂而不旋转手腕。如上所述,可基于加速度计数据以及用户如何穿戴设备的假定来估计手臂位置。在块1316中,处理1300可确定用户手臂是否降低。例如,在图3的坐标系中,可基于大致与x轴对准的重力加速度检测手臂下降。在一些实施例中,块1316可包括比较开始和结束手臂位置以检测指示用户将手臂移动到下降位置的变化。如果手臂下降被检测到,那么在块1312中,处理1300可向唤醒控制逻辑230通知失去关注事件。一旦失去关注事件被检测到,处理1300就可结束。

应当理解,处理1300是解释性的,并且变更和修改是可能的。依次描述的步骤可被并行执行,步骤的次序可改变,并且步骤可被修改、组合、添加或省略。可以使用不同的阈值、准则和传感器输入;例如,除了加速度计数据以外或者作为其替代,可以使用陀螺仪数据。在一些实施例中,可基于由活动分类器232报告的用户当前活动动态选择要使用的传感器(例如,加速度计和/或陀螺仪)。例如,如果用户正在跑步,那么陀螺仪可能是更可靠的;如果用户正在静坐,那么使用加速度计数据并且关掉陀螺仪传感器212可能更加电力高效。另外,用于检测失去关注的准则可基于用户的当前活动而改变。例如,准则可被修改,以使得在用户跑步时不太可能检测到失去关注,原因是手臂被预期为不太稳定。

此外,在一些实施例中,可能希望避免由于短暂移动导致的错误失去关注检测。因此,失去关注检测可加入滞后,使得在设备离开关注姿势并且保持某一最小时间段之前失去关注不被检测。如果设备在时间过期之前重新进入关注姿势,那么失去关注检测算法可被复位。最小时间段可依赖于设备处于关注姿势多久,并且关注姿势中的较长停顿时间与触发失去关注事件所需要的较长的失去关注时间相关。应当注意,当用户事实上仍观看显示器时,失去关注事件(和去激活显示器)的延迟检测有望比过早地检测失去关注事件(和去激活显示器)对用户的干扰更小。因此,失去关注算法可被调整,以偏重于缓慢检测失去关注。

图14是根据本发明的实施例的失去关注检测模块1400的功能框图。如图所示,失去关注检测模块1400可例如在图2B的移动处理单元258中实现为失去关注检测模块278。失去关注检测模块1400也可实现为图2A的失去关注检测模块228。失去关注检测模块1400可包含取向确定单元1402、取向变化检测单元1404、手臂位置估计单元1406和关注确定单元1408。可例如通过使用可在处理器和/或专用逻辑电路上执行的程序代码实现每个单元。

取向确定单元1402可接收移动传感器数据,并且根据该数据确定设备的取向。例如,取向确定单元1402可实现上述的处理1300的块1306,并且取向由倾斜(其可根据加速度计数据或陀螺仪旋转角等确定)表征。取向确定单元1402可向取向变化检测单元1404提供确定的取向。

取向变化检测单元1404可例如基于随时间从取向确定单元1402接收的数据确定是否出现取向的变化。例如,取向变化检测单元1404可实现上述的处理1300的块1308。取向变化检测单元1404可向关注确定单元1408提供取向变化信息(例如,变化的定量测量)。

手臂位置估计单元1406可接收移动传感器数据,并且根据该数据确定假定穿戴设备的手臂的估计手臂位置。例如,手臂位置估计单元1406可实现上述的处理1300的块1314。手臂位置估计单元1406可向关注确定单元1408提供关于手臂位置(例如,估计手臂位置或手臂位置的变化)的信息。

关注确定单元1408可接收来自取向变化检测单元1404的取向变化信息和来自手臂位置估计单元1406的手臂位置信息。基于接收的信息,关注确定单元1408可确定是否发生失去关注。例如,关注确定单元1408可实现上述的处理1300的块1310和/或1316。当关注确定单元1408确定发生了失去关注时,关注确定单元1408可通知其它的系统部件(例如,图2A的唤醒控制逻辑230或图2B的唤醒控制逻辑模块280)。例如,关注确定单元1408可实现上述的处理1300的块1312。

应当理解,失去关注检测模块1400是解释性的,并且变更和修改是可能的。例如,虽然参照特定的块或单元描述了失去关注检测模块1400,但应理解,这些块是出于便于描述的目的被限定的,并且不是要隐含部件部分的特定物理布置。此外,块不需要与物理上不同的部件对应,并且可以使用相同的物理部件以实现多个块的多个方面。块可被配置为执行各种操作,例如,通过对处理器编程或者设置适当的控制电路,并且可以或者可以不根据如何获得初始的配置来配置各种块。可在包括通过使用电路和软件的任意组合实现的电子设备的各种装置中实现本发明的实施例。

一起使用的诸如以上描述的那些的处理和模块可允许设备检测用户什么时候开始观看设备和停止观看设备。用户界面可根据用户当前是否正在观看而被激活或去激活。在一些实施例中,可以使用相同或类似的处理以从低电力(睡眠)状态唤醒应用处理器204和/或设备的其它部件以为用户交互做准备。但是,根据实现,唤醒应用处理器204可具有比激活用户界面202更长的潜伏期,并且使得应用处理器204唤醒给定的时间段会消耗比使用户界面202活动更少的电力。因此,可能希望在较早的阶段开始唤醒应用处理器204(而无需也激活用户界面202),而不是等待如上面描述的那样检测或确认抬起手势。

图15是根据本发明的实施例的用于确定是否唤醒应用处理器204的处理1500的流程图。处理1500可例如在图2A的预热检测模块220中被执行。在本例子中,处理1500可检测与自然(或有意)的抬起手势的早期阶段一致的一序列加速度计采样,并且可在检测到这种序列时通知唤醒控制逻辑230。处理1500可与其它手势检测算法(例如,上述的处理400、800、1100)同时但独立地操作。例如,处理1500可被用于确定是否唤醒应用处理器204,同时使用不同的算法(例如,处理400或处理800)以确定是否激活用户界面202。

当应用处理器204处于其睡眠状态中时,处理1500可开始(块1502)。加速度计210可以以规则的采样率(例如,100Hz)提供更新数据,并且数据可通过使用图3所示的设备相对坐标指示加速度的矢量分量(ax,ay,az)。例如,可通过使用圆形缓冲器或FIFO等缓冲接收的数据。

在块1504中,处理1500可评估最近的加速度计采样(或采样的短窗口),以确定当前的姿势。在块1506中,处理1500可确定采样是否满足指示抬起手势的可能开始的条件。在一些实施例中,确定可依赖于连续采样之间的所测量的加速度的变化。例如,当用户旋转手腕以使得设备进入视线中时,可望ay分量从零或正(由于重力)开始状态减小。另外,如果用户的手臂在一开始下垂,那么当用户抬起其手臂时,ax分量也可从正(由于重力)向零变化。因此,块1506中的条件可依赖于连续采样之间的ax的变化和ay的变化的加权和,并且ay分量被赋予更大的权重。在一些实施例中,条件可依赖于开始姿势(例如,对于手臂下垂开始姿势,与对于手臂水平开始姿势相比,ax的相对权重可更大)。处理1500可继续监视加速度计数据,直到在块1506中检测到抬起手势的可能启动。例如,可在接收时对每个新加速度计数据采样执行块1504和1506。

一旦在块1506中检测到抬起手势的可能启动,处理1500就可监视随后的采样,以确定抬起手势是否继续进行。例如,在块1508中,处理1500可初始化称为NNO和NYES的两个计数器。计数器可被初始化为例如零。在块1510中,处理1500可评估下一加速度计采样,并且在块1512中,处理1500可在进行中确定采样是否与抬起手势一致。确定可基于各种准则,诸如设备位置(例如,倾斜和手臂角度)的变化是否与继续抬起手势一致和移动的平滑性(假定随机移动不像抬起手势那样平滑)等。在一些实施例中,准则可依赖于开始姿势。例如,从手臂下垂开始姿势(例如,如图1A所示),与前臂在一开始水平(例如,如图1C所示)相比,预期ax的变化更大。因此,决定可结合当前加速度计采样以及从先前采样推断的设备轨迹。

如果在块1512中下一采样与手势一致,那么在块1514中,计数器NYES可递增。在块1516中,NYES可与阈值“MinYes”(例如,十个采样、十一个采样或十四个采样等)相比,以确定是否检测到了与抬起手势一致的足够的采样。如果NYES已达到阈值MinYes,那么在块1518中,处理1500可向唤醒逻辑230通知预热事件(在这里也称为“预热手势”)。作为响应,唤醒逻辑230可例如唤醒应用处理器204。在本实施例中,预热事件不导致激活用户界面202,并且用户不需要获知什么时候或者是否发生预热事件。如果在块1516中不超过阈值,那么处理1500可返回到块1510以继续累加和评估加速度计数据采样。

如果在块1512中下一加速度计数据采样不与抬起手势一致,那么在块1520中,计数器NNO可递增。在块1522中,NNO可与阈值“MaxNo”(例如,两个采样、四个采样或五个采样等)相比,以确定是否检测到了与抬起手势不一致的太多的采样。如果NNO达到阈值MaxNo,那么在块1524中,处理1500可复位,从而返回到块1504以寻找抬起手势的新的可能开始。

以这种方式,处理1500是否检测到预热事件可依赖于是否在达到阈值MaxNo之前达到阈值MinYes。例如,在一个实施例中,阈值MinYes可被设定为11,并且阈值MaxNo可被设定为5。如果在块1506中检测到抬起手势的可能启动之后在接收到与该手势不一致的五个采样之前接收到与手势一致的十一个采样,那么处理1500将产生预热事件。如果在接收到与手势不一致的五个采样之前没有接收到与手势一致十一个采样,那么处理1500将不产生预热事件并且替代地将返回到块1504,以事实上重新开始。如果以100Hz接收新采样,那么处理1500可在其开始之后的150ms内检测抬起手势的启动。

应当理解,处理1500是解释性的,并且变更和修改是可能的。依次描述的步骤可被并行执行,步骤的次序可改变,并且步骤可被修改、组合、添加或省略。例如,可以改变采样率和决定准则。可根据应用处理器从睡眠状态变换到唤醒状态需要多少时间调整预热检测的敏感度。预热事件可被足够早地检测到,使得到用户完成抬起手势时,应用处理器处于唤醒状态并且准备好处理用户输入。在一些实施例中,应用处理器的预热和唤醒的早期检测可有助于减少或消除对于自然抬起手势的设备响应中的用户可感觉到的延迟。较早的检测可导致更多的错误肯定,并且,敏感度可被调整,使得预热事件在手势中被尽可能晚地检测,同时仍允许应用处理器有足够的时间变换到唤醒状态。

在一些实施例中,不实现用于检测失去预热的特定算法。例如,如果在唤醒之后的一定的时间间隔内不出现用户输入、抬起手势检测或指示用户正与设备200交互的其它活动,那么应用处理器204可自动恢复到睡眠状态。作为替代方案,如果在预热事件之后的一定时间间隔内没有接收到可能抬起手势,那么唤醒控制逻辑230可通知应用处理器204,并且应用处理器204可使用该信息以确定是否恢复到睡眠状态。一些实施例可提供失去预热算法,例如,检测接收的采样是否继续与抬起手势一致,以及如果它们不继续与抬起手势一致或者如果预热事件在规定的时间段内后面不跟随有检测到抬起手势,那么指示失去预热。

图16是根据本发明的实施例的预热检测模块1600的功能框图。如图所示,预热检测模块1600可例如在图2B的移动处理单元258中实现为预热检测模块270。预热检测模块1600也可实现为图2A的预热检测模块220。预热检测模块1600可包含可能手势开始确定单元1602、采样评估单元1604、计数器单元1606和预热确定单元1608。例如,可通过使用可在处理器和/或专用逻辑电路上执行的程序代码实现每个单元。

可能手势开始确定单元1602可接收移动传感器数据采样并且根据该数据采样确定是否出现了可能手势开始。例如,可能手势开始确定单元1602可实现上述的处理1500的块1504。当可能手势开始被确定为已出现时,可能手势开始确定单元可通知采样评估单元1604和计数器单元1606。

采样评估单元1604可接收移动传感器数据采样并且评估其接收的每个采样以确定它是否与可能抬起手势的继续一致。例如,采样评估单元1604可实现上述的处理1500的块1510和1512。采样评估单元1604可向计数器单元1606提供指示采样是否与可能抬起手势的继续一致的决定输出。

计数器单元1606可维护用于计数由采样评估单元1604确定为与可能抬起手势的继续一致的采样的第一计数器和用于计数由采样评估单元1604确定为不与可能抬起手势的继续一致的采样的第二计数器。这些计数器可与上述的NYES和NNO计数器对应。计数器单元1606可响应被通知了可能手势开始确定单元1602的可能手势开始将两个计数器初始化(例如,为零)。例如,计数器单元1606可实现上述的处理1500的块1508。在初始化两个计数器之后,计数器单元1606可响应从采样评估单元1604接收的每个决定输出递增两个计数器中的一个,并且如果决定输出指示采样与可能抬起手势的继续一致,则第一计数器递增,并且如果决定输出指示采样不与可能抬起手势的继续一致,则第二计数器递增。例如,计数器单元1606可实现上述的处理1500的块1540和1520。计数器单元1606可向预热确定单元1608提供第一和第二计数器值。

预热确定单元1608可从计数器单元1606接收第一和第二计数器值,并且可确定是否出现预热事件或复位事件。例如,预热确定单元1608可实现上述的处理1500的块1516和1522。如果出现预热事件(例如,如果第一计数器超过上述的值MinYes),那么预热确定单元1608可通知其它的系统部件(例如,图2A的唤醒控制逻辑230或图2B的唤醒控制逻辑模块280)。例如,预热确定单元1608可实现上述的处理1500的块1518。如果出现了复位事件(例如,如果第二计数器超过上述的值MaxNo),那么预热确定单元1608可通知可能手势开始确定单元1602,并且可能手势开始确定单元1602可开始重新确定是否出现了可能手势开始。另外,预热确定单元1608也可向采样评估单元1604和/或计数器单元1606通知预热事件或复位事件,并且被通知的单元可因此进行响应;例如,采样评估单元1604可在预热事件或复位事件之后停止评估采样,直到诸如出现下一可能手势开始的时间。应当理解,不是通过采样评估单元1604评估的每个采样都需要导致预热事件或复位事件,原因是它可针对一个或另一个计数器取几个采样以达到相关的阈值。

应当理解,预热检测模块1600是解释性的,并且变更和修改是可能。例如,虽然参照特定的块或单元描述了预热检测模块1600,但应理解,这些块是出于便于描述的目的被限定的,并且不是要隐含部件部分的特定物理布置。此外,块不需要与物理上不同的部件对应,并且可以使用相同的物理部件以实现多个块的多个方面。块可被配置为执行各种操作,例如,通过对处理器编程或者设置适当的控制电路,并且可以或者可以不根据如何获得初始的配置来配置各种块。可在包括通过使用电路和软件的任意组合实现的电子设备的各种装置中实现本发明的实施例。

通过使用上述的各种手势检测模块和/或处理,图2A的唤醒控制逻辑230(或图2B的唤醒控制逻辑模块280)可实现图17所示的状态机行为,该图17是示出根据本发明的实施例的唤醒控制逻辑230的状态的状态图。可响应来自预热检测模块220(例如,执行处理1500)、低动态主检测模块222(例如,处理400)、高动态主检测模块224(例如,处理800)、晃动检测模块226(例如,处理1100)和失去关注检测模块228(例如,处理1300)的通知,发生状态之间的变换。

状态1702可以为“空”状态,在该状态中,设备200是空闲的,并且应用处理器204处于睡眠状态且用户界面202处于不活动状态。在一些实施例中,可基于不活动、失去关注和/或其它的准则进入状态1702。

状态1704可以为可响应由预热检测模块220报告的预热事件进入的“预热”状态(例如,在图15的块1518)。在进入预热状态1704时,唤醒控制逻辑230可发信号给应用处理器204以从其睡眠状态开始苏醒。在一些实施例中,应用处理器204的苏醒不具有用户可觉察的效果(可能除了电力消耗增加之外);用户不需要被警告应用处理器204被唤醒还是睡眠。

状态1706可以是可响应可能抬起手势的通知进入的“可能手势”状态(例如,在图4的块412或图8的块812)。可从预热状态1704或者直接从空状态1702进入状态1706。在进入可能手势状态1706时,唤醒控制逻辑230可唤醒应用处理器204(如果这不是已在预热状态1704中完成),并且还可激活用户界面202。

状态1708可以是可响应检测到抬起手势的通知进入的“检测到手势”状态(例如,在图4的块418、图8的块818或图11的块1124)。可从可能手势状态1706或者直接从空状态1702或从预热状态1704进入状态1708。例如,在上述的实施例中,用于检测有意抬起手势的处理1100仅向唤醒控制逻辑230通知可从空状态1702或预热状态1704出现的检测到抬起手势。在这种情况下,可能手势状态1706可被跳过。在其它实施例中,处理1100可向唤醒控制逻辑230通知可能唤醒手势(例如,在检测到第一或第二峰时),并且不会出现从空状态1702或预热状态1704向检测到手势状态1708的直接变换。在进入检测到手势状态1708时,唤醒控制逻辑230可唤醒应用处理器204和/或激活用户界面202,如果任一个或两个先前没有出现的话。

状态1710可以是可响应确认抬起手势的通知进入的“确认手势”状态(例如,在图4的块424)。在一些实施例中,唤醒控制逻辑230不需要响应到确认抬起手势状态1710的变换做任何事。但是,如果希望的话,唤醒控制逻辑230可采取各种动作,诸如向应用处理器204发送确认通知,并且与检测到(但未确认)抬起手势相对,如果希望的话,在应用处理器204上执行的各种应用或其它处理可响应确认抬起手势不同地行动。

状态1712可以是可响应失去关注事件的通知进入的“失去关注”状态(例如,在图13的块1312)。在进入失去关注状态1712时,唤醒控制逻辑230可去激活用户界面202并且可向应用处理器204通知失去关注。在一些实施例中,应用处理器204可能不响应失去关注而立即进入其睡眠状态。例如,应用处理器204可继续执行在设备200处于关注状态(例如,状态1706、1708、1710中的任一个)中时开始的处理,直到处理完成,然后进入睡眠状态。

从失去关注状态1712开始,如果应用处理器204随后返回到睡眠状态,那么唤醒控制逻辑230可变换回到空状态1702。在一些实施例中,会在应用处理器204返回其睡眠状态之前出现另一关注有关事件(例如,预热、可能抬起手势、检测到抬起手势),在这种情况下,如虚线箭头所示,唤醒控制逻辑230可返回到状态1704、1706、1708中的适当的一个,而不首先返回到空状态。

应当理解,图17所示的状态是解释性的,并且其它的实施例可限定更多、更少或不同的状态。

在一些实施例中,根据唤醒控制逻辑230的当前状态,唤醒控制逻辑230可选择性地启用或禁用各种手势检测算法或模块,其中包括预热检测模块220(例如,实现处理1500)、低动态主检测模块222(例如,预热处理400)、高动态主检测模块224(例如,实现处理800)、晃动检测模块226(例如,实现处理1100)和失去关注检测模块228(例如,实现处理1300)中的任意或全部。

图18是根据本发明的实施例的可在唤醒控制逻辑230中实现的处理1800的流程图。处理1800可在图17的空状态中开始(块1802)。出于描述的目的,假定在该阶段中应用处理器204处于其睡眠状态且用户界面202不活动。

在块1804中,唤醒控制逻辑230可启用一个或多个手势检测算法或模块以检测抬起手势。例如,唤醒控制逻辑230可启用预热检测模块220、晃动检测模块226和低动态主检测模块222或高动态主检测模块224中的一个或另一个。在一些实施例中,仅在用户参与可如上面描述的那样确定的高动态活动时启用高动态主检测模块224,并且当用户不参与高动态活动时,启用低动态主检测模块222。如果用户的活动改变,那么唤醒控制逻辑230可改变启用哪个算法。

在块1806中,处理1800可等待,直到手势检测算法或模块中的一个提供事件的通知。例如,预热检测模块220可向唤醒控制逻辑230通知预热事件,或者低动态主检测模块222或高动态主检测模块224可向唤醒控制逻辑230通知可能抬起手势。如果这种通知被接收到,那么在块1808中,处理1800可唤醒应用处理器204(假定它尚未被唤醒)并且禁用预热检测模块220。其它的抬起手势检测算法或模块可继续运行。根据实现,应用处理器204可以或者可以不去激活用户界面202。例如,在一些实施例中,应用处理器204响应可能抬起手势事件而不响应预热事件激活用户界面202。

在块1810中,唤醒控制逻辑230确定是否已接收到检测到抬起手势的通知。例如,可从晃动检测模块226或在低动态主检测模块222或高动态主检测模块224中的任一个接收这种通知。在一些实施例中,如果没有在预热或可能抬起手势事件之后的超时周期内接收检测到抬起手势的通知,那么唤醒控制逻辑230可推断预热或可能抬起手势是错误肯定。因此,在块1812中,唤醒控制逻辑230可向应用处理器204通知错误肯定、重新启用预热检测模块220并且返回到块1804。在一些实施例中,如果在短时间段内出现阈值数量的错误肯定预热事件,那么预热检测模块220可进入“退避(back-off)”状态,在这种状态中,它可停止发送预热通知(或者唤醒控制逻辑230可忽略预热通知),直到错误肯定的频率低于阈值。这可帮助减少应用处理器的不必要的电力消耗。

如果在块1810中检测到抬起手势的通知被接收到,那么在块1814中,处理1800可启用手势分类器234以确认检测到抬起手势并且可禁用晃动检测模块226。在一些情况下,检测到抬起手势的通知可在预热或可能抬起手势的通知的前面(例如,在晃动检测模块226产生检测到抬起手势的通知的情况下)。虽然在图18中没有具体示出,但应理解,如果出现,那么处理1800可执行块1808的操作以及块1814的操作。

在块1816中,处理1800可确定检测到抬起手势是否被确认。在一些情况下,块1816中的确认可被假定(例如,如果从晃动检测模块226接收到块1810中的检测到抬起手势通知),并且不需要使用手势分类器234等以确认抬起手势。在其它的情况下,可在至少一些情况下需要确认(例如,如果从低动态主检测模块222接收到块1810中的检测到抬起手势通知)。如果没有接收到确认(并且没有假定)或者如果接收未确认,那么在块1818中,唤醒控制逻辑230可向应用处理器204通知未确认或不确认抬起手势、重新启用预热检测模块220和晃动检测模块226,并且禁用手势分类器234。处理1800可返回到块1804以继续等待确认抬起手势。

如果在块1816中手势被确认,那么在块1820中,处理1800可指示应用处理器204激活用户界面202(如果它还不是活动的)、启用失去关注检测模块228并且禁用低动态主检测模块222或高动态主检测模块224。如果晃动检测模块226或预热模块220仍被启用,那么这些模块也可在块1820中被禁用。

处理1800可在块1822中等待,直到例如从失去关注检测模块228接收到失去关注手势的通知。在该时间期间,设备200可被视为处于关注中。应用处理器204可保持在其唤醒状态,并且用户界面204可保持活动。

一旦失去关注,在块1824中,处理1800可通知应用处理器204、去激活用户界面202并且禁用失去关注检测模块228。处理1800可返回到块1804以重新启用各种抬起手势检测模块(例如,晃动检测模块226和在低动态主检测模块222和高动态主检测模块224中的一个或另一个)。如果应用处理器204返回到睡眠状态,那么处理1800可重新启用预热检测模块220。

应当理解,处理1800是解释性的,并且变更和修改是可能的。依次描述的步骤可被并行执行,步骤的次序可改变,并且步骤可被修改、组合、添加或省略。用户界面204的激活可如希望的那样由唤醒控制逻辑230或者应用处理器204中的处理控制。预热检测模块220可在应用处理器204处于其睡眠状态的同时连续运行,并且不管应用处理器204什么时候处于其睡眠状态都可被禁用。在一些实施例中,失去关注不导致应用处理器204立即返回到睡眠状态。例如,在应用处理器204上进行的任何处理任务可继续执行,并且应用处理器204可在完成这种任务时返回到睡眠状态(例如,假定没有出现其它的抬起手势或预热事件)。应用处理器204可每当它在唤醒状态和睡眠状态之间变换时通知唤醒控制逻辑230,并且唤醒控制逻辑230也可被通知用户界面202中的状态变化(例如,在不活动状态与活动状态之间)。除了从手势检测模块或算法接收的通知以外,唤醒控制逻辑230可基于来自应用处理器204的通知启用或禁用手势检测模块或算法。

在图18所示的例子中,用户界面不被激活,直到抬起手势被检测和确认。在一些实施例中,可能希望在更早的阶段(例如,当可能抬起手势或检测到抬起手势被报告时)激活用户界面;这可导致更多的错误肯定但更少的错误否则,并且可提供更加反应灵敏和满意的用户体验。另外,用户界面的激活可在多个阶段中出现。例如,界面可在接收到可能抬起手势的通知时部分地被启用(例如,显示器打开但变暗,触摸覆盖体被禁用或者以较低的分辨率被启用),然后在接收到检测到抬起手势的通知时被完全启用。

虽然关于特定的实施例描述了本发明,但本领域技术人员可以理解大量的修改是可能的。例如,虽然各种算法或模块在以上被描述为在设备上的协同处理器中被执行,但本领域技术人员可以理解,主处理器(例如,应用处理器)也可执行上述的手势检测算法或模块中的任意或全部。作为一个例子,在上述的实施例中,手势分类器可在应用处理器处于其唤醒状态中时被选择性地调用,并且可在应用处理器上而不是在协同处理器上执行手势分类器。假定应用处理器处于唤醒状态,也可完全或部分地在应用处理器上执行其它的算法。在其它的实施例中,应用处理器可具有多个电力状态。例如,睡眠状态可包含处理器的一个区段可执行诸如上述的那些的手势检测算法而处理器的其它区段不活动以节省电力的状态。(例如,在多芯应用处理器中,一个芯可以活动而其它的芯不活动。)

可对用于检测可能或实际抬起手势的参数提供自适应控制,以确认检测到抬起手势和/或检测预热事件或失去关注事件。自适应控制可允许针对更宽松或更严格的检测准则调整参数。更宽松准则可提供更快的响应和更早的触发,而更严格准则可提供更少的错误肯定(并因此提供附加的电力节省)。可调整的参数包含需要的累积的y倾斜的量、设备的关注姿势范围和抬起手势的执行期间的设备轨迹上的准则。在一些实施例中,可通过配置数据块修改可调整参数,并且可随时向设备下载新的配置数据。也可提供用户界面以调节可调整参数(例如,在从宽到严的滑动标尺上)。

作为另一例子,上述的抬起手势算法可要求设备在检测手势之前保持在关注姿势中最小的停顿时间。在一些实施例中,可针对关注姿势的精度折衷停顿时间。例如,如果设备保持接近对关注姿势限定的范围但不处于该范围中(例如,满足四个准则中的三个)并且在其位置中累积了足够的停顿时间,那么它可被检测为抬起手势。例如,假定结束姿势保持足够长,即使y倾斜为正而不是零或负,也可识别后跟保持结束姿势的明显旋转。在以这种方式使用停顿时间以使失效“偏移”到完全满足所有关注姿势准则的情况下,可以规定更严格的关注姿势准则。

这里描述的处理可被用于确定什么时候激活设备的用户界面。一旦被激活,就可以在任何希望的状态中呈现用户界面。例如,可在缺省“主页”状态中、在变为不活动之前所处的最后状态中、在呈现最近的通知或关于自用户界面最后活动以来接收的通知的信息的状态中或者在任何其它的状态中呈现用户界面。

在一些实施例中,用户界面或其部件可在多个阶段中被激活。例如,当可能抬起手势被检测到(例如,如上所述)时,用户界面可变换到部分激活。这种部分激活可包括激活显示器但仅昏暗地点亮它(这里,“昏暗地点亮”可包含比显示器的正常操作亮度低的任何光水平,该光水平可依赖于例如环境光或用户偏好等),或者激活显示器但去激活触摸敏感覆盖体、激活显示器但去激活声音输入电路等。当可能抬起手势变为检测到抬起手势时,用户界面可变换到完全激活,例如,在标准的亮度上显示,触摸敏感覆盖体活动、声音输入电路激活等。作为另一例子,可以在抬起手势检测的不同阶段中激活用户界面的不同部件。例如,当可能抬起手势被检测到(例如,如上所述)时,一个或多个用户界面部件(例如,麦克风或显示器)可被激活,而其它的用户界面部件(例如,显示器上的触摸敏感覆盖体、扬声器或声音识别协同处理器等)保持不活动。当可能抬起手势变为检测到抬起手势时,一个或多个其它的用户界面部件(例如,触摸敏感覆盖体)可被激活。此外,一个或多个其它用户界面部件(例如,声音识别协同处理器)可保持不活动,直到检测到抬起手势变为确认抬起手势。也可实现其它激活序列,并且不同的用户界面部件响应不同的手势状态变换而变换到活动状态。

在一些实施例中,唤醒控制逻辑230可向应用处理器204提供指示设备200处于关注状态中多久(例如,自最近的检测到或确认抬起手势事件以来经过的时间)的信息。另外,或者替代地,应用处理器204可基于自唤醒控制逻辑230指示向关注状态的变换(例如,通过向应用处理器204通知检测到或确认抬起手势)以来经过的时间和/或应用处理器204可用的其它信息推断关注状态的持续时间。关注状态的持续时间可被用于影响用户体验。例如,假定设备200进入关注,显示通知(例如,“来自Fred的新文本消息”)。根据用户观看通知多久,应用处理器204可选择显示关于通知的附加信息(例如,文本消息的内容),而无需用户操作控制。作为另一例子,如果用户观看比规定的时间段长的时间,则应用处理器204可推断通知已被读取,并且,可自动隐藏或解除通知,而无需用户操作控制。可以实现基于用户继续保持关注姿势多久的其它动作,诸如通过通知或其它项目的列表或者通过消息的内容滚动或翻页。

检测失去关注手势可具有各种结果。例如,用户界面可如上面描述的那样被去激活。另外,在失去关注时显示的任何通知可被解除,或者可以维持通知的读取/未读状态。

此外,如上所述,可通过唤醒控制逻辑230通知应用处理器204手势状态变换或手势事件(例如,可能抬起手势、检测到抬起手势、确认抬起手势、失去关注)。在一些实施例中,应用处理器204还可向其客户机(例如,可在应用处理器上执行的任何应用和/或操作系统处理)通知这些变换,并且客户机可如希望的那样采取响应动作。

应当理解,本发明的一些实施例可使用比这里描述的所有手势检测模块少的手势检测模块。例如,一些实施例可仅包含预热检测模块。一些实施例中可仅包含单个自然抬起手势检测模块(其可例如为上述的低动态或高动态检测模块)或多个自然抬起手势检测模块而没有其它模块。一些实施例可仅包含有意抬起手势检测模块(例如,上述的晃动检测模块)。一些实施例可仅包含失去关注检测模块。一些实施例可包含预热和一个或多个自然抬起手势检测模块。一些实施例可包含预热和有意抬起手势检测模块。一些实施例可包含预热和失去关注检测模块。一些实施例可包含预热检测模块、一个或多个自然抬起手势检测模块和有意抬起手势检测模块。一些实施例可包含一个或多个自然抬起手势检测模块和有意抬起手势检测模块。一些实施例可包含一个或多个自然抬起手势检测模块、有意抬起手势检测模块和失去关注检测模块。一些实施例可包含有意抬起手势检测模块和失去关注检测模块。另外,一些实施例可包含以上没有具体描述的附加的手势检测模块。

还应理解,实现上述的抬起手势和/或失去关注手势的自动检测的设备也可提供可用于激活和/或去激活用户界面的用户可操作手动控制(例如,物理按钮或触摸传感器等)。在提供这种控制的情况下,唤醒控制逻辑230可接收由于手动控制的用户操作所导致的用户界面的状态变化的通知,并且可因此调节其自身的状态(例如,启用或禁用上述的各种算法)。因此,虽然这里描述的自动处理可有利于用户交互,但设备(和用户)不需要唯一地依赖于它们。

例如,可通过使用上述的机器学习和/或其它技术启发式地调整这里描述的各种算法和参数(例如,权重、阈值、其它准则)。可以设想,可在设备开发过程中(例如,在广泛分布之前)执行机器学习的训练阶段,并且训练的结果可被结合到设备固件中。因此,用户不需要执行设备训练。在一些实施例中,设备可能能够在普通操作中收集反馈,例如,在用户执行有意抬起手势或操作手动控制的情况下记录移动传感器数据的相关间隔,这些相关间隔可指示自然抬起手势检测算法产生错误否定。设备可能能够在背景中执行训练算法,以基于这种记录数据细化其自身的算法和参数。在一些实施例中,设备制造商可跨较大的一组设备汇聚这种数据并且使用信息以更新手势检测算法和/或参数。(为了保护用户隐私,汇聚可被匿名完成并且可限于移动传感器数据和对于数据可与错误否定对应的指示)。

本公开使用诸如“约”和“基本上”的术语以量化诸如在关注姿势中的稳定性之类的某些测量。本领域技术人员可以理解,大多数的用户不能保持其手臂完全静止,并且这些术语被用于表示考虑到了自然用户不稳定性的影响以及各种移动传感器的固有精度。诸如水平、垂直和平行的其它术语可被类似地量化,以指示物理完美不是必需的。此外,这里使用的术语,诸如“在视线中”,一般指的是关于用户的头相对于设备的取向的假定,并且这种假定可能不总是匹配用户眼睛是否指向设备的地面实况。

此外,虽然说明书具体参照可穿戴设备和手腕可穿戴设备,但本发明实施例不限于可穿戴或手腕可穿戴设备。例如,可在用户可在与设备的交互中拾取和保持的诸如移动电话或平板机等的其它便携式设备中实现以上描述的算法和模块。以上描述的算法和/或模块当在手持设备中被实现时可检测与在用户视线中拾取和保持一致的设备的取向变化(或者,相反地,与放下或收起一致的变化),并且这种变化的检测可被用于触发设备状态的变化(例如,激活显示器或其它用户界面部件、从睡眠状态唤醒处理器等)。

可通过使用专用部件和/或可编程处理器和/或其它可编程设备的任何组合实现本发明的实施例。可以在同一处理器或任意组合的不同处理器上实现在这里描述的各种处理。在部件被描述为被配置为执行某些操作的情况下,可例如通过设计电子电路以计算操作、通过编程可编程电子电路(诸如微处理器)以执行操作或者通过它们的任意组合实现这种配置。此外,虽然以上描述的实施例可参照特定的硬件和软件部件,但本领域技术人员可以理解,也可使用硬件和/或软件部件的不同组合,并且也可用软件实现被描述为用硬件实现的特定操作,反之亦然。

可在各种计算机可读存储介质上编码和存储加入本发明的各种特征的计算机程序;适当的介质包括磁盘或带、诸如光盘(CD)或DVD(数字万用盘)的光学存储介质、快擦写存储器和其它的非暂时介质。(应当理解,数据的“存储”与使用诸如载波的暂时介质的数据传播不同)。可通过兼容的电子设备封装通过程序代码编码的计算机可读介质,或者可与电子设备分开地提供程序代码(例如,通过因特网下载或者作为单独封装的计算机可读存储介质)。

某些实施例涉及用于检测诸如手腕可穿戴设备或其它可穿戴设备的设备中的抬起手势的方法,该设备可包括具有活动状态和不活动状态的用户界面部件、用于检测设备的移动的移动传感器和至少第一处理器。例如,第一处理器可基于与时间间隔对应的一组移动传感器数据采样确定与时间间隔的开始对应的开始姿势。第一处理器可至少部分地基于开始姿势确定用于通过使用一组移动传感器数据采样识别可能抬起手势的一组准则。第一处理器还可至少部分地基于一组移动传感器数据采样是否满足所选择的一组准则来确定可能抬起手势。第一处理器还可在可能抬起手势后面至少跟随在关注姿势中的最小停顿时间段的情况下确定检测到抬起手势。第一处理器可在识别了可能抬起手势时以及在识别了检测到抬起手势时通知设备的其它部件。

在一些实施例中,其它的部件可包含用户界面部件。用户界面部件可响应被通知了可能抬起手势或者响应被通知了检测到抬起手势而被激活。在一些实施例中,用户界面部件可响应被通知了可能抬起手势从不活动状态变换到部分活动状态,并且响应被通知了检测到抬起手势从部分活动状态变换到活动状态。

在一些实施例中,其它部件可包含应用处理器。应用处理器可例如响应被通知了可能抬起手势从睡眠状态变换到唤醒状态,并且可响应被通知了可能抬起手势或者响应被通知了检测到抬起手势而激活设备的用户界面部件。

可通过各种方式确定开始姿势。在一些实施例中,确定开始姿势可包括比较一组移动传感器数据采样中的一个或多个最旧移动传感器数据采样与多个规范开始姿势中的每一个和基于比较选择规范开始姿势中的一个(或多个)。在一些实施例中,如果选择了多于一个的规范开始姿势,那么开始姿势可被定义为所选择规范开始姿势的混合。在一些实施例中,确定开始姿势可包含通过使用活动分类器识别当前用户活动和至少部分地基于当前用户活动确定开始姿势。

可通过各种方式确定用于识别可能抬起手势的一组准则。例如,确定用于识别可能抬起手势的一组准则可包括通过使用确定的开始姿势访问查找表和从查找表中提取一组准则。在开始姿势被定义为两个或更多所选择规范开始姿势的混合的情况下,确定用于识别可能抬起手势的一组准则可包括通过使用所选择规范开始姿势中的每一个访问查找表、从查找表中提取与所选择规范开始姿势中的每一个对应的一组准则和混合提取的各组准则。

在一些实施例中,用于识别可能抬起手势的一组准则可依赖于可用的移动传感器数据。例如,如果移动传感器数据包含加速度计数据,那么所选择的用于识别可能抬起手势的一组准则可包括以下准则中的任意或全部:基于在时间间隔期间从加速度计数据确定的累积倾斜的准则;基于设备的提升量的准则,提升量是在时间间隔期间从加速度计数据确定的;和/或基于时间间隔期间的移动的平滑性的准则。作为另一例子,如果移动传感器数据包含来自陀螺仪传感器的陀螺仪数据,那么所选择的用于识别可能抬起手势的一组准则可包含基于关于基本上与用户前臂平行的轴的累积旋转的准则,累积旋转是在时间间隔期间从陀螺仪数据确定的。在移动传感器数据包含来自陀螺仪传感器的陀螺仪数据和来自加速度计的加速度计数据的一些实施例中,陀螺仪数据可被用于识别可能抬起手势,而加速度计数据被用于识别检测到抬起手势。

可通过各种方式确定可能抬起手势。例如,确定可能抬起手势可包含基于一组移动传感器数据采样确定与时间间隔的结束对应的结束姿势和确定结束姿势是否与关注姿势对应。在一些实施例中,确定可能抬起可包含确定从开始姿势到与时间间隔的结束对应的结束姿势的移动是否缓慢或者在时间间隔的结束时停止。

可通过各种方式定义关注姿势。在一些实施例中,至少部分地基于开始姿势定义关注姿势。在一些实施例中,关注姿势可被定义为与设备的取向范围对应,并且可至少部分地基于相对于与关注姿势对应的取向范围的设备当前取向的位置来确定关注姿势中的最小停顿时间段。在关注姿势被定义为与设备的取向范围对应的一些实施例中,可能抬起手势的结束姿势可被识别并且结束姿势中的停顿时间被确定;例如,可至少部分地基于结束姿势中的停顿时间动态调节与关注姿势对应的取向范围,使得范围随着停顿时间的增加而增加。

在一些实施例中,可在从宽到严的范围中选择用于确定可能抬起手势的准则。类似地,可在从宽到严的范围中调节关注姿势的定义(例如,与关注姿势对应的设备的取向范围)。用户能够选择或调节宽或严。

在一些实施例中,在确定检测到抬起手势之后,手势分类器可被用于确认检测到抬起手势。例如,可以向检测到抬起手势分配置信度分数,并且关心特征可被输入到手势分类器中。在移动传感器数据包含加速度计数据的实施例中,关心特征可包含例如以下方面中的任意或全部:与关心时间窗口对应的加速度计数据采样;基于连续加速度计数据采样之间的变化的标准偏差的平滑性参数;相对于与用户前臂(例如,对于手腕可穿戴设备)平行的轴的累积倾斜;关心时间窗口开始时的设备的开始取向(例如,出现检测到抬起手势的时间);和/或关心时间窗口结束时的设备的结束取向。在移动传感器数据包含来自陀螺仪传感器的陀螺仪数据采样的实施例中,关心特征可包含例如以下方面中的任意或全部:与关心时间窗口对应的各单个陀螺仪数据采样;基于连续陀螺仪数据采样之间的变化的标准偏差的平滑性参数;相对于与用户前臂平行的轴的累积旋转;关心时间窗口开始时的设备的开始取向;和/或关心时间窗口结束时的设备的结束取向。

可包含例如实现线性判别分析的Bayesian分类器的手势分类器可从关心特征计算检测到抬起手势是真实抬起手势的概率,概率是从关心特征计算的。基于置信度分数和概率,可确定是否确认抬起手势。例如,概率的阈值可被选择,并且选择至少部分地基于置信度分数,并且可基于概率是否超过阈值进行确定。在一些实施例中,确定是否确认检测到抬起手势可包含确定是否在确认或不确认抬起手势之前等待附加的移动传感器数据。在一些实施例中,手势分类器可被事先训练,以区分自然抬起手势与至少一个其它类似手势。

在一些实施例中,可响应手势分类器的确认激活设备的用户界面部件,或者可在手势分类器不确认识别出的检测到抬起手势的情况下去激活设备的用户界面部件。

除了检测抬起手势以外,在一些实施例中,设备还可检测预热事件。例如,第一处理器(或另一处理器)可执行预热检测算法以检测抬起手势的启动,其中预热检测算法与执行与检测自然抬起手势相关的确定、选择和识别动作同时地执行。处理器可在抬起手势的启动被检测到的情况下向其它部件(例如,应用处理器)通知预热事件。预热算法可包含例如分析一组一个或多个最近移动传感器数据采样以检测抬起手势的可能启动;并且在抬起手势的可能启动未被检测到的情况下,重复分析随后的移动传感器数据采样;并且在抬起手势的可能启动被检测到的情况下,将一序列随后的移动传感器数据采样中的每一个评估为与抬起手势一致或不一致;在达到与抬起手势不一致的移动传感器数据采样的第二阈值数量之前达到与抬起手势一致的移动传感器数据采样的第一阈值数量的情况下,其它部件可被通知了预热事件。其它部件(例如,应用处理器)可响应预热事件从睡眠状态变换到唤醒状态。在一些实施例中,在超时周期内在预热事件的通知后面没有跟随检测到抬起手势的通知的情况下,其它部件可从唤醒状态变换回到睡眠状态。在一些实施例中,可在足够早的时间检测抬起手势的启动,以允许应用处理器在识别出检测到抬起手势时完成向唤醒状态的变换。在一些实施例中,预热事件的通知不影响设备的不活动用户界面部件。

可在各种设备中实现这种方法。例如,设备可具有诸如显示器(可以是触摸屏显示器或其它显示器)、麦克风、扬声器和/或按钮中的任意或全部的用户界面部件。设备可具有各种移动传感器,诸如加速度计和/或陀螺仪传感器。可如希望的那样在主要应用处理器中或者在协同处理器中执行在这里描述的抬起手势的检测。

一些设备可包括具有活动状态和不活动状态的用户界面部件、可操作为产生指示设备的移动的移动传感器数据的移动传感器和与用户界面部件和移动传感器耦合的移动处理单元。移动处理单元可包含结合以下单元的自然检测模块:用于接收移动传感器数据并且基于移动传感器数据估计开始姿势的开始姿势估计单元;用于接收移动传感器数据、确定接收的数据是否满足用于可能抬起手势的准则并且在满足准则的情况下产生可能抬起手势的通知的可能抬起手势确定单元;和用于从可能抬起手势确定单元接收可能抬起手势的通知、监视附加加速度计数据以确定是否满足用于检测到抬起手势的条件并且在满足条件的情况下产生检测到抬起手势的通知的检测到抬起手势确定单元。在一些实施例中,移动处理单元还可包含用于至少部分地基于通过开始姿势估计单元估计的开始姿势确定用于检测可能抬起手势的准则并且向可能抬起手势确定单元提供准则的准则确定单元。在一些实施例中,移动处理单元还可包含用于基于与检测到抬起手势相关的移动传感器数据执行手势确认并且产生确认或未确认抬起手势的通知的确认单元。在一些实施例中,自然检测模块可被配置为从包含空状态、可能抬起手势状态和检测到抬起手势状态的一组手势状态识别手势状态。例如,在一些实施例中,可至少部分地基于从移动传感器数据确定的开始姿势和用于从开始姿势到结束姿势的变化的一组准则识别可能抬起手势状态,该组准则是至少部分地基于开始姿势被选择的。在一些实施例中,可至少部分地基于关注姿势中的停顿时间识别检测到抬起手势状态。

某些实施例涉及用于检测诸如手腕可穿戴设备的设备中的有意抬起手势的方法,该设备可包括具有活动状态和不活动状态的用户界面部件、用于检测设备的移动的移动传感器(例如,加速度计和/或陀螺仪传感器)和至少第一处理器。例如,第一处理器可从设备的移动传感器收集一组移动传感器数据采样,该组移动传感器数据采样与时间间隔对应。第一处理器可检测移动传感器数据采样中的第一脉冲峰和第二脉冲峰,第一脉冲峰和第二脉冲峰分别表示在与穿戴设备的用户的手腕的旋转对应的方向的移动(例如,假定设备正穿戴于用户的手腕上),第一脉冲峰和第二脉冲峰在时间上分开比超时周期小的周期。第一处理器可至少部分地基于检测第一脉冲峰和第二脉冲峰检测抬起手势(例如,有意抬起手势),并且可在检测到抬起手势的情况下通知设备的其它部件。在一些实施例中,第一处理器还可在第二脉冲峰之后确定设备保持在大致稳定位置至少最小停顿时间,并且至少部分地基于检测第一脉冲峰和第二脉冲峰且至少部分地基于确定设备保持在大致稳定位置中而检测抬起手势。在一些实施例中,第一处理器还可基于移动传感器数据采样确定设备是否在时间间隔的开始处于准备好位置。可例如至少部分地基于确定设备是否保持静止最小时间段和/或确定设备的取向并比较取向与被假定为将设备定位在操作设备的用户的视线中的假定取向来确定准备好位置。在一些实施例中,可至少部分地基于关于操作设备的用户的当前活动的信息,确定设备是否在准备好位置中。

可通过各种方式检测脉冲峰。例如,在移动传感器包含加速度计的实施例中,检测第一和第二脉冲峰可至少部分地基于从加速度计数据采样确定的猛拉(jerk)。

基于脉冲峰的抬起手势的检测可被用于例如响应被通知了抬起手势从睡眠状态向唤醒状态变换应用处理器和/或响应被通知了抬起手势从不活动状态向活动状态变换用户界面部件。

可在各种设备中实现这种方法。例如,设备可具有诸如显示器(可以是触摸屏显示器或其它显示器)、麦克风、扬声器和/或按钮中的任意或全部的用户界面部件。设备可具有各种移动传感器,诸如加速度计和/或陀螺仪传感器。可如希望的那样在主要应用处理器中或者在协同处理器中执行在这里描述的有意抬起手势的检测。

一些设备可包括具有活动状态和不活动状态的用户界面部件、可操作为产生指示设备的移动的移动传感器数据的移动传感器和与用户界面部件和移动传感器耦合的移动处理单元。移动处理单元可包含结合以下单元的有意检测模块:用于接收移动传感器数据并且从移动传感器数据确定用户的手臂是否准备好执行有意抬起手势的准备好检测单元;用于接收附加移动传感器数据并且基于附加移动传感器数据检测脉冲峰的目标数量的有无的脉冲峰检测单元;和用于接收其它移动传感器数据并且确定其它移动传感器数据是否指示设备位置在通过脉冲峰检测单元检测到脉冲峰的目标数量之后已经稳定的稳定检测单元。

某些实施例涉及用于检测与诸如手腕可穿戴设备或其它可穿戴设备的设备中的抬起手势的启动对应的预热事件的方法,该设备可包括具有活动状态和不活动状态的用户界面部件、用于检测设备的移动的移动传感器和至少第一处理器。例如,设备的移动传感器(例如,加速度计)可操作以以某个采样率收集数据采样。设备中的第一处理器可至少部分地基于最近的数据采样检测抬起手势的可能启动。在没有检测到抬起手势的可能启动的情况下,第一处理器可重复分析随后的数据采样。在检测到抬起手势的可能启动的情况下,第一处理器可将一序列随后的数据采样中的每一个评估为与抬起手势一致或不一致。在达到与抬起手势不一致的随后数据采样的第二阈值数量之前达到与抬起手势一致的随后数据采样的第一阈值数量的情况下,第一处理器可向设备的其它部件通知预热事件。在一些实施例中,在达到与抬起手势一致的随后数据采样的第一阈值数量之前达到与抬起手势不一致的随后数据采样的第二阈值数量的情况下,检测处理可返回到没有检测到抬起手势的可能启动的初始状态,并且重复抬起手势的可能启动的检测。

在一些实施例中,其它部件可包含应用处理器。应用处理器可例如响应预热事件的通知从睡眠状态变换到唤醒状态。这可在不影响设备的用户界面部件的状态的情况下发生。在一些实施例中,在超时周期内预热事件的通知后面没有跟随抬起手势的通知的情况下,应用处理器可从唤醒状态变换到睡眠状态。

可通过各种方式检测抬起手势的可能启动。例如,两个最近的数据采样可被比较以检测设备的位置或取向的变化,并且可以确定检测的变化是否沿与抬起手势的启动一致的方向。在一些实施例中,检测抬起手势的可能启动可至少部分地基于从数据采样确定的开始姿势。

在设备是具有加速度计的手腕可穿戴设备的一些实施例中,检测抬起手势的可能启动可包含:确定加速度矢量的第一分量的变化,第一分量沿大致与穿戴设备的用户的前臂平行的方向;确定加速度矢量的第二分量的变化,第二分量沿与第一方向正交且处于设备的显示器的面中的方向;和基于第一分量和第二分量的变化的组合检测抬起手势的可能启动。

可通过各种方式执行评估随后数据采样。例如,评估可至少部分地基于以下方面中的任意或全部:从数据采样确定的设备的位置或取向中的一个或两个的变化是否与继续抬起手势一致的评估;基于数据采样对移动平滑性的测量;检测到抬起手势的可能启动时的开始姿势;和/或从数据采样推断的设备的轨迹。

在一些实施例中,在向其它部件通知预热事件之后,第一处理器可继续将一序列随后数据采样中的每一个评估为与抬起手势一致或不一致,并且可在随后数据采样变得与抬起手势不一致的情况下向其它部件通知失去预热事件。

可在各种设备中实现这些方法。例如,设备可具有诸如显示器(可以是触摸屏显示器或其它显示器)、麦克风、扬声器和/或按钮中的任意或全部的用户界面部件。设备可具有各种移动传感器,诸如加速度计和/或陀螺仪传感器。可如希望的那样在主要应用处理器中或者在协同处理器中执行在这里描述的预热事件的检测。

一些设备可包括具有活动状态和不活动状态的用户界面部件、可操作为产生指示设备的移动的移动传感器数据的移动传感器和与用户界面部件和移动传感器耦合的移动处理单元。移动处理单元可包含结合以下单元的预热检测模块:用于接收移动传感器数据采样并且基于移动传感器数据确定是否出现可能手势开始的可能手势开始确定单元;用于接收移动传感器数据采样并且评估每个移动传感器数据采样以确定它是否与可能抬起手势的继续一致的采样评估单元;用于维护用于计数通过采样评估单元确定为与可能抬起手势的继续一致的采样的第一计数器和用于计数通过采样评估单元确定为与可能抬起手势的继续不一致的采样的第二计数器的计数器单元;和用于从计数器单元接收第一和第二计数器值以确定是否出现预热事件的预热确定单元。

某些实施例涉及用于检测诸如手腕可穿戴设备或其它可穿戴设备的设备中的失去关注事件的方法,该设备可包括具有活动状态和不活动状态的用户界面部件、用于检测设备的移动的移动传感器(例如,加速度计和/或陀螺仪传感器)和至少第一处理器。例如,第一处理器可建立设备处于关注状态中,其中关注状态包含设备的用户界面部件处于活动状态中。第一处理器可从设备的移动传感器接收一序列移动传感器数据采样(例如,加速度计数据采样和/或陀螺仪数据采样)。第一处理器可基于移动传感器数据采样检测设备的取向的变化(例如,倾角的变化)。第一处理器可至少部分地基于取向的变化识别失去关注手势。第一处理器可在检测到失去关注手势时通知设备的其它部件。

在移动传感器数据采样包含来自加速度计的加速度计数据采样和来自陀螺仪传感器的陀螺仪数据采样的一些实施例中,第一处理器可选择是否使用加速度计数据采样或陀螺仪数据采样,选择至少部分地基于用户的当前活动。

可通过各种方式检测取向的变化。例如,检测取向的变化可包括在设备处于关注状态中时确定基准倾角和确定相对于基准倾角的倾角的净变化,其中取向的变化包含倾角的净变化。可例如至少部分地基于基于代表时间窗口的开始的移动传感器数据采样确定的设备的取向确定基准倾角。此外,或者替代地,可至少部分地基于与先前检测的抬起手势相关的累积倾角确定基准倾角。在后一种情况下,可在倾角的变化与大于累积倾角的阈值量的损失对应的情况下识别失去关注手势。

可以实现用于识别失去关注的其它技术。例如,可在取向的变化超过阈值的情况下和/或在取向的变化连续超过阈值至少最小时间量的情况下识别失去关注手势。在一些实施例中,关注状态的持续时间可被确定,并且最小时间量可至少部分地基于关注状态的持续时间;例如,最小时间量可随着关注状态的持续时间增加而增加。在一些实施例中,识别失去关注手势可至少部分地基于取向的变化和至少部分地基于可例如通过使用活动分类器确定的用户的当前活动。

可在各种设备中实现这些方法。例如,设备可具有诸如显示器(可以是触摸屏显示器或其它显示器)、麦克风、扬声器和/或按钮中的任意或全部的用户界面部件。设备可具有各种移动传感器,诸如加速度计和/或陀螺仪传感器。可如希望的那样在主要应用处理器中或者在协同处理器中执行在这里描述的失去关注手势的检测。

一些设备可包括具有活动状态和不活动状态的用户界面部件、可操作为产生指示设备的移动的移动传感器数据的移动传感器和与用户界面部件和移动传感器耦合的移动处理单元。移动处理单元可包含结合以下单元的失去关注检测模块:用于接收移动传感器数据并且基于移动传感器数据确定设备的取向的取向确定单元;至少部分地基于通过取向确定单元确定的取向确定是否出现取向的变化的取向变化检测单元;用于接收移动传感器数据并且从该数据确定被假定为穿戴设备的手臂的估计手臂位置的手臂位置估计单元;和用于从取向变化检测单元接收取向变化信息、从手臂位置估计单元接收估计手臂位置并且至少部分地基于接收的取向变化信息和估计手臂位置确定是否出现失去关注的关注确定单元。

某些实施例涉及用于检测诸如手腕可穿戴设备或其它可穿戴设备的设备中的各种抬起手势(包含例如上述的自然抬起手势、有意抬起手势、预热事件和/或失去关注手势的任何组合)的方法,该设备可包括具有活动状态和不活动状态的用户界面部件、用于检测设备的移动的移动传感器和一个或多个处理器。可从设备的移动传感器接收移动传感器数据。可通过使用用于检测指示用户正将设备移动到假定的视线内的抬起手势或指示抬起手势的启动的预热事件中的一个或两个的一组手势检测模块(包含例如上述的自然抬起手势检测模块、有意抬起手势检测模块和/或预热检测模块中的任意一个或多个),处理移动传感器数据。可在预热事件被检测到的情况下通知设备的应用处理器,并且应用处理器可响应预热事件的通知从睡眠状态变换到唤醒状态。可在检测到抬起手势的情况下通知设备的用户界面部件,并且用户界面部件可响应抬起手势的通知从不活动状态变换到活动状态。在一些实施例中,应用处理器可在检测到预热事件之前检测到抬起手势的情况下响应抬起手势的通知从睡眠状态变换到唤醒状态。在一些实施例中,在检测到抬起手势之后,一组检测模块可被禁用并且失去关注检测模块(例如,如上所述)可被启用。

某些实施例涉及可在诸如手腕可穿戴设备或其它可穿戴设备的设备中的执行的方法,该设备可包括具有活动状态和不活动状态的用户界面部件、用于检测设备的移动的移动传感器和一个或多个处理器。可以建立其中设备的应用处理器处于睡眠状态且设备的用户界面部件处于不活动状态的空状态。设备的协同处理器可执行包含用于检测抬起手势(例如,上述的自然或有意抬起手势)的一个或多个抬起手势检测算法和用于检测抬起手势的启动(例如,如上所述)的预热检测算法的一组手势检测算法。预热检测算法可在检测到抬起手势的启动的情况下产生预热事件。抬起手势检测算法中的至少一个可在检测到抬起手势的情况下产生抬起手势事件。应用处理器可响应预热事件从睡眠状态变换到唤醒状态。用户界面部件可响应抬起手势事件从不活动状态变换到活动状态。在一些实施例中,在抬起手势检测算法在预热检测算法产生预热事件之前产生抬起手势事件的情况下,应用处理器可响应抬起手势事件从睡眠状态变换到唤醒状态。在一些实施例中,预热检测算法可在应用处理器处于唤醒状态中时被禁用,并且可在应用处理器从唤醒状态变换到睡眠状态的情况下被重新启用。在一些实施例中,可在用户界面部件处于活动状态中时禁用所有的抬起手势检测算法,并且可在用户界面部件从活动状态变换到不活动状态的情况下重新启用抬起手势检测算法中的至少一个。

在一些实施例中,抬起手势检测算法可包含一个或多个自然抬起手势检测算法,诸如用于在低动态环境中检测抬起手势的第一自然抬起手势检测算法和/或用于在高动态环境中检测抬起手势的第二自然抬起手势检测算法。在包含第一和第二自然抬起手势检测算法的一些实施例中,第一或第二自然抬起手势检测算法中的一个可被选择为在给定的时间执行,选择至少部分地基于可例如通过使用活动分类器和/或加速度计数据的数据质量分析确定的当前用户活动。在一些实施例中,可与第一和第二自然抬起手势检测算法中的任一个或两个组合使用有意抬起手势检测算法。

在一些实施例中,一个或多个抬起手势检测算法中的第一个可产生包含可能抬起手势事件和检测到抬起手势事件的多个不同抬起手势事件。在这种情况下,可响应检测到抬起手势事件进行用户界面部件向活动状态的变换。在一些实施例中,用户界面部件可响应可能抬起手势事件变换到部分活动状态并且响应检测到抬起手势事件变换到完全活动状态。在一些实施例中,应用处理器可在在检测到预热事件之前检测到可能抬起手势事件的情况下从睡眠状态变换到唤醒状态。

在一些实施例中,一个或多个抬起手势检测算法中的第一个可产生包含可能抬起手势事件、检测到抬起手势事件和确认抬起手势事件的多个不同的抬起手势事件。在这种情况下,可响应确认抬起手势事件进行用户界面部件向活动状态的变换。

在一些实施例中,响应抬起手势事件,可以执行失去关注检测算法以检测失去关注事件(例如,如上所述)。响应检测到失去关注事件,用户界面部件可从活动状态变换到不活动状态。

在一些实施例中,在检测抬起手势事件之后,可确定设备在关注姿势中的停顿时间,并且可至少部分地基于停顿时间修改用户界面部件上的信息呈现。例如,呈现的信息项目可从第一信息项目变为第二信息项目;可呈现关于初始呈现信息项目的附加信息;或者,可以停止呈现初始呈现信息项目。

可在包括手腕可穿戴设备和其它可穿戴设备的各种设备中实现这些方法。例如,设备可具有:具有活动状态和不活动状态的用户界面部件;与用户界面部件耦合的应用处理器,应用处理器具有睡眠状态和唤醒状态;与应用处理器耦合的协同处理器;和用于检测设备的移动的移动传感器(例如,加速度计和/或陀螺仪传感器),该移动传感器与协同处理器耦合。协同处理器可被配置为通过使用各种处理算法(其中的一些或全部可同时操作)处理从移动传感器接收的移动传感器数据,以检测包含预热事件的手势有关事件和抬起手势(包含上述的算法中的任意或全部)并且向应用处理器通知预热事件和抬起手势。应用处理器可被配置为响应预热事件的通知从睡眠状态变换到唤醒状态,并且响应抬起手势的通知指示用户界面部件从不活动状态变换到活动状态。在一些实施例中,应用处理器还可被配置为在应用处理器处于睡眠状态中的同时接收到抬起手势的通知的情况下从睡眠状态变换到唤醒状态。

可部分根据可用的移动传感器使用处理算法的各种组合。例如,在移动传感器包含加速度计和陀螺仪传感器的一些实施例中,处理算法可包含用于基于来自加速度计的数据检测自然抬起手势的低动态检测算法和用于至少部分地基于来自陀螺仪传感器的数据检测自然抬起手势的高动态检测算法。在一些实施例中,协同处理器可被配置为将用户的当前活动确定为低动态活动或高动态活动,并且基于用户的当前活动禁用低动态检测算法或高动态检测算法中的一个。确定用户的当前活动可至少部分地基于活动分类器和/或对加速度计数据采样执行的数据质量分析。

在一些实施例中,处理算法可包含用于检测与用户将设备移出关注姿势对应的失去关注事件的失去关注算法,并且协同处理器可进一步被配置为在检测到失去关注事件时通知应用处理器。在一些实施例中,应用处理器可进一步被配置为响应失去关注事件的通知将用户界面变换到不活动状态。在一些实施例中,协同处理器可被配置为响应检测到抬起手势启用失去关注算法并禁用所有的手势检测算法,并且响应检测到失去关注事件启用手势检测算法中的至少两个并禁用失去关注算法。

用户界面部件可包含例如可在用户界面部件处于不活动状态时关掉电源并且在用户界面部件处于活动状态时打开电源的显示器。作为另一例子,用户界面部件可包含可在用户界面部件处于不活动状态时关掉电源并且在用户界面部件处于活动状态时打开电源的触摸屏显示器。

在一些实施例中,处理算法中的至少一个可能能够检测可能抬起手势,并且协同处理器可进一步被配置为向应用处理器通知可能抬起手势。应用处理器可被配置为指示用户界面部件响应抬起手势的通知从不活动状态变换到部分活动状态。例如,用户界面部件可包含可在用户界面部件处于不活动状态时关掉电源、在用户界面部件处于部分活动状态时在变暗的状态下打开电源并且在用户界面部件处于活动状态时在通常的亮度状态下打开电源的显示器。

在一些实施例中,设备可包括可操作为手动激活用户界面部件的用户输入控制。协同处理器可被配置为在用户输入控制被操作为手动激活用户界面部件的情况下接收通知。(如上所述,这可被用于对手势检测算法进行调整、训练或其它基于经验的修改。)

可以使用包括以下中的任意或全部的处理算法的任意组合:用于检测自然抬起手势的算法、用于在低动态环境中检测自然抬起手势的算法、用于在高动态环境中检测自然抬起手势的算法、用于检测预热事件的算法、用于检测有意抬起手势(例如,上述的晃动手势)的算法和/或用于检测失去关注手势的算法。

本发明的某些实施例涉及可包括具有活动状态和不活动状态的用户界面部件、可操作为产生指示设备的移动的移动传感器数据的移动传感器(例如,加速度计和/或陀螺仪传感器)、其中每一个手势检测模块都可操作为至少部分地基于移动传感器数据确定设备的手势状态的一个或多个手势检测模块和与一个或多个手势检测模块耦合的唤醒控制逻辑的设备。唤醒控制逻辑可被配置为从一个或多个手势检测模块接收手势状态信息并且基于接收的手势状态信息向用户界面部件发送通知。在一些实施例中,唤醒控制逻辑也可被配置为至少部分地基于接收的手势状态信息选择性地启用或禁用手势检测模块中的不同的手势检测模块。

在一些实施例中,设备还可包括与用户界面部件耦合的应用处理器,应用处理器具有睡眠状态和唤醒状态。唤醒控制逻辑可被配置为基于接收的手势状态信息向应用处理器发送通知。在一些实施例中,唤醒控制逻辑可被配置为通过应用处理器向用户界面部件发送通知。在一些实施例中,应用处理器可被配置为响应来自唤醒控制逻辑的第一通知从睡眠状态变换到唤醒状态,第一通知指示通过手势检测模块中的一个检测到预热事件。应用处理器可进一步被配置为响应来自唤醒控制逻辑的第二通知从睡眠状态变换到唤醒状态,第二通知指示通过手势检测模块中的一个检测到抬起手势。

在一些实施例中,用户界面部件可被配置为响应来自唤醒控制逻辑的第二通知从睡眠状态变换到唤醒状态,第二通知指示通过手势检测模块中的一个检测到抬起手势。

手势检测模块可包含上述的手势检测模块中的任意或全部。例如,手势检测模块可包含可操作为检测与抬起手势的开始对应的预热事件的预热检测模块。预热检测模块可包含:用于接收移动传感器数据采样并且基于移动传感器数据确定是否出现可能手势开始的可能手势开始确定单元;用于接收移动传感器数据采样并且评估每个移动传感器数据采样以确定它是否与可能抬起手势的继续一致的采样评估单元;用于维护用于计数由采样评估单元确定为与可能抬起手势的继续一致的采样的第一计数器和用于计数由采样评估单元确定为与可能抬起手势的继续不一致的采样的第二计数器的计数器单元;和用于从计数器单元接收第一和第二计数器值以确定是否出现预热事件的预热确定单元。

作为另一例子,手势检测模块可包含可操作为检测自然抬起手势的自然检测模块。自然检测模块可包含:用于接收移动传感器数据并且基于移动传感器数据估计开始姿势的开始姿势估计单元;用于接收移动传感器数据、确定接收的数据是否满足用于可能抬起手势的准则并且在满足准则的情况下产生可能抬起手势的通知的可能抬起手势确定单元;和用于从可能抬起手势确定单元接收可能抬起手势的通知、监视附加加速度计数据以确定是否满足用于检测到抬起手势的条件并且在满足条件的情况下产生检测到抬起手势的通知的检测到抬起手势确定单元。在一些实施例中,自然检测模块还可包括用于至少部分地基于通过开始姿势估计单元估计的开始姿势确定用于检测可能抬起手势的准则并且向可能抬起手势确定单元提供准则的准则确定单元。此外,或者替代地,在一些实施例中,自然检测模块还可包含用于基于与检测到抬起手势相关的移动传感器数据执行手势确认并且产生确认或未确认抬起手势的通知的确认单元。在一些实施例中,自然检测模块可被配置为从包含空状态、可能抬起手势状态和检测到抬起手势状态的一组手势状态识别手势状态。例如,可至少部分地基于从移动传感器数据确定的开始姿势和用于从开始姿势到结束姿势的变化的一组准则识别可能抬起手势状态,该组准则是至少部分地基于开始姿势被选择的。例如,可至少部分地基于关注姿势中的停顿时间识别检测到抬起手势状态。

作为另一例子,手势检测模块可包含可操作为在低动态环境中检测自然抬起手势的低动态自然检测模块和可操作为在高动态环境中检测自然抬起手势的高动态自然检测模块。

作为另一例子,手势检测模块可包含可操作为检测有意抬起手势的有意检测模块。有意检测模块可包含:用于接收移动传感器数据并且从移动传感器数据确定用户的手臂是否准备好执行有意抬起手势的准备好检测单元;用于接收附加移动传感器数据并且基于附加移动传感器数据检测脉冲峰的目标数量的有无的脉冲峰检测单元;和用于接收其它移动传感器数据并且确定其它移动传感器数据是否指示设备位置在脉冲峰检测单元检测到目标数量的脉冲峰之后已经稳定的稳定检测单元。

作为另一例子,手势检测模块可包含可操作为检测设备向关注状态之外的变换的失去关注检测模块。失去关注检测模块可包含:用于接收移动传感器数据并且基于移动传感器数据确定设备的取向的取向确定单元;至少部分地基于通过取向确定单元确定的取向确定是否出现取向的变化的取向变化检测单元;用于接收移动传感器数据并且从该数据确定被假定为穿戴设备的手臂的估计手臂位置的手臂位置估计单元;和用于从取向变化检测单元接收取向变化信息、从手臂位置估计单元接收估计手臂位置并且至少部分地基于接收的取向变化信息和估计手臂位置确定是否出现失去关注的关注确定单元。

在一些实施例中,设备还可包括可操作为至少部分地基于来自移动传感器的移动传感器数据确定用户的当前活动的活动分类器模块。

在一些实施例中,设备还可包括可操作为确认通过手势检测模块中的至少一个检测的抬起手势的手势分类器模块。

对于本领域技术人员显而易见的是单元可以以软件、硬件和/或其组合的方式在电子设备(例如,图2A中的设备200)中实现。被描述为单独的部件的单元可以是或可以不是物理上分离的。具体而言,根据本发明的每个实施例的单元可以集成到一个物理部件中或者可以存在于各种单独的物理部件中。电子设备中的单元的各种实现都包括在本发明的保护范围之内。

因此,虽然参照特定实施例描述了本发明,但应理解,本发明要覆盖处于以下的权利要求的范围内的所有修改和等同。

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