CN113296597B - 一种功耗控制方法及终端设备 - Google Patents
一种功耗控制方法及终端设备 Download PDFInfo
- Publication number
- CN113296597B CN113296597B CN202110502357.XA CN202110502357A CN113296597B CN 113296597 B CN113296597 B CN 113296597B CN 202110502357 A CN202110502357 A CN 202110502357A CN 113296597 B CN113296597 B CN 113296597B
- Authority
- CN
- China
- Prior art keywords
- time
- processing module
- data
- frame
- starting time
- 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
Images
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/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供了一种功耗控制方法及终端设备。该方法中,当终端设备中的第一处理模块对接收到的一帧数据进行处理的工作时间与第二处理模块对接收到一帧数据进行处理的工作时间趋近于重叠时,第一处理模块可以对接收到的一帧数据进行处理,从而使得终端设备中的第一处理模块和第二处理模块在近似的时间段内访问存储资源,有利于降低终端设备的功耗。
Description
技术领域
本申请涉及电子通信领域,尤其涉及一种功耗控制方法及终端设备。
背景技术
随着移动互联网的发展,用户使用终端设备观看视频内容的频率越来越高,终端设备播放视频时的功耗成为用户评价终端设备性能的指标之一。
目前,根据实际播放视频的场景,终端设备可以通过调整同步动态随机存取存储器(Synchronous Dynamic Random Access Memory,SDRAM)的频率和电压来降低终端设备的功耗。但通过调整SDRAM的频率和电压来降低终端设备的功耗存在以下缺点:在SDRAM的频率被调整为最低电压能够支持的频率时,即使继续降低SDRAM的频率,也不能再减少终端设备的功耗。或者,在 SDRAM的最低频率被确定后,SDRAM所需的最低电压也随即被确定,也不能再减少终端设备的功耗。因此,如何更有效地降低终端设备功耗成为待解决的问题。
发明内容
本申请提供一种功耗控制方法,该方法能够更有效降低终端设备的功耗。
第一方面,本申请实施例提供了一种功耗控制方法,应用于包括第一处理模块、第二处理模块的终端设备中,其中,第一处理模块和第二处理模块通过总线相连接。该方法包括:
第一处理模块获取第一起始时刻,该第一起始时刻为第一处理模块检测到一帧数据的时刻;第二处理模块获取第二起始时刻,该第二起始时刻为第二处理模块检测到一帧数据的时刻,该第二起始时刻位于第一起始时刻之前,且第一起始时刻与第二起始时刻的差值最小;若第一起始时刻与第二起始时刻之间的差值大于或等于第一阈值,或者,若第一起始时刻与第二起始时刻之间的差值小于或等于第二阈值,第一处理模块对检测到的一帧数据进行处理;第一阈值和第二阈值是根据第二处理模块的帧率、第二处理模块处理一帧数据的时间和第一处理模块处理一帧数据的平均时间确定的。
在一种实施方式中,若第一起始时刻与第二起始时刻之间的差值小于第一阈值,且第一起始时刻与第二起始时刻之间的差值大于第二阈值,第一处理模块进入休眠状态。
在一种实施方式中,若第一处理模块收到第二处理模块发送的同步信号,第一处理模块从休眠状态切换为运行状态,并对第一处理模块检测到的一帧数据进行处理。
在一种实施方式中,第一起始时刻与第二起始时刻之间的差值大于或等于第一阈值,指示第二处理模块在第三起始时刻开始处理一帧数据的工作时间和第一处理模块在第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值,其中,第三起始时刻为第二起始时刻之后第二处理模块处理一帧数据的时刻,且第三起始时刻和第二起始时刻的差值最小。
在一种实施方式中,第一起始时刻与第二起始时刻之间的差值小于或等于第二阈值,指示第二处理模块在第二起始时刻开始处理一帧数据的工作时间和第一处理模块在第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值。
在一种实施方式中,终端设备还包括同步动态随机存取存储器SDRAM,第一处理模块在第一时间内访问同步动态随机存取存储器SDRAM的缓冲区,以实现第一处理模块对数据进行处理。
在一种实施方式中,第二处理模块在第二时间内访问同步动态随机存取存储器SDRAM的缓冲区,以实现第二处理模块对数据进行处理,第一时间和第二时间的重叠时间大于阈值。
第二方面,本申请实施例提供一种终端设备,该终端设备包括第一处理模块和第二处理模块,第一处理模块和第二处理模块通过总线相连接,其中:
第一处理模块,用于获取第一起始时刻,该第一起始时刻为第一处理模块检测到一帧数据的时刻;
第二处理模块,用于获取第二起始时刻,所述第二起始时刻为第二处理模块检测到一帧数据的时刻,第二起始时刻位于第一起始时刻之前,且第一起始时刻与第二起始时刻的差值最小;
若第一起始时刻与第二起始时刻之间的差值大于或等于第一阈值,或者,若第一起始时刻与第二起始时刻之间的差值小于或等于第二阈值,第一处理模块对检测到的一帧数据进行处理;第一阈值和第二阈值是根据第二处理模块的帧率、第二处理模块处理一帧数据的时间和第一处理模块处理一帧数据的平均时间确定的。
在一种实施方式中,若第一起始时刻与第二起始时刻之间的差值小于第一阈值,且第一起始时刻与所述第二起始时刻之间的差值大于第二阈值,第一处理模块进入休眠状态。
在一种实施方式中,若第一处理模块收到第二处理模块发送的同步信号,第一处理模块从休眠状态切换为运行状态,用于对第一处理模块检测到的一帧数据进行处理。
在一种实施方式中,第一起始时刻与第二起始时刻之间的差值大于或等于第一阈值,指示第二处理模块在第三起始时刻开始处理一帧数据的工作时间和第一处理模块在第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值,其中,第三起始时刻为第二起始时刻之后第二处理模块处理一帧数据的时刻,且第三起始时刻和第二起始时刻的差值最小。
在一种实施方式中,第一起始时刻与第二起始时刻之间的差值小于或等于第二阈值,指示第二处理模块在第二起始时刻开始处理一帧数据的工作时间和第一处理模块在所述第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值。
在一种实施方式中,终端设备还包括同步动态随机存取存储器SDRAM,其中:
第一处理模块,还用于在第一时间内访问同步动态随机存取存储器SDRAM 的缓冲区的数据,以实现第一处理模块对数据进行处理。
在一种实施方式中,第二处理模块,还用于在第二时间内访问同步动态随机存取存储SDRAM的缓冲区的数据,以实现第二处理模块对数据进行处理,第一时间和第二时间的重叠时间大于阈值。
第三方面,本申请实施例提供一种芯片,该芯片包括处理器与存储器,所述处理器通过读取所述存储器上存储的指令和数据,以执行如第一方面所述的方法。
第四方面,本申请实施例提供一种芯片模组,其特征在于,该芯片模组包括如第三方面所述的芯片。
第五方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质包括程序指令和数据,程序指令当被处理器执行时使处理器执行如第一方面所述的方法。
本申请实施例中,终端设备中的第一处理模块获取一帧数据的第一起始时刻与第二处理模块获取一帧数据的第二起始时刻。通过第一起始时刻和第二起始时刻判断第一处理模块和第二处理模块的工作时间是否对齐。若第一处理模块和第二处理模块的工作时间对齐时,启动第一处理模块对接收到的一帧数据进行处理。若第一处理模块和第二处理模块的工作时间没有对齐,则第一处理模块需要接收到第二处理模块发送的同步信号后再对接收到的一帧数据进行处理,从而使得第一处理模块和第二处理模块能够在近似的时间段内访问存储资源,使得同步动态随机存取存储SDRAM处于空闲的时间更多,有利于降低终端设备的功耗。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种终端设备的结构示意图;
图2是本申请实施例提供的一种功耗控制方法的流程示意图;
图3a是本申请实施例提供的一种视频解码器VSP和显示数据处理单元DPU 的工作时序图;
图3b是本申请实施例提供的另一种视频解码器VSP和显示数据处理单元 DPU的工作时序图;
图4是本申请实施例提供的一种功耗控制方法的流程示意图;
图5是本申请实施例提供的一种终端设备应用功耗控制方法的流程示意图;
图6是本申请实施例提供的另一种终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,终端设备进行视频播放时,主要根据播放的视频信息(例如分辨率、帧率等)来调整同步动态随机存取存储器(Synchronous Dynamic Random Access Memory,SDRAM)的频率和电压来降低终端设备的功耗。例如,当视频的分辨率较低时,可以降低同步动态随机存取存储器SDRAM的频率。但当调整同步动态随机存取存储器SDRAM的频率为最低电压所能支持的频率时,再降低同步动态随机存取存储器SDRAM的频率也不能降低终端设备的功耗。又例如,当视频的分辨率较低时,可以降低同步动态随机存取存储器SDRAM的电压。但当同步动态随机存取存储器SDRAM的最低频率被确定后,同步动态随机存取存储器SDRAM的最低电压也就被确定了,也不能再降低终端设备的功耗。
本申请实施例提供一种功耗控制方法,能够降低同步动态随机存取存储器 SDRAM的占空比(SDRAM空闲时间/SDRAM工作时间)。当同步动态随机存取存储器SDRAM处于空闲时,同步动态随机存取存储器SDRAM会进入休眠的低功耗状态,从而能够节省终端设备的功耗。本申请实施例以视频解码器 (Video Signal Processer,VSP)和显示数据处理单元DPU(Display Process Unit, DPU)调用同步动态随机存取存储器SDRAM进行工作为例。以显示数据处理单元DPU调用同步动态随机存取存储器SDRAM的缓冲区对数据进行处理的工作时间的起始点为基准,调整视频解码器VSP调用同步动态随机存取存储器 SDRAM的缓冲区对数据进行处理的工作时间。使得视频解码器VSP和显示数据处理单元DPU尽量在相同时间段调用同步动态随机存取存储器SDRAM的缓冲区对数据进行处理。从而降低同步动态随机存取存储器SDRAM的占空比。
本申请实施例提供的功耗控制方法应用于如图1所示的一种终端设备中。其中,图1所示的终端设备可以包括中央处理器(Central Processing Unit,CPU)、显示模块(Liquid Crystal Display,LCD),同步动态随机存取存储器SDRAM、闪存(Flash Memory,FLASH)、视频解码器VSP或视频解码器(Video Process Unit,VPU)和显示数据处理单元DPU。中央处理器CPU主要用于解释计算机指令以及处理计算机软件中的数据。显示模块LCD主要用于终端设备的屏幕显示。同步动态随机存取存储器SDRAM主要用于存储数据,同步动态随机存取存储器SDRAM的工作速度和系统总线速度同步。闪存FLASH是一种非易失性存储器,主要用于一般性数据存储,允许在操作中被多次擦或写。视频解码器 VSP主要用于对数据进行解码,显示数据处理单元DPU主要用于对数据进行处理。
当终端设备进行视频播放时,中央处理器CPU上运行视频播放的控制逻辑单元将需要解码的数据(存储在本地FLASH或者从网络上下载得到)存放到同步动态随机存取存储器SDRAM的缓冲区(Buffer)中,视频解码器VSP从缓冲区(例如Buffer1)里读取数据并进行解码。然后视频解码器VSP将解码后的数据写入到同步动态随机存取存储器SDRAM的缓冲区(例如Buffer2)中,显示数据处理单元DPU读取Buffer2里的数据。显示数据处理单元DPU对读取到的数据进行处理后发送给显示模块LCD进行显示。
可以理解的是,本申请实施例示意的结构并不构成对终端设备的具体限定。在本申请实施例中,终端设备可以包括图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
请参见图2,图2是本申请实施例提供的一种功耗控制方法的流程示意图,可以应用于如图1所示的终端设备终。该方法可以包括以下步骤S201-步骤 S203。
S201、第一处理模块获取第一起始时刻。
其中,第一起始时刻为第一处理模块检测到一帧数据的时刻。可以理解的是,当第一处理模块被调用进行工作的时候,会获取当前的系统时间,作为该帧数据到达第一处理模块的起始时刻,也就是第一处理模块检测到一帧数据的时刻。第一处理模块检测到一帧数据也可以理解为第一处理模块接收到一帧数据。
S202、第二处理模块获取第二起始时刻。
其中,第二起始时刻为第二处理模块检测到一帧数据的时刻,该第二起始时刻位于第一起始时刻之前,且第一起始时刻与第二起始时刻的差值最小。也就是说,第二起始时刻是最近一次第二处理模块处理数据的开始时刻。可以理解的是,当第二处理模块被调用进行工作的时候,会获取当前的系统时间,作为该帧数据到达第二处理模块的起始时刻,也就是第二处理模块检测到一帧数据的时刻。第二处理模块检测到一帧数据也可以理解为第二处理模块接收到一帧数据。
S203、若第一起始时刻与第二起始时刻之间的差值大于或等于第一阈值,或者,若第一起始时刻与第二起始时刻之间的差值小于或等于第二阈值,第一处理模块对检测到的一帧数据进行处理。
为了便于描述,本实施例中以第一处理模块为视频解码器VSP,第二处理模块为显示数据处理单元DPU为例,进行详细的描述。应注意,本实施例所述的第一处理模块和/或第二处理模块还可以是访问同步动态随机存取存储器 SDRAM存储资源的任意处理模块(例如可以是CPU等)。当有其他部件访问同步动态随机存取存储器SDRAM的缓冲区,以实现对数据进行处理时,亦可参考本申请实施例,视频解码器VSP和显示数据处理单元DPU用于举例不构成对本申请实施例的限定。
请参阅图3a,图3a是本申请实施例提供的一种视频解码器VSP和显示数据处理单元DPU的工作时序图。如图3a所示,显示数据处理单元DPU处理一帧数据的时间(工作时间)是Td。显示数据处理单元DPU的帧率为1/Tf,即显示数据处理单元DPU处理检测到一帧数据的周期为Tf。显示数据处理单元DPU 检测到一帧数据(如图3a所示的数据D2)的时刻为第二起始时刻tDn。显示数据处理单元DPU处理完数据D2后,一个周期后(即在第三起始时刻tDn+1)检测到下一帧数据(如图3a所示的数据D3)。视频解码器VSP处理一帧数据的平均时间为Tv,视频解码器VSP处理一帧数据的时间间隔不确定。视频解码器 VSP检测到一帧数据(如图3a所示的数据V3)的时刻为第一起始时刻tVm。其中,n和m为正整数。
在一种实施方式中,第一起始时刻与第二起始时刻之间的差值大于或等于第一阈值时,表示显示数据处理单元DPU在第三起始时刻开始处理一帧数据的工作时间和视频解码器VSP在第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值。其中,第三起始时刻为第二起始时刻之后第二处理模块处理一帧数据的时刻,且第三起始时刻和第二起始时刻的差值最小。当第二处理模块周期性处理一帧数据(例如DPU以固定时间间隔处理一帧数据)时,第三起始时刻为第二起始时刻增加一个周期的时刻,一个周期为第二处理模块检测到一帧数据的周期。例如,在图3a中,显示数据处理单元DPU处理数据D2的时间已经过去很久,数据D3即将到达显示数据处理单元DPU。当视频解码器VSP 接收到数据V3后,启动视频解码器VSP处理数据V3的工作时间和显示数据处理单元DPU处理数据D3的工作时间会有很大部分时间重叠。能够保证显示数据处理单元DPU和视频解码器VSP尽量在同一时间段进行工作。
其中,第一阈值是根据显示数据处理单元DPU的帧率、显示数据处理单元 DPU处理一帧数据的时间和视频解码器VSP处理一帧数据的平均时间确定的。例如,显示数据处理单元DPU的帧率为30fps,那么显示数据处理单元DPU检测到一帧数据的周期为33ms。若显示数据处理单元DPU处理一帧数据的时间为 8ms,视频解码器VSP处理一帧数据的时间为20ms,阈值设置为7ms。如图3a 所示,显示数据处理单元DPU在第二起始时刻tDn接收到数据D2开始工作,处理完数据D2后,过了一段时间视频解码器VSP在第一起始时刻tVm接收到数据 V3。此时显示数据处理单元DPU即将在第三起始时刻tDn+1接收到数据D3。若视频解码器VSP在第一起始时刻tVm接收到数据V3后便对数据V3进行处理,显示数据处理单元DPU在第三起始时刻tDn+1接收到数据D3后对数据D3进行处理。此时为保证视频解码器VSP处理数据V3的工作时间和显示数据处理单元 DPU处理数据D3的工作时间的重叠时间大于7ms,第三起始时刻tDn+1与第一起始时刻tVm的差值最多应为13ms。那么,第一起始时刻tVm与第二起始时刻tDn之间的差值应该大于20ms,因此可以设置第一阈值为20ms。当第一阈值为20ms 时,显示数据处理单元DPU在第二起始时刻tDn接收到数据D2开始工作。显示数据处理单元DPU处理完数据D2后,过了22ms视频解码器VSP在第一起始时刻tVm接收到数据V3。若视频解码器VSP在第一起始时刻tVm接收到数据V3 后便对数据V3进行处理,过了11ms后显示数据处理单元DPU在第三起始时刻 tDn+1接收到数据D3,然后显示数据处理单元DPU对数据D3进行处理。此时视频解码器VSP工作了11ms,视频解码器VSP还需工作9ms,与显示数据处理单元DPU的工作时间8ms可以完全重叠。保证了视频解码器VSP和显示数据处理单元DPU尽量在同一时间段进行工作。
阈值可以根据视频解码器VSP处理一帧数据的平均时间和显示数据处理单元DPU处理一帧数据的时间来确定。以视频解码器VSP处理一帧数据的平均时间和显示数据处理单元DPU处理一帧数据的时间中的最小值为基准,该最小值乘上一定系数后可以设置为阈值。例如,视频解码器VSP处理一帧数据的平均时间为20ms,显示数据处理单元DPU处理一帧数据的时间为8ms。以显示数据处理单元DPU处理一帧数据的时间为基准,阈值可以确定为8ms乘上一个系数的数值,这个系数可以根据实际需要进行设置。
请参阅图3b,图3b是本申请实施例提供的另一种视频解码器VSP和显示数据处理单元DPU的工作时序图。如图3b所示,显示数据处理单元DPU处理一帧数据(工作时间)的时间是Td。显示数据处理单元DPU的帧率为1/Tf,即显示数据处理单元处理检测到一帧数据的周期为Tf。显示数据处理单元DPU检测到一帧数据(如图3b所示的数据D2)的时刻为第二起始时刻tDn。视频解码器VSP处理一帧数据的平均时间为Tv,视频解码器VSP处理一帧数据的时间间隔不确定。视频解码器VSP检测到一帧数据(如图3b所示的数据V2)的时刻为第一起始时刻tVm。
在一种实施方式中,第一起始时刻与第二起始时刻之间的差值小于或等于第二阈值,表示显示数据处理单元DPU在第二起始时刻开始处理一帧数据的工作时间和视频解码器VSP在第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值。例如,在图3b中,显示数据处理单元DPU处理数据D2的时间和视频解码器VSP处理数据V2的时间会有很大部分时间重叠,能够保证显示数据处理单元DPU和视频解码器VSP尽量在同一时间段进行工作。
其中,第二阈值是根据显示数据处理单元DPU的帧率、显示数据处理单元 DPU处理一帧数据的时间和视频解码器VSP处理一帧数据的平均时间确定的。
在一种实施方式中,视频解码器VSP处理一帧数据的平均时间大于显示数据处理单元DPU处理一帧数据的时间。例如,显示数据处理单元DPU的帧率为30fps,那么显示数据处理单元DPU检测到一帧数据的周期为33ms。若显示数据处理单元DPU处理一帧数据的时间为8ms,视频解码器VSP处理一帧数据的时间为20ms,阈值设置为7ms。如图3b所示,显示数据处理单元DPU在第二起始时刻tDn接收到数据D2开始工作。显示数据处理单元DPU处理数据D2时,视频解码器VSP在第一起始时刻tVm接收到数据V2。若视频解码器VSP在第一起始时刻tVm接收到数据V2后便对数据V2进行处理。此时为保证视频解码器VSP处理数据V2的工作时间和显示数据处理单元DPU处理数据D2的工作时间的重叠时间大于7ms。那么,第一起始时刻tVm与第二起始时刻tDn之间的差值应该小于1ms,因此可以设置第二阈值为1ms。当第二阈值为1ms时,显示数据处理单元DPU在第二起始时刻tDn接收到数据D2后开始工作,过了0.5ms视频解码器VSP在第一起始时刻tVm接收到数据V3。视频解码器VSP接收到数据V3后对数据V3进行处理,此时,显示数据处理单元DPU和视频解码器VSP 有7.5ms的工作时间存在重叠。保证了视频解码器VSP和显示数据处理单元DPU 尽量在同一时间段进行工作。
在另一种实现方式中,视频解码器VSP处理一帧数据的平均时间小于显示数据处理单元DPU处理一帧数据的时间。例如,显示数据处理单元DPU的帧率为30fps,那么显示数据处理单元DPU检测到一帧数据的周期为33ms。若显示数据处理单元DPU处理一帧数据的时间为25ms,视频解码器VSP处理一帧数据的时间为20ms,阈值设置为18ms。如图3b所示,显示数据处理单元DPU 在第二起始时刻tDn开始工作。显示数据处理单元DPU处理数据D2时,视频解码器VSP在第一起始时刻tVm接收到数据V2。若视频解码器VSP在第一起始时刻tVm接收到数据V2后便对数据V2进行处理。此时为保证视频解码器VSP处理数据V2的工作时间和显示数据处理单元DPU处理数据D2的工作时间的重叠时间大于18ms,第一起始时刻tVm与第二起始时刻tDn之间的差值应该小于 7ms,因此可以设置第二阈值为7ms。当第二阈值为7ms时,显示数据处理单元 DPU在第二起始时刻tDn接收到数据D2开始工作。过了6ms视频解码器VSP在第一起始时刻tVm接收到数据V2,视频解码器VSP接收到数据V2后对数据V2 进行处理。此时,显示数据处理单元DPU还需工作19ms,和视频解码器VSP 有19ms重叠的工作时间,保证了视频解码器VSP和显示数据处理单元DPU尽量在同一时间段进行工作。
在一种实施方式中,S203中第一处理模块对检测到的一帧数据进行处理,具体步骤包括:第一处理模块在第一时间内访问同步动态随机存取存储器 SDRAM的缓冲区,以实现对数据进行处理。第二处理模块在第二时间内访问同步动态随机存取存储SDRAM的缓冲区,以实现对数据进行处理,第一时间和第二时间的重叠时间大于阈值。其中,第一时间是指第一处理模块调用同步动态随机存取存储SDRAM处理完一帧数据的时间段。第二时间是指第二处理模块调用同步动态随机存取存储SDRAM处理完一帧数据的时间段。第一处理模块和第二处理模块访问同步动态随机存取存储SDRAM的缓冲区,以实现对数据进行处理时,可以向同步动态随机存取存储SDRAM的缓冲区进行读数据或写数据。
本申请实施例中,终端设备中的第一处理模块获取接收到的一帧数据的第一起始时刻,第二处理模块获取接收到的一帧数据的第二起始时刻。通过第一起始时刻和第二起始时刻确定第一处理模块和第二处理模块的工作时间是否对齐。第一处理模块和第二处理模块的工作时间对齐时,启动第一处理模块对接收到的一帧数据进行处理。从而使得第一处理模块和第二处理模块能够在近似的时间段内访问存储资源,使得同步动态随机存取存储SDRAM处于空闲的时间更多,有利于更有效降低终端设备的功耗。
请参见图4,图4是本申请实施例提供的一种功耗控制方法的流程示意图,该方法可以包括以下步骤S401-步骤S404。
S401、第一处理模块获取第一起始时刻。
S402、第一处理模块获取第二起始时刻。
S403、若第一起始时刻与第二起始时刻之间的差值小于第一阈值,且第一起始时刻与第二起始时刻之间的差值大于第二阈值,第一处理模块进入休眠状态。
其中,S401和S402的具体实现方式可以参考图2实施例中对S201和S202 的详细描述,在此不再赘述。
其中,当第一起始时刻与第二起始时刻之间的差值小于第一阈值,且第一起始时刻与第二起始时刻之间的差值大于第二阈值时,第一处理模块暂时停止工作,进入休眠状态,并且第一处理模块需要向第二处理模块发送指示信息。该指示信息用于指示第一处理模块正在等待第二处理模块发送的同步信号。例如,如图3b所示,数据V3到达视频解码器VSP的时刻为第一起始时刻tVm,数据D3到达显示数据处理单元DPU的时刻为第二起始时刻tDn。此时,视频解码器VSP若在第一时刻tVm启动工作,那么视频解码器VSP和显示数据处理单元 DPU的工作时间将很少重叠。因此视频解码器VSP需要暂时停止工作,不启动视频解码器VSP对数据V3进行处理。
S404、若第一处理模块收到第二处理模块发送的同步信号,第一处理模块从休眠状态切换为运行状态,并对第一处理模块检测到的一帧数据进行处理。
在一种实施方式中,第一处理模块进入休眠状态后,当第二处理模块接收到一帧数据时,会发送同步信号给第一处理模块以唤醒第一处理模块开始工作。第一处理模块开始对接收到的一帧数据进行处理。例如,如图3b所示,视频解码器VSP接收到数据V3后,暂时进入休眠状态,当数据D4到达显示数据处理单元DPU后,显示数据处理单元DPU发送同步信号给视频解码器VSP。视频解码器VSP接收到该同步信号后对数据V3进行处理。此时,显示数据处理单元DPU处理数据D4和视频解码器VSP处理数据V3的时间将会大部分重叠。保证了显示数据处理单元DPU和视频解码器VSP尽量在同一时间段进行工作。
本申请实施例中,终端设备中的第一处理模块获取接收到的一帧数据的第一起始时刻,第二处理模块获取接收到的一帧数据的第二起始时刻。通过第一起始时刻和第二起始时刻确定第一处理模块和第二处理模块的工作时间是否对齐。若第一处理模块和第二处理模块的工作时间对齐时,启动第一处理模块对接收到的一帧数据进行处理。若第一处理模块和第二处理模块的工作时间没有对齐,则第一处理模块需要接收到第二处理模块发送的同步信号后再对接收到的一帧数据进行处理,从而使得第一处理模块和第二处理模块能够在近似的时间段内访问存储资源,使得同步动态随机存取存储SDRAM处于空闲的时间更多,有利于降低终端设备的功耗。
请参见图5,图5是本申请实施例提供的一种终端设备应用功耗控制方法的流程示意图。
S501、视频解码器VSP准备处理新的一帧数据。
其中,当视频解码器VSP接收到一帧数据时,即视频解码器VSP准备处理新的一帧数据。
S502、处理器配置视频解码器VSP完毕,准备启动视频解码器VSP。
其中,处理器可以配置到达视频解码器VSP的一帧数据的存放地址,以及配置视频解码器VSP处理后的一帧数据在同步动态随机存取存储器SDRAM的缓冲区中的存放地址。
S503、判断视频解码器VSP和显示数据处理单元DPU是否需要做对齐。
处理器可以根据视频解码器VSP和显示数据处理单元DPU的解码能力,以及当前应用播放视频时所需要的解码能力来判断是否需要做对齐。如果需要做对齐,执行S504,不需要做对齐,则执行S508。若视频解码器VSP和显示数据处理单元DPU的解码能力超过所需要的解码能力的一定阈值(如30%)以上,意味着在视频播放的整个时间段内,视频解码器VSP和显示数据处理单元DPU 将会有较多的时间处于空闲状态,那么视频解码器VSP和显示数据处理单元 DPU就有可能存在不对齐的情况,则执行S504。若视频解码器VSP和显示数据处理单元DPU的解码能力近似满足所需要的解码能力,意味着在视频播放的整个时间段内,视频解码器VSP和显示数据处理单元DPU可能一直处于工作状态,这时就不需要做对齐工作,执行S508。其中,可以通过视频播放的分辨率和帧率来确定需要的解码能力,可以通过视频解码器VSP处理一帧数据的平均时间来确定视频解码器VSP的解码能力和显示数据处理单元DPU处理一帧数据的时间来确定显示数据处理单元DPU的解码能力。
S504、视频解码器VSP获取第一起始时刻tVm。
S505、处理器执行以下判断:tVm-tDn≥第一阈值或tVm-tDn≤第二阈值。
其中,tDn可以是显示数据处理单元DPU获取的一帧数据的第二起始时刻。处理器判断第一起始时刻tVm与第二起始时刻tDn之间的差值是否大于或等于第一阈值,或者,第一起始时刻tVm与第二起始时刻tDn之间的差值是否小于或等于第二阈值。若第一起始时刻tVm与第二起始时刻tDn之间的差值大于或等于第一阈值,或者,第一起始时刻tVm与第二起始时刻tDn之间的差值小于或等于第二阈值,执行S506a,否则执行S506b。
S506a、启动视频解码器VSP,开始工作。
视频解码器VSP开始对接收到的一帧数据进行处理。
S506b、视频解码器VSP进入休眠状态,等待同步信号。
第一起始时刻tVm与第二起始时刻tDn之间的差值小于第一阈值,且第一起始时刻tVm与第二起始时刻tDn之间的差值大于第二阈值,视频解码器VSP暂时不对接收到的一帧数据进行处理,并发送消息给显示数据处理单元DPU,等待显示数据处理单元DPU发送的同步信号。
S507、视频解码器VSP收到同步信号或者视频解码器VSP等待时间超过阈值,执行S506a,否则执行S506b,继续等待同步信号。
S508、视频解码器VSP完成对接收到的一帧数据的处理。
如有一帧新的数据到达视频解码器VSP,则视频解码器VSP重新执行S501。
S509、显示数据处理单元DPU准备处理新的一帧数据。
显示数据处理单元DPU接收到一帧数据。
S510、显示数据处理单元DPU获取第二起始时刻tDn,并发送同步信号。
显示数据处理单元DPU获取第二起始时刻tDn,并发送同步信号给视频解码器VSP,唤醒视频解码器VSP开始工作。
S511、显示数据处理单元DPU处理接收到的一帧数据。
如有一帧新的数据到达显示数据处理单元DPU,则设备执行S509。
可选的,S501-S508和S509-S511在执行时没有先后顺序。
基于上述实施例的功耗控制方法,本申请实施例提供一种终端设备。请参见图6,图6是本申请实施例提供的另一种终端设备的结构示意图。图6所示的终端设备600包括第一处理模块601、第二处理模块602和同步动态随机存取存储器SDRAM603,第一处理模块601、第二处理模块602和同步动态随机存取存储器SDRAM603通过总线连接,其中:
第一处理模块601,用于获取第一起始时刻,该第一起始时刻为第一处理模块601检测到一帧数据的时刻。
第二处理模块602,用于获取第二起始时刻,该第二起始时刻为第二处理模块602检测到一帧数据的时刻,第二起始时刻位于第一起始时刻之前,且第一起始时刻与第二起始时刻的差值最小。
若第一起始时刻与第二起始时刻之间的差值大于或等于第一阈值,或者,若第一起始时刻与第二起始时刻之间的差值小于或等于第二阈值,第一处理模块601,用于对检测到的一帧数据进行处理;其中,第一阈值和第二阈值是根据第二处理模块602的帧率、第二处理模块602处理一帧数据的时间和第一处理模块601处理一帧数据的平均时间确定的。
在一种实施方式中,若第一起始时刻与第二起始时刻之间的差值小于第一阈值,且第一起始时刻与第二起始时刻之间的差值大于第二阈值,第一处理模块601进入休眠状态。
在一种实施方式中,若第一处理模块601收到第二处理模块602发送的同步信号,第一处理模块601从休眠状态切换为运行状态,第一处理模块601还用于对第一处理模块601检测到的一帧数据进行处理。
在一种实施方式中,第一起始时刻与第二起始时刻之间的差值大于或等于第一阈值,指示第二处理模块602在第三起始时刻开始处理一帧数据的工作时间和第一处理模块601在第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值,第三起始时刻为第二起始时刻之后第二处理模块602处理一帧数据的时刻,且第三起始时刻和第二起始时刻的差值最小。
在一种实施方式中,第一起始时刻与第二起始时刻之间的差值小于或等于第二阈值,指示第二处理模块602在第二起始时刻开始处理一帧数据的工作时间和第一处理模块601在第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值。
在一种实施方式中,第一处理模块601,还用于在第一时间内访问同步动态随机存取存储器SDRAM603的缓冲区,以实现第一处理模块601对数据进行处理。
在一种实施方式中,第二处理模块602,还用于在第二时间内访问同步动态随机存取存储SDRAM603的缓冲区,以实现第二处理模块602对数据进行处理,第一时间和第二时间的重叠时间大于阈值。
本申请实施例中,终端设备中的第一处理模块获取接收到的一帧数据的第一起始时刻,第二处理模块获取接收到的一帧数据的第二起始时刻,通过第一起始时刻和第二起始时刻确定第一处理模块和第二处理模块的工作时间是否对齐。若第一处理模块和第二处理模块的工作时间对齐时,启动第一处理模块对接收到的一帧数据进行处理。若第一处理模块和第二处理模块的工作时间没有对齐,则第一处理模块需要接收到第二处理模块发送的同步信号后再对接收到的一帧数据进行处理,从而使得第一处理模块和第二处理模块能够在近似的时间段内访问存储资源,使得同步动态随机存取存储SDRAM处于空闲的时间更多,有利于降低终端设备的功耗。
本申请实施例提供一种芯片。该芯片包括:处理器和存储器。其中,处理器的数量可以是一个或多个,存储器的数量可以是一个或多个。处理器通过读取存储器上存储的指令和数据,可执行上述如图2或图4所示的功耗控制方法,以及相关实施方式所执行的步骤。
本申请实施例提供一种芯片模组。该芯片模组包括上述的芯片,可执行上述如图2或图4所示的功耗控制方法,以及相关实施方式所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质。该计算机可读存储介质包括程序指令和数据,该程序指令被处理器执行时,可执行上述如图2或图4 所示的功耗控制方法,以及相关实施方式所执行的步骤。
所述计算机可读存储介质可以是前述任一实施例所述的终端设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述终端设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card) 等。进一步地,所述计算机可读存储介质还可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于申请所涵盖的范围。
Claims (10)
1.一种功耗控制方法,其特征在于,应用于包括第一处理模块、第二处理模块的终端设备中,所述第一处理模块和所述第二处理模块通过总线相连接,所述方法包括:
所述第一处理模块获取第一起始时刻,所述第一起始时刻为第一处理模块检测到一帧数据的时刻;
所述第二处理模块获取第二起始时刻,所述第二起始时刻为第二处理模块检测到一帧数据的时刻,所述第二起始时刻位于所述第一起始时刻之前,且所述第一起始时刻与所述第二起始时刻的差值最小;
若所述第一起始时刻减去所述第二起始时刻得到的差值大于或等于第一阈值,或者,若所述第一起始时刻减去所述第二起始时刻得到的差值小于或等于第二阈值,所述第一处理模块对检测到的一帧数据进行处理;所述第一阈值和所述第二阈值是根据所述第二处理模块的帧率、所述第二处理模块处理一帧数据的时间和所述第一处理模块处理一帧数据的平均时间确定的。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一起始时刻与所述第二起始时刻之间的差值小于第一阈值,且所述第一起始时刻与所述第二起始时刻之间的差值大于第二阈值,所述第一处理模块进入休眠状态。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第一处理模块收到所述第二处理模块发送的同步信号,所述第一处理模块从休眠状态切换为运行状态,并对所述第一处理模块检测到的一帧数据进行处理。
4.根据权利要求1所述的方法,其特征在于,所述第一起始时刻与所述第二起始时刻之间的差值大于或等于第一阈值,指示所述第二处理模块在第三起始时刻开始处理一帧数据的工作时间和所述第一处理模块在所述第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值,所述第三起始时刻为所述第二起始时刻之后第二处理模块处理一帧数据的时刻,且所述第三起始时刻和所述第二起始时刻的差值最小。
5.根据权利要求1所述的方法,其特征在于,所述第一起始时刻与所述第二起始时刻之间的差值小于或等于第二阈值,指示所述第二处理模块在第二起始时刻开始处理一帧数据的工作时间和所述第一处理模块在所述第一起始时刻开始处理一帧数据的工作时间的重叠时间大于阈值。
6.根据权利要求1所述的方法,其特征在于,所述终端设备还包括同步动态随机存取存储器SDRAM,所述方法还包括:
所述第一处理模块在第一时间内访问所述同步动态随机存取存储器SDRAM的缓冲区,以实现所述第一处理模块对数据进行处理。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第二处理模块在第二时间内访问所述同步动态随机存取存储SDRAM的缓冲区,以实现所述第二处理模块对数据进行处理,所述第一时间和所述第二时间的重叠时间大于阈值。
8.一种终端设备,其特征在于,所述终端设备包括第一处理模块和第二处理模块,所述第一处理模块和所述第二处理模块通过总线相连接,其中:
所述第一处理模块,用于获取第一起始时刻,所述第一起始时刻为第一处理模块检测到一帧数据的时刻;
所述第二处理模块,用于获取第二起始时刻,所述第二起始时刻为第二处理模块检测到一帧数据的时刻,所述第二起始时刻位于所述第一起始时刻之前,且所述第一起始时刻与所述第二起始时刻的差值最小;
若所述第一起始时刻减去所述第二起始时刻得到的差值大于或等于第一阈值,或者,若所述第一起始时刻减去所述第二起始时刻得到的差值小于或等于第二阈值,所述第一处理模块,用于对检测到的一帧数据进行处理;所述第一阈值和所述第二阈值是根据所述第二处理模块的帧率、所述第二处理模块处理一帧数据的时间和所述第一处理模块处理一帧数据的平均时间确定的。
9.一种芯片,其特征在于,所述芯片包括处理器与存储器,所述处理器通过读取所述存储器上存储的指令和数据,以执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括程序指令和数据,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110502357.XA CN113296597B (zh) | 2021-05-08 | 2021-05-08 | 一种功耗控制方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110502357.XA CN113296597B (zh) | 2021-05-08 | 2021-05-08 | 一种功耗控制方法及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113296597A CN113296597A (zh) | 2021-08-24 |
CN113296597B true CN113296597B (zh) | 2022-08-26 |
Family
ID=77321097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110502357.XA Active CN113296597B (zh) | 2021-05-08 | 2021-05-08 | 一种功耗控制方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113296597B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113778B (zh) * | 2014-08-01 | 2018-04-03 | 广州猎豹网络科技有限公司 | 一种视频流解码方法及装置 |
KR102577176B1 (ko) * | 2016-10-21 | 2023-09-12 | 삼성전자주식회사 | 송신 전력을 제어하기 위한 전자장치 및 방법 |
CN109195153B (zh) * | 2018-08-01 | 2021-09-28 | Oppo广东移动通信有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN109298775A (zh) * | 2018-08-17 | 2019-02-01 | 珠海格力电器股份有限公司 | 一种终端设备及任务处理方法 |
-
2021
- 2021-05-08 CN CN202110502357.XA patent/CN113296597B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113296597A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020156151A1 (zh) | 通信控制方法、装置、移动终端及存储介质 | |
CN111163345A (zh) | 一种图像渲染方法及装置 | |
CN109445918B (zh) | 任务调度方法、装置、终端及存储介质 | |
CN108509272B (zh) | 将gpu显存纹理拷贝到系统内存的方法、装置及电子设备 | |
WO2017107737A1 (zh) | 终端灭屏时间的调整方法、装置、设备及计算机存储介质 | |
CN104317611A (zh) | 一种应用唤醒设置设备、方法以及移动终端 | |
CN113296597B (zh) | 一种功耗控制方法及终端设备 | |
CN106603526B (zh) | WiFi/热点的开启方法及装置 | |
CN109005455B (zh) | 视频数据处理方法及装置 | |
CN113542256A (zh) | 客户端中登录凭证的更新方法、装置、设备及存储介质 | |
WO2015021827A1 (en) | Method,device and system for offline reconnection of a web application | |
CN110377140A (zh) | 唤醒操作系统的方法、装置、终端及存储介质 | |
CN114461323B (zh) | 一种卡顿处理方法、装置、电子设备及存储介质 | |
CN113676504B (zh) | 一种低功耗分布式调用方法、设备及装置 | |
CN115587049A (zh) | 内存回收方法、装置、电子设备及存储介质 | |
CN111467797B (zh) | 游戏数据处理方法、装置、计算机存储介质与电子设备 | |
CN107682733B (zh) | 一种提高用户观看视频体验度的控制方法及系统 | |
CN110677715B (zh) | 一种解码方法、解码器、电子设备及存储介质 | |
CN114024878A (zh) | 数据传输方法、装置、介质和设备 | |
CN113923485A (zh) | 一种调整码率的方法、装置、及计算机可读存储介质 | |
CN112423099A (zh) | 视频加载方法、装置和电子设备 | |
CN114222980A (zh) | 耗电日志处理方法、装置、电子设备以及存储介质 | |
CN111857871A (zh) | 一种应用启动方法、终端及计算机存储介质 | |
CN113992493A (zh) | 视频处理方法、系统、设备及存储介质 | |
CN116761032B (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 |