一种提高千兆网工业相机传输稳定性的方法及系统

文档序号:172948 发布日期:2021-10-29 浏览:54次 >En<

阅读说明:本技术 一种提高千兆网工业相机传输稳定性的方法及系统 (Method and system for improving transmission stability of gigabit network industrial camera ) 是由 郭勇军 宋伟铭 周中亚 刘敏 杨煦 于军亮 于 2021-06-11 设计创作,主要内容包括:本发明提供一种提高千兆网工业相机传输稳定性的方法及系统,其中方法包括使用千兆网过滤驱动对接收的数据包进行判断,确定所述数据包的类型,还包括以下步骤:根据所述数据包的类型,对所述数据包分别进行处理;依照残帧处理规则进行图像数据帧重传。本发明提出的提高千兆网工业相机传输稳定性的方法及系统,可以减少过滤过程的判断次数,节省时间,在数据量大的情况下,能够实现快速的接收。(The invention provides a method and a system for improving the transmission stability of a gigabit network industrial camera, wherein the method comprises the steps of judging a received data packet by using a gigabit network filter driver, determining the type of the data packet, and further comprises the following steps: respectively processing the data packets according to the types of the data packets; and retransmitting the image data frame according to the residual frame processing rule. The method and the system for improving the transmission stability of the gigabit network industrial camera can reduce the judgment times of the filtering process, save time and realize quick receiving under the condition of large data volume.)

一种提高千兆网工业相机传输稳定性的方法及系统

技术领域

本发明涉及数据传输的技术领域,特别是一种提高千兆网工业相机传输稳定性的方法及系统。

背景技术

现有的网络数据可靠的传输方案多采用TCP协议方式(一种面向连接的、可靠的、基于字节流的传输层通信协议)。TCP协议为了保证报文传输的可靠性,给每个包设定序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接受端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返延时(RTT)内未收到确认,对应的数据将会被重传。

而UDP协议全称是用户数据报协议,是一种无连接协议。当报文发送之后,无法得知报文是否安全完整到达,不对传送数据包进行可靠性保证。因此具有资源消耗少、处理速度快等优点,通常音视频数据和普通数据传输时使用较多。

千兆网工业相机采用的GigE Vision协议(基于UDP),在某些应用场合(如多机争抢带宽、网络环境出现拥堵、干扰等),传输数据的可靠性会有问题(会出现丢包现象),GigEVision协议引入的丢包重传的机制,保证千兆网工业相机图像数据的传输稳定性,最大限度的保障图像数据传输的正确性。然而现有技术中,缺少对丢包重传机制的实现时机的具体实施方法。

申请号为CN110768753A的发明专利申请公开了一种丢包重传方法和系统,其中方法包括:接收端设备向发送端设备发送丢包重传请求;所述发送端设备根据所述丢包重传请求,将相应的实时传输协议(RTP)重传包,通过RTP控制协议(RTCP)通道发送给所述接收端设备;当所述接收端设备在所述RTCP通道上接收到数据包,并判定该数据包为RTP重传包时,将该数据包放到相应的组帧队列中。该方法的数据包的丢包判断和发送重传命令是在应用层接收端执行,速度比较慢;对网络环境极其恶劣时出现的重传包无法确保数据的完整性的情况没有相应的应对方法。

发明内容

为了解决上述的技术问题,本发明提出的提高千兆网工业相机传输稳定性的方法及系统,可以减少过滤过程的判断次数,节省时间,在数据量大的情况下,能够实现快速的接收。

本发明的第一目的是提供一种提高千兆网工业相机传输稳定性的方法,包括使用千兆网过滤驱动对接收的数据包进行判断,确定所述数据包的类型,还包括以下步骤:

步骤1:根据所述数据包的类型,对所述数据包分别进行处理;

步骤2:依照残帧处理规则进行图像数据帧重传。

优选的是,所述数据包的类型包括超前数据包、正常数据包和滞后数据包,所述超前数据包包括图像内超前数据包和图像间超前数据包。

在上述任一方案中优选的是,所述图像内超前数据包的处理方式方法包括以下步骤:

步骤101:判断所述图像内超前数据包是否有图像数据,如果有图像数据,执行步骤102,如果没有图像数据,执行步骤104;

步骤102:处理当前帧的所述图像内超前数据包;

步骤103,统计重传参数,并进行重传,直接执行步骤105;

步骤104:将该图像内超前数据包计入异常包;

步骤105:更新期望ID。

在上述任一方案中优选的是,所述图像间超前数据包的处理方式方法包括以下步骤:

步骤111:判断所述图像间超前数据包是否有图像数据,如果有图像数据,执行步骤112,如果没有图像数据,执行步骤116;

步骤112:计算帧间间隔;

步骤113:处理前帧的数据包;

步骤114:处理当前帧的数据包;

步骤115,统计重传参数,并进行重传,直接执行步骤117;

步骤116:将该图像间超前数据包计入异常包;

步骤117:更新期望ID。

在上述任一方案中优选的是,所述正常数据包的处理方式方法包括以下步骤:

步骤121:判断所述正常数据包是否有图像数据,如果有图像数据,执行步骤122,如果没有图像数据,执行步骤123;

步骤122:处理当前帧的数据包,直接执行步骤124;

步骤123:将该正常数据包计入异常包;

步骤124:更新期望ID。

在上述任一方案中优选的是,所述滞后数据包的处理方式方法包括以下步骤:

步骤131:判断所述滞后数据包是否有图像数据,如果有图像数据,执行步骤132,如果没有图像数据,执行步骤134;

步骤132:处理当前帧的所述滞后数据包;

步骤133,统计重传参数,并进行重传,直接执行步骤135;

步骤134:将该滞后数据包计入异常包;

步骤135:更新期望ID。

在上述任一方案中优选的是,所述步骤2为当图像数据帧发生重传之后要等待重传包,设定了所述残帧处理规则用于结束重传包的等待,重传不成功,则把该帧图像数据标识为残帧。

在上述任一方案中优选的是,所述残帧处理规则包括当出现至少一种以下情况时该帧图像数据标识为残帧:

1)重传等待包达到限定值;

2)间隔一帧重传仍未成功;

3)重传超时;

4)当前帧数据块重传包个数超过上限设定值;

5)当前帧数据块连续丢包个数超过上限设定值。

在上述任一方案中优选的是,所述重传等待包达到限定值的情况为当前帧发生重传之后,等到接收到下一帧的一定个数包之后,若当前帧仍未重传成功,则不再等待,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述间隔一帧重传仍未成功包括下一帧为完整帧或下一帧有丢包两种情况。

在上述任一方案中优选的是,所述下一帧为完整帧的情况为当下一帧图像接收到尾包时,将这帧图像从接收队列中去除并交给用户,此时判断当前帧若仍在等待重传包,则不再等待,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述下一帧有丢包的情况为当下一帧图像也发生重传,当接收到再下一帧图像时,判断当前帧若仍在等待重传包,则不再等待,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述重传超时的情况为当前帧发生重传之后,记录重传的时间,当定时器检测到重传等待时间超过限定值之后,则不再等待,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述当前帧数据块重传包个数超过上限设定值的情况为当前帧累积的重传包个数超过限定值之后,不再发送重传,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述当前帧数据块连续丢包个数超过上限设定值的情况为当前帧连续丢包个数超过限定值之后,不再发送重传,标识当前帧为残帧,并结束图像的接收。

本发明的第二目的是提供一种提高千兆网工业相机传输稳定性的系统,包括用于使用千兆网过滤驱动对接收的数据包进行判断并确定所述数据包类型的判断模块,还包括以下模块:

处理模块:用于根据所述数据包的类型,对所述数据包分别进行处理;

重传模块:用于依照残帧处理规则进行图像数据帧重传;

所述系统按照如第一目的所述的方法提高千兆网工业相机传输稳定性。

优选的是,所述数据包的类型包括超前数据包、正常数据包和滞后数据包,所述超前数据包包括图像内超前数据包和图像间超前数据包。

在上述任一方案中优选的是,所述图像内超前数据包的处理方式方法包括以下步骤:

步骤101:判断所述图像内超前数据包是否有图像数据,如果有图像数据,执行步骤102,如果没有图像数据,执行步骤104;

步骤102:处理当前帧的所述图像内超前数据包;

步骤103,统计重传参数,并进行重传,直接执行步骤105;

步骤104:将该图像内超前数据包计入异常包;

步骤105:更新期望ID。

在上述任一方案中优选的是,所述图像间超前数据包的处理方式方法包括以下步骤:

步骤111:判断所述图像间超前数据包是否有图像数据,如果有图像数据,执行步骤112,如果没有图像数据,执行步骤116;

步骤112:计算帧间间隔;

步骤113:处理前帧的数据包;

步骤114:处理当前帧的数据包;

步骤115,统计重传参数,并进行重传,直接执行步骤117;

步骤116:将该图像间超前数据包计入异常包;

步骤117:更新期望ID。

在上述任一方案中优选的是,所述正常数据包的处理方式方法包括以下步骤:

步骤121:判断所述正常数据包是否有图像数据,如果有图像数据,执行步骤122,如果没有图像数据,执行步骤123;

步骤122:处理当前帧的数据包,直接执行步骤124;

步骤123:将该正常数据包计入异常包;

步骤124:更新期望ID。

在上述任一方案中优选的是,所述滞后数据包的处理方式方法包括以下步骤:

步骤131:判断所述滞后数据包是否有图像数据,如果有图像数据,执行步骤132,如果没有图像数据,执行步骤134;

步骤132:处理当前帧的所述滞后数据包;

步骤133,统计重传参数,并进行重传,直接执行步骤135;

步骤134:将该滞后数据包计入异常包;

步骤135:更新期望ID。

在上述任一方案中优选的是,所述处理模块用于当图像数据帧发生重传之后要等待重传包,设定了所述残帧处理规则用于结束重传包的等待,重传不成功,则把该帧图像数据标识为残帧。

在上述任一方案中优选的是,所述残帧处理规则包括当出现至少一种以下情况时该帧图像数据标识为残帧:

1)重传等待包达到限定值;

2)间隔一帧重传仍未成功;

3)重传超时;

4)当前帧数据块重传包个数超过上限设定值;

5)当前帧数据块连续丢包个数超过上限设定值。

在上述任一方案中优选的是,所述重传等待包达到限定值的情况为当前帧发生重传之后,等到接收到下一帧的一定个数包之后,若当前帧仍未重传成功,则不再等待,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述间隔一帧重传仍未成功包括下一帧为完整帧或下一帧有丢包两种情况。

在上述任一方案中优选的是,所述下一帧为完整帧的情况为当下一帧图像接收到尾包时,将这帧图像从接收队列中去除并交给用户,此时判断当前帧若仍在等待重传包,则不再等待,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述下一帧有丢包的情况为当下一帧图像也发生重传,当接收到再下一帧图像时,判断当前帧若仍在等待重传包,则不再等待,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述重传超时的情况为当前帧发生重传之后,记录重传的时间,当定时器检测到重传等待时间超过限定值之后,则不再等待,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述当前帧数据块重传包个数超过上限设定值的情况为当前帧累积的重传包个数超过限定值之后,不再发送重传,标识当前帧为残帧,并结束图像的接收。

在上述任一方案中优选的是,所述当前帧数据块连续丢包个数超过上限设定值的情况为当前帧连续丢包个数超过限定值之后,不再发送重传,标识当前帧为残帧,并结束图像的接收。

本发明提出了一种提高千兆网工业相机传输稳定性的方法及系统,使用残帧标识的条件判断,有效提高处理异常数据包能力,减少网络阻塞,提高数据包过滤性能,同时提供残帧和完整帧的数据统计功能。

附图说明

图1为按照本发明的提高千兆网工业相机传输稳定性的方法的一优选实施例的流程图。

图2为按照本发明的提高千兆网工业相机传输稳定性的系统的一优选实施例的模块图。

图3为按照本发明的提高千兆网工业相机传输稳定性的方法的图像内超前包处理方法的一实施例的流程图。

图4为按照本发明的提高千兆网工业相机传输稳定性的方法的图像间超前包处理方法的一实施例的流程图。

图5为按照本发明的提高千兆网工业相机传输稳定性的方法的正常包处理方法的一实施例的流程图。

图6为按照本发明的提高千兆网工业相机传输稳定性的方法的滞后包处理方法的一实施例的流程图。

图7为按照本发明的提高千兆网工业相机传输稳定性的方法的重传等待包数达到限定值的一实施例的示意图。

图8为按照本发明的提高千兆网工业相机传输稳定性的方法的间隔一帧重传仍未成功的一实施例的示意图。

图9为按照本发明的提高千兆网工业相机传输稳定性的方法的间隔一帧重传仍未成功的另一实施例的示意图。

图10为按照本发明的提高千兆网工业相机传输稳定性的方法的重传超时的一实施例的示意图。

图11为按照本发明的提高千兆网工业相机传输稳定性的方法的数据块重传包个数超过上限设定值的一实施例的示意图。

图12为按照本发明的提高千兆网工业相机传输稳定性的方法的数据块连续丢包个数超过上限设定值的一实施例的示意图。

具体实施方式

下面结合附图和具体的实施例对本发明做进一步的阐述。

实施例一

如图1、2所示,执行步骤1000,判断模块200使用千兆网过滤驱动对接收的数据包进行判断,确定所述数据包的类型。所述数据包的类型包括超前数据包、正常数据包和滞后数据包,所述超前数据包包括图像内超前数据包和图像间超前数据包。

执行步骤1100,处理模块210根据所述数据包的类型,对所述数据包分别进行处理。

所述图像内超前数据包的处理方式方法包括以下步骤:执行步骤1101,判断所述图像内超前数据包是否有图像数据,如果有图像数据,则执行步骤1102,处理当前帧的所述图像内超前数据包。执行步骤1103,统计重传参数,并进行重传,执行步骤1105,更新期望ID。如果没有图像数据,则执行步骤1104,将该图像内超前数据包计入异常包。执行步骤1105,更新期望ID。

所述图像间超前数据包的处理方式方法包括以下步骤:执行步骤1111,判断所述图像间超前数据包是否有图像数据,如果有图像数据,则执行步骤1112,计算帧间间隔。执行步骤1113,处理前帧的数据包。执行步骤1114,处理当前帧的数据包。执行步骤1115,统计重传参数,并进行重传,执行步骤1117,更新期望ID。如果没有图像数据,执行步骤1116,将该图像间超前数据包计入异常包。执行步骤1117,更新期望ID。

所述正常数据包的处理方式方法包括以下步骤:执行步骤1121,判断所述正常数据包是否有图像数据,如果有图像数据,则执行步骤1122,处理当前帧的数据包,执行步骤1124,更新期望ID。如果没有图像数据,则执行步骤1123,将该正常数据包计入异常包。执行步骤1124,更新期望ID。

所述滞后数据包的处理方式方法包括以下步骤:执行步骤1131,判断所述滞后数据包是否有图像数据,如果有图像数据,则执行步骤1132,处理当前帧的所述滞后数据包。执行步骤1133,统计重传参数,并进行重传,执行步骤1135,更新期望ID。如果没有图像数据,则执行步骤1134,将该滞后数据包计入异常包。执行步骤1135,更新期望ID。

执行步骤1200,重传模块220依照残帧处理规则进行图像数据帧重传。当图像数据帧发生重传之后要等待重传包,设定了所述残帧处理规则用于结束重传包的等待,重传不成功,则把该帧图像数据标识为残帧。

所述残帧处理规则包括当出现至少一种以下情况时该帧图像数据标识为残帧:

1)重传等待包达到限定值。所述重传等待包达到限定值的情况为当前帧发生重传之后,等到接收到下一帧的一定个数包之后,若当前帧仍未重传成功,则不再等待,标识当前帧为残帧,并结束图像的接收。

2)间隔一帧重传仍未成功。所述间隔一帧重传仍未成功包括下一帧为完整帧或下一帧有丢包两种情况。所述下一帧为完整帧的情况为当下一帧图像接收到尾包时,将这帧图像从接收队列中去除并交给用户,此时判断当前帧若仍在等待重传包,则不再等待,标识当前帧为残帧,并结束图像的接收。所述下一帧有丢包的情况为当下一帧图像也发生重传,当接收到再下一帧图像时,判断当前帧若仍在等待重传包,则不再等待,标识当前帧为残帧,并结束图像的接收。

3)重传超时。所述重传超时的情况为当前帧发生重传之后,记录重传的时间,当定时器检测到重传等待时间超过限定值之后,则不再等待,标识当前帧为残帧,并结束图像的接收。

4)当前帧数据块重传包个数超过上限设定值。所述当前帧数据块重传包个数超过上限设定值的情况为当前帧累积的重传包个数超过限定值之后,不再发送重传,标识当前帧为残帧,并结束图像的接收。

