在进行视频检索、检测等处理时,许多方法需要先提取图像,然后在图像序列上进行处理。这些方法处理的数据量很大,导致算法运行速度慢、延时长,不能应用在实时处理的场合。为加快速度,可在压缩域直接进行视频处理。
1 视频数据及常用视频特征
视频是由分层单元组成的,如底层的独立帧和高层的片段如镜头、场景和事件。视频内容分析的一个重要任务是检测视频片段的边界,即视频分割,主要是将一段视频分成多个镜头。镜头是由单个摄像机顺序记录的在时间和空间上代表某个连续行为的一组帧的集合,连续的场景组成事件。镜头变换检测可采用直方图方法、压缩域DCT系数和运动向量、文本识别和标题条方法等。检测结果可将镜头用一些关键帧代表。
对相似度不同视频进行检索需要不同的特征, 相似度较高的复制视频(duplicate video)在网站上比例很大。 在YouToBe、Google Video和Yahoo Video 上对24段视频进行搜索,返回的相关视频中有27%复制视频。检测复制视频常用特征有:
1.基于关键点的特征:使用Harris角点和其它描述子如SIFT、PCA-SIFT和SURF等确定每个关键帧的局部兴趣点。
2.全局图像特征:通过计算时间上连续的视频关键帧序列集合之间的相似性进行视频复制检测。如颜色分布描述子(CLD, Color Layout Descriptor)、边缘直方图描述子(EHD, Edge Histogram Descriptor)和紧致傅里叶梅林变换(CFMT, Compact Fourier Mellin Transform)等。
3.视频特征:基于视频的签名比基于关键帧的签名更紧致,更有利于视频检索。比如将所有关键帧的特征生成一个直方图作为视频签名。顺序特征(OF, Ordinal Features)也可以生成紧致的视频签名,已经用于视频序列匹配。顺序特征可结合其它图像特征如颜色直方图等用于视频片段匹配。
为了便于检索,提取出的特征需要建立索引。由于每个关键帧由一组特征点表示,检索的过程就涉及大量特征点对的比较,而且很多特征点维数较高,计算代价大,所以需要快速有效的索引方法。当前的快速索引建立方法主要是基于哈希的方法,如LSH(Locality Sensitive Hashing)、 DBH (Distance Based Hashing)等。
2 压缩域视频格式
以MPEG-2格式为例。MPEG-2协议对视频数据封装方式进行了详尽的描述,符合该协议的视频数据流的格式完全一致,视频的各帧数据被封装在传送流中。各层的数据包都按照协议包含相应的起始码和规定格式的参数描述字段。如序列头给出了图像尺寸、宽高比、帧速率、码率等信息;图像组头给出了编码类型、码表选择、视频磁带记录时间等信息;图像头给出了图像编码的时间基准、帧类型等信息。
利用图组头和图像头可以确定视频各帧和各图组的数据量,每段视频数据由多个图组组成,每个图组由I、P、B三种图像帧组成,三种帧数据量差异较大。平均而言,I帧最大,B帧最小。视频各帧数据量的变化呈现一定的规律,如彩条、固定场景等内容不变的视频各图像帧的数据量曲线规律性较强,呈周期性变化;而内容相似的视频,数据量曲线规律性要差些,但是还会显示出相似的变化趋势。当然,这需要使用相同的编码算法。
3 压缩域视频特征——帧数据量
从视频各帧数据量看,数据量虽然不能反映视频图像数据本身,但各帧压缩后的数据量的变化趋势能反映出视频内容的异同,也就是说变化趋势相同的数据量曲线对应的视频内容一般是相同的。这是因为图象编码后数据量的多少与图像内容、编码方法等多种因素有关,即使同一帧图像编码后数据量也可能不同,但内容相同的视频编码后数据量变化趋势一般是相同的。我们把这样的变化趋势称作波动特性。比如,电视节目中的彩条、黑屏等内容不变的测试视频,其波动就有很强的周期性,如下图所示。
图中曲线每个周期包含15个数据点,对应于每个图组15个帧的数据量,最高点表示I帧数据量,次高的4个点表示P帧数据量,最低的10个点表示B帧数据量,而且各周期数据量几乎相同,曲线呈周期性波动。另外,相同内容的视频片段,其波动特性也是非常相似的,如下图所示。
该图给出了某新闻节目片花在不同时间播放的两段视频的数据量波动。该视频每个图组为12个帧,video 1的I帧数据量与video 2的I帧数据量几乎相同,数据量不断增加的趋势也相同。利用这样的波动特性就可以进行视频检索。
4 压缩域视频相似度衡量
设P、Q分别代表查询视频和待查询视频,其对应的数据量分别为P<sub>k</sub>、Q<sub>k</sub>, 查询视频和待查询视频的相似度可以通过两者的波动特性来衡量。由于波动特性反映的是曲线的性质,所以准确的衡量方法可以通过对曲线进行建模并衡量模型的相近程度来实现,或者利用动态波形匹配的方法来实现。
当该距离小于设定门限时这两个视频相似。这种距离度量方式虽然比较简单,但非常有效,适合进行实时的视频检索。由于查询视频与待查询视频长度可能不等,需要采用窗口滑动法在固定窗长内计算相似度。窗长的选取以图组整数倍长为宜,当查询视频较短时,可以取视频所有帧数作为窗长。下图给出了一段查询视频与两个视频片段的距离曲线,video 1与图video 2的最低点都代表待查询视频出现的帧位置。经验证,这两个位置都是正确的。
视频检索框架
由于该方法完全不需要对视频进行解压,也不需要计算解压后图像帧的特征进一步得出视频特征,并用来进行视频检索,所以它的速度大大高于基于各视频帧特征提取的方法。另外,由于三种图像帧数据量差距较大,当两段视频的I帧对齐时,它们的距离会小与I帧没有对齐的距离相似的可能性更大,而且如果仅在I帧对齐时进行相似计算,计算次数会减少为原来的 1/12(一个图组包含12个图像帧)或1/15(一个图组包含15个图像帧)。所以在窗口滑动时可以先进行I帧对齐,并以图组长度为步长进行滑动。这样每个图组只进行一次距离计算。
同样的,相似判决只需要判断该距离是否小于设定门限,若小于门限,则认为这两段视频相似,否则认为它们不相似。该方法主要包括以下几步:
1.初始化设置相关参数,如图组长度、窗长等;
2.计算查询视频在窗长内的各帧数据量;
3.计算待查询视频在窗长内的各帧数据量;
4.在I帧对齐的基础上计算两段视频的距离;
5.进行相似度判决,如果小于设定相似门限值T,则认为找到了与查询视频相似的视频,并报告结果;否则,以步长进行窗口滑动,并重复3、4,直到滑动窗右边界到达待查询视频尾部;
6.重复3~5,直到遍历完所有视频文件。
本文详细内容请下载基于帧数据量波动特性的压缩域视频快速检索方法并查看。
转载于:https://blog.51cto.com/8764888/2056315