对于全带宽,目前只有G.729. 某些标准算法有多个版本,分属不同带宽需求类型. 这一大波算法中,G711属于历史最悠久的.本文主要介绍G711,计划后面**还写一个G726.其余算法暂时不打算专门分出章节来写. G711的内容是将14bit或者13bit采样的PCM音频数据编码成8bit的数据流,播放的时候将此8bit的数据还原成14bit或者13bit进行播放.不同于MPEG这种对整体或者一段音频数据进行考虑再进行编解码的做法,G711是波形编解码算法,就是一个sample对应一个编码.所以压缩比是固定的,为 8/14 = 57% (uLaw)或者 8/13 = 62% (aLaw). 因为主要用于语音音频,采样率一般使用8KHz,这样带宽为8bit乘以8KHz = 64Kbps.这个64Kbps也常常被称作"一路数字电话"作为非正式的带宽计算单位. 之所以取这些看起来比较低端的参数,是因为早期硬件能力有限,且此技术当初主要用于电话语音传输所致.G711是1972年制定的标准,专利早就过期了,所以现在属于Public Domain的内容,任何人都能任意使用. G711主要的两种版本称之为uLaw(u律,14bit版本)与ALaw(a律,13bit版本).uLaw主要用于日本和北美地区,除了日本和北美地区世界上基本上所有地方都用ALaw.从技术的角度来讲,ALaw因为提供了更大的动态范围,同时对硬件要求高一点.uLaw则对音量较低的信号提供更好的量化分辨率.一般来讲,如果两个国家的数字电话对接,如果有一方使用A-Law,另一方使用u-Law,那么就会采用A-Law. 有人会问,直接将14bit和13bit的PCM采样进行移位,丢掉低位得到8bit结果,岂不是更简单.但是音频数据的特点不适合这样的线性编码,直接移位的结果会丢弃音频的主要变化的部分(低位部分)从而导致直接移位的结果是音频质量大大降低.不管是ALaw还是uLaw,其核心思想是,音频的大多数变化发生在整个动态范围的低部分.而且人耳对音频幅度的感觉成对数关系.从这个角度来讲,说G711是前PC时代的MP3算法也有点道理. 下面分别介绍两种版本算法的详细情况.
|