实时音频编解码之六 LTP长时预测

Posted shichaog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实时音频编解码之六 LTP长时预测相关的知识,希望对你有一定的参考价值。

本文谢绝任何形式转载,谢谢。

1.4.6 LTP

LPC方法的压缩率比较高,但是音质不高,只用LPC方法的编解码语音具有“机器音”的特征,这是由于LPC系数阶数通常取10~20点,这一长度包含了共振峰信息但并不足以囊括所有的基频周期,且LPC对语音和非语音两者的混合处理的并不好,更高的LPC阶数可以减小解码端预测误差提高语言质量,但是编码端需要更多的算力和编码比特位,LTP目的是获取语音信号采样点之间的基音周期关系,LTP预测的输入为 e x [ n ] e_x[n] ex[n]输出为 e [ n ] e[n] e[n],长短时预测级联结构如图所示,对于语音[FB,SWB,WB] LPC=16,其它LPC=10,进行LTP量化:

图 长短时预测级联结构

长时预测系统传递函数是:
H ( z ) = 1 + b z − T H(z)=1+bz^-T H(z)=1+bzT
传递函数的参数b是长时增益(基频增益),可以用下式计算,T是基频周期。b和T的获取称为长时LP分析,使用LSE准则获取参数b和T,
b = − ∑ n x [ n ] x [ n − T ] ∑ n x 2 [ n − T ] , T = max ⁡ ∑ n x [ n ] x [ n − T ] ∑ n x 2 [ n − T ] b = -\\frac\\sum \\limitsnx[n]x[n-T]\\sum \\limitsnx^2[n-T], T = \\max\\frac\\sum \\limitsnx[n]x[n-T]\\sum \\limitsnx^2[n-T] b=nx2[nT]nx[n]x[nT],T=maxnx2[nT]nx[n]x[nT]
长时预测的误差比短时预测误差更小,但长时预测对基频周期性消除有限,问题症结在于长时系数应该比短时系数更新的更为频繁,一种方法是LPC系数基于帧,而LTP系数基于子帧,这使得两级滤波的”白化“作用更为明显。

理想的长短时滤波是将信号完全”白化“(误差信号的自相关等于0),这样可以通过输入控制解码滤波(编码滤波逆过程)参数和输入激励信号白噪声就可以恢复原始语音信号。

图长短时线性预测语音合成模型

由于实际中LPC的阶数在10~20阶,误差信号并不是真正意义上的白噪声,因而激励信号也常常是伪白噪声,伪随机噪声噪声通过滤波的方式合成语音,这就要求滤波器是稳定,LPC滤波通过约束反射系数的方法确保短时预测滤波的稳定性。
结合LPC和LTP可以对发音的声道参数建模的语音编解码,可以获得更自然的语音编码质量。

以上是关于实时音频编解码之六 LTP长时预测的主要内容,如果未能解决你的问题,请参考以下文章

实时音频编解码之十四 Opus编码-SILK编码-长时预测

实时音频编解码之四 LPC和LSF

实时音频编解码之十二Opus编码-SILK编码-基频估计

实时音频编解码之十二Opus编码-SILK编码-基频估计

实时音频编解码之十五 Opus编码-CELT编码

实时音频编解码之十五 Opus编码-CELT编码