查看“︁线性预测编码”︁的源代码
←
线性预测编码
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[File:Ic-1a-copy-lpc.jpg|thumb|alt=buy|add image]] '''线性预测编码'''({{lang-en|LPC, Linear predictive coding}})是主要用于[[音频信号处理]]与[[语音处理]]中,根据[[线性预测]]模型的信息用[[数据压缩|压缩]]形式表示[[数字]][[语音]][[信号]][[谱包络]](spectral envelope)的工具。它是有效的语音分析技术之一,也是低位速下编码方法高质量语音有用的方法之一,它能够提供非常精确的语音参数预测。 ==综述== 线性预测编码用[[线性预测]]方法对信号编码,基本思想是:「一个语音取样的现在值,可以用若干个语音取样过去值的加权线性组合来逼近」,即<math>t</math>时刻的信号<math>s_t</math>表示为之前<math>p</math>次的过去信号<math>s_{t-1} \sim s_{t-p}</math>的线性组合。预测系数<math>a_i</math>与预测残差<math>\varepsilon_t</math>可被编码。 : <math>s_t = \varepsilon_t - \sum_{i=1}^p a_i s_{t-i} </math> 通过使实际语音抽样和线性预测抽样之间差值的平方和达到最小值,能够决定唯一的一组预测系数。 线性预测编码通过估计共振峰、剔除它们在语音信号中的作用、估计保留的蜂鸣音强度与频率来分析语音信号。剔除共振峰的过程称为逆滤波,经过这个过程剩余的信号称为残余信号(residue)。 若区间<math>N</math>(常称作帧)的信号(<math>s_1 \sim s_N</math>)能用线性组合很好地表示,就可将信号信息变换为区间中的<math>p</math>个不变预测系数(<math>a_i \sim a_p</math>)和<math>N</math>个小振幅残余信号(<math>\varepsilon_1 \sim \varepsilon_N</math>)。 描述峰鸣强度与频率、共鸣峰、残余信号的数字可以保存、发送到其它地方。对残余信号应用各种压缩,可以用更少的信息量传递信号。线性预测编码通过逆向的过程合成语音信号:使用蜂鸣参数与残余信号生成源信号、使用共振峰生成表示声道的滤波器,源信号经过滤波器的处理就得到语音信号。 由于语音信号是一种非平稳的时变信号,又同时具有短时平稳性,这个过程是在一段段的语音信号帧上进行处理的。通常每秒30到50帧的速度,就能对可理解的信号进行很好的压缩。 对LPC高效编码的机制有各种解释,其中之一是[[源-滤波器模型]]:残余信号可解释为声带激励,预测系数可解释为具有共振特性的声道模型。 ==线性预测编码的早期历史== 根据[[斯坦福大学]]Robert M. Gray的说法,线性预测编码起源于1966年,当时[[日本電信電話公社]]的S. Saito和F. Itakura描述了一种自动音素识别的方法,这种方法第一次使用了针对语音编码的[[最大似然估计]]实现。1967年,John Burg略述了[[最大熵]]的实现方法。1969年Itakura与Saito提出了部分相关(partial correlation)的概念, May Glen Culler提议进行实时语音压缩,B. S. Atal在[[美国声学协会]]年会上展示了一个LPC语音编码器。1971年[[Philco-Ford]]展示了使用16位LPC硬件的实时LPC并且卖出了四个。 1972年[[美國國防部]][[國防高等研究計劃署]](DARPA)的[[Bob Kahn]]与[[林肯實驗室]](Lincoln Laboratory, LL)的Jim Forgie,以及[[BBN科技]]的Dave Walden开始了语音信息包的第一次开发,这最终带来了[[VoIP|Voice over IP]]技术。根据林肯實驗室的非正式历史资料记载,1973年Ed Hofstetter实现了第一个2400位/秒的实时LPC。1974年,第一个双向实时LPC语音包通信在Culler-Harrison与林肯實驗室之间通过ARPANET以3500位/秒的速度实现。1976年,第一次LPC会议通过[[ARPANET]]使用[[Network Voice Protocol]]在Culler-Harrison、ISI、SRI与LL之间以3500位/秒的速度实现。最后在1978年,BBN的Vishwanath et al.开发了第一个变速LPC算法。 ==线性预测编码系数表示== 线性预测编码经常用来传输频谱包络信息,这样它就可以容忍传输误差。由于直接传输滤波器系数(参见[[线性预测]]中系数定义)对于误差非常敏感,所以人们不希望直接传输滤波器系数。换句话说,一个小的误差不会扭曲整个频谱或使整个频谱质量下降,但是一个小的误差可能使预测滤波器变得不稳定。 有许多更加高级的表示方法,如[[对数面积比]](log area ratio,LAR)、[[线谱对]](line spectral pairs,LSP)分解以及[[反射系数]]等。在这些方法中,LSP由于它能够保证预测器的稳定性、并且小的系数偏差带来的谱误差也是局部的这些特性,所以得到了广泛应用。 ==应用== 线性预测编码通常用于语音的重新合成,它是电话公司使用的声音压缩格式,如[[GSM]]标准就在使用这种格式。它还用作[[安全]]无线通信中的格式,在安全的无线通信中,声音必须进行[[数字化]]、[[加密]]然后通过狭窄的语音信道传输。 线性预测编码合成也可以用于构建[[声音合成器]],乐器用作从歌手声音预测得到的时变滤波器的激励信号,这在[[电子音乐]]中有一定的流行。 1980年流行的[[Speak & Spell]]教育玩具中使用了一个10阶的线性预测编码。 在[[FLAC]]音频编解码器中使用了0到4阶的线性预测编码预测器。 ==参考文献== * [http://www-ee.stanford.edu/~gray/dl.html Robert M. Gray, IEEE Signal Processing Society, Distinguished Lecturer Program] {{Wayback|url=http://www-ee.stanford.edu/~gray/dl.html |date=20170111034512 }} ==参见== *[[赤池信息量準則]](Akaike information criterion) *[[音訊壓縮 (格式)]] ==外部連結== *[http://soundlab.cs.princeton.edu/software/rt_lpc/ 实时LPC分析与综合学习软件] {{Wayback|url=http://soundlab.cs.princeton.edu/software/rt_lpc/ |date=20210309111556 }} *[https://web.archive.org/web/20050519013950/http://www.hawksoft.com/hawkvoice/ HawkVoice开源LPC软件与API] *[https://web.archive.org/web/20060524125030/http://www.dspexperts.com/dsp/projects/lpc/ 使用线性预测编码(LPC)的语音编码]DSP experts.com {{压缩方法}} {{Authority control}} [[Category:语音编解码器]] [[Category:音频编解码器]] [[Category:有损压缩算法]] [[Category:日本發明]]
该页面使用的模板:
Template:Authority control
(
查看源代码
)
Template:Lang-en
(
查看源代码
)
Template:Wayback
(
查看源代码
)
Template:压缩方法
(
查看源代码
)
返回
线性预测编码
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息