基于蓝牙音频接收器的啸叫检测和抑制方法及装置转让专利
申请号 : CN202210053739.3
文献号 : CN114067814B
文献日 : 2022-04-12
发明人 : 李强 , 朱勇 , 叶东翔 , 王尧
申请人 : 北京百瑞互联技术有限公司
摘要 :
权利要求 :
1.一种基于蓝牙音频接收器的啸叫检测和抑制方法,其特征在于,包括:在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活标志和基音延迟;
判断包含所述当前音频帧在内的第一预设数目个前连续音频帧分别对应的所述激活标志是否均为预设数值;
若是,则判断第一预设数目个所述前连续音频帧分别对应的基音延迟是否相同;
若相同,根据所述当前音频帧对应的所述基音延迟计算当前基音频率;
根据所述当前基音频率确定所述当前音频帧对应的当前频谱系数索引;
确定以所述当前频谱系数索引为中心的两个相邻频谱系数索引;
计算所述当前频谱系数索引和所述相邻频谱系数索引分别对应的谱系数的能量和,得到所述当前音频帧对应的能量值;
若包含所述当前音频帧在内的预设数量个连续音频帧对应的能量值持续上升,且所述当前音频帧对应的能量值大于预设阈值,则确定所述蓝牙音频存在啸叫,开始进行啸叫抑制,所述第一预设数目为至少大于等于2的整数。
2.根据权利要求1所述的基于蓝牙音频接收器的啸叫检测和抑制方法,其特征在于,还包括:
在长期后置滤波器对所述蓝牙音频的解码过程中,获取所述当前音频帧对应的所述激活标志和所述当前音频帧对应的所述基音延迟。
3.根据权利要求1所述的基于蓝牙音频接收器的啸叫检测和抑制方法,其特征在于,所述开始进行啸叫抑制,包括:
根据所述当前基音频率确定滤波参数,并根据所述滤波参数对长期后置滤波器进行设置;
通过设置后的所述长期后置滤波器对包含所述当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制。
4.根据权利要求3所述的基于蓝牙音频接收器的啸叫检测和抑制方法,其特征在于,所述开始进行啸叫抑制,还包括:
根据所述当前基音频率设置陷波滤波器,通过所述陷波滤波器对所述第二预设数目个后连续音频帧进行滤波,进行啸叫抑制。
5.一种基于蓝牙音频接收器的啸叫检测和抑制装置,其特征在于,包括:啸叫检测模块,其对蓝牙音频是否存在啸叫进行检测,所述啸叫检测模块包括:激活标志判断模块,其在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活标志和基因延迟,并判断包含所述当前音频帧在内的第一预设数目个前连续音频帧分别对应的所述激活标志是否均为预设数值;
基音延迟判断模块,若所述激活标志均为预设数值,其判断第一预设数目个所述前连续音频帧分别对应的基音延迟是否相同,若相同,则所述蓝牙音频存在啸叫;
啸叫确认模块,其在所述啸叫检测模块确定所述蓝牙音频存在啸叫时,对所述蓝牙音频存在啸叫进行再确认,包括
基音频率确认模块,其根据所述当前音频帧对应的所述基音延迟计算当前基音频率;
频谱系数索引模块,其根据所述当前基音频率确定所述当前音频帧对应的当前频谱系数索引,并确定以所述当前频谱系数索引为中心的两个相邻频谱系数索引;
能量值确认模块,其计算所述当前频谱系数索引和所述相邻频谱系数索引分别对应的谱系数的能量和,得到所述当前音频帧对应的所述能量值;
啸叫抑制模块,其对所述能量值进行判断,若包含所述当前音频帧在内的预设数量个连续音频帧对应的能量值持续上升,且所述当前音频帧对应的能量值大于预设阈值,则确定所述蓝牙音频存在啸叫,开始进行啸叫抑制,所述第一预设数目为至少大于等于2的整数。
6.一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行权利要求1‑4任一项所述的基于蓝牙音频接收器的啸叫检测和抑制方法。
7.一种计算机设备,其包括处理器和存储器,所述存储器存储有计算机指令,其中:所述处理器操作计算机指令以执行权利要求1‑4任一项所述的基于蓝牙音频接收器的啸叫检测和抑制方法。
说明书 :
基于蓝牙音频接收器的啸叫检测和抑制方法及装置
技术领域
背景技术
为广泛,很多主流的手机都支持,但是其内存占用较大,且运算复杂度高,很多蓝牙设备都
基于嵌入式平台,电池容量有限,处理器运算能力较差且内存有限;“高通蓝牙音频编码技
术(aptX系列)”和“索尼蓝牙音频编码技术(LDAC)”,音质较好但是码率很高,且其分别为高
通和索尼独有技术,较为封闭。基于上述原因,蓝牙国际联盟联合众多厂商推出了LC3,其具
有较低延迟、较高音质和编码增益以及在蓝牙领域无专利费得优点,受到广大厂商的关注。
克风的反馈路径(如虚线箭头所示),此闭环状态使得当系统在增益增大到一定状态时有可
能趋于不稳定,产生自激振荡发生啸叫,为了检测以便于进一步避免啸叫,现有技术中,可
以在音频处理的路径上插入一个模块,譬如在音频编码器之前或音频解码器之后插入,用
来检测啸叫的产生。现有方案中基于频域的方法检测较为准确使用广泛,但其需要完成时
频变换,再基于频域得到的特征来检测啸叫,并完成抑制,最后再将频域信号转换为时域信
号,运算量较大,导致设备功耗增大,对蓝牙设备,特别是蓝牙接收器设备的续航能力造成
较大的影响。
发明内容
本申请提出一种基于蓝牙音频接收器的啸叫检测和抑制方法及装置。
判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的激活标志是否均为
预设数值;若是,则判断第一预设数目个前连续音频帧分别对应的基音延迟是否相同;若相
同,则确定蓝牙音频存在啸叫,开始进行啸叫抑制。
的能量值;若能量值大于预设阈值,则确定蓝牙音频存在啸叫。
引分别对应的谱系数的能量和,得到当前音频帧对应的能量值。
数目个后连续音频帧分别进行啸叫抑制。
志判断模块,其在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活
标志,并判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的激活标志是
否均为预设数值;基音延迟判断模块,若激活标志均为预设数值,其判断第一预设数目个前
连续音频帧分别对应的基音延迟是否相同,若相同,则蓝牙音频存在啸叫;啸叫抑制模块,
其在蓝牙音频存在啸叫时,进行啸叫抑制。
迟计算当前基音频率;频谱系数索引模块,其根据当前基音频率确定当前音频帧对应的当
前频谱系数索引;能量值确认模块,其根据频谱系数索引确定当前音频帧对应的对应的能
量值;判断模块,其对能量值进行判断,若能量值大于预设阈值,则确定蓝牙音频存在啸叫。
制方法。
频接收器的啸叫检测和抑制方法。
频啸叫的判断,并进行啸叫抑制,复杂度低,运算量少,功耗低,适用于在低功耗蓝牙中的应
用。
附图说明
请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以
根据这些附图获得其他的附图。
本领域技术人员说明本申请的概念。
具体实施方式
本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除
了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的产品或设备不必限于
清楚地列出的哪些单元,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它
单元。
而避免啸叫。该现有方案是基于频域的方法进行检测,使用较为准确广泛,但其需要完成时
频变换,再基于频域得到的特征来检测啸叫,运算量较大,功耗大,运算复杂度特别高。在低
功耗蓝牙的应用过程中,低功耗蓝牙本身对功耗有着较高的限制,因此上述的啸叫检测和
抑制方法在应用到低功耗蓝牙中时,便会有较大的弊端。
得啸叫检测过程简单高效,不用增加额外的运算量,节省功耗,更加适用于低功耗蓝牙领
域。
当前音频帧对应的长期后置滤波器激活标志;判断包含当前音频帧在内的第一预设数目个
前连续音频帧分别对应的激活标志是否均为预设数值;若是,则判断第一预设数目个前连
续音频帧分别对应的基音延迟是否相同;若相同,则确定蓝牙音频存在啸叫,开始进行啸叫
抑制。
延迟等,根据上述参数的在多帧音频结果过程中的变化特点,进行音频是否存在啸叫的判
断,在存在啸叫时,开始进行啸叫抑制。相比较于现有技术中,需要通过额外的啸叫检测模
块和啸叫抑制模块进行相应的啸叫检测和抑制过程,本申请的方法更加简单,方便,运算量
低,尤其适用于低功耗蓝牙领域。
或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
标志和基音延迟。
标志反映该当前音频帧是否含有基音等信息。其中,长期后置滤波器激活标志的数值为0或
1。若激活标志为0,则表示该当前音频帧的不包含基音,如激活标志为1,则表示该当前音频
帧中含有基音。
活标志是否均为预设数值。
值,即判断当前音频帧以及当前音频帧之前的一定数量个音频帧分别对应的激活标志是否
均为预设数值,其中预设数值为1,即表示音频帧中存在基音。根据音频的特性,当连续一定
数量的音频帧的长期后置滤波器激活标志的数值均为1时,则说明当前音频帧中具有能量
较强的基音频率成分,例如当前音频帧包括语音或音乐等基音,或者当前音频帧产生了啸
叫。
同。
设数目个前连续音频帧分别对应的基音延迟是否相同,若相同,则表示当前音频帧中有很
大的可能存在啸叫。
连续第一预设数目个音频帧的基音延迟都相同,则说明很可能有啸叫产生。其中,对于帧长
10ms的第一预设数目可以设置为4 6;对于帧长7.5ms,第一预设数目可以设置为5 7,需要
~ ~
说明的是上述为典型的配置,具体实施例也可以设置其他值,如果太大会造成漏检。其中第
一预设数目可根据实际的音频啸叫的检测要求进行合理的选择,其中当第一预设数目设置
较大时,则对音频啸叫的检测的要求较低,允许较小程度的音频啸叫;当第一预设数目设置
较小时,则对音频啸叫的检测的要求较高,当发生音频啸叫时,会被及时发现,进行后续的
啸叫抑制过程。其中,本申请对第一预设数目的取值不进行限制。
器对音频的解码过程中进行获得。然后开始判断连续N帧的激活标志是否均为1,N可取值如
前所述,可选择4‑6或者5‑7,其根据不同的帧长进行相应的设置,若否,则该流程结束,说明
当前音频帧中不存在啸叫,若是,则进行连续N帧的基音延迟是否相同的判断,若否,同样结
束流程,说明当前音频帧中不存在啸叫,若是,则可判断当前音频帧很大可能存在啸叫,后
续可进行啸叫的抑制处理或者啸叫的再确认过程。
音频率确定当前音频帧对应的当前频谱系数索引;过程S403,根据频谱系数索引确定当前
音频帧对应的能量值;以及过程S404,若能量值大于预设阈值,则确定蓝牙音频存在啸叫。
避免啸叫的误检,提高啸叫检测的准确率。
系,将基音延迟映射为基音频率。例如,基音延迟为32,长期后置滤波器LTPF的工作采样率
为12.8kHz,则基音频率为(12800/32)=400Hz。
16kHz,根据LC3标准,解码器可以得到160个谱系数,可以计算出400Hz的基音频率对应的频
谱系数索引为:(400/(16000/2))*160=8。
引分别对应的谱系数的能量和,得到当前音频帧对应的能量值。若包含当前帧在内的预设
数量个连续音频帧对应的能量值持续上升,且当前音频帧对应的能量值大于预设阈值,则
确定蓝牙音频存在啸叫。
~
说,上述在LTPF中得到的400Hz,其对应的具有最大能量的谱系数不一定是索引为8的谱系
数,也有可能是7或9;所以在计算能量时计算以频谱系数索引为中心的3个谱系数的能量
和,将对应的频谱系数索引记为n,则此频点的能量为:
帧能量记为E1,E2,…,En,能量持续上升指的时En>,…,>E1>E0。
的多帧对应的时间应大于30ms,以帧长10ms配置为例,至少为4帧,对应40ms。对于预设数量
的设置,可根据不同的音频帧的帧长进行合适的设置,本申请不进行具体限制。
于啸叫的后期,音量饱和从而导致单频信号引入了更多的谐波,对检测与抑制的稳定性都
提高了要求。
数索引。然后根据频谱系数索引计算对应的能量值,此处因为频谱系数上下变化,因此此处
的能量值为上下浮动的三个频谱索引对应的能量值的和,通过判断连续多帧的能量值是否
持续上升,同时判断当前音频帧对应的能量值是否超出预设阈值,若是,则确认检测到啸
叫,开始进行啸叫抑制。
数目个后连续音频帧分别进行啸叫抑制。
率,也就是陷波频率设计陷波滤波器参数是较为成熟的技术,本发明不做限制。在获得陷波
滤波器的滤波参数后,利用该滤波参数对长期后置滤波器进行设置,从而通过重新设置后
的长期后置滤波器对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫
抑制。
应的基音频率。并根据基音频率设置相应的陷波滤波器的滤波参数,通过滤波参数对长期
后置滤波器中的参数进行替换,完成对长期后置滤波器的设置,并开始进行滤波,将杂波进
行滤除,降低啸叫的影响,提升音质。通过长期后置滤波器LTPF中的滤波模块,在标准LC3中
主要完成基音频率的增强,在本发明中主要作用:无啸叫时:按照正常的滤波流程,完成基
音频率的增强;有啸叫时:对啸叫频率进行陷波,完成啸叫频率的抑制。
200ms,此帧数和具体的编解码器以及选用的帧长有关,举例来说,如果是LC3在10ms帧长的
配置下,则P可以设定为10 20。
~
波器,对第二预设数目个音频帧进行滤波,将音频帧中的杂波进行滤除,从而对音频啸叫进
行抑制,提高音频音质。
标志和基音延迟,进行音频啸叫的检测。其中,上述过程提到的基音延迟等均为长期后置滤
波器处理过程的中间处理数据,因此,不需要额外的运算,便可进行音频啸叫的检测。从而
降低音频啸叫检测过程的复杂度,降低运算量,降低功耗。另外,通过基音延迟确定基音频
率,并确定当前音频帧对应的能量值,通过能量值的判断进行啸叫检测结果的再确认,提高
啸叫检测的准确性。本申请的方法可应用于低功耗蓝牙中,也可配合LC3低功耗蓝牙将本申
请的蓝牙音频啸叫检测和抑制方法应用于经典蓝牙中。本申请充分利用音频编码器已有的
信息,辅以少量的计算,复杂度低,与传统的频域去啸叫算法比,省略了非常消耗资源的时
频转换。因为没有时频变换,节省了传统时频变换需要的较大运算量,易于在嵌入式设备部
署。相比较与现有技术,更加适用于低功耗蓝牙领域。
志判断模块,其在对蓝牙音频的解码过程中,获取当前音频帧对应的长期后置滤波器激活
标志,并判断包含当前音频帧在内的第一预设数目个前连续音频帧分别对应的激活标志是
否均为预设数值;基音延迟判断模块,若激活标志均为预设数值,其判断第一预设数目个前
连续音频帧分别对应的基音延迟是否相同,若相同,则蓝牙音频存在啸叫;啸叫抑制模块
702,其在蓝牙音频存在啸叫时,进行啸叫抑制。
进行再确认,包括:基音频率确认模块,其根据当前音频帧对应的基音延迟计算当前基音频
率;频谱系数索引模块,其根据当前基音频率确定当前音频帧对应的当前频谱系数索引;能
量值确认模块,其根据频谱系数索引确定当前音频帧对应的能量值;判断模块,其对能量值
进行判断,若能量值大于预设阈值,则确定蓝牙音频存在啸叫。
期后置滤波器对包含当前音频帧在内的第二预设数目个后连续音频帧分别进行啸叫抑制。
标志和基音延迟,进行音频啸叫的检测。其中,上述过程提到的基音延迟等均为长期后置滤
波器处理过程的中间处理数据,因此,不需要额外的运算,便可进行音频啸叫的检测。从而
降低音频啸叫检测过程的复杂度,降低运算量,降低功耗。另外,通过基音延迟确定基音频
率,并确定当前音频帧对应的能量值,通过能量值的判断进行啸叫检测结果的再确认,提高
啸叫检测的准确性。本申请的方法可应用于低功耗蓝牙中,也可配合LC3低功耗蓝牙将本申
请的蓝牙音频啸叫检测和抑制方法应用于经典蓝牙中。本申请充分利用音频编码器已有的
信息,辅以少量的计算,复杂度低,与传统的频域去啸叫算法比,省略了非常消耗资源的时
频转换。因为没有时频变换,节省了传统时频变换需要的较大运算量,易于在嵌入式设备部
署。相比较与现有技术,更加适用于低功耗蓝牙领域。
制方法。其中,该存储介质可直接在硬件中、在由处理器执行的软件模块中或在两者的组合
中。
性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)、现场可编程
门阵列(英文:Field Programmable Gate Array,简称:FPGA)或其它可编程逻辑装置、离散
门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方
案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算
装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微
处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储
介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替代方案中,处理器和存储介质可作为
离散组件驻留在用户终端中。
频接收器的啸叫检测和抑制方法。
功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集
成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦
合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以
是电性,机械或其它的形式。
单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
包括在本申请的专利保护范围内。