Skype SILK codec overview
来源:互联网 发布:网络人好还是向日葵好 编辑:程序博客网 时间:2024/05/23 19:18
最近简单看了一下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比较相似。
转载:http://blog.csdn.net/wanggp_2007/article/details/5536818
- 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
- android开发之socket传递
- 比特币监管罗生门:一纸《通知》的万般变化
- sizeof strlen wcslen tcslen 比较
- 体验友元成员函数
- MetaQ技术内幕——源码分析(八)
- Skype SILK codec overview
- 学习软件开发的步奏
- Redmine: uninitialized constant Redmine::Scm
- 得到日期,时分秒的方法
- leetcode:Plus One
- DCCI:“文章事件”等话题引爆微博用户活跃度
- 什么是网络安全
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- IE 浏览器模式和文本模式 解析(二)