转自:http://blog.csdn.net/lhl_blog/article/details/8816506

4.语音编码算法原理与应用

4.1 波形编码算法基本原理

语音编码主要有波形编码和参数编码两大类。波形编码就是根据语音信号波形导出相应的数字编码形式。最早的波形编码就是PCM,即ITU-T G.711A和ITU-T G.711μ,其编码速率为64kbit/s。

图9 自适应量化器

PCM虽然能够提供相当好的语音质量,但要占用过高的网络带宽资源。这里主要讨论低速率的波形编码算法,是利用了连续语音之间的相关性,主要采用的技术为自适应量化器和自适应预测器。

为了获得仅可能大的量化信噪比,应该对小信号采用小的量化步长,对大信号采用较大的量化步长。使量化器范围与输入信号的动态范围相匹配,减小量化噪声。这就是自适应量化技术。自适应量化分为两类:前向自适应量化和后向自适应量化,目前常用的是后向自适应量化。

自适应预测的基本原理是根据语音波形的时间相关性确定预测系数,使差分信号的方差为最小,时间相关性则以自相关函数来度量,如图9所示。

4.2 参数编码算法基本原理

语音的种类主要有两种:浊音和清音。声带周期性地打开和关闭产生固定频率的声音,这个频率就是浊音的音调;音调频率男性为50~250Hz,女性为100~500Hz;考虑到音频等声音频率范围,一般是0.3kHz~3.4kHz,因此8kHz的采样频率满足采样定理。从频域上来看,幅频频谱的包洛有几个明显的局部最大值,称为共振峰,频谱的精细结构呈现周期性。清音的频谱没有周期性,峰值的分布也没有明显的规律,整个频谱相对比较平坦,类似于白噪声,因而几乎不可预测。

图10 语音生成模型

参数编码器又称为声码器(Vocoder),它的原理和设计思想跟波形编码完全不同。参数编码根据对声音形成机理的分析,构造语音生成模型(如图10),该模型以一定精度模拟发话者的发声声道;接收端根据该模型还原生成发话者的因素。由于话音信号变化是缓慢的,模型参数的更新频度较低,可以有效地降低编码比特率。因此参数编码在移动通信、VoIP系统等领域得以广泛应用。

参数编码器主要可分为三类:通道式、共振峰式和线性预测编码(LPC:Linear Predictive Coding)方式。其中线性预测编码方式的性能优异,目前低比特率语音编码器都采用这种技术。

4.3 编码算法综述及其属性和性能评估

在VoIP系统中,为了充分地利用网络带宽资源,一般均采用语音压缩编码。语音编码的主要属性有比特率、时延、复杂度和语音质量四项。在具体的实现中,这些属性往往相互冲突,在实际应用中,应该是对各项属性的折衷,确定合适的编码。

算法综述:

降低比特率是往往是语音编码的首要目标,采用的压缩编码的主要目的就是充分利用网络资源。一般来说,编码的比特率越低,算法的复杂度就越高,编码的处理时延也会越长,并降低语音质量。

目前,话音和图像压缩技术发展十分迅速,已经研究开发出很多高效率的压缩编码技术。如先进的以码本激励线性预测(CELP)原理为基础的G.729、G.723(G.723.1)话音压缩编码技术。常用的ITU-T G.729算法和ITU-T G.723.1算法的编码速率分别为8kbit/s和5.3或6.3kbit/s。以G.729为例,它可将经过采样的64kb/s话音以几乎不失真的质量压缩至8kb/s。话音压缩编码技术是IP电话技术的一个重要组成部分。图像编码方面有IP网络会议系统采用的H.261(活动图像编码)和H.263(低速率活动图像编码)。传真编码方面则有T.38。

近年来,出现了一些可变比特率的技术,主要有两个算法。

活动语音检测(VAD: Voice Activity Detection):主要用于检测输入信号是话音还是背景噪音。

舒适噪声生成(CNG: Comfortable Noise Generation):主要用于接收方重建背景噪声。

根据统计,双方通话的过程中,每一方真正讲话的时间约为40%,即约有50%为聆听对方讲话的静默时间,10%为讲话时短暂停顿的静默时间。静音检测技术可以有效剔除静默信号,从而使话音信号占用的带宽要求进一步降低到3.5kb/s左右,一个很自然的想法就是:通过利用VAD技术,在讲话时,媒体流正常发送,在没讲话时,不向对方发送媒体流,为了不使得对方产生断线的错觉,在对方产生舒适噪声。这种算法实现地不当,就会丢掉部分语音,如句子的开始。一个好的算法应该保证:丢掉的语音小于64毫秒,而且丢掉的语音小于0.2%。

