用于 G7231 语音编解码器加速的向量处理器研究.doc
《用于 G7231 语音编解码器加速的向量处理器研究.doc》由会员分享,可在线阅读,更多相关《用于 G7231 语音编解码器加速的向量处理器研究.doc(5页珍藏版)》请在三一办公上搜索。
1、精品论文推荐用于 G.723.1 语音编解码器加速的向量处理器研究邢雲峰, 桑林 北京邮电大学电信工程学院,北京 (100876) Email: xingyunfeng摘 要:编解码时间是语音编解码器的一个关键性能指标。本文提出了一种利用可配置的向量处理器来配合嵌入式处理器进行G.723.1编码的方法,测试结果表明,这种方式可以显 著提高嵌入式处理器的编解码速度。 关键词:语音编解码器;向量处理器;嵌入式处理器;语音编码中图分类号:TN912.321.引 言G.723.11是国际电信联盟(ITU)于1996年推出的面向多媒体通信的低码率语音编码标 准,采用了码激励线性预测(CELP) 算法,在
2、低码率下能达到较高的合成语音质量,且算法 复杂度不太高。它最初是为可视电话而设计的,包括5.3 kb/s和6.3 kb/s两种速率,分别采用 代数码本激励(ACELP)和多脉冲最大似然量化(MP-MLQ)技术。在VOIP技术蓬勃发展的今天,为了节省IP语音包的带宽占用,大多数的IP终端都支持 用G.723.1进行语音编解码。虽然ITU-T G.723.1协议提供了G.723.1语音编解码器的C语言源 代码,但是在实际的应用中,由于G.723.1编码计算量比较大,如果想通过一台IP终端实现 三方通话,往往需要一片专用DSP来进行语音信号的处理,这样增加了终端的成本。本文先 从分析G.723.1编
3、解码算法的特点出发,然后根据G.723.1编解码算法的特点设计向量处理器 来辅助嵌入式处理器进行编解码,最后根据实际测试结果给出结论。1.G.723.1 算法特点分析首先利用 VC+的 profile 功能对 G.723.1 语音编解码器的定点 C 语言源代码执行参数为function timing 的 profile 测试,测试结果见表 1。表 1 未优化代码的 profile 测试(%)码率5.3k6.3kL_mac21.532.4L_mult16.917.7L_add16.415.6L_msu3.93.8L_shr6.43.1L_sub1.71.7L_shl0.30.4Round0.50
4、.4mult_r0.30.3Sature0.60.1Shr0.10.1Shl0.30.1Add0.70.1Sub0.10.1合计69.775.9- 5 -从表 1 可以发现,在 G.723.1 语音编解码算法中,表中所列的这些基本运算占到总运算量的 70%左右,因此如果可以将这些基本运算拿出来单独处理,将有可能大大减少嵌入式 处理器的编解码时间。进一步的分析发现,这些基本运算很多都出现在计算信号的互相关, 能量,滤波等循环计算中,这种计算形式可以认为是把一段时间的信号看作一个一定长度的 向量来进行处理,如果设计一个专用的向量处理器来进行这种向量的运算,将使得减少 CPU 的编解码时间成为可能。
5、2.向量计算单元数据通路设计向量计算单元设计为一个时钟周期完成一次乘加运算,具体结构如图 1 所示。所有待计 算的向量由 CPU 事先储存于内存中,向量计算单元根据 VDR 寄存器的设置从指定的地址 取得待运算的向量,然后根据 CR 寄存器的指令进行相应的运算。需要指出的是这里的向量 均由 16 位的定点数据组成。图 1 向量计算单元数据通路该计算单元可以完成的向量运算包括两个向量相乘,一个向量乘常数再与另一个向量相 加,两个向量相乘并将结果累加等等。这里用一个具体向量运算指令对图 1 进行说明。 指令名称:VADDQ指令功能:T = ( A + B * CONST16 ) SHIFTT,A,
6、B 均表示由一定长度的 16 位定点数构成的向量,SHIFT 表示每个计算结果右移 的位数。计算过程如下:z在第一个时钟周期,数据 Ai和 Bi被放入寄存器,16 位常数寄存器记录的常数也准备 进入乘法器.z在第二个时钟周期,得到 CONST16 与 Bi相乘的结果 b,同时,Ai被左移 15 位变为Q30 的数 a 作为四路复用器的选择数据(a 的第 32 位按照第 31 位进行了符号扩展)。z在第三个时钟周期,将第二个时钟周期得到的 a 与 b 两数做饱和加法,记录 Q30 和 Q31两个和。z在第四个时钟周期,将 Q31 和右移 SHIFT 位然后进行 16 位饱和及四舍五入变为 Q15
7、结果。z在第五个时钟周期,将 Q15 结果写回向量 T 所在的内存中得到 Ti。 图 1 各个功能块作用解释如下3.1 寄存器整个数据流可以分为 5 个阶段,寄存器记录每个阶段运算的结果。3.2 符号扩展这个功能块是用来把 16 位定点数通过符号位的扩展变成 32 位定点数,扩展后的数据高17 位均为符号位。3.3 Q15 变为 Q30这个功能块是把 Q15 的 16 位定点数直接左移 15 位变为 Q30 的 32 位定点数,最高两位 均为符号位。3.4 乘法器这个功能块是用来做两个 16 位有符号定点数的乘法,结果为 32 位有符号数。3.5 饱和加(减)法器这个功能块用来做饱和加减法,一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用于 G7231 语音编解码器加速的向量处理器研究 语音 编解码器 加速 向量 处理器 研究
链接地址:https://www.31ppt.com/p-5194317.html