掌桥专利:专业的专利平台
掌桥专利
首页

语音通话的回声处理方法、装置、设备及存储介质

文献发布时间:2023-06-19 09:32:16


语音通话的回声处理方法、装置、设备及存储介质

技术领域

本公开的实施例涉及语音处理技术领域,尤其涉及一种语音通话的回声处理方法、装置、设备及存储介质。

背景技术

在语音通话场景中,尤其是基于车载蓝牙的语音通话场景,通话往往受到回声影响,导致通话质量得不到保证。

为提高通话质量,可对语音进行回声消除。对语音进行回声消除的主要方式包括:通过滤波器对语音进行线性处理。由于线性处理后的语音还可能存在残余回声,可再对线性处理后的语音进行非线性处理。

在上述方式中,非线性处理的过程过于依赖线性处理过程对回声的消除效果,若线性处理过程的回声消除效果不明显或者未起作用,则非线性处理的回声消除效果也会明显下降,导致回声消除效果不佳。

发明内容

本公开的实施例提供一种语音通话的回声处理方法、装置、设备及存储介质,用以解决语音通话中回声消除效果不佳的问题。

第一方面,本公开的实施例提供一种语音通话的回声处理方法,包括:

采集第一语音信号和接收第二语音信号,所述第一语音信号为在语音通话的近端采集到的语音信号,所述第二语音信号为在所述语音通话的远端采集到的语音信号;

根据所述第二语音信号,对所述第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号;

根据所述第一语音信号和所述估计回声信号,对所述第一残余回声信号进行非线性处理,得到第二残余回声信号;

对所述第二残余回声信号进行非线性处理,得到最终的语音信号。

第二方面,本公开的实施例提供一种语音通话的回声处理装置,包括:

获取模块,用于获取第一语音信号和第二语音信号,所述第一语音信号为在语音通话的近端采集到的语音信号,所述第二语音信号为在所述语音通话的远端采集到的语音信号;

线性处理模块,用于根据所述第二语音信号,对所述第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号;

第一非线性处理模块,用于根据所述第一语音信号和所述估计回声信号,对所述第一残余回声信号进行非线性处理,得到第二残余回声信号;

第二非线性处理模块,用于对所述第二残余回声信号进行非线性处理,得到最终的语音信号。

第三方面,本公开的实施例提供一种终端设备,包括:

存储器和处理器;

所述存储器用于存储程序指令;

所述处理器用于调用所述存储器中的程序指令执行如上述第一方面所述的方法。

第四方面,本公开的实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时,实现如上述第一方面所述的方法。

第五方面,本公开的实施例提供一种包含指程序指令的程序产品,所述程序产品包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。

本公开的实施例提供的语音通话的回声处理方法、装置、设备及存储介质,采集第一语音信号和接收第二语音信号,根据第二语音信号,对第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号,根据第一语音信号和估计回声信号,对第一残余回声信号进行非线性处理,得到第二残余回声信号,对第二残余回声信号进行非线性处理,得到最终的语音信号。因此,在对第一语音信号进行线性处理后,对残余回声信号逐级进行非线性处理,降低非线性处理过程对线性处理过程的回声消除效果的依赖程度,避免非线性处理的回声消除效果降低,提高回声消除效果。

本公开的各种可行实施例及其技术优势将在下文详述。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本公开的实施例适用的应用场景示例图;

图2为本公开的一实施例提供的语音通话的回声处理方法的流程示意图;

图3为本公开的另一实施例提供的语音通话的回声处理方法的流程示意图;

图4为本公开的另一实施例提供的语音通话的回声处理方法的流程示意图;

图5为本公开的一实施例提供的语音通话的回声处理装置的结构示意图;

图6为本公开的一实施例提供的一种终端设备的结构示意图;

图7为本公开的一实施例提供的终端设备的框图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

首先对本公开的实施例所涉及的名词进行解释:

回声消除:在本公开中是指声学回声消除(Acoustic Echo Cancellation,AEC)。在语音通话中,声学回声是指近端的终端设备在播放远端用户的语音信号时,播放出来的语音经过空气或其它的传播媒介,又被近端终端设备的麦克风采集并传输至远端的终端设备的听筒而形成的回声。其中,近端又被称为本端或者受话端,远端又被称为对端。

单远端通话状态:是指语音通话中只有远端发声的状态,也即只有远端用户说话的状态,单远端通话状态又被称为静音态。

单近端通话状态:是指语音通话中只有近端发声的状态,也即只有近端用户说话的状态,单近端通话状态又被称为发声态。

双端通话状态:是指语音通话中近端和远端同时发声的状态,也即近端用户和远端用户同时说话的状态,双端通话状态又被称为活跃态。

语音信号的子带:又称为子频带,是指将原始的语音信号从时间域转换至频率域,按照频率将转换至频率域的语音信号分割为若干个子频带。

在语音通话中,远端用户说话时,近端的终端设备接收远端的终端设备发送的远端语音信号,并通过喇叭播放远端语音信号,近端用户说话时,近端的终端设备将采集的近端语音信号发送给远端的终端设备,近端语音信号包括远端语音信号的回声和近端用户的说话声。因此,远端用户在收听近端语音信号时,会同时听到远端语音信号的回声,影响到近端语音信号的清晰度,进而影响通话质量。其中,近端的终端设备和远端的终端设备可以为手机、智能手表、车载通信设备等具备语音通话功能的终端设备。

以近端的终端设备为车载通信设备为例,图1示出了本公开的实施例适用的应用场景示例图。如图1所示,在该应用场景中包括车辆101、位于车辆101上的车载通信设备102以及近端的终端设备103,车载通信设备102与近端的终端设备103建立无线连接,比如蓝牙连接。其中,近端的终端设备103比如为手机、智能手表、平板电脑。

在语音通话中,近端的终端设备103接收远端的终端设备发送的远端语音信号,将该远端语音信号转发至车载通信设备102,车载通信设备102播放远端语音信号,例如通过车辆101上的喇叭播放远端语音信号。车载通信设备102还可以采集车辆101上用户的说话声,例如通过车辆101上的麦克风进行采集,还可能采集到经空气直接传播至麦克风附近的远端语音信号、或者经过一次或多次反射后经空气传播至麦克风附近的远端语音信号。车载通信设备102将这些采集的语音信号作为近端语音信号发送至近端的终端设备103,由近端的终端设备103发送至远端的终端设备。远端用户在收听近端语音信号时,会听到自己说话的回声,影响到通话质量。

因此,需要对近端语音信号进行回声消除。尤其地,在车载通信场景中,语音通话的回声明显且车内噪音较大,如果语音通话的回声消除不干净,加上噪声的影响,通话质量的下降将更加明显。

在回声消除过程中,声学回声包括直接回声和间接回声。直接回声又被称为线性回声,是指近端的终端设备的扬声器播放远端语音信号时,近端的终端设备直接采集到的声音,间接回声又被称为非线性回声,是指近端的终端设备的扬声器播放远端语音信号时,播放的远端语音信号经过一次或多次反射后被近端的终端设备的扬声器采集到的声音。因此,通常需要先对近端的终端设备的扬声器采集到的语音信号进行线性处理,以消除近端语音信号中的线性回声,再对线性处理后的语音信号进行非线性处理,以现除近端语音信号中的非线性回声。

然而,非线性处理过程的回声消除效果过于依赖线性处理过程的回声消除效果,在线性处理过程的回声消除效果不明显或者未起到回声消除效果时,非线性处理过程的回声消除效果会明显效降。

本公开的实施例提供的一种语音通话的回声处理方法,采集第一语音信号和接收第二语音信号,根据第二语音信号,对第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号,根据第一语音信号和估计回声信号,对第一残余回声信号进行非线性处理,得到第二残余回声信号,对第二残余回声信号进行非线性处理,得到最终从语音信号。因此,通过对线性处理后的第一语音信号进行逐级的非线性处理,降低非线性处理的回声消除效果对线性处理的回声消除效果的依赖,提高非线性处理的回声消除效果,进而提高语音通话的通话质量。其中,第一语音信号为在语音通话的近端采集到的语音信号,可以理解为上述应用场景描述中提到的近端语音信号加上远端语音信号的声学回声,第二语音信号为在语音通话的远端采集到的语音信号,可以理解为上述应用场景描述中提到的远端语音信号。

下面以具体地实施例对本公开的实施例的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例的实施例进行描述。

图2为本公开的实施例提供的语音通话的回声处理方法的流程示意图。如图2所示,该方法包括:

S201、采集第一语音信号和接收第二语音信号。

其中,第一语音信号为在语音通话的近端采集到的语音信号,又可被称为采集信号,第二语音信号为在语音通话的远端采集到的信号,又可被称为参考信号。第一语音信号中包括第二语音信号的回声。

具体的,语音通话过程包括:(一)、采集第一语音信号,将第一语音信号发送给远端的终端设备,便于远端的用户收听到近端的用户说话的声音;(二)、接收第二语音信号,并通过喇叭播放第二语音信号,便于近端的用户收听到远端的用户说话的语音。在(一)和(二)都执行的情况下,语音通话的通话状态是双端通话状态,即远端的用户和近端的用户都在说话,在只执行(一)的情况下,语音通话的通话状态为单近端通话状态,即只有近端的用户在说话,在只执行(二)的情况下,语音通话状态为单远端通话状态,即只有远端的用户在说话。播放出来的第二语音信号经过空气或其它传输媒介传播后会被近端的终端设备的麦克风采集,得到第二语音信号的回声,第二语音信号的回声被回传至远端的终端设备。因此,在双端通话状态和单远端通话状态下,需要对第一语音信号中第二语音信号的回声进行消除。在单近端通话状态,可以对第一语音信号中第二语音信号的回声进行消除,也可以不进行消除。其中,在远端的用户未说话,也即单近端通话状态的情况下,采集到的第二语音信号为零。

S202、根据第二语音信号,对第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号。

其中,第一残余回声信号是经过了线性处理的第一语音信号。估计回声信号是指线性处理估计第一语音信号中含有的回声信号。

具体的,在对第一语音信号进行线性处理的过程中,以第二语音信号和第一语音信号中的回声的相关性为基础,建立第一语音信号中第二语音信号的回声的语音模型,通过该语音模型对第二语音信号的回声进行估计,得到估计回声信号并保存,通过在第一语音信号中裁剪估计回声信号,得到残余回声信号。其中,语音模型为预先建立的回声路径模拟函数,用于逼近第二语音信号的回声路径,在此对语音模型不做限制。

作为示例的,语音模型可以表示为fe=f(fs),fs表示第二语音信号,fe为估计回声信号,f()为回声路径模拟函数。

S203、根据第一语音信号和估计回声信号,对第一残余回声信号进行非线性处理,得到第二残余回声信号。

具体的,在线性处理后,根据第一回声信号和估计回声信号,确定用于非线性处理的滤波器的滤波系数,在基于确定的滤波系数,通过用于非线性处理的滤波器对第一残余回声信号进行非线性处理,得到第二残余回声信号,从而实现对第一语音信号的第二轮回声消除。

S204、对第二残余回声信号进行非线性处理,得到最终的语音信号。

具体的,在对第一残余回声信号进行非线性处理,得到第二残余回声信号后,通过用于非线性处理的滤波器,对第二残余回声信号进行非线性处理,得到最终的语音信号,从而实现对第一语音信号的第三轮回声消除和第二轮非线性回声处理,通过对第一残余回声信号进行逐级的非线性处理,降低非线性处理的回声消除效果对线性处理的回声消除效果的依赖程度。

在得到最终的语音信号后,可将最终的语音信号发送至远端的终端设备。

本公开实施例中,对第一语音信号进行线性处理,得到第一残余回声信号,对第一残余回声信号进行非线性处理,得到第二残余回声信号,对第二残余回声信号进行非线性处理,得到最终的语音信号,从而通过对第一语音信号进行线性处理和逐级的非线性处理,降低非线性处理的回声消除效果对线性处理的回声消除效果的依赖程度,提高回声消除效果,进而提高语音通话的通话质量。

基于图2所示的实施例,S202的一种可能的实现方式为:根据第二语音信号,通过第一预设滤波算法,对第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号。其中,第一预设滤波算法为算法滤波器,用于调整语音模型,使得语音模型越来越逼近第二语音信号的回声路径,以提高线性处理的回声消除效果。

可选的,第一预设滤波算法为归一化最小均方误差(Normalized Least MeanSquares,NLMS)滤波算法,以通过归一化最小均方误差算法提高线性处理的回声消除效果。

基于图2所示的实施例,S203的一种可能的实现方式为:根据第一语音信号和估计回声信号,通过第二预设滤波算法,对第一残余回声信号进行非线性处理,得到第二残余回声信号。S204的一种可能的实现方式为:通过第二预设滤波算法,对第二残余回声信号进行非线性处理,得到最终的语音信号,提高非线性处理的回声消除效果。其中,第二预设滤波算法是用于语音信号的非线性处理的算法滤波器。

可选的,第二预设滤波算法为维纳滤波(wiener filtering)算法,通过维纳滤波算法对第一残余回声信号进行逐级的非线性处理,提高非线性处理的回声消除效果。其中,维纳滤波算法的性能依赖于线性处理的回声消除效果,如果线性处理的回声消除效果不明显,则维纳滤波算法的性能会出现明显下降,因此通过维纳滤波算法对第一残余回声信号进行非线性处理,得到第二残余回声信号,再通过维纳滤波算法对第二残余回声信号进行非线性处理,实现逐级的非线性处理,降低维纳滤波算法的性能对线性处理的依赖程度。

图3为本公开的另一实施例提供的语音通话的回声处理方法的流程示意图。如图3所示,该方法包括:

S301、采集第一语音信号和接收第二语音信号。

S302、根据第二语音信号,通过第一预设滤波算法,对第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号。

S303、根据第一语音信号和估计回声信号,通过第二预设滤波算法,对第一残余回声信号进行非线性处理,得到第二残余回声信号。

具体的,S301~S302可参照图2所示实施例中的相应内容,不再赘述。

S304、更新第二预设滤波算法,并根据更新后的第二预设滤波算法,对第二残余回声信号进行非线性处理,得到最终的语音信号。

具体的,可通过更新第二预设滤波算法的滤波系数,来更新第二预设滤波算法。通过更新后的第二预设滤波算法,对第二残余回声信号进行非线性处理,得到最终的语音信号。因此,采用更新的第二预设滤波算法对第二残余回声信号进行处理,避免了采用滤波系数固定的第二预设滤波算法导致最终的语音信号出现不平滑的线性、甚至伴随卡音,也即通过对第二滤波算法的更新,能够平衡非线性处理引起的语音信号不平滑的现象。

本公开实施例中,不仅通过对第一残余回声信号进行逐级的非线性处理,降低了非线性处理的回声消除效果对线性处理的回声消除效果的依赖,而且在采用第二预设滤波算法对第一残余回声信号进行非线性处理后,采用更新的第二预设滤波算法对第二残余回声信号进行处理,平衡非线性处理引起的语音信号不平滑的现象,从而有效地提高了语音通话的通话质量。

图4为本公开的实施例提供的语音通话的回声处理方法的流程示意图。如图4所示,该方法包括:

S401、采集第一语音信号和接收第二语音信号。

S402、根据第二语音信号,对第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号。

S403、根据第一语音信号和估计回声信号,对第一残余回声信号进行非线性处理,得到第二残余回声信号。

具体的,S401~S403可参照图2所示实施例的相应内容,不再赘述。

S404、对第二语音信号进行检测,获得检测结果。

其中,检测结果为远端的用户在说话或者远端的用户未说话。

具体的,对第二语音信号进行检测,以确定远端的用户是否在说话,得到检测结果。

S405、根据检测结果,确定语音通话的通话状态。

具体的,如果远端的用户在讲话,则确定语音通话状态可能为单远端通话状态或者双端通话状态,如果远端的用户未讲话,则确定语音通话状态可能为单近端通话状态。

S406、如果确定语音通话的通话状态为单远端通话状态或者双端通话状态,则对第二残余回声信号进行非线性处理,得到最终的语音信号。

具体的,在语音通话场景中,相较于单远端通话状态和单近端通话状态,双端通话状态的出现时间相对较少,相较于单近端通话状态,单远端通话状态和双端通话状态下回声对通话质量的影响较大。为了尽量消除语音信号中的回声,并最大程度地保留单近端通话状态下的语音质量,在语音通话的通话状态为单远端通话状态或者双端通话状态的情况下,才对第二残余回声信号进行非线性处理。在语音通话的通话状态为单近端通话状态的情况下,直接将第二残余回声信号确定为最终的语音信号。

具体的,对第二残余回声信号进行非线性处理的过程,可参照图2或图3所示的实施例中的相应内容,不再赘述。

本公开实施例中,在语音通话的通话状态为单远端通话状态或者双端通话状态的情况下,对第一语音信号进行线性处理和逐级的非线性处理,以尽可能的消除第一语音信号中的回声,提高回声消除效果,在语音通话的通话状态为单近端通话状态的情况下,对第一语音信号进行线性处理和非线性处理,而非逐级的非线性处理,以确保单近端通话状态下的语音质量。

基于图4所示实施例,S404的一种可能的实现方式为:通过预设的语音活动检测(Voice Activity Detection,VAD)算法,对第二语音信号进行检测,获得检测结果,以提高检测准确度。

可选的,检测结果可包括第二语音信号的连续语音帧数。S404的一种可能的实现方式为:通过VAD算法对第二语音信号进行检测,得到第二语音信号的连续语音帧数。S405的一种可能的实现方式为:如果第二语音信号的连续语音帧数小于等于预设的帧数阈值,则认为远端的用户未说话,确定语音通话的通话状态为单近端通话状态,否则认为远端的用户在说话,确定语音通话的通话状态为单远端通话状态或者双端通话状态,因此,通过对第二语音信号的连续语音帧数进行检测,来确定语音通话的通话状态,有效提高了语音通话的通话状态的准确度。

基于图2-图4所示的任一实施例,在根据第一语音信号和估计回声信号,通过第二预设滤波算法,对第一残余回声信号进行非线性处理,得到第二残余回声信号的过程中,一种可能的实现方式为:根据第一语音信号、第一残余回声信号以及估计回声信号,确定第二预设滤波算法的滤波系数,通过了确定了滤波系数的第二预设滤波算法,对第一残余回声信号进行非线性处理,得到第二残余回声信号。因此,基于第一语音信号、第一残余回声信号以及估计回声信号确定第二预设滤波算法的滤波系数,提高了第二预设滤波算法的滤波系数的合理性,进而提高第二预设滤波算法的回声消除效果。

在根据第一语音信号、第一残余回声信号以及估计回声信号,确定第二预设滤波算法的滤波系数的过程中,一种可能的实现方式为:先确定第二预设滤波算法的滤波加权系数,例如可通过实际经验来设置滤波加权系数的值。再根据滤波加权系数、第一语音信号与第一残余回声信号的互功率谱密度、以及估计回声的自功率谱密度,确定滤波系数,以提高滤波系数的合理性和第二预设滤波算法的回声消除效果。

进一步的,滤波系数的计算公式可表示为:

进一步的,在确定第二预设滤波系数的滤波加权系数时,可根据第一语音信号的能力和第一残余回声信号的能量,确定滤波加权系数,以提高滤波加权系数的合理性。例如,可根据第一语音信号的能力和第一残余回声信号的能量的比值,在滤波加权系数的预设取值范围(比如2-8)内,确定滤波加权系数的取值。其中,滤波加权系数的预设取值范围可根据实际经验设置。

基于图3-图4所示的任一实施例,在更新第二预设滤波算法的过程中,一种可能的实现方式为:根据预设的多个分级阈值,确定第二残余回声信号所对应的滤波加权系数;根据第二残余回声信号所对应的滤波加权系数,更新第二预设滤波算法的滤波加权系数;根据更新后的滤波加权系数,更新第二预设滤波算法的滤波系数,得到更新的第二预设滤波算法。因此,通过设置多个分级阈值,来为不同能量的第二残余回声信号确定不同的滤波加权系数,能够灵活地调整滤波加权系数,进而灵活地调整第二预设滤波算法的滤波系数。单远端通话状态和双远端通话状态中第二残余回声信号的能量明显不同,因此随着分级阈值的细化,既能够对单远端通话状态下回声处理的力度和双远端通话状态下回声处理的力度进行区别,又避免在单远端通话状态和双端通话状态下采用绝对的回声区别处理方式,使得滤波加权系数能够保持在合理范围内,同时又能避免漏掉回声,提高了回声消除效果。

具体的,根据预设的多个分级阈值,确定第二残余回声信号所对应的滤波加权系数,可将第二残余回声的能量与多个分级阈值进行比较,来确定第二残余回声信号对应的滤波加权系数。例如,第二残余回声的能量大于分级阈值B且小于分级阈值C,则与阈值区间[分级阈值C,分级阈值B]对应的滤波加权系数为第二残余回声信号所对应的滤波加权系数。

