一种回声消除方法、装置和终端设备与流程

文档序号:18003761发布日期:2019-06-25 23:08阅读:138来源:国知局
一种回声消除方法、装置和终端设备与流程

本发明涉及互联网技术领域,尤其涉及一种回声消除方法、装置和终端设备。



背景技术:

附着基于ip的语音传输(voiceoverinternetprotocol,voip)技术的迅速发展,ip电话广泛利用互联网和全球ip互联环境的资源,具有通信成本低廉、带宽利用率高和能够提供多种多媒体增值服务等优点。然而,在实际应用中,源自接收器(例如:耳机、听筒或者扬声器)的远端声音信号可能会通过位于声音路径上的物体反射进入终端的麦克风(例如:话筒)中,从而在近端声音信号中形成声学回声,以影响通话质量。可见,目前存在通话质量比较差的问题。



技术实现要素:

本发明实施例提供一种回声消除方法、装置和终端设备,以解决通话质量比较差的问题。

第一方面,本发明实施例提供一种回声消除方法,包括:

获取远端声音信号;

通过自适应滤波器算法计算所述远端声音信号的回声信号,其中,所述自适应滤波器算法的步长因子为小于1的正实数,或者,所述自适应滤波器算法的步长因子为,与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子;

依据所述回声信号对近端声音信号进行回声消除。

可选的,所述自适应滤波器算法为:

最小均方误差算法(leastmeansquare,lms)或者归一化最小均方误差算法(normalizedleastmeansquare,nlms);

其中,在所述自适应滤波器算法为所述lms的情况下,所述步长因子为小于1的正实数;

在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为,与所述远端声音信号和所述远端声音信号的能量对应的可变因子。

可选的,所述远端声音信号对应的能量为:

包括所述远端声音信号在内的多个连续的远端声音信号的平方的均值。

可选的,在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为:

其中,所述μ(k)表示所述步长因子,所述μ为常量,所述f(k)为与所述能量对应的指数函数,所述xt(k)x(k)表示x(k)的内积,所述x(k)表示所述远端声音信号。

可选的,所述

其中,所述pmin和所述pmax分别为预设能量值,且所述pmin小于所述pmax,所述m为大于或者等于1的整数。

第二方面,本发明实施例提供的一种回声消除装置,包括:

获取模块,用于获取远端声音信号;

计算模块,用于通过自适应滤波器算法计算所述远端声音信号的回声信号,其中,所述自适应滤波器算法的步长因子为小于1的正实数,或者,所述自适应滤波器算法的步长因子为,与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子;

消除模块,用于依据所述回声信号对近端声音信号进行回声消除。

可选的,所述自适应滤波器算法为:

lms或者nlms;

其中,在所述自适应滤波器算法为所述lms的情况下,所述步长因子为小于1的正实数;

在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为,与所述远端声音信号和所述远端声音信号的能量对应的可变因子。

可选的,所述远端声音信号对应的能量为:

包括所述远端声音信号在内的多个连续的远端声音信号的平方的均值。

可选的,在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为:

其中,所述μ(k)表示所述步长因子,所述μ为常量,所述f(k)为与所述能量对应的指数函数,所述xt(k)x(k)表示x(k)的内积,所述x(k)表示所述远端声音信号。

可选的,所述

其中,所述pmin和所述pmax分别为预设能量值,且所述pmin小于所述pmax,所述m为大于或者等于1的整数。

第三方面,本发明实施例提供一种终端设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现本发明实施例提供的回声消除方法的步骤。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的回声消除方法的步骤。

本发明实施例中,获取远端声音信号;通过自适应滤波器算法计算所述远端声音信号的回声信号,其中,所述自适应滤波器算法的步长因子为小于1的正实数,或者,所述自适应滤波器算法的步长因子为,与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子;依据所述回声信号对近端声音信号进行回声消除。这样,通过回声信号对近端声音信号进行回声消除,可以提高通话质量,进一步的,由于步长因子为小于1的正实数,或者,步长因子为与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子,从而可以提高回声消除的收敛速度,以及可以提高回声消除的稳定性,进一步提高通话质量。

附图说明

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

图1是本发明实施例提供的一种回声消除方法的流程图;

图2是本发明实施例提供的一种自适应滤波器算法的示意图;

图3是本发明实施例提供的一种指数函数的增减性示意图;

图4是本发明实施例提供的一种回声消除装置的结构图;

图5是本发明实施例提供的一种终端设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,说明书以及权利要求中使用“和/或”表示所连接对象的至少其中之一,例如a和/或b,表示包含单独a,单独b,以及a和b都存在三种情况。

在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

请参见图1,图1是本发明实施例提供的一种回声消除方法的流程图,如图1所示,包括以下步骤:

步骤101、获取远端声音信号。

其中,上述远端声音信号可以是执行步骤101时接收到的远端声音信号。或者,上述远端声音信号可以是当前输入到自适应滤波器算法进行计算的远端声音信号。另外,本发明实施例中,远端声音信号是指远端设备发送的声音信号。且在实际通话过程中会包括多个远端声音信号,这些远端声音信号可以通过标号来区分,例如:可以通过不同的序号或者下标为标识不同的远端声音信号。

步骤102、通过自适应滤波器算法计算所述远端声音信号的回声信号,其中,所述自适应滤波器算法的步长因子为小于1的正实数,或者,所述自适应滤波器算法的步长因子为,与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子。

如图2所示,远端声音信号x(k)通过环境中的回声信道h产生回声y(k),近端声音信号d(k)由回声y(k)和近端声音v(k)混合组成,而上述自适应滤波器算法可以是构造自适应滤波器h^来模拟回声信道h,可以使得计算出的回声信号y^(k)逼近回声y(k),之后通过回声信号y^(k)对近端声音信号d(k)进行回声消除,以使得处理后的声音信号e(k)逼近近端声音v(k),从而达到消除回声的目的。

优选的,本发明实施例中,自适应滤波器算法可以是lms或者nlms等。

另外,上述步长因子为,与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子可以理解为,上述步长因子与上述远端声音信号对应,且与该远端声音信号对应的能量对应,即上述步长因子跟随远端声音信号变化。另外,上述远端声音信号对应的能量可以是,上述远端声音信号与其他多个远端声音信号的能量,这多个远端声音信号可以是与上述远端声音信号连续,且位于上述远端声音信号之前的多个远端声音信号。

步骤103、依据所述回声信号对近端声音信号进行回声消除。

其中,上述近端声音信号可以是执行步骤103时终端设备通过麦克风采集到的声音信号,或者,上述近端声音信号可以是包括上述远端声音信号对应的回声信号的近端声音信号。另外,本发明实施例中,近端声音信号是指终端设备通过麦克风采集到的声音信号。

需要说明的是,本发明实施例中,远端声音信号和近端声音信号均可以是随时变化的变量。且步骤101中的远端声音信号和步骤103中的近端声音信号这二者之前可以满足近端声音信号包括该远端声音信号的回声信号这一对应关系,或者,步骤101中的远端声音信号和步骤103中的近端声音信号的标号相同,例如:x(n)表示上述远端声音信号,d(n)表示上述近端声音信号,或者x(k)表示上述远端声音信号,d(k)表示上述近端声音信号。

本发明实施例中,通过回声信号对近端声音信号进行回声消除,可以提高通话质量,进一步的,由于步长因子为小于1的正实数,这样可以收敛范围内通过步长选择来控制收敛速度和稳态误差,以提高适应滤波器算法的收敛速度和稳定性,进一步提高通话质量。或者,由于上述步长因子为与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子,这样实现将能够随远端声音信号变化的步长因子作为控制信息,从而提高自适应滤波器算法的稳定性,进而进一步提高通话质量。

作为一种可选的实施方式,上述自适应滤波器算法为:最小均方误差算法lms;

其中,在所述自适应滤波器算法为所述lms的情况下,所述步长因子为小于1的正实数。

需要说明的是,本发明实施例中,自适应滤波器算法的步长因子可以是自适应滤波器算法中权值的递推公式中的步长因子,例如:lms算法的权值的递推公式为:

w(n+1)=w(n)+2μe(n)x(n)

其中,w(n)为第n步迭代的加权向量,μ是步长因子,e(n)是误差信号,x(n)表示上述远端声音信号,或者称作自适应滤波器算法的输入信号,这里,0<μ<1,这样可以实现在收敛范围内通过步长选择来控制收敛速度和稳态误差,以提高适应滤波器算法的收敛速度和稳定性,进一步提高通话质量。

需要说明的是,这里的n即可以表示迭代的步数,又可以表示上述远端声音信号的标号(或者称作下标),例如:序号。

作为一种可选的实施方式,上述自适应滤波器算法为:nlms;

其中,在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为,与所述远端声音信号和所述远端声音信号的能量对应的可变因子。

该实施方式中,可以实现在使用nlms生成回声信号时,由于步长因子为,与所述远端声音信号和所述远端声音信号的能量对应的可变因子,从而提高自适应滤波器算法的稳定性,进而进一步提高通话质量。

进一步的,所述远端声音信号对应的能量为:

包括所述远端声音信号在内的多个连续的远端声音信号的平方的均值。

需要说明的是,由于对远端声音信号求平方,从而可以得到各远端声音信号的能量,进而通过上述多个远端声音信号的平方的均值可以得到上述能量。

上述多个连续的远端声音信号可以是包括上述远端声音信号在内,以及包括位于上述远端声音信号之前的多个连续的远端声音信号。例如:以上述远端声音信号为x(k),上述多个连续的远端声音信号可以是x(k-i),其中,i等于0至m中任一整数,m为大于或者等于1的整数。

优选的,可以通过如下公式计算上述能量:

其中,所述px(k)为上述能量,x(k)表示所述远端声音信号。

该实施方式中,由于上述步长因子对应的参量为多个远端声音信号的平方的均值,从而可以进一步提高自适应滤波器算法的稳定性。当然,本发明实施例中,并不限定上述远端声音信号对应的能量为上述均值,例如:上述远端声音信号对应的能量可以为该远端声音信号的能量。

需要说明的是,本发明实施例中,在lms的实施方式,x(n)表示上述远端声音信号,即n可以作为远端声音信号的标号,而在nlms的实施方式,采用x(k)表示上述远端声音信号,即k作为远端声音信号的标号。且在本发明实施例中,远端声音信号的标号与近端声音信号的标号相同,且远端声音信号的标号与近端声音信号的标号随时间变化。

可选的,在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为:

其中,所述μ(k)表示所述步长因子,所述μ为常量,所述f(k)为与所述能量对应的指数函数,所述xt(k)x(k)表示x(k)的内积,所述x(k)表示所述远端声音信号。

该实施方式中,可以实现上述步长因子为一个能随时随刻跟随远端声音信号变化的变量,这样依据该步长因子作为nlms控制信息,从而可以提高nlms的效果,以进一步提高通话质量。

可选的,所述

其中,所述pmin和所述pmax分别为预设能量值,且所述pmin小于所述pmax,所述m为大于或者等于1的整数。

其中,上述pmin和所述pmax可以分别为预先设置的最小能量值和最大能量值,上述m也可以理解为常数,该常数可以是根据经验值设置,或者通过实验数据得出。

该实施方式中,可以保证指数始终小于0,由图3所示的指数函数的增减性可以看出,处于第四象限的曲线始终大于0小于1,这样保证f(k)大于0且小于1,这样可以进一步保证nlms的稳定性。

该实施方式中,可以实现在nlms算法的基础上进一步优化,使得其信道滤波器系数的递推公式可以为:

其中,上述w(n)为第n步迭代的加权向量,上述μ是固定步长因子,e(n)是误差信号,x(n)表示上述多段远端声音信号经过滤波处理后的系数,相当多段远端声音信号模糊平滑的结果,x(k)表示所述远端声音信号,n表示滤波器的阶数,k是远端声音信号的标号。

需要说明的是,本发明实施例中,在nlms的实施方式中,并不限定上述μ(k)对应的公式来计算上述步长因子,可以其他公式或者其他实施方式来确定与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子,例如:还可以通过来计算上述步长因子,其中,a可以为与通话场景对应的权值,其值可以为0,正实数或者负实数。

