1、 中 国 地 质 大 学 ( 武 汉 )题 目: 信 息 与 网 络 语 音 技 术姓 名:_周振冬 班 号:_075123_ _ 学 号:_20121002502 院 系:_机电_ _专 业:_通信工程 _信息与网络语音技术作者:周振冬 Information technology and network voice writer :Zhou Zhendong摘要随着网络的发展,语音传输 VoIP 也慢慢兴起,但是想要好的语音通信,就应该解决时延、抖动和丢包三者的问题,三者相互影响,为了减小迟到的语音包数量,可以延迟语音的回放,但也会引入额外的时延;为了采用丢包恢复技术,往往需要利用后续帧信
2、息,这样也就引入了一定的时延;如果抖动效应加强,势必会引起迟到的语音包数量增多。从网络协议的选择策略和缓冲区的设计策略两个方面对三者相互影响的因素进行分析。With the development of network, VoIP voice transmission is also slowly rise, but want good voice communication, it should solve the latency, jitter and packet loss of the three issues, the interaction of the three, in ord
3、er to reduce the number of voice packets late, voice playback can be delayed, but it can also introduce additional delay; packet loss recovery techniques to adopt, often require the use of a subsequent frame information, so it introduces a certain delay; If the jitter effect of strengthening the voi
4、ce is bound to cause late an increase in the number of packets. Interaction of three factors were analyzed from a selection policy network protocol and buffer design strategy in two ways.关键词:时延;抖动;丢包Keywords: delay; shake; packet loss参考文献:信息发展与网络语音王升峰引言 Internet 在全世界范围内的快速发展和语音信号处理技术的进步,促进了 voIP(IP
5、网络下的语音技术 )业务的兴起。由于VoIP 务以传统的 Iternet 为基本平台,具有不可比拟的价格优势,因此发展前景十分广阔。我们通过设计的两台计算机间的语音通信软件,实现了全双语音通信。PC-PC 的语音传输,需要麦克风、音响。声卡等设备就可以通过 IP 网实现这种应用。这种 VoIP 方案的显著优点就是可以支持多媒体通信,主要适用于计算机用户。其原理是利用电话软件把送入话筒的声音进行编码压缩、分组,变成IP 数据包,经 Intemet 网络传送;接收端利用软件进行解码,还原成原来的信号后送到扬声器中。由于软件所需要的设备较为简单,尤其是随着计算机的日益普及、各种硬件设备不断发展;局域
6、网不断增加;通信信道容量不断增加;计算机 CPU 处理能力不断增强;具有人工智能的可即插即用软件代码技术的出现等等,这些郡为 VoIP 的发展提供了强有力的技术支持。在以上处理过程中,要用到一系列的网络接口以及缓冲区来处理数据,但是当前还没有一种固定的和通用的策略能够完全解决 VolP 应用中的 QoS 问题。本文就存在的问题进行了分析,并给出了一组解决问题的策略。1 时延、抖动和丢包三者之间的关系从网络的角度来看,时延、抖动和丢包三者同时制约于网络的运行状况,当网络的服务质量下降时,三者均迅速恶化,从终端处理的角度来看;时延,抖动和丢包三者之间又相互影响,比如:在终端处理中,为了减小抖动带来
7、的影响,就要采用抗抖动缓冲区,这就引入了额外的时延;为了减小迟到的语音包数量,可以延迟语音的回放,但也会引入额外的时延;为了采用丢包恢复技术,往往需要利用后续帧信息,这样也就引入了一定的时延;如果抖动效应加强,势必会引起迟到的语音包数量增多。为了解决好话音质量出问题,就必须在这三者当中权衡。2 缓冲区机制对语音实时传输性能的影响缓冲区机制对语音实时传输性能的影响也就是对语音从采样到回放这一时间延迟的影响,特别是当为了满足内存分配的需求而移动全局内存块和抛弃可抛弃的内存块时,消耗的系统时间将对一些实时性操作产生严重影响,在语音实时通信中,用扩大内存的有效的页面技术和磁盘交换技术将不再适用,因为这
8、些语音数据块不能放在真正的主存中以满足实时性要求,需要通过设计数据结构和信息列表实现优化的缓冲机制。同时缓冲机制对语音的连续性也有很大影响,如果定制的录音缓冲区过小,就会使录制的语音帧过小,从而使语音不连贯。对内存资源的过度占用将导致系统资源的不足。因此需要一种既高效利用内存,又尽量减少语音传输时延的缓冲区管理机制。3 网络分组信息的丢失分组丢失对语音质量有非常大的不良影响。当语音经过个使用分组丢失作为手段来管理数据网络阻塞的路由器,这是很麻烦的。对于 TCP 的数据,端站简单地重新发送丢失的数据并降低它们的通信速率,缓解阻塞,保证数据正确性,而对于UDP 协议的语音,没有时间进行重新发送,所
9、以 VolP 系统只能适应这种丢失。除了由于中间网络部件引起的分组丢失外,语音网络中由于超出抖动缓冲区的可忍耐的到达延时也引起分组丢失。在分组被丢失的情况下,如果语音分组丢失是随机的、不相关的,当前的语音编码器的声码器在分组丢失率小于 10的情况下,简单的办法是在丢失包的间隔处插入最后接收到的包,仍能恢复出质量可接受的语音信号。当然,也可以设计出优化的缓冲区,从而纠错以减少对语音质量的影响。实时语音的特点:实时性要求高,且允许语音数据在一定的范围内出错;IP 语音的特点:由于 IPV4 不能够提供服务质量保证,所以丢包率和抖动是不可预知的,并且把它们带到了上层协议IPUDP 中。TCP 的特点
10、:能提供面向连接的流传输,可靠性很高,但是会占用网络较多的资源;UDP 的特点:能提供无连接的数据包传输,不可靠,对网络的资源占用较少。由于 TCP 在传输数据前建立的是虚链路,它不能保证各个语音包在相等的时间内到达,即无法避免话音抖动现象。而且当网络状况不佳时,也无法避免丢失语音包,即使重传也有可能无法满足语音的真实性。更有甚者,它的窗口技术也会造成较大的附加抖动。至于 UDP,则有可能出现语音包的丢失、重复和失序 (好在语音通信允许出错),话音抖动现象也无法避(比 TCP 好),效率较 TCP 要高。但需要在应用层增添排序、抗抖、抗重复和抗丢包等功能。所以,对于网络时延较大的场合,一般选用
11、 UDP 来传输语音包;而在网络负载较小的场合,TCP 更为方便。如图分别为 TCPAJDP 编程时序图。随着 IPv6 的成熟应用,不仅用于解决 In-ternet 网络地址的危机,而且在解决 Internet 网络性能方面也有很大的突破;在4ESV 中提供了对 QoS 的支持,在 IPv6 中定义了两个参数;业务类别域和数据流标志位。业务类别域将 IP 包的优先级分为 16级,优先级分为两类:0-7 用于在网络发生拥塞时通过减少数据包的发送速度来实现拥塞控制的业务;8-15 用于一些实时性很强的业务,它在网络拥塞时不作任何减少流量的控制。对于那些需要特殊 QoS 的业务,可在 IP 数据包
12、中设置相应的优先级,路由器根据 IP 包的优先级来处理数据。因此,voIP 将得到更好的应用。4 发送端缓冲区的设计在语音发送端,语音采集时必须要申请缓冲区,而且这种缓冲区既用作语音信号的输入,又用作语音帧的输出。如果采用单一缓冲区机制,将有可能出现数据覆盖问题。数据发送操作中也存在此问题,实际应用必须通过实验确定缓冲区的数目,既保证语音数据库不丢失,又不会多用内存。决定发送缓冲区的数目的因素有两个,一个是编码缓冲区的数目;另一个是一个数据分组的发送的最长时间与一个数据分组的最短打包时间的比值,由于实际应用中,实时语音的传送一般采用非连接的网络传输协议,所以发送缓冲区的数目可以小于或者等于编码
13、缓冲区的数目。决定编码缓冲区的数目的因素有两个,一个是录音缓冲区的数据目;另一个是一个数据分组的最长打包时间与一个数据分组的最短编码时间的比值,如果这个比值小于 1,则对编码缓冲区的数目没有特殊要求,如果大于 1,则要求有尽可能大的编码缓冲区数目,但一般不要超过录音缓冲区的数目,这是由语音数据的实时性和连续性所决定的。(2)接收端缓冲区数目5 在语音接收端必须有一组接收缓冲区,理由有三:IP 网络阻塞状况不稳定,数据到达有时十分集中,而接收数据又会花费一定的时间,太少的缓冲区会造成数据的丢失;由于 IP 网络只提供一种尽力型服务,不可避免地造成分组丢失和乱序,如果不加以处理,必然会影响实时语音
14、的效果。而处理这些情况都需要存储空间,表现为一定数目的缓冲区;必须对接收到的数据进行后续的处理,而这些处理要产生一定的时延,如果只有一个接收缓冲区,有可能接收到的数据来不及得到处理就被覆盖了。另外,与语音发送方相对应,在语音接收方需要解码缓冲区和回放缓冲区。由于网络延迟抖动的存在和语音应用天然的等时性要求,必须对语音回放设定一个回放延迟,即按照一定的时间间隔回放语音帧,这就需要有一定数目的缓冲区来存放等待回放的语音帧。6 缓冲区的大小录音时,缓冲区大小的选择也是一个关键性的问题。因为如果缓冲区过小,生成的语音帧也就会过小,语音的连续性遭到破坏,同时数据分组的有效数据率也会过小,相对增加了网络负
15、担。如果缓冲区过大,会在语音录制时和其它处理时造成比较大的处理时延,还有可能造成发送的数据分组过大而导致某协议层的数据分割与合并,形成很大的传输时延。所以录音缓冲区要选择合适的大小,必须在语音的连续性和时延之间进行平衡。编码缓冲区的大小取决于录音缓冲区的大小和所采用的编码算法。实际应用中有可能采用不同的编码算法,以适应多变的网络传输状况。缓冲区的大小要采用所需的最大值。计算方法如下:针对一个语音包,包长度RTP 头+UDP头+IP 头+Ethemet 头+有效载荷。其中 RTP 头96bit (12byte);UDP 头=64bit (8byte);IP 头=160bit(20byte);Et
16、hernet 头=208bit(26byte)。所以,包长度(96+64+160+208)十有效载荷 528bit+有效载荷。有效载荷打包周期(秒)x 每秒的比特数带宽包长度 x 每秒包数(528打包周期)+ 每秒比特数因此,要根据不同的语音编解码技术,设计不同的缓冲区:G711,每秒比特数是 64kG729,每秒比特数是 8kG723,两种,一种是 53k,另一种是 63kG711, 20ms 打包,带宽为(52820+64)kbit sG711,30ms 打包,带宽为(52830+64)kbit sG729,20ms 打包,带宽为(52820+8)kbit sG723, 53k, 30ms
17、 打包, 带宽为(52830+5 3)kbits (4) 缓冲区的申请和释放语音通信中对数据块的使用是一次性的。在各个语音数据模块中,一个数据块只会在某个操作中作短暂缓存,处理之后,该数据块对操作不再有任何意义。我们根据实时语音数据的需要,充分利用内存硬件容量优势,编制静态数据链表,循环使用缓冲区,即在应用开始时申请所有缓冲区,将这些缓冲区排成循环队列,用完一个缓冲区就将其排到队尾等待调用,等到整个应用结束时,一次性释放所有缓冲区。文献综述:文章阐述了从一个语音端到另一个接受端传输过程中遇到的信息损坏等问题的解决办法,在接受端解码时如果信息部分丢失,就会导致语音还原时不能得到好的效果。可以通过
18、设计语音缓冲解决语音时延的问题,缓冲区大小也要严格规划,抗语音抖动缓冲区,但时延,抖动,丢包相互制约,必须选择最优方案,把各自的缺点避免一些但又能提高语音传输质量。结论:网络语音技术一步步走向成熟,从一个端到另一端,经过压缩、传输、解码,其中压缩、解码等过程可以用语音软件来完成,这个很简单,但是有时会传输很远的距离,这个就会增大难度,缓冲区大了,时延高,这就让我们很纠结,通过计算,把握好这个度的问题,提高语音传输速度和质量,当然,IP 网络发展如此之快,伴随着“三网合一”的大潮,VoIP 可望成为下一代电信基础设施结构的核心,使未来各电信业务综合统一在 IP 网络上成为可能,导致数据的融合和未来电信市场的重组,并带来新的经济模式和价值链。