CN113574567A - 点云压缩的方法和装置 - Google Patents

点云压缩的方法和装置 Download PDF

Info

Publication number
CN113574567A
CN113574567A CN202080020653.XA CN202080020653A CN113574567A CN 113574567 A CN113574567 A CN 113574567A CN 202080020653 A CN202080020653 A CN 202080020653A CN 113574567 A CN113574567 A CN 113574567A
Authority
CN
China
Prior art keywords
matrix
image
dimension
point cloud
angular
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.)
Granted
Application number
CN202080020653.XA
Other languages
English (en)
Other versions
CN113574567B (zh
Inventor
高文
张翔
刘杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of CN113574567A publication Critical patent/CN113574567A/zh
Application granted granted Critical
Publication of CN113574567B publication Critical patent/CN113574567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4814Constructional features, e.g. arrangements of optical elements of transmitters alone
    • G01S7/4815Constructional features, e.g. arrangements of optical elements of transmitters alone using multiple transmitters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Electromagnetism (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

一种点云压缩装置包括处理电路。所述处理电路使用球坐标系表示点云中的多个点,其中,所述球坐标系具有第一角度维度、第二角度维度和径向维度。一个点由所述第一角度维度中的第一角度坐标,所述第二角度维度中的第二角度坐标,所述径向维度中的径向坐标和至少一个属性值表示。所述处理电路形成具有第一维度和第二维度的至少一个二维矩阵,其中,所述第一维度对应于所述第一角度维度,所述第二维度对应于所述第二角度维度。基于所述第一角度坐标和所述第二角度坐标,将所述点作为一个元素放置在所述二维矩阵中。此外,所述处理电路压缩所述二维矩阵的数据,以及生成包括所述二维矩阵的压缩数据的比特流。

Description

点云压缩的方法和装置
引用并入
本申请要求于2020年6月4日提交的美国申请第16/893,311号“点云压缩的方法和装置”的优先权,该美国申请要求了2019年6月11日提交的美国临时申请第62/860,144号“使用原始激光雷达数据的点云编码”的优先权。在先申请的全部公开内容通过引用整体并入本文。
技术领域
本公开描述了与点云压缩有关的实施例。
背景技术
本文所提供的背景描述旨在整体呈现本公开的背景。在背景技术部分以及本说明书的各个方面中所描述的目前已署名的发明人的工作所进行的程度,并不表明其在本公开提交时作为现有技术,且从未明示或暗示其被承认为本公开的现有技术。
人们开发了各种技术来抓拍和描述世界,例如世界中的对象、世界中的环境以及三维(3D)空间中的类似事物。世界的3D表示能够实现更身临其境的交互和通信形式。点云可以用作世界的3D表示。点云是3D空间中点的集合,每个点具有相关联的属性,例如颜色、材料特性、纹理信息、强度属性、反射率属性、运动相关属性、模态属性以及各种其它属性。所述点云可以包括大量的数据,并且存储和传输可能昂贵且耗时。
发明内容
本公开的各方面提供了用于点云压缩和解压缩的方法和装置。在一些示例中,一种用于点云压缩/解压缩的装置包括处理电路。例如,所述处理电路使用球坐标系表示点云中的多个点,其中,所述球坐标系具有第一角度维度、第二角度维度和径向维度。一个点由所述第一角度维度中的第一角度坐标,所述第二角度维度中的第二角度坐标,所述径向维度中的径向坐标和至少一个属性值表示。所述处理电路形成具有第一维度和第二维度的至少一个2D矩阵,其中,所述第一维度对应于所述第一角度维度,所述第二维度对应于所述第二角度维度。基于所述第一角度坐标和所述第二角度坐标,将所述点作为一个元素放置在所述2D矩阵中。此外,所述处理电路压缩所述2D矩阵的数据,以及生成包括所述2D矩阵的压缩数据的比特流。
根据本公开的一个方面,所述处理电路接收由光检测和测距(激光雷达)传感器基于激光器感测的距离和强度,其中,所述激光器以仰角布置并随时间旋转到旋转角。响应于以仰角布置的所述激光器在具有旋转角的时间发射的射线,感测距离和强度。所述处理电路使用所述第一角度维度中的所述旋转角、所述第二角度维度中的所述仰角、所述径向维度中的所述距离,以及所述强度表示所述点,其中,所述强度为所述属性值。此外,基于所述旋转角和所述仰角,所述处理电路将所述点作为元素放置在所述2D矩阵中。所述处理电路将所述2D矩阵转换为一个或多个图像;以及,压缩所述一个或多个图像。
在一些实施例中,所述处理电路将所述2D矩阵转换为第一2D图像和第二2D图像,其中,所述第一2D图像的像素值对应于所述2D矩阵中点的距离,所述第二2D图像的像素值对应于所述2D矩阵中点的强度。所述处理电路压缩所述第一2D图像和所述第二2D图像。
在一些实施例中,所述处理电路将所述2D矩阵转换为2D图像,其中,所述2D图像中的像素对应于所述点。所述像素具有像素颜色,所述点的距离为第一颜色分量,并且所述点的强度为第二颜色分量。然后,所述处理电路压缩所述2D图像。
在一个实施例中,所述2D矩阵是对应于完整旋转的2D矩阵的第一帧,并且所述处理电路至少形成2D矩阵的第二帧,其中,所述2D矩阵对应于与所述第一帧具有时间差的另一个完整旋转。所述处理电路至少将所述2D矩阵的第二帧与所述2D矩阵的第一帧堆叠成多帧矩阵;然后,将所述多帧矩阵转换为一个或多个图像;并压缩所述一个或多个图像。
在一些示例中,所述处理电路形成分别对应于不同时间的所述2D矩阵的帧序列,从所述帧序列生成分别对应所述不同时间的图像序列,基于图像压缩分别压缩所述图像序列。
在一些其他的示例中,所述处理电路形成分别对应于不同时间的所述2D矩阵的帧序列,从所述帧序列生成分别对应所述不同时间的图像序列;以及,基于视频压缩压缩所述图像序列
在一些实施例中,所述处理电路生成第一比特流,其中,所述第一比特流包括所述一个或多个图像的压缩数据,生成第二比特流,其中,所述第二比特流包括激光雷达传感器的校准和运动补偿;以及,将所述第一比特流和所述第二比特流组合成组合比特流。
在一些实施例中,所述处理电路可以基于校准和运动补偿,修改所述2D矩阵中的点。其中,所述2D矩阵中的修改点包括旋转角调整、仰角调整、修改的距离和修改的强度。然后,所述处理电路将所述2D矩阵转换为一个或多个图像;以及,压缩所述一个或多个图像。
根据本公开的一些其他方面,用于点云构建的处理电路可以将接收到的比特流,对应于光检测与测距(激光雷达)传感器感测的点云,划分为第一比特流和第二比特流,其中,所述第一比特流对应于激光雷达传感器感测的数据,所述第二比特流对应于元数据,所述元数据至少包含所述激光雷达传感器的校准和运动补偿信息。所述处理电路可以解压缩所述第一比特流,获得由所述激光雷达传感器基于以仰角布置的并随时间旋转到旋转角的激光器感测到的距离和强度。响应于以仰角布置的激光器在具有旋转角的时间发射的射线,感测距离和强度。所述处理电路可以解压缩所述第二比特流,获得所述元数据,其中,所述元数据至少包括所述激光雷达传感器的校准和运动补偿信息。所述处理电路可以基于仰角和旋转角感测到的距离和强度,构建最终点云,并且,所述元数据至少包括所述校准和所述运动补偿。
本公开的多个方面还提供了一种非易失性计算机可读介质,所述非易失性计算机可读介质中存储有指令,所述指令在由用于点云压缩/解压缩的计算机执行时,使得所述计算机执行所述点云压缩/解压缩的方法。
附图简要说明
根据以下详细说明和附图,所公开的主题的进一步的特征、性质和各种优点将更加显而易见,其中:
图1是根据一个实施例的通信系统(100)的简化框图的示意图。
图2是根据一个实施例的流式传输系统(200)的简化框图的示意图。
图3示出了根据一些实施例的用于编码点云帧的编码器(300)的框图。
图4示出了根据一些实施例的用于解码与点云帧相对应的已压缩的比特流的解码器的框图。
图5是根据一个实施例的视频解码器的简化框图的示意图。
图6是根据一个实施例的视频编码器的简化框图的示意图。
图7是根据本公开一些实施例的点云压缩过程的示意图。
图8是解压缩过程的示意图。
图9是根据本公开一些实施例的显示了使用两条光线的光检测和测距(激光雷达)的示例。
图10示出了示例中的32射线激光雷达传感器的仰角的表1。
图11示出了使用激光射线测量3D点的距离和反射率的示例。
图12以二维矩阵的形式显示了激光雷达原始数据的表2。
图13示出了2D矩阵中重新排序的激光雷达原始数据的表3。
图14示出了距离图像的一部分。
图15示出了强度图像的一部分。
图16示出了距离图像的一部分。
图17示出了强度图像的一部分。
图18示出了由垂直堆叠三个连续帧形成的较大帧的距离图像。
图19示出了由垂直堆叠三个连续帧形成的较大帧的强度图像。
图20示出了表4的一组示例校准元数据。
图21示出了根据一些示例的二维矩阵的表5。
图22示出了根据一些实施例的概述过程示例的流程图。
图23示出了根据一些实施例的概述过程示例的流程图。
图24示出了根据实施例的计算机系统的示意图。
具体实施方式
本公开的多个方面提供了点云编码(Point Cloud Coding,PCC)技术。可以根据各种方案执行PCC,例如被称为G-PCC的基于几何的方案、被称为V-PCC的基于视频编码的方案等。根据本公开的一些方面,G-PCC直接对3D几何进行编码,并且是基于纯几何的方法,而与视频编码没有太多共享,并且V-PCC主要基于视频编码。例如,V-PCC可以将3D云的点映射到2D网格(图像)的像素。V-PCC方案可以使用通用视频编解码器进行点云压缩。运动图像专家组(Moving picture experts group,MPEG)正在研究使用G-PCC方案的G-PCC标准,和使用V-PCC方案的V-PCC标准。本公开提供了点云编码中可以使用三维(3D)极坐标系(也成为球坐标系)的技术。例如,在光检测和测距(激光雷达)应用中,3D极坐标系可用于原始激光雷达数据和一些额外的元数据信息的点云压缩。
一般来说,点云可以指在3D空间中的一组点,每个点具有相关联的属性,例如颜色、材料特性、纹理信息、强度属性、反射率属性、运动相关属性、模态属性以及各种其它属性。点云可以用于重构对象或场景作为此类点的组合。可以在各种设置中使用多个相机和深度传感器捕获所述点,并且所述点可以由数千到数十亿个点组成,以便真实地表示重构的场景。面片通常可以指由点云描述的表面的连续子集。在示例中,面片包括具有表面法线向量的点,其中所述具有表面法线向量的点彼此偏离小于阈值量。
需要压缩技术来减少表示点云所需的数据量。因此,在实时通信和六自由度(6DoF)虚拟现实中,需要使用点云的有损压缩技术。另外,在自动驾驶和文化遗产应用等的动态映射的环境中,寻求无损点云压缩技术。运动图像专家组(MPEG)开始研究解决几何形状和属性的压缩的标准,例如颜色和反射率、可缩放/渐进编码、随时间捕获的点云序列的编码以及对点云子集的随机访问。
根据本公开的一个方面,V-PCC背后的主要理念是利用现有的视频编解码器将动态点云的几何形状、占用率和纹理压缩为三个单独的视频序列。分别压缩解释这三个视频序列所需的额外元数据。整个比特流的一小部分是元数据,可以使用软件对所述元数据进行有效的编码/解码。大部分信息由视频编解码器处理。
图1示出了根据本公开的一个实施例的通信系统(100)的简化框图。通信系统(100)包括能够经由例如网络(150)彼此通信的多个终端设备。例如,通信系统(100)包括经由网络(150)互连的一对终端设备(110)和(120)。在图1的示例中,第一对终端设备(110)和(120)执行点云数据的单向传输。例如,终端设备(110)可以压缩与终端设备(110)连接的传感器105捕获的点云(例如,表示结构的点)。已压缩的点云可以例如以比特流的形式经由网络(150)传输到另一个终端设备(120)。终端设备(120)可以从网络(150)接收已压缩的点云,解压缩比特流以重建点云,并根据重建的点云适当地显示。在媒体服务应用等应用中,单向数据传输可能很常见。
在图1的示例中,终端设备(110)和(120)可以被示为服务器和个人计算机,但是本公开的原理可以不限于此。本公开的实施例可以应用于膝上型计算机、平板计算机、智能电话、游戏终端、媒体播放器和/或专用三维(3D)设备。网络(150)表示在终端设备(110)和(120)之间传输已压缩的点云的任何数量的网络。网络(150)可以包括例如有线(wireline/wired)和/或无线通信网络。网络(150)可以在电路交换和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网和/或因特网。为了本讨论的目的,网络(150)的结构和拓扑对于本公开的操作可能无关紧要,除了下文中所解释的。
图2示出了所公开主题针对点云应用的示例。所公开的主题可以等同地应用于包括3D远程应用、虚拟现实应用的其它点云启用的应用。
流式传输系统(200)可以包括捕获子系统(213)。捕获子系统(213)可以包括点云源(201),例如光检测和测距(LIDAR)系统、3D相机、3D扫描仪、在软件中生成未压缩的点云的图形生成组件以及生成例如未压缩的点云(202)的类似组件。在一个示例中,未压缩的点云(202)包括由3D相机捕获的点。与已压缩的点云(204)(已压缩的点云的比特流)相比时,将点云(202)描绘为粗线以强调高数据量。已压缩的点云(204)可以由电子设备(220)生成,所述电子设备(220)包括耦合到点云源(201)的编码器(203)。编码器(203)可以包括硬件、软件或其组合,以启用或实现如下文更详细描述的所公开的主题的各方面。与未压缩的点云流(202)相比时,将已压缩的点云(204)(或已压缩的点云(204)的比特流)描绘为细线以强调更低的数据量,并且可以将已压缩的点云(204)(或已压缩的点云(204)的比特流)存储于流服务器(205)中以供将来使用。一个或多个流客户端子系统,例如图2中的客户端子系统(206)和(208),能够访问流服务器(205)以取回已压缩的点云(204)的副本(207)和(209)。客户端子系统(206)可以包括例如在电子设备(230)中的解码器(210)。解码器(210)对已压缩的点云的传入副本(207)进行解码,并创建可以在呈现装置(212)上呈现的重建的点云(211)的传出流。在一些流式传输系统中,已压缩的点云(204)、(207)和(209)(例如,已压缩的点云的比特流)可以根据某些标准被压缩。在一些示例中,在已压缩点云中使用视频编码标准。这些标准的示例包括高效视频编码(HEVC)、通用视频编码(VVC)等。
需要注意的是,电子设备(220)和(230)可以包括其它组件(未示出)。例如,电子设备(220)可以包括解码器(未示出),并且电子设备(230)也可以包括编码器(未示出)。
图3示出了根据一些实施例的用于编码点云帧的V-PCC编码器(300)的框图。在一些实施例中,V-PCC编码器(300)可以用于通信系统(100)和流式传输系统(200)中。例如,编码器(203)可以以与V-PCC编码器(300)类似的方式配置和操作。
V-PCC编码器(300)接收作为输入的未压缩的点云帧,并生成与已压缩的点云帧相对应的比特流。在一些实施例中,V-PCC编码器(300)可以从例如点云源(201)等的点云源接收点云帧。
在图3的示例中,V-PCC编码器(300)包括如图3所示的耦合在一起的面片生成模块(306)、面片打包模块(308)、几何图像生成模块(310)、纹理图像生成模块(312)、面片信息模块(304)、占用图模块(314)、平滑模块(336)、图像填充模块(316)和(318)、组扩张模块(320)、视频压缩模块(322)、(323)和(332)、辅助面片信息压缩模块(338)、熵压缩模块(334)和多路复用器(324)。
根据本公开的一个方面,V-PCC编码器(300)将3D点云帧转换为基于图像的表示,以及将已压缩的点云转换回经解压缩的点云所需的一些元数据(例如,占用图和面片信息)。在一些示例中,V-PCC编码器(300)可以将3D点云帧转换为几何图像、纹理图像和占用图,然后使用视频编码技术将几何图像、纹理图像和占用图编码为比特流。一般来说,几何图像是一个2D图像,该2D图像的像素填充有与投影到像素的点相关的几何值,并且填充了几何值的像素可以称为几何样本。纹理图像是一个2D图像,该2D图像的像素填充有与投影到像素的点相关联的纹理值,并且,填充了纹理值的像素可以称为纹理样本。占用图是一个2D图像,该2D图像的像素填充有指示面片占用或未占用的值。
面片生成模块(306)将点云分割成面片的集合(例如,将面片定义为由点云描述的表面的邻接子集)。所述面片的集合可以重叠或不重叠,使得可以由相对于2D空间中的平面的深度场描述每个面片。在一些实施例中,面片生成模块(306)旨在将点云分解为具有平滑边界的最小数量的面片,同时还最小化重建误差。
面片信息模块(304)可以收集指示面片的大小和形状的面片信息。在一些示例中,可以将面片信息打包到图像帧中,然后由辅助面片信息压缩模块(338)编码以生成压缩的辅助面片信息。
面片打包模块(308)用于将所提取的面片映射到二维(2D)网格上,同时最小化未使用的空间,并确保网格中的每个M×M(例如,16×16)块都与唯一面片相关联。有效的面片打包可以通过最小化未使用的空间或确保时间一致性直接影响压缩效率。
几何图像生成模块(310)可以在给定的面片位置处生成与点云的几何形状相关联的2D几何图像。纹理图像生成模块(312)可以在给定的面片位置处生成与点云的纹理相关联的2D纹理图像。几何图像生成模块(310)和纹理图像生成模块(312)使用在打包过程中计算的3D到2D映射,将点云的几何形状和纹理存储为图像。为了更好地处理多个点被投影到相同样本的情况,将每个面片投影到称为层的两个图像上。在一个示例中,由YUV420-8bit格式中的WxH的单色帧表示几何图像。为了生成纹理图像,纹理生成过程使用重建的/平滑的几何形状,以计算与重新采样的点相关联的颜色。
占用图模块(314)可以生成描述每个单元的填充信息的占用图。例如,占用图包括二进制图,所述二进制图指示网格中的每个单元是属于空白空间还是属于点云。在一个示例中,占用图使用二进制信息描述每个像素是否被填充。在另一个示例中,占用图使用二进制信息描述每个像素块是否被填充。
可以使用无损编码或有损编码压缩由占用图模块(314)生成的占用图。当使用无损编码时,熵压缩模块(334)用于压缩占用图;当使用有损编码时,视频压缩模块(332)用于压缩占用图。
需要注意的是,面片打包模块(308)可以在图像帧中打包的2D面片之间留下一些空白空间。图像填充模块(316)和(318)可以填充空白空间(称为填充),以生成适合于2D视频和图像编解码器的图像帧。图像填充也称为背景填充,可以通过冗余信息填充未使用的空间。在一些示例中,好的背景填充最小限度地增加比特率,而不会在面片边界周围引入显著的编码失真。
视频压缩模块(322)、(323)和(332)可以基于例如HEVC、VVC等合适的视频编码标准对例如填充的几何图像、填充的纹理图像和占据图的2D图像进行编码。在一个示例中,视频压缩模块(322)、(323)和(332)是单独操作的独立组件。需要注意的是,在另一个示例中,视频压缩模块(322)、(323)和(332)可以实现为单个组件。
在一些示例中,平滑模块(336)用于生成重建的几何图像的平滑图像。可以将平滑图像信息提供给纹理图像生成模块(312)。然后,纹理图像生成模块(312)可以基于重建的几何图像调整纹理图像的生成。例如,当面片形状(例如,几何形状)在编码和解码期间稍微失真时,在生成纹理图像时,可以考虑所述失真以校正面片形状中的失真。
在一些实施例中,组扩张模块(320)用于将像素添加到对象的边界,以减少压缩伪像并增加编码增益。
多路复用器(324)可以将已压缩的几何图像、已压缩的纹理图像、已压缩的占用图、已压缩的辅助面片信息复用到压缩的比特流中。
图4示出了根据一些实施例的V-PCC解码器(400)的框图,其中所述V-PCC解码器(400)用于解码与点云帧对应的压缩的比特流。在一些实施例中,V-PCC解码器(400)可以用于通信系统(100)和流式传输系统(200)中。例如,解码器(210)可以用与V-PCC解码器(400)类似的方式配置和操作。V-PCC解码器(400)接收压缩的比特流,并基于压缩的比特流生成重建的点云。
在图4的示例中,V-PCC解码器(400)包括如图4所示的耦合在一起的解多路复用器(432)、视频解压缩模块(434)和(436)、占用图解压缩模块(438)、辅助面片信息解压缩模块(442)、几何重建模块(444)、平滑模块(446)、纹理重建模块(448)和颜色平滑模块(452)。
解多路复用器(432)可以接收已压缩的比特流,并分离成已压缩的纹理图像、已压缩的几何图像、已压缩的占用图和已压缩的辅助面片信息。
视频解压缩模块(434)和(436)可以根据适当的标准(例如,HEVC、VVC等)解码已压缩的图像,并输出解压缩的图像。例如,视频解压缩模块(434)解码已压缩的纹理图像,并输出解压缩的纹理图像;视频解压缩模块(436)解码已压缩的几何图像,并输出解压缩的几何图像。
占用图解压缩模块(438)可以根据适当的标准(例如,HEVC、VVC等)解码已压缩的占用图,并输出解压缩的占用图。
辅助面片信息解压缩模块(442)可以根据适当的标准(例如,HEVC、VVC等)解码已压缩的辅助面片信息,并输出解压缩的辅助面片信息。
几何重建模块(444)可以接收解压缩的几何图像,并基于解压缩的占有图和解压缩的辅助面片信息生成重建的点云几何形状。
平滑模块(446)可以平滑面片边缘处的不一致。平滑过程旨在减轻可能由于压缩伪像而在面片边界处出现的潜在不连续性。在一些实施例中,可以对位于面片边界的像素应用平滑滤波器,以减轻可能由压缩/解压缩引起的失真。
纹理重建模块(448)可以基于解压缩的纹理图像和平滑几何形状,确定点云中的点的纹理信息。
颜色平滑模块(452)可以平滑着色的不一致。3D空间中的非邻近面片通常在2D视频中彼此相邻打包。在一些示例中,基于块的视频编解码器可能混合非邻近面片的像素值。颜色平滑的目标是减少在面片边界处出现的可见伪像。
图5示出了根据本公开一个实施例的视频解码器(510)的框图。视频解码器(510)可以用于V-PCC解码器(400)中。例如,视频解压缩模块(434)和(436)、占用图解压缩模块(438)可以与视频解码器(510)类似地配置。
视频解码器(510)可包括解析器(520),以根据已压缩图像,比如,已编码视频序列,重建符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息。解析器(520)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循各种原理,包括可变长度编码、霍夫曼编码(Huffmancoding)、具有或不具有上下文灵敏度的算术编码等等。解析器(520)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片群组(Group of Pictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(PredictionUnit,PU)等等。解析器(520)还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。
解析器(520)可对从缓冲存储器接收的视频序列执行熵解码/解析操作,从而创建符号(521)。
取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(521)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(520)从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器(520)与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块以外,视频解码器(510)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。
第一单元是缩放器/逆变换单元(551)。缩放器/逆变换单元(551)从解析器(520)接收作为符号(521)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(551)可输出包括样本值的块,所述样本值可输入到聚合器(555)中。
在一些情况下,缩放器/逆变换单元(551)的输出样本可属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)采用从当前图片缓冲器(558)提取的已重建信息生成大小和形状与正在重建的块相同的周围块。举例来说,当前图片缓冲器(558)缓冲部分重建的当前图片和/或完全重建的当前图片。在一些情况下,聚合器(555)基于每个样本,将帧内预测单元(552)生成的预测信息添加到由缩放器/逆变换单元(551)提供的输出样本信息中。
在其它情况下,缩放器/逆变换单元(551)的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元(553)可访问参考图片存储器(557)以提取用于预测的样本。在根据符号(521)对提取的样本进行运动补偿之后,这些样本可由聚合器(555)添加到缩放器/逆变换单元(551)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(553)从参考图片存储器(557)内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号(521)的形式而供运动补偿预测单元(553)使用,所述符号(521)例如是包括X、Y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器(557)提取的样本值的内插、运动矢量预测机制等等。
聚合器(555)的输出样本可在环路滤波器单元(556)中被各种环路滤波技术采用。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频序列(也称作已编码视频码流)中的参数,且所述参数作为来自解析器(520)的符号(521)可用于环路滤波器单元(556)。然而,在其他实施例中,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元(556)的输出可以是样本流,所述样本流可输出到显示装置以及存储在参考图片存储器(557),以用于后续的帧间图片预测。
一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。举例来说,一旦对应于当前图片的已编码图片被完全重建,且已编码图片(通过例如解析器(520))被识别为参考图片,则当前图片缓冲器(558)可变为参考图片存储器(557)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片缓冲器。
视频解码器(510)可根据例如ITU-T H.265标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件的意义上,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。具体地说,配置文件可从视频压缩技术或标准中可用的所有工具中选择某些工具作为在所述配置文件下可供使用的仅有工具。对于合规性,还要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(Hypothetical ReferenceDecoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。
图6示出了根据本公开一个实施例的视频编码器(603)的框图。视频编码器(603)可以用于在V-PCC编码器(300)中压缩点云。在一个示例中,视频压缩模块(322)和(323)以及视频压缩模块(332)的配置类似于编码器(603)。
视频编码器(603)可以接收例如填充的几何图像、填充的纹理图像等图像,并生成已压缩的图像。
根据实施例,视频编码器(603)可实时或在由应用所要求的任何其它时间约束下,将源视频序列(多个图像)的图片编码且压缩成已编码视频序列(已编码图像)。施行适当的编码速度是控制器(650)的一个功能。在一些实施例中,控制器(650)控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(650)设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。控制器(650)可用于具有其它合适的功能,这些功能涉及针对某一系统设计优化的视频编码器(603)。
在一些实施例中,视频编码器(603)在编码环路中进行操作。作为简单的描述,在实施例中,编码环路可包括源编码器(630)(例如,负责基于待编码的输入图片和参考图片创建符号,例如符号流)和嵌入于视频编码器(603)中的(本地)解码器(633)。解码器(633)以类似于(远程)解码器创建样本数据的方式重建符号以创建样本数据(因为在所公开的主题中所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩是无损的)。将重建的样本流(样本数据)输入到参考图片存储器(634)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)也用于一些相关技术。
“本地”解码器(633)的操作可与例如已在上文结合图5详细描述视频解码器(510)的“远程”解码器相同。然而,另外简要参考图5,当符号可用且熵编码器(645)和解析器(520)能够无损地将符号编码/解码为已编码视频序列时,包括解析器(520)在内的视频解码器(510)的熵解码部分,可能无法完全在本地解码器(633)中实施。
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。出于此原因,本申请侧重于解码器操作。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
在操作期间,在一些实施例中,源编码器(630)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考图片”的一个或多个先前已编码图片,所述运动补偿预测编码对输入图片进行预测性编码。以此方式,编码引擎(632)对输入图片的像素块与参考图片的像素块之间的差异进行编码,所述参考图片可被选作所述输入图片的预测参考。
本地视频解码器(633)可基于源编码器(630)创建的符号,对可指定为参考图片的图片的已编码视频数据进行解码。编码引擎(632)的操作可为有损过程。当已编码视频数据可在视频解码器(图6中未示)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(633)复制解码过程,所述解码过程可由视频解码器对参考图片执行,且可使重建的参考图片存储在参考图片高速缓存(634)中。以此方式,视频编码器(603)可在本地存储重建的参考图片的副本,所述副本与将由远端视频解码器获得的重建参考图片具有共同内容(不存在传输误差)。
预测器(635)可针对编码引擎(632)执行预测搜索。即,对于将要编码的新图片,预测器(635)可在参考图片存储器(634)中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(635)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器(635)获得的搜索结果,可确定输入图片可具有从参考图片存储器(634)中存储的多个参考图片取得的预测参考。
控制器(650)可管理源编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器(645)中对所有上述功能单元的输出进行熵编码。熵编码器(645)根据例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
控制器(650)可管理视频编码器(603)的操作。在编码期间,控制器(650)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为以下任一种图片类型:
帧内图片(I图片),其可以是不将序列中的任何其它图片用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。所属领域的技术人员了解I图片的变体及其相应的应用和特征。
预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。
视频编码器(603)可根据例如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(603)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
视频可以是时间序列中的多个源图片(图像)的形式。帧内图片预测(常常简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测则利用图片之间的(时间或其它)相关性。在实施例中,将正在编码/解码的特定图片分割成块,正在编码/解码的特定图片被称作当前图片。在当前图片中的块类似于视频中先前已编码且仍被缓冲的参考图片中的参考块时,可通过称作运动矢量的矢量对当前图片中的块进行编码。所述运动矢量指向参考图片中的参考块,且在使用多个参考图片的情况下,所述运动矢量可具有识别参考图片的第三维度。
在一些实施例中,双向预测技术可用于帧间图片预测中。根据双向预测技术,使用两个参考图片,例如按解码次序都在视频中的当前图片之前(但按显示次序可能分别是过去和将来)第一参考图片和第二参考图片。可通过指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。具体来说,可通过第一参考块和第二参考块的组合来预测所述块。
此外,合并模式技术可用于帧间图片预测中以改善编码效率。
根据本申请的一些实施例,帧间图片预测和帧内图片预测等预测的执行以块为单位。举例来说,根据HEVC标准,将视频图片序列中的图片分割成编码树单元(coding treeunit,CTU)以用于压缩,图片中的CTU具有相同大小,例如64×64像素、32×32像素或16×16像素。一般来说,CTU包括三个编码树块(coding tree block,CTB),所述三个编码树块是一个亮度CTB和两个色度CTB。更进一步的,还可将每个CTU以四叉树拆分为一个或多个编码单元(coding unit,CU)。举例来说,可将64×64像素的CTU拆分为一个64×64像素的CU,或4个32×32像素的CU,或16个16×16像素的CU。在实施例中,分析每个CU以确定用于CU的预测类型,例如帧间预测类型或帧内预测类型。此外,取决于时间和/或空间可预测性,将CU拆分为一个或多个预测单元(prediction unit,PU)。通常,每个PU包括亮度预测块(predictionblock,PB)和两个色度PB。在实施例中,编码(编码/解码)中的预测操作以预测块为单位来执行。以亮度预测块作为预测块为例,预测块包括像素值(例如,亮度值)的矩阵,例如8×8像素、16×16像素、8×16像素、16×8像素等等。
所提出的方法可以单独使用,或以任何顺序组合使用。此外,每个方法(或实施例)、每个编码器和解码器可以由处理电路(例如,一个或多个处理器,或一个或多个集成电路)实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序。
点云编码PCC可广泛应用于各种应用。例如,PCC可用于自动驾驶的物体检测和定位。在另一个示例中,PCC可用于地理信息系统(Geographic Information Systems,GIS)的制图,并可用于文化遗产,以可视化和归档文化遗产对象和收藏品等。
如上所述,点云包含一组三维(3D)点,每个3D点包括3D位置信息和诸如颜色、反射率等的额外属性。在示例中,可以使用多个相机和深度传感器捕获点云。在另一示例中,可以在各种设置中使用激光雷达捕获点云。一个点云可以由数千到数十亿个点组成,以真实地表示原始场景。需要压缩技术减少表示点云所需的数据量,以更快的传输或减少存储。
在一些示例中,笛卡尔(Cartesian)坐标系可以在PPC中使用。例如,点云中的点可以由3D笛卡尔坐标(x,y,z)和相关联的属性矢量(a1,…,aN)表示,N是属性矢量的维度并且可以是任何合适的整数。在一个例子中,N为四。例如,在RGB颜色编解码系统中或在YUV颜色编解码系统中,a1、a2、a3可以是颜色信息,并且a4可以是反射率。
在一些示例中,点云由激光雷达捕获。相关联的属性矢量仅包含反射率而不包含颜色信息,因此N为1,a1是点的反射率。
在一些实施例中,可以组合3D坐标和属性矢量。例如,矢量(x,y,z,a1,…,aN)可以用于携带与点云中的点相关的所有信息。
称为K-D树和八叉树的两种类型的树结构可以用于点云压缩。在示例中,使用3D坐标矢量和属性矢量的组合矢量表示点云中的点,例如以((x,y,z,a1,…,aN)的形式。基于该组合矢量,构建并压缩K-D树。
在另一示例中,可以基于3D笛卡尔坐标(x,y,z),构建并压缩八叉树。然后,通过使用对应的几何相邻信息,将属性矢量与八叉树分开压缩。
基于K-D树的点云压缩相对简单。另一方面,由于3D空间中的点的不规则性,基于八叉树的方法通常是复杂的,并且八叉树方法需要遍历包围点云的整个3D边界框。另外,在压缩和重建3D坐标之后,需要单独压缩属性矢量。
本公开的一些方面提供了在点云编解码中使用3D极坐标系的方法。对于某些应用,例如激光雷达,使用3D极坐标系可以简化PCC并提高编解码效率。注意,在以下描述中使用激光雷达作为在PCC中使用3D极坐标系的示例,并且该3D极坐标系可以用于PCC的其它应用中。
图7示出了根据本公开一些实施例的由激光雷达生成的点云的压缩过程的示意图。在图7的示例中,压缩激光雷达生成的原始数据,并且将所有必要元数据信息与原始数据分开压缩,其中,所有必要元数据信息用于将原始数据转换为最终点云。例如,压缩激光雷达原始数据以生成原始数据比特流,压缩元数据以生成元数据比特流。然后,组合原始数据比特流和元数据比特流,例如,多路复用原始数据比特流和元数据比特流以生成组合比特流。图7中的压缩过程不同于基于元数据将激光雷达原始数据转换为最终点云、然后压缩最终点云的相关示例。
图8示出了根据图7生成的组合比特流的解压缩过程的示意图。将组合比特流多路分解为原始数据比特流和元数据比特流。可以解压缩原始数据流以重建激光雷达原始数据,并且可以解压缩元数据比特流以重建元数据。然后,基于图8示例中的元数据,将激光雷达原始数据转换为最终点云。
在一些实施例中,在3D极坐标系中收集激光雷达原始数据。因此,在一些实施例中,可以在3D极坐标系中执行激光雷达数据压缩、解压缩和最终点云的构建。激光雷达原始数据、相关联的元数据和处理模块(例如压缩、解压缩和最终点云的构建)在以下描述中详细描述。
根据本公开的一个方面,一个或多个激光雷达传感器收集激光雷达原始数据。激光雷达传感器可以包括一个或多个发射激光脉冲的激光设备、一个或多个检测从物体表面返回的脉冲的用于测距的接收设备、可以是旋转镜或平台的扫描设备,将激光和接收设备一起旋转以允许扫描传感器的周围环境。
激光雷达传感器通常以给定的旋转角
Figure BDA0003258756480000151
发送多个激光脉冲(射线),例如,16射线、32射线或64射线等。
图9示出了根据本公开一些实施例的使用两条射线的激光雷达示例。虽然使用了两条射线,但是图9中的概念可以扩展到任何合适数量的射线。
在图9的示例中,θ1和θ1表示仰角,并且
Figure BDA0003258756480000152
Figure BDA0003258756480000153
分别表示对应的两条激光射线的旋转角。不失一般性,假设
Figure BDA0003258756480000154
Figure BDA0003258756480000155
相等。事实上,
Figure BDA0003258756480000156
Figure BDA0003258756480000157
可以稍微不同,但是其差值可以是固定的并且可以在从激光雷达原始数据生成最终点云时被校正,这将参考校准进行描述。
在一些示例中,对于N射线激光雷达(N为正整数),N射线的一组仰角可以表示为[θ12,…,θN],并且N射线的一组旋转角可以表示为
Figure BDA0003258756480000161
图10示出了示例中的32射线激光雷达传感器的仰角的表1。不失一般性,假设旋转角相等:
Figure BDA0003258756480000162
对于在给定旋转角
Figure BDA0003258756480000163
处具有仰角θ的激光射线,激光雷达测量远程对象的表面中3D点的距离,其中脉冲被弹回到激光雷达的检测器。同时,测量返回脉冲的强度,并且所测量的强度用于指示远程对象的表面的反射率。
图11示出了使用激光射线测量3D点的距离和反射率的示例。图11示出了3D极坐标系中的远程对象的3D点(1101)。3D点(1101)具有极坐标
Figure BDA0003258756480000164
和属性(i),其中d表示距离,并且i表示可以由激光雷达测量的强度。
通常,对于整个360度扫描,激光雷达传感器可以在一组M个离散时间发送激光脉冲,对应的不同旋转角表示为
Figure BDA0003258756480000165
用于连续扫描激光。在一些示例中,可以使用2-D矩阵表示原始激光数据。
图12以N×M维2-D矩阵形式的显示激光雷达原始数据的表2,其中,N表示激光射线的数量,并且M表示发送激光脉冲的离散时间的数量。
在一些示例中,如图12所示的2D矩阵的激光雷达原始数据对应于整个360度扫描,并且被称为激光雷达原始数据的一帧。当激光雷达传感器连续扫描周围环境时,可以生成激光雷达原始数据的多个帧。
注意,来自不同制造商的激光雷达传感器可以具有关于一组旋转角的不同属性,即
Figure BDA0003258756480000166
在一些示例中,对于一些激光雷达传感器,一组旋转角对于所有帧是相同的,因此一组旋转角可以作为元数据在元数据比特流中发送一次。在一些示例中,对于一些激光雷达传感器,一组旋转角对于不同的帧可能并不完全相同,因此可能需要在每个帧的原始数据比特流中携带一组旋转角。
注意,在一些实施例中,由于一组仰角[θ12,…,θN]对于每个帧是相同的,因此一组仰角可以作为元数据在金属数据比特流中发送一次。
虽然可以在3D极坐标系中收集激光雷达原始数据,但是本公开的一些方面提供了在3D极坐标系中压缩激光雷达原始数据的技术。激光雷达原始数据的压缩过程可以包括激光雷达原始数据的预处理、距离和强度信息的压缩,以及旋转角的压缩,这些将分别描述。
在一些实施例中,在压缩激光雷达原始数据之前,可以进行一些预处理步骤,以帮助提高后面的压缩步骤的效率。在一些实施例中,预处理步骤可以包括重塑步骤(reshaping step)、阈值化步骤(thresholding step)、对数标尺步骤(log scale step)和多帧堆叠步骤(stacking of multiple frames step)中的一个或多个。
在实施例中,仰角不在激光雷达原始数据中排序。在预处理中,可以交换2D激光雷达原始数据矩阵的行,使得仰角以特定顺序排序,例如递增顺序、递减顺序等。将交换操作称为重塑步骤。特定顺序的相邻行更有可能具有更接近的矢量值,从而可以提高压缩效率。
图13示出了2D矩阵中重新排序的激光雷达原始的表3。2D矩阵的维数为NxM。在示例中,交换2D激光雷达原始数据的行,以按照递增顺序对仰角进行排序。因此,图12中的一组仰角[θ12,…,θN]变成[θ'1,θ'2,…,θ'N],其中θ'1<θ'2<…<θ'N。注意,在行交换时,对应的距离和强度值与仰角一起交换。对于n=1,…,N和m=1,…,M,将交换的值表示为{(d’n,m,i’n,m)}。
在一些实施例中,因为激光雷达传感器的距离测量对于小距离或大距离都不可靠,因此可以设置两个阈值,例如DistanceThreshlow和DistanceThreshhigh。对于距离dn,m(n=1,…,N且m=1,…,M),如果dn,m<DistanceThreshlow或dn,m>DistanceThreshhigh,那么可将距离dn,m设置为特定值,例如“0”,指示可以忽略该点。类似地,可将对应的强度信息in,m设置为特定值,例如0。在示例中,阈值DistanceThreshlow=0.9米(0.9m)以及DistanceThreshhigh=120米(120m)。将该步骤称为阈值化步骤。
在一些实施例中,当距离信息的动态范围太大时,可以使用对数标尺表示距离信息。例如,变量
Figure BDA0003258756480000171
用于表示距离的对数标尺,并且变量y是中间变量。距离的对数标尺可以计算为
Figure BDA0003258756480000172
其中C1、C2是两个正的常数,并且int(a)是取a的整数部分的运算,且sign(b)是取b的符号值的运算。例如,如果b>=0则sign(b)=1,如果b<0则sign(b)=-1。该步骤称为对数标尺步骤。
在一些实施例中,无需单独处理每个帧,可以在压缩之前组合激光雷达原始数据的多个帧。例如,可以垂直堆叠多个激光雷达原始数据矩阵,以形成维数为(kN)x M的大的2-D矩阵,其中k是堆叠在一起的帧的数量。该步骤称为多帧堆叠步骤。
注意,在一些示例中,仅使用上述预处理步骤(重塑步骤、阈值化步骤、对数标尺步骤和多帧堆叠步骤)中的一个。在一些其它示例中,上述步骤中的两个或三个步骤一起使用。在一些其它示例中,使用了全部的四个步骤。
根据本公开的一个方面,在预处理步骤之后,可以压缩距离和强度信息。使用图12的表2作为示例,将每个激光雷达原始数据帧表示为2D矩阵,并可以视为2D图像。
在一些实施例中,将每个激光雷达原始数据帧视为两个分开的单色图像:一个是距离图像,表示为{dn,m},其中n=1,…,N并且m=1,…,M;另一个是强度图像,表示为{in,m},其中n=1,…,N并且m=1,…,M。
图14示出了在示例中大小N=64和M=2080的距离图像的一部分,并且图15示出了大小N=64和M=2080的强度图像的一部分。在图14和图15中,亮度用于指示像素值。例如,亮色指示大的值,并且暗色指示小的值。注意,由于M远大于N,距离图像和强度图像相当窄,因此图14和图15示出了距离图像和强度图像的一些部分。
图16示出了N=0,…,64和M=0,…,191的距离图像的放大部分,并且图17示出了N=0,…,64和M=0,…,191的强度图像的放大部分。
在一些实施例中,多个连续帧可以垂直堆叠,以形成较大的距离图像和强度图像。
图18示出了具有由垂直堆叠三个连续帧形成的较大帧的距离值的距离图像;并且图19示出了具有由垂直堆叠三个连续帧形成的较大帧的强度值的强度图像。
如图18和图19所示,在连续帧之间可能存在强相关。因此,在一些实施例中,使用帧间相关的压缩技术可以实现更好的压缩效率。
在一些实施例中,每个帧(具有距离值和强度值)可以被视为YUV中的组合彩色图像。例如,对于像素,Y值是距离(Y=d),U值是强度(U=i),并且V值可以是常数,例如,对于所有像素V=128。在一些示例中,d通常表示为一个16位整数,且i通常表示为一个8位整数。在实施例中,可以将16位整数d分割成两个字节——字节0(byte0)和字节1(byte1):byte1=b15b14b13b12b11b10b9b8,byte0=b7b6b5b4b3b2b1b0,其中b15、b0分别是d的最高位和最低位。然后,可以将帧视为具有四种可能配置之一的彩色图像:
Y=byte1,U=byte0,V=i
Y=byte0,U=byte1,V=i
Y=i,U=byte1,V=byte0
Y=i,U=byte0,V=byte1
对于单色图像或彩色图像,可以使用被称为图像压缩和视频压缩的两种压缩方法。
对于图像压缩,在一些实施例中,诸如JPEG、JPEG2000的图像压缩编解码器可以用于有损图像压缩,而包括在流行的ffmpeg软件包中的JPEG-LS或FFV1编码器可以用于无损图像压缩。
因此,在可以容忍距离或强度信息的一些失真的示例中,可以使用JPEG、JPEG2000压缩距离图像、强度图像或组合彩色图像。在另一个需要无损压缩的示例中,可以使用JPEG-LS或FFV1编码器。
注意,除了上述图像压缩编解码器之外,可以使用任何其它合适的图像压缩编解码器压缩从激光雷达原始数据导出的图像。
对于视频压缩,如上所述,在一些实施例中,生成一系列激光雷达原始数据帧用于连续操作激光雷达。因此,可以生成一系列距离图像、强度图像或组合彩色图像。另外,时间上相邻的图像通常是相关的。因此,可以使用视频压缩编解码器压缩距离视频、强度视频或组合彩色视频。
在许多视频编解码器中,H264和H265编解码器可以用作示例来说明该想法。在一些实施例中,无损或有损压缩配置可以取决于质量要求,可以基于该质量要求,将H264和H265配置为无损压缩或有损压缩。
在一些实施例中,随机接入要求可以用于确定是否选择全帧内配置、低延迟配置和随机接入配置之一。
对于全帧内配置,在不使用相邻图像信息的情况下,单独压缩所有图像。因此,任何图像可以单独解码,而不依赖于其它图像的解码。
对于低延迟配置,一个图像的解码可能需要及时对出现在当前图像之前的一个或多个图像进行解码。
对于随机接入配置,一个图像的解码可能需要及时对出现在当前图像之前或之后的一个或多个图像进行解码。这种配置通常提供更好的压缩效率。
另外,通常首选可以处理360度内容的视频编解码器,因为360度视频编解码器能够在将3D极坐标映射到2D笛卡尔坐标时更好地处理失真,并且跨2D边界提供更有效的预测。
在一些实施例中,一组旋转角
Figure BDA0003258756480000191
对于不同的激光雷达原始帧可能不是完全相同的,可以用原始数据比特流中的激光雷达原始数据压缩旋转角。在一些示例中,可以由每个帧的激光雷达原始数据携带旋转角。举例说明,使用激光雷达原始数据的一小段旋转角序列:{18072,18090,18099,18117,18135,18153,18171,18189,18207,18225,18243,18261,18279,18297,18315,18324}作为示例。在该示例中,每个角度以0.01度表示。例如,18072用于表示180.72度的旋转角。
在实施例中,相邻旋转角之间的差,即
Figure BDA0003258756480000192
通常从一个小的子集中取值,表示为{δ0,…,δS-1},其中S通常是一个小的数。小子集中的差可以按照发生概率递减排序,即δ0将最频繁地出现。使用短序列示例,S=2,一组角度差是{18,9},其中,角度差18比角度差9更频繁地出现。因此,对于每个帧,可以使用固定长度编码发送
Figure BDA0003258756480000195
然后是δs(m)的一组索引值s(m),
Figure BDA0003258756480000193
注意,可以使用截断的一元代码,将s(m),m=1,…,M-1二进制化为二进制数。例如,使用二进制算术代码,将前一个或前两个二进制数(bin)编码为自适应二进制数,而将其余二进制数编码为旁路编解码模式(bypass coding mode)。
注意,可以通过多种方式发送表{δ0,…,δL-1}。在示例中,可以在每个帧中发送表{δ0,…,δL-1}。在另一示例中,如果序列中所有帧的表都相同,则表{δ0,…,δL-1}针对一系列帧发送一次。为了对表{δ0,…,δL-1}进行编码,在实施例中,固定长度编码用于表中的所有元素。在另一实施例中,使用固定长度编码对第一元素δ0进行编码,并且可以使用可能有不同长度的固定长度编码对差δll-1进行编码,其中,l=1,…,L-1。注意,可以由不同的应用确定上文所述的固定长度编码方法的长度,并且该长度对于
Figure BDA0003258756480000194
和δ0可能不同。
本公开的一些方面涉及相关联的元数据以及压缩元数据,其中,相关联的元数据可以用于将激光雷达原始数据转换成最终点云。
在一些实施例中,相关联的元数据包括仰角,例如,N射线激光雷达传感器的一组仰角[θ12,…,θN]。
相关联的元数据还包括与校准相关的元数据。不同的激光雷达制造商可能有不同种类的校准元数据。
图20显示了表4的一组示例校准元数据。在一些示例中,对于一些特定的激光雷达,包括64个激光器并将其划分成2个块,即上块和下块,每个块具有32个激光器。对于N射线激光雷达,可以包括N组校准元数据参数。一些参数如表4所示。
相关联的元数据还包括与运动补偿相关的元数据。当在移动车辆上安装激光雷达传感器时,需要运动补偿,以将激光雷达原始数据的所有点对齐到一个公共坐标中,例如该激光雷达传感器在帧中最后一个旋转角度的局部坐标,即在旋转角
Figure BDA0003258756480000201
处。为了实现这一点,可能需要帧中每个旋转角度的传感器位置和方向。
在一些示例中,GPS、惯性测量单元(Inertial measurement unit,IMU)、测距传感器或相机用于在某个时间间隔获得激光雷达传感器的位置和方向。为了方便起见,激光雷达传感器在时间t处的位置和方向分别表示为[Tx(t),Ty(t),Tz(t)]和[α(t),β(t),γ(t)],两者都参考初始坐标系。注意,在示例中,可以使用诸如偏航角、滚动角和俯仰角的欧拉(Euler)角描述方向。在另一示例中,单位四元数,即[q0(t),q1(t),q2(t),q3(t)]用于表示在时间t处激光雷达传感器的方向。
因此,在一些实施例中,运动补偿的元数据是以下参数的序列MetaMotionComp(t)={[Tx(t),Ty(t),Tz(t)],[α(t),β(t),γ(t)]},其中t取离散时间集[t0,t1,…,tQ]中的值,其中[t0,tQ]覆盖激光雷达工作的时间范围,并且tq<tq+1,其中q=0,…,Q-1。
相关联元数据的压缩可以包括仰角的压缩、与校准相关的元数据的压缩以及与运动补偿相关的元数据的压缩。
在压缩仰角的实施例中,对于一组仰角[θ12,…,θN],取决于精度要求,使用一个4字节浮点数或一个2字节浮点数表示每个角,然后直接在比特流中传输角度而无需压缩。
在另一个实施例中,如果仰角[θ12,…,θN]已经排序,使得θnn+1for n=1,…,N-1,可以将角度量化为一组整数[Θ12,…,ΘN],其中,Θn=int(CΘ×θn+0.5),CΘ是为满足精度要求而选择的预定义常数。因此,在示例中,对于n=2,…,N,可以使用预定义的比特深度在比特流中发送Θ1和Δn=Θnn-1。注意,由于较小的动态范围,Δn的比特深度通常小于Θn的比特深度,从而节省了比特以实现压缩。
在压缩与校准有关的元数据的实施例中,类似于仰角,N射线激光雷达传感器的N组校准数据,表示为Metacalibration(i),i=1,…,N,可以在没有压缩的情况下在比特流中使用它们的本地表示发送。原因是这组元数据可以被激光雷达原始数据的所有帧共享。开销并不大。
在另一个实施例中,第一束激光的一组校准数据,Metacalibration(1),可以使用本地表示发送,然后可以发送其余激光射线的校准数据的增量,即,对于n=2,…,N,ΔMetacalibration(n)=Metacalibration(n)-Metacalibration(n-1)。因为ΔMetacalibration(n)通常比Metacalibration(n)具有更小的动态范围,因此,可以使用少量的比特来表示它们。这样,就可以实现压缩。
在压缩与运动补偿相关的元数据的实施例中,类似于仰角,对于[t0,t1,…,tQ]中的t,可以在比特流中使用它们的本地表示发送MetaMotionComp(t),无需压缩。
在另一个实施例中,对于q=1,…,Q,可以使用本地表示和增量信息发送MetaMotionComp(t0),即,ΔMetaMotionComp(tq)=Metacalibration(tq)-Metacalibration(tq-1)。因为ΔMetaMotioComp(n)通常比MetaMotioComp(n)具有更小的动态范围,因此可以使用较少数量的比特来表示它们。这样就可以实现压缩。
基于激光雷达原始数据和相关的元数据,可以构建最终的点云。可以使用任何合适的技术。
本公开的一些方面提供了使用3D极坐标系压缩点云(例如,笛卡尔坐标系中的最终点云)的技术。一些技术可以使用激光雷达原始数据信息压缩点云,一些技术可在没有激光雷达原始数据信息的情况下压缩点云。
在一些实施例中,可以使用3D极坐标系压缩具有激光雷达原始数据信息的点云。在一些示例中,最终点云(例如,基于激光雷达原始数据,校准和运动补偿构建)和最初的激光雷达原始数据信息可用。在3D极坐标系中,可以直接压缩最终点云。在以笛卡尔坐标表示最终点云的示例中,最终点云可以转换为3D极坐标系。例如,点云中的一个点可以表示为极坐标
Figure BDA0003258756480000211
和属性(i),其中,d表示距离,i表示强度。
图21显示了一个点云的表5,其中,该点云来自维度为NxM的2D矩阵的激光雷达。在一些示例中,激光雷达原始数据可以表示为一个2D矩阵,并且矩阵中的每个条目(dn,m,in,m)可以由一对角度参考,即,仰角θn和旋转角
Figure BDA0003258756480000212
通过校准和运动补偿得到最终点云,可以认为是对
Figure BDA0003258756480000213
元组的修改,修改后的元组表示为
Figure BDA0003258756480000214
注意,在一个示例中,也可以通过校准修改in,m。在一些实施例中,使用差异。例如,仰角差可以表示为δθn,m=θn,mn,旋转角差可以表示为
Figure BDA0003258756480000215
然后,最终的点云可以表示为表5中所示的2D矩阵。
在一些示例中,点云压缩操作可以包括几个子操作,例如,压缩一组仰角[θ12,…,θN](例如,如上所述),压缩一组旋转角
Figure BDA0003258756480000221
(例如,如上所述),对于n=1,…,n和m=1,…,M,压缩2D矩阵
Figure BDA0003258756480000222
在一个实施例中,使用K-D树压缩2D矩阵。在另一个实施例中,使用图像或视频压缩,对2D矩阵进行压缩。在一些示例中,将2D矩阵视为四个独立的图像,即,{δθn,m},
Figure BDA0003258756480000223
{d’n,m},{i'n,m}。在一些其他的示例中,可以将
Figure BDA0003258756480000224
视为YUV图像,其中,d’n,m是Y分量,并且,δθn,m,
Figure BDA0003258756480000225
是U,V分量,将{i'n,m}视为另一个图像。然后,使用上述图像压缩或视频压缩技术,可以分别压缩不同类似的图像。
在3D极坐标系中压缩最终点云的实施例中,不需要与校准和运动补偿相关的元数据,并且不需要校准和运动补偿将激光雷达原始数据转换为最终点云的操作。这种方法需要压缩一个2D矩阵,其中,该2D矩阵的每个条目为一个4元组
Figure BDA0003258756480000226
而压缩激光雷达原始数据的方法仅需要压缩一个2D矩阵,其中,该2D矩阵的每个条目为一个2元组(dn,m,in,m)。
在一些实施例中,可以使用3D极坐标系,压缩没有激光雷达原始数据信息的点云(最终点云)。在这种情况下,最终点云通常用笛卡尔坐标{xk,yk,zk}表示,k=1,…,K,其中,K是点云中点的数量,以及相关的属性矢量,为简单起见,仅假设k=1,...,K的强度{ik}。
需要注意的是,最终的点云通常不包含激光雷达传感器捕获的所有点,因为激光雷达传感器的距离测量对于小距离或大距离不可靠,并且在生成最终点云时通常会丢弃相应的点。
为了压缩3D极坐标系的点云,可以执行四个主要步骤。
在第一步中,笛卡尔坐标{xk,yk,zk}可以转换为极坐标
Figure BDA0003258756480000227
在第二步中,极坐标
Figure BDA0003258756480000228
通过乘以预定义的标量并进行舍入运算,以预定义的精度量化为整数,k=1,...,K。
在第三步中,可以使用四叉树对
Figure BDA0003258756480000229
进行压缩。在一些示例中,可以类似于用于点云压缩的八叉树的概念,执行该步骤。
具体地,在一个例子中,可以找到点
Figure BDA00032587564800002210
其中,θmin<=θk,
Figure BDA00032587564800002211
Figure BDA00032587564800002212
然后,通过将点Pmin移动到原点,可以对
Figure BDA00032587564800002213
移位,以获得
Figure BDA00032587564800002214
其中,θ’k=θkmin,
Figure BDA00032587564800002215
此外,可以找到
Figure BDA00032587564800002216
的边界框。例如,可以确定θ’max
Figure BDA00032587564800002217
其中,θ’max>=θ’k,
Figure BDA00032587564800002218
边界框包括四个点
Figure BDA00032587564800002219
Figure BDA00032587564800002220
在一些示例中,为简单起见,选择方形边界框{(0,0),(0,bmax),(bmax,0),(bmax,bmax)},其中,bmax>=θ’max,bmax>=θ’max通常选择为2的整数次幂。
此外,将边界框划分为4个象限。如果一个象限中至少有一个点,则对应的占用标志为1,否则,占用标志为0,这样,经过一次分区就可以得到4比特的占用码。占用的象限可以进一步划分,直到达到每边为1的单位正方形。4比特占用代码可以使用具有上下文自适应的二进制或非二进制算术代码进行编码。
需要说明的是,在一个单位正方形中,可能存在多个坐标相同的点。在一些实施例中,单位正方形中所有点的信息可以合并为一个点。在一个示例中,分别对距离值和属性值进行平均,形成合并点的距离和属性。在一些示例中,当一个象限包括少量点(例如,2)时,可以停止分区,并对这些点的坐标信息进行编码。为简单起见,将这种模式称为直接模式。在一个实施例中,帧级或序列级的标志用于指示是否允许直接模式。在四叉树分区的叶节点处,使用标志指示是否开启直接模式。在一些示例中,当可以选择直接模式,并且仅在该条件(直接模式)下时,可以通过引入条件省略该标志。通常根据邻居节点的占用情况,选择条件。
在第四步,可以压缩距离{dk}和属性信息{ik}。在一些示例中,可以选择来自
Figure BDA0003258756480000231
平面中相邻点的预测,并且仅对距离值和属性值与其对应预测值的差异进行编码。在一些示例中,可以使用二维区域自适应分层变换(Region Adaptive HierarchicalTransform,RAHT),对距离信息和属性信息进行编码。
图22示出了根据本公开一个实施例的概述过程(2200)的流程图。可以在编码点云的编码过程中使用过程(2200)。在各种实施例中,过程(2200)由处理电路执行,例如,终端设备(110)中的处理电路、执行编码器(203)功能的处理电路、执行编码器(300)功能的处理电路等。在一些实施例中,在软件指令中实现过程(2200),因此当处理电路执行所述软件指令时,所述处理电路执行过程(2200)。所述过程开始于(S2201)并进行到(S2210)。
在(S2210),使用球坐标系表示点云中的点。球坐标系使用第一角度维度,第二角度维度和径向维度,因此每个点可以用第一角度维度中的第一角度坐标、第二角度维度中的第二角度坐标、径向维度中的径向坐标和至少一个属性值表示。
在一些实施例中,可以基于激光器,接收由激光雷达传感器感测的距离和强度,其中,该激光器以仰角布置,并且随时间旋转到旋转角。响应于以仰角设置的激光器在具有旋转角的时间发射的射线,感测距离和强度。一个点可以用第一角度维度中的旋转角度、第二角度维度中的仰角、径向维度中的距离表示,并且强度是属性值。
在(S2220),形成一个2D矩阵的至少一帧。2D矩阵具有对应于第一角度维度的第一维度,和对应于第二角度维度的第二维度。可以根据点的第一角度坐标和第二角度坐标,将点作为元素放置在2D矩阵中。在激光雷达的例子中,可以根据旋转角和仰角,将点作为元素放置在2D矩阵中。
在(S2230),压缩2D矩阵的数据。在一些示例中,将2D矩阵转换为一个或多个图像。
在(S2240),生成携带2D矩阵的压缩数据的比特流。在一些示例中,可以使用任何合适的图像压缩和视频压缩技术,压缩所述一个或多个图像。然后,过程进行到(S2299)并终止。
图23示出了根据本公开实施例的概述过程(2300)的流程图。可以在构建点云的解码过程中使用过程(2300)。在各种实施例中,由处理电路执行过程(2300)。过程开始于(S2301),并进行到(S2310)。
在(S2310),将接收到的比特流,对应于光检测与测距(激光雷达)传感器感测的点云,划分为第一比特流和第二比特流。其中,第一比特流对应于激光雷达传感器感测的数据。第二比特流对应于元数据,其中,元数据至少包含激光雷达传感器的校准和运动补偿信息。
在(S2320),解压缩第一比特流,获得由激光雷达传感器基于以仰角布置的并随时间旋转到旋转角的激光器感测到的距离和强度。响应于以仰角布置的激光器在具有旋转角的时间发射的射线,感测距离和强度。
在(S2330),解压缩第二比特流,获得元数据,其中,元数据至少包括激光雷达传感器的校准和运动补偿信息。
在(S2340),基于仰角和旋转角感测到的距离和强度,构建最终点云,并且,元数据至少包括校准和运动补偿。然后,过程执行到(S2399)并终止。
上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图24示出了计算机系统(2400),其适于实现所公开主题的某些实施例。
所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由一个或多个计算机中央处理单元(CPU),图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。
所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
图24所示的用于计算机系统(2400)的组件本质上是示例性的,并不用于对实现本公开实施例的计算机软件的使用范围或功能进行任何限制。也不应将组件的配置解释为与计算机系统(2400)的示例性实施例中所示的任一组件或其组合具有任何依赖性或要求。
计算机系统(2400)可以包括某些人机界面输入设备。这种人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出),对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕获某些媒体,气与人类有意识的输入不必直接相关,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如2D视频、包括立体视频的3D视频)。
人机界面输入设备可包括以下中的一个或多个(仅绘出其中一个):键盘(2401)、鼠标(2402)、触控板(2403)、触摸屏(2410)、数据手套(未示出)、操纵杆(2405)、麦克风(2406)、扫描仪(2407)、照相机(2408)。
计算机系统(2400)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机界面输出设备可包括触觉输出设备(例如通过触摸屏(2410)、数据手套(未示出)或操纵杆(2405)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(2409)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕(2410),其中每一个都具有或没有触摸屏输入功能、每一个都具有或没有触觉反馈功能——其中一些可通过诸如立体画面输出的手段输出2D视觉输出或3D以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。
计算机系统(2400)还可以包括人可访问的存储设备及其相关介质,如包括具有CD/DVD的高密度只读/可重写式光盘(CD/DVD ROM/RW)(2420)或类似介质(2421)的光学介质、拇指驱动器(2422)、可移动硬盘驱动器或固体状态驱动器(2423),诸如磁带和软盘(未示出)的传统磁介质,诸如安全软件保护器(未示出)等的基于ROM/ASIC/PLD的专用设备,等等。
本领域技术人员还应当理解,结合所公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
计算机系统(2400)还可以包括通往一个或多个通信网络的接口。例如,网络可以是无线的、有线的、光学的。网络还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。网络还包括以太网、无线局域网、蜂窝网络(GSM、3G、4G、5G、LTE等)等局域网、电视有线或无线广域数字网络(包括有线电视、卫星电视、和地面广播电视)、车载和工业网络(包括CANBus)等等。某些网络通常需要外部网络接口适配器,用于连接到某些通用数据端口或外围总线(2449)(例如,计算机系统(2400)的USB端口);其它系统通常通过连接到如下所述的系统总线集成到计算机系统(2400)的核心(例如,以太网接口集成到PC计算机系统或蜂窝网络接口集成到智能电话计算机系统)。通过使用这些网络中的任何一个,计算机系统(2400)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如CAN总线到某些CAN总线设备),或双向的,例如通过局域或广域数字网络到其它计算机系统。上述的每个网络和网络接口可使用某些协议和协议栈。
上述的人机界面设备、人可访问的存储设备以及网络接口可以连接到计算机系统(2400)的核心(2440)。
核心(2440)可包括一个或多个中央处理单元(CPU)(2441)、图形处理单元(GPU)(2442)、以现场可编程门阵列(FPGA)(2443)形式的专用可编程处理单元、用于特定任务的硬件加速器(2444)等。这些设备以及只读存储器(ROM)(2445)、随机存取存储器(2446)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、固态硬盘等)(2447)等可通过系统总线(2448)进行连接。在某些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(2448),以便可通过额外的中央处理单元、图形处理单元等进行扩展。外围装置可直接附接到核心的系统总线(2448),或通过外围总线(2449)进行连接。外围总线的体系结构包括外部控制器接口PCI、通用串行总线USB等。
CPU(2441)、GPU(2442)、FPGA(2443)和加速器(2444)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(2445)或RAM(2446)中。过渡数据也可以存储在RAM(2446)中,而永久数据可以存储在例如内部大容量存储器(2447)中。通过使用高速缓冲存储器可实现对任何存储器设备的快速存储和检索,高速缓冲存储器可与一个或多个CPU(2441)、GPU(2442)、大容量存储器(2447)、ROM(2445)、RAM(2446)等紧密关联。
所述计算机可读介质上可具有计算机代码,用于执行各种计算机实现的操作。介质和计算机代码可以是为本公开的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
作为实施例而非限制,具有体系结构(2400)的计算机系统,特别是核心(2440),可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供执行包含在一个或多个有形的计算机可读介质中的软件的功能。这种计算机可读介质可以是与上述的用户可访问的大容量存储器相关联的介质,以及具有非易失性的核心(2440)的特定存储器,例如核心内部大容量存储器(2447)或ROM(2445)。实现本公开的各种实施例的软件可以存储在这种设备中并且由核心(2440)执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心(2440)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在RAM(2446)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机系统可以提供逻辑硬连线或以其它方式包含在电路(例如,加速器(2444))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包含执行逻辑的电路,或两者兼备。本公开包括任何合适的硬件和软件组合。
虽然本公开已对多个示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本公开的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本公开的原则,因此属于本公开的精神和范围之内。

Claims (20)

1.一种在编码器中进行点云编码的方法,其特征在于,包括:
处理器使用球坐标系表示点云中的多个点,其中,所述球坐标系具有第一角度维度、第二角度维度和径向维度,一个点由所述第一角度维度中的第一角度坐标,所述第二角度维度中的第二角度坐标,所述径向维度中的径向坐标和至少一个属性值表示;
所述处理器形成具有第一维度和第二维度的至少一个二维2D矩阵,其中,所述第一维度对应于所述第一角度维度,所述第二维度对应于所述第二角度维度,基于所述第一角度坐标和所述第二角度坐标,将所述点作为一个元素放置在所述2D矩阵中;
所述处理器压缩所述2D矩阵的数据;以及,
所述处理器生成包括所述2D矩阵的压缩数据的比特流。
2.根据权利要求1所述的方法,进一步包括:
接收由光检测和测距(激光雷达)传感器基于激光器感测的距离和强度,其中,所述激光器以仰角布置并随时间旋转到旋转角,响应于以仰角布置的所述激光器在具有旋转角的时间发射的射线感测距离和强度;
使用所述第一角度维度中的所述旋转角、所述第二角度维度中的所述仰角、所述径向维度中的所述距离,以及所述强度表示所述点,其中,所述强度为所述属性值;
基于所述旋转角和所述仰角,将所述点作为元素放置在所述2D矩阵中;
将所述2D矩阵转换为一个或多个图像;以及,
压缩所述一个或多个图像。
3.根据权利要求2所述的方法,进一步包括:
将所述2D矩阵转换为第一2D图像和第二2D图像,其中,所述第一2D图像的像素值对应于所述2D矩阵中点的距离,所述第二2D图像的像素值对应于所述2D矩阵中点的强度,以及,
压缩所述第一2D图像和所述第二2D图像。
4.根据权利要求2所述的方法,进一步包括:
将所述2D矩阵转换为2D图像,其中,所述2D图像中的像素对应于所述点,所述像素具有像素颜色,所述点的距离为第一颜色分量,并且所述点的强度为第二颜色分量;以及,
压缩所述2D图像。
5.根据权利要求2所述的方法,其中,所述2D矩阵是对应于完整旋转的2D矩阵的第一帧,并且所述方法进一步包括:
至少形成2D矩阵的第二帧,其中,所述2D矩阵对应于与所述第一帧具有时间差的另一个完整旋转;
至少将所述2D矩阵的第二帧与所述2D矩阵的第一帧堆叠成多帧矩阵;
将所述多帧矩阵转换为一个或多个图像;以及,
压缩所述一个或多个图像。
6.根据权利要求2所述的方法,进一步包括:
形成分别对应于不同时间的所述2D矩阵的帧序列;
从所述帧序列生成分别对应所述不同时间的图像序列;
基于图像压缩分别压缩所述图像序列。
7.根据权利要求2所述的方法,进一步包括:
形成分别对应于不同时间的所述2D矩阵的帧序列;
从所述帧序列生成分别对应所述不同时间的图像序列;以及,
基于视频压缩压缩所述图像序列。
8.根据权利要求2所述的方法,进一步包括:
将所述第一角度维度中的一组旋转角与所述2D矩阵相关联。
9.根据权利要求2所述的方法,进一步包括:
生成第一比特流,其中,所述第一比特流包括所述一个或多个图像的压缩数据;
生成第二比特流,其中,所述第二比特流包括激光雷达传感器的校准和运动补偿;以及,
将所述第一比特流和所述第二比特流组合成组合比特流。
10.根据权利要求2所述的方法,进一步包括:
基于校准和运动补偿,修改所述2D矩阵中的点,其中,所述2D矩阵中的修改点包括旋转角调整、仰角调整、修改的距离和修改的强度;
将所述2D矩阵转换为一个或多个图像;以及,
压缩所述一个或多个图像。
11.一种点云编码装置,其特征在于,包括处理电路,用于:
使用球坐标系表示点云中的多个点,其中,所述球坐标系具有第一角度维度、第二角度维度和径向维度,一个点由所述第一角度维度中的第一角度坐标,所述第二角度维度中的第二角度坐标,所述径向维度中的径向坐标和至少一个属性值表示;
形成具有第一维度和第二维度的至少一个二维2D矩阵,其中,所述第一维度对应于所述第一角度维度,所述第二维度对应于所述第二角度维度,基于所述第一角度坐标和所述第二角度坐标,将所述点作为一个元素放置在所述2D矩阵中;
压缩所述2D矩阵的数据;以及,
生成包括所述2D矩阵的压缩数据的比特流。
12.根据权利要求11所述的装置,其中,所述处理电路用于:
接收由光检测和测距(激光雷达)传感器基于激光器感测的距离和强度,其中,所述激光器以仰角布置并随时间旋转到旋转角,响应于以仰角布置的所述激光器在具有旋转角的时间发射的射线感测距离和强度;
使用所述第一角度维度中的所述旋转角、所述第二角度维度中的所述仰角、所述径向维度中的所述距离,以及所述强度表示所述点,其中,所述强度为所述属性值;
基于所述旋转角和所述仰角,将所述点作为元素放置在所述2D矩阵中;
将所述2D矩阵转换为一个或多个图像;以及,
压缩所述一个或多个图像。
13.根据权利要求12所述的装置,其中,所述处理电路用于:
将所述2D矩阵转换为第一2D图像和第二2D图像,其中,所述第一2D图像的像素值对应于所述2D矩阵中点的距离,所述第二2D图像的像素值对应于所述2D矩阵中点的强度,以及,
压缩所述第一2D图像和所述第二2D图像。
14.根据权利要求12所述的装置,其中,所述处理电路用于:
将所述2D矩阵转换为2D图像,其中,所述2D图像中的像素对应于所述点,所述像素具有像素颜色,所述点的距离为第一颜色分量,并且所述点的强度为第二颜色分量;以及,
压缩所述2D图像。
15.根据权利要求12所述的装置,其中,所述2D矩阵是对应于完整旋转的2D矩阵的第一帧,并且所述处理电路用于:
至少形成2D矩阵的第二帧,其中,所述2D矩阵对应于与所述第一帧具有时间差的另一个完整旋转;
至少将所述2D矩阵的第二帧与所述2D矩阵的第一帧堆叠成多帧矩阵;
将所述多帧矩阵转换为一个或多个图像;以及,
压缩所述一个或多个图像。
16.根据权利要求12所述的装置,其中,所述处理电路用于:
形成分别对应于不同时间的所述2D矩阵的帧序列;
从所述帧序列生成分别对应所述不同时间的图像序列;
基于图像压缩分别压缩所述图像序列。
17.根据权利要求12所述的装置,其中,所述处理电路用于:
形成分别对应于不同时间的所述2D矩阵的帧序列;
从所述帧序列生成分别对应所述不同时间的图像序列;以及,
基于视频压缩压缩所述图像序列。
18.根据权利要求12所述的装置,其中,所述处理电路用于:
生成第一比特流,其中,所述第一比特流包括所述一个或多个图像的压缩数据;
生成第二比特流,其中,所述第二比特流包括激光雷达传感器的校准和运动补偿;以及,
将所述第一比特流和所述第二比特流组合成组合比特流。
19.根据权利要求12所述的装置,其中,所述处理电路用于:
基于校准和运动补偿,修改所述2D矩阵中的点,其中,所述2D矩阵中的修改点包括旋转角调整、仰角调整、修改的距离和修改的强度;
将所述2D矩阵转换为一个或多个图像;以及,
压缩所述一个或多个图像。
20.一种点云构建方法,其特征在于,包括:
处理器将接收到的比特流,对应于光检测与测距(激光雷达)传感器感测的点云,划分为第一比特流和第二比特流,其中,所述第一比特流对应于激光雷达传感器感测的数据,所述第二比特流对应于元数据,所述元数据至少包含所述激光雷达传感器的校准和运动补偿信息;
所述处理器解压缩所述第一比特流,获得由所述激光雷达传感器基于以仰角布置的并随时间旋转到旋转角的激光器感测到的距离和强度,响应于以仰角布置的激光器在具有旋转角的时间发射的射线,感测距离和强度;
所述处理器解压缩所述第二比特流,获得所述元数据,其中,所述元数据至少包括所述激光雷达传感器的校准和运动补偿信息;以及,
所述处理器基于仰角和旋转角感测到的距离和强度,构建最终点云,并且,所述元数据至少包括所述校准和所述运动补偿。
CN202080020653.XA 2019-06-11 2020-06-08 点云编码方法、点云构建方法、点云编码装置和存储介质 Active CN113574567B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962860144P 2019-06-11 2019-06-11
US62/860,144 2019-06-11
US16/893,311 US11461932B2 (en) 2019-06-11 2020-06-04 Method and apparatus for point cloud compression
US16/893,311 2020-06-04
PCT/US2020/036601 WO2020251888A1 (en) 2019-06-11 2020-06-08 Method and apparatus for point cloud compression

Publications (2)

Publication Number Publication Date
CN113574567A true CN113574567A (zh) 2021-10-29
CN113574567B CN113574567B (zh) 2024-07-19

Family

ID=73745175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080020653.XA Active CN113574567B (zh) 2019-06-11 2020-06-08 点云编码方法、点云构建方法、点云编码装置和存储介质

Country Status (5)

Country Link
US (1) US11461932B2 (zh)
EP (1) EP3983999A4 (zh)
JP (1) JP7266686B2 (zh)
CN (1) CN113574567B (zh)
WO (1) WO2020251888A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024087454A1 (zh) * 2022-10-25 2024-05-02 上海易澳科技有限公司 激光点云数据的处理方法、装置、存储介质及设备

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11315289B2 (en) * 2019-09-30 2022-04-26 Nokia Technologies Oy Adaptive depth guard band
US11373276B2 (en) * 2020-01-09 2022-06-28 Tencent America LLC Techniques and apparatus for alphabet-partition coding of transform coefficients for point cloud compression
US11871037B2 (en) * 2020-06-26 2024-01-09 Qualcomm Incorporated Sorted laser angles for geometry-based point cloud compression (G-PCC)
WO2022005159A1 (ko) * 2020-06-29 2022-01-06 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 전송 방법, 처리 장치 및 처리 방법
WO2022071506A1 (ja) * 2020-10-02 2022-04-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US20220108487A1 (en) * 2020-10-07 2022-04-07 Qualcomm Incorporated Motion estimation in geometry point cloud compression
EP4020816A1 (en) 2020-12-23 2022-06-29 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data captured by a spinning sensors head
US20240046524A1 (en) 2020-12-23 2024-02-08 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of entropy encoding/decoding point cloud geometry data captured by a spinning sensors head
WO2022153835A1 (ja) * 2021-01-14 2022-07-21 ソニーグループ株式会社 情報処理装置および方法
EP4071719B1 (en) * 2021-04-09 2023-10-18 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data captured by a spinning sensors head
WO2022260115A1 (ja) * 2021-06-11 2022-12-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2023276820A1 (ja) * 2021-07-02 2023-01-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN117561543A (zh) * 2021-07-07 2024-02-13 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
WO2023018211A1 (ko) * 2021-08-13 2023-02-16 엘지전자 주식회사 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치
EP4141794A1 (en) * 2021-08-31 2023-03-01 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
EP4142290A1 (en) * 2021-08-31 2023-03-01 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
EP4141795A1 (en) * 2021-08-31 2023-03-01 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
CN114124909B (zh) * 2021-09-14 2023-03-14 福州大学 基于激光雷达的点云实时采集压缩传输系统及方法
EP4156107A1 (en) * 2021-09-24 2023-03-29 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
EP4160534A1 (en) * 2021-09-30 2023-04-05 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
WO2023090614A1 (ko) * 2021-11-19 2023-05-25 현대자동차주식회사 라이다 포인트 클라우드 코딩을 위한 방법 및 장치
WO2023116897A1 (en) * 2021-12-24 2023-06-29 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding
WO2023202136A1 (zh) * 2022-04-22 2023-10-26 上海禾赛科技有限公司 用于激光雷达的数据处理方法、数据处理装置及激光雷达系统
CN114937081B (zh) * 2022-07-20 2022-11-18 之江实验室 基于独立非均匀增量采样的网联车位置估计方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014171988A2 (en) * 2013-01-29 2014-10-23 Andrew Robert Korb Methods for analyzing and compressing multiple images
US20180106896A1 (en) * 2016-04-15 2018-04-19 Mohsen Rohani Systems and methods for environment sensing using radar
US20190120948A1 (en) * 2017-10-19 2019-04-25 DeepMap Inc. Lidar and camera synchronization
US20190122393A1 (en) * 2017-10-21 2019-04-25 Samsung Electronics Co., Ltd Point cloud compression using hybrid transforms

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009155531A2 (en) * 2008-06-19 2009-12-23 University Of Utah Research Foundation Generating point clouds
EP2783350A4 (en) 2011-11-25 2016-06-22 Thomson Licensing METHODS AND APPARATUS FOR THREE-DIMENSIONAL MODEL COMPRESSION BASED ON REFLECTION SYMMETRY
US9940727B2 (en) 2014-06-19 2018-04-10 University Of Southern California Three-dimensional modeling from wide baseline range scans

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014171988A2 (en) * 2013-01-29 2014-10-23 Andrew Robert Korb Methods for analyzing and compressing multiple images
US20180106896A1 (en) * 2016-04-15 2018-04-19 Mohsen Rohani Systems and methods for environment sensing using radar
US20190120948A1 (en) * 2017-10-19 2019-04-25 DeepMap Inc. Lidar and camera synchronization
US20190122393A1 (en) * 2017-10-21 2019-04-25 Samsung Electronics Co., Ltd Point cloud compression using hybrid transforms

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JAE-KYUN AHN 等: "Large-Scale 3D Point Cloud Compression Using Adaptive Radial Distance Prediction in Hybrid Coordinate Domains", pages 422 - 434, XP055534968, Retrieved from the Internet <URL:1932-4553, DOI: 10.1109/JSTSP.2014.2370752> DOI: 10.1109/JSTSP.2014.2370752 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024087454A1 (zh) * 2022-10-25 2024-05-02 上海易澳科技有限公司 激光点云数据的处理方法、装置、存储介质及设备

Also Published As

Publication number Publication date
WO2020251888A1 (en) 2020-12-17
EP3983999A1 (en) 2022-04-20
CN113574567B (zh) 2024-07-19
US20200394822A1 (en) 2020-12-17
EP3983999A4 (en) 2022-08-03
JP2022518888A (ja) 2022-03-17
JP7266686B2 (ja) 2023-04-28
US11461932B2 (en) 2022-10-04

Similar Documents

Publication Publication Date Title
CN113574567B (zh) 点云编码方法、点云构建方法、点云编码装置和存储介质
US11783512B2 (en) Attribute value of reconstructed position associated with plural original points
CN113892128A (zh) 点云编解码方法和装置
CN111641836B (zh) 点云压缩的方法、装置、计算机设备和存储介质
CN113519163B (zh) 点云压缩的方法、装置和存储介质
US20210329270A1 (en) Method and apparatus for point cloud coding
US11210813B2 (en) Method and apparatus for point cloud compression
CN111641834B (zh) 点云编码的方法和装置、计算机设备和存储介质
CN112399165B (zh) 解码方法及装置以及计算机设备和存储介质
CN112019845B (zh) 对点云进行编码的方法、装置以及存储介质
US20230298216A1 (en) Predictive coding of boundary geometry information for mesh compression
CN113892235A (zh) 用于点云译码的方法和设备
CN113615201B (zh) 点云压缩和解压缩的方法和装置
CN115152225A (zh) 用于点云译码的方法和设备
US12056904B2 (en) Mesh compression with constrained geometry dynamic range
RU2792020C1 (ru) Способ и устройство для кодирования облака точек
KR20240112296A (ko) 인스턴스 기반 메시 코딩을 위한 적응적 양자화
KR20240074813A (ko) 메시 코딩에서의 변위 벡터에 대한 로컬 좌표계의 고속 계산
CN118541733A (zh) 位置压缩中的网格顶点分组
CN116368523A (zh) Uv坐标编码
CN116635904A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40054975

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant