WO2022252337A1 - 3d地图的编解码方法及装置 - Google Patents

3d地图的编解码方法及装置 Download PDF

Info

Publication number
WO2022252337A1
WO2022252337A1 PCT/CN2021/104601 CN2021104601W WO2022252337A1 WO 2022252337 A1 WO2022252337 A1 WO 2022252337A1 CN 2021104601 W CN2021104601 W CN 2021104601W WO 2022252337 A1 WO2022252337 A1 WO 2022252337A1
Authority
WO
WIPO (PCT)
Prior art keywords
map
quantization step
quantization
step size
point
Prior art date
Application number
PCT/CN2021/104601
Other languages
English (en)
French (fr)
Inventor
曹潇然
苏琪
涂晨曦
蔡康颖
Original Assignee
华为技术有限公司
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
Priority claimed from PCT/CN2021/098482 external-priority patent/WO2022252234A1/zh
Priority claimed from PCT/CN2021/098483 external-priority patent/WO2022252235A1/zh
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN202180098947.9A priority Critical patent/CN117413523A/zh
Publication of WO2022252337A1 publication Critical patent/WO2022252337A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/45Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/487Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree 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

Abstract

本申请提供一种3D地图的编解码方法及装置。本申请3D地图的编码方法,包括:获取3D地图;所述3D地图包括N个3D地图点,N>1;获取所述N个3D地图点中第i个3D地图点的邻居3D地图点的数量,i∈[1,N];所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点:根据所述第i个3D地图点的邻居3D地图点的数量确定第i量化步长;根据所述第i量化步长对所述第i个3D地图点的空间位置坐标进行量化得到第i量化数据;对所述第i量化数据进行编码。本申请可以减少3D地图的数据量,进而减少传输带宽,提高传输效率。

Description

