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.图1为本技术实施例提供的一种地图数据压缩方法的流程图;
36.图2为本技术实施例提供的另一种地图数据压缩方法的流程图;
37.图3为本技术实施例提供的另一种地图数据压缩方法的流程图;
38.图4为本技术实施例提供的一种地图数据解压方法的流程图;
39.图5为本技术实施例提供的另一种地图数据解压方法的流程图;
40.图6为本技术实施例提供的另一种地图数据解压方法的流程图;
41.图7为本技术实施例提供的另一种地图数据解压方法的流程图;
42.图8为本技术实施例提供的一种地图的显示界面示意图;
43.图9(a)为本技术实施例提供的另一种地图的显示界面的示意图;
44.图9(b)为本技术实施例提供的另一种地图的显示界面的示意图;
45.图10为本技术实施例提供的一种地图数据压缩方法的原理示意图;
46.图11为本技术实施例提供的一种地图数据解压方法的原理示意图;
47.图12为本技术实施例提供的一种地图绘制方法的原理示意图;
48.图13为本技术实施例提供的一种地图数据压缩装置的结构图;
49.图14为本技术实施例提供的一种地图数据解压装置的结构图;
50.图15为本技术实施例提供的一种电子设备的结构图。
具体实施方式
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本
申请保护的范围。
52.相关技术中,基于目标场景的原始地图数据中的各像素点所表征的地图特征,生成包含各像素点的标识的待处理地图数据。一种实现方式中,表征障碍物的像素点的标识可以为0,表征墙面的像素点的标识可以为1,表征空地的像素点的标识可以为2,表征扫地机器人的打扫路线的像素点的标识可以为3,可以得到表1所示的待处理地图数据。
53.表1
54.11112211333333331121
55.然后,统计待处理地图数据中连续的,且的标识相同的像素点的数目,生成记录该标识和对应的像素点的数目的数据块,并生成包含多个数据块的目标地图数据。例如,按照表1所示的待处理地图数据中各像素点的标识的排列顺序,4个连续的且标识为1的像素点对应的数据块为(1,4);2个连续的且标识为2的像素点对应的数据块为(2,2);2个连续的且标识为1的像素点对应的数据块为(1,2),以此类推,可以得到表2所示的目标地图数据。
56.表2
57.142212381221
58.然而,若待处理地图数据中连续的相同标识的数目较少,会导致压缩得到的目标地图数据大于压缩前的待处理地图数据,例如,表3所示的待处理地图数据中连续的相同标识的数目较少,按照相关技术对表3所示的待处理地图数据进行压缩,可以得到表4所示的目标地图数据。
59.表3
60.121312212
61.表4
62.1121113111221121
63.表3所示的待处理地图数据包含9个字符,而表4所示的目标地图数据包含16个字符,压缩得到的目标地图数据大于压缩前的待处理地图数据,可见,相关技术中,地图数据压缩的有效性较低。
64.为了解决上述问题,本技术实施例提供了一种地图数据压缩方法,该方法可以应用于电子设备,电子设备可以为扫地机器人。电子设备可以获取待处理地图数据,并按照本技术实施例提供的方法,将待处理地图数据中的第一数目个像素点的标识压缩为一个字符,得到目标地图数据,目标地图数据小于待处理地图数据,可以提高地图数据压缩的有效性。后续,电子设备可以向用户端发送目标地图数据,能够节省传输地图数据的流量成本和传输时长。用户端则可以基于接收到的目标地图数据,显示对应的地图,以供用户浏览,可以提高用户体验。
65.参见图1,图1为本技术实施例提供的一种地图数据压缩方法的流程图,该方法可以包括以下步骤:
66.s101:获取待处理地图数据。
67.其中,待处理地图数据包含各像素点的标识,每一像素点的标识为基于该像素点表征的地图特征确定的。
68.s102:对待处理地图数据中每相邻的第一数目个像素点的标识进行编码,得到对应的索引值。
69.s103:基于确定出的索引值,以及预设的索引值和字符的对应关系,确定该相邻的第一数目个像素点对应的字符,作为目标字符。
70.s104:按照待处理地图数据中各像素点的位置,生成包含各目标字符的地图数据,得到目标地图数据。
71.基于本技术实施例提供的地图数据压缩方法,针对待处理地图数据中第一数目个像素点,可以将该第一数目个像素点的标识压缩为一个字符,则得到的目标地图数据小于待处理地图数据,可以提高地图数据压缩的有效性。
72.针对步骤s101,待处理地图数据可以为扫地机器人所打扫的目标场景的地图数据,例如,目标场景可以为住宅、厂房、商场等。待处理地图数据包含各像素点的标识,每一像素点的标识为基于该像素点表征的地图特征确定的。每一像素点所表征的地图特征为该像素点在目标场景中对应位置的地图特征。
73.示例性的,目标场景为住宅,表征障碍物的像素点的标识可以为0,表征墙面的像素点的标识可以为1,表征扫地机器人的打扫路线的像素点的标识可以为2,表征客厅空地的像素点的标识可以为3,表征厨房空地的像素点的标识可以为4,表征主卧空地的像素点的标识可以为5,表征次卧空地的像素点的标识可以为6,表征卫生间空地的像素点的标识可以为7,可以得到表5所示的待处理地图数据。
74.表5
75.112220004433333222332255552255666227
76.在一些实施例中,在图1的基础上,参见图2,步骤s101可以包括以下步骤:
77.s1011:获取目标场景的原始地图数据。
78.s1012:针对原始地图数据中的每一像素点,基于该像素点在目标场景中对应位置的地图特征,得到该像素点的标识。
79.s1013:生成包含各像素点的标识的地图数据,作为待处理地图数据。
80.目标场景的原始地图数据可以通过扫地机器人采集得到。在电子设备为扫地机器人时,电子设备可以采集目标场景的原始地图数据。或者,电子设备可以与扫地机器人进行通信,电子设备可以获取扫地机器人采集的目标场景的原始地图数据。
81.一种实现方式中,扫地机器人可以包含图像采集模块,图像采集模块可以包括雷
达设备,扫地机器人可以通过图像采集模块对目标场景进行扫描,得到目标场景的三维点云数据,并对三维点云数据进行映射处理,得到目标场景的二维地图数据,作为目标场景的原始地图数据。
82.另一种实现方式中,扫地机器人可以包含图像采集模块,图像采集模块可以包括摄像头,扫地机器人可以通过图像采集模块拍摄目标场景的图像,得到目标场景的原始地图数据。
83.然后,电子设备可以获取目标场景的原始地图数据,针对原始地图数据中的每一像素点,电子设备确定该像素点在目标场景中对应位置的地图特征。
84.如果原始地图数据为对目标场景的三维点云数据进行映射处理得到的,针对原始地图数据中的每一像素点,电子设备可以根据该像素点在三维点云数据中对应的三维点的幅值,确定该像素点在目标场景中对应位置的地图特征。
85.如果原始地图数据为通过图像采集模块拍摄目标场景的图像,电子设备可以对原始地图数据进行图像分割,得到原始地图数据中每一像素点在目标场景中对应位置的地图特征。
86.进而,针对原始地图数据中的每一像素点,电子设备获取表征该像素点在目标场景中对应位置的地图特征的标识,得到该像素点的标识,并生成包含各像素点的标识的地图数据,得到待处理地图数据。
87.针对步骤s102,第一数目大于1,第一数目可以由技术人员根据实际需求设置,例如,在待处理地图数据对应的地图特征的种类的数目不大于8时,第一数目可以为2;在待处理地图数据对应的地图特征的种类的数目不大于4时,第一数目可以为3。
88.电子设备可以按照如下方式,对待处理地图数据中每相邻的第一数目个像素点的标识进行编码,得到该相邻的第一数目个像素点对应的索引值。
89.方式一,针对待处理地图数据中的每一像素点,电子设备获取该像素点的标识。针对待处理地图数据中每相邻的第一数目个像素点,电子设备对该相邻的第一数目个像素点的标识进行拼接,得到该第一数目个像素点对应的索引值。
90.方式二,在图1的基础上,参见图3,步骤s102可以包括以下步骤:
91.s1021:针对该相邻的第一数目个像素点中的每一像素点,获取表示该像素点的标识的二进制数值。
92.s1022:按照该相邻的第一数目个像素点在待处理地图数据中的位置,对该相邻的第一数目个像素点对应的二进制数值进行拼接,得到拼接结果。
93.s1023:基于拼接结果,确定该相邻的第一数目个像素点对应的索引值。
94.针对该相邻的第一数目个像素点中的每一像素点,如果该像素点的标识为二进制数值,则电子设备直接获取该像素点的标识,得到表示该像素点的标识的二进制数值。例如,该像素点的标识为二进制数值101,则101为表示该像素点的标识的二进制数值。
95.如果该像素点的标识为十进制数值,则电子设备将该像素点的标识转换为第一位数的二进制数值,得到表示该像素点的标识的二进制数值。第一位数与第一数目相对应,在第一数目为3时,第一位数为2。在第一数目为2时,第一位数为3。第一位数也就是后续实施例中的第二数目。
96.示例性的,第一数目为3,第一位数为2,该像素点的标识为十进制数值2,将十进制
数值2转换为两位的二进制数值为10,则表示该像素点的标识的二进制数值为10。或者,第一数目为2,第一位数为3,该像素点的标识为十进制数值5,将十进制数值5转换为三位的二进制数值为101,则表示该像素点的标识的二进制数值为101。
97.电子设备按照该相邻的第一数目个像素点在待处理地图数据中的位置,对该相邻的第一数目个像素点对应的二进制数值进行拼接,得到拼接结果。
98.示例性的,针对表5所示的待处理地图数据,地图特征的种类的数目为8,则第一数目为2,第一位数为3。待处理地图数据中的第1个和第2个像素点的标识为:1和1。电子设备分别将该2个像素点的标识转换为三位的二进制数值得到:001和001,对该2个像素点对应的二进制数值进行拼接得到的拼接结果为:001001;待处理地图数据中的第3个和第4个像素点的标识为:2和2。电子设备分别将该2个像素点的标识转换为三位的二进制数值得到:010和010,对该2个像素点对应的二进制数值进行拼接得到的拼接结果为:010010,以此类推,可以得到每相邻的第一数目个像素点对应的拼接结果。
99.一种实现方式中,电子设备可以直接将得到的拼接结果,作为该相邻的第一数目个像素点对应的索引值。
100.另一种实现方式中,步骤s1023可以包括以下步骤:对拼接结果进行进制转换,得到表示拼接结果的十进制数值,作为该相邻的第一数目个像素点对应的索引值。
101.例如,如果该相邻的第一数目个像素点对应的拼接结果为:001001,将001001转换为十进制数值得到9,则该相邻的第一数目个像素点对应的索引值为:9;如果该相邻的第一数目个像素点对应的拼接结果为:010010,将010010转换为十进制数值得到18,则该相邻的第一数目个像素点对应的索引值为:18。
102.针对步骤s103,针对待处理地图数据中每相邻的第一数目个像素点,电子设备在预设的索引值和字符的对应关系中,查找该相邻的第一数目个像素点对应的索引值所对应的字符,得到该相邻的第一数目个像素点对应的目标字符。
103.一种实现方式中,索引值可以为二进制数值,参见表6,表6为本技术实施例提供的一种索引值和字符的对应关系表。
104.表6
105.索引值字符索引值字符索引值字符索引值字符000000a010000q100000g110000w000001b010001r100001h110001x000010c010010s100010i110010y000011d010011t100011j110011z000100e010100u100100k1101000000101f010101v100101l1101011000110g010110w100110m1101102000111h010111x100111n1101113001000i011000y101000o1110004001001j011001z101001p1110015001010k011010a101010q1110106001011l011011b101011r1110117
001100m011100c101100s1111008001101n011101d101101t1111019001110o011110e101110u111110+001111p011111f101111v111111/
106.如果索引值为:001001,查找上述表6所示的对应关系表可以得到该索引值对应的目标字符为:j。如果索引值为:010010,查找上述表6所示的对应关系表,可以得到该索引值对应的目标字符为:s。
107.另一种实现方式中,为了减少电子设备存储索引值和字符的对应关系所占用的存储空间,索引值可以为十进制数值,参见表7,表7为本技术实施例提供的另一种索引值和字符的对应关系表。
108.表7
109.索引值字符索引值字符索引值字符索引值字符0a16q32g48w1b17r33h49x2c18s34i50y3d19t35j51z4e20u36k5205f21v37l5316g22w38m5427h23x39n5538i24y40o5649j25z41p57510k26a42q58611l27b43r59712m28c44s60813n29d45t61914o30e46u62+15p31f47v63/
110.如果索引值为:9,查找上述表7所示的对应关系表可以得到该索引值对应的目标字符为:j。如果索引值为:18,查找上述表7所示的对应关系表,可以得到该索引值对应的目标字符为:s。
111.针对步骤s104,在得到待处理地图数据中每相邻的第一数目个像素点对应的目标字符后,电子设备可以按照待处理地图数据中各像素点的位置,生成包含各目标字符的目标地图数据。示例性的,参见表8,表8为本技术实施例提供的一种待处理地图数据。
112.表8
113.222011
114.在生成表8所示的待处理地图数据时,地图特征的种类的数目为8,则第一数目为2,第一位数为3。待处理地图数据中的第1个和第2个像素点的标识为:2和2。记a=2,b=2,
前2个像素点的标识压缩得到的目标字符为tmp,电子设备按照如下方式,计算前2个像素点的标识压缩得到的目标字符tmp的值。
115.int_8tmp=0;//输入tmp的初始值0;
116.tmp=tmp|(a《《3);//将tmp的值按位与(a《《3)的值进行或运算,作为新的tmp值;
117.tmp=tmp|(b&0x7)。//将tmp的值按位与(b&0x7)的值进行或运算,作为新的tmp值。
118.a转换为三位的二进制数值为010,(a《《3)表示将a左移3位得到010000,将tmp的初始值(即000000)按位与010000进行或运算,得到新的tmp的值010000。(b&0x7)表示将b按位与十六进制的7进行与运算,将b转换为三位的二进制数值为010,0x7表示十六进制数值7,将十六进制数值7转换为二进制数值为111,将010按位与111进行与运算得到010,将010表示为六位的二进制数值为000010。将新的tmp的值010000按位与000010进行或运算,得到010010。将010010转换为十进制数值,得到对应的索引值为18。查找表7所示的对应关系表,得到索引值18对应的目标字符为s。
119.同理,待处理地图数据中的第2个和第4个像素点的标识为:2和0。电子设备分别将该2个像素点的标识转换为三位的二进制数值得到:010和000,对该2个像素点对应的二进制数值进行拼接得到的拼接结果为:010000。将该拼接结果转换为十进制数值,得到对应的索引值为16。查找表7所示的对应关系表,得到索引值16对应的目标字符为q。
120.待处理地图数据中的第5个和第6个像素点的标识为:1和1。电子设备分别将该2个像素点的标识转换为三位的二进制数值得到:001和001,对该2个像素点对应的二进制数值进行拼接得到的拼接结果为:001001。将该拼接结果转换为十进制数值,得到对应的索引值为9。查找表7所示的对应关系表,得到索引值9对应的目标字符为j。
121.进而,按照表8所示的待处理地图数据中各像素点的位置,生成包含各目标字符的目标地图数据(如表9所示)。
122.表9
123.sqj
124.可见,基于本技术实施例提供的地图数据压缩方法,在地图特征的种类的数目为8时,可以将包含6个字符(即222011)的待处理地图数据,压缩为包含3个字符(即sqj)的目标地图数据,也就是将6比特的待处理地图数据压缩为3比特的目标地图数据,压缩得到的目标地图数据的大小为待处理地图数据大小的50%,对地图数据的压缩率可以达到50%,并且压缩率稳定,不受像素点的标识的具体数值影响,可以提高地图数据压缩的有效性。
125.参见表10,表10为本技术实施例提供的一种待处理地图数据。
126.表10
127.223321
128.在生成表10所示的待处理地图数据时,地图特征的种类的数目为4,则第一数目为3,第一位数为2。待处理地图数据中的第1个至第3个像素点的标识为:2,2,3。记a=2,b=2,c=3,对待处理地图数据中前3个像素点的标识压缩得到的目标字符为tmp,电子设备按照如下方式,计算对待处理地图数据中前3个像素点的标识压缩得到的目标字符为tmp的值。
129.int_8tmp=0;//输入tmp的初始值0;
130.tmp=tmp|(a《《4);//将tmp的值按位与(a《《4)的值进行或运算,作为新的tmp值;
131.tmp=tmp|(b《《2);//将tmp的值按位与(b《《2)的值进行或运算,作为新的tmp值;
132.tmp=tmp|c;//将tmp的值按位与c进行或运算,作为新的tmp值。
133.a转换为两位的二进制数值为10,(a《《4)表示将a左移4位得到100000,将tmp的初始值(即000000)按位与100000进行或运算,得到新的tmp的值100000。b转换为两位的二进制数值为10,(b《《2)表示将b左移2位得到001000,将新的tmp的值(即100000)按位与001000进行或运算,得到新的tmp的值101000。c转换为两位的二进制数值为11,将11表示六位的二进制数值为000011,将新的tmp的值(即101000)按位与000011进行或运算,得到新的tmp的值101011。将101011转换为十进制数值,得到对应的索引值为43。查找表7所示的对应关系表,得到索引值43对应的目标字符为r。
134.同理,待处理地图数据中的第4个至第6个像素点的标识为:3,2,1。电子设备分别将该3个像素点的标识转换为两位的二进制数值得到:11,10,01,对该3个像素点对应的二进制数值进行拼接得到的拼接结果为:111001。将该拼接结果转换为十进制数值,得到对应的索引值为57。查找表7所示的对应关系表,得到索引值57对应的目标字符为5。
135.进而,按照表10所示的待处理地图数据中各像素点的位置,生成包含确定出的各目标字符的目标地图数据(如表11所示)。
136.表11
137.r5
138.可见,基于本技术实施例提供的地图数据压缩方法,可以将包含6个字符(即223321)的待处理地图数据,压缩为包含2个字符(即r5)的目标地图数据,也就是将6比特的待处理地图数据压缩为2比特的目标地图数据,压缩得到的目标地图数据的大小为待处理地图数据大小的33.3%,对地图数据的压缩率可以达到66.6%,并且压缩率稳定,不受像素点的标识的具体数值影响,可以提高地图数据压缩的有效性。
139.并且,本技术实施例提供的地图数据压缩方法,在对待处理地图数据进行压缩的过程采用位运算,位运算方式的性能极高,在对待处理地图数据进行编码和对目标地图数据进行解码都可在一个循环周期内执行完毕,例如,对于包含n个目标字符的目标地图数据,针对每一目标字符,只需要对该目标字符进行一次读取,就可以计算得到该目标字符对应的第一数目个像素点的标识,则对目标地图数据进行解码的时间复杂度为o(n)。并且,对待处理地图数据进行编码和对目标地图数据进行解码时均无需申请额外的内存空间,空间复杂度为0,即本技术实施例提供的地图数据压缩方法的时间复杂度和空间复杂度均较低。
140.另外,申请实施例中的待处理地图数据和目标地图数据由字符串构成,后续用户端才会将字符串转换为图片数据,适用于扫地机器人这类无法处理纯图片数据的设备,并且如果地图数据存储于服务端,适用于服务端中只能处理纯文本格式的接口,且地图数据的压缩率较高,可减少占用服务端存储空间。
141.在一些实施例中,在步骤s104之后,该方法还可以包括以下步骤:向用户端发送目标地图数据,以使用户端基于目标地图数据显示对应的地图。
142.用户端可以为采集目标场景的地图数据的扫地机器人对应的用户端。在得到目标地图数据后,电子设备可以向用户端发送目标地图数据,能够提高地图数据的传输效率,节省传输地图数据的流量成本和传输时长。电子设备还可以向用户端发送目标地图数据对应
的宽高信息,宽高信息表示目标地图数据对应的待处理地图数据横向包含的像素点的数目,以及纵向包含的像素点的数目。相应的,用户端则可以对接收到的目标地图数据进行解压,并按照接收到的宽高信息,生成目标场景的待处理地图数据。进而,用户端可以按照待处理地图数据显示目标场景的地图,以供用户浏览,可以提高用户体验。
143.与图1所示的地图数据压缩方法相对应,本技术实施例还提供了一种地图数据解压方法该方法可以应用于电子设备,电子设备可以为前述实施例中的用户端,电子设备可以获取基于前述实施例中的地图数据压缩方法得到的目标地图数据,按照本技术实施例提供的地图数据解压方法,对目标地图数据进行解压,得到待处理地图数据。后续,电子设备则可以按照待处理地图数据显示对应的地图,以供用户浏览。
144.参见图4,图4为本技术实施例提供的一种地图数据解压方法的流程图,该方法包括以下步骤:
145.s401:获取目标地图数据。
146.其中,目标地图数据为基于前述实施例中的地图数据压缩方法得到的。
147.s402:针对目标地图数据中每一目标字符,按照预设的索引值和字符的对应关系,确定该目标字符对应的索引值。
148.s403:对该目标字符对应的索引值进行解码,得到该目标字符对应的相邻的第一数目个像素点的标识。
149.s404:按照目标地图数据中各目标字符的位置,生成包含各目标字符对应的相邻的第一数目个像素点的标识的待处理地图数据。
150.基于本技术实施例提供的地图数据解压方法,目标地图数据为:将待处理地图数据中第一数目个像素点的标识压缩为一个字符得到的,可以提高地图数据压缩的有效性,并且可以对压缩后的目标地图数据进行解压,得到对应的待处理地图数据。后续,电子设备则可以按照待处理地图数据显示对应的地图,以供用户浏览,可以提高用户体验。
151.针对步骤s401和步骤s402,目标地图数据为基于前述实施例中的地图数据压缩方法得到的地图数据。目标地图数据中包含多个目标字符,针对目标地图数据中的每一目标字符,电子设备可以在预设的索引值和字符的对应关系中,查找该目标字符对应的索引值。
152.可以理解的是,对目标地图数据进行解压时所使用的索引值和字符的对应关系,与对待处理地图数据进行压缩时所使用的索引值和字符的对应关系相同。例如,按照表6所示的索引值和字符的对应关系对待处理地图数据进行压缩,则按照表6所示的索引值和字符的对应关系,对目标地图数据进行解压。
153.针对步骤s403,针对目标地图数据中的每一目标字符,电子设备可以按照以下方式对该目标字符对应的索引值进行解码,得到目标字符对应的相邻的第一数目个像素点的标识。
154.方式1,方式1介绍的对索引值进行解码的方式,与前述实施例中方式一介绍的对相邻的第一数目个像素点的标识进行编码的方式相对应。也就是方式1介绍的解码方式,用于对按照前述实施例中方式一介绍的编码方式得到的索引值进行解码。
155.针对目标地图数据中的每一目标字符,电子设备可以直接将该目标字符对应的索引值拆分为第一数目个数值,得到该目标字符对应的相邻的第一数目个像素点的标识。
156.方式2,方式2介绍的对索引值进行解码的方式,与前述实施例中方式二介绍的对
相邻的第一数目个像素点的标识进行编码的方式相对应。也就是方式2介绍的解码方式,用于对按照前述实施例中方式二介绍的编码方式得到的索引值进行解码。
157.在图4的基础上,参见图5,步骤s403可以包括以下步骤:
158.s4031:基于该目标字符对应的索引值进行拆分处理,得到第一数目个二进制数值。
159.s4032:基于所述第一数目个二进制数值,得到该目标字符对应的相邻的第一数目个像素点的标识。
160.一种实现方式中,针对目标地图数据中的每一目标字符,如果按照表6所示的索引值与字符的对应关系,确定该目标字符对应的索引值,则该目标字符对应的索引值为二进制数值,则电子设备按照第二数目个字符为一个二进制数值,对该目标字符对应的索引值进行拆分处理,得到第一数目个二进制数值。第二数目为前述实施例中的第一位数,则第二数目与第一数目相对应,在第一数目为3时,第二数目为2;在第一数目为2时,第二数目为3。
161.该实现方式中介绍的对索引值进行拆分的方式,与前述实施例中方式二介绍的直接将拼接结果作为相邻的第一数目个像素点对应的索引值的方式相对应。
162.示例性的,目标字符为j,按照表6所示的索引值与字符的对应关系,该目标字符对应的索引值为001001,如果第一数目为3,则第二数目为2,则可以按照2个字符为一个二进制数值,对该目标字符对应的索引值为001001进行拆分,得到的3个二进制数值为00,10,01。
163.另一种实现方式中,在图5的基础上,参见图6,步骤s4031可以包括以下步骤:
164.s40311:对该目标字符对应的索引值进行进制转换,得到表示该目标字符对应的索引值的二进制数值。
165.s40312:对表示该目标字符对应的索引值的二进制数值进行拆分处理,得到第一数目个二进制数值。
166.针对目标地图数据中的每一目标字符,如果按照表7所示的索引值与字符的对应关系,确定该目标字符对应的索引值,则该目标字符对应的索引值为十进制数值,则电子设备将该目标字符对应的索引值转换为第二位数的二进制数值,得到表示该目标字符对应的索引值的二进制数值。然后,电子设备按照第二数目个字符为一个二进制数值,对表示该目标字符对应的索引值的二进制数值进行拆分处理,得到第一数目个二进制数值。第二位数为第一数目与第二数目的乘积。例如,在第一数目为3,第二数目为2时,第二位数为6。
167.该实现方式中介绍的对索引值进行拆分的方式,与前述实施例中方式二中将拼接结果转换为十进制数值,将转换得到的十进制数值作为相邻的第一数目个像素点对应的索引值的方式相对应。
168.示例性的,目标字符为j,按照表7所示的索引值与字符的对应关系,该目标字符对应的索引值为9,将该索引值9转换为六位的二进制数值为001001,如果第一数目为3,则第二数目为2,则可以按照2个字符为一个二进制数值,对该目标字符对应的索引值为001001进行拆分,得到的3个二进制数值为00,10,01。
169.一种实现方式中,电子设备可以直接将该第一数目个二进制数值,作为该目标字符对应的相邻的第一数目个像素点的标识。
170.该实现方式中介绍的确定目标字符对应的相邻的第一数目个像素点的标识的方
式,与前述实施例中方式二中在像素点的标识为二进制数值时,获取表示像素点的标识的二进制数值的方式相对应。
171.另一种实现方式中,电子设备分别将该第一数目个二进制数值转换为十进制数值,得到第一数目个十进制数值,作为该目标字符对应的相邻的第一数目个像素点的标识。
172.该实现方式中介绍的确定目标字符对应的相邻的第一数目个像素点的标识的方式,与前述实施例中方式二中在像素点的标识为十进制数值时,获取表示像素点的标识的二进制数值的方式相对应。
173.示例性的,如果基于对目标字符进行拆分处理得到的第一数目个二进制数值为00,10,01,分别将该第一数目个二进制数值转换为十进制数值为0,2,1,则该目标字符对应的相邻的第一数目个像素点的标识分别为0,2,1。
174.针对步骤s404,在得到各目标字符对应的相邻的第一数目个像素点的标识后,电子设备可以按照目标地图数据各目标字符的位置,生成包含各目标字符对应的相邻的第一数目个像素点的标识的待处理地图数据。电子设备还可以接收目标地图数据对应的宽高信息,宽高信息表示目标地图数据对应的待处理地图数据横向包含的像素点的数目,以及纵向包含的像素点的数目。相应的,在确定出各目标字符对应的相邻的第一数目个像素点的标识后,电子设备按照接收到的宽高信息,生成对应的待处理地图数据。
175.例如,目标地图数据中各目标字符对应的相邻的第一数目个像素点的标识包括:000010112。宽高信息表示目标地图数据对应的待处理地图数据横向包含3个像素点,以及纵向包含3个像素点,则电子设备可以生成表12所示的待处理地图数据。
176.表12
177.000010112
178.示例性的,针对表9所示的目标地图数据,在生成表9所示的目标地图数据时,地图特征的种类的数目为8,则第一数目为2,第二数目为3,第二位数为6。目标地图数据中的第1个目标字符为s,电子设备查找表7所示的对应关系表,得到目标字符s对应的索引值为18,记tmp=18,目标字符s对应的2个像素点的标识分别为a和b,电子设备按照如下方式,计算目标字符s对应的2个像素点的标识a和b的值。
179.int_8tmp=18;//输入tmp的值18;
180.int_8a=tmp》》3&0x7;//将(tmp》》3)的值按位与0x7进行与运算,作为a的值;
181.int_8b=tmp&7。//将tmp的值按位与7进行与运算,作为b的值。
182.tmp的值(即18)转换为六位的二进制数值为010010,(tmp》》3)表示将tmp右移3位,将010010右移三位得到010。0x7表示十六进制数值7,将十六进制数值7转换为二进制数值为111,将010(即(tmp》》3)的值)按位与111进行与运算得到010,将010转换为十进制数值得到a的值为2。将十进制数值7转换为二进制数值为111,将111表示为六位的二进制数值为000111,将010010(即tmp的值)按位与000111进行与运算得到000010,将000010转换为十进制数值得到b的值为2,则目标字符s对应的2个像素点的标识分别为2和2。
183.同理,目标地图数据中的第2个目标字符为q。电子设备查找表7所示的对应关系表,得到目标字符q对应的索引值为16。电子设备分别将索引值16转换为六位的二进制数值
得到:010000。电子设备按照3个字符为一个二进制数值,对该六位的二进制数值进行拆分,得到2个三位的二进制数值为:010和000。分别将该2个三位的二进制数值转换为十进制数值,得到2个像素点的标识分别为2和0。
184.目标地图数据中的第3个目标字符为j。电子设备查找表7所示的对应关系表,得到目标字符j对应的索引值为9。电子设备分别将索引值9转换为六位的二进制数值得到:001001。电子设备按照3个字符为一个二进制数值,对该六位的二进制数值进行拆分,得到2个三位的二进制数值为:001和001。分别将该2个三位的二进制数值转换为十进制数值,得到2个像素点的标识分别为1和1。
185.进而,按照表9所示的待处理地图数据中各目标字符的位置,生成包含确定出的各像素点的标识的待处理地图数据(如表8所示)。
186.示例性的,针对表11所示的目标地图数据,在生成表11所示的目标地图数据时,地图特征的种类的数目为4,则第一数目为3,第二数目为2,第二位数为6。目标地图数据中的第1个目标字符为r。电子设备查找表7所示的对应关系表,得到目标字符r对应的索引值为43,记tmp=43,目标字符r对应的3个像素点的标识分别为a、b和c,电子设备按照如下方式,计算目标字符r对应的3个像素点的标识a、b和c的值。
187.int_8tmp=43;//输入tmp的值43;
188.int_8a=tmp》》4&0x3;//将(tmp》》4)的值按位与0x3进行与运算,作为a的值;
189.int_8b=tmp》》2&0x3;//将(tmp》》2)的值按位与0x3进行与运算,作为b的值;
190.int_8c=tmp&0x3。//将tmp的值按位与0x3进行与运算,作为c的值。
191.tmp的值(即43)转换为六位的二进制数值为101011,tmp》》4表示将tmp的值右移4位,将101011右移4位得到10,0x3表示十六进制数值3,将十六进制数值3转换为两位的二进制数值为11,将10(即(tmp》》4)的值)按位与11进行与运算得到10,将10转换为十进制数值得到a为2。tmp》》2表示将tmp的值右移2位,将101011右移2位得到1010。0x3表示十六进制数值3,将十六进制数值3转换为两位的二进制数值为0011,将1010(即(tmp》》2)的值)按位与0011进行与运算得到0010,将0010转换为十进制数值得到b为2。0x3表示十六进制数值3,将十六进制数值3转换为两位的二进制数值为11,将11表示为六位的二进制数值为000011,将101011(即tmp的值)按位与000011进行与运算,得到000011,将000011转换为十进制数值得到c为3,则目标字符r对应的3个像素点的标识分别为2,2和3。
192.同理,目标地图数据中的第2个目标字符为5。电子设备查找表7所示的对应关系表,得到目标字符5对应的索引值为57。电子设备将索引值57转换为六位的二进制数值得到:111001。电子设备按照2个字符为一个二进制数值,对该六位的二进制数值进行拆分,得到3个两位的二进制数值为:11,10和01。分别将该3个两位的二进制数值转换为十进制数值,得到3个像素点的标识分别为3,2和1。
193.进而,按照表11所示的待处理地图数据中各目标字符的位置,生成包含确定出的各像素点的标识的待处理地图数据(如表10所示)。
194.在一些实施例中,在图4的基础上,参见图7,在步骤s404之后,该方法还可以包括以下步骤:
195.s405:针对待处理地图数据中的每一像素点,确定该像素点的标识对应的颜色。
196.s406:按照待处理地图数据中的各像素点对应的颜色进行渲染,以显示待处理地
图数据对应的地图。
197.每一像素点的标识对应的颜色与该像素点表征的地图特征相对应。例如,该像素点表征的地图特征为障碍物,该像素点的标识对应的颜色为蓝色,该像素点表征的地图特征为墙面,该像素点的标识对应的颜色为灰色,该像素点表征的地图特征为空地,该像素点的标识对应的颜色为白色,该像素点表征的地图特征为扫地机器人的打扫路线,该像素点的标识对应的颜色为红色。
198.电子设备按照待处理地图数据包含的像素点的数目,在显示界面中创建对应的画布,针对待处理地图数据中的每一像素点,电子设备确定该像素点的标识对应的颜色,并在创建的画布中该像素点处进行渲染,以显示待处理地图数据对应的地图,待处理地图数据对应的地图也就是扫地机器人打扫的目标场景的地图。
199.示例性的,参见图8,图8为本技术实施例提供的一种地图的显示界面示意图。在图8所示的显示界面中显示有扫地机器人打扫的目标场景的地图。图8中不同的灰度值表示不同的颜色,则在目标场景的地图中不同的地图特征用不同的颜色表示,例如,房间1至房间5的空地、房间7至房间9的空地、卧室的空地、客厅的空地、扫地机器人的打扫路线,以及障碍物均用不同的颜色表示。图8中“物品4”表示目标场景中障碍物的数目。
200.另外,该显示界面中还可以显示扫地机器人当前的状态,以及扫地机器人的打扫数据,例如,扫地机器人当前的状态为“正在烘干拖布”,以及扫地机器人上次清洁了43.8平方米,所用时间为44分钟。该显示界面中还可以显示扫地机器人的工作模式,例如,“先扫后拖”、“边扫边拖”、“单扫”和“单拖”等。用户可以选择一种工作模式,例如,用户可以选择“单拖”工作模式,并点击“开始”按钮,以指示扫地机器人按照用户选择的工作模式进行打扫。该显示界面中的“看家”按钮表示通过扫地机器人的图像采集模块拍摄目标场景的图像。“充电中”按钮表示扫地机器人当前正在充电中。
201.参见图9(a),图9(a)为本技术实施例提供的另一种地图的显示界面的示意图。在图9(a)所示的显示界面中显示有扫地机器人打扫的目标场景的地图。图9(a)中不同的灰度值表示不同的颜色,则在目标场景的地图中不同的地图特征用不同的颜色表示,例如,空地、扫地机器人的打扫路线,以及障碍物均用不同的颜色表示。
202.另外,该显示界面中还可以显示扫地机器人当前的状态,以及扫地机器人的打扫数据,例如,扫地机器人当前的状态为“主人,正在帮你清扫”,以及扫地机器人的清扫面积为21.2平方米,所用时间为40分钟。该显示界面中还可以显示用于向扫地机器人输入指令的操作按钮,例如,“停止”按钮用于指示扫地机器人停止清扫。“看家”按钮用于指示扫地机器人的通过图像采集模块拍摄目标场景的图像。“回充”按钮用于指示对扫地机器人进行充电。
203.参见图9(b),图9(b)为本技术实施例提供的另一种地图的显示界面的示意图。图9(b)中显示的地图为:与图9(a)为不同时刻扫地机器人打扫的目标场景的地图。图9(b)中扫地机器人的清扫面积为31.1平方米,所用时间为63分钟,图9(b)所示的扫地机器人的清扫面积和所用时间均大于图9(a)所示的扫地机器人的清扫面积和所用时间,图9(b)中扫地机器人的打扫路线所占区域大于图9(a)中扫地机器人的打扫路线所占区域。
204.参见图10,图10为本技术实施例提供的一种地图数据压缩方法的原理示意图。电子设备获取待处理地图数据为3114。第一数目为2,第一位数为3。针对待处理地图数据中的
每一像素点的标识,将该像素点的标识转换为三位的二进制数值,具体的,将3转换为三位的二进制数值为011,将1转换为三位的二进制数值为001,将4转换为三位的二进制数值为100。
205.然后,电子设备对相邻的2个像素点对应的二进制数值进行拼接,具体的,3对应的二进制数值和1对应的二进制数值进行拼接,得到拼接结果为011001,将011001表示为八位的二进制数值为00011001。对1对应的二进制数值和4对应的二进制数值进行拼接,得到拼接结果为001100,将001100表示为八位的二进制数值为00001100。
206.进而,将拼接结果转换为十进制数值,得到相邻的2个像素点对应的索引值,并按照预设的索引值与字符的对应关系,得到相邻的2个像素点对应的目标字符。具体的,将00011001转换为十进制数值为25,则3和1对应的索引值为25,查询表7所示的索引值与字符的对应关系,得到对应的目标字符为z。将00001100转换为十进制数值为12,则1和4对应的索引值为12,查询表7所示的索引值与字符的对应关系,得到对应的目标字符为m。进而可以得到目标地图数据为:zm。
207.参见图11,图11为本技术实施例提供的一种地图数据解压方法的原理示意图。输入目标mapdata(地图数据)中的目标字符包括:aaaaaqqj,以及目标地图数据对应的宽高信息,宽高信息包括:宽为4,高为4,则宽高信息表示解压得到的待处理地图数据横向包含4个像素点,纵向包含4个像素点。查询表7所示的索引值与字符的对应关系,得到目标字符a对应的索引值为0,目标字符q对应的索引值为16,以及目标字符j对应的索引值为9。将目标字符a对应的索引值0转换为六位的二进制数值为000000;将目标字符q对应的索引值16转换为六位的二进制数值为010000,将目标字符j对应的索引值9转换为六位的二进制数值为001001。
208.分别取二进制数值000000的高三位和低三位,可以得到2个二进制数值分别为000和000;分别取二进制数值010000的高三位和低三位,可以得到2个二进制数值分别为010和000,以及分别取二进制数值001001的高三位和低三位,可以得到2个二进制数值分别为001和001。
209.将得到二进制数值000转换为十进制数值为0,同理,将得到二进制数值010转换为十进制数值为2,以及将得到二进制数值001转换为十进制数值为1,进而可以输出最终结果(即待处理地图数据)为:0000000000202011。
210.在图11的基础上,参见图12,图12为本技术实施例提供的一种地图绘制方法的原理示意图。按照目标地图数据对应的宽高信息,创建4
×
4个像素点的画布,也就是创建横向包含4个像素点,以及纵向包含4个像素点的画布。在进行地图绘制时,针对待处理地图数据中的每一像素点确定该像素点的标识对应的颜色,图12中不同的灰度值表示不同的颜色,则不同的像素点的标识对应不同的颜色,按照待处理地图数据中每一像素点的标识对应的颜色进行渲染,可以得到16个1
×
1的有颜色的矩形,也就是得到待处理地图数据对应的地图。
211.与图1的方法实施例相对应,参见图13,图13为本技术实施例提供的一种地图数据压缩装置的结构图,所述装置包括:
212.待处理地图数据获取模块1301,用于获取待处理地图数据;其中,所述待处理地图数据包含各像素点的标识,每一像素点的标识为基于该像素点表征的地图特征确定的;
213.索引值确定模块1302,用于对所述待处理地图数据中每相邻的第一数目个像素点的标识进行编码,得到对应的索引值;
214.目标字符确定模块1303,用于基于确定出的索引值,以及预设的索引值和字符的对应关系,确定该相邻的第一数目个像素点对应的字符,作为目标字符;
215.目标地图数据生成模块1304,用于按照所述待处理地图数据中各像素点的位置,生成包含各目标字符的地图数据,得到目标地图数据。
216.可选的,所述索引值确定模块1302,具体用于针对该相邻的第一数目个像素点中的每一像素点,获取表示该像素点的标识的二进制数值;按照该相邻的第一数目个像素点在所述待处理地图数据中的位置,对该相邻的第一数目个像素点对应的二进制数值进行拼接,得到拼接结果;基于所述拼接结果,确定该相邻的第一数目个像素点对应的索引值。
217.可选的,所述索引值确定模块1302,具体用于对所述拼接结果进行进制转换,得到表示所述拼接结果的十进制数值,作为该相邻的第一数目个像素点对应的索引值。
218.可选的,所述待处理地图数据获取模块1301,具体用于获取目标场景的原始地图数据;针对所述原始地图数据中的每一像素点,基于该像素点在所述目标场景中对应位置的地图特征,得到该像素点的标识;生成包含各像素点的标识的地图数据,作为待处理地图数据。
219.可选的,所述装置还包括:目标地图数据发送模块,用于在所述目标地图数据生成模块1304执行按照所述待处理地图数据中各像素点的位置,生成包含各目标字符的地图数据,得到目标地图数据之后,执行向用户端发送所述目标地图数据,以使所述用户端基于所述目标地图数据显示对应的地图。
220.基于本技术实施例提供的地图数据压缩装置,针对待处理地图数据中第一数目个像素点,可以将该第一数目个像素点的标识压缩为一个字符,则得到的目标地图数据小于待处理地图数据,可以提高地图数据压缩的有效性。
221.与图4的方法实施例相对应,参见图14,图14为本技术实施例提供的一种地图数据解压装置的结构图,所述装置包括:
222.目标地图数据获取模块1401,用于获取目标地图数据;其中,所述目标地图数据为基于前述实施例中的地图数据压缩方法得到的;
223.索引值确定模块1402,用于针对所述目标地图数据中每一目标字符,按照预设的索引值和字符的对应关系,确定该目标字符对应的索引值;
224.像素点的标识确定模块1403,用于对该目标字符对应的索引值进行解码,得到该目标字符对应的相邻的第一数目个像素点的标识;
225.待处理地图数据生成模块1404,用于按照所述目标地图数据中各目标字符的位置,生成包含各目标字符对应的相邻的第一数目个像素点的标识的待处理地图数据。
226.可选的,所述像素点的标识确定模块1403,具体用于基于该目标字符对应的索引值进行拆分处理,得到第一数目个二进制数值;基于所述第一数目个二进制数值,得到该目标字符对应的相邻的第一数目个像素点的标识。
227.可选的,所述像素点的标识确定模块1403,具体用于对所述该目标字符对应的索引值进行进制转换,得到表示该目标字符对应的索引值的二进制数值;对表示该目标字符对应的索引值的二进制数值进行拆分处理,得到第一数目个二进制数值。
228.可选的,所述装置还包括:颜色确定模块,用于在所述待处理地图数据生成模块1404执行按照所述目标地图数据中各目标字符的位置,生成包含各目标字符对应的相邻的第一数目个像素点的标识的待处理地图数据之后,执行针对所述待处理地图数据中的每一像素点,确定该像素点的标识对应的颜色;地图显示模块,用于按照所述待处理地图数据中的各像素点对应的颜色进行渲染,以显示所述待处理地图数据对应的地图。
229.基于本技术实施例提供的地图数据解压装置,目标地图数据为:将待处理地图数据中第一数目个像素点的标识压缩为一个字符得到的,可以提高地图数据压缩的有效性,并且可以对压缩后的目标地图数据进行解压,得到对应的待处理地图数据。后续,电子设备则可以按照待处理地图数据显示对应的地图,以供用户浏览,可以提高用户体验。
230.本技术实施例还提供了一种电子设备,如图15所示,包括处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信,存储器1503,用于存放计算机程序;处理器1501,用于执行存储器1503上所存放的程序时,实现前述实施例中任一所述的地图数据压缩方法步骤,或者前述实施例中任一所述的地图数据解压方法步骤。
231.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
232.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
233.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
234.在本技术提供的又一实施例中,还提供了一种扫地机器人系统,包括图像采集模块和处理器;
235.所述图像采集模块,用于采集目标场景的原始地图数据;
236.所述处理器,用于执行上述任一所述的地图数据压缩方法步骤。
237.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的地图数据压缩方法的步骤,或者上述任一所述的地图数据解压方法的步骤。
238.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的地图数据压缩方法,或者上述任一所述的地图数据解压方法。
239.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序
产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
240.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
241.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、扫地机器人系统、计算机可读存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
242.以上所述仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
技术特征:1.一种地图数据压缩方法,其特征在于,所述方法包括:获取待处理地图数据;其中,所述待处理地图数据包含各像素点的标识,每一像素点的标识为基于该像素点表征的地图特征确定的;对所述待处理地图数据中每相邻的第一数目个像素点的标识进行编码,得到对应的索引值;基于确定出的索引值,以及预设的索引值和字符的对应关系,确定该相邻的第一数目个像素点对应的字符,作为目标字符;按照所述待处理地图数据中各像素点的位置,生成包含各目标字符的地图数据,得到目标地图数据。2.根据权利要求1所述的方法,其特征在于,所述对所述待处理地图数据中每相邻的第一数目个像素点的标识进行编码,得到对应的索引值,包括:针对该相邻的第一数目个像素点中的每一像素点,获取表示该像素点的标识的二进制数值;按照该相邻的第一数目个像素点在所述待处理地图数据中的位置,对该相邻的第一数目个像素点对应的二进制数值进行拼接,得到拼接结果;基于所述拼接结果,确定该相邻的第一数目个像素点对应的索引值。3.根据权利要求2所述的方法,其特征在于,所述基于所述拼接结果,确定该相邻的第一数目个像素点对应的索引值,包括:对所述拼接结果进行进制转换,得到表示所述拼接结果的十进制数值,作为该相邻的第一数目个像素点对应的索引值。4.根据权利要求1所述的方法,其特征在于,所述获取待处理地图数据,包括:获取目标场景的原始地图数据;针对所述原始地图数据中的每一像素点,基于该像素点在所述目标场景中对应位置的地图特征,得到该像素点的标识;生成包含各像素点的标识的地图数据,作为待处理地图数据。5.根据权利要求1所述的方法,其特征在于,在所述按照所述待处理地图数据中各像素点的位置,生成包含各目标字符的地图数据,得到目标地图数据之后,所述方法还包括:向用户端发送所述目标地图数据,以使所述用户端基于所述目标地图数据显示对应的地图。6.一种地图数据解压方法,其特征在于,所述方法包括:获取目标地图数据;其中,所述目标地图数据为基于权利要求1-5任一所述的地图数据压缩方法得到的;针对所述目标地图数据中每一目标字符,按照预设的索引值和字符的对应关系,确定该目标字符对应的索引值;对该目标字符对应的索引值进行解码,得到该目标字符对应的相邻的第一数目个像素点的标识;按照所述目标地图数据中各目标字符的位置,生成包含各目标字符对应的相邻的第一数目个像素点的标识的待处理地图数据。7.根据权利要求6所述的方法,其特征在于,所述对该目标字符对应的索引值进行解
码,得到该目标字符对应的相邻的第一数目个像素点的标识,包括:基于该目标字符对应的索引值进行拆分处理,得到第一数目个二进制数值;基于所述第一数目个二进制数值,得到该目标字符对应的相邻的第一数目个像素点的标识。8.根据权利要求7所述的方法,其特征在于,所述基于该目标字符对应的索引值进行拆分处理,得到第一数目个二进制数值,包括:对所述该目标字符对应的索引值进行进制转换,得到表示该目标字符对应的索引值的二进制数值;对表示该目标字符对应的索引值的二进制数值进行拆分处理,得到第一数目个二进制数值。9.根据权利要求6所述的方法,其特征在于,在所述按照所述目标地图数据中各目标字符的位置,生成包含各目标字符对应的相邻的第一数目个像素点的标识的待处理地图数据之后,所述方法还包括:针对所述待处理地图数据中的每一像素点,确定该像素点的标识对应的颜色;按照所述待处理地图数据中的各像素点对应的颜色进行渲染,以显示所述待处理地图数据对应的地图。10.一种地图数据压缩装置,其特征在于,所述装置包括:待处理地图数据获取模块,用于获取待处理地图数据;其中,所述待处理地图数据包含各像素点的标识,每一像素点的标识为基于该像素点表征的地图特征确定的;索引值确定模块,用于对所述待处理地图数据中每相邻的第一数目个像素点的标识进行编码,得到对应的索引值;目标字符确定模块,用于基于确定出的索引值,以及预设的索引值和字符的对应关系,确定该相邻的第一数目个像素点对应的字符,作为目标字符;目标地图数据生成模块,用于按照所述待处理地图数据中各像素点的位置,生成包含各目标字符的地图数据,得到目标地图数据。11.根据权利要求10所述的装置,其特征在于,所述索引值确定模块,具体用于针对该相邻的第一数目个像素点中的每一像素点,获取表示该像素点的标识的二进制数值;按照该相邻的第一数目个像素点在所述待处理地图数据中的位置,对该相邻的第一数目个像素点对应的二进制数值进行拼接,得到拼接结果;基于所述拼接结果,确定该相邻的第一数目个像素点对应的索引值;所述索引值确定模块,具体用于对所述拼接结果进行进制转换,得到表示所述拼接结果的十进制数值,作为该相邻的第一数目个像素点对应的索引值;所述待处理地图数据获取模块,具体用于获取目标场景的原始地图数据;针对所述原始地图数据中的每一像素点,基于该像素点在所述目标场景中对应位置的地图特征,得到该像素点的标识;生成包含各像素点的标识的地图数据,作为待处理地图数据;所述装置还包括:目标地图数据发送模块,用于在所述目标地图数据生成模块执行按照所述待处理地图数据中各像素点的位置,生成包含各目标字符的地图数据,得到目标地图数据之后,执行向用户端发送所述目标地图数据,以使所述用户端基于所述目标地图数据显示对应的地图。
12.一种地图数据解压装置,其特征在于,所述装置包括:目标地图数据获取模块,用于获取目标地图数据;其中,所述目标地图数据为基于权利要求1-5任一所述的地图数据压缩方法得到的;索引值确定模块,用于针对所述目标地图数据中每一目标字符,按照预设的索引值和字符的对应关系,确定该目标字符对应的索引值;像素点的标识确定模块,用于对该目标字符对应的索引值进行解码,得到该目标字符对应的相邻的第一数目个像素点的标识;待处理地图数据生成模块,用于按照所述目标地图数据中各目标字符的位置,生成包含各目标字符对应的相邻的第一数目个像素点的标识的待处理地图数据。13.根据权利要求12所述的装置,其特征在于,所述像素点的标识确定模块,具体用于基于该目标字符对应的索引值进行拆分处理,得到第一数目个二进制数值;基于所述第一数目个二进制数值,得到该目标字符对应的相邻的第一数目个像素点的标识;所述像素点的标识确定模块,具体用于对所述该目标字符对应的索引值进行进制转换,得到表示该目标字符对应的索引值的二进制数值;对表示该目标字符对应的索引值的二进制数值进行拆分处理,得到第一数目个二进制数值;所述装置还包括:颜色确定模块,用于在所述待处理地图数据生成模块执行按照所述目标地图数据中各目标字符的位置,生成包含各目标字符对应的相邻的第一数目个像素点的标识的待处理地图数据之后,执行针对所述待处理地图数据中的每一像素点,确定该像素点的标识对应的颜色;地图显示模块,用于按照所述待处理地图数据中的各像素点对应的颜色进行渲染,以显示所述待处理地图数据对应的地图。14.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-5,或者权利要求6-9任一所述的方法步骤。15.一种扫地机器人系统,其特征在于,包括图像采集模块和处理器;所述图像采集模块,用于采集目标场景的原始地图数据;所述处理器,用于执行权利要求1-5任一所述的方法步骤。16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5,或者权利要求6-9任一所述的方法步骤。
技术总结本申请实施例提供了一种地图数据压缩方法、解压方法及装置,获取待处理地图数据;待处理地图数据包含各像素点的标识,每一像素点的标识为基于该像素点表征的地图特征确定的;对待处理地图数据中每相邻的第一数目个像素点的标识进行编码,得到对应的索引值;基于确定出的索引值,以及预设的索引值和字符的对应关系,确定该相邻的第一数目个像素点对应的字符,作为目标字符;按照待处理地图数据中各像素点的位置,生成包含各目标字符的地图数据,得到目标地图数据。基于上述处理,针对待处理地图数据中第一数目个像素点,可以将该第一数目个像素点的标识压缩为一个字符,则得到的目标地图数据小于待处理地图数据,可以提高地图数据压缩的有效性。数据压缩的有效性。数据压缩的有效性。
技术研发人员:徐方舟
受保护的技术使用者:杭州萤石软件有限公司
技术研发日:2022.07.19
技术公布日:2022/11/1