为高音质保驾护航——回声消除篇

大家好,我是来自网易云信的胡林艳。语音通信,在现在生活已经成为了大家绝大多数的沟通交流的方式,而通话语音的质量也是衡量每个厂商系统好坏的标志之一。在语音通信中,回声一直占据着影响音质的主要地位,它会带来种种影响,比如漏回声,产生杂音,处理人声断续,忽大忽小,丢字,失声等现象中,有一部分就是回声或者工作失调的回声消除算法引起的。所以,一个优质的回声消除算法,将很大程度上提升了语音通信的音质。这次给大家分享网易云信在回声消除算法中对通话语音质量的保证和提升。

作者:胡林艳,网易云信音视频引擎开发工程师

一、回声产生原因

为高音质保驾护航——回声消除篇

所谓回声,就是自己的声音又传回自己。

简单来说,一个人的声音传到对方,经过扬声器播放,通过空间声场传播被麦克风采集到,这样回声 echo 就产生了。叠加了近端本身的声音(包括近端语音,近端噪声)。这样对端就听到了自己的声音(回声 echo)+ 另一方声音。

一端麦克风采集的混合信号,有本端说话人的语音信号和对端说话人通过扬声器播放的语音产生的回声(红色信号),这样叠加的语音信号(蓝色信号)通过传输线路传到对端扬声器播放,对端人就听到自己刚刚的语音信号,即所谓的回声。

为高音质保驾护航——回声消除篇

所以混合信号中除了本地的语音之外,还有对方的回声信号。回声消除算法,就是要把这个红色的回声信号从蓝色的麦克风混合信号中去除掉。

(一)回声带来的影响

回声是不能在通话回路中存在的,一方面会引起对话的混淆,一方面也会带来啸叫,在会议中影响更大。所以通常会加入回声消除算法进行处理。

回声消除处理后的回声,如果没有完全消除,会因为消除时产生的畸变,导致听起来像杂音,严重影响主观感受。同时,回声消除处理两端同时说话的双讲数据时,可能会将近端语音当作回声处理,导致近端语音出现忽大忽小,甚至剪切的效果。

因此,一个优质的回声消除算法在通话中,极为重要。

二、回声消除原理

(一)回声消除框架

回声消除算法实施时,参考信号是从播放端接收到的远端信号获得的,声音从扬声器播放出去,再被采集产生的回声,分成直达声和反射回声,直达声是最先到达并且能量最大的回声,往往和设备本身,软件系统设计,声音传播路径有关。所以需要一个方法,找到参考信号/扬声器信号跟麦克风信号之间的延迟,并调整缓冲区。使得算法获取到的参考信号和回声信号中间时延较小。

回声经过扬声器播放,声音传播,再到麦克风采集,经过了三个系统,而这三个系统中,扬声器、麦克风系统为非线性系统的可能性很高,而声音传播的系统,是线性系统。所以整个过程中,有可能存在非线性部分,但是肯定存在线性部分,而在无法预知回声特征前提下,去跟踪线性回声成为一种可行的办法。跟踪的线性回声,从采集信号中减去,就得到了回声的残留信号。

而非线性的回声,就通过非线性的处理将残差信号中的残余回声给彻底抑制掉。

为高音质保驾护航——回声消除篇

如图所示,一个完整的回声消除算法框架,包含三个主要模块:

  • 延迟估计模块
  • 线性滤波模块
  • 非线性处理模块

(二)时延估计模块

1. 时延产生原因

参考信号取自下行接收的数据,麦克风信号取自采集的数据,中间存在时延,声音传播时间(无论内外),播放采集线程工作的 buffer,启动时间差,不同设备、不同环境,时延不同。

2. 时延估计模块影响

时延的对齐可以减轻自适应滤波器的压力,减少滤波器的跟踪长度,降低开销, 如 果没有时延对齐模块,就需要将滤波器跟踪的长度设计成能够覆盖所有参考信号到回声信号之间的时延,这经常是上百毫秒的,计算量非常大。

时延的对齐影响滤波器的性能,时延没对齐,滤波器跟踪的参考信号和回声信号相关性极低,滤波器收敛会受到影响,时延估计过量,滤波器跟踪的信号缓冲区中根本找不到参考信号,滤波器同样不能收敛。

时延的对齐速度,影响整个收敛速度,影响滤波器收敛,同时也影响非线性回声处理。

时延变化时,需要能够快速跟踪到时延的变化,并且迅速调整,否则就会偶现回声。

3.时延估计设计

一般来说,由于设备扬声器和麦克风的响应影响,回声的分布大致在中频段,高频低频部分回声很少,因此可以在中频段去跟踪回声。

Webrtc 中 aec 模块采用的是频域 Binary Spectrum 的方法,将两端的频谱中间频段的分布映射到二值化数据,寻找相似性较高的远端信号并计算对应的时延,该方法计算量很低,但是受噪声影响很大。

Webrtc 的 aec3 模块采用的是线性滤波,匹配滤波器的方法,直接在时域信号做 NLMS(Normalized Least Mean Square)处理,这个方法鲁棒性很好。

时域信号互相关会出现多个峰值,导致时延估计不准。

我们考虑采用频域互相关的方法,结合线性滤波,一方面保证鲁棒性,一方面利用频域互相关检测速度快的特点,加快检测速度。

(三)线性滤波模块

为高音质保驾护航——回声消除篇

x(n) 为远端输入信号,经过未知的回声路径 h(n) 得到 y(n)=x(n)∗h(n),再加上观测噪声v(n),得到近端输入信号 s(n)=y(n)+v(n)。x(n) 通过自适应滤波器 h^(n) 得到估计的回声信号,并与近端输入信号 s(n) 相减得到误差信号 e(n),即 e(n)=s(n)−hT(n)x(n),自适应滤波算法所估计的回声路径就越接近实际的回声路径,得到的误差就越小,回声残留就越小。所以用得到的误差大小作为自适应调整的方向。

滤波器采用特定的自适应算法不停地调整权值向量,使估计的回声路径 h^(n) 逐渐趋近于真实回声路径 h(n)。这样滤波器的输出能够逼近真实的回声,从而误差信号中就不存在回声信号了。

自适应滤波器收敛阶段,近端信号是完全的 echo,不能混杂有近端语音。因为近端和噪声是会扰乱 h(n) 的收敛过程。也就是说要求回声消除算法开始运转后收敛要非常快,较好要求对方的算法在你一说就收敛好了;收敛好之后,如果对方开始说话,这个 h(n)系数就不要变化了,需要稳定下来。

回声路径可能是变化的,一旦出现变化,回声消除算法要能判断出来,因为自适应滤波器学习要重新开始,也就是 h(n) 需要一个新的收敛过程,以逼近新的回音路径 H。

自适应滤波器需要在收敛速度和跟踪性能,稳态失调之间进行平衡。

  1. 线性滤波器设计

自适应滤波器,目前常用的是 NLMS 滤波器,Kalman 滤波器,这两种滤波器各自有优点和缺点,Kalman 滤波收敛速度快,收敛性能欠缺,NLMS 相对来说比较平稳。基本上就是在于收敛速度和跟踪性能,稳态失调有不同的偏向。但是无论哪种滤波器,都是可以调整跟踪的速度来改变收敛速度和跟踪性能之间的平衡,NLMS 改变的是步长值,Kalaman 改变的是增益。

我们考虑用多种滤波器混合使用的方案,取不同滤波器的优点,保证收敛速度,同时也相互限制发散。非线性滤波器也会参与估计回声、双讲的状态,从而控制自适应滤波器跟踪步长,根据状态实现变步长跟踪。

(四)非线性滤波模块

非线性处理模块通常是计算参考信号、麦克风信号、线性回声信号以及残差之间的相关性,估计残留回声,或者回声的状态。采用维纳滤波的方式消除回声,其重点在于如何估计残留回声。而估计残留回声的大小,也直接影响到最终消除的结果。

