基于递归最小平方差的子带回声抵消器转让专利

申请号 : CN200510049114.6

文献号 : CN1668058B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张健李文德黄建强高可攀张远勇

申请人 : 南望信息产业集团有限公司

摘要 :

本发明公开了一种通信技术设备,特别提供了一种在视频通讯设备中的基于递归最小平方差的子带回声抵消器。回声抵消器包括自适应滤波器、远端信号输入端、近端信号输入端,还包括近端子带分析滤波器组A、远端子带分析滤波器组B、有声检测模块、滤波系数传送阀门、周期更新滤波器和子带合成滤波器。在回声抵消的算法中,结合了关键子带法的自适应滤波器设计。在回声抵消的前处理里,结合了语音检测模块来加强信号的相关性,提高算法的收敛性以提高回声抵消效果。本发明算法不仅能提高检测率,而且极大的减少了运算量。还提供了一个语音激活检测模块能加快现有的自适应滤波器的收敛性,提高回声抵消算法对环境的跟踪适应性。

权利要求 :

1.一种基于递归最小平方差的子带回声抵消方法,包括以下步骤:

将远端信号和近端信号按照时间序号分别分成多个子带信号;

计算远端和近端子带信号之间的相关性,并输出计算出来的滤波系数;

根据滤波系数计算并合成子带回声抵消得出的信号;

所述滤波系数的计算由自适应滤波器中的double talk检测模块选取M/16个最低频的子带作double talk来实现,其算法训练是基于递归最小二乘法的训练,如果M/16小于1则取等于1;所述方法在回声抵消的算法中,结合了关键子带法的自适应滤波器设计;在回声抵消的前处理里,结合了有声检测模块来加强信号的相关性,提高算法的收敛性以提高回声抵消效果,即:检测当前处理单位时间内远端子带信号是否为有声信号,以决定滤波系数的传送与否的步骤,如检测为有声信号则传送滤波系数。

说明书 :

基于递归最小平方差的子带回声抵消器

技术领域

[0001] 本发明涉及通信技术。更具体地说,本发明涉及一种在视频会议、IP可视电话以及类似的视频通讯设备中的回声抵消器及其方法。

背景技术

[0002] 在视频会议,IP可视电话等视讯通信设备中,消除回声的传统技术采用运行在整个频段上的算法,例如用于典型的传统电话机的300-3400Hz。而且,大多数应用,只采用了基于LMS的自适应滤波器,该滤波收敛速度慢,而且在较大的视频会议的通讯场合,该滤波器难于对各种会议场合完成对会场环境的时变跟踪。
[0003] 图1为利用了回声抵消技术的通信设备。图1的中的通讯设备可以是视频会议或者IP可视电话里的双向视讯通讯设备。远端发言者的声音,经过网络传输过来成为信号x(n),信号x(n)在扬声器处播放出来,播放出来的声音撞击到周围的房间,经过反射和折射后返回到话筒,话筒本身也接收来自近端的信号v(n)。由于这种现象,在远端的收听者实际上会听见自己说话声音的回声。
[0004] 为了消除这种回声,传统上用带有抽头系数可调的自适应滤波器。滤波器抽头的数值由自适应算法(例如,递归最小二乘算法)进行控制,以使得回声抵消滤波器的传递函数逼近扬声器和话筒之间的回声空间的传递函数。由回声抵消滤波器预测出来的回声分量在话筒输入的信号y(n)中减去,使得在理想情况下只有近端信号v(n)作为最终得到的信号传输到网络上去。

发明内容

[0005] 本发明的目的在于克服现有技术中的不足,提供一种在视频会议、IP可视电话以及类似的视频通讯设备中的回声抵消器及其方法。
[0006] 为了解决上述技术问题,本发明是通过以下技术方案实现的: [0007] 本发明提供了一种基于递归最小平方差的回声抵消器,包括自适应滤波器、远端信号输入端、近端信号输入端,还包括:
[0008] 连接近端信号输入端的近端子带分析滤波器组A,其将接收到的近端信号划分为多个子带信号;
[0009] 连接远端信号输入端的远端子带分析滤波器组B,其将接收到的远端信号划分为多个子带信号;
[0010] 有声检测模块,其将检测当前处理的单位时间内远端子带分析滤波器组B输出信号是否是为有声信号;
[0011] 滤波系数传送阀门,其将根据有声检测模块检测结果决定是否传送由自适应滤波器传送的滤波系数;
[0012] 周期更新滤波器,其将根据滤波系数计算出回声抵消后的信号; [0013] 子带合成滤波器,其将合成由周期更新滤波器传送的相互共轭的子带信号。 [0014] 所述自适应滤波器包括double talk检测模块,其将根据近端信号的有无决定是否更新自适应滤波器滤波系数。
[0015] 所述远端子带分析滤波器组、近端子带分析滤波器组分别包括分析滤波器、DFT滤波器、欠采样器。
[0016] 所述的回声抵消器还包括非线性处理模块。
[0017] 所述的回声抵消器还包括舒适噪声添加模块。
[0018] 所述的回声抵消器还包括信号幅度限制模块,其将对远端信号进行限幅。 [0019] 本发明还提供了一种基于递归最小平方差的子带回声抵消方法,包括以下步骤: [0020] 将远端信号和近端信号按照时间序号分别分成多个子带信号; [0021] 计算远端和近端子带信号之间的相关性,并输出计算出来的滤波系数; [0022] 根据滤波系数计算并合成子带回声抵消得出的信号。
[0023] 所述滤波系数的计算由自适应滤波器中的double talk检测模块选取M/16(如果M/16小于1则取等于1)个最低频的子带作double talk来实现,其算法训练是基于递归最小二乘法的训练。
[0024] 所述的子带回声抵消方法还包括检测当前处理单位时间内远端子带信号是否为有声信号,以决定滤波系数的传送与否的步骤。
[0025] 所述的子带回声抵消方法,在回声抵消的算法中,结合了关键子带法的自适应滤波器设计。
[0026] 所述的子带回声抵消方法,在回声抵消的前处理里,结合了有声检测模块来加强信号的相关性,提高算法的收敛性以提高回声抵消效果。
[0027] 与现有技术相比,本发明的有益效果是:
[0028] 本发明通过把语音信号划分成子带,以及在子带上应用抵消技术,而得到改进的回声抵消性能。通过在子带上应用回声抵消技术,使用于回声抵消的自适应滤波器运算量将得到减化。定点DSP和浮点DSP。TI公司使用了四块浮点DSP来实现,而按照本发明只需要用一块定点DSP来实现。
[0029] 近端和远端是否同时有音源发出声音是回声抵消完成的关键,既要准确,而运算量又必须少。本发明提出了一种基于关键子带的检测近端和远端同时有声音(double talk)的算法。该算法不仅能提高检测率,而且极大的减少了运算量。
[0030] 本发明在自适应滤波器训练时,提供了一个语音激活检测模块(有声无声检测模块),这个模块能加快现有的自适应滤波器的收敛性,提高回声抵消算法对环境的跟踪适应性。
[0031] 附图说明
[0032] 图1是包括回声抵消器在内的传统的通信设备;
[0033] 图2是按照本发明的、包括回声抵消在内的示例性通信设备的有关部分; [0034] 图3为其中的语音激活检测,或称为有声无声检测的计算流程图; [0035] 图4是图2中的分析滤波器组的示例性实施例;
[0036] 图5是图2中的综合滤波器组的示例性实施例;
[0037] 图6是可在图4和5的DFT滤波器中使用的示例的DFT矩阵;
[0038] 图7是功率与频点的关系;
[0039] 图8是在不同的子带分配不同的子带点数的策略;
[0040] 图9是图2回声抵消器的示例性实施例的有关部分。
[0041] 具体实施方式
[0042] 参考附图,结合具体实施例1下面将对本发明进行详细描述。
[0043] 图2是按照本发明的、包括回声抵消器在内的视频通信设备的示例性实施例的有关部分。视频通信设备可以是IP可视电话、视频会议系统等。
[0044] 本发明的基于递归最小平方差的回声抵消器,包括自适应滤波器200、远端信号输入端、近端信号输入端,还包括连接近端信号输入端的近端子带分析滤波器组A201,其将接收到的近端信号划分为多个子带信号;连接远端信号输入端的远端子带分析滤波器组B202,其将接收到的远端信号划分为多个子带信号;有声检测模块203,其将检测当前处理的单位时间内远端子带分析滤波器组B202输出信号是否是为有声信号;滤波系数传送阀门204,其将根据有声检测模块203检测结果决定是否传送由自适应滤波器200传送的滤波系数;周期更新滤波器205,其将根据滤波系数计算出回声抵消后的信号;子带合成滤波器206,其将合成由周期更新滤波器205传送的相互共轭的子带信号。其中近端子带分析滤波器组A、远端子带分析滤波器组B分别包括分析滤波器、DFT滤波器、欠采样器。 [0045] 自适应滤波器200包括double talk检测模块,其将根据近端信号的有无决定是否更新自适应滤波器滤波系数。
[0046] 回声抵消器还包括非线性处理模块207、舒适噪声添加模块208,以及信号幅度限制模块209,其将对远端信号进行限幅。
[0047] 远端声音信号X远端在1处被幅度限制在一定范围内,便于后端做信号处理。信号幅度限制模块209输出的信号2经过扬声器播放出来,进入室内空间,在室内空间反射的声音经过回声路径H(z)传播后,在4处(例如,在话筒处)被加到近端声音信号X近端,上。所得信号y(n)被加到在5处的分析滤波器组A201。滤波器组A201把信号y(n)划分成多个子带信号yi(n),这里下标i表示子带标号,n表示当前语音样点的时间序号。类似地,远端信号x(n)在2处被加到分析滤波器组B202,在同一个实施例中,它等同于5处的分析滤波器组A201,分析滤波器B202得到了x(n)的子带信号xi(n),这里下标i表示子带标号,n表示当前语音样点的时间序号。图中的自适应滤波器200计算yi(n)和xi (n)的子带信号之间的相关性,并输出计算出来的滤波系数h(n)。然后有声检测模块203检查当前处理的单位时间内x(n)是为有声信号,如果是有声信号,就打开滤波系数传送阀门204,把滤波系数h(n)送到周期更新滤波器205,周期更新滤波器205计算各个子带的回声抵消得出来的信号ei(n)=yi(n)-xi(n),这里下标i表示子带标号,n表示当前语音样点的时间序号。ei(n)通过非线性处理模块207后得到ci(n),ci(n)再经过舒适噪声添加后得到di(n),di(n)通过子带合成滤波器206后得到准备传输到网络上的语音数据Y输出。
[0048] 本实施例提供了一种基于递归最小平方差的子带回声抵消方法,包括以下步骤:将远端信号和近端信号按照时间序号分别分成多个子带信号;计算远端和近端子带信号之间的相关性,并输出计算出来的滤波系数;根据滤波系数计算并合成子带回声抵消得出的信号。所述滤波系数的计算由自适应滤波器中的doubletalk检测模块选取M/16(如果M/16小于1则取等于1)个最低频的子带作doubletalk来实现,其算法训练是基于递归最小二乘法的训练。还包括检测当前处理单位时间内远端子带信号是否为有声信号,以决定滤波系数的传送与否的步骤。以及在回声抵消的算法中,结合了关键子带法的自适应滤波器设计;和在回声抵消的前处理里,结合了有声检测模块来加强信号的相关性,提高算法的收敛性以提高回声抵消效果。
[0049] 图3为语音激活检测,或称为有声无声检测的计算流程图。
[0050] 在S201中,计算开始。
[0051] 在S202中,设置m=0;v=50。这里m表示语音信号段的索引,v表示初始化语音信号的长度。因为每段是10ms,所以总共要处理50段语音10ms长度的语音。 [0052] 在S203中,读入10ms的语音数据。
[0053] 在S204中,求这10ms的语音数据的能量。对于8k采样率的数据,每段内共有80个点,则
[0054]
[0055] 在S204中,看m是否到达v,也就是是否处理了500ms。如果是则进入S207处理,如果否则进入S206处理。
[0056] 在S206中,将m递增10,然后进入S203,进行下一次循环。
[0057] 在S207中,求得这50段的平均语音能量,结束初始化。
[0058] 在S208中,读入10ms的语音数据。开始进入有声/无声判断的循环。 [0059] 在S209中,求S208中读入的10ms的语音数据的能量Ej。
[0060] 在S210中,判断Ej大于k*Er否。如果是则进入S213处理,否则进入S211处理。这里Ej是当前语音帧的能量,Er是背景噪声的估计值。k是加权系数,取5。 [0061] 在S211中,得出当前帧无声的判断,然后进入S208处理下一帧。 [0062] 在S212中,更新背景噪声的估计值。
[0063] 在S213中,得出当前帧有声的判断,并接着进入S208处理下一帧。 [0064] 这里,本发明提出了基于关键子带的检测近端发言者(double talk)的算法。 [0065] 图2中的自适应滤波器200训练计算的效果依赖于其中的(double talk)检测模块的计算结果。(double talk)模块的作用是判断近端会议室有没有人在发言,如果有人在发言,则自适应滤波器200的内部系数要停止更新,如果没人发言,则自适应滤波器200的系数要继续更新。传统的(double talk)检测方法需要根据所有频带的信息来判断,运算量大,而且容易收到高频噪声影响,本发明提出了只根据最低的几个频带来判断近端和远端是否同时有声音。本发明的选取准则是取M/16(如果M/16小于1取等于1)个最低频的子带来作double talk检测,这样,不仅减少了double talk的运算量,而且对比实验表明基于关键子带的doubletalk检测相对与所有子带加权的double talk检测提高了3%的检验准确率。
[0066] 由于计算机的有效长精度效应,在算法训练到一定长时间时会使得误差累积的足够大,以致算法不收敛,因而每间隔一定的周期T后基于递归最小二乘法的自适应滤波器就要进行重新训练,以避免数据累计误差引起的算法失效。但是每个周期训练完时,上个周期训练得到的滤波系数可能比当前训练得到的滤波系数更接近实际的回声空间路径,因而可能把更差的滤波系数(当前的滤波系数)传递给周期更新滤波器。因而本发明提供了一种控制是否传递当前训练系数的算法模块。之所以会有这样的结果时由于最小二乘法的收敛受远端信号x(n)和近端信号y(n)的相关性影响。如果x(n)为有声信号,则x(n)和y(n)的相关性极低具有较高的相关性,而如果x(n)为背景噪声信号则x(n)和y(n)的相关性极低。
[0067] 因而本发明还提供了一种提高递归最小二乘法收敛速度的算法功能模块。这里的滤波系数传送阀门204会根据有声检测模块203判断当前是否为语音信号而决定传送当前周期训练得到的滤波器系数。
[0068] 参阅图4,图4是图2中分析滤波器组A201,B202的示例性实施例。在图4上数字化的远端信号x(n)被输入到分析滤波器组,它把远端信号划分成M个子频带。远端信号x(n)先被R因子欠采样,最终得到的欠采样的子带信号被加到离散傅立叶变换(DFT)滤波*器W。图4的安排给出较低的计算复杂性,因为在M个子带的每个子带中,信号以R因子被欠采样。这样,对于每个子带的给个输出样本,滤波器抽头计算的数目被减小至R分之一。
另外,图4的安排将给出自适应回声抵消算法的更快速的收敛,因为在每个子带中的信号比起输入信号x(n)(或y(n))具有更平滑的能量电平。在实施中M和R的数值被选择方法为M/R=4/3。分析滤波器、DFT滤波器和欠采样器在技术上是熟知的,在图4的实施例中,可以以任何适当的传统方式实施。
[0069] 参阅图5,是图2的综合滤波器组的示例性实施例。如图5所示,以及如下面进一*步讨论的,在M个子频带中格式化的误差信号eM在被加到逆DFT滤波器WINV。这个滤波器对子带误差信号执行反傅立叶运算。反傅立叶变换的输出被按R的因子过采样子带信号,然后以传统的方式把它们的输出耦合到一起得到去除回声之后的信号e(n)(也参阅图2)。
逆DFT滤波器,过采样器在技术上是熟知的,在图5的实施例中,可以以任何适当的传统方式实施。
[0070] 参阅图6,是可以被图4中的分析滤波器使用的示例性DFT调制矩阵W*,以及它的*转置可被图5的滤波器用作为WINV。(在本例中,转置等同于图6的矩阵)。这个矩阵显示所有的DFT矩阵的基本原理,即,这样的矩阵包括互为复共扼的行。例如,在图6的DFT矩阵中,行2和行4互为复共轭。这又意味着,当多个子带信号被加到DFT矩阵是,至少两个最终得到的输出信号将是互为复共轭的。
[0071] 因此,分析滤波器与合成滤波器的输入是复共轭对称的,因此只需要算M/2个子带信号,另外M/2个子带可以根据复共轭而得出。
[0072] 这显示在图3和4上,其中,虽然分析滤波器产生M个子带,但从DFT滤波器只输出M’个子带。其中M’小于M,但在本发明的实施中一般是M/2+1。例如,如果M=32,以及在DFT滤波器中实施图6的矩阵,则M’=17。
[0073] 参阅图7,在不同的频点区域,回声的功率也不同。这样,本发明可以在不同的子带频段分配不同的自适应滤波器阶数。
[0074] 参阅图8,采样率为16K的各个子带分配策略。由于在不同的子带里,回声的响应有所不同,而且人耳在各个频带的感知也有不同,因而对于各个不同的子带,可以采用不同的滤波器阶数,这样,大大的减少了运算量。
[0075] 参阅图9,从M个到(M/2+1)个的子带的减少,在图示上是由分析滤波器组输的信号xi(n),yi(n),和经过RLS运算器计算后输出的信号ei(n)指明,这里i为1到(M/2+1)。ei(n)经复共轭后送到合成滤波器组合成运算后得到回声抵消后 的信号e(n)。其中的利用DFT进行子带分解,利用IDFT进行子带合成在图5图6中详细说明了。
[0076] 图9图解显示图2的回声抵消器的示例性实施例的有关部分。在视频会议,IP可视电话等视讯会议应用中,如果输入信号被频带限制到3400Hz,采样频率是8000Hz,以及使用8个子带,则子带之一将在3500Hz与4000Hz之间。因为这个频率中没有频谱能量,所以这个频带可以有利地被丢弃,而不会发生任何失真。也注意到,对于这个例子,M/2+1=8/2+1=5,可以看到,由于DFT矩阵的复共轭的对称性,三个额外的子带可被丢弃。因此,使用本发明,要被输入到回声抵消运算器的子带的总的数目,在本例中,从M=8个子带减少到M’=4个子带。同样地,对于M=16个子带,M/2+1=16/2+1=9,以及2个子带中将没有频谱能量,这样,回声抵消滤波只施加到M’=7个子带上。回声抵消运算器利用传统的复子带RLS自适应滤波技术来产生M/2子带输出信号ei(这里i=1~(M/2+1)),其余的(M/2-1)个子带信号根据复共轭产生,由此产生要被输入到合成滤波器的子带信号。 [0077] 从上述的说明可以清楚地看到的,本发明减少了在通信设备中提供回声抵消所需要的计算的数量。例如,如果RLS运算器采用32子带分频,欠采样系数为24,则运算量将降为原11.1%。如果采用128个子带,欠采样系数为96,则运算量降为2.8%。 [0078]
[0079] 这里M是所分的频带个数,R为欠采样数。Cof为全频带需要的运算量,csaf 为采用子带后所需要的运算量。
[0080] 本领域技术人员将会看到,以上关于本发明的实施可以在视频会议,IP可视电话等视讯多媒体设备中的数字信号处理器(DSP)或者现场可编程芯片(FPGA)被实施。替换地,上述的实施例可以在与所耦合的外部部件相匹配的数据处理设备中提供。 [0081] 虽然以上详细地描述了本发明的示例性实施例,但这并不限制本发明的范围,本发明可以以各种各样的实施例来实施。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。