【AEC回声消除论文(3)】Integrated AEC With Time Alignment And Deep Learning-based RE Plus NS

Icassp 2021 Acoustic Echo Cancellation Challenge: Integrated Adaptive Echo Cancellation With Time Alignment And Deep Learning-based Residual Echo Plus Noise Suppression

Icassp 2021 AEC challenge:具有时间对准和基于深度学习的残余回声和噪声抑制的集成自适应回声消除

摘要

本文介绍了ICASSP 2021 AEC挑战赛的三级回声消除(AEC)和抑制框架。第一阶段采用分块频域自适应滤波,在不引入近端语音失真的情况下消除线性回声分量,并对远端参考信号与麦克风信号之间的时间延迟进行补偿。第二阶段提出一种与门控循环单元集成的深层复数UNet,以进一步抑制残余回声分量。在最后一阶段,训练一个极微小的深度复数U-Net来抑制第二阶段未完全抑制的非语音残差分量,这也可以在不显著增加计算复杂度的情况下进一步提高回声损失增强(ERLE)。实验结果表明,所提出的三阶段框架在单会话和双会话场景下均能获得高于50 dB的ERLE,在双会话场景下语音质量感知评价可提高0.75左右。提出的框架在MOS方面优于AEC-Challenge基线ResRNN 0.12点。

1. 介绍

随着COVID-19的爆发,声学回声消除(AEC)在会议应用中变得更重要。在多数情况下,假定回声路径是线性的,并且麦克风信号与远端参考信号之间的时间延迟是有限的或已知先验的。在此假设下,使用传统的方法[1]可以有效地消除声学回声信号。然而,现有的线性声学回声消除算法在实际应用中由于时延范围大,在0 ms到600 ms以上,扬声器可能存在严重的非线性干扰,特别是当输入信号较大时。此外,声音回声路径也可能是时变的,麦克风信号也可能包含一些环境噪声和混响的影响。以上这些问题都是实际的会议系统需要解决的问题。

在过去的几十年里,人们努力提高自适应滤波算法的收敛速度,提高其双讲[2],[3],[4]的鲁棒性。在这些自适应滤波算法中,分块频域最小均方(PBFDLMS)算法在计算复杂度和算法时延之间取得了很好的平衡,并被选择用于ICASSP 2021 AEC挑战赛的实现。在双工通话情况下,为了减缓PBFDLMS算法的发散,在更新自适应滤波器系数[5]时控制步长是很重要的。在本次挑战中,远端参考信号与话筒信号之间的时间延迟可能非常大,即≥600ms。在这种情况下,也需要估计这个时间延迟,然后应该事先进行时间对齐,这样就可以避免使用数千个自适应滤波器系数来覆盖这个回放和记录延迟。

如果不进行后处理,可能会保留一些残留的回声成分,对电话会议系统有较大影响。为此,许多研究者在进一步抑制这些残余回声分量方面做了大量的工作。在实际应用中,既要考虑环境噪声,又要考虑残余回声,需要同时对噪声和残余回声进行抑制。在过去的三十年里,人们已经提出了许多结合了噪声和残余回声抑制的算法。近年来,由于深度神经网络在揭示输入输出之间复杂非线性关系方面的强大能力,基于DNN的端到端AEC算法表现出了优于无监督算法的性能[8,9,10]。然而,众所周知,在真实的声学环境中,由于测试和训练条件之间的不匹配,网络性能往往会出现明显的退化。在[11]中,实验结果表明,自适应滤波算法和深度学习算法的结合可以解决AEC系统的鲁棒性,同时保持有前景的回声消除性能,可用于实际应用。

对于本次AEC挑战赛,我们提出了一个三级声学回声消除和抑制框架,如图1所示。
在第一阶段,选择PBFDLMS算法来尽可能地消除线性回声分量,其中我们预先估计和补偿时间延迟。
在第二阶段,采用集成了门控循环单元(DCGRUNet)的深层复数U-Net[12]进一步抑制残余回声分量。
在最后阶段,训练一个极微小的深度复数U-Net (tiny DCUNet)来抑制非语音残差成分。
在这里插入图片描述

本文的其余部分组织如下:第2节介绍信号模型并给出了问题的公式。在第3节描述所提出的三阶段处理模块的总体框架。在第4节提出了一些主观和客观的实验结果,以验证所提出的框架的有效性。在第五节给出了一些结论。

2. 信号建模

图2所示为声学回声消除系统的示意图,左侧为接收室,右侧为发射室。
在这里插入图片描述

远端参考信号 r ( n ) r(n) r(n)由麦克风在发射室内记录,然后传输到接收室。然后通过扬声器播放 r ( n ) r(n) r(n),再通过声回声路径 h ( n ) h(n) h(n)传递到接收室的麦克风。据此,可将接收室内的麦克风信号建模为:

在这里插入图片描述
其中 ∗ ∗ 表示卷积, n n n表示离散时间点, s ( n ) s(n) s(n)为近端语音信号, v ( n ) v(n) v(n)为加性噪声。AEC的目标是利用远端参考信号 r ( n ) r(n) r(n)的先验信息,从 d ( n ) d(n) d(n)中提取干净语音信号 s ( n ) s(n) s(n)

在实际应用中,微型扬声器越来越流行,(1)中的线性模型不一定成立,可能会出现非线性回声问题,需要认真考虑[13][14]。
在这次AEC挑战赛中,线性和非线性回声分量都需要去除。在本文中,我们提出在第一阶段使用PBFDLMS去除线性回声分量。残差和非线性回声分量被基于深度学习的算法进一步抑制,使用多个输入信号,灵感来自[15]。与[15]中的方法相比,我们直接估计干净语音复谱,而不估计掩码来抑制回声,为此我们修改了深层复数U-Net[12]。通过这样可以在客观和主观测试中获得更好的表现。该深度复数网络[16]不仅可以优化幅度,还可以优化相位。

3.所提出的框架

3.1. 自适应滤波

对于自适应滤波算法,首先估计远端参考信号与麦克风信号之间的时间延迟,然后对时间进行对齐,再更新自适应滤波系数。如果没有时间对齐,自适应滤波器长度应该足够大,以覆盖播放和记录延迟。很明显随着自适应滤波器长度的增加,计算量会急剧增加。为了降低计算复杂度,提高收敛速度,本文提出采用广义互相关相位变换(GCC-PHAT)方法[17]估计时延,然后对远端参考信号用估计的时延∆进行时延。

时间对齐后,对时间对齐的远端参考信号 r ( n − ∆ ) r (n−∆) r(n)和麦克风信号d(n)进行短时快速傅里叶变换(STFT)到频域变换,分别用 r ( l , k ) 和 d ( l , k ) r(l, k)和d(l, k) r(l,k)d(l,k)表示,其中 l l l表示时间帧指数,k表示频率点指数。请注意, R ( l , k ) 和 D ( l , k ) R(l, k)和D (l, k) R(l,k)D(l,k)都是复数值,分别表示时频仓 ( l , k ) 中 R ( n − ∆ ) 和 D ( n ) (l, k)中R (n−∆)和D (n) (l,k)R(n)D(n)的复谱。通过PBFDLMS算法估计声学回声,并从麦克风信号中减去误差信号E (l, k),如图3所示。PBFDLMS算法的更多细节可以在[1]中找到。
在这里插入图片描述

对于双讲场景,步长需要根据麦克风信号和远端参考信号进行优化。本文利用麦克风信号与远端参考信号的幅值平方相干性(MSC)来控制自适应滤波器系数的更新。当MSC接近1时,自适应滤波器系数可以快速更新。相反,当MSC接近0时,自适应滤波器系数应停止更新。在某些情况下,由于回声路径有一定的发散性,或者声回声路径变化较快,我们无法快速跟踪这种变化,自适应滤波算法可能会将回声放大,而不是消除/减小回声。为了解决这个问题,我们在每个时频库中直接约束误差信号 E ( l , k ) E (l, k) E(l,k)的大小,它由

在这里插入图片描述
其中β≥1为常数值。本文采用β = 2。我们发现利用这一约束来提高自适应滤波算法的鲁棒性是非常重要的,特别是当声学回声路径发生快速变化时。注意,β不能小于1,否则会显著降低自适应滤波算法的性能。注意,我们只限制幅度,误差信号的相位保持不变。

3.2. 与GRU集成的深度复数U-Net

在本研究中,为了抑制非线性和残余线性回声分量,我们采用深度复数U-Net (DCU-Net)作为主网络,该网络在深度噪声抑制任务[12]中表现出了令人印象深刻的性能。然而,对于这个需要实时执行的AEC挑战任务,它还需要改进。首先,原始配置基于非因果设置。也就是说,在训练和测试的过程中,整个话语信息都参与了计算,这阻碍了实时推理。其次,由于只提供了卷积编码器和解码器,没有有效地探索时间相关性。为了解决上述问题,我们重新设计了称为DCGRU-Net-22的原始架构。它有几处修改,具体见图4。

在这里插入图片描述

首先,将时间轴上所有的核和步长都设置为1,避免了对未来信息的计算。其次,与[18]类似,我们增加了与门控循环单元(GRU)[19]的循环连接,以更好地探索编码器层与其对应的解码器层之间的时间连接。请注意,与[12]类似,所有的操作,包括卷积、批量归一化和非线性激活都是基于复杂原理,已经证明在许多任务中它可以获得比实值操作更好的性能[20,21,22]。这里的值“22”表示编码器和解码器的层数为22。

