利索能及
我要发布
收藏
专利号: 2021112578239
申请人: 杭州海康威视数字技术股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-08-05
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种视频数据传输方法,应用于网络设备,其特征在于,当所述网络设备作为发送端设备时,所述方法包括:

对于待传输的任一帧视频数据,将该帧视频数据拆分为多个数据拆分包;其中,任一数据拆分包的大小不超过预设包长阈值;

分别为所述多个数据拆分包中各数据拆分包添加包头信息,并将添加包头信息的数据拆分包发送给接收端设备,以使所述接收端设备依据所述数据拆分包中的包头信息确定单帧视频数据的接收状态;其中,对于任一数据拆分包,该数据拆分包中的包头信息包括该数据拆分包所属视频帧的标识、该数据拆分包所属视频帧拆分的数据拆分包的数量以及该数据拆分包的编号;

在该帧视频数据的传输时间达到单帧视频数据传输时间阈值之前,若确定所述多个数据拆分包存在数据拆分包丢失,则对丢失的数据拆分包进行重传;若确定所述多个数据拆分包均发送成功,则结束该帧视频数据的发送;其中,所述单帧视频数据传输时间阈值依据视频帧率确定;

在该帧视频数据的传输时间达到单帧视频数据传输时间阈值的情况下,结束该帧视频数据的发送。

2.根据权利要求1所述的方法,其特征在于,所述确定所述多个数据拆分包存在数据拆分包丢失,包括:

对于所述多个数据拆分包中的任一数据拆分包,当在该数据拆分包发送给接收端设备之后,未在第一重传超时时间内接收到接收端设备发送的针对该数据拆分包的确认消息时,确定该数据拆分包丢失;

或,

对于所述多个数据拆分包中的任一数据拆分包,当在该数据拆分包发送给接收端设备之后,接收到接收端设备发送的针对该数据拆分包的重传请求时,确定该数据拆分包丢失;

其中,所述重传请求是所述接收端设备在接收到该帧视频数据的按照包编号排序的上一个数据拆分包之后,未在第一重传超时时间内接收到下一个数据拆分包的情况下发送的;

其中,所述第一重传超时时间依据历史帧视频数据对应的数据拆分包的往返时间确定。

3.根据权利要求2所述的方法,其特征在于,依据历史帧视频数据对应的数据拆分包的往返时间确定所述第一重传超时时间包括:依据至少一帧历史帧视频数据对应的各数据拆分包的平均往返时间,确定所述第一重传超时时间。

4.根据权利要求3所述的方法,其特征在于,所述依据至少一帧历史帧视频数据对应的各数据拆分包的平均往返时间,确定所述第一重传超时时间,包括:依据多帧历史帧视频数据对应的各数据拆分包的平均往返时间,利用加权求和方式,确定所述第一重传超时时间。

5.根据权利要求2‑4任一项所述的方法,其特征在于,对于任一数据拆分包,该数据拆分包的往返时间通过以下方式确定:对于有线传输场景,依据该数据拆分包从所述发送端设备到所述接收端设备的传输时间,以及针对该数据拆分包的确认消息从所述接收端设备到所述发送端设备的传输时间确定;其中,所述接收端设备针对接收到的任一数据拆分包均返回确认消息;

对于无线传输场景,依据该数据拆分包从所述发送端设备到所述接收端设备的传输时间确定;其中,所述接收端设备针对已确定未接收到的数据拆分包发送重传请求,所述重传请求是所述接收端设备在接收到该帧视频数据的按照包编号排序的上一个数据拆分包之后,未在第一重传超时时间内接收到下一个数据拆分包的情况下发送的。

6.根据权利要求1所述的方法,其特征在于,所述将添加包头信息的数据拆分包发送给接收端设备之后,还包括:

对于任一数据拆分包,当接收到针对该数据拆分包的确认消息时,将该数据拆分包从发送缓存中清除;其中,所述接收端设备针对接收到的任一数据拆分包均返回确认消息;

在该帧视频数据的传输时间达到单帧视频数据传输时间阈值的情况下,对发送缓存中缓存的该帧视频数据对应的数据拆分包进行清除。

7.根据权利要求1所述的方法,其特征在于,所述将添加包头信息的数据拆分包发送给接收端设备之后,还包括:

当接收到所述接收端设备发送的重传请求时,对发送缓存中缓存的包编号小于目标包编号的数据拆分包进行清除;其中,所述目标包编号为所述重传请求中携带的包编号中的最小值;所述接收端设备针对已确定未接收到的数据拆分包发送重传请求;

当接收到所述接收端设备发送的确认消息时,或,在该帧视频数据的传输时间达到单帧视频数据传输时间阈值的情况下,对发送缓存中缓存的该帧视频数据对应的数据拆分包进行清除;其中,所述确认消息由所述接收端设备在确定该帧视频数据对应的数据拆分包均接收到的情况下发送。

8.根据权利要求1所述的方法,其特征在于,当所述网络设备作为接收端设备时,所述方法还包括:

对于任一帧视频数据,当接收到该帧视频数据对应的数据拆分包中按照包编号排序的第一个数据拆分包时,启动第一定时器;

若在所述第一定时器超时前,接收到该帧视频数据对应的数据拆分包中按照包编号排序的下一个数据拆分包,则重置所述第一定时器;

若在所述第一定时器超时前,未接收到该帧视频数据对应的数据拆分包中按照包编号排序的下一个数据拆分包,则向发送端设备发送针对该数据拆分包的重传请求,重置所述第一定时器,并启动第二定时器,所述第二定时器的定时时长大于所述第一定时器的定时时长;

若在所述第二定时器超时前,接收到重传的数据拆分包,则取消所述第二定时器;否则,再次向发送端设备发送针对该数据拆分包的重传请求,并重置所述第二定时器。

9.根据权利要求8所述的方法,其特征在于,对于任一帧视频数据,在首次接收到该帧视频数据对应的数据拆分包时,所述方法还包括:确定该数据拆分包是否为该帧视频数据对应的数据拆分包中按照包编号排序的第一个数据拆分包;

若该数据拆分包为该帧视频数据对应的数据拆分包中按照包编号排序的第一个数据拆分包,则确定执行所述启动第一定时器的操作;

若该数据拆分包不是该帧视频数据对应的数据拆分包中按照包编号排序的第一个数据拆分包,则启动所述第一定时器,向发送端设备发送针对目标数据拆分包的重传请求,并启动第二定时器,所述目标数据拆分包为该帧视频数据对应的数据拆分包中,包编号小于当前接收到的数据拆分包的包编号的数据拆分包。

10.一种视频数据传输装置,应用于网络设备,其特征在于,所述装置包括:数据处理单元以及数据收发单元;其中,当所述网络设备作为发送端设备时:所述数据处理单元,用于对于待传输的任一帧视频数据,将该帧视频数据拆分为多个数据拆分包;其中,任一数据拆分包的大小不超过预设包长阈值;

所述数据收发单元,用于分别为所述多个数据拆分包中各数据拆分包添加包头信息,并将添加包头信息的数据拆分包发送给接收端设备,以使所述接收端设备依据所述数据拆分包中的包头信息确定单帧视频数据的接收状态;其中,对于任一数据拆分包,该数据拆分包中的包头信息包括该数据拆分包所属视频帧的标识、该数据拆分包所属视频帧拆分的数据拆分包的数量以及该数据拆分包的编号;

所述数据收发单元,还用于在该帧视频数据的传输时间达到单帧视频数据传输时间阈值之前,若确定所述多个数据拆分包存在数据拆分包丢失,则对丢失的数据拆分包进行重传;若确定所述多个数据拆分包均发送成功,则结束该帧视频数据的发送;其中,所述单帧视频数据传输时间阈值依据视频帧率确定;

所述数据收发单元,还用于在该帧视频数据的传输时间达到单帧视频数据传输时间阈值的情况下,结束该帧视频数据的发送。

11.根据权利要求10所述的装置,其特征在于,所述数据收发单元确定所述多个数据拆分包存在数据拆分包丢失,包括:对于所述多个数据拆分包中的任一数据拆分包,当在该数据拆分包发送给接收端设备之后,未在第一重传超时时间内接收到接收端设备发送的针对该数据拆分包的确认消息时,确定该数据拆分包丢失;

或,

对于所述多个数据拆分包中的任一数据拆分包,当在该数据拆分包发送给接收端设备之后,接收到接收端设备发送的针对该数据拆分包的重传请求时,确定该数据拆分包丢失;

其中,所述重传请求是所述接收端设备在接收到该帧视频数据的按照包编号排序的上一个数据拆分包之后,未在第一重传超时时间内接收到下一个数据拆分包的情况下发送的;

其中,所述第一重传超时时间依据历史帧视频数据对应的数据拆分包的往返时间确定;

其中,依据历史帧视频数据对应的数据拆分包的往返时间确定所述第一重传超时时间包括:

依据至少一帧历史帧视频数据对应的各数据拆分包的平均往返时间,确定所述第一重传超时时间;

其中,所述数据收发单元依据至少一帧历史帧视频数据对应的各数据拆分包的平均往返时间,确定所述第一重传超时时间,包括:依据多帧历史帧视频数据对应的各数据拆分包的平均往返时间,利用加权求和方式,确定所述第一重传超时时间;

其中,对于任一数据拆分包,该数据拆分包的往返时间通过以下方式确定:对于有线传输场景,依据该数据拆分包从所述发送端设备到所述接收端设备的传输时间,以及针对该数据拆分包的确认消息从所述接收端设备到所述发送端设备的传输时间确定;其中,所述接收端设备针对接收到的任一数据拆分包均返回确认消息;

对于无线传输场景,依据该数据拆分包从所述发送端设备到所述接收端设备的传输时间确定;其中,所述接收端设备针对已确定未接收到的数据拆分包发送重传请求,所述重传请求是所述接收端设备在接收到该帧视频数据的按照包编号排序的上一个数据拆分包之后,未在第一重传超时时间内接收到下一个数据拆分包的情况下发送的;

和/或,

所述数据收发单元将添加包头信息的数据拆分包发送给接收端设备之后,还包括:对于任一数据拆分包,当接收到针对该数据拆分包的确认消息时,将该数据拆分包从发送缓存中清除;其中,所述接收端设备针对接收到的任一数据拆分包均返回确认消息;

在该帧视频数据的传输时间达到单帧视频数据传输时间阈值的情况下,对发送缓存中缓存的该帧视频数据对应的数据拆分包进行清除;

和/或,

所述数据收发单元将添加包头信息的数据拆分包发送给接收端设备之后,还包括:当接收到所述接收端设备发送的重传请求时,对发送缓存中缓存的包编号小于目标包编号的数据拆分包进行清除;其中,所述目标包编号为所述重传请求中携带的包编号中的最小值;所述接收端设备针对已确定未接收到的数据拆分包发送重传请求;

当接收到所述接收端设备发送的确认消息时,或,在该帧视频数据的传输时间达到单帧视频数据传输时间阈值的情况下,对发送缓存中缓存的该帧视频数据对应的数据拆分包进行清除;其中,所述确认消息由所述接收端设备在确定该帧视频数据对应的数据拆分包均接收到的情况下发送;

和/或,

当所述网络设备作为接收端设备时:所述数据收发单元,还用于对于任一帧视频数据,当接收到该帧视频数据对应的数据拆分包中按照包编号排序的第一个数据拆分包时,启动第一定时器;

若在所述第一定时器超时前,接收到该帧视频数据对应的数据拆分包中按照包编号排序的下一个数据拆分包,则重置所述第一定时器;

若在所述第一定时器超时前,未接收到该帧视频数据对应的数据拆分包中按照包编号排序的下一个数据拆分包,则向发送端设备发送针对该数据拆分包的重传请求,重置所述第一定时器,并启动第二定时器,所述第二定时器的定时时长大于所述第一定时器的定时时长;

若在所述第二定时器超时前,接收到重传的数据拆分包,则取消所述第二定时器;否则,再次向发送端设备发送针对该数据拆分包的重传请求,并重置所述第二定时器;

其中,所述数据收发单元,还用于对于任一帧视频数据,在首次接收到该帧视频数据对应的数据拆分包时,确定该数据拆分包是否为该帧视频数据对应的数据拆分包中按照包编号排序的第一个数据拆分包;

若该数据拆分包为该帧视频数据对应的数据拆分包中按照包编号排序的第一个数据拆分包,则确定执行所述启动第一定时器的操作;

若该数据拆分包不是该帧视频数据对应的数据拆分包中按照包编号排序的第一个数据拆分包,则启动所述第一定时器,向发送端设备发送针对目标数据拆分包的重传请求,并启动第二定时器,所述目标数据拆分包为该帧视频数据对应的数据拆分包中,包编号小于当前接收到的数据拆分包的包编号的数据拆分包。

12.一种电子设备,其特征在于,该电子设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1‑9任一项的方法步骤。