G.711是ITU-T标准音频扩。它主要是在使用电话。该标准于1972年。它的正式名称发布的用法是脉冲编码调制(PCM语音频率)。它在许多技术的要求的标准,例如在H.320和H.323规格。它也可以用于传真在IP网络上的通信(如在定义T.38规范)。G.711,也被称为脉冲编码调制(PCM),是一种很常用的波 形编解码器。G.711是窄带音频编解码器,可提供长途电话质量的音频,在64 kbit / s的。G.711通过在300-3400赫兹和他们的样品以每秒8000采样的速率范围内的音频信号,以在该速率50份每百万份(ppm)的耐受性。非均匀(对数)量化与8位用于表示每个样品,结果在64 kbit / s的比特率。有两种不同的版本; μ-law,它们主要用于北美,和A-law,它们在使用中北美以外的其他大多数国家。 两增强G.711已经出版:G.711.0利用无损数据压缩,以减少带宽使用和G.711.1通过增加带宽增加音频质量。
G.711定义了两个主要的扩算法中,μ-law算法和A-law算法。两者都是对数,但A-法律被专门设计为简单的计算机来处理。该标准还定义的重复码值定义为0的功率电平的一个序列分贝。
μ律和A律编码算法,14位和13位有符号的线性PCM采样(分别)为对数8位采样。因此,在G.711 编码器将建立一个64千比特/秒的比特流用于取样8kHz的信号。 G.711μ律往往给更高的分辨率更高范围内的信号,而G.711 A律提供了更多的量化水平较低的信号电平。
A律编码从而需要一个13位有符号的线性音频样本作为输入,并把它转换成一个8位的值如下:
线性输入代码 | 压缩码 |
s0000000wxyz`a | s000wxyz |
s0000001wxyz`a | s001wxyz |
s000001wxyz`ab | s010wxyz |
s00001wxyz`abc | s011wxyz |
s0001wxyz`abcd | s100wxyz |
s001wxyz`abcde | s101wxyz |
s01wxyz`abcdef | s110wxyz |
s1wxyz`abcdefg | s111wxyz |
其中,s是符号位,并且在后的位反引号标记`被丢弃。因此,例如,1000000010101映射到10001010(根据表中的第一行),并0000000110101映射到00011010(根据第二)。
这可以看作是一个浮点与4位的数尾数和3位指数。 此外,该标准规定,所有得到的偶数比特被反转的八位位组被发送之前。这是为了提供充足的0/1跃迁便于时钟恢复过程中的PCM接收机。因此,一个无声的A律PCM编码通道已在八位编码,而不是将0x55的0×00的8位样本(或0xD5如果符号位恰好是设定)。 注意,国际电联定义位1为具有值128,位8到具有值1。 在更广泛的接受习惯有7位= 128位0 = 1。 需要注意的是,当数据被发送E0(G.703),MSB(signbit)首先发送和LSB是最后发送。 ITU-T的STL定义的算法如下:
void alaw_expand(lseg, logbuf, linbuf) long lseg; short *linbuf; short *logbuf; { short ix, mant, iexp; long n; for (n = 0; n < lseg; n++) { ix = logbuf[n] ^ (0x0055); /* re-toggle toggled bits */ ix &= (0x007F); /* remove sign bit */ iexp = ix >> 4; /* extract exponent */ mant = ix & (0x000F); /* now get mantissa */ if (iexp > 0) mant = mant + 16; /* add leading '1', if exponent > 0 */ mant = (mant << 4) + (0x0008); /* now mantissa left justified and */ /* 1/2 quantization step added */ if (iexp > 1) /* now left shift according exponent */ mant = mant << (iexp - 1); linbuf[n] = logbuf[n] > 127 /* invert, if negative sample */ ? mant : -mant; } }
注意:实际的实现是从上面所列的不同。
请特别注意,有一个“1/2量化步长增加”,“尾数左对齐”和怪异的符号位的使用情况(“反转,如果阴性样品”)。 另请参见“ITU-T软件工具库2009用户手册”,可以在这里找到。
μ律(有时称为ULAW,G.711Mu或G.711μ)编码需要一个14位有符号的线性音频样本作为输入,由32(二进制100000)增加的幅度,并将其转换为一个8位的值如下:
线性输入代码 | 压缩码 |
s00000001wxyz`a | s000wxyz |
s0000001wxyz`ab | s001wxyz |
s000001wxyz`abc | s010wxyz |
s00001wxyz`abcd | s011wxyz |
s0001wxyz`abcde | s100wxyz |
s001wxyz`abcdef | s101wxyz |
s01wxyz`abcdefg | s110wxyz |
s1wxyz`abcdefgh | s111wxyz |
其中s是符号位,并倒引号标记后的位`被丢弃。
此外,该标准规定,所有结果位反转的八位位组被发送之前。因此,一个无声的μ律PCM编码通道已在八位编码0xFF的,而不是为0x00的8位采样。 加入32是必要的,这样所有的值落入一个压缩组。它被加回到在接收到倒8位值。这意味着μ律不编码的所有14位值; 输入必须在±8159。
G.711.0,也称为G.711 LLC,利用无损数据压缩多达50%,以减少带宽的使用。的的G.711脉冲编码调制无损压缩标准于9月批准由ITU-T 2009.
G.711.1是一个扩展到G.711,2008年3月出版的ITU-T建议G.711.1它的正式名称是对G.711脉冲编码调制宽带嵌入式扩展。
G.711.1,允许添加的窄带和/或宽带(16000样本/秒)的增强,每处(包括)基的G.711比特流的比特率的25%,从而导致64个,80个或96千位的数据速率/秒。 G.711.1与G.711兼容在64 kbit / s的,因此一个有效的部署在现有的G.711基于IP语音(VoIP的)基础设施被预见的。在G.711.1编码器可以在16kHz的编码信号用的50-7000赫兹,在80和96 kbit / s的带宽,并且为8千赫采样的输出可以产生具有一个带宽范围从50至4000赫兹的信号,操作在64和80 kbit / s的。 在G.711.1编码器创建构建在对应于三个可用比特率三层的嵌入比特流:64,80和96 kbit / s的。比特流不包含哪些图层包含的任何信息,实现将需要带外信令上层可用。三个G.711.1层是:登录较低波段的压扩脉冲编码调制(PCM),其包括噪声反馈,嵌入的PCM延用自适应位分配用于增强在较低频带中的基本层的质量,以及加权的矢量量化编码高频段基于修正离散余弦变换(MDCT)。 计划在2010年的两个扩展G.711.1:superwideband扩展(带宽为14000赫兹)和无损压缩码流
(以上是wiki下对G.711的介绍的中文版,google翻译的)
wiki上关于G.711的介绍以及A-law和mu-law原理解释
http://en.wikipedia.org/wiki/G.711
bing翻译的,对比google一下
http://www.microsofttranslator.com/bv.aspx?from=&to=zh-CHS&a=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FG.711