丢包补偿技术(Packet Loss Concealment——PLC)是iLBC Codec中非常重要的一项技术,更是VOIP Codec应用中不可缺少的组成部分。iLBC的PLC只是在解码端进行封包补偿处理。在解码端根据收到的bitstream逐帧进行解码的过程中,iLBC decoder首先拿到每帧的 bitstream 要判断当前帧是否完整,如果没有问题则按照正常的iLBC 解码流程重建语音信号,见《深入剖析iLBC 解码器原理》;如果发生了语音封包丢失,那么就进入PLC单元进行处理。PLC主要根据前一帧的解码信息,利用基音同步重复的方法近似替代当前的丢失帧,以达到丢包补偿。

一、PLC unit 的几种情形

1、过去帧、当前帧都接收正确

进入正常的iLBC decoder解码流程,需要保存当前帧的状态信息,这些状态信息包括LPC信息、解码后的残差信号等。如果下一帧的比特率丢失的话,就要用到这些保存的信息。

2、仅当帧发生丢包

如果当前帧没有丢失,那么进入PLC unit重建LPC系数和残差信号。后面会详细介绍LPC和残差信号的补偿方法。

3、连续多帧发生丢包

如果发生连续多帧丢包,那么就需要多次进入PLC unit,并且需要利用经过补偿的帧状态信息。值得注意的是,越靠后面丢失的帧越难以精确的重建,所以对连续丢包的增益采用逐帧递减,以避免引入更大的信号失真。

4、过去帧经过PLC处理,需要与当前帧平滑处理

为了使经过PLC补偿的帧与接下来没有丢包的帧保持语音连续而需要进行平滑,主要根据前后帧的相关性处理。

二、PLC重建LPC系数

iLBC 的PLC对于丢失LPC的补偿是采用了过去帧的最后一个子帧的LPC系数来简单的重建。这个方法是显然的,因为无论从空间上还是时间上最后一个子帧都与当前丢失的LPC具有最大相关性。但是这种简单的复制当处理连续多帧时也显然会引入更大的失真。

三、PLC重建残差信号

激励信号(残差信号)通常可以分为两部分组成:准周期成分和类噪声成分。因此PLC实际上首先需要重建这两个部分,准周期成分可以根据测量前一帧的基音周期来近似得到,类噪声成分则可以通过产生随机噪声得到,二者的能量比例也可以借鉴前一帧的比例关系。所以首先要对前一帧进行基音检测,然后以基音同步的方式重建丢失帧的话音部分,然后利用相关性得到类噪声的增益,最后进行混合以重建整个残差信号。

在连续丢帧的情况下,为了减少各个补偿帧之间的相关性,会将能量进行逐帧递减,但依然会产生一定的听觉噪声。如果采用内插的方法,虽然可能音质会好些,但是却会引入更大的延时。

四、iLBC PLC的缺点

在连续丢帧的情况下,PLC所补偿的各个语音帧具有相同的频谱特性(相同的LPC造成)和基音频率,非常容易引入一种可察觉的噪声,尤其是当基音频率较高的时候,这种因为过分的周期性所引起的。通过适当的内插可以缓解这一问题,但往往引入更大的延时。

参考资料:

1、IETF:RFC3951.txt

2、潘搏胜《iLBC解码程序进阶处理之研究》

转载于:https://www.cnblogs.com/tkppain/archive/2013/06/07/3123387.html

