泰宁新闻网

最新丢包检测方法及系统、计算机可读存储介质与流程

鞋

泰宁新闻网 http://www.tainingxinwen.cn 2020-10-18 15:15 出处:网络
这里写的最新丢包检测方法及系统、计算机可读存储介质与流程,小编为你整理了内容

这里写的最新丢包检测方法及系统、计算机可读存储介质与流程,小编为你整理了内容


本发明是关于多媒体通信技术领域,特别是关于一种丢包检测方法及系统、计算机可读存储介质。



背景技术:

现有多媒体应用中,网络传输的视频流主要基于rtp/udp协议封装和传输;如果一帧视频尺寸较大,可分割封装为多个rtp(实时传输协议)包,一帧视频的最后一个rtp包可通过rtp头的m(mark)位来标明;在丢包检测时主要根据rtp头中的16比特的序列号是否连续来判断是否有丢包。

发明人发现目前的丢包方法有如下缺点,当视频接收侧检测到视频rtp包序号不连续时,并不能准确判断丢包后收到的第一帧是否完整。当视频接收侧检测到视频rtp包序号不连续时,无法判断所丢的rtp包中是否包含1个或多个完整帧。当视频流中混合有其他数据包时,如前向纠错编码生成的冗余包,视频包的rtp序号本身就是不连续的,当保护包丢失时,简单根据rtp包序号连续性无法准确识别其中是否包含有效的视频包。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。



技术实现要素:

本发明的目的在于提供一种丢包检测方法及系统、计算机可读存储介质,其较为准确地检测出丢包情况。

为实现上述目的,本发明提供了一种丢包检测方法,其包括:在视频发送端为每个待传输的视频帧分配一个帧序号,并且为每个待传输的视频帧内的每个rtp包分配一个分包序号;将分配的帧序号以及分包序号信息放入rtp包中;发送视频帧;接收所述视频帧,解析出所述视频帧的每个rtp包中对应的帧序号和分包序号;根据解析的帧序号以及分包序号的情况,来判断是否丢包。

在本发明的一实施方式中,将分配的帧序号以及分包序号信息放入rtp包的rtp负载中。

在本发明的一实施方式中,将分配的帧序号以及分包序号信息放入rtp包的rtp头扩展字段中。

在本发明的一实施方式中,根据解析的帧序号以及分包序号的情况,来判断是否丢包包括:若一个视频帧的所有分包序号均没有丢失,则判定该帧是完整的。

在本发明的一实施方式中,根据解析的帧序号以及分包序号的情况,来判断是否丢包包括:若一个视频帧的分包序号出现中断时,则比较中断前的rtp包的帧序号和中断后的rtp包的帧序号从而计算出丢包的视频帧数量。

在本发明的一实施方式中,根据解析的帧序号以及分包序号的情况,来判断是否丢包包括:若一个视频帧的分包序号出现中断时,中断前后的rtp包对应的帧序号没有丢失,且收到了前一视频帧的最后一个rtp包和后一视频帧的首个rtp包,则判断该分包序号中断区间内没有发生丢包。

本发明还提供了一种丢包检测系统,其包括:序号分配模块、序号信息存放模块、发送模块、接收模块、丢包判断模块。序号分配模块用于在视频发送端为每个待传输的视频帧分配一个帧序号,并且为每个待传输的视频帧内的每个rtp包分配一个分包序号;序号信息存放模块与所述序号分配模块相耦合,用于将分配的帧序号以及分包序号信息放入rtp包中;发送模块与所述序号信息存放模块相耦合,用于发送视频帧;接收模块与所述发送模块相耦合,用于接收所述视频帧并解析出所述视频帧的每个rtp包中对应的帧序号和分包序号;丢包判断模块与所述接收模块相耦合,用于根据解析的帧序号以及分包序号的情况,来判断是否丢包。

在本发明的一实施方式中,所述序号信息存放模块用于将分配的帧序号以及分包序号信息放入rtp包的rtp负载或放入rtp包的rtp头扩展字段中。

在本发明的一实施方式中,所述丢包判断模块判断丢包包括:若一个视频帧的所有分包序号均没有丢失,则判定该帧是完整的;若一个视频帧的分包序号出现中断时,则比较中断前的rtp包的帧序号和中断后的rtp包的帧序号从而计算出丢包的视频帧数量;若一个视频帧的分包序号出现中断时,中断前后的rtp包对应的帧序号没有丢失,且收到了前一视频帧的最后一个rtp包和后一视频帧的首个rtp包,则判断该分包序号中断区间内没有发生丢包。

本发明还提供了一种计算机可读存储介质,该计算机可读存储介质用于执行上述任一实施方式所述的丢包检测方法。

与现有技术相比,根据本发明的丢包检测方法及系统、计算机可读存储介质,在rtp包中附加了视频帧序号信息以及分包序号信息,视频接收后,通过解析序号信息,可以准确地获得丢包情况。当视频接收侧检测到视频rtp包序号不连续时,仍然能准确判断丢包后收到的第一帧是否完整。当视频接收侧检测到视频rtp包序号不连续时,可以判断所丢的rtp包中是否包含1个或多个完整帧。当视频流中混合有其它冗余数据包时,如保护包,当保护包丢失时,根据解析的rtp包的分包序号和视频帧序号信息可以准确识别其中是否包含有效的视频包。

附图说明

图1是根据本发明一实施方式的丢包检测方法的步骤组成;

图2是根据本发明一实施方式的序号信息加入rtp负载的示意图;

图3是根据本发明一实施方式的序号信息加入rtp头扩展字段的示意图;

图4是根据本发明一实施方式的丢包检测系统的模块组成。

具体实施方式

下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

图1是根据本发明一实施方式的丢包检测方法的步骤组成。该丢包检测方法包括:步骤s1~步骤s5。

在步骤s1中进行序号分配。在视频发送端为每个待传输的视频帧分配一个帧序号,并且为每个待传输的视频帧内的每个rtp包分配一个分包序号。

例如,帧序号和分包序号均可以分配为16位,0~65535循环使用。若数量超过该范围,可相应增加该字段的长度。

在步骤s2中将分配的帧序号以及分包序号信息放入rtp包中。具体而言,如图2所示,在一实施方式中,将分配的16位帧序号以及16位分包序号信息放入rtp包的rtp负载中,即每个rtp包负载的前4个字节中(在视频接收侧对应的先处理并移除附加的序号信息)。

如图3所示,在另一实施方式中,将分配的帧序号以及分包序号信息放入rtp包的rtp头扩展字段中。其中rtp头的x位应设置为1,表示rtp头携带头扩展;在头扩展中的“definedbyprofile”字段为应用自定义,可以填入魔数来区分扩展信息及版本号,版本号便于后续增加新的描述字段或调整字段长度,length字段应设置为1,表示后续扩展内容包含1个32位字,如果“视频帧序号”或“分包序号”字段长度有调整,或增加其他字段,则相应修改length字段内容,但应保证长度为32位对齐。

将帧序号和分包序号等信息放到rtp头扩展中可以保证互通兼容性,不识别该扩展的视频接收方应忽略该信息,并根据扩展长度跳过该信息并定位到真正的视频负载数据,然后进行后续的处理。

在步骤s3中发送视频帧。

在步骤s4中接收视频帧,解析序号。接收所述视频帧,解析出所述视频帧的每个rtp包中对应的帧序号和分包序号。

在步骤s5中判断是否丢包。根据解析的帧序号以及分包序号的情况,来判断是否丢包。

具体而言,若一个视频帧的所有分包序号均没有丢失,则判定该帧是完整的。

若一个视频帧的分包序号出现中断时,则比较中断前的rtp包的帧序号和中断后的rtp包的帧序号从而计算出丢包的视频帧数量。

若一个视频帧的分包序号出现中断时,中断前后的rtp包对应的帧序号没有丢失,且收到了前一视频帧的最后一个rtp包和后一视频帧的首个rtp包,则判断该分包序号中断区间内没有发生丢包。中间的丢包可能是保护包等其他数据,避免了由于视频帧rtp序号本身就不连续造成的误判为丢包的情况。

通过本方法,当视频接收侧检测到视频rtp包序号不连续时,仍然能准确判断丢包后收到的第一帧是否完整。当视频接收侧检测到视频rtp包序号不连续时,可以判断所丢的rtp包中是否包含1个或多个完整帧。当视频流中混合有其它冗余数据包时,如保护包,当保护包丢失时,根据解析的rtp包的分包序号和视频帧序号信息可以准确识别其中是否包含有效的视频包。

本发明还提供了一种计算机可读存储介质,在一实施方式中,该计算机可读存储介质用于执行上述的丢包检测方法。

本发明还提供了一种丢包检测系统,图4为根据本发明一实施方式的丢包检测系统的模块组成。其包括:序号分配模块10、序号信息存放模块11、发送模块12、接收模块13以及丢包判断模块14。

序号分配模块10用于在视频发送端为每个待传输的视频帧分配一个帧序号,并且为每个待传输的视频帧内的每个rtp包分配一个分包序号。

序号信息存放模块11与所述序号分配模块10相耦合,所述序号信息存放模块11用于将分配的帧序号以及分包序号信息放入rtp包的rtp负载或放入rtp包的rtp头扩展字段中。

发送模块12与所述序号信息存放模块11相耦合,用于发送视频帧。

接收模块13与所述发送模块12相耦合,用于接收所述视频帧并解析出所述视频帧的每个rtp包中对应的帧序号和分包序号。

丢包判断模块14与所述接收模块13相耦合,用于根据解析的帧序号以及分包序号的情况,来判断是否丢包。

所述丢包判断模块14判断丢包包括:若一个视频帧的所有分包序号均没有丢失,则判定该帧是完整的;若一个视频帧的分包序号出现中断时,则比较中断前的rtp包的帧序号和中断后的rtp包的帧序号从而计算出丢包的视频帧数量;若一个视频帧的分包序号出现中断时,中断前后的rtp包对应的帧序号没有丢失,且收到了前一视频帧的最后一个rtp包和后一视频帧的首个rtp包,则判断该分包序号中断区间内没有发生丢包。

综上所述,根据本发明的丢包检测方法及系统、计算机可读存储介质,在rtp包中附加了视频帧序号信息以及分包序号信息,视频接收后,通过解析序号信息,可以准确地获得丢包情况。当视频接收侧检测到视频rtp包序号不连续时,仍然能准确判断丢包后收到的第一帧是否完整。当视频接收侧检测到视频rtp包序号不连续时,可以判断所丢的rtp包中是否包含1个或多个完整帧。当视频流中混合有其它冗余数据包时,如保护包,当保护包丢失时,根据解析的rtp包的分包序号和视频帧序号信息可以准确识别其中是否包含有效的视频包。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。


技术特征:

1.一种丢包检测方法,其特征在于,包括:

在视频发送端为每个待传输的视频帧分配一个帧序号,并且为每个待传输的视频帧内的每个rtp包分配一个分包序号;

将分配的帧序号以及分包序号信息放入rtp包中;

发送视频帧;

接收所述视频帧,解析出所述视频帧的每个rtp包中对应的帧序号和分包序号;以及

根据解析的帧序号以及分包序号的情况,来判断是否丢包。

2.如权利要求1所述的丢包检测方法,其特征在于,将分配的帧序号以及分包序号信息放入rtp包的rtp负载中。

3.如权利要求1所述的丢包检测方法,其特征在于,将分配的帧序号以及分包序号信息放入rtp包的rtp头扩展字段中。

4.如权利要求1所述的丢包检测方法,其特征在于,根据解析的帧序号以及分包序号的情况,来判断是否丢包包括:

若一个视频帧的所有分包序号均没有丢失,则判定该帧是完整的。

5.如权利要求1所述的丢包检测方法,其特征在于,根据解析的帧序号以及分包序号的情况,来判断是否丢包包括:

若一个视频帧的分包序号出现中断时,则比较中断前的rtp包的帧序号和中断后的rtp包的帧序号从而计算出丢包的视频帧数量。

6.如权利要求1所述的丢包检测方法,其特征在于,根据解析的帧序号以及分包序号的情况,来判断是否丢包包括:

若一个视频帧的分包序号出现中断时,中断前后的rtp包对应的帧序号没有丢失,且收到了前一视频帧的最后一个rtp包和后一视频帧的首个rtp包,则判断该分包序号中断区间内没有发生丢包。

7.一种丢包检测系统,其特征在于,包括:

序号分配模块,用于在视频发送端为每个待传输的视频帧分配一个帧序号,并且为每个待传输的视频帧内的每个rtp包分配一个分包序号;

序号信息存放模块,与所述序号分配模块相耦合,用于将分配的帧序号以及分包序号信息放入rtp包中;

发送模块,与所述序号信息存放模块相耦合,用于发送视频帧;

接收模块,与所述发送模块相耦合,用于接收所述视频帧并解析出所述视频帧的每个rtp包中对应的帧序号和分包序号;以及

丢包判断模块,与所述接收模块相耦合,用于根据解析的帧序号以及分包序号的情况,来判断是否丢包。

8.如权利要求7所述的丢包检测系统,其特征在于,所述序号信息存放模块用于将分配的帧序号以及分包序号信息放入rtp包的rtp负载或放入rtp包的rtp头扩展字段中。

9.如权利要求7所述的丢包检测系统,其特征在于,所述丢包判断模块判断丢包包括:若一个视频帧的所有分包序号均没有丢失,则判定该帧是完整的;若一个视频帧的分包序号出现中断时,则比较中断前的rtp包的帧序号和中断后的rtp包的帧序号从而计算出丢包的视频帧数量;若一个视频帧的分包序号出现中断时,中断前后的rtp包对应的帧序号没有丢失,且收到了前一视频帧的最后一个rtp包和后一视频帧的首个rtp包,则判断该分包序号中断区间内没有发生丢包。

10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质用于执行如权利要求1~6任一所述的丢包检测方法。

技术总结
本发明公开了一种丢包检测方法及系统、计算机可读存储介质,该丢包检测方法包括:在视频发送端为每个待传输的视频帧分配一个帧序号,并且为每个待传输的视频帧内的每个RTP包分配一个分包序号;将分配的帧序号以及分包序号信息放入RTP包中;发送视频帧;接收所述视频帧,解析出所述视频帧的每个RTP包中对应的帧序号和分包序号;根据解析的帧序号以及分包序号的情况,来判断是否丢包,该方法能够较为准确地检测出丢包情况。

技术研发人员:闫城辉;冯文澜
受保护的技术使用者:随锐科技集团股份有限公司
技术研发日:2020.03.06
技术公布日:2020.06.26

最新丢包检测方法及系统、计算机可读存储介质与流程的相关内容如下:

本文标题:最新丢包检测方法及系统、计算机可读存储介质与流程
http://www.tainingxinwen.cn/qitaxinxi/521414.html

0

精彩评论

暂无评论...
验证码 换一张
取 消