分享

语音编码标准(G.711 G.723 G.726 G.729 iLBC)

 hginvent 2013-10-21

各种各样的编解码在各种领域得到广泛的应用,下面就把各种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设备。

TD-scdma和wcdma采用自适应多速AMR语音编码,而Cdma2000采用了qualcomm公司的QCELP或EVRC作为语音编码。

RFC 3267        RTP Payload Format for AMR and AMR-WB          June 2002


   Example of usage of AMR in a possible GSM gateway scenario:

    m=audio 49120 RTP/AVP 97
    a=rtpmap:97 AMR/8000/1
    a=fmtp:97 mode-set=0,2,5,7; mode-change-period=2;       mode-change-neighbor=1
    a=maxptime:20

   Example of usage of AMR-WB in a possible VoIP scenario:

    m=audio 49120 RTP/AVP 98
    a=rtpmap:98 AMR-WB/16000
    a=fmtp:98 octet-align=1

   Example of usage of AMR-WB in a possible streaming scenario (two
   channel stereo):

    m=audio 49120 RTP/AVP 99
    a=rtpmap:99 AMR-WB/16000/2
    a=fmtp:99 interleaving=30
    a=maxptime:100
其中:m=<media> <port>/<number of ports> <transport> <fmt list>
a=fmtp:<format> <format specific parameters>
       This attribute allows parameters that are specific to a
       particular format to be conveyed in a way that SDP doesn't have
       to understand them.  The format must be one of the formats
       specified for the media.  Format-specific parameters may be any
       set of parameters required to be conveyed by SDP and given
       unchanged to the media tool that will use this format.

       It is a media attribute, and is not dependent on charset.
The general form of an rtpmap attribute is:

     a=rtpmap:<payload type> <encoding name>/<clock rate>[/<encoding
     parameters>]

     For audio streams, <encoding parameters> may specify the number of
     audio channels.  This parameter may be omitted if the number of
     channels is one provided no additional parameters are needed.  For
     video streams, no encoding parameters are currently specified.

     Additional parameters may be defined in the future, but
     codecspecific parameters should not be added.  Parameters added to
     an rtpmap attribute should only be those required for a session
     directory to make the choice of appropriate media too to
     participate in a session.  Codec-specific parameters should be
     added in other attributes.

     Up to one rtpmap attribute can be defined for each media format
     specified. Thus we might have:

                       m=audio 49230 RTP/AVP 96 97 98
                             a=rtpmap:96 L8/8000
                            a=rtpmap:97 L16/8000
                           a=rtpmap:98 L16/11025/2

     RTP profiles that specify the use of dynamic payload types must
     define the set of valid encoding names and/or a means to register
     encoding names if that profile is to be used with SDP.

     Experimental encoding formats can also be specified using rtpmap.
     RTP formats that are not registered as standard format names must
     be preceded by "X-".  Thus a new experimental redundant audio
     stream called GSMLPC using dynamic payload type 99 could be
     specified as:

                          m=video 49232 RTP/AVP 99
                          a=rtpmap:99 X-GSMLPC/8000

     Such an experimental encoding requires that any site wishing to
     receive the media stream has relevant configured state in its
     session directory to know which tools are appropriate.

     Note that RTP audio formats typically do not include information
     about the number of samples per packet.  If a non-default (as
     defined in the RTP Audio/Video Profile) packetisation is required,
     the "ptime" attribute is used as given below.

双音多频 DTMF(Dual Tone Multi Frequency),双音多频,由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。DTMF信号有16个编码。利用DTMF信令可选择呼叫相应的对讲机
双音多频信号(DTMF),电话系统中电话机与交换机之间的一种用户信令,通常用于发送被叫号码。
在使用双音多频信号之前,电话系统中使用一连串的断续脉冲来传送被叫号码,称为脉冲拨号。脉冲拨号需要电信局中的操作员手工完成长途接续(早期方法,很老很古董)。
双音多频信号是贝尔实验室发明的,其目的是为了自动完成长途呼叫。
双音多频的拨号键盘是4×4的矩阵,每一行代表一个低频,每一列代表一个高频。每按一个键就发送一个高频和低频的正弦信号组合,比如'1'相当于697和1209赫兹(Hz)。交换机可以解码这些频率组合并确定所对应的按键。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多