zoukankan      html  css  js  c++  java
  • 语音编解码器 1

    摘自本人总结的一片文档

    为使VoIP能够可靠的进行语音通信,必须保证在一定话音质量的前提下尽可能地降低编码速率,这主要是依赖语音编码技术。在目前VoIP中常用的语音编码算法主要有以下几类:基于波形编码的算法;基于CELP模型的混合编码算法;以及GIPS公司自己提出的4种语音编码算法。

    2.1.1    采用波形编码的编码器

    波形编解码器基本上不考虑信号是如何产生的,而直接将输入的模拟信号抽样编码,然后将量化后的样值传送到终端,在终端原始信号被重组到与原信号大致接近的程度。因此波形编码方式是能够忠实地表现波形的编码方式。由于这类编码器通常将语音信号作为一般的波形信号来处理,所以它具有适应能力强、话音质量好、抗噪抗误码的能力强等特点。它最大的缺点是同其他的编解码器相比,它要使用大量的带宽,当波形编解码器用于低带宽时,话音质量下降得非常快。

    脉冲编码调制(PCM)、自适应增量调制(ADM或∆M编码)、自适应差分编码(ADPCM)、自适应预测编码(APC)、自适应子带编码(ASBC)、自适应变换编码(ATC)等都属于波形编码。

    2.1.1.1  G.711协议[4]

    G.711是在电路交换电话网中普遍使用的一种波形编解码算法。G.711以8kHz作为抽样频率,如果使用统一量化方式,话音中通用的信号层次的每一个样本就要12比特来表示,这就产生了96kb/s的比特速率,如果使用不统一的量化方式,表示一个样本只需要8比特。G.711通常被称为脉冲编码调制(PCM)。G.711提供了良好的语音质量,其MOS值都在4.3左右。

    2.1.1.2  G.726协议[4]

    G.726协议采用的是ADPCM语音编码算法,提供了64kb/sPCM码流至低速率ADPCM码流的转换。协议给出40kb/s,32kb/s,24kb/s和16kb/s四种比特率。其中,40kb/s信道主要用于在数字电路倍增设备(DCME)上传送数据调制解调器信号,特别用于4.8kb/s以上速率的调制解调器;24kb/s和16kb/s信道主要用作DEME语音传送的过载信道。G.726设计的主要用途仍然是传统的电路交换网,但是其低比特率方案也可用于VoIP。

    2.1.2    采用CELP模型编码的编码器

    由于波形编码速率过高,占用较多的带宽资源,1985年提出了码激励线性预测(CELP)。它在保留参数模型技术精华的基础上,应用波形编码准则优化激励信号,使其与输入语音波形匹配,同时还利用了矢量量化和感知加权技术,从而在较低的数码率上获得了较高的合成语音质量。基于CELP的语音编解码算法已经成为目前主流语音编码算法。较成功的语音编码方案都是基于CELP技术的,如G.723、G.728、G.729等[5]

    2.1.2.1  G.723协议

    G.723协议是一个双速率语音编码协议,其两种速率分别是5.3kb/s和6.3kb/s,较高比特率的输出基于ML-MLQ技术,提供某种程度上较高质量的音质;较低速率的输出基于CELP为系统设计人员提供了更大的灵活性。G.723.1协议的编解码算法中两种速率的编解码基本原理是一样的,只是激励信号的量化方法有差别。对高速率(6.3kb/s)编码器,其激励信号采用多脉冲最大似然量化(MP-MLQ)法进行量化,对低速率(5.3kb/s)编码器,其激励信号采用代数码激码线性预测(ACELP)法量化。

    2.1.2.2  G.728协议

    G.728协议采用的编码算法是LD-CELP,即低时延的码激励线性预测的算法。LD-CELP采用后向自适应预测器(Backward Adaptive Predictor)对短时谱和增益进行预测。LD-CELP编码器发送的只是激励矢量在码本中的地址标号,而解码端的滤波器参数和增益参数都是在解码端计算得来的。在大多数编码系统中,这类参数都是在编码端求,然后传输到解码端。

    2.1.2.3  G.729协议

    G.729协议是一个能在8kb/s速率上实现高质量语音编码的协议,它采用的是CS-ACELP即共轭结构算术码激励线性预测的算法。对输入的模拟语音信号用8KHz采样,16bit线性PCM量化。CS-ACELP以CELP编码模型为基础,它把语音分成帧,每帧10ms,也就是80个采样点。对于每一帧语音,编码器从中分析出CELP模型参数,其中包括线性预测系数,自适应码本和随机码本的索引值和增益,然后把这些参数编码并传送到解码端,在解码端,把收到的比特流恢复成参数编码,解码后得到各个参数,解码器利用这些参数构成激励源和合成滤波器,计算出合成语音,并用后置滤波器进一步增强音质,从而重现原始语音。

    G.729A是对G.729语音编码标准的简化,具有比G.729更低的复杂度,在DSP上实现时占用较少的资源。它的编解码算法结构和G.729的编解码算法结构一样,其比特流与G.729的比特流可以相互操作。

  • 相关阅读:
    .NetCore Grpc 客服端 工厂模式配置授权
    DOCKER 拉取 dotnet 镜像太慢 docker pull mcr.microsoft.com too slow
    Introducing .NET 5
    VSCode 出现错误 System.IO.IOException: The configured user limit (128) on the number of inotify instances has been reached.
    Omnisharp VsCode Attaching to remote processes
    zookeeper3.5.5 centos7 完全分布式 搭建随记
    Hadoop2.7.7 centos7 完全分布式 配置与问题随记
    MySQL索引 索引分类 最左前缀原则 覆盖索引 索引下推 联合索引顺序
    SQL基础随记3 范式 键
    MySQL调优 优化需要考虑哪些方面
  • 原文地址:https://www.cnblogs.com/c6000/p/1801955.html
Copyright © 2011-2022 走看看