好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

各种语音编码占用带宽计算.doc

4页
  • 卖家[上传人]:mg****85
  • 文档编号:34472705
  • 上传时间:2018-02-24
  • 文档格式:DOC
  • 文档大小:29KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1.语音数据包封装的实现与 CODEC不论在呼叫控制信令上采用何种协议,语音包的传输基本上都基于RTP(real-time transport protocol RFC 1889/RFC 3350)协议在网络上传输这是一种为传输实时媒体流而由 IETF 制定的协议几乎所有的 VoIP 相关产品,都利用 RTP 收发语音信息语音包的结构如下所示,在 IP 层上封装后被送出到网络上,Payload 部分的信息量多少取决于所采用的编码方式一般说来,在 VoIP 的世界里采用 G.729 编码的较多,而在运营商提供的 IP服务中则是 G.711 较多G.711 是在 ISDN 网中也被使用的 CODEC,音质较好,但与 G.729 相比信息量较多而 G.729 则是一种压缩率高且音质也较好的CODEC在传输一路语音信息时,G.711 所需的带宽是 64kbps,而 G.729 只需要8kbps两者一般都以 20msec 间隔(这个间隔可变)发送数据包,因此我们可以推算出实际的包大小语音信息是一种模拟信号,而将语音转换成数据包首先需要将模拟信号转换为数字信号(数-模转换)相信大家对此都有所了解,将模拟式的语音信息用数字式传输的过程大致如下图所示。

      现有的交换网中采用的编码方式是 G.711(PCM),在通话的两端必须采用同样的方式分别进行编码/解码操作才能实现语音通话,这里的编码/解码功能合称为 CODEC(COder/DECoder)VoIP 应用中常见的两种具有代表性的 CODEC 如下:G.711(PCM 方式:PCM=脉码调制 :Pulse Code Modulation)@ 采样率:8kHz@ 信息量:64kbps/channel@ 理论延迟:0.125msec@ 品质:MOS 值 4.10G.729(CS-ACELP 方式:Conjugate Structure Algebraic Code Excited Linear Prediction)@ 采样率:8kHz@ 信息量:8kbps/channel@ 帧长:10msec@ 理论延迟:15msec@ 品质:MOS 值 3.9接下来就以这两种 CODEC 为基础进行探讨光使用 CODEC 将语音信息数字化还不算是将语音数据包封装完成为了完成封包工作,VoIP 终端内置了被称为 DSP(Digital Signal Processor)的芯片简单地说,就是对模拟信号编码后产生的大量数字信息进行实时处理的芯片。

      实际的封包过程,还需要使用 RTP 协议将语音数据包发送到网络上去RTP包中,包括载荷类别(CODEC 的类别)、序列号(语音包的顺序)、时间戳(语音包的发送间隔)等信息,接受方就以这些信息为基础将收到的数字信息还原为模拟的语音信号2.计算语音数据包的大小和所需带宽实际的语音信息在 IP 层上封装后的数据包格式如下IP Header(20Byte)+UDP Header(8Byte)+RTP Header(12Byte)+Payload(净载部分,可变长)将语音信息封装为 IP 包在 3 层以上就必然产生 40Byte 的额外开销,那么使用 G.711/G.729 CODEC 分别以 20msec 周期封装语音信息包的话,所生成的包长度如下G.711 时每秒送出的包为:1000/20msec = 50pps一路语音信息所需的带宽 64kbps = 50pps×Payload 大小Payload 大小 =64000/50=1280bit=160byte语音包的长度为 200byteG.729 时每秒送出的包为:50pps一路语音信息所需的带宽 8kbps=50pps×Payload 大小Payload 大小= 8000/50 =160bit=20byte语音包的长度为 60byte。

      在实际应用中具体应该使用哪种 CODEC 呢?仅从语音通话业务的角度来看是用哪一种 CODEC 都没有问题的但是,如果需要利用服务或是与 VoIP 运营商互联的话,就必须使用G.711而拥有多处分支机构的企业,用于分支间互联的往往不会是与 LAN 等同的 10/100Mbps 的线路多数分支甚至还在用 128kbps 的线路互联此时如果选择 G.711 的话,光是语音信息就有可能把可用带宽消耗光有些产品支持为不同的连接对象使用不同的 CODEC利用这一功能,就可以做到在窄带连接上使用 G.729,而在宽带连接上使用 G.711如果采用这类产品,为了统一运用管理策略,可以考虑使用“分支间采用 G.729;同一 LAN 内采用G.711”的设计但如果有需要在分支间使用服务,则必须在分支间也使用G.711此外,在进行带宽计算时,还必须考虑二层上的开销具体到采用以太网传输时,必须加上以太帧的开销以太网传输所需的额外开销包括@ 前同步(Preamble):7byte(为了通知帧发送开始而取同步的信号)@ SFD:1byte(Start Frame Delimiter:数据帧开始部分)@ 对端 MAC 地址:6byte@ 源 MAC 地址:6byte@ 协议:2byte(VLAN 时包含于 802.1q)@802.1q:4byte(使用 VLAN 时)@ FCS:4byte下面再举两个实例。

      实例 1:以太帧带 VLAN Tag@ Preamble:7byte@ SFD:1byte@ 对端 MAC 地址:6byte@ 源 MAC 地址:6byte@ 802.1q:4byte(使用 VLAN 时)@ FCS:4byte根据实例 1 的计算可知,在使用 VLAN 功能的以太网上,每个三层的数据包需要加上 28byte 的开销实例 2:不带 VLAN Tag 的以太帧@ Preamble:7byte@ SFD:1byte@ 对端 MAC 地址:6byte@ 源 MAC 地址:6byte@ 协议类别:2byte@ FCS:4byte根据实例 2 的计算可知,无 VLAN 环境下,每个 3 层包在以太网上需要的额外开销是 26byte最后来简单计算一下不同 CODEC 下所需的实际带宽计算的前提是 RTP 包送出间隔为 20msec 且 2 层上不使用 VLAN,此时每个包需要附加还必须加上 40Byte(3 层以上的开销)+26Byte(2 层的开销)=66Byte的额外开销而每一秒钟共产生 50 个包(50pps),因此除了净载的语音信息(64kbps)外开销部分所占用的带宽是 66Byte×8×50=26.4kbps。

      由此得出 G.711 在实际传输中需要占用 90.4kbps 的带宽,而在实际的网络设计中一般都是按照每路通话 100kbps 来进行估算的G.729 所占的带宽是34.4kbps,虽然加上额外开销后它所需的带宽仍远低于 G.711,但考虑到消耗带宽中包头的开销和净载分别占用的比例,不免令人觉得有些遗憾这样,就需要采用包头压缩等技术来进一步提高带宽的利用效率了Codec BR NEB G.711 64 Kbps 87.2 Kbps G.729 8 Kbps 31.2 Kbps G.723.1 6.4 Kbps 21.9 Kbps G.723.1 5.3 Kbps 20.8 Kbps G.726 32 Kbps 55.2 Kbps G.726 24 Kbps 47.2 Kbps G.728 16 Kbps 31.5 Kbps iLBC 15 Kbps 27.7 Kbps BR = Bit rate NEB = Nominal Ethernet Bandwidth (one direction)根据我的使用经验,8K 的 G.729 加上 IP 封装后达到 32K, 为了防封杀,还有的用户使用 IP Sec 设备将语音做成 VPN,这样 G.729 加上 IP 封装,再加上 VPN 会达到 60 多 K。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.