视频图像中场景切换或相似图像的检测方法与算法的制作方法

文档序号:7950236阅读:265来源:国知局
专利名称:视频图像中场景切换或相似图像的检测方法与算法的制作方法
技术领域
本发明的实现方式整体涉及视频处理,尤其涉及检测场景切换(scene cut)。
背景技术
在特定应用中,视频编码与处理利用视频序列(场景,或者像片)中一个图像(帧或场)与下一个图像的相似度。例如,大多数对象保持相同,并且细微的差异是由于运动造成的。然而,视频编码与处理算法可以由于存在场景变化或场景切换而中断或降低品质。例如,在视频编码中,如果场景改变,则必须开始新的一组图像(一些图像是从在该组中先前的多个图像中预测得到的)。如果场景和图像内容出现快速、猛烈的变化,则包含运动检测的视频处理可能不起作用。期望一种检测机制,其输出可以用作这种算法的控制信号。


并入该说明书、并构成该说明书一部分的附图示出了根据本发明的原理的一个或多个实现方式,并且与说明书一起解释了这些实现方式。附图的目的不在于定出尺度,而是将重点放在图示本发明的原理上。在附图中图1示出了并入了检测器的示例性的基于块的编码系统;图2示出了沿着边缘的平均亮度的示例图;图3示出了图1的检测器所使用的梯度游程(gradient run)函数的示例图;以及图4是示出了检测场景切换或相似图像的过程的流程图。
具体实施例方式
以下的详细描述参考了附图。相同的参考数字可以在不同的附图中使用,以标识相同或相似的元件。在以下描述中,为了解释而不是为了限制,提出特定的细节,例如特定结构、构造、接口、技术等等,以便对要求权利的本发明的各个方面提供全面的理解。然而,受益于本公开的本领域技术人员将会清楚的是,要求权利的本发明的各个方面可以在脱离这些具体细节的其他示例中实现。在特定实例中,省略了对已知设备、电路和方法的描述,以便本发明的描述不被不必要的细节所掩盖。
图1示出了示例性的基于块的编码系统100,其包括用于检测场景切换或相似图像的检测器102,以及视频编码/处理模块104。输入图像序列104被施加到视频编码/处理模块104。输入图像序列104可以是已经被划分为多个块(例如块108)的经过预处理的图像。这些块顺序地作为输入提供给视频编码/处理模块104。
基于块的视频编码系统,例如运动图像专家组(MPEG)视频编码标准(ISO/IEC国际标准13818-2,通常称为“MPEG-2”),利用了图像序列中的图像之内(帧内)和图像之间(帧间)的空间和时间冗余。为了说明的目的,在此所述的基于块的编码系统100可以是MPEG-2编码器。本领域技术人员应该理解,本发明的各个实施例并非要将实现方式限制于MPEG解码器。而是,本发明的各个实施例可以在任何可应用的设备以及后处理模块中用于检测场景切换,所述设备包括但不限于MPEG-2,所述后处理模块诸如运动估计和相关功能(例如,扫描速度转换、运动补偿的去隔行、运动补偿的降低噪声)。在MPEG标准下,像素块通常称为宏块,例如16×16的像素块。本领域技术人员应该理解,术语宏块的目的是描述用于运动补偿的基础的任何大小的像素块。
诸如MPEG-2的编码系统利用了输入视频序列中的冗余,并将视频序列有效地编码为可传输的比特流。具体而言,在输入视频序列106中的顺序的多个图像108通常包含帧间的相似信息,即,在图像之间的成像场景变化非常微小。在场景变化(场景切换)之后,通常需要大量的比特来对场景变化之后的第一个图像进行编码。例如,在视频编码中,如果场景改变了,就必须开始新的一组图像(一些图像是从在该组中先前的多个图像中预测得到的)。如果场景和图像内容出现快速、猛烈的变化,则包含运动检测的视频处理可能不起作用。本发明的实施例提供了一种检测机制,其输出可以用作这种算法的控制信号。本领域技术人员应该理解,本发明的实施例并不限于检测场景切换。而是,该检测器也可以用在其他应用中,包括检测相似图像。对于检测相似图像,在一些实例中,对帧进行重复,以便与显示系统所使用的帧频相匹配。例如,如果原始内容是每秒25帧且显示器以每秒50帧工作,就要对帧进行重复,以便与显示速率相匹配。如果帧有重复,则重要的是将它们检测出来,以便不会对同一帧进行两次处理,从而实现更有效的过程。
在这种情况下,检测相同的帧是一种重要的应用。在一个实施例中,确定SAD或者和或者平方误差是否小于阈值。将该度量应用于帧或者场。具体而言,有时,当视频被隔行扫描时,还对场进行重复以便与显示速率相匹配,并且所希望的帧频不是原始速率的整数倍(例如,将电影素材从24fps转换为30fps)。
最初,从两个时间上连续的图像(场或帧)中提取出多个特征。不需要存储先前图像,而仅仅存储该组特征。这些特征与亮度和边缘信息相关,但是边缘信息可以使用称为梯度游程的简化方法计算得到。这些特征可以包括但不限于a.平均亮度-计算每个图像的平均亮度。每个图像的平均亮度可以通过对图像中的像素的全部或一部分(例如,每个其他像素)进行子采样来确定,并计算平均值。
b.在垂直边缘上的平均亮度-计算每帧垂直方向上所检测到的边缘处的平均亮度。当检测到垂直边缘时,检测沿着该边缘的平均亮度,以确定在垂直方向上检测到的图像边缘平均是亮还是暗。例如,图2示出了沿着边缘202的平均亮度204的示例图200。该垂直轴表示像素亮度,水平轴表示长度。
c.在水平边缘上的平均亮度-还计算每帧水平方向上所检测到的边缘处的平均亮度。
d.水平梯度游程(水平边缘)数量-确定水平边缘的数量或大致数量。为了方便,该值可以进行缩放。
e.垂直梯度游程(垂直边缘)数量-确定水平边缘的数量或大致数量。为了方便,该值可以进行缩放。
f.水平梯度游程的游程长度和-水平梯度游程是在水平方向上所检测到的边缘的近似值。将水平梯度游程长度加在一起。该长度是游程端点之间的距离。梯度游程长度的和小于或等于线的长度。为了方便,该值可以进行缩放。
g.垂直梯度游程的长度和-还将垂直梯度游程长度加在一起。为了方便,该值可以进行缩放。
h.最小亮度(除了0和255之外)-确定图像的最小亮度。
i.最大亮度(除了0和255之外)-确定图像的最大亮度。最小亮度和最大亮度提供了亮度的取值范围。
2.上述特征的平方误差和-确定上述特征的平方误差和。(在一些情况中,上述特征的绝对差之和就足够了)平方误差和可以用于确定一组特征与另一组特征有多大差异或有多相似,由此确定图像有多大差异或有多相似。
3.一种阈值比较操作,使得如果平方误差大于预定值,则已经发生了场景变化。如果所述差值超过预定值,则已经发生了场景变化。一种阈值比较操作,使得如果图像在视觉上相同,则平方误差低于预定值。在不涉及噪声时,在理想情况下将会获得零差值。
图3示出了图1的检测器所使用的梯度游程函数的示例图200。对于与边缘相关的特征,梯度游程可以用于检测边缘。梯度游程是边缘轮廓的分段线性近似值。具体而言,梯度游程是在单一方向上具有相同梯度(或者梯度在特定取值范围内)的多个像素集合。为了计算梯度游程,可以使用图像中的行或列。为了避免噪声,可以在计算梯度游程之前使用诸如高斯1D滤波器的低通滤波器。梯度游程可以是采用以下元素的5元组(对于水平梯度游程)<X1,X2,y,Z1,Z2>=HRyX1是游程的起始坐标,X2是游程的终止坐标,y是行索引、Z1/Z2是图像值f(X1,y)/F(X2,y)。
梯度游程的构造实质上是函数f的分段线性近似值。参考图3,示出了示意性图像的线302的曲线图,包括与线302相关的水平梯度游程。水平梯度游程是在水平方向上检测到的边缘。纵轴304表示像素亮度,横轴306表示长度。通常,对图像的线所计算的游程可以称为水平游程,对图像的列所计算的游程可以称为垂直游程。在水平/垂直游程中可以有上升游程(up-runs)和下降游程(down-runs),例如上升游程308和下降游程310。梯度游程的长度是所有长度308和310的总和。
直线是从左到右而构建的游程。示出了游程之一的元素(element)。对于要考虑的边缘,优选地具有在选定阈值之上的斜率。具体而言,游程检测使用阈值,因此,仅仅考虑比特定阈值更陡峭的边缘。为了说明的目的,使用阈值5,在线上示出4个游程。不考虑没有强梯度的平坦区域,例如312所示的区域。与整体平均亮度、最大亮度、以及最小亮度组合在一起的游程的平均亮度和所有游程上的平均亮度,是图像的多个典型特征。这些组合的特征通报了对比度信息。梯度游程可以是上升游程或下降游程,这两者之间的计算并没有区别,区别在需要最大可靠性的应用中。
游程的数量实际上是边缘的数量,游程的长度和(所有游程的x2-x1的和)指示边缘的范围。在对图像进行比较以便检测场景中的变化时,这些特征也是相关特点。在图4中的流程图示出了使用梯度游程的实际过程。该过程可以对整个图像进行,或者对在图像中的小区域进行,甚至可以仅仅在一个方向上进行(该工作用于场景切换检测,但于对于帧重复,则需要水平和垂直特征的组合)。
图4是示出了检测场景切换或相似图像的过程的流程图。尽管为了解释得简单和清楚,可以针对系统100而对图4进行描述,应该理解的是,过程400可以由图1所示的特定系统100之外的其他系统执行。
在步骤402,读取图像。图像可以以光栅形式读取。
在步骤404,对于图像中的每条水平线,执行步骤406到416。
在步骤406,计算局部平均亮度。计算每条水平线的亮度。当到达图像中最后一线时,将会知道全部亮度值。
在步骤408,使用滤波器对行进行模糊。对于该目的采用诸如1D高斯滤波器之类的滤波器,但是其不是在所有应用中都是必要的。
在步骤410,计算梯度游程。
在步骤412,计算水平梯度游程数量。
在步骤414,计算梯度游程的平均亮度。
在步骤416,计算该梯度游程的长度。
在步骤418,计算在所有线上的平均亮度、最小亮度和最大亮度。
在步骤420,计算所有水平梯度游程上的平均亮度。
在步骤422,计算总的水平梯度游程长度。例如,如果一条线有两个边缘,则计算两个梯度游程的长度,并加到下一线的长度上,下一线也是如此。
在步骤424,计算水平梯度游程的总数量。
在步骤426,对于垂直梯度游程,使用垂直线来计算在所有垂直梯度游程上的平均亮度、总的垂直梯度游程长度以及水平梯度游程的总数量。在典型的实现方式中,对图像进行再次扫描,以确定与这些垂直线相关的特点。读取图像的多个部分并追踪累积值提高了计算效率,并避免了对图像进行两次读取或使用大的存储缓冲器(例如,通过碎片(tile)或者条纹(stripe)来处理图像)。本领域技术人员将会理解,可以使用水平值或者垂直值来检测场景切换。例如,可以仅仅使用水平值。对于额外的精度,可以使用水平值和垂直值两者。
在步骤428,可以对以下值进行归一化水平梯度游程数量、垂直梯度游程数量、水平梯度游程长度和、以及水平梯度游程长度和在步骤430,将所确定的值存储在特征矢量中。
在步骤432,距离度量可以计算为各个特征矢量相对于先前图像的平方误差和。在从两个时间上连续的图像(场或帧)中提取的一组特征被确定之后,得到上述特征的平方误差和。如果平方误差高于特定阈值(例如1000),则已经发生了场景改变。在典型实现方式中,场景检测器采用离线模式工作,为每个所读入的图像计算特征组,并相对于先前图像的各个特征(其可以存储在本地存储器中)计算平方误差。在一些实例中,可以生成二进制信号,并将其发送到需要它的模块。
本发明的实施例是高度可伸缩的。可以降低复杂度并伴随着适度的品质下降(在性能上仅仅有逐步的损耗)。例如,为了降低成本(或者计算复杂度),可以仅仅使用水平游程或者仅仅使用垂直游程。对于相似图像的检测而言,可以使用垂直特征和水平特征的减少的组合。可以仅使用在一个方向上的游程(例如上升游程或者下降游程)来进行线处理。另外,本发明的实施例可以仅仅应用于图像的多个部分(连续部分或者类似棋盘图案的任何其他部分)。例如,其可以被应用于图像的多个部分(例如图像的1/2或1/3)而不是整个图像。此外,可以使用所述特征的子集。例如,在一些实现方式中,可以使用9个特征中的3个特征来获得可行的解决方案,该方案仍然是节约成本的。
对于一个或多个实现方式的以上描述提供了图示和说明,但是并非是要穷举或者将本发明的范围限制在所公开的精确形式上。根据上述教导可以进行各种修改和变型,或者可以从本发明的各种实现方式的实践中获得各种修改和变型。
此外,在图4中的步骤不必按照所示的顺序实现;也不是必须要执行全部步骤。此外,不依赖于其他步骤的那些步骤可以与其他步骤并行执行。此外,在该图中的至少一些步骤可以实现为在机器可读介质中实现的指令或指令组。
除非明确的进行说明,否则在本申请的说明书中所使用的元素、步骤、或者指令不应该被构建为对本发明而言关键的或者必须的。同时,如在此所用到的,冠词“一个”目的是包括一个或多个对象。在实质上不脱离本发明的精神和原理的情况下,可以对要求权利的本发明的上述实现方式进行各种改变和修改。在此意欲将所有这些修改和改变包含在本公开的范围中并受到所附权利要求的保护。
权利要求
1.一种用于检测视频序列中的场景切换的方法,包括接收视频序列中的多个图像;从两个时间上连续的图像中提取一组特征;计算所述特征组相对于先前图像的特征的平方误差和;确定所述平方误差和是否超过预定阈值;以及响应于所述平方误差和超过所述预定阈值,检测场景变化。
2.如权利要求1所述的方法,还包括生成指示场景变化的信号,并将其发送到处理设备。
3.如权利要求1所述的方法,其中,从两个时间上连续的图像中提取一组特征的步骤还包括提取平均亮度、在选定方向的边缘上的平均亮度、在所述选定方向上的梯度游程的数量、在所述选定方向上的梯度游程的长度和,最小亮度、以及最大亮度。
4.如权利要求3所述的方法,其中,从两个时间上连续的图像中提取一组特征的步骤还包括提取在第二选定方向的边缘上的平均亮度、在所述第二选定方向上的梯度游程的数量、以及在所述第二选定方向上的梯度游程的长度和。
5.如权利要求1所述的方法,其中,从两个时间上连续的图像中提取一组特征的步骤还包括从两个时间上连续的图像的一部分中提取一组特征。
6.如权利要求1所述的方法,还包括存储从两个时间上连续的图像中提取的所述特征组,而不是存储所述图像。
7.一种用于检测视频序列中相似图像的方法,包括接收视频序列中的多个图像;从两个时间上连续的图像中确定多个特征;确定所述多个特征相对于先前图像的特征的误差;确定所述误差是否超过预定阈值;以及响应于所述误差超过所述预定阈值,确定所述图像是否相似。
8.如权利要求7所述的方法,其中,确定所述多个特征相对于先前图像的特征的误差的步骤还包括将所述误差或者确定为所述多个特征相对于所述先前图像的所述特征的平方误差和。
9.如权利要求1所述的方法,其中,从两个时间上连续的图像中确定多个特征的步骤还包括确定平均亮度、在选定方向的边缘上的平均亮度、在所述选定方向上的梯度游程的数量、在所述选定方向上的梯度游程的长度和,最小亮度、以及最大亮度。
10.如权利要求9所述的方法,其中,从两个时间上连续的图像中确定多个特征的步骤还包括确定在第二选定方向的边缘上的平均亮度、在所述第二选定方向上的梯度游程的数量、以及在所述第二选定方向上的梯度游程的长度和。
11.如权利要求7所述的方法,其中,从两个时间上连续的图像中确定多个特征的步骤还包括从两个时间上连续的图像的一部分中确定多个特征。
12.如权利要求7所述的方法,还包括存储从两个时间上连续的图像中提取的所述特征组,而不是存储所述图像。
13.一种装置,包括控制器,用于检测视频序列中的相似图像,其包括接收视频序列中的多个图像;从两个时间上连续的图像中确定多个特征;确定所述多个特征相对于先前图像的特征的误差;确定所述误差是否超过预定阈值;以及响应于所述误差超过所述预定阈值,确定所述图像是否相似。
14.一种系统,包括检测器,用于接收视频序列中的多个图像;从两个时间上连续的图像中确定多个特征;确定所述多个特征相对于先前图像的特征的误差;确定所述误差是否超过预定阈值;响应于所述误差超过所述预定阈值,确定所述图像是否相似,并且生成指示场景变化的信号;以及处理设备,用于接收指示场景变化的所述信号。
15.一种包含指令的机器可访问介质,当执行所述指令时,使得机器接收视频序列中的多个图像;从两个时间上连续的图像中确定多个特征;确定所述多个特征相对于先前图像的特征的误差;确定所述误差是否超过预定阈值;以及响应于所述误差超过所述预定阈值,确定所述图像是否相似。
16.如权利要求15所述的机器可访问介质,其中,用于确定所述多个特征相对于先前图像的特征的误差的指令还包括在被执行时使得机器执行以下操作的指令将所述误差或者确定为所述多个特征相对于所述先前图像的所述特征的平方误差和。
17.如权利要求16所述的机器可访问介质,其中,用于从两个时间上连续的图像中确定多个特征的指令还包括在被执行时使得机器执行以下操作的指令确定平均亮度、在选定方向的边缘上的平均亮度、在所述选定方向上的梯度游程的数量、在所述选定方向上的梯度游程的长度和,最小亮度、以及最大亮度。
18.如权利要求17所述的机器可访问介质,其中,用于从两个时间上连续的图像中确定多个特征的指令还包括在被执行时使得机器执行以下操作的指令确定在第二选定方向的边缘上的平均亮度、在所述第二选定方向上的梯度游程的数量、以及在所述第二选定方向上的梯度游程的长度和。
19.如权利要求16所述的机器可访问介质,其中,用于从两个时间上连续的图像中确定多个特征的指令还包括在被执行时使得机器执行以下操作的指令从两个时间上连续的图像的一部分中确定多个特征。
20.如权利要求16所述的机器可访问介质,还包括在被执行时使得机器执行以下操作的指令存储从两个时间上连续的图像中提取的所述特征组,而不是存储所述图像。
全文摘要
一种用于检测视频序列中的场景切换和相似图像的方法,包括接收视频序列中的多个图像;从两个时间上连续的图像中提取一组特征;计算所述特征组相对于先前图像的特征的平方误差和;确定所述误差是否超过预定阈值;以及响应于所述误差超过所述预定阈值,检测场景变化,并且确定所述误差是否小于特定阈值,由此检测到已经找到相似图像。
文档编号H04N5/12GK101088280SQ200580044322
公开日2007年12月12日 申请日期2005年12月21日 优先权日2004年12月23日
发明者J·卡维德斯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1