视频流的帧类型检测、帧大小检测方法及装置制造方法及图纸

技术编号:9768695 阅读:188 留言:0更新日期:2014-03-16 01:11
本发明专利技术实施例提供一种视频流的帧类型检测、帧大小检测方法及装置。视频帧类型检测方法包括:获得当前视频帧的大小,所述当前视频帧位于所述视频流的第一个视频帧之后;根据当前视频帧和与所述当前视频帧相邻的前一视频帧的大小,获得所述当前视频帧的变化特征值;根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值;根据所述当前视频帧和前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧和前一视频帧、前两视频帧的大小判断所述前一视频帧是否为I帧。本发明专利技术提供了一套完整有效的检测帧类型的方法,并且使得在检测前一视频帧的帧类型时可以只考虑其之前的一个视频帧,且充分考虑了视频帧率的影响。

【技术实现步骤摘要】
视频流的帧类型检测、帧大小检测方法及装置
本专利技术实施例涉及多媒体技术,尤其涉及一种视频流的帧类型检测、帧大小检测方法及装置。
技术介绍
在网络媒体迅速发展的背景下,影视点播、网络电视、可视电话等业务已成为宽带网络和无线网络的主要业务,使得运营商需要对传输的视频业务质量进行监控并及时采取相应措施进行调节以保证用户对媒体业务的体验需求。网络视频质量评估是网络视频应用中必不可少的一项重要技术。根据对原始参考视频需要的程度,视频客观质量评估方法通常可以分成三大类:全参考、部分参考和无参考视频客观质量评估。由于信道带宽的限制,视频接收端通常无法获得所需的原始参考视频序列,因此需要利用无参考视频质量评估方法来对网络中传输的视频流进行评价。现有基于帧类型参数的无参考视频质量评估方法中,需要先检测视频帧类型,而现有技术中还没有一套完整有效的检测帧类型的方法。另外,现有的帧大小检测方法仅适用于没有丢包的帧,对于有丢包的帧的大小检测,还没有一种有效的解决方案。
技术实现思路
本专利技术实施例提供一种视频流的帧类型检测方法及装置,用以提供一套完整有效的检测帧类型的方法。本专利技术的第一个方面是提供一种视频流的帧类型检测方法,包括:获得当前视频帧的大小,所述当前帧位于所述视频流的第一个视频帧之后;根据当前视频帧的大小和与所述当期视频帧相邻的前一视频帧的大小,获得所述当前视频帧的变化特征值;根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值;根据所述当前视频帧的变化特征值和前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小、前一视频帧的大小和与所述前一视频帧相邻的前两视频帧的大小判断所述前一视频帧是否为I帧。本专利技术的第二个方面是提供一种视频流的帧类型检测装置,包括:帧大小获得模块,用于获得当前视频帧的大小,所述当前视频帧位于所述视频流的第一个视频帧之后;特征提取模块,用于根据当前视频帧的大小和与所述当前视频帧相邻的前一视频帧的大小,获得所述当前视频帧的变化特征值;阈值获得模块,用于根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值;类型判断模块,用于根据所述当前视频帧的变化特征值和前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小、前一视频帧的大小和与所述前一视频帧相邻的前两视频帧的大小判断所述前一视频帧是否为I帧。本专利技术的第三个方面是提供一种视频流的帧类型检测方法,包括:获得当前视频帧的大小,所述当前视频帧位于所述视频流的第一个视频帧之后;根据当前视频帧的大小和之前至少两视频帧的大小,获得所述当前视频帧的变化特征值;根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值;根据所述当前视频帧的变化特征值和与所述当前视频帧相邻的前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小和之前至少两视频帧的大小判断所述前一视频帧是否为I帧。本专利技术的第四个方面是提供一种视频流的帧类型检测装置,其特征在于,包括:帧大小获得模块,用于获得当前视频帧的大小,所述当前视频帧位于所述视频流的第一个视频帧之后;特征提取模块,用于根据当前视频帧的大小和之前至少两视频帧的大小,获得所述当前视频帧的变化特征值;阈值获得模块,用于根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值;类型判断模块,用于根据所述当前视频帧的变化特征值和与所述当前视频帧相邻的前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小和之前至少两视频帧的大小判断所述前一视频帧是否为I帧。上述多个技术方案中的一个技术方案至少具有如下有益效果或优点:本专利技术实施例通过根据当前视频帧和与所述当前视频帧相邻的前一视频帧的大小获得所述当前视频帧的变化特征值,根据视频帧率和所述当前视频帧的位置获得所述当前视频帧的I帧阈值,根据所述当前视频帧和前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧、前一视频帧和前两视频帧的大小判断所述前一视频帧是否为I帧,提供了一套完整有效的检测帧类型的方法,并且使得在检测前一视频帧的帧类型时可以只考虑其之前的一个视频帧,即前两视频帧,解决了现有视频帧类型检测中基于之前的多个视频帧进行计算导致复杂度高、时延大的问题,且充分考虑了视频帧率的影响,使得检测结果更加准确。本专利技术实施例还提供了一种帧大小检测方法,用以提供一种有效的检测有丢包的帧的大小的解决方案。本专利技术的第五个方面是提供了一种帧大小检测方法,包括:[0031 ] 若确定接收到的两个RTP包之间发生丢包,则获得各接收到的RTP包的净载,根据各接收到的RTP包的净载估计每个丢失的RTP包的净载;根据所述两个RTP包的序列号,获得所述两个RTP包之间丢失的RTP包的总个数V—1stPackets ;根据所述丢失的RTP包的总个数V_lostPackets、两个RTP包的时间戳和标记位,估计丢包的各帧中丢失的RTP包的个数;根据丢包的各帧中丢失的RTP包的个数和每个丢失的RTP包的净载,得到丢包的各帧的大小。本专利技术的第六个方面是提供了一种帧大小检测装置,包括:净载估计模块,用于若确定接收到的两个RTP包之间发生丢包,则获得各接收到的RTP包的净载,根据各接收到的RTP包的净载估计每个丢失的RTP包的净载;总丢失数获得模块,用于根据所述两个RTP包的序列号,获得所述两个RTP包之间丢失的RTP包的总个数V_lostPackets ;各丢失数估计模块,用于根据所述丢失的RTP包的总个数V_lostPackets、两个RTP包的时间戳和标记位,估计丢包的各帧中丢失的RTP包的个数;帧大小检测模块,用于根据丢包的各帧中丢失的RTP包的个数和每个丢失的RTP包的净载,得到丢包的各帧的大小。上述多个技术方案中的一个技术方案至少具有如下有益效果或优点:本专利技术实施例通过若确定接收到的两个RTP包之间发生丢包,则根据各接收到的RTP包的净载估计每个丢失的RTP包的净载,并根据所述两个RTP包的序列号获得所述两个RTP包之间丢失的RTP包的总个数,然后根据所述丢失的RTP包的总个数VJostPackets、两个RTP包的时间戳和标记位,估计丢包的各帧中丢失的RTP包的个数,从而根据丢包的各帧中丢失的RTP包的个数和每个丢失的RTP包的净载得到丢包的各帧的大小,提供一种有效的检测有丢包的帧的大小的解决方案。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种视频流的帧类型检测方法的流程示意图;图2A-2I为本专利技术实施例的丢包例一至九的示意图;图3为本专利技术实施例提供的又一种视频流的帧类型检测方法的流程示意图;图4为本专利技术实施例提供的一种帧大小检测方法的流程示意图;图5为本专利技术实施例提供的一种视频流的帧类型检测装置的结构示意图;图6为本专利技术实施例提供的又一种视频流的帧类型检测装置的结构示意图图7为本专利技术实施例提供的一种帧大小检测装置的结构示意图;图8为本专利技术实施例提供的另一种视频本文档来自技高网...

【技术保护点】
一种视频流的帧类型检测方法,其特征在于,包括:获得当前视频帧的大小,所述当前视频帧位于所述视频流的第一个视频帧之后;根据所述当前视频帧的大小和与所述当前视频帧相邻的前一视频帧的大小,获得所述当前视频帧的变化特征值;根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值;根据所述当前视频帧的变化特征值和前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小、前一视频帧的大小和与所述前一视频帧相邻的前两视频帧的大小判断所述前一视频帧是否为I帧。

【技术特征摘要】
1.一种视频流的帧类型检测方法,其特征在于,包括: 获得当前视频帧的大小,所述当前视频帧位于所述视频流的第一个视频帧之后; 根据所述当前视频帧的大小和与所述当前视频帧相邻的前一视频帧的大小,获得所述当前视频帧的变化特征值; 根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值; 根据所述当前视频帧的变化特征值和前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小、前一视频帧的大小和与所述前一视频帧相邻的前两视频帧的大小判断所述前一视频帧是否为I帧。2.根据权利要求1所述的方法,其特征在于,所述获得当前视频帧的大小具体包括: 若确定所述当前视频帧未丢包,则获得所述当前视频帧中各实时传输协议RTP包的的净载; 将所述当前视频帧中各RTP包的净载累加,得到所述当前视频帧的大小。3.根据权利要求1所述的方法,其特征在于,所述获得当前视频帧的大小具体包括: 若确定所述当前视频帧丢包且未整帧丢失,则获得所述当前视频帧中接收到的各RTP包的净载,将所述当前视频帧中接收到的各RTP包的净载累加,得到所述当前视频帧接收到的RTP包的总大小; 根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计每个丢失的RTP包的净载和所述当前视频帧中丢失的RTP包的个数,根据每个丢失的RTP包的净载和所述当前视频帧中丢失的RTP包的个数得到所述当前视频帧丢失的RTP包的总大小; 将所述当前视频帧的接收到的RTP包的总大小和丢失的RTP包的总大小相加,得到所述当前视频帧的大小。4.根据权利要求3所述的方法,其特征在于,所述根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计每个丢失的RTP包的净载具体包括: 获得所述前相邻的RTP包的净载和后相邻的RTP包的净载; 根据所述前相邻的RTP包的净载和后相邻的RTP包的净载的平均值估计每个丢失的RTP包的净载。5.根据权利要求3所述的方法,其特征在于,所述根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计所述当前视频帧中丢失的RTP包的个数具体包括: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳确定所述前相邻的RTP包和后相邻的RTP包均属于所述当前视频帧,或, 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定所述前相邻的RTP包属于所述前一视频帧且后相邻的RTP包属于所述当前视频帧且所述前相邻的RTP包为所述前一视频帧的最后一个RTP包,则根据所述前相邻的RTP包和后相邻的RTP包的序列号获得所述前相邻的RTP包和后相邻的RTP包之间丢失的RTP包的总个数V_1stPackets ; 确定所述当前视频帧中丢失的RTP包的个数为VJostPackets。6.根据权利要求3所述的方法,其特征在于,所述根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计所述当前视频帧中丢失的RTP包的个数具体包括: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定所述前相邻的RTP包属于所述当前视频帧且后相邻的RTP包属于与所述当前视频帧相邻的后一视频帧以及所述前相邻的RTP包不是所述当前视频帧的最后一个RTP包,则根据所述前相邻的RTP包和后相邻的RTP包的序列号获得所述前相邻的RTP包和后相邻的RTP包之间丢失的RTP包的总个数V_lostPackets ; 确定所述当前视频帧中丢失的RTP包的个数为int (V_lostPackets/2) +V_lostPackets%2。7.根据权利要求3所述的方法,其特征在于,所述根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计所述当前视频帧中丢失的RTP包的个数具体包括: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定所述前相邻的RTP包所属视频帧与所述当前视频帧不连续且所述后相邻的RTP包属于所述当前视频帧以及所述前相邻的RTP包为所属视频帧的最后一个RTP包,则根据视频帧率、RTP包的时钟频率和所述前相邻的RTP包和后相邻的RTP包的序列号、时间戳获得所述前相邻的RTP包和后相邻的RTP包之间丢失的视频帧的帧数VJostFrames和丢失的RTP包的总个数V_1stPackets ; 确定所述当前视频帧中丢失的RTP包的个数为V_lostPackets%V_lostFrames。8.根据权利要求3所述的方法,其特征在于,所述根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计所述当前视频帧中丢失的RTP包的个数具体包括: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定前相邻的RTP包属于所述当前视频帧且后相邻的RTP包所属视频帧与所述当前视频帧不连续以及且所述前相邻的RTP包不是所述当前视频帧的最后一个RTP包,则确定所述当前视频帧中丢失的RTP包的个数为I。9.根据权利要求1所述的方法,其特征在于,所述获得当前视频帧的大小具体包括: 若确定所述当前视频帧整帧丢失,则根据所有接收到的各RTP包中与所述当前视频帧前相邻的RTP包和后相邻的RTP包估计每个丢失的RTP包的净载,根据视频帧率、RTP包的时钟频率和所述前相邻的RTP包和后相邻的RTP包的时间戳、序列号获得所述前相邻的RTP包和后相邻的RTP包所属视频帧之间丢失的视频帧的帧数VJostFrames和丢失的RTP包的总个数 V_lostPackets ; 若根据所述前相邻的RTP包的标记位确定所述前相邻的RTP包为所述前相邻的RTP包所属视频帧的最后一个RTP包,则确定所述当前视频帧中RTP包的个数为int (V_lostPackets/V_lostFrames),否则确定所述当前视频帧中RTP包的个数为int ((V_1stPackets-1) /V_lostFrames); 根据所述当前视频帧中RTP包的个数和每个丢失的RTP包的净载得到所述当前视频帧的大小。10.根据权利要求1-9中任一项所述的方法,其特征在于,所述根据所述当前视频帧的大小和与所述当前视频帧相邻的前一视频帧的大小,获得所述当前视频帧的变化特征值具体包括: 将所述当前视频帧的大小和前一视频帧的大小的差值的绝对值,作为所述当前视频帧的变化特征值。11.根据权利要求1-10中任一项所述的方法,其特征在于,所述根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值具体包括: 根据视频帧率、所述当前视频帧与之前最近的一个I帧的距离,获得当前视频帧的I帧阈值。12.根据权利要求11所述的方法,其特征在于,所述根据视频帧率、所述当前视频帧与之前最近的一个I帧的距离,获得所述当前视频帧的I帧阈值具体包括: 若所述前两视频帧为之前最近的一个I帧,则确定所述当前视频帧的I帧阈值为所述之前最近一个I帧的大小与第一常数的乘积,所述第一常数的取值范围为(0,I]。13.根据权利要求11所述的方法,其特征在于,所述根据视频帧率、所述当前视频帧与之前最近的一个I帧的距离,获得所述当前视频帧的I帧阈值具体包括: 若所述前两视频帧不为之前最近的一个I帧,则判断所述当前视频帧与之前最近的一个I帧的距离是否大于所 述视频帧率,若大于则将所述前一视频帧的I帧阈值和第一缩放因子的乘积确定为所述当前视频帧的I帧阈值,若不大于则将所述前一视频帧的I帧阈值和第二缩放因子的乘积确定为所述当前视频帧的I帧阈值;其中,所述第一缩放因子、第二缩放因子的取值范围为(0,I],所述第一缩放因子大于所述第二缩放因子。14.根据权利要求1-13中任一项所述的方法,其特征在于,所述根据所述当前视频帧的变化特征值和前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小、前一视频帧的大小和与所述前一视频帧相邻的前两视频帧的大小判断所述前一视频帧是否为I帧具体包括: 若所述前一视频帧的大小与前两视频帧的大小的比值或所述前一视频帧的大小与所述当前视频帧的大小的比值大于第二常数,且所述当前视频帧的变化特征值大于所述当前视频帧的I帧阈值,且所述前一视频帧的变化特征值大于所述当前视频帧的I帧阈值,则判断所述前一视频帧为I帧,否则判断所述前一视频帧不为I帧。15.根据权利要求14所述的方法,其特征在于,所述根据所述当前视频帧的变化特征值和前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小、前一视频帧的大小和与所述前一视频帧相邻的前两视频帧的大小判断所述前一视频帧是否为I帧具体还包括: 若所述当前视频帧为所述视频流的第二个视频帧,则判断所述当前视频帧的前一视频帧为I帧。16.根据权利要求14所述的方法,其特征在于,所述第二常数根据码率、视频帧率和所述当前视频帧的位置确定。17.根据权利要求14或15所述的方法,其特征在于,所述判断所述前一视频帧为I帧之后还包括: 计算I帧的平均大小。18.根据权利要求17所述的方法,其特征在于,若所述当前视频帧为所述视频流的最后一个视频帧,则所述方法还包括: 若所述当前视频帧与所述I帧的平均大小的比值大于第三常数,则判断所述当前视频帧为I帧,否则判断所述当前视频帧不为I帧,所述第三常数大于O。19.根据权利要求1-18中任一项所述的方法,其特征在于,所述获得当前视频帧的大小之前,还包括: 获得所述第一个视频帧的大小; 确定第一个视频帧的变化特征值为所述第一个视频帧的大小与第四常数的乘积,所述第四常数的取值范围为(O,I]; 确定第一个视频帧的I帧阈值等于所述第一个视频帧的变化特征值。20.一种视频流的帧类型检测装置,其特征在于,包括: 帧大小获得模块,用于获得当前视频帧的大小,所述当前视频帧位于所述视频流的第一个视频帧之后; 特征提取模块,用于根据当前视频帧的大小和与所述当前视频帧相邻的前一视频帧的大小,获得所述当前视频帧的变化特征值; 阈值获得模块,用于根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值; 类型判断模块,用于根据所述当前视频帧的变化特征值和前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小、前一视频帧的大小和与所述前一视频帧相邻的前两视频帧的大小判断所述前一视频帧是否为I帧。21.根据权利要求20所述的装置,其特征在于,所述帧大小获得模块具体用于: 若确定所述当前视频帧未丢包,则获得所述当前视频帧中各实时传输协议RTP包的的净载;` 将所述当前视频帧中各RTP包的净载累加,得到所述当前视频帧的大小。22.根据权利要求20所述的装置,其特征在于,所述帧大小获得模块具体包括: 接收大小获得单元,用于若确定所述当前视频帧丢包且未整帧丢失,则获得所述当前视频帧中接收到的各RTP包的净载,将所述当前视频帧中接收到的各RTP包的净载累加,得到所述当前视频帧接收到的RTP包的总大小; 丢失大小获得单元,用于根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计每个丢失的RTP包的净载和所述当前视频帧中丢失的RTP包的个数,根据每个丢失的RTP包的净载和所述当前视频帧中丢失的RTP包的个数得到所述当前视频帧丢失的RTP包的总大小; 帧大小获得单元,用于将所述当前视频帧的接收到的RTP包的总大小和丢失的RTP包的总大小相加,得到所述当前视频帧的大小。23.根据权利要求22所述的装置,其特征在于,所述丢失大小获得单元具体用于: 获得所述前相邻的RTP包的净载和后相邻的RTP包的净载; 根据所述前相邻的RTP包的净载和后相邻的RTP包的净载的平均值估计每个丢失的RTP包的净载。24.根据权利要求22所述的装置,其特征在于,所述丢失大小获得单元具体还用于:若根据所述前相邻的RTP包和后相邻的RTP包的时间戳确定所述前相邻的RTP包和后相邻的RTP包均属于所述当前视频帧,或, 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定所述前相邻的RTP包属于所述前一视频帧且后相邻的RTP包属于所述当前视频帧且所述前相邻的RTP包为所述前一视频帧的最后一个RTP包,则根据所述前相邻的RTP包和后相邻的RTP包的序列号获得所述前相邻的RTP包和后相邻的RTP包之间丢失的RTP包的总个数V_1stPackets ; 确定所述当前视频帧中丢失的RTP包的个数为VJostPackets。25.根据权利要求22所述的装置,其特征在于,所述丢失大小获得单元具体还用于: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定所述前相邻的RTP包属于所述当前视频帧且后相邻的RTP包属于与所述当前视频帧相邻的后一视频帧以及所述前相邻的RTP包不是所述当前视频帧的最后一个RTP包,则根据所述前相邻的RTP包和后相邻的RTP包的序列号获得所述前相邻的RTP包和后相邻的RTP包之间丢失的RTP包的总个数VJostPackets ;确定所述当前视频帧中丢失的RTP包的个数为int (V_1stPackets/2) +V_lostPackets%2。26.根据权利要求22所述的装置,其特征在于,所述丢失大小获得单元具体还用于: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定所述前相邻的RTP包所属视频帧与所述当前视频帧不连续且所述后相邻的RTP包属于所述当前视频帧以及所述前相邻的RTP包为所属视频帧的最后一个RTP包,则根据视频帧率、RTP包的时钟频率和所述前相邻的RTP包和后相邻的RTP包的序列号、时间戳获得所述前相邻的RTP包和后相邻的RTP包之间丢失的视频帧的帧数VJostFrames和丢失的RTP包的总个数V_lostPackets ;确定所述当前视频帧中丢失的RTP包的个数为V_lostPackets%V_1stFrames027.根据权利要求22所述的装置,其特征在于,所述丢失大小获得单元具体还用于: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定前相邻的RTP包属于所述当前视频帧且后相邻的RTP包所属视频帧与所述当前视频帧不连续以及所述前相邻的RTP包不是所述当前视频帧的最后一个RTP包,则确定所述当前视频帧中丢失的RTP包的个数为I。28.根据权利要求20所述的装置,其特征在于,所述帧大小获得模块具体用于: 若确定所述当前视频帧整帧丢失,则根据所有接收到的各RTP包中与所述当前视频帧前相邻的RTP包和后相邻的RTP包估计每个丢失的RTP包的净载,根据视频帧率、RTP包的时钟频率和所述前相邻的RTP包和后相邻的RTP包的时间戳、序列号获得所述前相邻的RTP包和后相邻的RTP包所属视频帧之间丢失的视频帧的帧数VJostFrames、丢失的RTP包的总个数 V_lostPackets ; 若根据所述前相邻的RTP包的标记位确定所述前相邻的RTP包为所述前相邻的RTP包所属视频帧的最后一个RTP包,则确定所述当前视频帧中RTP包的个数为int (V_lostPackets/V_lostFrames),否则确定所述当前视频帧中RTP包的个数为int ((V_1stPackets-1) /V_lostFrames); 根据所述当前视频帧中RTP包的个数和每个丢失的RTP包的净载得到所述当前视频帧的大小。29.根据权利要求20-28中任一项所述的装置,其特征在于,所述特征提取模块具体用于: 将所述当前视频帧的大小和前一视频帧的大小的差值的绝对值,作为所述当前视频帧的变化特征值。30.根据权利要求20-29中任一项所述的装置,其特征在于,所述阈值获得模块具体用于: 根据视频帧率、所述当前视频帧与之前最近的一个I帧的距离,获得所述当前视频帧的I帧阈值。31.根据权利要求30所述的装置,其特征在于,所述阈值获得模块具体用于: 若所述前两视频帧为之前最近的一个I帧,则确定所述当前视频帧的I帧阈值为所述之前最近一个I帧的大小与第一常数的乘积,所述第一常数的取值范围为(0,I]。32.根据权利要求30所述的装置,其特征在于,所述阈值获得模块具体用于: 若所述前两视频帧不为之前最近的一个I帧,则判断所述当前视频帧与之前最近的一个I帧的距离是否大于所述视频帧率,若大于则将所述前一视频帧的I帧阈值和第一缩放因子的乘积确定为所述当 前视频帧的I帧阈值,若不大于则将所述前一视频帧的I帧阈值和第二缩放因子的乘积确定为所述当前视频帧的I帧阈值;其中,所述第一缩放因子、第二缩放因子的取值范围为(0,I],所述第一缩放因子大于所述第二缩放因子。33.根据权利要求20-32中任一项所述的装置,其特征在于,所述类型判断模块具体用于: 若所述前一视频帧的大小与前两视频帧的大小的比值或所述前一视频帧的大小与所述当前视频帧的大小的比值大于第二常数,且所述当前视频帧的变化特征值大于所述当前视频帧的I帧阈值,且所述前一视频帧的变化特征值大于所述当前视频帧的I帧阈值,则判断所述前一视频帧为I帧,否则判断所述前一视频帧不为I帧。34.根据权利要求33所述的装置,其特征在于,所述类型判断模块具体用于: 若所述当前视频帧为所述视频流的第二个视频帧,则判断所述前一视频帧为I帧。35.根据权利要求33所述的装置,其特征在于,所述第二常数根据码率、视频帧率和所述当前视频帧的位置确定。36.根据权利要求33或34所述的装置,其特征在于,还包括: 均值计算模块,用于在所述类型判断模块判断所述前一视频帧为I帧之后,计算I帧的平均大小。37.根据权利要求36所述的装置,其特征在于,若所述当前视频帧为所述视频流的最后一个视频帧,所述类型判断模块还用于: 若所述当前视频帧与所述I帧的平均大小的比值大于第三常数,则判断所述当前视频帧为I帧,否则判断所述当前视频帧不为I帧,所述第三常数大于O。38.根据权利要求20-37中任一项所述的装置,其特征在于,所述帧大小获得模块还用于:获得所述第一个视频帧的大小; 所述特征提取模块还用于:确定第一个视频帧的变化特征值为所述第一个视频帧的大小与第四常数的乘积,所述第四常数的取值范围为(0,1];所述阈值获得模块还用于:确定第一个视频帧的I帧阈值等于所述第一个视频帧的变化特征值。39.一种视频流的帧类型检测方法,其特征在于,包括: 获得当前视频帧的大小,所述当前视频帧位于所述视频流的第一个视频帧之后; 根据当前视频帧的大小和之前至少两视频帧的大小,获得所述当前视频帧的变化特征值; 根据视频帧率和所述当前视频帧的位置,获得所述当前视频帧的I帧阈值; 根据所述当前视频帧的变化特征值和与所述当前视频帧相邻的前一视频帧的变化特征值、当前视频帧的I帧阈值、所述当前视频帧的大小和之前至少两视频帧的大小判断所述前一视频帧是否为I帧。40.根据权利要求39所述的方法,其特征在于,所述获得当前视频帧的大小具体包括: 若确定所述当前视频帧未丢包,则获得所述当前视频帧中各实时传输协议RTP包的的净载; 将所述当前视频帧中各RTP包的净载累加,得到所述当前视频帧的大小。41.根据权利要求39所述的方法,其特征在于,所述获得当前视频帧的大小具体包括: 若确定所述当前视频帧丢包且未整帧丢失,则获得所述当前视频帧中接收到的各RTP包的净载,将所述当前视频帧中接收到的各RTP包的净载累加,得到所述当前视频帧接收到的RTP包的总大小; 根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计每个丢失的RTP包的净载和所述当前视频帧中丢失的RTP包的个数,根据每个丢失的RTP包的净载和所述当前视频帧中丢失的RTP包的个数得到所述当前视频帧丢失的RTP包的总大小; 将所述当前视频帧的接收到的RTP包的总大小和丢失的RTP包的总大小相加,得到所述当前视频帧的大小。42.根据权利要求41所述的方法,其特征在于,所述根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计每个丢失的RTP包的净载具体包括: 获得所述前相邻的RTP包的净载和后相邻的RTP包的净载; 根据所述前相邻的RTP包的净载和后相邻的RTP包的净载的平均值估计每个丢失的RTP包的净载。43.根据权利要求41所述的方法,其特征在于,所述根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计所述当前视频帧中丢失的RTP包的个数具体包括: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳确定所述前相邻的RTP包和后相邻的RTP包均属于所述当前视频帧,或, 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定所述前相邻的RTP包属于所述前一视频帧且后相邻的RTP包属于所述当前视频帧且所述前相邻的RTP包为所述前一视频帧的最后一个RTP包,则根据所述前相邻的RTP包和后相邻的RTP包的序列号获得所述前相邻的RTP包和后相邻的RTP包之间丢失的RTP包的总个数V_1stPackets ; 确定所述当前视频帧中丢失的RTP包的个数为VJostPackets。44.根据权利要求41所述的方法,其特征在于,所述根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计所述当前视频帧中丢失的RTP包的个数具体包括: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定所述前相邻的RTP包属于所述当前视频帧且后相邻的RTP包属于与所述当前视频帧相邻的后一视频帧且所述前相邻的RTP包不是所述当前视频帧的最后一个RTP包,则根据所述前相邻的RTP包和后相邻的RTP包的序列号获得所述前相邻的RTP包和后相邻的RTP包之间丢失的RTP包的总个数 V_lostPackets ; 确定所述当前视频帧中丢失的RTP包的个数为int (V_lostPackets/2) +V_lostPackets%2。45.根据权利要求41所述的方法,其特征在于,所述根据所有接收到的各RTP包中与所述当前视频帧中丢失的RTP包前相邻的RTP包和后相邻的RTP包,估计所述当前视频帧中丢失的RTP包的个数具体包括: 若根据所述前相邻的RTP包和后相邻的RTP包的时间戳和标记位确定所述前相邻的RTP包所属...

【专利技术属性】
技术研发人员:高山张雷孙李娜
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1