利用空间和时间特征识别触摸传感器数据中的接触和接触属性的制作方法

xiaoxiao2020-7-22  12

利用空间和时间特征识别触摸传感器数据中的接触和接触属性的制作方法
【专利摘要】通过随着时间对触摸传感器进行采样,触摸传感器提供触摸传感器数据的各帧。对来自多个帧的触摸传感器数据的空间和时间特征以及先前各帧中的接触和接触属性进行处理,以便识别当前帧中的接触和接触属性。接触的属性可以包括接触是否可靠、是否在收缩、是否在移动或者是否与指尖触摸有关。接触的特性可以包括关于接触的形状和变化速率的信息,其中包括但不限于它的像素总和、它的形状、它的尺寸和取向、运动、平均强度以及长宽比。
【专利说明】利用空间和时间特征识别触摸传感器数据中的接触和接触属性
[0001]背景
被称作多点触摸器件的一类计算机输入器件包括具有触摸传感器的器件,所述触摸传感器可以感测该传感器上的多于一个位置处的接触。用户在触摸传感器上触摸所述器件以便提供触摸输入,并且可以在一个或更多位置处与触摸传感器发生接触。触摸传感器的输出指示在触摸传感器上的不同位置处发生接触的强度或压力。通常来说,触摸传感器的输出可以被视为图像,即二维数据,其中一个像素的量值代表在传感器上的典型地用X、y坐标指定的位置处的强度或压力。对该图像进行处理,以便识别传感器上的被触摸的位置,其被称作“接触”。通过定位其中平均像素强度高于一阈值的区域来识别接触。接触的x、y位置通常由该区域的质心确定。
[0002]关于触摸传感器上的接触的信息(比如它们的位置和运动)通常被用来辨识出用户正在执行的手势。关于手势的信息又被作为用户输入提供给计算机上的其他应用,其典型地指示由用户输入的命令。
[0003]在处理关于接触的信息方面的一些挑战包括区分(disambiguating)多点接触与单点接触,以及区分有意接触运动与意外接触运动。如果接触和接触运动没有被良好地区分,则手势将被不正确地处理,并且将导致不合意图的应用行为。

【发明内容】

[0004]提供本
【发明内容】
以便以简化形式介绍将在后面的【具体实施方式】中进一步描述的一系列概念。本
【发明内容】
不旨在标识所要求保护的主题内容的关键特征或必要特征,也不旨在被用来限制所要求保护的主题的范围。
[0005]触摸传感器数据包括随着时间从触摸传感器采样的多个帧。对来自多个帧的触摸传感器数据的空间和时间特征以及先前各帧中的接触和接触属性进行处理,以便识别当前帧中的接触和接触属性。举例来说,可以对触摸传感器数据进行处理以便识别帧中的连接分量,随后又对所述连接分量进行处理以便识别与这些连接分量相对应的接触。可以使用可能性模型来确定逐帧跟踪的接触与分量之间的对应性。对接触的特性进行处理以便确定接触的属性。接触的属性可以包括接触是否可靠、是否在收缩、是否在移动或者是否与指尖触摸有关。接触的特性可以包括关于接触的形状和变化速率的信息,包括但不限于它的像素总和、它的形状、它的尺寸和取向、运动、平均强度以及长宽比。
[0006]相应地,本发明的主题在各个方面可以被体现在计算机实现的过程、制造产品和/或计算机器中。来自触摸传感器的触摸传感器数据被接收到存储器中,其中触摸传感器数包括随着时间从触摸传感器采样的多个帧。利用处理器件对来自多个帧的触摸传感器数据的空间和时间特征以及先前各帧中的接触和接触属性进行处理,以便识别当前帧中的接触和接触属性。进而,把关于所识别的接触和接触属性的信息提供给应用。
[0007]举例来说,可以在触摸传感器数据的帧中的识别一个或更多连接分量。对所述分量进行处理以便识别对应于所述分量的接触。对例如形状信息和变化速率之类的接触特性进行处理,以便确定在所述帧中识别的接触的属性。
[0008]在一些实施例中,对连接分量的处理包括把前一帧中的接触速度应用到所述前一帧中的接触位置,以便提供所述帧中的可能接触位置。把所述帧中的可能接触位置与所述帧中的连接分量的位置进行比较。
[0009]可以生成所述分量的分割标签。可以利用分割标签把接触与分量相关联。分割标签可以涉及在分量大于预期的接触的情况下把该分量分割成两个或更多分量。此外,如果两个或更多个接触被识别为对应于一个分量,则可以把用于每个接触的可能性模型应用于该分量。选择具有最高可能性的接触作为对应于所述分量的接触。所述可能性模型可以是根据前一帧中的接触速度和位置而以所述帧中的可能接触位置为中心的高斯模型。
[0010]在一些实施例中,接触的特性包括变化速率。举例来说,如果接触的像素总和自从上一帧以来改变没有超过阈值并且所述像素总和大于最小像素总和,则所述接触被标记为可靠。在其他实施例中,所述特性包括接触尺寸的变化。举例来说,如果接触中的所有像素的像素值小于来自前一帧的所述接触的相应像素值,则所述接触被标记为收缩。如果接触被标记为收缩,则可以把所述接触的位置设定到来自前一帧的所述接触的位置。
[0011]在后面的描述中将参照构成本公开内容的一部分的附图,其中通过说明的方式示出了具体的示例性实现方式。应当理解的是,在不背离本公开内容的范围的情况下可以构造其他实现方式。
【专利附图】

