CN116700463B - 一种活动识别方法及相关设备 - Google Patents
一种活动识别方法及相关设备 Download PDFInfo
- Publication number
- CN116700463B CN116700463B CN202211170508.7A CN202211170508A CN116700463B CN 116700463 B CN116700463 B CN 116700463B CN 202211170508 A CN202211170508 A CN 202211170508A CN 116700463 B CN116700463 B CN 116700463B
- Authority
- CN
- China
- Prior art keywords
- driver
- electronic device
- acc
- acceleration data
- algorithm
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000000694 effects Effects 0.000 title claims abstract description 41
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 91
- 230000033001 locomotion Effects 0.000 claims abstract description 70
- 230000001133 acceleration Effects 0.000 claims description 105
- 238000004590 computer program Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 17
- 230000003068 static effect Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 11
- 230000003139 buffering effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
- G06F3/0383—Signal control means within the pointing device
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种活动识别方法及相关设备。根据该活动识别方法,电子设备中的AR驱动可以获取ACC数据,在满足调用AR算法的触发条件的情况下,电子设备可以调用Sensorhub的非低功耗空间中的AR算法来基于获取的ACC数据确定电子设备当前的运动状态,并将电子设备当前的运动状态上报给上层应用。这种活动识别方法中,AR算法置于非低功耗空间中,可以使得低功耗空间较小的电子设备也可以支持AR的实时运行,提高了AR的适用性。另外,在满足一定条件的情况下,电子设备才确定当前的运动状态,而不是获取ACC数据后立即确定当前的运动状态,这种方式可以在不改变活动识别的准确性的情况下降低调用AR算法所带来的功耗。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种活动识别方法及相关设备。
背景技术
活动识别(Activity Recognition,AR)是通过加速度传感器(Accelerometer,ACC)采集到的加速度信息,来检测终端(即电子设备)当前的运动状态的一种能力。这种状态检测能力可应用于静止、走路、跑步、骑行、乘车、地铁、电梯、飞机等典型场景中。AR是终端提供的一种实时能力。也就是说,在任意状态(例如,亮屏、灭屏、休眠等)下,终端均可通过AR来实现状态识别。这也就意味着,AR需要实时运行在低功耗空间中。而终端中的低功耗空间是有限的,部分配置较低的终端的低功耗空间无法支持AR的实时运行。
因此,如何为低功耗空间较小的终端提供AR是目前亟待解决的问题。
发明内容
本申请提供了一种活动识别方法及相关设备。根据该活动识别方法,电子设备中的AR驱动可以获取ACC数据,在满足调用AR算法的触发条件的情况下,电子设备可以调用Sensorhub的非低功耗空间中的AR算法来基于获取的ACC数据确定电子设备当前的运动状态,并将电子设备当前的运动状态上报给上层应用。这种活动识别方法中,AR算法置于非低功耗空间中,可以使得低功耗空间较小的电子设备也可以支持AR的实时运行,提高了AR的适用性。另外,在满足一定条件的情况下,电子设备才确定当前的运动状态,而不是获取ACC数据后立即确定当前的运动状态,这种方式可以在不改变活动识别的准确性的情况下降低调用AR算法所带来的功耗。
第一方面,本申请提供了一种活动识别方法。该活动识别方法可以应用于包含Sensorhub的电子设备。Sensorhub的非低功耗空间中存储有活动识别AR算法。根据该活动识别方法,电子设备中的AR驱动可以获取加速度数据。并且,在触发AR驱动调用AR算法的情况下,AR驱动可以调用AR算法来基于获取的加速度数据确定电子设备当前的运动状态。
在本申请提供的方案中,AR驱动可以获取加速度数据,并且在满足触发调用AR算法的条件的情况下,AR驱动可以调用Sensorhub的非低功耗空间中的AR算法来基于获取的加速度数据确定电子设备当前的运动状态。这种活动识别方法中,AR算法置于非低功耗空间中,可以使得低功耗空间较小的电子设备也可以支持AR的实时运行,提高了AR的适用性。
结合第一方面,在一种可能的实现方式中,电子设备的AR驱动获取加速度数据,具体可以包括:电子设备中的ACC驱动每隔第一时长通过加速度传感器获取一组加速度数据,ACC驱动还可以将获取的加速度数据传输给AR驱动。这种方式可以减少ACC驱动向AR驱动传输加速度数据的次数,从而降低传输加速度数据所带来的功耗。
结合第一方面,在一种可能的实现方式中,ACC驱动每一次传输给AR驱动的加速度数据包括ACC驱动在第二时长内获取的加速度数据。第二时长不小于第一时长。这种方式中,ACC驱动可以向AR驱动一次传输一定时长所获取的加速度数据,从而减少ACC驱动向AR驱动传输加速度数据的次数,进而降低传输加速度数据所带来的功耗。
结合第一方面,在一种可能的实现方式中,ACC驱动每一次传输给AR驱动的加速度数据包括M组加速度数据。M为正整数。这种方式中,ACC驱动向AR驱动一次传输一定组数的加速度数据,从而减少ACC驱动向AR驱动传输加速度数据的次数,进而降低传输加速度数据所带来的功耗。
结合第一方面,在一种可能的实现方式中,电子设备的AR驱动获取加速度数据之后,该活动识别方法还可以包括:AR驱动基于获取的加速度数据确定电子设备是否处于静止状态。这种方式中,AR驱动可以首先基于获取的加速度数据确定电子设备是否处于静止状态,从而根据电子设备的运动状态进一步确定是否调用AR算法,可以减少调用AR算法的次数,进而降低调用AR算法所带来的功耗。
结合第一方面,在一种可能的实现方式中,在触发AR驱动调用AR算法的情况下,AR驱动调用AR算法,具体可以包括:AR驱动获取的加速度数据的组数达到预设缓存组数,且AR驱动检测到电子设备处于非静止状态,则AR驱动可以调用AR算法。这种方式中,在AR驱动获取的加速度数据的组数达到预设缓存组数,且AR驱动检测到电子设备处于非静止状态的情况下,AR驱动才会调用AR算法,可以减少调用AR算法的次数,从而降低调用AR算法所带来的功耗。
结合第一方面,在一种可能的实现方式中,在触发AR驱动调用AR算法的情况下,AR驱动调用AR算法,具体可以包括:AR驱动获取加速度数据的时间达到预设缓存时间,且AR驱动检测到电子设备处于非静止状态,则AR驱动可以调用AR算法。这种方式中,在AR驱动获取加速度数据的时间达到预设缓存时间,且AR驱动检测到电子设备处于非静止状态的情况下,AR驱动才会调用AR算法,可以减少调用AR算法的次数,从而降低调用AR算法所带来的功耗。
结合第一方面,在一种可能的实现方式中,AR驱动基于获取的加速度数据确定电子设备是否处于静止状态,具体可以包括:AR驱动可以在连续N次检测出运动状态为静止状态的情况下,确定电子设备处于静止状态。这种方式中,若AR驱动连续N次检测出运动状态为静止状态,则AR驱动可以确定电子设备处于静止状态。这种方式可以避免AR驱动对电子设备的运动状态的误判,提高AR驱动所确定的电子设备的运动状态的准确性。
结合第一方面,在一种可能的实现方式中,在触发AR驱动调用AR算法的情况下,AR驱动调用AR算法,具体可以包括:AR驱动获取的加速度数据的组数达到预设缓存组数,AR驱动可以调用AR算法。这种方式中,在AR驱动获取的加速度数据的组数达到预设缓存组数的情况下,AR驱动才会调用AR算法,可以减少调用AR算法的次数,从而降低调用AR算法所带来的功耗。
结合第一方面,在一种可能的实现方式中,在触发AR驱动调用AR算法的情况下,AR驱动调用AR算法,具体可以包括:AR驱动获取加速度数据的时间达到预设缓存时间,AR驱动调用AR算法。这种方式中,在AR驱动获取加速度数据的时间达到预设缓存时间的情况下,AR驱动才会调用AR算法,可以减少调用AR算法的次数,从而降低调用AR算法所带来的功耗。
第二方面,本申请提供了一种电子设备,该电子设备包括存储器和一个或多个处理器;其中,存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行如第一方面以及第一方面中任一可能的实现方式所描述的方法。
第三方面,本申请提供一种计算机存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行上述第一方面以及第一方面中任一可能的实现方式所描述的方法。
第四方面,本申请实施例提供一种芯片,该芯片可以应用于电子设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行上述第一方面以及第一方面中任一可能的实现方式所描述的方法。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述第一方面以及第一方面中任一可能的实现方式所描述的方法。
可理解,上述第二方面提供的电子设备、第三方面提供的计算机存储介质、第四方面提供的芯片,以及第五方面提供的计算机程序产品均用于执行上述第一方面以及第一方面中任一可能的实现方式所描述的方法。因此,其所能达到的有益效果可参考上述第一方面以及第一方面中任一可能的实现方式所描述的方法的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的一种电子设备的软硬件交互示意图;
图3为本申请实施例提供的一种活动识别过程示意图;
图4为本申请实施例提供的一种活动识别方法的流程图;
图5为本申请实施例提供的又一种活动识别方法的流程图;
图6为本申请实施例提供的又一种活动识别方法的流程图;
图7为本申请实施例提供的又一种活动识别方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
根据上文,AR需要实时运行在终端的低功耗空间中。不同终端的芯片平台的低功耗空间的差异较大。低功耗空间较小的终端无法支持AR的实时运行。
本申请提供了一种活动识别方法及相关设备。根据该活动识别方法,电子设备可以获取ACC数据,在满足调用AR算法的触发条件的情况下,电子设备可以基于获取的ACC数据来调用Sensorhub的非低功耗空间中的AR算法来确定电子设备当前的运动状态,并将电子设备当前的运动状态上报给上层应用。这种活动识别方法中,AR算法置于非低功耗空间中,可以使得低功耗空间较小的电子设备也可以支持AR的实时运行,提高了AR的适用性。另外,在满足一定条件的情况下,电子设备才确定当前的运动状态,而不是获取ACC数据后立即确定当前的运动状态,这种方式可以在不改变活动识别的准确性的情况下降低调用AR算法所带来的功耗。
可理解,电子设备具体可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(Augmented Reality,AR)/虚拟现实(Virtual Reality,VR)设备、笔记本电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本、个人数字助理(PersonalDigital Assistant,PDA)或专门的照相机(例如,单反相机、卡片式相机)等设备,本申请对电子设备的具体类型不作任何限制。
下面首先介绍本申请实施例涉及的装置。
图1为本申请实施例提供的一种电子设备的硬件结构示意图。
电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(Universal Serial Bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(Subscriber Identification Module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图1所示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图1所示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(Application Processor,AP),调制解调处理器,图形处理器(Graphics Processingunit,GPU),图像信号处理器(即ISP),控制器,存储器,视频编解码器,数字信号处理器(Digital Signal Processor,DSP),基带处理器,和/或神经网络处理器(Neural-networkProcessing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
在本申请提供的实施例中,电子设备可以通过处理器110执行该活动识别方法。
在本申请中,电子设备的处理器110可以包括Sensorhub。Sensorhub的中文名为智能传感集线器,也可以指传感器控制中心。Sensorhub的主要功能包括:在CPU休眠的情况下,实现对传感器的实时控制,从而达到降低功耗的功能;连接并处理来自各种传感器的数据;将不同类型传感器的数据进行融合,实现多种sensor数据结合才能实现的功能。需要说明的是,Sensorhub为一种低功耗处理器,也可以理解为小核。可理解,小核的相关描述可以参考相关技术文档,在此不展开说明。Sensorhub是一种可以被直接访问的快速内存,大约占用几百KB的内存空间。Sensorhub处理传感器数据可减少电子设备的功耗。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从上述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。处理器110所包括的接口还可以用于连接其他电子设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(WirelessLocal Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络),蓝牙(Bluetooth,BT),全球导航卫星***(Global Navigation Satellite System,GNSS),调频(Frequency Modulation,FM),近距离无线通信技术(Near Field Communication,NFC),红外技术(Infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(Liquid Crystal Display,LCD),有机发光二极管(Organic Light-EmittingDiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(Active-MatrixOrganic Light Emitting Diode的,AMOLED),柔性发光二极管(Flex Light-EmittingDiode,FLED),Mini LED,Micro LED,Micro-OLED,量子点发光二极管(Quantum Dot LightEmitting Diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现获取功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将该电信号传递给ISP处理,转化为肉眼可见的图像或视频。ISP还可以对图像的噪点,亮度,颜色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(Charge Coupled Device,CCD)或互补金属氧化物半导体(Complementary Metal-Oxide-Semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像或视频信号。ISP将数字图像或视频信号输出到DSP加工处理。DSP将数字图像或视频信号转换成标准的RGB,YUV等格式的图像或视频信号。
数字信号处理器用于处理数字信号,除了可以处理数字图像或视频信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(Moving Picture Experts Group,MPEG)1,MPEG2,MPEG3,MPEG4等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像视频播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
传感器模块180可以包括1个或多个传感器,这些传感器可以为相同类型或不同类型。可理解,图1所示的传感器模块180仅为一种示例性的划分方式,还可能有其他划分方式,本申请对此不作限制。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。当有触摸操作作用于显示屏194,电子设备根据压力传感器180A检测触摸操作强度。电子设备也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
陀螺仪传感器180B可以用于确定电子设备的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备围绕三个轴(即X、Y、Z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。
加速度传感器180E可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备可以利用距离传感器180F测距以实现快速对焦。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。电子设备使用光电二极管检测来自附近物体的红外反射光。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于获取指纹。温度传感器180J用于检测温度。骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。
电子设备的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)***为例,结合图2示例性说明电子设备的软件结构和软硬件交互过程。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
首先,结合图2介绍电子设备的软件结构。
如图2所示,本申请涉及的电子设备的软件结构可以包括应用程序层,应用程序框架层(framework,FWK)、***库、安卓运行时、硬件抽象层和内核层(kernel)。
其中,应用程序层可以包括一系列应用程序包,例如相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息和AR应用等应用程序(也可以称为应用)。其中,AR应用指的是应用AR能力的应用程序。即AR应用指的是需要通过活动识别以确定电子设备的运动状态的应用程序。例如,一些需要确定用户当前运动状态的运动健康类应用程序。关于应用程序层的其他应用,可以参考常规技术中的介绍和说明,本申请不展开说明。在本申请中,电子设备上的应用可以是原生的应用(如在电子设备出厂前,安装操作***时安装在电子设备中的应用),也可以是第三方应用(如用户通过应用商店下载安装的应用),本申请实施例不予限定。
应用程序框架层为应用程序层的应用程序提供应用编程接口(ApplicationProgramming Interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话界面形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
运行时(Runtime)包括核心库和虚拟机。Runtime负责***的调度和管理。其中,核心库包含两部分:一部分是编程语言(例如,java语言)需要调用的功能函数,另一部分是***的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的编程文件(例如,java文件)执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(Surface Manager),媒体库(Media Libraries),三维图形处理库(例如,OpenGL ES),二维图形引擎(例如,SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了二维(2-Dimensional,2D)和三维(3-Dimensional,3D)图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现3D图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
硬件抽象层(HAL)是位于操作***内核与上层软件之间的接口层,其目的在于将硬件抽象化。硬件抽象层是设备内核驱动的抽象接口,用于实现向更高级别的Java API框架提供访问底层设备的应用编程接口。HAL包含多个库模块,例如,AR-HAL、相机HAL、音频HAL等。其中每个库模块都为特定类型的硬件组件实现一个界面。当***框架层API要求访问便携设备的硬件时,Android操作***将为该硬件组件加载库模块。可理解,在上层需要使用AR能力的情况下,AR-HAL用于向上层提供访问底层设备的接口。
内核层是Android操作***的基础,Android操作***最终的功能都是通过内核层完成。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,虚拟卡驱动。
需要说明的是,本申请提供的图2所示的电子设备的软件结构仅作为一种示例,并不限定Android操作***不同分层中的具体模块划分,具体可以参考常规技术中对Android操作***软件结构的介绍。另外,本申请提供的活动识别方法还可以基于其他操作***实现,本申请不再一一举例。
其次,结合图2介绍电子设备的软硬件交互过程。
如图2所示,AR应用可以向下发送请求以访问底层硬件中的Sensorhub。比如,AR应用可以通过AR-HAL访问Sensorhub。AR驱动运行于Sensorhub的低功耗空间中。Sensorhub可以通过加速度传感器获取加速度信息(即ACC数据),并通过AR驱动基于该加速度信息确定电子设备当前的运动状态。Sensorhub可以将该运动状态上报至AR应用。
可理解,加速度信息可以包括各个方向(一般为X、Y、Z轴这三轴方向)上加速度的大小。
在图1和图2的基础上,结合图3介绍本申请实施例提供的活动识别方法。
如图3所示,Sensorhub可以包括低功耗空间和非低功耗空间。ACC驱动和AR驱动运行在Sensorhub的低功耗空间中,而AR算法则存储在Sensorhub的非低功耗空间中。在上层应用通过Sensorhub来实现AR的情况下,在低功耗空间中运行的AR驱动可以实时读取并保存加速度信息(即图3所示的ACC数据)。在AR驱动保存的ACC数据达到ACC缓存阈值之后,AR驱动可以调用非低功耗空间中的AR算法,通过保存的ACC数据和调用的AR算法即可确定电子设备当前的运动状态,然后再将该当前的运动状态上报给上层应用。
可理解,顾名思义,Sensorhub的低功耗空间指的是软件运行时功耗较小的内存空间,而Sensorhub的非低功耗空间指的是软件运行时功耗较大的内存空间。也就是说,软件运行在Sensorhub的低功耗空间时,功耗较小,而软件运行在Sensorhub的非低功耗空间时,功耗较大。
示例性的,Sensorhub的低功耗空间对应的功耗可以为6-10毫安(mA)。也就是说,软件运行在Sensorhub的低功耗空间时,电子设备对应的待机电流为6-10mA。
示例性的,Sensorhub的非低功耗空间对应的功耗可以为20-30mA。也就是说,软件运行在Sensorhub的非低功耗空间时,电子设备对应的待机电流为20-30mA。
可理解,待机电流是指电子设备不工作,但是要维持电子设备的最小***的电流。在本申请中,待机电流可以指电子设备处于飞行模式时的待机电流。
可理解,AR驱动占用内存较小,一般为16千字节(KB)左右,而AR算法占用内存较大,一般为108KB左右。
在本申请的一些实施例中,在AR驱动缓存的ACC数据达到ACC缓存阈值之后,AR驱动可以调用低功耗空间中的绝对静止算法,通过缓存的ACC数据和调用的绝对静止算法来确定电子设备当前是否处于静止状态。若AR驱动确定电子设备当前处于静止状态,则AR驱动直接将该静止状态上报给上层应用。若AR驱动确定电子设备当前处于非静止状态,则AR驱动可以调用非低功耗空间中的AR算法,通过缓存的ACC数据和调用的AR算法即可确定电子设备当前的运动状态,然后再将该当前的运动状态上报给上层应用。
在本申请的一些实施例中,Sensorhub中的低功耗空间可以为SRAM空间。SRAM空间指的是静态随机存取存储器(Static Random Access Memory,SRAM)对应的内存空间。
在本申请的一些实施例中,Sensorhub中的非低功耗空间可以为DRAM空间。DRAM空间指的是动态随机存取存储器(Dynamic Random Access Memory,DRAM)对应的内存空间。
在本申请的一些实施例中,Sensorhub中的非低功耗空间还可以为DDR空间。DDR空间指的是双倍速率同步动态随机存储器(Double Data Rate Synchronous DynamicRandom Access Memory,DDR SDRAM)对应的内存空间。
在本申请的一些实施例中,Sensorhub中的低功耗空间为SRAM空间,其运行内存一般为几百KB。例如,550KB。Sensorhub中的非低功耗空间为DRAM空间,其运行内存一般为兆字节(MB)级别。例如,1.5MB。
可理解,Sensorhub中的低功耗空间和非低功耗空间还可以为其他存储芯片对应的内存空间,本申请对此不作限制。Sensorhub中的低功耗空间和非低功耗空间的相关描述可以参考相关技术文档,在此不展开说明。
在本申请的一些实施例中,Sensorhub中的低功耗空间和非低功耗空间可以通过接口互相访问,具体可以参考相关技术文档,在此不展开说明。
下面介绍本申请提供的一种活动识别方法。
请参阅图4,图4为本申请实施例提供的一种活动识别方法的流程图。该方法可以包括但不限于以下步骤:
S401:电子设备获取ACC数据。
可理解,电子设备可以通过加速度传感器获取ACC数据。在本申请的一些实施例中,加速度传感器可以为上文所述的加速度传感器180E。ACC数据的相关描述可以参考上文和相关技术文档,在此不展开说明。
在本申请的一些实施例中,电子设备获取ACC数据的周期为T1。也就是说,电子设备每隔T1向加速度传感器获取一次ACC数据。为了便于描述,本申请将电子设备向加速度传感器获取一次的ACC数据作为一组ACC数据。可理解,T1的具体数值可以根据实际需求进行设置,本申请对此不作限制。例如,T1可以为10毫秒(ms)。即电子设备可以每隔10ms获取一组ACC数据。
S402:在电子设备获取的ACC数据满足ACC缓存条件的情况下,电子设备基于获取的ACC数据确定当前的运动状态。
可理解,在电子设备获取的ACC数据满足ACC缓存条件的情况下,电子设备可以基于获取的ACC数据确定电子设备的加速度(包括方向和大小)和速度,从而确定电子设备当前的运动状态。可理解,电子设备的运动状态可以包括但不限于:静止、步行、跑步、骑行、乘公交车、乘地铁、坐电梯、坐飞机。示例性的,加速度为0且速度为0时,电子设备处于静止状态。速度为1.48m/s-1.51m/s时,电子设备处于步行状态。
在本申请的一些实施例中,电子设备获取的ACC数据满足ACC缓存条件具体可以包括:电子设备获取的ACC数据达到预设缓存组数。为了便于描述,本申请将预设缓存组数记为Z。Z为正整数。可理解,Z的具体数值可以根据实际需求进行设置,本申请对此不作限制。例如,Z=50。即50组ACC数据。也就是说,在电子设备缓存的ACC数据达到50组的情况下,电子设备可以基于获取的该50组ACC数据确定电子设备当前的运动状态。
在本申请的一些实施例中,电子设备获取的ACC数据满足ACC缓存条件具体可以包括:电子设备获取ACC数据的时间达到预设缓存时间。为了便于描述,本申请将预设缓存时间记为T2。T2为正数。可理解,T2的具体数值可以根据实际需求进行设置,本申请对此不作限制。例如,T2可以为500ms。也就是说,在电子设备获取500ms的ACC数据的情况下,电子设备可以基于该500ms内获取的ACC数据确定电子设备当前的运动状态。
在本申请的一些实施例中,电子设备可以直接基于获取的ACC数据来确定电子设备当前的运动状态。具体地,电子设备可以调用Sensorhub的非低功耗空间中的AR算法来根据获取的ACC数据确定电子设备当前的运动状态。然后,电子设备可以将该当前的运动状态上报给上层应用。
在本申请的一些实施例中,电子设备可以首先基于获取的ACC数据确定电子设备当前是否处于静止状态。若电子设备当前的运动状态为静止状态,则电子设备可以将该静止状态上报给上层应用。若电子设备当前的运动状态不为静止状态,则电子设备可以调用Sensorhub的非低功耗空间中的AR算法来根据获取的ACC数据确定电子设备当前的运动状态。然后,电子设备可以将该当前的运动状态上报给上层应用。这种方式可以节省电子设备处于静止状态时调用Sensorhub的非低功耗空间中的AR算法的功耗。
下面介绍本申请提供的又一种活动识别方法。
请参阅图5,图5为本申请实施例提供的又一种活动识别方法的流程图。该方法可以包括但不限于以下步骤:
S501:AR驱动向ACC驱动发送请求订阅ACC数据的信息。其中,请求订阅ACC数据的信息包括ACC数据的获取周期。
可理解,AR驱动可以向ACC驱动发送请求订阅ACC数据的信息。该请求订阅ACC数据的信息可以包括ACC数据的获取周期(即T1)。ACC数据的获取周期的相关描述可以参考上文关于T1的描述,在此不再赘述。
在本申请的一些实施例中,AR驱动向ACC驱动发送的请求订阅ACC数据的信息可以包括ACC数据的传输周期。AR驱动可以设置ACC数据的传输周期。ACC数据的传输周期指的是ACC驱动向AR驱动发送ACC数据的周期。为了便于描述,本申请将ACC数据的传输周期记为T3。T3为正数。可理解,T3的具体数值可以根据实际需求进行设置,本申请对此不作限制。例如,T3可以为100ms。也就是说,ACC驱动可以每隔100ms向AR驱动传输一次ACC数据。
需要说明的是,ACC驱动每隔T1获取一次ACC数据,每隔T3向AR驱动传输一次ACC数据。因此,T3不小于T1。在本申请的一些实施例中,T3为T1的整数倍。
在本申请的一些实施例中,ACC驱动可以设置ACC数据的传输周期(即T3)。在一种可能的实现方式中,在接收请求订阅ACC数据的信息之前,ACC驱动可以设置T3。在又一种可能的实现方式中,在接收请求订阅ACC数据的信息之后,ACC驱动可以设置T3。可理解,T3可以基于T1预先设置,并存储在电子设备中,以便ACC驱动查找及调用。
相应的,ACC驱动可以接收AR驱动发送的请求订阅ACC数据的信息。
S502:ACC驱动向AR驱动发送同意订阅的信息。
可理解,在ACC驱动接收AR驱动发送的请求订阅ACC数据的信息之后,可以向AR驱动发送同意订阅的信息。可理解,同意订阅的信息的表现形式可以为数字、字符、文字等,本申请对此不作限制。示例性的,ACC驱动可以向AR驱动返回1,则AR驱动确定ACC驱动同意订阅,即订阅成功。
相应的,AR驱动可以接收ACC驱动发送的同意订阅的信息。
S503:ACC驱动基于ACC数据的获取周期向AR驱动发送ACC数据。
在本申请的一些实施例中,ACC驱动每隔该ACC数据的获取周期(即T1)向AR驱动发送一次ACC数据。也就是说,ACC驱动每获取一组ACC数据,就将这一组ACC数据发送给AR驱动。
在本申请的一些实施例中,ACC驱动可以基于ACC数据的获取周期确定ACC数据的传输周期(即T3),并且,ACC驱动可以每隔T3向AR驱动发送一次ACC数据。也就是说,ACC驱动获取一组ACC数据之后,不一定立刻就将这一组ACC数据发送给AR驱动,而是会将T3内获取的ACC数据一起发送给AR驱动。结合上文示例,T1可以为10ms,T3可以为100ms,则ACC驱动在获取10组数据之后,才会将这10组数据一起发送给AR驱动,而不是每获取一组数据就向AR驱动发送该获取的一组ACC数据。
相应的,AR驱动可以接收ACC驱动发送的ACC数据。
S504:在AR驱动接收的ACC数据满足ACC缓存条件的情况下,AR驱动调用Sensorhub的非低功耗空间中的AR算法来根据接收的ACC数据确定电子设备当前的运动状态。
结合上文,ACC驱动和AR驱动运行在Sensorhub的低功耗空间中,而AR算法存储在Sensorhub的非低功耗空间中。在AR驱动接收的ACC数据满足ACC缓存条件的情况下,AR驱动可以调用Sensorhub的非低功耗空间中的AR算法来根据接收的ACC数据确定电子设备当前的运动状态。
根据上文,在本申请的一些实施例中,AR驱动接收的ACC数据满足ACC缓存条件可以包括:AR驱动获取的ACC数据达到预设缓存组数。可理解,预设缓存组数的相关描述可以参考上文,在此不展开说明。
根据上文,在本申请的一些实施例中,AR驱动接收的ACC数据满足ACC缓存条件可以包括:AR驱动获取ACC数据的时间达到预设缓存时间(即T2)。也可以理解为,AR驱动接收并缓存的ACC数据为ACC驱动在T2内获取的ACC数据。示例性的,T2可以为500ms。在AR驱动接收并缓存的ACC数据为500ms的ACC数据的情况下,AR驱动调用Sensorhub的非低功耗空间中的AR算法来根据接收的ACC数据确定电子设备当前的运动状态。500ms的ACC数据指的是ACC驱动在500ms内获取的ACC数据。需要说明的是,500ms的ACC数据不一定是ACC驱动一次发送给AR驱动的,可以是ACC驱动若干次发送给AR驱动的ACC数据。
可理解,T2不小于T3。预设缓存时间的相关描述可以参考上文,在此不展开说明。
需要说明的是,AR算法的实现逻辑可以包括:由于电子设备处于不同运动状态下时,电子设备的加速度、速度和位移有所差别,因此可以根据ACC数据确定电子设备的加速度(包括方向和大小)、速度,并基于该加速度、速度和位移确定电子设备的运动状态。电子设备的运动状态的相关描述可以参考上文,在此不再赘述。AR算法的具体描述可以参考相关技术文档,在此不展开说明。
可理解,AR驱动确定电子设备的运动状态之后,可以将该运动状态上报给上层应用。
下面介绍本申请提供的又一种活动识别方法。
请参阅图6,图6为本申请实施例提供的又一种活动识别方法的流程图。该方法可以包括但不限于以下步骤:
S601:ACC驱动基于ACC数据的获取周期向AR驱动发送ACC数据。
可理解,步骤S601的具体实现方式可以参考步骤S503的相关描述,在此不再赘述。
可理解,ACC驱动基于ACC数据的获取周期向AR驱动发送ACC数据之前,AR驱动可以订阅ACC数据。例如,AR驱动可以向ACC驱动发送请求订阅ACC数据的信息,相应的,ACC驱动也可以向AR驱动发送同意订阅的信息,具体可以参考步骤S501和步骤S502,在此不再赘述。
S602:在AR驱动接收的ACC数据达到ACC缓存条件的情况下,AR驱动基于获取的ACC数据确定电子设备是否处于静止状态。
具体地,在AR驱动接收的ACC数据达到ACC缓存条件的情况下,AR驱动可以基于接收的ACC数据确定电子设备在各个方向(一般为X、Y、Z轴这三轴方向)上的加速度的变化量。在该各个方向上的加速度的变化量均小于预设加速度变化量的情况下,AR驱动可以确定电子设备处于静止状态,而在该各个方向上的加速度的变化量未均小于预设加速度变化量的情况下,AR驱动可以确定电子设备处于非静止状态。在此基础上,AR驱动可以继续执行后续步骤。
可理解,预设加速度变化量可以根据实际需求进行设置,本申请对此不作限制。
在本申请的一些实施例中,由于ACC数据可以包括电子设备在X、Y、Z轴方向上的加速度,所以AR驱动可以基于ACC数据分别确定电子设备在X、Y、Z轴方向上的加速度的变化量。AR驱动可以将该变化量分别与预设加速度变化量进行比较。若电子设备在X、Y、Z轴方向上的加速度的变化量均小于预设加速度变化量,则AR驱动可以确定电子设备处于静止状态,否则,AR驱动可以确定电子设备未处于静止状态。
可理解,ACC缓存条件的相关描述可以参考步骤S504,在此不再赘述。
在本申请的一些实施例中,若上一次检测的电子设备的运动状态为非静止状态,而本次检测的电子设备的运动状态为静止状态,则AR驱动开始计时。为了便于描述,本申请将计时时间记为T4。若在AR驱动开始计时后的T4时间内,AR驱动每一次检测到的电子设备的运动状态均为静止状态,则AR驱动最终确定电子设备的运动状态为静止状态,并将该静止状态上报给上层应用。若在AR驱动开始计时后的T4时间内,AR驱动检测到的电子设备的运动状态包括非静止状态,则AR驱动可以最终确定电子设备处于非静止状态。
在本申请的一些实施例中,在AR驱动开始计时后,一旦AR驱动检测到电子设备的运动状态为非静止状态,则AR驱动可以最终确定电子设备处于非静止状态,无需继续计时直到达到T4。
可理解,T4的具体数值可以根据实际需求进行设置,本申请对此不作限制。例如,T4可以为1分钟(min)。
在本申请的一些实施例中,T4可以在预设计时范围内。可理解,预设计时范围可以根据实际需求进行设置,本申请对此不作限制。例如,预设计时范围可以为[1min,30min]。
在一种可能的实现方式中,AR驱动可以通过启动定时器来进行计时。例如,AR驱动可以设置一个计时时间为T4的定时器。
在一种可能的实现方式中,AR驱动可以通过时间戳来进行计时。为了便于描述,本申请将本次检测到电子设备的运动状态为静止状态时的时间戳记为第一时刻。具体地,AR驱动可以确定当前时刻与第一时刻的时间差,在当前时刻与第一时刻的时间差为T4的情况下,AR驱动计时结束。
在本申请的一些实施例中,AR驱动最终确定电子设备处于静止状态,还是非静止状态之后,可以更新状态标志位。具体地,AR驱动最终确定电子设备处于非静止状态之后,AR驱动可以将状态标志位设置为标志位1。在标志位为标志位1的情况下,AR驱动可以继续执行步骤S604。可理解,标志位1用于表示电子设备处于非静止状态。而AR驱动最终确定电子设备处于静止状态之后,AR驱动也可以将状态标志位设置为标志位2。可理解,标志位2用于表示电子设备处于静止状态。
在一种可能的实现方式中,状态标志位可以为静止标志位。例如,状态标志位可以为is_stationary。例如,标志位1可以为false,标志位2可以为true。再例如,标志位1可以为0,标志位2可以为1。
在本申请的一些实施例中,AR驱动可以调用Sensorhub的低功耗空间中的绝对静止算法来确定电子设备当前是否处于静止状态。可理解,AR驱动调用该绝对静止算法来确定电子设备当前是否处于静止状态,具体可以包括:AR驱动可以基于获取的ACC数据来确定ACC数据的变化幅度。
需要说明的是,绝对静止算法的实现逻辑可以包括:由于电子设备处于静止状态下和非静止状态下时,电子设备的加速度、速度和位移有所差别,因此可以根据ACC数据确定电子设备在各个方向(一般为X、Y、Z轴这三轴方向)上的加速度的变化量,并基于该加速度的变化量与预设加速度变化量的大小关系确定电子设备是处于静止状态,还是处于非静止状态。
S603:若电子设备处于静止状态,AR驱动将电子设备处于静止状态上报给AR应用。
可理解,若AR驱动最终确定电子设备处于静止状态,则AR驱动可以将电子设备处于静止状态进行上报。具体地,AR驱动可以将电子设备处于静止状态上报给AR应用。
S604:若电子设备处于非静止状态,AR驱动调用Sensorhub的非低功耗空间中的AR算法来根据接收的ACC数据确定电子设备当前的运动状态,并将电子设备当前的运动状态上报给AR应用。
可理解,若AR驱动最终确定电子设备处于非静止状态,则AR驱动可以调用Sensorhub的非低功耗空间中的AR算法来根据接收的ACC数据确定电子设备当前具体的运动状态。可理解,步骤S604的具体实现方式可以参考步骤S504的相关描述,在此不再赘述。
下面介绍本申请提供的又一种活动识别方法。
请参阅图7,图7为本申请实施例提供的又一种活动识别方法的流程图。该方法可以包括但不限于以下步骤:
S701:电子设备的AR驱动获取加速度数据。
可理解,电子设备AR驱动可以获取加速度数据。可理解,加速度数据即为ACC数据。
在本申请的一些实施例中,AR驱动可以通过电子设备中的ACC驱动获取ACC数据。在一种可能的实现方式中,AR驱动可以向ACC驱动请求订阅ACC数据,ACC驱动可以每隔第一时长通过加速度传感器获取一次ACC数据。ACC驱动可以将获取的ACC数据传输给AR驱动。在本申请的一些实施例中,ACC驱动每一次通过加速度传感器获取ACC数据的间隔时间可以任意设置,不必总是间隔第一时长来获取一次ACC数据。
结合上文,ACC驱动获取的一次ACC数据即为一组ACC数据。ACC驱动获取ACC数据的周期为第一时长。可理解,第一时长可以为上文所提及的T1。
在一种可能的实现方式中,ACC驱动可以每获取一组ACC数据后就将获取的一组ACC数据传输给AR驱动。
在又一种可能的实现方式中,ACC驱动每一次都会等获取M组ACC数据之后,再将该获取的M组ACC数据传输给AR驱动。M为正整数。例如,M可以为10。
在又一种可能的实现方式中,ACC驱动每一次都会将第二时长内获取的ACC数据传输给AR驱动。可理解,第二时长可以为上文所提及的ACC数据的传输周期(即T3)。
在本申请的一些实施例中,AR驱动可以直接通过加速度传感器获取ACC数据。具体地,AR驱动可以直接给加速度传感器发送信息以请求获取ACC数据。
可理解,AR驱动获取加速度数据的具体实现方式可以参考图5和图6的相关描述,在此不再赘述。当然,AR驱动还可以通过其他方式获取ACC数据,本申请对此不作限制。
S702:在触发AR驱动调用AR算法的情况下,AR驱动调用AR算法,基于获取的加速度数据确定电子设备当前的运动状态。其中,AR算法存储在电子设备的Sensorhub的非低功耗空间中。
在本申请的一些实施例中,“触发AR驱动调用AR算法”、“电子设备获取的ACC数据满足ACC缓存条件”和“AR驱动接收的ACC数据满足ACC缓存条件”与表示的含义相同。
在一种可能的实现方式中,AR驱动获取的ACC数据的组数达到预设缓存组数(即Z),就会触发AR驱动调用AR算法。也就是说。在AR驱动获取的ACC数据的组数达到预设缓存组数的情况下,AR驱动可以调用AR算法,并基于获取的ACC数据确定电子设备当前的运动状态。
在又一种可能的实现方式中,AR驱动获取ACC数据的时间达到预设缓存时间(即T2),就会触发AR驱动调用AR算法。也就是说,在AR驱动获取ACC数据的时间达到预设缓存时间的情况下,AR驱动可以调用AR算法,并基于获取的ACC数据确定电子设备当前的运动状态。
在本申请的一些实施例中,AR驱动获取ACC数据之后,还可以基于获取的ACC数据来确定电子设备是否处于静止状态。可理解,AR驱动确定电子设备是否处于静止状态的具体实现方式可以参考上文。
在一种可能的实现方式中,AR驱动可以基于ACC驱动最新一次传输的ACC数据来确定电子设备是否处于静止状态。
在又一种可能的实现方式中,在AR驱动连续N次检测出电子设备的运动状态为静止状态的情况下,AR驱动可以最终确定电子设备处于静止状态。N为正整数。
在又一种可能的实现方式中,若AR驱动在T4内的每一次检测的结果都是电子设备的运动状态为静止状态,AR驱动可以最终确定电子设备处于静止状态。可理解,T4内,AR驱动可以接收到ACC驱动若干次传输的ACC数据,每一次接收到ACC驱动传输的ACC数据之后,AR驱动都可以基于该次接收的ACC数据确定电子设备是否处于静止状态。可理解,T4为计时时间,相关描述可以参考上文,在此不展开说明。
在本申请的一些实施例中,AR驱动获取的ACC数据的组数达到预设缓存组数,且AR驱动检测到电子设备处于非静止状态,就会触发AR驱动调用AR算法。
在本申请的一些实施例中,AR驱动获取ACC数据的时间达到预设缓存时间,且AR驱动检测到电子设备处于非静止状态,就会触发AR驱动调用AR算法。
可理解,“满足调用AR算法的触发条件”与“触发AR驱动调用AR算法”表示的含义相同。
可理解,AR驱动调用AR算法,基于获取的加速度数据确定电子设备当前的运动状态,具体可以包括:AR驱动基于获取的加速度数据确定电子设备的加速度和速度,并基于电子设备的加速度和速度确定电子设备当前的运动状态。可理解,确定电子设备的运动状态的具体实现方式还可以参考上文和相关技术文档,在此不展开说明。
需要说明的是,AR驱动和ACC驱动运行在Sensorhub的低功耗空间中,而AR算法运行在Sensorhub的非低功耗空间中。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (13)
1.一种活动识别方法,其特征在于,应用于电子设备,所述电子设备包含智能传感集线器Sensorhub,所述Sensorhub的低功耗空间中运行有AR驱动,所述Sensorhub的非低功耗空间中存储有活动识别AR算法;所述方法包括:
所述电子设备的所述AR驱动获取加速度数据;
在所述AR驱动获取的加速度数据满足ACC缓存条件的情况下,或者,在所述AR驱动获取的加速度数据所述满足ACC缓存条件,且所述电子设备处于非静止状态的情况下,所述AR驱动调用所述AR算法,基于所述加速度数据确定所述电子设备当前的运动状态。
2.如权利要求1所述的方法,其特征在于,所述Sensorhub的低功耗空间中运行有ACC驱动;所述电子设备的所述AR驱动获取加速度数据,具体包括:
所述电子设备中的所述ACC驱动每隔第一时长通过加速度传感器获取一组加速度数据;
所述ACC驱动将获取的加速度数据传输给所述AR驱动。
3.如权利要求2所述的方法,其特征在于,所述ACC驱动每一次传输给所述AR驱动的加速度数据包括所述ACC驱动在第二时长内获取的加速度数据;所述第二时长不小于所述第一时长。
4.如权利要求2所述的方法,其特征在于,所述ACC驱动每一次传输给所述AR驱动的加速度数据包括M组加速度数据;所述M为正整数。
5.如权利要求1-4任一项所述的方法,其特征在于,所述电子设备的所述AR驱动获取加速度数据之后,所述方法还包括:
所述AR驱动基于所述加速度数据确定所述电子设备是否处于静止状态。
6.如权利要求5所述的方法,其特征在于,所述在所述AR驱动获取的加速度数据所述满足ACC缓存条件,且所述电子设备处于非静止状态的情况下,所述AR驱动调用所述AR算法,具体包括:
所述AR驱动获取的加速度数据的组数达到预设缓存组数,且所述AR驱动检测到所述电子设备处于非静止状态,所述AR驱动调用所述AR算法。
7.如权利要求5所述的方法,其特征在于,所述在所述AR驱动获取的加速度数据所述满足ACC缓存条件,且所述电子设备处于非静止状态的情况下,所述AR驱动调用所述AR算法,具体包括:
所述AR驱动获取加速度数据的时间达到预设缓存时间,且所述AR驱动检测到所述电子设备处于非静止状态,所述AR驱动调用所述AR算法。
8.如权利要求5所述的方法,其特征在于,所述AR驱动基于所述加速度数据确定所述电子设备是否处于静止状态,具体包括:
所述AR驱动在连续N次检测出运动状态为静止状态的情况下,确定所述电子设备处于静止状态。
9.如权利要求6或7所述的方法,其特征在于,所述AR驱动基于所述加速度数据确定所述电子设备是否处于静止状态,具体包括:
所述AR驱动在连续N次检测出运动状态为静止状态的情况下,确定所述电子设备处于静止状态。
10.如权利要求1-4任一项所述的方法,其特征在于,所述在所述AR驱动获取的加速度数据满足ACC缓存条件的情况下,所述AR驱动调用所述AR算法,具体包括:
所述AR驱动获取的加速度数据的组数达到预设缓存组数,所述AR驱动调用所述AR算法。
11.如权利要求1-4任一项所述的方法,其特征在于,所述在所述AR驱动获取的加速度数据满足ACC缓存条件的情况下,所述AR驱动调用所述AR算法,具体包括:
所述AR驱动获取加速度数据的时间达到预设缓存时间,所述AR驱动调用所述AR算法。
12.一种电子设备,包括存储器、一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求1-11中任一项所述的方法。
13.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211170508.7A CN116700463B (zh) | 2022-09-22 | 2022-09-22 | 一种活动识别方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211170508.7A CN116700463B (zh) | 2022-09-22 | 2022-09-22 | 一种活动识别方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116700463A CN116700463A (zh) | 2023-09-05 |
CN116700463B true CN116700463B (zh) | 2024-04-02 |
Family
ID=87832764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211170508.7A Active CN116700463B (zh) | 2022-09-22 | 2022-09-22 | 一种活动识别方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700463B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108008423A (zh) * | 2017-12-13 | 2018-05-08 | 广东欧珀移动通信有限公司 | 基于定位模块的控制方法、装置、存储介质及移动终端 |
CN111797655A (zh) * | 2019-04-09 | 2020-10-20 | Oppo广东移动通信有限公司 | 用户活动识别方法、装置、存储介质及电子设备 |
WO2022045567A1 (ko) * | 2020-08-25 | 2022-03-03 | 삼성전자 주식회사 | 증강 현실을 위한 타겟 장치 인식 방법 및 장치 |
CN114416389A (zh) * | 2021-12-01 | 2022-04-29 | 荣耀终端有限公司 | 一种活动识别方法以及相关设备 |
WO2022121600A1 (zh) * | 2020-12-08 | 2022-06-16 | 华为技术有限公司 | 活动识别方法、显示方法及电子设备 |
-
2022
- 2022-09-22 CN CN202211170508.7A patent/CN116700463B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108008423A (zh) * | 2017-12-13 | 2018-05-08 | 广东欧珀移动通信有限公司 | 基于定位模块的控制方法、装置、存储介质及移动终端 |
CN111797655A (zh) * | 2019-04-09 | 2020-10-20 | Oppo广东移动通信有限公司 | 用户活动识别方法、装置、存储介质及电子设备 |
WO2022045567A1 (ko) * | 2020-08-25 | 2022-03-03 | 삼성전자 주식회사 | 증강 현실을 위한 타겟 장치 인식 방법 및 장치 |
WO2022121600A1 (zh) * | 2020-12-08 | 2022-06-16 | 华为技术有限公司 | 活动识别方法、显示方法及电子设备 |
CN114416389A (zh) * | 2021-12-01 | 2022-04-29 | 荣耀终端有限公司 | 一种活动识别方法以及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116700463A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109814766B (zh) | 一种应用显示方法及电子设备 | |
CN111316199B (zh) | 一种信息处理方法及电子设备 | |
CN113553130B (zh) | 应用执行绘制操作的方法及电子设备 | |
CN115292052B (zh) | 内存回收方法、电子设备及计算机可读存储介质 | |
WO2022194190A1 (zh) | 调整触摸手势的识别参数的数值范围的方法和装置 | |
CN116048933A (zh) | 一种流畅度检测方法 | |
CN115801943B (zh) | 显示方法、电子设备及存储介质 | |
CN115333941A (zh) | 获取应用运行情况的方法及相关设备 | |
WO2022127130A1 (zh) | 一种添加操作序列的方法、电子设备和*** | |
CN114610419B (zh) | 添加widget的方法、装置及计算机可读存储介质 | |
CN116048771B (zh) | 一种资源调度方法及相关设备 | |
CN111381996A (zh) | 内存异常处理方法及装置 | |
CN116700463B (zh) | 一种活动识别方法及相关设备 | |
CN113380240B (zh) | 语音交互方法和电子设备 | |
CN111475363B (zh) | 卡死识别方法及电子设备 | |
CN115083400A (zh) | 语音助手唤醒方法及装置 | |
CN116661584B (zh) | 一种资源调度方法及相关设备 | |
CN116074615B (zh) | 摄像头控制方法、装置及终端设备 | |
CN114816311B (zh) | 一种屏幕移动的方法和装置 | |
CN116048744B (zh) | 一种图像获取方法及相关电子设备 | |
CN113179362B (zh) | 电子设备及其图像显示方法 | |
WO2022143891A1 (zh) | 焦点同步方法及电子设备 | |
CN116662150B (zh) | 应用启动耗时检测方法及相关装置 | |
CN116266159B (zh) | 一种缺页异常处理方法和电子设备 | |
WO2022206709A1 (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 |