低速率语音编解码专用芯片的设计
文 摘 为了满足可视电话系统对高质量,低成本语音编解码器的需要,采用数字信号处理器内核(DSP Core)的方法,设计了符合ITU-T G.723.1建议的5.3kbit/s和6.3kbit/s双速率语音编解码器专用芯片。针对G.723.1算法特点,进行算法优化,如变卷积运算为加/减运算,避开求余运算等,并对需要最大运算量的情况作了模拟,保证语音编解码器在最坏情况下也能正常工作。根据专用芯片的结构,设计了编解码器的流程和接口模块,用较少的运算量和较小的存储空间,实时实现了G.723.1建议及其附录A的全部功能和选项,并通过了全套测试序列的检验,而且留出足够多的资源实现自适应回声抵消、调制解调等其它功能。
关键词 低速率语音编码;专用芯片;可视电话
分类号 TN 912.3
ASIC design for low bit rate speech coding JIA Zhike,CUI Huijuan,TANG Kun,FENG Chongxi
Department of Electronic Engineering,Tsinghua University,Beijing 100084,China Abstract In order to get a high quality and low cost speech coder for videophone system,an ASIC (Application Specific Integrated Circuit) was designed using DSP core. The speech coder complies with ITU-T Recommendation G.723.1 (dual rate speech coder for multimedia communications transmitting at 5.3 & 6.3kbit/s). According to the features of the G.723.1 algorthm and the architecture of the ASIC,some optimizations were used to reduce the computation complex and the memory size. The worst case which would cost maximum computation amount was simulated to ensure the coder can work properly in this case. The chart of the coder and its performance were presented. There is still enough resource left in this ASIC to implement the MODEM and the echo cancellator.
Key words low bit rate speech coding; ASIC (Application Specific Integrated Circuit); videophone ITU-T H.324是运行在公用电话交换网(PSTN)上的可视电话标准建议。H.324可视电话系统选用ITU-T G.723.1建议作为语音压缩编码标准。G.723.1建议有两种可选速率,分别是5.3kbit/s和6.3kbit/s,它们都能提供很高的语音质量,MOS分均在3.5以上。G.723.1语音编码方案的算法复杂、运算量大、占用存储器多,延时较长,达37.5ms,在可视电话系统中需加入自适应回声抵消器,才能达到较高的听觉质量。
为了降低成本和功耗,提高实时性和可靠性,使可视电话系统达到实用化的程度,最佳设计方案就是把G.723.1语音编解码器、V.34调制解调器和回声抵消器集成到一块芯片中,从而减少数据交换量,提高速度。由于运算速度和存储容量的限制,目前的通用DSP还无法满足要求,必须设计专用芯片来完成。
本文在对G.723.1语音编解码算法做简单介绍后,针对专用芯片的特点,提出了算法优化措施,并对最大运算量作了估算。在此基础上给出了该语音编解码器的设计方案和各项性能指标。
1 G.723.1语音编解码算法简介
G.723.1语音编解码器是基于线性预测理论,采用合成分析、矢量量化等方法,以经过感觉加权后的残差信号能量最小为准则进行编码的。
G.723.1语音编码器将输入的16bit线性脉冲编码调制(PCM)码流分成长度为240样点的语音帧,以帧为单位进行编码,首先,进行高通滤波,去掉直流分量,接着,把1帧信号分成4个长度为60样点的子帧,分别进行10阶线性预测编码(LPC)分析,得到各子帧的LPC参数,并把最后一个子帧的LPC参数转化成线谱对(LSP)参数,进行矢量量化编码,送到解码器。利用未量化的LPC参数构造短时感觉加权滤波器,对信号滤波后得到感觉加权的语音信号。每两个子帧(120样点)搜索一个开环基音值,并以此为依据,为每一个子帧构造一个谐波噪声成形滤波器,对感觉加权的语音号进行滤波。每一子帧的LPC综合滤波器、感觉加权滤波器和谐波噪声成形滤波器级联起来,构成一个联合滤波器,利用它的冲击响应和开环基音周期,对每一子帧进行闭环基音搜索,对开环搜索的结果进行修正。同时通过一个五阶基音预测器对信号进行预测,得到相应子帧的残差信号。最后进行固定码本搜索,也就是对每一子帧的残差信号进行矢量量化。6.3kbit/s采用多脉冲最大似然量化(MP-MLQ)的方法;5.3kbit/s采用代数码本激励线性预测(ACELP)的方法。两种不同的方法,对应着两种不同的编码速率。
G.723.1解码器是以帧为单位进行解码的。读入一帧码流后,分别进行线谱对(LSP)参数、基音周期和激励脉冲信号解码,对LSP参数插值,然后转化成各子帧的线性预测系数,构成LPC综合滤波器。通过基音周期和激励脉冲得到每一子帧的残差信号e(n),经过基音后滤波,输入到LPC综合滤波器,可产生合成语音信号。在经过共振峰后滤波和增益控制后,形成高质量的重建语音信号。由于解码器没有复杂的码本搜索过程,运算量要比编码器小得多,仅为编码器的20%左右。
此外,G.723.1的附录A还增添了语音激活功能,自动检测语音存在与否,非语音帧的编码输出仅为4Byte或1Byte。据统计,在电话通话过程中,有约60%的时间没有语音,使用语音激活技术,可以进一步压缩语音码率。
|