首页> 中国专利> 一种基于神经网络的立体声回声消除方法及系统

一种基于神经网络的立体声回声消除方法及系统

摘要

本发明公开一种基于神经网络的立体声回声消除方法及系统,系统输入三路音频信号,分别为麦克风信号、立体声扬声器播放的左声道参考信号和右声道参考信号;三路音频信号经短时傅里叶变换得到三路频域信号,压缩形成频段能量信息,三路频段能量信息作为神经网络模型的输入,通过训练好的神经网络模型输出理想概率掩蔽IRM值;神经网络模型以设定的IRM值作为训练的目标;根据计算得到的IRM值及麦克风信号对应的频段信息能量值得到回声消除后的频域信息;频域信息经逆短时傅里叶变换得到时域信息,完成回声消除。本发明采用人工智能‑深度学习的方法取代传统复杂的立体声回声消除算法,实现语音通信中立体声的回声消除。

著录项

  • 公开/公告号CN111292759A

    专利类型发明专利

  • 公开/公告日2020-06-16

    原文格式PDF

  • 申请/专利权人 上海亮牛半导体科技有限公司;

    申请/专利号CN202010389995.0

  • 发明设计人 马崇泽;王照钢;徐栋麟;

    申请日2020-05-11

  • 分类号

  • 代理机构上海元好知识产权代理有限公司;

  • 代理人徐雯琼

  • 地址 201203 上海市浦东新区自由贸易试验区芳春路400号1幢3层

  • 入库时间 2023-12-17 09:59:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-31

    授权

    授权

  • 2020-07-10

    实质审查的生效 IPC(主分类):G10L21/0208 申请日:20200511

    实质审查的生效

  • 2020-06-16

    公开

    公开

说明书

技术领域

本发明涉及实时通讯与语音识别技术领域,特别涉及一种基于神经网络的立体声回声消除方法及系统。

背景技术

在语音通信中,回声是影响通话质量的重要因素。回声现象是指说话者通过通信设备发送给其他人的语音又重新回到说话者自己的听筒里。回声对说话者产生严重的干扰,必须想办法消除。当近端用户的放音音量比较大而录音设备和放音设备距离比较近时,回声尤其明显。回声受近端用户环境的影响,可能产生多路回声,包括直接回声和反射回声,各个回声的路径不同,延迟也就不同,因而难以消除。图1中麦克风采集到的声音y(n)中包含有近端语音信号s(n)、扬声器左声道播放产生的回声dl(n)和右声道播放产生的回声dr(n);s^(n)表示经过回声消除后的干净语音。

理想情况下是希望从麦克风传输到对端的声音只有干净的语音而不包含有回声,所以需要在传输之前对麦克风数据做回声消除处理。传统的回声消除依靠自适应滤波器来完成。自适应滤波器对输入信号x(n)的每一个样值,按特定的算法,更新、调整加权系数,使输出信号序列y(n)与期望输出信号序列d(n)相比较的均方误差为最小,即输出信号序列y(n)逼近期望信号序列d(n)。但是传统的回声消除存在开发难度高,收敛时间长,滤波器易发散、回音路径变化需要重新收敛等问题;另外,随着电话会议等新业务的兴起,人们不再满足于单调的低速率单声道话音,而立体声成为一个新的选择,则立体声回声消除也随之成为新的研究课题。

但是立体声回声消除与单声道声学回声消除有着很大的区别。首先,立体声回声消除的计算复杂度是单声道的两倍,因为它还需要第二个回声消除器。其次,立体声的两个声道的高相关性会给补偿滤波器的自适应过程带来严重的问题。这都需要研究者采用新的思路和方法,开发难度较大,算法复杂度也较高。

