打印

第四章 算法之一 G711编码解码

[复制链接]
2704|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

前言
这一章开始介绍一些算法相关的内容.前面有几章对播放强调较多,这期本来想写录音方面的内容.但是普通的麦克风电路主要是模拟电路,独立做一章来写觉得内容有点少,所以会在其他章节穿插介绍.至于MEMS麦克风,因为涉及到PDM解码,可以在后面做独立一章来写.
这里说的算法,主要是指的编码解码的算法,就是所谓的CODEC(Encode/Decode).语音识别,语音合成,环境音效等技术属于另外不同的算法,这些算法主要针对原始(raw)的音频数据进行.而在实际工程实践中,编解码算法是研究的最多的内容.原因以前也说过,原始音频内容太多,对存储传输的带宽要求过大,而音频数据本身又有相当大的冗余,故此这一方面的研究可以说在个人电脑诞生之前就开始了.早期的电信行业与计算机行业属于不同的两个行业,电信行业资格要老些.电报,电话,广播这些技术在一次世界大战之前就应用很广泛了.当然真正跟现代电信业有直接关系的技术则是二战之后才迅速发展的.
简介: ITU音频标准G711
ITU(国际电信联盟)是由国际电报联盟发展而来的一个国际组织,1865年在法国巴黎创建. 1947年成为联合国的一个下属机构,总部设在日内瓦.主要从事电信行业的各种技术的标准化,推进等活动.大概跟ISO,IEC,EIA,IEEE这些机构齐名.其中负责标准制定的机构原称做CCITT,1993改名为ITU-T.近几年因为呼吁加强互联网管制而跟各大垄断公司,强权国家发生了一些争吵.不过这跟本文没有啥关系,只是说到ITU,带一笔交代一下.
关于音频算法,ITU出了很多标准,主要着重于语音领域,因为ITU老本行就是研究电话语音传输的.因为ITU发布的语音算法标准很多,一一介绍就有点过于繁琐.所以挑一两个出来介绍,其余的标准感兴趣的读者可以自行研究.这里先给出一个概览,ITU对于标准化的音频算法,是按照带宽来分类的:

评分
参与人数 1威望 +6 收起 理由
dong_abc + 6 赞一个!

相关帖子

沙发
zhanzr21|  楼主 | 2017-5-25 01:07 | 只看该作者

ITU音频算法分类
NB就是NarrowBand,即窄带
WB就是WideBand,即宽带
SWB就是SuperWideBand,即超宽带
FB就是FullBand,即全带宽
这些所谓的宽与窄都是约定俗成的,从采样率,编解码的算法等角度综合衡量的.


ITU窄带音频算法标准

ITU宽带音频算法标准
ITU超宽带音频算法


使用特权

评论回复
板凳
zhanzr21|  楼主 | 2017-5-25 01:07 | 只看该作者
对于全带宽,目前只有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也常常被称作"一路数字电话"作为非正式的带宽计算单位.
之所以取这些看起来比较低端的参数,是因为早期硬件能力有限,且此技术当初主要用于电话语音传输所致.G7111972年制定的标准,专利早就过期了,所以现在属于Public Domain的内容,任何人都能任意使用.
G711主要的两种版本称之为uLaw(u,14bit版本)ALaw(a,13bit版本).uLaw主要用于日本和北美地区,除了日本和北美地区世界上基本上所有地方都用ALaw.从技术的角度来讲,ALaw因为提供了更大的动态范围,同时对硬件要求高一点.uLaw则对音量较低的信号提供更好的量化分辨率.一般来讲,如果两个国家的数字电话对接,如果有一方使用A-Law,另一方使用u-Law,那么就会采用A-Law.
有人会问,直接将14bit13bitPCM采样进行移位,丢掉低位得到8bit结果,岂不是更简单.但是音频数据的特点不适合这样的线性编码,直接移位的结果会丢弃音频的主要变化的部分(低位部分)从而导致直接移位的结果是音频质量大大降低.不管是ALaw还是uLaw,其核心思想是,音频的大多数变化发生在整个动态范围的低部分.而且人耳对音频幅度的感觉成对数关系.从这个角度来讲,G711是前PC时代的MP3算法也有点道理.
下面分别介绍两种版本算法的详细情况.

使用特权

评论回复
地板
zhanzr21|  楼主 | 2017-5-25 01:08 | 只看该作者

使用特权

评论回复
5
ctsdswk| | 2017-5-25 08:45 | 只看该作者
楼主可否介绍点新出的算法,比如opus、acc之类。g7系列太老了。

使用特权

评论回复
评论
WAMCNCN 2017-5-25 17:16 回复TA
循序渐进的好,只有足够的了解,才能逐渐的加深 
zhanzr21 2017-5-25 14:56 回复TA
饭一口口吃, 新的后面也会写的, 你说的应该是OPus, AAC, 是吧, 这些后面有写作的计划 只是老标准现在也没退休, 我还是要写一写的. 
6
WAMCNCN| | 2017-5-25 17:28 | 只看该作者
看到这些公式就头疼,上学那会也是

使用特权

评论回复
7
荣丰宇| | 2017-5-25 20:25 | 只看该作者
ulaw  alaw 让我回到了通信原理课堂上了~

使用特权

评论回复
8
lansebuluo| | 2017-5-27 20:48 | 只看该作者
从简单的学起

使用特权

评论回复
9
adminis1| | 2017-5-31 18:51 | 只看该作者
KANKAN

使用特权

评论回复
10
zhanzr21|  楼主 | 2017-5-31 23:30 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:每天都進步

91

主题

1013

帖子

34

粉丝