一种触摸屏检测方法及装置 【技术领域】
本发明涉及触摸识别技术领域,特别是涉及一种触摸屏检测方法及装置。
背景技术
触摸屏技术是未来人机交互的一种主要输入方式。触摸屏由触摸检测部件和触摸屏控制器组成;触摸检测部件安装在显示器屏幕前面,用于检测用户的触摸位置,接收触摸信息后传送给触摸屏控制器;触摸屏控制器的主要作用是从触摸检测部件上接收触摸信息,并将它转换成触点坐标,再送给CPU,它同时能接收CPU发来的命令并加以执行。
按照触摸屏的工作原理和传输信息的介质,触摸屏主要分为:电阻式触摸屏、表面声波式触摸屏、电容感应式触摸屏、红外线式触摸屏。其中,表面声波式触摸屏与另外三种触摸屏相比较,具有分辨率高、耐磨性好、寿命长、透光率高、能保持清晰透亮的图像质量、响应速度快等优点,所以表面声波式触摸屏的性能在所有触摸屏中是最好的。
表面声波式触摸屏的工作原理主要是依据机械波在某种介质表面进行传播的原理来进行的,表面声波式触摸屏主要由触摸屏、声波发生器、声波反射器、声波接收器和控制器组成。其中,声波发生器分别粘贴在触摸屏表面的左上和右下两个角;声波接收器粘贴在触摸屏表面的右上角;声波反射器粘贴在触摸屏的四周,由刻有45度由疏到密间隔非常精密的反射声波的条纹组成。
表面声波式触摸屏检测触点的方法是:在触摸屏没有被触摸的正常情况下,声波发生器发射出声波,声波传到垂直方向和水平方向的触摸屏壁后,经过反射条纹(即指声波反射器)的两次反射,传播到声波接收器,声波接收器将声波信号转换为电信号后传给控制器。由于声波发生器发送的是一种高频声波能跨越屏幕表面,所以当手指触及屏幕时,触点上的声波传递即受到阻拦,并产生能量损耗,反应在接收波形上即某一时刻位置上波形有一个衰减缺口。接收波形对应触摸点位置的信号衰减了一个缺口,控制器分析到接收信号的能量衰减并由缺口的位置可以判定出触摸点坐标。
上述触摸屏检测方法只能检测出单点触摸的情况,而无法识别出多点触摸。因为如果是多点触摸,经过多个触点的声波在传给声波接收器的过程中,声波能量会叠加在一起,声波接收器无法识别出是几个触点产生的声波信号,而只能计算出一个总的声波能量损耗值,所以声波接收器还是会认为是一个触点的能量损耗。因此,目前的表面声波式触摸屏还无法识别出多点触摸。
【发明内容】
本发明所要解决的技术问题是提供一种触摸屏检测方法及装置,以解决目前的表面声波式触摸屏无法识别出多点触摸的问题。
为了解决上述问题,本发明公开了一种触摸屏检测方法,包括:
在触摸屏上选择至少三个坐标点;
利用触摸点在触摸屏上产生的声波信号,计算触摸点与每个坐标点之间的距离;
以所述坐标点为圆心、所述触摸点与坐标点之间的距离为半径,构造至少三个圆,所述多个圆的公共交点为所述触摸点;
通过求解所述公共交点的坐标值,确定出所述触摸点在触摸屏上的位置。
优选的,所述触摸点为多个触摸点。
其中,通过以下方式计算触摸点与每个坐标点之间的距离:计算触摸点在触摸屏上产生的声波信号分别到达每个坐标点的传输时间;将声波在触摸屏表面介质的传输速率分别乘以上述传输时间,计算出触摸点与每个坐标点之间的距离。
优选的,通过以下方式计算触摸点在触摸屏上产生的声波信号,分别到达每个坐标点的传输时间:在每个坐标点分别预置声波接收器;检测每个声波接收器接收到所述声波信号的时刻值;根据所述时刻值确定触摸点到达每个坐标点的传输时间。
优选的,所述多个坐标点分别位于触摸屏的顶角。
优选的,所述多个坐标点采用相对坐标。
本发明还提供了一种触摸屏检测装置,包括触摸屏,还包括:
至少三个声波接收器,用于接收触摸点在触摸屏上产生的声波信号;
控制器,包括:
计算单元,用于利用所述声波信号,计算触摸点与每个声波接收器之间的距离;
触摸点位置确定单元,用于以所述声波接收器所在的坐标点为圆心、所述触摸点与声波接收器之间的距离为半径,构造至少三个圆,所述多个圆的公共交点为所述触摸点;通过求解所述公共交点的坐标值,确定出所述触摸点在触摸屏上的位置。
优选地,所述触摸点为多个触摸点。
其中所述计算单元包括:
第一计算子单元,用于计算触摸点在触摸屏上产生的声波信号分别到达每个声波接收器的传输时间;
第二计算子单元,用于将声波在触摸屏表面介质的传输速率分别乘以上述传输时间,计算出触摸点与每个声波接收器之间的距离。
优选的,所述多个声波接收器分别位于触摸屏的顶角。
与现有技术相比,本发明具有以下优点:
首先,本发明利用已知圆心及半径的三个圆可以确定出其公共交点的几何原理,在触摸屏上选择至少三个坐标点来作为圆心,然后利用触摸点在触摸屏上产生的声波信号,计算触摸点与每个坐标点之间的距离,并将该距离值作为圆的半径。所述触摸点即为这几个圆的公共交点,因此,在已知圆心及半径的情况下,求解出多个圆的公共交点,即可确定出触摸点在触摸屏上的具体位置。所述触摸屏检测方法由于采用了新的机理,同一个声波接收器可以区分出不同触点的声波达到该接收器的先后时间,因此可以识别出多点触摸。
其次,本发明利用用户在触摸屏上的触摸动作来代替现有技术中的声波发生器,当用户点击或按压触摸屏时产生声波信号,利用声波信号传播到位于坐标点位置的声波接收器的时间,即可测得圆的半径。因此,本发明不需要声波发生器和声波反射器,从而降低了制造成本及功耗。
综上所述,本发明在保持表面波声触摸屏的高透光率、高分辨率、响应速度快、耐磨、寿命长等优点的同时,进一步降低了功耗、成本并实现了多点触摸。
【附图说明】
图1是本发明中所述的几何原理图;
图2是本发明实施例一所述一种触摸屏检测方法的流程图;
图3是本发明实施例一中的几何示意图;
图4是本发明实施例二所述一种触摸屏检测方法的流程图;
图5是本发明实施例二中的几何示意图;
图6是本发明装置实施例所述一种触摸屏检测装置的结构图。
【具体实施方式】
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明所述的触摸屏是指表面声波触摸屏,因此本发明同样利用机械波在某种介质表面进行传播的原理。但本发明区别于现有技术之处是:本发明是利用用户在触摸屏上的触摸动作来代替现有技术中的声波发生器,当用户点击或按压触摸屏时,点击或按压动作也在触摸屏的表面产生类似的机械波,只是幅度及频率有所区别。因此,现有技术中的声波发生器将由用户的点击或按压等触摸动作来取代。这样,下面的问题就是如何确定用户的点击或按压位置。
本发明提出一种新的触摸屏检测方法,利用已知三个圆可以确定出其公共交点的几何原理,能够确定出用户的触摸点位置,而且还可以识别出多点触摸情况。下面先介绍所述几何原理。
在几何学上,一个平面上某个点的位置,可以由该平面的三个已知圆心位置及半径的圆来确定。参照图1,是几何原理图。图中分别以触摸屏的三个顶角为圆心,以触摸屏上任意一点A到所述圆心的距离为半径的三个圆,由于点A位于每个圆上,所以这三个圆必然共同相交于点A,即触摸点A是这三个圆的公共交点。根据圆心及半径可以确定圆的方程,然后通过几何运算求解方程的公共解,最后确定出公共交点A的坐标值。由于求解已知三个圆的公共交点的方法为教科书中公开的内容,因此在此不再详述具体的求解过程。
需要说明的是,上述三个圆的圆心不限定于触摸屏的顶角位置,也可以是触摸屏的其他位置,但需要满足三点不共线的要求。此外,在一个平面上确定一个点的位置也不限于三个圆,可以是四个圆或更多个圆,但至少是通过三个圆来确定一个点。
根据上述几何原理,本发明的关键是要获得圆的圆心坐标及半径大小。下面通过实施例进行详细说明。
实施例一:
参照图2,是本发明实施例一所述一种触摸屏检测方法的流程图。本实施例以一个触摸点的检测为例进行说明。
步骤201,在触摸屏上选择至少三个坐标点;
如前所述,至少需要三个不共线的点作为圆心,下面将以三个坐标点为例进行说明。本实施例优选的,将触摸屏的三个顶角作为圆心坐标点,并且在坐标点位置放置了三个声波接收器,用于接收触点产生的声波信号。具体可参照图3所示,图中S1、S2、S3为三个声波接收器,c1、c2、c3为放置三个声波接收器的位置(即坐标点),r1、r2、r3为触摸点A分别到c1、c2、c3的距离。
在实际应用中,触摸屏不关心触摸点A的绝对坐标,只关心其在显示屏的相对位置,因此c1、c2、c3点的坐标可以采用相对坐标,与坐标系的选择没有关系,不需要生产上严格定位,最后通过坐标校准即可。因此,上述将c1、c2、c3点选于触摸屏顶角,也便于坐标校准。
步骤202,利用触摸点在触摸屏上产生的声波信号,计算触摸点与每个坐标点之间的距离;
如前所述,本发明是利用用户在触摸屏上的点击或按压等触摸动作来产生声波,因此可以利用声波传输的时间来计算触摸点与每个坐标点之间的距离。
参照图3所示,触摸点A与每个坐标点之间的距离分别为r1、r2、r3。具体计算过程如下:
第一步,计算触摸点在触摸屏上产生的声波信号分别到达每个坐标点的传输时间;
计算声波传输的时间可以有多种方法,一种方法是需要知道声波的产生时刻和到达时刻,取产生时刻和到达时刻之间的时间段,即得到声波的传输时间。
第二步,将声波在触摸屏表面介质的传输速率分别乘以上述传输时间,计算出触摸点与每个坐标点之间的距离。
设声波在屏幕表面介质(如玻璃)里的传输速率为v,则有r1=v×t1、r2=v×t2、r3=v×t3。
步骤203,以所述坐标点为圆心、所述触摸点与坐标点之间的距离为半径,构造至少三个圆,所述多个圆的公共交点为所述触摸点;
即以c1、c2、c3为圆心,以r1、r2、r3为半径,构造三个圆的方程式,这三个圆共同相交于触摸点A。
步骤204,通过求解所述公共交点的坐标值,确定出所述触摸点在触摸屏上的位置。
利用圆的方程式通过几何运算,可以求解出这三个圆的公共交点的坐标值,则该坐标值即为触摸点A在触摸屏上的(相对)位置。
上述在计算声波的传输时间的过程中,本实施例优选采用了一种较简单的实现方式,不需要获知用户点击或按压触摸屏的时刻值(即产生声波信号的时间),只需要通过声波接收器电平的变化,判断并记录触摸点产生的声波信号到达每个坐标点的时刻值。然后根据声波信号到达第一个坐标点的时刻值,确定出声波信号到达第一个坐标点的传输时间t1;再利用声波信号到达其他坐标点与到达第一个坐标点的时间差,就可以计算出声波信号到达第二个坐标点的传输时间t2和到达第三个坐标点的传输时间t3。即t1、t2、t3分别表示声波传输的三个时间段。
具体过程是:
假设第一个声波接收器收到声波信号的时刻为T1,在T2-T1个时间段后第二个声波接收器收到声波信号,在T3-T1个时间段后第三个声波接收器收到声波信号,由此可以获知声波到达的时间差(T2-T1)、(T3-T1)。因此,如果能够利用T1获知声波传输到第一个声波接收器的传输时间t1,就可以利用所述时间差确定声波传输到第二个声波接收器的传输时间t2,以及声波传输到第三个声波接收器的传输时间t3。
下面说明如何确定传输时间t1。假设t(0≤t≤t1)是声波传输到第一个声波接收器的时间,将t、t+(T2-T1)、t+(T3-T1)代入三个圆方程,一直迭代到满足方程为止。满足方程的迭代终止条件是:其一,三个圆的公共交点(即触摸点)唯一;其二,满足v×t≤d,d表示触摸屏的最大距离,例如触摸屏对角线的距离等。所以,当t从0开始逐渐递增到t1的迭代过程中,三个圆的半径随着t的增大也在逐渐增大,当t的值较小时,三个圆没有相交,此时不满足方程;当t增加到三个圆出现唯一的公共交点时,此时的t值即为所要确定的t1。所以,从实际工程角度,t≈t1,即允许在一定偏移内的方程近似成立。此外,迭代终止条件v×t≤d的作用是为了防止计算出现错误时,迭代过程持续进行下去不能终止。
由上可知,上述方法采用了新的机理,利用声波的传输时间,并利用几何原理,可以确定出触摸点在触摸屏上的具体位置。而且,对于多点触摸的情况,现有技术中是根据声波的能量损耗来进行触摸点位置判定的,即同一个声波接收器无法识别出多个触摸点产生的能量损耗,但是,同一个声波接收器可以区分出不同触点的声波达到该接收器的先后时间,因此本发明也可以识别出多点触摸的情况。
下面通过实施例二来说明多点触摸的识别。
实施例二:
针对多点触摸的情况,同一个声波接收器会接收到多个声波信号,这样以同一个声波接收器为圆心就会构造出多个同心圆,那么在求解三个圆的公共交点时,如何选取三个圆来组成一个方程组,这个方程组能够满足具有公共交点?即如何选取针对同一个触摸点构造的圆方程?
本实施例的解决方法是:
假设以任意两个触摸点A和B为例,A和B分别到达圆心c1的距离不等,同样,A和B分别到达圆心c2、c3的距离也各不相同。设触摸点A到达圆心c1、c2、c3的时间分别是t1、t2、t3,触摸点B到达圆心c1、c2、c3的时间分别是t1′、t2′、t3′。利用t1、t2、t3和t1′、t2′、t3′一共可以构造出六个圆,根据数学的排列组合原理,从这六个圆中选取三个圆组成方程组,一共可以组合出8个方程组,分别是:
1)t1、t2、t3;
2)t1、t2′、t3;
3)t1、t2、t3′;
4)t1、t2′、t3′;
5)t1′、t2、t3;
6)t1′、t2′、t3;
7)t1′、t2、t3′;
8)t1′、t2′、t3′;
如果将方程组1)对应一个触摸点,则对应另一个触摸点方程组是8),所以方程组1)和8)为一次同时对两个触摸点的计算,类似的,方程组2)和7),方程组3)和6),方程组4)和5)分别另三次计算。即总共需要分四次,每次同时对两个触摸点进行求解。最后可以获得具有公共交点的方程组,每个方程组即对应一个触摸点。
如果对于t1、t2、t3和t1′、t2′、t3′存在相同值的情况,则计算的次数会减少。下面通过实施例进行详细说明。参照图4,是本发明实施例二所述一种触摸屏检测方法的流程图。实施例选取最可能混淆的情况,如图5所示,触摸点A和B以c1、c3连线对称为例,具体过程如下:
步骤401,用户同时点击或按压触摸屏上的A点和B点;
步骤402,声波以A点和B点为中心分别沿着屏幕表面向四处传播;
步骤403,根据A点、B点距离位置c1、c2、c3的远近,声波分别到达声波接收器S1、S2、S3,所需时间A为(t1、t2、t3)、B为(t1、t4、t3);
声波接收器S1、S2、S3在接收到声波信号后,电平会发生变化,或者由低到高,或者由高到低,由此可以判断出声波到达的时间。如图5所示,A点和B点到达S1、S3的时间相同。
步骤404,设声波在屏幕表面介质(如玻璃)里的传输速率为v,有r1=v×t1、r2=v×t2、r3=v×t3、r4=v×t4;
步骤405,通过几何运算,根据(r1、r2、r3),(c1、c2、c3)求得A点的具体坐标;
步骤406,通过几何运算,根据(r1、r4、r3),(c1、c2、c3)求得B点的具体坐标。
由于参数r2、r4的差异,触摸屏能将A、B两点区分开来。
上述实施例二是一种特例,对于多个触摸点到达声波接收器的时间均不相同的情况,本发明也可以通过构造更多个圆来识别出。
综上所述,本发明能够识别出多点触摸的情况;而且,利用用户在触摸屏上的触摸动作来代替现有技术中的声波发生器,不需要声波发生器和声波反射器,从而降低了制造成本及功耗。本发明在保持表面波声触摸屏的高透光率、高分辨率、响应速度快、耐磨、寿命长等优点的同时,避免了现有的表面声波触摸屏所存在的缺陷。
针对上述方法实施例的说明,本发明还提供了相应的装置实施例。
参照图6,是本发明装置实施例所述一种触摸屏检测装置的结构图。
所述装置主要包括触摸屏61,以及声波接收器62和控制器63。其中,所述触摸屏61可以是一块平面的玻璃平板,安装在CRT、LED、LCD或是等离子显示器屏幕的前面。这块玻璃平板只是一块纯粹的强化玻璃,区别于别类触摸屏技术,没有任何贴膜和覆盖层。优选的,所述触摸屏61还可以直接利用CRT、LED、LCD或是等离子显示器的屏幕,即没有覆盖其上的玻璃平板,这样触摸屏的透光率更好。因此,所述触摸屏61不限于普通的表面声波式触摸屏,也可以是屏幕表面或是壳体表面。
所述声波接收器62至少为三个,分别位于触摸屏的顶角,图示为三个。用于接收触摸点在触摸屏上产生的声波信号,并将声波信号转换为电信号传输给控制器63。所述控制器63用于利用所述声波信号进行触摸点位置的判定。
所述控制器63可以包括:
计算单元631,用于利用所述声波信号,计算触摸点与每个声波接收器62之间的距离;计算单元631具体包括:
第一计算子单元,用于计算触摸点在触摸屏上产生的声波信号分别到达每个声波接收器62的时间;
第二计算子单元,用于将声波在触摸屏表面介质的传输速率分别乘以上述时间,计算出触摸点与每个声波接收器62之间的距离。
触摸点位置确定单元632,用于以所述声波接收器62所在的坐标点为圆心、所述触摸点与坐标点之间的距离为半径,构造至少三个圆,所述多个圆的公共交点为所述触摸点;通过求解所述公共交点的坐标值,确定出所述触摸点在触摸屏上的位置。其中,多个声波接收器62所在的坐标点采用相对坐标。
所述触摸屏检测装置的工作过程是:
用户点击或按压触摸屏,在触摸屏61表面产生声波信号,声波信号传输到声波接收器62;然后,控制器63利用计算单元631,可以计算出声波传输的时间,从而可以得到触摸点与各个声波接收器62之间的距离;控制器63再利用触摸点位置确定单元632,利用几何原理确定出所述触摸点在触摸屏上的位置。
所述触摸屏检测装置在保持表面波声触摸屏的高透光率、高分辨率、响应速度快、耐磨、寿命长等优点的同时,能够进行多触摸点识别,而且不需要声波发生器和声波反射器,从而降低了制造成本及功耗。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种正整型数据的压缩方法和装置、解压缩方法和装置,以及一种负整型数据的压缩方法和装置、解压缩方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。