一种基于动态规划的基音周期提取方法转让专利

申请号 : CN200710065401.5

文献号 : CN101030375B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 崔慧娟唐昆魏旋党晓妍

申请人 : 清华大学

摘要 :

本发明属于语音编码技术领域,其特征在于,采用逆滤波进行谱平坦操作,并把逆滤波零点位置限制在单位圆内的一个单位圆的同心圆中,避免了零点处谐波被过度衰减;同时该动态规划方法考虑了基音周期的正常变化与自身提取错误的情况,使用分段函数计算路径代价,并且对刚过去一帧与当前帧的路径代价限幅,以避免错误传播。由于清音不含周期信息,不能参与动态规划,该算法需要输入清浊音信息,但清浊音的判决错误同样不可避免,所以该算法使用帧间加权来减弱清音帧判断错误对算法的影响。本发明能在较低延时下取得更好的提取性能。

权利要求 :

1.一种基于动态规划的基音周期提取方法,其特征在于,所述方法是在数字集成电路中依次按以下步骤实现的:步骤(1)对输入的语音信号用一个高通滤波器滤去直流分量和工频干扰;

步骤(2)对步骤(1)所述经过高通滤波的语音信号用一个低通滤波器去除影响基音提取的高频信号;

步骤(3)对于低通滤波的输出信号sLP(n)用下述二阶LPC逆滤波器进行逆滤波,其中该二阶LPC逆滤波器的零点被限制在一个半径比单位圆小并与单位圆同心的圆内,得到残差信号eLP(n),其中,所述的二阶LPC逆滤波器的传输函数H(z)为:-1 -2

H(z)=1+a1z +a2z ,其中,

其中,γ=0.96,rs(0),rs(1),rs(2)为sLP(n)的自相关系数,其中, m=0,1,2,

其中,n用来表示各个采样点,每帧信号中采样点总数N取200;

步骤(4)在给定的基音周期范围内,求出残差信号的各个自相关值r(m),m=18~

148,

其中,n用来表示各个采样点,每帧信号中采样点总数N取200;

同时,找出自相关函数的最大值点的位置p0和相应的自相关值Rmax;

步骤(5)进行倍频检测,调整步骤(4)中所计算的自相关函数值:如果下式条件满足

r(p)≥αRmax

则令

r(p)=Rmax-ε

其中p取p0/2、或p0/3、或p0/4,α、ε为常数值,分别取0.8和0.0001,p0为步骤(4)中所找出的自相关函数的最大值点的位置;

(0)

步骤(6)以需要判决基音周期的当前帧为0帧,用Frm 表示,以下一个前瞻帧为1帧,(1) (-1) (0) (1)用Frm 表示,以刚过去的一帧为-1帧,用Frm 表示,在所述Frm 、Frm 中的全部自相关值中依次各选出前5个最大的极大值点作为备选基音周期,把k帧的第n个极大值点记(k) (k)为Pn ,对应的自相关值Rn ,其中k=0,1,n=1,2,...,5,对于已经进行过基音提取的(-1) (-1)Frm ,仅使用提取结果P ;

(0) (1) (-1) (0) (1) (-1)步骤(7)分别记录Frm 、Frm 、Frm 各帧的功率,分别记为σ 、σ 、σ ,按下(-1) (0) (1)式计算一条完全穿过Frm 、Frm 、Frm 的完整路径 的路径代价Ca,其中(0) (1)分别是步骤(6)所述的Frm 、Frm 中依次选定的的5个备选基音周期中任意的一个,其中Tpc=0.42, 依次分别是路径 的路径代价,各依次按下式计算:

其中,α=3.175,Δ=0.1;

(-1) (0) (1) (0)

wf(σ -σ )和wf(σ -σ )为过去帧的能量加权函数,由下式决定:其中Δσf在wf(σ(-1)-σ(0))和wf(σ(1)-σ(0))中分别对应σ(-1)-σ(0)和σ(1)-σ(0);

依次分别为 相对应的点代价函数值,按下式分别计算:n=i时k=0;n=j时k=1,

