一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-02-20 00:42:48 来源:中国专利 TAG:


1.本技术涉及蓝牙、音频处理技术领域,特别涉及一种蓝牙音频的啸叫检测和抑制方法、装置及介质。


背景技术:

2.无线音频有很多典型的应用场景,譬如基于蓝牙的卡拉ok、基于蓝牙的无线麦克风和基于蓝牙的音箱等。这些应用场景从数据流的角度可以抽象为图1,这些应用场景存在着从扬声器到麦克风的闭环反馈路径。闭环反馈路径的存在会使系统在增益大到一定状态时趋于不稳定,从而产生自激振荡引发啸叫。
3.现有技术多利用在闭环反馈路径中插入外部设备实现啸叫抑制。具体的,现有技术在外部设备中将音频信号进行分帧并按帧将音频信号从时域变换到频域,并基于音频信号的频域特征判断音频信号是否发生啸叫,当检测到啸叫时利用陷波滤波器完成啸叫抑制。
4.现有技术采用的啸叫抑制方法运算量较大,具有一定的延时且通用性较差。


技术实现要素:

5.针对现有技术存在的问题,本技术主要提供一种蓝牙音频的啸叫检测和抑制方法、装置及介质。
6.为了实现上述目的,本技术采用的一个技术方案是:提供一种蓝牙音频的啸叫检测和抑制方法,其包括:在对蓝牙音频进行编码和/或解码的过程中对当前帧音频谱系数进行啸叫检测;若当前帧音频谱系数检测到啸叫,则对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并利用抑制延迟计数器设置抑制延迟计数值,对紧接当前帧音频谱系数之后第一预定帧数的当前啸叫频点的谱系数能量进行衰减;其中抑制延迟计数值与第一预定帧数的值相等。
7.本技术采用的另一个技术方案是:提供一种蓝牙音频的啸叫检测和抑制装置,其包括:啸叫检测模块,用于在对蓝牙音频进行编码和/或解码的过程中对当前帧音频谱系数进行啸叫检测;啸叫抑制模块,用于若当前帧音频谱系数检测到啸叫,则对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并利用抑制延迟计数器设置抑制延迟计数值,对紧接当前帧音频谱系数之后第一预定帧数的当前啸叫频点的谱系数能量进行衰减;其中抑制延迟计数值与第一预定帧数的值相等本技术采用的另一个技术方案是:提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被操作以执行方案一中的蓝牙音频的啸叫检测和抑制方法。
8.本技术的技术方案可以达到的有益效果是:本技术设计了蓝牙音频的啸叫检测和抑制方法、装置及介质。该方法通用性强、复杂度低,在蓝牙编解码时进行蓝牙音频的啸叫检测和抑制无需再进行多余的时频转换节省算力、减少了固有延时,提升了用户体验。
附图说明
9.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作以简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
10.图1是本技术一种蓝牙音频的啸叫检测和抑制方法的一个无线音频数据流示意图;图2是本技术一种蓝牙音频的啸叫检测和抑制方法的一个具体实施方式的示意图;图3是本技术一种蓝牙音频的啸叫检测和抑制方法的一个具体实施例的示意图;图4是本技术一种蓝牙音频的啸叫检测和抑制装置的一个具体实施方式的示意图。
11.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
12.下面结合附图对本技术的较佳实施例进行详细阐述,以使本技术的优点和特征能更易于被本领域技术人员理解,从而对本技术的保护范围做出更为清楚明确的界定。
13.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
14.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
15.图2示出了本技术一种蓝牙音频的啸叫检测和抑制方法的一个具体实施方式。
16.在图2所示的具体实施方式中,蓝牙音频的啸叫检测和抑制方法主要包括步骤s201,在对蓝牙音频进行编码和/或解码的过程中对当前帧音频谱系数进行啸叫检测;步骤s202,若当前帧音频谱系数检测到啸叫,则对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并利用抑制延迟计数器设置抑制延迟计数值,对紧接当前帧音频谱系数之后第一预定帧数的当前啸叫频点的谱系数能量进行衰减;其中抑制延迟计数值与第一预定帧数的值相等。该具体实施方式,在蓝牙编解码时进行蓝牙音频的啸叫检测和抑制无需再进行多余的时频转换,减小运算量,减小了延时提高了用户体验且通用性较好。
17.具体的,在进行蓝牙音频的编解码时,将音频的第一帧音频谱系数定义为不没有
啸叫,将抑制延迟计数器的初始值定义为0。进一步的,在抑制延迟计数器的值为0,且当前帧音频谱系数的上一帧音频谱系数未检测到啸叫时,检测当前帧音频谱系数是否啸叫,若当前帧音频谱系数检测到啸叫,对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并根据抑制延迟计数值更新制延迟计数器。在抑制延迟计数器的值不为0时,利用当前帧音频谱系数的上一帧音频谱系数判断当前帧音频谱系数是否啸叫,若当前帧音频谱系数检测到啸叫,对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并根据抑制延迟计数值更新制延迟计数器的值;若当前帧音频谱系数未检测到啸叫,对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并将抑制延迟计数器的值减去1。
18.在2所示的具体实施方式中,蓝牙音频的啸叫检测和抑制方法包括步骤s201,在对蓝牙音频进行编码和/或解码的过程中对当前帧音频谱系数进行啸叫检测。该步骤通过对当前帧音频谱系数进行啸叫检测,为根据当前帧音频谱系数的啸叫情况对当前帧进行不同的啸叫抑制处理奠定基础,能够节省算力。同时,在编解码过程中进行啸叫检测能够使本发明不需要进行额外的时频转换,不需要添加额外的啸叫检测结构,适用于更多的场景和不同型号的编解码器,提高了通用性,节省了算力。
19.具体的,如图3,在进行蓝牙音频的编解码时,根据抑制延迟计数器的值判断对当前帧音频谱系数采用的啸叫检测方法,在抑制延迟计数器的值为0时,利用常规啸叫检测方法判断当前帧音频谱系数是否啸叫。在抑制延迟计数器的值大于0时,利用当前帧音频谱系数和当前帧的上一帧音频谱系数进行快速啸叫检测判断当前帧频谱系数是否啸叫。
20.在本技术的一个具体实施例中,步骤s201还包括,若抑制延迟计数值为0,则根据当前帧音频谱系数的子带能量以及预定的第一能量阈值判断当前帧音频谱系数是否啸叫;若抑制延迟计数值不为0,则根据当前帧音频谱系数的前一帧的啸叫频点的谱系数能量,以及当前帧音频谱系数中与前一帧的啸叫频点相同频点的谱系数能量判断当前帧音频谱系数是否啸叫。根据抑制延迟计数值是否大于0对当前帧音频谱系数采用不同的啸叫检测方法,能够节省计算量,减少因为啸叫检测和啸叫抑制带来的延时,提高了用户体验感。
21.具体的,在抑制延迟计数值为0时,首先利用音频编解码过程中的时频转换得到当前帧频谱系数,并计算当前帧音频谱系数所对应的子带能量。例如,在lc3编解码器中,利用公式和,计算得到当前帧音频谱系数的低延迟改进型离散余弦变换结果,并利用当前帧音频谱系数的低延迟改进型离散余弦变换结果和公式
计算得到当前帧音频频谱系数对应的子带能量。其中是输入lc3的时域音频信号,x(k)是经过离散余弦变换的频谱系数。
22.然后,将当前帧音频谱系数所对应的子带能量按照大小进行排序,并选取当前帧音频谱系数所对应的子带能量的最大值,例如,在lc3音频编码器中若能量最大的子带其序号为,取值范围是,则当前帧音频谱系数所对应的子带能量的最大值是。
23.最后,将当前帧音频谱系数所对应的子带能量的最大值与第一能量阈值进行比较,若当前帧音频谱系数所对应的子带能量的最大值小于第一能量阈值则当前帧音频谱系数未检测到啸叫,不再对当前帧音频谱系数进行能量衰减操作。若当前帧音频谱系数所对应的子带能量的最大值不小于第一能量阈值,则根据当前帧音频谱系数所对应的最大能量子带以及与其相邻的两个子带的频谱系数,确定当前帧音频谱系数是否啸叫。
24.其中,第一能量阈值可以根据经验值设定,具体取值可以根据需求设定,本技术不作规定。优选的,为避免歧义应当使用归一化方法表示第一能量阈值,例如,设定第一能量阈值为0.005~0.01。
25.具体的,在抑制延迟计数值不为0时,若当前帧音频谱系数中与前一帧的啸叫频点相同频点的谱系数能量,大于前一帧的啸叫频点的谱系数能量,则将当前帧音频谱系数判断为啸叫。即,在抑制延迟计数值不为0时,如果当前帧音频谱系数的啸叫频点与当前帧的上一帧音频谱系数的啸叫频点相同,且当前帧音频谱系数的啸叫频点的谱系数能量与当前帧的上一帧音频谱系数的啸叫频点的谱系数能量相比增加或不变,则当前帧音频谱系数检测到啸叫。通过判断抑制延迟计数器的值,将可以快速判断是否啸叫的当前帧音频谱系数区分出来,减少了在进行啸叫检测时的计算量,减少了系统延迟,提高了用户体验。
26.步骤s201进一步包括,在抑制延迟计数值为0时,若当前帧音频谱系数的最大能量子带的能量值不小于第一能量阈值,则根据最大能量子带以及与其相邻的两帧的频谱系数估算得到啸叫对应的正弦波频率及其能量;若当前帧音频谱系数的第二预定帧数的前帧音频谱系数中啸叫对应的正弦波频率连续出现并且能量持续增加,以及当前帧音频谱系数中啸叫对应的正弦波频率的能量大于预设的第二能量阈值,则将当前帧音频谱系数判断为啸叫。通过对当前帧音频谱系数是否啸叫进行进一步检测,能够避免判断不准确且能够更加准确的找出啸叫频点,为进行在啸叫频点进行精准的能量抑制提供基础。
27.具体的,通常发生啸叫时会产生正弦波振荡,所以需要估算正弦波对应的频率和其对应的能量来进一步判断当前帧音频谱系数是否啸叫。在抑制延迟计数值为0且当前帧音频谱系数的最大能量子带的能量值不小于第一能量阈值时,利用当前帧的子带能量最大值以及与其相邻的两帧音频的频谱系数估算当前帧音频谱系数的正弦波频率并计算正弦
波频率所对应的能量。例如,在lc3编解码中,先利用,估算正弦波的幅度谱,其中,x(k)表示当前帧的音频谱系数、x(k 1)表示当前帧的下一帧的音频谱系数,x(k-1)表示当前帧的上一帧的音频谱系数,且为了避免谱系数超出合理范围,做出如下的规定:如果如果。
28.然后,利用计算得到的当前帧音频谱系数的幅度谱估算其所对应的正弦波频率的整数部分,例如,利用公式计算得到正弦波频率的整数部分,其中即是正弦波频率的整数部分。
29.进一步的,估算当前帧音频谱系数频率所对应的能量,例如,利用如下公式计算得到正弦波频率所对应的能量,。
30.最后,在计算得到正弦波频率和正弦波频率所对应的能量后,将正弦波频率稳定、正弦波频率所对应的能量持续上升以及,正弦波频率所对应的能量大于第二能量阈值的当前帧音频谱系数判断为啸叫。其中,第二能量阈值为相对值,可以根据经验或需求设定。优选的,设置频谱系数的满幅为1,则将第二能量阈值设定为0.1 ~ 0.2。
31.利用当前帧之前的连续多帧音频信号谱系数计算出连续多帧音频信号谱系数的能量并筛选出连续多帧音频信号谱系数中能量超出阈值的频率,判断该连续多帧音频信号谱系数中能量超出阈值的频率是否相同,若是则当前帧音频谱系数的正弦波频率稳定,优选的,选取连续6帧音频信号到连续15帧音频信号。在音频编解码过程中音频信号可以分为静音、背景噪音、语音和正弦波,其中,静音和经过去噪的背景噪音对应的能量很小,在将其子带能量最大值与第一能量阈值比较时可以筛选出来。而语音通常分为清音和浊音,清音没有明显的周期特性,浊音中的基音虽然有较强的周期特性,但其周期是缓慢变换的,浊音的频率也不稳定,因此语音是短时平稳的,在利用多帧进行对比之后也可以筛选出来。但啸叫中的正弦波频率是稳定的,在振荡期间保持不变。利用正弦波的特性可以初步筛选出可能啸叫的当前帧音频频谱系数。
32.在发生啸叫时啸叫频点的能量是持续增加的,因此,通过筛选正弦波频率所对应的能量是否持续上升可以进一步初步筛选出可能啸叫的当前帧音频频谱系数。
33.在图2所示的具体实施方式中,蓝牙音频的啸叫检测和抑制方法,还包括步骤s202,若当前帧音频谱系数未检测到啸叫,则对当前帧音频谱系数的当前啸叫频点的谱系
数能量进行衰减,并利用抑制延迟计数器设置抑制延迟计数值,对紧接当前帧音频谱系数之后第一预定帧数的当前啸叫频点的谱系数能量进行衰减。该步骤通过判断当前帧音频谱系数的啸叫状态和抑制延迟计数器的值,对当前帧音频谱系数进行谱系数能量衰减,减少了啸叫抑制过程中的计算量,提高了处理效率。
34.在本技术的一个具体实施例中,将当前帧音频谱系数的当前啸叫频点的谱系数能量衰减3db或更多,具体衰减能量的多少本发明并无限制。
35.在本技术的一个具体实施例中,步骤s202还包括,若抑制延迟计数值不为0,且当前帧音频谱系数未检测到啸叫,则将当前帧的当前啸叫频点的谱系数能量进行衰减,并将抑制延迟计数值减1。通过设置抑制延迟计数器,将啸叫的音频谱系数帧之后的预定数目的音频帧进行子带能量衰减,使啸叫抑制能够更加彻底。
36.具体的,在抑制延迟计数值为0时,只有当前帧音频谱系数检测到啸叫时才对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并将抑制延迟计数器更新为抑制延迟计数值。而在抑制延迟计数值不为0时,在当前帧音频谱系数检测到啸叫时对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并将抑制延迟计数器更新为抑制延迟计数值,在当前帧音频谱系数未检测到啸叫时对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并将原来的抑制延迟计数值减1,且抑制延迟计数器的值可根据需求自行确定,本技术不做限制。特别的,每当检测到当前帧音频谱系数啸叫时都需要将抑制延迟计数器更新为抑制延迟计数值,例如,当连续两帧当前帧音频谱系数被啸叫时,两帧对应的抑制延迟计数器的值都为抑制延迟计数值。
37.图4示出了本技术一种蓝牙音频的啸叫检测和抑制装置的具体实施方式。
38.在图4所示的具体实施方式中,蓝牙音频的啸叫检测和抑制装置主要包括:啸叫检测模块401,用于在对蓝牙音频进行编码和/或解码的过程中对当前帧音频谱系数进行啸叫检测;啸叫抑制模块402,用于若当前帧音频谱系数检测到啸叫,则对当前帧音频谱系数的当前啸叫频点的谱系数能量进行衰减,并利用抑制延迟计数器设置抑制延迟计数值,对紧接当前帧音频谱系数之后第一预定帧数的当前啸叫频点的谱系数能量进行衰减;其中抑制延迟计数值与第一预定帧数的值相等。该具体实施方式利用蓝牙编解码进行啸叫检测和啸叫抑制,避免了现有技术在对蓝牙音频进行啸叫检测和抑制时进行的重复性时频转换,减小运算量,减小了延时提高了用户体验且通用性较好。
39.在本技术的一个具体实施例中啸叫检测模块还包括,用于若抑制延迟计数值为0,则根据当前帧音频谱系数的子带能量以及预定的第一能量阈值判断当前帧音频谱系数是否啸叫的模块;用于若抑制延迟计数值不为0,则根据当前帧音频谱系数的前一帧的啸叫频点的谱系数能量,以及当前帧音频谱系数中与前一帧的啸叫频点相同频点的谱系数能量判断当前帧音频谱系数是否啸叫的模块。
40.本技术提供的蓝牙音频的啸叫检测和抑制装置,可用于执行上述任一实施例描述的蓝牙音频的啸叫检测和抑制方法,其实现原理和技术效果类似,在此不再赘述。
41.在本技术的另一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行上述实施例中描述的蓝牙音频的啸叫检测和抑制方法。
42.在本技术的一个具体实施例中,本技术一种蓝牙音频的啸叫检测和抑制方法中各功能模块可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
43.软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd-rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
44.处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field programmable gate array,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
45.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
46.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
47.以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献