博客
关于我
Skype SILK codec overview
阅读量:711 次
发布时间:2019-03-21

本文共 1011 字,大约阅读时间需要 3 分钟。

最近对Skype SILK Codec算法进行了初步了解。该算法主要用于语音和音频编解码,展现出较强的适应性,能够根据音频带宽、网络带宽以及算法复杂度进行灵活调整。SILK Codec支持四种采样率:8kHz、12kHz、16kHz和24kHz,并提供三种复杂度等级:低、中和高,其中编码率范围在6~40kbps之间(具体取决于采样率)。此外,它还集成了VAD、DTX、FEC等多种模块,展现出较高的功能全面性。

SILK Codec的工作原理从系统建模开始,遵循Source-filter模型。首先是长期预测滤波器(LTP),用于去除语音中的周期性成分,主要针对含有浊音的语音而言。对于清晰的语音则可以跳过这一步骤。随后是短期预测滤波器(LPC),采用伯格算法计算出LPC系数,目的是去除相邻帧之间的冗余信息。整个过程构成了经典的语音编码框架。

在信息编码方面,SILK Codec采用多级矢量量化方法,其中常用的是分裂式矢量量化。具体而言,其通常会分开处理固定码本和自适应码本,分别处理激励信号中的近期周期成分和非周期性噪声成分。这种设计理念与传统的CELP Codec十分相似,使得SILK Codec在码率更低的条件下也能保持较好的音质良好。特别是在8kHz采样率下,其性能尤为突出。

在子帧处理方面,SILK Codec有一处特殊之处:它会在每个子帧中识别能量最大的点,并对此进行增益量化和归一化。这一方法与其他常见的语音编码算法(如iLBC和Speex)有所不同,而距离编码(Range encode)也与算术编码有关,后者是为了规避专利问题而采用。尽管如此,SILK Codec的编码效率和音质表现仍然与 Speex 等算法持平。

从功能扩展的角度来看,SILK Codec在VAD(声级控制)、DTX(失真检测与纠正)、FEC(前向误差纠正)等方面也有较为出色的表现。其中,VAD模块能够有效抑制背景噪声,对语音质量有较大的提升。而FEC模块则确保了编码过程中数据的可靠传输。这些功能使得SILK Codec在复杂的网络环境下也能保持良好的性能。

作为一个开源方案,SILK Codec的提供定点C代码对其在ARM平台或DSP芯片上的移植和优化提供了极大的便利。这一特性对于开发高效的语音编解码解决方案尤为重要。结合其灵活的参数调节和优异的音质表现,SILK Codec无疑是一个值得关注的语音编解码方案。

转载地址:http://pzurz.baihongyu.com/

你可能感兴趣的文章
php 浮点型计算精度问题
查看>>
php 特定时间段统计,jpgraph某个时间段的数据统计
查看>>
php 生成csv mac下乱码
查看>>
php 生成证书 签名及验签
查看>>
PHP 的标准输入与输出
查看>>
php 笔记 (早前的,很乱)
查看>>
PHP 第一天
查看>>
Redis使用量暴增,快速定位有哪些大key在作怪
查看>>
PHP 统计数据功能 有感
查看>>
SpringBoot处理JSON数据
查看>>
PHP 输入输出流合集
查看>>
php-cgi(fpm-cgi) 进程 CPU 100% 与 file_get_content...
查看>>
php-兔子问题,斐波那契数列
查看>>
php-约瑟夫问题
查看>>
php.ini中常见的配置信息选项
查看>>
php.ini配置中有10处设置不当,会使网站存在安全问题
查看>>
PHP7 新特性
查看>>
PHP7+MySQL5.7+Nginx1.9. on Ubuntu 14.0
查看>>
php7.1.6 + redis
查看>>
php7中使用php_memcache扩展
查看>>