语音编码G.711, G.729

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%来计算。

1、分包发送,G.711每20ms打包一次,G.729每20ms,G.723每30ms

2、每个包由包头和有效载荷组成,有效载荷即音频数据

3、包头由以下组成,共66 Byte,528 bit

Ethernet头 IP头 UDP头 RTP头
26 Byte 20 Byte 8 Byte 12 Byte
208 bit 160 bit 64 bit 96 bit
4、G.711、G.729、G.723的对应的音频数据是64kbps、8kbps、5.3kbps(另一说6.3kbps)。

每个周期数据流为1280bps、160bps、159bps

每秒数据流=(包头+每个周期数据流量)*周期数量

G.711 每秒数据流=(528+1280)*(1000/20)=90400 bps = 90.4 kbps

G.729 每秒数据流=(528+160)*(1000/20)=34400 bps = 34.4 kbps

G.723 每秒数据流=(528+159)*(1000/30)=22900 bps = 22.9 bps

Mos:语音质量评级,范围从1(差)-5(好)

这里711的mos 4.1 729的mos 3.92

以上信息综合起来实际用起来的带宽为

G.711 100线 9.04兆带宽

G.729 100线 3.44兆带宽

G.723 100线 2.29兆带宽

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注