基于蓝牙音频接收器的啸叫检测和抑制方法及装置转让专利

申请号 : CN202210053739.3

文献号 : CN114067814B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李强朱勇叶东翔王尧

申请人 : 北京百瑞互联技术有限公司

摘要 :

本申请公开了一种基于蓝牙音频接收器的啸叫检测和抑制方法及装置,属于音频解码技术领域,该方法包括:在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活标志和基音延迟;判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的激活标志是否均为预设数值;若是,则判断第一预设数目个前连续音频帧分别对应的基音延迟是否相同;若相同,则确定蓝牙音频存在啸叫,开始进行啸叫抑制。本申请的基于蓝牙音频接收器的啸叫检测和抑制方法及装置通过利用音频接收器对音频的解码过程中,长期后置滤波器的解码信息进行是否存在音频啸叫的判断,并进行啸叫抑制,复杂度低,运算量少,功耗低,适用于在低功耗蓝牙中的应用。

权利要求 :

1.一种基于蓝牙音频接收器的啸叫检测和抑制方法,其特征在于,包括:在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活标志和基音延迟;

判断包含所述当前音频帧在内的第一预设数目个前连续音频帧分别对应的所述激活标志是否均为预设数值;

若是,则判断第一预设数目个所述前连续音频帧分别对应的基音延迟是否相同;

若相同,根据所述当前音频帧对应的所述基音延迟计算当前基音频率;

根据所述当前基音频率确定所述当前音频帧对应的当前频谱系数索引;

确定以所述当前频谱系数索引为中心的两个相邻频谱系数索引;

计算所述当前频谱系数索引和所述相邻频谱系数索引分别对应的谱系数的能量和,得到所述当前音频帧对应的能量值;

若包含所述当前音频帧在内的预设数量个连续音频帧对应的能量值持续上升,且所述当前音频帧对应的能量值大于预设阈值,则确定所述蓝牙音频存在啸叫,开始进行啸叫抑制,所述第一预设数目为至少大于等于2的整数。

2.根据权利要求1所述的基于蓝牙音频接收器的啸叫检测和抑制方法,其特征在于,还包括:

在长期后置滤波器对所述蓝牙音频的解码过程中,获取所述当前音频帧对应的所述激活标志和所述当前音频帧对应的所述基音延迟。

3.根据权利要求1所述的基于蓝牙音频接收器的啸叫检测和抑制方法,其特征在于,所述开始进行啸叫抑制,包括:

根据所述当前基音频率确定滤波参数,并根据所述滤波参数对长期后置滤波器进行设置;

通过设置后的所述长期后置滤波器对包含所述当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制。

4.根据权利要求3所述的基于蓝牙音频接收器的啸叫检测和抑制方法,其特征在于,所述开始进行啸叫抑制,还包括:

根据所述当前基音频率设置陷波滤波器,通过所述陷波滤波器对所述第二预设数目个后连续音频帧进行滤波,进行啸叫抑制。

5.一种基于蓝牙音频接收器的啸叫检测和抑制装置,其特征在于,包括:啸叫检测模块,其对蓝牙音频是否存在啸叫进行检测,所述啸叫检测模块包括:激活标志判断模块,其在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活标志和基因延迟,并判断包含所述当前音频帧在内的第一预设数目个前连续音频帧分别对应的所述激活标志是否均为预设数值;

基音延迟判断模块,若所述激活标志均为预设数值,其判断第一预设数目个所述前连续音频帧分别对应的基音延迟是否相同,若相同,则所述蓝牙音频存在啸叫;

啸叫确认模块,其在所述啸叫检测模块确定所述蓝牙音频存在啸叫时,对所述蓝牙音频存在啸叫进行再确认,包括

基音频率确认模块,其根据所述当前音频帧对应的所述基音延迟计算当前基音频率;

频谱系数索引模块,其根据所述当前基音频率确定所述当前音频帧对应的当前频谱系数索引,并确定以所述当前频谱系数索引为中心的两个相邻频谱系数索引;

能量值确认模块,其计算所述当前频谱系数索引和所述相邻频谱系数索引分别对应的谱系数的能量和,得到所述当前音频帧对应的所述能量值;

啸叫抑制模块,其对所述能量值进行判断,若包含所述当前音频帧在内的预设数量个连续音频帧对应的能量值持续上升,且所述当前音频帧对应的能量值大于预设阈值,则确定所述蓝牙音频存在啸叫,开始进行啸叫抑制,所述第一预设数目为至少大于等于2的整数。

6.一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行权利要求1‑4任一项所述的基于蓝牙音频接收器的啸叫检测和抑制方法。

7.一种计算机设备,其包括处理器和存储器,所述存储器存储有计算机指令,其中:所述处理器操作计算机指令以执行权利要求1‑4任一项所述的基于蓝牙音频接收器的啸叫检测和抑制方法。

说明书 :

基于蓝牙音频接收器的啸叫检测和抑制方法及装置

技术领域

[0001] 本申请涉及音频编解码技术领域,尤其涉及一种基于蓝牙音频接收器的啸叫检测和抑制方法及装置。

背景技术

[0002] 目前主流的蓝牙音频编码器中,“子带编码技术(SBC)”是使用最为广泛,是所有的蓝牙音频设备必须支持的,但音质一般;“高级音频编码技术(AAC‑LC)” 音质较好且应用较
为广泛,很多主流的手机都支持,但是其内存占用较大,且运算复杂度高,很多蓝牙设备都
基于嵌入式平台,电池容量有限,处理器运算能力较差且内存有限;“高通蓝牙音频编码技
术(aptX系列)”和“索尼蓝牙音频编码技术(LDAC)”,音质较好但是码率很高,且其分别为高
通和索尼独有技术,较为封闭。基于上述原因,蓝牙国际联盟联合众多厂商推出了LC3,其具
有较低延迟、较高音质和编码增益以及在蓝牙领域无专利费得优点,受到广大厂商的关注。
[0003] 蓝牙音频有很多典型的应用场景,譬如说基于蓝牙的卡拉OK、基于蓝牙的无线麦克风/音箱等,从数据流的角度,可以抽象为图1所示,可以看出,此图中存在从扬声器到麦
克风的反馈路径(如虚线箭头所示),此闭环状态使得当系统在增益增大到一定状态时有可
能趋于不稳定,产生自激振荡发生啸叫,为了检测以便于进一步避免啸叫,现有技术中,可
以在音频处理的路径上插入一个模块,譬如在音频编码器之前或音频解码器之后插入,用
来检测啸叫的产生。现有方案中基于频域的方法检测较为准确使用广泛,但其需要完成时
频变换,再基于频域得到的特征来检测啸叫,并完成抑制,最后再将频域信号转换为时域信
号,运算量较大,导致设备功耗增大,对蓝牙设备,特别是蓝牙接收器设备的续航能力造成
较大的影响。

发明内容

[0004] 针对现有技术中,在进行啸叫检测和抑制过程中,需要在音频处理的路径上插入一个啸叫检测模块,处理过程复杂,功耗高,运算量大,不适合在低功耗蓝牙中应用的问题,
本申请提出一种基于蓝牙音频接收器的啸叫检测和抑制方法及装置。
[0005] 在本申请的一个技术方案中,提供一种基于蓝牙音频接收器的啸叫检测和抑制方法,包括:在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活标志;
判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的激活标志是否均为
预设数值;若是,则判断第一预设数目个前连续音频帧分别对应的基音延迟是否相同;若相
同,则确定蓝牙音频存在啸叫,开始进行啸叫抑制。
[0006] 可选的,还包括,在长期后置滤波器对蓝牙音频的解码过程中,获取当前音频帧对应的激活标志和当前音频帧对应的基音延迟。
[0007] 可选的,还包括:根据当前音频帧对应的基音延迟计算当前基音频率;根据当前基音频率确定当前音频帧对应的当前频谱系数索引;根据频谱系数索引确定当前音频帧对应
的能量值;若能量值大于预设阈值,则确定蓝牙音频存在啸叫。
[0008] 可选的,根据当前频谱系数索引确定当前音频帧对应的能量值,包括:确定以当前频谱系数索引为中心的两个相邻频谱系数索引;计算当前频谱系数索引和相邻频谱系数索
引分别对应的谱系数的能量和,得到当前音频帧对应的能量值。
[0009] 可选的,开始进行啸叫抑制,包括:根据当前基音频率确定滤波参数,并根据滤波参数对长期后置滤波器进行设置;通过长期后置滤波器对包含当前音频帧在内的第二预设
数目个后连续音频帧分别进行啸叫抑制。
[0010] 可选的,开始进行啸叫抑制,还包括:根据当前基音频率设置陷波滤波器,通过陷波滤波器对第二预设数目个后连续音频帧进行滤波。
[0011] 在本申请的一个技术方案中,提供一种基于蓝牙音频接收器的啸叫检测和抑制装置,包括:啸叫检测模块,其对蓝牙音频是否存在啸叫进行检测,啸叫检测模块包括:激活标
志判断模块,其在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活
标志,并判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的激活标志是
否均为预设数值;基音延迟判断模块,若激活标志均为预设数值,其判断第一预设数目个前
连续音频帧分别对应的基音延迟是否相同,若相同,则蓝牙音频存在啸叫;啸叫抑制模块,
其在蓝牙音频存在啸叫时,进行啸叫抑制。
[0012] 可选的,还包括:啸叫确认模块,其在啸叫检测模块确定蓝牙音频存在啸叫时,对蓝牙音频存在啸叫进行再确认,包括:基音频率确认模块,其根据当前音频帧对应的基音延
迟计算当前基音频率;频谱系数索引模块,其根据当前基音频率确定当前音频帧对应的当
前频谱系数索引;能量值确认模块,其根据频谱系数索引确定当前音频帧对应的对应的能
量值;判断模块,其对能量值进行判断,若能量值大于预设阈值,则确定蓝牙音频存在啸叫。
[0013] 在本申请的一个技术方案中,提供一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行方案一中任一项的基于蓝牙音频接收器的啸叫检测和抑
制方法。
[0014] 在本申请的一个技术方案中,提供一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中:处理器操作计算机指令以执行方案一中任一项的基于蓝牙音
频接收器的啸叫检测和抑制方法。
[0015] 本申请的有益效果是:本申请的基于蓝牙音频接收器的啸叫检测和抑制方法及装置通过利用音频接收器对音频的解码过程中,长期后置滤波器的解码信息进行是否存在音
频啸叫的判断,并进行啸叫抑制,复杂度低,运算量少,功耗低,适用于在低功耗蓝牙中的应
用。

附图说明

[0016] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申
请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以
根据这些附图获得其他的附图。
[0017] 图1是蓝牙音频啸叫发生过程示意图;
[0018] 图2是本申请基于蓝牙音频接收器的啸叫检测和抑制方法的一个实施方式;
[0019] 图3是本申请基于蓝牙音频接收器的啸叫检测和抑制方法的一个实例;
[0020] 图4是本申请基于蓝牙音频接收器的啸叫检测和抑制方法的一个实施例;
[0021] 图5是本申请基于蓝牙音频接收器的啸叫检测和抑制方法的另一个实例;
[0022] 图6是本申请基于蓝牙音频接收器的啸叫检测和抑制方法中啸叫抑制的一个实例;
[0023] 图7是本申请基于蓝牙音频接收器的啸叫检测和抑制装置的一个实施方式;
[0024] 图8是本申请基于蓝牙音频接收器的啸叫检测和抑制装置的一个实施例。
[0025] 通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为
本领域技术人员说明本申请的概念。

具体实施方式

[0026] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0027] 本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理
解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除
了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的产品或设备不必限于
清楚地列出的哪些单元,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它
单元。
[0028] 为了检测以便于进一步避免啸叫,现有技术中,可以在音频处理的路径上插入一个啸叫检测模块,譬如在音频编码器之前或音频解码器之后插入,用来检测啸叫的产生进
而避免啸叫。该现有方案是基于频域的方法进行检测,使用较为准确广泛,但其需要完成时
频变换,再基于频域得到的特征来检测啸叫,运算量较大,功耗大,运算复杂度特别高。在低
功耗蓝牙的应用过程中,低功耗蓝牙本身对功耗有着较高的限制,因此上述的啸叫检测和
抑制方法在应用到低功耗蓝牙中时,便会有较大的弊端。
[0029] 针对上述问题,本申请通过在音频解码的过程中,根据长期后置滤波器对音频解码过程中的已有信息,进行音频啸叫的检测,而不用专门设置额外的啸叫检测模块,从而使
得啸叫检测过程简单高效,不用增加额外的运算量,节省功耗,更加适用于低功耗蓝牙领
域。
[0030] 为此,本申请提出一种基于蓝牙音频接收器的啸叫检测和抑制方法及装置。本申请的基于蓝牙音频接收器的啸叫检测和抑制方法包括:在对蓝牙音频的解码过程中,获取
当前音频帧对应的长期后置滤波器激活标志;判断包含当前音频帧在内的第一预设数目个
前连续音频帧分别对应的激活标志是否均为预设数值;若是,则判断第一预设数目个前连
续音频帧分别对应的基音延迟是否相同;若相同,则确定蓝牙音频存在啸叫,开始进行啸叫
抑制。
[0031] 本申请的基于蓝牙音频接收器的啸叫检测和抑制方法及装置利用音频接收器对音频解码过程中,长期后置滤波器处理过程的参数,包括长期后置滤波器激活标志和基音
延迟等,根据上述参数的在多帧音频结果过程中的变化特点,进行音频是否存在啸叫的判
断,在存在啸叫时,开始进行啸叫抑制。相比较于现有技术中,需要通过额外的啸叫检测模
块和啸叫抑制模块进行相应的啸叫检测和抑制过程,本申请的方法更加简单,方便,运算量
低,尤其适用于低功耗蓝牙领域。
[0032] 下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念
或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
[0033] 图2示出了本申请基于蓝牙音频接收器的啸叫检测和抑制方法的一个实施方式。
[0034] 在图2所示的实施方式中,本申请的基于蓝牙音频接收器的啸叫检测和抑制方法包括:过程S201,在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活
标志和基音延迟。
[0035] 在该实施方式中,在对当前音频帧的解码时,可在长期后置滤波器对当前音频帧的解码过程中,获取当前音频帧对应的长期后置滤波器激活标志ltpf_active,其中该激活
标志反映该当前音频帧是否含有基音等信息。其中,长期后置滤波器激活标志的数值为0或
1。若激活标志为0,则表示该当前音频帧的不包含基音,如激活标志为1,则表示该当前音频
帧中含有基音。
[0036] 在图2所示的实施方式中,本申请的基于蓝牙音频接收器的啸叫检测和抑制方法包括:过程S202,判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的激
活标志是否均为预设数值。
[0037] 在该实施方式中,在获得当前音频帧对应的长期后置滤波器激活标志后,判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的激活标志是否均为预设数
值,即判断当前音频帧以及当前音频帧之前的一定数量个音频帧分别对应的激活标志是否
均为预设数值,其中预设数值为1,即表示音频帧中存在基音。根据音频的特性,当连续一定
数量的音频帧的长期后置滤波器激活标志的数值均为1时,则说明当前音频帧中具有能量
较强的基音频率成分,例如当前音频帧包括语音或音乐等基音,或者当前音频帧产生了啸
叫。
[0038] 在图2所示的实施方式中,本申请的基于蓝牙音频接收器的啸叫检测和抑制方法包括:过程S203,若是,则判断第一预设数目个前连续音频帧分别对应的基音延迟是否相
同。
[0039] 在该实施方式中,在判断第一预设数目个前连续音频帧分别对应的长期后置滤波器激活标志均为预设数值1时,则进行基音延迟的判断。判断包含当前音频帧在内的第一预
设数目个前连续音频帧分别对应的基音延迟是否相同,若相同,则表示当前音频帧中有很
大的可能存在啸叫。
[0040] 具体的,语音帧在10 30ms内是短时平稳的,所以其基音周期是缓慢变化的,如果~
连续第一预设数目个音频帧的基音延迟都相同,则说明很可能有啸叫产生。其中,对于帧长
10ms的第一预设数目可以设置为4 6;对于帧长7.5ms,第一预设数目可以设置为5 7,需要
~ ~
说明的是上述为典型的配置,具体实施例也可以设置其他值,如果太大会造成漏检。其中第
一预设数目可根据实际的音频啸叫的检测要求进行合理的选择,其中当第一预设数目设置
较大时,则对音频啸叫的检测的要求较低,允许较小程度的音频啸叫;当第一预设数目设置
较小时,则对音频啸叫的检测的要求较高,当发生音频啸叫时,会被及时发现,进行后续的
啸叫抑制过程。其中,本申请对第一预设数目的取值不进行限制。
[0041] 具体的,图3示出了本申请基于蓝牙音频接收器的啸叫检测和抑制方法的一个实例。
[0042] 如图3所示,图3为啸叫检测的一个流程示意图。首先获取当前音频帧对应的长期后置滤波器激活标志,再获取当前音频帧对应的基音延迟,其中上述均可在长期后置滤波
器对音频的解码过程中进行获得。然后开始判断连续N帧的激活标志是否均为1,N可取值如
前所述,可选择4‑6或者5‑7,其根据不同的帧长进行相应的设置,若否,则该流程结束,说明
当前音频帧中不存在啸叫,若是,则进行连续N帧的基音延迟是否相同的判断,若否,同样结
束流程,说明当前音频帧中不存在啸叫,若是,则可判断当前音频帧很大可能存在啸叫,后
续可进行啸叫的抑制处理或者啸叫的再确认过程。
[0043] 可选的,图4示出了本申请基于蓝牙音频接收器的啸叫检测和抑制方法的一个实施例。
[0044] 在图4所示的实施例中,本申请的基于蓝牙音频接收器的啸叫检测和抑制方法还包括过程S401,根据当前音频帧对应的基音延迟计算当前基音频率;过程S402,根据当前基
音频率确定当前音频帧对应的当前频谱系数索引;过程S403,根据频谱系数索引确定当前
音频帧对应的能量值;以及过程S404,若能量值大于预设阈值,则确定蓝牙音频存在啸叫。
[0045] 在该可选实施例中,通过基音延迟的判断,基本确定当前音频帧中是否存在啸叫。但为了保证啸叫检测的准确性,在通过基音延迟进行啸叫确定后,会再进行啸叫的再确认,
避免啸叫的误检,提高啸叫检测的准确率。
[0046] 在该可选实施例的过程S401中,首先根据当前音频帧的基音延迟计算其对应的当前基音频率,其中在进行基音频率的计算时,可根据“采样频率=基音延迟×基音频率”的关
系,将基音延迟映射为基音频率。例如,基音延迟为32,长期后置滤波器LTPF的工作采样率
为12.8kHz,则基音频率为(12800/32)=400Hz。
[0047] 在该可选实施例的过程S402中,在确定当前音频帧的当前基音频率后,根据当前基音频率确定当前音频帧对应的当前频谱系数索引。具体的,假如当前音频的采样率为
16kHz,根据LC3标准,解码器可以得到160个谱系数,可以计算出400Hz的基音频率对应的频
谱系数索引为:(400/(16000/2))*160=8。
[0048] 在该可选实施例的过程S403中,在确定频谱系数索引后,便根据频谱系数索引确定当前音频帧对应的能量值。
[0049] 可选的,根据当前频谱系数索引确定当前音频帧对应的能量值,包括:确定以当前频谱系数索引为中心的两个相邻频谱系数索引;计算当前频谱系数索引和相邻频谱系数索
引分别对应的谱系数的能量和,得到当前音频帧对应的能量值。若包含当前帧在内的预设
数量个连续音频帧对应的能量值持续上升,且当前音频帧对应的能量值大于预设阈值,则
确定蓝牙音频存在啸叫。
[0050] 在该可选实施例中,由于LD‑MDCT(即低延迟改进型离散余弦变换)的特殊性,具有局部最大能量的谱系数与相关的真实频点并不完全对应,通常具有‑1 +1的偏移,举例来
~
说,上述在LTPF中得到的400Hz,其对应的具有最大能量的谱系数不一定是索引为8的谱系
数,也有可能是7或9;所以在计算能量时计算以频谱系数索引为中心的3个谱系数的能量
和,将对应的频谱系数索引记为n,则此频点的能量为:
[0051]
[0052] 其中,该 表示该当前音频帧的谱系数索引k对应的谱系数。在确定完当前音频帧的谱系数后,后续需要进行连续音频帧对应的各个能量值的比较。其中,假定连续N
帧能量记为E1,E2,…,En,能量持续上升指的时En>,…,>E1>E0。
[0053] 具体的,由于语音信号为短时平稳信号,通常在在10ms 30ms内为平稳,所以此处~
的多帧对应的时间应大于30ms,以帧长10ms配置为例,至少为4帧,对应40ms。对于预设数量
的设置,可根据不同的音频帧的帧长进行合适的设置,本申请不进行具体限制。
[0054] 在该可选实施例的过程S404中,对上述计算的能量值与预设阈值进行判断,若能量值大于预设阈值,则确定蓝牙音频存在啸叫。
[0055] 具体的,为了防止误判,设定阈值时,此阈值可以根据典型的啸叫场景测试设定,如果阈值设置的过小,则可能导致频繁的检测并抑制啸叫,降低了音质,过大则可能已经处
于啸叫的后期,音量饱和从而导致单频信号引入了更多的谐波,对检测与抑制的稳定性都
提高了要求。
[0056] 图5示出了本申请基于蓝牙音频接收器的啸叫检测和抑制方法的另一个实例。
[0057] 如图5所示,图5为啸叫确认的一个流程示意图。首先根据当前音频帧的基音延迟计算基音频率也就是啸叫频率,再将基音频率映射到频谱系数索引中,得到对应的频谱系
数索引。然后根据频谱系数索引计算对应的能量值,此处因为频谱系数上下变化,因此此处
的能量值为上下浮动的三个频谱索引对应的能量值的和,通过判断连续多帧的能量值是否
持续上升,同时判断当前音频帧对应的能量值是否超出预设阈值,若是,则确认检测到啸
叫,开始进行啸叫抑制。
[0058] 在图2所示的实施方式中,本申请的基于蓝牙音频接收器的啸叫检测和抑制方法包括:过程S204,若相同,则确定蓝牙音频存在啸叫,开始进行啸叫抑制。
[0059] 可选的,开始进行啸叫抑制,包括:根据当前基音频率确定滤波参数,并根据滤波参数对长期后置滤波器进行设置;通过长期后置滤波器对包含当前音频帧在内的第二预设
数目个后连续音频帧分别进行啸叫抑制。
[0060] 在该可选实施例中,在进行啸叫抑制时,首先根据当前音频帧的基音延迟确定当前音频帧对应的当前基音频率。并根据基音频率设置陷波滤波器的参数,其中根据基音频
率,也就是陷波频率设计陷波滤波器参数是较为成熟的技术,本发明不做限制。在获得陷波
滤波器的滤波参数后,利用该滤波参数对长期后置滤波器进行设置,从而通过重新设置后
的长期后置滤波器对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫
抑制。
[0061] 具体的,图6示出了本申请基于蓝牙音频接收器的啸叫检测和抑制方法中啸叫抑制的一个实例。
[0062] 如图6所示,在进行啸叫抑制时,首先判断进行啸叫抑制的音频帧的帧数P是否大于零,P即为第二预设数目的数值。若是,则P减1,并根据当前音频帧的基音延迟计算得到相
应的基音频率。并根据基音频率设置相应的陷波滤波器的滤波参数,通过滤波参数对长期
后置滤波器中的参数进行替换,完成对长期后置滤波器的设置,并开始进行滤波,将杂波进
行滤除,降低啸叫的影响,提升音质。通过长期后置滤波器LTPF中的滤波模块,在标准LC3中
主要完成基音频率的增强,在本发明中主要作用:无啸叫时:按照正常的滤波流程,完成基
音频率的增强;有啸叫时:对啸叫频率进行陷波,完成啸叫频率的抑制。
[0063] 具体的,为了有效的抑制啸叫,通常需要在一定的时长内连续抑制,譬如100~
200ms,此帧数和具体的编解码器以及选用的帧长有关,举例来说,如果是LC3在10ms帧长的
配置下,则P可以设定为10 20。
~
[0064] 可选的,根据当前基音频率设置陷波滤波器,通过陷波滤波器对第二预设数目个后连续音频帧进行滤波。
[0065] 在该可选实施例中,对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制过程还可以根据当前音频帧对应的当前基音频率进一步设置相应的陷波滤
波器,对第二预设数目个音频帧进行滤波,将音频帧中的杂波进行滤除,从而对音频啸叫进
行抑制,提高音频音质。
[0066] 具体的,根据已知基音频率,设计陷波滤波器是较为成熟的技术,本申请不做限制。其中,陷波滤波器可以选择有限冲击响应(FIR)滤波器或无限冲击响应(IIR)滤波器。
[0067] 本申请的基于蓝牙音频接收器的啸叫检测和抑制方法通过利用音频解码过程中,利用长期后置滤波器对蓝牙音频处理的已有参数,获得当前音频帧的长期后置滤波器激活
标志和基音延迟,进行音频啸叫的检测。其中,上述过程提到的基音延迟等均为长期后置滤
波器处理过程的中间处理数据,因此,不需要额外的运算,便可进行音频啸叫的检测。从而
降低音频啸叫检测过程的复杂度,降低运算量,降低功耗。另外,通过基音延迟确定基音频
率,并确定当前音频帧对应的能量值,通过能量值的判断进行啸叫检测结果的再确认,提高
啸叫检测的准确性。本申请的方法可应用于低功耗蓝牙中,也可配合LC3低功耗蓝牙将本申
请的蓝牙音频啸叫检测和抑制方法应用于经典蓝牙中。本申请充分利用音频编码器已有的
信息,辅以少量的计算,复杂度低,与传统的频域去啸叫算法比,省略了非常消耗资源的时
频转换。因为没有时频变换,节省了传统时频变换需要的较大运算量,易于在嵌入式设备部
署。相比较与现有技术,更加适用于低功耗蓝牙领域。
[0068] 图7示出了本申请基于蓝牙音频接收器的啸叫检测和抑制装置的一个实施方式。
[0069] 在图7所示的实施方式中,本申请的基于蓝牙音频接收器的啸叫检测和抑制装置包括:啸叫检测模块701,其对蓝牙音频是否存在啸叫进行检测,啸叫检测模块包括:激活标
志判断模块,其在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活
标志,并判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的激活标志是
否均为预设数值;基音延迟判断模块,若激活标志均为预设数值,其判断第一预设数目个前
连续音频帧分别对应的基音延迟是否相同,若相同,则蓝牙音频存在啸叫;啸叫抑制模块
702,其在蓝牙音频存在啸叫时,进行啸叫抑制。
[0070] 可选的,图8示出了本申请基于蓝牙音频接收器的啸叫检测和抑制装置的一个实施例。
[0071] 在图8所示的实施例中,本申请基于蓝牙音频接收器的啸叫检测和抑制装置还包括:啸叫确认模块703,其在啸叫检测模块确定蓝牙音频存在啸叫时,对蓝牙音频存在啸叫
进行再确认,包括:基音频率确认模块,其根据当前音频帧对应的基音延迟计算当前基音频
率;频谱系数索引模块,其根据当前基音频率确定当前音频帧对应的当前频谱系数索引;能
量值确认模块,其根据频谱系数索引确定当前音频帧对应的能量值;判断模块,其对能量值
进行判断,若能量值大于预设阈值,则确定蓝牙音频存在啸叫。
[0072] 可选的,在啸叫抑制模块中,根据当前音频帧对应的基音延迟,确定当前基音频率;根据当前基音频率确定滤波参数,并根据滤波参数对长期后置滤波器进行设置;通过长
期后置滤波器对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制。
[0073] 可选的,在啸叫抑制模块中,根据当前基音频率设置陷波滤波器,通过陷波滤波器对第二预设数目个后连续音频帧进行滤波。
[0074] 本申请的基于蓝牙音频接收器的啸叫检测和抑制装置通过利用音频解码过程中,利用长期后置滤波器对蓝牙音频处理的已有参数,获得当前音频帧的长期后置滤波器激活
标志和基音延迟,进行音频啸叫的检测。其中,上述过程提到的基音延迟等均为长期后置滤
波器处理过程的中间处理数据,因此,不需要额外的运算,便可进行音频啸叫的检测。从而
降低音频啸叫检测过程的复杂度,降低运算量,降低功耗。另外,通过基音延迟确定基音频
率,并确定当前音频帧对应的能量值,通过能量值的判断进行啸叫检测结果的再确认,提高
啸叫检测的准确性。本申请的方法可应用于低功耗蓝牙中,也可配合LC3低功耗蓝牙将本申
请的蓝牙音频啸叫检测和抑制方法应用于经典蓝牙中。本申请充分利用音频编码器已有的
信息,辅以少量的计算,复杂度低,与传统的频域去啸叫算法比,省略了非常消耗资源的时
频转换。因为没有时频变换,节省了传统时频变换需要的较大运算量,易于在嵌入式设备部
署。相比较与现有技术,更加适用于低功耗蓝牙领域。
[0075] 在本申请的一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行任一实施例描述的基于蓝牙音频接收器的啸叫检测和抑
制方法。其中,该存储介质可直接在硬件中、在由处理器执行的软件模块中或在两者的组合
中。
[0076] 软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸盘、CD‑ROM或此项技术中已知的任何其它形式的存储介质中。示范
性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
[0077] 处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专
用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)、现场可编程
门阵列(英文:Field Programmable Gate Array,简称:FPGA)或其它可编程逻辑装置、离散
门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方
案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算
装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微
处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储
介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替代方案中,处理器和存储介质可作为
离散组件驻留在用户终端中。
[0078] 在本申请的一个具体实施方式中,一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中:处理器操作计算机指令以执行任一实施例描述的基于蓝牙音
频接收器的啸叫检测和抑制方法。
[0079] 在本申请所提供的实施方式中,应该理解到,所揭露的装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑
功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集
成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦
合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以
是电性,机械或其它的形式。
[0080] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络
单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0081] 以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理
包括在本申请的专利保护范围内。