VoIP技术(3)-语音编码算法相关推荐

  1. VoIP技术(5)--VoIP语音质量保证

    5.VoIP语音质量保证策略 影响通信的语音质量的因素很多.在VoIP系统中,虽然与电路交换系统在大多数情况下都是类似的,但也有其不少特殊的因素,如编解码类型.较长的时延.时延抖动.分组的丢失等. 考 ...

  2. 窄带语谱图c语言算法,MELP语音编码算法实现及算法改进

    摘要: 随着数字通信在当今社会的快速发展和广泛应用,低速率语音编码以其极低的编码速率,高质量的合成效果在网络通信,军事通信,保密通信和卫星通信等领域发挥着及其重要的作用,成为语音编码中的关键技术.当前 ...

  3. 技术图文:排序技术在求解算法题中的应用

    背景 前段时间,在知识星球立了一个Flag,这是总结Leetcode刷题的第五篇图文. 理论部分 C# 中的排序 对集合类的排序,我们通常使用位于 System.Core 程序集,System.Lin ...

  4. DL之DNN优化技术:神经网络算法简介之GD/SGD算法(BP的梯度下降算法)的简介、理解、代码实现、SGD缺点及改进(Momentum/NAG/Ada系列/RMSProp)之详细攻略

    DL之DNN优化技术:神经网络算法简介之GD/SGD算法(BP的梯度下降算法)的简介.理解.代码实现.SGD缺点及改进(Momentum/NAG/Ada系列/RMSProp)之详细攻略 目录 GD算法 ...

  5. DL之DNN优化技术:神经网络算法简介之数据训练优化【mini-batch技术+etc】

    DL之DNN优化技术:神经网络算法简介之数据训练优化[mini-batch技术+etc] 目录 1.mini-batch技术 输出结果 实现代码 1.mini-batch技术 输出结果 实现代码 # ...

  6. DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介、代码实现、代码调参之详细攻略

    DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介.代码实现.代码调参之详细攻略 目录 GD算法的简介 GD/SGD算法的代码实现 1.Matlab编程实现 GD算法的改进算法 GD算法中 ...

  7. [译]基于GPU的体渲染高级技术之raycasting算法

    [译]基于GPU的体渲染高级技术之raycasting算法 PS:我决定翻译一下<Advanced Illumination Techniques for GPU-Based Volume Ra ...

  8. 万字综述智能驾驶车载激光雷达关键技术与应用算法

    来源 | 智驾最前沿 编辑 | 焉知智能汽车 随着全球智能驾驶进入产业化与商业化的准备期,车载激光雷达凭借其优异性能已成为不可或缺的环境感知传感器并在硬件技术和应用算法上得到迅猛发展.文章以激光雷达扫 ...

  9. 麻省理工学院的学生们愚弄了谷歌图像识别技术,计算机视觉算法仍然很容易被骗

    文章来源:ATYUN AI平台 人工智能图像识别技术已经取得了一些令人惊叹的进步,但正如一项新的研究表明的那样,这些系统仍然可以被那些愚弄的例子所绊倒. 一群麻省理工学院的学生最近愚弄了谷歌开发的一种 ...

最新文章

  1. 开发log4j配置_Spring 使用 Log4J 记录日志
  2. mysqldump和xtrabackup备份原理实现说明
  3. Python标准模块--asyncio
  4. Gradle sync failed: failed to find Build Tools revision 21.1.2
  5. 【技术综述】深度学习中的数据增强方法都有哪些?
  6. 构建C1000K的服务器(1) – 基础
  7. QT Embedded二三事之QObject的元对象
  8. python基础系列教程——Python3.x标准模块库目录
  9. 令人笑喷的56个代码注释,最后几个老衲实在憋不住了。。。
  10. LINUX的bash的一些特性
  11. 怎么调整计算机的音量,笔记本音量怎么调_如何调整笔记本电脑的音量-win7之家...
  12. windows系统镜像修复计算机,如何修复:Windows无法在此计算机上查找系统映像
  13. CMake中file的使用
  14. 百度主动推送怎么用?
  15. ahri8.php,文件上传处理 - [ php中文手册 ] - 在线原生手册 - php中文网
  16. Kotlin学习(11)→抽象类、接口、接口代理
  17. artDialog打开一个页面,获取页面元素值
  18. MSA/MSB定位流程
  19. phpstorm重复试用
  20. 2020.12.10【读书笔记】丨基因组De novo 产品介绍

热门文章

  1. C++网络(四)持续处理请求的C/S网络
  2. Object-Oriented JavaScript
  3. php伪静态网前台页面,如何让Discuz门户频道页支持伪静态
  4. JSP精品课程网站的设计与实现
  5. 【转】Azure Az-900认证 04——-考取AZ900所有知识点总结--获取证书!
  6. 图片拼接成gif怎么拼接?教你一键制作gif动图
  7. 以单片机为核心,设计一个节日彩灯控制器
  8. vue地址栏隐藏id 隐藏参数
  9. 4Rs营销理论(转载)
  10. VGA成像原理与简单实现