固定码书码字的计算公式如下:
………………(62)
如果=3,8,…,38,则=0;如果=4,9,…,39,则=1。
3.9 增益量化
自适应码书增益(基音增益)和固定(代数)码书增益使用7 bits矢量量化。搜索增益码书使用使原始语音和重建语音间的均方均加权误差最小的方法,可以表示为:
……………………(63)
X表示目标矢量(见图3.6),y为式(44)中的经滤波的自适应码书矢量,z为固定码书矢量与卷积,
n=0,…,39…………………………………(64)
3.9.1 增量益预测固定码书增益表示为:
………………………………………………………………(65)
其中为基于先前固定码书能量饿预测增益,为校正因子。
………………………………………………………(65)
用固定码书增益调整矢量后,调整后的固定码书能量就可以表示为。现在令代表第子帧的(电平调整的)固定码书矢量的去均值能量(以dB为单位),则可以用下式表示出来:
……………………………………(67)
其中为固定码书激励平均能量。所以,增益又可以表示成,的函数:
……………………………………………………………(68)
预测增益的计算就是从先前固定码书矢量的对数能量对当前固定码书矢量的对数量进行预测。4阶MA预测完成过程如下。预测能量的计算公式为:
………………………………………………………(69)
其中[] =[0.68 0.58 0.34 0.19]为MA预测系数,式子帧m的与测误差
的量化形式。而则定义:
……………………………………………………………(70)
预测增益的计算方法就是将式(68)中的由它的预测值代替,即:
……………………………………………………………(71)
增益预测误差与相关因子之间有如下关系:
……………………………………………(72)
3.9.2 增益量化码书搜索
自适应码书增益和因子采用2级共轭结构码书进行矢量量化。第一级由3bit的二维码书组成,第二级由4 bit的二维码书组成。每个码书的第一元素代表已量化的自适应码书增益,第二元素代表以量化的固定码书增益校正因子。对和给定的码书分别记作的码书序号与,量化自适应码书增益的计算公式为:
……………………………………………………(73)
而量化的固定码书增益为:
………………………………………(74)
这种共轭结构通过提供预选过程而简化了码书搜索。最优基音增益和固定码书增益从式(63)推出,并用预选取过程。码书包含8个向量,其中第二元素(对应于)中大于第一元素(对应于),选取第一元素接近一簇(8矢量)。因此对每个码书选取了最好的50%的候选矢量。之后是在剩余4×8=32种可能性中进行穷尽搜索,的得到的两个序号组合使式(63)的加权均方误差最小。
3.9.3 增益量化器的码字计算
增益量化器的码字和从对应最优选择的序号计算。为了减少单bit错误影响,码书序号采用映射方式。
3.10存储器更新
下一个子帧目标信号的计算需要更新综合与加权滤波器的状态。两个增益量化后,当前子帧的激励信号用下式求得:
n=0,…,39…………………………………………(75)
其中和。分别是量化的自适应码书增益和固定码书增益,为自适应码书矢量(内插的过去激励),为包含了谐波增强的固定码书矢量。更新滤波器状态的过程如下:对应(40样点)子帧,将信号残余信号与激励信号的差)经滤波器和滤波,然后保存滤波器状态。这个过程要求进行三个滤波操作。下面要讲述一个比较简单的方法,仅仅需要完成一个滤波操作过程。首先,由激励信号经滤波计算出局部重建语音。对于输入为的滤波器输出等效于,所以综合滤波器的状态由,n=30,...,39决定。接着,更新滤波器的状态,这可以通过将误差信号经该滤波器滤波计算感知加权误差来完成。而信号可以用下式等效得出:
……………………………………………………(76)
因为信号,和是已求出的,计算式(76)中的,n=30,...,39就能更新加权滤波器的状态。这种算法节省了两个滤波器操作。
4解码器功能描述
解码器原理如第2章中图3所示。整个解码过程从参数解码(LP系数,自适应码书矢量,固定码书矢量和增益)开始。表8中列出了传输参数。4.1中将描述用解码后的参数计算重建的语音信号.4.2中将对由后滤波器、高通滤波器和电平调整组成的后处理运算进行描述,重建语音信号在后处理中得到增强。4.4则描述在出现奇偶位错误或帧擦除标志设置的情况下采用的误差隐蔽过程。
表8传输参数描述.一表中的顺序反映了比特流。
的顺序一对每个参数而言高有效位首先传输
符号 |
描述 |
比特数 |
LSP量化器切换MA预测器
量化器的第一级矢量
LSP量化器的第二级矢量低部
LSP量化器的第二级矢量高级 |
1
7
5
5 | |
第一子帧基音延迟 基音延迟的奇偶位 第一子帧固定码书 第一子帧固定码书的脉冲符号 第一子帧增益码书(级1) 第一子帧增益码书(级2) |
8 1 4 13 3 4 | |
第二子帧基音延迟 第二子帧固定码书 第二子帧固定码书的脉冲符号 第二子帧增益码书(级1) 第二子帧增益码书(级2) |
5 4 13 3 4 |
详细的解码器信号流程图如图6所示。
图6 CS—ACELP解码器信号流程图
4.1 参数解码过程
解码过程按照如F步骤进行。
4.1.1LP滤波器参数解码
首先,采用3.2.4中所描述的过程,用接收的LSP量化器序号LO,L1,L2,L3进
行量化的LSP系数盼重建。用3.2.5中讲到的内插过程得到两组内插莳LSP系数(对应
两个子帧)。接着,分别将每个子帧的内插LSP系数转换成LP滤波器系数,这些LP
滤波系数将用于综合在子帻中重建的语音信号。
分别对每个子帧重复下面的操作:
a. 自适应码书矢量解码;
b. 同定码书矢量解码;
c. 自适应和固定码书增益解码;
d. 计算重建语音。
4.1.2奇偶校验位计算
在重建激励信号之前,要用自适应码书延迟序号P1重新计算奇偶位(3.7.2条)。
如果计算出的值不等于发送的奇偶位PO的值,则可能在传输过程中出现了比特错误。
如果在P1上发生了奇偶位错误,则将本帧的延迟乃设为上一帧延迟值乃的整数部
分。值的计算在4.1.3条中讨论。
4.1.3 自适应码书矢量解码
如果没有出现奇偶位错误,接收的自适应码书序号P1就可以用来计算基音延迟巧
的整数和分数部分。的整数部分和分数部分frac按照下面的程序由P1计算得
出:
if < 197
int()=(+ 2)/3+ 19
frac= -3 int()+58
else
=P1-112
frac=O
end
的整数和分数部分由P2和计算得出,其中而由求出:
ifthen
end
用下面的算式可以解码出的值:
求出基音延迟的整数和分数部分值之后,利用式(40)对过去激励信号做内插运算,即能够得到自适应码书矢量。
4.1.4固定码书矢量解碣
收到的同定码书序号C用于提取激励脉冲的位置,脉冲符号则从S得到。这个过程是3.8.2条操作的反过程.,一旦解码出脉冲位置和符号,则用式(45)构造固定码书矢量,如果基音延迟r的整数部分小于子帧长度40,则要用式(48)修正。
4.1.5 自适应和固定码书增益解码
接收的增益码书序号包含了自适应码书增益雪卢和固定码书增益校正因子的信息。在3.9条中已经详细地讲述了这一过程。用式(71)先求得估算的固定码书增益。固定码书矢量即是用。量化的增益校正卤子乘以这一预测增益计算得出(式(74))。自适应码书增益则由式(73)求出。
4.1.6计算重建语音
由式(75)计算的激励信号“G)是LP综合滤波器的输入。子帧的重建语音信号表示为:
n=0,...,39…………………………………(77)
其中是当前子帧的内插LP滤波器系数。此后,还要对重建语音量执行后处理操作,这将在下面予以讨论。
4.2后处理
后处理有三个功能:自适应后滤波,高通滤波及信号电平调整。自适应后滤波器实际为三个串联的滤波器:长时后滤波器、短时后滤波,和倾斜补偿滤波器。后面跟着一个自适应增益控制程序。后滤波器系数每5 ms子帧进行更新。后滤波处理的组织顺序如下:首先将重建语音;经过反滤波,产生残余信号声。残余信号用于计算基音延迟T和长时后滤披器的增益。接着用长时后滤波器和综合滤波器 对信号进行滤波。最后使综合滤波器
的输出信号通过倾斜补偿滤波器产生后滤波重建语音信号。此外,还要对提供自适应增益控制,以便使重建语音信号与的能量相匹配。再对所得之信号进行高通滤波和电平调整产生解码器输出信号。
4.2.1 长时后滤波器
长时后滤波器的表示为:
…………………………………(78)
其中T为基音延迟.为增益系数。注意:的界值为1,且当K时预测增益小于3dB时设为0。因子控制着长时后滤波的量,选取= 0.5;长时延迟T和增益则由残余信号计算,将语音信号经短时后滤波器的分子,滤波得出(见4.2.2条):
将语音信号经短时后滤波器的分子(见4.2.2)滤波得出:
……………………………………………………(79)
计算基音延迟分两步进行:第一步在内选择最佳整数,其中为第一子帧(所传输的)基音延迟乃的整数部分。最佳摧数延迟即为最大化下式相关值的k;
……………………………………………………………(80)
第二步是在附近1/8的分辨率下选取最佳分数延迟。的选取是最大伪归一化自相关
……………………………………………………(81)
其中为延迟为k的残余信号。一旦最佳延迟找到,对应的相关值用能量的平方根归一化。这一归一化相关的平方值用于决定长时后滤波器是否无效。如果满足下式,
…………………………………………………………(82)
则设=0:否则值表示为:
, 且……………………………………(83)
非整数延迟信号首先用长度为33的内插滤波器计算:在求出T值之后,再用一个长度为129的内插滤波器重新计算。仅当这一较长的滤波器计算出的使得值增大时,才用它替代先前所计算的延迟信号。
4.2.2短时后滤波器
短时后滤波器表示为:
…………………………………………(84)
其中:为接收的已蠹化LP反滤波器(LP分析不在解码器实现),因子和则控制着短时后滤波器的滤波程度,分别设为= 0.55及=0.70然后,在下式中用滤波器的截断脉冲响应计算增益项:
……………………………………………………(85)
4.2.3倾斜补偿
滤波器补偿短时后滤波器中的斜度,表示为:
………………………………………………………(86)
其中,为倾斜因子,为由计算的第一反射系数:
;…………………………………………(87)
增益项补偿中产生下降的影响。而且可以证明:乘积一般说来没有增益。依赖于,的符号的有两个值供选择:如果为负数,则=0.9;如果为正数.则=0.2。
4.2.4自适应增益控制
自适应增益控制用予补偿重建语音信号和后滤波信号间的增益误差。当前子帧的增益电平调整因子G的计算公式为:
…………………………………………………………………(88)
增益电平调整的届滤波信号表示为:
, n=0,…,39………………………………………………(89)
其中逐个样点不断更新,如下式所示:
, n=0,…,39…………………………………………(90)
初始值。接着对每个新的子帧,设为上一子帧中的值。
4.2.5高通滤波和电平调整
下一步即是对重建的后滤波语音应用截止频率为100Hz的高通滤波器,滤波器公式:
…………………………(91)
将滤波得到的信号乘以因子2用以恢复输入信号的电平。
4.3编码器和解码器初始化
除了表9中列出的变蹙,所有的静态编码器和解码器变量均初始化为O。
表9 非零初始值参数描述
变量 |
参考处 |
初始值 |
3.8
4.2.4
3.2.4
3.2.4
3.9.1 |
0.8
1.0
-14 |
4.4帧擦除隐蔽
解码器中采用了一个误码隐蔽程序,用以减少因比特流中帧擦除造成的重建语音劣化。当确认编码器参数帧(对应的10 ms帧)被擦除时,这一误差隐蔽过程即予以采用-在本标准中并未定义检测帧擦除的机制,视应用情况而定。
隐蔽策略必须是基于先前所接收的信息来重建当前帧,实现方法是:用相似特征的信号替代丢失的激励信号,但要逐步衰减它的能量,这是用基于长时预测增益的清/浊音分类器进行的,其中长时预测增益的计算是作为长时后滤波分析中的一部分。长时后滤波器(见4.2.1)找出预测增益大于3 dB的长时预测器,具体是对式(82)的平方归一化相关值设定0.5的门限.就整个误差隐蔽过程来说,如果有一个10 ms帧中至少有一个5 ms子帧的长时预测增益大于3 dB,则该10 ms帧定为周期性的,否则该帧定为非周期性的。一个已擦除帧从前述的(重建)语音帧继承它的类别。注意:浊音类是在其重建语音信号的基础上连续更新的。
处理擦除帧的步骤是:
a. 综合滤波器参数复制:
b. 自适应和固定码书增益衰减;
c. 增益预测器存储器内容衰减:
d. 产生替代激励信号。 .
4.4.1 综合滤波器参数复制
擦除帧中的综合滤波器使用上一个好帧的LP参数。MA LSF预测器的存储器包含了接收码书的值。由于当前帧m接收的码字无效,所以它由复制的LSF参数和预测器存储器内容用下式计算:
,i=1,…,10…………………………(92)
其中MA预测器系数使用上一个好帧的值。
4.4.2 自适应和固定码书持增益衰减
这时的固定码书增益是基于先前固定码书增益的衰减值的,表示为:
………………………………………………………(93)
其中m是子帧序号。这时的自适应码慢增益则基于先前自适应码书增益的衰减值,表示为:
………………………………………………………(94)
4.4.3增益预测器存储器内容衰减
在3.9中讲到过,增益预测器使用上一个选取的固定码书矢量的能量。为避免解码器里出现的跃变影响,一旦收到好帧,增益预测器的存储器就用码书能量的衰减值更新。当前子帧m的值设为平均量化增益预测误差,并衰减4 dB:
且…………………………(95)
4.4.4产生替代激励
擦除帧的激励信号与周期类别有关。如果上一个重建帧的类别为周期性的,则认为当前帧也为周期性的。这种情况下仅使用自适应码书,而固定码书部分设为O。基音延迟基于上一帧的基音延迟的整数部分,并对后面每个连续的擦除帧重复。该延迟在每化后续的子帧加1且上限为143,以防止出现过多的周期。擦除帧的自适应码书增益为式(94)的自适应码书衰减值。
如果上一重建帧的类别为非周期性的,则认定当前帧同样为非周期性的,且自适应码书部分设为0.固定码书部分由随机选取的码书序号和符号序号产生。随机发生器基于函数
…………………………………………………(96)
其中seed初值设为21845。固定码书序号由下一个随机数字的13位低有效位导出。固定码书符号由下一个随机数字的幸位低有效位导出。固定码书增益按式(93)衰减。
5 CS-ACELP编码器精确到比特的描述
本章概述了仿真代码的使用及软件盼编制。
5.1 仿真软件的使用
C代码由两个主要程序组成:coder.c仿真编码器,decoder.c仿真解码器。编码器如下运行:
coder inputfile bitstramfile
输入文件和输出文件是1.6-bit PCM信号的数据文件。解码器如下运行:
decoder bitstreamfile outputfile
编码比特流的映射表包含在模拟软件中。
5.2仿真软件编制
在定点ANSI C仿真中,仅使用有两种定点数据类型,如表10所示。为了便于执行仿真代码,循环指数、逻辑值与橇忐均使用类喇Flag.它定为16 bits还是32 bits取决于目标平台。
表10 ANSIC仿真中使用的数据类型
类型 |
最大值 |
最小值 |
说 明 |
Word 16 |
0x7fff |
Ox8000 |
带符号的2的补码的16 bit字 |
Word 32 |
Ox7fffffffL |
Ox80000000L |
带符号的2的补码的32 bit字 |
所有的计算使用一系列预先定义的基本操作完成。这些操作的描述在表11中给出。
仿真编码器中使用的数表在表12中给出。主程序调用的一套子程序在表13,表14,表15中给出。
表11ANSI C仿真中使用的基本操作
操作 |
说明 |
Word 16 sature(Word32 L_var l) |
限定为16bits |
Word l6 add(Wordl6 vat l, Word l6 var2) |
短加法 |
Word 16 sub(Word 16 vat I, Word 16 var2) |
短减法 |
Word 16 abs_s(Wordl 6 varl) |
短绝对值 |
Wordl6 shl(Wordl6 varl, Word16 var2) |
短左移位 |
Word 16 shr(Word 16 varl, Word 1 6 var2) |
短右移位 |
Wordl6 mult(Wordl6 varl, Word16 var2) |
短乘法 |
Word32 L_mult(Word 16' vat 1, Wordl 6 var2) |
长乘法 |
Wordl6 negate(Wordl6 varl) |
短取负 |
Word 16 extract_h(Word3.2 varl) |
提取高位 |
Word l6 extract_l(Word32 varl) |
提取低位 |
Wordl6 round(Word32 varl) |
四舍五入 |
Word32 L mac(Word32 L_var3, Wordl6 varl, Wordl6 vav2) |
乘和累加 |
Word32 L_msu(Word32 L_var3, Word l 6 varl, Word l6 var2) |
乘和累减 |
Word32 L_add(Word32 varl, Word32 var2) |
长加法 |
Word32 L_sub(Word32 varl, W~prd32 var2) |
长减法 |
Word 16 L_negate(Word32 varl ) |
长取负 |
Word i 6 mult.r(Wordl6 varl, Word l6 var2) |
乘法及四舍五入 |
Word32 L_shl(Word32 vnrl, Wordl6 var2) |
长左移位 |
续表11
操作 |
说明 |
Word32 L_shr(Word32 varl, Word l6 var2) |
长右移位 |
Wordl6 shrr(Wordl6 varl, Wordl6 var2) ' |
右移及四舍五入 |
Wordl6 mac r(Word32 L var3, Wordl6 varl, Wordl6 var2) |
Mac及四舍五入 |
Wordl6 msu_r(Word32 L_var3, Wordl6 varl, Wordl6 var2) |
Msu及四含五入 |
Word32 L_deposit h(Wordl6 varl) |
16bit varl装入MSB部 |
Word32 L_deposit_l(Word 16 ,var 1) |
16bit varl装入LSB部 |
Word32 L shrr(Word32 varl, Wordl6 var2) |
长右移及四舍五入 |
Word32 L abs(Word32 varl) |
长绝对值 |
Word 16 norm s(Word 16 var 1 ) |
短归一化 |
Word 16 div_s(Wordl 6 varl, Wordl 6 var2) |
短除法 |
Word l 6 norm_l(Word32 varl) |
长归一化 |
表12数表
文件 |
数组名 |
长度 |
说 明 |
tab_hup.c tab_hup.c inte_3.c pred_lt3.c Ispcb.tab Ispcb.tab Ispcb.tab Ispcb.tab Ispcb.tab qua_gain.tab qua_gain.tab qua_gain,tab qua_gain.tab qua.gain.tab qua_gain,tab window.tab lag_wind.tab lag_wind.tab grid.tab inv_sqrt.tab |
tab_hup_s tab_hup_l inter_3 inter_3 Ispcbl lspcb2 fg fg_ sum fg_sum_inv gbkl gbk2 mapl imap] iap2 imap2l window lag_h lag_l grid tabsqr |
28 112 13 31 128×10 32×10 2X4×lO 2×lO 2×lO 8×2 16×2 8 8 16 16 240 10 10 61 49 |
后处理插值采佯滤波器 后处理插值采样滤波器 内插相关FIR滤波器 内插过去激励FIR滤波器 LSP量化器(级1) LSP量化器(级2) LSP VQ中MA预测 LSP VQ中应用 LsP vQ中应用 增益VQ中的码书GA 增益VQ中的码书GB 增益VQ中应用 增益VQ中应用 增益VQ中应用 增益VQ中应用 LP分析窗 带宽扩展£商部)lag窗 带宽扩展(低部)lag窗 LP到LSP转换中的格点 倒数平方恨计算A表 |
文件 |
数组名 |
长度 |
说明 |
log2.tab lsp_lsf.tab lsp_lsf.tab pow2.Tab
acelp.h ld8k.h typedef.h |
tablong table slope tabpow
|
33 65 64 33 |
以2 为底log计算查表 LSF到LSP转换及反转运算搜索表 LSP到LSF转换线性倾斜 计算查表
固定码书搜索原型 原型与常数 类型与定义 |
表13 编码器专用子程序
文件名 |
说 明 |
acelp_co.c
|
搜索定点码书 |
cod_ldSk.c
|
编码器予程序
|
lpc.c
|
LP分析
|
pitch.c
|
基音搜索
|
pre_proc.c
|
预处理(HP滤波和调整) |
pwf.c
|
感知加杈系数计算
|
qua_gain.c
|
增益量化器
|
qua _lsp.c |
LSP量化器
|
表14 解码器专用子程序
文件名 |
说 明
|
de_acelp.C |
解码代数码书
|
dec_gain.c |
解码增益
|
de_lag3.c |
解码自适应码书序号 |
dec_ ld8k.c |
解码了程序
|
lspdec.c |
LSP解码子程序
|
post_pro.c |
后处理(HP滤波和电平调整) |
pst.C |
后处理了程序
|
表15一般子程序
文件名 |
说 明 |
basicop2.c |
基本操作 |
oper_32b.~ |
扩展基本操作 |
bits.c |
比特装配子程序 |
dspfunc.c |
代数操作 |
filter.c |
滤波器函数 |
gainpred.c |
增益预测器 |
lpcfunc.c |
与LP滤波器有关的相关乎程序 |
lspgetq.c |
LSP量化器 |
p_party.c |
计算基音奇偶位 |
Prod lt3.c |
自适应码书产生 |
util.c |
公用函数 |
附录A
减少复杂度的8 kbit/s CS-ACELP语音编解码器
(补充件)
A1 引言
本附录规定了减少复杂度的使用共轭结构代数码激励线性预测的8 kbit/s语音编解码器的高层描述,该简化版本的编解码器与完全版本的编解码器在比特流一级是可互操作的,也就是说简化版本的编码器与完全版本的解码器可以互通,反之亦然。然而,应当指出,按本附录实现的编解码器的性能在一定程度上不如完全版本的编解码器。
这个编解码器的简化版本是为多媒体的数话同传的应用开发的,然而t并不限于这些应用。
该编解码器的描述与使用共轭结构代数码激励线性预测的8 kbit/s语音编解码器的整个实现相类似.本附录主要描述那些为减少编解码器酌算法复杂度而与使用共轭结构代数码激励线性预测的8 kbit/s语音编解码器的完全实现有改变的部分,对那些没有改变的部分,可查阅主标准的相应条款。
A2编解码器概述
编码/解码算法的概述与完全版本相似,比特分配与表1相同,它也有相同的延迟(语音帧的I0 ms,和预取的5 mS).与完全版本相比,主要的算法上的改变总结如下:
a.感知加权滤波器使用已量化的LP滤波器参数。LP滤波器由公式阴给出,其中= 0.75:
b.开环基音分析通过在计算加权语音相关时采用十中取一的方法加以简化;
c.计算加权综合滤波器的脉冲响应、计算目标信号以及刷新滤波器状态均通过变聊加以简化;
d.简化了自适应码书搜索过程。搜索使过去的激励与后向的已滤波目标信号的相关性最大化(不考虑已滤波的过去的激励的能量);
e.简化了固定代数码书搜索过程.用深度优先树搜索迭代算法取代了嵌套聚集搜索算法;
f.在解码端,长时后滤波器简化为只采用整数延迟。
对这些改变的更详细的描述见A3和A4。
表A1 已改变的主要程序列表
G.729过程名 |
G.729A过程名 |
Coder_Id8k( ) |
Coder_ld8a( ) |
Decod_ld8k( ) |
Decod_ld8a( ) |
Pitch_ol() |
Pitch_o]_fast( ) |
Piteh_fr3( ) |
Pitch_fr3_fast( ) |
ACELP_ Codcbook( ) |
ACELP_Code_A( ) |
Post() |
Post_Filter( ) |
A2.1 语音编解码器的确定
本附录的减少复杂度的语音编解码器描述是依据精确到比特的定点数学运算进行的。A5章中的ANSI C代码是本附件的主要部分,给出了这种精确到比特的定点算法程序。编码器(见A3章)和解码器(见A4章)的数学描述也可以用其他方式实现,但可能导致实现的编解码器与本附录不符。因此,如果A3章和A4--~数学描述与C代码出现矛盾时则以A5章的C代码为准。
A2.2符号约定
符号约定与2.5条相同.
A2.3编码器功能描述
本章讲述图4表示的编码器中的各项功能。除了算法上的简化已经完成以外,本附录的主体与本章的大部分内容有关。
A3编码器功能描述
本章讲述图4表示的编码器中的各项功能。除了算法上的简化已经完成以外,本附录的主体与本章的大部分内容有关。
A3.1 预处理
同3.1条。
A3.2线性预测分析与量化
A3.2.1 加窗和自相关计算
同3.2.1条。
A3.2.2 Levinson -Durbin算法
同3.2.2条。
A3.2.3 LP到LSP的转换
一些简化与3.2.3条相同。多项式FI(Z)和,20)估值的抽样点数减少为50(而不是60),跟踪多项式根的过,程改为符号变化间隔再分商次(而不是四次)。
A3.2.4 LSP系数量化
同3.2.4条。
A3.2.5 LSP系数内插
同3.2.5条,但只有已量化LP系数的内插,因为为了简化加权滤波器要使用已量化的LP参数。
A3.2.6 LSP到LP的转换 -
同3.2.6条。
A3.3感知加权与3.3条不同的是,感知加权滤波器基于已量化的LP滤波系数,由下式给出:
………………………………………………………………………(Al)
其中=O.75。将综合滤波器和加权滤波器简化合并为,这样就在计算脉冲响应、计算目标信号以及刷新滤波器状态时减少了滤波器操作的次数。应当指出,固定取0.75.因而在这个减少复杂度的版本中,如3.3条所述的感知加权滤波器因子的自适应过程没有利用。
加权语音信号不用下计算目标信号,而使用了另一种方法计算EJ标信号(见A3.6条)。但是,加权语音信号.(已低通滤波)要用于计算开环基音估值。低通滤波加权语音信号由语音信号通过滤波器滤波得到。首先计算滤波器系数,然后每子帧计算低通滤波加权语音信号:
,n=O,…,39……………………………………(A2)
其中,是LP剩余信号,由下式给出:
, n=O,…,39………………………………(A3)
信号用于计算语音帧的基音延迟估值。
a3.4开环基音分析 -
为了减小最佳自适应码书延迟搜索的复杂度,搜索范围限制在开环基音分析得到的侯选延迟附近。开环基音分析每帧(10 ms)进行一次。首先利用式(A2)求出的低通滤波加权语音信号进行开环基音估算,按如下过程完成:
第一步,在如下三个范围内:
: 20,...,39
: 40,…,79
: 80,…,143
分别按下式计算出3个最大自相关值:
………………………………………………………(A4)
第二步,将计算出的最大值,i=l,…,3,进行归一化:
,= 1,...,3 ......... ........................ (A5)
第三步,在三个归一化自相关值中优选出延迟值在较低范围的白相关值较低延迟,方法是增大相应较低延迟的归一化自相关傻,只要它们的延迟值为较高范围延迟值的公约数。
应当指出,按式(A4)计算相关只使用了偶数样点。此外,第三个延迟区间[80,143]只计算偶数延迟的相关,然后对选择的偶数延迟±1进行测试。
A3.5计算脉冲响应
自适应码书和固定码书的搜索需要计算加权综合滤波器的脉冲响应。脉冲响应按子帧计算,由零扩展的单位样点构成的信号通过滤波器滤波得到。
A3.6计算目标信号
用下自适应码书搜索的目标信号,由LP残余信号通过加权综合滤波器滤波得到。确定了子帧的激励以后,滤波器初始状态按A3.10条刷新。
残余信号不仅用于求找目标矢量,而且在自适应码书搜索中也用于扩展过去激励缓冲区。LP残余信号的计算见式A3。
A3.7 自适应码书搜索
自适应码书结构同3.7条。第一子帧采用的分数基音延迟兀的分辨率为1/3,位于以内.在范围则采用整数基音延迟。第二子帧的分数基音延迟的分辨率也为1/3,范围在内,其中指最接近于第一子帧分数基音延迟的整数。在瓦跨越延迟范围界限的情况下,这个范围是遣用的。
两个子帧的搜索界限和的确定方法同3.7条。
闭环基音搜索通常由最大化下式确定:
…………………………………………………………(A6)
其中,是目标信号,是延迟为时过去已滤波的激励(过去激励与的卷积)。在本减少复杂度的版本中,为简化搜索过程,只使式(A6)的分子最大化,即下式:
.............................. (A7). 最大化。其中,为后向已滤波目标信号(与脉冲响应的相关),
是延迟为尼时的过去的激励。应当指出,搜索范围局限于预选值附近,对于第一子帧预选值为开环基音死p,而第二子帧为乃。、
注意,在搜索时,样本 (n=O,...,39)是未知的,且要求基音延迟小于400为了简化搜索过程,令为LP剩余信号的拷贝。
计算和时,如桌选取的最优整数延迟小于85,必须测试最优整数延迟附近的分数。分数基音搜索是在分数,0和内插过去的激励,并使按式(A7)计算的相关值最大的方法选取分数来进行的。在给定的延迟七和分数f肮内插的过去激励公式为:
N=0,...,39,t=0,1,2…………(A8)
A3.7.1 自适应码书矢量产生
同3.7.1条.
A3. 7.2 自适应码书延迟的码字计算
同3.7.2条。
A3. 7.3 自适虑码转增‘拍.计算
同3.7.3条.
A3.8同定码书:结构与搜索
17比特的代数码书结构同3.8条.
A3.8.1 固定码书搜索过程 ,
脉冲的符号搜索使用与3.8.1所述相同的方法。但脉冲位置的搜索采用了更有效的方法,用深度优先树搜索迭代算法取代了嵌套循环搜索算法。这个新的搜索算法测试了较少的脉冲位置组合,且运算复杂度固定。
A3.8.2固定码书的码字计算
同3.8.2条。
A3.9增益量化
同3.9条。
A3. 10存储器刷新
计算下一子帧的目标信号需要对加权综合滤波器的状态刷新。两个增益量化以后,当前子帧的激励信号由下式得到:
, n=0,…,39………………………………………(A9)
式中,和分别为攮化的自适应码书和固定码书增益,为自适应码书矢量(已内插的过去激励),为固定码书矢量(包括谐波增强)。刷新加权综合滤波器状态的过程如下:对应每个(40样点)子帧,将信号(残余信号与激励信号的差)经滤波器滤波,然后保存该滤波器状态。一个不需要滤波操作的更简化的方法为,对于输入为,的该滤波器输出是加权误差信号,由下式导出;
…………………………………………………(A10)
A4解码器功能描述
解码器的原理如图3所示,发送的参数与表8列出的相同。解码得到的参数用于重建语音信号,该重建信号在由后滤波器、高通滤波器和电平调整组成的后处理中得到增强(见A4.2).解码器详细的信号流程图与图6相同。
解码器唯一的改变是后滤波器,如A4.2条所述。
A4.1参数解码过程
同4.1条.
A4.2后处理
除自适应后滤波器的某些简化之外,后处理过程与4.2相同。自适应后滤波器实际为三个串联的滤波器:长时后滤波器,短时后滤波器日和倾斜补偿滤波器,后面跟着一个自适应增益控制过程。长时后滤波器简化为只使用整数延迟,短时后滤波器和倾斜补偿滤波器不使用和增益项。
除补偿滤波是在综合滤波之前进行外,后滤波过程与G.729所述相似。
A4.2.1 长时后滤波器
长时后滤波器由下式给出:
.................................(All)
与4.21L条唯一的区别是长时延迟r总是整数延迟,它是区间内搜索计算得到。其中是所发送的当前子帧的基音延迟的整数部分,且。
A4. 2.2长时后滤波器
短时后滤波器由下式给出:
……………………………………………(A12)
其中为接收的已量化LP反滤波器(LP分析不在解码器实现),因子和则控制着短时后滤波器的滤波程度,分别设为及。
与4.2.2条唯一不同的是去掉了增益因子毋。
A4.2.3倾斜补偿
滤波器补偿短时后滤波器中的斜度,由下式给出:
………………………………………………(A13)
其中,是倾斜因子,是反射系数,计算公式如下:
………………………(AI4)
A4. 2.4 自适应增益控制
同4.2.4条不同之处是,当前子帧的增益调整因子由下式计算:
………………………………………………………………(A15)
而下式计算:
,n=0,…,39………………… ………………(A16)
A4.2.5高通滤波和电平调整
同4.2.5条。
^4.3编码器和解码器的初始化
同4.3条.
A4.4帧擦除隐蔽
除没有使用话音检测之外,同4.4条。激励总是自适麻和固定码书矢量之和。
SJ 20770--2000
A5减少复杂度的CS-ACELP编解码器的精确到比特的描述
用160—bit定点ANSI-C代码模拟的减少复杂度的CS-ACELP编解码器,使用与表11定义相同的一组定点基本运算。
A5.1 仿真软件使用
同5.1条.
AS.2仿真软件编制
同5.2条. ‘
仿真编解码器使用的表格在tab_ldSa.c中定义。tab _ld8a.c取代了原来的tab_ ldSk.c,两个文件的区别在于,tab _ld8a.c去掉了tab _1d8k.c中的tab_hup_s、tab_hup_l和inter_3,修改了格点距离。
主程序使用的子程序库在定点ANSI-C仿真软件中提供,大多数子程序与使用共轭结构代数码激励线性预测的8Kbit/s语音编解码器相同,改变了的原理过程在表A1给出,有关仿真软件更详细的说明见read.me文件。
附加说明:
本标准由中华人民共和国信息产业部提供。
本标准由中国电子技术标准化研究所归口。
本标准由信息产业部第三十研究所负责起草。
本标准主要起草人:胡 异、代爽、刘海、程蝉、杜明钰、吴娅若。
计划项目代号:B830050
2341