首页> 中国专利> 用于在视频比特流和输出视频序列之间的时间同步的方法和装置

用于在视频比特流和输出视频序列之间的时间同步的方法和装置

摘要

本发明涉及用于将视频解码器的输入比特流与由视频解码器解码的处理视频序列时间同步的方法和装置。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-02

    授权

    授权

  • 2013-08-28

    实质审查的生效 IPC(主分类):H04N17/00 申请日:20110726

    实质审查的生效

  • 2013-04-03

    公开

    公开

说明书

技术领域

本发明涉及用于将视频解码器的输入视频比特流与由视频解码器解 码的所处理视频序列同步的方法和装置。

背景技术

最近几年间视频通信应用的激增使鲁棒性视频质量测量的发展成为 必要,从而评估由用户感知的服务质量来定义的体验质量(QoE)。视频 质量评估是用于使内容提供者高效地设计、规划和监控服务的重要方面。

如今,混合视频质量评估模型/系统使用包信息、比特流信息和解码 的重构图像的组合。通常,在混合视频质量评估算法中,将从比特流中提 取或计算的特征(例如,动作向量、宏块类型、转换系数、量化参数等), 和由包标头提取的信息(例如,比特率、包丢失、延时等)与从像素域中 的输出重构图像中提取的特征相结合。然而,如果由于时间同步的丢失, 前者的特征与后者的特征不时间上对应,那么质量的评价会不准确。因此, 在每个混合视频质量评估算法中的第一步都是将视频比特流与解码的重 构图像同步。

图1中示出了混合视频质量评估系统的框图。在最终用户侧,探测器 装置获取进来的比特流,并且随后为了提取和计算一些特征而分解并分析 该比特流。这些特征输入至负责使视频比特流与输出视频序列时间同步的 模块。

此外,例如机顶盒(STB)的解码装置将收到的比特流解码并且产生 由输出装置显示的处理视频序列(PVS)。PVS也输入至使其能够与视频 比特流时间同步的负责时间同步的模块。

通常,在比特流和PVS之间的时间同步丢失的主要原因是延时。当 视频流在诸如因特网的最高效(best-effort)网络上传输时,各个包的到达 时间不是恒定的并且可以显著地变化。跨网络的包延时的随着时间的变化 称为抖动(jitter)。为了确保序列无振动地平滑重放,大多数视频系统采 用去抖动缓冲器。所接收的比特流基于各个包的到达时间而写入至输入缓 冲器,并且从帧中读出的与该帧对应的画面数据在与帧周期对应的预定时 间间隔中进入解码器。各个画面的显示时刻由记录在包标头中的时间戳字 段确定。即,时间戳值与从画面起始代码的检测起到画面显示时刻为止经 过的延时时间段对应。

在上述视频解码系统中,根据包括在用于确定显示时刻的视频比特流 中的数据来确定各个视频帧的显示时刻。因为用于帧的显示的时间不固 定,所以PVS可以不总是精确地匹配至原始比特流。

在文献中,在源和扭曲视频序列之间的时间同步问题被先前研究过并 且被称为视频配准(video registration)。在M Barkowsky,R.Bitto, J.bialkowski和A.Kaup的“Comparison of matching strategies for temporal frame registration in the perceptual evaluation of video quality”,Proc.of the Second International Workshop on Video Processing and Quality Metrics for Consumer Electronics,Jan.2006一文中,在性能和复杂性的方面提出并且 检查了在用于视频配准的块匹配与相位关联之间的比较。而且,在 Y.Y.Lee,C.S.Kim和S.U.LEE的“Video Frame-matching algorithm using dynamic programming,”Journal of Electronic Imaging,SPIE,2009中,基 于使用动态编程的匹配代价函数的最小化而提出了用于帧的移除、插入、 置乱(shuffle)和数据压缩的帧匹配算法。在J.Lu的“Fast video temporal alignment estimation,”(US-B1-6751360)中提出了用于将扭曲视频时间 对准于相应的用于视频质量测量的源视频的快速时间对准估算方法。通过 将用于每帧的数据点计算为在两个后续帧之间的互关联,各个视频序列被 转换为签名曲线(signature curve)。随后通过找到在检查的视频序列的签 名曲线之间的归一化互关联的最大值来确定扭曲视频的时间失配。在 H.Cheng的“Video registration based on local prediction errors,”(US-B2-7 366361)中描述了用于识别在两个视频序列之间的空间的、时间的和直方 图的对应性的另一方法。通过产生从一个以上的原始帧中的所选组到处理 的组的映射从而使各个映射将本地预测错误最小化,PVS被对准至参考视 频序列。在K.Ferguson的“System and methods for robust video temporal registration,”(US-A-2008/0253689)中,从参考和测试视频序列中产生帧 和子图像的提取测量。然后,使用帧之间的本地皮尔斯互关联系数来将它 们线性对准。此外,在C.Souchard的“Spatial and temporal alignment of video sequences,”(US-A-2007/0097266)中,将动作函数定义为描述测试和参 考视频序列的帧之间的像素组的动作并且使用变换以对准两个图像。