进一步的,可在第二残余回声信号中,获取包含语音特征的残余回声信号的能量,根据该能量与多个分级阈值,确定第二残余回声信号所对应的滤波加权系数,提高滤波加权系数的合理性,进而提高非线性处理过程的回声消除效果。其中,可通过在第二残余回声信号中,识别具有人说话声音表征(例如人说话的频率表征)的残余回声信号,得到包含语音特征的残余回声信号,进而包含语音特征的残余回声信号的能量。

可选的,在第二残余回声信号包括多个第二残余回声信号子带的情况下,可在多个第二残余回声信号子带中,识别包含语音特征的第二残余回声信号子带,统计得到所有包含语音特征的第二残余回声信号子带的能量。

进一步的,包含语音特征的残余回声信号的能量越大,滤波加权系数越小。根据上述滤波系数的计算公式可知,滤波加权系数越小则第二预设滤波算法的滤波系数越大,因此在双端通话状态下能够通过较大的滤波系数,避免在非线性处理过程中漏掉回声,提高回声消除效果。

基于图2-图4所示的任一实施例,S202、S302或者S402的一种可能的实现方式为:对第一语音信号和第二语音信号分别进行子带分解,得到第一语音信号子带和第二语音信号子带;根据第二语音信号子带,对第一语音信号子带进行线性处理,得到第一残余回声信号子带和估计回声信号子带。S203、S303或者S403的一种可能的实现方式为:根据第一语音信号子带和估计回声信号子带,对第一残余回声信号子带进行非线性处理,得到第二残余回声信号子带。S204、S304或者S406的一种可能的实现方式为:对第二残余回声信号子带,进行非线性处理,对非线性处理后的第二残余回声信号子带进行子带合成,得到最终的语音信号。因此,利用子带带宽小、且每个子带可以独立操作的特性,通过对第一语音信号子带进行线性处理和逐级的非线性处理,实现对第一语音信号的线性处理和逐级的非线性处理,并提高语音通话的回声消除效果。其中,多个第一残余回声信号子带构成第一残余回声,多个估计回声信号子带构成估计回声信号,多个第二残余回声信号子带构成第二残余回声信号。

具体的,可通过傅里叶变换,分别将第一语音信号和第二语音信号从时间域转换至频率域,在频率域上对第一语音信号和第二语音信号分别进行子带分解,得到第一语音信号子带和第二语音信号子带。

具体的,在对第一语音信号子带进行线性处理时,可采用上述第一预设滤波算法,在对第一残余回声信号进行逐级的非线性处理时,可采用上述所描述的第二预设滤波算法。

作为示例的,以第二预设滤波算法为维纳滤波算法为例,通过维纳滤波算法对第一残余回声信号子带或第二残余回声信号子带进行非线性处理的公式可表示为:

E(k)=E'(k)×H,其中,k表示第k个第一残余回声信号子带或第k个第二残余回声信号子带,E'(k)表示第k个第一残余回声信号子带的残余回声幅值,E(k)表示第k个第一残余回声信号子带的频率表征,H为第二预设滤波算法的滤波系数。

图5为本公开的一实施例提供的语音通话的回声处理装置的结构示意图。如图5所示,该装置包括:

获取模块501,用于获取第一语音信号和第二语音信号,第一语音信号为在语音通话的近端采集到的语音信号,第二语音信号为在语音通话的远端采集到的语音信号;

线性处理模块502,用于根据第二语音信号,对第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号;

第一非线性处理模块503,用于根据第一语音信号和估计回声信号,对第一残余回声信号进行非线性处理,得到第二残余回声信号;

第二非线性处理模块504,用于对第二残余回声信号进行非线性处理,得到最终的语音信号。

在一种可能的实现方式中,线性处理模块502,具体用于:

根据第二语音信号,通过第一预设滤波算法,对第一语音信号进行线性处理,得到第一残余回声信号和估计回声信号;

第一非线性处理模块503,具体用于:

根据第一语音信号和估计回声信号,通过第二预设滤波算法,对第一残余回声信号进行非线性处理,得到第二残余回声信号;

第二非线性处理模块504,具体用于:

通过第二预设滤波算法,对第二残余回声信号进行非线性处理,得到最终的语音信号。

