一种录像文件的剪辑备份方法及装置制造方法

文档序号:6486411阅读:107来源:国知局
一种录像文件的剪辑备份方法及装置制造方法
【专利摘要】本发明实施例提供一种录像文件的剪辑备份方法及装置,所述方法包括:录像时为录像文件创建索引文件;根据所述索引文件确定欲定位时间对应的帧索引信息;根据所述欲定位时间对应的帧索引信息,对所述录像文件进行剪辑备份。本发明实施例的有益技术效果在于:为每个录像文件关联一个帧索引信息,可以降低分析原始帧索引的工作量,避免了每次查询都要分析定位的工作,提高了查询速度。采用本发明实施例的技术方案可以实现快速高效的音视频录像数据剪辑备份功能。
【专利说明】一种录像文件的剪辑备份方法及装置
【技术领域】
[0001]本发明涉及嵌入式视频监控存储设备的视频剪辑备份领域,具体地涉及一种录像文件的剪辑备份方法及装置。
【背景技术】
[0002]视频剪辑备份是指从视频数据文件中指定一段时间的视频剪辑出来备份到其它存储设备的文件中。视频剪辑首先要处理的事情是按时间定位帧数据位置,即,定位剪辑段开始时间的帧位置和剪辑段结束时间的帧位置;然后逐帧读出帧数据,再写入备份的目标文件中。目前按时间定位的方法是逐帧读取帧头数据,分析帧时间戳和下一帧的位置,直到找出欲剪辑时间段对应的帧数据的偏移位置。
[0003]定位过程中需要从帧数据文件中逐帧读取帧头数据进行分析,而且视频帧数据文件的体积一般都非常大,会造成磁盘的磁头移动位置大,定位所消耗的时间就非常长。表现形式就是用户剪辑备份操作时,定位的等待时间较长。一般情况下,剪辑备份时用户需要多次定位回放以确定剪辑的开始与结束时间,因此,寻找一种快速高效的定位方法以实现录像文件的剪辑备份非常有必要。

【发明内容】

[0004]本发明提供一种录像文件的剪辑备份方法及装置,以实现音视频录像数据的快速定位,并实现快速高效的音视频录像数据剪辑备份功能。
[0005]为达上述目的,一方面,本发明实施例提供了一种录像文件的剪辑备份方法,所述方法包括:
[0006]录像时为录像文件创建索引文件;
[0007]根据所述索引文件确定欲定位时间对应的帧索引信息;
[0008]根据所述欲定位时间对应的帧索引信息,对所述录像文件进行剪辑备份。
[0009]为达上述目的,另一方面,本发明实施例提供了一种录像文件的剪辑备份装置,所述装置包括:
[0010]索引文件创建单元,用于录像时为录像文件创建索引文件;
[0011]帧索引信息定位单元,用于根据所述索引文件确定欲定位时间对应的帧索引信息;
[0012]剪辑备份单元,用于根据所述欲定位时间对应的帧索引信息,对所述录像文件进行剪辑备份。
[0013]本发明实施例的有益技术效果在于:为每个录像文件关联一个帧索引信息,可以降低分析原始帧索引的工作量,避免了每次查询都要分析定位的工作,提高了查询速度。采用本发明实施例的技术方案可以实现快速高效的音视频录像数据剪辑备份功能。
【专利附图】