3D地图的编解码方法及装置 技术领域
本申请涉及3D地图技术,尤其涉及3D地图的编解码方法及装置。
背景技术
虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)和混合现实(mixed reality,MR)技术是近年来新兴的多媒体虚拟场景技术。这一类技术可以创建虚拟现实,并将虚拟现实和真实世界叠加,产生新的可视化环境和交互体验。在这类应用中,电子设备需要确定自身在当前环境中的位姿信息,以精确的实现虚拟物体与真实场景的融合。
另一方面,在自动驾驶、自主导航、无人机自动巡检、工业机器人等应用中,车辆、无人机、机器人等载具,需要通过确定其上搭载的电子设备的位姿来确定自身在当前环境中的位姿,以进行精确的路径规划、导航、检测、操控。
针对以上应用中,需确定电子设备在当前环境中的位姿的问题,一个典型的解决方案是:电子设备从服务器或者其他设备接收所处环境的3D地图,再通过本地传感器采集所处环境中的视觉信息,结合采集的视觉信息和下载的3D地图确定电子设备的当前位姿。
然而,原始的3D地图通常包含的数据量巨大,传输地图需要消耗大量的带宽和时间,严重的限制了应用的性能、影响了用户体验。
发明内容
本申请提供一种3D地图的编解码方法及装置,以减少3D地图的数据量,进而减少传输带宽,提高传输效率。
第一方面,本申请提供一种3D地图的编码方法,包括:获取3D地图;3D地图包括N个3D地图点,N>1;获取N个3D地图点中第i个3D地图点的邻居3D地图点的数量,i∈[1,N];第i个3D地图点的邻居3D地图点是N个3D地图点中到第i个3D地图点的距离满足预设距离条件的3D地图点:根据第i个3D地图点的邻居3D地图点的数量确定第i量化步长;根据第i量化步长对第i个3D地图点的空间位置坐标进行量化得到第i量化数据;对第i量化数据进行编码。
3D地图包括N个3D地图点,N>1。3D地图点是环境中令人感兴趣的或者具有显著特征的点。例如,建筑物的外观中有显著特征的点,或者,地理位置中与周边环境有明显区别的点,等等。
相应的,3D地图的数据可以包括N个3D地图点的数据。其中,3D地图点的数据可以包括3D地图点的空间位置坐标。3D地图点的空间位置坐标可以采用三维空间轴线上的X、Y、Z表示,也可以采用经纬度、海拔高度表示,还可以采用极坐标等方式表示,本申请实施例对3D地图点的空间位置坐标的表示方法不做具体限制。3D地图点的空间位置坐标可以是3D地图点的绝对位置,也可以是3D地图点的相对位置,例如,以整个区域的中心位置为原点,所有3D地图点的空间位置坐标都是相对于原点的空间位置坐标的偏移位置。
i∈[1,N],第i个3D地图点的邻居3D地图点是上述N个3D地图点中到第i个3D地 图点的距离满足预设距离条件的3D地图点。
本申请实施例中,编码装置可以先获取M个取值范围及其对应的M个量化步长,M>1。然后将第i个3D地图点的邻居3D地图点的数量在M个取值范围中所属的取值范围确定为目标取值范围。再将目标取值范围对应的量化步长确定为第i量化步长。该M个量化步长不相同,且不同的量化步长所对应的取值范围不同。
第i量化步长可以是标量,也可以是向量。相应的,
当第i量化步长是标量时,将第i个3D地图点的空间位置坐标包括的多个分量分别除以该标量并取整以得到第i个3D地图点的空间位置坐标的量化数据。当第i量化步长是向量时,将第i个3D地图点的空间位置坐标包括的多个分量分别除以向量中对应的元素并取整以得到第i个3D地图点的空间位置坐标的量化数据。
本申请实施例中,基于3D地图点的邻居3D地图点的数量确定3D地图点对应的量化步长,进而根据该量化步长对3D地图点的空间位置坐标进行量化处理,码流中写入的是量化数据可以减小3D地图点的数据量,进而减少占用的比特数,节省码流,从而减少传输3D地图点时的占用的带宽。
在一种可能的实现方式中,所述根据所述第i个3D地图点的邻居3D地图点的数量确定第i量化步长,包括:获取M个取值范围;M个取值范围是预先设定的;M个取值范围互不交叠;M>1;获取与M个取值范围对应的M个量化步长;M个量化步长是预先设定的;不同的取值范围对应不同的量化步长;将第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为第i量化步长;其中,第i取值范围为M个取值范围中的一个。
第i取值范围在M个取值范围中值域越大,第i量化步长越大;或者,第i取值范围在M个取值范围中值域越大,第i量化步长越小。例如,M个取值范围为(0,R 1],(R 1,R2,R2,R3,…(RM-1,RM),其中,RM可以是无穷大,与其对应的,M个量化步长分别为Q 1,Q 2,Q 3,…,Q M。第i量化步长对应的取值范围的值域越大,第i量化步长越大,即Q 1<Q 2<Q 3<…<Q M;或者,第i量化步长对应的取值范围的值域越大,第i量化步长越小,即Q 1>Q 2>Q 3>…>Q M
在一种可能的实现方式中,所述根据所述第i个3D地图点的邻居3D地图点的数量确定第i量化步长,包括:对第一数量和第二数量之间的取值区间进行划分得到M个取值范围,第一数量是N个3D地图点的邻居3D地图点的数量中的最小者,第二数量是N个3D地图点的邻居3D地图点的数量中的最大者;确定M个取值范围对应的M个量化步长;M个量化步长不相同,M>1;将第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为第i量化步长;其中,第i取值范围为M个取值范围中的一个。
在一种可能的实现方式中,确定M个取值范围对应的M个量化步长,包括:根据公式计算得到第i取值范围对应的第i量化步长:
Figure PCTCN2021104601-appb-000001
其中,Q sum表示预先设定的量化步长总和,N i表示第i取值范围对应的3D地图点的邻居3D地图点的数量之和,N j表示第j取值范围对应的3D地图点的邻居3D地图点的数 量之和,第j取值范围为M个取值范围中的一个。
示例性的,N个3D地图点的邻居3D地图点的数量集合为{n i},i∈[1,N],n i表示第i个3D地图点的邻居3D地图点的数量,预先设定的量化步长总和为Q sum,{n i}中的最小值(即第一数量)为n min,{n i}中的最大值(即第二数量)为n max。因此可以得到待划分的完整取值范围为[R min,R max],其中,R min=n min,R max=n max
编码装置可以对上述完整取值范围均匀采样,得到采样间隔
Figure PCTCN2021104601-appb-000002
进而得到M个取值范围为[R min,R min+D],(R min+D,R min+2D],(R min+2D,R min+3D],…(R min+(M-1D,Rmax]。
基于上述M个取值范围,可以根据N个3D地图点的邻居3D地图点的数量集合{n i}确定出M个取值范围分别对应的3D地图点,其中,每个取值范围对应的3D地图点是指该3D地图点的邻居3D地图点的数量在取值范围内。例如,第p个3D地图点的邻居3D地图点的数量∈(R min+(j-1)D,R min+jD],第q个3D地图点的邻居3D地图点的数量∈(R min+(j-1)D,R min+jD],p、q∈[1,N],j∈[1,M],因此第j取值范围对应的3D地图点为第p个3D地图点和第q个3D地图点。需要说明的是,可以是M个取值范围中的每个取值范围都对应一个或多个3D地图点,也可以是M个取值范围中的部分取值范围分别对应一个或多个3D地图点,而另一部分取值范围没有对应的3D地图点,对此不做具体限定。
在确定了上述M个取值范围分别对应的3D地图点之后,针对第j取值范围,可以根据第j取值范围对应的3D地图点的邻居3D地图点的数量计算其对应的量化步长Q i
Figure PCTCN2021104601-appb-000003
其中,N i表示第i取值范围对应的3D地图点的邻居3D地图点的数量之和,N j表示第j取值范围对应的3D地图点的邻居3D地图点的数量之和。
在一种可能的实现方式中,获取N个3D地图点中第i个3D地图点的邻居3D地图点的数量,包括:获取N个3D地图点中除第i个3D地图点外的其它N-1个3D地图点分别与第i个3D地图点的距离,距离的类型是汉明距离、曼哈顿距离和欧氏距离的其中之一;将距离小于L的3D地图点的个数确定为第i个3D地图点的邻居3D地图点的数量;L的取值是预先设定的。
在一种可能的实现方式中,所述方法还包括:确定M个量化步长的编号;将M个量化步长的编号中对应于第i量化步长的编号写入码流中。
在得到第i个3D地图点对应的量化步长(第i量化步长)后,可以只把第i量化步长的编号写入码流中。这样相对于在码流中写入第i量化步长,只写第i量化步长的编号可以减少占用的比特数,节省码流。
在一种可能的实现方式中,所述方法还包括:确定第一列表,第一列表包括M个量化步长;确定第i量化步长在M个量化步长中的第i编号;将第一列表和第i编号写入码流。
针对上述动态确定M个取值范围及其对应的M个量化步长的方式,由于解码装置无法获取到M个取值范围及其对应的M个量化步长,因此编码装置需要将第一列表写入码 流,第一列表包括M个量化步长,这样解码装置在解析码流后可以得到第一列表中包括的M个量化步长,然后将M个量化步长中与第i编号对应的量化步长确定为第i量化步长。这样编码装置只需要在码流中写入一次M个量化步长,后续只需写入3D地图点对应的量化步长的编号,仍然可以减少占用的比特数,节省码流。
第二方面,本申请提供一种3D地图的解码方法,包括:获取码流;解析码流以得到第i量化数据和第i编号,i∈[1,N],N>1;根据第i编号获取第i量化步长;第i量化步长和第i个3D地图点的邻居3D地图点的数量有关;第i个3D地图点的邻居3D地图点是N个3D地图点中到第i个3D地图点的距离满足预设距离条件的3D地图点;第i个3D地图点是3D地图包括的N个3D地图点中的一个;根据第i量化步长对第i量化数据进行反量化以得到第i个3D地图点的空间位置坐标的重建数据。
本申请实施例中,基于3D地图点的邻居3D地图点的数量确定3D地图点对应的量化步长,进而根据该量化步长对3D地图点的空间位置坐标进行量化处理,码流中写入的是量化数据和量化步长对应的编号,可以减小3D地图点的数据量,进而减少占用的比特数,节省码流,从而减少传输3D地图点时的占用的带宽,还可以提高解码装置的解码效率。
在一种可能的实现方式中,根据第i量化步长的编号获取第i量化步长,包括:确定M个量化步长及其对应的编号;M个量化步长是预先设定的;将第i编号对应的量化步长确定为第i量化步长;第i量化步长是M个量化步长中的一个。
在一种可能的实现方式中,所述根据所述第i量化步长的编号获取所述第i量化步长,包括:解析码流以得到第一列表;第一列表包括M个量化步长;第i编号是M个量化步长的编号之一;将第i编号对应的量化步长确定为第i量化步长;第i量化步长是M个量化步长中的一个。
第i量化步长可以是标量,也可以是向量。相应的,
当第i量化步长是标量时,将第i个3D地图点的空间位置坐标包括的多个分量的量化数据分别乘以该标量以得到第i个3D地图点的空间位置坐标的重建数据。当第i量化步长是向量时,将第i个3D地图点的空间位置坐标包括的多个分量的量化数据分别乘以向量中对应的元素以得到第i个3D地图点的空间位置坐标的重建数据。
第三方面,本申请提供一种3D地图的编码装置,包括:量化模块,用于获取3D地图;所述3D地图包括N个3D地图点,N>1;获取所述N个3D地图点中第i个3D地图点的邻居3D地图点的数量,i∈[1,N];所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点:根据所述第i个3D地图点的邻居3D地图点的数量确定第i量化步长;根据所述第i量化步长对所述第i个3D地图点的空间位置坐标进行量化得到第i量化数据;封装模块,用于对所述第i量化数据进行编码。
在一种可能的实现方式中,所述量化模块,具体用于获取M个取值范围;所述M个取值范围是预先设定的;所述M个取值范围互不交叠;M>1;获取与所述M个取值范围对应的M个量化步长;所述M个量化步长是预先设定的;不同的所述取值范围对应不同的所述量化步长;将所述第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为所述第i量化步长;其中,所述第i取值范围为所述M个取值范围中的一个。
在一种可能的实现方式中,所述量化模块,具体用于对第一数量和第二数量之间的取值区间进行划分得到M个取值范围,所述第一数量是所述N个3D地图点的邻居3D地图点的数量中的最小者,所述第二数量是所述N个3D地图点的邻居3D地图点的数量中的最大者;确定所述M个取值范围对应的M个量化步长;所述M个量化步长不相同,M>1;将所述第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为所述第i量化步长;其中,所述第i取值范围为所述M个取值范围中的一个。
在一种可能的实现方式中,所述量化模块,具体用于根据公式计算得到所述第i取值范围对应的所述第i量化步长:
Figure PCTCN2021104601-appb-000004
其中,Q sum表示预先设定的量化步长总和,N i表示所述第i取值范围对应的3D地图点的邻居3D地图点的数量之和,N j表示第j取值范围对应的3D地图点的邻居3D地图点的数量之和,所述第j取值范围为所述M个取值范围中的一个。
在一种可能的实现方式中,所述第i取值范围在所述M个取值范围中值域越大,所述第i量化步长越大;或者,所述第i取值范围在所述M个取值范围中值域越大,所述第i量化步长越小。
在一种可能的实现方式中,所述量化模块,具体用于获取所述N个3D地图点中除所述第i个3D地图点外的其它N-1个3D地图点分别与所述第i个3D地图点的距离,所述距离的类型是汉明距离、曼哈顿距离和欧氏距离的其中之一;将所述距离小于L的3D地图点的个数确定为所述第i个3D地图点的邻居3D地图点的数量;L的取值是预先设定的。
在一种可能的实现方式中,所述量化模块,还用于确定所述M个量化步长的编号;所述封装模块,还用于将所述M个量化步长的编号中对应于所述第i量化步长的编号写入码流中。
在一种可能的实现方式中,所述量化模块,还用于确定第一列表,所述第一列表包括所述M个量化步长;确定所述第i量化步长在所述M个量化步长中的第i编号;所述封装模块,还用于将所述第一列表和所述第i编号写入码流。
在一种可能的实现方式中,所述第i量化步长为标量或者向量。
第四方面,本申请提供一种3D地图的解码装置,包括:解封装模块,用于获取码流;解析所述码流以得到第i量化数据和第i编号,i∈[1,N],N>1;反量化模块,用于根据所述第i编号获取第i量化步长;所述第i量化步长和第i个3D地图点的邻居3D地图点的数量有关;所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点;所述第i个3D地图点是3D地图包括的N个3D地图点中的一个;根据所述第i量化步长对所述第i量化数据进行反量化以得到所述第i个3D地图点的空间位置坐标的重建数据。
在一种可能的实现方式中,所述反量化模块,具体用于确定M个量化步长及其对应的编号;所述M个量化步长是预先设定的;将所述第i编号对应的量化步长确定为所述第i量化步长;所述第i量化步长是所述M个量化步长中的一个。
在一种可能的实现方式中,所述解封装模块,还用于解析所述码流以得到第一列表;所述第一列表包括M个量化步长;所述第i编号是所述M个量化步长的编号之一;所述 反量化模块,具体用于将所述第i编号对应的量化步长确定为所述第i量化步长;所述第i量化步长是所述M个量化步长中的一个。
在一种可能的实现方式中,所述第i量化步长为标量或者向量。
第五方面,本申请提供一种3D地图的编码设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面中任一项所述的方法。
第六方面,本申请提供一种3D地图的解码设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第二方面中任一项所述的方法。
第七方面,本申请提供一种计算机可读存储介质,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行上述第一至二方面中任一项所述的方法。
第八方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行执行上述第一至二方面中任一项所述的方法。
第九方面,本申请提供一种3D地图编码码流,所述码流是根据如上述第一方面中任一项所述的方法获得的3D地图编码码流。
在一种可能的实现方式中,所述码流包括第i量化数据和第i量化步长;i∈[1,N],N>1;所述第i量化步长和第i个3D地图点的邻居3D地图点的数量有关;所述第i个3D地图点是3D地图包括的N个3D地图点中的一个;所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点;所述第i量化数据是所述第i个3D地图点的空间位置坐标的量化数据。
在一种可能的实现方式中,所述码流还包括第一列表;所述第一列表包括M个量化步长;所述第i编号是所述M个量化步长的编号之一。
附图说明
图1为本申请实施例提供的一种应用架构的示意图;
图2为本申请实施例提供的电子设备20的一种结构示意图;
图3为本申请实施例提供的服务器30的一种结构示意图;
图4a为本申请实施例提供的一个应用场景的示意图;
图4b为本申请实施例提供的一个应用场景的示意图;
图4c为本申请实施例提供的一个应用场景的示意图;
图4d为本申请实施例提供的一个应用场景的示意图;
图4e为本申请实施例提供的一个应用场景的示意图;
图4f为本申请实施例提供的一个应用场景的示意图;
图4g为本申请实施例提供的电子设备显示的一种用户界面的示意图;
图5为本申请实施例提供的3D地图的编码方法的过程500的一个流程图;
图6为本申请实施例提供的3D地图的解码方法的过程600的一个流程图;
图7为本申请实施例提供的3D地图的编码装置70的一个结构图;
图8为本申请实施例提供的3D地图的解码装置80的一个结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“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地图点的一种可能的获取方式为,使用激光雷达、无人机视角的空中摄影(倾斜摄影)、高清全景相机、高清工业相机等多种设备拍摄,通过面向基于加速分割测试的特征(features from accelerated segment test,FAST)和旋转二进制鲁棒独立基本特征(binary robust independent elementary features,BRIEF)描述子的特征(oriented FAST and rotated BRIEF,ORB)、尺度不变特征转换(scale invariant feature transform,SIFT)、加速的具有鲁棒性的特征(speeded-up robust feature,SURF)、BRIEF、二进制鲁棒不变可扩展关键点(binary robust invariant scalable keypoints,BRISK)、快速视网膜关键点(fast retina keypoint,FREAK)、可重复且可靠的检测和描述符(repeatable and reliable detector and descriptor,R2D2)等方法从上述设备拍摄到的数据中提取。
3D地图点的数据可以包括:
(1)3D地图点描述子
3D地图点描述子是一条向量,用来表示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 aggragate locally descriptor,VLAD)等传统方法以及基于NetVLAD、人工智能(artificial intelligence,AI)的新型方法。同理,多个区域描述子也可以用编号进行标识,以对多个区域描述子进行区分,但是该编号同样不是对多个区域描述子之间的先后顺序的限定。
在一种可能的实现方式中,3D地图的数据还包括3D地图点和区域描述子的对应关系,在该对应关系中明确的描述了任意一个区域描述子对应于哪些3D地图点,以及任意一个3D地图点对应于哪些区域描述子。
可选的,上述对应关系可以显式的用区域描述子的编号和3D地图点的编号之间的对应表进行描述,例如,3D地图包含3个区域描述子,编号是T1~T3,6个3D地图点,编号是P1~P6,对应表如表1或表2所示。
表1
Figure PCTCN2021104601-appb-000005
Figure PCTCN2021104601-appb-000006
需要说明的是,表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可以包括应用处理器(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)或者类UNIX操作系统(Linux)等嵌入式操作系统。存储器22还可以存储数据,例如,图像数据、点云数据、3D地图的数据、位姿数据、坐标系转换信息、地图更新信息等。存储器22还可以存储计算机可执行的程序代码,该计算机可执行的程序代码包括指令,例如,通信程序指令,SLAM系统的相关程序指令等。存储器22还可以存储一个或多个应用程序,例如,AR/VR/MR等虚拟场景应用程序、3D地图类应用程序、图像管理类应用程序、导航与控制类应用程序等。存储器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)用户打开安装于电子设备上的3D地图类应用程序,该应用程序向其对应的服务器上传基于GPS定位或者WiFi定位得到的位置信息,该上传操作可以触发地图下载请求。由于上传的内容包括位置信息,因此服务器可以基于位置信息进行一个初步估计,将位置信息指示的定位点所属区域的3D地图的压缩数据传输给电子设备。位置信息指示的定位点所属区域的范围可以预先设定,例如,该所属区域可以是定位点所在的各个级别的行政区(包括县、市、国家或者行政区等),也可以是以定位点为中心、设定距离为半径的圆周区域。
(2)用户打开安装于电子设备上的3D地图类应用程序,在该应用程序中主动输入或者选择一个区域,例如,用户主动输入“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 pose estimation,EPnP)等位姿求解算法计算得到电子设备的位姿。
而图4a~图4f所示实施例中,均涉及到对3D地图进行压缩处理,本申请实施例提供了多个用于进行前述压缩处理的装置框架,以下对该多个装置框架进行说明。
在图4a~图4f任一应用场景中,基于本申请实施例的3D地图进行定位,以得到电子设备当前的位姿,该位姿可以应用于AR导航、AR人机交互、辅助驾驶、自动驾驶等领域。以基于该位姿进行AR导航为例,图4g为本申请实施例提供的电子设备显示的一种用户界面的示意图,电子设备可以基于该位姿,显示如图4g所示的用户界面,该用户界面上可以包括导航前往会议室2的导航箭头指示,该导航前往会议室2的导航箭头指示可以是基于该位姿从服务器获取的或者从本地获取的虚拟物体。该用户界面上还可以包括传感器采集的视觉信息,例如,如图4g所示的建筑物。用户参照电子设备的如图4g所示的用户界面,前往会议室2。
图5为本申请实施例提供的3D地图的编码方法的过程500的一个流程图,如图5所示,过程500可由编码装置执行,编码装置可以应用于上述实施例中的服务器或电子设备中,尤其是有压缩并发送3D地图的需求的设备,例如,图4a所示实施例中的服务器,或者,图4d~图4f所示实施例中的第一电子设备。过程500描述为一系列的步骤或操作,应当理解的是,过程500可以以各种顺序执行和/或同时发生,不限于图5所示的执行顺序。假设3D地图的空间位置坐标在编码装置中进行压缩处理以得到3D地图编码码流,该3D地图编码码流再由编码装置传输出去,执行包括如下步骤的过程500来处理当前正在处理 的3D地图的数据。
步骤501、获取3D地图。
3D地图包括N个3D地图点,N>1。3D地图点是环境中令人感兴趣的或者具有显著特征的点。例如,建筑物的外观中有显著特征的点,或者,地理位置中与周边环境有明显区别的点,等等。
相应的,3D地图的数据可以包括N个3D地图点的数据。其中,3D地图点的数据可以包括3D地图点的空间位置坐标。3D地图点的空间位置坐标可以采用三维空间轴线上的X、Y、Z表示,也可以采用经纬度、海拔高度表示,还可以采用极坐标等方式表示,本申请实施例对3D地图点的空间位置坐标的表示方法不做具体限制。3D地图点的空间位置坐标可以是3D地图点的绝对位置,也可以是3D地图点的相对位置,例如,以整个区域的中心位置为原点,所有3D地图点的空间位置坐标都是相对于原点的空间位置坐标的偏移位置。
本申请实施例中,可以给每个3D地图点分配一个编号写入3D地图的数据中,也可以利用N个3D地图点在内存中的存储顺序隐含表示3D地图点的编号。需要说明的是,3D地图包含的多个3D地图点之间的先后顺序没有实际意义,因此前述编号可以认为是用于标识3D地图点的标识符,以对各个3D地图点加以区分,但该编号并不用于限定多个3D地图点之间的先后顺序,例如,3D地图包含3个3D地图点,其编号分别是1、2和3,对该3个3D地图点进行的处理,可以按照1、2、3的顺序进行,也可以按照3、2、1的顺序进行,还可以按照2、1、3的顺序进行,等等。
步骤502、获取N个3D地图点中第i个3D地图点的邻居3D地图点的数量。
i∈[1,N],第i个3D地图点的邻居3D地图点是上述N个3D地图点中到第i个3D地图点的距离满足预设距离条件的3D地图点。本申请实施例中,编码装置可以先获取N个3D地图点中除第i个3D地图点外的其它N-1个3D地图点分别与第i个3D地图点的邻居3D地图点的距离,该距离的类型可以是汉明距离、曼哈顿距离或者欧氏距离,然后将N-1个3D地图点中距离小于L的3D地图点的个数确定为第i个3D地图点的邻居3D地图点的数量,L的取值是预先设定的。
示例性的,以3D地图点的空间位置坐标采用XYZ轴坐标表示为例,N-1个3D地图点中任意一个3D地图点的空间位置坐标和第i个3D地图点的空间位置坐标可以分别表示为(x 1,y 1,z 1)和(x 2,y 2,z 2),相应的,可以计算得到这两个3D地图点的空间位置坐标的欧式距离为
Figure PCTCN2021104601-appb-000007
需要说明的是的,本申请实施例还可以计算N-1个3D地图点中任意一个3D地图点的空间位置坐标和第i个3D地图点的空间位置坐标之间的汉明距离或曼哈顿距离等,对此不做具体限定。
本申请实施例中,以第i个3D地图点的空间位置坐标为中心,半径小于L的球体之内的3D地图点均可看作是第i个3D地图点的邻居3D地图点。因此,第i个3D地图点可以有一个或多个邻居3D地图点,也可以没有邻居3D地图点。
步骤503、根据第i个3D地图点的邻居3D地图点的数量确定第i量化步长。
本申请实施例中,编码装置可以先获取M个取值范围及其对应的M个量化步长,M>1。然后将第i个3D地图点的邻居3D地图点的数量在M个取值范围中所属的取值范围确定为目标取值范围。再将目标取值范围对应的量化步长确定为第i量化步长。该M个量 化步长不相同,且不同的量化步长所对应的取值范围不同。
在一种可能的实现方式中,可以预先设定M个取值范围,以及与其对应的M个量化步长。例如,M个取值范围为(0,R 1],(R 1,R 2],(R 2,R 3],…(R M-1,R M),其中,R M可以是无穷大,与其对应的,M个量化步长分别为Q 1,Q 2,Q 3,…,Q M。第i取值范围在M个取值范围中值域越大,第i量化步长越大;或者,第i取值范围在M个取值范围中值域越大,第i量化步长越小。即Q 1<Q 2<Q 3<…<Q M;或者,Q 1>Q 2>Q 3>…>Q M
在一种可能的实现方式中,可以对第一数量和第二数量之间的区间进行划分得到M个取值范围,该第一数量是N个3D地图点的邻居3D地图点的数量中的最小者,第二数量是N个3D地图点的邻居3D地图点的数量中的最大者。然后根据N个3D地图点的邻居3D地图点的数量确定M个取值范围分别对应的3D地图点。再根据第j取值范围对应的3D地图点的邻居3D地图点的数量确定第j取值范围对应的量化步长,j∈[1,M]。
示例性的,N个3D地图点的邻居3D地图点的数量集合为{n i},i∈[1,N],n i表示第i个3D地图点的邻居3D地图点的数量,预先设定的量化步长总和为Q sum,{n i}中的最小值(即第一数量)为n min,{n i}中的最大值(即第二数量)为n max。因此可以得到待划分的完整取值范围为[R min,R max],其中,R min=n min,R max=n max
编码装置可以对上述完整取值范围均匀采样,得到采样间隔
Figure PCTCN2021104601-appb-000008
进而得到M个取值范围为[R min,R min+D],(R min+D,R min+2D],(R min+2D,R min+3D],…(R min+(M-1D,Rmax]。
基于上述M个取值范围,可以根据N个3D地图点的邻居3D地图点的数量集合{n i}确定出M个取值范围分别对应的3D地图点,其中,每个取值范围对应的3D地图点是指该3D地图点的邻居3D地图点的数量在取值范围内。例如,第p个3D地图点的邻居3D地图点的数量∈(R min+(j-1)D,R min+jD],第q个3D地图点的邻居3D地图点的数量∈(R min+(j-1)D,R min+jD],p、q∈[1,N],j∈[1,M],因此第j取值范围对应的3D地图点为第p个3D地图点和第q个3D地图点。需要说明的是,可以是M个取值范围中的每个取值范围都对应一个或多个3D地图点,也可以是M个取值范围中的部分取值范围分别对应一个或多个3D地图点,而另一部分取值范围没有对应的3D地图点,对此不做具体限定。
在确定了上述M个取值范围分别对应的3D地图点之后,针对第i取值范围,可以根据第i取值范围对应的3D地图点的邻居3D地图点的数量计算其对应的量化步长Q i
Figure PCTCN2021104601-appb-000009
其中,N i表示第i取值范围对应的3D地图点的邻居3D地图点的数量之和,N j表示第j取值范围对应的3D地图点的邻居3D地图点的数量之和,第j取值范围为M个取值范围中的一个。
上述过程可以根据N个3D地图点的邻居3D地图点动态的确定M个取值范围及其对应的M个量化步长,这样可以使得后续确定的3D地图点的空间位置坐标的量化步长更接近于实际的精度需求,提高量化效率。
本申请实施例可以通过上述两种实施方式,即预先设定或者动态获取的方式得到M 个取值范围及其对应的M个量化步长,从而基于此确定第i个3D地图点对应的第i量化步长。
因此编码装置可以将第i个3D地图点的邻居3D地图点的数量n i分别与M个取值范围进行比较,从而确定出n i所属的取值范围,该取值范围即为第i个3D地图点的目标取值范围,进而将目标取值范围对应的量化步长确定为第i个3D地图点的目标量化步长(即第i量化步长)。
步骤504、根据第i量化步长对第i个3D地图点的空间位置坐标进行量化得到第i量化数据。
第i量化步长可以是标量,也可以是向量。相应的,
当第i量化步长是标量时,将第i个3D地图点的空间位置坐标包括的多个分量分别除以该标量并取整以得到第i个3D地图点的空间位置坐标的量化数据。例如,第i个3D地图点的空间位置坐标表示为(x,y,z),第i量化步长为Q,那么量化后的第i个3D地图点的空间位置坐标的量化数据为
Figure PCTCN2021104601-appb-000010
当第i量化步长是向量时,将第i个3D地图点的空间位置坐标包括的多个分量分别除以向量中对应的元素并取整以得到第i个3D地图点的空间位置坐标的量化数据。例如,第i个3D地图点的空间位置坐标表示为(x,y,z),第i量化步长为|Q x,Q y,Q z|,那么量化后的第i个3D地图点的空间位置坐标的量化数据为
Figure PCTCN2021104601-appb-000011
又例如,第i个3D地图点的空间位置坐标表示为(x,y,z),第i量化步长为|Q 1,Q 2|,其中,元素Q 1和x、y对应,元素Q 2和z对应,那么量化后的第i个3D地图点的空间位置坐标的量化数据为
Figure PCTCN2021104601-appb-000012
需要说明的是,上述取整可以包括向上取整、向下取整或者四舍五入取整等,本申请对此不做具体限定。另外,当量化步长为向量时,向量中包括的多个元素可以和3D地图点的空间位置坐标包括的多个分量一一对应,也可以是多对一或一对多的关系,本申请对此也不做具体限定。
步骤505、对第i量化数据进行编码。
可选地,可以对第i量化数据进行封装处理得到码流,该封装处理包括熵编码。在得到码流后,可以存储该码流,这样能够减小编码装置的存储空间。也可以向解码装置发送该码流,这样能够减小3D地图点的数据量,从而减少传输3D地图点时的带宽占用率以及提高3D地图点的传输效率。
在一种可能的实现方式中,本申请实施例可以对M个量化步长编号,例如,M个量化步长为Q 1,Q 2,Q 3,…,Q M,其所对应的编号分别为1,2,3,…,M。在得到第i个3D地图点对应的量化步长(第i量化步长)后,可以只把第i量化步长的编号写入码流中。这样相对于在码流中写入第i量化步长,只写第i量化步长的编号可以减少占用的比特数,节省码流。
针对上述动态确定M个取值范围及其对应的M个量化步长的方式,由于解码装置无法获取到M个取值范围及其对应的M个量化步长,因此编码装置需要将第一列表写入码流,第一列表包括M个量化步长,这样解码装置在解析码流后可以得到第一列表中包括的M个量化步长,然后将M个量化步长中与第i编号对应的量化步长确定为第i量化步 长。这样编码装置只需要在码流中写入一次M个量化步长,后续只需写入3D地图点对应的量化步长的编号,仍然可以减少占用的比特数,节省码流。
本申请实施例中,基于3D地图点的邻居3D地图点的数量确定3D地图点对应的量化步长,进而根据该量化步长对3D地图点的空间位置坐标进行量化处理,码流中写入的是量化数据可以减小3D地图点的数据量,进而减少占用的比特数,节省码流,从而减少传输3D地图点时的占用的带宽。
在一种可能的实现方式中,上述步骤503是根据第i个3D地图点的邻居3D地图点的数量确定第i量化步长,本申请实施例还可以根据第i个3D地图点的拍摄距离确定第i量化步长。
上述拍摄距离是指第i个3D地图点的空间位置坐标和拍摄第i个3D地图点所属的视觉信息时的采集设备的位置之间的汉明距离、曼哈顿距离或者欧氏距离。相应的,M个取值范围是指距离的取值范围,可以预先确定M个距离的取值范围及其对应的M个量化步长,或者,动态的根据N个3D地图点中的最小拍摄距离和最大拍摄距离确定M个距离的取值范围及其对应的M个量化步长,该动态确定过程可以参照步骤503的描述,区别在于步骤503是计算邻居3D地图点的数量的取值范围,而此处是计算3D地图点的拍摄距离。
从M个距离的取值范围中找到第i个3D地图点的拍摄距离所属的取值范围,即为目标取值范围,然后该目标取值范围对应的量化步长即为第i个3D地图点对应的目标量化步长(第i量化步长)。
图6为本申请实施例提供的3D地图的解码方法的过程600的一个流程图,如图6所示,过程600可由解码装置执行,解码装置可以应用于上述实施例中的服务器或电子设备中,例如,图4a所示实施例中的电子设备,或者,图4d和4f所示实施例中的第二电子设备。过程600描述为一系列的步骤或操作,应当理解的是,过程600可以以各种顺序执行和/或同时发生,不限于图6所示的执行顺序。假设3D地图编码码流由解码装置接收,并在解码装置中进行解码处理以得到3D地图的重建数据,执行包括如下步骤的过程600来处理当前正在处理的3D地图的码流。
步骤601、获取码流。
解码装置可以通过与编码装置之间的通信链路接收码流。
步骤602、解析码流以得到第i量化数据和第i编号。
i∈[1,N],N>1,第i量化数据是3D地图包括的N个3D地图点中第i个3D地图点的空间位置坐标的量化数据,第i编号是码流中携带的用于指示进行反量化时所使用的量化步长的编号。
编码装置在码流中写入了量化后的第i量化数据以及用于量化时的第i量化步长的第i编号,因此解码装置可以通过解析码流获取到这两个信息,而不需要再次执行上述步骤502和503,一方面提高解码装置的解码效率,另一方面可以减少码流中携带的为了执行步骤502和503需要的大量的相关信息,节省了码流。
步骤603、根据第i编号获取第i量化步长。
第i量化步长和第i个3D地图点的邻居3D地图点的数量有关,第i个3D地图点的邻居3D地图点是N个3D地图点中到第i个3D地图点的距离满足预设距离条件的3D地 图点。
在一种可能的实现方式中,M个量化步长及其对应的编号是预先设定的,那么编码装置和解码装置保持一致,因此解码装置在解析得到第i量化步长的编号可以从预先设定的M个量化步长中找到对应的量化步长。例如,M个量化步长为Q 1,Q 2,Q 3,…,Q M,其所对应的编号分别为1,2,3,…,M,解码装置得到第i量化步长的编号为3时,可以得到第i量化步长为Q 3
在一种可能的实现方式中,M个量化步长是编码装置动态获取的,因此编码装置在码流中写入了第一列表,第一列表包括M个量化步长,解码装置解析码流得到第一列表包括的M个量化步长,可以基于M个量化步长在第一列表中的位置确定该M个量化步长的编号。例如,M个量化步长为Q 1,Q 2,Q 3,…,Q M,则其所对应的编号分别为1,2,3,…,M。这样在解析码流得到第i编号为3时,可以查询第一列表获取到3对应的量化步长为Q 3
步骤604、根据第i量化步长对第i量化数据进行反量化以得到第i个3D地图点的空间位置坐标的重建数据。
第i量化步长可以是标量,也可以是向量。相应的,
当第i量化步长是标量时,将第i个3D地图点的空间位置坐标包括的多个分量的量化数据分别乘以该标量以得到第i个3D地图点的空间位置坐标的重建数据。例如,第i个3D地图点的空间位置坐标的量化数据表示为(x q,y q,z q),第i量化步长为Q,那么反量化后的第i个3D地图点的空间位置坐标的重建数据为(x q×Q,y q×Q,z q×Q)。
当第i量化步长是向量时,将第i个3D地图点的空间位置坐标包括的多个分量的量化数据分别乘以向量中对应的元素以得到第i个3D地图点的空间位置坐标的重建数据。例如,第i个3D地图点的空间位置坐标的量化数据表示为(x q,y q,z q),第i量化步长为|Q x,Q y,Q z|,那么反量化后的第i个3D地图点的空间位置坐标的重建数据为(x q×Qx,yq×Qy,zq×Qz。又例如,第i个3D地图点的空间位置坐标的量化数据表示为(x q,y q,z q),第i量化步长为|Q 1,Q 2|,其中,元素Q 1和x q、y q对应,元素Q 2和z q对应,那么反量化后的第i个3D地图点的空间位置坐标的重建数据为(x q×Q 1,y q×Q 1,z q×Q 2)。
本申请实施例中,基于3D地图点的邻居3D地图点的数量确定3D地图点对应的量化步长,进而根据该量化步长对3D地图点的空间位置坐标进行量化处理,码流中写入的是量化数据和量化步长对应的编号,可以减小3D地图点的数据量,进而减少占用的比特数,节省码流,从而减少传输3D地图点时的占用的带宽,还可以提高解码装置的解码效率。
在一种可能的实现方式中,上述步骤603得到的第i量化步长和第i个3D地图点的邻居3D地图点的数量有关,本申请实施例还可以采用与第i个3D地图点的拍摄距离相关的第i量化步长。
如上述编码装置的实施例所述,编码装置可以根据第i个3D地图点的拍摄距离确定第i量化步长,该拍摄距离是指第i个3D地图点的空间位置坐标和拍摄第i个3D地图点所属的视觉信息时的采集设备的位置之间的汉明距离、曼哈顿距离或者欧氏距离,M个取值范围是指距离的取值范围,M个量化步长与该M个距离的取值范围对应。
相应的,解码装置得到第i步长就是与第i个3D地图点的拍摄距离相关的,预先设定的M个量化步长或者解析码流得到的M个量化步长也均是与M个距离的取值范围对应。
示例性的,
编码装置:依据地图点的分布情况,动态设定量化步长,将数值压缩到更小的范围。对每张图我们有地图点位置集合{(x i,y i,z i)},i∈[0,n)(n为一张图上地图点的总数量)。对于每个地图点,我们计算其在欧式距离阈值L内的邻居数量,即有多少个点到我们当前地图点的距离小于L。由此,我们可以得到所有地图点的邻居数量集合{n i},i∈[0,n),其反映了各个点周边的密度。
同理,对{n i},做给出一组区间(R 0,R 1],(R 1,R 2],(R 2,R 3],(R 3,R 4],以及对应的量化步长Q 1,Q 2,Q 3,Q 4。这里Q 1<<Q 2<<Q 3<<Q 4
对每一个地图点,依照其n i,找到其对应的区间R a-1<n i≤R a和对应的量化步长Q a,计算(x i,y i,z i)/Q a并四舍五入取整,得到量化后的值
Figure PCTCN2021104601-appb-000013
在码流中写入各个特征点对应的量化步长Q a的编号a,以及量化后的值
Figure PCTCN2021104601-appb-000014
其中a由固定量的bit表示。
解码装置:
从码流中得到每个地图点的量化步长编号a,以及量化后的值
Figure PCTCN2021104601-appb-000015
其中
Figure PCTCN2021104601-appb-000016
应该需要通过熵解码得到。计算
Figure PCTCN2021104601-appb-000017
得到复原后的特征点位置
Figure PCTCN2021104601-appb-000018
图7为本申请实施例提供的3D地图的编码装置70的一个结构图,如图7所示,该编码装置70可以应用于上述实施例中的电子设备或者服务器中,尤其是有压缩并发送3D地图的需求的设备,例如,图4a所示实施例中的服务器,或者,图4d~图4f所示实施例中的第一电子设备。本申请实施例的编码装置70可以包括:量化模块71和封装模块72,其中,
量化模块71,用于获取3D地图;所述3D地图包括N个3D地图点,N>1;获取所述N个3D地图点中第i个3D地图点的邻居3D地图点的数量,i∈[1,N];所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点:根据所述第i个3D地图点的邻居3D地图点的数量确定第i量化步长;根据所述第i量化步长对所述第i个3D地图点的空间位置坐标进行量化得到第i量化数据;封装模块72,用于对所述第i量化数据进行编码。
在一种可能的实现方式中,所述量化模块71,具体用于获取M个取值范围;所述M个取值范围是预先设定的;所述M个取值范围互不交叠;M>1;获取与所述M个取值范围对应的M个量化步长;所述M个量化步长是预先设定的;不同的所述取值范围对应不同的所述量化步长;将所述第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为所述第i量化步长;其中,所述第i取值范围为所述M个取值范围中的一个。
在一种可能的实现方式中,所述量化模块71,具体用于对第一数量和第二数量之间的取值区间进行划分得到M个取值范围,所述第一数量是所述N个3D地图点的邻居3D地图点的数量中的最小者,所述第二数量是所述N个3D地图点的邻居3D地图点的数量中的最大者;确定所述M个取值范围对应的M个量化步长;所述M个量化步长不相同,M>1;将所述第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为所述第i量化步长;其中,所述第i取值范围为所述M个取值范围中的一个。
在一种可能的实现方式中,所述量化模块71,具体用于根据公式计算得到第i取值范 围对应的第i量化步长:
Figure PCTCN2021104601-appb-000019
其中,Q sum表示预先设定的量化步长总和,N i表示第i取值范围对应的3D地图点的邻居3D地图点的数量之和,N j表示第j取值范围对应的3D地图点的邻居3D地图点的数量之和,所述第j取值范围为所述M个取值范围中的一个。
在一种可能的实现方式中,所述第i取值范围在所述M个取值范围中值域越大,所述第i量化步长越大;或者,所述第i取值范围在所述M个取值范围中值域越大,所述第i量化步长越小。
在一种可能的实现方式中,所述量化模块71,具体用于获取所述N个3D地图点中除所述第i个3D地图点外的其它N-1个3D地图点分别与所述第i个3D地图点的距离,所述距离的类型是汉明距离、曼哈顿距离和欧氏距离的其中之一;将所述距离小于L的3D地图点的个数确定为所述第i个3D地图点的邻居3D地图点的数量;L的取值是预先设定的。
在一种可能的实现方式中,所述量化模块71,还用于确定所述M个量化步长的编号;所述封装模块72,还用于将所述M个量化步长的编号中对应于所述第i量化步长的编号写入码流中。
在一种可能的实现方式中,所述量化模块71,还用于确定第一列表,所述第一列表包括所述M个量化步长;确定所述第i量化步长在所述M个量化步长中的第i编号;所述封装模块72,还用于将所述第一列表和所述第i编号写入码流。
在一种可能的实现方式中,所述第i量化步长为标量或者向量。
本申请实施例的编码装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请实施例提供的3D地图的解码装置80的一个结构图,如图8所示,该解码装置80可以应用于上述实施例中的电子设备或者服务器中,尤其是有接收并解压缩3D地图的需求的设备,例如,图4a所示实施例中的服务器,或者,图4d~图4f所示实施例中的第一电子设备。本申请实施例的解码装置80可以包括:解封装模块81和反量化模块82,其中,
解封装模块81,用于获取码流;解析所述码流以得到第i量化数据和第i编号,i∈[1,N],N>1;反量化模块82,用于根据所述第i编号获取第i量化步长;所述第i量化步长和第i个3D地图点的邻居3D地图点的数量有关;所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点;所述第i个3D地图点是3D地图包括的N个3D地图点中的一个;根据所述第i量化步长对所述第i量化数据进行反量化以得到所述第i个3D地图点的空间位置坐标的重建数据。
在一种可能的实现方式中,所述反量化模块82,具体用于确定M个量化步长及其对应的编号;所述M个量化步长是预先设定的;将所述第i编号对应的量化步长确定为所述第i量化步长;所述第i量化步长是所述M个量化步长中的一个。
在一种可能的实现方式中,所述解封装模块81,还用于解析所述码流以得到第一列表;所述第一列表包括M个量化步长;所述第i编号是所述M个量化步长的编号之一; 所述反量化模块82,具体用于将所述第i编号对应的量化步长确定为所述第i量化步长;所述第i量化步长是所述M个量化步长中的一个。
在一种可能的实现方式中,所述第i量化步长为标量或者向量。
本申请实施例的解码装置,可以用于执行图6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、特定应用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
上述各实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,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 rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间 接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (33)

  1. 一种3D地图的编码方法,其特征在于,包括:
    获取3D地图;所述3D地图包括N个3D地图点,N>1;
    获取所述N个3D地图点中第i个3D地图点的邻居3D地图点的数量,i∈[1,N];所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点:
    根据所述第i个3D地图点的邻居3D地图点的数量确定第i量化步长;
    根据所述第i量化步长对所述第i个3D地图点的空间位置坐标进行量化得到第i量化数据;
    对所述第i量化数据进行编码。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述第i个3D地图点的邻居3D地图点的数量确定第i量化步长,包括:
    获取M个取值范围;所述M个取值范围是预先设定的;所述M个取值范围互不交叠;M>1;
    获取与所述M个取值范围对应的M个量化步长;所述M个量化步长是预先设定的;不同的所述取值范围对应不同的所述量化步长;
    将所述第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为所述第i量化步长;其中,所述第i取值范围为所述M个取值范围中的一个。
  3. 根据权利要求1所述的方法,其特征在于,所述根据所述第i个3D地图点的邻居3D地图点的数量确定第i量化步长,包括:
    对第一数量和第二数量之间的取值区间进行划分得到M个取值范围,所述第一数量是所述N个3D地图点的邻居3D地图点的数量中的最小者,所述第二数量是所述N个3D地图点的邻居3D地图点的数量中的最大者;
    确定所述M个取值范围对应的M个量化步长;所述M个量化步长不相同,M>1;
    将所述第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为所述第i量化步长;其中,所述第i取值范围为所述M个取值范围中的一个。
  4. 根据权利要求3所述的方法,其特征在于,所述确定所述M个取值范围对应的M个量化步长,包括:
    根据公式计算得到所述第i取值范围对应的所述第i量化步长:
    Figure PCTCN2021104601-appb-100001
    其中,Q sum表示预先设定的量化步长总和,N i表示所述第i取值范围对应的3D地图点的邻居3D地图点的数量之和,N j表示第j取值范围对应的3D地图点的邻居3D地图点的数量之和,所述第j取值范围为所述M个取值范围中的一个。
  5. 根据权利要求2-4中任一项所述的方法,其特征在于,所述第i取值范围在所述M个取值范围中值域越大,所述第i量化步长越大;或者,所述第i取值范围在所述M个取值范围中值域越大,所述第i量化步长越小。
  6. 根据权利要求1-5中任一项所述的方法,其特征在于,所述获取所述N个3D地图 点中第i个3D地图点的邻居3D地图点的数量,包括:
    获取所述N个3D地图点中除所述第i个3D地图点外的其它N-1个3D地图点分别与所述第i个3D地图点的距离,所述距离的类型是汉明距离、曼哈顿距离和欧氏距离的其中之一;
    将所述距离小于L的3D地图点的个数确定为所述第i个3D地图点的邻居3D地图点的数量;L的取值是预先设定的。
  7. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    确定所述M个量化步长的编号;
    将所述M个量化步长的编号中对应于所述第i量化步长的编号写入码流中。
  8. 根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
    确定第一列表,所述第一列表包括所述M个量化步长;
    确定所述第i量化步长在所述M个量化步长中的第i编号;
    将所述第一列表和所述第i编号写入码流。
  9. 根据权利要求1-8中任一项所述的方法,其特征在于,所述第i量化步长为标量或者向量。
  10. 一种3D地图的解码方法,其特征在于,包括:
    获取码流;
    解析所述码流以得到第i量化数据和第i编号,i∈[1,N],N>1;
    根据所述第i编号获取第i量化步长;所述第i量化步长和第i个3D地图点的邻居3D地图点的数量有关;所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点;所述第i个3D地图点是3D地图包括的N个3D地图点中的一个;
    根据所述第i量化步长对所述第i量化数据进行反量化以得到所述第i个3D地图点的空间位置坐标的重建数据。
  11. 根据权利要求10所述的方法,其特征在于,所述根据所述第i量化步长的编号获取所述第i量化步长,包括:
    确定M个量化步长及其对应的编号;所述M个量化步长是预先设定的;
    将所述第i编号对应的量化步长确定为所述第i量化步长;所述第i量化步长是所述M个量化步长中的一个。
  12. 根据权利要求10所述的方法,其特征在于,所述根据所述第i量化步长的编号获取所述第i量化步长,包括:
    解析所述码流以得到第一列表;所述第一列表包括M个量化步长;所述第i编号是所述M个量化步长的编号之一;
    将所述第i编号对应的量化步长确定为所述第i量化步长;所述第i量化步长是所述M个量化步长中的一个。
  13. 根据权利要求10-12中任一项所述的方法,其特征在于,所述第i量化步长为标量或者向量。
  14. 一种3D地图的编码装置,其特征在于,包括:
    量化模块,用于获取3D地图;所述3D地图包括N个3D地图点,N>1;获取所述 N个3D地图点中第i个3D地图点的邻居3D地图点的数量,i∈[1,N];所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点:根据所述第i个3D地图点的邻居3D地图点的数量确定第i量化步长;根据所述第i量化步长对所述第i个3D地图点的空间位置坐标进行量化得到第i量化数据;
    封装模块,用于对所述第i量化数据进行编码。
  15. 根据权利要求14所述的装置,其特征在于,所述量化模块,具体用于获取M个取值范围;所述M个取值范围是预先设定的;所述M个取值范围互不交叠;M>1;获取与所述M个取值范围对应的M个量化步长;所述M个量化步长是预先设定的;不同的所述取值范围对应不同的所述量化步长;将所述第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为所述第i量化步长;其中,所述第i取值范围为所述M个取值范围中的一个。
  16. 根据权利要求14所述的装置,其特征在于,所述量化模块,具体用于对第一数量和第二数量之间的取值区间进行划分得到M个取值范围,所述第一数量是所述N个3D地图点的邻居3D地图点的数量中的最小者,所述第二数量是所述N个3D地图点的邻居3D地图点的数量中的最大者;确定所述M个取值范围对应的M个量化步长;所述M个量化步长不相同,M>1;将所述第i个3D地图点的邻居3D地图点的数量所属的第i取值范围所对应的量化步长确定为所述第i量化步长;其中,所述第i取值范围为所述M个取值范围中的一个。
  17. 根据权利要求16所述的装置,其特征在于,所述量化模块,具体用于根据公式计算得到所述第i取值范围对应的所述第i量化步长:
    Figure PCTCN2021104601-appb-100002
    其中,Q sum表示预先设定的量化步长总和,N i表示所述第i取值范围对应的3D地图点的邻居3D地图点的数量之和,N j表示第j取值范围对应的3D地图点的邻居3D地图点的数量之和,所述第j取值范围为所述M个取值范围中的一个。
  18. 根据权利要求15-17中任一项所述的装置,其特征在于,所述第i取值范围在所述M个取值范围中值域越大,所述第i量化步长越大;或者,所述第i取值范围在所述M个取值范围中值域越大,所述第i量化步长越小。
  19. 根据权利要求14-18中任一项所述的装置,其特征在于,所述量化模块,具体用于获取所述N个3D地图点中除所述第i个3D地图点外的其它N-1个3D地图点分别与所述第i个3D地图点的距离,所述距离的类型是汉明距离、曼哈顿距离和欧氏距离的其中之一;将所述距离小于L的3D地图点的个数确定为所述第i个3D地图点的邻居3D地图点的数量;L的取值是预先设定的。
  20. 根据权利要求15所述的装置,其特征在于,所述量化模块,还用于确定所述M个量化步长的编号;
    所述封装模块,还用于将所述M个量化步长的编号中对应于所述第i量化步长的编号写入码流中。
  21. 根据权利要求16或17所述的装置,其特征在于,所述量化模块,还用于确定第 一列表,所述第一列表包括所述M个量化步长;确定所述第i量化步长在所述M个量化步长中的第i编号;
    所述封装模块,还用于将所述第一列表和所述第i编号写入码流。
  22. 根据权利要求14-21中任一项所述的装置,其特征在于,所述第i量化步长为标量或者向量。
  23. 一种3D地图的解码装置,其特征在于,包括:
    解封装模块,用于获取码流;解析所述码流以得到第i量化数据和第i编号,i∈[1,N],N>1;
    反量化模块,用于根据所述第i编号获取第i量化步长;所述第i量化步长和第i个3D地图点的邻居3D地图点的数量有关;所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点;所述第i个3D地图点是3D地图包括的N个3D地图点中的一个;根据所述第i量化步长对所述第i量化数据进行反量化以得到所述第i个3D地图点的空间位置坐标的重建数据。
  24. 根据权利要求23所述的装置,其特征在于,所述反量化模块,具体用于确定M个量化步长及其对应的编号;所述M个量化步长是预先设定的;将所述第i编号对应的量化步长确定为所述第i量化步长;所述第i量化步长是所述M个量化步长中的一个。
  25. 根据权利要求23所述的装置,其特征在于,所述解封装模块,还用于解析所述码流以得到第一列表;所述第一列表包括M个量化步长;所述第i编号是所述M个量化步长的编号之一;
    所述反量化模块,具体用于将所述第i编号对应的量化步长确定为所述第i量化步长;所述第i量化步长是所述M个量化步长中的一个。
  26. 根据权利要求23-25中任一项所述的装置,其特征在于,所述第i量化步长为标量或者向量。
  27. 一种3D地图的编码设备,其特征在于,包括:
    一个或多个处理器;
    存储器,用于存储一个或多个程序;
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一项所述的方法。
  28. 一种3D地图的解码设备,其特征在于,包括:
    一个或多个处理器;
    存储器,用于存储一个或多个程序;
    当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求10-13中任一项所述的方法。
  29. 一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行权利要求1-13中任一项所述的方法。
  30. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行权利要求1-13中任一项所述的方法。
  31. 一种3D地图编码码流,其特征在于,所述码流是根据如权利要求1-9中任一项 所述的方法获得的3D地图编码码流。
  32. 根据权利要求31所述的码流,其特征在于,所述码流包括第i量化数据和第i量化步长;i∈[1,N],N>1;所述第i量化步长和第i个3D地图点的邻居3D地图点的数量有关;所述第i个3D地图点是3D地图包括的N个3D地图点中的一个;所述第i个3D地图点的邻居3D地图点是所述N个3D地图点中到所述第i个3D地图点的距离满足预设距离条件的3D地图点;所述第i量化数据是所述第i个3D地图点的空间位置坐标的量化数据。
  33. 根据权利要求32所述的码流,其特征在于,所述码流还包括第一列表;所述第一列表包括M个量化步长;所述第i编号是所述M个量化步长的编号之一。
PCT/CN2021/104601 2021-06-04 2021-07-05 3d地图的编解码方法及装置 WO2022252337A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202180098947.9A CN117413523A (zh) 2021-06-04 2021-07-05 3d地图的编解码方法及装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CNPCT/CN2021/098483 2021-06-04
PCT/CN2021/098482 WO2022252234A1 (zh) 2021-06-04 2021-06-04 3d地图的编码装置和方法
CNPCT/CN2021/098482 2021-06-04
PCT/CN2021/098483 WO2022252235A1 (zh) 2021-06-04 2021-06-04 3d地图的解码装置和方法、及3d地图的编码码流

Publications (1)

Publication Number Publication Date
WO2022252337A1 true WO2022252337A1 (zh) 2022-12-08

Family

ID=84322741

Family Applications (4)

Application Number Title Priority Date Filing Date
PCT/CN2021/104601 WO2022252337A1 (zh) 2021-06-04 2021-07-05 3d地图的编解码方法及装置
PCT/CN2021/105624 WO2022252346A1 (zh) 2021-06-04 2021-07-09 3d地图的检索方法和装置
PCT/CN2021/105623 WO2022252345A1 (zh) 2021-06-04 2021-07-09 3d地图的压缩、解压缩方法和装置
PCT/CN2021/105625 WO2022252347A1 (zh) 2021-06-04 2021-07-09 3d地图的检索方法和装置

Family Applications After (3)

Application Number Title Priority Date Filing Date
PCT/CN2021/105624 WO2022252346A1 (zh) 2021-06-04 2021-07-09 3d地图的检索方法和装置
PCT/CN2021/105623 WO2022252345A1 (zh) 2021-06-04 2021-07-09 3d地图的压缩、解压缩方法和装置
PCT/CN2021/105625 WO2022252347A1 (zh) 2021-06-04 2021-07-09 3d地图的检索方法和装置

Country Status (5)

Country Link
US (3) US20240112372A1 (zh)
EP (3) EP4336223A1 (zh)
KR (3) KR20240013238A (zh)
CN (4) CN117413523A (zh)
WO (4) WO2022252337A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5986710A (en) * 1996-06-26 1999-11-16 Samsung Electronics Co., Ltd. Image encoding method and apparatus for controlling the number of bits generated using quantization activities
US20090080516A1 (en) * 2005-01-14 2009-03-26 Eun Young Chang Method of encoding and decoding texture coordinates in three-dimensional mesh information for effective texture mapping
CN102611892A (zh) * 2006-03-16 2012-07-25 华为技术有限公司 在编码过程中实现自适应量化的方法及装置
CN108369751A (zh) * 2015-12-14 2018-08-03 松下电器(美国)知识产权公司 三维数据编码方法、解码方法、编码装置、解码装置
CN111639147A (zh) * 2020-04-24 2020-09-08 视辰信息科技(上海)有限公司 一种地图压缩方法、系统及计算机可读存储介质
CN111982152A (zh) * 2020-07-31 2020-11-24 广州文远知行科技有限公司 点云地图量化方法、装置、计算机设备和存储介质
CN111989713A (zh) * 2018-04-10 2020-11-24 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
WO2020248177A1 (zh) * 2019-06-12 2020-12-17 浙江大学 点云的编解码方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285121A (ja) * 1999-03-30 2000-10-13 Sony Corp 地図検索装置、地図検索方法、地図検索制御プログラムを記録した記録媒体、ナビゲーション装置、ナビゲート方法及びナビゲート制御プログラムを記録した記録媒体
KR20110093258A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 맵 데이터 송수신 장치 및 방법
US20120306850A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Distributed asynchronous localization and mapping for augmented reality
FR3009635B1 (fr) * 2013-08-08 2016-08-19 St Microelectronics Sa Procede de recherche d'une image similaire dans une banque d'images a partir d'une image de reference
CN103745498B (zh) * 2014-01-16 2017-01-04 中国科学院自动化研究所 一种基于图像的快速定位方法
CN104794219A (zh) * 2015-04-28 2015-07-22 杭州电子科技大学 一种基于地理位置信息的场景检索方法
KR20170082797A (ko) * 2016-01-07 2017-07-17 주식회사 케이티 컨텐츠 기반 영상 검색을 위한 특징 서술자 부호화 방법 및 장치
EP3407607A1 (en) * 2017-05-24 2018-11-28 Thomson Licensing Method and device for encoding and reconstructing a point cloud
CN107590814A (zh) * 2017-09-01 2018-01-16 上海斐讯数据通信技术有限公司 一种三维图像的二值化处理方法及系统
CN108182205A (zh) * 2017-12-13 2018-06-19 南京信息工程大学 一种基于sift的hash算法的图像快速检索方法
JP7323545B2 (ja) * 2018-10-09 2023-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020143005A1 (zh) * 2019-01-10 2020-07-16 深圳市大疆创新科技有限公司 对三维数据点集进行编码或解码的方法和设备
US20210042958A1 (en) * 2019-08-09 2021-02-11 Facebook Technologies, Llc Localization and mapping utilizing visual odometry
CN112348885A (zh) * 2019-08-09 2021-02-09 华为技术有限公司 视觉特征库的构建方法、视觉定位方法、装置和存储介质
CN110706248B (zh) * 2019-08-20 2024-03-12 广东工业大学 一种基于slam的视觉感知建图方法及移动机器人
CN111551186A (zh) * 2019-11-29 2020-08-18 福瑞泰克智能系统有限公司 一种车辆实时定位方法、系统及车辆
CN111882590A (zh) * 2020-06-24 2020-11-03 广州万维创新科技有限公司 一种基于单张图片定位的ar场景应用方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5986710A (en) * 1996-06-26 1999-11-16 Samsung Electronics Co., Ltd. Image encoding method and apparatus for controlling the number of bits generated using quantization activities
US20090080516A1 (en) * 2005-01-14 2009-03-26 Eun Young Chang Method of encoding and decoding texture coordinates in three-dimensional mesh information for effective texture mapping
CN102611892A (zh) * 2006-03-16 2012-07-25 华为技术有限公司 在编码过程中实现自适应量化的方法及装置
CN108369751A (zh) * 2015-12-14 2018-08-03 松下电器(美国)知识产权公司 三维数据编码方法、解码方法、编码装置、解码装置
CN111989713A (zh) * 2018-04-10 2020-11-24 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
WO2020248177A1 (zh) * 2019-06-12 2020-12-17 浙江大学 点云的编解码方法及装置
CN111639147A (zh) * 2020-04-24 2020-09-08 视辰信息科技(上海)有限公司 一种地图压缩方法、系统及计算机可读存储介质
CN111982152A (zh) * 2020-07-31 2020-11-24 广州文远知行科技有限公司 点云地图量化方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN117461056A (zh) 2024-01-26
WO2022252346A1 (zh) 2022-12-08
WO2022252347A1 (zh) 2022-12-08
US20240112372A1 (en) 2024-04-04
EP4339881A1 (en) 2024-03-20
KR20240017918A (ko) 2024-02-08
KR20240013238A (ko) 2024-01-30
CN117413523A (zh) 2024-01-16
US20240111793A1 (en) 2024-04-04
EP4336223A1 (en) 2024-03-13
CN117397242A (zh) 2024-01-12
US20240095265A1 (en) 2024-03-21
EP4336454A1 (en) 2024-03-13
WO2022252345A1 (zh) 2022-12-08
CN117460972A (zh) 2024-01-26
KR20240017906A (ko) 2024-02-08

Similar Documents

Publication Publication Date Title
US20130329061A1 (en) Method and apparatus for storing image data
WO2021088498A1 (zh) 虚拟物体显示方法以及电子设备
WO2021088497A1 (zh) 虚拟物体显示方法、全局地图更新方法以及设备
CN112053360B (zh) 图像分割方法、装置、计算机设备及存储介质
WO2022252337A1 (zh) 3d地图的编解码方法及装置
WO2023051383A1 (zh) 一种设备定位方法、设备及系统
WO2022252237A1 (zh) 3d地图的编解码方法及装置
WO2022252235A1 (zh) 3d地图的解码装置和方法、及3d地图的编码码流
WO2022252234A1 (zh) 3d地图的编码装置和方法
WO2022252236A1 (zh) 3d地图的编解码方法及装置
WO2022252238A1 (zh) 3d地图的压缩、解压缩方法和装置
WO2022253228A1 (zh) 3d地图的压缩、解压缩方法和装置
CN115329113A (zh) 一种图像的搜索方法、终端和服务器
CN117707368A (zh) 移动轨迹拟合方法及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21943694

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE