文本阅读:
484数字音频技术(第6版)
等很多软件包中的语音编解码器。CELP的流行有一部分原因是它能在一定范围的比特率下都工作得很好,比如从48kbit/s-16kbit/s(G.728
CELP算法是基于线性预测的。它主要通过在编码器和解码器中保存用于不同激励信号的多个码本来改进
简言之,编码器对输入信号进行分析,在其码本中找到一个相应的激励信号,并输出一个作为标定的索引1代码。解码器使用这个索引代码在它的码本中查找到相同的激励信号,并使用该信号激励
振峰滤波器(因此它被称为码激励线性预测)。作为一个完整的系统,CELP编解码器把多种编码技术整合到一个新颖的架构中。如前所述,通过使用线性预测把声道建模成一种声源-滤波器模型,包含在各个码本中的激励信号用来作为线性预测模型的输入。此外,编码器在一个感觉加权的域上进行闭环的合成-分析搜索并且为了改善编码效率而使用了矢量量化。
CELP算法的核心如图1210所示。一个码本中包含了上百种典型的残差波形,它们以编码矢量的形式存储。后文将对码本进行更详细的描述。每个残差信号对应帧(可能是
10ms)原始语音信号,并且该残差信号是用一个码本项表示的。在编码器中使用一种合成分析方法来选择与这个残差最接近最一致的码本项。码本输出一个残差信号,这个信号会在编码器内包含的
本地解码器中进行合成操作。这种选择是通过对码矢量生成的合成语音与原始语音进行匹配来完成的。具体地,就是要让感觉加权误差达到最小。
码本
增益
增益延时
长时预测
PC系数
短时预测
语音输入
感觉加权
残差信号
图1210,激励线性预测CEP演法在感觉加权域上进行闭环的合成一分析搜索。通过搜索并选取最优的码本项使输出的残差信号被最小化