APP下载

一种基于压缩域的视频镜头检测方法

2014-07-02王永滨柯雅明伏文龙

电视技术 2014年13期
关键词:宏块分区编码

于 鹏,王永滨,柯雅明,刘 文,伏文龙

(中国传媒大学计算机学院,北京100024)

一种基于压缩域的视频镜头检测方法

于 鹏,王永滨,柯雅明,刘 文,伏文龙

(中国传媒大学计算机学院,北京100024)

针对传统的基于空域的视频镜头检测算法需要解压缩,计算量大、效率低的缺点,提出了一种基于压缩域的视频镜头检测方法。该方法首先根据MPEG压缩标准,从视频流中提取I帧中8个低频DCT系数,并对其进行分区加权求二次帧差,从而确定镜头变换所在的GoP;在GoP中通过计算P帧和B帧的不同类型宏块比率,来精确定位镜头边界。实验结果表明,该方法可大大减少计算时间和数据量,且具有良好的检测效果。

视频镜头检测;压缩域;MPEG;二次帧差;宏块比率

近年来,随着多媒体技术的蓬勃发展和“三网融合”的大力推进,视频呈现爆炸式的增长,其所携带的信息量远远超过文本和语音,具有确切、直观、具体、生动和高效等特点,备受人们的青睐。镜头是组成视频序列的物理单位,而镜头检测是视频高层相关处理,如语义分析、索引、查询和内容分类的基础[1],其检测效率和准确性直接影响高层处理的性能和效果。

许多学者对视频镜头检测进行了有益的研究,提出了若干有代表性的方法,从多个方面、多个角度捕获了镜头边缘的特征信息[2]。从大的方面来说,镜头的检测方法可分为:基于空域的检测方法和基于压缩域的检测方法。早期,人们对镜头检测方法的研究大都是基于空域展开的,其主要依据镜头转换处视频底层颜色、纹理、轮廓形状等特征的变化来实现镜头检测的,常见的有像素比较、直方图、聚类、运动场和边缘的方法[2-3]。虽然基于空域的检测算法取得了一定的成果,但是这种镜头检测方法要求必须在完全解压的前提下进行,一方面解压视频计算量巨大,效率低下;另一方面,解压后数据量增大,很多算法在数据量急剧增大的情况下,效果明显变差,这是该类算法致命的弱点[3]。基于压缩域的方法研究较少,比较有代表性的有Arman[4]提出的用I帧的若干DCT系数来进行镜头的检测方法,但是该方法计算的帧差比较粗略,对预测编码的处理不够,检测精度不高。李向伟[5]提出了基于I帧DC系数的方法,该方法虽然是在压缩域上,但是没有考虑P和B帧,因而镜头检测不够精确。

综上所述,针对压缩域的研究才刚刚起步,目前还没有一种很好的方法。本文在深入分析研究MPEG视频压缩编码及相关理论的基础上,将基于空域检测的成功方法与压缩域相结合,对I帧和P、B帧进行分别处理,提出了一种基于压缩域的视频镜头检测方法。实验表明,该方法具有良好的检测效果,且与传统的方法相比,具有较低的计算复杂度和数据量,能够满足实际应用的要求。

1 预备知识

1.1 镜头介绍

镜头[6]是指由摄像机从按下快门到停止的时间段内,拍摄的一组连续相关的的图像帧,它用来表现场景中连续的一个运动过程[2]。镜头通过视频剪辑工具进行连接,由于剪辑手法的多样性,镜头变换也呈现丰富多彩的样式。根据转换处过渡特性的差异,镜头转换[1,7]可分为突变和渐变两类。突变是指连续两个镜头之间没有过渡,两镜头之间没有任何编辑效果和时间上的延迟[8];渐变则与突变截然相反,它是指两个连续镜头在转换处相互重叠,渐渐由前一镜头转变为后续镜头的方式,通常这个过程会持续十几帧到几十帧不等,这样就使得镜头之间的过渡更加平缓,人们看起来感觉不到明显的视觉不连续。常见的镜头渐变种类包括淡入淡出、融化、扫描等[1,6]。图1给出了视频突变渐变的示意图。

图1 视频突变渐变示意图

1.2 MPEG压缩介绍