残留回声估计不足,回声处可能会有残留,残留回声估计太过,双讲处会对近端语音损伤。

  1. 非线性滤波器设计

我们的非线性处理模块也是针对参考信号、麦克风信号、线性回声信号以及残差信号,采用峰值相关性、频域相关性、幅值相似性等特点,联合判断得到双讲状态、回声状态等信息。除了上述的相关性外,还可以利用线性滤波器的更新权值去获得回声的状态。

而影响最终输出结果的,是残余回声或者回声大小的估计。残余回声的估计,采用了回声的状态和滤波器的 ERL (Echo Return Loss) 估计相结合的方法。

三、业务中回声消除算法设计

(一)不同场景对回声的需求

根据业务的需求,我们结合着场景分类模块,将通话场景分成音乐场景和语音场景,而不同的场景下,回声的特点和对回声消除的要求不同,从而可以调整回声和双讲的平衡。

在音乐对话场景下,双讲占比较多,希望保留音乐,音乐下回声不明显,所以在整个非线性检测上,偏向于双讲的检测。

在语音对话场景下,双讲占比消,回声要求干净,所以非线性检测上,偏向于回声的检测。

(二)不同模式对回声的需求

通过检测外设情况,分成耳机模式、外放模式。

耳机下通常是没有回声的,部分由于线路耦合产生的回声,或者耳机密封性不好外漏的回声,这些回声线性特点明显,回声较小,但是耳机下对回声和双讲的剪切感都比较明显,可以结合线性滤波器的残差结果,调整残留回声的估计。

而常用的外放模式下,基本上回声都非常大,信回比低,对回声的残留比较敏感,所以残留回声估计时,会比较偏向于回声估计,从而达到优异的听觉效果。

四、结语

以上技术方案就是本次分享的全部内容,通过回声消除技术,能够提升用户的听感,适应各种场景切换,环境变化,保证不受回声干扰。每块技术都是比较重要,也是经过多次优化调优的结果。网易云信也将继续打磨音频技术,给行业带来更好的服务。

作者介绍

胡林艳,网易云信音视频引擎开发工程师,负责音频引擎的回声消除算法开发,在传统语音增强算法设计方面有丰富的经验。

关于网易云信

网易云信:网易智企旗下融合通信云服务专家、通信与视频 PaaS 平台。集网易 24 年 IM 以及音视频技术打造的融合通信云服务专家,稳定易用的通信与视频 PaaS 平台。提供融合通信与视频的核心能力与组件,包含 IM 即时通讯、5G 消息平台、一键登录、信令、短信与号码隐私保护等通信服务,音视频通话、直播、点播、互动直播与互动白板等音视频服务,视频会议等组件服务,并联合网易易盾推出一站式安全通信方案「安全通」。目前,网易云信已经成功发送 1.6 万亿条消息,覆盖智能终端 SDK 数累计超过 186 亿,我们期待每个智能终端都有云信的融合通信能力。

文章标题:为高音质保驾护航——回声消除篇,发布者:网易智企,转载请注明出处:https://worktile.com/kb/p/5866

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
网易智企的头像网易智企认证作者
上一篇 2022年3月16日 下午11:04
下一篇 2022年3月16日 下午11:17

