回声消除概述

在一般的VOIP软件或视频会议系统中,假设我们只有A和B两个人在通话,
首先,A的声音传给B,B然后用喇叭放出来,
而这时B的MIC则会采集到喇叭放出来的声音,然后传回给A,
如果这个传输的过程中时延足够大,A就会听到自己刚才说的话,这就是回声。

回声消除器的作用就是在B端对B采集到的声音进行处理,把采集到的声音中包含的A的声音去掉之后在传给A,
这样A就不会听到自己说过的话了。

传给回声消除器的两个声音信号,必须同步得非常好,
就是说在B端接收到A说的话以后,要把这些声音数据传给回声消除器做参考,然后再传给声卡,声卡播放出来,
这里有一段延时,这时B再采集,然后传给回声消除器,与那个参考数据比较,从采集到的数据中把频率和参考数据相同的部分消除掉。

如果传给消除器的两个信号同步得不好,即两个信号找不到频率相同的部分,就没有办法进行消除了。

在一般的VOIP软件中,接收对方的声音并传到声卡中播放是在一个线程中进行的,
而采集本地的声音并传送到对方又是在另一个线程中进行的,
而声学回声消除器在对采集到的声音进行回声消除的同时,还需要播放线程中的数据作为参考,
而要同步这两个线程中的数据是非常困难的,因为稍稍有些不同步,声学回声消除器中的自适应滤波器就会发散,
不但消除不了回声,还会破坏采集到的原始声音,使被破坏的声音难以分辨。

声学回声主要又分成以下两种:
1、直接回声:由扬声器产生的声音未经任何反射直接进入麦克风
2、间接回声:由扬声器发出的声音经过多次反射后,再进入Mic
对于第二种回声,拥有多路径、时变性的特点,是比较难处理的。

回声消除有两种方式:
第一种:通过硬件实现,
        有很多手机就是这么做的,也有专业的芯片,但是只支持8khz的,
        如果要求高质量的音质的话,基本实现不了。
第二种:通过软件实现,
        qq,msn,skype很多具有通话功能的软件,现在都具有回声消除的功能(需是比较高版本的,低版本的可能没有),
        但是实现代码是不对外的,开源的回声消除代码只有speex和webrtc。

一般常用的开源的AEC有两个:Speex 和 webrtc

webrtc相对比Speex强的多,原因如下:
1,webrtc有回声时延估计算法模块
2,webrtc有neteq模块
3,webrtc核心就是gips,原因你懂的

时间: 2024-10-13 07:17:26

回声消除概述的相关文章

回声消除技术(2)

从应用平台来看,可以把回声消除分为两大类: (1). 基于DSP等实时平台的回声消除技术 (2). 基于Windows等非实时平台的回声消除技术 两者的技术难度和重点是不一样的. 三.基于DSP平台的回声消除技术 回声消除技术传统的应用领域是各种嵌入式设备,包括各种电信网络设备和终端设备.比如交换机,网关等网络设备; 移动电话,视频会议等终端.现代通讯产品里面大量应用了回声消除技术,包括在我们看得到的(比如手机)和看不到的终端产品(比如交换机).这些嵌入式设备的共同点就是各自采用了适配型号的DS

回声消除-理论篇

一.前言 要了解回声消除技术,就不得不提及作为现代通讯技术的理论基础——数字信号处理理论.首先,数字信号处理理论中有一门重要的分支,叫做自适应信号处理,而经典的教材里,回声消除问题从来都是作为一个经典的自适应信号处理案例来讨论的.既然回声消除在教科书上都是作为一种经典具体的应用,那么从理论角度也就没有什么神秘感的了.但是,为什么提供回声消除技术(不管是芯片还是算法)的公司都是来自国外,回声消除技术的难点和神秘性又在哪里呢? 二.回声消除原理从通讯回音产生的原因看,可分为声学回音(Acoustic

基于设备的回声消除

一.Win7下的实现: http://download.csdn.net/detail/xuwei17385/6426783 二.WinXP下的实现: http://download.csdn.net/detail/xuwei17385/4060561 基于设备的回声消除,布布扣,bubuko.com

Speex回声消除原理深度解析

这里假设读者具有自适应滤波器的基础知识.Speex的AEC是以NLMS为基础,用MDF频域实现,最终推导出最优步长估计:残余回声与误差之比.最优步长等于残余回声方差与误差信号方差之比,这个结论可以记下,下面会用到的. 对于长度为N的NLMS滤波器,误差信号定义为期望信号与估计信号之差,表示如下: \[e(n) = d(n) - \hat y(n) = d(n) - \sum\limits_{k = 0}^{N - 1} {{{\hat w}_k}(n)x(n - k)} \] 则,滤波器的系数更

LMS、NLMS最优步长理论分析与Speex回声消除可能的改进想法

一.回声消除算法模型 先来分析下自适应回声消除的主要组成部分,大体上可以把回声消除模型分为两个部分 横向滤波器结构 滤波器系数自适应与步长控制 横向滤波器用脉冲响应w(n)[有的地方也称为回声路径]与远端说话者信号u(n)卷积得到回声估计,并用y(n)表示该估计.麦克风输出信号做为期望响应d(n),从期望响应d(n)中减去滤波器的”合成回声”,得到误差信号e(n).通过不断的调整滤波器系数w(n)使误差信号的均方值最小化,其结果就是:误差信号为本地语音提供了一个近似的估计.这就是为什么这样的结构

Flex回声消除的最佳方法

Adobe Flash Player 已经成为音频和视频播放的非常流行的工具.实际上,目前大多数因特网视频均使用 Flash Player观看. Flash Player 通过将许多技术进行组合可以提供具有丰富视觉体验和效率的高质量的播放功能,这些技术包括高级音频和视频压缩方法 (H.264.MP3和 AAC codecs).通用媒体功能 (多速率流媒体.播放列表.搜寻和其它功能) 和高效的播放机制 (硬件解码和直接渲染)等. 由于Flash Player 在桌面计算机上的广泛应用已经在移动设备

iOS设备上回声消除的例子

工业上的声音处理中,回声消除是一个重要的话题,重要性不亚于噪声消除.人声放大.自动增益等,尤其是在VoIP功能上,回声消除是每一个做VoIP功能团队的必修课.QQ.Skype等等,回声消除的效果是一个重要的考查指标. 具体的回声消除算法比较复杂,我现在还没有研究的很明白.简单来说,就是在即将播放出来的声音中,将回声的那部分减去.其中一个关键,是如何估计回声大小,这需要用到自适应算法.研究不透,多说无益.有兴趣的同学可以一起学习. Apple在Core Audio中提供了回声消除的接口,我写了一个

解密回声消除技术--转

一.前言 因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回声消除技术相关的工作,对回声消除这个看似神秘.高端和难以理解的技术领域可谓知之甚详. 要了解回声消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论.首先,数字信号处理理论里面有一门重要的分支,叫做自适应信号处理.而在经典的教材里面,回声消除问题从来都是作为一个经典的自适应信号处理案例来讨论的.既然回声消除在教科书上都作为一种经典的具体的应

回声消除技术解析——转

一.前言 因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回声消除技术相关的工作,对回声消除这个看似神秘.高端和难以理解的技术领域可谓知之甚详. 要了解回声消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论.首先,数字信号处理理论里面有一门重要的分支,叫做自适应信号处理.而在经典的教材里面,回声消除问题从来都是作为一个经典的自适应信号处理案例来讨论的.既然回声消除在教科书上都作为一种经典的具体的应