触点信息的处理方法、装置和终端与流程

文档序号:13482885阅读:302来源:国知局

本发明涉及终端技术领域,具体而言,本发明涉及一种触点信息的处理方法、装置和终端。



背景技术:

操作系统一般由内核和框架层组成。如android系统,内核为linux,内核上运行android框架层的服务,框架层上面是用户应用程序。内核中的因触摸而产生的触发事件(touch)通过硬件中断上报给系统的框架层。框架层的input服务处理与内核input模块的交互。应用程序在处理touch事件时,接收框架层传递的touch事件根据窗口层次分发到应用的各级页面响应。页面在响应过程中,应用会根据touch事件的不同类型执行不同的响应。在android系统中,对于因触摸而产生的触发事件,主要包括点按(onclick)、长按(onlongclick)、拖拽(ondrag)、滑动(onscroll)、抬起(release)等。点按又包括单击和双击,另外还包括单指操作和多指操作。应用页面通常在接收到touch事件处理后提交一帧渲染请求,更新屏幕。

然而,在针对系统的实际操作过程中,用户通过touch事件在点击屏幕的时候往往会有许多无效的操作。如手指按压屏幕不动,或者仅有很小范围的晃动。这些无效的touch事件提交给应用页面不但降低了效率,同时造成了大量额外的渲染开销。面对这种情况,压力传感器在一定程度上已经做到能够识别出无效的操作,但是目前很多硬件设备系统上并没有集成压力传感器,因此无法通过配置硬件来实现针对无效操作的有效过滤识别。



技术实现要素:

本发明针对现有技术中存在的缺陷和问题,提出一种优化触点的方法、装置、终端,用以解决现有技术存在的在尚未配置传感器的硬件设备上实现针对无效操作的有效过滤识别问题。

本发明技术方案:

本发明的实施例根据一个方面,提供了一种触点信息的处理方法,包括:

持续接收触点信息,创建过滤窗口;

根据当前过滤窗口,对当前触点信息进行筛选分类和/或对所述当前过滤窗口进行动态调整,直到过滤窗口的区域范围超过预设的窗口区域范围阈值;

根据所述筛选分类的结果,生成触发事件向对应的应用发送。

进一步地,创建过滤窗口,包括:根据接收的设定个数的初始触点信息,创建过滤窗口。

进一步地,所述根据当前过滤窗口,对当前触点信息进行筛选分类和/或对所述当前过滤窗口进行动态调整,直到过滤窗口的区域范围超过预设的窗口区域范围阈值,包括:

确定出所述当前触点信息的位置信息;

当所述当前触点信息的位置信息落于所述当前过滤窗口的区域范围内时,将所述当前触点信息筛选分类为可丢弃触点信息,继续进行下一个触点信息的筛选分类。

较佳地,所述根据当前过滤窗口,对当前触点信息进行筛选分类和/或对所述当前过滤窗口进行动态调整,直到过滤窗口的区域范围超过预设的窗口区域范围阈值,还包括:

当所述当前触点信息的位置信息超出所述当前过滤窗口的区域范围内时,动态扩大所述当前过滤窗口的区域范围。

较佳地,所述动态扩大所述当前过滤窗口的区域范围之后,还包括:

判断所述动态扩大后的当前过滤窗口的区域范围是否超过预设的窗口区域范围阈值;

当所述判断结果为否时,将所述当前触点信息筛选分类为特征触点信息,继续进行下一个触点信息的筛选分类,直到所述判断结果为是。

较佳地,所述生成触发事件向对应的应用发送,包括:

根据所述初始触点信息和特征触点信息,生成作为当前触发事件的当前拖动事件向对应的应用发送。

较佳地,生成触发事件向对应的应用发送,还包括:根据所述当前拖动事件,确定出下一个触发事件的起始位置。

较佳地,生成触发事件向对应的应用发送,还包括:

重新创建过滤窗口;

根据重建的过滤窗口,对后续接收的每个触点信息进行筛选分类和/或对所述重建的过滤窗口进行动态调整,直到所述重建的过滤窗口的区域范围超过预设的窗口区域范围阈值或接收到抬起事件。

本发明的实施例根据另一个方面,还提供了一种触点信息的处理装置,包括:

创建模块,用于持续接收触点信息,创建过滤窗口;

