本技术涉及数据处理,尤其涉及一种数据处理方法及装置。
背景技术:
1、随着三维应用场景越来越多,三维模型的精度越来越高,相应的,三维模型数据文件也越来越大。如何在三维模型数据文件越来越大的情况下,压缩数据文件大小,缩减存储空间,成为行业发展的一个关注点。现有的三维模型数据文件的压缩方法,大多是利用某种压缩算法直接对原始的三维模型数据进行压缩处理,得到相应的压缩数据。
2、然而,对于场景三维模型来说,其对应的原始三维模型数据一般为可扩展标记语言(extensible markup language,xml)描述的结构化数据,这种结构化数据较为复杂,直接对其进行压缩处理,压缩效率低。
技术实现思路
1、为了解决上述技术问题,本技术提供了一种数据处理方法及装置。
2、第一方面,本技术实施例提供一种数据处理方法,包括:
3、获取三维模型对应的三维模型数据,其中,所述三维模型数据为用于描述所述三维模型的结构化数据;
4、利用预设的二进制编码策略对所述三维模型数据进行二进制编码处理,得到对应的二进制数据;
5、利用预设的字符串压缩策略对所述二进制数据进行压缩处理,得到所述三维模型数据对应的模型压缩数据。
6、在一个可能的实施方式中,所述利用预设的二进制编码策略对所述三维模型数据进行二进制编码处理,得到对应的二进制数据,包括:
7、确定所述三维模型数据中包含的至少一个子数据,以及,每个所述子数据对应的数据类型、数据长度及子数据值;
8、针对每个子数据,基于所述子数据对应的数据类型确定类型二进制编码,基于所述子数据对应的数据长度确定长度二进制编码,以及,基于所述子数据值确定数据二进制编码;
9、组合所述类型二进制编码、所述长度二进制编码以及所述数据二进制编码,得到所述子数据对应的二进制数据;
10、组合所有所述子数据对应的二进制数据,得到所述三维模型数据对应的二进制数据。
11、在一个可能的实施方式中,所述利用预设的字符串压缩策略对所述二进制数据进行压缩处理,包括:
12、获取所述字符串压缩策略对应的参照长度集合,其中,所述参照长度集合中包含至少一个参照长度;
13、按照对应长度值由大到小的顺序,依次在所述二进制数据中确定对应参照长度的参照字符串,以及,在所述二进制数据中查找与所述参照字符串相同的目标字符串;
14、在查找到与所述参照字符串相同的目标字符串,且,所述目标字符串的数量大于第一预设阈值的情况下,确定所述参照字符串对应的第一代替字符串,以及,所述目标字符串对应的第二代替字符串,其中,所述第一代替字符串的长度和所述第二代替字符串的长度均小于对应参照长度;
15、利用所述第一代替字符串替换所述二进制数据中的所述参照字符串,以及,利用所述第二代替字符串替换所述二进制数据中的所述目标字符串。
16、在一个可能的实施方式中,所述确定所述参照字符串对应的第一代替字符串,以及,所述目标字符串对应的第二代替字符串,包括:
17、确定所述参照字符串在所述二进制数据中的第一偏移量,基于所述第一偏移量和所述参照字符串对应的参照长度生成所述第一代替字符串;
18、以及,
19、确定所述目标字符串在所述二进制数据中的第二偏移量,基于所述第二偏移量和所述参照字符串对应的参照长度生成所述第二代替字符串。
20、在一个可能的实施方式中,所述方法还包括:
21、基于所述参照字符串和所述第一代替字符串生成第一字典数据,以及,基于所述目标字符串和所述第二代替字符串生成第二字典数据;
22、将所述第一字典数据和所述第二字典数据,存入预设字典。
23、在一个可能的实施方式中,所述方法还包括:
24、针对每个参照长度,确定所述参照长度对应的目标字符串的数量;
25、将对应数量小于第二预设阈值的参照长度,确定为待删除长度;
26、从所述参照长度集合中删除所述待删除长度。
27、在一个可能的实施方式中,所述利用预设的字符串压缩策略对所述二进制数据进行压缩处理,得到所述三维模型数据对应的模型压缩数据之后,还包括:
28、基于所述二进制编码策略和所述字符串压缩策略,生成编码信息;
29、基于所述编码信息和所述模型压缩数据,生成压缩文件。
30、第二方面,本技术实施例提供另一种数据处理方法,包括:
31、获取三维模型对应的模型压缩数据,其中,所述模型压缩数据为对用于描述所述三维模型的三维模型数据进行压缩得到的数据;
32、利用预设的字符串解码策略对所述模型压缩数据进行解码处理,得到所述模型压缩数据对应的二进制数据;
33、利用预设的二进制解码策略对所述二进制数据进行二进制解码处理,得到所述三维模型数据。
34、第三方面,本技术实施例提供一种数据处理装置,包括:
35、模型数据获取模块,用于获取三维模型对应的三维模型数据,其中,所述三维模型数据为用于描述所述三维模型的结构化数据;
36、数据编码处理模块,用于利用预设的二进制编码策略对所述三维模型数据进行二进制编码处理,得到对应的二进制数据;
37、数据压缩处理模块,用于利用预设的字符串压缩策略对所述二进制数据进行压缩处理,得到所述三维模型数据对应的模型压缩数据。
38、第四方面,本技术实施例提供一种数据处理装置,包括:
39、压缩数据获取模块,用于获取三维模型对应的模型压缩数据,其中,所述模型压缩数据为对用于描述所述三维模型的三维模型数据进行压缩得到的数据;
40、第一解码处理模块,用于利用预设的字符串解码策略对所述模型压缩数据进行解码处理,得到所述模型压缩数据对应的二进制数据;
41、第二解码处理模块,用于利用预设的二进制解码策略对所述二进制数据进行二进制解码处理,得到所述三维模型数据。
42、第五方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
43、存储器,用于存放计算机程序;
44、处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
45、第六方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
46、第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据处理方法。
47、本技术实施例有益效果:
48、本技术实施例提供了一种数据处理方法及装置,首先,获取三维模型对应的三维模型数据,其中,所述三维模型数据为用于描述所述三维模型的结构化数据,然后,利用预设的二进制编码策略对所述三维模型数据进行二进制编码处理,得到对应的二进制数据,最后,利用预设的字符串压缩策略对所述二进制数据进行压缩处理,得到所述三维模型数据对应的模型压缩数据。通过本技术,可以先将较为复杂的结构化数据转换为较为简单的二进制数据,进而,对该二进制数据进行压缩,得到最终的模型压缩数据,由此,提高压缩效率。并且,本技术中,将结构化数据转换为二进制数据的过程,相当于一次压缩处理,对二进制数据进行压缩,相当于二次压缩处理,通过两次压缩处理可以提高对三维模型数据的压缩率,从而实现更好的压缩效果。
49、当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述利用预设的二进制编码策略对所述三维模型数据进行二进制编码处理,得到对应的二进制数据,包括:
3.根据权利要求1所述的方法,其特征在于,所述利用预设的字符串压缩策略对所述二进制数据进行压缩处理,包括:
4.根据权利要求3所述的方法,其特征在于,所述确定所述参照字符串对应的第一代替字符串,以及,所述目标字符串对应的第二代替字符串,包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述利用预设的字符串压缩策略对所述二进制数据进行压缩处理,得到所述三维模型数据对应的模型压缩数据之后,还包括:
8.一种数据处理方法,其特征在于,所述方法包括:
9.一种数据处理装置,其特征在于,所述装置包括:
10.一种数据处理装置,其特征在于,所述装置包括:
