法律状态公告日
法律状态信息
法律状态
2011-01-05
授权
授权
2009-08-05
实质审查的生效
实质审查的生效
2009-06-10
公开
公开
技术领域
本发明涉及数字视频检索领域,具体来说是一种压缩域视频流的关键帧提取方法。
背景技术
随着Internet网络的普及,越来越多的多媒体信息进入人们的工作和生活中。多媒体信息中比重最大的就是数字视频信息,它包含丰富的信息量,但是其抽象程度比较低,由于处理能力还不能跟上视频数据增长的速度,导致大量的视频数据不能有效利用。为了解决视频信息膨胀所带来的问题,一是对视频数据进行有效的压缩,二是对视频数据进行检索的技术。
当前主流的视频压缩编码国际标准是H.26X或者MPEG-X系列,以及最先进的H.264/AVC压缩标准,都可以在保证视频质量的前提下大大降低视频信息的数据量。它们都是基于空间域和时间域混合的操作架构,每一个视频帧被分成16×16像素大小的宏块,对每个宏块通过运动矢量进行时间上的预测或者空间上的DCT变换来进行频域上的压缩。从压缩的视频码流中我们也可以提取出一部分信息来代表视频的内容。
关键帧提取是视频检索中关键的部分。关键帧的使用可以减少视频索引的数据量,同时也提供了一个组织视频的结构框架。关键帧提取的好坏对视频检索来说具有决定性的作用,关键帧的提取一方面要能够表现镜头的主要内容,另一方面,其数据量要尽量小,以便于计算和管理。
如今绝大部分视频都是以压缩域的方式来存储的。传统的关键帧提取方法都是先将压缩的视频流解压,然后再对解压后的数据进行分析来提取关键帧。其中对压缩视频流进行解压,不同的算法标准具有不同的细节步骤,但是都会包括可变长熵解码、反向DCT变换、运动补偿、宏块重建等步骤。
发明内容
本发明提供了一种压缩域视频流的关键帧提取方法,解决了视频数据检索的过程中关键帧提取技术。
本发明方法包括以下步骤:
(1)输入压缩域视频流。
(2)压缩域视频流进行可变长熵解码并提取压缩域视频流中编码宏块的相关特征,得到的编码宏块的相关特征分别用于时域分割、镜头分类和关键帧提取。
编码宏块的相关特征包括编码宏块的类型特征,编码宏块的运动矢量特征,编码宏块DCT变换的系数特征,编码宏块的量化参数特征和编码帧的码率特征。
编码宏块的相关特征可以用来对压缩域视频流进行时域分割、镜头分类和关键帧提取。
可变长熵解码属于部分解码,这一过程相对于全部解压而言,只占对压缩域视频流全部解压的10%的计算量。避免了由对压缩视频流进行全部解压所带来的额外计算量,降低了整个视频检索过程的复杂度。
(3)利用视频流中编码宏块的相关特征对压缩域视频流进行时域分割得到若干镜头片断。
镜头是由时间上连续的视频帧组成,它代表一个场景在时间和空间上的连续的动作。在镜头发生变化时,压缩域视频流中的编码宏块的类型特征、编码宏块的量化参数特征和编码帧的码率特征会发生明显的变化。
编码宏块类型分为帧内编码宏块和帧间编码宏块两类。设Nai为第i个视频帧中帧内编码宏块的个数,Nei为该帧中帧间编码宏块的个数,为该帧的平均量化参数,为前一帧的平均量化参数,Ri为该帧的码率,Ri-1为前一帧的码率。若满足下面的式(1),则可以判断压缩域视频流发生了镜头变换:
其中平均量化参数由式(2)求出,Qi(k)为第i帧第k个宏块的量化参数,N为第i帧的宏块个数。
然后将该帧及该帧后面的帧标志为下一个镜头,实现了压缩域视频流时域上的分割,得到若干镜头片断。
(4)利用视频流中编码宏块的相关特征将得到的若干镜头片断进行镜头分类,分为静止镜头片断、人和物体运动镜头片断和摄像机运动镜头片断。
(5)镜头分类后的镜头片断按类别进行相应的关键帧的提取,得到镜头片断的关键帧。
对静止镜头片断进行关键帧提取:选择该镜头的第一帧作为关键帧。
对摄像机运动镜头片断进行关键帧提取:根据每帧的运动矢量特征估计每帧的摄像机运动参数,判断摄像机运动参数变化是否超过阈值,若超过阈值则选择该帧为关键帧。
对人和物体运动镜头片断进行关键帧提取:根据每帧的编码宏块运动矢量计算出物体运动累积量Ami,判断该帧的物体运动累积量是否超过阈值,若某一帧的物体运动累积量超过阈值,则取该帧为关键帧并将物体运动运动累积量Ami清零。
本发明对MPEG-X系列、AVS、H.264/AVC等压缩算法的视频码流都具有良好的提取效果,在减少视频数据量的同时充分表现了视频的主要内容。使用本发明方法提取的关键帧结果可以达到人工检测的结果97%以上的准确率具有很好的鲁棒性,并与人的视觉保持了良好的一致性。为视频检索和视频摘要等应用打下了良好的基础。
附图说明
图1为压缩域视频流的关键帧提取方法的流程图;
图2为本发明的摄像机运动镜头片断的关键帧提取操作的流程图;
图3为本发明的物体运动镜头片断的关键帧提取操作的流程图。
具体实施方式
如图1所示,一种压缩域视频流的关键帧提取方法,包括以下步骤:
(1)输入压缩域视频流。
(2)压缩域视频流进行可变长熵解码并提取压缩域视频流中编码宏块的相关特征,得到的编码宏块的相关特征分别用于时域分割、镜头分类和关键帧提取。
编码宏块的相关特征包括编码宏块的类型特征,编码宏块的运动矢量特征,编码宏块DCT变换的系数特征,编码宏块的量化参数特征和编码帧的码率特征。
编码宏块的相关特征可以用来对压缩域视频流进行时域分割、镜头分类和关键帧提取。
可变长熵解码属于部分解码,这一过程相对于全部解压而言,只占对压缩域视频流全部解压的10%的计算量。避免了由对压缩视频流进行全部解压所带来的额外计算量,降低了整个视频检索过程的复杂度。
(3)利用视频流中编码宏块的相关特征对压缩域视频流进行时域分割得到若干镜头片断。
镜头是由时间上连续的视频帧组成,它代表一个场景在时间和空间上的连续的动作。在镜头发生变化时,压缩域视频流中的编码宏块的类型特征、编码宏块的量化参数特征和编码帧的码率特征会发生明显的变化。
编码宏块类型分为帧内编码宏块和帧间编码宏块两类。设Nai为第i个视频帧中帧内编码宏块的个数,Nei为该帧中帧间编码宏块的个数,为该帧的平均量化参数,为前一帧的平均量化参数,Ri为该帧的码率,Ri-l为前一帧的码率。若满足下面的式(1),则可以判断压缩域视频流发生了镜头变换:
其中平均量化参数由式(2)求出,Qi(k)为第i帧第k个宏块的量化参数,N为第i帧的宏块个数。
然后将该帧及该帧后面的帧标志为下一个镜头,实现了压缩域视频流时域上的分割,得到若干镜头片断。
(4)利用视频流中编码宏块的相关特征将得到的若干镜头片断进行镜头分类,分为静止镜头片断、人和物体运动镜头片断和摄像机运动镜头片断。
用mvxi(k)和mvyi(k)表示压缩域的视频流第i帧中第k个编码宏块的水平和垂直运动矢量,该帧有N个编码宏块。镜头片断根据运动情况可以分为三类:
1)静止镜头片断的判断
镜头场景几乎没有变化,表现为镜头中每帧的各个编码宏块运动矢量都很小。如果镜头中连续M(M>5)帧都满足下式(3),则可判断该镜头片段为静止镜头片断:
2)摄像机运动镜头片断的判断
镜头场景随着摄像机的运动而变化,表现为镜头中每帧80%以上的编码宏块都具有相似的运动矢量。利用下面的(4)式来统计具有相似运动矢量的编码宏块的个数counti:
counti++;
当counti≥0.8N时,表示该帧为摄像机运动。如果该镜头中连续M(M>5)帧都满足counti≥0.8N,则可判断为摄像机运动镜头片断。
3)人和物体运动镜头片断的判断
镜头背景不变,人和物体有变化,表现为镜头中每帧60%以上的编码宏块运动矢量很小,20%以上的编码宏块具有相似的较大的运动矢量。可以用下面的(5)式来进行统计:
count1i++;
flag(k)=1;
(5)
else
flag(k)=0;
countli表示运动矢量比较小的宏块个数。flag(k)=1表示该宏块被标记为运动矢量小的宏块。flag(k)=0表示该宏块被标记为运动矢量大的宏块。然后根据(6)式统计运动矢量大的宏块的运动矢量相似性:
count2i++;
count2i表示具有相似的较大的运动矢量的编码宏块的个数。如果该镜头中连续M(M>5)帧都满足countli≥0.6N & & count2i≥0.2N,则可判断为人和物体运动镜头片断。
(5)镜头分类后的镜头片断按类别进行相应的关键帧的提取,得到镜头片断的关键帧。
对于静止镜头片断,由于镜头静止,所以选择镜头片断中任意一个作为关键帧都是可以的,一般情况下选择该镜头片断的第一帧作为关键帧。
对于摄像机运动镜头片断,如图2所示,首先根据编码宏块运动矢量特征估计每帧的摄像机运动参数。摄像机运动参数可以用(7)式来估计:
其中mvx、mvy分别为水平和垂直运动矢量,x、y为编码宏块的中心位置,已知mvx、mvy、x、y,通过最小方差法估计4个摄像头运动参数a1、a2、a3、a4,参数a1代表摄像头水平左右运动,参数a2代表摄像头焦距拉伸运动,参数a3代表摄像头旋转运动,参数a4代表摄像头上下运动。
如果摄像机运动发生变化,例如从平移变为静止,或从向左移动改为向上移动,相应的4个参数也会发生变化,如果参数变化超过一定阈值T1(T1=2),就说明有摄像机运动变化发生:
|a1i-a1i-1|+|a2i-a2i-1|+|a3i-a3i-1|+|a4i-a4i-1|≥T1 (8)
此时选择发生变化的帧(第i帧)为关键帧。这样选择出来的关键帧就可以代表摄像机的运动方式。例如在这四个运动参数中a1的变化值|a1i-a1i-1|≥0.5,表示在第i帧发生了水平运动;a2的变化值|a2i-a2i-1|≥0.5,表示在第i帧发生了焦距拉伸运动;a3的变化值|a3i-a3i-1|≥0.5,表示在第i帧发生了旋转运动;a4的变化值|a4i-a4i-1|≥0.5,表示在第i帧发生了上下运动。
对于人和物体运动镜头片断,如图3所示,由于背景固定,所以大部分区域的运动矢量很小,只有小部分区域具有比较大的运动矢量。首先根据每帧的运动矢量,通过式(9)计算出物体运动的累积量Ami:
如果某一帧的累积量超过一定的阈值T2(T2=4×N),则取该帧为关键帧并将运动累积量Ami清零。如果物体运动量较小,那么提取出来关键帧的个数就比较少,反之,如果物体运动量较大,则每帧计算出来的Ami也会很大,那么在这一镜头中超过阈值T2的次数会增多,因此提取出来关键帧的个数就会比较多,这样也正是反映了物体运动的关键特征。
本发明对MPEG-X系列、AVS、H.264/AVC等压缩算法的视频码流都具有良好的提取效果。下表1是对H.264编码的各种视频片断进行关键帧提取结果对比,可以发现该方法提取的结果可以达到人工检测的结果97%以上的准确率,因此该方法具有很好的鲁棒性,并与人的视觉保持了良好的一致性。
表1 对H.264编码的各种视频片断进行关键帧提取结果
机译: 关键帧提取器,关键帧提取程序,关键帧提取方法,成像设备和服务器设备
机译: 从没有关键帧的压缩数字视频流中加速访问帧
机译: 从没有关键帧的压缩数字视频流中加速访问帧