Skype SILK codec overview
来源:互联网 发布:sql必知必会 百度云 编辑:程序博客网 时间:2024/05/18 16:54
最近简单看了一下Skype SILK codec 算法, 基本原理和流程大体明白了, 以后有时间再仔细研究一下细节,今天就简单说说. SILK Codec是一个语音和音频编解码算法, 对于音频带宽、网络带宽和算法复杂度都具有很好的弹性。支持4种采样率:8KHz、12KHz、16KHz、24KHz;三种复杂度:低、中、高。编码码率在 6~40kbps(不同采样率具有不同的码率范围)以及还支持VAD、DTX、FEC等模块,感觉还是比较全面。最重要的一点是提供了定点C代码,非常有利于向ARM、DSP移植和优化。
顺便附上原理流程图
看过SILK Codec 代码,总觉得他是iLBC和Speex混合拼出来的,当然没有这么简单,整体采用Source-filter经典模型,即对语音产生系统建模为基础,经过两级滤波,第一级长时预测滤波器(LTP),去除浊音语音中的周期成分,当然对于清音就不需要这一步了;第二步进行短时滤波(LPC),去除近样点之间的冗余信息,这里采用伯格(Burg)算法计算得到LPC系数(一般CELP Codec都采用自相关算法计算LPC),然后采用多级矢量量化的方法(一般CELP Codec都采用分裂式矢量量化方法);经过这两级滤波就可以得到激励信号,一般CELP Codec往往采用固定码书+自适应码书分别量化的方法,它们分别近似激励信号中的近周期成分和类噪声成分(这个模型简直太经典了,所以CELP可以在8Kbps以上保持非常好的音质,在进一步对固定码书的不同量化方法又引出了不同Celp的命名和变体,不能再说了否则就成介绍CELP了),这里SILK也不同于iLBC,但是却很相似也是在子帧中找到能量最大的点,然后进行增益量化和归一化,对归一化后的信号采用距离编码(Range encode),这个距离编码是无损压缩算法,性能和原理类似算术编码,用它主要是出于避开专利的原因。另外,对于VAD、DTX、FEC以及对于噪声的抑制也很不错,变码率的编码方式与Speex比较相似。
- Skype SILK codec overview
- Skype SILK codec overview
- Skype SILK codec overview
- Skype SILK codec overview
- Skype SILK codec complexity comparison
- Silk codec的一些资料
- Skype SILK vs. iLBC vs. Speex
- Skype SILK vs. iLBC vs. Speex
- Skype SILK vs. iLBC vs. Speex
- Skype SILK vs. iLBC vs. Speex
- Skype SILK vs. iLBC vs. Speex
- silk
- Skype?
- skype
- skype
- skype
- silk encoder
- Silk Mobile
- Stanford机器学习课程笔记——神经网络的表示
- Jedis连接池的使用
- vim 文本编辑器排错
- 前言
- 图片缩放时java.lang.IllegalArgumentException: pointerIndex out of range解决方案
- Skype SILK codec overview
- 在命令行中通过adb shell am broadcast发送广播通知以及Android的常用adb命令
- OGG-00952 Could not delete rows from ogg.GGS_MARKER, no database specified.
- 将数据保存的SDCard
- 盒子情缘:渐行渐远渐无书
- C++ static成员变量与static成员函数
- Android LCD(三):Samsung LCD接口篇
- 品牌管理公开课 2015年 3月广州班
- 文件存储详解