一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

触控轨迹预测方法、相关装置、设备及计算机存储介质与流程

2021-11-15 18:14:00 来源:中国专利 TAG:


1.本技术涉及显示技术领域,尤其涉及一种触控轨迹预测方法、相关装置、设备及计算机存储介质。


背景技术:

2.触摸屏手机通过触屏上报触点信息,上层应用接收触摸事件进行响应。系统的响应通过垂直同步vsync刷帧消费事件,同时进行画面上的显示给予用户反馈。由于vsync帧率和底层报点帧率不一致,所以在vssync帧时间点获取事件时,底层上报的原始事件不一定存在,需要通过重采样或预测的方式生成一个事件点上报。
3.现有技术中,通过直接使用底层上报的帧点进行两个点的线性预测(插值)的方式进行重采样和预测,会出现给应用上报的历史报点有较大偏差,出现显示上画面抖动的问题。


技术实现要素:

4.本技术公开了一种触控轨迹预测方法、相关装置、设备及计算机存储介质,可以实现减少应用层报点的偏差,降低因触控操作引起的触控屏画面的抖动。
5.第一方面,本技术实施例提供一种触控轨迹预测方法,包括:
6.在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,所述综合报点信息用于反映所述当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,所述底层报点是指触控屏固件上报触控事件的报点,所述应用层报点是指底层向应用层上报的报点;
7.根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点。
8.通过本技术实施例,在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,综合报点信息用于反映当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,底层报点是指触控屏固件上报触控事件的报点,应用层报点是指底层向应用层上报的报点,之后,根据综合报点信息确定当前次应用层报点周期的目标预测点。也就是说,能够通过对当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况的分析,以确定所述当前次应用层报点周期的目标预测点,拓展了应用层报点的纠偏机制,减少了应用层报点的偏差,从而降低了因触控操作引起的触控屏画面的抖动。
9.结合第一方面,在一些实施例中,所述当前次应用层报点周期为第n个应用层报点周期,n为大于或者等于3的正整数;所述综合报点信息包括距离所述当前次应用层报点周期的最后时刻最近的两个历史底层报点周期的两个底层报点信息,以及包括距离所述当前次应用层报点周期的最后时刻最近的两个历史应用层报点周期的两个应用层报点信息。
10.可见,该触控轨迹预测方法从第三个应用层报点周期开始,结合历史底层报点信息和历史应用层报点信息对当前周期对应的应用层报点进行预测。
11.结合第一方面,在一些实施例中,所述根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点,包括:根据所述两个底层报点信息确定第一预测点;根据所述两个应用层报点信息确定第二预测点;根据所述第一预测点和所述第二预测点确定所述目标预测点。
12.可见,该触控轨迹预测方法能够根据距离当前次应用层报点周期的最后时刻最近的两个历史底层报点确定第一参考报点,根据距离当前次应用层报点周期的最后时刻最近的两个历史应用层报点确定第二参考报点,再基于第一参考点和第二参考点得到目标预测点。
13.结合第一方面,在一些实施例中,所述根据所述两个底层报点信息确定第一预测点,包括:根据所述两个底层报点信息确定第一时刻和第一参考报点,所述第一时刻为与所述当前次应用层报点周期第二近的历史底层报点周期的最后时刻,所述第一参考报点为所述第一时刻的底层报点;根据所述两个底层报点信息确定第二时刻和第二参考报点,所述第二时刻为与所述当前次应用层报点周期最近的历史底层报点周期的最后时刻,所述第二参考点为所述第二时刻的底层报点;获取第三时刻,所述第三时刻为所述当前次应用层报点周期的最后时刻;根据所述第一时刻、所述第二时刻和所述第三时刻确定第一参数;根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点。
14.可见,该触控轨迹预测方法能够通过分析距离当前次应用层报点周期的最后时刻最近的两个历史底层报点信息与各个相关时刻的对应关系确定第一预测点。
15.结合第一方面,在一些实施例中,所述第一时刻、所述第二时刻、所述第三时刻和所述第一参数之间的对应关系为:a1=(t3‑
t2)/(t2‑
t1),其中,a1为所述第一参数,t1为所述第一时刻,t2为所述第二时刻,t3为所述第三时刻。
16.结合第一方面,在一些实施例中,所述根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点,包括:根据所述第一参考报点确定第一二维坐标,所述第一二维坐标用于反映所述第一参考报点的报点位置,所述第一二维坐标为(x1,y1);根据所述第二参考报点确定第二二维坐标,所述第二二维坐标用于反映所述第二参考报点的报点位置,所述第二二维坐标为(x2,y2);根据所述第一二维坐标、所述第二二维坐标和所述第一参数确定第三二维坐标,所述第三二维坐标用于反映所述第一预测点的报点位置,所述第三二维坐标为(x3,y3);其中,x3=x2 a1*(x2‑
x1),y3=y2 a1*(y2‑
y1)。
17.结合第一方面,在一些实施例中,所述根据所述两个应用层报点信息确定第二预测点,包括:根据所述两个应用层报点信息确定第四时刻和第三参考报点,所述第四时刻为与所述当前次应用层报点周期第二近的历史应用层报点周期的最后时刻,所述第三参考报点为所述第四时刻的应用层报点;根据所述两个应用层报点信息确定第五时刻和第四参考报点,所述第五时刻为与所述当前次应用层报点周期最近的历史底应用层周期的最后时刻,所述第四参考报点为所述第五时刻的应用层报点;根据所述第三时刻、所述第四时刻和所述第五时刻确定第二参数;根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点。
18.可见,该触控轨迹预测方法能够通过分析距离当前次应用层报点周期的最后时刻最近的两个历史应用层报点信息与各个相关时刻的对应关系确定第二预测点。
19.结合第一方面,在一些实施例中,所述第三时刻、所述第四时刻、所述第五时刻和
所述第二参数之间的对应关系为:a2=(t3‑
t5)/(t5‑
t4),其中,a2为所述第二参数,t4为所述第四时刻,t5为所述第五时刻。
20.结合第一方面,在一些实施例中,所述根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点,包括:根据所述第三参考报点确定第四二维坐标,所述第四二维坐标用于反映所述第三参考报点的报点位置,所述第四二维坐标为(x4,y4);根据所述第四参考报点确定第五二维坐标,所述第五二维坐标用于反映所述第四参考报点的报点位置,所述第五二维坐标为(x5,y5);根据所述第四二维坐标、所述第五二维坐标和所述第二参数确定第六二维坐标,所述第六二维坐标用于反映所述第二预测点的报点位置,所述第六二维坐标为(x6,y6);其中,x6=x5 a2*(x5‑
x4),y6=y5 a2*(y5‑
y4)。
21.结合第一方面,在一些实施例中,所述根据所述第一预测点和所述第二预测点确定所述目标预测点,包括:获取预先设置的第三参数,所述第三参数大于0且小于1;根据所述第三二维坐标、所述第六二维坐标和所述第三参数确定第七二维坐标,所述第七二维坐标用于反映所述目标预测点的报点位置,所述第七二维坐标为(x7,y7);其中,x7=x6*a3 x3*(1

a3),y7=y6*a3 y3*(1

a3),a3为所述第三参数。
22.第二方面,本技术实施例提供一种触控轨迹预测装置,所述触控轨迹预测装置包括:
23.获取模块,用于在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,所述综合报点信息用于反映所述当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,所述底层报点是指触控屏固件上报触控事件的报点,所述应用层报点是指底层向应用层上报的报点;确定模块,用于根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点。
24.结合第二方面,在一些实施例中,所述当前次应用层报点周期为第n个应用层报点周期,n为大于或者等于3的正整数;所述综合报点信息包括距离所述当前次应用层报点周期的最后时刻最近的两个历史底层报点周期的两个底层报点信息,以及包括距离所述当前次应用层报点周期的最后时刻最近的两个历史应用层报点周期的两个应用层报点信息。
25.结合第二方面,在一些实施例中,在所述根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点方面,所述确定模块具体用于执行以下操作:根据所述两个底层报点信息确定第一预测点;根据所述两个应用层报点信息确定第二预测点;根据所述第一预测点和所述第二预测点确定所述目标预测点。
26.结合第二方面,在一些实施例中,在所述根据所述两个底层报点信息确定第一预测点方面,所述确定模块具体用于执行以下操作:根据所述两个底层报点信息确定第一时刻和第一参考报点,所述第一时刻为与所述当前次应用层报点周期第二近的历史底层报点周期的最后时刻,所述第一参考报点为所述第一时刻的底层报点;根据所述两个底层报点信息确定第二时刻和第二参考报点,所述第二时刻为与所述当前次应用层报点周期最近的历史底层报点周期的最后时刻,所述第二参考点为所述第二时刻的底层报点;获取第三时刻,所述第三时刻为所述当前次应用层报点周期的最后时刻;根据所述第一时刻、所述第二时刻和所述第三时刻确定第一参数;根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点。
27.结合第二方面,在一些实施例中,所述第一时刻、所述第二时刻、所述第三时刻和
所述第一参数之间的对应关系为:a1=(t3‑
t2)/(t2‑
t1),其中,a1为所述第一参数,t1为所述第一时刻,t2为所述第二时刻,t3为所述第三时刻。
28.结合第二方面,在一些实施例中,在所述根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点方面,所述确定模块具体用于执行以下操作:根据所述第一参考报点确定第一二维坐标,所述第一二维坐标用于反映所述第一参考报点的报点位置,所述第一二维坐标为(x1,y1);根据所述第二参考报点确定第二二维坐标,所述第二二维坐标用于反映所述第二参考报点的报点位置,所述第二二维坐标为(x2,y2);根据所述第一二维坐标、所述第二二维坐标和所述第一参数确定第三二维坐标,所述第三二维坐标用于反映所述第一预测点的报点位置,所述第三二维坐标为(x3,y3);其中,x3=x2 a1*(x2‑
x1),y3=y2 a1*(y2‑
y1)。
29.结合第二方面,在一些实施例中,在所述根据所述两个应用层报点信息确定第二预测点方面,所述确定模块具体用于执行以下操作:根据所述两个应用层报点信息确定第四时刻和第三参考报点,所述第四时刻为与所述当前次应用层报点周期第二近的历史应用层报点周期的最后时刻,所述第三参考报点为所述第四时刻的应用层报点;根据所述两个应用层报点信息确定第五时刻和第四参考报点,所述第五时刻为与所述当前次应用层报点周期最近的历史底应用层周期的最后时刻,所述第四参考报点为所述第五时刻的应用层报点;根据所述第三时刻、所述第四时刻和所述第五时刻确定第二参数;根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点。
30.结合第二方面,在一些实施例中,所述第三时刻、所述第四时刻、所述第五时刻和所述第二参数之间的对应关系为:a2=(t3‑
t5)/(t5‑
t4),其中,a2为所述第二参数,t4为所述第四时刻,t5为所述第五时刻。
31.结合第二方面,在一些实施例中,在所述根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点方面,所述确定模块具体用于执行以下操作:根据所述第三参考报点确定第四二维坐标,所述第四二维坐标用于反映所述第三参考报点的报点位置,所述第四二维坐标为(x4,y4);根据所述第四参考报点确定第五二维坐标,所述第五二维坐标用于反映所述第四参考报点的报点位置,所述第五二维坐标为(x5,y5);
32.根据所述第四二维坐标、所述第五二维坐标和所述第二参数确定第六二维坐标,所述第六二维坐标用于反映所述第二预测点的报点位置,所述第六二维坐标为(x6,y6);其中,x6=x5 a2*(x5‑
x4),y6=y5 a2*(y5‑
y4)。
33.结合第二方面,在一些实施例中,在所述根据所述第一预测点和所述第二预测点确定所述目标预测点方面,所述确定模块具体用于执行以下操作:获取预先设置的第三参数,所述第三参数大于0且小于1;根据所述第三二维坐标、所述第六二维坐标和所述第三参数确定第七二维坐标,所述第七二维坐标用于反映所述目标预测点的报点位置,所述第七二维坐标为(x7,y7);其中,x7=x6*a3 x3*(1

a3),y7=y6*a3 y3*(1

a3),a3为所述第三参数。
34.第三方面,本技术实施例提供一种触控轨迹预测设备,包括:一个或多个处理器、存储器、触摸屏以及以及一个或多个程序,其中,所述一个或多个程序被存储在上述存储器中,并且被配置由上述一个或多个处理器执行,所述一个或多个程序包括如第一方面中任一项所述的触控轨迹预测方法的步骤的指令。
35.第四方面,本技术实施例提供一种计算机存储介质,其特征在于,包括计算机指
令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面中任一项所述的触控轨迹预测方法。
36.可以理解地,上述提供的第二方面所述的触控轨迹预测设备、第三方面所述的计算机存储介质均用于执行第一方面中任一所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
37.下面对本技术实施例用到的附图进行介绍。
38.图1是本技术实施例提供的一种触控轨迹预测系统软件栈的示意图;
39.图2为本技术实施例提供的一种触控轨迹预测方法的流程示意图;
40.图3为本技术实施例提供的一种第一个应用层报点的横坐标的预测示意图;
41.图4是本技术实施例提供的一种第n(n为大于或者等于3的正整数)个应用层报点的横坐标的预测示意图;
42.图5为本技术实施例提供的触点波动对比示意图;
43.图6是本技术实施例提供的另一种触控轨迹预测方法的流程示意图;
44.图7是本技术实施例提供的再一种触控轨迹预测方法的流程示意图;
45.图8是本技术实施例提供的又一种触控轨迹预测方法的流程示意图;
46.图9为本技术实施例提供的一种应用场景示意图;
47.图10是本技术实施例提供的一种触控轨迹预测设备的结构示意图;
48.图11是本技术实施例提供的一种触控轨迹预测装置的功能模块组成框图。
具体实施方式
49.下面结合本技术实施例中的附图对本技术实施例进行描述。本技术实施例的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
50.参照图1,图1是本技术实施例提供的一种触控轨迹预测系统软件栈的示意图。如图1所示,该触触控轨迹预测系统软件栈可包括应用程序101、触控屏校准模块libinput102、触控事件分发模块input dispatcher103以及触控屏固件104。其中,所述触控屏固件104用于获取触控事件,以及用于对获取的触控事件进行上报,对应底层报点,所述input dispatcher103用于对所述触控屏固件104上报的触控事件进行分发,所述libinput102用于对所述input dispatcher103分发的触控事件分析处理得到目标应用层报点,最后所述libinput102将所述目标应用层报点发送到应用程序101。
51.其中,所述libinput102中包括相应的程序能够执行本技术提供的触控轨迹预测方法中的步骤以得到所述目标应用层报点。
52.请参照图2,图2为本技术实施例提供的一种触控轨迹预测方法的流程示意图。如图2所示,该触控轨迹预测方法包括s201

s202,具体如下:
53.s201、在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息。
54.其中,所述综合报点信息用于反映所述当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,所述底层报点是指触控屏固件上报触控事件的报点,也
即触控屏固件上报触控事件的帧率,所述应用层报点是指底层向应用层上报的报点。实践中,应用层报点周期和底层报点周期不同,举例来说,应用层报点周期为16ms,应用层报点周期为8ms,该应用层报点周期和该底层报点周期还可以是其他数值,不作具体限定。
55.该触控轨迹预测方法可应用于具有触控功能的电子设备,所述电子设备包括触控屏固件,在所述电子设备上能够运行应用程序,其中,该电子设备可以是各种手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,ue),移动台(mobile station,ms)等等,不作具体限定。
56.s202、根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点。
57.其中,该触控轨迹预测方法可应用于应用触控的场景中。
58.通过本技术实施例,在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,综合报点信息用于反映当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,底层报点是指触控屏固件上报触控事件的报点,应用层报点是指底层向应用层上报的报点,之后,根据综合报点信息确定当前次应用层报点周期的目标预测点。也就是说,能够通过对当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况的分析,以确定所述当前次应用层报点周期的目标预测点,拓展了应用层报点的纠偏机制,减少了应用层报点的偏差,从而降低了因触控操作引起的触控屏画面的抖动。
59.其中,所述当前次应用层报点周期为第n个应用层报点周期,n为大于或者等于3的正整数;所述综合报点信息包括距离所述当前次应用层报点周期的最后时刻最近的两个历史底层报点周期的两个底层报点信息,以及包括距离所述当前次应用层报点周期的最后时刻最近的两个历史应用层报点周期的两个应用层报点信息。
60.其中,所述两个底层报点信息包括所述两个底层报点的二维数据以及对应的触控事件的发生时间,能反映对应的真实触控事件相对于触控屏的具体位置,所述两个应用层报点信息包括所述两个应用层报点的二维数据以及对应的触控事件的发生时间,能反映对应的预测触控事件相对于触控屏的具体位置。可见,该触控轨迹预测方法从第三个应用层报点周期开始,结合历史底层报点信息和历史应用层报点信息对当前周期对应的应用层报点进行预测。
61.此外,当所述当前次应用层报点周期为第一个应用层报点周期或者第二个应用层报点周期时,可基于现有的方式得到对应的应用层报点,例如,通过简单的线性算法,获取距离所述当前次应用层报点周期的最后时刻最近的两个历史底层报点周期的两个底层报点信息,根据所述两个底层报点信息确定所述当前次应用层报点周期的目标预测点。具体来说,基于所述两个底层报点信息确定所述两个底层报点对应的二维坐标以及对应的时刻,根据所述两个底层报点对应的二维坐标的横坐标以及对应的时刻确定当前次应用层报点对应的横坐标,根据所述两个底层报点对应的二维坐标的纵坐标以及对应的时刻确定当前次应用层报点对应的纵坐标,请参考图3,图3为本技术实施例提供的一种第一个应用层报点的横坐标的预测示意图,如图3所示,图中,横坐标t表示时间,纵坐标x表示各个相关报点对应的横坐标,其中,底层报点周期为8ms,应用层报点周期为16ms,b1为距离第一个应用层报点周期的最后时刻第二近的底层报点,b1对应的横坐标为t1,纵坐标为x1,b2为距离第一个应用层报点周期的最后时刻最近的底层报点,即第一个应用层报点,b2对应的横坐标
为t2,纵坐标为x2,b3为第一个应用层报点周期对应的应用层报点(即第一应用层报点),b3对应的横坐标为t3,纵坐标为x3,x3=[(t3‑
t2)/(t2‑
t1)]*(x2‑
x1) x2,所述根据所述两个底层报点对应的二维坐标的纵坐标以及对应的时刻确定当前次应用层报点对应的纵坐标与所述根据所述两个底层报点对应的二维坐标的横坐标以及对应的时刻确定当前次应用层报点对应的横坐标的原理相同,此处不再赘述。
[0062]
进一步的,所述根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点,包括步骤a1

