本文是一篇详细介绍实时音频通讯过程中的回音消除技术的文章,主要描述的是回音消除技术理论和算法原理等。

内容概述

笔者从2004年开始接触回音消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回音消除技术相关的工作,对回音消除这个看似神秘、高端和难以理解的技术领域可谓知之甚详。

要了解回音消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论。首先,数字信号处理理论里面有一门重要的分支,叫做自适应信号处理。而在经典的教材里面,回音消除问题从来都是作为一个经典的自适应信号处理案例来讨论的。既然回音消除在教科书上都作为一种经典的具体的应用,也就是说在理论角度是没有什么神秘和新鲜的,那么回音消除的难度在哪里?为什么提供回音消除技术(不管是芯片还是算法)的公司都是来自国外?回音消除技术的神秘性在哪里?

产生回音原因

从通讯回音产生的原因看,可以分为声学回音(Acoustic Echo)和线路回音(Line Echo),相应的回音消除技术就叫声学回音消除(Acoustic Echo Cancellation,AEC)和线路回音消除(Line Echo Cancellation, LEC)。声学回音是由于在免提或者会议应用中,扬声器的声音多次反馈到麦克风引起的(比较好理解);线路回音是由于物理电子线路的二四线匹配耦合引起的(比较难理解)。

回音的产生主要有以下两种原因。

1由于空间声学反射产生的声学回音(见下图)

图中的男子说话,语音信号(speech1)传到女士所在的房间,由于空间的反射,形成回音speech1(Echo)重新从麦克风输入,同时叠加了女士的语音信号(speech2)。此时男子将会听到女士的声音叠加了自己的声音,影响了正常的通话质量。此时在女士所在房间应用回音抵消模块,可以抵消掉男子的回音,让男子只听到女士的声音。

2由于2-4线转换引入的线路回音(见下图)

在ADSL Modem和交换机上都存在2-4线转换的电路,由于电路存在不匹配的问题,会有一部分的信号被反馈回来,形成了回音。如果在交换机侧不加回音抵消功能,打电话的人就会自己听到自己的声音。

回音消除技术详解

不管产生的原因如何,对语音通讯终端或者语音中继交换机需要做的事情都一样:在发送时,把不需要的回音从语音流中间去掉。

试想一下,对一个至少混合了两个声音的语音流,要把它们分开,然后去掉其中一个,难度何其之大。就像一瓶蓝墨水和一瓶红墨水倒在一起,然后需要把红墨水提取出来,这恐怕不可能了。所以回音消除被认为是神秘和难以理解的技术也就不奇怪了。诚然,如果仅仅单独拿来一段混合了回音的语音信号,要去掉回音也是不可能的(就算是最先进的盲信号分离技术也做不到)。但是,实际上,除了这个混合信号,我们是可以得到产生回音的原始信号的,虽然不同于回音信号。

我们看下面的AEC声学回音消除框图:

其中,我们可以得到两个信号:一个是蓝色和红色混合的信号1,也就是实际需要发送的speech和实际不需要的echo混合而成的语音流;另一个就是虚线的信号2,也就是原始的引起回音的语音。那大家会说,哦,原来回音消除这么简单,直接从混合信号1里面把把这个虚线的2减掉不就行了?请注意,拿到的这个虚线信号2和回音echo是有差异的,直接相减会使语音面目全非。我们把混合信号1叫做近端信号ne,虚线信号2叫做远端参考信号fe,如果没有fe这个信号,回音消除就是不可能完成的任务,就像“巧妇难为无米之炊”。

虽然参考信号fe和echo不完全一样,存在差异,但是二者是高度相关的,这也是echo称之为回音的原因。至少,回音的语义和参考信号是一样的,也还听得懂,但是如果你说一句,马上又听到自己的话回来一句,那是比较难受的。既然fe和echo高度相关,echo又是fe引起的,我们可以把echo表示为fe的数学函数:echo=F(fe)。函数F被称之为回音路径。在声学回音消除里面,函数F表示声音在墙壁,天花板等表面多次反射的物理过程;在线路回音消除里面,函数F表示电子线路的二四线匹配耦合过程。很显然,我们下面要做的工作就是求解函数F。得到函数F就可以从fe计算得到echo,然后从混合信号1里面减掉echo就实现了回音消除。

尽管回音消除是非常复杂的技术,但我们可以简单的描述这种处理方法:

  • 房间A的音频会议系统接收到房间B中的声音
  • 声音被采样,这一采样被称为回音消除参考
  • 随后声音被送到房间A的音箱和声学回音消除器中
  • 房间B的声音和房间A的声音一起被房间A的话筒拾取
  • 声音被送到声学回音消除器中,与原始的采样进行比较,移除房间B的声音

求解回音路径函数F的过程恐怕就是比较难以表达的数学公式了。鉴于通俗表达数学公式的难度比发现数学公式还难,笔者就不费力解释了。

结语

回音消除技术在当今移动互联网时代,有着广泛的需求,但这是一门即容易理解又难以实现的技术。

资料无偿分享,需要的私

实时语音通讯的回音消除技术详解相关推荐

  1. 即时通讯音视频开发(十):实时语音通讯的回音消除技术详解

    前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的.有关实时 ...

  2. 即时通讯开发----回音消除技术

    在即时通讯应用中,需要进行双方,或是多方的实时语音交流,在要求较高的场合,通常都是采用外置音箱放音,这样必然会产生回音,即一方说话后,通过对方的音箱放音,然后又被对方的Mic采集到回传给自己(如下图所 ...

  3. P2P技术详解(一):NAT详解——详细原理、P2P简介(转)

    这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值. <P2P技术详解>系列文章 ➊ 本 ...

  4. 015. P2P技术详解(一):NAT详解——详细原理、P2P简介

    http://www.52im.net/thread-50-1-1.html 这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层 ...

  5. 移动端实时音视频直播技术详解(一):开篇

    移动端实时音视频直播技术详解(一):开篇 1.引言 随着互联网用户消费内容和交互方式的升级,支撑这些内容和交互方式的基础设施也正在悄悄发生变革.手机设备拍摄视频能力和网络的升级催生了大家对视频直播领域 ...

  6. 什么是回音消除技术?

    在即时通讯应用中,需要进行双方,或是多方的实时语音交流,在要求较高的场合,通常都是采用外置音箱放音,这样必然会产生回音,即一方说话后,通过对方的音箱放音,然后又被对方的Mic采集到回传给自己(如下图所 ...

  7. 【音视频第6天】基础知识-移动端实时音视频直播技术详解和开源工程WebRTC的技术原理和使用浅析

    本文是系列文章中的第1篇,本系列文章的大纲如下: <移动端实时音视频直播技术详解(一):开篇> <移动端实时音视频直播技术详解(二):采集> <移动端实时音视频直播技术详 ...

  8. 阿里开源实时计算平台Blink,能让计算延迟降至毫秒级 | 附技术详解

    雷刚 发自 凹非寺  量子位 报道 | 公众号 QbitAI 阿里巴巴这份开源礼物,业内期待已久. 近期,中国科技互联网巨头正式宣布将实时计算平台Blink开源,该技术由开源的Flink改造而来,被广 ...

  9. 分享:实时语音通讯,可广域网实时通讯,音质清晰流畅!

    分享:纯免费互联网实时语音通讯,可广域网实时通讯,音质清晰流畅! 运行效果: 开发者:yunxunmi.com 交流QQ群:181978302 应用平台:window.Linux 下载地址: 1.ht ...

最新文章

  1. 综述 | 深度学习中的优化理论
  2. python编程题大全-python编程题
  3. python续行_python中如何优雅续行和换行
  4. FORM级别和数据库级别的Trace
  5. 如何做好内容策划并完成一篇合格的深度文?
  6. RewriteCond 详解
  7. match_parent和fill_parent有什么区别?
  8. 简单的Android文件浏览器(附源代码)
  9. stm32单片机的智能交通灯设计
  10. win7系统如何添加显示桌面?显示桌面图标设置方法
  11. coolie —— 前端开发构建工具。
  12. 日化行业DMS全渠道商城系统
  13. 大学cad课要用计算机么,cad2010大学课程
  14. Campus Talking 小记(3)
  15. 从消防水管喝水mysql_再见MYSQL - 06 - 查询性能优化
  16. 从0开始学习python7:Python中词频统计以及sort的排序用法
  17. windows10企业版开启RDP多用户同时登录
  18. python entry高度_Python2.7.3 Tkinter Entry(文本框) 说明
  19. 通信行业基础知识大全
  20. Cephalocon APAC 2018在北京成功举办

热门文章

  1. IT行业分析之嵌入式应用
  2. 课后作业——Day11
  3. LSM-tree原理与应用
  4. 中国信通院苏丹等:5G+自动驾驶技术专利态势分析
  5. 【免费外国云服务器】亚马逊AWS创建EC2实例搭建个人服务器
  6. Httpie 工具入门使用
  7. 电子商务电子支付实训二
  8. 基于Ensp企业网的无线组建与实验的仿真设计
  9. 新H5中用canvas画一个数字钟表
  10. MH(梦幻)型电子配线架使用说明书