文本阅读:
第10章低比特率编码:理论与评价405
解码器接收到数值+30并把它加到
数值+6
而重建出当前值+9
预测
输入
传输或
存储媒体
输出
预测误差
编码器
解码器
图10.27:一阶预测编码/解码过程传输相继采样点之间的差值。这改善了编码效率,因为各个差值要比各样本值本身小。(Craven和 Gerzon,1996)
预测编码器的目标是要尽可能准确地预测出下一个采样点,从而把传输这个预测误差所需的比特数降至最低。为了实现这一点,编码器的频率响应应该是输入信号频谱的逆,从而生一个具有平直或白色频谱的差信号。为了提供更高的效率,预测编码器中的那个单采样点延时元件被更为高级的通用预测滤波器替代。具有一个单采样点延时的编码器就是一个数字微分器,其转移函数为(1-z)on阶预测器将产生一个(1-z)"的转移函数,其中n=0将传输原始数值,n=1将传输相继采样点之间的差,n=2将传输差值的差,依此类推。每个更高阶的整数系数将产生一个6dB、12dB和18dB每倍频程的向上的滤波器斜坡。分析表明n=4可能是最优的,它产生的最大差值为10。不过,音频信号中的高频内容限制了预测器的阶数。量化噪声中的高频成分会被更高阶的预测器提升。因此,对于音频信号来说,n=3的取值可能就是极限。但是,如果这个信号主要由高频内容构成(比如来自噪声整形),则即使是n=1的数值也会让编码数据率增大。因此,为了让输出比特率降到最低,一个编码器必动态监视信号内容,并选择一种最合适的预测策略和滤波器阶数,这其中还包括"旁通自身的编码"这一选项。例如,采用莱文森-德宾(Levinson-Durbin)算法的自相关方法可以用来自适应地调节预测器的阶数,产生出最低的总比特率编码器也必须能考虑到数据误差的影响。因为存在再循环,所以被传输采样点中的误差将在一个块内传播,并且可能会增大,甚至导致解码器丧失与编码器的同步。为了防止出现人造声(不管是否可闻),编码器必须能自动检测出未被纠正的错误,并对其输出进行静音。
在很多应用中,虽然比特率的总体缩减是重要的,但对峰值比特率的限制可能更重要。在高频具有很高能量的音频信号(比如一声炸镲)只允许轻微的压缩(可能是1或2bi/采样点/声道l更高的采样频率将允许更多的总体缩减和峰值缩减,因为高频端的能量相对很少。为了进步确保峰值受限,可以使用一个缓存。尽管如此,某些类型的音乐仍旧可能超过峰值极限,这就必须缩短字长或进行其他处理