https://edu.csdn.net/course/detail/36074
https://edu.csdn.net/course/detail/35475阅读目录
论文地址:https://graz.pure.elsevier.com/en/publications/acoustic-echo-cancellation-with-cross-domain-learning
回到顶部### 摘要:
本文提出了跨域回声控制器(CDEC),提交给 Interspeech 2021 AEC-Challenge。该算法由三个构建块组成:(i) 时延补偿 (TDC) 模块,(ii) 基于频域块的声学回声消除器 (AEC),以及 (iii) 时域神经网络 (TD-NN)用作后处理器。我们的系统获得了 3.80 的整体 MOS 分数,而在 32 毫秒的系统延迟下仅使用了 210 万个参数。
**关键字:**声学回声消除、神经网络、残余回声消除
回到顶部### 1 引言
回声消除 (AEC) 在当今的 VoIP 语音通信和视频会议系统中发挥着重要作用。由于室内声学,在扬声器和耳机麦克风、听筒或任何其他用于语音通信的音频硬件之间会出现回声。根据房间的混响时间,声学回声可能会非常突出,甚至会显着降低语音清晰度和语音质量 [1]。这在免提场景中尤其是一个问题 [2]。因此,高效的 AEC 解决方案是可靠语音通信的重要组成部分。典型的 AEC 将扬声器和麦克风之间的回声脉冲响应 (EIR) 建模为线性 FIR 滤波器,并使用归一化最小均方 (NLMS) 算法 [3, 4] 自适应地调整该滤波器。许多实现需要语音活动检测器 (VAD) 在双方通话期间停止适应,即当近端和远端说话者同时说话时 [3,5]。更复杂的实现通过使用状态空间模型 [6] 或卡尔曼滤波器 [7] 来解释双方对话。然而,线性回声模型不能考虑回声路径中的非线性失真,或麦克风拾取的附加噪声。 SpeexDSP [8]、WebRTC [9] 或 PjSIP [10] 等商业 AEC 框架依赖于传统的非线性回声和噪声去除方法,例如 Wienerfilters [11]、Volterra 内核 [12] 或 Hammerstein 模型 [13]。
最近,已经提出神经网络用于非线性残余回声和噪声去除[14-19]。从深度学习的角度来看,这些任务可以看作是语音或音频源分离问题 [2,14,18-23]。尽管该研究领域近年来进展迅速 [24, 25],但大多数基于 NN 的说话人分离算法对计算的要求很高,没有因果关系,并且不能在实时应用中工作。能够进行实时处理的系统在逐帧的基础上运行。特别是,循环神经网络 (RNN),如门控循环单元 (GRU) [26] 或长短期记忆 (LSTM) [27] 网络用于模拟人类语音中的时间相关性,同时遵守实时典型 AEC 应用的约束 [2, 19, 28]。类似的架构 [29-31] 已应用于实时信号增强,作为对 Interspeech 2020 [32] 的深度噪声抑制挑战和 ICASSP AEC 挑战 [33] 的贡献。
本文介绍了我们对 Interspeech 2021 AEC-Challenge 的贡献,该挑战由三个级联模块组成:(i) 基于 PHAse 变换的广义互相关 (GCCPHAT) [4] 的时延补偿 (TDC) 模块,其中补偿近端扬声器和麦克风信号之间的延迟。 (ii) 一种频域状态空间块分区 AEC 算法 [6],它去除了线性回波分量。 (iii) 时域神经网络 (TD-NN),它可以同时去除非线性残余回声和附加噪声。我们将我们的系统称为跨域回声控制器 (CDEC),因为它同时在频域和时域中运行。我们模型的评估基于使用 ITU P.808 框架 [33] 的感知语音质量指标,该框架报告平均意见分数 (MOS)。此外,我们报告了其他指标,例如 MOSnet [34] 和 ERLE [35]。最后,我们还报告了我们的 CDEC 系统在每帧音频数据的 MAC 操作方面的计算复杂性。
回到顶部### 2 提出的系统
在典型的 AEC 系统中,有两个输入信号可用: (i) 远端麦克风信号 x(t),由本地扬声器播放。 (ii) 近端麦克风信号 d(t),可描述为以下分量的叠加:
d(t)=x(t−Δt)∗h(t)+s(t)+n(t)+v(t) (1)
d(t)=x\left(t-\Delta_{t}\right) * h(t)+s(t)+n(t)+v(t) (1)
其中 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9LmljwlQ-1648529302429)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0064.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-scNiRxZR-1648529302430)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Main/Regular/400/0394.png?V=2.7.5)]Δt\Delta_{t}建模为滤波器权重中的前导零。然而,更实际的做法是在 AEC 之前明确补偿此延迟,以保持建模的 EIR 较短,从而节省计算资源。虽然这种延迟可能是未知的,但我们坚持通常在实时音频处理框架中做出的假设 [8-10]。特别是,我们假设延迟不超过1s,并且至少稳定10s。
我们采用 GCC-PHAT 算法 [4] 在频域中比较远端信号 Φ(l,k)=Φ(l,k)α+(1−α)X(l,k)D(l,k)∗ (2)
\Phi(l, k)=\Phi(l, k) \alpha+(1-\alpha) X(l, k) D(l, k)^{*} (2)
其中 Δt=argmaxtF−1Φ(l)|Φ(l)| (3)
\Delta_{t}=\underset{t}{\operatorname{argmax}} \mathcal{F}^{-1} \frac{\Phi(l)}{|\Phi(l)|} (3)
其中[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cZyu02RY-1648529302476)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0064.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ZcUciz2-1648529302477)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/BoldItalic/400/0078.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MPSnWeb9-1648529302477)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0064.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eZJGzSdO-1648529302478)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Main/Regular/400/0032.png?V=2.7.5)]2T2T 最新样本,即
x′(l)=x(t+n−2T)d′(l)=d(t+n−2T) (4)
\begin{aligned}
&\boldsymbol{x}^{\prime}(l)=x(t+n-2 T) \
&\boldsymbol{d}^{\prime}(l)=d(t+n-2 T) (4)
\end{aligned}
其中PP 个分区,即
Y(l,k)=∑p=0P−1X(l−p,k)W(p,k)e′(l)=d′(l)−F−1{Y(l)} (5)
\begin{aligned}
Y(l, k) &=\sum_{p=0}^{P-1} X(l-p, k) W(p, k) \
e^{\prime}(l) &=\boldsymbol{d}{\prime}(l)-\mathcal{F}{-1}{\boldsymbol{Y}(l)}
\end{aligned} (5)
其中 e(t+n−T)=e′(l,n+T) (6)
e(t+n-T)=e^{\prime}(l, n+T) (6)
其中, w§=F−1{W§},w(p,n+T)=0W§←F{w§} (7)
\begin{aligned}
\boldsymbol{w}§ &=\mathcal{F}^{-1}{\boldsymbol{W}§}, \
w(p, n+T) &=0 \
\boldsymbol{W}§ & \leftarrow \mathcal{F}{\boldsymbol{w}§}
\end{aligned} (7)
其中,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M60FFWr3-1648529302525)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0057.png?V=2.7.5)]W^(p,k)\hat{W}(p, k)作为阴影权重。算法 1 说明了这些权重是如何更新的。
阴影权重基于 ERLE E(l)=10log10∑k|D(l,k)|2∑k|E(l,k)|2E(l)=10log10∑k|D(l,k)|2∑k|E(l,k)|2 (8)
\begin{gathered}
\mathcal{E}(l)=10 \log _{10} \frac{\sum_{k}|D(l, k)|^{2}}{\sum_{k}|E(l, k)|^{2}} \
\hat{\mathcal{E}}(l)=10 \log _{10} \frac{\sum_{k}|D(l, k)|^{2}}{\sum_{k}|\hat{E}(l, k)|^{2}}
\end{gathered} (8)
其中[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nNYTElau-1648529302585)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0046.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ks5h7mAd-1648529302585)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0053.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cXphPRxl-1648529302586)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0078.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3N6PMd23-1648529302587)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0079.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-avInbcRx-1648529302588)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0064.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-der1EsSX-1648529302589)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0065.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yXDhehP6-1648529302589)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0048.png?V=2.7.5)]HH 个神经元的潜在表示。请注意,此 Conv1D 层使用过去 1600 个相应信号的样本,即它看到过去 100 毫秒音频数据的上下文。每个信号都通过即时层归一化单独归一化,以解决各个级别的变化。即时层归一化类似于标准层归一化[36]。该分支中的最后一个前馈 (FF) 层使用 softplus 激活函数,以提供不受约束的掩码。
图 2 中的下部分支说明了将掩码应用于潜在空间中的残差信号 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HU8B2JsQ-1648529302591)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0064.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bGTmDCqL-1648529302592)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0064.png?V=2.7.5)]d(t)>−40dBFSd(t)>-40 d B_{F S}的平均能量。否则信号被拒绝。
我们通过将干净的 WSJ0 数据 [37] 作为所需的近端语音 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qLAHoMQh-1648529302601)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Main/Regular/400/0031.png?V=2.7.5)]12…36dB12 \ldots 36 dB之间的均匀分布中随机选择。噪声仅添加到模拟数据集中。
为了进一步提高鲁棒性并模拟各种传输效果,我们在模拟数据集的每个远端信号 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JJoflkII-1648529302605)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0064.png?V=2.7.5)]d(t)d(t)。我们将每个信号截断为 10 秒,以便能够将它们堆叠成批次进行训练。
在训练期间,我们首先使用式2中的 GCCPHAT 估计批量延迟。 每 10 秒一次,即每个训练话语一次。接下来,我们从式5-8执行 AEC。输出回波模型 LSDR=10log10∑ts(t)2∑t[s(t)−z(t)]2 (9)
\mathcal{L}_{\mathrm{SDR}}=10 \log _{10} \frac{\sum_{t} s(t){2}}{\sum_{t}[s(t)-z(t)]{2}} (9)
而我们使用 ERLE 作为 FE 场景的损失函数,即
LERLE=10log10∑td(t)2∑tz(t)2 (10)
\mathcal{L}_{\mathrm{ERLE}}=10 \log _{10} \frac{\sum_{t} d(t)^{2}}{\sum_{t} z(t)^{2}} (10)
我们将总损失函数定义为
LERLE=−LSDR−λLERLE (11)
\mathcal{L}_{\mathrm{ERLE}}=-\mathcal{L}_{\mathrm{SDR}}-\lambda \mathcal{L}_{\mathrm{ERLE}} (11)
我们设置[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sILakpD7-1648529302641)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Main/Regular/400/0394.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cROWYi5j-1648529302641)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0066.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9NecrF5-1648529302642)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Main/Regular/400/0032.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZPcb1bqE-1648529302643)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0078.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ru1xYVp-1648529302644)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0064.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a6u6gvLJ-1648529302644)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0065.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cuSGNaCU-1648529302645)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0046.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N6UHthbg-1648529302646)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/0053.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AacE4I3r-1648529302646)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Math/Italic/400/007A.png?V=2.7.5)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PqT10wik-1648529302649)(https://blog.csdn.net/2_7_5/fonts/HTML-CSS/TeX/png/Main/Regular/400/0032.png?V=2.7.5)]2T2T 个样本,相当于 32ms。由于所有三个模块都在相同的块上运行,因此 CDEC 系统的总延迟为 32 毫秒。
CDEC 模型的计算复杂度在四核 i5 2.5Ghz 参考系统上进行了评估。特别是,我们使用矩阵/向量库 Eigen 和 FFT 库 FFTW [39] 使用 C++ 中的单精度参考实现测量了 CDEC 系统前向传递的单帧的执行时间。 TD-NN 系统使用 210 万个参数,而 AEC 使用