首页 > 乐器声学 专利正文
蓝牙音频啸叫检测和抑制方法、装置、介质及设备与流程

时间:2022-02-13 阅读: 作者:专利查询

蓝牙音频啸叫检测和抑制方法、装置、介质及设备与流程

1.本技术涉及音频编解码技术领域,尤其涉及一种蓝牙音频啸叫检测和抑制方法、装置、介质及设备。


背景技术:

2.目前主流的蓝牙音频编码器中,“子带编码技术(sbc)”是使用最为广泛,是所有的蓝牙音频设备必须支持的,但音质一般;“高级音频编码技术(aac

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


技术实现要素:

4.针对现有技术中,在进行啸叫检测和抑制过程中,需要在音频处理的路径上插入一个啸叫检测模块,处理过程复杂,功耗高,运算量大,不适合在低功耗蓝牙中应用的问题,本技术提出一种蓝牙音频啸叫检测和抑制方法、装置、介质及设备。
5.在本技术的一个技术方案中,提供一种基于蓝牙音频啸叫检测和抑制方法,包括:在长期后置滤波器对蓝牙音频的编码处理过程中,获取当前音频帧的基音存在标志;若基音存在标志指示当前音频帧存在基音,则在长期后置滤波器的处理过程中确定当前音频帧的当前基音延迟,并计算求得其对应的当前自相关值;判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的基音延迟是否相同;若相同,则判断第一预设数目个音频帧分别对应的自相关值的是否持续增加;若是,则蓝牙音频存在啸叫,开始进行啸叫抑制。
6.可选的,若基音存在标志指示当前音频帧存在基音,包括:判断基音存在标志的数值是否为预设数值;若是,则表示当前音频帧存在基音,若否,则表示当前音频帧不存在基音。
7.可选的,计算求得其对应的当前自相关值,包括:在根据当前基音延迟计算其对应的归一化自相关值的标准过程中,提取标准过程的中间计算值,作为当前自相关值。
8.可选的,判断第一预设数目个音频帧分别对应的自相关值的是否持续增加,包括:在第一预设数目个音频帧中,若在后音频帧的自相关值均不小于在前音频帧的自相关值,则第一预设数目个音频帧分别对应的自相关值持续增加。
9.可选的,进行啸叫抑制,包括:在长期后置滤波器对蓝牙音频的编码处理过程中,对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制,包括:在对第二预设数目个音频帧的长期后置滤波器处理过程中,将长期后置滤波器的动作参数设置为预定数值,并写入编码码流中,使得后续解码器对第二预设数目个音频帧解码时,不进行频率增强处理。
10.可选的,包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制,还包括:根据当前音频帧对应的当前基音延迟确定基音频率;根据基音频率设置陷波滤波器,对第二预设数目个音频帧进行滤波。
11.在本技术的一个技术方案中,提供一种蓝牙音频啸叫检测和抑制装置,其特征在于,包括:啸叫检测模块,其对蓝牙音频是否存在啸叫进行检测,啸叫检测模块包括:基音标志检测模块,其在长期后置滤波器对蓝牙音频的编码处理过程中,获取当前音频帧的基音存在标志;自相关值获取模块,其在基音存在标志指示当前音频帧存在基音时,在长期后置滤波器的处理过程中确定当前音频帧的当前基音延迟,并计算求得其对应的当前自相关值;判断模块,其判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的基音延迟是否相同;若相同,则判断第一预设数目个音频帧分别对应的自相关值的是否持续增加;若是,则蓝牙音频存在啸叫;啸叫抑制模块,其对存在啸叫的蓝牙音频进行啸叫抑制。
12.可选的,啸叫抑制模块包括陷波滤波器,通过陷波滤波器对产生啸叫的蓝牙音频进行滤波,进行啸叫抑制。
13.在本技术的一个技术方案中,提供一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行方案一中任一项的蓝牙音频啸叫检测和抑制方法。
14.在本技术的一个技术方案中,提供一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中:处理器操作计算机指令以执行方案一中任一项的蓝牙音频啸叫检测和抑制方法。
15.本技术的有益效果是:本技术的蓝牙音频啸叫检测和抑制方法、装置、介质及设备,通过充分利用长期后置滤波器在音频编码过程中已有的信息进行音频啸叫的检测和抑制,复杂度低,运算量少,功耗低,适用于在低功耗蓝牙中的应用。
附图说明
16.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1示出了蓝牙音频啸叫发生过程示意图;图2示出了本技术蓝牙音频啸叫检测和抑制方法的一个实施方式;图3示出了本技术蓝牙音频啸叫检测和抑制方法的一个实例;图4示出了本技术蓝牙音频啸叫检测和抑制方法的一个实例;
图5示出了本技术蓝牙音频啸叫检测和抑制装置的一个实施方式;图6示出了本技术蓝牙音频啸叫检测和抑制装置在编码器端的应用实例;图7示出了一段啸叫的音频信号的示意图;图8示出了与图7对应的音频检测示意图。
18.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
19.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的产品或设备不必限于清楚地列出的哪些单元,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它单元。
21.为了检测以便于进一步避免啸叫,现有技术中,可以在音频处理的路径上插入一个啸叫检测模块,譬如在音频编码器之前或音频解码器之后插入,用来检测啸叫的产生进而避免啸叫。该现有方案是基于频域的方法进行检测,使用较为准确广泛,但其需要完成时频变换,再基于频域得到的特征来检测啸叫,运算量较大,功耗大,运算复杂度特别高。在低功耗蓝牙的应用过程中,低功耗蓝牙本身对功耗有着较高的限制,因此上述的啸叫检测和抑制方法在应用到低功耗蓝牙中时,便会有较大的弊端。
22.针对上述问题,本技术通过在音频编码的过程中,直接提取编码过程产生的已有信息进行音频啸叫的检测,而不用专门设置另外的啸叫检测模块,从而使得啸叫检测过程简单高效,不用增加额外的运算量,节省功耗,更加适用于低功耗蓝牙领域。
23.为此,本技术提出一种蓝牙音频啸叫检测和抑制方法、装置、介质及设备。本技术的蓝牙音频啸叫检测和抑制方法包括:在长期后置滤波器对蓝牙音频的编码处理过程中,获取当前音频帧的基音存在标志;若基音存在标志指示当前音频帧存在基音,则在长期后置滤波器的处理过程中确定当前音频帧的当前基音延迟,并计算求得其对应的当前自相关值;判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的基音延迟是否相同;若相同,则判断第一预设数目个音频帧分别对应的自相关值的是否持续增加;若是,则蓝牙音频存在啸叫,开始进行啸叫抑制。
24.本技术的蓝牙音频啸叫检测和抑制方法通过利用音频编码过程中,长期后置滤波器对蓝牙音频处理的已有参数,获得当前音频帧的基音存在标志;并在长期后置滤波器对蓝牙音频的处理过程中,根据其现有的处理过程,获取当前音频帧的当前基音延迟,并得到
当前自相关值。通过基音延迟的判断和自相关值的判断,进行音频啸叫的检测。其中,上述过程提到的基音延迟、自相关值等均为长期后置滤波器处理过程的中处理数据,因此,不需要额外的运算,便可进行音频啸叫的检测,并进行抑制。从而降低音频啸叫检测过程的复杂度,降低运算量,降低功耗,相比较与现有技术,更加适用于低功耗蓝牙领域。
25.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
26.图2示出了本技术蓝牙音频啸叫检测和抑制方法的一个实施方式。
27.在图2所示的实施方式中,本技术的蓝牙音频啸叫检测和抑制方法包括:过程s201,在长期后置滤波器对蓝牙音频的编码处理过程中,获取当前音频帧的基音存在标志。
28.在该实施方式中,在lc3音频编码器中,lc3标准规范的长期后置滤波器ltpf中,在进行对蓝牙音频的处理时,会涉及到重采样、高通滤波、2倍下采样、基音检测以及基音延迟估计等过程。本技术的方法,在长期后置滤波器对蓝牙音频的标准处理过程中,对输出的基音存在标志和基音延迟进行提取,进而进行后续的判断和处理。其中,基音存在标志pitch_present指示当前音频帧中是否含有基音。
29.可选的,判断基音存在标志的数值是否为预设数值;若是,则表示当前音频帧存在基音,若否,则表示当前音频帧不存在基音。
30.在该可选实施例中,若基音存在标志pitch_present为预设数值1,表示当前音频帧中存在基音,若基音存在标志pitch_present为预设数值0,则表示当前音频帧中不存在基音。
31.在图2所示的实施方式中,本技术的蓝牙音频啸叫检测和抑制方法包括:过程s202,若基音存在标志指示当前音频帧存在基音,则在长期后置滤波器的处理过程中确定当前音频帧的当前基音延迟,并计算求得其对应的当前自相关值。
32.在该实施方式中,利用提取出来的基音存在标志pitch_present判断当前音频帧中是否包含有基音。如果基音存在标志指示当前音频帧存在基音,则提取长期后置滤波器的处理过程中当前音频帧对应的当前基音延迟pitch_delay。并根据当前基音延迟计算求得其对应的当前自相关值。
33.可选的,计算求得其对应的当前自相关值,包括:在根据当前基音延迟计算其对应的归一化自相关值的标准过程中,提取标准过程的中间计算值,作为当前自相关值。
34.在该可选实施例中,根据基音延迟计算其对应的的自相关值的过程与lc3编码器中标准的计算基音延迟对应的归一化自相关值的过程类似,因此在实际过程中,在计算当前自相关值时,只需要在标准归一化自相关值的计算过程中,提取对应的中间数值,即可得到当前音频帧对应的当前自相关值。
35.具体的,在lc3音频编码器的长期后置滤波器的归一化自相关值的计算过程如下公式1所示:
而本技术所需的根据的的当前自相关值的计算过程如下公式2所示:通过比较公式1和公式2可知,公式1包含了公式2,所以获取本技术需要的自相关值只需要在计算标准规定的归一化自相关值过程中即可得到,无需额外的计算。其中,上述公式中基音延迟l=pitch_delay。
36.通过以上过程可知,本技术的音频啸叫判断所需的基音延迟以及当前音频帧对应的当前自相关值均是在原有长期后置滤波器的标准过程中获取,因此,不需要其他额外的计算,只需要适当调整一下程序设计便可。因此,相比较与现有技术中的方案,本技术运算量低,简单、功耗低,因此更加适用于低功耗蓝牙领域。
37.在图2所示的实施方式中,本技术的蓝牙音频啸叫检测和抑制方法包括:过程s203,判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的基音延迟是否相同。
38.在该可选实施例中,在进行蓝牙音频啸叫的检测时,首先判断包含当前音频帧在内的在当前音频帧之前的已经编码过的连续第一预设数目个音频帧分别对应的基音延迟是否相同。若相同,则表示当前的蓝牙音频可能存在啸叫,则进行后续的进一步检测;若不相同,则表示蓝牙音频没有发生啸叫。通过基音延迟进行蓝牙啸叫的第一步判断,一定程度上提高对音频啸叫检测的准确性,避免误检。
39.具体的,蓝牙音频的语音帧在10~30ms内是短时平稳的,但其基音周期则是缓慢变化的,如果连续第一预设数目个音频帧的基音延迟都相同,则说明可能有啸叫产生。其中,第一预设数目可设置为3

5,其中第一预设数目可根据实际的音频啸叫的检测要求进行合理的选择,其中当第一预设数目设置较大时,则对音频啸叫的检测的要求较低,允许较小程度的音频啸叫;当第一预设数目设置较小时,则对音频啸叫的检测的要求较高,当发生音频啸叫时,会被及时发现,进行后续的啸叫抑制过程。其中,本技术对第一预设数目的取值不进行限制。
40.在图2所示的实施方式中,本技术的蓝牙音频啸叫检测和抑制方法包括:过程s204,若相同,则判断第一预设数目个音频帧分别对应的自相关值的是否持续增加。
41.在该实施方式中,若连续的第一预设数目的音频帧对应的基音延迟均相同,则对第一预设数目的音频帧的自相关值进行判断,判断自相关值是否持续增加。其中,若自相关值持续增加,意味着音频帧相应的能量持续增加,符和典型的音频啸叫的特征,表示音频存在啸叫。
42.可选的,判断第一预设数目个音频帧分别对应的自相关值的是否持续增加,包括:在第一预设数目个音频帧中,若在后音频帧的自相关值均不小于在前音频帧的自相关值,
则第一预设数目个音频帧分别对应的自相关值持续增加。
43.在该可选实施例中,在判断第一预设数目个音频帧分别对应的自相关值是否持续增加时,判断在后音频帧的自相关值是否均不小于在前音频帧的自相关值,若是,则表示当前第一预设数目个音频帧分别对应的自相关值持续增加,表明音频存在啸叫。
44.具体的,当第一预设数目为3时,连续的三个音频帧的自相关值按照前后顺序分别为a、b以及c。当满足a≤b≤c时,表明自相关值持续增加,此时音频存在啸叫。需要说明的是,在判断在后音频帧的自相关值是否均不小于在前音频帧的自相关值时,可根据不同的判断精度要求,进行判断关系的设定。例如,可设置为a<b<c或者a<b≤c等。因为在实际的计算过程中,因为存在计算和测量的误差,因此可根据判断精度的要求进行实际的判断关系的确定,若判断精度较高,可设置为a<b<c,若判断精度较低,可设置为a≤b≤c,其中具体的设置,本技术不进行具体限制。
45.在图2所示的实施方式中,本技术的蓝牙音频啸叫检测和抑制方法包括:过程s205,若是,则蓝牙音频存在啸叫,开始进行啸叫抑制。
46.在该实施方式中,若蓝牙音频中检测到啸叫,则从当前音频帧开始进行音频啸叫的抑制。
47.可选的,进行啸叫抑制,包括:在长期后置滤波器对蓝牙音频的编码处理过程中,对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制,包括:在对第二预设数目个音频帧的长期后置滤波器处理过程中,将长期后置滤波器的动作参数设置为预定数值,并写入编码码流中,使得后续解码器对第二预设数目个音频帧解码时,不进行频率增强处理。
48.在该可选实施例中,在进行啸叫的抑制时,从当前音频帧开始,将在当前音频帧后面的接下来进行编码的连续第二预设数目个音频帧进行啸叫抑制处理。在长期后置滤波器中,将长期后置滤波器的动作参数ltpf_active设置为0,并写入编码的码流中。在后续的音频解码器对该音频帧进行解码时,解码器将不对这第二预设数目个音频帧进行相关频率的强化,从而进一步避免解码器对啸叫频率的强化,降低音频啸叫的影响。
49.具体的,在标准lc3编码解码中,如果编码端检测到基音,会将长期后置滤波器的动作参数ltpf_active设为1,并写入码流,那么在解码端会根据编码端检测的结果增强相关的基音频率成分。因此,如果音频存在啸叫,在解码器端会继续进行相关的基音频率的增强,从而加重音频啸叫的影响。因此,本技术在编码器端检测到音频啸叫时,将长期后置滤波器的动作参数ltpf_active设置为0,则在解码器端对音频帧进行解码时,将不会进行相关基音频率的增强,从而弱化音频啸叫的影响,对音频啸叫进行抑制。
50.需要说明的是,第二预设数目可根据音频啸叫抑制的经验值进行设置。使得能够有效地降低音频啸叫的影响,提升音频音质。
51.具体的,图3示出了本技术蓝牙音频啸叫检测和抑制方法的一个实例。
52.如图3所示,在长期后置滤波器的标准处理过程中,按照顺序进行重采样、高通滤波器滤波、2倍下采样、基音检测以及基音延迟估计的标准过程。从而获得基音存在标志和当前音频帧的基音延迟。后续进行基音存在的判断,若基音存在标志为1,则表明当前音频帧中含有基音,根据基音延迟计算对应的自相关值。当包含当前音频帧在内的已经编码的连续n帧的基音延迟均相同,则表明当前音频可能存在啸叫,此时判断连续n帧音频帧的自
相关值是否持续增加,若是,则表明音频存在啸叫。此时,从当前音频帧开始进行啸叫抑制。设定啸叫抑制衰减的帧数p,在包含当前音频帧在内的接下来的p帧音频帧进行啸叫抑制处理。同时,将长期后置滤波器的动作参数设置为0,并写入码流中。使得在后续的解码过程中,将不会进行相关基音频率的增强,从而弱化音频啸叫的影响,对音频啸叫进行抑制。
53.可选的,对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制,还包括:根据当前音频帧对应的当前基音延迟确定基音频率;根据基音频率设置陷波滤波器,对第二预设数目个音频帧进行滤波。
54.在该可选实施例中,对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制过程还可以根据当前音频帧对应的当前基音延迟确定基音频率,通过基音频率进一步设置相应的陷波滤波器,对第二预设数目个音频帧进行滤波,将音频帧中的杂波进行滤除,从而对音频啸叫进行抑制,提高音频音质。
55.具体的,在进行基音频率的计算时,可根据“采样频率=基音延迟
×
基音频率”的关系,将基音延迟映射为基音频率,并根据基音频率配置陷波滤波器,并对输入信号进行滤波。其中,根据已知基音频率,设计陷波滤波器是较为成熟的技术,本技术不做限制。其中,陷波滤波器可以选择有限冲击响应(fir)滤波器或无限冲击响应(iir)滤波器。
56.具体的,图4示出了本技术蓝牙音频啸叫检测和抑制方法的一个实例。
57.如图4所示,在进行啸叫抑制时,首先判断进行啸叫抑制的音频帧的帧数p是否大于零,p即为第二预设数目的数值。若是,则p减1,并根据当前音频帧的基音延迟计算得到相应的基音频率。并根据基音频率设置相应的陷波滤波器。通过陷波滤波器对产生啸叫的后续p帧音频帧进行滤波,将杂波进行滤除,降低啸叫的影响,提升音质。
58.本技术的蓝牙音频啸叫检测和抑制方法通过利用音频编码过程中,利用长期后置滤波器对蓝牙音频处理的已有参数,获得当前音频帧的基音存在标志;并在长期后置滤波器对蓝牙音频的处理过程中,根据其现有的处理过程,获取当前音频帧的当前基音延迟,并得到当前自相关值。通过基音延迟的判断和自相关值的判断,进行音频啸叫的检测。其中,上述过程提到的基音延迟、自相关值等均为长期后置滤波器处理过程的中间处理数据,因此,不需要额外的运算,便可进行音频啸叫的检测,并进行抑制。从而降低音频啸叫检测过程的复杂度,降低运算量,降低功耗。本技术的方法可应用于低功耗蓝牙中,也可配合lc3低功耗蓝牙将本技术的蓝牙音频啸叫检测和抑制方法应用于经典蓝牙中。本技术充分利用音频编码器已有的信息,辅以少量的计算,复杂度低,与传统的频域去啸叫算法比,省略了非常消耗资源的时频转换。因为没有时频变换,节省了传统时频变换需要的较大运算量,易于在嵌入式设备部署。相比较与现有技术,更加适用于低功耗蓝牙领域。
59.图5示出了本技术蓝牙音频啸叫检测和抑制装置的一个实施方式。
60.在图5所示的实施方式中,本技术的蓝牙音频啸叫检测和抑制装置包括:啸叫检测模块501,其对蓝牙音频是否存在啸叫进行检测,啸叫检测模块包括:基音标志检测模块5011,其在长期后置滤波器对蓝牙音频的编码处理过程中,获取当前音频帧的基音存在标志;自相关值获取模块5012,其在基音存在标志指示当前音频帧存在基音时,在长期后置滤波器的处理过程中确定当前音频帧的当前基音延迟,并计算求得其对应的当前自相关值;判断模块5013,其判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的基音延迟是否相同;若相同,则判断第一预设数目个音频帧分别对应的自相关值的是否持续
增加;若是,则蓝牙音频存在啸叫;以及啸叫抑制模块502,其对存在啸叫的蓝牙音频进行啸叫抑制。
61.在该实施方式中,啸叫检测模块主要用来检测音频中是否存在啸叫。其中,检测的过程通过基音标志检测模块、自相关值获取模块以及判断模块共同完成。其中,基音标志检测模块用以检测当前音频帧中是否存在基音,在具体的检测过程中,通过标准长期后置滤波器处理过程中的基音存在标志pitch_present进行判断。其中,当基音存在标志pitch_present为预设数值1时,表示当前音频帧中存在基音,进而进行后续的判断。
62.在自相关值获取模块中,提取长期后置滤波器的处理过程中当前音频帧对应的当前基音延迟pitch_delay。并根据当前基音延迟计算求得其对应的当前自相关值。根据基音延迟计算其对应的自相关值的过程与lc3编码器中标准的计算基音延迟对应的归一化自相关值的过程类似,因此在实际过程中,当前自相关值只需要在标准归一化自相关值的计算过程中,提取对应的中间数值,即可得到当前音频帧对应的当前自相关值。
63.在判断模块中,判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的基音延迟是否相同,若相同,则表示当前的蓝牙音频可能存在啸叫,则进行后续的进一步检测;若不相同,则表示的蓝牙音频没有发生啸叫。通过基音延迟进行蓝牙啸叫的第一步判断,一定程度上提高对音频啸叫检测的准确性,避免误检。若第一预设数目个前连续音频帧分别对应的基音延迟相同,则判断第一预设数目个音频帧分别对应的自相关值的是否持续增加,若自相关值持续增加,意味着音频帧相应的能量持续增加,符和典型的音频啸叫的特征,表示音频存在啸叫。
64.若检测到存在音频啸叫,则通过啸叫抑制模块对啸叫进行抑制。
65.可选的,啸叫抑制模块包括陷波滤波器,通过陷波滤波器对产生啸叫的蓝牙音频进行滤波,进行啸叫抑制。
66.在该可选实施例中,对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制过程还可以根据当前音频帧对应的当前基音延迟确定基音频率,通过基音频率进一步设置相应的陷波滤波器,对第二预设数目个音频帧进行滤波,将音频帧中的杂波进行滤除,从而对音频啸叫进行抑制,提高音频音质。
67.具体的,在进行基音频率的计算时,可根据“采样频率=基音延迟
×
基音频率”的关系,将基音延迟映射为基音频率,并根据基音频率配置陷波滤波器,并对输入信号进行滤波。其中,根据已知基音频率,设计陷波滤波器是较为成熟的技术,本技术不做限制。其中,陷波滤波器可以选择有限冲击响应(fir)滤波器或无限冲击响应(iir)滤波器。
68.具体的,图6示出了本技术蓝牙音频啸叫检测和抑制装置在编码器端的应用实例。
69.如图6所示,啸叫检测与啸叫抑制为本技术增加的模块,其余为标准lc3编码器已有的模块;根据啸叫检测结果决定是否写入码流的长期后置滤波器的相关数据,其中,若存在啸叫,则将ltpf_active=0写入码流,避免解码器中对啸叫频率的进一步增强;若不存在啸叫,则指示为在正常的语音中检测到基音,则按照标准流程,将相关信息写入码流,进行正常流程的编码。并且,根据是否执行啸叫抑制,决定后续编码的输入信号,即attack检测和低延迟改进型离散余弦变换的输入。若执行啸叫抑制,则后续编码的输入信号为啸叫抑制后的音频信号;若不执行啸叫抑制,则后续编码的输入信号为原始的音频输入信号。
70.本技术的蓝牙音频啸叫检测和抑制装置通过利用音频编码过程中,长期后置滤波
器对蓝牙音频处理的已有参数,获得当前音频帧的基音存在标志;并在长期后置滤波器对蓝牙音频的处理过程中,根据其现有的处理过程,获取当前音频帧的当前基音延迟,并得到当前自相关值。通过基音延迟的判断和自相关值的判断,进行音频啸叫的检测。其中,上述过程提到的基音延迟、自相关值等均为长期后置滤波器处理过程的中间计算数据,因此,不需要额外的运算,便可进行音频啸叫的检测,并进行抑制。从而降低音频啸叫检测过程的复杂度,降低运算量,降低功耗,相比较与现有技术,更加适用于低功耗蓝牙领域。
71.具体的,图7示出了一段啸叫的音频信号的示意图。
72.如图7所示,该图所示的是采样率在8khz的仿真啸叫信号在时域中的体现。其中,该信号的前半段为正常音频信号,后半段为啸叫信号。从图中得知,该啸叫信号明显的在后面的信号能量逐渐增大。
73.图8示出了与图7对应的音频检测示意图。
74.如图8所示,由上之下分别为图7中的啸叫音频对应的基音存在标志示意图、基音延迟示意图以及与及与基音延迟对应的自相关值的示意图。从图8中得知,在基音存在标志示意图中,当图7中的音频出现啸叫时,对应的图7中的基音存在标志指示为1,相应的,基因延迟出现,具体为32,其中在lc3的音频编解码器中,长期后置滤波器的重采样频率为12.8khz,如果发生啸叫的基音频率为400hz,则对应的基音延迟为12800/400=32,在自相关值的示意图中,可知,在音频啸叫出现之后,自相关值呈现逐渐递增的趋势,因此,本技术的蓝牙音频啸叫检测和抑制方法及装置中,通过基音存在标志、基音延迟以及自相关值的变化进行音频啸叫的检测是可行且有效的,以上处理过程仅为示例,对于不同的频率情况进行相应的处理。
75.在本技术的一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行任一实施例描述的蓝牙音频啸叫检测和抑制方法。其中,该存储介质可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
76.软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd

rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
77.处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field programmable gate array,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
78.在本技术的一个具体实施方式中,一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中:处理器操作计算机指令以执行任一实施例描述的蓝牙音频啸叫检测和抑制方法。
79.在本技术所提供的实施方式中,应该理解到,所揭露的装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
80.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
81.以上仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。