用于将触摸数据消歧的技术
技术领域
本公开涉及用于将从触摸传感器得到的触摸数据消歧(disambiguate)的技术。
背景
触敏系统检测表面上的一个或多个接触点并对其作出响应。触敏系统可以以触屏显示器的形式被结合到电子设备中,其中该触屏显示器允许用户使用接触该屏幕的一个或多个输入来查看并操纵对象。
概述
描述用于将从触摸传感器得到的触摸数据消歧的技术。
在一个方面中,描述了用于将触摸数据的用户指定消歧并把将至少一个触摸点标识为与特定用户所作的触摸相对应的标识进行传递。该至少一个触摸点是从电容式触摸传感器所检测的多个触摸点中标识的,该电容式触摸传感器具有二维导体矩阵,该二维导体矩阵被配置为按行排列的第一导体阵列和按列排列的第二导体阵列。接收第一用户的行触摸数据。第一用户行触摸数据指示该第一阵列中该第一用户触摸的一个或多个导体,且该第一用户行触摸数据是通过该电容式触摸传感器感测一信号来捕捉的,该信号反映了一公共节点和该第一阵列中该第一用户触摸的该一个或多个导体之间的电容的变化。还接收该第一用户的列触摸数据。第一用户列触摸数据指示该第二阵列中该第一用户触摸的一个或多个导体,且该第一用户列触摸数据是通过该电容式触摸传感器感测一信号来捕捉的,该信号反映了该公共节点和该第二阵列中该第一用户触摸的该一个或多个导体之间的电容的变化。还接收与该第一用户不同的第二用户的行触摸数据。第二用户行触摸数据指示该第一阵列中该第二用户触摸的一个或多个导体,且该第二用户行触摸数据是通过该电容式触摸传感器感测一信号来 捕捉的,该信号反映了该公共节点和该第一阵列中该第二用户触摸的该一个或多个导体之间的电容的变化。还接收该第二用户的列触摸数据。第二用户列触摸数据指示该第二阵列中该第二用户触摸的一个或多个导体,且该第二用户列触摸数据是通过该电容式触摸传感器感测一信号来捕捉的,该信号反映了该公共节点和该第二阵列中该第二用户触摸的该一个或多个导体之间的电容的变化。接收触摸点位置数据。该触摸点位置数据将该二维导体阵列上的多个触摸点的二维位置指示为来自该第一阵列的一个导体和来自该第二阵列的一个导体的配对。该触摸点位置数据是基于针对该多个触摸点中的每个触摸点该电容式触摸传感器对一信号的检测来捕捉的,该信号反映了由触摸所导致的来自该第一阵列的该一个导体以及来自该第二阵列的该相应配对导体之间的电容的变化。通过将所接收的触摸点位置数据应用到所接收的第一用户行触摸数据、所接收的第一用户列触摸数据、所接收的第二用户行触摸数据和所接收的第二用户列触摸数据,来从该多个触摸点之中将至少一个触摸点标识为与该第一用户所作的触摸相对应。传递该标识。
各实现可包括以下特征中的一个或多个。例如,该技术可进一步包括分别通过该电容触摸传感器感测该公共节点与该第一阵列中该第一用户和该第二用户触摸的该一个或多个导体之间的电容的变化来捕捉所接收的第一用户行触摸数据和所接收的第二用户行触摸数据。可以分别通过该电容触摸传感器感测该公共节点与该第二阵列中该第一用户和该第二用户触摸的该一个或多个导体之间的电容的变化来捕捉所接收的第一用户列触摸数据和所接收的第二用户列触摸数据。在这些实现中,可以通过针对该多个触摸点中的每个触摸点该电容式触摸传感器感测由触摸所导致的来自该第一阵列的该一个导体以及来自该第二阵列的该相应配对导体之间的电容的变化来捕捉所接收的触摸点位置数据。
在一些实现中,将该多个触摸点中的至少一个触摸点标识为该第一用户所作的触摸可包括:选择该多个触摸点中的一个并访问来自该触摸点位置数据的所选择的触摸点的二维位置。所选择的触摸点的位置可以被指示为该第一阵列中的第一导体和该第二阵列中的第二导体的配对。可访问该第一用户行触摸数据和该第一用户列触摸数据。可做出以下确定:该第一用户行触摸数据和该第 一用户列触摸数据指示该第一用户正在触摸该第一导体和该第二导体。还可访问该第二用户行触摸数据和列触摸数据。可以做出以下确定:该第二用户行触摸数据和该第二用户列触摸用户指示该第二用户没有在触摸该第一导体,没有在触摸该第二导体,或者没有在触摸该第一导体和该第二导体两者。基于该第一用户行触摸数据和该第一用户列触摸数据指示该第一用户正在触摸该第一导体和该第二导体的确定,并基于该第二用户行触摸数据和该第二用户列触摸数据指示该第二用户没有在触摸该第一导体、没有在触摸该第二导体、或没有在触摸该第一导体和该第二导体两者的确定,可以做出以下结论:所选择的触摸点对应于该第一用户所作的触摸。
在一些实现中,将该多个触摸点中的至少一个触摸点标识为与该第一用户所作的触摸相对应可包括接收一个或多个其他用户中的每一个的行触摸数据,该一个或多个其他用户中的每一个的该行触摸数据指示该第一阵列中该其他用户触摸的一个或多个导体,以及接收该一个或多个其他用户中的每一个的列触摸数据,该一个或多个其他用户中的每一个的该列触摸数据指示该第二阵列中该其他用户触摸的一个或多个导体。可选择该多个触摸点中的一个。可从该触摸点位置数据访问所选择的触摸点的二维位置。所选择的触摸点的位置可以被指示为该第一阵列中的第一导体和该第二阵列中的第二导体的配对。可访问该第一用户行触摸数据和该第一用户列触摸数据。可做出以下确定:该第一用户行触摸数据和该第一用户列触摸数据是否指示该第一用户正在触摸该第一导体和该第二导体。基于确定该第一用户行触摸数据和该第一用户列触摸数据是否指示该第一用户正在触摸该第一导体和该第二导体,可以将该第一用户添加到所选择的触摸点的候选用户池。还可访问该第二用户行触摸数据和该第二用户列触摸数据。可做出以下确定:该第二用户行触摸数据和该第二用户列触摸数据是否指示该第二用户正在触摸该第一导体和该第二导体。基于确定该第二用户行触摸数据和该第二用户列触摸数据是否指示该第二用户正在触摸该第一导体和该第二导体,可以将该第二用户添加到所选择的触摸点的候选用户池。可以访问该一个或多个其他用户的每一个的行触摸数据和列触摸数据。对于该一个或多个其他用户中的每一个,可以做出以下确定:该其他用户的行触摸数据和该其他用户的列触摸数据是否指示该其他用户正在触摸该第一导体 和该第二导体。基于确定该其他用户的行触摸数据和该其他用户的列触摸数据是否指示该其他用户正在触摸该第一导体和该第二导体,可以将该其他用户添加到所选择的触摸点的候选用户池。可以做出以下确定:所选择的触摸点的候选用户池只包括该第一用户;以及可基于所选择的触摸点的候选用户池只包括该第一用户的确定做出以下结论:所选择的触摸点对应于该第一用户所作的触摸。
在一些实现中,将该多个触摸点中的至少一个触摸点标识为与该第一用户所作的触摸相对应可包括:将该多个触摸点中的第一触摸点标识为与该第一用户所作的触摸相对应。在这些实现中,通过将所接收的触摸点位置数据应用到所接收的第一用户行触摸数据、所接收的第一用户列触摸数据、所接收的第二用户行触摸数据和所接收的第二用户列触摸数据,可将该多个触摸点中的第二触摸点标识为与该第二用户所作的触摸相对应。
在一些示例中,所接收的触摸点位置数据、所接收的第一用户行触摸数据、所接收的第一用户列触摸数据、所接收的第二用户行触摸数据、以及所接收的第二用户列触摸数据可在单一特定帧期间被捕捉。在这些示例中,将该多个触摸点中的至少一个触摸点标识为与该第一用户所作的触摸相对应可包括将该多个触摸点中的第一子集标识为与该第一用户所作的触摸相对应。通过将所接收的触摸点位置数据应用到所接收的第一用户行触摸数据、所接收的第一用户列触摸数据、所接收的第二用户行触摸数据以及所接收的第二用户列触摸数据,可将该多个触摸点中的第二子集标识为与该第二用户所作的触摸相对应,以及因为在不应用试探法的情况下不能将该多个触摸点中的第三子集中的触摸点唯一确定为与任何用户所作的触摸相对应,所以可将该第三子集标识为模糊的,其中该试探方法使用在该单一特定帧之前的帧期间所捕捉的历史触摸数据。
在一些示例中,将该多个触摸点中的至少一个触摸点标识为与该第一用户所作的触摸相对应可包括标识该多个触摸点的一个或多个有效用户指定。该多个触摸点的每个有效用户指定可指示将该多个触摸点中的每一个指定到多个用户中的唯一一个,该多个用户包括该第一用户和该第二用户。在这些实现中,标识该多个触摸点的一个或多个有效用户指定可包括通过应用初步算法来确 定该多个触摸点的一子集中的每个触摸点到该多个用户中的一个用户的唯一指定。可生成与在将该子集从该多个触摸点中除去后的多个触摸点相对应的已减小的触摸点集。可标识该已减小的触摸点集内的触摸点的可能用户指定。对于每个所标识的可能用户指定,如果:对于该多个用户中的每个特定用户,对于该第一阵列中在该特定用户的行触摸数据中表现为被触摸的每个特定导体,以及对于在该特定用户的列数据中表现为被触摸的每个特定导体,所标识的可能用户指定向该特定用户指定来自该已减小的集的具有与该第一阵列中的该特定导体相对应的位置的至少一个触摸点以及来自该已减小的集的与该第二阵列中的该特定导体相对应的位置的至少一个触摸点,则该所标识的可能用户指定可被表示为有效的。可将被表示为有效的可能用户指定与通过该初步算法确定的子集中的触摸点的唯一指定相结合来得到该多个触摸点的一个或多个有效用户指定的集合。在这些实现中,通过应用该初步算法来确定该多个触摸点的该子集中的每个触摸点的唯一指定可包括选择该多个触摸点中的一个并访问来自该触摸点位置数据的所选择的触摸点的二维位置。所选择的触摸点的位置可在该触摸点位置数据中被指示为该第一阵列中的第一导体和该第二阵列中的第二导体的配对。对于该多个用户中的每个用户,可访问该用户的行触摸数据和列触摸数据,并且可做出以下确定:该用户的行触摸数据和该用户的列触摸数据是否指示该用户正在触摸该第一导体和该第二导体。基于确定该用户的行触摸数据和该用户的列触摸数据是否指示该用户正在触摸该第一导体和该第二导体,可以将该用户添加到所选择的触摸点的候选用户池。可以做出以下确定:所选择的触摸点的候选用户池是否只包括单一用户。基于确定该候选用户池是否只包括单一用户,可将所选择的触摸点唯一指定给该单一用户,由此在该子集中包括所选择的触摸点。基于确定该候选用户池是否包括多个用户,所选择的触摸点可以不被包括在该子集中,
标识该减小触摸点集中的触摸点的可能用户指定可包括标识XΛY个不同用户指定,其中X等于多个用户的数量而Y等于该已减小的触摸点集内的触摸点的数量。标识该已减小的集内的触摸点的可能用户指定以及将所标识的可能用户指定表示为有效可包括应用递归算法,该递归算法选择性地分析用户指定配置树的不同节点所代表的不同可能用户指定的有效性。该递归算法可通过以 下方式来选择性地分析该不同可能用户指定的有效性:从分析该用户指定配置树中代表较大的可能用户指定分组的较高级别节点到分析该用户指定配置树中代表较小分组或单一可能用户指定的较低级别节点来选择性地前进。通过应用初步算法,确定该多个触摸点的一子集中的每个触摸点到该多个用户中的一个的唯一指定可包括生成该子集中的每个触摸点到该多个用户中的一个的非模糊指定。标识该多个触摸点的一个或多个有效用户指定可包括标识该多个触摸点的多个有效用户指定。可应用试探算法,该试探算法使用历史触摸点数据来从该多个有效用户指定中选择单一特定有效用户指定作为最准确用户指定。
所描述的技术的实现可包括硬件、至少部分以硬件执行的方法或过程、或具有编码有可执行指令的计算机可读存储介质,其中当该可执行指令被处理器执行时执行操作。
一个或多个实现的细节在以下的附图和说明书中阐述。其他特征将从说明书和附图以及权利要求书中显而易见。
附图简述
图1和2均是示出触摸传感器网格,m*n触摸数据以及m+n触摸数据的图。
图3和4均是示出触摸传感器网格,m*n触摸数据以及用户特定的m+n触摸数据的图。
图5是示出用于基于m*n触摸数据和用户特定的m+n触摸数据来将触摸点指定到不同用户的过程的框图。
图6、7和8均是示出触摸传感器网格,m*n触摸数据以及用户特定的m+n触摸数据的图。
图9是示出针对所检测的触摸点集合的多个不同可能用户指定配置的树形图。
图10是示出用于基于m*n触摸数据和用户特定的m+n触摸数据来将触摸点指定到不同用户的过程的框图。
图11是示出针对所检测的触摸点集合的多个不同可能用户指定配置的树形图。
图12是被配置成捕捉m+n触摸数据的触摸传感器系统的图。
图13是被配置成捕捉m*n触摸数据和用户特定的m+n触摸数据的触摸传感器系统的图。
图14是在图13的触摸传感器系统的触摸传感器网格被通电(energize)以捕捉m*n触摸数据和捕捉用户特定的m+n列触摸数据时该系统的图。
图15是当图13的触摸传感器系统的用户设备被通电以捕捉用户特定的m+n行触摸数据时该系统的图。
图16是示出将一帧划分为时隙(time slot)的图。
图17是用户设备的框图。
图18是在单个电极上发送和接收信号的电路的框图。
各附图中的相同的附图标记和指定指示相同的元素。
详细描述
电容式触摸传感器可包括按照二维网格布置的导电的行和列。行和列导体的具体几何形状可根据用于实现它们的传导材料而改变。例如,该行和列可以按菱形图案布置,其中氧化铟锡作为传导材料;或者该行和列可使用足够薄而在该触摸传感器被放入显示器前方时不显眼的金属线(例如铜或银线)来形成。不管导体的具体几何形状如何,该传感器可按以下两种方式之一来感测触摸:(1)通过测量从每一行到每一列的电容;或者(2)通过测量从每一行和每一列到某个其他节点的电容,其中该其他节点通常是(尽管不必是)该控制器电路的接地节点。在任一情况下,该传感器可被设计成使得例如用户的手指的触摸对所测试的电容有某种效果,并由此被检测到。在具有m行和n列的传感器中,从一行到一列存在m*n个可能的电容,且从一行或一列到某个其他节点存在m+n个可能的电容(即,对于行存在m个电容,而对于列存在n个电容,导致总共m+n个可能的电容)。通过测量从该传感器阵列的m乘n网格的每一行到每一列的电容而得到的测量数据在此后被称为m*n触摸数据或所有用户m*n触摸数据,而通过测量从该m乘n网格的每一行和每一列到某个其他节点的电容而获得的测量数据在此后被称为m+n触摸数据。通常,m*n触摸数据及m+n触摸数据在来自同时触摸该触摸传感器的不同用户的触摸之间没有区别。此外,并且如同下面进一步讨论的,该m+n触摸数据可能不能单独地不模糊地求解出该触摸传感器的网格上的所有触摸点的位置。可使用试探方法来将不同触摸指 定到不同用户并解决m+n触摸数据中的模糊性,但是在单独使用时,这些方法受随着触摸数量的增加而增加的误差的影响。然而,如下面进一步描述的,能够测量m*n触摸数据和用户特定的m+n触摸数据两者的触摸传感器可以能够将m+n触摸数据消歧,并以相比于仅使用试探或其他替代方法所可以可能做到的更大的准确性将所检测的不同触摸指定到不同的用户。
如上所述,通过对从该m乘n网格的每一行到每一列的电容的进行测量(其对应于m*n测量)获得m*n触摸数据。通过进行这些测量,可以求解出多个触摸的任何组合。该m*n测量形成该显示器的位图图像,具有在对应于触摸的给定点处的电容(与该点处的基准电容相比)的增加或减小。因此,该m*n触摸数据还可被称为在完整区域上的触摸数据。被配置成捕捉m*n触摸数据的触摸传感器因此通常将能够正确地确定触摸点的位置,而不管同时的触摸点的数量。
相反,当触摸传感器仅被配置成通过测量从该m乘n网格的每一行和每一列到某个其他节点的电容来捕捉m+n触摸数据(其对应于m+n测量)时,更少的自由度是可用的。因为该m+n触摸数据可被视为被投影到该网格的x轴或y轴上的触摸点,所以该m+n触摸数据有时被称为投影到轴上的触摸数据。仅仅通过计数变量,使用这些m+n个测量来重构完整位图图像(即,在完整区域上的触摸数据)可能是困难的。如下面更详细地描述的,在单一触摸的情况下,该触摸的位置仍可被无模糊地求解。
图1是示出示例触摸传感器网格100和相应的行触摸数据110和列触摸数据120的图。值得注意,将一个特定的轴表示为行vs.列是任意的。网格100具有从0到4用数字标记的5行,以及从0到11用数字标记的12列。尽管网格100被示出为只具有5行和12列,然而行和列的数量可以改变。例如,典型触摸传感器的触摸传感器网格可具有数百行和列。网格100上的触摸的位置可由具有反映列号的x坐标和反映行号的y坐标的触摸点代表。图1示出了在位置(x,y)=(5,2)处的单个触摸点101,其表示在网格100上的该位置处的触摸。该触摸在从每一列到某个其他节点的电容的测量中在位置5处产生一信号,并在从每一行到某个其他节点的电容的测量中在位置2处产生一信号。响应于该触摸由该触摸传感器所产生的相应列数据在图1中被示出为包括在列5处的列 触摸121和在行2处的行触摸111。
对于单一触摸,仅适用该m+n测量来不模糊地确定相应触摸点在网格100上的位置是可能的。即,仅使用行触摸数据110(其代表对于网格100的5行中的每一行从一行到另一节点的电容的测量)并且仅使用列触摸数据120(其代表对于网格100的12列中的每一列从一列到另一节点的电容的测量)来不模糊地确定相应触摸点的位置是可能的。然而,在多个触摸的情况下,仅使用该m+n测量来不模糊地求解触摸点的位置不再可能。
例如,在图2中,在网格100上存在两个触摸。第一触摸由位置(x,y)=(5,2)处的触摸点201代表,而第二触摸由位置(x,y)=(1,0)处的触摸点202代表。这在列信号中(在位置1和5处)以及在行信号中(在位置0和2处)产生变化。相应地,相应列触摸数据120包括在列1处的列触摸222和在列5处的列触摸221,而相应行触摸数据110包括在行0处的行触摸212和在行2处的行触摸211。
值得注意,图2中示出的m+n触摸数据是模糊的,因为不模糊地将该数据映射到两个触摸点201和202的位置上是不可能的。即,在(1,2)和(5,0)处的触摸点将生成沿着行和列的电容的完全相同的配置。可使用试探方法来将该m+n触摸数据消歧(例如,基于触摸点的历史)。利用触摸点的历史的这种试探方法例如可以确定:如果该m+n触摸数据从指示仅列{5}和行{2}被触摸的数据改变到指示列{1,5}和行{0,2}被触摸的数据,则更可能(5,2)处的触摸点保留而(1,0)处的点被添加,而不是(5,2)处的触摸点被升起而(1,2)和(5,0)处的两个点被添加。然而,以此方式操作的试探方法随着时间对于具有两个或更多触摸点的配置可能失败。具体而言,随着触摸点的数量的增加,给定配置的可能解的数量可能增加,而不正确的结果可变得更加可能。
I.使用m*n触摸数据和用户特定的m+n触摸数据来将触摸数据消歧并确定触摸点的用户指定
如果仅m+n触摸数据可用,则上面描述的试探方法可能是最优可用解。但是如果m*n触摸数据也可用,则该m*n触摸数据可被用来将m+n触摸数据消歧。例如,在图2所示的情况中,具有(1,2)和(5,0)处的点的解可被拒绝,因为触摸数据不指示位置处的触摸。
对于至此所描述过的情况,这可能是无用的。即,如果m*n触摸数据可用,则将优选地将从m*n触摸数据直接操作来标识触摸点,使得m+n触摸数据的获取和使用对于触摸点标识而言多余而且不必要。然而,在某些情况下,对于每一用户独立地测量m+n触摸数据但是同时仅对所有用户测量m*n触摸数据是可能的。例如,用户A所触摸的点出现在用户A的m+n触摸数据中,不出现在用户B的m+n触摸数据中,且的确出现在m*n数据中,而用户B所触摸的点出现在用户B的m+n触摸数据中,不出现在用户A的m+n触摸数据中,且的确出现在m*n数据中。
如果我们希望不仅确定触摸点的位置,而且还确定触摸该触摸传感器的相应用户的身份,则m+n数据尽管对于触摸点标识不像m*n触摸数据那样有用,但将仍然对将触摸点指定到不同用户有用。注意,对于要以此方式利用的m+n触摸数据,该m+n触摸数据应当通常是用户特定的。即,该触摸传感器系统可针对触摸该传感器的每个用户捕捉不同的m+n触摸数据。
图3是示出示例触摸传感器300和第一用户(即,用户A)的相应的行触摸数据310和列触摸数据320以及第二用户(即,用户B)的相应的行触摸数据330和列触摸数据340。网格300对应于图1的网格100且是该网格100的示例性实现。行触摸数据310和列触摸数据320共同代表用户A的m+n触摸数据,而行触摸数据330和列触摸数据340共同代表用户B的m+n触摸数据。
如图3中所示,列触摸数据320包括指示用户A正在触摸列{1,5}的列触摸321和列触摸322,而行触摸数据310包括指示用户A正在触摸行{0,2}的行触摸311和行触摸312。相应地,当仅基于用户A的m+n触摸数据来考虑可能的触摸点位置时,用户A可能在触摸(5,2)和(1,0)处,或者(1,2)和(5,0)处,或者这四个点中的任何三个处,或者全部四个点处。然而,该m*n触摸数据可被用于精简(即,消歧)可能的触摸点位置,并且在此示例中,确定地作出结论:用户A正在触摸分别由触摸点301和触摸点302代表的(5,2)处以及(1,0)处。具体而言,因为m*n触摸数据不包含(1,2)处或(5,0)处的点,所以可拒绝这两个点,而仅留下正确的解(5,2)和(1,0)。
同样如图3中所示,用户B的列触摸数据340包括指示用户B正在触摸列{8}的列触摸341,而用户B的行触摸数据330包括指示用户B正在触摸行{3} 的行触摸331。从而,用户B的m+n触摸数据不模糊地指示用户B正在触摸由触摸点303所代表的点(8,3)处。相应地,通过使用用户特定的m+n触摸数据和所有用户m*n触摸数据两者,每一触摸点的位置均被不模糊地求解(在没有m*n触摸数据的情况下这将是不可能的),而且与每一触摸点相对应的用户的身份被确定(在没有用户特定的m+n触摸数据的情况下这将是不可能的)。
对于单一用户触摸多个点、或者多个用户中每个用户仅触摸单个点的任何情况,类似于上面讨论的方法将定位并指定用户身份到每一触摸点,而不存在模糊。但是具有多个用户,其中每个用户触摸多个点的配置可能是模糊的。
例如,在图4中,用户A的行触摸数据310和用户B的行触摸数据330包括指示这两个用户均在触摸行{0,2}处的行触摸411、412、431和432。类似地,用户A的列触摸数据320和用户B的列触摸数据340包括指示这两个用户均在触摸列{1,5}的列触摸421、422、441和442。因此,该m+n触摸数据指示了一用户可能在触摸(5,2)和(1,0)处、或(1,2)和(5,0)处。但是m*n数据包含在所有那些位置处的点(即,触摸点401-404)。因此,确定用户A是否正在触摸(5,2)和(1,0)处以及用户B是否正在触摸(1,2)和(5,0)处,以及用户B是否正在触摸(5,2)和(1,0)处以及用户A正在触摸(1,2)和(5,0)处可是不可能的。此模糊性可以使用与被用来求解仅从m+n触摸数据工作来求解模糊性时使用的相同类型的试探来求解。例如,此模糊性可以通过选择最小化该触摸点的位置(以及可能的其他值,例如速度)随着时间的变化的解来求解。
用于确定与每一触摸点相对应的位置和用户身份的完整算法可从每个用户的m+n触摸数据开始,并将那些值映射到触摸点上,同时用该m*n触摸数据来求解任何模糊性。或者,该算法可以开始于所有用户的m*n触摸数据,并尝试标识与每一点相对应的用户。在实际实现中,后一种方案更优,因为m*n触摸数据通常将包含较少的噪声。这将减小触摸点的所报告的(x,y)位置上的噪声,并且减小在没有发生触摸时报告触摸以及忽略有效报告的可能性。图5是示出可被用于基于m*n触摸数据和用户特定的m+n触摸数据来将触摸点指定到不同用户的过程500的框图。过程500代表以下的算法。
参考图5,触摸点列表被从该m*n数据标识并作为对函数Assign_simplified的调用的一部分而被接收(502)。从该触摸点列表中选择一触摸点作为待分析的当前触摸点,该触摸点位于(χ',y')处(504)。清空候选用户列表(506)。
在从多个用户中选择用户K后并且在访问用户K的m+n触摸数据后,使用用户K的m+n触摸数据来确定用户K是否有在列x'和行y'两者中的一触摸(508)。如果用户K在列x'中没有触摸和/或在行y'中没有触摸,则从该多用 户中选择下一用户作为用户K并且该过程返回操作508。如果用户K的确在列x'中有触摸且在行y'中有触摸,则将该用户K添加到当前触摸点的该候选用户列表(510)。随后从该多个用户中选择下一用户作为用户K并且该过程返回到操作508。由此针对该多个用户中的每一个重复操作508和/或510。
在针对该多个用户中的每个用户完成操作508和/或510之后,该当前触摸点的该候选用户列表被最终化并可包括0个用户到所有用户。可以做出以下确定:该当前触摸点的该候选用户列表是否只包括单一用户(512)。如果该列表只包括单一用户,则将该当前触摸点指定到该相应的用户(514)。如果该列表包括0个用户(这一般指示该系统错失了触摸该触摸传感器的至少一个用户的m+n触摸数据)或者多个用户,则该当前触摸点将不被指定给用户且被标识为模糊的(516)。从该触摸点列表中选择下一触摸点作为当前触摸点且该过程返回到操作504。在用这种方式分析过所有触摸点之后,该过程500结束(518)。
值得注意,上面示出且用过程500所代表的算法不正确地将触摸点的某些配置标识为模糊的。例如,在图6中,用户A和用户B两者均具有与由触摸点601所代表的(1,2)处的触摸点相一致的m+n触摸数据。即,用户A的行触摸数据310和用户B的行触摸数据330包括指示这两个用户均在触摸行{2}的行触摸611和613。类似地,用户A的列触摸数据320和用户B的列触摸数据340包括指示这两个用户均在触摸列{1}的列触摸621和641。以上算法将生成候选用户列表,该列表包括针对(1,2)处的触摸点的两个用户,并且因此将此情况标识为模糊的。
然而,值得注意,用户B的m+n触摸数据指示用户B仅在触摸单一点,因此该点一定是位于(1,2)处的触摸点601,其中另两个点602和603被指定给用户A(并且对应于用户A列触摸621和622以及用户A行触摸611和612)。在具有多个用户,其中每个用户正在触摸多个点的配置中,类似情形可能出现,如图7中所示。
可改进过程500所代表的算法来更好地检测模糊的用户指定配置。意识到特定用户指定解仅在以下情况下有效,改进的算法变得显而易见:如果对于在该用户的m+n列触摸数据中表现为被触摸的每个x值,以及对于在该用户的 m+n行触摸数据中表现为被触摸的每个y值,该用户被指定至少一个具有该x或y值的触摸点。因此,改进的算法可以通过以下方式来测试有效指定配置:确定,对于每个用户,对于在该用户的m+n列触摸数据中表现为被触摸的每个x值,以及对于在该用户的m+n行触摸数据中表现为被触摸的每个y值,该用户是否被指定至少一个具有该x或y值的触摸点。如果该用户指定配置不指定具有相应x或y值的至少一个触摸点,则该用户指定配置可因不与所捕捉的触摸数据相匹配因而无效而被丢弃。从而,当通过应用过程500给定触摸点的候选列表中存在超过一个用户时,可递归地考虑所有可能指定配置,拒绝不满足上述约束的任何解。在此情况下,执行用户指定处理的应用的运行时间将随着可能模糊的触摸点的数量而指数地增加。
图8是示出描绘了7个触摸点的示例触摸传感器网格300的图。如图8中所示,用户A的行触摸数据310包括指示用户A正在触摸行{0,1,2,4}的行触摸811、812、813和814,而用户A的列触摸数据320包括指示用户A正在触摸列{1,5,7,10}的列触摸821、822、823和824。用户B的行触摸数据330包括指示用户B正在触摸行{1,2,4}的行触摸831、832和833,而用户B的列触摸数据340包括指示用户B正在触摸列{1,7,10}的列触摸841、842和843。该m*n触摸数据指示分别由触摸点801、802、803、804、805、806和807所代表的{(1,0),(5,2),(1,2),(7,1),(7,4),(10,1),(10,4)}处的7个触摸点的检测。
在不考虑用户特定m+n触摸数据的情况下,对于图8中所描绘的7个触摸点,存在128个可能的指定配置。这对应于2^7,其中数字2代表用户的数量(即,两个用户=用户A和用户B),而数字7代表所检测到的不同触摸点的数量。然而,通过经由应用由过程500所代表的算法来将用户特定的m+n触摸数据计入,可以减少用户指定配置的数量。具体而言,通过向触摸数据应用过程500所代表的算法,触摸点801所代表的触摸点(1,0)和触摸点802所代表的触摸点(5,2)被指定到用户A。从而,应用过程500所代表的算法导致可能用户指定配置的数量从128减小到32,这对应于2^5(即,用户的数量^仍旧待指定的触摸点的数量)。
图9是在应用过程500所代表的算法之后留下来的不同可能用户指定配置的数量的树形图。图9中的每一个框示出5个保留的触摸点:(1,2)处的触摸点 803、(7,1)处的触摸点804、(7,4)处的触摸点805、(10,1)处的触摸点806和(10,4)处的触摸点807的给定用户指定配置。该用户指定配置由与仍旧待指定的5个触摸点相对应的5个字母的集合来代表。这5个字母中的每一个是指示相应触摸点在该特定用户指定配置中被指定到A的“A”、指示相应触摸点在该特定用户指定配置中被指定到A的“A”指示相应触摸点在该特定用户指定配置中被指定到B的“B”、或者指示相应触摸点仍旧未被指定的“x”。例如,这5个字母“A,B,B,A,x”指示(1,2)处的触摸点803已被指定给A、(7,1)处的触摸点804已被指定给B、(7,4)处的触摸点805已被指定给B、(10,1)处的触摸点806已被指定给A,而(10,4)处的触摸点807在此特定用户指定配置中仍旧未被指定。
如图9中所示,将余下的全部5个触摸点指定到用户A和B的组合的32个不同用户指定配置是可能的。可向这32个可能用户指定配置中的每一个应用上面描述的测试来进一步减小在参考了所捕捉的触摸数据的情况下有效的用户指定配置的数量。具体而言,如同前面所述,可以通过以下方式来测试特定用户指定配置的有效性:确定,对于每个用户,对于在该用户的m+n列触摸数据中表现为被触摸的每个x值,以及对于在该用户的m+n行触摸数据中表现为被触摸的每个y值,该用户是否被指定至少一个具有该x或y值的触摸点。如果该特定用户指定配置不指定具有相应x或y值的至少一个触摸点,则该用户指定配置可因不与所捕捉的触摸数据相匹配因而无效而被丢弃。向这32个可能用户指定配置应用此测试将可能用户指定配置的数量从32个进一步减小到2个有效用户指定配置。所标识的这两个有效用户指定配置(也被称为有效解)为:(1)"BABBA"(即用户A被指定触摸点{(7,1),(10,4)},而用户B被指定触摸点{(1,2),(7,4),(10,1)});以及(2)"BBAAB"(即,用户A被指定触摸点{(7,4),(10,1)},而用户B被指定触摸点{(1,2),(7,1),(10,4)}。值得注意,实际的两个有效用户指定配置附加地包括触摸点{(1,0),(5,2)}到用户A的指定,如通过执行过程500所代表的算法来确定的。从而,所标识的这两个实际有效指定配置为:(1)用户A被指定触摸点{(1,0),(5,2),(7,1),(10,4)},而用户B被指定触摸点{(1,2),(7,4),(10,1)});以及(2)用户A被指定触摸点{(1,0),(5,2),(7,4),(10,1)},而用户B被指定触摸点{(1,2),(7,1),(10,4)}。
值得注意,在图8和9所描绘的示例中,应用过程500所代表的算法并随后应用上面指出的测试将可能有效指定配置(或解)的数量减小到真正模糊的2个指定配置(或解)。更一般而言,应用过程500所代表的算法以及应用上面指出的测试可将可能指定解的数量减小到多个真正模糊的解或减小到单一唯一解。然而,如果标识了多个解,则随后可使用试探算法来在该多个所标识的解中作出选择。然而,该试探方法所采用的计算被简化,因为该方法仅需要在处于较小的所标识的真正模糊的解的集合中的用户指定解之间进行区分,由此减小了出错的机会。
然而,针对余下的可能用户指定配置中的每一个应用上面指出的测试可能是计算密集的。即,必须被测试的可能用户指定配置的数量随着在应用过程500所代表的算法之后余下的可能模糊的触摸点的数量而指数增加。
为了避免这样,一种改进的算法可以开始于根据过程500所代表的算法来指定非模糊的所有点。随后可以递归地考虑具有多个候选用户的点的所有可能情况。为了减少要搜索的路径的数量,如果一用户在给定列或行中具有触摸,但是没有具有该x或y坐标的点被指定到该用户、并且没有具有该x或y坐标的未被指定的点,则可拒绝一路径,因为这一路径永远不会导致正确的解。图10是示出可被用于在应用了图5中示出的过程500之后基于m*n触摸数据和用户特定的m+n触摸数据来将触摸点指定到不同用户的过程1000的框图。过程1000在已根据过程500指定了一开始不模糊的点之后开始,并代表以下算法:
参考图10,在执行过程500所代表的算法之后仍旧未被指定的触摸点的列表作为对函数Assign_remaining的调用的一部分被接收(1002)。在图8所示出的示例中,未被指定的触摸点的列表可包括触摸点{(1,2),(7,1),(7,4),(10,1),(10,4)},因为触摸点{(1,0),(5,2)}已经被指定到用户A。
图10所代表的算法可以被视觉化为沿着用户指定配置树向下前进。例如,当被应用到图8中所描绘的示例时,该算法可被视觉化为沿着图11中所描绘的用户指定配置树1100向下前进。该算法可开始于选择该树中的一节点所代表的用户指定配置,并随后测试该用户指定配置来确定该节点所代表的该用户指定配置是否对应于无效解。如果该节点所代表的用户指定配置对应于无效解,则该节点(以及值得注意地,其所有子节点)不被进一步考虑,而该过程沿着该树中的另一路径前进。以此方式,与通过简单应用先前针对图9所描述的测试所可能的相比,图10所代表的算法更高效地从解空间中剪除掉用户指定解。
在接收未被指定的触摸点之后,该用户指定配置树中的一节点被选择并且做出以下确定:是否存在具有在列x或行y中的触摸,但是没有向该用户指定点且没有具有该x或y坐标的未被指定的点的用户(1004)。如果存在具有列x或行y中的触摸、但是没有向该用户指定点且没有具有该x或y坐标的未被指定的点的用户,则所选择的节点所代表的用户配置因为无效而被拒绝(1006)且该处理从该函数调用返回(1008)。该处理随后可沿着尚未被分析的不同路径向上到达更高的节点并选择该用户指定配置树中的新节点。随后可针对新节点递归地调用函数Assign_remaining,其中该未被指定的触摸点的列表对应于新节点的未被指定的触摸点。如果已分析了所有路径,则过程1000可结束。
对于图8中所描绘的示例,从用户指定配置树1100中所选择的节点可以是节点"Α,x,x,x,x,",其对应于用户A被指定了触摸点{(1,0),(5,2),(1,2)}、用户B未被指定任何触摸点,而触摸点{(7,1),(7,4),(10,1),(10,4)}仍旧未被指定。操作1004的结果是确定节点"Α,x,x,x,x"所代表的解是无效的,因为用户B需要 具有x=T的点。因此,节点"Α,x,x,x,x"及其所有子节点不需要被进一步考虑,而该处理返回到更高等级的节点"x,x,x,x,x"并沿着该树中的另一路径向下。如图11中所示,随后可选择节点"B,x,x,x,x"来考虑并且可针对节点"B,x,x,x,x"递归地调用函数Assign_remaining。
如果由所选择的节点所代表的用户指定配置执行操作1004导致该用户指定配置未因无效而被拒绝,则所选择的节点所代表的用户指定配置通过(即,不能从该测试被确定为无效),并且针对是否有任何触摸点仍旧未被指定做出确定(1010)。如果没有触摸点仍旧未被指定,则该解被报告为有效的(1012)并且该过程从该函数调用返回(1014)。该处理随后可沿着尚未被分析的不同路径向上到达更高的节点并选择该用户指定配置树中的新节点。随后可针对新节点递归地调用函数Assign_remaining,其中该未被指定的触摸点的列表对应于新节点的未被指定的触摸点。如果已分析了所有路径,则过程1000可结束。
如果至少一个触摸点仍旧未被指定,则选择一未被指定的触摸点(1016)并做出以下确定:该多个用户中的用户K是否具有在列x'中的触摸以及在行y'中的触摸,其中该未被指定的触摸点的位置是(x',y')(1018)。如果用户K不具有在列x'中的触摸以及在行y'中的触摸,则从该多个用户中选择另一用户作为用户K并且该处理返回到操作(1018)。如果用户K的确具有在列x'中的触摸以及在行y'中的触摸,则(x',y')处的未被指定的节点被试验性地指定到用户K(1020)。(x',y')处的触摸点的对用户K的试验性指定对应于对该用户指定配置树中的一子节点的选择,且随后针对新选择的子节点递归地调用函数Assign_remaining(1022)。针对该多个用户中的每个用户重复操作1018、1020和1022。在已考虑了所有用户之后,该过程从该函数调用返回(1024)。该处理随后可沿着尚未被分析的不同路径向上到达更高的节点并选择该用户指定配置树中的新节点。随后可针对新节点递归地调用函数Assign_remaining,其中该未被指定的触摸点的列表对应于新节点的未被指定的触摸点。如果已分析了所有路径,则过程1000可结束。
继续图8中所描绘的示例,要考虑的下一个节点是节点"B,x,x,x,x,",其对应于用户A被指定了触摸点{(1,0),(5,2)}、用户B被指定了触摸点{(1,2)},而触摸点{(7,1),(7,4),(10,1),(10,4)}仍旧未被指定。操作1004的结果是确定节 点"Β,x,x,x,x"所代表的解不必然是无效的。做出触摸点仍旧未被指定的确定(1010)并且因此选择这四个未被指定的触摸点中的第一个触摸点(即,触摸点(7,1))(1016)。用户A被选择且基于用户A的m+n触摸数据做出用户A具有在列7及行1中的一触摸的确定(1018)。因此,触摸点(7,1)被试验性地指定到用户A(1020),其对应于该用户指定配置树中的子节点"Β,Α,x,x,x"的选择。随后递归地调用函数Assign_remaining来分析子节点"Β,Α,x,x,x"所代表的用户配置。
针对图8所描绘的示例触摸数据来执行过程1000所代表的算法导致以下可能解的考虑:
过程1000所代表的算法当被应用到图8中所描绘的实力触摸数据时,可由图11中所示的用户指定配置树1100来视觉描绘。值得注意,在将过程1000所代表的算法与简单测试在执行过程500所代表的算法之后仍旧模糊的所有可能用户指定配置相比,过程1000要不计算密集得多,在通过将图11与图9比较在视觉上很清楚。而且,运行时间节省随着过程500所代表的算法所标识的可能模糊的触摸点的数量的增加而显著增加。
为了进一步改善存在许多模糊解时的运行时间,模糊子问题可被尽可能早地标识并在搜索中被折叠到单一路径中。例如,如果用户A和用户B两者均在触摸列{cl,c2}和行{rl,r2},并且在所有四个点(cl,rl)、(cl,r2)、(c2,rl)和(c2,r2)处在该m*n数据中均存在触摸点,则该数据是真正模糊的。上面指定的算法将枚举所有可能指定,其中如果在此真正模糊的配置中存在多个四个点的集合,则这些指定的数量将按照该数量指数增长。但是,相反,立即标识这些四个点的集合,将它们标记为真正模糊的,并在搜索中仅前进一个进一步路径可是优选的。
在上面的所有讨论中,认定触摸点的位置要被量化,以对应于刚好一行和一列。在实际实现中,触摸点位置被内插(interpolate)并可以用比电极节距更精细的分辨率来表示。实际上,为了精确相等而进行的所有比较被在某个容限 内的比较取代,其中该容限由该系统中的噪声量或其他不准确性来确定。
该讨论进一步假定任何触摸点仅由单一用户触摸。两个用户准确地触摸完全相同的位置处在物理上是不可能的,但是取决于可用以确定该位置的分辨率,两个用户触摸彼此非常靠近之处是可能的,使得这两个触摸表现为m*n触摸数据中的单一触摸。在此情况下,可修改上面的算法,以还考虑其中单一触摸点被指定到多个用户的解。这可增加所报告的可能解的数量,其中在这些解中的选择又是以试探方式进行的。尽管上面指出的实现关注将由电容式触摸传感器所捕捉的触摸数据消歧,但是上面之处的技术不限于电容式触摸传感器。即,上面之处的技术可被用来处理能够捕捉被投影到轴上的数据以及在完整区域上的触摸数据两者的任何类型的触摸传感器所捕捉的触摸数据并将该触摸数据消歧。上面指出的技术还可被用于更一般地对多输入系统所捕捉的数据消歧,其中这些系统捕捉与在完整显示区域上的一个或多个位置的选择以及被投影到显示器轴上的位置的用户特定选择相对应的输入数据。
II.捕捉m*n触摸数据以及用户特定的m+n触摸数据的系统
通常,所做的m+n测量是从每一行和每一列到地的电容。触摸该触摸传感器的用户将与该控制器的地节点有某种电容性连接,例如如果该用户正在手持该触摸传感器设备的外壳,或该控制器的地节点连接到建筑物的安全接地系统,并且该用户靠近被接地到该系统的某个其他物体。通常,向被测试的行或列施加电压,其频率在约100kHz,而峰到峰幅值在1V和200V之间。当该用户触摸该行或列时,电流将流出该行或列、流经该用户、到达地。流出该行或列的电流的幅值被测量,并被用来计算从该行或列到地的电容。图12中示出了此系统的所选部分的框图。
具体而言,参考图12,系统1200包括控制器,该控制器在控制器电路地1204和触摸传感器网格的行或列电极1206之间施加激励电压1202。正在触摸该触摸传感器网格的行或列电极1206的用户具有在用户的身体1208和该行或列电极1206之间的电容,该电容由C电极到用户来代表。用户的身体1208和控制器电路地1204之间的电容C用户到地由来代表。系统1200被配置成通过向行或列电极1206施加激励电压1202并随后测量从该控制器流向行或列电极1206的电流来检测触摸。所测得的电流可被用来计算从行或列电极1206到控制器电 路地1204的电容并将值得注意地在用户正在触摸行或列电极1206时从基准值改变。通过检测从行或列电极1206到控制器电路地的电容的变化(或不变),系统1200能够确定用户是否正在触摸相应的行或列电极1206。出于成本考虑,施加激励电压1202和测量该控制器的电流通常每次一行或一列地、串行地进行。然而,在一些实现中,施加激励电压1202和测量电容可同时针对多行和/或列并行地进行。不管该测量是串行地还是并行地进行,对m乘n触摸传感器进行总共m+n个测量。然而,系统1200的检测触摸的能力是有限的,因为它不被配置成捕捉m*n触摸数据或用户特定的m+n触摸数据。
图13示出了能够检测m*n触摸数据和用户特定的m+n触摸数据两者的系统1300。系统1300包括触摸传感器网格1302,触摸传感器网格1302具有控制器电路1304。用户1306在可触摸触摸传感器网格1302的一个或多个用户中。每个用户1306携带用户设备1308,如下面进一步描述的,该用户设备1308被配置成使系统1300能够捕捉用户特定的m+n触摸数据。
用户设备1308与特定用户1306相关联并且可由用户1306携带。用户设备1308可包括两个电极,并被配置成测量在那两个电极之间流动的电流。如图13中所示,一个电极可以是接地板1312,而另一电极可以是用户板1310。用户板1310可电容地贴附于用户1306的身体,例如通过将其靠近接触用户的皮肤放置。接地板1312可被配置成电容地耦合到用户1306的环境。例如,接地板1312可被贴附于金属板,该金属板电容耦合于用户1306的环境。
在一些实现中,电极1310和1312可采取在内外两侧衬有导电材料(例如,铝箔或铝网)、在内侧和外侧导体之间没有连接的外壳的形式。内部衬线电容耦合于该用户并担当用户板1310,而外部衬线担当接地板1312并电容耦合于该用户的环境,该环境可以与该控制器电路的接地节点处于相同的电势。在其他实现中,电极1310和1312可采取鞋的形式,其中接地板1312在底部、通过足够导电(例如,在水泥顶部上的地毯)的地板耦合,而该用户板1310在内侧,接触用户的脚。
用户设备1308可被配置成测量用户板1310和接地板1312之间的电流,并且在用户板1310和接地板1312之间交替地施加激励电压。如下面参考图14和15更详细地描述的,因为既能够测量电流又能够在其两个电极之间施加激 励电压,所以用户设备1308允许系统1300捕捉用户特定的m+n触摸数据。
触摸传感器网格1302包括按照二维网格(也被称为矩阵)布置的导电的行和列。如同前面指出的,将一个特定的轴表示为行vs.列是任意的。行和列导体的具体几何形状可根据用于实现它们的传导材料而改变。同样如同前面所述,例如,该行和列可以按菱形图案布置,其中氧化铟锡作为传导材料;或者该行和列可使用足够薄而在该触摸传感器被放入显示器前方时不显眼的金属线(例如铜或银线)来形成。网格1302可包括能够向网格1302的列(或行)施加激励电压的传送器和能够在控制器电路1304的控制下测量进出网格1302的行(或列)的电流的接收器(即,传感器)。在其他实现中,控制电路1304(而不是网格1302)包括这些传送器和接收器。
控制器电路1304是被配置成与传感器网格1302交互的电路,并且在一些实现中可以与传感器网格1302集成。具体而言,控制器电路1304被配置成控制激励电压到传感器网格1302的列(或行)的施加以及进出传感器网格1302的行(或列)的电流的测量。控制器电路1304可以无线地或经由有线连接直接与用户设备1308通信,和/或可通过网格1302无线地与用户设备1308通信。如下面更详细地描述的,控制器电路1304和用户设备1308彼此通信以协调用户特定的m+n列触摸数据和用户特定的m+n行触摸数据的收集。
图13还示出了用户1306和用户板1310之间的电容为C用户到用户板,接地板1312和控制器电路1304的地节点之间的电容为C接地板到地,用户1306和控制器电路1304的地节点之间的电容为C用户到地,以及网格1302的行或列节点和用户1306之间的电容为C电极到用户。用户设备1308可以是位于控制器电路1304和网格1302的远程的无线设备。然而,在一些实现中,用户设备1308通过线连接到控制器电路1304的控制器电路地。在这些实现中,电容C接地板到地被短路电路取代,该短路电路将接地板直接连接到控制器电路1304的地节点。
用户设备1308的实现示例在图17和18中示出并在下面更详细地描述。值得注意,用户设备1308在结构上对应于共同待决的申请序列号xx[21024-0145001和21024-0147001]中所描述的静电指示笔,为所有目的将其通过参考结合于此,其中先前连接到该指示笔的末端的节点转而连接到用户的身体。
图14是示出系统1300的电路框图1400,此时系统1300正在捕捉m*n触摸数据和用户特定的列触摸数据(也被称为m+n列触摸数据)。如图14中所示,控制器电路1304被配置成在控制器电路的地1404和被测试的列电极1406之间施加激励电压1402。值得注意,尽管图14中的实现描绘了控制器电路1304在网格1302的列电极1406和控制器电路的地1404之间施加激励电压1402,然而在其他实现中,控制器电路1304反而在网格1302的行电极和该控制器电路的地1404之间施加激励电压1402。如同前面所述,将网格1302的一个特定的轴表示为行vs.列是任意的。用户1306所携带的用户设备1308被配置成测量用户板1310和接地板1312之间由激励电压1402所生成的相应电流,该电流将与从列电极1406到用户的身体1408的电容大致成比例。如果每个用户1306携带一设备1308,则分别对每个用户做出测量,然后将针对每个用户获取m+n列触摸数据,其仅具有该用户的触摸点。相应地,在每个列电极1406被通电时,确定多个用户中哪个用户正在触摸被通电的列电极1406所必需的用户特定测量由各用户设备1308并行地做出。在网格1302中的所有列电极已被激励后,将已获取到所有用户的m+n列触摸数据。
值得注意,被用来激励列电极1406以获得用户特定的m+n列触摸数据的相同激励电压1402也可被用来获得所有用户m*n触摸数据。即,尽管激励电压1402被施加到被测试的列电极1406,然而网格1302的其他列电极可以被保持在恒定电压上。进入网格1302的每个行电极的电流随后被控制器电路1304测量,其中所有行电极的电流被并行地测量,产生m个测量。对行电极电流的此测量在图14中由指示从被激励的列电极1406流向行A、流向行B等的所测量的电流的箭头表示。从而,对于m乘n网格,在列电极1406被激励时并行地测量m个行电极电流。针对网格1302的每个列电极重复此过程,这意味着针对m乘n网格重复n次,从而产生总共m*n个测量。
相应地,在依序通电了所有列电极之后,将通过由每个用户的用户设备1308对电流的测量来捕捉用户特定的m+n列触摸数据,并且也将通过对各列电极到行电极电流的测量来捕捉所有用户的m*n触摸数据。
如上面参考图14所描述的,系统1300可被用来通过依序通电每个列电极1406并且随后每个用户设备1308测量其用户板到接地板电流而控制器电路 1304并行地测量网格1302的每个行的列到行电极电流来同时捕捉m*n触摸数据和用户特定的m+n列触摸数据。测量用户特定行触摸数据(也被称为m+n行触摸数据)可以与用于测量用户特定的m+n列触摸数据相同的方式来完成。即,控制器电路1304可施加激励电压来通电网格1302中的每个行电极并且随后用户设备1308可测量它们的用户板到接地板电流来确定它们各自的用户是否正在触摸被通电的行电极。
然而,用这种方式来测量用户特定的m+n行触摸数据可以需要对控制器电路1304的硬件的修改,这样的修改对于捕捉m*n捕捉电路可能不是必须的。即,控制器电路1304现在将必须能够交替地测量流入每一行的电流并在该同一行上施加激励电压。对控制器电路1304的这种修改可能显著增加其复杂度和硬件成本。此修改还可能需要为每一行在帧中添加一个时隙。对于近似方形的显示器,这可能使时隙的数量大致翻倍。这可需要该系统要么以降低的帧速操作,要么针对每个时隙按减小的积分时间操作,分别要么增加系统等待时间,要么增加测量噪声。
图15是示出系统1300的电路框图1500,此时系统1300正在捕捉用户特定的m+n行触摸数据。能量的流动被反转,使得激励电压反而被跨越用户设备1308的两个电极施加,而不是通电行电极并随后在用户设备1308处测量相应的电流。如图15中所示,用户设备1308可以在其用户板1310和其接地板1312之间施加激励电压1502。控制电路1304(其已经装备有针对每个行电极的用于捕捉m*n触摸数据的电流传感器)同样使用那些传感器但是现在用它们来测量在施加激励电压1502而不是激励电压1402时进入网格1302的每个行电极1506的电流。与前面一样,在施加激励电压1502时,所有行电极电流可被并行地测量。该电流与从用户的身体1408到行电极1506的电容大致成比例。对于特定的行电极,所测得到电容从基准值的偏离指示具有施加激励电压1502的用户设备1308的用户正在触摸该特定行电极。每个用户设备1308的通电可以被时分复用,其方式与传感器网格1302的列的通电被时分复用的方式相同,通过添加一个附加的时隙,其中在该时隙中在该用户所携带的设备传送。当存在多个用户时,添加多个时隙,为用户所承载的每个设备添加一个时隙。如下面更详细地描述的,图16示出了可被系统1300用来协调传感器网格1302的 列的通电和各用户设备1308的通电的示例帧和相应的时隙。
值得注意,从控制器电路的地1404到接地板1312(其被包括在用户设备1308中或以其他方式贴附于用户设备1308)的电容与从用户的身体1408到行电极1506或列电极1406的电容相比必须很大。(所测得的实际电容是回路中所有电容的串联;只有回路中的所有其他电容相比而言很大时这才大致等于从用户的身体1408到行电极1506或列电极1406的电容。)这意味着接地板1312必须具有相对大的面积。此外,用户的身体1408具有与控制器电路的地1404的某个电容,其形成了分流器,衰减了所测得的信号。当从用户的身体1408到地1404的电容是大的时(例如,当用户正光脚站在水泥地板上时),需要非常大的接地板1312(其面积在两平方英尺量级上)来减小该分流器的占比。
如果用户设备1308的接地板1312电容耦合于行电极1506或列电极1406,则它可能注入或感测电流,其正负号与期望电流相反。为了避免由此效应带来的假致动(例如,如果另一人与该用户的接地板1412靠近接触,且该人触摸网格1302),则所有电流测量可用相位相干检测来执行。具有相反正负号的电流将产生负面结果,并且因此这样的测量可被拒绝。(在电容式指示笔的情况下可使用类似的技术来拒绝通过手持指示笔的用户的身体耦合的电流。)
图16示出了可被系统1300用来协调其各组件的时序的帧1620的示例。如图16中所示,帧1620包括同步脉冲时隙1625、用于m乘n网格1302的n个列的n个时隙1635、以及用于携带或以其他方式与用户设备1308相关联的x个用户的x个时隙1645。其n个时隙1635的每一个中,m乘n网格1302的n个列中的每一个被通电(即,向相应的列电极施加激励电压1402)。x个用户设备1308允许通过测量其两个电极之间的相应电流可以针对被通电的列确定x用户的m+n列触摸数据,而控制器电路1304的行电流传感器允许针对网格1302中位于被通电的列处的所有点确定所有用户m*n触摸数据。在x个时隙1645中的每一个中,x个用户设备1308之一被通电(即,在其两个电极之间施加激励电压1502)。控制器电路1304的行电流传感器允许通过测量m乘n网格1302的m个行电极的m个电流来确定与被通电的用户设备1308相关联的特定用户的m+n行触摸数据。
如上所述,与特定用户相关联的用户设备1308通过接收通过通电网格1302 的列来传送的信号来捕捉该用户的m+n列触摸数据,而控制器电路1304通过接收通过通电该用户的用户设备1308来传送的信号来捕捉该用户的m+n行触摸数据。为了允许用户设备1308和控制器电路1304之间的这种通信,首先将用户设备1308的时基与控制器电路1304的时基同步。这可通过在网格1302的列上传送有区别的同步信号或脉冲(例如,以不同频率或用不同的制式来调制)来实现。这为用户设备1308提供了时间基准。用户设备1308此后可使用该用户设备1308内的石英或其他频率标准来维护其时间基准。同步脉冲一般可每帧传送一次,诸如例如在图16中示出的示例帧1620的同步脉冲时隙1625中。然而,在一些情况下,根据该系统所需的等待时间,以及该用户设备1308的频率标准的长期准确度,可以更频繁或更不频繁地传送同步脉冲。用户设备1308可搜索该同步脉冲,并且在该用户设备1308接收到该同步脉冲时重置其自己的时基。
通过上述过程,可在主机(例如,具有处理能力的设备)上的控制电子元件内计算x个用户的m+n行触摸数据以及所有用户m*n触摸数据,该主机可以是控制器电路1304或者可以是被配置成与控制器电路1304通信的另一设备。用户特定m+n行触摸数据和所有用户m*n触摸数据随后可作为手指触摸信息被传递回应用程序软件(例如,通过通用串行总线(USB)链路回到执行该应用软件的计算机,该计算机可以是该主机本身或者是与该主机通信的客户机计算机)。换言之,用户特定的m+n行触摸数据和所有用户m*n触摸数据两者均可在控制器电路1304的行电极传感器所接收的信号的基础上来计算。从而,用户特定m+n行触摸数据可以由系统1300中的与例如计算该所有用户m*n触摸数据的相同的部分来计算。
但是特定用户的m+n列触摸数据可以在用户设备1308内计算,并且可按多种方式被中继回该应用软件。换言之,用户特定m+n列触摸数据可以作为用户设备1308所接收的信号的函数而被计算,而列位置可被报告给主机(例如,使用从用户设备1308到主机的无线或有线连接)。在一个示例中,例如如果用户设备1308被有线连接到该主机,则可通过该连线来建立该通信链接,并且该连线还可为控制器电路1304和用户设备1308提供公共接地。
在另一示例中,用户设备1308可以无线地向该主机传送信息。例如,该 信息可通过添加多个时隙并且每个时隙一个位地传送二进制编码的m+n列触摸数据来经由网格1302本身静电地传送。这不需要额外的硬件,而是相反可通过修改用户设备1308和/或控制器电路1304的控制软件来不同地利用现有硬件来实现。具体而言,这可以使用原本由用户设备1308用来生成用于检测m+n行触摸数据的激励信号1502的硬件来实现。例如,用户设备1308可以通过网格1302将m+n列触摸数据从用户设备1308传送到该主机,其中被用来捕捉所有用户m*n触摸数据和用户特定m+n触摸数据的传送器和接收器还可被用来使用用于通过无线信道传送信息的任何无线编码方案来传送信息。例如,可以为坐标的每一位添加时隙,并且在该时隙期间,用户设备1308可以在对应位是“1”的情况下传送或者在对应位是“0”的情况下不传送。该方案对应于振幅键控(ASK),但可使用其他编码方案。通过将时隙添加到系统,可使用现有硬件来经由网格1302将信息从用户设备1308耦合回到该主机。可使用误差检测或纠正码来提高系统针对由于噪声而导致的随机位差错的稳定性。
用户特定的m+n列触摸数据还可由用户设备1308通过辅助信道(例如,射频通信信道,像是IEEE 802.15.4链路)传送到主机通过使用辅助信道,可能不需要帧中的额外时间来通过网格1302传送位置。这可允许系统节省更多的时间来进行手指触摸电容测量,从而导致更好的信噪比(SNR)。如果使用辅助信道来传送用户特定m+n列触摸数据,则该辅助信道还可被用来将控制电子元件的时基与用户设备1308的时基进行同步,以使得不需要用于同步脉冲的额外时隙。这还可增加帧内的可用时间,由此提高SNR。可使用其它类型的通信信道,包括例如其他射频(RF)链路、超声链路和光链路。
辅助信道还可提高性能,以使得消除对通过网格1302传送的同步脉冲的需求。同步脉冲被配置成出现在所有列(或至少整个网格1302中均匀间隔的许多列,例如,每三列一列)上,以便由用户设备1308接收,而不管与用户设备1308相关联/被指定到用户设备1308的用户的触摸的位置。因此,总瞬时传送能量大于激励单个列时的能量,并且更有可能导致电磁兼容性(EMC)问题。如果同步脉冲改为通过辅助信道来传送,则该影响可被避免,因为通过网格1302传送同步脉冲变得不必要。
还可使用用于传递用户特定m+n列触摸数据的相同路径来传递其他信息, 例如开关或贴合到用户设备1308的其他控件的状态。图17示出了用户设备1308的某些组件的框图。用户设备1308包括电流接收器1740、电压传送器1750以及用于使得电流接收器1740和电压传送器1750之间的操作有序的微控制器1720。用户设备1308还包括耦合到传送/接收开关1760的电极1770(其对应于用户板电极1310)。传送/接收开关1760耦合到电流接收器1740和电压传送器1750。为了操作这些有源电子元件,需要某种电源,例如电池电源1710或超级电容器。如果屏幕尺寸(即,网格1302的尺寸)足够小以使这变得实际,则用户设备1308还可以是电感供电的,例如来自网格1302后面或周围的线圈。出于上述原因,用户设备1308还可任选地包括辅助通信信道1730。
在操作中,微控制器1720使该过程有序,其中微控制器1720中的软件至少负责时间感测,以便将用户特定m+n列数据报告回该主机,等等。微控制器1720消耗用户设备1380中的某种内置电源(例如,电池电源1710、超级电容器、可充电电池)。微控制器1720耦合到电流接收器1740(该电流接收器可以类似于在测量电容式手指触摸时使用的各行上的接收器)和电压传送器1750(该电压传送器可类似于在测量电容式手指触摸时使用的各列上的传送器)。传送/接收开关1760可被配置成允许该系统将电流接收器1740中的电流和电压传送器1750中的电压多路复用到用户设备1308中的一个电极1770上。传送/接收开关1760可允许在传送模式中将高电压(例如,100V左右)施加到电极1770,并在接收模式中从电极1770接收小电流信号(例如,1uA左右)。
电压传送器1750和电流接收器1740可被配置成具有与贴合到网格1320中的列和行的传送器和接收器相似的形状,并进行相似的测量。适用于激励列电压和测量行电流以确定电容式传感器上的手指触摸的大多数种类的电路都还可在此适用。此处还可采用不相干检测,因为它不像相位相干检测那样需要用户设备1308的时基的精确对齐;然而这可能导致由用户设备的返回电流所带来的误致动,如同前面所讨论的。
以上描述可假定一次只有一个实体进行传送(无论该实体是网格1302中的列还是用户设备1308)。这可表示简单实现的示例,但在某些情况下,可能期望多个实体同时传送正交波形。上述所有技术在这种情况下仍然有效(例如,在多个正交频率的情况下或者在CDMA通信中适用的类型的正交伪噪声波形 的情况下)。在这种情况下,一帧传送更大的总能量以提高性噪比是可能的。在这一实现中,可使用更复杂的接收器来同时使得多个正交波形相关。用于同时传送正交波形的一些技术在2010年7月16日提交的美国专利申请No.12/838,419中描述,为所有目的将该文献的公开内容通过参考结合于此。
如上所述,因为用户设备1308必须既传送又从单个电极1770接收,所以该电极1770能够查看大电压和小电流两者。当进行传送以实现网格1302的接收器中的可接受的信噪比时,可生成100V左右的峰到峰电压摆动。在接收时,可解析一微安左右的信号。某种类型的传送/接收开关或电路是提供该动态范围所必需的。实现该功能的示例电路在图18中示出。
图18示出了用户设备1308中的用于在单个电极上传送大电压和接收小电流的电路1800的实现。电路1800包括耦合到输入端子(“回扫”)和晶体管Q2的电阻器R16。晶体管Q2具有耦合到电阻器R16的第一端子、耦合到地节点的第二端子以及耦合到变压器L2的第一线组的第三端子。齐纳二极管D2通过与地节点和变压器L2的第一线组耦合来与晶体管Q2的第二和第三端子并联耦合。变压器L2的第一线组耦合到电源(例如,a~3V电池电压)和晶体管Q2的第三端子。变压器L2的第二线组耦合到地节点和二极管D1的阳极。二极管D1的阴极耦合到该电极连接到的节点TP1。节点TP1耦合到晶体管Q1的第一端子、下拉电阻器Rpd的第一端子以及任选的电容器Cextra。下拉电阻器Rpd具有耦合到电压基准VREF的第二端子。节点TP1还包括杂散电容,这些杂散电容被建模为对于图4中的到地节点的单个杂散电容器Cstray。晶体管Q1具有耦合到用于RX_ENABLE的交换信号的第二端子以及耦合到放大器IC1A的倒相输入2的第三端子。放大器IC1A的非倒相输入3耦合到电压基准VREF。放大器IC1A的输出端子1耦合到反馈电容器Cf的第一端子和反馈电阻器Rf,并且放大器IC1A的非倒相端子还耦合到反馈电容器Cf的第二端子和反馈电阻器Rf。
在图18中,传送/接收电路使用电池电压(例如,大约3V)并生成~100V的高电压(最多传递数十微安的电流),并且接收器可被放置在同一节点上。接收器可以断开连接,以使其在传送期间不影响所生成的高电压,并且传送器可以断开连接,以使其在接收期间不影响接收到的信号。可使用与用于激励阴 极射线管显示器或用于开关模式电源的回扫电路相似的回扫电路来生成高电压。回扫电路包括存储能量的变压器L2。能量可以流到L2的第一或主要线组中,在L2的管芯中被存储为磁场,并且然后通过L2的第二线组流出L2的管芯。电压可根据变压器L2的匝数比并且根据所施加的信号的计时来变换。通过L2的第二线组流出的能量可以通过D1在输出处流入杂散电容,并形成跨该杂散电容的高电压。该杂散电容可被设计成如实际那样小,因为该电路耗散的真实功率(至少是0.5*Cstray*V^2*f)可以与该电容成比例。
在传送时,用回扫变压器L2来生成高电压AC。为了产生具有频率f=1/T的激励电压,并且假定50%的开关占空比,开关Q2被关闭0.5*T的时间。在该时间期间,从零开始的变压器中的电流斜变上升至初级电流Ipri=(Vdd*0.5*T)/Lpri,其中Vdd是通常在3V左右的电源电压,而Lpri是初级电感。当开关打开时,该存储的能量在回扫电路的输出处被传递至杂散电容Cstray。忽略电阻器Rpd,峰值电压可通过使存储在变压器电感中的能量0.5*Lpri*Ipri^2与存储在输出杂散电容中的能量0.5*Cstray*Vpk^2相等来计算。该电压可以如Rpd*Cstray指数地衰减,其中积应当在与激励周期相同的数量级上选择,以使得在每一周期输出大致衰减回到零。实际上,Cstray可以是例如几皮法拉的电容,而Rpd可以是数百千欧姆。变压器初级电感可以是数百微亨,并且它的匝数比可以是大约1:7。电阻器Rpd可以用接地的开关(例如,FET或双极晶体管)来替换。这可产生近似方波,该方波比用电阻器产生的重复指数更接近所需理想正弦波。
当向电极施加高电压时,IC1A处的接收器可被保护以防止通过打开开关Q1(例如,晶体管)以隔离传送模式中的接收器产生的破坏。否则,接收器电路IC1A将使得高传送电压起到钳位作用,并且可能被它破坏。该电路因此使用晶体管n-FET Ql来断开连接。可选择该n-FET Ql以获得高额定电压(即,大于在电极处看到的峰值电压的栅-漏额定电压),以及低杂散电容(该杂散电容将增加Cstray,并因此减小可接受的Rpd并增加系统在进行传送时消耗的总功率)。该晶体管Q1是分立FET,并因此可使其体节点连接到其源节点,这产生寄生二极管;但该二极管始终是逆向偏置的,因为漏极处的电压始终大于源极处的电压,这可意味着它不影响电路的操作。当在传送时,Q1的栅电压被 保持在0V,这在栅极处放置电压-VREF(且VREF大约是0.5*Vdd),该栅极使晶体管截止。当在接收时,向Q1的栅极施加电压Vdd。这可以在栅极处放置电压(Vdd-VREF),该栅极使晶体管导通。信号因此可流入接收互阻放大器IC1A。由此,在接收器模式中,可以在Q1的栅极(例如,RX_ENABLE引脚)上放置高电压,以使得晶体管Q1导电并表现得像短路那样。然而,由于该晶体管和二极管D1,杂散电容无法断开连接。对于一阶,IC1A的倒相输入处的对地的附加阻抗将不会影响闭环转移函数;但对于具有有限增益带宽的实际放大器而言,可能并非如此。电容Cstray不会显著地影响接收放大器的闭环转移函数。Rpd不具有显著的动态效应;它将在接地的情况下引入显著DC误差,但连接到与运算放大器的非倒相输入相同的VREF,以避免该问题。
变压器次级电感将引入显著误差,但在接收时,L2的阳极处的电压由变压器保持在接近地,并且阴极处的电压被保持在VREF>0。这意味着二极管是逆向偏置的,这意味着该二极管将接收电路与该变压器电感隔离开。相同的二极管因此被用作回扫电路的一部分,以便只允许从变压器次级电感到输出电容中的单向电流,并且将接收器与该回扫电路隔离开,以减少部件数。
在一些实现中,杂散电容Cstray中可能存在2:1或更多变化,这可产生所生成的峰值电压的变化。因此,电路设计可以用足够高的电压来进行,以便在最高可能电容Cstray的情况下实现所需信噪比,而不生成足够高的电压以导致晶体管击穿,即使在最低可能Cstray的情况下。在一些实现中,可以与杂散电容Cstray并行地添加蓄意电容(例如,图4中的Cextra)。如果该蓄意电容上的容限好于杂散电容上的容限,则这具有以下效应:减少峰值电压的变化,但增加总电容,并因此增加总功耗。在一些实现中,可使用另一开关模式电源拓扑结构,而不是使用回扫电路。
本主题的所描述的实施例中的一些和操作可在数字电子电路中实现,或在计算机软件、固件、或硬件中实现,包括在本说明书中描述的结构及其等同结构,或其中一个或多个的组合。本说明书中描述的主题的实施例可被实现为计算机程序,即,编码在计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。替代地或附加地,程序指令可被编码在人工生成在传播信号上,例如,机器生成的电、光或电磁信号, 所述信号被生成以编码信息以传送到适当的接收器装置上以供数据处理装置执行。数据处理装置可包括传感器、可以是传感器的一部分、可以是带有传感器的系统的一部分、可以被集成在该系统和/或传感器内、可以是接收器、发送器、与传感器或接收器和/或发送器相关联的组件或逻辑的一部分、或其任何组合。计算机存储介质可以是计算机可读存储介质、计算机可读存储基底、随机或串行访问存储器阵列或设备、或其中一个或多个的组合,或可以被包括在其中。而且,尽管计算机存储介质不是传播信号,然而计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个分开的物理组件或介质(例如,多个CD、盘或其他存储设备)或可被包括在其中。
此说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作,
用于处理数据的各装置、设备和机器可被用作“数据处理装置”,包括例如可编程处理器、计算机、片上系统、或以上中的多个或组合。该装置可包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件,该装置还可包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机、或其中一个或多个的组合的代码。该装置和执行环境可实现各种不同计算模型基础结构,诸如web服务、分布式计算和网格计算基础结构。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以任何形式的编程语言(包括编译或解释语言、声明性或程序性语言)撰写,并能以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象、或适于在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可被存储在保持其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、存储在专用于所讨论的程序的单一文件中、或存储在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可被部署以在一个站点处的一个计算机或多个计算机上执行或跨多个站点分布并通过通信网络相互连接。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行, 所述可编程处理器执行一个或多个计算机程序来通过对输入数据进行操作并生成输出执行动作。该过程和逻辑流程还可通过专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也可被实现为该专用逻辑电路。
适于执行计算机程序的处理器可包括,作为示例,通用和专用微处理器以及任何类型的数字计算机的任意一个或多个处理器。一般地,处理器接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的必要元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。一般地,计算机还将包括或可被操作地耦合以接收来自一个或多个大容量存储设备(例如,磁性、磁光盘、或光盘)的数据或将数据发送到大容量存储设备以供存储数据或两者。然而,计算机不必具有这些设备。而且,计算机可以被嵌入在另一设备(例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),这些仅是几个示例)中。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如,半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内置硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或被合并到专用逻辑电路中。
为了提供与用户的交互,在本说明书中描述的主题的实施例可被实现在计算机上,该计算机具有用于向用户显示信息的显示设备(例如,阴极射线管(CRT)或液晶显示器(LCD)监视器),以及用户可用来向计算机提供输入的键盘以及指点设备(例如鼠标或追踪球)。其他类型的设备也能被用以提供与用户的交互;例如,向用户提供的反馈可以是任何形式的传感反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能以任何形式接收,包括声音、语音或触觉输入。例如人类手指可以与触摸屏交互以影响屏幕可操作区域的量。此外,计算机可通过向用户所使用的设备发送文档以及从该设备接收文档来与该用户交互;例如,通过响应于从用户的客户机设备上的web浏览器接收的请求向该web浏览器发送网页。
尽管此说明书包含许多具体实现细节,然而,这些细节不应当被解释为对 任何发明或所要求保护的范围的限制,而是作为对专用于特定发明的特定实施例的特征的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以在单一实施例中组合地实现。反过来,在单一实施例的上下文中描述的各个特征也可以在多个实施例中分开地实现或以任何适当子组合实现。
而且,尽管特征可能在上面被描述为以特定组合动作并且甚至一开始要求如此保护,然而来自所要求保护的组合的一个或多个特征在某些情况下可以从该组合中剥离,而所要求保护的组合可以针对子组合或子组合的变型。
类似地,尽管在附图中以特定次序描绘了操作,然而这不应当被理解为要求这些操作以所示的特定次序或以顺序次序执行,或者所示的所有操作均被执行来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。而且,上面描述的实施例中的各系统组件的分离不应当被理解为在所有实施例中均要求这种分离,而且应当理解,所描述的程序组件和系统一般可被一起集成在单一软件产品中或打包到多个软件产品中。
从而,描述了本主题的特定实施例。其他实施例在以下权利要求书的范围内。在某些情况下,权利要求书中所记载的动作可以按不同次序执行并仍旧能够实现期望的结果。此外,在附图中描绘的过程不一定需要所示的特定次序或顺序次序来实现期望的结果。在某些实现中,多任务和并行处理可能是有用的。