处理器及其音频处理方法

文档序号:8430532阅读:468来源:国知局
处理器及其音频处理方法
【技术领域】
[0001]本发明涉及音频处理技术领域,尤其是涉及一种处理器及其音频处理方法。
【背景技术】
[0002]近年来随着音频处理技术在不同领域的广泛应用,音频处理算法的功能越来越丰富,复杂度不断增加,对于音频处理器的面积、功耗和速度的要求也不断提高。在助听器、话筒、手机、平板电脑等音频和多媒体设备中,为了实现更低功耗、更小面积的语音处理芯片,同时保证高质量的音频效果,需要对处理器的结构进行不断优化。
[0003]现有技术的其中一种音频处理器普遍是基于通用数字信号处理器的软件算法来实现音频处理的功能,这使得在功耗和面积上存在浪费,同时,在同频率下的处理速度也相对较慢。
[0004]现有的另一种音频处理器则采用了全硬件的ASIC(Applicat1n SpecificIntegrated Circuits,专用集成电路)实现方式,实现了功耗、面积、速度上的优化,但是缺乏算法的灵活性,容错性较差。

【发明内容】

[0005]本发明主要解决的技术问题是提供一种处理器及其音频处理方法,可以增强处理方法的灵活性,便于调整和修改。
[0006]为解决上述技术问题,本发明采用的一个技术方案是:提供一种处理器的音频处理方法,该方法包括以下步骤:接收待处理的音频数据,并将音频数据保存到缓冲区中;对缓冲区的音频数据进行处理:其中,对音频数据执行预设的音频算法,并在执行音频算法的过程中调用对应的音频运算类型对音频数据执行音频运算,然后保存执行音频算法和音频运算的中间数据和结果数据;发送结果数据;以及根据外部指令结合音频运算类型和保存的中间数据调整缓冲区的音频数据的处理流程。
[0007]其中,对缓冲区的音频数据进行处理之前包括:判断缓冲区的音频数据是否达到预设的数据阈值;在判断的结果为是时,执行对缓冲区的音频数据进行处理的步骤;在判断的结果为否时,执行接收待处理的音频数据,并将音频数据保存到缓冲区中的步骤。
[0008]其中,对音频数据执行预设的音频算法的步骤包括:对音频数据依次执行filter、aec、ns、age的音步贡算法。
[0009]其中,在调用对应的音频运算类型对音频数据执行音频运算时,进一步调用FFT音频算法对音频数据执行音频算法。
[0010]其中,调用对应的音频运算类型对音频数据执行音频运算的步骤包括:
[0011]调用加法、减法、乘法、除法、指数、对数以及开方的至少一种音频运算类型对音频数据执行音频运算。
[0012]为解决上述技术问题,本发明采用的另一个技术方案是:提供一种处理器,其特征在于,处理器包括:音频接口,用于接收待处理的音频数据;缓冲区,用于保存音频数据;控制模块和算法功能模块,控制模块用于控制算法功能模块对缓冲区的音频数据进行处理;处理器包括运算处理模块,其中:控制模块控制算法功能模块对音频数据执行预设的音频算法,并在执行音频算法的过程中调用运算处理模块中对应的音频运算类型对音频数据执行音频运算;存储器,用于保存执行音频算法和音频运算的中间数据和结果数据;音频接口进一步发送结果数据;控制模块进一步根据外部指令调用运算处理模块和存储器,使得可以结合音频运算类型和保存的中间数据调整算法处理模块对缓冲区的音频数据的处理流程。
[0013]其中,处理器还包括判断模块,用于判断缓冲区的音频数据是否达到预设的数据阈值;
[0014]控制模块在判断模块判断的结果为是时,控制算法功能模块对缓冲区的音频数据进行处理,在判断模块判断的结果为否时,控制音频接口继续接收待处理的音频数据,并且缓冲区继续保存音频数据。
[0015]其中,算法功能模块还包括filter单元、aec单元、ns单元、age单元,用于分别对音频数据执行filter、aec、ns、age的音频算法。
[0016]其中,算法功能模块还包括FFT单元,其中算法功能模块在调用运算处理模块中对应的音频运算类型对音频数据执行音频运算时,进一步调用FFT单元对音频数据执行FFT音频算法。
[0017]其中,运算处理模块还包括加法单元、减法单元、乘法单元、除法单元、指数单元、对数单元以及开方单元,用于分别执行加法、减法、乘法、除法、指数、对数以及开方音频运笪
ο O
[0018]本发明的有益效果是:区别于现有技术的情况,本发明的处理器的音频处理方法通过根据外部指令结合音频运算类型和保存的中间数据调整缓冲区的音频数据的处理流程。由此可以增强处理方法的灵活性,便于调整和修改。
【附图说明】
[0019]图1是本发明实施例提供的一种处理器的音频处理方法的流程图;
[0020]图2是本发明实施例提供的一种处理器的结构示意图。
【具体实施方式】
[0021]请参阅图1,图1是本发明实施例提供的一种处理器的音频处理方法的流程图。如图1所示,本发明音频处理方法包括以下步骤:
[0022]步骤S1:接收待处理的音频数据,并将音频数据保存到缓冲区中。
[0023]其中,本步骤具体是以标准的音频接口协议IIS(Integrate Interface ofSound,集成音频接口 )接收该待处理的音频数据。
[0024]并进一步将该音频数据保存在接收缓冲区中。
[0025]步骤S2:对缓冲区的音频数据进行处理:其中,对音频数据执行预设的音频算法,并在执行音频算法的过程中调用对应的音频运算类型对音频数据执行音频运算,然后保存执行音频算法和音频运算的中间数据和结果数据。
[0026]在执行本步骤之前,还需要判断缓冲区,具体为步骤SI所述的接收缓冲区中的音频数据是否达到预设的数据阈值。在判断的结果为是时,执行本步骤,在判断的结果为否时,执行步骤Si,即继续接收待处理的音频数据,并继续将音频数据保存到接收缓冲区中。
[0027]其中,本发明实施例的数据阈值优选为一帧音频数据,在其他实施例中还可以为其他数据大小的值。
[0028]其中,对音频数据执行预设的音频算法具体为对音频数据依次执行filter(滤波)、aec (Acoustic Echo Cancellat1n,回声抑制)、ns (Newton,s method,牛顿迭代法)以及age (Automatic Gain Control,自动增益)的音频算法。
[0029]其中,在调用对应的音频运算类型对音频数据执行音频运算时,进一步调用FFT(Fast Fourier Transform,快速傅立叶变换)音频算法对音频数据执行FFT音频算法。
[0030]其中,调用对应的音频运算类型对音频数据执行音频运算具体为调用加法、减法、乘法、除法、指数、对数以及开方的至少一种音频运算类型对所述音频数据执行音频运算。应理解,本实施例还可以调用其他的音频运算。
[0031]其中,本发明的音频运算优选为16-32位的复杂运算。
[0032]步骤S3:发送结果数据。
[0033]具体为,首先通过发送缓冲区读取保存的结果数据,然后按照ISS协议依次通过音频接口将结果数据发送出去。
[0034]步骤S4:根据外部指令结合音频运算类型和保存的中间数据调整缓冲区的音频数据的处理流程。
[0035]其中,步骤S4和步骤S3可以相互调换。
[0036]本实施例中,由于可以根据外部指令结合音频运算类型和保存的中间数据调整缓冲区的音频数据的处理流程。由此可以达到升级和调整的目的,即便于算法的修改和升级。
[0037]举例而言,调整过程可以如下:用户首先接收输出的结果数据,然后分析输出的结果数据,若输出的结果数据和预设的结果存在偏差,则根据偏差的情况输入指令,例如若输出的数据音量较小,则可以选择指数等音频运算类型。
[0038]本发明还基于前文所述的音频处理方法提供一种处理器。具体请参阅图2所示。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1