在J.Baina等人的“Method for controlling digital television metrology equipment,US6,618,077B1,2003”中,提出了用于从MPEG-2传输流中 提取参数的方法从而产生同步信号。然而,该方法只在视频基本流被分包 在MPEG-2传输流中时可用并且不能应用于任意传输协议。与之相反,所 提出方法可以应用于任何视频流而不需要具体的传输或应用协议。此外, 以上方法将同步信号提供给视频质量监控算法从而表示视频信号的哪些 画面(视频帧)应当被用于质量预测。与之相反,所提出的方法识别与考 虑中的来自外部解码器的各个图像对应的比特流的部分。最终,该方法不 利用比特流信息来将视频比特流与来自外部视频解码器的画面同步,然而 所提出的发明利用比特流来进行同步。视频比特流的利用能够考虑包丢失 所产生的影响并且可以应用于传输错误的情况。

在M.Keyhl,C.Schmidmer和R.Bitto的“Apparatus for determining data in order to temporally align two data signals,WO2008/034632A1,2008”中提 出了用于对准两个数据信号的另一方法。与之相反,所提出的发明提供了 来自外部视频解码器的图像与输入视频比特流之间的同步。此外,以上方 法在像素域中进行同步,因此其需要输入视频比特流的完全解码。相反, 所提出的方法提供了两个实施方式(第二和第三实施方式),在它们中, 从包标头并且不通过完全解码而进行同步。

然而,在J.Baina等的“Method for synchronising digital signals”,US 2003/0179740A1,2003中,提出了用于同步数字信号的另一方法。其为全 参考方法,即,需要参考信号来进行同步。与之相反,本发明提出了用于 在视频比特流和来自外部视频解码器的解码画面之间同步的非参考方法, 因此不需要参考信号(视频序列)。此外,以上方法需要从比特流中提取 参数以用于同步,并因此不能应用于加密的比特流的情况。相反,在所提 出的发明中的方法描述了用于将加密的比特流与PVS同步的实施方式。

发明内容

本发明的目的是提供一种方法和装置以将诸如机顶盒(STB)的视频 解码器的输入视频比特流与处理视频序列(PVS)时间同步并且使它们能 够同步。该目的通过权利要求的特征来实现。

根据第一方面,本发明提供了一种用于将视频解码器的输入比特流与 由外部视频解码器解码的处理视频序列时间同步的方法,该方法包括以下 步骤:

a)获取输入比特流并且将其提供给比特流分析器;

b)由比特流分析器分解并且分析所获取的输入比特流;

c)解码输入比特流并且提供由此产生的Nrec个重构图像;

d)将Nrec个重构图像存储在缓冲器中;并且

e)将从视频解码器的输出侧接收的处理视频序列与各个存储的重构 图像相比较,从而从缓冲器中的重构图像组中找到匹配帧n*

本方法还可以包括将匹配帧n*和与其相应的比特流部分提供给视频 质量评估单元的步骤f)。视频质量评估单元可以基于从比特流和处理视频 序列中获得的信息来估算主观质量分数。

本方法的步骤b)还可以包括对于每个图像从比特流中提取由于传输 错误而丢失的包和受到包丢失影响的各帧内的相应区域;以及基于动作向 量和宏块类型的错误传播图(映射,map),该错误传播图表示各帧中的哪 些像素参考了错误区域以用于它们的预测并且因此倾向于受到包丢失的 影响。

此外,步骤e)可以包括通过利用从比特流和PVS中提取的信息来计 算在处理视频序列和缓冲器中的重构图像之间的距离度量。从比特流中提 取的信息可以包括由于包丢失而产生的损伤的空间位置和时间位置。

根据第二方面,本发明提供了一种用于将视频解码器的输入比特流与 由视频解码器解码的处理视频序列时间同步,而不将视频比特流完全解码 至像素域的方法,该方法包括以下步骤:

a)获取输入比特流并且将其提供给比特流分析器;

b)通过比特流分析器分析所获取的比特流从而产生错误图I(x,y, t)和受到包丢失影响的像素组A,其中I(x,y,t)表示在第t帧的(x, y)位置的错误图值,x=0、1、…、M,并且y=0、1、…、N,其中M、 N分别是视频序列的各帧的水平和垂直尺度,

c)将由比特流分析器在步骤b)中产生的Nrec个帧的错误图(映射, map)存储在缓冲器中;以及

d)将所存储的产生的Nrec个帧的错误图与当前的处理视频序列的相 应的错误图相比较,以从缓冲器中的重构帧组找到匹配帧n*,该匹配帧与 处理视频序列的当前图像匹配。

本方法可以包括将匹配帧n*和与其对应的比特流部分提供给视频质 量评估单元的步骤e)。

此外,优选在步骤c)和d)之间进行以下步骤:

提取处理视频序列的当前图像的边缘;

计算很可能属于被包丢失影响的区域的边缘的轮廓;

将处理视频序列的边缘轮廓与存储在缓冲器中的错误图的边缘轮廓 相比较。

根据第三方面,本发明提供了一种用于将视频解码器的加密的输入比 特流与由视频解码器解码的处理视频序列时间同步的方法,该方法包括以 下步骤:

a)将加密的输入比特流提供给分析模块;

b)在分析模块中分析加密的输入比特流的包标头信息,并且计算在 比特流中包含的图像的尺寸和类型;

c)基于所计算的图像的尺寸和类型来提取代表在视频画面中所示的 内容的特征;

d)提取来自处理视频序列的画面的内容的类型和代表内容的各特征;

e)将在步骤d)中从处理视频序列的当前画面中提取的特征与在步 骤c)中从所分析的图像中提取的特征相比较,从而计算与当前的处理视 频序列相对应的比特流部分。

在步骤c)和d)中提取的特征优选是时变特征,并且这些步骤可以 在像素域中进行。

根据优选的实施方式,与检查中的处理视频序列对应的特征和比特流 部分被进一步输入至视频质量评估模块。

步骤b)还可以检测被包丢失影响的帧,并且还可以包括以下步骤:

f)检查在处理视频序列的当前图像中由于包丢失而产生的伪像;以 及

g)将处理视频序列与相应的比特流的帧匹配,其中,如果在步骤f) 中检测到处理视频序列的当前画面包含作为包丢失的结果而插入的伪像, 那么将该画面与对应于步骤b)中找到的包含包丢失的帧的比特流部分相 匹配。

本发明的又一方面涉及一种用于将视频解码器的输入比特流与由外 部视频解码器解码的处理视频序列时间同步的装置,该装置包括:

比特流分析器,接收输入比特流,该比特流分析器被配置为分解以及 分析输入比特流,以及

同步模块,被配置为将所分析的比特流与处理视频序列匹配,

该同步模块包括:

解码器,从比特流分析器接收所分析的比特流,并且被配置为 由此提供Nrec个重构图像,

缓冲器,被配置为存储来自所述解码器的所述Nrec个重构图像, 从而使由处理视频序列表示的输出图像可以与该具体数量的先前重 构图像相比较,以及

像素域比较单元,从比特流分析器接收所分析的比特流,从缓 冲期接收重构图像,并且接收处理视频序列,该比较单元被配置为

将处理视频序列与缓冲器中的每一个重构图像相比较,以 及

确定在视频缓冲器中的最佳匹配图像。

本装置优选地包括将来自比特流和处理视频序列的信息结合从而评 价视频序列的质量的视频质量评估模块。比较单元还可以被配置为通过利 用从比特流中提取的信息来计算在处理视频序列和缓冲器中的检查的重 构图像之间的距离度量。此外,比较单元被配置为将最佳匹配图像输出至 用于基于来自比特流和处理视频序列的信息而估算主观质量分数的视频 质量评估模块。

此外,更优选地,比特流分析器被配置为对于每个画面从比特流中提 取由于传输错误而丢失的包和在受到包丢失影响的各帧内的相应区域;以 及基于动作向量和宏块类型而提取了错误图,该错误图表示了各帧中的哪 些像素参考了错误区域以用于它们的预测并且因此倾向于受到包丢失的 影响。

根据又一方面,本发明提供了一种用于将视频解码器的输入比特流与 由视频解码器解码的处理视频序列时间同步的装置,该装置包括:

比特流分析器,接收输入比特流,该比特流分析器被配置为为了加密 的输入比特流的包标头信息而分析输入比特流,并且计算比特流中包含的 帧的尺寸和类型,以及

同步模块,被配置为将所分析的比特流与处理视频序列同步,

该同步模块包括:

提取模块,从比特流分析器接收所分析的比特流,并且被配置 为产生错误图I(x,y,t)和受到包丢失影响的像素组A,其中I(x, y,t)表示在第t帧的(x,y)位置的错误图值,x=0、1、…、M, 并且y=0、1、…、N,其中M、N分别是视频序列的各帧的水平和 垂直尺度,

缓冲器,被配置为储存由探测器内的比特流分析器内部产生的 Nrec个帧的错误图,以及

错误样式搜索模块,接收来自缓冲器的Nrec个重构帧的错误图, 以及处理视频序列的相应错误图,该错误样式搜索模块被配置为

将所存储的Nrec个重构帧的错误图与当前处理视频序列的 相应错误图相比较,并且

从缓冲器中的重构帧组确定与处理视频序列的当前图像相 匹配的匹配帧n*

根据又一方面,本发明提供了一种用于将视频解码器的加密输入比特 流与由视频解码器解码的处理视频序列时间同步的装置,该装置包括:

比特流分析器,接收加密的输入比特流,该比特流分析器被配置为分 解以及分析输入比特流,以及

同步模块,被配置为将所分析的比特流与处理视频序列同步,

其特征在于,

该同步模块包括:

第一提取模块,被配置为基于所计算的图像尺寸和类型来提取 代表视频画面中所示出的内容的特征,

第二提取模块,被配置为从处理视频序列的画面提取内容的类 型和代表内容的各特征,以及

比较单元,连接至第一提取单元和第二提取单元,该比较单元 被配置为

将从处理视频序列的当前画面提取的特征与从所分析的画 面提取的特征相比较,并且

计算与当前处理视频序列相对应的比特流部分。

回到本发明的目的,其可以通过提供根据本发明的装置(探测器)来 一般地实现,该装置包括用于分解和解码输入比特流的比特流分析器,负 责将比特流与PVS时间同步的同步模块。

负责将视频比特流与PVS时间同步的装置包括储存从解码器输出的 重构图像的缓冲器。该缓冲器应当能够储存来自探测器内的解码装置的规 定数量的Nrec个重构图像,使得输出图像可以与该规定数量的先前重构图 像相比较。

负责将PVS和视频比特流同步的模块执行以下操作:

a)将PVS与缓冲器中的每一个重构图像相比较

b)通过利用从比特流提取的信息(例如,由于包丢失所致的损伤的 空间和时间位置)来计算在PVS和所检查的缓冲器中的重构图像之间的 距离度量

c)确定视频缓冲器中的最佳匹配图像并且将其输出至负责基于来自 比特流和PVS的信息来估算主观分数的视频质量评估模块。

附图说明

图1示出了用于将处理视频序列与比特流和解码的图像数据时间同 步的传统探测器装置;

图2示出了根据本发明的第一优选实施方式的用于将比特流与输出 图像同步的框图;

图3示出了用于在视频比特流和处理视频序列之间同步的本发明的 第二优选实施方式的框图;

图4示出了根据本发明的另一优选实施方式的在比特流和加密视频 序列的解码图像之间的同步;

图5是用于后续帧的错误传播图的示例;

图6示出了由于时间(之间)预测而在内部解码器中产生错误传播图; 以及

图7示出了由于内部预测而在内部解码器中产生错误传播图。

具体实施方式

以下,将更详细地描述本发明。

首先,将参考图2来描述在比特流和PVS之间的时间同步的第一实 施方式。

在比特流和解码的/处理的视频序列之间的时间同步包括两个步骤。 最初,在第一步骤中,根据本发明的装置,即探测器装置,获取比特流并 且将其供应至比特流分析器,该比特流分析器对各个画面提取以下信息:

a.由于传输错误所导致的丢失的包和受到包丢失的影响的各帧中的 相应区域;以及

b.基于动作向量和宏块类型的错误传播图,该错误传播图表示了各帧 中的哪些像素参考(用于预测)了错误区域来用于它们的预测并且因此倾 向于受到包丢失的影响。

以A来表示受到包丢失影响的像素组和参考丢失的像素以用于它们 的预测的像素。还以I(x、y、t)来表示在第t帧的(x,y)位置的错误 传播图值,x=1、2、…、M,并且y=1、2、…、N,其中M、N分别是视 频序列的各帧的水平和垂直尺度。属于组A的这些像素的值是1,否则它 们的值是零。因此:

I(x,y,t)=1,(x,y)A0,(x,y)A式(1)

换言之,组A包含由于不同错误隐藏技术(error concealment technique)而将在处理视频序列和探测器内的解码器的重构图像之间不一 致的全部像素。因此,属于组A的全部像素被表示为不可用于以下阶段的 时间同步。图5中示出了错误传播图的推导的示例。包丢失发生在第一帧 中(在图5中,右边画面中的暗色区域表示由于包丢失而被损伤的宏块), 并且参考第一帧的受影响的区域以用于预测处理的后续帧的像素被计算 并且标记为不可用于同步处理。这将会帮助消除由于在探测器的内部视频 解码器和解码装置(例如,STB)的解码器之间的不同错误隐藏技术的应 用而可能在重构图像和处理视频序列之间不同的那些像素。

以下,提供了用于产生内部解码器内的错误传播图的更多信息。对于 各个画面,探测分析器检测在比特流中的没有正确接收(例如,由于网络 损伤和/或包丢失)的宏块的数量和位置。该检测基于对表示新切片(slice) 的开始的切片标头的分解。应注意,在现代编码方案中,切片被定义为可 以独立编码而不参考来自其他画面的其他信息的编码单元。因此,在丢失 发生的位置和切片的末端之间的所有宏块都被标记为不可解码的。例如, 在图6中,假设错误发生在帧t中并且受影响的宏块以灰色来表示。对于 属于该宏块全部坐标的错误传播图的值为了所有其他(正确接收并解码 的)帧而被设为1和0。

此外,由于编码器的可预测性质,在后续帧中的宏块为了被解码可以 参考先前的帧。对于其间预测画面(P和B画面)来说,用于先前的帧中 的参考位置的信息对于各个宏块都以以下语法元素来包含在比特流中: (a)参考指数,表示将使用的参考帧(b)动作向量,表示从宏块的初始 位置的(水平和垂直的)位移。应注意,在例如H.264/AVC的现代编码器 中,参考指数和动作向量可以对于宏块的子分区而不同。因此,用于宏块 所有坐标的参考在参考帧中的错误区域的错误传播图被设定为1,否则被 设定为0。

图6中示出了该过程的示例。图6示出了由于时间(之间)预测所致 的在内部解码器中产生的错误传播图。错误最初出现在帧t(灰色宏块) 中并且传播至后续帧t+1的在(x1,y1)和(x2,y2)的位置的宏块中,该 位置参考了帧t中的错误宏块。应注意在帧t+1中没有产生新错误,但是 宏块由于参考了参考帧中的错误信息而是错误的。即,在帧t+1中的宏块, 在(x1,y1)和(x2,y2)的位置的宏块参考了t帧中的错误宏块并因此被 表示为错误的(即,对于这些帧的错误传播图被设定为1)。

因此,对于时间预测的宏块:

I(x,y,t)=I(x+mvx,y+mvy,t+r)    式(2)

其中,x、y表示所考虑的宏块的行和列,t表示帧号,mvx和mvy表 示该宏块的水平和垂直动作向量,并且t+r表示对于将被用作参考的帧的 参考指数。

