掌桥专利:专业的专利平台
掌桥专利
首页

一种移动轨迹确定方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 18:53:06


一种移动轨迹确定方法、装置、计算机设备及存储介质

技术领域

本公开涉及计算机技术领域,具体而言,涉及一种移动轨迹确定方法、装置、计算机设备及存储介质。

背景技术

在在线课堂中,激光笔是一种常用的授课工具。教师端使用鼠标控制激光笔移动,学生端通过接收激光笔的位置点信息,实时地绘制出教师端的鼠标的移动轨迹。在网络较差的情况下,学生端接收的位置点信息可能会出现乱序的情况,进而可能会出现卡顿。

相关技术中,一般通过固定延时的方式来解决上述卡顿问题。在每接收到一个位置点的位置点信息后,为该位置点增加一定时间的延迟,在延迟结束后再去进行排序处理位置点。但是这种方法的延时一般都比较长,这样导致学生端展示的实时性较差。

发明内容

本公开实施例至少提供一种移动轨迹确定方法、装置、计算机设备及存储介质。

第一方面,本公开实施例提供了一种移动轨迹确定方法,包括:

接收第一用户端发送的位置点信息,并将所述位置点信息写入缓存队列;其中,所述位置点信息包括所述第一用户端绘制该位置点的时间戳和该位置点的位置信息;

每隔预设时长,按照与所述缓存队列匹配的筛选时间,从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,并基于所述第一目标位置点信息进行轨迹绘制;

若在所述筛选时间下未筛选出第一目标位置点信息,则基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,并基于所述第二目标位置点的位置点信息进行轨迹绘制。

一种可能的实施方式中,所述将所述位置点信息写入缓存队列,包括:

基于待存储的位置点信息中的时间戳,以及所述缓存队列中已存储的位置点信息的时间戳,存储所述待存储的位置点信息。

一种可能的实施方式中,所述方法还包括根据以下方法每隔预设时长,确定与所述缓存队列匹配的筛选时间:

根据第N次筛选使用的所述筛选时间,以及所述预设时长,确定第N+1次筛选使用的所述筛选时间;N为大于等于1的正整数;

其中,首次筛选使用的所述筛选时间为所述缓存队列中最早的时间戳与预设缓存时间之差。

一种可能的实施方式中,在确定与所述缓存队列匹配的筛选时间之后,所述方法还包括根据以下方法对确定的筛选时间进行校准:

确定所述缓存队列中当前最晚的目标时间戳;

确定所述目标时间戳与所述预设缓存时间的目标差值;

对比所述目标差值和所述确定的筛选时间,在所述目标差值大于所述确定的筛选时间的情况下,将所述目标差值作为重新确定的筛选时间。

一种可能的实施方式中,所述从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,包括:

从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳早于所述筛选时间的第一目标位置点信息。

一种可能的实施方式中,所述基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,包括:

确定所述缓存队列当前缓存的位置点信息中时间戳最早的至少一个第三目标位置点信息;以及确定上一次绘制过程中时间戳最晚的至少一个第一目标位置点信息;

基于所述至少一个第三目标位置点信息和所述至少一个第一目标位置点信息进行线性插值运算,得到所述第二目标位置点的位置点信息。

一种可能的实施方式中,在接收第一用户端发送的位置点信息之后,将所述位置点信息写入缓存队列之前,所述方法还包括:

判断接收的位置点信息中的时间戳是否晚于当前筛选使用的筛选时间;

若晚于,则将接收的位置点信息写入所述缓存队列。

第二方面,本公开实施例还提供一种信息处理装置,包括:

接收模块,用于接收第一用户端发送的位置点信息,并将所述位置点信息写入缓存队列;其中,所述位置点信息包括所述第一用户端绘制该位置点的时间戳和该位置点的位置信息;

筛选模块,用于每隔预设时长,按照与所述缓存队列匹配的筛选时间,从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,并基于所述第一目标位置点信息进行轨迹绘制;

补点模块,用于若在所述筛选时间下未筛选出第一目标位置点信息,则基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,并基于所述第二目标位置点的位置点信息进行轨迹绘制。

一种可能的实施方式中,所述接收模块,在将所述位置点信息写入缓存队列时,用于:

基于待存储的位置点信息中的时间戳,以及所述缓存队列中已存储的位置点信息的时间戳,存储所述待存储的位置点信息。

一种可能的实施方式中,所述筛选模块,还用于根据以下方法每隔预设时长,确定与所述缓存队列匹配的筛选时间:

根据第N次筛选使用的所述筛选时间,以及所述预设时长,确定第N+1次筛选使用的所述筛选时间;N为大于等于1的正整数;

其中,首次筛选使用的所述筛选时间为所述缓存队列中最早的时间戳与预设缓存时间之差。

一种可能的实施方式中,在确定与所述缓存队列匹配的筛选时间之后,所述筛选模块,还用于根据以下方法对确定的筛选时间进行校准:

确定所述缓存队列中当前最晚的目标时间戳;

确定所述目标时间戳与所述预设缓存时间的目标差值;

对比所述目标差值和所述确定的筛选时间,在所述目标差值大于所述确定的筛选时间的情况下,将所述目标差值作为重新确定的筛选时间。

一种可能的实施方式中,所述筛选模块,在从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息时,用于:

从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳早于所述筛选时间的第一目标位置点信息。

一种可能的实施方式中,所述补点模块,在基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息时,用于:

确定所述缓存队列当前缓存的位置点信息中时间戳最早的至少一个第三目标位置点信息;以及确定上一次绘制过程中时间戳最晚的至少一个第一目标位置点信息;

基于所述至少一个第三目标位置点信息和所述至少一个第一目标位置点信息进行线性插值运算,得到所述第二目标位置点的位置点信息。

一种可能的实施方式中,所述接收模块,在接收第一用户端发送的位置点信息之后,将所述位置点信息写入缓存队列之前,所述方法还用于:

判断接收的位置点信息中的时间戳是否晚于当前筛选使用的筛选时间;

若晚于,则将接收的位置点信息写入所述缓存队列。

第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

本公开实施例提供的移动轨迹确定方法、装置、计算机设备及存储介质,首先接收第一用户端发送的位置点信息,并将所述位置点信息写入缓存队列;然后每隔预设时长,按照与所述缓存队列匹配的筛选时间,从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,并基于所述第一目标位置点信息进行轨迹绘制;这样,由于位置点信息的缓存时间较短,因此可以提高第二用户端展示时的实时性;若在所述筛选时间下未筛选出第一目标位置点信息,则基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,并基于所述第二目标位置点的位置点信息进行轨迹绘制,这样,可以在丢点或者位置点延时较长的情况下,提高轨迹绘制的流畅度,避免轨迹进行跳变。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种移动轨迹确定方法的流程图;

图2示出了本公开实施例所提供的一种位置点信息接收的示意图;

图3示出了本公开实施例所提供的确定筛选时间方法中,校准筛选时间具体方法的流程图;

图4示出了本公开实施例所提供的一种移动轨迹确定装置的架构示意图;

图5示出了本公开实施例所提供的一种计算机设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

在在线课堂中,激光笔是一种常用的授课工具。教师端使用鼠标控制激光笔移动,学生端通过接收激光笔的位置点信息,实时地绘制出教师端的鼠标的移动轨迹。在网络较差的情况下,学生端接收的位置点信息可能会出现乱序的情况,进而可能会出现卡顿。

相关技术中,一般通过固定延时的方式来解决上述卡顿问题。在每接收到一个位置点的位置点信息后,为该位置点增加一定时间的延迟,在延迟结束后再去进行排序处理位置点。但是这种方法的延时一般都比较长,这样导致学生端展示的实时性较差。

基于上述研究,本公开提供了一种移动轨迹确定方法,首先接收第一用户端发送的位置点信息,并将所述位置点信息写入缓存队列;然后每隔预设时长,按照与所述缓存队列匹配的筛选时间,从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,并基于所述第一目标位置点信息进行轨迹绘制;这样,由于位置点信息的缓存时间较短,因此可以提高第二用户端展示时的实时性;若在所述筛选时间下未筛选出第一目标位置点信息,则基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,并基于所述第二目标位置点的位置点信息进行轨迹绘制,这样,可以在丢点或者位置点延时较长的情况下,提高轨迹绘制的流畅度,避免轨迹进行跳变。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种移动轨迹确定方法进行详细介绍,本公开实施例所提供的移动轨迹确定方法的执行主体是第二用户端,第二用户端可以是智能手机、平板电脑、个人计算机等。

参见图1所示,为本公开实施例提供的移动轨迹确定方法的流程图,所述方法包括步骤101~步骤103,其中:

步骤101、接收第一用户端发送的位置点信息,并将所述位置点信息写入缓存队列;其中,所述位置点信息包括所述第一用户端绘制该位置点的时间戳和该位置点的位置信息;

步骤102、每隔预设时长,按照与所述缓存队列匹配的筛选时间,从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,并基于所述第一目标位置点信息进行轨迹绘制;

步骤103、若在所述筛选时间下未筛选出第一目标位置点信息,则基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,并基于所述第二目标位置点的位置点信息进行轨迹绘制。

以下是对上述步骤的详细说明。

针对步骤101、

所述第一用户端可以是指教师端,步骤101~步骤103的过程可以是由第二用户端执行的,所述第二用户端可以是指学生端。所述教师端可以通过控制鼠标,在教师端展示对应的移动标识(示例性的可以是光点),所述移动标识可以跟随所述鼠标的移动而移动,教师可以通过控制鼠标改变所述移动标识的位置,进而实现辅助教学。所述学生端接收的教师端发送的所述位置点信息,可以是指所述移动标识在所述教师端的位置点信息。

所述时间戳可以是指所述第一用户端在绘制位置点时的时间,该时间可以是指绝对时间,也可以是指相对时间,所述相对时间示例性的可以是指相对内容展示的时间,例如内容展示的第K秒。

一种可能的实施方式中,所述位置点信息不仅可以包括所述第一用户端绘制该位置点的时间戳和该位置点的位置信息,还可以包括所述位置点的颜色信息、尺寸信息等。其中,所述位置信息可以是位置点的坐标。

所述缓存队列为数据的存储区域,一种可能的实施方式中,在将所述位置点信息写入缓存队列中时,可以基于待存储的位置点信息中的时间戳,以及所述缓存队列中已存储的位置点信息的时间戳,存储所述待存储的位置点信息。

示例性的,在存储所述待存储的位置点信息时,可以比较所述待存储的位置点信息中的时间戳,以及所述缓存队列中已存储的位置点信息的时间戳,将所述待存储的位置点信息插入所述缓存队列中,按照时间戳升序或者降序的顺序存储位置点信息。

示例性的,如果采用相对时间计时,如果所述缓存队列中分别存储了三个位置点信息,所述三个位置点信息对应的时间戳分别为71ms、73ms、76ms,所述待存储的位置点信息中的时间戳为74ms,则将所述待存储的位置点信息插入73ms、76ms对应的位置点信息之间。

针对步骤102和步骤103、

这里,所述预设时长可以是与所述第一用户端的视频刷新频率相关的时长,示例性的,若所述第一用户端的视频刷新频率为60fps,则说明每秒钟第一用户端有60帧视频帧,每一帧视频帧中都会有一个位置点;而步骤102中所述的步骤为基于缓存的位置点信息进行轨迹绘制的过程,因此理论上来说,也可以按照每秒钟绘制60次的频率进行绘制,因此所述预设时长可以是1秒÷60≈16ms。

在一种可能的应用场景中,所述预设时长可以通过设置定时器来确定的,当所述缓存队列中存储进第一个位置点信息时,可以开启定时器,定时时长为所述预设时长,在定时结束之后,可以确定所述筛选时间,并基于确定的筛选时间进行第一目标位置点信息的筛选,在筛选完成之后,若所述缓存队列不为空,则重新开启定时器,定时时长仍为所述预设时长,重复执行上述步骤,直至缓存队列为空,当缓存队列为空时,可以关闭所述定时器。

所述筛选时间可以是用于控制轨迹绘制频率的时间,这里,所述筛选时间由于是用来筛选位置点信息的,因此所述筛选时间的时间类型可以与所述位置点信息的时间戳的时间类型相同,即若所述位置点信息的时间戳为相对时间,则所述筛选时间也为相对时间,若所述位置点信息的时间戳为绝对时间,则所述筛选时间也为绝对时间。

一种可能的实施方式中,在确定与所述缓存队列匹配的筛选时间时,可以根据第N次筛选使用的所述筛选时间,以及所述预设时长,确定第N+1次筛选使用的所述筛选时间;N为大于等于1的正整数。

其中,首次筛选使用的所述筛选时间为所述缓存队列中最早的时间戳与预设缓存时间之差。

具体的,可以将第N次筛选使用的筛选时间在所述预设时长之后的时间,作为第N+1次筛选所使用的筛选时间。示例性的,若第10次筛选使用的所述筛选时间为71ms,所述预设时长为16ms,则第11次筛选使用的所述筛选时间为87ms。

示例性的,如果采用相对时间计时,所述缓存队列中最早的时间戳为618ms,即第一个存储进所述缓存队列中的位置点信息的时间戳为第618ms,预设缓存时间为600ms,则所述首次筛选使用的所述筛选时间为18ms;如果采用绝对时间计时,所述缓存队列中最早的时间戳为5分10秒,即第一个存储进所述缓存队列中的位置点信息的时间戳为5分10秒,预设缓存时间为1秒,则所述首次筛选使用的所述筛选时间为5分9秒。

一种可能的实施方式中,在从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息时,可以是从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳早于所述筛选时间的第一目标位置点信息。

在一种可能的实施方式中,在筛选对应的时间戳早于所述筛选时间的第一目标位置点信息时,可以将缓存队列中存储的位置点信息的时间戳依次与所述筛选时间进行比对,并基于比对结果,确定所述第一目标位置点信息。

在另外一种可能的实施方式中,若所述缓存队列中的位置点信息在进行存储时,是按照对应的时间戳升序存储或降序存储,则在筛选对应的时间戳早于所述筛选时间的第一目标位置点信息时,可以基于所述存储方式,从时间戳最早的位置点信息开始依次与所述筛选时间进行比对,若比对到某一位置点信息的时间戳晚于所述筛选时间,则该位置点信息之后的位置点信息的时间戳必定晚于所述筛选时间,则无需进行比对,进而可以提高第一目标位置点信息的筛选速度。

在一种可能的实施方式中,在网络波动的情况下,各个目标位置点的发送和接收可能会出现差异,如图2所示,理想情况下,在网络状况良好时,应该是不会出现丢点的情况的,且各个点的发送顺序和接收顺序,以及发送的时间间隔和接收的时间间隔也是相同的,例如可以都与第一用户端的视频帧的刷新频率保持一致,但是可能会由于网络波动等原因,造成部分位置点信息的丢失,以及部分位置点信息的接收顺序出现乱序的情况,这就导致先发送的位置点信息反而后接收。

而103中的步骤,是在出现丢点或接收时间过长的情况下,进行补点操作,进而可以在网络卡顿时,不影响轨迹绘制。

然而在进行补点之前,需要先对位置点信息进行一定时间的缓存,若之前接收的点在缓存一定时间之后,其他的点仍未接收到,则这个时候可以再进行补点操作。

具体的,上述实施例中描述到,首次筛选使用的所述筛选时间为所述缓存队列中最早的时间戳与预设缓存时间之差,则在这种情况下,首次筛选时必定没有早于筛选时间的位置点信息,但是在这种情况下,并不会进行补点操作。

因此,若在所述筛选时间下未筛选出第一目标位置点信息,且在该筛选时间之前已进行过轨迹绘制,再进行补点操作,即基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息。

示例性的,如果采用相对时间计时,若所述缓存队列中第一个位置点信息的时间戳为700ms,预设缓存时长为600ms,则在第一次筛选时使用的筛选时间为700ms-600ms=100ms,而此时没有任何位置点信息的时间戳小于该筛选时间,但是在第一筛选之前也并没有进行过轨迹绘制,因此这个时候不进行补点操作;若预设时长为10ms,则第二次筛选时使用的筛选时间为100ms+10ms=110ms,在100ms~110ms的过程中可能接收到了其他的位置点信息,但是接收到的其他的位置点信息的时间戳大于700ms,因此,第二次筛选时仍旧没有任何位置点信息的时间戳小于该筛选时间…以此类推,直至当筛选时间逐渐累加,累加到710ms时,此时缓存队列中第一个位置点信息的时间戳小于筛选时间,则基于第一个位置点信息进行轨迹绘制…以此类推,直至将缓存队列中的所有位置点信息均进行轨迹绘制。

一种可能的实施方式中,在基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息时,可以先确定所述缓存队列当前缓存的位置点信息中时间戳最早的至少一个第三目标位置点信息;以及确定上一次绘制过程中时间戳最晚的至少一个第一目标位置点信息;然后基于所述至少一个第三目标位置点信息和所述至少一个第一目标位置点信息进行线性插值运算,得到所述第二目标位置点的位置点信息。

其中,所述第二目标位置点对应的时间戳可以是当前所述筛选时间。

具体的,所述位置信息可以通过位置坐标来表示,示例性的,所述第二目标位置点的坐标(x,y)可以通过以下公式进行计算:

其中,x1表示所述第一目标位置点的横坐标,y1表示所述第一目标位置点的纵坐标,t1表示所述第一目标位置点对应的时间戳与所述筛选时间的差的绝对值,x2表示所述第三目标位置点的横坐标,y2表示所述第三目标位置点的纵坐标,t2表示所述第三目标位置点对应的时间戳与所述筛选时间的差的绝对值。

另一种可能的实施方式中,所述第二目标位置点的位置点信息可以基于多个已绘制的第一目标位置点信息和多个当前缓存的位置点信息中时间戳最早的第三目标位置点信息确定。

示例性的,所述第二目标位置点的坐标(x,y)可以通过以下公式进行计算:

其中,x1,x2,x3……x

要注意的是,所述公式中至少包含一个所述第一目标位置点的坐标和一个所述第三目标位置点的坐标。选取适量的所述第一目标位置点和所述第三目标位置点会使所述第二目标位置点的位置点信息更加接近真实位置点的位置信息。

通过在所述第一目标位置点和所述第三目标位置点之间进行补点,可以在位置点信息丢失或者接收延时较长的情况下,使绘制的轨迹更加连贯,减少因数据接收延迟造成的所述轨迹的跳变。

一种可能的实施方式中,可能由于第一用户端传输的位置点信息的频率较高,而进行轨迹绘制时从缓存队列中消耗位置点信息的频率较低,这样可能会造成缓存队列中缓存的位置点信息的数量较多,进而造成在进行绘制时,延时较长。

因此,在确定与所述缓存队列匹配的筛选时间之后,还可以对确定的筛选时间进行校准。

示例性的可以通过如图3所示的方法,对确定的筛选时间进行校准,包括以下几个步骤:

步骤301、确定所述缓存队列中当前最晚的目标时间戳。

步骤302、确定所述目标时间戳与所述预设缓存时间的目标差值。

步骤303、对比所述目标差值和所述确定的筛选时间,在所述目标差值大于所述确定的筛选时间的情况下,将所述目标差值作为重新确定的筛选时间。

示例性的,采用相对时间计时,如果所述缓存队列中当前最晚的目标时间戳为1500ms,所述预设缓存时间为600ms,则所述目标差值为1500ms-600ms=900ms。如果所述筛选时间为810ms,所述目标差值大于筛选时间,则将900ms作为重新确定的筛选时间,并按照重新确定的筛选时间进行位置点信息的筛选。

实际应用中,所述缓存队列中的所述位置点信息会随着程序的运行逐渐增多,采用图3所示的方法,若确定的筛选时间不大于所述目标差值,则说明处理到当前缓存队列中时间戳最晚的位置点信息所需的时间超过了所述预设缓存时长,因此可能会造成时延较长的问题,而通过对所述筛选时间重新调整,可以将缓存队列中的所述位置点信息的时间跨度稳定在所述预设缓存时长之下,这样可以保证能够尽可能快的处理缓存队列中缓存的位置点信息。

一种可能的实施方式中,在基于所述第一目标位置点信息进行轨迹绘制时,所述轨迹可以由所述第一目标位置点和相邻的所述第一目标位置点之间的连线构成。

具体的,将任一所述第一目标位置点信息取出后,首先基于该第一目标位置点的位置信息、颜色信息和尺寸信息等,在展示区域生成所述第一位置点,然后基于下一所述第一目标位置点的位置信息、颜色信息和尺寸信息等,在展示区域生成所述下一所述第一目标位置点和两个所述第一目标位置点之间的连线,循环执行上述步骤,在展示区域展示出连贯的轨迹。

其中,所述展示区域可以是显示屏、投影屏幕等展示设备,所述连线的宽度可以基于所述第一目标位置点的直径确定,所述连线的颜色可以基于所述第一目标位置点的颜色信息确定。

这里,还可以使用其它基于位置点绘制曲线的方法,将所述位置点平滑连接。

需要说明的是,可以预先设置位置点的展示时长,在基于任一位置点进行绘制之后,可以在绘制完之后的展示时长内展示与该位置点相关的轨迹曲线,在绘制完之后超过所述展示时长,则停止展示该位置点。

示例性的,可以将任一所述第一目标位置点与该所述第一目标位置点对应的连线展示预设展示时间,在所述预设展示时间到达后,自动消失,以达到拖尾的效果。

这里,还可以通过设置在拖尾消失前,对拖尾增加其他艺术效果,如颜色加深、闪光等。

在另外一种可能的实施方式中,在进行补点操作并进行轨迹绘制的过程中,可能会接收到延时较长的位置点信息,例如在A位置点和C位置点之间,经过检测需要进行补点操作,补点之后得到位置点B1的位置点信息,然后基于位置点B1的位置点信息进行轨迹绘制,但是在进行轨迹绘制的过程中,接收到了原本位于A位置点和C位置点之间的B位置点,在这种情况下,为了避免B位置点对于当前绘制效果的影响,可以不将B位置点的位置点信息存储进缓存队列中。

具体的,在接收到第一用户端发送的位置点信息之后,将所述位置点信息写入缓存队列之前,还可以先判断接收的位置点信息中的时间戳是否晚于当前筛选使用的筛选时间;若晚于,则将接收的位置点信息写入所述缓存队列。

示例性的,如果接收的位置点信息A中的时间戳为71ms,接收的位置点信息B中的时间戳为74ms,所述当前筛选使用的筛选时间为73ms,即位置点信息A中的时间戳早于当前筛选使用的筛选时间,位置点信息B中的时间戳晚于当前筛选使用的筛选时间,则将位置点信息A删除,将位置点信息B写入所述缓存队列。

这里,筛选位置点信息中的时间戳晚于当前筛选使用的筛选时间的所述位置点信息,可以在一定程度上避免时间戳较晚的位置点进行展示之后,展示时间戳较早的位置点,后续造成所述轨迹的跳变。

本公开实施例提供的移动轨迹确定方法,首先接收第一用户端发送的位置点信息,并将所述位置点信息写入缓存队列;然后每隔预设时长,按照与所述缓存队列匹配的筛选时间,从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,并基于所述第一目标位置点信息进行轨迹绘制;这样,由于位置点信息的缓存时间较短,因此可以提高第二用户端展示时的实时性;若在所述筛选时间下未筛选出第一目标位置点信息,则基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,并基于所述第二目标位置点的位置点信息进行轨迹绘制,这样,可以在丢点或者位置点延时较长的情况下,提高轨迹绘制的流畅度,避免轨迹进行跳变。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与移动轨迹确定方法对应的移动轨迹确定装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述移动轨迹确定方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图4所示,为本公开实施例提供的一种移动轨迹确定装置的架构示意图,所述装置包括:接收模块401、筛选模块402、补点模块403;其中,

接收模块401,用于接收第一用户端发送的位置点信息,并将所述位置点信息写入缓存队列;其中,所述位置点信息包括所述第一用户端绘制该位置点的时间戳和该位置点的位置信息;

筛选模块402,用于每隔预设时长,按照与所述缓存队列匹配的筛选时间,从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,并基于所述第一目标位置点信息进行轨迹绘制;

补点模块403,用于若在所述筛选时间下未筛选出第一目标位置点信息,则基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,并基于所述第二目标位置点的位置点信息进行轨迹绘制。

一种可能的实施方式中,所述接收模块401,在将所述位置点信息写入缓存队列时,用于:

基于待存储的位置点信息中的时间戳,以及所述缓存队列中已存储的位置点信息的时间戳,存储所述待存储的位置点信息。

一种可能的实施方式中,所述筛选模块402,还用于根据以下方法每隔预设时长,确定与所述缓存队列匹配的筛选时间:

根据第N次筛选使用的所述筛选时间,以及所述预设时长,确定第N+1次筛选使用的所述筛选时间;N为大于等于1的正整数;

其中,首次筛选使用的所述筛选时间为所述缓存队列中最早的时间戳与预设缓存时间之差。

一种可能的实施方式中,在确定与所述缓存队列匹配的筛选时间之后,所述筛选模块402,还用于根据以下方法对确定的筛选时间进行校准:

确定所述缓存队列中当前最晚的目标时间戳;

确定所述目标时间戳与所述预设缓存时间的目标差值;

对比所述目标差值和所述确定的筛选时间,在所述目标差值大于所述确定的筛选时间的情况下,将所述目标差值作为重新确定的筛选时间。

一种可能的实施方式中,所述筛选模块402,在从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息时,用于:

从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳早于所述筛选时间的第一目标位置点信息。

一种可能的实施方式中,所述补点模块403,在基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息时,用于:

确定所述缓存队列当前缓存的位置点信息中时间戳最早的至少一个第三目标位置点信息;以及确定上一次绘制过程中时间戳最晚的至少一个第一目标位置点信息;

基于所述至少一个第三目标位置点信息和所述至少一个第一目标位置点信息进行线性插值运算,得到所述第二目标位置点的位置点信息。

一种可能的实施方式中,所述接收模块401,在接收第一用户端发送的位置点信息之后,将所述位置点信息写入缓存队列之前,所述方法还用于:

判断接收的位置点信息中的时间戳是否晚于当前筛选使用的筛选时间;

若晚于,则将接收的位置点信息写入所述缓存队列。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图5所示,为本公开实施例提供的计算机设备500的结构示意图,包括处理器501、存储器502、和总线503。其中,存储器502用于存储执行指令,包括内存5021和外部存储器5022;这里的内存5021也称内存储器,用于暂时存放处理器501中的运算数据,以及与硬盘等外部存储器5022交换的数据,处理器501通过内存5021与外部存储器5022进行数据交换,当计算机设备500运行时,处理器501与存储器502之间通过总线503通信,使得处理器501在执行以下指令:

接收第一用户端发送的位置点信息,并将所述位置点信息写入缓存队列;其中,所述位置点信息包括所述第一用户端绘制该位置点的时间戳和该位置点的位置信息;

每隔预设时长,按照与所述缓存队列匹配的筛选时间,从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,并基于所述第一目标位置点信息进行轨迹绘制;

若在所述筛选时间下未筛选出第一目标位置点信息,则基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,并基于所述第二目标位置点的位置点信息进行轨迹绘制。

一种可能的实施方式中,处理器501执行的指令中,所述将所述位置点信息写入缓存队列,包括:

基于待存储的位置点信息中的时间戳,以及所述缓存队列中已存储的位置点信息的时间戳,存储所述待存储的位置点信息。

一种可能的实施方式中,处理器501执行的指令中,所述方法还包括根据以下方法每隔预设时长,确定与所述缓存队列匹配的筛选时间:

根据第N次筛选使用的所述筛选时间,以及所述预设时长,确定第N+1次筛选使用的所述筛选时间;N为大于等于1的正整数;

其中,首次筛选使用的所述筛选时间为所述缓存队列中最早的时间戳与预设缓存时间之差。

一种可能的实施方式中,处理器501执行的指令中,在确定与所述缓存队列匹配的筛选时间之后,所述方法还包括根据以下方法对确定的筛选时间进行校准:

确定所述缓存队列中当前最晚的目标时间戳;

确定所述目标时间戳与所述预设缓存时间的目标差值;

对比所述目标差值和所述确定的筛选时间,在所述目标差值大于所述确定的筛选时间的情况下,将所述目标差值作为重新确定的筛选时间。

一种可能的实施方式中,处理器501执行的指令中,所述从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳与所述筛选时间匹配的第一目标位置点信息,包括:

从所述缓存队列中缓存的位置点信息中,筛选出对应的时间戳早于所述筛选时间的第一目标位置点信息。

一种可能的实施方式中,处理器501执行的指令中,所述基于所述缓存队列中当前缓存的位置点信息以及已绘制的第一目标位置点信息,确定待绘制的第二目标位置点的位置点信息,包括:

确定所述缓存队列当前缓存的位置点信息中时间戳最早的至少一个第三目标位置点信息;以及确定上一次绘制过程中时间戳最晚的至少一个第一目标位置点信息;

基于所述至少一个第三目标位置点信息和所述至少一个第一目标位置点信息进行线性插值运算,得到所述第二目标位置点的位置点信息。

一种可能的实施方式中,处理器501执行的指令中,在接收第一用户端发送的位置点信息之后,将所述位置点信息写入缓存队列之前,所述方法还包括:

判断接收的位置点信息中的时间戳是否晚于当前筛选使用的筛选时间;

若晚于,则将接收的位置点信息写入所述缓存队列。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的移动轨迹确定方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,该计算机产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的移动轨迹确定方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种类簇中心的确定方法、装置、计算机设备及存储介质
  • 一种定位方法及装置、移动设备和计算机可读存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 移动设备操作方法、装置、计算机设备及存储介质
  • 车辆仿真轨迹的生成方法及装置、计算机设备及存储介质
  • 一种运动轨迹确定方法、装置、计算机设备及存储介质
  • 一种相似轨迹的确定方法、装置、计算机设备及存储介质
技术分类

06120115723492