专利名称:一种数字视频录像文件存储组织及检索方法
技术领域:
本发明涉及一种数字视频录像系统文件存储方法,特别是一种数字视频录像文件的存储目录结构与文件命名以及文件检索的方法。
背景技术:
数字视频录像系统(DVR,Digital Video Recorder)是视频监控系统的核心设备,其主要功能是对多路视频信号分别进行采样、编码和压缩,将压缩后的数字视频信息存储在硬盘上,并提供视频回放功能,以供事后查询。带有网络功能的数字视频录像系统, 还支持在计算机上利用客户端软件接收和播放实时数字视频,以及查询和回放录像文件等功能。数字视频录像系统采用循环覆盖的方法进行录像,即当硬盘空间用完时,总是覆盖最早的录像文件来存储新的视频录像。相对传统的模拟信号视频录像系统(VCR,Video Cassette Recorder)而言,数字视频录像系统采用硬盘取代了卡带式录像,所以也叫数字硬盘录像系统。数字视频录像系统录像文件数量巨大,因而检索速度非常重要。以32路数字视频录像、不间断存储30天、每个录像文件存储10分钟为例,一台数字视频录像系统中有138, 240个录像文件。在数字视频录像系统中,在两个时间需要进行录像文件检索;一是要找到最早的录像文件,用来存储最新的视频录像;二是在文件回放时,需要查询指定时间范围、 指定视频源的录像文件。如果不采用加速的方法,录像文件的检索速度会非常慢。特别是第一种检索要求时间越短越好,以避免视频数据缓冲区溢出。数字视频录像系统文件存储通常采用多个硬盘,在各个硬盘上,建立录像存储文件,或者利用独立冗余磁盘阵列(Redundant Array of Independent Disk,RAID)技术将多个物理硬盘变为一个逻辑硬盘,在新的逻辑硬盘上建立录像存储文件。实现数字视频录像系统文件检索有以下两个方案(1)是建立索引文件,记录每一个录像文件存储的视频源、录像开始时间、结束时间。需要检索时,读出索引文件中的记录,与检索目标进行对比,找到符合要求的录像文件路径;(2)是利用数据库,在数据库中存储每一个录像文件存储的视频源、录像开始时间、结束时间。需要检索时,检索数据库,找到符合要求的录像文件路径。这些方法有以下缺点一是检索速度慢。无论是索引文件还是数据库,要在10万条以上的记录中检索,速度都比较慢。特别是对于嵌入式数字视频录像系统来说,尤其如此。二是业务逻辑复杂性高。要么是增加索引文件维护模块,要么是使用数据库系统,总之是增加了业务逻辑复杂性。
发明内容
本发明的目的是提供一种数字视频录像系统的录像文件的循环存储方法,该方法能够避免其它检索方法,如索引文件检索法、数据库检索法业务逻辑复杂、检索速度慢的缺点。本发明一种数字视频录像文件存储组织是采取的方法是利用文件系统在硬盘上物理存储的按目录分区、按创建顺序排列的特性,采用一种特别的数字视频录像系统的目录结构以及目录和文件的命名方式,和当前录像文件标识,来实现循环存储录像文件,同时可以快速检索录像文件。具体内容包括(1)数字视频录像文件存储组织结构,特征是在硬盘上给每路视频源建立一个视频源目录,每个视频源目录下建立若干个子目录,每个子目录下存储与子目录数量相同的录像文件。目录的名字以数字顺序命名,格式是右对齐的固定宽度,不足宽度的在左边补0。 具体宽度根据实际需要而定。一般3个字符足够,如001,002,003,......,以此类推。(2)数字视频录像文件存储组织的目录和文件命名,特征是目录以数字顺序命名, 文件以数字顺序加连接符加开始录像时间加连接符加录像时长命名。文件名称中的数字顺序格式是右对齐的固定宽度,不足宽度的在左边补0。具体宽度根据实际需要而定。一般3个字符足够,如001,002,003,......,以此类推。在许多情况下,例如嵌入式系统中,文件名太长不利于显示,因此,直接在文件名中加上开始录像时间和停止录像时间是不允许的。本发明除了以录像时长取代停止录像时间外,还将数字以36为基数转换为字符串来缩短文件名。开始录像时间格式为7个字符宽度的右对齐字符串,不足7个字符宽度的左边补 0。具体来说,是自某个时间开始至当前时间的秒数,如采用标准的1970年1月1日0时0 分0秒起的秒数,并以36为基数转换为字符串。具体来说,是以0至9依次表示0至9,A 至Z依次表示10至35。录像时长格式为3个字符宽度的右对齐字符串,不足3个字符宽度的左边补0。具体来说,是自开始录像时间至停止录像的秒数,并以36为基数转换为字符串。(3)数字视频录像文件存储组织的最早的录像文件检索找方法,特征是利用数字视频录像系统的目录结构,及目录和文件的数字顺序命名特征,根据当前存储子目录和文件序号,快速查找最早的录像文件。其方法是,如果当前文件序号小于目录中的文件数,文件名以当前文件序号加1后的数字并转换为规定的格式后加连接符开头的文件,即是最早的录像文件;否则,下一个目录的第一个文件即是最早的录像文件。(4)数字视频录像文件存储组织的特定视频源在一个时间范围的录像文件检索方法,特征是利用数字视频录像系统的目录结构,及目录和文件的数字顺序命名特征,找到最早的录像文件,以该文件为第一个文件,以该文件的前一个文件为最后一个文件,用二叉法查找符合条件的第一个文件和最后一个文件。从符合条件的第一个文件开始,至符合条件的最后一个文件止,所有的文件就是要查找的文件。一种数字视频录像文件存储组织及检索方法的优点,一是充分发挥了文件系统本身的目录结构特性,检索速度快;二是不需要维护索引文件,也不需要数据库系统,业务逻辑简单;三是文件名称短,便于在有限的图形界面上显示。
图1是录像文件循环存储与检索流程图。图2是录像文件存储目录结构图。图3是录像文件的时间先后顺序示意图。
具体实施例方式本发明的具体实施方式
如下(如图1所示)第1步获得初始配置。确定系统可用硬盘总容量a、每个录像文件的大小b和视频源数量C。第2步计算目录和文件数量。根据系统可用硬盘总容量大小a、每个录像文件的大小b和视频源数量c,计算每路视频源子目录数和每个目录的文件数d=(向下取整)。第3步创建视频源目录。创建c个视频源目录,依次命名为S(I)、S(2)、 S⑶、……、S(C),然后在每个视频源目录内创建d个子目录,依次命名为D(I)、W2)、 D⑶、……、D(d)(如图2所示)。其中,S(i)表示序号为i的视频源目录的名字,格式是右对齐的固定宽度,不足宽
度的在左边补0。具体宽度根据实际需要而定。一般2个字符足够,如001,002,003,......,
以此类推。D(i)表示序号为i的子目录的名字,格式是右对齐的固定宽度,不足宽度的在左
边补0。具体宽度根据实际需要而定。一般3个字符足够,如001,002,003,......,以此类推。第4步记下当前目录和文件序号。记下每一路视频源当前存储子目录和文件序号,初始时皆为0,例如第i路视频源当前存储子目录序号为屯,名称为D (φ),而存储文件序号为fi。文件以数字顺序加连接符加开始录像时间加连接符加录像时长命名。文件名称中的数字顺序格式是右对齐的固定宽度,不足宽度的在左边补0。具体宽度根据实际需要而
定。一般3个字符足够,如001,002,003,......,以此类推。第i个序号转换后记为F(i),
而存储文件序号为A的文件以F(fi)开头。开始录像时间格式为7个字符宽度的右对齐字符串,不足7个字符宽度的左边补 0。具体来说,是自某个时间开始至当前时间的秒数,如采用标准的1970年1月1日0时0 分0秒起的秒数,并以36为基数转换为字符串。具体来说,是以0至9依次表示0至9,A 至Z依次表示10至35。用T(t)表示时间t转换后的7个字符宽度的右对齐字符串。录像时长格式为3个字符宽度的右对齐字符串,不足7个字符宽度的左边补0。具体来说,是自开始录像时间至停止录像的秒数,并以36为基数转换为字符串。用I(t)表示时长t转换后的3个字符宽度的右对齐字符串。以、表示第i目录第j个文件的开始时间,Pu表示第i目录第j个文件的时长, 以_表示连接符,mpg表示文件后缀名,则第i个目录第j个文件的名称为F(J)Jaij),
I (Pij). mpgο第5步查找最早录像文件及其目录序号。查找指定视频源最早的录像文件及其目录,例如第i路视频,在视频源目录i内找最早的录像文件。
方法是检查当前存储文件序号&是不是当前存储子目录为Cli的最后一个文件汍 =d)。如果不是(即& < d),则取后一个文件为存储文件(即成为新的;如果是 (即fi = d),则检查当前存储子目录是不是当前视频源目录的最后一个子目录(Cli = d), 如果不是(即Cli < d),则取后一个子目录为当前存储子目录(即屯+1成为新的(Ii),否则取当前视频源目录的第一个子目录为当前存储子目录(即Cli = 1),然后取新的存储子目录的第一个文件作为当前存储文件(即A = 1)。第6步判断是否要存储新视频。如果是则执行第7步,否则执行第9步,查找指定视频源在某时间范围内的所有视频文件。第7步创建新的录像文件。检查视频源目录i的子目录D(Cli)下是否存在文件名以F(fi)开头的文件。如果不存在,则创建名称为F^LTadJjW.mpg、大小为b的文件,其中tdifi为开始录像时间,文件后缀根据实际文件格式可以是其它名称。第8步关闭当前录像文件。当前录像文件Fa^jadiJjO^.mpg写满时,关闭文件,并改名为F(UJadifi)J (pdifi). mpg,回到第5步。其中Pdifi为录像时长。第9步取得要查找的时间范围。假定要查找第i路视频源在时间范围、至t2 (含 、和t2,、< t2)内的所有视频文件。第10步查找满足条件的第一个录像文件。因为当前文件是子目录Cli的文件fi;因此该文件的开始时间是最新的的开始时间,下一个文件即子目录Cli的文件fi+Ι的开始时间是最早的录像时间。首先,以当前文件的下一个文件即子目录Cli的文件……Cli的文件d、屯+1的文件1、di+Ι的文件2……子目录d的d、子目录1的文件1、子目录1的文件2……子目录 Cli的文件A共d2个文件,形成录像时间逐步向后的一个录像文件序列(如图2所示,以第 3路视频源第3个子目录第3个文件为最早文件为例)。为简化过程,先查找、在子目录Cli的文件之后,还是之前。具体来说,计算出 T (、),如果T (、)在T (tdifi)和T (tn)之间,则、在子目录Cli的文件f之后,即在F (fi+1) _ T (tdi(fi+1))_I (pdi(fi+1)) · mpg 至 F (d) _T (tdd) _Ι (pdd)) · mpg之中;否则、在子目录(Ii 的文件之前,BPF(I)_T (tn)_I (P11) · mpg 至 F(^)_T (tdm)_I (pdm)). mpg 之中。然后,用二叉法,从、所在的录像文件序列中选出排在中间的文件,例如是第i个子目录第j文件,取出文件名的开始录像时间τ(t.j),将τ(t.j)与τU1)进行比较。若τ(t.j) =Ta1),则该文件即为所要找的文件;若τ(、)> Ta1),则在前半个序列中继续查找;若 Taij) < Ta1),则在后半个序列中继续查找;直至序列中只剩最后一个待比较文件。此步骤中不从Taij)中计算出、与、比较,而是计算出Ta1)后将Taij)与Ta1)进行比较, 是因为Ta1)只需要计算一次,而从T(tu)计算出、.需要计算多次,这样就可减少计算次数,加快检索速度。此时取出文件名的录像时长I (Pij) ,WTaij)和I (Pij)计算出和Pij,如果此时该文件开始录像时间、和停止录像时间、+ρ。_满足^t1 ^ t.j+p.j,则该文件即是要找的文件;若、< tu,则要找的文件是Cli的文件fi ;若、> ,则要找的文件不存在。第11步判断满足条件的第一个录像文件是否存在。如果不存在,直接进入第15
止
少ο第12步查找满足条件的最后一个录像文件。
首先,与第10步相同,形成共d2个文件的一个录像文件序列,其录像时间逐步向后。为简化过程,先查找t2在子目录Cli的文件之后,还是之前。具体来说,计算出 T (t2),如果T (t2)在T (tdifi)和T (tn)之间,则t2在子目录Cli的文件fi+Ι之后,即在F (fi+1) _ T (tdi(fi+1))_I (pdi(fi+1)) · mpg 至 F (d) _T (tdd) _Ι (pdd)) · mpg之中;否则 t2 在子目录(Ii 的文件之前,即 F (1) _T (tn) _I (P11). mpg 至 F (^) _T (tdm) _I (pdm)). mpg 之中。然后,用二叉法,从上述录像文件序列中选出排在中间的文件,例如是第i个子目录第j文件,取出文件名的开始录像时间Taij) JfTaij)与τα2)进行比较。若T(tu) =T(t2),则该文件即为所要找的文件;若T(tu) > T(t2),则在前半个序列中继续查找;若 Taij) <τα2),则在后半个序列中继续查找;直至序列中只剩最后一个待比较文件。此步骤中不从Taij)中计算出、与、比较,而是计算出τα2)后将Taij)与τα2)进行比较, 是因为T(t2)只需要计算一次,而从T(tu)计算出、.需要计算多次,这样就可减少计算次数,加快检索速度。此时取出文件名的录像时长I (Pij) ,WTaij)和I (Pij)计算出和Pij,如果此时该文件开始录像时间和停止录像时间、+ρ。_满足^t2 ^ t.j+p.j,则该文件即是要找的文件;若ti < tu,则要找的文件是Cli的文件fi ;若t2 > ,则要找的文件不存在。第13步判断满足条件的最后一个录像文件是否存在。如果不存在,直接进入第 15步。第14步组成符合查询条件的全部录像文件。从满足条件的第一个录像文件开始,到满足条件的最后一个录像文件为止,是符合查询条件的全部录像文件。第15步不存在符合查询条件的录像文件,返回。
权利要求
1.一种数字视频录像文件存储组织,其特征在于其结构是在硬盘上给每路视频源建立一个视频源目录,每个视频源目录下建立若干个子目录,每个子目录下存储与子目录数量相同的录像文件。
2.根椐权利要求1所述的一种数字视频录像文件存储组织的检索方法,其特征在于 其命名方法是所述的数字视频录像文件存储组织的目录和文件命名,是目录以数字顺序命名,文件以数字顺序加连接符加开始录像时间加连接符加录像时长命名;文件名称中的数字顺序格式是右对齐的固定宽度,不足宽度的在左边补0。
3.根椐权利要求2所述的一种数字视频录像文件存储组织的检索方法,其特征在于 其最早的录像文件的检索方法是利用数字视频录像文件存储组织的目录结构,及目录和文件的数字顺序命名特征,根据当前存储子目录和文件序号,快速查找最早的录像文件,其方法是,如果当前文件序号小于目录中的文件数,文件名以当前文件序号加1后的数字并转换为规定的格式后加连接符开头的文件,即是最早的录像文件;否则,下一个目录的第一个文件即是最早的录像文件。
4.根椐权利要求2所述的一种数字视频录像文件存储组织的检索方法,其特征在于 其特定视频源在一个时间范围的录像文件的检索方法是利用数字视频录像文件存储组织的目录结构,及目录和文件的数字顺序命名特征,找到最早的录像文件,以该文件为第一个文件,以该文件的前一个文件为最后一个文件,用二叉法查找符合条件的第一个文件和最后一个文件,从符合条件的第一个文件开始,至符合条件的最后一个文件止,所有的文件就是要查找的文件。
5.根椐权利要求2所述的一种数字视频录像文件存储组织的检索方法,其特征在于 其文件名称的开始录像时间命名方法是开始录像时间是自1970年1月1日0时0分0秒起至开始录像时的秒数,以36为基数转换为7个字符宽度的右对齐字符串,不足7个字符宽度的左边补0。
6.根椐权利要求2所述的一种数字视频录像文件存储组织的检索方法,其特征在于 文件名称的录像时长命名方法是录像时长是自开始录像时间至停止录像的秒数,以36为基数转换为3个字符宽度的右对齐字符串,不足3个字符宽度的左边补0。
全文摘要
一种数字视频录像文件存储组织,其结构是在硬盘上给每路视频源建立一个视频源目录,每个视频源目录下建立若干个子目录,每个子目录下存储与子目录数量相同的录像文件,其检索方命名方法是所述的数字视频录像文件存储组织的目录和文件命名,是目录以数字顺序命名,文件以数字顺序加连接符加开始录像时间加连接符加录像时长命名;文件名称中的数字顺序格式是右对齐的固定宽度,不足宽度的在左边补0。其优点是,一是充分发挥了文件系统本身的目录结构特性,检索速度快;二是不需要维护索引文件,也不需要数据库系统,业务逻辑简单;三是文件名称短,便于在有限的图形界面上显示。
文档编号H04N5/76GK102521309SQ20111039311
公开日2012年6月27日 申请日期2011年11月24日 优先权日2011年11月24日
发明者丁又华, 刘媛, 李长春, 陆德波 申请人:中国船舶重工集团公司第七○九研究所