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

时间:2022-01-23 阅读: 作者:专利查询

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

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


背景技术:

2.蓝牙音频有很多典型的应用场景,譬如说基于蓝牙的卡拉ok、基于蓝牙的无线麦克风/音箱等,从数据流的角度,可以抽象为图1所示,可以看出,此图中存在从扬声器到麦克风的反馈路径(如虚线箭头所示),此闭环状态使得当系统在增益增大到一定状态时有可能趋于不稳定,产生自激振荡发生啸叫。为了避免啸叫,可以基于深度学习对啸叫进行抑制。现有技术中基于深度学习抑制啸叫时均需要将音频数据转换到频域,或者借助其他额外的硬件设备,系统复杂,运算量大,不利于具体实施。


技术实现要素:

3.针对现有技术存在的问题,本技术主要提供一种蓝牙音频啸叫抑制方法、装置、介质及蓝牙设备,通过利用编解码过程中的纯净音频谱系数及含啸叫音频谱系数训练神经网络模型,进一步利用训练好的申请网络模型抑制啸叫,能够降低系统复杂度,减少运算量,降低系统延时,提升用户体验。
4.为了实现上述目的,本技术采用的一个技术方案是:提供一种蓝牙音频啸叫抑制方法,其包括:利用包括大量纯净音频谱系数及相应含啸叫音频谱系数的训练集,对神经网络模型进行离线训练得到啸叫抑制神经网络模型;在蓝牙音频编码和/或解码过程中,利用经离散余弦变换得到的当前帧音频谱系数得到当前帧特征向量;以及将当前帧特征向量作为输入,利用啸叫抑制神经网络模型输出无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数;其中,纯净音频谱系数及相应含啸叫音频谱系数包括,对纯净音频信号以及含啸叫音频信号进行蓝牙音频编码和/或解码时,经离散余弦变换步骤得到的音频谱系数。
5.本技术采用的另一个技术方案是:提供一种蓝牙音频啸叫抑制装置,其包括,模型训练模块,用于利用包括大量纯净音频谱系数及相应含啸叫音频谱系数的训练集,对神经网络模型进行离线训练得到啸叫抑制神经网络模型;特征提取模块,用于在蓝牙音频编码和/或解码过程中,利用经离散余弦变换得到的当前帧音频谱系数得到当前帧特征向量;以及啸叫抑制模块,用于将当前帧特征向量作为输入,利用啸叫抑制神经网络模型输出无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数;其中,纯净音频谱系数及相应含啸叫音频谱系数包括,对纯净音频信号以及含啸叫音频信号进行蓝牙音频编码和/或解码时,经离散余弦变换步骤得到的音频谱系数。
6.本技术采用的另一个技术方案是:提供一种蓝牙设备,其包括编码器以及解码器,编码器和/或解码器设置有上述的蓝牙音频啸叫抑制装置。
7.本技术采用的另一个技术方案是:提供一种计算机可读存储介质,其存储有计算
机指令,该计算机指令被操作以执行第一种方案中的一种蓝牙音频啸叫抑制方法。
8.本技术的技术方案可以达到的有益效果是:提供一种蓝牙音频啸叫抑制方法、装置、介质及蓝牙设备,本技术通过利用编解码过程中的纯净音频谱系数及含啸叫音频谱系数训练神经网络模型,进一步利用训练好的申请网络模型在编解码过程中抑制啸叫,能够较好地对音频中的啸叫进行抑制,同时降低系统复杂度,减少运算量,降低系统延时,提升用户体验。
附图说明
9.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
10.图1是蓝牙音频啸叫发生过程示意图;图2是本技术一种蓝牙音频啸叫抑制方法的一个具体实施方式流程示意图;图3是本技术一种蓝牙音频啸叫抑制方法的一个具体实施例中对深度神经网络模型训练的示意图;图4是本技术一种蓝牙音频啸叫抑制装置的一个具体实施方式的示意图;通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
11.下面结合附图对本技术的较佳实施例进行详细阐述,以使本技术的优点和特征能更易于被本领域技术人员理解,从而对本技术的保护范围做出更为清楚明确的界定。
12.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
13.为了检测以便于进一步避免啸叫,现有技术中,可以在音频处理的路径上插入一个模块,譬如在音频编码器之前或音频解码器之后插入,用来检测啸叫的产生进而避免啸叫。现有方案中现有技术在啸叫的抑制和检测过程中用到深度学习时,只能进行啸叫的检测或者抑制两者中的一者,还需要进行反复地时频转换或者利用其他的设备,例如进行线性调频z变换(记为czt)和傅里叶变换及其反变换(记为fft和ifft)算量很大,对系统要求很高,在通常基于嵌入式系统的处理器蓝牙音频设备上实施较为困难。
14.本技术通过利用编解码过程中的纯净音频谱系数及含啸叫音频谱系数训练神经网络模型,进一步利用训练好的申请网络模型在编解码过程中抑制啸叫,能够降低系统复
杂度,减少运算量,降低系统延时,提升用户体验。
15.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
16.图2示出了本技术一种蓝牙音频啸叫抑制方法的一个具体实施方式。
17.在图2示出的本技术蓝牙音频啸叫检测抑制方法包括:过程s201,利用包括大量纯净音频谱系数及相应含啸叫音频谱系数的训练集,对神经网络模型进行离线训练得到啸叫抑制神经网络模型;过程s202,在蓝牙音频编码和/或解码过程中,利用经离散余弦变换得到的当前帧音频谱系数得到当前帧特征向量;以及,过程s203,将当前帧特征向量作为输入,利用啸叫抑制神经网络模型输出无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数。其中纯净音频谱系数及相应含啸叫音频谱系数包括,对纯净音频信号以及含啸叫音频信号进行蓝牙音频编码和/或解码时,经离散余弦变换步骤得到的音频谱系数。
18.本技术通过利用编解码过程中的纯净音频谱系数及含啸叫音频谱系数训练神经网络模型,进一步利用训练好的申请网络模型在编解码过程中抑制啸叫,能够降低系统复杂度,减少运算量,降低系统延时,提升用户体验。
19.图2的过程s201表示的利用包括大量纯净音频谱系数及相应含啸叫音频谱系数的训练集,对神经网络模型进行离线训练得到啸叫抑制神经网络模型,能够便于利用训练得到的啸叫抑制神经网络模型进行啸叫的抑制和检测。
20.具体的,上述纯净音频谱系数及相应含啸叫音频谱系数包括对纯净音频信号以及含啸叫音频信号进行蓝牙音频编码和/或解码时,经离散余弦变换步骤得到的音频谱系数。直接利用编解码过程中得到的谱系数对模型进行训练,既避免了额外的算力需求与相关的代码空间需求,也避免了增加算法延迟。
21.在本技术的具体实例中,上述纯净音频可以从公开的数据集中获取,也可以通过自己录制获取。
22.在本技术的具体实例中,上述相应含啸叫音频可以使用软件仿真,在上述纯净语音中添加啸叫信号获取,也可以通过录制蓝牙音频播放过程中的啸叫语音获取。
23.在本技术的一个具体实例中,对上述利用纯净音频信号以及含啸叫音频信号利用lc3编码器进行蓝牙音频编码,具体包括,对纯净音频信号或者含啸叫音频信号进行麦克风输入,模数转换(a/d)、自动增益(adc)以及降噪处理,之后进行低延迟修正离散余弦变换(ld-mdct)。
24.具体的,根据lc3标准对输入的一帧音频数据完成加窗和ld-mdct计算(即低延迟改进型离散余弦变换):当前帧的音频数据
上述公式中,基于lc3标准规范,以配置16khz采样率、10ms帧长为例,是160,z是60,是窗函数系数,x(k)是当前帧时域音频数据对应的频域谱系数。
25.在本技术的可选实施例中,还可以对上述利用纯净音频信号以及含啸叫音频信号利用可以基于mdct变换的其他音频编解码器,如aac-lc、eaac、eaac+、 aac-ld和aac-eld进行编解码得到相应的音频谱系数。
26.在本技术的一个具体实施例中,上述利用包括大量纯净音频谱系数及相应含啸叫音频谱系数的训练集,对神经网络模型进行离线训练的过程包括,将纯净音频谱系数与相应含啸叫音频谱系数输入神经网络模型;以纯净音频谱系数作为参考,将相应含啸叫音频谱系数利用神经网络模型经非线性处理后得到处理后音频谱系数;调整神经网络模型的隐藏层的权重和偏移使得处理后音频谱系数与纯净音频谱系数的均方误差最小时,冻结神经网络模型的权重和偏移。
27.可选的,上述神经网络模型可以是深度神经网络模型(dnn),长短期记忆人工神经网络模型(lstm),或者卷积循环神经网络(crnn)等。
28.具体的,利用包括大量纯净音频谱系数及相应含啸叫音频谱系数的训练集,对深度神经网络模型(dnn),简单示意如图3所示,(工具所限,图中只示出了少量神经元,实际的神经元数量以表述为准)。
29.此深度神经网络隐藏层的前向传播函数如下所示,其中是含啸叫的谱系数,w
ji
是神经网络的权重(weight),i是隐藏层的输入的索引,j是隐藏层的输出索引,bj是隐藏层第j个偏移(bias)。以第一隐藏层为例,输入6帧谱系数,总长960,即i=1~n中的n=960,输出大小1920,即j=1~1920。f()是激活函数,可以选择常用的relu函数,表达式如下:在本技术的一个具体实施例中,上述调整神经网络模型的权重和偏移的过程包括,基于反向传播更新神经网络隐藏层的权重w(weights)与偏移b(bias)。使得神经网络输出的结果和期望结果的误差越来越小。具体的,如以下公式所示,
上式中 是学习率,其影响收敛的速度,e是损失函数,计算神经网络输出层与参考纯净语音谱系数之间的差别,计算方法如下其中k是输出神经元的数量,x
clean(n)
是神经网络训练时用来参考的纯净语音经特征提取得到的参考纯净语音谱系数。
30.在本技术的具体实施例中,以语音应用中典型的配置16khz采样率、10ms帧长为例,每帧谱系数k=160。
31.在本技术的一个具体实施例中,上述离线训练的过程包括利用个人计算机(pc)进行训练。在本具体实施例中,得到上述啸叫抑制神经网络模型后,需将的隐藏层的偏移和权重转换为定点数。通常在pc上训练时基于浮点 ,而嵌入式系统未必有浮点单元,所有需要量化操作将权重和偏移转换为定点数。优选的,将32位的浮点权重与偏移系数转换成8位定点数,既可以节省计算资源也可以节省存储资源。
32.可选的,上述离线训练也可以选用gpu进行离线训练。
33.图2的过程s202表示的在蓝牙音频编码和/或解码过程中,利用经离散余弦变换得到的当前帧音频谱系数得到当前帧特征向量,能够便于将当前帧特征向量作为啸叫抑制神经网络模型的输入得到无啸叫的频谱系数。
34.在本技术的一个具体实施例中,上述利用经离散余弦变换得到的当前帧音频谱系数得到当前帧特征向量的过程包括,利用当前帧音频谱系数及其前预定帧音频谱系数进行拼接得到当前帧特征向量,音频当前帧与历史帧有较强的相关性,将当前帧与其前预定帧拼接得到当前特征向量有助于神经网络在快速收敛的同时保持稳定。
35.在本技术的一个具体实施例中,上述预定帧频谱系数可以取5~10帧。可选的,取当前帧音频谱系数的前5帧频谱系数与当前帧频谱系数进行拼接得到当前帧特征向量,在拼接得到当前特征向量时,用到的历史帧也会增加系统的复杂度,拼接的帧数越多系统计算量越大,可以根据系统可以使用的资源而定。
36.在本技术的一个具体实施例中,在lc3蓝牙音频编码过程中,利用经模数转换(a/d)、自动增益(adc)以及降噪处理,直至完成低延迟修正离散余弦变换(ld-mdct)得到当前帧音频谱系数得到当前帧特征向量。
37.在本技术的一个具体实施例中,在lc3蓝牙音频解码过程中,利用解码至完成低延迟修正离散余弦逆变换得到的当前帧音频谱系数得到当前帧特征向量。
38.在本技术的其他具体实施例汇总,利用基于mdct变换的其他音频编解码器,如aac-lc、eaac、eaac+、 aac-ld和aac-eld进行编解码至完成mdct变换得到的当前帧音频谱系数得到当前帧特征向量。
39.图2的过程s203表示的将当前帧特征向量作为输入,利用啸叫抑制神经网络模型输出无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数。能够最终在编码或者解码的过程中,直接利用一个训练好的神经网络模型,有啸叫时输出抑制啸叫后的语音,无啸叫时神经网络模型输出无啸叫语音(此时神经网络对语音的改变很小,不影响音质)。避免现有技术中需要进行时频转换或者需要借助其他硬件设备,降低系统复杂性,减
少运算量,降低系统延时,提高用户体验。
40.在本技术的一个具体实施例中,上述当前帧特征向量由当前帧音频谱系数及其前5帧音频谱系数拼接得到。上述利用啸叫抑制神经网络模型输出无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数时,对啸叫抑制神经网络的配置为:输入层大小960,对应6帧谱系数,(1+5)* 160 = 960三个隐藏层大小分别为1920、1920、1920,输出层大小为160,对应一帧谱系数,此即抑制啸叫后的谱系数,用于完成后续编码。
41.将当前帧的谱系数记为, k=0,1,2,

