米葫芦网

VoIP基本概念(9):回声消除技术

热度:5℃ 发布时间:2024-11-18 04:19:00


;
一、 因特网语音通信中回声的特点

与传统电话相比,因特网上进行语音的实时传输,有其致命的弱点,那就是语音质量较差,影响因特网语音质量的因素是多方面的,最要害的因素之一是回声的影响。因此,要提高因特网的语音质量,就必须在因特网的语音传输过程中进行消回声的处理,也就是说,IP电话网关作为因特网的语音接入设备,几须具有回声的消除功能。由于因特网的语音传输是采用分组交换技术实现的一种全新的电信业务,传送的语音信号要经过编码、压缩、打包等一系列处理,这不仅造成回声路径的延迟较大,而且延迟抖动也较大。因此,在因特网的语音传输过程中,回声问题显得尤其突出,并具有如下特点。
1、 回声源复杂
在传统电话系统中,存在着一种所谓的"电路回击"。该回声产生的主要原回是在系统中存在2-4线的转换。完成2-4转换的混合器因阻抗匹配,造成"泄漏",从而导致了"电路回声"。从因特网IP电话网关的连接方式可以看出,IP电话网关一端连接PSTN,另一端连接因特网。
尽管电路回声产生于PSTN中,但同样会传至于IP电话网关,是因特网语音传输中的回声源之一,因特网语音传输中的第二种回声源是所谓的"声学回声"。声学回声是指扬声器播放出来的声音被麦克风拾取后发回远端,这就使得远端谈话者能听到自己的声音。声学回声又分为直接回声和间接回声。直接回声是指扬声器播放出来的声音未经任何反射直接进入麦克风。这种回声延迟最短,它与远端说话者的语音能量,扬声器与话筒之间的距离、角度、扬声器的播放音量以及话筒的拾取灵敏度等因素相关。间接回声是指扬声器播放的声音经不同的路径一次或多次反射后进入麦克风所产生的回声集合。因为四周物体的变动,例如人的走动等,都会改变回声的返回路径,因为这种回声的特点是多路径、时变的。另外,背景噪声也是产生回声的因素之一。
2、 回声路径的延迟大
在因特网中的语音传输中,延迟来源有三种:压缩延迟、分组传输延迟和处理延迟。语音压缩延迟是产生回声的主要延迟,例如在G.723.1标准中,压缩一帧(30ms)的最大延迟是37.5ms。分组传输延迟也是一个很重要的来源,测试表明,端到端的最大传输延迟可达250ms以上。处理延迟是指语音包的封装时延及其缓冲时延等。
3、 回声路径的延迟抖动大
在因特网的语音传输过程中,由于回声路径、语音压缩时延、分组传输路由等存在诸多不确定因素,而且波动范围较大,一般在20~50ms之间。
二、 声学回声消除器的结构和相关算法
随着消回声技术的发展,当前回声消除研究的重点,已由"电路回声"的消除,转向了"声学回声"。
1、 声学回声的消除法
(1) 四周环境的处理
分析声学回声的产生的机理,可以知道:声学回声最简单的控制方法是改善扬声器的四周环境,尽量减少扬声器播放声音的反射。例如,可以在四周的墙壁上附加一层吸音材料,或增加一层衬垫以增加散射,理想的四周环境是其回响时间或RT-60(声音衰减60dB所需要的时间)在300ms~600ms之间。因为这样的环境一方面可以控制反射,又可以不会使讲话者感到不适。改善环境可以有效地抑制间接声学回声,但对直接声学回声却无能为力。
  (2)回声抑制器 回声抑制器是使用较早的一种回声控制方法。回声抑制器是一种非线性的回声消除。它通过简单的比较器将接收到预备由扬声器播放的声音与当前话筒拾取的声音的电平进行比较。假如前者高于某个阈值,那么就答应传至扬声器,而且话筒被关闭,以阻止它拾取扬声器播放的声音而引起远端回声。假如话筒拾取的声音电平高于某全阈值,扬声器被禁止,以达到消除回声的目的。 由于回声抑制是一种非线性的回声控制方法,会引起扬声器播放的不连续。影响回声消除的效果,随着高性能的回声消除器的出现,回声抑制器已很少人使用了。
  (3)声学回声消除器 声学回声消除的另一方法是使用声学回声消除器(AEC:Acoustic Echo Chancellor),AEC是对扬声器信号与由它产生的多路径回声的相关性为基础,建立远端信号的语音模型,利用它对回声进行估计,并不断地修改滤波器的系数,使得估计值更加逼近真实的回声。然后,将回声估计值从话筒的输入信号中减去,从而达到消除回声的目的,AEC还将话筒的输入与扬声器过去的值相比较,从而消除延长延迟的多次反射的声学回声。根椐存储器存放的过去的扬声器的输出值的多少,AEC可以消除各种延迟的回声。


网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载