本文作者:kaifamei

一种基于双线性分解的WLS多通道语音去混响方法与流程

更新时间:2025-12-25 20:06:53 0条评论

一种基于双线性分解的WLS多通道语音去混响方法与流程


一种基于双线性分解的wls多通道语音去混响方法
技术领域
1.本发明属于智能语音技术领域,涉及语音技术,具体涉及一种基于双线性分解的wls多通道语音去混响方法。


背景技术:



2.依据各类标准,语音去混响技术可以被划分为多个类别。其中一种分类标准是按照语音接收端麦克风的数量,可以将去混响方法分为单通道去混响方法和多通道去混响方法。由于单通道去混响技术对硬件设备的要求低,只需要单个麦克风,拥有较低的成本,因此也赢得了广泛的关注。然而,单个麦克风在接收语音信号时,无法获得语音信号传播过程中的空间信息,相比于多个麦克风而言,能够利用的信息更少。在此基础上,多通道去混响技术应运而生。
3.加权预测误差(wpe)方法是迄今为止最有效的去混响算法之一,它是一种经典的基于多通道线性预测的语音去混响方法,对于提高语音质量非常有效。该方法基于时变高斯模型对语音信号进行建模,利用最大似然估计来估计线性预测滤波器,通过方差与滤波器系数两者交替迭代计算得出去混响之后的语音信号。加权最小二乘法(wls)是对原模型进行加权,使之成为一个新的不存在异方差性的模型,wls直接应用于语音去混响,算力需求较高,限制了在自适应滤波领域的应用。


技术实现要素:



4.为将去混响问题引入自适应滤波领域,本发明公开了一种基于双线性分解的wls多通道语音去混响方法。
5.本发明所述基于双线性分解的wls多通道语音去混响方法,如图1所示,包括如下步骤:s1.利用麦克风阵列采集语音信号并转化为数字信号形式的混响语音时域信号xm(n),表示为:xm(n)=hm(n)*s(n)+vm(n);式中*表示线性卷积,s(n)表示纯净语音信号,hm(n)表示的是声源与第m个麦克风之间的房间脉冲响应且其长度为lh,vm(n)表示背景噪声,m和n分别表示第m个麦克风和第n个离散时间;s2.令麦克风阵列中第一个麦克风为参考麦克风,假设背景噪声为零,以混响语音时域信号xm(n)为基础,将参考麦克风信号模型以公式3描述:
‑‑‑
公式3 公式3中上标t和*分别表示矩阵的转置和共轭运算,d1(k)表示参考麦克风在时频域的期望信号,g(k)为预测滤波器系数向量,其上标^、*分别表示待估计量和共轭运算, x
τ
(k)是在第k个频率处,经过时间延迟τ帧后的输入信号构成的矩阵,下标τ表示输入信号经过了τ帧的线性延迟;
s3. 利用公式3 ,得到期望信号d1(k)等于参考麦克风接收到的信号减去估计出来的中晚期混响分量:
‑‑
公式4;s4. 进行双线性分解:利用克罗内克乘积将预测滤波器系数向量g(k)分解为两个子滤波器如下:
‑‑‑
公式5其中上标^表示待估计量,和表示的是长度分别为l1和l2的第一子滤波器和第二子滤波器,表示克罗内克乘积,和下标中的分量序号ps表示的是子滤波器系数向量中第ps个分量,分量序号ps=1,2,

,p;p是分解之后每个子滤波器所含滤波器系数的个数;根据公式5,将公式4分解可得
‑‑‑
公式7其中当i=1时表示第一子滤波器构成的期望信号向量d
1,1
(k),取2时则表示第二子滤波器构成的期望信号d
1,2
(k),x1(k)为参考麦克风信号模型,*表示共轭计算,子滤波器系数向量由公式8表示:
‑‑
公式8i取不同的值表示不同的子滤波器,i=1,即表示第一子滤波器系数向量,i=2即则是第二子滤波器系数向量,在i=1,2时分别表示由输入混响语音信号与第一子滤波器和第二子滤波器构成的双线性分解矩阵;s5. 预测滤波器系数向量的求解,分别求解公式7中的第一子滤波器和第二子滤波器,通过期望信号时频域代价函数的最小化来估计获得,第一子滤波器系数向量可由下式推导得到
‑‑
公式9
式中上标^表示待估计量,上标h表示共轭转置,表示当括号里的表达式f(f)取最小值时,f(f)中变量f的值,||2表示求解绝对值的平方,为输入混响语音信号与第一子滤波器构成的双线性分解矩阵的内部向量,d
1,1
(k)为第一子滤波器构成的期望信号向量;加权矩阵,diag[]表示对角阵,其中的对角线元素a1(n,k)是一个n维列向量,n为总帧数,即a1(n,k)=[w1(1,k),w1(2,k),...w1(n,k)]
t
;式中w1(n,k),n=1,2...n是第一子滤波器在第n帧第k个频率处的加权系数;令表示代价函数,上标h表示共轭转置,d
1,1
(k)表示第一子滤波器构成的期望信号向量;为了求取代价函数的最小值,结合公式9对代价函数进行求导并令求导之后的值为零,解出第一子滤波器系数向量的表达式如下式中[]-1
表示矩阵求逆运算,令自相关矩阵,互相关向量,则第一子滤波器系数向量的表达式可以简化为
‑‑‑
公式91;同理,可以得到第二子滤波器系数向量
‑‑‑
公式92;s7.利用步骤s5中的公式91和公式92,求得两个子滤波器系数向量和;结合公式5和公式8,计算得到滤波器系数向量;带入公式4便可以计算出去除混响之后的期望信号d1(k)。
[0006]
优选的,s5步骤之后还包括s6步骤,具体为:s6.对公式91和公式92进行正则化,长度为l1的第一子滤波器系数向量改写为
ꢀ‑‑‑
公式93式中δ是正则化因子,同理,可以得到长度为l2的第二子滤波器系数向量的表达式如下:
‑‑‑
公式94公式94式自相关矩阵,而互相关向量;所述s7步骤中,以公式93和公式94分别替换公式91和公式92进行计算。
[0007]
本发明利用加权最小二乘方法,将最大似然估计问题转换为最小二乘问题进行处理。同时,由于矩阵在求逆过程中的计算复杂度较高,为了进一步降低计算量,引入了kronecker积分解,将一个长的滤波器分解为两个短的子滤波器进行处理,从而使得算法在具有良好去混响性能的同时还拥有较低的计算复杂度。
附图说明
[0008]
图1为本发明所述去混响方法的一种具体实施方式示意图;图2为本发明一个具体实施例中未处理前的原始混响语音对应的波形图和语谱图;图3为对图2所示原始混响语音采用现有技术进行处理得到的波形图和语谱图;图4为对图2所示原始混响语音采用本发明进行处理得到的波形图和语谱图;图2至图4中的(a)部分为原始混响语音对应的波形图,(b)部分为原始混响语音对应的语谱图;图5为现有技术和本发明的算力对比示意图。
具体实施方式
[0009]
下面对本发明的具体实施方式作进一步的详细说明。
[0010]
本发明所述去混响方法,包括如下步骤:s1. 利用麦克风阵列采集声源发出的语音信号,经过数模转换之后处理为数字信号形式的混响语音时域信号xm(n),表示为: xm(n)=hm(n)*s(n)+vm(n);式中*表示线性卷积,s(n)表示纯净语音信号,hm(n)表示的是声源与第m个麦克风之间的房间脉冲响应且长度为lh,vm(n)表示背景噪声,m和n分别表示第m个麦克风和第n个离散时间;s2.利用短时傅里叶变换,将混响语音分为不同的频带进行处理:对麦克风阵列设置预测滤波器,将第一个麦克风当作参考麦克风,参考麦克风最终矩阵形式的信号模型:
‑‑‑
公式3公式3中上标t和*分别表示矩阵的转置和共轭运算,d1(k)表示参考麦克风在第k个频率处的期望信号,x
τ
(k)表示麦克风阵列的全部m个麦克风的阵列输入矩阵,下标τ表示输入信号经过了τ帧的线性延迟,g(k)为预测滤波器系数向量;s3. 利用公式3,可以得到参考麦克风在时频域的期望信号d1(k)等于参考麦克风
接收到的信号x1(k)减去估计出来的中晚期混响分量,即:
‑‑‑
公式4s4.利用克罗内克乘积将预测滤波器系数向量g(k)分解为两个子滤波器如下:子滤波器系数向量
‑‑
公式8i取不同的值1,2表示不同的子滤波器,i=1,即表示第一子滤波器系数向量,i=2即则是第二子滤波器系数向量,上标^表示待估计量,g
i,1
(k)表示第i子滤波器在第k个频率处的第一个分量,其余以此类推,上标t表示转置;并将公式4改写成
‑‑‑
公式7其中当i=1时表示第一子滤波器构成的期望信号向量d
1,1
(k),取2时则表示第二子滤波器构成的期望信号d
1,2
(k),两个期望信号都是由n个元素构成的列向量,在第n帧和第k个频率处的元素表示为d
1,i
(n,k),n=1,2...n ,x1(k)为参考麦克风接收到的信号;公式7中,由输入混响语音信号与子滤波器系数向量所构成的分解矩阵是一个由n个维的列向量构成,其具体形式如下对于 中的每个元素向量又进一步由p个 的列向量构成,n-τ表示信号经过了τ帧的线性延迟:上标t表示矩阵转置,而构成向量的内部每一个li维的混响信号矩阵列向量,ps=1,2,

,p则是由以下等式计算得出:第一列向量第二列向量
式中上标h表示共轭转置运算符,上标^表示待估计量,g
1,ps
(k)和g
2,ps
(k)分别表示两个子滤波器系数向量的其中第ps个分量,和则表示的是维度分别为l1和l2单位矩阵,符号表示的是克罗内克乘积运算,x(n-τ,k)表示经过了τ帧线性延迟的输入的混响语音信号。
[0011]
而x(n-τ,k)是由m个lg维的列向量构成,m是麦克风总个数,lg是原始预测滤波器总长度;对于向量x(n-τ,k)中的每个lg维的列向量由lg个元素构成,以第m(m=1,2,

,m)个麦克风处的信号向量xm(n-τ,k)为例,其形式如下所示:xm(n-τ,k)=[ xm(n-τ,k), xm(n-τ-1,k),... xm(n-τ-lg+1,k)]
t
;s5.预测滤波器系数向量的求解第一子滤波器系数向量可由下式推导得到
‑‑
公式9式中上标^表示待估计量,上标h表示共轭转置,表示当括号里的表达式f(f)取最小值时,f(f)中变量f的值,||2表示求解绝对值的平方,为输入混响语音信号与第一子滤波器构成的双线性分解矩阵的内部向量,d
1,1
(k)为第一子滤波器构成的期望信号向量;加权矩阵,diag[]表示对角阵,其中的对角线元素a1(n,k)是一个n维列向量,n为总帧数,即a1(n,k)=[w1(1,k), w1(2,k),... w1(n,k)]
t
;式中w1(n,k),n=1,2...n是第一子滤波器在第n帧第k个频率处的加权系数;令表示代价函数,上标h表示共轭转置,d
1,1
(k)表示第一子滤波器构成的期望信号向量;为了求取代价函数的最小值,结合公式9对代价函数进行求导并令求导之后的值为零,解出第一子滤波器系数向量的表达式如下
式中[]-1
表示矩阵求逆运算,令自相关矩阵,互相关向量,则第一子滤波器系数向量的表达式可以简化为
‑‑‑
公式91;同理,可以得到第二子滤波器系数向量
‑‑‑
公式92;s6.为了避免在矩阵求逆过程中出现不可逆,需要对自相关矩阵r1进行正则化,于是公式91改写为式中δ是正则化因子,通常是一个很小的正常数。
[0012]
同理,公式92改写如下:式中自相关矩阵,而互相关向量。
[0013]
s7. 利用步骤s5中的公式91和公式92,或改写的公式93和公式94 ,可以求得两个子滤波器系数向量和;结合公式5和公式8, 计算得到滤波器系数向量;带入公式4便可以计算出去除混响之后的期望信号d1(k)。
[0014]
具体为,将两个子滤波器系数向量和带入公式8:可得;再带入公式5, i=1时,分别等于,ps=1,2...p;i=2时,分别等于,ps=1,2...p;计算得到滤波器系数向量;带入公式4便可以计算出去除混响之后的期望信号d1(k)。
[0015]
一个具体实施方式为:s1. 利用麦克风阵列采集语音信号,通过模数转换可以得到数字化后的语音信
号。
[0016]
s2. 由于语音信号的短时平稳特性,采用短时傅里叶变换将语音信号从时域变换到时频域进行分析,利用分帧加窗的思想,将信号划分为不同的频带进行处理。
[0017]
每一帧语音的长度设置为32 ms,帧移为8 ms,窗函数选择汉宁窗,预测滤波器的长度设置为lg为24,采用512点的傅里叶变换,考虑到语音信号进行快速傅里叶变换之后的频谱具有共轭对称性,因此为了提高计算效率只选取一半的频点进行计算,即k=256。
[0018]
s3. 设置预测延迟τ=2,对每一个频带分别进行去混响处理,最后再将所有处理后的数据进行合成,从而输出去除混响之后的语音信号。
[0019]
由于造成语音质量下降的主要原因是中晚期混响成分,而早期混响成分不仅不会对语音质量带来显著的影响,相反其有助于提高语音的清晰度,因此在进行去混响处理时,往往将早期混响与直达语音成分整合在一起,于是需要去除的便是中晚期混响分量。因此在处理过程中需要进行一个延迟线性预测,保留早期混响。
[0020]
s4.利用延迟预测滤波器对中晚期混响成分进行估计,然后将该成分从参考语音信号中减去,便可以得到最终去除混响之后的信号,为了方便,将第一个麦克风接收到的信号x1(k)作为参考信号。
[0021]
s5. 分别求解公式7中的第一子滤波器和第二子滤波器,通过期望信号时频域代价函数的最小化来估计获得,第一子滤波器系数向量可由下式推导得到
‑‑
公式9式中上标^表示待估计量,上标h表示共轭转置,表示当括号里的表达式f(f)取最小值时,f(f)中变量f的值,||2表示求解绝对值的平方,为输入混响语音信号与第一子滤波器构成的双线性分解矩阵的内部向量,d
1,1
(k)为第一子滤波器构成的期望信号向量;加权矩阵,diag[]表示对角阵,其中的对角线元素a1(n,k)是一个n维列向量,n为总帧数,即a1(n,k)=[w1(1,k), w1(2,k),... w1(n,k)]
t
;式中w1(1,k),n=1,2...n是第一子滤波器在第n帧第k个频率处的加权系数;令表示代价函数,上标h表示共轭转置,d
1,1
(k)表示第一子滤波器构成的期望信号向量;为了求取代价函数的最小值,结合公式9对代价函数进行求导并令求导之后的值为零,解出第一子滤波器系数向量的表达式如下
式中[]-1
表示矩阵求逆运算,令自相关矩阵,互相关向量,则第一子滤波器系数向量的表达式可以简化为
‑‑‑
公式91;同理,可以得到第二子滤波器系数向量
‑‑‑
公式92。
[0022]
s6. 得到了两个子滤波器系数向量之后,便能计算出分解之前的滤波器系数,于是可以得到最终的期望信号:。
[0023]
s7. 将得到的期望信号进行短时傅里叶逆变换,从而将每一个去混响之后的子带信号进行合成,转换成时域信号进行输出。
[0024] 如图2至图5所示给出了本发明一个具体实施例。图2是一段原始混响语音对应的波形图和语谱图,而图3和图4则分别表示的是在混响时间为300 ms的环境中,麦克风个数m为8,滤波器长度lg为24时,去混响前后的波形图和语谱图对比。对比图2至图4可以发现,混响被去除,且图3和图4显示现有技术和本发明对原始混响语音去混响效果相当。
[0025]
图5则是双线性分解前后两种算法的计算复杂度对比情况。图中横坐标p表示的是分解之后每个子滤波器所含滤波器系数的个数,纵坐标则是计算复杂度。图5种的计算复杂度是指算法中所涉及的实数乘法次数。定义两个实数相乘涉及一次乘法,一个实数与一个复数之间做乘积运算涉及2次乘法,而两个复数之间做乘积则需要4次乘法运算。纵坐标所示数值为以指数函数对乘法次数进行表示,均为无量纲单位。图例中的wls表示现有技术的算法,d-wls表示的是经过本发明所述双线性分解之后的wls算法,括号中的内容指的是两个子滤波器的长度。以m=8(32-6)为例,其含义为麦克风个数为8,两个子滤波器长度分别为32和6。
[0026]
结合图3和图4分析可知,分解之后的wls算法不仅拥有良好的去混响效果,同时其计算复杂度也有显著降低。
[0027]
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。

技术特征:


1.基于双线性分解的wls多通道语音去混响方法,其特征在于,包括如下步骤:s1.利用麦克风阵列采集语音信号并转化为数字信号形式的混响语音时域信号x
m
(n),表示为:x
m
(n)=h
m
(n)*s(n)+v
m
(n);式中*表示线性卷积,s(n)表示纯净语音信号,h
m
(n)表示的是声源与第m个麦克风之间的房间脉冲响应且其长度为l
h
,v
m
(n)表示背景噪声,m和n分别表示第m个麦克风和第n个离散时间;s2.令麦克风阵列中第一个麦克风为参考麦克风,假设背景噪声为零,以混响语音时域信号x
m
(n)为基础,将参考麦克风信号模型以公式3描述:
‑‑‑
公式3 公式3中上标t和*分别表示矩阵的转置和共轭运算,d1(k)表示参考麦克风在时频域的期望信号,g(k)为预测滤波器系数向量, 其上标^、*分别表示待估计量和共轭运算,x
τ
(k)是在第k个频率处,经过时间延迟τ帧后的输入信号构成的矩阵,下标τ表示输入信号经过了τ帧的线性延迟;s3. 利用公式3 ,得到期望信号d1(k)等于参考麦克风接收到的信号减去估计出来的中晚期混响分量:
‑‑
公式4;s4. 进行双线性分解:利用克罗内克乘积将预测滤波器系数向量g(k)分解为两个子滤波器如下:
‑‑‑
公式5其中上标^表示待估计量,和表示的是长度分别为l1和l2的第一子滤波器和第二子滤波器,表示克罗内克乘积,和下标中的分量序号ps表示的是子滤波器系数向量中第ps个分量,分量序号ps=1,2,

,p;p是分解之后每个子滤波器所含滤波器系数的个数;根据公式5,将公式4分解可得
‑‑‑
公式7其中当i=1时表示第一子滤波器构成的期望信号向量d
1,1
(k),取2时则表示第二子滤波器构成的期望信号d
1,2
(k),x1(k)为参考麦克风信号模型,*表示共轭计算,子滤波器系数向量由公式8表示:
‑‑
公式8i取不同的值表示不同的子滤波器,i=1,即表示第一子滤波器系数向量,i=
2即则是第二子滤波器系数向量,在i=1,2时分别表示由输入混响语音信号与第一子滤波器和第二子滤波器构成的双线性分解矩阵;s5. 预测滤波器系数向量的求解,分别求解公式7中的第一子滤波器和第二子滤波器,通过期望信号时频域代价函数的最小化来估计获得,第一子滤波器系数向量可由下式推导得到--公式9式中上标^表示待估计量,上标h表示共轭转置,表示当括号里的表达式f(f)取最小值时,f(f)中变量f的值,||2表示求解绝对值的平方,为输入混响语音信号与第一子滤波器构成的双线性分解矩阵的内部向量,d
1,1
(k)为第一子滤波器构成的期望信号向量;加权矩阵,diag[]表示对角阵,其中的对角线元素a1(n,k)是一个n维列向量,n为总帧数,即a1(n,k)=[w1(1,k), w1(2,k),... w1(n,k)]
t
;式中w1(n,k),n=1,2...n是第一子滤波器在第n帧第k个频率处的加权系数;令表示代价函数,上标h表示共轭转置,d
1,1
(k)表示第一子滤波器构成的期望信号向量;为了求取代价函数的最小值,结合公式9对代价函数进行求导并令求导之后的值为零,解出第一子滤波器系数向量的表达式如下式中[]-1
表示矩阵求逆运算,令自相关矩阵,互相关向量,则第一子滤波器系数向量的表达式可以简化为
‑‑‑
公式91;
同理,可以得到第二子滤波器系数向量
‑‑‑
公式92;s7.利用步骤s5中的公式91和公式92,求得两个子滤波器系数向量和;结合公式5和公式8, 计算得到滤波器系数向量;带入公式4便可以计算出去除混响之后的期望信号d1(k)。2.如权利要求1所述基于双线性分解的wls多通道语音去混响方法,其特征在于,s5步骤之后还包括s6步骤,具体为:s6.对公式91和公式92进行正则化,长度为l1的第一子滤波器系数向量改写为
‑‑‑
公式93式中δ是正则化因子,同理,可以得到长度为l2的第二子滤波器系数向量的表达式如下:
‑‑‑
公式94公式94式自相关矩阵,而互相关向量;所述s7步骤中,以公式93和公式94分别替换公式91和公式92进行计算。

技术总结


本发明公开了一种基于双线性分解的WLS多通道语音去混响方法,包括如下步骤:S1.采集混响语音时域信号;S2.以混响语音时域信号为基础描述参考麦克风信号模;S3.计算期望信号;S4.进行双线性分解:利用克罗内克乘积将预测滤波器系数向量分解为两个子滤波器;S5.求解预测滤波器系数向量;S6.正则化滤波器系数向量;S7.计算出去除混响之后的期望信号。本发明利用加权最小二乘方法,将最大似然估计问题转换为最小二乘问题进行处理。同时,由于矩阵在求逆过程中的计算复杂度较高,为了进一步降低计算量,引入了克罗内克积分解,将一个长的滤波器分解为两个短的子滤波器进行处理,从而使得算法在具有良好去混响性能的同时还拥有较低的计算复杂度。低的计算复杂度。低的计算复杂度。


技术研发人员:

曾小金

受保护的技术使用者:

成都启英泰伦科技有限公司

技术研发日:

2022.12.12

技术公布日:

2023/1/12


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-73246-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-23 21:48:55

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论