,159将当前帧与n(取5)帧历史帧的谱系数拼接组成输入:, k=0,1,2,

,159。
42.在本技术的一个具体实施例中本技术的牙音频啸叫抑制方法还包括,利用无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数继续进行剩余的蓝牙编解码步骤。
43.在本技术的一个具体实施例中,上述啸叫抑制过程是在lc3蓝牙音频编码过程中进行的,在获得无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数后,继续进行剩余的变换域噪声整形、时域噪声整形、量化、噪声电平估计、算术与残差编码以及码流封装,以完成编码。
44.图4示出了本技术一种蓝牙音频啸叫抑制装置。
45.在图4示出的蓝牙音频啸叫检测抑制装置中,包括,模型训练模块401,用于利用包括大量纯净音频谱系数及相应含啸叫音频谱系数的训练集,对神经网络模型进行离线训练得到啸叫抑制神经网络模型;特征提取模块402,用于在蓝牙音频编码和/或解码过程中,利用经离散余弦变换得到的当前帧音频谱系数得到当前帧特征向量;以及啸叫抑制模块403,用于将当前帧特征向量作为输入,利用啸叫抑制神经网络模型输出无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数;其中,纯净音频谱系数及相应含啸叫音频谱系数包括,对纯净音频信号以及含啸叫音频信号进行蓝牙音频编码和/或解码时,经离散余弦变换步骤得到的音频谱系数。
46.本技术装置通过利用编解码过程中的纯净音频谱系数及含啸叫音频谱系数训练神经网络模型,进一步利用训练好的申请网络模型在编解码过程中抑制啸叫,能够降低系统复杂度,减少运算量,降低系统延时,提升用户体验。
47.用于利用包括大量纯净音频谱系数及相应含啸叫音频谱系数的训练集,对神经网络模型进行离线训练得到啸叫抑制神经网络模型的模型训练模块401,能够便于利用训练得到的啸叫抑制神经网络模型进行啸叫的抑制和检测。
48.具体的,上述纯净音频谱系数及相应含啸叫音频谱系数包括对纯净音频信号以及含啸叫音频信号进行蓝牙音频编码和/或解码时,经离散余弦变换步骤得到的音频谱系数。直接利用编解码过程中得到的谱系数对模型进行训练,既避免了额外的算力需求与相关的代码空间需求,也避免了增加算法延迟。
49.用于在蓝牙音频编码和/或解码过程中,利用经离散余弦变换得到的当前帧音频
谱系数得到当前帧特征向量特征提取模块402,能够便于将当前帧特征向量作为啸叫抑制神经网络模型的输入得到无啸叫的频谱系数。
50.用于将当前帧特征向量作为输入,利用啸叫抑制神经网络模型输出无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数的啸叫抑制模块403,能够避免现有技术中,基于频域判断啸叫时,通常使用的离散傅里叶变换将时域信号转换到频域运算复杂度特别高的方法,本技术利用编码器中已有的时频变换,较大的节省了算力。
51.在本技术的一个具体实施例中,本技术的蓝牙音频啸叫抑制装置还包括量化模块,用于离线训练利用个人计算机进行时,在得到所述啸叫抑制神经网络模型后,将所述啸叫抑制神经网络模型的隐藏层的偏移和权重转换为定点数。在本具体实施例中,得到上述啸叫抑制神经网络模型后,需将的隐藏层的偏移和权重转换为定点数。通常在pc上训练时基于浮点 ,而嵌入式系统未必有浮点单元,所有需要量化操作将权重和偏移转换为定点数。优选的,将32位的浮点权重与偏移系数转换成8位定点数,既可以节省计算资源也可以节省存储资源。
52.在本技术的一个具体实施例中,本技术的蓝牙音频啸叫抑制装置还包括继续解码模块,用于利用无啸叫的当前帧音频谱系数,或者抑制啸叫后的当前帧音频谱系数继续进行剩余的蓝牙编解码步骤,以便最终完成相应的蓝牙音频编解码工作。
53.在本技术的一个具体实施例中,本技术提供的蓝牙音频啸叫抑制装置可用于执行上述任一实施例描述的蓝牙音频啸叫检测抑制方法。
54.在本技术的一个具体实施例中,本技术一种蓝牙音频啸叫抑制装置中各功能模块可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
55.软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd-rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
56.处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field programmable gate array,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
57.本技术的一个具体实施方式中,一种蓝牙设备,包括编码器以及解码器编码器和/或解码器设置有上述任一实施例描述的蓝牙音频啸叫抑制装置。
58.在本技术的另一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行上述方案中的蓝牙音频啸叫检测抑制方法。
59.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为
一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
60.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
61.以上仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。