专利名称:基于多传感器的用户操作识别方法和使用该方法的设备的制作方法
技术领域:
本发明涉及用户动作识别技术,更具体地,涉及一种基于多类别的传感器的用户操作识别方法和使用该方法的电子设备。
背景技术:
现有技术的电子设备的主要操作方式有传统的键盘鼠标式操作、触摸屏点击操作以及触摸屏手势操作。传统的操作方法基本原理是由键盘鼠标或者触摸屏产生I/o信号,通知系统,由系统根据相应匹配的操作命令,触发相应事件。另一方面,随着各种类型的传感器技术的发展,安装有各种传感器的电子设备能够精确获得各种状态参数。目前各类传感器在电子设备中获得广泛的应用,主要是利用各类传感器的自身特性,获得当前设备自身姿态和状态来进行应用。每个传感器的数据,都只描述了电子设备当前的一部分状态参数,利用不同传感器获得的参数数据,通过综合计算,可以获得电子设备的当前详细状态变化。特别地,在嵌入式的电子设备中,传感器能够小型化地集成到嵌入式设备中,这就使得嵌入式系统能够利用多种传感器获得详细状态参数,并将这些参数记录转换为相应的系统事件,使得嵌入式系统的空中手势操作。例如,如图I所示,可使用嵌入式的电子设备100在空中书写一个字母“A”,在书写期间,通过各个传感器的状态记录,使得电子设备100得到一个“A”的输入,从而电子设备100可执行与“A”的输入相应的操作。传统的手势操作是通过触屏实现的。而现有对各类传感器的使用,主要由上层应用主动获取传感器参数,通过其中一个或者几个参数的简单计算,实现应用目的。这种方法虽然能够正常工作,但是不适合用户操作复杂应用场景。这是因为一、由于用户操作具有极大的复杂性和随机性,仅仅用一个传感器或者几个传感器的参数简单计算,只能获得片面的状态数据,比如只能获得水平方向的状态变化,而没有获得垂直方向,以及变化的速度,不能反映用户操作的想法和目的,造成较大的偏差;二、由于每次传感器硬件模块都是独立的,每个应用都必须单独从各个传感器获取数据,这就造成了数据无法通用,对于用户操作之类的通用应用,具有很大的局限性,对于在运行的多个应用来说,需要各自向传感器请求数据,并且每个应用场景都需要单独计算状态,需要耗费大量CPU时间,降低了整个系统的效率,提高了系统的能耗。
发明内容
根据本发明的一方面,提供了一种基于设备的多个传感器的用户操作识别方法,包括接收并记录每个采样周期内的来自所述多个传感器的各自的状态参数,形成与该采样周期对应的状态参数集,并形成包括预定数量的状态参数集的组;判断获取的状态参数集的组是否符合多个状态条件中的某个特定状态条件,其中,一组状态参数集包括预定数量的连续多个状态参数集;根据判断结果确定是否执行与所述特定状态条件对应的用户操作,其中,所述特定状态条件包括多个条件分量,每个条件分量包括与所述多个传感器中的每个传感器对应的预定义的参数值。根据本发明的一方面,如果确定接收的一组状态参数集中的每个状态参数集分别按顺序与所述特定状态条件中的每个条件分量一一对应,则执行与所述特定状态条件对应的操作。根据本发明的一方面,如果确定该组状态参数集不符合多个状态条件中的任意一个状态条件,则清空已经记录的该组状态参数集。根据本发明的一方面,如果确定该组状态参数集中的每个状态参数集分别按顺序与所述特定状态条件中的第一部分条件分量一一对应,则继续接收后续的至少一个采样周期的至少一个状态参数集,以判断后续的所述至少一个采样周期的至少一个状态参数集是否与所述特定状态条件中的其余条件分量一一对应。根据本发明的一方面,所述用户操作识别方法还包括在开始接收和记录状态参数集之前,通过软件在设备中虚拟和初始化一虚拟控制设备,以通过该虚拟控制设备来执行后续的操作。根据本发明的另一方面,还提供了一种基于多个传感器识别用户操作的设备,包括多个传感器;控制器,包括状态参数记录单元,接收并记录每个采样周期内的来自所述多个传感器的各自的状态参数,形成与该采样周期对应的状态参数集,并形成包括预定数量的状态参数集的组;操作识别单元,判断获取的状态参数集的组是否符合多个状态条件中的某个特定状态条件,并根据判断结果确定是否执行与所述特定状态条件对应的用户操作,其中,一组状态参数集包括预定数量的连续多个状态参数集。根据本发明的另一方面,如果操作识别单元确定接收的一组状态参数集中的每个状态参数集分别按顺序与某个特定状态条件中的每个条件分量一一对应,则通知设备执行与所述特定状态条件对应的操作。根据本发明的另一方面,如果操作识别单元确定接收的一组状态参数集不符合多个状态条件中的任意一个状态条件,则通知状态参数记录单元清空已经记录的该组状态参数集。根据本发明的另一方面,如果操作识别单元确定一组状态参数集中的每个状态参数集分别按顺序与所述特定状态条件中的第一部分条件分量一一对应,则通知状态参数记录单元转发后续的至少一个采样周期的至少一个状态参数集,从而状态参数记录单元判断后续的所述至少一个采样周期的至少一个状态参数集是否与特定状态条件中的其余条件
分量一一对应。根据本发明的另一方面,控制器通过软件在设备中虚拟和初始化一虚拟控制设备,以通过该虚拟控制设备来执行状态参数记录单元和操作识别单元的操作。
通过下面结合示例性地示出实施例的附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中图I是示出根据现有技术的用户操作识别的示意图;图2是示出根据本发明示例性实施例的基于多传感器的用户操作识别方法的流程图3是示出根据本发明示例性实施例的确定记录的状态参数集是否符合特定状态条件的过程的流程图;图4示出根据本发明示例性实施例的使用基于多传感器的用户操作识别方法的设备的示意图。
具体实施例方式
下面将参照附图对本发明的示例性实施例进行说明。应理解,在所有的附图中,相同的标号表不相同的部件或组件。图2示出了根据本发明实施例的多传感器的用户操作识别方法的流程图。首先,在步骤210,设备进行初始化操作。具体地,设备在系统上电并启动时,判断是否设备具有硬件传感器。如果设备不存在任何硬件传感器,则转入其他初始化程序段执行,且不启动本发明所涉及的操作识别方法的软件服务。如果确定设备具有硬件传感器,则对设备的软硬件模块初始化。该初始化过程中除了对各个传感器驱动模块进行初始化之外,还可通过设备的软件虚拟一虚拟控制设备,并对虚拟控制设备进行初始化。虚拟控制设备进行初始化主要需要设置硬件传感器列表、采样周期、预定义操作指令等。以上操作可例如由设备的操作系统(OS)来完成。如果以上的初始化过程不成功,则进行错误处理后转入其他初始化程序段执行,如果初始化成功,则硬件传感器以及虚拟控制设备开始工作。接下来,在步骤220,各个传感器分别检测各自的状态参数,并将检测到的状态参数发送到虚拟控制设备;虚拟控制设备接收并记录在每次采样时从多个传感器获得的各自的状态参数,形成与每次采样对应的状态参数集。根据本发明的当前实施例,传感器可包括电子罗盘、重力传感器、陀螺仪传感器等模块。其中,电子罗盘利用地磁场来确定南北极的方向,并以地磁方向作为水平方向的基准。重力传感器是利用压电效应实现的传感器,其测量重力正交两个方向的分力大小来判定水平方向和垂直方向的变化。重力传感器利用以电子罗盘获得的地磁方向为水平方向的基准。陀螺仪传感器利用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴进行角运动检测,从而可检测设备的角速度和角加速度。根据本发明实施例的设备还可包括其他的各种传感器用于检查设备的其他状态参数,在此不一一列举。重复以上步骤,在一定的采样周期内可获得预定数量的状态参数集,称为一个状态参数集的组。在本实施例中,假设状态参数包括角速度、加速度、水平方向变化,第一个采样周期的状态参数集表示为{a1; b1; C1, dj,第二个采样周期的状态参数集表示为{a2,b2,c2, d2}...以此类推,一组状态参数集所包括的第η个采样周期的状态参数集表示为{an, bn, cn, dn}。但是应理解,状态参数集可包括其它状态参数值。然后,在步骤230,虚拟控制设备确定已经记录的状态参数集是否符合多个状态条件中的某个特定的状态条件对应。这里,每个状态条件包括多个条件分量,每个条件分量包括与用户设备的多个传感器中的每个传感器对应的预定义的参数值。稍后将参照图3详细描述确定记录的状态参数集是否符合某个特定状态条件的过程。接下来,在操作240,根据步骤230的判断结果来确定是否执行与某个状态条件对应的用户操作。例如,如果在步骤230确定状态参数集的组对应于某个特定的状态条件α,则执行与状态条件α对应的用户操作。这里的用户操作可以是由用户预先定义的操作。例如,如果用户使用移动终端时,可通过操作移动终端来控制网页后退、退出程序、输入字符坐坐寸寸O最后,在用户操作完成之后,在步骤250清除已经记录的状态参数集,并重新开始接收下一个采样周期的状态参数集。下面将参照图3详细描述图2的步骤230中确定记录的状态参数集是否符合某个状态条件的过程。首先,在步骤231,虚拟控制设备确定将接收的一组状态参数集中的每个状态参数集分别按顺序与多个状态条件中的每个条件分量进行比较,以确定该组状态参数集是否与某个特定状态条件对应。具体地,虚拟控制设备可确定包括预定数量的记录的状态参数集的组中的第一状态参数集{a1; b1; C1, dj中的每个状态参数是否符合某一个状态条件中的第一条件分量,即,分别确定角速度S1、加速度Id1、水平方向变化C1、垂直方向变化Cl1是否符合某个状态条件中的第一条件分量。这里假设存在多个状态条件,每个预定条件具有不同的条件分量,每个状态条件对应不同的用户操作。如果确定第一状态参数集{apbpcpdj与某一个状态条件(假设为条件α)中的第一条件分量(假设为IwpXpypzJ)对应,则继续确定第二状态参数集{a2, b2, c2, d2}是否符合条件α中的第二条件分量{w2, X2, y2, z2}。以此类推,直到确定获得的该组状态参数集中的η个状态参数集是否分别都符合条件α中的每一个条件分量(232),则判断过程返回“是”,从而进行步骤240以执行与条件α对应的用户操作。如果在步骤231确定的结果是获得的一组状态参数集不符合任何状态条件(233),则判断过程返回“否”,从而进行到步骤250,放弃已经记录的状态参数集。例如,如果在确定一组η个状态参数集中的一状态参数集{apbpCpdJ与状态条件α中的第一条件分量{w1; X1, y1; zj对应,但是第二状态参数集{a2, b2, c2, d2}不符合条件α中对应的条件分量{w2, x2, y2, z2},则确定该组状态参数集不符合任何状态条件。如果在步骤231确定的结果是当前的一组状态参数集{a1; b1; C1, dj、{a2,b2,C2,
d2}.....和{an,bn,cn,dn}分别按顺序地与某一状态条件(假设为条件β)中的第一部分的
条件分量 Is1, t1; U1, vj、{s2, t2, u2, V2I. . . > {sn, tn, un, vn}--对应(234),则在步骤 235 确
定后续的至少一个采样周期的状态参数集是否分别与条件β的其余条件分量顺序地一一对应(假设条件β总共包括m个条件分量,m> η)。根据实施例,可首先确定下一个采样周期的状态参数集{an+1,bn+1,cn+1,dn+1}是否与条件β的第η+1条件分量{sn+1,tn+1,un+1,vn+1}对应。如果对应,则确定下一个采用周期内获得的状态参数集{an+2,bn+2,cn+2, dn+2}是否符合条件β的第η+2个条件分量;如果不对应,则放弃先前已经记录的状态参数集{a1;b1 C1, dj、{a2, b2, c2, d2}、…、和{an+1, bn+1, cn+1, dn+1}。持续以上操作,以确定条件中的其余的所有条件分量是否均被满足。如果步骤235的确定结果是后续的至少一个状态参数集分别与条件β的其余条件分量顺序地一一对应,则判断过程返回“是”,从而进行步骤240以执行与条件β对应的用户操作。如果步骤235的确定结果是后续的至少一个状态参数集中的某一个状态参数集与条件β的其余条件分量不对应,则进行步骤250以清除已经记录的状态参数集。图4是根据本发明实施例的使用基于多传感器的用户操作识别方法的设备400的示意图。根据本发明,设备400可以是诸如电视的遥控器、移动终端等需要应用传感器的电子设备。设备400包括多个传感器410和控制器420。多个传感器410例如可包括重力传感器、陀螺仪、电子罗盘等传感器。应理解,电子设备还可包括实现其它功能所需的部件,在此不详细示出。当设备400开始进行用户操作的识别处理时,传感器410按照固定的采样周期检测和产生传感信号。控制器420接收来自传感器的传感信号,以形成与每个采样周期对应的状态参数集。接下来,控制器420根据接收的状态参数集来确定是否执行用户操作以及执行哪一种用户操作。如图4所示,控制器420可包括状态参数记录单元421和操作识别单元422。状态参数记录单元421接收并记录每个采样周期内的来自所述多个传感器的各自的状态参数,形成与该采样周期对应的状态参数集,并形成包括预定数量的状态参数集的组。操作识别单元422判断获取的状态参数集的组是否符合多个状态条件中的某个特定状态条件,并根据判断结果确定是否执行与所述特定状态条件对应的用户操作,从而通知设备400的其它功能部件来执行与所述特定条件对应的用户操作。例如,可通知屏幕显示与用户操作对应的输入字符,或者通知正在运行的应用程序执行对应的操作等。根据本发明的另一实施例,在设备400开始识别用户操作的处理时,控制器420可通过软件启动和初始化一虚拟控制设备,并由虚拟控制设备来接收传感器410的传感信号并执行状态参数记录单元421和操作识别单元422的操作。根据本发明,如果操作识别单元422确定接收的一组状态参数集中的每个状态参数集分别按顺序与某个特定状态条件中的每个条件分量一一对应,则通知设备执行与所述特定状态条件对应的操作。如果操作识别单元422确定接收的一组状态参数集不符合多个状态条件中的任意一个状态条件,则通知状态参数记录单元421清空已经记录的该组状态
参数集。如果操作识别单元422确定一组状态参数集中的每个状态参数集分别按顺序与所述特定状态条件中的第一部分条件分量一一对应,则通知状态参数记录单元422继续接收并转发后续的至少一个采样周期的至少一个状态参数集,从而状态参数记录单元422可判断后续的所述至少一个采样周期的至少一个状态参数集是否与特定状态条件中的其余条件分量对应。在以上操作过程中,如果状态参数记录单元421在某一个采样周期没有接收到来自传感器的状态参数,则清除已经记录的状态参数集的数据,并进行下一个采样周期的操作。根据本发明,可以充分利用电子设备的各类传感器实现一种统合的用户操作识别方式,从而为用户提供了一种新的操作方式,可提高用户体验。另外,本发明的用户操作识别方法不需要各个应用单独向传感器请求数据和单独计算传感器状态,从而减少了 CPU的运行时间,提高了系统的效率,降低了系统的能耗。虽然已经参照本发明的若干示例性实施例示出和描述了本发明,但是本领域的技术人员将理解,在不脱离权利要求及其等同物限定的本发明的精神和范围的情况下,可以在形式和细节上做出各种改变。
8
权利要求
1.一种基于设备的多个传感器的用户操作识别方法,包括 (a)接收并记录每个采样周期内的来自所述多个传感器的各自的状态参数,形成与该采样周期对应的状态参数集,并形成包括预定数量的状态参数集的组; (b)判断获取的状态参数集的组是否符合多个状态条件中的某个特定状态条件,其中,一组状态参数集包括预定数量的连续多个状态参数集; (C)根据步骤(b)的判断结果确定是否执行与所述特定状态条件对应的用户操作, 其中,所述特定状态条件包括多个条件 分量,每个条件分量包括与所述多个传感器中的每个传感器对应的预定义的参数值。
2.如权利要求I所述的用户操作识别方法,其中,如果在步骤(b)确定接收的一组状态参数集中的每个状态参数集分别按顺序与所述特定状态条件中的每个条件分量一一对应,则在步骤(C)执行与所述特定状态条件对应的操作。
3.如权利要求I所述的用户操作识别方法,其中,如果在步骤(b)确定该组状态参数集不符合多个状态条件中的任意一个状态条件,则在步骤(C)清空已经记录的该组状态参数集。
4.如权利要求I所述的用户操作识别方法,其中,如果在步骤(b)确定该组状态参数集中的每个状态参数集分别按顺序与所述特定状态条件中的第一部分条件分量一一对应,则继续接收后续的至少一个采样周期的至少一个状态参数集,以判断后续的所述至少一个采样周期的至少一个状态参数集是否与所述特定状态条件中的其余条件分量一一对应。
5.如权利要求1-4中的任意一个所述的用户操作识别方法,还包括在步骤(a)之前,通过软件在设备中虚拟和初始化一虚拟控制设备,以通过该虚拟控制设备来执行后续的操作。
6.一种基于多个传感器识别用户操作的设备,包括 多个传感器; 控制器,包括 状态参数记录单元,接收并记录每个采样周期内的来自所述多个传感器的各自的状态参数,形成与该采样周期对应的状态参数集,并形成包括预定数量的状态参数集的组; 操作识别单元,判断获取的状态参数集的组是否符合多个状态条件中的某个特定状态条件,并根据判断结果确定是否执行与所述特定状态条件对应的用户操作,其中,一组状态参数集包括预定数量的连续多个状态参数集。
7.如权利要求6所述的设备,其中,如果操作识别单元确定接收的一组状态参数集中的每个状态参数集分别按顺序与某个特定状态条件中的每个条件分量一一对应,则通知设备执行与所述特定状态条件对应的操作。
8.如权利要求6所述的设备,其中,如果操作识别单元确定接收的一组状态参数集不符合多个状态条件中的任意一个状态条件,则通知状态参数记录单元清空已经记录的该组状态参数集。
9.如权利要求6所述的设备,其中,如果操作识别单元确定一组状态参数集中的每个状态参数集分别按顺序与所述特定状态条件中的第一部分条件分量一一对应,则通知状态参数记录单元转发后续的至少一个采样周期的至少一个状态参数集,从而状态参数记录单元判断后续的所述至少一个采样周期的至少一个状态参数集是否与特定状态条件中的其余条件分量--对应。
10.如权利要求6-9中的任意一个所述的设备,其中,控制器通过软件在设备中虚拟和初始化一虚拟控制设备,以通过该虚拟控制设备来执行状态参数记录单元和操作识别单元的操作。
全文摘要
公开了一种基于多传感器的用户操作识别方法和使用该方法的设备,所述用户操作识别方法包括接收并记录每个采样周期内的来自所述多个传感器的各自的状态参数,形成与该采样周期对应的状态参数集,并形成包括预定数量的状态参数集的组;判断获取的状态参数集的组是否符合多个状态条件中的某个特定状态条件,其中,一组状态参数集包括预定数量的连续多个状态参数集;根据判断结果确定是否执行与所述特定状态条件对应的用户操作。
文档编号G06F3/01GK102929392SQ201210412970
公开日2013年2月13日 申请日期2012年10月25日 优先权日2012年10月25日
发明者蔡晓晰 申请人:三星半导体(中国)研究开发有限公司, 三星电子株式会社