G.723.1编解码算法的DSP实现

如对此感兴趣,请拨打电话02l-228l84l9,QQ微信,微博
诚招各地区市场各行业应用推广合作伙伴。查看详细联系方式
欢迎提出产品建议,思路,合作信息,我们计入产品股份,享有对应的分红权。


1 摘要
G.723.1标准是ITU组织于1996年推出的一种低码率编码算法。主要用于对语音及其它多媒体声音信号的压缩,如可视电话系统、数字传输系统和高质语音压缩系统等。G.723.1标准可在6.3kbps和5.3kbps两种码率下工作。其中,高码率算法具有较高的重建语音质量,而低码率算法的计算复杂度则较低。与一般的低码率语音编码算法一样,G.723.1标准采用线性预测的合成分析法。对激励信号进行量化时,高码率算法采用多脉冲最大似然量化(MP-MLQ),而低码率算法则采用算术码本激励线性预测(ACELP)。

2 算法介绍

语音信号的参数模型是用激励信号激励一个系统模型来模仿气流冲激声道产生的声音。线性预测法基于全极点模型假定,采用时域均方误差最小准则来估计模型参数。分析过程中要提取的参数包括声道系统的LSP参数、自适应码本的延迟和增益,以及固定码本中脉冲的位置和符号。

G.723.1编码器能对以8kHz采样的话带语音信号进行压缩。为了降低码率,G.723.1采用了较长的帧尺寸,每帧240个样值,即30毫秒帧长。每帧输入信号首先通过一阶高通滤波器滤除直流分量,然后将之分成四个60个样值的子帧,每个子帧独立进行LPC分析。为了提高LPC系数的连续性,采用了长度为180个样值的重叠窗,即同时包含前后两个子帧,这使算法引入60个样值的超前时延,因此算法的总时延为37.5毫秒。LPC系数用线性谱频率(LSF)表示,LSF参数采用预测分裂矢量量化,只对第四子帧进行。为了提高量化感知质量,高通滤波后的语音信号需通过共振峰感知加权滤波器和谐振峰噪声整形滤波器以生成初始目标信号。前者参数由各子帧的未量化LPC系数构成,后者通过对每两子帧进行开环基音周期估计得到,其中基音周期的范围为18到142个样值。LPC合成滤波器、共振峰感知加权滤波器和谐振峰噪声整形滤波器用于系统零输入响应计算和最佳激励估计。G.723.1编码器还包括一个五阶基音预测器,其参数根据开环基音估计值和脉冲响应进行闭环基音搜寻得到。在进行最佳激励估计时,需从初始目标信号中减去系统零输入响应和基音预测器贡献以得到最终目标信号,然后针对高低码率分别采用MP-MLQ和ACELP方法进行量化。其中,LSF参数、基音值和激励参数需传送给解码器。

解码器首先根据得到的LSF参数重建LPC合成滤波器,然后根据基音值和激励参数得到自适应码本激励信号和固定码本激励信号。

2.1 声道模型参数的提取

十阶全极点模型系统的传递函数为:

其中,S(z)和U(z)分别是输出信号s(n)和输入信号u(n)的Z变换。因此误差信号为:

要使均方误差最小,{ak}必定满足=1,2,...10),由此可得到以k为变量的方程组:

其中,R(n)为S(n)的自相关函数值。对于这个Toeplitz矩阵,用Durbin递推算法可方便求解。

因为线谱对参数(LSP)良好的量化特性和内插特性,LPC参数要转换为LSP参数进行传输。

设线性滤波器的逆滤波器为

ωi和θi分别是P(z)和Q(z)的第i个零点。ωi和θi成对出现,反映信号的频谱特性,因此称为线谱对。对P(z)和Q(z)的系数做离散傅立叶变换得到zk=e-jπk/N(k=0,1,2...N)各点的值,搜索极小值点的位置,就是可能的零点位置。

2.2 自适应码本的搜索

开环搜索是基于整帧的整数基音估计。为了提高可靠性,对原始信号进行预处理,用中心削波函数对原始信号进行削波。然后用自相关基音检测法估
计基音Top。闭环搜索是基于子帧的基音细搜索。将LPC合成滤波器、共振峰感知加权滤波器和谐波噪声滤波器一起构成综合滤波器,计算出该综合滤波器的冲激响应。用估算出的开环基音周期和计算所得综合滤波器的冲激响应,通过一个五阶的基音预测器,可计算出闭环基音周期。