立体声回声抵消和单声道回声抵消有着本质的区别。第一、立体声的不同通道之间有着强相关性,这使得其相关矩阵是奇异的,因而没有唯一解;第二、立体声包含了远端房间的信息,因而如果远端房间的声学环境发生变化,如说话者的身体移动或者说话人变更都会使得回声路径改变从而导致自适应滤波器重新开始收敛,这就意味着自适应滤波器不仅要跟踪近端房间声学回声路径的变化而且还必须跟踪远端房间的发送信号产生路径的变化。针对立体声回声抵消算法的这些问题,目前人们主要从两个方面进行研究,一是对输入信号进行预处理,以消除通道之间的强相关性,主要方法有对各路信号进行非线性处理,对各路信号添加随机噪声,采用全通时变滤波器对输入信号处理等等;二是设计性能更佳的自适应滤波器,包括两路NLMS(Normalized Least Mean Square)算法、两路 AP(Affine Projection)算法、两路 FRLS (Fast Recursive Least Square)算法、ELMS(Extended LMS)算法和 NLMS-OCF (Normalized LMS algorithm withorthogonalcorrection factors)算法。然而,现有的去相关算法并不是很有效,在对信号去相关的同时也带来了语音质量的下降;虽然有很多复杂的自适应滤波算法被开发出来,但由于远端信号之间的强相关性,自适应滤波算法收敛速度慢,对远端房间和近端房间回声路径的变化敏感,算法鲁棒性不好。

传统的回声消除模型公式如下,麦克风信号y(n) 包含了回声信号d(n),和近端信号s(n):y(n) = d(n) + s(n);

回声的产生是扬声器信号在房间内产生冲激响应;这里可以将AEC(回声消除)问题描述为语音分离问题,而深度学习在分离问题中具有巨大的潜力,递归神经网络在时变函数上的建模能力非常有助于解决立体声的回声消除问题。因此,研发一种基于神经网络的立体声回声消除方法实为必要。

发明内容

本发明的目的在于提供一种基于神经网络的较低算法复杂度的立体声回声消除方法,其是采用人工智能-深度学习(神经网络模型)的方法取代传统复杂的立体声回声消除算法,实现语音通信中立体声的回声消除,并且在比较低的算法复杂度上能取得更好的消除效果。

为了达到上述目的,本发明通过以下技术方案实现:

一种基于神经网络的立体声回声消除方法,包含以下过程:

输入三路音频信号,分别为麦克风信号、立体声扬声器播放的左声道参考信号和立体声扬声器播放的右声道参考信号;所述麦克风信号包含近端语音信号和远端信号,所述远端信号包含麦克风采集到的立体声扬声器播放的左声道回声信号与右声道回声信号;

将所述三路音频信号经过变换以提取频域特征,得到三路频域信息;

将所述三路频域信息经过压缩形成频段能量特征,得到三路频段能量信息;

将所述三路频段能量信息作为神经网络模型的输入,通过预先训练好的神经网络模型,输出麦克风信号的频段能量信息对应的理想概率掩蔽值;

基于神经网络模型输出的理想概率掩蔽值以及所述麦克风信号的频段能量信息,得到回声消除后的频段能量信息,并将所述回声消除后的频段能量信息解压计算得到回声消除后的频域信息;

将所述回声消除后的频域信息经过变换得到相应的时域信息,完成立体声的回声消除;

其中,在神经网络模型的预先模型训练阶段时,根据近端语音信号的频段能量与远端信号的频段能量,确定理想概率掩蔽值作为所述神经网络模型的训练的目标,且用于神经网络模型训练而制作的数据集中的训练数据包含采集的麦克风信号、立体声扬声器播放的左声道参考信号和立体声扬声器播放的右声道参考信号。

优选地,所述神经网络模型的预先模型训练阶段时,麦克风信号记为y(n),近端语音信号记为s(n),麦克风采集到的立体声扬声器播放的左声道回声信号和右声道回声信号记为d(n),其中,y(n) = s(n)+ d(n)。

优选地,理想概率掩蔽值IRM等于对应近端语音信号的频段能量除以其与远端信号的频段能量之和的商的平方根。

优选地,将三路频域信息经过划分的频段压缩形成频段能量特征,得到三路频段能量信息的过程中,压缩计算方式为:对划定的频段区间求频点能量的加权和,用来表示频段能量信息;所述频点能量等于该频点的模的平方,各频点能量的权重为对应频点在该频段区间的幅度,且在划定的频段区间内的权重和等于1;其中,将三路音频的频域信息按照一定的比例划分为N(0<N<k)个区间,k表示采样率对应的频率范围,形成频段。

优选地,所述神经网络模型是包含M层的单向GRU或者双向的GRU(BGRU),其中,M≧2。

优选地,所述神经网络模型包含依次连接的用于接收三路频段能量信息的一层输入层、用于计算理想概率掩蔽值的若干层隐藏层和用于输出麦克风信号的频段信息对应的理想概率掩蔽值的一层输出层;所述输入层的神经元节点的个数等于三路频段能量信息值的个数之和;所述输出层的神经元节点的个数等于麦克风信号的频段能量信息值的个数。

优选地,所述回声消除后的频段能量信息等于神经网络模型输出的麦克风信号的每个频段能量信息值乘以对应的理想概率掩蔽值。

优选地,所述三路音频信号经过傅里叶变换得到三路频域信息,所述傅里叶变换为短时傅里叶变换;将所述回声消除后的频域信息通过逆傅里叶变换得到相应的时域信息,所述逆傅里叶变换为逆短时傅里叶变换。

优选地,通过预先训练好的神经网络模型,训练所述神经网络模型的步骤包括:

收集训练时的人声作为近端语音信号,收集训练时的立体声扬声器播放的立体声音乐作为远端信号;

将所述近端语音信号和所述远端信号时域相加作为麦克风信号;

基于近端语音信号的频段能量与远端信号的频段能量计算得到理想概率掩蔽值并作为训练的目标;

将立体声扬声器播放的立体声音乐的左、右声道分别作为立体声回声消除左声道的参考信号和立体声回声消除右声道的参考信号,并制作数据集;

通过所述神经网络模型对数据集中的语音训练集进行训练。

本发明还提供了一种采用如上文所述的立体声回声消除方法的立体声回声消除系统,包含:

信号输入模块,用于输入三路音频信号,分别为麦克风信号、立体声扬声器播放的左声道参考信号和立体声扬声器播放的右声道参考信号;所述麦克风信号包含近端语音信号和远端信号,所述远端信号包含麦克风采集到的立体声扬声器播放的左声道回声信号与右声道回声信号;

信号预处理模块,其将接收的三路音频信号通过变换得到三路频域信息,并将所述三路频域信息经过压缩形成频段能量特征,得到三路频段能量信息;

神经网络模块,其将三路频段能量信息值作为输入,并通过预先训练好的神经网络模型,输出麦克风信号的频段能量信息对应的理想概率掩蔽值;

信号处理模块,其输入所述理想概率掩蔽值以及所述麦克风信号的频段能量信息,输出回声消除后的频段能量信息,并将得到的所述回声消除后的频段能量信息解压计算得到回声消除后的频域信息;

信号后处理模块,其输入所述回声消除后的频域信息并将其通过变换得到相应的时域信息。

与现有技术相比,本发明的有益效果在于:本发明将包含立体声回声信号的麦克风信号的频段能量信息传输到神经网络模型,并对神经网络模型输出的结果和麦克风频段能量信号做运算可以得到最终时域信息,能实现的立体声回声消除;本发明解决了传统立体声回声消除复杂度高,运算量大,开发难度高的问题;本发明是利用设计好的神经网络模型以及配套的处理方法用来实现立体声的回声消除,能取得更好的消除效果。

附图说明

图1为现有技术的语音通信路径示意图;

图2为本发明的基于神经网络模型的立体声回声消除模型和流程图;

图3为本发明的立体声回声消除系统模块组成示意图;

图4为本发明频段压缩划分区间示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

(一)如图2所示,本发明提供了一种基于神经网络模型的立体声回声消除方法,将包含立体声回声信号的麦克风信号的频域信息经过计算压缩成频段能量信息传输到神经网络模型,最后对神经网络模型输出的结果做信号处理得到最终时域信息。本发明的神经网络模型包含N层(N≧2)单向GRU或M层(M≧2)双向GRU。示例地,所述神经网络模型采用BGRU(双向GRU,双向门控循环单元)神经网络模型;其中,GRU(门控循环单元)是RNN(循环神经网络)的一个变种,GRU解决了RNN容易产生训练过程中梯度消失和梯度爆炸的问题,它可以对时间依赖关系建模,并在语音分离方面表现出良好的性能。本实施例中的BGRU神经网络模型包含一层输入层、若干个隐藏层(也称BGRU层)和一层输出层(也称全连接层)。输入层负责接收输入及分发到隐藏层,隐藏层负责所需的计算及输出计算结果给输出层。

在一个示例中,BGRU神经网络模型包含一层输入层、四层隐藏层和一层输出层,如图2所示。本发明的BGRU神经网络模型的输入层输入三个通道的频段能量信息,这三个通道包含:(1)麦克风采集到的所有信号,简称麦克风信号通道,包含近端信号和远端信号;(2)立体声扬声器播放的左声道的参考信号;(3)立体声扬声器播放的右声道的参考信号。

如图2所示,每个通道的频域信号均有若干个频域信号值,将这些频域信号值按50个频段(如图4)进行压缩,得到50个频段能量信息值,则输入层输入150个(50*3=150 个)频段能量信息值,对应地,输入层有150个神经元节点,输入层的每个神经元节点与一个频段能量信号值对应,即输入层将各个频段能量信号值赋值给对应的一个神经元节点,这样做的目的是为了避免产生大量的输入和输出,以及减小网络模型的大小,从而减少整个算法的复杂度和运算量,是整个预处理的关键。本发明的BGRU神经网络模型的输出层有50个神经元节点,对应地,输出层最终输出麦克风信号通道的50个频段能量信号值;本发明的输出层采用Sigmoid函数作为激活函数,Sigmoid函数的值域在(0,1),恰好对应于每一个频段能量信息的理想概率掩蔽值。

示例地,将三路频域信息经过划分的频段压缩形成频段能量特征,得到三路频段能量信息,压缩计算方式为:对划定的频段区间求频点能量的加权和,用来表示频段能量信息,所述频点能量等于该频点的模的平方,各频点能量的权重为对应频点在该频段区间的幅度,且在划定的频段区间内的权重和等于1。

具体地,本示例将三路音频的频域信息按照一定的比例划分为N(0<N<k)个区间,k表示采样率对应的频率范围,形成频段,本示例中划分为50个频段区间。以频率低,频带窄,频率高,频带宽为原则,进行划分,因为人耳对越高频声音分辨率越低。本示例的频段区间划分如附图4所示。综上所述,本发明将频域信息计算压缩为频段能量信息可以大大减少模型的输入和输出,以及减小网络模型设计的复杂度和计算量,从而解决立体声回声消除高复杂度高运算量的难题。

另外,本发明的BGRU神经网络模型的隐藏层还不仅限于上述的四层,还可以是其他数量的多层,本发明不做限制。本发明的每层隐藏层的神经元节点的个数不固定,可以是任意数目,本发明对此不限制。示例地,每层隐藏层均有300个神经元节点。

(二)如图3所示,本发明提供了一种基于神经网络的立体声回声消除系统,包含信号输入模块1、信号预处理模块2、神经网络模块3、信号处理模块4和信号后处理模块5。

信号输入模块1用于输入三路音频信号,分别为麦克风信号、立体声扬声器播放的左声道参考信号和立体声扬声器播放的右声道参考信号;所述麦克风信号包含近端语音信号和远端信号,所述远端信号包含麦克风采集到的立体声扬声器播放的左声道回声信号与麦克风采集到的立体声扬声器播放的右声道回声信号。

信号预处理模块2将接收的三路音频信号经过时域-频域变换得到三路频域信息,将各路频域信息分别计算压缩为频段能量信息。可选地,信号预处理模块2将接收的三路音频信号进行短时傅里叶变换得到三路频域信息,并将各路频域信息计算压缩为频段能量信息。

神经网络模块3将三路频段能量信息作为输入,通过预先训练好的神经网络模型,计算并输出理想概率掩蔽值;其中,在模型训练阶段根据近端语音信号的能量和远端信号的能量,确定预设理想概率掩蔽值作为所述神经网络模型的训练的目标,且用于神经网络模型训练而制作的数据集中的数据信号包含采集的麦克风信号、立体声扬声器播放的左声道参考信号和立体声扬声器播放的右声道参考信号。

信号处理模块4根据输入神经网络模型计算得到的理想概率掩蔽值以及麦克风信号的频段能量信息,输出回声消除后的频段能量信息。其中,回声消除后的频段能量信息等于神经网络模型输出的麦克风信号的每个频段能量信息值乘以对应的理想概率掩蔽值。

信号后处理模块5输入回声消除后的麦克风通道对应的频段能量信息,将其解压计算产生回声消除后的麦克风的频域信息,并将其经过频域-时域变换最终输出相应的时域信息。可选地,信号后处理模块5输入回声消除后的麦克风通道对应的频段能量信息,并将其解压计算生成频域信息,解压过程为上述压缩过程的逆过程,再经过逆短时傅里叶变换最终输出相应的时域信息。

值得说明的是,本发明的信号预处理模块2和信号后处理模块5并不限于上述的短时傅里叶变换与逆短时傅里叶变换,此为一种示例,还可以采用其他能够实现时域和频域之间的转换的任意变换模块,对此不做限制。具体地,上述短时傅里叶变换方法如下:短时傅里叶变换是一个用于语音信号处理的通用工具,它指定了任意信号随时间和频率变化的复数幅度。实际上,计算短时傅里叶变换的过程是把一个较长的时间信号分成相同长度的更短的段,在每个更短的段上计算傅里叶变换,即傅里叶频谱。

(三)以下的数据处理均以10ms(16kHZ采样率,160个样点)一帧为例,本发明基于神经网络模型的立体声回声消除方法包含以下步骤:

S1、信号输入:输入的信号包含麦克风采集到的信号y(n),以及立体声扬声器播放的两路参考信号xl(n)和xr(n),xl(n)为立体声扬声器播放的左声道的参考信号,xr(n)为立体声扬声器播放的右声道的参考信号。

S2、提取频域特征:将音频信号y(n)、xl(n)和xr(n)分别经过STFT(短时傅里叶变换)运算,得到对应3路通道的频域信息,再将3路通道的频域信息压缩计算出3路通道对应的频段能量信息。其中,3路通道是指麦克风信号作为一个通道,以及立体声扬声器播放的左右声道的两路参考信号分别对应2路通道。示例地,每个通道对应若干个(例如161个)频域信息值,将这些频域信息值压缩计算后形成50个对应的频段能量信息值。

所述步骤S2中,进一步包含:以16kHZ采样率为例,对音频信号y(n)、xl(n)和xr(n)依次均对每帧做短时傅里叶变换(例如以16k采样率为例,以20ms/帧、10ms的帧移,做320个点的短时傅里叶变换,这里的20ms的数据作为一帧,320表示帧长),各自得到161个频域信息值,将这些频域信息值压缩计算后形成50个对应的频段能量信息值,即将作为BGRU神经网络模型的输入信号,此时,输入信号有50*3=150个频域信息值。值得说明的是,本发明还适用于任何采样率,包括但不限于8k、16k、32k、44.1k、48k采样率等,同时本发明也不仅仅限于20ms/帧,以上为一个示例,本发明对此不做限制。

