CN117413261A - 3d地图的压缩、解压缩方法和装置 - Google Patents

3d地图的压缩、解压缩方法和装置 Download PDF

Info

Publication number
CN117413261A
CN117413261A CN202180098946.4A CN202180098946A CN117413261A CN 117413261 A CN117413261 A CN 117413261A CN 202180098946 A CN202180098946 A CN 202180098946A CN 117413261 A CN117413261 A CN 117413261A
Authority
CN
China
Prior art keywords
map point
map
descriptors
indication information
positions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180098946.4A
Other languages
English (en)
Inventor
蔡康颖
涂晨曦
曹潇然
王培�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN117413261A publication Critical patent/CN117413261A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种3D地图的压缩方法、解压缩方法和装置,以减少3D地图的数据量,属于3D地图技术领域。所述3D地图的压缩方法包括:获取多个3D地图点空间位置和多个3D地图点描述子(S101);确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,所述对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子(S102);根据所述对应关系,对所述多个3D地图点空间位置和所述多个3D地图点描述子进行压缩处理,或者,对所述多个3D地图点空间位置、所述多个3D地图点描述子和所述对应关系进行压缩处理,得到多个3D地图点的压缩数据(S103)。该方法可以减少存储3D地图所需的存储空间或减少传输3D地图所需的传输资源。

Description

3D地图的压缩、解压缩方法和装置 技术领域
本申请涉及3D地图技术,尤其涉及一种3D地图的压缩、解压缩方法和装置。
背景技术
虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)和混合现实(mixed reality,MR)技术是近年来新兴的多媒体虚拟场景技术。这一类技术可以创建虚拟现实,并将虚拟现实和真实世界叠加,产生新的可视化环境和交互体验。在这类应用中,电子设备需要确定自身在当前环境中的位姿信息,以精确的实现虚拟物体与真实场景的融合。
另一方面,在自动驾驶、自主导航、无人机自动巡检、工业机器人等应用中,车辆、无人机、机器人等载具,需要通过确定其上搭载的电子设备的位姿来确定自身在当前环境中的位姿,以进行精确的路径规划、导航、检测、操控。
针对以上应用中,需确定电子设备在当前环境中的位姿的问题,一个典型的解决方案是:电子设备从服务器或者其他设备接收所处环境的三维(3-dimension,3D)地图,再通过本地传感器采集所处环境中的视觉信息,结合采集的视觉信息和下载的3D地图确定电子设备的当前位姿。
然而,原始的3D地图通常包含的数据量巨大,传输地图需要消耗大量的带宽和时间,严重的限制了应用的性能、影响了用户体验。
发明内容
本申请提供了一种3D地图的压缩、解压缩方法和装置,以减少3D地图的数据量,从而减少存储3D地图所需的存储空间或减少传输3D地图所需的传输资源。
第一方面,本申请实施例提供一种3D地图的压缩方法,该方法可以包括:获取多个3D地图点空间位置和多个3D地图点描述子,多个3D地图点空间位置中任一3D地图点空间位置对应3D地图中的一个3D地图点,多个3D地图点描述子中任一3D地图点描述子对应3D地图中的一个3D地图点。确定多个3D地图点空间位置与多个3D地图点描述子的对应关系,对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子。对多个3D地图点空间位置、多个3D地图点描述子和对应关系进行压缩处理(压缩处理中采用对应关系的显示的压缩方式),得到多个3D地图点的压缩数据;或者根据对应关系,对多个3D地图点空间位置和多个3D地图点描述子进行压缩处理(压缩处理中采用对应关系的隐式的压缩方式),得到多个3D地图点的压缩数据。
本实现方式,通过压缩处理,得到多个3D地图点的压缩数据。这样可以减少3D地图的数据量,例如,使3D地图的数据量从太字节(Terabyte,TB)级减少至千兆字节(Gigabyte,GB)级。通过对应关系的显式或隐式的压缩方式可以使得在解压缩该 压缩数据时,可以还原出该对应关系,以得到3D地图的重构数据。3D地图的数据量的减少,可以相应地减少存储3D地图所需的存储空间或减少传输3D地图所需的传输资源。
一种可能的设计中,对多个3D地图点空间位置、多个3D地图点描述子和对应关系进行压缩处理,可以包括:根据多个3D地图点空间位置与多个3D地图点描述子的对应关系、多个3D地图点空间位置或重排序后的多个3D地图点空间位置、和多个3D地图点描述子或重排序后的多个3D地图点描述子,确定对应关系指示信息,对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系。分别对多个3D地图点空间位置或重排序后的多个3D地图点空间位置、多个3D地图点描述子或重排序后的多个3D地图点描述子、和对应关系指示信息进行压缩处理。
一种可能的设计中,对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息。第一对应关系指示信息用于指示多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在多个3D地图点描述子或重排序后的多个3D地图点描述子中的位置。
一种可能的设计中,对应关系指示信息包括至少一个3D地图点的第二对应关系指示信息。第二对应关系指示信息用于指示多个3D地图点描述子或重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的位置。
一种可能的设计中,对应关系指示信息包括至少一个3D地图点的第一对应指示关系信息和至少一个3D地图点的第二对应关系指示信息。第一对应关系指示信息用于指示多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在多个3D地图点描述子或重排序后的多个3D地图点描述子中的位置。第二对应关系指示信息用于指示多个3D地图点描述子或重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的位置。
一种可能的设计中,多个3D地图点包括至少一个第一3D地图点和至少一个第二3D地图点,对应关系指示信息包括至少一个第一3D地图点的第一对应关系指示信息和至少一个第二3D地图点的第二对应关系指示信息。
一种可能的设计中,对应关系指示信息还包括标志位信息,标志位信息用于指示至少一个第一3D地图点的第一对应关系指示信息或至少一个第二3D地图点的第二对应关系指示信息。
一种可能的设计中,多个3D地图点包括当前3D地图点,上述方法还可以包括:根据当前3D地图点的第一对应关系指示信息,和至少一个已压缩的3D地图点的第一对应关系指示信息,确定当前3D地图点的第一残差。根据当前3D地图点的第二对应关系指示信息,和至少一个已压缩的3D地图点的第二对应关系指示信息,确定当前3D地图点的第二残差。根据第一残差和第二残差,确定当前地图点的对应关系指示信息。
一种可能的设计中,根据第一残差和第二残差,确定当前地图点的对应关系指示 信息,可以包括:若第一残差小于或等于第二残差,确定当前地图点的对应关系指示信息为当前地图点的第一残差。若第一残差大于第二残差,确定当前地图点的对应关系指示信息为当前地图点的第二残差。
一种可能的设计中,对应关系指示信息包括至少一个3D地图点的第三对应关系指示信息和至少一个3D地图点的第四对应关系指示信息。第三对应关系指示信息用于指示多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置。第四对应关系指示信息用于指示多个3D地图点描述子或重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在参考序列中的位置。
一种可能的设计中,根据对应关系,对多个3D地图点空间位置和多个3D地图点描述子进行压缩处理,可以包括:根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,对多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子;对多个3D地图点空间位置和重排序后的多个3D地图点描述子进行压缩处理。即根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,获取多个3D地图点描述子各自对应的3D地图点空间位置,基于各自对应的3D地图点空间位置,对多个3D地图点描述子进行重排序。也即利用3D地图点空间位置决定3D地图点描述子的顺序。
其中,对多个3D地图点空间位置和重排序后的多个3D地图点描述子进行压缩处理,可以包括对多个3D地图点空间位置进行重排序(这里的重排序可以是独立的重排序),得到重排序后的多个3D地图点空间位置,对重排序后的多个3D地图点空间位置和重排序后的多个3D地图点描述子进行压缩处理。
或者,根据对应关系,对多个3D地图点空间位置和多个3D地图点描述子进行压缩处理,可以包括:根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,对多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置;对多个3D地图点描述子和重排序后的多个3D地图点空间位置进行压缩处理。即根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,获取多个3D地图点空间位置各自对应的3D地图点描述子,基于各自对应的3D地图点描述子,对多个3D地图点空间位置进行重排序。也即利用3D地图点描述子决定3D地图点空间位置的顺序。
其中,对多个3D地图点描述子和重排序后的多个3D地图点空间位置进行压缩处理,可以包括,对多个3D地图点描述子进行重排序(这里的重排序可以是独立的重排序),得到重排序后的多个3D地图点描述子,对重排序后的多个3D地图点描述子和重排序后的多个3D地图点空间位置进行压缩处理。
一种可能的设计中,上述方法还可以包括:对多个3D地图点的压缩数据进行封装,得到3D地图的码流。
一种可能的设计中,上述方法的执行主体可以是服务器,上述方法还可以包括:服务器接收电子设备发送的3D地图请求信息,响应于3D地图请求信息,向电子设备发送3D地图请求信息对应的3D地图的码流;或者,上述方法的执行主体可以是电子设备,上述方法还可以包括:电子设备向服务器发送3D地图的码流。电子设备可以是 用户终端设备或载具搭载电子设备。
第二方面,本申请实施例提供一种3D地图的解压缩方法,该方法可以包括:对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置和多个3D地图点描述子;多个3D地图点空间位置中任一3D地图点空间位置对应3D地图中的一个3D地图点;多个3D地图点描述子中任一3D地图点描述子对应3D地图中的一个3D地图点。确定多个3D地图点空间位置与多个3D地图点描述子的对应关系,对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子。根据多个3D地图点空间位置、多个3D地图点描述子和对应关系,得到3D地图的重构数据。
一种可能的设计中,对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置和多个3D地图点描述子,可以包括:对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置、多个3D地图点描述子和对应关系指示信息;对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系。相应的,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系,可以包括:根据对应关系指示信息,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。
一种可能的设计中,对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息;第一对应关系指示信息用于指示多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在多个3D地图点描述子中的位置。
一种可能的设计中,对应关系指示信息包括至少一个3D地图点的第二对应关系指示信息;第二对应关系指示信息用于指示多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在多个3D地图点空间位置中的位置。
一种可能的设计中,对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息和至少一个3D地图点的第二对应关系指示信息;第一对应关系指示信息用于指示多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在多个3D地图点描述子中的位置;第二对应关系指示信息用于指示多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在多个3D地图点空间位置中的位置。
一种可能的设计中,多个3D地图点包括至少一个第一3D地图点和至少一个第二3D地图点,对应关系指示信息包括至少一个第一3D地图点的第一对应关系指示信息和至少一个第二3D地图点的第二对应关系指示信息。
一种可能的设计中,对应关系指示信息还包括标志位信息,标志位信息用于指示至少一个第一3D地图点的第一对应关系指示信息或至少一个第二3D地图点的第二对应关系指示信息。
一种可能的设计中,对应关系指示信息包括至少一个3D地图点的第三对应关系指示信息和至少一个3D地图点的第四对应关系指示信息;第三对应关系指示信息用于指示多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置;第四对应关系指示信息用于指示多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在参考序列中的位置。
一种可能的设计中,确定多个3D地图点空间位置与多个3D地图点描述子的对应 关系,可以包括:根据多个3D地图点描述子的顺序和多个3D地图点空间位置,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系;或者,根据多个3D地图点空间位置的顺序和多个3D地图点描述子,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。
一种可能的设计中,上述方法还可以包括:对3D地图的码流进行解封装,得到多个3D地图点的压缩数据。
一种可能的设计中,上述方法还可以包括:向服务器发送3D地图请求信息,接收服务器发送的3D地图请求信息对应的3D地图的码流;或者,接收电子设备发送的3D地图的码流。
第三方面,本申请提供一种3D地图的压缩装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第一方面或第一方面的任一可能的实施方式所述的方法的功能模块。举例来说,该3D地图的压缩装置,包括:压缩模块,用于获取多个3D地图点空间位置和多个3D地图点描述子,所述多个3D地图点空间位置中任一3D地图点空间位置对应所述3D地图中的一个3D地图点,所述多个3D地图点描述子中任一3D地图点描述子对应所述3D地图中的一个3D地图点;确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,所述对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子;对所述多个3D地图点空间位置、所述多个3D地图点描述子和所述对应关系进行压缩处理,或者根据所述对应关系,对所述多个3D地图点空间位置和所述多个3D地图点描述子进行压缩处理,得到多个3D地图点的压缩数据。存储模块,用于存储所述多个3D地图点的压缩数据;或者,封装模块,用于对所述多个3D地图点的压缩数据进行封装,得到所述3D地图的码流。
一种可能的设计中,所述压缩模块用于:根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系、所述多个3D地图点空间位置或重排序后的多个3D地图点空间位置、和所述多个3D地图点描述子或重排序后的多个3D地图点描述子,确定对应关系指示信息,所述对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系;分别对所述多个3D地图点空间位置或重排序后的多个3D地图点空间位置、所述多个3D地图点描述子或重排序后的多个3D地图点描述子、和所述对应关系指示信息进行压缩处理。
一种可能的设计中,所述对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息;所述第一对应关系指示信息用于指示所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的位置。
一种可能的设计中,所述对应关系指示信息包括至少一个3D地图点的第二对应关系指示信息;所述第二对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的位置。
一种可能的设计中,所述对应关系指示信息包括至少一个3D地图点的第一对应指示关系信息和至少一个3D地图点的第二对应关系指示信息;所述第一对应关系指示信息用于指示所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的位置;所述第二对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的位置。
一种可能的设计中,所述多个3D地图点包括至少一个第一3D地图点和至少一个第二3D地图点,所述对应关系指示信息包括所述至少一个第一3D地图点的第一对应关系指示信息和所述至少一个第二3D地图点的第二对应关系指示信息。
一种可能的设计中,所述对应关系指示信息还包括标志位信息,所述标志位信息用于指示所述至少一个第一3D地图点的第一对应关系指示信息或所述至少一个第二3D地图点的第二对应关系指示信息。
一种可能的设计中,所述多个3D地图点包括当前3D地图点,所述压缩模块还用于:根据所述当前3D地图点的第一对应关系指示信息,和至少一个已压缩的3D地图点的第一对应关系指示信息,确定所述当前3D地图点的第一残差;根据所述当前3D地图点的第二对应关系指示信息,和所述至少一个已压缩的3D地图点的第二对应关系指示信息,确定所述当前3D地图点的第二残差;根据所述第一残差和所述第二残差,确定所述当前地图点的对应关系指示信息。
一种可能的设计中,所述压缩模块用于:若所述第一残差小于或等于所述第二残差,确定所述当前地图点的对应关系指示信息为所述当前地图点的第一残差;若所述第一残差大于所述第二残差,确定所述当前地图点的对应关系指示信息为所述当前地图点的第二残差。
一种可能的设计中,所述对应关系指示信息包括至少一个3D地图点的第三对应关系指示信息和至少一个3D地图点的第四对应关系指示信息;所述第三对应关系指示信息用于指示所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置;所述第四对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述参考序列中的位置。
一种可能的设计中,所述压缩模块用于:根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,对所述多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子;对所述多个3D地图点空间位置和所述重排序后的多个3D地图点描述子进行压缩处理;或者,根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,对所述多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置;对所述多个3D地图点描述子和所述重排序后的多个3D地图点空间位置进行压缩处理。
一种可能的设计中,所述装置还包括传输模块,用于接收电子设备发送的3D地 图请求信息,响应于所述3D地图请求信息,向所述电子设备发送所述3D地图请求信息对应的所述3D地图的码流;或者,向服务器发送所述3D地图的码流。
第四方面,本申请提供一种3D地图的解压缩装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第二方面或第二方面的任一可能的实施方式所述的方法的功能模块。举例来说,该3D地图的解压缩装置,包括:包括:解压缩模块,用于从存储模块获取多个3D地图点的压缩数据,或者,通过解封装模块获取多个3D地图点的压缩数据;所述解压缩模块,还用于对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置和多个3D地图点描述子;所述多个3D地图点空间位置中任一3D地图点空间位置对应所述3D地图中的一个3D地图点;所述多个3D地图点描述子中任一3D地图点描述子对应所述3D地图中的一个3D地图点;确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,所述对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子;根据多个3D地图点空间位置、多个3D地图点描述子和所述对应关系,得到所述3D地图的重构数据。
一种可能的设计中,所述解压缩模块用于:对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置、多个3D地图点描述子和对应关系指示信息;所述对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系;根据所述对应关系指示信息,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系。
一种可能的设计中,所述对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息;所述第一对应关系指示信息用于指示所述多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子中的位置。
一种可能的设计中,所述对应关系指示信息包括至少一个3D地图点的第二对应关系指示信息;所述第二对应关系指示信息用于指示所述多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置中的位置。
一种可能的设计中,所述对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息和至少一个3D地图点的第二对应关系指示信息;所述第一对应关系指示信息用于指示所述多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子中的位置;所述第二对应关系指示信息用于指示所述多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置中的位置。
一种可能的设计中,所述多个3D地图点包括至少一个第一3D地图点和至少一个第二3D地图点,所述对应关系指示信息包括所述至少一个第一3D地图点的第一对应关系指示信息和所述至少一个第二3D地图点的第二对应关系指示信息。
一种可能的设计中,所述对应关系指示信息还包括标志位信息,所述标志位信息用于指示所述至少一个第一3D地图点的第一对应关系指示信息或至少所述至少一个第二3D地图点的第二对应关系指示信息。
一种可能的设计中,所述对应关系指示信息包括至少一个3D地图点的第三对应关系指示信息和至少一个3D地图点的第四对应关系指示信息;所述第三对应关系指示信息用于指示所述多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置;所述第四对应关系指示信息用于指示所述多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述参考序列中的位置。
一种可能的设计中,所述解压缩模块用于:根据所述多个3D地图点描述子的顺序和所述多个3D地图点空间位置,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系;或者,根据所述多个3D地图点空间位置的顺序和所述多个3D地图点描述子,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系。
一种可能的设计中,所述解封装模块用于对所述3D地图的码流进行解封装,得到所述多个3D地图点的压缩数据。
一种可能的设计中,所述装置还包括传输模块,用于:向服务器发送3D地图请求信息,接收所述服务器发送的所述3D地图请求信息对应的所述3D地图的码流;或者,接收电子设备发送的所述3D地图的码流。
第五方面,本申请实施例提供一种3D地图的压缩装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第一方面任一项可能的设计所述的方法。
第六方面,本申请实施例提供一种3D地图的解压缩装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面或第二方面任一项可能的设计所述的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行第一方面或第一方面任一项可能的设计所述的方法,或者,执行第二方面或第二方面任一项可能的设计所述的方法。
第八方面,本申请提供一种计算机程序或计算机程序产品,当计算机程序或计算机程序产品在计算机上被执行时,使得计算机实现如上述第一至二方面及其任一种可能的实施方式所描述的方法。
应当理解的是,本申请的第三至七方面与本申请的第一至二方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例所提供的一种应用架构的示意图;
图2为本申请实施例提供的电子设备20的一种结构示意图;
图3为本申请实施例提供的服务器30的一种结构示意图;
图4a-图4f为本申请实施例提供的一个应用场景的示意图;
图4g为本申请实施例提供的电子设备显示的一种用户界面的示意图;
图5是本申请实施例提供的一种3D地图的压缩方法的流程示意图;
图6是本申请实施例提供的一种3D地图的解压缩方法的流程示意图;
图7是本申请实施例提供的一种3D地图的编解码方法的流程示意图;
图8是本申请实施例提供的一种3D地图的编解码方法的流程示意图;
图9是本申请实施例提供的一种3D地图的编解码方法的流程示意图;
图10是本申请实施例提供的一种3D地图的编解码方法的流程示意图;
图11为本申请实施例提供的一种3D地图的压缩装置的结构示意图;
图12为本申请实施例提供的一种3D地图的解压缩装置的结构示意图;
图13为本申请实施例提供的一种译码装置1300的示意性框图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请的说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例或所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。如本文所使用的,单数形式的“一”、“某”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”、“具有”、“包含”和/或“含有”在本文中使用时指定所陈述的特征、整数、步骤、操作、要素、和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、要素、组件和/或其群组的存在或添加。
需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。
图1为本申请实施例所提供的一种应用架构的示意图,如图1所示,该应用架构包括多个电子设备和服务器,其中,多个电子设备可以包括第一电子设备、一个或多个第二电子设备(图1中以两个第二电子设备为例),该一个或多个第二电子设备是除第一电子设 备外的若干个电子设备。多个电子设备和服务器之间、多个电子设备彼此之间均可进行通信,例如,对于应用架构中的任意一个设备,可以通过无线保真(wireless-fidelity,WiFi)通信、蓝牙通信或者蜂窝2/3/4/5代(2/3/4/5generation,2G/3G/4G/5G)通信等方式与其它设备进行通信,应当理解的,服务器和电子设备之间还可以采用其他通信方式,包括未来的通信方式,对此不做具体限定。需要说明的是,本申请实施例中的“一个或多个第二电子设备”仅用于表示除第一电子设备外的其它电子设备,但并不限定多个电子设备的类型是否相同。
上述电子设备,可以是配置有摄像头和显示组件的各种类型的设备,例如,电子设备可以是手机、平板电脑、笔记本电脑、录像机等终端设备(图1中以电子设备是手机为例),电子设备也可以是用于虚拟场景交互的设备,包括VR眼镜、AR设备,MR互动设备等,电子设备还可以是智能手表、智能手环等可穿戴电子设备,电子设备还可以是车辆、无人驾驶车辆、无人机、工业机器人等载具中所搭载的设备。本申请实施例对电子设备的具体形式不做具体限定。
此外,上述电子设备也可以被称为用户装备(user equipment,UE)、订户站、移动单元、订户单元、无线单元、远程单元、移动设备、无线设备、无线通信设备、远程设备、移动订户站、终端设备、接入终端、移动终端、无线终端、智能终端、远程终端、手持机、用户代理、移动客户端、客户端、或其他某个合适的术语。
上述服务器可以是一台或多台物理服务器(图1中以一台物理服务器为例),也可以是计算机集群,还可以是云计算场景的虚拟机或者云端服务器,等等。
本申请实施例中,电子设备可以安装VR应用、AR应用或者MR应用等虚拟场景应用程序(application,APP),并可以基于用户的操作(例如点击、触摸、滑动、抖动、声控等)运行VR应用、AR应用或者MR应用。电子设备可以通过传感器采集环境中任意物体的视觉信息,再根据采集的视觉信息在显示组件上显示虚拟物体,该虚拟物体可以是VR场景、AR场景或MR场景中的虚拟物体(即虚拟环境中的物体)。
本申请实施例中,电子设备可以安装导航、检测、控制类应用程序,并基于用户的操控或是预设的程序来运行相应的应用。电子设备可以基于自身在当前环境中的位姿和其他状态信息,进行路径规划、物体检测、载具操控等应用。
位姿即电子设备的位置和朝向信息,可以是在世界坐标系中的绝对位姿,也可以是相对于环境中某个点的相对位姿。
本申请实施例所涉及的视觉信息,包括但不限于摄像头采集得到的图像视频(不带深度信息)、深度感应器(depth sensor)采集得到的带深度信息的图像视频、激光雷达(LiDAR)采集得到的数据、毫米波雷达(RaDAR)采集得到的数据。
需要说明的是,本申请实施例中,电子设备中的虚拟场景应用程序可以是电子设备自身内置的应用程序,也可以是用户自行安装的第三方服务商提供的应用程序,对此不做具体限定。
本申请实施例中,电子设备还可以配置有即时定位与地图构建(simultaneous localization and mapping,SLAM)系统,SLAM系统能够在完全未知的环境中创建地图,并利用该地图进行定位、位姿(位置与姿态)确定、导航等。本申请实施例中将SLAM系统创建的地图称作SLAM地图,SLAM地图可以理解为是SLAM系统根据采集设备采集 到的环境信息绘制出的地图,采集设备可以包括电子设备中的视觉信息采集装置和惯性测量单元(inertial measurement unit,IMU),其中,视觉信息采集装置例如可以包括摄像头、相机、深度相机、激光雷达、毫米波雷达等,IMU例如可以包括陀螺仪、加速度计等传感器。
本申请实施例中将SLAM地图亦称作3D地图。需要说明的是,3D地图包括但不限于SLAM地图,其还可以包括采用其它技术创建的三维地图,本申请实施例对此不做具体限定。
在一种可能的实现方式中,3D地图可以包括多个3D地图点,相应的,3D地图的数据可以包括多个3D地图点的数据。3D地图点是环境中令人感兴趣的或者具有显著特征的点。
3D地图点的一种可能的获取方式为,使用激光雷达、无人机视角的空中摄影(倾斜摄影)、高清全景相机、高清工业相机等多种设备拍摄,通过ORB、尺度不变特征变换(scale-invariant feature transform,SIFT)、加速版具有鲁棒性特征(speeded up robust features,SURF)、二元鲁棒独立基本特征(binary robust independent elementary features,BRIEF)、二进制鲁棒不变可伸缩关键点(binary robust invariant scalable keypoints,BRISK)、快速视网膜关键点(fast retina keypoint,FREAK)、D2Net或者基于自监督训练的特征点检测和描述符提取方法(SuperPoint)等方法从上述设备拍摄到的数据中提取。
3D地图点的数据可以包括:
(1)3D地图点描述子
3D地图点描述子是一条向量(vector),用来表示对应3D地图点的局部特征。在视觉定位算法中,3D地图点描述子用于进行3D地图点间的匹配。一种可能的做法是,计算两个3D地图点描述子之间的距离(可以是欧式距离、内积距离、汉明距离等),当距离小于一个阈值时,视为两个3D地图点匹配。
(2)3D地图点空间位置
3D地图点空间位置可以采用三维空间轴线上的X、Y、Z表示,也可以采用经纬度、海拔高度表示,还可以采用极坐标等方式表示,本申请实施例对3D地图点空间位置的表示方法不做具体限制。3D地图点空间位置可以是3D地图点的绝对位置,也可以是3D地图点的相对位置,例如,以整个区域的中心位置为原点,所有3D地图点空间位置都是相对于原点的空间位置的偏移位置。
本申请实施例中,可以给每个3D地图点分配一个编号写入3D地图的数据中,也可以利用多个3D地图点在内存中的存储顺序隐含表示3D地图点的编号。需要说明的是,3D地图包含的多个3D地图点之间的先后顺序没有实际意义,因此前述编号可以认为是用于标识3D地图点的标识符,以对各个3D地图点加以区分,但该编号并不用于限定多个3D地图点之间的先后顺序,例如,3D地图包含3个3D地图点,其编号分别是1、2和3,对该3个3D地图点进行的处理,可以按照1、2、3的顺序进行,也可以按照3、2、1的顺序进行,还可以按照2、1、3的顺序进行,等等。
在一种可能的实现方式中,3D地图的数据还包括多个区域描述子,该多个区域描述子中的任意一个区域描述子用于描述上述多个3D地图点中的部分或全部3D地图点的特征,即针对多个区域描述子中的任意一个区域描述子,该区域描述子可以用于描述多个3D地 图点中的部分或全部3D地图点的特征,这样区域描述子和3D地图点是一对多的关系。而多个3D地图点中的每个3D地图点的特征可以被多个区域描述子中的部分或全部区域描述子描述,这样3D地图点和区域描述子是一对多的关系。由此可见,多个区域描述子和多个3D地图点之间是多对多的关系。区域描述子的生成方法包括但不限于BOW、局部聚集描述符向量(vector of locally aggregated descriptors,VLAD)等传统方法以及基于NetVLAD、人工智能(artificial intelligence,AI)的新型方法。同理,多个区域描述子也可以用编号进行标识,以对多个区域描述子进行区分,但是该编号同样不是对多个区域描述子之间的先后顺序的限定。
在一种可能的实现方式中,3D地图的数据还包括3D地图点和描述子的对应关系,在该对应关系中明确的描述了任意一个描述子对应于哪些3D地图点,以及任意一个3D地图点对应于哪些描述子。
可选的,上述对应关系可以显式的用区域描述子的编号和3D地图点的编号之间的对应表进行描述,例如,3D地图包含3个区域描述子,编号是T1~T3,5个3D地图点,其中,6个3D地图点空间位置的编号是P 1~P 6,6个3D地图点描述子的编号是F 1~F 6,对应表如表1所示。
表1
需要说明的是,表1是区域描述子的编号和3D地图点的编号之间的对应表的一个示例,该对应表也可以采用其他的格式或方式呈现,本申请对此不做具体限定。
可选的,上述对应关系也可以隐式的用区域描述子和3D地图点的存储位置进行描述,例如,在内存中先存储T1,跟着存储P 1、P 2和P 3的数据,接着存储T2,跟着存储P 2和P 3的数据,最后存储T3,跟着存储P 3、P 4、P 5和P 6的数据。
图2为本申请实施例提供的电子设备20的一种结构示意图,如图2所示,电子设备20可以是图1所示实施例中的第一电子设备和一个或多个第二电子设备中的至少一者。应该理解的是,图2所示的结构并不构成对电子设备20的具体限定。在本申请另一些实施例中,电子设备20可以包括比图2所示结构更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备20可包括:芯片21、存储器22(一个或多个计算机可读存储介质)、用户接口23、显示组件24、摄像头25、传感器26、用于设备定位的定位模块27以及用于通信的收发器28。这些部件之间可以通过一个或多个总线29通信。
芯片21可以集成包括:一个或多个处理器211、时钟模块212以及电源管理模块213。集成于芯片21中的时钟模块212主要用于为处理器211提供数据传输和时序控制所需要的计时器,计时器可以实现数据传输和时序控制的时钟功能。处理器211可以根据指令操作码和时序信号,执行运算,产生操作控制信号,完成取指令和执行指令的控制。集成于芯片21中的电源管理模块213主要用于为芯片21以及电子设备20的其他部件提供稳定的、高精确度的电压。
处理器211又可称为中央处理器(central processing unit,CPU),处理器211具体可以包括一个或多个处理单元,例如,处理器211可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或,神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在一种可能的实现方式中,处理器211可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或,通用串行总线(universal serial bus,USB)接口等。
存储器22可以和处理器211通过总线29连接,也可以与处理器311耦合在一起,用于存储各种软件程序和/或多组指令。存储器22可以包括高速随机存取的存储器(例如高速缓冲存储器),也可以包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器22可以存储操作系统,例如,安卓(Android),苹果(IOS),微软(Windows)或者Linux等嵌入式操作系统。存储器22还可以存储数据,例如,图像数据、点云数据、3D地图的数据、位姿数据、坐标系转换信息、地图更新信息等。存储器22还可以存储计算机可执行的程序代码,该计算机可执行的程序代码包括指令,例如,通信程序指令,SLAM系统的相关程序指令等。存储器22还可以存储一个或多个应用程序,例如,AR/VR/MR等虚拟场景应用程序、地图类应用程序、图像管理类应用程序、导航与控制类应用程序等。存储器22还可以存储用户界面程序,该用户界面程序可以通过图形化的操作界面将应用程序的内容,例如,AR/VR/MR等虚拟场景中的虚拟物体,形象逼真的显示出来并通过显示组件24呈现,以及实现通过菜单、对话框和按键等输入控件接收用户对应用程序的控制操作。
用户接口23例如可以是触控面板,该触控面板可以检测用户在其上的操作指令,用户接口23也例如可以是小键盘、物理按键或者鼠标等。
电子设备20可以包括一个或多个显示组件24。电子设备20可以通过显示组件24、芯片21中的图形处理器(GPU)和应用处理器(AP)等共同实现显示功能。GPU是实现 图像处理的微处理器,其连接显示组件24和应用处理器,GPU执行数学和几何计算以用于图形渲染。显示组件24可以显示电子设备20输出的界面内容,例如,显示AR/VR/MR等虚拟场景中的图像、视频等,界面内容可包括正在运行的应用程序的界面以及系统级别菜单等,具体可以由下述界面元素组成:输入型界面元素,例如按键(Button),文本输入框(Text),滑动条(Scroll Bar),菜单(Menu)等;输出型界面元素,例如视窗(Window),标签(Label),图像,视频,动画等。
显示组件24可以是显示面板,镜片(例如VR眼镜),投影屏等。显示面板也可以称为显示屏,例如,可以是触摸屏、柔性屏、曲面屏等,也可以是其它光学组件。应当理解的,本申请实施例中的电子设备具有的显示屏可以是触摸屏、柔性屏、曲面屏或者其它形式的屏幕,亦即电子设备的显示屏具有显示图像的功能,而对于显示屏的具体材质和形状不作具体限定。
例如,当显示组件24包括显示面板时,显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。此外,在一种可能的实现方式中,可以将用户接口23中的触控面板和显示组件24中的显示面板耦合在一起,例如,触控面板可设置于显示面板下方,触控面板用于检测用户通过显示面板输入触控操作(例如点击、滑动,触摸等)时作用于显示面板上的触控压力,显示面板用于进行内容显示。
摄像头25可以是单目摄像头或双目摄像头或深度摄像头,用于对环境进行拍摄/录像,以获得图像/视频图像。摄像头25所采集的图像/视频图像例如可作为SLAM系统的一种输入数据,或者可通过显示组件24进行图像/视频显示。
在一种可能的实现方式中,也可以把摄像头25视为一种传感器。摄像头25采集的图像可以是IMG格式,也可以是其他格式类型,本申请实施例对此不做具体限定。
传感器26可以用于采集与电子设备20的状态变化(例如,旋转、摆动、移动、抖动等)相关的数据,传感器26所采集的数据可以作为SLAM系统的一种输入数据。传感器26可以包括一种或多种传感器,例如,惯性测量单元(inertial measurement unit,IMU),飞行时间(time of flight,TOF)传感器等。IMU中可以包括陀螺仪、加速度计等传感器,陀螺仪用于测量电子设备运动时的角速度,加速度计用于测量电子设备运动时的加速度。TOF传感器中可以包括光发射器和光接收器,光发射器用于向外发射光线,例如,激光、红外线、雷达波等,光接收器用于检测反射的光线,例如,反射的激光、红外线、雷达波等。
需要说明的,传感器26还可以包括更多的其他传感器,例如惯性传感器,气压计,磁力计,轮速计等,本申请实施例对此不做具体限定。
定位模块27用于实现对电子设备20的物理定位,例如,用于获取电子设备20的初始位置。定位模块27可以包括WiFi定位模块、蓝牙定位模块、基站定位模块、卫星定位模块中的一个或多个。卫星定位模块中可以设置有全球导航卫星系统(global navigation satellite system,GNSS)以辅助定位,GNSS不限于北斗系统、全球定位系统(global positioning system,GPS)系统、格洛纳斯(global navigation satellite system,GLONASS) 系统、伽利略卫星导航系统(Galileo)系统。
收发器28用于实现电子设备20与其它设备(例如,服务器、其它电子设备等)之间的通信。收发器28集成了发射器和接收器,分别用于发送和接收射频信号。具体实现中,收发器28包括但不限于:天线系统、射频(radio frequency,RF)收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编译码器(CODEC)芯片、用户身份识别卡(subscriber identification module,SIM)卡和存储介质等。在一种可能的实现方式中,还可以在单独的芯片上实现收发器28。收发器28支持2G/3G/4G/5G等中的至少一种数据网络通信,和/或,支持以下近距无线通信的方式中的至少一种:蓝牙(bluetooth,BT)通信,无线保真(wirelessfidelity,WiFi)通信,近场通信(near field communication,NFC),红外(infrared,IR)无线通信,超宽带(ultra wide band,UWB)通信,紫蜂协议(ZigBee)通信。
本申请实施例中,处理器211通过运行存储在存储器22的程序代码,从而执行电子设备20的各种功能应用和数据处理。
图3为本申请实施例提供的服务器30的一种结构示意图,如图3所示,服务器30可以是图1所示实施例中的服务器。服务器30包括处理器301、存储器302(一个或多个计算机可读存储介质)和收发器303。这些部件之间可以通过一个或多个总线304通信。
处理器301可以是一个或多个CPU,在处理器301是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器302可以和处理器301通过总线304连接,也可以和处理器301耦合在一起,用于存储各种程序代码和/或多组指令、以及数据(例如,地图数据、位姿数据等)。具体实现中,存储器302包括但不限于是随机存储记忆体(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、或便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM)等。
收发器303主要集成了接收器和发射器,其中接收器用于接收电子设备发送的数据(例如,请求、图像等),发射器用于向电子设备发送数据(例如,地图数据、位姿数据等)。
应当理解,图3所示的服务器30仅为本申请实施例提供的一个示例,服务器30还可以具有比图示更多的部件,本申请实施例对此不做具体限定。
本申请实施例中,处理器301通过运行存储在存储器302中的程序代码,从而执行服务器30的各种功能应用和数据处理。
本申请实施例中使用的术语“耦合”意指直接连接或者通过一个或多个居间组件或电路连接。
图4a为本申请实施例提供的一个应用场景的示意图,如图4a所示,该应用场景是电子设备通过传感器采集视觉信息,结合视觉信息以及来自服务器的3D地图确定电子设备的当前位姿。
3D地图是由服务器提供的,即服务器创建3D地图,然后对该3D地图进行压缩处理,将3D地图的压缩数据传输给电子设备;电子设备收到3D地图的压缩数据后进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及3D地图的重构数据确定电子设备的当前位姿。位姿即电子设备的位置信息,可以是在世界坐标系中的绝对位姿,也可 以是相对于环境中某个点的相对位姿。
本申请实施例中,服务器可以预先创建3D地图,将3D地图进行压缩处理后存储在本地,这样可以节省存储空间。另外,服务器也可以将3D地图的压缩数据传输给其他设备,例如,云存储器。
1、服务器创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
服务器对3D地图进行压缩处理可以节省本地的存储空间。
2、电子设备向服务器发送地图下载请求,该地图下载请求的触发方式有两种:
(1)用户打开安装于电子设备上的地图类应用程序,该应用程序向其对应的服务器上传基于GPS定位或者WiFi定位得到的位置信息,该上传操作可以触发地图下载请求。由于上传的内容包括位置信息,因此服务器可以基于位置信息进行一个初步估计,将位置信息指示的定位点所属区域的3D地图的压缩数据传输给电子设备。位置信息指示的定位点所属区域的范围可以预先设定,例如,该所属区域可以是定位点所在的各个级别的行政区(包括县、市、国家或者行政区等),也可以是以定位点为中心、设定距离为半径的圆周区域。
(2)用户打开安装于电子设备上的地图类应用程序,在该应用程序中主动输入或者选择一个区域,例如,用户主动输入“xx商业中心”,或者从一个列表“A街道、B街道、C街道”中选择了“A街道”。用户的前述操作可以触发地图下载请求。无论是用户输入或是选择包含了一个地理位置,因此服务器将该地理位置的3D地图的压缩数据传输给电子设备。
应当理解的是,本申请实施例中除了上述两种方式还可以采用其他方式触发地图下载请求,例如,电子设备自动检测是否符合下载3D地图或者启动下载3D地图的条件,或者,电子设备通过检测环境光线的变化或者检测环境的变化来启动下载3D地图,以向服务器请求下载一个区域范围内的3D地图,区域范围的大小不做具体限定。
3、服务器向电子设备发送3D地图的压缩数据。
4、电子设备通过传感器采集视觉信息。
需要说明的是,步骤3和步骤4是相互独立的,不限定先后顺序。
5、电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
6、电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
电子设备在收到3D地图的压缩数据后,不需要立即解压缩,只需要在基于视觉信息进行定位之前解压缩得到3D地图的重构数据即可。例如,用户可以以下载“离线地图”的方式预先下载一个区域范围的3D地图的压缩数据,而在需要定位时,才对3D地图的压缩数据进行解压缩。
图4b为本申请实施例提供的一个应用场景的示意图,如图4b所示,该应用场景是电子设备通过传感器采集视觉信息,服务器结合来自电子设备的视觉信息以及3D地图确定电子设备的当前位姿。
3D地图是由服务器提供的,即服务器创建3D地图,然后对该3D地图进行压缩处理,将3D地图的压缩数据存储在本地。当收到来自电子设备的视觉信息时,服务器进行解压缩处理,得到3D地图的重构数据,结合视觉信息以及3D地图的重构数据确定电子设备的当前位姿。
1、服务器创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
2、电子设备通过传感器采集视觉信息。
3、电子设备向服务器发送视觉信息。
4、服务器对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
应当理解的,服务器对3D地图进行压缩处理是为了节省存储空间。
5、服务器根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
6、服务器向电子设备发送位姿。
图4c为本申请实施例提供的一个应用场景的示意图,如图4c所示,该应用场景是电子设备通过传感器采集视觉信息,结合采集的视觉信息以及3D地图确定电子设备的当前位姿。
3D地图是由电子设备提供的,即电子设备创建3D地图,然后对该3D地图进行压缩处理,将3D地图的压缩数据存储在本地。当采集到的视觉信息时,电子设备进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及3D地图的重构数据确定电子设备的当前位姿。
1、电子设备创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
应当理解的,电子设备对3D地图进行压缩处理是为了节省存储空间。
2、电子设备通过传感器采集得到视觉信息。
3、电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
4、电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
图4d为本申请实施例提供的一个应用场景的示意图,如图4b所示,该应用场景是第二电子设备通过传感器采集视觉信息,结合视觉信息以及来自服务器的3D地图确定第二电子设备的当前位姿。
3D地图是由第一电子设备创建的,即第一电子设备创建3D地图,对该3D地图进行压缩处理,然后将3D地图的压缩数据发送给服务器,服务器再把3D地图的压缩数据发送给第二电子设备,第二电子设备进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及3D地图的重构数据确定第二电子设备的当前位姿。
本申请实施例中,第一电子设备可以预先创建3D地图,将3D地图进行压缩处理后传输给服务器,这样可以减少传输带宽。
1、第一电子设备创建3D地图,并压缩得到3D地图的压缩数据。
2、第一电子设备向服务器发送3D地图的压缩数据。
第一电子设备对3D地图进行压缩处理后再传输,可以减少传输带宽,提高传输效率。
3、第二电子设备向服务器发送地图下载请求。
第二电子设备发送地图下载请求也可以基于图4a所示的触发方式。
4、服务器向第二电子设备发送3D地图的压缩数据。
5、第二电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
6、第二电子设备通过传感器采集得到视觉信息。
7、第二电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
图4e为本申请实施例提供的一个应用场景的示意图,如图4c所示,该应用场景是第二电子设备通过传感器采集视觉信息,服务器结合来自第二电子设备的视觉信息以及来自第一电子设备的3D地图确定第二电子设备的当前位姿。
3D地图是由第一电子设备创建的,即第一电子设备创建3D地图,对该3D地图进行压缩处理,然后将3D地图的压缩数据发送给服务器。服务器进行解压缩处理,得到3D地图的重构数据,结合来自第二电子设备的视觉信息以及3D地图的重构数据确定第二电子设备的当前位姿。
1、第一电子设备创建3D地图,并压缩得到3D地图的压缩数据。
2、第一电子设备向服务器发送3D地图的压缩数据。
3、第二电子设备通过传感器采集得到视觉信息。
4、第二电子设备向服务器发送定位请求,该定位请求中携带视觉信息。
5、服务器对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
6、服务器根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
7、服务器向第二电子设备发送定位得到的位姿。
图4f为本申请实施例提供的一个应用场景的示意图,如图4d所示,该应用场景是第二电子设备通过传感器采集视觉信息,结合视觉信息以及来自第一电子设备的3D地图确定第二电子设备的当前位姿。
3D地图是由第一电子设备创建的,即第一电子设备创建3D地图,对该3D地图进行压缩处理,然后将3D地图的压缩数据发送给第二电子设备,第二电子设备进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及来自第一电子设备的3D地图确定第二电子设备的当前位姿。
1、第一电子设备创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
2、第二电子设备向第一电子设备发送地图下载请求。
3、第一电子设备向第二电子设备发送3D地图的压缩数据。
4、第二电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
5、第二电子设备通过传感器采集得到视觉信息。
6、第二电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
图4a~图4f所示实施例中,所采用的定位算法可以包括:
(1)从视觉信息中提取待检区域索描述子,提取待检区域索描述子使用的算法和从3D地图中提取区域描述子的算法一致。
(2)从视觉信息中提取待检索3D地图点,并获取待检索3D地图点空间位置和待检索3D地图点描述子,提取待检索3D地图点描述子的算法和从3D地图中提取3D地图点描述子的算法一致。
(3)根据待检索区域描述子在3D地图的数据包含的多个区域描述子中进行检索以得到多个候选区域描述子。
本申请实施例中,可以计算待检索区域描述子分别与多个区域描述子中的每一个区域描述子的距离,该距离可以包括汉明距离、曼哈顿距离或者欧氏距离等,然后选择符合条件(例如距离小于阈值)的至少一个区域描述子,即为候选区域描述子。
(4)使用待检索3D地图点描述子分别与多个候选区域描述子所对应的3D地图点描述子进行匹配,匹配亦即计算待检索3D地图点描述子分别与多个候选区域描述子对应的3D地图点描述子的相似度,找出最相似的3D地图点。
(5)根据匹配到的3D地图点,使用ORB-SLAM2中的PnP、EPnP等位姿求解算法 计算得到电子设备的位姿。
在图4a~图4f任一应用场景中,基于本申请实施例的3D地图进行定位,以得到电子设备当前的位姿,该位姿可以应用于AR导航、AR人机交互、辅助驾驶、自动驾驶等领域。以基于该位姿进行AR导航为例,图4g为本申请实施例提供的电子设备显示的一种用户界面的示意图,电子设备可以基于该位姿,显示如图4g所示的用户界面,该用户界面上可以包括导航前往会议室2的导航箭头指示,该导航前往会议室2的导航箭头指示可以是基于该位姿从服务器获取的或者从本地获取的虚拟物体。该用户界面上还可以包括传感器采集的视觉信息,例如,如图4g所示的建筑物。用户参照电子设备的如图4g所示的用户界面,前往会议室2。
需要说明的是,本申请实施例所涉及的解压缩得到的3D地图的重构数据,也可以称之为3D地图的重建数据。
而图4a~图4f所示实施例中,均涉及到对3D地图进行压缩处理和解压缩处理,本申请实施例提供了多个用于进行前述压缩处理和解压缩处理的方法,以下对该压缩处理和解压缩处理的方法进行说明。
基于上文的描述,下面给出本申请实施例提供的一些3D地图的压缩方法。对于下文描述的各方法实施例,为了方便起见,将其都表述为一系列的动作步骤的组合,但是本领域技术人员应该知悉,本申请技术方案的具体实现并不受所描述的一系列的动作步骤的顺序的限制。
参见图5,图5是本申请实施例提供的一种3D地图的压缩方法的流程示意图,在一些实现中,该方法可应用于电子设备,或者也可以应用于服务器。本申请实施例的用于执行3D地图的压缩方法的执行主体也可以称之为压缩端或编码端。该方法包括但不限于以下步骤:
S101、获取多个3D地图点空间位置和多个3D地图点描述子。
多个3D地图点空间位置中任一3D地图点空间位置对应3D地图中的一个3D地图点。即3D地图点空间位置和3D地图点可以是一对一的关系。多个3D地图点描述子中任一3D地图点描述子对应3D地图中的一个3D地图点。即3D地图点描述子和3D地图点可以是一对一的关系。
这里所获取的多个3D地图点空间位置和多个3D地图点描述子是需要经过后续S102和S103压缩的数据。多个3D地图点空间位置和多个3D地图点描述子可以是3D地图中的一个或多个区域内的3D地图点对应的3D地图点空间位置和3D地图点描述子。这里的一个或多个区域可以根据压缩需求进行合理设置。举例而言,该一个或多个区域可以是电子设备发送的地图下载请求对应的区域,例如,“xx商业中心”所在区域。
S102、确定多个3D地图点空间位置与多个3D地图点描述子的对应关系,该对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子。
多个3D地图点空间位置与多个3D地图点描述子的对应关系可以是,多个3D地图点空间位置中的任意一个3D地图点空间位置对应多个3D地图点描述子中的一个3D地图点描述子,即一个3D地图点空间位置和一个3D地图点描述子对应相同的3D 地图点。
以3D地图包括5个地图点,其编号分别是1、2、3、4和5为例。多个3D地图点空间位置包括5个3D地图点空间位置,分别是P 1~P 5,多个3D地图点描述子包括5个3D地图点描述子,分别是F 1~F 5。那么,对应关系可以包括{P 1,F 1},{P 2,F 2},{P 3,F 3},{P 4,F 4}和{P 5,F 5}。其中,{P i,F i}表示对应相同的3D地图点的P i和F i,即P i和F i对应。i∈[1,n],n为3D地图点的个数,这里的举例中n=5。
步骤103、对多个3D地图点空间位置、多个3D地图点描述子和多个3D地图点空间位置与多个3D地图点描述子的对应关系进行压缩处理,得到多个3D地图点的压缩数据,或者,根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,对个3D地图点空间位置和多个3D地图点描述子进行压缩处理,得到多个3D地图点的压缩数据。
本实施例的压缩处理包括但不限于预测等处理。
通过压缩处理,得到多个3D地图点的压缩数据,以使得在对多个3D地图点的压缩数据解压缩时,可以还原出该对应关系,从而根据解压缩得到的多个3D地图点空间位置、多个3D地图点描述子和该对应关系,得到3D地图的重构数据。这样可以实现对3D地图的压缩和解压缩,以减小3D地图的存储资源开销或者减小3D地图的传输资源开销。
一种可实现方式,该对应关系的显式的压缩方式。即对多个3D地图点空间位置、多个3D地图点描述子和多个3D地图点空间位置与多个3D地图点描述子的对应关系进行压缩处理,得到多个3D地图点的压缩数据。示例性的,可以分别对对应关系指示信息、3D地图点空间位置和3D地图点描述子进行压缩处理,得到3D地图点的压缩数据。即3D地图点的压缩数据中包括压缩后的对应关系指示信息。该对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系。通过该对应关系指示信息可以将解压缩得到的多个3D地图点空间位置和多个3D地图点描述子中,相同3D地图点的3D地图点空间位置和3D地图点描述子对应起来,以得到3D地图的重构数据。以上述5个地图点为例进行举例说明,解压缩得到的多个3D地图点空间位置为P 4,P 2,P 5,P 3,P 1,解压缩得到的多个3D地图点描述子为F 2,F 1,F 3,F 5,F 4,通过对应关系指示信息可以将相同3D地图点的3D地图点空间位置和3D地图点描述子对应起来,即得到{P 1,F 1},{P 2,F 2},{P 3,F 3},{P 4,F 4}和{P 5,F 5}。
示例性的,可以根据该对应关系、重排序后的多个3D地图点空间位置和多个3D地图点描述子,确定对应关系指示信息。或者,可以根据该对应关系、重排序后的多个3D地图点空间位置和重排序后的多个3D地图点描述子,确定对应关系指示信息。或者,可以根据该对应关系、多个3D地图点空间位置和多个3D地图点描述子,确定对应关系指示信息。或者,可以根据该对应关系、多个3D地图点空间位置和重排序后的多个3D地图点描述子,确定对应关系指示信息。
这里的重排序后的多个3D地图点空间位置可以是对S101获取的多个3D地图点空间位置进行重排序得到的。这里的重排序后的多个3D地图点描述子可以是对S101获取的多个3D地图点描述子进行重排序得到的。其中,对3D地图点空间位置的重排序和对3D地图点描述子的重排序,可以是各自独立重排序,也可以是非独立重排序, 本申请实施例对此不作具体限定。
另一种可实现方式,该对应关系的隐式的压缩方式。即根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,对个3D地图点空间位置和多个3D地图点描述子进行压缩处理,得到多个3D地图点的压缩数据。3D地图点的压缩数据中包括压缩后的3D地图点空间位置和压缩后的3D地图点描述子,而不包括如上所述的压缩后的对应关系指示信息。通过在解压缩得到的多个3D地图点空间位置或多个3D地图点描述子中,将相同3D地图点的3D地图点空间位置和3D地图点描述子对应起来,以得到3D地图的重构数据。
具体的,可以根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,对多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子。对多个3D地图点空间位置和重排序后的多个3D地图点描述子进行压缩处理。或者,根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,对多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置。对多个3D地图点描述子和重排序后的多个3D地图点空间位置进行压缩处理。以3D地图点空间位置的莫顿码顺序为例,根据对应关系,即{P 1,F 1},{P 2,F 2},{P 3,F 3},{P 4,F 4}和{P 5,F 5},以及3D地图点空间位置的莫顿码顺序,对5个3D地图点描述子进行重排序,例如,重排序后的5个3D地图点描述子为F 2,F 1,F 3,F 5,F 4,对5个3D地图点空间位置和重排序后的5个3D地图点描述子分别进行压缩处理,得到压缩数据。之后在解压缩时,解压缩得到的多个3D地图点空间位置为P 4,P 2,P 5,P 3,P 1,解压缩得到的多个3D地图点描述子为F 2,F 1,F 3,F 5,F 4,通过3D地图点空间位置的莫顿码顺序(P 2,P 1,P 3,P 5,P 4)可以将相同3D地图点的3D地图点空间位置和3D地图点描述子对应起来,即得到{P 1,F 1},{P 2,F 2},{P 3,F 3},{P 4,F 4}和{P 5,F 5}。
可选的,在一些实施例中,还可以对S103得到的多个3D地图点的压缩数据进行封装,得到3D地图的码流,该3D地图的码流可以用于传输,以减少传输3D地图所需的传输资源。这里封装可以包括但不限于熵编码等处理。
本实施例,通过压缩处理,得到多个3D地图点的压缩数据。这样可以减少3D地图的数据量。通过对应关系的显式或隐式的压缩方式可以使得在解压缩该压缩数据时,可以还原出该对应关系,以得到3D地图的重构数据。3D地图的数据量的减少,可以相应地减少存储3D地图所需的存储空间或减少传输3D地图所需的传输资源。
对于对应关系指示信息,本申请实施例提供如下四种不同的方式。
方式一、对应关系指示信息可以包括至少一个3D地图点的第一对应关系指示信息。该第一对应关系指示信息用于指示多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在多个3D地图点描述子或重排序后的多个3D地图点描述子中的位置。
本申请实施例所涉及的位置通常是指在一个序列里的位置顺序,例如,上述在多个3D地图点描述子或重排序后的多个3D地图点描述子中的位置是指,该至少一个3D地图点空间位置对应的3D地图点描述子,在多个3D地图点描述子或重排序后的多个3D地图点描述子中的位置顺序,其中,多个3D地图点描述子或重排序后的多个 3D地图点描述子可以理解为一个序列,在该序列中不同的3D地图点描述子有先后顺序。
用{1,2,……,j}表示多个3D地图点空间位置或重排序后的多个3D地图点空间位置,j∈[1,n],j表示对应的3D地图点空间位置的位置顺序。用{1,2,……,k}表示多个3D地图点描述子或重排序后的多个3D地图点描述子,k∈[1,n],k表示对应的3D地图点描述子的位置顺序。该第一对应关系指示信息可以包括用于指示{j→k}的信息,{j→k}表示多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的第j个位置对应多个3D地图点描述子或重排序后的多个3D地图点描述子的第k个位置。
以重排序后的多个3D地图点空间位置为P 4,P 2,P 5,P 3,P 1为例,j=1,用于表示P 4的位置顺序,j=2,用于表示P 2的位置顺序,j=3,用于表示P 5的位置顺序,j=4,用于表示P 3的位置顺序,j=5,用于表示P 1的位置顺序。以重排序后的5个3D地图点描述子为F 2,F 1,F 3,F 5,F 4为例,k=1,用于表示F 2的位置顺序,k=2,用于表示F 1的位置顺序,k=3,用于表示F 3的位置顺序,k=4,用于表示F 5的位置顺序,k=5,用于表示F 4的位置顺序。该第一对应关系指示信息可以为k=5,k=1,k=4,k=3,k=2。即第一对应关系指示信息为k序列。也即j=1对应k=5,换言之,P 4对应F 4。j=2对应k=1,换言之,P 2对应F 2。j=3对应k=4,换言之,P 5对应F 5。j=4对应k=3,换言之,P 3对应F 3。j=5对应k=2,换言之,P 1对应F 1
也即第一对应关系指示信息通过指示j对应的k,以使得解压缩时可以基于该第一对应关系指示信息,确定3D地图点空间位置和3D地图点描述子的对应关系。
方式二、对应关系指示信息可以包括至少一个3D地图点的第二对应关系指示信息。该第二对应关系指示信息用于指示多个3D地图点描述子或重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的位置。
与上述方式一同样的原理,上述在多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的位置是指,该至少一个3D地图点描述子对应的3D地图点空间位置,在多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的位置顺序,其中,多个3D地图点空间位置或重排序后的多个3D地图点空间位置可以理解为一个序列,在该序列中不同的3D地图点空间位置有先后顺序。
同样的,用{1,2,……,j}表示多个3D地图点空间位置或重排序后的多个3D地图点空间位置,j∈[1,n],j表示对应的3D地图点空间位置的位置顺序。用{1,2,……,k}表示多个3D地图点描述子或重排序后的多个3D地图点描述子,k∈[1,n],k表示对应的3D地图点描述子的位置顺序。该第二对应关系指示信息可以包括用于指示{k→j}的信息,{k→j}表示多个3D地图点描述子或重排序后的多个3D地图点描述子的第k个位置对应多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的第j个位置。
以重排序后的多个3D地图点空间位置为P 4,P 2,P 5,P 3,P 1为例,j=1,用于表示P 4的位置顺序,j=2,用于表示P 2的位置顺序,j=3,用于表示P 5的位置顺序,j=4,用于表示P 3的位置顺序,j=5,用于表示P 1的位置顺序。以重排序后的5个3D地图点描述子为F 2,F 1,F 3,F 5,F 4为例,k=1,用于表示F 2的位置顺序,k=2,用于表示F 1的 位置顺序,k=3,用于表示F 3的位置顺序,k=4,用于表示F 5的位置顺序,k=5,用于表示F 4的位置顺序。该第二对应关系指示信息可以为j=2,j=5,j=4,j=3,j=1,即第二对应关系指示信息为j序列。也即,k=1对应j=2,换言之,F 2对应P 2。k=2对应j=5,换言之,F 1对应P 1。k=3对应j=4,换言之,F 3对应P 3。k=4对应j=3,换言之,F 5对应P 5。k=5对应j=1,换言之,F 4对应P 4
也即第二对应关系指示信息通过指示k对应的j,以使得解压缩时可以基于该第二对应关系指示信息,确定3D地图点空间位置和3D地图点描述子的对应关系。
方式三、对应关系指示信息可以包括至少一个3D地图点的第一对应指示关系信息和至少一个3D地图点的第二对应关系指示信息。该第一对应关系指示信息用于指示多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在多个3D地图点描述子或重排序后的多个3D地图点描述子中的位置。第二对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的位置。
本实现方式可以将方式一和方式二结合,以使得解压缩时可以基于对应关系指示信息,确定3D地图点空间位置和3D地图点描述子的对应关系。例如,对3D地图中的一部分3D地图点,使用第一对应关系指示信息指示3D地图点空间位置和3D地图点描述子的对应关系,对3D地图中的另一部分3D地图点,使用第二对应关系指示信息指示3D地图点空间位置和3D地图点描述子的对应关系。例如,3D地图包括至少一个第一3D地图点和至少一个第二3D地图点,对应关系指示信息可以包括至少一个第一3D地图点的第一对应关系指示信息和至少一个第二3D地图点的第二对应关系指示信息。
需要说明的是,3D地图中的至少一个第一3D地图点和至少一个第二3D地图点,可以通过固定的顺序或者模式决定。例如,3D地图中的前w个3D地图点分别作为第一3D地图点,后n-w个3D地图点分别作为第二3D地图点。w的取值可以是预设阈值。再例如,模式1对应前w个3D地图点分别作为第一3D地图点,后n-w个3D地图点分别作为第二3D地图点。w的取值可以是预设阈值。模式2对应前w个3D地图点分别作为第一3D地图点,第w+1至第s个3D地图点分别作为第二3D地图点,后n-s个3D地图点分别作为第一3D地图点。s的取值可以是预设阈值。对于通过固定的顺序或者模式决定至少一个第一3D地图点和至少一个第二3D地图点的方式还还可以其他方式,例如,不同模式对应不同的w的取值,本申请实施例不一一举例说明。
可选的,在一些实施例中,方式三中的对应关系指示信息还可以包括标志位信息,该标志位信息用于指示至少一个第一3D地图点的第一对应关系指示信息,或用于指示至少一个第二3D地图点的第二对应关系指示信息。例如,该标志位信息为1比特,用0表示第一对应关系指示信息,即j对应的k,用1表示第二对应关系指示信息,即k对应的j。
上述方式一至方式三的对应关系指示信息用于指示3D地图点空间位置对应的3D 地图点描述子,在多个3D地图点描述子或重排序后的多个3D地图点描述子中的位置,或者,用于指示3D地图点描述子对应的3D地图点空间位置,在多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的位置。与方式一至方式三不同,本申请实施例还提供如下方式四,该方式四的对应关系指示信息用于3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置,以及3D地图点描述子对应的3D地图点空间位置,在参考序列中的位置。即通过参考序列,将3D地图点描述子和3D地图点空间位置对应起来。
方式四、对应关系指示信息可以包括至少一个3D地图点的第三对应关系指示信息和至少一个3D地图点的第四对应关系指示信息。该第三对应关系指示信息用于指示多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置。该第四对应关系指示信息用于指示多个3D地图点描述子或重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在参考序列中的位置。
本申请实施例所涉及的位置通常是指在一个参考序列里的位置顺序,例如,上述在参考序列中的位置是指,该至少一个3D地图点空间位置对应的3D地图点描述子,或者,该至少一个3D地图点描述子对应的3D地图点空间位置,在参考序列中的位置顺序。
用{1,2,……,j}表示多个3D地图点空间位置或重排序后的多个3D地图点空间位置,j∈[1,n],j表示对应的3D地图点空间位置的位置顺序。用{1,2,……,k}表示多个3D地图点描述子或重排序后的多个3D地图点描述子,k∈[1,n],k表示对应的3D地图点描述子的位置顺序。用{1,2,……,h}表示参考序列,h∈[1,n],h表示3D地图点描述子或3D地图点空间位置对应的参考序列中的位置顺序。
该第三对应关系指示信息可以包括用于指示{j→h}的信息,{j→h}表示多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的第j个位置对应参考序列的第h个位置。
该第四对应关系指示信息可以包括用于指示{k→h}的信息,{k→h}表示多个3D地图点描述子或重排序后的多个3D地图点描述子中的第k个位置对应参考序列的第h个位置。
以重排序后的多个3D地图点空间位置为P 4,P 2,P 5,P 3,P 1为例,j=1,用于表示P 4的位置顺序,j=2,用于表示P 2的位置顺序,j=3,用于表示P 5的位置顺序,j=4,用于表示P 3的位置顺序,j=5,用于表示P 1的位置顺序。以重排序后的5个3D地图点描述子为F 2,F 1,F 3,F 5,F 4为例,k=1,用于表示F 2的位置顺序,k=2,用于表示F 1的位置顺序,k=3,用于表示F 3的位置顺序,k=4,用于表示F 5的位置顺序,k=5,用于表示F 4的位置顺序。以参考序列为F 1,F 2,F 3,F 4,F 5为例,h=1,用于表示F 1的位置顺序,h=2,用于表示F 2的位置顺序,h=3,用于表示F 3的位置顺序,h=4,用于表示F 4的位置顺序,h=5,用于表示F 5的位置顺序。
该第三对应关系指示信息可以为h=4,h=2,h=5,h=3,h=1。即j=1对应h=4,换言之,P 4对应F 4。j=2对应h=2,换言之,P 2对应F 2。j=3对应h=5,换言之,P 5对应F 5。j=4对应h=3,换言之,P 3对应F 3。j=5对应h=1,换言之,P 1对应F 1。该第四对 应关系指示信息可以为h=2,h=1,h=3,h=5,h=4。即k=1对应h=2,换言之,F 2对应P 2。k=2对应h=1,换言之,F 1对应P 1。k=3对应h=3,换言之,F 3对应P 3。k=4对应h=5,换言之,F 5对应P 5。k=5对应h=4,换言之,F 4对应P 4
也即第三对应关系指示信息通过指示j对应的h,第四对应关系指示信息通过指示k对应的h,以使得解压缩时可以基于该第三对应关系指示信息和第四对应关系指示信息,确定3D地图点空间位置和3D地图点描述子的对应关系。即确定j对应的k,或者确定k对应的j。
下面给出本申请实施例提供的3D地图的解压缩方法。对于下文描述的各方法实施例,为了方便起见,将其都表述为一系列的动作步骤的组合,但是本领域技术人员应该知悉,本申请技术方案的具体实现并不受所描述的一系列的动作步骤的顺序的限制。
参见图6,图6是本申请实施例提供的一种3D地图的解压缩方法的流程示意图,在一些实现中,该方法可应用于电子设备,或者也可以应用于服务器。本申请实施例的用于执行3D地图的解压缩方法的执行主体也可以称之为解压缩端或解码端。该方法包括但不限于以下步骤:
S201、对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置和多个3D地图点描述子。
多个3D地图点空间位置中任一3D地图点空间位置对应3D地图中的一个3D地图点。多个3D地图点描述子中任一3D地图点描述子对应3D地图中的一个3D地图点。
其中,S201中的多个3D地图点的压缩数据可以是经过上述图5所示实施例的压缩处理,得到的压缩数据。本实施例的解压缩可以包括但不限于反预测等处理。
可选的,在一些实施例中,可以对3D地图的码流进行解封装,得到本实施例的多个3D地图点的压缩数据。这里的解封装可以包括但不限于熵解码等处理。
S202、确定多个3D地图点空间位置与多个3D地图点描述子的对应关系,该对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子。
在解压缩端,通过确定解压缩得到的多个3D地图点空间位置与多个3D地图点描述子的对应关系,基于该对应关系,可以将3D地图点空间位置和3D地图点描述子对应起来,从而得到3D地图的重构数据。
一种可实现方式,针对压缩端的对应关系的显示的压缩方式,本实施例中,对多个3D地图点的压缩数据进行解压缩,还可以得到对应关系指示信息。该对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系。根据该对应关系指示信息,可以确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。
另一种可实现方式,针对压缩端的对应关系的隐示的压缩方式,本实施例中,可以根据多个3D地图点描述子的顺序和多个3D地图点空间位置,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。或者,根据多个3D地图点空间位置的顺序和多个3D地图点描述子,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。
例如,解压缩得到的多个3D地图点空间位置为P 4,P 2,P 5,P 3,P 1,解压缩得到 的多个3D地图点描述子为F 2,F 1,F 3,F 5,F 4,通过3D地图点空间位置的莫顿码顺序(P 2,P 1,P 3,P 5,P 4)可以将相同3D地图点的3D地图点空间位置和3D地图点描述子对应起来,即得到{P 2,F 2},{P 1,F 1},{P 3,F 3},{P 5,F 5}和{P 4,F 4}。
需要说明的是,多个3D地图点空间位置的顺序可以是如上所述的莫顿码顺序,也可以是其他顺序,例如,3D地图点空间位置的一个元素的大小顺序,以3D地图点空间位置包括三个维度的坐标为例,P i=(x i,y i,z i),多个3D地图点空间位置的顺序可以是多个3D地图点空间位置中x轴坐标的大小顺序。当然可以理解的,多个3D地图点空间位置的顺序也可以是多个3D地图点空间位置中y轴坐标的大小顺序。本申请实施例不一一举例说明。
对于对应关系指示信息的如上述方式一至方式四的不同的实现方式的具体解释说明,可以参见上述实施例的具体解释说明,此处不再赘述。
S203、根据多个3D地图点空间位置、多个3D地图点描述子和该对应关系,得到3D地图的重构数据。
可以根据多个3D地图点空间位置、多个3D地图点描述子和该对应关系,得到3D地图的重构数据,该重构数据可以用于基于3D地图的定位。
本实施例,通过确定多个3D地图点空间位置与多个3D地图点描述子的对应关系,根据多个3D地图点空间位置、多个3D地图点描述子和该对应关系,得到3D地图的重构数据。压缩端通过根据对应关系进行压缩处理,可以减少3D地图的数据量,并且可以使得在解压缩该压缩数据时,可以还原出该对应关系,以得到3D地图的重构数据。3D地图的数据量的减少,可以相应地减少存储3D地图所需的存储空间或减少传输3D地图所需的传输资源。
下面以服务器作为编码端,电子设备作为解码端为例,对本申请实施例提供的3D地图的压缩和解压缩方法进行举例说明。
参见图7,图7是本申请实施例提供的一种3D地图的编解码方法的流程示意图,该实施例包括服务器和电子设备。本实施例中服务器采用上述方式一或方式二的对应关系指示信息。该方法包括但不限于以下步骤:
S301、服务器对多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置。
用{1,2,……,j}表示重排序后的多个3D地图点空间位置,j∈[1,n],j表示对应的3D地图点空间位置的位置顺序。
S302、服务器对多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子。
用{1,2,……,k}表示重排序后的多个3D地图点描述子,k∈[1,n],k表示对应的3D地图点描述子的位置顺序。
S303、服务器根据多个3D地图点空间位置和多个3D地图点描述子的对应关系,重排序后的多个3D地图点空间位置以及重排序后的多个3D地图点描述子,确定多个3D地图点的第一对应关系指示信息或第二对应关系指示信息。
示例性的,对应关系指示信息可以是上述第一对应关系指示信息。该第一对应关 系指示信息可以包括用于指示{j→k}的信息,{j→k}表示多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的第j个位置对应多个3D地图点描述子或重排序后的多个3D地图点描述子的第k个位置。
示例性的,对应关系指示信息可以是上述第二对应关系指示信息。该第二对应关系指示信息可以包括用于指示{k→j}的信息,{k→j}表示多个3D地图点描述子或重排序后的多个3D地图点描述子的第k个位置对应多个3D地图点空间位置或重排序后的多个3D地图点空间位置中的第j个位置。
S304、服务器对重排序后的多个3D地图点空间位置进行预测和熵编码,得到3D地图点空间位置码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。
S305、服务器对重排序后的多个3D地图点描述子进行预测和熵编码,得到3D地图点描述子码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。
S306、服务器对多个3D地图点的第一对应关系指示信息或第二对应关系指示信息进行预测和熵编码,得到对应关系码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。例如,当对应关系指示信息是上述第一对应关系指示信息时,可以对上述k序列进行残差计算、熵编码等处理,以减少冗余,得到对应关系码流。再例如,当对应关系指示信息可以是第二对应关系指示信息时,可以对上述j序列进行残差计算、熵编码等处理,以减少冗余,得到对应关系码流。
S307、服务器向电子设备发送3D地图的码流,该3D地图的码流包括3D地图点空间位置码流、3D地图点描述子码流和对应关系码流。
S308、电子设备对3D地图的码流进行熵解码和反预测,得到多个3D地图点空间位置、多个3D地图点描述子以及多个3D地图点的第一对应关系指示信息或第二对应关系指示信息。
S309、电子设备根据多个3D地图点的第一对应关系指示信息或第二对应关系指示信息,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。
当对应关系指示信息是上述第一对应关系指示信息时,即k序列时,可以根据该k序列,确定3D地图点空间位置和3D地图点描述子的对应关系。再例如,当对应关系指示信息可以是第二对应关系指示信息时,即j序列时,可以根据该j序列,确定3D地图点空间位置和3D地图点描述子的对应关系。例如,确定{P i,F i}。
S310、电子设备根据多个3D地图点空间位置、多个3D地图点描述子以及该对应关系,得到3D地图的重构数据。
本实施例,服务器通过分别对重排序后的多个3D地图点空间位置、重排序后的多个3D地图点描述子和对应关系指示信息进行预测和熵编码,得到3D地图的码流,可以减少3D地图的数据量,相应的减少传输3D地图所需的传输资源。电子设备根据对应关系指示信息,可以还原出熵解码、反预测得到的多个3D地图点描述子和多个3D地图点空间位置各自的对应关系,以得到3D地图的重构数据。
参见图8,图8是本申请实施例提供的一种3D地图的编解码方法的流程示意图,该实施例包括服务器和电子设备。本实施例中服务器采用上述方式四的对应关系指示信息。该方法包括但不限于以下步骤:
S401、服务器对多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置。
用{1,2,……,j}表示重排序后的多个3D地图点空间位置,j∈[1,n],j表示对应的3D地图点空间位置的位置顺序。
S402、服务器对多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子。
用{1,2,……,k}表示重排序后的多个3D地图点描述子,k∈[1,n],k表示对应的3D地图点描述子的位置顺序。
S403、服务器根据多个3D地图点空间位置和多个3D地图点描述子的对应关系,重排序后的多个3D地图点空间位置以及重排序后的多个3D地图点描述子,确定多个3D地图点的第三对应关系指示信息和第四对应关系指示信息。
示例性的,对应关系指示信息可以包括上述第三对应关系指示信息和上述第四对应关系指示信息。该第三对应关系指示信息可以包括用于指示{j→h}的信息,{j→h}表示重排序后的多个3D地图点空间位置中的第j个位置对应参考序列的第h个位置。该第四对应关系指示信息可以包括用于指示{k→h}的信息,{k→h}表示重排序后的多个3D地图点描述子中的第k个位置对应参考序列的第h个位置。
S404、服务器对重排序后的多个3D地图点空间位置进行预测和熵编码,得到3D地图点空间位置码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。
S405、服务器对重排序后的多个3D地图点描述子进行预测和熵编码,得到3D地图点描述子码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。
S406、服务器对多个3D地图点的第三对应关系指示信息和第四对应关系指示信息进行预测和熵编码,得到对应关系码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。例如,可以对上述{j→h}序列和{k→h}序列进行残差计算、熵编码等处理,以减少冗余,得到对应关系码流。
S407、服务器向电子设备发送3D地图的码流,该3D地图的码流包括3D地图点空间位置码流、3D地图点描述子码流和对应关系码流。
S408、电子设备对3D地图的码流进行熵解码和反预测,得到多个3D地图点空间位置、多个3D地图点描述子以及多个3D地图点的第三对应关系指示信息和第四对应关系指示信息。
S409、电子设备根据多个3D地图点的第三对应关系指示信息和第四对应关系指示信息,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。
可以根据{j→h}序列和{k→h}序列,确定3D地图点空间位置和3D地图点描述子的对应关系。例如,确定{P i,F i}。
S410、电子设备根据多个3D地图点空间位置、多个3D地图点描述子以及该对应关系,得到3D地图的重构数据。
本实施例,服务器通过分别对重排序后的多个3D地图点空间位置、重排序后的多个3D地图点描述子和对应关系指示信息进行预测和熵编码,得到3D地图的码流,可以减少3D地图的数据量,相应的减少传输3D地图所需的传输资源。电子设备根据对应关系指示信息,可以还原出熵解码、反预测得到的多个3D地图点描述子和多个3D地图点空间位置各自的对应关系,以得到3D地图的重构数据。
参见图9,图9是本申请实施例提供的一种3D地图的编解码方法的流程示意图,该实施例包括服务器和电子设备。本实施例中服务器采用上述方式三的对应关系指示信息。该方法包括但不限于以下步骤:
S501、服务器对多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置。
用{1,2,……,j}表示重排序后的多个3D地图点空间位置,j∈[1,n],j表示对应的3D地图点空间位置的位置顺序。
S502、服务器对多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子。
用{1,2,……,k}表示重排序后的多个3D地图点描述子,k∈[1,n],k表示对应的3D地图点描述子的位置顺序。
S503、服务器根据多个3D地图点空间位置和多个3D地图点描述子的对应关系,重排序后的多个3D地图点空间位置以及重排序后的多个3D地图点描述子,确定至少一个第一地图点的第一对应关系指示信息和至少一个第二地图点的第二对应关系指示信息。
示例性的,该多个3D地图点中任意一个地图点的第一对应关系指示信息可以包括用于指示{j→k}的信息,{j→k}表示重排序后的多个3D地图点空间位置中的第j个位置对应重排序后的多个3D地图点描述子的第k个位置。该多个3D地图点中任意一个地图点的第二对应关系指示信息可以包括用于指示{k→j}的信息,{k→j}表示重排序后的多个3D地图点描述子的第k个位置对应重排序后的多个3D地图点空间位置中的第j个位置。
该多个3D地图点中任意一个地图点可以作为第一地图点,将自身的第一对应关系指示信息或第一对应关系指示信息的残差写入码流,或者,作为第二地图点,将自身的第二对应关系指示信息或第二对应关系指示信息的残差写入码流。在一个实施例中,可以基于已编码的3D地图点的第一对应关系指示信息和第二对应关系指示信息确定写入码流的对应关系指示信息。
以当前3D地图点为例,可以根据当前3D地图点的第一对应关系指示信息,和至少一个已压缩的3D地图点的第一对应关系指示信息,确定当前3D地图点的第一残差。根据当前3D地图点的第二对应关系指示信息,和至少一个已压缩的3D地图点的第二对应关系指示信息,确定当前3D地图点的第二残差。根据第一残差和第二残差,确定当前地图点的对应关系指示信息。
示例性的,若第一残差小于或等于第二残差,确定当前地图点的对应关系指示信息为当前地图点的第一残差。若第一残差大于第二残差,确定当前地图点的对应关系指示信息为当前地图点的第二残差。
例如,对任意一个地图点,计算{j→k}和{k→j}与上一组已写入码流的{j→k}和{k→j}的残差,选择将较小的残差作为对应关系指示信息写入码流。例如,将k的残差写入码流或将j的残差写入码流。该对应关系指示信息还可以包括1比特的标志位信息,例如,0表示该地图点的k的残差,1表示该地图点的j的残差。
S504、服务器对重排序后的多个3D地图点空间位置进行预测和熵编码,得到3D地图点空间位置码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。
S505、服务器对重排序后的多个3D地图点描述子进行预测和熵编码,得到3D地图点描述子码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。
S506、服务器对至少一个第一地图点的第一对应关系指示信息和至少一个第二地图点的第二对应关系指示信息进行预测和熵编码,得到对应关系码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。
S507、服务器向电子设备发送3D地图的码流,该3D地图的码流包括3D地图点空间位置码流、3D地图点描述子码流和对应关系码流。
S508、电子设备对3D地图的码流进行熵解码和反预测,得到多个3D地图点空间位置、多个3D地图点描述子以及至少一个第一地图点的第一对应关系指示信息和至少一个第二地图点的第二对应关系指示信息。
S509、电子设备根据至少一个第一地图点的第一对应关系指示信息和至少一个第二地图点的第二对应关系指示信息,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。
可以根据{j→k}序列和{k→j}序列,确定3D地图点空间位置和3D地图点描述子的对应关系。例如,确定{P i,F i}。
S510、电子设备根据多个3D地图点空间位置、多个3D地图点描述子以及该对应关系,得到3D地图的重构数据。
本实施例,服务器通过分别对重排序后的多个3D地图点空间位置、重排序后的多个3D地图点描述子和对应关系指示信息进行预测和熵编码,得到3D地图的码流,可以减少3D地图的数据量,相应的减少传输3D地图所需的传输资源。电子设备根据对应关系指示信息,可以还原出熵解码、反预测得到的多个3D地图点描述子和多个3D地图点空间位置各自的对应关系,以得到3D地图的重构数据。
参见图10,图10是本申请实施例提供的一种3D地图的编解码方法的流程示意图,该实施例包括服务器和电子设备。本实施例中服务器采用上述对应关系的隐式的压缩方式。该方法包括但不限于以下步骤:
S601、服务器对多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置。
用{1,2,……,j}表示重排序后的多个3D地图点空间位置,j∈[1,n],j表示对应的3D地图点空间位置的位置顺序。
S602、服务器根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,对多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子。
用{1,2,……,k}表示重排序后的多个3D地图点描述子,k∈[1,n],k表示对应的3D地图点描述子的位置顺序。
重排序后的多个3D地图点描述子的位置顺序,可以与多个3D地图点描述子对应的3D地图点空间位置有关。
S603、服务器对重排序后的多个3D地图点空间位置进行预测和熵编码,得到3D地图点空间位置码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。
S604、服务器对重排序后的多个3D地图点描述子进行预测和熵编码,得到3D地图点描述子码流。
本申请实施例对预测和熵编码的具体实现方式不作具体限定。
S605、服务器向电子设备发送3D地图的码流,该3D地图的码流包括3D地图点空间位置码流和3D地图点描述子码流。
S606、电子设备对3D地图的码流进行熵解码和反预测,得到多个3D地图点空间位置和多个3D地图点描述子。
S607、电子设备根据多个3D地图点描述子的顺序和多个3D地图点空间位置,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。
例如,熵解码和反预测得到多个3D地图点描述子中的第一个3D地图点描述子,与多个3D地图点空间位置中x坐标最大的3D地图点空间位置对应,第二个3D地图点描述子,与多个3D地图点空间位置中x坐标第二大的3D地图点空间位置对应,以此类推,确定多个3D地图点空间位置与多个3D地图点描述子的对应关系。例如,确定{P i,F i}。
S608、电子设备根据多个3D地图点空间位置、多个3D地图点描述子以及该对应关系,得到3D地图的重构数据。
本实施例,服务器通过分别对重排序后的多个3D地图点空间位置和重排序后的多个3D地图点描述子进行预测和熵编码,得到3D地图的码流,可以减少3D地图的数据量,相应的减少传输3D地图所需的传输资源。服务器利用3D地图点空间位置决定重排序后的3D地图点描述子的顺序,使得电子设备可以还原出熵解码、反预测得到的多个3D地图点描述子和多个3D地图点空间位置各自的对应关系,以得到3D地图的重构数据。
可以理解的,与图10所示实施例相同的实现原理,在一些实施例中,也可以利用3D地图点描述子决定3D地图点空间位置的顺序。例如,可以根据多个3D地图点空间位置与多个3D地图点描述子的对应关系,对多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置,对重排序后的多个3D地图点空间位置进行预测和熵编码,得到3D地图点空间位置码流。其技术效果与图10所示实施例的技术效果相同,本申请实施例对此不再赘述。
上文结合附图对本申请实施例的3D地图的压缩方法和解压缩方法进行了详细的介绍,下面结合图11至图13对本申请实施例的3D地图的压缩装置和解压缩装置进行介绍。应理解,3D地图的压缩装置能够执行本申请实施例的3D地图的压缩方法,3D地图的解压缩装置能够执行本申请实施例的3D地图的解压缩方法。为了避免不必要的重复,下面在介绍本申请实施例的3D地图的压缩装置和解压缩装置时适当省略重复的描述。
参见图11,图11为本申请实施例提供的一种3D地图的压缩装置的结构示意图。如图11所示,该3D地图的压缩装置1100可以包括:压缩模块1101和存储模块1102。或者,该3D地图的压缩装置1100可以包括:压缩模块1101和封装模块1103。
压缩模块1101,用于获取多个3D地图点空间位置和多个3D地图点描述子,所述多个3D地图点空间位置中任一3D地图点空间位置对应所述3D地图中的一个3D地图点,所述多个3D地图点描述子中任一3D地图点描述子对应所述3D地图中的一个3D地图点;确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,所述对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子;对所述多个3D地图点空间位置、所述多个3D地图点描述子和所述对应关系进行压缩处理,或者根据所述对应关系,对所述多个3D地图点空间位置和所述多个3D地图点描述子进行压缩处理,得到多个3D地图点的压缩数据。
存储模块1102,用于存储所述多个3D地图点的压缩数据。或者,封装模块1103,用于对所述多个3D地图点的压缩数据进行封装,得到所述3D地图的码流。
在一些实施例中,压缩模块用于1101:根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系、所述多个3D地图点空间位置或重排序后的多个3D地图点空间位置、和所述多个3D地图点描述子或重排序后的多个3D地图点描述子,确定对应关系指示信息,所述对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系;分别对所述多个3D地图点空间位置或重排序后的多个3D地图点空间位置、所述多个3D地图点描述子或重排序后的多个3D地图点描述子、和所述对应关系指示信息进行压缩处理。
在一些实施例中,压缩模块1101用于:根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,对所述多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子;对所述多个3D地图点空间位置和所述重排序后的多个3D地图点描述子进行压缩处理;或者,根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,对所述多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置;对所述多个3D地图点描述子和所述重排序后的多个3D地图点空间位置进行压缩处理。
在一些实施例中,上述3D地图的压缩装置还可以包括传输模块1104,用于接收电子设备发送的3D地图请求信息,响应于所述3D地图请求信息,向所述电子设备发送所述3D地图请求信息对应的所述3D地图的码流;或者,向服务器发送所述3D地图的码流。
需要说明的是,3D地图的压缩装置1100可以执行图5所示实施例的3D地图的压缩装置方法,或者,执行图7所示实施例的S301-S306的相关内容,或者,执行图8所示实 施例的S401-S406的相关内容,或者,执行图9所示实施例的S501-S506的相关内容,或者,或者,执行图10所示实施例的S601-S604的相关内容。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
参见图12,图12为本申请实施例提供的一种3D地图的解压缩装置的结构示意图。如图12所示,该3D地图的解压缩装置1200可以包括:解压缩模块1201和存储模块1202。或者,该3D地图的解压缩装置1200可以包括:解压缩模块1201和解封装模块1203。
解压缩模块1201,用于从存储模块1202获取多个3D地图点的压缩数据,或者,通过解封装模块1203获取多个3D地图点的压缩数据。
解压缩模块1201,还用于对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置和多个3D地图点描述子;所述多个3D地图点空间位置中任一3D地图点空间位置对应所述3D地图中的一个3D地图点;所述多个3D地图点描述子中任一3D地图点描述子对应所述3D地图中的一个3D地图点;确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,所述对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子;根据多个3D地图点空间位置、多个3D地图点描述子和所述对应关系,得到所述3D地图的重构数据。
在一些实施例中,解压缩模块1201用于:对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置、多个3D地图点描述子和对应关系指示信息;所述对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系;根据所述对应关系指示信息,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系。
在一些实施例中,解压缩模块1201用于:根据所述多个3D地图点描述子的顺序和所述多个3D地图点空间位置,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系;或者,根据所述多个3D地图点空间位置的顺序和所述多个3D地图点描述子,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系。
在一些实施例中,解封装模块1203用于对所述3D地图的码流进行解封装,得到所述多个3D地图点的压缩数据。
在一些实施例中,上述解压缩装置还包括传输模块1204,用于:向服务器发送3D地图请求信息,接收所述服务器发送的所述3D地图请求信息对应的所述3D地图的码流;或者,接收电子设备发送的所述3D地图的码流。
需要说明的是,3D地图的解压缩装置1200可以执行图6所示实施例的3D地图的解压缩装置方法,或者,执行图7所示实施例的S308-S310的相关内容,或者,执行图8所示实施例的S408-S410的相关内容,或者,执行图9所示实施例的S508-S510的相关内容,或者,或者,执行图10所示实施例的S606-S608的相关内容。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
图13为用于本申请实施例的译码装置1300的一种实现方式的示意性框图。其中,获取装置1300可以包括处理器1301、存储器1302和总线系统1303。其中,处理器1301和存储器1302通过总线系统1303相连,该存储器1302用于存储指令,该处理器1301用于执行该存储器1302存储的指令,以执行本申请描述的各种3D地图的压缩或解压缩方法。 为避免重复,这里不再详细描述。
在本申请实施例中,该处理器1301可以是中央处理单元(central processingunit,CPU),该处理器1301还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1302可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器1302。存储器1302可以包括由处理器1301使用总线1303访问的代码和数据13021。存储器1302可以进一步包括操作系统13023和应用程序13022,该应用程序13022包括允许处理器1301执行本申请描述的3D地图的压缩或解压缩方法的至少一个程序。例如,应用程序13022可以包括应用1至N,其进一步包括执行在本申请描述的3D地图的压缩或解压缩方法的3D地图的压缩或解压缩应用(简称3D地图译码应用)。
该总线系统1303除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1303。
可选的,译码装置1300还可以包括一个或多个输出设备,诸如显示器1304。在一个示例中,显示器1304可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1304可以经由总线1303连接到处理器1301。
需要指出的是,译码装置1300可以执行本申请中的3D地图的压缩方法,也可执行本申请中的3D地图的解压缩方法。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范 围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (50)

  1. 一种3D地图的压缩方法,其特征在于,包括:
    获取多个3D地图点空间位置和多个3D地图点描述子,所述多个3D地图点空间位置中任一3D地图点空间位置对应所述3D地图中的一个3D地图点,所述多个3D地图点描述子中任一3D地图点描述子对应所述3D地图中的一个3D地图点;
    确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,所述对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子;
    对所述多个3D地图点空间位置、所述多个3D地图点描述子和所述对应关系进行压缩处理,或者根据所述对应关系,对所述多个3D地图点空间位置和所述多个3D地图点描述子进行压缩处理,得到多个3D地图点的压缩数据。
  2. 根据权利要求1所述的方法,其特征在于,所述对所述多个3D地图点空间位置、所述多个3D地图点描述子和所述对应关系进行压缩处理,包括:
    根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系、所述多个3D地图点空间位置或重排序后的多个3D地图点空间位置、和所述多个3D地图点描述子或重排序后的多个3D地图点描述子,确定对应关系指示信息,所述对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系;分别对所述多个3D地图点空间位置或重排序后的多个3D地图点空间位置、所述多个3D地图点描述子或重排序后的多个3D地图点描述子、和所述对应关系指示信息进行压缩处理。
  3. 根据权利要求2所述的方法,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息;
    所述第一对应关系指示信息用于指示所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的位置。
  4. 根据权利要求2所述的方法,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第二对应关系指示信息;
    所述第二对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的位置。
  5. 根据权利要求2所述的方法,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第一对应指示关系信息和至少一个3D地图点的第二对应关系指示信息;
    所述第一对应关系指示信息用于指示所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的位置;
    所述第二对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的位置。
  6. 根据权利要求5所述的方法,其特征在于,所述多个3D地图点包括至少一个第一3D地图点和至少一个第二3D地图点,所述对应关系指示信息包括所述至少一个第 一3D地图点的第一对应关系指示信息和所述至少一个第二3D地图点的第二对应关系指示信息。
  7. 根据权利要求6所述的方法,其特征在于,所述对应关系指示信息还包括标志位信息,所述标志位信息用于指示所述至少一个第一3D地图点的第一对应关系指示信息或所述至少一个第二3D地图点的第二对应关系指示信息。
  8. 根据权利要求7所述的方法,其特征在于,所述多个3D地图点包括当前3D地图点,所述方法还包括:
    根据所述当前3D地图点的第一对应关系指示信息,和至少一个已压缩的3D地图点的第一对应关系指示信息,确定所述当前3D地图点的第一残差;
    根据所述当前3D地图点的第二对应关系指示信息,和所述至少一个已压缩的3D地图点的第二对应关系指示信息,确定所述当前3D地图点的第二残差;
    根据所述第一残差和所述第二残差,确定所述当前地图点的对应关系指示信息。
  9. 根据权利要求8所述的方法,其特征在于,所述根据所述第一残差和所述第二残差,确定所述当前地图点的对应关系指示信息,包括:
    若所述第一残差小于或等于所述第二残差,确定所述当前地图点的对应关系指示信息为所述当前地图点的第一残差;
    若所述第一残差大于所述第二残差,确定所述当前地图点的对应关系指示信息为所述当前地图点的第二残差。
  10. 根据权利要求2所述的方法,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第三对应关系指示信息和至少一个3D地图点的第四对应关系指示信息;
    所述第三对应关系指示信息用于指示所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置;
    所述第四对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述参考序列中的位置。
  11. 根据权利要求1所述的方法,其特征在于,所述根据所述对应关系,对所述多个3D地图点空间位置和所述多个3D地图点描述子进行压缩处理,包括:
    根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,对所述多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子;对所述多个3D地图点空间位置和所述重排序后的多个3D地图点描述子进行压缩处理;或者,
    根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,对所述多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置;对所述多个3D地图点描述子和所述重排序后的多个3D地图点空间位置进行压缩处理。
  12. 根据权利要求1至11任一项所述的方法,其特征在于,所述方法还包括:
    对所述多个3D地图点的压缩数据进行封装,得到所述3D地图的码流。
  13. 根据权利要求12所述的方法,其特征在于,所述方法还包括:
    接收电子设备发送的3D地图请求信息,响应于所述3D地图请求信息,向所述电子设备发送所述3D地图请求信息对应的所述3D地图的码流;或者,
    向服务器发送所述3D地图的码流。
  14. 一种3D地图的解压缩方法,其特征在于,包括:
    对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置和多个3D地图点描述子;所述多个3D地图点空间位置中任一3D地图点空间位置对应所述3D地图中的一个3D地图点;所述多个3D地图点描述子中任一3D地图点描述子对应所述3D地图中的一个3D地图点;
    确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,所述对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子;
    根据多个3D地图点空间位置、多个3D地图点描述子和所述对应关系,得到所述3D地图的重构数据。
  15. 根据权利要求14所述的方法,其特征在于,所述对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置和多个3D地图点描述子,包括:
    对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置、多个3D地图点描述子和对应关系指示信息;所述对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系;
    所述确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,包括:
    根据所述对应关系指示信息,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系。
  16. 根据权利要求15所述的方法,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息;
    所述第一对应关系指示信息用于指示所述多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子中的位置。
  17. 根据权利要求15所述的方法,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第二对应关系指示信息;
    所述第二对应关系指示信息用于指示所述多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置中的位置。
  18. 根据权利要求15所述的方法,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息和至少一个3D地图点的第二对应关系指示信息;
    所述第一对应关系指示信息用于指示所述多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子中的位置;
    所述第二对应关系指示信息用于指示所述多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置中的位置。
  19. 根据权利要求18所述的方法,其特征在于,所述多个3D地图点包括至少一个第一3D地图点和至少一个第二3D地图点,所述对应关系指示信息包括所述至少一个 第一3D地图点的第一对应关系指示信息和所述至少一个第二3D地图点的第二对应关系指示信息。
  20. 根据权利要求19所述的方法,其特征在于,所述对应关系指示信息还包括标志位信息,所述标志位信息用于指示所述至少一个第一3D地图点的第一对应关系指示信息或至少所述至少一个第二3D地图点的第二对应关系指示信息。
  21. 根据权利要求15所述的方法,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第三对应关系指示信息和至少一个3D地图点的第四对应关系指示信息;
    所述第三对应关系指示信息用于指示所述多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置;
    所述第四对应关系指示信息用于指示所述多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述参考序列中的位置。
  22. 根据权利要求14所述的方法,其特征在于,所述确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,包括:
    根据所述多个3D地图点描述子的顺序和所述多个3D地图点空间位置,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系;或者,
    根据所述多个3D地图点空间位置的顺序和所述多个3D地图点描述子,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系。
  23. 根据权利要求14至22任一项所述的方法,其特征在于,所述方法还包括:
    对所述3D地图的码流进行解封装,得到所述多个3D地图点的压缩数据。
  24. 根据权利要求23所述的方法,其特征在于,所述方法还包括:
    向服务器发送3D地图请求信息,接收所述服务器发送的所述3D地图请求信息对应的所述3D地图的码流;或者,
    接收电子设备发送的所述3D地图的码流。
  25. 一种3D地图的压缩装置,其特征在于,包括:
    压缩模块,用于获取多个3D地图点空间位置和多个3D地图点描述子,所述多个3D地图点空间位置中任一3D地图点空间位置对应所述3D地图中的一个3D地图点,所述多个3D地图点描述子中任一3D地图点描述子对应所述3D地图中的一个3D地图点;确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,所述对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子;对所述多个3D地图点空间位置、所述多个3D地图点描述子和所述对应关系进行压缩处理,或者根据所述对应关系,对所述多个3D地图点空间位置和所述多个3D地图点描述子进行压缩处理,得到多个3D地图点的压缩数据;
    存储模块,用于存储所述多个3D地图点的压缩数据;或者,封装模块,用于对所述多个3D地图点的压缩数据进行封装,得到所述3D地图的码流。
  26. 根据权利要求25所述的装置,其特征在于,所述压缩模块用于:根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系、所述多个3D地图点空间位置或重排序后的多个3D地图点空间位置、和所述多个3D地图点描述子或重排序 后的多个3D地图点描述子,确定对应关系指示信息,所述对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系;分别对所述多个3D地图点空间位置或重排序后的多个3D地图点空间位置、所述多个3D地图点描述子或重排序后的多个3D地图点描述子、和所述对应关系指示信息进行压缩处理。
  27. 根据权利要求26所述的装置,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息;
    所述第一对应关系指示信息用于指示所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的位置。
  28. 根据权利要求26所述的装置,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第二对应关系指示信息;
    所述第二对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的位置。
  29. 根据权利要求26所述的装置,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第一对应指示关系信息和至少一个3D地图点的第二对应关系指示信息;
    所述第一对应关系指示信息用于指示所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的位置;
    所述第二对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的位置。
  30. 根据权利要求29所述的装置,其特征在于,所述多个3D地图点包括至少一个第一3D地图点和至少一个第二3D地图点,所述对应关系指示信息包括所述至少一个第一3D地图点的第一对应关系指示信息和所述至少一个第二3D地图点的第二对应关系指示信息。
  31. 根据权利要求30所述的装置,其特征在于,所述对应关系指示信息还包括标志位信息,所述标志位信息用于指示所述至少一个第一3D地图点的第一对应关系指示信息或所述至少一个第二3D地图点的第二对应关系指示信息。
  32. 根据权利要求31所述的装置,其特征在于,所述多个3D地图点包括当前3D地图点,所述压缩模块还用于:根据所述当前3D地图点的第一对应关系指示信息,和至少一个已压缩的3D地图点的第一对应关系指示信息,确定所述当前3D地图点的第一残差;根据所述当前3D地图点的第二对应关系指示信息,和所述至少一个已压缩的3D地图点的第二对应关系指示信息,确定所述当前3D地图点的第二残差;根据所述第一残差和所述第二残差,确定所述当前地图点的对应关系指示信息。
  33. 根据权利要求32所述的装置,其特征在于,所述压缩模块用于:若所述第一残差小于或等于所述第二残差,确定所述当前地图点的对应关系指示信息为所述当前地图点的第一残差;若所述第一残差大于所述第二残差,确定所述当前地图点的对应关 系指示信息为所述当前地图点的第二残差。
  34. 根据权利要求26所述的装置,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第三对应关系指示信息和至少一个3D地图点的第四对应关系指示信息;
    所述第三对应关系指示信息用于指示所述多个3D地图点空间位置或所述重排序后的多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置;
    所述第四对应关系指示信息用于指示所述多个3D地图点描述子或所述重排序后的多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述参考序列中的位置。
  35. 根据权利要求25所述的装置,其特征在于,所述压缩模块用于:根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,对所述多个3D地图点描述子进行重排序,得到重排序后的多个3D地图点描述子;对所述多个3D地图点空间位置和所述重排序后的多个3D地图点描述子进行压缩处理;或者,根据所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,对所述多个3D地图点空间位置进行重排序,得到重排序后的多个3D地图点空间位置;对所述多个3D地图点描述子和所述重排序后的多个3D地图点空间位置进行压缩处理。
  36. 根据权利要求25至35任一项所述的装置,其特征在于,所述装置还包括传输模块,用于接收电子设备发送的3D地图请求信息,响应于所述3D地图请求信息,向所述电子设备发送所述3D地图请求信息对应的所述3D地图的码流;或者,向服务器发送所述3D地图的码流。
  37. 一种3D地图的解压缩装置,其特征在于,包括:
    解压缩模块,用于从存储模块获取多个3D地图点的压缩数据,或者,通过解封装模块获取多个3D地图点的压缩数据;
    所述解压缩模块,还用于对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置和多个3D地图点描述子;所述多个3D地图点空间位置中任一3D地图点空间位置对应所述3D地图中的一个3D地图点;所述多个3D地图点描述子中任一3D地图点描述子对应所述3D地图中的一个3D地图点;确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系,所述对应关系用于表示对应相同的3D地图点的3D地图点空间位置和3D地图点描述子;根据多个3D地图点空间位置、多个3D地图点描述子和所述对应关系,得到所述3D地图的重构数据。
  38. 根据权利要求37所述的装置,其特征在于,所述解压缩模块用于:对多个3D地图点的压缩数据进行解压缩,得到多个3D地图点空间位置、多个3D地图点描述子和对应关系指示信息;所述对应关系指示信息用于表示3D地图点空间位置与3D地图点描述子的对应关系;根据所述对应关系指示信息,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系。
  39. 根据权利要求38所述的装置,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息;
    所述第一对应关系指示信息用于指示所述多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子中的位置。
  40. 根据权利要求38所述的装置,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第二对应关系指示信息;
    所述第二对应关系指示信息用于指示所述多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置中的位置。
  41. 根据权利要求38所述的装置,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第一对应关系指示信息和至少一个3D地图点的第二对应关系指示信息;
    所述第一对应关系指示信息用于指示所述多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在所述多个3D地图点描述子中的位置;
    所述第二对应关系指示信息用于指示所述多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述多个3D地图点空间位置中的位置。
  42. 根据权利要求41所述的装置,其特征在于,所述多个3D地图点包括至少一个第一3D地图点和至少一个第二3D地图点,所述对应关系指示信息包括所述至少一个第一3D地图点的第一对应关系指示信息和所述至少一个第二3D地图点的第二对应关系指示信息。
  43. 根据权利要求42所述的装置,其特征在于,所述对应关系指示信息还包括标志位信息,所述标志位信息用于指示所述至少一个第一3D地图点的第一对应关系指示信息或至少所述至少一个第二3D地图点的第二对应关系指示信息。
  44. 根据权利要求38所述的装置,其特征在于,所述对应关系指示信息包括至少一个3D地图点的第三对应关系指示信息和至少一个3D地图点的第四对应关系指示信息;
    所述第三对应关系指示信息用于指示所述多个3D地图点空间位置中的至少一个3D地图点空间位置对应的3D地图点描述子,在参考序列中的位置;
    所述第四对应关系指示信息用于指示所述多个3D地图点描述子中的至少一个3D地图点描述子对应的3D地图点空间位置,在所述参考序列中的位置。
  45. 根据权利要求37所述的装置,其特征在于,所述解压缩模块用于:根据所述多个3D地图点描述子的顺序和所述多个3D地图点空间位置,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系;或者,根据所述多个3D地图点空间位置的顺序和所述多个3D地图点描述子,确定所述多个3D地图点空间位置与所述多个3D地图点描述子的对应关系。
  46. 根据权利要求37至45任一项所述的装置,其特征在于,所述解封装模块用于对所述3D地图的码流进行解封装,得到所述多个3D地图点的压缩数据。
  47. 根据权利要求46所述的装置,其特征在于,所述装置还包括传输模块,用于:向服务器发送3D地图请求信息,接收所述服务器发送的所述3D地图请求信息对应的所述3D地图的码流;或者,接收电子设备发送的所述3D地图的码流。
  48. 一种3D地图的压缩装置,其特征在于,包括:
    一个或多个处理器;
    存储器,用于存储一个或多个程序;
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一项所述的方法。
  49. 一种3D地图的解压缩装置,其特征在于,包括:
    一个或多个处理器;
    存储器,用于存储一个或多个程序;
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求14-24中任一项所述的方法。
  50. 一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行权利要求1-24中任一项所述的方法。
CN202180098946.4A 2021-06-04 2021-06-04 3d地图的压缩、解压缩方法和装置 Pending CN117413261A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/098486 WO2022252238A1 (zh) 2021-06-04 2021-06-04 3d地图的压缩、解压缩方法和装置

Publications (1)

Publication Number Publication Date
CN117413261A true CN117413261A (zh) 2024-01-16

Family

ID=84323769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180098946.4A Pending CN117413261A (zh) 2021-06-04 2021-06-04 3d地图的压缩、解压缩方法和装置

Country Status (3)

Country Link
EP (1) EP4343574A4 (zh)
CN (1) CN117413261A (zh)
WO (1) WO2022252238A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110093258A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 맵 데이터 송수신 장치 및 방법
JP7331831B2 (ja) * 2018-03-15 2023-08-23 ソニーグループ株式会社 画像処理装置および方法
CN109754468A (zh) * 2018-12-25 2019-05-14 网易(杭州)网络有限公司 一种地图压缩方法和装置
CN110209750B (zh) * 2019-05-08 2022-04-26 杭州迦智科技有限公司 地图处理方法、装置、存储介质及处理器
CN111639147B (zh) * 2020-04-24 2021-02-05 视辰信息科技(上海)有限公司 一种地图压缩方法、系统及计算机可读存储介质
CN112200879B (zh) * 2020-10-30 2022-06-14 浙江大学 一种地图轻量化压缩传输方法

Also Published As

Publication number Publication date
EP4343574A4 (en) 2024-06-26
WO2022252238A1 (zh) 2022-12-08
EP4343574A1 (en) 2024-03-27

Similar Documents

Publication Publication Date Title
CN112785700B (zh) 虚拟物体显示方法、全局地图更新方法以及设备
US20240111793A1 (en) Method and apparatus for retrieving 3d map
WO2022252238A1 (zh) 3d地图的压缩、解压缩方法和装置
CN115442338B (zh) 3d地图的压缩、解压缩方法和装置
WO2022252236A1 (zh) 3d地图的编解码方法及装置
WO2022252237A1 (zh) 3d地图的编解码方法及装置
WO2022252234A1 (zh) 3d地图的编码装置和方法
WO2022252235A1 (zh) 3d地图的解码装置和方法、及3d地图的编码码流

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination