1 相关工作
镜头边界检测算法主要有直方图法、模板匹配法、基于边缘的方法和基于模型的方法等4种。直方图法使用像素亮度和色彩的统计值,不考虑像素的位置信息,抗噪声能力较强,但有时会漏掉场景切换。模板匹配法严格地区分像素的位置,对噪声、镜头和物体的运动非常敏感,容易导致错误的场景切换检测。基于边缘方法的基本思想是在镜头发生切换时新边缘应远离旧边缘的位置,旧边缘消失的位置也应远离新边缘的位置。上述3种方法都是通过计算帧间差进行镜头边界检测的,对于突变检测可取得较好的效果,但对渐变检测则存在一定的困难,这些方法在很大程度上忽略了渐变切换中帧间结构上的相关性。而基于模型的方法则是利用对镜头编辑的先验知识,对各种镜头切换建立一定的数据模型进行镜头切换的检测,因此对镜头渐变的检测能取得较好的效果。本文的算法就是一种基于模型的方法。
2 镜头分割算法
2.1 切变检测
本算法根据相邻帧图像变化和不相似性确定切变,相邻帧的变化属于图像检索的范围,本算法中采用了颜色局部累积直方图与纹理相结合的方法。在一般情况下可通过将不相似值与一个阈值进行比较来做出判断,而基于“滑动窗口”的方法可以克服了不相似值不仅与帧间差有关,而且与成像亮度也有关的问题。
首先定义一个时间长度为2R+l的窗口,使需检测的帧位于窗口正中。然后根据下式计算前后两帧间的差异:
如果差异满足以下条件则认为待检测帧处为切变位置:
1)窗口中D为最大值;
2)设窗口中第二大的差异值为D2,有D<k×D2,k为正系数。
一个图解例子见图1,其中横轴对应帧序列,竖轴对应帧差值,设这里k=3。图中从一R到R对应以帧间差为D的帧的检测窗口,由图可见上述第1个条件满足,第2个条件也满足(注意检测帧问差为D2的帧的检测窗口需向左移,但比较时仍用帧间差为D的检测窗口),所以认为检测到一个切变。如果考虑窗口右侧外的那些峰,由于第2个条件得不到满足,所以不认为检测到切变。该方法由于利用了在切变位置附近的局部信息,检测效果比全局阈值法有相当大的提高。
由于“滑动窗口”算法在实际中有可能遇到两个影响效果的问题,一个是漏检问题。例如在利用上面算法中对一些由于摄影机的晃动,造成前景中的物体相对于背景有较大的上下变动,造成了很多漏检。另一个时误检。使用上面的算法对一线电影画面几乎静止,但是由于加字幕、去字幕原因差生小的扰动,就会多检测出切变,出现误检。
本文采用了基于双重窗口的检测算法。
基于双重窗口算法进行切变检测的方法流程参见图2,这里对被检测视频流的要求比较简单,只需对原始视频流取平均或对压缩视频流取直流分量就可以得到。为了把闪光的影响除去,从检测视频流中先将闪光位置确定下来,其后在把这些位置从切变检测得到的可能切变位置中除去,就可得到真正的切变位置。