S3、将步骤S2得到这些各路信号通道的频段能量信息值作为已经训练好的BGRU神经网络模型的输入,经过训练好的BGRU神经网络模型的计算,得到最后输出计算得到的理想概率掩蔽值。示例地,BGRU神经网络模型输出的理想概率掩蔽值IRM值是在0到1之间。

所述BGRU神经网络模型的训练过程如下:

(1)将麦克风采集到的立体声扬声器播放的信号作为回声(echo),记作远端信号d(n),表示左声道和右声道的回声;(b)近端干净的语音信号(例如人声)记作s(n),并将s(n)与d(n)相加得到麦克风信号y(n),y(n) = s(n) +d(n);s(n)、y(n)、d(n)均为数字信号。

(2)本发明将IRM(ideal radio mask,理想概率掩蔽值)作为BGRU神经网络模型训练的目标。其中,理想概率掩蔽值IRM等于对应近端语音信号的频段能量除以其与远端信号的频段能量之和的商的平方根;近端语音信号的频段能量与远端信号的频段能量之和即为麦克风信号的频段能量。

(3)其中,在神经网络模型训练之前制作数据集阶段时,需要抓取或者录制以上音频数字信号(如麦克风近端信号以及回声信号和立体声扬声器左、右声道的参考信号)。值得提出的是在训练模型之前需要制作训练数据集,需要准备一些立体声音源和一台可以播放立体声音源的设备,例如电脑,用高保真录音器在封闭或半封闭的房间内录制回声信号。

(4)训练BGRU神经网络模型,并得到BGRU神经网络模型的权重系数。其中,在神经网络模型的训练阶段,将理想概率掩蔽(IRM)值作为BGRU神经网络模型的唯一输出序列,固定神经网络模型,训练得到模型的权重系数。

一个具体示例,通过预先训练好的神经网络模型,训练所述神经网络模型的步骤包括以下:(a)收集训练时的人声作为近端语音信号,收集训练时的立体声扬声器播放的立体声音乐作为远端信号;(b)将所述近端语音信号和所述远端信号时域相加作为麦克风信号;(c)基于近端语音信号的能量和远端信号的能量计算得到理想概率掩蔽值(IRM值)并作为训练的目标;(d)将立体声扬声器播放的立体声音乐的左、右声道分别作为立体声回声消除左声道的参考信号和立体声回声消除右声道的参考信号,并依此制作数据集;(e)通过BGRU神经网络对数据集中的语音训练集进行训练,直至达到较好的效果。

S4、根据步骤S3中已经训练好的BGRU神经网络模型输出的理想概率掩蔽值(IRM值)以及麦克风信号频段能量信息值,并将麦克风信号的每个频段能量信息值乘以对应的理想概率掩蔽值(IRM值),可得到回声消除后的频段能量信息值,再将频段能量信息值解压计算得到消除回声后的麦克风频域信息。

S5、将步骤S4得到的回声消除后的频域信息经过ISTFT(逆短时傅里叶变换)运算,即可得到对应的时域信息,即完成双声道立体声的回声消除。值得说明的是,本发明并不仅限于上述的短时傅里叶变换、逆短时傅里叶变换方法,此为一种示例,还可以采用其他能够实现时域和频域之间的转换的任意变换方法,本发明对此不做限制。

综上所述,本发明将包含立体声回声信号的麦克风信号的频段能量信息传输到神经网络模型,并对神经网络模型输出的结果和麦克风信号频段能量信息运算后做逆短时傅里叶变换得到最终时域信息,能实现的立体声回声消除;本发明是利用设计好的神经网络模型以及配套的处理方法用来实现立体声的回声消除,能取得更好的消除效果。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号