欢迎来到天天文库
浏览记录
ID:33925850
大小:350.92 KB
页数:6页
时间:2019-02-28
《基于udp协议的视频图像传输的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据现代计算机^总第●I四七期v研究与开发王军,吕海宝,许国梁(国防科技大学机电工程研究所,长沙410073)摘要:本文首先介绍了利用LrDP协议进行视频网络传输的优点和不足。然后,根据视频网络传输的要求扩展了UDP协议,给UDP数据包定义了一个8个字节的包头结构,用来传送数据包的序列号、时戳等信息,且在发送端对传输进行光滑化处理,严格控制数据包发送间隔,减小了传输延迟,减小了抖动发生的可能性,从而保证了视频传输的有序性和正确性。最后,给出了一种在Delphi6.0下实现的视频传输的具体方法和流程。该软件能够满足多种网络
2、平台上的视频传输的要求。关键词:视频;UDP协议;传输;数据包;分组引言在世界信息化数字化的浪潮中,多媒体技术和通信技术已成为计算机产业关注的焦点。多媒体技术和通信技术的融合形成了多媒体通信技术。数字视频传输作为多媒体传输的一个主要方面被广泛地研究。但是,一直以来由于视频数据量大和网络带宽有限的矛盾,视频传输技术的应用受到很大制约,因此必须根据视频传输的特点采用合适的网络协议和传输算法,才能达到较好的传输效果。1视频图像传输协议的设计视频图像传输与传统的文件传输有着明显的区别,传统文件的传输对于传输的延迟、抖动没有过多的要求
3、,但是要求有严格的差错控制和重传机制。视频图像传输在传输的实时性、同步性上要求很高,并且要求传输延迟小。视频图像传输能够忍受分组丢失造成的差错和反常,也可以忍受由于没有重传或者纠错机制而导致的分组丢失或延迟,但却无法容忍由于基于重传的差错控制机制引起的显示不连续或显示混乱。视频图像传输有以下几个特点:①连续性、实时性;18MODERNCoMPUTER2002.9②占用较大的网络带宽;⑧需要精确的时间控制;④要具有广播和多播的功能;⑨允许一定的传输误码。在网络传输视频时,发送端和接收端需要确定一个传输的协议。UDP(用户数据报
4、协议)是一种简单的传输层协议。UDP是无连接的,不提供数据的重传和确认,可以提高传输效率,并且UDP支持网络广播功能,适合进行网络视频传输。但是,视频传输的特点要求传输协议能够处理传输中的延迟和抖动现象,能够处理突发的视频传送,并且能够根据接收端的接收质量判断网络状况,做出相应的反馈。UDP本身并不能很好地处理这些情况,而且UDP还限定了每次发送的数据包的大小不得超过2048字节,而一帧视频数据常常超过这个限定。因此,我们根据视频图像传输的要求扩展了UDP协议,增加一些处理机制以保证视频数据传输的正确和有序。扩展了的UDP协
5、议描述如下:①发送端和接收端确定一个传输缓冲区,大小为65536字节,这样缓冲区的大小可以满足处理一帧视频数据的突发传送的需要。发送端首先把一帧视频数据写入缓冲区,将其分解为若干数据包,万方数据使得每一数据包的大小不超过2048字节,称为一个分组数据。②对一个分组数据的每个数据包加上一个包头结构,包头结构里定义了序列号,传输通道号,视频压缩格式,时戳。序列号是数据包发送的顺序标记,用以检测传输中是否有数据丢失,并用在接受端来重新排序。传输通道号用于多通道视频传输。视频压缩格式标记用于接收端采用相应的解码流程。时戳控制视频回放
6、的时间。⑧传输超时和分组丢失的处理机制。视频图像传输要求实时性高,而允许一定的传输误码率。接收端对于发送的数据包超过时限未能接收到,则认为数据包丢失。如果分组数据包丢失小于一定数目时,则简单地丢弃该分组的数据。如果数据包丢失数目多,而且多数分组发生丢失现象,则认为网络阻塞,降低发送方发送速率。当发送端速率小于20kbps时,认为网络断开连接,停止发送。④接收端接收到一个分组数据的所有数据包后,根据数据包头序列号标记对数据包进行重新排序,并恢复成一帧完整的视频数据。根据数据包头的压缩格式标记送去相应的解码流程。⑤发送端在发送完
7、一个分组的数据后,丢弃这个分组数据。接收端收到一个分组并送去解码完成后,丢失这个分组数据。这样处理可以减小系统内存开销。2传输的软件实现我们在Delphi6.0下实现了利用这个UDP扩展协议的视频传输。采用客户机/服务器模式实现视频传输。发送端为服务器,接收端作为客户机。客户机向服务器提出连接请求。服务器接收请求以后,开始向客户机发送视频数据,并根据客户机接收数据的反馈自适应地改变视频的发送速度和质量。服务器端首先要获取经过压缩的一帧视频数据,写入传输缓冲区。对一帧视频数据,在传输中它们要被分解为若干数据包,作为一个分组。由
8、于网络是动态变化的,每个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不同,甚至先发的数据包还有可能后到。如果数据包大小差距过大,网络造成的传输延迟和抖动将很明显,所以我们把一帧视频数据尽量等分,严格控制每个数据包研究与开发发送间隔,并保证发送下一帧数据前发送完所有当前分组。这种等分
此文档下载收益归作者所有