专利名称:快速提取关键帧的方法和装置的制作方法
技术领域:
本发明涉及视频数据处理技术领域,尤其涉及一种对电视音像资料编目时 从视频数据中提取关键帧的方法和装置。
背景技术:
媒体行业长期以来积累了众多的多媒体资料,带给了人们信息和娱乐,充 实了人们的精神生活。随着电视台数字化进程的快速推进和视频应用的迅猛发 展,越来越多的媒体企业认识到必须改善对多媒体资料等媒体资产的管理方法, 才能适应高速发展的技术、业务需求。
目前许多电视台都在进行媒体资产管理系统(简称媒资系统)的建设。如
图1所示,为了将视频存储到媒资系统的数据库中, 一般会经过以下过程视 频会先上载到现有的播出系统中,然后经过节目迁移入库请求,视频才会被筛 选进入媒资系统的数据库中,此时,为了便于快速查询和浏览视频,会将视频 转化为低码流的格式,并提取关键帧,最后对视频进行打点编辑和信息编目, 从而完成入库。
在上述视频入库的过程中, 一个重要的工作为从视频中提取关键帧。通常 一个视频中包含有多个镜头,所提取的关键帧即用于代表视频包含的每个镜头 的内容。提取出关键帧之后,通过检索关键帧,来提高视频的查询和浏览效率。
为了提取视频中每个镜头的关键帧,传统的方法是对视频进行镜头分割(检 测出各镜头的边界),然后从分割后的各镜头中提取关键帧。在实现镜头分割后, 一部视频素材就会自动提取能够代表镜头内容的一个或多个关键帧,并加以描 述后存入数据库,对应的码流存储在媒资系统的数据库中,通过检索关键帧来 代替相应的码流,提高该视频素材的查询和浏览效率。
传统的镜头分割方法是先提取视频中各帧的特征值(如颜色分量或直方 图),然后进行逐帧比较,当相邻两帧的特征值之差大于一定阈值时,说明该两 帧为镜头的边界,在它们之间发生了镜头转换,所以在该两帧之间进行镜头分
5割即可。
上述方法的缺点是当一部视频较长时,其逐帧比较的方式将非常耗时。 虽然该方法能保证查全率(即每帧数据都会进行比较),但速度太慢,尤其不适 用于电视台的媒资系统,原因是 一、电视台对视频处理的速度要求较高;二、 用于客户浏览而提取的关键帧需要的不是"全"而是"准"(即所提取的关键帧 分别属于不同的镜头)。
发明内容
本发明提供一种快速提取关键帧的方法和装置,用于在保证查准率的前提 下,快速提取关键帧。
为达到上述目的,本发明釆用如下技术方案 一种快速提取关键帧的方法,包括
a 、确定视频的帧序列中首帧与尾帧的特征值之差大于设定的阈值;
b、 将帧序列分割为两个帧序列,并记录分割位置,所述两个帧序列中前一 帧序列的尾帧与后一帧序列的首帧为同 一帧;
c、 在分割后的所有帧序列中,根据相邻帧序列的首帧与尾帧的特征值之差 情况,处理所记录的分割位置,并找出首帧与尾帧的特征值之差大于所述阈值 的帧序列,执行步骤b,如果未找出所述帧序列,则执行步骤d;
d、 根据处理后的分割位置,提取关键帧。 一种快速提取关键帧的方法,包括
a 、确定视频的帧序列中首帧与尾帧的特征值之差'J、于设定的阈值; b、从所述帧序列的任意位置,提取关键帧。 一种快速提取关键帧的装置,其特征在于,包括
第 一确定单元用于确定视频的帧序列中首帧与尾帧的特征值之差大于设 定的阈值;
分割和记录单元用于将帧序列分割为两个帧序列,并记录分割位置,所 述两个帧序列中前一帧序列的尾帧与后一帧序列的首帧为同一帧;
处理和查找单元用于在分割后的所有帧序列中,根据相邻帧序列的首帧
6与尾帧的特征值之差情况,处理所记录的分割位置,并找出首帧与尾帧的特征 值之差大于所述阈值的帧序列,发送给分割和记录单元,如果未找出所述帧序
列,则启动第一提取单元;
第一提取单元用于根据处理后的分割位置,提取关键帧。 一种快速提取关键帧的装置,包括
第二确定单元用于确定视频的帧序列中首帧与尾帧的特征值之差小于设 定的阈值;
第二提取单元用于从所述帧序列的任意位置,提取关键帧。 本发明中,首先将视频的帧序列中首帧与尾帧的特征值之差与设定的阈值 进行比较,如果小于设定的阈值,则说明该视频仅包含一个镜头,此时,则可 以从视频帧序列的任意位置提取关键帧。如果大于设定的阈值,则说明该视频 包含多个镜头,此时,将帧序列分割为两个帧序列,并记录分割位置,所述两 个帧序列中前一帧序列的尾帧与后一帧序列的首帧为同一帧;然后在分割后的 所有帧序列中,根据相邻帧序列的首帧与尾帧的特征值之差情况,处理所述分 割位置,并找出首帧与尾帧的特征值之差大于所述阈值的帧序列,执行前述分 割的步骤;经过该步骤处理后,包含多个镜头的帧序列都会被不断的进行再分 割,直至所有的帧序列中仅包含一个镜头。分割过程结束后,所记录的分割位 置中,就包含了每个镜头的边界帧(首帧和尾帧),因此,根据所记录的分割位 置,即可提取关键帧。本发明是将帧序列的首尾帧特征值之差与设定的阈值进 行比较,判断其是否包含多个镜头,然后将包含多个镜头的帧序列不断进行分 割,直至其只包含一个镜头,从而最终实现了镜头分割,本发明没有进行逐帧 比较,大大减少了运算量,节省了时间,并且保证了所提取的关键帧属于不同 的镜头,因此,本发明能够在保证查准率的前提下,快速提取关键帧。
图1为现有技术中将视频存储到媒资系统数据库中的流程示意图; 图2为本发明方法实施例一的流程示意图; 图3为本发明方法实施例二的流程示意7图4为现有技术中视频帧序列的结构示意图5为本发明中对^f见频帧序列进行分割的示意图6为本发明中删除分割位置的情况示意图7为本发明中利用二叉树结构记录图6所示分割位置的示意图8为本发明装置一个实施例的结构示意图9为本发明装置另一实施例的结构示意图。
具体实施例方式
本发明提供一种快速提取关键帧的方法和装置,它能够在保证查准率的前 提下,快速提取关键帧。下面结合附图对本发明作详细描述。
一方面,本发明提供一种快速提取关键帧的方法,它包含有两种技术方案, 此处分别采用实施例 一和实施例二对该两种技术方案进行介绍。
实施例一
如图2所示,本实施例快速提取关键帧的方法,包括
步骤201:确定视频的帧序列中首帧与尾帧的特征值之差大于设定的阈值;
现有技术中,帧特征值的计算方法有直方图、RGB颜色分量和边缘(轮廓) 特征值等方法。本实施例中,特征值以RGB颜色分量为例。
如果首帧与尾帧的特征值之差大于设定的阈值,则说明该帧序列包含有多 个镜头,因此,为了在各镜头中提取关键帧,还需要进行后续步骤。
步骤202:将帧序列分割为两个帧序列,并记录分割位置,所述两个帧序列 中前一帧序列的尾帧与后一帧序列的首帧为同 一帧;
该步骤202中,将帧序列分割为两个帧序列,该两个帧序列中前一帧序列 的尾帧与后一帧序列的首帧为同一帧的原因是在分割后,通常会存在这种情 况,即,相邻的两个帧序列属于同一个镜头。由于该步骤202中的分割位置是 随机选取的,所以可能会在一个镜头帧序列的中间某个位置进行了分割,此时, 经过后续分割后,就会出现相邻帧序列属于同一镜头的情况。因此,为了保证 所提取的关键帧属于不同的镜头,就需要识别出这种情况。该步骤中的分割时 使相邻帧序列包含有同一帧,因此,如果已知相邻帧序列都只包含有一个镜头,则不用进行额外的比较,就能够推知该相邻帧序列属于同一镜头。而如果分割 时使相邻帧序列不包含有同一帧,则还需要进行额外的比较,来判断它们是否 属于同一个镜头,这样就会增加计算量,耗费较多时间。
步骤203:在分割后的所有帧序列中,根据相邻帧序列的首帧与尾帧的特征 值之差情况,处理所记录的分割位置,并找出首帧与尾帧的特征值之差大于所 述阈值的帧序列,执行步骤202,如果未找出所述帧序列,则执行步骤204;
该步骤203中,首先根据相邻帧序列的首帧与尾帧的特征值之差情况,处 理所记录的分割位置,这主要是用于判断出相邻帧序列属于同一镜头的情况, 然后对这种情况下相邻帧序列的相邻位置所对应的分割位置进行处理。处理的 目的是为了保证后续提取关键帧时的查准率。此处的处理可以是标记该相邻位 置所对应的分割位置与相邻的两个帧序列各自的首尾帧均属于同一镜头,或者 直接将该分割位置删除从而合并该相邻两个帧序列。
另外,该步骤203中还找出了首帧与尾帧的特征值之差大于所述阈值的帧 序列,执行步骤202,从而使得包含多个镜头的帧序列都会被不断的进行再分割, 直至所有的帧序列中仅包含一个镜头。需要说明的是,本发明方法尽管会在一 个镜头的中间某些位置对该镜头的帧序列进行分割,但最后在镜头的边界处必 然会进行了分割(不然的话,就会不断的执行步骤202 ),最终实现了镜头分割, 因此,所记录的分割位置中,包括与镜头的边界帧相对应的分割位置,另外还 包括与镜头内某些帧相对应的分割位置,而与镜头内某些帧相对应的分割位置 已经经过处理,因此,根据处理后的分割位置,就能够方便的提取出关^:帧。
步骤204:根据处理后的分割位置,提取关键帧。
经过前面的步骤后,此时根据处理后的分割位置,就能够方便的提取出关 键帧。
本实施例是将帧序列的首尾帧特征值之差与设定的阈值进行比较,判断其 是否包含多个镜头,然后将包含多个镜头的帧序列不断进行分割,直至其只包 含一个镜头,从而最终实现了镜头分割。本实施例没有进行逐帧比较,大大减 少了运算量,节省了时间,并且能够保证所提取的关键帧属于不同的镜头,因
此,本发明能够在保证查准率的前提下,快速提取关^:帧。
9本实施例中,步骤202对帧序列进行分割的位置可以选择帧序列中的任意 位置,均能实现本发明的技术方案。为了使分割过程更加方便和快速,分割的 位置优选为帧序列的中间位置,即对帧序列采用二分法处理,具体如下
如果帧序列的帧个数为n,并且n为偶数,则分割位置为n/2,分割后形成 的两个帧序列的帧个数分别为n/2和n/2+l;
如果帧序列的帧个数为n,并且n为奇数,则分割位置为(n+l)/2,分割 后形成的两个帧序列的帧个数均为(n+l) /2。
另外,步骤203中根据相邻帧序列的首帧与尾帧的特征值之差情况,处理 所述分割位置,具体为如果存在两个相邻的帧序列,其首帧与尾帧的特征值 之差均小于所述阈值,则从所记录的分割位置中,删除该两个帧序列相邻位置 所对应的分割位置。在经过至少两次分割后,会产生相邻帧序列属于同一个镜 头的情况,因此,为了使所提取的关键帧属于不同的镜头,确保查准率,则删 除该两个帧序列相邻位置所对应的分割位置。删除之后,所记录的分割位置中, 就只包含有与镜头的边界帧相对应的分割位置,此时,就可以根据所记录的分 割位置,直接提取边界帧作为关键帧。而如果需要在一个镜头内提取多个关键 帧的话,则可以根据所述边界帧的位置,计算并提取出镜头内部位置的帧作为 关键帧。
并且,本发明中为了更快速的提取关键帧,所述方法进一步包括预先设 定分割次数,当所述分割的次数达到预先设定的分割次数时,结束步骤203,执 行步骤204。如果对关键帧查全率要求不高,比如只需要获取少量关键帧时,那 么使用较少的分割次数,使步骤203尽早结束,这样就能更快速的提取关键帧。
实施例二
如图3所示,本实施例快速提取关键帧的方法,包括
步骤301:确定视频的帧序列中首帧与尾帧的特征值之差小于设定的阈值;
步骤302:从所述帧序列的任意位置,提取关键帧。
本实施例中首帧与尾帧的特征值之差小于设定的阈值,说明该视频仅包含 一个镜头,此时,可以从视频帧序列的任意位置提取关键帧。由于在步骤301 中已经获取了首尾帧的数据,因此,优选提取首尾帧作为关键帧,以提高速度。本实施例仅用到了一次比较,就能够提取关键帧,大大减少了运算量,节省了 时间,并且能够保证所提取的关键帧属于不同的镜头,因此,本发明能够在保 证查准率的前提下,快速提取关键帧。
上述实施例一是针对视频中包含多个镜头的情况,该情况实际应用中较为
常见;实施例二是针对视频中仅包含一个镜头的情况,该情况较为少见。下面 结合对一具体视频提取关键帧的过程,对上述实施例一作进一步描述。
为了更容易理解本发明,先简要说明一下现有技术中关键帧的提取方法。
如图4所示的一部视频,各帧用小方块表示,黑色方块代表一个镜头的开 始帧,其中,第1帧和第2帧组成了第一个镜头,第3帧至第6帧则组成了第 二个镜头,第7帧到第N帧则组成了其它多个镜头。
现有技术中,为了提取关键帧,采用的方法是使用逐帧比较的方法检测 出镜头的边界,然后在各个镜头中提取关键帧。逐帧比较需要比较各帧的特征 值(特征值以RGB颜色分量为例),首先计算各帧的RGB分量值,第x帧的特征 值记为f (x),然后计算相邻两帧的帧差lf (x) -f (x-l) I,如果大于预先设 定的阈值F的话,那么就认为在第x帧处发生了镜头转换。这种方法需要对各 帧的特征量都要计算一次共n次计为Un,每对相邻帧都要比较一次帧差共计算 n-l次计为Vn,那么总计算量为Un+Vn=2n-1。
现有技术中提取关键帧时,是将视频的关键帧记录到xml(可扩展标记语言) 文件中进行打点,当需要提取关键帧时直接读取xral文件中帧的位置,来获取 关键帧。本发明中,对帧序列的分割也是通过在文件中打点来实现的,打点位 置即为分割位置。
下面结合图5详细说明使用本发明实施例方法对图4所示的视频提取关键 帧的过程,该过程使用二分分割法并通过打点来实现对帧序列的分割,并且本 实施例视频的帧序列中帧个数n为偶数,各帧分别以1「L来表示。
如图5所示,首先,在首尾两帧L和In处打点并判断lf (n) -f (1) |>F 是否成立,如果成立,说明帧序列中包含有多个镜头,那么在中间位置1-/2处打 点,从而使帧序列分割为1「U和In/2-1 两个帧序列,该两个帧序列中前一帧 序列的尾帧与后一帧序列的首帧为同一帧,均为L/2;然后再分别计算分割形成的两个帧序列的首尾帧特征值之差,即I f ( n/2 ) -f ( 1 ) I >F和I f ( n ) -f ( n/2 ) 1〉F是否成立,如果成立,说明该两个帧序列仍然包含有多个镜头,那么继续在
I!与In/2的中间位置以及In/2与L的中间位置打点,分别记为In/4和U一,接
着计算lf (n/4) -f (1) 1〉F和lf (n/2) -f (n/4) 1〉F以及lf ( 3n/4 ) -f (n/2) |>F和lf (n) -f (3n/4) |〉F是否成立,成立的话,以此类推向下进行,直到 该不等式不成立为止。不成立时,说明对应的帧序列中只包含有一个镜头,这 样就最终实现了镜头分割。
假如在第k次划分之后,在m帧处打的点使得lf (m) -f (m-n/2k) 1〉F不成 立的话,说明这两帧之间为同 一个镜头,那么在xml文件上标记m和(m-n/2k) 这两个点,在第k+1次二分时就不再向这两帧中间打点。
一段帧数为n的视频由于每个镜头最少含有两帧,所以最多只有必要进行 1og2n次二分打点,在每次划分之后,如果帧差不大于阈值F,则在打点记录本 片段,使得在下一次二分时不再插入中间帧以减少计算量。在最后一次划分后, 中间帧与上次划分的前后帧帧数差只会是2或者3,那么到这一层为止,如果帧 差大于阈值F的话,则打点记录两帧,如果小于阈值F,则只取两帧中的前面一 帧位置。
在上述判断不等式是否成立的过程中,可以同时判断出相邻帧序列属于同 一镜头的情况,确定出现该情况后,删除相邻帧序列之间的打点位置。如图6 所示的打点过程中,第一次打点位置为第q帧,第二次打点位置为第p帧;由 于p和q之间包含多个镜头,因此会有第三次打点,打点位置为第u帧;由于p 和u之间只包含一个镜头,因此p和u之间不再打点,而u和q之间还包含多 个镜头,因此会继续在u和q之间打点,打点位置为第v帧。由图6可知,p和 u之间的帧序列与u和v之间的帧序列为相邻的帧序列,该相邻帧序列就属于同 一个镜头,因此,删除u帧的打点记录。
最后,处理后的打点位置中就仅包含各镜头的边界帧,因此,根据处理后 的打点位置,即可提取关键帧。
结合上述过程,分析两种极限情况
第一种极限情况是每个镜头只含两帧,直到第log2n-l次划分为止才有帧差不大于阈值F的情况,此时,需要计算特征量的帧数为n/2,计算量为Un/2,帧 差对比计算的次数为Vn-2。+2'+22十……+2A(log2n-1)=2° (2Alog2n-l) / (2-1) =n-l。
这种情况是计算量最大的情况,总计算量为Un/2+Vn=l. 5n-l。 第二种极限情况是整部视频只由一个镜头组成(即实施例二),那么只需计
算首尾帧特征值即Un=2,而帧差对比次数只需一次即Vn=l。 这种情况是计算量最小的情况,总计算量为Un+Vn=2+1=3。 由以上分析可知,即使在最差情况下本发明方法也会比传统的逐帧比较法 的计算量(2n-l)小,节省时间。
以上分析是针对帧序列中帧个数n为偶数的情况,当n为奇数时同样也会 减少计算量,节省时间。并且当n为奇数时,分割过程可以有两种处理方式 一种方式是,分割位置选择为(n+1) /2,其余步骤与上述步骤相同;另一种方 式是,舍去帧序列中的某个帧,使n变为偶数后,再釆用上述步骤进行处理。
以上过程重点描述了使用本发明方法中对帧序列的分割及其有益效果。在 每次分割后,都会记录分割位置(即打点位置),为了清晰、方便的记录各分割
位置,并便于后续步骤从中提取关键帧,本发明中,优选结合所述分割过程, 使用二叉树结构进行记录。
下面将详细介绍本发明方法如何使用二叉树记录所述分割位置。
使用二叉树记录分割位置的过程如下
将第 一次分割时的分割位置记录为二叉树的# 节点;在后续分割过程中, 获得当前要分割的帧序列以及在上一次分割过程中该帧序列所对应的分割位 置,按照该两者的位置关系,将该帧序列的分割位置记录为上一次分割过程中 分割位置所对应节点的左子节点或右子节点。如图7所示,为本发明中利用二 叉树结构记录图6所示分割位置的示意图。图6中,q为第一次分割时的分割位 置,因此将q记录为二叉树的根节点;后续分割过程中,根据帧序列的位置关 系,构建二叉树的各节点,所以在第二次分割时,由于p所要分割的帧序列位 于q的左侧,因此将p记录为q的左子节点;第三次分割时,由于u所要分割 的帧序列位于p的右侧,因此将u记录为p的右子节点;同理,第四次分割时, v记录为u的右子节点。在分割过程中,如果存在一个帧序列,其首帧与尾帧的特征值之差小于所 述阈值(即首尾帧处于同一镜头内),并且其首尾位置所对应的两个节点中,一 个节点为另一节点的子节点,则所述子节点将不具有与另一节点同侧的下层节
点。参见图6和图7,在进行第三次分割时,由于u与p处在同一4竟头中,且p 在u的左侧,所以对应的二叉树中u将不再具有左子节点。同理,v也不具有左 子节点。
在所述二叉树中,对于某一节点,其具有父节点和子节点,如果该节点不 具有与其父节点同侧的下层节点,并且其子节点也不具有与该节点同侧的下层 节点,则删除该节点,使其父节点与子节点直接相连。参见图6和图7,对于节 点u,它具有父节点p和子节点v,由于u将不具有与p同侧的左节点,v也不 具有与u同侧的左节点,因此,说明p、 u和v处于同一镜头中,这种情况下, 为了使提取的关键帧属于不同的镜头,确保查准率,则删除u节点,使p与v 直接相连。
整棵树建立完毕后,参见图5,整部视频的中间帧n/2将为根节点,其左子 节点为n/4帧号,右子节点为3n/4帧号,依次类推,最后整部视频的首帧号1 位于左子树末尾左叶子节点处,尾帧n处在右子树末尾右叶子节点处,那么对 整棵树进行中序遍历,根据遍历结果,即可获得按时间顺序排列的关键帧序列。 由于中序遍历是首先遍历左子树,然后访问根结点,最后遍历右子树;并且在 遍历左、右子树时,仍然先遍历左子树,再访问根结点,最后遍历右子树,所 以,进行中序遍历后,根据遍历结果,就能够获得按时间顺序排列的关键帧序 列。
上述过程介绍了本发明如何使用二叉树结构记录所述分割位置,使用二叉 树的好处在于,二叉树的结构能够与本发明的分割过程相配合,分割过程中所 记录的分割位置正好构成二叉树的节点,因此,使用二叉树能够非常清晰、方 便的记录各分割位置。并且,最后对整棵树进行中序遍历,根据遍历结果,还 能够获得按时间顺序排列的关键帧序列,方便关键帧的使用。
本发明实施例中,由于删除了同一镜头内的分割位置,只保留了镜头首尾 位置的分割位置,因此,最后根据处理后的分割位置,所提取的关键帧是各镜
14头的首帧或尾帧。本发明实施例在保证查准率的前提下,快速的提取了关键帧。
另外,本发明方法还可以让用户设定分割次数k (l<k<log2n)的大小,使 分割步骤尽早结束,以自由控制二叉树的深度。如杲对关键帧查全率要求不高, 比如只需要获取少量关键帧时,那么可以把分割次数k设定的小一些,这种情 况下会更快速的完成关键帧提取。但这种情况最后没有实现镜头分割,因此, 所提取的关键帧就不再是各镜头的首帧或尾帧,但是,本发明在所记录的分割 位置中,将属于同一镜头的相邻关键帧之间的分割位置进行了处理(标记或是 删除),因此能够保证最终根据处理后的分割位置,所提取出的关^:帧属于不同 的镜头,确保查准率。
综上,本发明的方法,是将帧序列的首尾帧特征值之差与设定的阈值进行 比较,判断其是否包含多个镜头,然后将包含多个镜头的帧序列不断进行分割, 直至其只包含一个镜头,最后根据分割位置,来提取关键帧。本发明没有进行 逐帧比较,大大減少了运算量,节省了时间,并且能够保证所提取的关键帧属 于不同的镜头,因此,本发明能够在保证查准率的前提下,快速提取关键帧。
另一方面,与上述方法相对应,本发明提供一种快速提取关键帧的装置, 该装置也有两种技术方案,此处分别采用实施例三和实施例四对其进行介绍。
实施例三
如图8所示,本实施例快速提取关键帧的装置,包括 第一确定单元801:用于确定视频的帧序列中首帧与尾帧的特征值之差大于 设定的阈值;
分割和记录单元802:用于将帧序列分割为两个帧序列,并记录分割位置, 所述两个帧序列中前一帧序列的尾帧与后一帧序列的首帧为同一帧;
处理和查找单元803:用于在分割后的所有帧序列中,根据相邻帧序列的首 帧与尾帧的特征值之差情况,处理所记录的分割位置,并找出首帧与尾帧的特 征值之差大于所述阈值的帧序列,发送给分割和记录单元802,如果未找出所述 帧序列,则启动第一提取单元804;
第一提取单元804:用于根据处理后的分割位置,提取关键帧。
本发明的装置,是将帧序列的首尾帧特征值之差与设定的阈值进行比较,判断其是否包含多个镜头,然后将包含多个镜头的帧序列不断进行分割,直至 其只包含一个镜头,最后根据分割位置,来提取关键帧。本发明没有进行逐帧 比较,大大减少了运算量,节省了时间,并且能够保证所提取的关键帧属于不 同的镜头,因此,本发明能够在保证查准率的前提下,快速提取关键帧。 实施例四
如图9所示,本实施例快速的关键帧提取装置,包括 第二确定单元901:用于确定视频的帧序列中首帧与尾帧的特征值之差、于 设定的阈值;
第二提取单元902:用于从所述帧序列的任意位置,提取关键帧。 本发明中首帧与尾帧的特征值之差小于设定的阈值,说明该视频仅包含一 个镜头,此时,可以从视频帧序列的任意位置提取关键帧,以用于表示镜头的 内容。本发明仅用到了一次比较,大大减少了运算量,节省了时间,并且能够 保证所提取的关键帧属于不同的镜头,因此,本发明能够在保证查准率的前提 下,快速提取关键帧。
以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应 以所述权利要求的保护范围为准。
权利要求
1、一种快速提取关键帧的方法,其特征在于,包括a、确定视频的帧序列中首帧与尾帧的特征值之差大于设定的阈值;b、将帧序列分割为两个帧序列,并记录分割位置,所述两个帧序列中前一帧序列的尾帧与后一帧序列的首帧为同一帧;c、在分割后的所有帧序列中,根据相邻帧序列的首帧与尾帧的特征值之差情况,处理所记录的分割位置,并找出首帧与尾帧的特征值之差大于所述阈值的帧序列,执行步骤b,如果未找出所述帧序列,则执行步骤d;d、根据处理后的分割位置,提取关键帧。
2、 根据权利要求1所述的方法,其特征在于,步骤b中分割帧序列,具体为如果该帧序列的帧个数为n,并且n为偶数,则分割位置为n/2,分割后形 成的两个帧序列的帧个数分别为n/2和n/2+l;如果该帧序列的帧个数为n,并且n为奇数,则分割位置为(n+l)/2,分 割后形成的两个帧序列的帧个数均为(n+l) /2。
3、 根据权利要求1或2所述的方法,其特征在于,步骤c中根据相邻帧序 列的首帧与尾帧的特征值之差情况,处理所述分割位置,具体为如果存在两个相邻的帧序列,其首帧与尾帧的特征值之差均小于所述阈值,则从所记录的分割位置中,删除该两个帧序列相邻位置所对应的分割位置。
4、 根据权利要求1或2所述的方法,其特征在于,步骤b中记录分割位置, 进一步为结合所述分割过程,使用二叉树结构记录分割位置。
5、 根据权利要求4所述的方法,其特征在于,所述结合所述分割过程,使 用二叉树结构记录分割位置,具体为将第一次分割时的分割位置记录为二叉树的根节点;获得当前要分割的帧序列以及在上一次分割过程中该帧序列所对应的分割 位置,按照该两者的位置关系,将该帧序列的分割位置记录为上一次分割过程 中分割位置所对应节点的左子节点或右子节点。
6、 根据权利要求5所述的方法,其特征在于,所述方法进一步包括 在所述分割过程中,如果存在一个帧序列,其首帧与尾帧的特征值之差小于所述阈值,并且其首尾位置所对应的两个节点中, 一个节点为另一节点的子 节点,则所述子节点将不具有与另一节点同侧的下层节点。
7、 根据权利要求6所述的方法,其特征在于,所述方法进一步包括 在所述二叉树中,对于某一节点,其具有父节点和子节点,如果该节点不具有与其父节点同侧的下层节点,并且其子节点也不具有与该节点同侧的下层 节点,则删除该节点,使其父节点与子节点直接相连。
8、 根据权利要求7所述的方法,其特征在于,步骤d根据处理后的分割位 置,提取关键帧,进一步为对所述二叉树进行中序遍历,根据遍历结果,提取关键帧。
9、 根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括 预先设定分割次数,当所述分割的次数达到预先设定的分割次数时,结束步骤c,执行步骤d。
10、 一种快速提取关键帧的方法,其特征在于,包括a、 确定视频的帧序列中首帧与尾帧的特征值之差小于设定的阈值;b、 从所述帧序列的任意位置,提取关键帧。
11、 一种快速提取关键帧的装置,其特征在于,包括第一确定单元用于确定视频的帧序列中首帧与尾帧的特征值之差大于设 定的阈值;分割和记录单元用于将帧序列分割为两个帧序列,并记录分割位置,所 述两个帧序列中前一帧序列的尾帧与后一帧序列的首帧为同 一帧;处理和查找单元用于在分割后的所有帧序列中,根据相邻帧序列的首帧 与尾帧的特征值之差情况,处理所记录的分割位置,并找出首帧与尾帧的特征 值之差大于所述阈值的帧序列,发送给分割和记录单元,如果未找出所述帧序 列,则启动第一提取单元;第一提取单元用于根据处理后的分割位置,提取关键帧。
12、 一种快速提取关键帧的装置,其特征在于,包括 第二确定单元用于确定视频的帧序列中首帧与尾帧的特征值之差小于设 定的阈值;第二提取单元用于从所述帧序列的任意位置,提取关键帧。
全文摘要
本发明公开了一种快速提取关键帧的方法和装置,属于视频数据处理技术领域,解决了现有技术中镜头分割时采用逐帧比较的方法,耗时长的问题。所述快速提取关键帧的方法,包括a.确定视频的帧序列中首帧与尾帧的特征值之差大于设定的阈值;b.将帧序列分割为两个帧序列,并记录分割位置,所述两个帧序列中前一帧序列的尾帧与后一帧序列的首帧为同一帧;c.在分割后的所有帧序列中,根据相邻帧序列的首帧与尾帧的特征值之差情况,处理所记录的分割位置,并找出首帧与尾帧的特征值之差大于所述阈值的帧序列,执行步骤b,如果未找出所述帧序列,则执行步骤d;d.根据处理后的分割位置,提取关键帧。本发明适用于从视频中提取关键帧。
文档编号G06F17/30GK101499085SQ20081023973
公开日2009年8月5日 申请日期2008年12月16日 优先权日2008年12月16日
发明者张蕲龙, 朱兴辉, 群 杨, 董全武, 郭宗明 申请人:北京大学;北大方正集团有限公司;北京北大方正电子有限公司