首页> 中国专利> 确定声学回声消除中系统延时的方法及声学回声消除方法

确定声学回声消除中系统延时的方法及声学回声消除方法

摘要

本发明涉及一种确定声学回声消除中系统延时的方法及利用该方法进行声学回声消除方法,确定声学回声消除中系统延时的方法,包括如下步骤:分别将采集的原始信号和参考信号进行交叠分段、加窗和快速傅里叶变换转换为频域信号,得到原始频域信号和参考频域信号;找出所有分段的原始频域信号和参考频域信号中能量最高的n个峰值所对应的频率值,即共振峰特征值;然后,将参考频域信号共振峰频率序列依次向前移动分段时间t1的整数倍,分别对应比较两个共振峰特征值,相同点数最多对应的向前移动的延时即为声学回声消除中的系统延时。与现有技术相比,本发明在只需要非常小的运算量的情况下就能实现对动态的、超大的系统延时的确认,适应范围广,运算量小,效果稳定。

著录项

  • 公开/公告号CN103700374A

    专利类型发明专利

  • 公开/公告日2014-04-02

    原文格式PDF

  • 申请/专利权人 宁波菊风系统软件有限公司;

    申请/专利号CN201310728989.3

  • 发明设计人 钱晓炯;吕锐;刘谦;董泽;

    申请日2013-12-25

  • 分类号G10L21/0232(20130101);

  • 代理机构33102 宁波诚源专利事务所有限公司;

  • 代理人刘凤钦;邓青玲

  • 地址 315040 浙江省宁波市江东区沧海路上东国际大厦2号楼910室

  • 入库时间 2024-02-19 22:57:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-01

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G10L21/0232 变更前: 变更后: 申请日:20131225

    专利权人的姓名或者名称、地址的变更

  • 2016-08-17

    授权

    授权

  • 2014-04-30

    实质审查的生效 IPC(主分类):G10L21/0232 申请日:20131225

    实质审查的生效

  • 2014-04-02

    公开

    公开

说明书

技术领域

本发明涉及一种确定声学回声消除中系统延时的方法及利用该方法进行声学回声 消除方法。

背景技术

声学回声是指麦克风1’将扬声器2’的声音信号采集进去的声音,语音通讯和现 场会议中的声学回声是有害的,需要通过技术手段进行消除,我们将声学回声消除器 (Acoustic Echo Canceler)简记为AEC。现有的AEC能够在特定系统下实现很好的消除效 果,然而对于某些特定的设备其系统延时较大,或者系统延时存在动态变化的情况下, 许多现有的AEC就会失效。

如附图1所示,AEC的工作原理是将远端原始信号(Far-end speech)作为参考信 号,利用回声信号和参考信号的相关性,将近端输入信号和回声信号进行分离,目标是 只剩下尽可能纯净的近端输入信号。

因为语音信号是时变的,参考信号和麦克风采集的近端输入信号和回声信号在计算 过程前需要进行同步,而这两组信号存在相对延时,延时包括声音传播的延时、播放和 采集的延时、计算机处理调度的延时,我们将这些延时统称为系统延时,因此对声学回 声消除,需要首先确定系统延时。而对于不同的系统环境,其系统延时差异性非常大, 范围大概从10ms~800ms之间,而且有的系统延时会在这个范围内波动。判断回声消除 器的一个重要指标就是支持多大范围的系统延时,然后支持系统延时的范围太大会大大 增加实时系统的运算量,通常300ms以上的动态系统延时就是比较好的指标。

现有的AEC消除回声的方法包括,通过最小均方误差(LMS-least mean square error  algorithm)方法实现回声延时的自适应和消除,通过读取操作系统的缓冲区大小来估计系 统延时然后在频域使用增益减法进行消除,还有的仅仅是通过对一方信号的抑制实现半 双工的回声消除。LMS方法计算量比较大,不能适应系统延时过大的情况,且不适用 于具有非线性失真的声学回声;读取缓冲区大小来估计系统延时的方法对系统依赖性太 大,对于非实时的操作系统,延时估计非常不准确;半双工回声消除方法用户体验差, 只适用于在低端的设备上应用。

发明内容

本发明所要解决的首要技术问题是针对上述现有技术提供一种准确性高、运算量低 的确定声学回声消除中系统延时的方法。

本发明进一步所要解决的首要技术问题是针对上述现有技术提供一种声学回声消 除,该声学回声消除中确定声学回声消除中系统延时准确性高、运算量低,能较好的准 确的快速将声学回声进行有效消除。

本发明解决上述首要技术问题所采用的技术方案为:一种确定声学回声消除中系统 延时的方法,其特征在于:包括如下步骤

步骤一、分别将采集的原始信号和参考信号进行交叠分段、加窗和快速傅里叶变换 转换为频域信号,从而得到原始频域信号和参考频域信号,具体转换过程为:

1、分别对采集的原始信号和参考信号进行交叠分段处理,每一分段时间为t1,交 叠时间为t2,t2小于t1大于零,交叠分段处理的处理方式为常规技术,比如,t1为10ms, t2为5ms,第一分段的数据为0~10ms的数据,第二分段的数据为5ms~15ms的数据, 第三分段的数据为15m~25ms的数据,第四分段的数据为20ms~30ms的数据……,即 后一分段数据和前一分段的数据会有t2时间的交叠部分;

2、分别对交叠分段处理后的分段原始信号和分段参考信号分别进行加窗处理,去 除分段造成的谱泄露;对信号进行加窗处理也为常规技术,可以采用Hamming窗或其他 矩形窗,本方案中,采用Hamming窗效果较好;

3、分别对加窗处理后的分段原始信号和分段参考信号进行快速傅里叶变换转换, 快速傅里叶变换转换也是常规技术,得到由多个分段原始频域信号组成的一组原始频域 信号和多个分段参考频域信号组成的一组参考频域信号;

步骤二、找出所有分段的原始频域信号中能量最高的n个峰值所对应的频率值,n 为大于等于2的自然数,并将这些频率值按照分段的先后顺序依次记录下来形成一个原 始频域信号共振峰频率序列数组,记为fs;相同方法,找出所有分段的参考频域信号中 能量最高的至少两个峰值所对应的频率值,并将这些频率值按照分段的先后顺序依次记 录下来形成一个参考频域信号共振峰频率序列数组,记为fc

步骤三、以当前即时时间点为起始位置,提取fs中m个分段的记录数据,这m个 分段的记录数据为[fs11,fs12,fs13,fs21,fs22,,fs23,…fsm1,fsm2,fsm3];以当前即时时间点为基 准向前移动分段时间t1后的时间点为起始位置,提取fc中m个分段的记录数据,这m个 分段的记录数据为[fc11,fc12,…fc1n,fc21,fc22,…fc2n,…fcm1,fcm2,…fcmn];

对[fs11,fs12,…fs1n,fs21,fs22,…fs2n,…fsm1,fsm2,…fsmn]和

[fc11,fc12,…fc1n,fc21,fc22,…fc2n,…fcm1,fcm2,…fcmn]这两个集合的数据按对应位置 进行比较,记录相同数据的个数,得到match1

相同方法,以当前即时时间点为基准向前移动分段时间2t1后的时间点为起始位 置,提取fc中m个分段的记录数据,将这m个分段的记录数据与 [fs11,fs12,…fs1n,fs21,fs22,…fs2n,…fsm1,fsm2,…fsmn]的数据按对应位置进行比较,记录相 同数据的个数,得到match2

依次类推,以T为一个时间单元,T为t1的整数倍,分别以当前即时时间点为基 准向前移动分段时间3t1、4t1……和T后的时间点为起始位置,提取fc中m个分段的记 录数据,将这m个分段的记录数据分别与 [fs11,fs12,…fs1n,fs21,fs22,…fs2n,…fsm1,fsm2,…fsmn]的数据按对应位置进行比较,分别记 录相同数据的个数,得到match3、match4……matchT/t1

步骤四、取match1、match2、match3、match4……matchT/t1中的最大值,该最大值 所对应的fc向前移动的时间即为声学回声消除中的系统延时;

通过实验证明,即使原始信号中含有大量噪音和双端通话语音,通过上述方法确定 的系统延时的准确性也能达到97%以上。

为了提高精度,我们需要实时的,不断计算系统延时,作为改进,重复步骤三、四 至少两次,如果每次得出的系统延时时间相同,则将这个系统延时确定为声学回声消除 中的系统延时,通过这个方法确认的系统延时能达到99.9973%可靠性。

当声学回声路径中存在时钟漂移问题时,即参考信号的时钟和原始信号的时钟存 在误差,会导致系统延时的线性增加或减少,作为改进,本发明还还包括步骤六:检测 原始信号和参考信号之间是否存在时钟漂移,如果原始信号和参考信号之间存在时钟漂 移,检测出一个时间段Tx内,如果原始信号和参考信号这两个数据的分段差绝对值大于 一个预定的阈值a,则将系统延时进行补偿:

时间段Tx内,原始信号具有的分段数据个数为x个,参考信号具有的分段数据个数 为y个,如果x-y>a,则将系统延时时间减at1作为声学回声消除中的系统延时;如 果x-y<-a,则将系统延时时间加at1作为声学回声消除中的系统延时。