【附图说明】[0014]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本发明实施例的一种录像文件的剪辑备份方法的整体流程图;
[0016]图1A为本发明实施例中索引文件、录像文件结构示意图;
[0017]图2为本发明实施例的动态加载查找流程图;
[0018]图3为本发明实施例的一种录像文件的剪辑备份装置的整体功能框图;
[0019]图4为本发明实施例的另一种剪辑备份装置的具体功能框图。
【具体实施方式】
[0020]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021]图1为本发明实施例的一种录像文件的剪辑备份方法的整体流程图。如图1所示,该方法包括如下步骤:
[0022]110、录像时为录像文件创建索引文件;
[0023]具体地,本步骤具体实现时,录像时为录像文件创建帧索引文件(指包含索引信息的文件),所述帧索引文件记录录像文件中I帧的索引信息。其中,所述I帧的索引信息包括:1帧的时间戳、I帧的帧数据在录像文件中的偏移量和I帧的数据长度。
[0024]所述录像时为录像文件创建索引文件包括:在写入一帧数据时,分析帧类型;当帧类型为I帧时,将I帧的索引信息写入索引文件。
[0025]120、根据所述索引文件确定欲定位时间对应的帧索引信息;
[0026]其中,帧索引信息包含I帧时间戳、I帧数据在录像文件中的偏移量和I帧的数据长度。
[0027]具体地,本步骤具体实现时可以采用如下步骤:根据录像文件第一帧的时间戳、第一帧的时间点和欲定位的时间点,计算出欲定位的帧的时间戳;估算欲定位的时间戳所在的索引块号;在所述索引块号对应的索引块中查找欲定位的时间戳所对应的帧索引信息。
[0028]较佳地,欲定位的帧的时间戳=第一帧时间戳+(欲定位的时间点一第一帧的时间点)。
[0029]较佳地,所述的估算欲定位的时间戳所在的索引块号,是基于以下关系式:预估的索引块号=(欲定位的时间戳一第一帧的时间戳)/每索引块所含的帧时间长度。
[0030]可选地,如果在当前索引块号对应的索引块中没有查找到欲定位的时间戳所对应的帧索引信息,则根据时间戳大小判断待查找目标在当前索引块号之前还是之后并重新估算索引块号;在重新估算后的索引块号对应的索引块中查找欲定位的时间戳所对应的帧索引信息。
[0031]具体地,所述根据时间戳大小判断待查找目标在当前块号之前还是之后并重新估算索引块号包括:[0032]如果待查找目标在当前块号之前,则依据下列估算方法重新估算索引块号:
[0033]重新估算的索引块号=当前索引块号一(当前索引块的最小时间戳一欲定位的时间戳)/每索引块所含帧时间长度;
[0034]如果待查找目标在当前块号之后,则依据下列估算方法重新估算索引块号:
[0035]重新估算的索引块号=当前索引块号+ (欲定位的时间戳一当前索引块的最小时间戳)/每索引块所含帧时间长度。
[0036]130、根据所述欲定位时间对应的帧索引信息,对所述录像文件进行剪辑备份。
[0037]以下对本发明实施例的上述方法,进行更为详细的描述:
[0038](I)录像过程中建立帧索引文件
[0039]图1A为本发明实施例中索引文件、录像文件结构示意图。如图1A所示,录像时创建两个文件,音视频数据写入硬盘的数据文件中。同时,为每个音视频数据文件(即录像文件)创建一个对应的索引文件,索引文件记录视频I帧在录像文件中的位置。具体方法为:在写入一帧数据时,分析帧类型(帧类型有I帧、P帧、B帧(索引文件中不记录P帧和B帧的索引信息),其中I帧为关键帧,可以解出完整图像),写入I帧(I帧是音视频编码压缩的专有名词)的同时,将I帧的索引信息写入索引文件,包含I帧的时间戳(其用于表明音视频采集时的时间信息)、1帧数据在录像文件中的偏移量、I帧数据长度等信息。索引文件只记录I帧索引信息,可以减小文件体积,提高查询速度。
[0040](2)快速定位方法
[0041]快速定位就是从索引文件中找出欲定位时间对应的帧索引信息。考虑到索引文件较大,不采用一次加载所有帧索引信息的方法,而是用动态加载方法,即每次只加载对定位有用的帧索引信息。
[0042]图2为本发明实施例的动态加载查找流程图,图2对应于图1中的步骤120,如图2所示,快速定位步骤如下:
[0043]210、根据录像文件第一帧的时间戳、第一帧的时间点(UTC时间,协调世界时:coordinated universal time)和给定的欲定位的时间点,计算出欲定位的帧的时间戳。计算方法为:
[0044]pts = pts0+(t_t0)
[0045]其中:Pts表示欲定位的帧的时间戳;ptS(l表示第一帧时间戳;t表示欲定位的时间点Atl表示第一帧的时间点。
[0046]220、估算欲定位的时间戳所在的索引块号。索引块是指索引文件中的一段连续的区块,包含多条索引信息。
[0047]再请参阅图1A,图1A中示例性绘示了索引块1、索引块2,每一索引块分别包括多条索引信息。
[0048]步骤220的估算方法如下:
[0049]Mock,=^^
' TPB
[0050]其中=Wocki表示预估的索引块号,下标i表示经过第i次迭代计算出的索引块号;pts表示欲定位的时间戳;ptS(l表示第一帧的时间戳;TPB表示每索引块所含帧时间长度的经验值,是一个常量,可以事先取多个录像文件,计算每个文件的TPB值,取统计平均值。
[0051]此算法的一个特点是可以根据估算值经过几次迭代之后,得到准确的运算结果。原因在于,计算到步骤280时,当计算出的blocki值大于(或小于)实际block值时,重新估算的blocki+1大于(或小于)前一次的Wocki,多次迭代之后逐渐趋向于真实block。
[0052]230、查询索引块是否已加载到内存,如果没有加载,执行步骤240从索引文件中加载。已经加载的就不用再加载。
[0053]240、从索引文件中加载索引块。
[0054]250、从当前块号中查找欲定位的时间戳所对应的帧索引信息,采用二分查找法查找(因为索引文件是有序的,二分查找法速度最快)。
[0055]260、判断是否查找到帧索引信息,如是执行步骤270,如否,返回步骤280、220。
[0056]270、找到帧索引信息后,返回帧索引信息,结束定位算法。
[0057]280、如果找不到帧索引信息,根据时间戳大小判断查找目标在当前块号之前还是之后,重新估算索引块号,并转步骤220。
[0058]具体地,当前过索引块包括最小时间戳Ptsniin和最大时间戳pts_,比较查找目标也即欲定位的时间戳Pts与ptsmin、Ptsmax之间的大小关系,如果Pts小于Ptsmin,则判断查找目标在当前块号之前,如果PtS大于Ptsmax,则判断查找目标在当前块号之后。
[0059]在当前索引块号之前的估算方法:
[0060]
【权利要求】
1.一种录像文件的剪辑备份方法,其特征在于,所述方法包括: 录像时为录像文件创建索引文件; 根据所述索引文件确定欲定位时间对应的帧索引信息; 根据所述欲定位时间对应的帧索引信息,对所述录像文件进行剪辑备份。
2.根据权利要求1所述的方法,其特征在于,所述索引文件为帧索引文件,所述帧索引文件记录录像文件中I帧的索引信息,所述I帧的索引信息包括:1帧的时间戳、I帧的帧数据在录像文件中的偏移量和I帧的数据长度。
3.根据权利要求2所述的方法,其特征在于,所述录像时为录像文件创建索引文件包括: 在写入一帧数据时,分析帧类型; 当帧类型为I帧时,将I帧的索引信息写入索引文件。
4.根据权利要求2所述的方法,其特征在于,所述根据所述索引文件确定欲定位时间对应的帧索引信息包括: 根据录像文件第一帧的时间戳、第一帧的时间点和欲定位的时间点,计算出欲定位的帧的时间戳; 估算欲定位的时间戳所在的索引块号; 在所述索引块号对应的索引块中`查找欲定位的时间戳所对应的帧索引信息。
5.根据权利要求4所述的方法,其特征在于,所述估算欲定位的时间戳所在的索引块号,是基于以下关系式: 预估的索引块号=(欲定位的时间戳一第一帧的时间戳)/每索引块所含的帧时间长度。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:如果在当前索引块号对应的索引块中没有查找到欲定位的时间戳所对应的帧索引信息,则根据时间戳大小判断待查找目标在当前索引块号之前还是之后并重新估算索引块号;在重新估算后的索引块号对应的索引块中查找欲定位的时间戳所对应的帧索引信息。
7.根据权利要求6所述的方法,其特征在于,所述根据时间戳大小判断待查找目标在当前块号之前还是之后并重新估算索引块号包括: 如果待查找目标在当前块号之前,则依据下列估算方法重新估算索引块号: 重新估算的索引块号=当前索引块号一(当前索引块的最小时间戳一欲定位的时间戳)/每索引块所含帧时间长度; 如果待查找目标在当前块号之后,则依据下列估算方法重新估算索引块号: 重新估算的索引块号=当前索引块号+(欲定位的时间戳一当前索引块的最小时间戳)/每索引块所含帧时间长度。
8.一种录像文件的剪辑备份装置,其特征在于,所述装置包括: 索引文件创建单元,用于录像时为录像文件创建索引文件; 帧索引信息定位单元,用于根据所述索引文件确定欲定位时间对应的帧索引信息;剪辑备份单元,用于根据所述欲定位时间对应的帧索引信息,对所述录像文件进行剪辑备份。
9.根据权利要求8所述的装置,其特征在于,所述索引文件为帧索引文件,所述帧索引文件记录录像文件中I帧的索引信息,所述I帧的索引信息包括:1帧的时间戳、I帧的帧数据在录像文件中的偏移量和I帧的数据长度。
10.根据权利要求8所述的装置,其特征在于,所述索引文件创建单元,具体用于在写入一帧数据时,分析帧类型;当帧类型为I帧时,将I帧的索引信息写入索引文件。
11.根据权利要求9所述的装置,其特征在于,所述帧索引信息定位单元包括: 时间戳计算模块,用于根据录像文件第一帧的时间戳、第一帧的时间点和欲定位的时间点,计算出欲定位的帧的时间戳; 索引块号估算模块,用于估算欲定位的时间戳所在的索引块号; 帧索引信息查找模块,用于在所述索引块号对应的索引块中查找欲定位的时间戳所对应的帧索引信息。
12.根据权利要求11所述的装置,其特征在于,所述索引块号估算模块,具体用于是基于以下关系式来估算欲定位的时间戳所在的索引块号: 预估的索引块号=(欲定位的时间戳一第一帧的时间戳)/每索引块所含的帧时间长度。
13.根据权利要求11所述的装置,其特征在于,所述索引块号估算模块,还用于如果在当前块号对应的索引块中没有查找到欲定位的时间戳所对应的帧索引信息,则根据时间戳大小判断待查找目标在当前块号之前还是之后并重新估算索引块号;所述帧索引信息查找模块,还用于在重新估算后的索引块号对应的索引块中查找欲定位的时间戳所对应的帧索引信息。`
14.根据权利要求12所述的装置,其特征在于,所述索引块号估算模块,具体用于如果待查找目标在当前块号之前,则依据下列估算方法重新估算索引块号:重新估算的索引块号=当前索引块号一(当前索引块的最小时间戳一欲定位的时间戳)/每索引块所含帧时间长度;如果待查找目标在当前块号之后,则依据下列估算方法重新估算索引块号:重新估算的索引块号=当前索引块号+ (欲定位的时间戳一当前索引块的最小时间戳)/每索引块所含帧时间长度。
【文档编号】G06F11/14GK103514184SQ201210209962
【公开日】2014年1月15日 申请日期:2012年6月25日 优先权日:2012年6月25日
【发明者】秦丰林, 杨斌, 张兴明, 傅利泉, 朱江明, 吴军, 吴坚 申请人:浙江大华技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1