此外,错误可以由于内部预测而传播,这是因为从同一帧中的相邻宏 块来预测宏块。应注意,在现代编码方案中,即使宏块属于其间预测的图 像,也可以以内部模式来编码该宏块。这在图7中示出,其中宏块A、B 和C是错误的(因为在该位置发生包丢失或因为它们被时间预测并且参考 了在先前的解码画面中的错误区域),并且因此被解码器隐藏。然而,如 果宏块(例如D)被内部编码并且将宏块A、B和C用作参考,那么错误 传播至该宏块并且错误传播图被设定为1。否则,如果该宏块不将错误的 宏块用作参考,那么用于该宏块的坐标的错误传播图被设定为0。宏块F、 D和E被正确地接收。然而,宏块E参考宏块D、B和C并因此错误传播 至宏块E。

必须注意的是错误传播图的产生不需要在像素级的比特流的完全解 码。确实,它可以通过使用由比特流分析器从比特流提取的以下信息来产 生:(a)切片标头、(b)画面类型、(c)宏块类型、(d)时间预测宏块的 参考指数。

此外,在探测器装置中的分开的解码器将收到的比特流解码,并且重 构画面被储存在缓冲器中。缓冲器的尺寸应当足够大来解决可能由STB 引起的延时。令最大预测的延时为d(以秒计),并且令f是视频序列的帧 率。那么,缓冲器应当能够存储总共Nrec=d·f个帧。

在第二步骤中,将处理视频序列与缓冲器中的每一个重构的图像相比 较。此比较的目的是从缓冲器的重构画面组中基于以下式来找到匹配帧 n*

n*=argminnΣi=0M-1Σj=0N-1|F(x,y,t)·I(x,y,n)-F(x,y,n)·I(x,y,n)|…式(3)

其中F’(x,y,t)是在所检查的处理视频画面的t帧的(x,y)位置的像素值, 并且F(x,y,n)是在重构画面的缓冲器中的第n帧的相同位置的像素,n=0、 1…、Nrec。为了排除受到包丢失影响的那些像素并且保证匹配处理被限定 于那些更可能在两个画面之间更相似的像素,采用将各个画面的像素值与 错误传播图相乘。还应当注意,可以使用例如均方差的任何类似的函数来 代替这里使用的用于最小化的具体函数(称为绝对差之和,SAD)。

在完成匹配处理之后,从重构画面的缓冲器去除匹配帧n*,并且该 匹配帧和与它相应的比特流部分一起被进一步采用,以例如用作负责混合 视频质量评估的模块的输入。

下面将描述在视频比特流和解码视频序列之间的同步的第二实施方 式。

在本发明的第二实施方式中,通过分析比特流、提取用于受到包丢失 的影响的各帧的区域的信息以及随后检查在处理视频序列中是否出现了 相同样式的错误,来进行在比特流和处理视频序列之间的同步。全部过程 的框图在图3中示出。

在第一步骤中,如以上在第一实施方式的上下文中所定义的,在探测 器装置中的比特流分析器处理并且分析比特流,从而(对于各个帧)产生 错误图I(.,.,.)以及因此产生的受到包丢失的影响的像素组A。如下文 所解释的,Nrec个帧的错误图被储存在缓冲器中,使得它们随后可以与处 理视频序列的相应的错误图匹配。

在以下步骤中,如以上在第一实施方式的上下文中所定义的,估算了 由于包丢失而被损伤的处理视频序列的当前画面的宏块并且产生了错误 图IPVS(…)和组APVS。接着,估算错误图IPVS(…)的像素的轮廓。用 于估算当前画面的被损伤的宏块和属于这些宏块的像素的轮廓的方法超 出了本发明的范围,因此可以使用技术人员已知的任何方法,例如,在 G.Valenzise等的“Estimating channel-induced distortion in H.264/AVC video without bitstrean information,”QoMEX,2010中提出的方法。

将处理视频序列的轮廓的边缘与先前储存在缓冲器中的错误图的轮 廓的边缘相比较。如果轮廓的匹配被限制在由错误图所定义的区域内,也 就是属于组A的像素,那么就不考虑从处理视频序列检测到的轮廓的边 缘。因为通常还存在对被检测为错误的区域和来自处理视频序列的被检测 为错误的相应的区域轻微的曲解,所以搜索的区域增加了k个像素从而确 保由解码器所检测到的轮廓的边缘不小于在处理视频序列中检测到的轮 廓的边缘。在本实施方式中,k被选择为等于5。然而,也可以选择任何 的其他值。

因此,产生了属于检测到(如上文所述地增加)由于包丢失所致的轮 廓边缘的区域的像素组APVS,并且错误图IPVS被产生。令IPVS(x,y,t)表示在 位置(x,y)的第t个处理视频序列画面的错误图值,x=1、2、…、M,并且 y=1、2、…、N,其中M、N分别是视频序列的各帧的水平和垂直尺度。 那么:

IPVS(x,y,t)=1,(x,y)APVS0,(x,y)APVS式(4)

在第三步骤中,将处理视频序列的当前画面的错误图与储存在缓冲器 中的每一个错误图(通过分析在第一步骤中的比特流而产生的)相比较。 此比较的目的是从缓冲器中的重构画面组中找到匹配帧n*,该匹配帧基于 以下式而与处理视频序列的当前画面相匹配:

n*=argminnf(I(x,y,n),IPVS(x,y,t))式(5)

