-
线性预测编码 编辑
线性预测编码(LPC)是主要用于音频信号处理与语音处理中根据线性预测模型的信息用压缩形式表示数字语音信号谱包络(en:spectral envelope)的工具。它是最有效的语音分析技术之一,也是低位速下编码方法高质量语音最有用的方法之一,它能够提供非常精确的语音参数预测。
目录
线性预测编码通过估计共振峰、剔除它们在语音信号中的作用、估计保留的蜂鸣音强度与频率来分析语音信号。剔除共振峰的过程称为逆滤波,经过这个过程剩余的信号称为残余信号(en:residue)。
描述峰鸣强度与频率、共鸣峰、残余信号的数字可以保存、发送到其它地方。线性预测编码通过逆向的过程合成语音信号:使用蜂鸣参数与残余信号生成源信号、使用共振峰生成表示声道的滤波器,源信号经过滤波器的处理就得到语音信号。
图1
由于语音信号随着时间变化,这个过程是在一段段的语音信号帧上进行处理的。通常每秒 30 到 50 帧的速度就能对可理解的信号进行很好的压缩。模型参数的估值在全极点模型下有两种方法,即自关法和协方差法,它们分别适用于平稳信号和非平稳信号。模型参数的基本形式是线性预测系数,但它还有很多等价的表示形式。不同形式的系数在导致的逆滤波器结构,系统稳定性和量化时要求的比特数等方面都有所不同。现在公认的较好形式是反射系数,它所对应的滤波器具有格型结构,稳定性好量化时要求的比特数也少。
1972 年 ARPA 的 Bob Kahn 与 Jim Forgie (en:Lincoln Laboratory, LL) 以及 Dave Walden (BBN Technologies) 开始了语音信息包的第一次开发,这最终带来了 Voice over IP 技术。根据 Lincoln Laboratory 的非正式历史资料记载,1973 年 Ed Hofstetter 实现了第一个 2400 位/秒 的实时 LPC。1974 年,第一个双向实时 LPC 语音包通信在 Culler-Harrison 与 Lincoln Laboratories 之间通过 ARPANET 以 3500 位/秒 的速度实现。1976 年,第一次 LPC 会议通过 ARPANET 使用 Network Voice Protocol 在Culler-Harrison、ISI、SRI 与 LL 之间以 3500 位/秒 的速度实现。最后在 1978 年,BBN 的 Vishwanath et al. 开发了第一个变速 LPC 算法。
有许多更加高级的表示方法,如对数面积比(en:log area ratio,LAR)、线谱对(en:line spectral pairs,LSP) 分解以及反射系数等。在这些方法中,LSP 由于它能够保证预测器的稳定性、并且小的系数偏差带来的谱误差也是局部的这些特性,所以得到了广泛应用。
线性预测编码合成也可以用于构建声音合成器,乐器用作从歌手声音预测得到的时变滤波器的激励信号,这在电子音乐中有一定的流行。
1980年流行的 Speak & Spell 教育玩具中使用了一个 10 阶的线性预测编码。
在 FLAC 音频编解码器中使用了 0 到 4 阶的线性预测编码预测器。
1、本站所有文本、信息、视频文件等,仅代表本站观点或作者本人观点,请网友谨慎参考使用。
2、本站信息均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、对任何由于使用本站内容而引起的诉讼、纠纷,本站不承担任何责任。
4、如有侵犯你版权的,请来信(邮箱:baike52199@gmail.com)指出,核实后,本站将立即删除。