CN111902695B - 一种获取用户运动轨迹的方法及终端 - Google Patents

一种获取用户运动轨迹的方法及终端 Download PDF

Info

Publication number
CN111902695B
CN111902695B CN201880091577.4A CN201880091577A CN111902695B CN 111902695 B CN111902695 B CN 111902695B CN 201880091577 A CN201880091577 A CN 201880091577A CN 111902695 B CN111902695 B CN 111902695B
Authority
CN
China
Prior art keywords
time period
terminal
user
data
movement direction
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.)
Active
Application number
CN201880091577.4A
Other languages
English (en)
Other versions
CN111902695A (zh
Inventor
李琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111902695A publication Critical patent/CN111902695A/zh
Application granted granted Critical
Publication of CN111902695B publication Critical patent/CN111902695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3617Destination input or retrieval using user history, behaviour, conditions or preferences, e.g. predicted or inferred from previous use or current movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • G01C22/006Pedometers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Telephone Function (AREA)
  • Navigation (AREA)

Abstract

本申请提供的一种获取用户运动轨迹的方法及终端,涉及通信技术领域,有利于提高终端获取用户运动方向的准确性,提高获取用户运动轨迹的准确性,该方法包括:获取终端的重力数据;确定终端在第一时间段处于第一姿态;基于第一姿态,根据方位角数据确定用户在第一时间段内的运动方向;确定终端在与第一时间段相邻的第二时间段处于非稳定状态;根据用户在第一时间段内的运动方向,确定用户在第二时间段内的运动方向;确定终端在与第二时间段相邻的第三时间段处于稳定状态;终端根据用户在第二时间段内的运动方向,以及方位角数据,确定用户在第三时间段内的运动方向;终端根据用户在各个时间段内的运动方向,确定用户的运动轨迹。

Description

一种获取用户运动轨迹的方法及终端
技术领域
本申请涉及通信技术领域,尤其涉及一种获取用户运动轨迹的方法及终端。
背景技术
目前,手机的基于位置的服务(Location Based Service,LBS)是由移动通信网络和卫星定位系统结合在一起提供的一种增值业务。通过一组定位技术获得移动终端的位置信息(如经纬度坐标数据),进一步获取用户的运动轨迹。在该方案中,手机需要在用户运动的过程中一直开启定位服务,才能获取用户的运动轨迹,手机的耗电量极大。再有,在GPS信号弱的地方,采用该方法也无法获取用户的准确位置和运动轨迹。
为此,终端还可以采用传感器,使用步行者航位推算(Pedestrian DeadReckoning,PDR)算法来获取用户的位置以及行走路线。具体的,PDR算法将步长估计模型输出的步长和航向(即用户行走的方向)结合起来,推算出用户的相对位置以及行走路线。然而,现有的终端传感器还不能较准确的确定出用户的行走方向,进而导致对用户的行走轨迹的推算不准确。
举例来说,现有技术中有直接采用手机的方位角作为用户行走方向的。在实际用户行走的场景中,手机的具体放置姿态会导致手机的方位角与用户行走的方向出现偏差。例如:当手机的头部朝向用户背面,且手机底部朝向用户正面时,手机的方位角与用户行走的方向是相反的。因此,直接使用手机的方位角作为用户行走的方向不准确,进一步得到的用户的行走路线也不准确,用户体验较差。
发明内容
本申请实施例提供一种获取用户运动轨迹的方法及终端,可以提高终端根据传感器获取用户运动方向的准确性,进而提高终端获取用户运动轨迹的准确性。
第一方面、本申请实施例提供的一种获取用户运动轨迹的方法,该方法包括:
终端获取终端的重力数据;终端根据第一时间段内的重力数据确定终端在第一时间段内处于第一姿态;基于第一姿态,终端根据第一时间段内的方位角数据确定用户在第一时间段内的运动方向;若终端在第二时间段内的重力数据的变化幅度大于第一阈值,则确定终端在第二时间段内处于非稳定状态;其中,第二时间段与第一时间段相邻;终端根据用户在第一时间段内的运动方向,确定用户在第二时间段内的运动方向;若终端在第三时间段内的重力数据的变化幅度小于或等于第一阈值,则确定终端在第三时间段内处于稳定状态;其中,第三时间段与第二时间段相邻;终端根据用户在第二时间段内的运动方向,以及第三时间段的方位角数据,确定用户在第三时间段内的运动方向;终端根据用户在第一时间段、第二时间段和第三时间段内的运动方向,确定用户的第一运动轨迹。其中,所述的用户的运动可以为较低速度的运行,例如行走、跑步等。
在本申请的一些实施例中,终端可以通过重力传感器获取终端的重力数据,具体可包括重力传感器检测到的重力在终端三轴上的分量。终端也可以通过加速度传感器等传感器获取重力数据。本申请实施例对此不做限定。
其中,第一姿态为终端姿态确定的姿态,例如:用户竖持终端,可以对终端进行操作的姿态;或者用户横握终端,且终端的头部指向用户左侧或右侧时的姿态;或者用户将终端贴近耳边,进行通话时的姿态;或者用户拿着终端运动,且终端随臂摆动的姿态等。
由此可见,在本申请实施例中,在用户运动过程中,先针对能够确定出终端姿态的时间段确定出用户运动方向,然后根据该用户运动方向确定与该时间段相邻的终端处于非稳定状态时用户运动方向,以及与该非稳定状态相邻的稳定状态时用户运动方向。依次类推,确定出目标时间段内用户在各个时间段的运动方向。再结合PDR算法,计算出用户在各个时间段运动的距离,得到用户在目标时间段的运动轨迹。由于本申请实施例提供的方法提高了确定各个时间段的用户运动方向的准确性,进而提高了得到的用户在目标时间段的运动轨迹的准确性,提升用户体验。
在一种可能实现的方式中,终端根据用户在第一时间段内的运动方向,确定用户在第二时间段内的运动方向包括:
终端确定用户在第二时间段内的运动方向与在第四时间段内的运动方向相同;其中,第四时间段包含在第一时间段内,且第四时间段与第二时间段相邻;终端在第四时间段内的方向角数据的变化幅度小于第二阈值。
在一些实施例中,终端可通过方向传感器获取终端的方位角,或者通过旋转向量传感器获取终端的方位角,或者通过地磁传感器与加速度传感器获取终端的方位角。本申请实施例对此不做限定。
需要说明的是,通常用户改变终端姿态的时间段(第二时间段)较短,此时,用户还来不及改变运动方向。若终端在第一时间段内的方位角数据一直较为稳定时,也就是说,第一时间段内的只有一段方位角数据稳定的时间段,则可认为终端在第二时间段的运动方向与第一时间段内的运动方向相同。若终端在第一时间段内有多段方位角数据稳定的时间段,则可认为终端在第二时间段的运动方向与第一时间段中与第二时间段相邻的方位角数据稳定的时间段(即第四时间段)的运动方向相同。
由此,本申请实施例确定出第二时间段用户的运动方向。
在一种可能实现的方式中,终端根据用户在第二时间段内的运动方向,以及第三时间段的方位角数据,确定用户在第三时间段内的运动方向包括:终端确定用户在第五时间段内的运动方向与在第二时间段内的运动方向相同;其中,第五时间段包含在第三时间段内,且第五时间段与第二时间段相邻,终端在第五时间段内的方位角数据的变化幅度小于第二阈值。
结合实际的场景,通常用户变化终端姿态的过程(即终端处于非稳定状态)时间较短,而在这段时间内,用户通常来不及改变运动方向。因此认为,终端在变化终端姿态前后极短的时间段内用户运动方向是一致的。也就是说,在第五时间段内用户的运动方向与第四时间段内的运动方向是相同的。由于第四时间段内用户的运动方向已经确定,那么第五时间段用户的运动方向也确定了。
由此,本申请实施例确定出第三时间段内,与第二时间段相邻的一段方位角稳定的时间段内的用户运动方向。
在一种可能实现的方式中,第三时间段还包括至少一个第六时间段,第六时间段与第二时间段不相邻,且终端在第六时间段内的方位角数据的变化幅度小于第二阈值;终端根据用户在第二时间段内的运动方向,以及第三时间段的方位角数据,确定用户在第三时间段内的运动方向,还包括:终端计算用户在第五时间段内的运动方向与第五时间段内方位角数据的角度差值;终端将第六时间段的方位角数据加上角度差值的数据,作为终端在第六时间段内的运动方向。
需要注意的是,在第三时间段内,终端处于稳定状态,终端的姿态未发生变化,但如果用户改变运动方向,则终端的方位角会随着用户改变运动方向而变化。然而,在该时间段内,终端的方位角与用户运动方向的关系是固定的。也就是说,在第三时间段内,终端的方位角与用户运动的方向的角度差值固定。
由此,本申请实施例确定出第三时间段内与第二时间段不相邻的,其他方位角稳定的时间段内用户运动方向。
在一种可能实现的方式中,终端根据用户在第一时间段、第二时间段和第三时间段内的运动方向,确定用户的第一运动轨迹包括:终端根据用户在第一时间段、第二时间段和第三时间段内的运动方向,采用步行者航位推算PDR方法确定用户的第一运动轨迹。
PDR算法能够计算出用户的步长,以及步数,在结合上述确定出的用户在各个时间段上的运动方向,从而计算出用户在各个方向上的运动的距离。即可得到用户在某个时间段内运动的路线。
在一种可能实现的方式中,该方法还包括:若终端在第七时间段内的重力数据的变化幅度大于第一阈值,则确定终端在第七时间段内处于非稳定状态;其中,第七时间段与第三时间段相邻;终端根据用户在第三时间段内的运动方向,确定用户在第七时间段内的运动方向;若终端在第八时间段内的重力数据的变化幅度小于或等于第一阈值,则确定终端在第八时间段内处于稳定状态;其中,第八时间段与第七时间段相邻;终端根据用户在第七时间段内的运动方向,以及第八时间段的方位角数据,确定用户在第八时间段内的运动方向;终端根据用户在第七时间段和第八时间段内的运动方向,确定用户的第二运动轨迹。
需要说明的是,对于没有与第一时间段相邻的非稳定时间段(例如:81-85段,记为第七时间段)和稳定时间段(85-113段,记为第八时间段)。第七时间段与第三时间段相邻,由于第三时间段的运动方向确定了,则可根据第三时间段的运动方向,采用相似的方法确定出该时间段用户的运动方向。进而根据第七时间段和第三时间段的运动方向确定第八时间段用户的运动方向。
在一种可能实现的方式中,终端根据第一时间段内的重力数据确定终端在第一时间段内处于第一姿态,包括:若在第一时间段内,终端的Y轴重力数据和Z轴重力数据均大于零,且变化幅度均小于第三阈值,终端的Z轴重力数据的绝对值小于第四阈值,则确定终端在第一时间段内处于第一姿态;第一姿态为用户竖持终端,且终端的头部指向用户前方时终端的姿态;当终端处于第一姿态时,终端的方位角与用户的运动方向相同。
其中,终端的Y轴重力数据和Z轴重力数据的变化幅度均小于第三阈值,表明终端的Y轴重力数据和Z轴重力数据稳定,没有出现较大幅度的波动。终端的Z轴重力数据的绝对值小于第四阈值,表明终端Z轴重力数据接近于零。
在一种可能实现的方式中,终端根据第一时间段内的重力数据确定终端在第一时间段内处于第一姿态,包括:若在第一时间段内,终端的X轴重力数据小于零,Z轴重力数据大于零,Y轴重力数据的绝对值小于第四阈值,且终端X轴重力数据、Y轴重力数据以及Z轴重力数据的变化幅度均小于第三阈值,则确定终端在第一时间段内处于第一姿态;第一姿态为用户横握终端,且终端的头部指向用户的右侧时终端的姿态;当终端处于第一姿态时,终端的方位角数据减去90度后的数据为用户的运动方向。
其中,终端X轴重力数据、Y轴重力数据以及Z轴重力数据的变化幅度均小于第三阈值,表明终端的三轴重力数据稳定,没有出现较大幅度的波动。终端的Y轴重力数据的绝对值小于第四阈值,表明终端Z轴重力数据接近于零。
在一种可能实现的方式中,终端根据第一时间段内的重力数据确定终端在第一时间段内处于第一姿态,包括:若在第一时间段内,终端的X轴重力数据和Z轴重力数据均大于零,且变化幅度均小于第三阈值,Y轴重力数据的绝对值小于第四阈值,则确定终端在第一时间段内处于第一姿态;第一姿态为用户横握终端,且终端的头部指向用户的左侧时终端的姿态;当终端处于第一姿态时,终端的方位角数据加上90度后的数据为用户的运动方向。
其中,终端的X轴重力数据和Z轴重力数据均大于零,且变化幅度均小于第三阈值,表明终端的X轴重力数据和Z轴重力数据稳定,没有出现较大幅度的波动。Y轴重力数据的绝对值小于第四阈值,表明Y轴重力数据接近于零。
在一种可能实现的方式中,终端根据第一时间段内的重力数据确定终端在第一时间段内处于第一姿态,包括:终端根据第一时间段内的重力数据、距离传感器数据以及终端通话状态,确定终端在第一时间段内处于第一姿态,第一姿态为用户手持终端贴近耳朵通话时的姿态;当终端处于第一姿态时,终端的方位角数据加上180度或者减去180度后的数据为用户的运动方向。
在一种可能实现的方式中,终端根据第一时间段内的重力数据确定终端在第一时间段内处于第一姿态,包括:终端根据第一时间段内的重力数据、终端的线性加速度数据以及旋转向量数据,确定终端在第一时间段内处于第一姿态;第一姿态为用户手持终端行走,且终端随臂摆动的姿态。
终端根据第一时间段内的方位角数据确定用户在第一时间段内的运动方向,具体为:若终端确定终端的头部指向用户的前方,则终端使用终端在第一时间段内的方位角数据,表示用户在第一时间段内的运动方向;若终端确定终端的头部指向用户的后方,则终端使用第一时间段内的方位角数据加上180度或者减去180度后的数据,表示用户在第一时间段内的运动方向。
第二方面、一种终端,包括:处理器、存储器和触摸屏,存储器、触摸屏与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得该终端执行第一方面及第一方面的可能实现方式中任一所述的方法。
第三方面、一种装置,该装置包含在终端中,该装置具有实现上述第一方面及第一方面的可能实现方式中任一方法中终端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,获取模块或单元和处理模块或单元等。
第四方面、一种计算机存储介质,包括计算机指令,当计算机指令在终端上运行时,使得终端执行如第一方面及其中任一种可能的实现方式中所述的方法。
第五方面、一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面中及其中任一种可能的实现方式中所述的方法。
附图说明
图1为本申请实施例提供的一种终端的结构示意图一;
图2为本申请实施例提供的一种终端的结构示意图二;
图3为本申请实施例提供的一种终端的自然坐标系的示意图;
图4为本申请实施例提供的一种终端的方位角的示意图;
图5为本申请实施例提供的一种获取用户运动轨迹的方法的流程示意图;
图6为本申请实施例提供的一种获取终端的重力数据的变化曲线的示意图;
图7为本申请实施例提供的一种获取的终端的方位角的变化曲线的示意图;
图8为本申请实施例提供的三种终端姿态的示意图;
图9为本申请实施例提供的另一种终端姿态的示意图;
图10A为本申请实施例提供的又一种终端姿态的示意图;
图10B为本申请实施例提供的一种获取的终端的旋转向量Y轴数据的变化曲线的示意图;
图10C为本申请实施例提供的一种获取的终端的线性加速度Y轴数据的变化曲线的示意图;
图11为本申请实施例提供的一种获取的用户运动轨迹的示意图;
图12为本申请实施例提供的一种终端的结构示意图三。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了更好的理解本申请实施例提供的方法,先对本申请实施例中涉及到的部分专业术语进行说明。
手机的自然坐标系:如图3所示,手机自然坐标系中,以手机固件中心为原点。X轴平行于手机屏幕底部边框(如图3中的301所示),且由手机屏幕正面的左侧指向右侧的方向为X轴的正方向。Y轴平行于手机屏幕侧边边框(如图3中的302所示),且由手机屏幕底部指向头部的方向为Y轴的正方向。Z轴垂直于手机屏幕所在平面,且由手机屏幕背面指向手机屏幕正面的方向为Z轴的正方向。需要说明的是,上述坐标轴向、大小相对手机恒定,不随手机放置的姿态而改变。
运动方向:在本申请实施例中,可采用角度值来表示用户的运动方向。如图11中(1)所示,正北方向为0度,方向顺时针旋转时,角度递增。正东方向为90度。正南方向为180度,正西方向为270度。
手机的方位角:如图4所示,本申请实施例中手机的方位角反映手机在水平面上的指向。可以理解的是,当手机水平放置时,手机的方位角就是手机自然坐标系Y轴的正方向与正北方向的夹角。当手机非水平放置时,手机的方位角是手机自然坐标系中Y轴在水平面上的分量与正北方向的夹角。需要说明的是,当手机垂直于水平面放置时,手机的方位角是指手机背面面对的那个方向与正北方向的夹角,可以理解为Z轴的反方向与正北方向的夹角。方位角是二维概念,范围0–360,0度对应正北方向,90度对应正东方向,180度对应正南方向,270度对应正西方向。
步行者航位推算(Pedestrian Dead Reckoning,PDR):对步行者行走的步数、步长、方向进行测量和统计,推算出步行者行走轨迹和位置等信息。具体的,PDR算法将步长估计模型输出的步长和航向(即用户行走的方向)结合起来,推算出行人的相对位置。由于目前终端传感器还不能较准确的确定出用户行走的方向,进而导致对用户的行走轨迹的推算不准确。该PDR算法也可以适用于其它低速的运动,例如跑步等。
为此,本申请实施例提供的一种获取用户运动轨迹的方法,可通过终端的传感器对终端的方位角进行矫正,确定用户的运动方向,再结合PDR算法计算出用户在各个运动方向上运动的距离,得到用户的运动轨迹(即运动轨迹)。由于本申请实施例对手机的方位角进行了矫正,有利于提高获取的用户运动轨迹的准确性,提升了用户体验。
示例性的,本申请中的终端可以为手机、平板电脑、个人计算机(PersonalComputer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴电子设备、增强现实技术(Augmented Reality,AR)设备、虚拟现实(Virtual Reality,VR)设备、车载设备、智能汽车等,本申请对该终端的具体形式不做特殊限制。
图1是本申请实施例的终端100的结构框图。
终端100可以包括处理器110,外部存储器接口120,内部存储器121,USB接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,射频模块150,通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及SIM卡接口195等。其中传感器模块可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
本申请实施例示意的结构并不构成对终端100的限定。可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是指挥终端100的各个部件按照指令协调工作的决策者。是终端100的神经中枢和指挥中心。控制器根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器中的存储器为高速缓冲存储器,可以保存处理器刚用过或循环使用的指令或数据。如果处理器需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器的等待时间,因而提高了系统的效率。
在一些实施例中,处理器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-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。终端100可以采用本申请实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块可以通过USB接口接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块为电池充电的同时,还可以通过电源管理模块141为终端设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块接收所述电池和/或充电管理模块的输入,为处理器,内部存储器,外部存储器,显示屏,摄像头,和通信模块等供电。电源管理模块还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在一些实施例中,电源管理模块141也可以设置于处理器110中。在一些实施例中,电源管理模块141和充电管理模块也可以设置于同一个器件中。
终端100的无线通信功能可以通过天线模块1,天线模块2射频模块150,通信模块160,调制解调器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将蜂窝网天线复用为无线局域网分集天线。在一些实施例中,天线可以和调谐开关结合使用。
射频模块150可以提供应用在终端100上的包括2G/3G/4G/5G等无线通信的解决方案的通信处理模块。射频模块可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(Low Noise Amplifier,LNA)等。射频模块由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调器进行解调。射频模块还可以对经调制解调器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,射频模块150的至少部分功能模块可以被设置于处理器150中。在一些实施例中,射频模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
通信模块160可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN),蓝牙(bluetooth,BT),全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案的通信处理模块。通信模块160可以是集成至少一个通信处理模块的一个或多个器件。通信模块经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器。通信模块160还可以从处理器接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端100的天线1和射频模块耦合,天线2和通信模块耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multipleaccess,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(longterm evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigationsatellite system,GLONASS),北斗卫星导航系统(beidou navigation satellitesystem,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS))和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏包括显示面板。显示面板可以采用LCD(liquid crystal display,液晶显示屏),OLED(organic light-emitting diode,有机发光二极管),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端100可以包括1个或N个显示屏,N为大于1的正整数。
终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口与处理器通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用以及数据处理。存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,其他易失性固态存储器件,通用闪存存储器(universal flash storage,UFS)等。
终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块还可以用于对音频信号编码和解码。在一些实施例中,音频模块可以设置于处理器110中,或将音频模块的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端100可以通过扬声器收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端100接听电话或语音信息时,可以通过将受话器靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风发声,将声音信号输入到麦克风。终端100可以设置至少一个麦克风。在一些实施例中,终端100可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在一些实施例中,终端100还可以设置三个,四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口可以是USB接口,也可以是3.5mm的开放移动终端平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
陀螺仪传感器180B可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器确定终端100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器检测终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。陀螺仪传感器还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,终端100通过气压传感器测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。终端100可以利用磁传感器检测翻盖皮套的开合。在一些实施例中,当终端100是翻盖机时,终端100可以根据磁传感器检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测终端100在各个方向上(一般为三轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别终端姿态,应用于横竖屏切换,计步器等应用。
在本申请的实施例中,终端100还可以通过重力传感器、线性加速度传感器、旋转向量传感器中任一个或任几个识别终端姿态。例如:通过重力传感器识别用户竖持终端100,终端处于竖屏状态的姿态。又例如:通过重力传感器、距离传感器或接近光传感器,以及终端的通话状态识别出手持终端100贴近耳边通话的姿态。再例如:通过重力传感器、线性加速度传感器和旋转向量传感器识别出用户拿着终端前后随臂摆动的姿态等。在本申请实施例中,终端还可以通过重力传感器确定终端100的放置姿态是否发生变化。
需要说明的是,重力传感器、线性加速度传感器和旋转向量传感器可以是硬件传感器,也可以是软件传感器。例如:在一些实施例中,这些软件传感器会从加速度传感器180E和磁传感器180D中获取数据。在另一些实施例中,这些软件传感器也可能从陀螺仪传感器180B中获取数据。本申请实施例不做具体限定。距离传感器180F,用于测量距离。终端100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端100可以利用距离传感器测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。通过发光二极管向外发射红外光。使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端100附近有物体。当检测到不充分的反射光时,可以确定终端100附近没有物体。终端100可以利用接近光传感器检测用户手持终端100贴近耳朵通话,以便自动熄灭屏幕达到省电和防误触的目的。接近光传感器也可用于皮套模式,口袋模式自动解锁与锁屏。
在本申请的一些实施例中,终端100可利用距离传感器180F或接近光传感器180G来检测手机是否手持终端100贴近耳朵通话。
在本申请的实施例中,终端100还可以包括方向传感器,方向传感器可以是硬件传感器,也可以是软件传感器。在一些实施例中,方向传感器为软件传感器,则可以从加速度传感器180E和磁传感器180D中获取数据。
需要说明的是,终端可通过方向传感器获取终端的方位角,或者通过旋转向量传感器获取终端的方位角,或者通过地磁传感器与加速度传感器获取终端的方位角。本申请实施例对此不做限定。
按键190包括开机键,音量键等。按键可以是机械按键。也可以是触摸式按键。终端100接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏不同区域的触摸操作,也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接用户标识模块(subscriber identity module,SIM)。SIM卡可以通过插入SIM卡接口,或从SIM卡接口拔出,实现和终端100的接触和分离。终端100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口可以支持Nano SIM卡,MicroSIM卡,SIM卡等。同一个SIM卡接口可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口也可以兼容不同类型的SIM卡。SIM卡接口也可以兼容外部存储卡。终端100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端100中,不能和终端100分离。
终端100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明终端100的软件结构。
图2是本申请实施例的终端100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库OpenGL ES,2D图形引擎SGL等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
OpenGL ES用于实现三维图形绘图,图像渲染,合成,和图层处理等。
SGL是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合用户携带终端行走时的场景,示例性说明终端100软件以及硬件的工作流程。需要说明的是,用户携带终端进行其它低速运动的场景中,可以使用相同的方法来获取运动轨迹。
在本申请实施例中,终端中各个传感器将检测到的传感器数据通过相应的硬件中断发送给内核层,内核层将传感器数据加工成原始输入事件并存储。应用程序框架层从内核层获取原始输入事件,将各个传感器的数据进行处理(例如:根据重力传感器确定终端的各个状态(例如:姿态确定状态,非稳定状态以及稳定状态),以及确定各个状态对应的时间段,进一步确定在各个时间段的用户行走方向以及行走距离等,然后计算出用户携带终端在某个时间段内的行走路线)。并可以通过内核层的显示驱动,调用显示设备将处理结果(用户的行走路线)显示出来。
首先需要说明的是,在本申请实施例中,用户是携带终端行走的。结合用户在行走过程中使用终端的场景,终端通过对终端中传感器检测到的数据进行分析和处理,确定出终端的运动方向。再以终端的运动方向表示用户的运动方向,进一步获取用户行走的路线。其中,终端运动的轨迹相当于用户行走的路线。
总体上来说,本申请实施例提供的方案中,根据终端检测到的重力数据,获取到能够确定终端姿态的第一时间段。由于终端在第一时间段内的姿态是确定的,进而能够获取终端方位角与用户行走方向的关系,例如:方位角与行走方向相同,或相反,或相差正负90度等。然后,确定出与第一时间段相邻的第二时间段,且终端在第二时间段内处于非稳定状态。结合实际场景,终端处于非稳定状态时,多是用户改变终端姿态的时间段,且该时间段通常较短,故可以认为用户在第二时间段的行走方向没有变化。也就是说,用户在第二时间段的行走方向与第一时间段的行走方向相同(第一时间段方位角稳定),或者与第一时间段中与第二时间段相邻的一段时间段的行走方向相同(第一时间段内有多段方位角稳定的时间段)。而后,再确定与第二时间段相邻的第三时间段,且终端在第三时间段处于稳定状态。同理,终端在第三时间段,刚刚处于稳定状态时,也就是第三时间段内与第二时间段相邻的时间段内,用户的行走方向与第二时间时段的行走方向相同。需要说明的是,由于终端处于稳定状态时,终端的姿态不会发生变化,因此终端的方位角与用户行走方向的关系固定,也就是说,方位角与行走方向的角度差值相同。为此,计算出终端在第三时间段内刚刚处于稳定状态时,终端的方位角与用户行走方向的角度差值。并用这个角度差值去矫正终端在第三时间段中其他时间段的方位角,以确定出在第三时间段中其他时间段中用户的行走方向。
还需要说明的是,在本申请实施例中,可以采用PDR算法确定终端是否发生位移,以及位移的速度是否在用户行走的范围内,也就是采用PDR算法可以确定出用户是否在行走。可选的,终端还可以采用其他的方法,例如采用加速度传感器获取终端的加速度等确定终端是否发生位移,以及位移的速度是否在用户行走的范围内,本申请实施例对此不做限定。在确定用户在行走后,可以执行本申请实施例的如下步骤,确定出用户在各个时间段的行走方向,进一步得到用户的行走路线。
如图5所示,为本申请实施例提供的一种获取用户运动轨迹的方法流程示意图,具体包括:
S101、终端获取目标时间段内终端的重力数据以及终端的方位角数据。
其中,目标时间段为用户携带终端运动的时间段,并且终端需要获取该时间段内用户的运动轨迹。可选的,用户的运动轨迹可以为用户的行走路线或跑步路线。
在本申请的一些实施例中,终端可以通过重力传感器获取终端的重力数据,具体可包括重力传感器检测到的重力在终端三轴上的分量。例如:如图6所示,为终端获取到的重力数据在目标时间段的变化曲线。其中,横轴为时间,纵轴为重力数据。图中三条折线分别示出了终端三轴的重力数据。
终端可以通过方向传感器获取终端的方位角,或者通过旋转向量传感器获取终端的方位角,或者通过地磁传感器与加速度传感器获取终端的方位角。例如:如图7所示,为终端获取到的方位角在目标时间段的变化曲线。其中,横轴为时间,纵轴为方位角数值。
需要说明的是,本申请实施例对终端获取重力数据和方位角数据的传感器不做限定。
还需要说明的是,本申请实施例中,终端可以先获取全部的目标时间段的重力数据和方位角数据之后,执行步骤S102以及之后的步骤。终端也可以在获取了部分目标时间段的重力数据和方位角数据后,执行步骤S102和/或S102之后的部分步骤之后,再继续获取其他的目标时间段的重力数据和方位角数据,再执行其他未执行的步骤。还可以一边获取终端的重力数据和方位角数据,一边根据已经获取的重力数据和方位角数据进行处理。也就是说,本申请实施例对终端获取重力数据和方位角数据的具体时机不做限定。
S102、终端根据重力数据确定出终端处于姿态确定状态的第一时间段,根据第一时间段的方位角确定用户在第一时间段的运动方向。
其中,姿态确定状态是指终端能够确定出某个时间段终端具体的放置姿态,进一步能够确定该时间段时终端的方位角与用户运动方向的关系。
以下,本申请实施例示例性的列举了几种确定终端姿态的方法,能够确定终端的姿态有第一姿态、第二姿态、第三姿态、第四姿态和第五姿态,这五种姿态将在下文详细说明。
需要说明的是,相对于物理空间来说,终端的重力方向是固定不变的,但终端三轴的方向会随着终端的具体姿态而变化。因此,重力在终端三轴上的分量也会随着终端具体姿态而发生变化。于是,可以根据重力在终端三轴上的分量的变化情况判断终端的姿态。
在本申请一些实施例中,终端可以根据重力数据确定出终端的第一姿态。结合用户对终端的使用场景可知:用户在行走时,常会竖持终端,对终端进行操作,如图8中(1)所示的终端的姿态,即为第一姿态。此时,终端的屏幕相对于水平面是倾斜的,且终端屏幕对着用户,终端是竖屏状态显示。显然,此时终端头部向上且指向用户前方,终端底部向下且指向用户后方。因此,终端位于第一姿态时,终端方位角与用户行走的方向一致,可用终端的方位角表示用户运动方向。所述的竖持并不限定终端呈完全的竖直状态,如图8中(1)所示,终端的屏幕相对于水平面可以是倾斜的。
以重力传感器获取重力数据为例,对确定终端位于第一姿态的过程进行说明。
首先需要说明的是:终端的实际重力是垂直于水平面,竖直向下的,而重力传感器检测出的重力是与终端实际重力方向相反。也就是说,重力传感器检测出的重力是垂直于水平面,竖直向上的。
如图8中(1)所示,结合用户使用习惯可知,当终端100位于第一姿态时,用户可以对终端进行操作,例如:查看终端的显示内容。此时终端的头部是向上的,底部是向下的。因此,重力传感器测的重力在Y轴和Z轴上的分量大于零(例如:向量OB和向量OC分别为向量OA在Y轴和Z轴上的分量,向量OA为传感器测出的重力),而在X轴上没有分量或分量很小(由于用户手持终端时,终端的X轴很可能不会完全平行于水平面,故X轴上可能有较小的分量)。又由于用户查看终端的显示内容,故会保持终端处于较为稳定的状态。因此,终端三轴上的数据较为稳定。当然,由于用户处于行走状态,手持终端会有较小的抖动,故终端三轴上的重力数据会有较小幅度的波动,但并不会出现较大幅度的变化。
综上,若重力传感器测得的三轴数据(重力在三轴上的分量)在某时间段(第一时间段)内具备以下特点即可确定终端在该时间段内位于第一姿态:Y轴和Z轴的重力数据大于零(不是接近零的),且稳定(Y轴和Z轴的重力数据的变化幅度小于第三阈值);X轴数据为零或很小(X轴的重力数据的绝对值小于第四阈值,即X轴数据接近零)。
例如:如图6所示,根据终端在目标时间段(1-113段)的重力数据的变化曲线可推出:在1-29段,终端三轴的数据满足上述条件(Y轴和Z轴的重力数据大于零,且稳定;X轴数据很小),故可确定1-29段为第一时间段,且终端在该第一时间段处于第一姿态。
需要注意的是,在第一时间段内,终端处于可以确定的姿态(例如第一姿态等)。虽然终端的姿态没有发生变化,但用户行走的方向可能会发生变化,终端检测到的终端方位角也会发生变化。因此,在第一时间段内,需要根据第一时间段内各个时间段内具体的方位角确定相应时间段内的运动方向。
在本申请的另一些实施例中,用户携带终端行走,在该过程中,即使是终端的姿态和用户运动方向都没有发生变化,但用户行走时可能会造成终端晃动,进而使得终端检测到的方位角出现波动。因此,为了减少误差,在第一时间段内,可以选取方位角稳定的一段时间,以该时间段内的各个时间点的方位角的平均值为该段时间的方位角。其中,方位角稳定是指终端的方位角数据在某个时间段内未发生超过第二阈值的变化。
例如:如图7所示,根据终端在目标时间段(1-113段)的方位角的变化曲线可知:第一时间段包含两段方位角不同的时间段,分别为时间段(a)和时间段(b)。时间段(b)(1-13段)时终端检测到的方位角为280度。时间段(a)(13-29段)时终端检测到的方位角为350度。由于终端位于第一姿态时,方位角和用户运动方向相同,那么,可以确定在时间段(b)(1-13段)时用户运动的方向为280度,正西偏北10度的方向,如图11中(1)中箭头3指向的方向。在时间段(a)(13-29段),用户运动的方向为350度,正北偏西10度的方向,如图11中(1)中箭头1指向的方向。
在本申请另一些实施例中,终端可以根据重力数据确定出终端的第四姿态和第五姿态。结合用户对终端的使用场景可知:用户在行走时,还会横着拿终端,例如打游戏后看视频等,如图8中(2)和(3)所示的终端的姿态。此时,终端的屏幕相对于水平面是倾斜的,且终端屏幕对着用户,终端是横屏状态显示。具体的,若终端的头部在用户的右侧,底部在用户的左侧,如图8中(2)所示的终端的姿态为第四姿态,显然,此时终端的方位角与用户的运动方向呈逆时针90度,即终端方位角减去90度为用户运动方向。若终端的头部在用户的左侧,底部在用户的右侧,如图8中(3)所示的终端的姿态为第五姿态,显然,此时终端的方位角与用户的运动方向呈顺时针90度,即终端方位角加上90度为用户运动方向。
显然,如图8中(2)所示,终端位于第四姿态时,三轴的重力数据具有这样的特点:X轴重力数据小于零,Z轴重力数据大于零,Y轴重力数据为零或数值很小(Y轴重力数据的绝对值小于第四阈值,即接近零),三轴数据较为稳定(三轴重力数据的变化幅度均小于第三阈值)。因此,若终端在某个时间段三轴数据满足这些特点时,可确定终端位于第四姿态。具体的分析过程可参考终端确定第一姿态时的相关描述,这里不再赘述。
如图8中(3)所示,终端位于第五姿态时,三轴的重力数据具有这样的特点:X轴重力数据和Z轴重力数据均大于零,Y轴重力数据为零或数值很小(Y轴重力数据的绝对值小于第四阈值,即接近零),三轴数据较为稳定(三轴重力数据的变化幅度均小于第三阈值)。因此,若终端在某个时间段三轴数据满足这些特点时,可确定终端位于第五姿态。具体的分析过程可参考终端确定第一姿态时的相关描述,这里不再赘述。
需要说明的是,除了重力数据,终端还可以结合其他传感器数据确定终端的其他的姿态。
在本申请的另一些实施例中,终端可以根据重力数据、距离传感器数据以及终端的通话状态确定终端的第二姿态。其中,第二姿态为用户手持终端贴近耳朵通话时的姿态,如图9所示的终端的姿态。结合用户的使用习惯可知,此时终端的头部是向上的,且指向用户后方,终端的底部是向下的,且指向用户前方。故终端位于第二姿势时,终端的方位角与用户运动的方向是相反的,故可将终端的方位角取反后(例如:方位角数据加或减180度后)的数据作为用户的运动方向。
仍然以重力传感器获取重力数据为例进行说明。
如图9所示,结合用户使用习惯可知,当终端位于第二姿态时,重力传感器测出的重力在Y轴和X轴上有分量,在Z轴上没有分量或分量很小。此时,终端的头部是向上的,底部是向下的,故重力传感器测出的重力在Y轴上的分量大于零,在X轴上的分量小于零。
为了避免终端处于其他姿势(例如放置在包中)时也可能恰巧满足这些条件,除了确定重力数据满足上述特点外,还需要结合距离传感器和终端是否处于通话状态进行判断。具体的,用户通话时,终端接近用户脸部,故可采用距离传感器进一步确定终端是否距离其他物体小于预设距离。若不小于预设距离则可以排除终端位于第二姿态的情况。同理,终端还可以进一步确定终端是否处于通话状态。若终端不处于通话状态,则可以排除终端位于第二姿态的情况。
需要说明的是,终端判断重力传感器数据、距离传感器数据以及终端通话状态的先后顺序,本申请实施例不做限定。
综上,若在某时间段内(第一时间段)内传感器的数据同时满足以下条件,则可确定终端在该时间段内位于第二姿态:1、重力传感器测得的三轴数据(重力在三轴上的分量)满足以下特点:Y轴的重力数据大于零(不接近于零),X轴的重力数据小于零(不接近于零),Z轴数据为零或很小(接近零);2、距离传感器测得终端距离其他物体的距离小于预设距离(例如:5厘米)或者接近光传感器测得有外部物体接近;3、终端处于通话状态。
在本申请的又一些实施例中,终端可以根据重力数据、终端的线性加速度以及旋转向量确定终端的第三姿态。其中,第三姿态为用户运动时,手持终端,终端随臂摆动,如图10A所示的终端的姿态。若终端的头部指向用户前方,则终端的方位角与用户运动方向相同,可直接用终端的方位角表示用户的运动方向。若终端的头部指向用户后方,则终端的方位角与用户的运动方向相反,故可将终端的方位角取反后(例如:方位角数据加或减180度后)的数据作为用户的运动方向。
因此,在确定终端位于第三姿态后,还需要进一步确定出终端头部的指向。本申请实施例提供了一种确定终端第三姿态以及终端头部的指向的方法,具体包括以下步骤:
一、根据终端的重力数据确定出终端位于第三姿态。
如图10A所示,结合用户使用习惯可知,当终端位于第三姿态时,通常用户的手臂的摆动成周期性变化,传感器测出的重力在X轴和Y轴上有分量,且数值成周期性变化,在Z轴上没有分量或很小分量。因此,若终端三轴重力数据满足这些特征时,可以确定终端处于第三姿态。
二、终端的旋转向量数据呈周期性变化,选取任一周期内,任一段波峰到波谷(波谷到波峰)的旋转向量数据。
终端随用户手臂摆动时,手臂旋转的角度也是呈周期性变化,故终端中旋转向量传感器测量出的数据也是呈周期性变化。如图10B所示,为终端的旋转向量传感器测出Y轴数据的变化曲线。
需要说明的是,图10B和图10C的数据是用来说明确定终端位于第三姿态的过程的另一个示例,与之前图6和图7所示的示例无关。
结合手臂的摆动过程和旋转向量的变化规律可知:当终端的头部指向用户前方时,手臂从前摆到最高点向后摆到最高点(后面简称从前向后摆)的过程中,旋转向量Y轴转化的旋转角度是逐渐变大。因此,在该过程中,旋转向量传感器的Y轴数据呈现的是从波谷到波峰的变化。手臂从后摆到最高点向前摆到最高点(后面简称从后向前摆)的过程中,旋转向量Y轴转化的旋转角度是逐渐变小。因此,在该过程中,旋转向量传感器的Y轴数据呈现的是从波峰到波谷的变化。同理,当终端的头部指向用户后方时,手臂从前向后摆的过程中,旋转向量Y轴转化的旋转角度是逐渐变小。因此,在该过程中,旋转向量传感器的Y轴数据呈现的是从波峰到波谷的变化。手臂从后向前摆的过程中,旋转向量Y轴转化的旋转角度是逐渐变大。因此,在该过程中,旋转向量传感器的Y轴数据呈现的是从波谷到波峰的变化。
由上可知,可以选取一个周期中波峰到波谷(或者波谷到波峰)的过程,只要确定出在这段过程中,用户的手臂是从前向后摆,还是从后向前摆,便可以判断出终端头部是指向用户前方还是后方。
举例来说,根据上面的规律可推出,可以选取波谷到波峰的过程,也可以选取波峰到波谷的过程。当选取波谷到波峰的过程时,若判断出手臂是从前向后摆,则可确定终端的头部指向用户前方;若判断出手臂是从后向前摆,则可确定终端的头部是指向用户后方的。当选取波峰到波谷的过程时,若判断出手臂是从前向后摆,则可确定终端的头部指向用户后方;若判断出手臂是从后向前摆,则可确定终端的头部是指向用户前方的。
通过下面的第三点和第四点,可以判断手臂是从前向后摆,还是从后向前摆。
三、根据终端的线性加速度,确定出手臂垂直于地平面的时间点。
结合手臂的摆动过程以及终端的线性加速度Y轴的变化特点可知:手臂在前后摆动时,线性加速度Y轴数据会出现正负变化,但当手臂垂直地平面时,终端的线性加速度为零。因此,可以通过线性加速度传感器Y轴数据的变化曲线确定出手臂垂直地平面的时间点。
四、根据手臂垂直于地平面的时间点,以及选取的波峰到波谷(或者波谷到波峰),确定出手臂的摆动方向;进一步结合手臂的摆动方向和前面第二点选取的旋转向量数据确定出终端的头部朝向。
根据人体结构特征可知,手臂向前摆动时的角度大于手臂向后摆动的角度。因此,根据选取的从波峰到波谷或者从波谷到波峰的旋转向量Y轴数据,可以确定出手臂的摆动方向。
具体如下:
以手臂垂直于地平面的时间点为分割点,将选取的波峰到波谷(或者波谷到波峰)的旋转向量数据划分为两个时间段,比较两个时间段内的旋转向量角度的变化量。变化量大的,可确定该时间段内手臂在身体前方。变化量小的,可确定在该时间段手臂在身体后方。进而可以确定出选取的波峰到波谷(或者波谷到波峰)的摆动方向。进一步可确定出终端的头部朝向。
例如:选取从波谷到波峰的过程,该过程中旋转向量的Y轴数据是逐渐变大的。根据手臂垂直于地平面的时间点将该过程中的Y轴数据分为时间段1和时间段2,其中时间段1在时间段2之前。如果时间段1内的旋转向量角度的变化量大于时间段2内的旋转向量角度的变化量,则可以判断手臂是从前向后摆;进一步的,基于第二点的分析,可确定终端的头部指向用户前方。如果时间段1内的旋转向量角度的变化量小于时间段2内的旋转向量角度的变化量,则可以判断手臂是从后向前摆;进一步的,基于第二点的分析,可确定终端的头部是指向用户后方的。同理的,也可以选取波峰到波谷的过程来判断,若判断出手臂是从前向后摆,则可确定终端的头部指向用户后方;若判断出手臂是从后向前摆,则可确定终端的头部是指向用户前方的。
举例来说,先参见图10B,选取时间段13-20段,波谷到波峰的这一段终端的旋转向量的数据。再参见图10C,查看时间段13-20段的线性加速度数据。查找终端的线性加速度为零的时间点,时间点17,可确定为手臂垂直于地平面的时间点。回到图10B,以时间点17为分隔点,比较13-17段和17-20段的旋转向量的Y轴数据变化量。可推出:13-17段旋转向量的Y轴数据变化量大,该时间段用户手臂在身体前方,17-20段旋转向量的Y轴数据变化量小,该时间段用户手臂在用户后方。由此可以判断出13-20段中,用户手臂是从前向后摆的。结合上面得出的规律,可知终端的头部是指向前方的。
S103、终端根据重力数据,以第一时间段为起点,在目标时间段内按时间顺序向后(或向前)查找与第一时间段相邻的、终端处于非稳定状态的第二时间段。
其中,在时间顺序上,第二时间段可以位于第一时间段前面,也可以位于第一时间段的后面。
其中,稳定状态,是指终端的姿态保持不变的状态。例如:终端在第一时间段内,一直保持一个姿态,例如:一直处于第一姿态、或一直处于第二姿态、或一直处于第三姿态。根据上述确定这三种姿态的方法的描述可知,终端处于稳定状态时,终端的三轴重力数据保持稳定(例如:处于第一姿态或第二姿态时),或者三轴重力数据发生周期性的变化(例如:处于第三姿态时)。需要说明的是,终端还可能被放置在用户的口袋里、或包里等。此时,终端的姿态也未发生变化,也是处于稳定状态。只是终端在用户的口袋里、或包里的具体放置姿态不能确定。
非稳定状态,是指终端的姿态发生变化的状态。例如:用户拿着终端,放在耳边接听电话(终端处于第二姿态)。在接听完电话后,用户将终端放回裤兜里。其中,用户将终端从耳边离开到终端放回到裤兜的过程中,终端处于非稳定状态。此时,终端的三轴的重力数据会发生较大的非周期性的变化。
因此,可以通过终端三轴上的重力数据的变化特点来确定终端处于非稳定状态,进而确定出第二时间段。具体的,当终端三轴上的重力数据发生非周期性的变化,且在同一时间段上任一轴的重力数据变化的幅度超过第一阈值,则可确定终端在该时间段上处于非稳定状态,该时间段即为第二时间段。
需要说明的是,通常用户改变终端姿态的时间段(第二时间段)较短,此时,用户还来不及改变运动方向。若终端在第一时间段内的方位角数据一直较为稳定时,也就是说,第一时间段内的只有一段方位角数据稳定的时间段,则可认为终端在第二时间段的运动方向与第一时间段内的运动方向相同。若终端在第一时间段内有多段方位角数据稳定的时间段,则可认为终端在第二时间段的运动方向与第一时间段中与第二时间段相邻的方位角数据稳定的时间段的运动方向相同。例如:如图7所示的方位角数据的变化曲线,在第一时间段内,有两段方位角数据稳定的时间段:时间段(a)和时间段(b),由于时间段(a)与第二时间段相邻,则确定用户在第二时间段内的运动方向,与用户在时间段(a)的运动方向相同。可将时间段(a)即为第四时间段。
例如:如图6所示,目标时间段(1-113段)上的重力数据的变化曲线可推出:以第一时间段(1-29段)为起点,向后查找到29-37段,终端三轴的数据满足上述条件(重力数据变化的幅度超过第一阈值),即终端位于非稳定状态,故可确定29-37段为第二时间段。基于前面的分析可知,一般用户在第二时间段的运动方向与第一时间段中第四时间段的运动方向相同。若第四时间段的运动方向为350度,则第二时间段用户运动的方向也为350度,如图11中(1)中箭头1指向的方向。
S104、终端根据重力数据,以第二时间段为起点,在目标时间段内按时间顺序向后(或向前)查找与第二时间段相邻的,终端处于稳定状态的第三时间段。
示例性的,终端可以通过三轴上的重力数据来确定终端处于稳定状态。具体的,若终端三轴上的重力数据在某个时间段内保持稳定,或者发生周期性的变化,则可以终端在该时间段内处于稳定状态,该时间段即为第三时间段。
例如:如图6所示,目标时间段(1-113段)上的重力数据的变化曲线可见:以第二时间段(29-37段)为起点,向后查找到37-81段,终端三轴的数据满足上述条件,即终端位于稳定状态,故可确定37-81段为第三时间段。
需要说明的是,在第三时间段内,终端处于稳定状态,终端的姿态未发生变化。但此时,仅根据第三时间段内重力数据的变化曲线无法确定出终端具体处于什么姿态,进而,无法直接判断终端当前的方位角与用户运动方向的关系,即无法直接根据终端检测到的方位角确定出用户运动方向。但是,本申请实施例提供的方案可以根据第一时间段、第二时间段时用户运动方向和方位角的关系,推测出第三时间段内终端的方位角与用户运动方向的关系。
需要注意的是,在第三时间段内,终端处于稳定状态,终端的姿态未发生变化,但如果用户改变运动方向,则终端的方位角会随着用户改变运动方向而变化。然而,在该时间段内,终端的方位角与用户运动方向的关系是固定的。也就是说,在第三时间段内,终端的方位角与用户运动的方向的角度差值固定,因此,可以先确定出这个固定的角度差值,然后根据这个角度差值对第三时间段中各个时间段内的终端的方位角进行矫正,以确定出在第三时间段中用户的运动方向。即执行步骤S105至步骤S107。
S105、终端根据方位角数据,在第三时间段内,确定与第二时间段相邻的、终端的方位角稳定的第五时间段。
其中,方位角稳定,是指终端的方位角数据在某个时间段(例如:第五时间段)内未发生超过第二阈值的变化。可以理解的是,在方位角稳定的时间段内,用户的运动方向是不变的。显然,第五时间段包含在第三时间段,且与第二时间段相邻。
需要说明的是,考虑到用户在运动时,即使终端处于固定的姿态(稳定状态)且用户运动方向没有发生变化,终端的方位角也会随着人体的晃动发生小幅度的波动。为了减少误差,故认为,若方位角的变化幅度未超过第二阈值,则认为方位角未发生变化。
例如:如图7所示,根据目标时间段(1-113段)上的方位角的变化曲线可推出:在第三时间段(37-81段)上查找到37-49段,终端方位角稳定,故可确定37-49段为第五时间段。
S106、终端确定在第五时间段时测得的终端的方位角与第五时间段时用户运动方向的角度差值。
由上述描述可知:从第一时间段到第三时间段(或第三时间段到第一时间段),终端的姿态是从一个稳定状态变化到另一个稳定状态,中间经历了一个非稳定状态。结合实际的场景,通常用户变化终端姿态的过程(即终端处于非稳定状态)时间较短,而在这段时间内,用户通常来不及改变运动方向。因此认为,终端在变化终端姿态前后极短的时间段内用户运动方向是一致的。也就是说,在第五时间段内用户的运动方向与第四时间段内的运动方向是相同的。由于第四时间段内用户的运动方向已经确定,那么第五时间段用户的运动方向也确定了。于是,可以计算出终端在第五时间段的方位角与用户的运动方向的角度差值。
需要说明的是,在本申请的一些实施例中,在方位角稳定的时间段内,可以使用该时间段内的各个时间点的方位角数据的平均值作为该时间段的方位角数据。例如:使用第四时间段内各个时间点的方位角的平均值作为第四时间段内的方位角。使用第五时间段内的各个时间段的方位角的平均值作为第五时间段内的方位角。
例如:如图7所示,根据目标时间段(1-113段)上的方位角的变化曲线可知:第五时间段(37-49段)的方向角为280度。而用户在第五时间段时的运动方向与第四时间段的运动方向相同,即为350度。故终端在第五时间段的方位角与用户的运动方向相差70度(350度-280度)。
S107、终端用确定的角度差值,确定第三时间段内其他时间段(例如第六时间段)的用户的运动方向。
其中,第六时间段包含在第三时间段中,与第二时间段不相邻的,且方位角稳定的一段时间。需要说明的是,在第三时间段内,用户可能一直不改变运动方向,那么第三时间段只有一个方位角稳定的时间段,第三时间段和第五时间段相同。若在第三时间段内用户改变了运动方向,那么第三时间段包含第五时间段和至少一个第六时间段。
由于第五时间段属于第三时间段中的一段时间,而第三时间段内终端的方位角与用户的运动方向的角度差值是固定的,因此,可以使用该角度差值去确定第三时间段内其他时间段内用户的运动方向。
需要说明的是,步骤S106中,可以采用第五时间段的运动方向减去第五时间段的方位角计算得到的角度差值。那么,在本步骤中,使用第三时间段内其他时间段内的方位角加上该角度差值,确定为第三时间段内其他时间段内用户的运动方向。步骤S106中,也可以采用第五时间段的方位角减去第五时间段的运动方向计算得到的角度差值,那么,在本步骤中,使用第三时间段内其他时间段内的方位角减去该角度差值,确定为第三时间段内其他时间段内用户的运动方向。本申请实施例不做限定。
例如:如图7所示,由上推测出:第三时间段内,终端的方位角与用户的运动方向的角度差值为70度。如图7所示,第三时间段中49-65段的终端的方位角为200度,那么,用户在49-65段的运动方向为终端的方位角加上角度差值,即为270度(200度+70度,即向西方向)。第三时间段中65-81段的终端的方位角为150度,那么,用户在65-81段的运动方向为220度(150度+70度),即向西南方向,如图11中(1)中箭头2指向的方向。
S108、采用类似方法,计算出目标时间段中其他时间段时,用户的运动方向。
在本申请的一些实施例中,终端可以采用上述方法可以确定出所有第一时间段前后相邻的非稳定时间段和稳定时间段的用户的运动方向。对于没有与第一时间段相邻的非稳定时间段(例如:81-85段,记为第七时间段)和稳定时间段(85-113段,记为第八时间段)。第七时间段与第三时间段相邻,由于第三时间段的运动方向确定了,则可根据第三时间段的运动方向,采用相似的方法确定出该时间段用户的运动方向。进而根据第七时间段和第三时间段的运动方向确定第八时间段用户的运动方向。
如图6所示,根据终端的三轴重力数据可以确定出81-85段(第七时间段)为非稳定状态,85-113段(第八时间段)为稳定状态。第七时间段与第三时间段相邻,第八时间段与第七时间段相邻。同理,认为用户在变化终端姿态的短暂时间内不会改变运动方向,即在第七时间段用户的运动方向,与第三时间段中与第七时间段相邻的方位角稳定的时间段的用户运动方向相同。例如:81-85段的用户运动方向与65-81段的运动方向相同,为220度。用户在变化终端姿态后,刚刚处于稳定状态时也是不会改变运动方向。例如:根据终端的方位角的变化曲线可知,85-113段,方位角稳定状态有两个时间段85-97段和97-113段。85-97段时用户的运动方向与65-81段的运动方向相同,为220度。85-97段用户的运动方向与终端的方位角的差值为160度(220度-60度)。又由于位于同一个稳定状态时间段内,终端的方位角与用户的运动方向的关系是固定的,即方位角的差值是固定的。所以97-113段用户行走的方向与此时终端的方位角的差值也为160度,故97-113段时用户的运动方向为280度(120度+160度),正西方向偏北10度的方向,如图11中(1)中箭头3指向的方向。
S109、根据用户在各个时间段的运动方向,结合PDR计算出用户在目标时间段内运动的路线。
具体的,PDR算法能够计算出用户的步长,以及步数,在结合上述确定出的用户在各个时间段上的运动方向,从而计算出用户在各个方向上的运动的距离。即可得到用户在目标时间段内运动的路线。
例如:假设用户在目标时间段匀速前进,如图11中(2)所示,为采用本申请实施例计算得到用户运动轨迹的一种示例。图中折线MN即为用户在1-113段时间内运动的线路示意图。
由此可见,在本申请实施例中,在用户运动过程中,先针对能够确定出终端姿态的时间段确定出用户运动方向,然后根据该用户运动方向确定与该时间段相邻的终端处于非稳定状态时用户运动方向,以及与该非稳定状态相邻的稳定状态时用户运动方向。依次类推,确定出目标时间段内用户在各个时间段的运动方向。再结合PDR算法,计算出用户在各个时间段运动的距离,得到用户在目标时间段的运动轨迹。由于本申请实施例提供的方法提高了确定各个时间段的用户运动方向的准确性,进而提高了得到的用户在目标时间段的运动轨迹的准确性,提升用户体验。
可以理解的是,终端为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图12示出了上述实施例中涉及的终端的一种可能的组成示意图,如图12所示,该终端可以包括:获取单元1201和处理单元1202。
其中,获取单元1201,用于获取所述终端的重力数据。
处理单元1202,用于根据所述第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态;基于所述第一姿态,根据所述第一时间段内的方位角数据确定用户在所述第一时间段内的运动方向;若所述终端在第二时间段内的重力数据的变化幅度大于第一阈值,则确定所述终端在所述第二时间段内处于非稳定状态;其中,所述第二时间段与所述第一时间段相邻;根据所述用户在所述第一时间段内的运动方向,确定所述用户在所述第二时间段内的运动方向;若所述终端在第三时间段内的重力数据的变化幅度小于或等于所述第一阈值,则确定所述终端在所述第三时间段内处于稳定状态;其中,所述第三时间段与所述第二时间段相邻;根据用户在所述第二时间段内的运动方向,以及所述第三时间段的方位角数据,确定所述用户在所述第三时间段内的运动方向;根据所述用户在所述第一时间段、所述第二时间段和所述第三时间段内的运动方向,确定所述用户的第一运动轨迹。
进一步的,获取单元1201可以用于支持终端执行上述S101等,和/或用于本文所描述的技术的其他过程。
处理单元1202可以用于支持终端执行上述S102-S108等,和/或用于本文所描述的技术的其他过程。
该终端还可以包括:计算单元1203可以用于支持终端执行上述S109等,和/或用于本文所描述的技术的其他过程。
该终端还可以包括:显示单元1204可以用于支持终端显示步骤S109后得到的用户运动的路线图等,和/或用于本文所描述的技术的其他过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的终端,用于执行上述的获取用户运动轨迹的方法,因此可以达到与上述获取用户运动轨迹的方法相同的效果。
在采用集成的单元的情况下,终端可以包括处理模块和存储模块。其中,处理模块可以用于对终端的动作进行控制管理,例如,可以用于支持终端执行上述获取单元1201、处理单元1202和计算单元1203执行的步骤。存储模块可以用于支持终端存储程序代码和数据等。另外,终端还可以包括通信模块,可以用于支持终端与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、wifi芯片等与其他终端交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本申请实施例所涉及的终端可以为具有图1所示结构的设备。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在终端上运行时,使得终端执行上述相关方法步骤实现上述实施例中的获取用户运动轨迹的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的获取用户运动轨迹的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的获取用户运动轨迹的方法。
其中,本申请实施例提供的终端、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (21)

1.一种获取用户运动轨迹的方法,其特征在于,所述方法包括:
终端获取所述终端的重力数据;
所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态;
基于所述第一姿态,所述终端根据所述第一时间段内的方位角数据确定用户在所述第一时间段内的运动方向;
若所述终端在第二时间段内的重力数据的变化幅度大于第一阈值,则确定所述终端在所述第二时间段内处于非稳定状态;其中,所述第二时间段与所述第一时间段相邻;
所述终端根据所述用户在所述第一时间段内的运动方向,确定所述用户在所述第二时间段内的运动方向;
若所述终端在第三时间段内的重力数据的变化幅度小于或等于所述第一阈值,则确定所述终端在所述第三时间段内处于稳定状态;其中,所述第三时间段与所述第二时间段相邻;
所述终端根据用户在所述第二时间段内的运动方向,以及所述第三时间段的方位角数据,确定所述用户在所述第三时间段内的运动方向;
所述终端根据所述用户在所述第一时间段、所述第二时间段和所述第三时间段内的运动方向,确定所述用户的第一运动轨迹;
其中,所述终端根据所述用户在所述第一时间段内的运动方向,确定所述用户在所述第二时间段内的运动方向包括:
所述终端确定所述用户在所述第二时间段内的运动方向与在第四时间段内的运动方向相同;其中,所述第四时间段包含在所述第一时间段内,且所述第四时间段与所述第二时间段相邻;所述终端在所述第四时间段内的方向角数据的变化幅度小于第二阈值。
2.根据权利要求1所述的方法,其特征在于,所述终端根据用户在所述第二时间段内的运动方向,以及所述第三时间段的方位角数据,确定所述用户在所述第三时间段内的运动方向包括:
所述终端确定所述用户在第五时间段内的运动方向与在所述第二时间段内的运动方向相同;其中,所述第五时间段包含在所述第三时间段内,且所述第五时间段与所述第二时间段相邻,所述终端在所述第五时间段内的方位角数据的变化幅度小于第二阈值。
3.根据权利要求2所述的方法,其特征在于,所述第三时间段还包括至少一个第六时间段,所述第六时间段与所述第二时间段不相邻,且所述终端在所述第六时间段内的方位角数据的变化幅度小于所述第二阈值;
所述终端根据用户在所述第二时间段内的运动方向,以及所述第三时间段的方位角数据,确定所述用户在所述第三时间段内的运动方向,还包括:
所述终端计算所述用户在所述第五时间段内的运动方向与所述第五时间段内方位角数据的角度差值;
所述终端将所述第六时间段的方位角数据加上所述角度差值的数据,作为所述终端在所述第六时间段内的运动方向。
4.根据权利要求1所述的方法,其特征在于,所述终端根据所述用户在所述第一时间段、所述第二时间段和所述第三时间段内的运动方向,确定所述用户的第一运动轨迹包括:
所述终端根据所述用户在所述第一时间段、所述第二时间段和所述第三时间段内的运动方向,采用步行者航位推算PDR方法确定所述用户的所述第一运动轨迹。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述终端在第七时间段内的重力数据的变化幅度大于所述第一阈值,则确定所述终端在所述第七时间段内处于非稳定状态;其中,所述第七时间段与所述第三时间段相邻;
所述终端根据所述用户在所述第三时间段内的运动方向,确定所述用户在所述第七时间段内的运动方向;
若所述终端在第八时间段内的重力数据的变化幅度小于或等于所述第一阈值,则确定所述终端在所述第八时间段内处于稳定状态;其中,所述第八时间段与所述第七时间段相邻;
所述终端根据用户在所述第七时间段内的运动方向,以及所述第八时间段的方位角数据,确定所述用户在所述第八时间段内的运动方向;
所述终端根据所述用户在所述第七时间段和所述第八时间段内的运动方向,确定所述用户的第二运动轨迹。
6.根据权利要求1所述的方法,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
若在所述第一时间段内,所述终端的Y轴重力数据和Z轴重力数据均大于零,且变化幅度均小于第三阈值,所述终端的Z轴重力数据的绝对值小于第四阈值,则确定所述终端在所述第一时间段内处于第一姿态;所述第一姿态为所述用户竖持所述终端,且所述终端的头部指向所述用户前方时所述终端的姿态;
当所述终端处于所述第一姿态时,所述终端的方位角与所述用户的运动方向相同。
7.根据权利要求1所述的方法,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
若在所述第一时间段内,所述终端的X轴重力数据小于零,Z轴重力数据大于零,Y轴重力数据的绝对值小于第四阈值,且所述终端X轴重力数据、Y轴重力数据以及Z轴重力数据的变化幅度均小于第三阈值,则确定所述终端在所述第一时间段内处于第一姿态;所述第一姿态为所述用户横握所述终端,且所述终端的头部指向所述用户的右侧时所述终端的姿态;
当所述终端处于所述第一姿态时,所述终端的方位角数据减去90度后的数据为所述用户的运动方向。
8.根据权利要求1所述的方法,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
若在所述第一时间段内,所述终端的X轴重力数据和Z轴重力数据均大于零,且变化幅度均小于第三阈值,Y轴重力数据的绝对值小于第四阈值,则确定所述终端在所述第一时间段内处于第一姿态;所述第一姿态为所述用户横握所述终端,且所述终端的头部指向所述用户的左侧时所述终端的姿态;
当所述终端处于所述第一姿态时,所述终端的方位角数据加上90度后的数据为所述用户的运动方向。
9.根据权利要求1所述的方法,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
所述终端根据所述第一时间段内的重力数据、距离传感器数据以及终端通话状态,确定所述终端在所述第一时间段内处于所述第一姿态,所述第一姿态为所述用户手持所述终端贴近耳朵通话时的姿态;
当所述终端处于所述第一姿态时,所述终端的方位角数据加上180度或者减去180度后的数据为所述用户的运动方向。
10.根据权利要求1所述的方法,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
所述终端根据所述第一时间段内的重力数据、终端的线性加速度数据以及旋转向量数据,确定所述终端在所述第一时间段内处于所述第一姿态;所述第一姿态为所述用户手持终端运动,且所述终端随臂摆动的姿态;
所述终端根据所述第一时间段内的方位角数据确定用户在所述第一时间段内的运动方向,具体为:
若所述终端确定所述终端的头部指向所述用户的前方,则所述终端使用所述终端在所述第一时间段内的方位角数据,表示所述用户在所述第一时间段内的运动方向;
若所述终端确定所述终端的头部指向所述用户的后方,则所述终端使用所述第一时间段内的方位角数据加上180度或者减去180度后的数据,表示所述用户在所述第一时间段内的运动方向。
11.一种获取用户运动轨迹的终端,其特征在于,包括:处理器、存储器和触摸屏,所述存储器、所述触摸屏与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述终端执行如下操作:
获取所述终端的重力数据;
根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态;
基于所述第一姿态,根据所述第一时间段内的方位角数据确定用户在所述第一时间段内的运动方向;
若所述终端在第二时间段内的重力数据的变化幅度大于第一阈值,则确定所述终端在所述第二时间段内处于非稳定状态;其中,所述第二时间段与所述第一时间段相邻;
根据所述用户在所述第一时间段内的运动方向,确定所述用户在所述第二时间段内的运动方向;
若所述终端在第三时间段内的重力数据的变化幅度小于或等于所述第一阈值,则确定所述终端在所述第三时间段内处于稳定状态;其中,所述第三时间段与所述第二时间段相邻;
根据用户在所述第二时间段内的运动方向,以及所述第三时间段的方位角数据,确定所述用户在所述第三时间段内的运动方向;
根据所述用户在所述第一时间段、所述第二时间段和所述第三时间段内的运动方向,确定所述用户的第一运动轨迹;
其中,所述终端根据所述用户在所述第一时间段内的运动方向,确定所述用户在所述第二时间段内的运动方向包括:
所述终端确定所述用户在所述第二时间段内的运动方向与在第四时间段内的运动方向相同;其中,所述第四时间段包含在所述第一时间段内,且所述第四时间段与所述第二时间段相邻;所述终端在所述第四时间段内的方向角数据的变化幅度小于第二阈值。
12.根据权利要求11所述的终端,其特征在于,所述终端根据用户在所述第二时间段内的运动方向,以及所述第三时间段的方位角数据,确定所述用户在所述第三时间段内的运动方向包括:
所述终端确定所述用户在第五时间段内的运动方向与在所述第二时间段内的运动方向相同;其中,所述第五时间段包含在所述第三时间段内,且所述第五时间段与所述第二时间段相邻,所述终端在所述第五时间段内的方位角数据的变化幅度小于第二阈值。
13.根据权利要求12所述的终端,其特征在于,所述第三时间段还包括至少一个第六时间段,所述第六时间段与所述第二时间段不相邻,且所述终端在所述第六时间段内的方位角数据的变化幅度小于所述第二阈值;
所述终端根据用户在所述第二时间段内的运动方向,以及所述第三时间段的方位角数据,确定所述用户在所述第三时间段内的运动方向,还包括:
所述终端计算所述用户在所述第五时间段内的运动方向与所述第五时间段内方位角数据的角度差值;
所述终端将所述第六时间段的方位角数据加上所述角度差值的数据,作为所述终端在所述第六时间段内的运动方向。
14.根据权利要求11所述的终端,其特征在于,所述终端根据所述用户在所述第一时间段、所述第二时间段和所述第三时间段内的运动方向,确定所述用户的第一运动轨迹包括:
所述终端根据所述用户在所述第一时间段、所述第二时间段和所述第三时间段内的运动方向,采用步行者航位推算PDR方法确定所述用户的所述第一运动轨迹。
15.根据权利要求11所述的终端,其特征在于,当所述计算机指令被所述处理器执行时,使得所述终端还执行以下操作:
若所述终端在第七时间段内的重力数据的变化幅度大于所述第一阈值,则确定所述终端在所述第七时间段内处于非稳定状态;其中,所述第七时间段与所述第三时间段相邻;
所述终端根据所述用户在所述第三时间段内的运动方向,确定所述用户在所述第七时间段内的运动方向;
若所述终端在第八时间段内的重力数据的变化幅度小于或等于所述第一阈值,则确定所述终端在所述第八时间段内处于稳定状态;其中,所述第八时间段与所述第七时间段相邻;
所述终端根据用户在所述第七时间段内的运动方向,以及所述第八时间段的方位角数据,确定所述用户在所述第八时间段内的运动方向;
所述终端根据所述用户在所述第七时间段和所述第八时间段内的运动方向,确定所述用户的第二运动轨迹。
16.根据权利要求11所述的终端,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
若在所述第一时间段内,所述终端的Y轴重力数据和Z轴重力数据均大于零,且变化幅度均小于第三阈值,所述终端的Z轴重力数据的绝对值小于第四阈值,则确定所述终端在所述第一时间段内处于第一姿态;所述第一姿态为所述用户竖持所述终端,且所述终端的头部指向所述用户前方时所述终端的姿态;
当所述终端处于所述第一姿态时,所述终端的方位角与所述用户的运动方向相同。
17.根据权利要求11所述的终端,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
若在所述第一时间段内,所述终端的X轴重力数据小于零,Z轴重力数据大于零,Y轴重力数据的绝对值小于第四阈值,且所述终端X轴重力数据、Y轴重力数据以及Z轴重力数据的变化幅度均小于第三阈值,则确定所述终端在所述第一时间段内处于第一姿态;所述第一姿态为所述用户横握所述终端,且所述终端的头部指向所述用户的右侧时所述终端的姿态;
当所述终端处于所述第一姿态时,所述终端的方位角数据减去90度后的数据为所述用户的运动方向。
18.根据权利要求11所述的终端,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
若在所述第一时间段内,所述终端的X轴重力数据和Z轴重力数据均大于零,且变化幅度均小于第三阈值,Y轴重力数据的绝对值小于第四阈值,则确定所述终端在所述第一时间段内处于第一姿态;所述第一姿态为所述用户横握所述终端,且所述终端的头部指向所述用户的左侧时所述终端的姿态;
当所述终端处于所述第一姿态时,所述终端的方位角数据加上90度后的数据为所述用户的运动方向。
19.根据权利要求11所述的终端,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
所述终端根据所述第一时间段内的重力数据、距离传感器数据以及终端通话状态,确定所述终端在所述第一时间段内处于所述第一姿态,所述第一姿态为所述用户手持所述终端贴近耳朵通话时的姿态;
当所述终端处于所述第一姿态时,所述终端的方位角数据加上180度或者减去180度后的数据为所述用户的运动方向。
20.根据权利要求11所述的终端,其特征在于,所述终端根据第一时间段内的重力数据确定所述终端在所述第一时间段内处于第一姿态,包括:
所述终端根据所述第一时间段内的重力数据、终端的线性加速度数据以及旋转向量数据,确定所述终端在所述第一时间段内处于所述第一姿态;所述第一姿态为所述用户手持终端运动,且所述终端随臂摆动的姿态;
所述终端根据所述第一时间段内的方位角数据确定用户在所述第一时间段内的运动方向,具体为:
若所述终端确定所述终端的头部指向所述用户的前方,则所述终端使用所述终端在所述第一时间段内的方位角数据,表示所述用户在所述第一时间段内的运动方向;
若所述终端确定所述终端的头部指向所述用户的后方,则所述终端使用所述第一时间段内的方位角数据加上180度或者减去180度后的数据,表示所述用户在所述第一时间段内的运动方向。
21.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行如权利要求1-10中任一项所述的方法。
CN201880091577.4A 2018-08-08 2018-08-08 一种获取用户运动轨迹的方法及终端 Active CN111902695B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/099475 WO2020029146A1 (zh) 2018-08-08 2018-08-08 一种获取用户运动轨迹的方法及终端

Publications (2)

Publication Number Publication Date
CN111902695A CN111902695A (zh) 2020-11-06
CN111902695B true CN111902695B (zh) 2022-07-12

Family

ID=69413649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880091577.4A Active CN111902695B (zh) 2018-08-08 2018-08-08 一种获取用户运动轨迹的方法及终端

Country Status (4)

Country Link
US (1) US20210302166A1 (zh)
EP (1) EP3812706A4 (zh)
CN (1) CN111902695B (zh)
WO (1) WO2020029146A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475594A (zh) * 2020-03-27 2020-07-31 深圳光启超材料技术有限公司 头戴设备的轨迹确定方法和装置、存储介质及电子装置
CN112669982B (zh) * 2020-12-31 2023-02-21 南方科技大学 密切接触者的确定方法、装置、设备和存储介质
CN116028556B (zh) * 2023-03-28 2023-06-09 山东无界智能科技有限公司 一种ar终端系统传输数据智能处理方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100580647B1 (ko) * 2004-04-01 2006-05-16 삼성전자주식회사 입력모드 분류가능한 동작기반 입력장치 및 방법
EP1867951B1 (en) * 2005-03-28 2014-03-19 Asahi Kasei EMD Corporation Traveling direction measuring apparatus and traveling direction measuring method
KR100834723B1 (ko) * 2007-05-14 2008-06-05 팅크웨어(주) 센서를 이용한 수직적 주행상태 판단 방법 및 장치
US20160131484A1 (en) * 2008-04-21 2016-05-12 Invensense, Inc. System and method for device position classification
US8542186B2 (en) * 2009-05-22 2013-09-24 Motorola Mobility Llc Mobile device with user interaction capability and method of operating same
JP5798713B2 (ja) * 2009-08-28 2015-10-21 ラピスセミコンダクタ株式会社 電子機器、運動検出方法及びプログラム
US8594971B2 (en) * 2010-09-22 2013-11-26 Invensense, Inc. Deduced reckoning navigation without a constraint relationship between orientation of a sensor platform and a direction of travel of an object
US20120120000A1 (en) * 2010-11-12 2012-05-17 Research In Motion Limited Method of interacting with a portable electronic device
US8694251B2 (en) * 2010-11-25 2014-04-08 Texas Instruments Incorporated Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems
US20120254809A1 (en) * 2011-03-31 2012-10-04 Nokia Corporation Method and apparatus for motion gesture recognition
US10330491B2 (en) * 2011-10-10 2019-06-25 Texas Instruments Incorporated Robust step detection using low cost MEMS accelerometer in mobile applications, and processing methods, apparatus and systems
JP6064384B2 (ja) * 2011-11-29 2017-01-25 株式会社リコー 機器制御システム
KR101404380B1 (ko) * 2012-09-24 2014-06-09 주식회사 팬택 모바일 디바이스 및 모바일 디바이스의 화면 방향 전환 방법
CN102944240B (zh) * 2012-11-02 2015-10-28 清华大学 一种基于智能手机的惯性导航系统及方法
US10359288B2 (en) * 2013-03-26 2019-07-23 Google Llc Signal processing to extract a pedestrian's moving direction
WO2015120908A1 (en) * 2014-02-14 2015-08-20 Fraunhofer Portugal Research Position tracking for a bearer of mobile device
CN104215238A (zh) * 2014-08-21 2014-12-17 北京空间飞行器总体设计部 一种智能手机室内定位方法
CN104266646B (zh) * 2014-09-11 2017-01-25 北京邮电大学 一种确定终端运动方向的方法和装置
GB201500411D0 (en) * 2014-09-15 2015-02-25 Isis Innovation Determining the position of a mobile device in a geographical area
WO2017000563A1 (zh) * 2015-06-30 2017-01-05 广州市香港科大霍英东研究院 智能设备的实时定位方法及系统、手机运动姿态的判定方法
KR20170010638A (ko) * 2015-07-20 2017-02-01 삼성전자주식회사 신호를 측정하는 방법 및 그 전자 장치
US10359289B2 (en) * 2015-09-02 2019-07-23 Apple Inc. Device state estimation under periodic motion
US10015748B2 (en) * 2015-12-09 2018-07-03 Motorola Mobility Llc Method and apparatus for changing an operating state of a portable electronic device
CN106895835B (zh) * 2015-12-17 2021-01-22 阿里巴巴集团控股有限公司 定位方法及装置
US11341776B2 (en) * 2016-07-15 2022-05-24 Htc Corporation Method, electronic apparatus and recording medium for automatically configuring sensors
JP6159453B1 (ja) * 2016-08-18 2017-07-05 ヤフー株式会社 推定装置、推定方法及び推定プログラム
US11162794B2 (en) * 2016-09-13 2021-11-02 Trekace Technologies Ltd. Method, system and software for navigation in global positioning system (GPS)-denied environments
CN107995410A (zh) * 2016-10-27 2018-05-04 珠海格力电器股份有限公司 一种终端倾斜拍摄提示的方法和装置
WO2018116476A1 (ja) * 2016-12-22 2018-06-28 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN107291266B (zh) * 2017-06-21 2018-08-31 腾讯科技(深圳)有限公司 图像显示的方法和装置
JP6686985B2 (ja) * 2017-08-03 2020-04-22 カシオ計算機株式会社 軌跡推定装置、軌跡推定方法及び軌跡推定プログラム
US10298745B2 (en) * 2017-08-29 2019-05-21 Ralph Peter Guisti Method and apparatus for modifying interaction with a mobile-device
CN107990901B (zh) * 2017-11-28 2021-03-12 元力云网络有限公司 一种基于传感器的用户方向定位方法
GB201804079D0 (en) * 2018-01-10 2018-04-25 Univ Oxford Innovation Ltd Determining the location of a mobile device
JP2021121781A (ja) * 2018-05-09 2021-08-26 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
WO2020008878A1 (ja) * 2018-07-02 2020-01-09 ソニー株式会社 測位装置、測位方法、及びプログラム

Also Published As

Publication number Publication date
EP3812706A4 (en) 2021-07-07
CN111902695A (zh) 2020-11-06
US20210302166A1 (en) 2021-09-30
EP3812706A1 (en) 2021-04-28
WO2020029146A1 (zh) 2020-02-13

Similar Documents

Publication Publication Date Title
WO2021052016A1 (zh) 一种人体姿态检测方法及电子设备
CN115866121B (zh) 应用界面交互方法、电子设备和计算机可读存储介质
CN110874168A (zh) 一种显示方法及电子设备
CN112217923A (zh) 一种柔性屏幕的显示方法及终端
CN111902695B (zh) 一种获取用户运动轨迹的方法及终端
CN111132101B (zh) 定位交互方法及装置
CN111983559A (zh) 室内定位导航方法及装置
CN112637758B (zh) 一种设备定位方法及其相关设备
CN115655310A (zh) 数据的校准方法、电子设备及可读存储介质
WO2022206494A1 (zh) 目标跟踪方法及其装置
CN112584037B (zh) 保存图像的方法及电子设备
WO2023179751A1 (zh) 一种物体寻找方法、系统以及电子设备
CN113790732B (zh) 位置信息的生成方法及装置
CN116806013A (zh) 一种消息传输的方法及相应终端
CN116048296A (zh) 电子设备及其轨迹生成方法和介质
CN114812381A (zh) 电子设备的定位方法及电子设备
CN114637392A (zh) 显示方法及电子设备
CN116048236B (zh) 通信方法及相关装置
CN115562514B (zh) 触控显示方法、图形界面及相关装置
CN113790731B (zh) 速度信息的生成方法及装置
CN116320880B (zh) 音频处理方法和装置
CN114205318B (zh) 头像显示方法及电子设备
JP7404389B2 (ja) 運動軌跡記録方法及び関連デバイス
CN117666824A (zh) 一种控制光标移动的方法和装置
CN112840227A (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
GR01 Patent grant