CN104346001B - 用于识别触摸板上的手指触摸并确定其位置的方法 - Google Patents
用于识别触摸板上的手指触摸并确定其位置的方法 Download PDFInfo
- Publication number
- CN104346001B CN104346001B CN201310314837.9A CN201310314837A CN104346001B CN 104346001 B CN104346001 B CN 104346001B CN 201310314837 A CN201310314837 A CN 201310314837A CN 104346001 B CN104346001 B CN 104346001B
- Authority
- CN
- China
- Prior art keywords
- cluster
- array
- touch
- colony
- compared
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/044—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/044—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
- G06F3/0446—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a grid-like structure of electrodes in at least two directions, e.g. using row and column electrodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/04166—Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/041—Indexing scheme relating to G06F3/041 - G06F3/045
- G06F2203/04104—Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
Abstract
本专利申请提供了通过分析触摸板的电极的电容变化来识别由至少一手指在触摸板上的触摸并确定所述触摸的位置的方法。所述电容的变化表示为至少一阵列。本专利申请还提供了实施所述方法的数字信号处理单元和触摸板。
Description
技术领域
本专利申请总地涉及触摸板技术,更具体地说,涉及一种用于识别触摸板上的手指触摸并确定所述手指触摸的位置的方法。
背景技术
电子设备(例如移动电话和便携式计算机)通常具有用作输入装置的触摸板。一种这样的触摸板是电容触摸板。这种类型的触摸板通常由电极阵列形成。电极的材料可以是任何导体。通常,当触摸板位于显示系统之上时,使用ITO(Indium tin oxide,氧化铟锡),因为ITO是透明的。如果不要求透明,通常使用铜。当一个或多个人的手指靠近或者触摸电容触摸板时,电极的电容将会改变。通过收集与电容相关的信息并分析它们,来计算触摸的位置。有许多种方法从电极阵列获得这样的信息,但是通常,构建电子电路来测量电极的自电容、或者电极之间的互电容。优选地,电容信息通过滤波电路,以去除任何不期望的环境噪音。然后,电容信息被传送到存储设备,用于暂时存储并准备用于进一步的处理。可以通过将电极上的电容信息投影到两个正交轴上,将电容信息存储为两个一维阵列,或者将电容信息直接存储为二维阵列。
需要用某些技术来分析电容信息。首先,需要用手指识别方法从电容信息阵列中识别出多次手指触摸。该方法应该能够区分真实的手指触摸与由噪音和干扰引起的一些不期望的信息。此外,该方法应该能够区分与不同的手指对应的电容信息,使得一个以上的手指触摸能够被识别,以用于用户界面的灵活性。第二,需要用分辨率增强方法来计算实际的触摸位置。电子设备的主处理单元通常需要有比电容触摸板的尺寸大得多的分辨率。分辨率增强方法可以利用每个点的电容信息来产生触摸位置的高分辨率坐标。
此外,由于现代化电子设备的尺寸减小的趋势,将电容触摸板控制系统在小型专用集成电路(Application Specific Integrated Circuit,ASIC)中实施是有益的,其中上述方法由专用的超大规模集成(Very Large Scale Integrated,VLSI)硬件逻辑电路代替微处理器来处理。因此,该方法应该设计成方便VLSI硬件逻辑电路实施。
发明内容
本专利申请涉及一种通过分析触摸板的电极的电容变化来识别由至少一手指在触摸板上的触摸并确定所述触摸的位置的方法,所述电容的变化表示为至少一阵列。在一方面,所述方法包括:在预定的循环次数中扫描所述至少一阵列的元素;在每次循环中将每个元素与相邻的元素进行比较;基于比较,将多个元素拓殖到一群集(colony)中;通过将所述群集的特性与预定的一组临界值进行比较,确认群集;通过计数群集内的元素的数量,计算群集大小;基于每个经确认的群集的群集大小,计算混合比;形成拟合阵列,该拟合阵列包括群集中的最大元素、以及邻近该最大元素的多个元素;计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数;采用所述系数确定触摸的第一位置;形成包括拓殖的元素的加权平均阵列;计算所述加权平均阵列的质量矩和质量;通过用质量除以质量矩,确定触摸的第二位置;基于第一位置、第二位置和混合比确定触摸的混合位置,使得所确定位置的分辨率高于触摸板的物理分辨率。
所述电容的变化可表示为两个一维阵列,且在交替的循环过程中,对每个一维阵列可执行向前方向扫描和向后方向扫描。每个一维阵列中的每个元素都以预定的次序在不同的扫描方向上与它邻近的两个元素进行比较。基于比较,每个一维阵列的多个元素可被分组为群集,从而形成多个群集。与预定的一组临界值进行比较的群集特性可包括群集中的元素最大值、群集的元素的数量、以及群集的所有元素的值的和。所述确认群集的步骤可包括:如果群集的特性不能满足所述预定的一组临界值,则去除该群集。
所述电容的变化可表示为二维阵列,且在交替的循环过程中,对二维阵列可执行向前方向扫描和向后方向扫描。所述二维阵列中的每个元素都以预定的次序在不同的扫描方向上与它邻近的八个元素进行比较。基于比较,所述二维阵列的多个元素可被分组为群集,从而形成多个群集。与预定的一组临界值进行比较的群集特性可包括群集中的元素最大值、群集的元素的数量、以及群集的所有元素的值的和。所述确认群集的步骤可包括:如果群集的特性不能满足所述预定的一组临界值,则去除该群集。
在计算系数时,固定的坐标系统可被应用于拟合阵列的多个元素,使得伪逆矩阵变成常数。所述伪逆矩阵中的元素可被归一化为整数。在确定触摸的位置时,一个系数可被另一个系数相除,从而从执行该除法的除法器的小数精度增加分辨率。
所述混合比的值可介于0和1之间。通过将第二位置与混合比相乘、将第一位置与1-混合比相乘、并将两个乘积相加,可进一步确定触摸的混合位置。
在另一方面,本专利申请提供了一种数字信号处理单元,包括被配置用于通过分析触摸板的电极的电容变化来识别由至少一手指在触摸板上的触摸并确定触摸的位置的逻辑电路,其中所述电容的变化表示为至少一阵列。所述逻辑电路包括:在预定的循环次数中扫描所述至少一个阵列的元素的机制;在每次循环中将每个元素与相邻的元素进行比较的机制;基于比较将多个元素拓殖到一群集中的机制;通过将所述群集的特性与预定的一组临界值进行比较以确认群集的机制;通过计数群集内的元素的数量来计算群集大小的机制;基于每个经确认的群集的群集大小计算混合比的机制;形成拟合阵列的机制,该阵列包括群集中的最大元素、以及邻近该最大元素的多个元素;计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数的机制;采用所述系数确定触摸的第一位置的机制;形成包括拓殖元素的加权平均阵列的机制;计算加权平均阵列的质量矩和质量的机制;通过用质量除以质量矩确定触摸的第二位置的机制;基于第一位置、第二位置和混合比确定触摸的混合位置、使得所确定位置的分辨率高于触摸板的物理分辨率的机制。
所述电容的变化可表示为两个一维阵列,且该逻辑电路包括在交替的循环过程中对每个一维阵列执行向前方向扫描和向后方向扫描的机制、以及将每个一维阵列中的每个元素以预定的次序在不同的扫描方向上与它邻近的两个元素进行比较的机制。
所述电容的变化可表示为二维阵列,且该逻辑电路包括在交替的循环过程中对二维阵列执行向前方向扫描和向后方向扫描的机制、以及将二维阵列中的每个元素都以预定的次序在不同的扫描方向上与它邻近的八个元素进行比较的机制。
在另一方面,本专利申请提供了一种触摸板,包括:多个电极,被配置用于感应至少一手指在触摸板上的触摸;以及数字信号处理单元,被配置用于通过分析电极的电容变化来识别触摸并确定触摸的位置,所述电容的变化表示为至少一阵列。所述数字信号处理单元包括逻辑电路,所述逻辑电路包括:在预定的循环次数中扫描所述至少一个阵列的元素的机制;在每次循环中将每个元素与相邻的元素进行比较的机制;基于比较将多个元素拓殖到一群集中的机制;通过将所述群集的特性与预定的一组临界值进行比较以确认群集的机制;通过计数群集内的元素的数量来计算群集大小的机制;基于每个经确认的群集的群集大小计算混合比的机制;形成拟合阵列的机制,该阵列包括群集中的最大元素、以及邻近该最大元素的多个元素;计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数的机制;采用所述系数确定触摸的第一位置的机制;形成包括拓殖元素的加权平均阵列的机制;计算加权平均阵列的质量矩和质量的机制;通过用质量除以质量矩确定触摸的第二位置的机制;基于第一位置、第二位置和混合比确定触摸的混合位置、使得所确定位置的分辨率高于触摸板的物理分辨率的机制。
在计算系数时,所述逻辑电路包括用于将固定的坐标系统应用于拟合阵列中的元素从而使得伪逆矩阵变成常数的机制。
附图说明
图1是根据本专利申请的实施例的电容触摸板系统的框图;
图2是根据本专利申请一实施例的手指触摸识别方法的流程图;
图3是根据本专利申请一实施例的拓殖的一维阵列的示意图;
图4是根据本专利申请一实施例的拓殖的二维阵列的示意图;
图5是根据本专利申请一实施例的一个分配给由三个元素组成的一维阵列的坐标系统的示意图;
图6是本专利申请一实施例的一个优选VLSI实施方案的示意图;
图7是根据本专利申请一实施例的一个分配给由九个元素组成的二维阵列的坐标系统的示意图;
图8是根据本专利申请一实施例的一个优选VLSI实施方案的示意图;
图9是根据本专利申请一实施例的具有分辨率增强的识别触摸的方法的流程图。
具体实施方式
现在将参照详细的优选实施例描述本专利申请公开的用于识别触摸板上的手指触摸并确定所述手指触摸的位置的方法,也在以下的描述中提供了本专利申请的例子。在本专利申请中公开的该方法的示范实施例也被详细描述,但是对相关技术领域的普通技术人员来说,为了简洁起见,对于理解该方法来说不是特别的某些特征没有被示出。
此外,应该理解,本专利申请公开的用于识别触摸板上的手指触摸并确定所述手指触摸的位置的方法并不限于以下描述的精确实施例,本技术领域的人员可以对其做出各种改变和修改,而不脱离保护的精神或范围。例如,不同示例性实施例的元素和/或特征可以在公开的范围内彼此合并和/或彼此替换。
参照图1,示出了根据本专利申请一实施例的电容触摸板系统的框图。在这个系统中,电容触摸板101直接连接到模拟前端电路102模块。模拟前端电路102被配置用于发送电信号到电容触摸板101,并感应任何响应信号。通常,模拟前端电路102中包括模数转换器(ADC),且模数转换器被配置用于将响应信号转换为电容信息的数字形式。扫描控制单元103被配置用于控制扫描过程的定时和运行。扫描控制单元103还从模拟前端电路102接收电容信息,并将电容信息存储在存储设备104中。优选地,静态随机存取存储器(SRAM)被用作这样的存储设备。当扫描过程完成时,扫描控制单元103通知数字信号处理(DSP)单元105识别手指,若手指出现则计算对应的触摸位置。然后触摸位置被送回电子设备的主处理器(下文也被称为主机系统)供进一步处理。为了实现紧凑的尺寸,上述的电容触摸板系统优选地通过VLSI(超大尺寸集成)工艺实现在单个ASIC(专用集成电路)中。下文将详细描述DSP单元105内的逻辑电路和该逻辑电路执行的方法。
根据采用的扫描方法,电容信息可以以不同的排布(arrangement)存储在存储设备104中。有两种电容信息存储在存储设备104内的不同排布可以使用。在本专利申请的一个实施例中,假定电容信息被存储为两个一维阵列。这样的排布在下文被称为类型A排布,当分别在x轴和y轴上扫描电容触摸板时,形成这样的排布。在类型A排布中,测量x轴上投影的电容和y轴上投影的电容。在本专利申请的另一个实施例中,假定电容信息被存储为二维阵列。这样的排布在下文被称为类型B排布,当逐行(line-by-line)扫描电容触摸板时,形成这样的设排布。在这种排布中,测量每个交叉点的电容。
参照图2,示出了根据本专利申请一实施例的手指触摸识别方法的流程图。该流程图可以应用于上述的类型A和类型B排布,但是两种类型之间某些步骤的操作会有所不同。在这个实施例中,提供了通过分析触摸板上的电极的电容变化来识别由至少一手指在触摸板上的触摸并确定所述触摸的位置的方法。电容的改变表示为至少一阵列。该方法包括:以预定的循环次数扫描所述至少一阵列的元素;在每次循环中将每个元素与其相邻的元素进行比较;基于比较,将多个元素拓殖到一群集中;通过将所述群集的特性与预定的一组临界值进行比较,确认群集。
更具体地,参照图2,对于类型A排布,在每个一维阵列上分别执行手指触摸识别过程。在步骤201,通过在阵列中搜索,找到一维阵列中的最大元素。然后将一维阵列中的最大元素的值存储在单独的存储空间,例如寄存器中,供进一步处理。接下来的程序包括扫描一维阵列的重复处理。重复的次数可以是任何整数,但是为了处理次数与性能之间的平衡,本实施例中优选设置为4。最初,扫描循环次数(scan_cycle)被赋值为0。在每次扫描循环之后,该数量增加1。在步骤202,检查扫描循环次数是否小于4。如果答案是“是”(Y),过程继续;如果是“否”(N),过程终止。在步骤203中,在每次扫描循环的开始给变量WATER_LEVEL重新赋值。如果扫描循环次数是0,WATER_LEVEL被设置为一维阵列中的最大元素的分数。如果扫描循环次数大于0,WATER_LEVEL被设置为前一个扫描循环中它本身的分数。该分数的数量可以是0和1之间的任何实数。该分数的数量也可以在每次扫描循环中改变。优选地,在这个实施例中,分数的数量被设置为0.75。在步骤204中,检查扫描循环次数是否是奇数或偶数。如果扫描循环次数是偶数,在向前方向上扫描一维阵列,如步骤205a。如果扫描循环次数是奇数,在向后方向上扫描一维阵列,如步骤205b。对于阵列中的每个元素,如果扫描在向前方向上进行,执行步骤206a到210a;如果扫描在向后方向上进行,执行步骤206b到210b。
在步骤206a和206b中,检查每个元素是否大于WATER_LEVEL。如果元素大于WATER_LEVEL,根据扫描方向在步骤207a或207b中执行进一步的处理。否则,根据扫描方向过程继续至步骤211a或者211b。
在步骤207a到210a、以及步骤207b到210b中,执行被称为拓殖(colonization)的过程。该过程的目的是通过多次重复扫描过程,将元素分组为多个群集(colony)。每个群集对应于一可能的手指触摸。整数COLONY(n)与阵列中的每个元素相关联,其中整数n是阵列中的元素的索引。如果COLONY(n)为0,意味着element(n)未被拓殖。如果COLONY(n)大于0,意味着element(n)被拓殖,COLONY(n)的值表示该元素所属的群集的组。
首先检查每个元素跟随与其相邻的群集的可能性。向前方向上的检查过程与向后方向上的检查过程不同。步骤207a和步骤208a对应于向前方向上的检查过程。在步骤207a,首先检查COLONY(n+1),如果COLONY(n+1)非零,将element(n+1)与element(n)进行比较。如果element(n)小于或等于element(n+1),那么在步骤208a中将COLONY(n)赋值为COLONY(n+1)的值。如果COLONY(n+1)等于0或者element(n)大于element(n+1),该过程继续至步骤207a,检查COLONY(n-1)。如果COLONY(n-1)非零,则将element(n-1)与element(n)比较。如果element(n)小于或等于element(n-1),那么在步骤208a中将COLONY(n)赋值为COLONY(n-1)。步骤207b和208b对应于向后扫描中的检查过程。步骤207b和208b类似于步骤207a和208a,除了首先检查element(n-1)和COLONY(n-1)、之后检查element(n+1)和COLONY(n+1)之外。步骤207a和208a中的比较逻辑可以用代码1中的伪代码表示。步骤207b和208b中的比较逻辑可以由代码2中的伪代码表示。
代码1:
代码2:
如果不能根据步骤207a或者207b中的条件拓殖element(n),则该过程根据扫描方向在步骤209a或者209b检查是否可以形成新的群集。在步骤209a,将element(n)与element(n-1)和element(n+1)比较。如果element(n)确实大于element(n+1),同时大于或等于element(n-1),则在步骤210a中创建新的群集,COLONY(n)被赋予之前不存在的新的群集数NEW_COLONY。在步骤209b中,将element(n)与element(n-1)和element(n+1)比较。如果element(n)确实大于element(n-1),同时大于或等于element(n+1),则在步骤210b中创建新的群集,COLONY(n)被赋予之前不存在的新的群集数NEW_COLONY。步骤209a和210ba可以由代码3中的伪代码表示。步骤209b和210b可以由代码4中的伪代码表示。
代码3:
代码4:
在步骤211a和211b,该过程检查一个扫描循环是否已经完成。如果阵列中的最后元素已经被检查,该过程回到步骤202,检查四个扫描循环是否已经完成。否则,该过程根据扫描方向继续至步骤205a或者205b,取出阵列中的下一元素供检查。当四个扫描循环已经完成,拓殖过程完成。具有非零值COLONY(n)的元素被拓殖。具有相同非零值COLONY(n)的一组元素属于相同的群集,而这样的每个群集表示一可能的手指触摸。参照图3,示出了拓殖的一维阵列。阴影区域表示拓殖的元素。例如,图3示出了两个群集。群集的最大数量取决于各种不同的参数,例如阵列的大小和电容触摸板的特征,且不受拓殖过程的限制。
由于背景噪音或者电容触摸板的不均匀性,群集可能不能表示实际的手指触摸。使用未滤波的群集信息供进一步处理可能会产生无效的触摸位置,从而在主机系统中触发一些错误事件。因此,本专利申请的实施例包括确认拓殖的电容信息的确认过程。
对于每个群集,得到几个特性,包括每个群集的最大值COLONY_PEAK(j)、每个群集的元素的总数量COLONY_AREA(j)、以及每个群集的所有元素的值的总和COLONY_WEIGHT(j)。对于任何群集j,如果COLONY_MAX(j)大于临界值MIN_LEVEL,如果COLONY_AREA(j)大于临界值MIN_AREA,且如果COLONY_WEIGHT(j)大于临界值MIN_WEIGHT,则群集j被确认是手指触摸。只有被确认的群集被传送给主处理器供进一步处理。
在上述的实施例中,电容的改变被表示为两个一维阵列,在交替的循环中对每个一维阵列执行向前方向扫描和向后方向扫描。每个一维阵列中的每个元素以预定的次序在不同的扫描方向上与它邻近的两个元素进行比较。基于比较,将每个一维阵列的多个元素分组为群集,从而形成多个群集。与预定的一组临界值进行比较的群集特性包括群集中的元素的最大值、群集的元素的数量、以及群集的所有元素的值的和。确认群集的步骤包括:如果群集的特性不能满足该预定的一组临界值,则去除该群集。
对于类型B排布,根据本专利申请的另一个实施例,电容信息被存储为二维阵列。与前一实施例类似,也可以应用图2所示的手指识别的方法,除了修改某些步骤的操作之外。参照图2,在步骤201,通过在二维阵列中搜索,找到最大元素。步骤202与之前的实施例相同,检查扫描循环次数是否大于4。类似地,步骤203和204也与之前的那些相同。
在本实施例的步骤205a和205b中,向前扫描和向后扫描的定义是精确的,因为电容信息阵列是二维的。在步骤205a,首先扫描第一行中的第一元素,接下来扫描第一行中的第二元素。当第一行中的所有元素被扫描时,以相同的次序扫描第二行中的元素。该过程以相同的方式继续,直至最后一行中的所有元素都被扫描。在步骤205b,首先扫描最后一行中的最后元素,接下来扫描最后一行中的倒数第二个元素。当最后一行中的所有元素被扫描时,以相同的次序扫描倒数第二行中的元素。该过程以相同的方式继续,直至第一行中所有的元素都被扫描。步骤206a和206b与之前的实施例是相同的。
在这个实施例中,整数COLONY(m,n)与二维阵列中的每个元素相关联,其中m是元素的行索引,n是元素的列索引。如果COLONY(m,n)是0,意味着element(m,n)未被拓殖。如果COLONY(m,n)大于0,意味着element(m,n)被拓殖,且COLONY(m,n)的值表示element(m,n)所属的群集的组。
在本实施例的步骤207a和207b中,element(m,n)跟随与其相邻的群集的条件与之前的实施例不同。在步骤207a,将element(m,n)与它相邻的元素比较,次序为element(m+1,n)、element(m,n+1)、element(m-1,n)、element(m,n-1)、element(m+1,n+1)、element(m-1,n+1)、element(m-1,n-1)、和element(m+1,n-1)。在步骤207b,将element(m,n)与它相邻的元素比较,次序为element(m-1,n)、element(m,n-1)、element(m+1,n)、element(m,n+1)、element(m-1,n-1)、element(m+1,n-1)、element(m+1,n+1)和element(m-1,n+1)。在步骤207a和207b两者中,如果element(m,n)小于或等于相比较的元素且相比较的元素已经被拓殖,则element(m,n)跟随其相邻的元素的群集。在步骤208a和208b,如果分别匹配207a和207b中的条件,则element(m,n)的COLONY(m,n)被赋予其相邻元素的COLONY数。步骤207a和208a中的比较逻辑可以由代码5中的伪代码表示。步骤207b和208b中的比较逻辑可以由代码6中的伪代码表示。
代码5:
代码6:
在这个实施例中,如果在步骤207a或者207b中不能拓殖element(m,n),则该过程根据扫描的方向在步骤209a或者209b检查是否形成新的群集。在步骤209a,将element(m,n)与所有八个相邻的元素进行比较。如果element(m,n)确实大于element(m,n+1)、element(m+1,n-1)、element(m+1,n)和element(m+1,n+1),且大于或者等于element(m,n-1)、element(m-1,n-1)、element(m-1,n)和element(m-1,n+1),则在步骤210a中创建新的群集,COLONY(m,n)被赋予之前不存在的新的群集数NEW_COLONY。在步骤209b中,element(m,n)与所有八个相邻的元素进行比较。如果element(m,n)确实大于element(m,n-1)、element(m-1,n-1)、element(m-1,n)和element(m-1,n+1),且大于或者等于element(m,n+1)、element(m+1,n-1)、element(m+1,n)和element(m+1,n+1),则在步骤210b中创建新的群集,COLONY(m,n)被赋予之前不存在的新的群集数NEW_COLONY。步骤209a和210b可以由代码7中的伪代码表示。步骤209b和210b可以由代码8中的伪代码表示。
代码7:
代码8:
靠近手指触摸位置的电极的电容受到的影响更大,离手指触摸位置较远的电极受到的影响较少。本专利申请的另一实施例所提供的分辨率增强方法可以以类推来找到该穹顶形状的轮廓的最高峰位置。在前述的类型A排布的实施例中,电容信息阵列被存储为两个一维阵列,分辨率增强方法采用了曲线拟合(curve fitting)的构思。在前述的类型B排布的实施例中,电容信息阵列被存储为二维阵列,分辨率增强方法采用了曲面拟合(surfacefitting)的构思,曲面拟合是曲线拟合的二维扩展。
在这个实施例中提供的曲线拟合的构思具有以下优点:(1)由于背景环境的持续变化,电极的电容随着时间不断地变化。单独考虑每个元素的值的方法通常产生不稳定的触摸位置,这导致主机系统中不期望的影响。虽然各个元素的值随着时间不断变化,但是手指触摸引起的穹顶形状的总体轮廓没有像元素的值变化那样大。在这样的情况下,曲线拟合在寻找触摸位置中是相对更有效的方法,因为考虑了轮廓的总体形状。(2)曲线拟合的构思并不受到元素的绝对值的限制。对于成功的曲线拟合,元素的值并不必定与曲线精确拟合。因此,由于不同的触摸板之间的特征差异而导致穹顶形状轮廓的微小变化对于通过曲线拟合得到的触摸位置的精度来说并不是至关重要的。
用于曲线拟合或者曲面拟合的典型方法对于VLSI实施来说太复杂了。本专利申请的以下实施例应用特殊的条件到该方法,使其对于VLSI实施来说相对简单。
在本专利申请的一实施例中,提供了一种用于确定触摸的位置的方法。该方法包括:形成拟合阵列,该阵列包括群集中的最大元素、以及邻近该最大元素的多个元素;计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数;采用所述系数确定触摸的位置,使得所确定位置的分辨率高于触摸板的物理分辨率。需要注意的是,二维拟合阵列本质上是拟合矩阵。
更具体地,在这个实施例中,电容触摸板上的手指触摸在一维电容信息阵列上形成穹顶形状的曲线。例如,选择抛物线来拟合该穹顶形状的曲线。典型的抛物线可由以下等式描述:
z=A0–A1(x-A2)2 等式(1)
如果所有的系数A0、A1和A2都是正数,等式(1)描述了具有凸起形状的一般抛物线。A0是最大点的幅度。A1描述了抛物线的下降率。A2是最大点的位置。在拟合抛物线并获得A2以后,可以找到手指触摸的位置。
为了曲线拟合的目的,等式(1)必须以以下一般形式重组:
Z=C0+C1x–C2x2 等式(2)
C0是零次系数,C1是一次系数,C2是二次系数。二次项的负号与等式(1)的A1的负号一致,其指示抛物线的凸起形状。
曲线拟合的第一步骤是收集即将被拟合到等式(2)的所有数据点,并形成以下矩阵:
等式(3)
矩阵Z是k*1矩阵,其中k是即将被拟合的数据点的数量。Z中的每个元素是数据点的值。矩阵B,k*3矩阵,是拟合矩阵,或者换句话说,是二维拟合阵列。每行有三个元素。一行的第一个元素总是常数1。一行中的第二个元素是即将被拟合的数据点的位置。一行中的第三个元素是即将被拟合的数据点的位置的负平方。B中的行数等于即将被拟合的数据点的数量。矩阵C是3*1矩阵,其元素是C0、C1和C2。
通常,k可以是大于或等于3的任何数。在这个实施例中,只使用三个数据点,因此以上只示出了三个数据点。
定义矩阵E,使得
E=Z–BC 等式(4)
曲线拟合问题相当于找到矩阵C,使得均方差(MSE)1/nETE最小。
通过将等式(4)代入MSE,并设置导数为0,可通过以下的等式得到期望的C矩阵:
C=[BTB-1BT]Z 等式(5)
矩阵[BTB-1BT]被称为矩阵B的伪逆矩阵。在VLSI内计算伪逆矩阵消耗大量的处理能力,因在本实施例中加以避免。
对于针对类型A排布的前一实施例中通过手指识别过程形成的每个经确认的群集,每个群集的最大元素COLONY_MAX(j)的位置都被存储为POS_REF供进一步处理。参照图3,对于每个经确认的群集,选择三个元素用于曲线拟合,包括最大元素和它的两个相邻元素。参照图5,这三个数据点被赋予[0,1,2]的x坐标。将这三个数据点的x放入x0至x2,B矩阵可以重新写作:
等式(6)
B矩阵变成常数。伪逆矩阵可以计算如下:
等式(7)
因此根据等式(5),可计算C如下:
C0=z0 等式(8)
C1=-1.5z0+2z1–0.5z2 等式(9)
C2=-0.5z0+z1–0.5z2 等式(10) 通过比较等式(1)和(2),A2等于C1/2C2。与等式(9)和(10)一起,得到:
等式(11)
通过将分母和分子乘2,等式(11)变成:
等式(12)
需要注意的是在这个步骤中,等式(12)的乘法系数被归一化为整数。通过等式(12)计算A2可以在VLSI中轻易地实施。图6示出了等式(12)的一种可能的实施。参照图6,电容信息阵列存储在存储设备601中,例如静态随机存取存储器(SRAM)。地址控制器602控制SRAM601的地址总线,使得SRAM601的数据总线在每个时钟周期输出1*3矩阵中的一个元素(z0至z2)。接下来该数据被传送到两个乘法累加器(MAC)单元603,以计算C1和2C2。根据数据的次序,乘法器系数在[-3,4,-1,-2]之间变化。在三个时钟周期之后,C1和2C2分别被传送到位串行除法器604,以计算A2。手指触摸的x坐标可以通过POS_REF–1+A2获得。可以通过配置位串行除法器604,来选择A2的小数部分的位数,这代表分辨率的增强。例如,如果使用了5位的小数部分,曲线拟合的分辨率比电容触摸板的尺寸高32倍。
在本专利申请的另一个实施例中,在电容触摸板上的手指触摸在二维电容信息阵列上形成三维穹顶形状的图像。例如,选择二维(2D)抛物面来拟合该穹顶形状的轮廓。简化的二维抛物面由以下等式描述:
z=A0–A1(x-A2)2–A3(y-A4)2 等式(14)
出现在标准2D抛物等式中的(xy)项被去除,因为这可以进一步简化某些以下的程序。如果所有的系数A0、A1、A2、A3和A4都是正数,等式(14)描述了具有凸出形状的一般2D抛物面。A0是最大点的幅度。A1和A3描述了在x轴和y轴上的下降率。A2和A4分别是最大点的x坐标和y坐标。在拟合抛物面并获得A2和A4以后,可以找到手指触摸的坐标。
为了曲面拟合的目的,等式(14)必须以以下一般形式重组:
z=C0+C1x+C2y–C3x2–C4y2 等式(15)
C0是零次系数。C1和C2分别是x轴和y轴的一次系数。C3和C4分别是x轴和y轴的二次系数。二次项的负号与等式(14)的A1和A3的负号一致,其指示二维抛物面的凸起形状。
曲面拟合的第一步骤是收集即将被拟合到等式(15)的所有数据点,并形成以下矩阵:
等式(16)
矩阵Z是k*1矩阵,其中k是即将被拟合的数据点的数量。Z中的每个元素是数据点的值。矩阵B,k*5矩阵,是拟合矩阵,换句话说,是二维拟合阵列。每行有五个元素。一行的第一个元素总是常数1。一行中的第二个元素是即将被拟合的数据点的x位置。一行中的第三个元素是即将被拟合的数据点的y位置。一行中的第四个元素是即将被拟合的数据点的x位置的负平方。一行中的第五个元素是即将被拟合的数据点的y位置的负平方。B中的行数等于即将被拟合的数据点的数量。矩阵C是5*1矩阵,其元素是C0、C1、C2、C3和C4。
通常,数据点的数量可以是大于或等于5的任何数。但是在这个实施例中,只使用九个点,因此以上示出了九个点。
定义矩阵E,使得
E=Z–BC 等式(17)
曲面拟合问题相当于找到矩阵C,使得均方差(MSE)1/nETE最小。
通过将等式(17)代入MSE,并设置导数为0,可通过以下的等式得到期望的C矩阵:
C=[BTB-1BT]Z 等式(18)
矩阵[BTB-1BT]被称为矩阵B的伪逆矩阵。在VLSI内计算伪逆矩阵消耗大量的处理能力,因在本实施例中加以避免。
在将手指识别方法应用到二维电容信息阵列以后,形成几个群集。对于每个经确认的群集,局部最大值搜索器在所有的元素中寻找,以定位局部最大值的位置,并将这个位置的列数和行数分别存储在寄存器COL_REF和ROW_REF中。参照图4,对于每个经确认的群集,通过围绕局部最大点的8个点的电容信息、以及局部最大点本身的电容信息,形成3*3矩阵。参照图7,这九个数据点被赋予x坐标[0,1,2]和y坐标[0,1,2]。将这九个数据点的x和y坐标放入x0至x8、以及y0至y8,B矩阵可以重新写作:
等式(19)
B矩阵变成常数。伪逆矩阵可以计算如下:
等式(20)
因此根据等式(18),可计算C如下:
C0=0.566z0+0.222(z1+z2+z3+z6)-0.111(z4+z5+z7+z8) 等式(21)
C1=-0.5(z0+z1+z2)+0.667(z3+z4+z5)–0.167(z6+z7+z8) 等式(22)
C2=-0.5(z0+z3+z6)+0.667(z1+z4+z7)–0.167(z2+z5+z8) 等式(23)
C3=-0.167(z0+z1+z2)+0.333(z3+z4+z5)-0.167(z6+z7+z8) 等式(24)
C4=-0.167(z0+z3+z6)+0.667(z1+z4+z7)–0.167(z2+z5+z8) 等式(25)
比较等式(14)和(15),A2等于C1/2C3,A4等于C2/2C4。与等式(22)、(23)、(24)和(25)一起,得到:
等式(26)
等式(27)
通过将分母和分子乘6,等式(26)和(27)变成:
等式(28)
等式(29)
需要注意的是在这个步骤中,等式(29)的乘法系数被归一化为整数。通过等式(28)和(29)计算A2和A4可以在VLSI中轻易地实施。图8示出了等式(28)和(29)的一种可能的实施。参照图8,电容信息阵列存储在存储设备801中,例如静态随机存取存储器(SRAM)。地址控制器802控制SRAM801的地址总线,使得SRAM801的数据总线在每个时钟周期输出3*3矩阵的一个元素(z0至z8)。接下来该数据被传送到四个乘法累加器(MAC)单元803,以计算C1、C2、2C3和2C4。根据数据的次序,乘法器系数在[-3,4,-1,-2]之间变化。在九个时钟周期之后,C1、2C3和C2、2C4分别被传送到两个位串行除法器804,以计算A2和A4。手指触摸的x坐标可以通过COL_REF–1+A2获得,手指触摸的y坐标可以通过ROW_REF–1+A4获得。可以通过配置位串行除法器804,来选择A2和A4的小数部分的位数,这代表分辨率的增强。例如,如果使用了5位的小数部分,曲面拟合的分辨率比电容触摸板的尺寸高32倍。
在针对分辨率增强方法的上述实施例中,在计算系数的过程中,固定坐标系统被应用于拟合阵列中的元素,使得伪逆矩阵变成常数。伪逆矩阵中的元素可以被归一化为整数。在确定触摸的位置时,一个系数可以被另一个相除,从而从执行该除法的除法器(divider)增加分辨率。
参照图9,在本专利申请的一个实施例中,提供了一种用于确定触摸位置的加权平均方法。该加权平均方法类似于计算物理上的质心。该加权平均方法包括以下步骤:利用每个手指的拓殖元素作为用于计算的加权平均阵列,计算质量矩和所述加权平均阵列的质量,并用所述质量除以所述质量矩来得到质心,即手指位置。
图3示出了拓殖的一维阵列,图4示出了拓殖的二维阵列。阴影区域表示拓殖的元素。例如,图3和图4均示出了两个群集。一个群集的元素形成一个加权平均阵列。
加权平均阵列的质量矩通过以下等式计算:
其中,x(i)是element(i)在X方向上到基准点的距离,y(i)是element(i)在Y方向上到基准点的距离。
加权平均阵列的质量可以由以下等式计算:
质量=Σelement(i)
质心或者手指位置可以由以下等式计算:
参照图9,在本专利申请的一个实施例中,加权平均方法和曲线拟合方法被一起用于分辨率增强。用于识别由至少一手指在触摸板上的触摸的方法包括以下步骤:针对每个经确认的群集,通过计数该群集内的元素数量,计算群集大小;基于每个经确认群集的群集大小,计算混合比r;针对每个经确认的群集使用加权平均方法计算触摸的位置;针对每个经确认的群集使用曲线拟合方法计算触摸的位置;针对每个经确认的群集,通过将触摸的加权平均位置乘以r、将触摸的曲线拟合位置乘以(1-r)、并将两个乘积相加,计算触摸的混合位置。混合比r的值介于0和1之间。在本专利申请的一个实施例中,可以使用查找表来实施该计算。
当手指触摸区域小时,每个群集的拓殖元素的数量也小。加权平均计算没有足够的数据点来产生稳定和精确的手指位置。当手指触摸区域大时,每个群集的拓殖元素的数量也大。加权平均计算有足够的数据点来产生稳定和精确的手指位置。
当手指触摸区域小时,可以通过一维阵列上的三个元素或者二维阵列上的九个元素,来清楚地表示手指的穹顶形状。因此,曲线拟合方法可以产生稳定和准确的手指位置。当手指触摸区域大时,一维阵列上的三个元素或者二维阵列上的九个元素仅能表示手指的穹顶形状轮廓的一小部分。它就像平顶的轮廓。因此,曲线拟合方法产生不太稳定和精确的手指位置。
通过使用加权平均和曲线拟合来识别触摸的混合方法采用了加权平均和曲线拟合二者的强处,并避免了二者的弱点。该混合方法可以提供稳定和准确的手指位置,而不管触摸区域如何。
在本专利申请的另一个实施例中,提供了一种通过分析触摸板的电极的电容变化来识别由至少一手指在触摸板上的触摸并确定触摸位置的方法。电容的改变表示为至少一阵列。该方法包括:在预定的循环次数中扫描所述至少一阵列的元素;在每次循环中将每个元素与相邻的元素进行比较;基于比较,将多个元素拓殖到一群集中;通过将所述群集的特性与预定的一组临界值进行比较,确认群集;通过计数群集内的元素的数量,计算群集大小;基于每个经确认的群集的群集大小,计算混合比;形成拟合阵列,该拟合阵列包括群集中的最大元素、以及邻近该最大元素的多个元素;计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数;采用所述系数确定触摸的第一位置;形成包括拓殖的元素的加权平均阵列;计算所述加权平均阵列的质量矩和质量;通过用质量除以质量矩,确定触摸的第二位置;基于第一位置、第二位置和混合比确定触摸的混合位置,使得所确定位置的分辨率高于触摸板的物理分辨率。
在本专利申请的另一实施例中,数字信号处理单元包括逻辑电路,所述逻辑电路被配置用于通过分析触摸板的电极的电容变化来识别由至少一手指在触摸板上的触摸并确定触摸的位置。所述电容的变化表示为至少一阵列。所述逻辑电路包括:在预定的循环次数中扫描所述至少一个阵列的元素的机制;在每次循环中将每个元素与相邻的元素进行比较的机制;基于比较将多个元素拓殖到一群集中的机制;通过将所述群集的特性与预定的一组临界值进行比较以确认群集的机制;通过计数群集内的元素的数量来计算群集大小的机制;基于每个经确认的群集的群集大小计算混合比的机制;形成拟合阵列的机制,该阵列包括
在这个实施例的步骤211a和211b,该过程检查一个扫描循环是否已经完成。如果阵列中的最后元素已经被检查,该过程回到步骤202,检查四个扫描循环是否已经完成。否则,该过程根据扫描方向继续至步骤205a或者205b,取出阵列中的下一元素供检查。当四个扫描循环已经完成,拓殖过程完成。具有非零值COLONY(m,n)的元素被拓殖。具有相同非零值COLONY(m,n)的一组元素属于相同的群集,而这样的每个群集表示一可能的手指触摸。参照图4,示出了拓殖的二维阵列。阴影区域表示拓殖的元素。例如,图4示出了两个群集。群集的最大数量取决于各种不同的参数,例如阵列的大小和电容触摸板的特征,且不受拓殖过程的限制。
与之前的实施例类似,这个实施例中用于识别手指触摸的方法包括完成拓殖过程后的确认过程,其可以有效滤除某些无效的群集。对于每个群集,得到几个特性,包括每个群集的最大值COLONY_PEAK(j)、每个群集的元素的总数量COLONY_AREA(j)、以及每个群集的所有元素的值的总和COLONY_WEIGHT(j)。对于任何群集j,如何COLONY_MAX(j)大于临界值MIN_LEVEL,如果COLONY_AREA(j)大于临界值MIN_AREA,且如果COLONY_WEIGHT(j)大于临界值MIN_WEIGHT,则群集j被确认是手指触摸。只有被确认的群集被传送给主处理器供进一步处理。
在上述的实施例中,电容的改变被表示为二维阵列,在交替的循环中对二维阵列执行向前方向扫描和向后方向扫描。二维阵列中的每个元素以预定的次序在不同的扫描方向上与它邻近的八个元素进行比较。可以基于比较将二维阵列的多个元素分组为群集,从而形成多个群集。与预定的一组临界值进行比较的群集特性包括群集中的元素最大值、群集的元素的数量、以及群集的所有元素的值的和。确认群集的步骤包括:如果群集的特性不能满足预定的一组临界值,则去除该群集。
在上述实施例中,在手指识别过程中形成的每个经确认的群集具有穹顶(dome)形状的轮廓(profile)。这是因为电容触摸板上的每次手指触摸通常都会影响几个电极的电容。群集中的最大元素、以及邻近该最大元素的多个元素;计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数的机制;采用所述系数确定触摸的第一位置的机制;形成包括拓殖元素的加权平均阵列的机制;计算加权平均阵列的质量矩和质量的机制;通过用质量除以质量矩确定触摸的第二位置的机制;基于第一位置、第二位置和混合比确定触摸的混合位置、使得所确定位置的分辨率高于触摸板的物理分辨率的机制。
电容的变化可以表示为两个一维阵列,且该逻辑电路包括在交替的循环过程中对每个一维阵列执行向前方向扫描和向后方向扫描的机制、以及将每个一维阵列中的每个元素以预定的次序在不同的扫描方向上与它邻近的两个元素进行比较的机制。
电容的变化可以表示为二维阵列,且该逻辑电路包括在交替的循环过程中,对二维阵列执行向前方向扫描和向后方向扫描的机制、以及将二维阵列中的每个元素都以预定的次序在不同的扫描方向上与它邻近的八个元素进行比较的机制。
在另一方面,本专利申请提供了一种触摸板,包括:多个电极,被配置用于感应至少一手指在触摸板上的触摸;数字信号处理单元,被配置用于通过分析电极的电容变化来识别触摸并确定触摸的位置。所述电容的变化表示为至少一阵列。该数字信号处理单元包括逻辑电路,该逻辑电路包括:在预定的循环次数中扫描所述至少一个阵列的元素的机制;在每次循环中将每个元素与相邻的元素进行比较的机制;基于比较将多个元素拓殖到一群集中的机制;通过将所述群集的特性与预定的一组临界值进行比较以确认群集的机制;通过计数群集内的元素的数量来计算群集大小的机制;基于每个经确认的群集的群集大小计算混合比的机制;形成拟合阵列的机制,该阵列包括群集中的最大元素、以及邻近该最大元素的多个元素;计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数的机制;采用所述系数确定触摸的第一位置的机制;形成包括拓殖元素的加权平均阵列的机制;计算加权平均阵列的质量矩和质量的机制;通过用质量除以质量矩确定触摸的第二位置的机制;基于第一位置、第二位置和混合比确定触摸的混合位置、使得所确定位置的分辨率高于触摸板的物理分辨率的机制。
在计算系数时,该逻辑电路可包括用于将固定的坐标系统应用于拟合阵列中的元素从而使得伪逆矩阵变成常数的机制。该逻辑电路可包括至少一个除法器、以及通过该除法器使一个系数被另一个系数相除、从而在确定触摸的位置时从除法器的小数精度增加分辨率的机制。
本专利申请的上述实施例提供了一种用于识别手指触摸并确定手指触摸的位置、同时忽略不期望的信息的改进方法。作为对更好的用户体验的响应,该方法允许识别一个以上的手指触摸。此外,该方法适合由具有较小面积的VLSI硬件实施,该较小面积的VLSI硬件适合现代电子设备的紧凑尺寸。此外,这些实施例提供了有效的算法,使得对手指触摸的响应足够快,以满足滑动操作的需要。
Claims (19)
1.一种通过分析触摸板的电极的电容变化来识别由至少一手指在触摸板上的触摸并确定所述触摸的位置的方法,其中所述电容的变化表示为至少一阵列,其特征在于,所述方法包括:
在预定的循环次数中扫描所述至少一阵列的元素;
在每次循环中将每个元素与相邻的元素进行比较;
基于比较,将多个元素拓殖到一群集中;
通过将所述群集的特性与预定的一组临界值进行比较,确认群集;
通过计数群集内的元素的数量,计算群集大小;
基于每个经确认的群集的群集大小,计算混合比;
形成拟合阵列,该拟合阵列包括群集中的最大元素、以及邻近该最大元素的多个元素;
计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数;
采用所述系数确定触摸的第一位置;
形成包括拓殖的元素的加权平均阵列;
计算所述加权平均阵列的质量矩和质量;
通过用质量除以质量矩,确定触摸的第二位置;
基于第一位置、第二位置和混合比确定触摸的混合位置,使得所确定位置的分辨率高于触摸板的物理分辨率;
所述混合比的值介于0和1之间;通过将第二位置与混合比相乘、将第一位置与1-混合比相乘、并将两个乘积相加,进一步确定触摸的混合位置。
2.根据权利要求1所述的方法,其特征在于,所述电容的变化表示为两个一维阵列,且在交替的循环过程中,对每个一维阵列执行向前方向扫描和向后方向扫描。
3.根据权利要求2所述的方法,其特征在于,每个一维阵列中的每个元素都以预定的次序在不同的扫描方向上与它邻近的两个元素进行比较。
4.根据权利要求3所述的方法,其特征在于,基于比较,每个一维阵列的多个元素被分组为群集,从而形成多个群集。
5.根据权利要求4所述的方法,其特征在于,与预定的一组临界值进行比较的群集特性包括群集中的元素最大值、群集的元素的数量、以及群集的所有元素的值的和。
6.根据权利要求5所述的方法,其特征在于,所述确认群集的步骤包括:如果群集的特性不能满足所述预定的一组临界值,则去除该群集。
7.根据权利要求1所述的方法,其特征在于,所述电容的变化表示为二维阵列,且在交替的循环过程中,对二维阵列执行向前方向扫描和向后方向扫描。
8.根据权利要求7所述的方法,其特征在于,所述二维阵列中的每个元素都以预定的次序在不同的扫描方向上与它邻近的八个元素进行比较。
9.根据权利要求8所述的方法,其特征在于,基于比较,所述二维阵列的多个元素被分组为群集,从而形成多个群集。
10.根据权利要求9所述的方法,其特征在于,与预定的一组临界值进行比较的群集特性包括群集中的元素最大值、群集的元素的数量、以及群集的所有元素的值的和。
11.根据权利要求10所述的方法,其特征在于,所述确认群集的步骤包括:如果群集的特性不能满足所述预定的一组临界值,则去除该群集。
12.根据权利要求1所述的方法,其特征在于,在计算系数时,固定的坐标系统被应用于拟合阵列的多个元素,使得伪逆矩阵变成常数。
13.根据权利要求12所述的方法,其特征在于,所述伪逆矩阵中的元素被归一化为整数。
14.根据权利要求1所述的方法,其特征在于,在确定触摸的位置时,一个系数被另一个系数相除,从而从执行该除法的除法器的小数精度增加分辨率。
15.一种数字信号处理单元,包括被配置用于通过分析触摸板的电极的电容变化来识别由至少一手指在触摸板上的触摸并确定触摸的位置的逻辑电路,其中所述电容的变化表示为至少一阵列;其特征在于,所述逻辑电路包括:
在预定的循环次数中扫描所述至少一个阵列的元素的机制;
在每次循环中将每个元素与相邻的元素进行比较的机制;
基于比较将多个元素拓殖到一群集中的机制;
通过将所述群集的特性与预定的一组临界值进行比较以确认群集的机制;
通过计数群集内的元素的数量来计算群集大小的机制;
基于每个经确认的群集的群集大小计算混合比的机制;
形成拟合阵列的机制,该阵列包括群集中的最大元素、以及邻近该最大元素的多个元素;
计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数的机制;
采用所述系数确定触摸的第一位置的机制;
形成包括拓殖元素的加权平均阵列的机制;
计算加权平均阵列的质量矩和质量的机制;
通过用质量除以质量矩确定触摸的第二位置的机制;
基于第一位置、第二位置和混合比确定触摸的混合位置、使得所确定位置的分辨率高于触摸板的物理分辨率的机制;
所述混合比的值介于0和1之间;通过将第二位置与混合比相乘、将第一位置与1-混合比相乘、并将两个乘积相加,进一步确定触摸的混合位置。
16.根据权利要求15所述的数字信号处理单元,其特征在于,所述电容的变化表示为两个一维阵列,且该逻辑电路包括在交替的循环过程中对每个一维阵列执行向前方向扫描和向后方向扫描的机制、以及将每个一维阵列中的每个元素以预定的次序在不同的扫描方向上与它邻近的两个元素进行比较的机制。
17.根据权利要求15所述的数字信号处理单元,其特征在于,所述电容的变化表示为二维阵列,且该逻辑电路包括在交替的循环过程中对二维阵列执行向前方向扫描和向后方向扫描的机制、以及将二维阵列中的每个元素都以预定的次序在不同的扫描方向上与它邻近的八个元素进行比较的机制。
18.一种触摸板,其特征在于,包括:
多个电极,被配置用于感应至少一手指在触摸板上的触摸;以及
数字信号处理单元,被配置用于通过分析电极的电容变化来识别触摸并确定触摸的位置,所述电容的变化表示为至少一阵列;其中:
所述数字信号处理单元包括逻辑电路,所述逻辑电路包括:
在预定的循环次数中扫描所述至少一个阵列的元素的机制;
在每次循环中将每个元素与相邻的元素进行比较的机制;
基于比较将多个元素拓殖到一群集中的机制;
通过将所述群集的特性与预定的一组临界值进行比较以确认群集的机制;
通过计数群集内的元素的数量来计算群集大小的机制;
基于每个经确认的群集的群集大小计算混合比的机制;
形成拟合阵列的机制,该阵列包括群集中的最大元素、以及邻近该最大元素的多个元素;
计算拟合该拟合阵列具有最小均方差的曲线或者曲面的多个系数的机制;
采用所述系数确定触摸的第一位置的机制;
形成包括拓殖元素的加权平均阵列的机制;
计算加权平均阵列的质量矩和质量的机制;
通过用质量除以质量矩确定触摸的第二位置的机制;
基于第一位置、第二位置和混合比确定触摸的混合位置、使得所确定位置的分辨率高于触摸板的物理分辨率的机制;
所述混合比的值介于0和1之间;通过将第二位置与混合比相乘、将第一位置与1-混合比相乘、并将两个乘积相加,进一步确定触摸的混合位置。
19.根据权利要求18所述的触摸板,其特征在于,在计算系数时,所述逻辑电路包括用于将固定的坐标系统应用于拟合阵列中的元素从而使得伪逆矩阵变成常数的机制。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310314837.9A CN104346001B (zh) | 2013-07-24 | 2013-07-24 | 用于识别触摸板上的手指触摸并确定其位置的方法 |
US13/958,622 US20150029131A1 (en) | 2013-07-24 | 2013-08-05 | Methods and apparatuses for recognizing multiple fingers on capacitive touch panels and detecting touch positions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310314837.9A CN104346001B (zh) | 2013-07-24 | 2013-07-24 | 用于识别触摸板上的手指触摸并确定其位置的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104346001A CN104346001A (zh) | 2015-02-11 |
CN104346001B true CN104346001B (zh) | 2017-05-17 |
Family
ID=52390066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310314837.9A Active CN104346001B (zh) | 2013-07-24 | 2013-07-24 | 用于识别触摸板上的手指触摸并确定其位置的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150029131A1 (zh) |
CN (1) | CN104346001B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9524067B2 (en) * | 2014-09-12 | 2016-12-20 | Stmicroelectronics Asia Pacific Pte Ltd | Capacitive touch screen with adaptive touch sensing threshold based on sharpness of the capacitive data |
US11282434B1 (en) * | 2020-12-29 | 2022-03-22 | Solomon Systech (China) Limited | Driving method for active matrix display |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475769A (en) * | 1992-07-13 | 1995-12-12 | Polaroid Corporation | Method and apparatus for recovering image data through the use of a color test pattern |
CN102197354A (zh) * | 2008-10-21 | 2011-09-21 | 爱特梅尔公司 | 触摸位置寻找方法及设备 |
CN102272697A (zh) * | 2008-12-31 | 2011-12-07 | 惠普开发有限公司 | 用于响应于非离散定向输入动作和智能内容分析而选择显示区的计算装置和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902174B1 (en) * | 2008-02-29 | 2014-12-02 | Cypress Semiconductor Corporation | Resolving multiple presences over a touch sensor array |
US9946408B2 (en) * | 2011-10-28 | 2018-04-17 | Atmel Corporation | Communication between a master active stylus and a slave touch-sensor device |
US9058078B2 (en) * | 2012-01-09 | 2015-06-16 | Broadcom Corporation | High-accuracy touch positioning for touch panels |
US8780065B2 (en) * | 2012-07-19 | 2014-07-15 | Cypress Semiconductor Corporation | Interface and synchronization method between touch controller and display driver for operation with touch integrated displays |
-
2013
- 2013-07-24 CN CN201310314837.9A patent/CN104346001B/zh active Active
- 2013-08-05 US US13/958,622 patent/US20150029131A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475769A (en) * | 1992-07-13 | 1995-12-12 | Polaroid Corporation | Method and apparatus for recovering image data through the use of a color test pattern |
CN102197354A (zh) * | 2008-10-21 | 2011-09-21 | 爱特梅尔公司 | 触摸位置寻找方法及设备 |
CN102272697A (zh) * | 2008-12-31 | 2011-12-07 | 惠普开发有限公司 | 用于响应于非离散定向输入动作和智能内容分析而选择显示区的计算装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104346001A (zh) | 2015-02-11 |
US20150029131A1 (en) | 2015-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7271667B2 (ja) | 行列の空間局所性変換 | |
US9207822B1 (en) | Contact identification and tracking on a capacitance sensing array | |
CN106170750B (zh) | 电容式传感器上的拒水 | |
CN104067296B (zh) | 一维信号抽取的方法和装置 | |
TWI654554B (zh) | 輸入裝置、要素資料構成方法及程式 | |
CN107527034B (zh) | 一种面部轮廓调整方法及移动终端 | |
US7230727B2 (en) | System for sensing an absolute position in two dimensions using a target pattern | |
CN105683886B (zh) | 用于在触摸应用中以抗高噪声性计算坐标的方法和装置 | |
TW201030571A (en) | Touch position finding method and apparatus | |
CN103186279B (zh) | 执行检测操作的方法和装置 | |
KR20050030620A (ko) | 용량성 터치 스크린 상에서 터치된 위치를 알아내기 위한시스템 및 방법 | |
KR20120041516A (ko) | 입력 장치 및 이 장치의 접촉 위치 검출 방법 | |
CN102597927A (zh) | 输入装置以及其装置的触控位置侦测方法 | |
US8902174B1 (en) | Resolving multiple presences over a touch sensor array | |
CN109325510B (zh) | 一种基于网格统计的图像特征点匹配方法 | |
Akhtar et al. | A methodology for evaluating accuracy of capacitive touch sensing grid patterns | |
JP2022543872A (ja) | タッチスクリーンに取り付けられた受動ダイヤルの角度検出 | |
CN104346001B (zh) | 用于识别触摸板上的手指触摸并确定其位置的方法 | |
CN109165657A (zh) | 一种基于改进sift的图像特征检测方法及装置 | |
CN104391616B (zh) | 一种触摸屏的像素点电容值检测范围的获取方法和装置 | |
CN103513835B (zh) | 一种基于互电容触摸屏的触摸坐标检测方法 | |
CN110443242A (zh) | 读数框检测方法、目标识别模型训练方法及相关装置 | |
CN114463438A (zh) | 一种标定板、标定板识别方法、装置及计算机可读介质 | |
de Oliveira et al. | Exploiting approximate adder circuits for power-efficient Gaussian and Gradient filters for Canny edge detector algorithm | |
EP1643356B1 (en) | Parallel processing device and parallel processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |