轨迹回放方法及装置转让专利

申请号 : CN202010329410.6

文献号 : CN113554932B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王俊岭高延龙

申请人 : 华为技术有限公司

摘要 :

公开了一种轨迹回放方法及装置,包括:电子设备获取待回放的运动轨迹,运动轨迹包括多个控制节点;电子设备提取出运动轨迹中相邻的第一控制节点和第二控制节点;电子设备根据该第一控制节点、该第二控制节点以及第一方向,确定第一控制节点的旋转角度;其中,在运动轨迹中,第二控制节点在第一控制节点之后;当电子设备检测到运动轨迹回放至第一控制节点时,电子设备根据第一控制节点对应的旋转角度,调整运动轨迹的显示方向。可以通过控制控制节点的数量和控制节点的旋转角度,在保证相似度的情况下,稳定地图中运动轨迹的状态变化。

权利要求 :

1.一种轨迹回放的方法,其特征在于,包括:

电子设备获取待回放的运动轨迹,所述运动轨迹包括多个控制节点;

所述电子设备提取出所述运动轨迹中相邻的第一控制节点和第二控制节点;

所述电子设备根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度;其中,在所述运动轨迹中,所述第二控制节点在所述第一控制节点之后;

当所述电子设备检测到所述运动轨迹回放至所述第一控制节点时,所述电子设备根据所述第一控制节点对应的旋转角度,调整所述运动轨迹的显示方向;

所述电子设备根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当所述电子设备检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所成的第一夹角小于或等于第一阈值时,所述电子设备确定所述第一控制节点对应的旋转角度为0;

当所述电子设备检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所构成的第一夹角大于第一阈值时,所述电子设备确定所述第一控制节点对应的旋转角度为所述第一夹角。

2.根据权利要求1所述的方法,其特征在于,所述电子设备根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当所述第一控制节点为所述运动轨迹中的第一个控制节点时,当所述电子设备检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所构成的第一夹角大于第三阈值,所述电子设备确定所述第一控制节点对应的旋转角度为所述第一夹角;其中,所述第三阈值小于所述第一阈值。

3.根据权利要求1所述的方法,其特征在于,所述电子设备根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当所述电子设备检测所述第一控制节点和所述第二控制节点之间连线的距离大于第四阈值,所述电子设备确定所述第一控制节点对应的旋转角度为所述第一夹角。

4.根据权利要求1所述的方法,其特征在于,在电子设备获取待回放的运动轨迹之前,所述方法还包括:所述电子设备获取到所述电子设备的初始运动轨迹;

所述电子设备从所述初始运动轨迹中确定出多个轨迹点;

所述电子设备通过所述多个轨迹点的位置信息,从所述多个轨迹点中确定出所述多个控制节点。

5.根据权利要求4所述的方法,其特征在于,所述电子设备通过所述多个轨迹点的位置信息,从所述多个轨迹点中确定出所述多个控制节点,具体包括:当所述电子设备检测所述多个轨迹点中目标轨迹点分别与其相邻的两个轨迹点连成的线段所构成的夹角大于第五阈值,所述电子设备判断所述目标轨迹点为冗余节点;

所述电子设备在所述多个轨迹点中删除所述冗余节点,所述多个轨迹点中剩余的轨迹点为所述多个控制节点。

6.根据权利要求4所述的方法,其特征在于,所述电子设备获取待回放的运动轨迹,具体包括:所述电子设备将所述多个控制节点连线成所述运动轨迹。

7.一种轨迹回放的方法,其特征在于,包括:

电子设备获取待回放的运动轨迹,所述运动轨迹包括多个控制节点;

所述电子设备提取出所述运动轨迹中相邻的第一控制节点和第二控制节点;

所述电子设备根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度;其中,在所述运动轨迹中,所述第二控制节点在所述第一控制节点之后;

当所述电子设备检测到所述运动轨迹回放至所述第一控制节点时,所述电子设备根据所述第一控制节点对应的旋转角度,调整所述运动轨迹的显示方向;

所述电子设备根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当所述电子设备检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所成的第一夹角小于或等于第一阈值时,或所述第一控制节点和所述第二控制节点之间连线的距离小于或等于第二阈值,所述电子设备确定所述第一控制节点对应的旋转角度为

0。

8.根据权利要求7所述的方法,其特征在于,所述电子设备根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当所述电子设备检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所成的第一夹角大于第一阈值时,且所述第一控制节点和所述第二控制节点之间连线的距离大于第二阈值,所述电子设备确定所述第一控制节点对应的旋转角度为所述第一夹角。

9.根据权利要求7或8所述的方法,其特征在于,所述电子设备根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当所述第一控制节点为所述运动轨迹中的第一个控制节点时,当所述电子设备检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所构成的第一夹角大于第三阈值,所述电子设备确定所述第一控制节点对应的旋转角度为所述第一夹角;其中,所述第三阈值小于所述第一阈值。

10.根据权利要求7或8所述的方法,其特征在于,所述电子设备根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当所述电子设备检测所述第一控制节点和所述第二控制节点之间连线的距离大于第四阈值,所述电子设备确定所述第一控制节点对应的旋转角度为所述第一夹角。

11.根据权利要求7或8所述的方法,其特征在于,在电子设备获取待回放的运动轨迹之前,所述方法还包括:所述电子设备获取到所述电子设备的初始运动轨迹;

所述电子设备从所述初始运动轨迹中确定出多个轨迹点;

所述电子设备通过所述多个轨迹点的位置信息,从所述多个轨迹点中确定出所述多个控制节点。

12.根据权利要求11所述的方法,其特征在于,所述电子设备通过所述多个轨迹点的位置信息,从所述多个轨迹点中确定出所述多个控制节点,具体包括:当所述电子设备检测所述多个轨迹点中目标轨迹点分别与其相邻的两个轨迹点连成的线段所构成的夹角大于第五阈值,所述电子设备判断所述目标轨迹点为冗余节点;

所述电子设备在所述多个轨迹点中删除所述冗余节点,所述多个轨迹点中剩余的轨迹点为所述多个控制节点。

13.根据权利要求11所述的方法,其特征在于,所述电子设备获取待回放的运动轨迹,具体包括:所述电子设备将所述多个控制节点连线成所述运动轨迹。

14.一种电子设备,其特征在于,包括:一个或多个处理器、存储器和显示屏;

所述存储器、所述显示屏与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得执行:获取待回放的运动轨迹,所述运动轨迹包括多个控制节点;

提取出所述运动轨迹中相邻的第一控制节点和第二控制节点;

根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度;其中,在所述运动轨迹中,所述第二控制节点在所述第一控制节点之后;

当检测到所述运动轨迹回放至所述第一控制节点时,根据所述第一控制节点对应的旋转角度,调整所述运动轨迹的显示方向;

所述根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所成的第一夹角小于或等于第一阈值时,确定所述第一控制节点对应的旋转角度为0;

当检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所构成的第一夹角大于第一阈值时,确定所述第一控制节点对应的旋转角度为所述第一夹角。

15.根据权利要求14所述的电子设备,其特征在于,根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当所述第一控制节点为所述运动轨迹中的第一个控制节点时,当检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所构成的第一夹角大于第三阈值,确定所述第一控制节点对应的旋转角度为所述第一夹角;其中,所述第三阈值小于所述第一阈值。

16.根据权利要求14所述的电子设备,其特征在于,根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当检测所述第一控制节点和所述第二控制节点之间连线的距离大于第四阈值,确定所述第一控制节点对应的旋转角度为所述第一夹角。

17.根据权利要求14所述的电子设备,其特征在于,在获取待回放的运动轨迹之前,还包括:获取到所述电子设备的初始运动轨迹;

从所述初始运动轨迹中确定出多个轨迹点;

通过所述多个轨迹点的位置信息,从所述多个轨迹点中确定出所述多个控制节点。

18.根据权利要求17所述的电子设备,其特征在于,通过所述多个轨迹点的位置信息,从所述多个轨迹点中确定出所述多个控制节点,具体包括:当检测所述多个轨迹点中目标轨迹点分别与其相邻的两个轨迹点连成的线段所构成的夹角大于第五阈值,判断所述目标轨迹点为冗余节点;

在所述多个轨迹点中删除所述冗余节点,所述多个轨迹点中剩余的轨迹点为所述多个控制节点。

19.根据权利要求17所述的电子设备,其特征在于,获取待回放的运动轨迹,具体包括:将所述多个控制节点连线成所述运动轨迹。

20.一种电子设备,其特征在于,包括:一个或多个处理器、存储器和显示屏;

所述存储器、所述显示屏与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得执行:获取待回放的运动轨迹,所述运动轨迹包括多个控制节点;

提取出所述运动轨迹中相邻的第一控制节点和第二控制节点;

根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度;其中,在所述运动轨迹中,所述第二控制节点在所述第一控制节点之后;

当检测到所述运动轨迹回放至所述第一控制节点时,根据所述第一控制节点对应的旋转角度,调整所述运动轨迹的显示方向;

所述根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所成的第一夹角小于或等于于第一阈值时,或所述第一控制节点和所述第二控制节点之间连线的距离小于或等于第二阈值,确定所述第一控制节点对应的旋转角度为0。

21.根据权利要求20所述的电子设备,其特征在于,根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所成的第一夹角大于第一阈值时,且所述第一控制节点和所述第二控制节点之间连线的距离大于第二阈值,确定所述第一控制节点对应的旋转角度为所述第一夹角。

22.根据权利要求20或21所述的电子设备,其特征在于,根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当所述第一控制节点为所述运动轨迹中的第一个控制节点时,当检测所述第一方向与所述第一控制节点和所述第二控制节点之间连线所构成的第一夹角大于第三阈值,确定所述第一控制节点对应的旋转角度为所述第一夹角;其中,所述第三阈值小于所述第一阈值。

23.根据权利要求20或21所述的电子设备,其特征在于,根据所述第一控制节点、所述第二控制节点以及第一方向,确定所述第一控制节点的旋转角度,具体包括:当检测所述第一控制节点和所述第二控制节点之间连线的距离大于第四阈值,确定所述第一控制节点对应的旋转角度为所述第一夹角。

24.根据权利要求20或21所述的电子设备,其特征在于,在获取待回放的运动轨迹之前,还包括:获取到所述电子设备的初始运动轨迹;

从所述初始运动轨迹中确定出多个轨迹点;

通过所述多个轨迹点的位置信息,从所述多个轨迹点中确定出所述多个控制节点。

25.根据权利要求24所述的电子设备,其特征在于,通过所述多个轨迹点的位置信息,从所述多个轨迹点中确定出所述多个控制节点,具体包括:当检测所述多个轨迹点中目标轨迹点分别与其相邻的两个轨迹点连成的线段所构成的夹角大于第五阈值,判断所述目标轨迹点为冗余节点;

在所述多个轨迹点中删除所述冗余节点,所述多个轨迹点中剩余的轨迹点为所述多个控制节点。

26.根据权利要求24所述的电子设备,其特征在于,获取待回放的运动轨迹,具体包括:将所述多个控制节点连线成所述运动轨迹。

27.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至13任一项所述的方法。

28.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至13任一项所述的方法。

说明书 :

轨迹回放方法及装置

技术领域

[0001] 本申请涉及电子地图数据处理技术领域,尤其涉及轨迹回放方法及装置。

背景技术

[0002] 随着传感器技术的发展和普及,全球卫星导航系统(Global  Navigation Satellite System,GNSS)成为终端设备的基础能力,如汽车、手机和手表等。相关设备或应
用程序利用GNSS完成用户轨迹记录后,可提供动态回放轨迹的能力。轨迹回放是指以合适
的时间间隔不断更新用户轨迹及显示区域的地图状态,直至用户轨迹结尾。
[0003] 现有的轨迹的抽稀技术可提供与初始运动轨迹近似的简化轨迹。在轨迹回放中,轨迹抽稀可用来指导地图状态的变化轨迹,所谓的地图状态的变化轨迹是指地图中心显示
区域对应的真实地理坐标的变化轨迹。
[0004] 然而,轨迹回放时常存在两个问题,其一是若简化轨迹与初始运动轨迹的相似度比较低,则会引发轨迹跑出地图显示区域的问题;其二是若简化轨迹与初始运动轨迹的相
似度比较高,则会导致地图的状态变化过于剧烈,引起视觉的眩晕感,可能会造成用户的主
观不适。
[0005] 所以,如何在保证相似度的情况下,稳定地图的状态变化,是本领域技术人员正在研究的问题。

发明内容

