基于熵的端点检测方法技术

技术编号:3047018 阅读:169 留言:0更新日期:2012-04-11 18:40
一种基于熵的端点检测方法,包括步骤:1)计算信号开始时N1帧的能量E_noise;2)根据步骤1)得到的噪声估计值E_noise,指定相应的K值;3)使用步骤2)选定的K值,利用公式(4)、(3)计算每帧的负熵Entropy;4)以当前帧前面数帧的平均负熵值Mean+V1作为第一个门限Th1,以Mean+V2作为第一个门限Th2。不断推进当前帧,直到找到满足判决机制的帧作为语音的起始点;5)找到起始点后,将K取为K#-[0],利用公式(4)、(3)计算其后每帧的负熵;6)找到起始点之后,向前推进直到某帧负熵Entropy小于Th3,从此处向后寻找谷底,且将其作为当前帧。不断推进当前帧,直到找到满足判决机制的帧作为语音的终点;7)重复步骤3到步骤6,直到信号结束。8)对每一起点、终点对,如果其帧数小于最短句子帧数,则认为其间的数据不是语音,而是噪声;如果在两段语音之间的间隙小于最短停顿帧数,则认为两段语音可合为一段语音。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及语音识别,特别涉及。Jia-lin Shen[1]提出谱熵的定义。本专利技术来源于对谱熵所具有的性能的深入了解。为了更好地理解本专利技术,首先说明谱熵的原理,分析其性能。1) 谱熵的基本原理 参考[1],首先通过快速傅立叶变换来得到每一帧信号的频谱,其中每个频谱向量的各个系数表明了该帧信号在该频率点的大小分布。然后,计算每一帧的每个频谱能量分量在每帧的总能量中所占的比例,将其作为代表信号能量集中在某频率点的概率大小,即计算谱熵所需的概率密度函数通过下式计算pi=Y(fi)/Σk=0N-1Y(fk),i=0...N-1---(1)]]>此处N表示FFT计算所取的点数,Y(fi)表示第i个频率点的谱能量,pi表示相应的概率。由于语音的大部分能量集中在250Hz到6000Hz之间,所以为了集中计算熵以增加语音和非语音在概率密度函数上的区分性,可以把处于250Hz和6000Hz之外的频率分量置为0,即Y(fi)=0, 当fi<250Hz或fi>6000Hz时 (2)接下来,计算谱熵H=-Σk=0N-1pklogpk---(3)]]>2) 谱熵的性能分析公式(3)表明谱熵是信源的平均不定性的体现。对于不同的信源,在频域上有不同的概率分布,导致有不同的谱熵。附图说明图1给出了噪声库NOISEX-92中部分噪声和语音信号的谱熵取负后的曲线,每20帧平滑一次,我们称其为负熵曲线以和(3)式中的谱熵相区别。参照图1,可以看到,不同噪声的负熵的最小值、最大值、均值、方差均不同,而且大部分的噪声和语音信号在这些方面有一定的区别,同时,从图1可以看到对应于能量较低的爆破音、鼻音,如/f/、/c/、/t/、/s/、/sh/等,也具有相当的熵值,可见谱熵能够作为一种比能量更为有效区分语音与非语音的特征。从公式(1)可以看到,我们所用到的计算概率密度的公式类似于归一化的过程,因此理论上来说,谱熵不受时域能量的影响。但在实际发音时,随着声音大小的不同,可能导致频谱有不同程度的改变,而且信噪比发生变化也会导致频谱的变化,从而使得谱熵会受一些影响。总的说来,谱熵受时域能量大小的影响较小。通常,在句尾处,信号的能量会逐渐减小,以能量为特征的端点检测算法很难准确地检测到语音信号的中止点,而熵的这个特点使得基于熵的算法能够更容易更准确地检测到句尾。参照图2,上方的时域波形图两次重复“上海”,时域能量差别很大,下方的负熵图对应于两次重复的语音。下方的图显示两次“上”字所对应的负熵近似相等,而两次“海”字由于在发音上差别较大,使得负熵有一定的差别。时域能量的差别明显大于负熵的差别。图3是同一句话与白噪声在不同信噪比下混合得到的信号的负熵图。参照图3,在不同大小的白噪声背景下,随着信噪比的下降,熵的形状基本保持不变,但是由于噪声对语音频谱的污染增加,使得整体上幅度(负坐标轴)有所下降。谱熵具有一定的抗噪能力。尽管谱熵可以作为区分语音信号和背景噪声信号的有效的特征,并将其应用到端点检测器中,但是,语音的频谱受到背景噪声信号的污染,语音信号的谱熵的变化增加了端点检测的难度,尤其是在低信噪比条件下。而且在现实环境下,各种各样的噪声的谱熵使得端点检测算法的门限难以确定。为实现上述目的,包括步骤1).计算信号开始时N1帧的能量E_noise;2).根据步骤1)得到的噪声估计值E_noise,指定相应的K值;3).使用步骤2)选定的K值计算每帧的负熵Entropy;4).以当前帧前面数帧的平均负熵值Mean+V1作为第一个门限Th1,以Mean+V2作为第一个门限Th2。不断推进当前帧,直到找到满足判决机制的帧作为语音的起始点;5).找到起始点后,将K取为预先设定的K0,计算其后每帧的负熵; 6).找到起始点之后,向前推进直到某帧负熵Entropy小于Th3,从此处向后寻找谷底,且将其作为当前帧。不断推进当前帧,直到找到满足判决机制的帧作为语音的终点;7).重复步骤3到步骤6,直到信号结束。8).对每一起点、终点对,如果其帧数小于最短句子帧数,则认为其间的数据不是语音,而是噪声;如果在两段语音之间的间隙小于最短停顿帧数,则认为两段语音可合为一段语音。本专利技术的最基本特征是对基本的频域信息熵的计算公式作了改进,在概率计算公式的分子、分母中做加K运算,从而提高了噪声信号和语音信号的谱熵之间的区分性,在各种噪声环境下更为容易地实现了较为准确的端点检测。由此可见,加K的运算使得较大的概率密度变小,而较小的概率密度变大,每帧的概率分布趋向于均匀。我们知道熵是不确定性的度量,概率分布越均匀,不确定性越大,那么谱熵会增大(负熵减小)。对于不同帧,总能量不同,那么Δpi的变化取决于每帧的总能量、K和pi。尽管噪声和语音信号的谱熵都会增加,但是从(5)可以发现,由于通常带噪语音的能量大于噪声的能量,所以在同样K和pi的情况下,语音信号的|Δpi|较噪声信号的|Δpi|更小,导致噪声的谱熵增加的可能性更大。同理,假定同一噪声信号在不同信噪比下保持一致的概率分布和相同的K值,则不同的噪声能量导致噪声的谱熵不同,那么为了实施本专利技术时的简易性,可以在不同信噪比下选择不同的K值,使得不同能量的噪声的谱熵值接近。由信噪比的公式可以推导出,假设语音信号不变,在信噪比为20db情况下噪声能量为Enoise_20db,则在信噪比为15db情况下噪声能量为Enoise_15db=1.778Enoise_20db,在信噪比为10db情况下噪声能量为Enoise_15db=3.162Enoise_20db,在信噪比为5db情况下噪声能量为Enoise_15db=5.623Enoise_20db。由此可见,要使公式(5)在不同信噪比下,对噪声的大小相近,需要在20db下取K=K0,在15db下取K=1.778K0,在10db下取K=3.162K0,在5db下取K=5.623K0。而且,语音和噪声信号的频谱有一定差别,使得加K可能对噪声的影响较对语音的影响更大。图4中,我们将频域有效范围限定在250Hz和6000Hz之间,图4.a、图4.b、图4.c、图4.d是某帧频域概率值依从小到大的顺序排列的曲线。图4.a、图4.b是噪声相应的曲线。图4.c、图4.d是语音相应的曲线。图4.a、图4.c对应于不加K的算法(使用公式(1)),图4.b、图4.d对应于加K的算法(使用公式(4))。参照图4.a、图4.c,噪声和语音的概率分布有一定区别。参看图4.b、图4.d,加K的确使得概率均匀化。参照图4.a与图4.b的对比、图4.c与图4.d的对比,加K对噪声的影响大于对语音的影响。上面的讨论说明加K运算改变了信号原来的熵,而且通常对噪声信号的熵的改变更大,导致噪声和语音信号的熵有了更大的区分度。图5、图6、图7、图8以在四种背景噪声环境下,四种信噪比下加k前后的负熵曲线图说明了本专利技术的有效性。参照图5、图6、图7、图8,加K前的负熵曲线由通常的公式(1)得到,加K后的负熵曲线使用本专利技术提出的公式(4)得到,加K后的负熵曲线明显地区分背景噪声和语音信号,使得端点检测算法的门限更易确定。(两条虚线之间的部分表示语音信号。)本专利技术的具体实本文档来自技高网...

【技术保护点】
一种基于熵的端点检测方法,包括步骤:1).计算信号开始时N1帧的能量E_noise;2).根据步骤1)得到的噪声估计值E_noise,指定相应的K值;3).使用步骤2)选定的K值,利用公式(4)、(3)计算每帧的负熵Entrop y;4).以当前帧前面数帧的平均负熵值Mean+V1作为第一个门限Th1,以Mean+V2作为第一个门限Th2。不断推进当前帧,直到找到满足判决机制的帧作为语音的起始点;5).找到起始点后,将K取为K↓[0],利用公式(4)、(3) 计算其后每帧的负熵;6).找到起始点之后,向前推进直到某帧负熵Entropy小于Th3,从此处向后寻找谷底,且将其作为当前帧。不断推进当前帧,直到找到满足判决机制的帧作为语音的终点;7).重复步骤3到步骤6,直到信号结束。8). 对每一起点、终点对,如果其帧数小于最短句子帧数,则认为其间的数据不是语音,而是噪声;如果在两段语音之间的间隙小于最短停顿帧数,则认为两段语音可合为一段语音。

【技术特征摘要】
1.一种基于熵的端点检测方法,包括步骤1).计算信号开始时N1帧的能量E_noise;2).根据步骤1)得到的噪声估计值E_noise,指定相应的K值;3).使用步骤2)选定的K值,利用公式(4)、(3)计算每帧的负熵Entropy;4).以当前帧前面数帧的平均负熵值Mean+V1作为第一个门限Th1,以Mean+V2作为第一个门限Th2。不断推进当前帧,直到找到满足判决机制的帧作为语音的起始点;5).找到起始点后,将K取为K0,利用公式(4)、(3)计算其后每帧的负熵;6).找到起始点之后,向前推进直到某帧负熵Entropy小于Th3,从此处向后寻找谷底,且将其作为当前帧。不断推进当前帧,直到找到满足判决机制的帧作为语音的终点;7).重复步骤3到步骤6,直到信号结束。8).对每一起点、终点对,如果其帧数小于最短句子帧数,则认为其间的数据不是语音,而是噪声;如果在两段语音之间的间隙小于最短停顿帧数,则认为两段语音可合为一段语音。2.按权利要求1所述的方法,其特征在于在概率计算公式的分子、分母中作加K的计算,本方法所用的概率计算公式是pi′=(Y(fi)+K)/Σk=0N-1(Y(fk)+K),i=0...N-1,K>0---(1)]]>则加K后概率密度的变化为Δpi...

【专利技术属性】
技术研发人员:贾川徐波
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1