一种瞬态噪声抑制方法、装置、设备及存储介质与流程

文档序号:33712781发布日期:2023-04-01 00:37阅读:100来源:国知局
一种瞬态噪声抑制方法、装置、设备及存储介质与流程

1.本发明涉及数字信号处理技术领域,更具体地说,涉及一种瞬态噪声抑制方法、装置、设备及存储介质。


背景技术:

2.语音是人类交流的主要方式,但是我们生活的环境中存在各种各样的噪声,当我们使用通讯设备进行语音通信时,这些噪声将严重影响语音质量。为了保证信息传递的准确性,语音系统对噪声的抑制效果将是影响该设备性能的关键因素。目前,对于高斯白噪声这种平稳的噪声处理已经有很多种方法能够进行成功的抑制,但是对于生活中常见的一些瞬态噪声也会严重影响语音系统性能,比如敲门声、键盘敲击声、鼓掌拍击声等等,这类噪声的共同特点就是突发性极强,在时域上呈振荡衰减的形式出现,持续时间在十几毫秒到上百毫秒不等,在频域上分布又很宽,所以在频域上瞬态噪声的频谱基本上都是和正常的语音的频谱混叠在一起,很难进行抑制。
3.目前,对于瞬态噪声的抑制算法比较少,因为大部分的算法都是针对平稳噪声,但这些算法在处理瞬态噪声中的效果较差。针对瞬态噪声,常采用的方法有中值滤波、均值滤波等,但是这些方法会引起语音信号的失真,去噪效果不是特别理想。
4.文献,语音系统中瞬态噪声抑制算法的研究[d].曹克宇.哈尔滨工业大学,2017。采用了一种最优改进对数谱幅度估计(om-lsa)的算法,对带噪语音信号中的瞬态噪声部分进行抑制。核心思想是推导出最优的频谱增益函数,通过在频域上计算待测信号与增益函数的乘积,得到去除噪声以后的语音信号。在推导最优频谱增益函数时要进行相关参数的估计,包括先验信噪比估计、先验语音缺失概率估计、瞬态噪声谱估计等。首先推导出om-lsa算法中的最优频谱增益函数,对语音存在的不确定性对先验信噪比进行估计,通过先验信噪比对语音缺失概率进行估计,再采用mcra算法对噪声谱进行估计,得到频谱增益函数后再计算出滤除噪声的信号频谱,最后通过逆傅里叶变换得到语音信号的时域表示。该算法能对瞬态噪声进行一定的抑制,但在算法处理的过程中,难以得到瞬态噪声估计的准确值,会得到一定误差;当瞬态噪声变化快、突发性强时,也容易造成欠估计;当有些语音和瞬态噪声的幅度相差不大时,容易将噪声估计成语音或者将语音估计成噪声,从而出现未滤除噪声或将语音滤除的现象。
[0005]
文献,瞬态噪声信号分析方法研究[d].刘新,哈尔滨工程大学,2019。设计了一款高分辨瞬态信号的处理软件,包括瞬态噪声高分辨检测、瞬态噪声的高分辨分析、瞬态噪声参数的提取等功能。瞬态噪声高分辨检测是通过ar模型的时域外推特性对瞬态信号进行检测,可以检测出两个在时间上有重叠的信号,可以根据检测结果得到信号发生的时间和间隔。瞬态噪声的高分辨分析是利用ar谱估计的高分辨性,由于瞬态信号具有近处信号对频谱影响大于远处信号这一符合瞬态噪声特点,采用α-β滤波实现频谱之间光滑滤波。但是ar模型分析方法是在信号稳态的情况下建立的模型,并认为信号在极短时间内是稳态的,当情况不满足时对暂态噪声的抑制效果则不理想;又由于ar模型分析方法对噪声敏感,在信
噪比极低的情况下,对瞬态噪声的抑制效果也不是很好。


技术实现要素:

[0006]
1.要解决的技术问题
[0007]
针对现有技术中存在的现有的在暂态瞬态噪声抑制效果不理想以及在信噪比极低的情况下,对瞬态噪声的抑制效果也不是好的问题,本发明提供了一种瞬态噪声抑制方法、装置、设备及存储介质,它可以实现对暂态噪声的抑制效果好,在低输入信噪比下,也可以有效地去除瞬态噪声。
[0008]
2.技术方案
[0009]
本发明的目的通过以下技术方案实现。
[0010]
本专利提出的瞬态噪声抑制技术是变分模态分解(vmd)和最优修正对数谱幅度估计(omlsa)方法的组合框架,主要包含两个步骤,第一步是基于变分模态分解对带噪语音信号进行分析,获取噪声信号的本征模态;然后,根据噪声对应的本征模态,计算其功率谱密度,利用判决方向法进行先验信噪比估计;第二步是基于最优修正对数谱幅度估计进行瞬态噪声抑制。
[0011]
第一步是基于变分模态分解的带噪语音信号分解,变分模态分解算法的目的是把输入语音信号分解成k个本征模态分量uk(k=1,2,3,

,k),这些模态具有特定的稀疏特性,具体实施步骤分为:
[0012]
(1)初始化n,k值为0,其中为相应的本征模态分量,为相应分量的中心频率,n,k均为循环次数。
[0013]
(2)令n=n+1进行第一层循环;
[0014]
(3)令k=k+1进行第二层循环,对于所有的ω≥0更新uk和ωk:
[0015][0016][0017]
其中f为输入的语音信号,α为引入的惩罚因子,λ为拉格朗日乘法算子,ω为信号的角频率。
[0018]
在第一层循环中更新λ为:
[0019][0020]
其中τ为时间步长。
[0021]
(4)当满足下式时停止循环:
[0022][0023]
其中ε为判别精度。
[0024]
(5)得到各个本征模态uk后,将其时间序列表示为{x1,x2,...,
x
l},l为该序列的长度。首先在尺度因子s的条件下,粗粒化过程为:
[0025][0026]
其中为多尺度时间序列,s为尺度因子,l为原时间序列的长度,j为多尺度时间序列元素的标号。
[0027]
将多尺度时间序列重构得ys,再计算该重构序列出现的概率为:
[0028][0029]
其中n为每种排列出现的次数,m为嵌入维数,s为尺度因子。
[0030]
最终得到该模态分量的排列熵:
[0031][0032]
其中ps为序列出现的概率。
[0033]
因为信号复杂性越高,排列熵越大,噪声的复杂性比语音信号大,所以噪声的排列熵也更大,选择排列熵大的模态为噪声分量。
[0034]
(6)得到噪声信号的本征模态un后,计算噪声功率谱密度:
[0035]
σ(k,l)=e[(un(k,l)2)]
[0036]
其中k为分帧信号的第k个频点,l为分帧信号的第l帧信号,e[]为取均值运算。
[0037]
(7)利用判决方向法进行先验信噪比估计:
[0038][0039]
其中γ(k,l)是信号的后验信噪比,α为平滑因子,为前一帧估计出的语音信号功率谱,σ(k,l-1)为前一帧的噪声功率谱。
[0040]
第二步基于最优修正对数谱幅度估计进行瞬态噪声抑制,具体实施步骤分为:
[0041]
(1)对语音信号进行短时傅里叶变换(stft),得到信号的频谱表示:
[0042][0043]
k为频率索引号,l为时域帧的索引号,h(n)为汉明窗,m为帧移,即连续帧之间重叠采样点的个数,n为汉明窗的长度。
[0044]
(2)计算信号的后验信噪比:
[0045][0046]
其中σ(k,l)为估计出的噪声谱功率。
[0047]
(3)计算语音不存在的概率,首先通过在频域上应用搜索窗口得到先验信噪比最优估计的递归平均值,在搜索的过程中采用局部搜索和全体搜索的方式,分别计算出先验信噪比的局部和整体的平均值,再判定出先验信噪比估计的经验常量,它们可以最大化的减小瞬态噪声,同时能保持弱的语音分量。其次设定一个从语音帧到噪声的软过度函数,因
为信号由语音到噪声的过程中会有一定的延时,在中间可以采用一些重叠来减少错误的判断。最后可得到语音不存在概率的一个最优估计:
[0048]
q(k,l)=1-p
local
(k,l)p
global
(k,l)p
frame
(k,l)
[0049]
其中p
local
(k,l)为局部语音存在概率平均值,p
global
(k,l)为全局语音存在概率平均值,p
frame
(l)为相邻帧之间语音存在的概率。
[0050]
(4)计算出omlsa估计算法中最优频谱增益函数g(k,l):
[0051][0052][0053]
其中g
h1
(k,l)为语音存在时的频谱增益,g
min
为语音不存在时的频谱增益,p(k,l)为语音存在的概率,ε(k,l)为信号的先验信噪比。
[0054]
(5)根据得到的频谱增益函数,求得语音信号在频域上的最佳估计为:
[0055][0056]
在频域最佳估计的基础上,进行短时傅里叶逆变换就可以得到去除瞬态噪声的语音信号。
[0057]
优选的,本方案可以为一种虚拟装置,所述虚拟装置包括应用程序和操作系统,其中,所述应用程序执行所述的进程运行的噪声抑制方法。
[0058]
优选的,本方案可以为一种数据处理设备,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如所述噪声抑制的步骤。
[0059]
优选的,本方案可以为一种数据处理设备,数据处理设备包括但不限于智能手机、平板电脑或便携计算机。
[0060]
优选的,本方案可以为一种存储介质所述存储介质包括存储的应用程序,其中,所述应用程序执行所述的进程运行的噪声抑制方法。
[0061]
3.有益效果
[0062]
相比于现有技术,本发明的优点在于:
[0063]
与经常使用的omlsa方法对语音信号降噪相比,本方法将vmd应用于噪声估计,因为vmd方法可有效分离出语音和瞬态噪声,并根据先前的信噪比估计来跟踪瞬态噪声的变化。然后,先验信噪比估计值由估计的噪声值决定,增益因子根据先验信噪比由omlsa增益函数自适应调整,以滤除噪声,与单独使用omlsa相比,本方法可以获得更准确的噪声估计,即使在低输入信噪比下,本方法也可以有效地去除瞬态噪声。
附图说明
[0064]
图1为本发明的方法流程示意图;
[0065]
图2为一实施例包含瞬态噪声的语音信号;
[0066]
图3为一实施例使用vmd分解得到的模态分量;
[0067]
图4为降噪后的语音信号。
具体实施方式
[0068]
下面结合说明书附图和具体的实施例,对本发明作详细描述。
[0069]
实施例1
[0070]
针对上述瞬态噪声的抑制不理想的情况,本专利提出的方法能对语音系统中的瞬态噪声进行抑制,提高语音系统的通信质量。该技术可应用于助听器,帮助存在听力障碍的人群正常感知外界声音信息以进行正常生活;也可应用于降噪耳机,帮助人们在聆听耳机声音时不受外界噪声干扰。以及其他需要处理瞬态噪声的设备和场景。
[0071]
本发明是基于变分模态分解和最优修正对数幅度谱估计的瞬态噪声抑制技术。首先基于变分模态分解对带噪语音信号进行分析,获取噪声信号的本征模态;然后,根据噪声对应的本征模态,计算其功率谱密度,利用判决方向法进行先验信噪比估计;最后,基于最优修正对数谱幅度估计进行瞬态噪声抑制。总体流程图1所示。
[0072]
本专利提出的瞬态噪声抑制技术是变分模态分解(vmd)和最优修正对数谱幅度估计(omlsa)方法的组合框架,因此本技术主要包含两个步骤,第一步是基于变分模态分解对带噪语音信号进行分析,获取噪声信号的本征模态;然后,根据噪声对应的本征模态,计算其功率谱密度,利用判决方向法进行先验信噪比估计;第二步是基于最优修正对数谱幅度估计进行瞬态噪声抑制。
[0073]
第一步是基于变分模态分解的带噪语音信号分解,变分模态分解算法的目的是把输入语音信号分解成k个本征模态函数uk(k=1,2,3,

,k),这些模态具有特定的稀疏特性,具体实施步骤分为:如图1所示为包含瞬态噪声的语音信号;
[0074]
(1)初始化n,k值为0,其中为相应的本征模态分量,为相应分量的中心频率,n,k均为循环次数。
[0075]
(2)令n=n+1进行第一层循环;
[0076]
(3)令k=k+1进行第二层循环,对于所有的ω≥0更新uk和ωk:
[0077][0078][0079]
其中f为输入的语音信号,α为引入的惩罚因子,λ为拉格朗日乘法算子,ω为信号的角频率。
[0080]
在第一层循环中更新λ为:
[0081][0082]
其中τ为时间步长。
[0083]
(4)当满足下式时停止循环:
[0084][0085]
其中ε为判别精度。
[0086]
(5)得到各个本征模态uk后,将其时间序列表示为{x1,x2,...x
l
},l为该序列的长
度。首先在尺度因子s的条件下,粗粒化过程为:
[0087][0088]
其中为多尺度时间序列,s为尺度因子,l为原时间序列的长度,j为多尺度时间序列元素的标号。
[0089]
将多尺度时间序列重构得ys,再计算该重构序列出现的概率为:
[0090][0091]
其中n为每种排列出现的次数,m为嵌入维数,s为尺度因子。
[0092]
最终得到该模态分量的排列熵:如图3所示,为4个分量。
[0093][0094]
其中ps为序列出现的概率。
[0095]
因为信号复杂性越高,排列熵越大,噪声的复杂性比语音信号大,所以噪声的排列熵也更大,选择排列熵大的模态为噪声分量。
[0096]
(6)得到噪声信号的本征模态un后,计算噪声功率谱密度:
[0097]
σ(k,l)=e[(un(k,l)2)]
[0098]
其中k为分帧信号的第k个频点,l为分帧信号的第l帧信号,e[]为取均值运算。
[0099]
(7)利用判决方向法进行先验信噪比估计:
[0100][0101]
其中γ(k,l)是信号的后验信噪比,α为平滑因子,为前一帧估计出的语音信号功率谱,σ(k,l-1)为前一帧的噪声功率谱。
[0102]
第二步基于最优修正对数谱幅度估计进行瞬态噪声抑制,具体实施步骤分为:
[0103]
(1)对语音信号进行短时傅里叶变换(stft),得到信号的频谱表示:
[0104][0105]
k为频率索引号,l为时域帧的索引号,h(n)为汉明窗,m为帧移,即连续帧之间重叠采样点的个数,n为汉明窗的长度。
[0106]
(2)计算信号的后验信噪比:
[0107][0108]
其中σ(k,l)为估计出的噪声谱功率。
[0109]
(3)计算语音不存在的概率,首先通过在频域上应用搜索窗口得到先验信噪比最优估计的递归平均值,在搜索的过程中采用局部搜索和全体搜索的方式,分别计算出先验信噪比的局部和整体的平均值,再判定出先验信噪比估计的经验常量,它们可以最大化的
减小瞬态噪声,同时能保持弱的语音分量。其次设定一个从语音帧到噪声的软过度函数,因为信号由语音到噪声的过程中会有一定的延时,在中间可以采用一些重叠来减少错误的判断。最后可得到语音不存在概率的一个最优估计:
[0110]
q(k,l)=1-p
local
(k,l)p
global
(k,l)p
frame
(k,l)
[0111]
其中p
lobal
(k,l)为局部语音存在概率平均值,p
global
(k,l)为全局语音存在概率平均值,p
frame
(l)为相邻帧之间语音存在的概率。
[0112]
(4)计算出omlsa估计算法中最优频谱增益函数g(k,l):
[0113][0114][0115]
其中g
h1
(k,l)为语音存在时的频谱增益,g
min
为语音不存在时的频谱增益,p(k,l)为语音存在的概率,ε(k,l)为信号的先验信噪比。
[0116]
(5)根据得到的频谱增益函数,求得语音信号在频域上的最佳估计为:
[0117][0118]
在频域最佳估计的基础上,进行短时傅里叶逆变换就可以得到去除瞬态噪声的语音信号,如图4所示。
[0119]
与经常使用的omlsa方法对语音信号降噪相比,本方法将vmd应用于噪声估计,因为vmd方法可有效分离出语音和瞬态噪声,并根据先前的信噪比估计来跟踪瞬态噪声的变化。然后,先验信噪比估计值由估计的噪声值决定,增益因子根据先验信噪比由omlsa增益函数自适应调整,以滤除噪声。所以与单独使用omlsa相比,本方法可以获得更准确的噪声估计,即使在低输入信噪比下,本方法也可以有效地去除瞬态噪声。
[0120]
本领域内的技术人员应明白,本技术的实施例可提供为方法、虚拟系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0121]
对应的虚拟装置可以包括,应用程序和操作系统,其中,所述应用程序执行上述运行的方法。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0122]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流
程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0123]
还可以是一种存储器,存储器是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0124]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1