处理模块,用于根据当前过滤窗口,对当前触点信息进行筛选分类和/或对所述当前过滤窗口进行动态调整,直到过滤窗口的区域范围超过预设的窗口区域范围阈值;

发送模块,用于根据所述筛选分类的结果,生成触发事件向对应的应用发送。

进一步地,所述创建模块用于根据接收的设定个数的初始触点信息,创建过滤窗口。

进一步地,所述处理模块包括:

定位单元,用于确定出所述当前触点信息的位置信息;

筛选单元,用于当所述当前触点信息的位置信息落于所述当前过滤窗口的区域范围内时,将所述当前触点信息筛选分类为可丢弃触点信息,继续进行下一个触点信息的筛选分类。

较佳地,所述创建模块还用于:重新创建过滤窗口,并且根据重建的过滤窗口,对后续接收的每个触点信息进行筛选分类和/或对所述重建的过滤窗口进行动态调整,直到所述重建的过滤窗口的区域范围超过预设的窗口区域范围阈值或接收到抬起事件。

本发明的实施例根据另一个方面,还提供了一种触点信息的处理终端,包括:

存储器;

处理器;

至少一个程序,存储在所述存储器上并被所述处理器执行时实现如下步骤:

持续接收触点信息,创建过滤窗口;

根据当前过滤窗口,对当前触点信息进行筛选分类和/或对所述当前过滤窗口进行动态调整,直到过滤窗口的区域范围超过预设的窗口区域范围阈值;

根据所述筛选分类的结果,生成触发事件向对应的应用发送。本发明技术效果:

1.本发明提供了一种触点信息的处理方法,该方法通过采用创建过滤窗口的技术手段,实现了在触点信息采集和分发阶段之间增加一个过滤层的技术目标。该过滤层能够根据当前过滤窗口,对当前触点信息进行筛选分类和/或对当前过滤窗口进行动态调整。避免了将包含在触点信息中的很多无效操作,在未做任何处理情况下直接发送至应用;避免了由于大量无效操作导致带来额外的渲染和处理流程的隐患问题。

2.本发明实现了完全通过软件方法来解决touch在按压,轻微晃动过程中的额外开销。并且该方法的触点信息处理过程对上层应用透明,实现了在上层应用无感知的情况下,完成针对触点信息的无效操作的判别、过滤的步骤,在减小系统开销的同时,显著提升了用户体验。

3.本发明提供的触点信息的处理方法通过重新创建能够随着触点位置的变化而动态扩大的过滤窗口,允许一个或者多个手指在press,和/或move,或release间通过动态调整阈值窗口的大小识别按压或者拖动动作,有利于避免手写输入过程中额外的渲染开销,提高了系统效率。

4.本发明提供的触点信息的处理方法将所接收到的触点信息筛分为初始触点信息和特征触点信息,一方面有利于触点信息的筛选,进而减小系统开销,提升用户体验;另一方面能够在筛选出初始触点信息过程中,筛选出特征触点信息,有利于对具有相同或相近特征的触点信息进行识别、处理,以备后用。因此增加了信息的利用几率,为后续的数据处理提供了有价值的数据资源。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的一种触点信息的处理方法步骤示意图,

图2为本发明实施例的一种触点信息的处理流程的一个特例的示意图,

图3为本发明实施例的一种触点信息的处理装置结构示意图,

图4为本发明实施例的处理模块的内部结构示意图,

图5为本发明实施例的一种触点信息的处理终端结构示意图。

具体实施方式

操作系统通常包括内核和框架层。如android系统,android系统大致分为四层:应用程序层(applications)、应用程序框架层(applicationframework)、系统运行库层(libraries和androidruntime)和linux内核层(linuxkernel)。当内核为linuxkernel时,基于内核运行android框架层的服务,框架层的上层是应用层,应用层包括用户应用程序。内核中的因触摸而产生的触发(touch)事件通过硬件中断上报给系统的框架层。应用程序在处理touch事件时,接收框架层传递的touch事件根据窗口层次分发到应用的各级页面响应。

发明人发现,当用户点击屏幕的时候,经常触发包含有许多无效动作的touch事件。如手指按压屏幕不动,或者仅有很小范围的晃动。这些无效的touch事件提交给应用页面不但降低了效率,同时造成了大量额外的渲染开销。

发明人还发现,某些设备上通过配置压力传感器来解决touch事件的识别问题,但很多系统并不适于将压力传感器这个硬件与系统本身集成配置,或者说很多处理终端中根本未配置有压力传感器。

下面详细描述本发明的实施例的技术方案,该实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

参见图1,本发明实施例提供一种触点信息的处理方法,包括:

s101:持续接收触点信息,创建过滤窗口。

此处接收触点信息、与创建过滤窗口不限制先后关系。可以先创建过滤窗口,后持续接收触点信息。也可以在持续接收触点信息的过程中,创建过滤窗口。

接收到的框架层传递来的touch事件通常含有很多种类型。例如,按下时产生press事件,移动时产生move事件,手指抬起时产生release事件。应用窗口从接收到press事件开始,持续收集触点信息;触点信息包含位置信息、采样时间。

较佳地,创建过滤窗口包括:根据接收的设定个数的初始触点信息,创建过滤窗口,过滤窗口可以是矩形过滤窗口,也可以是圆形过滤窗口,或者其他形状的过滤窗口。

例如,根据接收的最开始的两个初始触点坐标,创建矩形过滤窗口。

s102:根据当前过滤窗口,对当前触点信息进行筛选分类和/或对当前过滤窗口进行动态调整,直到过滤窗口的区域范围超过预设的窗口区域范围阈值。

具体地,确定出当前触点信息的位置信息,依据当前触点的位置来判断后续的处理方式。即,应用窗口根据阈值设定的过滤窗口大小,以及每一个touch触点的位置信息,动态的调整过滤窗口的大小。根据touch触点是否命中过滤窗口内来判断每一点touch事件是否被丢弃。

若当前触点信息的位置信息落于当前过滤窗口的区域范围内,则将当前触点信息筛选分类为可丢弃触点信息,继续进行下一个触点信息的筛选分类。当前触点信息的位置信息超出当前过滤窗口的区域范围内时,动态扩大当前过滤窗口的区域范围。

进一步地,动态扩大当前过滤窗口的区域范围之后,还包括:

判断动态扩大后的当前过滤窗口的区域范围是否超过预设的窗口区域范围阈值;当判断结果为否时,将当前触点信息筛选分类为特征触点信息,继续进行下一个触点信息的筛选分类,直到判断结果为是。

较佳地,根据起点touch数据的前两个触点的位置信息,确定作为初始过滤窗大小的过滤窗;根据实时产生的每一个touch数据x,y位置信息,调整过滤窗区域。将位置落入过滤窗口内的触点丢弃,继续进行下一个触点信息的筛选分类。位置落在过滤窗口外部的触点保留,并且扩大过滤窗口,直至扩大到所预设的过滤窗口阈值的大小。

s103:根据筛选分类的结果,生成触发事件向对应的应用发送。

本发明实施例的触发事件包括拖动事件和点击事件。其中,拖动事件涉及特征触点信息,点击事件与特征触点信息无关。

具体地,当上述步骤中确定出存在特征触点信息时,在本步骤中,根据初始触点信息和特征触点信息,生成作为当前触发事件的当前拖动事件向对应的应用发送。

具体地,根据当前拖动事件,确定出下一个触发事件的起始位置。然后,重新创建过滤窗口。并且,根据重建的过滤窗口,对后续接收的每个触点信息进行筛选分类和/或对重建的过滤窗口进行动态调整,直到重建的过滤窗口的区域范围超过预设的窗口区域范围阈值或接收到抬起事件。

可动态调整的过滤窗口可以是矩形过滤窗口,也可以是圆形过滤窗口,或者其他形状的过滤窗口。

下面结合附图具体介绍本发明实施例提供的触点信息的处理方法的一个特例。

图2为本发明实施例的一种触点信息的处理流程的一个特例的示意图。如图2所示,内核kernel中的因触摸而产生的原始触发(rawtouch)事件通过硬件中断(inputservice)封装成pressevent(触点时间)上报给系统的框架层(例如android系统中的appview模块)。

本发明实施例的触点信息的处理装置通过窗口系统采集框架层上报的touch事件;触点信息的处理装置中设置有矩形过滤层(rectfilter),即矩形过滤窗口,通过矩形过滤窗口,在对上层应用透明、无感知的情况下,识别出并筛除掉可丢弃触点,来避免带来额外的渲染和处理流程。。经过筛除和/或分类处理后得到的触点信息(即touch数据)通过闭曲线拟合(cubiccurve),使得touch事件的分发变得均匀、平滑。

