2.1.1 VoIP语音编码器的比较
语音压缩编码研究的基本问题就是在一定的编码速率下,如何用较低的复杂度和较小的时延获得尽量好的重建语音,因此重建语音质量、编码速率、算法复杂度、算法延迟是衡量编解码器性能的四个主要因素。表2-1是上述VoIP常用语音编码器的指标的对比[1],[4],[5],[6] 。
纵观集中编解码器,iLBC有很多技术优势,主要表现在:
(1) 占用带宽少
在20ms帧时,iLBC所占总的带宽为27.73Kbit/s,而G.729A为29.6Kbit/s,G.723.1为19.7Kbit/s,GSM为34.8Kbit/s。
(2) 语音质量高
在20ms帧时,iLBC的MOS(平均主观得分)为3.981,而G.729为3.92,G.723.1为3.9,GSM为3.782。
(3) 支持多帧
支持20ms和30ms帧,对于不同的应用或VoIP设备更为灵活。
(4) 低时延和丢包处理特性
iLBC的主要优势在于对丢包的处理能力。在正常情况下,iLBC会记录下当前数据的相关参数和激励信号,以便在之后的数据丢失情况下进行处理;在当前数据接收正常而之前数据包丢失的情况下,iLBC会对当前解码出的语音和之前模拟生成的语音进行平滑处理,以消除不连贯的感觉;在当前数据包丢失的情况下,iLBC会对之前记录下来的激励信号进行相关处理并与随机信号进行混合,以得到模拟的激励信号,从而得到替代丢失语音的模拟语音。总的来说,和标准的低位速率编解码相比,iLBC使用更多自然,清晰的元素,能够精确模仿出原始语音信号。
在实际选择语音压缩标准时,要综合考虑带宽、时延、算法复杂度等几大因素。本课题中选择的编解码器为G.729A,它采用了共轭结构代数码激励线性预测技术,是编码速率和合成语音质量综合效率最优的压缩算法之一,被广泛的用在VoIP中,其在OPNET中有现成的实现模块。
表2-1 VoIP语音编码器的指标的对比
编码算法 | 编码类型 | 比特率 (kb/s) | MOS | 复杂性(MIPSonTIC54) | 时延/ms |
G.711 | PCM | 64 | 4.1 | 1.05 | 0.75 |
G.723.1 | ACELP | 6.3 | 3.9 | 43.7 | 30 |
MP-MLQ | 6.3 | 3.8 | 30 | ||
G.726 | ADPCM | 40/32/24/16 | 3.85 | 10.8 | 1 |
G.728 | LD-CELP | 16 | 3.61 | 97 | 3~5 |
G.729 | CSA-CELP | 8 | 3.92 | 10.88(G.729AB) | 10 |
iLBC(20ms) | 参数编码 | 27.73 | 3.981 | 35倍G.711 | 20 |
EG.711(10,20,30,40ms) | 改进型 PCM | <=G.711 | =G.711 | 4.8 | =帧长 |
iSAC(30~60ms) |
| 10~32 | =g.722.2 | 76倍G.711 | =帧长+3ms |
iPCM-wb(10,20,30,40ms) |
| 平均80 | >g.722.1 | 8.6MIPS | =帧长 |