一种跌落检测方法及终端设备与流程

文档序号:18298236发布日期:2019-07-31 09:42阅读:260来源:国知局
一种跌落检测方法及终端设备与流程

本发明实施例涉及通信技术领域,尤其涉及一种跌落检测方法及终端设备。



背景技术:

在日常使用终端设备(例如手机)的过程中,难免会发生跌落手机的情况,这样,手机屏幕可能会由于跌落而损坏,因此对手机的跌落检测的需求越来越大。

目前,检测手机跌落的算法通常为:通过手机中的加速度传感器,检测手机在各个方向上的加速度(以下称为三轴加速度)及三轴加速度的合加速度,若确定三轴加速度及合加速度均接近零,则可以判断手机可能跌落。

然而,如果手机在跌落过程中发生了翻转,那么可能会出现手机发生旋转跌落而未被检测到的情况,进而导致误判。



技术实现要素:

本发明实施例提供一种跌落检测方法及终端设备,以解决现有终端设备无法检测旋转跌落的问题。

为了解决上述技术问题,本发明是这样实现的:

第一方面,本发明实施例提供了一种跌落检测方法,应用于终端设备,该方法包括:获取m个合加速度值,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备在不同方向的加速度值;并且若该m个合加速度值满足第一条件,则确定该m个合加速度值是否满足第二条件;并且若该m个合加速度值不满足第二条件,则确定终端设备处于旋转跌落状态。其中,上述第一条件为:该m个合加速度值中连续的k个合加速度值大于或等于第一阈值、且该m个合加速度值的方差小于或等于第二阈值。上述第二条件为:该m个合加速度值中的每个合加速度值均在第一数值范围内、且该m个合加速度值的方差小于或等于第三阈值,以及第一合加速度值小于或等于第四阈值,该第一合加速度值为r个合加速度值的均值或该r个合加速度值中的最大值,该m个合加速度值为该r个合加速度值中的数值。该第三阈值小于第二阈值,m、n、k和r为正整数,且r≥m,m≥k。

第二方面,本发明实施例提供了一种终端设备,该终端设备包括获取模块和确定模块。获取模块用于获取m个合加速度值,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备在不同方向的加速度值。确定模块用于若获取模块获取的该m个合加速度值满足第一条件,则确定该m个合加速度值是否满足第二条件。确定模块还用于若获取模块获取的该m个合加速度值不满足第二条件,则确定终端设备处于旋转跌落状态。其中,上述第一条件可以为:该m个合加速度值中连续的k个合加速度值大于或等于第一阈值、且该m个合加速度值的方差小于或等于第二阈值。上述第二条件可以为:该m个合加速度值中的每个合加速度值均在第一数值范围内、且该m个合加速度值的方差小于或等于第三阈值,以及第一合加速度值小于或等于第四阈值,该第一合加速度值为r个合加速度值的均值或该r个合加速度值中的最大值,该m个合加速度值为该r个合加速度值中的数值。该第三阈值小于第二阈值,m、n、k和r为正整数,且r≥m,m≥k。

第三方面,本发明实施例提供了一种终端设备,该终端设备包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述第一方面中的跌落检测方法的步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述第一方面中的跌落检测方法的步骤。

在本发明实施例中,可以获取m个合加速度值,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备在不同方向的加速度值;并且若该m个合加速度值满足第一条件,则确定该m个合加速度值是否满足第二条件;并且若该m个合加速度值不满足第二条件,则确定终端设备处于旋转跌落状态。通过该方案,可以在判断终端设备受到较大的冲击力,可能存在跌落事件的情况下,若判断终端设备受到能够造成终端设备旋转跌落的推力,并排除终端设备受到冲击力但未跌落的特殊情况,则可以确定终端设备可能处于旋转跌落状态。如此,本发明实施例可以通过多种条件判断,检测出终端设备是否发生旋转跌落事件,从而可以提升对终端设备的跌落检测的准确度。

附图说明

图1为本发明实施例提供的一种可能的安卓操作系统的架构示意图;

图2为本发明实施例提供的跌落检测方法的示意图之一;

图3为本发明实施例提供的跌落检测方法中采用的二维数组的示意图;

图4为本发明实施例提供的跌落检测方法的示意图之二;

图5为本发明实施例提供的跌落检测方法中应用的采样窗口的示意图;

图6为本发明实施例提供的跌落检测方法的示意图之三;

图7为本发明实施例提供的终端设备的结构示意图之一;

图8为本发明实施例提供的终端设备的结构示意图之二;

图9为本发明实施例提供的终端设备的硬件示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本文中符号“/”表示关联对象是或者的关系,例如a/b表示a或者b。

本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一时间段和第二时间段等是用于区别不同的时间段,而不是用于描述时间段的特定顺序。

在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等。

本发明实施例提供一种跌落检测方法及终端设备,可以获取m个合加速度值,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备在不同方向的加速度值;并且若该m个合加速度值满足第一条件,则确定该m个合加速度值是否满足第二条件;并且若该m个合加速度值不满足第二条件,则确定终端设备处于旋转跌落状态。通过该方案,可以在判断终端设备受到较大的冲击力,可能存在跌落事件的情况下,若判断终端设备受到能够造成终端设备旋转跌落的推力,并排除终端设备受到冲击力但未跌落的特殊情况,则可以确定终端设备可能处于旋转跌落状态。如此,本发明实施例可以通过多种条件判断,检测出终端设备是否发生旋转跌落事件,从而可以提升对终端设备的跌落检测的准确度。

本发明实施例中的终端设备可以为具有操作系统的终端设备。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本发明实施例不作具体限定。

下面以安卓操作系统为例,介绍一下本发明实施例提供的跌落检测方法所应用的软件环境。

如图1所示,为本发明实施例提供的一种可能的安卓操作系统的架构示意图。在图1中,安卓操作系统的架构包括4层,分别为:应用程序层、应用程序框架层、系统运行库层和内核层(具体可以为linux内核层)。

其中,应用程序层包括安卓操作系统中的各个应用程序(包括系统应用程序和第三方应用程序)。

应用程序框架层是应用程序的框架,开发人员可以在遵守应用程序的框架的开发原则的情况下,基于应用程序框架层开发一些应用程序。

系统运行库层包括库(也称为系统库)和安卓操作系统运行环境。库主要为安卓操作系统提供其所需的各类资源。安卓操作系统运行环境用于为安卓操作系统提供软件环境。

内核层是安卓操作系统的操作系统层,属于安卓操作系统软件层次的最底层。内核层基于linux内核为安卓操作系统提供核心系统服务和与硬件相关的驱动程序。

以安卓操作系统为例,本发明实施例中,开发人员可以基于上述如图1所示的安卓操作系统的系统架构,开发实现本发明实施例提供的跌落检测方法的软件程序,从而使得该跌落检测方法可以基于如图1所示的安卓操作系统运行。即处理器或者终端设备可以通过在安卓操作系统中运行该软件程序实现本发明实施例提供的跌落检测方法。

本发明实施例中的终端设备可以为移动终端,也可以为非移动终端。示例性的,移动终端可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本或者个人数字助理(personaldigitalassistant,pda)等,非移动终端可以为个人计算机(personalcomputer,pc)、电视机(television,tv)、柜员机或者自助机等,本发明实施例不作具体限定。

本发明实施例提供的跌落检测方法的执行主体可以为上述的终端设备,也可以为该终端设备中能够实现该跌落检测方法的功能模块和/或功能实体,具体的可以根据实际使用需求确定,本发明实施例不作限定。下面以终端设备为例,对本发明实施例提供的跌落检测方法进行示例性的说明。

如图2所示,本发明实施例提供一种跌落检测方法,该跌落检测方法可以包括下述的步骤200-步骤203。

步骤200、终端设备获取m个合加速度值。

其中,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备在不同方向的加速度值,m、n为正整数。

本发明实施例中,为了便于说明,下面n取3进行举例说明,例如终端设备可以实时获取相互垂直的三个方向上的3个加速度值,也就是说,终端设备每次获取一组加速度值(即3个加速度值),并且可以连续获取多组加速度值。

具体的,终端设备可以采用加速度传感器,实时采集终端设备沿三个轴方向(例如x轴方向、y轴方向、z轴方向)上的加速度值,其中,三轴加速度值分别可以用ax、ay和az表示。

进一步的,终端设备可以根据某个时刻采集的三轴加速度值ax、ay和az,计算终端设备在该时刻的合加速度值。具体的,可以通过下述的等式(1),计算合加速度值。

其中,ax、ay和az分别表示终端设备在三个轴方向(即x轴、y轴和z轴)上的加速度值,as表示终端设备的合加速度值。

需要说明的是,终端设备可以实时采集各个时刻的加速度值ax、ay和az,并利用加速度值ax、ay和az实时计算各个时刻的合加速度值as,并且终端设备可以将某一时间段内采集的ax、ay和az以及计算得到的as存储在特定的存储空间中,以便终端设备采用这些加速度数据进行跌落检测。

本发明实施例中,假设采样率为50赫兹(hz),那么相邻两个采样时刻的时间间隔为20毫秒(ms),也就是说,终端设备可以每隔20ms采集一组加速度值,并利用该组加速度值计算得到一个合加速度值。例如,终端设备可以在100ms内采集5组加速度值,并可以利用该5组加速度值计算得到5个合加速度值。由此可知,在采样率一定的情况下,终端设备获取的合加速度值的数量(即上述m),取决于加速度传感器的采样时长(或采样次数)。为了便于说明,以下均以采样率为50hz为例进行示例性的说明。

可选的,本发明实施例中,上述的步骤200具体可以通过下述的步骤200a实现。

步骤200a、终端设备获取第一时间段内的m个合加速度值,该第一时间段为在终端设备判断m个合加速度值是否满足第一条件之前的时间段,该第一时间段的时长为第一预设时长。

示例性的,假设上述第一时间段为在终端设备判断m个合加速度值是否满足第一条件之前的300毫秒(ms),那么终端设备可以在300ms内采集15组加速度值,并且终端设备可以采用这15组加速度值,计算得到300ms内的15个合加速度值(此时m等于15)。

本发明实施例中,终端设备可以采用“先进先出(firstinputfirstoutput,fifo)”缓存器,存储最近300ms内的x、y、z三个轴加速度值以及合加速度值(以下简称四个轴的加速度数据),以便终端设备采用这些加速度数据进行跌落检测。

示例性的,如图3所示,终端设备可以使用一个15行4列的二维数组作为fifo缓存器,存储最近300ms内的四个轴的加速度数据。具体的,第1列、第2列、第3列和第4列分别存储加速度传感器的x、y、z三个轴的加速度数据ax、ay和az以及合加速度数据as,并且第1行到第15行分别存储最近15个采样时刻的加速度数据。加速度传感器在每次采集到一组加速度数据之后,可以将二维数组的第1行数据移出去丢弃,并将第2行到第15行的数据依次向前移动1行,以将其分别存放在第1行到第14行中,并且将最新的加速度数据存储在二维数组的第15行。如此,按照“先进先出”原则,在fifo缓存器中存储最近15个采样时刻的加速度数据。

步骤201、终端设备判断m个合加速度值是否满足第一条件。

其中,上述第一条件可以包括下述的(1)和(2):

(1)m个合加速度值中连续的k个合加速度值大于或等于第一阈值,k为正整数且m≥k。

本发明实施例中,上述连续的k个合加速度值可以理解为:根据连续k个时刻采集到的k组加速度值(每组加速度值包括3个加速度值)计算的k个合加速度值。

本发明实施例中,上述第一阈值可以为根据多次实验获取的在终端设备跌落触碰到地面时刻的多组合加速度值所确定的值。具体的,第一阈值的取值可以根据实际使用需求确定,本发明实施例不作限定。

本发明实施例中,若m个合加速度值中连续的k个合加速度值大于或等于第一阈值,则可以理解为:m个合加速度值中,k个合加速度值发生脉冲或阶跃现象,也就是说,多个合加速度值中出现了突变现象,即合加速度数据发生剧烈波动。通常,终端设备在受到较大的冲击力时,会引起合加速度数据发生剧烈波动。因此,根据连续k个合加速度值发生脉冲或阶跃现象,可以推断:终端设备在第一时间段内或当前时刻受到较大的冲击力。该冲击力可能会导致终端设备旋转跌落,也可能不会导致终端设备旋转跌落,这需要根据加速度数据作进一步判断。

示例性的,假设m取15且k取5,那么若15个合加速度值中连续的5个合加速度值(即300ms内的加速度数据中连续100ms内的加速度数据)均大于或等于第一阈值,则可以推断:终端设备在第一时间段内或当前时刻受到较大的冲击力。

(2)m个合加速度值的方差小于或等于第二阈值。

本发明实施例中,上述第二阈值可以为根据多次实验获取的多组合加速度值的方差值所确定的值。具体的,第二阈值的取值可以根据实际使用需求确定,本发明实施例不作限定。

根据理论可知,多个合加速度值的方差可以用于衡量合加速度数据的波动大小。多个合加速度值的方差越小,则合加速度数据的波动越小,稳定性越好。此外,根据跌落检测理论可知,在终端设备发生跌落(包括旋转跌落)的过程中,通常向心加速度(其与合加速度的均值成正比)的波动相对不会太剧烈。

示例性的,假设m取15,那么15个合加速度值的方差小于或等于第二阈值,则可以推断:终端设备在第一时间段(例如300ms)内的合加速度数据的波动不太剧烈,在此情况下,终端设备可能发生跌落。

对于上述合加速度值的方差的计算过程的描述具体可以参见现有的技术中的方差计算的相关步骤,此处不予赘述。

本发明实施例中,在m个合加速度值同时满足上述的(1)和(2)的情况下,可以理解:终端设备在第一时间段内合加速度数据整体波动不太剧烈,但存在有突变现象,这些都可以说明终端设备可能发生旋转跌落。因此,在m个合加速度值满足第一条件的情况下,可以推断终端设备可能发生旋转跌落。

一方面,若m个合加速度值同时满足上述的(1)和(2)(即m个合加速度值满足第一条件),则可以推断终端设备可能发生旋转跌落,需要根据合加速度数据作进一步判断,因此终端设备继续执行下述的步骤202。

另一方面,若m个合加速度值不满足(1),或者m个合加速度值不满足(1),或者m个合加速度值不满足(1)和(2),则终端设备可以确定m个合加速度值不满足第一条件,进而终端设备可以返回继续执行上述的步骤200,即终端设备重新获取m个合加速度值。

步骤202、终端设备判断m个合加速度值是否满足第二条件。

其中,上述第二条件可以包括下述的(a)、(b)和(c):

(a)m个合加速度值中的每个合加速度值均在第一数值范围内。

其中,上述第一数值范围可以根据实验数据或理论经验值确定。示例性的,第一数值范围可以为[8,12],其中加速度的单位为米/秒2。具体的,第一数值范围的取值可以根据实际使用需求确定,本发明实施例不作限定。

示例性的,假设m取15,那么若15个合加速度值中的每个合加速度值均在[8,12]内,则可以推断:终端设备在第一时间段内或当前时刻可能被用户握持在手里,或者可能放置于桌面上。

(b)m个合加速度值的方差小于或等于第三阈值。

本发明实施例中,上述第三阈值可以为根据多次实验获取的多组合加速度值的方差值所确定的值,且第三阈值小于第二阈值(即第二阈值为比第三阈值宽松的阈值)。具体的,第三阈值的取值可以根据实际使用需求确定,本发明实施例不作限定。

本发明实施例中,上述通过将m个合加速度值的方差与第二阈值比较的步骤,可以粗略地判断合加速度数据的波动大小。这里,通过将m个合加速度值的方差与第三阈值比较,可以更精确地判断合加速度数据的波动大小。

示例性的,假设m取15,那么若15个合加速度值的方差小于或等于第三阈值,则可以推断:在第二时间段(例如1600ms)内的合加速度数据的波动不太剧烈,在此情况下,终端设备可能发生跌落。

(c)第一合加速度值小于或等于第四阈值,该第一合加速度值为r个合加速度值的均值或该r个合加速度值中的最大值,该m个合加速度值为该r个合加速度值中的数值,r为正整数且r≥m。

其中,上述r个合加速度值为第二时间段内获取的合加速度值,该第二时间段为在终端设备判断m个合加速度值是否满足第二条件之前的时间段,该第二时间段的时长为第二预设时长,该第二预设时长大于或等于第一预设时长。

本发明实施例中,上述第四阈值可以为根据多次实验获取的多组合加速度值的均值所确定的值,或者根据多次实验获取的多组合加速度值的最大值所确定的值。具体的,第四阈值的取值可以根据实际使用需求确定,本发明实施例不作限定。

示例性的,假设第二时间段的时长为1600ms,那么上述r个合加速度值为该1600ms(对应80个采样时刻)内获取的80个合加速度值。

具体的,若终端设备判断80个合加速度值的均值大于第四阈值(例如11),则可以推断:终端设备在第二时间段内或当前时刻可能受到能够造成旋转跌落的推力。相反,若终端设备判断80个合加速度值的均值小于或等于第四阈值(例如11),即没有检测到造成快速翻转的推力,则可以推断:终端设备在第二时间段内或当前时刻不存在能够造成旋转跌落的推力。

或者,若终端设备判断80个合加速度值的最大值大于第四阈值(例如20),则可以推断:终端设备在第二时间段内或当前时刻可能受到能够造成旋转跌落的推力。相反,若终端设备判断80个合加速度值的最大值小于或等于第四阈值(例如20),即没有检测到造成快速翻转的推力,则可以推断:终端设备在第二时间段内或当前时刻不存在能够造成旋转跌落的推力。

本发明实施例中,终端设备可以采用fifo缓存器,存储最近1600ms内的x、y、z三个轴加速度值以及合加速度值,以便终端设备采用这些加速度数据进行跌落检测。

示例性的,终端设备可以使用一个80行4列的二维数组作为fifo缓存器,存储最近1600ms内的四个轴的加速度数据。具体的,第1列、第2列、第3列和第4列分别存储加速度传感器的x、y、z三个轴的加速度数据ax、ay和az以及合加速度数据as,并且第1行到第80行分别存储最近80个采样时刻的加速度数据。加速度传感器在每次采集到一组加速度数据之后,可以将二维数组的第1行数据移出去丢弃,并将第2行到第80行的数据依次向前移动1行,以将其分别存放在第1行到第79行中,并且将最新的加速度数据存储在二维数组的第80行。如此,按照“先进先出”原则,在fifo缓存器中存储最近80个采样时刻的加速度数据。

终端设备可以计算二维数组中第四列的合加速度的连续10个数据(对应连续200ms)的均值mean或最大值max。若均值mean大于11或者最大值max大于20,则可能存在造成快速翻转的推力。

可选的,本发明实施例中,上述r个合加速度值的均值可以为r个合加速度值的几何平均值、算术平均值或加权平均值,还可以为其它任意可能的均值,具体可以根据实际使用需求确定,本发明实施例不作限定。

综上,一方面,若终端设备判断m个合加速度值同时满足上述的(a)、(b)和(c)(即m个合加速度值满足第二条件),则可以确定:终端设备在静止状态下突然受到较大的冲击力(例如终端设备在用户手里时突然被晃动、或者终端设备位于桌面上时受到轻微碰撞等),但是终端设备没有发生跌落事件(以下称为特殊情况)。进而,终端设备可以返回继续执行上述的步骤200,即终端设备重新获取m个合加速度值。

另一方面,若终端设备判断m个合加速度值不满足上述的(a)、(b)和(c)中的至少一项(即m个合加速度值不满足第二条件),则可以排除终端设备在静止状态下突然受到冲击力但未跌落的特殊情况。如此,终端设备可以确定终端设备可能存在旋转跌落事件。

步骤203、终端设备确定终端设备处于旋转跌落状态。

本发明实施例中,终端设备可以在判断终端设备受到较大的冲击力,可能存在跌落事件的情况下,若判断终端设备受到能够造成终端设备旋转跌落的推力,并排除终端设备受到冲击力但未跌落的特殊情况,则可以确定终端设备可能处于旋转跌落状态(即终端设备可能发生旋转跌落事件)。

本发明实施例中,综合考虑终端设备在跌落之前的状态(例如运动状态或静止状态)、以及终端设备在跌落之前可能存在的瞬间推力(例如能够造成终端设备旋转跌落的推力),判断终端设备是否发生旋转跌落,可以提升对终端设备的跌落检测的准确度。

现有技术中,由于加速度传感器不能检测旋转动作,因此对于终端设备发生旋转跌落的情况,需要加速度传感器和陀螺仪结合检测,这样会成倍地增加耗电量。通过本发明实施例提供的跌落检测方法,可以不使用陀螺仪,仅使用加速度传感器即可检测终端设备是否存在跌落(包含在空中旋转的情况)事件。

本发明实施例提供的跌落检测方法,可以获取m个合加速度值,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备在不同方向的加速度值;并且若该m个合加速度值满足第一条件,则确定该m个合加速度值是否满足第二条件;并且若该m个合加速度值不满足第二条件,则确定终端设备处于旋转跌落状态。通过该方案,可以在判断终端设备受到较大的冲击力,可能存在跌落事件的情况下,若判断终端设备受到能够造成终端设备旋转跌落的推力,并排除终端设备受到冲击力但未跌落的特殊情况,则可以确定终端设备可能处于旋转跌落状态。如此,本发明实施例可以通过多种条件判断,检测出终端设备是否发生旋转跌落事件,从而可以提升对终端设备的跌落检测的准确度。

可选的,结合图2,如图4所示,在上述的步骤202之后,以及在上述的步骤203之前,本发明实施例提供的跌落检测方法还可以包括下述的步骤204-步骤206。

步骤204、终端设备获取第三时间段内的x个合加速度值。

其中,该第三时间段为在终端设备判断m个合加速度值是否满足第二条件之前的时间段,该第三时间段的时长为第三预设时长,该第三预设时长大于或等于第二预设时长。

示例性的,假设第三时间段的时长为2000ms,那么上述x个合加速度值为该2000ms(对应100个采样时刻)内获取的100个合加速度值。

需要说明的是,对于步骤204中每个合加速度值的计算方法可以参见上述方法实施例中步骤200对合加速度值的计算方法,此处不再赘述。

步骤205、终端设备获取第三时间段内的x个第一数值,每个第一数值为第二数值与n个第三数值之和,该第二数值为连续两次获取的合加速度值的差值,每个第三数值为连续两次获取的终端设备在同一方向的加速度值的差值。

其中,x为正整数,且x≥m。

本发明实施例中,上述合加速度值的差值可以为连续两次获取的合加速度值的一阶差分值。例如,第二数值δas2=as2-as1,其中as2和as1分别为连续两次获取的合加速度值。

同样,上述加速度值的差值可以为加速度值的一阶差分值。例如,第三数值包括δax2、δay2和δaz2,且δax2=ax2-ax1,δay2=ay2-ay1,δaz2=az2-az1,其中,ax2和ax1分别为连续两次获取的x轴加速度值,ay2和ay1分别为连续两次获取的y轴加速度值,az2和az1分别为连续两次获取的z轴加速度值。

需要说明的是,合加速度值的差值以及各个轴加速度值的差值可以不限于一阶差分值,为了计算更加精确,还可以采用二阶差分值,具体可以根据实际使用需求确定,本发明实施例不作限定。

本发明实施例中,每个第一数值为第三时间段内每个时刻的加速度值(ax、ay、az、as)的一阶差分值的绝对值的累加和block_dif_abs_4sum。例如,block_dif_abs_4sum=δax2+δay2+δaz2+δas2。

具体的,假设第三时间段为在终端设备判断m个合加速度值是否满足第二条件之前的2000ms,那么终端设备可以获取该2000ms内的100个第一数值(此时x等于100)、以便终端设备可以进一步采用这些数据判断终端设备是否发生旋转跌落。

步骤206、终端设备判断x个合加速度值是否满足第三条件,且x个第一数值是否满足第四条件。

其中,上述第三条件可以为y个合加速度值的方差小于或等于第五阈值,y个合加速度值为x个合加速度值中处于第四预设时长内的数值,该第四预设时长小于第三预设时长。其中,y为正整数,且x≥y。

本发明实施例中,上述第五阈值可以为根据多次实验获取的多组合加速度值的方差值所确定的值。具体的,第五阈值的取值可以根据实际使用需求确定,本发明实施例不作限定。

其中,上述第四条件可以为:x个第一数值中的每个第一数值均小于或等于第六阈值;且x个第一数值中当前时刻的第一数值大于或等于第七阈值。

本发明实施例中,上述当前时刻为终端设备获取最后一组加速度值的时刻或者最近一次获取一组加速度值的时刻。

其中,上述第六阈值和第七阈值分别为根据多次实验获取的加速度数据所确定的值。第六阈值和第七阈值均与合加速度的均值成正比,即与终端设备在跌落过程中旋转的角速度有关。具体的,第六阈值的取值和第七阈值的取值可以根据实际使用需求确定,本发明实施例不作限定。

具体的,如图5所示,以当前时刻t为右边界,宽度为第三预设时长t1(例如2000ms)构造一个外时间窗口,其中内嵌一个时间宽度为第四预设时长t2(例如160ms)的内时间窗口(一个内时间窗口中包含8组采样值)。

然后,可以将内时间窗口套在外时间窗口中从左向右一步一步地移动,并且每移动一次就计算内时间窗口里的合加速度的均值和方差以及每个时刻四个轴的一阶差分的绝对值的累加和block_dif_abs_4sum。

进一步,可以判断合加速度的均值是否小于第五阈值且block_dif_abs_4sum是否均小于第六阈值,其中,内时间窗口从左到右一步一步地移动的过程中只要出现一次条件满足(即合加速度的均值小于第五阈值且block_dif_abs_4sum均小于第六阈值)即可。这一判断结果可以确定在内时间窗口里的加速度数据是否波动较小。

同时,可以判断是否同时满足当前时刻四个轴的一阶差分的绝对值的累加和大于预设的第七阈值,这一判断结果可以确定终端设备在当前时刻是否受到较大的冲击力。

综上,一方面,若终端设备判断x个合加速度值满足第三条件,且x个第一数值满足第四条件,则终端设备可以继续执行步骤203,即终端设备可以确定终端设备发生旋转跌落事件。

另一方面,若终端设备判断x个合加速度值不满足第三条件,或者x个第一数值不满足第四条件,则终端设备可以返回继续执行上述的步骤200。

可选的,结合图2,如图6所示,在上述的步骤203之后,本发明实施例提供的跌落检测方法还可以包括下述的步骤207和步骤208。

步骤207、终端设备获取第二合加速度值,该第二合加速度值为q个合加速度值的均值。

其中,该q个合加速度值为获取的第四时间段内的合加速度值,该第四时间段为在终端设备获取第二合加速度值之前的时间段,该第四时间段的时长为第四预设时长。

步骤208、终端设备根据第二合加速度值,计算目标角速度值。

其中,上述目标角速度值用于指示终端设备在旋转跌落过程中旋转的角速度。

可选的,本发明实施例中,上述的步骤208具体可以通过下述的步骤208a实现。

步骤208a、终端设备根据第二合加速度值,采用目标公式,计算目标角速度值。

其中,上述目标公式为:an=w2*r,an表示第二合加速度的均值,w表示目标角速度,r表示终端设备在旋转跌落过程中圆周运动的半径。

本发明实施例中,根据理论可知,向心加速度与旋转角速度的平方成正比,在确认终端设备发生了跌落事件之后,由于手机在跌落过程中翻转或旋转时处于失重状态且也没有其他物体施加作用力,因此此时的合加速度的均值an可以体现(近似等同于)终端设备在旋转跌落过程中旋转的向心加速度的大小。因此,本发明实施例可以基于向心加速度与终端设备圆周运动的角速度的平方成正比的理论,根据终端设备跌落过程中合加速度的均值an,估算终端设备在旋转跌落过程中旋转的角速度。如此,本发明实施例不需要陀螺仪就可以估算出旋转角速度的大小和方向。

需要说明的是,由于终端设备的尺寸差异不大,即在终端设备在旋转跌落过程中圆周运动的半径差异不大,因此可以认为圆周运动的半径r为定值。进而,基于向心加速度与终端设备圆周运动的角速度的平方成正比而估算的角速度在误差允许范围内。

