System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理领域,尤其涉及一种数据存储方法、读取方法、装置、存储介质及程序产品。
技术介绍
1、事件相机(event camera)是近几年出现的新型相机,是一种基于事件驱动的方式来捕捉场景中的动态变化的相机。其成像原理是,当现实场景中物体或者光照发生变化时,事件相机会产生一些像素级的输出(即事件),生成由一系列事件构成的时空数据流,即事件流。
2、由于事件数据的时间分辨率非常高,因此事件相机输出的数据量相比传统的色彩相机输出的大很多,通常需要压缩后存储,在解压后读取再使用。同时,事件数据形式为流式数据,因此读取事件数据的形式为取出一个时间段内的数据。在普通压缩算法基础上读取数据,需要将数据整体解压缩之后再进行数据读取操作,效率很低,急需一种数据存储方案,使得在读取数据时,不必将数据整体解压缩也能读取数据,以提高数据读取效率。
技术实现思路
1、有鉴于此,提出了一种数据存储方法、读取方法、装置、存储介质及程序产品,根据本申请实施例的数据存储方法,在读取事件数据时可以不必解压所有的数据块就能够读取需读取的事件数据,从而能够支持有选择地读取数据,能够提高数据读取效率。
2、第一方面,本申请的实施例提供了一种数据存储方法,所述方法应用于处理器,所述方法包括:获取事件数据;对所述事件数据进行处理,得到多个数据块和对应的多个元数据块,其中每一数据块包括处理后的一部分事件数据,每一元数据块包括该元数据块对应的数据块中的事件数据的开始时间、结束时间、数目、压缩方式以
3、根据本申请实施例的数据存储方法,通过获取事件数据,对事件数据进行处理得到多个数据块和对应的多个元数据块,其中每一数据块包括处理后的一部分事件数据,使得事件数据可以被分块压缩;每一元数据块包括该元数据块对应的数据块中的事件数据的开始时间、结束时间、数目、压缩方式以及数据块的存储地址,使得元数据块可指示该元数据块对应的数据块中的事件数据信息;通过将多个数据块存储至第一存储区域,将多个元数据块存储至第二存储区域的分区存储方式,使得元数据块和数据块可以分别读取,因此在读取事件数据时,根据需读取的事件数据的时间区间即可通过元数据块中包括的时间信息找到满足要求的数据块,即支持时间区间的查询;根据满足要求的数据块的压缩方式对应解压该数据块即可得到需读取的事件数据,可以不必解压所有的数据块,即能够支持按需读取,只需要读取相关的数据,不需要读取全部数据;因此,根据本申请实施例的数据存储方法,在读取事件数据时可以不必解压所有的数据块就能够读取需读取的事件数据,从而能够支持有选择地读取数据,能够提高数据读取效率。
4、根据第一方面,在所述数据存储方法的第一种可能的实现方式中,所述对所述事件数据进行处理,得到多个数据块和对应的多个元数据块,包括:按照所述事件数据中的时间信息和/或空间信息对所述事件数据进行分块,得到多个事件块;针对每一事件块,对该事件块进行处理得到多个序列,所述多个序列包括该事件块中的事件数据的时间信息、空间信息和事件内容信息,每个序列中的元素数目等于该事件块中的事件数据数目,每个序列中的元素数值均为大于或等于0的整数、且元素数值大于第一阈值的元素个数大于元素数值小于或等于第一阈值的元素个数;针对每一序列,从预设的压缩方式中选择与该序列相适应的压缩方式,并基于选择的压缩方式对该序列进行压缩,得到压缩后的数据;根据每一事件块对应的多个序列得到的多个压缩后的数据,得到一个数据块;根据每一事件块所包括的事件数据中的时间信息、事件数据数目、选择的压缩方式以及数据块的存储地址,得到该一个数据块对应的一个元数据块。
5、通过这种方式,使得原本冗余的事件数据,可以转变为大部分数据数值很小、小部分数据数值较大的便于压缩的形式,使得在压缩时能够节省数据存储成本。
6、根据第一方面的第一种可能的实现方式,在所述数据存储方法的第二种可能的实现方式中,所述多个序列包括第一序列,所述第一序列包括事件块中的事件数据的时间信息,所述针对每一事件块,对该事件块进行处理得到多个序列,包括:按照时间信息的先后顺序对该事件块中的事件数据排序,对每一事件数据的时间信息与前一事件数据的时间信息作差,得到第一组差值;将排序最前的事件数据的时间信息以及所述第一组差值中的每一差值分别作为所述第一序列中的元素,得到所述第一序列。
7、通过这种方式,可以提高事件数据的存储效率,降低了对第一存储区域容量要求。
8、根据第一方面的第二种可能的实现方式,在所述数据存储方法的第三种可能的实现方式中,所述多个序列还包括第二序列、第三序列、第四序列,所述第二序列包括事件块中的事件数据的第一维度空间信息,所述第三序列包括事件块中的事件数据的第二维度空间信息,所述第四序列包括事件块中的事件数据的事件内容信息,所述针对每一事件块,对该事件块进行处理得到多个序列,还包括:对每一事件数据的第一维度空间信息与前一事件数据的第一维度空间信息作差,得到第二组差值;使用预设的第一函数,将排序最前的事件数据的第一维度空间信息以及所述第二组差值中的负数转换为正数;根据转换后的排序最前的事件数据的第一维度空间信息,以及转换后的第二组差值中的每一差值,得到所述第二序列;对每一事件数据的第二维度空间信息与前一事件数据的第二维度空间信息作差,得到第三组差值;使用预设的第一函数,将排序最前的事件数据的第二维度空间信息以及所述第三组差值中的负数转换为正数;根据转换后的排序最前的事件数据的第二维度空间信息,以及转换后的第三组差值中的每一差值,得到所述第三序列;对每一事件数据的事件内容信息与前一事件数据的事件内容信息作差,得到第四组差值;使用预设的第一函数,将排序最前的事件数据的事件内容信息以及所述第四组差值中的负数转换为正数;根据转换后的排序最前的事件数据的事件内容信息,以及转换后的第四组差值中的每一差值,得到所述第四序列。
9、通过这种方式,使得由事件块处理得到的多个序列能够以更少的数据量指示事件块中的数据量较大的事件数据的信息,降低数据的冗余程度。
10、根据第一方面的第二种可能的实现方式,在所述数据存储方法的第四种可能的实现方式中,所述多个序列还包括第五序列、第六序列,所述第五序列和第六序列包括事件块中的事件数据的空间信息,所述第五序列还包括事件块中的事件数据的事件内容信息,所述针对每一事件块,对该事件块进行处理得到多个序列,还包括:使用预设的第二函数,对每一事件数据的事件内容信息以及该事件数据的第一维度空间信息或第二维度空间信息进行处理,得到合成信息;对每一事件数据的合成信息与前一事件数据的合成信息作差,得到第五组差值;使用预设的第一函数,将排序最前的事件数据的合成信息以及所述第五组差值中的负数转换为正数;根据转换后的排序最前的事件数据的合成信息,以及转换后的第五组差值中的每一差值,得到所述第五序列;对每一事件数据的第二维度空间信息与前一本文档来自技高网...
【技术保护点】
1.一种数据存储方法,其特征在于,所述方法应用于处理器,所述方法包括:
2.根据权利要求1所述的数据存储方法,其特征在于,所述对所述事件数据进行处理,得到多个数据块和对应的多个元数据块,包括:
3.根据权利要求2所述的数据存储方法,其特征在于,所述多个序列包括第一序列,所述第一序列包括事件块中的事件数据的时间信息,
4.根据权利要求3所述的数据存储方法,其特征在于,所述多个序列还包括第二序列、第三序列、第四序列,所述第二序列包括事件块中的事件数据的第一维度空间信息,所述第三序列包括事件块中的事件数据的第二维度空间信息,所述第四序列包括事件块中的事件数据的事件内容信息,
5.根据权利要求3所述的数据存储方法,其特征在于,所述多个序列还包括第五序列、第六序列,所述第五序列和第六序列包括事件块中的事件数据的空间信息,所述第五序列还包括事件块中的事件数据的事件内容信息,
6.根据权利要求2所述的数据存储方法,其特征在于,在序列中的每个元素的数值相同且位宽均为b时,所述预设的压缩方式包括第一压缩方式,
7.根据权利要求
8.根据权利要求2所述的数据存储方法,其特征在于,在序列中至少有两个元素的位宽不同,且序列中元素的最大位宽为b时,所述预设的压缩方式包括第三压缩方式,
9.一种数据读取方法,其特征在于,所述方法应用于处理器,所述方法包括:
10.根据权利要求9所述的数据读取方法,其特征在于,所述根据找到的每一数据块对应的元数据块中的压缩方式,对该数据块进行处理,得到待读取的事件数据,包括:
11.根据权利要求10所述的数据读取方法,其特征在于,所述多个序列包括第一序列,所述第一序列包括事件块中的事件数据的时间信息,
12.根据权利要求11所述的数据读取方法,其特征在于,所述多个序列还包括第二序列、第三序列、第四序列,所述第二序列包括事件块中的事件数据的第一维度空间信息,所述第三序列包括事件块中的事件数据的第二维度空间信息,所述第四序列包括事件块中的事件数据的事件内容信息,
13.根据权利要求11所述的数据读取方法,其特征在于,所述多个序列还包括第五序列、第六序列,所述第五序列和第六序列包括事件块中的事件数据的空间信息,所述第五序列还包括事件块中的事件数据的事件内容信息,
14.根据权利要求10所述的数据读取方法,其特征在于,所述数据块包括多个压缩后的数据,所述根据找到的每一数据块对应的元数据块中的压缩方式,对该数据块进行解压缩处理,得到解压缩后的多个序列,包括:
15.根据权利要求10所述的数据读取方法,其特征在于,所述数据块包括多个压缩后的数据,所述根据找到的每一数据块对应的元数据块中的压缩方式,对该数据块进行解压缩处理,得到解压缩后的多个序列,包括:
16.根据权利要求10所述的数据读取方法,其特征在于,所述数据块包括多个压缩后的数据,所述根据找到的每一数据块对应的元数据块中的压缩方式,对该数据块进行解压缩处理,得到解压缩后的多个序列,包括:
17.一种数据存储装置,其特征在于,所述装置应用于处理器,所述装置包括:
18.一种数据读取装置,其特征在于,所述装置应用于处理器,所述装置包括:
19.一种数据存储装置,其特征在于,包括:
20.一种数据读取装置,其特征在于,包括:
21.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-8中任意一项所述的方法,或者,实现权利要求9-16任意一项所述的方法。
22.一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,其特征在于,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行权利要求1-8中任意一项所述的方法,或者,执行权利要求9-16中任意一项所述的方法。
...【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法应用于处理器,所述方法包括:
2.根据权利要求1所述的数据存储方法,其特征在于,所述对所述事件数据进行处理,得到多个数据块和对应的多个元数据块,包括:
3.根据权利要求2所述的数据存储方法,其特征在于,所述多个序列包括第一序列,所述第一序列包括事件块中的事件数据的时间信息,
4.根据权利要求3所述的数据存储方法,其特征在于,所述多个序列还包括第二序列、第三序列、第四序列,所述第二序列包括事件块中的事件数据的第一维度空间信息,所述第三序列包括事件块中的事件数据的第二维度空间信息,所述第四序列包括事件块中的事件数据的事件内容信息,
5.根据权利要求3所述的数据存储方法,其特征在于,所述多个序列还包括第五序列、第六序列,所述第五序列和第六序列包括事件块中的事件数据的空间信息,所述第五序列还包括事件块中的事件数据的事件内容信息,
6.根据权利要求2所述的数据存储方法,其特征在于,在序列中的每个元素的数值相同且位宽均为b时,所述预设的压缩方式包括第一压缩方式,
7.根据权利要求2所述的数据存储方法,其特征在于,在序列中元素的最大位宽为b时,所述预设的压缩方式包括第二压缩方式,
8.根据权利要求2所述的数据存储方法,其特征在于,在序列中至少有两个元素的位宽不同,且序列中元素的最大位宽为b时,所述预设的压缩方式包括第三压缩方式,
9.一种数据读取方法,其特征在于,所述方法应用于处理器,所述方法包括:
10.根据权利要求9所述的数据读取方法,其特征在于,所述根据找到的每一数据块对应的元数据块中的压缩方式,对该数据块进行处理,得到待读取的事件数据,包括:
11.根据权利要求10所述的数据读取方法,其特征在于,所述多个序列包括第一序列,所述第一序列包括事件块中的事件数据的时间信息,
12.根据权利要求11所述的数据读取方法,其特征在于,所述多个序列还包括第二序列、第三序列、第四序列,...
【专利技术属性】
技术研发人员:王耀园,龙明盛,游凯超,张子阳,王瀛,占云龙,廖健行,王建民,王侃文,
申请(专利权)人:清华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。