一种时延估计系统及装置

文档序号:33474930发布日期:2023-03-15 09:52阅读:128来源:国知局
技术简介:
本发明针对回声抵消和双端对讲场景中时延估计精度低、收敛慢、过估计率高的问题,提出基于编码器-时序建模结构的分类方法,通过设计时变训练集和加权交叉熵损失函数,有效控制估计误差与方差,显著提升长混响、大时延场景下的时延跟踪性能与语音质量。
关键词:时延估计,回声抵消

1.本发明属于音频信号处理领域,具体涉及一种时延估计系统及装置。


背景技术:

2.在语音通信、人机交互等应用中,扬声器播放的信号又被传声器接收,造成通信质量和语音识别率下降,这就是声学回声问题。声学回声抵消利用远端信号作为参考,从近端传声器接收信号中消除回声的干扰。回声抵消的解决方案包括自适应滤波、深度学习和混合模型。
3.在线会议等系统的快速发展对回声抵消提出了新的挑战,时延估计是其中的一个关键问题。网络传输、数模或模数转换、语音编解码和信号预处理等实际情况,会导致超长时延和时变时延的问题。时延会导致回声抵消算法性能下降,因而需要在回声抵消前增加一个时延估器。时延估计器估计参考信号与回声信号之间的时延,并利用估计的时延对齐参考信号。时延估计的代表性算法包括广义互相关(generalized cross correlation with phase transform,gcc-phat)法、webrtc中的帧能量对比法、参数模型法等。gcc-phat方法在大时延时复杂度较高,无法满足实时估计要求。帧能量对比法需要提前测量时延值的更新概率,参数模型利用降采样后的信号进行初步的回声路径估计,根据滤波器的峰值位置求时延。这两种方法在长混响、非线性回声和双端对讲场景下性能下降。而在实际使用场景中,由于设备的多样性,长时延、时变时延、长混响、非线性回声和低信号回声比都是不可避免的问题。
4.随着深度学习技术的不断发展,编码器-时序建模-解码器的结构在深度学习语音增强、回声抵消中表现优异。在波达时间差估计领域已有将信号相关系数作为特征输入到全连接网络中来估计时延的方法,但此类方法在估计长时延时计算量过大,并且全连接网络也不具备记忆能力。现有的时延估计方法存在计算量大、复杂声环境性能退化的问题。


技术实现要素:

5.本发明的目的在于克服现有时延估计技术存在长混响、大时延和双端对讲容易误估计的缺陷。
6.为了实现上述目的,本发明提出了一种时延估计系统,所述系统基于编码器-时序建模结构实现,用于经过训练后,计算时延估计值;所述系统包括:
7.信号时频特征提取模块,用于提取输入的远端参考信号和传声器信号的时频特征;
8.编码器模块,用于对信号时频特征提取模块输出的时频特征进行模式识别,得到频率分辨率更低、通道数更多的信号特征;
9.时序建模模块,用于利用编码器模块输出的信号特征提取远端参考信号和传声器信号之间的时延特征;
10.时延分类器,用于对时序建模模块输出的时延特征分类得到时延估计位;
11.时延计算模块,用于根据时延分类器输出的时延估计位计算得到估计的时延块数,将估计的时延块数与时延估计精度相乘,得到时延估计值。
12.作为上述系统的一种改进,所述信号时频特征提取模块的工作流程具体为:对远端参考信号和传声器信号做短时傅里叶变换得到由时间帧和频率块两个维度组成的时频特征。
13.作为上述系统的一种改进,所述编码器模块包括多个编码器基本单元。
14.作为上述系统的一种改进,所述编码器基本单元包括复数二维卷积层、复数批归一化层和复数参数化整流线性单元;
15.所述复数二维卷积层,用于对信号时频特征提取模块输出的时频特征做基于复数运算规则的二维卷积,得到频率分辨率更低、通道数更多的复数信号特征;
16.所述复数批归一化层,用于对复数二维卷积层输出的复数信号特征做基于复数运算规则的批归一化,得到批归一化后的复数信号特征;
17.所述复数参数化整流线性单元层,用于对复数批归一化层的输出做基于复数运算规则的非线性变换,将复数信号特征映射到更适合网络训练的值域,得到编码器基本单元的输出信号特征。
18.作为上述系统的一种改进,所述时序建模模块包括维度调整单元、复数门控循环单元、取幅度单元和实数门控循环单元;
19.所述维度调整单元,用于对编码器模块的输出信号特征进行维度调整,将输出信号特征在通道维度上将实部、虚部拆分开来,具体地将通道按顺序拆分成两半,前一半为信号特征的实部,后一半为信号特征的虚部;
20.然后将信号特征的实部、虚部的通道、频率块两个维度重新排列到同一个维度中;具体地,按通道顺序拼接各频率块,得到适用于输入到循环神经网络中运算的信号特征的实部和虚部;
21.所述复数门控循环单元输入神经元数为h1,隐含神经元数为h2;所述复数门控循环单元,用于利用维度调整单元的输出做基于复数运算规则的门控循环,得到复数门控循环单元的输出特征的实部和虚部;
22.所述取幅度单元,用于将复数门控循环单元输出的实部和虚部平方相加后开方,得到相应的幅度特征,输入到实数门控循环单元;
23.所述实数门控循环单元输入神经元数为h2/2,隐含神经元数为h3;所述实数门控循环单元,用于得到时序建模模块的输出特征,即远端参考信号和传声器信号之间的时延特征。
24.作为上述系统的一种改进,所述时延分类器包括由线性层堆叠成的i元分类器、推断单元和训练单元;
25.所述由线性层堆叠成的i元分类器输入神经元数为h3,输出神经元数为i;所述由线性层堆叠成的i元分类器,用于根据时序建模模块输出的时延特征得到各时延类对应的分类概率;若是推断阶段,则输出至推断单元,若是训练阶段,则输出至训练单元;
26.所述推断单元,用于对i元分类器输出的分类概率做硬最大化操作,得到概率最大的时延估计位,输出至时延计算模块;
27.所述训练单元,用于对i元分类器输出的分类概率做软最大化操作,确保每个时间
帧的各时延估计位的概率之和为1,用于与训练标签进行损失计算。
28.作为上述系统的一种改进,所述时延计算模块使用的时延估计精度为短时傅里叶变换的帧移除以采样率。
29.作为上述系统的一种改进,所述系统的训练的方法包括:
30.步骤1:构建训练集,每组样本包括远端参考信号、传声器信号和时延真值;
31.步骤1-1:分别采集语音信号和噪声信号;
32.步骤1-2:将采集到的语音信号分为远端和近端语音信号;
33.步骤1-3:生成房间脉冲响应;
34.步骤1-4:对远端参考信号做非线性变换;
35.步骤1-5:将房间脉冲响应信号与经非线性变换后的远端参考信号卷积,得到回声信号;
36.步骤1-6:在设定范围内取随机数,得到一例时延真值,并在回声信号前补零,得到相应的延时后的回声信号;
37.步骤1-7:将语音信号、噪声信号和延时后的回声信号按照设定的信噪比和信号回声比混合,得到传声器信号;
38.步骤2:进行训练和验证;
39.步骤2-1:对每条样本分成几个时间段,真实时延相对上一阶段的时延有正负若干毫秒以内的随机抖动;
40.步骤2-2:将训练集按照b1组样本一批进行划分,并将划分后的样本按批次输入所述时延估计系统得到该批次中每帧语音属于每个时延类的概率;具体地,每组样本包含远端参考时域信号和传声器时域信号,按顺序经过信号时频特征提取模块、编码器模块、时序建模模块和时延分类器,其中时延分类器使用线性层堆叠成的i元分类器和训练单元;得到样本的时延概率后,结合真实时延的标签,计算损失函数,并通过反向传播计算网络中参数的梯度以训练神经网络;
41.步骤2-3:将验证集按照b2,0《b2《b1组样本一批进行划分,并将划分后的样本按批次输入所述时延估计系统得到该批次中每帧语音属于每个时延类的概率;得到样本的时延概率后,结合真实时延的标签,计算损失函数;
42.步骤2-4:重复将训练集、验证集的语音按批次输入到所述时延估计系统进行训练直至收敛,并对比不同训练轮次时验证集上的损失函数值,保存损失值最小的参数作为最终的模型用于时延估计。
43.作为上述系统的一种改进,所述损失函数为:
44.加权的交叉熵损失函数wce:
[0045][0046]
其中,ci、和wi分别表示第i个时延估计位所对应的标签、预测和权重,i表示总类数,即候选的时延估计位的总个数;
[0047]
使用有偏映射设置分类标签ci,使得标签时延相对真实时延小t毫秒,根据回声抵消算法可容忍的最大时延,选择对应的t的值;
[0048]
将大于真实时延的权重设置成大于1的数,将小于等于真实时延的权重设置成1。
[0049]
本发明还提供一种时延估计装置,基于上述系统实现,所述装置包括:
[0050]
时延估计系统(605),用于根据参考信号和传声器信号估计时延。
[0051]
作为上述装置的一种改进,,所述装置还包括:
[0052]
回环采集模块,用于在扬声器播放前采集参考信号;
[0053]
传声器,用于拾取目标环境中的信号;
[0054]
a/d模块,用于将传声器拾取的声信号转换成对应的数字信号;
[0055]
编码传输解码模块,用于对采集的参考信号的数字信号编码后传输给时延估计系统,将该信号解码后,参考信号和传声器信号一起输入时延估计系统;
[0056]
时延对齐模块,用于根据估计的时延对齐参考信号。
[0057]
作为上述系统的一种改进,所述装置还包括:
[0058]
回声抵消模块,用于利用传声器信号和时延对齐后的参考信号做回声抵消,得到回声抵消后的近端信号;
[0059]
编码传输解码模块,用于对回声抵消后的近端信号编码后传输到下一阶段的通信或后端处理模块,解码后可做进一步处理。
[0060]
与现有技术相比,本发明的优势在于:
[0061]
提出了一种基于深度学习的时延估计方法,将时延估计设计问题为分类问题。通过设计训练集和标签,可以控制时延估计的精度、上限和估计误差。采用编码器-时序建模结构的深度学习网络,将远端参考和传声器信号映射到表征不同时延值的分类标签上。时延时变的训练集,能够降低时延估计的方差。通过改进加权的交叉熵损失的标签和权值,预先根据真实时延值设置不均匀的误分类成本,进一步减小时延估计的误差和方差,并尽量避免时延过估计的现象。在长混响、大时延和双端对讲情况下,本发明的时延估计收敛时间、跟踪时间更短,过估计率更低。将时延估计算法与自适应滤波级联,当滤波器收敛到稳态后,本发明与自适应滤波级联的系统具有更大的远端单讲回声抵消量和更好的双端对讲语音质量。进一步地,本发明的设计思路在深度学习回声抵消中也有一定的借鉴意义。
附图说明
[0062]
图1所示为时延估计系统的工作流程示意图;
[0063]
图2所示为实施例1的编码器结构图;
[0064]
图3所示为实施例1的编码器基本单元结构图;
[0065]
图4所示为实施例1的时序建模模块结构图;
[0066]
图5所示为实施例1的时延分类器结构图;
[0067]
图6所示为基于编码器-时序建模结构的时延估计装置的结构示意图。
具体实施方式
[0068]
编码器-时序建模结构天然地具备特征提取、压缩和时序记忆的能力,因此有潜力应用到长时延估计中。本发明设计了一种适用于长混响、大时延和双端对讲场景的稳健的时延估计系统。现有的时延估计系统存在计算量大、复杂声环境性能退化的问题,而本发明设计的编码器-时序建模结构的时延估计系统可以弥补相应的缺陷。
[0069]
下面结合附图和具体实施方式对本发明作进一步详细描述:
[0070]
本发明将时延估计设计为分类问题,通过设置训练标签来控制时延估计模块的分辨率和最大估计值。
[0071]
实施例1.
[0072]
本发明基于编码器-时序建模结构的时延估计系统工作流程图如图1所示,主要包括:
[0073]
信号时频特征提取模块101:提取远端参考和传声器信号的时频特征,用作神经网络的输入。需要说明的是,提取时频特征的方法很多,比如做重叠保留的傅里叶变换、短时傅里叶变换、小波变换等。在此实例中,选取了短时傅里叶变换后的特征作为网络的输入。研究发现,直接将短时傅里叶变换后的时频特征作为网络输入,能够充分利用相位和幅度的信息,对利用信号间相关信息的时延估计问题十分有效。
[0074]
信号时频特征提取模块101的工作步骤如下:
[0075]
步骤101)对采样率的输入信号进行分帧;本实施例每一帧长度为20毫秒,帧移为10毫秒;
[0076]
步骤102)对得到的每一帧信号乘以汉宁窗(hann窗),以减少频谱泄露;
[0077]
步骤103)对处理后的每一帧信号进行离散傅里叶变换,得到信号的复数谱;远端参考信号的时频特征记为传声器信号的时频特征记为t为一条样本经过短时傅里叶变换后包含的时间帧数,f为傅里叶变换点数;
[0078]
步骤104)将信号复数谱的实部和虚部分别取出放在两个通道里,得到网络的输入时频特征。
[0079]
编码器模块102:与信号时频特征提取模块101的输出端连接,对提取到的输入时频特征进行模式识别,得到频率分辨率更低、通道数更多的信号特征。使用编码器进一步识别信号模式,对网络整体性能提升十分重要。如图2所示,编码器模块102由5个编码器基本单元组成。
[0080]
编码器基本单元的具体细节如图3所示,包括复数二维卷积层301、复数批归一化层302和复数参数化整流线性单元层(parametric rectified linear unit,prelu层)303。与实数二维卷积层、实数批归一化层和实数prelu层不同的是,复数二维卷积层、复数批归一化层和复数prelu层具有实部、虚部两组参数用于复数运算。输入特征的实部xr经过实部参数得到x
rr
,经过虚部参数得到x
ri
;输入特征的虚部xi经过实部参数得到x
ir
,经过虚部参数得到x
ii
;复数运算后该复数神经网络层的输出特征的实部为x
rr-x
ii
、虚部为x
ri
+x
ir

[0081]
复数二维卷积层301,用于对信号时频特征提取模块101输出的时频特征的做基于复数运算规则的二维卷积,得到频率分辨率更低、通道数更多的复数信号特征;
[0082]
复数批归一化层302,用于对复数二维卷积层301输出的复数信号特征做基于复数运算规则的批归一化,得到批归一化后的复数信号特征,利于网络的训练;
[0083]
复数参数化整流线性单元层303,用于对复数批归一化层302的输出做基于复数运算规则的非线性变换,将复数信号特征映射到更适合网络训练的值域,得到编码器基本单元的输出信号特征。
[0084]
具体地,设定二维卷积核数目为n,卷积核大小为(k1,k2),卷积步长为(s1,s2)。以上三个操作构成编码器层基本单元,并且编码器可以由多个基本单元级联组成。
[0085]
编码器模块102的工作步骤如下:
[0086]
步骤201)远端参考信号的时频特征经过编码器基本单元1,得到远端参考特征x',其中实部虚部被拆分成两个通道,t为一条样本经过短时傅里叶变换后包含的时间帧数,f为傅里叶变换点数。本实施例中,根据步骤101)中信号采样率和帧长可知,傅里叶变换点数为320。
[0087]
编码器基本单元1的参数设置为卷积核大小为(5,3),卷积步长为(1,2),输入通道数为2,输出通道数为4;
[0088]
步骤202)传声器信号的时频特征经过编码器基本单元2,得到传声器特征y'。编码器基本单元2的参数设置为卷积核大小为(5,3),卷积步长为(1,2),输入通道数为2,输出通道数为4;
[0089]
步骤203)将远端参考性特征x'和传声器特征y'按实部虚部分开拼接起来,得到拼接后的特征
[0090]
步骤204)将拼接后的特征输入编码器基本单元3,得到编码器输出的时频特征编码器基本单元3的参数设置为卷积核大小为(5,3),卷积步长为(1,2),输入通道数为8,输出通道数为16;
[0091]
步骤205)将拼接后的特征输入编码器基本单元4,得到编码器输出的时频特征编码器基本单元4的参数设置为卷积核大小为(5,3),卷积步长为(1,2),输入通道数为16,输出通道数为32;
[0092]
步骤206)将拼接后的特征输入编码器基本单元5,得到编码器输出的时频特征编码器基本单元5的参数设置为卷积核大小为(5,3),卷积步长为(1,2),输入通道数为32,输出通道数为64;
[0093]
通过上述编码器模块,得到降低频率分辨率、增加通道数的特征同时将其输入到下一模块,进行进一步的特征提取。
[0094]
时序建模模块103:与编码器模块102的输出端连接,用来提取与远端参考信号和传声器信号之间的时延特征。时序建模模块103的具体细节如图4所示。
[0095]
时序建模模块103的工作步骤如下:
[0096]
步骤401)通过维度调整单元进行特征维度调整操作,对编码器输出信号特征进行维度调整,得到时序建模模块的输入特征。具体地,将编码器输出特征的实部虚部拆分开来,得到编码器输出特征的实部和编码器输出特征的虚部然后,对编码器输出特征的实部虚部的特征维度重新排列,按通道顺序重排,得到输入时序建模模块的实部特征和虚部特征
[0097]
具体的,将输出信号特征(形状是:[通道,时间帧,频率块])在通道维度上拆分开实部和虚部,即将通道按顺序拆分成两半,前一半为信号特征的实部,后一半为信号特征的虚部;然后将信号特征的实部、虚部的通道、频率块两个维度重新排列到同一个维度中,即按通道顺序拼接各频率块,得到适用于输入到循环神经网络中运算的信号特征的实部和虚部(形状是:[时间帧,频率块])。
[0098]
步骤402)复数门控循环单元输入神经元数为h1,隐含神经元数为h2。复数门控循环单元,用于利用维度调整单元的输出做基于复数运算规则的门控循环,得到复数门控循
环单元的输出特征的实部和虚部(形状是:[时间帧,频率块])。具体地,将输入时序建模模块的实部、虚部特征输入到复数门控循环单元中,设定实部门控循环单元层和虚部门控循环单元层的输入神经元数和隐含神经元数各为288和150,输出得到时序特征的实部和时序特征的虚部
[0099]
步骤403)通过取幅度单元进行取幅度操作,将复数门控循环单元输出的实部和虚部平方相加后开方,得到相应的幅度特征,即实数门控循环单元的输入特征(形状是:[时间帧,频率块])。具体的,将复数门控循环单元输出的实部虚部平方相加后开方,得到实数域的时序特征。将复数门控循环单元401输出做取幅度操作402,具体的对时序特征的实部和虚部按位求平方和后开根号,得到输入实数门控循环单元403的实数时序中间特征
[0100]
步骤404)实数门控循环单元输入神经元数为h2/2,隐含神经元数为h3。实数门控循环单元,利用实数门控循环单元的输入特征得到时序建模模块103的输出特征,即远端参考信号和传声器信号之间的时延特征。具体的,将实数时序中间特征输入实数门控循环单元404,设定输入神经元数为150,隐含神经元数为100,层数为5,输出得到时序建模结构的输出特征
[0101]
以上三个操作构成时序建模模块,其中复数门控循环单元和实数门控循环单元可多层堆叠。
[0102]
时延分类器104:与时序建模模块103的输出端相连接。时延分类器104接收到时序建模模块103的输出并对其进行分类以得到时延估计位。时延分类器104对输入远端参考信号与传声器信号间时序特征进行建模并最终得到时延估计位的判断。时延分类器104的具体细节如图5所述。
[0103]
时延分类器104的工作步骤如下:
[0104]
步骤501)由线性层堆叠成的i元分类器。其中所述线性层的输入神经元数为h3,输出神经元数为i。由线性层堆叠成的i元分类器,用于根据时序建模模块(103)输出的时序特征得到各时延类对应的分类概率;若是推断阶段,则输出至推断单元,若是训练阶段,则输出至训练单元。具体的,基于线性层的i元分类器的i个节点分别输出该信号属于不同时延估计位的概率。根据基于线性层的i元分类器的输出,可以得到该时延估计系统对输入远端参考信号与传声器信号所属时延估计位。设定线性层数为1,输入维度为100,输出维度为200,则时序特征经过线性层后得到分类特征分类器输出神经元数i与最大可估计时延块数相等,也是分类器可分类的总类数;若是推断阶段,则进步骤502;若是训练阶段,则进步骤503;
[0105]
步骤502)在推断阶段,对线性层输出的分类概率做硬最大化操作,得到概率最大的时延估计位输入到时延计算模块105中得到估计的时延值;
[0106]
步骤503)在训练阶段,对线性层输出的分类概率做软最大化操作,确保每个时间帧的各时延估计位的概率之和为1,用于与训练标签进行损失计算。
[0107]
时延计算模块105:与时延分类器104的输出端相连接。总类数i减去时延分类器104输出的时延估计位,得到估计的时延块数。将计算得到的时延块数与所设计的时延估计精度相乘,得到时延估计值的最终结果。时延估计精度为短时傅里叶变换的帧移除以采样
率。以第l个时间帧为例,将最大可估计时延块数l与实验分类器104输出的时延估计位相减,得到第l个时间帧处估计的时延块数估计的时延块数与所设计的时延估计精度相乘,得到最终的时延估计值本实施例中,根据步骤101)中信号采样率和帧移可知,帧移m为160个采样点。
[0108]
以上的各部分神经网络模型,若没有特别注明的,均采用本领域技术人员熟知的常规方法。
[0109]
实施例2.
[0110]
由于需要进行神经网络训练,依据本发明的基于编码器-时序建模结构的时延估计方法,按照如下步骤实现:
[0111]
训练基于编码器-时序建模结构的神经网络分类器往往采用搜集的语音、噪音素材构建的仿真数据集训练与评估一个时延估计系统。
[0112]
首先,构建用于回声抵消时延估计的训练集,每组样本包括远端参考信号、传声器信号和时延真值。具体步骤包括:
[0113]
(a)分别采集语音信号和噪声信号。本实例中语音信号来自于librispeech,噪声信号来自于interspeech 2021dns-challenge的噪声数据集。librispeech数据集中,train-clean-100和dev-clean分别用于构建训练集和验证集。interspeech 2021dns-challenge噪声数据集中,前80%和后20%分别用于构建训练集和验证集;
[0114]
(b)将采集到的语音信号分为远端和近端语音信号。对于用于训练集或验证集的语音数据集,先将语音按字母顺序排列,再将前半部分语音作为远端信号,后半部分语音作为近端信号;
[0115]
(c)生成房间脉冲响应,方法包括用镜像法生成房间脉冲响应,或从实录的房间脉冲响应样本中截取一定时长的片段。本实例中采用镜像法生成房间脉冲响应;
[0116]
(d)对远端参考信号做非线性变换,用硬削波或软削波模拟功放引起的非线性,用tanh和sigmoid函数来模拟扬声器引起的非线性;
[0117]
(e)将(c)中生成的房间脉冲响应信号与经非线性变换(d)后的远端参考信号卷积,得到回声信号;
[0118]
(f)在一定范围内取随机数,得到一例时延真值,并在(e)生成的回声信号前补零,得到相应的延时后的回声信号;
[0119]
(g)将近端语音信号、噪声和延时后的回声信号按照一定的信噪比和信号回声比混合,得到传声器信号。互相对应的远端参考信号、传声器信号和真实时延组成一个样本,其中远端参考信号和传声器信号为输入信号,真实时延为样本标签;
[0120]
(h)在训练和验证时,对每条样本分成几个时间段,真实时延相对上一阶段的时延有正负若干毫秒以内的随机抖动;
[0121]
将训练集按照b1(b1属于正整数集,可视训练资源作具体设置)组样本一批进行划分,并将划分后的样本按批次输入所述时延估计系统得到该批次中每帧语音属于每个时延类的概率;具体地,每组样本包含远端参考时域信号和传声器时域信号,按顺序经过信号时频特征提取模块101、编码器模块102、时序建模模块103和时延分类器104,其中时延分类器104使用线性层和训练单元;得到样本的时延概率后,结合真实时延的标签,计算损失函数,
并通过反向传播计算网络中参数的梯度以训练神经网络;
[0122]
将验证集按照b2(b2属于正整数集,可视训练资源作具体设置,建议0《b2《b1)组样本一批进行划分,并将划分后的样本按批次输入所述时延估计系统得到该批次中每帧语音属于每个时延类的概率;得到样本的时延概率后,结合真实时延的标签,计算损失函数;
[0123]
重复将训练集、验证集的语音按批次输入到所述时延估计系统进行训练直至收敛,并对比不同训练轮次时验证集上的损失函数值,保存损失值最小的参数作为最终的模型用于时延估计。
[0124]
本发明使用的损失函数为加权的交叉熵(weighted cross entropy,wce)损失函数:
[0125][0126]
其中,ci、和wi分别表示第i个时延估计位所对应的标签、预测和权重,i表示总类数,即候选的时延估计位的总个数;
[0127]
本发明对损失函数做出了两点改进。
[0128]
第一是分类标签ci的设置。为了尽量降低时延过估计的概率,本发明使用有偏映射来设置分类标签ci,使得标签时延相对真实时延小t毫秒。(根据具体的回声抵消算法可容忍的最大时延,可选择对应的t的值。)
[0129]
第二是分类权重wi的设置。将大于真实时延的各类的权重设置成大于1的数,将小于等于真实时延的各类的权重设置成1。通过提高误分类代价来提高分类的准确率,同时也起到降低估计方差的作用。
[0130]
在本实施例中,训练集、验证集中每条样本时长为10秒,训练集共包含500小时的样本,验证集共包含100小时的样本。
[0131]
然后,在训练、验证时,对每条样本的时延进行每1秒一次的变化,真实时延相对前1秒有正负100毫秒以内的随机抖动。随机抖动的增加,有助于提高时延估计系统应对时延变化的能力。将训练集按照128组样本一批进行划分,并将划分后的样本按批次输入实例1所述的时延估计系统以得到该批次中每帧语音属于每个时延类的概率。得到样本的时延概率后,结合真实时延的标签,计算损失函数,并通过反向传播计算网络中参数的梯度以训练神经网络。将验证集按照8组样本一批进行划分,并将划分后的样本按批次输入实例1所述的时延估计系统以得到该批次中每帧语音属于每个时延类的概率。得到样本的时延概率后,结合真实时延的标签,计算损失函数。重复将训练集、验证集的语音按批次输入到神经网络进行训练直至收敛,并比不同训练轮次时验证集上的损失函数,保存损失最小的参数作为最终的模型用于时延估计。
[0132]
最后,使用训练好的时延估计系统进行时延估计任务。
[0133]
实施例3.
[0134]
如图6所示,本发明还提供了一种时延估计装置,该装置包括:
[0135]
回环采集模块601,用于在扬声器播放前采集参考信号(数字信号)。
[0136]
传声器602,用于拾取近端声信号。近端信号中包含近端语音信号、回声信号和近端背景噪声信号,其中回声信号是回声抵消系统的消除目标,近端语音信号是需要保留的信号。
[0137]
a/d模块603,用于将所述传声器拾取的声信号(模拟信号)转换成对应的数字信号,以便将其和参考信号一起送入处理器等设备执行相关的时延估计、回声消除算法;
[0138]
编码传输解码模块604,用于对采集的参考信号的数字信号编码后传输给时延估计系统605,将该信号解码后,参考信号和传声器信号一起输入时延估计系统605;
[0139]
时延估计模块605,包含实施例1中所述时延估计方法的5个步骤,用于根据参考信号和传声器信号估计时延;
[0140]
时延对齐模块606,用于根据估计的时延对齐参考信号。具体地,回声抵消模块的传声器信号缓冲区中存储当前帧的信号,而参考信号缓冲区存储过去帧和当前帧的信号,参考信号缓冲区总时长等于最大可估计时延。根据估计的时延、信号采样率,以及采用的回声抵消算法的作用域、帧长和帧移可以计算得到时延对齐后的参考信号的索引位置;
[0141]
所述装置还包括:回声抵消模块和编码传输解码模块;
[0142]
所述回声抵消模块607,用于利用传声器接收信号和时延对齐后的参考信号做回声抵消,以得到回声抵消后的近端信号;
[0143]
所述编码传输解码模块608,用于对回声抵消后的近端信号编码后传输到下一阶段的通信或后端处理模块,解码后可做进一步处理。
[0144]
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!