检测视频数据流中卡通的方法和系统 本发明涉及视频数据的检测,更具体地说,涉及检测共用视频数据流中的卡通。
通过自动手动的手段,在视频数据信号中识别特定类型的节目,即,卡通、动画、商业广告等,从开始有数字媒体以来就一直是个挑战。
通常,为检测其内容目的而分析视频数据涉及检查视频信号,所述信号可能已被编码。编码(本例中涉及视频信号的压缩,以便存储或传输)及随后的解码是众所周知的。视频压缩标准之一是MPEG,它代表“运动图像专家组”。MPEG是个ISO组织,即国际标准化组织。目前,“MPEG视频”实际上包括两个最后确定的标准,MPEG-1和MPEG-2,第三个标准,MPEG-4正处在最后确定的过程中。
MPEG视频压缩被用于许多当前和正在出现的产品中。MPEG是数字电视机顶盒、DSS、HDTV解码器、DVD重放机、视频会议、因特网视频及其他应用的核心。这些应用从视频压缩中得到的好处有:为取得视频信息需要较少地存储空间、从一点到另一点的视频信息传输需要较少带宽、或两者的结合。
颜色通常由3个颜色成份来表示—红(R)、绿(G)及蓝(B),但在视频压缩世界中,它由亮度和色度成份来表示。对人的视觉系统的研究显示,人眼对亮度的变化比对色度的变化更加敏感。MPEG操作的色彩空间有效地利用了人眼对亮度和色度信息的不同敏感度。这样,MPEG使用YcbCr色彩空间来表示数据值,而不使用RGB,其中Y是亮度成份,实验上确定为Y=0.299R+0.587G+0.114B,Cb是蓝色差成份,其中Cb=B-Y,Cr是红色差成份,其中Cr=R-Y。
MPEG视频被分成多个层次,以有助于错误处理、随机搜索和编辑及同步,例如对于音频比特流。第一层(或顶层)被称为视频序列层,它是任意自包含的比特流,例如编码的电影、广告或卡通。
在第一层下面的第二层是图片组(GOP),如图1中所示,它由一组或多组内部(I)帧和/或非内部(P和/或B)图片所组成。I帧被严格地帧内压缩。其目的是提供视频的随机访问点。P帧是运动补偿前向预测编码帧。它们被帧间压缩,通常提供比I帧更大压缩。B帧是运动补偿双向预测编码帧。它们是帧间压缩,并且通常提供最大压缩。
第二层下面的第三层是图片层本身。第三层下面的第四层称为片层。每片为相连序列的光栅定序宏块,在典型视频应用中最通常是以行为基础。片结构意在允许存在错误的解码。每片由宏块组成,后者是16×16的亮度像素(或图片数据元素)阵列,有两个相关色度像素的8×8阵列(取决于格式)。这些宏块还可进一步划分成不同的8×8块,供进一步处理诸如变换编码,如图2所示。当引用YCbCr色彩空间时,宏块可以用几种不同方法表示。一般使用的三种格式是4:4:4;4:2:2;以及4:2:0视频。4:2:2包含的色度信息是4:4:4的一半,后者是全带宽YCbCr视频,而4:2:0包含四分之一的色度信息。如图3所示,因为具有有效的亮度和色度表示方式,4:2:0表示法允许数据立即从12块/宏块减少到6块/宏块。
因为图像中相邻像素之间具有很高的相关性,所以使用了离散余弦变换(DCT)来将随机性浓缩为较少的不相关参数。DCT将信号分解为基本的空间频率,这允许使用进一步的处理技术来减少DCT系数的精度。DCT和逆DCT变换操作分别由公式1和公式2来定义:
F(μ,v)=14C(μ)C(v)Σx=07Σy=07f(x,y)cos[(2x+1)μπ16]cos[(2y+1)vπ16]]]>
C(μ)=12forμ=0]]>
C(μ)=1forμ=1,2,...,7]]>[公式1]
f(x,y)=14Σμ=07Σv=07C(μ)C(v)F(μ,v)cos[(2x+1)μπ16]cos[(2y+1)vπ16]]]>[公式2]
如图2所示,首先使用DCT将块从空间域变换为频域,它将信号分离为独立的频带。在系数矩阵左上角的较低频DCT系数对应于较平滑的空间轮廓,而DC系数对应于整个块的实亮度或色值。并且,在系数矩阵右下角的较高频DCT系数对应于较精细的空间图案,甚或是图像内的干扰。此时,数据被量化。量化过程允许使用较多的比特编码高能、低频的系数,而使用较少或零比特编码高频系数。仅保留一个系数子集可以减少大量代表所需的参数总数目。量化过程还有助于编码器以特定比特率输出比特流。
利用两种特殊编码方案的组合对DCT系数编码:游程长度和霍夫曼。因为大多数非零DCT系数通常集中于矩阵的左上角,显然,如图2所示的折线扫描方式将使获得连续零系数的游程长度可能性最大化。
MPEG-2提供了一种可供选择的扫描方法,它可以由编码器以帧为基础选择,在隔行视频图像中显得有效。每个非零系数都与一对指针相关:首先,所述系数在块中的位置,这由它自身和前一个非零系数之间的零的数目来指示,其次是系数值。根据这两个指针,从查找表格中给出所述系数的可变长度码。这样做在一定程度上使得很可能的组合获得较少比特的代码,而不太可能的组合则获得较长的代码。但是,因为空间冗余有限,I帧仅能提供中等压缩。P和B帧则能使MPEG得到其最大压缩效率。所述效率是通过一种称为基于运动补偿的预测技术来实现的,所述技术利用了暂时冗余。因为帧之间紧密相关,所以假设当前图片可以作为前一时间图片的转换模型。然后可以根据前一帧的数据来精确地预计一个帧的数据。在P帧中,每个16×16大小的宏块都可从先前编码的I图片的宏块来预计。因为帧是运动对象在不同时间的快照,所以在两个帧中的宏块可能不对应于相同的空间位置。编码器将以半像素增量来搜索先前帧(P帧,或在B帧前后的帧),以得到接近于当前宏块中所含信息的其他宏块位置。同一位置的最匹配宏块在水平和垂直方向的偏移称为运动向量。若在相邻区域未发现匹配的宏块,则将所述宏块内部编码,并将DCT系数编码。若在搜索区域中找到了匹配块,则不发送系数,而代之以使用运动向量。在数据被破坏的情况下,还可以使用运动向量来进行运动预测,成熟的解码器算法可以使用这些向量来进行错误隐藏。对于B帧,使用在其任一侧的参照帧来进行基于运动补偿的预测和插值。
视频内容分析涉及用自动和半自动方法来抽取最能描述录制的材料内容的信息。抽取信息可以简单地如检测视频场景的变换并选择场景的第一帧作为代表帧。还可以将视频的标识存储在视频流的标题信息中。例如,在个人录像机领域,现已有机顶盒(STB)可以下载视频信息并将它存储在内部硬盘上。某些STB提供交互的屏幕上电子节目指南(EPG),类似于地方报纸或其他印刷媒体上看到的电视预告列表,但某些STB未提供。在没有EPG的情况下,要让STB知道观看者所观看的节目是否为电影、广告、新闻、卡通或其他电视节目非常困难。但是,若可以通过电脑化的自动过程来分析视频流的内容,则无需EPG就可以按内容来分割整个视频流。虽然有许多关于视频流内容分析的专利,但没有一个可以区分出卡通和其他类型的节目。例如,若观看者想要仅录制特定一天电视上播送的卡通,则他或她将仅能够选择特定时间段来录制,这样将不仅包括卡通,还包括其他无用的内容。
此外,即使有EPG,也无法精确地传达信息给观看者。节目安排的改变或特别节目中断将不会显示于EPG上。因此,要录制的卡通可能超过指定的时间段。
更加先进的STB具有检测观看者所观看的内容,并将所述信息发回给电视台的功能。根据所述抽取的数据将创建用户的个人资料,并根据用户的喜好来作出推荐。但是,所述电视推荐器系统过分依靠EPG或一种内容检测过程,所述过程不够精确和精密,无法检测卡通。
因此,本发明的一个目的是提供一种更加精确的系统和方法,用于检测视频数据流中的卡通序列。
在一个方面,提供一种方法,它包括以下步骤:获取视频数据流;从视频数据流抽取数据;根据表示典型卡通的至少一种预定特性的数据,计算至少一个第一值;将所述第一值中至少一个与表示自然视频序列的至少一种特性的第二值进行比较;根据比较结果确定视频数据流是否含有卡通序列。视频数据包括(但不局限于)从原始数据或编码的数据流抽取的视觉、声音、文本数据或低参数信息。
在另一个方面,提供一个检测卡通序列的系统,所述系统包括:用来接收视频信号的通信装置;能够存储视频信号的存储装置;在操作上与通信装置和存储装置相关联的处理器,所述处理器能够执行从视频信号抽取数据的步骤;根据预定的方法,确定视频信号中是否含有卡通序列;根据所述确定,产生要存储在存储装置中的输出。依照本发明的另一个方面,可以将视频信号编码。
以上及本发明的其他功能和优点将可通过以下某些很好的实施例的详细说明而了解,这些实施例须结合作为组成部分的附图来阅读,在几个附图中,相对应的部分和组件用相同的标号来标识。
现将参照下列图示来示例性地说明本发明的实施例,附图中:
图1是根据先有技术的MPEG视频序列的图解说明;
图2是根据先有技术,利用基于块的DCT和折线扫描的块内编码技术的图解说明;
图3是根据先有技术的各种视频格式的图解说明;
图4是根据本发明的一个实施例的卡通检测系统的说明性实施例的框图;
图5是说明根据本发明一个实施例的卡通检测方法的流程图;
图6是说明根据本发明一个实施例的“颜色直方图”检测方法的流程图;
图7是根据本发明的一个实施例的“颜色直方图”检测方法的图解说明;
图8是说明根据本发明一个实施例的“边缘图”检测方法的流程图;
图9是说明根据本发明一个实施例的“AC值”检测方法的流程图;
图10是说明根据本发明第二实施例的“AC值”检测方法的流程图;
图11是说明根据本发明一个实施例的“瞬时采样率”检测方法的流程图;
图12是说明根据本发明一个实施例的“剪辑速率”检测方法的流程图;
图13是说明根据本发明一个实施例的“颜色相似性剪辑速率”检测方法的流程图;
图14是说明根据本发明的第二实施例的“颜色相似性剪辑速率”检测方法的流程图;
图15是说明根据本发明一个实施例的“速度直方图”检测方法的流程图;
图16是典型的速度直方图的图解说明;
图17是说明根据本发明一个实施例的“帧签名”检测方法的流程图;
图18是块签名建立过程的图解说明;
图19是说明根据本发明一个实施例的“MAD值”检测方法的流程图;
根据图4中说明的本发明的最佳实施例,卡通检测系统包括:存储装置405,它接收视频信号400;以及连接到存储装置405的处理器410。视频信号400可能已经编码。视频信号400通常为模拟或数字格式,来自广播站或预先录制在存储媒体上,如CD、DVD、激光盘或其他能够存储编码的视频数据的媒体。编码标准可以是MPEG-1,2,4或其他数字方案(压缩或不压缩)。
视频信号400通常存储在存储装置405中,并传送给处理器410。处理器410分析视频信号400,并检测视频信号400是否含有卡通。若检测到卡通,则处理器410产生识别信号415,所述识别信号包含关于视频信号400的信息,即,指明那些特定帧作为典型的卡通的帧。随后,识别信号415被作为识别用途存储在存储装置中。或者,可以绕过存储装置405,把视频信号直接传送给处理器410,处理器在检测到卡通后将识别信号415传送给存储装置405。但在另一个可供选择的实施例中,识别信号不存储在存储装置中,而仅实时地传送给显示单元(图中未显示),以便提醒用户在其他电视台上播送些什么。
图5中举例说明根据本发明最佳实施例的卡通检测方法。为了检测视频数据流中的卡通,需要识别与自然视频相比较的典型的卡通特性,如图5中步骤500所示。术语“自然视频”指(但不限于)一般的视频信号,如影片或新闻广播。典型卡通的独特性可以分为视觉和声音特性。例如,典型卡通中的角色声音可以归结为不自然发声。使用短乐器的音响效果很响亮或人工噪声。视觉特性可以是动态和静态。视觉静态特性包括诸如统一颜色和界限分明的轮廓等特征。例如,典型卡通(特别是较旧的)是手绘的,具有明确确定的清晰边界,多数无浓淡处理,并有统一着色的拼图。简单的卡通具有简单的形状和色彩。
典型卡通的视觉动态特性包括诸如快动作和突然改变等特征。例如,在卡通视频序列中,部位动作包含许多高速节段,剪辑速率通常很高。另外,在瞬时采样率方面,卡通不同于其他类型节目。视频序列中的卡通被瞬时子抽样为每秒六帧。这会引起抖动感觉。动作看起来很突然。但是,低的帧速率有助于生产过程,因为每帧都是手绘的(旧经典卡通的情况),从而使过程成本不太高。对比之下,标准视频以每秒约24-30帧采样,看起来平滑了许多。
在识别了典型卡通的特征后,将从视频信号中抽取视频数据。视频数据包括(但不限于)从原始数据或编码数据流抽取的视频、声频、文本数据或低参数信息。所述信息代表着这些特征。例如,根据卡通整个帧的可假定颜色一致性,抽取整个帧的颜色分布,即每像素的颜色值。还可抽取每帧的AC值,它本质上对应于整个帧的对比度变化。为利用诸如界限分明的轮廓等特征,将从编码的视频信号中抽取产生边缘图所必需的全部低参数信息。其他信息(如帧速率、块速度、DC值等)可被抽取供多种卡通检测方法应用,这些方法基于了解的卡通特征。
最后,在抽取了低参数信息后,就可应用合适的卡通检测方法。这些方法利用了典型卡通的共知独特特征,从而能够检测视频数据流是否属于卡通。根据本发明的最佳实施例,将所有检测方法彼此组合使用,以提高检测过程的精确度。虽然某些检测方法(如瞬时采样率方法)本身就具有决定性,当彼此组合使用时,其他方法会更加精确。这样,虽然一个方法可能检测出卡通,另一个方法可能不行。因此,应组合所有方法并给予权重。
“颜色直方图”法
可以用直方图来表示图像的颜色分布,它的每个箱子对应于每种颜色成分的值的范围。对于8位的图像,颜色成分范围值将从0到255。
图6的流程图中所示的第一步骤(步骤600)计算编码视频流中每个I帧的颜色直方图。颜色直方图计算最高粒度,这意味着对于最大数目的箱子,即如果有256个可能的值,则直方图计算256个箱子。
另外,也可使用其他量化方案。颜色量化在计算视频直方图中通常是第一步骤。有多种颜色量化的方法,在本领域中众所周知。涉及的因素有:使用哪个颜色空间,选择多少颜色以及如何细分颜色空间。例如,对于Y也可以使用128个箱子,或对于Y、Cr、Cb缩减使用288根总箱子。有许多种可能的选择。作为示范目的,并因为MPEG在此空间起作用,所以整个都使用Y、Cr、Cb颜色空间。或者,可以使用HSB(色调、饱和度、亮度)颜色空间来定义基本颜色箱子。为了滤掉任何干扰,接着可以执行平滑化操作,但这不是必需的。图像平滑化是一套局部预处理方法,它通过使用图像数据中的冗余来达到消除图像中的干扰或其他小波动的目的,类似于频域中的高频抑制。对于本专业的技术人员来说,应该知道多种图像平滑化技术。
在步骤605,标识颜色直方图中的主要峰值。通常,主要峰值定义为:其中一个的半最大值全宽度(FWHM)大于10但小于60。对于标准视频,通常没有主要峰值,如图7A所示,或者仅有一到两个主要峰值,并且直方图扩展到整个频谱。即使有一或两个主要峰值,但因为场景改变,并且直方图倾向于随时间变化很大,它们不会出现很久。
另一方面,对于卡通,如图7B所示,有4-5个主要峰值并且直方图不扩展,即几乎90%的像素处于整个频谱的50%或更小区域中。这种有限的扩展通常持续在卡通的整个持续时间里。
在步骤610,计算出连续的主要峰值之间的平均距离,随后在步骤615计算具有主要峰值的总箱子数。若有许多主要峰值,特别是如果它们互相挨着,则在步骤625重新采样这些箱子。为示范目的,从图7B至7C说明了子抽样步骤。
若目标I帧的颜色直方图中主要峰值的数目多于自然视频颜色直方图中主要峰值的数目,则将目标I帧索引为电视卡通帧。
这通常意味着,若目标I帧的颜色直方图中主要峰值的数目大于或等于两个且小于十个,并且直方图集中在频谱的有限部分,则目标I帧属于视频流的卡通部分。此评估在步骤630作出。检测卡通的下一个决定性因素是连续的主要峰值之间的平均距离。在典型的卡通中,主要峰值更加分散开。因此,如步骤635所示,若目标I帧的颜色直方图中连续的峰值之间的平均距离大于标准视频I帧颜色直方图中连续的峰值之间的平均距离,则根据“颜色直方图”方法,指明目标I帧为电视卡通帧。
“边缘图”法
“边缘图”法试图检测手绘的黑笔型边界,这是卡通的特征。有多种本领域中人们熟悉的技术用于检测自然图像中的边缘。基本方法是检测图像Y成份强度的突然变化。这些技术对于卡通更加简单,因为所述边界通常是界限分明的,具有最小的浓淡处理。
边缘检测是图像处理中的基本操作。其目的是确定图像中对应于强度(灰度)变化大的区域。前提假设是,这些强度变化的轨迹对应于“有意义”的图像信息,如人脸的轮廓形状。边缘检测用两个步骤实现:(i)局部操作;(ii)全局操作。局部操作涉及运用掩码,它们近似于数字域中的带通算符。这些掩码实现局部区域中图像强度的差异。全局操作对于将应用局部操作结果得到的图像转换为二进制图像是必要的;后一图像代表边缘图,即对应于大强度变化轨迹的区域。边缘检测有许多不同方法。例如,通常用于数字实现的一类基于梯度的算符:Roberts、Prewitt、Sobel及各向同性算符。诸如Canny和Marr-Hildreth的边缘检测技术也是所述领域中众所周知的。
因此,如图8中所示,第一个步骤(800)是计算视频数据流I帧亮度分量的边缘图,它运用标准算法中使用的所有预/后处理。I帧的Y成分是个灰度图像,它的强度范围通常在数字域中的0至255。第一个预处理步骤之一是使图像平滑,然后应用梯度算符。梯度算符基于图像函数的局部导数。在图像函数历经迅速变化的位置导数较大。梯度算符的目的是指示图像中这样的位置。不同于平滑化,梯度算符具有与抑制频域中低频相似的效果。干扰本质上通常是高频的,不幸的是,若将梯度算符应用于图像,干扰电平也会同时增加。因此,平滑化和梯度算符具有互相冲突的目的。有些预处理算法解决了这一问题,允许平滑化和边缘同时提高。因此,应用了卷积掩码(如高斯卷积掩码)后,可以应用导数算符,如拉普拉斯算子(公式3)。拉普拉斯算子在所有方向上都具有相同属性,因此对于图像的旋转保持不变。
▿2(x,y)=∂2g(x,y)∂x2+∂2g(x,y)∂y2]]>公式(3)
这些运算的结果是边缘检测算符。进行了预处理步骤之后将进行后处理步骤,它可包括图像的边缘链接及二进制化。
下一步骤805涉及为同一I帧计算亮度分量低于预定阈值(例如20/10)的所有像素,以编确定暗/黑色像素。在步骤810计算颜色直方图,这相当于步骤600。同样,在步骤815标识主要峰值,并在步骤820为每个主要峰值的图像像素加索引。颜色直方图被用来确定具有一致颜色的图像区域。这些区域可以被分割,并可确定其边界。因此,从步骤820可以确定具有一致颜色的区域(步骤825)。但不是所有像素通常都符合颜色直方图的主要峰值所产生的分割模式。因此,为包含所有像素,在具有一致颜色的区域上执行区域生长,直至到达边界(检测到的边缘)。区域生长是图像分割的一般技巧,其中利用了图像特征来将相邻像素组合在一起以形成区域。各种各样的区域生长算法是本领域中众所周知的。跟随区域生长之后,为具有一致颜色的每个区域计算边缘图(步骤830)。为了产生更加精确的估计,于是将来自步骤800(使用算符的边缘图)、820(使用主要峰值中像素的边缘图)及830(基于区域生长的边缘图)的边缘图组合起来,即将它们互相比较(步骤835)。在步骤840,计算步骤835中估计的一致颜色区域的平均数,并与自然视频I帧中一致颜色区域的平均数(步骤840)比较。若后者较大,则根据“边缘图”方法,指明目标I帧为电视卡通帧(步骤850)。
“AC值”法
在如图2B中所示的DCT变换之后,每个块Y0、Y1、Y2、Y3、Cr及Cb(如图3中4:2:0所示)都在左上角包含DC信息(DC值),剩余的DCT系数包含AC信息(AC值)。这些AC值的频率从DC值的右边到DC值正下方的DCT系数以锯齿式样增加,如图2C中局部地示出的。
大体地定义,DC值是整个帧的平均强度,AC值表示对比度变化。因此,频率越高,对比度变化更大。因为典型的卡通包含的对比度变化比自然视频大,因此比较是合理的。因此,第一步是计算目标I帧中高于预定阈值的AC值数目(步骤900)。若在前一步骤中计算的AC值数目大于比标准的视频I帧中预定阈值的AC值数目要大(步骤905),则指明目标I帧为卡通帧(步骤910)。否则应当应用替代的检测卡通方法(步骤915)。
或者,可以计算I帧中处在预定计时窗口内部的平均AC值(图10中步骤1000)。这将包括求处在预定计时窗口内部的各I帧的所有AC值的总和并除以那些I帧的AC值的总数。同样地,进一步作出与自然视频的比较。如图10中所示,在步骤1005中计算大于标准视频I帧中平均AC值的平均AC值数目。若所述数目大于预定值(步骤1010),则根据“AC值”法,指明目标I帧为电视卡通帧(步骤1015)。
“瞬时采样率”法
通常,卡通以每秒6帧采样,这有别于自然视频,后者以每秒约24帧采样。如图11所示,瞬时采样法中的第一步是确定视频序列中有多少连续帧是相同的(步骤1100)。所述决定将指示瞬时采样率。
因此,若瞬时采样率等于每秒6帧(步骤1105),则根据“瞬时采样率”法,确定目标帧为卡通帧(1110)。
“剪辑速率”法
剪辑速率用来衡量视频流中场景变化的频率高低。典型的卡通中的剪辑速率通常很高。剪辑是视频中一次拍摄到下一次的转变,其中一次拍摄是指从摄像机开始拍摄到接着的摄像机停止之间的时间。
这意味着一次拍摄内的视频中两个连续帧之间的差异很小,而在两次拍摄之间的差异一般很大。有许多本领域中众所周知的用来检测拍摄分界的方法。某些方法在美国专利号6137544和美国专利号6125229中公开,它们都已通过引用包括在本文中。这些方法一般比较连续帧(或连续I帧),并检查它们之间的差异。在本发明的最佳实施例中,利用了帧差异方法来找出拍摄分界。所述方法基于使用连续帧的DC系数计算的宏块差异。
可以使用基于不同比较DCT系数公式的几种剪辑检测算法。应用于本发明最佳实施例中的剪辑检测算法根据以下公式:
S=Σk=1wΣj=1hMbdiff(MBkjc,MBkjp)]]>
其中:
(公式4)
在上面的公式4中,S表示Y、Cr和Cb的总差异;w=帧宽/16;h=帧高/16;BC和BP分别是当前和先前块的DCT系数。MBdiff是两个宏块之间的差异函数,它确定互相不同的块的数目。公式4在宏块层次上生效。视频帧宏块中亮度和色度块的DCT值被从另一个视频帧中它们的各自的对应量中减去。每个成分差异的和被保留。累加了宏块中所有差异后,将每个宏块与一个预定阈值对比。若所述差异总和高于预定阈值,则宏块计数器增量。所述预定阈值取决于块的大小。通常,若宏块总数的75%互相不同,则计数器增量。
公式4根据块比较找出宏块之间的差异,然后计数两个帧之间不同宏块的个数。
上述方法使欧专业的技术人员能够找到视频中的各个剪辑。剪辑速率变化是每分钟的剪辑数。利用卡通一般具有高剪辑速率这一知识,将足以追踪每单位时间的剪辑数。在商业应用中,所述检测方法使用循环数组进行。所述数组使用模算符来以轮流方式装填各个元素。使用所述方法,剪辑速率可在数组大小之上平均化。通过检查每单位时间发生的剪辑数,并将它与预定阈值比较,就可确定所述节目内容是否含有卡通。
因此,如图12中所示,第一步是检测编码视频流中的场景改变(步骤1200)。在步骤1205,计算连续场景改变之间的平均距离。这相当于测量每单位时间的场景改变数。若步骤1205中计算的距离小于自然视频中场景改变之间的平均距离(步骤1210),则根据“剪辑速率”法,指明这些帧为卡通帧(步骤1215)。
“颜色相似性场景剪辑”法
根据图13中所示的本发明的最佳实施例,上述方法中的第一步是检测编码视频流中的场景改变(步骤1300)。这可以按照上述方法实现。在下一步骤1305,对视频流中每个I帧计算平均颜色和亮度。有许多本领域中众所周知的方法用于计算平均颜色和亮度。较好的方法是以相似颜色组群集所有像素,并采用主要区域的平均。或者,以相似颜色组群集所有像素,并按其像素数加权各组(根据到最主要区域的距离表示并加权),也可以实现。还有一个方法是简单地计算帧中所有像素的平均值。这可以在YCrCb色彩空间进行,或者也可以在RGB或HSV色彩空间进行。根据在步骤1300中最初检测到的场景改变,下一步1310是比较场景改变之前I帧的平均颜色和亮度与场景改变之后I帧的平均颜色和亮度。当场景改变之前和之后I帧的平均颜色和亮度之间差异低于预定阈值时(步骤1315)时,给所述场景改变加索引(步骤1320)。实验上,阈值的范围可以如下:Y-(0.12-18.2)、Cb-(0.001-0.002)、Cr-(3.3-1605)。相反地,若差异高于预定阈值,则将明白,初始检测到的场景改变是实际的摄影剪辑。但通常,可能检测到不存在的摄影剪辑,因为卡通制作者手绘各帧,并简单地连接它们。在这种情况下,伪摄影剪辑之前和之后的亮度和色度(颜色)值互相很接近。此独特的卡通特征在步骤1315中被用于检测目的,其中被加索引的场景改变分界具有相当一致的颜色和亮度差异。在步骤1325中,计算连续的被加索引场景改变之间的平均距离。若所述平均距离大于自然视频中被加索引的场景改变之间的平均距离(步骤1330),则根据“颜色相似性场景剪辑”法,指明这些目标I帧为卡通帧(步骤1335)。或者不使用平均颜色和亮度计算,可以如图14所示使用颜色直方图。除了不是在步骤1310而是在步骤1410中计算场景改变前后颜色直方图中箱子大小之间的不同外,所有步骤都相似。若差异低于预定阈值,则给场景改变加索引。
“速度直方图”法
通常,卡通中运动的特征是具有很高速度。上述方法通过计算速度直方图并将其与自然视频的速度直方图比较而利用了这种独特的特征。因此,如图15中所示的第一步是计算视频序列中连续帧对的速度直方图(步骤1500)。典型的速度直方图示于图16,它显示一个三维图形,y轴(Vy)上示出16×16宏块在垂直方向上的速度,而x轴(Vx)上示出同一宏块在水平方向上的速度。Z轴表示给定帧中像素(选票)的个数。越接近原点速度越低。若速度直方图具有较大速度的峰值(步骤1505)和较高速度下小峰值的较大分布(步骤1510),则根据“速度直方图”法,指明目标I帧为卡通帧(1515)。
“帧签名”法
卡通的特征可以归结为具有大面积的一致颜色。可以开发签名,利用视频流的CR和Cb成分来仅标识帧中最大的相似颜色区域。在频域中,帧由离散余弦信息的单个8×8块所构成。如图3所示,有强度块(Y块)和颜色块(Cr和Cb块)。根据所述帧每块中的DC系数和AC系数的最高值,可以从Cr和Cb块派生出签名。随后比较相邻块,那些具有相同签名的块被组合为区域。区域由基本颜色块签名(Cr,Cb)、其大小(具有相同签名的邻近块的数目)及块组的中心位置来定义。区域签名由各个块签名构成,如下文以及美国专利6125229和美国专利6137544中所述,已通过引用而把所述专利包括在本文中。
如图17所示,在步骤1700,首先在一个帧中为每个块派生块签名。如图18所示,在本例中块签名1800有八位长,其中三位表示DC签名1805,五位表示AC签名1810。块中DC值旁边的所有其他DCT系数都是AC值。
DC签名派生的方法是通过抽取DC值,并确定所述DC值落在指定值范围(本例中为-2400到2400之间)的哪一位置。所述范围被划分成预选数目的间隔,如图18中所示。在本发明中使用了八个间隔,但为得到图像的较大或较小粒度,可以使用较多或较少的间隔。
每个间隔都被指派了预定的映象,如图18中所示。每个DC值都与所述范围比较,并返回DC值所属间隔的映象。由所需的位代表的值对应于间隔数。在本例中,因为范围被划分成八个间隔,所以使用了三位。如图18中所示,块签名1800将因而包括作为前三位的DC签名1805,作为剩余五位的AC签名1810。
为很好地表示块的AC值范围,如图18所示,抽取了最靠近DC值的五个AC值(A1-A5)。将五个AC值中的每个与阈值(本例中为200)比较,若AC值大于阈值,则AC签名1810中的对应位将被置为预定值(如1),若小于或等于阈值,则对应的位被置为零。
在导出了帧中每个宏块每块的块签名(BlockSignature)之后,将确定区域(步骤1715)。本例中的区域是两个或多个块,每个块都与所述区域中的至少一个其他块相邻,并且与所述区域中的其他块共享一个相似的块签名。若要求减少计时,可以要求更多块来定义一个区域。虽然可以将帧的每个块签名与每一个其他的块签名比较,然后计算以确定区域(步骤1705、1710),但本发明可使用已知技术(如区域增长过程)来确定帧中的区域。
区域增长方法用来隔离图像中的区域。传统的区域增长方法使用像素颜色和邻近区概念来检测区域。本发明中使用了块签名来作为增长区域的基础。
在区域增长过程中,每个区域的计数器不断地对区域中的块数(size)计数并且用16位表示所述计数。一旦为找出区域分析了整个帧,可以使用另一个已知方法来找出每个区域的质心或中心,在本例中基于它基于x-y轴基准。x和y坐标被分别提取为CX和CY,它们用16位表示。然后为每个区域分配一个区域签名,RegionSignature(CR_BlockSignature,CB_BlockSignature,size,CXCY)。根据区域增长过程所确定的最主要块签名来确定所述区域的块签名。
区域一般表示“对象”,它可以是物体、人物、东西等。现在可以使用区域签名来检测所述帧是否为卡通类型的帧。例如,若仅有几个大对象构成帧的大部分,则它很可能是卡通。因此,在步骤1720,在目标帧中的区域数目和预定阈值间进行比较。若区域的数目大于阈值,则可根据“帧签名”方法来得出结论,目标帧是卡通帧(步骤1725)。
“MAD值”法
典型卡通中的运动比在自然视频中的更加突然,因此,从帧到帧的变化(不包括“剪辑”区)更加明显。
因此,评估这些变化并将它们与标准视频比较是适合的,据此可以检测出卡通。
在本发明的最佳实施例中,代表“平均绝对差”的MAD对两个连续帧中的两个最匹配宏块进行了比较,并根据亮度信息计算像素域中的最大差值。或者可将它定义为256个亮度差的绝对值平均。MAD值的计算独立于帧的种类(I、P或B),可以用来检测帧之间的摄影剪辑,因为在摄影剪辑期间,信息从一帧到下一帧有了改变。或者可以通过MSE(均方差)来计算帧之间的不同,它是256个亮度差的平方平均。通常,计算误差时会忽略色度,因为人眼对亮度的变化更加敏感。
MAD方法产生的结果与MSE相似,但计算成本低了许多。此外,可以使用归一化交叉相关函数(NCCF)或明显差别像素数(NSDP)来代替MAD值,但同样地计算成本较高。
如图19所示,第一步1900是计算每个I帧中所有宏块MAD值的和(总MAD值)。下一个步1905是应用上述的任何方法来检测编码视频流中的所有摄影剪辑并将其加索引(即识别出摄影剪辑并将其标记为摄影剪辑)。一般地说,摄影剪辑附近的MAD值非常高,使得总MAD值极其高。因此,需要作以下计算:排除摄影剪辑(M个帧)周围的MAD值的全部帧(N个帧)的所有MAD值的和除以所有有效帧的数目(N-M个帧)。这将产生平均总MAD值。然后将所述结果与标准视频中的平均总MAD值进行比较,并做出决定,目标帧是否为卡通帧。
相应地,在步骤1910,为以摄影剪辑为中心的第一计时窗口内部的I帧加索引。在步骤1915中,进行上述计算:所有I帧(在第二计时窗口内部)的所有“总MAD值”的平均值,排除在步骤1910加索引的I帧的“总MAD值”。然后将步骤1915的结果与标准视频比较:若它高于标准视频中的值(步骤1920),则根据“MAD值”法,指明目标I帧为卡通帧(步骤1925)。
本专业的普通技术人员明白,本发明并不局限于前述阈值条件。施加于阈值的条件是用实验的方法确定的,将因例子的不同而有区别。
虽然已经结合最佳实施例描述了本发明,但是,显然,对于本专业的技术人员来说,可以在上述原理的范围之内做出修改,因而本发明并不局限于那些最佳实施例,而是意图涵盖这样的修改。