CN117178555A - 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 - Google Patents

点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 Download PDF

Info

Publication number
CN117178555A
CN117178555A CN202280029041.6A CN202280029041A CN117178555A CN 117178555 A CN117178555 A CN 117178555A CN 202280029041 A CN202280029041 A CN 202280029041A CN 117178555 A CN117178555 A CN 117178555A
Authority
CN
China
Prior art keywords
point cloud
data
cloud data
laser
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280029041.6A
Other languages
English (en)
Inventor
许惠桢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN117178555A publication Critical patent/CN117178555A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

根据实施例的点云数据发送方法可以包括步骤:对点云数据进行编码;以及发送包括点云数据的比特流。根据实施例的点云数据接收方法可以包括步骤:接收包括点云数据的比特流;以及解码点云数据。

Description

点云数据发送设备、点云数据发送方法、点云数据接收设备和 点云数据接收方法
技术领域
实施例涉及一种用于处理点云内容的方法和设备。
背景技术
点云内容是由点云表示的内容,其是属于表示三维空间的坐标系的点的集合。点云内容可表达以三个维度配置的媒体,并且用于提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自驾驶服务的各种服务。然而,需要数万至数十万的点数据来表示点云内容。因此,需要一种用于有效地处理大量点数据的方法。
发明内容
【技术问题】
实施例提供一种用于有效地处理点云数据的设备和方法。实施例提供一种用于解决时延和编码/解码复杂度的点云数据处理方法和设备。
实施例的技术范围不限于前述技术目的,并且可以扩展至本领域的技术人员基于本文所公开的整个内容可推断出的其他技术目的。
【技术方案】
为了实现这些目的和其他优点并且根据本公开的目标,如本文所体现和广泛描述的,发送点云数据的方法可以包括:对点云数据进行编码;以及发送包括点云数据的比特流。在本公开的另一方面中,一种接收点云数据的方法可以包括:接收包括点云数据的比特流;以及对点云数据进行解码。
【有益效果】
根据实施例的设备和方法可以有效地处理点云数据。
根据实施例的设备和方法可以提供高质量点云服务。
根据实施例的设备和方法可以提供点云内容以提供诸如VR服务和自驾驶服务的通用服务。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中且构成本申请的一部分,附图图示本公开的实施例并与描述一起用于说明本公开的原理。为了更好地理解下面描述的各种实施例,应该结合附图参考以下实施例的描述。贯穿附图将使用相同的附图标记来指代相同或相似的部分。在附图中:
图1示出根据实施例的示例性点云内容提供系统;
图2是图示根据实施例的点云内容提供操作的框图;
图3图示根据实施例的捕获点云视频的示例性处理;
图4图示根据实施例的示例性点云编码器;
图5示出根据实施例的体素的示例;
图6示出根据实施例的八叉树和占用码的示例;
图7示出根据实施例的邻居节点图案的示例;
图8图示根据实施例的每个LOD中的点配置的示例;
图9图示根据实施例的每个LOD中的点配置的示例;
图10图示根据实施例的点云解码器;
图11图示根据实施例的点云解码器;
图12图示根据实施例的发送设备;
图13图示根据实施例的接收设备;
图14图示根据实施例的结合点云数据发送/接收方法/设备可操作的示例性结构;
图15示出根据实施例的点云数据中包括的附加属性数据;
图16是示出根据实施例的用于点云数据的原点位置的示例的图。
图17示出根据实施例的原点位置的示例;
图18示出根据实施例的当没有激光角度时设置原点位置的示例;
图19示出根据实施例的基于激光角度的排序的示例;
图20示出根据实施例的生成激光组和预测树的示例;
图21图示根据实施例的点云数据发送设备;
图22图示根据实施例的点云数据接收设备;
图23示出根据实施例的包括点云数据和参数信息的比特流;
图24示出根据实施例的序列参数集;
图25示出根据实施例的几何参数集;
图26示出根据实施例的图块参数集;
图27示出根据实施例的几何切片报头;
图28图示根据实施例的发送点云数据的方法;以及
图29图示根据实施例的接收点云数据的方法。
具体实施方式
现在将详细参考本公开的优选实施例,其示例在附图中被图示。下面将参考附图给出的详细描述旨在解释本公开的示例性实施例,而非示出可以根据本公开实现的仅有实施例。以下详细描述包括具体细节以便于提供本公开的彻底理解。然而,对于本领域的技术人员而言将显而易见的是,本公开可以在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语已经选自本领域中广泛使用的通用术语,但是一些术语已经由申请人任意选择并且在以下描述中根据需要详细说明其含义。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图1示出根据实施例的示例性点云内容提供系统。
图1中所图示的点云内容提供系统可以包括发送设备10000和接收设备10004。发送设备10000和接收设备10004能够有线或无线通信以发送和接收点云数据。
根据实施例的点云数据发送设备10000可以取得(secure)和处理点云视频(或点云内容)并将其发送。根据实施例,发送设备10000可以包括固定站、基站收发器系统(BTS)、网络、人工智能(AI)设备和/或系统、机器人、AR/VR/XR设备和/或服务器。根据实施例,发送设备10000可以包括被配置成使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其他无线设备执行通信的设备、机器人、车辆、AR/VR/XR设备、便携式设备、家用电器、物联网(IoT)设备和AI设备/服务器。
根据实施例的发送设备10000包括点云视频获取器10001、点云视频编码器10002和/或发射器(或通信模块)10003。
根据实施例的点云视频获取器10001通过诸如捕获、合成或生成的处理过程来获取点云视频。点云视频是由点云表示的点云内容,其是被定位在3D空间中的点的集合,并且可以被称为点云视频数据。根据实施例的点云视频可以包括一个或更多个帧。一个帧表示静止图像/图片。因此,点云视频可以包括点云图像/帧/图片,并且可以被称为点云图像、帧或图片。
根据实施例的点云视频编码器10002对所获取的点云视频数据进行编码。点云视频编码器10002可以基于点云压缩编译对点云视频数据进行编码。根据实施例的点云压缩编译可以包括基于几何的点云压缩(G-PCC)编译和/或基于视频的点云压缩(V-PCC)编译或下一代编译。根据实施例的点云压缩编译不限于上述实施例。点云视频编码器10002可以输出包含编码的点云视频数据的比特流。比特流可以不仅包含编码的点云视频数据,而且包含与点云视频数据的编码有关的信令信息。
根据实施例的发射器10003发送包含编码的点云视频数据的比特流。根据实施例的比特流被封装在文件或片段(例如,流片段(streaming segment))中,并且通过诸如广播网络和/或宽带网络的各种网络发送。尽管图中未示出,发送设备10000可以包括被配置成执行封装操作的封装器(或封装模块)。根据实施例,封装器可以包括在发射器10003中。根据实施例,文件或片段可以通过网络发送到接收设备10004,或者存储在数字存储介质(例如,USB、SD、CD、DVD、蓝光、HDD、SSD等)中。根据实施例的发射器10003能够通过4G、5G、6G等网络与接收设备10004(或接收器10005)有线/无线通信。另外,发射器可以根据网络系统(例如,4G、5G或6G通信网络系统)执行必要的数据处理操作。发送设备10000可以按照按需方式发送封装的数据。
根据实施例的接收设备10004包括接收器10005、点云视频解码器10006和/或渲染器10007。根据实施例,接收设备10004可以包括被配置成使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其他无线设备执行通信的设备、机器人、车辆、AR/VR/XR设备、便携式设备、家用电器、物联网(IoT)设备和AI设备/服务器。
根据实施例的接收器10005从网络或存储介质接收包含点云视频数据的比特流或者其中封装比特流的文件/片段。接收器10005可以根据网络系统(例如,4G、5G、6G等的通信网络系统)执行必要的数据处理。根据实施例的接收器10005可以将所接收的文件/片段解封装并输出比特流。根据实施例,接收器10005可以包括被配置成执行解封装操作的解封装器(或解封装模块)。解封装器可以被实现为与接收器10005分离的元件(或组件)。
点云视频解码器10006将包含点云视频数据的比特流解码。点云视频解码器10006可以根据点云视频数据被编码的方法(例如,以点云视频编码器10002的操作的逆过程)来将点云视频数据解码。因此,点云视频解码器10006可以通过执行点云解压缩编译来将点云视频数据解码,该点云解压缩编译是点云压缩的逆过程。点云解压缩编译包括G-PCC编译。
渲染器10007渲染解码的点云视频数据。渲染器10007可以通过不仅渲染点云视频数据,而且渲染音频数据来输出点云内容。根据实施例,渲染器10007可以包括被配置成显示点云内容的显示器。根据实施例,显示器可以被实现为单独的设备或组件而非包括在渲染器10007中。
图中由虚线指示的箭头表示接收设备10004所获取的反馈信息的传输路径。反馈信息是反映与消费点云内容的用户的交互性的信息,并且包括关于用户的信息(例如,头定向信息、视口信息等)。具体地,当点云内容是用于需要与用户交互的服务(例如,自驾驶服务等)的内容时,反馈信息可以被提供给内容发送方(例如,发送设备10000)和/或服务提供商。根据实施例,反馈信息可以在接收设备10004以及发送设备10000中使用,或者可以不提供。
根据实施例的头定向信息是关于用户的头位置、定向、角度、运动等的信息。根据实施例的接收设备10004可以基于头定向信息来计算视口信息。视口信息可以是关于用户正在观看的点云视频的区域的信息。视点是用户通过其观看点云视频的点,并且可以指代视口区域的中心点。即,视口是以视点为中心的区域,并且区域的尺寸和形状可以由视场(FOV)确定。因此,除了头定向信息之外,接收设备10004还可以以基于设备所支持的垂直或水平FOV来提取视口信息。另外,接收设备10004执行凝视分析等以检查用户消费点云的方式、点云视频中用户凝视的区域、凝视时间等。根据实施例,接收设备10004可以将包括凝视分析结果的反馈信息发送到发送设备10000。根据实施例的反馈信息可以在渲染和/或显示过程中获取。根据实施例的反馈信息可以由包括在接收设备10004中的一个或更多个传感器取得。根据实施例,反馈信息可以由渲染器10007或单独的外部元件(或设备、组件等)取得。图1中的虚线表示发送渲染器10007所取得的反馈信息的过程。点云内容提供系统可以基于反馈信息来处理(编码/解码)点云数据。因此,点云视频数据解码器10006可以基于反馈信息来执行解码操作。接收设备10004可以将反馈信息发送到发送设备10000。发送设备10000(或点云视频数据编码器10002)可以基于反馈信息来执行编码操作。因此,点云内容提供系统可以基于反馈信息有效地处理必要数据(例如,与用户的头位置对应的点云数据)而非处理(编码/解码)整个点云数据,并将点云内容提供给用户。
根据实施例,发送设备10000可以被称为编码器、发送设备、发射器等,并且接收设备10004可以被称为解码器、接收设备、接收器等。
根据实施例的图1的点云内容提供系统中(通过获取/编码/传输/解码/渲染的一系列过程)处理的点云数据可以被称为点云内容数据或点云视频数据。根据实施例,点云内容数据可以用作涵盖与点云数据有关的元数据或信令信息的概念。
图1所图示的点云内容提供系统的元件可以由硬件、软件、处理器和/或其组合实现。
图2是图示根据实施例的点云内容提供操作的框图。
图2的框图示出图1中描述的点云内容提供系统的操作。如上所述,点云内容提供系统可以基于点云压缩编译(例如,G-PCC)来处理点云数据。
根据实施例的点云内容提供系统(例如,点云发送设备10000或点云视频获取器10001)可以获取点云视频(20000)。点云视频由属于用于表达3D空间的坐标系的点云表示。根据实施例的点云视频可以包括Ply(Polygon文件格式或斯坦福三角形(StanfordTriangle)格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可以包括一个或更多个Ply文件。Ply文件包含诸如点几何和/或属性的点云数据。几何包括点的位置。每个点的位置可以由表示三维坐标系(例如,由X、Y和Z轴组成的坐标系)的参数(例如,X、Y和Z轴的值)表示。属性包括点的属性(例如,关于每个点的纹理、颜色(YCbCr或RGB)、反射率r、透明度等的信息)。点具有一个或更多个属性。例如,点可以具有作为颜色的属性或者颜色和反射率两个属性。根据实施例,几何可以被称为位置、几何信息、几何数据等,并且属性可以被称为属性、属性信息、属性数据等。点云内容提供系统(例如,点云发送设备10000或点云视频获取器10001)可以从与点云视频获取过程有关的信息(例如,深度信息、颜色信息等)取得点云数据。
根据实施例的点云内容提供系统(例如,发送设备10000或点云视频编码器10002)可以对点云数据进行编码(20001)。点云内容提供系统可以基于点云压缩编译对点云数据进行编码。如上所述,点云数据可以包括点的几何和属性。因此,点云内容提供系统可以执行对几何进行编码的几何编码并输出几何比特流。点云内容提供系统可以执行对属性进行编码的属性编码并输出属性比特流。根据实施例,点云内容提供系统可以基于几何编码来执行属性编码。根据实施例的几何比特流和属性比特流可以被复用并作为一个比特流输出。根据实施例的比特流还可以包含与几何编码和属性编码有关的信令信息。
根据实施例的点云内容提供系统(例如,发送设备10000或发射器10003)可以发送编码的点云数据(20002)。如图1中所图示,编码的点云数据可以由几何比特流和属性比特流表示。另外,编码的点云数据可以与点云数据的编码相关的信令信息(例如,与几何编码和属性编码有关的信令信息)一起以比特流的形式发送。点云内容提供系统可以将承载编码的点云数据的比特流封装并以文件或片段的形式将其发送。
根据实施例的点云内容提供系统(例如,接收设备10004或接收器10005)可以接收包含编码的点云数据的比特流。另外,点云内容提供系统(例如,接收设备10004或接收器10005)可以将比特流解复用。
点云内容提供系统(例如,接收设备10004或点云视频解码器10005)可以将比特流中发送的编码的点云数据(例如,几何比特流、属性比特流)解码。点云内容提供系统(例如,接收设备10004或点云视频解码器10005)可以基于比特流中包含的与点云视频数据的编码有关的信令信息将点云视频数据解码。点云内容提供系统(例如,接收设备10004或点云视频解码器10005)可以将几何比特流解码以重构点的位置(几何)。点云内容提供系统可以通过基于重构的几何对属性比特流进行解码来重构点的属性。点云内容提供系统(例如,接收设备10004或点云视频解码器10005)可以根据重构的几何和解码的属性基于位置来重构点云视频。
根据实施例的点云内容提供系统(例如,接收设备10004或渲染器10007)可以渲染解码的点云数据(20004)。点云内容提供系统(例如,接收设备10004或渲染器10007)可以使用各种渲染方法来渲染通过解码过程解码的几何和属性。点云内容中的点可以被渲染为具有某个厚度的顶点、以对应顶点位置为中心的具有特定最小尺寸的立方体,或者以对应顶点位置为中心的圆。渲染的点云内容的全部或部分通过显示器(例如,VR/AR显示器、一般显示器等)提供给用户。
根据实施例的点云内容提供系统(例如,接收设备10004)可以取得反馈信息(20005)。点云内容提供系统可以基于反馈信息对点云数据进行编码和/或解码。根据实施例的点云内容提供系统的反馈信息和操作与参考图1描述的反馈信息和操作相同,并且因此省略其详细描述。
图3图示根据实施例的捕获点云视频的示例性过程。
图3图示参考图1至图2描述的点云内容提供系统的示例性点云视频捕获过程。
点云内容包括表示位于各种3D空间(例如,表示真实环境的3D空间、表示虚拟环境的3D空间等)中的对象和/或环境的点云视频(图像和/或视频)。因此,根据实施例的点云内容提供系统可以使用一个或更多个相机(例如,能够取得深度信息的红外相机、能够提取与深度信息对应的颜色信息的RGB相机等)、投影仪(例如,取得深度信息的红外图案投影仪)、LiDAR等来捕获点云视频。根据实施例的点云内容提供系统可以从深度信息提取由3D空间中的点组成的几何形状并且从颜色信息提取每个点的属性以取得点云数据。根据实施例的图像和/或视频可以基于面向内(inward-facing)技术和面向外(outward-facing)技术中的至少一个来捕获。
图3的左侧部分图示面向内技术。面向内技术指代通过定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的图像的技术。面向内技术可以被用于生成向用户提供关键对象的360度图像的点云内容(例如,向用户提供对象(例如,诸如角色、玩家、对象或演员的关键对象)的360度图像的VR/AR内容)。
图3的右侧部分图示面向外技术。面向外技术指代通过被定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的环境而非中心对象的图像的技术。面向外技术可以被用于生成提供从用户的视角出现的周围环境的点云内容(例如,可以提供给自驾驶车辆的用户的表示外部环境的内容)。
如图所示,可以基于一个或更多个相机的捕获操作来生成点云内容。在这种情况下,相机之间的坐标系可以不同,并且因此点云内容提供系统可以在捕获操作之前校准一个或更多个相机以设置全局坐标系。另外,点云内容提供系统可以通过将任意图像和/或视频与通过上述捕获技术捕获的图像和/或视频合成来生成点云内容。点云内容提供系统在生成表示虚拟空间的点云内容时可以不执行图3中描述的捕获操作。根据实施例的点云内容提供系统可以对捕获的图像和/或视频执行后处理。换言之,点云内容提供系统可以移除不想要的区域(例如,背景),识别捕获的图像和/或视频连接至的空间,并且当存在空间空洞时,执行填充空间空洞的操作。
点云内容提供系统可以通过对从每个相机取得的点云视频的点执行坐标变换来生成一条点云内容。点云内容提供系统可以基于每个相机的位置坐标对点执行坐标变换。因此,点云内容提供系统可以生成表示一个宽范围的内容,或者可以生成具有高密度点的点云内容。
图4图示根据实施例的示例性点云编码器。
图4示出图1的点云视频编码器10002的示例。点云编码器重构并编码点云数据(例如,点的位置和/或属性)以根据网络条件或应用来调节点云内容的质量(例如,无损、有损或接近无损)。当点云内容的总大小较大(例如,对于30fps给出60Gbps的点云内容)时,点云内容提供系统可能无法实时流传输内容。因此,点云内容提供系统可以基于最大目标比特率来重构点云内容以根据网络环境等提供点云内容。
如参考图1至图2描述的,点云编码器可以执行几何编码和属性编码。几何编码在属性编码之前执行。
根据实施例的点云编码器包括坐标变换器(变换坐标)40000、量化器(量化和移除点(体素化))40001、八叉树分析器(分析八叉树)40002和表面近似分析器(分析表面近似)40003、算术编码器(算术编码)40004、几何重构器(重构几何)40005、颜色变换器(变换颜色)40006、属性变换器(变换属性)40007、RAHT变换器(RAHT)40008、LOD生成器(生成LOD)40009、提升变换器(提升)40010、系数量化器(量化系数)40011和/或算术编码器(算术编码)40012。
坐标变换器40000、量化器40001、八叉树分析器40002、表面近似分析器40003、算术编码器40004和几何重构器40005可以执行几何编码。根据实施例的几何编码可以包括八叉树几何编码、直接编译、三联体(trisoup)几何编码和熵编码。直接编译和三联体几何编码选择性地或组合应用。几何编码不限于上述示例。
如图所示,根据实施例的坐标变换器40000接收位置并将其变换为坐标。例如,位置可以被变换为三维空间(例如,由XYZ坐标系表示的三维空间)中的位置信息。根据实施例的三维空间中的位置信息可以被称为几何信息。
根据实施例的量化器40001将几何量化。例如,量化器40001可以基于所有点的最小位置值(例如,X、Y和Z轴中的每一个上的最小值)来将点量化。量化器40001执行量化操作:将最小位置值与每个点的位置值之间的差乘以预设量化缩放(scale)值,并且然后通过对通过乘法获得的值进行舍入来寻找最近整数值。因此,一个或更多个点可以具有相同的量化位置(或位置值)。根据实施例的量化器40001基于量化位置执行体素化以重构量化点。如作为包含2D图像/视频信息的最小单元的像素的情况中那样,根据实施例的点云内容(或3D点云视频)的点可以包括在一个或更多个体素中。作为体积和像素的复合体的术语体素指代当基于表示3D空间的轴(例如,X轴、Y轴和Z轴)将3D空间划分成单元(单位=1.0)时生成的3D立方空间。量化器40001可以使3D空间中的点组与体素匹配。根据实施例,一个体素可以仅包括一个点。根据实施例,一个体素可以包括一个或更多个点。为了将一个体素表达为一个点,体素的中心的位置可以基于包括在体素中的一个或更多个点的位置来设置。在这种情况下,包括在一个体素中的所有位置的属性可以被组合并指配给体素。
根据实施例的八叉树分析器40002执行八叉树几何编译(或八叉树编译)以按八叉树结构呈现体素。八叉树结构表示基于八进制树结构与体素匹配的点。
根据实施例的表面近似分析器40003可以分析并近似八叉树。根据实施例的八叉树分析和近似是分析包含多个点的区域以有效地提供八叉树和体素化的过程。
根据实施例的算术编码器40004对八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。作为编码结果,生成几何比特流。
颜色变换器40006、属性变换器40007、RAHT变换器40008、LOD生成器40009、提升变换器40010、系数量化器40011和/或算术编码器40012执行属性编码。如上所述,一个点可以具有一个或更多个属性。根据实施例的属性编码同样应用于一个点所具有的属性。然而,当属性(例如,颜色)包括一个或更多个元素时,对每个元素独立地应用属性编码。根据实施例的属性编码包括颜色变换编译、属性变换编译、区域自适应分层变换(RAHT)编译、基于插值的分层最近邻居预测(预测变换)编译以及具有更新/提升步骤(提升变换)的基于插值的分层最近邻居预测编译。取决于点云内容,可以选择性地使用上述RAHT编译、预测变换编译和提升变换编译,或者可以使用一个或更多个编译方案的组合。根据实施例的属性编码不限于上述示例。
根据实施例的颜色变换器40006执行变换包括在属性中的颜色值(或纹理)的颜色变换编译。例如,颜色变换器40006可以变换颜色信息的格式(例如,从RGB到YCbCr)。可以根据包括在属性中的颜色值来可选地应用根据实施例的颜色变换器40006的操作。
根据实施例的几何重构器40005重构(解压缩)八叉树和/或近似八叉树。几何重构器40005基于分析点的分布的结果来重构八叉树/体素。重构的八叉树/体素可以被称为重构的几何(恢复的几何)。
根据实施例的属性变换器40007执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。如上所述,因为属性取决于几何,所以属性变换器40007可以基于重构的几何信息来变换属性。例如,基于包括在体素中的点的位置值,属性变换器40007可以变换该位置处的点的属性。如上所述,当基于包括在体素中的一个或更多个点的位置来设置体素的中心位置时,属性变换器40007变换一个或更多个点的属性。当执行三联体几何编码时,属性变换器40007可以基于三联体几何编码来变换属性。
属性变换器40007可以通过计算距每个体素的中心的位置(或位置值)特定位置/半径内的邻近点的属性或属性值(例如,每个点的颜色或反射率)的平均来执行属性变换。属性变换器40007可以在计算平均时根据从中心到每个点的距离来应用权重。因此,每个体素具有位置和计算的属性(或属性值)。
属性变换器40007可以基于K-D树或莫顿码(Morton code)搜索存在于距每个体素的中心位置特定位置/半径内的邻近点。K-D树是二叉搜索树,并且支持能够基于位置来管理点的数据结构,使得能够快速地执行最近邻搜索(NNS)。通过将表示所有点的3D位置的坐标(例如,(x,y,z))呈现为比特值并将比特混合来生成莫顿码。例如,当表示点位置的坐标为(5,9,1)时,坐标的比特值为(0101,1001,0001)。根据比特索引按z、y和x的顺序混合比特值产生010001000111。此值被表达为十进制数1095。即,具有坐标(5,9,1)的点的莫顿码值为1095。属性变换器40007可以基于莫顿码值对点进行排序并通过深度优先遍历过程执行NNS。在属性变换操作之后,当在用于属性编译的另一变换过程中需要NNS时,使用K-D树或莫顿码。
如图中所示,变换的属性被输入到RAHT变换器40008和/或LOD生成器40009。
根据实施例的RAHT变换器40008基于重构的几何信息来执行用于预测属性信息的RAHT编译。例如,RAHT变换器40008可以基于与八叉树中较低级别的节点相关联的属性信息来预测八叉树中较高级别的节点的属性信息。
根据实施例的LOD生成器40009生成细节级别(LOD)来执行预测变换编译。根据实施例的LOD是点云内容的细节程度。随着LOD值减小,指示点云内容的细节劣化。随着LOD值增大,指示点云内容的细节增强。点可以按LOD分类。
根据实施例的提升变换器40010执行基于权重来变换点云属性的提升变换编译。如上所述,可以可选地应用提升变换编译。
根据实施例的系数量化器40011基于系数来量化属性编译的属性。
根据实施例的算术编码器40012基于算术编译对量化的属性进行编码。
尽管图中未示出,但图4的点云编码器的元件可以由包括被配置成与包括在点云提供设备中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可以执行上述图4的点云编码器的元件的操作和/或功能中的至少一个。另外,一个或更多个处理器可以操作或执行用于执行图4的点云编码器的元件的操作和/或功能的软件程序和/或指令的集合。根据实施例的一个或更多个存储器可以包括高速随机存取存储器,或者包括非易失性存储器(例如,一个或更多个磁盘存储设备、闪存设备或其他非易失性固态存储器设备)。
图5示出根据实施例的体素的示例。
图5示出被定位在通过由作为X轴、Y轴和Z轴的三个轴所组成的坐标系表示的3D空间中的体素。如参考图4所述,点云编码器(例如,量化器40001)可以执行体素化。体素指代当基于表示3D空间的轴(例如,X轴、Y轴和Z轴)将3D空间划分成单元(单位=1.0)时生成的3D立方空间。图5示出通过八叉树结构生成的体素的示例,其中由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框被递归地细分。一个体素包括至少一个点。可以从与体素组的位置关系来估计体素的空间坐标。如上所述,体素具有如2D图像/视频的像素的属性(诸如颜色或反射率)。体素的细节与参考图4描述的那些相同,并且因此省略其描述。
图6示出根据实施例的八叉树和占用码的示例。
如参考图1至图4所描述的,点云内容提供系统(点云视频编码器10002)或点云编码器(例如,八叉树分析器40002)基于八叉树结构来执行八叉树几何编译(或八叉树编译)以有效地管理体素的区域和/或位置。
图6的上部示出八叉树结构。根据实施例的点云内容的3D空间由坐标系的轴(例如,X轴、Y轴和Z轴)表示。通过由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框的递归细分来创建八叉树结构。这里,2d可以被设置为构成围绕点云内容(或点云视频)的所有点的最小边界框的值。这里,d表示八叉树的深度。d的值在下面的等式中确定。在下面的等式中,(xint n,yint n,zint n)表示量化的点的位置(或位置值)。
d=Ceil(Log2(Max(x_n^int,y_n^int,z_n^int,n=1,...,N)+1))
如图6的上部的中间所示,整个3D空间可以根据分区被划分成八个空间。每个划分的空间由具有六个面的立方体表示。如图6的右上部所示,八个空间中的每一个基于坐标系的轴(例如,X轴、Y轴和Z轴)再次划分。因此,每个空间被划分成八个更小的空间。所划分的更小的空间也由具有六个面的立方体表示。应用该分区方案,直至八叉树的叶节点变为体素。
图6的下部示出八叉树占用码。生成八叉树的占用码以指示通过划分一个空间而生成的八个划分的空间中的每一个是否包含至少一个点。因此,单个占用码由八个子节点表示。每个子节点表示划分的空间的占用,并且子节点具有1比特的值。因此,占用码被表示为8比特码。即,当与子节点对应的空间中包含至少一个点时,节点被指配值1。当与子节点对应的空间中不包含点(空间为空)时,节点被指配值0。因为图6所示的占用码为00100001,所以指示与八个子节点当中的第三子节点和第八子节点对应的空间均包含至少一个点。如图所示,第三子节点和第八子节点中的每一个具有八个子节点,并且子节点由8比特占用码表示。附图示出第三子节点的占用码为10000111,并且第八子节点的占用码为01001111。根据实施例的点云编码器(例如,算术编码器40004)可以对占用码执行熵编码。为了增加压缩效率,点云编码器可以对占用码执行帧内/帧间编译。根据实施例的接收设备(例如,接收设备10004或点云视频解码器10006)基于占用码来重构八叉树。
根据实施例的点云编码器(例如,图4的点云编码器或八叉树分析器40002)可以执行体素化和八叉树编译以存储点位置。然而,点并不总是均匀分布在3D空间中,并且因此可能存在其中存在较少点的特定区域。因此,对整个3D空间执行体素化是低效的。例如,当特定区域包含很少点时,在该特定区域中不需要执行体素化。
因此,对于上述特定区域(或八叉树的叶节点以外的节点),根据实施例的点云编码器可以跳过体素化并执行直接编译,以直接对包括在特定区域中的点位置进行编译。根据实施例的直接编译点的坐标被称为直接编译模式(DCM)。根据实施例的点云编码器还可以基于表面模型执行三联体几何编码,其要基于体素来重构特定区域(或节点)中的点位置。三联体几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云解码器可以从网格表面生成点云。根据实施例的直接编译和三联体几何编码可以被选择性地执行。另外,根据实施例的直接编译和三联体几何编码可以与八叉树几何编译(或八叉树编译)组合执行。
为了执行直接编译,应该激活要使用直接模式以应用直接编译的选项。要应用直接编译的节点不是叶节点,并且在特定节点内应该存在小于阈值的点。另外,要应用直接编译的点的总数不应超过预设阈值。当满足上述条件时,根据实施例的点云编码器(或算术编码器40004)可以对点位置(或位置值)执行熵编译。
根据实施例的点云编码器(例如,表面近似分析器40003)可以确定八叉树的特定级别(小于八叉树的深度d的级别),并且可以从该级别开始使用表面模型以执行三联体几何编码,以基于体素来重构节点区域中的点位置(三联体模式)。根据实施例的点云编码器可以指定要应用三联体几何编码的级别。例如,当特定级别等于八叉树的深度时,点云编码器不在三联体模式下操作。换言之,仅当指定的级别小于八叉树的深度值时,根据实施例的点云编码器才可以在三联体模式下操作。根据实施例的指定级别的节点的3D立方区域被称为块。一个块可以包括一个或更多个体素。块或体素可以对应于拼块(brick)。几何被表示为每个块内的表面。根据实施例的表面可与块的每个边缘相交至多一次。
一个块具有12个边缘,并且因此一个块中存在至少12个交点。每个交点被称为顶点(或者最高点)。当共享边缘的所有块当中存在与边缘相邻的至少一个占用体素时,检测沿着边缘存在的顶点。根据实施例的占用体素指代包含点的体素。沿着边缘检测到的顶点位置是沿着共享边缘的所有块当中与边缘相邻的所有体素的边缘的平均位置。
一旦检测到顶点,根据实施例的点云编码器就可以对边缘的起点(x,y,z)、边缘的方向向量(Δx,Δy,Δz)和顶点位置值(边缘内的相对位置值)执行熵编码。当应用三联体几何编码时,根据实施例的点云编码器(例如,几何重构器40005)可以通过执行三角形重构、上采样和体素化过程来生成恢复的几何(重构的几何)。
被定位在块的边缘处的顶点确定穿过块的表面。根据实施例的表面是非平面多边形。在三角形重构过程中,基于边缘的起点、边缘的方向向量和顶点的位置值来重构由三角形表示的表面。三角形重构过程通过下述执行:i)计算每个顶点的质心值,ii)从每个顶点值减去中心值,并且iii)估计通过减法获得的值的平方和。
②/>③/>
估计和的最小值,并且根据具有最小值的轴执行投影过程。例如,当元素x是最小时,每个顶点相对于块的中心投影在x轴上,并且投影在(y,z)平面上。当通过(y,z)平面上的投影获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并且基于θ的值对顶点进行排序。下表示出根据顶点数量创建三角形的顶点组合。顶点从1至n排序。下表示出对于四个顶点,可以根据顶点组合构造两个三角形。第一个三角形可以由排序的顶点当中的顶点1、2和3组成,并且第二个三角形可以由排序的顶点当中的顶点3、4和1组成。
表2-1从排序为1,…,n的顶点形成的三角形
执行上采样过程以沿着三角形的边缘在中间添加点,并且执行体素化。所添加的点基于上采样因子和块的宽度来生成。添加的点被称为细化顶点。根据实施例的点云编码器可以将细化顶点体素化。另外,点云编码器可以基于体素化的位置(或位置值)来执行属性编码。
图7示出根据实施例的邻居节点图案的示例。
为了增加点云视频的压缩效率,根据实施例的点云编码器可以基于上下文自适应算术编译来执行熵编译。
如参考图1至图6所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或算术编码器40004)可以立即对占用码执行熵编译。另外,点云内容提供系统或点云编码器可以基于当前节点的占用码和邻近节点的占用来执行熵编码(帧内编码),或者基于先前帧的占用码执行熵编码(帧间编码)。根据实施例的帧表示同时生成的点云视频的集合。根据实施例的帧内编码/帧间编码的压缩效率可以取决于所参考的邻近节点的数量。当比特增加时,运算变得复杂,但是编码可以偏向一侧,这可以增加压缩效率。例如,当给出3比特上下文时,需要使用23=8种方法来执行编译。为编译划分的部分影响实现复杂度。因此,有必要满足适当级别的压缩效率和复杂度。
图7图示基于邻居节点的占用来获得占用图案的过程。根据实施例的点云编码器确定八叉树的每个节点的邻居节点的占用并且获得邻居图案的值。邻居节点图案被用于推断节点的占用图案。图7的左部分示出与节点对应的立方体(被定位在中间的立方体)以及与该立方体共享至少一个面的六个立方体(邻居节点)。图中所示的节点是相同深度的节点。图中所示的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻近节点的位置依次指配权重。
图7的右部分示出邻居节点图案值。邻居节点图案值是乘以占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点图案值为0至63。当邻居节点图案值为0时,指示节点的邻居节点当中不存在具有点的节点(无占用节点)。当邻居节点图案值为63时,指示所有邻居节点均是占用节点。如图所示,因为指配有权重1、2、4和8的邻居节点是占用节点,所以邻居节点图案值为15,即1、2、4和8之和。点云编码器可以根据邻居节点图案值执行编译(例如,当邻居节点图案值为63时,可以执行64种类型的编译)。根据实施例,点云编码器可以通过改变邻居节点图案值(例如,基于将64改变为10或6的表)来减少编译复杂度。
图8图示根据实施例的每个LOD中的点配置的示例。
如参考图1至图7描述的,在执行属性编码之前,编码的几何被重构(解压缩)。当应用直接编译时,几何重构操作可以包括改变直接编译的点的放置(例如,将直接编译的点放置在点云数据前面)。当应用三联体几何编码时,通过三角形重构、上采样和体素化来执行几何重构过程。因为属性取决于几何,所以基于重构的几何来执行属性编码。
点云编码器(例如,LOD生成器40009)可以按LOD对点进行分类(重新组织)。图中示出与LOD对应的点云内容。图中最左侧图片表示原始点云内容。图中左起第二个图片表示最低LOD中的点分布,并且图中最右侧图片表示最高LOD中的点分布。即,最低LOD中的点是稀疏分布的,并且最高LOD中的点是密集分布的。即,随着LOD在图底部所指示的箭头所指出的方向上升高,点之间的空间(或距离)变窄。
图9图示根据实施例的用于每个LOD的点配置的示例。
如参考图1至图8所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或LOD生成器40009)可以生成LOD。通过根据设置的LOD距离值(或欧几里得距离的集合)将点重新组织为细化级别的集合来生成LOD。LOD生成过程不仅由点云编码器执行,而且由点云解码器执行。
图9的上部示出分布在3D空间中的点云内容的点的示例(P0至P9)。在图9中,原始顺序表示在LOD生成之前点P0至P9的顺序。在图9中,基于LOD的顺序表示根据LOD生成的点的顺序。点按LOD重新组织。另外,高LOD包含属于较低LOD的点。如图9所示,LOD0包含P0、P5、P4和P2。LOD1包含LOD0的点、P1、P6和P3。LOD2包含LOD0的点、LOD1的点、P9、P8和P7。
如参考图4所描述的,根据实施例的点云编码器可以选择性地或组合地执行预测变换编译、提升变换编译和RAHT变换编译。
根据实施例的点云编码器可为点生成预测器以执行用于设置每个点的预测属性(或预测属性值)的预测变换编译。即,可以为N个点生成N个预测器。根据实施例的预测器可以基于每个点的LOD值、关于存在于每个LOD的设置距离内的邻近点的索引信息以及到邻近点的距离来计算权重(=1/距离)。
根据实施例的预测属性(或属性值)被设置为通过将每个点的预测器中设置的邻居点的属性(或属性值)(例如,颜色、反射率等)乘以基于到每个邻居点的距离计算的权重(或权重值)而获得的值的平均。根据实施例的点云编码器(例如,系数量化器40011)可以量化和逆量化通过从每个点的属性(属性值)减去预测属性(属性值)而获得的残差(可以称为残差属性、残差属性值或属性预测残差)。量化过程如下表所示配置。
表.属性预测残差量化伪代码
int PCCQuantization(int value,int quantStep){
if(value>=0){
return floor(value/quantStep+1.0/3.0);
}else{
return-floor(-value/quantStep+1.0/3.0);
}
}
表.属性预测残差逆量化伪代码
int PCCInverseQuantization(int value,int quantStep){
if(quantStep==0){
return value;
}else{
return value*quantStep;
}
}
当每个点的预测器具有邻居点时,根据实施例的点云编码器(例如,算术编码器40012)可以如上所述对量化和逆量化的残差值执行熵编译。当每个点的预测器没有邻居点时,根据实施例的点云编码器(例如,算术编码器40012)可以对对应点的属性执行熵编译,而不执行上述操作。
根据实施例的点云编码器(例如,提升变换器40010)可以生成每个点的预测器,设置计算的LOD并在预测器中注册邻居点,并且根据到邻居点的距离来设置权重,以执行提升变换编译。根据实施例的提升变换编译类似于上述预测变换编译,但不同之处在于,对属性值累积地应用权重。根据实施例对属性值累积地应用权重的过程配置如下。
1)创建用于存储每个点的权重值的阵列量化权重(QW)。QW的所有元素的初始值均为1.0。将预测器中注册的邻居节点的预测器索引的QW值乘以当前点的预测器的权重,并将通过乘法获得的值相加。
2)提升预测过程:从现有属性值减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
3)创建称为updateweight和update的临时阵列,并且将临时阵列初始化为零。
4)将通过将针对所有预测器计算的权重乘以存储在与预测器索引对应的QW中的权重而计算的权重累加到updateweight阵列,作为邻居节点的索引。将通过将邻居节点索引的属性值乘以所计算的权重而获得的值累加到update阵列。
5)提升更新过程:将所有预测器的update阵列的属性值除以预测器索引的updateweight阵列的权重值,并将现有属性值与通过除法获得的值相加。
6)针对所有预测器通过将通过提升更新过程更新的属性值乘以通过提升预测过程更新的权重(存储在QW中)来计算预测属性。根据实施例的点云编码器(例如,系数量化器40011)量化预测属性值。另外,点云编码器(例如,算术编码器40012)对量化属性值执行熵编码。
根据实施例的点云编码器(例如,RAHT变换器40008)可以执行RAHT变换编译,其中使用与八叉树中较低级别的节点相关联的属性来预测较高级别的节点的属性。RAHT变换编译是通过八叉树后向扫描进行属性帧内编译的示例。根据实施例的点云编码器从体素开始扫描整个区域并且在每一步重复将体素合并为更大的块的合并过程,直至到达根节点。仅对占用节点执行根据实施例的合并过程。不对空节点执行合并过程。对就在空节点上方的上节点执行合并过程。
下面的等式表示RAHT变换矩阵。在该等式中,表示级别l的体素的平均属性值。/>可以基于/>和/>来计算。/>
的权重为/>和/>
这里,是低通值并且在下一个较高级别的合并过程中使用。/>表示高通系数。每一步的高通系数被量化并经受熵编译(例如,由算术编码器400012编码)。权重被计算为/>通过/>和/>创建根节点如下。
如高通系数,gDC的值也被量化并经受熵编译。
图10图示根据实施例的点云解码器。
图10中图示的点云解码器是图1中描述的点云视频解码器10006的示例,并且可以执行与图1所图示的点云视频解码器10006的操作相同或相似的操作。如图所示,点云解码器可以接收包含在一个或更多个比特流中的几何比特流和属性比特流。点云解码器包括几何解码器和属性解码器。几何解码器对几何比特流执行几何解码并输出解码的几何。属性解码器基于解码的几何和属性比特流执行属性解码,并且输出解码的属性。解码的几何和解码的属性被用于重构点云内容(解码的点云)。
图11图示根据实施例的点云解码器。
图11所图示的点云解码器是图10所图示的点云解码器的示例,并且可以执行解码操作,其是在图1至图9中图示的点云编码器的编码操作的逆过程。
如参考图1和图10所描述的,点云解码器可以执行几何解码和属性解码。几何解码在属性解码之前执行。
根据实施例的点云解码器包括算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001、表面近似合成器(合成表面近似)11002和几何重构器(重构几何)11003、坐标逆变换器(逆变换坐标)11004、算术解码器(算术解码)11005、逆量化器(逆量化)11006、RAHT变换器11007、LOD生成器(生成LOD)11008、逆提升器(逆提升)11009和/或颜色逆变换器(逆变换颜色)11010。
算术解码器11000、八叉树合成器11001、表面近似合成器11002、几何重构器11003和坐标逆变换器11004可以执行几何解码。根据实施例的几何解码可以包括直接编译和三联体几何解码。直接编译和三联体几何解码选择性地应用。几何解码不限于上述示例,并且作为参考图1至图9描述的几何编码的逆过程执行。
根据实施例的算术解码器11000基于算术编译将所接收的几何比特流解码。算术解码器11000的操作对应于算术编码器40004的逆过程。
根据实施例的八叉树合成器11001可以通过从解码的几何比特流获取占用码(或关于作为解码结果取得的几何的信息)来生成八叉树。占用码如参考图1至图9详细描述那样配置。
当应用三联体几何编码时,根据实施例的表面近似合成器11002可以基于解码的几何和/或生成的八叉树来合成表面。
根据实施例的几何重构器11003可以基于表面和/或解码的几何重新生成几何。如参考图1至图9所描述的,选择性地应用直接编译和三联体几何编码。因此,几何重构器11003直接导入关于对其应用直接编译的点的位置信息并将其相加。当应用三联体几何编码时,几何重构器11003可以通过执行几何重构器40005的重构操作,例如,三角形重构、上采样和体素化,来重构几何。细节与参考图6描述的那些相同,并且因此省略其描述。重构的几何可以包括不包含属性的点云图片或帧。
根据实施例的坐标逆变换器11004可以通过基于重构的几何变换坐标来获取点位置。
算术解码器11005、逆量化器11006、RAHT变换器11007、LOD生成器11008、逆提升器11009和/或颜色逆变换器11010可以执行参考图10描述的属性解码。根据实施例的属性解码包括区域自适应分层变换(RAHT)解码、基于插值的分层最近邻居预测(预测变换)解码以及具有更新/提升步骤的基于插值的分层最近邻居预测(提升变换)解码。上述三个解码方案可以可选择性地使用,或者可以使用一个或更多个解码方案的组合。根据实施例的属性解码不限于上述示例。
根据实施例的算术解码器11005通过算术编译对属性比特流进行解码。
根据实施例的逆量化器11006逆量化关于解码的属性比特流或作为解码结果取得的属性的信息,并且输出逆量化的属性(或属性值)。可以基于点云编码器的属性编码选择性地应用逆量化。
根据实施例,RAHT变换器11007、LOD生成器11008和/或逆提升器11009可以处理重构的几何和逆量化的属性。如上所述,RAHT变换器11007、LOD生成器11008和/或逆提升器11009可以选择性地执行与点云编码器的编码对应的解码操作。
根据实施例的颜色逆变换器11010执行逆变换编译以逆变换包括在解码的属性中的颜色值(或纹理)。可以基于点云编码器的颜色变换器40006的操作选择性地执行颜色逆变换器11010的操作。
尽管图中未示出,图11的点云解码器的元件可以由包括被配置成与包括在点云提供设备中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可以执行上述图11的点云解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可以操作或执行用于执行图11的点云解码器的元件的操作和/或功能的软件程序和/或指令的集合。
图12图示根据实施例的发送设备。
图12所示的发送设备是图1的发送设备10000(或图4的点云编码器)的示例。图12所图示的发送设备可以执行与参考图1至图9描述的点云编码器的那些相同或相似的一个或更多个操作和方法。根据实施例的发送设备可以包括数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码生成器12003、表面模型处理器12004、帧内/帧间编译处理器12005、算术编译器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010、算术编译器12011和/或发送处理器12012。
根据实施例的数据输入单元12000接收或获取点云数据。数据输入单元12000可以执行与点云视频获取器10001的操作和/或获取方法(或参考图2描述的获取过程20000)相同或相似的操作和/或获取方法。
数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码生成器12003、表面模型处理器12004、帧内/帧间编译处理器12005和算术编译器12006执行几何编码。根据实施例的几何编码与参考图1至图9描述的几何编码相同或相似,并且因此省略其详细描述。
根据实施例的量化处理器12001量化几何(例如,点的位置值)。量化处理器12001的操作和/或量化与参考图4描述的量化器40001的操作和/或量化相同或相似。细节与参考图1至图9描述的那些相同。
根据实施例的体素化处理器12002将点的量化的位置值体素化。体素化处理器120002可以执行与参考图4描述的量化器40001的操作和/或体素化过程相同或相似的操作和/或过程。细节与参考图1至图9描述的那些相同。
根据实施例的八叉树占用码生成器12003基于八叉树结构对点的体素化的位置执行八叉树编译。八叉树占用码生成器12003可以生成占用码。八叉树占用码生成器12003可以执行与参考图4和图6描述的点云编码器(或八叉树分析器40002)的操作和/或方法相同或相似的操作和/或方法。细节与参考图1至图9描述的那些相同。
根据实施例的表面模型处理器12004可以基于表面模型执行三联体几何编码以基于体素重构特定区域(或节点)中的点位置。表面模型处理器12004可以执行与参考图4描述的点云编码器(例如,表面近似分析器40003)的操作和/或方法相同或相似的操作和/或方法。细节与参考图1至图9描述的那些相同。
根据实施例的帧内/帧间编译处理器12005可以对点云数据执行帧内/帧间编译。帧内/帧间编译处理器12005可以执行与参考图7描述的帧内/帧间编译相同或相似的编译。细节与参考图7描述的那些相同。根据实施例,帧内/帧间编译处理器12005可以被包括在算术编译器12006中。
根据实施例的算术编译器12006对点云数据的八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。算术编译器12006执行与算术编码器40004的操作和/或方法相同或相似的操作和/或方法。
根据实施例的元数据处理器12007处理关于点云数据的元数据,例如,设定值,并将其提供给诸如几何编码和/或属性编码的必要处理过程。另外,根据实施例的元数据处理器12007可以生成和/或处理与几何编码和/或属性编码有关的信令信息。根据实施例的信令信息可以与几何编码和/或属性编码分开编码。根据实施例的信令信息可以被交织。
颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010和算术编译器12011执行属性编码。根据实施例的属性编码与参考图1至图9描述的属性编码相同或相似,并且因此省略其详细描述。
根据实施例的颜色变换处理器12008执行颜色变换编译以变换包括在属性中的颜色值。颜色变换处理器12008可以基于重构的几何来执行颜色变换编译。重构的几何与参考图1至图9描述的相同。另外,其执行与参考图4描述的颜色变换器40006的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。
根据实施例的属性变换处理器12009执行属性变换以基于重构的几何和/或对其不执行几何编码的位置来变换属性。属性变换处理器12009执行与参考图4描述的属性变换器40007的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。根据实施例的预测/提升/RAHT变换处理器12010可以通过RAHT编译、预测变换编译和提升变换编译中的任一种或组合对变换的属性进行编译。预测/提升/RAHT变换处理器12010执行与参考图4描述的RAHT变换器40008、LOD生成器40009和提升变换器40010的操作相同或相似的至少一个操作。另外,预测变换编译、提升变换编译和RAHT变换编译与参考图1至图9描述的那些相同,并且因此省略其详细描述。
根据实施例的算术编译器12011可以基于算术编译对编译的属性进行编码。算术编译器12011执行与算术编码器400012的操作和/或方法相同或相似的操作和/或方法。
根据实施例的发送处理器12012可以发送包含编码的几何和/或编码的属性和元数据信息的每个比特流,或者发送配置有编码的几何和/或编码的属性和元数据信息的一个比特流。当根据实施例的编码的几何和/或编码的属性和元数据信息被配置成一个比特流时,比特流可以包括一个或更多个子比特流。根据实施例的比特流可以包含信令信息和切片数据,该信令信息包括用于序列级别信令的序列参数集(SPS)、用于几何信息编译信令的几何参数集(GPS)、用于属性信息编译信令的属性参数集(APS)和用于图块级别信令的图块参数集(TPS)。切片数据可以包括关于一个或更多个切片的信息。根据实施例的一个切片可以包括一个几何比特流Geom00以及一个或更多个属性比特流Attr00和Attr10
切片指代表示编译的点云帧的整体或部分的一系列语法元素。
根据实施例的TPS可以包括关于一个或更多个图块中的每个图块的信息(例如,关于边界框的坐标信息和高度/大小信息)。几何比特流可以包含报头和有效载荷。根据实施例的几何比特流的报头可以包含GPS中所包括的参数集标识符(geom_parameter_set_id)、图块标识符(geom_tile_id)和切片标识符(geom_slice_id),以及关于包含在有效载荷中的数据的信息。如上所述,根据实施例的元数据处理器12007可以生成和/或处理信令信息并将其发送到发送处理器12012。根据实施例,执行几何编码的元件和执行属性编码的元件可以如虚线所指示彼此共享数据/信息。根据实施例的发送处理器12012可以执行与发射器10003的操作和/或发送方法相同或相似的操作和/或发送方法。细节与参考图1和图2描述的那些相同,并且因此省略其描述。
图13图示根据实施例的接收设备。
图13所图示的接收设备是图1的接收设备10004(或图10和图11的点云解码器)的示例。图13所图示的接收设备可以执行与参考图1至图11描述的点云解码器的那些相同或相似的一个或更多个操作和方法。
根据实施例的接收设备可以包括接收器13000、接收处理器13001、算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体素化)13004、逆量化处理器13005、元数据解析器13006、算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施例的每个解码元件可以执行根据实施例的对应编码元件的操作的逆过程。
根据实施例的接收器13000接收点云数据。接收器13000可以执行与图1的接收器10005的操作和/或接收方法相同或相似的操作和/或接收方法。省略其详细描述。
根据实施例的接收处理器13001可以从所接收的数据获取几何比特流和/或属性比特流。接收处理器13001可以被包括在接收器13000中。
算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器13004和逆量化处理器13005可以执行几何解码。根据实施例的几何解码与参考图1至图10描述的几何解码相同或相似,并且因此省略其详细描述。
根据实施例的算术解码器13002可以基于算术编译对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编译相同或相似的操作和/或编译。
根据实施例的基于占用码的八叉树重构处理器13003可以通过从解码的几何比特流(或关于作为解码结果取得的几何的信息)获取占用码来重构八叉树。基于占用码的八叉树重构处理器13003执行与八叉树合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用三联体几何编码时,根据实施例的表面模型处理器13004可以基于表面模型方法来执行三联体几何解码和相关几何重构(例如,三角形重构、上采样、体素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何重构器11003的操作相同或相似的操作。
根据实施例的逆量化处理器13005可以逆量化解码的几何。
根据实施例的元数据解析器13006可以解析包含在所接收的点云数据中的元数据,例如,设定值。元数据解析器13006可以将元数据传递给几何解码和/或属性解码。元数据与参考图12描述的元数据相同,并且因此省略其详细描述。
算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参考图1至图10描述的属性解码相同或相似,并且因此省略其详细描述。
根据实施例的算术解码器13007可以通过算术编译对属性比特流进行解码。算术解码器13007可以基于重构的几何对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或编译相同或相似的操作和/或编译。
根据实施例的逆量化处理器13008可以逆量化解码的属性比特流。逆量化处理器13008执行与逆量化器11006的操作和/或逆量化方法相同或相似的操作和/或方法。
根据实施例的预测/提升/RAHT逆变换处理器13009可以处理重构的几何和逆量化的属性。预测/提升/RAHT逆变换处理器13009执行与RAHT变换器11007、LOD生成器11008和/或逆提升器11009的操作和/或解码相同或相似的一个或更多个操作和/或解码。根据实施例的颜色逆变换处理器13010执行逆变换编译以逆变换包括在解码的属性中的颜色值(或纹理)。颜色逆变换处理器13010执行与颜色逆变换器11010的操作和/或逆变换编译相同或相似的操作和/或逆变换编译。根据实施例的渲染器13011可以渲染点云数据。
图14图示根据实施例的结合点云数据发送/接收方法/设备可操作的示例性结构。
图14的结构表示服务器1460、机器人1410、自驾驶车辆1420、XR设备1430、智能电话1440、家用电器1450和/或头戴式显示器(HMD)1470中的至少一个连接到云网络1400的配置。机器人1410、自驾驶车辆1420、XR设备1430、智能电话1440或家用电器1450被称为设备。此外,XR设备1430可以对应于根据实施例的点云数据(PCC)设备或者可操作上连接到PCC设备。
云网络1400可以表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络1400可以使用3G网络、4G或长期演进(LTE)网络或5G网络来配置。
服务器1460可以经由云网络1400连接到机器人1410、自驾驶车辆1420、XR设备1430、智能电话1440、家用电器1450和/或HMD 1470中的至少一个,并且可以辅助连接的设备1410至1470的至少一部分处理。
HMD 1470表示根据实施例的XR设备和/或PCC设备的实现类型之一。根据实施例的HMD型设备包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
以下,将描述应用了上述技术的设备1410至1450的各种实施例。图14所图示的设备1410至1450可以可操作地连接/耦合到根据上述实施例的点云数据发送/接收设备。
<PCC+XR>
XR/PCC设备1430可以采用PCC技术和/或XR(AR+VR)技术,并且可以被实现为HMD、提供在车辆中的平视显示器(HUD)、电视、移动电话、智能电话、计算机、可穿戴设备、家用电器、数字标牌、车辆、固定机器人或移动机器人。
XR/PCC设备1430可以分析通过各种传感器或从外部设备获取的3D点云数据或图像数据并生成关于3D点的位置数据和属性数据。由此,XR/PCC设备1430可以获取关于周围空间或真实对象的信息,并且渲染和输出XR对象。例如,XR/PCC设备1430可以使包括关于所识别的对象的辅助信息的XR对象与所识别的对象匹配并输出匹配的XR对象。
<PCC+XR+移动电话>
XR/PCC设备1430可以通过应用PCC技术来实现为移动电话1440。
移动电话1440可以基于PCC技术来解码并显示点云内容。
<PCC+自驾驶+XR>
自驾驶车辆1420可以通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
对其应用XR/PCC技术的自驾驶车辆1420可以表示提供有用于提供XR图像的装置的自驾驶车辆,或者作为XR图像中的控制/交互目标的自驾驶车辆。具体地,作为XR图像中的控制/交互目标,自驾驶车辆1420可与XR设备1430相区分并且可以与其可操作地连接。
具有用于提供XR/PCC图像的装置的自驾驶车辆1420可以从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的XR/PCC图像。例如,自驾驶车辆1420可以具有HUD并向其输出XR/PCC图像,从而向乘客提供与真实对象或呈现在屏幕上的对象对应的XR/PCC对象。
当XR/PCC对象被输出到HUD时,可以输出XR/PCC对象的至少一部分以与乘客的眼睛所指向的真实对象重叠。另一方面,当XR/PCC对象输出在提供在自驾驶车辆内的显示器上时,可以输出XR/PCC对象的至少一部分以与屏幕上的对象重叠。例如,自驾驶车辆1220可以输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的XR/PCC对象。
根据实施例的虚拟现实(VR)技术、增强现实(AR)技术、混合现实(MR)技术和/或点云压缩(PCC)技术适用于各种设备。
换言之,VR技术是仅提供真实世界对象、背景等的CG图像的显示技术。另一方面,AR技术指代在真实对象的图像上示出虚拟创建的CG图像的技术。MR技术与上述AR技术的相似之处在于,要示出的虚拟对象与真实世界混合和组合。然而,MR技术与AR技术的不同之处在于,AR技术在真实对象和作为CG图像创建的虚拟对象之间明确区分并且使用虚拟对象作为真实对象的补充对象,而MR技术将虚拟对象视为具有与真实对象等同的特性的对象。更具体地,MR技术应用的示例是全息服务。
最近,VR、AR和MR技术有时被称为扩展现实(XR)技术,而非彼此明确区分。因此,本公开的实施例适用于VR、AR、MR和XR技术中的任何一种。基于PCC、V-PCC和G-PCC技术的编码/解码适用于这种技术。
根据实施例的PCC方法/设备可以被应用于提供自驾驶服务的车辆。
提供自驾驶服务的车辆连接到PCC设备以进行有线/无线通信。
当根据实施例的点云数据(PCC)发送/接收设备连接到车辆以进行有线/无线通信时,设备可以接收/处理与可与自驾驶服务一起提供的AR/VR/PCC服务有关的内容数据,并将其发送到车辆。在PCC发送/接收设备安装在车辆上的情况下,PCC发送/接收设备可以根据通过用户接口设备输入的用户输入信号接收/处理与AR/VR/PCC服务有关的内容数据并将其提供给用户。根据实施例的车辆或用户接口设备可以接收用户输入信号。根据实施例的用户输入信号可以包括指示自驾驶服务的信号。
根据实施例的用于发送点云数据的方法/设备被构造为指代图1的发送设备10000、图1的点云视频编码器10002、图1的发射器10003和图2的获取20000/编码20001/发送20002、图4的编码器、图12的发送设备、图14的设备、图21的编码器等的术语。
根据实施例的用于接收点云数据的方法/设备被构造为指代图1的接收设备10004、图1的接收器10005、图1的点云视频解码器10006、图2的发送20002/解码20003/渲染20004、图10和图11的解码器、图13的接收设备、图14的设备、图22的解码器等的术语。
另外,根据实施例的用于发送和接收点云数据的方法/设备可以被简称为根据实施例的方法/设备。
根据实施例,构成点云数据的几何数据、几何信息、位置信息等被解释为具有相同的含义。构成点云数据的属性数据、属性信息、属性信息等被解释为具有相同的含义。
根据实施例的点云数据发送/接收方法/设备可以提供一种构建用于3D地图点云的低延迟几何编译的预测几何树的方法。
根据实施例的点云数据发送/接收方法/设备可以支持当由LiDAR设备捕获的点云帧被集成为一份点云内容时构建用于G-PCC的有效几何编译的预测树的方法。例如,该方法可以包括原点选择方法和信令方法、用于生成预测树的基于激光角度的排序方法、和/或快速预测树构建方法。
实施例涉及一种用于提高3D点云数据压缩的G-PCC的压缩效率的方法。以下,将编码器和编码设备称为编码器,并且将解码器和解码设备称为解码器。
点云由点的集合组成,每个点可以具有几何信息和属性信息。几何信息是三维位置(XYZ)信息,属性信息是颜色(RGB、YUV等)和/或反射率的值。
在G-PCC编码过程中,点云可以根据区域被划分为图块,并且每个图块可以被划分为切片以进行并行处理。G-PCC编码过程可以包括:逐个切片压缩几何图形;以及基于利用通过压缩改变的位置信息重构的几何图形来压缩属性信息(重构的几何图形=解码的几何图形)。
G-PCC解码操作可以包括:接收编码的基于切片的几何比特流和属性比特流;解码几何图形;以及基于通过解码操作重构的几何图形来解码属性信息。
对于几何信息压缩,可以使用基于八叉树、基于预测树或基于三联体的压缩技术。
根据实施例的用于发送和接收点云数据的方法/设备可以使用基于预测树的几何压缩技术来提高由LiDAR设备捕获的3D地图内容的几何压缩的效率。
为了捕获点云内容,可以通过发射激光脉冲并测量接收反射脉冲所花费的时间来测量反射器的位置坐标。可以通过使用这种激光系统的LiDAR设备来提取深度信息。通过LiDAR设备生成的点云内容可以由若干帧组成,或者可以将若干帧集成为一份内容。
3D地图点云内容可以指通过利用LiDAR设备捕获多个帧并将这些帧集成为一份内容而生成的数据。在这种情况下,对于LiDAR设备的中心位置来说,在不同位置捕获的不同帧的数据被混合。因此,当位置改变为LiDAR设备捕获的数据中呈现的角度特性,即角度(r,φ,i)时,点的规律性可能被隐藏。因此,应用角度模式可能不如基于笛卡尔坐标的压缩(Cartesian coordinate-based compression)有效。
因此,应用于3D地图点云内容的基于预测树的几何压缩方法可能无法通过使用角度模式来提高压缩效率,并且可能需要基于内容中的点的规律性来提高压缩效率的方法。
可以通过基于父节点的向量预测当前点的位置来构建预测树。因此,根据是否很好地选择了具有规律性的父节点,可以减少预测点和当前点之间的残差,从而减小比特流大小。
实施例旨在支持一种预测树构建方法,该方法用于支持基于由LiDAR设备捕获并集成到一份内容中的3D地图数据的预测树的有效几何压缩。
根据实施例的预测树可以由PCC编码器的几何编码器构建并且由PCC解码器通过几何解码来重构。
图15示出根据实施例的点云数据中包括的附加属性数据。
由图1的发送设备10000、图1的点云视频编码器10002、图1的发射器10003和图2的获取20000/编码20001/发送20002、图4的编码器、图12的发送设备、图14的设备、图21的编码器、图1的接收设备10004、图1的接收器10005、图1的点云视频解码器10006、图2的发送20002/解码20003/渲染20004、图10和图11的解码器、图13的接收设备、图14的设备、图22的解码器等压缩和重构的点云数据可以具有如图15所示的属性。
根据实施例的当给定激光角度时选择原点位置的方法:
参考图15,基于通过LiDAR设备捕获并集成到一份内容中的3D地图数据由LiDAR捕获的点云除了位置(x,y,z)和属性(红、绿、蓝、反射率)之外可能还具有附加的属性数据,例如时间、激光角度和法线位置(nx,ny,nz)。
图16示出根据实施例的点云数据的原点位置的示例。
图1的发送设备10000、图1的点云视频编码器10002、图1的发射器10003和图2的获取20000/编码20001/发送20002、图4的编码器、图12的发送设备、图14的设备、图21的编码器、图1的接收装置10004、图1的接收器10005、图1的点云视频解码器10006、图2的发送20002/解码20003/渲染20004、图10和图11的解码器、图13的接收设备、图14的设备、图22的解码器等可以通过设置以3D地图的形式配置的点云数据的原点来压缩/重构点云数据。
在对3D地图点云进行基于预测树的几何压缩时,可以将切片的边界框的左侧、底部或前部的位置设置为原点16000的位置。原点的位置可能会影响生成预测树的点排序过程,排序的形式可能会影响预测树的配置,其可能影响预测值,并且从而影响相对于预测值的残差。因此,比特流大小可能会受到影响。
换句话说,当根据实施例的编码器和/或解码器处理切片0时,与切片0相对应的边界框中的点可以被处理为原点。与切片1相对应的边界框的原点可以是边界框的左/下/前位置。
图17示出根据实施例的原点位置的示例。
当点云内容具有其每个点的激光角度值时,根据实施例的方法/设备可以根据以下程序计算切片中的原点位置。
-可以接收与原点相对应的候选角度(origin_laser_angle)作为输入。例如,90°可以是候选角度。
-可以接收与原点相对应的点(origin_direction)的位置作为输入。例如,左侧可以是该点的位置。
对于属于切片的所有点,可以执行以下过程。
1.当p点的激光角度等于origin_laser_angle(=90)时:
A.当没有原点的位置值时,可以将p设置为原点的位置值。
B.当存在原点的位置值时,可以将p的位置值与原点的位置值进行比较,并可以根据origin_direction将p的位置值设置为原点的位置值。
例如,当origin_direction为左并且origin.x>p.x时,p可以被设置为原点的位置值。这是因为p位于比原点更左侧的位置。
也就是说,根据实施例的方法/设备可以变换用于点的坐标以便设置原点的位置。这些点基于原点从笛卡尔坐标系变换到球坐标系。
1)当应用预测几何编译的角度模式时可以使用坐标变换,并且2)可以对坐标进行变换和排序以用于预测几何的正常模式和/或角度模式中的点排序。
参考图17,基于新设置的原点,笛卡尔坐标(x,y,z)被更改为方位角、半径和仰角(激光ID)。由于原点被移动至道路上,所以可以找到合适的方位角和半径。
图17示出origin_laser_angle=90°并且origin_direction=左的示例。当在多个切片的每个单元中,原点被设置为90°和左时,由17000所指示的点可以是每个切片的原点位置。
与边界框的左/下/前被设置为原点16000、17001的情况相比,可以看出,基于附加属性数据所设置的原点的位置被改变。
参考点云数据的属性,当点云数据表示道路、建筑物、人等时,点集开始的位置17002可以对应于道路区域。
也就是说,可以看出,边界框的左/下/前的原点16000和17001与道路区域17002分离,其是针对点的布置的参考。相反,基于附加属性数据设置的原点的位置可以被设置为道路起点17002。
图18示出根据实施例的当没有激光角度时设置原点位置的示例。
在基于图17的图18中,当点云内容不具有用于每个点的激光角度时,可以通过以下程序计算切片中原点的位置。
为了确定对应于原点的点的边界框的位置,可以接收参考轴作为输入。例如,参考轴可以是x轴。
为了确定对应于原点的点的边界框的位置,可以接收第二参考轴作为输入。例如,它可以是y轴。
为了确定与原点相对应的点的边界框的位置,可以接收向量范围作为输入。例如,可以设置-0.2至-1的范围。
为了确定与原点相对应的点的边界框的位置,可以设置属于向量范围的原点的位置。例如,原点可以被设置为左/上/前。
为了确定与原点相对应的点的边界框的位置,可以接收不属于向量范围的原点的位置作为输入。例如,原点可以被设置为左/下/前。
对于属于切片的所有点,可以执行以下过程。
基于点p的参考轴,可以找到存在于最小值处的点L和存在于最大值处的点R。
可以检查作为R-L值的归一化值的diff是否对应于基于第二参考轴的向量范围。当其属于该范围时,可以将指定位置设置为原点。
例如,当参考轴是x轴,并且第二参考轴是y轴时,如果值属于向量范围,则左/上/前可以被设置为原点。否则,左/下/前可以被设置为原点。
例如,为了在切片18000、18003和18006中设置适当的原点,根据参考轴和向量范围从点18001、18004和18007在特定方向18002、18005和18008中搜索点。
根据实施例的基于激光角度的排序:
在生成预测树之前,根据实施例的方法/设备可以基于莫顿码(Morton code)、半径、方位角、仰角、传感器ID或捕捉时间对Points[*]进行排序。
可以根据内容的特性来配置根据实施例的排序方法。例如,对于由LiDAR设备捕获的旋转数据形式的内容,通过基于方位角对点进行排序,可以有效地生成预测树。
可以基于莫顿码对点进行排序。可替选地,可以执行基于方位角的排序,这可能更有效。当边界框的左/下/前被设置为原点时,由于点之间的方位角差异较大,误差可能会过大。
由于预测树是基于排序点逐步生成的,因此排序点的顺序可能会影响预测树的构建。预测树可能会影响预测值,从而影响相对于预测值的残差,进而影响比特流大小。
图19示出根据实施例的基于激光角度的排序的示例。
图1的发送设备10000、图1的点云视频编码器10002、图1的发射器10003和图2的获取20000/编码20001/发送20002、图4的编码器、图12的发送设备、图14的设备、图21的编码器、图1的接收设备10004、图1的接收器10005、图1的点云视频解码器10006、图2的发送20002/解码20003/渲染20004、图10和图11的解码器、图13的接收设备、图14的设备、图22的解码器等可以基于图15中的属性如图16至图18所示来设置原点,并且如图19中所示对点进行排序。
当点云内容的每个点都具有激光角度时,可以基于激光角度对点进行排序,并且可以对激光角度分组用于排序。例如,假设从0°到5°的激光角度是相同的激光角度,可以对点进行排序。当激光角度相同或者属于相同激光角度组时,可以根据半径进行排序。当半径相同或者属于半径组时,可以根据仰角进行排序。
点云内容表示道路,并且可以如图19所示呈现点云数据的点。
根据实施例的方法/设备可以将激光角度等于90°并且坐标在轴左侧的点设置为原点19001。从原点开始,可以基于激光角度对点进行排序(19002)。在基于激光角度的排序期间,当点具有相同的激光角度(或激光角度参考范围)时,可以基于半径对点进行排序(19003)。
代替将切片的边界框的左/下/前19004设置为原点,根据实施例的方法/设备可以设置激光角度为90°并且具有坐标在轴左侧的点19005作为新的原点。然后,可以基于激光角度对点进行排序。由于将原点的位置设置为道路的起点19005,因此可以沿着道路按照激光角度的顺序对道路上的物体的点进行排序。可以基于半径对具有相同激光角度的点进行排序。
由于道路上物体的点云内容特性,基于激光角度排序的点是沿着道路按顺序排序的,因此可以有效地减少对点进行编码和解码的过程中的错误。
根据实施例的构建预测树的快速方法:
根据实施例的方法/设备可以在通过KD树生成/搜索操作选择最近的预测点作为父节点时生成预测树。此操作可能需要相当长的时间才能执行。在针对低延迟几何压缩的场景中,基于KD树的预测树生成技术可能会引发与执行时间相关的问题。
点云内容可以具有用于每个点的激光角度。在这种情况下,当基于激光角度选择原点的位置,并且基于激光角度执行排序时,可以应用构建预测树的快速方法而不使用KD树。
根据实施例的生成预测树的过程可以被配置如下。
1.第一点可以被设置为根节点。当前点可以被设置为当前激光角度的最新点。当前点可以被设置为当前激光角度的第一点。
2.可以对切片中的所有点执行以下操作。
1)当存在用于点p的激光角度的最新点时,该最新点可以被设置为当前点的预测树中的父节点。然后,当前点可以被设置为当前激光角度的最新值。
2)当不存在用于点p的激光角度的最新点时,当前点可以被设置为当前激光角度的最新点。当前点可以被设置为当前激光角度的第一点。
3.可以针对所有激光角度执行以下操作。
1)先前激光角度的第一点可以被设置为当前激光角度的第一点的父节点。
图20示出根据实施例生成激光组和预测树的示例。
当配置第一激光角度组20000和第二激光组20001时,第二激光组20001可以是当前激光角度组,并且第一激光角度组20000可以是比第二激光角度组20001已经更早处理的激光组。
例如,在当前激光角度组20001中,第一点20002可以被设置为根节点。当前点20002可以被设置为当前激光角度的最新点。当前点20002可以被设置为当前激光角度的第一点。
当存在用于点p 20003的激光角度的最新点20002时,最新点20002可以被设置为当前点20003的预测树中的父节点。然后,当前点20003可以被设置为当前激光角度的最新值。
由于用于下一个点20004的激光角度的最新点是点20003,因此点20003成为点20004的父。
先前激光角度20000的第一点20005可以被设置为当前激光角度20001的第一点20002的父节点。
如图20所示,根据实施例的方法/设备可以使用基于激光角度排序的点来快速生成预测树。
根据实施例的最新点是指在对应组中包括的排序点之中位于第一的点。例如,如上所述,为了编码,可以基于激光角度(根据方位角值或方位角范围的组)对点进行排序。
另外,可以通过LiDAR捕获点,并且捕获的点根据半径和/或方位角值可以具有强规律性。
图20中相同激光角度组中的最新点是第一点。具体地,根据激光角度(方位角)的组20001的范围是0°至5°,包括点20002。由于点20002是排序顺序中的第一点,所以它成为根节点(点)。在对应于激光角度0°至5°的组20000中排序的点之中,点20005是第一点,并因此成为根。因此,在如上所述根据特定激光角度存在组和点的情况下,可以建立组内的点之间的父子关系,并且可以建立组之间的父子关系。
例如,当根据实施例的获取单元(LiDAR)旋转以捕获点时,方位角之间可能存在时间差。当捕获为闪光类型时,特定区域中的点可以由多个传感器同时捕获,并因此它们之间可以不存在时间差。根据实施例的先前激光角度组可以意味着:当对0°至5°的角度和5°至10°的角度进行分组时,可以将0°至5°的组视为相对于5°至10°的组的先前激光角度组。另外,当根据本实施例的设备旋转以执行捕获(转动LiDAR,这是常见的情况)时,可能存在时间差。
图21图示根据实施例的点云数据发送设备。
图1的发送设备10000、图1的点云视频编码器10002、图1的发射器10003、图2的获取20000/编码20001/发送20002、图4的编码器、图12的发送设备、图14的设备、图21的编码器等是根据彼此对应的实施例的点云数据发送设备。每个组件可以对应于硬件、软件、处理器和/或其组合。
PCC数据可以被提供给编码器作为输入并且被编码以生成几何信息比特流和属性信息比特流作为输出。
数据输入单元可以接收几何数据和属性数据。数据输入单元可以接收与编码相关的参数的设定值。
坐标变换器可以将与几何数据的点的位置相关联的坐标系配置为适合于编码的系统。
几何信息变换/量化处理器可以变换和量化几何数据。
空间分割器可以将点云数据分割成适合于编码的空间结构。
当几何编译类型是基于预测的编译时,几何信息编码器可以通过预测树生成器来生成预测树,并且可以基于通过预测确定器生成的预测树来执行率失真优化(RDO)并选择最优预测模式。可以根据最优预测模式来生成几何预测值。
几何信息编码器可以通过八叉树生成器来执行基于八叉树的几何编码,或者可以通过三联体生成器来执行基于三联体的几何编译。
几何位置重构器可以重构编码的几何数据并且将其提供用于属性编译。
几何信息熵编码器可以通过对相对于预测值的残差值进行熵编码来配置几何信息比特流。
下面描述预测树生成器的操作的细节。
当点具有激光角度时,预测树生成器可以接收与原点相对应的候选角度值(origin_laser_angle)以及与原点相对应的点的方向(origin_direction)。基于接收到的origin_laser_angle和origin_direction的值,可以在切片中选择要用作原点的点。原点的值可以通过信令信息被传递到解码器。
预测树生成器可以接收用于点的排序方法,并且可以根据排序方法对点进行排序。点排序方法可以包括基于莫顿码、半径、方位角、仰角、传感器ID、激光角度或捕捉时间的排序。在激光角度的情况下,可以基于所选择的原点来确定点的顺序。当根据激光角度排序的点属于相同激光角度或相同激光角度组时,可以基于半径来确定点的顺序。当点属于相同半径时,可以根据仰角来确定点的顺序。所应用的排序方法可以通过信令信息被发送到解码器。
预测树生成器可以接收预测树生成方法,并且可以根据接收到的方法来生成预测树。树生成方法可以包括基于排序顺序的快速预测树生成、基于距离的预测树生成和基于角度的预测树生成。可以根据内容的特性和服务的类型来选择方法。可以通过信令信息将所应用的预测树生成方法发送到解码器。
预测树生成器可以接收最大距离。当使用预测点列表时,可以搜索用于选择父节点的邻居预测点。仅当到搜索点的距离小于最大距离时,才可以将搜索点注册为子节点。最大距离可以作为输入被接收或者可以通过内容分析自动设置。
例如,通过预测树生成器,几何编码器可以使用图15的附加属性数据,选择如图17至图19所示的原点位置,基于激光角度对点进行排序,并基于激光角度组从点生成快速预测树。可以通过根据快速预测树快速建立父子关系来执行预测编译。为了对当前几何数据进行编码,可以通过快速预测树来计算当前几何数据的预测几何数据。可以生成当前几何数据(原始数据)和预测几何数据之间的残差数据,并且可以生成包含残差数据的几何比特流。
属性信息编码器可以基于重构的几何数据对属性数据进行编码。与属性信息编码相关的信息可以通过信令信息被传递到解码器。
图21图示根据实施例的发送方法/设备(点云数据发送方法/设备)和点云数据编码器(编码过程)的配置。
图21的预测几何编译可以是基于八叉树的方案的替代方案。根据实施例的预测编译技术可以支持低延迟并且提供低复杂度解码。
预测结构可以被应用于例如与类别3相对应的内容。可以通过创建用于点云数据的预测结构来生成预测树。点云数据中的点可以对应于树的顶点。每个顶点可以从树中其父来预测。在根据实施例的预测几何编译中,可以使用树结构来执行预测几何编译。可以生成在点之间具有父/子关系的树结构。预测模式可以包括无预测、增量(Delta)预测(即,p0)、线性预测(即,2p0-p1)和平行四边形预测器(即,2p+p1-p2)。这里,p0、p1、p2分别代表当前点的父、祖父、曾祖父。可以基于RDO来选择预测模式。可以选择与根据预测模式的残差最小的情况相对应的模式。可以通过信令信息来发送所采用的预测模式(预测器)。
图22图示根据实施例的点云数据接收设备。
图1的接收设备10004、图1的接收器10005、图1的点云视频解码器10006、图2的发送20002/解码20003/渲染20004、图10和图11的解码器、图13的接收设备、图14的设备、图22的解码器等对应于根据实施例的点云数据接收设备。每个组件可以对应于硬件、软件、处理器和/或其组合。
图22中的接收操作可以对应于图21的发送操作,或者以与发送操作相反的方式进行。
几何信息熵解码器可以对几何数据进行熵解码。
当基于八叉树的编译被应用于几何数据时,八叉树重构器可以基于八叉树来重构几何数据。
下面描述预测树重构器的操作的细节。
预测树重构器可以接收预测树生成方法、原点的位置值和点排序方法,重构数据,并根据重构来重构预测树。预测树可用于解码几何的预测值。
几何解码器可以通过预测树重构器确定原点位置和点排序方法。当应用快速预测树生成时,几何解码器可以通过快速预测树来预测几何数据,并将其添加到接收到的残差几何数据,从而重构几何数据。
几何位置重构器可以重构几何数据的位置并将其提供给属性解码器。
几何信息预测器可以生成几何数据的预测数据。
当在发送侧处执行量化时,几何信息变换/逆量化处理器可以基于量化参数向几何数据逆向应用量化。
当在发送侧对与几何数据相关的坐标系进行变换时,坐标逆变换器可以对坐标进行逆变换。
属性信息解码器可以通过属性残差信息熵解码器对来自包含属性数据的比特流的属性数据的残差数据进行熵解码。
基于属性解码方法,属性信息解码器可以对属性数据进行解码。
当在发送侧处执行量化时,残余属性信息逆量化处理器可以基于量化参数来逆量化残余属性信息。解码器可以根据发送侧编码方法来重构属性数据。
根据实施例的点云数据接收方法/设备可以按照由编码器生成的树的顺序来接收比特流,并且可以跳过发送侧的点排序(坐标变换)过程。接收方法/设备可以按照接收顺序通过比特流来重构预测树。在重构预测树中,可以利用原点信息,并且通过坐标变换过程将最终重构的位置变换为xyz坐标。
图23示出根据实施例的包括点云数据和参数信息的比特流。
图21中所示的根据实施例的点云数据发送设备可以生成如图23中所示的比特流,并且如图22中所示的根据实施例的点云数据接收设备可以接收如图23中所示的比特流,并且基于参数信息来解码点云数据。
可以用信号发送相关信息以添加/实现实施例。可以在发送侧或接收侧处使用根据实施例的信令信息。可以在发送侧或接收侧处使用根据实施例的信令信息。根据实施例的信令信息可以由根据实施例的发送/接收设备(例如,发送设备的元数据处理器(可以被称为元数据生成器等))生成并发送,并且可以由接收设备的元数据解析器接收并获得。可以基于信令信息来执行根据实施例的接收设备的每个操作。编码点云的配置如图23中所示。
每个缩写具有以下含义。每个缩写可以在等同含义的范围内由另一个术语引用。SPS:序列参数集;GPS:几何参数集;APS:属性参数集;TPS:图块参数集;Geom:几何比特流=几何切片报头+几何切片数据;Attr:属性比特流=属性块报头+属性块数据。
与预测树生成相关的选项信息可以被添加到SPS或GPS并且用信号通知。
与预测树生成相关的选项信息可以被添加到TPS或每个切片的几何报头并用信号通知。
提供切片使得点云可以被划分为区域并被处理。
当点云被划分为区域时,可以设置用于为各个区域生成不同的相邻点集合的选项,以提供各种选项,诸如结果的低复杂度和低可靠性的选项或者高复杂度和高可靠性的选项。该选项可以根据接收器的处理能力进行不同的设置。
当点云被划分为图块时,可以将不同的选项应用于各个图块。当点云被划分为切片时,可以对各个切片应用不同的选项。
图24示出根据实施例的序列参数集。
图24示出图23的比特流中包括的序列参数集。
根据实施例的方法/设备可以通过将预测树生成相关信息包括在根据实施例的序列参数集中来提供有效的信令。
pred_geom_tree_sorting_type指定在以对应序列生成预测几何树中应用的排序方法。例如,可以根据每个整数值指定排序方法:0=不排序;1=按莫顿码排序;2=按半径排序;3=按方位角排序;4=按仰角排序;5=按传感器ID排序;6=按捕获时间排序;7=按激光角度排序。
pred_geom_tree_build_method可以指定以对应序列生成预测几何树的方法:例如,0=快速预测树生成;1=基于距离的预测树生成;2=基于角度的预测树生成。
profile_idc指示如附件A中指定的比特流所遵循的简档(profile)。除了根据实施例的值之外,比特流可以不包含profile_idc的值。profile_idc的其他值可以保留供ISO/IEC将来使用。
profile_compatibility_flags等于1,指示比特流符合由等于j的profile_idc指示的简档。
sps_num_attribute_sets指示比特流中的编码属性的数量。sps_num_attribute_sets的值可以在0到63的范围内。
attribute_dimension[i]指定第i个属性的分量的数量。
attribute_instance_id[i]指定第i个属性的实例ID。
图25示出根据实施例的几何参数集。
图25示出包含在图23的比特流中的几何参数集。
根据实施例的方法/设备可以通过将预测树生成相关信息包括在根据实施例的几何参数集中来提供有效的信令。
pred_geom_tree_sorting_type指定在以对应序列生成预测几何树时应用的排序方法。例如,它可以指定:0=不排序;1=按莫顿码排序;2=按半径排序;3=按方位角排序;4=按仰角排序;5=按传感器ID排序;6=按捕获时间排序;7=按激光角度排序。
pred_geom_tree_build_method可以指定以对应序列生成预测几何树的方法:例如,0=快速预测树生成;1=基于距离的预测树生成;2=基于角度的预测树生成。
gps_geom_parameter_set_id提供GPS的标识符以供其他语法元素参考。gps_seq_parameter_set_id的值可以在0至15的范围内,包括0和15。
gps_seq_parameter_set_id指定活动SPS的sps_seq_parameter_set_id的值。gps_seq_parameter_set_id的值可以在0至15的范围内,包括0和15。
图26示出根据实施例的图块参数集。
图26示出包含在图23的比特流中的图块参数集。
根据实施例的方法/设备可以通过将预测树生成相关信息包括在根据实施例的图块参数集中来提供有效的信令。
pred_geom_tree_sorting_type指定在对应图块中生成预测几何树时应用的排序方法。例如,它可以指定:0=不排序;1=按莫顿码排序;2=按半径排序;3=按方位角排序;4=按仰角排序;5=按传感器ID排序;6=按捕获时间排序;7=按激光角度排序。
pred_geom_tree_build_method可以指定在对应图块中生成预测几何树的方法:例如,0=快速预测树生成;1=基于距离的预测树生成;2=基于角度的预测树生成。
gps_geom_parameter_set_id提供GPS的标识符以供其他语法元素参考。gps_seq_parameter_set_id的值可以在0至15的范围内,包括0和15。
gps_seq_parameter_set_id指定活动SPS的sps_seq_parameter_set_id的值。gps_seq_parameter_set_id的值可以在0至15的范围内,包括0和15。
num_tiles指定为比特流用信号发送的图块的数量。如果不存在,则num_tiles被推断为0。
tile_bounding_box_offset_x[i]指示笛卡尔坐标中第i个图块的x偏移。当不存在时,tile_bounding_box_offset_x[0]的值可以被推断为sps_bounding_box_offset_x。
tile_bounding_box_offset_y[i]指示笛卡尔坐标中第i个图块的y偏移。当不存在时,tile_bounding_box_offset_y[0]的值可以被推断为sps_bounding_box_offset_y。
tile_bounding_box_offset_z[i]指示笛卡尔坐标中第i个图块的z偏移。当不存在时,tile_bounding_box_offset_z[0]的值可以被推断为sps_bounding_box_offset_z。
图27示出根据实施例的几何切片报头。
图27示出包含在图26的比特流中的几何切片报头。
根据实施例的方法/设备可以通过在根据实施例的几何切片报头中包括预测树生成相关信息来提供有效的信令。
pred_origin[i]指示在切片中应用的原点的位置值。
pred_geom_tree_sorting_type指定在对应切片中生成预测几何树时应用的排序方法。例如,它可以指定:0=不排序;1=按莫顿码排序;2=按半径排序;3=按方位角排序;4=按仰角排序;5=按传感器ID排序;6=按捕获时间排序;7=按激光角度排序。
pred_geom_tree_build_method可以指定在对应切片中生成预测几何树的方法:例如,0=快速预测树生成;1=基于距离的预测树生成;2=基于角度的预测树生成。
gsh_geometry_parameter_set_id指定活动GPS的gps_geom_parameter_set_id的值。
gsh_tile_id指定由GSH参考的图块ID的值。gsh_tile_id的值可以在0到XX的范围内,包括0和XX。
gsh_slice_id可以标识切片标头以供其他语法元素参考。gsh_slice_id的值可以在0到XX的范围内,包括0和XX。
图28图示根据实施例的发送点云数据的方法。
点云数据发送设备(例如,图1的发送设备10000、图1的点云视频编码器10002、图1的发射器10003和图2的获取20000/编码20001/发送20002、图4的编码器、图12发送设备、图14的设备或图21的编码器)可以通过以下步骤对点云数据进行编码和发送。
S2800编码点云数据
根据实施例的点云数据发送方法可以包括对点云数据进行编码。编码可以包括:图1的发送设备10000的操作、图1的点云视频获取10001、图1的点云视频编码器10002的操作、图2的获取20000/编码20001、图4的编码器的操作、图12的发送设备的操作、图14的XR设备1430的操作、图15至图20的原点位置选择、点排序和预测树生成的操作、图21的编码器的操作以及根据图23至27的比特流和参数生成。
S2810发送包含点云数据的比特流
根据实施例的点云数据发送方法还可以包括发送包含点云数据的比特流。根据实施例的发送操作可以包括图1的发送设备10000和发射器10003、图2的发送20002、图4、图12和图14中几何比特流和属性比特流的发送以及包含根据图15至20编码的点云数据的比特流(图23至图27)的发送的操作。
图29示出根据实施例的接收点云数据的方法。
点云数据接收设备(例如图1的接收设备10004、图1的接收器10005、图1的点云视频解码器10006、图2的发送20002/解码20003/渲染20004、图10和图11的解码器、图14的接收设备、图14的设备或图22的解码器)可以通过以下步骤接收和解码点云数据。可以与发送侧上的过程相反地进行接收侧上的过程。
S2900接收包含点云数据的比特流
根据实施例的点云数据接收方法可以包括接收包含点云数据的比特流。根据实施例的接收可以包括图1的接收设备10004和接收器10005的操作、根据图2的发送20002的接收、图10和11中几何比特流和属性比特流的接收和图13的接收设备的动作、图14的XR设备1430的操作、根据图15至20编码的点云数据的接收、图22的解码器的操作以及图23至27的比特流接收。
S2910对点云数据进行解码
根据实施例的点云数据接收方法还可以包括对点云数据进行解码。根据实施例的解码可以包括图1的点云视频解码器10006和渲染器10007、图2的解码20003、渲染20004和反馈20005、图10和11的解码、图13的接收/解码、根据图15至20编码的点云数据的重构、图22的解码器的操作和图23至37的在基于参数的比特流中包含的几何数据和属性数据的重构的操作。
参考图17和图18,根据实施例的方法/设备可以对几何数据(点的位置)重新排序以用于几何预测树编译。
根据实施例的方法/设备,因为在通过激光传感器捕获点时激光传感器以特定角度旋转,所以点具有激光角度作为属性(参见图15)。使用激光角度的方法可以应用于确定用于重新排序点的原点。
根据实施例的原点确定:
点可以具有激光角度。为了确定原点,使用激光角度。可以根据以下配置通过根据实施例的方法/设备来选择和确定原点。
如图17和图18中所示,中心激光角度可以是90°。它可能是位于最左侧上的点。
图17和图18示出为各个切片选择的原点18001、18004和18007。
一种基于激光角度的重新排序方法:
参考图19,使用激光角度而不是计算出的方位角来对点进行重新排序。这些点根据激光角度(或激光角度范围)排序。点可以基于颜色来布置,颜色是点的属性。例如,当基于激光角度对点进行重新排序时,可以按照例如黄点、绿点、橙色点和绿点的顺序来布置点。
参考图1,可以包括对点云数据进行编码的操作以及发送包含点云数据的比特流的操作。
参考图15,关于激光角度,点云数据的编码可以包括对点云数据的几何数据进行编码。可以基于用于点云数据的激光角度对几何数据进行编码。
参考图17和图18,关于原点位置和点排序,点云数据的几何数据可以具有激光角度,根据实施例的方法/设备可以选择具有等于90°的激光角度和与左对应的坐标的点作为几何数据的原点。
参考图19,关于基于激光角度的排序,可以基于激光角度对几何数据进行排序。
参考图20,关于预测树生成,根据实施例的方法可基于激光角度来生成拥有具有最新激光角度的点作为父的预测树,并配置包括多个点的第二激光组的根节点作为包括多个点的第一激光组的根节点的父节点。第二激光组的激光角度的值可以小于第一激光组的激光角度的值。术语“最新”被解释为指的是按排序顺序在第一位置中的点,或者具有小激光角度的点。
参考图21,关于几何编码,点云数据的编码可以包括对点云数据的几何数据进行编码。几何数据的编码可以包括:变换几何数据的坐标并基于激光角度设置原点;基于原点对几何数据进行排序;基于排序的几何数据来生成预测树;基于预测树来生成点云数据的预测值;以及通过从预测值生成残差值来生成几何比特流。
实施例的PCC编码方法、PCC解码方法和信令方法可以提供以下效果。
角度模式可以应用于通过LiDAR设备捕获并存储每一帧的场景。然而,当利用LiDAR设备捕获多个帧并将其集成到一份内容以生成3D地图数据时,对于LiDAR设备的中心位置具有不同位置的数据被混合。因此,当位置被改变为LiDAR设备捕获的数据中呈现的角度特性,即角度(r,φ,i)时,点的规律性可能被隐藏。因此,应用角度模式可能不如基于笛卡尔坐标的压缩有效。
ata7127,x
因此,为了通过使用LiDAR设备捕获的特性来提高压缩效率,可能需要一种基于内容中的点的规律性来提高用于3D地图数据的压缩效率的方法。
实施例支持原点选择方法、排序方法和快速预测树构建方法,用于支持对通过LiDAR设备捕获并集成到一份内容中的3D地图数据进行基于预测树的有效几何压缩。
因此,实施例可以通过增加用于3D点云数据压缩的基于几何的点云压缩(G-PCC)的编码器/解码器的几何压缩效率来提供点云内容流。
根据实施例的PCC编码器和/或PCC解码器可以提供有效的预测树生成方法,并且可以考虑预测点之间的影响程度来提高几何压缩编译/解码效率。
因此,根据实施例的发送方法/设备可以有效地压缩点云数据并发送压缩的数据,并且还传递用于数据的信令信息。因此,根据实施例的接收方法/设备还可以有效地解码/重构点云数据。
已经从方法和/或设备的角度描述了实施例,并且可以应用方法和设备的描述以便彼此补充。
尽管为了简单起见已经单独描述了附图,通过将各自附图中所示的实施例合并来设计新的实施例。根据本领域地技术人员的需要设计可由计算机读取的记录有用于执行上述实施例的程序的记录介质也落在所附权利要求及其等同物的范围内。根据实施例的装置和方法可不限于上述实施例的配置和方法。可以通过选择性地组合所有或一些实施例来对实施例进行各种修改。尽管参考附图描述了优选实施例,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对实施例进行各种修改和变化。这些修改不应从实施例的技术思想或观点单独地理解。
实施例的设备的各种元件可以由硬件、软件、固件或其组合实现。实施例中的各种元件可由单个芯片实现,例如,单个硬件电路。根据实施例,根据实施例的组件可分别被实现为单独的芯片。根据实施例,根据实施例的设备的至少一个或更多个组件可以包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施例的任一个或更多个操作/方法或者包括用于执行其的指令。用于执行根据实施例的设备的方法/操作的可执行指令可被存储在被配置成由一个或更多个处理器执行的非暂时性CRM或其他计算机程序产品中,或者可被存储在被配置成由一个或更多个处理器执行的暂时性CRM或其他计算机程序产品中。另外,根据实施例的存储器可用作不仅涵盖易失性存储器(例如,RAM),而且涵盖非易失性存储器、闪存和PROM的概念。另外,也可按载波(例如,经由互联网的传输)的形式实现。另外,处理器可读记录介质可分布到经由网络连接的计算机系统,使得处理器可读代码可按分布式方式存储和执行。
在本说明书中,术语“/”和“,”应该被解释为指示“和/或”。例如,表达“A/B”可以表示“A和/或B”。此外,“A、B”可以表示“A和/或B”。此外,“A/B/C”可以表示“A、B和/或C中的至少一个”。另外,“A/B/C”可以指示“A、B和/或C中的至少一个”。此外,在本说明书中,术语“或”应该被解释为指示“和/或”。例如,表达“A或B”可以表示1)仅A、2)仅B或3)A和B二者。换言之,本文档中使用的术语“或”应该被解释为指示“另外地或另选地”。
诸如第一和第二的术语可用于描述实施例的各种元件。然而,根据实施例的各种组件不应受上述术语限制。这些术语仅用于将一个元件与另一元件相区分。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应该不脱离各种实施例的范围来解释。第一用户输入信号和第二用户输入信号均是用户输入信号,但除非上下文清楚地另外规定,否则并不意指相同的用户输入信号。
用于描述实施例的术语被用于描述具体实施例的目的,并非旨在限制实施例。如在实施例的描述和权利要求中使用的,除非上下文清楚地另外规定,否则单数形式“一(a)”、“一个(an)”、“该(the)”包括复数个所指对象。表达“和/或”被用于包括术语的所有可能组合。诸如“包括”或“具有”的术语旨在指示图形、数量、步骤、元件和/或组件的存在,并且应该理解为不排除另外存在图形、数量、步骤、元件和/或组件的可能性。如本文所使用的,诸如“如果”和“当”的条件表达不限于可选情况,并且旨在解释,当满足特定条件时执行相关操作,或者根据特定条件解释相关定义。
本说明书中描述的根据实施例的操作可以由根据实施例的包括存储器和/或处理器的发送/接收设备来执行。存储器可以存储用于处理/控制根据实施例的操作的程序,并且处理器可以控制本说明书中描述的各种操作。处理器可以被称为控制器等。在实施例中,操作可以由固件、软件和/或其组合来执行。固件、软件和/或其组合可以被存储在处理器或存储器中。
根据上述实施例的操作可以由根据实施例的发送设备和/或接收设备执行。发送/接收设备可以包括:发射器/接收器,其被配置为发送和接收媒体数据;存储器,其被配置为存储用于根据实施例的过程的指令(程序代码、算法、流程图和/或数据);以及处理器,其被配置为控制发送/接收设备的操作。
处理器可以被称为控制器等,并且可以对应于例如硬件、软件和/或其组合。根据上述实施例的操作可以由处理器执行。另外,处理器可以被实现为用于上述实施例的操作的编码器/解码器。
【用于发明的模式】
如上所述,已经在用于执行实施例的最佳方式中描述了相关细节。
【工业适用性】
如上所述,实施例完全或部分适用于点云数据发送/接收设备和系统。
本领域技术人员可以在实施例的范围内以各种方式改变或修改实施例。
实施例可以包括在权利要求及其等同物的范围内的变化/修改。