相关推荐

  • 解压打码软件有哪些

    解压打码软件有:1、WinZip;2、Bandizip;3、WinRAR;4、7-zip;5、PeaZip;6、WinMount;7、迅捷压缩;8、2345好压。WinZip是一款强大的老牌压缩文档管理工具,是早期windows系统上非常经典的压缩解压程序。 1、WinZip 解压软件WinZip是…

    2023年1月12日
    56700
  • 如何处理跨多个团队和项目的Bug

    在项目管理中,处理跨多个团队和项目的Bug要求严格的协调和沟通机制。有效的策略包括1、建立跨团队通信渠道,2、配置专门的协调人员,3、实施集中的Bug跟踪系统,4、制定Bug优先级和分配标准,以及5、定期进行跨团队会议。通过这些策略,可以促进不同团队之间的信息流动,快速、准确地定位和修复跨项目Bug…

    2023年12月15日
    22600
  • oa办公系统到底是什么

    OA办公系统是将计算机、通信等现代化技术运用到传统办公方式,进而形成的一种新型办公方式。办公自动化利用现代化设备和信息化技术,代替办公人员传统的部分手动或重复性业务活动,优质而高效地处理办公事务和业务信息,实现对信息资源的高效利用。 OA办公系统是将计算机、通信等现代化技术运用到传统办公方式,进而形…

    2023年5月28日
    31300
  • logo的设计理念

    Logo的设计理念主要是为了传达品牌的核心价值和理念,同时激发观众的情感反应。设计一个成功的Logo需要考虑其可识别性、简洁性、独特性、适应性和寓意性等因素。此外,Logo设计的颜色、形状和字体也能够传达品牌的特定信息和情感。 Logo,又称为商标,是一种图形标志,用于识别和代表公司、产品或品牌。一…

    2023年5月15日
    61800
  • 客户管理系统设计

    开启文章,客户管理系统设计的关键在于维护顾客信息、跟踪销售机会、提高服务质量和促进销售决策。1、系统应支持客户信息全面管理;2、整合销售动态跟踪功能;3、包含客户服务和支持模块;4、具备业务分析和报告工具。 尤其是第一点,系统需要包括客户基本资料、历史交易记录、沟通日志以及客户的偏好和需求等多方面的…

    2024年1月9日
    13900
  • Oracle相比于Mysql有什么好用的地方

    有以下好用的地方:一、数据库的可扩展性;二、负载均衡;三、安全性;四、大数据处理;五、数据库管理和维护;六、技术支持。Oracle是一种高度可扩展的数据库管理系统,可处理大型企业级应用程序,Oracle支持多个处理器、大型内存和多个服务器。 一、数据库的可扩展性 Oracle是一种高度可扩展的数据库…

    2023年5月30日
    43400
  • 项目部管理方法有哪些优点

    项目部管理方法有以下优点:一、高度准确;二、节省时间;三、降低风险;四、提高成功率;五、提高生产力。规划项目的范围可能非常具有挑战性,因为它涉及估计项目的确切细节以及参与其执行的人员。 一、高度准确 规划项目的范围可能非常具有挑战性,因为它涉及估计项目的确切细节以及参与其执行的人员。自下而上的估算允…

    2023年4月30日
    25800
  • 作为一名软件测试工程师,需要具备哪些能力

    作为一名软件测试工程师,需要具备的能力:1、测试能力;2、逆向思维能力;3、文档总结能力;5、持续的学习能力;6、良好的沟通表达能力;7、管理能力。其中,测试能力是最重要最基础的能力。 1、测试能力 2、逆向思维能力 开发是顺向思维,而测试是逆向思维,老要找一些稀奇古怪的思路去操作软件。软件的使用者…

    2023年1月4日
    2.4K00
  • 外部RAM和内部RAM的区别

    外部RAM与内部RAM是计算机内存体系中的关键组成部分,它们在存储数据时扮演重要的角色。明确地点出,外部RAM是计算机系统中与中央处理单元(CPU)分开的独立储存器,而内部RAM通常是在CPU内部或与其紧密集成的存储器。这两种类型的RAM在 访问速度(1)、容量(2)、物理位置(3)和用途(4) 这…

    2023年11月13日
    55000
  • 京东云devops是什么意思

    京东云DevOps体现了代码开发、测试、部署一体化的现代自动化运维方式、它利用京东云的基础设施提供服务、该服务集成了软件开发和信息技术操作的多个方面。具体而言,DevOps是一种文化和实践的结合,倡导开发(Dev)和运维(Ops)的沟通合作,通过自动化的流程来提高软件交付的速度和质量。 在针对京东云…

    2024年3月26日
    1100

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部