本文转之“weixin_30527551”作者的【WebRTC】术语
G.711 G.722
G.711 G.722是G系列的语音编码中宽带的编码方式。
G.711
由国际电信联盟(ITU-T)制定的音频编码方式,又称为ITU-T G.711。
它是国际电信联盟ITU-T订定出来的一套语音压缩标准,它代表了对数PCM(logarithmic pulse-code modulation)抽样标准,主要用于电话。它主要用脉冲编码调制对音频采样,采样率为8k每秒。它利用一个 64Kbps 未压缩通道传输语音讯号。 起压缩率为1:2, 即把16位数据压缩成8位。是主流的波形声音编解码器。
G.722
1988年由国际电信联盟(ITU-T)订定音频编码方式,又称为ITU-T G.722,是第一个用于16KHz采样率的宽带语音编码算法。
G.722是支持比特率为64, 56和48kbps多频率语音编码算法。在G.722中,语音信号的取样率为每秒16000个样本。与3.6kHz的频率语音编码相比较,G.722可以处理频率达7kHz音频信号宽带。G.722 编码器是基于子带自适应差分脉冲编码(SB-ADPCM)原理的。信号被分为两个子带,并且采用 ADPCM 技术对两个子带的样本进行编码。
区别
G.722相对于G.711 采样频率由8KHZ扩展为16KHZ,语音质量得以提高。将信号划分为2个子带(高频,低频),每个子带中的信号都采用ADPCM(adaptive differential pulse code modulation)进行编码,ADPCM原理即只采样声音样本中增量变化的那一段。
在最后比特率的计算中,低频部分被分配到比较多的资源 8Kbps X 6bit, 高频部分被分配到比较少的资源(多为摩擦声,噪音等辅助音)8Kbps X 2bit。两者相加为64Kbps,故G.722相对于G.711比特率都为64kbps,但提高了语音质量。
在cisco CM7.0以上版本中已支持G.722编码算法,cisco 79以上系列交换机已将G.722编码作为默认首选编码。
G711 G723 G729线路占多少带宽问题
带宽=包长度×每秒包数
=包长度×(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%来计算。 如果看不懂上面的计算方法,只需记住以下结果:
G711 实际占用带宽 每线90.4kbit/s 100线并发占用 9Mbps
G729 实际占用带宽 每线34.4kbit/s 100线并发占用 3.4Mbps
G723 实际占用带宽 每线22.9kbit/s 100线并发占用 2.2Mbps