【转】深入剖析iLBC的丢包补偿技术(PLC)相关推荐

  1. 深入剖析iLBC的丢包补偿技术(PLC)

    转自:http://blog.csdn.net/wanggp_2007/article/details/5136609 丢包补偿技术(Packet Loss Concealment--PLC)是iLB ...

  2. TCP丢包检测技术详解

    TCP丢包检测技术详解 http://www.cctime.com/html/2007-12-6/20071261023151210.htm           2007年12月6日 10:23  中 ...

  3. G711 编码解码及丢包隐藏处理(PLC)

    1.G711 简介 G.711是一种由国际电信联盟(ITU-T)制定的音频编码方式,又称为ITU-T G.711. 常用的有G711u 和 G711a, 即PCMU和PCMA 2.G711 的压缩率为 ...

  4. 直播系统从带宽扩展到丢包隐藏,实时音频中的 AI

    直播系统从带宽扩展到丢包隐藏,实时音频中的 AI 随着这几年直播系统的迅猛发展,我们在图像和视频处理领域里见证了非常多的应用,比如Agora引擎里的视频超分辨率技术.对于音频中AI的应用,我们可能经常 ...

  5. 以太网速率怎么手动设置_以太网能不能不丢包?

    1 以太网能不丢包吗 大家天天上网语音.视频.聊天.追剧--,有没有感觉到网络丢包呢?可能有的会说有,有的会说没有.说有的可能会说感觉到语音或追剧时有卡顿,说没有的可能会说我聊天内容好友都毫发无损的收 ...

  6. 数据丢包怎么修复_一种网络传输中实时音频数据丢包恢复的方法与流程

    本发明涉及通信技术领域,具体涉及一种网络传输中实时音频数据丢包恢复的方法. 背景技术: 随着通信技术的发展,音频传输系统对实时性和准确性的要求越来越高.在网络的音频传输过程中,影响音频音质的主要因素是 ...

  7. android蓝牙丢包重传,华为TE Desktop Mobile软终端引领市场

    [IT168厂商动态] 华为自从2013年推出TE30以后,随着视讯行业的迅猛发展与客户对视讯要求的不断提高,华为继续推出了TE40.TE50.TE60三款全新的高清视频会议终端,能全方位覆盖从中小型 ...

  8. IP通信中音频编解码技术与抗丢包技术概要

    此文较长,建议收藏起来看. 一.一个典型的IP通信模型 二.Server2Server技术分类 Server2Server这块也是一个专门的领域,这里只简单分个类. 1.同一国家相同运营商之间: 同一 ...

  9. centos 7 局域网丢包排查_网络排查神器:mtr

    常用的 ping,tracert,nslookup 一般用来判断主机的网络连通性,其实 Linux 下有一个更好用的网络联通性判断工具,它可以结合ping nslookup tracert 来判断网络 ...

最新文章

  1. 运维实战案例之文件已删除但空间不释放问题解析
  2. Spring之Bean的配置(二)
  3. QTreeWidgetItem 类的翻译
  4. C语言实用算法系列之DOS传参“加减乘除计算器”
  5. python求近似值_python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配...
  6. C# LINQ to XML
  7. navicat导出查询结果原理_使用Navicat生成ER关系图并导出
  8. 设置PDF文件默认缩放比例
  9. python机器人仿真软件_最火的Python语言也能做机器人仿真,你会不?
  10. 谷歌浏览器不支持html2.0,谷歌浏览器不能播放视频怎么办_chrome浏览器无法播放视频的解决方法-系统城...
  11. 七层网络协议详细解释
  12. 魏俊妮《如何成为支持业务的HR》课程大纲
  13. 怎么彻底卸载cad2017_电脑中cad卸载不干净重装失败的处理方法
  14. vs 设置起始页不见了_VS2015,为什么模板不见了,请教
  15. 【沃顿商学院学习笔记】商业基础——Financing:02 年金 Annuity
  16. 如何根据视频的宽屏与竖屏来排序?
  17. 踩坑!穿山甲广告Android SDK接入
  18. python能建网站吗_python适合建网站吗
  19. 发光二极管二极管引脚_LCD? 发光二极管? 等离子体? HDTV技术入门指南
  20. 【粤拼】手工整理《岳阳楼记》

热门文章

  1. Volatile缓存可见性实现原理(JMM数据原子操作具体步骤)
  2. 写一个测试工具类,只在debug时运行,而release时自动移除代码,适用于gradle项目(idea,android studio等)
  3. 一个方法搞定安卓路由跳转
  4. 计算机专业的分支,计算机专业分支(转载)
  5. linux让数值依次递增的快捷键,如何将文件名批量修改成上一级文件夹的名字。如:A(文件夹名)-01这样依次递增?...
  6. 实验六JDBC数据库操作_JAVA
  7. C语言实验——打印金字塔_JAVA
  8. 顺序表应用3:元素位置互换之移位算法
  9. 顺序表应用2:多余元素删除之建表算法
  10. java和C++的区别