基于SCTP的嵌入式远程视频自适应传输系统_第1页
基于SCTP的嵌入式远程视频自适应传输系统_第2页
基于SCTP的嵌入式远程视频自适应传输系统_第3页
基于SCTP的嵌入式远程视频自适应传输系统_第4页
基于SCTP的嵌入式远程视频自适应传输系统_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    基于SCTP的嵌入式远程视频自适应传输系统        高群凯,黄 仁 时间:2008年07月18日     字 体: 大 中 小        关键词:        ? 摘 要:关键词: SCTP? 嵌入式Linux? 视频采集? 自适应? NS2? 同TCP一样,

2、流控制传输协议SCTP(Stream Control Transmission Protocol)1是一种可靠的、提供面向连接的、点到点数据传输协议,它继承了TCP强大的拥塞控制、数据包丢失发现等功能。但是,SCTP具有的一些独特的性质2,如多宿(Multi-homing)、多流(Multi-streaming)、部分有序(Partial Ordering)和块(chunk)绑定等,因此比TCP更适合在WWW、MPEG4等业务中使用。在一般的视频采集系统中,由于不能根据传输网络的拥塞状况实时地调整编码压缩参数和发送速率,导致接收端的视频回放、缓冲数据停滞播放等,给用户带来不好的视觉感受。针对这

3、个问题,本嵌入式远程视频采集传输系统采用SCTP传输协议3,并且采取一些改进的设计策略,使得该系统可以根据网络拥塞状况自适应地实现编码压缩和传输,减少丢失包,从而达到客户端视频播放流畅的满意效果。1 硬件平台和软件环境? 本嵌入式远程视频采集传输系统硬件平台选用北京恒丰锐科科技有限公司的HFRK2410开发板。该开发板是基于SAMSUNG S3C2410X高性能ARM处理器的嵌入式开发平台,稳定工作频率为202MHz, 带有64MB SDRAM 64和64 NAND FLASH存储器,一个USB主机接口,一个USB设备接口,CS8900以太网控制器以及其他设备和模块。? SCTP是Linux

4、2.6 Kernel中新增加的一个传输层协议,因而必须使用2.6以后版本的Linux Kernel,同时在编译Linux Kernel时,要加入对SCTP模块的支持。? Networking -> Networking options -> SCTP Configuration (EXPERIMENTAL) ->? The SCTP Protocol (EXPERIMENTAL)? * SCTP:Debug messages? * SCTP:Debug object counts? 该系统采用USB摄像头获取实时视频,所以把USB 模块和Video4Linux模块的支持全部加

5、入进来。?Device Drivers -> Multimedia devices -> Video For Linux? Video For Linux -> * V4L information in proc filesystem? Device Drivers -> USB support -> USB support -> USB OV511 Camera support? 有了以上基本设置,就可以在此编译的内核中进行系统平台的开发和运行了。2 系统自适应设计和实现2.1 自适应视频发送实现k时刻和tk+1时刻的变化状况。? ? 缓冲状况的变化公式如

6、下:? ? 当时刻tk和时刻tk+1间隔足够小时,式(1)可以写成:? ? 变化式(2):? ? ?(其中为正常参数,且01)? ?则式(5)可简化并插入调整幅度参数A(A为正整数):? ?分析式(7)知,当为正,即缓冲占用比率增大时,表示由于网络阻塞加重,则减小,输入量将减少;当为负,即缓冲占用比率减小时,表示由于网络阻塞减轻,则增大,输入量将增大。视频传输初始开始时, 视频发送子模块以设定的初始速率发送视频数据。其后视频发送子模块在固定的时间间隔内根据上面的算法进行网络负载判断,并计算相应的发送速率调整系数。当网络拥塞时,发送速率减小;当网络空闲时,发送速率增加。2.2 自适应视频编码压缩

7、实现?其中:为正常参数且01,B为调整幅度参数且为正整数,由式(6)定义。? 在视频编码压缩模块开始编码时,以初始编码率E1进行编码,在以后的运行过程中,跟随网络阻塞状况进行调整。当网络拥塞加重时,降低编码率Ek+1,以便在相同的网络传输数据量包含更多的视频图像内容;当网络转为空闲时,又将增加编码率Ek+1,以提高图像画面质量。另外考虑到在不同的应用中,对视频图像编码率有各自特别的要求,因而可以设定一个最高编码率和最低编码率,则Ek+1依次由如下两式计算后得到:? 2.3 自适应调整算法? 根据前述分析,在视频传输初始阶段,视频编码压缩模块以初始编码率E1进行编码,视频发送子模块以设定的初始速

8、率发送视频数据。其后,视频发送子模块在固定的时间间隔内(如5s),根据上面的算法进行网络负载判断,并计算相应的调整系数,再根据情况对视频发送速率和视频编码率作相应调整。具体算法描述如下:? (1)传输开始时,视频编码压缩模块以初始编码率E1进行编码,视频发送子模块以设定的初始速率发送视频数据,即E=E1,Sin=。? (2)计算调整系数:? ? (3)根据调整系数对视频发送速率和视频编码率作相应调整。为了防止视频发送速率和视频编码率的反复细微变化,只对大于等于一定程度的做调整计算,否则不更新:? (4)编码率界限限制计算:? 2.4 自适应算法仿真及结果分析? 本系统在实际实施前需要对其中所涉

9、及算法的正确性、参数的有效性进行分析和合理选择。选用开源免费的网络模拟仿真软件NS2455,随后在3s时由节点1和节点2产生发往节点6和节点7的0.8Mb/s的FTP-TCP数据6和CBR-UDP数据。而分别在28s、20s和20s时,节点0、1和2停止发送数据,结束模拟。? ? 在第一次实验中,选择采用恒定传输速率=1.0Mb/s和编码率E1=420kb/s,每隔0.1s记录一次节点5的接收数据缓冲占有百分比。图2为接收节点缓冲数据占有率随时间变化分布图。? ? 在第二次实验中,采用自适应传输速率和编码率,相关初始参数取值如下:? ? 每隔0.1s就对网络负载判断并根据情况进行自适应调整。在

10、实验中每隔0.1s就记录一次节点0端编码率(由于视频发送速率和编码率按同一形式公式变化,所以记录一个就可以了)和节点5的接收数据缓冲占有百分比,如图3所示。? ? 从图3中可以看到,在3s之前,由于网络存在足够可用带宽,负载小,编码率持续增大,直到设定的最高编码率450kb/s并保持了一段时间。在3s20s的时间段,由于网络传输延时和另外两个节点开始发送数据,导致网络负载加大,MPEG-SCTP数据流与另外两条数据流进行带宽争用,MPEG的编码率上下波动并且整体趋势为逐步下降,直到达到设定的最低编码率350kb/s。在20s后,另外两条数据流关闭,网络负载减小,MPEG的编码率又持续上升,直到

11、450kb/s,并保持。? ?另外,对比两次实验中的接收节点5的缓冲数据占有率随时间变化分布图(图4)可以看到,恒定传输速率和编码率的实验中,节点5的缓冲数据占有率变化完全按照MPEG-SCTP数据流与另外两条数据流进行带宽争用的结果变化,这种情况很容易导致视频播放的不流畅。而在自适应传输速率和编码率的实验中,接收节点缓冲数据占有率除了与MPEG-SCTP数据流与另外两条数据流进行带宽争用的结果有关,还与节点0的编码率有关,其结果是虽然网络负载加大,分给MPEG-SCTP数据流的可用带宽减少,但是接收节点5的缓冲数据占有率反而有上升的趋势。这种情况会导致视频质量下降,但是不会出现播放的缓冲、停

12、滞,相对而言,更能保证实时播放的可视效果。?3 系统实现? 把按照本文第1节所述设置编译的新 Linux 2.6内核烧录到HFRK2410开发板中,安装好网眼3000数码摄像头,并确定其正常驱动后,就可以开始利用Linux系统中的视频子系统Video4Linux为视频程序应用提供一套统一的API,实现视频采集模块。获取图像数据后,在视频编码模块使用XviD库对原始图像数据进行压缩编码。另外从 http:/ API接口实现系统的发送视频模块和视频接收模块。? 系统硬件平台框架图和模块划分见图5和图6。? ? 基于SCTP的视频采集传输系统的设计及实现,基本利用的是免费和开源的资源,具有稳定可靠、开发容易、修改定制方便、成本低廉等特点,可扩展应用在远程监控系统、可视电话、工业控制等领域

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论