国际电信联盟(ITU-T)于1995年11月正式通过了G.729。 ITU-T建议G.729也被称作“共轭结构代数码本激励线性预测编码方案”(CS-ACELP),它是当前较新的一种语音压缩标准。96年ITU-T又制定了G.729的简化方案G.729A,主要降低了计算的复杂度以便于实时实现,因此目前使用的都是G.729A。

G.729是由美国、法国、日本和加拿大的几家著名国际电信实体联合开发的。它需要符合一些严格的要求,比如在良好的信道条件下要达到长话质量,在有随机比特误码、发生帧丢失和多次转接等情况下要有很好的稳健性等。这种语音压缩算法可以应用在很广泛的领域中,包括IP电话、无线通信、数字卫星系统和数字专用线路。

G.729算法采用“共轭结构代数码本激励线性预测编码方案”(CS-ACELP)算法。这种算法综合了波形编码和参数编码的优点,以自适应预测编码技术为基础,采用了矢量量化、合成分析和感觉加权等技术。

图1 G.729A编码器原理图

编码器(图1)对10ms长的语音帧进行处理,每帧分为两个子帧。输入语音首先要在预处理模块中经过高通滤波和幅度压缩变换,以去除低频干扰及防止在后面运算中出现溢出。每帧进行一次线性预测(LP)分析,并将LPC参数转换到线谱,对(LSP)形式进行预测式二阶段矢量量化(VQ)。然后使用分析合成法,按照合成信号和原始信号间感觉加权失真最小的准则来提取激励参数。激励参数(包括固定码本和自适应码本参数)要每子帧(5ms)计算一次。每帧要利用感觉加权语音进行一次开环整数基值基音延时估计,然后进行闭环的分数值基音分析,确定自适应码本的延时和增益,下面再进行固定码本的搜索。固定码本是使用交织单脉冲排列设计的代数码本。在搜索时使用迭代式深度优先树型搜索算法。这种算法的运算量比较小,并且具有固定的运算复杂度,比较有利于使用硬件实现。自适应码本和固定码本的增益使用预测式二阶段共轭结构码本进行矢量量化。

图2 G.729A解码器原理图

图2给出了解码算法的框图。首先要从接收到的码流中提取LSP系数和两个分数基音延时、两个固定码本矢量以及两套自适应码本和固定码本增益等参数。然后,对LSP参数进行插值,并转换到线性预测滤波器系数的形式。接下来,将自适应码本和固定码本矢量分别乘以各自的增益再相加,得到激励信号。激励信号通过LPC综合滤波器后,就得到了合成语音信

号。最后还要对合成语音信号进行后处理,以提高合成语音的质量。

转载于:https://my.oschina.net/alphajay/blog/6207

[通信] ITU-T G.729 8kb/s CS—ACELP简介相关推荐

  1. 常用的ITU Speech Codec大全(G.711,G.722.1,G.722.2,G.723.1,G.726,G.728,G.729,G.729.1)

    转自 http://blog.csdn.net/wanggp_2007/archive/2009/12/24/5070517.aspx 总结了常用的ITU Speech Codec,谨供大家学习参考: ...

  2. speech codec (G.711, G.723, G.726, G.729, iLBC)

    各种各样的编解码在各种领域得到广泛的应用,下面就把各种codec的压缩率进行一下比较,不正确之处望各位同行指正. Speech codec:     现主要有的speech codec 有: G.71 ...

  3. 语音编码标准(G.711 G.723 G.726 G.729 iLBC) .

    各种各样的编解码在各种领域得到广泛的应用,下面就把各种codec的压缩率进行一下比较. 现主要有的speech codec 有: G.711, G.723, G.726 , G.729, ILBC, ...

  4. 语音编码标准(G.711 G.723 G.726 G.729 iLBC)

    各种各样的编解码在各种领域得到广泛的应用,下面就把各种codec的压缩率进行一下比较. 现主要有的speech codec 有: G.711, G.723, G.726 , G.729, ILBC, ...

  5. 音频编解码标准G.711与G.729

    G.711和G.729协议是两对用于语音压缩的编码方案,两者具有一些相似之处,但不同于完全自由使用的G.711,使用G.729是需要付费的,而且,对于使用G.729的情况,CPU占有时间大约为G.71 ...

  6. g729编码 c语言,非常流行的C语言实现的G.729压缩算法

    资料介绍 详细说明:非常流行的C语言实现的G.729压缩算法,很值得研究语音压缩的开发者一看.-Implement the G.729 Speech Vocoder by C programming ...

  7. baresip 729(G.729)编码实现

    1.参考PJSIP  G.729的支持,依赖于bcg729库.也可以使用bcg729 android编译bcg729库: git clone git://git.linphone.org/bcg729 ...

  8. 音频编解码G.711 G.729 G.723带宽问题

    1.分包发送,G.711每20ms打包一次,G.729每20ms,G.723每30ms 2.每个包由包头和有效载荷组成,有效载荷即音频数据 3.包头由以下组成,共66 Byte,528 bit Eth ...

  9. M.U.G.E.N格斗游戏引擎简介

    by AKara 2011-10-23 @  http://blog.csdn.net/akara  @ akarachen(at)gmail.com @ weibo.com/akaras M.U.G ...

  10. web.g.cs_我没有CS学位而从零开始成为Web开发人员的旅程(以及我从中学到的东西......

    web.g.cs by Sergei Garcia 通过谢尔盖·加西亚(Sergei Garcia) 我没有CS学位而从零开始成为Web开发人员的旅程(以及从中学到的东西) (My journey t ...

最新文章

  1. EntityFramework 4.x 使用中遇到的问题 (2)
  2. 针对MySQL死锁问题的思路分析
  3. 蓝桥杯-出现次数最多的整数(java)
  4. 用C#动态创建Access数据库
  5. Atitit 通过调用gui接口杀掉360杀毒 360卫士  qq保镖等难以结束的进程(javac# php )...
  6. MACIOS Socket编程
  7. android 仿支付宝菜单_这个 Android 几乎放弃的设计,iOS 要用上了?
  8. 2017.10.22 方格染色 失败总结
  9. selenium webdriver (6) -- iFrame
  10. SGU[222] Little Rooks
  11. 92. php 命名空间(2)
  12. Ubuntu环境下远程调试Android手机设备
  13. 8086CPU中14个寄存器的详解
  14. dev c++怎么设置断点_linux操作系统引导与启动——内核启动和初始化(二)断点...
  15. 2021_WSDM_Pre-Training Graph Neural Networks for Cold-Start Users and Items Representation
  16. Matlab似然比检验函数,似然比检验 LRT
  17. p2p 网络基础 网络高并发
  18. 15天精读掌握《高德纳_具体数学》 第7天 2019.6.3
  19. 不止腾讯、阿里, 大厂区块链人才稀缺, 这样的你太珍惜...
  20. 01 vue 基础(指令)

热门文章

  1. Rabbitmq-server-3.7.18安装完整过程
  2. [Err] 1136 - Column count doesn't match value count at row 35
  3. 每天进步一点点 2016-10-28
  4. OFFICE技术讲座:设置调整字间距(kern)后,标点就不压缩
  5. QQ浏览器11版,中文输入法定位错误
  6. CUPS搜索添加打印机的范例代码
  7. 导入新工程,提示“Migrate Project to Gradle?”
  8. 软件基本功:工作目标经常变化,要及时跟进
  9. CentOS安装NVIDIA Video Codec SDK
  10. 解决办法:eclipse查看安卓8.0及以上设备的LOG