• speech codec (G.711, G.723, G.726, G.729, iLBC)


    各种各样的编解码在各种领域得到广泛的应用,下面就把各种codec的压缩率进行一下比较,不正确之处望各位同行指正。
    Speech codec:
        现主要有的speech codec 有: G.711, G.723, G.726 , G.729, ILBC
                                               QCELP, EVRC, AMR, SMV

       主要的audio codec 有:
                                   real audio, AAC, AC3, MP3, WMA, SBC等,各种编解码都有其应用的重点领域。

       本文主要对speech codec相关指标进行总结:
       ITU 推出G.7XX系列的speech codec, 目前广泛应用的有:G.711,G.723, G.726, G.729. 每一种又有很多分支,如G.729就有g.729A, g.729B and g.729AB

      G.711:
                G.711就是语音模拟信号的一种非线性量化,细分有二种:G.711 A-law and G.711 u-law.不同的国家和地方都会选取一种作为自己的标准. G.711 bitrate 是64kbps. 详细的资料可以在ITU 上下到相关的spec,下面主要列出一些性能参数:
        G.711(PCM方式:PCM=脉码调制 :Pulse Code Modulation) 
    • 采样率:8kHz 
    • 信息量:64kbps/channel 
    • 理论延迟:0.125msec 
    • 品质:MOS值4.10               
     
     G.723.1:
            G.723.1是一个双速率的语音编码器,是 ITU-T建议的应用于低速率多媒体服务中语音或其它音频信号的压缩算法;
    其目标应用系统包括H.323、H.324等多媒体通信系统,目前该算法已成为IP电话系统中的必选算法之一;编码器的帧长为30ms,还有7.5ms的前瞻,编码器的算法时延为37.5ms;编码器首先对语音信号进行传统电话带宽的滤波(基于G.712),再对语音信号用传统8000-Hz速率进行抽样(基于G.711),并变换成16 bit线性PCM码作为该编码器的输入;
    在解码器中对输出进行逆操作来重构语音信号;高速率编码器使用多脉冲最大似然量化(MP-MLQ),低速率编码器使用代数码激励线性预测(ACELP)方法,编码器和解码器都必须支持此两种速率,并能够在帧间对两种速率进行转换;
    此系统同样能够对音乐和其他音频信号进行压缩和解压缩,但它对语音信号来说是最优的;采用了执行不连续传输的静音压缩,这就意味着在静音期间的比特流中加入了人为的噪声。除了预留带宽之外,这种技术使发信机的调制解调器保持连续工作,并且避免了载波信号的时通时断。
     
    G.726:
           G.726有四种码率:, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM),最为常用的方式是 32 kbit/s,但由于其只是 G.711速率的一半,所以可将网络的可利用空间增加了一倍。G.726具体规定了一个 64 kbpsA-law 或 μ-law PCM 信号是如何被转化为40, 32, 24或16 kbps 的 ADPCM 通道的。在这些通道中,24和16 kbps 的通道被用于数字电路倍增设备(DCME)中的语音传输,而40 kbps 通道则被用于 DCME 中的数据解调信号(尤其是4800 kbps 或更高的调制解调器)。 
    G.726 encoder 输入一般都是G.711 encoder的输出:64kbps A-law or u-law.其算法实质就是一个ADPCM, 自适应量化算法。     

    G.729:
        G..729语音压缩编译码算法
    采用算法是共轭结构的代数码激励线性预测(CSACELP),是基于CELP编码模型的算法;能够实现很高的语音质量(长话音质)和很低的算法延世;算法帧长为10ms,编码器含5ms前瞻,算法时延15ms;其重建语音质量在大多数工作环境下等同于32kb/s的ADPCM(G.726),MOS分大于4.0;编码时输入16bitPCM语音信号,输出2进制比特流;译码时输入为2进制比特流,输出16bitPCM语音信号;在语音信号8KHz取样的基础上,16bit线性PCM后进行编码,压缩后数据速率为8Kbps;具有相当于16:1的压缩率。
        G.729系列在当前的VOIP得到广泛的应用,且相关分支较多,可以直接从ITU网上得到source code 和相关文档。
       G.729(CS-ACELP方式:Conjugate Structure Algebraic Code Excited Linear Prediction) 
    • 采样率:8kHz 
    • 信息量:8kbps/channel 
    • 帧长:10msec 
    • 理论延迟:15msec 
    • 品质:MOS值3.9 

    iLBC(internet low bitrate codec):
             是全球著名语音引擎提供商Global IP Sound开发,它是低比特率的编码解码器,提供在丢包时具有的强大的健壮性。iLBC 提供的语音音质等同于或超过 G.729 和 G.723.1,并比其它低比特率的编码解码器更能阻止丢包。iLBC 以13.3 kb/s (每帧30毫秒)和15.2 kb/s (每帧20毫秒)速度运行,很适合拨号连接。
             iLBC的主要优势在于对丢包的处理能力。iLBC独立处理每一个语音包,是一种理想的包交换网络语音编解码。在正常情况下,iLBC会记录下当前数据的相关参数和激励信号,以便在之后的数据丢失的情况下进行处理;在当前数据接收正常而之前数据包丢失的情况下,iLBC会对当前解码出的语音和之前模拟生成的语音进行平滑处理,以消除不连贯的感觉;在当前数据包丢失的情况下,iLBC会对之前记录下来的激励信号作相关处理并与随机信号进行混合,以得到模拟的激励信号,从而得到替代丢失语音的模拟语音。总的来说,和标准的低位速率编解码相比,iLBC使用更多自然、清晰的元素,精确的模仿出原始语音信号,被誉为更适合包交换网络使用的可获得高语音质量的编解码。
      此外,大部分标准的低位速率编解码,如G.723.1和G.729,仅对300Hz——3400Hz的频率范围进行编码。在这个频率范围里,用G.711编解码所达到的语音质量,就是传统PSTN网络进行语音通话的效果。
      iLBC充分利用了0——4000Hz的频率带宽进行编码,拥有超清晰的语音质量,这大大超出传统300Hz——3400Hz的频率范围。
      广受欢迎的Skype网络电话的核心技术之一就是iLBC语音编解码技术,Global IP Sound称该编码器语音品质优于PSTN,而且能忍受高达30%的封包损失。
      总的来说,在相同的包交换通信条件下,iLBC的语音质量效果比G.729、G.723.1以及G.711更好,声音更加圆润饱满,且丢包率越高,iLBC在语音质量上的优势就越明显!
      目前,在国际市场上已经有很多VoIP的设备和应用厂商把iLBC集成到他们的产品中。如:Skype, Nortel等。在国内市场上,目前尚无VoIP厂家正式推出支持“iLBC”的网关设备,迅时公司 率先推出支持“iLBC”的中继网关和IAD设备。
          
    更多资料你链接:
    www.itu.int
    http://www.ilbcfreeware.org/documentation.html#presentations
    http://itbbs-arch.pconline.com.cn/topic.jsp?tid=2648071
    http://bbs.sdgb.cn/ShowThread.aspx?PostID=11843
    http://en.wikipedia.org/wiki/G.726
    http://www.itu.int/rec/T-REC-G.726/e

  • 相关阅读:
    php升级5.3到5.4,5.5,5.6
    JNI NDK开发Crash错误定位 调试
    【转】移动端App测试实用指南
    【转】web测试内容及工具经典总结
    什么是比特币(bitcoin)
    读《活着》
    读《我们终将逝去的青春》
    自动make工具--CMake
    如何像黑客一样思考_转
    httpd在嵌入式中应用
  • 原文地址:https://www.cnblogs.com/tkppain/p/3123393.html
Copyright © 2020-2023  润新知