姿势识别的制作方法

文档序号:6439516阅读:159来源:国知局
专利名称:姿势识别的制作方法
技术领域
本发明涉及姿势识别。
背景技术
许多计算设备允许基于触摸的输入,如笔记本计算机、智能电话、以及平板计算机。这些设备中的一些还提供基于姿势的输入,其中姿势涉及用户的手、手指、身体等的运动。基于姿势的输入的示例是在触摸传感器上向下划,这可被解释成滚动窗口。多触摸的基于姿势的交互技术也变得日益流行,其中用户使用一个以上手指与图形用户界面进行交互以控制和操纵计算机程序。多触摸的基于姿势的输入的示例是触摸传感器上的收聚移动,这可被用来调整所显示的图像的大小(以及可能旋转该图像)。为了启用基于姿势的交互,这些计算设备包括软件形式的姿势识别器,它将触摸传感器信息转换成随后可被映射成软件命令(例如,滚动、缩放等)的姿势。这些姿势识别器通过跟踪用户在触摸传感器上作出的笔划的形状并将这些与库中的姿势模板进行匹配来操作。然而,这一技术是复杂的并且因此或者使用大量处理或者很缓慢并导致姿势识别延迟。此外,如果形状匹配不精确,该技术可能不准确,导致执行非预期命令。另外,随着多触摸输入的流行度的增加,也开发了新类型的多触摸输入设备。例如,已开发了将触摸输入与传统光标输入组合在桌面计算环境中的多触摸鼠标设备。然而, 这些新设备带来了姿势识别方面的新约束和要求。例如,在多触摸鼠标设备的情况下,用户在正常使用中握住、提起、以及移动该设备,这造成在触摸传感器上的偶然或意外的输入。 当前姿势识别器不对触摸传感器上的偶然输入和有意姿势加以区分。以下描述的各实施例不限于解决已知姿势识别技术的缺点中的任一个或全部的实现。

发明内容
下面提供本发明的简要概述以便向读者提供基本的理解。本发明内容不是本发明的详尽概观,并且既不标识本发明的关键/重要元素,也不描绘本发明的范围。其唯一目的是以简化形式提供在此公开一些概念作为稍后提供的更详细描述的序言。描述了姿势识别。在一个示例中,具有触敏部分的输入设备的用户所执行的姿势与该触敏部分上的各区相对应的多个区域的定义来被检测,每一区域与姿势的不同集合相关联。接收描述用户的手指在触敏部分上的移动的数据,并且确定该数据的相关联的区域。 将该数据与相关联的区域的姿势集合相比较,并且选择适用于该数据的姿势。随后可执行与所选择的姿势相关联的命令。在一示例中,将该数据与该姿势集合相比较包括相对于该手指的移动的开始来定位每一姿势的阈值。将手指的位置与每一阈值进行比较以确定是否越过一阈值,并且如果是则选择与该阈值相关联的姿势。许多附带特征将随着参考下面的详细描述并结合附图进行理解而得到更好的认识。


根据附图阅读以下详细描述,将更好地理解本发明,在附图中图1示出具有多触摸鼠标输入设备的计算系统;图2示出用于识别在触敏输入设备上的姿势的过程的流程图;图3示出输入设备上的各区到区域定义的映射;图4示出用于检测姿势的过程的流程图;图5示出对示例平移姿势的识别;图6示出对示例收聚姿势的识别;图7示出可在其中实现姿势识别器的各实施例的示例性的基于计算的设备。附图中使用相同的附图标记来指代相同的部分。
具体实施例方式下面结合附图提供的详细描述旨在作为对本示例的描述,而非表示用于解释或利用本示例的唯一形式。本说明书阐述本示例的功能以及用于构造和操作本示例的步骤序列。然而,相同或等效的功能与序列可由不同的示例来实现。虽然在本文中将本发明的示例描述并示出为在使用多触摸鼠标的台式计算机设备中实现,但是所描述的系统只是作为示例而非限制来提供的。如本领域技术人员将理解的,本发明示例适用于应用在使用各种不同输入设备的各种不同类型的计算系统中。首先参考图1,它示出具有多触摸鼠标输入设备的计算系统。用户使用他们的手 100来操作输入设备102。在图1所示的示例中,输入设备102是多触摸鼠标设备。术语“多触摸鼠标设备”在本文中用来描述可通过由用户移动而作为定点设备来操作并且还可传感由用户的手指所执行的姿势的任何设备。图1的输入设备102在其上表面上包括可以对用户的一个或多个手指106的位置进行传感的触敏部分104。该触敏部分可例如包括电容式或电阻式触摸传感器。在其他示例中,也可以使用光学(基于相机)或机械式触摸传感器。在其他示例中,触敏区域可以位于另外的位置,如位于输入设备的侧面。输入设备102与计算设备108进行通信。输入设备102与计算设备108之间的通信可以采用无线连接(例如,蓝牙)或有线连接(例如,USB)的形式。以下参考图7提供与计算设备的内部结构有关的更多细节。计算设备108连接到显示设备110,并且被安排成控制显示设备110向用户显示图形用户界面。图形用户界面可例如包括一个或多个屏幕上对象112和光标114。在使用中,用户可以用他们的手100在支撑表面上移动输入设备102 (在多触摸鼠标的情况下),并且计算设备108接收与这一运动有关的数据,并将此转换成显示在显示设备110上的屏幕上光标114的移动。另外,用户可以使用他们的手指106来在输入设备102 的触敏部分104上执行姿势,并且与手指的移动相关的数据被提供给计算设备108。计算设备108可以分析手指106的移动来识别姿势,并随后执行相关联的命令,例如来操纵屏幕上对象112。注意,在图1中示出的备选示例中,可以使用不同类型的输入设备。例如,输入设
5备可以采用触摸垫的形式或显示设备108可以是触敏屏幕。可以使用能够提供与用户所执行的姿势有关的数据的任何类型的输入设备。现在参考图2,它示出用于识别在触敏输入设备上执行的姿势的过程的流程图。图 2的流程图可以例如在计算设备108处的处理器上执行。然而,注意,在其他示例中,图2的功能的至少一部分可以在输入设备处执行。首先,计算设备108加载多个区域的定义。该多个区域与位于输入设备102的触敏部分104上的各区相对应。输入设备102的触敏部分104上的各区与用户的一个或多个手指相关联。这在图3中用示例来示出,它示出输入设备102具有被分成多个区的触敏部分 104。第一区300与触敏部分上的主要由用户的拇指触摸的区域相对应。因此,可以想象,从该第一区300开始的姿势可能由拇指执行(也可能由某些其他手指执行)。第二区 302与触敏部分上的主要由用户的拇指以外的手指触摸的区域相对应。第三区304是第一区和第二区之间的重叠区,在这里或者拇指以外的手指或者拇指可能触摸该触敏部分。第四区306与触敏部分104的用户在执行精密尺度滚动姿势时可能进行触摸的区域相对应 (例如,处于与常规鼠标设备上的滚轮相类似的位置)。注意,在一些示例中,各区域可不在输入设备上被标记出,并且因此可不直接对用户可见。图3还示出与触敏部分104上的各区相对应的多个区域308的定义。多个区域308 的定义可以采用各区位于触敏部分104上的何处的计算机可读定义或数学定义的形式。例如,可以定义相对于触敏部分的触摸传感器的坐标系,并且使用这些坐标来定义多个区域。图3的示例具有与第一区300(例如,拇指区)相对应的第一区域310、与第二区 302(例如,拇指以外的手指区)相对应的第二区域312、与第三区304(例如,重叠区)相对应的第三区域314、以及与第四区306(例如,敏感滚动区)相对应的第四区域316。因此,通过使用多个区域308的定义,计算设备108可以根据所检测到的触摸的坐标来确定检测到的触摸位于触敏部分104的哪一区。注意,在其他示例中,也可存在许多其他区,并且可以用不同的方式来放置和/或定向它们。还要注意,尽管多个区域308的定义在图3中被示为矩形,但它可以是映射到输入设备102的触摸传感器的坐标上的任何形状。在一个示例中,输入设备上的各区的形状、大小、和位置可以提前且静态地确定。 例如,可以使用来自输入设备的用户的数据来提前优化各区的形状、大小、和位置,使得它们被定位得对大多数用户有效。在替换示例中,各区可被动态地定义,使得它们根据个体用户的行为来改变。再次返回图2,多个区域的定义可例如从计算设备108处的存储设备或存储器中加载。这可以在用户使用输入设备之前执行(例如,作为加载设备驱动程序的一部分)。计算设备108接收202来自输入设备102的描述用户的一个或多个手指106在输入设备102的触敏部分104上的位置和移动的数据。该数据可以采用包括与触敏部分104 接触的每一手指的坐标(例如,χ和y值)的各帧的时间序列的形式。触摸触敏部分的手指的位置在本文中被称为接触点。注意,该数据可以描述一个以上接触点。计算设备108处理该数据以确定各帧之间是否存在接触点的移动。如果是,并且检测到手指的移动,则存储该移动的起始坐标。相反,如果计算设备108确定接触点没有移动超过预定义的时间段,则用该接触点的当前坐标替换当前存储的该接触点的任何起始坐标。这帮助对手指在输入设备上的有意和无意移动加以区分,并帮助补偿来自触摸传感器的信号中的噪声或抖动。一旦记录了手指的起始坐标,则多个区域308的定义可被用来确定204接触点所处的区域。例如,这可以通过定位多个区域的定义上的起始坐标并标识它所处的区域来执行。随后将这一区域与具有该起始坐标的接触点相关联。多个区域中的每一区域与姿势的不同集合相关联。换言之,每一区域具有在从该区域开始时可在输入设备上输入的姿势的集合。不同区域的姿势集合可以相交(即,共同具有某些姿势)。访问与所述的接触点相关联的区域的姿势集合,并将该姿势集合与关于该接触点的移动的数据进行比较206。数据与姿势集合的比较确定接触点中的一个或多个接触点的移动是否足以检测到来自该姿势集合的姿势。关于姿势检测技术的更多细节在下文参考图4提供。检测到的姿势可以是瞬时姿势(也称为冲击姿势),如轻敲或轻击,或连续姿势 (也称为交互式姿势),如刷、平移、或收聚。如果检测到姿势,则选择这一姿势并且执行208 与该姿势相关联的命令或功能。该命令可以是立即作用于在计算设备108处执行的软件的瞬时命令,如最大化、最小化、或切换窗口的命令。该命令也可以是根据变元来控制的连续命令。例如,如果命令是缩放、旋转、按比例缩放、或滚动命令,则计算设备根据与接触点的移动的大小和/或方向有关的数据生成输出值,并将此作为变元提供给该命令。在这种情况下,该命令在被触发后是连续的,并且对用户手指的移动作出反应。上述姿势识别技术提供检测用户在输入设备上作出的姿势并对姿势作出反应的快速且准确的方式。这一技术使用输入设备如何被用户操作的知识来标识与某些姿势相关联的区域,并且只搜索与该移动所发生的区域相关联的那些姿势。这减少了该识别技术搜索的姿势的数量,并加快了检测。通过在预定义时间段之后将移动的起始坐标重置,只对肯定移动作出反应,并且减少了姿势的无意触发。现在参考图4,它示出可以与以上参考图3描述的技术一起使用的姿势检测过程的流程图。图4的姿势检测过程基于“阈值”的概念,该阈值在概念上可被看作在多个区域 308的定义上绘出的线并且要检测到姿势则必须越过该阈值。这些阈值可以是直线或曲线的形式,并且在本文中被称为“阈值向量”。每一姿势集合中的每一姿势与至少一个阈值向量相关联。当检测到接触点在触敏部分104上的移动并且记录了起始坐标时,确定400适用于该起始坐标所处的区域的各姿势中的每一个姿势的阈值向量。阈值向量是参考该起始坐标来定义的。在概念上,这可被想象成将所述的区域中可用的姿势的每一阈值向量置于相对于接触点的起始坐标的预定义位置处。作为说明性示例,考虑具有起始坐标(7,12)的接触点。点(7,12)所处的区域的姿势集合具有例如两个阈值向量第一个具有垂直向上的5单位位移和向左的3单位位移; 而第二个具有垂直向下的2单位位移和向右的4单位位移。因此,在该示例中,计算设备确定阈值向量的原点需要位于(12,9)和(5,16)处。阈值向量还具有从这些原点开始的大小和方向(和/或可任选的曲率)。在一些示例中,还可使这组阈值依赖于就现存的接触点而言的上下文。例如,可以对适合对一姿势作出贡献的区域中的接触点的数量进行计数,并且这一个值被用于确定所使用的阈值向量。作为示例,如果与滚动姿势相关联的区域中只有一个适合的接触点,则滚动姿势的阈值可被放置得距该接触点的起始坐标较近,因为这允许该姿势被更快速地触发并且不可能旨在作出其他姿势。相反,如果这一区域中存在两个手指,则阈值可被放置得距起始坐标较远,以提供用于形成多手指姿势的更大回旋余地。对于正在移动的每一接触点(即,从起始坐标移动),将该接触点的当前坐标与适用于该接触点的每一阈值向量进行比较402。在一个示例中,以任意顺序将接触点的当前坐标与每一阈值向量进行比较。在另一示例中,向每一阈值向量分配优先级值,并且以优先级值的次序将当前坐标与每一阈值向量进行比较。这使得更普遍使用的姿势或对时间敏感的姿势被给予更高的优先级,并且因而与具有较低优先级的姿势相比被更快速地检测。随后确定404该接触点在其当前坐标处是否越过阈值向量。如果否,则该过程在数据中的下一运动帧之后回头检查。如果接触点的当前坐标指示该接触点相对于其起始坐标已越过阈值向量,则存储406与所越过的阈值向量相关联的姿势(例如,存储在计算设备 108处的存储器或其他存储设备中)。随后确定408所存储的姿势是可由单个手指的移动还是来自多个手指的移动来触发的姿势,。如果所存储的姿势是单手指姿势,则选择410所存储的姿势来执行,如以上参考图3所描述的。然而,如果所存储的姿势是多手指姿势,则确定412同一姿势是否先前也作为该姿势的阈值向量被足够的附加接触点(即,不同手指)所越过的结果而被存储了。如果否,则这指示尚没有足够的接触点越过了与该多手指姿势相关联的阈值向量,并且该过程回头寻找所越过的阈值向量,直至另一手指也越过与该姿势相关联的阈值向量为止。换言之,对于多手指姿势,在该姿势被触发之前,这些手指中的每一个的阈值向量被越过。例如,对于两手指姿势,则在触发该姿势之前两个阈值(每一手指一个阈值)被越过。然而,如果确定同一姿势先前已经作为所需数量的不同手指越过与该姿势相关联的阈值向量的结果而被存储了,并且对于该姿势不需要更多的手指,则选择410所存储的姿势来执行,如以上参考图3所描述的。现在参考图5和6,它们示出图4中的过程的操作的示例。图5示出单手指姿势的示例,并且图6示出多手指姿势的示例。图5示出对多个区域308上的示例平移姿势的识别。用户从输入设备102的触敏部分104上的与图5中所示的起始坐标500相对应的点处开始移动他们的手指。起始坐标 500位于第二(拇指之外的手指)区域312。计算设备108确定第二区域312与特定姿势集合相关联。如上所述,该姿势集合中的每一姿势与至少一个阈值向量相关联。计算设备 108确定这些姿势中的每一个的这些阈值向量中的每一个相对于起始坐标500而言位于何处。例如,作为说明,图5示出一组四个姿势,每一姿势具有一个阈值向量。图5中示出了具有相关联的向上平移阈值向量502的向上平移姿势、具有相关联的向右平移阈值向量504的向右平移姿势、具有相关联的向下平移阈值向量506的向下平移姿势、以及具有相关联的向左平移阈值向量508的向左平移姿势。在其他示例中,第二区域312的姿势集合中可存在更多姿势,但在此出于简明目的没有示出这些姿势。图5中所示的四个姿势的组合形成围起起始坐标500的矩形。在用户手指的运动的每一帧处,检查手指的当前坐标是否越过这四个阈值向量中的任一个。换言之,确定用户手指的移动是否使该手指处于由该四个阈值向量形成的矩形之外。图5示出用户的手指垂直向上移动的示例,并且在点510处,移动的路径越过向下平移阈值向量510 (在该示例中,用户手指的移动就如同它在操作滚轮一样来解释,即用户向上划产生了向下滚动)。在该示例中,因为向下平移姿势是单手指姿势,所以该姿势可通过该一个手指越过该阈值而被立即触发。于是检测到向下平移姿势并执行,以便跟踪用户手指的后续移动(例如,沿着垂直路径51 并提供输入来控制显示在显示设备110上的用户界面。例如,用户可以在显示在用户界面中的图像上向下平移与由用户的手指所沿的垂直路径512(以及可任选地,移动的速度)相关的量。图6示出另一示例,在这种情况下是使用多个手指的示例收聚姿势。用户从输入设备102的触敏部分104上的与图6中的起始坐标600相对应的点处开始移动第一手指。 该第一起始坐标600位于第二区域312。计算设备108确定第二区域312与一姿势集合相关联,该姿势集合中的每一姿势与至少一个阈值向量相关联。计算设备108确定这些姿势中的每一个的这些阈值向量中的每一个相对于起始坐标600而言位于何处。为简明起见,图6只示出了单个姿势的阈值向量,但在其他示例中也可包括许多其他姿势。图6中示出的示例姿势是收聚姿势,并且这具有相关联的阈值向量602。因为这是收聚姿势,所以阈值向量602相对于起始坐标600而言被定位成朝向触敏部分的中心。另外,用户还从输入设备102的触敏部分104上的与起始坐标604相对应的点处开始移动第二手指。该第二起始坐标604位于第三区域314。计算设备108确定第三区域 314与一姿势集合相关联,该姿势集合中的每一姿势与至少一个阈值向量相关联。计算设备108确定这些姿势中的每一个的这些阈值向量中的每一个相对于起始坐标602而言位于何处。在该示例中,第三区域314也与该收聚姿势相关联(为简明起见未示出其他姿势)。 在该示例中,收聚姿势具有相对于起始坐标604的阈值向量606。同样,因为这是收聚姿势, 所以阈值向量606相对于起始坐标604而言被定位成朝向触敏部分的中心。在图6的示例中,用户从起始坐标600沿路径608移动他们的手指,并且在点610 处越过阈值向量602。然而,因为与阈值向量602相关联的姿势是两手指姿势,所以该姿势未被立即触发。相反,计算设备108记录阈值向量602已被越过,并等待直至与该姿势相关联的另一阈值被越过为止。用户还可以从起始坐标604沿路径612移动他们的其他手指,并在点612处越过阈值向量606。计算设备108确定这是越过与收聚姿势相关联的阈值向量的第二手指,并且因此,因为这是两手指姿势,所以它可触发该姿势的执行。在触发收聚姿势之后,跟踪用户的手指的进一步移动,例如沿路径608和612,并提供输入以控制显示在显示设备110上的用户界面。例如,用户可以通过与用户手指所执行的收聚移动的大小和/或速度有关的量来缩小用户界面中显示的图像。上述姿势识别技术允许快速且高效地检测在输入设备上执行的姿势。用户如何使用输入设备的知识使得能够将该输入设备的触敏部分划分成各区域,每一区域与姿势的不同集合相关联。这减少了搜索匹配的姿势所花费的时间量,因为只搜索可从特定区域执行的那些姿势。 与形状匹配技术不同,使用阈值向量来检测并触发姿势可被快速且在无需大量计算的情况下执行。这允许在最小计算开销的情况下包括大量姿势。该过程按照简单“比赛” 来操作以找出(在该示例中由多个手指)所越过的第一阈值向量。另外,使用阈值向量确保必须作出肯定移动才能越过阈值并触发姿势,从而减少无意的姿势触发。注意,一旦接触的集合被识别为形成一姿势,则所有其他并发接触可被标记为被忽略,并且还使得形成该姿势的各接触对其他姿势不可用。例如,在鼠标设备的情况下,如果一个手指开始滚动姿势,则所有其余接触被认为只是负责把持该鼠标设备并且不被用于姿势识别中。类似地,在该示例中,滚动接触可以只是滚动姿势的一部分,并且不能成为两个手指姿势的一部分。现在参考图7,它示出计算设备108的各组件。计算设备108可被实现成其中可实现姿势识别技术的处理的任何形式的计算和/或电子设备。计算设备108包括一个或多个处理器702,这些处理器可以是用于处理计算机可执行指令以控制该设备的操作以便实现姿势识别技术的微处理器、控制器或任何其他合适类型的处理器。计算设备108还包括被安排成接收并处理来自诸如输入设备102等一个或多个设备的输入的输入接口 704。计算设备108还包括被安排成将用户界面输出给显示设备110 的输出接口 706。计算设备108还包括可被安排成与一个或多个通信网络进行通信的通信接口 708。例如,通信接口 708可以将计算设备108连接到网络(例如,因特网)。通信接口 708 可以使计算设备108能够与其他网络元件进行通信以存储和检索数据。可以使用可由计算设备108访问的任何计算机可读介质来提供计算机可执行指令和数据存储。计算机可读介质可以包括例如诸如存储器710等计算机存储介质和通信介质。诸如存储器710等计算机存储介质包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EPROM、EEPR0M、闪存或其他存储器技术、 CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可用于存储供计算设备访问的信息的任何其他介质。相反,通信介质可以以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或者其他数据。虽然在计算设备108中示出了计算机存储介质(诸如存储器710),但将明白,该存储可以是分布式的或位于远处并经由网络或其他通信链路(例如,使用通信接口 708)来访问。可以在计算设备108的存储器710处提供包括操作系统712或任何其他合适的平台软件的平台软件以使得能够在该设备上执行应用软件714。存储器710可以存储可执行指令,当该可执行指令在处理器702上执行时,实现上述区域映射引擎616 (被安排成将输入设备的触敏部分的各区域映射到姿势集合)、阈值检测引擎718(被安排成定位阈值向量并检查它们何时被越过)、以及移动和跟踪引擎720 (被安排成检测移动起始并存储起始坐标且跟踪该移动)的功能。存储器710还可提供数据存储724,数据存储7M可被用来提供对处理器702在执行姿势识别技术时所使用的数据的存储。此处使用的术语‘计算机’表示具有处理能力以使其能够执行指令的任何设备。本领域技术人员将认识到这些处理能力被结合到许多不同设备中,并且因此术语‘计算机’包括PC、服务器、移动电话、个人数字助理和许多其他设备。
本文描述的方法可由有形存储介质上的机器可读形式的软件来执行,例如计算机程序的形式,该计算机程序包括在该程序在计算机上运行时适用于执行本文描述的任何方法的所有步骤的计算机程序代码装置并且其中该计算机程序可被包括在计算机可读介质上。有形(或非暂态)存储介质的示例可包括盘、拇指型驱动器、存储器等并且不包括传播信号。软件可适于在并行处理器或串行处理器上执行以使得各方法步骤可以按任何合适的次序或同时执行。这确认了软件可以是有价值的、可单独交易的商品。它旨在包含运行于或者控制 “哑”或标准硬件以实现所需功能的软件。它还旨在包含例如用于设计硅芯片,或者用于配置通用可编程芯片的HDL(硬件描述语言)软件等描述摂或者定义硬件配置以实现期望功能的软件。本领域技术人员将认识到用于存储程序指令的存储设备可分布在网络上。例如, 远程计算机可存储描述为软件的该过程的示例。本地或终端计算机可访问远程计算机并下载该软件的一部分或全部以运行该程序。或者,本地计算机可按需下载软件的片断,或可以在本地终端处执行一些软件指令而在远程计算机(或计算机网络)处执行一些软件指令。 本领域技术人员将认识到,通过使用本领域技术人员已知的常规技术,软件指令的全部或部分可由诸如DSP、可编程逻辑阵列等专用电路来执行。如本领域技术人员将清楚的,此处给出的任何范围或者设备值都可以被扩展或者改变而不失去所寻求的效果。可以理解,上述各好处和优点可涉及一个实施例或者可涉及若干实施例。各实施例不限于解决所述问题中的任一个或全部的实施例或具有所述好处和优点中的任一个或全部的实施例。还可以理解,对‘一个’项目的引用指的是这些项目中的一个或多个。本文中描述的各方法步骤可以在适当时按任何合适的次序或同时执行。另外,可从任一种方法中删除各个框,而不背离此处所述的主题的精神和范围。上述示例中的任一个的各方面可以与所述其他示例中的任一个的各方面组合以形成其他示例而不失去所寻求的效果。术语‘包括’此处用来指包括所标识的方法框或元素,但这些框或元素不构成排他列表,并且方法或装置可包含附加框或元素。可以理解,上面对一较佳实施例的描述只是作为示例给出并且本领域的技术人员可以做出各种修改。以上说明、示例和数据提供了对本发明的各示例性实施例的结构和使用的全面描述。虽然上文以一定的详细度或参考一个或多个单个实施例描述了本发明的各实施例,但是,在不偏离本发明的精神或范围的情况下,本领域的技术人员可以对所公开的实施例作出很多更改。
权利要求
1.一种检测由具有触敏部分(104)的输入设备(10 的用户所执行的姿势的计算机实现的方法,包括在处理器(70 处加载与所述输入设备(10 的触敏部分(104)上的各区相对应的多个区域(308)的定义,其中所述多个区域中的每一区域与不同的姿势集合相关联;在所述处理器(70 处接收描述所述用户的至少一个手指(106)在所述输入设备 (102)的触敏部分(104)上的移动的数据;根据所述数据和所述多个区域(308)的定义来确定所述数据的相关联的区域; 将所述数据与所述相关联的区域的姿势集合进行比较并选择适用于所述数据的姿势;以及在所述处理器(70 上执行与所选择的姿势相关联的命令。
2.如权利要求1所述的方法,其特征在于,所述数据包括所述手指或每一手指(106)的起始坐标以及所述手指或每一手指(106)的当前坐标。
3.如权利要求2所述的方法,其特征在于,每一姿势集合中的每一姿势由位于相对于所述起始坐标的预定义位置处的至少一个阈值向量来定义。
4.如权利要求2或3所述的方法,其特征在于,所述比较步骤包括对于所述手指或每一手指(106),将所述当前坐标与所述相关联的区域的姿势集合中的每一阈值向量进行比较以确定所述手指(106)的始自所述起始坐标的移动是否越过该阈值向量,并且如果是, 则存储与该阈值向量相关联的姿势。
5.如权利要求4所述的方法,其特征在于,在所存储的姿势是单手指姿势的情况下,选择适用于所述数据的姿势的步骤包括选择所存储的姿势,并且其中在所存储的姿势是使用来自预定义数量的手指的输入的姿势的情况下,选择适用于所述数据的姿势的步骤包括在为所述预定义数量的手指存储了同一姿势的情况下选择该姿势。
6.如权利要求2到5中的任一项所述的方法,其特征在于,还包括根据所述数据检测手指(106)尚未从其当前坐标移动超过预定义时间段的步骤,并且如果是,则用该手指(106) 的当前坐标替换所述起始坐标。
7.一种计算机系统,包括 存储器(710);输出接口 (706);输入接口(704),所述输入接口被安排成接收来自具有触敏部分(104)的输入设备 (102)的数据,所述数据描述用户的至少一个手指(106)在所述触敏部分(104)上的移动; 以及处理器(702),所述处理器被安排成经由所述输出接口(706)在显示设备(110)上显示用户界面,从所述存储器(710)加载与所述输入设备(10 的触敏部分(104)上的各区相对应的多个区域(308)的定义,根据所述数据和所述多个区域(308)的定义来确定所述数据的相关联的区域,将所述数据与所述相关联的区域的姿势集合进行比较以选择适用于所述数据的姿势,以及根据与所选择的姿势相关联的功能经由所述输出接口(706)更新所述用户界面,其中所述多个区域中的每一区域具有与其相关联的不同姿势集合。
8.如权利要求7所述的计算机系统,其特征在于,所述输入设备(102)是多触摸鼠标设备。
9.如权利要求7或8所述的计算机系统,其特征在于,所述输入设备(102)的触敏部分 (104)上的各区与触敏部分(104)的关联于所述用户的手指(106)中的一个或多个手指的各区域相对应。
10.一个或多个具有设备可执行指令的有形的设备可读介质,所述设备可执行指令在由计算系统执行时使得所述计算系统执行以下步骤从存储器(710)加载与鼠标设备的触敏部分(104)上的各区相对应的多个区域(308) 的定义,其中所述多个区域中的每一区域与不同的姿势集合相关联;接收描述用户的手指(106)在所述鼠标设备的触敏部分(104)上的移动的数据,其中所述数据包括所述手指的起始位置和当前位置;根据所述起始位置和所述多个区域(308)的定义来确定所述数据的相关联的区域,并且对于所述相关联的区域的姿势集合中的每一姿势,计算至少一个阈值向量相对于所述起始位置的放置;将所述当前位置与所述相关联的区域的姿势集合中的每一阈值向量进行比较以确定所述手指(106)的始自所述起始位置的移动是否越过该阈值向量,并且如果是,则存储与该阈值向量相关联的姿势;以及执行与所选择的姿势相关联的命令。
全文摘要
描述了姿势识别。在一个示例中,具有触敏部分的输入设备的用户所执行的姿势使用与该触敏部分上的各区相对应的多个区域的定义来被检测,每一区域与不同的姿势集合相关联。接收描述用户的手指在触敏部分上的移动的数据,并且确定该数据的相关联的区域。将该数据与相关联的区域的姿势集合相比较,并且选择适用于该数据的姿势。随后可执行与所选择的姿势相关联的命令。在一示例中,将该数据与该姿势集合相比较包括相对于该手指的移动的开始来定位每一姿势的阈值。将手指的位置与每一阈值进行比较以确定是否越过一阈值,并且如果是则选择与该阈值相关联的姿势。
文档编号G06F3/041GK102541304SQ20111038613
公开日2012年7月4日 申请日期2011年11月18日 优先权日2010年11月19日
发明者P·J·安塞尔, S·伊扎迪 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1