估计视频流中多个视频帧的图像组结构的类型的方法

文档序号:7838807阅读:256来源:国知局
专利名称:估计视频流中多个视频帧的图像组结构的类型的方法
估计视频流中多个视频帧的图像组结构的类型的方法
背景技术
在众多TV分发服务中,IPTV (互联网协议TV)逐渐变得重要,并且越来越取代模拟或基于非分组的传输方法。广播提供商对于内容提供商和用户两者的主要职责是保持其服务质量。在大型IPTV网络中,只有完全自动化的质量监视探测器(其在出现音频和/或视频质量劣化的情况下发出警报)可以满足该需求。这些监视探测器应当能够估计终端用户将感知的主观质量。存在或正在开发的一些模型,其可以将视频比特流产生的客观测量转化为所谓的“平均意见分数”(MOS)值。可以用于产生该MOS值的客观测量范畴包括(例如)所监视的视频的比特率和帧频。IP数据包可能丢失是IP网络的固有特征(主要由于在网络中的某些点的临时过载)。这些丢失中的某些对用户来说几乎不可见,而其他丢失可能引起视频质量出现严重劣化。即使应对这些丢失的手段是IPTV分发系统的一部分,但是这些手段根本不能确保100%有效。例如,重传请求可能耗费太长时间,或重传的数据包本身可能丢失。因此,总是存在非零 概率的不连续比特流传输至终端用户设备。这转而导致在重构视频或音频中可见或可听的劣化。因此,测量范畴还可以包括表达丢失概率的值。这种值可以包括“数据包丢失速率”和“丢失事件的突发性”的表达。为了能够估计数据包丢失是否不可见,或与此相反即使长达较长的时段仍明显可见,需要捕获所监视的比特流的更多特征。这些额外特征的最重要特征是所有帧的“帧类型”以及特别地受丢失影响的帧。“帧类型”特征的可能值包括“帧内”或“关键帧”(以下称为I帧)、“预测帧”(以下称为P帧)、和“双向帧”(以下称为B帧)。众所周知,在不了解任何先前帧的情况下只可以解码I帧。与此相反,P帧总是取决于称为“参考帧”的一个或多个前帧,这是因为针对P帧所传输的信息主要包括其描述的视频帧和其参考帧之间的差异。因此,I帧或其连续的P帧内的数据包丢失带至随后的每个帧,这是因为受到丢失影响的I帧和P帧一般用作随后帧的参考帧。因此,这些帧变得劣化,即使其本身不含有任何丢失。由于该机制,单个数据包丢失错误可能延及视频序列的较长部分,直到出现下一个无错I帧。因此,P帧尤其是I帧中的错误可能具有非常高的可见性。相同的参考巾贞机制对B巾贞同样成立,但是由于B巾贞本身一般不作为参考巾贞,所以B帧中的错误只在该单个帧中可见,因此与由于I帧或P帧中的丢失所导致的错误相比,B帧中的错误更不可见。由于I帧不取决于任何先前的参考帧,I帧表示比特流中的唯一点,所以视频播放器或机顶盒可以与视频同步。而且,(无丢失)I帧是及时消除由于数据包丢失导致的任何劣化的唯一点。两个I帧之间的视频帧序列被称为“图像组”(GoP)。在大多数情况中,GoP中的P帧和B帧遵循或多或少严格的模式,例如,根据MPEG2已知的典型GoP模式“1、B、B、P、B、B、P…”。如果已知该模式,那么可以对比特流中的任何图像的帧类型进行可靠的先验估计,即使由于数据包丢失或加密不能从比特流读取帧类型本身。通常,获得针对上述和其他测量值的优良估计是困难的。这主要是由于两个独立的原因1.为了防止非授权存取,可能对比特流进行加密,在测量位置不能读取重要的比特流特征。2.由于以上所述的数据包丢失,已经从比特流中移除了重要信息。在W02009/02297和W02009/012302中,主要借助于区分非常大的尺寸(I帧)、中等尺寸(P帧)、和小尺寸(B帧)的视频帧的自适应阈值,通过独立地估计每个单独视频帧的帧类型,来孤立地确定GoP的“模式”。由于I帧平均含有是P帧或B帧的2至5倍那样多的比特,所以容易将I帧与P帧、B帧区分。但是仍然不能将P帧和B帧可靠的区分。尽管B帧平均地小于P帧,但是尺寸差异不大,反而P帧大小和B帧大小的尺寸方差较大。一般地,尺寸的平均差异还大大取决于用于压缩所检查的视频序列的具体解码器和该序列的具体特征。对于被称为“分级编码”的H. 264编码器的新的编码策略更是如此,某些B帧还用作其他B帧的参考帧。EP-A-2077672涉及分析传输流,例如估计经编码的视频信号的帧类型。在第一实施方式中,GoP的“模式”是通过确定少量连续视频帧的局部尺寸最大值确定的,其中,如果这样计算的小/大关系匹配预定义的“确定帧模式”,那么具有最大尺寸的视频帧被认为是P帧。所有其他帧被认为是B帧。

在第二实施方式中,如果帧超过许多先前帧的平均值乘以大于一的系数(例如,1.2)所计算出的阈值,那么这些帧被估计为P帧。如果假设检测非封闭GoP、B、B、P模式的该第一计算失败,那么进行描述其他GoP-模式的类似的基于阈值的测试。由于顺序地执行这些测试,首次成功被当做最终结果,所以不能通过之后的测试来校正测试链开始时的失配。现有技术的所有帧类型估计都取决于P帧的尺寸总是具有比序列的暂时围绕B帧充分大的假设。实际上,并非总是如此。只有帧类型尺寸的平均值可靠地与该假设吻合。因此,按照帧的尺寸来区分帧类型是不可靠或是模糊的,有利的是,如果如本发明中所进行的那样,通过统计方法检测一般的GoP-结构,并且将该知晓应用于单独的帧。

发明内容
本发明建议用于估计加密视频流中或在含有关于帧类型的信息(片头)的比特流特征由于数据包丢失已经遗失的情况下的视频帧的帧类型的方法。特别地,本发明提出了用于不仅仅基于帧大小来估计帧类型的方法。作为替代,通过将各GoP中遇到的帧大小与典型预定义的GoP模式进行模式匹配来估计所检查的视频比特流的GoP模式。利用知晓所估计的GoP模式,可以估计每个随后帧的类型。权利要求中限定了本发明。根据第一方面,本发明提供了根据权利要求1所述的用于估计视频流中多个视频的图像组(GoP)结构的类型的方法。在步骤a)中,或是通过观察传输层的某些时间戳的变化或是通过头结构中的用于信号通知新帧并且根据其他帧判定Intra-帧的某些比特可以检测比特流中的视频帧的边界。优选地,在步骤a)中,长达一个测量周期所捕获的帧数目包括在下一个I帧之前的所有帧。在步骤b)中,将连续帧大小转换至二进制优选地包括使用取决于常量或缓慢波动特征的参考值或动态自适应参考值,其优选地取决于先前捕获的帧的大小和/或其他动态特征值。预定义的基本二进制模式描述了针对基于帧编码、基于字段编码、非封闭GoP编码、或封闭GoP编码中许多不同的连续B帧的可能GoP结构。优选地,在步骤c)中,利用上一个基本模式的可能截断重复短预定义的基本模式,直到重复的基本模式的序列的长度与帧大小数组中的二进制帧大小的序列的长度相同。而且,在步骤c)中,通过按元素同或运算或按元素异或运算可以进行匹配,其中在步骤d)中,每个同或或异或的结果累加在一起,形成分数值,以及其中在步骤e)中,分数值度量对应于最大值。根据实施方式,在步骤e)中,对于具有最佳分数值的模式,选择相关联的GoP结构、字段/帧状态、和非封闭GoP/封闭GoP状态作为针对当前GoP的GoP模式的估计结果。优选地,对于随后的GoP,或是捕获帧大小的新序列,或是通过对先前的帧大小和当前的帧大小数组求平均值来使用任何类型的GoP平均值。在估计GoP模式之后,根据权利要求11执行进一步的帧类型分类,从而在所检测的图像组结构中检测参考B帧的存在。根据第二方面,本发明提供了根据权利要求12的用于估计视频流中多个视频帧的图像组(GoP)结构的类型 的替换方法。优选地,在步骤a)中长达一个测量周期所捕获的帧数目包括下一个Intra-帧之前的所有帧。在步骤c)中,对于每个数组,按照如下所述产生两个关系值i )如果检查的视频流包括非封闭GoP编码,那么每个数组BP表示的基本模式的假设P帧将位于该数组BP的最后一个元素中,该数组的所有其他元素由B帧占据,因此,将针对非封闭GoP编码流的关系计算为最后一个数组元素与所有其他数组元素的平均值相除,或ii)如果检查的视频流包括封闭GoP编码,那么每个数组BP表示的基本模式的假设P帧将位于所述数组BP的第一个元素中,并且所述数组的所有其他元素将由B帧占据,因此,将针对封闭GoP编码流的关系计算为第一个数组元素与所有其他数组元素的平均值相除。优选地,在估计GoP模式之后,执行进一步的帧类型分类,其中,关于可能含有参考B帧的数组中的那些元素的根据步骤c)帧的结果求平均值的帧大小是否明显大于所述数组中含有B帧的所有其他元素,检查根据步骤c)表示估计的GoP结构的数组中的B帧子集,以及如果是这种情况,假设所述帧是参考B帧,并且假设所估计的GoP结构是所谓的分级编码序列的GoP结构。估计的GoP结构作为下面的GoP结构的估计值,其中,该估计的GoP结构有助于检测由于数据包丢失导致的视频帧丢失,或有助于以其特定帧类型标记丢失或现有帧。
具体实施方式
在第一步骤中,估计或计算针对每个视频帧的字节数。不同方法可以适用于执行该任务。例如,可以利用传输层中的某些时间戳的变化来检测新帧的起始,或可以使用用于信号通知新帧的头结构中的某些比特。一般地,这些比特流特性即使在加密比特流中也是可用的。因此,可以按照字节准确地计算或很好地估计帧大小,从而执行下面的步骤。在第二步骤中,扫描视频比特流,直到发现下一个I帧,其表示下一个GoP的开始。在非加密流中,通过浏览视频帧头可以发现下一个I帧(所有帧类型)。在加密流中,或者是帧边界出现在有效载荷内的未知点的某处的情况下,作为代替可以访问将I帧标记为“随机访问点”的某些标记。如果由于某种原因这些标记不出现,那么还使用对于遇到的帧大小进行分析从而检测I帧,这是因为I帧大小一般比P帧和B帧的尺寸大得多。在第三步骤中,在下一个I帧以前的所有随后的视频帧字节大小将捕获在某些数组中,直到遇到下一个I帧并因此完成GoP。在第四步骤中,这些数组将与多个表示典型GoP结构的预定义的模式进行匹配。最佳匹配与特定的GoP结构相关联,其将在稍后的步骤中作为针对之后GoP的原型,因此能够很容易地实现对即将到来的帧的帧类型进行先验估计。对于随后的GoP,可以重置帧大小的数组,因此只使用当前GoP的数据,或将一定数量的先前GoP的帧大小累加在一起,从而获得平均值。在后一种情况中,需要额外的数组来标注累加在数组的元素中的帧大小值的数目。优选地,通过应用以下事项可以计算移动平均数for (当前GoP内的所有巾贞n)FrameSizeArray[n] = (M-1)/M^FrameSizeArray[n]+l/M*FrameSize[n]其中,M是求平均值 的GoP的数目。根据本发明可以使用不同的加权方案。可能的GoP模式如上所述,GoP通常具有特定结构,该结构包括在两个标记GoP的边界的I帧之间的P帧和B帧的特定序列。典型的GoP结构的实例是I, b, b, P,b, b, P,b, b, P-(根据 MPEG2 已知的“经典” GoP 结构)I,b,B,b,P,b, B,b,P,b, B,b, P (针对分级编码的可能GoP结构,其中B=参考B帧,b=非参考B中贞)需要考虑,交错的视频通常编码为“字段序列”,对于一个视频帧,其包括两个独立的字段。在该情况中,以上结构看上去像I/P, b/b, b/b, P/P, b/b, b/b, P/P...I/P, b/b, B/B, b/b, P/P, b/b, B/B, b/b, P/P...形成不同模式,如果正确地检测,那么即使在加密流中也允许在帧编码和字段编码之间进行判断。应当注意,在字段序列中实际上通常仅仅将关键帧的首个字段编码为在内字段(intra field)。关键帧的第二字段可以是预测字段。在以上表示中,将导致产生I/P帧。甚至可以是P/I帧。按照“显示顺序”可视化以上模式。实际上,按照不同的顺序(所谓的“比特流顺序”或“解码顺序”)传输这些帧。由于B帧在过去和未来都具有参考帧,需要预先传输这些未来的参考帧,导致产生如下所示的比特流
I0, P1, b2, b3, P4, b5, b6, P7, b8, b9...比特流顺序I0, b2, b3, P1, b5, b6, P4, b8, b9, P7...显示顺序(具有比特流顺序下标)I0, P1, B2, b3, b4, P5, B6, b7, b8,...比特流顺序I0, b3, B2, b4, P1, b7, B6, b8, P5,...显示顺序(具有比特流顺序下标)即使对相同的GoP结构来说,不同的模式也是可能的。这是因为存在“封闭GoP传输”和“非封闭GoP传输”技术。在封闭GoP中,不同GoP的内容的传输永远不会交叠。在非封闭GoP结构中,在B中贞之前传输第一 I巾贞,该B巾贞(即,接近先前的GoP的巾贞)在显不顺序上先于该第一 I巾贞。以封闭GoP方式示出以上实例。按照非封闭GoP方式的相同实例看起来像b_2, b_” I0, b2, b3, P1, b5, b6, P4,...显示顺序(非封闭 GoP)I0, b_2, b_1; P1, b2, b3, P4, b5, b6...比特流顺序b_3, B_2, b_” I0, b3, B2, b4, P1, b7, B6, b8, P5.显示顺序(非封闭 GoP)I0, B_2, b_3, b—” P1, B2b3, b4, P5, B6, b7, b8...比特流顺序尽管最初的两个(三个)B帧(此处用黑体字标记)属于先前的GoP,但是在当前GoP的I巾贞之后传输该最初的两个(三个)B中贞。很容易看到, 比特流顺序进而产生的GoP模式在不同方式中不同,如果正确地检测到,那么允许在封闭GoP序列和非封闭GoP序列之间进行判断。其他可能的模式包括I, P,P,P,P…(没有例如在视频会议和其他低延迟应用中所适用的B帧的GoP结构)I,b,P,b,P, ...(只有一个 B 巾贞的 GoP 模式)在本发明的保护范围内,对其进行GoP结构估计的任意所分析的视频流可以是完全可读的、加密的、或因数据包丢失受到损坏的。实现该目标仅需要每个遇到的视频帧的字节大小和知晓哪些帧是类型I帧的信息。帧大小的计算/估计因为本发明是基于对视频序列中的所有帧的字节大小的分析,所以需要针对每个帧从比特流中提取这些大小。存在许多不同的传输方案,其可能需要不同的动作来执行该任务。然而,迄今为止基于IP网络的最重要的传输方案是“实时协议”(RTP)。因此,仅关于RTP描述了帧大小提取,但是对于其他传输方案也起到类似的作用。本领域的技术人员能够容易地采用本发明用于其所适用的任何不同的传输方案。存在两个主要的用于通过RTP传输视频内容的方法 直接承载视频作为RTP数据包的有效载荷。在该情况中,音频和其他可能的信息(“系统”信息)承载在具有不同端口号的不同RTP-流中。因此,比特流的视频部分可以容易地与数据包的剩余部分分离。—个视频帧通常由许多RTP数据包的有效载荷构成,每个RTP数据包承载时间戳。在视频的情况中,这些RTP-时间戳设定为其承载的视频帧的相对解码时间。由于各RTP数据包可以具有不同大小,所以视频帧通常是许多完整的RTP数据包。在这种情况中为了计算视频帧的大小,只需要将具有相同时间戳的所有RTP数据包的有效载荷大小累加在一起。
即使帧边界出现在单个RTP-有效载荷内,通过以上值也可以很好地估计帧大小。不必访问可能加密的有效载荷本身。可以访问RTP-序列号(其是RTP-头的一部分),从而检测RTP-数据包丢失。由于不能知晓丢失数据包的大小,所以需要进行估计。通过过去的数据包的某种平均大小可以进行该估计。 通过RTP承载视频,但是有效载荷是“传输流”(TS)。在TS中,视频、音频、和其他信息多路复用到单个流中。每个多路复用数据包具有188字节的大小,其包括较小的TS-头。一个RTP数据包承载7个TS数据包,由所谓的“程序ID”(PID)将这些TS数据包标记为属于特定的子流。这些子流之一是要被分析的视频。即使在加密流中,TS-头通常也不加密,因此可以对其进行访问。TS-头允许准确地测量帧大小。在RTP数据包丢失的情况中,TS-头中的所谓的“连续计数器”可以用于针对各子流单独地计算对于特定RTP丢失的所丢失的子流数据包的数量。由于TS-数据包远小于RTP-数据包,并且(在不存在填充的罕见情况下)具有相同的有效载荷大小,因此可以更精确地估计丢失比特的数量。TS-头中的上述的连续计数器只有4比特。因此,可以检测多达16个丢失的TS数据包。连同已知的丢失RTP数据包的数量和可容易计算的每个RTP数据包的TS子流数据包的平均数的值,可以估计大于16的丢失TS数据包的精确估计值。由于RTP时间戳与其承载的视频帧的相对解码时间同步,所以甚至可以完全检测丢失的帧,因为在该情况中RTP-时间戳将增加不只一个连续帧之间的时间差。I帧的检测为了开始分析,扫描比特流从而查找下一个I帧(其标记新的GoP的起始)的起始。可以通过不同方式检测I帧。在非加密流的情况中,可以容易地访问所有视频帧的基本码流的帧头。视频帧头显式地含有帧类型。