Claims (20)

1.一种用于发送点云数据的方法,所述方法包括:
编码点云数据;以及
发送包括所述点云数据的比特流。
2.根据权利要求1所述的方法,
其中,编码所述点云数据包括:
几何编码所述点云数据的几何数据,
其中,基于用于所述点云数据的激光角度来编码所述几何数据。
3.根据权利要求1所述的方法,
其中,所述点云数据的几何数据包括激光角度,
其中,具有所述激光角度为90度并且最左边位置的点被选择作为原点。
4.根据权利要求3所述的方法,
其中,基于所述激光角度来布置所述几何数据。
5.根据权利要求4所述的方法,所述方法还包括:
基于所述激光角度来生成包括具有最新激光角度的点作为父的预测树,
将包括点的第二激光组的根节点配置为包括点的第一激光组的根节点的父节点,
其中,所述第二激光组的激光角度小于所述第一激光组的激光角度。
6.根据权利要求4所述的方法,
其中,编码所述点云数据包括:
编码所述点云数据的几何数据,
其中,编码所述几何数据包括:
通过转换所述几何数据的坐标,基于激光角度来配置原点,
基于所述原点来布置所述几何数据,
基于布置的几何数据来生成预测树,
基于所述预测树来生成预测值,从预测值生成残差,并且生成几何比特流。
7.一种用于发送点云数据的装置,所述装置包括:
编码器,所述编码器被配置为编码点云数据;以及
发射器,所述发射器被配置为发送包括所述点云数据的比特流。
8.根据权利要求7所述的装置,
其中,所述编码器包括:
被配置为编码所述点云数据的几何数据的编码器,
其中,基于用于所述点云数据的激光角度来编码所述几何数据。
9.根据权利要求7所述的装置,
其中,所述点云数据的几何数据包括激光角度,
其中,具有所述激光角度为90度并且最左边位置的点被选择作为原点。
10.根据权利要求9所述的装置,其中,基于所述激光角度来布置所述几何数据。
11.根据权利要求10所述的装置,其中,所述装置还被配置为:
基于所述激光角度来生成包括具有最新激光角度的点作为父的预测树,
将包括点的第二激光组的根节点配置为包括点的第一激光组的根节点的父节点,
其中,所述第二激光组的激光角度小于所述第一激光组的激光角度。
12.根据权利要求10所述的装置,
其中,所述编码器包括:
几何编码器,所述几何编码器被配置为编码所述点云数据的几何数据,
其中,所述几何编码器被配置为:
通过转换所述几何数据的坐标,基于激光角度来配置原点,
基于所述原点来布置所述几何数据,
基于布置的几何数据来生成预测树,
基于所述预测树来生成预测值,从预测值生成残差,并且生成几何比特流。
13.一种用于接收点云数据的方法,所述方法包括:
接收包括点云数据的比特流;以及
解码所述点云数据。
14.根据权利要求13所述的方法,其中,解码所述点云数据包括:
几何解码所述点云数据的几何数据,
其中,基于用于所述点云数据的激光角度来解码所述几何数据。
15.根据权利要求13所述的方法,
其中,所述点云数据的几何数据包括激光角度,
其中,具有所述激光角度为90度并且最左边位置的点被选择作为原点。
16.根据权利要求15所述的方法,其中,基于所述激光角度来布置所述几何数据。
17.根据权利要求16所述的方法,所述方法还包括:
基于所述激光角度来生成包括具有最新激光角度的点作为父的预测树,
将包括点的第二激光组的根节点配置为包括点的第一激光组的根节点的父节点,
其中,所述第二激光组的激光角度小于所述第一激光组的激光角度。
18.根据权利要求16所述的方法,
其中,解码所述点云数据包括:
解码所述点云数据的几何数据,
其中,解码所述几何数据包括:
通过转换所述几何数据的坐标,基于激光角度来配置原点,
基于所述原点来布置所述几何数据,
基于布置的几何数据来生成预测树,
基于所述预测树来生成预测值,将所述预测值与残差相加,并且重构几何数据。
19.一种用于接收点云数据的装置,所述装置包括:
接收器,所述接收器被配置为接收包括点云数据的比特流;以及
解码器,所述解码器被配置为解码所述点云数据。
20.根据权利要求19所述的装置,其中,所述解码器包括:
几何解码器,所述几何解码器被配置为解码所述点云数据的几何数据,
其中,基于用于所述点云数据的激光角度来解码所述几何数据。
CN202280029041.6A 2021-04-21 2022-01-26 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 Pending CN117178555A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20210051875 2021-04-21
KR10-2021-0051875 2021-04-21
PCT/KR2022/001353 WO2022225145A1 (ko) 2021-04-21 2022-01-26 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Publications (1)