MPEG压缩是当今国际上通用的视频压缩标准,其主要通过两项基本技术实现压缩:基于离散余弦变换(Discrete Cosine Transform,DCT)的压缩技术和基于16×16宏块的运动补偿技术。其中,DCT变换是一种正交变换,可将信号从空间域变换到频率域,充分减少图像内容间的自相关性,使大部分的能量集中在频率域中少数几个能量较高的低频系数上[5],只利用这些低频系数就可以很好地恢复原始图像,其余系数在经过量化后,大部分都变成了零,从而可减少空间冗余度,实现压缩功能。MPEG在帧编码时是按照图像组(Group of Pictures,GoP)进行的,每一个GoP包含了3种类型的帧,分别是I帧、P帧和B帧。其中,I帧是基础帧,采用基于DCT变换帧内编码的形式。P帧需要参考前面最近的I帧或P帧进行前向运动补偿来获得。B帧根据前面和后面的参考帧进行双向预测。帧间预测编码时,编码器在参考帧中搜索与当前帧中的每个宏块最匹配的宏块,从而计算出运动向量(Motion Vectors,MV),进一步计算当前宏块的运动补偿预测差异(Motion Compensation Predictive Error,MCPE),将获得的MCPE与给定的阈值进行比较,若小于阈值,则将MCPE和MV一起进行编码;若大于阈值,则对该宏块进行内部编码,这种情况说明当前帧和参考帧间的差异较大,而这种差异往往是由于镜头变换形成的[3]。

2 基于压缩域的视频镜头检测方法

主要分为两个步骤:1)镜头GoP检测。抽取视频序列中每个GoP中的首帧——I帧,以I帧中8个低频的DCT系数为特征进行分区加权求二次帧差,将二次帧差与自适应阈值比较来粗略确定镜头边界所在的GoP。2)镜头边界检测。根据GoP中P和B帧的不同类型宏块运动比率来进一步确定镜头边界。

2.1 镜头GoP检测

2.1.1 视频帧分区加权

在基于空域的镜头检测算法中,通常采用分区[9-10]的概念,将视频平均分成N×N区(N表示长和宽的单位数),分别计算每个分区的直方图和帧差,以此弥补直方图算法不能反映像素位置信息,但是没有考虑视频中不同区域的重要性因素。为了捕获图像的空间分布信息,同时考虑到视频在拍摄过程中和人眼视觉对图像不同部分的关注程度[11],将视频非均匀的分割为3×3子区,其中长和宽的比例3∶5∶3,分区的比例如图2所示,图中每个分区中分别标注了长和宽的单位数。

图2 分区比例示意图

通常,相对于图像中心区域,4个角落和边缘的内容显得不是那么重要,同时图像的底端字幕部分经常会干扰镜头检测的准确性。因此,在完成分区后,又定义了一个权重矩阵W

式中:wi表示第i(i∈[1,9])个分区的权重值,加权系数和分区一一对应,通过分区区间大小和分区加权系数的不均匀分配体现不同区域的重要程度,提高镜头检测的精确度。

2.1.2 二次帧差计算

在对GoP进行镜头检测时,选取每个GoP的首帧作为特征来实现粗略的镜头检测。由MPEG编码相关介绍可知,I帧的DCT系数可以直接获取,并且DCT系数的高频部分经量化后基本为零,能量主要集中在左上角靠近DC分量的少数几个低频系数上,使用这些极少数的低频系数即可恢复出原图像。同时,将全部的DCT系数用作计算,计算量和数据量大,效率低,且意义不大。因此,选取8个低频DCT系数为特征值进行计算,这样既不失精确性,同时减少了计算量,使得参与计算的数据量减少了7/8。在上一步分区加权的基础上,提供了一种二次帧差计算方法,计算帧差公式为

将其归一化

式中:Dm(li,li+1)表示li和li+1帧中第m块的帧差;num_ blocks代表该分区中8×8的块数;j代表DCT系数采用“之”字编码的前8个低频系数下标;DCTk(li,j)表示第li帧中第k个块中第j个DCT系数。这样计算出相邻两帧对应区间的帧差值,分别记为D1,D2,…,D9,则相邻两帧的帧差和加权系数联合计算得到

式中:wj为对应块j的权重系数;DFi为第i帧的加权后的帧差。通过上面的方式计算得到的帧差就每个镜头而言是各不相同的。因为,每个镜头内的图像变换程度是不同的,帧差的变化范围和平均值也各不相同,对运动剧烈或者颜色变化大的镜头,帧差比较大,镜头边界的帧差也不会比平均值大很多;而对于运动平缓或者颜色变化不大的镜头,帧差平均值较小,边界帧差很大[11]。如果用一个固定的帧差的倍数作为阈值,其检测效果是不理想的[7]。为了有效解决镜头边界检测阈值对镜头内容变换的敏感性,使用二次帧差(Twice Frame Difference,TFD)

