欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 消除回声的方法及系统独创技术22637字

消除回声的方法及系统

2021-04-25 03:38:12

消除回声的方法及系统

  技术领域

  本说明书一个或多个实施例涉及电子技术领域,尤其涉及一种消除回声的方法及系统。

  背景技术

  移动终端等通信设备在进行通话过程中往往会受到回声干扰,其可包括麦克风接收的来自于扬声器的回声干扰等,这些回声干扰可能直接影响通话质量。

  对此,现有技术提出了回声消除方案,通信过程中将用于发送至扬声器的对端语音信号作为参考,进行本端语音信号的回声消除操作。

  发明内容

  本说明书一个或多个实施例描述了一种消除回声的方法及系统,可以有效改善回声消除的效果,进而可以大大提升通话质量。

  第一方面,提供了一种消除回声的系统,包括:

  扬声器,用于接收第一语音信号并播放;所述扬声器包括采集电路,用于对播放前的所述第一语音信号进行采集,得到第一采集信号;

  单一指向性麦克风,所述单一指向性麦克风指向所述扬声器方向,且不指向声源位置,用于采集所述扬声器针对所接收的第一语音信号所播放的语音,得到第二采集信号;所述声源位置是指用户讲话位置;

  终端设备;所述终端设备包括:

  通话麦克风,用于采集用户讲话声音,得到第二语音信号;

  第一滤波器组件,用于将所述第二采集信号作为回声参考信号,对所述第二语音信号中的回声成分进行第一滤波处理,得到第一滤波信号;所述第一滤波器组件中各滤波器的参数根据所述第一采集信号进行调整。

  第二方面,提供了一种消除回声的方法,包括:

  通过单一指向性麦克风,采集扬声器针对所接收的第一语音信号所播放的语音,得到第二采集信号;其中,所述单一指向性麦克风指向所述扬声器方向,且不指向声源位置;所述声源位置是指用户讲话位置;

  将所述第二采集信号作为回声参考信号,对通过通话麦克风采集的第二语音信号中的回声成分进行第一滤波处理,得到第一滤波信号;所述第一滤波处理的参数根据对播放前的所述第一语音信号进行采集而得到的第一采集信号进行调整。

  本说明书一个或多个实施例提供的消除回声的方法及系统,可以通过将单一指向性麦克风采集的第二采集信号作为回声参考信号,对第二语音信号中的回声成分进行第一滤波处理,得到第一滤波信号。由于上述第二采集信号更加接近第二语音信号中的回声成分。因此,利用该第二采集信号进行回声消除能够提高消除回声干扰的准确性,改善回声消除的效果,提高通话质量。此外,本申请中,滤波的参数可以根据对播放前的第一语音信号进行采集而得到的第一采集信号进行调整。由于,该第一采集信号为真实的原始数据,因此,在基于其调整滤波处理的参数时,可以提高参数更新的准确度。

  附图说明

  为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

  图1为本说明书提供的消除回声的系统示意图;

  图2为本说明书一个实施例提供的消除回声的方法流程图;

  图3为在一个例子中的消除回声的方法示意图。

  具体实施方式

  下面结合附图,对本说明书提供的方案进行描述。

  图1为本说明书提供的消除回声的系统示意图。图1中,该系统10可以包括扬声器102、单一指向性麦克风104和终端设备106。其中的扬声器102用于接收第一语音信号Q并播放。这里的第一语音信号即为通信对端的语音信号。该扬声器102可以包括采集电路,用于对播放前的第一语音信号Q进行采集,得到第一采集信号R。由此,可以大大减小所采集信号的时延波动。其中的单一指向性麦克风104也可以称为采集麦克风(或参考麦克风),其可以指向扬声器102方向,且不指向声源位置。这里的声源位置是指用户讲话声音位置。单一指向性麦克风104用于采集扬声器102针对所接收的第一语音信号Q所播放的语音,得到第二采集信号A。需要说明的是,通过将该单一指向性麦克风104不指向声源位置,可以避免用户讲话声音对单一指向性麦克104的影响,进而可以提升其所采集的信号的准确度。

  对于图1中的终端设备106,在软件层面,其可以部署有会议系统,用户通过该会议系统可以与对端进行通话。在硬件层面,图1中的终端设备可以包括通话麦克风202和第一滤波器组件204。其中的通话麦克风202用于采集用户讲话声音,得到第二语音信号B(也称本端语音信号),其例如可以为一个全指向性麦克风。其中的第一滤波器组件204,用于将第二采集信号A作为回声参考信号,对第二语音信号B中的回声成分进行第一滤波处理,得到第一滤波信号C。该第一滤波器组件204中各滤波器的参数根据上述第一采集信号R进行调整。比如,可以是在第一采集信号R中存在谐波时进行调整。

  在一个示例中,上述第一滤波器组件204可以包括卡尔曼(KALMAN)滤波器和归一化最小均方自适应(NLMS,Normalized Least Mean Square)滤波器。

  具体地,KALMAN滤波器可以接收第二采集信号A和第二语音信号B,并将第二采集信号A作为回声参考信号,对第二语音信号B中的回声成分进行第一滤波处理。所得到的输出即为经KALMAN滤波器消除回声后的中间语音信号。NLMS滤波器可以接收第二采集信号A和第二语音信号B,并将第二采集信号A作为回声参考信号,对第二语音信号B中的回声成分进行第一滤波处理。所得到的输出即为经NLMS滤波器消除回声后的中间语音信号。

  之后,可以通过终端设备106中的融合单元206,将KALMAN滤波器的输出与NLMS滤波器的输出进行融合,得到上述第一滤波信号C。这里的融合可以包括但不限于求平均、求加权平均或者取最大值等。

  可选地,终端设备106还可以包括第二滤波器组件208,用于将第一采集信号R作为回声参考信号,对第二语音信号B中的回声成分进行第二滤波处理,得到第二滤波信号D。需要说明的是,这里的第二滤波器组件208也可以包括两个滤波器,且该两个滤波器为并列关系。其中的每个滤波器的滤波处理与上述KALMAN滤波器或者NLMS滤波器的滤波处理相似,在此不复赘述。

  在得到上述第二滤波信号D之后,上述融合单元206,还用于将第一滤波信号C与第二滤波信号D进行融合,得到目标语音信号E。

  可选地,终端设备106还可以包括非线性处理单元210,该非线性处理单元210具体用于:

  计算第二采集信号A与第二语音信号B的能量差。至少根据计算的能量差,对终端设备106的单双讲状态进行判断。其中,这里的单双讲状态包括单讲状态和双讲状态,单讲状态是指只存在第一语音信号Q的状态,双讲状态是指第一语音信号Q和第二语音信号B同时存在的状态。基于单双讲状态的判断结果,确定目标语音信号中残留回声的消除强度。基于确定的消除强度,根据非线性处理算法,对目标语音信号进行非线性处理,得到最终的消除回声后的第二语音信号。

  上述残留回声是指针对通话麦克风202采集的初始的第二语音信号B,在执行上述第一滤波处理以及第二滤波处理后,第二语音信号B中剩余的回声。

  需要说明的是,在实际应用中,在计算得到第二采集信号A与第二语音信号B的能量差之后,还可以对其进行归一化处理,之后基于归一化处理结果,对终端设备106的单双讲状态进行判断。具体的归一化处理步骤后续说明。

  此外,上述基于单双讲状态的判断结果,确定目标语音信号中残留回声的消除强度的步骤具体可以为:如果单双讲状态的判断结果为单讲状态,则确定残留回声的消除强度为第一强度。如果单双讲状态的判断结果为双讲状态,则确定残留回声的消除强度为第二强度,其中,第一强度大于第二强度。换句话说,如果终端设备106为单讲状态,则对残留回声进行强抑制处理,由此,来实现最大程度地消除残留回声。而如果终端设备106为双讲状态,则对残留回声进行弱抑制处理,以便保护第二语音信号B。

  下面通过具体实施例对通过图1所示的系统10消除回声的方法进行说明。

  图2为本说明书一个实施例提供的消除回声的方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者设备,如,可以为图1中的终端设备106等。如图2所示,所述方法具体可以包括:

  步骤22,通过单一指向性麦克风104,采集扬声器102针对所接收的第一语音信号Q所播放的语音,得到第二采集信号A。

  需要说明的是,本说明书实施例通过单一指向性麦克风104采集的第二采集信号A包含了扬声器102的非线性失真,由此可以解决现有技术在进行回声消除时,无法估计扬声器102非线性失真的问题。

  步骤24,将第二采集信号A作为回声参考信号,对通过通话麦克风202采集的第二语音信号B中的回声成分进行第一滤波处理,得到第一滤波信号C。

  应理解,由于第二采集信号A包含了扬声器102的非线性失真,因此,这里的第一滤波处理所消除的是非线性回声成分,从而第一滤波信号C为消除非线性回声后的信号。

  需要说明的是,在本说明书中,第二采集信号A、第一采集信号R以及第二语音信号B的采集步骤可以同时执行。

  可选地,在执行上述滤波处理之前,可以先根据第一采集信号R,判断对端是否发声。比如,在第一采集信号R大于预定阈值时,可以判断对端已发声,否则判断对端未发声。其中,上述步骤24可以是指判断对端已发声时执行。

  在一个示例中,上述滤波处理的步骤可以由第一滤波器组件204执行。以第一滤波器组件204包括KALMAN滤波器和NLMS滤波器为例来说,可以将第二采集信号A作为回声参考信号输入KALMAN滤波器,还可以将第二语音信号B输入KALMAN滤波器。KALMAN滤波器在接收到该两个输入之后,可以根据第二采集信号A,对第二语音信号B中的回声成分进行第一滤波处理,得到经KALMAN滤波器消除回声后的中间语音信号。以及,可以将第二采集信号A作为回声参考信号输入NLMS滤波器,还可以将第二语音信号B输入NLMS滤波器。NLMS滤波器在接收到该两个输入之后,可以根据第二采集信号A,对第二语音信号B中的回声成分进行第一滤波处理,得到经NLMS滤波器消除回声后的中间语音信号。之后,可以将KALMAN滤波器的输出与NLMS滤波器的输出进行融合(即将两个中间语音信号进行融合),得到第一滤波信号C。这里的融合可以包括但不限于求平均、求加权平均或者取最大值等。

  需要说明的是,当通过两个滤波器来获得上述第一滤波信号C时,可以大大提升滤波器的收敛速度,进而可以避免漏回声,同时也可以减少第二语音信号的损伤。

  在一个示例中,在各滤波器对每帧信号处理之前,可以先根据第一采集信号R,判断该各滤波器是否满足参数调整条件。具体地,可以对第一采集信号R,进行谐波分析,以确定第一采集信号R中是否存在谐波,如果存在,则满足参数调整条件。在各滤波器满足参数调整条件的情况下,可以依据输入信号(包括第二采集信号A以及第二语音信号B),调整各滤波器的参数。

  总之,本说明书实施例中,可以根据第一采集信号R,对各滤波器的参数进行调整。此外,应理解,各滤波器参数的调整是伴随着上述滤波处理的步骤而重复执行的。

  最后需要说明的是,在得到上述第一滤波信号C之后,可以直接将该第一滤波信号C作为最终的输出。

  综上,在本说明书实施例中,由于通过单一指向性麦克风104采集到的第二采集信号A更加接近第二语音信号B中的回声成分。因此,利用该第二采集信号A进行回声消除能够提高消除回声干扰的准确性,改善回声消除的效果,提高通话质量。此外,由于第二采集信号A更加接近第二语音信号B中的回声成分,因此,利用该第二采集信号A进行回声消除时,可以提升回声的估计量,进而可以降低后续残留回声消除的压力,由此可以减少本端语音损伤。

  可选地,本说明书实施例还可以将第一采集信号R作为回声参考信号,对第二语音信号B中的回声成分进行第二滤波处理,得到第二滤波信号D。对第一滤波信号C和第二滤波信号D进行融合,得到目标语音信号E。

  应理解,由于第一采集信号R没有过多的时延波动,也没有产生畸变,为真实的原始数据。因此,这里的第二滤波处理所消除的是线性回声成分,从而第二滤波信号D为消除线性回声后的信号。

  上述第二滤波处理的步骤可以由第二滤波器组件208执行。该第二滤波器组件208与第一滤波器组件204类似,也可以包括两个滤波器,且该两个滤波器为并列关系。其中的每个滤波器的滤波处理与上述KALMAN滤波器或者NLMS滤波器的滤波处理相似,在此不复赘述。

  需要说明的是,由于上述第一采集信号R直接通过设置在扬声器中的采集电路采集得到,其没有过多的时延波动,也没有产生畸变,为真实的原始数据。从而在利用该第一采集信号R进行回声消除时,能够提高消除回声干扰的准确性。

  上述融合可以包括但不限于求平均、求加权平均或者取最大值等。即可以对第一滤波信号C与第二滤波信号D进行求加权平均、求平均或者求最大值运算,得到运算结果。将运算结果作为目标语音信号E。

  此外,上述对第一滤波信号C和第二滤波信号D进行融合的步骤可以由融合单元206执行。应理解,当还获取到目标语音信号E时,可以将该目标语音信号E作为最终的输出。

  本说明书实施例在分别利用第二采集信号A和第一采集信号R,对第二语音信号B进行回声消除时,一方面,可以提升线性回声的估计量,另一方面,也可以大大提升回声消除方法的灵活性。

  以下结合图3对目标语音信号E的获取过程进行说明。图3为在一个例子中的消除回声的方法示意图。图3中,可以将通过通话麦克风202采集的第二语音信号B,分别输入第一滤波器组件204中的KALMAN滤波器、NLMS滤波器以及第二滤波器组件208。可以将通过单一指向性麦克风104采集的第二采集信号A分别输入KALMAN滤波器和NLMS滤波器。可以将通过扬声器102中的采集电路采集的第一采集信号R输入第二滤波器组件208。之后,在对KALMAN滤波器和NLMS滤波器的输出进行融合之后,可以得到第一滤波信号C。而通过第二滤波器组件208的输出就可以得到第二滤波信号D。最后,在对第一滤波信号C和第二滤波信号D进行融合之后,可以得到目标语音信号E。

  应理解,虽然经过第一滤波处理和第二滤波处理后,能够消除一部分回声,但不管线性滤波器处理的多好,还是会有残留回声对对端的交谈者产生困扰。原因很多,如终端设备结构的非线性因素,使用环境的变换,各滤波器没有很好的收敛等。因此,还可以对第二语音信号中的残留回声进行消除。以下对该残留回声的消除步骤进行说明。

  该残留回声的消除步骤具体可以包括:计算第二采集信号A与第二语音信号B的能量差。至少根据计算的能量差,对终端设备106的单双讲状态进行判断。其中,单双讲状态包括单讲状态和双讲状态。单讲状态是指只存在第一语音信号Q的状态。双讲状态是指第一语音信号Q和第二语音信号B同时存在的状态。基于单双讲状态的判断结果,确定目标语音信号E中残留回声的消除强度。基于确定的消除强度,根据非线性处理算法,对目标语音信号E进行非线性处理,得到最终的消除回声后的第二语音信号。

  由此,可以解决现有的回声双讲剪切问题。这里的回声双讲剪切是指通话的两方同时说话,导致对方或者第三方明显感觉声音断续,听不清,更甚至压根无声。

  需要说明的是,在实际应用中,在计算得到第二采集信号A与第二语音信号B的能量差之后,还可以对其进行归一化处理,之后基于归一化处理结果,对终端设备106的单双讲状态进行判断。

  在一个示例中,上述归一化处理的公式可以如下:

   (公式1)

  其中,A为第二采集信号,B为第二语音信号,(A-B)为上述能量差,F为归一化处理结果。

  此外,上述基于单双讲状态的判断结果,确定目标语音信号E中残留回声的消除强度,具体可以包括:如果单双讲状态的判断结果为单讲状态,则确定残留回声的消除强度为第一强度。如果单双讲状态的判断结果为双讲状态,则确定残留回声的消除强度为第二强度。其中,第一强度大于第二强度。也就是说,在本说明书中,如果终端设备106为单讲状态,则对残留回声进行强抑制处理,由此,来实现最大程度地消除残留回声。而如果终端设备106为双讲状态,则对残留回声进行弱抑制处理,以便保护第二语音信号B。

  还需要说明的是,上述根据非线性处理算法对目标语音信号E进行非线性处理的总体思路是:估计残留回声,基于确定的消除强度,对估计的残留回声进行抑制处理。根据抑制处理后的残留回声,确定信噪比。根据信噪比,确定最终的算法增益。根据最终的算法增益以及目标语音信号E,确定最终的消除回声后的第二语音信号。

  由于根据非线性处理算法对信号进行非线性处理为传统常规技术,因此具体的非线性处理过程在此不复赘述。需要强调的是,通过单双讲状态的判断结果来指导残留回声的处理,可以保证单讲不漏回声的同时,来提升回声双讲效果。

  综合以上,本说明书实施例提供的消除回声的方法,可以有效改善回声消除的效果,进而可以大大提升通话质量。

  本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

  结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。

  本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

  上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

  以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

《消除回声的方法及系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)