CN101944982B - 基于时间驱动滑动窗口协议的流媒体实时转发方法 - Google Patents
基于时间驱动滑动窗口协议的流媒体实时转发方法 Download PDFInfo
- Publication number
- CN101944982B CN101944982B CN 201010250923 CN201010250923A CN101944982B CN 101944982 B CN101944982 B CN 101944982B CN 201010250923 CN201010250923 CN 201010250923 CN 201010250923 A CN201010250923 A CN 201010250923A CN 101944982 B CN101944982 B CN 101944982B
- Authority
- CN
- China
- Prior art keywords
- streaming media
- media server
- time
- receiving terminal
- transmitting terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明基于时间驱动滑动窗口协议的流媒体实时转发方法,对传统滑动窗口算法进行了改进,提出了时间驱动滑动窗口协议,滑动窗口的大小是以时间为单位,丢失列表的生成和发送取决于时间窗口是否超时,为此给每个数据包加上了一个时间戳。本发明大大提高了音视频数据的传输实时性、保证了音视频的高质量传输和转发;同时,通过边界乱序消隐窗口的技术,有效避免了已到达数据包被重发、大量无效重传列表占用额外带宽等负面效应,大大提高了流媒体服务器的实际性能。本发明使得流媒体服务器对网络抖动、网络速率及流媒体码率均具有良好的适应性和鲁棒性。
Description
技术领域
本发明涉及计算机网络中使用的连续时基媒体流式传输技术,特别是基于时间驱动滑动窗口协议的流媒体实时转发方法。
前景技术
流媒体指在Internet等计算机网络中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。目前在网络上传输音/视频等多媒体信息主要有下载和流式传输两种方案。流媒体技术主要是指通过网络传送媒体(如视频、音频)的技术,其特定含义为通过Internet等计算机网络将影视节目、远程音视频等信息传送到PC机及其它终端。
流式传输时,声音、影像或动画等时基媒体由音视频流媒体服务器向用户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。当视频等时基媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流式传输不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点。
流式传输的实现主要有两种方法:实时流式传输(Real-time Streaming)和顺序流式传输(Progressive Streaming)。一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP的实时协议,即为实时流式传输。
实时流式传输指保证媒体信号带宽与网络连接匹配,使媒体可被实时观看的传输方式,实时流需要专用的流媒体服务器与传输协议。
在安防领域,为保证安全监控、报警的及时性,均采用实时流式传输对监控***的音视频数据进行远程传输。
在监控***所采用的实时流媒体***中,流媒体服务器一般采用UDP协议对音视频数据进行传输和转发。在进行大流量实时音视频数据的UDP传输和转发时,重传机制的采用是***画质及音质高保真的必要保障,滑动窗口协议是广泛采用的数据重传机制之一。
滑动窗口算法窗口大小以数据包为单位,只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动,收发两端的窗口按照以上 规律不断地向前滑动。当发送窗口和接收窗口的大小都等于1时,就是停止等待协议;当发送窗口大于1,接收窗口等于1时,就是回退N步协议;当发送窗口和接收窗口的大小均大于1时,就是选择重发协议。
在实际应用中,由于网络抖动及数据包的到达乱序,传统滑动窗口协议的采用将导致大量窗口边界已到达包被重发及重传列表带宽占用严重等负面效应,从而降低***中流媒体服务器的实际性能,并导致不良的用户体验。
发明内容
本发明目的是为解决目前流媒体服务器所存在的不足,提供一种基于时间驱动滑动窗口协议的流媒体实时转发方法。
本发明基于时间驱动滑动窗口协议的流媒体实时转发方法,对传统滑动窗口算法进行了改进,提出了“时间驱动滑动窗口协议”,在该协议中,滑动窗口的大小是以时间为单位,丢失列表的生成和发送取决于时间窗口是否超时,为此给每个数据包加上了一个时间戳。时间驱动滑动窗口协议算法逻辑如图1所示。
时间驱动滑动窗口协议在发送端设置一个发送时间窗口Ts,所有时间戳处于该时间窗口内的数据包均为等待确认包;在接收端设立一个接收时间窗口Tr和边界乱序消隐窗口Tw,接收数据时根据到达数据包的时间戳判断是否将其放入该接收时间窗口,当接收到的数据包的时间戳超出接收时间窗口上时间边界tru时,则认为当前接收时间窗口已超时,需要将其进行向前滑动时间步长Δtr,此时生成并发送数据包到达确认列表到发送端,并将接收时间窗口的上下时间边界分别由trl和tru调整为trl+Δtr和tru+Δtr,接收时间窗口大小Tr保持不变。发送端在收到数据包到达确认列表后,对需要重传的数据包进行重传,并将发送窗口向前滑动时间步长Δtr,即将发送时间窗口的上下时间边界分别由tsl和tsu调整为tsl+Δts和tsu+Δts。边界乱序消隐窗口用于消除窗口边界乱序,解决乱序导致的已到达包被重发从而占用额外带宽的问题。
基于上述时间驱动滑动窗口协议,为了实现音视频数据在发送端、流媒体服务器和接收端之间的高实时性传输,我们研发了“基于时间驱动滑动窗口协议的流媒体实时转发方法”,方法的整体逻辑流程如图2所示:
本发明的具体方法为:设发送端到服务器、服务器到接收端的相应窗口大小及步长相同。发送端和流媒体服务器作为发送端各设一个发送时间窗口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时刻):接收端解码结束,开始播放音频/视频。
在该方法中,流媒体服务器将来自发送端的数据进行即时转发,并将传输过程中丢失的数据包通过时间驱动滑动窗口协议进行重传,大大提高了音视频数据的传输实时性、保证了音视频的高质量传输和转发;同时,通过边界乱序消隐窗口的技术,有效避免了已到达数据包被重发、大量无效重传列表占用额外带宽等负面效应,大大提高了流媒体服务器的实际性能。同时,由于滑动窗口大小以时间为单位,该方法使得流媒体服务器对网络抖动、网络速率及流媒体码率均具有良好的适应性和鲁棒性。
通过对上述方法的研发和运用,流媒体服务器可以在发送端和接收端之间实现2-5秒以内的音视频延迟,同时,通过上述时间驱动滑动窗口协议的研发和应用,使得流媒体***能够及时将传输过程中丢失的数据包进行及时转发,有效保障了接收端所接收到的视频清晰度和质量,提供了良好的用户体验。
附图说明
图1为时间驱动滑动窗口协议算法逻辑图;
图2为整体逻辑流程图。
具体实施方式
一种基于时间驱动滑动窗口协议的流媒体实时转发方法,设发送端到服务器、服务器到接收端的相应窗口大小及步长相同,发送端和流媒体服务器作为发送端各设一个发送时间窗口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时刻:接收端解码结束,开始播放音频/视频。
在该方法中,流媒体服务器将来自发送端的数据进行即时转发,并将传输过程中丢失的数据包通过时间驱动滑动窗口协议进行重传,大大提高了音视频数据的传输实时性、保证了音视频的高质量传输和转发;同时,通过边界乱序消隐窗口的技术,有效避免了已到达数据包被重发、大量无效重传列表占用额外带宽等负面效应,大大提高了流媒体服务器的实际性能。同时,由于滑动窗口大小以时间为单位,该方法使得流媒体服务器对网络抖动、网络速率及流媒体码率均具有良好的适应性和鲁棒性。
Claims (1)
1.一种基于时间驱动滑动窗口协议的流媒体实时转发方法,其特征在于:滑动窗口的大小是以时间为单位,丢失列表的生成和发送取决于时间窗口是否超时,为此给每个数据包加上了一个时间戳;设发送端到服务器、服务器到接收端的相应窗口大小及步长相同,发送端和流媒体服务器作为发送端各设一个发送时间窗口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时刻:接收端解码结束,开始播放音频/视频。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010250923 CN101944982B (zh) | 2010-08-11 | 2010-08-11 | 基于时间驱动滑动窗口协议的流媒体实时转发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010250923 CN101944982B (zh) | 2010-08-11 | 2010-08-11 | 基于时间驱动滑动窗口协议的流媒体实时转发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101944982A CN101944982A (zh) | 2011-01-12 |
CN101944982B true CN101944982B (zh) | 2013-04-10 |
Family
ID=43436770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010250923 Expired - Fee Related CN101944982B (zh) | 2010-08-11 | 2010-08-11 | 基于时间驱动滑动窗口协议的流媒体实时转发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101944982B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217237B (zh) * | 2011-05-09 | 2013-12-04 | 华为技术有限公司 | 媒体流性能监控方法及设备 |
CN102685143B (zh) * | 2012-05-23 | 2015-02-04 | 北京新媒传信科技有限公司 | 音频数据的传输方法以及客户端、服务器 |
CN104125034A (zh) * | 2013-04-23 | 2014-10-29 | 深圳市同洲电子股份有限公司 | Udp数据包的传输方法及*** |
CN105376173B (zh) * | 2014-09-02 | 2020-04-28 | 中兴通讯股份有限公司 | 一种发送窗口流量控制方法和终端 |
CN105828018B (zh) * | 2015-12-21 | 2019-02-22 | 广东亿迅科技有限公司 | 用于视频会议的传输方法 |
CN108540855B (zh) * | 2018-04-18 | 2021-09-28 | 王健 | 一种适用于网络直播场景下的自适应低延时流媒体播放方法 |
CN109756475B (zh) * | 2018-11-27 | 2021-07-16 | 中国船舶重工集团公司第七0九研究所 | 一种单向网络中数据传输方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179362A (zh) * | 2006-11-07 | 2008-05-14 | 中兴通讯股份有限公司 | 适宜移动流媒体应用的自动重传请求机制 |
EP1947884A2 (en) * | 2007-01-22 | 2008-07-23 | Broadcom Corporation | Method and system for medium access control (MAC) rate selection |
CN101616316A (zh) * | 2009-06-10 | 2009-12-30 | 中兴通讯股份有限公司 | 一种视频数据的发送、接收装置及发送、接收方法 |
CN101656747A (zh) * | 2009-09-25 | 2010-02-24 | 深圳创维数字技术股份有限公司 | 流媒体数据的传输方法及*** |
-
2010
- 2010-08-11 CN CN 201010250923 patent/CN101944982B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179362A (zh) * | 2006-11-07 | 2008-05-14 | 中兴通讯股份有限公司 | 适宜移动流媒体应用的自动重传请求机制 |
EP1947884A2 (en) * | 2007-01-22 | 2008-07-23 | Broadcom Corporation | Method and system for medium access control (MAC) rate selection |
CN101616316A (zh) * | 2009-06-10 | 2009-12-30 | 中兴通讯股份有限公司 | 一种视频数据的发送、接收装置及发送、接收方法 |
CN101656747A (zh) * | 2009-09-25 | 2010-02-24 | 深圳创维数字技术股份有限公司 | 流媒体数据的传输方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN101944982A (zh) | 2011-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101944982B (zh) | 基于时间驱动滑动窗口协议的流媒体实时转发方法 | |
US11381622B2 (en) | Method and apparatus for media data delivery control | |
CN101222311B (zh) | 实时报文丢包恢复方法、***及接收端单元 | |
CN106656422B (zh) | 一种动态调整fec冗余度的流媒体传输方法 | |
US7106757B2 (en) | System and method for streaming multimedia over packet networks | |
CN101232443B (zh) | 传输设备、接收设备、分组传输和分组接收方法及其程序 | |
CN101552660B (zh) | 对流媒体数据进行重传、播放的方法、装置及通信*** | |
CN102118653B (zh) | 保障网络电视直播业务的业务服务质量的方法和设备 | |
US20090103635A1 (en) | System and method of unequal error protection with hybrid arq/fec for video streaming over wireless local area networks | |
CN109155707B (zh) | 在多播网络中请求数据重传 | |
RU2501172C2 (ru) | Способ и устройство для компенсации потери пакетов в режиме передачи данных по протоколу пользовательских дейтаграмм | |
CN103109485A (zh) | 用于作出重发决定的方法和装置 | |
WO2000030356A1 (en) | Decoder buffer for streaming video receiver | |
CN105721950A (zh) | 一种可靠媒体流传输装置 | |
CN101179362A (zh) | 适宜移动流媒体应用的自动重传请求机制 | |
WO2013098811A1 (en) | Packets recovery system and method | |
CN113014586B (zh) | Rtp数据包乱序处理及重组帧方法和*** | |
Singh et al. | Comparison of multiple-description coding and layered coding based on network simulations | |
CN103096183A (zh) | 一种高效流媒体传输方法 | |
CN106713345A (zh) | 一种流媒体传输方法 | |
CN110225419A (zh) | 一种实现流量控制的丢包重传方法 | |
Sinha et al. | An adaptive multiple retransmission technique for continuous media streams | |
WO2013098812A1 (en) | Transport over udp system and method | |
Miguel et al. | High-definition video distribution in 802.11 g home wireless networks | |
WO2008073881A2 (en) | System and method for low-delay, interactive communication using multiple tcp connections and scalable coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130410 Termination date: 20130811 |