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

摘要:

权利要求书:

1.一种数据包恢复方法,其特征在于,所述方法包括:发送原始数据包;

对已发送的原始数据包组中的每个原始数据包进行预编码,以得到第一编码数据包组,所述第一编码数据包组中每个第一编码数据包的字节数相同;

对所述第一编码数据包组进行前向纠错编码,得到第二编码数据包组;

发送所述第二编码数据包组,所述原始数据包组在传输过程中未丢失的原始数据包和所述第二编码数据包组用于恢复所述原始数据包组在传输过程中丢失的原始数据包。

2.如权利要求1所述的方法,其特征在于,所述对已发送的原始数据包组中的每个原始数据包进行预编码,以得到第一编码数据包组,包括:确定第一字节数,所述第一字节数大于或等于所述原始数据包组中每个原始数据包的字节数中的最大字节数;

对于所述原始数据包组中的任意一个原始数据包,根据所述第一字节数,在所述一个原始数据包的末端添加第一数据块,所述第一数据块的字节数是所述第一字节数减去所述一个原始数据包的字节数得到;

根据所述第一数据块的字节数,在添加所述第一数据块后的所述一个原始数据包中的预设位置处添加第二数据块,以得到所述第一编码数据包组中的一个第一编码数据包,所述第二数据块的字节数为预设字节数,所述第二数据块中包含所述第一数据块的字节数。

3.如权利要求2所述的方法,其特征在于,所述一个原始数据包的预设位置为所述一个原始数据包的首端。

4.如权利要求1-3任一所述的方法,其特征在于,视频图像中的I帧包括多个原始数据包,所述视频图像中的P帧包括一个或多个原始数据包,所述对已发送的原始数据包组中的每个原始数据包进行预编码,以得到第一编码数据包组之前,还包括:将已发送的一个I帧的所有原始数据包划分到多个原始数据包组,将已发送的多个P帧的所有原始数据包划分到一个原始数据包组,每个原始数据包组中的所有原始数据包的包序连续。

5.如权利要求1-3任一所述的方法,其特征在于,所述发送所述第二编码数据包组之前,还包括:

对于所述第二编码数据包组中的任意一个第二编码数据包,在所述一个第二编码数据包中添加编码信息数据块;

其中,所述编码信息数据块包含所述一个第二编码数据包在所述第二编码数据包组中的位置信息、所述原始数据包组中第一个原始数据包的包序、所述原始数据包组的数据包个数和所述第二编码数据包组的数据包个数。

6.如权利要求1所述的方法,其特征在于,所述前向纠错编码为基于柯西矩阵的RS-FEC编码。

7.一种数据包恢复方法,其特征在于,所述方法包括:接收原始数据包和第二编码数据包;

从接收到的第二编码数据包中获取多个第二编码数据包,以及从接收到的原始数据包中获取多个原始数据包,所述多个第二编码数据包所属的第二编码数据包组与所述多个原始数据包所属的原始数据包组对应,所述第二编码数据包组是对第一编码数据包组进行前向纠错编码得到,所述第一编码数据包组是对所述原始数据包组中的每个原始数据包进行预编码得到,所述第一编码数据包组中每个第一编码数据包的字节数相同;

当所述多个原始数据包的包序不连续时,确定所述原始数据包组在传输过程中丢失原始数据包;

当所述多个第二编码数据包和所述多个原始数据包满足预设条件时,根据所述多个第二编码数据包和所述多个原始数据包,恢复所述原始数据包组在传输过程中丢失的原始数据包。

8.如权利要求7所述的方法,其特征在于,所述第二编码数据包中包含编码信息数据块,所述第二编码数据包中的编码信息数据块包含的目标包序为对应的原始数据包组中第一个原始数据包的包序,所述第二编码数据包中的编码信息数据块包含的目标数据包个数为对应的原始数据包组的数据包个数,所述从接收到的第二编码数据包中获取多个第二编码数据包,以及从接收到的原始数据包中获取多个原始数据包,包括:确定接收到的第二编码数据包中包含同一目标包序的多个第二编码数据包属于一个第二编码数据包组;

根据所述多个第二编码数据包中任一第二编码数据包中包含的目标包序和目标数据包个数,确定目标包序范围;

确定接收到的原始数据包中包序处于所述目标包序范围内的多个原始数据属于与所述一个第二编码数据包组对应的一个原始数据包组。

9.如权利要求8所述的方法,其特征在于,所述当所述多个第二编码数据包和所述多个原始数据包满足预设条件时,根据所述多个第二编码数据包和所述多个原始数据包,恢复所述原始数据包组在传输过程中丢失的原始数据包之前,还包括:获取所述多个第二编码数据包中的任一第二编码数据包中包含的目标数据包个数;

将获取到的目标数据包个数减去所述多个原始数据包的个数,得到丢失数据包个数;

当所述丢失数据包个数小于所述多个第二编码数据包的个数时,确定所述多个第二编码数据包和所述多个原始数据包满足预设条件。

10.如权利要求7-9任一所述的方法,其特征在于,所述第二编码数据包中包含编码信息数据块,所述第二编码数据包中的编码信息数据块包含自身在所属的第二编码数据包组中的位置信息和所属的第二编码数据包组的数据包个数,所述根据所述多个第二编码数据包和所述多个原始数据包,恢复所述原始数据包组在传输过程中丢失的原始数据包,包括:获取所述多个第二编码数据包中的任一第二编码数据包中包含的所述第二编码数据包组的数据包个数,以及获取所述多个第二编码数据包中的每个第二编码数据包中包含的自身在所述第二编码数据包组中的位置信息;

去除所述多个第二编码数据包中的每个第二编码数据包中的编码信息数据块;

将去除编码信息数据块后的所述多个第二编码数据包中的任一第二编码数据包的字节数作为第二字节数,所述第二字节数为所述第一编码数据包组中每个第一编码数据包的字节数;

根据所述第二字节数,对所述多个原始数据包中的每个原始数据包进行预编码,以得到属于所述第一编码数据包组的多个第一编码数据包;

根据所述多个第二编码数据包中的每个第二编码数据包在所述第二编码数据包组中的位置信息和所述第二编码数据包组的数据包个数,对所述多个第一编码数据包和去除编码信息数据块后的所述多个第二编码数据包进行前向纠错解码,以得到所述第一编码数据包组;

对所述第一编码数据包组中的每个第一编码数据包进行预解码,以得到所述原始数据包组。

11.如权利要求10所述的方法,其特征在于,所述根据所述第二字节数,对所述多个原始数据包中的每个原始数据包进行预编码,以得到属于所述第一编码数据包组的多个第一编码数据包,包括:

对于所述多个原始数据包中的任意一个原始数据包,根据所述第二字节数,在所述一个原始数据包的末端添加第一数据块,所述第一数据块的字节数是所述第二字节数减去所述一个原始数据包的字节数且减去预设字节数得到;

根据所述第一数据块的字节数,在添加所述第一数据块后的所述一个原始数据包中的预设位置处添加第二数据块,以得到属于所述第一编码数据包组的一个第一编码数据包,所述第二数据块的字节数为所述预设字节数,所述第二数据块中包含所述第一数据块的字节数。

12.如权利要求11所述的方法,其特征在于,所述对所述第一编码数据包组中的每个第一编码数据包进行预解码,以得到所述原始数据包组,包括:对于所述第一编码数据包组中的任意一个第一编码数据包,根据所述一个第一编码数据包中的预设位置处的第二数据块中包含的字节数,从所述一个第一编码数据包的末端去除第一数据块;

根据所述预设字节数,从去除第一数据块后的所述一个第一编码数据包中的预设位置处去除第二数据块,以得到属于所述原始数据包组的一个原始数据包。

13.一种数据包恢复方法,其特征在于,所述方法包括:第一设备将原始数据包发送给第二设备,并对已发送的原始数据包组中的每个原始数据包进行预编码,以得到第一编码数据包组,所述第一编码数据包组中每个第一编码数据包的字节数相同;

所述第一设备对所述第一编码数据包组进行前向纠错编码,得到第二编码数据包组,将所述第二编码数据包组发送给所述第二设备;

所述第二设备接收到所述第一设备发送的原始数据包和第二编码数据包时,从接收到的第二编码数据包中获取多个第二编码数据包,以及从接收到的原始数据包中获取多个原始数据包,所述多个第二编码数据包属于所述第二编码数据包组,所述多个原始数据包属于所述原始数据包组;

所述第二设备在所述多个原始数据包的包序不连续时,确定所述原始数据包组在传输过程中丢失原始数据包;

所述第二设备在所述多个第二编码数据包和所述多个原始数据包满足预设条件时,根据所述多个第二编码数据包和所述多个原始数据包,恢复所述原始数据包组在传输过程中丢失的原始数据包。

14.一种数据包恢复装置,其特征在于,所述装置包括:第一发送模块,用于发送原始数据包;

第一编码模块,用于对已发送的原始数据包组中的每个原始数据包进行预编码,以得到第一编码数据包组,所述第一编码数据包组中每个第一编码数据包的字节数相同;

第二编码模块,用于对所述第一编码数据包组进行前向纠错编码,得到第二编码数据包组;

第二发送模块,用于发送所述第二编码数据包组,所述原始数据包组在传输过程中未丢失的原始数据包和所述第二编码数据包组用于恢复所述原始数据包组在传输过程中丢失的原始数据包。

15.如权利要求14所述的装置,其特征在于,所述第一编码模块包括:确定单元,用于确定第一字节数,所述第一字节数大于或等于所述原始数据包组中每个原始数据包的字节数中的最大字节数;

第一添加单元,用于对于所述原始数据包组中的任意一个原始数据包,根据所述第一字节数,在所述一个原始数据包的末端添加第一数据块,所述第一数据块的字节数是所述第一字节数减去所述一个原始数据包的字节数得到;

第二添加单元,用于根据所述第一数据块的字节数,在添加所述第一数据块后的所述一个原始数据包中的预设位置处添加第二数据块,以得到所述第一编码数据包组中的一个第一编码数据包,所述第二数据块的字节数为预设字节数,所述第二数据块中包含所述第一数据块的字节数。

16.如权利要求15所述的装置,其特征在于,所述一个原始数据包的预设位置为所述一个原始数据包的首端。

17.如权利要求14-16任一所述的装置,其特征在于,视频图像中的I帧包括多个原始数据包,所述视频图像中的P帧包括一个或多个原始数据包,所述装置还包括:划分模块,用于将已发送的一个I帧的所有原始数据包划分到多个原始数据包组,将已发送的多个P帧的所有原始数据包划分到一个原始数据包组,每个原始数据包组中的所有原始数据包的包序连续。

18.如权利要求14-16任一所述的装置,其特征在于,所述装置还包括:添加模块,用于对于所述第二编码数据包组中的任意一个第二编码数据包,在所述一个第二编码数据包中添加编码信息数据块;

其中,所述编码信息数据块包含所述一个第二编码数据包在所述第二编码数据包组中的位置信息、所述原始数据包组中第一个原始数据包的包序、所述原始数据包组的数据包个数和所述第二编码数据包组的数据包个数。

19.如权利要求14所述的装置,其特征在于,所述前向纠错编码为基于柯西矩阵的RS-FEC编码。

20.一种数据包恢复装置,其特征在于,所述装置包括:接收模块,用于接收原始数据包和第二编码数据包;

第一获取模块,用于从接收到的第二编码数据包中获取多个第二编码数据包,以及从接收到的原始数据包中获取多个原始数据包,所述多个第二编码数据包所属的第二编码数据包组与所述多个原始数据包所属的原始数据包组对应,所述第二编码数据包组是对第一编码数据包组进行前向纠错编码得到,所述第一编码数据包组是对所述原始数据包组中的每个原始数据包进行预编码得到,所述第一编码数据包组中每个第一编码数据包的字节数相同;

第一确定模块,用于当所述多个原始数据包的包序不连续时,确定所述原始数据包组在传输过程中丢失原始数据包;

恢复模块,用于当所述多个第二编码数据包和所述多个原始数据包满足预设条件时,根据所述多个第二编码数据包和所述多个原始数据包,恢复所述原始数据包组在传输过程中丢失的原始数据包。

21.如权利要求20所述的装置,其特征在于,所述第二编码数据包中包含编码信息数据块,所述第二编码数据包中的编码信息数据块包含的目标包序为对应的原始数据包组中第一个原始数据包的包序,所述第二编码数据包中的编码信息数据块包含的目标数据包个数为对应的原始数据包组的数据包个数,所述获取模块包括:第一确定单元,用于确定接收到的第二编码数据包中包含同一目标包序的多个第二编码数据包属于一个第二编码数据包组;

第二确定单元,用于根据所述多个第二编码数据包中任一第二编码数据包中包含的目标包序和目标数据包个数,确定目标包序范围;

第三确定单元,用于确定接收到的原始数据包中包序处于所述目标包序范围内的多个原始数据属于与所述一个第二编码数据包组对应的一个原始数据包组。

22.如权利要求21所述的装置,其特征在于,所述装置还包括:第二获取模块,用于获取所述多个第二编码数据包中的任一第二编码数据包中包含的目标数据包个数;

计算模块,用于将获取到的目标数据包个数减去所述多个原始数据包的个数,得到丢失数据包个数;

第二确定模块,用于当所述丢失数据包个数小于所述多个第二编码数据包的个数时,确定所述多个第二编码数据包和所述多个原始数据包满足预设条件。

23.如权利要求20-22任一所述的装置,其特征在于,所述第二编码数据包中包含编码信息数据块,所述第二编码数据包中的编码信息数据块包含自身在所属的第二编码数据包组中的位置信息和所属的第二编码数据包组的数据包个数,所述恢复模块包括:获取单元,用于获取所述多个第二编码数据包中的任一第二编码数据包中包含的所述第二编码数据包组的数据包个数,以及获取所述多个第二编码数据包中的每个第二编码数据包中包含的自身在所述第二编码数据包组中的位置信息;

去除单元,用于去除所述多个第二编码数据包中的每个第二编码数据包中的编码信息数据块;

第四确定单元,用于将去除编码信息数据块后的所述多个第二编码数据包中的任一第二编码数据包的字节数作为第二字节数,所述第二字节数为所述第一编码数据包组中每个第一编码数据包的字节数;

编码单元,用于根据所述第二字节数,对所述多个原始数据包中的每个原始数据包进行预编码,以得到属于所述第一编码数据包组的多个第一编码数据包;

第一解码单元,用于根据所述多个第二编码数据包中的每个第二编码数据包在所述第二编码数据包组中的位置信息和所述第二编码数据包组的数据包个数,对所述多个第一编码数据包和去除编码信息数据块后的所述多个第二编码数据包进行前向纠错解码,以得到所述第一编码数据包组;

第二解码单元,用于对所述第一编码数据包组中的每个第一编码数据包进行预解码,以得到所述原始数据包组。

24.如权利要求23所述的装置,其特征在于,所述编码单元用于:对于所述多个原始数据包中的任意一个原始数据包,根据所述第二字节数,在所述一个原始数据包的末端添加第一数据块,所述第一数据块的字节数是所述第二字节数减去所述一个原始数据包的字节数且减去预设字节数得到;

根据所述第一数据块的字节数,在添加所述第一数据块后的所述一个原始数据包中的预设位置处添加第二数据块,以得到属于所述第一编码数据包组的一个第一编码数据包,所述第二数据块的字节数为所述预设字节数,所述第二数据块中包含所述第一数据块的字节数。

25.如权利要求24所述的装置,其特征在于,所述第二解码单元用于:对于所述第一编码数据包组中的任意一个第一编码数据包,根据所述一个第一编码数据包中的预设位置处的第二数据块中包含的字节数,从所述一个第一编码数据包的末端去除第一数据块;

根据所述预设字节数,从去除第一数据块后的所述一个第一编码数据包中的预设位置处去除第二数据块,以得到属于所述原始数据包组的一个原始数据包。

26.一种数据包恢复系统,其特征在于,所述系统包括:第一设备和第二设备;

所述第一设备,用于将原始数据包发送给所述第二设备,并对已发送的原始数据包组中的每个原始数据包进行预编码,以得到第一编码数据包组,所述第一编码数据包组中每个第一编码数据包的字节数相同;对所述第一编码数据包组进行前向纠错编码,得到第二编码数据包组,将所述第二编码数据包组发送给所述第二设备;

所述第二设备,用于接收到所述第一设备发送的原始数据包和第二编码数据包时,从接收到的第二编码数据包中获取多个第二编码数据包,以及从接收到的原始数据包中获取多个原始数据包,所述多个第二编码数据包属于所述第二编码数据包组,所述多个原始数据包属于所述原始数据包组;在所述多个原始数据包的包序不连续时,确定所述原始数据包组在传输过程中丢失原始数据包;在所述多个第二编码数据包和所述多个原始数据包满足预设条件时,根据所述多个第二编码数据包和所述多个原始数据包,恢复所述原始数据包组在传输过程中丢失的原始数据包。