CN114860111A - 触控轨迹的更新方法、装置、电子设备及存储介质 - Google Patents
触控轨迹的更新方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114860111A CN114860111A CN202210567685.2A CN202210567685A CN114860111A CN 114860111 A CN114860111 A CN 114860111A CN 202210567685 A CN202210567685 A CN 202210567685A CN 114860111 A CN114860111 A CN 114860111A
- Authority
- CN
- China
- Prior art keywords
- touch
- predicted
- compensation value
- track
- deviation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000008569 process Effects 0.000 abstract description 18
- 230000000875 corresponding effect Effects 0.000 description 58
- 238000012360 testing method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003247 decreasing effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241001422033 Thestylus Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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/0416—Control or interface arrangements specially adapted for digitisers
-
- 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/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种触控轨迹的更新方法、装置、电子设备及存储介质,该触控轨迹的更新方法包括:在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定当前时间段的轨迹曲率;基于所述轨迹曲率,确定针对预测时长的补偿值;基于所述补偿值,对所述预测时长进行调整;基于当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点;根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。本方法可以实现在根据真实报点预测后续报点,以对触控轨迹进行更新的过程中,自适应地调整所要预测的时长,提升触控轨迹更新的准确性。
Description
技术领域
本申请涉及电子设备技术领域,更具体地,涉及一种触控轨迹的更新方法、装置、电子设备及存储介质。
背景技术
随着科技水平的快速进步,大多数电子设备设置有触摸屏,以供用户进行人机交互。用户使用电子设备时,通常存在触控屏幕时,需要对触控轨迹进行记录和显示的情况,例如,利用手写笔在触摸屏上进行触控,以记录笔记、绘画等场景。相关技术中,由于触摸屏报点的延迟导致用户观察到的屏幕显示的轨迹与当前实际的触控点不同步,一些电子设备会根据触摸屏的报点预测未来的报点,以弥补延迟。但是,电子设备通过预测未来的报点进行轨迹更新的准确性有待提升。
发明内容
本申请提出了一种触控轨迹的更新方法、装置、电子设备及存储介质,可以在根据真实报点预测后续报点,以对触控轨迹进行更新的过程中,自适应地调整所要预测的时长,最大程度降低轨迹更新延迟的同时,提升触控轨迹更新的准确性。
第一方面,本申请实施例提供了一种触控轨迹的更新方法,应用于电子设备,所述方法包括:在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率;基于所述轨迹曲率,确定针对预测时长的补偿值;基于所述补偿值,对所述预测时长进行调整;基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点;根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。
第二方面,本申请实施例提供了一种触控轨迹的更新装置,所述装置包括:曲率确定模块、补偿确定模块、时长调整模块、轨迹预测模块以及轨迹更新模块,其中,所述曲率确定模块用于在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率;所述补偿确定模块用于基于所述轨迹曲率,确定针对预测时长的补偿值;所述时长调整模块用于基于所述补偿值,对所述预测时长进行调整;所述轨迹预测模块用于基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点;所述轨迹更新模块用于根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述第一方面提供的触控轨迹的更新方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的触控轨迹的更新方法。
本申请提供的方案,通过在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定当前时间段的轨迹曲率,基于轨迹曲率,确定针对预测时长的补偿值,基于补偿值,对预测时长进行调整,然后基于当前时间段已上报的触控点,预测第一触控事件对应的触控时间之后的预测时长内的触控点,根据第一触控事件中的触控点以及预测时长内的触控点,对触控轨迹进行更新。由此,可以实现在根据上报的触控点预测后续的触控点,以对触控轨迹进行更新的过程中,根据当前的轨迹曲率对预测时长进行调整,从而使得需要预测的时长能够适应当前实际的触控情况,最大程度降低轨迹更新延迟的同时,提升触控点预测的准确性,进而提升轨迹更新的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请一个实施例的触控轨迹的更新方法流程图。
图2示出了本申请实施例提供的一种场景示意图。
图3示出了本申请实施例提供的另一种场景示意图。
图4示出了根据本申请另一个实施例的触控轨迹的更新方法流程图。
图5示出了根据本申请又一个实施例的触控轨迹的更新方法流程图。
图6示出了根据本申请再一个实施例的触控轨迹的更新方法流程图。
图7示出了根据本申请又另一个实施例的触控轨迹的更新方法流程图。
图8示出了根据本申请一个实施例的触控轨迹的更新装置的一种框图。
图9是本申请实施例的用于执行根据本申请实施例的触控轨迹的更新方法的电子设备的框图。
图10是本申请实施例的用于保存或者携带实现根据本申请实施例的触控轨迹的更新方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
目前的电子设备通常设置有触摸屏,用户通过触摸屏可以实现电子设备上的人机交互。在一些场景中,用户通过触摸屏进行输入时,存在需要记录和显示其触控轨迹的情况,例如,通过手写笔进行绘画涂鸦、会议记录等。但由于触摸屏报点的传输及软件渲染绘制均存在延迟,使得记录触控轨迹的过程中屏幕显示的轨迹往往与当前实际的触控点不同步,即显示的轨迹与当前实际的触控位置会有一定的距离。这样的话,就会导致用户触控屏幕时的跟手性不好,使用户感觉到输入时的卡顿。
相关技术中,针对屏幕显示的轨迹与当前实际的触控点不同步的问题时,电子设备会基于已经接收到的报点,对未来的报点进行预测,并根据当前接收的报点以及未来的报点对触控轨迹进行更新,从而使得实际记录的触控轨迹能够超前于实际的报点所形成的轨迹,进而弥补延迟。但是,这样的技术方案中,往往只是对于直线以及曲率比较小的曲线的预测效果较好,而用户实际输入时的触控轨迹存在多变性,因此,电子设备通过预测未来的报点进行轨迹更新的准确性有待提升。
针对上述问题,发明人提出了本申请实施例提供的触控轨迹的更新方法、装置、电子设备以及存储介质,可以实现在根据上报的触控点预测后续的触控点,以对触控轨迹进行更新的过程中,根据当前的轨迹曲率对预测时长进行调整,从而使得需要预测的时长能够适应当前实际的触控情况,最大程度降低轨迹更新延迟的同时,提升触控点预测的准确性,进而提升轨迹更新的准确性。其中,具体的触控轨迹的更新方法在后续的实施例中进行详细的说明。
下面再结合附图对本申请实施例提供的触控轨迹的更新方法进行详细介绍。
请参阅图1,图1示出了本申请一个实施例提供的触控轨迹的更新方法的流程示意图。在具体的实施例中,所述触控轨迹的更新方法应用于如图8所示的触控轨迹的更新装置400以及配置有所述触控轨迹的更新装置400的电子设备100(图9)。下面将以电子设备为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以为智能手机、平板电脑、电子书、笔记本电脑等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述触控轨迹的更新方法具体可以包括以下步骤:
步骤S110:在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率。
其中,电子设备更新触控轨迹,可以是用户利用手写笔于移动终端的触摸屏进行输入时需要记录和显示触控轨迹的场景,例如利用手写笔进行涂鸦绘制、会议记录记录等;当然,也可以是利用手指于移动终端的触摸屏进行输入时需要记录和显示触控轨迹的场景,具体的输入方式和场景可以不做限定。其中,电子设备在记录和展示触控轨迹的过程中,可以根据每一次触摸屏上报的触控事件,根据触控事件中上报的触控点(即报点数据),对记录和显示的触控轨迹进行更新。
在一些实施方式中,电子设备在显示触控轨迹的过程中,可以在开始渲染每帧图像时,确定是否接收到触摸屏上报的触控事件(即应用层是否接收到触摸屏上报的触控事件),若接收到触摸屏上报的触控事件,则可以将该触控事件中上报的触控点作为一帧的触控点,并依据该一帧的触控点对触控轨迹进行更新,并通过渲染显示出更新后的轨迹。另外,电子设备在根据每次上报的触控事件中的触控点,对触控轨迹进行更新时,可以依据接收到触控事件时的当前时间段上报的触控点,预测最后一个触控点对应的时刻之后的预测时长内的触控点,进而可以根据本次上报的触控事件中的触控点以及预测的触控点,对记录和显示的触控轨迹进行更新,使得记录和显示的触控轨迹能够超前于实际的报点所形成的轨迹,进而弥补触摸屏报点和渲染的延迟。其中,接收到触控事件时的当前时间段可以是,本次接收到触控事件时距离前K次接收到触控事件时的时间段,其中,K为整数,例如,K可以为1,此时,当前时间段包括本次接收到触控事件之前的前1次接收到触控事件时,至本次接收到触控事件时的时间段,该情况下,当前时间段上报的触控点包括:前1次接收到的触控事件以及本次接收到的触控事件中包括的触控点。
在本申请实施例中,由于电子设备预测触摸点时,其准确性受到实际触控的轨迹的曲率的影响,因此,电子设备在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定当前的轨迹曲率,以便为当前按照不同的预测时长进行触摸点的预测时的预测效果的评价提供依据,进而可以对触摸点的预测时的预测时长进行控制。其中,当前时间段可以是接收到第一触控事件时距离前K次接收到触控事件时的时间段,K为整数,例如,K可以为1,当前时间段上报的触控点包括:本次接收到的第一触控事件中包括的触控点以及第一触控事件之前的前1次上报的触控事件中的触控点;又例如,K也可以为0,此时,当前时间段包括接收到第一触控事件之前的前1次上报的触控事件之后的时刻,至接收到第一触控事件时的时刻的时间段,该情况下,当前时间段上报的触控点包括:第一触控事件中的触控点。在一些实施方式中,当前时间段的轨迹曲率可以为当前时间段内的实际的触控轨迹的曲率,即当前时间段内实际上报的触控点所反映的触控轨迹的曲率。可选地,上述当前时间段的时长可以小于第一预设时长,例如,可以小于4帧的显示时长,具体为1帧、2帧、3帧的显示时长等,可以理解地,由于已上报的触控点可以反映出用户实际的触控轨迹的曲率,并且距离当前时刻最近的一段时间内的触控轨迹的曲率能够反映出用户当前进行触控时的轨迹曲率,因此,电子设备确定该当前的轨迹曲率,能够为当前按照不同的预测时长进行触摸点的预测时的预测效果的评价提供依据。
在一种可能的实施方式中,电子设备可以基于当前时刻之前已上报的触控点,确定距离当前时间段内的触控点,并基于该当前时间段内的触控点确定触控轨迹的曲率,作为当前的轨迹曲率。可选地,电子设备可以对当前时间段内的触控点进行拟合,并根据拟合得到的曲线,确定曲线的曲率,作为当前时间段的轨迹曲率。
在另一些实施方式中,当前时间段的轨迹曲率也可以为当前时间段内已上报的触控点所构成的实际触控轨迹中末尾的预设长度的轨迹的曲率。可以理解地,由于已上报的触控点可以反映出用户实际的触控轨迹,并且该实际触控轨迹中末尾的预设长度的轨迹的曲率能够预测出用户当前进行触控时的轨迹曲率,因此,电子设备确定该当前的轨迹曲率,能够为当前根据不同预测时长进行触摸点的预测时的预测效果的评价提供依据。
在一种可能的实施方式中,电子设备可以基于当前时间段已上报的触控点,根据当前时间段已上报的所有触控点中每个触控点对应的触控时间,按照时间从早到晚的顺序,对所有触控点进行排序;获取排序结果中末尾的N个触控点,该N为正整数;该N个触控点可以反映当前时间段之前实际的触控轨迹中末尾的预设长度的轨迹,因此基于N个触控点确定触控轨迹的曲率,作为当前的轨迹曲率。例如,N可以为3,也就是说,电子设备可以从当前时间段已上报的触控点中获取最近上报的3个触控点,该情况下,基于该3个触控点,可以拟合曲线并求得曲线的曲率,作为当前的轨迹曲率;当然,由于曲线上的轨迹点的夹角与曲率相关,因此,也可以获取该3个触控点的夹角,以此来表示曲率。
在一些实施方式中,电子设备记录和显示触控轨迹的过程中,在开始更新触控轨迹时,可能已经接收到的上报的触控点数量小于预设数量(例如为3等),此时,利用上报的触控点数量预测未上报的预测时长内的触控点则可能存在准确性问题,因此电子设备可以在已经接收到的上报的触控点数量大于或等于预设数量的情况下,才开始在更新触控轨迹时进行触控点的预测。例如,在第一次接收到上报的触控事件时,触控事件中的触控点的数量小于预设数量,则该情况下,可以不进行触控点的预测,只针对本次上报的触控事件中的触控点进行触控轨迹的更新。
步骤S120:基于所述轨迹曲率,确定针对预测时长的补偿值。
在本申请实施例中,预测时长为电子设备预测触控点时,需要在当前上报的触控事件对应的时间的基础上所预测的时长,也就是说,电子设备需要预测在当前上报的触控事件对应的时间之后的该预测时长内的触控点。电子设备获取到当前的轨迹曲率后,则可以基于该轨迹曲率,确定用于调整该预测时长的补偿值,也就是说,补偿值用于在当前所使用的预测时长的基础上,针对该预测时长进行调整。
在一些实施方式中,由于电子设备预测触控点时,若用户的触控轨迹为直线(此时曲率为0),则预测的触控点通常是准确的,而用户的触控轨迹为曲线时的,则预测的触控点会存在不准确,并且准确度与曲线的曲率呈负相关。因此,电子设备可以确定轨迹曲率对应的补偿值,该补偿值可以为负值,且补偿值的数值大小与轨迹曲率呈负相关,并且轨迹曲率为0时,则补偿值的绝对值小于预设数值,例如可以为0。也就是说,当前的触控轨迹为直线时,对预测时长产生的影响较小,而触控轨迹的曲率大于0时,则补偿值为负值,此时预测时长需要减小,并且轨迹曲率越大,则补偿值越小,即预测时长的减小程度越大。
在一种可能的实施方式中,可以通过预先测试,测试出轨迹曲率与上述补偿值的对应关系,且该对应关系能够在触控轨迹的曲率不同时,保证电子设备基于调整后的预测时长预测触控点时的准确性。可选地,预先测试得到的对应关系用于对轨迹曲率进行标准化,使标准化后的值处于第一预设范围,标准化后的值即为补偿值,例如,该第一预设范围可以是[1-e,0]。
步骤S130:基于所述补偿值,对所述预测时长进行调整。
在本申请实施例中,电子设备确定出补偿值后,则可以基于该补偿值,对预测时长进行调整。其中,可以获取当前的预测时长与补偿值的和值,并将该和值作为调整后的预测时长。可以理解地,上述补偿值的正或负,反映了对预测时长进行增大或减小,并且补偿值的绝对值反映了对预测时长进行调整的调整幅度,因此获取预测时长与补偿值的和值,并将和值作为调整后的预测时长,即可实现对预测时长的调整。其中,当前的预测时长可以为根据前一次上报的触控事件更新触控轨迹时所采用的预测时长,可以理解地,由于两次的触控事件之间,用户的滑动速度以及曲率变化不会特别的大,因此可以根据上述补偿值在前一次的预测时长的基础上进行调整。
步骤S140:基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点。
在本申请实施例中,电子设备在基于当前的轨迹曲率所确定的补偿值,对预测时长进行调整后,则可以进行触控点的预测。其中,电子设备可以基于当前时间段已上报的触控点,预测第一触控事件对应的时间之后的预测时长内的触控点。其中,第一触控事件对应的时间可以是第一触控事件中的最后一个报点所对应的时间,也就是说,电子设备基于当前时间段已上报的触控点,预测该最后一个报点所对应的时间之后的预测时长内的触控点。可以理解地,触摸屏上报的触控事件中可以包括各个触控点的坐标和触控点的绝对时间,绝对时间指代国际上通用的世界时间,或称格林尼治时间,触控点对应的时间可以反映出各个触控点的在触控过程中的顺序,由于需要在当前上报的触控事件中的触控点所能反映的触控轨迹的基础上,往后预测触控轨迹,因此可以预测该最后一个报点的时间之后的预测时长内的触控点。
在一些实施方式中,电子设备预测上述预测时长内的触控点,可以是基于预先训练的预测模型,将当时间段已上报的触控点(即需要预测的时间之前的实际触控点)以及需要预测的时间输入至预测模型,需要预测的时间即为第一触控事件对应的时间之后的预测时长所对应的时间段,从而得到该预测时长内的触控点。
在一种可能的实施方式中,移动终端可采用机器学习的方式构建初始预测模型,利用历史触控轨迹数据集训练得到上述预测模型。历史触控轨迹数据集中可包括多个历史触控轨迹样本,其中,每个历史触控轨迹样本指的是检测到按下到抬起的滑动操作过程中的触控轨迹。每个历史触控轨迹样本包括触控轨迹上的多个样本触控点信息,可选地,每个样本触控点信息可包括触控点的坐标、触控时间等信息。
当然,电子设备预测触控点的具体方式在本申请实施例中可以不做限定;电子设备预测触控点时所依据的已上报的触控点除了包括当前时间段已上报的触控点以外,还可以包括处于当前时间段之前,且与当前时间段邻近的时长内上报的触控点,以提升预测触控点的预测准确性。
步骤S150:根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。
在本申请实施例中,电子设备获取到第一触控事件对应的时间之后的预测时长内的触控点后,则可以根据第一触控事件中的触控点以及该预测时长内的触控点,对触控轨迹进行更新,也就是说,在已记录和显示的触控轨迹的基础上进行更新。具体地,可以根据第一触控事件中的触控点以及该预测时长内的触控点,生成新的轨迹段,并将轨迹段增加于当前已显示的触控轨迹中,由此实现对触控轨迹的更新。
示例性地,请同时参阅图2及图3,在通过手写笔于屏幕进行绘制的场景中,若当前时间段为前一次接收到触控事件后至接收到第一触控事件时的时刻的时间段,即当前时间段内上报的触控点仅包括第一触控事件中的触控点,则当前时间段的轨迹曲率为图2和图3中所示的“绘制位置”至“报点”之间的轨迹的曲率,且“绘制位置”至“报点”之间的轨迹还未被更新至绘制的轨迹中。可以看出,图2所示场景中当前时间段的轨迹曲率小于图3所示场景中当前时间段的轨迹曲率,通过本申请实施例提供的触控轨迹的更新方法,可以使得图2所示场景的预测时长大于图3所示场景的预测时长,使得图2所示场景的预测距离大于图3所示场景的预测距离,该预测距离即图2和图3中从“报点”位置至“预测点”位置之间的距离,进行轨迹更新时,则将从“绘制位置”至“预测点”的轨迹更新于当前的轨迹中,从而实现绘制曲率相对较小的轨迹时,预测相对较长的轨迹段,而绘制曲率相对较大的轨迹时,预测相对较短的轨迹段,进而能够适应不同的绘制情况,提升轨迹绘制的准确性。其中,图2和图3中的“报点”指的是第一触控事件中上报的触控点,图2和图3中的“预测点”指的是预测的触控点。
本申请实施例提供的触控轨迹的更新方法,可以实现在根据上报的触控点预测后续的触控点,以对触控轨迹进行更新的过程中,根据当前的轨迹曲率对预测时长进行调整,从而使得需要预测的时长能够适应当前实际的触控情况,最大程度降低轨迹更新延迟的同时,提升触控点预测的准确性,进而提升轨迹更新的准确性。
请参阅图4,图4示出了本申请另一个实施例提供的触控轨迹的更新方法的流程示意图。该触控轨迹的更新方法应用于上述电子设备,下面将针对图4所示的流程进行详细的阐述,所述触控轨迹的更新方法具体可以包括以下步骤:
步骤S210:在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率。
在本申请实施例中,步骤S210可以参阅前述实施例的内容,在此不再赘述。
步骤S220:基于所述第一触控事件中的触控点,获取当前的预测偏差。
在本申请实施例中,电子设备在确定补偿值时,除了获取当前的轨迹曲率以外,还可以获取当前的预测偏差,以根据预测偏差以及轨迹曲率,确定补偿值,由于补偿值还参考当前的预测偏差,进而能够提升调整预测时长的准确性。其中,预测偏差用于表征第一触控事件中的指定触控点与指定触控点对应的触控时刻时的预测触控点之间的差异,其可以反映出根据当前的第一触控事件更新触控轨迹时进行触控点的预测的偏差。
在一些实施方式中,由于当前并未获取到上报的第一触控事件对应的时间之后的触控点,因此在获取当前的预测偏差时,可以利用第一触控事件中的触控点作为已知的实际触控点,并预测该实际触控点所对应的触控时刻的触控点,然后基于实际触控点以及预测的触控点,确定出当前的预测偏差。
在一种可能的实施方式中,电子设备可以获取第一触控事件中的指定触控点作为第一触控点;基于已上报的触控事件中至少部分触控点,预测第一触控点对应的触控时刻时的触控点,作为第二触控点,该至少部分触控点的触控时间位于第一触控点的触控时间之前;基于第一触控点以及第二触控点,获取当前的预测偏差。其中,已上报的触控事件包括第一触控事件以及触控时间位于第一触控事件的触控时间之前的触控事件;上述至少部分触控点的触控时间可以与第一触控点的触控时间相邻,至少部分触控点的数量与电子设备预测触控点所采用的预测算法对应,也就是说,若预测算法需要目标数量的触控点,预测第一触控点对应的触控时刻时的触控点,则上述至少部分触控点的数量可以为目标数量。指定触控点可以为第一触控事件中的任一触控点;指定触控点也可以为第一触控事件中末尾的M个触控点中的任一触控点,例如,可以是第一触控事件中的最后一个触控点,可以理解地,获取第一触控事件中触控时间相对靠后的触控点作为指定触控点,能够比较准确地反映出当前的触控情况,进而将该指定触控点作为真实触控点,以预估当前的预测偏差,更能准确地反映本次更新轨迹时的预测偏差。
可选地,电子设备基于第一触控点(即实际触控点)以及第二触控点(预测的触控点),确定当前的预测偏差,可以是获取第一触控点与第二触控点在位置上的偏差,例如距离偏差等。电子设备确定的预测偏差的类型以及确定方式可以不做限定,确定的预测偏差能够反映根据第一触控事件进行轨迹更新时预测触控点的偏差即可。
步骤S230:基于所述预测偏差以及所述轨迹曲率,确定针对预测时长的补偿值。
在本申请实施例中,电子设备确定出上述预测偏差以及轨迹曲率后,则可以基于预测偏差以及轨迹曲率,确定用于调整该预测时长的补偿值。
在一些实施方式中,电子设备基于所述预测偏差以及所述轨迹曲率,确定针对预测时长的补偿值,可以包括:获取所述预测偏差对应的第一补偿值,所述第一补偿值与所述预测偏差呈负相关;获取所述轨迹曲率对应的第二补偿值,所述第二补偿值与所述轨迹曲率呈负相关;基于所述第一补偿值以及所述第二补偿值确定针对预测时长的补偿值。
在该实施方式中,由于上述预测偏差越大,则表示本次根据第一触控事件中的触控点更新触控轨迹时,对轨迹点进行预测的准确性越低,因此,电子设备可以预测偏差对应的补偿值作为第一补偿值,且第一补偿值的数值大小与预测偏差呈负相关,也就是说,预测偏差越大,则第一补偿值越小;同样地,轨迹曲率越大,则预测触控点的准确性越低,因此第二补偿值与轨迹曲率也呈负相关。
其中,第一补偿值以及第二补偿值均可理解为用于对预测时长进行调整的调整值,第一补偿值与预测偏差之间的对应关系,以及第二补偿值与轨迹曲率的对应关系,可以通过预先测试得到,且该对应关系能够在不同的触控轨迹、滑动速度、加速度的情况下,保证电子设备基于调整后的预测时长预测触控点时的准确性。电子设备基于第一补偿值以及第二补偿值确定补偿值时,可以获取第一补偿值与第二补偿值的和值,从而得到用于调整预测时长的补偿值。
步骤S240:基于所述补偿值,对所述预测时长进行调整。
步骤S250:基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点。
步骤S260:根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。
在本申请实施例中,步骤S240至步骤S260可以参阅其他实施例的内容,在此不再赘述。
本申请实施例提供的触控轨迹的更新方法,可以实现在根据上报的触控点预测后续的触控点,以对触控轨迹进行更新的过程中,根据当前的轨迹曲率以及当前的预测偏差对预测时长进行调整,使得调整的预测时长能够更为适应用户的绘制速度、曲率和加速度等的变化,从而提升触控点预测的准确性,进而提升轨迹更新的准确性。
请参阅图5,图5示出了本申请又一个实施例提供的触控轨迹的更新方法的流程示意图。该触控轨迹的更新方法应用于上述电子设备,下面将针对图5所示的流程进行详细的阐述,所述触控轨迹的更新方法具体可以包括以下步骤:
步骤S301:在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率。
步骤S302:获取所述第一触控事件中的指定触控点作为第一触控点。
步骤S303:基于已上报的触控事件中的至少部分触控点,预测所述第一触控点对应的触控时刻时的触控点,作为第二触控点,所述至少部分触控点的触控时间位于所述第一触控点的触控时间之前。
在本申请实施例中,步骤S301至步骤S302可以参阅前述实施例的内容,在此不再赘述。
步骤S304:获取第二触控事件中的最后一个触控点,作为第三触控点,所述第二触控事件为所述第一触控事件之前的前一次上报的触控事件。
在本申请实施例中,电子设备基于第一触控点以及第二触控点,确定当前的预测偏差时,可以参考第一触控事件之前的前一次上报的第二触控事件中的触控点,确定预测偏差。其中,电子设备可以获取第二触控事件中的最后一个触控点,并将其作为第三触控点。
步骤S305:获取所述第三触控点与所述第一触控点的连线作为第一连线,以及所述第三触控点与所述第二触控点的连线作为第二连线。
步骤S306:基于所述第一连线以及所述第二连线,确定预测偏差。
在本申请实施例中,电子设备参考第一触控事件之前的前一次上报的第二触控事件中的触控点,确定预测偏差时,可以获取上述第一连线以及第二连线,以比较第一连线与第二连线,从而确定出预测偏差。其中,基于第一连线以及第二连线所确定的预测偏差可以包括预测角度偏差、预测轨迹偏差以及预测长度偏差中的一种或多种,具体的偏差类型可以不做限定。
其中,预测角度偏差的获取方式可以包括:获取第一连线与第二连线之间的夹角,并将该夹角作为预测角度偏差。可以理解地,第一连线为本次的触控事件中实际产生的真实触控点与前一次的触控事件中实际产生的真实触控点之间的连线,而第二连线为预测的触控点与前一次的触控事件中实际产生的真实触控点之间的连线,因此,第一连线与第二连线之间的夹角能够反映预测的触控点偏离真实触控点的情况,故可以获取该夹角作为预测角度偏差。
预测轨迹偏差的获取方式可以包括:获取所述第二触控点相距所述第一连线的最短距离,即获取第二触控点在第一连线上的投影距离,作为所述预测轨迹偏差。可以理解地,第一连线为本次的触控事件中实际产生的真实触控点与前一次的触控事件中实际产生的真实触控点之间的连线,而第二连线为预测的触控点与前一次的触控事件中实际产生的真实触控点之间的连线,因此第二连线上的第二触控点相距第一连线的最短距离能够反映预测的触控点偏离真实触控点的情况,故可以获取该最短距离作为预测轨迹偏差。
预测长度偏差的获取方式可以包括:基于所述第二连线的长度与所述第一连线的长度的差异,确定所述预测长度偏差。可以理解地,第一连线为本次的触控事件中实际产生的真实触控点与前一次的触控事件中实际产生的真实触控点之间的连线,而第二连线为预测的触控点与前一次的触控事件中实际产生的真实触控点之间的连线,因此第二连线的长度与第一连线的长度的差异也可以反映预测的触控点偏离真实触控点的情况,故可以基于第二连线的长度与第一连线的长度的差异,确定预测长度偏差,例如,可以获取第二连线的长度与第一连线的长度的差值,并将其作为预测长度偏差。
可以理解地,通过上述方式,可以实现从不同维度确定当前的预测偏差,以提升对预测时长进行调整的准确性。
步骤S307:基于所述预测偏差以及所述轨迹曲率,确定针对预测时长的补偿值。
在本申请实施例中,电子设备基于预测偏差以及轨迹曲率,确定针对预测时长的补偿值时,则可以确定预测偏差对应的补偿值(即预测偏差所对应的对预测时长进行调整的调整值),以及轨迹曲率对应的补偿值,并获取补偿值的和值,得到用于调整预测时长的补偿值。
在一些实施方式中,上述预测偏差包括预测角度偏差时,则可以基于预先测试得到的预测角度偏差与补偿值之间的对应关系,确定预测角度偏差对应的补偿值。该对应关系用于对预测角度偏差进行标准化,使标准化后的值处于第二预设范围,且能够保证标准化后的值与预测角度偏差呈负相关,以及标准化后的值小于0,该标准化后的值即为补偿值。例如,该预设范围可以是[-1,0]。也就是说,第一连线与第二连线之间的夹角大于0,则基于预测角度偏差对预测时长调整时,需要减小预测时长,因此预测角度偏差所对应的补偿值为负值,并且预测角度偏差越大,则预测时长需要减小的程度越大。
上述预测偏差包括预测轨迹偏差时,同样可以基于预先测试得到的预测轨迹偏差与补偿值之间的对应关系,确定预测轨迹偏差对应的补偿值。该对应关系用于对预测轨迹偏差进行标准化,使标准化后的值处于第三预设范围,且能够保证标准化后的值与预测轨迹偏差呈负相关,该标准化后的值即为补偿值。例如,预测轨迹偏差小于预设距离阈值时,预测轨迹偏差对应的补偿值大于0,且预测轨迹偏差越大,则对应的补偿值越小,也就是说,预测轨迹偏差小于预设距离阈值时,表示轨迹偏差可以接受,此时可以适当地增大预测时长(即补偿值大于0),而随着预测轨迹偏差增大,则补偿值减小,即增大预测时长的幅度减小,直至补偿值减小为0;预测轨迹偏差大于或等于预设距离阈值时,则预测轨迹偏差对应的补偿值小于0,且预测轨迹偏差越大,则对应的补偿值越小,也就是说,预测轨迹偏差大于或等于预设距离阈值时,表示轨迹偏差不能接受,此时可以适当地减小预测时长(即补偿值小于0),并且随着预测轨迹偏差增大,则补偿值减小,即减小预测时长的幅度增大。
上述预测偏差包括预测长度偏差时,同样可以基于预先测试得到的预测长度偏差与补偿值之间的对应关系,确定预测长度偏差对应的补偿值。该对应关系用于对预测长度偏差进行标准化,使标准化后的值小于0,且能够保证标准化后的值与预测长度偏差呈负相关。也就是说,第二连线的长度与第一连线的长度存在差异时,则基于预测长度偏差对预测时长调整时,需要减小预测时长,因此预测长度偏差所对应的补偿值为负值,并且预测长度偏差越大,则预测时长需要减小的程度越大。
当然,可以理解的是,预测偏差包括上述预测角度偏差、预测轨迹偏差以及预测长度偏差时,则可以将当前的轨迹曲率、预测角度偏差、预测轨迹偏差以及预测长度偏差作为不同的影响因子,并确定各个影响因子对应的补偿值,进而确定出用于对预测时长进行调整的补偿值。
步骤S308:基于所述补偿值,对所述预测时长进行调整。
步骤S309:基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点。
步骤S310:根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。
在本申请实施例中,步骤S308至步骤S310可以参阅其他实施例的内容,在此不再赘述。
本申请实施例提供的触控轨迹的更新方法,可以实现在根据上报的触控点预测后续的触控点,以对触控轨迹进行更新的过程中,确定当前的轨迹曲率的同时,根据本次的触控事件中实际产生的真实触控点与前一次的触控事件中实际产生的真实触控点之间的连线,以及预测的触控点与前一次的触控事件中实际产生的真实触控点之间的连线,确定预测偏差,并综合当前的轨迹曲率以及当前的预测偏差对预测时长进行调整,使得调整的预测时长能够更为适应用户的绘制速度、曲率和加速度等的变化,从而提升触控点预测的准确性,进而提升轨迹更新的准确性。
请参阅图6,图6示出了本申请再一个实施例提供的触控轨迹的更新方法的流程示意图。该触控轨迹的更新方法应用于上述电子设备,下面将针对图6所示的流程进行详细的阐述,所述触控轨迹的更新方法具体可以包括以下步骤:
步骤S410:在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率。
步骤S420:基于所述轨迹曲率,确定针对预测时长的补偿值。
在本申请实施例中,步骤S410以及步骤S420可以参阅前述实施例的内容,在此不再赘述。
步骤S430:基于所述补偿值,对当前累计的累计补偿值进行更新。
步骤S440:判断更新后的所述累计补偿值是否大于第一时长阈值。
若所述累计补偿值大于第一时长阈值,执行步骤S450:基于更新后的所述累计补偿值对所述预测时长进行调整。
步骤S460:将所述累计补偿值清零。
步骤S470:基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点。
步骤S480:根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。
若更新后的所述累计补偿值小于或等于第一时长阈值,执行上述步骤S470以及步骤S480。
考虑到每次接收到上报的触控事件,对触控轨迹进行更新时,若每次对预测时长进行调整,则会使得每次预测的轨迹长度不一致,从而出现相邻两帧图像中轨迹更新距离相差较大,进而出现画面闪烁的情况。因此,在本申请实施例中,电子设备根据每次上报的触控事件更新触控轨迹时,均可以确定补偿值,并且将每次确定的补偿值累计到当前累计的累计补偿值中,以在累计补偿值达到目标程度时,才对预测时长进行调整。也就是说,在根据当前上报的第一触控事件更新触控轨迹时,可以在确定出上述补偿值后,获取上述补偿值与当前累计的累计补偿值的和值,以实现对累计补偿值的更新。
电子设备每次对累计补偿值进行更新后,可以将更新后的累计补偿值与第一时长阈值进行比较,以确定该累计补偿值的绝对值是否大于第一时长阈值;若确定出累计补偿值的绝对值小于或等于第一时长阈值,则表示累计补偿值未累计到目标程度,因此可以不对预测时长进行更新,即根据当前的预测时长(即前一次预测触控点时采用的与测试时长)对触控点进行预测,再根据本次上报的触控事件中的触控点以及预测的触控点,对触控轨迹进行更新;若确定出累计补偿值的绝对值大于第一时长阈值,则表示累计补偿值已经累计到一定程度,需要对预测时长进行调整,因此可以基于累计补偿值对预测时长进行调整,具体地,可以获取当前的预测时长与累计补偿值的和值,实现对预测时长的调整,然后基于调整后的预测时长对触控点进行预测,再根据本次上报的触控事件中的触控点以及预测的触控点,对触控轨迹进行更新。由此,可以在更新触控轨迹的过程中,实现匀速预测,减少画面闪烁情况的发生。
另外,在确定出累计补偿值的绝对值大于第一时长阈值的情况下,根据累计补偿值对预测时长进行调整后,则可以将累计补偿值清零,然后继续根据每次确定的补偿值对累计补偿值进行更新,并在下一次累计补偿值的绝对值大于第一时长阈值时,对预测时长进行调整,如此重复,直至结束触控轨迹的更新。
在一些实施方式中,为避免调整后的预测时长过大,而使得预测触控点时的准确性受到影响,在根据累计补偿值对预测时长进行更新时,还可以确定累计补偿值是否大于第二时长阈值与预测时长的差值,该第二时长阈值可以为预测时长的最大值;若累计补偿值大于该差值,则表示基于累计补偿值对预测时长调整后,调整后的预测时长会大于第二时长阈值,因此,该情况下,可以将预测时长进行调整为该第二时长阈值;若累计补偿值不大于第二时长阈值与预测时长的差值,则可以基于累计补偿值对预测时长进行调整。
在一些实施方式中,当前累计的累计补偿值也可以是前T次根据上报的触控事件进行触控轨迹的更新时所确定出的补偿值的和值,该T为整数,电子设备对当前累计的累计补偿值进行更新,可以是获取本次确定的补偿值与该累计补偿值的和值,进而得到更新后的累计补偿值;然后判断更新后的累计补偿值的绝对值是否大于第一时长阈值;若更新后的累计补偿值大于第一时长阈值,则于所述累计补偿值对所述预测时长进行调整,然后执行上述步骤S470至步骤S480;若更新后的累计补偿值小于或等于第一时长阈值,则直接执行步骤S470至步骤S480。也就是说,电子设备在每次接收到触控事件,并确定出补偿值之后,可以获取确定出的补偿值与近T次确定出的补偿值的和值,作为更新后的累计补偿值,并在累计补偿值大于第一时长阈值的情况下,才对预测时长进行调整。需要说明的是,该方式中,则不需要对累计补偿值进行清零的操作。
本申请实施例提供的触控轨迹的更新方法,为避免画面闪烁的情况,对每次确定的补偿值进行累计,在累计的补偿值大于第一时长阈值的情况下,才对预测时长进行调整,从而不仅可以使得需要预测的时长能够适应当前实际的触控情况,提升触控点预测的准确性,还能实现匀速预测,减少画面闪烁情况的发生。
请参阅图7,图7示出了本申请又另一个实施例提供的触控轨迹的更新方法的流程示意图。该触控轨迹的更新方法应用于上述电子设备,下面将针对图7所示的流程进行详细的阐述,所述触控轨迹的更新方法具体可以包括以下步骤:
步骤S510:在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率。
步骤S520:基于所述轨迹曲率,确定针对预测时长的补偿值。
步骤S530:基于所述补偿值,对所述预测时长进行调整。
步骤S540:基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点。
在本申请实施例中,步骤S510至步骤S540可以参阅前述实施例的内容,在此不再赘述。
步骤S550:若所述预测时长内的触控点在所述触控轨迹的延伸方向上滞后于前一次预测的触控点,则基于所述前一次预测的触控点,对所述预测时长内的触控点进行校正。
在本申请实施例中,考虑到根据前一次预测触控点所采用的预测时长可能过长,而本次调整后的预测时长过短,会出现本次预测的预测时长内的触控点,在触控轨迹的延伸方向上滞后于前一次预测的触控点,该情况下,则需要对本次预测的触控点进行校正。其中,电子设备可以基于前一次预测的触控点,对预测时长内的触控点进行校正。
在一些实施方式中,电子设备可以获取第一触控事件中的最后一个触控点与上述预测时长内的触控点中的第一目标触控点之间的连线,作为第三连线;获取第一触控事件中的最后一个触控点与前一次预测的触控点中的第二目标触控点之间的连线,作为第四连线,其中,该第一目标触控点在触控轨迹的延伸方向上滞后于第二目标触控点;获取第三连线与第四连线的夹角,并根据夹角确定角平分线;获取目标触控点在竖直方向上所在的直线,并获取该直线与上述角平分线的交点,并将该交点作为校正后的预测的触控点,从而实现对预测的预测时长内的触控点的校正。
步骤S560:将所述第一触控事件中的触控点,以及校正后的所述预测时长内的触控点更新于所述触控轨迹中。
在本申请实施例中,在对预测的预测时长内的触控点进行校正后,则可以根据第一触控事件中的触控点以及校正后的预测时长内的触控点,生成新的轨迹段,并将轨迹段增加于当前已显示的触控轨迹中,由此实现对触控轨迹的更新。
本申请实施例提供的触控轨迹的更新方法,可以实现在根据上报的触控点预测后续的触控点,以对触控轨迹进行更新的过程中,根据当前的轨迹曲率对预测时长进行调整,从而使得需要预测的时长能够适应当前实际的触控情况,提升触控点预测的准确性,进而提升轨迹更新的准确性;另外,根据上报的触控点以及预测的触控点对触控轨迹进行更新时,针对预测的触控点出现滞后的情况下,还对预测的触控点进行校正,从而进一步提升了触控点预测的准确性。
请参阅图8,其示出了本申请实施例提供的一种触控轨迹的更新装置400的结构框图。该触控轨迹的更新装置400应用上述的电子设备,该触控轨迹的更新装置400包括:曲率确定模块410、补偿确定模块420、时长调整模块430、轨迹预测模块440以及轨迹更新模块450。其中,所述曲率确定模块410用于在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率;所述补偿确定模块420用于基于所述轨迹曲率,确定针对预测时长的补偿值;所述时长调整模块430用于基于所述补偿值,对所述预测时长进行调整;所述轨迹预测模块440用于基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点;所述轨迹更新模块450用于根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。
在一些实施方式中,该触控轨迹的更新装置400还可以包括偏差获取模块。偏差获取模块用于在所述基于所述轨迹曲率,确定针对预测时长的补偿值之前,基于所述第一触控事件中的触控点,获取当前的预测偏差,所述预测偏差用于表征所述第一触控事件中的指定触控点与所述指定触控点对应的触控时刻时的预测触控点之间的差异。补偿确定模块420可以具体用于:基于所述预测偏差以及所述轨迹曲率,确定针对预测时长的补偿值。
在一种可能的实施方式中,补偿确定模块420可以具体用于:获取所述预测偏差对应的第一补偿值,所述第一补偿值与所述预测偏差呈负相关;获取所述轨迹曲率对应的第二补偿值,所述第二补偿值与所述轨迹曲率呈负相关;基于所述第一补偿值以及所述第二补偿值确定针对预测时长的补偿值。
在一种可能的实施方式中,偏差获取模块可以具体用于:获取所述第一触控事件中的指定触控点作为第一触控点;基于已上报的触控事件中的至少部分触控点,预测所述第一触控点对应的触控时刻时的触控点,作为第二触控点,所述至少部分触控点的触控时间位于所述第一触控点的触控时间之前;基于所述第一触控点以及所述第二触控点,获取当前的预测偏差。
可选地,偏差获取模块还可以具体用于:获取第二触控事件中的最后一个触控点,作为第三触控点,所述第二触控事件为所述第一触控事件之前的前一次上报的触控事件;获取所述第三触控点与所述第一触控点的连线作为第一连线,以及所述第三触控点与所述第二触控点的连线作为第二连线;基于所述第一连线以及所述第二连线,确定预测偏差。
可选地,所述预测偏差包括预测角度偏差。偏差获取模块还可以具体用于:获取所述第一连线与所述第二连线之间的夹角,作为所述预测角度偏差。
可选地,所述预测偏差包括预测轨迹偏差。偏差获取模块还可以具体用于:获取所述第二触控点相距所述第一连线的最短距离,作为所述预测轨迹偏差。
可选地,所述预测偏差包括预测长度偏差。偏差获取模块还可以具体用于:基于所述第二连线的长度与所述第一连线的长度的差异,确定所述预测长度偏差。
在一些实施方式中,时长调整模块430可以具体用于:基于所述补偿值,对当前累计的累计补偿值进行更新;若更新后的所述累计补偿值大于第一时长阈值,则基于所述累计补偿值对所述预测时长进行调整。
在一种可能的实施方式中,触控轨迹的更新装置400还可以包括补偿清零模块。补偿清零模块用于在所述若更新后的所述累计补偿值大于第一时长阈值,则基于所述累计补偿值对所述预测时长进行调整之后,将所述累计补偿值清零。
在一种可能的实施方式中,时长调整模块430可以具体用于:若更新后的所述累计补偿值大于第二时长阈值,则基于所述第二时长阈值对所述预测时长进行调整,其中,所述第二时长阈值大于所述第一时长阈值。
在一些实施方式中,轨迹更新模块450可以具体用于:若所述预测时长内的触控点在所述触控轨迹的延伸方向上滞后于前一次预测的触控点,则基于所述前一次预测的触控点,对所述预测时长内的触控点进行校正;将所述第一触控事件中的触控点,以及校正后的所述预测时长内的触控点更新于所述触控轨迹中。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
综上所述,本申请提供的方案,通过在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定当前时间段的轨迹曲率,基于轨迹曲率,确定针对预测时长的补偿值,基于补偿值,对预测时长进行调整,然后基于当前时刻之前已上报的触控点,预测第一触控事件对应的触控时间之后的预测时长内的触控点,根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。由此,可以实现在根据上报的触控点预测后续的触控点,以对触控轨迹进行更新的过程中,根据当前的轨迹曲率对预测时长进行调整,从而使得需要预测的时长能够适应当前实际的触控情况,最大程度降低轨迹更新延迟的同时,提升触控点预测的准确性,进而提升轨迹更新的准确性。
请参考图9,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、电子书、笔记本电脑等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、触摸屏130以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个应用程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
触摸屏130用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在所述触摸屏130上或在所述触摸屏130附近的操作),并根据预先设定的程序驱动相应的连接装置。可选的,所述触摸屏130可包括触摸检测装置和触摸控制器。其中,所述触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给所述触摸控制器;所述触摸控制器从所述触摸检测装置上接收触摸信息,并将该触摸信息转换成触点坐标,再送给所述处理器110,并能接收所述处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现所述触摸屏130的触摸检测功能。
请参考图10,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种触控轨迹的更新方法,其特征在于,应用于电子设备,所述方法包括:
在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率;
基于所述轨迹曲率,确定针对预测时长的补偿值;
基于所述补偿值,对所述预测时长进行调整;
基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点;
根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。
2.根据权利要求1所述的方法,其特征在于,在所述基于所述轨迹曲率,确定针对预测时长的补偿值之前,所述方法还包括:
基于所述第一触控事件中的触控点,获取当前的预测偏差,所述预测偏差用于表征所述第一触控事件中的指定触控点与所述指定触控点对应的触控时刻时的预测触控点之间的差异;
所述基于所述轨迹曲率,确定针对预测时长的补偿值,包括:
基于所述预测偏差以及所述轨迹曲率,确定针对预测时长的补偿值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述预测偏差以及所述轨迹曲率,确定针对预测时长的补偿值,包括:
获取所述预测偏差对应的第一补偿值,所述第一补偿值与所述预测偏差呈负相关;
获取所述轨迹曲率对应的第二补偿值,所述第二补偿值与所述轨迹曲率呈负相关;
基于所述第一补偿值以及所述第二补偿值确定针对预测时长的补偿值。
4.根据权利要求2所述的方法,其特征在于,所述基于所述第一触控事件中的触控点,获取当前的预测偏差,包括:
获取所述第一触控事件中的指定触控点作为第一触控点;
基于已上报的触控事件中的至少部分触控点,预测所述第一触控点对应的触控时刻时的触控点,作为第二触控点,所述至少部分触控点的触控时间位于所述第一触控点的触控时间之前;
基于所述第一触控点以及所述第二触控点,获取当前的预测偏差。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一触控点以及所述第二触控点,获取预测偏差,包括:
获取第二触控事件中的最后一个触控点,作为第三触控点,所述第二触控事件为所述第一触控事件之前的前一次上报的触控事件;
获取所述第三触控点与所述第一触控点的连线作为第一连线,以及所述第三触控点与所述第二触控点的连线作为第二连线;
基于所述第一连线以及所述第二连线,确定预测偏差。
6.根据权利要求5所述的方法,其特征在于,所述预测偏差包括预测角度偏差,所述基于所述第一连线以及所述第二连线,确定预测偏差,包括:
获取所述第一连线与所述第二连线之间的夹角,作为所述预测角度偏差。
7.根据权利要求5所述的方法,其特征在于,所述预测偏差包括预测轨迹偏差,所述基于所述第一连线以及所述第二连线,确定预测偏差,包括:
获取所述第二触控点相距所述第一连线的最短距离,作为所述预测轨迹偏差。
8.根据权利要求5所述的方法,其特征在于,所述预测偏差包括预测长度偏差,所述基于所述第一连线以及所述第二连线,确定预测偏差,包括:
基于所述第二连线的长度与所述第一连线的长度的差异,确定所述预测长度偏差。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述基于所述补偿值,对所述预测时长进行调整,包括:
基于所述补偿值,对当前累计的累计补偿值进行更新;
若更新后的所述累计补偿值的绝对值大于第一时长阈值,则基于所述累计补偿值对所述预测时长进行调整。
10.根据权利要求9所述的方法,其特征在于,在所述若更新后的所述累计补偿值大于第一时长阈值,则基于所述累计补偿值对所述预测时长进行调整之后,所述方法还包括:
将所述累计补偿值清零。
11.根据权利要求9所述的方法,其特征在于,所述若更新后的所述累计补偿值大于第一时长阈值,则基于所述累计补偿值对所述预测时长进行调整,包括:
若更新后的所述累计补偿值大于第二时长阈值与所述预测时长的差值,则将所述预测时长进行调整为所述第二时长阈值。
12.根据权利要求1-8任一项所述的方法,其特征在于,所述根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新,包括:
若所述预测时长内的触控点在所述触控轨迹的延伸方向上滞后于前一次预测的触控点,则基于所述前一次预测的触控点,对所述预测时长内的触控点进行校正;
将所述第一触控事件中的触控点,以及校正后的所述预测时长内的触控点更新于所述触控轨迹中。
13.一种触控轨迹的更新装置,其特征在于,所述装置包括:曲率确定模块、补偿确定模块、时长调整模块、轨迹预测模块以及轨迹更新模块,其中,
所述曲率确定模块用于在根据当前上报的第一触控事件更新触控轨迹时,基于当前时间段已上报的触控点,确定所述当前时间段的轨迹曲率;
所述补偿确定模块用于基于所述轨迹曲率,确定针对预测时长的补偿值;
所述时长调整模块用于基于所述补偿值,对所述预测时长进行调整;
所述轨迹预测模块用于基于所述当前时间段已上报的触控点,预测所述第一触控事件对应的触控时间之后的所述预测时长内的触控点;
所述轨迹更新模块用于根据所述第一触控事件中的触控点以及所述预测时长内的触控点,对触控轨迹进行更新。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-12任一项所述的方法。
15.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210567685.2A CN114860111B (zh) | 2022-05-23 | 2022-05-23 | 触控轨迹的更新方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210567685.2A CN114860111B (zh) | 2022-05-23 | 2022-05-23 | 触控轨迹的更新方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114860111A true CN114860111A (zh) | 2022-08-05 |
CN114860111B CN114860111B (zh) | 2024-06-18 |
Family
ID=82638501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210567685.2A Active CN114860111B (zh) | 2022-05-23 | 2022-05-23 | 触控轨迹的更新方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860111B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012139266A1 (zh) * | 2011-04-09 | 2012-10-18 | 上海汉翔信息技术有限公司 | 电子设备上基于屏幕软件键盘实现滑动输入文本的系统及方法 |
WO2013089623A2 (en) * | 2011-12-16 | 2013-06-20 | Flatfrog Laboratories Ab | Tracking objects on a touch surface |
US20140125619A1 (en) * | 2010-09-30 | 2014-05-08 | Fitbit, Inc. | Power consumption management of display in portable device based on prediction of user input |
EP2889579A1 (en) * | 2013-12-31 | 2015-07-01 | The Boeing Company | System and method for defining and predicting aircraft trajectories |
CN107562364A (zh) * | 2017-09-19 | 2018-01-09 | 青岛海信电器股份有限公司 | 一种触摸轨迹的显示方法及装置 |
US20190094867A1 (en) * | 2017-09-28 | 2019-03-28 | Nec Laboratories America, Inc. | Generative adversarial inverse trajectory optimization for probabilistic vehicle forecasting |
CN112486399A (zh) * | 2020-12-22 | 2021-03-12 | 安徽鸿程光电有限公司 | 触控轨迹显示方法、装置、设备及存储介质 |
CN112506413A (zh) * | 2020-12-16 | 2021-03-16 | Oppo广东移动通信有限公司 | 触控点预测方法、装置、终端设备及计算机可读存储介质 |
CN112644518A (zh) * | 2020-12-31 | 2021-04-13 | 广州文远知行科技有限公司 | 一种车辆轨迹预测方法、装置、设备和存储介质 |
CN113641260A (zh) * | 2020-05-11 | 2021-11-12 | 华为技术有限公司 | 触控轨迹预测方法、相关装置、设备及计算机存储介质 |
CN114268787A (zh) * | 2021-12-20 | 2022-04-01 | 东软集团股份有限公司 | 基于ar-hud的延时补偿方法、装置、设备及存储介质 |
CN114327148A (zh) * | 2021-12-31 | 2022-04-12 | 深圳市泓宇星科技有限公司 | 一种笔迹报点预测方法 |
CN114356111A (zh) * | 2021-12-02 | 2022-04-15 | 珠海全志科技股份有限公司 | 一种用于降低手写延迟的数据处理方法及装置 |
-
2022
- 2022-05-23 CN CN202210567685.2A patent/CN114860111B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140125619A1 (en) * | 2010-09-30 | 2014-05-08 | Fitbit, Inc. | Power consumption management of display in portable device based on prediction of user input |
WO2012139266A1 (zh) * | 2011-04-09 | 2012-10-18 | 上海汉翔信息技术有限公司 | 电子设备上基于屏幕软件键盘实现滑动输入文本的系统及方法 |
WO2013089623A2 (en) * | 2011-12-16 | 2013-06-20 | Flatfrog Laboratories Ab | Tracking objects on a touch surface |
EP2889579A1 (en) * | 2013-12-31 | 2015-07-01 | The Boeing Company | System and method for defining and predicting aircraft trajectories |
CN107562364A (zh) * | 2017-09-19 | 2018-01-09 | 青岛海信电器股份有限公司 | 一种触摸轨迹的显示方法及装置 |
US20190094867A1 (en) * | 2017-09-28 | 2019-03-28 | Nec Laboratories America, Inc. | Generative adversarial inverse trajectory optimization for probabilistic vehicle forecasting |
CN113641260A (zh) * | 2020-05-11 | 2021-11-12 | 华为技术有限公司 | 触控轨迹预测方法、相关装置、设备及计算机存储介质 |
CN112506413A (zh) * | 2020-12-16 | 2021-03-16 | Oppo广东移动通信有限公司 | 触控点预测方法、装置、终端设备及计算机可读存储介质 |
CN112486399A (zh) * | 2020-12-22 | 2021-03-12 | 安徽鸿程光电有限公司 | 触控轨迹显示方法、装置、设备及存储介质 |
CN112644518A (zh) * | 2020-12-31 | 2021-04-13 | 广州文远知行科技有限公司 | 一种车辆轨迹预测方法、装置、设备和存储介质 |
CN114356111A (zh) * | 2021-12-02 | 2022-04-15 | 珠海全志科技股份有限公司 | 一种用于降低手写延迟的数据处理方法及装置 |
CN114268787A (zh) * | 2021-12-20 | 2022-04-01 | 东软集团股份有限公司 | 基于ar-hud的延时补偿方法、装置、设备及存储介质 |
CN114327148A (zh) * | 2021-12-31 | 2022-04-12 | 深圳市泓宇星科技有限公司 | 一种笔迹报点预测方法 |
Non-Patent Citations (1)
Title |
---|
梁军等: "面向复杂曲率变化的智能车路径跟踪控制", 汽车工程, 15 December 2021 (2021-12-15), pages 1771 - 1779 * |
Also Published As
Publication number | Publication date |
---|---|
CN114860111B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2680110B1 (en) | Method and apparatus for processing multiple inputs | |
US20100180202A1 (en) | User Interfaces for Electronic Devices | |
CN112764616B (zh) | 一种电子墨水屏手写加速方法、装置、设备及存储介质 | |
WO2021092768A1 (zh) | 触摸事件的处理方法、装置、移动终端及存储介质 | |
CN109547647B (zh) | 静电干扰控制方法及相关产品 | |
CN108962187B (zh) | 屏幕亮度调节方法及移动终端 | |
CN111343344B (zh) | 语音异常检测方法、装置、存储介质及电子设备 | |
CN112959945B (zh) | 车窗控制方法、装置、车辆及存储介质 | |
CN112604266A (zh) | 一种移动终端及其振动控制方法、计算机可读存储介质 | |
US11669192B2 (en) | Electronic device for processing input event and method of operating same | |
WO2021098878A1 (zh) | 一种预测手写笔绘制点的方法和设备 | |
CN113194281A (zh) | 视频解析方法、装置、计算机设备和存储介质 | |
CN114860111B (zh) | 触控轨迹的更新方法、装置、电子设备及存储介质 | |
CN110503042B (zh) | 图像处理方法、装置以及电子设备 | |
CN113326829B (zh) | 视频中手势的识别方法、装置、可读存储介质及电子设备 | |
CN107729136B (zh) | 一种基于fpga的处理优先级配置方法及装置 | |
CN114840086A (zh) | 一种控制方法、电子设备及计算机存储介质 | |
CN113138693A (zh) | 操作识别方法、装置、电子设备及存储介质 | |
CN113485662A (zh) | 防抖方法和电子设备 | |
CN112910875A (zh) | 显示方法及装置 | |
CN111444024A (zh) | 请求响应方法、电子设备及存储介质 | |
CN114286974B (zh) | 控制触控显示屏的方法、装置、触控显示屏及电子设备 | |
US20230224181A1 (en) | Human-Computer Interaction Method and System, and Apparatus | |
CN112565605B (zh) | 图像显示方法、装置和电子设备 | |
WO2022252872A1 (zh) | 设备控制方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |