音频数据处理方法、装置、电子设备和存储介质与流程

文档序号:16815593发布日期:2019-02-10 14:26阅读:182来源:国知局
音频数据处理方法、装置、电子设备和存储介质与流程

本申请涉及技术领域,特别是涉及一种音频数据处理方法、一种音频数据处理装置、一种电子设备和一种可读存储介质。



背景技术:

随着通信技术的快速发展,诸如手机、平板电脑等终端越来越普及,给人们的生活、学习、工作带来了极大的便利。

用户在使用终端时,可通过语音、视频等与其他用户交互,例如打电话、进行视频通信等。在这些交互过程中,终端通常会打开麦克风(microphone,mic)录制语音发送给通信对端,也会通过扬声器播放通信对端的语音数据。因此,实际处理中,通过麦克风录制的音频数据中包括本端用户的声音,以及通过扬声器播放的对端的声音,可将录制的通过扬声器播放的对端的声音称为回声。为了提高通信质量,防止回声导致影响音频中正常的语音内容,需要消除该回声。



技术实现要素:

本发明实施例提供一种音频数据处理方法,以有效的消除录制音频中的回声。

相应的,本发明实施例还提供了一种音频数据处理装置、一种电子设备和一种存储介质,用以保证上述方法的实现及应用。

为了解决上述问题,本发明实施例公开了一种音频数据处理方法,包括:采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等;依据所述远端信号确定预设个数的目标远端信号,其中,部分目标远端信号与之前设定帧的部分目标远端信号相同,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关;依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号。

可选的,所述依据帧移确定远端信号,包括:依据帧移,确定第一长度的远端信号,其中,所述第一长度与所述帧移相关;依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,所述第二长度与所述帧长相关。

可选的,依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,包括:依据帧长,确定在所述第一长度的远端信号之前的第三长度的远端信号,所述第三长度为第一长度和第二长度的差值;将所述第三长度的远端信号和所述第一长度的远端信号进行拼接,得到第二长度的远端信号。

可选的,所述依据所述远端信号确定预设个数的目标远端信号,包括:依据所述第二长度的远端信号,确定第一个数的第四长度的目标远端信号;获取之前设定帧存储的第二个数的第四长度的目标远端信号,其中,所述第一个数和第二个数的和为预设个数,所述第四长度与所述块长相关。

可选的,依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号,包括:依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号;采用所述语音信号和所述待消除的回声信号相减,得到回声消除的目标信号。

可选的,所述依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号,包括:对所述第一个数的第四长度的目标远端信号进行处理,得到频域的第一远端信号;获取所述第二个数的第四长度的目标远端信号,对应频域的第二远端信号;将所述频域的第一远端信号和第二远端信号,与空间冲击响应进行处理,得到待消除的回声信号。

可选的,还包括:更新所述第二个数的第四长度的目标远端信号对应的帧号。

本发明实施例还公开了一种音频数据处理装置,包括:信号采集模块,用于采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等;信号处理模块,用于依据所述远端信号确定预设个数的目标远端信号,其中,部分目标远端信号与之前设定帧的部分目标远端信号相同,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关;回声消除模块,用于依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号。

可选的,所述信号采集模块,包括:远端采集子模块,用于依据帧移,确定第一长度的远端信号,其中,所述第一长度与所述帧移相关;拼接子模块,用于依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,所述第二长度与所述帧长相关。

可选的,所述拼接子模块,用于依据帧长,确定在所述第一长度的远端信号之前的第三长度的远端信号,所述第三长度为第一长度和第二长度的差值;将所述第三长度的远端信号和所述第一长度的远端信号进行拼接,得到第二长度的远端信号。

可选的,所述信号处理模块,包括:目标确定子模块,用于依据所述第二长度的远端信号,确定第一个数的第四长度的目标远端信号;缓存获取子模块,用于获取之前设定帧存储的第二个数的第四长度的目标远端信号,其中,所述第一个数和第二个数的和为预设个数,所述第四长度与所述块长相关。

可选的,所述回声消除模块,包括:回声确定子模块,用于依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号;消除子模块,用于采用所述语音信号和所述待消除的回声信号相减,得到回声消除的目标信号。

可选的,所述回声确定子模块,用于对所述第一个数的第四长度的目标远端信号进行处理,得到频域的第一远端信号;获取所述第二个数的第四长度的目标远端信号,对应频域的第二远端信号;将所述频域的第一远端信号和第二远端信号,与空间冲击响应进行处理,得到待消除的回声信号。

可选的,所述回声消除模块,还用于更新所述第二个数的第四长度的目标远端信号对应的帧号。

本发明实施例还公开了一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等;

依据所述远端信号确定预设个数的目标远端信号,其中,部分目标远端信号与之前设定帧的部分目标远端信号相同,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关;

依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号。

可选的,所述依据帧移确定远端信号,包括:依据帧移,确定第一长度的远端信号,其中,所述第一长度与所述帧移相关;依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,所述第二长度与所述帧长相关。

可选的,依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,包括:依据帧长,确定在所述第一长度的远端信号之前的第三长度的远端信号,所述第三长度为第一长度和第二长度的差值;将所述第三长度的远端信号和所述第一长度的远端信号进行拼接,得到第二长度的远端信号。

可选的,所述依据所述远端信号确定预设个数的目标远端信号,包括:依据所述第二长度的远端信号,确定第一个数的第四长度的目标远端信号;获取之前设定帧存储的第二个数的第四长度的目标远端信号,其中,所述第一个数和第二个数的和为预设个数,所述第四长度与所述块长相关。

可选的,依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号,包括:依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号;采用所述语音信号和所述待消除的回声信号相减,得到回声消除的目标信号。

可选的,所述依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号,包括:对所述第一个数的第四长度的目标远端信号进行处理,得到频域的第一远端信号;获取所述第二个数的第四长度的目标远端信号,对应频域的第二远端信号;将所述频域的第一远端信号和第二远端信号,与空间冲击响应进行处理,得到待消除的回声信号。

可选的,还包含用于进行以下操作的指令:更新所述第二个数的第四长度的目标远端信号对应的帧号。

本发明实施例还公开了一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如发明实施例中的一个或多个所述的音频数据处理方法。

本发明实施例包括以下优点:

本发明实施例可以采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等,从而依据远端信号确定预设个数的目标远端信号,部分目标远端信号是之前设定帧对应确定的,其中,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关,再依据所述语音信号和目标远端信号进行回声抵消处理时,重复部分的目标远端信号无需重新计算,能够有效的减少计算量,然后可得到回声消除的目标信号,从而有效消除语音信号中的回声,并且能够缩短语音延时。

附图说明

图1是本申请的一种音频数据处理方法实施例的步骤流程图;

图2是本申请的另一种音频数据处理方法实施例的步骤流程图;

图3是本申请的一种音频数据处理装置实施例的结构框图;

图4是本申请的另一种音频数据处理装置实施例的结构框图;

图5是根据一示例性实施例示出的一种用于音频数据处理的电子设备的结构框图;

图6是本申请根据另一示例性实施例示出的一种用于音频数据处理的电子设备的结构示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

在包括语音的通信中,声学回声是难以避免的。其中,远端信号通过电话或者网络传送到近端,然后通过扬声器进行播放,再经过空间传输后,近端麦克风拾取后传回的远端信号即为声学回声。通过麦克风接收的语音信号的数学模型在时域上可以表示为:

y(n)=h(n)*x(n)+d(n)

其中,y(n)为麦克风采集的语音信号;x(n)为远端信号,h(n)是空间的冲击响应,h(n)*x(n)为x(n)与h(n)的卷积结果,表示为远端信号经过空间传输后近端麦克风拾取到的信号;d(n)为近端信号即回声消除的目标信号。

声学回波抵消(acousitcechocancellation,aec)算法可用于消除声学回波信号,该aec算法通常有两步,第一步是自适应滤波算法,第二步是残留回波后滤波算法,从而得到回声消除的目标信号。本发明实施例基于aec算法进行改进,以更加有效的消除回声。

参照图1,示出了本申请的一种音频数据处理方法实施例的步骤流程图,具体可以包括如下步骤:

步骤102,采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等。

使用终端等设备时,可进行包括语音的通讯,在该过程中可采用麦克风录制语音数据,即采集语音信号,该麦克风也称为传声器,是将声音信号转换为电信号的能量转换器件,本实施例的麦克风可为设备上自带的,也可为设备上连接的外置麦克风。所采集的语音信号中包括回声,该回声为通过扬声器播放后被麦克风接收到信号,即被麦克风接收的远端信号。使用终端等设备还可采集远端信号,该远端信号可为通讯过程中通过电话或网络传送到设备中并通过扬声器播放的信号。其中,在进行回声消除时,可进行周期性的消除,即每隔一段时间采集信号进行消除,本发明实施例中可依据帧长和帧移确定远端信号,该帧移与块长不相等。

在一种示例中,对于自适应滤波算法可采用分块频域自适应滤波器(partitionedblockfrequencydomainadaptivefilter,pbfdaf),在使用pbfdaf算法中,本发明实施例设置滤波中分块的块长与块滤波器的长度一致,而语音处理的帧移与块长不相等,假设块长为n,则块滤波器的长度也为n,设帧移为m,则n≠m,n,m均为整数,如可将n,m设置为2的幂次数。块长和帧移均为pbfdaf算法中的一种参数。

步骤104,依据所述远端信号确定预设个数的目标远端信号,其中,部分目标远端信号与之前设定帧的部分目标远端信号相同,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关。

pbfdaf算法的过程中在确定出远端信号后,还可基于远端信号确定出目标远端信号,该目标远端信号为需要计算来进行回声消除的远端信号。本发明实施例中,目标远端信号是由预设个数、预设长度的远端信号构成的,该预设个数可依据帧长、块长等确定,预设长度与块长相关。由于远端信号依据帧移采集,对应得到的目标远端信号也与帧长、块长相关,而设定帧与帧移、块长相关,因此确定通过帧移所确定的预设个数的目标远端信号,并与之前帧对应预设个数的目标远端信号进行比较,发现当前帧和之前设定帧之前有部分个数的目标远端信号是重复的。假设当前帧为第i帧,设定帧为i-b帧,则第i-b帧中部分目标远端信号和第i帧中部分远端信号是相同的,因此在处理过程中这部分重复的目标远端信号无需重新计算,而只要计算不重复的目标远端信号即可。

步骤106,依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号。

然后对目标远端信号进行处理,该处理为时域转换为频域的处理,例如基于傅里叶变换的各种处理操作,如进行离散傅里叶变换(discretefouriertransform,dft)、快速傅里叶变换(fastfouriertransform,fft),从而得到频域的远端信号,该频域的远端信号可在频域与空间冲击响应h(n)共同确定噪声即麦克风接收的回声信号。其中,重复部分的目标远端信号对应傅里叶变换的频域结果无需重复计算,只需获取之前设定帧对应的计算结果即可。

依据该频域的远端信号可确定噪声即麦克风接收的回声信号,可在频域计算h(n)*x(n)即频域的远端信号和频域的空间冲击响应的乘积,从而得到远端信号经过空间传输后近端麦克风拾取到的信号。然后在与语音信号进行回声抵消,消除语音信号中的回声等回声信号,得到回声消除的目标信号,从而消除了录制音频数据中的回声。例如在语音、视频等通过过程中,通过麦克风录制的数据传输给对端后,可尽量消除回声,保证通话质量。如语音信号为y(n),在时域上计算远端信号和空间冲击响应的卷积结果,相应在频域上计算远端信号和空间冲击响应的乘积结果,得到回声信号即h(n)*x(n),则回声消除的目标信号d(n)=y(n)-h(n)*x(n)。

对于块长和帧移相等的pbfdaf算法,若分块的块长过大,虽然会有利于回波的抵消,但是语音的延时就也较大,而若分块的块长过小,语音的延时能较好的解决,但是不利于回波的抵消的性能。与之相比,本发明实施例的方案中,帧移与块长不相等,可设置帧移小于块长,这样能够在减少语音延时的基础上有效的抵消回波。

综上,可以采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等,从而依据远端信号确定预设个数的目标远端信号,部分目标远端信号是之前设定帧对应确定的,其中,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关,再依据所述语音信号和目标远端信号进行回声抵消处理时,重复部分的目标远端信号无需重新计算,能够有效的减少计算量,然后可得到回声消除的目标信号,从而有效消除语音信号中的回声,并且能够缩短语音延时。

参照图2,示出了本申请的另一种音频数据处理方法实施例的步骤流程图,具体可以包括如下步骤:

步骤202,采集语音信号。

步骤204,依据帧移,确定第一长度的远端信号,其中,所述第一长度与帧移相关。

步骤206,依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,所述第二长度与帧长相关。

使用终端等设备时,可进行包括语音的通讯,在该过程中可采用麦克风采集语音信号,所采集的语音信号中包括回声,该回声为通过扬声器播放后被麦克风接收到信号,即被麦克风接收的远端信号。还可采集远端信号,该远端信号可为通讯过程中通过电话或网络传送到设备中并通过扬声器播放的信号。其中,在进行回声消除时,可进行周期性的消除,即每隔一段时间采集信号进行消除,本发明实施例中可依据帧长和帧移确定远端信号,该帧移与块长不相等。假设块长为n,帧移为m,则块滤波器的长度也为n,n≠m,n,m均为正整数。

在进行回波消除时,可先获取第一长度的远端信号,所述第一长度与帧移m相关。其中,该过程中会持续接收远端信号,本发明实施例进行周期性回波消除,因此可在没达到第一长度后,获取对应的远端信号,从而每隔第一长度的远端信号进行一周期的处理。然后可基于帧长确定需要拼接的远端信号,将该需要拼接的远端信号和第一长度的远端信号进行拼接,得到第二长度的远端信号,所述第二长度与帧长相关。

一个可选实施例中,依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,包括:依据帧长,确定在所述第一长度的远端信号之前的第三长度的远端信号,所述第三长度为第一长度和第二长度的差值;将所述第三长度的远端信号和所述第一长度的远端信号进行拼接,得到第二长度的远端信号。即可依据帧长确定第二长度,然后确定第二长度和第一长度的差值为第三长度,获取在第一长度的远端信号之前的第三长度的远端信号。然后按照顺序如时间顺序,将第三长度的远端信号和所述第一长度的远端信号进行拼接,得到第二长度的远端信号。

步骤208,依据所述第二长度的远端信号,确定第一个数的第四长度的远端信号。

步骤210,获取之前设定帧存储的第二个数的第四长度的远端信号,其中,所述第一个数和第二个数的和为预设个数,所述第四长度与块长相关。

可依据第二长度的远端信号来确定第四长度的远端信号,其中,可确定预设个数的第四长度的远端信号作为目标远端信号,所述第四长度与块长相关,所述预设个数与帧长、块长相关。

本发明实施例中,将预设个数的目标远端信号中重复的个数设为第二个数,不重复的个数为第一个数,则第一个数+第二个数=预设个数。该第二个数可依据块长和帧移确定。则可以第二长度的远端信号为基准来确定第一个数的第四长度的远端信号,如在第二长度的远端信号的基础上确定第四长度的远端信号。还可从缓存、存储器等获取存储的第二个数的第四长度的远端信号,然后将第一个数的第四长度的远端信号和第二个数的第四长度的远端信号,构成预设个数的第四长度的目标远端信号。

步骤212,对所述第一个数的第四长度的目标远端信号进行傅里叶变换处理,得到频域的第一远端信号。

步骤214,获取存储所述第二个数的第四长度的目标远端信号,对应频域的第二远端信号。

步骤216,将所述频域的第一远端信号和第二远端信号,与空间冲击响应进行处理,得到待消除的回声信号。

然后可对目标远端信号即预设个数的第四长度的远端信号进行快速傅里叶变换fft,得到频域的第一远端信号。对于目标远端信号的重复部分即第二个数的第四长度的目标远端信号,其傅里叶变换处理得到的频域的第二远端信号已存储,因此可获取存储的频域的第二远端信号,然后采用该频域的第一远端信号和频域的第二远端信号构成频域的目标远端信号,其中可按照时序信息合成,然后将该频域的目标远端信号与空间冲击响应相乘,得到待消除的回声信号。

其中,在当前帧向前移动设定帧后,两帧对应具有重复的目标远端信号,则可当前帧向前移动设定帧,对应计算重复的第二个数的第四长度的目标远端信号的fft,得到频域的第二远端信号,从而在向后移动设定帧到当前帧时,直接获取之前计算的第二远端信号即可,无需重复计算fft。

步骤218,依据所述语音信号和回声信号进行回声抵消处理,得到回声消除的目标信号。

得到回声信号后,可与语音信号进行回声抵消处理,如将回声信号通过傅里叶变换的反变换得到时域的回声信号,在时域上采用语音信号与回声信号相减,得到的结果即为回声消除的目标信号。当然,该过程中回声信号可能未完全消除,还可进行其他处理操作,如基于残留回波后滤波算法等处理,新一步消除回声。

其中,获取与所述目标远端信号对应的第四长度的语音信号。依据所述语音信号和回声信号进行回声抵消处理,得到回声消除的目标信号,包括:将所述第四长度的语音信号与所述回声信号相减,得到回声消除的目标信号。由于本发明实施例是周期性进行回声消除,因此在采集到语音信号后,可按照一定周期时刻截取语音信号,如可按照时间信息得到与所述目标远端信号对应的第四长度的语音信号,然后将第四长度的语音信号与时域的回声信号相减,得到回声消除的目标信号。

本发明实施例中,在首次计算得到重复的目标远端信号及其第二回声信息后,可进行存储并配置帧号,然后在每次获取重复的目标远端信号及其第二回声信息后,可更新其对应的帧号,便于下一次获取。

在一个示例中,假设块长为n、帧移为m、帧长为l,则一帧语音分块的个数k=l/n,通常k为2的幂次数。在进行周期性回声消除的过程中:

在t时刻,通过帧移进入的新的m个远端信号点,即获取第一长度为m的远端信号:x(0),x(1),……,x(m-1)

假设第二长度与帧长l相同,则第三长度为(l-m),则与前(l-m)个点进行拼帧,则当前帧的远端信号,即长度为l的远端信号为:

x(m-l),x(m-l+1),......,x(m-1)

预设个数为k,即一帧语音分块的个数,第四长度为2*n即两倍长度的帧长,则k个长度为2*n的目标远端信号:

x(m-2*n),x(m-2*n+1),......,x(m-1)

x(m-3*n),x(m-3*n+1),......,x(m-n-1)

……

x(m-(k+1)*n),x(m-(k+1)*n+1),......,x(m-(k-1)*n-1)

其中,k=l/n,则最后一个长度为2*n目标远端信号还可表示为:

x(m-l-n),x(m-l-n+1),......,x(m-l+n-1)

其中,基于上述原理,第i-b帧的目标远端信号为:

x(-m-b*m-l),x(-m-b*m+1),……,x(m-b*m-1)

其中,b=n/m,则第i-b帧的目标远端信号还可表示为:

x(-m-n-l),x(-m-n+1),……,x(m-n-1)

针对第i-b帧,计算对应k个长度为2*n目标远端信号为:

x(m-3*n),x(m-3*n+1),......,x(m-n-1)

x(m-4*n),x(m-4*n+1),......,x(m-2*n-1)

……

x(m-(k+2)*n),x(m-(k+2)*n+1),......,x(m-k*n-1)

将上述对第i帧对应k个长度为2*n的目标远端信号,和第i-b帧对应k个长度为2*n的目标远端信号进行比较,则第i帧对应后k-1个长度2*n的目标远端信号,与第i-b帧对应前k-1个长度为2*n个目标远端信号是完全一致的。

因此在进行第i帧回波消除时,可以通过缓存第i-b帧的远端信号对应fft的历史结果,避免第i帧的其中k-1次的fft计算,有效的降低了计算量。

因此,在进行每一帧回波抵消时,需要用到往前数第b帧的远端信号fft结果,然后实时更新前b帧的缓存结果,即更新帧号,用于下一帧的回波抵消,周期循环,从而达到减小计算量的目的。

即对上述第i帧对应k个长度为2*n的目标远端信号,可对第i帧的首个目标远端信号进行fft得到频域的第一远端信号,对于后k-1个长度2*n的目标远端信号,可获取存储的频域的第二远端信号,从而得到对应频域的目标远端信号,再将频域的目标远端信号与空间冲击响应相乘得到待消除的回声信号。

本发明实施例中,还从采集的语音信号中,获取t时刻的长度为2*n的语音信号,即:

y(m-2*n),y(m-2*n+1),......,y(m-1)

然后在此基础上,将频域待消除的回声信号反变换为时域的回声信号,与语音信号做自适应抵消得到估计的目标信号d(n)。

上述是一种示例,实际处理中,各长度(包括第一长度、第二长度、第三长度、第四长度)也可与各参数不相等,而是按照需求设置,如按照一定比例设置各参数对应的长度等。

基于上述处理过程,假设b=n/m,如果b设置为大于或等于2,则帧移是小于块长的,从而上述通用帧移长度的pbfdaf算法的延时即可缩短,且不影响回声的消除。并且,上述过程可在信号的fft长度保持不变的情况下,能够保证回波抵消的性能。并且通过部分重复的目标远端信号,能够有效的减少计算量,提高处理效率。

并且,假设每经过n个点,pbfdaf的计算量为c,由于n=b*m,则上述处理过程的计算量为b*c,如果b大于或等于2,则由于帧移缩短,从而能够将自适应滤波算法的收敛速度加快。

从而上述基于通用帧移长度的分块频域自适应算法,根据合理设置参数,达到在不提升过多计算量的同时,既可以满足回波抵消性能的同时,还可以增加算法的收敛时间,并且缩短aec算法的延时。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

在上述实施例的基础上,本发明实施例还提供了一种音频数据处理装置。可应用于手机、平板电脑等终端设备上。

参照图3,示出了本申请的一种音频数据处理装置实施例的结构框图,具体可以包括如下模块:

信号采集模块302,用于采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等。

信号处理模块304,用于依据所述远端信号确定预设个数的目标远端信号,其中,部分目标远端信号与之前设定帧的部分目标远端信号相同,其中,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关。

回声消除模块306,用于依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号。

参照图4,示出了本申请的另一种音频数据处理装置实施例的结构框图,具体可以包括如下模块:

信号采集模块302,用于采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等。

信号处理模块304,用于依据所述远端信号确定预设个数的目标远端信号,其中,部分目标远端信号与之前设定帧的部分目标远端信号相同,其中,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关。

回声消除模块306,用于依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号。

其中,所述信号采集模块302,包括:

语音采集子模块3022,用于采集语音信号。

远端采集子模块3024,用于依据帧移,确定第一长度的远端信号,其中,所述第一长度与所述帧移相关。

拼接子模块3026,用于依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,所述第二长度与所述帧长相关。

其中,所述拼接子模块3026,用于依据帧长,确定在所述第一长度的远端信号之前的第三长度的远端信号,所述第三长度为第一长度和第二长度的差值;将所述第三长度的远端信号和所述第一长度的远端信号进行拼接,得到第二长度的远端信号。

所述信号处理模块304,包括:

目标确定子模块3042,用于依据所述第二长度的远端信号,确定第一个数的第四长度的目标远端信号。

缓存获取子模块3044,用于获取之前设定帧存储的第二个数的第四长度的目标远端信号,其中,所述第一个数和第二个数的和为预设个数,所述第四长度与块长相关。

所述回声消除模块306,包括:

回声确定子模块3062,用于依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号。

消除子模块3064,用于采用所述语音信号和所述待消除的回声信号相减,得到回声消除的目标信号。

其中,所述回声确定子模块3062,用于对所述第一个数的第四长度的目标远端信号进行处理,得到频域的第一远端信号;获取所述第二个数的第四长度的目标远端信号,对应频域的第二远端信号;将所述频域的第一远端信号和第二远端信号,与空间冲击响应进行处理,得到待消除的回声信号。

所述回声消除模块306,还用于更新所述第二个数的第四长度的目标远端信号对应的帧号。

基于上述处理过程,假设b=n/m,如果b设置为大于等于2,则帧移是小于块长的,从而上述通用帧移长度的pbfdaf算法的延时即可缩短,且不影响回声的消除。并且,上述过程可在信号的fft长度保持不变的情况下,能够保证回波抵消的性能。

并且,假设每经过n个点,pbfdaf的计算量为c,由于n=b*m,则上述处理过程的计算量为b*c,如果b大于等于2,则由于帧移缩短,从而能够将自适应滤波算法的收敛速度加快。

从而上述基于通用帧移长度的分块频域自适应算法,根据合理设置参数,达到在不提升过多计算量的同时,既可以满足回波抵消性能的同时,还可以增加算法的收敛时间,并且缩短aec算法的延时。

在进行第i帧回波消除时,可以通过缓存第i-b帧的远端信号对应fft的历史结果,避免第i帧的其中k-1次的fft计算,有效的降低了计算量。因此,在进行每一帧回波抵消时,需要用到往前数第b帧的远端信号fft结果,然后实时更新前b帧的缓存结果,即更新帧号,用于下一帧的回波抵消,周期循环,从而达到减小计算量的目的

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

图5是根据一示例性实施例示出的一种用于音频数据处理的电子设备500的结构框图。例如,电子设备500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等;也可以是服务端设备,如服务器。

参照图5,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(i/o)的接口512,传感器组件514,以及通信组件516。

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

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

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

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

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

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

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

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

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

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

一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种音频数据处理方法,所述方法包括:采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等;依据所述远端信号确定预设个数的目标远端信号,其中,部分目标远端信号与之前设定帧的部分目标远端信号相同,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关;依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号。

可选的,所述依据帧移确定远端信号,包括:依据帧移,确定第一长度的远端信号,其中,所述第一长度与所述帧移相关;依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,所述第二长度与所述帧长相关。

可选的,依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,包括:依据帧长,确定在所述第一长度的远端信号之前的第三长度的远端信号,所述第三长度为第一长度和第二长度的差值;将所述第三长度的远端信号和所述第一长度的远端信号进行拼接,得到第二长度的远端信号。

可选的,所述依据所述远端信号确定预设个数的目标远端信号,包括:依据所述第二长度的远端信号,确定第一个数的第四长度的目标远端信号;获取之前设定帧存储的第二个数的第四长度的目标远端信号,其中,所述第一个数和第二个数的和为预设个数,所述第四长度与所述块长相关。

可选的,依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号,包括:依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号;采用所述语音信号和所述待消除的回声信号相减,得到回声消除的目标信号。

可选的,所述依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号,包括:对所述第一个数的第四长度的目标远端信号进行处理,得到频域的第一远端信号;获取所述第二个数的第四长度的目标远端信号,对应频域的第二远端信号;将所述频域的第一远端信号和第二远端信号,与空间冲击响应进行处理,得到待消除的回声信号。

可选的,还包括:更新所述第二个数的第四长度的目标远端信号对应的帧号。

图6是本申请根据另一示例性实施例示出的一种用于音频数据处理的电子设备600的结构示意图。该电子设备600可以是服务器,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器上执行存储介质630中的一系列指令操作。

服务器还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘656,和/或,一个或一个以上操作系统641,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

在示例性实施例中,服务器经配置以由一个或者一个以上中央处理器622执行一个或者一个以上程序包含用于进行以下操作的指令:采集语音信号,并依据帧移确定远端信号,其中,帧移与块长不相等;依据所述远端信号确定预设个数的目标远端信号,其中,部分目标远端信号与之前设定帧的部分目标远端信号相同,所述预设个数与帧长、块长相关,所述设定帧与帧移、块长相关;依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号。

可选的,所述依据帧移确定远端信号,包括:依据帧移,确定第一长度的远端信号,其中,所述第一长度与所述帧移相关;依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,所述第二长度与所述帧长相关。

可选的,依据帧长和帧移对远端信号进行拼接,得到第二长度的远端信号,包括:依据帧长,确定在所述第一长度的远端信号之前的第三长度的远端信号,所述第三长度为第一长度和第二长度的差值;将所述第三长度的远端信号和所述第一长度的远端信号进行拼接,得到第二长度的远端信号。

可选的,所述依据所述远端信号确定预设个数的目标远端信号,包括:依据所述第二长度的远端信号,确定第一个数的第四长度的目标远端信号;获取之前设定帧存储的第二个数的第四长度的目标远端信号,其中,所述第一个数和第二个数的和为预设个数,所述第四长度与所述块长相关。

可选的,依据所述语音信号和目标远端信号进行回声抵消处理,得到回声消除的目标信号,包括:依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号;采用所述语音信号和所述待消除的回声信号相减,得到回声消除的目标信号。

可选的,所述依据所述预设个数的第四长度的目标远端信号确定对应待消除的回声信号,包括:对所述第一个数的第四长度的目标远端信号进行处理,得到频域的第一远端信号;获取所述第二个数的第四长度的目标远端信号,对应频域的第二远端信号;将所述频域的第一远端信号和第二远端信号,与空间冲击响应进行处理,得到待消除的回声信号。

可选的,还包含用于进行以下操作的指令:更新所述第二个数的第四长度的目标远端信号对应的帧号。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种音频数据处理方法、一种音频数据处理装置、一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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