音频编码知识

自然界中的声音非常复杂，波形极其复杂，通常我们采用的是脉冲代码调制编码，即 PCM 编码。PCM 通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。

1-1 什么是采样率和采样大小（位/bit）。

声音其实是一种能量波，因此也有频率和振幅的特征，频率对应于时间轴线，振幅对应于电平轴线。波是无限光滑的，弦线可以看成由无数点组成，由于存储空间是相对有限的，数字编码过程中，必须对弦线的点进行采样。采样的过程就是抽取某点的频率值，很显然，在一秒中内抽取的点越多，获取得频率信息更丰富，为了复原波形，一次振动中，必须有 2 个点的采样，人耳能够感觉到的最高频率为 20kHz，因此要满足人耳的听觉要求，则需要至少每秒进行 40k 次采样，用 40kHz 表达，这个 40kHz 就是采样率。我们常见的 CD，采样率为 44.1kHz。光有频率信息是不够的，我们还必须获得该频率的能量值并量化，用于表示信号强度。量化电平数为 2 的整数次幂，我们常见的 CD 位 16bit 的采样大小，即 2 的 16 次方。采样大小相对采样率更难理解，因为要显得抽象点，举个简单例子：假设对一个波进行 8 次采样，采样点分别对应的能量值分别为 A1-A8，但我们只使用 2bit 的采样大小，结果我们只能保留 A1-A8 中 4 个点的值而舍弃另外 4 个。如果我们进行 3bit 的采样大小，则刚好记录下 8 个点的所有信息。采样率和采样大小的值越大，记录的波形更接近原始信号。

1-2 有损和无损

根据采样率和采样大小可以得知，相对自然界的信号，音频编码最多只能做到无限接近，至少目前的技术只能这样了，相对自然界的信号，任何数字音频编码方案都是有损的，因为无法完全还原。在计算机应用中，能够达到最高保真水平的就是 PCM 编码，被广泛用于素材保存及音乐欣赏，CD、DVD 以及我们常见的 WAV 文件中均有应用。因此，PCM 约定俗成了无损编码，因为 PCM 代表了数字音频中最佳的保真水准，并不意味着 PCM 就能够确保信号绝对保真，PCM 也只能做到最大程度的无限接近。我们而习惯性的把 MP3 列入有损音频编码范畴，是相对 PCM 编码的。强调编码的相对性的有损和无损，是为了告诉大家，要做到真正的无损是困难的，就像用数字去表达圆周率，不管精度多高，也只是无限接近，而不是真正等于圆周率的值。

1-3 为什么要使用音频压缩技术

要算一个 PCM 音频流的码率是一件很轻松的事情，采样率值×采样大小值×声道数 bps。一个采样率为 44.1KHz，采样大小为 16bit，双声道的 PCM 编码的 WAV 文件，它的数据速率则为 44.1K×16×2 = 1411.2 Kbps。我们常说 128K 的 MP3，对应的 WAV 的参数，就是这个 1411.2 Kbps，这个参数也被称为数据带宽，它和 ADSL 中的带宽是一个概念。将码率除以 8,就可以得到这个 WAV 的数据速率，即 176.4KB/s。这表示存储一秒钟采样率为 44.1KHz，采样大小为 16bit，双声道的 PCM 编码的音频信号，需要 176.4KB 的空间，1 分钟则约为 10.34M，这对大部分用户是不可接受的，尤其是喜欢在电脑上听音乐的朋友，要降低磁盘占用，只有 2 种方法，降低采样指标或者压缩。降低指标是不可取的，因此专家们研发了各种压缩方案。由于用途和针对的目标市场不一样，各种音频压缩编码所达到的音质和压缩比都不一样，在后面的文章中我们都会一一提到。有一点是可以肯定的，他们都压缩过。< /FONT >

1-4 频率与采样率的关系

采样率表示了每秒对原始信号采样的次数，我们常见到的音频文件采样率多为 44.1KHz，这意味着什么呢？假设我们有 2 段正弦波信号，分别为 20Hz 和 20KHz，长度均为一秒钟，以对应我们能听到的最低频和最高频，分别对这两段信号进行 40KHz 的采样，我们可以得到一个什么样的结果呢？结果是：20Hz 的信号每次振动被采样了 40K/20=2000 次，而 20K 的信号每次振动只有 2 次采样。显然，在相同的采样率下，记录低频的信息远比高频的详细。这也是为什么有些音响发烧友指责 CD 有数码声不够真实的原因，CD 的 44.1KHz 采样也无法保证高频信号被较好记录。要较好的记录高频信号，看来需要更高的采样率，于是有些朋友在捕捉 CD 音轨的时候使用 48KHz 的采样率，这是不可取的！这其实对音质没有任何好处，对抓轨软件来说，保持和 CD 提供的 44.1KHz 一样的采样率才是最佳音质的保证之一，而不是去提高它。较高的采样率只有相对模拟信号的时候才有用，如果被采样的信号是数字的，请不要去尝试提高采样率。