发明内容
本发明的目的在于提供自动压缩加密的存储系统和设备,解决现有的自动压缩加密的存储系统存在压缩效果差,加密存储时计算较为麻烦。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为自动压缩加密的存储系统,包括输入模块、压缩模块以及加密存储模块,所述输入模块用于输入监控视频,所述压缩模块:用于对输入的视频进行压缩,所述加密存储模块:用于对压缩后的视频数据进行加密并存储在磁盘中;
所述压缩模块获取监控视频后的压缩过程首先将连续的监控视频按照一段时间进行分割,得到若干视频区段,将一个视频区段转换成N帧图像,并标记为(A
1、A
2、A
3、……、A
N),且每一帧图像均为点阵图得到若干同型矩阵,对矩阵A
1直接标记为矩阵B
1,对矩阵A
2减去矩阵A
1的差值得到矩阵B
2,依次类推得到矩阵集合(B
1、B
2、B
3、……、B
N),然后在所述矩阵集合中相邻两个矩阵作如下转换运算,
式子中f(x)为判断函数,α作为判断对比阈值,最终得到
然后进行相同重叠,再转化成(B
1、B
2、……、B
i、(m)B
i+1、……、B
N),mB
i+1表示m个B
i+1,再对该矩阵集合进行二进制编码得到(C
1、C
2、……、C
i、mC
i+1、……、C
N)帧数组,式中:mC
i+1表示m个C
i+1,且所述帧数组中的元素均为二进制编码字符串,对每一个视频区段均做如上运算,得到若干帧数组,并将若干所述帧数组发送至所述加密存储模块;
所述加密储存模块对所述帧数组的加密过程为将每一个所述帧数组转化成多个子数组,所述加密储存模块建立加密函数以及解密函数,对若干所述子数组按照随机数表进行标号得到标号矩阵,将所述标号矩阵输入加密函数得到加密矩阵,根据加密矩阵将若干所述子数组重新排序,生成密帧数组,将所述密帧数组中每一个子数组依次存入一个磁盘扇区内,完成视频存储。
优选地,优选地,所述加密储存模块对所述密帧数组的解密过程为直接从对应磁盘位置调取密帧数组,将所述加密矩阵输入解密函数得到标号矩阵,根据标号矩阵中随机数表的顺序重新排列子数组并拼接子数组,得到原帧数组,完成解密,所述加密模块中数据加密与数据解密是双向共存,且相互对应。
优选地,所述压缩模块解压过程为所述压缩过程逆过程,解码过程为首先通过二进制解码将(C1、C2、……、Ci、(m)Ci+1、……、Cn)帧数组经过十进制编码转化为(B1、B2、……、Bi、(m)Bi+1、……、Bn),再将重叠部分(m)Bi+1展开,最终得到矩阵集合(B1、B2、......、Bi、Bi+1、Bi+1、......、Bi+1、......、BN),再经f(x)逆运算得到(B1、B2、B3、......、BN)得,在进行加法运算进行转换,B1=A1,Ai+1=Bi+Bi+1,通过对应递推关系式,以此得到(A1、A2、A3、.....、AN),得到N帧图像,最后转换成区段视频,实现视频解压。
优选地,所述转换运算公式用于判断相邻的两个Bi和Bi+1是否接近,f(x)的运算过程为将两个同型矩阵Bi和Bi+1对应位置数字进行相减,在取绝对值生成一个差值矩阵,并求出差值矩阵中元素数为0的值占全部元素值中的频率,最终频率为f(x)的运算结果,阈值α的确定过程为前期将两幅相邻且发生变化的图像提前输入运算得到变化的临界值,且对于不同的监控摄像机监控场景不同,对应阈值α的具体数值不同。
优选地,每个所述子数组内编码字符串个数相同,若无法等分则在末尾子数组中的字符串后补0,直至该末尾子数组内字符串个数与其他子数组内字符串个数相同,通过补0的方式,使得子数组字符串个数相同,进而使得子数组的大小相同,在加密过程中对子数组重新排序,无法在排序后的子数组集合中,通过子数组较小找出该子数组为最后一个子数组,提高加密效果。
优选地,所述输入模块与监控摄像头之间通过交换机连接,当监控视频传输到输入模块,自动启动压缩模块以及加密模块运行,通过在输入模块内设立诱发模块,将视频输入作为诱发因子,诱发压缩模块自动运行,使得在监控系统不断拍摄的同时,压缩模块不断进行压缩,并直接传输到加密存储模块,进行加密存储的操作。
优选地,所述压缩模块中设立自动标记单元,根据f(x)是否大于突变阈值β,判断相邻两帧图是否发生突变,若发生则进行时间标记,阈值β的判断过程为期将两幅相邻且发生巨大突变的图像提前输入运算得到变化的临界值,且对于不同的监控摄像机监控场景不同,对应阈值β的具体数值不同。
自动压缩加密的存储设备,所述设备包括存储器、处理器以及磁盘,所述存储器用于存储可执行指令,所述处理器用于处理所述存储器中存储的命令,该命令用于实现所述自动压缩加密的存储系统的运行,所述磁盘用于存储文件,提高系统运行速率,使得存储更为高效。
本发明具有以下有益效果:
1.本发明通过设置压缩模块,压缩过程中首先将连续的监控视频按照设定时间段的时间进行分割,即从0时至24时,得到每天的视频区段,进而得到若干视频区段,将一个视频区段转换成N帧图像,且每一帧图像均为点阵图得到若干同型矩阵,同型矩阵为行数以及列数相同的矩阵,将第一张图像作背景图像,将之后图像减去该背景图像得到拍摄到的出现在监控里有具体信息的目标图像,然后在矩阵集合中相邻两个矩阵作如下转换运算,在经过转换运算对目标图像中重合的部分进行替换,最终得到
然后进行相同重叠,再转化成(B
1、B
2、……、B
i、(m)B
i+1、……、B
N),mB
i+1表示m个B
i+1,在对该矩阵集合进行二进制编码得到帧数组,对每一个视频区段均做如上运算,得到若干帧数组,与原有的对每幅图进行压缩,在处理监控视频中长时间空白背景的视频压缩程度高,进而从整体上提高压缩程度,使得压缩效果更好,占用更少的内存。
2.本发明通过设置加密存储模块,加密存储过程中首先经过随机函数生成一段随机数的数组,且数组中元素个数与子数组个数相同,将该随机数组作为标号矩阵,例如:(2,25,36,7,56,48,39,12),将标号矩阵(2,25,36,7,56,48,39,12)与若干子数组一一对应,在将该随机数组标号矩阵(2,25,36,7,56,48,39,12)输入加密函数,生成(36,7,12,56,39,48,25,2)作为密文标号的加密矩阵,根据密文标号的加密矩阵对原若干子数组重新排序,对重新排序后的子数组进行存储,替代原有的对每一个子数组的内容进行加密,极大减少了运算量,该加密过程中子数组划分时,子数组内容越少,子数组个数越多,加密效果越好,随之运算量增加,根据实际需要将帧数组等分成一定数量的子数组,既保证了加密效果,也保证了运算量。
3.本发明通过设置标记单元,在压缩转换运算过程中,根据f(x)是否大于突变阈值β,判断相邻两帧图是否发生突变,若发生则进行时间标记,阈值β的判断过程为期将两幅相邻且发生巨大突变的图像提前输入运算得到变化的临界值,且对于不同的监控摄像机监控场景不同,对应阈值β的具体数值不同,例如在深夜中该监控场景一段时间内无变化始终为监控背景,突然一个目标经过,帧图像发生突变,发生突变讲经过自动标记单元检测出来,并自动标记该时间,为后续调取并查看监控时,根据标记时间的提醒,优先查看该带有目标信息的区段,不再需要逐一查看,人为找寻目标信息,更加省时省力,效果更佳。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“上”、“中”、“外”、“内”、“下”、“四周”等指示方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的组件或元件必须具有特定的方位,以特定的方位构造和操作,因此不能理解为对本发明的限制。
图1为本发明自动压缩加密的存储系统的系统框图,如图1所示,本实施例提供的自动压缩加密的存储系统包括输入模块、压缩模块以及加密存储模块,输入模块用于输入监控视频,压缩模块:用于对输入的视频进行压缩,加密存储模块:用于对压缩后的视频数据进行加密并存储在磁盘中;
图3为本发明自动压缩加密的存储系统中压缩模块的流程图,如图3所示,压缩模块获取监控视频后的压缩过程首先将连续的监控视频按照设定时间段的时间进行分割,例如从0时至24时,得到每天的视频区段,进而得到若干视频区段,将一个视频区段转换成N帧图像,并标记为(A
1、A
2、A
3、……、A
N),且每一帧图像均为点阵图得到若干同型矩阵,对矩阵A
1直接标记为矩阵B
1,对矩阵A
2减去矩阵A
1的差值得到矩阵B
2,依次类推得到矩阵集合(B
1、B
2、B
3、……、B
N),然后在所述矩阵集合中相邻两个矩阵作如下转换运算,
式子中f(x)为判断函数,α作为判断对比阈值,最终得到
然后进行相同重叠,再转化成(B
1、B
2、……、B
i、(m)B
i+1、……、B
N),mB
i+1表示m个B
i+1在对该矩阵集合进行二进制编码得到(C
1、C
2、……、C
i、mC
i+1、……、C
N)帧数组,式中,mC
i+1表示m个C
i+1且所述帧数组中的元素均为二进制编码字符串,对每一个视频区段均做如上运算,得到若干帧数组,并将若干所述帧数组发送至所述加密存储模块,且每一个帧数组内都包含日期信息;
图4为本发明自动压缩加密的存储系统中加密存储模块中加密与解密的系统框图,如图4所示,加密储存模块对帧数组的加密过程为将每一个帧数组转化成多个子数组,加密储存模块建立加密函数以及解密函数,对若干子数组按照随机数表进行标号得到标号矩阵,将标号矩阵输入加密函数得到加密矩阵,根据加密矩阵将若干子数组重新排序,生成密帧数组,将密帧数组中每一个子数组依次存入一个磁盘扇区内,完成视频存储,视频存储过程中,首先经过随机函数生成一段随机数的数组,且数组中元素个数与子数组个数相同,将该随机数组作为标号矩阵,例如:(2,25,36,7,56,48,39,12),将该随机数组标号矩阵(2,25,36,7,56,48,39,12)与若干子数组一一对应,在将该随机数组标号矩阵(2,25,36,7,56,48,39,12)输入加密函数,生成(36,7,12,56,39,48,25,2),且作为密文标号的加密矩阵,根据密文标号的加密矩阵对原若干子数组重新排序,对重新排序后的子数组进行存储,替代原有的对每一个子数组的内容进行加密,极大减少了运算量,该加密过程中子数组划分时,子数组内容越少,子数组个数越多,加密效果越好,随之运算量增加,根据实际需要将帧数组等分成一定数量的子数组,既保证了加密效果,也保证了运算量。
如图4所示,本实施例中,加密储存模块对密帧数组的解密过程为直接从对应磁盘位置调取密帧数组,将加密矩阵输入解密函数得到标号矩阵,根据标号矩阵中随机数表的顺序重新排列子数组并拼接子数组,得到原帧数组,完成解密,加密模块中数据加密与数据解密是双向共存,且相互对应,解密的过程中将(36,7,12,56,39,48,25,2)作为密文标号的加密矩阵输入解密函数,得到对应的(2,25,36,7,56,48,39,12)标号矩阵,根据标号矩阵中元素顺序重新排序子数组,在进行拼接成原帧数组,完成解密。
如图3所示,本实施例中,压缩模块解压过程为所述压缩过程逆过程,解码过程为首先通过二进制解码将(C1、C2、...、Ci、(m)Ci+1、……、Cn)帧数组经过十进制编码转化为(B1、B2、...、Bi、(m)Bi+1、……、Bn),再将重叠部分(m)Bi+1展开,最终得到矩阵集合(B1、…、Bi、Bi+1、Bi+1、......、Bi+1、......、BN),再经f(x)逆运算得到(B1、B2、B3、......、BN)得,在进行加法运算进行转换,B1=A1,Ai+1=Bi+Bi+1,通过对应递推关系式,以此得到(A1、A2、A3、.....、AN),得到N帧图像,最后转换成区段视频,实现视频解压。
本实施例中,转换运算公式用于判断相邻的两个Bi和Bi+1是否接近,f(x)的运算过程为将两个同型矩阵Bi和Bj对应位置数字进行相减,在取绝对值生成一个差值矩阵,并求出差值矩阵中元素数为0的值占全部元素值中的频率,最终频率为f(x)的运算结果,阈值α的确定过程为前期将两幅相邻且发生变化的图像提前输入运算得到变化的临界值,且对于不同的监控摄像机监控场景不同,对应阈值α的具体数值不同,通过根据对应监控场景不同设定不同阈值α,使得本系统更加适用于该监控系统拍摄的监控场景。
本实施例中,每个子数组内编码字符串个数相同,若无法等分则在末尾子数组中的字符串后补0,直至该末尾子数组内字符串个数与其他子数组内字符串个数相同,通过补0的方式,使得子数组字符串个数相同,进而使得子数组的大小相同,在加密过程中对子数组重新排序,无法在排序后的子数组集合中,通过子数组较小找出该子数组为最后一个子数组,提高加密效果。
如图1所示,本实施例中,当监控视频传输到输入模块,自动启动压缩模块以及加密模块运行,通过在输入模块内设立诱发模块,将视频输入作为诱发因子,诱发压缩模块自动运行,使得在监控系统不断拍摄的同时,压缩模块不断进行压缩,并直接传输到加密存储模块,进行加密存储的操作,使得拍摄、压缩、加密以及存储一体化顺序进行,使得本系统更加智能化。
如图3所示,本实施例中,压缩模块中设立自动标记单元,根据f(x)是否大于突变阈值β,判断相邻两帧图是否发生突变,若发生则进行时间标记,阈值β的判断过程为期将两幅相邻且发生巨大突变的图像提前输入运算得到变化的临界值,且对于不同的监控摄像机监控场景不同,对应阈值β的具体数值不同,例如在深夜中该监控场景一段时间内无变化始终为监控背景,突然一个目标经过,帧图像发生突变,发生突变讲经过自动标记单元检测出来,并自动标记该时间,为后续调取并查看监控时,根据标记时间的提醒,优先查看该带有目标信息的区段,不再需要逐一查看,人为找寻目标信息,更加省时省力,效果更佳。
自动压缩加密的存储设备,设备包括存储器、处理器以及磁盘,存储器用于存储可执行指令,处理器用于处理存储器中存储的命令,该命令用于实现自动压缩加密的存储系统的运行,磁盘用于存储文件,提高系统运行速率,使得存储更为高效。
图2为本发明自动压缩加密的存储系统的流程图,参照图2,在实际运用中,首先将连续的监控视频按照设定时间段进行分割,例如从0时至24时,得到每天的视频区段,进而得到若干视频区段,将一个视频区段转换成N帧图像,且每一帧图像均为点阵图得到若干同型矩阵,同型矩阵为行数以及列数相同的矩阵,将第一张图像作背景图像,将之后图像减去该背景图像得到拍摄到的出现在监控里有具体信息的目标图像,然后在矩阵集合中相邻两个矩阵作如下转换运算,在经过转换运算对目标图像中重合的部分进行替换,例如在监控视频中深夜时短时间内没有目标信息,将该时间内的帧图像进行替换,进行进一步压缩,具体压缩过程中,最终得到
然后进行相同重叠,再转化成(B
1、B
2、……、B
i、(m)B
i+1、……、B
N),mB
i+1表示m个B
i+1,例如,(B
1、B
2、B
3、B
4、B
5、B
6、B
7、B
8、B
9、B
10),在监控内容中出现长时间无目标,进而会出现长时间相同帧通过相似函数进行替换运算最终得到,(B
1、B
2、B
21、B
22、B
23、B
6、B
7、B
8、B
9、B
10),其中,B
21、B
22、B
23均与B
2相同,在转化成(B
1、4B
2、B
6、B
7、B
8、B
9、B
10),其中4B
2表示4个B
2,在对该矩阵集合进行二进制编码得到帧数组,对每一个视频区段均做如上运算,得到若干帧数组,并将若干帧数组发送至加密存储模块,加密储存模块对帧数组的加密过程为将每一个帧数组转化成多个子数组,加密储存模块建立加密函数以及解密函数,对若干子数组按照随机数表进行标号得到标号矩阵,将该随机数组作为标号矩阵,如图4所示,例如:将(2,25,36,7,56,48,39,12)输入加密函数,生成(36,7,12,56,39,48,25,2)作为密文标号的加密矩阵,根据密文标号的加密矩阵对原若干子数组重新排序,生成密帧数组,将密帧数组中每一个子数组依次存入一个磁盘扇区内,完成视频存储。
本发明中,随机数为伪随机数,通过CNN生成随机数,加密明文异或随机数为加密密文,解密加密密文异或随机数为明文。
本发明中,使用CNN生成伪随机序列,包括:从构成CNN的神经元提取在时间序列中产生的输出,并将其存储在寄存器中。接着,从寄存器240取出尾数部的低位的x比特。取出的位串成为随机数。优选地,从寄存器取出尾数部的低位24比特,这是因为低位24比特的随机性好。
本发明中,通过使用一组掩模图案遮蔽来自CNN的伪随机数而获得的随机数序列。接下来,将通过举例说明在本实施例中使用的掩码图案的生成方法。例如,以0和1相同数量(0为12bit,1为12bit)构成掩模图案,生成8个这种掩码图案,并且将192位用作一组。通过使用一组掩模图案遮蔽来自CNN的伪随机数而获得的随机数序列被用作加密时的随机数序列。在本实施例中,创建24位掩码图案,使得0和1的数量相同,并且生成8个掩码图案作为一组(192位)掩码图案。这里,为了使0和1的个数相同,例如在24比特内依次决定成对的比特,在一方加入0,在另一方加入1。作为掩码图案生成的示例,将说明使用从CNN生成的伪随机数来确定要配对的位的方法以及确定要配对的位中的哪一个为0并且哪一个为1的方法。注意,生成掩模图案的方法不限于此,并且可以使用其它方法。另外,如上所述,0和1也可以不是相同数量。
在本实施例的示例中,从CNN生成24位伪随机数,并且使用该伪随机数的值来逐对地顺次确定各对。为了生成24bit的掩码图案,确定12对掩码图案。在24位掩码图案生成中,使用来自CNN的伪随机数xn(在24位的情况下,n=1、2和…,12)确定第n对中的配对位的编号yn(在24位的情况下为n=1、2、…和12)的处理由以下公式表示:
当确定了成对位的值的第n组(在24位的情况下是n=1、2、…和12)中的成对位时,根据伪随机数xn的最低有效位来确定第n组中的位中的哪一个为0而哪一个为1。在本实施例中,例如,当伪随机数xn的最低有效位是0时,将先前(还没有确定的位中的第一个)位设置为0,并且将成对确定的位设置为1。相反,当伪随机数xn的最低有效位是1时,前一位被设置为1,并且被确定为一对的位被设置为0。通过上述处理生成一个掩模图案。此外,重复上述处理总共8次,以获得1组192位的掩码图案。掩码图案的位数可以是24位以外的位数,并且一组中的掩码图案的数量可以是8位以外的位数。
接下来,将描述使用上述生成的掩模图案集生成用于加密的伪随机数的方法。本发明中,使用8个24位伪随机数通过上述生成的1组(8个)的掩模图案对其进行掩模。在本实施方式中,例如丢弃掩码为0的位,仅取出掩码为1的位,将其作为加密时的随机数列使用。
通过使用本实施例的掩模图案方法,可以增加所需的可生成的加密密钥的数量,并且可以实现安全的流加密方法。
以上公开的本发明优选实施例只是用于帮助阐述本发明,优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为的具体实施方式,显然,根据本说明书的内容,可作很多的修改和变化,本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明,本发明仅受权利要求书及其全部范围和等效物的限制。