[0006] 本申请实施例提供了一种轨迹回放方法及装置,能够在保证相似度的情况下,稳定地图的状态变化。
[0007] 第一方面,本申请提供了一种轨迹回放的方法,包括:
[0008] 电子设备获取待回放的运动轨迹,运动轨迹包括多个控制节点;电子设备提取出运动轨迹中相邻的第一控制节点和第二控制节点;电子设备根据该第一控制节点、该第二
控制节点以及第一方向,确定第一控制节点的旋转角度;其中,在运动轨迹中,第二控制节
点在第一控制节点之后;当电子设备检测到运动轨迹回放至第一控制节点时,电子设备根
据第一控制节点对应的旋转角度,调整运动轨迹的显示方向。
[0009] 实施第一方面的方法,将运动轨迹中每一个控制节点都对应一个旋转角度,电子设备通过对运动轨迹中每个控制节点的旋转角度进行确定,根据每个控制节点的旋转角
度,在电子设备的显示屏上动态回放该运动轨迹。其中第一方向为运动轨迹当时在电子设
备的显示区域中的显示方向,该显示方向可以理解为沿着电子设备的显示区域的底部的垂
直方向指向显示区域的顶部的方向。运动轨迹中控制节点的数量与该运动轨迹和初始运动
轨迹的相似度有关,以及运动轨迹中控制节点的旋转角度与电子设备回放该运动轨迹的稳
定性有关。电子设备可以通过控制控制节点的数量和控制节点的旋转角度,在保证相似度
的情况下,稳定地图中运动轨迹的状态变化。
[0010] 结合第一方面,在一些实施例中,电子设备根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当电子设备检测第一方向与第一控制
节点和第二控制节点之间连线所成的第一夹角小于或等于第一阈值时,电子设备确定第一
控制节点对应的旋转角度为0。这种方式,若第一夹角不大于第一阈值时,可以认为当前运
动轨迹在显示区域中的显示方向不影响用户在第一方向上的观看,无需对运动轨迹的显示
方向进行旋转。通过设置第一阈值,可以减少对运动轨迹的显示方向的旋转频率,稳定地图
中运动轨迹的状态变化。
[0011] 在一些实施例中,电子设备根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当电子设备检测第一方向与第一控制节点和第二控
制节点之间连线所构成的第一夹角大于第一阈值时,电子设备确定第一控制节点对应的旋
转角度为第一夹角。这种方式,若第一夹角大于第一阈值时,对运动轨迹的显示方向进行旋
转,使运动轨迹的显示方向为第一方向,这样可以使用户在第一方向上进行观看轨迹回放,
提升用户体验。
[0012] 结合第一方面,在一些实施例中,电子设备根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当电子设备检测第一方向与第一控制
节点和第二控制节点之间连线所成的第一夹角小于或等于第一阈值时,或第一控制节点和
第二控制节点之间连线的距离小于或等于第二阈值,电子设备确定第一控制节点对应的旋
转角度为0。也就是说,若第一夹角大于第一阈值,但是该控制节点与下一个控制节点的物
理距离相近(小于或等于第二阈值),也不能旋转运动轨迹的显示方向。这样可以避免由于
两个控制节点的距离太相近,从而在短时间内连续变换两次运动轨迹的显示方向的情况,
进一步的提高了地图状态的稳定性。
[0013] 结合第一方面,在一些实施例中,电子设备根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当电子设备检测第一方向与第一控制
节点和第二控制节点之间连线所成的第一夹角大于第一阈值时,且第一控制节点和第二控
制节点之间连线的距离大于第二阈值,电子设备确定第一控制节点对应的旋转角度为第一
夹角。这种方式,对第一夹角和两个控制节点的距离共同进行判断是否旋转运动轨迹的显
示方向,可以减少对运动轨迹的显示方向的旋转频率,稳定地图中运动轨迹的状态变化。
[0014] 在一些实施例中,电子设备根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当第一控制节点为运动轨迹中的第一个控制节点时,
当电子设备检测第一方向与第一控制节点和第二控制节点之间连线所构成的第一夹角大
于第三阈值,电子设备确定第一控制节点对应的旋转角度为第一夹角;其中,第三阈值小于
第一阈值。由于第三阈值小于第一阈值,即运动轨迹的第一个控制节点比其他控制节点更
容易实现对运动轨迹的显示方向进行旋转。这样可以达到在一开始播放动态轨迹时,就能
使用户以第一方向观看轨迹的效果。
[0015] 结合第一方面,在一些实施例中,电子设备根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当电子设备检测第一控制节点和第二
控制节点之间连线的距离大于第四阈值,电子设备确定第一控制节点对应的旋转角度为第
一夹角。这种方式描述了在控制节点的距离下一个控制节点较远(大于第四阈值)的情况
下,即使该第一夹角不满足旋转运动轨迹的显示方向的条件,但为了避免用户长时间无法
以第一方向观看轨迹,依然可以对运动轨迹的显示方向进行旋转,保证当前的轨迹前行方
向为第一方向,提升用户体验。
[0016] 结合第一方面,在一些实施例中,在电子设备获取待回放的运动轨迹之前,方法还包括:电子设备获取到电子设备的初始运动轨迹;电子设备从初始运动轨迹中确定出多个
轨迹点;电子设备通过多个轨迹点的位置信息,从多个轨迹点中确定出多个控制节点。其
中,电子设备从多个轨迹点中确定出多个控制节点的方式可以包括取相邻两个轨迹点的距
离中点、时间中点、位置坐标的加权平均等。
[0017] 在一些实施例中,电子设备通过多个轨迹点的位置信息,从多个轨迹点中确定出多个控制节点,具体包括:当电子设备检测多个轨迹点中目标轨迹点分别与其相邻的两个
轨迹点连成的线段所构成的夹角大于第五阈值,电子设备判断目标轨迹点为冗余节点;电
子设备在多个轨迹点中删除冗余节点,多个轨迹点中剩余的轨迹点为多个控制节点。这种
通过设置第五阈值的方式可以有效的删除冗余节点,由于冗余节点对于轨迹的相似度影响
并不大,对于同一个运动轨迹来说,减少冗余节点可以减少旋转次数,提高地图状态变化的
稳定性。
[0018] 在一些实施例中,电子设备获取待回放的运动轨迹,具体包括:电子设备将多个控制节点连线成运动轨迹。其中,运动轨迹与初始运动轨迹的相似度与控制节点的数量以及
第五阈值有关,电子设备通过设置合理的第五阈值,可以很好的控制轨迹相似度和地图状
态变化的稳定性的问题。
[0019] 第二方面,本申请提供了一种电子设备,该电子设备可包括:一个或多个处理器、存储器和显示屏;存储器、显示屏与一个或多个处理器耦合,存储器用于存储计算机程序代
码,该计算机程序代码包括计算机指令,一个或多个处理器调用该计算机指令以使得电子
设备执行:
[0020] 获取待回放的运动轨迹,运动轨迹包括多个控制节点;提取出运动轨迹中相邻的第一控制节点和第二控制节点;根据第一控制节点、第二控制节点以及第一方向,确定第一
控制节点的旋转角度;其中,在运动轨迹中,第二控制节点在第一控制节点之后;当检测到
运动轨迹回放至第一控制节点时,根据第一控制节点对应的旋转角度,调整运动轨迹的显
示方向。
[0021] 结合第二方面,在一些实施例中,根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当检测第一方向与第一控制节点和第二控制
节点之间连线所成的第一夹角小于或等于第一阈值时,确定第一控制节点对应的旋转角度
为0。
[0022] 在一些实施例中,根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当检测第一方向与第一控制节点和第二控制节点之间连线所
构成的第一夹角大于第一阈值时,确定第一控制节点对应的旋转角度为第一夹角。
[0023] 结合第二方面,在一些实施例中,根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当检测第一方向与第一控制节点和第二控制
节点之间连线所成的第一夹角小于或等于第一阈值时,或第一控制节点和第二控制节点之
间连线的距离小于或等于第二阈值,确定第一控制节点对应的旋转角度为0。
[0024] 结合第二方面,在一些实施例中,根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当检测第一方向与第一控制节点和第二控制
节点之间连线所成的第一夹角大于第一阈值时,且第一控制节点和第二控制节点之间连线
的距离大于第二阈值,确定第一控制节点对应的旋转角度为第一夹角。
[0025] 在一些实施例中,根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当第一控制节点为运动轨迹中的第一个控制节点时,当检测第
一方向与第一控制节点和第二控制节点之间连线所构成的第一夹角大于第三阈值,确定第
一控制节点对应的旋转角度为第一夹角;其中,第三阈值小于第一阈值。
[0026] 结合第二方面,在一些实施例中,根据第一控制节点、第二控制节点以及第一方向,确定第一控制节点的旋转角度,具体包括:当检测第一控制节点和第二控制节点之间连
线的距离大于第四阈值,确定第一控制节点对应的旋转角度为第一夹角。
[0027] 结合第二方面,在一些实施例中,在获取待回放的运动轨迹之前,方法还包括:获取到电子设备的初始运动轨迹;从初始运动轨迹中确定出多个轨迹点;通过多个轨迹点的
位置信息,从多个轨迹点中确定出多个控制节点。
[0028] 在一些实施例中,通过多个轨迹点的位置信息,从多个轨迹点中确定出多个控制节点,具体包括:当检测多个轨迹点中目标轨迹点分别与其相邻的两个轨迹点连成的线段
所构成的夹角大于第五阈值,判断目标轨迹点为冗余节点;在多个轨迹点中删除冗余节点,
多个轨迹点中剩余的轨迹点为多个控制节点。
[0029] 在一些实施例中,获取待回放的运动轨迹,具体包括:将多个控制节点连线成运动轨迹。
[0030] 第三方面,本申请实施例提供了一种轨迹回放系统,包括电子设备和服务器,其中,
[0031] 服务器,用于获取待回放的运动轨迹,运动轨迹包括多个控制节点;
[0032] 服务器,还用于提取出运动轨迹中相邻的第一控制节点和第二控制节点;
[0033] 服务器,还用于根据第一控制节点、该第二控制节点以及第一方向,确定第一控制节点的旋转角度;其中,在运动轨迹中,第二控制节点在第一控制节点之后;
[0034] 服务器,还用于将所述运动轨迹以及所述旋转角度发送给电子设备;
[0035] 电子设备,用于在检测到运动轨迹回放至第一控制节点时,根据第一控制节点对应的旋转角度,调整运动轨迹的显示方向。
[0036] 结合第三方面,在一些实施例中,服务器具体用于:当检测第一方向与第一控制节点和第二控制节点之间连线所成的第一夹角小于或等于第一阈值时,确定第一控制节点对
应的旋转角度为0。
[0037] 在一些实施例中,服务器具体用于:当检测第一方向与第一控制节点和第二控制节点之间连线所构成的第一夹角大于第一阈值时,确定第一控制节点对应的旋转角度为第
一夹角。
[0038] 结合第三方面,在一些实施例中,服务器具体用于:当检测第一方向与第一控制节点和第二控制节点之间连线所成的第一夹角小于或等于第一阈值时,或第一控制节点和第
二控制节点之间连线的距离小于或等于第二阈值,确定第一控制节点对应的旋转角度为0。
[0039] 结合第三方面,在一些实施例中,服务器具体用于:当检测第一方向与第一控制节点和第二控制节点之间连线所成的第一夹角大于第一阈值时,且第一控制节点和第二控制
节点之间连线的距离大于第二阈值,确定第一控制节点对应的旋转角度为第一夹角。
[0040] 在一些实施例中,服务器具体用于:当第一控制节点为运动轨迹中的第一个控制节点时,当检测第一方向与第一控制节点和第二控制节点之间连线所构成的第一夹角大于
第三阈值,确定第一控制节点对应的旋转角度为第一夹角;其中,第三阈值小于第一阈值。
[0041] 结合第三方面,在一些实施例中,服务器具体用于:当检测第一控制节点和第二控制节点之间连线的距离大于第四阈值,确定第一控制节点对应的旋转角度为第一夹角。
[0042] 结合第三方面,在一些实施例中,服务器还用于:在获取待回放的运动轨迹之前获取到电子设备的初始运动轨迹;从初始运动轨迹中确定出多个轨迹点;通过多个轨迹点的
位置信息,从多个轨迹点中确定出多个控制节点。
[0043] 在一些实施例中,服务器具体用于:当检测多个轨迹点中目标轨迹点分别与其相邻的两个轨迹点连成的线段所构成的夹角大于第五阈值,判断目标轨迹点为冗余节点;在
多个轨迹点中删除冗余节点,多个轨迹点中剩余的轨迹点为多个控制节点。
[0044] 在一些实施例中,服务器具体用于:将多个控制节点连线成运动轨迹。
[0045] 第四方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面任一项可能的实现方式中的轨
迹回放的方法。
[0046] 第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方面任一项可能的实现方式中的轨迹回放的方法。
[0047] 可以理解地,上述提供的第二方面提供的电子设备、第三方面提供的系统、第四方面提供的计算机存储介质,以及第五方面提供的计算机程序产品均用于执行第一方面所提
供的轨迹回放的方法,因此,其所能达到的有益效果可参考第一方面所提供的方法中的有
益效果,此处不再赘述。

