webrtc音频QOS方法三(回声的产生及抑制)

webrtc音频QOS方法汇总 专栏收录该内容
6 篇文章 10 订阅

一、回声的产生

无论是实际环境还是语音通话中,回声总是存在的。但是需要满足如下两个条件,我们才能感觉到回声的存在:

1、回波通路延时足够长

回波通路延时效果
小于30ms不易察觉
小于50ms有感知
大于50ms影响严重,需要干预


2、回波信号能量足够强

也就是说,返回的回波信号必须足够强到,能让用户能够听见。

在实时音频会议通话中,产生回声的主要来源有两点:电学回声、声学回声。回波消除的算法也有两种:EC、AEC。一般EC是电学回波消除,部署在PSTN网关或接入设备上。AEC指的是声学回波消除,用于终端设备。

二、回声的种类及抑制

1、电学回声

目前大家可能很少听说电学回声,过去使用固定座机电话时,会有电学回声问题。它的产生原理如下:

在几乎所有的通信网络中,信号的传递都是采用4线传输,也就是在接收和发送两个方向上,各使用两条线传输信号,其中一条是参考地,另一条是信号线。但是电话用户使用的话机都是通过2线传输的方式接入本地交换机,一条线是参考地,另一条信号线上同时传输收发双向的信号。所以需要在本地交换机中采用2/4线转换(hybrid)实现这两种传输方式之间的转换。

由于实际使用的2/4线变换器中混合线圈不可能做到理想状况,总是存在一定的阻抗不匹配,不能做到将发送端和接收端完全隔离,所以从4线一侧接收的信号总有一部分没有完全转换到2线一侧,部分泄露到了4线一侧的发送端,因此产生回波。

电学回声的时延一般都比较小100ms以内,一般在近电话接入网关侧开启软件EC功能,就能比较好的解决这类问题。

2、声学回声

在麦克风与扬声器互相作用影响的双工通信系统中极易产生声学回声。如下图所示:

远端讲话者A-->麦克风A-->电话A-->电话B---->扬声器B--->麦克风B-->电话B-->电话A-->扬声器A--->麦克风A--->.........就这样无限循环。 

声学回声信号根据传输途径的差别可以分别直接回声信号和间接回声信号。

  • 1)直接回声

近端扬声器B将语音信号播放出来后,近端麦克风B直接将其采集后得到的回声。直接回声不受环境的影响,与扬声器到麦克风的距离及位置有很大的关系,因此直接回声是一种线性信号。直接回声在音频会议中容易形成啸叫,这类回声的处理方法分为两大类:前向抑制、反馈抵消

  • 2)间接回声

近端扬声器B将语音信号播放出来后,语音信号经过复杂多变的墙面反射后由近端麦克风B将其拾取。间接回声的大小与房间环境、物品摆放以及墙面吸引系数等等因素有关,因此间接回声是一种非线性信号。

  • 3)回声抑制

回声抑制方法主要有三方面:

1、物理降噪

墙壁、天花板换成吸音材料,有效的较少声音的反射,可以较为直接的抑制间接噪声,但是直接噪声无法抑制;

使用耳机代替音响外放,可以阻断回波路径。

2、硬件降噪

硬件结构化设计,有麦克和音响摆放的角度,声音回路设计。麦克风beamforming阵列(指向麦),麦克风灵敏度,频移器,均衡器,反馈抑制器等等。

3、软件降噪

软件降噪的原理是使用不同的自适应滤波算法调整滤波器的权值向量,估计一个近似的回声路径来逼近真实回声路径,从而得到估计的回声信号,并在纯净语音和回声的混合信号中除去此信号来实现回声的消除。

3、webrtc的实现

webrtc创建链接的时候,会检测操作系统类型,iOS、安卓、Windows都使用的是系统内置的AEC。

以windows操作系统为例,使用系统内置的AEC链接如下:

https://docs.microsoft.com/zh-cn/SkypeForBusiness/certification/overview

个人理解,这些系统内置处理也是一些软件算法,但是由于对硬件结构化设计、声道回路有些基本要求,固化场景,回声的模型也比较固定。软件仅针对这些场景做一些优化设计。但是若使用场景不满足他们的要求,降噪效果不是很理想。

所以Skype还专门对接入自己软件的设备做了一些认证,不通过我们的认证的硬件,是不保证高质量的音效的。有资质设备列表官网链接如下:

https://docs.microsoft.com/zh-cn/SkypeForBusiness/certification/devices-usb-devices

若是实际测试时,发现回声消除效果差,建议使用webrtc_M79版本后的自带的AEC3功能,实测效果比较好。

根据官方发布消息称谷歌在2019第一季度对AEC3做了深度优化,性能和质量都较之前有很大改善。

关于AEC3算法实现,可以参考《深入浅出 WebRTC AEC(声学回声消除)》文章介绍。

三、参考

https://www.cnblogs.com/LXP-Never/p/11703440.html

https://www.infoq.cn/article/FkolDeUHgahsxXcbsLXJ

《深入浅出 WebRTC AEC(声学回声消除)》:https://xie.infoq.cn/article/47b298082b7846da6c04cac8d

《麦克风阵列信号处理技术》:https://www.sohu.com/a/223797137_99991918

《自适应滤波器在反馈啸叫抑制中的应用研究》

  • 1
    点赞
  • 3
    评论
  • 6
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 3 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:精致技术 设计师:CSDN官方博客 返回首页

打赏作者

CrystalShaw

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值