首页> 中国专利> 一种视频帧的传输方法、装置及系统

一种视频帧的传输方法、装置及系统

摘要

本公开提供一种视频帧的传输方法、装置及系统,涉及视频传输技术领域,能够解决现有技术中视频帧的大小超过传输通道的最大传输单元时,视频帧不能传输的问题。具体技术方案为:首先获取传输通道的最大传输单元信息;然后根据传输通道的最大传输单元信息将待传输的目标视频帧拆分为至少一个报文,每个报文的大小为小于或等于传输通道的最大传输单元;最后将至少一个报文发送给接收端,以使接收端将至少一个报文组合为目标视频帧。本公开用于视频帧的传输。

著录项

  • 公开/公告号CN112954415A

    专利类型发明专利

  • 公开/公告日2021-06-11

    原文格式PDF

  • 申请/专利权人 西安万像电子科技有限公司;

    申请/专利号CN202110080960.3

  • 发明设计人 朱英龙;

    申请日2021-01-21

  • 分类号H04N21/2662(20110101);H04N21/643(20110101);H04N21/647(20110101);

  • 代理机构11265 北京挺立专利事务所(普通合伙);

  • 代理人张智锐

  • 地址 710075 陕西省西安市高新区唐延南路8号3G智能终端产业园4号厂房3层302室

  • 入库时间 2023-06-19 11:21:00

说明书

技术领域

本公开涉及视频传输技术领域,尤其涉及一种视频帧的传输方法、装置及系统。

背景技术

随着人们视觉感受要求的提高,对视频分辨率要求越来越高,需要传输的数据量也越来越大。目前,原始或编码后的视频帧一般都比较大。如果视频帧的大小大于传输通道的最大传输单元MTU,则该视频帧不适用于在该传输通道上进行传输。

发明内容

本公开实施例提供一种视频帧的传输方法、装置及系统,能够解决现有技术中视频帧的大小超过传输通道的最大传输单元时,视频帧不能传输的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种视频帧的传输方法,该方法包括:

获取传输通道的最大传输单元信息;

根据所述传输通道的最大传输单元信息将待传输的目标视频帧拆分为至少一个报文,每个报文的大小为小于或等于所述传输通道的最大传输单元;

将所述至少一个报文发送给接收端,以使所述接收端将所述至少一个报文组合为所述目标视频帧。

本公开实施例提供的视频帧的传输方法,首先获取传输通道的最大传输单元信息;然后根据传输通道的最大传输单元信息将待传输的目标视频帧拆分为至少一个报文,每个报文的大小为小于或等于传输通道的最大传输单元;最后将至少一个报文发送给接收端,以使接收端将至少一个报文组合为目标视频帧。本公开提供的视频帧的传输方法,能够对当前要发送的视频帧进行拆分,以保证拆分后得到的数据报文能够被正确传输,同时,在接收端可以对接收到的数据报文进行组合得到原视频帧。

在一个实施例中,每个报文包括协议头和视频包,所述协议头包括所述报文的信息;

所述将所述至少一个报文发送给接收端,以使所述接收端将所述至少一个报文组合为所述目标视频帧包括:

将所述至少一个报文发送给接收端,以使所述接收端根据所述至少一个报文的协议头将所述至少一个报文组合为所述目标视频帧。

本公开实施例通过上述方法,接收端可以通过协议头的信息对接收到的数据报文进行组合,从而得到拆分之前的视频帧。

在一个实施例中,所述协议头至少包括视频帧类型、视频帧序列号、视频包标记、视频包序列号以及视频包长度;

所述视频包标记用于指示所述视频包为起始视频包、结束视频包、中间拆分包或完整视频帧;

所述视频包序列号用于指示所述视频帧拆分成视频包的序列号。

根据本公开实施例的第二方面,提供一种视频帧的传输方法,该方法包括:

接收发送端发送的至少一个报文,每个所述报文包括协议头和视频包;

对至少一个协议头进行解析;

根据解析的结果对至少一个视频包进行组合获得目标视频帧。

本公开实施例提供的视频帧的传输方法,首先接收发送端发送的至少一个报文,每个报文包括协议头和视频包;然后对至少一个协议头进行解析;最后根据解析的结果对至少一个视频包进行组合获得目标视频帧。本公开提供的视频帧的传输方法,能够对当前要发送的视频帧进行拆分,以保证拆分后得到的数据报文能够被正确传输,同时,在接收端可以对接收到的数据报文进行组合得到原视频帧。

在一个实施例中,所述协议头至少包括视频帧类型、视频帧序列号、视频包标记、视频包序列号以及视频包长度,所述视频包标记用于指示所述视频包为起始视频包、结束视频包、中间拆分包或完整视频帧,所述视频包序列号用于指示所述视频帧拆分成视频包的序列号;

所述根据解析的结果对至少一个视频包进行组合获得目标视频帧包括:

在所述视频包标记指示所述视频包为完整视频包时,删除所述报文的所述协议头获得所述目标视频帧;

在所述视频包标记指示所述视频包为起始视频包、中间拆分包或结束视频包时,缓存所述视频包;

根据所述至少一个报文的所述视频包序列号将缓存的所述视频包组合获得目标视频帧。

本公开实施例通过上述方法,根据协议头包含的信息对视频包进行解析,从而得到拆分之前的视频帧。

在一个实施例中,上述方法还包括:

根据所述视频包序列号对所述至少一个报文进行检测;

在检测到所述至少一个报文的至少一个所述视频包序列号缺失时,丢弃所述至少一个报文,重新进行缓存、组合。

本公开实施例通过上述方法,当某个视频包丢失时,能够丢弃该视频帧的所有报文,然后重新进行缓冲,保证了视频帧的完整性。

根据本公开实施例的第三方面,提供一种视频帧的传输装置,包括:获取模块、拆分模块和发送模块;

所述获取模块,用于获取传输通道的最大传输单元信息;

所述拆分模块,用于根据所述传输通道的最大传输单元信息将待传输的目标视频帧拆分为至少一个报文,每个报文的大小为小于或等于所述传输通道的最大传输单元;

所述发送模块,用于将所述至少一个报文发送给接收端,以使所述接收端将所述至少一个报文组合为所述目标视频帧。

本公开实施例提供的装置,包括获取模块、拆分模块和发送模块;获取模块获取传输通道的最大传输单元信息;拆分模块根据传输通道的最大传输单元信息将待传输的目标视频帧拆分为至少一个报文,每个报文的大小为小于或等于传输通道的最大传输单元;发送模块将至少一个报文发送给接收端,以使接收端将至少一个报文组合为目标视频帧。本公开提供的视频帧的传输装置,能够对当前要发送的视频帧进行拆分,以保证拆分后得到的数据报文能够被正确传输,同时,在接收端可以对接收到的数据报文进行组合得到原视频帧。

在一个实施例中,每个报文包括协议头和视频包,所述协议头包括所述报文的信息;

所述发送模块,具体用于将所述至少一个报文发送给接收端,以使所述接收端根据所述至少一个报文的协议头将所述至少一个报文组合为所述目标视频帧。

本公开实施例通过上述设置,接收端可以通过协议头的信息对接收到的数据报文进行组合,从而得到拆分之前的视频帧。

在一个实施例中,协议头至少包括视频帧类型、视频帧序列号、视频包标记、视频包序列号以及视频包长度;

所述视频包标记用于指示所述视频包为起始视频包、结束视频包、中间拆分包或完整视频帧;

所述视频包序列号用于指示所述视频帧拆分成视频包的序列号。

根据本公开实施例的第四方面,提供一种视频帧的传输系统,包括:发送端和接收端;

所述发送端,用于执行上述视频帧的传输方法中任一项所述的方法;

所述接收端,用于执行上述视频帧的传输方法中任一项所述的方法。

根据本公开实施例的第五方面,提供一种视频帧的传输设备,所述视频帧的传输设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现上述任一项所述的视频帧的传输方法中所执行的步骤。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现上述任一项所述的视频帧的传输方法中所执行的步骤。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的一种视频帧的传输方法的流程图;

图2是本公开实施例提供的协议头的格式示意图;

图3是本公开实施例提供的一种视频帧的传输方法的流程图;

图4是本公开实施例提供的一种视频帧的传输方法的流程图;

图5是本公开实施例提供的一种视频帧的传输装置的结构示意图。

图6是本公开实施例提供的一种视频帧的传输系统的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例提供一种视频帧的传输方法,应用于发送端,如图1所示,该视频帧的传输方法包括以下步骤:

步骤101、获取传输通道的最大传输单元信息;

具体的,发送端获取传输通道的最大传输单元信息MTU,MTU为发送方能够接受的有效载荷大小,是包或帧的最大长度,一般以字节记。

步骤102、根据传输通道的最大传输单元信息将待传输的目标视频帧拆分为至少一个报文,每个报文的大小为小于或等于传输通道的最大传输单元;

在一个实施例中,每个报文包括协议头和视频包,协议头包括报文的信息;

具体的,协议头至少包括视频帧类型、视频帧序列号、视频包标记、视频包序列号以及视频包长度;

视频包标记用于指示视频包为起始视频包、结束视频包、中间拆分包或完整视频帧;

视频包序列号用于指示视频帧拆分成视频包的序列号。

实际使用中,视频帧被拆分成视频包以后,示例的,视频包的协议头可以占用12字节,其格式如图2所示。参照图2,协议头的字段定义如下:

RSV:占6位,预留字段,全0;

B:占1位,视频帧拆包的起始位置标志。1表示该视频包为一个视频帧的起始包。0表示该视频包为一个视频帧的非起始包;

E:占1位,视频帧拆包的结束位置标志。1表示该视频包为一个视频帧的结束包。0表示该视频包为一个视频帧的非结束包;

视频包标记BE各取值所对应的意义为:

BE=10,表示该视频包为视频帧的一个拆分包,该视频包为视频帧被拆分后的第一个视频包。

BE=01,表示该视频包为视频帧的一个拆分包,该视频包为视频帧被拆分后的最后一个视频包。

BE=00,表示该视频包为视频帧的一个拆分包,该视频包为视频帧被拆分后中间的视频包。

BE=11,表示该视频包为一个完整的视频帧,未被拆分。

视频帧类型Type:占8位,指示视频帧的类型;

视频帧序列号frame sequence number:占16位,指示视频帧的序列号,从0开始累加;

视频包序列号packet sequence number:占32位,视频帧被拆分后成视频包,指示视频包的序列号。所有视频帧使用统一序列号,从0开始累加;

视频包长度packet length:占32位,视频帧被拆分后成视频包,指示视频包的长度。

进一步,优选视频帧被拆分成视频包的最大大小为MTU-视频包协议头的大小。这样被拆分后的视频包大小加上视频包协议头刚好可以满足传输层的传输要求,又可以保证传输效率。视频帧被拆分成视频包后,按照协议头的定义对视频包的协议头字段进行填充。

步骤103、将至少一个报文发送给接收端,以使接收端将至少一个报文组合为目标视频帧。

是一个实施例中,将至少一个报文发送给接收端,以使接收端将至少一个报文组合为目标视频帧包括:

将至少一个报文发送给接收端,以使接收端根据至少一个报文的协议头将至少一个报文组合为目标视频帧。

本公开实施例通过上述方法,接收端可以通过协议头的信息对接收到的数据报文进行组合,从而得到拆分之前的视频帧。

本公开实施例提供的视频帧的传输方法,首先获取传输通道的最大传输单元信息;然后根据传输通道的最大传输单元信息将待传输的目标视频帧拆分为至少一个报文,每个报文的大小为小于或等于传输通道的最大传输单元;最后将至少一个报文发送给接收端,以使接收端将至少一个报文组合为目标视频帧。本公开提供的视频帧的传输方法,能够对当前要发送的视频帧进行拆分,以保证拆分后得到的数据报文能够被正确传输,同时,在接收端可以对接收到的数据报文进行组合得到原视频帧。

如图3所示,本公开另一实施例提供一种视频帧的传输方法,应用于接收端,该视频帧的传输方法包括以下步骤:

步骤201、接收发送端发送的至少一个报文,每个报文包括协议头和视频包。

在一个实施例中,协议头至少包括视频帧类型、视频帧序列号、视频包标记、视频包序列号以及视频包长度,视频包标记用于指示视频包为起始视频包、结束视频包、中间拆分包或完整视频帧,视频包序列号用于指示视频帧拆分成视频包的序列号。

步骤202、对至少一个协议头进行解析。

具体的,接上例,若BE=11,表示该视频包为一个完整的视频帧,无需处理,只需要去掉视频包的协议头即可得到原视频帧。

若BE=10,表示该视频包为视频帧被拆分后的第一个视频包,将其放入缓冲区。若遇到BE=00,说明该视频包为视频帧被拆分后中间的视频包,将其追加到前一个视频包的缓冲区后,直至遇到BE=01,说明该视频包为视频帧被拆分后的最后一个视频包,将其追加到前一个视频包的缓冲区,此时得到一个完整的视频帧。

步骤203、根据解析的结果对至少一个视频包进行组合获得目标视频帧。

在一个实施例中,根据解析的结果对至少一个视频包进行组合获得目标视频帧包括:

在视频包标记指示视频包为完整视频包时,删除报文的协议头获得目标视频帧;

在视频包标记指示视频包为起始视频包、中间拆分包或结束视频包时,缓存视频包;

根据至少一个报文的视频包序列号将缓存的视频包组合获得目标视频帧。

本公开实施例通过上述方法,根据协议头包含的信息对视频包进行解析,从而得到拆分之前的视频帧。

在一个实施例中,上述方法还包括:

根据视频包序列号对至少一个报文进行检测;

在检测到至少一个报文的至少一个视频包序列号缺失时,丢弃至少一个报文,重新进行缓存、组合。

实际使用中,由于视频帧使用统一的视频包序列号,则下一个视频包的序列号为前一个视频包序列号加1。根据此条件可以判断传输过程中有无视频包丢失。

在传输过程中若某个视频包丢失,为了保证视频帧的完整性,可以将该视频帧对应的所有视频包都丢弃。本公开中所提供的丢弃策略如下:

若某个视频包丢失,清空视频包缓冲区的数据,遇到BE=00或BE=01的数据包直接丢弃,直到遇到BE=10的视频包,则重新开始对其进行缓冲。

本公开实施例通过上述方法,当某个视频包丢失时,能够丢弃该视频帧的所有报文,然后重新进行缓冲,保证了视频帧的完整性。

本公开实施例提供的视频帧的传输方法,首先接收发送端发送的至少一个报文,每个报文包括协议头和视频包;然后对至少一个协议头进行解析;最后根据解析的结果对至少一个视频包进行组合获得目标视频帧。本公开提供的视频帧的传输方法,能够对当前要发送的视频帧进行拆分,以保证拆分后得到的数据报文能够被正确传输,同时,在接收端可以对接收到的数据报文进行组合得到原视频帧。

基于上述图1和图3对应的实施例提供的视频帧的传输方法,本公开另一实施例提供一种视频帧的传输方法,如图4所示。

步骤301、发送端根据拆帧策略将要传输的原视频帧统一拆分成小于通道MTU大小的报文(小包),并在每个小包前添加对应的协议头。

具体的,视频帧被拆分成小包以后,小包的协议头,共占用12字节,参照图2,协议各字段定义如下:

RSV:占6位,预留字段,全0;

B:占1位,视频帧拆包的起始位置标志。1表示该小包为一个视频帧的起始包。0表示该小包为一个视频帧的非起始包;

E:占1位,视频帧拆包的结束位置标志。1表示该小包为一个视频帧的结束包。0表示该小包为一个视频帧的非结束包;

BE各取值所对应的意义解释如下:

BE=10,表示该小包为视频帧的一个拆分包,该小包为视频帧被拆分后的第一个小包。

BE=01,表示该小包为视频帧的一个拆分包,该小包为视频帧被拆分后的最后一个小包。

BE=00,表示该小包为视频帧的一个拆分包,该小包为视频帧被拆分后中间的小包。

BE=11,表示该小包为一个完整的视频帧,未被拆分。

type:占8位,视频帧类型;

frame sequence number:占16位,视频帧序列号,从0开始累加;

packet sequence number:占32位,视频帧被拆分后成小包,小包的序列号。所有视频帧使用统一序列号,从0开始累加;

packet length:占32位,视频帧被拆分后成小包,小包的长度。

视频帧被拆分成小包的最大大小=MTU-小包协议头大小,本实施例中中小包协议头大小为12。

如传输通道的MTU大小为1500个字节,则视频帧被拆分成小包的最大大小=1500-12=1488。

