文本阅读:
第10章低比特率编码:理论与评价403
10.132音频数据压缩
感觉有损编码可以在比特率上提供相当可观的缩减不管是否可闻,信号的品质
是劣化了。使用无损数据压缩
能够以逐比特的准确度进行传输。不过,比特率的下降要温和得多。一般来说,可以实现
的压缩比,这取决于数据本身的复杂程度
并且,无损压缩算法也需要更大的处理复杂度,并且伴随有编码延时。
每个音频信号中都包含着信息。一个罕见的音频采样点包含着相当可观的信息常出现的采样点包含的信息则要少得多。前者是难以预测的,而后者则容易预测。类似地,纯音的(正弦的)声音具有可观的冗余,而非纯音的(类噪声的)信号则没有什么冗余。例如个准周期的小提琴乐音与一个非周期的炸镲声是不同的。并且,某一采样点出现的概率取决于其周围的采样点。一般来说,一个采样点很可能与其之前的采样点值接近。例如,对于低频信号来说这一点就是正确的。预测编码器使用先前的一些采样点值来预测当前采样点值。
预测中的误差(真实值与预测值之差)被传输。解码器形成相同的预测值,并加上误差值从而形成正确的数值
为了实现这一目标,数据压缩输入一个PCM信号并在存储或传输之前进行处理,以求更高效地对数据内容进行打包。具体地,在PCM编码中具有更大冗余的信号将允许更高程度的压缩。正由于此,允许可变输出比特率的系统将比使用固定比特率输出的系统具有更高的效率。另一方面,任何压缩方法必须遵守系统的最大比特率,并确保即使是在低冗余(难压缩)的片段中也永远不会超过这个门限
例如,分辨率为20bit的PCM编码一直都会产生20bt长的字。无损压缩算法对这些字进行冗余度的审查,并把这些字重新格式化成较短的字长。在解压缩时,用一个反向的过程恢复出原始的各个字。彼得·克雷文(Peter Craven)和迈克尔·葛容(Michael gerzon)提出一个例子,他们使用一个20bit字长的文件表示一个未经抖动的4kHz正弦波,其幅度位于峰值电平以下的-50dB处,采样频率为48kHz。并且,考虑一个由12个采样点构成的块见表104。文件尺寸为240bt。通过观察可知,每个采样点中都有4个LSB(最低有效比特为0,编码器可以申明只有16个MSB(最高有效比特)将用于传输或存储。通过对数据进行靠右对齐并随后对移位量进行编码就可以很容易地实现这一点。并且,这些低电平信号的每个采样点中的9个MSB都是1或都是0,编码器可以简单地把这9个比特编码为1,并用它传送其他缺失的比特。由于信号本身的动态范围和分辨率都是受限的,因此使用这种方法以后,20bit的字将以8bt传输,导致数据缩减60%。请注意,如果信号被加入了抖动,则抖动比特也将以比特级精度被无损编码器传输,这就降低了数据效率