a3:
[0063]
a1、根据所述两个底层报点信息确定第一预测点。
[0064]
其中,所述根据所述两个底层报点信息确定第一预测点的实现方式可以是:根据所述两个底层报点信息确定第一时刻和第一参考报点,所述第一时刻为与所述当前次应用层报点周期第二近的历史底层报点周期的最后时刻,所述第一参考报点为所述第一时刻的底层报点;根据所述两个底层报点信息确定第二时刻和第二参考报点,所述第二时刻为与所述当前次应用层报点周期最近的历史底层报点周期的最后时刻,所述第二参考点为所述第二时刻的底层报点;获取第三时刻,所述第三时刻为所述当前次应用层报点周期的最后时刻;根据所述第一时刻、所述第二时刻和所述第三时刻确定第一参数;根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点。
[0065]
可见,该触控轨迹预测方法能够通过分析距离当前次应用层报点周期的最后时刻最近的两个历史底层报点信息与各个相关时刻的对应关系确定第一预测点。
[0066]
其中,所述第一时刻、所述第二时刻、所述第三时刻和所述第一参数之间的对应关系为:a1=(t3‑
t2)/(t2‑
t1),其中,a1为所述第一参数,t1为所述第一时刻,t2为所述第二时刻,t3为所述第三时刻。
[0067]
进一步的,所述根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点的实现方式可以是:根据所述第一参考报点确定第一二维坐标,所述第一二维坐标用于反映所述第一参考报点的报点位置,所述第一二维坐标为(x1,y1);根据所述第二参考报点确定第二二维坐标,所述第二二维坐标用于反映所述第二参考报点的报点位置,所述第二二维坐标为(x2,y2);根据所述第一二维坐标、所述第二二维坐标和所述第一参数确定第三二维坐标,所述第三二维坐标用于反映所述第一预测点的报点位置,所述第三二维坐标为(x3,y3);其中,x3=x2 a1*(x2‑
x1),y3=y2 a1*(y2‑
y1)。
[0068]
请参考图4,图4是本技术实施例提供的一种第n(n为大于或者等于3的正整数)个应用层报点的横坐标的预测示意图,如图4所示,图中,横坐标t表示时间,纵坐标x表示各个相关报点对应的横坐标,其中,底层报点周期为8ms,应用层报点周期为16ms,d1为第一参考报点,起,d2为第二参考报点,d3为第一预测点,d1对应的横坐标为t1,纵坐标为x1,d2对应的横坐标为t2,纵坐标为x2,d3对应的横坐标为t3,纵坐标为x3,a1=(t3‑
t2)/(t2‑
t1),x3=x2 a1*(x2‑
x1),同理,可求出y3,y3=y2 a1*(y2‑
y1)。
[0069]
a2、根据所述两个应用层报点信息确定第二预测点。
[0070]
其中,所述根据所述两个应用层报点信息确定第二预测点,包括:根据所述两个应用层报点信息确定第四时刻和第三参考报点,所述第四时刻为与所述当前次应用层报点周期第二近的历史应用层报点周期的最后时刻,所述第三参考报点为所述第四时刻的应用层报点;根据所述两个应用层报点信息确定第五时刻和第四参考报点,所述第五时刻为与所
述当前次应用层报点周期最近的历史底应用层周期的最后时刻,所述第四参考报点为所述第五时刻的应用层报点;根据所述第三时刻、所述第四时刻和所述第五时刻确定第二参数;根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点。
[0071]
可见,该触控轨迹预测方法能够通过分析距离当前次应用层报点周期的最后时刻最近的两个历史应用层报点信息与各个相关时刻的对应关系确定第二预测点。
[0072]
进一步的,所述第三时刻、所述第四时刻、所述第五时刻和所述第二参数之间的对应关系为:a2=(t3‑
t5)/(t5‑
t4),其中,a2为所述第二参数,t4为所述第四时刻,t5为所述第五时刻。
[0073]
所述根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点,包括:根据所述第三参考报点确定第四二维坐标,所述第四二维坐标用于反映所述第三参考报点的报点位置,所述第四二维坐标为(x4,y4);根据所述第四参考报点确定第五二维坐标,所述第五二维坐标用于反映所述第四参考报点的报点位置,所述第五二维坐标为(x5,y5);根据所述第四二维坐标、所述第五二维坐标和所述第二参数确定第六二维坐标,所述第六二维坐标用于反映所述第二预测点的报点位置,所述第六二维坐标为(x6,y6);其中,x6=x5 a2*(x5‑
x4),y6=y5 a2*(y5‑
y4)。
[0074]
如图4所示,图中,d4为第三参考报点,d5为第四参考报点,d6为第二预测点,d4对应的横坐标为t4,纵坐标为x4,d5对应的横坐标为t5,纵坐标为x5,d6对应的横坐标为t6,纵坐标为x6,a2=(t3‑
t5)/(t5‑
t4),x6=x5 a2*(x5‑
x4),同理,可求出y6,y6=y5 a2*(y5‑
y4)。
[0075]
a3、根据所述第一预测点和所述第二预测点确定所述目标预测点。
[0076]
所述根据所述第一预测点和所述第二预测点确定所述目标预测点,包括:获取预先设置的第三参数,所述第三参数大于0且小于1;根据所述第三二维坐标、所述第六二维坐标和所述第三参数确定第七二维坐标,所述第七二维坐标用于反映所述目标预测点的报点位置,所述第七二维坐标为(x7,y7);其中,x7=x6*a3 x3*(1

a3),y7=y6*a3 y3*(1

a3),a3为所述第三参数。
[0077]
如图4所示,图中,d7为目标预测点,d7对应的横坐标为t7,纵坐标为x7,x7=x6*a3 x3*(1

a3),同理,可求出y7,y7=y6*a3 y3*(1

a3)。
[0078]
需要说明的是,理想状态下,当底层上报均匀时,通过预测算法得到的结果也是均匀的,即在应用侧收到的报点信息也是均匀变化的,如图4所示,图中,d8为理想状态下与t2时刻对应的应用层报点,d9为理想状态下与t3时刻对应的应用层报点。
[0079]
下面,结合实际的触控操作的数据点对本对本技术实施例提供的触控轨迹预测方法进行分析,如图5所示,图5为本技术实施例提供的触点波动对比示意图,其中:
[0080]
曲线1为用户操控的触点坐标(仅以二维坐标中的横坐标为分析对象),曲线2为未经处理的二维坐标中的横坐标的波动,反映未经处理的触点波动,曲线3为经过处理后的二维坐标中的横坐标的波动,反映经过处理后的触点波动。
[0081]
可以看到,在触控操作过程中,触点未经处理时,波动比较剧烈,此种情况下,将对应的报点上报到应用程序,最后导致上层应用程序可能出现抖动的问题,而经过处理后的数据波动被约束到较有限的范围(相对于曲线2),最终实现提升用户的触控体验将。
[0082]
与上述图1、图2所示的实施例一致的,请参阅图6,图6是本技术实施例提供的另一种触控轨迹预测方法的流程示意图,如图6所示,本触控轨迹预测方法包括:
[0083]
s601、在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,所述当前次应用层报点周期为第n个应用层报点周期,n为大于或者等于3的正整数,所述综合报点信息包括距离所述当前次应用层报点周期的最后时刻最近的两个历史底层报点周期的两个底层报点信息,以及包括距离所述当前次应用层报点周期的最后时刻最近的两个历史应用层报点周期的两个应用层报点信息;
[0084]
s602、根据所述两个底层报点信息确定第一预测点;
[0085]
s603、根据所述两个应用层报点信息确定第二预测点;
[0086]
s604、根据所述第一预测点和所述第二预测点确定所述目标预测点。
[0087]
通过本技术实施例,在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,综合报点信息用于反映当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,底层报点是指触控屏固件上报触控事件的报点,应用层报点是指底层向应用层上报的报点,之后,根据综合报点信息确定当前次应用层报点周期的目标预测点。也就是说,能够通过对当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况的分析,以确定所述当前次应用层报点周期的目标预测点,拓展了应用层报点的纠偏机制,减少了应用层报点的偏差,从而降低了因触控操作引起的触控屏画面的抖动。
[0088]
与上述图1、图2所示的实施例一致的,请参阅图7,图7是本技术实施例提供的再一种触控轨迹预测方法的流程示意图,如图7所示,本触控轨迹预测方法包括:
[0089]
s701、在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,所述当前次应用层报点周期为第n个应用层报点周期,n为大于或者等于3的正整数,所述综合报点信息包括距离所述当前次应用层报点周期的最后时刻最近的两个历史底层报点周期的两个底层报点信息,以及包括距离所述当前次应用层报点周期的最后时刻最近的两个历史应用层报点周期的两个应用层报点信息;
[0090]
s702、根据所述两个底层报点信息确定第一时刻和第一参考报点,所述第一时刻为与所述当前次应用层报点周期第二近的历史底层报点周期的最后时刻,所述第一参考报点为所述第一时刻的底层报点;
[0091]
s703、根据所述两个底层报点信息确定第二时刻和第二参考报点,所述第二时刻为与所述当前次应用层报点周期最近的历史底层报点周期的最后时刻,所述第二参考点为所述第二时刻的底层报点;
[0092]
s704、获取第三时刻,所述第三时刻为所述当前次应用层报点周期的最后时刻;
[0093]
s705、根据所述第一时刻、所述第二时刻和所述第三时刻确定第一参数;
[0094]
s706、根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点,所述第一时刻、所述第二时刻、所述第三时刻和所述第一参数之间的对应关系为:a1=(t3‑
t2)/(t2‑
t1),其中,a1为所述第一参数,t1为所述第一时刻,t2为所述第二时刻,t3为所述第三时刻;
[0095]
s707、根据所述第一参考报点确定第一二维坐标,所述第一二维坐标用于反映所述第一参考报点的报点位置,所述第一二维坐标为(x1,y1);
[0096]
s708、根据所述第二参考报点确定第二二维坐标,所述第二二维坐标用于反映所述第二参考报点的报点位置,所述第二二维坐标为(x2,y2);
[0097]
s709、根据所述第一二维坐标、所述第二二维坐标和所述第一参数确定第三二维坐标,所述第三二维坐标用于反映所述第一预测点的报点位置,所述第三二维坐标为(x3,y3);其中,x3=x2 a1*(x2‑
x1),y3=y2 a1*(y2‑
y1);
[0098]
s710、根据所述两个应用层报点信息确定第四时刻和第三参考报点,所述第四时刻为与所述当前次应用层报点周期第二近的历史应用层报点周期的最后时刻,所述第三参考报点为所述第四时刻的应用层报点;
[0099]
s711、根据所述两个应用层报点信息确定第五时刻和第四参考报点,所述第五时刻为与所述当前次应用层报点周期最近的历史应用层周期的最后时刻,所述第四参考报点为所述第五时刻的应用层报点;
[0100]
s712、根据所述第三时刻、所述第四时刻和所述第五时刻确定第二参数;
[0101]
s713、根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点,所述第三时刻、所述第四时刻、所述第五时刻和所述第二参数之间的对应关系为:a2=(t3‑
t5)/(t5‑
t4),其中,a2为所述第二参数,t4为所述第四时刻,t5为所述第五时刻;
[0102]
s714、根据所述第三参考报点确定第四二维坐标,所述第四二维坐标用于反映所述第三参考报点的报点位置,所述第四二维坐标为(x4,y4);
[0103]
s715、根据所述第四参考报点确定第五二维坐标,所述第五二维坐标用于反映所述第四参考报点的报点位置,所述第五二维坐标为(x5,y5);
[0104]
s716、根据所述第四二维坐标、所述第五二维坐标和所述第二参数确定第六二维坐标,所述第六二维坐标用于反映所述第二预测点的报点位置,所述第六二维坐标为(x6,y6),其中,x6=x5 a2*(x5‑
x4),y6=y5 a2*(y5‑
y4);
[0105]
s717、获取预先设置的第三参数,所述第三参数大于0且小于1;
[0106]
s718、根据所述第三二维坐标、所述第六二维坐标和所述第三参数确定第七二维坐标,所述第七二维坐标用于反映所述目标预测点的报点位置,所述第七二维坐标为(x7,y7),其中,x7=x6*a3 x3*(1

a3),y7=y6*a3 y3*(1

a3),a3为所述第三参数。
[0107]
通过本技术实施例,在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,综合报点信息用于反映当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,底层报点是指触控屏固件上报触控事件的报点,应用层报点是指底层向应用层上报的报点,之后,根据综合报点信息确定当前次应用层报点周期的目标预测点。也就是说,能够通过对当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况的分析,以确定所述当前次应用层报点周期的目标预测点,拓展了应用层报点的纠偏机制,减少了应用层报点的偏差,从而降低了因触控操作引起的触控屏画面的抖动。
[0108]
此外,本技术实施例能够从第三个应用层报点周期开始,结合历史底层报点信息和历史应用层报点信息对当前周期对应的应用层报点进行预测。
[0109]
与上述图1、图2以及图7所示的实施例一致的,请参阅图8,图8是本技术实施例提供的又一种触控轨迹预测方法的流程示意图,如图8所示,本触控轨迹预测方法包括步骤s801至s810:
[0110]
s801、从底层报点的历史缓存中,获取目标时间戳的两个目标底层报点的目标底层报点数据。
[0111]
其中,上述底层报点也称原始报点(raw point,rp),上述目标时间戳为目标应用层报点周期的最后时刻,所述目标应用层报点周期为底层待向应用层上传目标应用层报点的点数据的周期。底层报点的历史缓存包括历史底层报点的底层报点时间戳、底层报点点数据以及上述底层报点时间戳和上述底层报点点数据之间的对应关系,底层报点点数据用于反映用户手指触控的屏幕位置(也即历史底层报点的报点位置),所述底层报点点数据包括用户手指触控的屏幕横向位置(也即历史底层报点的报点横向位置)以及用户手指触控的屏幕纵向位置(也即历史底层报点的报点纵向位置),其中,底层报点时间戳为底层报点在相应的底层报点周期的最后时刻。上述两个目标底层报点包括与上述目标时间戳距离最近的历史底层报点、与目标时间戳距离第二近的历史底层报点。
[0112]
如图中所示出的,与目标时间戳t3临近的两个历史底层报点的底层报点数据分别包括rt3、rp3和rt2、rp2,其中,rt3为与t3最近的历史底层报点周期的最后时刻,rp3为距离rt3对应的历史底层报点的报点位置,rt2为距离t3第二近的历史底层报点周期的最后时刻、rp2为与rt2对应的历史原始报点的报点位置。
[0113]
其中,所述底层报点的历史缓存的获取包括以下步骤b1至b3:
[0114]
b1、底层根据预设的底层报点周期上报原始报点的点数据。
[0115]
b2、记录所述原始报点的原始报点数据。
[0116]
b3、将所述原始报点数据缓存,得到所述底层报点的历史缓存。
[0117]
s802、从应用层报点的历史缓存中,获取所述目标时间戳的两个应用层报点的目标应用层报点数据。
[0118]
应用层报点的历史缓存包括历史应用层报点的应用层时间戳、应用层点数据以及应用层时间戳和应用层点数据之间的对应关系,其中,应用层报点时间戳为应用层报点在相应的应用层报点周期的最后时刻。目标时间戳的两个目标应用层报点包括与目标时间戳距离最近的历史应用层报点和与目标时间戳距离第二近的历史应用层报点。
[0119]
如图中所示出的,目标时间戳t3的应用层报点历史缓存可以包括但不限于时间戳(t0、t1和t2)、点数据(p0、p1和p2),t0对应p0,t1对应p1,t2对应p2,t2为距离t3最近的历史应用层报点周期的最后时刻,p2为与t2对应的历史应用层报点的报点位置,t1为距离t3第二近的历史应用层报点周期的最后时刻,p1为与t1对应的历史应用层报点的报点位置。
[0120]
s803、根据所述目标时间戳和所述目标底层报点数据计算第一参数。
[0121]
其中,所述第一参数alpha1=(t3‑
rt3)/(rt3‑
rt2)。
[0122]
优选的,在确定alpha1小于或者等于1时执行步骤s804至s810,在确定alpha1大于1时,执行步骤s804之后,直接将第一点数据预测值作为目标预测报点的点数据,并上报到应用,即是,alpha1大于1时不进行纠偏。
[0123]
s804、根据所述第一参数和所述目标底层报点数据得到第一预测点的第一预测点数据。
[0124]
其中,第一预测点数据能够通过第一对应关系得到,第一对应关系表示为p
3”=rp3 alpha1*(rp3‑
rp2)。
[0125]
第一预测点数据包括第一预测点的横向位置和第一预测点的纵向位置,当rp3为距离目标时间戳最近的历史底层报点的报点横向位置且rp2为距离目标时间戳第二近的历史底层报点的报点横向位置,则p
3”为第一预测点的横向位置;当rp3为距离目标时间戳最近
的历史底层报点的报点纵向位置且rp2为距离目标时间戳第二近的历史底层报点的报点纵向位置,则p
3”为第一预测点的纵向位置。
[0126]
s805、根据所述目标时间戳和所述目标应用层报点数据计算第二参数。
[0127]
其中,第二参数alpha2=(t3‑
t2)/(t2‑
t1)。
[0128]
s806、根据所述第二参数和所述目标应用层报点数据计算第二预测点的第二预测点数据。
[0129]
其中,第二预测点数据能够通过第二对应关系得到,第二对应关系表示为p
3'
=p2 alpha2*(p2‑
p1)。
[0130]
第二预测点数据包括第二预测点的横向位置和第二预测点的纵向位置,当p2为距离目标时间戳最近的历史应用层报点的报点横向位置且p1为为距离目标时间戳第二近的历史应用层报点的报点横向位置,则p
3'
为第二预测点的横向位置;当p2为距离目标时间戳最近的历史应用层报点的报点纵向位置且p1为为距离目标时间戳第二近的历史应用层报点的报点纵向位置,则p
3'
为第二预测点的纵向位置。
[0131]
s807、设置加权参数。
[0132]
其中,该加权参数alpha大于0且小于1,如alpha等于0.5。
[0133]
需要说明的是,s807发生在s808之前,s807与步骤s801至s806没有特定的先后顺序。
[0134]
s808、根据所述第一预测点数据、所述第二预测点数据、所述加权参数得到所述目标预测报点的点数据。
[0135]
其中,所述目标预测报点的点数据能够通过第三对应关系得到,第三对应关系表示为p3=p
3'
*alpha p
3”*(1

alpha)。
[0136]
所述目标预测报点的点数据包括所述目标预测报点的横向位置和所述目标预测报点的纵向位置。
[0137]
当p
3”为第一预测点的横向位置且p
3'
为第二预测点的横向位置,则p3为所述目标预测报点的横向位置;当p
3”为第一预测点的纵向位置且p
3'
为第二预测点的纵向位置,则p3为所述目标预测报点的纵向位置。
[0138]
s809、缓存所述目标预测报点的预测报点数据,得到更新后的所述应用层报点的历史缓存。
[0139]
上述预测报点数据包括点数据、时间戳以及点数据和时间戳之间的对应关系。
[0140]
s810、上报所述目标预测报点的点数据到目标应用。
[0141]
需要说明的是,对s809和s810发生的先后顺序不作具体限定,可以是s809和s810同时发生,也可以是s809先于s810发生,还可以是s809后于s810发生。
[0142]
可见,本示例中,能够通过对目标应用层报点周期的最后时刻之前的,距离该最后时刻最近的两个底层报点情况和距离该最后时刻最近的两个应用层报点的情况进行分析,以确定该目标应用层报点周期的目标预测点,拓展了应用层报点的纠偏机制,减少了应用层报点的偏差,从而降低了因触控操作引起的触控屏画面的抖动。
[0143]
下面,对本技术实施例提供的触控轨迹预测方法的应用场景进行介绍。
[0144]
第一种,针对图列表类应用(如今日头条、应用评论的列表、联系人列表等)上下滑动,通过本技术实施例提供的触控轨迹预测方法,将帧间距均匀化,可以改善滑动的平滑效
果,参考图9,图9为本技术实施例提供的一种应用场景示意图,在联系人列表中上下滑动。
[0145]
第二种,针对阅读类应用(如浏览器网页,电子书等)上下滑动,通过本技术实施例提供的触控轨迹预测方法,将帧间距均匀化,可以改善滑动的平滑效果。
[0146]
第三种,针对音乐播放、视频播放类应用(如进度、亮度调节seekbar时)滑动用户界面(userinterface,ui)控件,通过本技术实施例提供的触控轨迹预测方法,将帧间距均匀化,可以改善滑动的平滑效果,达到滑动时进度控制的平滑变化。
[0147]
第四种,针对手势操作类应用(如左右滑动、多指缩放等场景)上下滑动,通过本技术实施例提供的触控轨迹预测方法,将帧间距均匀化,在手势操作的过程中,改善滑动的平滑效果,达到手势操作ui时,界面随手势的平滑变化。
[0148]
需要说明的是,该触控轨迹预测方法还可适用于其他应用场景,此处不作具体限定。
[0149]
与上述图1、图2、图6、图7以及图8所示的实施例一致的,请参阅图10,图10是本技术实施例提供的一种触控轨迹预测设备的结构示意图,如图10所示,所述触控轨迹预测设备1000包括一个或多个处理器1010、存储器1020、触摸屏1030、通信接口1040以及一个或多个程序1021,其中,所述一个或多个程序1021被存储在上述存储器1020中,并且被配置由上述一个或多个处理器1010执行,所述一个或多个程序1021包括用于执行以下步骤的指令;
[0150]
在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,所述综合报点信息用于反映所述当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,所述底层报点是指触控屏固件上报触控事件的报点,所述应用层报点是指底层向应用层上报的报点;
[0151]
根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点。
[0152]
通过本技术实施例,在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,综合报点信息用于反映当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,底层报点是指触控屏固件上报触控事件的报点,应用层报点是指底层向应用层上报的报点,之后,根据综合报点信息确定当前次应用层报点周期的目标预测点。也就是说,能够通过对当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况的分析,以确定所述当前次应用层报点周期的目标预测点,拓展了应用层报点的纠偏机制,减少了应用层报点的偏差,从而降低了因触控操作引起的触控屏画面的抖动。
[0153]
在一个可能的示例中,所述当前次应用层报点周期为第n个应用层报点周期,n为大于或者等于3的正整数;所述综合报点信息包括距离所述当前次应用层报点周期的最后时刻最近的两个历史底层报点周期的两个底层报点信息,以及包括距离所述当前次应用层报点周期的最后时刻最近的两个历史应用层报点周期的两个应用层报点信息。
[0154]
在一个可能的示例中,在所述根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点方面,所述一个或多个程序1021中的指令具体用于执行:根据所述两个底层报点信息确定第一预测点;根据所述两个应用层报点信息确定第二预测点;根据所述第一预测点和所述第二预测点确定所述目标预测点。
[0155]
在一个可能的示例中,在所述根据所述两个底层报点信息确定第一预测点方面,所述一个或多个程序1021中的指令具体用于执行:根据所述两个底层报点信息确定第一时
刻和第一参考报点,所述第一时刻为与所述当前次应用层报点周期第二近的历史底层报点周期的最后时刻,所述第一参考报点为所述第一时刻的底层报点;根据所述两个底层报点信息确定第二时刻和第二参考报点,所述第二时刻为与所述当前次应用层报点周期最近的历史底层报点周期的最后时刻,所述第二参考点为所述第二时刻的底层报点;获取第三时刻,所述第三时刻为所述当前次应用层报点周期的最后时刻;根据所述第一时刻、所述第二时刻和所述第三时刻确定第一参数;根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点。
[0156]
在一个可能的示例中,所述第一时刻、所述第二时刻、所述第三时刻和所述第一参数之间的对应关系为:a1=(t3‑
t2)/(t2‑
t1),其中,a1为所述第一参数,t1为所述第一时刻,t2为所述第二时刻,t3为所述第三时刻。
[0157]
在一个可能的示例中,在所述根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点方面,所述一个或多个程序1021中的指令具体用于执行:根据所述第一参考报点确定第一二维坐标,所述第一二维坐标用于反映所述第一参考报点的报点位置,所述第一二维坐标为(x1,y1);根据所述第二参考报点确定第二二维坐标,所述第二二维坐标用于反映所述第二参考报点的报点位置,所述第二二维坐标为(x2,y2);根据所述第一二维坐标、所述第二二维坐标和所述第一参数确定第三二维坐标,所述第三二维坐标用于反映所述第一预测点的报点位置,所述第三二维坐标为(x3,y3);其中,x3=x2 a1*(x2‑
x1),y3=y2 a1*(y2‑
y1)。
[0158]
在一个可能的示例中,在所述根据所述两个应用层报点信息确定第二预测点方面,所述一个或多个程序1021中的指令具体用于执行:根据所述两个应用层报点信息确定第四时刻和第三参考报点,所述第四时刻为与所述当前次应用层报点周期第二近的历史应用层报点周期的最后时刻,所述第三参考报点为所述第四时刻的应用层报点;根据所述两个应用层报点信息确定第五时刻和第四参考报点,所述第五时刻为与所述当前次应用层报点周期最近的历史底应用层周期的最后时刻,所述第四参考报点为所述第五时刻的应用层报点;根据所述第三时刻、所述第四时刻和所述第五时刻确定第二参数;根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点。
[0159]
在一个可能的示例中,所述第三时刻、所述第四时刻、所述第五时刻和所述第二参数之间的对应关系为:a2=(t3‑
t5)/(t5‑
t4),其中,a2为所述第二参数,t4为所述第四时刻,t5为所述第五时刻。
[0160]
在一个可能的示例中,在所述根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点方面,所述一个或多个程序1021中的指令具体用于执行:根据所述第三参考报点确定第四二维坐标,所述第四二维坐标用于反映所述第三参考报点的报点位置,所述第四二维坐标为(x4,y4);根据所述第四参考报点确定第五二维坐标,所述第五二维坐标用于反映所述第四参考报点的报点位置,所述第五二维坐标为(x5,y5);根据所述第四二维坐标、所述第五二维坐标和所述第二参数确定第六二维坐标,所述第六二维坐标用于反映所述第二预测点的报点位置,所述第六二维坐标为(x6,y6);其中,x6=x5 a2*(x5‑
x4),y6=y5 a2*(y5‑
y4)。
[0161]
在一个可能的示例中,在所述根据所述第一预测点和所述第二预测点确定所述目标预测点方面,所述一个或多个程序1021中的指令具体用于执行:获取预先设置的第三参
数,所述第三参数大于0且小于1;根据所述第三二维坐标、所述第六二维坐标和所述第三参数确定第七二维坐标,所述第七二维坐标用于反映所述目标预测点的报点位置,所述第七二维坐标为(x7,y7);其中,x7=x6*a3 x3*(1

a3),y7=y6*a3 y3*(1

a3),a3为所述第三参数。
[0162]
与上述图1、图2、图6、图7以及图8所示的实施例一致的,请参阅图11,图11是本技术实施例提供的一种触控轨迹预测装置的功能模块组成框图,如图11所示,该触控轨迹预测装置1100包括获取模块1101和确定模块1102,其中,
[0163]
获取模块1101,用于在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,所述综合报点信息用于反映所述当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,所述底层报点是指触控屏固件上报触控事件的报点,所述应用层报点是指底层向应用层上报的报点;
[0164]
确定模块1102,用于根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点。
[0165]
通过本技术实施例,在向应用程序上报用户手指滑动屏幕位置的采样点的过程中,获取当前次应用层报点周期的综合报点信息,综合报点信息用于反映当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况,底层报点是指触控屏固件上报触控事件的报点,应用层报点是指底层向应用层上报的报点,之后,根据综合报点信息确定当前次应用层报点周期的目标预测点。也就是说,能够通过对当前次应用层报点周期的最后时刻之前的底层报点情况和应用层报点情况的分析,以确定所述当前次应用层报点周期的目标预测点,拓展了应用层报点的纠偏机制,减少了应用层报点的偏差,从而降低了因触控操作引起的触控屏画面的抖动。
[0166]
其中,所述装置1100还可以包括存储模块1103,用于存储电子设备的程序代码和数据。所述确定模块1102可以是处理器,所述存储模块1103可以是存储器。
[0167]
在一个可能的示例中,所述当前次应用层报点周期为第n个应用层报点周期,n为大于或者等于3的正整数;所述综合报点信息包括距离所述当前次应用层报点周期的最后时刻最近的两个历史底层报点周期的两个底层报点信息,以及包括距离所述当前次应用层报点周期的最后时刻最近的两个历史应用层报点周期的两个应用层报点信息。
[0168]
在一个可能的示例中,在所述根据所述综合报点信息确定所述当前次应用层报点周期的目标预测点方面,所述确定模块1102具体用于执行以下操作:根据所述两个底层报点信息确定第一预测点;根据所述两个应用层报点信息确定第二预测点;根据所述第一预测点和所述第二预测点确定所述目标预测点。
[0169]
在一个可能的示例中,在所述根据所述两个底层报点信息确定第一预测点方面,所述确定模块1102具体用于执行以下操作:根据所述两个底层报点信息确定第一时刻和第一参考报点,所述第一时刻为与所述当前次应用层报点周期第二近的历史底层报点周期的最后时刻,所述第一参考报点为所述第一时刻的底层报点;根据所述两个底层报点信息确定第二时刻和第二参考报点,所述第二时刻为与所述当前次应用层报点周期最近的历史底层报点周期的最后时刻,所述第二参考点为所述第二时刻的底层报点;获取第三时刻,所述第三时刻为所述当前次应用层报点周期的最后时刻;根据所述第一时刻、所述第二时刻和所述第三时刻确定第一参数;根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点。
[0170]
在一个可能的示例中,所述第一时刻、所述第二时刻、所述第三时刻和所述第一参数之间的对应关系为:a1=(t3‑
t2)/(t2‑
t1),其中,a1为所述第一参数,t1为所述第一时刻,t2为所述第二时刻,t3为所述第三时刻。
[0171]
在一个可能的示例中,在所述根据所述第一参考报点、所述第二参考报点和所述第一参数确定所述第一预测点方面,所述确定模块1102具体用于执行以下操作:根据所述第一参考报点确定第一二维坐标,所述第一二维坐标用于反映所述第一参考报点的报点位置,所述第一二维坐标为(x1,y1);根据所述第二参考报点确定第二二维坐标,所述第二二维坐标用于反映所述第二参考报点的报点位置,所述第二二维坐标为(x2,y2);根据所述第一二维坐标、所述第二二维坐标和所述第一参数确定第三二维坐标,所述第三二维坐标用于反映所述第一预测点的报点位置,所述第三二维坐标为(x3,y3);其中,x3=x2 a1*(x2‑
x1),y3=y2 a1*(y2‑
y1)。
[0172]
在一个可能的示例中,在所述根据所述两个应用层报点信息确定第二预测点方面,所述确定模块1102具体用于执行以下操作:根据所述两个应用层报点信息确定第四时刻和第三参考报点,所述第四时刻为与所述当前次应用层报点周期第二近的历史应用层报点周期的最后时刻,所述第三参考报点为所述第四时刻的应用层报点;根据所述两个应用层报点信息确定第五时刻和第四参考报点,所述第五时刻为与所述当前次应用层报点周期最近的历史底应用层周期的最后时刻,所述第四参考报点为所述第五时刻的应用层报点;根据所述第三时刻、所述第四时刻和所述第五时刻确定第二参数;根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点。
[0173]
在一个可能的示例中,所述第三时刻、所述第四时刻、所述第五时刻和所述第二参数之间的对应关系为:a2=(t3‑
t5)/(t5‑
t4),其中,a2为所述第二参数,t4为所述第四时刻,t5为所述第五时刻。
[0174]
在一个可能的示例中,在所述根据所述第三参考报点、所述第四参考报点和所述第二参数确定所述第二预测点方面,所述确定模块1102具体用于执行以下操作:根据所述第三参考报点确定第四二维坐标,所述第四二维坐标用于反映所述第三参考报点的报点位置,所述第四二维坐标为(x4,y4);根据所述第四参考报点确定第五二维坐标,所述第五二维坐标用于反映所述第四参考报点的报点位置,所述第五二维坐标为(x5,y5);根据所述第四二维坐标、所述第五二维坐标和所述第二参数确定第六二维坐标,所述第六二维坐标用于反映所述第二预测点的报点位置,所述第六二维坐标为(x6,y6);其中,x6=x5 a2*(x5‑
x4),y6=y5 a2*(y5‑
y4)。
[0175]
在一个可能的示例中,在所述根据所述第一预测点和所述第二预测点确定所述目标预测点方面,所述确定模块1102具体用于执行以下操作:获取预先设置的第三参数,所述第三参数大于0且小于1;根据所述第三二维坐标、所述第六二维坐标和所述第三参数确定第七二维坐标,所述第七二维坐标用于反映所述目标预测点的报点位置,所述第七二维坐标为(x7,y7);其中,x7=x6*a3 x3*(1

a3),y7=y6*a3 y3*(1

a3),a3为所述第三参数。
[0176]
本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面中任一项所述的触控轨迹预测方法。
[0177]
本技术实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算
机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如所述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,所述计算机包括电子装置。
[0178]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0179]
在所述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0180]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0181]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0182]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。所述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0183]
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read

only memory)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0184]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read

only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
[0185]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或模块。
[0186]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0187]
以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献