CN117707322A - 数据处理方法、电子设备和存储介质 - Google Patents
数据处理方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117707322A CN117707322A CN202310816813.7A CN202310816813A CN117707322A CN 117707322 A CN117707322 A CN 117707322A CN 202310816813 A CN202310816813 A CN 202310816813A CN 117707322 A CN117707322 A CN 117707322A
- Authority
- CN
- China
- Prior art keywords
- data
- behavior recognition
- memory
- driver
- accelerometer
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 230000006399 behavior Effects 0.000 claims abstract description 300
- 230000015654 memory Effects 0.000 claims abstract description 184
- 238000000034 method Methods 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000033001 locomotion Effects 0.000 abstract description 117
- 230000002829 reductive effect Effects 0.000 abstract description 26
- 230000006870 function Effects 0.000 description 45
- 230000036541 health Effects 0.000 description 15
- 230000002618 waking effect Effects 0.000 description 15
- 230000001133 acceleration Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000007958 sleep Effects 0.000 description 10
- 230000000386 athletic effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000001965 increasing effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000035582 behavioral recognition Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000000284 resting effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000000007 visual effect Effects 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
- 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/329—Power saving characterised by the action undertaken by task scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本申请涉及智能终端技术领域,具体涉及一种数据处理方法、电子设备和存储介质,应用于包括第一存储器和第二存储器的电子设备,第一存储器存储有行为识别驱动和计步器驱动,第二存储器存储有第一算法库。该方法包括:行为识别驱动在第一数据处理周期获取到第一传感器数据;行为识别驱动调用第二存储器中的第一算法库对第一传感器数据进行处理,得到第一行为识别数据和第一计步数据;行为识别驱动在第一存储器内存储第一行为识别数据和第一计步数据;计步器驱动从第一存储器中获取第一计步数据。这使得在运动状态和当前步数的更新不同步时,刷新一次当前步数和刷新运动状态可以仅唤醒一次高功耗的第二存储器,从而有效降低唤醒功耗。
Description
技术领域
本发明涉及智能终端技术领域,具体涉及一种数据处理方法、电子设备和计算机可读存储介质。
背景技术
电子设备中的行为识别(activity recognition,AR)功能,也可称为活动识别,是指通过底层传感器,例如加速度传感器,检测电子设备的方向、位置和运动,以判断持有电子设备的用户的运动状态,进而判断用户的活动场景。例如,可以判断用户是否处于车载、骑行、走路、跑步、静止、躺下等活动场景中。而电子设备中的计步器(pedometer)是一种通过底层传感器确定用户当前步数的功能,它返回的是从计步器程序被激活到当前的步数变化,仅在系统重启时才会清零。
行为识别和计步器在电子设备启动后开始运行,即使在电子设备的系统休眠时,行为识别和计步器依旧在运行。可以理解,行为识别功能的实现需要通过行为识别驱动获取传感器数据,结合行为识别算法计算获取到的传感器数据,得到用户的当前运动状态。而计步功能的实现需要通过计步器驱动获取传感器数据,结合计步算法计算获取到的传感器数据,得到用户的当前步数。
因此,上述计步功能和行为识别功能均需要结合算法库来实现功能。
发明内容
本申请提供了一种数据处理方法、电子设备和计算机可读存储介质,使得在运动状态和当前步数的更新不同步时,刷新一次当前步数和刷新运动状态可以仅唤醒一次高功耗的内存,从而有效降低休眠内存的唤醒功耗。
本申请的一些实施方式提供了一种数据处理方法。以下从多个方面介绍本申请,以下多个方面的实施方式和有益效果可互相参考。
第一方面,本申请提出了一种数据处理方法,应用于电子设备,该电子设备包括第一存储器和第二存储器,该第一存储器存储有行为识别驱动和计步器驱动,该第二存储器存储有第一算法库;该方法包括:行为识别驱动在第一数据处理周期获取到第一传感器数据;行为识别驱动调用该第二存储器中的第一算法库对该第一传感器数据进行处理,得到第一行为识别数据和第一计步数据;行为识别驱动在第一存储器内存储第一行为识别数据和第一计步数据;计步器驱动从第一存储器中获取第一计步数据。
可以理解,第一数据处理周期为行为识别驱动刷新第一行为识别数据(即下文中的运动状态)的每个周期,在唤醒第二存储器后,行为识别驱动可以同时获取第一行为识别数据和第一计步数据(即下文中的当前步数),并由行为识别驱动将第一行为识别数据和第一计步数据存储至第一存储器。而计步器驱动可以从第一存储器中直接获取第一计步数据。这使得在运动状态和当前步数的更新不同步时,刷新一次当前步数和刷新运动状态可以仅唤醒一次高功耗的内存,从而有效降低休眠内存的唤醒功耗。
在上述第一方面的一种可能的实现中,第一算法库包括第一接口和第二接口,并且,行为识别驱动调用第二存储器中的第一算法库对第一传感器数据进行处理,得到第一行为识别数据和第一计步数据,包括:行为识别驱动调用第一接口对第一传感器数据进行处理,确定第一行为识别数据;行为识别驱动调用第二接口对第一传感器数据进行处理,确定第一计步数据。
可以理解,第一算法库(即下文中的第二行为识别算法库)可以提供第一接口作为调用行为识别功能的入口,可以提供第二接口作为调用计步功能的入口,因此,行为识别驱动调用第一接口可以调用行为识别算法对第一传感器数据(例如下文中的加速度计数据)进行计算,得到运动状态;行为识别驱动调用第二接口可以调用计步相关的算法对第一传感器数据进行计算,得到当前步数。这使得第一算法库所在的第二存储器在第一数据处理周期内仅需单次唤醒,即可使得行为识别驱动获取到运动状态和当前步数。
在上述第一方面的一种可能的实现中,第一存储器还存储有加速度计驱动,第一传感器数据包括加速度计数据,并且,行为识别驱动在第一数据处理周期获取到第一传感器数据,还包括:在第一数据处理周期内,行为识别驱动以第一频率从加速度计驱动获取加速度计数据。
即第一存储器中还存储有用于获取第一传感器数据的传感器驱动,例如加速度计驱动,可以从加速度计驱动处获取加速度计数据,并且,在第一数据处理周期内,行为识别驱动可以以第一频率订阅到加速度计驱动的加速度计数据。
在上述第一方面的一种可能的实现中,行为识别驱动调用第二存储器中的第一算法库对第一传感器数据进行处理,得到第一行为识别数据和第一计步数据,包括:行为识别驱动在第一存储器内存储加速度计数据;对应于已存储的加速度计数据的数量大于等于第一数量,行为识别驱动调用该第二存储器中的第一算法库对第一传感器数据进行处理,得到第一行为识别数据和第一计步数据。
即行为识别驱动在第一存储器内存储加速度计数据,当加速度计数据存储满第一数量时,行为识别驱动可以调用第二存储器中的第一算法库对第一传感器数据进行处理,得到第一行为识别数据和第一计步数据,进而延长第一数据处理周期中调用第二存储器的周期,降低唤醒第二存储器的频率,降低唤醒休眠中的第二存储器的功耗。在一些实施例中,上述第一数据可以为50组加速度计数据。
在上述第一方面的一种可能的实现中,第一存储器还存储有第二算法库,并且,对应于已存储的加速度计数据的数量大于等于第一数量,该行为识别驱动调用第二存储器中的第一算法库对第一传感器数据进行处理,得到第一行为识别数据和第一计步数据包括:行为识别驱动将第一数量的加速度计数据输入第二算法库;行为识别驱动检测到第一数量的加速度计数据已传输至第二算法库,将第一数量的加速度计数据输入第一算法库,得到第一行为识别数据和第一计步数据。
即在存储满第一数量的加速度计数据后,可以先将加速度计数据传输至第一存储器内的第二算法库(即下文中的第一行为识别算法库),在完成第一存储器内的传输处理后,得到对走、跑和静止这三种简单运动状态的初步判断结果。然后,将第一数量的加速度计数据发送至第二存储器内的第一算法库(即下文中的第二行为识别算法库),可以保证仅唤醒一次第一算法库,进而避免重复唤起第二存储器,减少唤醒第二存储器的功耗。
在上述第一方面的一种可能的实现中,第一存储器为电子设备处理器的缓存,第二存储器为电子设备的内存;并且,行为识别驱动在第一存储器内存储第一行为识别数据和第一计步数据,包括:行为识别驱动将第一行为识别数据以原格式存储于该缓存内,以及将该第一计步数据存储为全局变量,其中,该全局变量被定义为行为识别驱动和计步器驱动均可访问的变量。
即行为识别驱动可以在第一存储器内将获取到的运动状态和当前步数存储在行为识别驱动所在的缓存内,运动状态可以以原格式存储,而当前步数则存储为计步器驱动也可以访问的全局变量,便于计步器驱动直接在缓存内获取当前步数,无需再次唤醒内存,有效减少了唤醒休眠内存所需的功耗。
在一些实施例中,第一存储器可以为电子设备处理器的二级缓存,例如SRAM;第二存储器可以为DDR。
在上述第一方面的一种可能的实现中,计步器驱动从第一存储器中获取第一计步数据,包括:计步器驱动在第二数据处理周期访问全局变量,获取第一计步数据。
可以理解,第二数据处理周期为计步器驱动更新当前步数的周期,第二数据处理周期可以与第一数据处理周期同步,第二数据处理周期也可以与第一数据处理周期不同步。在两者周期不同步时,计步器驱动从缓存中通过访问全局变量的方式直接得到第一计步数据(即当前步数),无需唤醒内存,减少了唤醒内存的频率,有效降低了唤醒休眠内存的功耗。
在上述第一方面的一种可能的实现中,第一存储器还存储有加速度计驱动,并且,计步器驱动在第二数据处理周期访问全局变量,获取第一计步数据,还包括:在第二数据处理周期内,计步器驱动以第二频率从加速度计驱动获取加速度计数据;计步器驱动检测到获取的加速度计数据大于等于第二数量,访问全局变量,获取第一计步数据,结束第二数据处理周期。
可以理解,在第二数据处理周期内,计步器驱动可以以第二频率从加速度驱动处订阅加速度计数据,计步器驱动检测到获取的加速度计数据满足第二数量时,例如满足50组加速度数据时,可以访问缓存中的全局变量,以获取第一计步数据(即当前步数),进而延长第二数据处理周期,减少访问缓存全局变量的频率,减少缓存的运行功耗。
第二方面,本申请还提供一种电子设备,该电子设备包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行上述第一方面的任一种可能的数据处理方法。
第三方面,本申请还提供一种计算机可读存储介质,存储介质上存储有指令,指令在计算机上执行时使计算机执行上述第一方面的任一种可能的数据处理方法。
第四方面,本申请实施例公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面的任一种可能的数据处理方法。
附图说明
图1示出了一种计步和运动状态的显示场景示意图;
图2A示出了一种手机100中行为识别和计步器的数据获取原理示意图;
图2B示出了一种行为识别和计步器分别唤醒内存的电流曲线图;
图3A根据本申请实施例示出了一种电子设备100采集计步器数据和运动状态数据的结构框图;
图3B根据本申请实施例示出了一种行为识别和计步器统一唤醒内存的电流曲线图;
图4A根据本申请实施例示出了一种电子设备100的硬件结构示意图;
图4B根据本申请实施例示出了一种电子设备100的软件结构框图;
图5A根据本申请实施例示出了一种数据处理方法的实施流程示意图;
图5B根据本申请实施例示出了一种行为识别流程和另一种行为识别流程的流程对比图;
图5C根据本申请实施例示出了一种计步器流程和另一种计步器流程的流程对比图;
图6示出了一种计步器和行为识别的运行流程示意框图;
图7根据本申请实施例示出了另一种计步器和行为识别的运行流程示意框图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本申请实施例中的技术方案进行详细的说明。
本申请的说明性实施例包括但不限于数据处理方法、电子设备和计算机可读存储介质等。
可以理解,本申请适用的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、上网本、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能电视、智能手表等、以及其中嵌入或耦接有一个或多个处理器、或具有计步功能和运动状态检测功能的其他电子设备,在此不做限制。下文以手机100为例进行说明,但是可以理解,本申请的技术方案不仅仅适用于手机。
图1示出了一种计步和运动状态的显示场景示意图。
参考图1,当手机100检测到用户的亮屏操作A1时,手机100由熄屏状态转为亮屏状态,并可以在界面上显示出当前步数和运动状态。界面上为当前步数提供了显示区域B1,为运动状态提供了显示区域B2,以便于用户实时查看当前步数和运动状态。
然而,检测到亮屏操作A1之前,手机100的操作系统处于休眠状态时,手机100的缓存仍然会不断运行行为识别和计步功能。由于用于实现行为识别和计步功能的算法对应的指令占用的存储空间较大,手机100的处理器中的缓存并不足以容纳用于实现行为识别和计步功能的算法对应的指令。因此,在一些实施例中,可以将用于实现行为识别和计步功能的算法对应的指令存储到手机100的内存中,从而手机100可以在需要进行行为识别和计步时,分别唤醒休眠状态的内存,并从内存中读取相应的指令来实现行为识别和计步。如此,可以避免在手机100的操作系统处于休眠状态时一直唤醒手机100的内存。
但是,如果手机100实现行为识别和计步功能的周期不同步,即行为识别功能和计步功能不是同时从内存中读取相关指令,会导致每次进行行为识别或计步都会唤醒手机100的内存,使得手机100的休眠内存频繁被唤醒,增加了内存的功耗。下面结合图2A和图2B对增加功耗的原理进行详细说明。
图2A示出了一种手机100中行为识别和计步器的数据获取原理示意图。
参考图2A,手机100内配置有缓存01和内存02。其中,缓存01内存储有加速度计驱动011、行为识别驱动012和计步器驱动013。内存02存储有行为识别算法库021。可以理解,由于缓存01内缓存空间较小,无法容纳复杂庞大的行为识别算法,因此,将行为识别算法库021设置于内存02中。
具体地,行为识别功能通过以下方式实现:
行为识别驱动012周期性获取加速度计驱动011所采集的加速度计数据,并调用行为识别算法库021中的行为识别算法计算加速度计数据,以确定用户的运动状态,并将其缓存于缓存01中。当相关应用(例如运动健康应用)向行为识别驱动012发送运动状态请求,则行为识别驱动012可以将运动状态上报至该应用,以使得用户可以从该应用获悉实时的运动状态。
而计步器功能通过以下方式实现:
计步器驱动013周期性获取加速度计驱动011所采集的加速度计数据,并调用行为识别算法库021中用于计步的算法计算加速度计数据,以确定用户的当前步数,并将其缓存于缓存01中。当相关应用(例如运动健康应用)向计步器驱动013发送计步请求,则计步器驱动013可以将当前步数上报至该应用,以使得用户可以从该应用获悉当前步数。
然而,图2A所示的方案中,运动状态和当前步数的更新通常是不同步的,如果手机100的内存处于休眠状态(例如手机100处于锁屏状态)。行为识别驱动012和计步器驱动013在实现各自的功能时,会分别唤醒高功耗的内存02以从内存02的行为识别算法库021中获取实现各自功能的指令,增加了休眠内存的唤醒功耗。
例如,假设手机100每500ms进行一次行为识别、每500ms进行一次计步。参考图2B,其横坐标为时间(times),单位为秒(s);纵坐标为手机100在飞行模式下的待机底层平均电流,单位为毫安(mA)。其中,P1和P3为行为识别驱动唤醒内存的功耗尖峰,P2和P4为计步器驱动唤醒内存的功耗尖峰。也就是说,在3s时刻到4s时刻期间(包括两个周期,一个周期为500ms),分别进行了两次计步功能和两次行为识别功能,内存02被唤醒4次。可以理解,行为识别驱动唤醒内存的功耗尖峰和计步器驱动唤醒内存的功耗尖峰周期性产生,周期性二次唤醒内存,使得休眠状态下的内存02功耗增加。
为了避免不断二次唤醒高功耗的内存导致休眠内存功耗增加的问题,本申请提供的实施例提供了一种数据处理方法,该方法应用于电子设备的内存处于休眠状态的场景。在刷新运动状态的单个周期中,行为识别驱动在唤醒内存时可以同步调用行为识别算法的行为识别功能和计步功能,分别计算出运动状态和当前步数。例如,通过接口1调用行为识别功能计算加速度计数据确定运动状态,通过接口2调用计步功能计算加速度计数据确定当前步数。由此,行为识别驱动获取运动状态和当前步数,并存储于缓存01中。在刷新当前步数的单个周期中,计步器驱动可以从行为识别驱动处获取其存储的当前步数,而无需再次唤醒内存。这使得在运动状态和当前步数的更新不同步时,刷新一次当前步数和刷新运动状态可以仅唤醒一次高功耗的内存,从而有效降低休眠内存的唤醒功耗。
在本申请一些实施例中,行为识别驱动2012可以将得到的当前步数存储为全局变量,并将该全局变量定义为行为识别驱动和计步器驱动均可访问。计步器驱动2013可以在低功耗的缓存中访问该全局变量,得到当前步数,无需再次唤醒高功耗的缓存。
可以理解,该全局变量为在函数体外部或代码段外部定义或声明的变量,其作用域从定义处到相应的文件结束,因此全局变量可以被定义为多个驱动均可直接访问。
参考图3A,以手机100为例,在运动状态的单个刷新周期内,缓存201中的行为识别驱动2012将传感器数据发送至内存202的行为识别算法库2021,同时调用用于计算运动状态的行为识别算法和用于计算当前步数的行为识别算法计算传感器数据,得到运动状态和当前步数。行为识别驱动2012获取运动状态和当前步数,并将上述两个数据均存储入缓存201内。而在当前步数的单个刷新周期内,缓存201内的计步器驱动2013可以从行为识别驱动2012处得到当前步数,无需唤醒高功耗的内存202。因此,即使运动状态和当前步数的更新周期不同步,高功耗的缓存周期性地被行为识别驱动唤醒,降低了高功耗缓存的唤醒频率,从而降低了休眠内存被唤醒产生的额外功耗。
进一步地,假设手机100每500ms进行一次行为识别、每500ms进行一次计步。参考图3B,其横坐标为时间(times),单位为秒(s);纵坐标为手机100在飞行模式下的待机底层平均电流,单位为毫安(mA)。在每个500ms的周期内,只有AR驱动唤醒一次内存,相较于图2B的实施例,每个500ms的周期内,都可以减少一次内存的唤醒,其峰值出现频率显著降低,例如P5、P6、P7,这使得内存功耗下降。
在本申请一些实施例中,该行为识别算法库可以通过预设接口的方式调用对应的算法,例如可以设置接口1调用用于计算运动状态的行为识别算法,并设置接口2调用用于计算步数的行为识别算法。上述接口可以是一种应用程序编程接口(applicationprogramming interface,API),其可以被指定协议定义,例如自定义的私有协议,针对定义接口的协议在此不做具体限制。
进一步地,在本申请一些实施例中,该行为识别算法库还可以被拆分为第一行为算法库和第二行为算法库。第一行为算法库设置于低功耗的缓存201内,而第二行为算法库设置于高功耗的内存202内。其中,第一行为算法库内包含的行为识别算法较为简单,仅能识别行走、跑步和静止一类的简单行为识别。而第二行为识别算法库内包含的行为识别算法较为复杂,可以精确识别出用户的生活行为场景,例如乘坐高铁、乘坐飞机或骑自行车等。由于复杂的行为识别算法体积较大,缓存无法容纳上述第二行为识别算法库。这可以减少从高功耗的内存所调用的算法数量,从而缩短内存被唤醒的时长、降低电子设备的休眠内存被唤醒产生的功耗。
在本申请一些实施例中,上文中行为识别驱动可以以第一频率刷新运动状态,计步器驱动可以以第二频率刷新当前步数,其中,上述第一频率和第二频率可以相等也可以不相等。
可以理解,上述第一频率和上述第二频率可以相等,例如两者均可为100赫兹,也可以为其他频率,在此不做具体限制。需要说明的是,即使第一频率的数值与第二频率的数值相等,运动状态和当前步数的刷新周期也可以是不同步的,即运动状态的刷新周期的起始时刻和当前频数的刷新周期的起始时刻不同。
在本申请一些实施例中,该低功耗的缓存201可以为静态随机存取存储器(staticrandom-access memory,SRAM),SRAM只要保持通电,里面储存的数据就可以恒常保持。在一些实施例中,缓存201可以设置于手机100的处理器内部。
该高功耗的内存202可以为双倍速率同步动态随机存储器(double data ratesynchronous dynamic random access memory,DDR SDRAM),DDR SDRAM为具有双倍数据传输率的同步动态随机存储器(synchronous dynamic random-access memory,SDRAM),是有一个同步接口的动态随机存储器。DDR SDRAM的数据传输速度为系统时钟频率的两倍,由于速度增加,其传输性能优于传统的SDRAM。在一些实施例中,内存202可以是设置于手机100的处理器的外部。
可以理解,本申请实施例所提供的技术方案适用于各种电子设备,可以包括但不限于手机、平板电脑、桌面型、膝上型、手持计算机、上网本、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能电视、智能手表等、以及其中嵌入或耦接有一个或多个处理器、或具有计步功能和运动状态检测功能的其他电子设备,在此不做限制。下面继续以电子设备为例,介绍本申请实施例提供的数据处理方法的具体实现过程。
图4A根据本申请实施例示出了一种电子设备100的硬件结构示意图。
如图4A所示,电子设备100可以包括处理器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等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,在此不做限制。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在一些实施例中,控制器根据处理器110的指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制,以执行本申请实施例提供的数据处理方法。
在一些实施例中,处理器110可以包括一个或多个接口。在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronousreceiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processorinterface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serialbus,USB)接口等。其中,USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合加速度传感器180E,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合加速度传感器180E,使处理器110与加速度传感器180E通过I2C总线通信,实现电子设备100的计步器功能。
例如,本申请实施例中,处理器110可以通过I2C接口耦合加速度传感器180E,使处理器110与加速度传感器180E通过I2C总线接口通信,当用户携带电子设备运动时,该加速度传感器180E可以将用户运动所产生的步数传递给处理器110,以实现运动数据的上报功能。与此同时,处理器110还可以根据加速度传感器180E上报的用户步数信息控制显示屏194上的界面显示,处理器110和显示屏194通过DSI接口通信,进而控制电子设备100的显示屏194上步数信息的数据显示。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。在一些实施例中,该存储器可以包括前述缓存201,可以用于设置行为识别驱动、计步器驱动和加速度计驱动。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括通用串行总线(universal serial bus,USB)接口等。其中,USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。调制解调处理器可以包括调制器和解调器。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(blue-tooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。
显示屏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)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过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等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
视频编解码器用于对数字视频压缩或解压缩。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储数据区可存储电子设备100使用过程中所创建的数据(比如拍摄得到的视频数据等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
在一些实施例中,内部存储器121可以包括前述内存202,内存202的存储空间可以用于设置行为识别算法库。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测该触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换、计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器。
环境光传感器180L用于感知环境光亮度。
指纹传感器180H用于采集指纹。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。
另外,在本申请实施例中,可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一项功能,需要和其他设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
在本申请实施例中,电子设备的计步器(例如,但不限于,加速度传感器180E等)检测用户的运动步数变化,并根据运动应用的请求上报步数,处理器根据用户步数的变化,控制显示屏上运动数据的显示。
本领域技术人员可以理解,本申请实施例提供的运动数据的处理方法,可以应用于对运动数据进行请求处理并显示的场景中。
下面以安卓(AndroidTM)系统为例,结合图4B示例性的说明运动数据的传输过程。
图4B根据本申请实施例示出了一种电子设备100的软件结构框图。
参考图4B,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。分层架构可将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层440、应用程序框架层430(framework,FWK)、安卓运行时(Android runtime)和系统库420,以及内核层(Kernel)410以及传感集线器层400(也称为sensorhub层)。
应用程序层440可以包括一系列的应用程序,例如运动健康441,可以用于为用户提供当前步数和运动状态信息。
应用程序框架层430为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层430包括一些预先定义的函数。例如,应用程序框架层430包括传感器管理器431,可以为应用程序分发消息,例如,可以将运动健康441的使能信息批处理分发出去,例如分发至系统库420,形成批处理的数据信息请求,例如可以为批处理的步数请求或批处理的运动状态请求。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
在本申请实施例中,系统库420中可以包括传感器模块421,用于将批处理分发的使能信息转化为各类信息的请求发送至内核层410中,以使得内核层410中的传感器驱动获取到各类信息的请求,进而去获取当前步数或运动状态。
应用程序层440和应用程序框架层430运行在虚拟机中。虚拟机将应用程序层440和应用程序框架层430的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
内核层410(Kernel层)为电子设备100的各种硬件提供底层的驱动,例如,可以为所有传感器提供相应的传感器驱动411,用于为传感器集线器层400提供相应的数据传输通路。
传感器集线器层400(sensorhub层)为一种基于低功耗微控单元(microcontroller unit,MCU)和轻量级实时操作系统(real-time operating system,RTOS)之上的软硬件结合的解决方案,其主要功能是连接并处理来自各传感器设备的数据。传感器集线器层400中可以提供各类硬件驱动,例如为计步器提供计步器驱动2013,以请求当前步数;并且,还可以提供行为识别驱动2012,行为识别驱动2012可以请求运动状态,并且在请求运动状态时,调用运动状态的算法库获取运动状态的接口和获取当前步数的接口,以在获取运动状态的同时获取到当前步数信息,进而使得计步器驱动2013可以从行为识别驱动2012中访问到当前步数,以返回至应用程序层440的运动健康441。
需要说明的是,本申请实施例虽然以安卓(Android)系统为例进行说明,但是其基本原理同样适用于基于“IOS”、“Windows”或“Linux”等操作系统的电子设备。
本申请实施例提供的一种应用场景中,用户在手机中部署运动健康应用,并在运动的过程中携带该手机。用户的运动可以包括但不限于:快走、慢跑、变速跑或其它类型的运动,还可以识别用户的生活行为场景,例如乘坐高铁、地铁和骑自行车等。
在用户的运动过程中,电子设备100中的计步器2013可以实时的获取用户在运动过程中的步数,并将该步数传输至应用程序层440中的运动健康441。运动健康441可以通过用户界面或者语音播报的方式输出该步数;或,运动健康441可以基于该步数计算用户当前步频,并通过用户界面或者语音播报的方式输出该步频。
下面以结合上述图4B,详细说明本申请实施例中获取当前步数和运动状态的软件流程。
参考图4B,在一些实施例中,运动健康441向应用程序框架层430中的传感器管理器431发送使能(enable)信息,例如可以从加速计驱动(图中未示出)处根据预设频率订阅上述使能信息。通过让系统库420中的传感器(sensor)模块421将应用的使能信息通过标准通路下发为批处理的步数请求和运动状态请求。将步数请求和运动状态请求下发至内核层410中的传感器驱动411内,由传感器驱动411向传感器集线器层400(sensorhub层)的计步器驱动2013下发步数请求,并向传感器集线器层400的行为识别驱动2012下发运动状态请求。以使得计步器驱动2013能够感知到运动健康441所发送的步数请求命令,并使得行为识别驱动2012能够感知到运动健康441所发送的运动状态请求命令,从而向该应用上报当前步数和运动状态。
进一步地,在本申请实施例中,行为识别驱动2012在获取运动状态时可以调用两个接口,一个接口用于获取运动状态,另一个接口用于获取当前步数。使得行为识别驱动2012可以同时获取到运动状态和当前步数。继而,行为识别驱动2012会将当前步数存储为行为识别驱动2012也可访问的全局变量,并将运动状态信息上报给运动健康441。而计步器驱动2013可以通过访问行为识别驱动2012的全局变量获取到当前步数,并将当前步数上报至运动健康441。
可以理解,对于上述行为识别驱动2012和计步器驱动2013数据交互的具体实现过程将在下文中结合相关附图进行详细说明,为简明起见,在此不做赘述。
基于上述图4A所示的电子设备100的结构、以及图4B所示的系统架构内的交互过程,以下结合具体实施例以及相关附图对本申请提供的一种数据处理方法的具体实现过程进行详细说明。
下面结合相关服务,详细介绍本申请实施例提供的一种数据处理方法的具体实施过程。
图5A根据本申请实施例示出了一种数据处理方法的实施流程示意图。
可以理解,参考图5A,加速度计驱动2011、行为识别驱动2012、计步器驱动2013和第一行为算法库211均设置于低功耗的缓存内,而第二行为识别算法库212则设置于高功耗的内存内。其中,第一行为算法库211内包含的行为识别算法较为简单,仅能识别行走、跑步和静止一类的简单行为识别。而第二行为识别算法库212内包含的行为识别算法较为复杂,可以进一步识别出用户的大量生活行为场景,例如乘坐高铁、乘坐飞机或骑自行车等,复杂的行为识别算法体积较大,因此缓存无法容纳上述第二行为识别算法库212。因此,本申请中,更新运动状态和当前步数的周期内,仅需单次唤醒高功耗的内存,即可得到行为状态数据和当前步数数据,进而有效降低电子设备100的功耗。
具体地,如图5A所示,该流程包括以下步骤:
S501,行为识别驱动2012从加速度计驱动2011处以第一频率订阅的加速度计数据。
可以理解,行为识别驱动2012可以通过获取加速度计驱动2011下发的使能指令的方式,订阅加速度计驱动2011的加速度计数据。该使能指令中包含使能参数,例如订阅的频率,从而控制行为识别驱动2012的唤醒频率。
在一些实施例中,上述第一频率可以为100赫兹,即每隔10毫秒加速度计驱动2011下发一次使能指令。
S502,行为识别驱动2012判断缓存的加速度计数据是否大于第一数量。若该加速度计数据大于第一数量,则执行下文步骤S503,以将加速度计数据发送至第一行为识别算法库211中;若该加速度计数据小于等于该第一数量,则继续执行步骤S501,以继续获取加速度计数据。
可以理解,行为识别驱动2012缓存加速度计数据满足第一数量时,再向第一行为识别算法库211发送加速度计数据,则可以延长行为识别驱动2012的唤醒周期,减少行为识别驱动2012的运行功耗。
在一些实施例中,上述第一数量可以为50组,即当缓存的加速度计数据大于50组,向第一行为识别算法库211发送加速度计数据。
S503,行为识别驱动2012向第一行为识别算法库211发送加速度计数据。
可以理解,第一行为识别算法库211与行为识别驱动2012均在低功耗的缓存内,因此先向第一行为识别算法库211发送加速度计数据,获取对运动状态的简单判断,然后发送至高功耗的内存中的第二行为识别算法库212中,避免在高功耗的内存内产生二次交互,减少电子设备100的功耗。
可以理解,第一行为识别算法库211中的行为识别算法仅能识别走、跑、静止这三个运动状态,其算法简单,算法占用的存储空间也小。因此,在将加速度计数据输入第一行为识别算法库211后,可以对当前运动状态进行初步分类。而对运动状态的进一步精确判断,例如骑行、坐地铁和坐高铁,则需要调用更复杂的算法,更复杂的算法设置于内存中的第二行为识别算法库212中。
例如,根据加速度计数据判断电子设备运动速度表征了用户正在跑步,但是跑步的粗分类判断依据仅为大于走路的速度阈值,其中可能包含骑行、坐地铁和坐高铁等精确分类。此时,再执行下文中的步骤S505至S506,将加速度计数据发送至第二行为算法库212中,调用可以识别骑行、坐地铁、坐高铁等精确运动状态的行为识别算法,对当前运动状态进行精确分类,精确确定用户的运动状态。
可以理解,将第一行为识别算法库211设置于缓存中,就是将对运动状态的初步判断过程在缓存中运行,可以有效减少内存的运行功耗。
在一些实施例中,用户仅需要初步判断的运动状态,可以仅将加速度计数据发送至第一行为识别算法库211中得到走、跑或静止的运动状态,并计算出步频,无需将加速度计数据发送至第二行为识别算法库212中,无需唤醒内存,即可得到运动状态和当前步数。
S504,行为识别驱动2012判断第一数量的加速度计数据是否传输完毕。若已传输满足第一数量的加速度计数据,则执行下文中的步骤S505,以向第二行为识别算法库212发送加速度计数据;若第一数量的加速度计数据未完成传输,则继续执行步骤S503,以继续传输加速度计数据。
可以理解,行为识别驱动2012待第一数量的加速度计数据传输完毕后,再启动对当前运动状态的简单判断,进而可以延长在低功耗的缓存内的第一行为识别算法库211的唤醒周期,减少休眠内存的唤醒功耗。
在一些实施例中,行为识别驱动2012可以用添加标签的方式对数据传输进行计数,当数据传输完毕,则所有数据均被打上相应的标签,统计标签个数满足第一数量,即可确定第一数量的加速度计数据传输完毕。
S505,行为识别驱动2012向第二行为算法库212发送加速度计数据。
可以理解,行为识别驱动2012待第一数量的加速度计数据传输完毕后,再向第二行为识别算法库212发送加速度计数据以进行运动状态的精确判断,进而可以延长在高功耗的内存内的第二行为识别算法库212的唤醒周期,减少休眠内存的唤醒功耗。并且,还可以保障在更新运动状态和当前步数的周期内仅唤醒一次内存,减少休眠内存的唤醒功耗。
示例性地,第二行为识别算法库212可以为行为识别驱动2012提供调用算法的函数接口,例如调用行为识别功能的接口和调用计步功能的接口,使得行为识别驱动2012调用上述两个接口时,同时调用用于计算步数的算法和计算运动状态的算法,以同步获取运动状态和当前步数。
在一些实施例中,第二行为算法库212的运动状态的相关算法调用接口可以命名为AlgGetResult_AR接口,第二行为算法库212的当前步数的相关算法调用接口可以命名为AlgGetResult_Pedometer。行为识别驱动2012同时调用上述两个接口以计算出当前运动状态和当前步数。
可以理解,上述函数命名仅为便于理解的示例,也可以为其他自定义名称,在此不做限制。
S506,第二行为识别算法库212向行为识别驱动2012发送当前运动状态和当前步数。
可以理解,第二行为识别算法库212使用被调用的算法计算加速度计数据,得到运动状态和当前步数。将运动状态和当前步数传输至缓存内的行为识别驱动2012中。
可以理解,对于运动状态,行为识别驱动2012可以运行下文中的S512以向应用程序层340中的相应应用(例如运动健康341)返回该运动状态。对于当前步数,行为识别驱动2012可以运行下文中的S507以将当前步数记录进全局变量,便于计步器驱动2013直接在低功耗的缓存内访问得到当前步数。
S507,行为识别驱动2012将当前步数记录进全局变量。
示例性地,行为识别驱动2012可以将当前步数记录为计步器驱动2013和行为识别驱动2012均可访问的全局变量,以使得计步器驱动2013无需再次调用第二行为算法库212来获取当前步数,减少了一次对高功耗的内存的唤醒,而是在低功耗的缓存内进行,有效减少了电子设备100的功耗。
S508,计步器驱动2013从加速度计驱动2011以第二频率订阅加速度计数据。
示例性地,计步器驱动2013可以通过获取加速度计驱动2011下发的使能指令的方式,以第二频率订阅加速度计驱动2011的加速度计数据。
可以理解,上述步骤S508的执行过程可以参考上文中步骤S501的具体实施过程,在此不做赘述。
S509,计步器驱动2013判断缓存的加速度计数据是否大于第二数量。若该加速度计数据大于第二数量,则执行下文步骤S510,以读取全局变量获取当前步数;若该加速度计数据小于等于该第二数量,则继续执行步骤S508,以继续获取加速度计数据。
可以理解,计步器驱动2013缓存加速度计数据满足第二数量时,再读取全局变量获取当前步数,则可以延长计步器驱动2013的唤醒周期,减少计步器驱动2013的运行功耗。
可以理解,该第二数量可以与上文中S502和S504中的第一数量相等,也可以不相等。
S510,计步器驱动2013从行为识别驱动2012中读取全局变量获取当前步数。
可以理解,全局变量被定义为计步器驱动2012和行为识别驱动2012均可访问,因此,计步器驱动2013从行为识别驱动2012中可以直接访问全局变量,以获取当前步数。该步骤S510在低功耗的缓存内进行,无需唤醒高功耗的内存,减少了一次对高功耗的内存的唤醒,有效减少了电子设备100的功耗。
S511,计步器驱动2013根据亮灭屏状态上报步数。
可以理解,计步器驱动2013可以在电子设备100的亮屏状态上报步数,以便于用户查看当前步数。
在一些实施例中,计步器驱动2013可以在亮灭屏状态注册一个监听服务,当监听到亮屏状态消息,则计步器驱动2013上报当前步数。
示例性地,内核层310具有亮屏状态节点,并为计步器驱动2013提供获取亮屏状态消息的标准接口,若确定从灭屏状态切换为亮屏状态,则可以通知到传感器集线器层300,进而使得传感器集线器层300中的计步器驱动2013可以监听到亮屏状态消息。
S512,行为识别驱动2012根据订阅情况上报运动状态。
可以理解,行为识别驱动2012可根据订阅频率实时上报运动状态,例如每次获取到运动状态即实时上报,以使得用户可以实时确认自己的运动状态,为用户提供良好的使用体验。
可以理解,基于上述步骤S511至S512,本申请示例的数据处理方法,可以单次唤醒高功耗的内存中的第二行为识别算法库,行为识别驱动可以同时获取到当前步数和运动状态,并将当前步数保存为计步器驱动可以访问的全局变量。计步器驱动可以异步在低功耗的缓存中访问全局变量确定当前步数,从而减少了一次对高功耗的内存的唤醒,有效减少了电子设备100的功耗。
下面结合图5B进一步详细说明行为识别流程的具体实施方式。
图5B示出了行为识别流程5000的示意框图,以及根据本申请实施例示出了行为识别流程5100的示意框图。
可以理解,行为识别流程5000中各步骤的执行主体可以均为上述行为识别驱动012,为避免重复描述,以下描述各步骤执行内容时将不再重复各步骤的执行主体。
参考图5B,行为识别流程5000的具体实施步骤如下:
S5001,获取加速度计数据。
S5002,判断缓存的加速度计数据量是否大于50组,若是,则向第一行为识别算法库211发送加速度计数据;若否,则继续执行S5001,获取加速度计数据。
S5003,将加速度计数据输入第一行为识别算法库211。
S5004,将加速度计数据输入第二行为识别算法库212。
S5005,判断50组加速度计数据是否传输完毕,若是,则执行S5006,读取运动状态并记录;若否,则继续执行S5003,将加速度计数据输入第一行为识别算法库211。
S5006,读取当前运动状态并记录。
S5007,根据订阅情况上报运动状态。
可以理解,上述步骤S5001至S5007,仅在将加速度计数据输出时,判断加速度计数据是否传输完毕,无法保障先输入缓存内的第一行为识别算法库211,后输入内存内的第二行为识别算法库212,可能会导致重复唤醒内存。
由此提出了行为识别流程5100来避免保障两个算法库的加速度计数据传输顺序。可以理解,行为识别流程5100中各步骤的执行主体可以均为上述行为识别驱动2012,为避免重复描述,以下描述各步骤执行内容时将不再重复各步骤的执行主体。
该行为识别流程5100的具体实施步骤如下:
S5101,获取加速度计数据。
S5102,判断缓存的加速度计数据量是否大于50组,若是,则向第一行为识别算法库211发送加速度计数据;若否,则继续执行S5101,获取加速度计数据。
S5103,将加速度计数据输入第一行为识别算法库211。
S5104,判断50组加速度计数据是否传输完毕,若是,则向第二行为识别算法库212发送加速度计数据;若否,则继续执行S5105,将加速度计数据输入第二行为识别算法库212。
S5105,将加速度计数据输入第二行为识别算法库212。
S5106,判断50组加速度计数据是否传输完毕,若是,则执行S5107,记录当前运动状态;若否,则继续执行S5105,将加速度计数据输入第二行为识别算法库212。
S5107,读取当前运动状态并记录。
S5108,读取当前步数并记录当前步数为全局变量。
可以理解,上述步骤S5101至S5108的具体实施方式可以参考上文中的步骤S501至步骤S507。
S5109,根据订阅情况上报运动状态。
可以理解,上述步骤S5109的具体实施方式可以参考上文中的步骤S512。
可以理解,基于上述步骤S5101至S5109,可以在向缓存内的第一行为识别算法库211传输数据时确保完成传输后,再向第二行为识别算法库212传输加速度计数据,进而保障仅唤醒一次内存。
下面结合图5C进一步详细说明计步器流程的具体实施方式。
图5C示出了计步器流程5200的示意框图,以及根据本申请实施例示出了计步器流程5300的示意框图。
可以理解,计步器流程5200各步骤的执行主体可以均为上述计步器驱动013,为避免重复描述,以下描述各步骤执行内容时将不再重复各步骤的执行主体。
计步器流程5200的具体实施步骤如下:
S5201,从加速度计器件201处获取加速度计数据。
S5202,将加速度计数据发送至行为识别算法库021。
S5203,从第四行为识别算法库0214读取当前步数,记录当前状态。
S5204,根据亮灭屏状态上报步数。
可以理解,通过上述步骤S5201至步骤S5204,计步器驱动需要调用该位于内存中的行为识别算法库中的算法数据。即,在运动状态和当前步数的单次更新周期内,计步器驱动需要唤醒高功耗的内存,才能获取到当前步数。
可以理解,计步器流程5300各步骤的执行主体可以均为上述计步器驱动2013,为避免重复描述,以下描述各步骤执行内容时将不再重复各步骤的执行主体。
计步器流程5300的具体实施步骤如下:
S5301,从加速度计器件201获取加速度计数据。
S5302,判断缓存的加速度计数据量是否大于第二数量,若是,则执行S5303,从全局变量读取当前步数记录当前状态;若否,则继续执行S5301,以获取加速度计数据。
S5303,从全局变量读取当前步数记录当前状态。
S5304,根据亮灭屏状态上报步数。
可以理解,上述步骤S5301至S5304的执行过程可以参考上文中步骤S508至S511的具体实施过程,在此不做赘述。
可以理解,通过上述步骤S5301至S5304,计步器驱动无需调用内存,仅需要在缓存内的行为识别驱动存储的全局变量中获取当前步数即可。即,在运动状态和当前步数的单次更新周期内,计步器驱动不唤醒内存,仅靠缓存即可获取到当前步数。
下面结合图6和图7进一步详细说明本申请实施例提供的数据处理方法的具体实施方式。
图6示出了一种计步器和行为识别的运行流程示意框图。
参考图6,若也将行为识别算法库021拆分为包含简单行为识别算法的第三行为识别算法库0213和包含精确行为识别算法的第四行为识别算法库0214,并将第三行为识别算法库0213设置于低功耗的缓存内,将第四行为识别算法库0214设置于高功耗的内存内。图6所示的实施方式仍需要2次唤醒第四行为识别算法库0214,导致多一次唤醒高功耗的内存,这会增加电子设备100的功耗。
图6所示的具体流程可以分为计步器流程601和行为识别流程602。
可以理解,计步器流程601各步骤的执行主体可以均为上述计步器驱动013,为避免重复描述,以下描述各步骤执行内容时将不再重复各步骤的执行主体。
计步器流程601的具体实施步骤如下:
S6011,从加速度计器件201处获取加速度计数据,并发送至行为识别算法库021。
S6012,从第四行为识别算法库0214读取当前步数,记录当前状态。
S6013,根据亮灭屏状态上报步数。
继续参考图6,可以理解,行为识别流程602各步骤的执行主体可以均为上述行为识别驱动012,为避免重复描述,以下描述各步骤执行内容时将不再重复各步骤的执行主体。
行为识别流程602的具体实施步骤如下:
S6021,从加速度计器件201处获取加速度计数据。
S6022,判断缓存的加速度计数据量是否大于预设阈值,若是,则向第四行为识别算法库0214发送加速度计数据;若否,则继续执行S6021,获取加速度计数据。
S6023,将加速度计数据发送至第三行为识别算法库0213。
S6024,从第三行为识别算法库0213中读取当前运动状态并记录。
S6025,根据订阅情况上报运动状态。
可以理解,基于上述计步器流程601和行为识别流程602,计步器流程601和行为识别流程602均需要向该位于高功耗的内存内的第四行为识别算法库0214请求数据,在运动状态和当前步数的单次更新周期内,2次唤醒高功耗的内存,才能获取到当前步数和运动状态,导致休眠内存被唤醒的功耗增加。
图7根据本申请实施例示出了另一种计步器和行为识别的运行流程示意框图。
参考图7,在本申请一些实施例中,行为识别算法库021拆分为包含简单行为识别算法的第一行为识别算法库211和包含精确行为识别算法的第二行为识别算法库212,并将第一行为识别算法库211设置于低功耗的SRAM缓存空间内,将第二行为识别算法库212设置于高功耗的DDR缓存空间内。图7所示的实施流程仅需要单次唤醒第二行为识别算法库212,减少唤醒高功耗的DDR缓存的次数,有效减少了电子设备100的功耗。
图7所示的具体流程可以分为计步器流程701和行为识别流程702。
可以理解,计步器流程701各步骤的执行主体可以均为上述计步器驱动2013,为避免重复描述,以下描述各步骤执行内容时将不再重复各步骤的执行主体。
计步器流程701的具体实施步骤如下:
S7011,从加速度计器件201获取加速度计数据。
S7012,判断缓存的加速度计数据量是否大于第二数量,若是,则执行S7013,从全局变量读取当前步数记录当前状态;若否,则继续执行S7011,以获取加速度计数据。
S7013,从全局变量读取当前步数记录当前状态。
S7014,根据亮灭屏状态上报步数。
可以理解,上述步骤S7011至S7014的执行过程可以参考上文中步骤S508至S511的具体实施过程,在此不做赘述。
继续参考图7,可以理解,行为识别流程702各步骤的执行主体可以均为上述行为识别驱动2012,为避免重复描述,以下描述各步骤执行内容时将不再重复各步骤的执行主体。
S7021,从加速度计器件201获取加速度计数据。
S7022,判断缓存的加速度计数据量是否大于第一数量,若是,则执行S7023,将加速度计数据发送至第一行为识别算法库211;若否,则继续执行S7021,以获取加速度计数据。
S7023,从第一行为识别算法库211将加速度计数据发送至第二行为识别算法库212。
S7024,从第二行为识别算法库212读取当前运动状态并记录当前步数为全局变量。
可以理解,上述步骤S7021至S7024的执行过程可以参考上文中步骤S501至S507的具体实施过程,在此不做赘述。
S7025,根据订阅情况上报运动状态。
可以理解,上述步骤S7025的执行过程可以参考上文中步骤S512的具体实施过程,在此不做赘述。
可以理解,基于上述计步器流程701和行为识别流程702,仅有行为识别流程702向该位于高功耗的DDR内的第二行为识别算法库212请求数据,通过在更新运动状态和当前步数的单个周期内,仅单次唤醒高功耗的DDR,就可以同时获取到当前步数和运动状态。计步器驱动2013只需要在低功耗的SRAM缓存空间内访问行为识别驱动2012的全局变量,即可读取当前步数。有效减少了高功耗的DDR内存的唤醒次数和唤醒频率,降低了内存的唤醒功耗。
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请实施例公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
本申请实施例的公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请实施例公开旨在说明而非限制本文所讨论的概念的范围。
Claims (10)
1.一种数据处理方法,应用于电子设备,其特征在于,所述电子设备包括第一存储器和第二存储器,所述第一存储器存储有行为识别驱动和计步器驱动,所述第二存储器存储有第一算法库;
所述方法包括:
所述行为识别驱动在第一数据处理周期获取到第一传感器数据;
所述行为识别驱动调用所述第二存储器中的第一算法库对所述第一传感器数据进行处理,得到第一行为识别数据和第一计步数据;
所述行为识别驱动在所述第一存储器内存储所述第一行为识别数据和所述第一计步数据;
所述计步器驱动从所述第一存储器中获取所述第一计步数据。
2.根据权利要求1所述的方法,其特征在于,所述第一算法库包括第一接口和第二接口,并且,
所述行为识别驱动调用所述第二存储器中的第一算法库对所述第一传感器数据进行处理,得到第一行为识别数据和第一计步数据,包括:
所述行为识别驱动调用所述第一接口对所述第一传感器数据进行处理,确定第一行为识别数据;
所述行为识别驱动调用所述第二接口对所述第一传感器数据进行处理,确定第一计步数据。
3.根据权利要求1所述的方法,其特征在于,所述第一存储器还存储有加速度计驱动,所述第一传感器数据包括加速度计数据,并且,
所述行为识别驱动在第一数据处理周期获取到第一传感器数据,还包括:
在所述第一数据处理周期内,所述行为识别驱动以第一频率从所述加速度计驱动获取所述加速度计数据。
4.根据权利要求3所述的方法,其特征在于,所述行为识别驱动调用所述第二存储器中的第一算法库对所述第一传感器数据进行处理,得到第一行为识别数据和第一计步数据,包括:
所述行为识别驱动在所述第一存储器内存储所述加速度计数据;
对应于已存储的加速度计数据的数量大于等于第一数量,所述行为识别驱动调用所述第二存储器中的第一算法库对所述第一传感器数据进行处理,得到第一行为识别数据和第一计步数据。
5.根据权利要求4所述的方法,其特征在于,所述第一存储器还存储有第二算法库,并且,
所述对应于已存储的加速度计数据的数量大于等于第一数量,所述行为识别驱动调用所述第二存储器中的第一算法库对所述第一传感器数据进行处理,得到第一行为识别数据和第一计步数据包括:
所述行为识别驱动将第一数量的所述加速度计数据输入所述第二算法库;
所述行为识别驱动检测到第一数量的所述加速度计数据已传输至所述第二算法库,将第一数量的所述加速度计数据输入所述第一算法库,得到所述第一行为识别数据和所述第一计步数据。
6.根据权利要求1所述的方法,其特征在于,所述第一存储器为所述电子设备处理器的缓存,所述第二存储器为所述电子设备的内存;并且,
所述行为识别驱动在所述第一存储器内存储所述第一行为识别数据和所述第一计步数据,包括:
所述行为识别驱动将所述第一行为识别数据以原格式存储于所述缓存内,以及将所述第一计步数据存储为全局变量,其中,所述全局变量被定义为所述行为识别驱动和所述计步器驱动均可访问的变量。
7.根据权利要求6所述的方法,其特征在于,所述计步器驱动从所述第一存储器中获取所述第一计步数据,包括:
所述计步器驱动在第二数据处理周期访问所述全局变量,获取所述第一计步数据。
8.根据权利要求7所述的方法,其特征在于,所述第一存储器还存储有加速度计驱动,并且,
所述计步器驱动在第二数据处理周期访问所述全局变量,获取所述第一计步数据,还包括:
在所述第二数据处理周期内,所述计步器驱动以第二频率从所述加速度计驱动获取加速度计数据;
所述计步器驱动检测到获取的所述加速度计数据大于等于第二数量,访问所述全局变量,获取所述第一计步数据,结束所述第二数据处理周期。
9.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个程序,当一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至8中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1至8中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310816813.7A CN117707322B (zh) | 2023-07-04 | 2023-07-04 | 数据处理方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310816813.7A CN117707322B (zh) | 2023-07-04 | 2023-07-04 | 数据处理方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117707322A true CN117707322A (zh) | 2024-03-15 |
CN117707322B CN117707322B (zh) | 2024-09-06 |
Family
ID=90144946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310816813.7A Active CN117707322B (zh) | 2023-07-04 | 2023-07-04 | 数据处理方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707322B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118426873A (zh) * | 2024-06-27 | 2024-08-02 | 荣耀终端有限公司 | 数据处理方法、电子设备、存储介质及芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160018879A1 (en) * | 2014-07-16 | 2016-01-21 | Mediatek Inc. | Power-saving method and associated electronic device |
CN107329965A (zh) * | 2013-10-02 | 2017-11-07 | 菲特比特公司 | 用于使活动跟踪设备与计算设备数据同步的方法、系统和设备 |
CN112486258A (zh) * | 2020-11-24 | 2021-03-12 | 歌尔科技有限公司 | 可穿戴设备及其计步方法、计算机存储介质 |
CN115727870A (zh) * | 2021-08-31 | 2023-03-03 | 华为技术有限公司 | 数据处理方法、装置及终端设备 |
-
2023
- 2023-07-04 CN CN202310816813.7A patent/CN117707322B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329965A (zh) * | 2013-10-02 | 2017-11-07 | 菲特比特公司 | 用于使活动跟踪设备与计算设备数据同步的方法、系统和设备 |
US20160018879A1 (en) * | 2014-07-16 | 2016-01-21 | Mediatek Inc. | Power-saving method and associated electronic device |
CN112486258A (zh) * | 2020-11-24 | 2021-03-12 | 歌尔科技有限公司 | 可穿戴设备及其计步方法、计算机存储介质 |
CN115727870A (zh) * | 2021-08-31 | 2023-03-03 | 华为技术有限公司 | 数据处理方法、装置及终端设备 |
Non-Patent Citations (1)
Title |
---|
SERKAN BALLI等: "Human Activity Recognition from Smart Watch Sensor Data Using a Hybrid of Principal Component Analysis and Random Forest Algorithm", 《MEASUREMENT AND CONTROL》, vol. 52, no. 1, 28 February 2019 (2019-02-28), pages 37 - 45 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118426873A (zh) * | 2024-06-27 | 2024-08-02 | 荣耀终端有限公司 | 数据处理方法、电子设备、存储介质及芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN117707322B (zh) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109814766B (zh) | 一种应用显示方法及电子设备 | |
CN111316199B (zh) | 一种信息处理方法及电子设备 | |
CN111553846B (zh) | 超分辨率处理方法及装置 | |
WO2023065873A1 (zh) | 帧率调整方法、终端设备及帧率调整系统 | |
CN113625860B (zh) | 模式切换方法、装置、电子设备及芯片系统 | |
CN111782879B (zh) | 模型训练方法及装置 | |
US11995317B2 (en) | Method and apparatus for adjusting memory configuration parameter | |
CN115079886B (zh) | 二维码识别方法、电子设备以及存储介质 | |
CN115292052A (zh) | 内存回收方法、电子设备及计算机可读存储介质 | |
CN117707322B (zh) | 数据处理方法、电子设备和存储介质 | |
CN113177229A (zh) | 数据处理方法及相关装置 | |
WO2022166435A1 (zh) | 分享图片的方法和电子设备 | |
CN111381996A (zh) | 内存异常处理方法及装置 | |
CN111524528B (zh) | 防录音检测的语音唤醒方法及装置 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN111104209A (zh) | 一种处理任务的方法及相关设备 | |
WO2022188511A1 (zh) | 语音助手唤醒方法及装置 | |
WO2022170866A1 (zh) | 数据传输方法、装置及存储介质 | |
CN111836226B (zh) | 数据传输控制方法、装置及存储介质 | |
CN114489469A (zh) | 一种数据读取方法、电子设备及存储介质 | |
CN114816028A (zh) | 屏幕刷新方法、电子设备和计算机可读存储介质 | |
CN116700463B (zh) | 一种活动识别方法及相关设备 | |
CN111581119A (zh) | 页面回收方法及装置 | |
WO2024152741A1 (zh) | 屏幕控制的方法和电子设备 | |
CN116089109B (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 |