Skype SILK codec overview

简介: 最近简单看了一下Skype SILK codec 算法, 基本原理和流程大体明白了, 以后有时间再仔细研究一下细节,今天就简单说说. SILK Codec是一个语音和音频编解码算法, 对于音频带宽、网络带宽和算法复杂度都具有很好的弹性。

 最近简单看了一下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比较相似。

 

 

 

      好了,今天先到这里,明天还要上班呢,以后再对细节仔细研究。

目录
相关文章
|
5月前
|
算法
2024最新分享iZotope RX 10 Audio Editor Advanced for Mac 直装版
iZotope RX 10 Audio Editor Advanced是一款先进的音频编辑软件,由iZotope公司推出。
PAT (Advanced Level) Practice - 1022 Digital Library(30 分)
PAT (Advanced Level) Practice - 1022 Digital Library(30 分)
118 0
|
XML 数据格式
How to trouble shooting Adobe PDF generation issue
In case you encounter Adobe PDF generation issue, you could follow the tip described below to find the root cause. This tip can also be used to get the performance data of your PDF rendering.
How to trouble shooting Adobe PDF generation issue
|
算法 编解码 开发者
Skype SILK vs. iLBC vs. Speex
对比一下这三种VOIP语音算法的特点:   1 参数与特征     2 SILK性能          关于iLBC和Speex的性能可以参考以前写的文章。   3 关于VOIP一些观点(仅代表个人观点)     1)  Skype 辛苦三年开发的SILK为什么...
1255 0