一种tcp视频传输进行误码重传控制的方法

文档序号:1745007 发布日期:2019-11-26 浏览:33次 >En<

阅读说明:本技术 一种tcp视频传输进行误码重传控制的方法 (A kind of method that TCP transmission of video carries out error code Retransmission control ) 是由 杨工明 李衡 徐勇 周子容 叶隽毅 李嘉仪 于 2019-07-09 设计创作,主要内容包括:本发明公开了一种TCP视频传输进行误码重传控制的方法。现有机制会导致传输速度降低,造成大量的视频流数据报文延时到达。本发明方法接收方在接收到报文后,判断是否丢包并检测误码,如果出现误码,计算该报文的丢包率和误码率。接收方根据丢包与误码情况分别处理:丢包率为0或小于阈值,继续正常传输;丢包率大于等于阈值,且误码率小于阈值,不做误码重传通告处理,启动拥塞避免机制和慢启动机制;丢包率和误码率均大于等于阈值,观察一段时间后,根据不同情况处理,若丢包无加剧现象,则继续正常加速,否则说明同时存在拥塞现象,按照TCP规则减速。本发明方法可以极大减少触发网络拥塞,平滑网络环境。(The invention discloses a kind of methods that TCP transmission of video carries out error code Retransmission control.Current mechanism will lead to transmission speed reduction, and a large amount of video stream data message delay is caused to reach.The method of the present invention recipient judges whether packet loss and detects error code after receiving message, if there is error code, calculates the packet loss and the bit error rate of the message.Recipient is handled according to packet loss with error condition respectively: packet loss is 0 or is less than threshold value, continues normal transmission;Packet loss is more than or equal to threshold value, and the bit error rate is less than threshold value, does not do error code and retransmits notice processing, starts congestion avoidance mechanism and slow turn-on mechanism;Packet loss and the bit error rate are all larger than equal to threshold value, after observing a period of time, are handled according to different situations, if packet loss continues normal acceleration without aggravation phenomenon, otherwise explanation exists simultaneously congestion phenomenon, slows down according to TCP rule.The method of the present invention can greatly reduce triggering network congestion, smooth network environment.)

一种TCP视频传输进行误码重传控制的方法

技术领域

本发明属于通信技术领域,具体涉及一种在采用TCP协议的视频传输过程中,对由于误码原因造成的丢包重传进行优化的误码重传控制方法

背景技术