2.3 固定码本的搜索

对自适应码本搜索后得到的残差余量信号进行固定码本搜索。

对高码率(6.3kbps)的固定码本搜索采用脉冲最大似然量化法(MP-MLQ)。激励信号可表示为

其中,G为增益因子,δ(n)为单位脉冲响应,{ak}和{mk}分别是单位脉冲响应的符号和位置。M为脉冲的数目,偶数帧取6,奇数帧取5。

编码算法的任务是估计G、{ak}和{mk},使误差信号e〔n〕的均方值最小。

其中,r〔n〕表示目标矢量,自适应码本搜索后得到的残差信号,h〔n〕表示加权合成滤波器的冲激响应。

对低码率(5.3kbps)编码器固定码本搜索采用代数码本激励线性预测法(ACELP)。每一子帧中有4个脉冲。

码本搜索同样是使加权语音信号r〔n〕与加权合成语音信号之间均方误差最小。即:

其中,r表示目标矢量,自适应码本搜索后得到的残差信号,G是码本增益,vξ是代数码本中索引ξ对应的码本,H是加权合成滤波器的截断冲激响应。
要求最佳码本,即要搜索使τξ最大的ξ,

其中,τξ是一个中间参数,d是r〔n〕和h〔n〕之间的相关值,Φ是冲激响应的协方差矩阵。C、ε的计算:

对奇位置的码矢量,先把偶脉冲移一个样本位置,然后用上式计算。

3 算法实现

3.1 硬件设计

模拟的语音信号通过TP3057的A/D转换变为数字信号送入ADSP-2181(采样频率8kHz)。TP3057是美国国家半导体公司生产的A律编/解码器,它包含一个利用A/D和D/A转换结构的A律脉冲编码调制的编解码器/滤波器单片电路和一个串行PCM接口。其中,编码部分还包含一个可调输入增益的放大器、一个有源RC前置滤波器、自动调零电路、一个A率压缩编码器。解码部分包括一个A律解码器和截止频率为3400Hz的低通滤波器。前者从A律压扩的信号中重建模拟信号,后者校正译码器输出的sinx/x响应并滤除高频信号。

ADSP-2181是Analog Devices公司生产的一种性能优越的单片机,适合于高速的数字信号处理。 ADSP-2181除了三个运算单元、数据地址发生器和一个程序序列器,还含有两个串行口、一个16位的内部IDMA口、一个8位的BDMA口、一个可编程定时器、外部中断能力及片内程序和数据存储器。片内集成了80k字节的存储器,包括16k长度为24bit的程序存储器和16k长度为16bit的数据存储器。

利用IDMA口的自动接受发送功能,可以方便地实现ADSP-2181与主CPU间的数据交互。PC机通过IMDA口将程序装载入ADSP-2181内部存储器中。在ADSP-2181全速执行时,主机可以查询其状态,读取压缩后的码流,也可送入待解码的数据。

3.2 软件设计

软件设计包括三个模块:接口模块、编码模块和解码模块。

接口模块实现ADSP-2181与主CPU之间的数据交换。该模块包括DSP的主控程序和数据传输两部分。DSP的主控程序负责将采集到的语音数据分帧,送入编码器,并将接受到的码流分类后送入解码模块。数据传输部分负责采集数据和与主CPU的数据交换。

DSP程序根据ITU-TG.723.1标准定点算法,分为初始化(G723—Init)、编码(G723—Incode)、解码(G723—Decode)三个模块。
G723—Icode对包含240个采样点的一帧信号进行编码,返回12个或10个字长的二进制数据。

输入数据由串口得到,放在数组G723—Enc—Inp中,返回值放在数组G723—Enc—Out中,对于6.3kbps长工为12个字,对于5.3kbps长度为10个字。其格式按照G.723.1标准进行封装。

G723—Decode根据接收到的12字或10字打包数据重建240个语音样点。输入数据放在G723Dec—Inp中,输出放在数组G723—Dec—Out中。

主机程序采用VisualC++编写,通过串口与DSP通信。

3.3 C语言的优化

开发中采用AD公司的集成仿真软件VisualDSP++,但是通常,C编译器能完成整个工作的70%,而30%的进一步优化必须通过手写汇编来实现。

3.3.1 循环展开

使用具有并行能力的DSP开发软件时,一个重要的思想就是充分利用DSP的字长和数目众多的运算单元,尽量把循环体展开。通过增加每次循环中执行的指令数来减少总的循环次数,可使得在同样的时钟周期内能运行更多的指令,提高了循环的效率。

