基于时间驱动滑动窗口协议的流媒体实时转发方法

文档序号:7756559阅读:198来源:国知局
专利名称:基于时间驱动滑动窗口协议的流媒体实时转发方法
技术领域
本发明涉及计算机网络中使用的连续时基媒体流式传输技术,特别是基于时间驱 动滑动窗口协议的流媒体实时转发方法。前景技术流媒体指在Internet等计算机网络中使用流式传输技术的连续时基媒体,如音 频、视频或多媒体文件。目前在网络上传输音/视频等多媒体信息主要有下载和流式传输 两种方案。流媒体技术主要是指通过网络传送媒体(如视频、音频)的技术,其特定含义为 通过Internet等计算机网络将影视节目、远程音视频等信息传送到PC机及其它终端。流式传输时,声音、影像或动画等时基媒体由音视频流媒体服务器向用户计算机 的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动 延时即可进行观看。当视频等时基媒体在客户机上播放时,文件的剩余部分将在后台从服 务器内继续下载。流式传输不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容 量。流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点。流式传输的实现主要有两种方法实时流式传输(Real-time Streaming)和顺序 流式传输(Progressive Streaming)。一般说来,如视频为实时广播,或使用流式传输媒体 服务器,或应用如RTSP的实时协议,即为实时流式传输。实时流式传输指保证媒体信号带宽与网络连接匹配,使媒体可被实时观看的传输 方式,实时流需要专用的流媒体服务器与传输协议。在安防领域,为保证安全监控、报警的及时性,均采用实时流式传输对监控系统的 音视频数据进行远程传输。在监控系统所采用的实时流媒体系统中,流媒体服务器一般采用UDP协议对音视 频数据进行传输和转发。在进行大流量实时音视频数据的UDP传输和转发时,重传机制的 采用是系统画质及音质高保真的必要保障,滑动窗口协议是广泛采用的数据重传机制之
ο滑动窗口算法窗口大小以数据包为单位,只有在接收窗口向前滑动时(与此同时 也发送了确认),发送窗口才有可能向前滑动,收发两端的窗口按照以上规律不断地向前 滑动。当发送窗口和接收窗口的大小都等于1时,就是停止等待协议;当发送窗口大于1, 接收窗口等于1时,就是回退N步协议;当发送窗口和接收窗口的大小均大于1时,就是选 择重发协议。在实际应用中,由于网络抖动及数据包的到达乱序,传统滑动窗口协议的采用将 导致大量窗口边界已到达包被重发及重传列表带宽占用严重等负面效应,从而降低系统中 流媒体服务器的实际性能,并导致不良的用户体验。

发明内容
本发明目的是为解决目前流媒体服务器所存在的不足,提供一种基于时间驱动滑 动窗口协议的流媒体实时转发方法。
本发明基于时间驱动滑动窗口协议的流媒体实时转发方法,对传统滑动窗口算法 进行了改进,提出了 “时间驱动滑动窗口协议”,在该协议中,滑动窗口的大小是以时间为单 位,丢失列表的生成和发送取决于时间窗口是否超时,为此给每个数据包加上了一个时间 戳。时间驱动滑动窗口协议算法逻辑如图1所示。时间驱动滑动窗口协议在发送端设置一个发送时间窗口 Ts,所有时间戳处于该时 间窗口内的数据包均为等待确认包;在接收端设立一个接收时间窗口 Tr和边界乱序消隐 窗口 Tw,接收数据时根据到达数据包的时间戳判断是否将其放入该接收时间窗口,当接收 到的数据包的时间戳超出接收时间窗口上时间边界tra时,则认为当前接收时间窗口已超 时,需要将其进行向前滑动时间步长Δ、,此时生成并发送数据包到达确认列表到发送端, 并将接收时间窗口的上下时间边界分别由tri和tra调整为tri+A、和tra+A、,接收时间 窗口大小Tr保持不变。发送端在收到数据包到达确认列表后,对需要重传的数据包进行重 传,并将发送窗口向前滑动时间步长Δ、,即将发送时间窗口的上下时间边界分别由tsl和 tsu调整为tsl+Ats*tsu+Ats。边界乱序消隐窗口用于消除窗口边界乱序,解决乱序导致 的已到达包被重发从而占用额外带宽的问题。基于上述时间驱动滑动窗口协议,为了实现音视频数据在发送端、流媒体服务器 和接收端之间的高实时性传输,我们研发了“基于时间驱动滑动窗口协议的流媒体实时转 发方法”,方法的整体逻辑流程如图2所示本发明的具体方法为设发送端到服务器、服务器到接收端的相应窗口大小及步 长相同。发送端和流媒体服务器作为发送端各设一个发送时间窗口 Ts,流媒体服务器和接 收端作为接收端各设一个接收时间窗口 Tr及边界乱序消隐窗口 Tw,丢失重传队列长度为 At,。设t0至t9为相关事件发生的相应时刻,本发明基于时间驱动滑动窗口协议的流媒 体实时转发方法的整体逻辑流程及步骤如下第一步(t0时刻)发送端采集音视频数据,经过编码后以UDP数据包的形式发送 到流媒体服务器。第二步(tl时刻)发送端所发送的UDP数据到达流媒体服务器,流媒体服务器根 据立即转发策略将所接收到的数据发送往接收端;因发送端发送的UDP包可能在传输过程 中丢失,因此流媒体服务器在数据到达的同时开始进行UDP数据包丢失检测。第三步(t2时刻)流媒体服务器对UDP数据包丢失的检测结束,依据检测结果生 成丢失列表,为保证数据的重传,该丢失列表以TCP形式发送回发送端。第四步(t3时刻)流媒体服务器立即转发出来的UDP数据到达接收端;同样,UDP 数据可能在传输过程中丢失,因此接收端在数据开始到达时启动丢失检测过程。与此同时, 流媒体服务器生成并发回给发送端的UDP数据包丢失列表开始到达发送端。第五步(t4时刻)流媒体服务器发出的丢失列表完全到达发送端,发送端依据该 列表开始重传上次发送时被丢失的UDP数据包;同时,接收端的数据包丢失检测结束,并生 成数据包丢失列表以TCP形式发送回流媒体服务器。第六步(t5时刻)发送端重发的UDP数据包到达流媒体服务器,流媒体服务器立 即转发这些数据包,并启动乱序消隐过程,将所有接收到的UDP数据包按序存入转发缓冲 区中;同时,接收端生成并发送的丢失列表开始到达流媒体服务器。第七步(t6时刻)发送端重发完所有丢失的数据包,且这些数据包到达流媒体服务器,流媒体服务器通过乱序消隐处理将其放入转发缓冲区中,并依据接收端发来的数据 包丢失列表重传丢失数据包到对应的数据接收端。第八步(t7时刻)流媒体服务器重传的UDP数据开始到达接收端,为保证数据的 正确性,接收端同时启动乱序消隐过程。第九步(t8时刻)所有流媒体服务器重发出来的UDP数据到达接收端,接收端启 动解码过程。第十步(t9时刻)接收端解码结束,开始播放音频/视频。在该方法中,流媒体服务器将来自发送端的数据进行即时转发,并将传输过程中 丢失的数据包通过时间驱动滑动窗口协议进行重传,大大提高了音视频数据的传输实时 性、保证了音视频的高质量传输和转发;同时,通过边界乱序消隐窗口的技术,有效避免了 已到达数据包被重发、大量无效重传列表占用额外带宽等负面效应,大大提高了流媒体服 务器的实际性能。同时,由于滑动窗口大小以时间为单位,该方法使得流媒体服务器对网络 抖动、网络速率及流媒体码率均具有良好的适应性和鲁棒性。通过对上述方法的研发和运用,流媒体服务器可以在发送端和接收端之间实现 2-5秒以内的音视频延迟,同时,通过上述时间驱动滑动窗口协议的研发和应用,使得流媒 体系统能够及时将传输过程中丢失的数据包进行及时转发,有效保障了接收端所接收到的 视频清晰度和质量,提供了良好的用户体验。


图1为时间驱动滑动窗口协议算法逻辑图; 图2为整体逻辑流程图。
具体实施例方式一种基于时间驱动滑动窗口协议的流媒体实时转发方法,设发送端到服务器、服 务器到接收端的相应窗口大小及步长相同,发送端和流媒体服务器作为发送端各设一个发 送时间窗口 Ts,流媒体服务器和接收端作为接收端各设一个接收时间窗口 Tr及边界乱序 消隐窗口 Tw,丢失重传队列长度为Δ t,,设t0至t9为相关事件发生的相应时刻,具体步骤 如下第一步,t0时刻发送端采集音视频数据,经过编码后以UDP数据包的形式发送到 流媒体服务器;第二步,tl时刻发送端所发送的UDP数据到达流媒体服务器,流媒体服务器根据 立即转发策略将所接收到的数据发送往接收端;因发送端发送的UDP包可能在传输过程中 丢失,因此流媒体服务器在数据到达的同时开始进行UDP数据包丢失检测;第三步,t2时刻流媒体服务器对UDP数据包丢失的检测结束,依据检测结果生成 丢失列表,为保证数据的重传,该丢失列表以TCP形式发送回发送端;第四步,t3时刻流媒体服务器立即转发出来的UDP数据到达接收端;同样,UDP 数据可能在传输过程中丢失,因此接收端在数据开始到达时启动丢失检测过程。与此同时, 流媒体服务器生成并发回给发送端的UDP数据包丢失列表开始到达发送端;第五步,t4时刻流媒体服务器发出的丢失列表完全到达发送端,发送端依据该 列表开始重传上次发送时被丢失的UDP数据包;同时,接收端的数据包丢失检测结束,并生 成数据包丢失列表以TCP形式发送回流媒体服务器;
5
第六步,t5时刻发送端重发的UDP数据包到达流媒体服务器,流媒体服务器立即 转发这些数据包,并启动乱序消隐过程,将所有接收到的UDP数据包按序存入转发缓冲区 中;同时,接收端生成并发送的丢失列表开始到达流媒体服务器;第七步,t6时刻发送端重发完所有丢失的数据包,且这些数据包到达流媒体服 务器,流媒体服务器通过乱序消隐处理将其放入转发缓冲区中,并依据接收端发来的数据 包丢失列表重传丢失数据包到对应的数据接收端;第八步,t7时刻流媒体服务器重传的UDP数据开始到达接收端,为保证数据的正 确性,接收端同时启动乱序消隐过程;第九步,t8时刻所有流媒体服务器重发出来的UDP数据到达接收端,接收端启动 解码过程;第十步,t9时刻接收端解码结束,开始播放音频/视频。在该方法中,流媒体服务器将来自发送端的数据进行即时转发,并将传输过程中 丢失的数据包通过时间驱动滑动窗口协议进行重传,大大提高了音视频数据的传输实时 性、保证了音视频的高质量传输和转发;同时,通过边界乱序消隐窗口的技术,有效避免了 已到达数据包被重发、大量无效重传列表占用额外带宽等负面效应,大大提高了流媒体服 务器的实际性能。同时,由于滑动窗口大小以时间为单位,该方法使得流媒体服务器对网络 抖动、网络速率及流媒体码率均具有良好的适应性和鲁棒性。
权利要求
一种基于时间驱动滑动窗口协议的流媒体实时转发方法,其特征在于设发送端到服务器、服务器到接收端的相应窗口大小及步长相同,发送端和流媒体服务器作为发送端各设一个发送时间窗口Ts,流媒体服务器和接收端作为接收端各设一个接收时间窗口Tr及边界乱序消隐窗口Tw,丢失重传队列长度为Δtr,设t0至t9为相关事件发生的相应时刻,具体步骤如下第一步,t0时刻发送端采集音视频数据,经过编码后以UDP数据包的形式发送到流媒体服务器;第二步,t1时刻发送端所发送的UDP数据到达流媒体服务器,流媒体服务器根据立即转发策略将所接收到的数据发送往接收端;因发送端发送的UDP包可能在传输过程中丢失,因此流媒体服务器在数据到达的同时开始进行UDP数据包丢失检测;第三步,t2时刻流媒体服务器对UDP数据包丢失的检测结束,依据检测结果生成丢失列表,为保证数据的重传,该丢失列表以TCP形式发送回发送端;第四步,t3时刻流媒体服务器立即转发出来的UDP数据到达接收端;同样,UDP数据可能在传输过程中丢失,因此接收端在数据开始到达时启动丢失检测过程。与此同时,流媒体服务器生成并发回给发送端的UDP数据包丢失列表开始到达发送端;第五步,t4时刻流媒体服务器发出的丢失列表完全到达发送端,发送端依据该列表开始重传上次发送时被丢失的UDP数据包;同时,接收端的数据包丢失检测结束,并生成数据包丢失列表以TCP形式发送回流媒体服务器;第六步,t5时刻发送端重发的UDP数据包到达流媒体服务器,流媒体服务器立即转发这些数据包,并启动乱序消隐过程,将所有接收到的UDP数据包按序存入转发缓冲区中;同时,接收端生成并发送的丢失列表开始到达流媒体服务器;第七步,t6时刻发送端重发完所有丢失的数据包,且这些数据包到达流媒体服务器,流媒体服务器通过乱序消隐处理将其放入转发缓冲区中,并依据接收端发来的数据包丢失列表重传丢失数据包到对应的数据接收端;第八步,t7时刻流媒体服务器重传的UDP数据开始到达接收端,为保证数据的正确性,接收端同时启动乱序消隐过程;第九步,t8时刻所有流媒体服务器重发出来的UDP数据到达接收端,接收端启动解码过程;第十步,t9时刻接收端解码结束,开始播放音频/视频。
全文摘要
本发明基于时间驱动滑动窗口协议的流媒体实时转发方法,对传统滑动窗口算法进行了改进,提出了时间驱动滑动窗口协议,滑动窗口的大小是以时间为单位,丢失列表的生成和发送取决于时间窗口是否超时,为此给每个数据包加上了一个时间戳。本发明大大提高了音视频数据的传输实时性、保证了音视频的高质量传输和转发;同时,通过边界乱序消隐窗口的技术,有效避免了已到达数据包被重发、大量无效重传列表占用额外带宽等负面效应,大大提高了流媒体服务器的实际性能。本发明使得流媒体服务器对网络抖动、网络速率及流媒体码率均具有良好的适应性和鲁棒性。
文档编号H04L29/06GK101944982SQ20101025092
公开日2011年1月12日 申请日期2010年8月11日 优先权日2010年8月11日
发明者杨智勇, 麦金香 申请人:南昌市恒鑫电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1