一种声音信息的处理方法、装置及设备与流程

文档序号:16636489发布日期:2019-01-16 07:04阅读:176来源:国知局
一种声音信息的处理方法、装置及设备与流程

本发明实施例涉及声音信号处理技术领域,尤其涉及一种声音信息的处理方法、装置及设备。



背景技术:

在语音通话的过程中,经常会出现扰人的回声,这里的回声主要是指声学回声,因此消除回声是一个迫切亟待解决的问题。如,通话方a说话内容被录制打包发送给通话方b;a说话的内容被b端的扬声器播放出来,经过回声路径反射(回声)伴随着b说话的内容一同被录制下来,然后打包发送给a端,此时a除了听到b的说话内容,也同时听到了自己的声音,而实际上a只需要听到b说话的内容即可。其中,经过回声路径反射又被重新录制下来的声音就是回声,是需要被消除的。

现有技术中,消除回声最简单、最常用的方法就是让双方戴上耳机或者贴着手机说话,这时耳麦播放出来的声音基本上很难被麦克风录制进去,也就不会产生回声。但是,通常移动端或者笔记本端,很难强制用户戴上耳机,这会让用户感觉到不便利。所以,如何能够采取有效的措施来消除回声带来的干扰,已经是亟待解决的技术问题



技术实现要素:

本发明实施例提供一种声音信息的处理方法、装置及设备,以实现消除回声干扰,提高用户通话体验的效果。

第一方面,本发明实施例提供了一种声音信息的处理方法,该方法包括:

获取第一端声音信息与第二端声音信息;

对所述第一端声音信息进行频谱平坦预处理,得到第一端预处理信息;

将所述第一端预处理信息与所述第二端语音信息进行双端检测,根据检测结果确定所述第一端声音信息是否需要进行回声消除处理;

如果所述第一端声音信息需要进行回声消除处理,则对所述第一端声音信息进行回声消除处理。

进一步的,所述第一端声音信息与所述第二端声音信息为分帧信息;

将所述第一端预处理信息与所述第二端语音信息进行双端检测,根据检测结果确定所述第一端声音信息是否需要进行回声消除处理,包括:

计算所述第一端声音信息当前帧的第一端能量值,计算所述第二端声音信息当前帧的第二端能量值;并估计第一端环境噪声能量以及第二端环境噪声能量;

根据所述第一端能量值、第二端能量值、第一端环境噪声能量以及第二端环境噪声能量,确定所述第一端声音信息是否需要进行回声消除处理。

进一步的,根据所述第一端能量值、第二端能量值、第一端环境噪声能量以及第二端环境噪声能量,确定所述第一端声音信息是否需要进行回声消除处理,包括:

当所述第一端能量值小于所述第一端环境噪声能量,则确定所述第一端声音信息不需要进行回声消除处理;

当所述第二端能量值小于所述第二端环境噪声能量,则确定所述第一端声音信息不需要进行回声消除处理;

当所述第一端能量值大于第一端环境噪声能量,且第二端能量值大于第二端环境噪声能量时,则确定第一端声音信息需要进行回声消除处理。

进一步的,如果所述第一端声音信息需要进行回声消除处理,则对所述第一端声音信息进行回声消除处理,包括:

如果所述第一端声音信息需要进行回声消除处理,则对所述第一端声音信息进行线性处理得到残差信号;

根据所述第一端声音信息与所述第二端声音信息的功率谱相关度,以及所述第一端声音信息与所述残差信号的功率谱相关度,确定当前的通话状态为单讲状态或为多讲状态;

根据所述通话状态,对所述第一端声音信息进行初级回声消除处理。

进一步的,根据所述第一端声音信息与所述第二端声音信息的功率谱相关度,以及所述第一端声音信息与所述残差信号的功率谱相关度,确定当前的通话状态为单讲状态或为多讲状态,包括:

当所述第一端声音信息与所述第二端声音信息的功率谱相关度大于第一门限值,且所述第一端声音信息与所述残差信号的功率谱相关度小于第二门限值时,则确定当前的通话状态为单讲状态;否则为多讲状态;

相应的,根据所述通话状态,对所述第一端声音信息进行初级回声消除处理包括:

当所述通话状态为单讲状态时,则对所述第一端声音信息进行自适应系数更新滤波处理,同时保存当前帧滤波器系数;

当所述通话状态为多讲状态时,则以之前帧保存的自适应滤波器系数作为当前帧自适应滤波器的系数进行滤波处理。

进一步的,如果所述第一端声音信息需要进行回声消除处理,则对所述第一端声音信息进行回声消除处理,还包括:

如果所述第一端声音信息需要进行回声消除处理,则对所述第一端声音信息进行线性处理得到残差信号;

若当前帧所述残差信号的短时能量大于所述第一端短时能量的预设倍数,则判断滤波器处于发散状态,以之前帧保存的自适应滤波器系数作为当前帧自适应滤波器的系数,对所述第一端声音信息进行滤波处理。

进一步的,计算所述第二端声音信息当前第二端能量值包括:

对上一时刻第二端能量值和当前指定帧的所述第二端短时能量进行一阶平滑;其中,所述当前指定帧的第二端短时能量包括:采用分块滤波器权重能量最大的那个块所对应的位置,该位置对应的信号输入块的短时能量作为一阶平滑更新的第二端短时能量。

进一步的,在根据所述通话状态,对所述第一端声音信息进行初级回声消除处理之后,还包括次级回声消除处理,所述次级回声消除处理包括:

确定增益因子;

将所述初级回声消除处理的结果与所述增益因子进行预设规则运算,得到次级回声消除处理结果。

第二方面,本发明实施例还提供了一种声音信息的处理装置,该装置包括:

声音信息获取模块,用于获取第一端声音信息与第二端声音信息;

预处理模块,用于对所述第一端声音信息进行频谱平坦预处理,得到第一端预处理信息;

回声消除判断模块,用于将所述第一端预处理信息与所述第二端语音信息进行双端检测,根据检测结果确定所述第一端声音信息是否需要进行回声消除处理;

回声消除处理模块,用于如果所述第一端声音信息需要进行回声消除处理,则对所述第一端声音信息进行回声消除处理。

进一步的,所述第一端声音信息与所述第二端声音信息为分帧信息;

所述回声消除判断模块包括:

判断准备单元,用于计算所述第一端声音信息当前帧的第一端能量值,计算所述第二端声音信息当前帧的第二端能量值;并估计第一端环境噪声能量以及第二端环境噪声能量;

判断单元,用于根据所述第一端能量值、第二端能量值、第一端环境噪声能量以及第二端环境噪声能量,确定所述第一端声音信息是否需要进行回声消除处理。

第三方面,本发明实施例还提供了一种设备,所述设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例所提供的上述的声音信息的处理方法。

本发明实施例通过在获取到第一端声音信息和第二端声音信息之后,首先对第一端声音信息进行频谱平坦预处理,再将预处理后的第一端声音信息与第二端声音信息进行双端检测,确定是否需要对第一端声音信息进行回声消除处理,如果需要,则对其进行回声消除处理,解决通话过程中,存在扰人的回声影响用户通话体验的问题,实现了消除回声干扰,提高用户通话体验的效果。

附图说明

图1是本发明实施例一提供的声音信息的处理方法的流程图;

图2是本发明实施例二提供的声音信息的处理方法的流程图;

图3是本发明实施例三提供的声音信息的处理方法的流程图;

图4是本发明实施例四提供的声音信息的处理装置的结构示意图;

图5为本发明实施例五提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本发明实施例一提供的声音信息的处理方法的流程图,本实施例可适用回声消除的情况,该方法可以由本发明实施例所提供的声音信息的处理装置来执行,该装置可以由软件和/或硬件的方式来实现,并可集成于移动终端等通话设备中。

如图1所示,所述声音信息的处理方法包括:

s110、获取第一端声音信息与第二端声音信息。

其中,所述第一端声音信息是近端声音信息(本地录制的声音),所述第二端声音信息是远端声音信息(本地接收播放的声音),相对用户而言,自身所在的一端为近端,通话对端为远端。可以包含一个第二端,也可以包含多个第二端,本实施例中,为了能够清楚表达方案,先以一个第二端为数据处理的对象,当存在多个第二端时,本实施例所提供的技术方案仍然可以适用。

优选的,所述第一端声音信息与所述第二端声音信息为分帧信息。分帧处理是对通话语音进行传输和处理的基础,分帧可以加快语音传输和处理速度,本发明实施例对第一端声音信息和第二端声音信息都进行了分帧处理,这样设计的好处是有利于帧与帧之间,以及相同时间段内第一端声音信息和第二端声音信息的比较。每一帧可以按照固定的时间单位进行划分,时间可以由开发人员进行设定,设定依据可以是按照既能够保证声音信息处理效果又能够不影响语音信息的数据传输速度为宜。

s120、对所述第一端声音信息进行频谱平坦预处理,得到第一端预处理信息。

本发明实施例中对第一端声音信息进行频谱平坦预处理的具体方法可选的,可以是去直流处理和预加重处理,这样可以达到白化频谱的效果,有助于后续处理中,滤波器的快速收敛。其中,去直流部分可以采用一个陷波器,陷波器的中心频率可以设定为50hz。预加重部分可以采用一个高通滤波器,主要是可以实现提升高频部分,是的整个频谱达到均衡白化的效果,从而有助于后续处理过程中的快速收敛。

s130、将所述第一端预处理信息与所述第二端语音信息进行双端检测,根据检测结果确定所述第一端声音信息是否需要进行回声消除处理。

对所述第一端预处理信息和所述第二端语音信息进行双端检测,双端检测的目的主要是为了确定当前第一端声音信息是否需要进行回声消除处理。

双端检测可以按照状态进行检测,即按照通话两端戴耳机或者不戴耳机,单讲状态还是多讲状态,其中,单讲状态是指近端或者远端一端在讲话的状态,多讲状态是指至少有两端同时在讲话的状态。这种按照状态方式进行双端检测比较复杂,需要考虑因素较多,因此本实施例提供如下优选的方案。

优选的,将所述第一端预处理信息与所述第二端语音信息进行双端检测,根据检测结果确定所述第一端声音信息是否需要进行回声消除处理,包括:计算所述第一端声音信息当前帧的第一端能量值,计算所述第二端声音信息当前帧的第二端能量值;并估计第一端环境噪声能量以及第二端环境噪声能量;根据所述第一端能量值、第二端能量值、第一端环境噪声能量以及第二端环境噪声能量,确定所述第一端声音信息是否需要进行回声消除处理。

其中,短时能量是每一帧语音信息所对应的能量,能量值是上一次能量统计值和当前帧的短时能量一阶平滑,得到的能量值。统统计。第一端环境噪声能量和第二端环境噪声能量可以是采用最小值噪声估计、直方图估计等方法估算得到。

进一步的,根据所述第一端能量值、第二端能量值、第一端环境噪声能量以及第二端环境噪声能量,确定所述第一端声音信息是否需要进行回声消除处理。其中可以是利用比较法,也可以利用其它方法确定几个能量之间的关系,从而确定所述第一端声音信息是否需要进行回声消除处理。

本发明实施例基于环境噪声的能量来确定当前第一端声音信息是否需要进行回声消除处理,这一方案这样设置的好处在于可以避免考虑多种状态因素,根据几个数据之间的关系即可以得到确定的结果,简化了判断流程,提高了计算效率。

s140、如果所述第一端声音信息需要进行回声消除处理,则对所述第一端声音信息进行回声消除处理。

其中,回声消除处理可以包括现行处理和非线性处理,只要经过前面的步骤判断为需要进行回声消除处理就进行相应的处理,如果前面的步骤判断为不需要进行回声消除处理,则可以直接将第一端的语音向第二段输出,也可以输出至其他处理流程。

本发明实施例通过在获取到第一端声音信息和第二端声音信息之后,首先对第一端声音信息进行频谱平坦预处理,再将预处理后的第一端声音信息与第二端声音信息进行双端检测,确定是否需要对第一端声音信息进行回声消除处理,如果需要,则对其进行回声消除处理,解决通话过程中,存在扰人的回声影响用户通话体验的问题,实现了消除回声干扰,提高用户通话体验的效果。

实施例二

图2是本发明实施例二提供的声音信息的处理方法的流程图。本实施例在上述实施例的基础上,对根据所述第一端能量值、第二端能量值、第一端环境噪声能量以及第二端环境噪声能量,确定所述第一端声音信息是否需要进行回声消除处理进行了改进。

如图2所示,所述声音信息的处理方法包括:

s210、获取第一端声音信息与第二端声音信息。

s220、对所述第一端声音信息进行频谱平坦预处理,得到第一端预处理信息。

s230、计算所述第一端声音信息当前帧的第一端能量值,计算所述第二端声音信息当前帧的第二端能量值;并估计第一端环境噪声能量以及第二端环境噪声能量。

s240、判断所述第一端能量值是否小于所述第一端环境噪声能量,且判断所述第二端能量值是否小于所述第二端环境噪声能量,若存在小于,则执行s260;若不存在小于,则执行s250。

如果所述第一端能量值小于所述第一端环境噪声能量,则认为第二端声音信息在第一端所处的环境内没有产生回声并伴随第一端声音信息返回,则认为不需要进行回声消除处理;如果所述第二端能量值是否小于所述第二端环境噪声能量,则认为第二端用户没有在讲话,因此,可以理解为第二端声音信息不能够在第一端声音信息产生回声,并伴随第一端声音信息返回,或者理解为第二端传输到第一端的只有环境噪声,因为环境噪声能量较低,即便在第一端所处的环境产生回声,并不影响第二端听到第一端的声音信息,而且后续一般会进行去噪模块处理,所以不需要进行回声消除处理。

当所述第一端能量值大于所述第一端环境噪声能量,且判断所述第二端能量值大于所述第二端环境噪声能量

s250、确定所述第一端声音信息需要进行回声消除处理,对所述第一端声音信息进行回声消除处理。

s260、确定所述第一端声音信息不需要进行回声消除处理。

确定所述第一端声音信息不需要进行回声消除处理,可以直接将所述第一端声音信息直接输出或者进入其他处理流程。

本实施例在上述实施例的基础上,提供了一种根据第一端能量值、第二端能量值、第一端环境噪声能量以及第二端环境噪声能量判断当前第一端声音信息是否需要进行回声处理的具体实施方案,提供了一种全新的判断理论,利用此方案高效且准确,效果显著。

在上述各技术方案的基础上,优选的,计算所述第二端声音信息当前帧的第二端能量值包括对上一时刻第二端能量值和当前指定帧的所述第二端短时能量进行一阶平滑。其中,所述当前指定帧的第二端短时能量包括:采用分块滤波器权重能量最大的那个块所对应的位置,该位置对应的信号输入块的短时能量作为一阶平滑更新的第二端短时能量,而不是直接使用当前帧的短时能量。因为权重能量最大的那个块滤波器基本也就决定了回声路径,因此选用与之对应的输入信号块作为一阶平滑的短时能量更新值更加合理。。

实施例三

图3是本发明实施例三提供的声音信息的处理方法的流程图。本实施例在上述各实施例的基础上,在确定第一端声音信息需要进行回声消除处理之后,对所述第一端声音信息进行回声消除处理进行进一步的优化。

如图3所示,所述声音信息的处理方法包括:

s310、确定第一端声音信息需要进行回声消除处理。

s320、对当前帧所述第一端声音信息进行线性处理得到残差信号。

其中,残差信号可以是经过现行处理之后的信号。

s330、判断所述残差信号的短时能量是否大于当前帧所述第一端短时能量的预设倍数,若大于,则判断滤波器处理发散状态,执行s370,若不大于,则执行s340。

残差信号的能量可以是根据残差信号的功率谱确定的能量值。本实施例提供的是以当前帧的残差信号的短时能量与当前帧的第一端短时能量进行比较,其中预设倍数可以是由多次实验获得的数值,例如,可以是100倍,甚至1000倍,能够表示残差信号的短时能量远大于第一端短时能量。

s340、根据所述第一端声音信息与所述第二端声音信息的功率谱相关度,以及所述第一端声音信息与所述残差信号的功率谱相关度,确定当前的通话状态为单讲状态或为多讲状态。

优选的,当所述第一端声音信息与所述第二端声音信息的功率谱相关度大于第一门限值,且所述第一端声音信息与所述残差信号的功率谱相关度小于第二门限值时,则确定当前的通话状态为单讲状态;否则为多讲状态

其中,第一门限值和第二门限值可以是根据多次实验来确定的,第一门限值和第二门限值表示功率谱相关度的大小,如第一门限值可以是70%,第二门限值可以是20%,也可以第一门限值可以是80%,第二门限值可以是15%,两者之间并不存在线性关系。当所述第一端声音信息与所述第二端声音信息的功率谱相关度大于第一门限值,且所述第一端声音信息与所述残差信号的功率谱相关度小于第二门限值时,则确定当前的通话状态为单讲状态,否则为多讲状态。

本发明实施例中,提供了一种以第一端声音信息与第二端声音信息以及第一端声音信息与残差信号的功率谱相关度确定当前通话状态的方法,该方法判断准确且逻辑简单,可以利用简单的函数过着算法实现,易于掌握和应用。

s350、当所述通话状态为单讲状态时,则对所述第一端声音信息进行自适应系数更新滤波处理,同时保存当前帧滤波器系数。

s360、当所述通话状态为多讲状态时,则以之前帧保存的自适应滤波器系数作为当前帧自适应滤波器的系数进行滤波处理。

s370、则以之前帧保存的自适应滤波器系数作为当前帧自适应滤波器的系数,对所述第一端声音信息进行滤波处理。

当所述残差信号的短时能量大于当前帧所述第一端短时能量的预设倍数时,则判断自适应滤波器发散,则用最近一次保存好的系数更新本次系数,进行滤波处理。

本实施例在上述各实施例的基础上,提供了一种通话状态判断方法以及根据通话状态确定自适应滤波器系数的方法,并且还提供了一种根据残差信号与第一端声音信息的功率谱相关度确定自适应滤波器系数的方法,本实施例所提供的方法计算准确,判断条件比较简单,有利于提高数据处理的准确性以及计算方法的维护。

在上述各技术方案的基础上,优选的,在根据所述通话状态,对所述第一端声音信息进行初级回声消除处理之后,还包括次级回声消除处理,所述次级回声消除处理包括:确定增益因子;将所述初级回声消除处理的结果与所述增益因子进行预设规则运算,得到次级回声消除处理结果。其中,预设规则运算优选的可以是进行卷积运算,这样设置的好处在于可以在对第一端声音信息进行上述技术方案处理后,仍存在部分回声信号时,彻底的将其进行回声消除处理,提高回声消除处理的精度,从而提高通话质量。

实施例四

图4是本发明实施例四提供的声音信息的处理装置的结构示意图。如图4所示,所述声音信息的处理装置,包括:

声音信息获取模块410,用于获取第一端声音信息与第二端声音信息;

预处理模块420,用于对所述第一端声音信息进行频谱平坦预处理,得到第一端预处理信息;

回声消除判断模块430,用于将所述第一端预处理信息与所述第二端语音信息进行双端检测,根据检测结果确定所述第一端声音信息是否需要进行回声消除处理;

回声消除处理模块440,用于如果所述第一端声音信息需要进行回声消除处理,则对所述第一端声音信息进行回声消除处理。

本发明实施例通过在获取到第一端声音信息和第二端声音信息之后,首先对第一端声音信息进行频谱平坦预处理,再将预处理后的第一端声音信息与第二端声音信息进行双端检测,确定是否需要对第一端声音信息进行回声消除处理,如果需要,则对其进行回声消除处理,解决通话过程中,存在扰人的回声影响用户通话体验的问题,实现了消除回声干扰,提高用户通话体验的效果。

在上述各实施例的基础上,所述第一端声音信息与所述第二端声音信息为分帧信息;所述回声消除判断模块430包括:

判断准备单元,用于计算所述第一端声音信息当前帧的第一端能量值,计算所述第二端声音信息当前帧的第二端能量值;并估计第一端环境噪声能量以及第二端环境噪声能量;

判断单元,用于根据所述第一端能量值、第二端能量值、第一端环境噪声能量以及第二端环境噪声能量,确定所述第一端声音信息是否需要进行回声消除处理。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

实施例五

图5为本发明实施例五提供的一种设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性设备12的框图。图5显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图5所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的声音信息的处理方法。

优选实施例

为了更好的解释本发明实施例中所提供的声音信息的处理方法,以及各个步骤的具体实现方式,提供了本发明优选实施例作为解释,但是本发明优选实施例并不对具体的实现过程做限定。

s111、初级回声消除处理

初级回声消除处理可以是线性处理,线性处理部分优选的可以是采用fir自适应滤波器,假定回声与第二端声音信息之间是线性卷积关系,即算子是一个fir滤波器。自适应滤波器会依据估计出的回声信号与实际的回声信号的差距,根据最小均分原则,不断调整滤波器的系数,使得估计的回声信号不断逼近实际的回声信号,也就是滤波器逐步收敛,滤波器系数代表了线性回声路径。在实际的语音通话过程中,需要考虑到时延问题,长时回声问题,以及计算量问题,比较经典的线性模型是pbfdaf模型(partitionedblockfrequencydomainadaptivefilter)。

假设自适应滤波器长度为n阶,分为p块,每块长l,即n=p*l。同样地,与之对应的数据长度为n,也分为p个数据块,每个块长为l,每个帧为相对应的块延长m个样本点,也就是说,帧长为l+m,帧之间重叠m个样本点。从时域上来说,第i个块的滤波器与第i个数据块作卷积,而使用延长数据的重叠帧的目的是采用重叠保留法,为了提高效率,卷积用fft来实现。最后,每接收到1个块数据,则插入到最新的数据块位置,剔除最旧的数据块,从而实现更新这p个数据块。

本文在pbfdaf的基础上,提出了一种可变步长的方法,来提升收敛速度,具体如下:

第k个帧数据可以表示为:

对应的频域fft变换表示为:

xf,0(k-l),l=1,2,…,(p-1),p

滤波处理后,回声信号为:

的最后l个元素。

该公式实际上就是各个数据块与对应的滤波器块做卷积,然后将各个块的输出叠加起来,根据重叠保留法,截取最后的l个元素,其中,卷积用fft实现。

残差信号为:

e(k)=d(k)–y(k),其中,d(k)为输入的近端信号。

近端信号减去估计出的线性回声信号,得到残差信号。

可变步长部分:

ed(k)=γed(k-1)+(1-γ)(d(k)td(k));

近端能量值计算

ey(k)=γey(k-1)+(1-γ)(y(k)ty(k));

回声能量值计算

ee(k)=γee(k-1)+(1-γ)(e(k)te(k));

残差能量值计算

计算出可变步长,μ(k)再作归一化,得到最终的步长因子为:

用向量表示为:

μv(k)=[μ0(k),μ1(k)…μm-1(k)]t

权重更新:

wf,l(k+1)=wf,l(k)+2μv(k)*x*f,0(k-lp)*ef(k);

s112、次级回声消除处理

次级回声消除处理可以是非线性处理,考虑到扬声器模式下,回声强度比较大,还需要进行进一步的非线性处理,消除残余回声。

增益因子为:

输出语音信号为:

output(k)=e(k)*z(k)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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