基于子带结构带宽可伸缩语音编码器的研究 第11页
本F,第二级包含一个4比特的二文码本G。每个码本的第一个元素代表了量化自适应码本的一部分,第二个元素代表了固定码本增益校正系数的一部分。这种共轭结构通过使用预选过程而简化了码本搜索,在这一个预选过程中,四个第二个元素接近
更新合成滤波器和加权滤波器[7]的状态需要计算下一子帧的目标信号。在将两个增益量化之后,当前子帧的激励信号u(n)可以使用下式计算:
其中,
解码端[3]原理框图如图5.3,参数列表如表5.1。首先参数解码,LP系数,自适应码本矢量,固定码本矢量和增益。在重构激励之前,由收到的P1前辣位作XOR,如果与P0相同,则认为接收正确,如果与P0不同,则认为接收错误,此时的延时值T1用前一帧的T2来代替。
后置处理包括三个部分:自适应后置滤波,高通滤波和信号放大。自适应后置滤波器是三个滤波器级联:长时后置滤波器、短时后置滤波和斜补偿滤波器,接着自适应增益控制器每5ms子帧修改一次后置滤波器系数。后置滤波器的过程是首先重构语音经过逆滤波产生残差信号,用与计算延时长时后置滤波器的延时和增益,然后通过长时滤波器和合成滤波器,最后合成滤波器的输出信号通过斜补偿滤波器产生后置滤波重构语音信号。
图
表 5.1 发送参数列表
符 号 |
说 明 |
Bits |
L0 L1 L2 L3 |
MA预测器开关 LSP量化器的第一级矢量 LSP量化器的第二级低文矢量 LSP量化器的第二级高文矢量 |
1 7 5 5 |
P1 P0 S1 C1 GA1 GB1 |
第一子帧的基音延时 P1的前6比特的奇偶校验 第一子帧固定码本脉冲符号 第一子帧的固定码本 第一子帧增益码本(第一级) 第一子帧增益码本(第二级) |
8 1 4 13 3 4 |
P2 S2 C2 GA2 GB2 |
第二子帧基音延时 第二子帧固定码本脉冲的符号 第二子帧的固定码本 第二子帧增益码本(第一级) 第二子帧增益码本(第二级) |
5 4 13 3 4 |
最后通过高通滤波器H1(z),滤波器后信号乘以2恢复输入信号的电平。高通滤波器为:
增强层采用改进型LPC-10[23]编码方案。LPC-10时一个10阶线性预测声码器(LPC Vocoder)。语音信号的分析与合成就是根据发音机理建立的全极点模型,从语声的波形中提取表征声道和声源激励的有关特征参数,再利用这些特征参数通过模型合成语音信号。声码器就是将特征参数编码、传输、解码的系统。
根据语音信号的生成模型(如图5.4),对于表征声源和声道的有关特征参数进行分析和提取, 再运用这些特征参数重新合成语音信号。
图5.4 语音信号的产生模型
LPC-10[3]编码算法将语音信号逐帧地用其生成模型的特征参数来表示,其全极点模型的阶数为10,帧长为180,一帧之内180个原始语音抽样用13个特征参数来代替,这些特征参数是全极点模型谱参数 ai(其中i=1、2……10)增益RMS、清/音判决信息Voicing和浊音时的基音周期Pitch。因为LPC-10采用8KHz速率采样,每180个采样分为一帧(22.5ms), 每帧编码成54bit,所以,LPC-10的传输速率为2.4Kbit/s。LPC-10的编码原理如图5.5所示。LPC-10声码器特征参数的分析和提取直接关系到声码器的精度。
图5.5 LPC-10编码端原理框图
图5.6是LPC-10解码端原理框图,在解码端首先利用直接查表法对码流进行查错、纠错。经过纠错解码后得到基音周期、清/浊音标志、增益以及反射系数的大小,解码后结果延时一帧输出,这样输出的数据就可以在前、后帧两帧间平滑过渡。由于每帧语音只传输一组参数,一帧内可能有不止一个基音周期,所以对接收数据进行由帧到基音块的转换和插值。
LPC-10采用简单的二元激励,如果是清音帧,就以随机数作为激励源;如果是浊音帧,用周期性冲激序列通过一个全通滤波器来生成激励源,这样改善了合成语音的尖峰性质。
解码端用Levinson递推算法得出预测系数{
图5.6 LPC-10解码端逻辑框图
LPC-10声码器采用简单的二元激励,使合成语音的自然度欠缺。在噪声的影响下,难以准确的提取基音周期和判决清/浊音。语音谱共振峰及带宽估值有时会产生很大的失真。在LPC-10的基础上改进型LPC-10在激励源、基音提取方法、声道滤波器参数量化、LSF参数的矢量量化等方面做了改进。
在激励源方面,采用混合激励代替简单的二元激励。浊音的激励源时由经过低通滤波的周期脉冲序列与经过高通滤波器的白噪声相加而成的,周期脉冲与噪声的混合比例随输入语音的浊化程度改变。清音的激励源时白噪声加上位置随机的一个正脉冲跟随一个负脉冲的脉冲对形成的爆破脉冲。另外,激励脉冲加抖动和单脉冲与码本相结合的激励模式都起到改善激励源的作用。
在基音提取的方法上,采用LPC的残差信号或者语音信号的自相关函数,并利用动态规划的平滑算法更准确的提取基音周期。
我们采用16位的PCM文件作为语音样本,对其滤波、合成前后频谱进行分析,实验结果如下:
图5.10 编码前合成语音频谱图
实验表明:本文提出的编码方案与以前的子带结构带宽可伸缩编码器相比,高子带采用参数编码,在保证基本音质的前提能降了码率。优化后的正交镜像滤波器组在分解与合成性能上有了明显改进,对整个系统性能的提升帮助很大。
经过本章所述,对各个模块进行单元测试和整合测试,估算出系统编码时延,与其它几种常见算法对如表5.2和表5.3所示。
表4.2 编码时延对比
算法 |
码率(kbit/s) |
时延下限(ms) |
时延上限(ms) |
G.726 |
32 |
2.5 |
10 |
G |
8 |
2.5 |
10 |
G.723 |
6.3/5.3 |
5 |
20 |
本算法 |
14.2/11.8 |
8 |
15 |
可以看出本文提出的方案编码时延偏高,在保证音质的基础上,对其他方面的的要求较高,这是以后需要做出改进的地方之一。
本论文主要研究了与子带结构带宽可伸缩语音编码的设计和应用有关的问题,主要工作总结如下:
1) 研究了语音压缩编码的多种技术和相关理论,为进一步学习与深入研究奠定了基础。
2) 深入详细的探讨了带宽可伸缩语音编码的理论原理,可伸缩编码理论是编码器设计的基础。
3) 分析了正交镜像滤波器组(QMF组)的原理、误差组成及消除误差的方法,在直接设计法[18]的基础上,提出一种基于蚁群算法的2通道QMF组优化算法,对比实验结果表明可以将重建误差控制在2%以内。
4) 将现有两种成熟的编码器G.729E和改进型LPC-10结合起来,构成子带结构的带宽可伸缩编码器,并进行实验仿真表明其确实可行。
在研究的过程中,遇到了一些问题,有的是一直没有解决的,还有一些新的想法和思路值得继续探讨:
1) 多通道QMF组的设计与优化问题。我们在文章中主要讨论了2通道QMF组的设计与优化,对于多通道QMF组的设计与优化没有深入研究,这是我们下一步研究的内容。
2) 高子带模块参数编码器选择了改进型LPC-10,目前还有不少优秀的参数编码器如MBE、IMBE等,采用这些编码器能否取得更好的效果,这些很值得我们进一步研究。
3) 解决了多通道QMF组的设计与优化问题,就可以应用到多个子带的带宽可伸缩编码器,这也是我们下一步的研究内容。