CN117397242A - 3d地图的压缩、解压缩方法和装置 - Google Patents
3d地图的压缩、解压缩方法和装置 Download PDFInfo
- Publication number
- CN117397242A CN117397242A CN202180098601.9A CN202180098601A CN117397242A CN 117397242 A CN117397242 A CN 117397242A CN 202180098601 A CN202180098601 A CN 202180098601A CN 117397242 A CN117397242 A CN 117397242A
- Authority
- CN
- China
- Prior art keywords
- map
- preset threshold
- threshold vector
- data
- descriptor
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 229
- 238000007906 compression Methods 0.000 title claims abstract description 59
- 230000006837 decompression Effects 0.000 title claims abstract description 57
- 230000006835 compression Effects 0.000 title claims abstract description 53
- 239000013598 vector Substances 0.000 claims abstract description 440
- 238000013139 quantization Methods 0.000 claims abstract description 117
- 238000012545 processing Methods 0.000 claims abstract description 107
- 230000005540 biological transmission Effects 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims description 94
- 230000003247 decreasing effect Effects 0.000 claims description 28
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 238000013461 design Methods 0.000 description 55
- 230000000007 visual effect Effects 0.000 description 53
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 102000005717 Myeloma Proteins Human genes 0.000 description 2
- 108010045503 Myeloma Proteins Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining 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/42—Determining position
- G01S19/45—Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/487—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/189—Recording image signals; Reproducing recorded image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Radar, Positioning & Navigation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Library & Information Science (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Processing Or Creating Images (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
本申请实施例公开了一种3D地图的压缩方法、解压缩方法和装置,以减少3D地图的数据量,属于3D地图技术领域。所述3D地图的压缩方法包括:获取3D地图描述子,该3D地图描述子对应于3D地图的至少一个3D地图点。对该3D地图描述子和至少一个预设阈值向量之间的关系进行二值化处理,得到二值化数据。对3D地图描述子和至少一个预设阈值向量之间的差异进行量化处理,得到量化数据。本申请实施例可以减少存储3D地图所需的存储空间或减少传输3D地图所需的传输资源。
Description
本申请涉及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地图的数据量从太字节(Terabyte,TB)级减少至千兆字节(Gigabyte,GB)级。
3D地图描述子和至少一个预设阈值向量之间的关系可以包括但不限于:3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。通过对3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系进行二值化 处理,得到二值化数据,可以使得解压缩端根据该二值化数据和至少一个预设阈值向量获取3D地图描述子的一部分信息,这一部分信息可以是各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系,进而结合量化数据,得到重建3D地图描述子。
3D地图描述子和至少一个预设阈值向量之间的差异可以包括但不限于:3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。通过对3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值进行量化处理,得到量化数据,可以使得解压缩端根据该量化数据和至少一个预设阈值向量获取3D地图描述子的另一部分信息,这一部分信息可以是各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值,进而结合二值化数据,得到重建3D地图描述子。
一种可能的设计中,上述二值化数据和量化数据可以作为3D地图的压缩数据存储至存储模块中,或者,还可以对上述二值化数据和量化数据进行预测等其他压缩处理得到3D地图的压缩数据,将3D地图的压缩数据存储至存储模块中,以节省存储空间。
一种可能的设计中,该方法还可以包括:对二值化数据和量化数据进行封装,得到3D地图的码流。通过封装可以将二值化数据和量化数据封装成码流,从而方便传输,并且可以节省传输资源开销。
一种可能的设计中,上述方法还可以包括:接收电子设备发送的3D地图请求信息,响应于3D地图请求信息,向电子设备发送3D地图请求信息对应的3D地图的码流。例如,一种应用场景中,本申请实施例的压缩方法的执行主体是服务器,服务器通过本申请实施例的3D地图的压缩方法对3D地图描述子进行压缩得到3D地图的码流。服务器可以接收电子设备发送的3D地图请求信息,响应于3D地图请求信息,服务器向电子设备发送3D地图请求信息对应的3D地图的码流。另一种应用场景中,本申请实施例的压缩方法的执行主体是第一电子设备,服务器通过本申请实施例的3D地图的压缩方法对3D地图描述子进行压缩得到3D地图的码流。第一电子设备可以接收第二电子设备发送的3D地图请求信息,响应于3D地图请求信息,第一电子设备向第二电子设备发送3D地图请求信息对应的3D地图的码流。
一种可能的设计中,上述方法还可以包括:向服务器发送3D地图的码流。例如,一种应用场景中,本申请实施例的压缩方法的执行主体是第一电子设备,第一电子设备通过本申请实施例的3D地图的压缩方法对3D地图描述子进行压缩得到3D地图的码流。第一电子设备向服务器发送3D地图的码流。另一种应用场景中,第一电子设备通过本申请实施例的3D地图的压缩方法对3D地图描述子进行压缩得到3D地图的码流。第一电子设备向服务器发送3D地图的码流。服务器可以接收第二电子设备发送的3D地图请求信息,响应于3D地图请求信息,服务器向第二电子设备发送3D地图请求信息对应的3D地图的码流。
本申请实施例的3D地图的压缩方法适用于上述任意一种应用场景,在不同应用场景中,可以提升相应设备的使用性能,提升用户使用体验。例如,服务器可以快速的将3D地图的码流传输给电子设备,电子设备可以使用3D地图为用户提供3D地图相关的应用功能,例如,AR应用等。
一种可能的设计中,上述方法还可以包括:分别将3D地图描述子的各个分量与至少 一个预设阈值向量的对应分量相减,得到各个分量的差值。根据各个分量的差值,确定大小关系。
一种可能的设计中,二值化处理使用一个预设阈值向量,量化处理使用相同的预设阈值向量。
一种可能的设计中,二值化处理使用多个预设阈值向量,量化处理所使用的至少一个预设阈值向量的至少一个分量是二值化处理所使用的多个预设阈值向量的对应分量中任意一个。例如,二值化处理使用3个预设阈值向量,以3D地图描述子的一个分量为例,可以在3个差值或差值的绝对值中选取一个进行量化处理,这3个差值或差值的绝对值是3D地图描述子的一个分量分别与3个预设阈值向量的对应分量之间的差值或差值的绝对值。
一种可能的设计中,二值化处理所使用的至少一个预设阈值向量中的一个预设阈值向量为最小阈值向量或最大阈值向量,最小阈值向量的各个分量小于或等于3D地图描述子的对应分量的取值范围的最小值,最大阈值向量的各个分量大于或等于3D地图描述子的对应分量的取值范围的最大值。
本实现方式,该最小阈值向量或最大阈值向量可以保障3D地图描述子的各个分量分别与至少一预设阈值向量的对应分量之间的差值中,至少存在一个差值大于或等于0,在后续量化处理时,可以采用3D地图描述子与至少一个预设阈值向量的对应分量之间的差值,而非差值的绝对值,以降低计算复杂度。
一种可能的设计中,当二值化处理所使用的至少一个预设阈值向量包括N个预设阈值向量时,该N个预设阈值向量的相同位置的分量依次增大或依次减小,N为大于1的整数。其中,依次增大表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,依次减少表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
本实现方式,由于N个预设阈值向量的相同位置的分量依次增大或依次减小,使用通过该N个预设阈值向量可以将各个分量的取值划分为N+1个或N个区间,以通过不同的二值化数据指示3D地图描述子的分量所属的不同区间,以使得二值化数据携带3D地图描述子的一部分信息,以便解压缩端得到重建3D地图描述子。
例如,该二值化数据可以包括3D地图描述子的各个分量分别对应的多个比特二值化数据,各个分量中任意一个分量对应的多个比特二值化数据用于指示对应分量所属的区间,还用于指示量化处理中该分量对应的预设阈值向量的分量。例如,任意一个分量对应的多个比特二值化数据为1100,则量化处理中该分量对应的预设阈值向量为F2,即F2中与该分量相同位置的分量。1100与F2的对应关系可以是预先设置的。
一种可能的设计中,该二值化数据包括3D地图描述子的各个分量分别对应的多个比特二值化数据,各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示分量对应的预设阈值向量的分量。
本实现方式,各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示分量对应的预设阈值向量的分量,以便解压缩端得到重建3D地图描述子。
例如,3D地图描述子D为(0.35,0.45)。4个预设阈值向量分别为,F1:(0.2, 0.3),F2:(0.3,0.35),F3:(0.4,0.45),F4:(0.5,0.5)。4个预设阈值向量的相同位置的分量依次增大。对3D地图描述子和4个预设阈值向量之间的大小关系进行二值化处理,得到H1:(1,1),H2:(1,1),H3:(0,1),H4:(0,0),二值化数据为11001110,对D进行量化所使用的向量为(0.3,0.45),即F2中的一个分量(0.3)和F3中的一个分量(0.45)。
一种可能的设计中,量化处理所使用的至少一个预设阈值向量,与二值化数据所指示的量化处理的至少一个预设阈值向量相同。
一种可能的设计中,量化处理所使用的至少一个预设阈值向量的至少一个分量是根据二值化数据得到。例如,可以先对3D地图描述子进行二值化处理,之后基于二值化数据进行量化处理。
一种可能的设计中,二值化数据中至少一个比特还用于指示量化数据的比特数。
不同的二值化数据可以指示3D地图描述子的分量所属的不同区间,不同区间的长度可以不同,不同区间的长度可以对应不同的量化数据的比特数,不同的量化数据的比特数对应不同的量化精度。通过二值化数据动态指示量化数据的比特数,以便解压缩端对量化数据进行正确的解压缩。
第二方面,本申请实施例提供一种3D地图的解压缩方法,该方法可以包括:获取3D地图的压缩数据,压缩数据包括二值化数据和量化数据。根据二值化数据和量化数据,得到重建3D地图描述子。
一种可能的设计中,获取3D地图的压缩数据,可以包括:获取3D地图的码流;对3D地图的码流进行解封装,得到3D地图的压缩数据。
一种可能的设计中,该方法还可以包括:发送3D地图请求信息,接收3D地图请求信息对应的3D地图的码流;或者,接收3D地图的码流。
一种可能的设计中,根据二值化数据和量化数据,得到重建3D地图描述子,可以包括:对量化数据进行反量化处理,得到重建3D地图描述子和至少一个预设阈值向量之间的差异。根据差异、二值化数据和至少一个预设阈值向量,得到重建3D地图描述子,该二值化数据用于表示重建3D地图描述子和至少一个预设阈值向量之间的关系。
一种可能的设计中,重建3D地图描述子和至少一个预设阈值向量之间的关系可以包括:重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。
一种可能的设计中,重建3D地图描述子和至少一个预设阈值向量之间的差异包括:重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。
一种可能的设计中,二值化数据还用于指示至少一个预设阈值向量,该方法还可以包括:根据二值化数据和N个预设阈值向量,确定至少一个预设阈值向量。N个预设阈值向量的相同位置的分量依次增大或依次减小,N为大于1的整数。依次增大用于表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,依次减少用于表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
一种可能的设计中,二值化数据包括重建3D地图描述子的各个分量分别对应的多个 比特二值化数据,各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示分量对应的预设阈值向量。
一种可能的设计中,二值化数据中至少一个比特还用于指示量化数据的比特数。
第三方面,本申请实施例提供一种3D地图的压缩装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第一方面或第一方面的任一可能的实施方式所述的方法的功能模块。举例来说,该3D地图的压缩装置,可以包括:二值化处理模块,用于获取3D地图描述子,3D地图描述子对应于3D地图的至少一个3D地图点。该二值化处理模块,还用于对3D地图描述子和至少一个预设阈值向量之间的关系进行二值化处理,得到二值化数据。量化模块,用于对3D地图描述子和至少一个预设阈值向量之间的差异进行量化处理,得到量化数据。
一种可能的设计中,该装置还可以包括:封装模块,用于对二值化数据和量化数据进行封装,得到3D地图的码流。
一种可能的设计中,该装置还可以包括:传输模块,用于接收电子设备发送的3D地图请求信息,响应于3D地图请求信息,向电子设备发送3D地图请求信息对应的3D地图的码流;或者,传输模块,用于向服务器发送3D地图的码流。
一种可能的设计中,3D地图描述子和至少一个预设阈值向量之间的关系包括:3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。
一种可能的设计中,3D地图描述子和至少一个预设阈值向量之间的差异包括:3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。
一种可能的设计中,该二值化处理模块还用于:分别将3D地图描述子的各个分量与至少一个预设阈值向量的对应分量相减,得到各个分量的差值。根据各个分量的差值,确定大小关系。
一种可能的设计中,该量化处理所使用的至少一个预设阈值向量的至少一个分量是二值化处理所使用的至少一个预设阈值向量的对应分量中任意一个。
一种可能的设计中,该二值化处理所使用的至少一个预设阈值向量中的一个预设阈值向量为最小阈值向量或最大阈值向量,最小阈值向量的各个分量小于或等于3D地图描述子的对应分量的取值范围的最小值,最大阈值向量的各个分量大于或等于3D地图描述子的对应分量的取值范围的最大值。
一种可能的设计中,当二值化处理所使用的至少一个预设阈值向量包括N个预设阈值向量时,N个预设阈值向量的相同位置的分量依次增大或依次减小,N为大于1的整数;依次增大表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,依次减少表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
一种可能的设计中,二值化数据包括3D地图描述子的各个分量分别对应的多个比特二值化数据,各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示该分量对应的预设阈值向量的分量。
一种可能的设计中,量化处理所使用的至少一个预设阈值向量,与二值化数据所指示的量化处理的至少一个预设阈值向量相同。
一种可能的设计中,量化处理所使用的至少一个预设阈值向量的至少一个分量是根据二值化数据得到。
一种可能的设计中,二值化数据中至少一个比特还用于指示量化数据的比特数。
第四方面,本申请实施例提供一种3D地图的解压缩装置,该装置可以为电子设备或者服务器中的芯片或者片上系统,还可以为电子设备或者服务器中用于实现第二方面或第二方面的任一可能的实施方式所述的方法的功能模块。举例来说,该3D地图的解压缩装置,包括:重建模块,用于通过存储模块或传输模块获取3D地图的压缩数据,压缩数据包括二值化数据和量化数据。重建模块,还用于根据二值化数据和量化数据,得到重建3D地图描述子。
一种可能的设计中,重建模块用于通过传输模块获取3D地图的码流。对3D地图的码流进行解封装,得到3D地图的压缩数据。
一种可能的设计中,传输模块,用于发送3D地图请求信息,接收3D地图请求信息对应的3D地图的码流;或者,传输模块,用于接收3D地图的码流。
一种可能的设计中,重建模块用于:对量化数据进行反量化处理,得到重建3D地图描述子和至少一个预设阈值向量之间的差异。根据差异、二值化数据和至少一个预设阈值向量,得到重建3D地图描述子,二值化数据用于表示重建3D地图描述子和至少一个预设阈值向量之间的关系。
一种可能的设计中,重建3D地图描述子和至少一个预设阈值向量之间的关系包括:重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。
一种可能的设计中,重建3D地图描述子和至少一个预设阈值向量之间的差异包括:重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。
一种可能的设计中,二值化数据还用于指示至少一个预设阈值向量,该重建模块还用于:根据二值化数据和N个预设阈值向量,确定至少一个预设阈值向量。N个预设阈值向量的相同位置的分量依次增大或依次减小,N为大于1的整数;依次增大用于表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,依次减少用于表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
一种可能的设计中,二值化数据包括重建3D地图描述子的各个分量分别对应的多个比特二值化数据,各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示分量对应的预设阈值向量的分量。
一种可能的设计中,二值化数据中至少一个比特还用于指示量化数据的比特数。
第五方面,本申请实施例提供一种3D地图的压缩装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第一方面任一项可能的设计所述的方法。
第六方面,本申请实施例提供一种3D地图的解压缩装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面或第二方面任一项可能的设计所述的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,其特征在于,包括计算机程 序,所述计算机程序在计算机上被执行时,使得所述计算机执行第一方面或第一方面任一项可能的设计所述的方法,或者,执行第二方面或第二方面任一项可能的设计所述的方法。
第八方面,本申请提供一种计算机程序或计算机程序产品,当计算机程序或计算机程序产品在计算机上被执行时,使得计算机实现如上述第一至二方面及其任一种可能的实施方式所描述的方法。
应当理解的是,本申请的第三至七方面与本申请的第一至二方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
图1为本申请实施例所提供的一种应用架构的示意图;
图2为本申请实施例提供的电子设备20的一种结构示意图;
图3为本申请实施例提供的服务器30的一种结构示意图;
图4a-图4f为本申请实施例提供的一个应用场景的示意图;
图4g为本申请实施例提供的电子设备显示的一种用户界面的示意图;
图5是本申请实施例提供的一种3D地图的压缩方法的流程示意图;
图6是本申请实施例提供的一种3D地图的解压缩方法的流程示意图;
图7是本申请实施例提供的一种3D地图的压缩方法的流程示意图;
图8是本申请实施例提供的一种3D地图的解压缩方法的流程示意图;
图9是本申请实施例提供的一种3D地图的压缩方法的流程示意图;
图10是本申请实施例提供的一种3D地图的解压缩方法的流程示意图;
图11A和图11B为本申请实施例提供的一种3D地图的编解码方法的示意图;
图12为本申请实施例提供的一种3D地图的压缩装置的结构示意图;
图13为本申请实施例提供的一种3D地图的解压缩装置的结构示意图;
图14为本申请实施例提供的一种译码装置1400的示意性框图。
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请的说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或 “a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例或所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。如本文所使用的,单数形式的“一”、“某”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”、“具有”、“包含”和/或“含有”在本文中使用时指定所陈述的特征、整数、步骤、操作、要素、和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、要素、组件和/或其群组的存在或添加。
需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。
图1为本申请实施例所提供的一种应用架构的示意图,如图1所示,该应用架构包括多个电子设备和服务器,其中,多个电子设备可以包括第一电子设备、一个或多个第二电子设备(图1中以两个第二电子设备为例),该一个或多个第二电子设备是除第一电子设备外的若干个电子设备。多个电子设备和服务器之间、多个电子设备彼此之间均可进行通信,例如,对于应用架构中的任意一个设备,可以通过无线保真(wireless-fidelity,WiFi)通信、蓝牙通信或者蜂窝2/3/4/5代(2/3/4/5generation,2G/3G/4G/5G)通信等方式与其它设备进行通信,应当理解的,服务器和电子设备之间还可以采用其他通信方式,包括未来的通信方式,对此不做具体限定。需要说明的是,本申请实施例中的“一个或多个第二电子设备”仅用于表示除第一电子设备外的其它电子设备,但并不限定多个电子设备的类型是否相同。
上述电子设备,可以是配置有摄像头和显示组件的各种类型的设备,例如,电子设备可以是手机、平板电脑、笔记本电脑、录像机等终端设备(图1中以电子设备是手机为例),电子设备也可以是用于虚拟场景交互的设备,包括VR眼镜、AR设备,MR互动设备等,电子设备还可以是智能手表、智能手环等可穿戴电子设备,电子设备还可以是车辆、无人驾驶车辆、无人机、工业机器人等载具中所搭载的设备。本申请实施例对电子设备的具体形式不做具体限定。
此外,上述电子设备也可以被称为用户装备(user equipment,UE)、订户站、移动单元、订户单元、无线单元、远程单元、移动设备、无线设备、无线通信设备、远程设备、移动订户站、终端设备、接入终端、移动终端、无线终端、智能终端、远程终端、手持机、用户代理、移动客户端、客户端、或其他某个合适的术语。
上述服务器可以是一台或多台物理服务器(图1中以一台物理服务器为例),也可以是计算机集群,还可以是云计算场景的虚拟机或者云端服务器,等等。
本申请实施例中,电子设备可以安装VR应用、AR应用或者MR应用等虚拟场景应用程序(application,APP),并可以基于用户的操作(例如点击、触摸、滑动、抖动、声控等)运行VR应用、AR应用或者MR应用。电子设备可以通过传感器采集环境中任意 物体的视觉信息,再根据采集的视觉信息在显示组件上显示虚拟物体,该虚拟物体可以是VR场景、AR场景或MR场景中的虚拟物体(即虚拟环境中的物体)。
本申请实施例中,电子设备可以安装导航、检测、控制类应用程序,并基于用户的操控或是预设的程序来运行相应的应用。电子设备可以基于自身在当前环境中的位姿和其他状态信息,进行路径规划、物体检测、载具操控等应用。
位姿即电子设备的位置和朝向信息,可以是在世界坐标系中的绝对位姿,也可以是相对于环境中某个点的相对位姿。
本申请实施例所涉及的视觉信息,包括但不限于摄像头采集得到的图像视频(不带深度信息)、深度感应器(depth sensor)采集得到的带深度信息的图像视频、激光雷达(LiDAR)采集得到的数据、毫米波雷达(RaDAR)采集得到的数据。
需要说明的是,本申请实施例中,电子设备中的虚拟场景应用程序可以是电子设备自身内置的应用程序,也可以是用户自行安装的第三方服务商提供的应用程序,对此不做具体限定。
本申请实施例中,电子设备还可以配置有即时定位与地图构建(simultaneous localization and mapping,SLAM)系统,SLAM系统能够在完全未知的环境中创建地图,并利用该地图进行定位、位姿(位置与姿态)确定、导航等。本申请实施例中将SLAM系统创建的地图称作SLAM地图,SLAM地图可以理解为是SLAM系统根据采集设备采集到的环境信息绘制出的地图,采集设备可以包括电子设备中的视觉信息采集装置和惯性测量单元(inertial measurement unit,IMU),其中,视觉信息采集装置例如可以包括摄像头、相机、深度相机、激光雷达、毫米波雷达等,IMU例如可以包括陀螺仪、加速度计等传感器。
本申请实施例中将SLAM地图亦称作3D地图。需要说明的是,3D地图包括但不限于SLAM地图,其还可以包括采用其它技术创建的三维地图,本申请实施例对此不做具体限定。
在一种可能的实现方式中,3D地图可以包括多个3D地图点,相应的,3D地图的数据可以包括多个3D地图点的数据。3D地图点是环境中令人感兴趣的或者具有显著特征的点。
3D地图点的一种可能的获取方式为,使用激光雷达、无人机视角的空中摄影(倾斜摄影)、高清全景相机、高清工业相机等多种设备拍摄,通过ORB、尺度不变特征变换(scale-invariant feature transform,SIFT)、加速版具有鲁棒性特征(speeded up robust features,SURF)、二元鲁棒独立基本特征(binary robust independent elementary features,BRIEF)、二进制鲁棒不变可伸缩关键点(binary robust invariant scalable keypoints,BRISK)、快速视网膜关键点(fast retina keypoint,FREAK)、D2Net或者基于自监督训练的特征点检测和描述符提取方法(SuperPoint)等方法从上述设备拍摄到的数据中提取。
3D地图点的数据可以包括:
(1)3D地图点描述子
3D地图点描述子是一条向量(vector),用来表示对应3D地图点的局部特征。在视觉定位算法中,3D地图点描述子用于进行3D地图点间的匹配。一种可能的做法是,计算两个3D地图点描述子之间的距离(可以是欧式距离、内积距离、汉明距离等),当距离 小于一个阈值时,视为两个3D地图点匹配。
(2)3D地图点空间位置
3D地图点空间位置可以采用三维空间轴线上的X、Y、Z表示,也可以采用经纬度、海拔高度表示,还可以采用极坐标等方式表示,本申请实施例对3D地图点空间位置的表示方法不做具体限制。3D地图点空间位置可以是3D地图点的绝对位置,也可以是3D地图点的相对位置,例如,以整个区域的中心位置为原点,所有3D地图点空间位置都是相对于原点的空间位置的偏移位置。
本申请实施例中,可以给每个3D地图点分配一个编号写入3D地图的数据中,也可以利用多个3D地图点在内存中的存储顺序隐含表示3D地图点的编号。需要说明的是,3D地图包含的多个3D地图点之间的先后顺序没有实际意义,因此前述编号可以认为是用于标识3D地图点的标识符,以对各个3D地图点加以区分,但该编号并不用于限定多个3D地图点之间的先后顺序,例如,3D地图包含3个3D地图点,其编号分别是1、2和3,对该3个3D地图点进行的处理,可以按照1、2、3的顺序进行,也可以按照3、2、1的顺序进行,还可以按照2、1、3的顺序进行,等等。
在一种可能的实现方式中,3D地图的数据还包括多个区域描述子,该多个区域描述子中的任意一个区域描述子用于描述上述多个3D地图点中的部分或全部3D地图点的特征,即针对多个区域描述子中的任意一个区域描述子,该区域描述子可以用于描述多个3D地图点中的部分或全部3D地图点的特征,这样区域描述子和3D地图点是一对多的关系。而多个3D地图点中的每个3D地图点的特征可以被多个区域描述子中的部分或全部区域描述子描述,这样3D地图点和区域描述子是一对多的关系。由此可见,多个区域描述子和多个3D地图点之间是多对多的关系。区域描述子的生成方法包括但不限于BOW、局部聚集描述符向量(vector of locally aggregated descriptors,VLAD)等传统方法以及基于NetVLAD、人工智能(artificial intelligence,AI)的新型方法。同理,多个区域描述子也可以用编号进行标识,以对多个区域描述子进行区分,但是该编号同样不是对多个区域描述子之间的先后顺序的限定。
在一种可能的实现方式中,3D地图的数据还包括3D地图点和描述子的对应关系,在该对应关系中明确的描述了任意一个描述子对应于哪些3D地图点,以及任意一个3D地图点对应于哪些描述子。
可选的,上述对应关系可以显式的用区域描述子的编号和3D地图点的编号之间的对应表进行描述,例如,3D地图包含3个区域描述子,编号是T1~T3,5个3D地图点,其中,6个3D地图点空间位置的编号是P
1~P
6,6个3D地图点描述子的编号是F
1~F
6,对应表如表1所示。
表1
需要说明的是,表1是区域描述子的编号和3D地图点的编号之间的对应表的一个示例,该对应表也可以采用其他的格式或方式呈现,本申请对此不做具体限定。
可选的,上述对应关系也可以隐式的用区域描述子和3D地图点的存储位置进行描述,例如,在内存中先存储T1,跟着存储P
1、P
2和P
3的数据,接着存储T2,跟着存储P
2和P
3的数据,最后存储T3,跟着存储P
3、P
4、P
5和P
6的数据。
图2为本申请实施例提供的电子设备20的一种结构示意图,如图2所示,电子设备20可以是图1所示实施例中的第一电子设备和一个或多个第二电子设备中的至少一者。应该理解的是,图2所示的结构并不构成对电子设备20的具体限定。在本申请另一些实施例中,电子设备20可以包括比图2所示结构更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备20可包括:芯片21、存储器22(一个或多个计算机可读存储介质)、用户接口23、显示组件24、摄像头25、传感器26、用于设备定位的定位模块27以及用于通信的收发器28。这些部件之间可以通过一个或多个总线29通信。
芯片21可以集成包括:一个或多个处理器211、时钟模块212以及电源管理模块213。集成于芯片21中的时钟模块212主要用于为处理器211提供数据传输和时序控制所需要的计时器,计时器可以实现数据传输和时序控制的时钟功能。处理器211可以根据指令操作码和时序信号,执行运算,产生操作控制信号,完成取指令和执行指令的控制。集成于芯片21中的电源管理模块213主要用于为芯片21以及电子设备20的其他部件提供稳定的、高精确度的电压。
处理器211又可称为中央处理器(central processing unit,CPU),处理器211具体可以包括一个或多个处理单元,例如,处理器211可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或,神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在一种可能的实现方式中,处理器211可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或,通用串行总线(universal serial bus,USB)接口等。
存储器22可以和处理器211通过总线29连接,也可以与处理器311耦合在一起,用于存储各种软件程序和/或多组指令。存储器22可以包括高速随机存取的存储器(例如高速缓冲存储器),也可以包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器22可以存储操作系统,例如,安卓(Android),苹果(IOS),微软(Windows)或者Linux等嵌入式操作系统。存储器22还可以存储数据,例如,图像数据、点云数据、3D地图的数据、位姿数据、坐标系转换信息、地图更新信息等。存储器22还可以存储计算机可执行的程序代码,该计算机可执行的程序代码包括指令,例如,通信程序指令,SLAM系统的相关程序指令等。存储器22还可以存储一个或多个应用程序,例如,AR/VR/MR等虚拟场景应用程序、地图类应用程序、图像管理类应用程序、导航与控制类应用程序等。存储器22还可以存储用户界面程序,该用户界面程序可以通过图形化的操作界面将应用程序的内容,例如,AR/VR/MR等虚拟场景中的虚拟物体,形象逼真的显示出来并通过显示组件24呈现,以及实现通过菜单、对话框和按键等输入控件接收用户对应用程序的控制操作。
用户接口23例如可以是触控面板,该触控面板可以检测用户在其上的操作指令,用户接口23也例如可以是小键盘、物理按键或者鼠标等。
电子设备20可以包括一个或多个显示组件24。电子设备20可以通过显示组件24、芯片21中的图形处理器(GPU)和应用处理器(AP)等共同实现显示功能。GPU是实现图像处理的微处理器,其连接显示组件24和应用处理器,GPU执行数学和几何计算以用于图形渲染。显示组件24可以显示电子设备20输出的界面内容,例如,显示AR/VR/MR等虚拟场景中的图像、视频等,界面内容可包括正在运行的应用程序的界面以及系统级别菜单等,具体可以由下述界面元素组成:输入型界面元素,例如按键(Button),文本输入框(Text),滑动条(Scroll Bar),菜单(Menu)等;输出型界面元素,例如视窗(Window),标签(Label),图像,视频,动画等。
显示组件24可以是显示面板,镜片(例如VR眼镜),投影屏等。显示面板也可以称为显示屏,例如,可以是触摸屏、柔性屏、曲面屏等,也可以是其它光学组件。应当理解的,本申请实施例中的电子设备具有的显示屏可以是触摸屏、柔性屏、曲面屏或者其它形式的屏幕,亦即电子设备的显示屏具有显示图像的功能,而对于显示屏的具体材质和形状不作具体限定。
例如,当显示组件24包括显示面板时,显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。此外,在一种可能的实现方式中,可以将用户接口23中的触控面板和显示组件24中的显示面板耦合在一起,例如,触控面板可设置于显示面板下方,触控面板用于检测用户通过显示面板输入触控操作(例如点击、滑动,触摸等)时作用于显示面板上的触控压力,显示面板用于进行内容显示。
摄像头25可以是单目摄像头或双目摄像头或深度摄像头,用于对环境进行拍摄/录像,以获得图像/视频图像。摄像头25所采集的图像/视频图像例如可作为SLAM系统的一种输入数据,或者可通过显示组件24进行图像/视频显示。
在一种可能的实现方式中,也可以把摄像头25视为一种传感器。摄像头25采集的图像可以是IMG格式,也可以是其他格式类型,本申请实施例对此不做具体限定。
传感器26可以用于采集与电子设备20的状态变化(例如,旋转、摆动、移动、抖动等)相关的数据,传感器26所采集的数据可以作为SLAM系统的一种输入数据。传感器26可以包括一种或多种传感器,例如,惯性测量单元(inertial measurement unit,IMU),飞行时间(time of flight,TOF)传感器等。IMU中可以包括陀螺仪、加速度计等传感器,陀螺仪用于测量电子设备运动时的角速度,加速度计用于测量电子设备运动时的加速度。TOF传感器中可以包括光发射器和光接收器,光发射器用于向外发射光线,例如,激光、红外线、雷达波等,光接收器用于检测反射的光线,例如,反射的激光、红外线、雷达波等。
需要说明的,传感器26还可以包括更多的其他传感器,例如惯性传感器,气压计,磁力计,轮速计等,本申请实施例对此不做具体限定。
定位模块27用于实现对电子设备20的物理定位,例如,用于获取电子设备20的初始位置。定位模块27可以包括WiFi定位模块、蓝牙定位模块、基站定位模块、卫星定位模块中的一个或多个。卫星定位模块中可以设置有全球导航卫星系统(global navigation satellite system,GNSS)以辅助定位,GNSS不限于北斗系统、全球定位系统(global positioning system,GPS)系统、格洛纳斯(global navigation satellite system,GLONASS)系统、伽利略卫星导航系统(Galileo)系统。
收发器28用于实现电子设备20与其它设备(例如,服务器、其它电子设备等)之间的通信。收发器28集成了发射器和接收器,分别用于发送和接收射频信号。具体实现中,收发器28包括但不限于:天线系统、射频(radio frequency,RF)收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编译码器(CODEC)芯片、用户身份识别卡(subscriber identification module,SIM)卡和存储介质等。在一种可能的实现方式中,还可以在单独的芯片上实现收发器28。收发器28支持2G/3G/4G/5G等中的至少一种数据网络通信,和/或,支持以下近距无线通信的方式中的至少一种:蓝牙(bluetooth,BT)通信,无线保真(wirelessfidelity,WiFi)通信,近场通信(near field communication,NFC),红外(infrared,IR)无线通信,超宽带(ultra wide band,UWB)通信,紫蜂协议(ZigBee)通信。
本申请实施例中,处理器211通过运行存储在存储器22的程序代码,从而执行电子设备20的各种功能应用和数据处理。
图3为本申请实施例提供的服务器30的一种结构示意图,如图3所示,服务器30可以是图1所示实施例中的服务器。服务器30包括处理器301、存储器302(一个或多个计算机可读存储介质)和收发器303。这些部件之间可以通过一个或多个总线304通信。
处理器301可以是一个或多个CPU,在处理器301是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器302可以和处理器301通过总线304连接,也可以和处理器301耦合在一起,用于存储各种程序代码和/或多组指令、以及数据(例如,地图数据、位姿数据等)。具体实现中,存储器302包括但不限于是随机存储记忆体(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、或便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM)等。
收发器303主要集成了接收器和发射器,其中接收器用于接收电子设备发送的数据(例如,请求、图像等),发射器用于向电子设备发送数据(例如,地图数据、位姿数据等)。
应当理解,图3所示的服务器30仅为本申请实施例提供的一个示例,服务器30还可以具有比图示更多的部件,本申请实施例对此不做具体限定。
本申请实施例中,处理器301通过运行存储在存储器302中的程序代码,从而执行服务器30的各种功能应用和数据处理。
本申请实施例中使用的术语“耦合”意指直接连接或者通过一个或多个居间组件或电路连接。
图4a为本申请实施例提供的一个应用场景的示意图,如图4a所示,该应用场景是电子设备通过传感器采集视觉信息,结合视觉信息以及来自服务器的3D地图确定电子设备的当前位姿。
3D地图是由服务器提供的,即服务器创建3D地图,然后对该3D地图进行压缩处理,将3D地图的压缩数据传输给电子设备;电子设备收到3D地图的压缩数据后进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及3D地图的重构数据确定电子设备的当前位姿。位姿即电子设备的位置信息,可以是在世界坐标系中的绝对位姿,也可以是相对于环境中某个点的相对位姿。
本申请实施例中,服务器可以预先创建3D地图,将3D地图进行压缩处理后存储在本地,这样可以节省存储空间。另外,服务器也可以将3D地图的压缩数据传输给其他设备,例如,云存储器。
1、服务器创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
服务器对3D地图进行压缩处理可以节省本地的存储空间。
2、电子设备向服务器发送地图下载请求,该地图下载请求的触发方式有两种:
(1)用户打开安装于电子设备上的地图类应用程序,该应用程序向其对应的服务器上传基于GPS定位或者WiFi定位得到的位置信息,该上传操作可以触发地图下载请求。由于上传的内容包括位置信息,因此服务器可以基于位置信息进行一个初步估计,将位置信息指示的定位点所属区域的3D地图的压缩数据传输给电子设备。位置信息指示的定位点所属区域的范围可以预先设定,例如,该所属区域可以是定位点所在的各个级别的行政区(包括县、市、国家或者行政区等),也可以是以定位点为中心、设定距离为半径的圆周区域。
(2)用户打开安装于电子设备上的地图类应用程序,在该应用程序中主动输入或者选择一个区域,例如,用户主动输入“xx商业中心”,或者从一个列表“A街道、B街道、C街道”中选择了“A街道”。用户的前述操作可以触发地图下载请求。无论是用户输入或是选择包含了一个地理位置,因此服务器将该地理位置的3D地图的压缩数据传输给电子设备。
应当理解的是,本申请实施例中除了上述两种方式还可以采用其他方式触发地图下载请求,例如,电子设备自动检测是否符合下载3D地图或者启动下载3D地图的条件,或者,电子设备通过检测环境光线的变化或者检测环境的变化来启动下载3D地图,以向服务器请求下载一个区域范围内的3D地图,区域范围的大小不做具体限定。
3、服务器向电子设备发送3D地图的压缩数据。
4、电子设备通过传感器采集视觉信息。
需要说明的是,步骤3和步骤4是相互独立的,不限定先后顺序。
5、电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
6、电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
电子设备在收到3D地图的压缩数据后,不需要立即解压缩,只需要在基于视觉信息进行定位之前解压缩得到3D地图的重构数据即可。例如,用户可以以下载“离线地图”的方式预先下载一个区域范围的3D地图的压缩数据,而在需要定位时,才对3D地图的压缩数据进行解压缩。
图4b为本申请实施例提供的一个应用场景的示意图,如图4b所示,该应用场景是电子设备通过传感器采集视觉信息,服务器结合来自电子设备的视觉信息以及3D地图确定电子设备的当前位姿。
3D地图是由服务器提供的,即服务器创建3D地图,然后对该3D地图进行压缩处理,将3D地图的压缩数据存储在本地。当收到来自电子设备的视觉信息时,服务器进行解压缩处理,得到3D地图的重构数据,结合视觉信息以及3D地图的重构数据确定电子设备的当前位姿。
1、服务器创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
2、电子设备通过传感器采集视觉信息。
3、电子设备向服务器发送视觉信息。
4、服务器对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
应当理解的,服务器对3D地图进行压缩处理是为了节省存储空间。
5、服务器根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
6、服务器向电子设备发送位姿。
图4c为本申请实施例提供的一个应用场景的示意图,如图4c所示,该应用场景是电子设备通过传感器采集视觉信息,结合采集的视觉信息以及3D地图确定电子设备的当前位姿。
3D地图是由电子设备提供的,即电子设备创建3D地图,然后对该3D地图进行压缩处理,将3D地图的压缩数据存储在本地。当采集到的视觉信息时,电子设备进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及3D地图的重构数据确定电子设备的当前位姿。
1、电子设备创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
应当理解的,电子设备对3D地图进行压缩处理是为了节省存储空间。
2、电子设备通过传感器采集得到视觉信息。
3、电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
4、电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
图4d为本申请实施例提供的一个应用场景的示意图,如图4b所示,该应用场景是第二电子设备通过传感器采集视觉信息,结合视觉信息以及来自服务器的3D地图确定第二电子设备的当前位姿。
3D地图是由第一电子设备创建的,即第一电子设备创建3D地图,对该3D地图进行 压缩处理,然后将3D地图的压缩数据发送给服务器,服务器再把3D地图的压缩数据发送给第二电子设备,第二电子设备进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及3D地图的重构数据确定第二电子设备的当前位姿。
本申请实施例中,第一电子设备可以预先创建3D地图,将3D地图进行压缩处理后传输给服务器,这样可以减少传输带宽。
1、第一电子设备创建3D地图,并压缩得到3D地图的压缩数据。
2、第一电子设备向服务器发送3D地图的压缩数据。
第一电子设备对3D地图进行压缩处理后再传输,可以减少传输带宽,提高传输效率。
3、第二电子设备向服务器发送地图下载请求。
第二电子设备发送地图下载请求也可以基于图4a所示的触发方式。
4、服务器向第二电子设备发送3D地图的压缩数据。
5、第二电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
6、第二电子设备通过传感器采集得到视觉信息。
7、第二电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
图4e为本申请实施例提供的一个应用场景的示意图,如图4c所示,该应用场景是第二电子设备通过传感器采集视觉信息,服务器结合来自第二电子设备的视觉信息以及来自第一电子设备的3D地图确定第二电子设备的当前位姿。
3D地图是由第一电子设备创建的,即第一电子设备创建3D地图,对该3D地图进行压缩处理,然后将3D地图的压缩数据发送给服务器。服务器进行解压缩处理,得到3D地图的重构数据,结合来自第二电子设备的视觉信息以及3D地图的重构数据确定第二电子设备的当前位姿。
1、第一电子设备创建3D地图,并压缩得到3D地图的压缩数据。
2、第一电子设备向服务器发送3D地图的压缩数据。
3、第二电子设备通过传感器采集得到视觉信息。
4、第二电子设备向服务器发送定位请求,该定位请求中携带视觉信息。
5、服务器对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
6、服务器根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
7、服务器向第二电子设备发送定位得到的位姿。
图4f为本申请实施例提供的一个应用场景的示意图,如图4d所示,该应用场景是第二电子设备通过传感器采集视觉信息,结合视觉信息以及来自第一电子设备的3D地图确定第二电子设备的当前位姿。
3D地图是由第一电子设备创建的,即第一电子设备创建3D地图,对该3D地图进行压缩处理,然后将3D地图的压缩数据发送给第二电子设备,第二电子设备进行解压缩处理,得到3D地图的重构数据,结合采集的视觉信息以及来自第一电子设备的3D地图确定第二电子设备的当前位姿。
1、第一电子设备创建3D地图,并压缩得到3D地图的压缩数据存储在本地。
2、第二电子设备向第一电子设备发送地图下载请求。
3、第一电子设备向第二电子设备发送3D地图的压缩数据。
4、第二电子设备对3D地图的压缩数据进行解压缩以得到3D地图的重构数据。
5、第二电子设备通过传感器采集得到视觉信息。
6、第二电子设备根据视觉信息在3D地图中进行定位以得到与视觉信息对应的位姿。
图4a~图4f所示实施例中,所采用的定位算法可以包括:
(1)从视觉信息中提取待检索区域描述子,提取待检索区域描述子使用的算法和从3D地图中提取区域描述子的算法一致。
(2)从视觉信息中提取待检索3D地图点,并获取待检索3D地图点空间位置和待检索3D地图点描述子,提取待检索3D地图点描述子的算法和从3D地图中提取3D地图点描述子的算法一致。
(3)根据待检索区域描述子在3D地图的数据包含的多个区域描述子中进行检索以得到多个候选区域描述子。
本申请实施例中,可以计算待检索区域描述子分别与多个区域描述子中的每一个区域描述子的距离,该距离可以包括汉明距离、曼哈顿距离或者欧氏距离等,然后选择符合条件(例如距离小于阈值)的至少一个区域描述子,即为候选区域描述子。
(4)使用待检索3D地图点描述子分别与多个候选区域描述子所对应的3D地图点描述子进行匹配,匹配亦即计算待检索3D地图点描述子分别与多个候选区域描述子对应的3D地图点描述子的相似度,找出最相似的3D地图点。
(5)根据匹配到的3D地图点,使用ORB-SLAM2中的PnP、EPnP等位姿求解算法计算得到电子设备的位姿。
在图4a~图4f任一应用场景中,基于本申请实施例的3D地图进行定位,以得到电子设备当前的位姿,该位姿可以应用于AR导航、AR人机交互、辅助驾驶、自动驾驶等领域。以基于该位姿进行AR导航为例,图4g为本申请实施例提供的电子设备显示的一种用户界面的示意图,电子设备可以基于该位姿,显示如图4g所示的用户界面,该用户界面上可以包括导航前往会议室2的导航箭头指示,该导航前往会议室2的导航箭头指示可以是基于该位姿从服务器获取的或者从本地获取的虚拟物体。该用户界面上还可以包括传感器采集的视觉信息,例如,如图4g所示的建筑物。用户参照电子设备的如图4g所示的用户界面,前往会议室2。
需要说明的是,本申请实施例所涉及的解压缩得到的3D地图的重构数据,也可以称之为3D地图的重建数据。
而图4a~图4f所示实施例中,均涉及到对3D地图进行压缩处理和解压缩处理,本申请实施例提供了多个用于进行前述压缩处理和解压缩处理的方法,以下对该压缩处理和解压缩处理的方法进行说明。
基于上文的描述,下面给出本申请实施例提供的一些3D地图的压缩方法。对于下文描述的各方法实施例,为了方便起见,将其都表述为一系列的动作步骤的组合,但是本领域技术人员应该知悉,本申请技术方案的具体实现并不受所描述的一系列的动作步骤的顺序的限制。
参见图5,图5是本申请实施例提供的一种3D地图的压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备(例如,第一电子设备或第二电子设备),或者也可以应用于图1至图4f任一所示例的服务器。本申请实施例的 用于执行3D地图的压缩方法的执行主体也可以称之为压缩端或编码端。该方法包括但不限于以下步骤:
S101、获取3D地图描述子。
该3D地图描述子对应于3D地图的至少一个3D地图点。3D地图描述子可以是一条向量,例如,128维的向量,或512维的向量等等。3D地图描述子的维数不以上述举例作为限制,其还可以是其他数值,本申请实施例不一一举例说明。具体的,3D地图描述子可以是区域描述子,或者3D地图点描述子。其中,一个区域描述子可以对应多个3D地图点,其具体解释说明可以参见前述实施例的解释说明,此处不再赘述。这里的3D地图描述子是需要通过后续步骤进行压缩的3D地图描述子。通过对3D地图描述子的压缩,以减少3D地图描述子的数据量。
S102、对3D地图描述子和至少一个预设阈值向量之间的关系进行二值化处理,得到二值化数据。
至少一个预设阈值向量中任意一个预设阈值向量所包括的各个分量为任意数值。任意一个预设阈值向量所包括的分量的个数(即向量维数)与3D地图描述子所包括的分量的个数可以相同,也可以不同,其可以根据需求进行合理设置。任意一个预设阈值向量所包括的分量的取值也可以根据需求进行合理设置,例如,可以根据需要压缩的一些3D地图描述子的取值范围,设置至少一个预设阈值向量所包括的分量的取值。
二值化处理是指将3D地图描述子和至少一个预设阈值向量之间的关系处理成用二进制符号表示的二进制串,即二值化数据。一方面,二值化数据的比特数通常会明显少于原始数据(例如,原始的3D地图描述子)的比特数,从而达到节省存储空间和/或传输资源开销的目的。另一方面,计算二值化数据之间的汉明距离,其计算量通常小于计算原始数据的欧式距离或内积距离等距离的计算量,从而可以降低计算复杂度。
二值化处理例如可以是哈希处理,哈希的原理是将3D地图描述子和至少一个预设阈值向量之间的关系映射到汉明空间(二值空间)中,生成一个二进制的哈希码。一方面,哈希码的比特数通常会明显少于原始数据的比特数,达到节省存储和传输带宽的目的,另一方面,计算哈希码之间的汉明距离,其计算量通常小于计算原始数据的欧式距离,从而降低计算复杂度。该二值化处理包括但不限于:迭代量化(iterative quantization,ITQ)的哈希、局部敏感哈希(locality-sensitive hashing,LSH)、或谱哈希方法(spectral hashing)等。在一些实施例中,上述二值化处理可以是至少一级二值化处理。以两级二值化处理为例,两级二值化处理可以采用不同的二值化处理方式,或者采用相同的二值化处理方式。两级二值化处理各自得到的二值化数据的长度可以相同也可以不同。例如,针对3D地图描述子的一个分量,两级二值化处理中一级二值化处理得到的二值化数据的长度可以为1,另一级二值化处理得到的二值化数据的长度可以为2。该两级二值化处理还可以与后续步骤的量化处理关联,例如,后续的量化处理可以是两级量化。其中,一级量化的精度可以高于另一级的量化精度。
本申请实施例所涉及的二值化数据的长度可以是二值化数据的比特位个数(也称比特数)。例如,二值化数据为110,则该二值化数据的比特位个数为3。
本申请实施例的3D地图描述子和至少一个预设阈值向量之间的关系包括但不限于:3D地图描述子和至少一个预设阈值向量之间的正交关系、或3D地图描述子和至少一个预 设阈值向量之间的大小关系等。其中,3D地图描述子和至少一个预设阈值向量之间的大小关系可以包括3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。举例而言,3D地图描述子为(a
1,a
2,……,a
M),M表示向量维数,a
i表示3D地图描述子的第i个分量,一个预设阈值向量为(q
1,q
2,……,q
M),q
i表示预设阈值向量的第i个分量,i∈[1,M],3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系可以包括a
1与q
1分量之间的大小关系,a
2与q
2分量之间的大小关系,……,以及a
M与q
M分量之间的大小关系。当然可以理解的,上述举例以一个预设阈值向量和3D地图描述子的向量维数相同,大小关系为相同位置的分量之间的大小关系,作为一种示例性举例说明,其还可以是其他可实现方式,例如,一个预设阈值向量的向量维数大于3D地图描述子的维数,大小关系为a
1与q
2分量等不同位置的分量之间的大小关系,本申请实施例不一一举例说明。
S103、对3D地图描述子和至少一个预设阈值向量之间的差异进行量化处理,得到量化数据。
该量化处理包括但不限于:标量量化、矢量量化、或乘积量化等。示例性的,通过量化处理可以将3D地图描述子和至少一个预设阈值向量之间的差异压缩为一个或多个量化索引,该一个或多个量化索引即为该差异的量化数据。其中,一个或多个量化索引中的各个量化索引对应于一个量化中心。量化索引的比特数通常会明显少于原始数据(例如,原始的3D地图描述子)的比特数,从而达到节省存储空间和/或传输资源开销的目的。
本申请实施例的3D地图描述子和至少一个预设阈值向量之间的差异包括但不限于:3D地图描述子和至少一个预设阈值向量之间的差值、或3D地图描述子和至少一个预设阈值向量之间的差值的绝对值等。其中,3D地图描述子和至少一个预设阈值向量之间的差值可以包括3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值。以3D地图描述子为(a
1,a
2,……,a
M),一个预设阈值向量为(q
1,q
2,……,q
M)为例做进一步举例说明,3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值可以包括a
1与q
1分量之间的差值,a
2与q
2分量之间的差值,……,以及a
M与q
M分量之间的差值。
本步骤所涉及的至少一个预设阈值向量的解释说明可以参见S102中的至少一个预设阈值向量的解释说明,此处不再赘述。需要说明的是,在一些实施例中,S103中的至少一个预设阈值向量可以是S102中的至少一个预设阈值向量的部分。在一些实施例中,S103中的至少一个预设阈值向量可以是S102中的至少一个预设阈值向量的全部。
通过上述步骤可以将原始的3D地图描述子压缩成上述二值化数据和量化数据。可选的,本申请实施例可以将二值化数据和量化数据各自独立存储或传输,也可以将二值化数据和量化数据简单拼接在一起之后进行存储或传输。可选的,对于二值化数据和量化数据的传输,本申请实施例还可以对上述二值化数据和量化数据进行封装处理,得到3D地图的码流,传输该3D地图的码流。通过封装处理可以进一步减少数据量,从而减少传输3D地图描述子的资源开销。封装处理可以采用任意一种编码算法,例如熵编码。熵编码是一种数据的无损压缩方法,熵编码算法包括但不限于:哈夫曼(huffman)编码、算术编码,由LZ77压缩算法改进的压缩/解压(lempel-ziv-markov chain-algorithm,LZMA)算法,提供数据压缩用的函数库(zlib)算法等。
可选的,在封装处理之前,还可以进行预测等其他压缩处理方式,本申请实施例不一一举例说明。
对于3D地图的码流的传输,一种可实现方式,本申请实施例的执行主体可以接收电子设备发送的3D地图请求信息。例如,3D地图请求信息可以是如图4a中的地图下载请求。本申请实施例的执行主体可以响应于该3D地图请求信息,向电子设备发送3D地图请求信息对应的3D地图的码流。一种可实现方式,本申请实施例的执行主体可以向服务器发送3D地图的码流。
本实施例,通过对3D地图描述子和至少一个预设阈值向量之间的关系进行二值化处理,得到二值化数据,对3D地图描述子和至少一个预设阈值向量之间的差异进行量化处理,得到量化数据。二值化数据和量化数据的比特数会少于原始的3D地图描述子的比特数,从而达到节省存储空间和/或传输资源开销的目的。
本申请实施例的压缩方法还可以为一种3D地图的检索方法提供基础,以优化3D地图的检索效率。示例性的,基于本申请实施例3D地图的压缩方法得到3D地图的压缩数据,该3D地图的压缩数据包括3D地图描述子的二值化数据和量化数据。在使用该3D地图的压缩数据进行检索时,可以先使用检索3D地图描述子的二值化数据,在该3D地图的压缩数据中基于汉明距离进行检索,得到候选3D地图描述子,以提升检索速度。之后对候选3D地图描述子进行解压缩,得到候选3D地图描述子的重构数据。使用检索3D地图描述子在候选3D地图描述子的重构数据中进行精细化检索,以提升检索准确率。基于本申请实施例的压缩方法的3D地图的检索方法,可以实现检索速度和检索精度的综合最优。
参见图6,图6是本申请实施例提供的一种3D地图的解压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备(例如,第一电子设备或第二电子设备),或者也可以应用于图1至图4f任一所示例的服务器。本申请实施例的用于执行3D地图的解压缩方法的执行主体也可以称之为解压缩端或解码端。该方法包括但不限于以下步骤:
S201、获取3D地图的压缩数据,该压缩数据包括二值化数据和量化数据。
该二值化数据和量化数据可以是3D地图描述子的二值化数据和量化数据。3D地图描述子的解释说明可以参见S101的解释说明,此处不再赘述。
一种可实现方式,本申请实施例的执行主体可以从存储器中获取3D地图描述子的二值化数据和量化数据,通过下述S202得到重建3D地图描述子。另一种可实现方式,本申请实施例的执行主体可以从存储器中获取3D地图的压缩数据,对3D地图的压缩数据进行解压缩,得到3D地图描述子的二值化数据和量化数据,通过下述S202得到重建3D地图描述子。该解压缩可以包括但不限于预测等解压缩处理方式。另一种可实现方式,本申请实施例的执行主体可以接收3D地图的码流,对3D地图的码流进行解压缩,得到3D地图描述子的二值化数据和量化数据,通过下述S202得到重建3D地图描述子。该解压缩可以包括解封装、或解封装和预测。该解封装包括但不限于熵解码。这样的解压缩也可以称为解码。
对于3D地图的码流的传输,一种可实现方式,本申请实施例的执行主体可以发送3D地图请求信息。例如,3D地图请求信息可以是如图4a中的地图下载请求。本申请实 施例的执行主体可以接收3D地图请求信息对应的3D地图的码流。另一种可实现方式,本申请实施例的执行主体可以接收其他设备发送的3D地图的码流。
S202、根据二值化数据和量化数据,得到重建3D地图描述子。
根据二值化数据和量化数据可以得到重建3D地图描述子,例如,重建区域描述子或重建3D地图点描述子。举例而言,使用如图5所示实施例的压缩方法对3D地图描述子进行压缩,得到3D地图的压缩数据,以节省存储空间和/或传输资源开销。在需要使用该3D地图描述子时,可以使用本实施例的解压缩方法对3D地图的压缩数据进行解压缩,以得到重建3D地图描述子。该重建3D地图描述子可以与该3D地图描述子近似相同或完全相同。
一种可实现方式,可以对量化数据进行反量化处理,得到重建3D地图描述子和至少一个预设阈值向量之间的差异。根据该差异、该二值化数据和该至少一个预设阈值向量,得到重建3D地图描述子,该二值化数据用于表示重建3D地图描述子和至少一个预设阈值向量之间的关系。其中,该至少一个预设阈值向量中任意一个预设阈值向量所包括的各个分量为任意数值。其中,通过反量化处理,可以从量化数据中还原出重建3D地图描述子和至少一个预设阈值向量之间的差异。例如,该反量化处理过程可以是上述图5所示实施例的S103的逆过程。该差异的具体解释说明可以参见S103的具体解释说明,此处不再赘述。二值化数据用于表示重建3D地图描述子和至少一个预设阈值向量之间的关系。该关系的具体解释说明可以参见S102的具体解释说明,此处不再赘述。本实施例可以通过反量化处理得到重建3D地图描述子和至少一个预设阈值向量之间的差异,根据二值化数据获取重建3D地图描述子和至少一个预设阈值向量之间的关系,进而再结合至少一个预设阈值向量,便可以得到重建3D地图描述子。
本实施例,通过获取3D地图描述子的二值化数据和量化数据,根据二值化数据和量化数据,得到重建3D地图描述子。二值化数据和量化数据的比特数会少于原始的3D地图描述子的比特数,从而达到节省存储空间和/或传输资源开销的目的。通过对3D地图的压缩数据进行解压缩,得到重建3D地图描述子,以使用该重建3D地图描述子进行后续处理,例如,定位处理等。
一种可实现方式一,二值化处理使用一个预设阈值向量。对3D地图描述子和一个预设阈值向量之间的关系进行二值化处理,得到二值化数据。量化处理所使用的预设阈值向量与二值化处理所使用的预设阈值向量相同。具体实现方式可以参见图7所示实施例的解释说明。
参见图7,图7是本申请实施例提供的一种3D地图的压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备(例如,第一电子设备或第二电子设备),或者也可以应用于图1至图4f任一所示例的服务器。本实施例以上述进行二值化处理使用一个预设阈值向量为Q,Q=(q
1,q
2,……,q
M)为例进行举例说明。该方法包括但不限于以下步骤:
S301、获取3D地图描述子。
3D地图描述子的具体解释说明可以参见图5所示实施例的S101,此处不再赘述。本 实施例以3D地图描述子为D,D=(a
1,a
2,……,a
M)为例进行举例说明。
S302、分别将3D地图描述子的各个分量与预设阈值向量的对应分量相减,得到各个分量的差值。
D’为3D地图描述子与预设阈值向量的差值,D’=D-Q。
其中,预设阈值向量的对应分量可以是预设阈值向量中与3D地图描述子的一个分量相同位置的分量。例如,各个分量的差值包括:a
1与q
1相减,a
2与q
2相减,……,a
M与q
M相减。当然可以理解的,可选的,预设阈值向量的对应分量可以是预设阈值向量中与3D地图描述子的一个分量不同位置的分量,本申请实施例不以此作为限制。
S303、对各个分量的差值进行二值化处理,得到二值化数据。
通过各个分量的差值,可以确定3D地图描述子的各个分量分别与预设阈值向量的对应分量之间的大小关系。例如,若a
1与q
1相减小于0,则a
1小于q
1,若a
1与q
1相减大于0,则a
1大于q
1,若a
1与q
1相减等于0,则a
1等于q
1。本实施例可以对上述大小关系进行二值化处理,得到二值化数据。例如,H为二值化数据,H包括M个比特信息,H=(h
1,h
2,……,h
M)。一种可实现方式,若a
i与q
i相减大于或等于0,则h
i为1,若a
i与q
i相减小于0,则h
i为0。另一种可实现方式,若a
i与q
i相减大于或等于0,则h
i为0,若a
i与q
i相减小于0,则h
i为1。当然可以理解的,也可以设置若a
i与q
i相减大于0,则h
i为1,若a
i与q
i相减小于或等于0,则h
i为0,或者,若a
i与q
i相减大于0,则h
i为0,若a
i与q
i相减小于或等于0,则h
i为1,其可以根据需求进行合理设置。
可以理解的,当q
1,q
2,……,以及q
M均为0时,二值化处理即为对3D地图描述子的各个分量的符号进行二值化处理。
S304、根据各个分量的差值,确定3D地图描述子的各个分量分别与预设阈值向量的对应分量之间的差值的绝对值。
D”为3D地图描述子与预设阈值向量的差值的绝对值,D”=|D’|。各个分量的差值的绝对值包括:a
1与q
1的差值的绝对值,a
2与q
2的差值的绝对值,……,a
M与q
M的差值的绝对值。
S305、对3D地图描述子的各个分量分别与预设阈值向量的对应分量之间的差值的绝对值进行量化处理,得到量化数据。
对D”进行量化处理,例如,上述标量量化、矢量量化、乘积量化或其他量化方式,得到量化数据。
通过上述步骤可以得到3D地图描述子的压缩数据,该3D地图描述子的压缩数据可以包括二值化数据和量化数据。可以对3D地图描述子的压缩数据进行存储,以节省存储空间。或者,也可以对3D地图描述子的压缩数据进行封装和传输,以节省传输3D地图的资源开销。
本实施例,通过对3D地图描述子和预设阈值向量之间的大小关系进行二值化处理,得到二值化数据,对3D地图描述子和该预设阈值向量之间的差值的绝对值进行量化处理,得到量化数据。二值化数据和量化数据的比特数会少于原始的3D地图描述子的比特数,从而达到节省存储空间和/或传输资源开销的目的。
参见图8,图8是本申请实施例提供的一种3D地图的解压缩方法的流程示意图,在 一些实现中,该方法可应用于图1至图4f任一所示例的电子设备(例如,第一电子设备或第二电子设备),或者也可以应用于图1至图4f任一所示例的服务器。本申请实施例的用于执行3D地图的解压缩方法的执行主体也可以称之为解压缩端或解码端。该方法包括但不限于以下步骤:
S401、获取3D地图的压缩数据,该压缩数据包括二值化数据和量化数据。
该二值化数据和量化数据可以是通过上述图7所示实施例得到的。
S402、对量化数据进行反量化处理,得到反量化数据。
DQ为反量化数据,反量化数据可以是重建3D地图描述子的各个分量和预设阈值向量对应分量之间的差值的绝对值。该预设阈值向量可以是上述图7所示实施例中所使用的预设阈值向量Q。通过反量化处理,可以从量化数据中还原出重建3D地图描述子的各个分量和预设阈值向量的对应分量之间的差值的绝对值。例如,该反量化处理过程可以是上述图7所示实施例的量化处理的逆过程。
S403、根据二值化数据和反量化数据,得到各个分量的差值。
DQ’为重建3D地图描述子和预设阈值向量之间的差值。DQ’包括重建3D地图描述子的各个分量和预设阈值向量的对应分量之间的差值,也即各个分量的差值。
根据二值化数据可以确定重建3D地图描述子的各个分量和预设阈值向量的对应分量之间的大小关系,进而再结合重建3D地图描述子的各个分量和预设阈值向量的对应分量之间的差值的绝对值,便可以得到重建3D地图描述子的各个分量和预设阈值向量的对应分量之间的差值。例如,根据重建3D地图描述子的各个分量和预设阈值向量的对应分量之间的大小关系,给重建3D地图描述子的各个分量和预设阈值向量的对应分量之间的差值的绝对值增加正负号,以得到各个分量的差值。
S404、根据各个分量的差值和预设阈值向量,得到重建3D地图描述子。
由于在压缩时,将3D地图描述子的各个分量与预设阈值向量的对应分量相减,得到各个分量的差值。所以在解压缩是,将各个分量的差值与预设阈值向量的对应分量相加,得到重建3D地图描述子的各个分量。D_recover为重建3D地图描述子,D_recover=DQ’+Q。
需要说明的是,本实施例以压缩时,将3D地图描述子的各个分量与预设阈值向量的对应分量相减,解压缩时,将各个分量的差值与预设阈值向量的对应分量相加,为例进行举例说明,其还可以采用其他方式,例如,压缩时,将3D地图描述子的各个分量与预设阈值向量的对应分量相加,解压缩时,将各个分量的差值与预设阈值向量的对应分量相减等,本申请实施例不以此作为限制。
本实施例,通过获取3D地图描述子的二值化数据和量化数据,根据二值化数据和量化数据,得到重建3D地图描述子。二值化数据和量化数据的比特数会少于原始的3D地图描述子的比特数,从而达到节省存储空间和/或传输资源开销的目的。通过对3D地图的压缩数据进行解压缩,得到重建3D地图描述子,以使用该重建3D地图描述子进行后续处理,例如,定位处理等。
需要说明的是,本申请实施例的解压缩方法,在不同使用需求的应用场景中,可以结合需求进行灵活使用。例如,在使用3D地图的压缩数据进行检索时,为了提升检索速度,可以先使用检索3D地图描述子的二值化数据,在该3D地图的压缩数据中基于汉明距离进行检索,得到候选3D地图描述子。之后,在有较高检索精度需求时,可以使用如上所 述的解压缩方法对候选3D地图描述子进行解压缩,得到候选3D地图描述子的重构数据。使用检索3D地图描述子在候选3D地图描述子的重构数据中进行精细化检索,以提升检索准确率。
一种可实现方式二,二值化处理使用多个预设阈值向量。对3D地图描述子和多个预设阈值向量之间的关系进行二值化处理,得到二值化数据。量化处理所使用的至少一个预设阈值向量是二值化处理所使用的多个预设阈值向量的部分或全部。
具体实现方式可以参见图9所示实施例的解释说明。
参见图9,图9是本申请实施例提供的一种3D地图的压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备(例如,第一电子设备或第二电子设备),或者也可以应用于图1至图4f任一所示例的服务器。本实施例以上述进行二值化处理使用N个预设阈值向量,分别为Q
1,Q
2,……,Q
N,Q
1=(q
11,q
12,……,q
1M),Q
2=(q
21,q
22,……,q
2M),……,Q
N=(q
N1,q
N2,……,q
NM)为例进行举例说明。N为大于1的正整数。该方法包括但不限于以下步骤:
S501、获取3D地图描述子。
3D地图描述子的具体解释说明可以参见图5所示实施例的S101,此处不再赘述。本实施例以3D地图描述子为D,D=(a
1,a
2,……,a
M)为例进行举例说明。
S502、分别将3D地图描述子的各个分量与N个预设阈值向量的对应分量相减,得到N个差值向量,每个差值向量包括各个分量的差值。
D
j’为3D地图描述子与N个预设阈值向量中的第j个预设阈值向量的差值,即第j个差值向量。j∈[1,N]。D
j’=D-Q
j。D
j’的各个分量为,3D地图描述子的各个分量与第j个预设阈值向量的各个分量的差值。D
j’=(d
j1,d
j2,……,d
jM),d
ji=a
i-q
ji。i∈[1,M]。
其中,第j个预设阈值向量的对应分量可以是第j个预设阈值向量中与3D地图描述子的一个分量相同位置的分量。例如,3D地图描述子的各个分量与第j个预设阈值向量的对应分量的差值包括:a
1与q
j1相减,a
2与q
j2相减,……,a
M与q
jM相减。当然可以理解的,可选的,第j个预设阈值向量的对应分量可以是第j个预设阈值向量中与3D地图描述子的一个分量不同位置的分量,本申请实施例不以此作为限制。
S503、对各个分量的差值进行二值化处理,得到二值化数据。
以对D
j’进行二值化处理为例,对D
j’进行二值化处理,得到D
j’对应的二值化数据H
j。H
j包括M个比特信息,H
j=(h
j1,h
j2,……,h
jM)。一种可实现方式,若a
i与q
ji相减大于或等于0,则h
ji为1,若a
i与q
ji相减小于0,则h
ji为0。另一种可实现方式,若a
i与q
ji相减大于或等于0,则h
ji为0,若a
i与q
ji相减小于0,则h
ji为1。
通过S502和S503得到二值化数据,该二值化数据可以包括H
1,H
2,……,以及H
N。
在一些实施例中,二值化处理所使用的N个预设阈值向量中的一个预设阈值向量为最小阈值向量或最大阈值向量。该最小阈值向量的各个分量小于或等于3D地图描述子的对应分量的取值范围的最小值。该最大阈值向量的各个分量大于或等于3D地图描述子的对应分量的取值范围的最大值。即N个预设阈值向量中包括该最小阈值向量或最大阈值向量。该最小阈值向量或最大阈值向量可以保障N个差值向量中每一个维度至少存在一个差值大于或等于0。即d
11,d
12,……,以及d
1N中至少存在一个差值大于或等于0,d
21,d
22,……, 以及d
2N中至少存在一个差值大于或等于0,…….,以及d
1M,d
2M,……,以及d
NM中至少存在一个差值大于或等于0。这样,在后续量化处理时,可以采用3D地图描述子与预设阈值向量的对应分量之间的差值,而非差值的绝对值,以降低计算复杂度。
在一些实施例中,N个预设阈值向量的相同位置的分量依次增大或依次减小。依次增大表示N个预设阈值向量中的第j个预设阈值向量的任意一个分量大于或等于第j-1个预设阈值向量的相同位置的分量。依次减少表示N个预设阈值向量中的第j个预设阈值向量的任意一个分量小于或等于第j-1个预设阈值向量的相同位置的分量,2≤j≤N。即q
11,q
21,……,q
N1依次增大或依次减少。q
12,q
22,……,q
N2依次增大或依次减少。…….。q
1M,q
2M,……,q
NM依次增大或依次减少。
以3个预设阈值向量为例,Q
1=(q
11,q
12,……,q
1M),Q
2=(q
21,q
22,……,q
2M),Q
3=(q
31,q
32,……,q
3M),这里以q
11,q
21和q
31依次增加为例,q
11,q
21和q
31可以将a
1的取值划分为4个区间,4个区间分别为:区间1、区间2、区间3和区间4,区间1为小于q
11的数值区间,区间2为大于或等于q
11且小于q
21的数值区间,区间3为大于或等于q
21且小于q
31的数值区间,区间4为大于或等于q
21的数值区间。相应的,a
1经二值化处理的二值化数据对应区间1、区间2、区间3和区间4中的一个区间,例如,当a
1小于q
11时,a
1经二值化处理的二值化数据为000,当a
1大于或等于q
11且小于q
21时,a
1经二值化处理的二值化数据为100,当a
1大于或等于q
21且小于q
31时,a
1经二值化处理的二值化数据为110,当a
1大于或等于q
31时,a
1经二值化处理的二值化数据为111。可选的,q
11可以为a
1的取值范围的最小值,相应的,q
11,q
21和q
31可以将a
1的取值划分为3个区间,3个区间分别为:上述区间2、区间3和区间4。或者,q
31可以为a
1的取值范围的最大值,相应的,q
11,q
21和q
31可以将a
1的取值划分为3个区间,3个区间分别为:上述区间1、区间2和区间3。
在一些实施例中,二值化数据可以包括3D地图描述子的各个分量分别对应的多个比特二值化数据,各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示量化处理中该分量对应的预设阈值向量。例如,3D地图描述子的第i个分量a
i对应的多个比特二值化数据为,h
1i,h
2i,……,h
Ni,即N个比特信息。N个比特信息中1或0的个数用于指示量化处理中a
i对应的预设阈值向量。例如,N个比特信息中1或0的个数为2,则量化处理中与a
i相减的是Q
2中的q
2i。
可选的,N个预设阈值向量的相同位置的分量也可以不是依次增大或依次减小,其可以根据需求进行合理设置。
在一些实施例中,二值化数据中至少一个比特还用于指示后续量化处理所得到的量化数据的比特数。该至少一个比特可以复用上述二值化处理所得到的二值化数据,也可以不复用上述二值化处理所得到的二值化数据,例如,使用其他比特指示后续量化处理所得到的量化数据的比特数。可选的,该至少一个比特可以是根据上述二值化处理所得到的二值化数据确定的。二值化处理所得到的不同的二值化数据对应不同的阈值范围(例如,如上所述的数值区间),该不同的阈值范围可以是N个预设阈值向量的相同位置的分量所划分的不同的阈值范围。
S504、根据各个分量的差值,确定3D地图描述子的各个分量分别与目标预设阈值向量的对应分量之间的差值的绝对值。
通过S502得到N个差值向量,每个差值向量包括各个分量的差值,即N*M个差值,换言之,3D地图描述子的M个分量中每一个分量对应N个差值。本实施例可以在每一个分量对应的N个差值中选取一个较小的差值,作为3D地图描述子的该分量的差值,进而得到该分量的差值的绝对值。M个分量中每一个分量对应的预设阈值向量可以相同也可以不同。例如,a
1对应Q
1中的q
11,a
2对应Q
1中的q
12,……,a
M对应Q
N中的q
NM。目标预设阈值向量即为(q
11,q
12,……,q
NM)。D”为3D地图描述子的各个分量分别与目标预设阈值向量的对应分量之间的差值的绝对值。3D地图描述子的各个分量分别与目标预设阈值向量的对应分量之间的差值的绝对值,即为a
1与q
11相减的绝对值,a
2与q
12相减的绝对值,……,a
M与q
NM相减的绝对值。
S505、对3D地图描述子的各个分量分别与目标预设阈值向量的对应分量之间的差值的绝对值进行量化处理,得到量化数据。
量化处理可以是上述标量量化、矢量量化、乘积量化或其他量化方式。
通过上述步骤可以得到3D地图描述子的压缩数据,该3D地图描述子的压缩数据可以包括二值化数据和量化数据。可以对3D地图描述子的压缩数据进行存储,以节省存储空间。或者,也可以对3D地图描述子的压缩数据进行封装和传输,以节省传输3D地图的资源开销。
本实施例,通过对3D地图描述子和预设阈值向量之间的大小关系进行二值化处理,得到二值化数据,对3D地图描述子和该预设阈值向量之间的差值的绝对值进行量化处理,得到量化数据。二值化数据和量化数据的比特数会少于原始的3D地图描述子的比特数,从而达到节省存储空间和/或传输资源开销的目的。通过在二值化处理使用多个预设阈值向量,使得量化处理可以灵活选取阈值,以减少量化数据的数据量。
上述实施例中以一级二值化处理和一级量化处理作为举例说明,本申请实施例也可以采用多级二值化处理和多级量化处理的方式进行压缩,多级二值化处理中的任意一级二值化处理可以采用如上述的二值化处理方式,多级量化处理中的任意一级量化处理可以采用如上述的量化方式。一种示例性举例说明,针对3D地图描述子的一个分量a
1,3个预设阈值向量为例,Q
1=(q
11,q
12,……,q
1M),Q
2=(q
21,q
22,……,q
2M),Q
3=(q
31,q
32,……,q
3M),这里以q
11,q
21和q
31依次增加为例,两级二值化处理中一级二值化处理可以使用q
21得到的二值化数据的长度可以为1,后续的两级量化处理中一级量化处理可以使用a
1-q
21进行量化。两级二值化处理中另一级二值化处理可以使用q
11,q
21和q
31得到的二值化数据的长度可以为3,后续的两级量化处理中另一级量化处理可以使用从a
1-q
11,a
1-q
21,和a
1-q
31中选取一个进行量化。例如,当使用q
11,q
21和q
31得到的二值化数据为111时,量化处理可以使用a
1-q
31进行量化,当使用q
11,q
21和q
31得到的二值化数据为110时,量化处理可以使用a
1-q
21进行量化等。这样的压缩方式,使得解压缩可以根据精度需求进行对应级别的解压缩。
参见图10,图10是本申请实施例提供的一种3D地图的解压缩方法的流程示意图,在一些实现中,该方法可应用于图1至图4f任一所示例的电子设备(例如,第一电子设备或第二电子设备),或者也可以应用于图1至图4f任一所示例的服务器。本申请实施例的 用于执行3D地图的解压缩方法的执行主体也可以称之为解压缩端或解码端。该方法包括但不限于以下步骤:
S601、获取3D地图的压缩数据,该压缩数据包括二值化数据和量化数据。
该二值化数据和量化数据可以是通过上述图7所示实施例得到的。
S602、对量化数据进行反量化处理,得到反量化数据。
DQ”为反量化数据,反量化数据可以是重建3D地图描述子的各个分量分别与目标预设阈值向量对应分量之间的差值的绝对值。该目标预设阈值向量可以是上述图9所示实施例中S504的目标预设阈值向量。通过反量化处理,可以从量化数据中还原出重建3D地图描述子的各个分量和目标预设阈值向量的对应分量之间的差值的绝对值。例如,该反量化处理过程可以是上述图9所示实施例的量化处理的逆过程。
S603、根据二值化数据,在N预设阈值向量中确定目标预设阈值向量。
二值化数据可以包括重建3D地图描述子的各个分量分别对应的多个比特二值化数据,各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示量化处理中该分量对应的预设阈值向量。例如,重建3D地图描述子的第i个分量a
i对应的多个比特二值化数据为,h
1i,h
2i,……,h
Ni,即N个比特信息。N个比特信息中1或0的个数用于指示反量化处理中a
i对应的预设阈值向量。例如,N个比特信息中1或0的个数为2,则a
i对应的预设阈值向量是Q
2,即后续还原重建3D地图描述子的第i个分量,使用Q
2中的q
2i。
举例而言,根据二值化数据,可以确定a
1对应Q
1中的q
11,a
2与对应Q
1中的q
12,……,a
M与对应Q
N中的q
NM。目标预设阈值向量即为(q
11,q
12,……,q
NM)。
S604、根据反量化数据和目标预设阈值向量,得到重建3D地图描述子。
由于在压缩时,将3D地图描述子的各个分量与目标预设阈值向量的对应分量相减,得到各个分量的差值。所以在解压缩是,将各个分量的差值与目标预设阈值向量的对应分量相加,得到重建3D地图描述子的各个分量。D_recover为重建3D地图描述子,D_recover=DQ”+Q。Q为目标预设阈值向量。
需要说明的是,本实施例以压缩时,将3D地图描述子的各个分量与目标预设阈值向量的对应分量相减,解压缩时,将各个分量的差值与目标预设阈值向量的对应分量相加,为例进行举例说明,其还可以采用其他方式,例如,压缩时,将3D地图描述子的各个分量与目标预设阈值向量的对应分量相加,解压缩时,将各个分量的差值与目标预设阈值向量的对应分量相减等,本申请实施例不以此作为限制。
以目标预设阈值向量为(q
11,q
12,……,q
NM)为例作进一步举例说明,DQ”=(dq
1”,dq
2”,……,dq
M”),重建3D地图描述子即为dq
1”与q
11相加,dq
2”与q
12相加,……,dq
M”与q
NM相加。
本实施例,通过获取3D地图描述子的二值化数据和量化数据,根据二值化数据和量化数据,得到重建3D地图描述子。二值化数据和量化数据的比特数会少于原始的3D地图描述子的比特数,从而达到节省存储空间和/或传输资源开销的目的。通过对3D地图的压缩数据进行解压缩,得到重建3D地图描述子,以使用该重建3D地图描述子进行后续处理,例如,定位处理等。
图11A和图11B为本申请实施例提供的一种3D地图的编解码过程的示意图。如图11A所示,编码端对3D地图描述子D进行压缩处理,D=(a
1,a
2)。编码端将D与5个预设阈值向量(Q
1,Q
2,Q
3,Q
4,Q
5)相减,得到5个差值向量(D
1’,D
2’,D
3’,D
4’,D
5’)。Q
1=(q
11,q
12),Q
2=(q
21,q
22),Q
3=(q
31,q
32),Q
4=(q
41,q
42),Q
5=(q
51,q
52)。如图11A所示,D
1’=(a
1-q
11,a
2-q
12),D
2’=(a
1-q
21,a
2-q
22),D
3’=(a
1-q
31,a
2-q
32),D
4’=(a
1-q
41,a
2-q
42),D
5’=(a
1-q
51,a
2-q
52)。对5个差值向量(D
1’,D
2’,D
3’,D
4’,D
5’)进行二值化处理,得到对应的二值化数据(H
1,H
2,H
3,H
4,H
5),根据二值化数据(H
1,H
2,H
3,H
4,H
5)可以a
1对应的多个比特二值化数据和a
2对应的多个比特二值化数据,例如,a
1对应的多个比特二值化数据可以是如图11A所示的虚线方框所示h
11,h
21,h
31,h
41,h
51,a
2对应的多个比特二值化数据可以是如图11A所示的虚线方框所示h
12,h
22,h
32,h
42,h
52。对5个差值向量(D
1’,D
2’,D
3’,D
4’,D
5’)进行量化处理,得到对应的量化数据。一种可实现方式,可以在a
1-q
11,a
1-q
21,a
1-q
31,a
1-q
41,以及a
1-q
51中选取一个绝对值最小的进行量化,例如,选取如图11A所示的圆形虚框的a
1-q
11取绝对值进行量化。同样的,可以在a
2-q
12,a
2-q
22,a
2-q
32,a
2-q
42,以及a
2-q
52中选取一个绝对值最小的进行量化,例如,选取如图11A所示的圆形虚框的a
2-q
32取绝对值进行量化,得到量化数据。解码端对量化数据进行反量化处理,得到DQ”。根据二值化数据(h
11,h
21,h
31,h
41,h
51),在5个预设阈值向量中定位到如图11B所示的圆形虚框的q
11。根据二值化数据h
12,h
22,h
32,h
42,h
52,在5个预设阈值向量中定位到如图11B所示的圆形虚框的q
32。q
11和q
32即为上述目标预设向量,将DQ”与目标预设阈值向量对应相加,得到重建3D地图描述子。D_recover为重建3D地图描述子,D_recover=DQ”+Q。Q为目标预设阈值向量。如图11B所示,D_recover=(q
11+dq
1”,q
32+dq
2”)
上文结合附图对本申请实施例的3D地图的压缩方法和解压缩方法进行了详细的介绍,下面结合图12和图13对本申请实施例的3D地图的压缩装置和解压缩装置进行介绍。应理解,3D地图的压缩装置能够执行本申请实施例的3D地图的压缩方法,3D地图的解压缩装置能够执行本申请实施例的3D地图的解压缩方法。为了避免不必要的重复,下面在介绍本申请实施例的3D地图的压缩装置和解压缩装置时适当省略重复的描述。
参见图12,图12为本申请实施例提供的一种3D地图的压缩装置的结构示意图。如图12所示,该3D地图的压缩装置1200可以包括:二值化处理模块1201和量化模块1202。
二值化处理模块1201,用于获取3D地图描述子,3D地图描述子对应于3D地图的至少一个3D地图点。二值化处理模块1201,还用于对3D地图描述子和至少一个预设阈值向量之间的关系进行二值化处理,得到二值化数据。量化模块1202,用于对3D地图描述子和至少一个预设阈值向量之间的差异进行量化处理,得到量化数据。
在一些实施例中,该装置还可以包括:封装模块1203,用于对二值化数据和量化数据进行封装,得到3D地图的码流。
在一些实施例中,该装置还可以包括:传输模块1204,用于接收电子设备发送的3D地图请求信息,响应于3D地图请求信息,向电子设备发送3D地图请求信息对应的3D地图的码流;或者,传输模块1204,用于向服务器发送3D地图的码流。
在一些实施例中,3D地图描述子和至少一个预设阈值向量之间的关系包括:3D地图 描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。
在一些实施例中,3D地图描述子和至少一个预设阈值向量之间的差异包括:3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。
在一些实施例中,该二值化处理模块1201还用于:分别将3D地图描述子的各个分量与所述至少一个预设阈值向量的对应分量相减,得到各个分量的差值。根据各个分量的差值,确定大小关系。
在一些实施例中,该量化处理所使用的至少一个预设阈值向量的至少一个分量是二值化处理所使用的至少一个预设阈值向量的对应分量中任意一个。
在一些实施例中,该二值化处理所使用的至少一个预设阈值向量中的一个预设阈值向量为最小阈值向量或最大阈值向量,最小阈值向量的各个分量小于或等于3D地图描述子的对应分量的取值范围的最小值,最大阈值向量的各个分量大于或等于3D地图描述子的对应分量的取值范围的最大值。
在一些实施例中,当二值化处理所使用的至少一个预设阈值向量包括N个预设阈值向量时,N个预设阈值向量的相同位置的分量依次增大或依次减小,N为大于1的整数;依次增大表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,依次减少表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
在一些实施例中,二值化数据包括3D地图描述子的各个分量分别对应的多个比特二值化数据,各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示该分量对应的预设阈值向量的分量。
在一些实施例中,量化处理所使用的至少一个预设阈值向量,与二值化数据所指示的量化处理的至少一个预设阈值向量相同。
在一些实施例中,量化处理所使用的至少一个预设阈值向量的至少一个分量是根据二值化数据得到。
在一些实施例中,二值化数据中至少一个比特还用于指示量化数据的比特数。
需要说明的是,3D地图的压缩装置1200可以执行图5或图7或图9所示实施例的3D地图的压缩装置方法。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
参见图13,图13为本申请实施例提供的一种3D地图的解压缩装置的结构示意图。如图13所示,该3D地图的解压缩装置1300可以包括:存储模块1301或传输模块1302,以及重建模块1303。
重建模块1303,用于通过存储模块1301或传输模块1302获取3D地图的压缩数据,压缩数据包括二值化数据和量化数据。重建模块1303,用于根据二值化数据和量化数据,得到重建3D地图描述子。
一种可能的设计中,重建模块1303用于通过传输模块1302获取3D地图的码流。对3D地图的码流进行解封装,得到3D地图的压缩数据。
一种可能的设计中,传输模块1302,用于发送3D地图请求信息,接收3D地图请求信息对应的所述3D地图的码流;或者,传输模块1302,用于接收3D地图的码流。
一种可能的设计中,重建模块1303用于:对量化数据进行反量化处理,得到重建3D 地图描述子和至少一个预设阈值向量之间的差异。根据差异、二值化数据和至少一个预设阈值向量,得到重建3D地图描述子,二值化数据用于表示重建3D地图描述子和至少一个预设阈值向量之间的关系。
一种可能的设计中,重建3D地图描述子和至少一个预设阈值向量之间的关系包括:重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。
一种可能的设计中,重建3D地图描述子和至少一个预设阈值向量之间的差异包括:重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。
一种可能的设计中,二值化数据还用于指示至少一个预设阈值向量,该重建模块还用于:根据二值化数据和N个预设阈值向量,确定至少一个预设阈值向量。N个预设阈值向量的相同位置的分量依次增大或依次减小,N为大于1的整数;依次增大用于表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,依次减少用于表示N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
一种可能的设计中,二值化数据包括重建3D地图描述子的各个分量分别对应的多个比特二值化数据,各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示分量对应的预设阈值向量的分量。
一种可能的设计中,二值化数据中至少一个比特还用于指示量化数据的比特数。
需要说明的是,3D地图的解压缩装置1300可以执行图6或图8或图10所示实施例的3D地图的解压缩装置方法。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
图14为用于本申请实施例的译码装置1400的一种实现方式的示意性框图。其中,译码装置1400可以包括处理器1401、存储器1402和总线系统1403。其中,处理器1401和存储器1402通过总线系统1403相连,该存储器1402用于存储指令,该处理器1401用于执行该存储器1402存储的指令,以执行本申请描述的各种3D地图的压缩或解压缩方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器1401可以是中央处理单元(central processingunit,CPU),该处理器1401还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1402可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器1402。存储器1402可以包括由处理器1401使用总线1403访问的代码和数据14021。存储器1402可以进一步包括操作系统14023和应用程序14022,该应用程序14022包括允许处理器1401执行本申请描述的3D地图的压缩或解压缩方法的至少一个程序。例如,应用程序14022可以包括应用1至N,其进一步包括执行在本申请描述的3D地图的压缩或解压缩方法的3D地图的压缩或解压缩应用(简称3D地图译码应用)。
该总线系统1403除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1403。
可选的,译码装置1400还可以包括一个或多个输出设备,诸如显示器1404。在一个 示例中,显示器1404可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1404可以经由总线1403连接到处理器1401。
需要指出的是,译码装置1400可以执行本申请中的3D地图的压缩方法,也可执行本申请中的3D地图的解压缩方法。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任 何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (44)
- 一种3D地图的压缩方法,其特征在于,所述方法包括:获取3D地图描述子,所述3D地图描述子对应于3D地图的至少一个3D地图点;对所述3D地图描述子和至少一个预设阈值向量之间的关系进行二值化处理,得到二值化数据;对所述3D地图描述子和至少一个预设阈值向量之间的差异进行量化处理,得到量化数据。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述二值化数据和所述量化数据进行封装,得到所述3D地图的码流。
- 根据权利要求2所述的方法,其特征在于,所述方法还包括:接收电子设备发送的3D地图请求信息,响应于所述3D地图请求信息,向所述电子设备发送所述3D地图请求信息对应的所述3D地图的码流;或者,向服务器发送所述3D地图的码流。
- 根据权利要求1至3任一项所述的方法,其特征在于,所述3D地图描述子和至少一个预设阈值向量之间的关系包括:所述3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。
- 根据权利要求1至4任一项所述的方法,其特征在于,所述3D地图描述子和至少一个预设阈值向量之间的差异包括:所述3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。
- 根据权利要求4或5所述的方法,其特征在于,所述方法还包括:分别将所述3D地图描述子的各个分量与所述至少一个预设阈值向量的对应分量相减,得到各个分量的差值;根据所述各个分量的差值,确定所述大小关系。
- 根据权利要求1至6任一项所述的方法,其特征在于,所述量化处理所使用的至少一个预设阈值向量的至少一个分量是所述二值化处理所使用的至少一个预设阈值向量的对应分量中任意一个。
- 根据权利要求4至7任一项所述的方法,其特征在于,所述二值化处理所使用的至少一个预设阈值向量中的一个预设阈值向量为最小阈值向量或最大阈值向量,所述最小阈值向量的各个分量小于或等于所述3D地图描述子的对应分量的取值范围的最小值,所述最大阈值向量的各个分量大于或等于所述3D地图描述子的对应分量的取值范围的最大值。
- 根据权利要求4至8任一项所述的方法,其特征在于,当所述二值化处理所使用的至少一个预设阈值向量包括N个预设阈值向量时,所述N个预设阈值向量的相同位置的分量依次增大或依次减小,N为大于1的整数;所述依次增大表示所述N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,所述依次减少表示所述N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
- 根据权利要求9所述的方法,其特征在于,所述二值化数据包括所述3D地图描述子的各个分量分别对应的多个比特二值化数据,所述各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示所述分量对应的预设阈值向量的分量。
- 根据权利要求1至10任一项所述的方法,其特征在于,所述量化处理所使用的至少一个预设阈值向量,与所述二值化数据所指示的量化处理的至少一个预设阈值向量相同。
- 根据权利要求11所述的方法,其特征在于,所述量化处理所使用的至少一个预设阈值向量的至少一个分量是根据所述二值化数据得到。
- 根据权利要求1至12任一项所述的方法,其特征在于,所述二值化数据中至少一个比特还用于指示所述量化数据的比特数。
- 一种3D地图的解压缩方法,其特征在于,所述方法包括:获取3D地图的压缩数据,所述压缩数据包括二值化数据和量化数据;根据所述二值化数据和所述量化数据,得到重建3D地图描述子。
- 根据权利要求14所述的方法,其特征在于,所述获取3D地图的压缩数据,包括:获取3D地图的码流;对所述3D地图的码流进行解封装,得到所述3D地图的压缩数据。
- 根据权利要求15所述的方法,其特征在于,所述方法还包括:发送3D地图请求信息,接收所述3D地图请求信息对应的所述3D地图的码流;或者,接收所述3D地图的码流。
- 根据权利要求14至16任一项所述的方法,其特征在于,所述根据所述二值化数据和所述量化数据,得到重建3D地图描述子,包括:对所述量化数据进行反量化处理,得到所述重建3D地图描述子和至少一个预设阈值向量之间的差异;根据所述差异、所述二值化数据和所述至少一个预设阈值向量,得到所述重建3D地图描述子,所述二值化数据用于表示所述重建3D地图描述子和至少一个预设阈值向量之间的关系。
- 根据权利要求17所述的方法,其特征在于,所述重建3D地图描述子和至少一个预设阈值向量之间的关系包括:所述重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。
- 根据权利要求17或18所述的方法,其特征在于,所述重建3D地图描述子和至少一个预设阈值向量之间的差异包括:所述重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。
- 根据权利要求17至19任一项所述的方法,其特征在于,所述二值化数据还用于指示所述至少一个预设阈值向量,所述方法还包括:根据所述二值化数据和N个预设阈值向量,确定所述至少一个预设阈值向量;所述N个预设阈值向量的相同位置的分量依次增大或依次减小,N为大于1的整数;所述依次增大用于表示所述N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,所述依次减少用于表示所述N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
- 根据权利要求20所述的方法,其特征在于,所述二值化数据包括所述重建3D地 图描述子的各个分量分别对应的多个比特二值化数据,所述各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示所述分量对应的预设阈值向量。
- 根据权利要求14至21任一项所述的方法,其特征在于,所述二值化数据中至少一个比特还用于指示所述量化数据的比特数。
- 一种3D地图的压缩装置,其特征在于,所述装置包括:二值化处理模块,用于获取3D地图描述子,所述3D地图描述子对应于3D地图的至少一个3D地图点;所述二值化处理模块,还用于对所述3D地图描述子和至少一个预设阈值向量之间的关系进行二值化处理,得到二值化数据;量化模块,用于对所述3D地图描述子和至少一个预设阈值向量之间的差异进行量化处理,得到量化数据。
- 根据权利要求23所述的装置,其特征在于,所述装置还包括:封装模块,用于对所述二值化数据和所述量化数据进行封装,得到所述3D地图的码流。
- 根据权利要求24所述的装置,其特征在于,所述装置还包括:传输模块,用于接收电子设备发送的3D地图请求信息,响应于所述3D地图请求信息,向所述电子设备发送所述3D地图请求信息对应的所述3D地图的码流;或者,传输模块,用于向服务器发送所述3D地图的码流。
- 根据权利要求23至25任一项所述的装置,其特征在于,所述3D地图描述子和至少一个预设阈值向量之间的关系包括:所述3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。
- 根据权利要求23至26任一项所述的装置,其特征在于,所述3D地图描述子和至少一个预设阈值向量之间的差异包括:所述3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。
- 根据权利要求26或27所述的装置,其特征在于,所述二值化处理模块还用于:分别将所述3D地图描述子的各个分量与所述至少一个预设阈值向量的对应分量相减,得到各个分量的差值;根据所述各个分量的差值,确定所述大小关系。
- 根据权利要求23至28任一项所述的装置,其特征在于,所述量化处理所使用的至少一个预设阈值向量的至少一个分量是所述二值化处理所使用的至少一个预设阈值向量的对应分量中任意一个。
- 根据权利要求26至29任一项所述的装置,其特征在于,所述二值化处理所使用的至少一个预设阈值向量中的一个预设阈值向量为最小阈值向量或最大阈值向量,所述最小阈值向量的各个分量小于或等于所述3D地图描述子的对应分量的取值范围的最小值,所述最大阈值向量的各个分量大于或等于所述3D地图描述子的对应分量的取值范围的最大值。
- 根据权利要求26至30任一项所述的装置,其特征在于,当所述二值化处理所使用的至少一个预设阈值向量包括N个预设阈值向量时,所述N个预设阈值向量的相同位 置的分量依次增大或依次减小,N为大于1的整数;所述依次增大表示所述N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,所述依次减少表示所述N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
- 根据权利要求31所述的装置,其特征在于,所述二值化数据包括所述3D地图描述子的各个分量分别对应的多个比特二值化数据,所述各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示所述分量对应的预设阈值向量的分量。
- 根据权利要求23至32任一项所述的装置,其特征在于,所述量化处理所使用的至少一个预设阈值向量,与所述二值化数据所指示的量化处理的至少一个预设阈值向量相同。
- 根据权利要求33所述的装置,其特征在于,所述量化处理所使用的至少一个预设阈值向量的至少一个分量是根据所述二值化数据得到。
- 根据权利要求23至34任一项所述的装置,其特征在于,所述二值化数据中至少一个比特还用于指示所述量化数据的比特数。
- 一种3D地图的解压缩装置,其特征在于,所述装置包括:重建模块,用于通过存储模块或传输模块获取3D地图的压缩数据,所述压缩数据包括二值化数据和量化数据;所述重建模块,还用于根据所述二值化数据和所述量化数据,得到重建3D地图描述子。
- 根据权利要求36所述的装置,其特征在于,所述重建模块用于通过所述传输模块获取3D地图的码流;对所述3D地图的码流进行解封装,得到所述3D地图的压缩数据。
- 根据权利要求37所述的装置,其特征在于,所述传输模块用于:发送3D地图请求信息,接收所述3D地图请求信息对应的所述3D地图的码流;或者,用于接收所述3D地图的码流。
- 根据权利要求36至38任一项所述的装置,其特征在于,所述重建模块用于:对所述量化数据进行反量化处理,得到所述重建3D地图描述子和至少一个预设阈值向量之间的差异;根据所述差异、所述二值化数据和所述至少一个预设阈值向量,得到所述重建3D地图描述子,所述二值化数据用于表示所述重建3D地图描述子和至少一个预设阈值向量之间的关系。
- 根据权利要求39所述的装置,其特征在于,所述重建3D地图描述子和至少一个预设阈值向量之间的关系包括:所述重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的大小关系。
- 根据权利要求39或40所述的装置,其特征在于,所述重建3D地图描述子和至少一个预设阈值向量之间的差异包括:所述重建3D地图描述子的各个分量分别与至少一个预设阈值向量的对应分量之间的差值或差值的绝对值。
- 根据权利要求39至41任一项所述的装置,其特征在于,所述二值化数据还用于指示所述至少一个预设阈值向量,所述重建模块还用于:根据所述二值化数据和N个预设阈值向量,确定所述至少一个预设阈值向量;所述N个预设阈值向量的相同位置的分量依次增大或依次减小,N为大于1的整数;所述依次增大用于表示所述N个预设阈值向量中的第i个预设阈值向量的任意一个分量大于或等于第i-1个预设阈值向量的相同位置的分量,所述依次减少用于表示所述N个预设阈值向量中的第i个预设阈值向量的任意一个分量小于或等于第i-1个预设阈值向量的相同位置的分量,2≤i≤N。
- 根据权利要求42所述的装置,其特征在于,所述二值化数据包括所述重建3D地图描述子的各个分量分别对应的多个比特二值化数据,所述各个分量中任意一个分量对应的多个比特二值化数据中1或0的个数用于指示所述分量对应的预设阈值向量的分量。
- 根据权利要求36至43任一项所述的装置,其特征在于,所述二值化数据中至少一个比特还用于指示所述量化数据的比特数。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/098483 WO2022252235A1 (zh) | 2021-06-04 | 2021-06-04 | 3d地图的解码装置和方法、及3d地图的编码码流 |
PCT/CN2021/098482 WO2022252234A1 (zh) | 2021-06-04 | 2021-06-04 | 3d地图的编码装置和方法 |
CNPCT/CN2021/098483 | 2021-06-04 | ||
CNPCT/CN2021/098482 | 2021-06-04 | ||
PCT/CN2021/105623 WO2022252345A1 (zh) | 2021-06-04 | 2021-07-09 | 3d地图的压缩、解压缩方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117397242A true CN117397242A (zh) | 2024-01-12 |
Family
ID=84322741
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180098947.9A Pending CN117413523A (zh) | 2021-06-04 | 2021-07-05 | 3d地图的编解码方法及装置 |
CN202180098601.9A Pending CN117397242A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的压缩、解压缩方法和装置 |
CN202180099015.6A Pending CN117461056A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的检索方法和装置 |
CN202180099018.XA Pending CN117460972A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的检索方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180098947.9A Pending CN117413523A (zh) | 2021-06-04 | 2021-07-05 | 3d地图的编解码方法及装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180099015.6A Pending CN117461056A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的检索方法和装置 |
CN202180099018.XA Pending CN117460972A (zh) | 2021-06-04 | 2021-07-09 | 3d地图的检索方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (3) | US20240111793A1 (zh) |
EP (3) | EP4336223A1 (zh) |
KR (3) | KR20240013238A (zh) |
CN (4) | CN117413523A (zh) |
WO (4) | WO2022252337A1 (zh) |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100238066B1 (ko) * | 1996-06-26 | 2000-01-15 | 윤종용 | 양자화활동도를 이용한 비트 발생량 제어방법 및 그 영상 부호화장치 |
JP2000285121A (ja) * | 1999-03-30 | 2000-10-13 | Sony Corp | 地図検索装置、地図検索方法、地図検索制御プログラムを記録した記録媒体、ナビゲーション装置、ナビゲート方法及びナビゲート制御プログラムを記録した記録媒体 |
KR100668714B1 (ko) * | 2005-01-14 | 2007-01-16 | 한국전자통신연구원 | 효과적인 텍스처 매핑을 위한 3차원 메쉬 정보의 텍스처좌표 부호화 및 복호화 방법 |
CN102611892B (zh) * | 2006-03-16 | 2014-10-08 | 华为技术有限公司 | 在编码过程中实现自适应量化的方法及装置 |
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 | 杭州电子科技大学 | 一种基于地理位置信息的场景检索方法 |
JP6817961B2 (ja) * | 2015-12-14 | 2021-01-20 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置 |
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算法的图像快速检索方法 |
JP7273029B2 (ja) * | 2018-04-10 | 2023-05-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
EP4343702A3 (en) * | 2018-10-09 | 2024-05-29 | Panasonic Intellectual Property Corporation of America | Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device |
CN111247798B (zh) * | 2019-01-10 | 2022-03-15 | 深圳市大疆创新科技有限公司 | 对三维数据点集进行编码或解码的方法和设备 |
WO2020248177A1 (zh) * | 2019-06-12 | 2020-12-17 | 浙江大学 | 点云的编解码方法及装置 |
CN112348885A (zh) * | 2019-08-09 | 2021-02-09 | 华为技术有限公司 | 视觉特征库的构建方法、视觉定位方法、装置和存储介质 |
US20210042958A1 (en) * | 2019-08-09 | 2021-02-11 | Facebook Technologies, Llc | Localization and mapping utilizing visual odometry |
CN110706248B (zh) * | 2019-08-20 | 2024-03-12 | 广东工业大学 | 一种基于slam的视觉感知建图方法及移动机器人 |
CN111551186A (zh) * | 2019-11-29 | 2020-08-18 | 福瑞泰克智能系统有限公司 | 一种车辆实时定位方法、系统及车辆 |
CN111639147B (zh) * | 2020-04-24 | 2021-02-05 | 视辰信息科技(上海)有限公司 | 一种地图压缩方法、系统及计算机可读存储介质 |
CN111882590A (zh) * | 2020-06-24 | 2020-11-03 | 广州万维创新科技有限公司 | 一种基于单张图片定位的ar场景应用方法 |
CN111982152B (zh) * | 2020-07-31 | 2022-04-05 | 广州文远知行科技有限公司 | 点云地图量化方法、装置、计算机设备和存储介质 |
-
2021
- 2021-07-05 CN CN202180098947.9A patent/CN117413523A/zh active Pending
- 2021-07-05 WO PCT/CN2021/104601 patent/WO2022252337A1/zh active Application Filing
- 2021-07-09 WO PCT/CN2021/105625 patent/WO2022252347A1/zh active Application Filing
- 2021-07-09 KR KR1020237045074A patent/KR20240013238A/ko active Search and Examination
- 2021-07-09 KR KR1020247000354A patent/KR20240017918A/ko unknown
- 2021-07-09 CN CN202180098601.9A patent/CN117397242A/zh active Pending
- 2021-07-09 CN CN202180099015.6A patent/CN117461056A/zh active Pending
- 2021-07-09 EP EP21943703.5A patent/EP4336223A1/en active Pending
- 2021-07-09 WO PCT/CN2021/105624 patent/WO2022252346A1/zh active Application Filing
- 2021-07-09 EP EP21943702.7A patent/EP4339881A1/en active Pending
- 2021-07-09 EP EP21943704.3A patent/EP4336454A1/en active Pending
- 2021-07-09 CN CN202180099018.XA patent/CN117460972A/zh active Pending
- 2021-07-09 KR KR1020247000191A patent/KR20240017906A/ko unknown
- 2021-07-09 WO PCT/CN2021/105623 patent/WO2022252345A1/zh active Application Filing
-
2023
- 2023-12-01 US US18/526,846 patent/US20240111793A1/en active Pending
- 2023-12-01 US US18/526,734 patent/US20240112372A1/en active Pending
- 2023-12-01 US US18/526,801 patent/US20240095265A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20240013238A (ko) | 2024-01-30 |
CN117461056A (zh) | 2024-01-26 |
WO2022252337A1 (zh) | 2022-12-08 |
KR20240017918A (ko) | 2024-02-08 |
WO2022252345A1 (zh) | 2022-12-08 |
EP4339881A1 (en) | 2024-03-20 |
EP4336223A1 (en) | 2024-03-13 |
US20240112372A1 (en) | 2024-04-04 |
US20240111793A1 (en) | 2024-04-04 |
CN117460972A (zh) | 2024-01-26 |
EP4336454A1 (en) | 2024-03-13 |
WO2022252346A1 (zh) | 2022-12-08 |
WO2022252347A1 (zh) | 2022-12-08 |
US20240095265A1 (en) | 2024-03-21 |
KR20240017906A (ko) | 2024-02-08 |
CN117413523A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116415594A (zh) | 问答对生成的方法和电子设备 | |
US20210383116A1 (en) | Augmented reality system and method | |
CN113822427A (zh) | 一种模型训练的方法、图像匹配的方法、装置及存储介质 | |
WO2021088497A1 (zh) | 虚拟物体显示方法、全局地图更新方法以及设备 | |
WO2022252345A1 (zh) | 3d地图的压缩、解压缩方法和装置 | |
WO2022252238A1 (zh) | 3d地图的压缩、解压缩方法和装置 | |
WO2022252237A1 (zh) | 3d地图的编解码方法及装置 | |
WO2022253228A1 (zh) | 3d地图的压缩、解压缩方法和装置 | |
WO2022252236A1 (zh) | 3d地图的编解码方法及装置 | |
US20240102826A1 (en) | Apparatus and method for encoding 3d map | |
US20240119639A1 (en) | Apparatus and method for decoding 3d map, and encoded bitstream of 3d map | |
JP2024521375A (ja) | 3dマップを取り出すための方法及び装置 | |
JP2024521937A (ja) | 3dマップをデコーディングするための装置及び方法、及び3dマップのエンコーディングされたビットストリーム | |
JP2024521936A (ja) | 3dマップを符号化するための装置及び方法 | |
CN112381828B (zh) | 基于语义和深度信息的定位方法、装置、介质与设备 |
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 |