基于矩形过滤窗口对触点信息进行筛除的具体流程如下:

1)系统将从appview窗口接收到的touch事件作为起点开始采集触点信息,并以前两个触点的位置信息组成矩形过滤窗口,作为初始过滤窗口大小。

具体地,每个触点包含两个坐标点,一个作为起始点,一个作为结束点,这两点的连线作为一个矩形图的对角线,依据对角线上的这两点,就可以确定出矩形过滤窗口。

2)前两个触点后面连续采集到的每一个touch数据,都需要根据其x、y位置信息更新矩形过滤窗口的大小。即如果touch位置在矩形过滤窗口以内,则维持矩形过滤窗口大小不变,如在矩形过滤窗口区域外,则扩大矩形过滤窗口区域。此时触摸屏上的移动操作(例如鼠标的移动)实际上转换成了计算矩形框的位置。

3)当矩形过滤窗口的区域扩大到预设的窗口区域范围阈值时,则认为此行为是真正的拖动操作。

此时根据所有采集到的触点的位置信息计算取出一个touch事件作为拖动的下一个目标位置。

4)清除掉当前的矩形过滤窗口信息,重新计算新的过滤窗口区域大小,直到受到release抬起事件。

一般情况下,经过优化后的touch事件将被理解为按压以及拖动。如在手写输入过程中,按压将被识别为起笔笔画渲染,拖动将被识别为正常轨迹渲染,避免了额外的渲染开销。进一步地,还可以利用touch事件来判断渲染笔画的状态。例如,在两个拖动的touch事件间,可根据间隔的采集touch事件数量作为拖动笔画分配权重,据此信息可用来为渲染笔画提供粗细程度的参考。

曲线拟合(curvefitting)的数学定义是指用连续曲线近似地刻画或比拟平面上一组离散点所表示的坐标之间的函数关系,是一种用解析表达式逼近离散数据的方法。曲线拟合通俗的说法就是“拉曲线”,也就是将现有数据透过数学方法来代入一条数学方程式的表示方法。科学和工程遇到的很多问题,往往只能通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,如果能够找到一个连续的函数(也就是曲线)或者更加密集的离散方程,使得实验数据与方程的曲线能够在最大程度上近似吻合,就可以根据曲线方程对数据进行数学计算,对实验结果进行理论分析,甚至对某些不具备测量条件的位置的结果进行估算。

基于上述触点信息的处理方法,图3为本发明实施例的一种触点信息的处理装置结构示意图,该装置的内部结构的框架示意图如图3所示,包括:创建模块301和处理模块302。

具体地,创建模块301,用于持续接收触点信息,创建过滤窗口。具体为,创建模块用于根据接收的设定个数的初始触点信息,创建过滤窗口。

处理模块302,用于根据当前过滤窗口,对当前触点信息进行筛选分类和/或对当前过滤窗口进行动态调整,直到过滤窗口的区域范围超过预设的窗口区域范围阈值。

创建模块301还用于:重新创建过滤窗口,并且根据重建的过滤窗口,对后续接收的每个触点信息进行筛选分类和/或对重建的过滤窗口进行动态调整,直到重建的过滤窗口的区域范围超过预设的窗口区域范围阈值或接收到抬起事件。

发送模块303,用于根据筛选分类的结果,生成触发事件向对应的应用发送。

较佳地,本发明实施例的处理模块302的内部结构示意图如图4所示,包括定位单元401和筛选单元402。

定位单元401用于确定出当前触点信息的位置信息;

筛选单元402用于当前触点信息的位置信息落于当前过滤窗口的区域范围内时,将当前触点信息筛选分类为可丢弃触点信息,继续进行下一个触点信息的筛选分类。

本发明实施例还提供一种触点信息的处理终端,包括存储器501、处理器502及至少一个程序。

至少一个程序存储在存储器501上并被处理器501执行时实现如下步骤:

持续接收触点信息,创建过滤窗口;

根据当前过滤窗口,对当前触点信息进行筛选分类和/或对当前过滤窗口进行动态调整,直到过滤窗口的区域范围超过预设的窗口区域范围阈值;

根据筛选分类的结果,生成触发事件向对应的应用发送。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1