>
首页 » 业界动态 » CELP 语音编码与TM S 320 C54x

CELP 语音编码与TM S 320 C54x

作者:  时间:2008-12-08 16:34  来源:

【摘要】 介绍了码激励线性预测(CEL P) 编码
的基本原理和新近推出的TM S 320 C54x 定点
DSP 芯片, 结合其指令特点探讨了TM S 320 C54x
在实现CELP 类语音编码方案时的一些有效的编
程方法。
关键词: 码激励线性预测, 语音编码, 数字信号
处理, TMS 320 C54x

1 引言
随着信息技术的发展, 作为主要通信方式之一
的话务通信不断向数字化方向发展, 为了提高通信
容量和质量, 对话音编码提出的要求也越来越高。
不仅要求低码率、低延迟, 而且要求有很高的话音
质量。先进的语音压缩编码的目标就是要在尽可能
低的比特率下, 最大限度地提取语音信号的特征信
息, 在接收端恢复尽可能清晰自然的语音。目前, 常
用的编码方法可分为波形编码、参数编码和混合编
码三种。
码激励线性预测(CEL P) 编码系采用合成分析
法(A nalysis- by- Syn thesis) 的语音编码, 是一种
典型的混合编码方案。在中低速率(4. 8~ 16kbös)
能够给出高质量的合成语音, 且抗噪声和多次转接
性能好, 是目前语音编码算法中的主要选择。基于
CEL P 原理的编码方案有: 美国政府标准4. 8kbös
CEL P 声码器、E IA öT IA 的8kbös V SEL P 声码器、
Q ualcomm 公司的QCEL P 编码以及LD—CEL P
G. 728 建议、CS—ACEL P G. 729 建议和双码率ACEL PöM P—MLQ G. 723. 1 建议等。然而计算复
杂和数据存储量大是CEL P 的固有缺陷, 随着语音
处理算法的日益复杂, 许多语音处理器的运算速度
需要达到10~ 20 M IPS (M illion In st ruct ion s per
Second) , 一些从理论上讲性能优良的语音编码方
案在应用中还面临着诸如体积、成本、功耗等实际
问题。对于绝大多数的编解码算法而言, 编码远比
解码复杂, 是非对称的。因此, 语音编码算法的实时
实现一直是一个重要的研究课题。
超大规模集成电路(VL S I) 工艺的进步, 极大地
推动了DSP 技术的发展, 通用DSP 芯片性能价格
比的迅速提高为各种语音信号处理系统的实现铺
平了道路。TM S 320 C54x 是美国德州仪器公司
(Texas In st rum en t 公司) 新近推出的高性能16 位
定点DSP, 高性能、低功耗的特点使其成为各种无
线和有线通信系统的理想器件。
文章在介绍CEL P 类编码算法原理的基础上,
结合TM S 320 C54x 的特点, 提出了在实时实现语
音编解码时的一些有效的编程方法。
2 CELP 编译码算法的基本原理
CEL P 采取分帧技术进行编码, 帧长一般为20
~ 30m s, 每一语音帧再被分成2~ 5 个子帧, 在每个
子帧内搜索最佳的码字矢量(简称码矢量) 作为激
励信号, CEL P 编码的流程如图1 所示。
模拟话音信号(带宽为300~ 3400 Hz) 经8kHz
采样后, 首先进行线性预测(L P) 分析, 去除语音的
相关性, 将语音信号表示为线性预测滤波器系数,
并由此构成编译码器中的合成滤波器。CEL P 在L P
声码器的基础上, 引进一定的波形准则, 采用了合
成分析和感觉加权矢量量化(VQ ) 技术, 通过合成
分析的搜索过程搜索到最佳矢量。码本中存储的每
一个码矢量都可以代替L P 余量信号作为可能的激
励信号源。激励由两部分码本组成, 分别模拟浊音
和清音。CEL P 一般用一个自适应码本中的码矢量
逼近语音的长时周期性(基音P itch) 结构; 用一个
固定的随机码本中的矢量来逼近语音的经过短时、
长时预测后的余量信号。CEL P 编码算法将预测误
差看作纠错信号, 将残余分成矢量, 然后通过两个
码本搜寻来找出最接近匹配的码矢量, 乘以各自的
最佳增益后相加, 代替L P 余量信号作为CEL P 激
励信号源来纠正线性预测模型中的不精确度。

最佳激励搜索是在感觉加权准则下使它产生
的合成语音尽量接近原始语音, 即将误差激励信号
输入P 阶(一般取P= 10)L P 合成滤波器1öA (z) ,
得到合成语音信号S
d
(n) , S
d
(n) 与原始语音信号S
(n) 的误差经过感觉加权滤波器w (z ) 后得到感觉
加权误差e (n)。CEL P 用感觉加权的最小平方预测
误差(M in im um Squared P redict ion Erro r, M SPE)
作为搜索最佳码矢量及其幅度的度量准则。此时使
感觉加权误差平方最小的码矢量就是最佳码矢量。
CEL P 编码器的计算量主要是对码本中最佳码
矢量及幅度的搜索。计算复杂度和合成语音的质量
取决于码本的大小。自适应码本和随机码本的搜索
过程本质上是一致的, 不同之处在于码本结构和目
标矢量的差别。为减少计算量, 一般采用两级码本
顺序搜索的方法。第一级自适应码本搜索的目标矢
量是加权L P 余量信号, 第二级随机码本搜索的目
标矢量是第一级搜索的目标矢量减去自适应码本
搜索得到的最佳码矢量激励合成加权滤波器的结
果。若设e0 为目标矢量, 则

式中u 在第一级搜索时为零矢量, 第二级搜索时为
经过幅度调整的自适应激励矢量: H 、W 为M ×M阶
方阵, 其中M 为子帧长度, H 的第j 行为L P 滤
波器截断的冲击响应h ( t- j ) ;W 的第j 行为感觉
加权滤波器截断的冲击响应W ( t- j ) ; S
d
0 为L P 滤
波器的零输入响应。
若y i 为滤波后的矢量, 即y i= x iHW , 其中x i
为码矢量, 则与第i 个码矢量对应的误差平方和为

式中ri 表示第i 个码矢量的增益, 对于最佳码矢标
号op t 有

从码本中搜索最佳激励矢量的过程即为: 先由(3 )
式求出最佳码矢标号op t, 再由文献〔1, 2〕中的

求出最佳增益。在接收端, 用存储的同样码本根据
接收到的激励矢量参数和L P 系数即可恢复相应的
语音信号。
3 TM S 320 C54x 的简介及编程
TM S 320 C54x 是T I 公司于90 年代中后期推
出的新一代定点低功耗DSP, 与C2xöC 5x 系列不
完全兼容, 但又有许多相似之处。其内部采用改进
的Harvard 结构, 程序空间和数据空间相对独立。
采用了多总线技术, 具有一条程序空间总线、三条
数据空间总线和四条地址空间总线, 使得一条指令
可以同时访问程序空间和数据空间, 具有高度并行
性。TM S 320 C54x 的结构特点有:
·40 位的算术逻辑单元, 包括一个40 位桶形
移位器和两个独立的累加器(ACC) ;
·17×17 位并行乘法器, 联接至一个专用的加
法器, 可作非流水的单周期乘法ö累加运算(MAC) ;
·比较、选择和存储单元(CSSU ) ;
·两个地址发生器: 包括8 个辅助寄存器和两
个辅助寄存器算术单元;
·192K 字×16 位可寻址存储空间(64K 字程
序存储空间, 64K 字数据存储空间, 64K 字IöO 存
储空间)。
TM S 320 C54x 单指令周期为25n s, 最大运算
能力为40M IPS, 而且在一个指令周期内可完成两
次读操作和一次写操作。TM S 320 C54x 系列的指
令集中提供了并行指令, 能够在完成一次应用指令
的同时, 完成并行存储功能。
TM S 320 C54x 指令集特别适合数字信号处理
和其它大运算量的应用。指令集包括129 种指令,
由四大类指令组成: 算术运算, 逻辑运算, 程序控
制, 装入与存储指令。其中有特色的指令有:
·块存储器搬移指令, 更便于程序和数据管
理;
·32 位长操作数指令;
·同时读取2 操作数和3 操作数的指令;
·带并行存储和并行装入功能;
·条件存储指令;
·快速中断返回。
在CEL P 类的语音编码算法中, 由于需要一定
大小的码本以保证合成语音的质量, 存贮器资源的
配置以及运算的优化问题就显得相当重要, 这就需
要充分运用其指令集及开发工具。
TM S 320 C54x 的寻址方式共有7 种: 立即数
( Imm ediate addressing) , 绝对寻址(A b so lu te ad2
dressing) , 累加器寻址(A ccum u lato r addressin2
g) , 直接寻址(D irect addressing) , 间接寻址( Indi2
rect addressing) , 存储器映像寄存器寻址(M emo ry
- m apped register addressing ) , 堆找寻址(Stack
addressing)。其中绝对寻址、直接寻址、间接寻址、
存储器映像寄存器寻址在编程中应用比较频繁。
一般情况, 应首先使用间接寻址和存储器映像
寄存器寻址, 这样便可通过采用这些寻址方式的指
令节省指令周期。在间接寻址的使用中, 有时又应
当首选双操作数寻址(Dual data- m emo ry operand
addressing) 方式。双操作数寻址方式的实质, 是通
过空间上的多总线技术减少数据存取的占用时间。
例如, STL Src, SHFT , Xm em 与STL Src,
SH IFT , Sm em〔其中Src、D st 分别表示源累加器
(sou rce accum u lato r) 以及目的累加器(dest inat ion
accum uato r) ; SH IFT、SHFT 分别表示不同的移位;
Xm em、Sm em 分别表示双操作数寻址方式和单操
作数寻址方式〕, 这两条指令的功能相近, 但选用双
操作数寻址方式比单操作数寻址方式可节省一个
指令周期, 而若能在一段循环指令中减少几个指令
周期, 则运算量就会明显降低。在使用直接寻址时,
一般用选取DP 寄存器的直接寻址(DP - Refer2
enced A ddressing) 方式。注意, 存贮器在这时被分
为512 页, 页内地址0~ 127, 这样一个确定的地址
由DP 值和指令的地址域两部分确定。因此, 在用选
取DP 的直接寻址方式时, 须设定DP 值。但由此引
出的问题是, 在设计CEL P 软件时, 需要许多子程
序来完成特定的功能, 而在每个子程序内均需设定
DP 值, 显得较为繁琐。TM S 320 C54x 汇编语言提
供了伪指令功能, 运用其中的. asg 伪指令可以较好
地解决这一问题。首先在一个文件中定义一定数量
的变量空间, 由主程序用. include 伪指令将此文件
包含后, 在各子程序的起始处使用. asg 将需要的变
量命名。因为伪指令不占用程序执行空间与时间,
这样就省去了在各程序中确定DP 值。另一方面, 不
同的子程序, 在不冲突的前提下可以通过的指令·
asg 最大限度地重复使用变量, 节省变量空间。此
外, 还可用来传递参数变量。
充分利用TM S 320 C54x 的指令集, 调整某些
指令的执行顺序, 可以精简程序运行空间与时间。
例如, LD # K, Src、ADD Sm em , Src 与LD Sm em ,
Src、ADD # K, Src 的功能均为求Sm em 与常数K
的和, 但两组语句的存储空间相差一个字(wo rd) ,
运行时间相差一个指令周期。另外, 延迟跳转(BD)、
延迟调用(CALLD) 与延迟循环指令(RPTBD) 的使
用也可节省程序指令周期。由于采用多总线技术,
TM S 320 C54x 提供了许多单字单指令周期的并行
指令, 如并行装入与存储指令, 并行存储与乘指令,
并行存储与加ö减指令, 适时地使用这些指令可提
高程序效率。TM S 320 C54x 的比较、选择和存储单
元(CSSU ) 是专门用于维特比(V iterb i) 操作的加ö
比较ö选择(A öC
öS
) 硬件的。因此, TM S 320 C54x
的指令集中有一些单字单指令周期的32 位操作数
指令, 可以方便地用于运算精度要求较高的情况,
而指令集中的条件存储指令则非常适用于CEL P
的码本搜索运算。下面结合第2 节的介绍给出了码
本搜索部分的源程序及详细注释。
Start:  STM # C,AR5,  ; 设置C ( i) 地址指针
STM # G,AR2 ; 设置G( i) 地址指针
STM # Op t,AR3 ; 设置Op t 地址指针
    STM # OPT,AR4   ; 设置IOPT 地址指针