其中IPVS(x,y,t)是在所检查的PVS的错误图的t帧的位置(x,y)中 的值,并且I(x,y,n)是在对应于第n帧的错误图的同样的位置中的像素, n=1、2、…、Nrec

最终,结合了来自比特流和处理视频序列的信息以估算视频序列的质 量的混合视频质量评估模块可以如图3中所示地被呈现。

函数f(.,.)是可以用于基于轮廓样式匹配而确定在两个错误图之间 的相似度的函数。基于轮廓的样式匹配算法在本发明的范围之外,并且可 以使用任何相关的方法,例如,T.Adamek和N.O’Connor的在Multimedia Information Retrieval,2003中的“Efficient contour-based shape representation and matching”可以被用于此目的。

以下,将描述根据本发明的另一实施方式的在比特流和加密的视频序 列的解码画面之间的时间同步。

当视频序列被加密并且仅用于比特流的可用信息可以从包标头提取 时,帧同步的问题变得更加明显。可以只基于检验包标头而从比特流提取 的参数是各帧的尺寸和类型。

以基于帧的特征匹配为基础的同步

用于在视频比特流和加密的视频序列的解码画面之间同步的方法的 第一实施方式处理比特流中没有包丢失的情况并且在图4中示出。

在第一步骤中,视频比特流被供给至负责分析包标头信息以及计算帧 的尺寸和类型(内部、预测或双向预测)的模块。用于基于加密的视频的 帧的尺寸来提取其类型的方法超出了本专利的范围。例如,可以使用在本 说明书的结尾描述的方法。

在第二步骤中,为了提取代表视频帧中描绘的内容的(例如,时变的) 特征而使用了关于帧尺寸和类型的信息。明显地,因为负载信息由于加密 而不可用,所以可以估算的只有内容类型(content class)的近似。用于基 于帧尺寸和帧类型来估算内容类型的方法超出了本发明的范围。可以使用 为此目的任何可用的方法,例如,A.Clark的“Method and system for content estimation of packet video streams,”WO2009/012297A1。

类似地,从处理视频序列提取内容的类型和代表内容的各特征。因为 本发明只关注在比特流和处理视频序列之间的同步方面,所以用于从画面 提取特征(在像素域中)和检测内容类型的方法不在本发明的范围内。

在第三步骤中,将从处理视频序列的当前画面中提取的特征与从由包 标头分析模块分析的帧中提取的特征相匹配。应注意,关于与检查中的当 前PVS相对应的比特流部分的相应特征和同步信息可以被用作负责视频 质量评估的模块的输入。如图4中所示,可以提出将来自比特流和处理视 频序列的信息结合从而评价视频序列的质量的混合视频质量评估模块。

基于包丢失事件触发的时间同步

在本发明的此实施方式中,假设比特流和处理视频序列在没有错误 (例如,由于包丢失)发生时基于先前的分段中描述的方法来同步,并且 考虑在检测到包丢失时需要同步的情况。

在第一步骤中,视频比特流被供给至负责分析包标头信息、计算帧的 类型和检测受到包丢失影响的帧的模块。全部的帧的类型都被检测并且因 此确定包丢失传播至其后续帧或由于预测处理而没有传播至其后续帧。

在以下步骤中,检测处理视频序列的当前画面的可能由于包丢失而产 生的扭曲。需要注意,该算法应当能够在由包丢失而引起的扭曲和作为原 始视频序列的有损压缩的结果而产生的扭曲之间分类。用于扭曲的检测和 分类的算法超出了本发明的范围。例如,在G.Valenzise等的“Estimating channel-induced distortion in H.264/AVC video without bitstream information”QoMEX,2010中的方法能够被用于此目的。

在第三步骤中,执行了将处理视频序列与比特流的相应帧的匹配。如 果处理视频序列的当前画面被检测为包含作为包丢失的结果而被引起的 扭曲,那么将该画面与被发现(在最初的步骤中)包含包丢失的帧所对应 的比特流部分相匹配。

最终,计算同步信息(即,PVS的当前帧连同与其相应的视频比特 流部分)。该信息可以作为负责评估视频质量的模块的输入而被转发。

在以上介绍性的部分中提及的现有技术考虑了在两个视频序列之间 时间同步的问题,该问题可能是由于视频序列在错误的网络上的传输或序 列的处理而导致的帧跳过、重复、删除、置乱和数据压缩而产生的。相反, 本发明只考虑将处理视频序列与在终端用户侧的比特流同步,并且因此, 同步丢失的仅有的来源是由解码器装置和比特流分析器所引起的延时以 及由解码器(STB)和在探测器装置内的解码器应用的不同错误隐藏技术。

以下,描述了如上所述的用于基于加密视频的帧的尺寸而提取这些帧 的类型的方法。

在第一步骤中,估算或计算各视频帧的比特数。不同的方法可以适用 于执行此任务。例如,可以利用在传输层中的特定时间戳的变化来检测新 帧的起始,或者可以采用在标头结构中的用于通报新帧的某些比特。一般 地这些比特流特性即使在加密比特流中也是可用的。因此,帧尺寸可以是 计算出的精确的字节或估算得足够好以进行以下步骤。

在第二步骤中,扫描视频比特流直到下一个I帧被发现为止,I帧的 发现表示下一个GoP的开始。

在非加密的流中,可以通过观察视频帧的标头来找到下一个I帧(如 所有的帧类型)。在加密的流中,或如果帧的边界出现在负载内的某处未 知点,那么可以改为访问将I帧标记为“随机访问点”的某些旗标。如果 为了某些原因这些旗标没有出现,那么仍然可以使用对遇到帧的尺寸的分 析来检测I帧,这是因为它们的尺寸通常远大于P帧和B帧的尺寸。

在第三步骤中,在下一个I帧以前的所有后续视频帧的以字节计的尺 寸将在特定的数组中获取直到遇到下一个I帧为止,并且因此而完成GoP。

在第四步骤中,这些数组将被匹配至代表典型GoP结构的多个预定 义的样式。最佳匹配关联于将在以后的步骤中用作随后的GoP的原型并且 因此能够使进入帧的帧类型的先验估算容易的具体的GoP结构。

对于后续的GoP来说,可以重设帧尺寸的数组从而只使用当前GoP 的数据,或者将特定数量的先前GoP的帧尺寸相加来获得平均值。在后者 的情况下,可能需要额外的数组来注明在数组的元素中相加的帧尺寸值的 数量。可选地,可以通过应用以下代码来计算移动平均值:

for(all frames n within the current GoP)

FrameSizeArray[n]=(M-1)/M*FrameSizeArray[n]+1/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....

如果正确地检测到,那么形成独特的样式将允许在甚至加密的流中的 帧和域编码之间的判定。这里应注意,在域序列中时常只有关键帧的第一 域实际上被编码为内部域。关键帧的第二域可以是预测的域。在以上的注 解中这将会导致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结构 中,第一个I帧以显示顺序(正在关闭之前的GOP的那些)在领先于其 的B帧之前传输。以上示例以闭合GoP的形式示出。以开放GoP的形式 的相同的示例将类似于:

b-2,b-1,I0,b2,b3,P1,b5,b6,P4,...    显示顺序(开放GoP)

I0,b-2,b-1,P1,b2,b3,P4,b5,b6,...    比特流顺序

b-3,B-2,b-1,I0,b3,B2,b4,P1,b7,B6,b8,P5,...  显示顺序(开放GoP)

I0,B-2,b-3,b-1,P1,B2,b3,b4,P5,B6,b7,b8,...  比特流顺序

其中,最先的两个(三个)B帧(这里以粗字母标记)属于之前的 GoP,它们在当前的GoP的I帧之后传输。

如可以容易地看到的,比特流顺序和由此导致的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中,视 频、音频和其他的信息被复用在单独的流中。各个复用的包具有包括小 TS标头的188字节的尺寸。一个RTP包携带7个这种TS包,因为属于 特定的子流,所以这些TS包由所谓的“程序ID”来标记。这些子流中的 一个是待分析的视频。即使在加密的流中,TS标头也通常不加密并因此 可以被访问。它们允许帧尺寸的精确测量。在RTP包丢失的情况下,可以 利用在TS标头中的所谓的“连续性计数器”来分别对各个子流对特定的 RTP丢失计算丢失的子流包的数量。因为TS包远小于RTP包并且(不在 罕见的填充的情况下)具有相同的负载尺寸,所以可以更准确地估算丢失 比特的数量。所提及的在TS标头中的连续性计数器只具有4比特。因此 可以检测出最多16个漏失的TS包。与已知数量的漏失的RTP包和对于 可以容易地计算的每个RTP包的TS子流包的平均数的值一起,可以估算 出对大于16个的丢失的TS包的准确估算。

由于RTP时间戳被同步至它们携带的视频帧的相对解码时间,所以 即使完全漏失的帧也可以被检测到,因为在这种情况下RTP时间戳将增加 连续的帧之间的差的一倍以上。

I帧的检测

为了开始分析,扫描比特流以找到标记新的GoP的起始的下一个I 帧的起始。可以以不同的方式来检测I帧。在非加密的流的情况下,基本 流的帧标头对于所有的视频帧都是容易访问的。视频帧标头明确地包含帧 类型。

如果视频作为RTP负载而直接携带,则帧标头应当始终出现在跟在 具有M比特的RTP标头设定为1的RTP包之后的每个RTP包的负载的第 一字节。如果帧标头也可以出现在RTP包的负载内,那么它们可以被容易 地搜索,这是因为它们含有唯一的比特序列。

在使用RTP之上的TS的情况下,可以利用在TS标头的适应域 (adaption field)中的所谓的“random_access_flag”。它通知过来的帧被编 码为I帧。即使在加密的流中,通常也不加密作为TS标头的一部分的适 应域。

一旦知道的帧的边界,则也可以凭经验来检测I帧。它们的平均尺寸 通常远大于P帧和B帧的尺寸。

一旦找到I帧的起始,则也找到了下一个GoP的起始。从该点起全 部后续帧的尺寸被以多种可能的方式聚集。在以下描述中该聚集处理持续 了完整的GoP,直到开始分析聚集的数据为止。在本发明的其他实施方式 中收集期可以具有不同的长度。

数据收集和样式匹配的第一实施方式

帧尺寸的一个长数组

在遇到当前GoP的最初的I帧之后,全部后续帧的帧尺寸被存储在 数组的元素中,而数组的指数等于在所述I帧之后的帧的数量。其优选地 在检测到通知待分析第一个GoP的末尾的下一个I帧之前完成。这样构建 的帧尺寸的数组是对样式匹配处理的输入,该样式匹配处理将此数组与典 型样式组相比较并且输出所估算的GoP样式和其他可应用数据。

如果所分析的比特流没有被加密,并且因此帧类型对算法已知,那么 可以用标准化的值来替换实际帧尺寸,例如‘1’用于非参考B帧,‘2’ 用于参考B帧并且‘4’用于P帧,其与实际帧尺寸用于同一目的,但是 不引入任何统计不确定性。

样式匹配

在本发明的实施方式中,帧尺寸的数组将被匹配至以‘0’为B帧并 且以‘1’为P帧的二进制样式。以上GoP结构的示例将因此被匹配至例 如以下样式:

0,0,1,0,0,1…  (具有开放GoP的I,b,b,P,b,b,P,结构)

1,0,0,1,0,0…  (具有闭合GoP的I,b,b,P,b,b,P,结构)

0,0,0,10,0,0,1…  (具有开放GoP的I,b,B,b,P,b,B,b,P,结构)

1,0,0,0,1,0,0,0…  (具有闭合GoP的I,b,B,b,P,b,B,b,P,结构)

在本发明的此实施方式中,“帧尺寸的数组”将因此也被转换为二进 制数组。在最简单的情况下,会使用单独的参考值来将所述数组的每个元 素的值替换为对于“小尺寸帧”的‘0’以及对于“大尺寸帧”的‘1’。 用于在“大”和“小”之间确定的参考值可以简单地为全部元素乘以>1 的因子的平均数。在可选的实施方式中,阈值可以是所有数组元素的中间 值或最小和最大的元素的加权组合或数组元素的其他组合。也可以对小数 量的帧尺寸值采用阈值。这可以通过将一个所描述的阈值的值改变因数或 相加项或仅从当前值的某些邻域中的帧尺寸值来计算该阈值来完成。

通常不使用数组中的最初几个值可以是合理的,这是因为在紧跟在I 帧之后的P帧和B帧时常具有不规则的小尺寸。

匹配处理

通常预先不知道GoP的长度。典型值是每1或2秒一个I帧,这导 致例如对于25帧/秒的典型帧率的25到50帧(或对于“域编码”样式的 50至100个域)的GoP长度。通常编码器具有场景剪切检测并且在每个 场景剪切位置上放置I帧。因此,如果遇到场景剪切,那么GoP可以具有 降至2或甚至1帧的任意尺寸。

对比于总长度,各个可能的GoP结构的基本样式是恒定并且短的(例 如,对于I,b,b,P…示例的0,0,1)。为了与完整GoP的元素匹配的目的, 需要重复这些简单的基本样式直到达到实际GoP尺寸位置。

在只应用二进制匹配的本发明的实施方式中,匹配处理其本身可以是 对于转换的帧尺寸数组的每个元素与连接的基本样式元素的简单的“同 (异或,exclusive nor)”操作。这些“同”操作的结果随后与所使用样式 的匹配分数相加。对于所有的可用预定样式都这么做。

获得最高分数的具体样式被认为是最佳匹配并且与其关联的GoP结 构、帧/域状态、开放/闭合状态随后被用于进一步分析。

在分级编码和传统B帧编码之间的区分

在最佳匹配GoP样式中估算了多于两个连续B帧的情况下,很可能 以如上所述的具有参考B帧的“分级编码”方法来编码帧序列。如果是这 种情况,那么很可能这些参考B帧具有以字节计的比非参考B帧(以上 标记为b帧)更大的帧尺寸。

为了无论使用分级编码或非分级编码都获得可靠的估算,可以无论对 于代表参考B帧的子集中的这些元素的帧尺寸是否显著大于所述子集中 表示B帧的所有其他元素,都检查连续的B帧(在两个P帧之间)的各 子集。在3个连续B帧的情况下它是第一子集元素,在5个连续B帧的 情况下它们是第一和第二子集元素。在7个连续B帧的情况下它们是第一、 第二和第三子集元素(按照解码顺序)。其他组合用于分级编码的可能性 很小。如果对于GoP的连续B帧组的大小该条件为真,那么可以假设是 分级编码。

对于具有多于3个B帧的样式,因为在没有分级编码的情况下的多 于三个的连续的B帧是极其不可能的,所以即使在没有上述测试的情况下 也可以假设是分级编码。

当序列被加密时或由于帧丢失而漏失帧标头时,将所得的估算出的 GoP结构应用于随后的GoP的帧导致对这些帧的帧类型的可靠估计。

虽然在附图和之前的描述中详细示出和描述了本发明,但是该表示和 描述应当被认为是说明性或示例性的而非限制性的。应当理解,在所附权 利要求的范围内本领域的普通技术人员可以进行变形和修改。特别地,本 发明覆盖具有来自以上和以下描述的不同实施方式的特征的任意组合的 另外的实施方式。

此外,在权利要求中的用语“包括”不排除其他的元素或步骤,并且 模糊的冠词“一”或“一个”不排除多个。单独的单位可以完成权利要求 书中叙述的几个特征的功能。与属性或值相关的术语“基本上”、“大约”、 “约为”等还分别具体定义了确切的该属性或确切的该值。权利要求中的 任何参考标记都不应当被解释为对范围的限制。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号