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

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

Info

Publication number
CN115442338A
CN115442338A CN202110823842.7A CN202110823842A CN115442338A CN 115442338 A CN115442338 A CN 115442338A CN 202110823842 A CN202110823842 A CN 202110823842A CN 115442338 A CN115442338 A CN 115442338A
Authority
CN
China
Prior art keywords
descriptor
compact representation
map
substring
decoded
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
CN202110823842.7A
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
Priority to EP22815272.4A priority Critical patent/EP4336779A1/en
Priority to KR1020247000350A priority patent/KR20240017917A/ko
Priority to PCT/CN2022/096261 priority patent/WO2022253228A1/zh
Publication of CN115442338A publication Critical patent/CN115442338A/zh
Priority to US18/528,022 priority patent/US20240104781A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals

Abstract

本申请实施例公开了一种3D地图的压缩、解压缩方法和装置。涉及3D地图的压缩技术领域。所述压缩方法包括:对待编码描述子进行紧凑化处理,得到所述待编码描述子的第一紧凑化表示,所述待编码描述子对应所述3D地图中的至少一个3D地图点,获取所述待编码描述子对应的至少一个参考描述子的紧凑化表示,根据所述待编码描述子的第一紧凑化表示和所述至少一个参考描述子的紧凑化表示,得到待编码描述子的第二紧凑化表示,对所述第二紧凑化表示进行封装,得到所述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地图的码流。
一种可能的设计中,第一紧凑化表示的数据分布与第二紧凑化表示的数据分布不同。
本申请实施例紧凑化表示(例如第一紧凑化表示或第二紧凑化表示)的数据分布是指紧凑化表示中的二进制数(0、1)的分布。本申请实施例通过改变紧凑化表示的数据分布,以减少后续经过封装得到的3D地图的码流的数据量,例如,使3D地图的数据量从太字节(Terabyte,TB)级减少至千兆字节(Gigabyte,GB)级,从而减少传输该3D地图的码流所需的资源开销。相较于第一紧凑化表示的数据分布,本申请实施例的第二紧凑化表示的0的分布更加密集,或者,1的分布更加密集。
一种可能的设计中,待编码描述子的第一紧凑化表示包括待编码描述子的至少一个第一紧凑化表示子串,待编码描述子的第二紧凑化表示包括待编码描述子的至少一个第二紧凑化表示子串。至少一个第一紧凑化表示子串与至少一个第二紧凑化表示子串不同。
示例性的,至少一个第一紧凑化表示子串各自分别与对应的第二紧凑化表示子串不同。例如,第一紧凑化表示包括3个第一紧凑化表示子串(A1、A2和A3),第二紧凑化表示包括3个第二紧凑化表示子串(B1、B2和B3),其中,A1与B1不同,A2与B2不同,A3与B3不同。
一种可能的设计中,至少一个第二紧凑化表示子串中部分或全部小于或等于对应的第一紧凑化表示子串。或者,至少一个第二紧凑化表示子串中部分或全部大于或等于对应的第一紧凑化表示子串。
本实现方式中,通过第一表映射或第二表映射或异或映射或差值映射,使得至少一个第二紧凑化表示子串中部分或全部小于或等于对应的第一紧凑化表示子串,将第一紧凑化表示子串朝着第一方向映射,该第一方向可以是数值较小的方向,从而提升第二紧凑化表示的0的分布密集度,以减少后续经过封装得到的3D地图的码流的数据量。或者,通过第一表映射或第二表映射或异或映射或差值映射,使得至少一个第二紧凑化表示子串中部分或全部大于或等于对应的第一紧凑化表示子串,将第一紧凑化表示子串朝着第二方向映射,该第二方向可以是数值较大的方向,从而提升第二紧凑化表示的1的分布密集度,以减少后续经过封装得到的3D地图的码流的数据量。
一种可能的设计中,根据待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,得到待编码描述子的第二紧凑化表示,可以包括:根据待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,通过查第一表,得到待编码描述子的第二紧凑化表示。
一种可能的设计中,第一表包括至少一个编码紧凑化表示子串和至少一个第二参考紧凑化表示子串对应的至少一个第三紧凑化表示子串。待编码描述子的第一紧凑化表示包括待编码描述子的至少一个第一紧凑化表示子串。至少一个编码紧凑化表示子串包括至少一个第一紧凑化表示子串,至少一个第二参考紧凑化表示子串包括至少一个参考描述子的至少一个第一参考紧凑化表示子串。根据待编码描述子的第一紧凑化表示和参考描述子的紧凑化表示,通过查第一表,得到待编码描述子的第二紧凑化表示,可以包括:根据待编码描述子的至少一个第一紧凑化表示子串和待编码描述子对应的参考描述子的至少一个第一参考紧凑化表示子串,从第一表中,获取至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串。根据至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串,得到待编码描述子的第二紧凑化表示。
一种可能的设计中,第一表为多维数组,多维数组中的各个元素分别对应至少一个编码紧凑化表示子串或至少一个第二参考紧凑化表示子串。
一种可能的设计中,根据待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,得到待编码描述子的第二紧凑化表示,可以包括:根据待编码描述子的第一紧凑化表示,通过查第二表,得到待编码描述子的第二紧凑化表示。第二表是基于至少一个参考描述子的紧凑化表示建立的。
一种可能的设计中,待编码描述子的第一紧凑化表示包括待编码描述子的至少一个第一紧凑化表示子串。至少一个参考描述子的紧凑化表示包括至少一个第一参考紧凑化表示子串。第二表包括至少一个第一参考紧凑化表示子串和至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串。根据待编码描述子的第一紧凑化表示,通过查第二表,得到待编码描述子的第二紧凑化表示,包括:根据待编码描述子的至少一个第一紧凑化表示子串,从第二表中,获取至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串。第二表是基于至少一个第一参考紧凑化表示子串建立的。根据至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串,得到待编码描述子的第二紧凑化表示。
一种可能的设计中,第二表为至少一维数组,至少一维数组中的各个元素分别对应至少一个第一紧凑化表示子串。
一种可能的设计中,根据待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,得到待编码描述子的第二紧凑化表示,可以包括:将至少一个参考描述子的紧凑化表示和待编码描述子的第一紧凑化表示的异或值或者差值,作为待编码描述子的第二紧凑化表示。
一种可能的设计中,待编码描述子对应的至少一个参考描述子,包括:待编码描述子之前的已压缩(或者已编码)的至少一个描述子;或者,至少一个预设描述子;或者,通过神经网络模型或聚类确定的至少一个描述子。
一种可能的设计中,上述紧凑化处理包括量化处理或二值化处理,该量化处理或二值化处理用于减少待编码描述子的比特数。
第二方面,本申请实施例提供一种3D地图的解压缩方法,该方法可以包括:对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示。待解码描述子对应3D地图中的至少一个3D地图点。获取待解码描述子对应的至少一个参考描述子的紧凑化表示。至少一个参考描述子对应于3D地图的至少一个已解码(或已解压缩)的3D地图点。根据待解码描述子的第二紧凑化表示和待解码描述子对应的至少一个参考描述子的紧凑化表示,得到待解码描述子的第一紧凑化表示。根据待解码描述子的第一紧凑化表示,得到至少一个3D地图点的重构数据。
一种可能的设计中,上述方法还可以包括:发送3D地图请求信息,接收3D地图请求信息对应的3D地图的码流。或者,接收电子设备发送的3D地图的码流。
一种可能的设计中,第一紧凑化表示的数据分布与第二紧凑化表示的数据分布不同。
一种可能的设计中,待解码描述子的第一紧凑化表示包括待解码描述子的至少一个第一紧凑化表示子串,待解码描述子的第二紧凑化表示包括待解码描述子的至少一个第二紧凑化表示子串。至少一个第一紧凑化表示子串与至少一个第二紧凑化表示子串不同。
一种可能的设计中,至少一个第二紧凑化表示子串中部分或全部小于或等于对应的第一紧凑化表示子串。或者,至少一个第二紧凑化表示子串中部分或全部大于或等于对应的第一紧凑化表示子串。
一种可能的设计中,根据待解码描述子的第二紧凑化表示和待解码描述子对应的至少一个参考描述子的紧凑化表示,得到待解码描述子的第一紧凑化表示,可以包括:根据待解码描述子的第二紧凑化表示和待解码描述子对应的至少一个参考描述子的紧凑化表示,通过查第一表,得到待解码描述子的第一紧凑化表示。
一种可能的设计中,根据待解码描述子的第二紧凑化表示和待解码描述子对应的至少一个参考描述子的紧凑化表示,得到待解码描述子的第一紧凑化表示,包括:根据待解码描述子的第二紧凑化表示,通过查第二表,得到待解码描述子的第一紧凑化表示。第二表是基于待解码描述子对应的至少一个参考描述子的紧凑化表示建立的。
一种可能的设计中,根据待解码描述子的第二紧凑化表示和待解码描述子对应的至少一个参考描述子的紧凑化表示,得到待解码描述子的第一紧凑化表示,包括:将至少一个参考描述子的紧凑化表示和待解码描述子的第二紧凑化表示的异或值或者加和值,作为待解码描述子的第一紧凑化表示。
第三方面,本申请实施例提供一种3D地图的压缩装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第一方面或第一方面的任一可能的实施方式所述的方法的功能模块。举例来说,该装置可以包括:紧凑化处理模块、映射模块和封装模块。
紧凑化处理模块,用于对待编码描述子进行紧凑化处理,得到待编码描述子的第一紧凑化表示。待编码描述子对应3D地图中的至少一个3D地图点。映射模块,用于获取待编码描述子对应的至少一个参考描述子的紧凑化表示。至少一个参考描述子对应于3D地图的至少一个已编码(或已压缩)的3D地图点。映射模块,还用于根据待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,得到待编码描述子的第二紧凑化表示。封装模块,用于对第二紧凑化表示进行封装,得到3D地图的码流。
一种可能的设计中,上述装置还可以包括:传输模块。传输模块用于接收电子设备发送的3D地图请求信息,响应于3D地图请求信息,向电子设备发送3D地图请求信息对应的所述3D地图的码流,或者,传输模块用于向服务器发送3D地图的码流。
一种可能的设计中,第一紧凑化表示的数据分布与第二紧凑化表示的数据分布不同。
一种可能的设计中,待编码描述子的第一紧凑化表示包括待编码描述子的至少一个第一紧凑化表示子串,待编码描述子的第二紧凑化表示包括待编码描述子的至少一个第二紧凑化表示子串。至少一个第一紧凑化表示子串与至少一个第二紧凑化表示子串不同。
一种可能的设计中,至少一个第二紧凑化表示子串中部分或全部小于或等于对应的第一紧凑化表示子串;或者,至少一个第二紧凑化表示子串中部分或全部大于或等于对应的第一紧凑化表示子串。
一种可能的设计中,映射模块用于:根据待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,通过查第一表,得到待编码描述子的第二紧凑化表示。
一种可能的设计中,第一表可以包括至少一个编码紧凑化表示子串和至少一个第二参考紧凑化表示子串对应的至少一个第三紧凑化表示子串。待编码描述子的第一紧凑化表示包括待编码描述子的至少一个第一紧凑化表示子串。至少一个编码紧凑化表示子串包括至少一个第一紧凑化表示子串,至少一个第二参考紧凑化表示子串包括至少一个参考描述子的至少一个第一参考紧凑化表示子串。映射模块用于:根据待编码描述子的至少一个第一紧凑化表示子串和待编码描述子对应的参考描述子的至少一个第一参考紧凑化表示子串,从第一表中,获取至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串。根据至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串,得到待编码描述子的第二紧凑化表示。
一种可能的设计中,第一表为多维数组,该多维数组中的各个元素分别对应至少一个编码紧凑化表示子串或至少一个第二参考紧凑化表示子串。
一种可能的设计中,映射模块用于:根据待编码描述子的第一紧凑化表示,通过查第二表,得到待编码描述子的第二紧凑化表示。第二表是基于至少一个参考描述子的紧凑化表示建立的。
一种可能的设计中,待编码描述子的第一紧凑化表示包括待编码描述子的至少一个第一紧凑化表示子串。至少一个参考描述子的紧凑化表示包括至少一个第一参考紧凑化表示子串。第二表包括至少一个第一参考紧凑化表示子串和至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串。映射模块用于:根据待编码描述子的至少一个第一紧凑化表示子串,从第二表中,获取至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串。第二表是基于至少一个第一参考紧凑化表示子串建立的。根据至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串,得到待编码描述子的第二紧凑化表示。
一种可能的设计中,第二表为至少一维数组,所述至少一维数组中的各个元素分别对应至少一个第一紧凑化表示子串。
一种可能的设计中,映射模块用于:将至少一个参考描述子的紧凑化表示和待编码描述子的第一紧凑化表示的异或值或者差值,作为待编码描述子的第二紧凑化表示。
一种可能的设计中,待编码描述子包括区域描述子或3D地图点描述子。
一种可能的设计中,待编码描述子对应的至少一个参考描述子,包括:待编码描述子之前的已压缩的至少一个描述子;或者,至少一个预设描述子;或者,通过神经网络模型或聚类确定的至少一个描述子。
一种可能的设计中,紧凑化处理包括量化处理或二值化处理,所述量化处理或二值化处理用于减少待编码描述子的比特数。
第四方面,本申请实施例提供一种3D地图的解压缩装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第二方面或第二方面的任一可能的实施方式所述的方法的功能模块。举例来说,该装置可以包括:解封装模块、反映射模块和重构模块。
解封装模块,用于对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示;待解码描述子对应3D地图中的至少一个3D地图点。反映射模块,用于获取待解码描述子对应的至少一个参考描述子的紧凑化表示。至少一个参考描述子对应于3D地图的至少一个已解码的3D地图点。反映射模块,还用于根据待解码描述子的第二紧凑化表示和待解码描述子对应的至少一个参考描述子的紧凑化表示,得到待解码描述子的第一紧凑化表示。重构模块,用于根据待解码描述子的第一紧凑化表示,得到至少一个3D地图点的重构数据。
一种可能的设计中,该装置还可以包括:传输模块,用于发送3D地图请求信息,接收所述3D地图请求信息对应的3D地图的码流。或者,用于接收电子设备发送的3D地图的码流。
一种可能的设计中,第一紧凑化表示的数据分布与第二紧凑化表示的数据分布不同。
一种可能的设计中,待解码描述子的第一紧凑化表示包括待解码描述子的至少一个第一紧凑化表示子串,待解码描述子的第二紧凑化表示包括待解码描述子的至少一个第二紧凑化表示子串。至少一个第一紧凑化表示子串与至少一个第二紧凑化表示子串不同。
一种可能的设计中,至少一个第二紧凑化表示子串中部分或全部小于或等于对应的第一紧凑化表示子串;或者,至少一个第二紧凑化表示子串中部分或全部大于或等于对应的第一紧凑化表示子串。
一种可能的设计中,反映射模块用于:根据待解码描述子的第二紧凑化表示和待解码描述子对应的至少一个参考描述子的紧凑化表示,通过查第一表,得到待解码描述子的第一紧凑化表示。
一种可能的设计中,反映射模块用于:根据待解码描述子的第二紧凑化表示,通过查第二表,得到待解码描述子的第一紧凑化表示。第二表是基于待解码描述子对应的至少一个参考描述子的紧凑化表示建立的。
一种可能的设计中,反映射模块用于:将至少一个参考描述子的紧凑化表示和待解码描述子的第二紧凑化表示的异或值或者加和值,作为待解码描述子的第一紧凑化表示。
第五方面,本申请实施例提供一种3D地图的压缩装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第一方面任一项可能的设计所述的方法。
第六方面,本申请实施例提供一种3D地图的解压缩装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面或第二方面任一项可能的设计所述的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行第一方面或第一方面任一项可能的设计所述的方法,或者,执行第二方面或第二方面任一项可能的设计所述的方法。
第八方面,本申请提供一种计算机程序或计算机程序产品,当计算机程序或计算机程序产品在计算机上被执行时,使得计算机实现如上述第一至二方面及其任一种可能的实施方式所描述的方法。
第九方面,本申请提供一种非瞬时性存储介质,包括根据上述第一方面中任一项所述的方法编码的比特流。
第十方面,本申请实施例提供一种3D地图的压缩方法,该方法可以包括:对待编码描述子进行聚类处理,得到待编码描述子的至少一个第一中心信息。该待编码描述子对应3D地图中的至少一个3D地图点。至少一个第一中心信息用于表示该待编码描述子的至少一个子特征经聚类处理后的中心。获取该待编码描述子对应的参考描述子的至少一个第一参考中心信息。该参考描述子对应于3D地图的至少一个已编码的3D地图点。至少一个第一参考中心信息用于表示参考描述子的至少一个子特征经聚类处理后的中心。根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,得到该待编码描述子的至少一个第二中心信息。对待编码描述子的至少一个第二中心信息进行紧凑化处理,得到该待编码描述子的紧凑化表示。对该紧凑化表示进行封装,得到3D地图的码流。
可见,本实施例,先经过聚类处理,使用第一中心信息表示原始的待编码描述子,减少待编码描述子的数据量,之后再将至少一个第一中心信息映射为至少一个第二中心信息,以改变中心信息的数据分布,进而进一步减少经过紧凑化处理和封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。
示例性的,可以将待编码描述子划分成一个或多个子特征,对每个子特征进行聚类处理,得到一个或多个第一中心信息。该一个或多个第一中心信息可以是一个或多个聚类中心的编号。
示例性的,待编码描述子可以是3D地图中的区域描述子或3D地图点描述子。待编码描述子也可以称为当前描述子。
参考描述子对应于3D地图的至少一个已编码的3D地图点,换言之,参考描述子可以是3D地图的已编码的3D地图点描述子,或者,可以是3D地图的已编码的区域描述子。
当待编码描述子是区域描述子时,该待编码描述子对应的参考描述子可以是参考区域描述子。当待编码描述子是3D地图点描述子时,该待编码描述子对应的参考描述子可以是参考3D地图点描述子。
一种可能的设计中,该方法还可以包括:接收电子设备发送的3D地图请求信息,响应于该3D地图请求信息,向电子设备发送该3D地图请求信息对应的3D地图的码流。用于执行第十方面所述的压缩方法的执行主体(可以是电子设备,也可以是服务器(例如云端服务器))可以接收其他电子设备发送的3D地图请求信息,并向该电子设备发送该3D地图请求信息对应的3D地图的码流。
一种可能的设计中,该方法还可以包括:向服务器发送3D地图的码流。用于执行第十方面所述的压缩方法的执行主体(可以是第一电子设备)可以向服务器发送3D地图的码流,服务器可以向第二电子设备发送该3D地图的码流。
一种可能的设计中,根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,得到该待编码描述子的至少一个第二中心信息,可以包括:根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,通过查第一表,得到该待编码描述子的至少一个第二中心信息。
一种可能的设计中,该第一表包括至少一个编码中心信息和至少一个第二参考中心信息对应的至少一个第三中心信息。该至少一个编码中心信息包括该待编码描述子的至少一个第一中心信息,该至少一个第二参考中心信息包括该至少一个第一参考中心信息。根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,通过查第一表,得到该待编码描述子的至少一个第二中心信息,包括:根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,从第一表中,获取至少一个第一中心信息和至少一个第一参考中心信息对应的至少一个第三中心信息。将该至少一个第三中心信息,作为该待编码描述子的至少一个第二中心信息。
一种可能的设计中,该第一表为多维数组,该多维数组中的各个元素分别对应至少一个编码中心信息或至少一个第二参考中心信息。
一种可能的设计中,根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,得到该待编码描述子的至少一个第二中心信息,包括:根据该待编码描述子的至少一个第一中心信息,通过查第二表,得到该待编码描述子的至少一个第二中心信息。该第二表是基于该至少一个第一参考中心信息建立的。
一种可能的设计中,该第二表包括该至少一个第一参考中心信息和该待编码描述子的至少一个第一中心信息对应的至少一个第四中心信息。根据该待编码描述子的至少一个第一中心信息,通过查第二表,得到该待编码描述子的至少一个第二中心信息,包括:根据该待编码描述子的至少一个第一中心信息,从该第二表中,获取至少一个第一中心信息对应的至少一个第四中心信息。将该至少一个第一中心信息对应的至少一个第四中心信息,作为该待编码描述子的至少一个第二中心信息。
一种可能的设计中,该第二表为至少一维数组,该至少一维数组中的各个元素分别对应至少一个第一中心信息。
一种可能的设计中,根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,得到该待编码描述子的至少一个第二中心信息,包括:将该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息的异或值或者差值,作为该待编码描述子的至少一个第二中心信息。
第十一方面,本申请实施例提供一种3D地图的解压缩方法,该方法可以包括:对3D地图的码流进行解封装,得到待解码描述子的至少一个第二中心信息。该待解码描述子对应所述3D地图中的至少一个3D地图点。获取该待解码描述子对应的参考描述子的至少一个第一参考中心信息。该参考描述子对应于所述3D地图的至少一个已解码的3D地图点。该至少一个第一参考中心信息用于表示该参考描述子的至少一个子特征经聚类处理后的中心。根据该待解码描述子的至少一个第二中心信息和该待解码描述子对应的参考描述子的至少一个第一参考中心信息,得到该待解码描述子的至少一个第一中心信息。根据该待解码描述子的至少一个第一中心信息,得到该至少一个3D地图点的重构数据。
一种可能的设计中,上述方法还可以包括:发送3D地图请求信息,接收3D地图请求信息对应的3D地图的码流。或者,接收电子设备发送的3D地图的码流。
一种可能的设计中,根据该待解码描述子的至少一个第二中心信息和该待解码描述子对应的参考描述子的至少一个第一参考中心信息,得到该待解码描述子的至少一个第一中心信息,可以包括:根据待解码描述子的至少一个第二中心信息和待解码描述子对应的参考描述子的至少一个第一参考中心信息,通过查第一表,得到待解码描述子的至少一个第一中心信息。
一种可能的设计中,根据该待解码描述子的至少一个第二中心信息和该待解码描述子对应的参考描述子的至少一个第一参考中心信息,得到该待解码描述子的至少一个第一中心信息,包括:根据该待解码描述子的至少一个第二中心信息,通过查第二表,得到待解码描述子的至少一个第一中心信息。第二表是基于待解码描述子对应的参考描述子的至少一个第一参考中心信息建立的。
一种可能的设计中,根据该待解码描述子的至少一个第二中心信息和该待解码描述子对应的参考描述子的至少一个第一参考中心信息,得到该待解码描述子的至少一个第一中心信息,包括:将该待解码描述子的至少一个第二中心信息和该待解码描述子对应的参考描述子的至少一个第一参考中心信息的异或值或者加和值,作为待解码描述子的至少一个第一中心信息。
第十二方面,本申请实施例提供一种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为本申请实施例提供的第二紧凑化表示的数据分布和第一紧凑化表示的数据分布的比对示意图;
图7是本申请实施例提供的一种3D地图的解压缩方法的流程示意图;
图8是本申请实施例提供的一种3D地图的压缩方法的流程示意图;
图9是本申请实施例提供的一种3D地图的解压缩方法的流程示意图;
图10是本申请实施例提供的一种3D地图的压缩方法的流程示意图;
图11是本申请实施例提供的一种3D地图的解压缩方法的流程示意图;
图12是本申请实施例提供的一种3D地图的压缩方法的流程示意图;
图13是本申请实施例提供的一种3D地图的解压缩方法的流程示意图;
图14为本申请实施例提供的一种3D地图的压缩装置的结构示意图;
图15为本申请实施例提供的一种3D地图的解压缩装置的结构示意图;
图16为本申请实施例提供的一种译码装置1600的示意性框图;
图17为本申请实施例提供的一种第一紧凑化表示子串的划分示意图;
图18为本申请实施例提供一种3D地图的压缩方法的流程示意图;
图19为本申请实施例提供一种3D地图的解压缩方法的流程示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请的说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“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)采集得到的数据。
需要说明的是,本申请实施例中,电子设备中的虚拟场景应用程序可以是电子设备自身内置的应用程序,也可以是用户自行安装的第三方服务商提供的应用程序,对此不做具体限定。
本申请实施例中,电子设备还可以配置有即时定位与地图构建(simultaneouslocalization and mapping,SLAM)系统,SLAM系统能够在完全未知的环境中创建地图,并利用该地图进行定位、位姿(位置与姿态)确定、导航等。本申请实施例中将SLAM系统创建的地图称作SLAM地图,SLAM地图可以理解为是SLAM系统根据采集设备采集到的环境信息绘制出的地图,采集设备可以包括电子设备中的视觉信息采集装置和惯性测量单元(inertialmeasurement unit,IMU),其中,视觉信息采集装置例如可以包括摄像头、相机、深度相机、激光雷达、毫米波雷达等,IMU例如可以包括陀螺仪、加速度计等传感器。
本申请实施例中将SLAM地图亦称作3D地图。需要说明的是,3D地图包括但不限于SLAM地图,其还可以包括采用其它技术创建的三维地图,本申请实施例对此不做具体限定。
在一种可能的实现方式中,3D地图可以包括多个3D地图点,相应的,3D地图的数据可以包括多个3D地图点的数据。3D地图点是环境中令人感兴趣的或者具有显著特征的点。
3D地图点的一种可能的获取方式为,使用激光雷达、无人机视角的空中摄影(倾斜摄影)、高清全景相机、高清工业相机等多种设备拍摄,通过ORB、尺度不变特征变换(scale-invariant feature transform,SIFT)、加速版具有鲁棒性特征(speeded up robustfeatures,SURF)、二元鲁棒独立基本特征(binary robust independent elementaryfeatures,BRIEF)、二进制鲁棒不变可伸缩关键点(binary robust invariant scalablekeypoints,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地图点之间是多对多的关系。区域描述子的生成方法包括但不限于词袋(bag of words,BOW)、局部聚集描述符向量(vector of locally aggregated descriptors,VLAD)等传统方法以及基于NetVLAD、人工智能(artificial intelligence,AI)的新型方法。同理,多个区域描述子也可以用编号进行标识,以对多个区域描述子进行区分,但是该编号同样不是对多个区域描述子之间的先后顺序的限定。
在一种可能的实现方式中,3D地图的数据还包括3D地图点和描述子的对应关系,在该对应关系中明确的描述了任意一个描述子对应于哪些3D地图点,以及任意一个3D地图点对应于哪些描述子。
可选的,上述对应关系可以显式的用区域描述子的编号和3D地图点的编号之间的对应表进行描述,例如,3D地图包含3个区域描述子,编号是T1~T3,6个3D地图点,其中,6个3D地图点空间位置的编号是P1~P6,6个3D地图点描述子的编号是F1~F6,对应表如表1所示。
表1
Figure BDA0003172911630000151
需要说明的是,表1是区域描述子的编号和3D地图点的编号之间的对应表的一个示例,该对应表也可以采用其他的格式或方式呈现,本申请对此不做具体限定。
可选的,上述对应关系也可以隐式的用区域描述子和3D地图点的存储位置进行描述,例如,在内存中先存储T1,跟着存储P1、P2和P3的数据,接着存储T2,跟着存储P2和P3的数据,最后存储T3,跟着存储P3、P4、P5和P6的数据。
图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可以包括应用处理器(applicationprocessor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或,神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在一种可能的实现方式中,处理器211可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integratedcircuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/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包括显示面板时,显示面板可以采用液晶显示屏(liquidcrystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emittingdiode,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 navigationsatellite system,GNSS)以辅助定位,GNSS不限于北斗系统、全球定位系统(globalpositioning 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 OnlyMemory,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地图点,使用透视n点相机姿态估计(pespective-n-point,PnP)、高效透视n点相机姿态估计(efficient perspective-n-point camera poseestimation,EPnP)等位姿求解算法计算得到电子设备的位姿。
在图4a~图4f任一应用场景中,基于本申请实施例的3D地图进行定位,以得到电子设备当前的位姿,该位姿可以应用于AR导航、AR人机交互、辅助驾驶、自动驾驶等领域。以基于该位姿进行AR导航为例,图4g为本申请实施例提供的电子设备显示的一种用户界面的示意图,电子设备可以基于该位姿,显示如图4g所示的用户界面,该用户界面上可以包括导航前往会议室2的导航箭头指示,该导航前往会议室2的导航箭头指示可以是基于该位姿从服务器获取的或者从本地获取的虚拟物体。该用户界面上还可以包括传感器采集的视觉信息,例如,如图4g所示的建筑物。用户参照电子设备的如图4g所示的用户界面,前往会议室2。
需要说明的是,本申请实施例所涉及的解压缩得到的3D地图的重构数据,也可以称之为3D地图的重建数据。
而图4a~图4f所示实施例中,均涉及到对3D地图进行压缩处理和解压缩处理,本申请实施例提供了多个用于进行前述压缩处理和解压缩处理的方法,以下对该压缩处理和解压缩处理的方法进行说明。
基于上文的描述,下面给出本申请实施例提供的3D地图的压缩方法。对于下文描述的各方法实施例,为了方便起见,将其都表述为一系列的动作步骤的组合,但是本领域技术人员应该知悉,本申请技术方案的具体实现并不受所描述的一系列的动作步骤的顺序的限制。
参见图5,图5是本申请实施例提供的一种3D地图的压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。该方法包括但不限于以下步骤:
S101、对待编码描述子进行紧凑化处理,得到待编码描述子的第一紧凑化表示。
该待编码描述子对应3D地图中的至少一个3D地图点。该待编码描述子可以是区域描述子,该区域描述子对应3D地图中的多个3D地图点。或者该待编码描述子可以是3D地图点描述子,该3D地图点描述子对应3D地图中的一个3D地图点。
一种可实现方式,对待编码描述子进行量化处理,得到待编码描述子的第一紧凑化表示。该量化处理包括但不限于:标量量化、矢量量化、或乘积量化等。示例性的,通过量化处理可以将待编码描述子映射为一个或多个量化索引,该一个或多个量化索引即为该待编码描述子的第一紧凑化表示。其中,一个或多个量化索引中的各个量化索引对应于一个量化中心。
另一种可实现方式,对待编码描述子进行二值化处理,得到待编码描述子的第一紧凑化表示。该二值化处理包括但不限于:迭代量化(iterative quantization,ITQ)的哈希、局部敏感哈希(locality-sensitive hashing,LSH)、或谱哈希方法(spectralhashing)等。示例性的,通过二值化处理可以将待编码描述子映射到汉明空间(也称为二值空间)中,得到二值化表示,该二值化表示即为该待编码描述子的第一紧凑化表示。
无论是通过上述量化处理,还是通过二值化处理,该待编码描述子的第一紧凑化表示的比特数通常会明显少于原始的待编码描述子的比特数,从而达到节省存储和/或传输带宽的目的。
S102、获取该待编码描述子对应的至少一个参考描述子的紧凑化表示。
该至少一个参考描述子对应于3D地图的至少一个已编码的3D地图点。示例性的,对于3D地图点描述子和3D地图点空间位置各自独立编码,该至少一个已编码的3D地图点可以是至少一个已编码的3D地图点描述子,本申请实施例对3D地图点空间位置的编码不作具体限定。当然可以理解的,在一些情况下,该至少一个已编码的3D地图点可以是至少一个已编码的3D地图点描述子和至少一个已编码的3D地图点空间位置,本申请实施例不以此作为限制。
与对待编码描述子进行紧凑化处理类似,在一些实施例中,可以对至少一个参考描述子进行紧凑化处理,得到至少一个参考描述子的紧凑化表示。例如,若对待编码描述子进行量化处理,得到待编码描述子的第一紧凑化表示,则对该至少一个参考描述子进行量化处理,得到至少一个参考描述子的紧凑化表示。若对待编码描述子进行二值化处理,得到待编码描述子的第一紧凑化表示,则对该至少一个参考描述子进行二值化处理,得到至少一个参考描述子的紧凑化表示。
对该待编码描述子对应的至少一个参考描述子的解释说明。一种可实现方式,该至少一个参考描述子可以包括该待编码描述子之前的已编码或已压缩的至少一个描述子。以一个参考描述子为例,该参考描述子可以是该待编码描述子之前的一个已编码或已压缩的描述子。另一种可实现方式,该至少一个参考描述子可以包括至少一个预设描述子。该预设描述子可以根据需求进行灵活设置。例如,该预设描述子可以是10101010。再一种可实现方式,该至少一个参考描述子可以包括通过神经网络模型或聚类算法确定的至少一个描述子。该神经网络模型可以是卷积神经网络(convolutional neuron network,CNN)、深度神经网络(deep neural network,DNN)、循环神经网络(recurrent neural networks,RNN)、或递归残差卷积神经网络(recursive residual convolutional neuron network,RR-CNN)等,本申请实施例对此不作具体限定。例如,可以基于数据库中的多个描述子或待检索图像的多个描述子,使用CNN确定该至少一个参考描述子。
S103、根据该待编码描述子的第一紧凑化表示和该至少一个参考描述子的紧凑化表示,得到该待编码描述子的第二紧凑化表示。
通过将该待编码描述子的第一紧凑化表示映射为第二紧凑化表示,该第二紧凑化表示的数据分布与第一紧凑化表示的数据分布不同。本申请实施例紧凑化表示(例如第一紧凑化表示或第二紧凑化表示)的数据分布是指紧凑化表示中的二进制数的分布。本申请实施例通过改变紧凑化表示的数据分布,以减少后续经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。
在一些实施例中,第一紧凑化表示可以包括至少一个第一紧凑化表示子串,第二紧凑化表示可以包括至少一个第二紧凑化表示子串。相应的,该至少一个参考描述子中的各个参考描述子的紧凑化表示包括至少一个第一参考紧凑化表示子串。参考图6所示,图6为本申请实施例提供的第二紧凑化表示的数据分布和第一紧凑化表示的数据分布的比对示意图,如图6所示,横轴为紧凑化表示子串,纵轴为出现频次,斜纹长条为第一紧凑化表示的数据分布,空白长条为第二紧凑化表示的数据分布。通过图6可知,第一紧凑化表示所包括的第一紧凑化表示子串近似均匀的分布在各个不同取值,而与第一紧凑化表示不同,第二紧凑化表示所包括的第二紧凑化表示子串较为集中的分布在一些取值(如图6的0至22)。由此可见,第二紧凑化表示的数据分布与第一紧凑化表示的数据分布不同。
需要说明的是,图6仅为一种示例性举例说明,本申请实施例的第二紧凑化表示的数据分布也可以是其他形式,例如,第二紧凑化表示所包括的第二紧凑化表示子串较为集中的分布在另一些取值(如230至255)。本申请实施例的第二紧凑化表示的数据分布不以图6作为限制。
S104、对该第二紧凑化表示进行封装,得到3D地图的码流。
可以对该第二紧凑化表示进行熵编码等处理,以得到3D地图的码流。
需要说明的是,通过上述S101至S103的压缩处理得到的第二紧凑化表示,也可以称为压缩数据。之后,通过S104对压缩数据进行封装,得到3D地图的码流,这样的压缩处理也可以称为编码处理。
可选的,本实施例的执行主体可以是服务器,服务器还可以接收电子设备发送的3D地图请求信息(例如,图4a中的地图下载请求),响应于该3D地图请求信息,向电子设备发送该3D地图请求信息对应的该3D地图的码流。或者,本实施例的执行主体可以是电子设备,电子设备还可以向服务器发送该3D地图的码流。电子设备可以是用户终端设备或载具搭载电子设备。
在一些实施例中,还可以对该待编码描述子对应的至少一个参考描述子的编号,或者参考描述子的编号与待编码描述子的编号的差值,进行封装,以使得3D地图的码流中还携带该至少一个参考描述子的编号或编号的差值,解压缩时可以根据该至少一个参考描述子的编号或编号的差值获取该至少一个参考描述子,基于该至少一个参考描述子进行解压缩。
本实施例,通过对待编码描述子进行紧凑化处理,得到待编码描述子的第一紧凑化表示,根据该待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,得到该待编码描述子的第二紧凑化表示,对该第二紧凑化表示进行封装,得到3D地图的码流。先经过紧凑化处理,减少待编码描述子的数据量,之后再将第一紧凑化表示映射为第二紧凑化表示,以改变紧凑化表示的数据分布,进而进一步减少经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。
参见图7,图7是本申请实施例提供的一种3D地图的解压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。该方法包括但不限于以下步骤:
S201、对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示。
该待解码描述子对应3D地图中的至少一个3D地图点。该待解码描述子可以是区域描述子,该区域描述子对应3D地图中的多个3D地图点。或者该待解码描述子可以是3D地图点描述子,该3D地图点描述子对应3D地图中的一个3D地图点。
本实施例的待解码描述子的第二紧凑化表示,即为上述图5实施例中的待编码描述子的第二紧凑化表示。
需要说明的是,通过S201对3D地图的码流进行解封装,得到第二紧凑化表示,这样的解压缩处理也可以称为解码处理。解封装得到的第二紧凑化表示,也可以称为压缩数据。之后,通过S202至S204,对压缩数据进行解压缩处理。
S202、获取该待解码描述子对应的至少一个参考描述子的紧凑化表示。
该至少一个参考描述子对应于3D地图的至少一个已解码的3D地图点。示例性的,对于3D地图点描述子和3D地图点空间位置各自独立解码,该至少一个已解码的3D地图点可以是至少一个已解码的3D地图点描述子,本申请实施例对3D地图点空间位置的解码不作具体限定。当然可以理解的,在一些情况下,该至少一个已解码的3D地图点可以是至少一个已解码的3D地图点描述子和至少一个已解码的3D地图点空间位置,本申请实施例不以此作为限制。
对该待解码描述子对应的至少一个参考描述子的解释说明。与图5所示实施例的参考描述子类似。一种可实现方式,该至少一个参考描述子可以包括该待解码描述子之前的已解码或已解压缩的至少一个描述子。以一个参考描述子为例,该参考描述子可以是该待解码描述子之前的一个已解码或已解压缩的描述子。另一种可实现方式,该至少一个参考描述子可以包括至少一个预设描述子。该预设描述子可以根据需求进行灵活设置。例如,该预设描述子可以是10101010。再一种可实现方式,该至少一个参考描述子可以包括通过神经网络模型或聚类算法确定的至少一个描述子。又一种可实现方式,对3D地图的码流进行解封装,还可以得到该待解码描述子对应的至少一个参考描述子的编号,或者参考描述子的编号与待解码描述子的编号的差值,根据该待解码描述子对应的至少一个参考描述子的编号,或者参考描述子的编号与待解码描述子的编号的差值,获取该待解码描述子对应的至少一个参考描述子。
S203、根据该待解码描述子的第二紧凑化表示和该待解码描述子对应的至少一个参考描述子的紧凑化表示,得到该待解码描述子的第一紧凑化表示。
通过将该待解码描述子的第二紧凑化表示反映射为该待解码描述子的第一紧凑化表示。这里的待解码描述子的第一紧凑化表示,即为上述图5实施例中的待编码描述子的第一紧凑化表示。
S204、根据该待解码描述子的第一紧凑化表示,得到至少一个3D地图点的重构数据。
根据该待解码描述子的第一紧凑化表示,得到至少一个3D地图点的重构数据。该至少一个3D地图点的重构数据可以用于基于3D地图的定位。示例性的,若第一紧凑化表示为一个或多个量化索引,则可以通过对一个或多个量化索引进行反量化处理,得到3D地图点的重构数据。
本实施例,通过对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示,根据该待解码描述子的第二紧凑化表示和该待解码描述子对应的至少一个参考描述子的紧凑化表示,得到该待解码描述子的第一紧凑化表示,根据该待解码描述子的第一紧凑化表示,得到至少一个3D地图点的重构数据。编码端先经过紧凑化处理,减少待编码描述子的数据量,之后再将第一紧凑化表示映射为第二紧凑化表示,以改变紧凑化表示的数据分布,进而进一步减少经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。解码端可以对解封装得到的第二紧凑化表示进行反映射,得到第一紧凑化表示,进而得到3D地图点的重构数据。
上述实施例中将第一紧凑化表示映射为第二紧凑化表示,可以有不同的实现方式。
方式一、第一表映射(也称为静态表映射)
根据待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,通过查第一表,得到待编码描述子的第二紧凑化表示。该第一表可以是预设的。
方式二、第二表映射(也称为动态表映射)
根据待编码描述子的第一紧凑化表示,通过查第二表,得到待编码描述子的第二紧凑化表示。该第二表是基于至少一个参考描述子的紧凑化表示建立的。
方式三、差值或异或
将至少一个参考描述子的紧凑化表示和待编码描述子的第一紧凑化表示的异或值或者差值,作为待编码描述子的第二紧凑化表示。
下面采用几个具体的编解码实施例,对上述方式一、方式二和方式三进行具体解释说明。
参见图8,图8是本申请实施例提供的一种3D地图的压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。本实施例的3D地图的压缩方法采用上述方式一将第一紧凑化表示映射为第二紧凑化表示。本实施例以第一紧凑化表示包括至少一个第一紧凑化表示子串,第二紧凑化表示包括至少一个第二紧凑化表示子串为例举例说明。该方法包括但不限于以下步骤:
S301、对待编码描述子进行紧凑化处理,得到待编码描述子的第一紧凑化表示。该第一紧凑化表示包括至少一个第一紧凑化表示子串。
S302、获取该待编码描述子对应的至少一个参考描述子的紧凑化表示。该至少一个参考描述子的紧凑化表示包括至少一个参考描述子各自的至少一个第一参考紧凑化表示子串。
其中,S301至S302的相关解释说明可以参见图5所示实施例的S101至S102的具体解释说明,此处不再赘述。
S303、根据至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串,从第一表中,获取至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串。
本实施例的第一表可以包括至少一个编码紧凑化表示子串和至少一个第二参考紧凑化表示子串对应的至少一个第三紧凑化表示子串。
第一表的至少一个编码紧凑化表示子串包括上述待编码描述子的至少一个第一紧凑化表示子串,第一表的至少一个第二参考紧凑化表示子串包括上述至少一个参考描述子的至少一个第一参考紧凑化表示子串。由此,可以根据至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串,从第一表中,获取对应的至少一个第三紧凑化表示子串。
第一表可以有很多不同的形式。一种示例,第一表可以是多维数组,例如,二维数组、或三维数组等。
以第一表是二维数组为例,T[i][j]表示编码紧凑化表示子串i和第二参考紧凑化表示子串j对应的第三紧凑化表示子串。i分别取0至N-1,j分别取0至M-1。N、M为大于1的正整数。N表示编码紧凑化表示子串的总个数,M表示第二参考紧凑化表示子串的总个数。以一个第一紧凑化表子串为例,在使用第一表对该第一紧凑化表示子串进行映射时,可以使用该第一紧凑化表示子串,在N个编码紧凑化表示子串中,找到与该第一紧凑化表示子串相同的子串x,x∈[0,N-1],使用该第一紧凑化表示子串对应的第一参考紧凑化表示子串,在M个第二参考紧凑化表示子串中,找到与该第一参考紧凑化表示子串相同的子串y,y∈[0,M-1],T[x][y]即为对应的第三紧凑化表示子串。
其中,T[i][j]可以通过函数映射得到。该函数可以是关于编码紧凑化表示子串i和参考紧凑化表示子串j的函数。一种示例,该函数可以是随机函数,当然可以理解的,该函数还可以是其他函数,其具体形式本申请实施例对此不作具体限定。
在一些实施例中,T[i][j]小于或等于编码紧凑化表示子串i,或者,大于或等于编码紧凑化表示子串i。
若第一表的T[i][j]小于或等于编码紧凑化表示子串i,则通过第一表得到的第三紧凑化表示子串,小于或等于第一紧凑化表示子串。
若第一表的T[i][j]大于或等于编码紧凑化表示子串i,则通过第一表得到的第三紧凑化表示子串,大于或等于第一紧凑化表示子串。
以第一表是三维数组为例,一种示例,T[i][j][1]、T[i][j][2]、……、以及T[i][j][K]表示编码紧凑化表示子串i和参考紧凑化表示子串j对应的K个第三紧凑化表示子串。i分别取0至N-1,j分别取0至M-1。N、M、K为大于1的正整数。N表示编码紧凑化表示子串的总个数,M表示参考紧凑化表示子串的总个数。以一个第一紧凑化表子串为例,在使用第一表对该第一紧凑化表示子串进行映射时,可以使用该第一紧凑化表示子串,在N个编码紧凑化表示子串中,找到与该第一紧凑化表示子串相同的子串x,x∈[0,N-1],使用该第一紧凑化表示子串对应的紧凑化表示子串,在M个参考紧凑化表示子串中,找到与该紧凑化表示子串相同的子串y,y∈[0,M-1],T[x][y][1]、T[x][y][2]、……、以及T[x][y][K]即为对应的多个第三紧凑化表示子串。
T[i][j][1]、T[i][j][2]、……、以及T[i][j][K]可以通过函数映射得到。该函数可以是关于编码紧凑化表示子串i和参考紧凑化表示子串j的函数。一种示例,该函数可以是随机函数,当然可以理解的,该函数还可以是其他函数,其具体形式本申请实施例对此不作具体限定。
另一种示例,T[i][j1][j2]表示编码紧凑化表示子串i、第二参考紧凑化表示子串j1和第二参考紧凑化表示子串j2对应的第三紧凑化表示子串。i分别取0至N-1,j1,j2分别取0至M-1。N、M为大于1的正整数。N表示编码紧凑化表示子串的总个数,M表示第二参考紧凑化表示子串的总个数。以一个第一紧凑化表子串为例,在使用第一表对该第一紧凑化表示子串进行映射时,可以使用该第一紧凑化表示子串,在N个编码紧凑化表示子串中,找到与该第一紧凑化表示子串相同的子串x,x∈[0,N-1],使用该第一紧凑化表示子串对应的一个第二参考紧凑化表示子串j1,在M个第二参考紧凑化表示子串中,找到与该第二紧凑化表示子串j1相同的子串y,y∈[0,M-1],使用该第一紧凑化表示子串对应的另一个第二参考紧凑化表示子串j2,在M个第二参考紧凑化表示子串中,找到与该第二紧凑化表示子串j2相同的子串z,z∈[0,M-1],T[x][y][z]即为对应的第三紧凑化表示子串。
T[x][y][z]可以通过函数映射得到。该函数可以是关于编码紧凑化表示子串i、第二参考紧凑化表示子串j1和第二参考紧凑化表示子串j2的函数。一种示例,该函数可以是随机函数,当然可以理解的,该函数还可以是其他函数,其具体形式本申请实施例对此不作具体限定。
S304、根据至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串,得到该待编码描述子的第二紧凑化表示。
一种可实现方式,一个第一紧凑化表示子串和一个第一参考紧凑化表示子串对应一个第三紧凑化表示子串。将对应的至少一个第三紧凑化表示子串分别作为一个第二紧凑化表示子串,得到的至少一个第二紧凑化表示子串,即为待编码描述子的第二紧凑化表示。由于第一表中的T[i][j]小于或等于编码紧凑化表示子串i,所以使用第一紧凑化表示子串,经过第一表映射得到的第二紧凑化表示子串小于或等于该第一紧凑化表示子串。由此,通过该第一表映射,可以将第一紧凑化表示子串朝着第一方向映射,该第一方向可以是数值较小的方向(例如,如图6所示的横坐标向左的方向),使得第二紧凑化表示子串更大概率为较小数值,使得第二紧凑化表示的数据分布更为集中,以减少后续经过熵编码得到的3D地图的码流的数据量。或者,由于第一表中的T[i][j]大于或等于编码紧凑化表示子串i,所以使用第一紧凑化表示子串,经过第一表映射得到的第二紧凑化表示子串大于或等于该第一紧凑化表示子串。由此,通过该第一表映射,可以将第一紧凑化表示子串朝着第二方向映射,该第二方向可以是数值较大的方向(例如,如图6所示的横坐标向右的方向),使得第二紧凑化表示子串更大概率为较大数值,使得第二紧凑化表示的数据分布更为集中,以减少后续经过熵编码得到的3D地图的码流的数据量。
另一种可实现方式,一个第一紧凑化表示子串和一个第一参考紧凑化表示子串对应多个第三紧凑化表示子串。根据对应的多个第三紧凑化表示子串得到一个第二紧凑化表示子串。通过这种方式得到至少一个第二紧凑化表示子串,即为待编码描述子的第二紧凑化表示。例如,一个第一紧凑化表示子串和一个第一参考紧凑化表示子串对应的多个第三紧凑化表示子串为,T[i][j][1]、T[i][j][2]、……、以及T[i][j][K],则可以根据T[i][j][1]、T[i][j][2]、……、以及T[i][j][K]得到一个第二紧凑化表示子串。例如,对T[i][j][1]、T[i][j][2]、……、以及T[i][j][K]求平均,将平均值作为一个第二紧凑化表示子串。当然可以理解的,也可以采用其他方式根据多个第三紧凑化表示子串得到一个第二紧凑化表示子串,本申请实施例不一一举例说明。由于通过第一表得到的第二紧凑化表示子串小于或等于编码紧凑化表示子串i,所以使用第一紧凑化表示子串,经过第一表映射得到的第二紧凑化表示子串小于或等于该第一紧凑化表示子串。由此,通过该第一表映射,可以将第一紧凑化表示子串朝着第一方向映射,该第一方向可以是数值较小的方向(例如,如图6所示的横坐标向左的方向),使得第二紧凑化表示子串更大概率为较小数值,使得第二紧凑化表示的数据分布更为集中,以减少后续经过熵编码得到的3D地图的码流的数据量。或者,由于通过第一表得到的第二紧凑化表示子串大于或等于编码紧凑化表示子串i,所以使用第一紧凑化表示子串,经过第一表映射得到的第二紧凑化表示子串大于或等于该第一紧凑化表示子串。由此,通过该第一表映射,可以将第一紧凑化表示子串朝着第二方向映射,该第二方向可以是数值较大的方向(例如,如图6所示的横坐标向右的方向),使得第二紧凑化表示子串更大概率为较大数值,使得第二紧凑化表示的数据分布更为集中,以减少后续经过熵编码得到的3D地图的码流的数据量。
本申请实施例中,至少一个第一紧凑化表示子串的顺序与至少一个第二紧凑化表示子串的顺序不同。
S305、对该第二紧凑化表示进行封装,得到3D地图的码流。
其中,S305的相关解释说明可以参见图5所示实施例的S104的具体解释说明,此处不再赘述。
本实施例,通过对待编码描述子进行紧凑化处理,得到待编码描述子的至少一个第一紧凑化表示子串,根据至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串,从第一表中,获取该至少一个第一紧凑化表示子串和该至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串,根据至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串,得到该待编码描述子的第二紧凑化表示,对该第二紧凑化表示进行封装,得到3D地图的码流。先经过紧凑化处理,减少待编码描述子的数据量,之后再将第一紧凑化表示通过第一表映射为第二紧凑化表示,以改变紧凑化表示的数据分布,进而进一步减少经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。
参见图9,图9是本申请实施例提供的一种3D地图的解压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。本实施例的3D地图的解压缩方法采用第一表将第二紧凑化表示反映射为第一紧凑化表示。本实施例以第一紧凑化表示包括至少一个第一紧凑化表示子串,第二紧凑化表示包括至少一个第二紧凑化表示子串为例举例说明。该方法包括但不限于以下步骤:
S401、对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示。该第二紧凑化表示包括至少一个第二紧凑化表示子串。
该3D地图的码流可以是通过图8所示实施例得到的3D地图的码流,也可以是通过图10所示实施例得到的3D地图的码流。本申请实施例的压缩方法和解压缩方法可以进行灵活组合。
S402、获取该待解码描述子对应的至少一个参考描述子的紧凑化表示。该至少一个参考描述子的紧凑化表示包括至少一个参考描述子各自的至少一个第一参考紧凑化表示子串。
其中,S401至S402的相关解释说明可以参见图7所示实施例的S201至S202的具体解释说明,此处不再赘述。
S403、根据至少一个第二紧凑化表示子串和至少一个第一参考紧凑化表示子串,从第一表中,获取该至少一个第二紧凑化表示子串和该至少一个第一参考紧凑化表示子串对应的至少一个第一紧凑化表示子串。
本实施例的第一表可以是与图8所示实施例中的第一表相同的表,也可以是与图8所示实施例中的第一表不同的表,例如,可以是图8所示实施例中的第一表对应的反映射表。本实施例中通过第一表可以得到映射之前的紧凑化表示,进而得到3D地图点的重构数据。
以第一表是二维数组为例,T[i][j]表示编码紧凑化表示子串i和第二参考紧凑化表示子串j对应的第三紧凑化表示子串,该第三紧凑化表示子串作为一个第二紧凑化表示子串。令i’=T[i][j],i’表示第二紧凑化表示子串,那么本实施例的反映射表可以表示为T’[i’][j],即通过反映射表得到映射之前的紧凑化表示子串,i=T’[i’][j]。
S404、根据至少一个第一紧凑化表示子串,得到至少一个3D地图点的重构数据。
其中,S404的相关解释说明可以参见图7所示实施例的S204的具体解释说明,此处不再赘述。
本实施例,通过对3D地图的码流进行解封装,得到待解码描述子的至少一个第二紧凑化表示子串,根据该待解码描述子的至少一个第二紧凑化表示子串和至少一个参考描述子的至少一个第一参考紧凑化表示子串,从第一表中,获取该待解码描述子的至少一个第一紧凑化表示子串,根据该待解码描述子的至少一个第一紧凑化表示子串,得到至少一个3D地图点的重构数据。编码端先经过紧凑化处理,减少待编码描述子的数据量,之后再将第一紧凑化表示映射为第二紧凑化表示,以改变紧凑化表示的数据分布,进而进一步减少经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。解码端可以通过第一表对解封装得到的第二紧凑化表示进行反映射,得到第一紧凑化表示,进而得到3D地图点的重构数据。
参见图10,图10是本申请实施例提供的一种3D地图的压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。本实施例的3D地图的压缩方法采用上述方式二将第一紧凑化表示映射为第二紧凑化表示。本实施例以第一紧凑化表示包括至少一个第一紧凑化表示子串,第二紧凑化表示包括至少一个第二紧凑化表示子串为例举例说明。该方法包括但不限于以下步骤:
S501、对待编码描述子进行紧凑化处理,得到待编码描述子的第一紧凑化表示。该第一紧凑化表示包括至少一个第一紧凑化表示子串。
S502、获取该待编码描述子对应的至少一个参考描述子的紧凑化表示。该至少一个参考描述子的紧凑化表示包括至少一个参考描述子各自的至少一个第一参考紧凑化表示子串。
其中,S501至S502的相关解释说明可以参见图5所示实施例的S101至S102的具体解释说明,此处不再赘述。
S503、根据至少一个第一紧凑化表示子串,从第二表中,获取该至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串。
其中,第二表是基于该待编码描述子对应的至少一个参考描述子的紧凑化表示建立的。
以一个第一参考紧凑化表示子串为例,本实施例的第二表可以包括第一参考紧凑化表示子串和至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串。即一个第一参考紧凑化表示子串,一个第二表。多个第一参考紧凑化表示子串,可以建立多个第二表。
第二表可以有很多不同的形式。一种示例,第二表可以是一维数组或多维数组,多维数组例如可以是二维数组、或三维数组等。
以第二表是一维数组为例,T[k]表示第一紧凑化表示子串k对应的第四紧凑化表示子串。k分别取0至N-1,N为第一紧凑化表示子串的个数,N为大于1的正整数,k为第一紧凑化表示子串k。
其中,T[k]可以通过函数映射得到。一种示例,该函数可以是随机函数,当然可以理解的,该函数还可以是其他函数,其具体形式本申请实施例对此不作具体限定。
T[k]小于或等于第一紧凑化表示子串k,或者,大于或等于第一紧凑化表示子串k。
若第二表的T[k]小于或等于第一紧凑化表示子串k,则通过第二表得到的第四紧凑化表示子串,小于或等于第一紧凑化表示子串。
若第一表的T[k]大于或等于第一紧凑化表示子串k,则通过第二表得到的第四紧凑化表示子串,大于或等于第一紧凑化表示子串。
S504、根据至少一个第四紧凑化表示子串,得到该待编码描述子的第二紧凑化表示。
一种可实现方式,一个第一紧凑化表示子串对应一个第四紧凑化表示子串。将对应的至少一个第四紧凑化表示子串分别作为一个第二紧凑化表示子串,得到的至少一个第二紧凑化表示子串,即为待编码描述子的第二紧凑化表示。由于第二表中的T[k]小于或等于第一紧凑化表示子串k,所以使用第一紧凑化表示子串,经过第二表映射得到的第二紧凑化表示子串小于或等于该第一紧凑化表示子串。由此,通过该第二表映射,可以将第一紧凑化表示子串朝着第一方向映射,该第一方向可以是数值较小的方向(例如,如图6所示的横坐标向左的方向),使得第二紧凑化表示子串更大概率为较小数值,使得第二紧凑化表示的数据分布更为集中,以减少后续经过熵编码得到的3D地图的码流的数据量。或者,由于第二表中的T[k]大于或等于第一紧凑化表示子串k,所以使用第一紧凑化表示子串,经过第二表映射得到的第二紧凑化表示子串大于或等于该第一紧凑化表示子串。由此,通过该第二表映射,可以将第一紧凑化表示子串朝着第二方向映射,该第二方向可以是数值较大的方向(例如,如图6所示的横坐标向右的方向),使得第二紧凑化表示子串更大概率为较大数值,使得第二紧凑化表示的数据分布更为集中,以减少后续经过熵编码得到的3D地图的码流的数据量。
本申请实施例中,至少一个第一紧凑化表示子串的顺序与至少一个第二紧凑化表示子串的顺序不同。
S505、对该第二紧凑化表示进行封装,得到3D地图的码流。
其中,S505的相关解释说明可以参见图5所示实施例的S104的具体解释说明,此处不再赘述。
本实施例,通过对待编码描述子进行紧凑化处理,得到待编码描述子的至少一个第一紧凑化表示子串,根据至少一个第一紧凑化表示子串,从第二表中,获取该至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串。该第二表是根据至少一个参考描述子的至少一个第一参考紧凑化表示子串建立的。根据至少一个第四紧凑化表示子串,得到该待编码描述子的第二紧凑化表示,对该第二紧凑化表示进行封装,得到3D地图的码流。先经过紧凑化处理,减少待编码描述子的数据量,之后再将第一紧凑化表示通过第二表映射为第二紧凑化表示,以改变紧凑化表示的数据分布,进而进一步减少经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。
参见图11,图11是本申请实施例提供的一种3D地图的解压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。本实施例的3D地图的解压缩方法采用第二表将第二紧凑化表示反映射为第一紧凑化表示。本实施例以第一紧凑化表示包括至少一个第一紧凑化表示子串,第二紧凑化表示包括至少一个第二紧凑化表示子串为例举例说明。该方法包括但不限于以下步骤:
S601、对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示。该第二紧凑化表示包括至少一个第二紧凑化表示子串。
该3D地图的码流可以是通过图8所示实施例得到的3D地图的码流,也可以是通过图10所示实施例得到的3D地图的码流。本申请实施例的压缩方法和解压缩方法可以进行灵活组合。
S602、获取该待解码描述子对应的至少一个参考描述子的紧凑化表示。该至少一个参考描述子的紧凑化表示包括至少一个参考描述子各自的至少一个第一参考紧凑化表示子串。
其中,S601至S602的相关解释说明可以参见图7所示实施例的S201至S202的具体解释说明,此处不再赘述。
S603、根据至少一个第二紧凑化表示子串,从第二表中,获取该至少一个第二紧凑化表示子串对应的至少一个第一紧凑化表示子串。
该第二表是一个或多个参考描述子的至少一个第一参考紧凑化表示子串建立的。
本实施例的第二表可以是与图10所示实施例中的第二表对应的反映射表。本实施例中通过第二表可以得到映射之前的紧凑化表示,进而得到3D地图点的重构数据。
以第二表是一维数组为例,T[k]表示第一紧凑化表示子串k对应的第四紧凑化表示子串,该第四紧凑化表示子串作为一个第二紧凑化表示子串。令k’=T[k],k’表示该第二紧凑化表示子串,那么本实施例的反映射表可以表示为T’[k’],即通过反映射表得到映射之前的紧凑化表示子串,k=T’[k’],T’[k’]是根据参考描述子的一个紧凑化表示子串j得到的。
S604、根据至少一个第一紧凑化表示子串,得到至少一个3D地图点的重构数据。
其中,S604的相关解释说明可以参见图7所示实施例的S204的具体解释说明,此处不再赘述。
本实施例,通过对3D地图的码流进行解封装,得到待解码描述子的至少一个第二紧凑化表示子串,根据该待解码描述子的至少一个第二紧凑化表示子串,从第二表中,获取该待解码描述子的至少一个第一紧凑化表示子串,根据该待解码描述子的至少一个第一紧凑化表示子串,得到至少一个3D地图点的重构数据。该第二表是根据至少一个参考描述子的至少一个第一参考紧凑化表示子串建立的。编码端先经过紧凑化处理,减少待编码描述子的数据量,之后再将第一紧凑化表示映射为第二紧凑化表示,以改变紧凑化表示的数据分布,进而进一步减少经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。解码端可以通过第二表对解封装得到的第二紧凑化表示进行反映射,得到第一紧凑化表示,进而得到3D地图点的重构数据。
参见图12,图12是本申请实施例提供的一种3D地图的压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。本实施例的3D地图的压缩方法采用上述方式三将第一紧凑化表示映射为第二紧凑化表示。本实施例以第一紧凑化表示包括至少一个第一紧凑化表示子串,第二紧凑化表示包括至少一个第二紧凑化表示子串为例举例说明。该方法包括但不限于以下步骤:
S701、对待编码描述子进行紧凑化处理,得到待编码描述子的第一紧凑化表示。该第一紧凑化表示包括至少一个第一紧凑化表示子串。
S702、获取该待编码描述子对应的至少一个参考描述子的紧凑化表示。该至少一个参考描述子的紧凑化表示包括至少一个参考描述子各自的至少一个第一参考紧凑化表示子串。
其中,S701至S702的相关解释说明可以参见图5所示实施例的S101至S102的具体解释说明,此处不再赘述。
S703、将至少一个第一紧凑化表示子串和对应的至少一个参考描述子的紧凑化表示子串的异或值或差值,作为至少一个第二紧凑化表示子串。
以至少一个第一紧凑化表示子串包括N个第一紧凑化表示子串为例,将N个异或值或差值,作为N个第二紧凑化表示子串。该N个异或值或差值为N个第一紧凑化表示子串分别和各自对应的至少一个参考描述子的紧凑化表示子串的异或值或差值。
S704、根据至少一个第二紧凑化表示子串,得到该待编码描述子的第二紧凑化表示。
将至少一个第二紧凑化表示子串组合得到该待编码描述子的第二紧凑化表示。
S705、对该第二紧凑化表示进行封装,得到3D地图的码流。
其中,S705的相关解释说明可以参见图5所示实施例的S104的具体解释说明,此处不再赘述。
本实施例,通过对待编码描述子进行紧凑化处理,得到待编码描述子的至少一个第一紧凑化表示子串,将至少一个第一紧凑化表示子串和对应的至少一个参考描述子的紧凑化表示子串的异或值或差值,作为至少一个第二紧凑化表示子串,进而得到该待编码描述子的第二紧凑化表示,对该第二紧凑化表示进行封装,得到3D地图的码流。先经过紧凑化处理,减少待编码描述子的数据量,之后再将第一紧凑化表示通过异或或差值映射为第二紧凑化表示,以改变紧凑化表示的数据分布,进而进一步减少经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。
参见图13,图13是本申请实施例提供的一种3D地图的解压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。本实施例的3D地图的解压缩方法采用异或或加和将第二紧凑化表示反映射为第一紧凑化表示。本实施例以第一紧凑化表示包括至少一个第一紧凑化表示子串,第二紧凑化表示包括至少一个第二紧凑化表示子串为例举例说明。该方法包括但不限于以下步骤:
S801、对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示。该第二紧凑化表示包括至少一个第二紧凑化表示子串。
该3D地图的码流可以是通过图12所示实施例得到的3D地图的码流。
S802、获取该待解码描述子对应的至少一个参考描述子的紧凑化表示。该至少一个参考描述子的紧凑化表示包括至少一个参考描述子各自的至少一个第一参考紧凑化表示子串。
其中,S801至S802的相关解释说明可以参见图7所示实施例的S201至S202的具体解释说明,此处不再赘述。
S803、将至少一个第二紧凑化表示子串和对应的至少一个参考描述子的紧凑化表示子串的异或值或加和值,作为至少一个第一紧凑化表示子串。
以至少一个第二紧凑化表示子串包括N个第二紧凑化表示子串为例,将N个异或值或加和值,作为N个第一紧凑化表示子串。该N个异或值或加和值为N个第二紧凑化表示子串分别和各自对应的至少一个参考描述子的紧凑化表示子串的异或值或加和值。
S804、根据至少一个第一紧凑化表示子串,得到该待解码描述子的第一紧凑化表示。
将至少一个第一紧凑化表示子串组合得到该待解码描述子的第一紧凑化表示。
S805、根据该待解码描述子的第一紧凑化表示,得到至少一个3D地图点的重构数据。
其中,S805的相关解释说明可以参见图7所示实施例的S204的具体解释说明,此处不再赘述。
本实施例,通过对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示,根据该待解码描述子的第二紧凑化表示和该待解码描述子对应的至少一个参考描述子的紧凑化表示,得到该待解码描述子的第一紧凑化表示,根据该待解码描述子的第一紧凑化表示,得到至少一个3D地图点的重构数据。编码端先经过紧凑化处理,减少待编码描述子的数据量,之后再将第一紧凑化表示映射为第二紧凑化表示,以改变紧凑化表示的数据分布,进而进一步减少经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。解码端可以对解封装得到的第二紧凑化表示进行反映射,得到第一紧凑化表示,进而得到3D地图点的重构数据。
本申请上述实施例所涉及的待编码描述子的至少一个第一紧凑化表示子串可以是通过如下方式得到:对待编码描述子进行紧凑化处理,得到待编码描述子的第一紧凑化表示,将该第一紧凑化表示划分为一个或多个第一紧凑化表示子串。其中,对于第一紧凑化表示的划分方式有很多实现方式,例如,第一紧凑化表示包括多个二进制信息,一个或连续的多个二进制信息为一个第一紧凑化表示子串,或者,每间隔预设个数(例如2个)的二进制信息为一个第一紧凑化表示子串。举例而言,具体可以参见图17中的(a)和(b)所示,如图17中的(a)所示,连续的3个二进制信息作为一个第一紧凑化表示子串,第一紧凑化表示可以被划分为3个第一紧凑化表示子串。需要说明的是,图17中的(a)以第一紧凑化表示子串的长度相同为例进行举例说明,本申请实施例不以此作为限制,例如,第一紧凑化表示子串的长度也可以不同,本申请实施例不一一举例说明。如图17中的(b)所示,第一紧凑化表示子串的第一个、第四个和第七个二进制信息作为一个第一紧凑化表示子串,第一紧凑化表示子串的第二个、第五个和第八个二进制信息作为一个第一紧凑化表示子串,第一紧凑化表示子串的第三个、第六个和第九个二进制信息作为一个第一紧凑化表示子串。需要说明的是,图17中的(b)以间隔2个二进制信息为例进行举例说明,本申请实施例不以此作为限制,本申请实施例不一一举例说明。
本申请上述实施例通过先经过紧凑化处理,减少待编码描述子的数据量,之后再将第一紧凑化表示映射为第二紧凑化表示,以改变紧凑化表示的数据分布,进而进一步减少经过封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。本申请实施例还提供下述实施例,可以实现相同的技术效果,其具体解释说明可以参见下述实施例。
参见图18,图18是本申请实施例提供的一种3D地图的压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。该方法包括但不限于以下步骤:
S901、对待编码描述子进行聚类处理,得到待编码描述子的至少一个第一中心信息。
该待编码描述子的具体解释说明可以参见图5所示实施例的S101的相关解释说明,此处不再赘述。
该至少一个第一中心信息用于表示待编码描述子的至少一个子特征经聚类处理后的中心。该待编码描述子的任意一个子特征可以理解为由至少一个维度组成的空间中的一个点,这里的中心可以是一个点多个点的几何中心或质心或重心。对于一个点而言,中心就是该一个点或一个子特征本身。对于多个点而言,该多个点可以包括该待编码描述子的多个子特征,或者,该多个点可以包括该待编码描述子的一个或多个子特征和已编码描述子的一个或多个子特征。任意一个第一中心信息可以包括一个中心的编号,或者一个中心的至少一个维度的数值等至少一项。换言之,用第一中心信息表示一个中心,进而代表一类子特征。同一类子特征有一定相似性,不同类子特征存在差异。同一类子特征中各个子特征到中心的距离之和,小于该各个子特征到其他一个子特征的距离之和。
示例性的,可以将待编码描述子划分成一个或多个子特征,对每个子特征进行聚类处理,得到一个或多个第一中心信息。该一个或多个第一中心信息可以是一个或多个聚类中心的编号。
S902、获取待编码描述子对应的参考描述子的至少一个第一参考中心信息。
该参考描述子对应于3D地图的至少一个已编码的3D地图点。该参考描述子的具体解释说明可以参见图5所示实施例的S102的相关解释说明,此处不再赘述。
至少一个第一参考中心信息用于表示参考描述子的至少一个子特征经聚类处理后的中心。该至少一个第一参考中心信息可以是至少一个参考聚类中心的编号。
S903、根据待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,得到待编码描述子的至少一个第二中心信息。
根据至少一个第一参考中心信息,将该待编码描述子的至少一个第一中心信息映射为至少一个第二中心信息。其中,将至少一个第一中心信息映射为至少一个第二中心信息的实现方式可以与上述实施例中将第一紧凑化表示映射为第二紧凑化表示的实现方式相同,其具体实现方式可以参见上述实施例的具体解释说明,此处不再赘述。
举例而言,至少一个第一中心信息为(C1,C2,C3),至少一个第一参考中心信息为(PC1,PC2,PC3),则可以根据(PC1,PC2,PC3)和(C1,C2,C3),得到至少一个第二中心信息为(C1’,C2’,C3’)。
S904、对待编码描述子的至少一个第二中心信息进行紧凑化处理,得到待编码描述子的紧凑化表示。
其中,紧凑化处理的具体解释说明可以参见图5所示实施例的S101,此处不再赘述。
举例而言,对至少一个第二中心信息(C1’,C2’,C3’)进行紧凑化处理,得到待编码描述子的紧凑化表示,该紧凑化表示可以是(D_bin_1’,D_bin_2’,D_bin_3’)。
S905、对该紧凑化表示进行封装,得到3D地图的码流。
可以对该紧凑化表示进行熵编码等处理,以得到3D地图的码流。
在一些实施例中,还可以对该待编码描述子对应的参考描述子的编号,或者参考描述子的编号与待编码描述子的编号的差值,进行封装,以使得3D地图的码流中还携带该参考描述子的编号或编号的差值,解压缩时可以根据该参考描述子的编号或编号的差值获取该参考描述子,基于该参考描述子进行解压缩。
本实施例,通过对待编码描述子进行聚类处理,得到待编码描述子的至少一个第一中心信息,根据待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,得到待编码描述子的至少一个第二中心信息,对待编码描述子的至少一个第二中心信息进行紧凑化处理,得到待编码描述子的紧凑化表示,对该紧凑化表示进行封装,得到3D地图的码流。先经过聚类处理,使用第一中心信息表示原始的待编码描述子,减少待编码描述子的数据量,之后再将至少一个第一中心信息映射为至少一个第二中心信息,以改变中心信息的数据分布,进而进一步减少经过紧凑化处理和封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。
参见图19,图19是本申请实施例提供的一种3D地图的解压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备,或者也可以应用于图1至图4f任一所示例的服务器。该方法包括但不限于以下步骤:
S1001、对3D地图的码流进行解封装,得到待解码描述子的至少一个第二中心信息。
该待解码描述子的具体解释说明可以参见图7所示实施例的S201的相关解释说明,此处不再赘述。
本实施例的待解码描述子的至少一个第二中心信息,即为上述图18所示实施例中的待编码描述子的至少一个第二中心信息。
S1002、获取该待解码描述子对应的参考描述子的至少一个第一参考中心信息。
该参考描述子对应于3D地图的至少一个已解码的3D地图点。该参考描述子的具体解释说明可以参见图7所示实施例的S202的相关解释说明,此处不再赘述。
该至少一个第一参考中心信息用于表示参考描述子的至少一个子特征经聚类处理后的中心。
S1003、根据该待解码描述子的至少一个第二中心信息和该待解码描述子对应的参考描述子的至少一个第一参考中心信息,得到该待解码描述子的至少一个第一中心信息。
通过将该待解码描述子的至少一个第二中心信息反映射为该待解码描述子的至少一个第一中心信息。这里的待解码描述子的至少一个第一中心信息,即为上述图18所示实施例中的待编码描述子的至少一个第一中心信息。
S1004、根据该待解码描述子的至少一个第一中心信息,得到至少一个3D地图点的重构数据。
根据该待解码描述子的至少一个第一中心信息,得到至少一个3D地图点的重构数据。该至少一个3D地图点的重构数据可以用于基于3D地图的定位。
本实施例,通过对3D地图的码流进行解封装,得到待解码描述子的至少一个第二中心信息,根据该待解码描述子的至少一个第二中心信息和该待解码描述子对应的参考描述子的至少一个第一参考中心信息,得到该待解码描述子的至少一个第一中心信息,根据该待解码描述子的至少一个第一中心信息,得到至少一个3D地图点的重构数据。编码端先经过聚类处理,使用第一中心信息表示原始的待编码描述子,减少待编码描述子的数据量,之后再将至少一个第一中心信息映射为至少一个第二中心信息,以改变中心信息的数据分布,进而进一步减少经过紧凑化处理和封装得到的3D地图的码流的数据量,从而减少传输该3D地图的码流所需的资源开销。解码端可以对解封装得到的至少一个第二中心信息进行反映射,得到至少一个第一中心信息,进而得到3D地图点的重构数据。
上文结合附图对本申请实施例的3D地图的压缩方法和解压缩方法进行了详细的介绍,下面结合图14至图16对本申请实施例的3D地图的压缩装置和解压缩装置进行介绍。应理解,3D地图的压缩装置能够执行本申请实施例的3D地图的压缩方法,3D地图的解压缩装置能够执行本申请实施例的3D地图的解压缩方法。为了避免不必要的重复,下面在介绍本申请实施例的3D地图的压缩装置和解压缩装置时适当省略重复的描述。
参见图14,图14为本申请实施例提供的一种3D地图的压缩装置的结构示意图。如图14所示,该3D地图的压缩装置1400可以包括:紧凑化处理模块1401、映射模块1402和封装模块1403。
紧凑化处理模块1401,用于对待编码描述子进行紧凑化处理,得到待编码描述子的第一紧凑化表示。待编码描述子对应3D地图中的至少一个3D地图点。
映射模块1402,用于获取待编码描述子对应的至少一个参考描述子的紧凑化表示。该至少一个参考描述子对应于3D地图的至少一个已编码的3D地图点。映射模块1402还用于根据待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,得到待编码描述子的第二紧凑化表示。封装模块1403,用于对该第二紧凑化表示进行封装,得到3D地图的码流。
在一些实施例中,上述装置还可以包括:传输模块1404。传输模块1404用于接收电子设备发送的3D地图请求信息,响应于该3D地图请求信息,向电子设备发送该3D地图请求信息对应的3D地图的码流。或者,传输模块1404用于向服务器发送3D地图的码流。
在一些实施例中,映射模块1402用于根据待编码描述子的第一紧凑化表示和至少一个参考描述子的紧凑化表示,通过查第一表,得到待编码描述子的第二紧凑化表示。
在一些实施例中,该第一表包括至少一个编码紧凑化表示子串和至少一个第二参考紧凑化表示子串对应的至少一个第三紧凑化表示子串。该待编码描述子的第一紧凑化表示包括待编码描述子的至少一个第一紧凑化表示子串。该至少一个编码紧凑化表示子串包括至少一个第一紧凑化表示子串,该至少一个第二参考紧凑化表示子串包括至少一个参考描述子的至少一个第一参考紧凑化表示子串。映射模块1402用于根据待编码描述子的至少一个第一紧凑化表示子串和待编码描述子对应的参考描述子的至少一个第一参考紧凑化表示子串,从第一表中,获取至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串。根据至少一个第一紧凑化表示子串和至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串,得到待编码描述子的第二紧凑化表示。
在一些实施例中,映射模块1402用于:根据待编码描述子的第一紧凑化表示,通过查第二表,得到待编码描述子的第二紧凑化表示。第二表是基于至少一个参考描述子的紧凑化表示建立的。
在一些实施例中,该待编码描述子的第一紧凑化表示包括待编码描述子的至少一个第一紧凑化表示子串。至少一个参考描述子的紧凑化表示包括至少一个第一参考紧凑化表示子串。该第二表包括至少一个第一参考紧凑化表示子串和至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串。该映射模块1402用于根据待编码描述子的至少一个第一紧凑化表示子串,从第二表中,获取至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串。第二表是基于至少一个第一参考紧凑化表示子串建立的。根据至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串,得到待编码描述子的第二紧凑化表示。
在一些实施例中,映射模块1402用于:将至少一个参考描述子的紧凑化表示和待编码描述子的第一紧凑化表示的异或值或者差值,作为待编码描述子的第二紧凑化表示。
需要说明的是,3D地图的压缩装置1400可以执行图5或图8或图10或图12所示实施例的3D地图的压缩方法。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
本申请实施例还提供另一种3D地图的压缩装置,该3D地图的压缩装置可以采用与图14相同的结构。
其中,映射模块1402,用于对待编码描述子进行聚类处理,得到待编码描述子的至少一个第一中心信息。该待编码描述子对应3D地图中的至少一个3D地图点。至少一个第一中心信息用于表示该待编码描述子的至少一个子特征经聚类处理后的中心。映射模块1402,还用于获取该待编码描述子对应的参考描述子的至少一个第一参考中心信息。该参考描述子对应于3D地图的至少一个已编码的3D地图点。至少一个第一参考中心信息用于表示参考描述子的至少一个子特征经聚类处理后的中心。根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,得到该待编码描述子的至少一个第二中心信息。
紧凑化处理模块1401,用于对待编码描述子的至少一个第二中心信息进行紧凑化处理,得到该待编码描述子的紧凑化表示。
封装模块1403,用于对该紧凑化表示进行封装,得到3D地图的码流。
一种可能的设计中,上述装置还可以包括:传输模块1404。传输模块1404用于接收电子设备发送的3D地图请求信息,响应于3D地图请求信息,向电子设备发送3D地图请求信息对应的所述3D地图的码流,或者,传输模块1404用于向服务器发送3D地图的码流。
一种可能的设计中,映射模块1402具体用于:根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,通过查第一表,得到该待编码描述子的至少一个第二中心信息。
一种可能的设计中,该第一表包括至少一个编码中心信息和至少一个第二参考中心信息对应的至少一个第三中心信息。该至少一个编码中心信息包括该待编码描述子的至少一个第一中心信息,该至少一个第二参考中心信息包括该至少一个第一参考中心信息。映射模块1402具体用于:根据该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息,从第一表中,获取至少一个第一中心信息和至少一个第一参考中心信息对应的至少一个第三中心信息。将该至少一个第三中心信息,作为该待编码描述子的至少一个第二中心信息。
一种可能的设计中,该第一表为多维数组,该多维数组中的各个元素分别对应至少一个编码中心信息或至少一个第二参考中心信息。
一种可能的设计中,映射模块1402具体用于:根据该待编码描述子的至少一个第一中心信息,通过查第二表,得到该待编码描述子的至少一个第二中心信息。该第二表是基于该至少一个第一参考中心信息建立的。
一种可能的设计中,该第二表包括该至少一个第一参考中心信息和该待编码描述子的至少一个第一中心信息对应的至少一个第四中心信息。映射模块1402具体用于:根据该待编码描述子的至少一个第一中心信息,从该第二表中,获取至少一个第一中心信息对应的至少一个第四中心信息。将该至少一个第一中心信息对应的至少一个第四中心信息,作为该待编码描述子的至少一个第二中心信息。
一种可能的设计中,该第二表为至少一维数组,该至少一维数组中的各个元素分别对应至少一个第一中心信息。
一种可能的设计中,映射模块1402具体用于:将该待编码描述子的至少一个第一中心信息和至少一个第一参考中心信息的异或值或者差值,作为该待编码描述子的至少一个第二中心信息。
需要说明的是,该3D地图的压缩装置可以执行图18所示实施例的3D地图的压缩方法。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
参见图15,图15为本申请实施例提供的一种3D地图的解压缩装置的结构示意图。如图15所示,该3D地图的解压缩装置1500可以包括:解封装模块1501、反映射模块1502和重构模块1503。
解封装模块1501,用于对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示。待解码描述子对应3D地图中的至少一个3D地图点。反映射模块1502,用于获取待解码描述子对应的至少一个参考描述子的紧凑化表示。至少一个参考描述子对应于3D地图的至少一个已解码的3D地图点。反映射模块1502,还用于根据待解码描述子的第二紧凑化表示和待解码描述子对应的至少一个参考描述子的紧凑化表示,得到待解码描述子的第一紧凑化表示。重构模块1503,用于根据待解码描述子的第一紧凑化表示,得到至少一个3D地图点的重构数据。
在一些实施例中,上述装置还可以包括:传输模块1504,用于发送3D地图请求信息,接收所述3D地图请求信息对应的3D地图的码流。
在一些实施例中,反映射模块1502用于:根据待解码描述子的第二紧凑化表示和待解码描述子对应的至少一个参考描述子的紧凑化表示,通过查第一表,得到待解码描述子的第一紧凑化表示。
在一些实施例中,反映射模块1502用于:根据待解码描述子的第二紧凑化表示,通过查第二表,得到待解码描述子的第一紧凑化表示。第二表是基于待解码描述子对应的至少一个参考描述子的紧凑化表示建立的。
在一些实施例中,反映射模块1502用于:将至少一个参考描述子的紧凑化表示和待解码描述子的第二紧凑化表示的异或值或者加和值,作为待解码描述子的第一紧凑化表示。
需要说明的是,3D地图的解压缩装置1500可以执行图7或图9或图11或图13所示实施例的3D地图的解压缩方法。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
本申请实施例还提供另一种3D地图的解压缩装置,该3D地图的解压缩装置可以采用与图15相同的结构。
解封装模块1501,用于对3D地图的码流进行解封装,得到待解码描述子的至少一个第二中心信息。该待解码描述子对应所述3D地图中的至少一个3D地图点。
反映射模块1502,用于获取该待解码描述子对应的参考描述子的至少一个第一参考中心信息。该参考描述子对应于所述3D地图的至少一个已解码的3D地图点。该至少一个第一参考中心信息用于表示该参考描述子的至少一个子特征经聚类处理后的中心。根据该待解码描述子的至少一个第二中心信息和该待解码描述子对应的参考描述子的至少一个第一参考中心信息,得到该待解码描述子的至少一个第一中心信息。
重构模块1503,用于根据该待解码描述子的至少一个第一中心信息,得到该至少一个3D地图点的重构数据。
一种可能的设计中,上述装置还可以包括:传输模块1504,用于发送3D地图请求信息,接收3D地图请求信息对应的3D地图的码流。或者,用于接收电子设备发送的3D地图的码流。
一种可能的设计中,反映射模块1502,具体用于:根据待解码描述子的至少一个第二中心信息和待解码描述子对应的参考描述子的至少一个第一参考中心信息,通过查第一表,得到待解码描述子的至少一个第一中心信息。
一种可能的设计中,反映射模块1502,具体用于:根据该待解码描述子的至少一个第二中心信息,通过查第二表,得到待解码描述子的至少一个第一中心信息。第二表是基于待解码描述子对应的参考描述子的至少一个第一参考中心信息建立的。
一种可能的设计中,反映射模块1502,具体用于:将该待解码描述子的至少一个第二中心信息和该待解码描述子对应的参考描述子的至少一个第一参考中心信息的异或值或者加和值,作为待解码描述子的至少一个第一中心信息。
需要说明的是,该3D地图的解压缩装置可以执行图19所示实施例的3D地图的解压缩方法。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
图16为用于本申请实施例的译码装置1600的一种实现方式的示意性框图。其中,获取装置1600可以包括处理器1601、存储器1602和总线系统1603。其中,处理器1601和存储器1602通过总线系统1603相连,该存储器1602用于存储指令,该处理器1601用于执行该存储器1302存储的指令,以执行本申请描述的各种3D地图的压缩或解压缩方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器1601可以是中央处理单元(central processingunit,CPU),该处理器1601还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1602可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器1602。存储器1602可以包括由处理器1601使用总线1603访问的代码和数据16021。存储器1602可以进一步包括操作系统16023和应用程序16022,该应用程序16022包括允许处理器1601执行本申请描述的3D地图的压缩或解压缩方法的至少一个程序。例如,应用程序16022可以包括应用1至N,其进一步包括执行在本申请描述的3D地图的压缩或解压缩方法的3D地图的压缩或解压缩应用(简称3D地图译码应用)。
该总线系统1603除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1603。
可选的,译码装置1600还可以包括一个或多个输出设备,诸如显示器1604。在一个示例中,显示器1604可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1604可以经由总线1603连接到处理器1601。
需要指出的是,译码装置1600可以执行本申请中的3D地图的压缩方法,也可执行本申请中的3D地图的解压缩方法。
上各实施例中提及的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signalprocessor,DSP)、特定应用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
上述各实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (58)

1.一种3D地图的压缩方法,其特征在于,所述方法包括:
对待编码描述子进行紧凑化处理,得到所述待编码描述子的第一紧凑化表示;所述待编码描述子对应所述3D地图中的至少一个3D地图点;
获取所述待编码描述子对应的至少一个参考描述子的紧凑化表示;所述至少一个参考描述子对应于所述3D地图的至少一个已编码的3D地图点;
根据所述待编码描述子的第一紧凑化表示和所述至少一个参考描述子的紧凑化表示,得到所述待编码描述子的第二紧凑化表示;
对所述第二紧凑化表示进行封装,得到所述3D地图的码流。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收电子设备发送的3D地图请求信息,响应于所述3D地图请求信息,向所述电子设备发送所述3D地图请求信息对应的所述3D地图的码流;或者,
向服务器发送所述3D地图的码流。
3.根据权利要求1或2所述的方法,其特征在于,所述第一紧凑化表示的数据分布与所述第二紧凑化表示的数据分布不同。
4.根据权利要求3所述的方法,其特征在于,所述待编码描述子的第一紧凑化表示包括所述待编码描述子的至少一个第一紧凑化表示子串,所述待编码描述子的第二紧凑化表示包括所述待编码描述子的至少一个第二紧凑化表示子串;所述至少一个第一紧凑化表示子串与所述至少一个第二紧凑化表示子串不同。
5.根据权利要求4所述的方法,其特征在于,所述至少一个第二紧凑化表示子串中部分或全部小于或等于对应的第一紧凑化表示子串;或者,所述至少一个第二紧凑化表示子串中部分或全部大于或等于对应的第一紧凑化表示子串。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述待编码描述子的第一紧凑化表示和所述至少一个参考描述子的紧凑化表示,得到所述待编码描述子的第二紧凑化表示,包括:
根据所述待编码描述子的第一紧凑化表示和所述至少一个参考描述子的紧凑化表示,通过查第一表,得到所述待编码描述子的第二紧凑化表示。
7.根据权利要求6所述的方法,其特征在于,所述第一表包括至少一个编码紧凑化表示子串和至少一个第二参考紧凑化表示子串对应的至少一个第三紧凑化表示子串;
所述至少一个编码紧凑化表示子串包括所述待编码描述子的至少一个第一紧凑化表示子串,所述至少一个第二参考紧凑化表示子串包括所述至少一个参考描述子的至少一个第一参考紧凑化表示子串;
所述根据所述待编码描述子的第一紧凑化表示和所述参考描述子的紧凑化表示,通过查第一表,得到所述待编码描述子的第二紧凑化表示,包括:
根据所述待编码描述子的至少一个第一紧凑化表示子串和所述待编码描述子对应的参考描述子的至少一个第一参考紧凑化表示子串,从所述第一表中,获取所述至少一个第一紧凑化表示子串和所述至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串;
根据所述至少一个第一紧凑化表示子串和所述至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串,得到所述待编码描述子的第二紧凑化表示。
8.根据权利要求7所述的方法,其特征在于,所述第一表为多维数组,所述多维数组中的各个元素分别对应至少一个编码紧凑化表示子串或至少一个第二参考紧凑化表示子串。
9.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述待编码描述子的第一紧凑化表示和所述至少一个参考描述子的紧凑化表示,得到所述待编码描述子的第二紧凑化表示,包括:
根据所述待编码描述子的第一紧凑化表示,通过查第二表,得到所述待编码描述子的第二紧凑化表示;所述第二表是基于所述至少一个参考描述子的紧凑化表示建立的。
10.根据权利要求9所述的方法,其特征在于,所述至少一个参考描述子的紧凑化表示包括至少一个第一参考紧凑化表示子串;所述第二表包括所述至少一个第一参考紧凑化表示子串和所述待编码描述子的至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串;
所述根据所述待编码描述子的第一紧凑化表示,通过查第二表,得到所述待编码描述子的第二紧凑化表示,包括:
根据所述待编码描述子的至少一个第一紧凑化表示子串,从所述第二表中,获取所述至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串;所述第二表是基于所述至少一个第一参考紧凑化表示子串建立的;
根据所述至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串,得到所述待编码描述子的第二紧凑化表示。
11.根据权利要求10所述的方法,其特征在于,所述第二表为至少一维数组,所述至少一维数组中的各个元素分别对应至少一个第一紧凑化表示子串。
12.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述待编码描述子的第一紧凑化表示和所述至少一个参考描述子的紧凑化表示,得到所述待编码描述子的第二紧凑化表示,包括:
将所述至少一个参考描述子的紧凑化表示和所述待编码描述子的第一紧凑化表示的异或值或者差值,作为所述待编码描述子的第二紧凑化表示。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述待编码描述子包括区域描述子或3D地图点描述子。
14.根据权利要求1至13任一项所述的方法,其特征在于,所述待编码描述子对应的至少一个参考描述子,包括:
所述待编码描述子之前的已压缩的至少一个描述子;或者,
至少一个预设描述子;或者,
通过神经网络模型或聚类确定的至少一个描述子。
15.根据权利要求1至14任一项所述的方法,其特征在于,所述紧凑化处理包括量化处理或二值化处理,所述量化处理或二值化处理用于减少所述待编码描述子的比特数。
16.一种3D地图的解压缩方法,其特征在于,所述方法包括:
对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示;所述待解码描述子对应所述3D地图中的至少一个3D地图点;
获取所述待解码描述子对应的至少一个参考描述子的紧凑化表示;所述至少一个参考描述子对应于所述3D地图的至少一个已解码的3D地图点;
根据所述待解码描述子的第二紧凑化表示和所述待解码描述子对应的至少一个参考描述子的紧凑化表示,得到所述待解码描述子的第一紧凑化表示;
根据所述待解码描述子的第一紧凑化表示,得到所述至少一个3D地图点的重构数据。
17.根据权利要求16所述的方法,其特征在于,所述方法还包括:
发送3D地图请求信息,接收所述3D地图请求信息对应的3D地图的码流。
18.根据权利要求16或17所述的方法,其特征在于,所述第一紧凑化表示的数据分布与所述第二紧凑化表示的数据分布不同。
19.根据权利要求18所述的方法,其特征在于,所述待解码描述子的第一紧凑化表示包括所述待解码描述子的至少一个第一紧凑化表示子串,所述待解码描述子的第二紧凑化表示包括所述待解码描述子的至少一个第二紧凑化表示子串;所述至少一个第一紧凑化表示子串与所述至少一个第二紧凑化表示子串不同。
20.根据权利要求19所述的方法,其特征在于,所述至少一个第二紧凑化表示子串中部分或全部小于或等于对应的第一紧凑化表示子串;或者,所述至少一个第二紧凑化表示子串中部分或全部大于或等于对应的第一紧凑化表示子串。
21.根据权利要求16至20任一项所述的方法,其特征在于,所述根据所述待解码描述子的第二紧凑化表示和所述待解码描述子对应的至少一个参考描述子的紧凑化表示,得到所述待解码描述子的第一紧凑化表示,包括:
根据所述待解码描述子的第二紧凑化表示和所述待解码描述子对应的至少一个参考描述子的紧凑化表示,通过查第一表,得到所述待解码描述子的第一紧凑化表示。
22.根据权利要求16至20任一项所述的方法,其特征在于,所述根据所述待解码描述子的第二紧凑化表示和所述待解码描述子对应的至少一个参考描述子的紧凑化表示,得到所述待解码描述子的第一紧凑化表示,包括:
根据所述待解码描述子的第二紧凑化表示,通过查第二表,得到所述待解码描述子的第一紧凑化表示;所述第二表是基于所述待解码描述子对应的至少一个参考描述子的紧凑化表示建立的。
23.根据权利要求16至20任一项所述的方法,其特征在于,所述根据所述待解码描述子的第二紧凑化表示和所述待解码描述子对应的至少一个参考描述子的紧凑化表示,得到所述待解码描述子的第一紧凑化表示,包括:
将所述至少一个参考描述子的紧凑化表示和所述待解码描述子的第二紧凑化表示的异或值或者加和值,作为所述待解码描述子的第一紧凑化表示。
24.一种3D地图的压缩装置,其特征在于,所述装置包括:
紧凑化处理模块,用于对待编码描述子进行紧凑化处理,得到所述待编码描述子的第一紧凑化表示;所述待编码描述子对应所述3D地图中的至少一个3D地图点;
映射模块,用于获取所述待编码描述子对应的至少一个参考描述子的紧凑化表示;所述至少一个参考描述子对应于所述3D地图的至少一个已编码的3D地图点;
映射模块,还用于根据所述待编码描述子的第一紧凑化表示和所述至少一个参考描述子的紧凑化表示,得到所述待编码描述子的第二紧凑化表示;
封装模块,用于对所述第二紧凑化表示进行封装,得到所述3D地图的码流。
25.根据权利要求24所述的装置,其特征在于,所述装置还包括:传输模块;
所述传输模块,用于接收电子设备发送的3D地图请求信息,响应于所述3D地图请求信息,向所述电子设备发送所述3D地图请求信息对应的所述3D地图的码流;或者,
所述传输模块,用于向服务器发送所述3D地图的码流。
26.根据权利要求24或25所述的装置,其特征在于,所述第一紧凑化表示的数据分布与所述第二紧凑化表示的数据分布不同。
27.根据权利要求26所述的装置,其特征在于,所述待编码描述子的第一紧凑化表示包括所述待编码描述子的至少一个第一紧凑化表示子串,所述待编码描述子的第二紧凑化表示包括所述待编码描述子的至少一个第二紧凑化表示子串;所述至少一个第一紧凑化表示子串与所述至少一个第二紧凑化表示子串不同。
28.根据权利要求27所述的装置,其特征在于,所述至少一个第二紧凑化表示子串中部分或全部小于或等于对应的第一紧凑化表示子串;或者,所述至少一个第二紧凑化表示子串中部分或全部大于或等于对应的第一紧凑化表示子串。
29.根据权利要求24至28任一项所述的装置,其特征在于,所述映射模块用于:根据所述待编码描述子的第一紧凑化表示和所述至少一个参考描述子的紧凑化表示,通过查第一表,得到所述待编码描述子的第二紧凑化表示。
30.根据权利要求29所述的装置,其特征在于,所述第一表包括至少一个编码紧凑化表示子串和至少一个第二参考紧凑化表示子串对应的至少一个第三紧凑化表示子串;
所述至少一个编码紧凑化表示子串包括所述待编码描述子的至少一个第一紧凑化表示子串,所述至少一个第二参考紧凑化表示子串包括所述至少一个参考描述子的至少一个第一参考紧凑化表示子串;
所述映射模块用于:根据所述待编码描述子的至少一个第一紧凑化表示子串和所述待编码描述子对应的参考描述子的至少一个第一参考紧凑化表示子串,从所述第一表中,获取所述至少一个第一紧凑化表示子串和所述至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串;根据所述至少一个第一紧凑化表示子串和所述至少一个第一参考紧凑化表示子串对应的至少一个第三紧凑化表示子串,得到所述待编码描述子的第二紧凑化表示。
31.根据权利要求30所述的装置,其特征在于,所述第一表为多维数组,所述多维数组中的各个元素分别对应至少一个编码紧凑化表示子串或至少一个第二参考紧凑化表示子串。
32.根据权利要求24至28任一项所述的装置,其特征在于,所述映射模块,用于:根据所述待编码描述子的第一紧凑化表示,通过查第二表,得到所述待编码描述子的第二紧凑化表示;所述第二表是基于所述至少一个参考描述子的紧凑化表示建立的。
33.根据权利要求32所述的装置,其特征在于,所述至少一个参考描述子的紧凑化表示包括至少一个第一参考紧凑化表示子串;所述第二表包括所述至少一个第一参考紧凑化表示子串和所述待编码描述子的至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串;
所述映射模块,用于:根据所述待编码描述子的至少一个第一紧凑化表示子串,从所述第二表中,获取所述至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串;所述第二表是基于所述至少一个第一参考紧凑化表示子串建立的;根据所述至少一个第一紧凑化表示子串对应的至少一个第四紧凑化表示子串,得到所述待编码描述子的第二紧凑化表示。
34.根据权利要求33所述的装置,其特征在于,所述第二表为至少一维数组,所述至少一维数组中的各个元素分别对应至少一个第一紧凑化表示子串。
35.根据权利要求24至28任一项所述的装置,其特征在于,所述映射模块,用于:将所述至少一个参考描述子的紧凑化表示和所述待编码描述子的第一紧凑化表示的异或值或者差值,作为所述待编码描述子的第二紧凑化表示。
36.根据权利要求24至35任一项所述的装置,其特征在于,所述待编码描述子包括区域描述子或3D地图点描述子。
37.根据权利要求24至36任一项所述的装置,其特征在于,所述待编码描述子对应的至少一个参考描述子,包括:
所述待编码描述子之前的已压缩的至少一个描述子;或者,
至少一个预设描述子;或者,
通过神经网络模型或聚类确定的至少一个描述子。
38.根据权利要求24至37任一项所述的装置,其特征在于,所述紧凑化处理包括量化处理或二值化处理,所述量化处理或二值化处理用于减少所述待编码描述子的比特数。
39.一种3D地图的解压缩装置,其特征在于,所述装置包括:
解封装模块,用于对3D地图的码流进行解封装,得到待解码描述子的第二紧凑化表示;所述待解码描述子对应所述3D地图中的至少一个3D地图点;
反映射模块,用于获取所述待解码描述子对应的至少一个参考描述子的紧凑化表示;所述至少一个参考描述子对应于所述3D地图的至少一个已解码的3D地图点;
反映射模块,还用于根据所述待解码描述子的第二紧凑化表示和所述待解码描述子对应的至少一个参考描述子的紧凑化表示,得到所述待解码描述子的第一紧凑化表示;
重构模块,用于根据所述待解码描述子的第一紧凑化表示,得到所述至少一个3D地图点的重构数据。
40.根据权利要求39所述的装置,其特征在于,所述装置还包括:
传输模块,用于发送3D地图请求信息,接收所述3D地图请求信息对应的3D地图的码流。
41.根据权利要求39或40所述的装置,其特征在于,所述第一紧凑化表示的数据分布与所述第二紧凑化表示的数据分布不同。
42.根据权利要求41所述的装置,其特征在于,所述待解码描述子的第一紧凑化表示包括所述待解码描述子的至少一个第一紧凑化表示子串,所述待解码描述子的第二紧凑化表示包括所述待解码描述子的至少一个第二紧凑化表示子串;所述至少一个第一紧凑化表示子串与所述至少一个第二紧凑化表示子串不同。
43.根据权利要求42所述的装置,其特征在于,所述至少一个第二紧凑化表示子串中部分或全部小于或等于对应的第一紧凑化表示子串;或者,所述至少一个第二紧凑化表示子串中部分或全部大于或等于对应的第一紧凑化表示子串。
44.根据权利要求39至43任一项所述的装置,其特征在于,所述反映射模块,用于:根据所述待解码描述子的第二紧凑化表示和所述待解码描述子对应的至少一个参考描述子的紧凑化表示,通过查第一表,得到所述待解码描述子的第一紧凑化表示。
45.根据权利要求39至43任一项所述的装置,其特征在于,所述反映射模块,用于:根据所述待解码描述子的第二紧凑化表示,通过查第二表,得到所述待解码描述子的第一紧凑化表示;所述第二表是基于所述待解码描述子对应的至少一个参考描述子的紧凑化表示建立的。
46.根据权利要求39至43任一项所述的装置,其特征在于,所述反映射模块,用于:将所述至少一个参考描述子的紧凑化表示和所述待解码描述子的第二紧凑化表示的异或值或者加和值,作为所述待解码描述子的第一紧凑化表示。
47.一种3D地图的压缩方法,其特征在于,所述方法包括:
对待编码描述子进行聚类处理,得到所述待编码描述子的至少一个第一中心信息;所述待编码描述子对应所述3D地图中的至少一个3D地图点;所述至少一个第一中心信息用于表示所述待编码描述子的至少一个子特征经所述聚类处理后的中心;
获取所述待编码描述子对应的参考描述子的至少一个第一参考中心信息;所述参考描述子对应于所述3D地图的至少一个已编码的3D地图点;所述至少一个第一参考中心信息用于表示所述参考描述子的至少一个子特征经聚类处理后的中心;
根据所述至少一个第一中心信息和所述至少一个第一参考中心信息,得到所述待编码描述子的至少一个第二中心信息;
对所述待编码描述子的至少一个第二中心信息进行紧凑化处理,得到所述待编码描述子的紧凑化表示;
对所述紧凑化表示进行封装,得到3D地图的码流。
48.根据权利要求47所述的方法,其特征在于,所述根据所述至少一个第一中心信息和所述至少一个第一参考中心信息,得到所述待编码描述子的至少一个第二中心信息,包括:
根据所述至少一个第一中心信息和所述至少一个第一参考中心信息,通过查第一表,得到所述待编码描述子的至少一个第二中心信息。
49.根据权利要求48所述的方法,其特征在于,所述第一表包括至少一个编码中心信息和至少一个第二参考中心信息对应的至少一个第三中心信息;
所述至少一个编码中心信息包括所述至少一个第一中心信息,所述至少一个第二参考中心信息包括所述至少一个第一参考中心信息;
所述根据所述至少一个第一中心信息和所述至少一个第一参考中心信息,通过查第一表,得到所述待编码描述子的至少一个第二中心信息,包括:
根据所述至少一个第一中心信息和所述至少一个第一参考中心信息,从所述第一表中,获取所述至少一个第一中心信息和所述至少一个第一参考中心信息对应的至少一个第三中心信息;
将所述至少一个第三中心信息,作为所述待编码描述子的至少一个第二中心信息。
50.根据权利要求49所述的方法,其特征在于,所述第一表为多维数组,所述多维数组中的各个元素分别对应至少一个编码中心信息或至少一个第二参考中心信息。
51.根据权利要求47所述的方法,其特征在于,所述根据所述至少一个第一中心信息和所述至少一个第一参考中心信息,得到所述待编码描述子的至少一个第二中心信息,包括:
根据所述至少一个第一中心信息,通过查第二表,得到所述待编码描述子的至少一个第二中心信息;所述第二表是基于所述至少一个第一参考中心信息建立的。
52.根据权利要求51所述的方法,其特征在于,所述第二表包括所述至少一个第一参考中心信息和所述至少一个第一中心信息对应的至少一个第四中心信息;
所述根据所述至少一个第一中心信息,通过查第二表,得到所述待编码描述子的至少一个第二中心信息,包括:
根据所述至少一个第一中心信息,从所述第二表中,获取所述至少一个第一中心信息对应的至少一个第四中心信息;
将所述至少一个第一中心信息对应的至少一个第四中心信息,作为所述待编码描述子的至少一个第二中心信息。
53.根据权利要求52所述的方法,其特征在于,所述第二表为至少一维数组,所述至少一维数组中的各个元素分别对应至少一个第一中心信息。
54.根据权利要求47所述的方法,其特征在于,所述根据所述至少一个第一中心信息和所述至少一个第一参考中心信息,得到所述待编码描述子的至少一个第二中心信息,包括:
将所述至少一个第一中心信息和所述至少一个第一参考中心信息的异或值或者差值,作为所述待编码描述子的至少一个第二中心信息。
55.一种3D地图的解压缩方法,其特征在于,所述方法包括:
对3D地图的码流进行解封装,得到待解码描述子的至少一个第二中心信息;所述待解码描述子对应所述3D地图中的至少一个3D地图点;
获取所述待解码描述子对应的参考描述子的至少一个第一参考中心信息;所述参考描述子对应于所述3D地图的至少一个已解码的3D地图点;所述至少一个第一参考中心信息用于表示所述参考描述子的至少一个子特征经聚类处理后的中心;
根据所述至少一个第二中心信息和所述至少一个第一参考中心信息,得到所述待解码描述子的至少一个第一中心信息;
根据所述待解码描述子的至少一个第一中心信息,得到所述至少一个3D地图点的重构数据。
56.一种3D地图的压缩装置,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-15中任一项所述的方法或如权利要求47-54中任一项所述的方法。
57.一种3D地图的解压缩装置,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求16-23中任一项所述的方法或如权利要求55所述的方法。
58.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行权利要求1-23中任一项所述的方法或权利要求47-55任一项所述的方法。
CN202110823842.7A 2021-06-04 2021-07-21 3d地图的压缩、解压缩方法和装置 Pending CN115442338A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP22815272.4A EP4336779A1 (en) 2021-06-04 2022-05-31 3d map compression method and apparatus, and 3d map decompression method and apparatus
KR1020247000350A KR20240017917A (ko) 2021-06-04 2022-05-31 3d 맵 압축 방법 및 장치, 및 3d 맵 압축해제 방법 및 장치
PCT/CN2022/096261 WO2022253228A1 (zh) 2021-06-04 2022-05-31 3d地图的压缩、解压缩方法和装置
US18/528,022 US20240104781A1 (en) 2021-06-04 2023-12-04 3D Map Compression Method and Apparatus, and 3D Map Decompression Method and Apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110627636 2021-06-04
CN2021106276369 2021-06-04

Publications (1)

Publication Number Publication Date
CN115442338A true CN115442338A (zh) 2022-12-06

Family

ID=84272004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110823842.7A Pending CN115442338A (zh) 2021-06-04 2021-07-21 3d地图的压缩、解压缩方法和装置

Country Status (5)

Country Link
US (1) US20240104781A1 (zh)
EP (1) EP4336779A1 (zh)
KR (1) KR20240017917A (zh)
CN (1) CN115442338A (zh)
WO (1) WO2022253228A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968632A (zh) * 2012-10-15 2013-03-13 北京大学 获取图像的紧凑全局特征描述子的方法及图像检索方法
CN103218427A (zh) * 2013-04-08 2013-07-24 北京大学 局部描述子的提取方法、图像检索方法及图像匹配方法
CN103955690A (zh) * 2014-04-15 2014-07-30 合肥工业大学 一种紧凑的图像局部特征描述子的构造方法
CN105868814A (zh) * 2015-01-23 2016-08-17 阿里巴巴集团控股有限公司 图像码的解析方法及装置、图像码的生成方法及装置
US9799130B1 (en) * 2015-10-27 2017-10-24 Google Inc. Lossless spatial feature descriptor compression
US20200137393A1 (en) * 2017-06-29 2020-04-30 B<>Com Method for decoding an image, encoding method, devices, terminal equipment and associated computer programs

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210027505A1 (en) * 2018-04-11 2021-01-28 Sony Corporation Image processing apparatus and method
CN110866953B (zh) * 2019-10-31 2023-12-29 Oppo广东移动通信有限公司 地图构建方法及装置、定位方法及装置
CN111639147B (zh) * 2020-04-24 2021-02-05 视辰信息科技(上海)有限公司 一种地图压缩方法、系统及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968632A (zh) * 2012-10-15 2013-03-13 北京大学 获取图像的紧凑全局特征描述子的方法及图像检索方法
CN103218427A (zh) * 2013-04-08 2013-07-24 北京大学 局部描述子的提取方法、图像检索方法及图像匹配方法
CN103955690A (zh) * 2014-04-15 2014-07-30 合肥工业大学 一种紧凑的图像局部特征描述子的构造方法
CN105868814A (zh) * 2015-01-23 2016-08-17 阿里巴巴集团控股有限公司 图像码的解析方法及装置、图像码的生成方法及装置
US9799130B1 (en) * 2015-10-27 2017-10-24 Google Inc. Lossless spatial feature descriptor compression
US20200137393A1 (en) * 2017-06-29 2020-04-30 B<>Com Method for decoding an image, encoding method, devices, terminal equipment and associated computer programs

Also Published As

Publication number Publication date
US20240104781A1 (en) 2024-03-28
EP4336779A1 (en) 2024-03-13
WO2022253228A1 (zh) 2022-12-08
KR20240017917A (ko) 2024-02-08

Similar Documents

Publication Publication Date Title
CN102929969A (zh) 一种基于互联网的移动端三维城市模型实时搜索与合成技术
CN112381828A (zh) 基于语义和深度信息的定位方法、装置、介质与设备
CN113822427A (zh) 一种模型训练的方法、图像匹配的方法、装置及存储介质
WO2021088497A1 (zh) 虚拟物体显示方法、全局地图更新方法以及设备
US20210227102A1 (en) Systems and methods for synchronizing frame timing between physical layer frame and video frame
WO2023051383A1 (zh) 一种设备定位方法、设备及系统
WO2022253228A1 (zh) 3d地图的压缩、解压缩方法和装置
WO2022252345A1 (zh) 3d地图的压缩、解压缩方法和装置
WO2022252234A1 (zh) 3d地图的编码装置和方法
WO2022252236A1 (zh) 3d地图的编解码方法及装置
WO2022252237A1 (zh) 3d地图的编解码方法及装置
EP4343574A1 (en) 3d map compression method and apparatus, and 3d map decompression method and apparatus
US20240119639A1 (en) Apparatus and method for decoding 3d map, and encoded bitstream of 3d map
CN116700334A (zh) 多无人机的协同处理方法及装置
EP4136866A1 (en) Localization and mapping by a group of mobile communications devices

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