**线性预测编码**（英語：）是主要用于音频信号处理与语音处理中，根据线性预测模型的信息用压缩形式表示数字语音信号谱包络（spectral envelope）的工具。它是有效的语音分析技术之一，也是低位速下编码方法高质量语音有用的方法之一，它能够提供非常精确的语音参数预测。

综述
--

线性预测编码的基本思想是：「一个语音取样的现在值，可以用若干个语音取样过去值的加权线性组合来逼近」。在线性组合中的加权系数称为预测器系数。通过使实际语音抽样和线性预测抽样之间差值的平方和达到最小值，能够决定唯一的一组预测器系数。

线性预测编码通过估计共振峰、剔除它们在语音信号中的作用、估计保留的蜂鸣音强度与频率来分析语音信号。剔除共振峰的过程称为逆滤波，经过这个过程剩余的信号称为残余信号（residue）。

描述峰鸣强度与频率、共鸣峰、残余信号的数字可以保存、发送到其它地方。线性预测编码通过逆向的过程合成语音信号：使用蜂鸣参数与残余信号生成源信号、使用共振峰生成表示声道的滤波器，源信号经过滤波器的处理就得到语音信号。

由于语音信号是一种非平稳的时变信号，又同时具有短时平稳性，这个过程是在一段段的语音信号帧上进行处理的。通常每秒30到50帧的速度，就能对可理解的信号进行很好的压缩。

线性预测编码的早期历史
-----------

根据斯坦福大学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开始了语音信息包的第一次开发，这最终带来了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阶的线性预测编码预测器。

参考文献
----

* Robert M. Gray, IEEE Signal Processing Society, Distinguished Lecturer Program （页面存档备份，存于）

参见
--

* 赤池信息量準則（Akaike information criterion）
* 音訊壓縮 (格式)

外部連結
----

* 实时LPC分析与综合学习软件 （页面存档备份，存于）
* HawkVoice开源LPC软件与API
* 使用线性预测编码（LPC）的语音编码DSP experts.com

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
方法 |
| --- |
|  |
| 理论 | 
* 熵
* 语法（英语：）
* 信息论
* 柯氏复杂度
* 量化
* 率失真理论
* 

 |
|  |
|  | 

|  |  |
| --- | --- |
| 熵編碼 | 
* 算术编码
* 非对称数字系统编码（英语：）
* 格倫布編碼
* 霍夫曼编码
	+ 适应性
	+ 范型
	+ 改进
* 區間編碼
* 香农编码
* 香农-范诺编码
* 香農-范諾-埃利西斯編碼
* Tunstall编码（英语：）
* 一元编码（英语：）
* 通用編碼（英语：）
	+ 指數格倫布編碼
	+ 斐波那契編碼
	+ 以利亞伽瑪編碼
	+ 萊文斯坦編碼（英语：）

 |
|  |
| 字典編碼（英语：） | 
* 字节对编码
* LZ77 / LZ78
	+ 842（英语：）
	+ Brotli
	+ Deflate
	+ LZ4
	+ LZFSE
	+ LZJB（英语：）
	+ LZMA
	+ LZO
	+ LZRW（英语：）
	+ LZS（英语：）
	+ LZSS
	+ LZW
	+ LZWL（英语：）
	+ LZX
	+ Snappy
	+ Zstandard

 |
|  |
| 其他 | 
* BWT
* CTW（英语：）
* 差分编码
* DMC
* 差分脉冲编码调制
* 无损离散余弦变换
* MTF
* PAQ（英语：）
* PPM（英语：）
* RLE

 |

 |
|  |
|  | 

|  |  |
| --- | --- |
| 变换编码 | 
* DCT
	+ MDCT
* DST
* FFT
* 小波变换
	+ 多贝西
	+ DWT
	+ SPIHT（英语：）

 |
|  |
| 预测编码 | 
* DPCM
	+ ADPCM（英语：）
* LPC
	+ ACELP（英语：）
	+ CELP
	+ LAR（英语：）
	+ LSP
	+ WLPC（英语：）
* 运动
	+ 运动补偿
	+ 运动预测
	+ 运动矢量
* 心理声学

 |

 |
|  |
|  | 

|  |  |
| --- | --- |
| 概念 | 
* 码率
	+ 平均码率
	+ 恒定码率
	+ 可变码率
* 压扩（英语：）
* 卷积
* 动态范围
* 延迟（英语：）
* 采样
* 采样定理
* 音质
* 语音编码
* 子带编码

 |
|  |
| 编解码组件 | 
* A-law（英语：）
* μ-law（英语：）
* DPCM
	+ ADPCM（英语：）
	+ DM
* FT
	+ FFT
* LPC
	+ ACELP（英语：）
	+ CELP
	+ LAR（英语：）
	+ LSP
	+ WLPC（英语：）
	+ CELP
	+ MDCT
* 心理聲學模型

 |

 |
|  |
|  | 

|  |  |
| --- | --- |
| 概念 | 
* 色度抽样
* 编码树单元
* 色彩空間
* 壓縮失真
* 图像分辨率
* 宏块
* 像素
* 峰值信噪比
* 量化
* 标准测试图像

 |
|  |
| 方法 | 
* DCT
* Deflate
* 分形压缩
* K-L变换
* LP（英语：）
* RLE
* 小波变换
	+ 多贝西
	+ DWT
	+ SPIHT（英语：）

 |

 |
|  |
|  | 

|  |  |
| --- | --- |
| 概念 | 
* 码率
	+ 平均码率
	+ 恒定码率
	+ 可变码率
* 显示分辨率
* 帧（英语：）
* 帧率
* 帧类型
* 隔行扫描
* 視訊特性
* 視訊質量

 |
|  |
| 编解码组件 | 
* DCT
* DPCM
* 去区块滤波器
* 重叠变换（英语：）
* 运动
	+ 运动补偿
	+ 运动预测
	+ 运动矢量
* 量化

 |

 |
|  |
| 另见压缩格式和数据压缩 |

 |