回声消除装置、通信终端及确定回声时延的方法

文档序号:7652533阅读:163来源:国知局

专利名称::回声消除装置、通信终端及确定回声时延的方法
技术领域
:本发明涉及声学回声消除
技术领域
,尤其涉及一种回声消除装置、通信终端以及确定回声时延的方法。
背景技术
:声学回声是指扬声器播放出来的声音被麦克风拾取后发回远端,使得远端用户能听到自己的声音。例如,利用个人电脑(PersonalComputer,PC)语音通话时,由于语音信号要经过编码、压缩和打包等一系列处理,回声问题比專交突出。在数字无线应用中,因为语音压缩技术以及i吾音压缩算法的非线性,引入了的较长的处理延迟时间(往返延迟大于200毫秒),使得声学回声问题更加明显。例如,由于手机结构的不合理,或者在某种通话模式下(例如免提模式),下行的远端用户语音信号通过扬声器后又被麦克风采集耦合到上行信号中,这种耦合到上行链路的下行语音在远端就形成了声学回声。声学回声又包括直接回声和间接回声。直接回声是指扬声器播放出来的声音未经任何反射直接进入麦克风,这种回声延迟最短,它与远端用户的语音能量、扬声器与麦克风之间的距离、角度、扬声器的播放音量以及麦克风的拾取灵敏度等因素相关。间接回声是指扬声器播放的声音经不同的路径一次或多次反射后进入麦克风所产生的回声集合,因为周围物体的变动都会改变回声的返回路径,因此这种回声的特点是多路径、时变的。目前,声学回声消除主要有三个方法(l)周围环境的处理例如可以在周围的墙壁上附加一层吸音材料,或增加一层衬垫以增加散射等。改善环境可以有效地抑制间接声学回声,但是对于直接声学回声却无能为力。(2)回声抑制器它是一种非线性的回声消除技术,通过简单的比较器将接收到准备由扬声器播放的声音与当前麦克风拾取的声音的电平进行比较,从而关闭麦克风或扬声器来达到消除回声的目的。由于回声抑制是一种非线性的回声控制方法,会引起扬声器播放的不连续,影响通话效果。(3)声学回声消除器(AcousticEchoChancellor,AEC):AEC是对扬声器信号与由它产生的多路径回声的相关系数为基础,建立远端信号的语音模型,从而对回声进行估计,并不断地修改滤波器的系数,使得估计值更加逼近真实的回声,然后,将回声估计值从麦克风的输入信号中剔除,从而达到消除回声的目的。AEC对于消除直接回声和间接回声都具有很好的消除效果,本发明正是基于AEC进行阐述。AEC实质是采用自适应滤波技术。由自适用滤波原理可知,必须在AEC之前准确地估计出回声时延,才能准确地确定自适应滤波器的阶数,从而以最小的系统开销获得最佳的回声消除效果。以手机终端为例,AEC有一些参数的确定都需要使用回声时延,例如,确定滤波器阶数的参数、确定数据緩冲区大小的参数。对于某一款手机,因为手机结构已经固定,所以这个时延是会在某一个固定值周围波动。之所以有一个固定值,是因为手机的结构固定,而且在手机中对语音要经过一系列的处理,这些处理时延基本固定;之所以会波动,是由于回声反射路径的不同造成的。因此在生产手机的时候都会给AEC配置一套参数,但因为有波动性,所以都会配置比较保守的参数,如采用比较大的滤波器阶数,滤波器阶数增大以后,所需要的数据空间和计算量将大大增加,而且滤波器容易发散、不稳定。但滤波器阶数加大以后,对于一定长度的时延,滤波器会自适应去处理。比如说滤波器长度为320,那么滤波器对于40ms内的回声都能自动调整去消除它,但超过40ms就做不到了。目前,一般在手机出厂前釆用人工估计的方法来估计回声时延。参见图1,其中,下行信号是指由远端用户终端传来的语音,传到本地后由扬声器播放;上行信号是指本地传到远端的语音,由本地语音和回声组成,有可能还包含背景噪声。上面提到的回声时延,也就是指传到本地终端的下行信号与上行信号中参杂的回声的传输间隔。目前这种人工估计的方式,大致分为两步骤1)PC机获取终端在正常通话时的上下行信号,为了估计的简单准确,一般要求远端用户讲一段特殊的、容易辨别的语音;2)PC机采用某种特殊的播放软件(例如cooledit)将获取的上下行语音信号播放出来,依靠人为感官标识出特殊语音在上下行信号中的位置,两者的时间差就是回音时延的大小。这样,就获得了某种款式的终端的回声时延的大小,由于终端使用环境的变化,因此在终端出厂之前必须根据回声时延为终端设定比较保守的参数,如比较大的滤波器阶数,比较大的数据緩冲区等。这种纯人工的估计方法不仅麻烦,而且估计误差很大,尽管播放软件(cooledit)能够达到毫秒的精确度,但是由于主观判断带来的误差一般都要达到几十毫秒,这时AEC不得不采用一些很保守的参数,例如增加滤波器的阶数,这样,不仅系统开销成倍增长,而且还严重影响了回声消除的效果。
发明内容有鉴于此,本发明要解决的技术问题是,提供一种回声消除装置、通信终端以及确定回声时延的方法,保证回声消除的准确性。为此,本发明实施例釆用如下技术方案一种回声消除装置,包括声学回声消除器,用于接收回声时延值,并按照接收的回声时延值确定参数、消除回声,还包括下行语音检测模块用于检测接收到的下行语音信号的能量是否达到预定的门限值,如果是,输出标识符;时延计算模块采集上行语音信号和下行语音信号,并在接收到所述下行语音检测模块的标识符时,计算上行语音信号和下行语音信号的互相关系数,确定互相关系数最大值所对应的回声时延值,并把所述回声时延值发送给所述声学回声消除器。所述下行语音检测模块,包括门限值预置子模块预置有最低能量门限值;能量计算子模块获取一段下行语音信号,并计算出这一段下行语音信号的能量;比较指示子模块将所述能量计算子模块计算得到的能量与所述门限值预置子模块预置的门限值进行比较,在计算的能量大于或等于所述门限值时,输出标识符。所述下行语音检测模块,是指自适应多码率编解码器中的话音激活检测模块。所述下行语音检测模块和时延计算模块,是分别独立存在的功能单元,或者,是集成在一起的功能单元,或者,是集成在所述声学回声消除器中的功能单元。所述时延计算模块是基于时间平均来计算上、下行语音信号的互相关系数的。一种通信终端,包括接收下行语音信号的扬声器、接收上行语音信号的麦克风,以及,利用接收到的回声时延值确定参数、消除回声的声学回声消除器,还包括下行语音检测模块用于检测所述终端接收到的下行语音信号的能量是否达到预定的门限值,如果是,输出标识符;时延计算模块采集上行语音信号和下行语音信号,并在接收到所述下行语音纟全测模块的标识符时,计算上行语音信号和下行语音信号的互相关系数,确定互相关系数最大值所对应的回声时延值,并把所述回声时延值发送给所述声学回声消除器。所述下行语音检测模块包括门限值预置子才莫块预置有最低能量门限值;能量计算子模块获取一段下行语音信号,并计算出这一段下行语音信号的能量;比较指示子模块将所述能量计算子才莫块计算得到的能量与所述门限值预置子模块预置的门限值进行比较,在计算的能量大于或等于所述门限值时,输出标识符。所述终端还包括时延更新启动模块用于控制是否启动所述下行语音检测模块及时延计算模块。所述终端是指手机、具有通话功能的个人数字助理或电脑。当所述终端包括自适应多码率编解码器时,所述下^H吾音4全测^t块是指自适应多码率编解码器中的话音激活;险测模块。一种确定回声时延的方法,包括步骤预置下行语音信号最低门限值;判断接收到的下行语音信号是否大于或等于所述门限值,若是,计算上行语音信号和下行语音信号的互相关系数;确定上、下行语音信号互相关系数的最大值,通过所述相关系数最大值所在位置计算回声时延。对于上述技术方案的技术效果分析如下本发明摒弃现有的人工估计回声时延的方式,在检测到下行语音信号能量大于或等于预定的门限值的基础上,基于上下行语音信号的互相关系数自动确定回声时延,避免了人工估计带来的误差,方便可靠,为AEC进行准确的回声消除提供了保障。而且,本发明不仅可以用来为终端出厂时配置合适的参数,也可以集成为AEC的一部分用来实时的更新AEC的相关参数,这样可以适应由于终端周围环境变化而带来的回声时延的改变。图1为现有技术回声消除方案示意图;图2为本发明回声消除系统示意图;图3为本发明方法流程图;图4为本发明实验波形图之一;图5为本发明实验波形图之二;图6为本发明实^^波形图之三。具体实施例方式本发明关键在于,首先确定通信终端接收到一定量的下行语音信号,然后对上、下行语音信号的互相关系数进行计算,从而选取互相关系数最大值所对应的时延作为最终确定的回声时延。下面结合附图,对本发明实施例作详细介绍。参见图1,为本发明实施例的回声消除装置示意图,所述的回声消除装置存在于通信终端,例如手机、具有通话功能的个人数字助理(PersonalDigitalAssistant,PDA),或者具有通话功能的PC等。图l仅是给出回声消除部分的结构,对于所在通信终端其余组成不^t约束。由图1可知,本发明提供的回声消除装置在现有的声学回声消除器(AEC)201基础上,增加了下行语音检测模块202以及时延计算模块203。其中,AEC201的功能与现有技术中的类似,可以采用市场上的成品芯片,也可以按照特定需求在数字信号处理(DigitalSignalProcessor,DSP)芯片上采用软件实现,其主要功能是利用接收到的回声时延值,确定回声消除器的相关参数,例如滤波器阶数、数据緩冲区大小等,进而将回声从上行语音信号中剔除,达到回声消除的目的。而下行语音检测模块202和时延计算;f莫块203是本发明中新增加的,其中下行语音检测模块202负责检测通信终端是否接收到一定量的下行语音信号,如果是,启动时延计算^f莫块203工作。时延计算模块203,负责对上、下行语音信号的互相关系数进行计算,搜索互相关系数最大值所在位置,并计算回声时延,输出给AEC201。下行语音检测模块202和时延计算模块203可以是互相独立的功能单元,也可以集成在一起,也可以一并集成在AEC201中,为了描述清晰,图l仅给出三者各自独立的示意图。下面从实现原理出发,对下行语音检测模块202和时延计算模块203分别作详细阐述。为了理解顺畅,首先介绍时延计算模块203。1、时延计算模块203由前已述,时延计算模块203主要根据上下行信号的互相关来估计回声时延。由图1可知,输入到通信终端扬声器的信号为远端传来的下行语音信号Wg—输入到通信终端麦克风的信号为上4亍主信号w'g—w(")。而上行信号又由三部分组成本地语音s;7eec/2(")、回声ec/w(")以及背景噪声"o^(w)。即w/(")=,ec/z(w)+ec/zo(w)+應ie(w)......................公式(1)其中,w表示离散时间,如sig—up(n)表示sig—up(t)在t=nT时刻的值,其中T是采样周期。由于回声ec/zo(")与下^亍i吾音信号Wg—^)7)相关性4艮大,它们之间的关系可表示为ec/w(n)=y9xwg—Z)).....................................公式(2)其中,/为衰减因子;而Z)就是回声时延,也即本发明要确定的。对上下行语音信号求相关系数的公式表示为C0/T(附)=五[s7'g—C//(W)XW'g—+.........................公式(3)其中,五u表示求统计平均。在通信终端的工程设计上,可以假定下行语音信号鄉—cZ/(")与本地语音^eec/(")无关,并且也与背景噪声w&0)无关,同时假定^eec/z(")与背景噪声朋/化(")的数学期望都接近于0。那么,将公式(1)和公式(2)代入公式(3)中,得到Corr(附)=E(俯—d/(w)xWg+w)}二E(Wg—d/(w)x(^jt^ec/z(w+附)+wo&e(w+m)+ec/zo(/+附》}+E{57^_<i/(w)x+A戈(4)+E(57'g—d/(X)x"xw'g"—d/(w+m—D)}+E(鄉—xE(wo^(w+w)}+/xE(s/gd/(w)xs/g_d/(w+附—々xE{Wg—x—+w-D)}上述公式(4)成立的条件是,々足够大,倒数第二个等式前两项相对最后一项很小,才可以省略,也就是通信终端必须接收到下行语音信号鄉—。这个条件就是由下行信号检测模块202保证,后面对下行信号检测模块202分析。正如前述分析,/人/>式(4)不难看出,互相关函凄t最后变为了自相关函数。由自相关函数的特性,可以确定在附=£>时,Ow(w)将取得最大值,那么,可通过计算CwrO),然后从中搜索出Max(C。rr时的m,即为本发明要确定的回声时延D。因此,可将时延计算模块203所执行的功能细化为两步第一步,计算上下行语音信号的相关系数cwr(ffO、cwrO2)...cwr(>0,并保存;第二步,搜索出Ma(CwT(附;)),从而确定回声时延"=附广这里才是到的时延Z)是以釆样点为单位的,如果要换算为以秒为单位,只需再除以采样频率即可。但是需要说明的是,尽管语音信号不是各态历经信号,在工程应用中,可以采用时间平均代替统计平均,那么,上下行语音信号相关系数的计算公式可表示为"=紹...............................公式(5)其中,Ml、M2代表采样数据的起点和终点。例如,语音数据的长度为3200个采样点M2-Ml+1=3200,即400附的语音数据,根据经验,实际应用中的回声时延不会超过120卿,因此,只需要利用公式(5)计算前960个采样点即可,也就是计算出Cwr(l)到Cwr(960)就可以了,从而减少了计算量,能够更加快速获得回声时延,从而保证AEC201实现快速准确的回声消除。2、下行语音检测模块202在上面对时延计算模块203的分析中,提到一个前提条件是通信终端必须接收到下行语音信号Wg—"/(n)。假设下行语音信号Wg—W(w)很弱,或者根本没有^—W(")而只有下行的远端噪声,那么,上面的公式(4)倒数第二个公式中三项的值都很小,省略前两项而直接约等于最后一项的推导将不成立。实际上,当下行语音信号鄉_哉")很小时,回声ecto(w)会更小,基本上被淹没。所以,为了确保接收到足够量的下行语音信号鄉—d/("),才引入了下行语音检测模块202,它的输入(检测对象)是下行语音信号鄉—输出是一个标识符,以指示是否启动时延计算模块203。在具体操作时,可以采用简单的能量检测手段实现下行语音检测模块202,例如,首先,预置最低能量门限值;然后,选取下行语音信号鄉—d(")中的80个采样点,计算其能量之和<formula>formulaseeoriginaldocumentpage11</formula>最后,将计算得到的^^gv值和预置的最低能量门限值比较,如果大于等于门限值,则认为接收到一定量的下行语音信号w'g—新"),则输出标识符,启动时延计算模块203,也即实施回声消除,否则,认为没有接收到一定量的w'g—新"),不启动时延计算模块203,也可以不必进行回声消除。可以这样理解,时延计算模块203内部又包括三个子模块门限值预置子模块、能量计算子模块和比较指示子模块比较指示子模块将能量计算子模块计算得到的能量与门限值预置子模块预置的最低门卩艮值进行比较,从而确定是否输出标识符。另夕卜,除了上述能量片全测方式外,在支持AMR(AdaptiveMultiRate,自适应多码率)编解码的3G的移动通信终端中,还可以直^l妄利用AMR编解码器中的话音激活检测模块,作为下行语音检测模块202,话音激活检测模块的输出也是一个标识符,只要将解码后的标识符提供给时延计算模块203即可。本发明摒弃现有的利用人工估计回声时延为AEC设定参数的方法,在检测到下行语音信号能量大于或等于某一预定的门限值的基础上,基于上下行语音信号的互相关系数自动确定回声时延,避免了人工估计带来的误差,方便可靠,为AEC进行准确的回声消除提供了保障。而且,与现有的人工估计方式仅适用终端出厂之前不同,本发明不仅可以用来为终端出厂时配置合适的参数,也可以集成为AEC的一部分用来实时的更新AEC的相关参数,这样可以适应由于终端周围环境变化而带来的回声时延的改变。在回声消除装置基础上,本发明还提供一种具有图2所示回声消除装置的通信终端。正如前面描述,这种通信终端可以是手机、具有通话功能的PDA、电脑等设备。本发明所提供的终端,仅是在原有终端的AEC201的基础上增设下行语音检测模块202和时延计算模块203,对终端原有的其余组成不作限制和约束,实现非常筒单,计算量小,能够实现自动确定回声时延的目的,为AEC201准确有效地进行回声消除提供了保障。另外,本发明提供的通信终端还可以包括一个时延更新启动模块,用户可以随着通信终端使用环境的不同,通过所述时延更新启动沖莫块控制是否对AEC201的时延进行更新,也即是否需要启动下行语音检测模块202及时延计算模块203。例如,AEC201默认使用某一时延值,在使用环境一直未变的情况下,不必启动下行语音检测模块202及时延计算模块203,从而可以节省终端的电量消耗,但是,当终端使用环境变化(恶化)时,用户可以通过一个按键,来启动下行语音检测模块202及时延计算模块203,从而对AEC201的时延进行更新,保证回声消除的效果。相应地,本发明还^是供一种确定回声时延的方法,这种方法在纟企测到下行语音信号基础上,基于上下行语音信号的互相关系数自动确定回声时延。参见图3,为本发明方法流程图,包括步骤301:检测通信终端是否接收到一定量的下行语音信号,若是,执行步骤302,否则,结束;其中,如何确定"一定量,,的下行语音信号,可以采用前述的能量检测方式首先,预置一个最低能量门限值;然后,计算部分下行语音信号能量之和绝对值;最后,将计算值与门限值比较,如果大于或等于,则确定终端已接收到一定量的下行语音信号,可以执行后续步骤,否则,确定没有接收到下行语音信号,不必进行回声消除,直接退出。除了上述能量检测方式之外,还可以直接利用3G移动终端中的AMR编解码器中的话音激活检测模块来确定。步骤302:同时采集上行语音信号和下行语音信号,并计算二者的相关系数;其中,上下行语音信号相关系数的计算公式,可以采用筒单的时间平均方式计算。步骤303:通过上下行语音信号相关系数最大值所在位置(时刻),确定回声时延,结束。上述步骤中的具体细节与回声消除装置中介绍的类似,在此不再赘述。通过上述三个步骤即可自动确定出回声时延的大小,从而为AEC准确进行回声消除提供保证。另外,本申请人对本发明作了大量实验,结果表明,采用本发明能够获得准确的回声时延,效果稳定。参见图4、图5和图6,是针对某一上下行语音信号、利用本发明获得的不同时刻(由语音检测模块202给出的标识符确定)的上下行语音信号互相关波形图。实验条件是①采样频率为8000hz;②上行语音信号w'g_z^(>z)由本地语音,ec/(w)和回声ec/zo(")组成。对于图4、图5和图6的分析参见表1:表1<table>tableseeoriginaldocumentpage13</column></row><table>另夕卜,还对仅由回声ec/w(")和背景噪声"o&(")构成的_进行了实验,效果也非常稳定。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求1、一种回声消除装置,包括声学回声消除器,用于接收回声时延值,并按照接收的回声时延值确定参数、消除回声,其特征在于,还包括下行语音检测模块用于检测接收到的下行语音信号的能量是否达到预定的门限值,如果是,输出标识符;时延计算模块采集上行语音信号和下行语音信号,并在接收到所述下行语音检测模块的标识符时,计算上行语音信号和下行语音信号的互相关系数,确定互相关系数最大值所对应的回声时延值,并把所述回声时延值发送给所述声学回声消除器。2、根据权利要求l所述装置,其特征在于,所述下行语音检测模块,包括门限值预置子模块预置有最低能量门限值;能量计算子模块获取一段下行语音信号,并计算出这一段下行语音信号的能量;比较指示子模块将所述能量计算子模块计算得到的能量与所述门限值预置子模块预置的门限值进行比较,在计算的能量大于或等于所述门限值时,输出标识符。3、根据权利要求l所述装置,其特征在于,所述下行语音检测模块,是指自适应多码率编解码器中的话音激活检测模块。4、根据权利要求l、2或3所述装置,其特征在于,所述下行语音检测模块和时延计算模块,是分别独立存在的功能单元,或者,是集成在一起的功能单元,或者,是集成在所述声学回声消除器中的功能单元。5、根据权利要求4所述装置,其特征在于,所述时延计算模块是基于时间平均来计算上、下行语音信号的互相关系数的。6、一种通信终端,包括接收下行语音信号的扬声器、接收上行语音信号的麦克风,以及,利用接收到的回声时延值确定参数、消除回声的声学回声消除器,其特征在于,还包括下行语音检测模块用于检测所述终端接收到的下行语音信号的能量是否达到预定的门限值,如果是,输出标识符;时延计算模块采集上行语音信号和下行语音信号,并在接收到所述下行语音检测模块的标识符时,计算上行语音信号和下行语音信号的互相关系数,确定互相关系数最大值所对应的回声时延值,并把所述回声时延值发送给所述声学回声消除器。7、根据权利要求6所述终端,其特征在于,所述下行语音检测模块,包括门限值预置子模块预置有最低能量门限值;能量计算子模块获取一段下行语音信号,并计算出这一段下行语音信号的能量;比较指示子模块将所述能量计算子模块计算得到的能量与所述门限值预置子模块预置的门限值进行比较,在计算的能量大于或等于所述门限值时,输出标识符。8、根据权利要求6或7所述终端,其特征在于,还包括时延更新启动模块用于控制是否启动所述下行语音检测模块及时延计算模块。9、根据权利要求8所述终端,其特征在于,所述终端是指手机、具有通话功能的个人数字助理或电脑。10、根据权利要求9所述终端,其特征在于,当所述终端包括自适应多码率编解码器时,所述下行语音检测模块是指自适应多码率编解码器中的话音激活检测模块。11、一种确定回声时延的方法,其特征在于,包括预置下行语音信号最低门P艮值;判断接收到的下行语音信号是否大于或等于所述门限值,若是,计算上行语音信号和下行语音信号的互相关系数;确定上、下行语音信号互相关系数的最大值,通过所述相关系数最大值所在位置计算回声时延。全文摘要本发明公开了一种回声消除装置,包括声学回声消除器接收回声时延值,并按照回声时延值确定参数、消除回声;下行语音检测模块检测接收到的下行语音信号的能量是否达到预定门限值,若是,输出标识符;时延计算模块采集上、下行语音信号,并在接收到标识符时,计算上、下行语音信号的互相关系数,确定互相关系数最大值对应的回声时延值,并发送给声学回声消除器。本发明不仅可以为终端出厂时配置合适的参数,也可以集成为声学回声消除器的一部分实时地更新相关参数,适应由于终端周围环境变化而带来的回声时延的改变,改善回声消除的效果并减少系统资源的开销。同时,本发明还公开了具有回声消除装置的通信终端,以及确定回声时延的方法。文档编号H04M1/58GK101321201SQ200710100270公开日2008年12月10日申请日期2007年6月6日优先权日2007年6月6日发明者张伟彬申请人:大唐移动通信设备有限公司;上海大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1