这样被拆分后的小包大小加上小包协议头刚好可以满足传输层的传输要求,又可以保证传输效率。

视频帧被拆分成小包后,按照协议头的定义对小包的协议头字段进行填充。

步骤302、接收端使用本公开组帧策略(对应于拆帧策略),将拆分成小包的视频帧,根据协议头的辅助信息,重新组合成原视频帧。

具体的,当接收端接收到传输层的小包后,对协议头进行解析。

若BE=11,表示该小包为一个完整的视频帧,无需处理,只需要去掉小包的协议头即可得到原始频帧。

若BE=10,表示该小包为视频帧被拆分后的第一个小包,将其放入缓冲区。若遇到BE=00,说明该小包为视频帧被拆分后中间的小包,将其追加到前一个小包的缓冲区后,直至遇到BE=01,说明该小包为视频帧被拆分后的最后一个小包,将其追加到前一个小包的缓冲区,此时得到一个完整的视频帧。

由于所有视频帧使用统一序列号packet sequence number,则下一个小包的序列号为前一个小包序列号加1。根据此条件可以判断传输过程中有无小包丢失。

优选地,在传输过程中若某个小包丢失,为了保证视频帧的完整性,可以将该视频帧对应的所有小包都丢弃。本公开中所提供的丢弃策略如下:

若某个小包丢失,清空小包缓冲区的数据,遇到BE=00或BE=01的数据包直接丢弃,直到遇到BE=10的小包,则重新开始对其进行缓冲。同时更新下一个接收序列号为当前小包序列号加1。

基于上述图1、图3和图4对应的实施例中所描述的视频帧的传输方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

本公开实施例提供一种装置,如图5所示,该装置40包括获取模块401、拆分模块402和发送模块403;

获取模块401,用于获取传输通道的最大传输单元信息;

拆分模块402,用于根据传输通道的最大传输单元信息将待传输的目标视频帧拆分为至少一个报文,每个报文的大小为小于或等于传输通道的最大传输单元;

发送模块403,用于将至少一个报文发送给接收端,以使接收端将至少一个报文组合为目标视频帧。

本公开实施例提供的装置,包括获取模块401、拆分模块402和发送模块403;获取模块401获取传输通道的最大传输单元信息;拆分模块402根据传输通道的最大传输单元信息将待传输的目标视频帧拆分为至少一个报文,每个报文的大小为小于或等于传输通道的最大传输单元;发送模块403将至少一个报文发送给接收端,以使接收端将至少一个报文组合为目标视频帧。本公开提供的视频帧的传输装置,能够对当前要发送的视频帧进行拆分,以保证拆分后得到的数据报文能够被正确传输,同时,在接收端可以对接收到的数据报文进行组合得到原视频帧。

在一个实施例中,每个报文包括协议头和视频包,协议头包括报文的信息;

发送模块403,具体用于将至少一个报文发送给接收端,以使接收端根据至少一个报文的协议头将至少一个报文组合为目标视频帧。

本公开实施例通过上述设置,接收端可以通过协议头的信息对接收到的数据报文进行组合,从而得到拆分之前的视频帧。

在一个实施例中,协议头至少包括视频帧类型、视频帧序列号、视频包标记、视频包序列号以及视频包长度;

视频包标记用于指示视频包为起始视频包、结束视频包、中间拆分包或完整视频帧;

视频包序列号用于指示视频帧拆分成视频包的序列号。

基于上述图1、图3和图4对应的实施例中描述的视频帧的传输方法,本公开另一实施例还提供一种视频帧的传输系统,如图6所示,该系统50包括:发送端501和接收端502;

发送端501,用于执行上述视频帧的传输方法中任一项的方法;

接收端502,用于执行上述视频帧的传输方法中任一项的方法。

基于上述图1、图3和图4对应的实施例中描述的视频帧的传输方法,本公开另一实施例还提供一种视频帧的传输设备,该视频帧的传输设备包括处理器和存储器,存储器中存储有至少一条计算机指令,该指令由处理器加载并执行以实现上述图1、图3和图4对应的实施例中所描述的视频帧的传输方法。

基于上述图1、图3和图4对应的实施例中所描述的视频帧的传输方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有至少一条计算机指令,用于执行上述图1、图3和图4对应的实施例中所描述的视频帧的传输方法,此处不再赘述。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号