以太网环境下实时音频传输的研究

出处:尤新亮 发布于:2007-11-30 14:09:10

  随着网络技术的快速发展,VoIP技术得到了广泛的应用。特别是在局域网环境下,VoIP凭借其应用便捷,价格低廉的优点,已经成为了人们即时交流的主要方式之一。从实际应用效果来看,时延成为影响VoIP话音质量的关键因素。ITU-TG.114规定,对于高质量语音可接受的时延是300 ms。一般来说,如果时延在300~400 ms,通话的交互性比较差,但还可以接受。时延大于400 ms时,则交互通信非常困难,所以如何确保音频实时传输已经成为VoIP技术中首要解决的问题之一。

  本文首先介绍了VoIP原理和基本实现流程,然后对以太网环境下实时音频传输进行了实验研究,分析了缓冲区设置和音频API调用对音频时延的影响,并根据分析结果,提出了解决以太网音频时延的对策。

  1、VoIP原理及其基于PC平台的实现流程

  VoIP的基本原理是:发送端通过语音的压缩算法对采集到的原始语音数据进行压缩处理,然后把这些压缩后的语音数据按TCP/IP标准进行打包,经过IP网络把数据包发送至接收端;接收端将分组话音重组,经过解压处理后,恢复成原来的语音信号,从而达到由网络传送语音的目的。

  图1为基于PC平台的VoIP实现流程。如图所示,基于PC平台的VoIP应用的基本实现包括接收模块、发送模块和网络传输三部分构成。其中,发送模块主要由音频采集、音频编码、分组话音封装等部分组成。接收模块的实现过程一般由发送模块的逆过程构成,主要包括分组话音的接收,音频解码及音频播放等部分组成。

基于PC平台的VoIP实现流程

图1 基于PC平台的VoIP实现流程

  下面分别介绍各部分功能以及常规的实现方式。

  音频采集和播放模块主要对音频信号进行采集和回放操作,完成模拟语音和数字语音之间的转换。它主要通过音频API函数来实现其功能。在Windows操作系统中,常见的音频API函数有:WaveX、DirectSound和ASIO等。

  音频编码与解码模块主要完成对语音数据的压缩与解压功能。在发送端由于采集到的原始语音数据量比较大,需要对原始语音数据以特定的音频格式进行压缩编码。同理,在接收端需要对接收到的语音数据进行解压还原。在Windows操作系统中,ACM(Audio Compression Manager,音频压缩管理器)管理着系统中的所有音频编码译码器(CODEC),负责对语音数据进行压缩与解压缩。CODEC是一小段用于压缩(Compress)及解压缩(Decompress)数据流的代码。CODEC可以是由操作系统本身附带的CODEC,也可由系统中所安装的应用程序安装其他的CODEC。

  分组话音封装和分组话音接收模块主要是为压缩后的语音数据加上相应的报头,使其成为一个语音包,然后送给传输模块。TCP/IP协议体系中有两个不同的传输层协议,分别是面向连接的传输控制协议TCP和无连接的用户数据报协议UDP。这两种协议的不同之处在于UDP提供无连接的服务,在传输数据之前不需要先建立连接,远程主机接收到UDP数据后,不需要给出任何确认;而TCP则提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。对于音频应用来说,一般使用UDP协议。这是因为虽然UDP协议不提供错误重传的功能,但是它可以保证音频数据的实时性。

  网络传输模块就是将封装好的IP语音数据包从发送端发往接收端。在Windows操作系统中,主要通过Winsock函数来完成。

  2、缓冲区大小与时延的关系

  缓冲区大小与时延有着密切的关系。一般来说,缓冲区大时,时延较大,但是可以有效地进行失序重组等操作,话音质量较好;缓冲区较小时,时延较小,但由于缓冲并没有很好地消除时延抖动等因素,导致话音质量较差。所以要将缓冲设为合适的大小,使得时延较小,同时又保持着较好的语音质量。

  实验程序是我们前期编写的PCtoPC的VoIP程序,是由VC++编写的,使用低阶的音频API-WaveX函数来实现音频的采集和回放;使用ACM来进行语音的压缩和解压缩;使用Winsock来进行网络通信。实验程序实现了网络语音传输的基本功能,程序中采集和回放缓冲区大小相同,个数均为2,采用乒乓制。


  
关键词:以太网环境下实时音频传输的研究

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站客服电话

0571-85317606

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!