数据传输方法及系统技术方案

技术编号:31483062 阅读:15 留言:0更新日期:2021-12-18 12:17
本公开提供一种数据传输方法及系统,涉及电子信息技术领域,能够解决在处理视频丢帧时,数据延迟的问题。具体技术方案为:在传输目标视频时,通过对目标视频的分组处理生成多个数据包,并确定目标视频的冗余包,最后通过所述预设算法的协议头标记数据包和冗余包后向接收端发送,以使得在传输目标编码数据过程中发生丢包事件时,接收端根据冗余包恢复丢失的数据包。本公开用于视频传输。本公开用于视频传输。本公开用于视频传输。

【技术实现步骤摘要】
数据传输方法及系统


[0001]本公开涉及电子信息
,尤其涉及数据传输方法及系统。

技术介绍

[0002]视频流在网络传输过程中,会因为传输时的传输资源而影响传输效果,如网络环境差时,视频在传输过程中会产生丢包现象;又如,当传输延时过大时,会引起视频画面的花屏卡顿等现象,严重影响用户体验。现有技术针对于传输资源造成的传输问题,会通过ARQ(Automatic Repeat

ReQuest,自动请求重传)功能,可以对丢失的数据包进行重传,对这种情况有一定的改善作用。但在网络延时较大时,采用ARQ方式对丢包数据进行重传,将会使得视频的实时性下降。

技术实现思路

[0003]本公开实施例提供一种数据传输方法及系统,能够解决在处理视频传输丢帧时,出现的网络延迟的问题。该技术方案如下:
[0004]根据本公开实施例的第一方面,提供一种数据传输方法,应用于发送端,该方法包括:
[0005]获取目标视频,及传输该目标视频时的网络资源,该网络资源包括丢包率;
[0006]根据该网络资源和预设算法,将该目标视频拆分为K组数据包,并生成目标视频对应的N组冗余包;
[0007]通过该预设算法的协议头标记K组数据包和N组冗余包后,编码处理生成目标编码数据,并向接收端发送,以使得在传输目标编码数据过程中发生丢包事件时,接收端根据该冗余包恢复丢失的数据包。
[0008]在一个实施例中,该方法中将该目标视频拆分为K组数据包,包括:
[0009]根据该传输该目标视频时的网络资源和目标视频,确定预设分组规则,该目标分组规则至少包括:数据包的组数K和每组对应的字节;
[0010]根据该目标分组规则,对该目标视频进行分组处理,生成K组数据包;
[0011]其中,当第K组数据包中的数据不满足分组规则时,则通过填充预设字节,使得第K组数据包中的数据满足分组规则;
[0012]其中,当目标视频的分组数量该不满足数据包的组数K时,则通过填充预设字节,生成第M至第K组数据包,该M小于等于K。
[0013]在一个实施例中,该方法中生成冗余包,包括:
[0014]根据该传输该目标视频时的网络资源和该目标分组规则,确定冗余包的组数N;
[0015]根据预设算法和组数N,逐个对K组数据包进行异或处理,生成N个冗余包。
[0016]在一个实施例中,该方法中协议头至少包括视版本信息、预留信息、配置文件标识、视频序列以及视频标记;
[0017]该配置文件标识用于标记该数据包的组数K和冗余包的组数N,该配置文件标准用
于指示接收端根据该冗余包恢复该数据包;
[0018]该视频序列用于通过序列编号1至K标记该K组数据包,并通过序列编号1至N标记该冗余包。
[0019]在一个实施例中,该方法中生成目标编码数据,包括:
[0020]当第K组数据包中的数据包括预设字节时,不发送该第K组数据包中的预设字节。
[0021]根据本公开实施例的第二方面,提供一种数据传输方法,应用于接收端,包括:接收目标编码数据,该目标编码数据包括该预设算法的协议头和目标视频,该目标视频包括数据包和冗余包;
[0022]解码处理该目标编码数据,获取至少一个数据包和至少一个冗余包;
[0023]当该协议头指示该目标编码数据发生数据包丢失时,通过该冗余包恢复该丢失的数据包后,获取目标视频。
[0024]在一个实施例中,该方法中协议头至少包括视版本信息、预留信息、配置文件标识、视频序列以及视频标记,该方法包括:
[0025]该配置文件标识用于标记该数据包的组数K和冗余包的组数N,该配置文件标准用于指示接收端根据该冗余包恢复该数据包;
[0026]该视频序列用于通过序列编号1至K标记该K组数据包,并通过序列编号1至N标记该冗余包。
[0027]在一个实施例中,该方法还包括:
[0028]根据该视频序列对该至少一个数据包进行检测;
[0029]在检测到该数据包的序列编号不连续时,则通过该冗余包恢复该序列编号不连续的数据包。
[0030]在一个实施例中,该方法还包括:
[0031]根据该视频包序列号对该至少一个数据包进行检测;
[0032]在检测到该数据包的序列编号缺失时,确定丢失数据包的组数X;
[0033]当丢失数据包的组数X小于等于冗余包的组数N时,则通过该冗余包恢复该丢失的数据包。
[0034]根据本公开实施例的第三方面,提供一种数据传输系统,该系统包括:发送端和接收端;
[0035]该发送端,用于执行本公开实施例第一方面该的方法;
[0036]该接收端,用于执行本公开实施例第二方面该的方法。
[0037]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0038]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0039]图1是本公开实施例提供的一种数据传输方法的流程图1;
[0040]图1a是本公开实施例提供的一种数据传输方法的协议头示意图;
[0041]图2是本公开实施例提供的一种数据传输方法的流程图2;
[0042]图3是本公开实施例提供的一种数据传输系统的结构图;
[0043]图3a是本公开实施例提供的一种数据传输系统中发送端的结构图;
[0044]图3b是本公开实施例提供的一种数据传输系统中接收端的结构图。
具体实施方式
[0045]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0046]本公开实施例提供一种数据传输方法,如图1所示,该数据传输方法应用于发送端,其中发送端可以是终端设备或软件模块等,该方法包括以下步骤:
[0047]101、获取目标视频,及传输该目标视频时的网络资源。
[0048]该网络资源包括传输该目标视频时的丢包率。
[0049]通过获取传输该目标视频时的网络资源,能够确定目标视频的拆分规则,从而实现数据传输与网络资源相匹配,提高传输效率。
[0050]102、根据该网络资源和预设算法,将该目标视频拆分为K组数据包,并确定该目标视频对应的N个冗余包。
[0051]本公开所提及的拆分数据包的预设算法可以是FEC算法(前向性纠错技术),所用的FEC算法是基于伽罗华域矩阵的异或运算丢包恢复算法。具体的该算法:将所要发送的数据包分成定长分组,将每组数据包逐字节进行异或运算得到冗余包。最终的恢复能力和冗余度有关。
[005本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于发送端,所述方法包括:获取目标视频,及传输所述目标视频时的网络资源,所述网络资源包括丢包率;根据所述网络资源和预设算法,将所述目标视频拆分为K组数据包,并生成所述目标视频对应的N组冗余包;通过所述预设算法的协议头标记K组数据包和N组冗余包后,编码处理生成目标编码数据,并向接收端发送,以使得在传输目标编码数据过程中发生丢包事件时,接收端根据所述冗余包恢复丢失的数据包。2.根据权利要求1所述的方法,其特征在于,所述将所述目标视频拆分为K组数据包,包括:根据所述传输所述目标视频时的网络资源和目标视频,确定预设分组规则,所述目标分组规则至少包括:数据包的组数K和每组对应的字节;根据所述目标分组规则,对所述目标视频进行分组处理,生成K组数据包;其中,当第K组数据包中的数据不满足分组规则时,则通过填充预设字节,使得第K组数据包中的数据满足分组规则;其中,当目标视频的分组数量所述不满足数据包的组数K时,则通过填充预设字节,生成第M至第K组数据包,所述M小于等于K。3.根据权利要求2所述的方法,其特征在于,生成冗余包,包括:根据所述传输所述目标视频时的网络资源和所述目标分组规则,确定冗余包的组数N;根据预设算法和组数N,逐个对K组数据包进行异或处理,生成N个冗余包。4.根据权利要求2所述的方法,其特征在于,所述协议头至少包括视版本信息、预留信息、配置文件标识、视频序列以及视频标记;所述配置文件标识用于标记所述数据包的组数K和冗余包的组数N,所述配置文件标准用于指示接收端根据所述冗余包恢复所述数据包;所述视频序列用于通过序列编号1至K标记所述K组数据包,并通过序列编号1至N标记所述冗余包。5.根据权...

【专利技术属性】
技术研发人员:朱英龙
申请(专利权)人:西安万像电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1