3.3.2 提高寄存器的利用率

DSP芯片内部的运算单元运行效率非常高,但如果寄存器和数据总线之间的数据交换频繁,将使DSP的执行效率大打折扣。因为DSP在进行内存操作时,往往需要若干周期的延迟,如Load指令要有4个周期的延迟,Store指令需要2个周期的延迟。为了减少耗时的内存操作,可以在程序进入循环体之前,将要频繁使用的数据预先放入寄存器,然后反复调用,实践证明这种方法可以提高一部分效率。

4 实验结果

所有代码全部通过了ITU-T测试矢量的测试。
测试结果表明,对于高码率(6.3kbps)所需计算量为24.8MIPS,对于低码率(5.3kbps),所需计算量为21.3MIPS。该实现可以在IP电话、视频会议中得到广泛应用。

您现在的位置: 上海速嵌 >> 技术库 >> 正文

分享到:

  相 关 技 术

固顶技术qPad一站式高效办公
固顶技术电机控制应用于医疗化工电子设备器械工业机器人自动化作业系统
固顶技术嵌入式软硬件设计服务
固顶技术声音图像语音视频通信系统
固顶技术工业传感器64路数据采集和监控
固顶技术高精度16路传感器数据采集和处理
固顶技术GPS导航定位监控行业应用方案 LBS (Location Based Service)
固顶技术Samsung S3C2440/S3C6410/S5PV210 工业产品级主板和解决方案
固顶技术GIS系统Mapinfo格式嵌入式GPS导航应用
普通技术机械臂定制
普通技术非标机械臂
普通技术机械手定制
普通技术机械臂开发
普通技术机械臂设计
普通技术机械臂
普通技术双赢双屏
普通技术众筹开发
普通技术可穿戴解决方案
普通技术imx6som卡片式计算机评估板
普通技术imx6单板工控主板火星板
普通技术imx6单板工控主板
普通技术硬件定制
普通技术远程现场呈现替身机器人
普通技术智能脉搏手表
普通技术悠牌电脑桌
普通技术OMAP4460 Pandaboard
普通技术Exynos4412评估板
普通技术iMX6SOM评估板
普通技术OMAP4460评估板
普通技术OMAP5432评估板
普通技术MK802 Linux系统
普通技术多频段RFID 3G平板
普通技术超远距离RFID终端
普通技术智能打印POS机
普通技术工业级WM智能手机
普通技术工业级Android手机
普通技术身份证识别工业平板
普通技术工业级3G平板电脑
普通技术工业安卓手持终端
普通技术GPU性能比较
普通技术Raspberry Pi 树莓派
普通技术linux qt软件开发
普通技术手机开发制造的全流程
普通技术移动嵌入式数据库市场与技术
普通技术Linux嵌入式文件系统横向对比分析
普通技术小票打印机
普通技术移动支付刷卡对比
普通技术刷卡魔块
普通技术微型UPC电脑
普通技术安防套装
普通技术USB摄像头
普通技术在线购买
普通技术技术参数
普通技术安装使用
普通技术工厂案例
普通技术公司案例
普通技术超市案例
普通技术增值功能
普通技术视频监控
普通技术在线订购
普通技术增值功能
普通技术功能介绍
普通技术最值得关注的主要嵌入式产品市场
普通技术意法半导体推出内置9轴MEMS传感器的STM32 F3开发套件
普通技术安卓Android工业平板电脑工业显示器
普通技术阳光下可视高亮度大尺寸LED显示屏
普通技术TTL转LVDS转换模块
普通技术嵌入式系统开发
普通技术3D打印机
普通技术vTigerCRM简介
普通技术功能框图
普通技术CRM作用价值
普通技术CRM与企业挑战
普通技术CRM与企业决策
普通技术CRM基础理论
普通技术国内3D打印产业与市场现状
普通技术无线医疗的机遇与挑战
普通技术EMI 来自哪里?EMI 如何通过介质干扰电路
普通技术硬件隔离保护设计 接口i2c rs232串口 485 can
普通技术Android平板电脑控制串口设备
普通技术摄像头汽车防碰撞系统
普通技术大运航海
普通技术系统说明
普通技术基于嵌入式S3C2440的船舶导航系统设计
普通技术智能家居
普通技术微虎CRM
普通技术ADI全系列仿真器ADZS-USB-ICE
普通技术九维航姿微系统电子罗盘电子陀螺仪
普通技术电子货架标签
普通技术ADDA-PWM板
普通技术网络音频板
普通技术电子产品制造服务
普通技术网络摄像头模块方案
普通技术警用警务警帽录像系统
普通技术S3C2416手持机
普通技术S3C6410手持机型
普通技术船舶船载电子海图系统和自动识别系统
普通技术HMI技术在工业控制领域的广泛应用
普通技术嵌入式组态软件和标准版组态软件的区别
普通技术光伏正弦波逆变电源
普通技术汽车电脑车载电脑汽车中控
普通技术健康监护系统
普通技术音频视频无线传输模块
普通技术广告机-支持无线网络
普通技术人体防摔安全气囊
普通技术iPhone 4拆解分析
普通技术Stellaris(群星)系列 ARM
普通技术嵌入式开发流程详解
普通技术系统移植和集成
普通技术嵌入式设备驱动程序开发
普通技术板级支持包(BSPs) 开发
普通技术电路原理图设计开发
普通技术PCB设计布线Layout
普通技术OMAP-L138 开发板
普通技术互动式手写电子白板
普通技术魔杖遥控器
普通技术便携式车载逆变器
普通技术电子血压计方案
普通技术IC智能卡刷卡机
普通技术汽车定位/调度/刷卡交费终端
普通技术汽车检测仪
普通技术微型潜水电脑
普通技术压力检测系统
普通技术网络音频终端
普通技术HMI人机界面定制开发
普通技术全球MEMS应用及其市场状况
普通技术EMC设计
普通技术ARM嵌入式数控系统
普通技术基于MSP430内嵌温度传感器的温度告警系统
普通技术语音通信系统中的噪声产生和影响
普通技术MP3算法实现
普通技术ITU G.729(CS-ACELP共扼结构-代数码激励线性预测)语音算法
普通技术ITU G.729(CS-ACELP共扼结构-代数码激励线性预测)语音算法
普通技术ITU G.723.1(ACELP代数码激励线性预测)语音算法
普通技术EVRC(Enhanced Variable Rate Codec)增强型多速率语音算法
普通技术语音通信系统中的回声产生和影响
普通技术语音通信系统中的回声产生和影响
普通技术AMR Wideband(Adaptive Multi Rate)宽带自适应多速率语音算法
普通技术AMR(Adaptive Multi Rate)自适应多速率语音算法
普通技术专业的音频视频算法处理
普通技术AAC(Advanced Audio Coding)
普通技术土壤水温监测系统
普通技术公司新闻
普通技术压力控制系统
普通技术中央空调控制系统
普通技术有关传感器与数据采集卡
普通技术S3C6410开发平台
普通技术S3C6410 移植Android 内核
普通技术S5PC110开发板
普通技术条形码识别软件
普通技术嵌入式系统硬件基础
普通技术各种认证,设计制造须知
普通技术Wiegand协议
普通技术使用PWM调光
普通技术TI DM6467 1080 高清编解码
普通技术电子设备产品机箱外壳设计
普通技术有源噪声消除 (ANC)
普通技术数字音频广播
普通技术汽车仪表板
普通技术汽车门禁系统
普通技术汽车车身控制器
普通技术车用信息娱乐
普通技术车用视觉控制
普通技术便携产品个性设计启示
普通技术投影仪、高清和低功耗 -- 多元化的手机设计
普通技术胎压计方案
普通技术G.723.1编解码算法的DSP实现
普通技术G.729A语音编码实时实现在TMS320VC5416 DSP上
普通技术GPRS数据传输终端
普通技术音频编解码标准汇总
普通技术语音识别技术简述
普通技术Iridix VEE
普通技术如何让便携式多媒体系统实现高质量音频
普通技术新AMR WB+音频/语音编解码器将在SoCIP2008展示
普通技术精心打造音视频领域的中国芯
普通技术PureSpeech蓝牙音频增强技术
普通技术语音识别应用中DSP
普通技术VoIP综合应用技术概述
普通技术VoIP中语音压缩编码技术的研究与性能分析
普通技术EVRC and G.729AB Transcoding
普通技术怎样选择嵌入式媒体处理器
普通技术TI达芬奇技术再战视频转码市场
普通技术土豆网紧跟Adobe步伐第一时间推出"清晰版"
普通技术VoIP电话发展简史
普通技术H.264简介
普通技术Internet语音通信中的回声消除技术