一种回声路径延迟估计方法及装置与流程

文档序号:20933899发布日期:2020-06-02 19:14阅读:386来源:国知局
一种回声路径延迟估计方法及装置与流程

本发明涉及语音处理领域,尤其涉及一种回声路径延迟估计方法及装置。



背景技术:

和传统的使用电话进行通话相比,利用网络进行语音实时通话的语音质量较差,影像网络语音通话的关键因素之一就是回声。因此,为了提高网络语音通话时的语音质量,就必须在网络语音通话过程中消除回声。由于网络传送的语音信号要经过编码、压缩和打包等一系列处理,不仅会导致回声路径的延迟较大,还会导致延迟抖动较大。此外,利用不同设备进行语音通话,回声延迟也不尽相同。因此,在回声消除处理中,估计回声延迟就显得至关重要。

在voip(voiceoverinternetprotocol,网络电话)语音通话中回声的产生原因比较复杂,不仅有回声源复杂,通话设备类型多变也对回声有影响。目前的回声消除算法(algorithmofechocancellation,aec)中通过自适应滤波器来模拟回声路径,由于对于不同回声环境的回声路径也不相同,利用一个自适应滤波器来模拟所有的回声环境中的回声路径时的计算结果误差过大,为了降低误差就需要根据不同的回声环境设计不同的自适应滤波器,从现有技术中至少存在以下技术问题:

现有的回声消除算法中的回声路径延迟估计方法具有局限性,无法适用于不同的回声环境。



技术实现要素:

本发明实施例通过提供一种回声路径延迟估计方法及装置,用于解决现有技术中存在的现有的回声消除算法中的回声路径延迟估计方法具有局限性,无法适用于不同的回声环境的技术问题。

第一方面,本发明一实施例提供了一种回声路径延迟估计方法,应用于回声路径延迟估计装置,其中,所述装置包括深度学习回声路径延迟估计模型,包括:

对输入信号进行预处理,获取预处理后的语音信号;其中,所述输入信号包括近端语音信号和远端语音信号;

对所述预处理后的语音信号进行时频转换,获取所述预处理后的语音信号对应的频域信号;

获取所述频域信号的特征参数,其中,所述特征参数包括噪声阈值、所述近端语音信号的傅里叶变换值、所述远端语音信号的傅里叶变换值、长时能量值和短时能量值;

将所述特征参数输入所述深度学习回声路径延迟估计模型,获取回声路径的延迟估计值。

可选的,所述对输入信号进行预处理,获取预处理后的语音信号,具体包括:

对所述输入信号进行分帧处理和加窗处理,获取预处理后的语音信号。

可选的,所述对所述预处理后的语音信号进行时频转换,获取所述预处理后的语音信号对应的频域信号,具体包括:

对所述预处理后的语音信号进行快速傅里叶变换或小波变换,获取所述预处理后的语音信号对应的频域信号。

可选的,所述深度学习回声路径延迟估计模型包括语音检测模块、互相关计算模块、延迟估计计算模块、预存的特征值以及和所述特征值对应的目标值。

第二方面,本发明一实施例提供了一种回声路径延迟估计装置,所述装置包括:

预处理单元,用于对输入信号进行预处理,获取预处理后的语音信号;其中,所述输入信号包括近端语音信号和远端语音信号;

时频转换单元,用于对所述预处理后的语音信号进行时频转换,获取所述预处理后的语音信号对应的频域信号;其中,所述频域信号包括近端频域信号和远端频域信号;

第一获取单元,用于获取所述频域信号的特征参数,其中,所述特征参数包括噪声阈值、所述近端语音信号的傅里叶变换值、所述远端语音信号的傅里叶变换值、长时能量值和短时能量值;

第二获取单元,用于将所述特征参数输入所述深度学习回声路径延迟估计模型,获取回声路径的延迟估计值。

可选的,所述预处理单元,具体用于:

对所述输入信号进行分帧处理和加窗处理,获取预处理后的语音信号。

可选的,所述时频转换单元,具体用于:

对所述预处理后的语音信号进行快速傅里叶变换或小波变换,获取所述预处理后的语音信号对应的频域信号。

可选的,所述深度学习回声路径延迟估计模型包括语音检测模块、互相关计算模块、延迟估计计算模块、预存的特征值以及和所述特征值对应的目标值。

第三方面,本发明一实施例提供了一种计算机装置,包括:

至少一个处理器,以及与所述至少一个处理器连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面中所述的方法。

第四方面,本发明一实施例提供了一种计算机可读存储介质,包括:

所述计算机可读存储介质上存储有计算机指令,当所述计算机指令被所述计算机装置的至少一个处理器执行时,实现如上述第一方面中所述的方法。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

在本发明实施例中,回声路径延迟估计装置通过执行回声路径延迟估计方法,包括:对输入信号进行预处理获取预处理后的语音信号;对预处理后的语音信号进行时频转换获取频域信号,其中,所述频域信号包括近端频域信号和远端频域信号;获取所述频域信号的特征参数;将所述特征参数输入所述深度学习回声路径延迟估计模型,获取回声路径的延迟估计值。从而解决现有技术中存在的现有的回声消除算法中的回声路径延迟估计方法具有局限性,无法适用于不同的回声环境的技术问题,达到对于不同的回声环境可以采用同一个回声路径延迟估计方法计算回声路径的延迟的技术效果。

附图说明

图1为本发明实施例提供的一种回声路径延迟估计方法的流程图;

图2为本发明实施例提供的深度学习回声路径延迟估计模型的训练方法的流程图;

图3为本发明实施例提供的一种回声路径延迟估计装置的结构示意图;

图4为本发明实施例提供的一种计算机装置的物理结构示意图。

具体实施方式

为了解决上述技术问题,本发明实施例中的技术方案的总体思路如下:

提供了一种回声路径延迟估计方法及装置,具体的,回声路径延迟估计方法包括:

对输入信号进行预处理,获取预处理后的语音信号;其中,所述输入信号包括近端语音信号和远端语音信号;

对所述预处理后的语音信号进行时频转换,获取所述预处理后的语音信号对应的频域信号;其中,所述频域信号包括近端频域信号和远端频域信号;

获取所述频域信号的特征参数,其中,所述特征参数包括噪声阈值、所述近端语音信号的傅里叶变换值、所述远端语音信号的傅里叶变换值、长时能量值和短时能量值;

将所述特征参数输入所述深度学习回声路径延迟估计模型,获取回声路径的延迟估计值。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

请参见图1,本发明实施例一提供了一种回声路径延迟估计方法,具体包括以下步骤:

步骤s110,对输入信号进行预处理,获取预处理后的语音信号;其中,所述输入信号包括近端语音信号和远端语音信号。

步骤s120,对所述预处理后的语音信号进行时频转换,获取所述预处理后的语音信号对应的频域信号;其中,所述频域信号包括近端频域信号和远端频域信号。

步骤s130,获取所述频域信号的特征参数,其中,所述特征参数包括噪声阈值、所述近端语音信号的傅里叶变换值、所述远端语音信号的傅里叶变换值、长时能量值和短时能量值。

步骤s140,将所述特征参数输入所述深度学习回声路径延迟估计模型,获取回声路径的延迟估计值。

首先执行步骤s110,对输入信号进行预处理,获取预处理后的语音信号;其中,所述输入信号包括近端语音信号和远端语音信号。近端语音信号是麦克风采集到的语音,远端语音信息号是扬声器播放的语音。

具体的,例如近端语音信号是由麦克风采集到的语音转换的信号,远端语音信号是由喇叭播放的语音转换的信号。

可选的,对输入信号进行预处理,具体包括对所述输入信号进行分帧处理和加窗处理,获取预处理后的语音信号。

加窗处理的目的是让预处理后的语音信号的幅度在该信号的两个端点处能够渐变到0。例如在后续的语音处理中使用了傅里叶变换,事先对语音信号进行加窗处理就能够提高傅里叶变换的分辨率。

预处理后得到的都是预处理后的语音信号。在分帧时,可以预先设置一个标准帧时长(比如10ms),根据该标准帧时长划分输入信号,从而获取预处理后的语音信号;若划分过程中遇到时长不足1帧的信号,可进行补零操作。

输入信号包括近端语音信号和远端语音信号,在对输入信号进行预处理时,分别对近端语音信号和远端语音信号进行预处理。近端语音信号和远端语音信号进行预处理的先后顺序对获取预处理后的语音信号无影响,该顺序包括以下情况:

情况一,先对近端语音信号进行预处理,再对远端语音信号进行预处理。

情况二,先对远端语音信号进行预处理,再对近端语音信号进行预处理。

情况三,同时对近端语音信号和远端语音信号进行预处理。

根据回声路径延迟估计装置的处理能力和用户需求的运算速度,选择近端语音信号和远端语音信号进行预处理的先后顺序。例如,在用户需求的运算速度快,且回声路径延迟估计装置可以同时处理两路语音信号时,可按照情况三中提供的顺序进行预处理;若回声路径延迟估计装置不能同时处理两路语音信号时,则可按照情况一或者情况二中给出的顺序进行预处理。

在执行完步骤s110之后,继续执行步骤s120,对所述预处理后的语音信号进行时频转换,获取所述预处理后的语音信号对应的频域信号,其中,所述频域信号包括近端频域信号和远端频域信号。

可选的,步骤s120具体包括:

对所述预处理后的语音信号进行快速傅里叶变换或小波变换,获取所述预处理后的语音信号对应的频域信号。

具体的,在执行完步骤s110之后,获取到预处理后的语音信号,对这个预处理后的语音信号进行快速傅里叶变换或小波变换,获取该预处理后的语音信号对应的频域信号;其中,预处理后的语音信号包括由近端语音信号得到的近端预处理后的语音信号和由远端语音信号得到的远端预处理后的语音信号。从而频域信号包括近端频域信号和远端频域信号。

执行完步骤s120,执行步骤s130,获取所述频域信号的特征参数,其中,所述特征参数包括噪声阈值、所述近端语音信号的傅里叶变换值、所述远端语音信号的傅里叶变换值、长时能量值和短时能量值。

执行完步骤s130之后,执行步骤s140,将所述特征参数输入所述深度学习回声路径延迟估计模型,获取回声路径的延迟估计值。

上述深度学习回声路径延迟估计模型可以是基于keras搭建的模型。该模型可以包括以下网络结构的任意组合或全部:卷积神经网络、循环神经网络、lstm和resnet等;网络结构中可以包括以下项的任意组合或全部:激活函数(relu等)、损失函数、权重初始化方法(逐层初始化、xavier等)和防止过拟合方法(dropout,bn等)等。

具体的,所述深度学习回声路径延迟估计模型包括语音检测模块、互相关计算模块、延迟估计计算模块、预存的特征值以及和所述特征值对应的目标值。对深度学习训练模型进行训练可以得到深度学习回声路径延迟估计模型。预存的特征值是训练深度学习训练模型时的训练数据的特征参数,目标值为预存的特征值输入深度学习训练模型后输出的值,目标值也是训练数据标定好的延迟值。

从而在执行步骤s140时,语音检测模块接收所述特征参数,然后输出语音活动检测值;互相关计算模块接收特征参数,输出近端语音信号和远端语音信号之间的互相关系数;延迟估计计算模块接收语音活动检测值和互相关系数,输出输入信号的回声路径的延迟估计值。

具体的,互相关系数可以根据远端频域信号和近端频域信号获取,从而得到的是随着时间变化的互相关系数。互相关系数的取值范围通常为0-1,在本发明实施例中,某一时刻的互相关系数表示该时刻为回声延迟时刻的可能性;例如,时刻t1对应的互相关系数为0.3,则时刻t1为回声延迟时刻的可能性很低,而时刻t2对应的互相关系数为0.95,则时刻t2为回声延迟时刻的可能性很高。

对于语音活动检测值,检测远端频域信号的语音活动,就能够得到远端语音信号的语音活动检测值。语音活动检测值用于表示某一时刻能否检测到语音;通常语音活动检测值取值为0和1,其中取值为0表示该时刻检测不到语音,取值为1表示该时刻能够检测到语音。

具体的,语音活动检测值可以是基于所述远端语音信号的噪声阈值、长时能量值和短时能量值获得的。例如,在长时能量值大于噪声阈值时,若短时能量值大于长时能量值时,语音检测值为1;若短时能量值小于长时能量值时,语音检测值为0;而在长时能量值小于噪声阈值时,语音检测值为0。

在执行步骤s140时,还可以包括以下方式:

方式1,将所述频域信号输入深度学习回声路径延迟估计模型,获取所述输入信号的回声路径的延迟估计值。

上述方式1中的深度学习回声路径延迟估计模型不等同于前述的深度学习回声路径延迟估计模型,方式1中的深度学习回声路径延迟估计模型接收是频域信号,而前述的深度学习回声路径延迟估计模型接收的是特征参数。

对于上述方式1中的方法,具体包括:

将所述频域信号输入所述语音检测模块,获取远端语音信号的语音活动检测值;

将所述频域信号输入所述互相关计算模块,获取所述近端语音信号和所述远端语音信号之间的互相关系数;

将所述语音活动检测值和所述互相关系数输入所述延迟估计计算模块,获取所述输入信号的延迟估计值。

请参见图2,上述深度学习回声路径延迟估计模型m1可以通过训练获得,训练方法包括:

步骤s210,获取训练数据,并确定所述训练数据的时域特征值和目标值。首先执行步骤s210,在步骤s210执行完成后,执行步骤s220。

步骤s220,利用所述时域特征值和目标值,训练基于频域构建的深度学习训练模型,获取模型参数。在步骤s220执行完成后,执行步骤s230。

步骤s230,将所述模型参数及所述深度学习训练模型作为深度学习回声路径延迟估计模型。

步骤s210中的训练数据可以包括近端语音信号和远端语音信号,近端语音信号可以是麦克风采集到的语音,远端语音信号可以是扬声器播放的语音;此处的近端语音信号和远端语音信号是纯净环境中的语音,纯净环境是噪声信息单一、噪声阈值易于确定的一种噪声环境。

具体的,对于噪声环境可以是本领域技术人员根据经验设置的,也可以本领域技术人员通过一次或多次试验确定的,在此不作限定。在本发明实施例中,获取训练数据可以由工作人员携带语音采集装置分别在远端语音环境和近端语音环境中分别收集远端语音信号近端语音信号。例如,噪声阈值为-30db,在同一楼层中有1号房间和2号房间,2号房间和1号房间之间完全隔离(也就是2号房间接收不到1号房间传来的声音);工作人员在1号房间说“回声测试”,2号房间中,工作人员采集扬声器播放的“回声测试”,获取远端语音信号,近端语音信号是2号房间中麦克风采集的由扬声器播放的“回声测试”。

由于训练数据是语音信号,从而训练数据具有时域特征和频域特征。语音信号的时域特征可以由语音信号的幅度维度和时间维度描述,例如,时域特征可以表示为语音信号的幅度值随时间变化的函数;利用时频特征,可以获取语音信号在某个时间段内的能量值、某个时间点的幅度值等。语音信号的频域特征可以用语音信号的幅度值维度和语音信号的频率维度描述,例如,频域特征表示为幅度值随频率变化的函数。同一语音信号的时域特征和频域特征之间可以互相转换,例如,通过傅里叶变换将随时间变化的语音信号拆解成多个具有不同频率的语音信号。

训练数据的时域特征值包括远端语音信号和近端语音信号各自的傅里叶变换值、噪声阈值、长时能量值、短时能量值和噪声包络跟踪值中的一项或多项。该时域特征值还可以包括其它信息,在此不作限定。

其中,长时能量值和短时能量值用于指示语音信号在某一时间段内的能量信息。长时能量值是近端语音信号中a帧的一段语音信号的总能量的平均值,预处理后的语音信号是近端语音信号中最近的b帧的一段语音信号的能量值,a和b为正整数;例如a为3、5、10或12,b为1、2或3。a和b的数值可以根据实际情况选择,在此不做限定。

对于噪声阈值来说,噪声阈值可以用于指示噪声的幅度值范围。噪声阈值可以是预先定义的,例如,噪声阈值为-40db,训练数据中幅度值小于-40db的部分就认定为噪声,幅度值大于-40db的部分认定为语音。不同的噪声环境对应于不同的噪声阈值,例如,办公室这一环境对应的噪声阈值为-10db,商场对应的噪声阈值为-30db。噪声阈值还可以由算法得出,例如,根据噪声包络跟踪和长时能量值,对噪声幅度值进行跟踪,从而确定噪声阈值。由于噪声比语音通常具有更宽的时间特性,因此,也可以跟踪语音信号中每一帧语音信号对应的最小幅度值来获取噪声幅度值。例如,可以根据语音信号中的每一帧语音信号对应的最小幅度值来绘制噪声包络跟踪图,并根据该图和预设指标(例如快降慢升原则),计算噪声包络值。

训练数据的目标值可以是根据远端语音信号和近端语音信号标定的延迟值,例如,在上述2号房间中获取的远端语音信号的近端语音信号之间存在一定的时间差(即延迟值),该时间差可由工作人员通过语音播放工具进行手工标定。

深度学习训练模型的构建方法可以有多种,比如可以基于keras构建深度学习训练模型。keras是一个基于theano的高度模块化的神经网络库,比如,keras可以基于torch并可以采用python语言进行编写,且keras可以支持图形处理器(graphicsprocessingunit,gpu)和中央处理器(centralprocessingunit,cpu)。

具体的,深度学习训练模型可以包括语音活动检测模块、互相关计算模块和延迟估计模块。深度学习训练模型可以将训练数据的特征值作为深度学习训练模型的输入信息,并将训练数据的目标值作为深度学习训练模型的输出信息,进而深度学习训练模型根据输入信息和输出信息进行模型训练,得到模型参数。例如,深度学习训练模型通过将特征值输入语音活动检测模块,可以得到第一模型参数;将第一模型参数输入互相关计算模块,可以得到第二模型参数;将第一模型参数和第二模型参数共同输入延迟估计模块,可以得到训练数据经过深度学习训练模型训练后的模型参数。需要说明的是,深度学习训练模型中的各个模块可以为通过keras构建的功能模块。

请参见图3,本发明实施例二提供了一种回声路径延迟估计装置30,所述装置包括:

预处理单元301,用于对输入信号i1进行预处理,获取预处理后的语音信号;其中,所述输入信号包括近端语音信号和远端语音信号;

时频转换单元302,用于对所述预处理后的语音信号进行时频转换,获取所述预处理后的语音信号对应的频域信号;其中,所述频域信号包括近端频域信号和远端频域信号;

第一获取单元303,用于获取所述频域信号的特征参数,其中,所述特征参数包括噪声阈值、所述近端语音信号的傅里叶变换值、所述远端语音信号的傅里叶变换值、长时能量值和短时能量值;

第二获取单元304,用于将所述特征参数输入所述深度学习回声路径延迟估计模型,获取回声路径的延迟估计值d1。

可选的,所述预处理单元,具体用于:

对所述输入信号进行分帧处理和加窗处理,获取预处理后的语音信号。

可选的,所述时频转换单元,具体用于:

对所述预处理后的语音信号进行快速傅里叶变换或小波变换,获取所述预处理后的语音信号对应的频域信号。

可选的,所述深度学习回声路径延迟估计模型包括语音检测模块、互相关计算模块、延迟估计计算模块、预存的特征值以及和所述特征值对应的目标值。

请参见图4,本发明实施例三提供了一种计算机装置,包括:

至少一个处理器401,以及与所述至少一个处理器连接的存储器402;

其中,所述存储器402存储有可被所述至少一个处理器401执行的指令,所述至少一个处理器401通过执行所述存储器402存储的指令,执行如上述方法实施例中所述的方法的步骤。

可选的,处理器401具体可以包括中央处理器(centralprocessingunit,cpu)、特定应用集成电路(applicationspecificintegratedcircuit,asic),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(fieldprogrammablegatearray,fpga)开发的硬件电路,可以是基带处理器。

可选的,处理器401可以包括至少一个处理核心。

可选的,该装置还包括存储器402,存储器402可以包括只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)和磁盘存储器。存储器402用于存储处理器401运行时所需的数据。

本发明实施例四提供了一种计算机可读存储介质,其特征在于,包括:

所述计算机可读存储介质上存储有计算机指令,当所述计算机指令被所述计算机装置的至少一个处理器执行时,实现如上述方法实施例中所述的方法。

上述本发明实施例中的技术方案,至少具有如下的技术效果或优点:

在本发明实施例中,回声路径延迟估计装置通过执行回声路径延迟估计方法,包括:对输入信号进行预处理获取预处理后的语音信号;对预处理后的语音信号进行时频转换获取频域信号,其中,所述频域信号包括近端频域信号和远端频域信号;获取所述频域信号的特征参数;将所述特征参数输入所述深度学习回声路径延迟估计模型,获取回声路径的延迟估计值。从而解决现有技术中存在的现有的回声消除算法中的回声路径延迟估计方法具有局限性,无法适用于不同的回声环境的技术问题,达到对于不同的回声环境可以采用同一个回声路径延迟估计方法计算回声路径的延迟的技术效果。

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

本领域内的技术人员应明白,本发明实施例可提供为方法、设备、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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

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

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

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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