本发明还提供了一种声学回声消除方法,采用上述描述的方法确定系统延时后,利 用该系统延时,将参考频域信号进行滤波,然后通过增益减法消除原始频域信号中的回 声信号,最后对消除回声信号后的近端输入频域信号进行非线性处理,得到消除回声后 的近端输入信号。

与现有技术相比,本发明的优点在于:本发明利用语音信号主要特征分量“共振峰” 的相关性,在只需要非常小的运算量的情况下实现对动态的、超大的系统延时的确认, 适应范围广,运算量小,效果稳定。

附图说明

图1为本发明实施例中确定声学回声消除中系统延时方法的流程图。

图2为本发明实施例中声学回声消除方法的流程图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

本发明首先确定声学回声消除中系统延时的方法,其包括如下步骤:

步骤一、分别将采集的原始信号和参考信号进行交叠分段、加窗和快速傅里叶变换 转换为频域信号,从而得到原始频域信号和参考频域信号,将采集的原始信号记为s(n), 采集的参考信号记为c(n),原始频域信号记为S(w),参考频域信号记为C(w),其中w代 表不同频率,S(w)为频率为w时原始频域信号的能量和相位,C(w)为频率为w时参考 频域信号的能量和相位,S(w)和C(w)均为复数,具体转换过程为:

1、分别对采集的原始信号和参考信号进行交叠分段处理,每一分段时间为t1,交 叠时间为t2,t2小于t1大于零,交叠分段处理的处理方式为常规技术;分段的大小影响 时间分辨率和频域分辨率,分段越小时间分辨率越高,但频域分辨率越低,无论声音信 号的采样率是多大(一般的为8Khz~48KHz),我们选取t1为10ms~20ms中的任意一 个数值作为一个分段的大小,因为人声的基频一般是100Hz~400Hz,10ms刚好可以表 达一个最低的基频周期,因此不宜再小;而自然声音是时变的,我们只能假设在短时间 内按时不变的方法进行频域分析,因此最大不要超过20ms,即可保证两种分辨率的平 衡,以下假定每段时间长度为t1为10ms,按照常规的做法,我们对每个分段至少保证 50%的交叠,本实施例,将t2定为5ms,即每次向前移动5ms,那么,第一分段的数据 为0~10ms的数据,第二分段的数据为5ms~15ms的数据,第三分段的数据为15m~25ms 的数据,第四分段的数据为20ms~30ms的数据……,即后一分段数据和前一分段的数 据会有t2时间的交叠部分;

2、分别对交叠分段处理后的分段原始信号和分段参考信号分别进行加窗处理,去 除分段造成的谱泄露;对信号进行加窗处理也为常规技术,可以采用Hamming窗或其他 矩形窗,本方案中,采用Hamming窗效果较好;

3、分别对加窗处理后的分段原始信号和分段参考信号进行快速傅里叶变换转换, 快速傅里叶变换转换也是常规技术,得到由多个分段原始频域信号组成的一组原始频域 信号和多个分段参考频域信号组成的一组参考频域信号;

步骤二、找出所有分段的原始频域信号中能量最高的n个峰值所对应的频率值,n为 大于等于2的自然数,并将这些频率值按照分段的先后顺序依次记录下来形成一个原始 频域信号共振峰频率序列数组,记为fs;相同方法,找出所有分段的参考频域信号中能 量最高的至少两个峰值所对应的频率值,并将这些频率值按照分段的先后顺序依次记录 下来形成一个参考频域信号共振峰频率序列数组,记为fc

步骤三、以当前即时时间点为起始位置,提取fs中m个分段的记录数据,这m个 分段的记录数据为[fs11,fs12,…fs1n,fs21,fs22,…fs2n,…fsm1,fsm2,…fsmn];以当前即时时间 点为基准向前移动分段时间t1后的时间点为起始位置,提取fc中m个分段的记录数据, 这m个分段的记录数据为[fc11,fc12,…fc1n,fc21,fc22,…fc2n,…fcm1,fcm2,…fcmn];

对[fs11,fs12,…fs1n,fs21,fs22,…fs2n,…fsm1,fsm2,…fsmn]和

[fc11,fc12,…fc1n,fc21,fc22,…fc2n,…fcm1,fcm2,…fcmn]这两个集合的数据按对应位置 进行比较,记录相同数据的个数,得到match1

相同方法,以当前即时时间点为基准向前移动分段时间2t1后的时间点为起始位 置,提取fc中m个分段的记录数据,将这m个分段的记录数据与 [fs11,fs12,…fs1n,fs21,fs22,…fs2n,…fsm1,fsm2,…fsmn]的数据按对应位置进行比较,记录相 同数据的个数,得到match2

依次类推,以T为一个时间单元,T为t1的整数倍,分别以当前即时时间点为基 准向前移动分段时间3t1、4t1……和T后的时间点为起始位置,提取fc中m个分段的记 录数据,将这m个分段的记录数据分别与 [fs11,fs12,…fs1n,fs21,fs22,…fs2n,…fsm1,fsm2,…fsmn]的数据按对应位置进行比较,分别记 录相同数据的个数,得到match3、match4……matchT/t1

举例说明:如果n取值为3,m取值为59,t1为10ms,以当前即时时间点为起 始位置,提取fs中59个分段的记录数据,即如果每一个分段时间为10ms,t2定为5ms, 则刚好提取300ms数据,则这59个分段的数据就有59*3=177个频率数值;而对于fc而言,以当前即时时间点为基准向前移动10ms后的时间点为起始位置,同样fc中59 个分段的记录数据,这59个分段的数据就有59*3=177个频率数值,然后将这两组177 个频率数值按对应位置进行比较,即记录相同数据的个数,得到match1,具体比较过程 为:将fs中的第一个频率数值,分别与fc中的177个频率数值进行比较,如果fc中包 含有与fs中的第一个数相同的数,则相同数据个数为1;然后将fs中的第二个频率数值, 再依次与fc中的177个频率数值进行比较,如果fc中包含有与fs中的第二个数相同的 数,则相同数据个数为2;依次类推,依次将fc中的177个频率数值,分别与fs中的 177个频率数值进行比较,如果有相同数据,则将结果加1,最后得到match1

相同方法,以当前即时时间点为基准向前移动分段时间20ms后的时间点为起始 位置,提取fc中59个分段的记录数据,将这59个分段的记录数据与与fc中的177个 频率数值进行比较,记录相同数据的个数,得到match2

依次类推,以T为一个时间单元,这里,T为800ms,分别以当前即时时间点为 基准向前移动分段时间30ms、40ms……和800ms后的时间点为起始位置,提取fc中59 个分段177个频率数值与与fs中的177个频率数值进行比较,分别记录相同数据的个数, 得到match3、match4……match80

步骤四、取match1、match2、match3、match4……matchT/t1中的最大值,该最大值 所对应的fc向前移动的时间即为声学回声消除中的系统延时。

通过实验证明,即使原始信号中含有大量噪音和双端通话语音,通过上述方法确定 的系统延时的准确性也能达到97%以上。

为了提高精度,并且实时的,不断计算系统延时,可以采取连续多次采用上述方法 计算系统延时,如连续3次采用上述方法确认的系统延时值都相同时,认为找到了回声 的系统延时。通过这个方法,查找系统延时能达到99.9973%可靠性。

另外,考虑到声学回声路径中的时钟漂移问题,即参考信号的时钟和原始信号的 时钟存在误差,会导致系统延时的线性增加或减少。本发明还可以继续包括步骤六:检 测原始信号和参考信号之间是否存在时钟漂移,如果原始信号和参考信号之间存在时钟 漂移,检测出一个时间段Tx内,如果原始信号和参考信号这两个数据的分段差绝对值大 于一个预定的阈值a,则将系统延时进行补偿:

时间段Tx内,原始信号具有的分段数据个数为x个,参考信号具有的分段数据个数 为y个,如果x-y>a,则将系统延时时间减at1作为声学回声消除中的系统延时;如 果x-y<-a,则将系统延时时间加at1作为声学回声消除中的系统延时。,这样做,能 避免在参考信号为静音时,无法通过比较共振峰的方法检测延时而产生回声消除失效的 问题。

在找到原始信号和参考信号的系统延时之后,即可进行声学回声消除,先将参考信 号进行滤波,使其产生模拟“回声”,然后通过增益减法即可消除大部分回声信号,最 后进行非线性处理,比较彻底的消除残留回声。这里的将参考信号进行滤波为常规技术, 通过增益减法消除回声信号也是属于常规技术,最后进行的非线性处理也是常规技术。 在完成对原始信号和参考信号的系统延时之后,进行回声消除的常规方法有很多,本实 施例进行回声消除的方法采用2011年2月出版的Proceedings of the  IEEE(Volume:99,Issue:2)(中文翻译为《IEEE论文集》)中288-327页中一 篇名称为《Fifty Years of Acoustic Feedback Control:State of the Art and Future  Challenges》中引述的Gain Reduction Methods(增益减法)对回声进行消除以及后续 的(nonlinear process)非线性处理。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号