在DCGRU-Net-22中,将麦克风信号D (l, k)、远端参考信号R (l, k)、误差信号E (l, k)等多个信号的实部和虚部沿通道轴串联为输入特征。它的输出也有两个分量,即增强近端信号 S ^ ( l , k ) \hat{S}(l, k) S^(l,k)的实部和虚部。每一层都有一个复杂的卷积神经网络(CNN),具有复杂的批处理归一化和ReLU激活函数[23]。对于每个编码器输出,它不是单纯的跳跃连接,而是被重塑为时间序列向量,然后馈送到GRU层进行序列建模,然后再被重塑为原始大小,最后与相应的解码器层连接。

3.3. 微型深度复数U-Net后处理

在第一阶段和第二阶段,仍然存在一些非语音残留回声分量。此外,一些环境噪声如果不在嘈杂的环境中进行训练是无法抑制的。考虑到声学回声的语音结构已经被充分抑制,我们可以将这些非语音残留回声成分视为非平稳噪声成分,可以通过基于深度学习的后处理算法进一步抑制。

在这里插入图片描述

图5为阶段III的框架图。编码器和解码器的层数在这个阶段只有16层,这可以归结为双重因素。一方面,经过前两个阶段后,语音质量有了很大的提高,只剩下一些失真需要缓解。另一方面,参数较少的网络可以降低计算复杂度。在这里,我们将阶段III中的网络表示为Tiny DCU-Net-16。

注意,Stage III中的网络只接收增强信号S (l, k)的实部和虚部作为输入,而输出是增强信号S (l, k)的实部和虚部。因此,我们可以用noise -clean语音对训练Stage III中的模型。

4. 实验结果

4.1. 实验装置

本文通过对320个连续采样点的帧进行汉宁窗变换,将所有的时域信号转化为频域信号,帧移为160个采样点。在提出的框架中,我们没有使用任何未来的信息来进一步提高性能,因此由于采样率为16000 Hz,算法延迟为30 ms。PFBLMS算法中使用的子块数量为24。

在DCGRU-Net-22的训练阶段,将远端参考信号R (l, k)、麦克风信号D (l, k)和残差信号E (l, k)的实部进行级联,形成一个维度为3×T ×161的张量,其中T表示每个独立音频样本的帧数。它们的虚部是用同样的方法处理的。建议的DCGRU-Net-22的详细设置可在网上查询。网络中只使用当前帧和过去4帧,这意味着在Stage II中没有额外的延迟。使用AEC挑战中释放的所有合成数据集作为训练数据集,并使用Adam优化器对网络输出和近端干净语音之间的最小平方误差(MSE)进行训练。所提出的DCGRU-Net-22可训练参数数为2506388≈2.5M。

在训练Tiny DCU-Net-16时,我们使用了INTERSPEECH 2020 DNS挑战[24]发布的干净语音和噪声语音数据集。其可训练参数数为108162≈108K。损失函数和优化器与DCGRUNet-22相同。在Tiny DCU-Net-16中只使用当前帧和过去15帧,这意味着在Stage III中没有额外的延迟。

4.2. 客观测量结果

为了直观地显示这三个阶段的效果,我们分别绘制了麦克风信号、阶段I、阶段II和阶段III的增强信号的频谱图。

在这里插入图片描述

从图6中可以看出,声学回声在每一阶段都可以逐渐被抑制,而近端语音仍然保持原样。虽然图6中的PESQ评分也在逐步增加,但需要注意的是,在某些情况下,III期的PESQ评分可能略低于II期。这主要是因为阶段III使用的模型太小,在抑制非语音残余回声和某些情况下噪声时可能会造成一定的语音失真。然而,我们发现阶段III对改善ERLE很重要。

为了实现可靠的PESQ评估,我们从合成数据集中随机选择100个话语来计算PESQ得分,然后将这些话语在每个阶段的平均PESQ得分汇总在表1中。可以看到,与原始麦克风信号相比,提出的三阶段框架可以将PESQ分数提高约0.75。

为了测量ERLE,我们从盲测试数据集中随机选择10个话语,得到三种不同场景下的平均ERLE结果,包括双说话场景(DT)、远端单说话场景(ST FE)和有移动的双说话场景。表2给出了每个阶段的平均ELRE结果。注意,在计算ERLE之前,只需要检测远端段。可以看到,在单会话和双会话场景下,ERLE都超过50 dB。

4.3. AEC挑战赛的主观结果

根据AEC Challenge主办方提供的主观测试结果,所提出的框架将MOS提高了约0.12个点,表明其在单讲和双讲场景下抑制声学回声的有效性。

我们在Intel Core i5-4300 CPU上运行我们的框架代码,每帧的总计算时间约为1.86 ms,远小于10 ms。阶段I、阶段II和阶段III的每帧计算时间分别为0.06ms、1.6ms和0.2ms。

5. 结论

本文提出了AEC挑战赛的三阶段框架。在此框架中,我们实现了带时间对齐的PBFDLMS来消除线性回声分量。在此基础上,提出了两种深度学习网络同时抑制残余回声和非语音残余噪声。主观和客观的测量结果都表明了所提出的框架的有效性。今后的工作应集中于提高PBFDLMS不收敛时的回声抑制能力。

参考文献请直接查阅原文

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值