[整理]语音编码G.711, G.729

来源:互联网 发布:js怎么设置display 编辑:程序博客网 时间:2024/05/22 01:23

1. 语音编码分类
   (1)波形编码: 以逼近声音波形为目标,其代表算法有G.711,其声音清楚度好,语音的自然度高,但是压缩效率比较差,常在32kbps以上。
   (2)参数编码: 将人的声道抽象成一个发声模型,对这个模型的参数进行编码,其特点是压缩效率高,但是自然度比较差,能够以极低速率进行编码。
   (3)波形参数混合编码: 结合了波形编码和参数编码的优点,代表算法有G.723, G.729等,能够在4-16kbps速率进行高质量语音合成。
2. G.711
    也称为PCM(脉冲编码调制),是国际电信联盟订定出来的一套语音压缩标准,主要用于电话。它主要用脉冲编码调制对音频采样,采样率为8k每秒。它利用一个 64Kbps 未压缩通道传输语音讯号。 起压缩率为1:2, 即把16位数据压缩成8位。G.711是主流的波形声音编解码器。
    G.711 标准下主要有两种压缩算法。一种是µ-law algorithm (又称often u-law, ulaw, mu-law),主要运用于北美和日本;另一种是A-law algorithm,主要运用于欧洲和世界其他地区。其中,后者是特别设计用来方便计算机处理的。这两种算法都使用一个采样率为8kHz的输入来创建64Kbps的数字输出。G.711采用一种称为分组丢失隐藏(PLC)的技术来减少丢包带来的实际影响。有效的信号带宽在静默期间通过语音活动检测(VAD)这一过程被减小。

8KHz采样率 X  16bit量化 = 128Kbps , 2:1压缩后为64Kbps


3. G.729
   G.729是ITU-T定义的音频编码算法,frame 只有10ms,G.729点到点的时延为25ms,G.729基于CELP模式,用CS-ACELP(Conjugate-Structure Algebraic Code Excited Linear Prediction)方法以8Kbps的波特率对语音进行编码。
    G.729 几乎都使用于 Voice over IP(VoIP),G.711编解码器可将VoIP压缩至 65Kb/s,使之可以在局域网上传输。
 
    G.729采用的是共轭结构的代数码激励线性预测算法(Conjugate Structure Algebraic Code Excited Linear Prediction,CS-ACELP),这是一种基于CELP编码模型的算法。由于G.729编码器能够实现很高的语音质量(MOS分4.1)和很低的算法延时,被广泛地应用于数据通信的各个领域,如IP Phone和H.323系统等。G.729是对8KHz采样16bit量化的线性PCM语音信号进行编码,压缩后数据速率为8Kbps,具备16:1的高压缩率。

8KHz采样率 X  16bit量化 = 128Kbps , 16:1压缩后为8Kbps

4. G.723
   G.723是ITU-T在1996年制订成型的一种多媒体语音编解码标准。G.723编码器采用LPC合成-分析法和感觉加权误差最小化原理编码。G.723标准可在6.3kbps和5.3kbps两种码率下工作。对激励信号进行量化时,高速率(6.3kbps)编码器的激励信号采用多脉冲最大似然量化(MP­-MLQ),低速率(5.3kbps)编码器的激励信号采用代数码本激励线性预测(ACELP)。其中,高码率算法(6.3kbps)具有较高的重建语音质量,而低码率算法(5.3kbps)的计算复杂度则较低[1]。与一般的低码率语音编码算法一样,这里的G.723标准采用的线性预测的合成分析法也就是我们通常所说的Analysis-by-Synthesis。

 

5. G711 ,G729,G723 线路占多少带宽问题

带宽=包长度×每秒包数
       =包长度×(1/打包周期)
       =(Ethernet头+IP头+UDP头+RTP头+有效载荷)×(1/打包周期)
       =(208bit +160bit+64bit+96bit +有效载荷)×(1/打包周期)
       =(528bit+(打包周期(秒)×每秒的比特数))×(1/打包周期)
       =( 528 / 打包周期 ) + 每秒比特数
按照上面的计算公式:
G711:20ms打包,带宽为 ( 528/20 + 64) Kbit/s=90.4 Kbit/s
G729:20ms打包,带宽为 ( 528/20 + 8 ) Kbit/s= 34.4 Kbit/s
G723:5.3k,30ms打包,带宽为 ( 528/30 + 5.3 ) Kbit/s=22.9 Kbit/s
业界一般按照下表提供的IP网带宽系数和以太网带宽系数来设计网络带宽:
编解码技术        压缩速率(Kbps)    打包周期(ms)    IP网带宽系数   以太网带宽系数
G.711 a/u                      64                           20                         1.25                   1.41
G.729 a/b                       8                             20                         0.38                   0.54
G.723.1(5.3kbit/s)        5.3                          30                          0.27                   0.37
G.723.1(6.3Kbit/s)        6.3                         30                           0.25                   0.36
H.263(384Kbit/s)        ≈384                       10                            6                        6.2
注:采用某种编码方式时,用64K乘以相应的带宽系数就可以得出其实际占用的带宽。当然如果是中继接口,还需要考虑信令占据一定的带宽,一般按照2.5%来计算。
原创粉丝点击