基音周期估计值修正方法、基音估计方法和相关装置的制作方法

文档序号:2825144阅读:246来源:国知局
专利名称:基音周期估计值修正方法、基音估计方法和相关装置的制作方法
技术领域
本发明涉及信号处理领域,尤其涉及基音周期估计值修正方法、基音估计方法和相关装置。
背景技术
在语音信号处理领域,基音的原始含义是指发浊音时声带振动所引起的周期性特征,基音周期是声带振动频率的倒数。在音频信号处理领域,基音也具有类似的含义。从时域角度来看,周期信号的最明显特征是波形的类似性。依赖波形类似性的基音检测算法的主要原理是通过比较原始信号和它移位后的信号之间的类似性来确定基音周期。如果移位距离等于基音周期,那么,两个信号具有最大类似性(或者互相关最大)。无论是语音信号处理领域还是音频信号处理领域,基音的检测或基音周期的估计都是一项非常重要的技术,因为,通过基音检测和估计,提取信号的基频,就能够获知信号的变化快慢,从而了解信号的特征,为进一步的信号处理提供必要的参考。基音检测和估计算法较多,通常分为时域方法和频域方法两大类,其中,时域方法主要包括自相关函数法(Autocorrelation Function,ACF)、平均幅度差函数法 (Average Magnitude Difference Function,AMDF)禾口简单逆滤波足艮踪法(Simple Inverse Filtering Tracking, SIFT)等,频域方法主要包括谐波积谱法(Harmonic Product Spectrum Method)和倒谱法(C^ptrum Method,CM)从计算复杂度方面考虑,自相关法和其他方法相比,计算量低且性能上和其他方法差不多。在众多的基音检测和估计算法中,现有技术提供的一种方法是基于归一化互相关函数的基音估计方法。在该方法中,首先对输入的信号进行预处理,包括高通滤波、低通滤波、去均值、数值平滑等;然后,对经过预处理的信号计算其归一化互相关序列,得到互相关序列R(i),计算出的R(i)的最大值对应的延迟可以作为基音周期估计值;最后,使用中值滤波器对基音周期估计值进行平滑,平滑的目的主要是为了去除基音估计值中的“野点”, 即倍频/半频错误。上述现有技术中,归一化互相关函数法是通过当前信号和过去信号相比较,波形相似则信号的归一化互相关函数会出现峰值。如果信号的基音周期较小,且有较好的周期性,则互相关序列会包含多个周期,即,在互相关序列中会出现多个极大值。由于谐波的影响,这些极大值中,最大值往往不是第一个周期点对应的极大值,因此,归一化互相关函数法容易出现半频错误,从而导致中值滤波器对基音周期估计值进行平滑的效果不佳。

发明内容
本发明实施例提供了基音周期估计值修正方法、基音估计方法和相关装置,用于解决现有技术对基音周期估计值进行平滑时效果不佳的问题。本发明实施例提供一种基音周期估计值修正方法,包括比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值MAmax(i+l)与第一中间变量MAmax的加权值,若所
7述MAmax(i+l)大于所述MAmax的加权值,则分别以所述MAmax (i+1)和所述MAmax(i+1)对应的延迟T(i+1)替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内;计算所述第二中间变量T-与所述当前子帧前奇数个子帧的基音周期估计中值 Tpm mid。的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpre mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax 与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt ;将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt进行中值滤波,以进行所述中值滤波后得到的值作为中间子帧的基音周期估计值;所述第一中间变量MAmax的加权值是所述MAmax与第一经验因子的乘积,所述用所述MA_。对应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为所述 MA_。对应的延迟Ttl,所述中间子帧是所述当前子帧前偶数个子帧和所述当前子帧构成的若干子帧中子帧编号为中间值的子帧,所述偶数是小于所述奇数的最大偶数。本发明实施例提供一种基音周期估计值修正装置,包括比较模块,用于比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值MAmax(i+l)与第一中间变量MAmax 的加权值,若所述MAmax(i+l)大于所述MAmax的加权值,则分别以所述MAmax(i+l)和所述 MAfflax(i+1)对应的延迟T(I)替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内;校正模块,用于计算所述第二中间变量T。pt与所述当前子帧前奇数个子帧的基音周期估计中值Tpre mid。的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpm mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量 T ·
1 opt ‘中值滤波模块,用于将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt进行中值滤波,以进行所述中值滤波后得到的基音周期估计值作为中间子帧的基音周期估计值;所述第一中间变量MAmax的加权值是所述MAmax与第一经验因子的乘积,所述用所述MA_。对应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为所述 MA_。对应的延迟Ttl,所述中间子帧是所述当前子帧的前偶数个子帧和所述当前子帧构成的若干子帧中子帧编号为中间值的子帧,所述偶数是小于所述奇数的最大偶数。本发明实施例提供一种基音估计方法,包括对接收的信号进行预处理,所述信号包括语音信号或音频信号;对所述经过预处理的信号计算其归一化互相关序列,根据所述得到的归一化互相关序列求取所述归一化互相关序列的修正循环平均幅度差序列;根据所述修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正,以所述修正所得的延迟估计值为所述信号的基音周期估计值。本发明实施例提供一种基音估计装置,包括预处理模块,用于对接收的信号进行预处理,所述信号包括语音信号或音频信号;序列求取模块,用于对所述经过预处理的信号计算其归一化互相关序列,根据所述得到的归一化互相关序列求取所述归一化互相关序列的修正循环平均幅度差序列;修正模块,用于根据所述修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正,以所述修正所得的延迟估计值为所述信号的基音周期估计值。从上述本发明提供的实施例可知,由于修正循环平均幅度差序列是从具有良好周期性的归一化互相关序列推衍而得,处理修正循环平均幅度差序列最大值及其延迟值,通过循环比较相邻频率区域内修正循环平均幅度差序列最大值,最终确定当前子帧的修正循环平均幅度差序列最大值及其延迟,可以降低归一化互相关序列算法估计基音周期时出现半频/倍频错误的概率,而将当前子帧修正循环平均幅度差序列最大值的延迟与当前子帧前偶数个子帧的基音周期估计值进行中值滤波,则可以进一步减少估算基音周期时出现的半频/倍频错误,相当于进一步提高了基音周期估计的准确度。


为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以如这些附图获得其他的附图。图1是本发明实施例提供的基音周期估计值修正方法流程示意图;图2是本发明另一实施例提供的基音周期估计值修正方法流程示意图;图3是本发明实施例提供的基音估计方法流程示意图;图4是本发明实施例提供的一种基音周期估计值修正装置逻辑结构示意图;图5是本发明实施例提供的一种基音估计装置逻辑结构示意图;图6是本发明另一实施例提供的一种基音估计装置逻辑结构示意图;图7是本发明另一实施例提供的一种基音估计装置逻辑结构示意图;图8是基音估计装置用于语音音频统一编码的时间规整技术模块的结构示意图;图9是本发明实施例提供的语音信号基音估计系统逻辑结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参阅附图1,是本发明实施例提供的基音周期估计值修正方法流程示意图,主要包括步骤S101,比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值 MAfflax (i+1)与第一中间变量MAmax的加权值,若所述MAmax (i+Ι)大于所述MAmax的加权值,则分别以所述MAmax (i+Ι)和所述MAmax (i+1)对应的延迟T (i+1)替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内。考虑到可以将一帧信号,例如,语音信号或音频信号,划分为16个子帧,因此,在本发明实施例中,可以是以一个子帧为单位,进行基音周期估计值的修正。进一步地,由于互相关序列具有良好的周期性,因此,在本发明实施例中,可以通过计算信号的归一化互相关序列,将信号转换成归一化互相关序列,进而求取修正循环平均幅度差序列最大值。如此,在基音估计中可以不用考虑原始信号的起始时间,而是可以利用归一化互相关序列的第一个最大值的位置来估计基音周期。对于语音信号或音频信号,基音频率范围一般在60Hz 4000Hz之间,而能够被人耳感觉到的基音频率范围集中于80Hz 2500Hz之间。为了对基音周期进行估计,可以事先将基音频率范围划分若干个频率区域。在本发明提供的一个实施例中,将80Hz 2500Hz的基音频率范围划分成第一频率区域[80,240)Hz、第二频率区域口40,720)Hz和第三频率区域[720, 2500)Hz0然后,比较当前子帧在当前频率区域内修正循环平均幅度差(MCAMD,Modified Circular Average Magnitude Difference)序列最大值MAmax (i+1)与第一中间变量MAmax的加权值,例如,比较当前子帧在第二频率区域[240,720)内MCAMD序列最大值MAmax (2)与第一中间变量MAmax的加权值以及比较当前子帧在第三频率区域[720,2500)内MCAMD序列最大值MAmaxCB)与第一中间变量MAmax的加权值。由于基音估计最容易出现的是倍频/半频错误(即基音估计值中的“野点”),为了避免一开始时就出现这种错误,应当尽可能使相邻的MCAMD序列最大值对应的两个频率大小呈两倍或半倍关系,即倍频/半频关系。例如,当一个MCAMD序列最大值对应的频率为 IOOHz,则应该使相邻MCAMD序列最大值对应的频率为200Hz或50Hz。在本发明实施例中,当将80Hz 4000Hz的基音频率范围按照如下方式划分为若干频率区域每个频率区域的两个端值呈倍数关系,频率区域是连续的,即前一个频率区域的右端值(即该频率区域两个端值中较大的一个)与后一个频率区域的左端值(即该频率区域两个端值中较小的一个) 重叠。例如,在基音频率范围80Hz 4000Hz之间,划分第一频率区域为[80Hz,160Hz)、第二频率区域为[160Hz,320Hz)、第三频率区域为[320Hz,640Hz)、第四频率区域为[640Hz, 1280Hz)和第五频率区域为[U80Hz,4000Hz)。如此,相邻的MCAMD序列最大值在相邻的频率区域对应的两个频率大小呈两倍或半倍关系的可能性较大,从而使后续对基音估计值的修正更加准确。如果当前子帧在当前频率区域内MCAMD序列最大值MAmax(i+Ι)大于第一中间变量MAmax的加权值,则以当前子帧在当前频率区域内MCAMD序列最大值MAmax (i+Ι)替代第一中间变量MAmax,以当前子帧在当前频率区域内MCAMD序列最大值MAmax (i+Ι)对应的延迟 T(i+1)替代第二中间变量T。pt,并且重复上述比较过程,直至当前频率区域不在基音频率范围之内。例如,在算法最初,设定第一中间变量MAmax为当前子帧在第一频率区域[80Hz, 160Hz)内MCAMD序列最大值MAmax⑴,设定第二中间变量T。pt为MAmax⑴对应的延迟T⑴。 第一经验因子为P1,假设当前子帧在第二频率区域[160Hz,320Hz)内MCAMD序列最大值 MAfflax(2)大于 MAmax 与 P i 的乘积,BP MAfflax(2) > MAfflaxX P 1;则令 MAmax = MAfflax(2),Topt = T(2)。继续比较当前子帧在第三频率区域[320Ηζ,640Ηζ)内MCAMD序列最大值MAmax(3)与 MAmaxX P工,若MAmax (3) < MAmaxX P 1;则保持MAmax和T。pt不变。继续比较第四频率区域为 [640Hz, 1280Hz]内 MCAMD 序列最大值 MAmax(4)与 MAmaxX P ^,若 MAmax(4) > MAmaxX P 1;则令 MAfflax = MAfflax (4), Topt = T(4),......,此后继续比较,直至完成当前子帧在第五频率区域[1280Hz, 4000Hz)内MCAMD序列最大值MAmax (5)和当前MAmax与P1W乘积的比较。比较结束后,第二中间变量T。pt被赋予一个值,例如,当前子帧在第四频率区域W40Hz,U80Hz)内 MCAMD序列最大值MAmax⑷对应的延迟T (4)。在本发明实施例中,第一经验因子P1可以取0.95。S102,计算所述第二中间变量T。pt与所述当前子帧前奇数个子帧的基音周期估计中值TPM—mid—。的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpre mid。 邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量 MAfflax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt。若T。pt 被赋予一个值,例如,T。pt = MAmax(4),则计算 T。pt/Tpre mid。。这里,Tpre mid。是当前子帧前奇数个子帧的基音周期估计中值。在本发明提供的实施例中,Tpm mid。取当前子帧前5个子帧的基音周期估计中值可以得到较好的估计结果。例如,假设当前子帧是子帧 F8(F8的下标“8”表示子帧的编号,下同),记子帧F8前5个子帧依次为子帧F7、子帧F6、子帧F5、子帧F4和子帧F3,则子帧F8前5个子帧的基音周期估计中值是子帧F7、子帧F6、子帧 F5、子帧F4和子帧F3的基音周期估计值经过中值滤波后得到,也是当前子帧前5个子帧中编号为中间值的子帧的基音周期估计值,即子帧F5的基音周期估计值。若所述比值小于第一校正因子或大于第二校正因子并且所述Tpm mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值嫩^⑷大于所述第一中间变量MAmax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt ;记第一校正因子、第二校正因子和第二经验因子分别为巧、r2和P 2,若第二中间变量T。pt与当前子帧前奇数个子帧的基音周期估计中值Tpm mid。的比值小于第一校正因子或大于第二校正因子,即,若T。pt/TpM—mid—。<巧或T。pt/Tpre—mid—。> r2,则在TPM—mid—。邻近范围内,例如,在Tpm mid。邻近Ims(毫秒)范围内寻找当前子帧的MCAMD序列最大值MAmax(l。若 Tprejlid o邻近范围内当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于第一中间变量 MAfflax与第二经验因子的乘积,即,MAfflax0 > MAfflaxX P 2,则第二中间变量T。pt的当前值设置为 Tprejlid o邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl对应的延迟Ttlt5S103,将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt —起进行中值滤波,以进行所述中值滤波后得到的值作为中间子帧的基音周期估计值。中间子帧是当前子帧前偶数个子帧和当前子帧构成的若干子帧中子帧编号为中间值的子帧,而该偶数是小于步骤S102中的奇数的最大偶数。将当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt —起进行中值滤波,以进行所述中值滤波后得到的基音周期估计值作为中间子帧的基音周期估计值。例如,假设当前子帧是子帧F8,子帧F8前4个子帧即F7、子帧F6、子帧F5和子帧F4 每一个子帧的基音周期估计值分别为Τ7、τ6、τ5和Τ4,则将T。pt、T7、T6、T5和T4进行中值滤波, 以进行所述中值滤波后得到的基音周期估计值作为中间子帧的基音周期估计值,即作为子帧F6的基音周期估计值。在本发明实施例中,第一校正因子Γι、第二校正因子1~2和第二经验因子P2分别可以取 0. 75,1. 4 和 0. 85。从上述本发明提供的实施例可知,由于修正循环平均幅度差序列是从具有良好周期性的归一化互相关序列推衍而得,处理修正循环平均幅度差序列最大值及其延迟值,通过循环比较各个基音频率区域内修正循环平均幅度差序列最大值与预设的MAmax的加权值, 最终确定当前子帧的修正循环平均幅度差序列最大值及其延迟,可以降低归一化互相关序列算法估计基音周期时出现半频/倍频错误的概率,而用当前子帧修正循环平均幅度差序列得到的修正的基音延迟估计值,与当前子帧前偶数个子帧的基音周期估计值进行中值滤波,则可以进一步减少估算基音周期时出现的半频/倍频错误,相当于进一步提高了基音周期估计的准确度。以下结合附图2的流程,说明上述实施例中不满足某些假设条件时的技术方案, 例如,假设步骤SlOl中,当前子帧在当前频率区域内MCAMD序列最大值MAmax(i+l)与MAmax 的加权值的比较结果为MAmax (i+Ι)小于MAmaxX P附图2实施例中,以将基音频率范围划分为5个频率区域为例说明。本领域技术人员能够理解,在将基音频率范围划分为其他数目的频率区域时,例如3个频率区域,处理的流程类似,因此不再赘述将基音频率范围划分为其他数目的频率区域时的处理流程。S201,令 MAmax = MAmax(I),T。pt = T(I),i = 2。即将第一频率区域的 MCAMD 序列最大值和该最大值对应延迟作为预设初始值赋给第一中间变量MAmax和第二中间变量T。pt,向前移动一个频率区域(i = 2),即移动至第二频率区域。S202,MAmax⑴> MAmaxX P ! ?即判断当前子帧在新的频率区域内MCAMD序列最大值是否大于第一经验因子与MAmax的乘积,若大于,则流程进入步骤S203,否则,流程进入步骤 S204。S203,令MAmax = MAmax (i), Topt = T(i)。即在满足步骤S202条件时,第一中间变量 MAfflax和第二中间变量T。pt分别使用当前子帧在新的频率区域内MCAMD序列的最大值及其延迟代替。S204,令i = i+l。即向前移动一个频率区域。S205,i > 5 ?即判断当前频率区域是否在基音频率范围之内,或者当前频率区域是否是在基音频率范围内划分的5个频率区域内,若超出范围(即i > 5),则流程进入步骤 S206,否则重复上述过程,即回到步骤S202。S206,令r = T。pt/TpM mid。。即计算第二中间变量T。pt与当前子帧前5个子帧的基音周期估计中值Tpre—mid—。的比值。S207,r <Γι ?或r > r2 ?即判断第二中间变量T。pt与当前子帧前5个子帧的基音周期估计中值Tpre mid。的比值是否小于第一校正因子巧或是否大于第二校正因子r2。若是,则进入步骤S208,否则转入步骤S211。在本实施例中,巧和r2分别可以取0. 75和1. 4。S208,在Tpre mid。邻近范围内求取当前子帧的MCAMD序列最大值MAmaxtl及其延迟Ttl。 例如,在TpM mid。Ims (毫秒)范围内求取当前子帧的MCAMD序列最大值MAmaxtl及其延迟Ttlt5S209,MAmaxtl > MAmaxX P2 即判断Tpre mid。邻近范围内当前子帧的MCAMD序列最大值是否大于第一中间变量MA_与第二经验因子P2W乘积。若是,则进入步骤S210, 否则,转入步骤S211。S210,令T。pt = ;。即使用Tpm mid。邻近范围内当前子帧的MCAMD序列最大值MAmaxtl 对应的延迟Ttl校正第二中间变量T。pt。S211,将当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt—起进行中值滤波。进行中值滤波后得到的基音周期估计值作为中间子帧的基音周期估计值。这里的中间子帧是当前子帧前偶数个子帧和当前子帧构成的若干子帧中子帧编号为中间值的子中贞,例如,假设当前子帧是子帧F8,子帧F8前4个子帧是F7、子帧F6、子帧F5和子帧F4,则中间子帧是子帧F6。请参阅附图3,是本发明实施例提供的基音估计方法流程示意图,主要包括步骤S301,对接收的信号进行预处理,所述信号包括语音信号或音频信号。由于真实的信号,例如,语音信号或音频信号常常混杂着背景噪声、谐波以及共振峰频率等等,这些背景噪声和频率分量使得信号的波形变得非常复杂,这常常引起基音检测或估计的误判,为了在进行基音估计前尽可能去除这些不利因素,在本发明提供的实施例中,首先对接收的信号进行预处理。预处理包括对信号的静音帧和非静音帧进行判断。例如,由于语音或音频等信号的特征是随着时间而变化的,只有在一段时间间隔内,这些信号才保持相对稳定(平稳),信号的这种特性称为“短时性”。对语音或音频信号的分析和处理一般建立在“短时性”基础上,即对语音或音频信号流采用分段或分帧来处理。分帧一般采用可移动的有限长度窗口对语音或音频信号进行加权来实现。分帧既可以采用连续方式, 也可以采用交叠分段的方法实现。因此,在本发明提供的实施例中,可以通过采用短时平均能量(窗口加权的短时平均能量相当于将“平方”信号通过一个线性滤波器的输出)来对信号的静音/非静音帧进行判断,即当信号的短时能量小于某个门限值时,判断为静音帧, 否则为非静音帧。由于静音帧的周期不明显或者没有周期,对静音帧的基音周期进行估计往往与实际的基音周期偏离较大,从而影响对整个信号基音周期估计的准确性。鉴于上述原因,在本发明实施例中,对于信号的静音帧,不进行基音周期的估计和后处理过程。另外,在本发明实施例提供的基音估计方法中,为了适用于时间规整技术,将静音帧的基音周期设为前一子帧的基音中值而不是零,其原因在于,如果静音帧的基音周期设为零,则通过基音估计值提取的扭曲度(时间规整技术所需参数)在非静音帧和静音帧衔接点处会很大,导致错误的扭曲,进而影响使用本发明实施例提供的基音估计方法的时间规整技术性能。在对信号的静音帧和非静音帧进行判断之前,预处理还包括高通滤波、去均值和数值滤波。例如,可以采用下限频率为50Hz的高通滤波器对信号进行滤波,以去除电源信号的干扰。考虑到信号有非零均值时,归一化互相关序列在所有的延迟上均具有较高的数值,本发明实施例提供的预处理还包括去均值的过程,去均值之后的信号为s' (+)=
s (n)-u,此处,Μ = | 、(《)。为了对信号进行平滑,本发明实施例提供的预处理也包括采用
TV η=0
一定阶数的滤波器对信号进行数值滤波。实践证明,在对信号进行数值滤波时,阶数低于5 阶的滤波器效果不理想,高于5阶的滤波器效果提升不够明显,还带来较大的延迟。为了不引起延迟并得到较好的滤波效果,在本发明提供的实施例中,可以采用5阶数值滤波器对
信号进行数值滤波,5阶数值滤波器的数值滤波公式为 ( )=1 < -/)。
^ /=0S302,对所述经过预处理的信号计算其归一化互相关序列,根据所述得到的归一化互相关序列求取所述归一化互相关序列的修正循环平均幅度差序列。由于互相关序列具有良好的周期性,因此,在本发明实施例中,可以通过计算归一化互相关函数,将经过预处理的信号转换成归一化互相关序列。例如,通过归一化互相关函数(NCCF, Normalized Cross-Correlation Function)将信号转换成归一化互相关序列 R(J)
jV-1
^s(n)s(n-j)RU)= ,, J = 0,K ,M
Jz^2 (^2 J)
V rt 二 0/7 二 ο其中,M为互相关时延长度,N为互相关序列长度。之后,对得到的归一化互相关(NCC,Normalized Cross-Correlation)序列,计算 ^il^F^F^liSiS^ ^ (CAMDF, Circular Average Magnitude Difference Function), 信号进一步转换成循环平均幅度差序列A (j)
1 1MA(J) = ~Σ\Κ((η +J)modM)~R(n% 7=0,K ,—进一步地,对循环平均幅度差(CAMD, Circular Average Magnitude Difference) 序列进行修正,求取NCC序列的修正循环平均幅度差(MCAMD,Modified Circular Average Magnitude Difference) j^^lj M(j)MA(J) = A^ -A{j), j = 0,K ,今呲处,Afflax 为 A(j)序列的最大值。MA (j)的最大值对应的延迟是一个子帧(若将信号分成若干子帧进行分析)可能的基音周期估计值。如前所述,由于静音帧的周期不明显或者没有周期,对静音帧的基音周期进行估计往往与实际的基音周期偏离较大,从而影响对整个信号基音周期估计的准确性。因此,在本发明实施例中,对所述经过预处理的信号计算其归一化互相关序列,根据得到的归一化互相关序列求取所述归一化互相关序列的修正循环平均幅度差序列具体包括对经过预处理的非静音帧信号计算其归一化互相关序列,根据得到的非静音帧信号的归一化互相关序列求取该非静音帧信号的归一化互相关序列的修正循环平均幅度差序列。S303,根据所述修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正,以所述修正所得的延迟估计值为所述信号的基音周期估计值。记MCAMD序列最大值为MAmax (i),则在本发明实施例中,根据修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正包括步骤S3031、 S3032 和 S3033 S3031,比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值 MAfflax (i+1)与第一中间变量MAmax的加权值,若所述MAmax (i+Ι)大于所述MAmax的加权值,则分别以所述MAmax(i+Ι)和所述MAmax(i+l)对应的延迟T(i+1)替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内。这里的子帧可以是已经划分为16个子帧的一帧信号,例如,语音信号或音频信号,其16个子帧中的任何一个子帧,频率区域是在基音频率范围内划分的若干频率区间。 例如,在80Hz 4000Hz之间的基音频率范围内划分成的五个频率区域第一频率区域 [80,160)Hz、第二频率区域[160,320)Hz、第三频率区域[320,640)Hz、第四频率区域[640, 1280)Hz和第五频率区域[1280,4000)Hzο
步骤S3031更详细的说明可参阅附图1示例的步骤SlOl的相关说明,此处不做赘述。S3032,计算第二中间变量T。pt与当前子帧前奇数个子帧的基音周期估计中值Tpre mid—。的比值。若第二中间变量T。pt与当前子帧前奇数个子帧的基音周期估计中值Tpre mid。的比值小于第一校正因子或大于第二校正因子并且所述Tpm mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt。若T。pt 被赋予一个值,例如,T。pt = MAmax(4),则计算 T。pt/Tpre mid。。SM, Tprejlid o 是当前子帧前奇数个子帧的基音周期估计中值。在本发明提供的实施例中,Tpm mid。取当前子帧前5个子帧的基音周期估计中值可以得到较好的估计结果。例如,假设当前子帧是子帧 F8(F8的下标“8”表示子帧的编号,下同),记子帧F8前5个子帧依次为子帧F7、子帧F6、子帧F5、子帧F4和子帧F3,则子帧F8前5个子帧的基音周期估计中值是子帧F7、子帧F6、子帧 F5、子帧F4和子帧F3的基音周期估计值经过中值滤波后得到,也是当前子帧前5个子帧中编号为中间值的子帧的基音周期估计值,即子帧F5的基音周期估计值。在本实施例,第一校正因子T1、第二校正因子r2和第二经验因子P 2分别可以取 0. 75、1· 4 和 0. 85。S3033,将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt—起进行中值滤波,以进行所述中值滤波后得到的值作为中间子帧的基音周期估计值。步骤S3033更详细的说明可参阅附图1示例的步骤S103的相关说明,此处不做赘述。从附图3的示例可知,本发明是根据得到的归一化互相关序列求取归一化互相关序列的修正循环平均幅度差序列,进而根据所述修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正,以所述修正所得的延迟估计值为所述信号的基音周期估计值。从总体上看,本发明实施例提供的基于归一化互相关加权修正循环平均幅度差函数的基音估计算法,与现有技术的时域基音估计算法相比具有较低时延,与频域算法相比计算复杂度低并且性能上相差不大。另一方面,由于修正循环平均幅度差序列是从具有良好周期性的归一化互相关序列推衍而得,因此可以降低归一化互相关序列算法估计基音周期时出现半频/倍频错误的概率,而根据所述修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正(例如,用当前子帧修正循环平均幅度差序列得到的修正的基音延迟估计值,与当前子帧前偶数个子帧的基音周期估计值进行中值滤波)则可以进一步减少估算基音周期时出现的半频/倍频错误,相当于进一步提高了基音周期估计的准确度。请参阅附图4,是本发明实施例提供的一种基音周期估计值修正装置逻辑结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图4示例的基音周期估计值修正装置包含的功能模块/单元可以是软件模块/单元、硬件模块/单元或软硬件相结合模块/单元,包括比较模块401、校正模块402和中值滤波模块403,其中比较模块401,用于比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值MAmax(i+l)与第一中间变量MAmax的加权值,若所述MAmax(i+l)大于所述MAmax的加权值, 则分别以所述MAmax (i+Ι)和所述MAmax (i+1)对应的延迟T(i+1)替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内,所述第一中间变量MAmax的加权值是所述MAmax与第一经验因子的乘积,所述频率区域是在所述基音频率范围内划分的若干频率区间;校正模块402,用于计算所述第二中间变量T。pt与所述当前子帧前奇数个子帧的基音周期估计中值Tpre mid。的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpre mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmax0大于所述第一中间变量MAmax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt ;所述用所述MAmax0应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为所述MAmaxtl对应的延迟Ttl ;中值滤波模块403,用于将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt进行中值滤波,以进行所述中值滤波后得到的值作为中间子帧的基音周期估计值;所述中间子帧是所述当前子帧的前偶数个子帧和所述当前子帧构成的若干子帧中子帧编号为中间值的子帧,所述偶数是小于所述奇数的最大偶数。需要说明的是,以上基音周期估计值修正装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述基音周期估计值修正装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的校正模块中,可以是具有执行前述计算第二中间变量T。pt与当前子帧前奇数个子帧的基音周期估计中值Tpm mid。的比值的硬件,例如比值计算器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的中值滤波模块,可以是具有执行前述将当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt进行中值滤波功能的硬件,如中值滤波器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备。附图4示例的基音周期估计值修正装置中,基音频率范围可以为[80Hz,4000Hz), 所述频率区域是在[80Hz,4000Hz)内划分的第一频率区域[80Hz,160Hz)、第二频率区域 [160Hz,320Hz)、第三频率区域[320Hz,640Hz)、第四频率区域R40Hz,U80Hz)和第五频率区域[U80Hz,4000Hz)。此时,比较模块401具体用于预设第一中间变量MAmax值为当前子帧在[80Hz,160Hz)内修正循环平均幅度差序列最大值MAmax(I),预设第二中间变量T-值为所述MAmax(I)对应的延迟T(I);比较当前子帧在[160Hz,320Hz)内修正循环平均幅度差序列最大值MAmax⑵与第一中间变量MAmax的加权值并对所述MAmax和所述T。pt进行修正、比较当前子帧在[320Hz,640Hz)内修正循环平均幅度差序列最大值MAmax(;3)与第一中间变量 MAfflax的加权值并对所述MAmax和所述T。pt进行修正、比较当前子帧在[640Hz,1280Hz)内修正循环平均幅度差序列最大值MAmax (4)与第一中间变量MAmax的加权值并对所述MAmax和所述T。pt进行修正,以及比较当前子帧在[U80Hz,4000Hz)内修正循环平均幅度差序列最大值MAmax(5)与第一中间变量MAmax的加权值并对所述MAmax和所述T。pt进行修正。附图4示例的基音周期估计值修正装置中,当前子帧前奇数个子帧的基音周期估计中值Tpre mid。可以为所述当前子帧前5个子帧的基音周期估计中值Tpm mid。,Tprejlid o邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax 与第二经验因子的乘积为所述Tpm mid。邻近1毫秒范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax与第二经验因子的乘积。此时,校正模块402具体用于计算所述第二中间变量T。pt与所述当前子帧前5个子帧中编号为中间值的子帧的基音周期估计值的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpm mid。邻近1毫秒范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax与第二经验因子的乘积,则将第二中间变量T。pt的当前值设置所述 MAfflax0对应的延迟T。。附图4示例的基音周期估计值修正装置中,中值滤波模块403具体用于将所述当前子帧前4个子帧的基音周期估计值Tpm e与第二中间变量T。pt进行中值滤波。请参阅附图5,是本发明实施例提供的一种基音估计装置逻辑结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图5示例的基音估计装置可以用于语音音频统一编码中的时间规整技术模块中,也可以用于语音信号的基音估计,其包括预处理模块501、序列求取模块502和修正模块503,其中预处理模块501,用于对接收的信号进行预处理,所述信号包括语音信号或音频信号;序列求取模块502,用于对所述经过预处理的信号计算其归一化互相关序列,根据所述得到的归一化互相关序列求取所述归一化互相关序列的修正循环平均幅度差序列;修正模块503,用于根据所述修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正,以所述修正所得的延迟估计值为所述信号的基音周期估计值。附图5示例的预处理模块501还可以包括判断单元601,如附图6示例的基音估计装置。判断单元601用于对接收的信号进行预处理后,对所述信号的静音帧和非静音帧进行判断,此时,序列求取模块502具体用于对所述经过预处理的非静音帧信号计算其归一化互相关序列,根据所述得到的非静音帧信号的归一化互相关序列求取所述非静音帧信号的归一化互相关序列的修正循环平均幅度差序列。附图5或附图6示例的修正模块503还可以包括比较单元701、校正单元702和中值滤波单元703,如附图7示例的基音估计装置,其中比较单元701,用于比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值MAmax(i+l)与第一中间变量MAmax的加权值,若所述MAmax(i+l)大于所述MAmax的加权值, 则分别以所述MAmax (i+Ι)和所述MAmax (i+1)对应的延迟T(i+1)替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内,所述第一中间变量MAmax的加权值是所述MAmax与第一经验因子的乘积,所述频率区域是在所述基音频率范围内划分的若干频率区间;校正单元702,用于计算所述第二中间变量T。pt与所述当前子帧前奇数个子帧的基音周期估计中值Tpre mid。的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpre mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmax0大于所述第一中间变量MAmax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt ;所述用所述MAmax0对应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为所述MAmaxtl对应的延迟Ttl,中值滤波单元703,用于将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt进行中值滤波,以进行所述中值滤波后得到的值作为中间子帧的基音周期估计值;所述中间子帧是所述当前子帧前偶数个子帧和所述当前子帧构成的若干子帧中子帧编号为中间值的子帧,所述偶数是小于所述奇数的最大偶数。需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。附图8给出了附图5至附图7任一示例的基音估计装置用于语音音频统一编码的时间规整(TW,Time Warp)技术模块的结构示意图。附图8示例的语音音频统一编码的时间规整技术模块包括心理声学控制模块801、Tff信息编码器803、Tff信息解码器804、Tff 映射模型构建模块805、比特输出模块806、Tff重采样模块807、加窗映射模块808、修正的离散余弦变换(Modified Discrete Cosine Transform,MDCT)模块 809 和附图 5 至附图 7 任一示例的基音估计装置802。在附图8示例的时间规整技术模块中,若根据信号分类判别,判定使用频域编码方式进行编码,当编码器采用TW模式时,则将待编码信号分别送入心理声学控制模块801、 基音估计装置802和TW重采样模块807。心理声学控制模块801提取信号的心理声学参数,用于辅助加窗映射模块808中的窗型选择;基音估计装置802对信号的音调变化进行跟踪,提取基音信息,主要包括基音周期估计值(在本实施例中,基音周期可用于计算TW映射曲线参数信息);TW重采样模块807完成待编码信号的时域重映射,以提高待编码信号在频域的频谱集中度。TW信息编码器803对输入的TW映射曲线参数信息进行编码量化并存储在码流中,而TW信息解码器804对编码量化后的TW映射曲线参数信息进行解码。本实施例中,使用解码后的TW映射曲线参数信息来构建TW映射模型,可以使编码与解码端的映射参数保持一致,从而可以在解码端根据该参数信息恢复出与编码端完全一致的映射曲线,避免因量化编码所带来的误差。解码后的TW映射曲线参数信息输入至TW映射模型构建模块805。Tff映射模型构建模块805根据解码后的TW映射曲线参数信息构建映射曲线, 并计算时频变换操作所需的重采样和窗函数等控制信息。待编码信号经过TW重采样模块 807重采样和TW加窗映射模块808加窗映射后,得到TW域信号,送入修正的离散余弦变换模块809进行变换,从而得到TW-MDCT的系数。由于TW编码时,每帧需要16个基音信息来计算映射曲线,实现时每帧数据长度采用IOM点时,即每隔64点输出一个基音数据。基音跟踪模块的具体实施方案为采用1 点的矩形窗,每次平移64点的方式进行基音周期估计,每帧数据计算16个基音值。附图9给出了附图5至附图7任一示例的基音估计装置用于语音信号的基音估计时,语音信号基音估计系统逻辑结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图9示例的语音信号基音估计系统包括预处理模块901、清音浊音判断模块 902、中心削波模块903、基音周期置零模块904、序列求取模块905和修正模块906,其中,预处理模块901、序列求取模块905和修正模块906可以分别是附图5至附图7任一示例基音估计装置中的预处理模块、序列求取模块和修正模块预处理模块901,用于对输入的语音信号进行高通低通滤波、去均值和数值平滑等;清音浊音判断模块902,用于根据短时能量和短时过零率判断经过预处理模块 901处理的语音信号是浊音还是清音;中心削波模块903,用于去除浊音信号中能量较小部分;基音周期置零模块904,用于对清音信号的基音周期置零;序列求取模块905,用于对经过所述中心削波模块903处理的信号计算其归一化互相关序列,根据所述得到的归一化互相关序列求取所述归一化互相关序列的修正循环平均幅度差序列;修正模块906,用于根据所述序列求取模块905求取的修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正,以所述修正所得的延迟估计值为所述信号的基音周期估计值。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。以上对本发明实施例提供的基音周期估计值修正方法、基音估计方法和相关装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种基音周期估计值修正方法,其特征在于,所述方法包括比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值MAmax(i+l)与第一中间变量MAmax的加权值,若所述MAmax (i+Ι)大于所述MAmax的加权值,则分别以所述MAmax(i+l) 和所述MAmax (i+1)对应的延迟T(i+1)替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内;计算所述第二中间变量T。pt与所述当前子帧前奇数个子帧的基音周期估计中值Tpm mid 。的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpre mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值嫩^⑷大于所述第一中间变量MAmax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt ;将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt进行中值滤波, 以进行所述中值滤波后得到的值作为中间子帧的基音周期估计值;所述第一中间变量MAmax的加权值是所述MAmax与第一经验因子的乘积,所述用所述 MAfflax0对应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为所述 MA_。对应的延迟Ttl,所述中间子帧是所述当前子帧前偶数个子帧和所述当前子帧构成的若干子帧中子帧编号为中间值的子帧,所述偶数是小于所述奇数的最大偶数。
2.如权利要求1所述的方法,其特征在于,所述基音频率范围为[80Hz,4000Hz),所述频率区域是在[80Hz,4000Hz)内划分的第一频率区域[80Hz,160Hz)、第二频率区域 [160Hz,320Hz)、第三频率区域[320Hz,640Hz)、第四频率区域R40Hz,U80Hz)和第五频率区域[1280Hz,4000Hz);所述比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值MAmax(i+l)与第一中间变量MAmax的加权值包括预设第一中间变量MAmax值为当前子帧在[80Hz,160Hz)内修正循环平均幅度差序列最大值MAmax(I),预设第二中间变量T-值为所述MAmax(I)对应的延迟T(I);若当前子帧在[160Hz,320Hz)内修正循环平均幅度差序列最大值MAmax ( 大于所述 MAfflax的加权值,则分别以所述MAmax (2)和所述MAmax (2)对应的延迟T (2)替代所述MAmax和所述 Topt ;若当前子帧在[320Hz,640Hz)内修正循环平均幅度差序列最大值MAmax (;3)大于所述 MAfflax的加权值,则分别以所述MAmax (3)和所述MAmax (3)对应的延迟T (3)替代所述MAmax和所述 Topt ;若当前子帧在W40Hz,U80Hz)内修正循环平均幅度差序列最大值MAmax(4)大于所述 MAfflax的加权值,则分别以所述MAmax (4)和所述MAmax (4)对应的延迟T (4)替代所述MAmax和所述 Topt ;若当前子帧在[U80Hz,4000Hz)内修正循环平均幅度差序列最大值MAmax(5)大于所述 MAfflax的加权值,则分别以所述MAmax (5)和所述MAmax (5)对应的延迟T (5)替代所述MAmax和所述 Topt。
3.如权利要求1所述的方法,其特征在于,所述当前子帧前奇数个子帧的基音周期估计中值Tpre mid。为所述当前子帧前5个子帧的基音周期估计中值Tpm mid。;所述当前子帧前5个子帧的基音周期估计中值Tpre mid。为所述当前子帧前5个子帧中编号为中间值的子帧的基音周期估计值;所述计算所述第二中间变量T-与所述当前子帧前奇数个子帧的基音周期估计中值 TpMmid。的比值为计算所述第二中间变量T。pt与所述当前子帧前5个子帧中编号为中间值的子帧的基音周期估计值的比值。
4.如权利要求1所述的方法,其特征在于,所述Tpmmid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAfflax与第二经验因子的乘积为所述Tpm mid。邻近1毫秒范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl 大于所述第一中间变量MAmax与第二经验因子的乘积。所述用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为Tpm mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmax0对应的延迟T。。
5.如权利要求1所述的方法,其特征在于,所述将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt进行中值滤波包括将所述当前子帧前4个子帧的基音周期估计值与第二中间变量T。pt进行中值滤波。
6.如权利要求1至5任意一项所述的方法,其特征在于,所述第一经验因子为0.95,所述第一校正因子为0. 75,所述第二校正因子为1. 4,所述第二经验因子为0. 85。
7.一种基音周期估计值修正装置,其特征在于,所述装置包括比较模块,用于比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值 MAfflax (i+1)与第一中间变量MAmax的加权值,若所述MAmax (i+Ι)大于所述MAmax的加权值,则分别以所述MAmax(i+Ι)和所述MAmax(i+l)对应的延迟T(I)替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内;校正模块,用于计算所述第二中间变量T。pt与所述当前子帧前奇数个子帧的基音周期估计中值Tpre mid。的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpre mid—。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt ;中值滤波模块,用于将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量 Topt进行中值滤波,以进行所述中值滤波后得到的基音周期估计值作为中间子帧的基音周期估计值;所述第一中间变量MAmax的加权值是所述MAmax与第一经验因子的乘积,所述用所述 MAfflax0对应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为所述 MA_。对应的延迟Ttl,所述中间子帧是所述当前子帧的前偶数个子帧和所述当前子帧构成的若干子帧中子帧编号为中间值的子帧,所述偶数是小于所述奇数的最大偶数。
8.如权利要求7所述的装置,其特征在于,所述基音频率范围为[80Hz,4000Hz),所述频率区域是在[80Hz,4000Hz)内划分的第一频率区域[80Hz,160Hz)、第二频率区域 [160Hz,320Hz)、第三频率区域[320Hz,640Hz)、第四频率区域R40Hz,U80Hz)和第五频率区域[1280Hz,4000Hz);所述比较模块具体用于预设第一中间变量MAmax值为当前子帧在[80Hz,160Hz)内修正循环平均幅度差序列最大值MAmax(I),预设第二中间变量T-值为所述MAmax(I)对应的延迟T(I);若当前子帧在[160Hz,320Hz)内修正循环平均幅度差序列最大值MAmax ( 大于所述 MAfflax的加权值,则分别以所述MAmax (2)和所述MAmax (2)对应的延迟T (2)替代所述MAmax和所述 Topt ;若当前子帧在[320Hz,640Hz)内修正循环平均幅度差序列最大值MAmax (;3)大于所述 MAfflax的加权值,则分别以所述MAmax (3)和所述MAmax (3)对应的延迟T (3)替代所述MAmax和所述 Topt ;若当前子帧在W40Hz,U80Hz)内修正循环平均幅度差序列最大值MAmax(4)大于所述 MAfflax的加权值,则分别以所述MAmax (4)和所述MAmax (4)对应的延迟T (4)替代所述MAmax和所述 Topt ;若当前子帧在[U80Hz,4000Hz)内修正循环平均幅度差序列最大值MAmax(5)大于所述 MAfflax的加权值,则分别以所述MAmax (5)和所述MAmax (5)对应的延迟T (5)替代所述MAmax和所述 Topt。
9.如权利要求7所述的装置,其特征在于,所述当前子帧前奇数个子帧的基音周期估计中值Tpre mid。为所述当前子帧前5个子帧的基音周期估计中值Tpm mid。;所述当前子帧前5个子帧的基音周期估计中值Tpre mid。为所述当前子帧前5个子帧中编号为中间值的子帧的基音周期估计值;所述Tpm mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax与第二经验因子的乘积为所述Tpm mid。邻近1毫秒范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax与第二经验因子的乘积;所述用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为所述MAmaxtl对应的延迟Ttl ;所述校正模块具体用于计算所述第二中间变量T。pt与所述当前子帧前5个子帧中编号为中间值的子帧的基音周期估计值的比值;若所述比值小于第一校正因子或大于第二校正因子并且所述Tpm mid。邻近1毫秒范围内所述当前子帧的修正循环平均幅度差序列最大值嫩^⑷大于所述第一中间变量MAmax与第二经验因子的乘积,则将第二中间变量T。pt的当前值设置为所述MAmaxtl对应的延迟 ;。
10.如权利要求7所述的装置,其特征在于,所述中值滤波模块具体用于将所述当前子帧前4个子帧的基音周期估计值Tpm e与第二中间变量T。pt进行中值滤波。
11.一种基音估计方法,其特征在于,所述方法包括对接收的信号进行预处理,所述信号包括语音信号或音频信号;对所述经过预处理的信号计算其归一化互相关序列,根据所述得到的归一化互相关序列求取所述归一化互相关序列的修正循环平均幅度差序列;根据所述修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正,以所述修正所得的延迟估计值为所述信号的基音周期估计值。
12.如权利要求11所述的方法,其特征在于,所述对接收的信号进行预处理包括对所述信号的静音帧和非静音帧进行判断;所述对所述经过预处理的信号计算其归一化互相关序列,根据所述归一化互相关序列求取所述归一化互相关序列的修正循环平均幅度差序列为对所述经过预处理的非静音帧信号计算其归一化互相关序列,根据所述得到的非静音帧信号的归一化互相关序列求取所述非静音帧信号的归一化互相关序列的修正循环平均幅度差序列。
13.如权利要求11所述的方法,其特征在于,所述根据所述修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正包括比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值MA x(i+l)与第一中间变量MAmax的加权值,若所述MAmax (i+Ι)大于所述MAmax的加权值,则分别以所述MAmax(i+l) 和所述MAmax (i+Ι)对应的延迟替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内;计算所述第二中间变量T。pt与所述当前子帧前奇数个子帧的基音周期估计中值Tpm mid 。的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpre mid。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值嫩^⑷大于所述第一中间变量MAmax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt ;将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量T。pt进行中值滤波, 以进行所述中值滤波后得到的值作为中间子帧的基音周期估计值;所述第一中间变量MAmax的加权值是所述MAmax与第一经验因子的乘积,所述用所述 MAfflax0对应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为所述 MA_。对应的延迟Ttl,所述中间子帧是所述当前子帧前偶数个子帧和所述当前子帧构成的若干子帧中子帧编号为中间值的子帧,所述偶数是小于所述奇数的最大偶数。
14.一种基音估计装置,其特征在于,所述装置包括预处理模块,用于对接收的信号进行预处理,所述信号包括语音信号或音频信号; 序列求取模块,用于对所述经过预处理的信号计算其归一化互相关序列,根据所述得到的归一化互相关序列求取所述归一化互相关序列的修正循环平均幅度差序列;修正模块,用于根据所述修正循环平均幅度差序列在基音频率范围内的最大值对应的延迟,对基音延迟估计值进行修正,以所述修正所得的延迟估计值为所述信号的基音周期估计值。
15.如权利要求14所述的装置,其特征在于,所述预处理模块还包括判断单元,用于对接收的信号进行预处理包括对所述信号的静音帧和非静音帧进行判断;所述序列求取模块具体用于对所述经过预处理的非静音帧信号计算其归一化互相关序列,根据所述得到的非静音帧信号的归一化互相关序列求取所述非静音帧信号的归一化互相关序列的修正循环平均幅度差序列。
16.如权利要求14所述的装置,其特征在于,所述修正模块包括比较单元,用于比较当前子帧在当前频率区域内修正循环平均幅度差序列最大值 MAfflax (i+Ι)与第一中间变量MAmax的加权值,若所述MAmax (i+Ι)大于所述MAmax的加权值,则分别以所述MAmax(i+Ι)和所述MAmax(i+l)对应的延迟T(I)替代第一中间变量MAmax和第二中间变量T。pt,重复所述比较过程,直至所述当前频率区域不在基音频率范围之内;校正单元,用于计算所述第二中间变量T。pt与所述当前子帧前奇数个子帧的基音周期估计中值Tpre mid。的比值,若所述比值小于第一校正因子或大于第二校正因子并且所述Tpre mid—。邻近范围内所述当前子帧的修正循环平均幅度差序列最大值MAmaxtl大于所述第一中间变量MAmax与第二经验因子的乘积,则用所述MAmaxtl对应的延迟Ttl校正第二中间变量T。pt ;中值滤波单元,用于将所述当前子帧前偶数个子帧的基音周期估计值与第二中间变量 Topt进行中值滤波,以进行所述中值滤波后得到的基音周期估计值作为中间子帧的基音周期估计值;所述第一中间变量MAmax的加权值是所述MAmax与第一经验因子的乘积,所述用所述 MAfflax0对应的延迟Ttl校正第二中间变量T。pt是将第二中间变量T。pt的当前值设置为所述 MA_。对应的延迟Ttl,所述中间子帧是所述当前子帧前偶数个子帧和所述当前子帧构成的若干子帧中子帧编号为中间值的子帧,所述偶数是小于所述奇数的最大偶数。
全文摘要
本发明提供基音周期估计值修正方法,包括当前子帧在当前频率区域内MCAMD的序列最大值MAmax(i+1)大于中间变量MAmax的加权值时,分别以MAmax(i+1)和MAmax(i+1)的延迟替代中间变量MAmax和中间变量Topt;若中间变量Topt与当前子帧前奇数个子帧的基音周期估计中值Tpre_mid_o的比值小于校正因子r1或大于校正因子r2并且Tpre_mid_o邻近范围内当前子帧的MCAMD的序列最大值MAmax0大于中间变量MAmax与经验因子ρ2的乘积,用MAmax0对应的延迟T0校正中间变量Topt;将当前子帧前偶数个子帧的基音周期估计值与中间变量Topt进行中值滤波。
文档编号G10L11/04GK102231274SQ20111011826
公开日2011年11月2日 申请日期2011年5月9日 优先权日2011年5月9日
发明者党红强, 刘贵忠, 杜正中, 顿玉洁 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1