G.723.1是H.324系列中用于语音和其他声音信号的双速率编解码算法建议,它有两种编码速率,分别是5.27K和6.3K.两种速率的编解码器均有很高的语音质量和较低的延时,并允许在每帧的边界(30毫秒)转换速率以实现变化比特率传输。目前G.7231编解码算法已经在一些常用DSP上得到了实现,例如TI的TMS320C54X和AD的AD218X等,但是大部分是基于单片DSP只能实现一路的语音编解码。为了降低成本,基于单个DSP芯片的多通道话音编解码技术开始受到越来越多的重视和采用。本文就是介绍一种基于ADSP2191的G.723.1的编解码算法的多通道解决方案。
一. G.723.1算法描述
1.1 G.723.1编码器
输入模拟语音信号经话路带宽滤波,被8KHz采样,然后被转换为16位PCM码作为编码器的输入。语音解码器的输出通过同样的方式转换为模拟信号。编码器见图 1.1。
图 1.1 基本的G.723.1编码器原理图
G.723.1语音编码器基于码本激励线性预测模型,尽量减少合成语音和实际语音之间的感知加权误差。编码器每次处理240个样本(相当于30ms)的语音帧,每一语音帧首先高通滤波去除直流分量,然后分为长60个样本的4个子帧。计算每子帧的10阶线性预测滤波器LPC参数,将最后一子帧的10阶LPC参数转换成线谱对,使用预测分割矢量量化(PSVQ)方法量化线谱对。未量化的LPC参数则被用于构造感知加权滤波器,并对信号进行加权,经加权后的语音信号每两个子帧(120个样本),计算一次开环基音周期,基音周期范围为18到145个样本之间。基音搜索和码本搜索是按照子帧进行的。对每一子帧,用搜索到的开环基音周期,计算一个谐波整形滤波器,然后连同合成滤波器、加权滤波器一起构成组合滤波器,计算组合滤波器的冲激响应和零输入响应。使用一个五阶预测器,在开环周期附近搜索闭环基音周期,并将基音激励贡献从目标信号中减去,对得到的残差信号进一步进行矢量量化,高码率使用多脉冲极大似然量化法(MP_MLQ),低码率使用代数码本激励(ACELP)算法。
1.2 G.723.1解码器
解码器将接收到的G.723.1码流解包,得到帧编码参数,然后分别对各个参数解码,重构激励信号,合成语音。解码器见图1.2。
图 1.2 基本的G.723.1解码器原理图
首先,解码线谱对参数,插值并转化成LPC滤波器系数;接着,解码并重构基音激励矢量和码本激励矢量,将二者相加得到总的子帧激励信号,让它通过一基音后置滤波器后输入到线性预测合成滤波器,初步合成语音信号;最后,合成语音信号经共振峰后置滤波和增益控制形成最终语音信号。
二. ADSP2191的基本特征
ADSP2191是美国AD公司最新推出的一种高效的定点DSP,主要应用于通讯,工业控制,语音/话音和医疗等方面。具有以下特征:
16位定点DSP,处理能力160MIPS。
片内有160Kbyte存储器,可配置成32K′16bit数据区和32K′24bit程序区。程序和数据空间统一编址,单周期内可以完成双操作数取址。
外部存储器接口:可以分别配置成8bit或16bit,芯片的地址转换功能和数据打包功能可实现与外部数据总线接口,以及与外部SRAM、FLASH或EPROM相连,同时外部的时钟频率可调以便与低速存储设备接口。
高效DMA主机接口,外部主机可通过16位的主机接口对DSP的整个存储空间、引导加载空间或内部I/O空间进行读写操作;同时也可配置成8位的主机接口,以便与低功耗微控制器接口。
具有3条支持H.100标准、A律、U律以及T1/E1兼容设备的双向多通道串口,支持可高达24、32甚至128条通道的时分多路传输;可与外围设备或其他DSPs/MCUs进行同
| |