技术支持 - 语音编码器(二)
语音编码器(二)
静音压缩已运用多年,它运用了在总会话时间中静音时间占大约50%这一事实。其基本思路是在静音期间减少传送的比特数,从而节省了所需传输的总比特数。 在电话网中,多年来对模拟语音信号都是用时间分配语音插值(TASI,Time-Assigned Speech Interpolation)主法进行处理。这一技术也就是将其它语音信号或者数据信号放置在谈话的静音期间内,从而为多信道链路提供附加容量。现今,TASI已运用数字信号中并被赋予新名称--其中的一个例子就是时分多址(TDMA,Time Division Multiple Access)。简要地讲,DTMA是将通常的信号划分成很小的、数字化片段(slots即时隙)。这些时隙和其它时隙一起在一个信道中进行时分复用。 G.723.1采用了执行不连续传输的静音压缩,这就意味着在静音期间的比特流中加入了人为的噪声。除了预留带宽之外,这种技术使发信机的调制解调器保持边续工作,并且避免了载波信号的时通时断。 ② G.729 G.729编码器是为低时延应用设计的,它的帧长只有10ms,处理时延也是10ms,再加上5ms的前视,这就使得G.729产生的点到点的时延为25ms,比特率为8 kbps。这些时延性能在互联网中很重要,因为我们知道任何能减少时延的因素都是非常重要的。 G.729有两个版本:G.729和G.729A。G.729比G.723.1简单。这两个版本互相兼容但它们的性能有些不同,复杂性低的版本(G.729A)性能较差。两种编码器都提供了对帧丢失和分组丢失的隐藏处理机制,因此在因特网上传输语音时,这两种编码器都是很好的选择。Cox等[COX98]认为G.729在处理随机比特错误方面性能不好。建议在有随机比特错误的信道上不使用此编码器,除非利用信道编码(前向纠错码和卷积码,将在无线部份讨论)保护最敏感的比特。 3.2 后向自适应LPAS编码:16 kbps G.728低时延码激励线性预测 G.728是低比特线性预测合成分析编码器(G.729和G.723.1)和后向ADPCM编码器的混合体。G.728是LD-CELP编码器,它一次只处理5个样点。 CELP是上种语音编码技术,它的激励信号是从一个可能的激励信号集合中通过全搜索方法选出的。低速率语音编码吕器对样值预测滤波器采用前向自适应方案。而LD-CELP采用后向自适应滤波器并每隔2.5ms做一次更新。CELP中共有1024个可能的激励矢量。这些矢量可进一步分析为4种可能的增益,两种符号(+和-)与128种形状矢量。 对于低速率(56~128 kbps)的综合业务数字网(ISDN)可视电话,G.728是一种建议采用的语音编码器。由于其后向自适应特性,因此G.728是一种低时延编码器,但它比其它的编码器都复杂,这是因为在编码器中必须重复做50阶LPC分析。G.728还采用了自适应后置滤波器来提高其性能。
四、参数语音编码器:2.4 kbps混合激励线性预测编码 参数编码器采用简化激励信号的语音模型,因而能工作在最低比特率。前而讨论的所有语音编码器都可描述为波形跟踪,它们输出信号的波形和相位与输入信号很相似。 参数语音编码器却不同,它不呈现为波形跟踪。这类编码器是基于分析合成模型的,可用相当少的参数表示语音信号。这些参数通常是每隔20ms~40ms就会从语音信号中提取和量化。在接收端,这些参数用来生成合成语音信号。在理想条件下,合成语音听起来和原始语音相似。在背景噪音较大的情况下,由于输入的语音信号不能根据其内在的语音模型很好的建模,所以任何参数编码器都将失败。美国政府选择了2.4 kbps MELP用于保密电话。 对于我媒体应用,[COX98]的研究指出:当需要低比特率时,参数编码器是一种好的选择。例如,简单的用户游戏中经常用参数编码器。这会降低所需的存储空间。出于同样的原因,参数编码器对某些多媒体消息型业务也是一种好的选择。对所有类型的语音环境来说,参数编码器的绝对语音质量都较低,尤其是在噪声环境下。如果事先能对语音文件做仔细的编辑,那么这个缺点是能克服的。目前,多媒体应用中的大多数参数编码器都不是标准的。而是适用于这类专用编码器。 用于无线通信的G.723.1可变速率编码 G.723.1的附件C规定了一个信道编码规范,此规范可以和三倍速率的语音编码器一起使用。这个信道编码器的比特率的可变的,它作为整个H.324标准系列的一部份,是为移动多媒体应用设计的。 这个信道编码器支持的比特率范围从0.7 kbps到4.3 kbps。它也支持G.723.1的三个操作模式的编解码器,即高速率模式、低速率模式和不连续传送模式。 这个信道编码器采用截短卷积码,根据每一类型信息比特主观重要性的不同,信道编码器的比特率可对不同的比特类型分进行优化。这种分配算法对编码器和解码器都是已知的。每次的系统控制信号无论是改变G.723.1的速率还是改变信道编码器的比特率,这个算法都会使信道编码器适应于新的语音业务配置。 如果信道编码器的可用速率较低,那么首先要保护主观上最敏感的比特位。当信道编码器的比特率增加时,多余的信道比特首先用来保护更多的信息比特位,然后再对已保护过的比特类型增强保护。 在运用信道编码之前,语音参数要在信道适配层作部份的变化以提高对传输错误的健壮性。
五、编码器评价 评估编码器的性能时要考虑几个重要因素。这些因素如下提示: ·帧大小:帧的大小表示语音流量的时间长度,也称为帧时延。 帧是语音信号的分立部件,且每帧是根据语音样点更新的。本 介绍的编码器都是一次处理一帧。每帧信息各放在各语音分组 中,并传送给接收端。 ·处理时延:它表示在编码器中对一帧语音做编码算法处理所 需时间。它通常简单计入帧时延。处理时延好称为算法时延。 ·前视时延:编码器为了对当前帧的编码提供帮助而检查下一 帧的一定长度,此长度就称为前视时延。前视的想法是为了利 用相邻语音帧之间的密切相关性。 帧长度:这个值表示经编码处理后的字节数(不包括帧头)。 ·语音比特率:当编解码器的输入是标准脉冲编码调制的语音 码流(比特率为64 kbit/s)时,编解码器的输出速率。 ·DSP MIPS:此值是指支持特定编码器的DSP处理器的最低 速度。值提注意的是DSP MISP与其它处理器的MISP速率无 关。与用在工作站和个人计算机上通用处理器不同,这些DSP 是为特定任务而专门设计的。因此,为实现上述的编解码器处 理所需求MISP,通用处理器要比专用DSP处理器大。 ·RAM需求:它描述了支持特定的编码过程所需要RAM的大 小。 评价编码器性能的关键因素是编码器工作所需时间。这个时间是指编码器的缓存及处理时间,称为单向系统时延。其值等于:帧大小+处理时延+前视时延。显然,解码时延也非常重要。实际上,解码时延大约是编码时延的一半。
六、语音编码器的比较 为了标准编码器的讨论作个总结,表4-1[RUDK97]对几种编码器的比特率、MOS、复杂性(以G .711为基准)和时延(帧大小及前视时间)作为比较。 表4-1 语音编码标准[RUDK97] 标准 编码类型 比特率(kbps) MOS 复杂性 时延(ms) G.711 PCM 64 4.3 1 0.125 G.726 ADPCM 32 4.0 10 0.125 G.728 LD-CELP 16 4.0 50 0.625 GSM RAE_LPT 13 3.7 5 20 G.729 CSA-CELP 8 4.0 30 15 G.729A 15 G.723.1 ACELP 6.3 3.8 25 37.5 MP-MLQ 6.3 US Dod LPC-10 2.4 合成语音 10 22.5 FS1015 标准 编码类型 比特率 MOS 复杂性 时延 (kbps) (ms) G.711 PCM 64 4.3 1 0.125 G.726 ADPCM 32 4.0 10 0.125 G.728 LD-CELP 16 4.0 50 0.625 GSM RAE_LPT 13 3.7 5 20 G.729 CSA-CELP 8 4.0 30 15 G.729A 15 G.723.1 ACELP 6.3 3.8 25 37.5 MP-MLQ 6.3 US Dod LPC-10 2.4 合成语音 10 22.5 FS1015
七、小结 语音编码器是建立和处理VOIP分组的发动机的。它由DSP驱动。 原来的DS0、TMD G.711 64kbps编码器最终会被工业淘汰,并由低比特率编码器所替代。