步骤(8),遍历由 的各条完整路径,找出完整路径代价最小的一条路径(0)

为正确的路径轨迹,并取该路径上在当前帧位置上的点Pn 为基音周期。

2.根据权利要求1所述的一种基于动态规划的基音周期提取方法,其特征在于,若(0)Frm 帧为清音,则该帧基音周期不予判断。

3.根据权利要求1所述的一种基于动态规划的基音周期提取方法,其特征在于,若(-1) (-1) (0)Frm 帧为清音,则令wf(σ -σ )为0,刚过去的一帧不参与动态规划。

4.根据权利要求1所述的一种基于动态规划的基音周期提取方法,其特征在于,若(1) (1) (0)Frm 帧为清音,则令wf(σ -σ )为0,前瞻的一帧不参与动态规划。

说明书 :

一种基于动态规划的基音周期提取方法

技术领域

[0001] 这种延时受限的基音提取方法适用于语音编码领域。在延时有限的情况下,使用改进的动态规划方法,有效地减少基音周期提取错误,能极大地提高声码器主观听觉质量。

背景技术

[0002] 逆滤波是一种常见的谱平坦方法,为了消除其不利影响,M.Schroeder和B.Atal在1979年提出使用共振峰加权滤波器来衰减逆滤波器的影响。这种方法相当于衰减了逆滤波器的作用,防止了其不良影响,也削弱了其性能。本方法中对此作了修改,把逆滤波器零点进行限制,防止对零点处频率过度衰减,但是不影响一般情况下的性能。
[0003] 动态规划方法是一种常用的平滑算法。Bruce G..和George R.在1982年通过实验证明,动态规划方法较之非线性平滑、中值滤波有更好的性能。本算法考虑了基音周期的正常变动,清浊音信息判断错误和自身算法产生的错误,能在较低延时的情况下得到更高性能。

发明内容

[0004] 本发明基于自相关法求取基音周期,使得在较低延时下得到更好性能,以提高基音周期提取性能。
[0005] 其特征在于,所述方法是在数字集成电路中依次按以下步骤实现的:
[0006] 步骤(1)对输入的语音信号用一个高通滤波器滤去直流分量和工频干扰;
[0007] 步骤(2)对步骤(1)所述经过高通滤波的语音信号用一个低通滤波器去除影响基音提取的高频信号;
[0008] 步骤(3)对于低通滤波的输出信号sLP(n)用下述二阶LPC逆滤波器进行逆滤波,其中该二阶LPC逆滤波器的零点被限制在一个半径比单位圆小并与单位圆同心的圆内,得到残差信号eLP(n),其中,所述的二阶LPC逆滤波器的传输函数H(z)为:
[0009] H(z)=1+a1z-1+a2z-2,
[0010] 其中,
[0011]
[0012] 其中,γ=0.96,rs(0),rs(1),rs(2)为sLP(n)的自相关系数,
[0013] 其中,
[0014] 其中,n用来表示各个采用点,每帧信号中样点总数N取200;
[0015] 步骤(4)在给定的基音周期范围内,求出残差信号的各个自相关值r(m),m=18~148,
[0016]
[0017] 同时,找出自相关函数的最大值点的位置p0和相应的自相关值Rmax;
[0018] 步骤(5)进行倍频检测,调整步骤(4)中所计算的自相关函数值:
[0019] 如果下式条件满足
[0020] r(p)≥αRmax
[0021] 则令
[0022] r(p)=Rmax-ε
[0023] 其中p取p0/2、或p0/3、或p0/4,α、ε为常数值,分别取0.8和0.0001,p0为步骤(4)中所找出的自相关函数的最大值点的位置;(0)
[0024] 步骤(6)以需要判决基音周期的当前帧为0帧,用Frm 表示,以下一个前瞻帧为(1) (-1) (0) (1)1帧,用Frm 表示,以刚过去的一帧为-1帧,用Frm 表示,在所述Frm 、Frm 中的全部自相关值中依次各选出前5个最大的极大值点作为备选基音周期,把k帧的第n个极大值(k) (k)
点记为Pn ,对应的自相关值Rn ,其中k=0,1,n=1,2,...,5,对于已经进行过基音提(-1) (-1)
取的Frm ,仅使用提取结果p ;
(0) (1) (-1) (-1) (0) (1)
[0025] 步骤(7)分别记录Frm 、Frm 、Frm 各帧的功率,分别记为σ 、σ 、σ ,按下式计算一条完全穿过Frm(-1)、Frm(0)、Frm(1)的完整路径 的路径代价Ca,其中Pi(0)、Pj(1)分别是步骤(6)所述的Frm(0)、Frm(1)中依次选定的的5个备选基音周期中任意的一个,
[0026]
[0027]
[0028]
[0029] 其 中 TPC = 0.42,Cp(P(-1),Pi(0))、Cp(Pi(0),Pj(1)) 依 次 分 别 是 路 径的路径代价,各依次按下式计算:
[0030]
[0031]
[0032] 其中,α=3.175,Δ=0.1;
[0033] wf(σ(-1)-σ(0))和wf(σ(1)-σ(0))为过去帧的能量加权函数,由下式决定:
[0034]
[0035] 其 中 Δσf在 wf(σ(-1)-σ(0)) 和wf(σ(1)-σ(0)) 中 分 别 对 应σ(-1)-σ(0) 和(1) (0)σ -σ ;
[0036] Cr(Rj(1)、Cr(Rj(0))依次分别为Pi(0)、Pj(1)相对应的点代价函数值,按下式分别计算:
[0037] n=i时k=0;n=j时k=1,
[0038] 步骤(8),遍历由 的各条完整路径,找出完整路径代价最的一条路(0)
径为正确的路径轨迹,并取该路径上在当前帧位置上的点Pn 为基音周期。
[0039] 本发明基于自相关法求取基音周期,对于预处理和后处理算法都进行了调整,使得在几乎不增加复杂度的情况下进一步提高性能。
[0040] 对语音信号进行预处理时,限制逆滤波器的零点位置。当某一个谐波能量特别强时,可以避免对该谐波的过度衰减;而当各谐波能量相对均衡时,不影响逆滤波性能。
[0041] 使用动态规划进行基音周期提取时,考虑到基音周期的正常变化。对于低于某一门限的变化,认为代价为0;对于高于该门限的变化,使用一个二次函数来表示其代价。这样对于基音周期变化的实际路径代价很小,而对于基音周期变化超过正常范围的(错误)路径代价很大。
[0042] 考虑基音突变与算法自身判断错误的情况,对过去帧与当前帧之间的路径代价进行限幅,避免过去帧错误的传播。
[0043] 根据各帧与当前帧的功率电平差进行加权,使用一条折线表示:对于较小的电平变化,加权为1;对于电平较高的帧,适当增加权重;对于电平较低的帧,则给予较低权重,甚至权重设为0。这有效减少清浊音判断错误对基音提取的影响。
[0044] 使用Keele数据库进行测试,该数据库中含有10段约30s语音,分别由10个说话人,5男5女,分别颂读同一段文字所得。使用本发明所述方法测试结果如下表所示:
[0045]错误率
严重错误率 2.71%
一般错误均值 0.649
[0046] 其中,严重错误指超过1ms的错误,一般错误均值指不超过1ms的错误的平均值。

附图说明

[0047] 图1、基音周期动态规划平滑算法示意图。
[0048] 图2、本发明所述方法的流程图。

具体实施方式

[0049] 输入的语音信号首先经过一个高通滤波器,滤去直流分量和工频干扰。这里使用一个一阶的IIR滤波器,传递函数为
[0050]
[0051] 然后对经过高通滤波的语音信号s(n)进行低通滤波,以去除高频信号对基音提取的影响。选用截止频率为800Hz的Chebyshev II型低通滤波器,其传递函数为[0052]
[0053] 对于低通滤波的输出信号sLP(n),再经过二阶LP逆滤波。二阶LP逆滤波器传输函数为-1 -2
[0054] H(z)=1+a1z +a2z (3)
[0055] 其中的系数a1,a2为,
[0056]
[0057]
[0058] 其中,γ=0.96,rs(0),rs(1),rs(2)为sLP(n)的自相关系数
[0059]
[0060] 这里把一般所求二阶逆滤波系数所对应的零点限制在γ为半径,原点为圆心的圆中。
[0061] 在本方法中,采用自相关法进行基音周期检测,基音周期的范围限制在区间[18,148]。
[0062] 设sLP(n)经过二阶LP逆滤波器的输出信号记为eLP(n),在基音范围内用下式计算eLP(n)的归一化自相关,
[0063]
[0064] 由于基音周期处的自相关值将出现极大值,但在基音周期的倍数位置同样可能出现极大值,甚至最大值。使用倍频检测算法,调整上面所计算的自相关函数值,可以消除部分错误。首先找到eLP(n)自相关函数最大值点P0和对应的自相关值Rmax,如果下式条件满足
[0065] r(p)≥αRmax (8)
[0066] 则令
[0067] r(p)=Rmax-ε (9)
[0068] 其中p取p0/2、或p0/3、或p0/4,α、ε为常数值,分别取0.8和0.0001。
[0069] 为了从落在基音范围内的极大值点中选出正确的基音周期,利用基音周期变化缓慢这一特性,综合刚过去的前一帧和前瞻的一帧的信息,使用动态规划算法进行基音周期判决。
[0070] 以需要判决基音周期的当前帧为第0帧,刚过去的一帧为-1帧,前瞻的一帧为1(0) (-1) (1) (0) (1)帧,分别记为Frm 、Frm 、Frm 。对于Frm 和Frm ,分别找到极大值点中较大的前5(k) (k)
个点,作为备选基音周期,k帧第n个备选基音周期点记为Pn ,对应自相关值为Rn ,其中(-1) (-1)
k=0,1,n=1,2,...,5。而对于Frm ,由于已经进行了基音提取,只记录提取结果P 。
(k)
另外,分别记录三帧的功率,其中第k帧功率记为σ ,其中k=-1,0,1。
[0071] 由于基音周期变化缓慢,而且基音周期处的自相关函数值较大,可以认为基音轨迹中变化平缓,各点自相关值较大的路径,最有可能是正确的基音变化轨迹。(-1) (0) (1)
[0072] 假设一条完整路径(完全穿过Frm ,Frm 和Frm )为 定义Frm(-1)到Frm(0),以及Frm(0)到Frm(1)的路径代价分别依下式计算。
[0073]
[0074]
[0075] 其中α和Δ为常量,本方法中分别取3.175和0.1。
[0076] 设Frm(0)或Frm(1)中的某一帧中的自相关函数的一个备选基音周期Pn(k)对应自相(k)关值为Rn ,定义该备选基音周期的点代价为
[0077]
[0078] 由于Frm(-1)与Frm(0)能量可能相差很多,甚至不可比,适当加权是有必要的。以(0) (-1) (1) (-1) (0) (1) (0)Frm 为基准,定义Frm 与Frm 的加权函数分别为wf(σ -σ )和wf(σ -σ ),其中
[0079]
[0080] 则一条完整路径 的完整路径代价可以定义为
[0081]
[0082]
[0083]
[0084] 其中Rj(0)和Rj(1)分别为备选基音周期Pi(0)和Pj(1)对应的自相关函数值,Tpc为一常数,这里取0.42。
[0085] 由于清音帧不含基音周期信息,所以清音帧不参与动态规划。若Frm(0)帧为清音,(-1) (0) (-1)则判断该帧基音周期是无意义的;若Frm 帧为清音,则令wp(σ -σ )为0,刚过去一(1) (0) (1)
帧不参与动态规划;若Frm 帧为清音,则令wf(σ -σ )为0,前瞻的一帧不参与动态规划。这里清浊音信息是由任意其它算法提供的参考信息,并不要求判断完全准确。
[0086] 最后选择完整路径代价最小的一条路径 是正确的基音轨迹,则取(0) (0)
该路径在Frm 帧穿过的点Pn0 为当前帧基音周期。