附图说明

[0048] 图1为本申请实施例提供的中心点坐标、方位角、控制节点的示意图;
[0049] 图2为本申请实施例提供的一种确定控制节点方法的示意图;
[0050] 图3为本申请实施例提供的又一种确定控制节点方法的示意图;
[0051] 图4为本申请实施例提供的一种确定旋转夹角的示意图;
[0052] 图5为本申请实施例提供的一种确定控制节点的镜头动作的方法的示意图;
[0053] 图6为本申请实施例提供的一种轨迹回放方法的界面显示图;
[0054] 图7为本申请实施例提供的一种电子设备的结构示意图;
[0055] 图8为本申请实施例提供的一种软件架构示意图。

具体实施方式

[0056] 下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的
“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可
以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述
中,“多个”是指两个或多于两个。
[0057] 以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含
义是两个或两个以上。
[0058] 本申请实施例中涉及的电子设备可以是手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra‑mobile Personal Computer,UMPC)、服务器(包括云服
务器)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电
子设备(例如运动手表、智能手环、智能手表)、虚拟现实设备、车载多媒体设备、无人飞行
器、航拍仪器等具备定位数据采集和/或处理能力的设备。
[0059] 首先,对本申请中涉及的部分相关用语进行解释说明,以便于本领域技术人员理解。
[0060] (1)轨迹回放:是指用户选择某个时间段,然后电子设备在地图上再现这个时间段内用户的轨迹的出现情况。该时间段内用户的轨迹包括一系列的位置点,每个位置点可以
包括日期、时间、经度、纬度、海拔信息、运动速度等信息。本申请中,位置点可以称为轨迹
点。
[0061] (2)地图状态:表示轨迹回放中,显示区域的地图状态。本申请用地图中心点坐标和地图方位角来描述地图状态,中心点如图1中的a图所示,图1中的a图示出了在显示区域
的两对角线的交点,即显示区域的中心点。中心点坐标描述了地图当前在显示区域的中心
点的物理坐标,地图状态随着中心点坐标的移动而相应的移动。方位角如图1中的b图所示,
图1中的b图示例性的表示了当电子设备竖屏时地图状态的方位角,箭头①指向的方向表示
物理的正北方向,箭头②指向的方向表示沿电子设备的显示区域的底部的垂直方向指向显
示区域的顶部的方向。其中方位角表示物理的正北方向沿顺时针方向旋转至箭头②指向的
方向所形成的最小角度。例如方位角为45度,则地图的视角(箭头②指向的方向)为北偏东
45度,例如方位角为90度,则此时地图的视角(箭头②指向的方向)为正东方向。如图1中的c
图所示,图1中的c图示例性的表示了当电子设备横屏时地图状态的方位角,箭头③指向的
方向表示物理的正北方向,箭头④指向的方向表示沿电子设备的显示区域的底部的垂直方
向指向显示区域的顶部的方向。其中,方位角与电子设备竖屏时相同。
[0062] 本申请中,将沿电子设备的显示区域的底部的垂直方向指向显示区域的顶部的方向(箭头②指向的方向)可以称为正方向或第一方向。
[0063] (3)镜头动作:包括直行、旋转和停止三个基础动作,其中直行表示地图中心点的变化,其中旋转表示地图方位角的变化,其中停止表示停止地图状态的变化。
[0064] (4)运动轨迹:指轨迹回放过程中地图中心点坐标形成的轨迹。本申请将运动轨迹表示为有限的多条直线,相邻直线的交点及运动轨迹的首尾点定义为控制节点,多个控制
节点的连线形成了运动轨迹,如图1中的d图所示。本申请中,每一个控制节点都对应一个镜
头动作,电子设备根据控制节点做出相应的镜头动作,从而动态绘制出运动轨迹。
[0065] (5)抽稀算法:指对大量冗余的轨迹数据点进行压缩以提取必要的数据点的一种算法。可以将曲线近似表示为一系列点,并减少点的数量。在轨迹回放中,轨迹的抽稀算法
可提供与初始运动轨迹近似的简化轨迹,可用来指导地图状态的变化轨迹。所谓的地图状
态的变化轨迹是指地图中心点坐标对应的真实地理坐标的变化轨迹。
[0066] 现有的轨迹回放方法通常是利用抽稀算法提供与初始轨迹近似的简化轨迹,若简化轨迹与初始轨迹的相似度比较低,则地图中心点坐标跟不上轨迹的绘制速度,会引发轨
迹跑出地图显示区域的问题。相反地,若简化轨迹与初始运动轨迹的相似度比较高,则会导
致地图的状态变化过于剧烈,引起视觉的眩晕感,可能会造成用户的主观不适。
[0067] 针对上述技术问题,本申请实施例提出一种轨迹回放方法,可以在保证相似度的情况下,稳定地图的状态变化,提升用户体验。在本申请的轨迹回放过程中,首先电子设备
确定轨迹的控制节点,然后确定控制节点的镜头动作,根据控制节点以及控制节点的镜头
动作动态绘制轨迹回放曲线。下面分别介绍上述两个过程。
[0068] (一)确定轨迹的控制节点。
[0069] 步骤一、获取电子设备的初始运动轨迹。
[0070] 电子设备获取电子设备的初始运动轨迹,该初始运动轨迹包括散步轨迹、跑步轨迹、登山轨迹、游乐园轨迹等各种类型轨迹。其中电子设备可以是在本地获取初始运动轨
迹,也可以是在其他电子设备(例如云端服务器)获取初始运动轨迹,本申请不做限制。
[0071] 电子设备可以是依据用户选择的时间段获取该时间段内的初始运动轨迹,也可以是依据用户选择的起始位置和终点位置获取两个位置之间的初始运动轨迹,本申请不做限
制。
[0072] 在一些可能的实施例中,电子设备可以是依据预设条件获取的初始运动轨迹。该预设条件可以是电子设备连续运动时间最长的一次运动轨迹,可以是电子设备连续运动距
离最长的一次运动轨迹,可以是电子设备在一个月/一年中运动距离最长的某一天的运动
轨迹,等等。其中,该预设条件可以是用户设置或用户选择的,也可以是电子设备中依据某
个时间点和/或地点自动触发的。
[0073] 举例来说,当电子设备检测到当前的位置为公园时,电子设备自动获取电子设备在该公园的历史运动轨迹;当电子设备检测到当前的时间为2019年12月31日时,电子设备
自动获取电子设备在一年中(2018年12月31日至2019年12月31日)运动距离最长的某一天
的运动轨迹;当电子设备检测到用户触发的获取电子设备连续运动时间最长的一次运动轨
迹的操作,则电子设备获取电子设备连续运动时间最长的一次运动轨迹。
[0074] 步骤二、计算该初始运动轨迹的轨迹点。
[0075] 轨迹点定义为Pi(x,y),其中i表示轨迹点在整个初始运动轨迹中的索引值,(x,y)表示轨迹点的坐标,轨迹点的坐标可以是绝对坐标(例如经纬度)或相对坐标。运动的轨迹
数据集合定义为P={Pi},i=1,2,…,N,其中N为正整数,表示当前初始运动轨迹的轨迹点
数量。每个轨迹点可以包括日期、时间、经度、纬度、海拔信息、运动速度等信息。
[0076] 电子设备获取到电子设备的初始运动轨迹后,电子设备根据分段数量K和当前初始运动轨迹的总路程L,根据总路程L将初始运动轨迹分为K段,计算得出每两段路程之间的
间隔为L/K,每隔L/K的路程为一个轨迹点。初始运动轨迹的起始点和终点分别为一个轨迹
点,此时轨迹点数量有N=K+1个。其中,路程可以是实际的地理路程或地图上的路程。
[0077] 在一些可能的实施例中,轨迹点还可以是具有相同直线距离间隔的位置点。每一个轨迹点与其相邻的轨迹点的直线距离都相同。该直线距离可以是实际地理位置上的距离
也可以是地图上的距离。
[0078] 在一些可能的实施例中,轨迹点还可以是具有相同时间间隔的位置点。举例来说,电子设备根据分段数量K和当前初始运动轨迹所耗费的总时间T,将初始运动轨迹分为K段,
计算得出分段间隔为T/K,每隔T/K的时间段取一个轨迹点。初始运动轨迹的起始点和终点
分别为一个轨迹点,此时轨迹点有K+1个。
[0079] 可选的,不限于上述等距取点和等时间取点的方式,本申请还可以根据其他采样算法获得轨迹点,例如提取运动轨迹的拐点作为轨迹点等,本申请对此不作限制。
[0080] 步骤三:根据轨迹点生成该初始运动轨迹的控制节点集合。
[0081] 电子设备获取到初始运动轨迹中的轨迹点后,每两个相邻轨迹点之间按照预设方式取一个控制节点,并添加首尾轨迹点形成控制节点集合。下面示例性的介绍几种可能的
预设方式。
[0082] 方式一,两个相邻轨迹点的距离中点为控制节点。举例来说,两个相邻轨迹点的距离间隔为L/K,在两个相邻轨迹点之间的初始运动轨迹上取一个控制节点,该控制节点与这
两个相邻轨迹点的距离都为L/2K。
[0083] 方式二,两个相邻轨迹点的时间中点为控制节点。举例来说,两个相邻轨迹点的时间间隔为T/K,在两个相邻轨迹点之间的初始运动轨迹上取一个控制节点,该控制节点与这
两个相邻轨迹点的时间间隔都为T/2K。
[0084] 方式三,对两个相邻轨迹点的位置坐标做加权平均,得到一个新的坐标作为控制节点的坐标。举例来说,两个相邻轨迹点的位置坐标分别为(x1,y1)和(x2,y2),则取控制节
点的坐标为
[0085] 可选的,不限于上述三种方式,本申请还可以根据其他算法获得控制节点,例如对三个连续轨迹点的位置坐标做加权平均,得到一个新的坐标作为控制节点等,本申请对此
不作限制。
[0086] 图2示例性的示出了上述获取控制节点集合的过程,如图2中的a图所示,图2中的a图示例性的示出了一条初始运动轨迹。在这条初始运动轨迹中,电子设备每隔相同距离取
一个轨迹点。如图2中的b图所示,图2中的b图示例性的取了10个轨迹点,每两个相邻轨迹点
之间的距离(实际的地理距离或地图上的距离)相同。根据上述的预设规则三,对两个相邻
轨迹点的位置坐标做加权平均,得到一个新的坐标作为控制节点的坐标。如图2中的c图所
示,电子设备获得11个控制节点。
[0087] 步骤四:电子设备将多个控制节点连线成运动轨迹。
[0088] 可以理解的,分段数量K越多,则控制节点的数量就会越多,对于同一个运动轨迹来说,绘制出的运动轨迹与实际的初始运动轨迹的相似度也会越高。然而控制节点的数量
越多,镜头动作也会越多,导致地图的状态变化不稳定。
[0089] 在一些可能的实施例中,根据上述获取的控制节点集合,可以在不影响相似度的情况下,进一步筛选上述步骤三中控制节点集合中冗余的控制节点,删除冗余控制节点。
[0090] 即在步骤三之后,步骤四之前还包括,删除上述控制节点集合中冗余的控制节点,形成新的控制节点集合。
[0091] 电子设备根据轨迹点生成该轨迹的控制节点集合之后,依次对控制节点集合中的控制节点进行判断。若该节点分别与其相邻的两个节点连成的线段所构成的夹角(锐角)大
于第一阈值,则判断该节点为冗余节点。其中,首尾节点均确定为控制节点,无需进行判断。
依次对控制节点集合中的控制节点进行判断,形成新的控制节点集合。
[0092] 图3示例性的示出了上述形成新的控制节点集合的过程。如图3中的a图所示,图3中的a图示例性的示出了步骤三中获取的控制节点集合,包括A、B、C、D、E五个控制节点。首
先确定首节点A为控制节点,获取A的下一个控制节点B,判断B是否为冗余节点。其中,图3中
的正北方向为地图中的正北方向,例如,此时图3中的a图的运动轨迹中控制节点B在控制节
点A的东北方向。如图3中的b图所示,以B为中间节点,计算A、B、C三个节点组成的夹角θ。其
中θ=|180‑|θ1‑θ2||,θ1为AB的方位角(正北方向与AB指向方向的夹角),θ2为BC的方位角(正北方向与BC指向方向的夹角)。判断θ的大小,若θ大于第五阈值,则判断控制节点B为冗
余节点,如图3中的c图所示,删除控制节点B。
[0093] 然后,获取B的下一个控制节点C,判断C是否为冗余节点。以C为中间节点,计算A、C、D三个节点组成的夹角θ,判断出C为冗余节点,删除控制节点C。这样依次对控制节点集合
中的控制节点进行判断,直到最后一个控制节点E,E为尾节点,将尾节点直接确定为控制节
点。如图3中的d图所示,形成新的控制节点集合,包括A、D、E三个控制节点。
[0094] 在本申请中,上述第五阈值可以称为衰减角度α。上述确定轨迹的控制节点的方式,通过设置衰减角度α的方式可以有效的删除冗余控制点,由于冗余控制节点对于轨迹的
相似度影响并不大,对于同一个运动轨迹来说,减少冗余控制点可以减少镜头动作,提高地
图状态变化的稳定性。
[0095] 可以理解的,衰减角度α越小,则筛选出的冗余控制节点的数量就会越多,那么剩余的控制节点就越少,对于同一个运动轨迹来说,绘制出的轨迹与实际轨迹的相似度也会
越低。因此,分段数量K和衰减角度α共同决定了绘制出的轨迹与实际轨迹的相似度。本申请
中,通过设置合理的分段数量K和衰减角度α,可以很好的控制轨迹相似度和地图状态变化
的稳定性的问题。例如,分段数量K可以设置在10左右,衰减角度α可以设置在160度左右。
[0096] 在一些可能的实施方式中,通过固定轨迹点之间的物理距离,可以针对不同的轨迹长度确定不同的分段数量。轨迹的长度越长,分段数量就越多,控制节点也就更多;轨迹
的长度越短,分段数量越少,控制节点也就更少。
[0097] 在一些可能的实施方式中,根据运动轨迹显示在电子设备的显示区域上的比例尺(显示距离与实际距离的比)来确定不同的分段数量,其中比例尺越大,分段数量就越多。举
例来说,一段相同的运动轨迹,实际距离为5公里,若该运动轨迹在电子设备的显示区域上
的比例尺为1厘米:1公里,则该运动轨迹显示在电子设备的显示区域上总长有5厘米,可以
对该运动轨迹取10个轨迹点,分段数量为9;若该运动轨迹的比例尺为1厘米:0.5公里(比例
尺变大),则该运动轨迹显示在电子设备的显示区域上总长有10厘米,可以对该运动轨迹取
20个轨迹点,分段数量为19。
[0098] (二)确定控制节点的镜头动作。
[0099] 电子设备获取轨迹的控制节点集合后,确定控制节点集合中每一个控制节点的镜头动作。
[0100] 首先对旋转夹角进行一下说明。本申请中,控制节点的旋转夹角为该控制节点的轨迹方向与正方向的夹角(锐角)。正方向为沿电子设备的显示区域的底部的垂直方向指向
显示区域的顶部的方向。如图4所示,图4中的a图示例性的在显示区域上显示了一段运动轨
迹,包括A、B、C、D,4个控制节点。对于控制节点A,A的轨迹方向为AB方向,正方向在图4中的a图中竖直向上,则A的旋转夹角为θA。若A的镜头动作为旋转,则显示区域的地图状态的方位
角发生变化,以A点为旋转点,正方向为旋转轴,向正方向旋转,旋转角度为θA,如图4中的b
图所示。此时,对于控制节点B来说,B的轨迹方向为BC方向,正方向为AB方向,则B的旋转夹
角为θB。当B的镜头动作为直行时,显示区域的地图状态的方位角不发生变化,正方向不变。
对于控制节点C来说,C的轨迹方向为CD方向,正方向为AB方向,则C的旋转夹角为θC。
[0101] 本申请中,旋转夹角又可以称为第一夹角。
[0102] 下面示例性的介绍几种可能的预设规则。
[0103] 预设规则一,若控制节点的旋转夹角大于第一阈值,则确定该控制节点的镜头动作为旋转。若控制节点的旋转夹角不大于第一阈值,则确定该控制节点的镜头动作为直行。
[0104] 该预设规则一通过判断旋转夹角是否大于第一阈值,确定控制节点的镜头动作。可以降低地图状态进行旋转的频率,无需每次轨迹方向改变时都改变地图状态的方位角,
提高地图状态的稳定性。在本申请中,上述第一阈值可以称为旋转抑制角度β,旋转抑制角
度β可以设置在60度左右。
[0105] 预设规则二,若控制节点的旋转夹角大于第一阈值,且该控制节点与下一个控制节点的物理距离大于第二阈值,则确定该控制节点的镜头动作为旋转。若控制节点的旋转
夹角不大于第一阈值,或该控制节点与下一个控制节点的物理距离不大于第二阈值,则确
定该控制节点的镜头动作为直行。
[0106] 也即是说,当控制节点的旋转夹角大于第一阈值时,若该控制节点与下一个控制节点的物理距离相近(不大于第二阈值),也不能旋转方位角。该预设规则二通过判断旋转
夹角是否大于第一阈值,以及控制节点与下一个控制节点的物理距离是否大于第二阈值,
共同确定控制节点的镜头动作。可以避免由于两个控制节点的距离太相近,从而在短时间
内连续变换两次镜头动作的情况,进一步的提高了地图状态的稳定性。在本申请中,上述第
二阈值可以称为旋转抑制距离Lβ。
[0107] 预设规则三,若控制节点与下一个控制节点的物理距离大于第四阈值,则确定该控制节点的镜头动作为旋转。
[0108] 也即是说,当控制节点的旋转夹角不大于第一阈值时,若该控制节点与下一个控制节点的物理距离较远(大于第四阈值),也可以旋转方位角。该预设规则三描述了在控制
节点的距离下一个控制节点较远的情况下,即使该控制节点的旋转夹角不满足旋转方位角
的条件,但为了避免用户长时间无法以正方向观看轨迹,依然可以旋转方位角,保证当前的
轨迹前行方向近似为正方向,提升用户体验。在本申请中,上述第四阈值可以称为强制旋转
距离Ls。
[0109] 预设规则四,当控制节点为首节点时,若控制节点的旋转夹角大于第三阈值,则确定该控制节点的镜头动作为旋转。若控制节点的旋转夹角不大于第三阈值,则确定该控制
节点的镜头动作为直行。其中,该第三阈值小于上述第一阈值。
[0110] 该预设规则四描述了在控制节点为首节点的情况下,通过判断旋转夹角是否大于第三阈值,来确定首节点的镜头动作。由于第三阈值小于第一阈值,即首节点比其他控制节
点更容易实现旋转方位角的镜头动作。达到在一开始播放动态轨迹时,就能使用户以正方
向观看轨迹的效果。在本申请中,上述第三阈值可以称为首次旋转抑制角度λ,首次旋转抑
制角度λ可以设置在45度左右。
[0111] 预设规则五,若控制节点为尾节点,则该控制节点的镜头动作为停止。
[0112] 本申请中的预设规则可以包括但不限于以上一条或多条预设规则。对于上述预设规则来说,电子设备确定该控制节点的镜头动作为旋转,其中,旋转角度可以为该控制节点
的旋转夹角的角度。为了避免对地图状态进行的旋转程度较大,旋转角度还可以小于该旋
转夹角的角度。电子设备确定该控制节点的镜头动作为直行,即旋转角度为0。
[0113] 图5示例性的示出了确定一段轨迹中控制节点的镜头动作的过程,如图5中的a图所示,图5中的a图示例性的示出了一个控制节点集合,包括A、B、C、D、E五个控制节点。依次
对每一个控制节点进行分析,确定每一个控制节点的镜头动作。其中,图5中的正北方向为
地图中的正北方向,例如,此时图5中的a图的运动轨迹中控制节点B在控制节点A的东北方
向。
[0114] 首先,对于首节点A来说,如图5中的b图所示,获取A的方位角θ0(AB指向方向与正北方向的夹角),根据预设规则四,θ0大于第三阈值,则控制节点A的镜头动作确定为旋转,
其中旋转角度最大为θ0。
[0115] 对于A的下一个控制节点B来说,如图5中的c图所示,获取B的旋转夹角θ。其中θ=|θ1‑θ2|>180?360‑|θ1‑θ2|:|θ1‑θ2|,也即是说,若|θ1‑θ2|>180,则θ=360‑|θ1‑θ2|;若|θ1‑θ2|≤180,则θ=|θ1‑θ2|。θ1为前向相邻旋转节点的方位角(这里是A的方位角),θ2为控制节点B的方位角(BC指向方向与正北方向的夹角)。计算出θ后,根据预设规则一,θ不大于第一阈
值,则控制节点B的镜头动作确定为直行。
[0116] 可选的,若控制节点没有前向相邻旋转节点,则θ1为正方向的方位角。
[0117] 对于B的下一个控制节点C来说,如图5中的d图所示,获取C的旋转夹角。计算出C的旋转夹角后,根据预设规则二,若该旋转夹角大于第二阈值,但是CD的物理距离不大于第二
阈值,则控制节点B的镜头动作确定为直行。
[0118] 对于C的下一个控制节点D来说,如图5中的e图所示,获取D的旋转夹角为θ3(轨迹方向DE与此时的正方向AB方向的夹角)。计算出D的旋转夹角后,根据预设规则三,DE的物理
距离大于第四阈值,则控制节点D的镜头动作确定为旋转,其中旋转角度最大为θ3。
[0119] 对于D的下一个控制节点E来说,根据预设规则五,E为尾节点,则控制节点E的镜头动作为停止。
[0120] 在本申请中,旋转抑制距离Lβ和强制旋转距离Ls越长,对地图状态进行的旋转次数就越少,用户体验不好;旋转抑制距离Lβ和强制旋转距离Ls越短,对地图状态进行的旋转次
数就越多,影响地图状态的稳定性。本申请中,通过设置合理的旋转抑制距离Lβ和强制旋转
距离Ls,可以很好的控制地图状态变化的稳定性的问题。
[0121] 在一些可能的实施方式中,旋转抑制角度β针对不同的轨迹可以取不同的值。举例来说,电子设备计算轨迹的西南坐标和东北坐标组成的矩形框的对角线,该对角线距离为
L。定义旋转抑制距离Lβ=γ*L,其中γ为强度系数,推荐取值为0.05;以及定义强制旋转距
离Ls=η*L,其中η为强度系数,推荐取值为0.25。
[0122] 这种方式,通过引入轨迹形成的矩形框的对角线的距离L,来确定旋转抑制距离Lβ和强制旋转距离Ls。不同的运动轨迹的旋转抑制距离Lβ和强制旋转距离Ls也不同,其中L越
长,旋转抑制距离Lβ和强制旋转距离Ls就越长,对地图状态进行的旋转次数就越少;L越短,
旋转抑制距离Lβ和强制旋转距离Ls就越短,对地图状态进行的旋转次数就越少。
[0123] 本申请中,对于镜头动作为旋转的控制节点,实际中对地图状态方位角的旋转角度最大为该控制节点的旋转夹角。
[0124] 上述描述了电子设备确定控制节点以及确定控制节点的镜头动作的两个过程。在电子设备确定了控制节点以及控制节点的镜头动作之后,根据控制节点以及控制节点的镜
头动作绘制动态的轨迹回放。
[0125] 以电子设备的显示区域的中心点为地图状态的中心点坐标,电子设备动态显示的轨迹为根据控制节点连接而成的轨迹,中心点坐标随着电子设备绘制动态的轨迹而不断改
变。当电子设备检测到运动轨迹回放至镜头动作为直行的控制节点,旋转角度为0,则中心
点坐标以相应的速度移动到下一个控制节点;当电子设备检测到运动轨迹回放至镜头动作
为旋转的控制节点,则根据该控制节点对应的旋转角度,对地图状态的方位角进行相应的
旋转,调整该运动轨迹的显示方向,同时中心点坐标以相应的速度移动到下一个控制节点;
当电子设备绘制到镜头动作为停止的控制节点,则结束绘制,完成轨迹回放。
[0126] 本申请提供的轨迹回放方法,首先选取轨迹的控制节点,根据分段数量K和衰减角度α控制运动轨迹与初始运动轨迹的相似度。根据旋转抑制角度β,旋转抑制距离Lβ和强制
旋转距离Ls控制镜头动作的剧烈程度。镜头动作和运动轨迹由不同的参数控制,可以达到
动态轨迹播放时,轨迹保持在显示区域的同时,且不会引起视觉的主观不适感的效果,提高
地图状态的稳定性。
[0127] 在一种可能的实施方式中,电子设备回放的运动轨迹中还包括兴趣点(Point of Information,POI)。其中POI可以是电子设备预设的点,例如商场、公交站等,还可以是电子
设备根据预设功能检测到的点,例如运动轨迹中速度最快的点、心率最快的点等等。
[0128] 兴趣点可以是在电子设备获取初始运动轨迹之前,电子设备预设的点。例如把运动轨迹中速度最快的点都设置为兴趣点,当电子设备获取到初始运动轨迹后,获取该初始
运动轨迹中速度最快的轨迹点,确定为兴趣点。又例如电子设备把特定建筑物设置为兴趣
点,当电子设备获取到初始运动轨迹后,若该初始运动轨迹经过了该特定建筑物,则将经过
该特定建筑物的轨迹点确定为兴趣点。
[0129] 兴趣点还可以是在电子设备获取初始运动轨迹之后,用户在该初始运动轨迹上选择兴趣点以及兴趣点对应的镜头动作。
[0130] 其中,兴趣点对应的镜头动作可以是电子设备预设的镜头动作,也可以是用户选择的镜头动作。兴趣点对应的镜头动作可以包括暂停、缩放等。暂停表示当电子设备绘制到
镜头动作为暂停的兴趣点,则将地图状态暂停,暂停时间可以是0.5秒;缩放表示当电子设
备绘制到镜头动作为缩放的兴趣点,则对地图显示的比例尺进行缩放,例如在到达兴趣点
时对地图进行放大,在离开兴趣点时对地图进行缩小到之前的比例尺。
[0131] 兴趣点对应的镜头动作还可以是暂停并且缩放。暂停并且缩放表示当电子设备绘制到镜头动作为暂停并且缩放的兴趣点,则在到达兴趣点时对地图进行放大,暂停0.5秒
后,离开兴趣点,对地图进行缩小到之前的比例尺。
[0132] 在该实施方式中,在电子设备确定了控制节点、控制节点的镜头动作以及兴趣点之后,根据控制节点、控制节点的镜头动作以及兴趣点,动态回放该运动轨迹。
[0133] 本申请实施例,电子设备在显示区域上显示轨迹回放图标,电子设备接收到用户作用于该轨迹回放功能的图标的用户操作,电子设备在显示区域中对运动轨迹进行动态回
放。
[0134] 当电子设备检测到镜头动作为直行的控制节点,地图状态的旋转角度为0,中心点坐标以相应的速度移动到下一个控制节点;当电子设备检测到镜头动作为旋转的控制节
点,则根据该控制节点对应的旋转角度,对地图状态的方位角进行相应的旋转,调整该运动
轨迹的显示方向,同时中心点坐标以相应的速度移动到下一个控制节点;当电子设备检测
到镜头动作为暂停的兴趣点,对地图状态暂停,暂停时间可以是0.5秒,这里不作限制;当电
子设备绘制到镜头动作为停止的控制节点,则结束回放,完成对运动轨迹的回放。
[0135] 可选的,电子设备的显示区域还可以包括文本输入框。该文本输入框用于接收用户输入的文本数据,例如用户输入的时间信息和地点信息。电子设备接收到用户输入的时
间信息,可以回放在该时间信息的时间段中的运动轨迹;电子设备接收到用户输入的地点
信息,可以回放经过该时地点信息中的地点的运动轨迹。
[0136] 可选的,电子设备的显示区域还可以包括语音输入框。该语音输入框可以接收用户输入的语音信息。电子设备接收到用户输入的语音信息,通过识别语音信息中的关键字,
回放相应的运动轨迹。
[0137] 可选的,电子设备的显示区域还可以包括轨迹列表。该轨迹列表包括一条或多条运动轨迹,电子设备接收到用户针对某一条运动轨迹的点击操作,回放该运动轨迹。
[0138] 接下来,针对本申请的绘制动态轨迹回放的应用界面作出介绍。如图6所示,图6示例性的示出了直行和旋转两种镜头动作的界面显示图。其中,图6中的a图到图6中的b图显
示了镜头动作为直行的轨迹回放界面显示,图6中的b图到图6中的c图显示了镜头动作为旋
转的轨迹回放界面显示。
[0139] 如图6中的a图所示,图6中的a图的显示区域中包括轨迹线601、位置点602、路程显示区603以及速度显示区604。其中,
[0140] 轨迹线601,在动态的轨迹回放过程中,描述了轨迹的运动过程。
[0141] 位置点602,当位置点到达控制节点时,根据控制节点对应的镜头动作,控制地图状态。本申请中,位置点602为显示区域的中心点,位置点602所表示的中心点坐标根据控制
节点以及控制节点的镜头动作进行改变,则地图状态的中心点坐标也相应改变。
[0142] 路程显示区603,用于显示当前位置点602在运动轨迹中距离起始点的物理距离。
[0143] 速度显示区604,用于显示当前位置点602在运动轨迹中的运动速度。
[0144] 如图6中的a图所示,路程显示区603中的路程为1.90公里,速度显示区604中的运动速度为每公里6分31秒。
[0145] 当位置点602到达的控制节点的旋转夹角不大于第一阈值时;或者该控制节点与下一个控制节点的物理距离不大于第二阈值时,地图状态为直行状态。如图6中的b图所示,
路程显示区603中的路程为1.98公里,可以明显的看出图6中的a图和图6中的b图中地图的
中心点坐标发生了改变,而方位角并没有发生改变。也即是说,图6中的a图到图6中的b图,
地图状态一直为直行状态。
[0146] 当位置点602到达的控制节点的旋转夹角大于第一阈值时;或者该控制节点与下一个控制节点的物理距离大于第二阈值时;或者控制节点与下一个控制节点的物理距离大
于第四阈值时,地图状态为旋转状态。如图6中的c图所示,路程显示区603中的路程为2.05
公里,可以明显的看出图6中的b图和图6中的c图中地图的中心点坐标发生了改变,并且方
位角也发生了改变。也即是说,图6中的b图到图6中的c图,地图状态为旋转且直行状态。
[0147] 本申请实施例中,电子设备可以通过接收其他电子设备采集的初始运动轨迹数据进行处理和轨迹回放。举例来说。用户在电子设备上触发电子设备进行轨迹回放,电子设备
向服务器端发送轨迹回放请求,接收服务器端发送的初始运动轨迹。电子设备根据接收到
的初始运动轨迹,确定运动轨迹的控制节点和控制节点的镜头动作,根据控制节点和控制
节点的镜头动作进行轨迹回放。其中,电子设备确定控制节点和控制节点的镜头动作的方
式可以参考上述实施例,此处不再赘述。
[0148] 可选的,电子设备可以通过接收其他电子设备采集和处理过的初始运动轨迹数据进行轨迹回放。距离来说,用户在电子设备上触发电子设备进行轨迹回放,电子设备接收到
开启轨迹回放的用户操作后,向服务器端发送轨迹回放请求,接收服务器端发送的控制节
点和控制节点的镜头动作。电子设备根据控制节点和控制节点的镜头动作进行轨迹回放。
其中,服务器端确定控制节点和控制节点的镜头动作的方式可以参考上述实施例,此处不
再赘述。
[0149] 可选的,电子设备根据登陆唯一身份账号的方式从云端服务器获取该电子设备的初始运动轨迹数据,对从云端服务器获取的初始运动轨迹数据进行处理和轨迹回放。
[0150] 本申请实施例提供的轨迹回放方法还可以运用于地图导航领域。
[0151] 具体来说,终端设备获取用户选择的起始位置和终点位置,将该起始位置和终点位置发送到服务器,服务器根据该起始位置和终点位置获取两个位置之间的路线,结合已
规划的路线和本申请提供的轨迹回放方法计算该路线中的控制节点和控制节点的镜头动
作,并发送至终端设备。终端设备根据服务器发送的数据信息动态显示所推荐的路线。
[0152] 可选的,终端设备获取用户选择的起始位置和终点位置,根据该起始位置和终点位置获取两个位置之间的路线,结合已规划的路线和本申请提供的轨迹回放方法,计算该
路线中的控制节点和控制节点的镜头动作。终端设备根据计算出的控制节点和控制节点的
镜头动作动态显示所推荐的路线。
[0153] 为便于理解本申请实施例,以图7所示的电子设备100为例对本申请实施例所适用的电子设备进行介绍。
[0154] 图7示出了本申请实施例提供的示例性电子设备100的结构示意图。
[0155] 电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块150,电源管理模块151,电池
152,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器
170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头
193,显示屏195,以及用户标识模块(subscriber identification module,SIM)卡接口195
等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁
传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温
度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
[0156] 可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部
件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件
的组合实现。
[0157] 处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing 
unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码
器,数字信号处理器(digital signal processor,DSP),基带处理器,微控制单元MCU,和/
或神经网络处理器(neural‑network processing unit,NPU)等。其中,不同的处理单元可
以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备100也可
以包括一个或多个处理器110。
[0158] 其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0159] 在本申请中,处理器110可以用于提取出运动轨迹中的控制节点然后根据预设规则确定控制节点的旋转角度,处理器110根据控制节点以及控制节点的旋转角度绘制该运
动轨迹。当处理器110检测到所述运动轨迹回放至控制节点时,根据控制节点对应的旋转角
度,调整运动轨迹的显示方向。
[0160] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令
或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了
重复存取,减少了处理器110的等待时间,因而提高了电子设备100的效率。
[0161] 在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter‑integrated circuit,I2C)接口,集成电路内置音频(inter‑integrated circuit 
sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器
(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口
(mobile industry processor interface,MIPI),通用输入输出(general‑purpose 
input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或
通用串行总线(universal serial bus,USB)接口等。
[0162] I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含
多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,
闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器
110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
[0163] I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通
信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实
现通过蓝牙耳机接听电话的功能。
[0164] PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170
也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功
能。所述I2S接口和所述PCM接口都可以用于音频通信。
[0165] UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用
于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160
中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无
线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
[0166] MIPI接口可以被用于连接处理器110与显示屏195,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display 
serial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实
现电子设备100的拍摄功能。处理器110和显示屏195通过DSI接口通信,实现电子设备100的
显示功能。
[0167] GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏195,无线
通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接
口,UART接口,MIPI接口等。
[0168] USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于
电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口
还可以用于连接其他电子设备,例如AR设备等。
[0169] 可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实
施例中不同的接口连接方式,或多种接口连接方式的组合。
[0170] 电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0171] 天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1
复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0172] 移动通信模块150可以提供应用在电子设备100上的包括2G/3G/5G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器
(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电
磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对
经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移
动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通
信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
[0173] 在一些实施例中,移动通信模块150提供的无线通信的解决方案可使得电子设备可以与网络中的设备(如服务器)通信,无线通信模块160提供的WLAN无线通信的解决方案
也可使得电子设备可以与网络中的设备(如服务器)通信,并可以通过网络中的该设备(如
服务器)与云端设备通信。这样,电子设备便可以发现云端设备、传输数据至云端设备。
[0174] 调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解
调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理
后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输
出声音信号,或通过显示屏195显示图像或视频。在一些实施例中,调制解调处理器可以是
独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块
150或其他功能模块设置在同一个器件中。
[0175] 无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi‑Fi)网络),蓝牙
(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频
(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红
外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信
处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频
以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接
收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。示例性地,无线通信
模块160可以包括蓝牙模块、Wi‑Fi模块等。
[0176] 电子设备100通过GPU,显示屏195,以及应用处理器等可以实现显示功能。GPU为图像处理的微处理器,连接显示屏195和应用处理器。GPU用于执行数学和几何计算,用于图形
渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。
[0177] 显示屏195用于显示图像,视频等。显示屏195包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light‑emitting 
diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix 
organic light emitting diode的,AMOLED),柔性发光二极管(flex light‑emitting 
diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light 
emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏195,N
为大于1的正整数。
[0178] 数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅
里叶变换等。
[0179] 视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专
家组(moving picture experts group,MPEG)‑1,MPEG‑2,MPEG‑3,MPEG‑5等。
[0180] NPU为神经网络(neural‑network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU
可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解
等。
[0181] 外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功
能。例如将音乐、照片、视频等数据保存在外部存储卡中。
[0182] 内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备
100执行本申请一些实施例中所提供的数据分享的方法,以及各种功能应用以及数据处理
等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;
该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存
储电子设备100使用过程中所创建的数据(比如照片,联系人等)。此外,内部存储器121可以
包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存
器件,通用闪存存储器(universal flash storage,UFS)等。
[0183] 电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0184] 音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例
中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器
110中。
[0185] 扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
[0186] 受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
[0187] 麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风
170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设
置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设
备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音
来源,实现定向录音功能等。
[0188] 压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏195。压力传感器180A的种类很多,如电阻式压力
传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个
具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备
100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏195,电子设备100根据压
力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信
号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操
作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用
于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈
值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
[0189] 陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感
器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖
动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备
100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
[0190] 气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
[0191] 磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器
180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自
动解锁等特性。
[0192] 加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应
用于横竖屏切换,计步器等应用。
[0193] 距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
[0194] 接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设
备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确
定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备
100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴
近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口
袋模式自动解锁与锁屏。
[0195] 环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏195亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光
传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
[0196] 指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
[0197] 温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子
设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在
另一些实施例中,当温度低于另一阈值时,电子设备100对电池152加热,以避免低温导致电
子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池
152的输出电压执行升压,以避免低温导致的异常关机。
[0198] 触摸传感器180K,也可称触控面板或触敏表面。触摸传感器180K可以设置于显示屏195,由触摸传感器180K与显示屏195组成触摸屏,也称“触控屏”。触摸传感器180K用于检
测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理
器,以确定触摸事件类型。可以通过显示屏195提供与触摸操作相关的视觉输出。在另一些
实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏195所处的位置不
同。
[0199] 骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳
动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音
频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音
信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解
析心率信息,实现心率检测功能。
[0200] 按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信
号输入。
[0201] 马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动
反馈效果。作用于显示屏195不同区域的触摸操作,马达191也可对应不同的振动反馈效果。
不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效
果。触摸振动反馈效果还可以支持自定义。
[0202] 指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
[0203] SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N
为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM
卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195
也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM
卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,
即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
[0204] 图7示例性所示的电子设备100可以通过显示屏195显示各个用户界面。电子设备100可以通过触摸传感器180K在各个用户界面中检测触控操作,例如在各个用户界面中的
点击操作(如在图标上的触摸操作、双击操作),又例如在各个用户界面中的向上或向下的
滑动操作,或执行画圆圈手势的操作,等等。在一些实施例中,电子设备100可以通过陀螺仪
传感器180B、加速度传感器180E等检测用户手持电子设备100执行的运动手势,例如晃动电
子设备。在一些实施例中,电子设备100可以通过摄像头193(如3D摄像头、深度摄像头)检测
非触控的手势操作。
[0205] 电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软
件结构。
[0206] 图8是本申请实施例的电子设备100的软件结构框图。
[0207] 分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应
用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
[0208] 应用程序层可以包括一系列应用程序包。
[0209] 如图8所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
[0210] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0211] 如图8所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0212] 窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0213] 内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0214] 视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示
界面,可以包括显示文字的视图以及显示图片的视图。
[0215] 电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0216] 资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0217] 通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消
息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通
知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如
在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
[0218] Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
[0219] 核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0220] 应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线
程管理,安全和异常的管理,以及垃圾回收等功能。
[0221] 系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
[0222] 表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
[0223] 媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG5,H.265,MP3,AAC,AMR,JPG,PNG等。
[0224] 三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0225] 2D图形引擎是2D绘图的绘图引擎。
[0226] 内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0227] 图8所示的软件系统涉及到使用轨迹回放能力的应用呈现(如图库,文件管理器),提供分享能力的即时分享模块,提供定位能力的地图导航模块,以及应用框架层提供WLAN
服务、蓝牙服务,以及内核和底层提供WLAN蓝牙能力和基本通信协议。
[0228] 本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机程序来指令相关的硬件完成,该程序可存储于上述计算机存储介质
中,该程序在执行时,可包括如上述各方法实施例的流程。该计算机可读存储介质包括:只
读存储器(read‑only memory,ROM)或随机存取存储器(random access memory,RAM)、磁碟
或者光盘等各种可存储程序代码的介质。
[0229] 作为一种可选的设计,计算机可读存储介质可以包括RAM,ROM,EEPROM,CD‑ROM或其它光盘存储器,磁盘存储器或其它磁存储设备,或可用于承载的任何其它介质或以指令
或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称
为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(DSL)或无线
技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电
缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所
使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(DVD),软盘和蓝光盘,其中
磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在
计算机可读介质的范围内。
[0230] 本申请实施例还提供了一种计算机程序产品。上述方法实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,可以全部
或者部分得通过计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指
令。在计算机上加载和执行上述计算机指令时,全部或部分地产生按照上述方法实施例中
描述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用
户设备或者其它可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通
过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的
任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。
所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体
介质(例如,固态硬盘(solid state disk,SSD))等。
[0231] 本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0232] 本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
[0233] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前
述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些
修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。