iLBC 是为专为提供稳健的 IP 语音通信而开发的语音 codec,以窄带语音为设计基础,具有 8 kHz 的采样率。iLBC codec 支持两种基本的帧长度:13.3 kbps 比特率下编码帧长度为 30 ms;而 15.2 kbps比特率下编码帧长度则为 20 ms。

       采用 iLBC 算法可以获得一个具有丢包响应控制的语音编码系统。iLBC 对每一个数据包的处理都能够独立于其它数据包来进行,是数据包通信的理想选择。即使 IP 丢包和/或延迟现象的恶化,这种 codec 的语音质量下降情况也不会太差。这与基于 CEIP 模型的一般 codec 的行为不同,这类 codec 最先是为交换电路网络或无线网络而设计的,是设计来恢复位错误而非丢包的。

       丢包现象发生时,语音 codec 的一项相关基准是从单个丢包情况下恢复过来所需的帧/包数量。在 iLBC 的情况中,数量是零。在丢包之后的第一个数据包总仍能按原本安排的被精确解码。

       iLBC 是一种窄带语音 codec,使用了整个 4kHz 频带,而大多数标准低比特率 codec 只利用从 300 Hz 到 3400 Hz 的频带。这一点对音质的影响是相当明显的。此外,iLBC 语音编码的频谱特性精确模拟了原始信号的特性,其语音比标准低比特率 codec 的更自然清晰。

       总而言之,iLBC 算法为数据包网络实现了尖端的固定比特率编码,在质量与比特率之间取得了非常出色的平衡。

       iLBC算法也是开源算法,在GitHub可以下载到,源地址如下https://github.com/bjdodson/iLBC-Android ,同时code.google(http://code.google.com/p/android-ilbc/)上也有一份,code.google.上的比较清晰,这一篇主要参

考了android-ilbc

 

       git下android-ilbc工程,导入到eclipse中,jni部分使用cygwin编译。git对有些开发者还不方便,我在csdn的资源模块

上传了一份编译好的,地址如下:http://download.csdn.net/detail/xyz_lmn/4594662

 



  ***********************************************************************

  * 转载务必在明显处注明:http://blog.csdn.net/xyz_lmn    *

  * 作者:张兴业                                                                                           *

  * 邮箱:xy-zhang@163.com                                                                   *

  ***********************************************************************


参考:

     1、http://www.cnblogs.com/huaping-audio/archive/2008/11/23/1339527.html  iLBC编解码相关知识

     2、http://code.google.com/p/android-ilbc/source/browse/jni/ilbc-codec.c?r=35e61e06caa30a46c41885c37b380acd61577f5c

     3、https://github.com/lukeweber/iLBC-Android

     4、http://www.ilbcfreeware.org/software.html

  ***********************************************************************

  * 转载务必在明显处注明:http://blog.csdn.net/xyz_lmn    *

  * 作者:张兴业                                                                                           *

  * 邮箱:xy-zhang@163.com                                                                   *

  ***********************************************************************

更多相关文章

  1. [Android]分析 Sax解析Rss xml文件时,遇到的not well-formed错误
  2. Android(安卓)NDK的C/C++代码中利用JNI回调实现字符编码转换
  3. 腾讯、百度、华为、搜狗和滴滴Android面试题汇总
  4. Android/Java 实现PCM与G.711编码互转
  5. android语音即时通讯之录音、播放功能实现代码
  6. 【Android语音合成TTS】国内主流引擎对比
  7. helloPe的android项目实战之连连看—设计篇
  8. 用srec库实现普通话语音识别
  9. Android(安卓)百度地图—反地理编码—获取当前位置附近的大厦楼

随机推荐

  1. 什么样的代码规范才能得到程序员的认可?
  2. .NET成年了,然后呢?
  3. IntelliJ IDEA 2021最新激活码(亲测有效,
  4. 手把手教你从0到1写一个简单的缓存框架
  5. 出海做to B,有没有机会?
  6. 非名校95后,拿到百度和今日头条offer,他是
  7. 职场选择,还真就不是一个人的事
  8. 快递单号查询,自动快递单号查询软件
  9. 单集群10万节点 走进腾讯云分布式调度系
  10. 中年程序员都在想什么?