TCP(传输控制协议,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,是目前Internet环境进行视频传输的主要传输控制协议,为各主机之间提供可靠按序的传输服务。TCP拥塞控制是其成功应用的重要原因,即只要终端检测出有数据丢失,均认为是网络拥塞所致,于是调用拥塞控制机制,这对于链路质量较好的有线环境是适宜的。拥塞是指路由器因无法处理高速率到达流量,而被迫丢弃数据信息的现象。拥塞控制是指防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载.通常采用慢启动、拥塞避免等机制。其中,慢启动是指在发送方主机刚开始发送数据报的时候先探测一下网络的状况,如果网络状况良好,发送方每发送一次文段都能正确的接受对方的确认报文段。那么就从小到大的增加拥塞窗口的大小,即增加发送窗口的大小。拥塞避免是指拥塞窗口(cwnd) 缓慢的增加而不是加倍的增长,每经历过一次往返时间就使拥塞窗口(cwnd)增加1,而不是加倍,这样使cwnd缓慢的增长。只要判断网络出现拥塞,就要把慢启动开始门限(ssthresh) 设置为设置为发送窗口的一半(≥2),cwnd设置为1,然后再使用慢启动算法,这样就能迅速的减少主机向网络中传输数据,使发生拥塞的路由器能够把队列中堆积的分组处理完毕。

在基于无线环境下的视频传输中,由于无线环境与有线环境相比,通常具有较高的比特误码率(BER)、变化的带宽、时延大以及频繁的移动特性,将传统的基于有线环境设计的TCP 技术应用于无线环境时,会造成大幅度的性能减退。这是因为,在无线环境中,丢包的原因不一定是拥塞引起的,大多数时候的丢包是由信道本身特性不理想,例如信号干扰、多径衰落等,或是由移动和切换造成的,TCP将误码引起的丢包当作拥塞进行处理,而降低发包速率,显然是不合适的。因此无线网络中如何有效区分丢包原因,并据此做出正确反应就成为提高无线网络线TCP传输视频流性能的关键。

在拥塞丢包时,调用拥塞控制算法,降低数据包发送速率;在无线丢包时,采用显式重传,保持原有发送速率。

高误码率对TCP性能的影响包括以下两种:

(1)随机误码对TCP的影响:如果很少,能利用纠错码恢复;过多的误码则可能导致报文到达传输层前被丢弃;引发快速重传;窗口减少、吞吐率降低;

(2)突发误码对TCP性能的影响:可能引发超时;慢启动,吞吐率降低;快速重传导致重传丢失报文、减少拥塞窗口,吞吐率降低。

误码是指数字信号在无线传输过程中受到外界的干扰、路由交换设备的质量不够理想而使传送的信号发生畸变,或者由于信道带宽不够造成信号失真等,以至接收端无法正常接收正确的报文而被丢弃的现象。

TCP协议中的显式拥塞通告(ECN)(RFC 3168)公开了一种路由器报告和主机响应的机制。当拥塞发生时,发送主机必须仍然在降低它们的发送速率。然而,通过避免包的丢失,发送主机无需进入重传过程,丢失敏感的数据包流也不会因为拥塞而受到很大影响。IP和TCP使用包头中的未使用字段来支持ECN。

在网络层(IP),一个发送主机必须能够表明自身可以进行ECN,路由器在转发时必须能够表明它正在经历拥塞。

在传输层(TCP),TCP端必须对对方表明自身是可以进行ECN操作的。接收端必须能够通知发送端它收到了一个来自路由器的拥塞通告。发送端必须能够通知接收端它受到了来自接收端的通告并且已经降低了发送速率。

同时,最为重要的是,这个并无法对误码的可接受程度进行配置,无法适应视频流传输中的可接受误码率的存在可以减少由于大量误码重传对网络的负载加重。当大量误码时也无法判断必须采用误码重传控制。

还有一种方案,采用拥塞避免与慢启动机制,当网络由于大量数据报无法被正常接收而出现拥塞时(不管是由于误码或者丢包),TCP会立即启动拥塞避免机制,降低发送窗口,然后采用慢启动。网络中出现拥塞的原因如果由于大量延时、丢包,则启用拥塞机制可以平滑和控制降低拥塞。但是由于在无线通信环境中,视频传输误码造成的丢包(数量较少情况)只是短暂影响视频流传输的图像卡顿或部分马赛克现象,在此时如果当做正常拥塞控制,立即将慢启动开始门限(ssthresh)设置为设置为发送窗口的一半,cwnd设置为1,然后再使用慢启动算法,这样虽然能迅速的减少主机向网络中注入数据,使发生拥塞的路由器能够把队列中堆积的分组处理完毕,但是正是由于TCP面向连接的特性,拥塞控制策略极大降低了某个视频连接的传输速度会造成大量的视频流数据报文延时到达,从而造成视频严重延时、甚至严重卡顿,并且可能会愈演愈烈,逐步加重乃至奔溃。

在现有TCP中,慢启动机制和拥塞避免机制,都是慢慢的加速发送,当遇到丢包则速度减半。特别是在无线环境视频传送时,可能收不到正确报文的原因只是误码,而非拥塞。所以改进点是,接收方发现丢包,通过实时测量无线信道质量:若丢包率低于某个阈值A,视频质量尚可忍受,则反馈的确认消息中“注明不必重传”,避免重传引起带宽浪费,同时在反馈的确认消息中提示误码信息;若丢包率高于阈值A,但误码率高于阈值B,说明丢包很可能是误码引起的,则TCP不减速也不加速,观察一段时间,若丢包无加剧现象,则继续正常加速,否则说明同时存在拥塞现象,按照TCP规则减速;若丢包率高于阈值A,且误码率低于阈值B,说明丢包很可能是因为拥塞引起的,按照TCP规则正常减速。

发明内容

本发明的目的是提供一种TCP视频传输进行误码重传控制的方法。

基于TCP的视频传输建立连接,并进入正常数据交换。由于视频流传输的持续性,建立连接后除非主动中断或网络断开等原因,连接保持持续过程。在某个时点,由于无线网络环境的干扰、变化、切换等原因,导致发送方发送的某些分组出现误码的报文,误码报文可能是个别、也可能连续报文误码。发生该情况,需要进行误码重传。误码重传具体的控制方法如下:

(1).发送方持续发送报文,接收方在接收到序号为M1报文,判断是否丢包并检测误码,如果出现误码,则进行t时间窗的码报文数累计S,计算该报文的丢包率PLR和误码率SER;

t为时间窗的计算时间段,设定为1秒;S为误码累计数,t时段内如果出现误码,则S加 1,S为四位数值。

(2).接收方判断丢包与误码情况,并做如下处理:

A.PLR=0,表示未发生丢包保持当前传输状态,继续正常传输,不做误码重传通告处理,接收方发送的TCP确认报文报头6位预留字段全置0;发送方接收到TCP确认报文,确认报文报头6位预留字段中前2位为00时,确定不必重传。

B.PLR<τ1,表示出现少量报文误码,对于视频流的影响能够接受,保持当前传输状态,继续正常传输,不做误码重传通告处理。接收方发送的TCP确认报文报头6位预留字段中的前 2位置0,表示不必重传,后4位为S值,误码累计数S按t时间窗进行误码报文数的累计。τ1为设定的丢包率阈值,5×10-4~5×10-3。发送方接收到TCP确认报文,确认报文报头6位预留字段中前2位为00时,确定不必重传。

C.PLR≥τ1且SER<τ2,表示丢包很可能是因为拥塞引起的,按照TCP拥塞避免机制正常减速,不做误码重传通告处理;接收方发送的TCP确认报文报头6位预留字段中前2位置01,表示拥塞减速,后4位为S值。发送方接收到TCP确认报文,确认报文报头6位预留字段中前 2位为01时,启动拥塞避免机制和慢启动机制。τ2为设定的误码率阈值,5×10-5~5×10-4

D.PLR≥τ1且SER≥τ2,表示此时存在误码,并接近误码允许极限,处理方法采用先不加速也不减速,观察一段时间k,若丢包无加剧现象,则继续正常加速,否则说明同时存在拥塞现象,按照TCP规则减速。k为观察时间窗口,设为0.5~2秒。具体误码重传通告处理如下:

a.当初次出现PLR≥τ1且SER≥τ2时,接收方发送的TCP确认报文报头6位预留字段中前 2位置10,表示误码观察,后4位为S值,同时启动误码观察计时;发送方收到确认报文后,不做重传,也不减速,继续正常传输。

b.经过k时段后,仍然PLR≥τ1且SER≥τ2,但PLR未加大,表示丢包无加剧现象,接收方发送的TCP确认报文报头6位预留字段中前2位置10,表示误码观察,后4位为S值,同时启动误码观察计时;发送方收到确认报文后,继续不做重传,也不减速,继续正常传输。

c.经过k时段后,仍然PLR≥τ1且SER≥τ2,PLR加大,但SER未加大,表示出现拥塞加剧现象,接收方发送的TCP确认报文报头6位预留字段中前2位置01表示拥塞减速,后4位为S值,同时启动误码观察计时;发送方从确认报文报头6位预留字段中前2位为01时,启动拥塞避免机制和慢启动机制。

d.经过k时段后,仍然PLR≥τ1且SER≥τ2,PLR加大且SER加大,表示出现误码加剧现象,并且由于误码超过阈值影响实际使用,需要进行检索+误码重传。接收方发送的TCP确认报文报头6位预留字段中前2位置11表示减速并重传,后4位为S值,同时启动误码观察计时。发送方确认报文报头6位预留字段中分析前2位为11时,启动拥塞避免机制和慢启动机制,同时进行误码重传,重传报文数为0.5倍S值。

采用本发明方法可接受的少量误码不启动误码丢包重发,会极大减少触发网络拥塞;利用保留报文字段传送误码严重程度及降速+重发指令,无需额外开销;在无线传输视频流的环境下,每一个视频流的重传将是对网络的加倍冲击,按需启动重传,可以平滑网络环境。

具体实施方式

视频流接收方发现丢包,通过实时测量无线信道质量:若丢包率高于设定阈值,误码率也高于设定阈值,说明丢包很可能是误码引起的,则TCP不减速也不加速,观察一段时间,若丢包无加剧现象,则继续正常加速,否则说明同时存在拥塞现象,按照TCP规则减速;若丢包率高于设定阈值,且误码率低于设定阈值,说明丢包很可能是因为拥塞引起的,按照TCP规则正常减速。

视频流接收方发现丢包,通过实时测量无线信道质量:若丢包率低于某个阈值,视频质量尚可忍受,则反馈的确认消息中“注明不必重传”,避免重传引起带宽浪费,同时在反馈的确认消息中提示误码信息;确认的序号填写收到的最大分片序号;但若高于丢包阈值,则不打“不必重传”的标记,确认的序号填写收到的丢失分片序号;

接收方发现误码率高于阈值,则在确认消息的保留位填写告警信息;发送方接收到确认消息进行分析,识别到误码告警信息,若误码率高于阈值,则立刻采取措施,调整无线信道质量,包括自动调整天线朝向、发送功率等措施。

判断误码率的方法利用确认消息的保留位反馈“不必重传”或误码率的方法。

基于TCP的视频传输建立连接,并进入正常数据交换。由于视频流传输的持续性,建立连接后除非主动中断或网络断开等原因,连接保持持续过程。在某个时点,由于无线网络环境的干扰、变化、切换等原因,导致发送方发送的某些分组出现误码的报文,误码报文可能是个别、也可能连续报文误码。发生该情况,需要进行误码重传。TCP视频传输进行误码重传控制的方法具体如下:

(1).发送方持续发送报文,接收方在接收到序号为M1报文,判断是否丢包并检测误码,如果出现误码,则进行t时间窗的码报文数累计S,计算该报文的丢包率PLR和误码率SER;

t为时间窗的计算时间段,设定为1秒;S为误码累计数,t时段内如果出现误码,则S加 1,S为四位数值。

(2).接收方判断丢包与误码情况,并做如下处理:

A.PLR=0,表示未发生丢包保持当前传输状态,继续正常传输,不做误码重传通告处理,接收方发送的TCP确认报文报头6位预留字段全置0;发送方接收到TCP确认报文,确认报文报头6位预留字段中前2位为00时,确定不必重传。

B.PLR<τ1,表示出现少量报文误码,对于视频流的影响能够接受,保持当前传输状态,继续正常传输,不做误码重传通告处理。接收方发送的TCP确认报文报头6位预留字段中的前 2位置0,表示不必重传,后4位为S值,误码累计数S按t时间窗进行误码报文数的累计。τ1为设定的丢包率阈值,5×10-4~5×10-3,本实施例τ1=0.001。发送方接收到TCP确认报文,确认报文报头6位预留字段中前2位为00时,确定不必重传。

C.PLR≥τ1且SER<τ2,表示丢包很可能是因为拥塞引起的,按照TCP拥塞避免机制正常减速,不做误码重传通告处理;接收方发送的TCP确认报文报头6位预留字段中前2位置01,表示拥塞减速,后4位为S值。发送方接收到TCP确认报文,确认报文报头6位预留字段中前 2位为01时,启动拥塞避免机制和慢启动机制。τ2为设定的误码率阈值,5×10-5~5×10-4,本实施例τ2=0.0001。

D.PLR≥τ1且SER≥τ2,表示此时存在误码,并接近误码允许极限,处理方法采用先不加速也不减速,观察一段时间k,若丢包无加剧现象,则继续正常加速,否则说明同时存在拥塞现象,按照TCP规则减速。k为观察时间窗口,设为0.5~2秒,本实施例k=1s。具体误码重传通告处理如下:

a.当初次出现PLR≥τ1且SER≥τ2时,接收方发送的TCP确认报文报头6位预留字段中前2位置10,表示误码观察,后4位为S值,同时启动误码观察计时;发送方收到确认报文后,不做重传,也不减速,继续正常传输。

b.经过k时段后,仍然PLR≥τ1且SER≥τ2,但PLR未加大,表示丢包无加剧现象,接收方发送的TCP确认报文报头6位预留字段中前2位置10,表示误码观察,后4位为S值,同时启动误码观察计时;发送方收到确认报文后,继续不做重传,也不减速,继续正常传输。

c.经过k时段后,仍然PLR≥τ1且SER≥τ2,PLR加大,但SER未加大,表示出现拥塞加剧现象,接收方发送的TCP确认报文报头6位预留字段中前2位置01表示拥塞减速,后4位为S值,同时启动误码观察计时;发送方从确认报文报头6位预留字段中前2位为01时,启动拥塞避免机制和慢启动机制。

d.经过k时段后,仍然PLR≥τ1且SER≥τ2,PLR加大且SER加大,表示出现误码加剧现象,并且由于误码超过阈值影响实际使用,需要进行检索+误码重传。接收方发送的TCP确认报文报头6位预留字段中前2位置11表示减速并重传,后4位为S值,同时启动误码观察计时。发送方确认报文报头6位预留字段中分析前2位为11时,启动拥塞避免机制和慢启动机制,同时进行误码重传,重传报文数为0.5倍S值。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:监控视频处理方法、装置及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类