通过本发明实施例提供的跌落检测方法,可以不使用陀螺仪,仅使用加速度传感器即可检测终端设备是否存在跌落(包含在空中旋转的情况)事件,并且可以估算出在跌落过程中终端设备在空中旋转的角速度的大小和方向,从而可以解决由于使用陀螺仪引起的较大耗电量和较高硬件成本的问题。

需要说明的是,本发明的上述实施例中的图6是结合上述图2示例说明的,具体实现时,图6还可以结合其它任意可以结合的附图(例如图4)实现。

如图7所示,本发明实施例提供一种终端设备700,该终端设备700可以包括获取模块701和确定模块702。获取模块701用于获取m个合加速度值,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备700在不同方向的加速度值。确定模块702用于若获取模块701获取的该m个合加速度值满足第一条件,则确定该m个合加速度值是否满足第二条件。确定模块702还用于若获取模块701获取的该m个合加速度值不满足第二条件,则确定终端设备700处于旋转跌落状态。

其中,上述第一条件可以为:该m个合加速度值中连续的k个合加速度值大于或等于第一阈值、且该m个合加速度值的方差小于或等于第二阈值。上述第二条件可以为:该m个合加速度值中的每个合加速度值均在第一数值范围内、且该m个合加速度值的方差小于或等于第三阈值,以及第一合加速度值小于或等于第四阈值,该第一合加速度值为r个合加速度值的均值或该r个合加速度值中的最大值,该m个合加速度值为该r个合加速度值中的数值。该第三阈值小于第二阈值,m、n、k和r为正整数,且r≥m,m≥k。

可选的,本发明实施例中,获取模块701具体用于获取第一时间段内的m个合加速度值,该第一时间段为在终端设备700判断m个合加速度值是否满足第一条件之前的时间段,该第一时间段的时长为第一预设时长。其中,该r个合加速度值为第二时间段内获取的合加速度值,该第二时间段为在终端设备700判断m个合加速度值是否满足第二条件之前的时间段,该第二时间段的时长为第二预设时长,该第二预设时长大于或等于上述第一预设时长。

可选的,本发明实施例中,获取模块701还用于在确定模块702确定终端设备700处于旋转跌落状态之前,获取第三时间段内的x个合加速度值,该第三时间段为在终端设备700判断m个合加速度值是否满足第二条件之前的时间段,该第三时间段的时长为第三预设时长,该第三预设时长大于或等于上述第二预设时长。获取模块701还用于获取该第三时间段内的x个第一数值,每个第一数值为第二数值与n个第三数值之和,该第二数值为连续两次获取的合加速度值的差值,每个第三数值为连续两次获取的终端设备700在同一方向的加速度值的差值。确定模块702具体用于若m个合加速度值不满足上述第二条件、且该x个合加速度值满足第三条件,以及该x个第一数值满足第四条件,则确定终端设备700处于旋转跌落状态。

其中,上述第三条件可以为:y个合加速度值的方差小于或等于第五阈值,该y个合加速度值为x个合加速度值中处于第四预设时长内的数值,该第四预设时长小于上述第三预设时长。上述第四条件可以为:上述x个第一数值中的每个第一数值均小于或等于第六阈值、且上述x个第一数值中当前时刻的第一数值大于或等于第七阈值。x和y为正整数,且x≥m,x≥y。

可选的,结合图7,如图8所示,本发明实施例提供的终端设备还可以包括计算模块703。获取模块701还用于在确定模块702确定终端设备处于旋转跌落状态之后,获取第二合加速度值,该第二合加速度值为q个合加速度值的均值,该q个合加速度值为获取的第四时间段内的合加速度值,该第四时间段为在终端设备获取第二合加速度值之前的时间段,该第四时间段的时长为第四预设时长,q为正整数。计算模块703用于根据获取模块701获取的第二合加速度值,计算目标角速度值,该目标角速度值用于指示终端设备在旋转跌落过程中旋转的角速度。

可选的,本发明实施例中,计算模块703具体用于根据第二合加速度值,采用目标公式,计算目标角速度值。目标公式为:an=w2*r;其中,an表示第二合加速度的均值,w表示目标角速度,r表示终端设备在旋转跌落过程中圆周运动的半径。

可选的,本发明实施例中,获取模块701还用于若m个合加速度值不满足第一条件,则重新获取m个合加速度值。

可选的,本发明实施例中,获取模块701还用于若m个合加速度值满足第二条件,则重新获取m个合加速度值。

本发明实施例提供的终端设备能够实现上述方法实施例中终端设备实现的各个过程,为避免重复,这里不再赘述。

本发明实施例提供的终端设备,可以获取m个合加速度值,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备在不同方向的加速度值;并且若该m个合加速度值满足第一条件,则确定该m个合加速度值是否满足第二条件;并且若该m个合加速度值不满足第二条件,则确定终端设备处于旋转跌落状态。通过该方案,可以在判断终端设备受到较大的冲击力,可能存在跌落事件的情况下,若判断终端设备受到能够造成终端设备旋转跌落的推力,并排除终端设备受到冲击力但未跌落的特殊情况,则可以确定终端设备可能处于旋转跌落状态。如此,本发明实施例可以通过多种条件判断,检测出终端设备是否发生旋转跌落事件,从而可以提升对终端设备的跌落检测的准确度。

图9为实现本发明各个实施例的一种终端设备的硬件结构示意图。如图9所示,该终端设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、处理器810、以及电源811等部件。本领域技术人员可以理解,图9中示出的终端设备结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。

其中,处理器810,用于获取m个合加速度值,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备在不同方向的加速度值;并且若该m个合加速度值满足第一条件,则确定该m个合加速度值是否满足第二条件;并且若该m个合加速度值不满足第二条件,则确定终端设备处于旋转跌落状态。其中,上述第一条件为:该m个合加速度值中连续的k个合加速度值大于或等于第一阈值、且该m个合加速度值的方差小于或等于第二阈值。上述第二条件为:该m个合加速度值中的每个合加速度值均在第一数值范围内、且该m个合加速度值的方差小于或等于第三阈值,以及第一合加速度值小于或等于第四阈值,该第一合加速度值为r个合加速度值的均值或该r个合加速度值中的最大值,该m个合加速度值为该r个合加速度值中的数值。该第三阈值小于第二阈值,m、n、k和r为正整数,且r≥m,m≥k。

本发明实施例提供一种终端设备,该终端设备可以获取m个合加速度值,每个合加速度值为根据n个加速度值计算的,该n个加速度值为同一时刻获取的终端设备在不同方向的加速度值;并且若该m个合加速度值满足第一条件,则确定该m个合加速度值是否满足第二条件;并且若该m个合加速度值不满足第二条件,则确定终端设备处于旋转跌落状态。通过该方案,可以在判断终端设备受到较大的冲击力,可能存在跌落事件的情况下,若判断终端设备受到能够造成终端设备旋转跌落的推力,并排除终端设备受到冲击力但未跌落的特殊情况,则可以确定终端设备可能处于旋转跌落状态。如此,本发明实施例可以通过多种条件判断,检测出终端设备是否发生旋转跌落事件,从而可以提升对终端设备的跌落检测的准确度。

应理解的是,本发明实施例中,射频单元801可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器810处理;另外,将上行的数据发送给基站。通常,射频单元801包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元801还可以通过无线通信系统与网络和其他设备通信。

终端设备800通过网络模块802为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。

音频输出单元803可以将射频单元801或网络模块802接收的或者在存储器809中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元803还可以提供与终端设备800执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元803包括扬声器、蜂鸣器以及受话器等。

输入单元804用于接收音频或视频信号。输入单元804可以包括图形处理器(graphicsprocessingunit,gpu)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元806上。经图形处理器8041处理后的图像帧可以存储在存储器809(或其它存储介质)中或者经由射频单元801或网络模块802进行发送。麦克风8042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元801发送到移动通信基站的格式输出。

终端设备800还包括至少一种传感器805,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板8061的亮度,接近传感器可在终端设备800移动到耳边时,关闭显示面板8061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器805还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。

显示单元806用于显示由用户输入的信息或提供给用户的信息。显示单元806可包括显示面板8061,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板8061。

用户输入单元807可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元807包括触控面板8071以及其他输入设备8072。触控面板8071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板8071上或在触控面板8071附近的操作)。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器810,接收处理器810发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板8071。除了触控面板8071,用户输入单元807还可以包括其他输入设备8072。具体地,其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。

进一步的,触控面板8071可覆盖在显示面板8061上,当触控面板8071检测到在其上或附近的触摸操作后,传送给处理器810以确定触摸事件的类型,随后处理器810根据触摸事件的类型在显示面板8061上提供相应的视觉输出。虽然在图9中,触控面板8071与显示面板8061是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板8071与显示面板8061集成而实现终端设备的输入和输出功能,具体此处不做限定。

接口单元808为外部装置与终端设备800连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元808可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端设备800内的一个或多个元件或者可以用于在终端设备800和外部装置之间传输数据。

存储器809可用于存储软件程序以及各种数据。存储器809可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器809可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器810是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器809内的软件程序和/或模块,以及调用存储在存储器809内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器810可包括一个或多个处理单元;可选的,处理器810可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。

终端设备800还可以包括给各个部件供电的电源811(比如电池),可选的,电源811可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

另外,终端设备800包括一些未示出的功能模块,在此不再赘述。

可选的,本发明实施例还提供一种终端设备,包括如图9所示的处理器810,存储器809,存储在存储器809上并可在处理器810上运行的计算机程序,该计算机程序被处理器810执行时实现上述跌落检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述跌落检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,该计算机可读存储介质可以包括只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例公开的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1