**编解码器**（英語：）指的是一个能够对一个信号或者一个数据流进行编解码操作的设备或者程序。这里指的变换既包括将信号或者数据流进行编码（通常是为了传输、存储或者加密）或者提取得到一个编码流的操作，也包括为了观察或者处理从这个编码流中恢复适合观察或操作的形式的操作。编解码器经常用在视频会议和流媒体等应用中。一个编解码器不应该同编码或压缩格式或标准混淆，一种格式是一种文档（所谓标准），一种存储数据的方式，但是编解码器却是一段程序用于读或写这样的文件。实际上，有时编解码器不严谨地意指格式。  

编解码器编码一个数据流或者用于传输、存储、加密的信号，解码一段用于回放或编辑。视频数码机的ADC将它的模拟信号转换成数字信号，然后数字信号通过视频编码器用于存储和传输。接受器然后通过视频解码器转换成模拟信号用于最后的模拟显示。经过编码的音频或者视频原始码流经常被叫做"Essence"（有译作"本体"），以区别于之后加入码流的元数据和其它用以帮助访问码流和增强码流強健性的数据。大多数编解码器是有损的，目的是为了得到更大的压缩比和更小的文件大小。当然也有无损的编解码器，但是通常没有必要为了一些几乎注意不到的的质量损失而大大增加编码后文件的大小。除非该编码的结果还将在以后进行下一步的处理，此时连续的有损编码通常会带来较大的质量损失。

很多多媒体数据流需要同时包含音频数据和视频数据，这时通常会加入一些用于音频和视频数据同步的元数据。这三种数据流可能会被不同的程序，进程或者硬件处理，但是当它们传输或者存储的时候，这三种数据通常是被封装在一起的。通常这种封装是通过视频文件格式来实现的，例如常见的\*.mpg, \*.avi, \*.mov, \*.mp4, \*.aac, \*.rm or \*.tta. 这些格式中有些只能使用某些编解码器，而更多可以以容器的方式使用各种编解码器。

编解码器对应的英文"codec"（**co**mpress和**dec**ompress簡化而成的合成詞語）和decode通常指软件，当特指硬件的时候，通常使用"endec"这个单词。

相关概念
----

编译码器（endec= **en**coder/**dec**oder）是一个相近但是不同的概念，它主要应用于硬件。在二十世纪中叶，"编解码器"是用于编码模拟信息到PCM并能将它们解码回来的硬件设备。该世纪后些时候，这个名字开始应用于一系列软件用于转换数字信号之间的格式，同时也包括了信号压扩器（英语：）的功能。

调制解调器（modem= **mo**dulator/**dem**odulator）是调制器和解调器的合成词。它能将从计算机的数字数据转换到电话交换。在接受端模拟信号转换回数字信号。编解码器做着相反的工作（视频模拟信号转换成数字信号，然后计算机把数字信号转换回视频）。

压缩质量
----

### 有损编解码（破壞性）

在软件界有许多相对更加流行的编解码器是有损的，意味着它们压缩过程牺牲了一定的质量。通常这种压缩看起來同未被压缩的声音或图像没区别。更小的数据集缓解了相对高昂的存储器。较低的数据率也降低了花销并在数据传输过程中提升了傳輸品质。

### 无损编解码（非破壞性）

也有许多的无损压缩，特别应用于在需要原始流中所有信息时压缩模式下获取数据。如果保留数据流的原始品质比削减相应的更大数据更加重要，那么无损压缩更佳。连续使用多种编解码器或者编码体系也会显著的降低质量。不断下降的存储空间开销和网络带宽正使得有损压缩的需求下降。

参考文献
----

外部链接
----

* FOURCC格式的视频编解码器列表 （页面存档备份，存于）
* 一个提供了编解码器新闻，divx相关工具和论坛的网站 （页面存档备份，存于）
* XP编解码器包 （页面存档备份，存于）
* VoIP codecs （页面存档备份，存于）
* 软件编码器、转码器

参见
--

* 音频编解码器
* 音频信号处理
* 数字信号处理
* 编解码器列表
* 无损数据压缩
* 有损数据压缩
* 多媒体压缩
* 视频编解码器

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

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

 |
|  |
|  | 

|  |  |
| --- | --- |
| 熵編碼 | 
* 算术编码
* 非对称数字系统编码（英语：）
* 格倫布編碼
* 霍夫曼编码
	+ 适应性
	+ 范型
	+ 改进
* 區間編碼
* 香农编码
* 香农-范诺编码
* 香農-范諾-埃利西斯編碼
* 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
* 去区块滤波器
* 重叠变换（英语：）
* 运动
	+ 运动补偿
	+ 运动预测
	+ 运动矢量
* 量化

 |

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

 |