公开/公告号CN102739886A
专利类型发明专利
公开/公告日2012-10-17
原文格式PDF
申请/专利权人 中国科学院声学研究所;
申请/专利号CN201110081430.7
申请日2011-04-01
分类号H04M9/08(20060101);
代理机构11318 北京法思腾知识产权代理有限公司;
代理人杨小蓉;高宇
地址 100190 北京市海淀区北四环西路21号
入库时间 2023-12-18 06:57:20
法律状态公告日
法律状态信息
法律状态
2013-10-16
授权
授权
2012-12-12
实质审查的生效 IPC(主分类):H04M9/08 申请日:20110401
实质审查的生效
2012-10-17
公开
公开
技术领域
本发明涉及立体声回声抵消,特别涉及基于回声频谱估计和语音存在概率的立 体声回声抵消方法。
背景技术
随着电视电话等通信系统的快速发展,为了给与会者提供更多的空间信息使其 有身临其境的感觉,在系统中使用的麦克风和扬声器数目越来越多,这使得系统的 回声路径增加,为保证通话质量,必须有一个回声抵消器来压制回声。
立体声回声抵消和单声道回声抵消有着本质的区别。第一、立体声的不同通道 之间有着强相关性,这使得其相关矩阵是奇异的,因而没有唯一解;第二、立体声 包含了远端房间的信息,因而如果远端房间的声学环境发生变化,如说话者的身体 移动或者说话人变更都会使得回声路径改变从而导致自适应滤波器重新开始收敛, 这就意味着自适应滤波器不仅要跟踪近端房间声学回声路径的变化而且还必须跟踪 远端房间的发送信号产生路径的变化。
针对立体声回声抵消算法的这些问题,目前人们主要从两个方面进行研究,一 是对输入信号进行预处理,以消除通道之间的强相关性,主要方法有对各路信号进 行非线性处理,对各路信号添加随机噪声,采用全通时变滤波器对输入信号处理等 等;二是设计性能更佳的自适应滤波器,包括:两路NLMS(Normalized Least Mean Square)算法、两路AP(Affine Projection)算法、两路FRLS(Fast Recursive Least Square)算法、ELMS(Extended LMS)算法和NLMS-OCF(Normalized LMS algorithm with orthogonal correction factors)算法。然而,现有的去相关算法并不是很有效,在 对信号去相关的同时也带来了语音质量的下降;虽然有很多复杂的自适应滤波算法 被开发出来,但由于远端信号之间的强相关性,自适应滤波算法收敛速度慢,对远 端房间和近端房间回声路径的变化敏感,算法鲁棒性不好。
如图1所示,图1为传统的立体声回声抵消方案结构框图。它包含预处理模块 102,自适应滤波模块104和后滤波模块108。后滤波模块108一般是在频域进行实 施的,尽管后滤波模块108能进一步的消除残留回声,它却增加了计算量和系统的 复杂度。
美国专利US 7,742,592B2公开了一种频域的立体声回声抵消方法。然而,该专 利要求采用的必须是全向麦克风而不能是指向性麦克风,由此得到两个扬声器到麦 克风的传递函数近似一致的条件,如果采用指向性麦克风还需要根据扬声器位置调 节其增益,而该专利并没有给出增益调节的指导原则。
发明内容
本发明的目的在于,提出基于回声频谱估计和语音存在概率的立体声回声抵消 方法,来克服现有立体声回声抵消技术收敛速度慢,且计算复杂度高的问题。
为实现上述发明目的,本发明提出一种基于回声频谱估计和语音存在概率的立 体声回声抵消方法,该方法具体步骤包括:
步骤1):将麦克风采集的信号y(n)进行分帧、加窗和傅里叶变换得到频域信号 Y(i,k);将接收到的M个远端通道传送过来的信号xm(n)分别先后进行分帧、加窗和 傅里叶变换得到频域信号Xm(i,k);其中,M≥2,M∈N*;xm(n)中m表示M个远 端通道传送过来的信号中第m个信号;
步骤2):估计出麦克风频域信号Y(i,k)与任一远端通道频域信号Xm(i,k)相关的 回声频谱;
步骤3):根据所述的步骤2)获得的回声频谱,计算出基于维纳增益和近端语 音存在概率的最终增益;
步骤4):根据所述的步骤3)获得的最终增益对麦克风频域信号Y(i,k)进行频谱 修正;
步骤5):估计频谱修正后的频域信号与其它任一远端通道频域信号Xm(i,k)相关 的回声频谱;
步骤6):根据所述的步骤5)获得的回声频谱,计算出基于维纳增益和近端语 音存在概率的最终增益;
步骤7):根据所述的步骤6)获得的最终增益再对频谱修正后的麦克风频域信 号进行频谱修正;
当M≥3时,对步骤7)所得到的频谱修正后的频域信号依次重复所述的步骤5)、 所述的步骤6)和所述的步骤7)进行处理,实现麦克风信号频谱修正来完成立体声 回声抵消。
例如:有6个远端通道,进行第一次频谱修正时,估计麦克风频域信号Y(i,k)与 远端通道2频域信号X2(i,k)相关的回声频谱,根据获得的回声频谱来计算基于维纳 增益和近端语音存在概率的最终增益,根据获得的最终增益来对麦克风频域信号 Y(i,k)进行修正;进行第二次频谱修正时,先估计第一次修正后的麦克风频域信号与 远端通道1频域信号X1(i,k)相关的回声频谱,根据获得的回声频谱来计算基于维纳 增益和近端语音存在概率的最终增益,根据获得的最终增益来对第一次修正后的麦 克风频域信号再进行修正;进行第三次频谱修正时,先估计第二次修正后的麦克风 频域信号与远端通道6频域信号X6(i,k)相关的回声频谱,根据获得的回声频谱来计 算基于维纳增益和近端语音存在概率的最终增益,根据获得的最终增益来对第二次 修正后的麦克风频域信号再进行修正;依次类推,先后进行6次频谱修正。
所述的步骤2)估计回声频谱的步骤包括:
21):计算麦克风频域信号Y(i,k)和任一远端通道频域信号Xm(i,k)之间的瞬时互 功率谱,平滑后获得互功率谱函数C(i,k);
22):根据所述的步骤21)计算任一远端通道频域信号Xm(i,k)的瞬时功率谱, 平滑后获得功率谱函数R(i,k);
23):根据分别获得的互功率谱函数C(i,k)和功率谱函数R(i,k),按照下式(1) 计算获得回声传递函数幅度谱
24):根据获得的回声传递函数幅度谱按照下式(2)计算出与任一远端 通道频域信号Xm(i,k)相关的回声频谱
式(2)中,β为回声估计补偿因子,β是一个可调的参数,根据实际情况进行 合理选择该参数。
所述的步骤23)还进一步按照下式(3)控制回声传递函数幅度谱的过估 计;
其中,Hth是一个常数,由系统的先验信息得到。
所述的步骤3)中计算维纳增益的步骤包括:
31):对当前帧回声功率谱进行平滑获得回声功率谱λd(i,k);
32):利用回声功率谱λd(i,k)按照下式(4)计算当前帧后验信号回声比γ(i,k);
33):然后利用当前帧后验信号回声比γ(i,k)根据式(5)计算先验信号回声比 ξ(i,k);
ξ(i,k)=αDDγ(i-1,k)Gw2(i-1,k)+(1-αDD)P[γ(i,k)-1] (5)
式(5)中,αDD是平滑因子,满足0≤αDD<1;
34):利用先验信号回声比ξ(i,k)按照式(6)计算基于先验信号回声比的维纳增 益Gw(i,k);
所述的平滑采用采用一阶自回归平滑;
所述的互功率谱函数C(i,k)=αcC(i-1,k)+(1-αc)|X*(i,k)Y(i,k)|;所述的功率谱函数 R(i,k)=αRR(i-1,k)+(1-αR)X*(i,k)X(i,k);所述的回声功率谱其中,αc、αR和αλ是平滑因子,0≤αλ<1;0≤αc<1;0≤αR<1。
所述的步骤3)中计算近端语音存在概率的步骤包括:
31′):按照式(7)获得当前帧近端语音存在的一个硬判决I(i,k);
其中,其中,γth是一个常数,γth>0;
32′):根据步骤31′)获得的硬判决I(i,k)按照式(8)计算当前帧先验近端 语音存在概率q(i,k);
q(i,k)=αqq(i-1,k)+(1-αq)I(i,k) (8)
33′):利用当前帧先验近端语音存在概率q(i,k)按照式(9)计算出近端语音存 在概率p(i,k);
p(i,k)=μ(i,k)Λ(i,k)/(1+μ(i,k)Λ(i,k)) (9)
其中,μ(i,k)=q(i,k)/(1-q(i,k));
所述的步骤3)根据维纳增益Gw(i,k)和近端语音存在概率p(i,k)按照式(10) 获得最终增益G(i,k);
G(i,k)=p(i,k)Gw(i,k) (10)。
所述的步骤4)按照式(11)对麦克风频域信号Y(i,k)进行频谱修正;
Z(i,k)=Y(i,k)G(i,k) (11)。
所述的傅里叶变换采用快速傅里叶变换。
为实现上述发明目的,本发明还提出另一种基于回声频谱估计和语音存在概率 的立体声回声抵消方法,该方法具体步骤包括:
步骤1):将麦克风采集的信号y(n)进行分帧、加窗和傅里叶变换得到麦克风频 域信号Y(i,k);将接收到的M个远端通道传送过来的信号xm(n)分别先后进行分帧、 加窗和傅里叶变换得到频域信号Xm(i,k);其中,M≥2,M∈N*;xm(n)中m表示M 个远端通道传送过来的信号中第m个信号;
步骤2):估计出麦克风频域信号Y(i,k)与任一远端通道频域信号Xm(i,k)相关的 回声频谱;
步骤3):根据获得的回声频谱计算出维纳增益;
步骤4):如果第一次进行频谱修正,对麦克风频域信号Y(i,k)进行频谱修正; 否则,对上一次频谱修正后的频域信号进行频谱修正;
步骤5):估计所述的步骤4)获得的修正后的频域信号与其它任一远端通道频 域信号Xm(i,k)相关的回声频谱;
当M≥3时,对所述的步骤5)所得到的回声频谱依次重复步骤3)、步骤4)和 步骤5)进行处理;
步骤6):计算获得的M个回声频谱对应的功率谱,并把M个回声功率谱相加 得到立体声回声功率谱;
步骤7):将频域信号Y(i,k)和所述的步骤6)获得的立体声回声功率谱作为输入 信号,计算基于维纳增益和近端语音存在概率的最终增益函数;
步骤8):利用所述的步骤7)获得的最终增益函数对麦克风频域信号Y(i,k)进行 频谱修正来完成立体声回声抵消。
例如,有8个远端通道,进行第一次频谱修正时,估计麦克风频域信号Y(i,k)与 远端通道1频域信号X1(i,k)相关的回声频谱根据获得的回声频谱来计算维纳增益,根据获得的维纳增益来对麦克风频域信号Y(i,k)进行修正;进行第 二次频谱修正时,先估计第一次修正后的麦克风频域信号与远端通道2频域信号 X2(i,k)相关的回声频谱根据获得的回声频谱来计算维纳增益,根 据获得的维纳增益来对第一次修正后的麦克风频域信号再进行修正;进行第三次频 谱修正时,先估计第二次修正后的麦克风频域信号与远端通道6频域信号X6(i,k)相 关的回声频谱根据获得的回声频谱来计算维纳增益,根据获得的维 纳增益来对第二次修正后的麦克风频域信号再进行修正;依次类推,先后进行7次 频谱修正,获得8个回声频谱。将8个回声频谱对应的功率谱相加后获得立体声回 声功率谱,根据立体声回声功率谱与麦克风频域信号Y(i,k)来计算基于维纳增益和近 端语音存在概率的最终增益函数,根据获得的最终增益函数对麦克风频域信号Y(i,k) 进行频谱修正。至此,先后共进行了8次频谱修正。前7次频谱修正的目的是获得 回声频谱的估计,第8次频谱修正的目的是完成回声抵消。
所述的步骤2)估计回声频谱的步骤包括:
21):计算麦克风频域信号Y(i,k)和任一远端通道频域信号Xm(i,k)之间的瞬时互 功率谱,平滑后获得互功率谱函数C(i,k);
22):计算任一远端通道频域信号Xm(i,k)的瞬时功率谱,平滑后获得功率谱函数 R(i,k);
23):根据获得的互功率谱函数C(i,k)和功率谱函数R(i,k),按照式(1)计算获 得回声传递函数幅度谱
24):根据获得的回声传递函数幅度谱按照式(2)计算出与任一远端通 道频域信号Xm(i,k)相关的回声频谱
式(2)中,β为回声估计补偿因子;β是一个可调的参数,根据实际情况进行 合理选择该参数。
所述的步骤23)进一步按照式(3)控制回声传递函数幅度谱的过估计;
其中,Hth是一个常数,由系统的先验信息得到。
所述的步骤3)和所述的步骤7)中计算维纳增益的具体步骤包括:
首先,利用估计出的回声频谱计算得到回声功率谱λd(i,k);
然后,利用回声功率谱λd(i,k)按照式(4)计算当前帧后验信号回声比γ(i,k);
再利用当前帧后验信号回声比γ(i,k)根据式(5)计算先验信号回声比ξ(i,k);
ξ(i,k)=αDDγ(i-1,k)Gw2(i-1,k)+(1-αDD)P[γ(i,k)-1] (5)
式(5)中,αDD是平滑因子,满足0≤αDD<1;
最后,利用先验信号回声比ξ(i,k)按照式(6)计算基于先验信号回声比的维纳 增益Gw(i,k);
所述的平滑采用一阶自回归来进行平滑;
所述的互功率谱函数C(i,k)=αcC(i-1,k)+(1-αc)|X*(i,k)Y(i,k)|;所述的功率谱函数 R(i,k)=αRR(i-1,k)+(1-αR)X*(i,k)X(i,k);所述的回声功率谱
其中,αc、αR和αλ是平滑因子,0≤αλ<1;0≤αc<1;0≤αR<1。
所述的步骤7)中计算近端语音存在概率的步骤包括:
首先,按照式(7)获得当前帧近端语音存在的一个硬判决I(i,k);
其中,γth是一个常数,γth>0;
然后,根据硬判决I(i,k)按照式(8)计算当前帧先验近端语音存在概率q(i,k);
q(i,k)=αqq(i-1,k)+(1-αq)I(i,k) (8)
最后,利用当前帧先验近端语音存在概率q(i,k)按照式(9)计算出近端语音存 在概率p(i,k);
p(i,k)=μ(i,k)Λ(i,k)/(1+μ(i,k)Λ(i,k)) (9)
其中,μ(i,k)=q(i,k)/(1-q(i,k));
所述的步骤7)根据维纳增益Gw(i,k)和近端语音存在概率p(i,k)按照式(10) 获得最终增益G(i,k);
G(i,k)=p(i,k)Gw(i,k) (10)。
所述的傅里叶变换采用快速傅里叶变换。
本发明的优点在于,本发明具有很低的计算复杂度,而且实现结构简单,利用 FFT技术可以加快计算速度,只需要在频域进行操作使得程序架构简单,不像传统的 自适应滤波加后滤波同时需要在时域和频域进行操作;本发明具有很高的鲁棒性, 受系统的噪声干扰影响很小,适合在复杂的环境下实施;本发明同时具有很快的收 敛速度和快速的跟踪系统回声路径变化的能力,使得在房间的环境变化时能够在最 短的时间内跟踪并适应这种变化;本发明由于考虑到近端语音存在概率这一信息, 取得了更大的回声压制效果。
附图说明
图1为传统的立体声回声抵消方案结构框图;
图2为本发明提出的基于回声频谱估计和语音存在概率的立体声回声抵消方法 的流程图;
图3为基于图2改进的基于回声频谱估计和语音存在概率的立体声回声抵消方 法的流程图;
图4为本发明提出的基于回声频谱估计和语音存在概率的立体声回声抵消结构 框图;
图5为AES(Acoustic Echo Suppression,回声压制)模块206结构框图;
图6为回声频谱估计单元502结构框图;
图7为增益函数计算单元504结构框图;
图8为麦克风接收信号波形图之一;
图9为基于图8的本发明方法和标准的NLMS算法在收敛速度、跟踪速度和回 声压制量三方面的比较图;
图10为麦克风接收信号波形图之二;
图11为基于图10的本发明方法和标准的NLMS算法在收敛速度、跟踪速度和 回声压制量三方面的比较图;
图12为本发明扩展到多扬声器多麦克风配置场合的立体声回声抵消结构框图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细的说明。
本发明的目的是克服现有立体声回声抵消技术收敛速度慢甚至不收敛,计算复 杂度高的问题,从而提出一种鲁棒性高,计算复杂度低,收敛和跟踪速度快的立体 声回声抵消方法。
为了达到上述目的,本发明采取的技术方案如下:
如图2所示,图2为本发明提出的基于回声频谱估计和语音存在概率的立体声 回声抵消方法的流程图。包括如下步骤:
1)将采集到的麦克风信号进行分帧,加窗,做FFT变换,将时域信号变换到频 域;将接收到的远端通道1信号进行分帧,加窗,做FFT变换,将时域信号变换到 频域;将接收到的远端通道2信号进行分帧,加窗,做FFT变换,将时域信号变换 到频域;
2)估计出麦克风频域信号和远端通道1频域信号相关的回声频谱;
3)计算基于维纳滤波和近端语音存在概率的增益函数;
4)对麦克风信号进行频谱修正;
5)估计出修正后的麦克风频域信号与远端通道2相关但与远端通道1不相关的 回声频谱;
6)计算基于维纳滤波和近端语音存在概率的增益函数;
7)对4)的输出再次进行频谱修正。
最后,将7)的输出做IFFT变换,将频域信号变换到时域,并与前一帧的输出 信号进行重叠叠加,得到最后的输出。
远端通道的个数可以多于2个,当远端通道的个数是M个,且M≥3时,则:
1):将麦克风采集的信号y(n)进行分帧、加窗和傅里叶变换得到麦克风频域信 号Y(i,k);将接收到的M个远端通道传送过来的信号xm(n)分别先后进行分帧、加窗 和傅里叶变换得到频域信号Xm(i,k);其中,M≥2,M∈N*;xm(n)中m表示M个 远端通道传送过来的信号中第m个信号;
2):估计出麦克风频域信号Y(i,k)与任一远端通道频域信号Xm(i,k)相关的回声 频谱;
3):根据2)获得的回声频谱,计算出基于维纳增益和近端语音存在概率的最终 增益;
4):根据3)获得的最终增益对麦克风频域信号Y(i,k)进行频谱修正;
5):估计频谱修正后的频域信号与其它任一远端通道频域信号Xm(i,k)相关的回 声频谱;其中,“其它”指的是除去之前估计回声频谱时使用的远端通道频域信号外 的任一远端通道。
6):根据5)获得的回声频谱,计算出基于维纳增益和近端语音存在概率的最终 增益;
7):根据6)获得的最终增益再对频谱修正后的麦克风频域信号进行频谱修正;
对7)所得到的频谱修正后的频域信号依次重复5)、6)和7)进行处理,实现 麦克风信号频谱修正来完成立体声回声抵消。
最后,将修正后的麦克风频域信号做IFFT变换,将频域信号变换到时域,并与 前一帧的输出信号进行重叠叠加,得到最后的输出。
在上述技术方案中,2)、3)和4)称为AES,5)、6)和7)也称为AES。AES 包括回声频谱估计,增益函数计算和频谱修正。
在上述的技术方案中,所述AES中的回声频谱估计需要首先估计出回声传递函 数幅度谱,利用回声传递函数幅度谱乘以远端通道幅度谱再乘上一个补偿因子得到 回声的频谱估计。
在上述的技术方案中,2)、3)和4)的AES中的回声传递函数幅度谱是利用平 滑的麦克风信号和远端通道信号的互功率谱除以平滑的远端通道信号的功率谱得到 的。
在上述的技术方案中,所述的回声传递函数幅度谱估计之后需要进行回声过估 抑制处理。目的是防止回声过估导致近端语音损失,即若回声传递函数幅度谱超过 某个阈值就将该频率柜的回声传递函数幅度谱置为0。
在上述的技术方案中,进一步地,所述的增益函数同时考虑了维纳增益和近端 语音存在概率。
在上述的技术方案中,所述的维纳增益是基于先验的信号回声比而求得的,先 验的信号回声比是利用直接判决法得到的,它同时考虑了后验信号回声比和先前一 帧的维纳增益。
在上述的技术方案中,所述的近端语音存在概率是利用贝叶斯原理并对语音信 号频谱的概率分布做了合理的模型假设而得到,近端语音存在概率的计算需要同时 考虑到先验信号回声比,后验信号回声比和先验近端语音存在概率。
如图3所示,图3为基于图2改进的基于回声频谱估计和语音存在概率的立体 声回声抵消方法的流程图。
1)将采集到的麦克风信号进行分帧,加窗,做FFT变换,将时域信号变换到频 域;将接收到的远端通道1信号进行分帧,加窗,做FFT变换,将时域信号变换到 频域;将接收到的远端通道2信号进行分帧,加窗,做FFT变换,将时域信号变换 到频域;
2)估计出麦克风频域信号和远端通道1频域信号相关的回声频谱;
3)计算基于维纳滤波的增益函数;
4)对麦克风信号进行修正;
5)估计出4)输出的麦克风信号与远端通道2相关但与远端通道1不相关的回 声频谱;
6)对2)和5)估计出的回声频谱计算获得对应的功率谱,把得到的两个功率 谱相加作为立体声回声功率谱;
7)利用麦克风信号和立体声回声功率谱作为输入信号,计算基于维纳滤波和近 端语音存在概率的增益函数;
8)对麦克风信号进行频谱修正。
最后,将8)的输出做IFFT变换,将频域信号变换到时域,并与前一帧的输出 信号进行重叠叠加,得到最后的输出。
同样,远端通道的个数可以多于2个,当远端通道的个数是M个,且M≥3时, 则:
1):将麦克风采集的信号y(n)进行分帧、加窗和傅里叶变换得到麦克风频域信 号Y(i,k);将接收到的M个远端通道传送过来的信号xm(n)分别先后进行分帧、加窗 和傅里叶变换得到频域信号Xm(i,k);其中,M≥2,M∈N*;xm(n)中m表示M个 远端通道传送过来的信号中第m个信号;
2):估计出麦克风频域信号Y(i,k)与任一远端通道频域信号Xm(i,k)相关的回声 频谱;
3):根据获得的回声频谱计算出基于维纳增益;
4):如果第一次进行频谱修正,对麦克风频域信号Y(i,k)进行频谱修正;否则, 对上一次频谱修正后的频域信号进行频谱修正;
5):估计4)获得的修正后的频域信号与其它任一远端通道频域信号Xm(i,k)相 关的回声频谱;其中,“其它”指的是除去之前估计回声频谱时使用的远端通道频域 信号外的任一远端通道。
对5)所得到的回声频谱依次重复3)、4)和5)进行处理;
步骤6):计算获得的M个回声频谱对应的功率谱,并把M个回声功率谱相加 得到立体声回声功率谱;
7):将频域信号Y(i,k)和6)获得的立体声回声功率谱作为输入信号,计算基于 维纳增益和近端语音存在概率的最终增益函数;
8):利用7)获得的最终增益函数对麦克风频域信号Y(i,k)进行频谱修正来完成 立体声回声抵消。
最后,将修正后的麦克风频域信号做IFFT变换,将频域信号变换到时域,并与 前一帧的输出信号进行重叠叠加,得到最后的输出。
如上所述,图3是图2的可替代性方案,其基本原理都是利用远端信号和麦克 风信号之间的相关性来估计回声信号的频谱,然后利用频谱修正技术来进行回声压 制;其性能基本相同,没有本质的差别。不同的是图2所示的方案中回声的消除分 M次完成的,每次估计出与其中一个远端通道相关的回声频谱然后将其从麦克风频 谱中移除;图3所示的方案首先估计出与所有远端通道相关的回声的频谱,然后把 所有估计的M个回声功率谱相加作为总的回声功率谱,在最后将估计的总的回声从 克风频谱中移除掉。图2所示的方案结构相对简单,程序可共用一个AES模块;图 3所示的方案可以节省一些运算量。具体选择那套实施方案需要根据系统的实际情况 综合考虑。
如图4所示,图4为本发明提出的基于回声频谱和语音存在概率的立体声回声 抵消结构框图,为便于说明问题,该图所指的立体声只包含两个远端通道。该结构框 图包括:接收端、接收端处理模块200和发送端。其中,s(n)表示近端语音,d1(n)和 d2(n)表示回声信号,y(n)表示麦克风采集到的信号,x1(n)表示远端通道1传送来的 信号,x2(n)表示远端通道2传送来的信号。为了避免混淆,图4只画出了一路麦克 风信号的回声抵消示意图,同样的回声抵消方案存在于另一路麦克风信号处理中, 与此类似的处理方案存在于发送端的处理模块中。
步骤1)将采集到的麦克风信号进行分帧,加窗,做FFT变换,将时域信号变换 到频域;
第i帧麦克风信号为:
y0=[y(iL) y(iL+1)... y(iL+FFTSize-1)]; (1)
其中,一帧信号长度设定为FFTSize,数据一次前进L个样本点。
加窗模块202表示对第i帧麦克风信号进行加窗,具体的表示为:
yw(m)=y0(m)W(m),m=0,1,FFTSize-1; (2)
其中,W表示为长度为FFTSize的分析窗向量。
对当前帧的麦克风信号进行傅里叶变换,傅里叶变换模块204的输入输出关系 为:
为了加快计算速度,式(3)用FFT来完成。
将接收到的远端通道1信号进行分帧,加窗,做FFT变换,将时域信号变换到 频域;
第i帧远端通道1信号为:
x10=[x1(iL) x1(iL+1)... x1(iL+FFTSize-1)]; (4)。
加窗模块202表示对第i帧远端通道1信号进行加窗,具体的表示为:
xw1(m)=x10(m)W(m),m=0,1,FFTSize-1; (5)。
对当前帧的远端通道1信号进行傅里叶变换,傅里叶变换模块204的输入输出 关系为:
为了加快计算速度,式(6)用FFT来完成。
将接收到的远端通道2信号进行分帧,加窗,做FFT变换,将时域信号变换到 频域;
第i帧远端通道2信号为:
x20=[x2(iL) x2(iL+1)... x2(iL+FFTSize-1)]; (7)。
加窗模块202表示对第i帧远端通道2信号进行加窗,具体的表示为:
xw2(m)=x20(m)W(m),m=0,1,FFTSize-1; (8)。
对当前帧的远端通道2信号进行傅里叶变换,傅里叶变换模块204的输入输出 关系为:
为了加快计算速度,式(9)用FFT来完成。
步骤2)利用麦克风频域信号和远端通道1频域信号做AES,利用其相关性从 麦克风信号中抵消掉与远端通道1相关的部分的回声;
如图5所示,图5是AES模块206结构框图。下面就AES模块206做详细的叙 述,由图5可知AES模块可以划分为回声频谱估计单元502,增益计算单元504和 频谱修正单元506。其中,回声频谱估计单元502利用远端通道的信号估计出回声信 号的幅度谱;增益计算单元504用来计算麦克风频谱修正使用的增益函数,它同时 考虑了基于先验信号回声比的维纳增益和近端语音存在概率;频谱修正单元506用 来对麦克风信号频谱的每个频率柜进行修正,以衰减掉回声的频谱,保留近端语音 的频谱。
如图6所示,图6为回声频谱估计单元502结构框图。包括:互功率谱平滑602、 功率谱平滑604、回声传递函数估计606、回声过估抑制608和回声幅度谱估计610。
互功率谱平滑602用来估计Y(i,k)和X(i,k)之间的互功率谱,这里采用一阶自 回归来进行平滑,表达式为:
C(i,k)=αCC(i-1,k)+(1-αC)|X*(i,k)Y(i,k)| (10)
功率谱平滑604用来估计X(i,k)的功率谱,这里采用一阶自回归来进行平滑, 表达式为:
R(i,k)=αRR(i-1,k)+(1-αR)X*(i,k)X(i,k) (11)
这里αC和αR是平滑因子,典型的取αR=αC=0.998。
回声传递函数估计606用Y(i,k)和X(i,k)之间的互功率除以X(i,k)的功率谱得 到回声传递函数幅度谱的估计,表达式为:
其中,分母中的δ是一个绝对值非常小的正数,用来防止除数为0。
回声过估抑制608,控制回声谱的过估计,有效的保证了纯近端语音无损通过, 该模块表示为:
这里,Hth是一个常数,它可由系统的先验信息而得到。
回声幅度谱估计610用来估计当前帧回声的频谱分量,该模块表示为:
其中,β表示回声估计补偿因子,比较大的β可以获得更多的回声压制量,但 有可能造成双端对讲时近端语音的损伤,比较小的β可以最大程度上保持近端语音 质量,但有可能使得回声压制量不够理想,在实际中需要合理的选择β,即在回声 抵消量和双端对讲时近端语音质量之间进行一定的折中,当然也可以使用自适应的 方法控制β的取值,例如只有远端时设置比较大的β,双端对讲时设置比较小的β。
如图7所示,图7为增益函数计算单元504结构框图。,该单元包括:回声功率 谱平滑702、计算后验信号回声比704、计算先验信号回声比706、计算维纳增益708、 计算近端语音存在标志710、计算先验近端语音存在概率712、计算近端语音存在概 率714和计算最终增益716。
回声功率谱平滑702用来对回声频谱估计单元502估计出的瞬时回声功率谱进 行平滑得到回声功率谱,可以表示为:
这里αλ是平滑因子,取0≤αλ<1。
计算后验信号回声比704用来计算当前帧后验信号回声比,后验信号回声比是 一个利用当前帧信息获得的瞬时的信号回声比值,因而该值起伏比较大,传统的语 音增强算法利用该值来计算维纳增益,会产生音乐噪声。其计算方法为:
计算先验信号回声比706用来计算先验信号回声比,一般的可以用直接判决法 求得,相比后验信号回声比,先验信号回声比显得比较平滑,从而其起伏较小。其 计算方法为:
ξ(i,k)=αDDγ(i-1,k)Gw2(i-1,k)+(1-αDD)P[γ(i,k)-1] (17)
其中,αDD是平滑因子,满足0≤αDD<1。P[]是一个半波整形函数,定义为:
计算维纳增益708计算基于先验信号回声比的维纳增益,采用先验信号回声比, 有效地降低了音乐噪声,同时该增益计算量与谱减法的计算量相当,而远比MMSE 估计子([1]Y.Ephraim and D.Malah,“Speech enhancement using a minimum mean square error short-time spectral amplitude estimator,”IEEE Trans.on Acoust.,Speech, Signal Processing,vol.ASSP-32,pp.1109-1121,Dec.1984)和MMSE-LOG估计子([2] Y.Ephraim and D.Malah,“Speech enhancement using a minimum mean square error log-spectral amplitude estimator,”IEEE Trans.on Acoust,Speech,Signal Processing,vol. ASSP-33,pp.443-445,Apr.1985)的计算量要低。具体表示为:
统计模型已经被成功的应用到语音增强中,但是它还从未被用于立体声的回声 抵消,本发明把语音的概率分布模型集成到立体声的回声抵消中,目的是获得更好 的回声压制效果,减小双端讲话时的近端语音损失。
计算近端语音存在标志710计算近端语音存在标志模块,该标志是当前帧近端 语音存在的一个硬判决,计算方法为:
其中,γth>0,γth是一个常数,一般取γth=3.0。
计算先验近端语音存在概率712用来计算当前帧先验近端语音存在概率,当近 端语音不存在时可以更大程度上压制回声信号,当近端语音存在概率很大时应该尽 可能的保持近端语音不受损伤。先验近端语音存在概率可以由I(i,k)进行平滑得到, 表示为:
q(i,k)=αqq(i-1,k)+(1-αq)I(i,k) (21)
这里αq是平滑因子,满足0<αq<1。
计算近端语音存在概率714用来计算近端语音存在概率,表示为:
p(i,k)=μ(i,k)Λ(i,k)/(1+μ(i,k)Λ(i,k)) (22)
其中,
μ(i,k)=q(i,k)/(1-q(i,k)) (23)
计算最终增益716用来计算考虑了近端语音存在概率和维纳增益之后的最终增 益,表示为:
G(i,k)=p(i,k)Gw(i,k) (25)。
频谱修正单元506,用来衰减掉回声的分量保存近端语音的分量,增益函数 G(i,k)已经包含了所有需要的信息,用来以区别每个频率柜上回声和近端语音的比 重,具体的说若第k个频率柜回声的比重很大则G(i,k)→0.0这样可以衰减掉回声分 量,反之若第k个频率柜近端语音的比重很大则G(i,k)→1.0这样可以尽可能的保留 近端语音分量,使得近端语音不受损伤。
频谱修正单元506的输入输出关系为:
Z(i,k)=Y(i,k)G(i,k) (26)
Z(i,k)表示进行回声压制后的麦克风信号频谱。由于G(i,k)是非负实数,因而这 里仅对麦克风信号的幅度谱进行修正,而保持其相位谱不变。
步骤3):利用步骤2)输出的频域信号和远端通道2频域信号做AES,利用其 相关性从麦克风信号中抵消掉与远端通道2相关但与远端通道1不相关的部分的回 声;
该部分所使用的AES模块与步骤2)所述的AES模块其内部功能完全一致,不 同的是其输入接口部分有所变化,只要将步骤2)的X1(i,k)换成X2(i,k),将步骤2) 的Y(i,k)换成Y2(i,k)即可。可见步骤2)和步骤3)可以使用公共的一个功能模块, 因而本发明的易于模块化实现,这给软硬件实现提供了很大的便利。
由于x1(n)和x2(n)是由同一个声源产生的因而两者具有很强的相关性,故步骤2) 不但可以抵消掉d1(n),它还可以抵消掉一部分d2(n),因而步骤2)可以抵消掉绝大 部分的回声,步骤3)用来进一步抵消残余的与x2(n)相关但与x1(n)不相关的回声, 本发明通过巧妙地利用参考信号和麦克风信号的相关性来去除回声,解决了传统的 自适应滤波解不唯一的问题。
步骤4)将步骤3)的输出做IFFT变换,将频域信号变换到时域,并与前一帧 的输出信号进行重叠叠加,得到最后的输出。
逆傅里叶变换模块208表示对当前帧进行逆傅里叶变换得到当前帧输出:
然后与前一帧输出进行重叠叠加得到最终的输出信号
如图8所示,图8为麦克风接收信号波形图之一。其中,远端房间的声源v(n)为 语音信号,近端房间的回声路径在第10秒钟时发生变化。如图9所示,图9为基于 图8的本发明方法和标准的NLMS算法在收敛速度、跟踪速度和回声压制量三方面 的比较图。图中,纵坐标表示回声压制量(ERLE,Echo Return Loss Enhancement), 实线表示本发明方法结果,虚线表示标准的NLMS算法结果。其中,回声压制量 (ERLE,Echo Return Loss Enhancement)是评价回声抵消算法的重要技术指标,其 定义为:
这个值越大说明回声抵消的越多。图9表明本发明具有很快的初始收敛速度, 在近端房间的回声路径变化时具有快速的跟踪速度,回声压制量明显高于传统算法。
如图10所示,图10为麦克风接收信号波形图之二。其中,远端房间的声源v(n) 为语音信号,远端房间的回声路径在第10秒钟时发生变化。如图11所示,图11为 基于图10的本发明方法和标准的NLMS算法在收敛速度、跟踪速度和回声压制量三 方面的比较图。图中,纵坐标表示回声压制量(ERLE,Echo Return Loss Enhancement), 实线表示本发明方法结果,虚线表示标准的NLMS算法结果。图11表明本发明具有 很快的初始收敛速度,在远端房间的回声路径变化时显示了快速的跟踪速度,回声 压制量明显高于传统算法。
需要指出的是,本发明所提供的方法不仅适用于双通道回声抵消,它可以很容 易的扩展到三通道,四通道或任意多通道的回声抵消场合。如图12所示,图12为 本发明扩展到多扬声器多麦克风配置场合的立体声回声抵消结构框图。
应该指出的是,本发明所描述的回声抵消方案可以用多种方式实现,例如硬件、 软件或者是硬件和软件的组合。硬件平台如FPGA、PLD或其他专用集成电路ASIC。 软件平台包括DSP、ARM或其他微处理器。软件和硬件的组合例如部分模块用DSP 软件来实现,部分模块如FFT用硬件加速器来实现。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管 参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明 的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均 应涵盖在本发明的权利要求范围当中。
机译: 回声检测方法,回声检测系统,计算部分和回声存在检测设备,特别是用于检测实质性在职语音通信系统的回声
机译: 多声道回声消除方法,多声道语音传输方法,立体声回声消除器,立体声音频传输设备和传递函数计算设备
机译: 消除回声综合立体声的方法,尤其是通过将输入信号和估计误差信号之间的互相关归一化来消除回声,方法是将乘积与一个自相关矩阵相乘,并将其乘以一个自相关矩阵,并将估计误差信号功率相加自适应滤波器