专利名称:具有运动姿态识别的移动设备的利记博彩app
技术领域:
本发明大体上涉及运动感测设备,具体地说,本发明涉及根据运动感测设备的运动传感器来识别运动姿态。
背景技术:
诸如惯性传感器型的加速度计或陀螺仪等运动传感器可以在电子设备中使用。加速度计可以用于测量线性加速度,而陀螺仪可以用于测量移动设备的角速度。运动传感器的市场包括移动电话、视频游戏控制器、PDA、移动互联网设备(MID)、个人导航设备(PND)、 数字照相机、数字摄影机等等。例如,蜂窝电话可以使用加速度计来检测设备在空间中的倾斜,这允许在与该倾斜对应的方向上显示视频图像。视频游戏操纵台控制器可以使用加速度计来对被用于给游戏提供输入的人工控制器的运动进行检测。图像和视频稳定性是甚低端或中端的数码相机的一个重要特征,其中,透镜或图像传感器被移动以补偿由陀螺仪测量的手抖动。全球定位系统(GPS)和定位服务(LBS)应用依赖于确定设备的精确位置,并且当GPS信号衰减或是不能得到或者为了提高GPS位置查找的精度时,通常需要运动传感
ο大多数现有的便携式(移动)电子设备趋于仅使用非常基本的运动传感器,例如, 具有“峰值”检测或稳态测量的加速度计。例如,当前的移动电话使用加速度计来确定设备的倾斜,这可以使用稳态重力测量来确定。在诸如使用具有精确的定时要求的陀螺仪或其它应用等较复杂的应用中不能使用这种简单的确定。在设备不包含陀螺仪的情况下,设备的倾斜和加速未被可靠地感测。此外,因为设备的运动不是一直线性的或者平行于地面,因此需要使用加速度计或陀螺仪来测量几种不同的运动轴以得到更高的精度。通常未在电子设备中使用更复杂的运动传感器。在诸如检测具有某些移动的运动的特定的应用中对更复杂的运动传感器进行了一些尝试。但是这些努力中的大多数都失败了或者作为产品不够鲁棒。这是因为使用运动传感器来获取运动比较复杂。例如,当使用陀螺仪时,识别设备的倾斜或移动是重要的。将运动传感器用于图像稳定、感测位置或者其它复杂的应用需要深入理解运动传感器,这使得运动感测的设计非常困难。此外,每天期望消费者市场的便携式消费者电子设备低成本。但是,对于很多消费者产品而言,诸如陀螺仪和加速度计等非常可靠且精确的惯性传感器通常非常昂贵。可以使用低成本的惯性传感器,以给便携式电子设备带来很多运动感测特征。然而,对于更复杂的功能而言,这些低成本传感器的精度是限制因素。例如,该功能可以包括实现在运动感测设备上的运动姿态识别,以允许用户通过移动设备或者使设备感测用户的运动来输入命令或数据。例如,姿态识别使用户通过简单地移动、摆动或轻拍设备来容易地选择特定的设备功能。对运动感测设备的预先姿态识别通常由以下操作组成检测诸如来自陀螺仪或加速度计的数据等原始传感器数据,以及对模式进行硬编码以在该原始数据中进行查找或者使用机器学习技术(例如,神经网络或支持向量机)来从该数据学习模式。在一些情况下,使用机器学习来检测姿态所需的处理资源可以通过以下操作来减少首先,使用机器学习来学习姿态,然后,对机器学习算法的结果进行硬编码和优化。这些先前的技术存在几个问题。一个问题是当在便携式设备中实现时,姿态的应用和功能非常有限。另一个问题是姿态通常不能可靠地识别。例如,原始传感器数据通常不是用于检查姿态的最佳数据,这是因为针对特定的姿态,原始传感器数据可随着用户明显地改变。在这种情况下,如果一个用户训练学习系统或者对模式检测器进行硬编码用于该用户的姿态,则当不同的用户使用该设备时,这些姿态将不能被正确地识别。该情况的一个实例是手腕运动的旋转。一个用户使用该设备在空中绘制模式时可能根本不旋转其手腕,但是另一个用户在绘制模式时可能旋转其手腕。由此产生的原始数据将随着用户差别很大。一种典型的解决方案是对姿态的所有可能的变化进行硬编码或训练,但是该解决方案在处理时间方面非常耗时并且难以实现。因此,在很多应用中,期望使用低成本的惯性传感器提供变化的、鲁棒的且精确的姿态识别的系统和方法。
发明内容
本申请的发明内容涉及提供运动姿态识别的移动设备。在一个方面,一种用于处理运动以控制便携式电子设备的方法包括接收在该设备上的通过设备的运动传感器获取的感测运动数据,其中,所感测的运动数据基于便携式电子设备在空间中的移动。运动传感器提供了六个轴的运动感测,并且包括至少三个旋转运动传感器和至少三个加速度计。当设备的移动发生时,确定特定的操作模式有效,其中,该特定的操作模式是在设备的操作中可用的多个不同操作模式中的一个。根据运动数据来识别一个或多个运动姿态,其中,从可用于在设备的有效操作模式中进行识别的一组运动姿态识别一个或多个运动姿态。当设备的不同操作模式中的每一个为有效时,该操作模式具有可用于识别的不同的一组运动姿态。根据一个或多个识别的运动姿态来改变设备的一个或多个状态,其包括改变设备上的显示屏的输出。在本发明的另一个方面,一种用于使用运动感测设备来识别用户执行的姿态的方法包括接收指示设备的运动的设备坐标中的运动传感器数据,运动传感器数据是从运动感测设备的多个运动传感器接收的,所述多个运动传感器包括多个旋转运动传感器和线性运动传感器。将运动传感器数据从设备坐标变换为世界坐标,设备坐标中的运动传感器数据描述了设备相对于设备的参考系的运动,世界坐标中的运动传感器数据描述了设备相对于设备外部的参考系的运动。根据世界坐标中的运动传感器数据来检测姿态。在本发明的另一个方面,一种用于检测姿态的系统包括多个运动传感器,其用于提供运动传感器数据,所述多个运动传感器包括多个旋转运动传感器和线性运动传感器。 至少一个特征检测器中的每一个可操作以检测从运动传感器数据获取的相关联的数据特征,每个数据特征是运动传感器数据的特征,并且每个特征检测器输出描述所检测的数据特征的特征值。至少一个姿态检测器中的每一个可操作以根据特征值来检测与姿态检测器相关联的姿态。本发明的多个方面从移动或手持式运动感测设备的惰性传感器数据给运动姿态提供了更灵活、可变、鲁棒和精确的识别。使用了多个旋转运动传感器和线性运动传感器, 并且可以在设备的不同操作模式中识别适当的组的姿态。针对所感侧的运动数据使用世界坐标允许在姿态输入期间将随着用户而产生的运动的较小差异识别为相同的姿态,而无需大量的额外处理。与处理所有运动传感器数据相比,运动传感器数据中的数据特征的使用允许在减少处理的情况下识别姿态。
图1是适用于本发明的运动感测设备的框图;图2是适用于本发明的运动处理单元的一个实施方式的框图;图3A和图IBB是示出了当执行姿态的用户移动设备时,设备在空间中的不同运动的示意图;图4A和图4B是示出了使用增强的传感器数据呈现图3A和图的运动的示意图;图5A至图5C是示出了当使用运动感测设备时,不同的用户位置的示意图;图6A至图6C是示出了用于感测运动数据的不同坐标系统的示意图;图7是示出了用于生成用于识别运动姿态的增强的数据的本发明的系统的框图;图8A和图8B是示出了指示用户是否期望输入姿态的设备的旋转运动的示意图;图9是示出了用于根据便携式电子设备的操作模式来识别姿态的本发明的方法的流程图;图IOA和图IOB是示例性的摆动姿态的运动数据的示意图;图IlA至图IlF是示出了姿态识别的幅值峰值的示意图;图12A和图12B是轻拍姿态的两个实例的示意图;图13A和图1 是通过舍弃运动数据中的特定尖峰来检测轻拍姿态的示意图;图14是示例性的圆周姿态的运动数据的示意图;图15是字符姿态的实例的示意图;图16是示出了可以针对姿态来处理的设备移动的一组数据特征的一个实例的示意图;图17是示出了用于识别并处理包括数据特征的姿态的系统的一个实例的框图;图18是示出了分配图16的姿态识别系统的功能的一个实例的框图。
具体实施例方式本发明大体上涉及运动感测设备,具体地说,本发明涉及使用运动感测设备的运动传感器来识别运动姿态。提供下面的描述,以使本领域普通技术人员能够实施并使用本
9发明,并且下面的描述提供在专利申请及其要求的上下文中。对于本领域技术人员而言,对本文所描述的优选的实施方式及一般原理和特征的各种修改将是显而易见的。因此,不期望将本发明限制于所示的实施方式,而是与本文所描述的原理和特征的最广范围相一致。为了更详细地描述本发明的特征,请结合下面的讨论来参照图1至图18。图1是适用于本发明的运动感测系统或设备10的一个实例的框图。设备10可以实现为设备或装置,例如,可以由用户在空间中移动的便携式设备,并且其在空间中的移动和/或方向可以因此被感测。例如,这种便携式设备可以是移动电话、个人数字助理 (PDA)、视频游戏播放器、视频游戏控制器、导航设备、移动互联网设备(MID)、个人导航设备 (PND)、数字照相机、数字摄影机、双筒望远镜、长焦镜头或者其它便携式设备,或者这些设备中的一个或多个的组合。在一些实施方式中,设备10是一个设备齐全的设备,除了输入设备以外,设备10包括其自己的显示器和其它输出设备。在其它实施方式中,便携式设备 10仅能与诸如台式计算机、电子桌面设备、服务器计算机等的非便携式设备组合起来工作, 这些非便携式设备可以例如经由网络连接与可移动的或便携式设备10进行通信。设备10包括应用处理器12、存储器14、接口设备16、运动处理单元20、模拟传感器22和数字传感器M。应用处理器12可以是一个或多个微处理器、中央处理单元(CPU) 或者运行设备10的软件程序的其它处理器。例如,可以提供诸如菜单导航软件、游戏、照相机功能控制、导航软件和电话或各种其它软件和功能接口等不同的软件应用程序。在一些实施方式中,可以在单个设备10上提供多个不同的应用,并且在一些实施方式中,可以在设备10上同时运行多个应用。在一些实施方式中,应用处理器在设备10上实现多个不同的操作模式,每个模式允许在设备上使用不同的一组应用并且检测不同的一组姿态。这将在下面参照图9进行更详细地描述。多层软件可以提供在计算机可读介质上,例如,诸如硬盘、光盘等用于应用处理器 12的电子存储器或其它存储介质。例如,可以给设备10提供操作系统层以实时地控制和管理系统资源,启用应用软件和其它层的功能,并且使应用程序与设备10的其它软件和功能相互作用。运动算法层可以提供运动算法,其中,运动算法给通过运动传感器和其它传感器提供的原始传感器数据提供较低级的处理。传感器设备驱动器层可以给设备10的硬件传感器提供软件接口。这些层中的一些或全部可以提供到处理器12的软件13中。例如,在一些实施方式中,处理器12可以根据来自运动处理单元(M PU )20(如下所述)的传感器输入来执行本文所描述的姿态处理和识别。其它实施方式可以允许划分MPU 20与处理器12之间的处理,这适用于所使用的应用和/或硬件,其中,一些层(例如,较低级的软件层)可以提供到 MPU中。例如,在允许通过MPU 20进行处理的实施方式中,API层可以实现在处理器12的层13中,该层允许在处理器12上运行的应用程序的状态及API命令(例如,通过总线21) 到MPU 20的通信,从而允许MPU 20实现本文所描述的姿态处理和识别中的一些或全部。在共同待决的第12/106,921号美国专利申请中描述了运动检测设备中的API实现的一些实施方式,其中,第12/106,921号美国专利申请的全部内容以引用方式并入本文。设备10还包括用于辅助应用处理器12的部件,例如,存储器14 (RAM、ROM、闪存等)和接口设备16。接口设备16可以是给用户提供输入和/输出的各种不同设备中的任意一种设备,例如,显示屏、音频扬声器、按钮、触摸屏、操纵杆、滑块、旋钮、打印机、扫描仪、
10照相机、计算机网络I/O设备、其它连接的外围设备等。例如,在很多实施方式中包含的一个接口设备16是用于输出可由用户观看的图像的显示屏16a。存储器14和接口设备16可以通过总线18耦合到应用处理器12。设备10还可以包括运动处理单元(M PU )20。MPU是包括运动传感器的设备,其中,运动传感器可以测量设备10 (或其一部分)在空间中的运动。例如,MPU可以测量设备的一个或多个旋转轴以及一个或多个加速轴。在优选的实施方式中,运动传感器中的至少一部分是惯性传感器,例如,陀螺仪和/或加速度计。在一些实施方式中,执行这些功能的部件被集成到单个组件中。MPU 20可以与诸如1 或串行外围接口(SPI)总线等接口总线 21通信运动传感器数据,其中,应用处理器12也连接到所述接口总线21。在一个实施方式中,处理器12是总线21的控制器或调节器。一些实施方式可以提供与接口总线21 —样的总线18。MPU 20包括运动传感器,所述运动传感器包括一个或多个旋转运动传感器沈以及一个或多个线性运动传感器观。例如,在一些实施方式中,使用惯性传感器,其中,旋转运动传感器是陀螺仪,而线性运动传感器是加速度计。陀螺仪26可以测量装有陀螺仪沈的设备10(或其一部分)的角速度。通常可以提供一个到三个陀螺仪,这取决于在特定的实施方式中需要感测的运动。加速度计观可以测量装有加速度计观的设备10 (或其一部分)的线性加速度。通常可以提供一个到三个加速度计,这取决于在特定的实施方式中需要感测的运动。例如,如果使用三个陀螺仪沈和三个加速度计观,则提供六个轴的感测设备,从而在所有六个自由度中提供感测。在一些实施方式中,可以将陀螺仪沈和/或加速度计观实现为微机电系统 (MEMS)。还可以提供支持硬件,例如,用于来自运动传感器沈和观的数据的存储寄存器。在一些实施方式中,MPU 20也可以包括硬件处理块30。硬件处理块30可以包括逻辑或控制器,以在硬件中提供运动传感器数据的处理。例如,在一些实施方式中,可以通过块30来实现运动算法或算法的一部分和/或本文所描述的姿态识别的一部分或全部。在这些实施方式中,可以给应用处理器12提供API,以向MPU 20传达期望的传感器处理任务, 如上所述。一些实施方式可以在块30中包括硬件缓冲器,以存储从运动传感器沈和观接收的传感器数据。可以在一些实施方式中包括诸如按钮等运动控制部件36,以控制到电子设备10的姿态输入,如下面更详细地描述。下面参照图2来描述MPU 20的一个实例。在2007年7月6日提交的、题目为 “Integrated Motion Processing Unit (MPU)With MEMS inertial Sensing and Embedded Digital Electronics”的第11/774,488号共同未决的美国专利申请中描述了适用于本发明的MPU的其它实例,并且所述共同未决的美国专利申请以引用方式并入本文。设备10中的MPU 20的适当的实现可以从加利福尼亚的森尼韦尔的hvensense公司获得。设备10还可以包括其它类型的传感器。模拟传感器22和数字传感器M可以用于提供与设备10所处的环境有关的另外的传感器数据。例如,可以提供诸如一个或多个气压计、罗盘、温度传感器、光学传感器(例如,照相机传感器、红外线传感器等)、超声波传感器、射频传感器或者其它类型的传感器等传感器。在所示的示例性实现中,数字传感器M 可以直接向接口总线21提供传感器数据,而模拟传感器可以向模拟数字转换器(ADC) 34提供传感器数据,其中,ADC 34提供数字形式的传感器数据到接口总线21。在图1的实例中,在MPU 20中提供ADC 34,使得ADC 34可以向MPU的硬件处理块30或总线21提供转换的数字数据。在其它实施方式中,可以在设备10中的其它位置实现ADC 34。图2示出了适用于本文所描述的发明的运动处理单元(MPU) 20的实施方式的一个实例。图2的MPU 20包括算法逻辑单元(ALU) 36,其对传感器数据进行处理。可以由存储在并可取自程序RAM (随机存取存储器)37中的一个或多个程序来智能地控制ALU 36。ALU 36可以控制直接存储存取(DMA)块38,DMA块38可以独立于ALU 36或其它处理单元从诸如陀螺仪沈和加速度计观等运动传感器以及其它诸如温度传感器39等传感器中读取传感器数据。可以在MPU 20上或者在MPU 20外部提供一些或所有的传感器;例如,图2示出了位于MPU 20外部的加速度计观。DMA 38也可以给ALU提供与读取或写入操作的状态有关的中断。DMA 38可以将从传感器读取的传感器数据提供到数据RAM 40以进行存储。数据RAM 40将数据提供到ALU 36以进行处理,并且ALU 36将包括处理数据的输出提供到数据RAM 40以进行存储。总线21 (也如图1所示)可以耦合到数据RAM 40和/或FIFO缓冲器42的输出,使得应用处理器12可以读取通过MPU 20读取和/或处理的数据。FIFO(先入先出)缓冲器42可以用作存储传感器数据的硬件缓冲器,其中,所述传感器数据可以由应用处理器12通过总线21来存取。在下面的几个实施方式中描述了诸如缓冲器42等硬件缓冲器的使用。例如,复用器44可以用于选择DMA 38向FIFO缓冲器 42写入原始传感器数据或者数据RAM 40向FIFO缓冲器42写入经处理的数据(例如,通过 ALU 36处理的数据)。因此,图2所示的MPU 20可以支持处理运动传感器数据的一个或多个实现,其包括本文所描述的姿态处理和识别。例如,MPU 20可以充分地处理原始传感器数据,其中,程序RAM 37中的程序可以控制ALU 36以智能地处理传感器数据,并且向应用处理器12和运行于其上的应用程序提供高级数据。或者,MPU 20可以使用ALU 36来预处理或部分地处理原始传感器数据,其中,在向应用程序提供由此产生的高级信息之前,可以通过应用处理器 12恢复经处理的数据,以用于应用处理器12上的另外的低级处理。或者,可以仅通过MPU 20来缓冲原始传感器数据,其中,可以通过应用处理器12来恢复原始传感器数据,以用于低级处理。在一些实施方式中,运行在相同的设备10上的不同应用或应用程序可以使用这些处理方法中的最适合于应用或程序的不同处理方法。识别运动姿态图3A和图;3B是示出了当执行姿态的用户移动设备10时,设备10在空间中的不同运动的示意图。本文提到的“姿态”或“运动姿态”是设备的一种预定义的运动或一组运动,当设备识别该姿态时,所述姿态触发设备一个或多个相关联的功能。该运动可以是所包含的一组运动,例如,摆动或圆周运动,或者可以是设备的简单移动,例如,设备在特定的轴或角度上的倾斜。相关联的功能可以包括,例如在特定的方向移动显示在设备的显示屏上的列表或菜单,对显示的项目(按钮、菜单、控件)进行选择和/或操纵,给设备的程序或接口提供诸如期望的命令或数据(例如,字符等)等输入,开启或关闭设备的电源等等。本发明的一个方面通过改变坐标系统或者转化为其它物理参数,来对设备10的原始传感器数据进行预处理,使得对于所有用户而言,由此产生的“增强的数据”看起来是相似的,而不考虑用户运动的较小的无意识的差别。然后,增强的数据可以用于训练学习系统或对模式识别器进行硬编码,从而导致更鲁棒的姿态识别,并且使用来自低成本的惯性传感器的运动传感器数据来提供可重复且鲁棒的姿态识别是一种划算的方式。本发明的一些实施方式使用诸如陀螺仪和/或加速度计等惯性传感器。陀螺仪输出在设备坐标中的角速度,而加速度计输出在设备坐标中的线性加速度之和,并且由于重力而倾斜。虽然用户期望执行或重复相同的姿态,但是陀螺仪和加速度计的输出通常随着用户而不一致,或者甚至在同一用户使用期间也不一致。例如,当用户在垂直方向上旋转设备时,Y轴陀螺仪可能感测该运动;然而,在用户的手腕方向不同的的情况下,Z轴陀螺仪可能感测该运动。根据设备的倾斜,训练系统不同地响应陀螺仪信号将是非常困难的(其中,可以从加速度计和X轴陀螺仪中提取倾斜)。然而,从设备坐标到世界坐标的坐标变换简化了该问题。提供不同的设备倾斜的两个用户都相对于设备外部的世界向下旋转该设备。如果使用世界坐标中的增强的数据角速度,则将更容易地对系统进行训练或硬编码,这是因为已将传感器数据处理为使其对于两个用户都一样。在图3A和图;3B的实例中,当执行设备10的“直直向下”移动作为姿态或姿态的一部分时,一个用户可能使用图3B中所示的线性移动,而另一不同的用户可能使用图3A中所示的倾斜移动。当感测到图3A的运动时,陀螺仪将具有较大的感测信号,而加速度计将对重力作出响应。当感测到图:3B的运动时,陀螺仪将不具有感测信号,而加速度计将对与重力明显不同的线加速度作出响应。两个用户都认为他们在进行相同的移动;这是因为他们均看到向下移动的设备的端部。通过首先将传感器数据从设备坐标转换为世界坐标以提供增强的数据,可以使两种类型的移动看起来相同。图4A示出了绕着支点的旋转移动的情况,其中,设备10向外伸出,以寻找设备的端部100的线性移动。在该情况下,用作姿态识别器的输入的增强的数据可以是设备的端部的线性轨迹101,其是通过相对于力臂缩放旋转信息来获得的。力臂可以通过在去除重力的作用后,比较根据陀螺仪的导数获取的角加速度与从加速度计获取的线加速度来近似,以后根据加速度计来推导。图4B示出了线性移动的情况,其中,可以通过读取设备上的加速度计来直接获得设备10的端部102的线性轨迹101。因此,无论设备是旋转还是线性移动,描述线性轨迹101的增强的数据将是相同的,并且可以根据任意一种运动来识别映射到该运动的姿态,并且该姿态可以用于选择设备的一个或多个相关联的功能。在一些情况下,仅相对于世界来识别姿态可能不会产生期望的增强的数据。当使用便携的设备10时,用户可能不特意地相对于世界执行运动姿态。如图5A、图5B和图5C 所示,例如,用户可能执行端坐的姿态(图5A),然后执行躺在床上的姿态(图5C)。因此, 在该实例中,执行端坐的垂直姿态当稍后在床上时相对于世界水平地执行。在另一个实例中,一个用户在笔直地端坐(图5A)时可以执行垂直(相对于世界)姿态,并且另一不同的用户可以执行低头垂肩的姿态(图5B),从而与端坐相比,使设备10相对于世界更接近水平。一种避免这些问题的方式是检查用户试图进行的操作。用户相对于其自身身体来执行姿态,其身体可以是垂直的或水平的;这称作“人体坐标”。另一种描述“人体坐标”的方式是“局部坐标” (local world coordinate)。图6A、图6B和图6C示出了世界坐标(图
136A)、设备坐标(图6B)和局部坐标(图6C)。然而,不可能在用户身体上没有传感器的情况下直接测量局部坐标。一种完成该相同任务的间接方式是假设当尝试执行姿态时,用户相对于其身体以特定的方式握住设备,因此,可以根据设备的位置来假设用户的身体位置,以对局部坐标进行近似。当缓慢地移动设备时,局部坐标系统被更新和移动,且随着设备的移动而移动,使得局部坐标系统跟踪用户身体的方向。假设在缓慢移动的情况下,用户只是看着或调整设备而在不期望输入任何姿态,因此局部坐标系统将跟踪用户的方向。缓慢移动可以确定为小于预定的阀值速度或其它运动有关的阀值速度的移动。例如,当设备10的(根据陀螺仪的数据所确定的) 角速度小于阀值角速度,并且设备10的(根据加速度计的数据所确定的)线速度小于阀值线速度时,可以认为移动足够慢,以能够随着设备的移动对局部坐标系统进行更新。或者, 为了该目的,可以检查角速度或线速度中的一个。然而,当设备快速地移动时(大于阀值),则假设移动是用于输入姿态,并且局部坐标系统保持固定,而设备在移动。然后,姿态的局部坐标系统将是姿态开始之前的局部坐标系统;假设用户在开始姿态以前在直接观看设备的屏幕,并且用户在姿态期间近似保持在相同的位置。因此,当设备固定或者缓慢移动时,“世界”被更新,当设备快速移动时,相对于最后更新的“世界”或“局部”来分析姿态。因此,从设备的传感器接收设备坐标中的运动传感器数据,其中,设备坐标中的数据描述了设备相对于设备的参考系的运动。在设备坐标中的数据被变换为世界坐标例如, 局部坐标中的增强的运动传感器数据,其中,世界坐标中的数据描述了设备相对于设备外部的参考系的运动。在局部坐标的情况下,参考系是用户的身体。可以根据世界坐标中的运动传感器数据来更精确且更鲁棒地检测姿态。图7是示出了本发明的用于产生上面描述的识别运动姿态的增强数据的系统150 的框图。系统150实现在设备10上,例如在处理器12和/或MPU 20中,并且使用来自陀螺仪26和加速度计观的原始传感器数据来确定设备的运动,并根据该运动来获取增强的数据,从而允许根据运动数据来对姿态进行精确的识别。系统150包括陀螺仪校准块152,其从陀螺仪沈接收原始传感器数据,并且为了精度来校准数据。校准块152的输出是设备坐标170中的角速度,并且可以视为为由系统 150提供的增强的传感器数据的一部分。系统150还包括加速度计校准块154,其从加速度计观接收原始传感器数据并且为了精度来校准数据。例如,该校准可以是减少或增加被确定用于特定的加速度计或设备 10的已知常量。重力消除块156接收校准的加速度计数据,并且从传感器数据中去除重力的作用,从而留下描述设备10的线加速度的数据。线加速度数据180是由系统150提供的增强的传感器数据的一部分。重力的去除使用通过其它部件获得的重力加速度,如下所述。重力参考块158还从校准块IM接收校准的加速度计数据,并且向陀螺仪校准块 152和3D积分块160提供重力矢量。3-D积分块160从重力参考块158接收重力矢量,并且从校准块152接收校准的陀螺仪数据。3-D积分块将陀螺仪和加速度计数据进行结合,以使用世界坐标来产生设备的方向的模型。由此产生的设备方向的模型是四元数/旋转矩阵 174,并且是由系统150提供的增强的传感器数据的一部分。矩阵174可以用于根据现有的设备坐标来为传感器数据提供世界坐标。
坐标转换块162接收来自校准块152的校准的陀螺仪数据以及来自3-D积分块 160的模型数据,从而产生在世界坐标中的设备的角速度172,其是由系统150提供的增强的传感器数据的一部分。坐标转换块164接收来自消除重力块156的校准的线加速度数据以及来自3-D积分块160的模型数据,从而产生在世界坐标中的设备的线加速度176,其是由系统150提供的增强的传感器数据的一部分。设备坐标中的重力加速度数据178作为系统150的增强的传感器数据的一部分产生。加速度数据178是由四元数/旋转矩阵174提供的,并且是陀螺仪数据和加速度计数据的组合,以获得重力的数据。也提供加速度数据178给消除重力块156,从而允许从加速度计数据中去除重力加速度(以获得线加速度数据180)。一个实例遵循结合陀螺仪和加速度计数据以使用世界坐标来产生设备的方向的模型的3-D积分块。可以在其它实施方式中使用其它方法。设备的方向以四元数的形式和旋转矩阵的形式存储。为了更新四元数,首先使用前面的旋转矩阵将原始的加速度计数据旋转为在世界坐标中的数据a' = Ra向量a包括原始加速度计数据,R是表示设备的方向的旋转矩阵,并且a'是由此产生的在世界坐标中的加速度项。反馈项是通过a'与表示重力的向量的叉积产生的f = k(aXg)常量k是时间常量,其确定使用加速度数据的时间量程。四元数更新项是通过将反馈项与当前的四元数相乘来产生的q加速度计=fq类似的更新项是通过陀螺仪数据使用四元数积分产生的q 陀螺仪=0. 5qw(dt)向量w包括原始陀螺仪数据,q是当前的四元数,以及dt是传感器数据的采样时间。该四元数被更新如下q ‘=归一化(q+q減度计+q陀螺仪)该新的四元数变成“当前的四元数”,并且可以转换为旋转矩阵。来自加速度计和陀螺仪这两者的角速度可以通过下式获得W设备=q_1(q加速度计+q陀螺仪/(0· 5dt))在世界坐标中的角速度可以通过下式获得W世界=Rw设备在世界坐标中的线加速度可以通过下式获得a世界=a, _g在设备坐标中的线加速度可以通过下式获得A 设备=IT1Ei 世界用于改讲的姿杰识别的其它技术运动数据中的特征的相对定时可以用于改进姿态识别。不同的用户相对于彼此可以较快或较慢地执行姿态,这可能使姿态识别变得困难。一些姿态可能需要发生在特定的序列中并且具有特定的定时的传感器数据的特定的特征(即,特性)。例如,一个姿态可以被定义为在一个序列中发生的三个特征。对于一个用户而言,特征2可能在特征1之后的IOOms时发生,特征3可能在特征2之后的200ms时发生。对于更缓慢地执行姿态的另一不同用户而言,特征2可能在特征1之后的200ms时发生,特征3可能在特征2之后的400ms 时发生。如果对所需的定时值进行硬编码,则将需要存储很多不同范围的值,并且将难以覆盖所有可能的用户差异和情况。为了提供考虑了姿态特征定时的差异的更灵活的姿态识别,本发明的一个方面使用相对定时要求来识别姿态。因此,可以根据在该姿态中使用的基本时间周期的倍数和/ 或分数来表示和检测运动数据中的不同特征之间的定时。基本时间周期可以是例如两个数据特征之间的时间。例如,相对定时可用于,不管姿态的特征1和特征2之间的时间tl时, 特征2和特征3之间的时间可以定义为近似tl的两倍。这允许不同的用户以不同的速率来执行姿态,而不需要诸如动态时间规整等在CPU时间上花费较多的算法。运动传感器数据中的相对峰值或幅值也可以用于改进姿态识别。与如上所述的当姿态由不同的用户或者在不同的时间执行时的特征的定时差异类似,一个用户与另一不同的用户相比,可以更多的能量或者更快的速度,或者不同时间的差异来执行姿态或提供特征。例如,第一用户可以执行移动,从而导致由陀螺仪检测为100度每秒的第一特征,并且导致由陀螺仪检测为200度每秒的第二特征,而第二用户可以执行移动,从而导致被检测为200度每秒的第一特征,并且导致被检测为400度每秒的第二特征。对这些值进行硬编码以进行识别将需要使用所有可能的组合来训练系统。本发明的一个方面将特征表示为在姿态中彼此相关的峰值(最大值或最小值),例如,基本峰值幅值的倍数或分数。因此,如果姿态的第一峰值被检测为幅值pl,则第二峰值必须具有Pl的约两倍的幅值,以满足姿态的要求并且被如此识别。滤去姿态识别中的噪声图8A和图8B示出了设备10的旋转移动,其可以指示用户是否希望输入姿态。虽然在良好的运动传感器中,姿态识别中的原始传感器噪声通常是可忽略的,但是来自人体移动的噪声可能是显著的。该噪声可能是由于用户无意地摆动手、由于用户调节他或她对设备的握持或者其它偶然的运动所引起的,这可能使较大的角移动和尖峰出现在传感器数据中。对于非常敏感的姿态,可能难以区分不打算用于姿态的偶然的移动与打算作为用于触发关联的设备功能的姿态的移动之间的差别。本发明的一种用于更精确地确定所检测的运动是否打算用于姿态的方法是将角姿态与线加速度相关联。线加速度的存在指示用户正在使用手腕或肘来移动设备,而不是仅用手来调节设备。图8A示出了不存在线加速度的设备10的纯旋转190,可能是例如由于用户调节他或她对设备的握持而引起的。图8B示出了设备10表现出与伴随的线性移动192相关联的旋转190,其更可能与期望的姿态相对应。可以通过以下操作来检测产生线加速度的设备移动的存在,即,取得陀螺仪传感器数据的导数,获得角速度,以及将角速度与线加速度进行比较。一个与另一个的比率可以指示设备绕其旋转的力臂194。将该参数作为核查将允许姿态引擎滤去所有(或者基本上所有)旋转的移动,其中,所述旋转是通过用户调节设备引起的。在另一个方法中,将可能包括姿态的运动传感器数据与没有检测到姿态时捕获的背景本底噪声进行比较。本底噪声可以滤出由用户的手抖动引起的运动,或者由存在例如在火车上的大量背景运动的环境引起的运动。为了防止由于噪声引起的姿态触发,运动传感器数据的信噪比必须大于预定的或者根据当前检测的情况动态地确定的本底噪声值 (例如,可以通过在一段时间监控运动传感器数据来检测当前的噪声电平)。在具有大量背景噪声的情况下,用户可以仍然提供姿态,但是用户将需要在执行姿态时使用更多的功率。姿杰和操作樽式图9是示出了本发明的用于根据便携式电子设备10的操作模式来识别姿态的方法200的流程图。方法200可以实现在设备10上的硬件和/或软件中,例如在处理器12 和/或MPU 20中。方法从202开始,在步骤203中,从包括上文所描述的多个陀螺仪(或者其它旋转传感器)和加速度计的传感器26和观接收所感测的运动数据。运动数据基于设备10在空间中的移动。在步骤204中,确定设备10的有效操作模式,即,当接收运动数据时为有效的操作模式。设备的“操作模式”根据该模式给用户提供一组功能和输出,其中,在设备10上, 多个操作模式是可用的,每个操作模式给用户提供一组不同的功能。在一些实施方式中,每个操作模式允许在设备上使用一组不同的应用。例如,一个操作模式可以是提供用于电话功能的应用程序的电话模式,而另一不同的操作模式可以提供可用于设备10的显示屏16a 的图片或视频浏览器。在一些实施方式中,操作模式可以与广泛的应用相对应,例如,游戏、 图像抓取和处理以及位置检测(例如,如共同未决的申请12/106,921中所描述的)。可替换地,在其它实施方式中,可以根据其它功能或应用程序来更窄地定义操作模式。有效操作模式是当运动数据被接收时选择的用于方法200的一个操作模式,并且可以根据一个或多个设备操作特征来确定该模式。例如,可以根据诸如模式选择按钮或控件的先前选择或者来自用户的检测的运动姿态或者设备10在空间中的其它移动和/或方向等用户输入来确定该模式。可以可替换地或另外地根据已经发生的或者正在发生的现有或当前事件来确定该模式;例如,当设备10接收到电话呼叫或文本消息,同时用户对呼叫作出反应时,可以自动地指定蜂窝电话操作模式为有效操作模式。在步骤205中,选择一组姿态,这组姿态可用于在有效操作模式中进行识别。在优选的实施方式中,设备10的至少两个不同的操作模式中的每一个均具有一组不同的姿态, 这组姿态可以在模式有效时用于识别。例如,一个操作模式可能接受字符姿态或摆动姿态, 而另一不同的操作模式可能仅接受摆动姿态。在步骤206中,分析所接收的运动数据(和任何其它相关的数据),并且如果任何姿态存在并且被正确地识别,则在运动数据中识别一个或多个运动姿态。所识别的姿态包括在可用于有效操作模式的一组姿态中。在步骤207中,根据所识别的运动姿态来改变设备10的一个或多个状态。设备状态的修改可以是状态或显示、功能的选择和/或功能或程序的执行或激活的改变。例如,可以根据哪些姿态被识别来执行设备的一个或多个功能,例如,更新显示屏16a、应答电话呼叫、向另一个设备发送数据、输入新的操作模式等。然后,在 208完成过程200。下面对适用于设备10的各个类型的运动姿态的实例进行描述。摆动姿态摆动姿态通常包括用户有意地在一个角方向上摆动运动感测设备,以触发设备的一个或多个相关联的功能。例如,设备可能在“偏航方向”上摆动,其中峰值仅出现在一个陀螺仪轴上。如果用户的摆动具有某些横轴误差(例如,在一个陀螺仪轴旁边的另一个轴上的运动),则也可能沿着另一个轴存在峰值。两个峰值同时出现,并且零交点(与在摆动期间运动感测设备的方向的改变相对应)也同时出现。因为存在三个旋转轴(滚动、俯仰和偏航),因此每一个旋转轴可以用作独立的摆动命令。例如,图IOA是示出了形成偏航摆动姿态的线性偏航摆动运动数据214的图形 212,其中,大多数摆动发生在偏航轴上。在俯仰轴中的较小幅值的横轴运动提供了俯仰运动数据216,其中,偏航和俯仰输出同相,使得峰值和零交点同时发生。图IOB是示出了形成俯仰摆动姿态的线性俯仰摆动运动数据218的图形217,其中,大多数摆动在俯仰轴中,并且一些与俯仰轴运动同相的横轴运动还发生在偏航轴中,如偏航运动数据219所示。图IlA至图IlF是用于姿态识别的幅值峰值的示意图。摆动姿态可以是通过用户对设备10进行的各种有意的摆动中的任意一种。确定为摆动姿态所需要的摆动要求至少高于背景噪声电平的阀值电平的幅值,使得可以将有意摆动与无意摆动进行区分。摆动姿态可以被定义为具有预定数量的方向改变或零交点(例如,角移动或线性移动)。一旦在预定的时间段内没有检测到另外的大幅值的脉冲,则可以确定摆动姿态完成。在图IlA中,示出了摆动姿态220的基本波形的实例,其包括设备10绕着一个轴顺时针旋转(由陀螺仪测量),然后设备绕着该轴逆时针旋转。(摆动姿态的其它实施方式可以包括沿着不同的轴的线性移动以产生类似的峰值)。姿态由特征检测器来处理,其中, 特征检测器寻找峰值(如垂直线222和2M所示)和零交点(如垂直线2 所示),在零交点处,旋转变换方向。在该实例中,如果均检测到角旋转中的正峰值和负峰值并且均超出阀值幅值,则姿态可以触发。在图1IB中,示出了与图1IA类似的姿态228,但是用户更快速地执行姿态,使得峰值230和232以及零交点234都更快速地且更接近地发生。在该情况所使用的现有标准技术是动态时间规整,其中,通过在时间上对数据进行规整或延伸,并且将结果与预定的姿态数据的数据库进行比较来大量地处理姿态。由于所需的大量处理,这在很多便携式设备中是不可行的解决方案。相反,本发明可以为诸如峰值和零交点等每个特征定时。例如,一系列定时器可以用于数据特征,每个定时器与一个特征相关联。如果这些特征在彼此的某个预定的时间内发生,则姿态将视为被识别并且将触发。这具有与动态时间规整类似的结果, 但是使用少得多的处理和最小的内存。图IlC示出了形成姿态240并且使用比图IOA和图IOB更多的功率执行的运动数据,S卩,峰值242和244更高(具有更大的幅值)。此外,出现了错误姿态,其由叠加在同一图形上的虚线246表示。由于用户的运动不是非常精确,因此错误姿态是在期望的姿态的不正确的轴上感测的运动数据。因为错误的姿态首先与较高的阀值248相交,因此如果没有很好地执行姿态引擎,则错误的姿态可能首先触发。因此,本发明延迟触发姿态,直到设备移动设置为接近零(或者小于接近零的阀值)为止,然后选择最高的峰值来进行姿态识别,这是因为所检测的第一峰值可能不是正确的峰值。图IlD示出了在运动数据中仅检测最高峰值可能导致错误的实例。运动数据250 中的最高峰值252在期望的姿态的错误方向,即,峰值是负的而非正的。因此,在该实例中, 用于图IlC的实例的方法将失效,这是因为最高峰值不是正确的峰值并且姿态将不会被识别。为了在该情况下减小错误检测,本发明允许识别方法记住至少一个先前的峰值,并且判断最高峰值在同一轴上是否具有先前的峰值。检测先前的峰值,在该情况下为峰值252以判断它是否满足姿态的标准。图IlE示出了运动数据沈0中的最高峰值262是用于识别期望姿态的正确峰值, 但是峰值264,在最高峰值之前出现的实例。这种先前的峰值通常因“缠绕(wind-up)”移动而发生,其中,其有时在提供期望的姿态以前由用户不经意地执行。在该情况下,对所有三个峰值(其包括负的峰值)进行检查以获得最高峰值。如果一个峰值高于其它峰值,则假设较低的峰值是不期望的运动(例如,在期望的峰值之前的“缠绕”移动,或者在期望的峰值之后的“回缩”移动),并且将最大幅值的峰值选择为唯一的期望姿态数据。然而,如果一个或多个峰值在幅值上相对接近,则可以假设每个峰值是期望的姿态数据。通常,缠绕移动和回缩移动导致相对于有意识的期望姿态的峰值和特征较小的峰值和数据特征。阀值可以用于判断峰值是否是期望的。例如,可以将一个峰值(例如,第一峰值)与最高峰值的比率与阀值比率进行比较,其中,小于阀值比的峰值被认为是无意的并且被忽略。图IlF示出了由于用户在无意触发姿态的情况下四处移动设备而具有一系列较长的、紊乱的峰值和零交点的运动数据720。在虚线框272中示出了与图IlA至图IlE中所示的数据特征类似的特征,其与上述数据特征足够相似,使得相关联的姿态可能错误地触发。为了减少这样的结果,可以添加一组“中断条件”或“触发条件”,其中,可以测试并且必须避免或履行这组“中断条件”或“触发条件”,以实际上触发(执行)相关联的设备功能。 在该情况下,触发条件可以包括必须在姿态之前或之后的一预定时间段没有发生显著的移动的条件。如果有过多的移动,则可以设置中断条件以防止姿态触发。例如,可以经由图标将中断条件通信给用户,其中图标仅在设备准备接收姿态时是可见的。轻拍姿态轻拍姿态通常包括用户使用手指、手或物体充分击打或轻拍设备10以使设备在空间中移动较大的脉冲。轻拍姿态可以用于控制设备的各种功能中的任意一种功能。图12A和图12B是轻拍姿态的运动数据的两个实例的示意图。在这些实例中,检测轻拍姿态是通过检验运动传感器数据以相对于背景本底噪声检测姿态来执行的,如上所述。图12A示出了由当用户的手松弛地握住设备10时的轻拍姿态引起的波形观0,并且其包括示出为较大幅值的脉冲的检测的轻拍脉冲观2。在该情况下,存在由脉冲284指示的大量背景噪声,其可能错误地触发轻拍姿态。然而,因为设备被松弛地握住,因此由于轻拍姿态在空间中显著地移动了设备,所以实际期望的轻拍姿态产生远高于该噪声电平观4的脉冲幅值观2。相反,图12B示出了当设备10被放置在桌上或者其它硬表面上然后被轻拍时由轻拍姿态引起的波形观8。该轻拍姿态产生了非常小的幅值脉冲四0,这是因为设备在响应轻拍时不能在空间中移动较大。因此,实际上该情况中的轻拍将主要是声音响应。然而,检测的轻拍290通常远远大于噪声电平四2。因此,如果在轻拍检测中考虑了背景噪声电平,则可以更鲁棒地检测轻拍姿态。滤去运动传感器数据中由于移动而非轻拍引起的尖峰也可能是困难的。在更鲁棒地执行滤去的一个方法中,如果具有较大的幅值的尖峰在设备移动的末尾(例如,所检测的运动数据部分的末尾)出现,则滤去具有较大的幅值的尖峰。假设在轻拍姿态发生之前设备10是相对静止的,则轻拍姿态在移动开始时引起尖峰。然而,由于用户突然停止设备,因此尖峰也可能在移动结束时出现。应该滤去该尾部尖峰。图13A和图1 示出了通过滤去运动数据中的特定尖峰来检测轻拍姿态。在图13A 中,尖峰294在示出了设备移动的运动数据的波形中的曲线296之前发生。在图13B中,尖峰四8出现在波形中的曲线299之后。在本发明中,可以通过滤去曲线299之后的和/或在或接近检查的移动的末尾(的阀值的范围内)发生的尖峰298来改进轻拍检测,如图13B 所示,其显示出在移动的末尾的设备10的突然移动,并且不是期望的姿态。这些尖峰通常指示停止设备并且不是有意的姿态。如果尖峰294在曲线296之前发生,则尖峰被检测为轻拍姿态,如图12A所示,其指示期望尖峰的移动后跟随较小幅值的移动(曲线)。注意,尖峰和曲线可能出现在设备的不同的传感器或运动轴上。可以以各种方式使用轻拍姿态,从而初始化在运行于设备上的应用或其它程序中的设备功能。例如,在一个示例性的实施方式中,轻拍可以被配置为使一组图像在显示屏上移动,使得先前可见的或突出显示的图像移动,并且下一个可用的图像变得突出或者以其它方式可见。因为轻拍不具有与其相关联的方向,因此该轻拍检测可以与另外的输入方向检测相联系,以确定图像应该向哪个方向移动。例如,如果设备向左倾斜,则图像在屏幕上向左移动。如果设备向后倾斜,则图像向后移动,例如,在模拟的第三维深度“移进”屏幕。 该特征允许用户使用倾斜和轻拍姿态来同时控制图像(或者其它显示的对象)的移动时间和图像的移动方向。其它姿杰 下面描述适用于本发明的其它姿态的一些实例。图14是示出了圆周姿态的运动数据的实例的图形300。对于该姿态而言,用户快速地在空间中以近似圆周移动来移动运动感测设备。幅值的峰值出现在两个轴上,例如,图 14所示的俯仰302和偏航304。如图所示,对于圆周姿态而言,峰值和零交点是异相的,并且在不同的时间发生。图15是示出了字符姿态的实例的示意图310。字符姿态是通过设备10以近似符合特定的字符的形式在空间中运动来创建的。被识别为特定的字符的运动姿态可以激活与字符对应的功能。例如,特定应用程序中的一些命令可以通过按压键盘上与字符对应的键来激活;在一些实施方式中。可以可替换地通过单独地输入被检测为与字符相同的运动姿态,或者与向设备10提供一些其它输入来共同激活这种命令。字符(其包括字母、数字和其它符号)可以被认为是设备10的线性移动和圆周移动的组合。可以通过将用于线性和圆周的检测算法进行结合来对字符进行检测。因为在用户的一部分上的精确的角移动通常是不可能的,因此该表示比较接近。图15示出了一些实例。可以单独地检测线性俯仰姿态312、线性偏航姿态314和半圆周姿态316或者组合检测以创建字符。例如,“1”字符320可以被检测为线性俯仰姿态。“2”字符322可以被定义为半圆随后一水平线。“3”字符3M可以被定义为两个半圆的姿态。只要不存在具有相同的表示的其它姿态,该表示就应该是足够精确的,并且将给用户提供不精确移动的空间。其它姿态可以被检测为提供期望的字符的其它部分,例如,三角、 圆周、钩、角度等。可以针对不同的字符来定义各种不同的姿态,当设备移动穿过空间勾勒出这些字符的轮廓时,可识别各种不同的姿态。也可以根据要求来定义其它姿态。任何特定的姿态可以被定义为需要上面的姿态中的一个或多个姿态或者其它类型的姿态的不同组合。例如,设备10的基本偏航、俯仰和滚动移动的姿态可以被定义为在这些轴中的每一个轴的移动。也可以将这些姿态与其它姿态相结合以定义复合的姿态。此外,在一些实施方式中,为了鲁棒性,S卩,确保已经检测到期望的姿态,可能需要对姿态进行多次输入和检测。例如,可能需要连续地检测三个摆动姿态,以将这三个摆动姿态检测为单个姿态,并且实现与摆动姿态相关联的功能。或者,可能需要检测三个轻拍姿态而不仅是一个轻拍姿态。使用运动控件的应用本发明的用于提高精确检测运动姿态的能力的一个特征包括将姿态(设备运动) 与从运动感测设备10的输入控制设备检测的输入结合使用。输入控制在用户期望用于姿态输入的设备运动期间给设备提供指示来检测姿态。例如,在本文中均被称作“运动控件”36(如图1所示)的按钮、开关、旋钮、滚轮或其它输入控制设备可以提供到运动感测设备10的外壳上,用户可以按压或者激活这些运动控件。可以使用专用硬件控件,或者可替换地,软件/显示的控件(例如,触摸屏上的显示的按钮或控件)可以用作运动控件。设备上的运动控件可以用于判断设备是否处于“运动模式”。当设备处于运动模式时,设备10中的处理器或其它控制器可以允许检测设备的运动(例如,被检测为姿态),以修改设备的状态。例如,当运动控件处于非激活状态时,例如,当未被用户激活或握持时,用户自然地移动设备而无需修改设备的状态。然而,当运动控件由用户激活时,设备被移动以修改设备的一个或多个状态。设备状态的修改可以是功能的选择和/或功能或程序的执行或激活。例如,响应于根据接收的运动数据来检测姿态,同时该设备处于运动模式,可以在设备上执行功能。设备根据所检测的退出事件退出运动模式。例如,在该实施方式中,退出事件在用户释放运动控件并且不再检测到来自运动控件的激活信号时发生。在一些实施方式中,仅在退出运动模式以后,例如,在该实施方式中释放按钮以后,基于运动数据的设备状态的修改发生。当未处于运动模式时,设备(例如,设备中的处理器或其它可应用的控制器)忽略输入的用于运动姿态识别的感测运动数据。在一些实施方式中,所感测的运动数据可以仍然输入并且用于其它功能或目的,例如,如前所述,计算设备的方向模型;或者只有特定的预定类型的姿态或其它运动可以仍然输入和/或识别,例如,轻拍姿态在一些实施方式中当用于运动控件的一些实施方式时可能不能很好地起作用。在其它实施方式中, 当未处于运动模式时,例如,传感器被关闭,将忽略用于任何目的的所有感测的运动数据。 例如,释放按钮可以导致在设备运动中检测到尖峰,但是该尖峰在按钮释放以后发生,因此被忽略。设备的运动模式的操作可能取决于设备的操作模式。例如,当设备处于一些操作模式时,用户可能需要激活运动控件以进入运动模式,以输入运动姿态,而在设备的其它操作模式时,不需要激活运动控件。例如,当处于图像显示操作模式时,可能需要激活运动模式(例如,通过用户压下运动控件),其中,图像显示操作模式允许根据设备的移动来在设备的显示屏16a上滚动一组图像或其它对象。然而,当处于用户可以进行或应答蜂窝电话呼叫的电话模式时,用户不需要激活运动模式或运动控件以输入运动姿态,从而应答电话呼叫或者在设备10上执行其它电话功能。此外,设备10的不同操作模式可以以不同的方式使用运动控件和运动模式。例如,一个操作模式可以允许仅通过用户停用运动控件来退
21出运动模式,而另一不同的操作模式可以允许通过用户输入特定的运动姿态来退出运动模式。举例说明,可以将一组图标显示在设备的显示屏上,该组图标不受设备移动的影响,同时运动控件未被激活。当设备上的运动控件被按下时,通过运动传感器检测的设备的运动,例如,将光标或指示器移动到不同的图标,可以用于确定哪一个图标被突出显示。 该运动可以被检测为例如在特定的轴或者一个以上的轴上的旋转(其可以认为是旋转姿态),其中设备在空间旋转;或者可替换地,该运动可以被检测为线性运动或线性姿态,其中设备在空间线性地移动。当运动控件被释放时,在释放时突出显示的图标被执行,以引起设备中的一个或多个状态发生改变,例如,执行相关联的功能,例如,启动与突出显示的图标相关联的应用程序。为了帮助用户选择图标,可以提供与设备运动相关的另外的视觉反馈,例如除了分开移动的指示器或光标(其在图标之间直接移动)以外,包括连续地移动的覆盖在图标顶部的光标,或者连续地移动图标较小的量(与设备运动有关)以指示如果释放运动控件则将选择该特定的图标。在另一个应用中,可以在显示屏上并排显示一组图像。当按下运动控件时,用户可以通过在正向或负向上移动设备来向前或向后操纵这组图像,例如,诸如向前(朝向用户, 当用户看着设备时)或向后(远离用户)倾斜或线性地移动设备等姿态。当用户将设备移动超出预定的阀值幅值时(例如,将设备倾斜超出预定量),可以在屏幕上连续地移动图像,而无需用户另外输入。当释放运动控件时,设备10控制图像以停止移动。在另一个应用中,压下按钮可以启动显示于设备的显示屏上的图像、图片或网页的拍摄或缩放。沿着不同的轴来旋转设备可能引起沿着相应的轴对显示屏的视图进行拍摄或缩放。可以通过不同类型的移动来触发不同的功能,或者通过使用不同的按钮来触发不同的功能。例如,可以提供一个运动控件用于拍摄,而提供另一不同的运动控件用于缩放。 如果使用不同类型的移动,则阀值可以用于帮助确定应该触发哪一个功能。例如,如果拍摄移动是在一个轴上移动设备,缩放移动是在一个不同的轴上移动设备,则可以通过同时沿着这两个轴移动设备来激活拍摄和缩放。然而,如果拍摄移动在执行时超出某一移动阀值量,则设备可以仅实现拍摄,而忽略缩放轴上的移动。在一些实施方式中,用户无需握持运动控件以激活设备的运动模式,和/或退出事件不是运动控制的释放。例如,运动控件可以被“点击”,即,激活(例如,按压),然后被立即释放,以激活允许设备移动以修改设备的一个或多个状态的运动模式。在运动控件被点击之后设备保持在运动模式。当检测到期望的预定的退出事件时,该期望的预定退出事件可以用于退出运动模式,使得设备运动不再修改设备的状态。例如,可从用户提供的运动的运动数据中检测特定的摆动姿态(例如,具有预定数量的摆动的摆动姿态),并且当检测到特定的摆动姿态时,退出运动模式。可以在其它实施方式中使用其它类型的姿态退出运动模式。在其它实施方式中,退出事件不是基于用户运动。例如,可以根据诸如检测姿态的完成(当设备正确地检测到姿态时)等其它标准来自动地退出运动模式。用于识别姿杰的数据特征为了解决并处理设备10上的人体运动,必须以高速率来捕获传感器数据。例如, 可能需要诸如IOOHz的采样速率。对于一秒的姿态并且假设在设备上提供了六个运动传感器,该采样速率需要处理用于六个运动自由度的600个数据点。然而,几乎没必要处理所有600个数据点,这是因为可以通过从传感器数据中提取诸如运动波形中的幅值峰值或者零交点的特定次数等重要的特征来减少人体运动。当用户执行姿态时,这些数据特征通常以约2Hz的频率发生。因此,例如,如果针对六个自由度中的每一个自由度检查四个特征,则在一秒的运动期间数据点的总数将是48个点。因此,通过仅关注移动数据的特定特征而不是处理对所有运动进行描述的所有数据点,将要处理的数据量减少到十分之一以下。在共同未决的专利申请No. 12/106,921中描述了通过使用硬件在运动传感器数据中寻找特征来减小设备处理器所需的数据采样速率的一些示例性的方法,其中,该专利申请在先前以引用方式并入本文。图16是示出了可以为姿态处理的设备移动的一组数据特征的一个实例的示意图。波形350指示设备随时间(水平轴)移动的幅值(垂直轴)。当检测到姿态的数据特征时,可以以期望的幅值来指定死区352,其中,死区指示约等于典型的或所确定的噪声幅值电平的幅值的正值和负值。因为落入该死区内的这些值之间的任何运动数据与背景噪声 (例如,用户无意地摆动设备10)不能分辨,因此它们被忽略。本文提及的数据特征是运动传感器数据的波形350的特征,其可以从波形350中检测并且可以用于识别已经执行了特定的姿态。数据特征可以包括例如波形350的最大 (或最小)高度(或幅值)3 以及为发生最大高度354的时间的峰值时间值356。另外的数据特征可以包括波形350为零交点的时间358(即,在移动轴上运动方向的改变,例如, 从正值转变为负值,反之亦然)。另一个数据特征可以包括提供波形350的特定区域的积分360,例如,在两个零交点358之间的间隔的积分,如图15所示。另一个数据特征可以包括波形350在特定的零交点358处的导数。这些数据特征可以从运动传感器数据中提取, 并且与存储和处理波形的所有运动传感器数据相比,姿态识别的存储和处理更快速且更容易。其他数据特征可以用于其它实施方式,例如,运动波形350的曲率(例如,波形在不同点处的平滑程度如何)等。在一些实施方式中,被检查的特定数据特征基于设备10的当前操作模式,其中,不同的操作模式需要提取并处理适合于在特定的操作模式中运行的应用的不同的特征。图16是示出了可以识别并处理姿态的系统370的一个实例的框图,其中,所述姿态包括上面参照图15所描述的数据特征。系统370可以包括在设备10的MPU 20中,或者包括在处理器12中,或者用作独立的单元。系统370包括原始数据和预处理块372,其从传感器接收原始数据,并且还提供或接收前面参照图7所描述的增强的数据,例如,参考设备坐标和世界坐标的数据。原始传感器数据和增强的传感器数据被用作姿态识别的基础。例如,预处理块372可以包括前面参照图7所描述的系统150的全部或一部分。从块372向大量低级数据特征检测器374提供原始数据和增强的数据,其中,每个检测器374检测传感器数据中的不同特征。例如,特征1块37 可以检测运动波形中的峰值,特征2块374b可以检测运动波形中的零交点,特征3块37 可以检测并确定波形下方区域的积分。可以在不同的实施方式中使用另外的特征检测器。每个特征检测器374提供定时器值376,其指示相应于所检测的数据特征的时间值,并且提供幅值378,其中所述幅值指示相应于所检测的数据特征的幅值(峰值幅值、积分值等)。将定时器和幅值378和376提供给高级的姿态检测器380。姿态检测器380中的每一个均使用来自所有特征检测器374的定时和幅值378和376来检测与该检测器相关联的特定的姿态是否已经发生。例如,姿态检测器380a通过检查来自诸如峰值特征检测器 374a的特征检测器374的适当的时间和幅值数据来检测特定的姿态1,其可以是轻拍姿态。 同样地,姿态检测器380b检测特定的姿态2,并且姿态检测器380c检测特定的姿态3。可以尽可能提供与期望在设备10上识别的不同类型的姿态一样多的姿态检测器380。每个姿态检测器380提供定时器值382,其指示姿态被检测时的时间值,以及提供幅值384,其指示描述被检测的姿态的数据特征的幅值(峰值、积分等)。还可以给监控器390提供原始和增强的数据372,其中,监控器390监控设备10 的状态和异常中断条件(abort condition) 0监控器390包括方位块392,其中所述方位块 392使用来自处理块372的原始和增强的数据来确定设备10的方位。可以视情况将设备方位指示为水平、垂直或其它状态。该方位可以提供给姿态检测器380以用于检测适当的姿态(例如,需要特定的设备方位或者从一个方位向另一个方位转变的姿态)。监控器390 还包括移动块394,其中所述移动块394通过使用来自块372的原始和增强的传感器数据来确定设备在空间中的移动诸如角移动或线性移动等移动的量。移动的量被提供给姿态检测器380以用于检测姿态(例如,需要设备10的最小移动量的姿态)。异常中断条件块396也包括在监控器390中以用于确定设备10的移动是否异常中断了潜在识别的姿态。异常中断条件包括当其履行时指示特定的设备移动不是姿态的条件。例如,可以确定上面所描述的背景噪声,使得通过使用异常中断条件块396将噪声幅值内的移动忽略。在另一个实施例中,诸如前面参照图13A和图1 所描述的曲线后的尖峰等某些运动的尖峰可以被忽略,即,使得由于该尖峰而导致姿态识别异常中断。在另一个实例中,如果所有的姿态检测器380只检查到较小或微量的移动,则可以使用异常中断条件块396来忽略超过预定阀值的较大的移动。异常中断条件块396向姿态检测器380发送与传感器数据的当前(或者指定)部分对应的异常中断指示,并且还向最终的姿态输出块398 发送异常中断指示。最终的姿态输出块398从姿态检测器380接收所有的定时器值和幅值,并且还从异常中断条件块396接收异常中断指示符。最终块398输出由姿态检测器380识别的用于非异常中断的姿态的数据。输出数据可到设备10的这样的部件(软件和/或硬件),其处理姿态并且响应于所识别的姿态来执行功能。图18是示出了分配图17的姿态识别系统350的功能的一个实例的框图400。在该实例中,六个轴的运动传感器(例如,三个陀螺仪26和三个加速度计观)的输出被提供作为硬连接的硬件402。在块404中,运动传感器输出其原始传感器数据,其中所述原始传感器数据将被处理以得到增强的数据及数据特征,并且该特征处理块404也包括在硬连接的硬件块402中。因此,姿态识别系统370的一部分或全部可以包含到其自身的每个运动传感器(陀螺仪和/或加速度计)上的硬件中。例如,运动传感器可以包括用于计算增强的数据(例如,从设备坐标向世界坐标的坐标变换)的硬件加速器。硬件加速器可以输出变换的数据,并且硬件加速度计可以包括另外的处理以将增强的数据进一步简化为数据特征。可替换地,加速器可以输出来自硬连接块402的变换的数据。来自块404的特征可以输出到运动逻辑处理块406,其中所述运动逻辑处理块406 可以包括在设备10的可编程块408中。例如,可编程块408可以实现为由处理器或控制器
24实施的软件和/或固件。运动逻辑可以包括数字输出,在一些实施方式中包括姿态输出。在可替换的实施方式中,整个姿态系统370可以在外部处理器上运行,其中所述外部处理器从运动传感器和硬连接块402接收原始数据。在一些实施方式中,整个姿态系统370可以在运动传感器上的硬连接的硬件或具有运动传感器的硬连接的硬件中运行。可以使用除了上面所描述的陀螺仪和/或加速度计以外的另外的或可替换的类型的传感器来实现所描述的技术和系统中的多个技术和系统。例如,上面所描述的包括姿态识别技术的六个轴的运动感测设备可以包括三个加速度计和三个罗盘。其它类型的可使用的传感器可以包括光学传感器(可见的、红外线的、紫外线的等)、磁性传感器等。虽然已经参照所示的实施方式描述了本发明,但是本领域普通技术人员将容易意识到,可能存在实施方式的变形,并且这些变形将在本发明的精神和范围内。因此,在不偏离所附的权利要求的精神和范围的情况下,本领域普通技术人员可以进行很多修改。
权利要求
1.一种用于处理便携式电子设备的运动以控制所述便携式电子设备的方法,所述方法包括在所述便携式电子设备上接收通过所述便携式电子设备的运动传感器获取的感测的运动数据,其中,所述感测的运动数据基于所述便携式电子设备在空间上的移动,所述运动传感器提供了六个轴的运动感测,并且包括至少三个旋转运动传感器和至少三个加速度计;在所述便携式电子设备上确定当所述便携式电子设备的移动发生时是有效的特定的操作模式,其中,所述特定的操作模式是在所述便携式电子设备的操作中可用的多个不同的操作模式中的一个操作模式;在所述便携式电子设备上根据所述运动数据来识别一个或多个运动姿态,其中,所述一个或多个运动姿态是从可用于在所述便携式电子设备的有效的操作模式中进行识别的一组多个运动姿态识别的,其中,所述便携式电子设备的不同的操作模式中的每一个操作模式在有效时具有可用于识别的不同的一组运动姿态;以及根据一个或多个识别的运动姿态来改变所述便携式电子设备的一个或多个状态,包括改变所述便携式电子设备上的显示屏的输出。
2.根据权利要求1所述的方法,其中,所述一个或多个姿态包括摆动姿态,所述摆动姿态是根据所感测的运动数据来检测的,所感测的运动数据描述了所述便携式电子设备在一个角方向上的运动,并且包括至少为高于背景噪声电平的阀值电平的幅值。
3.根据权利要求1所述的方法,其中,所述一个或多个姿态包括轻拍姿态,所述轻拍姿态是根据所感测的运动数据来检测的,所感测的运动数据将所述便携式电子设备的运动描述为所述设备在空间中的移动的脉冲。
4.根据权利要求3所述的方法,其中,所述轻拍姿态的所述脉冲是通过检查所述运动传感器数据中的大于背景噪声电平的峰值来检测的,并且包括滤去在与所述姿态对应的所述运动传感器设备的所述移动结束时所述运动传感器数据中的尖峰,所述轻拍姿态具有至少为高于所述背景噪声电平的阀值电平的幅值。
5.根据权利要求1所述的方法,其中,所述一个或多个姿态包括圆周姿态,所述圆周姿态是根据所感测的运动数据来检测的,所感测的运动数据描述了所述便携式电子设备在空间中的近似圆周移动的运动。
6.根据权利要求1所述的方法,其中,所述一个或多个姿态包括字符姿态,所述字符姿态是根据所感测的运动数据来检测的,所感测的运动数据描述了所述便携式电子设备在空间中的至少一个线性移动和至少一个近似圆周移动的组合。
7.根据权利要求1所述的方法,还包括接收进入模式控制信号,所述进入模式控制信号指示所述便携式电子设备的运动控件已经由用户激活;响应于接收到所述进入模式控制信号,进入所述便携式电子设备的运动模式,所述运动模式允许所述感测的运动数据被用于识别所述一个或多个运动姿态;以及根据由所述便携式电子设备确定的退出事件退出所述便携式电子设备的所述运动模式。
8.根据权利要求7所述的方法,还包括在所述便携式电子设备未处于所述运动模式时,忽略另外的感测运动数据,所述另外的感测运动数据通过所述运动传感器获取、用于根据该另外的感测运动数据来检测姿态。
9.根据权利要求8所述的方法,其中,所述便携式电子设备仅在所述用户维持所述进入模式控制信号以继续激活所述运动控件时处于所述运动模式,其中,响应于接收到退出模式控制信号,退出所述运动模式,所述退出模式控制信号与所述用户释放所述运动控件相对应。
10.根据权利要求7所述的方法,其中,所述便携式电子设备在所述用户点击所述运动控件之后处于所述运动模式,其中,所述退出事件为在所述感测的运动数据中检测到预定的退出姿态。
11.根据权利要求7所述的方法,其中,所述便携式电子设备在所述用户点击所述运动控件之后处于所述运动模式,其中,所述退出事件是所述一个或多个姿态中的一个姿态的完成。
12.根据权利要求1所述的方法,其中,所检测的一个或多个姿态用于移动所述便携式电子设备的显示屏上的图像,所述图像的移动方向与在所述运动数据中检测到的所述便携式电子设备的运动方向对应。
13.一种用于感测运动姿态的便携式电子设备,所述便携式电子设备包括多个运动传感器,其根据所述便携式电子设备在空间中的移动来提供感测数据,所述运动传感器提供了六个轴的运动感测,并且包括至少三个旋转运动传感器和至少三个加速度计;显示屏;以及一个或多个处理器,其中,所述处理器中的至少一个处理器接收从由所述运动传感器提供的所述感测数据获取的运动数据;确定当所述便携式电子设备的移动发生时为有效的特定的操作模式,其中,所述特定的操作模式是在所述便携式电子设备的操作中可用的多个不同的操作模式中的一个操作模式;根据所述运动数据来识别一个或多个运动姿态,其中,所述一个或多个运动姿态是从可用于在所述便携式电子设备的所述有效的操作模式中进行识别的一组多个运动姿态识别的,其中,所述便携式电子设备的所述不同的操作模式中的每一个操作模式在有效时具有可用于识别的不同的一组运动姿态;以及根据一个或多个识别的运动姿态来改变所述便携式电子设备的一个或多个状态,包括改变所述显示屏的输出。
14.根据权利要求13所述的便携式电子设备,其中,所述一个或多个运动姿态包括摆动姿态,所述摆动姿态是根据所述运动数据来检测的,所述运动数据描述了所述便携式电子设备在一个角方向上的运动,并且包括至少为高于背景噪声电平的阀值电平的幅值。
15.根据权利要求13所述的便携式电子设备,其中,所述一个或多个运动姿态包括轻拍姿态,所述轻拍姿态是根据所述运动数据来检测的,所述运动数据将所述便携式电子设备的运动描述为所述设备在空间中的移动的脉冲,其中,所述轻拍姿态的所述脉冲具有至少为高于所述背景噪声电平的阀值电平的幅值,其中,如果所述轻拍姿态发生在所述便携式电子设备在空间中的移动结束时,则所述运动数据中的幅值的尖峰被滤去。
16.根据权利要求13所述的便携式电子设备,其中所述一个或多个运动姿态包括圆周姿态,所述圆周姿态是根据所述运动数据来检测的,所述运动数据描述了所述便携式电子设备在空间中的近似圆周移动的运动。
17.根据权利要求13所述的便携式电子设备,其中,所述一个或多个运动姿态包括字符姿态,所述字符姿态是根据运动数据来检测的,所述运动数据描述了所述便携式电子设备在空间中的至少一个线性移动和至少一个近似圆周移动的组合。
18.根据权利要求13所述的便携式电子设备,还包括可由所述便携式电子设备的用户激活的运动控件,其中,所述一个或多个处理器中的至少一个处理器接收进入模式控制信号,所述进入模式控制信号指示所述便携式电子设备的所述运动控件已经由用户激活;响应于接收到所述进入模式控制信号,进入所述便携式电子设备的运动模式,所述运动模式允许所述运动数据被用于识别所述一个或多个运动姿态;以及根据由所述处理器确定的退出事件来退出所述便携式电子设备的所述运动模式,其中,在所述便携式电子设备未处于所述运动模式时,所述至少一个处理器忽略来自运动传感器的用于根据其来检测运动姿态的另外的感测运动数据。
19.根据权利要求18所述的便携式电子设备,其中,所述至少一个处理器仅在所述用户维持所述进入模式控制信号以继续激活所述运动控件时使所述便携式电子设备维持在所述运动模式中,并且其中,响应于所述用户释放所述运动控件,所述至少一个处理器退出所述运动模式。
20.根据权利要求14所述的便携式电子设备,其中,所检测的一个或多个运动姿态用于移动所述显示屏上显示的图像,所述图像的移动方向与在所述运动数据中检测到的所述便携式电子设备的运动方向对应。
21.一种用于使用运动感测设备来识别由用户执行的姿态的方法,所述方法包括接收指示所述设备的运动的在设备坐标中的运动传感器数据、所述运动传感器数据是从所述运动感测设备的多个运动传感器接收的,所述运动传感器包括多个旋转运动传感器和多个线性运动传感器;将在所述设备坐标中的所述运动传感器数据变换为在世界坐标中的运动传感器数据, 在所述设备坐标中的所述运动传感器数据描述了所述设备相对于所述设备参考系的运动, 在所述世界坐标中的所述运动传感器数据描述了所述设备相对于所述设备外部的参考系的运动;以及根据在所述世界坐标中的所述运动传感器数据来检测姿态。
22.根据权利要求21所述的方法,还包括将所述运动传感器数据从所述世界坐标变换为局部坐标,在所述局部坐标中的所述运动传感器数据描述了所述设备相对于所述设备的用户身体的运动。
23.根据权利要求22所述的方法,其中,在所述运动感测设备以小于预定阀值的速度移动时,通过更新所述世界坐标以跟踪所述运动感测设备的运动来确定所述局部坐标。
24.根据权利要求23所述的方法,其中,所述小于所述预定阀值的速度是从所述运动感测设备的角速度和所述运动感测设备的线速度获取的。
25.根据权利要求23所述的方法,其中,响应于所述运动感测设备在所述姿态期间以大于所述预定阀值的速度移动,所述局部坐标在所述姿态期间保持固定,所述世界坐标被固定在所述姿态被确定为已经开始之前的所述运动感测设备的最后的位置和方位上。
26.根据权利要求21所述的方法,其中,所述姿态是通过从所述运动传感器数据中提取一个或多个数据特征,并且处理所述一个或多个数据特征以检测所述姿态来检测的,对于包括所述数据特征的所述运动传感器数据的一部分,所述数据特征比所述运动传感器数据包括更少的数据点。
27.根据权利要求沈所述的方法,其中,所述一个或多个数据特征包括以下项中的至少一项所述运动传感器数据的最大幅值或最小幅值;所述运动传感器数据从正值到负值或者从负值到正值的零交点;以及由所述运动传感器数据的图形限定的区间的积分。
28.根据权利要求沈所述的方法,其中,所述姿态是通过在以下一个或多个方面检查所述运动传感器数据的所述一个或多个数据特征来检测的所述一个或多个数据特征之间的相对定时;以及所述一个或多个数据特征之间的相对幅值。
29.根据权利要求26所述的方法,其中,所述姿态是通过以下操作来检测的 对所述一个或多个数据特征中的每一个数据特征进行定时;以及响应于在彼此的预定时间内发生的所述数据特征,对所述姿态进行识别。
30.根据权利要求沈所述的方法,其中,多个所述数据特征是所述运动传感器数据中的峰值,并且其中,所述姿态是通过以下操作中的至少一个操作来检测的仅选择所述运动传感器数据中的最高峰值;以及检查所述运动传感器数据中的所述最高峰值之前的峰值。
31.根据权利要求21所述的方法,还包括检测到所述姿态后,触发所述运动感测设备的功能,所述功能与所检测到的姿态相关联,并且还包括在触发相关联的功能之前,测试至少一个异常中断条件,其中,如果满足所述异常中断条件,则不触发所述相关联的功能,其中,所述异常中断条件包括在所述姿态之前和之后的最小时间量、在该最小时间量期间所述运动感测设备未发生显著移动。
32.根据权利要求21所述的方法,其中,检测所述姿态的步骤包括将在所述运动感测设备的运动期间的角速度与所述运动感测设备的线加速度相关,并且使用该相关性来滤去所述运动感测设备的基本上为全部旋转的噪声运动。
33.一种用于检测姿态的系统,所述系统包括多个运动传感器,其提供运动传感器数据,所述运动传感器包括多个旋转运动传感器和多个线性运动传感器;至少一个特征检测器,每个特征检测器可操作以检测从所述运动传感器数据获取的相关联的数据特征,每个数据特征是所述运动传感器数据的特性,每个特征检测器输出对所检测的数据特征进行描述的一个或多个特征值;以及至少一个姿态检测器,每个姿态检测器可操作以根据所述一个或多个特征值来检测与所述姿态检测器相关联的姿态。
34.根据权利要求33所述的系统,其中,所述至少一个特征检测器包括峰值特征检测器,该峰值特征检测器可操作以检测所述运动传感器数据中的峰值。
35.根据权利要求33所述的系统,其中,所述至少一个特征检测器包括零交点特征检测器,该零交点特征检测器可操作以检测所述运动传感器数据中的零交点,所述零交点指示在一个移动轴上的运动方向的改变。
36.根据权利要求33所述的系统,还包括处理块,其处理所述运动传感器数据以提供增强的运动数据,所述增强的运动数据参考世界坐标,所述运动传感器数据参考设备坐标,并且其中,每个特征检测器可操作以检测从所述运动传感器数据和所述增强的运动数据获取的相关联的数据特征。
37.根据权利要求33所述的系统,其中,所述运动传感器数据还包括来自所述运动感测设备的另外的传感器的传感器数据,所述另外的传感器包括温度传感器、压力传感器和罗盘中的至少一个。
38.根据权利要求33所述的系统,其中,所述旋转运动传感器包括陀螺仪或罗盘,所述线性运动传感器包括加速度计。
全文摘要
使用运动姿态识别的移动设备。在一个方面,控制便携式电子设备的处理运动包括接收设备上的通过设备的运动传感器获取的并且基于设备在空间中的移动的感测的运动数据。运动传感器包括至少三个旋转运动传感器和至少三个加速度计。当设备的移动发生时,特定的操作模式被确定为有效,其中所述模式是设备的多个不同的操作模式中的一个操作模式。根据来自可用于在有效的操作模式中进行识别的一组运动姿态的运动数据来识别运动姿态。当不同的操作模式中的每一个操作模式有效时,该操作模式具有可用的一组不同的姿态。根据所识别的姿态来改变设备的状态,其包括改变设备上的显示屏的输出。
文档编号G06F3/033GK102246125SQ200980149970
公开日2011年11月16日 申请日期2009年10月15日 优先权日2008年10月15日
发明者史蒂文·S·纳西里, 大卫·萨克斯, 约瑟夫·姜, 顾安佳 申请人:因文森斯公司