专利名称:网络视频录像机的前端录影系统及方法
技术领域:
本发明涉及一种网络视频录像机的前端录影系统及方法。
背景技术:
随着基础网络现在越来越普及,人们对监控的网络化需求日益突出,不仅要在本地实现监控,还希望能够通过远程,甚至通过无线方式进行监控,而这些只有进行网络化才能满足用户的需求。因此,前端数字化、网络化是大势所趋,使得网络监控产品如网络视频录像机(Network Video Recorder, NVR)得到了更大范围的普及。一般NVR都支持前录影功能,由于NVR的内存有限,如果支持的摄影机信道 (Camera Channel)的数量太多,NVR的内存将不够使用。
发明内容
鉴于以上内容,有必要提供一种网络视频录像机的前端录影系统,其可利用磁盘空间来模拟前端录影中的队列,以克服支持的摄影机信道的数量太多吋,网络视频监控系统的内存出现不够使用的情况。还有必要提供一种网络视频录像机的前端录影方法,其可利用磁盘空间来模拟前端录影中的队列,以克服支持的摄影机信道的数量太多吋,网络视频监控系统的内存出现不够使用的情況。一种网络视频录像机的前端录影系统,该系统包括设置模块用于设置四个变量,以记录视频图像资料在文件中的起始位置和结束位置,及视频图像资料于文件中的偏移量在对应缓存中的起始位置和结束位置;存储模块用于通过摄影机信道接收ー帧视频图像;位置更新模块用于当与该摄影机信道对应的文件没有足够空间存储该帧视频图像时,移动与该文件相对应的缓存中的起始位置到下一个缓存元素代号,并将该文件中的起始位置改变成该缓存中的起始位置所记录的偏移量,及当所述文件有足够空间存储该视频图像吋,判断该视频图像是否为帧组中的第一帧图像;及记录模块用于当该帧视频图像为帧组中的第一帧图像吋,将所述文件中的结束位置记录到该缓存中;所述位置更新模块还用于当该帧视频图像为帧组中的第一帧图像时,在所述存储模块将该帧视频图像存于所述文件后,根据该帧视频图像的大小改变该文件的结束位置,并将所述缓存中的结束位置移到下ー个缓存元素代号。—种网络视频录像机的前端录影方法,该方法包括如下步骤设置四个变量,以记录视频图像资料在文件中的起始位置和结束位置,及视频图像资料于文件中的偏移量在对应缓存中的起始位置和结束位置;通过摄影机信道接收ー帧视频图像;当与该摄影机信道相对应的文件中没有足够空间存储该帧视频图像时,移动与该文件相对应的缓存中的起始位置到下一个缓存元素代号,并将该文件中的起始位置改变成该缓存中的起始位置所记录的偏移量;当所述文件有足够空间存储该帧视频图像时,判断该帧视频图像是否为帧组中的第一帧图像;当该帧视频图像为帧组中的第一帧图像吋,将所述文件中的结束位置记录到所述缓存后,将该帧视频图像存于该文件中,根据该帧视频图像的大小改变该文件的结束位置,并将所述缓存中的结束位置移到下一个缓存元素代号。相较于现有技术,所述的网络视频录像机的前端录影系统及方法,可在网络视频录像机启动时根据支援的摄影机信道的数量预先设置N个大小相等的文件(N =摄影机信道的数量),并在内存中配置N个大小相等的缓冲,同时配置四个变量分别用来记录视频图像资料在文件中的起始位置、结束位置,及记录视频图像资料于文件中的偏移量在对应缓存中的起始位置和结束位置,并由此将文件模拟成ー个队列,以克服支持的摄影机信道的数量太多时,网络视频监控系统的内存出现不够使用的情況。
图I是本发明网络视频录像机较佳实施例的结构示意图。图2是图I中网络视频录像机的前端录影系统较佳实施例的功能模块图。 图3是本发明网络视频录像机的前端录影方法较佳实施例的作业流程图。图4是本发明图像资料于文件中的起始位置和结束位置的示意图。图5是本发明图像资料于文件中的偏移量在缓存中的起始位置和结束位置的示意图。主要元件符号说明
网络视频录像机"I I
网络视频录像机的前端录影系统10
摄像机信道12
文件14
内存16
缓存160
设置模块Ioo
存储模块102
位置更新模块104
记录模块106如下具体实施方式
将结合上述附图进ー步说明本发明。
具体实施例方式如图I所示,是本发明网络视频录像机较佳实施例的结构示意图。该网络视频录像机I的英文全称为Network Video Recorder,简写NVR,以下统称为NVR1。该NVRl具有前端录像(pre-record)功能。为了解决NVRl能支援的摄影机信道(Camera Channel) 12的数量太多而造成内存16不够使用的情况,本实施例中的NVRl利用网络视频录像机的前端录影系统10 (以下简称为“前端录影系统10”)以磁碟空间的形式来模拟前段录像中的队列。具体而言,该前端录影系统10根据摄像机信道12的数量预先设置N个大小相等的文件14,用于存储视频图像资料,并在NVRl的内存16中配置N个大小相等的缓存160,用于记录视频图像资料在文件14中的存储情況。通过配置的四个变量,前端录影系统10将所述N个文件模拟成ー个队列,以缓解内存16不够使用的情況。具体如图2和图3中的详细描述。另外,本实施例中,上述N等于所述摄像机信道12的数量。如图2所示,是图I中前端录影系统10较佳实施例的功能模块图。该前端录影系 统10包含ー个或多个软件模块,该ー个或多个软件模块是具有特定功能的软件程序段,存储在NVRl中,并由该NVRl来控制,以执行该NVRl的前端录影方法。所述前端录影系统10包括设置模块100、存储模块102、位置更新模块104和记录模块106。所述设置模块100用于根据NVRl能支援的摄像机信道12的数量预先设置N个大小相等的文件14,并在NVRl的内存16中配置N个大小相等的缓存160,其中,N等于所述摄像机信道12的数量。每个文件14对应内存16中的一个缓存160。所述设置模块100还用于设置四个变量,以记录视频图像资料在文件14中存储的起始位置(prs_start)和结束位置(prs_end),及视频图像资料于文件14中的偏移量在对应缓存160中的起始位置(pri_start)和结束位置(pri_end)。本实施例中,该偏移量等于视频图像中ー帧视频图像的长度。为了清楚描述本实施例中的前端录像队列模拟方法,以下仅以ー个文件14为例进行说明,该文件14与摄影机信道12对应,并由内存16中的缓存160记录图像资料在该文件14中的存储情况。具体而言,当摄影机信道12传输到来自网络摄影机(图中未示出)拍摄的视频图像时,所述存储模块102用于连续接收该视频图像中的每帧视频图像,即视频图像为ー帧 一中贞的传输。所述位置更新模块104用于判断与该摄影机信道12相对应的文件14中是否有足够空间存储该帧视频图像。当判断结果为文件14中没有足够空间存储该帧视频图像吋,需要释放文件14的存储空间,同时,该文件14所对应的缓存160中所记录的旧图像资料需要被消除。因此,所述位置更新模块104需要移动缓存160中的起始位置pri_Start到下一个缓存元素代号(即 pri_start = (pri_start+l) % *MAX_INDEX),并将文件 14 中的起始位置 prs_start改变成缓存160中的起始位置pri_start所记录的偏移量,即prs_start = buffer (pri_start),其中,MAX_INDEX为缓存160中的缓存元素代号的的数量。例如,缓存160包含六个缓存元素代号(即MAX_INDEX = 6),分别是元素代号“0”、“1”、“2”、“3”、“4”和“5”,当文件14中没有足够空间存储该帧视频图像,如缓存元素代号“O”至“5”中已存满图像资料时,所述位置更新模块104需要消除该缓存160中最早记录的图像资料,即上述“旧图像资料”。按照图像资料的记录顺序,所述位置更新模块104将会消除缓存元素代号“O”中记录的旧图像资料,通过将缓存160中的起始位置移动到下一个缓存元素代号,将文件14中的起始位置改变成缓存160中的起始位置所记录的偏移量来释放文件14中的存储空间。当上述判断结果为文件14中有足够空间存储该帧视频图像时,所述位置更新模块104判断该帧视频图像是否为帧组中的第一帧图像。本实施例中,一个片段的视频图像资料由多帧图像组成,该ー个片段的视频图像资料被称为ー个帧组。若该帧视频图像为帧组中的第一帧图像,则记录模块106将当前文件14中的结束位置记录到缓存160中,所述存储模块102将该帧视频图像存在文件14中,所述位置更新模块104根据该帧视频图像的大小改变文件14的结束位置,并将缓存160中的结束位置移到下一个缓存元素代号,即pri_end = (pri_end+l) % *MAX_I NDEX。具体而言,当NVRl启动时,如图4所示,所述文件14中的起始位置prs_start(t)与结束位置prs_end(t)皆指至IJ文件14的起始点H),此时,文件14的偏移量(offset)为0,而如图5所示的缓存160中的起始位置pri_start(t)与结束位置pri_end(t)也都指到缓存160的起始点B0,即指向元素代号(index)为O的起始位置。而当存储模块102将该巾贞视频图像存在文件14中时,该文件14中的结束位置会由prs_end(t)改变成prs_end (t+1),而缓存160中的结束位置被移动到index = I处。若该帧视频图像不是帧组中的第一帧图像,则存储模块102用于将该帧视频图像存于文件14中,所述位置更新模块104根据该帧视频图像的大小改变文件14的结束位置。如图3所示,是本发明网络视频录像机的前端录影方法的较佳实施例的作业流程图。步骤S01,设置模块100根据NVRl能支援的摄像机信道12的数量预先设置N个大小相等的文件14,并在NVRl的内存16中配置N个大小相等的缓存160,其中,N等于所述摄像机信道12的数量。每个文件14对应内存16中的一个缓存160。为了清楚描述本实施例中的前端录像队列模拟方法,以下仅以ー个文件14为例进行说明。步骤S02,所述设置模块100设置四个变量,以记录视频图像资料在文件14中存储的起始位置(prs_start)和结束位置(prs_end),及视频图像资料于文件14中的偏移量在对应缓存160中的起始位置(pri_start)和结束位置(pri_end)。本实施例中,该偏移量等于视频图像中ー帧视频图像的长度。步骤S03,摄影机信道12传输到来自网络摄影机拍摄的视频图像,存储模块102接收该视频图像中的ー帧视频图像,即存储模块102 —帧ー帧的接收该视频图像。步骤S04,位置更新模块104判断所述文件14中是否有足够空间存储该帧视频图像。若所述文件14中没有足够空间存储该帧视频图像,则流程进入步骤S05。若所述文件14中有足够空间存储该帧视频图像,则流程进入步骤S06。步骤S05,所述位置更新模块104移动缓存160中的起始位置pri_start到下一个缓存元素代号,即pri_start = (pri_start+l) % *MAX_INDEX,并将文件14中的起始位置prs_start改变成缓存160中的起始位置pri_start所记录的偏移量,即prs_start =buffer(pri_start),然后,流程进入步骤S04。其中,MAX_INDEX为缓存160中的缓存元素代号的数量。例如,缓存160包含六个缓存元素代号(即MAX_INDEX = 6),分别是元素代号“O”、“1”、“2”、“3”、“4”和“5”,当文件14中没有足够空间存储该帧视频图像,如缓存元素代号“O”至“5”中已存满图像资料时,所述位置更新模块104需要消除该缓存160中最早记录的图像资料,即上述“旧图像资料”。按照图像资料的记录顺序,所述位置更新模块104将会消除缓存元素代号“O”中记录的旧图像资料,通过将缓存160中的起始位置移动到下ー个缓存元素代号,将文件14中的起始位置改变成缓存160中的起始位置所记录的偏移量,可以释放文件14中的存储空间,并消除缓存160中所记录的旧图像资料。步骤S06,所述位置更新模块104判断该帧视频图像是否为帧组中的第一帧图像。本实施例中,一个片段的视频图像资料由多帧图像组 成,该ー个片段的视频图像资料被称为ー个帧组。若该帧视频图像为帧组中的第一帧图像,则流程进入步骤S07。若该帧视频图像不是帧组中的第一帧图像,则流程进入步骤S08。步骤S07,记录模块106将当前文件14中的结束位置记录到缓存160中,所述存储模块102将该帧视频图像存在该文件14中,所述位置更新模块104根据该帧视频图像的大小改变该文件14的结束位置,并将缓存160中的结束位置移到下一个缓存元素代号,即pri_end = (pri_end+l) % *MAX_INDEX。具体而言,当NVRl启动时,如图4所示,所述文件14中的起始位置prs_start (t)与结束位置prs_end(t)皆指到文件14的起始点H),此时,文件14的偏移量(offset)为0,而如图5所示的缓存160中的起始位置pri_start(t)与结束位置pri_end (t)也都指到缓存160的起始点B0,即指向元素代号(index)为O的起始位置。而当存储模块102将该帧视频图像存在文件14中时,该文件14中的结束位置会由prs_end(t)改变成prs_end(t+l),而缓存160中的结束位置被移动到index = I处。步骤S08,存储模块102将该帧视频图像存于所述文件14中,所述位置更新模块104根据该帧视频图像的大小改变该文件14的结束位置。在此需说明的是,图3仅示意出图像资料一个存储与记录流程,在其他实施例中,可以循环执行步骤S03至步骤S08直到NVRl关机。最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管參照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种网络视频录像机的前端录影方法,其特征在于,该方法包括如下步骤 设置四个变量,以记录视频图像资料在文件中的起始位置和结束位置,及视频图像资料于文件中的偏移量在对应缓存中的起始位置和结束位置; 通过摄影机信道接收ー帧视频图像; 当与该摄影机信道相对应的文件中没有足够空间存储该帧视频图像时,移动与该文件相对应的缓存中的起始位置到下一个缓存元素代号,并将该文件中的起始位置改变成该缓存中的起始位置所记录的偏移量;及 当所述文件有足够空间存储该帧视频图像且该帧视频图像为帧组中的第一帧图像吋,将所述文件中的结束位置记录到所述缓存后,将该帧视频图像存于该文件中,根据该帧视频图像的大小改变该文件的结束位置,并将所述缓存中的结束位置移到下一个缓存元素代号。
2.如权利要求I所述的网络视频录像机的前端录影方法,其特征在于,该方法在设置四个变量的步骤之前还包括 根据网络视频录像机能支援的摄像机信道的数量预先设置N个大小相等的文件,并在网络视频录像机的内存中配置N个大小相等的缓存,其中N等于所述摄像机信道的数量。
3.如权利要求I所述的网络视频录像机的前端录影方法,其特征在于,该方法还包括如下步骤 当所述文件有足够空间存储该帧视频图像且该帧视频图像不是帧组中的第一帧图像时,将该帧视频图像存于所述文件中,根据该帧视频图像的大小改变该文件的结束位置。
4.一种网络视频录像机的前端录影系统,其特征在于,该前端录影系统包括 设置模块,用于设置四个变量,以记录视频图像资料在文件中的起始位置和结束位置,及视频图像资料于文件中的偏移量在对应缓存中的起始位置和结束位置; 存储模块,用于通过摄影机信道接收ー帧视频图像; 位置更新模块,用于当与该摄影机信道对应的文件没有足够空间存储该帧视频图像时,移动与该文件相对应的缓存中的起始位置到下一个缓存元素代号,并将该文件中的起始位置改变成该缓存中的起始位置所记录的偏移量,及当所述文件有足够空间存储该视频图像时,判断该视频图像是否为帧组中的第一帧图像;及 记录模块,用于当该帧视频图像为帧组中的第一帧图像吋,将所述文件中的结束位置记录到该缓存中 '及 所述位置更新模块,还用于当该帧视频图像为帧组中的第一帧图像时,在所述存储模块将该帧视频图像存于所述文件后,根据该帧视频图像的大小改变该文件的结束位置,并将所述缓存中的结束位置移到下一个缓存元素代号。
5.如权利要求4所述的网络视频录像机的前端录影系统,其特征在于,所述设置模块还用于根据网络视频录像机能支援的摄像机信道的数量预先设置N个大小相等的文件,并在网络视频录像机的内存中配置N个大小相等的缓存,其中N等于所述摄像机信道的数量。
6.如权利要求4所述的网络视频录像机的前端录影系统,其特征在于,所述位置更新模块还用于当该帧视频图像不是帧组中的第一帧图像时,在所述存储模块将该帧视频图像存于所述文件后,根据该帧视频图像的大小改变所述文件的结束位置。
全文摘要
一种网络视频录像机的前端录影系统及方法,该方法包括设置四个变量,记录视频图像资料在文件中的起始、结束位置,及视频图像资料于文件中的偏移量在缓存中的起始、结束位置;接收一帧视频图像;当文件中没有空间存储该帧图像时,移动缓存中的起始位置到下一个缓存元素代号,将文件中的起始位置改变成缓存中的起始位置所记录的偏移量;当文件有足够空间存储该帧图像时,判断该帧图像是否为帧组中的第一帧图像;当为第一帧图像时,将文件中的结束位置记录到缓存后,将该帧图像存于文件中,根据该帧图像大小改变文件的结束位置,并将缓存中的结束位置移到下一个缓存元素代号。本发明可利用磁盘空间来模拟前端录影中的队列。
文档编号H04N5/77GK102695024SQ201110067530
公开日2012年9月26日 申请日期2011年3月21日 优先权日2011年3月21日
发明者王宏荣 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司