5)当前帧数据块连续丢包个数超过上限设定值。所述当前帧数据块连续丢包个数超过上限设定值的情况为当前帧连续丢包个数超过限定值之后,不再发送重传,标识当前帧为残帧,并结束图像的接收。

实施例二

本发明专利主要解决GigE Vision协议协议的丢包重传机制的实现时机和实现方法。

1、数据包过滤处理

千兆网过滤驱动对接收的数据包进行判断数据包,即过滤。驱动中对每个数据包进行过滤,把获取的数据包分层三类:超前包(数据包中图像ID或包ID小于期望ID)、正常包、滞后包(数据包中包ID大于期望ID)。

1.1超前包处理

1)图像内超前包(本帧图像内)

如图3所示,对于帧内数据超前包,判断超前数据包是否有图像数据。

如果有图像数据,则处理当前帧的所述图像内超前数据包。

统计重传参数,并进行重传。

如果没有图像数据,则将该图像内超前数据包计入异常包。

最后更新期望ID。

2)图像间超前包(跨帧图像)

如图4所示,对于帧间数据超前包,判断图像间超前数据包是否有图像数据。

如果有图像数据,则计算帧间间隔。

处理前帧的数据包。

处理当前帧的数据包。

统计重传参数,并进行重传。

如果没有图像数据,将该图像间超前数据包计入异常包。

最后更新期望ID。

1.2正常包处理

如图5所示,对于正常包,判断正常数据包是否有图像数据。

如果有图像数据,则处理当前帧的数据包。

如果没有图像数据,则将该正常数据包计入异常包。

最后更新期望ID。

1.3滞后包处理

如图6所示,对于滞后包,判断所述滞后数据包是否有图像数据。

如果有图像数据,则处理当前帧的所述滞后数据包。

统计重传参数,并进行重传。

如果没有图像数据,则将该滞后数据包计入异常包。

最后更新期望ID。

2.残帧处理

当图像数据帧发生重传之后,要等待重传包,但又不能无限制的等待,这样会造成采集通道的阻塞,为了解决这个问题,设定了如下条件来结束重传包的等待,重传不成功,则把该帧图像数据标识为残帧。

1)重传等待包数到达限定值

如图7所示,当前帧发生重传之后,等到接收到下一帧的一定个数包之后,若当前帧仍未重传成功,则不再等待,标识当前帧为残帧,并结束图像的接收。

2)间隔一帧重传仍未成功

a、下一帧为完整帧

如图8所示,当下一帧图像接收到尾包时,驱动需要尽快将这帧图像从接收队列中去除并交给用户,所以,此时判断当前帧若仍在等待重传包,则不再等待,标识当前帧为残帧,并结束图像的接收;

b、下一帧有丢包

如图9所示,当下一帧图像也发生重传,那么当接收到再下一帧图像时,判断当前帧若仍在等待重传包,则不再等待,标识当前帧为残帧,并结束图像的接收。

3)重传超时

如图10所示,当前帧发生重传之后,记录重传的时间,当定时器检测到重传等待时间超过限定值之后,则不再等待,标识当前帧为残帧,并结束图像的接收。

4)数据块(当前帧)重传包个数超过上限设定值

如图11所示,当前帧累积的重传包个数超过限定值之后,不再发送重传,标识当前帧为残帧,并结束图像的接收。

5)数据块(当前帧)连续丢包个数超过上限设定值

如图12所示,当前帧连续丢包个数超过限定值之后,不再发送重传,标识当前帧为残帧,并结束图像的接收。

本发明采用检测到数据包不连续后,立即发送数据包的方法,减少数据包过滤的性能损失,提高的数据包重传的成功率,从而减少数据包重传几率,提供图像数据传输的稳定性。

本发明使用数据包判断和处理,有效减少UDP图像传输过程中的数据不稳定性和错包率,同时提供较丰富的统计信息(如重传包个数、重传成功包个数、重传命令发生次数、异常包个数等),对于用户分析网络环境起到很好的左右。

本发明使用残帧标识的条件判断,有效提高处理异常数据包能力,减少网络阻塞,提高数据包过滤性能,同时提供残帧和完整帧的数据统计功能。

本发明采用该丢包重传机制发送时机方法后的千兆网工业相机,传输的稳定性得到明显提示。

为了更好地理解本发明,以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。本说明书中每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种实时视频中视频延时确定方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类