关键词不能为空

当前您在: 主页 > 英语 >

详细介绍VOIP语音引擎编解码器的选择或设计(有实例)

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-08 08:31
tags:

-

2021年2月8日发(作者:中共七大)




VOIP


语音引擎 编解码器的选择或设计,


往往都要考虑带宽占用情况的估计。


语 音都是分帧来处理,


标准编解码器的帧长是一定的,


帧长往往决 定了语音编解码器的算法延时值。


编解码器的算法是


VOIP< /p>


语音时延众多因素的一种。语音变成


RTP


包往往是时延中很关键的因素。如以语音编解码器的一帧


为单位进行打包,那会导致二 个问题:一是包太多,会导致服务器处理不了;二是



包头和相 关的控


制位消耗太多的带宽;一个好处:消除了打包可能造成的时延和丢包对语音音质的 影响


.



在这引用一下


(


内容基本正解


)


,主要是 展示一下


RTP


包对带宽占的影响。




不论在呼叫控制信令上采用何种协议,语音包的传输基本上都 基于


RTP



real-time


transport


protocol RFC 1889



RFC 3350


)协议在 网络上传输。这是一种为传输实时媒体流而由


IETF


制定的< /p>


协议。




几乎 所有的


VoIP


相关产品,都利用


RT P


收发语音信息。语音包的结构如下所示,在


IP


层上封装


后被送出到网络上,


Payload


部分的信息量多少取决于所采用的编码方式。




一般说来,在


VoIP


的世界里采用


G.729


编码的较多,而在运营商提 供的


IP


电话服务中则是


G.711< /p>


较多。


G.711


是在

< br>ISDN


网中也被使用的



CO DEC


,音质较好,但与


G.729


相 比信息量较多。而


G.729


则是一种压缩率高且音质也较好的


CODEC


。在传输一路语音信息时,


G.711


所需的带宽是


64kbps




G.729


只需要


8kbps


。两者一般都以


20msec


间隔(这个间隔可变)发送数据包,因此我们可以推


算出实际的包大小。




语音信息是一种模拟信号,而将语音转 换成数据包首先需要将模拟信号转换为数字信号(数


-


模转


换)


。相信大家对此都有所了解,将模拟式的语音信息用数字式传输 的过程大致如下图所示。




现有的电 话交换网中采用的编码方式是


G.711


PCM



,在通话的两端必须采用同样的方式分别进


行编码


/


解码操作才能实现语音通话,这里的 编码


/


解码功能合称为


CODEC(C Oder/DECoder)




Vo IP


应用中常见的两种具有代表性的


CODEC


如下:





G.711



PCM


方式:< /p>


PCM


=脉码调制




Pulse Code Modulation





采样率:


8kHz



信息量:


64kbps



ch annel



理论延迟:


0.125msec


< /p>


品质:


MOS



4.10




G.729



CS- ACELP


方式:


Conjugate Structure Algebraic Code Excited Linear Prediction





采样率:


8kHz



信息量:


8kbps



cha nnel



帧长:


10msec



理论延迟:


15msec



品质:


MOS



3.9



接下来就以这两种


CODEC


为基础进行探讨。光使用


CODE C


将语音信息数字化


还不算是将语音数据包封装完成。




为了完成封包工作,


VoIP


终端内置了被称为


DSP



Digital Signal Processor


)的芯片 。简单地说,


就是对模拟信号编码后产生的大量数字信息进行实时处理的芯片。




实际的封包过程,还需要使用


RTP


协议将语音数据包发送到网络上去。


RTP< /p>


包中,包括载荷类别



CODEC


的类别)


、序列号(语音包的顺序)


、时间戳 (语音包的发送间隔)等信息,接受方就以这


些信息为基础将收到的数字信息还原为模拟 的语音信号。




4

< br>)计算语音数据包的大小和所需带宽



实际的语音信息在


IP


层上封装后的数据包格式如下。



IP Header(



)+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



1 60byte


语音包的长度为


200byte




G.729




每秒送出的包为:


50pps


一路语 音信息所需的带宽


8kbps



50p ps


×


Payload


大小

< p>


Payload


大小=



8000



50


160bit



20byte


语音包的长度为


60byte




在实际应用中具体应该使用哪种


CODEC


呢?仅从语音通话业务的角度来


看是用哪一种

< br>CODEC


都没有问题的。




但是,如果需要利用传真服务或是与


VoIP

< br>运营商互联的话,就必须使用


G.711


。而拥有多处分 支


机构的企业,用于分支间互联的往往不会是与


LAN


等同的


10/100Mbps


的线路。多数分支 甚至还在



128kbps


的线路互联 。




此时如果选择

< br>G.711


的话,光是语音信息就有可能把可用带宽消耗光。有些产品支持为不同 的连接


对象使用不同的


CODEC


。利 用这一功能,就可以做到在窄带连接上使用


G.729


,而在宽 带连接上使



G.711


< p>
如果采用这类产品,


为了统一运用管理策略,可以考虑使用



分支间采用


G.729


;< /p>


同一


LAN


内采用


G.711



的设计。但如果有需要在分支间使用传真服务, 则必须在分支间也使用


G.711





此外,在进行带宽计算时,还必须考虑二层上的开销。具体到 采用以太网传输时,必须加上以太帧


的开销。




以太网传输所需的额外开销包括




前同步


(Preamble)



7byte


(为了通知

梦芭莎优惠券


发送开始而取同步的信号)




SFD



1 byte



Start Frame Delimiter


:数据帧开始部分)




对端


MAC


地址:


6byte




MAC


地址:


6byte



协议:


2byte


< br>VLAN


时包含于


802.1q





802.1q

< br>:


4byte


(使用


VLAN< /p>


时)




FCS



4byte



下面再举两个实例。



实例

< p>
1


:以太帧带


VLAN Tag



Preamble



7byte



SFD



1byte



对端


MAC


地址:


6byte




MAC


地址:


6byte



802.1q



4byte

< p>
(使用


VLAN


时)




FCS



4byte



根据实例


1


的计算可知,在使用


VLAN


功能的以太网上,每个三层的数据 包需要加上


28byte


的开销。


< /p>


实例


2


:不带


V LAN 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


个包

-


-


-


-


-


-


-


-



本文更新与2021-02-08 08:31,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/613322.html

详细介绍VOIP语音引擎编解码器的选择或设计(有实例)的相关文章

详细介绍VOIP语音引擎编解码器的选择或设计(有实例)随机文章