需要说明的是,本发明实施例中并不限定lms和nlms的具体公式,lms和nlms可以是通用的lms和nlms。

需要说明的是,本发明实施例中在执行步骤103之后,可以将回声消除后的近端声音信号进行非线性处理、添加舒适噪声、快速傅立叶反变换(ifft)等模块进行处理,以输出回声消除后的声音信号。

需要说明的是,本发明实施例提供的回声消除方法可以应用于手机、平板电脑、计算机等能够进行语音通话的终端设备。

本发明实施例中,获取远端声音信号;通过自适应滤波器算法计算所述远端声音信号的回声信号,其中,所述自适应滤波器算法的步长因子为小于1的正实数,或者,所述自适应滤波器算法的步长因子为,与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子;依据所述回声信号对近端声音信号进行回声消除。这样,通过回声信号对近端声音信号进行回声消除,可以提高通话质量,进一步的,由于步长因子为小于1的正实数,或者,步长因子为与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子,从而可以提高回声消除的收敛速度,以及可以提高回声消除的稳定性,进一步提高通话质量。

请参见图4,图4是本发明实施例提供的一种回声消除装置的结构图,如图4所示,回声消除装置400包括:

获取模块401,用于获取远端声音信号;

计算模块402,用于通过自适应滤波器算法计算所述远端声音信号的回声信号,其中,所述自适应滤波器算法的步长因子为小于1的正实数,或者,所述自适应滤波器算法的步长因子为,与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子;

消除模块403,用于依据所述回声信号对近端声音信号进行回声消除。

可选的,所述自适应滤波器算法为:

lms或者nlms;

其中,在所述自适应滤波器算法为所述lms的情况下,所述步长因子为小于1的正实数;

在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为,与所述远端声音信号和所述远端声音信号的能量对应的可变因子。

可选的,所述远端声音信号对应的能量为:

包括所述远端声音信号在内的多个连续的远端声音信号的平方的均值。

可选的,在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为:

其中,所述μ(k)表示所述步长因子,所述μ为常量,所述f(k)为与所述能量对应的指数函数,所述xt(k)x(k)表示x(k)的内积,所述x(k)表示所述远端声音信号。

可选的,所述

其中,所述pmin和所述pmax分别为预设能量值,且所述pmin小于所述pmax,所述m为大于或者等于1的整数。

本发明实施例提供的装置能够实现图1所示的方法实施例中实现的各个过程,且可以达到相同有益效果,为避免重复,这里不再赘述。

请参见图5,图5是本发明实施例提供的一种终端设备的结构图,如图5所示,终端设备500包括处理器501、存储器502及存储在所述存储器502上并可在所述处理器上运行的计算机程序。

其中,所述计算机程序被所述处理器501执行时实现如下步骤:

获取远端声音信号;

通过自适应滤波器算法计算所述远端声音信号的回声信号,其中,所述自适应滤波器算法的步长因子为小于1的正实数,或者,所述自适应滤波器算法的步长因子为,与所述远端声音信号和所述远端声音信号对应的能量对应的可变因子;

依据所述回声信号对近端声音信号进行回声消除。

可选的,所述自适应滤波器算法为:

lms或者nlms;

其中,在所述自适应滤波器算法为所述lms的情况下,所述步长因子为小于1的正实数;

在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为,与所述远端声音信号和所述远端声音信号的能量对应的可变因子。

可选的,所述远端声音信号对应的能量为:

包括所述远端声音信号在内的多个连续的远端声音信号的平方的均值。

可选的,在所述自适应滤波器算法为所述nlms的情况下,所述步长因子为:

其中,所述μ(k)表示所述步长因子,所述μ为常量,所述f(k)为与所述能量对应的指数函数,所述xt(k)x(k)表示x(k)的内积,所述x(k)表示所述远端声音信号。

可选的,所述

其中,所述pmin和所述pmax分别为预设能量值,且所述pmin小于所述pmax,所述m为大于或者等于1的整数。

本发明实施例提供的终端设备能够实现图1所示的方法实施例中终端设备实现的各个过程,且可以达到相同有益效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的回声消除方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1