【附图说明】
[0012]图1是可以在其中使用多点触摸器件的示例性操作环境的框图。
[0013]图2示出了接触列表的示例性数据结构。
[0014]图3A、3B和3C示出了来自触摸传感器的传感器数据的示例性图像。
[0015]图4是接触处理模块的一种示例性实现方式的数据流程图。
[0016]图5是描述连接分量分析的一种示例性实现方式的流程图。
[0017]图6是描述分割标签的一种示例性实现方式的流程图。
[0018]图7是描述接触对应性分析的一种示例性实现方式的流程图。
[0019]图8是可以在其中实现这样的系统的示例性计算机器的框图。
【具体实施方式】
[0020]后面的章节提供了可以在其中使用所述多点触摸指示器件的示例性操作环境。
[0021]参照图1,运行在计算机上的应用114对来自具有触摸传感器的多点触摸器件102的用户输入做出响应。器件102把触摸传感器数据104提供给所述计算机。触摸传感器数据是指示栅格上的若干点处的接触的强度或压力的值的二维阵列,随着时间对其进行采样以产生帧序列。所述传感器可以是电容性、电阻性或光学传感器。器件102还可以提供来自其他传感器的附加数据,比如位置数据、按钮数据等等。所述计算机包括接触处理模块106,其处理来自计算机上的输入器件的数据。接触处理模块106可以被实现在作为用户级过程运行在计算机上的用于器件102的动态链接库内。在其中器件102是人类接口器件(HID)类的通用串行总线(USB)器件的一种实现方式中,该库接收由用于该类器件的驱动器提供的数据。其他架构实现方式也是可能的,并且本发明不限于特定架构。[0022]接触处理模块106从器件102接收来自一个采样时间的触摸传感器数据104,并且提供指示计算机所确定的触摸传感器上的接触以及这样的接触的属性的接触信息108。接触信息108至少部分地基于将各接触彼此区分、跟踪接触运动、并且利用来自多个帧的触摸传感器数据的空间和时间特征以及先前各帧中的接触和接触属性来导出接触属性。这样的特征可以包括接触形状和该形状的变化速率的特性以及其他属性。所述接触信息包括关于在给定时间点检测到的接触的信息,而且还包括来自一个或更多先前时间点的接触信息。接触可以由标识符和位置(比如x/y坐标)以及其他信息(比如接触的边界框、像素权重、像素计数或其他特性特征)来表征。
[0023]手势辨识模块110通常把接触信息108当作输入,并且作为其输出提供手势信息112。该信息可以包括关于由用户执行的手势种类的指示以及其他有关信息。手势信息112被提供个一项或更多项应用114。手势典型地指示来自用户的用以控制应用114的行为的命令或其他输入。本发明不限于手势辨识的任何具体实现方式或使用。
[0024]给定本上下文,现在将结合图2-7更加详细地描述接触处理模块106的示例性实现方式。
[0025]在一种实现方式中,所述接触处理模块生成关于接触和接触属性的信息,比如每一帧的接触列表。所述接触列表是在传感器数据中识别的接触的列表,其中每一个接触具有标识符和若干属性。在一种实现方式中,接触意图表示指尖与触摸传感器接触的点。在图2中示出了用于该信息的示例性数据结构。接触列表200包括接触202的列表。接触的数据结构包括代表所述接触的标识符204和所述接触的位置206的数据,所述位置可以是接触的质心的X、y坐标。附加的属性可以包括可靠性标志208,其指示所述接触是否被计算机辨识为接触的足够可靠的指示符。收缩标志210指示接触面积是否在收缩。指尖标志212指示所述接触是否可能是来自指尖的接触。接触的属性还可以包括像素计数214、像素总和216和像素形状218。其他属性(未在图2中示出)包括看到所述接触的次数、接触的速度以及时间戳(以便允许从所述接触在某一后续时间的后续位置来计算速度)。
[0026]在识别传感器数据中的指尖接触方面存在若干挑战。
[0027]首先,用户并不总知道他们正在如何握持和触摸输入器件,正如后面将描述的那样。具体来说,用户并不总是尝试按照提供可容易识别的指尖接触的方式来接触触摸传感器。此外,用户可能会改变握持输入器件的姿态或握法。由于触摸传感器或者从传感器抬起手指、旋转手指、重握或者改变触摸的压力而导致的手指运动也可能会影响传感器数据。
[0028]其次,由于从输入器件向计算机的传感器数据的传输的缘故,传感器数据可能存在噪声。对于这一传输的干扰可能会在传感器数据中产生错误或噪声。
[0029]第三,传感器数据中的像素强度不是绝对的。相反,对于每一个像素所看到的强度可能取决于输入器件如何握持、该像素在传感器内的位置(并非所有像素都具有相等的响应)、以及所接触的像素的数量和位置。
[0030]在图3A到3C的图像中示出了待解决的一些示例性问题。图3A示出了从不同的指尖接触得到的传感器图像300。所述传感器图像包括离散的连接分量的集合。在这里,传感器图像中的连接分量是彼此“紧邻”的像素集合。例如可以利用被称作“连接分量分析”的标准图像处理技术来确定分量是否连接。举例来说,存在三个连接分量302、304和306,其分别对应于一个指尖接触。该图用圆圈指示每一个接触的质心。图3B中的指尖接触足够靠近,从而它们用单一连接分量310来代表。这种情况在这里被称作“合并接触”,因为由两个触摸结果所激活的像素被合并到单一连接分量中。在某些情况下,多于两个手指可以得到具有单一连接分量的传感器图像,其中具有三个或更多合并的接触。在某些情况下,从手的其他部分与触摸传感器接触而得到传感器图像。例如在图3C中,传感器图像320是从单一手指触摸传感器而得到的,但是手指放倒而不仅仅是指尖触摸。如果对从该图像得到的相连分量应用质心计算,则该位置将处在手指的中部(322处)而不是指尖的中部(324处)。在其他情况下,整只手可以停留在传感器上。
[0031]现在参照图4,现在将更加详细地描述关于如何能够对所述图像进行处理从而在各个指尖接触之间进行区别以便提供接触列表(比如图2中)的一种示例性实现方式,这是利用来自多个帧的触摸传感器数据的空间和时间特征以及先前各帧中的接触和接触属性实现的。
[0032]传感器图像400被输入到连接分量分析模块402,其输出是标签位图404。标签位图的尺寸与传感器图像相同,其中所有值最初都被设定到零。零是指示像素不属于任何标签的保留值。否则,标签位图中的像素值指示所述像素作为其成员的分量。因此,由存储在标签位图的相应像素中的值指定传感器图像中的像素所属的分量。后面将更加详细地描述用于生成标签位图的一种实现方式。
[0033]此外还由分割标签分析模块406施行第二标签,其被称作分割标签。分割标签的过程类似于处理标签位图,其不同之处在于,低于阈值的所有值都被视为等于零,并且执行附加的后处理步骤。分割标签有助于识别单一连接分量包括合并的接触或者并非指尖的接触的情况。模块406的输出是分割标签位图408。后面将更加详细地描述用于分割标签的一种实现方式。
[0034]标签位图404和分割标签位图408被输入到接触对应性分析模块410。任何先前的接触列表412 (来自一个或更多先前帧)也被模块410使用。接触对应性分析模块确定当前传感器图像中的哪一个接触最有可能对应于来自先前米样时间的接触列表中的每一个接触。在适当情况下对于当前采样时间把接触删除和/或添加到接触列表中。模块410还对传感器图像进行处理以便评估并设定每一个接触的各种标志和属性。模块410的输出是当前帧的接触列表414,其对于后续帧变为先前接触列表412。后面将更加详细地描述用于模块410的一种实现方式。
[0035]随后使得两个接触列表412和414 (其中一个对应于当前采样时间,另一个对应于前一帧)可用于应用,比如执行手势辨识的应用。
[0036]现在将结合图5的流程图描述连接分量分析模块402的一种示例性实现方式。
[0037]首先创建500并初始化新的标签位图。所述位图被从上到下、从左到右遍历,并且其尺寸与传感器数据相同。所述处理开始于选择502来自传感器数据的下一个源像素。对于标签位图中的每一个像素,如果在504处确定传感器数据中的相同位置处的源像素是零,则如502处所示继续到下一个像素。否则通过分析几个条件来处理该像素。如果在506处确定当前像素上方的标签像素为非零,则把当前标签像素设定508到该值。如果在510处确定左侧的标签像素为非零并且上方的标签像素为非零,则指示512所述标签是同一分量的一部分。如果在514处确定左侧的标签像素为非零并且上方的标签像素为零,则把当前标签像素设定516到左侧像素的值。如果在518处确定上方像素和左侧像素都未被加标签,则创建520新的标签并且把当前标签设定到该像素值。如果在522处确定还没有处理最后一个像素,则随后处理502下一个像素。在处理完成之后,一些标签像素可能具有两个或更多等效标签。再次逐行且逐列遍历所述位图以便把具有两个或更多标签的任何标签像素减少524到单个标签。再次遍历所述位图,从而把各个标签重新编号526以便填充连续整数范围。
[0038]现在将结合图6的流程图描述分割标签模块406的一种示例性实现方式。分割标签类似于图5的原始标签,但是其阈值被设定到高于零的一个值(例如在未缩放传感器位图值中是二)。因此,图6的过程包括利用非零阈值创建600分割标签位图。接下来,利用分割标签图对标签位图进行水平扫描602以找到各单个标签中的间隙。每当找到这样的间隙时,就将这些标签分割604成两个或更多标签。此外还对标签位图进行水平扫描606以找到太宽而不能是单个指尖的标签。这些标签被分割608成两个或更多标签。此外还对标签位图进行垂直扫描610以找到太高而不能是指尖的标签。这些标签被分割612成两个或更多标签。
[0039]所得到的标签位图和分割标签位图被传递到接触对应性分析模块。
[0040]接触对应性分析模块410的目的是提供关于从一帧到下一帧的接触的信息的连续性。举例来说,目的是从其中指尖第一次触摸传感器的帧开始直到其中指尖从传感器移开的帧为止,为代表所述指尖的接触提供相同的标识符。但是如果指尖发生触碰,随后移动,并且随后再次发生触碰,则其接触对于第二次触摸将具有新的标识符。通过确保接触信息具有连续性,使用接触信息的其他应用可以使用所述标识符来检查接触从一个采样时间到另一个采样时间的运动。
[0041]现在将结合图7的流程图来描述接触对应性分析模块410的一种示例性实现方式。首先对于现有接触列表(例如412)中的每一个现有接触,将标签位图中的分量识别700为该接触最有可能移动到的地方,这是基于所述接触的先前位置、速度以及自从上一帧之后经过的时间而实现的。所述接触被视为该分量的一个候选。随后对于每一个分量,评估702候选接触。目的是对于每一个分量选择或创建来自候选接触当中的一个接触,即最佳拟
口 ο
[0042]例如对于每一个分量,将其候选接触的数量与分割标签进行比较。如果用于所述分量的分割标签多于接触,则创建附加的接触,其中为每一个附加接触分配一个不具有候选接触的分割标签。如果恰好有一个分割标签并且恰好有一个候选接触,则利用所述分量的特性更新所述候选接触,并且完成该分量的对应性。
[0043]对于具有多个候选接触的分量的分割标签,对于每一个接触创建模型以便评估所述接触是所述分量的正确的相应接触的可能性。举例来说,可以对于每一个接触计算可能性,并且可以把具有最高可能性的接触选择成对应于所述分量的接触。
[0044]举例来说,可以使用以所述接触的预期位置为中心的高斯模型,并且使用所述接触的协方差矩阵作为西格玛矩阵。对于所述分量中的每一个点亮的像素,计算其属于每一个模型的可能性。如果所述可能性高于阈值,则对于每一个模型存储所述像素的像素位置、可能性和权重。随后从对于每一个模型存储的像素位置、可能性和权重计算每一个模型的中心。该中心是对应于所述模型关联的接触的新位置(而不是所述模型以之为中心的原始位置)。接下来,如果一个模型与另一个模型过于靠近或者可能性过小,则可以删除该模型,并且可以把相关联的接触标记为终结。
[0045]在对候选接触进行了处理之后,进一步处理704接触以便设定标志和其他属性。举例来说,如果一处接触先前被标记为“终结”,则将其删除。如果所述接触不与分量匹配,则将其标记为终结。所述接触的模型属性被更新为包括其协方差矩阵。所述接触被看到的次数以及其他属性(例如速度、时间标记)也可以被更新。如果所述接触是对于该帧刚刚创建的,则可以设定“起始”标志。如果一处接触被设定了起始和终结标志二者,则其可能是错误并且可以将其删除。
[0046]可以利用关于接触的空间特征(比如形状信息)来施行其他分析,以便确定所述接触的其他属性。举例来说,接触的形状信息以及其如何随时间改变可以被用来确定所述接触是否稳定、是否在移动、是否在抬起、是否在触摸、是否在增大(变大)、是否在减小(收缩)等等。形状信息可以包括:绝对尺寸信息,比如面积或周长或像素数目;或者粗略形状信息,比如边界框、围绕接触的凸包的长度和宽度或者长宽比;或者边缘信息,比如构成围绕接触的边缘的线段;或者描述所述接触的数据的模型拟合的模型信息。可以使用比较信息,比如接触与其他接触相比较的尺寸和形状情况,或者关于来自不同时间点的相同接触的信肩、O
[0047]还可以使用基于用户的预期处置的信息。举例来说,长的接触典型地对应于手指。此外,在典型的使用期间,具有若干接触的垂直分量可能具有对应于单个手指的所有接触。
[0048]像素信息和这一信息的改变速率也可以被用来帮助定义接触的属性或者区分各接触,所述像素信息比如灰度信息、像素总和、像素计数和直方图。
[0049]下面是从该形状信息确定各属性的一些具体实例,其中包括识别接触是否可能是指尖、是否可靠或者是否在收缩。
[0050]下面是确定接触是否可能是指尖的一种示例性方式。在给定接触的情况下,如果在传感器数据中的特定距离(例如代表归一化接触宽度的距离)内不存在具有更低Y值的其他接触,则其可能是最上方的接触并且对应于可能的指尖。因此,这样的接触可以被标记为指示其可能是指尖。
[0051]确定接触是否可以被标记为可靠的一种示例性方式是分析其随时间的变化速率。如果所述变化速率小于阈值,则所述接触可以被标记为可靠。可以使用接触的多种特性当中的任一种,比如其形状或其像素数据。举例来说,可以分析像素总和随时间的变化速率。下面是这方面的一种示例性实现方式。如果其像素总和自从上一帧之后的改变没有超过第一阈值,并且其像素总和大于最小像素总和。所述最小像素总和是指示用于被视为可靠的接触的最小像素总和的阈值。但是如果所述接触是例如通过被应用于分量尺寸的阈值而确定的一个高而细的分量的一部分,则可以清除指示其可靠的标志。在确定是否从接触辨识手势之前,该接触是否可靠可以被手势辨识引擎用作考虑因素。此外,有时在几帧内平滑关于接触的其他信息,比如其位置。当接触被指示为不可靠时可以暂停这样的平滑操作。
[0052]确定接触是否在收缩的一种示例性方式涉及分析其形状或边界或像素内容的变化速率。其形状及其变化速率的多种度量当中的任一种可以确定所述接触是否在收缩(或增长)。下面是用于确定接触是否在收缩的一种实现方式。如果所述接触与一个分量具有1-1关系并且该接触中的所有像素都小于其来自前一帧的值,则可以把所述接触标记为收缩。还可以跟踪其被标记为收缩以来的帧数。如果该数目高于阈值,并且如果有像素在增长但是这样的像素的数目低于阈值,则该帧仍然可以被标记为收缩,但是所述帧数可以被
重置到零。
[0053]如果接触被标记为收缩,则利用来自前一帧的位置来替代其位置。以这种方式替代值降低了在把指尖从传感器上移开的同时将把接触视为正在移动的可能性。
[0054]前面仅仅的可以被处理以便定义接触及其属性的触摸传感器数据中的各种空间和时间特征种类以及接触信息的实例。还可以执行多种其他处理来定义其他接触属性。
[0055]在这一处理之后,包含零或更多接触及其属性(比如其是否可靠、是否起始、是否终结、是否在收缩或者是否可能是指尖)的列表可供应用使用,比如识别通过触摸传感器做出的手势的手势辨识引擎。
[0056]目前描述了一种示例性实现方式,现在将描述这样的系统被设计成操作于其中的计算环境。下面的描述旨在提供关于可以在其中实现该系统的适当计算环境的简要的一般性描述。可以利用多种通用或专用计算硬件配置来实现所述系统。可能适用的众所周知的计算器件的实例包括但不限于个人计算机、服务器计算机、手持式或膝上型器件(例如媒体播放器、笔记本计算机、蜂窝电话、个人数字助理、语音记录器)、多处理器系统、基于微处理器的系统、机顶盒、游戏控制台、可编程消费电子装置、网络PC、小型计算机、大型计算机、包括任何前述系统或器件的分布式计算环境等等。
[0057]图8示出了适当的计算系统环境的一个实例。所述计算系统环境仅仅是适当的计算环境的一个实例,而不旨在暗示关于这样的计算环境的使用或功能范围的任何限制。所述计算环境也不应当被解释成具有与在所述示例性操作环境中示出的任何组件或组件组合有关的任何依赖性或要求。
[0058]参照图8,一种示例性计算环境包括计算机器,比如计算机器800。在其最基本的配置中,计算机器800典型地包括至少一个处理单元802和存储器804。所述计算器件可以包括多个处理单元和/或附加的协处理单元,比如图形处理单元820。取决于计算器件的确切配置和类型,存储器804可以是易失性(比如RAM)、非易失性(比如ROM、闪存等等)或者二者的某种组合。在图8中通过虚线806示出了这一最基本的配置。此外,计算机器800还可以具有附加的特征/功能。举例来说,计算机器800还可以包括附加的存储装置(可移除和/或不可移除),其包括但不限于磁性或光学盘或带。这样的附加存储装置在图8中通过可移除存储装置808和不可移除存储装置810示出。计算机存储介质包括以用于存储例如计算机程序指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器804、可移除存储装置808和不可移除存储装置810都是计算机存储介质的实例。计算机存储介质包括但不限于RAM、R0M、EEPR0M、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、磁盒、磁带、磁盘存储装置或其他磁性存储器件,或者可以被用来存储所期望的信息并且可由计算机器800访问的任何其他介质。任何此类计算机存储介质都可以是计算机器800的一部分。
[0059]计算机器800还可以包含允许器件与其他器件通信的(一个或多个)通信连接812。(一个或多个)通信连接812是通信介质的实例。通信介质典型地在比如载波或其他传输机制之类的已调数据信号中承载计算机程序指令、数据结构、程序模块或其他数据,并且包括任何信息递送介质。术语“已调数据信号”意指这样的信号,其特性中的一个或多个被设定或改变从而在所述信号中编码信息,从而改变所述信号的接收器件的配置或状态。作为举例而非限制,通信介质包括例如有线网络或直接布线连接之类的有线介质,以及例如声学、RF、红外和其他无线介质之类的无线介质。
[0060]计算机器800可以具有各种输入器件814,比如显示器、键盘、鼠标、笔、摄影机、触摸输入器件等等。还可以包括(一个或多个)输出器件816,比如扬声器、打印机等等。所有这些器件都是本领域内所公知的,并且不需要在此详尽讨论。
[0061]所述系统可以在软件的一般情境中实现,所述软件包括由计算机器执行的计算机可执行指令和/或计算机解译指令,比如程序模块。一般来说,程序模块包括例程、程序、对象、组件、数据结构等等,其在由处理单元执行时命令所述处理单元执行特定任务或实现特定抽象数据类型。该系统可以被实践在分布式计算环境中,其中任务由通过通信网络链接的远程处理器件执行。在分布式计算环境中,程序模块可以位于包括存储器存储器件在内的本地和远程计算机存储介质中。[0062]所附权利要求书的前序中的术语“制造产品”、“过程”、“机器”和“物质构成”旨在把权利要求限制到被认为落在通过在35 U.S.C.§ 101下使用这些术语而定义的可取得专利的主题的范围内的主题。
[0063]可以按照所期望的任意组合来使用这里所描述的任何或所有前面提到的可替换实施例,从而形成附加的混合实施例。应当理解的是,在所附权利要求书中限定的主题不一定受限于前面所描述的具体实现方式。前面所描述的具体实现方式仅仅是作为实例而公开的。
【权利要求】
1.一种计算机实现的过程,其包括: 把来自触摸传感器的触摸传感器数据接收到存储器中,其中触摸传感器数据包括随着时间从触摸传感器采样的多个帧; 对来自多个帧的触摸传感器数据的空间和时间特征以及先前各帧中的接触和接触属性进行处理,以便识别当前帧中的接触和接触属性;以及 向应用提供关于所述帧中的所识别的接触和接触属性的信息。
2.权利要求1的计算机实现的过程,其中,对空间和时间特征进行处理包括: 识别触摸传感器数据的一帧中的一个或更多连接分量; 对所述连接分量进行处理,以便识别对应于所述分量的接触; 对所述接触的特性进行处理,以便确定所述帧中的接触属性。
3.权利要求2的计算机实现的过程,其中,对连接分量进行处理包括:把前一帧中的接触速度应用到所述前一帧中的接触位置以便提供所述帧中的可能接触位置,并且把所述帧中的可能接触位置与所述帧中的各个连接分量的位置进行比较。
4.权利要求2的计算机实现的过程,其中,对所述分量进行处理包括生成所述分量的分割标签并且利用分割标签把接触与分量相关联,其中生成所述分割标签包括在一分量大于预期的接触的情况下把该分量分割成两个或更多分量。
5.权利要求2的计算机实现的过程,其中,对所述分量进行处理包括: 如果两个或更多接触被识别为对应于一个分量,则把每一个接触的可能性模型应用于所述分量,并且选择具有最高可能性的接触作为对应于所述分量的接触。
6.一种计算机器,其包括: 输入器件,具有触摸传感器并且提供包括随着时间从触摸传感器采样的多个帧的触摸传感器数据; 存储器,其用于存储至少一帧的触摸传感器数据; 处理器件,其具有用于从存储器接收触摸传感器数据的输入,并且其被配置成: 对来自多个帧的触摸传感器数据的空间和时间特征以及先前各帧中的接触和接触属性进行处理,以便识别当前帧中的接触和接触属性;以及向应用提供关于所识别的接触和接触属性的信息。
7.权利要求6的计算机器,其中,为了对空间和时间特征进行处理,所述处理器件被配置成: 识别触摸传感器数据的一帧中的一个或更多连接分量; 对所述连接分量进行处理,以便识别对应于所述连接分量的接触; 对所述接触的特性进行处理,以便确定所述帧中的所识别的接触的属性。
8.权利要求7的计算机器,其中,为了对连接分量进行处理,所述处理器件被配置成:把前一帧中的接触速度应用到所述接触的位置以便提供所述帧中的可能接触位置,并且把所述帧中的可能接触位置与所述帧中的各个连接分量进行比较。
9.权利要求7的计算机器,其中,为了对连接分量进行处理,所述处理器件被配置成生成所述分量的分割标签并且利用分割标签把接触与分量相关联,其中为了生成所述分割标签,所述处理器件还被配置成在一分量大于预期的接触的情况下把该分量分割成两个或更多分量。
10.权利要求7的计算机器,其中,为了对所述分量进行处理,所述处理器件还被配置成:如果两个或更多接触被识别为对应于一个分量,则把每一个接触的可能性模型应用于所述分量,并且选择具有最 高可能性的接触作为对应于所述分量的接触。
【文档编号】G06F3/041GK103547982SQ201280025232
【公开日】2014年1月29日 申请日期:2012年5月19日 优先权日:2011年5月24日
【发明者】H.本科, J.米勒, S.伊扎迪, A.威尔逊, P.安塞尔, S.霍奇斯 申请人:微软公司

最新回复(0)