Publication Number Publication Date
CN117178555A true CN117178555A (zh) 2023-12-05

Family

ID=83722921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280029041.6A Pending CN117178555A (zh) 2021-04-21 2022-01-26 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法

Country Status (6)

Country Link
US (1) US20220353531A1 (zh)
EP (1) EP4329310A1 (zh)
JP (1) JP2024515203A (zh)
KR (1) KR20230174237A (zh)
CN (1) CN117178555A (zh)
WO (1) WO2022225145A1 (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201208088D0 (en) * 2012-05-09 2012-06-20 Ncam Sollutions Ltd Ncam
CN110719497B (zh) * 2018-07-12 2021-06-22 华为技术有限公司 点云编解码方法和编解码器
EP3882858A4 (en) * 2018-11-16 2022-02-09 Panasonic Intellectual Property Corporation of America METHOD OF ENCODING THREE-DIMENSIONAL DATA, METHOD OF DECODING OF THREE-DIMENSIONAL DATA, DEVICE FOR ENCODING OF THREE-DIMENSIONAL DATA, AND DECODER OF DECODING OF THREE-DIMENSIONAL DATA
KR20220029595A (ko) * 2019-07-03 2022-03-08 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 포인트 클라우드 인코딩과 디코딩 방법, 인코더, 디코더 및 컴퓨터 저장 매체
KR102629746B1 (ko) * 2019-08-27 2024-01-26 엘지전자 주식회사 Xr 디바이스 및 그 제어 방법
US11729243B2 (en) * 2019-09-20 2023-08-15 Intel Corporation Dash-based streaming of point cloud content based on recommended viewports
EP3800892A1 (en) * 2019-10-01 2021-04-07 BlackBerry Limited Angular mode syntax for tree-based point cloud coding
KR102295825B1 (ko) * 2019-10-03 2021-08-31 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11941855B2 (en) * 2020-04-08 2024-03-26 Qualcomm Incorporated Coding of laser angles for angular and azimuthal modes in geometry-based point cloud compression
US20210326734A1 (en) * 2020-04-08 2021-10-21 Qualcomm Incorporated Coding of laser angles for angular and azimuthal modes in geometry-based point cloud compression

Also Published As

Publication number Publication date
KR20230174237A (ko) 2023-12-27
JP2024515203A (ja) 2024-04-05
WO2022225145A1 (ko) 2022-10-27
US20220353531A1 (en) 2022-11-03
EP4329310A1 (en) 2024-02-28

Similar Documents

Publication Publication Date Title
CN114503586A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
EP3975124A1 (en) Method and device for processing point cloud data
US20220343548A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115428467B (zh) 点云数据发送设备和方法、点云数据接收设备和方法
US11902348B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114073086A (zh) 点云数据处理设备和方法
US20220230360A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230059625A1 (en) Transform-based image coding method and apparatus therefor
CN114762334A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN114041169A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备、以及点云数据接收方法
EP4228267A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114051730A (zh) 处理点云数据的设备和方法
US11395004B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4161074A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
CN117730539A (zh) 点云数据发送设备和方法以及点云数据接收设备和方法
US20230154052A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
CN116438799A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN114009046A (zh) 用于处理点云数据的装置和方法
US20220353531A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US12003769B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230232042A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20240064332A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230206510A1 (en) Point cloud data processing device and processing method
CN118160310A (zh) 点云数据发送方法、点云数据发送装置、点云数据接收方法及点云数据接收装置
CN117157983A (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