如果视频被直接承载为RTP有效载荷,那么帧头将总是以每个RTP数据包的有效载荷中的首个字节出现,其紧跟着M-比特的RTP头被设定为I的RTP数据包。如果帧头也可能出现在RTP数据包的有效载荷中,那么可以容易地搜索帧头,这是因为帧头含有唯一的字节序列。在使用通过RTP的TS的情况中,可以利用TS头的自适应字段内所谓的“随机存取标志(random_access_flag)”。其信号通知即将到来的巾贞被编码为I巾贞。即使在加密流中,作为TS头的一部分的自适应字段通常也不加密。一旦已知帧边界,还可以经验地检测I帧。I帧的平均大小通常大于P帧和B帧的大小。一旦查找到I巾贞的起始,也就找到下一个GoP的起始。从这一点出发,通过许多方式采集所有随后帧的大小。在下面的说明中,对于完整的GoP继续进行该采集过程,直到开始对收集的数据进行分析。在本发明的其他实施方式中,采集周期可以具有不同的长度。_5] 数据采集和模式匹配的第一实施方式帧大小的一个长数组在已经遇到当前GoP的初始I帧之后,所有随后帧的帧大小存储到数组的元素中,其中,数组的下标等于在所述I帧之后的帧的编号。优选地,执行该操作直到检测到下一个I帧,信号通知要被分析的第一 GoP结束。这样构造的帧大小的数组是模式匹配处理的输入,该处理将该数组和一组典型的模式进行比较,并且输出估计的GoP模式和可应用的其他数据。如果所分析的比特流未被加密,因此对于该算法而言帧类型是已知的,那么可以由标准化值(例如,针对非参考B帧的“I”、针对参考B帧的“2”、和针对P帧的“4”)来取代实际的帧大小,该标准化值与实际帧大小的作用相同但是不会产生任何统计不确定性。模式匹配在本发明的实施方式中,将帧大小数组与二进制模式(其中,“0”用于B帧,“ I”用于P帧)进行匹配。因此,以上示例性GoP结构与如同以下的模式匹配0,0,I, 0,0,I…(具有非封闭 GoP 的 I,b, b, P,b, b, P 结构)I, 0,0,I, 0,0...(具有封闭 GoP 的 I, b, b, P,b, b, P 结构)0,0,0,I, 0,0,0,1...(具有非封闭 GoP 的 I, b, B,b, P,b, B,b, P 结构)I, 0,0,0,I, 0,0,0...(具有封闭 GoP 的 I, b, B,b, P,b, B,b, P 结构)在本发明的该实施方式中,“帧大小数组”也将转换为二进制数组。在最简单的情况中,单个参考值将用于将所述数组的每个元素的值取代为用于“较小尺寸的帧”的“0”和用于“较大帧”的“I”。在“较大”和“较小”之间判断的参考值可以简单地是所有元素的平均数与大于I的因数相乘。在可选的实施方式中,阈值可以是所有数组元素的中值或最小元素值与最大元素值的加权组合或数组元素的其他组合。而且,少量的帧大小值可以采用阈值。这可以通过以下方式实现通过用因数或附加项改变以上所述的阈值中的一个阈值,或通过只根据某个邻近当前值的帧大小值计算阈值。一般地,不使用数组中 的首个新值是合理的,这是因为在I帧之后,P帧和B帧通常具有不规则的小尺寸。匹配处理通常不会预先得知GoP的长度。典型的值是每I秒或2秒一个I巾贞,导致对于25帧/秒的典型帧频产生GoP长度为(例如)25帧至50帧(或对于“字段编码”模式产生50字段至100字段)。通常编码器具有场景分割检测并且将I帧放置在每个场景分割位置。因此,如果遇到场景分割,那么GoP可以具有下至2帧或甚至I帧的任何尺寸。与整个长度相对比,每个可能的GoP结构的基本模式是恒定的且较短的(例如,对于I,b,b,P,…的实例0,0,1)。为了匹配完整GoP的元素,需要重复这些简单的基本模式,直到达到实际的GoP大小。在本发明的只应用二进制匹配的实施方式中,匹配处理本身可以是对经转换的帧大小数组的每个元素与级联基本模式元素进行简单的“同或”运算。然后,将这些“同或”运算的结果累加成针对所使用模式的匹配分数。利用所有可用的预定义模式进行以上操作。获得最高分数的特定模式被认为是最佳匹配,并且采用其相关的GoP结构、帧/字段状态、非封闭/封闭状态用于进一步的分析。在分级编码和常规的B帧编码之间进行区分在最佳匹配GoP模式中估计多于两个连续B帧的情况中,很可能已经利用如上所述的具有参考B帧的“分级编码”方法编码帧序列。如果是这种情况,那么很可能这些参考B帧的帧大小在字节上大于非参考B帧(以上标记为B帧)的帧大小。为了获得是使用分级编码还是使用非分级编码的可靠估计,可以检查连续B帧(在两个P帧之间)的每个子集,子集中的代表参考B帧的那些元素的帧大小是否明显大于所述子集中的表示B帧的所有其他元素的帧大小。如果是3个连续B帧,那么是第一个子集元素,如果存在5个连续B帧,那么是第一个子集元素和第二个子集元素。如果存在7个连续B帧,那么存在第一个子集元素、第二个子集元素、和第三个子集元素(按照解码顺序)。其他组合对于分级编码来说不太可能。如果对于连续B帧的集合的幅度来说该条件为真,那么可以假设GoP分级编码。对于具有多于3个B帧的模式来说,可以假设是分级编码,即使没有所述测试,这是因为在不进行分级编码的情况中行中不太可能多于三个B帧。当加密序列或帧头由于数据包丢失而遗失的情况下,将作为结果的所估计的GoP结构应用于下面的GoP的帧会产生这些帧的帧类型的可靠估计。
·_7] 数据采集和模式匹配的第二实施方式平均的帧大小的多个短数组由于可能的·基本模式的数量BP有限,所以可以修改本发明,以便于每个可能的基本模式精确地存在一个数组,而不是如上所述的单一数组。这些数组会具有其基本模式的较短大小。例如针对非封闭GoP编码具有模式0,0,I或针对封闭GoP编码具有模式1,0,0的GoP结构“I, b, b, P”的数组的大小为3。假设n是初始I帧之后的帧数。通过将每个遇到的帧n的字节大小累加到每个Array [BP]的第 ArraySize [BP]个兀素中(n%ArraySize [BP]表不 n/ArraySize [BP]的余数)并且对每个元素的编号进行计数,可以在每个数组的元素中产生平均的帧大小的值。尽管只在与真实GoP结构相关联的一个特定数组中,对于P帧已经排他地累加了P帧,对于B帧已经排他地累加了 B帧。因此,准确地只在该数组中,P帧和B帧之间的平均关系反应在其元素中。所有其他数组的元素含有P帧和B帧大小的混合。所以,它们之间的关系将不那么重要。下面的伪代码阐明初始I帧之后的帧n的帧大小如何累加到所述数组的元素中
权利要求
1.一种通过估计帧的帧类型来估计视频流中的多个视频帧的图像组GoP结构的类型的方法,所述方法包括以下步骤 a)捕获在初始的内帧I帧之后的每个视频帧的以字节计的帧大小,从而通过利用承载所述视频帧的传输层的特征获得帧大小的数组; b)在多个帧之后将在步骤a)中获得的帧大小的所述数组转换为零和一的数组,其中,零代表较小帧大小,假设为双向帧B帧,一代表较大帧大小,假设为预测帧P帧; c)将步骤b)中获得的帧大小的二进制的所述数组和多个预定义的短基本二进制模式进行匹配,其中,所述数组含有作为要被分析的GoP结构的特征的特定重复的短基本二进制模式,预定义的所述二进制模式描述了要考虑的所有GoP结构; d)转换在步骤c)中所述匹配的结果,从而形成单个分数值;以及 e)根据预定义的度量确定多个预定义的所述二进制模式中具有最佳分数值的特定模式。
2.根据权利要求1所述的方法,其中,在步骤a)中,或是通过观察所述传输层的一些时间戳的变化,或是通过用于信号通知新帧以及区分内帧与其他帧的头结构中的一些比特,来检测所述比特流中的视频帧的边界。
3.根据权利要求1或2所述的方法,其中,在步骤b)中帧的数目包括在下一个I帧之前的所有帧。
4.根据权利要求1至3所述的方法,其中,在步骤b)中将连续帧大小向二进制的所述转换包括使用取决于要被分析的视频序列的恒定的或波动的特征的参考值,或使用动态自适应参考值。
5.根据权利要求4所述的方法,其中,所述动态自适应参考值取决于先前捕获的帧大小的值和/或要被分析的视频序列的其他动态特征。
6.根据前述权利要求中任一项所述的方法,其中,所述预定义的短基本二进制模式描述了在基于帧编码、基于字段编码、非封闭GoP编码、或封闭GoP编码中的多个不同的连续B中贞的可能GoP结构。
7.根据前述权利要求中任一项所述的方法,其中,对于步骤c)中的所述匹配,以最近的基本模式的可能截断重复执行所述预定义的短基本二进制模式,直到重复的基本模式的串具有的长度与从帧大小数组中获得的二进制帧大小的串的长度相同。
8.根据前述权利要求中任一项所述的方法,其中,在步骤c)中通过按元素的同或运算或按元素的异或运算执行所述匹配,其中,在步骤d)中,每个同或或异或的结果累加在一起,从而形成所述分数值,以及其中,在步骤e)中所述分数值度量分别对应于最大值或最小值。
9.根据前述权利要求中任一项所述的方法,其中,在步骤e)中对于具有所述最佳分数值的模式,选择相关联的GoP模式、字段/帧状态、和非封闭GoP/封闭GoP状态作为所分析的帧的当前串的GoP结构的估计结果。
10.根据前述权利要求中任一项所述的方法,其中,对于随后的GoP的GoP结构估计,或是针对每个所述随后的GoP捕获新的帧大小数组,或使用当前的与先前的帧大小的数组的元素的任何种类的平均值。
11.根据前述权利要求中任一项所述的方法,其中,在执行所述GoP模式的所述估计之后,执行进一步的帧类型分类,其中,关于以下事项来进一步检查两个P帧之间的连续B帧的每个子集即,关于根据步骤a)的输出的在所述子集中的那些可能含有参考B帧的元素与那些可能只含有非参考B帧的元素的帧大小的关系是否大于阈值,该阈值充分大于1,因为参考B帧被假设平均地大于非参考B帧,以及其中,如果对于统计上大量的帧大小数组中的B帧的所述子集是这种情况,那么所述帧被假设为参考B帧,并且所估计的GoP结构被假设为所谓的分级编码序列的GoP结构。
12.一种通过估计帧的帧类型来估计视频流中的多个视频帧的图像组GoP结构的类型的方法,所述方法包括以下步骤 a)通过利用承载所述视频流的传输层的特征捕获在初始I帧之后的每个视频帧n的以字节计的巾贞大小,将每个巾贞n的大小添加至多个数组的每个数组Array [BP]的特定元素中,其中,这些多个数组的每个数组具有不同大小ArraySize [BP],该大小等于每个所考虑的GoP结构的基本帧类型模式BP的长度,其中,帧n的帧大小累加在其中的特定元素是每个数组Array[BP]的第(n%ArraySize [BP])个元素,以及其中,标注在每个数组的每个元素中累加的帧大小的数目,通过下面的符号代码进行描述,假设Array和ArrayCount具有有意义的内容(例如,全零)
13.根据权利要求12所述的方法,其中,所述帧n的数目包括在下一个内帧之前的所有帧。
14.根据权利要求12和13中任一项所述的方法,其中在步骤c)中,对于每个数组,如下所述地产生两个关系值,从而能够在非封闭GoP和封闭GoP编码之间进行判断i)如果检查的视频流包括非封闭GoP编码,那么由Array [BP]表示的基本模式BP的假设累加在一起的P帧将位于所述数组Array [BP]的最后一个元素中,所述数组的所有其他元素将由累加在一起的B帧占据,因此利用以下方程式将针对非封闭GoP编码流的关系Rtj计算为由所有其他数组元素的平均值除最后一个数组元素
15.根据权利要求14所述的方法,其中,通过选择权利要求14中计算的R。和%所有值的最大值查找步骤d)中的最大关系,其中,如果R。的一个值包括最大值,那么可以将所述序列认为是封闭GoP编码的序列,以及其中,如果%的一个值包括最大值,那么可以将所述序列认为是非封闭GoP编码的序列。
16.根据权利要求12至15中任一项所述的方法,其中,选择与根据步骤d)确定的数组相关联的GoP结构作为当前分析的帧的串的GoP模式、字段/帧状态、和非封闭GoP/封闭GoP状态的有效估计。
17.根据权利要求12至16中任一项所述的方法,其中,在估计所述GoP模式之后,执行进一步的帧类型分类,其中,关于以下事项检查表示根据步骤d)估计的GoP结构的数组中的B帧的子集,即,关于可含有参考B帧(在非封闭GoP编码中是第一个元素,在封闭GoP编码中是第二元素)的数组元素与那些只可含有非参考B帧的元素的关系是否大于阈值,该阈值充分大于I,因为参考B帧被假设为平均地大于非参考B帧,以及其中如果是这种情况,那么所述帧被假设为参考B帧,和估计的GoP结构被假设为所谓的分级编码序列的GoP结构。
18.根据权利要求8或16所述的方法,进一步包括以下步骤利用估计的所述GoP结构作为对于下面的GoP结构的估计值,以及利用估计的该GoP结构有助于检测由于数据包丢失导致的视频帧丢失,或有助于以其特定帧类型标记丢失帧或现有帧。
全文摘要
本发明提供了估计视频流中的多个视频帧的图像组(GoP)结构的类型的方法,所述方法包括以下步骤a)捕获在初始Intra-帧(I帧)之后的每个视频帧的按照字节的帧大小,从而获得帧大小的数组;b)在多个帧之后将在步骤a)中获得的帧大小的所述数组转换为零和一的数组,其中,零表示较小帧大小,假设为双向帧,B帧,一代表较大帧大小,假设为预测帧,P帧;c)将步骤b)中获得的零和一的数组和多个预定义的二进制模式进行匹配,其中,预定义的所述二进制模式描述了可能的GoP结构;d)转换在步骤c)中所述匹配的结果,从而形成单个分数值;以及e)根据预定义的度量确定多个预定义的所述二进制模式中具有所述最佳分数值的特定模式。
文档编号H04N17/00GK103053134SQ201180037683
公开日2013年4月17日 申请日期2011年7月26日 优先权日2010年7月30日
发明者萨瓦斯·阿伊罗普洛斯, 伯恩哈德·费坦恩, 玛丽-内日·加西亚, 彼得·利斯特, 亚历山大·拉克 申请人:德国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1