发明内容
本发明提供一种视频数据的存储方法、系统和编码器,用于实现对保存时间跨度超过留存期的历史数据的保存。
本发明还提供一种视频数据的存储方法,应用于包括编码器和存储设备的系统中,所述方法包括:
将所述存储设备的存储区域划分为第一类存储区域和第二类存储区域,第一类存储区域中存储的数据的留存期为M,第二类存储区域中存储的数据的留存期为N,且M<N;
在第一类存储区域中,连续存储采集的监控数据,该些数据在第一类存储区域中的留存期为M;
在第二类存储区域中,每隔预定时间间隔存储一个I帧数据,该I帧数据在第二类存储区域中的留存期为N。
其中,所述在第二类存储区域中,每隔预定时间间隔存储一个I帧数据,该I帧数据在第二类存储区域中的留存期为N具体为:
将第二类存储区域划分为两个以上的子存储区域,其中在第一个子存储区域中,每隔第一预定时间间隔存储一个I帧数据,该I帧数据在第一子存储区域中的留存期为n1;在第二个子存储区域中,每隔第二预定时间间隔存储一个I帧数据,该I帧数据在第二子存储区域中的留存期为n2,第一预定时间间隔小于第二预定时间间隔,留存期n1<n2。
其中,第二类存储区域中的第一个子存储区域和第二个子存储区域存储I帧数据的时间点相互交叉。
其中,还包括:进行所述存储设备中已存储的数据帧的回放时,对于第一类存储区域中存储的数据帧按照实际存储帧率进行回放;对于第二类存储区域中存储的数据帧按照预设的固定帧率进行回放。
本发明还提供一种视频数据的存储系统,包括:
存储设备,所述存储设备的存储区域划分了第一类存储区域和第二类存储区域,第一类存储区域中存储的数据的留存期为M,第二类存储区域中存储的数据的留存期为N,且M<N;
编码器,用于将采集的监控数据连续存储在所述第一类存储区域中,该些数据在第一类存储区域中的留存期为M;
控制装置,用于每隔预定时间间隔存储一个I帧数据在第二类存储区域中,该I帧数据在第二类存储区域中的留存期为N。
其中,所述存储设备的所述第二类存储区域,进一步划分为两个以上的子存储区域,其中在第一个子存储区域中,所述控制装置每隔第一预定时间间隔存储一个I帧数据,该I帧数据在第一子存储区域中的留存期为n1;在第二个子存储区域中,所述控制装置每隔第二预定时间间隔存储一个I帧数据,该I帧数据在第二子存储区域中的留存期为n2,第一预定时间间隔小于第二预定时间间隔,留存期n1<n2。
其中,还包括:
回放控制装置,用于对所述存储设备中已存储的数据帧的进行回放时,对于第一类存储区域中存储的数据帧按照实际存储帧率进行回放;对于第二类存储区域中存储的数据帧按照预设的固定帧率进行回放。
本发明还提供一种编码器,应用于包括存储设备的系统中,所述存储设备的存储区域中划分了第一类存储区域和第二类存储区域,第一类存储区域中存储的数据的留存期为M,第二类存储区域中存储的数据的留存期为N,且M<N;所述编码器用于将采集的监控数据连续存储在所述第一类存储区域中;所述编码器包括计时单元和存储控制单元:
所述存储控制单元,用于根据所述计时单元的计时,在第二类存储区域中,每隔预定时间间隔存储一个所述编码器采集的I帧数据,该I帧数据在第二类存储区域中的留存期为N。
其中,还包括:
设置单元,用于设置不同的预定时间间隔;
所述存储控制单元,具体用于当所述第二类存储区域包括两个以上的子存储区域时,在第一个子存储区域中,每隔所述设置单元设置的第一预定时间间隔存储一个I帧数据,该I帧数据在第一子存储区域中的留存期为n1;在第二个子存储区域中,每隔所述设置单元设置的第二预定时间间隔存储一个I帧数据,该I帧数据在第二子存储区域中的留存期为n2,第一预定时间 间隔小于第二预定时间间隔,留存期n1<n2。
其中,所述设置单元对存储I帧数据的时间点的特征进行设置,以实现设置不同的预定时间间隔,并使得所述第二类存储区域中的第一个子存储区域和第二个子存储区域存储I帧数据的时间点相互交叉。
本发明还提供一种视频数据的存储系统,包括:
存储设备,所述存储设备的存储区域划分了第一类存储区域和第二类存储区域,第一类存储区域中存储的数据的留存期为M,第二类存储区域中存储的数据的留存期为N,且M<N;
编码器,用于将采集的监控数据连续存储在所述第一类存储区域中,该些数据在第一类存储区域中的留存期为M;并且每隔预定时间间隔存储一个I帧数据在第二类存储区域中,该I帧数据在第二类存储区域中的留存期为N。
所述存储设备的所述第二类存储区域,进一步划分为两个以上的子存储区域,其中在第一个子存储区域中,所述编码器每隔第一预定时间间隔存储一个I帧数据,该I帧数据在第一子存储区域中的留存期为n1;在第二个子存储区域中,所述编码器每隔第二预定时间间隔存储一个I帧数据,该I帧数据在第二子存储区域中的留存期为n2,第一预定时间间隔小于第二预定时间间隔,留存期n1<n2。
还包括:
回放控制装置,用于对所述存储设备中已存储的数据帧的进行回放时,对于第一类存储区域中存储的数据帧按照实际存储帧率进行回放;对于第二类存储区域中存储的数据帧按照预设的固定帧率进行回放。
与现有技术相比,本发明具有以下优点:
由编码器将生成的数据帧连续存储到存储设备的第一类存储区域,同时在预设的时间间隔到达时将编码器在当前时刻生成的数据帧存储到存储设备的第二类存储区域。因此,通过合理运用数据帧的抽帧存储技术,实现了以较小的存储空间存储时间超过留存期的跨度较长的历史录像数据。
具体实施方式
本发明提供了一种视频数据的存储方法,应用于包括编码器和存储设备的系统中。具体的,本发明提供的视频数据的存储方法如图2所示,包括:
步骤s201、将存储设备中的存储区域划分为第一类存储区域和第二类存储区域,第一类存储区域中存储的数据的留存期为M,第二类存储区域中存储的数据的留存期为N,M<N;
步骤s202、在第一类存储区域中,连续存储采集的监控数据,该些数据在第一类存储区域中的留存期为M;在第二类存储区域中,每隔预定时间间隔存储一个I帧数据,该I帧数据在第二类存储区域中的留存期为N。
上述流程中,在第一类存储区域中连续存储采集的监控数据的动作可以由编码器实现;在第二类存储区域中每隔预定时间间隔存储一个I帧数据的动作,可以由编码器实现,也可以不同于编码器的第三方控制设备实现。
本发明提供的方法中,在为编码器制定存储计划时,在存储设备的存储空间中除了分配用于保存留存期数据所需要的存储空间(或称为留存期数据存储空间)外,还分配了用于保存留存期以外的数据的存储空间(或称为历史数据存储空间)。本发明的应用场景中,将留存期数据存储空间称为第一类存储区域,将历史数据存储空间称为第二类存储区域。同时,根据存储策略的不同,可以在第二类存储区域(即历史数据存储空间)中划分多个大小不同的存储空间,用于存储根据不同时间间隔获得的数据。每块存储空间均可循环复写。
根据存储策略,本发明中在控制装置上设置至少一种时间间隔,根据设置的时间间隔,可以每隔预定的时间间隔存储一个I帧数据存储在第二类存储区域中。当设置的时间间隔为多种时,将第二类存储区域划分为相应数量的子存储区域。例如,设置了第一预定时间间隔和第二预定时间间隔时,将第二类存储区域划分为两个子存储区域,其中在第一个子存储区域中,每隔第一预定时间间隔存储一个I帧数据,该I帧数据在第一子存储区域中的留存期为n1;在第二个子存储区域中,每隔第二预定时间间隔存储一个I帧数据,该I帧数据在第二子存储区域中的留存期为n2,第一预定时间间隔小于第二预定时间间隔,留存期n1<n2。
对于时间间隔的具体设置方式,可以通过对获取数据的时间点的特征进 行设置实现:
例如,在控制装置上设置以下获取数据的时间点:
(1)满足**:**:00的时间点;对于该类时间点,时间间隔为1分,这里**:**:00表示秒为0的任一时刻;
(2)满足**:00:10的时间点;对于该类时间点,时间间隔为1小时,这里**:00:10表示分为0秒为10的任一时刻;
(3)满足12:00:20的时间点;对于该类时间点,时间间隔为1天。
根据设置的时间间隔,控制装置每隔预设的时间间隔,将编码器生成的数据帧存储到第二类存储区域的子存储区域中。其中,当设置了多种时间间隔时,基于减小编码器的性能压力、减轻网络突发流量的考虑,通过合理设置时间点的特征,可以使得向各子存储区域中存储I帧数据的时间点相互交叉。例如对于上述时间点(1)~(3),任一时刻最多只需向一个子存储区域中存储I帧数据。
以上述(1)~(3)所示的情况为例,则存储设备中存储空间的划分方式如下所示:
1.存储空间S1(第一类存储区域),存储编码器连续发送的数据(通常情况下,每秒编码器发送1个I帧文件和24个P帧文件);
2.存储空间S2(第二类存储区域的子存储区域),存储控制装置每分钟发送的一个I帧文件,对于P帧文件可以根据设置进行丢弃或进行存储;
3.存储空间S3(第二类存储区域的子存储区域),存储控制装置每小时发送的一个I帧文件,对于P帧文件可以根据设置进行丢弃或进行存储;
4.存储空间S4(第二类存储区域的子存储区域),存储控制装置每天发送的一个I帧文件,对于P帧文件可以根据设置进行丢弃或进行存储;
其中,存储时每个存储空间的大小,由存储码率、存储策略以及数据保留期限共同决定。存储空间的划分示意图如图3所示。
本发明的一个应用场景中,以1Mbps_CIF_H.264的典型监控码率为例说明本发明的视频数据的具体存储方式,其中I帧大小约为32Kbyte。
以存储计划中的留存期为7天为例,在存储设备中划分四块存储空间 S1~S4,其中S1为第一类存储空间,S2~S4为第二类存储空间的子存储区域。存储策略如下所示:
1.存储空间S1,连续存储编码器采集的I帧文件,留存期为7天;
2.存储空间S2,每分钟存储控制装置发送的由编码器采集的一个I帧文件,留存期为70天(留存期的长度可以通过数据管理服务器进行设置,下同),存储发送的时间满足**:**:00;其中*表示一个数字;
3.存储空间S3,每小时存储控制装置发送的由编码器采集的一个I帧文件,留存期为700天,存储发生的时间满足**:00:10;
4.存储空间S4,每天存储控制装置发送的由编码器采集的一个I帧文件,留存期为7000天,存储发生的时间满足12:00:20。
具体的存储空间划分实现方式如下:
i)留存期数据存储空间S1
1Mbps*1000*1000*(60*60*24*7)/(1024*1024*1024*8)=70.4G
ii)历史数据存储空间S2+S3+S4
存储空间S2,每分钟存储一个I帧文件(此处以对于P帧文件进行丢弃为例进行说明),保存70天,容量为:
32Kbyte*(60*24*70)/(1024*1024)=3.1G
存储空间S3,每小时存储一个I帧文件,保存700天,容量为:
32Kbyte*(24*700)/(1024*1024)=0.5G
存储空间S4,每天存储一个I帧文件,保存7000天,容量为:
32Kbyte*7000/(1024*1024)=0.2G
因此:
历史数据存储空间=3.1+0.5+0.2=3.7G
总存储空间=70.4+3.7=74.1G
其中,历史存储空间占总容量的3.7/74.1=5%。因此以较少的存储空间占用率实现了存储时间超过留存期的跨度较长的历史录像数据的存储。
以下对本发明中对于控制装置的数据存储的时间间隔设置方式进行介绍。在设置多种时间间隔时,向各子存储区域中存储I帧数据的时间点可能会重叠。例如,对于以下时间点:
(1)满足**:**:00的时间点;对于该类时间点,时间间隔为1分;
(2)满足**:00:00的时间点;对于该类时间点,时间间隔为1小时;
(3)满足12:00:00的时间点;对于该类时间点,时间间隔为1天。
对于时刻12:00:00,同时属于上述三类时间点,因此控制装置需要同时向第二类存储空间的三个子存储区域同时写入编码器生成的数据。本发明中,为了同时向多个存储空间写入数据给控制装置带来的性能压力,同时为了减轻网络的突发存储流量,可以通过设置,使得向各子存储区域中存储I帧数据的时间点相互交叉。例如:
在控制装置上设置以下时间点:
(1)满足**:**:00的时间点;对于该类时间点,时间间隔为1分;
(2)满足**:00:10的时间点;对于该类时间点,时间间隔为1小时;
(3)满足12:00:20的时间点;对于该类时间点,时间间隔为1天。
则控制装置向存储设备中存储数据的方式如下:
(1)编码器按照配置的帧率,持续向“留存期数据存储空间S1”写入数据,写满后自动复写该存储空间中最早时间的数据;
(2)控制装置在**:**:00时间点,即每隔1分钟,向“历史数据存储空间S2”写入编码器在当前时间点生成的一个I帧数据,写满后自动复写该存储空间中最早时间的数据;
(3)控制装置在**:00:10时间点,即每隔1小时,向“历史数据存储空间S3”写入编码器在当前时间点生成的一个I帧数据,写满后自动复写该存储空间中最早时间的数据;
(4)控制装置在12:00:20时间点,即每隔1天,向“历史数据存储空间S4”写入编码器在当前时间点生成的一个I帧数据,写满后自动复写该存储空间中最早时间的数据;
上述存储数据的示意图如图4所示。
使用本发明提供的上述方法时,存储设备中数据的回放机制与现有的数据回放机制相同。存储设备中存储的数据可以由DM(Data Manager,数据管理服务器)管理。DM会定期检查每个编码器对应的存储空间(包括留存期存储空间和历史存储空间)里的数据,并将检查结果记录在数据库中。当用户需回放某段时间的录像时,回放控制装置(如DM)返回客户端该录像所在存储路径以及相关读权限。客户端收到后,可直接登录SAN资源,根据时间索引,读取各个存储空间中相应时间段的数据。
由于留存期内的数据没有抽帧,可按照实际存储帧率进行回放;而历史存储空间的数据,因采用抽帧存储并且时间跨度相对较大,因此回放速度可固定设为1FPS(Frame Per Second,帧每秒),即每秒放1帧。
对于NAS存储方式,也适用于本发明,与SAN存储不同的是,分配存储空间后,编码器会先创建文件夹(用于标识不同的摄像机存储空间和存储时间),然后再写入存储数据。
本发明还提供了一种视频数据的存储系统,包括控制装置、编码器和存储设备的系统中,存储设备的存储区域中划分了第一类存储区域和第二类存储区域,第一类存储区域中存储的数据的留存期为M,第二类存储区域中存储的数据的留存期为N,且M<N;
编码器,用于将采集的监控数据连续存储在第一类存储区域中,该些数据在第一类存储区域中的留存期为M;
控制装置,用于每隔预定时间间隔存储一个编码器采集的I帧数据在第二类存储区域中,该I帧数据在第二类存储区域中的留存期为N。
其中,存储设备的第二类存储区域中,进一步划分为两个以上的子存储区域,其中在第一个子存储区域中,控制装置每隔第一预定时间间隔存储一个编码器采集的I帧数据,该I帧数据在第一子存储区域中的留存期为n1;在第二个子存储区域中,控制装置每隔第二预定时间间隔存储一个编码器采集的I帧数据,该I帧数据在第二子存储区域中的留存期为n2,第一预定时间间隔小于第二预定时间间隔,留存期n1<n2。
该系统还包括:
回放控制装置,用于对存储设备中已存储的数据帧的进行回放时,对于第一类存储区域中存储的数据帧按照实际存储帧率进行回放;对于第二类存储区域中存储的数据帧按照预设的固定帧率进行回放。
本发明提供的另一种视频数据的存储系统的具体实现中,还可以包括存储设备和编码器。其中:存储设备的存储区域划分了第一类存储区域和第二类存储区域,第一类存储区域中存储的数据的留存期为M,第二类存储区域中存储的数据的留存期为N,且M<N;
编码器,用于将采集的监控数据连续存储在所述第一类存储区域中,该些数据在第一类存储区域中的留存期为M;并且每隔预定时间间隔存储一个I帧数据在第二类存储区域中,该I帧数据在第二类存储区域中的留存期为N。即将前一种实施方式中控制装置的功能统一到编码器上实现。
其中,存储设备的第二类存储区域中,进一步划分为两个以上的子存储区域,其中在第一个子存储区域中,编码器每隔第一预定时间间隔存储一个I帧数据,该I帧数据在第一子存储区域中的留存期为n1;在第二个子存储区域中,编码器每隔第二预定时间间隔存储一个I帧数据,该I帧数据在第二子存储区域中的留存期为n2,第一预定时间间隔小于第二预定时间间隔,留存期n1<n2。
该系统还包括:回放控制装置,用于对存储设备中已存储的数据帧的进行回放时,对于第一类存储区域中存储的数据帧按照实际存储帧率进行回放;对于第二类存储区域中存储的数据帧按照预设的固定帧率进行回放。
本发明还提供了一种编码器,应用于包括编码器和存储设备的系统中,存储设备的存储区域中划分了第一类存储区域和第二类存储区域,第一类存储区域中存储的数据的留存期为M,第二类存储区域中存储的数据的留存期为N,且M<N;编码器用于将采集的监控数据连续存储在第一类存储区域中;该编码器的结构如图5所示,包括计时单元10和存储控制单元20:
存储控制单元20,用于根据计时单元10的计时,在第二类存储区域中,每隔预定时间间隔存储一个编码器采集的I帧数据,该I帧数据在第二类存储区域中的留存期为N。
其中,还包括:
设置单元30,用于设置不同的预定时间间隔;
存储控制单元20,具体用于当第二类存储区域包括两个以上的子存储区域时,在第一个子存储区域中,每隔设置单元设置的第一预定时间间隔存储一个I帧数据,该I帧数据在第一子存储区域中的留存期为n1;在第二个子存储区域中,每隔设置单元设置的第二预定时间间隔存储一个I帧数据,该I帧数据在第二子存储区域中的留存期为n2,第一预定时间间隔小于第二预定时间间隔,留存期n1<n2。通过设置单元30对存储I帧数据的时间点的特征进行设置,以实现设置的不同的预定时间间隔,并使得存储控制单元20在向第二类存储区域中的第一个子存储区域和第二个子存储区域存储I帧数据的时间点相互交叉。
对于本发明提供的系统,由编码器在将生成的数据帧连续存储到存储设备的第一类存储区域,同时在预设的间隔时间到达时将编码器在当前时刻生成的数据帧存储到存储设备的第二类存储区域。因此,通过合理运用数据帧的抽帧存储技术,实现了以较小的存储空间存储时间超过留存期的跨度较长的历史录像数据。当应用于图像相对较静止的监控场景中时,用户可以对存储时间超过留存期的历史视频数据进行浏览。例如小区监控中,监控点一般都是用固定摄像机对着同一区域,场景单一,且图像大部分时间都是静止的。假设,在小区的某个角落里发生了案件,而当人们知晓时,离案发的时间又已经超出了存储设备的留存期。该情况下,使用本发明提供的方法和设备,仍可以进行场景对比,找到案发时间并获取到所需的视频证据。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的 单元或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的单元可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的单元可以合并为一个单元,也可以进一步拆分成多个子单元。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。