在一种可能的实现方式中,第一预设滤波算法为归一化最小均方误差滤波算法,第二预设滤波算法为维纳滤波算法。

在一种可能的实现方式中,第二非线性处理模块504,具体用于:

更新第二预设滤波算法,并根据更新后的第二预设滤波算法,对第二残余回声信号进行非线性处理。

在一种可能的实现方式中,装置还包括:

语音检测模块,用于通过预设的语音活动检测算法,对第二语音信号进行检测,获得检测结果;

状态确定模块,用于根据检测结果,确定语音通话的通话状态;

第二非线性处理模块504,具体用于:

如果确定语音通话的通话状态为单远端通话状态或者双端通话状态,则对第二残余回声信号进行非线性处理,得到最终的语音信号。

在一种可能的实现方式中,检测结果包括第二语音信号的连续语音帧数;状态确定模块,具体用于:

如果第二语音信号的连续语音帧数小于等于预设的帧数阈值,则确定语音通话的通话状态为单近端通话状态,否则确定语音通话的通话状态为单远端通话状态或者双端通话状态。

在一种可能的实现方式中,第一非线性处理模块503,具体用于:

根据第一语音信号、第一残余回声信号以及估计回声信号,确定第二预设滤波算法的滤波系数;通过第二预设滤波算法,对第一残余回声信号进行非线性处理,得到第二残余回声信号。

在一种可能的实现方式中,第一非线性处理模块503,具体用于:

确定第二预设滤波算法的滤波加权系数;根据滤波加权系数、第一语音信号与第一残余回声信号的互功率谱密度、以及估计回声的自功率谱密度,确定滤波系数。

在一种可能的实现方式中,第一非线性处理模块503,具体用于:

根据第一语音信号的能量和第一残余回声信号的能量,确定滤波加权系数。

在一种可能的实现方式中,第二非线性处理模块504,具体用于:

根据预设的多个分级阈值,确定第二残余回声信号所对应的滤波加权系数;根据第二残余回声信号所对应的滤波加权系数,更新第二预设滤波算法的滤波加权系数;根据更新后的滤波加权系数,更新第二预设滤波算法的滤波系数。

在一种可能的实现方式中,第二非线性处理模块504,具体用于:

在第二残余回声信号中,获得包含语音特征的残余回声信号的能量;根据能量和多个分级阈值,确定第二残余回声信号所对应的滤波加权系数。

在一种可能的实现方式中,包含语音特征的残余回声信号的能量越大,滤波加权系数越小。

在一种可能的实现方式中,线性处理模块502,具体用于:

对第一语音信号和第二语音信号分别进行子带分解,得到第一语音信号子带和第二语音信号子带;根据第二语音信号子带,对第一语音信号子带进行线性处理,得到第一残余回声信号子带和估计回声信号子带;

第一非线性处理模块503,具体用于:

根据第一语音信号子带和估计回声信号子带,对第一残余回声信号子带进行非线性处理,得到第二残余回声信号子带;

第二非线性处理模块504,具体用于:

对第二残余回声信号子带,进行非线性处理;对非线性处理后的所述第二残余回声信号子带进行子带合成,得到最终的语音信号。

图5提供的语音通话的回声处理装置,可以执行上述相应方法实施例,其实现原理和技术效果类似,在此不再赘述。

图6为本公开的一实施例提供的一种终端设备的结构示意图。如图6所示,该终端设备可以包括:处理器601和存储器602。存储器602用于存储计算机执行指令,处理器601执行计算机程序时实现如上述任一实施例的方法。

上述的处理器601可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等。上述存储器602可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

本公开的一实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上述任一实施例的方法。

本公开的一实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,至少一个处理器可以从所述存储介质中读取所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述任一实施例的方法。

图7是根据一示例性实施例示出的一种终端设备的框图,该设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

装置700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(I/O)接口712,传感器组件714,以及通信组件716。

处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。

存储器704被配置为存储各种类型的数据以支持在装置700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件706为装置700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。

多媒体组件708包括在所述装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当装置700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。

I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到装置700的打开/关闭状态,组件的相对定位,例如所述组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由装置700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当该存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行上述终端设备的分屏处理方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开的实施例旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

相关技术
  • 语音通话的回声处理方法、装置、设备及存储介质
  • 语音通话方法、语音通话装置、存储介质与电子设备
技术分类

06120112204592