式中:TFDi表示第当前i帧的二次帧差;DFi表示i帧的帧差。帧差反应的是两帧之间的变化量,而二次帧差反映的是变化率。因此,通过二次帧差,可以有效消除不同镜头的帧变化量的差别,突出镜头的边界特征[7,11]。

2.1.3 自适应阈值选取

通过大量的视频数据分析,发现视频镜头时间持续超过2 s[12],视频的播放速度一般在24~30 f/s(帧/秒),一个长度为2 s的镜头至少包含48帧,也就是有4个GoP或I帧。此外,同一镜头内相邻两帧的视频图像内容由于变化不大,所以相邻两帧的二次帧差呈现出相对均匀分布,而突变处帧差明显比平均值大很多;在发生渐变时,其二次帧差也发生较大的变化,因此可设定两个门限系数,α为镜头突变检测门限系数,β(β<α)为镜头渐变检测门限系数。

定义一个大小为win(本文win取值为6,因为一个镜头至少有4个I帧)的窗口,计算窗口内的平均二次帧差,并将当前检测帧与二次帧差进行比对。具体地,首先计算窗口内的二次帧差的和,进一步得到窗口内的二次帧差平均值。公式如下

式中:TotalTFDi为截止到当前i帧,窗口win内的二次帧差之和。

式中:aveTFDi为当前窗口内的二次帧差平均值,则突变检测的自适应阈值[1]为Th=α×aveTFDi,渐变检测的自适应阈值为Tl=β×aveTFDi,采用传统的双阈值[13]方法即可检测出镜头变换所在的GoP。通过实验发现,α选择在3.1~4,β取1.5~2范围内效果较好。

2.2 镜头边界检测

由于P帧和B帧的DCT系数需要进行计算才可获得。由MPEG介绍可知,P帧和B帧以宏块为单位进行运动补偿和预测。当镜头变换发生在某一P帧时,大多数的宏块将采用无运动补偿的帧内编码进行压缩。而对于B帧,采用的是双向预测,当镜头边界发生在该帧时,绝大多数的运动矢量来自于其后的参考帧,而很少一部分来自于前向参考帧。为了检测是否该帧为镜头边界帧,分别对P帧和B帧计算一个比率RP和R[14]B

式中:NMtotal用于表示该帧中宏块的总数;NMintra表示该帧中帧内编码宏块的个数。当RP大于某个阈值时,可以认为该P帧是一个镜头边界。

对于B帧,计算比率

式中:NMback表示后续运动矢量的数目;NMpre表示前向运动矢量的数目。当RB出现大于某个阈值时,该B帧为镜头边界。如果P帧和B帧都不是边界,那么可以推断I帧为镜头的边界[8]。

3 实验与结果分析

基于上述算法,本文进行了大规模的仿真实验,表1给出了新闻、动画、体育等类型MPEG视频进行实验的检测结果。采用视频镜头检测的通用指标,查准率和查全率[1,15]来衡量镜头检测的效果,其计算公式为

表1 视频镜头检测结果

由表1可知,该算法取得了较好的检测效果,其查准率和查全率平均约为89.9%和91.5%,其中视频类型为体育片段的查全率略低于平均值,其主要原因是由于视频帧之间的运动较大,可以适当提高阈值系数来获得更好的检测效果。此外,由于是在压缩域进行,不需要解压,先对镜头中I帧处理,如果有变换,才会进一步对GoP内各帧进行计算,因此大大的降低了计算开销,提高了计算效率,与传统的基于直方图的方法相比,其性能提高了约30%。

4 小结

本文基于视频压缩原理提出了一种视频镜头检测算法,通过提取MPEG视频中低频中的8个DCT系数来进行GoP镜头检测,进一步根据P、B帧的运动宏块比率精确确定镜头边界。实验表明,该方法计算量和数据量少,效率高,综合性能好。由于本文主要针对主流的MPEG视频格式开展的研究,但是对于其他格式不一定通用,这也是进一步研究的一个问题。

[1]印勇,侯海珍.基于直方图帧差的自适应镜头分割算法[J].计算机工程与应用,2010,46(9):186-189.

[2]钱刚,曾贵华.典型视频镜头分割方法的比较[J].计算机工程与应用,2004,40(32):51-55.

[3]李向伟,李战明,张明新,等.基于内容的视频镜头检测技术[J].电视技术,2008,32(3):19-21.

[4]ARMAN F,HSU A,CHIU M.Image processing on compressed data for large video databases[C]//Proc.the 1st ACM International Conference on Multimedia.[S.l.]:ACM Press,1993:267-272.

[5]李向伟,李战明,张明新,等.一种基于压缩域的镜头检测算法[J].兰州理工大学学报,2008,34(6):97-101.

[6]韩全磊.基于内容的视频镜头分割及检索技术研究[D].济南:山东大学,2009.

[7]吴晶,陈淑珍.基于树形分类器的自适应镜头分割系统[J].计算机工程,2007,33(3):18-20.

[8]谭枫,冯驰.镜头边界检测及关键帧提取[D].哈尔滨:哈尔滨工程大学,2006.

[9]彭波,李弼程.一种因果的突变镜头检测方法[J].计算机工程与应用,2004,40(5):91-93.

[10]ZHONG Y,KARU K,JAIN A.Locating text in complex color images[J].Pattern Recognition,1995,28(10):1523-1535.

[11]周艺华,曹元大,张洪欣.一种基于二次帧差的突变镜头检测方法[J].计算机工程与应用,2005,41(6):22-25.

[12]刘典,刘文萍.一种基于直方图的切变镜头自动检测算法[J].北方工业大学学报,2007,19(3):16-20.

[13]ZHANG H,KANKANHALLIA,SMOLIAR S.Automatic partitioning of full-motion video[J].Multimedia Systems,1993,1(1):10-28.

[14]李玉峰.基于内容视频检索的镜头检测及场景检测研究[D].天津:天津大学,2009.

[15]刘俊晓,孟祥增.一种基于镜头内容的视频检索系统设计与实现[J].电视技术,2007,31(2):85-87.

伏文龙(1980— ),工程师,主要从事广播电视信息安全、传媒大数据等领域研究工作。

Video Shot Detection M ethod Based on Com pressed Domain

YU Peng,WANG Yongbin,KE Yaming,LIUWen,FUWenlong
(School of Computer,Communication University of China,Beijing 100024,China)

Aimed at the shortcoming in conventional airspace shot detection need to decompress,computationally intensive and low efficiency,a video shot detectionmethod based on compressed domain is proposed.In thismethod,the 8 low-frequency DCT coefficients of I frameswere extracted first from the video stream according to MPEG standard,and the frames are partitioned,weighted and computed the twice-frame-difference,so the GoPof the shot boundary is determined;In the GoP,by calculating the different types ofmacro-block ratios of the P and B frames,to accurately detect shotboundary.Experiment result showed that,the amount of computation and data is reduced greatly and has a good detection results.

video shot detection;compressed domain;MPEG;twice-frame-difference;macro-block ratios

TP391

A

于 鹏(1983— ),博士生,主要研究方向为信息安全和网络新媒体技术;

王永滨(1963— ),博士生导师,主要研究方向为网络新媒体技术、广播电视与新媒体信息安全等;

柯雅明(1988— ),硕士生,主要研究方向为媒体信息安全;

刘 文(1982— ),女,硕士生导师,主要研究方向为信息安全、网络新媒体技术;

�� 雯

2013-08-14

世界杯开赛 北京电视台开启全媒体报道

【本文献信息】于鹏,王永滨,柯雅明,等.一种基于压缩域的视频镜头检测方法[J].电视技术,2014,38(13).

国家“863”计划项目(2011AA01A107);国家科技支撑计划项目(2012BAH51F02)

四年一届的世界杯在6月13日如期而至,北京电视台新媒体平台迅速组建世界杯报道小组,利用北京网络广播电视台网站brtn.cn、官方微平台、“BTV大媒体”移动客户端、北京IPTV等新媒体平台推出了一系列内容丰富,形式新颖,互动性强,用户体验良好的全媒体式报道。在此次报道中新媒体记者与体育、新闻频道记者共同参与,前往世界杯最前线巴西展开联合报道。同时,在体育频道世界杯特别节目中量身打造了6个微门户,网友和观众可以在看电视时与节目实时互动,实现了新媒体与传统电视节目深度融合,搭起了节目与观众之间互动的桥梁。

猜你喜欢

宏块分区编码
贵州省地质灾害易发分区图
上海实施“分区封控”
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
《全元诗》未编码疑难字考辨十五则
基于运动估计与补偿的雷达拼图预测分析*
子带编码在图像压缩编码中的应用
Genome and healthcare
浪莎 分区而治
大空间建筑防火分区设计的探讨
基于KVM视频的H.264预测模式选择算法