本公开涉及音频信号处理领域,尤其涉及一种回声消除方法、装置及设备。
背景技术:
1、在视频会议中,如果远端的声音通过本端的扬声器播放,则本端的麦克风除了拾取本端用户的声音信号之外,同时也会拾取扬声器播放的远端声音信号,并随之传送到远端,此时远端用户将会听见自己的回声,因此需要进行回声消除、声学回声消除的性能,作为语音交互系统中一个重要的指标,极大地影响了用户与设备或是用户间的沟通体验。传统的声学回声消除方法通常包含线性回声消除与回声后处理两大模块,线性回声消除通常可以采用归一化最小均方滤波器(normalized least mean squares,nlms)、仿射投影滤波器(affine projection,ap)、递归最小二乘滤波器(recursive least squares,rls)与卡尔曼滤波器(kalman filter)等算法。
2、随着对拾音效果的不断追求,通常采用多个麦克风来提高拾音质量。线性回声消除效果的关键在于步长的估计,通常会采用变步长自适应算法,较为恰当的步长,通常能够取到较好的线性回声消除效果,但是步长的估计通常会消耗比较大的计算资源。由于考虑麦克风阵列每个通道的差异性,为了每个通道均能够取到比较好的线性回声消除效果,需要对每个通道进行单独建模。随着麦克风数量增加,回声消除的整体复杂度急剧增加。
3、因此,在多个麦克风的场景下,如何降低回声消除的计算量和计算复杂度,并保持每个通道均能取得较好的回声消除效果是目前亟待解决的技术问题。
技术实现思路
1、本公开提供一种回声消除方法、装置及设备,用以降低回声消除的计算量和计算复杂度,并保持每个通道均能取得较好的回声消除效果。
2、根据本公开实施例的第一方面,提供一种回声消除方法,该方法包括:
3、获取当前帧远端信号和多个近端信号,其中,所述多个近端信号为多个通道分别输出的近端信号;
4、将所述远端信号进行从时域信号到频域信号的转换,得到多个滤波器子块的远端频域信号,并将所述多个近端信号分别进行从时域信号到频域信号的转换,得到各通道的近端频域信号;
5、针对各通道,基于前一帧所述通道的各滤波器子块的第一滤波器系数和所述多个滤波器子块的远端频域信号,对所述通道的近端频域信号进行滤波处理,得到所述通道的第一残差信号;
6、基于各通道的第一残差信号,确定近端语音协方差矩阵;
7、基于当前帧任一通道的各滤波器子块的状态协方差矩阵、所述多个滤波器子块的远端频域信号和所述近端语音协方差矩阵,确定所述任一通道的各滤波器子块的目标步长;
8、基于所述任一通道的各滤波器子块的目标步长,分别更新各通道的各滤波器子块的第一滤波器系数,得到当前帧各通道的各滤波器子块的第二滤波器系数;
9、基于当前帧各通道的各滤波器子块的第二滤波器系数和后一帧远端信号,分别对后一帧各通道的近端信号进行滤波处理,得到后一帧各通道的第二残差信号。
10、本公开通过基于前一帧各通道的各滤波器子块的第一滤波器系数和多个滤波器子块的远端频域信号,对各通道的近端频域信号进行滤波处理,得到各通道的第一残差信号,并且基于当前帧任一通道的各滤波器子块的状态协方差矩阵、多个滤波器子块的远端频域信号,以及基于各通道的第一残差信号得到的近端语音协方差矩阵,确定任一通道的各滤波器子块的目标步长,由于近端语音协方差矩阵是采用多个通道的第一残差信号确定的,因此任一通道的各滤波器子块的目标步长含有每个通道的第一残差信号的信息,从而减少任一通道的各滤波器子块的目标步长的稳态误差,提高可靠性。并且,本公开基于任一通道的各滤波器子块的目标步长,分别更新各通道的各滤波器子块的第一滤波器系数,得到当前帧各通道的各滤波器子块的第二滤波器系数,基于当前帧各通道的各滤波器子块的第二滤波器系数和后一帧远端信号,分别对后一帧各通道的近端信号进行滤波处理,得到后一帧各通道的第二残差信号。在多个麦克风的场景中,由于麦克风阵列接收的回声信号能量基本一致性,因此将任一通道的各滤波器子块的目标步长作为其他通道的各滤波器子块的步长,得到其他通道的各滤波器子块的滤波器系数,从而降低回声消除中滤波器系数更新的计算量和计算复杂度,进而降低回声消除的计算量和计算复杂度,并保持每个通道均能取得较好的回声消除效果。
11、根据本公开实施例的第二方面,提供一种回声消除装置,该装置包括:
12、获取模块,用于获取当前帧远端信号和多个近端信号,其中,所述多个近端信号为多个通道分别输出的近端信号;
13、转换模块,用于将所述远端信号进行从时域信号到频域信号的转换,得到多个滤波器子块的远端频域信号,并将所述多个近端信号分别进行从时域信号到频域信号的转换,得到各通道的近端频域信号;
14、第一滤波模块,用于针对各通道,基于前一帧所述通道的各滤波器子块的第一滤波器系数和所述多个滤波器子块的远端频域信号,对所述通道的近端频域信号进行滤波处理,得到所述通道的第一残差信号;
15、第一确定模块,用于基于各通道的第一残差信号,确定近端语音协方差矩阵;
16、第二确定模块,用于基于当前帧任一通道的各滤波器子块的状态协方差矩阵、所述多个滤波器子块的远端频域信号和所述近端语音协方差矩阵,确定所述任一通道的各滤波器子块的目标步长;
17、更新模块,用于基于所述任一通道的各滤波器子块的目标步长,分别更新各通道的各滤波器子块的第一滤波器系数,得到当前帧各通道的各滤波器子块的第二滤波器系数;
18、第二滤波模块,用于基于当前帧各通道的各滤波器子块的第二滤波器系数和后一帧远端信号,分别对后一帧各通道的近端信号进行滤波处理,得到后一帧各通道的第二残差信号。
19、根据本公开实施例的第三方面,提供一种电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述回声消除方法的步骤。
20、根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述回声消除方法的步骤。
1.一种回声消除方法,其特征在于,该方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于各通道的第一残差信号,确定近端语音协方差矩阵,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于当前帧任一通道的各滤波器子块的状态协方差矩阵、所述多个滤波器子块的远端频域信号和所述近端语音协方差矩阵,确定所述任一通道的各滤波器子块的目标步长,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于当前帧任一通道的各滤波器子块的状态协方差矩阵、所述多个滤波器子块的远端频域信号和所述近端语音协方差矩阵,确定所述任一通道的第一中间变量矩阵,包括:
5.根据权利要求3所述的方法,其特征在于,所述基于当前帧所述滤波器子块的状态协方差矩阵、设定帧长、设定帧移和所述任一通道的第一中间变量矩阵,确定所述滤波器子块的目标步长,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于当前帧所述滤波器子块的状态协方差矩阵、设定帧长、设定帧移和所述任一通道的第一中间变量矩阵,确定所述滤波器子块的初始步长,包括:
7.根据权利要求5所述的方法,其特征在于,所述分别采用所述步长集合中的每个候选步长更新所述滤波器子块的第一滤波器系数,得到对应的第三滤波器系数,包括:
8.根据权利要求1所述的方法,其特征在于,所述基于所述任一通道的各滤波器子块的目标步长,分别更新各通道的各滤波器子块的第一滤波器系数,得到当前帧各通道的各滤波器子块的第二滤波器系数,包括:
9.根据权利要求8所述的方法,其特征在于,所述基于所述任一通道的所述滤波器子块的目标步长、所述通道的第一残差信号以及设定时域约束矩阵,更新所述通道的所述滤波器子块的第一滤波器系数,得到前一帧所述通道的所述滤波器子块的第四滤波器系数,包括:
10.一种回声消除装置,其特征在于,该装置包括: