CN115210765A - 点云数据发送装置、发送方法、处理装置和处理方法 - Google Patents
点云数据发送装置、发送方法、处理装置和处理方法 Download PDFInfo
- Publication number
- CN115210765A CN115210765A CN202180018292.XA CN202180018292A CN115210765A CN 115210765 A CN115210765 A CN 115210765A CN 202180018292 A CN202180018292 A CN 202180018292A CN 115210765 A CN115210765 A CN 115210765A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- point
- attribute
- geometry
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Abstract
根据实施方式的点云数据发送方法可以包括以下步骤:对点云数据进行编码;并且发送包含点云数据的比特流。根据实施方式的点云数据处理方法可以包括以下步骤:接收包含点云数据的比特流;并且对点云数据进行解码。
Description
技术领域
实施方式提供点云内容以提供包括虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自动驾驶服务在内的服务。
背景技术
点云内容是由点云表示的内容,点云是属于表示三维空间的坐标系的一组点。点云内容可以表示三维配置的媒体,并且用于提供各种服务,例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自驾驶服务。然而,需要数万到数十万的点数据来表示点云内容。因此,需要高效地处理大量点数据的方法。
发明内容
技术问题
实施方式提供了一种用于高效处理点云数据的装置和方法。实施方式提供了用于解决延迟和编码/解码复杂度的点云数据处理方法和装置。
实施方式的技术范围不限于上述技术目的,并且可以扩展到本领域技术人员基于本文公开的全部内容可以推断出的其他技术目的。
技术方案
为了实现这些目的和其他优点并且根据本公开的目的,在一些实施方式中,一种用于发送点云数据的方法可以包括:对包括几何和属性的点云数据进行编码,并发送包括经编码的点云数据的比特流。在一些实施方式中,几何表示点云数据的点的位置,并且属性包括点的颜色和反射率中的至少一者。
在一些实施方式中,一种用于发送点云数据的装置可以包括:编码器,所述编码器被配置为对包括几何和属性的点云数据进行编码;以及发送器,所述发送器被配置为发送包括经编码的点云数据的比特流。
在一些实施方式中,一种用于处理点云数据的方法可以包括:接收包括所述点云数据的比特流并对所述点云数据进行解码。在一些实施方式中,所述点云数据包括几何和属性,所述几何表示所述点云数据的点的位置,并且所述属性包括所述点的颜色和反射率中的至少一者。
在一些实施方式中,一种用于处理点云数据的装置可以包括:接收器,所述接收器用于接收包括点云数据的比特流;以及解码器,所述解码器用于对点云数据进行解码。在一些实施方式中,所述点云数据包括几何和属性,所述几何表示所述点云数据的点的位置,并且所述属性包括所述点的颜色和反射率中的至少一者。
有利效果
根据实施方式的装置和方法有效地处理点云数据。
根据实施方式的装置和方法提供了具有高质量的点云服务。
根据实施方式的装置和方法提供点云内容以提供包括VR服务、自主驾驶的通用服务。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中并构成本申请的一部分,附图示出本公开的实施方式并与描述一起用于说明本公开的原理。为了较好地理解下面描述的各种实施方式,应该结合附图参考以下实施方式的描述。贯穿附图将使用相同的标号来表示相同或相似的部分。附图中:
图1示出根据实施方式的示例性点云内容提供系统。
图2是示出根据实施方式的点云内容提供操作的框图。
图3示出根据实施方式的捕获点云视频的示例性处理。
图4示出根据实施方式的示例性点云编码器。
图5示出根据实施方式的体素的示例。
图6示出根据实施方式的八叉树和占用代码的示例。
图7示出根据实施方式的相邻节点图案的示例。
图8示出根据实施方式的各个LOD中的点配置的示例。
图9示出根据实施方式的各个LOD中的点配置的示例。
图10示出根据实施方式的点云解码器。
图11示出根据实施方式的点云解码器。
图12示出根据实施方式的发送装置。
图13示出根据实施方式的接收装置。
图14示出根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构。
图15是示出根据实施方式的点云发送装置的操作的流程图。
图16是根据实施方式的点云发送装置的框图。
图17示出了根据LOD级别的点的分布。
图18示出了相邻点集搜索方法的示例。
图19示出点云内容的示例。
图20示出了基于八叉树的LOD生成过程的示例。
图21示出了基准距离的示例。
图22示出最大最近邻距离的示例。
图23示出最大最近邻距离的示例。
图24示出了相邻点集搜索的示例。
图25示出了比特流结构图的示例。
图26是根据实施方式的信令信息的示例。
图27示出了根据实施方式的信令信息的示例。
图28示出根据实施方式的信令信息的示例。
图29示出根据实施方式的信令信息的示例。
图30是示出根据实施方式的点云接收装置的操作的流程图。
图31是示出根据实施方式的点云数据发送方法的流程图。以及
图32是示出根据实施方式的处理点云数据的方法的流程图。
具体实施方式
现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语选自本领域中广泛使用的通用术语,但是一些术语由申请人任意选择并且在以下描述中根据需要详细说明其含义。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图1示出根据实施方式的示例性点云内容提供系统。
图1所示的点云内容提供系统可以包括发送装置10000和接收装置10004。发送装置10000和接收装置10004能够有线或无线通信以发送和接收点云数据。
根据实施方式的点云数据发送装置10000可取得和处理点云视频(或点云内容)并将其发送。根据实施方式,发送装置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发送包含编码的点云视频数据的比特流。根据实施方式的比特流被封装在文件或片段(例如,流片段)中,并且经由诸如广播网络和/或宽带网络的各种网络发送。尽管图中未示出,发送装置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文件格式或Stanford Triangle格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可以包括一个或更多个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空间中的点组成的几何并且从颜色信息提取各个点的属性以取得点云数据。根据实施方式的图像和/或视频可以基于面向内技术和面向外技术中的至少一个来捕获。
图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可执行几何编码。根据实施方式的几何编码可以包括八叉树几何编码、直接编码、三联体几何编码和熵编码。直接编码和三联体几何编码选择性地或组合应用。几何编码不限于上述示例。
如图所示,根据实施方式的坐标变换器40000接收位置并将其变换为坐标。例如,位置可被变换为三维空间(例如,由XYZ坐标系表示的三维空间)中的位置信息。根据实施方式的三维空间中的位置信息可被称为几何信息。
根据实施方式的量化器40001将几何量化。例如,量化器40001可以基于所有点的最小位置值(例如,X、Y和Z轴中的各个个上的最小值)来将点量化。量化器40001执行量化操作:将最小位置值与各个点的位置值之间的差乘以预设量化标度值,然后通过对通过乘法获得的值进行舍入来寻找最近整数值。因此,一个或更多个点可具有相同的量化位置(或位置值)。根据实施方式的量化器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立方区域被称为块。一个块可以包括一个或更多个体素。块或体素可以对应于方块。几何被表示为各个块内的表面。根据实施方式的表面可与块的各条边相交至多一次。
一个块具有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排序。下表示出对于4个顶点,可根据顶点组合构造两个三角形。第一个三角形可由排序的顶点当中的顶点1、2和3组成,第二个三角形可由排序的顶点当中的顶点3、4和1组成。
表2-1.从按1,…,n排序的顶点形成的三角形
n三角形
3(1,2,3)
4(1,2,3),(3,4,1)
5(1,2,3),(3,4,5),(5,1,3)
6(1,2,3),(3,4,5),(5,6,1),(1,3,5)
7(1,2,3),(3,4,5),(5,6,7),(7,1,3),(3,5,7)
8(1,2,3),(3,4,5),(5,6,7),(7,8,1),(1,3,5),(5,7,1)
9(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,1,3),(3,5,7),(7,9,3)
10(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,1),(1,3,5),(5,7,9),(9,1,5)
11(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,1,3),(3,5,7),(7,9,11),(11,3,7)
12(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,12,1),(1,3,5),(5,7,9),(9,11,1),(1,5,9)
执行上采样过程以沿着三角形的边在中间添加点,并且执行体素化。所添加的点基于上采样因子和块的宽度来生成。添加的点被称为细化顶点。根据实施方式的点云编码器可以将细化顶点体素化。另外,点云编码器可以基于体素化的位置(或位置值)来执行属性编码。
图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所示,LOD 0包含P0、P5、P4和P2。LOD1包含LOD 0的点、P1、P6和P3。LOD2包含LOD 0的点、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变换编码是通过八叉树向后扫描进行属性帧内编码的示例。根据实施方式的点云编码器从体素开始扫描整个区域并且在各个步重复将体素合并为更大的块的合并过程,直至到达根节点。仅对占用节点执行根据实施方式的合并过程。不对空节点执行合并过程。对空节点正上方的上节点执行合并过程。
图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服务有关的内容数据并将其提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可以包括指示自驾驶服务的信号。
图15是示出根据实施方式的点云发送装置的操作的流程图。
如以上参照图1至图14所描述的,点云发送装置(例如,图1的发送装置、图4的点云编码器和图12的发送装置)接收输入点云数据并处理输入数据(1510)。输入数据包括几何和/或属性。根据实施方式,几何是表示点在点云中的位置的信息,并且属性是对应于各个点的颜色和/或反射率中的至少一者的信息。根据实施方式,几何可以用作涉及单个点的位置或多个点的所有位置的概念。根据实施方式,该属可以用作不仅涉及单个点的颜色(例如,RGB的R值)或反射率,而且涉及多个点的颜色和/或反射率的概念。根据实施方式的几何可以由至少一个坐标系的参数来表示,例如笛卡尔坐标系、柱面坐标系或球面坐标系。因此,点云发送装置(例如,参照图4描述的坐标变换器40000)可以将接收到的几何信息变换为坐标系上的信息,以将由输入几何信息指示的各个点的位置表示为3D空间中的位置。根据实施方式的坐标系不限于上述示例。此外,点云发送装置(例如,参照图4描述的量化器40001)可以对坐标系中表示的几何信息进行量化,并生成经变换的量化几何信息。例如,点云发送装置可以将诸如位置变换和/或旋转变换的一个或更多个变换应用于由几何信息指示的点的位置,并且通过将变换后的几何信息除以量化值来执行量化。根据实施方式的量化值可以基于编码单元(例如,拼块、切片等)与坐标系的原点之间的距离或与基准方向的角度而变化。根据实施方式,量化值可以是预设值。当执行量化时,一个或更多个点可以具有相同的位置。这些点称为重复点。即,一个或更多个点可以具有相同的量化位置但具有不同的属性。点云发送装置可以通过将重复点组合为一个点来去除复制(去除重复点),并且将关于与组合点相关联的多个属性的信息发送到属性传输模块以供属性编码。点云发送装置(例如,图4的量化器40001)可以执行量化和/或重复点去除,然后执行向剩余点分配属性的体素化。体素化是将点分组为体素的过程。详细过程与参照图4描述的相同,因此将跳过其描述。此外,点云发送装置可以变换属性的特性(例如,颜色)。例如,当该属性是颜色时,点云发送装置可以变换该属性的颜色空间(从RGB到YCbCr或反向)。属性的各个子分量(例如,亮度和色度)被独立地处理。
根据实施方式,点云发送装置可以将点云数据划分为3D空间中的拼块和切片,以便存储关于点云数据的点信息。拼块是边界框(例如,参照图5描述的边界框)中的(3D)长方体。边界框可以包括一个或更多个拼块。一个拼块可以完全或部分地与另一拼块重叠。一个拼块可以包括一个或更多个切片。一个切片是一组点,并且被表示为代表经编码的点云数据的全部或部分的一系列句法元素。一个切片可以具有或可以不具有对其它切片的依赖性。根据实施方式的点云发送装置可以包括被配置为分割点云数据的空间分割器。
根据实施方式,点云发送装置对几何执行几何编码(encoding)(或几何编码(coding))(1520)。点云发送装置可以执行参照图4描述的坐标变换器40000、量化器40001、八叉树分析器40002、表面近似分析器40003、算术编码器40004和几何重构器(重构几何)40005的操作中的至少一个操作。此外,根据实施方式的点云发送装置可以执行参照图12描述的数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码生成器12003、以及表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006和元数据处理器12007的操作中的至少一个操作。
根据实施方式,几何编码可以包括但不限于基于八叉树的八叉树几何编码和三进制几何编码中的至少一个。几何编码与参照图4描述的相同,因此跳过其描述。八叉树几何编码生成表示体素的八叉树。八叉树基于八叉树结构表示与体素匹配的点。体素和八叉树与参照图5和图6描述的那些相同,因此跳过其详细描述。
点云发送装置预测几何信息(1521)。点云发送装置可对编码几何执行量化,并基于相邻编码单元的量化值来计算预测值(或预测的几何信息)。此外,点云发送装置可以基于预测的几何信息和根据量化的几何重构的残差信息来生成重构的几何。提供重构的几何以供通过诸如滤波的附加处理进行属性编码。
点云发送装置(例如,图4的算术编码器40004)对量化的几何执行几何熵编码(1522)。根据实施方式,熵编码可以包括指数哥伦布、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)。
点云发送装置(例如,图4的属性变换器40007)执行属性转移(重新着色)以供属性编码(1530)。根据实施方式的点云发送装置可以接收重构的几何、几何和属性作为输入,并且确定使属性失真最小化的属性值。
所述点云发送装置执行属性编码(1531)。根据实施方式,点云处理装置根据点云内容选择性地使用RAHT编码、预测变换编码和提升变换编码,或使用一种或更多种编码方案的组合执行属性编码(coding)(或属性编码(encoding))。例如,RAHT编码和提升变换编码可以用于进行显著地压缩点云内容数据的有损编码。预测变换编码可以用于无损编码。根据实施方式的点云发送装置可以执行参照图4描述的颜色变换器40006、属性变换器40007、RAHT变换器40008、LOD生成器40009、提升变换器40010、及系数量化器40011和/或算术编码器40012的操作中的至少一个操作。此外,点云发送装置可以执行参照图12描述的颜色处理器12008、属性变换处理器(或属性变换处理器)12009、预测/提升/RAHT变换处理器12010和算术编码器12011的操作中的至少一个操作。
点云发送装置执行属性量化(1532)。点云发送装置可接收经编码属性的经变换残差属性,并且基于量化值生成经变换经量化残差属性。
点云发送装置(例如,图12的算术编码器12011)执行属性熵编码(1533)。点云发送装置可以接收变换后的量化残差属性信息,对其进行熵编码,并输出属性信息比特流。根据实施方式的熵编码可以包括指数哥伦布、CAVLC和CABAC中的任何一个或更多个,但不限于此。
图16是根据实施方式的点云发送装置的框图。
点云发送装置(例如,参照图15描述的点云发送装置)执行属性编码。根据实施方式,基于LOD生成属性编码。如参照图4和图8所描述的,可以通过将分布在3D空间中的点重新组织成一组细化级别来生成LOD。根据实施方式,LOD可包括以规则间隔分布的一个或更多个点。如上所述,根据实施方式的LOD是点云内容的细节程度。因此,随着LOD(或LOD值)指示的级别降低,点云内容的细节劣化。随着LOD指示的级别升高,点云内容的细节得到增强。根据实施方式,点云编码器(例如,图4的点云编码器)和点云解码器(例如,图11的点云解码器)可生成LOD以增加属性压缩率。这是因为具有相似属性的点很可能在目标点的附近,因此通过具有相似属性的相邻点获得的预测属性与目标点的属性之间的残差值很可能接近于零。因此,点云编码器和点云解码器可生成LOD以选择可用于预测属性的适当相邻点。
如图所示,点云发送装置包括LOD配置器1610和相邻点集配置器1620。LOD配置器1610与LOD生成器40009可以执行相同或相似的操作。即,如图所示,LOD配置器1610可接收属性和重构的几何,并基于接收到的属性和重构的几何来配置一个或更多个LOD。
根据实施方式,LOD配置器1610可使用一种或更多种方法来配置LOD。如上所述,点云解码器(例如,参照图10和图11描述的点云解码器)还应当生成LOD。因此,与根据实施方式的一种或更多种LOD配置方法(或LOD生成方法)相关的信息被包括在根据几何编码和属性编码生成的比特流中。LOD配置器1610的LOD输出被发送到预测变换器/反变换器和提升变换器/反变换器中的至少一个。
LOD配置器1610可以基于一种或更多种方法来生成LOD,所述方法能够在生成LODl集时保持点之间的特定间隔,同时降低点间距的计算复杂度。
根据实施方式,LOD配置器1610可以基于点的莫顿码来配置LOD。如上所述,通过将指示所有点的3D位置的坐标值(例如(x,y,z))表示为比特值并混合这些比特,来生成莫顿码。
根据实施方式,LOD配置器1610可以基于重构的几何生成各个点的莫顿码,并可以基于莫顿码以升序组织各个点。以莫顿码的升序组织的点的顺序可以被称为莫顿顺序。LOD配置器1610可通过对按莫顿顺序组织的点执行采样来配置LOD。LOD配置器可以以各种方式执行采样。例如,根据实施方式,LOD配置器可根据包括在对应于节点的各个区域中的点的莫顿顺序,基于采样率的间隙来顺序地选择点。也就是说,LOD配置器1610选择根据莫顿顺序首先组织的点(第0点),以及与采样数目一样的以采样率从第一点分开的点(例如,当采样率为5时,从第一点分开的第5点)。根据实施方式,LOD配置器可以基于节点的中心点的莫顿码值和相邻点的莫顿码值来选择具有与采样数目一样的与中心点的莫顿码值最接近的莫顿码值的点。
如参照图9所述,根据实施方式的点云编码器(或属性信息预测器)生成针对点的预测器,并执行用于设置各个点的预测属性(或预测的属性值)的预测变换编码。即,其可以为N个点生成N个预测器。
当各个LOD(或LOD集)被生成时,相邻点集配置器1620可搜索或检索LODl集中的点的一个或更多个相邻点。一个或更多个相邻点的数目可以表示为X,其中X是大于0的整数。根据实施方式,相邻点是3D空间中与LODl集的该点最靠近的最近邻(NN)点,并且被包括在与目标LOD相同的LOD(例如,LODl)中,或者被包括在级别比目标LOD低的LOD集(例如,LODl-1,LODl-2…,LOD0)中。相邻点集配置器1620可将一个或更多个所搜索的相邻点在预测器中注册为相邻点集。根据实施方式,可以根据来自用户的输入信号将相邻点的数目设置为相邻点的最大数目,或者可以根据相邻点搜索方法将相邻点的数目预设为特定值。
根据实施方式,相邻点集配置器1620可搜索LOD0和LOD1以寻找属于图9所示的LOD1的点P3的相邻点。如图9所示,LOD0包括P0、P5、P4和P2。LOD2包括LOD0的点、LOD1的点以及P9、P8和P7。当相邻点的数目X为3时,相邻点集配置器1620在图9顶部所示的3D空间中搜索属于LOD0或LOD1的点以寻找最靠近P3的三个相邻点。即,相邻点集配置器1620可搜索属于LOD1(相同LOD级别)的P6,以及属于LOD0(较低LOD级别)的P2和P4,作为P3的相邻点。在3D空间中,P7是靠近P3的点,但不被作为相邻点搜索,因为其处于较高的LOD级别。相邻点集配置器1620可将搜索到的相邻点P2、P4和P6在预测器中注册为P3的相邻点集。根据实施方式的用于生成相邻点集的方法不限于该示例。此外,关于根据实施方式的用于产生相邻点集的方法的信息(在下文中,相邻点集生成信息)被包括在包含编码点云视频数据的比特流中,并且被发送到接收装置(例如,图1的接收装置10004或图10和图11的点云解码器)。
如上所述,所有点可以具有一个预测器。根据实施方式的点云编码器可应用预测器来对对应点的属性值编码并生成预测属性(或预测的属性值)。根据实施方式,在生成LOD之后,基于搜索到的相邻点生成预测器。预测器用于预测目标点的属性。点的属性值和由点的预测器预测的属性的残差值通过比特流被发送到点云接收装置。
图17示出了根据LOD级别的点的分布。
该图的最左边部分1700表示对应于最高级别的LOD的内容。箭头1710指示LOD级别从LOD的最低级别增加。当LOD级别降低时,点间距增加(密度降低)。当LOD级别升高时,点间距减小(密度增加)。
图18例示相邻点集搜索方法的示例。
图18是由相邻点集配置器(例如,图16的相邻点集配置器1620)搜索相邻点集的方法的示例。图中所示的箭头表示根据实施方式的莫顿顺序。
如上所述,根据实施方式的点云编码器可以将点的位置值(例如,表示3D空间的坐标系的坐标值(x,y,z))呈现为比特值,并通过混合比特来生成莫顿码。基于莫顿码的大小以升序组织点。因此,位于按照莫顿顺序组织的其它点之前的点具有最小的莫顿码。为了为属于LODl集的点Px生成相邻点集,根据实施方式的相邻点集配置器在属于LOD0至LODl-1集的点(保留列表)和属于LODl集的点中对以莫顿顺序位于点Px之前的点(即,莫顿码小于或等于Px的莫顿码的点)执行相邻点集搜索。根据实施方式,当存在一个LOD时,相邻点集配置器可以基于预测目标点(例如,Px)在莫顿顺序中的位置来确定相邻点搜索范围。
相邻点集配置器可在以莫顿顺序位于点Px之前的点中搜索具有与点Px的莫顿码最接近的莫顿码的点。根据实施方式,所搜索的点可以被称为中心点。搜索中心点的方法不限于该示例。根据实施方式,相邻点配置器可通过根据搜索中心点的方法移动搜索范围来根据属性编码增加压缩率。根据实施方式,关于搜索中心点的方法的信息被包括在相邻点集生成信息中,并通过包含上述编码点云视频数据的比特流被发送到接收装置(例如,图1的接收装置10004或图10和图11的点云解码器)。根据实施方式,当存在一个LOD时,相邻点集配置器可以基于预测目标点(例如,Px)在莫顿顺序中的位置来确定相邻点搜索范围。
相邻点集配置器可以基于搜索到的中心点来设置相邻点搜索范围。相邻点搜索范围可以包括以莫顿顺序位于中心点之前和之后的一个或更多个点。根据实施方式,关于相邻点搜索范围的信息可被包括在相邻点集生成信息中,并通过包含编码点云视频数据的比特流被发送到接收装置。相邻点集配置器比较在中心点周围确定的相邻点搜索范围内的点与点Px之间的距离,并将与所设置的相邻点最大数目(例如,3)一样多的离点Px最近距离的点注册为相邻点。
由于注册的相邻点靠近目标点(例如,Px),因此确定它们具有高的属性相关性。然而,依赖于点云内容的特性,可能存在这样的情况:所注册的相邻点之间的距离在距离方面不都与目标点(例如,Px)相邻。
图19示出点云内容的示例。
该图的左部示出了具有高密度点的点云内容1900,并且该图的右部示出了具有低密度点的点云内容1910。依赖于对象、捕获方法和所采用的设备点,云内容具有不同的特性。
例如,具有高密度点的点云内容1900是通过用3D扫描仪等捕获对象的相对窄的区域而生成的,因此在点之间具有高相关性。具有低密度点的点云内容1910是通过使用激光雷达设备等以低密度捕捉大面积而生成的,因此在点之间具有相对低的相关性。
因此,在点云内容1900具有高密度的情况下,即使当注册的相邻点与目标点(例如,点Px)分开时,属性编码的效率也不会劣化,因为点之间的属性相关性高。在点云内容1910具有低密度的情况下,只有当注册的相邻点与目标点之间的距离在保证点之间的属性相关性的范围内时,属性编码的效率才不降低。
因此,为了与点云内容的特性无关地确保最佳属性压缩效率,根据实施方式的点云编码器执行相邻点搜索方法,其中考虑到点云内容的特性来设置(计算)相邻点与目标点之间的最大最近邻距离以选择和注册相邻点。最大最近邻距离可以根据LOD生成方法而变化,或者可以由用户设置。根据实施方式,通过比特流发送关于最大最近邻距离的信息,例如,关于最大最近邻距离计算方法、相关参数等的信息。因此,点云接收装置可取得关于离比特流的最大最近邻距离的信息,并基于所取得的信息搜索相邻点以执行属性解码。
图20示出了基于八叉树的LOD生成过程的示例。
根据实施方式的LOD 2000可以包括基于点之间的距离分组的点。点云编码器基于八叉树2010重新组织点以生成一个或更多个LOD。根据点的位置或点的顺序(例如,莫顿码顺序等)适用于八叉树解码的迭代生成算法被应用于分组的点。在各个顺序迭代中,生成属于一个LOD(例如,LODi)的一个或更多个细化级别R0,R1…,Ri。即,LOD的级别是多个细化级别的组合。八叉树具有一个或更多个深度。如参照图5至图8所述,在八叉树中,上节点被称为根节点,下节点被称为叶节点,并且深度在从根节点到叶节点的方向上增加。八叉树的各个深度可以对应于一个或更多个LOD级别。例如,根节点对应于LOD0,而叶节点对应于最大级别LOD N。图中所示的八叉树2010的点S的深度对应于LOD N-x的级别。
根据实施方式,使用近似最近邻搜索方法在八叉树中从最低点到最高点的方向上生成LOD。即,在级别低于或等于当前LOD(例如,LODl)的级别的LOD(例如,LODl-1)中搜索当前LOD中的对应点的最近邻点。根据实施方式的点云处理装置(或发送装置)可以计算最大最近邻距离,并且选择距对应点的距离小于或等于最大最近邻距离的点作为相邻点。根据实施方式,基于基准距离来确定最大最近邻距离,该基准距离是与八叉树节点的上节点相对应的块的对角线距离,该八叉树节点与该点所属的LOD(例如,LODl)相对应。
根据实施方式,各个LOD的基准距离表示如下。
这里,参数LOD表示各个LOD的级别。
图21示出了基准距离的示例。
如参照图20所述,针对各个LOD的基准距离表示各个LOD所属的块的对角线距离。
该图的左部示出了对应于LOD0的块2100,并且该图的右部示出了对应于LOD1的块2110。在八叉树中,父节点(或上节点)具有8个子节点。因此,对应于父节点的3D块可包括对应于子节点(或下节点)的8个3D块。因此,对应于LOD1的块2110可包括属于同一父节点(例如,对应于图20所示的LOD0的节点)的8个块。
图22示出最大最近邻距离的示例。
根据实施方式的点云发送装置可以根据点云内容的特征将八叉树节点范围设置为相邻点搜索范围。根据实施方式,将相邻点搜索范围计算为与对应点所属的LOD级别对应的八叉树节点的相邻节点(例如,父节点)的数目。相邻点搜索范围可以表示为NN_Range。NN_Range表示当前点周围的八叉树节点的数目。即,NN_Range指示对应于八叉树的深度的一个或更多个八叉树节点(或父八叉树节点)的数目,该深度等于或低于对应于当前点所属的LOD级别的八叉树的深度。根据实施方式,相邻点搜索范围可以包括最大范围和最小范围。根据实施方式,根据参照图20描述的基准距离和相邻点搜索范围如下确定(计算)最大最近邻距离。
根据实施方式的最大最近邻距离计算方法可以被称为基于八叉树的相邻点最大最近邻距离计算。
图22的左部示出了当NN_Range的值为1时的最大最近邻距离的示例,并且图22的右部示出了当NN_Range的值为3时的最大最近邻距离的示例。根据实施方式,NN_Range的值可以被设置为与八叉树节点范围无关的任何值。因此,最大最近邻距离表示为:
这里,LOD是指示预测目标点所属的LOD的级别的参数。根据实施方式,NN_Range可以通过计算目标点(例如,Px)和相邻点之间的距离的方法来设置。例如,距离计算方法可以使用L2范数或者可以使用L1范数来减少计算量,或者可以使用L22和L12。NN_Range的值根据上述距离计算方法调整。另外,可以根据点云内容的特性来设置NN_Range。点云发送装置选择距当前点具有等于或小于最大最近邻距离的距离的点(相邻点候选点)作为相邻点。另外,点云发送装置通过比特流将关于NN_Range的信息发送到点云接收装置。因此,点云接收装置(或点云解码器)取得关于NN_Range的信息,计算最大最近邻距离,并基于最大最近邻距离生成相邻点集以执行属性解码。
图23示出最大最近邻距离的示例。
根据实施方式,可以基于点之间的距离生成LOD。用于为各个LOD选择点的距离可以由用户设置或计算。用于为各个LOD选择点的距离表示如下。
dist2L,其中L表示LOD的级别。
用于为各个LOD选择点的距离被设置为相邻点搜索的基准距离。
图23示出了属于各个LOD的相邻点的基准距离。属于LOD0的点P0、P2、P4和P5间的距离是dist2LOD0,属于LOD2的点P7、P8和P9间的距离是distLOD2。如上参照图22所述,相邻点搜索范围可以表示为NN_Range。根据实施方式的最大最近邻距离基于基准距离和搜索范围确定如下。
最大最近邻距离=dist2L×NNRANGE,或
基于L2的最大最近邻距离=dist2L 2×NNRANGE
根据实施方式的最大最近邻距离计算方法可以被称为基于距离的相邻点最大最近邻距离计算方法。
根据实施方式,NN_Range可以通过计算目标点(例如,Px)和相邻点之间的距离的方法来设置。例如,距离计算方法可以使用L2范数或者可以使用L1范数(L1=(n∑i|xi|)=(|x1|+|x2|+|x3|+...+|xn|)来减少计算量,或者可以使用L22和L12。
根据实施方式,可以基于采样(抽取)来生成LOD。即,点云发送装置可以基于莫顿码值来组织点,然后在当前LOD中注册与根据组织顺序的第k个点不对应的点。未被注册的点用于产生不同于当前LOD的其它LOD。LOD可以具有相同或不同的k值。针对各个LOD的k值表示为kL。用于根据实施方式的相邻点搜索的基准距离被设置为各个LOD的平均点和连续的第kL个点之间的距离的平均值。可以针对第kL个点的全部或一些计算平均值。根据实施方式的基准距离如下给出。
基准距离=average_dist2norm(MC_points[(i+1)*kL]-MC_points[i*kL]),其中MC_points表示基于莫顿码组织的点。
如上参照图22所述,相邻点搜索范围表示为NN_Range。根据实施方式的最大最近邻距离基于上述基准距离和搜索范围来确定,并且给出如下。
最大最近邻距离=average_dist2norm(MC_points[(i+1)*kL]-MC_points[i*kL])x NNRANGE,或者
基于L2的最大最近邻距离=average_distnorm(MC_points[(i+1)*kL]-MC_points[i*kL])xNNRANGE 2。
这里,average_dist2norm和average_distnorm表示使用点的位置差向量作为输入值来计算距离的平均值的运算。根据实施方式的最大最近邻距离计算方法可以被称为基于采样的相邻点最大最近邻距离计算。
根据实施方式的NN_Range可以由计算目标点(Px)与相邻点之间的距离的方法来设置。例如,距离计算方法可以使用L2范数或者可以使用L1范数(L1=(n∑i|xi|)=(|x1|+|x2|+|x3|+...+|xn|)来减少计算量,或者可以使用L22和L12。
根据实施方式的用于相邻点搜索的基准距离可以被计算为采样点之间的莫顿码的平均差(通过计算针对各个LOD的莫顿码之间的平均差来计算相邻点的最大最近邻距离的方法),或者可以被计算为针对当前配置的LOD计算的点之间的平均距离,而与距离和采样无关(通过计算针对各个LOD的平均距离差来计算相邻点的最大最近邻距离的方法)。最大最近邻距离可以根据用户输入来设置,并且可以通过比特流发送到点云接收装置。
图24示出相邻点集搜索的示例。
图24类似于图18,示出了其中相邻点集配置器(例如,图16的相邻点集配置器1610)基于参照图20至图23描述的最大最近邻距离执行相邻点集搜索的过程。图中所示的箭头表示根据实施方式的莫顿顺序。为了为属于LODl集的点Px生成相邻点集,根据实施方式的相邻点集配置器在属于LOD0至LODl-1集的点(保留列表)和属于LODl集的点中对以莫顿顺序位于点Px之前的点(即,具有小于或等于Px的莫顿码的莫顿码的点)执行相邻点集搜索。相邻点集配置器可在以莫顿顺序位于点Px之前的点中搜索具有与点Px的莫顿码最接近的莫顿码的点。根据实施方式,所搜索的点可以被称为中心点。相邻点集配置器将点Px和所搜索的中心点的左边和右边的相邻点搜索范围内的多个点之间的多个距离进行比较。相邻点集配置器将在Px所属的LOD处确定的最大最近邻距离(例如,参照图20至图23描述的最大最近邻距离)内的点当中最靠近Px的点注册为相邻点集。
根据实施方式,在搜索范围内的点中搜索相邻点时,相邻点集配置器将搜索范围划分为一个或更多个块以减少搜索时间。针对对应于块的一组点搜索相邻点的方法被配置如下。
保留列表中的点被分成K个组。点云发送装置计算围绕各个组中的点的边界框的位置和大小。
点云发送装置在保留的列表中的点中搜索具有与点Px的莫顿码最接近的莫顿码值的点。搜索到的点由Pi表示。
可以计算Px与搜索到的点Pi所属的组中的多个点之间的距离,并且可以将近距离处的点注册为相邻点。
当注册的相邻点的数目小于相邻点的最大数目时,可以计算对应点和相邻组中的点之间的距离。
当注册的相邻点的数目大于相邻点的最大数目时,计算下一相邻组的边界框和Px之间的距离。将所计算的距离和所注册的多个相邻点与点Px之间的距离中的最长距离进行比较。当所计算的距离大于该最长距离时,该组中的点不用作相邻点候选。当所计算的距离小于最长距离时,可以计算该组中的多个点与Px之间的距离,并且可以将具有近距离的点注册为相邻点(相邻点更新)。根据实施方式的相邻点搜索仅在搜索范围(例如,128)内执行。
由于如上所述相邻点集配置器搜索Pi周围的相邻点,可以节省搜索相邻点的时间。此外,当搜索到的相邻点与相邻点的最大数目一样时,可以省略相邻点注册过程。此外,由于相邻点集配置器基于边界框搜索相邻点,因此可以提高相邻点搜索的准确性。
如上所述,在计算点之间的距离时或者在搜索所有相邻点之后,可以应用最大最近邻距离。相邻点集的生成结果可以根据应用最大最近邻距离的步骤而变化,并且可以影响比特流大小和PSNR。
因此,根据实施方式的点云发送装置(或相邻点集生成器)可以根据点云内容和/或服务的特性来计算Px与点之间的距离,并且将具有小于或等于最大最近邻距离的距离的点注册为相邻点。此外,点云发送装置可以根据点云内容和/或服务的特性来注册Px的最大相邻点,确定所注册的点与点Px之间的距离是否短于或长于最大最近邻距离,即,该距离是否在最大最近邻距离内,并且从相邻点去除不在最大最近邻距离内的点。根据实施方式的最大最近邻距离应用步骤(或位置)被包括在关于参照图19描述的关于最大最近邻距离的信息中,例如,关于最大最近邻距离计算方法、相关参数等的信息,并且通过比特流被发送。因此,点云接收装置可从比特流获得关于最大最近邻距离的信息,基于所获得的信息搜索相邻点,并执行属性解码。
图25示出了比特流结构图的示例。
点云处理装置(例如,参照图1、图12和图14描述的发送装置)可以以比特流的形式发送编码点云数据。比特流是形成点云数据(或点云帧)的表示的比特序列。
点云数据(或点云帧)可被划分为拼块和切片。
点云数据可被分割成多个切片,并被编码在比特流中。一个切片是一组点,并且被表示为代表编码点云数据的全部或部分的一系列句法元素。一个切片可以具有或可以不具有对其它切片的依赖性。此外,一个切片可以包括一个几何数据单元,并且可以具有一个或更多个属性数据单元或零个属性数据单元。由于如上所述基于几何编码来执行属性编码,因此属性数据单元基于同一切片中的几何数据单元。即,点云数据接收装置(例如,接收装置10004或点云视频解码器10006)可以基于解码后的几何数据来处理属性数据。因此,几何数据单元必须出现在切片内的相关属性数据单元之前。切片中的数据单元必须是连续的,并且切片的顺序未规定。
拼块是边界框(例如,参照图5描述的边界框)中的(3D)长方体。边界框可以包括一个或更多个拼块。一个拼块可以完全或部分地与另一拼块交叠。一个拼块可以包括一个或更多个切片。
因此,点云数据发送装置可通过根据重要性处理与拼块相应的数据来提供高质量的点云内容。即,根据实施方式的点云数据发送装置可以使用点云压缩编码以较好的压缩效率和适当的延迟来处理对应于对用户重要的区域的数据。
根据实施方式,比特流包含信令信息和多个切片(切片0,…,切片n)。如图所示,信令信息在比特流中的切片之前。因此,点云数据接收装置可首先获得信令信息并基于信令信息顺序地或选择性地处理多个切片。如图所示,切片0包括一个几何数据单元(Geom00)和两个属性数据单元(Attr00和Attr10)。
而且,几何数据单元在同一切片中在属性数据单元之前。因此,点云数据接收装置首先处理(解码)几何数据单元(或几何数据),并基于处理后的几何数据处理属性数据单元(或属性数据)。根据实施方式的信令信息可被称为信令数据、元数据等,但不限于此。
根据实施方式,信令信息包括序列参数集(SPS)、几何参数集(GPS)和一个或更多个属性参数集(APS)。SPS对关于整个序列的信息进行编码,诸如简档或层级,并且可以包括关于整个序列的综合信息(序列层级),诸如画面分辨率和视频格式。GPS是关于应用于包括在序列(比特流)中的几何的几何编码的信息。GPS可包括关于八叉树(例如,参照图6描述的八叉树)的信息和关于八叉树深度的信息。APS是关于应用于包括在序列(比特流)中的属性的属性编码的信息。如图所示,根据用于标识属性的标识符,比特流包含一个或更多个APS(例如,图中的APS0,APS1…)。
根据实施方式,信令信息可以进一步包括TPS。TPS是关于拼块的信息,并且可以包括关于拼块标识符、拼块大小等的信息。根据实施方式,信令信息被应用于相应的比特流作为关于序列的信息,即比特流层级。此外,信令信息具有包括句法元素和描述句法元素的描述符的句法结构。可以使用用于描述句法的伪码。另外,点云接收装置可顺序地解析和处理出现在句法中的句法元素。
尽管图中未示出,但是几何数据单元和属性数据单元分别包括几何报头和属性报头。几何报头和属性报头是在相应的切片层级应用的信令信息,并且具有上述句法结构。
几何报头包括用于处理相应的几何数据单元的信息(或信令信息)。因此,几何报头首先出现在几何数据单元中。点云接收装置可以通过首先解析几何报头来处理几何数据单元。几何报头具有与GPS的关联,GPS包含关于整个几何的信息。因此,几何报头包含指定GPS中包括的gps_geom_parameter_set_id的信息。此外,几何报头包含与几何数据单元所属的切片相关的切片信息(例如,tile_id)以及切片标识符。
属性报头包含用于处理相应属性数据单元的信息(或信令信息)。因此,属性报头首先出现在属性数据单元中。点云接收装置可通过首先解析属性报头来处理属性数据单元。属性报头具有与APS的关联,APS包含关于所有属性的信息。因此,属性报头包含指定APS中包括的aps_attr_parameter_set_id的信息。如上所述,属性解码基于几何解码。因此,属性报头包含指定包含在几何报头中的切片标识符的信息,以确定与属性数据单元相关联的几何数据单元。
当点云数据发送装置通过应用图20至图24中描述的最大最近邻距离产生一组相邻点并执行属性编码时,比特流中的信令信息可包括与最大最近邻距离相关的信息。根据实施方式,与最大最近邻距离相关的信息可以被包括在序列层级的信令信息(例如,SPS、APS等)中,或者可以被包括在切片层级(例如,属性报头)中。
图26是根据实施方式的信令信息的示例。
图26表示参照图25描述的SPS的句法结构,并示出其中与参照图25描述的最大最近邻距离相关的信息包含在序列层级的SPS中的示例。
根据实施方式的SPS的句法包括以下句法元素。
profile_idc:指示应用于比特流的简档。该简档指定应用于比特流上的约束以指定用于比特流解码的能力。各个简档作为算法特征和约束的子集由符合该简档的所有解码器支持。其旨在用于解码并且可以根据标准来定义。
profile_compatibility_flag:指示比特流是否符合用于解码的特定简档或另一简档。
sps_num_attribute_sets:指示比特流中编码后的属性的数目。sps_num_attribute_sets的值应在0至63的范围内。
跟随sps_num_attribute_sets的for语句包括指示关于与sps_num_attribute_sets所指示的数目一样的各个属性的信息的元素。在该图中,i表示各个属性(或属性集),并且i的值大于或等于0并且小于由sps_num_attribute_sets指示的数目。
attribute_dimension_minus1[i]:加1之后指定第i个属性的分量数。当该属性是颜色时,该属性对应于表示目标点的光特性的三维信号。例如,该属性可以作为RGB(红、绿、蓝)的三个分量用信号表示。该属性可以用信号表示为YUV的三个分量,即亮度(亮度)和两个色度(饱和度)。当该属性是反射率时,该属性对应于表示目标点的光反射强度的比率的一维信号。
attribute_instance_id[i]:指定用于第i属性的实例id。attribute_instance_id的值可用于区分具有相同属性标签的属性。例如,其对于从不同的角度来看具有多种颜色的点云是有用的。
如上所述,SPS句法包含关于最大最近邻距离的信息。以下元素表示关于参照图20至图24描述的最大最近邻距离的信息。
nn_base_distance_calculation_method_type:指示在比特流(序列)的属性编码中应用的基准距离计算方法的类型。根据nn_base_distance_calculation_method_type的值如下指定计算最大最近邻距离的方法:
0:使用输入基准(最大)距离;
1:基于八叉树的相邻点最大最近邻距离计算;
2:基于距离的相邻点最大最近邻距离计算;
3:基于采样的相邻点最大最近邻距离计算;
4:通过计算针对各个LOD的莫顿码的平均差来计算相邻点最大最近邻距离;以及
5:通过计算针对各个LOD的平均距离差来计算相邻点最大最近邻距离。
当nn_base_distance_calculation_method_type的值为0时,SPS句法包括以下元素。
nn_base_distance:表示在计算最大最近邻距离时使用的基准距离值。
nearest_neighbour_max_range[i]:指示在对比特流的属性进行编码时相邻点的最大范围(例如,参照图22描述的相邻点搜索范围NN_range的最大范围)。
nearest_neighbour_min_range[i]:指示在对比特流的属性进行编码时相邻点的最小范围(例如,参照图22描述的相邻点搜索范围NN_range的最小范围)。
NN_range_filtering_location_type:指示在对比特流的属性进行编码时应用的相邻点最大最近邻距离的应用方法。根据NN_range_filtering_location_type的值指定方法如下:
0:计算各点之间的距离,并在注册相邻点时应用相邻点最大最近邻距离;以及
1:注册所有相邻点并仅去除所注册的点中超出相邻点最大相邻距离的点
图27示出了根据实施方式的信令信息的示例。
图27表示参照图25描述的APS的句法结构,并且示出了其中与参照图25描述的最大最近邻距离相关的信息被包括在序列层级的APS中的示例。
根据实施方式,APS的句法包括以下句法元素。
aps_attr_parameter_set_id:提供APS的标识符以供其它句法元素参考。aps_attr_parameter_set_id的值应在0到15(含)的范围内。一个或更多个属性数据单元被包含在比特流(例如,参照图17描述的比特流)中,并且各个属性数据单元包括属性报头。属性报头包括具有与aps_attr_parameter_set_id相同的值的字段(例如,ash_attr_parameter_set_id)。根据实施方式的点云接收装置解析APS,并基于解析的APS和属性报头来处理引用相同aps_attr_parameter_set_id的属性数据单元。
aps_seq_parameter_set_id:指定活动SPS的sps_seq_parameter_set_id的值。aps_seq_parameter_set_id的值应在0到15(含)的范围内。
attr_coding_type:指示针对attr_coding_type的给定值用于属性的编码类型。属性编码(coding)意味着属性编码(encoding)。如上所述,属性编码使用RAHT编码,预测变换编码和提升变换编码中的至少一个,并且attr_coding_type指示上述三种编码类型中的任一种。因此,attr_coding_type的值在比特流中等于0、1或2中的任一个。attr_coding_type的其它值稍后可由ISO/IEC使用。因此,根据实施方式的点云接收装置忽略具有不同于0、1和2的值的attr_coding_type。当attr_coding_type等于0时,属性编码类型是预测变换编码。当attr_coding_type等于1时,属性编码类型是RAHT编码。当attr_coding_type等于2时,属性编码类型是提升变换编码。attr_coding_type的值和由该值指示的编码类型可被改变。例如,当值为0时,属性编码类型可以是RAHT编码。
以下是当属性编码是提升变换编码或预测变换编码时包括在APS中的句法元素。
当属性编码是提升变换编码时,APS包括与上述最大最近邻距离相关的句法元素。
different_NN_range_in_tile_flag:指示是否针对各个拼块使用相邻点的不同最大/最小范围。
different_NN_range_per_lod_flag:指示是否针对各个LOD使用相邻点的不同最大/最小范围。
当different_NN_range_per_lod_flag指示相邻点的最大/最小范围没有被不同地用于各个LOD时,ASP可包括以下句法元素中的至少一个或更多个:nearest_neighbour_max_range、nearest_neighbour_min_range、nn_base_distance_calculation_method_type、nn_base_distance以及NN_range_filtering_type。各个元素的描述与图26的描述相同,因此被跳过。
当different_NN_range_per_lod_flag指示相邻点的不同最大/最小范围用于相应LOD时,根据实施方式的APS包括针对各个LOD的信息。以下语句包括指示与所指示的数目num_detail_levels_minus1一样的各个LOD的信息的元素。图中所示的idx表示各个LOD,并且idx的值大于或等于0并且小于或等于由num_detail_levels_minus1指示的数目。
根据实施方式的ASP包括用于各个LOD的nearest_neighbour_max_range[idx]、nearest_neighbour_min_range[idx]、nn_base_distance_calculation_method_type[idx]、nn_base_distance[idx]和NN_range_filtering_location_type[idx]元素中的至少一个或更多个。各个元素的描述与图26的描述相同,因此被跳过。
图28示出了根据实施方式的信令信息的示例。
图28表示参照图25描述的TPS的句法结构,并示出了与参照图25描述的最大最近邻距离相关的信息被包括在序列层级的TPS中的示例。
根据实施方式的TPS的句法包括以下句法元素。
num_tiles指示针对比特流用信号通知的拼块的数目。当不存在针对比特流用信号通知的拼块时,此信息的值推断为0。跟随num_tiles的for语句具有针对各个拼块的信令参数。在该语句中,i是表示各个拼块的参数,并且具有大于或等于0且小于由num_tiles指示的值的值。
tile_bounding_box_offset_x[i]表示笛卡尔坐标系中第i个拼块的x偏移。当该参数不存在时,tile_bounding_box_offset_x[0]的值被视为SPS中包括的sps_bounding_box_offset_x的值。
tile_bounding_box_offset_y[i]表示笛卡尔坐标系中第i个拼块的y偏移。当该参数不存在时,tile_bounding_box_offset_y[0]的值被视为SPS中包括的sps_bounding_box_offset_y的值。
当参照图27描述的ASP中的different_NN_range_intile_flag指示相邻点的不同最大/最小范围用于各个拼块时(different_NN_range_in_tile_flag==真),根据实施方式的TPS句法包括nearest_neighbour_max_range[i]、nearest_neighbour_min_range[i]、nn_base_distance_calculation_method_type[i]、nn_base_distance[i]和NN_range_filtering_location_type[i]元素中的至少一个或更多个。各个元素的描述与图26的描述相同,因此被跳过。
根据该实施方式的TPS还包括以下元素。
different_NN_range_in_slice_flag[i]:指示不同相邻点最大/最小范围是否用于拼块i中的切片。
当不同的相邻点最大/最小范围用于拼块i中的切片时(different_NN_range_in_slice_flag[i]==真),TPS句法包括以下元素。
nearest_neighbor_offset_range_in_slice_flag[i]:指示在切片中定义的相邻点的最大/最小范围是由在拼块中定义的相邻点的最大/最小范围中的范围偏移指示还是由绝对值指示。
图29示出了根据实施方式的信令信息的示例。
图29表示参照图25描述的属性报头的句法结构,并示出其中关于参照图25描述的最大最近邻距离的信息被包括在切片层级的属性报头中的示例。虽然为了简单起见,图中分别示出了两个句法,但是这两个句法构成一个属性报头句法。
根据实施方式的属性报头的句法包括以下句法元素。
ash_attr_parameter_set_id具有与活动SPS的aps_attr_parameter_set_id相同的值。
ash_attr_sps_attr_idx指定活动SPS中属性集的顺序。ash_attr_sps_attr_idx的值落入从0到包括在活动SPS中的sps_num_attribute_set的值的范围内。
ash_attr_geom_slice_id指示包括在几何报头中的切片ID(例如,gsh_slice_id)的值。
当切片使用不同的相邻点最大/最小范围时(参照图28描述的TPS中的different_NN_range_in_slice_flag==真),属性报头句法包括以下元素。
different_NN_range_per_lod_flag:指示是否针对相应LOD使用相邻点的不同最大/最小范围。
当相邻点的不同最大/最小范围不用于各个LOD时,属性报头句法包括以下元素。
当nearest_neighbour_offset_range_in_slice_flag(例如,包括在参照图28描述的TPS中的nearest_neighbour_offset_range_in_slice_flag)指示在切片中定义的相邻点的最大/最小范围由绝对值指示时,属性报头句法包括nearest_neighbour_absolute_max_range和nearest_neighbour_absolute_min_range作为元素。
nearest_neighbour_absolute_max_range:指示相邻点的最大范围。
nearest_neighbour_absolute_min_range:指示相邻点的最小范围。属性报头句法包括nn_base_distance_calculation_method_type,nn_base_distance或NN_range_filtering_location_type中的至少一个或更多个。各个元素的描述与图26的描述相同,因此被跳过。
当nearest_neighbour_offset_range_in_slice_flag(例如,包括在参照图28描述的TPS中的nearest_neighbour_offset_range_in_slice_flag)指示在切片中定义的相邻点的最大/最小范围由在拼块中定义的相邻点的最大/最小范围中的范围偏移指示时,属性报头句法包括nearest_neighbour_max_range_offset和nearest_neighbour_min_range_offset元素。
nearest_neighbour_max_range_offset:指示切片的相邻点的最大范围偏移。基准是切片所属的拼块的相邻点的最大范围。
nearest_neighbour_min_range_offset:指示切片的相邻点的最小范围偏移。基准是切片所属的拼块的相邻点的最小范围。
属性报头句法包括nn_base_distance_calculation_method_type、nn_base_distance和NN_range_filtering_location_type元素中的至少一个或更多个。各个元素的描述与图26的描述相同,因此被跳过。
当相邻点的不同最大/最小范围用于各个LOD时,属性报头句法还包括关于各个LOD的最大最近邻距离的信息。
当nearest_neighbour_offset_range_in_slice_flag(例如,包括在参照图28描述的TPS中的nearest_neighbour_offset_range_in_slice_flag)指示在切片中定义的相邻点的最大/最小范围由绝对值指示时,属性报头句法包括以下元素。以下语句具有针对各个LOD的信令参数。idx是表示各个LOD的参数,并且具有大于或等于0且小于由num_detail_level_munus1指示的值的值。属性报头句法包括各个LOD的nearest_neighbour_absolute_max_range[idx]、nearest_neighbour_absolute_min_range[idx]、nn_base_distance_calculation_method_type[idx]、nn_base_distance[idx]和NN_range_filtering_location_type[idx]元素中的至少一个或更多个。各个元素的描述与上述相同,因此被跳过。
当nearest_neighbour_offset_range_in_slice_flag(例如,包括在参照图28描述的TPS中的nearest_neighbour_offset_range_in_slice_flag)指示在切片中定义的相邻点的最大/最小范围由在拼块中定义的相邻点的最大/最小范围中的范围偏移指示时,属性报头句法包括以下元素。以下语句具有各个LOD的信令参数。idx是表示各个LOD的参数,并且具有大于或等于0且小于由num_detail_level_munus1指示的值的值。属性报头句法包括用于各个LOD的nearest_neighbour_max_range_offset[idx]、nearest_neighbour_min_range_offset[idx]、nn_base_distance_calculation_method_type[idx]、nn_base_distance[idx]和NN_range_filtering_location_type[idx]元素中的至少一个或更多个。这些元件与上述元件相同,因此跳过对其的描述。
图30是示出根据实施方式的点云接收装置的操作的流程图。
图30的点云接收装置的操作对应于参照图15描述的点云发送装置的操作。
根据实施方式的点云接收装置(例如,图1的接收装置10004、图10和图11的点云解码器、以及图13的接收装置)接收点云比特流(例如,参照图25描述的比特流)(3000)。如参照图25所述,比特流包含信令信息、编码后的几何和编码后的属性。
点云接收装置从接收的比特流获得几何比特流和属性比特流(3010、3020)。点云接收装置基于比特流中的信令信息获得几何比特流(或几何数据单元)和属性比特流(属性数据单元)。
点云接收装置对所获得的几何比特流执行熵解码(3011)。点云接收装置可执行熵解码操作,该操作是参照图15描述的熵编码1522的逆过程。如上所述,熵编码操作可包括指数哥伦布、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC),熵解码操作可包括根据熵编码操作的指数哥伦布、CAVLC和CABAC。
点云接收装置对所述经熵解码的几何执行几何解码(3012)。根据实施方式,几何解码可以包括八叉树几何解码和三进制几何解码,但不限于此。点云接收装置执行参照图12描述的算术解码器(算术解码)12000、八叉树合成器(合成八叉树)12001、表面近似合成器(合成表面近似)12002、几何重构器(重构几何)12003和坐标逆变换器(逆变换坐标)12004的操作中的至少一个操作。此外,点云接收装置执行参照图13描述的算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器(三角形重构,上采样,体素化)13004和逆量化处理器13005的操作中的至少一个操作。点云接收装置输出重建的几何信息作为几何解码的结果。重构的几何信息用于属性解码。
点云接收装置处理经几何解码的几何(3013)。例如,如参照图15所述,当点云发送装置对几何执行坐标变换时,点云接收装置对几何的坐标进行逆变换以输出几何。
根据实施方式的点云接收装置对所获得的属性比特流执行熵解码(3021)。
点云接收装置对熵解码的属性执行属性解码(3022)。根据实施方式,属性解码可以包括RAHT编码、预测变换编码或提升变换编码中的至少一种或其组合。点云接收装置可以基于重构的几何信息(八叉树)生成LOD。另外,点云接收装置获取包括关于参照图25至图29描述的最大最近邻距离的信息的信令信息,并基于获取的信令信息生成根据图20至图24中描述的最大最近邻距离计算方法设置的相邻点。产生相邻点集的方法和计算最大最近邻距离的方法的描述与图20到图29的描述相同。
点云接收器处理解码后的属性(3023)。例如,当点云发送装置对属性执行颜色变换时,点云接收装置对属性执行逆颜色变换并输出属性。
图31是示出根据实施方式的点云数据发送方法的流程图。
图31的流程图3100表示用于参照图1至图30描述的点云数据发送装置(例如,参照图1、图12和图14描述的发送装置或点云编码器)的点云数据发送方法。图31的流程图旨在说明点云数据发送方法,并且点云数据发送方法中的操作顺序不限于图中所示的顺序。
点云数据发送装置对包括几何和属性的点云数据进行编码(3110)。几何是指示点云数据的点的位置的信息,并且属性包括点的颜色和反射率中的至少一者。基于通过重新组织点而生成的一个或更多个细节层(LOD)来对属性进行编码,并且基于最大最近邻距离来选择属于各个LOD的点周围的一个或更多个相邻点。最大最近邻距离与参照图15至图30描述的相同,因此跳过其描述。点云数据发送装置对参照图1至图14所述的几何和属性进行编码。点云数据发送装置(或属性编码器)可以基于编码几何的八叉树来生成一个或更多个LOD,并且基于所选择的一个或更多个相邻点来执行预测变换。如参照图15至图30所述,各个相邻点与预测变换目标点之间的距离小于最大最近邻距离或等于最大最近邻距离。基于几何的八叉树生成一个或更多个LOD。根据实施方式,八叉树具有参照图6描述的一个或更多个深度。因此,各个LOD的级别对应于八叉树的各个深度或一个或更多个深度。此外,如参照图5至图7所述,八叉树包括一个或更多个八叉树节点。最大最近邻距离表示为这里,LOD是指示预测变换目标点所属的LOD的级别的参数,NN_range是参照图15至图30描述的相邻点搜索范围。NN_range表示该点周围的一个或更多个八叉树节点的数目。相邻点搜索范围的描述与图15到图30的描述相同,因此被跳过。点云数据发送装置发送包含编码点云数据的比特流。比特流(例如,参照图25描述的比特流)包含与最大最近邻距离相关的信息(例如,参照图26至图30描述的SPS和APS句法)。根据实施方式,与最大最近邻距离相关的信息包括nearest_neighbour_max_range。即,如参照图26至图30所描述的,与最大最近邻距离相关的信息可以在序列层级或切片层级被发送。
图32是示出根据实施方式的处理点云数据的方法的流程图。
图32的流程图3200示出了参照图1至图30描述的点云数据处理装置(例如,接收装置10004或点云视频解码器10006)的点云数据处理方法。图32的流程图旨在说明点云数据处理方法,并且点云数据处理方法中的操作顺序不限于图中所示的顺序。
点云数据处理装置(例如,图1的接收器、图13的接收器)接收包含包括几何和属性的点云数据的比特流(3210)。几何是指示点云数据的点的位置的信息,并且属性包括点的颜色和反射率中的至少一者。
点云数据处理装置(例如,图10的解码器)对点云数据解码(3220)。基于通过重新组织所述点而产生的一个或更多个细节级别(LOD)来解码所述属性,并且基于最大最近邻距离来选择属于各个LOD的点周围的一个或更多个相邻点。最大最近邻距离与参照图15至图30描述的相同,因此跳过其描述。点云数据接收装置(例如,图10的几何解码器)对包括在点云数据中的几何进行解码。点云数据接收装置(例如,图10的属性解码器)对属性进行解码。点云数据接收装置基于解码后的几何的八叉树生成一个或更多个LOD,并且基于所选择的一个或更多个相邻点对包括在各个LOD中的点执行预测变换。各个相邻点与预测变换目标点之间的距离小于最大最近邻距离或等于最大最近邻距离。基于几何的八叉树生成一个或更多个LOD。根据实施方式,八叉树具有参照图6描述的一个或更多个深度。因此,各个LOD的级别对应于八叉树的各个深度或一个或更多个深度。此外,如参照图5至图7所述,八叉树包括一个或更多个八叉树节点。如参照图15至30所述,基于相邻点搜索范围计算最大最近邻距离。最大最近邻距离表示为
这里,LOD是指示预测变换目标点所属的LOD的级别的参数,NN_range是参照图15到图30描述的相邻点搜索范围。NN_range表示该点周围的一个或更多个八叉树节点的数目。相邻点搜索范围的描述与图15至图30的描述相同,因此被跳过。
比特流(例如,参照图25描述的比特流)包含与最大最近邻距离相关的信息(例如,参照图26至图30描述的SPS和APS句法)。根据实施方式,与最大最近邻距离相关的信息包括nearest_neighbour_max_range。即,如参照图26至图30所描述的,与最大最近邻距离相关的信息可以在序列层级或切片层级被发送。因此,点云数据接收装置可以基于比特流中包含的与最大最近邻距离相关的信息来执行属性解码。
参照图1至图32描述根据实施方式的点云数据处理。装置的组件可以包括与存储器联接的一个或更多个处理器。其可以通过包括硬件、软件、固件或其组合来实现。根据实施方式的装置的组件是芯片,例如,其可以实现为硬件电路。此外,根据实施方式的点云数据处理装置的各个组件可以被实现为单独的芯片。此外,根据实施方式的点云数据处理装置的组件中的至少一个或更多个能够执行一个或更多个程序的一个或更多个。其可以由一个或更多个处理器组成,并且一个或更多个程序是在参照附图描述的点云数据处理装置的操作/方法之中的,以执行或执行任何一个或更多个操作。其可以包含指令。
虽然为了简单起见已经分别描述了附图,但是可以通过合并各个附图中示出的实施方式来设计新的实施方式。设计一种计算机可读的记录介质,其上记录有用于执行上述实施方式的程序,如本领域技术人员所需要的,也落入所附权利要求及其等同物的范围内。根据实施方式的装置和方法可以不受上述实施方式的配置和方法的限制。通过选择性地组合所有或一些实施方式,可以对实施方式进行各种修改。尽管已经参考附图描述了优选实施方式,但是本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可以在实施方式中做出各种修改和变化。从实施方式的技术思想或观点来看,这些修改不应单独理解。
已经从方法和/或设备的角度描述了实施方式,并且可以应用方法和装置的描述以彼此互补。
实施方式的设备的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片实现,例如单个硬件电路。根据实施方式,可以将根据实施方式的组件分别实现为分离的芯片。根据实施方式,根据实施方式的设备的组件中的至少一个或更多个可以包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可以执行根据实施方式的操作/方法中的任何一个或更多个,或者包括用于执行该操作/方法的指令。用于执行根据实施方式的设备的方法/操作的可执行指令可以存储在配置为由一个或更多个处理器执行的非暂时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两者。换句话说,在本文中使用的术语“或”应解释为表示“附加地或替代地”。
诸如第一和第二的措辞可用于描述实施方式的各种元件。然而,根据实施方式的各种组件不应受上述术语限制。这些术语仅用于区分一个元件与另一个元件。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号都是用户输入信号,但并不意味着相同的用户输入信号,除非上下文另有明确规定。
用于描述实施方式的术语用于描述特定实施方式的目的,并且不旨在限制实施方式。如在实施方式的描述和权利要求中所使用的,单数形式“一”、”和“该”包括复数指示物,除非上下文另外清楚地指明。表述“和/或”用于包括所有可能的术语组合。诸如“包括”或“具有”的术语旨在表示存在附图、数字、步骤、元件和/或组件,并且应当理解为不排除存在附图、数字、步骤、元件和/或组件的附加存在的可能性。如这里所使用的,诸如“如果”和“当…时”的条件表达式不限于可选情况,并且旨在当满足特定条件时被解释为执行相关操作或根据特定条件解释相关定义。
发明模式
如上所述,已经以实现实施方式的最佳方式描述了相关内容。
产业实用性
对本领域的技术人员来说显而易见的是,在不脱离本发明的精神或范围的情况下,可以对本发明进行各种改变和修改。因此,本发明旨在覆盖本发明的修改和变化,只要它们落入所附权利要求及其等同物的范围内。
Claims (20)
1.一种用于发送点云数据的方法,所述方法包括以下步骤:
对包括几何和属性的点云数据进行编码,所述几何表示所述点云数据的点的位置,并且所述属性包括所述点的颜色和反射率中的至少一者;以及
发送包括经编码的点云数据的比特流。
2.根据权利要求1所述的方法,其中,对所述点云数据进行编码的步骤包括:
对所述几何进行编码;以及
对所述属性进行编码。
3.根据权利要求2所述的方法,其中,对所述属性进行编码的步骤包括:
通过重新布置所述点来生成一个或更多个细节级别LOD;以及
通过在各个LOD中选择点的一个或更多个相邻点来执行预测变换,
其中,该点与所述一个或更多个相邻点中的各个相邻点之间的距离小于或等于最大最近邻距离。
5.根据权利要求4所述的方法,其中,所述比特流包括与所述最大最近邻距离相关的信息。
6.一种用于发送点云数据的装置,该装置包括:
编码器,所述编码器被配置为对包括几何和属性的点云数据进行编码,所述几何表示所述点云数据的点的位置,并且所述属性包括所述点的颜色和反射率中的至少一者;以及
发送器,所述发送器被配置为发送包括经编码的点云数据的比特流。
7.根据权利要求6所述的装置,
其中,所述编码器包括:
几何编码器,所述几何编码器被配置为对所述几何进行编码,
属性编码器,所述属性编码器被配置为对所述属性进行编码。
8.根据权利要求7所述的装置,
其中,所述属性编码器被配置为:
通过重新布置所述点来生成一个或更多个细节级别LOD;并且
通过在各个LOD中选择点的一个或更多个相邻点来执行预测变换,
其中,该点与所述一个或更多个相邻点中的各个相邻点之间的距离小于或等于最大最近邻距离。
10.根据权利要求9所述的装置,其中,所述比特流包括与所述最大最近邻距离相关的信息。
11.一种用于处理点云数据的方法,该方法包括以下步骤:
接收包括所述点云数据的比特流,所述点云数据包括几何和属性,所述几何表示所述点云数据的点的位置,所述属性包括所述点的颜色和反射率中的至少一者;以及
对所述点云数据进行解码。
12.根据权利要求11所述的方法,其中,对所述点云数据进行解码的步骤包括:
对所述几何进行解码;以及
对所述属性进行解码。
13.根据权利要求12所述的方法,其中,对所述属性进行解码的步骤包括:
通过重新布置所述点来生成一个或更多个细节级别LOD;以及
通过在各个LOD中选择点的一个或更多个相邻点来执行预测变换,
其中,该点与所述一个或更多个相邻点中的各个相邻点之间的距离小于或等于最大最近邻距离。
14.根据权利要求13所述的方法,其中,所述一个或更多个LOD的级别对应于经解码的几何的八叉树的深度,所述八叉树包含八叉树节点,所述最大最近邻距离是基于相邻点搜索范围而计算的,所述相邻点搜索范围表示该点周围的一个或更多个八叉树节点的数目。
15.根据权利要求14所述的方法,其中,所述比特流包括与所述最大最近邻距离相关的信息。
16.一种用于处理点云数据的装置,该装置包括:
接收器,所述接收器用于接收包括所述点云数据的比特流,所述点云数据包括几何和属性,所述几何表示所述点云数据的点的位置,所述属性包括所述点的颜色和反射率中的至少一者;以及
解码器,所述解码器用于对所述点云数据进行解码。
17.根据权利要求16的装置,其中,所述解码器包括:
几何解码器,所述几何解码器用于对所述几何进行解码;以及
属性解码器,所述属性解码器用于对所述属性进行解码。
18.根据权利要求17的装置,其中,所述属性解码器还被配置为:
通过重新布置所述点来生成一个或更多个细节级别LOD;并且
通过在各个LOD中选择点的一个或更多个相邻点来执行预测变换,
其中,该点与所述一个或更多个相邻点中的各个相邻点之间的距离小于或等于最大最近邻距离。
19.根据权利要求18所述的装置,其中,所述一个或更多个LOD的级别对应于经解码的几何的八叉树的深度,所述八叉树包含八叉树节点,所述最大最近邻距离是基于相邻点搜索范围而计算的,所述相邻点搜索范围表示该点周围的一个或更多个八叉树节点的数目。
20.根据权利要求19所述的装置,其中,所述比特流包含与所述最大最近邻距离相关的信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0042936 | 2020-04-08 | ||
KR20200042936 | 2020-04-08 | ||
PCT/KR2021/002457 WO2021206291A1 (ko) | 2020-04-08 | 2021-02-26 | 포인트 클라우드 데이터 전송 장치, 전송 방법, 처리 장치 및 처리 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115210765A true CN115210765A (zh) | 2022-10-18 |
Family
ID=78023513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180018292.XA Pending CN115210765A (zh) | 2020-04-08 | 2021-02-26 | 点云数据发送装置、发送方法、处理装置和处理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11601488B2 (zh) |
EP (1) | EP4092625A4 (zh) |
KR (1) | KR102548048B1 (zh) |
CN (1) | CN115210765A (zh) |
WO (1) | WO2021206291A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021000241A1 (zh) * | 2019-07-01 | 2021-01-07 | Oppo广东移动通信有限公司 | 点云模型重建方法、编码器、解码器、及存储介质 |
JP7511010B2 (ja) * | 2020-01-06 | 2024-07-04 | オッポ広東移動通信有限公司 | 区分方法、エンコーダー、デコーダー、及びコンピュータ記憶媒体 |
CN118138736A (zh) * | 2020-04-11 | 2024-06-04 | Lg电子株式会社 | 点云数据编码设备和点云数据解码设备 |
US20230206510A1 (en) * | 2020-06-05 | 2023-06-29 | Lg Electronics Inc. | Point cloud data processing device and processing method |
US11770562B2 (en) * | 2020-06-23 | 2023-09-26 | Qualcomm Incorporated | High-level syntax for geometry-based point cloud compression |
US20220108488A1 (en) * | 2020-10-07 | 2022-04-07 | Qualcomm Incorporated | Angular mode and in-tree quantization in geometry point cloud compression |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11297346B2 (en) * | 2016-05-28 | 2022-04-05 | Microsoft Technology Licensing, Llc | Motion-compensated compression of dynamic voxelized point clouds |
WO2018038520A1 (ko) * | 2016-08-25 | 2018-03-01 | 엘지전자 주식회사 | 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치 |
CN107403456B (zh) * | 2017-07-28 | 2019-06-18 | 北京大学深圳研究生院 | 一种基于kd树和优化图变换的点云属性压缩方法 |
US10861196B2 (en) * | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
US11113845B2 (en) * | 2017-09-18 | 2021-09-07 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
EP3489900A1 (en) * | 2017-11-23 | 2019-05-29 | Thomson Licensing | Method, apparatus and stream for encoding/decoding volumetric video |
CN108335335B (zh) * | 2018-02-11 | 2019-06-21 | 北京大学深圳研究生院 | 一种基于增强图变换的点云属性压缩方法 |
KR20190117287A (ko) * | 2018-04-06 | 2019-10-16 | 삼성전자주식회사 | 중복 포인트 처리 방법 및 장치 |
US10909727B2 (en) * | 2018-04-10 | 2021-02-02 | Apple Inc. | Hierarchical point cloud compression with smoothing |
US11010928B2 (en) * | 2018-04-10 | 2021-05-18 | Apple Inc. | Adaptive distance based point cloud compression |
US10904564B2 (en) * | 2018-07-10 | 2021-01-26 | Tencent America LLC | Method and apparatus for video coding |
US10911787B2 (en) * | 2018-07-10 | 2021-02-02 | Apple Inc. | Hierarchical point cloud compression |
US10885705B2 (en) * | 2018-08-14 | 2021-01-05 | Ideaforge Technology Pvt. Ltd. | Point cloud rendering on GPU using dynamic point retention |
US11010931B2 (en) * | 2018-10-02 | 2021-05-18 | Tencent America LLC | Method and apparatus for video coding |
CN110572655B (zh) * | 2019-09-30 | 2023-01-10 | 北京大学深圳研究生院 | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 |
KR102622883B1 (ko) * | 2019-09-02 | 2024-01-09 | 엘지전자 주식회사 | Xr 디바이스 및 그 제어 방법 |
KR102406845B1 (ko) * | 2020-04-13 | 2022-06-10 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
-
2021
- 2021-02-26 CN CN202180018292.XA patent/CN115210765A/zh active Pending
- 2021-02-26 KR KR1020210026329A patent/KR102548048B1/ko active IP Right Grant
- 2021-02-26 EP EP21784756.5A patent/EP4092625A4/en active Pending
- 2021-02-26 WO PCT/KR2021/002457 patent/WO2021206291A1/ko active Application Filing
- 2021-04-08 US US17/225,559 patent/US11601488B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20210125415A (ko) | 2021-10-18 |
US20210329055A1 (en) | 2021-10-21 |
EP4092625A4 (en) | 2023-04-19 |
KR102548048B1 (ko) | 2023-06-27 |
US11601488B2 (en) | 2023-03-07 |
EP4092625A1 (en) | 2022-11-23 |
WO2021206291A1 (ko) | 2021-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568514B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US11882303B2 (en) | Apparatus and method for processing point cloud data | |
US11830212B2 (en) | Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method | |
CN114503586A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN114930397A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US20220343548A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114175100A (zh) | 用于处理点云数据的方法和装置 | |
US11601488B2 (en) | Device and method for transmitting point cloud data, device and method for processing point cloud data | |
US20220360797A1 (en) | Apparatus and method for processing point cloud data | |
CN114073085A (zh) | 点云数据处理方法和设备 | |
EP4171039A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
US20220383552A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US11765387B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114009046A (zh) | 用于处理点云数据的装置和方法 | |
CN114073086A (zh) | 点云数据处理设备和方法 | |
US20230059625A1 (en) | Transform-based image coding method and apparatus therefor | |
EP4161073A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
EP4340363A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
US20230209099A1 (en) | Point cloud data processing device and processing method | |
CN114930860B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN114402624B (zh) | 点云数据处理设备和方法 | |
US20230206510A1 (en) | Point cloud data processing device and processing method | |
CN115702568A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
EP4432658A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device |
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 |