CN111342937B - 一种动态调整编解码处理器电压和/或频率的方法和装置 - Google Patents
一种动态调整编解码处理器电压和/或频率的方法和装置 Download PDFInfo
- Publication number
- CN111342937B CN111342937B CN202010185595.8A CN202010185595A CN111342937B CN 111342937 B CN111342937 B CN 111342937B CN 202010185595 A CN202010185595 A CN 202010185595A CN 111342937 B CN111342937 B CN 111342937B
- Authority
- CN
- China
- Prior art keywords
- encoding
- frequency
- decoding
- voltage
- adjustment
- 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 67
- 230000008569 process Effects 0.000 claims abstract description 40
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000007493 shaping process Methods 0.000 claims description 13
- 238000005259 measurement Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 9
- 238000004088 simulation Methods 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims 2
- 230000008859 change Effects 0.000 abstract description 16
- 238000004891 communication Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 101100072620 Streptomyces griseus ind2 gene Proteins 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
- H04L1/0058—Block-coded modulation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种动态调整编解码处理器电压和/或频率的方法和装置,属于蓝牙无线通讯技术领域。本发明的动态调整编解码处理器电压和/或频率的方法包括:离线估计:将典型的编码或解码参数组合和需求值保存为离线估计表格;在线处理:在编码或解码过程中,根据当前帧的算法复杂度的变化得到第一调整指示;根据历史帧的编码或解码时间预测当前帧的编码或解码时间并得到第二调整指示;根据第一调整指示和第二调整指示得到第三调整指示,根据第三调整指示调整电压和/或频率,在编码或解码结束后,处理器进入低功耗模式等待下一帧。本发明在满足系统延迟要求的前提下,实时降低处理器的工作电压和/或频率,达到节省功耗,延长设备使用寿命的目的。
Description
技术领域
本发明涉及蓝牙无线通讯技术领域,特别涉及一种动态调整编解码处理器电压和/或频率的方法和装置。
背景技术
随着移动通信领域的不断发展,蓝牙技术的应用也越来越广,尤其在蓝牙音频的应用方面。
目前蓝牙国际联盟联合众多厂商推出LC3编解码技术,由于LC3编解码技术,其具有较低延迟、较高音质和编码增益以及在蓝牙领域无专利费的优点,受到广大厂商的关注,由于LC3推出的初衷是要满足低功耗蓝牙领域的音频应用,所以对功耗要求非常严格,另外,蓝牙低功耗(Bluetooth Low Energy,简称BLE)音频的一个重要特性就是低延迟,如何同时满足这两个条件极具挑战性。
移动设备中运行音频编解码的处理器(处理器可能为可以运行LC3编解码的CPU、数字信号处理器DSP或专用集成电路ASIC电路,以下统称为处理器)消耗的功耗比例较大。为了节省功耗,很多嵌入式系统级芯片SOC采用动态电压频率调整技术(DVFS技术),在系统运行时或者根据系统运行负荷(如CPU占用率)或者根据运算量的估计(如应用的算法复杂度),实时调整处理器的工作频率和电压,达到节省功耗的目的,但对于蓝牙BLE音频,特别是LC3并不适用,原因如下:
1)举例来说,传统的Linux操作系统已经有DVFS的策略模型,但是这些策略仅仅是从CPU的占用率出发,根据CPU占用率设置多个调频阈值和调频间隔,每隔一段时间,查看CPU的占用率,根据是否到达阈值决定进行是否进行升频或降频操作,其中调整的时间间隔通常为20~50ms甚至更长时间,而对于LC3,帧长为10ms或者7.5ms,可以使用更短的时间间隔取得更及时的调整;
2)另外,传统的DVFS技术基于CPU的占用率的策略,虽然可以节省功耗,但对于低延迟的蓝牙音频应用,有很大的风险,详述如下,
例如,对于每帧10ms的数据,假定处理器在特定的电压和/或频率可以4ms完成编码,在使用DVSF技术降低频率和电压后,处理器编码时间增加到9ms,此时虽然降低了系统功耗,但整体的系统延迟(蓝牙发射端)至少增加了5ms,这对于面向低延迟的应用有可能影响用户体验,如使用蓝牙设备打游戏。
图1是一个典型的基于LC3编解码的系统延迟构成图,从图1中可以看出,每帧10ms的音频输入数据:
1)在蓝牙发射端,4ms完成编码,处理器有将近6ms空闲(在处理器上其他任务耗时很小,此处暂不考虑);
2)在蓝牙接收端,1.5ms完成解码(此处假定编码和解码使用相同的处理器平台及相同的测试条件,如相同的工作频率和/或电压等),处理器有将近8.5ms的空闲。
可见,在发射端和接收端处理器都有较多的空闲时间,导致一定的功耗浪费,从节省功耗的角度,可以降低工作电压和/或频率,但却会导致编解码的时间变长,直接导致系统延迟增加,影响用户体验,矛盾由此产生:
1)为了使功耗最小化,需要使得处理器的工作电压和/或频率尽可能小,但这又导致编码或解码的时间变长,从而导致系统的延迟增加。
2)为了使系统的延迟最小化,需要编码或解码的时间尽可能短,那么处理器的工作频率和/或电压要尽可能高,这又会导致系统的功耗增加。
发明内容
本发明所要解决的技术问题是:提供一种动态调整编解码处理器电压和/或频率的方法和装置,在满足系统延迟要求的前提下,尽可能的降低处理器的工作电压/频率,达到节省功耗的目的。
为了实现上述目的,一方面,本发明采用的一个技术方案是:提供一种动态调整编解码处理器电压和/或频率的方法,包括在线处理:离线估计:根据典型的编码或解码参数组合,估算出处理器频率和/或电压的需求值,并将典型的编码或解码参数组合和需求值保存为离线估计表格,其中典型的编码或解码参数组合是由声道数为单或双、采样率为8kHz、16kHz、24kHz、32kHz、44.1kHz或48kHz中的一者、帧长为7.5毫秒或10毫秒以及码率为24kbps、48kbps、64kbps、96kbps、128kbps或256kbps中的一者组成;在线处理:在初始配置过程中,根据离线估计的结果选择初始的电压和/或频率,在编码或解码过程中,将当前帧的算法复杂度因子与上一帧的算法复杂度因子进行比较,得到电压和/或频率调整的第一调整指示,其中,第一调整指示为当前帧的码率与上一帧的码率比值减1和码率因子的乘积,与时域噪声整形TNS滤波器因子和当前帧与上一帧的时域噪声整形TNS有效滤波器数量差值的乘积之和;根据历史帧的编码或解码时间预测当前帧的编码或解码时间,将预测编码或解码时间与期望编码或解码时间的比值减1作为电压和/或频率调整的第二调整指示,其中期望编码或解码时间为根据具体的应用场景对系统延迟的需求反向推导得出的结果;根据第一调整指示与第一调整指示所占比重的乘积,和第二调整指示与第二调整指示所占比重的乘积之和得到电压和/或频率调整的第三调整指示,若第三调整指示的绝对值大于预设门限,则查询系统级芯片的说明书得到具体的调整参数,调用电源管理集成电路PMIC的驱动调整电压和/或频率,其中第一调整指示所占比重和第二调整指示所占比重根据当前帧的时变特性而分配;在编码或解码结束后,统计当前帧的编码或解码时间,关闭计时器,处理器进入低功耗模式等待下一帧,下一帧重新开始编码或解码过程,形成一个循环过程,直至所有音频帧处理完毕。
另一方面,本发明采用的另一个技术方案是:提供一种动态调整编解码处理器电压和/或频率的装置,包括离线模块:其根据典型的编码或解码参数组合,估算出处理器频率和/或电压的需求值,并将典型的编码或解码参数组合和需求值保存为离线估计表格,其中典型的编码或解码参数组合是由声道数为单或双、采样率为8kHz、16kHz、24kHz、32kHz、44.1kHz或48kHz中的一者、帧长为7.5毫秒或10毫秒以及码率为24kbps、48kbps、64kbps、96kbps、128kbps或256kbps中的一者组成;在线模块:其在初始配置过程中,根据离线模块中离线估计的结果选择初始的电压和/或频率,其在编码或解码过程中,将当前帧的算法复杂度因子与上一帧的算法复杂度因子进行比较,得到电压和/或频率调整的第一调整指示,其中,第一调整指示为当前帧的码率与上一帧的码率比值减1和码率因子的乘积,与时域噪声整形TNS滤波器因子和当前帧与上一帧的时域噪声整形TNS有效滤波器数量差值的乘积之和,根据历史帧的编码或解码时间预测当前帧的编码或解码时间,将预测编码或解码时间与期望编码或解码时间的比值减1作为电压和/或频率调整的第二调整指示,其中所述期望编码或解码时间为根据具体的应用场景对系统延迟的需求反向推导得出的结果,根据第一调整指示与第一调整指示所占比重的乘积,和第二调整指示与第二调整指示所占比重的乘积之和得到电压和/或频率调整的第三调整指示,若第三调整指示的绝对值大于预设门限,则查询系统级芯片的说明书得到具体的调整参数,调用电源管理集成电路PMIC的驱动调整电压和/或频率,其中第一调整指示所占比重和第二调整指示所占比重根据当前帧的时变特性而分配;在编码或解码结束后,统计当前帧的编码或解码时间,关闭计时器,处理器进入低功耗模式等待下一帧,下一帧重新开始编码或解码过程,形成一个循环过程,直至所有音频帧处理完毕。
本发明的有益效果在于:本发明提出一种动态调整编解码处理器电压和/或频率的方法和装置,先通过离线估计选择初始的工作电压和/或频率,再通过历史帧的编码或解码时间预测当前帧的编码或解码时间,辅以当前帧的算法复杂度变化估计系统工作所需的电压,可以在保证系统延迟满足要求的前提下,实时并及时的调整电压和/或频率,并配合处理器低功耗模式,既保证了系统的延迟,又节省了处理器的功耗,延长了设备的使用寿命。
附图说明
图1为典型的基于LC3编解码的系统延迟构成图;
图2为本发明动态调整编解码处理器电压和/或频率的方法的过程流程图;
图3为本发明动态调整编解码处理器电压和/或频率的方法中离线估计的具体实施过程流程图;
图4为本发明动态调整编解码处理器电压和/或频率的方法中在线处理的具体实施过程流程图;
图5为本发明动态调整编解码处理器电压和/或频率的方法的在线处理过程中第三调整指示的计算流程图;
图6为本发明动态调整编解码处理器电压和/或频率的方法的编码过程中关键的计算与控制节点的示意图。
具体实施方式
为了使本发明的上述特征和优点更加易懂,下面结合附图和具体实施方式对本发明做进一步详细说明。该详细说明仅仅是为了帮助理解本发明,本发明的保护范围不仅仅限于具体实施方式中的具体说明。
一方面,图2示出了本发明一种动态调整编解码处理器电压和/或频率的方法的具体实施方式,在该具体实施方式中主要包括:
步骤S201:离线估计:根据编码或解码参数,估算出CPU频率及电压的需求值,并将编码或解码参数和需求值保存为离线估计表格。
在本发明的一个具体实施例中,编码或解码参数主要包括:声道数量、采样率、帧长和码率(范围)。这四种参数在一定程度上决定了编码或解码的运算复杂度。
在本发明的一个具体实施例中,图3为本发明动态调整编解码处理器电压和/或频率的方法中离线估计的具体实施过程流程图,从图3可以看出离线估计的具体过程如下:
步骤S300:列出典型的编码或解码参数组合(每种参数组合都需要运行步骤S301~步骤S305),其中典型的编码或解码参数组合包括但不限于以下四种的组合:声道数为单或双一者、采样率为8kHz、16kHz、24kHz、32kHz、44.1kHz或48kHz一者、帧长为7.5毫秒或10毫秒一者以及对应的码率为24kbps、48kbps、64kbps、96kbps、128kbps或256kbps一者组成的组合,例如,其中以下2种参数组合:
1. 双声道,48kHz采样率,10ms帧长,码率256kbps
2. 单声道,8kHz采样率,10ms帧长,码率24kbps
由此可以看出,由于不同的参数组合间较大的差异,因此算法复杂度的差别也很大。
步骤S301:根据典型的编码或解码参数组合,处理器仿真平台得到运算量,并根据运算量得到频率估计值;
各种处理器平台都有自己的仿真工具,例如在PC上即可估计得到比较准确的CPU频率需求,但PC仿真工具通常很难准确模拟实际的存储器运行效率,故需要进一步到系统级芯片SOC平台上运行验证。
步骤S302:根据频率估计值查询系统级芯片的说明书,选择相应的电压和/或频率;
在处理器可用的电压和/或频率集合中,频率估算值在系统级芯片的说明书中不一定有,通常可以选择较近的又高于频率估算值相对应的电压和/或频率。
步骤S303:根据相应的电压和/或频率,在系统级芯片的平台上运行编码或解码,同时测量编码或解码时间;
在本发明的一个具体实施例中,测量时间可以使用处理器上运行的操作系统OS提供的接口函数、硬件Profiling工具或者示波器测量。
步骤S304:将测量的结果与期望编码或解码时间进行比较,若测量结果小于等于期望编码或解码时间,则本次离线估计结束,若测量结果大于期望编码或解码时间,则调整电压和/或频率,再返回步骤S303进行重新测量;
期望的编码或解码时间T_exp是根据具体的应用场景对系统延迟的需求反向推导得到的,例如打游戏之类的应用,一般要求系统延迟在40ms左右,假定系统中其他模块的耗时固定,那么40ms减去其他模块的耗时就可以得到期望的编码或解码时间。在本发明的一个典型实施例中,期望的编码或解码时间T_exp=4ms。
步骤S305:将本次工作电压和/或频率保存并得到离线估计表格。
针对音频信号的典型应用场景,离线估计系统所需的工作电压和/或频率,虽然这个估计是粗略的估计,但对于节省功耗有较大贡献,因为不同的场景其对运算量的需求可能相差很大。
在本发明的一个具体方式中,动态调整编解码处理器电压和/或频率的方法,还包括,步骤S202:在线处理:其中,在线处理如图4所示,包括以下步骤,
步骤S401:初始配置(应用启动时运行一次)
启动初始配置的过程为,发射端协商编码参数或接收端协商解码参数,发射端根据编码参数和/或接收端根据解码参数查找离线估计表格得到相应的工作频率,再根据工作频率查询系统级芯片的说明书,选择说明书中相应电压和/或频率作为初始的电压和/或频率并配置处理器,然后音频驱动初始化,音频驱动初始化包括配置并启动直接存储器访问DMA,等待当前帧数据。
在本发明的一个具体实施例中,利用直接存储器访问DMA传输数据。
以编码过程为例,直接存储器访问DMA模块在配置好并启动后,会自动查询集成电路内置音频总线I2S的先入先出队列FIFO,并将其中的音频数据搬运到指定地址的随机存取存储器RAM,当一帧的数据读完以后,DMA模块会产生中断会唤醒CPU,然后CPU进入中断模式,并在中断服务ISR中向编码任务发送音频PCM数据已准备好的信号激活编码任务,同时启动下一次DMA数据传输。
步骤S402:编码或解码过程(每帧都运行一次)
主要包括以下步骤:
步骤S402a:每帧编码或解码过程开始,配置并重新启动直接存储器访问DMA,再启动计时器。
步骤S402b:编码或解码中间阶段,如图5所示,包括以下步骤:
步骤S501:第一调整指示Adj_ind1阶段
将当前帧的算法复杂度因子与上一帧的算法复杂度因子进行比较,得到电压和/或频率调整的第一调整指示,其中,第一调整指示包括当前帧的码率与上一帧的码率比值减1和码率因子的乘积,与时域噪声整形TNS滤波器因子和当前帧与上一帧的时域噪声整形TNS有效滤波器数量差值的乘积之和;
如图5所示,若当前码率与历史码率不相等时,第一调整指示Adj_ind1包括当前帧的码率BR_curr与上一帧的码率BR_his比值减1与码率因子BR_fac的乘积,若当前帧的码率BR_curr与上一帧的码率BR_his相等时,则不进行运算;同时,若当前帧的有效TNS的滤波器数量F_num与上一帧的有效TNS的滤波器数量F_num_his不相等时,第一调整指示Adj_ind1还包括TNS滤波器因子TNS_fac与当前帧与上一帧的时域噪声整形TNS有效滤波器数量差值(F_num – F_num_his)的乘积;若当前帧的有效TNS的滤波器数量F_num与上一帧的有效TNS的滤波器数量F_num_his相等,则不进行运算。
在特定的实施例中,码率可能是固定的,本发明的方法依然有效,也可以将码率因子换成其他的参数估算运算量变化。
针对音频信号的时变特性,根据当前帧相对于上一帧的算法复杂度变化来确定调整电压和/或频率的方向,达到迅速调整电压和/或频率的目的,在实时应用中,信号的特性以及码率都有可能发生变化,这是一个更为细致的调整,用于进一步准确的调整电压和/或频率:
a) 运算量变化较大,则可能需要调整电压和/或频率(还需要结合步骤S502得出最后的结论);
b) 运算量变化较小,则可能电压和/或频率维持不变。
根据运算量变化来调整电压可能有漂移问题,例如,连续4帧运算量缓慢增加,每一帧相当于上一帧的运算量增加都比较小,导致每一次计算出来的第一调整指示Adj_ind1都比较小,但总的4帧的运算量增加较大,这种情况仅靠运算量变化来调整则会导致编码或解码时间超出期望的编码或解码时间,此时可以根据下面步骤S502来纠正上述问题。
另,在编码或解码中,仅仅根据码率变化和TNS滤波器变化来预测时间的变化也可能误差,因为每一帧的音频频谱都有各自的特点,会导致其他一些模块的运算量的变化浮动,为了防止这种误差累积,也需要下面步骤S502纠正。
步骤S502:第二调整指示Adj_ind2阶段
根据历史帧的编码或解码时间预测当前帧的编码或解码时间,将预测编码或解码时间与期望编码或解码时间的比值减1作为电压和/或频率调整的第二调整指示,其中期望编码或解码时间为根据具体的应用场景对系统延迟的需求反向推导得出的结果。
在本发明的一个具体实施例中,预测编码或解码时间T_pred是用历史帧的编码或解码时间来预测当前帧的编码或解码时间,基于最近N帧的滑动平均,也可以使用滑动窗的变种,例如不同的帧以不同的增益,越新的帧权重越大。在音频中特别是在语音中一般在10~30ms内可以看作平稳信号,由于LC3的帧长为10ms或者7.5ms,所以N取值一般2~4。
在本发明的一个典型实施例中,期望编码或解码时间T_exp=4ms。
若预测编码或解码时间T_pred与期望编码或解码时间T_exp不相等时,第二调整指示Adj_ind2为预测编码或解码时间T_pred与期望编码或解码时间T_exp的比值减1;若预测编码或解码时间T_pred与期望编码或解码时间T_exp相等,则不进行运算。
针对音频信号的短时平稳特性,根据历史帧的编码或解码时间来预测当前帧的编码或解码时间的变化,这一步的主要作用是平稳信号的缓慢变化做出调整,同时对步骤S501的误差做校正。
步骤S503:第三调整指示Adj_ind3阶段,
根据第一调整指示与第一调整指示所占比重的乘积,和第二调整指示与第二调整指示所占比重的乘积之和得到电压和/或频率调整的第三调整指示,若第三调整指示的绝对值大于预设门限,则查询系统级芯片的说明书得到具体的调整参数,调用电源管理集成电路PMIC的驱动调整电压和/或频率。
根据运算量的变化,从而确定第一调整指示所占比重Algo_fac和第二调整指示所占比重Pred_fac,在本发明的一个典型实施例中,第一调整指示所占比重和第二调整指示所占比重各占50%,但是由于音频的时变特性可能导致运算量突然变化(特别是突然变大,可能会导致编码或解码时间超出期望的上限),本发明的运算量变化使第一调整指示Adj_ind1可以占据更大的比重,例如60%,这样,当运算量发生较大改变时,可以更迅速的调整电压和/或频率,确保延迟在期望的范围内。
在本发明的一个具体实施例中,如果期望每帧的编码时间是4ms,上下振幅在10%以内,则可以取5%即为第三调整指示Adj_ind3的预设门限,即编码时间变化幅度超出5%时就调整。另外,具体实施时,此预设门限也可以取其他值,但如果太小,则可能导致系统调整太频繁(电压和/或频率调整本身也会消耗一定的功耗,所以调整的过于频繁并不一定能使功耗最小化),太大则调整不够及时。具体实施步骤如下:
a) 第三调整指示Adj_ind3大于0,则升高电压和/或频率;
b) 第三调整指示Adj_ind3小于0,则降低电压和/或频率;
c) 具体的调整电压和/或频率的方法依赖于不同的系统级芯片SOC软硬件平台和电源管理集成电路PMIC的驱动。
步骤S403:编码或解码结束(每帧运行一次):
主要包括以下步骤:
步骤S403a:统计当前帧编码或解码的时间,并关闭计时器;
步骤S403b:处理器空闲,进入低功耗模式,等待直接存储器访问DMA唤醒。
当前帧处理结束后,处理器进入低功耗模式等待下一帧,下一帧重新开始进入步骤S402和步骤S403,形成一个循环过程,直至所有音频帧处理完毕。
所谓低功耗模式,目的是在处理器空闲时进一步减少功耗,此时处理器将保存上下文,同时关闭非必要的时钟和非必要的电源供电等,等候直接存储器访问DMA中断来唤醒处理器。
在本发明的一个具体实施例中,以编码过程为例,如图6是编码流程图以及关键的计算与控制节点,主要有两个信息采集或计算点:
1)在编码中间阶段,根据预测编码时间以及当前帧的算法复杂度因子,得到电压和/或频率的调整方向,同时调整工作电压和/或频率;
2)编码结束,统计当前帧的编码时间。
在本发明中,先通过离线估计选择初始的工作电压和/或频率,再通过历史帧的编码或解码时间预测当前帧的编码或解码时间,辅以当前帧的算法复杂度变化估计系统工作所需的电压,可以在保证系统延迟满足要求的前提下,实时并及时的调整电压和/或频率,并配合处理器低功耗模式,既保证了系统的延迟,又节省了处理器的功耗,延长了设备的使用寿命。
另一方面,在本发明的一个具体方式中,一种动态调整调整电压和/或频率的装置,包括:
离线模块:其根据典型的编码或解码参数组合,估算出处理器频率和/或电压的需求值,并将典型的编码或解码参数组合和需求值保存为离线估计表格,其中典型的编码或解码参数组合是由声道数为单或双、采样率为8kHz、16kHz、24kHz、32kHz、44.1kHz或48kHz中的一者、帧长为7.5毫秒或10毫秒以及码率为24kbps、48kbps、64kbps、96kbps、128kbps或256kbps中的一者组成;
离线模块进行离线估计的过程包括,
步骤S300,列出典型的编码或解码参数组合;
步骤S301,根据典型的编码或解码参数组合,处理器仿真平台得到运算量,并根据运算量得到频率估计值;
步骤S302,根据频率估计值查询系统级芯片的说明书,选择相应的电压和/或频率;
步骤S303,根据相应的电压和/或频率,在系统级芯片的平台上运行编码或解码,同时测量编码或解码时间;
步骤S304,将测量结果与期望编码或解码时间进行比较,若测量结果小于等于期望编码或解码时间,则本次离线估计结束,若测量结果大于期望编码或解码时间,则调整电压和/或频率,再返回步骤S303进行重新测量;
步骤S305,将本次工作电压和/或频率保存并得到离线估计表格。
针对音频信号的典型应用场景,离线估计系统所需的工作电压和/或频率,虽然这个估计是粗略的估计,但对于节省功耗有较大贡献,因为不同的场景其对运算量的需求可能相差好几倍。
在本发明的一个具体方式中,一种动态调整调整电压和/或频率的装置,还包括:
在线模块:其在启动初始配置中,发射端协商编码参数或接收端协商解码参数,发射端根据编码参数和/或接收端根据解码参数查找离线估计表格得到相应的工作频率,再根据工作频率查询系统级芯片说明书,选择说明书中相应电压和/或频率作为初始的电压和/或频率并配置处理器,然后音频驱动初始化。音频驱动初始化包括配置并启动直接存储器访问DMA,等待当前帧数据。此过程在应用启动时运行一次。
其在编码或解码过程中,每帧编码或解码过程开始,配置并重新启动直接存储器访问DMA,再启动计时器。
先将当前帧的算法复杂度因子与上一帧的算法复杂度因子进行比较,得到电压和/或频率调整的第一调整指示,其中,第一调整指示包括当前帧的码率与上一帧的码率比值减1和码率因子的乘积,与时域噪声整形TNS滤波器因子和当前帧与上一帧的时域噪声整形TNS有效滤波器数量差值的乘积之和;
再根据历史帧的编码或解码时间预测当前帧的编码或解码时间,将预测编码或解码时间与期望编码或解码时间的比值减1作为电压和/或频率调整的第二调整指示,其中期望编码或解码时间为根据具体的应用场景对系统延迟的需求反向推导得出的结果;
最后根据第一调整指示与第一调整指示所占比重的乘积,和第二调整指示与第二调整指示所占比重的乘积之和得到电压和/或频率调整的第三调整指示,若第三调整指示的绝对值大于预设门限,则查询系统级芯片的说明书得到具体的调整参数,调用电源管理集成电路PMIC的驱动调整电压和/或频率,其中第一调整指示所占比重和第二调整指示所占比重根据当前帧的时变特性而分配。
其在编码或解码过程结束后,统计当前帧编码或解码的时间,关闭计时器,处理器进入低功耗模式等待下一帧,下一帧重新开始编码或解码过程,形成一个循环过程,直至所有音频帧处理完毕。
本发明提供一种动态调整编解码处理器电压和/或频率的方法和装置,该方法先通过离线估计选择初始的工作电压和/或频率,再通过历史帧的编码或解码时间预测当前帧的编码或解码时间,辅以当前帧的算法复杂度变化估计系统工作所需的电压,在满足系统延迟要求的前提下,尽可能的实时降低处理器的工作电压和/或频率,达到节省功耗,延长设备使用寿命的目的。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种动态调整编解码处理器电压和/或频率的方法,其特征在于包括:
离线估计:根据典型的编码或解码参数组合,处理器仿真平台得到运算量,并根据所述运算量得到频率估计值;根据所述频率估计值查询系统级芯片的说明书,选择相应的电压和/或频率,得到处理器频率和/或电压的需求值,并将所述典型的编码或解码参数组合和所述需求值保存为离线估计表格,其中所述典型的编码或解码参数组合是由声道数为单或双、采样率为8kHz、16kHz、24kHz、32kHz、44.1kHz或48kHz中的一者、帧长为7.5毫秒或10毫秒以及码率为24kbps、48kbps、64kbps、96kbps、128kbps或256kbps中的一者组成;
在线处理:在初始配置过程中,根据所述离线估计的结果选择初始的电压和/或频率,
在编码或解码过程中,将当前帧的算法复杂度因子与上一帧的所述算法复杂度因子进行比较,得到电压和/或频率调整的第一调整指示,其中,所述第一调整指示为所述当前帧的码率与所述上一帧的码率比值减1和码率因子的乘积,与时域噪声整形TNS滤波器因子和所述当前帧与所述上一帧的时域噪声整形TNS有效滤波器数量差值的乘积之和,
根据历史帧的编码或解码时间预测所述当前帧的编码或解码时间,将预测编码或解码时间与期望编码或解码时间的比值减1作为电压和/或频率调整的第二调整指示,其中所述期望编码或解码时间为根据具体的应用场景对系统延迟的需求反向推导得出的结果,
根据所述第一调整指示与第一调整指示所占比重的乘积,和所述第二调整指示与第二调整指示所占比重的乘积之和得到电压和/或频率调整的第三调整指示,若所述第三调整指示的绝对值大于预设门限,则查询系统级芯片的说明书得到具体的调整参数,调用电源管理集成电路PMIC的驱动调整电压和/或频率,其中所述第一调整指示所占比重和所述第二调整指示所占比重根据所述当前帧的时变特性而分配,
在编码或解码结束后,统计所述当前帧的编码或解码时间,关闭计时器,所述处理器进入低功耗模式等待下一帧,所述下一帧重新开始所述编码或解码过程,形成一个循环过程,直至所有音频帧处理完毕。
2.根据权利要求1所述的动态调整编解码处理器电压和/或频率的方法,其特征在于,所述离线估计的过程包括,
根据所述相应的电压和/或频率,在所述系统级芯片的平台上运行编码或解码,同时测量编码或解码时间;
将测量结果与所述期望编码或解码时间进行比较,若所述测量结果小于等于所述期望编码或解码时间,则本次离线估计结束;若所述测量结果大于所述期望编码或解码时间,则调整电压和/或频率,再重新测量所述典型的编码或解码参数组合的编码或解码时间;
将本次工作电压和/或频率保存并得到离线估计表格。
3.根据权利要求2所述的动态调整编解码处理器电压和/或频率的方法,其特征在于,所述初始配置过程包括发射端协商编码参数或接收端协商解码参数,所述发射端根据所述编码参数或所述接收端根据所述解码参数查找所述离线估计表格得到相应的工作频率,再根据所述工作频率查询所述说明书,选择所述说明书中的相应电压和/或频率作为所述初始的电压和/或频率并配置所述处理器,然后进行音频驱动初始化。
4.根据权利要求1-3任一所述的动态调整编解码处理器电压和/或频率的方法,其特征在于,在所述编码或解码过程中,每帧编码或解码过程开始,配置并重新启动直接存储器访问DMA,再启动所述计时器。
5.根据权利要求1所述的动态调整编解码处理器电压和/或频率的方法,其特征在于,所述在线处理中,利用直接存储器访问DMA传输所述当前帧数据。
6.一种动态调整编解码处理器电压和/或频率的装置,其特征在于包括:
离线模块:其根据典型的编码或解码参数组合,处理器仿真平台得到运算量,并根据所述运算量得到频率估计值;根据所述频率估计值查询系统级芯片的说明书,选择相应的电压和/或频率,得到处理器频率和/或电压的需求值,并将所述典型的编码或解码参数组合和所述需求值保存为离线估计表格,其中所述典型的编码或解码参数组合是由声道数为单或双、采样率为8kHz、16kHz、24kHz、32kHz、44.1kHz或48kHz中的一者、帧长为7.5毫秒或10毫秒以及码率为24kbps、48kbps、64kbps、96kbps、128kbps或256kbps中的一者组成;
在线模块:其在初始配置过程中,根据所述离线模块中离线估计的结果选择初始的电压和/或频率,
其在编码或解码过程中,将当前帧的算法复杂度因子与上一帧的所述算法复杂度因子进行比较,得到电压和/或频率调整的第一调整指示,其中,所述第一调整指示为所述当前帧的码率与所述上一帧的码率比值减1和码率因子的乘积,与时域噪声整形TNS滤波器因子和所述当前帧与所述上一帧的时域噪声整形TNS有效滤波器数量差值的乘积之和,
根据历史帧的编码或解码时间预测所述当前帧的编码或解码时间,将预测编码或解码时间与期望编码或解码时间的比值减1作为电压和/或频率调整的第二调整指示,其中所述期望编码或解码时间为根据具体的应用场景对系统延迟的需求反向推导得出的结果,
根据所述第一调整指示与第一调整指示所占比重的乘积,和所述第二调整指示与第二调整指示所占比重的乘积之和得到电压和/或频率调整的第三调整指示,若所述第三调整指示的绝对值大于预设门限,则查询系统级芯片的说明书得到具体的调整参数,调用电源管理集成电路PMIC的驱动调整电压和/或频率,其中所述第一调整指示所占比重和所述第二调整指示所占比重根据所述当前帧的时变特性而分配;
在编码或解码结束后,统计所述当前帧的编码或解码时间,关闭计时器,所述处理器进入低功耗模式等待下一帧,所述下一帧重新开始所述编码或解码过程,形成一个循环过程,直至所有音频帧处理完毕。
7.根据权利要求6所述的动态调整编解码处理器电压和/或频率的装置,其特征在于,所述离线模块在所述在线模块之前进行所述离线估计,所述离线估计的过程包括,
根据所述相应的电压和/或频率,在所述系统级芯片的平台上运行编码或解码,同时测量编码或解码时间;
将测量结果与所述期望编码或解码时间进行比较,若所述测量结果小于等于所述期望编码或解码时间,则本次离线估计结束;若所述测量结果大于所述期望编码或解码时间,则调整电压和/或频率,再重新测量所述典型的编码或解码参数组合的编码或解码时间;
将本次工作电压和/或频率保存并得到离线估计表格。
8.根据权利要求6所述的动态调整编解码处理器电压和/或频率的装置,其特征在于,所述在线模块中所述初始配置过程包括,发射端协商编码参数或接收端协商解码参数,所述发射端根据所述编码参数和/或所述接收端根据所述解码参数查找所述离线估计表格得到相应的工作频率,再根据所述工作频率查询所述说明书,选择所述说明书中的相应电压和/或频率作为初始的电压和/或频率并配置所述处理器,然后进行音频驱动初始化。
9.根据权利要求6-8任一所述的动态调整编解码处理器电压和/或频率的装置,其特征在于,所述在线模块在所述编码或解码过程中,每帧编码或解码过程开始,配置并启动重新直接存储器访问DMA,再启动所述计时器。
10.根据权利要求6所述的动态调整编解码处理器电压和/或频率的装置,其特征在于,在所述在线模块中,利用直接存储器访问DMA传输所述当前帧数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010185595.8A CN111342937B (zh) | 2020-03-17 | 2020-03-17 | 一种动态调整编解码处理器电压和/或频率的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010185595.8A CN111342937B (zh) | 2020-03-17 | 2020-03-17 | 一种动态调整编解码处理器电压和/或频率的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111342937A CN111342937A (zh) | 2020-06-26 |
CN111342937B true CN111342937B (zh) | 2022-05-06 |
Family
ID=71187953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010185595.8A Active CN111342937B (zh) | 2020-03-17 | 2020-03-17 | 一种动态调整编解码处理器电压和/或频率的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111342937B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111787319B (zh) * | 2020-07-22 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种视频信息处理方法、多媒体信息处理方法及装置 |
CN112631415B (zh) * | 2020-12-31 | 2022-09-02 | Oppo(重庆)智能科技有限公司 | Cpu频率调整方法、装置、电子设备及存储介质 |
CN115579013B (zh) * | 2022-12-09 | 2023-03-10 | 深圳市锦锐科技股份有限公司 | 一种低功耗音频解码器 |
CN117492552B (zh) * | 2024-01-03 | 2024-04-16 | 芯瞳半导体技术(山东)有限公司 | 动态电压频率调节方法、控制器、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006004065A1 (ja) * | 2004-07-02 | 2006-01-12 | Kanazawa University Technology Licensing Organization Ltd. | 動画像符号化処理システム、動画像符号化又は復号化処理システム、動画像符号化処理方法、及び、動画像符号化又は復号化処理方法 |
CN105210149A (zh) * | 2013-01-18 | 2015-12-30 | 弗劳恩霍夫应用研究促进协会 | 用于音频信号解码或编码的时域电平调整 |
CN106559177A (zh) * | 2016-09-30 | 2017-04-05 | 浙江工业大学 | 射频充电传感节点的帧长和编码冗余度动态调整方法 |
CN108811117A (zh) * | 2017-05-05 | 2018-11-13 | 中兴通讯股份有限公司 | 一种发送上行数据的方法及装置 |
CN110767243A (zh) * | 2019-11-04 | 2020-02-07 | 重庆百瑞互联电子技术有限公司 | 一种音频编码方法、装置及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100479329B1 (ko) * | 2001-12-24 | 2005-03-30 | 한국전자통신연구원 | 동작주파수 및 구동전압 변동을 이용한 mpeg 디코딩 방법 |
JP2004289703A (ja) * | 2003-03-25 | 2004-10-14 | Renesas Technology Corp | 通信用半導体集積回路 |
-
2020
- 2020-03-17 CN CN202010185595.8A patent/CN111342937B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006004065A1 (ja) * | 2004-07-02 | 2006-01-12 | Kanazawa University Technology Licensing Organization Ltd. | 動画像符号化処理システム、動画像符号化又は復号化処理システム、動画像符号化処理方法、及び、動画像符号化又は復号化処理方法 |
CN105210149A (zh) * | 2013-01-18 | 2015-12-30 | 弗劳恩霍夫应用研究促进协会 | 用于音频信号解码或编码的时域电平调整 |
CN106559177A (zh) * | 2016-09-30 | 2017-04-05 | 浙江工业大学 | 射频充电传感节点的帧长和编码冗余度动态调整方法 |
CN108811117A (zh) * | 2017-05-05 | 2018-11-13 | 中兴通讯股份有限公司 | 一种发送上行数据的方法及装置 |
CN110767243A (zh) * | 2019-11-04 | 2020-02-07 | 重庆百瑞互联电子技术有限公司 | 一种音频编码方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
"MPPSK编码调制与无线视频传输的研究与实现";沙俊;《中国优秀硕士学位论文全文数据库信息科技辑》;20171215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111342937A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111342937B (zh) | 一种动态调整编解码处理器电压和/或频率的方法和装置 | |
US9223376B2 (en) | Managing electrical current in a portable computing device when two or more communications overlap in drawing power during a transmission | |
WO2014135129A1 (zh) | 一种处理器工作频率的控制方法及装置 | |
US8204552B2 (en) | Method for predicting available time remaining on battery in mobile devices based on usage patterns | |
US8135966B2 (en) | Method and device for power management | |
JP2004246894A (ja) | ネットワーク・プロセッサの省電力方法及び装置 | |
WO2007073632A1 (fr) | Procede de reduction de la consommation d'energie de processeurs | |
KR20020018309A (ko) | 시피유 스케쥴링 방법 | |
US8006113B2 (en) | System and method for controlling voltage level and clock frequency supplied to a system | |
CN108983946B (zh) | 一种服务器功耗控制方法、系统及设备 | |
EP3072031B1 (en) | Method and system for optimizing a core voltage level and operating frequency of individual subcomponents for reducing power consumption within a portable computing device | |
JP2573352B2 (ja) | 音声検出装置 | |
JP2005285093A (ja) | プロセッサ電力制御装置及びプロセッサ電力制御方法 | |
US20170168853A1 (en) | Dynamic predictive wake-up techniques | |
KR20210110666A (ko) | 재충전식 디바이스에서 캐스팅 요청 및/또는 사용자 입력의 적응적 관리 | |
CN107885306A (zh) | 中央处理器的休眠控制方法与设备 | |
WO2023284448A1 (zh) | 工作频率调整方法、装置、电子设备及存储介质 | |
CN113639470B (zh) | 一种热水器的水量控制方法、装置、热水器及存储介质 | |
CN110045951B (zh) | 一种神经网络硬件低功耗定制化的开发工具 | |
CN110996762B (zh) | 一种睡眠监测方法、装置和可穿戴设备 | |
Scherrer et al. | Low complexity, real-time adjusted power management policy using golden section search | |
KR20160027680A (ko) | 패킷 전송 지연으로 인한 전력 이득을 이용하여 패킷 전송 시점을 결정하는 방법 및 장치 | |
CN112562699B (zh) | 语音处理方法及其装置 | |
CN114443283B (zh) | 一种应用实例的伸缩方法和装置 | |
CN116516607A (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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: A1009, floor 9, block a, No. 9, Shangdi Third Street, Haidian District, Beijing 100085 Patentee after: Beijing Bairui Internet Technology Co.,Ltd. Address before: 7-1-1, building C, 7 / F, building 2-1, No.2, Shangdi Information Road, Haidian District, Beijing 100085 Patentee before: BARROT WIRELESS Co.,Ltd. |