ST # 0, 3
AR4 ; 初始化lag
 ST # 1, 3
AR3+      ; 初始化Gop t
STM # N - 1,BRC    ; 设定循环次数
RPTBD Srh End- 1 ; 延迟循环
ST # 0, 3
AR3- ; 初始化C2op t
SQUR
3
AR5+ ,A ;A = C ( i) 3
C ( i) 循环开始处
M PYA
3
AR3+ ; B= C ( i) ^ 23
Gop t
MA S
3
AR2+ , 3
AR3- ,B ; B= C ( i) ^ 23
Gop t
- G( i) 3
C2op t, T= G( i)
SRCCD
3
AR4,BGEQ ; 若(B≥0) , 则iop t= BRC
STRCD
3
AR3+ ,BGEQ ; 若(B≥0) , 则Gop t= T
SACCD A , 3
AR3- ,BGEQ ; 若(B≥0) , 则C2op t= A
Srh End: RET ;AR4 指向最佳码矢标号,
循环结束, 子程序结束
END
TM S 320 C54x 共有6 级流水线(p ipeline) , 使
程序能够并行执行, 但有时会产生流水线冲突问
题, 因而实际编程时在这种情况下需要调整指令顺
序, 甚至加入NO P 指令。
4 结束语
CEL P 算法是目前主要的语音编码方案, ITU
- T SG16 正在讨论的几种4kbös 的语音编码算法
均以CEL P 算法为基础, 如相位自适应基音同步更
新码激励线性预测(PA PS I- CEL P)、多离散脉冲
码激励线性预测(MDP- CEL P)、基音位置同步码
激励线性预测(PPS—CEL P) 等, 而它们的运算复杂
度有的已高达40M PS〔4〕。高效率地实现CEL P 核心
算法有助于各种基于CEL P 方案的编码算法的实
现。TM S 320 C54x 是新一代的高速低功耗定点
DSP, 其高效灵活的指令非常适合于复杂运算。充
分运用其指令, 可明显地提高效率。比较分析发现,
优化了的程序的运行时间与原先相比平均减少
20% , 并已成功地用于G. 729 汇编语言的优化方
面。由于TM S 320 系列DSP 的指令有许多相似之
处, 因此TM S 320 C54x 的编程方法对其它类型的
DSP 也有参考价值。
参 考 文 献
1 杨行俊, 迟惠生. 语音信号数字处理. 北京: 电子工业出
版社, 1995
2  Texas Inst ruments. TM S 320 DSP So luit ions CD -
ROM. 1997
3 ITU - T. Recommendat ion G. 729- Coding of Speech at
8kbös U sing Conjugate- St ructure A lgebraic- Code-
Excited L inear- P redict ion (CS- ACEL P). 1996
4 H igh L evelDescrip t ion of the Q ualificat ion Test Results
of N TT 4- kbitös Speech Coder. Delayed Cont ribut ion
D. 127 to Study Group 16, Q uest ion 12ö16, Geneva.
1998
 

相关推荐

高通AP拟整合Rx芯片 TI无线充电霸主地位蒙尘

TI  无线充电  2013-10-15

TI快速充电技术延长锂离子电池使用寿命

TI  锂离子电池  2013-06-08

电源管理IC临近爆发,详解四大市场趋势

TI  电源管理  2013-05-14

2012工业半导体市场排名:英飞凌、TI、ST

TI  工业半导体  2013-04-17

德仪:转战利基芯片应用市场拼成长

TI  处理器  2013-04-17

CEVA凭借90%的市场份额继续领导DSP IP市场

CEVA  DSP  2012-05-30
在线研讨会
焦点