一种通过操作系统实现用户姿态检测的移动终端和方法
【专利摘要】本发明涉及终端设备,尤其涉及对用户姿态进行检测的移动终端设备和工作方法,解决用户使用终端设备时姿态不正确造成身体伤害的问题。移动终端包含姿态传感模块、用户配置输入模块、告警信号输出模块、操作系统运行装置、显示屏、一个或多个应用程序模块。操作系统运行装置中包含姿态服务模块,识别用户面部的位置,产生姿态参数,与门限值进行比较,在超过门限值时发出姿态超限通知;应用程序模块收到姿态超限通知后,产生报警数据和/或姿态矫正数据。本发明的方法包含配置输入、姿态检测、姿态超限通知、姿态比较、姿态提醒等步骤。本发明通过对用户进行有效提醒,使用户维持相对正确的姿态,有益于用户健康,能使用户较长时间使用设备。
【专利说明】一种通过操作系统实现用户姿态检测的移动终端和方法
【技术领域】
[0001]本发明涉及终端设备,尤其涉及对用户姿态进行检测的移动终端设备和工作方法。
【背景技术】
[0002]手机、平板电脑、电子书以及笔记本电脑等移动终端设备已经在现代人的生活中非常普及。用户在使用这些设备时一般都以单手或双手手持这些设备,让设备的显示屏对着自己,进行学习、阅读、娱乐等活动。随着大量的应用程序的出现,用户每天使用这些设备的时间越来越长。例如有的用户在地铁上用手机看小说,一般连续使用时间为几十分钟;在平板电脑或手机上看视屏,经常一看就是几个小时。随着4G业务的开通,移动互联网将提供更加丰富多彩的内容,这会让我们使用这些终端设备的时间更长。
[0003]虽然使用这些设备让我们很便捷地获得了各种信息、随时可以娱乐,但是,对这些设备的不正确使用方法也给用户带来了很多烦恼。比较典型的一个情形是,用户长时间手持这些设备后,手臂疲惫,设备越放越低,自然而然地头也越来越低。如果颈椎长期处于极度前屈的异常稳定状态,就会对颈椎造成伤害,容易造成颈肩部肌肉僵硬、痉挛,时间久了,就可能会导致颈椎曲度变直、颈椎间盘突出等病症。还有的人喜欢在地铁等拥挤的场所看手机、平板电脑或电子书,由于空间有限,这些设备与眼睛的距离很近。还有一些人习惯在休息的时候卧床阅读。这些不正确的姿态对用户的眼睛和颈椎造成了很大的伤害,而且这些伤害很多是不可逆的,需要服用药物、物理疗法乃至手术才能得到有效的治疗。
[0004]移动终端包括但并不限于手机、平板电脑等设备,大多数呈平板形态,这种设备的硬件构成一般都有前置摄像头、显示屏和处理器及硬件外设等器件。设备包括一个或者多个显示屏,其中前置摄像头与设备的显示屏在结构上位于设备的同一几何平面。移动终端一般包括一个或多个处理器,处理器运行软件操作系统和应用程序,分别构成操作系统运行装置和应用程序模块。硬件和软件通过信号中断机制触发相应的处理。用户在使用这样的设备时,一般存在长时间注视显示屏的应用,例如网页阅读、游戏等。由于前述的情形,移动终端或平板电脑使用时很容易使用姿态不正确,比如距离人眼过近,头部过低等。这些不正确的姿态对用户的眼睛和颈椎造成了很大的伤害。但是目前的移动终端尚未解决这个问题。
【发明内容】
[0005]本发明提出一种通过操作系统实现用户姿态检测的移动终端和方法,解决用户面对显示屏使用移动终端设备时姿态不正确造成身体伤害的问题。
[0006]本发明通过操作系统实现用户姿态检测的移动终端,包含姿态传感模块1、用户配置输入模块2、告警信号输出模块3、操作系统运行装置4、显示屏6、一个或多个应用程序模块。
[0007]姿态传感模块I产生姿态传感信号S。用户配置输入模块2识别用户操作,将用户指令I传递至操作系统运行装置4和至少一个所述应用程序模块(例如71)。告警信号输出模块3发出用户感官可识别的信号。
[0008]操作系统运行装置4中包含传感模块驱动单元41、输入模块驱动单元42、输出模块驱动单元43,传感模块驱动单元41控制姿态传感模块I工作、并将姿态传感模块I输出的姿态传感信号S转换为姿态数据D ;输入模块驱动单元42控制用户配置输入模块工作,接收用户指令I ;输出模块驱动单元43输出信号0,包含报警数据A和/或姿态矫正数据R,控制告警信号输出模块3工作。
[0009]操作系统运行装置4中还包含姿态服务模块40,姿态服务模块40中包含姿态检测单元46、姿态比较单元,所述姿态检测单元46启动传感模块驱动单元41,读取传感模块驱动单元41输出的姿态数据D,识别用户面部的位置,产生姿态参数G ;所述姿态比较单元47将所述姿态参数G与对应的门限值T进行比较,在姿态参数超出门限值时向至少一个所述应用程序模块71,72,…,7N发出姿态超限通知。 [0010]操作系统运行装置4中还包含应用数据库44,所述应用数据库44存储工作数据和默认设置数据。
[0011]操作系统运行装置4中还包含应用程序编程接口(API) 45。
[0012]至少一个所述应用程序模块(例如71)中包含姿态提醒单元48、输入输出处理单元70。所述姿态提醒单元48产生报警数据A和/或姿态矫正数据R。所述输入输出处理单元70,通过所述应用程序编程接口 45设置应用数据库44中的工作数据、接收来自操作系统运行装置的姿态超限通知、启动输入模块驱动单元42、启动输出模块驱动单元43。
[0013]在本发明的实施例中,传感信号S进一步包含图像信号SI和角度传感信号S2。姿态数据D进一步包含用户姿态数据Dl和本机姿态数据D2。姿态参数G进一步包含相对姿态参数Gl和绝对姿态参数G2。Gl、G2对应的门限值分别为T1、T2。
[0014]本发明终端设备用户姿态检测方法,包含如下步骤:
[0015]配置输入:操作系统运行装置4和至少一个应用程序模块(例如71)接受来自用户配置输入模块指令数据I ;
[0016]姿态检测:操作系统运行装置4中姿态检测单元46启动传感模块驱动单元41,控制姿态传感模块I采集传感信号S1、S2,并转换为姿态数据Dl、D2 ;姿态检测单元46读取传感模块驱动单元41输出的姿态数据Dl、D2,对姿态数据进行分析,得出相对姿态参数Gl和/或绝对姿态参数G2 ;
[0017]姿态比较:操作系统运行装置4中姿态比较单元47对姿态参数Gl、G2和门限值Τ1、Τ2进行比较;
[0018]姿态超限通知:在所述姿态参数超过门限值时,通过应用程序编程接口向至少一个应用程序模块(例如71)发出姿态超限通知。在本发明给出的实施例中,操作系统运行装置4发出通知的方式包括:1、广播:向所有应用程序模块发出通知;2、选定单播:向占用显示屏的应用程序模块发出通知;3、注册单播:向占用显示屏且注册了姿态检测服务的应用程序模块发出通知。
[0019]消息监听:占用显示屏的应用程序模块(例如71)中的输入输出处理单元70接收操作系统运行装置的姿态超限通知;
[0020]姿态提醒:占用显示屏的应用程序模块(例如71)中的姿态提醒单元48生成报警数据A和/或姿态矫正数据R ;所述输入输出处理单元70通过操作系统运行装置4提供的应用程序编程接口 45,启动输出模块驱动单元43,控制告警信号输出模块3向客户发出用户感觉可识别的信号,包含报警信息和/或矫正建议。
[0021]以上步骤是在操作系统运行装置4和至少一个应用程序模块(如71)的配合下,通过姿态超限通知共同完成本发明方法的工作过程。
[0022]运用本发明的系统和方法,通过对用户进行有效的提醒,可使用户一直维持一个比较正确的姿态。这可以让用户不会因为使用这些电子设备对身体造成伤害,因此有益于用户。另一方面,正确的姿态其实也是最不容易使用户疲惫的姿态,因此用户可以较长时间使用这些设备,从而提高用户对设备生产者和应用程序的黏着度。
【专利附图】
【附图说明】
[0023]图1是通过操作系统实现用户姿态检测的移动终端
[0024]图2是姿态传感模块使用摄像头方案
[0025]图3是姿态传感模块使用摄像头和倾角传感器方案
[0026]图4是摄像头在终端设备面板上的安置方案示意图
[0027]图5是本机姿态传感器在终端设备上的安置方案示意图
[0028]图6是操作系统 运行装置向应用程序模块发出姿态超限通知完成提醒的方法流程图
[0029]图7是应用程序模块使用姿态检测标志位启动和关闭姿态检测并监听姿态超限通知的方案流程图
[0030]图8是操作系统运行装置按照应用程序注册表启动姿态检测并发出姿态超限通知的方案流程图
【具体实施方式】
[0031 ] 下面结合附图,对【具体实施方式】说明如下。
[0032]本发明的装置如图1所示,通过操作系统实现用户姿态检测的移动终端5,包含姿态传感模块1、用户配置输入模块2、告警信号输出模块3、操作系统运行装置4、显示屏6、一个或多个应用程序模块71,72,…,7N。
[0033]姿态传感模块产生传感信号S。用户配置输入模块2识别用户操作,将用户指令I传递至操作系统运行装置4和至少一个所述应用程序模块(例如71)。告警信号输出模块3发出用户感官可识别的信号。
[0034]操作系统运行装置4中包含传感模块驱动单元41、输入模块驱动单元42、输出模块驱动单元43,传感模块驱动单元41控制姿态传感模块I工作、并将姿态传感模块I输出的姿态传感信号S转换为姿态数据D ;输入模块驱动单元42控制用户配置输入模块工作,接收用户指令I ;输出模块驱动单元43输出信号0,包含报警数据A和/或姿态矫正数据R,控制告警信号输出模块3工作。
[0035]操作系统运行装置4中还包含姿态服务模块40,姿态服务模块40中包含姿态检测单元46、姿态比较单元47,所述姿态比较单元47启动传感模块驱动单元41,读取传感模块驱动单元41输出的姿态数据D,识别用户面部的位置,产生姿态参数G ;所述姿态比较单元47将所述姿态参数G与对应的门限值T进行比较,在姿态参数超出门限值时向至少一个所述应用程序模块71,72,一JNSm姿态超限通知。
[0036]操作系统运行装置4中还包含应用数据库44,所述应用数据库44存储工作数据和默认设置数据。
[0037]至少一个所述应用程序模块(例如71)中包含姿态提醒单元48、输入输出处理单元70。所述姿态提醒单元48产生报警数据A和/或姿态矫正数据R。所述输入输出处理单元70,通过应用程序编程接口 45设置应用数据库44中的工作数据、接收来自操作系统运行装置4的姿态超限通知、启动输入模块驱动单元42、启动输出模块驱动单元43。
[0038]本发明所述操作系统运行装置,是加载和运行移动终端操作系统的装置,例如加载和运行Android、iOS、黑莓操作系统及其替代程序。本发明所述应用程序模块71,72,…,7N,是加载和运行应用程序的装置,特别是加载和运行一些用户可能长时间连续使用的应用程序,如视频播放器、网页浏览器、阅读软件等。本发明所述应用程序模块、操作系统运行模块等各组成部分能用CPU系统、可编程逻辑电路和存储器的组合来实现。
[0039]作为本发明进一步优化的实施例,图1所示通过操作系统实现用户姿态检测的移动终端,还包含以下部分:
[0040]姿态服务模块40中还包含数据扫描单元49,所述数据扫描单元查询所述应用数据库44中的工作数据,按照所述工作数据的指示,在需要启动姿态检测过程时,触发姿态检测单元46。
[0041]所述应用数据库44存储的工作数据,是指在本发明的装置工作中改变的数据,包括“应用程序状态表”、 “姿态检测标志位”、“应用程序注册表”及所述姿态参数等。
[0042]应用程序状态表,包含终端中应用程序模块工作状态的信息,例如该应用程序模块是否运行、是否占据显示屏等。
[0043]应用程序注册表,包含有检测必要的应用程序模块名称或系统分配的某种标识符。应用程序模块71,72,…,7N可以通过应用程序编程接口 45把自己的名称或标识符添加到应用数据库44中。
[0044]姿态检测标志位,是指操作系统运行装置4中姿态服务模块40是否运行的标志。
[0045]所述应用数据库44存储的默认设置数据,包含以下一种或多种:姿态检测标志位、应用程序注册表、门限值。这些数据也可以通过手动设置,其中姿态检测标志位和应用程序注册表还可能在工作中被重新设置。
[0046]作为本发明进一步优化的实施例,图2~3所示方案中,传感信号S进一步包含图像信号SI和角度传感信号S2。姿态数据D进一步包含用户姿态数据Dl和本机姿态数据D2。姿态参数G进一步包含相对姿态参数Gl和绝对姿态参数G2。Gl、G2对应的门限值分别为T1、T2。
[0047]如图2所示,是本发明通过操作系统运行装置4实现用户姿态检测的移动终端的一个实施例,姿态传感模块I使用摄像头方案,包含一只或多只前置摄像头11,产生图像信号SI。传感模块驱动单元41中包含摄像头驱动单元411。姿态检测单元46读取摄像头驱动单元411输出的用户姿态数据D1,检测用户面部与显示屏6 (图4~5)的相对位置,产生相对姿态参数G1。应用程序模块71中姿态比较单元47将所述姿态参数Gl与对应的门限值Tl进行比较。应用程序模块71中姿态提醒单元48产生报警数据A和/或姿态矫正数据R。
[0048] 如图3所示,是本发明通过操作系统运行装置4实现用户姿态检测的移动终端的另一个实施例,姿态传感模块I使用摄像头和本机姿态传感器相结合的方案。其中,姿态传感模块I包含一只或多只前置摄像头11,产生图像信号Si。姿态传感模块中还包含能检测显示屏所在平面倾角的本机姿态传感器12 (如重力传感器,又称为倾角传感器),产生角度传感信号S2。传感模块驱动单元41中包含摄像头驱动单元411和本机姿态传感器(重力传感器、倾角传感器)的驱动单元412。姿态检测单元46读取摄像头驱动单元输出的用户姿态数据D1,检测用户面部与显示屏6 (图4~5)的相对位置,产生相对姿态参数G1。姿态检测单元46读取本机姿态传感器驱动单元412输出本机姿态数据D2,确定本机显示屏6所在平面的倾角α。姿态检测单元46根据相对姿态参数Gl和本机显示屏6所在平面的倾角α,产生绝对姿态参数G2。应用程序模块71中姿态比较单元47将所述姿态参数G1、G2与对应的门限值Tl、T2进行比较;应用程序模块71中姿态提醒单元48产生报警数据A和/或姿态矫正数据R。
[0049]在上述各方案中所提到的“姿态参数”,可以用多种方法定义,以下举例说明定义和分析的方法。本发明的装置和方法不限定姿态参数的具体方式。
[0050]例如一种姿态参数是:用户面部参考点与终端显示屏参考点之间的水平距离L1、垂直距离L2,用户面部中间线和显示屏之间的夹角β,用户面部中间线和水平面之间的夹角Y。其中L1、L2、β反映了用户面部与终端显示屏之间的相对位置关系,因此称为“相对姿态参数(G1)”,其中Y反映了用户面部与终端显示屏无关的位置参数,称为“绝对姿态参数(G2)”。参数Gl可以运用摄像头驱动单元输出的用户姿态数据Dl使用单目机器视觉、双目机器视觉或多目机器视觉的方法得到,G2结合Gl和本机显示屏所在平面的倾角α得到。即:G1=[L1,L2,β ],G2=Y = a+β。
[0051]再例如一种姿态参数是:在摄像头图像数据用户面部轮廓线中占据的范围Af、及面部中间线偏离图像中间线的程度d,用户面部中间线和水平面之间的夹角Y,也可以构建相对姿态参数,即Gl= [Af,d,β ]。参数Gl可以运用摄像头驱动单元输出的用户姿态数据Dl使用图像数据分析的方法得到。绝对姿态参数仍可采用G2= gamma = α + β。
[0052]对应的门限值T是指Gl、G2中标定正确姿态的门限值,例如L1、L2、Af、a、β、Y的最大值或最小值。按照前述姿态参数的实施例,相对姿态参数的门限值Tl=[Min (LI),Max (LI),Min (L2),Max (L2),Min ( β ), Max ( β )],或者 Tl= [Min (Af),Max (Af),Max (d),Min (β ), Max ( β )];绝对姿态参数的门限值 T2=[Min( α ), Max ( α ),Min( Y ),Max( Y )]。所谓用户姿态不正确,是指用户的姿态参数超出门限值的范围。
[0053]图4和图5表示摄像头和本机姿态传感器在移动终端的安置方案。其中,图4表示摄像头11在终端设备5的面板上的位置和功能,一个移动式智能终端5设备使用时大致呈平板状,有一个或多个面向用户的摄像头11。还要至少包含一个面向用户的显示屏6,使用户在面向设备阅读或工作时面向摄像头11、处于摄像头11的图像采集空间中。图5表示姿态传感器12在终端设备5上的位置和功能。该设备的硬件包含至少一个面向用户的显示屏6和一个能检测出显示屏所在平面倾角的传感器12。该传感器12安装在终端设备中,与显示屏6具有固定的位置关系。通过该传感器输出的数据,可以得到终端设备的显示屏6所在平面的倾角(α ),即终端设备的显示屏所在平面和水平面之间的夹角,作为本机姿态参数。
[0054]操作系统运行装置指示应用程序模块进行姿态提醒的方案,操作系统运行装置中的姿态服务模块包含姿态检测单元、姿态比较单元;姿态提醒单元则包含在应用程序模块中。与图2所示流程相对应,所述第3步姿态比较单元在所述操作系统运行装置的姿态服务模块中执行;所述第4步姿态提醒单元是在应用程序模块中执行;在所述第4步执行前,所述操作系统运行装置指示所述应用程序模块进行姿态提醒,所述应用程序模块读取操作系统运行装置产生的报警信息。
[0055]图6是操作系统运行装置向应用程序模块发出姿态超限通知完成提醒的方法流程图。在图6所示的实施例中,操作系统运行装置中的姿态检测单元确定用户姿态,由姿态比较单元完成姿态判断,发现姿态不正确时,向应用程序模块发出通知,由应用程序模块执行姿态提醒功能。
[0056]图6 Ca)是操作系统运行装置中的工作步骤:
[0057]第501步、姿态检测:姿态检测单元46启动传感模块驱动单元41,控制姿态传感模块I采集传感信号S1、S2,并转换为姿态数据Dl、D2 ;姿态检测单元46读取传感模块驱动单元输出的姿态数据Dl、D2,对姿态数据进行分析,得出相对姿态参数Gl和/或绝对姿态参数G2 ;
[0058]第502步、姿态比较:姿态比较单元47将所述姿态参数G1、G2和门限值T1、T2进行比较,在姿态正常时转第504步,姿态参数超过门限值范围时转第503步,
[0059]第503步、姿态比较单元47通过应用程序编程接口 45向应用程序模块71,72,…,7Ν中至少一个(例如应用程 序模块71)发出姿态超限通知。操作系统运行装置4发出通知的方式包括:1、广播:向所有应用程序模块发出通知;2、选定单播:向占用显示屏的应用程序模块发出通知(可查询应用数据库44的“应用程序状态表”得到占用显示屏的应用程序模块名称或标识符);3、注册单播:向占用显示屏且注册了姿态检测服务的应用程序模块发出通知(可查询应用数据库44的“应用程序状态表”和“应用程序注册表”得到占用显示屏且注册了姿态检测服务的应用程序模块名称或标识符)。
[0060]第504步、等待:延时后转第601步
[0061]图6 (b)是应用程序模块71中的工作步骤:
[0062]第505步、消息监听:如果应用程序模块71正在占用显示屏,且其包含的输入输出处理单元70接收到来自操作系统运行装置4的姿态超限通知,则转第506步触发姿态提醒单元48 ;
[0063]第506步、姿态提醒:姿态提醒单元48生成报警数据A和/或姿态矫正数据R ;输入输出处理单元70通过操作系统运行装置4提供的应用程序编程接口 45,启动输出模块驱动单元43,控制告警信号输出模块向客户发出用户感觉可识别的信号,包含报警信息和/或矫正建议。
[0064]例如在Android或iOS操作系统中当姿态不正确时,该服务对所有应用程序模块进行广播,广播的信息中还可以包含描述姿态参数G等信息,再由应用程序模块确定如何输出告警信息。
[0065]图7是应用程序模块使用姿态检测标志位启动和关闭姿态检测并监听姿态超限通知的方案流程图,所示实施例中,应用程序模块(例如71)使用姿态检测标志位来启动和关闭操作系统运行装置4的姿态服务模块40。操作系统运行装置4中的姿态服务模块40包含姿态检测单元46、姿态比较单元47、数据扫描单元49。姿态提醒单元48则包含在应用程序模块71中。应用程序模块71中的输入输出处理单元70通过操作系统运行装置4提供的应用程序编程接口 45 (API)来设置“姿态检测标志位”。数据扫描单元49周期性查询该标志位,当该标志位被设置时运行姿态检测单元46和姿态比较单元47,在姿态参数超过门限值时向应用程序模块71,72,…,7N发出姿态超限通知。
[0066]图7 Ca)是操作系统运行装置中的工作步骤: [0067]第601步、数据扫描单元49查询所述“姿态检测标志位”是否被设置,如是,则转第602步,触发姿态检测单元46 ;否则转第605步;
[0068]第602步、姿态检测:姿态检测单元46启动传感模块驱动单元41,控制姿态传感模块I采集传感信号S1、S2,并转换为姿态数据Dl、D2 ;姿态检测单元46读取传感模块驱动单元输出的姿态数据Dl、D2,对姿态数据进行分析,得出相对姿态参数Gl和/或绝对姿态参数G2 ;
[0069]第603步、姿态比较:姿态比较单元47将所述姿态参数G1、G2和门限值T1、T2进行比较,在姿态参数超过门限值范围时转第604步,姿态正常时转第605步;
[0070]第604步、姿态比较单元47通过应用程序编程接口 45向应用程序模块71, 72,…,7Ν发出姿态超限通知(广播)。
[0071]第605步、等待,延时后转第601步。
[0072]图7 (b)是应用程序模块中的工作步骤:
[0073]第606步、任何一个应用程序模块(不失一般性,例如应用程序模块71)所包含的输入输出处理单元70通过应用程序编程接口 45设置或清除应用数据库44中的“姿态检测标志位”;
[0074]第607步、延时等待,或执行其它功能;
[0075]第608步、消息监听:任何一个占用显示屏的应用程序模块71,72,…,7N (不失一般性,例如应用程序模块71)所包含的输入输出处理单元70接收到来自操作系统运行装置4的姿态超限通知,则转第609步触发姿态提醒单元48,否则转第607步继续等待;
[0076]第609步、姿态提醒:姿态提醒单元48生成报警数据A和/或姿态矫正数据R ;输入输出处理单元70通过操作系统运行装置4提供的应用程序编程接口 45,启动输出模块驱动单元43,控制告警信号输出模块向客户发出用户感觉可识别的信号,包含报警信息和/或矫正建议,告警输出后,转第606步。
[0077]图8是操作系统运行装置按照应用程序注册表启动姿态检测并发出姿态超限通知的方案流程图。操作系统运行装置40中的姿态服务模块包含姿态检测单元46、姿态比较单元47、数据扫描单元49。姿态服务模块40与应用程序模块71,72,…,7N并行工作,姿态服务模块40中的数据扫描单元49周期性地从应用数据库中检测当前运行的应用程序模块,当该应用程序模块(例如71)的名称或标识符在应用程序注册表中时,启动姿态检测单元46工作。
[0078]所述应用程序模块(例如71)占据显示屏时,通过应用程序编程接口 45修改应用数据库44中的“应用程序状态表”,写入该应用程序模块的名称(或系统分配的某种标识符)。[0079]用户可以通过用户配置输入模块2设置“应用程序注册表”,这些应用程序占据显示屏时进行姿态检测和提醒。某些应用程序模块也可以自己主动修改“应用程序注册表”,将自己加入到这个列表中。在本实施例中,假设应用程序模块71的名称或标识符在“应用程序注册表”中,表明该应用程序模块注册了操作系统运行装置中姿态服务模块提供的服务。
[0080]图8 Ca)是操作系统运行装置中的工作步骤:
[0081]第701a步、判断应用程序模块(例如71)是否占用显示屏:数据扫描单元49从应用数据库44中的“应用程序状态表”中查询正在使用显示屏的应用程序模块名称(或标识符),如是,则701b步,否则转第705步;
[0082]第701b步、检查应用程序模块71是否在“应用程序注册表”中:数据扫描单元49从应用数据库44中的“应用程序注册表”中查询注册了姿态检测服务的应用程序模块名称(或标识符),如是,则转第702步,触发姿态检测单元46 ;否则转第705步;
[0083]第702步、姿态检测:姿态检测单元46启动传感模块驱动单元41,控制姿态传感模块I采集传感信号S1、S2,并转换为姿态数据Dl、D2 ;姿态检测单元46读取传感模块驱动单元输出的姿态数据Dl、D2 ;姿态检测单元46对姿态数据进行分析,得出相对姿态参数Gl和/或绝对姿态参数G2 ;
[0084]第703、姿态比较:应用程序模块71中的姿态比较单元47将所述姿态参数Gl、G2和门限值Tl、T2进行比较,姿态正常时转第705步,否则转第704步;
[0085]第704步、发出姿态比较单元47通过应用程序编程接口 45向应用程序模块71发出姿态超限通知(注册单播)。
[0086]第705步、等待,延时后转第701a步。
[0087]图8 (b)是应用程序模块中的工作步骤:
[0088]第706步、应用程序模块71在占据显示屏时,输入输出处理单元70通过应用程序编程接口 45修改应用数据库44中的“应用程序状态表”,写入该应用程序模块的名称或标识符;
[0089]第707步、延时等待,或执行应用程序模块的其它功能;
[0090]第708步、消息监听:如果应用程序模块71所包含的输入输出处理单元70接收到从操作系统运行装置4发出的姿态超限通知,则转第709步,触发姿态提醒单元48,否则转第707步;
[0091]第709步、姿态提醒:应用程序模块71中的姿态提醒单元48在所述姿态参数超过门限值时,生成报警数据A和/或姿态矫正数据R ;输入输出处理单元70通过操作系统运行装置4提供的应用程序编程接口 45,启动输出模块驱动单元43,控制告警信号输出模块向客户发出用户感觉可识别的信号,包含报警信息和/或矫正建议,告警输出后,转第706步。
[0092]例如,在Android操作系统中,其他应用程序模块可以通过实现姿态检测的监听接口(Interface),从操作系统运行装置中获取当前用户的姿态是否正确的判断。在iOS操作系统中,应用程序模块还可以通过实现姿势测量类的委托(Delegate),从操作系统运行装置中获取当前使用者的姿势是否正确的判断。
[0093]针对以上各个实施例,具体说明用户功能设置方案。操作系统运行装置4和至少一个应用程序模块(例如71)接受来自用户配置输入模块指令数据I。在输入模块驱动单元42的控制下,识别用户配置输入模块2输入的用户指令。输入模块驱动单元既可以由操作系统运行装置4启动,也可以由应用程序模块(例如71)中输入输出处理单元70通过应用程序编程接口 45启动。指令数据至少包括以下指令中一种:1.应用程序选择指令,用于设置“应用程序注册表”。只有前台运行这些应用程序时该后台服务才进行姿态检测。某些应用程序也可以自己主动加入到这个列表中。通过设置让该功能在某些应用中不被启用。如前台应用程序是接听、拨打电话、听收音机或其它音频内容时,由于此时用户不会长时间关注显示屏,此时不必要开启本功能。2.启动指令,用于设置“姿态检测标志位”,通过用户设置该标志位直接启动或禁止姿态检测功能。3.门限指令,用于设置姿态参数门限值。通过设置门限值适应不同用户的需求。在没有用户指令时,上述指令数据在操作系统运行装置4的应用数据库44中存在默认设置数据。
[0094]针对以上各个实施例,具体说明告警输出方案。在操作系统运行装置4中输出模块驱动单元43的控制下,告警信号输出模块3处理报警数据A和姿态矫正数据R。报警数据是指姿态参数超出门限值时生成的,包含报警的方式、报警的强度、报警的时间长短等特征,这些数据是根据用户偏离正确姿态的程度和时间来确定的。姿态矫正数据是根据姿态参数和门限值之间的差,得到如何改变用户姿态以达到正确姿态的数据,包括距离、角度、及调整的方向等信息。报警输出模块3输出的信号是用户感官可识别的信号,采用以下一种或多种形式:通过音频模块发出来的提示音、通过振动设备发出来的振动,通过显示屏给出的图形或文字提示。
【权利要求】
1.一种通过操作系统实现用户姿态检测的移动终端,包含姿态传感模块、用户配置输入模块、告警信 号输出模块、操作系统运行装置、显示屏、一个或多个应用程序模块,其特征在于, 所述姿态传感模块产生姿态传感信号; 所述用户配置输入模块,识别用户操作,将用户指令传递至操作系统运行装置和至少一个所述应用程序模块; 所述告警信号输出模块发出用户感官可识别的信号; 所述操作系统运行装置中包含传感模块驱动单元、输入模块驱动单元、输出模块驱动单元;所述传感模块驱动单元控制所述姿态传感模块工作、并将所述姿态传感模块输出的姿态传感信号转换为姿态数据;所述输入模块驱动单元控制所述用户配置输入模块工作,接收用户指令;所述输出模块驱动单元输出包含报警数据和/或姿态矫正数据的信号,控制所述告警信号输出模块工作; 所述操作系统运行装置中还包含姿态服务模块,所述姿态服务模块中包含姿态检测单元和姿态比较单元;所述 姿态检测单元启动所述传感模块驱动单元,读取所述传感模块驱动单元输出的姿态数据,识别用户面部的位置,产生姿态参数;所述姿态比较单元将所述姿态参数与对应的门限值进行比较;在姿态参数超出门限值时向至少一个所述应用程序模块发出姿态超限通知; 所述操作系统运行装置包含应用程序编程接口; 所述操作系统运行装置中还包含应用数据库,所述应用数据库存储工作数据和默认设置数据; 至少一个所述应用程序模块中包含姿态提醒单元、输入输出处理单元;所述姿态提醒单元,产生报警数据和/或姿态矫正数据;所述输入输出处理单元,通过所述应用程序编程接口设置应用数据库中的工作数据、接收来自操作系统运行装置的姿态超限通知、启动输入模块驱动单元、启动输出模块驱动单元。
2.如权利要求1所述通过操作系统实现用户姿态检测的移动终端,其特征在于, 所述姿态传感模块包含一只或多只前置摄像头; 所述传感模块驱动单元包含摄像头驱动单元; 所述姿态检测单元读取所述摄像头驱动单元输出的用户姿态数据,检测用户面部与显示屏的相对位置,产生相对姿态参数。
3.如权利要求1所述通过操作系统实现用户姿态检测的移动终端,其特征在于, 所述姿态传感模块包含一只或多只前置摄像头; 所述传感模块驱动单元包含摄像头驱动单元; 所述姿态传感模块中还包含能检测显示屏所在平面倾角的本机姿态传感器; 所述传感模块驱动单元中还包含本机姿态传感器驱动单元; 所述传感信号中包含用户图像信号和本机姿态信号; 所述姿态检测单元读取所述摄像头驱动单元输出的用户姿态数据,检测用户面部与显示屏的相对位置,产生相对姿态参数; 所述姿态检测单元读取所述本机姿态传感器驱动单元输出的本机姿态数据,确定本机显示屏所在平面的倾角;所述姿态检测单元根据相对姿态参数和本机显示屏所在平面的倾角,产生绝对姿态参数。
4.如权利要求1~3任一项所述通过操作系统实现用户姿态检测的移动终端,其特征在于, 所述工作数据包含以下一种或多种:应用程序状态表、姿态检测标志位、应用程序注册表; 所述默认设置数据包含以下一种或多种:姿态检测标志位、应用程序注册表、门限值。
5.如权利要求1~3任一项所述通过操作系统实现用户姿态检测的移动终端,其特征在于, 所述姿态服务模块中还包含数据扫描单元,所述数据扫描单元查询所述应用数据库中的工作数据,按照所述工作数据的指示,在需要启动姿态检测过程时,触发姿态检测单元。
6.一种通过操作系统实现用户姿态检测的方法,用于如权利要求1~5任一项所述通过操作系统实现用 户姿态检测的移动终端,其特征在于,包括以下步骤: 操作系统运行装置中的姿态检测单元启动传感模块驱动单元采集传感信号,并转换为姿态数据; 操作系统运行装置中的姿态检测单元读取传感模块驱动单元输出的姿态数据; 操作系统运行装置中的姿态检测单元对姿态数据进行分析,得出相对姿态参数和/或绝对姿态参数; 操作系统运行装置中的姿态比较单元对姿态参数和门限值进行比较;在所述姿态参数超过门限值时,通过应用程序编程接口向至少一个应用程序模块发出姿态超限通知; 占用显示屏的应用程序模块中的输入输出处理单元通过应用程序编程接口接收姿态超限通知; 占用显示屏的应用程序模块中的姿态提醒单元在所述姿态参数超过门限值时,生成报警数据和/或姿态矫正数据。
7.如权利要求6所述通过操作系统实现用户姿态检测的方法,其特征在于,还包括以下步骤: 操作系统运行装置接受来自用户配置输入模块的指令数据,包括以下指令中的至少一种 应用程序选择指令,用于设置应用程序注册表; 启动指令,用于设置姿态检测标志位; 门限指令,用于设置姿态参数门限值。
8.如权利要求6所述通过操作系统实现用户姿态检测的方法,其特征在于,还包括以下步骤: 应用程序模块中的输入输出处理单元通过应用程序编程接口启动输出模块驱动单元,控制告警信号输出模块发出用户感觉可识别的信号,包含报警信息和/或矫正建议; 所述用户感官可识别的信号,采用以下一种或多种形式:通过音频模块发出来的提示音、通过振动设备发 出来的振动,通过显示屏给出的图形或文字提示。
9.如权利要求6~8任一项所述通过操作系统实现用户姿态检测的方法,其特征在于,还包括以下步骤: 应用程序模块占据显示屏时,通过应用程序编程接口修改应用数据库中的应用程序状态表,写入该应用程序模块的名称或标识符; 操作系统运行装置中的数据扫描单元从应用数据库中的应用程序状态表获得正在使用显示屏的应用程序模块名称或标识符;检查该应用程序模块是否在应用程序注册表中,如是,则触发姿态检测单元。
10.如权利要求6~8任一项所述通过操作系统实现用户姿态检测的方法,其特征在于,还包括以下步骤: 应用程序模块通过应用程序编程接口设置或清除姿态检测标志位; 操作系统运行装置中的数据扫描单元查询所述姿态检测标志位是否被设置,如是,则触发姿态检测单 元。
【文档编号】G06F3/01GK103927012SQ201410153791
【公开日】2014年7月16日 申请日期:2014年4月16日 优先权日:2014年4月16日
【发明者】王立宁 申请人:北京尚德智产投资管理有限公司