CN114041169A - 点云数据发送设备、点云数据发送方法、点云数据接收设备、以及点云数据接收方法 - Google Patents

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

Info

Publication number
CN114041169A
CN114041169A CN202080048767.5A CN202080048767A CN114041169A CN 114041169 A CN114041169 A CN 114041169A CN 202080048767 A CN202080048767 A CN 202080048767A CN 114041169 A CN114041169 A CN 114041169A
Authority
CN
China
Prior art keywords
point cloud
cloud data
information
attribute
bitstream
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
CN202080048767.5A
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 CN114041169A publication Critical patent/CN114041169A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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
    • H04N19/17Methods 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 an image region, e.g. an object
    • H04N19/174Methods 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 an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明可以包括下述步骤:对点云数据进行编码;和/或发送包括点云数据和用于点云数据的信令信息的比特流。本发明可以包括下述步骤:接收包括点云数据和信令信息的比特流;对点云数据进行解码;和/或渲染点云数据。

Description

点云数据发送设备、点云数据发送方法、点云数据接收设备、 以及点云数据接收方法
技术领域
本公开提供了一种用于提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自驾驶服务的各种服务的方法。
背景技术
点云内容是由点云表示的内容,其是属于表示三维空间的坐标系的点的集合。然而,需要数万至数十万的点数据来表示点云内容。因此,需要一种用于有效地处理大量点数据的方法。
为了满足实时/低时延发送、编码、解码和渲染过程的要求,根据一些实施例的点云数据可以被划分成帧、图块或切片单元。
发明内容
技术问题
为解决上述问题而设计的实施例的一个目的是为了提供一种用于有效地发送并接收点云的点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法。
实施例的另一个目的是为了提供一种有效地处理点云数据的设备和方法。实施例提供了一种用于解决时延和编码/解码复杂度的点云数据处理方法和设备。
实施例的另一个目的是为了提供一种用于对点云数据进行编码和解码的分区点云数据的方法。
实施例的另一个目的是通过改进几何点云压缩(G-PCC)中的属性信息的编码技术来改进点云的压缩性能。
实施例的技术范围不限于前述技术目的,并且可以扩展至本领域的技术人员基于本文所公开的整个内容可推断出的其它技术目的。
技术方案
为了实现这些目的和其他优点,并且根据本公开的目的,在一些实施例中,一种用于发送点云数据的方法可以包括:对点云数据进行编码,并且发送包括编码的点云数据和点云数据的信令信息的比特流。
在一些实施例中,一种发送点云数据的方法包括:将获得的点云数据划分成一个或多个拼块;基于一个或多个拼块对点云数据的几何信息进行编码;以及基于一个或多个拼块和重构的几何信息对点云数据的属性信息进行编码。
在一些实施例中,信令信息包括表示点云数据是否被划分成一个或多个拼块的信息和/或表示用于划分的方法的信息。
在一些实施例中,用于划分的方法包括:第一方法,用于基于点云数据的点的密度划分;第二方法,用于基于质心点信息和半径信息划分成一个或多个扇形;第三方法,用于划分成一个层或多个层;第四方法,用于划分成一个或多个球形区域;第五方法,用于基于点云数据中的属性信息划分;或第六方法,用于基于包括点云数据的3D空间的轴长度划分。
在一些实施例中,用于发送点云数据的方法可以包括组合用于一个或多个拼块中的每一个的编码的几何信息和编码的属性信息,信令信息包括用于组合用于一个或多个拼块中的每一个的编码的几何信息和编码的属性信息的方法的信息。
在一些实施例中,根据第六方法划分拼块的方法包括:第一划分步骤,用于通过第二轴的长度单位划分3D空间的第一轴;和第二划分步骤,用于通过第二轴的长度单位划分3D空间的第三轴。在一些实施例中,信令信息包括表示第一划分步骤的拼块的单位的信息和表示第二划分步骤的拼块的单位的信息。
为了高效地处理点云数据并且根据本发明的目的,在一些实施例中,一种用于接收点云数据的方法可以包括:接收包括点云数据和信令信息的比特流,对点云数据进行解码和/或渲染点云数据。
在一些实施例中,接收到的点云数据包括几何比特流和属性比特流,对点云数据进行解码包括对点云数据的几何比特流进行几何解码和/或基于重构的几何信息对点云数据的属性比特流进行属性解码。
在一些实施例中,信令信息包括表示点云数据是否被划分成一个或多个拼块的信息。在一些实施例中,当点云数据被分成一个或多个拼块时,拼块被独立地解码。
在一些实施例中,当点云数据被划分成一个或多个拼块时,用于接收点云数据的方法包括组合独立解码的拼块中的点的几何信息和属性信息。在一些实施例中,信令信息包括表示一个或多个拼块的划分类型的信息和与一个或多个拼块的尺寸有关的信息。
有益效果
根据实施例的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以提供高质量的点云服务。
根据实施例的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以实现各种视频编解码方案。
根据实施例的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以提供通用点云内容,诸如自驾驶服务。
根据实施例的用于发送和接收点云数据的方法和设备可以执行拼块(brick)拼贴(tiling)和其所必要的信号数据的分区技术,从而改进点云的编译性能。
根据实施例的用于发送和接收点云数据的方法和设备可以通过执行用于点云数据的独立编码/解码的空间自适应分区来改进并行处理并提供可缩放性。
根据实施例的用于发送和接收点云数据的方法和设备可以允许在执行独立数据分区时重新分区空间上靠近的点。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中且构成本申请的一部分,附图图示本公开的实施例并与描述一起用于说明本公开的原理。为了更好地理解下面描述的各种实施例,应该结合附图参考以下实施例的描述。在附图中:
图1示出根据实施例的示例性点云内容提供系统;
图2是图示根据实施例的点云内容提供操作的框图;
图3图示根据实施例的捕获点云视频的示例性处理;
图4图示根据实施例的示例性点云编码器;
图5示出根据实施例的体素的示例;
图6示出根据实施例的八叉树和占用码的示例;
图7示出根据实施例的邻居节点图案的示例;
图8图示根据实施例的每个LOD中的点配置的示例;
图9图示根据实施例的每个LOD中的点配置的示例;
图10图示根据实施例的示例性点云解码器;
图11图示根据实施例的示例性点云解码器;
图12图示根据实施例的示例性发送设备;
图13图示根据实施例的示例性接收设备;
图14图示根据实施例的用于流传输基于G-PCC的点云数据的架构;
图15图示根据实施例的示例性点云发送设备;
图16图示根据实施例的示例性点云接收设备;
图17示出根据实施例的与用于发送和接收点云数据的方法/设备可操作地连接的示例性结构;
图18图示根据实施例的点云编码器;
图19图示根据实施例的点云编码器;
图20图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法;
图21图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法;
图22图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法;
图23图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法;
图24图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法;
图25图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法;
图26图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法;
图27图示根据实施例的点云数据发送设备的比特流组合器;
图28图示根据实施例的点云解码器;
图29图示根据实施例的点云解码器;
图30图示根据实施例的点云解码器的点组合器;
图31图示根据实施例的点云数据的示例性比特流结构;
图32图示根据实施例的比特流的序列参数集(SPS);
图33图示根据实施例的比特流的图块参数集(TPS);
图34图示根据实施例的比特流的几何参数集(GPS);
图35图示根据实施例的比特流的几何切片报头(GSH);
图36图示根据实施例的比特流的属性切片报头(ASH);
图37是图示根据实施例的发送点云数据的方法的流程图;
图38是图示根据实施例的接收点云数据的方法的流程图。
具体实施方式
现在将详细参考本公开的优选实施例,其示例在附图中被图示。下面将参考附图给出的详细描述旨在解释本公开的示例性实施例,而非示出可以根据本公开实现的仅有实施例。以下详细描述包括具体细节以便于提供本公开的彻底理解。然而,对于本领域的技术人员而言将显而易见的是,本公开可以在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语已经选自本领域中广泛使用的通用术语,但是一些术语已经由申请人任意选择并且在以下描述中根据需要详细说明其含义。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图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)表示量化的点的位置(或位置值)。
Figure BDA0003450967140000191
如图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)可以通过执行三角形重构、上采样和体素化过程来生成恢复的几何(重构的几何)。
被定位在块的边缘处的顶点确定穿过块的表面。根据实施例的表面是非平面多边形。在三角形重构过程中,基于边缘的起点、边缘的方向向量和顶点的位置值来重构由三角形表示的表面。三角形重构过程通过下述执行:1)计算每个顶点的质心值,2)从每个顶点值减去中心值,并且3)估计通过减法获得的值的平方和。
Figure BDA0003450967140000221
估计和的最小值,并且根据具有最小值的轴执行投影过程。例如,当元素x是最小时,每个顶点相对于块的中心投影在x轴上,并且投影在(y,z)平面上。当通过(y,z)平面上的投影获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并且基于θ的值对顶点进行排序。下表示出根据顶点数量创建三角形的顶点组合。顶点从1至n排序。下表示出对于四个顶点,可以根据顶点组合构造两个三角形。第一个三角形可以由排序的顶点当中的顶点1、2和3组成,并且第二个三角形可以由排序的顶点当中的顶点3、4和1组成。
表从排序为1的顶点形成的三角形
[表1]
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所示,LOD0包含P0、P5、P4和P2。LOD1包含LOD0的点、P1、P6和P3。LOD2包含LOD0的点、LOD1的点、P9、P8和P7。
如参考图4所描述的,根据实施例的点云编码器可以选择性地或组合地执行预测变换编译、提升变换编译和RAHT变换编译。
根据实施例的点云编码器可为点生成预测器以执行用于设置每个点的预测属性(或预测属性值)的预测变换编译。即,可以为N个点生成N个预测器。根据实施例的预测器可以基于每个点的LOD值、关于存在于每个LOD的设置距离内的邻近点的索引信息以及到邻居点的距离来计算权重(=1/距离)。
根据实施例的预测属性(或属性值)被设置为通过将每个点的预测器中设置的邻居点的属性(或属性值)(例如,颜色、反射率等)乘以基于到每个邻居点的距离计算的权重(或权重值)而获得的值的平均。根据实施例的点云编码器(例如,系数量化器40011)可以量化和逆量化通过从每个点的属性(属性值)减去预测属性(属性值)而获得的残差(可以称为残差属性、残差属性值或属性预测残差)。量化过程如下表所示配置。
表属性预测残差量化伪代码
[表2]
Figure BDA0003450967140000261
表属性预测残差逆量化伪代码
[表3]
Figure BDA0003450967140000262
当每个点的预测器具有邻居点时,根据实施例的点云编码器(例如,算术编码器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变换矩阵。在该等式中,
Figure BDA0003450967140000281
表示级别l的体素的平均属性值。
Figure BDA0003450967140000282
可以基于
Figure BDA0003450967140000283
Figure BDA0003450967140000284
来计算。
Figure BDA0003450967140000285
Figure BDA0003450967140000286
的权重为
Figure BDA0003450967140000287
Figure BDA0003450967140000288
Figure BDA0003450967140000289
这里,
Figure BDA00034509671400002810
是低通值并且在下一个较高级别的合并过程中使用。
Figure BDA00034509671400002811
表示高通系数。每一步的高通系数被量化并经受熵编译(例如,由算术编码器400012编码)。权重被计算为
Figure BDA00034509671400002812
Figure BDA00034509671400002813
通过
Figure BDA00034509671400002814
Figure BDA00034509671400002815
创建根节点如下。
Figure BDA00034509671400002816
如高通系数,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图示根据实施例的用于流传输基于G-PCC的点云数据的架构。
图14的上部示出通过在图1至图13中描述的发送设备(例如,发送设备10000、图12的发送设备等)处理和发送点云内容的过程。
如参考图1至图13所描述的,发送设备可以获取点云内容的音频Ba(音频获取),对获取的音频进行编码(音频编码),并输出音频比特流Ea。另外,发送设备可以获取点云内容的点云(或点云视频)Bv(点获取),并且对获取的点云执行点云编码以输出点云视频比特流Eb。发送设备的点云编码与参考图1至13描述的点云编码(例如,图4的点云编码器的编码)相同或相似,并且因此将省略对其的详细描述。
发送设备可以将生成的音频比特流和视频比特流封装成文件和/或片段(文件/片段封装)。封装的文件和/或片段Fs,File可以包括诸如ISOBMFF或DASH片段的文件格式的文件。根据实施例的点云相关元数据可以包含在封装的文件格式和/或片段中。元数据可能包含在ISOBMFF文件格式的各种级别的框中,或者可能包含在文件内的分开的轨道中。根据实施例,发送设备可以将元数据封装到分开的文件中。根据实施例的发送设备可以通过网络递送封装的文件格式和/或片段。通过发送设备的封装和发送的处理方法与参考图1至图13描述的(例如,发射器10003、图2的发送步骤20002等)相同,并且因此将会省略其详细描述。
图14的下部示出由参考图1至13描述的接收设备(例如,接收设备10004、图13的接收设备等)处理和输出点云内容的过程。
根据实施例,接收设备可以包括被配置成输出最终音频数据和最终视频数据的设备(例如,扬声器、耳机、显示器),以及被配置成处理点云内容的点云播放器(点云播放器)。最终数据输出设备和点云播放器可以配置成分开的物理设备。根据实施例的点云播放器可以执行基于几何的点云压缩(G-PCC)编译、基于视频的点云压缩(V-PCC)编译和/或下一代编译。
根据实施例的接收设备可以取得包含在接收到的数据(例如,广播信号、通过网络发送的信号等)中的文件和/或片段F’,Fs’,并且对其进行解封装(文件/片段解封装)。接收设备的接收和解封装方法与参考图1至图13描述的那些(例如,接收器10005、接收单元13000、接收处理单元13001等)相同,并且因此将会省略其详细描述。
根据实施例的接收设备取得包含在文件和/或片段中的音频比特流E’a和视频比特流E’v。如图所示,接收设备通过对音频比特流执行音频解码输出解码的音频数据B’a,并将解码的音频数据渲染(音频渲染)以通过扬声器或耳机输出最终的音频数据A’a。
此外,接收设备对视频比特流E’v执行点云解码,并输出解码的视频数据B’v。根据实施例的点云解码与参考图1至图13描述的点云解码(例如,图11的点云解码器的解码)相同或相似,并且因此将省略对其的详细描述。接收设备可以渲染解码的视频数据并通过显示器输出最终的视频数据。
根据实施例的接收设备可以基于发送的元数据执行解封装、音频解码、音频渲染、点云解码和点云视频渲染中的至少一个。元数据的细节与参考图12至图13描述的那些相同,并且因此将省略对其的描述。
如图中示出的虚线所指示的,根据实施例的接收设备(例如,点云播放器或点云播放器中的感测/跟踪单元)可以生成反馈信息(定向、视口)。根据实施例,反馈信息可以在接收设备的解封装过程、点云解码过程和/或渲染过程中使用,或者可以被递送到发送设备。反馈信息的详情与参考图1至图13描述的那些相同,并且因此将省略对其的描述。
图15示出根据实施例的示例性发送设备。
图15的发送设备是被配置成发送点云内容的设备,并且对应于参考图1至14的描述的发送设备(例如,图1的发送设备10000、图4的点云编码器、图12的发送设备、图14的发送设备)的示例。因此,图15的发送设备执行与参考图1至图14描述的发送设备的操作相同或相似的操作。
根据实施例的发送设备可以执行点云获取、点云编码、文件/片段封装和递送中的一个或多个。
因为图中所图示的点云获取和递送的操作与参考图1至图14描述的操作相同,所以将省略对其的详细描述。
如在上面参考图1至图14所描述的,根据实施例的发送设备可以执行几何编码和属性编码。几何编码可以被称为几何压缩,并且属性编码可以被称为属性压缩。如上所述,一个点可以具有一个几何和一个或多个属性。因此,发送设备对每个属性执行属性编码。该图图示发送设备执行一个或多个属性压缩(属性#1压缩,...,属性#N压缩)。此外,根据实施例的发送设备可以执行辅助压缩。对元数据执行辅助压缩。元数据的详情与参考图1至14描述的那些相同,并且因此将省略对其的描述。发送设备也可以执行网格数据压缩。根据实施例的网格数据压缩可以包括参考图1至14描述的三联体几何编码。
根据实施例的发送设备可以将根据点云编码输出的比特流(例如,点云流)封装到文件和/或片段中。根据实施例,发送设备可以执行媒体轨道封装以承载除了元数据以外的数据(例如,媒体数据),并且执行元数据轨道封装以承载元数据。根据实施例,元数据可以被封装到媒体轨道中。
如参考图1至图14所描述的,发送设备可以从接收设备接收反馈信息(定向/视口元数据),并基于接收到的反馈信息执行点云编码、文件/片段封装和递送操作中的至少一个。详情与参考图1至图14描述的那些相同,并且因此将省略对其的描述。
图16示出根据实施例的示例性接收设备。
图16的接收设备是用于接收点云内容的设备,并且对应于参考图1至14描述的接收设备的示例(例如,图1的接收设备10004、图11的点云解码器,以及图13的接收设备、图14的接收设备)。因此,图16的接收设备执行与参考图1至图14描述的接收设备的操作相同或相似的操作。图16的发送设备可以接收从图16的发送设备发送的信号,并且执行与图15的发送设备的操作相反的过程。
根据实施例的接收设备可以执行递送、文件/片段解封装、点云解码和点云渲染中的至少一个。
因为图中所图示的点云接收和点云渲染操作与参考图1至图14描述的那些相同,所以将省略对其的详细描述。
参考图1至图14所描述的,根据实施例的接收设备解封装从网络或存储设备获取的文件和/或片段。根据实施例,接收设备可以执行媒体轨道解封装以承载除了元数据以外的数据(例如,媒体数据),并且执行元数据轨道解封装以承载元数据。根据实施例,在元数据被封装到媒体轨道中的情况下,元数据轨道解封装被省略。
如参考图1至图14所描述的,接收设备可以对通过解封装取得的比特流(例如,点云流)执行几何解码和属性解码。几何解码可以被称为几何解压缩,而属性解码可以被称为属性解压缩。如上所述,一个点可以具有一个几何和一个或多个属性,每个属性都由发送设备编码。因此,接收设备对每个属性执行属性解码。该图图示接收设备执行一个或多个属性解压缩(属性#1解压缩,...,属性#N解压缩)。根据实施例的接收设备还可以执行辅助解压缩。对元数据进行辅助解压缩。元数据的详情与参考图1至图14描述的那些相同,并且因此将省略其描述。接收设备还可以执行网格数据解压缩。根据实施例的网格数据解压缩可以包括参考图1至图14描述的三联体几何解码。根据实施例的接收设备可以渲染根据点云解码输出的点云数据。
如参考图1至图14所描述的,接收设备可以使用单独的感测/跟踪元件来取得定向/视口元数据,并且将包括其的反馈信息发送到发送设备(例如,图15的发送设备)。此外,接收设备可以基于反馈信息执行接收操作、文件/片段解封装和点云解码中的至少一个。详情与参考图1至图14描述的那些相同,并且因此将省略对其的描述。
图17示出根据实施例的操作上可与发送和接收点云数据的方法/设备相连接的示例性结构。
图17的结构表示服务器1760、机器人1710、自驾驶车辆1720、XR设备1730、智能电话1740、家用电器1750和/或HMD 1770中的至少一个连接到云网络1700的配置。机器人1710、自驾驶车辆1720、XR设备1730、智能电话1740或家用电器1750被称为设备。此外,XR设备1730可以对应于根据实施例的点云数据(PCC)设备或者可操作上连接到PCC设备。
云网络1700可以表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络1700可以使用3G网络、4G或长期演进(LTE)网络或5G网络来配置。
服务器1760可以经由云网络1700连接到机器人1710、自驾驶车辆1720、XR设备1730、智能电话1740、家用电器1750和/或HMD 1770中的至少一个,并且可以辅助连接的设备1710至1770的至少一部分处理。
HMD 1770表示根据实施例的XR设备和/或PCC设备的实现类型之一。根据实施例,HMD型设备包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
在下文中,将描述应用了上述技术的设备1710至1750的各种实施例。图17所图示的设备1710至1750可以可操作地连接/耦合到根据上述实施例的点云数据发送/接收设备。
<PCC+XR>
XR/PCC设备1730可以采用PCC技术和/或XR(AR+VR)技术,并且可以被实现为HMD、提供在车辆中的平视显示器(HUD)、电视、移动电话、智能电话、计算机、可穿戴设备、家用电器、数字标牌、车辆、固定机器人或移动机器人。
XR/PCC设备1730可以分析通过各种传感器或从外部设备获取的3D点云数据或图像数据并生成关于3D点的位置数据和属性数据。由此,XR/PCC设备1730可以获取关于周围空间或真实对象的信息,并且渲染和输出XR对象。例如,XR/PCC设备1730可以使包括关于所识别的对象的辅助信息的XR对象与所识别的对象匹配并输出匹配的XR对象。
<PCC+自驾驶+XR>
自驾驶车辆1720可以通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用了XR/PCC技术的自驾驶车辆1720可以表示提供有用于提供XR图像的装置的自主车辆,或者作为XR图像中的控制/交互目标的自主车辆。具体地,作为XR图像中的控制/交互目标,自驾驶车辆1720可与XR设备1730相区分并且可以可操作地与其连接。
具有用于提供XR/PCC图像的装置的自驾驶车辆1720可以从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的XR/PCC图像。例如,自驾驶车辆1720可以具有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服务有关的内容数据并将其提供给用户。根据实施例的车辆或用户接口设备可以接收用户输入信号。根据实施例的用户输入信号可以包括指示自驾驶服务的信号。
图18图示根据实施例的点云编码器。
根据实施例的点云编码器18000接收并编码点云数据(PCC数据)18000a。根据实施例的点云编码器输出几何信息比特流18000b和属性信息比特流18000c。点云编码器18000可以包括空间分区器18001、几何信息编码器18002和/或属性信息编码器18003。
点云编码器的空间分区器18001可以接收点云数据(PCC数据)18000a,并将点云数据分区成一个或多个3D空间。空间分区器18001可以接收点云数据并将点云数据空间分区成3D块。点云数据可以包括关于点(或多个点)的几何信息和/或属性信息。空间分区器18001可以基于边界框和/或子边界框对点云数据(PCC数据)进行空间分区。根据实施例的方法/设备可以基于分区的单元(框)来执行编码/解码。
空间分区器18001可以执行图1的点云获取10001、图2的获取20000、图3至图5的操作、以及图12的数据输入单元12000的操作中的一些/全部。
几何信息编码器18002接收点云数据(PCC数据)的几何信息并且对其进行编码。几何信息可以表示关于包括在点云数据中的点的位置信息。几何信息编码器18002对几何信息进行编码并输出几何信息比特流。几何信息编码器18002可以重构关于点的位置信息并输出重构的几何信息18002a。几何信息编码器18002可以将重构的几何信息发送到属性信息编码器18002。
几何信息编码器18002可以执行图1的点云视频编码器10002的操作、图2的编码20001的操作、图4的坐标变换器40000、量化器40001和八叉树分析器40002、表面近似分析器40003、算术编码器40004和几何重构器40005的操作、以及图12的量化处理器12001、体素化处理器12002、八叉树占用码生成器12003、表面模型处理器12004、帧内/帧间编译处理器12005和/或算术编译器12006的操作中的一些/全部。
属性信息编码器18003可以接收点云数据的属性信息,并基于从几何信息编码器18003接收到的重构的几何信息对属性信息进行编码。属性信息编码器18003对属性信息进行编码并且输出属性信息比特流18000c。根据实施例,属性信息编码器18003可以执行例如预测变换、提升变换和/或区域自适应分层变换(RAHT)。属性信息编码器18003可以执行例如预测提升变换。预测提升变换可以意指根据实施例的预测变换和/或提升变换的一些或全部详细操作的组合。
根据实施例的点云编码器可以根据实施例执行预测变换、提升变换和/或RAHT的一些、全部和/或组合。
属性信息编码器18003可以执行图1的点云视频编码器10002的操作,图2的编码20001的操作,图4的颜色变换器40006、属性变换器40007、RATH变换器40008、LOD生成器40009、提升变换器40010、系数量化器40011和/或算术编码器40012的操作,图12的颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010和算术编译器12011的操作中的一些/全部。
这里,重构的几何信息18002c可以表示由参考图4描述的几何重构器(重构几何)40005重构的八叉树和/或近似八叉树。重构的几何信息可以表示参考图6描述的占用码或表示八叉树结构。重构的几何信息可以表示由参考图12描述的八叉树占用码生成器12003生成的八叉树占用码。
属性信息编码器18003可以根据实施例对点云数据的属性信息进行编码。这里,编码器18003可以基于重构的几何信息对属性信息进行编码。属性信息编码器18003可以通过对接收到的数据进行编码来生成包含属性信息的比特流。
根据实施例的属性信息编码器18003可以包括图4的颜色变换器40006、属性变换器40007、RAHT变换器40008、LOD生成器40009、提升变换器40010和系数量化器40011,和/或算术编码器400012。
根据实施例的点云数据可以根据数据的特性被分类为类别1和类别3。类别1数据可以是静态数据,并且由一个帧组成。类别3数据可以是动态数据并且由N个帧组成。ply文件是点云数据的文件格式,可以根据数据获取方法由多个点组成。
根据实施例,点可以包括位置信息(几何信息)和属性信息,其包括关于该点的颜色信息、反射率信息、时间信息和法向量信息。根据实施例,点可以包括取决于要呈现的条件的各种信息。由点组成的类别1数据和类别3数据可以包括帧,帧包括大量的点。然而,当根据实施例的点云数据发送设备接收和编码包括点的帧时,可能导致时延和不必要的资源使用。
因此,对于根据实施例的点云数据发送设备,发送和编码点云数据的操作、接收设备的解码操作以及接收设备的渲染处理的操作可以实时执行,并且可以将点云数据分区成多个区域,使得以低时延处理。根据实施例的点云数据发送设备可以将点云数据的帧分区成图块(tile)、切片(slice)和/或拼块(brick)。
因此,点云数据发送设备可以根据独立的数据分区方法对点云数据进行分区,以改进3D点云数据的并行处理能力和可缩放性。独立数据分区可以包括空间自适应分区作为支持空间上彼此靠近的点的重新分区的方法。
根据实施例,一种发送点云数据的方法可以包括对点云数据进行编码并且发送包括点云数据和关于点云数据的信令信息的比特流。点云数据发送方法可以包括将获得的点云数据划分成一个或多个拼块,基于一个或多个拼块对点云数据的几何信息进行编码,和/或基于一个或多个拼块和重构的几何信息对点云数据的属性信息进行编码。
根据实施例的点云数据发送设备可以对点云数据进行分区并且对其独立编码,从而能够在由点云数据占据的3D空间中进行随机访问和并行编码。
图19图示根据实施例的点云编码器。
根据实施例的点云编码器可以包括数据特性检查器19000、拼块拼贴单元19001、分区数据输入单元19002、坐标变换器19003、量化/体素化处理器19004、八叉树占用码生成器19005、表面模型处理器19006、第一算术编译器19007、几何重构器19008、颜色变换处理器19009、属性变换处理器19010、预测/提升/RAHT变换处理器19011、系数量化处理器19012、第二算术编译器19013、和/或比特流组合器19014。
点云数据编码器表示图18的点云数据编码器18000的示例。根据实施例,编码器可以被称为编码设备,并且解码器可以被称为解码设备。
数据特性检查器19000接收点云数据并检查接收到的点云数据的特性。例如,数据特性检查器19000可以检查点云数据的点是否在特定区域密集分布和在特定区域稀疏分布。数据特性检查器19000可以检查点云数据是否由包括多个帧的点云序列组成,如在LiDAR数据或用于自驾驶的数据的情况下。数据特性检查器19000可以检查一个帧内的点云数据是否被收集在特定区域中(例如,连续的属性信息值是否被收集在左侧、右侧、顶部、底部、正面或背面)。数据特性检查器19000可以检查点云数据表示的对象是否彼此间隔开。数据特性检查器19000可以检查点云数据占据的3D空间是否在一个方向上扩展(例如,当特定轴比其他轴过长时)。
拼贴单元19001接收点云数据,并根据接收到的点云数据生成一个或多个图块、一个或多个切片或一个或多个拼块。即,拼块拼贴单元19001可以将点云数据分区成图块、切片或拼块。拼块拼贴单元19001以逐图块、逐切片或逐拼块为单位输出已分区的点云数据。
图块可以意指由点云数据占据的3D空间的部分区域。根据实施例,图块可以包括一个或多个切片。因为图块被分区成一个或多个切片,点云数据编码器可以并行地对点云数据进行编码。点云数据编码器可以根据数据的特性对图块的一个或多个切片中的每一个不同地执行量化和/或变换。
切片可以意指点云数据发送设备和接收设备编码和解码的数据单元。切片可以是点云数据所占据的3D空间中的数据的集合,或者可以是点云数据当中的一些数据的集合。切片可以表示包括在图块中的点的区域或点的集合。图块可以基于图块中包括的点的数量被分区成一个或多个切片。例如,图块可以是根据点的数量划分的点的集合。图块可以基于点的数量被分区成切片,并且一些数据在分区过程中可以被拆分或合并。
块可以意指其中包括在切片中的点云数据针对每个点被分区的单元。例如,块可以是一个切片中的云数据所占据的3D空间的部分区域,并且表示其中点云数据发送设备和接收设备可以执行编码和解码的细节单位。
拼块可以指代块或切片。也就是说,拼块可以是对点云数据进行分区的切片或点的集合或区域。根据实施例,拼块可以被称为区域。
拼块拼贴单元19001可以根据数据的特性基于诸如基于点密度的拼块拼贴、圆扇形拼块拼贴、层拼块拼贴、球/椭圆形区域拼贴、基于属性的拼块拼贴和基于轴的自适应分区的各种分区方式执行分区。稍后将参考图21至图26描述执行分区的方法。
例如,当数据特性检查器19000确定点云数据的点在特定区域中密集分布并且在特定区域中稀疏分布时,拼块拼贴单元19001可以以基于点密度的拼块拼贴为基础执行分区。
例如,当数据特性检查器19000确定点云数据由包括多个帧的点云序列组成时,如在LiDAR数据或用于自驾驶的数据的情况下,拼块拼贴单元19001可以基于圆扇形拼块拼贴执行分区。当数据特性检查器19000确定一个帧内的点云数据被分组在特定区域中时,拼块拼贴单元19001可以基于层拼块拼贴执行分区。当数据特性检查器19000确定点云数据所表示的对象彼此间隔开时,拼块拼贴单元19001可以基于球形/椭圆区域拼贴来执行分区。当点云数据所占据的3D空间在一个方向上扩展时,数据特性检查器19000可以以基于轴的自适应分区为基础来执行分区。
根据实施例,点云数据可以被分区成多个切片。存在将点云数据分区成多个切片的数种方法。根据实施例,包括在切片中的点云数据可以被独立编码。根据实施例的点云数据发送设备和接收设备可以通过以逐切片为单位独立地执行编码和解码来防止在编码和解码过程中错误累积。
切片可以意指其中为编码操作对点云数据中的点云帧进行分区的单位。点云数据可以根据切片分区方案被分区成多个切片。
根据将点云数据分区成多个切片的方法的实施例,可以基于颜色信息的方差来执行分区以便于确保颜色连续性。例如,当特定点云或点云数据的区域内颜色信息的方差大于第一阈值时,可以将该数据或区域视为非平滑块。当非平滑块在整个点云数据中所占的比例大于第二阈值时,可以提取与非平滑块对应的块(或非平滑块中包括的一些点)并且分离成第一切片,并且剩余的未分离的云数据可以分离成第二切片。根据实施例,可以计算颜色信息的方差以分离第一切片和第二切片。kd树可以被用于颜色信息的方差。
根据实施例的k-d树(kd树)是一种二叉树并且表示用于分区k维空间的层次结构。Kd树方案指代一种将点云数据几何自适应地分区成切片的方法。
根据实施例,切片可以通过各种术语来称呼,诸如拼块、块、宏块和/或图块。
分区数据输入单元19002接收由拼块拼贴单元19001输出的分区的点云数据。分区数据输入单元19002输出关于每个拼块(或切片或图块)中的点的位置信息(几何信息)和属性信息。分区数据输入单元19002以逐拼块(或逐切片或逐图块)为单位将关于点的位置信息传送到坐标变换器19003,并将关于点的属性信息传送到颜色变换处理器19009。
数据特性检查器19000、拼块拼贴单元19001和/或分区数据输入单元19002可以被包括在图18的空间分区器18001中。
坐标变换器19003可以接收关于根据实施例的点的位置信息(几何信息)并且可以变换关于其的坐标信息。坐标变换器19003可以将变换的坐标信息传送到量化/体素化处理器19004。坐标变换器19003可以执行图4的坐标变换器40000的操作。
量化/体素化处理器19004可以对来自坐标变换器19003的点的位置信息进行量化和/或体素化。量化/体素化处理器19004可以向八叉树占用码生成器19005发送关于点的量化和/或体素化的位置信息(几何信息)。量化/体素化处理器19004可以执行图4的量化/体素化处理器40001和图12的体素化处理器12002的操作。
八叉树占用码生成器19005可以接收量化和/或体素化几何信息并基于量化和/或体素化几何信息生成八叉树占用码。八叉树占用码可以包括表示关于点的位置信息的数据结构。八叉树占用码生成器19005可以将八叉树占用码传送到第一算术编译器19007、表面模型处理器19006和/或几何重构器19008。八叉树占用码生成器19005可以执行图4的八叉树分析器40002和图12的八叉树占用码生成器12003的操作。
表面模型处理器19006可以接收八叉树占用码并处理表面模型。表面模型处理器19006可以输出具有处理的表面模型的几何信息并将其发送到第一算术编译器19007。表面模型处理器19006可以执行图4的表面近似分析器40003和图12的表面模型处理器12004的操作。
第一算术编译器19007可以接收根据实施例的八叉树占用码和/或已经对其执行表面模型处理的八叉树占用码,并且对其进行编码。第一算术编译器19007可以输出几何比特流。第一算术编译器19007可以将几何比特流发送到比特流组合器。第一算术编译器19007可以执行图4的算术编码40004和图12的算术编译器12006的操作。
第一算术编译器19007可以向分区数据输入单元19002发送与针对对应拼块(或切片或图块)几何信息是否被编码有关的信息。
几何重构器19008接收根据实施例的八叉树占用码和/或已经对其执行表面模型处理的八叉树占用码,并基于此重构几何信息。几何重构器19008可以根据实施例生成莫顿(Morton)码并基于其重构几何信息。几何重构器19008可以执行图4的几何重构器的操作40005。
颜色变换处理器19009可以接收关于点的属性信息并且可以变换属性信息的颜色信息。颜色变换处理器可以输出变换的属性信息并将其发送到属性变换处理器19010。颜色变换处理器19009可以执行图4的颜色变换器40006和图12的颜色变换处理器12008的操作。
属性变换处理器19010可以映射关于点的位置信息、由颜色变换处理器19009颜色变换的属性信息和/或由几何重构器19008重构的几何信息,并执行属性变换处理。属性变换处理器19010可以执行图4的属性变换器40007和图12的属性变换处理器12009的操作。
预测/提升/RAHT变换处理器19011可以根据预测、提升和/或RAHT技术对通过属性变换处理器19010的变换处理获得的属性信息进行变换。预测/提升/RAHT变换处理器19011可以输出根据预测、提升和/或RAHT变换的属性信息,并且可以将其发送到系数量化处理器19012。预测/提升/RAHT变换处理器19011可以执行图4的RAHT40008、LOD生成器40009和/或提升40010以及图12的预测/提升/RAHT变换处理器12010的操作。
系数量化处理器19012可以接收由预测/提升/RAHT变换处理器19011变换的属性信息并且对其进行量化。系数量化处理器19012可以将量化的属性信息发送到第二算术编译器19013。系数量化处理器19012可以执行图4的系数量化器40011的操作。
第二算术编译器19013可以接收由系数量化处理器19012量化的属性信息并且对其进行编码。第二算术编译器19013可以输出包含编码的属性信息的属性比特流。第二算术编译器19013可以输出属性比特流并将其发送到比特流组合器19014。
第二算术编译器19013可以向分区数据输入单元19002发送与针对对应拼块(或切片或图块)属性信息是否被编码有关的信息。第二算术编译器19013可以执行图4的算术编码器40012和图12的算术编译器12011的操作。
比特流组合器19014可以组合几何比特流和/或属性信息比特流。比特流组合器19014可以以逐拼块(或逐切片或逐图块)为单位组合几何比特流和属性比特流。
根据实施例的点云数据发送设备可以包括数据特性检查器19000、拼块拼贴单元19001、分区数据输入单元19002和比特流组合器19014。点云数据发送设备可以根据例如brick_tiling_filter信息,通过拼块拼贴单元将点云数据分区成一个或多个拼块。点云数据被拼块拼贴单元19001分区成N个区域并输入到分区数据输入单元19002。N个分区的拼块中的每一个中的点云数据被划分成将被编码的关于点的位置信息和关于点的属性信息。当对N个拼块中的每一个执行编码过程时,可以将由比特流组合器19014编码的关于点的位置信息和关于点的属性信息组合成一个比特流。
根据实施例的点云数据发送设备可以使用拼块拼贴单元19001将点云数据分区成一个或多个拼块,并且通过对每个分区的拼块进行编码来对每个区域进行编码。在这种情况下,可以划分点云数据接收设备所需的区域和不太重要的区域的数据,并且因此可以有效地执行编码。因此,点云数据发送设备可以通过上述配置增加编码效率。
根据实施例的点云数据编码器可以将点云数据分区成一个或多个图块、切片、块和/或拼块,并且为每个分区的单元不同地设置量化。通过以这种方式分区点云数据,点云数据编码器可以对不同重要性的点进行差异编码。此外,点云数据接收设备可以高效地对差异编码的数据进行解码,并快速向用户提供重要信息。
点云数据发送设备可以通过将点云数据分区成一个或多个拼块并以逐拼块为单位对其进行编码来提供针对数据的特性优化的编码方法。例如,在点云数据包括密集分布在特定区域的点的情况下,可以通过对密集分布点的区域进行分区和编码来减少在编码期间可能出现的错误。例如,在由多个帧组成的数据序列的情况下,诸如LiDAR数据或自驾驶数据,可以通过使用稍后将会描述的圆扇形拼块拼贴技术对点云数据进行分区和编码来减少每帧的编码误差。
根据实施例的点云数据发送设备和接收设备可以通过以逐切片为单位独立地执行编码和解码来防止在编码过程和解码过程中误差累积。
点云数据发送设备可以基于根据在诸如点云数据传输、编码/解码和渲染的各种处理情况中给出的要求自适应地执行的分区方法,执行分区操作,从而提供点云内容,使得可以实现实时处理、低时延和并行处理。
图20图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法。
根据实施例的点云数据编码器可以接收点云数据并将点云数据分区成一个或多个拼块。例如,图18的空间分区器18001和图19的拼块拼贴单元19001可以将点云数据分区成一个或多个拼块或区域。
图20的左部分中的图像20000表示根据实施例的点云数据。点云数据可以被分区成多种类型的点云数据(例如,LiDAR数据等)。点云数据的类型可以根据点云数据的点是否被密集分布或者稀疏分布来分类。
图20的右部分中的图像20001表示将图20的左图像20000的点云数据分区成三个拼块的操作。将点云数据分区成三个拼块的操作可以由图18的空间分区器18001和图19的拼块拼贴单元19001执行。
参考图20的右图像20001,拼块拼贴单元19001可以将图20的左图像20000的点云数据分区成第一拼块20001a、第二拼块20001b和第三拼块20001c。拼块拼贴单元19001可以基于点云数据的类型来分区点云数据。在等效含义的范围内,根据实施例的拼块可以被称为其他名称。
根据实施例的用于分区的方法可以包括用于基于点云数据的点的密度进行划分的第一方法、用于划分成基于质心点信息和半径信息确定的一个或多个扇形的第二方法、用于划分成一个或者多个层的第三方法、用于划分成一个或者多个球形区域的第四方法、用于基于关于点云数据中的点的属性信息划分的第五方法、或者用于基于包括点云数据的3D空间的轴长度划分的第六方法。
根据实施例的点云数据发送设备可以将点云数据分区成图块、切片和/或拼块,如参考图18和图19所描述的,从而在点云数据占据的3D空间中实现随机访问和并行编译。
图21图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法。
图21-(A)示出由点云数据占据的3D空间21A00。根据实施例的点云数据编码器可以对点云数据进行编码。点云数据编码器可以将点或3D空间21A00分区成一个或多个分区的区域21A02,并对分区的区域中包括的点进行独立编码。
由点云数据占据的3D空间21A00包括根据实施例的点云数据。3D空间21A00包括表示点云数据的多个点21A01。
多个点21A01可以是构成根据实施例的点云数据的单元。点云数据编码器可以对关于每个点21A01的位置信息和属性信息进行编码。
分区的区域21A02可以包括点云数据的一些点21A01。点云数据编码器可以基于点云数据的特性将点云数据分区成一个或多个分区的区域21A02。分区的区域21A02可以对应于图块、切片、拼块或块。
点云数据的特性可能与点21A01的密度有关。例如,点云数据可以是具有在箭头21A03的方向上密集分布的点的数据。因此,点云数据编码器可以基于点的密度将点云数据分区成一个或多个分区的区域21A02。
例如,点云数据编码器可以将点云数据分区成包括第一拼块21A02-1和第二拼块21A02-2的分区的区域21A02。第一拼块21A02-1可以是包含多个点当中相对稀疏分布的点的区域。第二拼块21A02-2可以是包含在多个点当中相对密集地分布的点的区域。根据实施例,其中点密集分布的第二拼块21A02-2可以大于其中点被稀疏分布的第一拼块21A02-1。
图21-(B)图示将由点云数据占据的3D空间21A00分区成一个或多个区域的方法以及对每个拼块进行编码的过程。具体地,图21-(B)图示基于点云数据的点的密度将点云数据分区成一个或多个拼块。这种用于点云数据的分区方法可以称为基于点密度的拼块拼贴。
根据实施例的基于点密度的拼块拼贴意指根据点的密度或点的距离将点云数据分区成一个或多个拼块。根据实施例,分区的拼块可以由一个3D块或两个或更多个3D块的捆绑组成。
图21-(B)的操作可以由图18的空间分区器18001和图19的拼块拼贴单元19001执行。21-(B)中所图示的过程可以包括接收点云数据(21B00),确定是否执行拼块分区(21B01),确定拼块的数量(21B02),并且计算点的密度(21B03),根据每个拼块的点的密度确定量化系数(21B04),对每个拼块执行编码(21B05)和/或为每个拼块输出比特流(21B06)。
在接收点云数据的操作21B00中,可以接收根据实施例的点云数据。
在确定是否执行拼块分区的操作21B01中,可以确定是否将接收到的点云数据分区成一个或多个拼块(或切片或图块)。
在确定是否执行拼块分区的操作21B01中,可以基于接收到的点云数据中的点的x坐标值、y坐标值和/或z坐标值来确定是否执行拼块分区。
在确定是否执行拼块分区的操作21B01中,可以基于接收到的点云数据的类型来确定是否执行拼块分区。确定是否执行拼块分区的操作21B01可以是生成指示是否执行拼块分区的brick_tiling_filter信息的操作。
当在确定是否执行拼块分区的操作中确定执行拼块分区时,在确定拼块数量的操作21B02中确定点云数据将被分区成的拼块的数量。在确定拼块的数量的操作21B02中,可以基于接收到的点云数据的类型来确定数据要被分区成的拼块的数量。
在计算点的密度的操作21B03中,可以计算点的密度并且可以基于计算的密度将点云数据分区成一个或多个拼块。根据实施例,可以基于由点占据的每体积的点数或点之间的距离的平均值来定义点的密度。根据实施例,可以可变地确定每拼块的点密度。
在根据每个拼块的点的密度确定量化系数的操作21B04中,根据实施例的点云数据编码器可以根据密度确定量化系数,以便于根据点的密度可变地执行解码。
对每个拼块执行编码的操作21B05指代由点云数据编码器对每个拼块的点云数据进行编码的操作。根据实施例,可以根据点云数据编码器的设置灵活地改变每个分区块。点云数据编码器可以生成诸如用于提供分区信息的信息(例如,brick_unit_information、brick_density_quantization_step)的信息。
为每个拼块输出比特流的操作20B06指代以逐拼块为单位对点云数据进行编码之后由点云数据发送设备输出输出比特流的操作。
根据实施例的点云数据发送设备可以执行基于点密度的拼贴,从而有效地编码其中点的分布密度在区域当中变化的帧的序列。
点云数据发送设备可以通过执行基于点密度的拼贴来根据点的密度为具有低密度的拼块提供缩小的缩放因子,从而增加几何信息的压缩率。对于包含密集分布点的拼块,可以提供增加的缩放因子。从而,可以准确地呈现位置信息。
图22图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法。
图22示出点云数据编码器将点云数据占据的3D空间或点云数据22A00分区成一个或多个圆扇形22A02。点云数据编码器可以对每个分区的圆扇形22A02的点云数据进行编码。图22中图示的对点云数据进行分区的操作可以由图18的空间分区器18001和图19的拼块拼贴单元19001执行。
根据实施例,扇形22A02可以对应于图块、切片、拼块或块。
点云数据编码器可以基于参考轴22A01将点云数据22A00分区成一个或多个圆扇形22A02。将点云数据分区成一个或多个圆扇形形状拼块的操作可以被称为圆扇形拼块拼贴。
点云数据22A00表示由点云数据编码器获取的点云数据。点云数据22A00包括多个点。
参考轴22A01指代用作将点云数据分区成一个或多个圆扇形22A02的参考的轴。参考轴22A01可以表示由点云数据占据的3D空间(例如,边界框)的中心。例如,参考轴可以是穿过3D空间的x轴和y轴的中心延伸并且垂直于x-y平面的轴。例如,参考轴可以是穿过3D空间的y轴和z轴的中心延伸并且垂直于y-z平面的轴。例如,参考轴可以是穿过3D空间的x轴和z轴的中心延伸并且垂直于x-z平面的轴。
根据实施例,点云数据可以基于包括圆扇形的原点的参考轴22A01被分区成一个或多个圆扇形。根据实施例,当一个或多个圆扇形被确定时,每个单元可以包括点,该点包括位置信息或属性信息。
可以基于表示质心点信息的信息来确定根据实施例的参考轴22A01。质心点信息例如可以是central_node_xyz。参考轴22A01可以被确定为在3D空间的x轴、y轴和z轴当中的通过质心点信息延伸的最短轴。
圆扇形22A02意指点云数据被分区成的拼块。圆扇形22A02包含点。圆扇形22A00可以表示围绕参考轴以中心角22A02-1辐射的弧形区域。
根据实施例,每个分区的圆扇形22A02可以具有相同或不同的半径22A02-1。可以基于点云数据的密度来确定圆扇形22A02的半径22A02-1。半径22A02-1可以由bounding_box_radius指示。
根据实施例的点云数据编码器可以将点云数据分区成具有各种中心角22A02-2的圆扇形22A02。点云数据编码器可以确定每个圆扇形的中心角。可以基于点云数据的密度来确定圆扇形的中心角。
当点云数据由多个帧组成时,根据实施例的点云数据编码器可以基于包含在点云数据中的对象的移动方向22A03来确定分区区域的形状。当点云数据由多个帧组成时,可以定义点云数据中包含的对象的移动方向(例如,蓝色箭头所指向的方向)。对象的移动方向可以由moving_direction_vector指示。
可以为每个帧定义关于边界框的信息(由点云数据占据的3D空间),或者可以通过关于每个帧的坐标信息(例如,x、y和z信息)来确定。根据实施例,当关于相同边界框的信息被应用于所有帧时,可以发送use_identical_bounding_box_information_flag。
根据实施例,点云数据编码器可以使用不同的量化系数、不同的几何压缩技术、不同的属性压缩技术和单个/多个属性对每个帧不同地执行编码。
根据实施例的点云数据编码器可以通过执行圆扇形拼块拼贴来有效地编码包括多个帧的数据序列,诸如LiDAR数据或用于自驾驶的数据。
根据实施例的点云数据发送设备可以通过执行圆扇形拼块拼贴以仅关于拼块的半径信息和角度信息用信号发送拼块,从而减少接收设备的复杂性。此外,通过执行圆扇形拼块拼贴,当在同一圆扇形中给出相同的点分布时,可以改进通过位置信息预测的编码。
图23图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法。
图23图示点云数据编码器将点云数据占据的3D空间或点云数据23A00分区成一个或多个层23A01或23A02。点云数据编码器可以对每个分区层23A02的点云数据进行编码。图23中所图示的对点云数据进行分区的操作可以由图18的空间分区器18001或图19的拼块拼贴单元19001执行。
点云数据编码器可以将点云数据23A00分区成一个或多个层23A01。根据实施例的将点云数据分区成一个或多个层23A01的方法可以被称为层拼块拼贴。
根据实施例,层23A01可以对应于图块、切片、拼块或块。
点云数据编码器可以在将点云数据分区成一个或多个层之前对点云数据进行排序。点云数据编码器可以按升序、降序或莫顿码顺序对点云数据进行排序。对点云数据进行排序的操作可以由图18的空间分区器18001、图19的拼块拼贴单元19001或者图19的数据特性检查器19000执行。点云数据编码器可以生成指示将点云数据排序的方法的信息(例如,enable_sorting_flag),并以比特流的形式发送该信息。
层23A01、23A02可以表示包括在沿由点云数据占据的3D空间的x轴、y轴或z轴的预定范围内的点云数据的集合。即,层23A01、23A02可以被配置成点的集合。
在图23的左侧中示出的层23A01可以表示在特定范围内具有y坐标信息的所有点云数据的点的集合。因此,根据实施例,点云数据可以由在关于点的y坐标信息范围内的多个层组成。图23中左侧上示出的层可以称为x-z层(或y方向层)。
图23中右侧上所示的层23A02可以表示在特定范围内具有x坐标信息的所有点云数据的点的集合。因此,根据实施例,点云数据可以由在关于点的x坐标信息范围内的多个层组成。图23中右侧所示的层可以称为y-z层(或x方向层)。
类似地,点云数据可以由在关于点的z坐标信息的范围内的多个层组成。图23中的左侧所示的层可以被称为x-y层(或z方向层)。根据实施例,点云数据可以被分区成一个或多个x方向层、y方向层或z方向层。
根据实施例的点云数据可以由基于点的时间移动形成的多个层组成。
根据实施例的点云数据编码器可以对一个或多个层执行渐进编译。渐进编译可以意指对每个排序的层渐进地执行编码。
根据实施例的点云数据发送设备可以将点云数据分区成一个或多个层。因此,当一个帧中的点云数据在特定区域聚类(例如,属性信息值连续聚类在左、右、上、下、前、或后)时,可以根据数据特性有效地应用压缩。
通过将点云数据分区成一个层或多个层,点云数据发送设备可以改进拼块中位置信息的关联程度,从而增加编码效率。
图24图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法。
图24图示点云数据编码器将点云数据占据的3D空间或点云数据24A00分区成一个或多个球形/椭圆形区域24001a至24001f。点云数据编码器可以对一个或多个球形/椭圆形区域24001a至24001f中的每一个的点云数据进行编码。图24中所图示的对点云数据进行分区的操作可以由图18的空间分区器18001或图19的拼块拼贴单元19001执行。
在实施例中,球形/椭圆形区域24001a至24001f可以对应于图块、切片、拼块或块。
根据实施例的点云数据编码器可以准确地对定位在点云数据24000中的重要区域中的点进行编码,或者对不重要的部分执行不太准确的编码。例如,当点云数据24000表示如图24中所示的特定的城市时,在点云数据编码器的编码过程中可能存在需要被准确编码的部分。例如,图24中用圆形或椭圆形标记的区域24001a至24001f可以是在编码过程中要准确编码的部分。特别地,当点云数据量很大,但要准确编码的区域被指定为特定区域时,对整个点云数据进行编码会导致发送/接收过程中的时延。
因此,为了有效地对点云数据进行编码,根据实施例的点云数据编码器可以将点云数据2400分区成一个或多个球形区域(或椭圆形区域)24001a至24001f,并对已分区的球形区域24001a至24001f执行编码。
点云数据24000可以包含一个或多个点。点云数据24000可以包含一个或多个要使用特定方法进行编码的区域(或在执行编码时需要准确编码的区域等)。要使用特定方法进行编码的区域可以形成为如图24的24001a和24001b所示的圆形(或球形)形状,或者如图24的24001c至24001f所示的椭圆形(或扭曲的球形)。以圆形(或球形)形状形成的区域可以被称为球形区域(或圆形拼块)。形成为椭圆形(或扭曲的球形)的区域可以被称为椭圆形区域(或椭球形区域)。
将点云数据分区成一个或多个球形或椭圆形区域的方法可以被称为球形/椭圆形区域拼贴。
根据实施例,当基于球坐标系或地理坐标系呈现点云数据时,点云数据可以被分区成球面区域。根据实施例,可以根据拼块的形状使用各种坐标系(诸如圆柱坐标系)。
根据实施例的点云数据编码器可以将点云数据分区成一个或多个球形区域24001a和24001b或椭圆形区域24001c至24001f。点云数据编码器可以生成sphere_or_oval_flag,其指示是否点云数据的拼块是球形区域或者椭圆形区域,并在比特流中发送。
点云数据编码器可以生成关于每个球形区域和/或椭圆形区域的信息,并且在比特流中发送该信息。例如,点云数据可以包含与每个球形区域或椭圆形区域的形状有关的信息。
球形区域24001a和24001b可以表示以球形配置的拼块。球形区域24001a和24001b可以指代在边界框中圆形或球形区域中的点云数据的点的集合。点云数据编码器可以生成关于球形区域24001a和24001b中的每一个的中心点信息(例如,center_point_xyz)和半径信息(radius_distance),并以比特流的形式为每个拼块发送。
椭圆形区域24001c至24001f可以表示以椭圆形或椭球形配置的拼块。椭圆形区域24001c至24001f可以指代边界框中圆形或球形区域中的点云数据的点的集合。点云数据编码器可以生成关于椭圆形区域24001c至24001f中的每一个的中心点信息(例如,center_point_xyz)、半径信息(radius_distance)和方位角信息(azimuth_angle),并以比特流的形式为每个拼块发送。
根据实施例的点云数据发送设备可以使用球形/椭圆形区域拼贴,从而按其中具有存在于空间中的对象的数据的部分和没有对象被清楚地识别的部分的序列有效地执行编码。
根据实施例的点云数据发送设备可以通过执行球形/椭圆形区域拼贴来为具有以圆形分布的位置信息的数据提供高压缩率,诸如VP树。
图25图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法。
图25图示点云数据编码器将点云数据25000或由点云数据占据的3D空间分区成基于属性的区域25001至25003。点云数据编码器可以针对一个或多个基于属性的区域25001到25003中的每一个对点云数据进行编码。图25的对点云数据分区的操作可以由图18的空间分区器18001或图19的拼块拼贴单元19001执行。
点云数据编码器可以基于关于点云数据25000中的点的属性信息来分区点云数据。例如,点云数据编码器可以根据构成点云数据的属性(颜色、反射率、透明度、时间信息、对象索引等)配置一个或者多个区域。根据实施例,基于属性信息分区区域的方法可以被称为基于属性的区域拼贴(例如,基于属性的拼块拼贴)。
图25的左侧部分示出边界框中的多个点25000a到25000c。多个点可以包括例如红色的点P0、P2、P4和P5,蓝色的点P7、P8和P9,以及绿色的点P1、P3和P6。根据实施例的点云数据编码器可以根据点的颜色将数据分区成一个或多个区域(例如,拼块)。
图25的右侧部分图示多个点25000a到25000c被分区成三个拼块25001、25002和25003。例如,具有红色的点P0、P2、P4和P5可以被划分成第一拼块25001,并且具有蓝色的点P7、P8、P9可以被划分成第二块25002,并且具有绿色的点P1、P3和P6可以被划分成第三块25003。
根据实施例的点云数据编码器可以在基于属性信息将多个点分区成一个或多个区域之前检查关于多个点的属性信息。检查关于多个点的属性信息的操作可以由图19的数据特性检查器19000执行。例如,在根据实施例的点云数据中,可以检查点当中红色的点。例如,可以基于关于点的RGB信息的值来执行检查红色点的操作。
根据实施例的点云数据发送设备(编码器)可以以比特流的形式发送指示是否已经对点云数据执行根据实施例的基于属性的区域拼贴的信息。另外,当已经执行基于属性的区域拼贴时,点云数据发送设备(编码器)可以以比特流的形式发送referenced_attribute_type,其是用于分区的参考。用于分区的参考可以包括多个属性类型。参考可以是referenced_attribute_type_range或referenced_attribute_type_value。
根据实施例的点云数据编码器可以采用基于属性的区域拼贴。从而,可以按包括一个属性信息值或与相似值对应的多条几何信息的序列有效地执行编码。
图26图示根据实施例的通过点云数据编码器将点云数据分区成一个或多个区域的方法。
图26图示点云数据编码器基于边界框的轴的长度将点云数据26000或由点云数据占据的3D空间分区成区域26001和26002。点云数据编码器可以基于边界框的轴的长度中的一个或多个来对分区区域26001和26002中的每一个的点云数据进行编码。图26所图示的对点云数据进行分区的操作可以由图18的空间分区器18001或图19的拼块拼贴单元19001执行。根据实施例,基于边界框的轴的长度将数据分区成分区的区域(例如,拼块)26001和26002的操作可以被称为自适应基于轴向长度的区域拼贴(或自适应基于轴向长度的拼块拼贴)。
点云数据26000可以包括一个或多个点。点云数据可以被包括在3D空间(例如,边界框)中。3D空间(例如,边界框)可以表示为x轴、y轴和z轴。
例如,对于点云数据26000,x轴、y轴和z轴之一的长度可以短于或显著短于其他两个轴的长度短。例如,可能存在表达除了一个轴之外沿两个轴广泛分布的地形的点云数据。如果点云数据发送设备不管轴的长度如何对边界框中的点进行编码,则可能使编码效率变差。因此,点云数据发送设备需要将数据分区成一个或多个区域以适应3D空间的轴长。因此,点云数据发送设备可以计算x轴、y轴和z轴的相对长度,并基于计算出的相对长度将点云数据分区成一个或多个区域。
点云数据发送设备(例如,图18的图块分区器18000或图19的拼贴单元19001)可以通过将在x轴26000x的长度、y轴26000y的长度和z轴26000z的长度当中最长的轴(例如,x轴)分区成最短轴(例如,z轴)的长度的单元来配置一个或者多个切片(或者第一拼块)26001。
点云数据发送设备(例如,图18的图块分区器18000或图19的拼贴单元19001)可以在第一拼块当中重新分区一些拼块26001。在根据实施例的重新分区中,对于第一拼块中的一些,可以通过将最长长度的轴(即,在图26的拼块26001的情况的y轴26000y)划分为最短轴(例如,x轴或z轴)的长度的单元来配置。分区成一个或多个子切片(或第二拼块)26002的数据可以是可以被并行编码和解码的单元。
根据实施例的点云数据发送设备可以基于关于点的最小/最大信息执行分区,而不符合具有第一拼块中的点的最大数量和最小数量(maxPointNum,minPointNum)的空间数据分布。
根据实施例的点云数据发送设备可以基于区域中的点的数量、分配给每个区域的空间的大小、以及区域中包括的点的密度来确定是否重新分区第一拼块或者第二拼块。根据实施例,空间重新分区可以被空间自适应地执行,并且可以包括基于特定轴分区切片和基于中长轴重新分区切片。
因此,在根据实施例的发送点云数据的方法中,可以基于用于通过第二轴的长度单位划分3D空间的第一轴的第一划分步骤,和/或用于通过第二轴的长度单位划分3D空间的第三轴的划分步骤来分区点云数据。
通过采用自适应基于轴向长度的区域拼贴,根据实施例的点云数据发送设备可以在与包括大的地形特征的点云数据的一个帧内的空间单元相关联的序列中有效地执行编码。根据实施例的点云数据接收设备可以有效地解码包括大的地形特征的点云数据。
图27图示根据实施例的点云数据发送设备的比特流组合器。
下面将描述比特流组合器27000。比特流组合器27000接收几何比特流27000a和/或属性比特流27000b。比特流组合器27000可以通过组合接收到的几何比特流27000a和接收到的属性比特流27000b来输出比特流27000c。
比特流组合器27000可以接收以逐区域为单位编码的几何比特流27000a和以逐区域为单位编码的属性比特流27000b,并且组合这些比特流。比特流组合器27000可以以区域为单位输出比特流27000c。根据实施例,比特流组合器27000可以接收和组合其中对应于根据图19至图26分区域的一个或多个区域的点云数据被编码的比特流27000a和27000b。因此,比特流组合器27000可以根据图19至图26以区域为单位输出比特流27000c。
比特流组合器27000可以指代图19的比特流组合器19014。几何比特流27000a和属性比特流27000b可以指代图19的几何比特流和属性比特流。几何比特流27000a和属性比特流27000b可以指代图18的几何比特流18000b和属性信息比特流18000c。
比特流组合器27000可以包括组合执行器27001,其被配置成组合几何比特流27000a和属性比特流27000b。组合执行器27001可以接收上述几何比特流27000a和属性比特流27000b,组合每个区域的比特流,并输出比特流27000c。
比特流组合器27000可以确定组合几何比特流27000a和属性比特流27000b的顺序以及用于组合的方法。组合的方法可以包括诸如复用、MVC比特串组合、顺序组合、基于重要性的组合等方法中的至少一种。可以根据接收到的几何比特流27000a和/或属性比特流27000b的特性(例如,各种属性比特流、属性比特流的存在/不存在、几何和/或属性比特流的量化程度、比特流的长度、拼贴等)来确定或者选择用于组合的方法。点云数据编码器可以生成表示编码器发送组合的几何比特流和属性比特流所使用的组合方法的信息(combining_filter_index),并以比特流的形式发送。根据实施例,可以根据比特流的传输特性固定使用特定的组合方法。
因此,根据实施例的发送点云数据的方法可以进一步包括针对一个或多个区域中的每一个组合编码的几何信息和编码的属性信息。
由于配置了比特流组合器27000,点云数据发送设备可以发送通过根据图19至图26对分区的区域进行编码而生成的比特流。因此,根据实施例的点云数据接收设备可以连同信令信息一起有效地解码针对每个区域接收到的点云数据。
图28图示根据实施例的点云解码器。
根据实施例的点云解码器28000可以包括几何信息解码器28001和/或属性信息解码器28002。根据实施例,点云解码器可以被称为PCC解码设备、PCC解码单元、点云设备、点云解码单元、PCC解码器等。
几何信息解码器28001接收点云数据的几何信息比特流28000a。几何信息解码器28001可以对点云数据的几何信息比特流28000a进行解码,并输出关于重构的点云数据28000c的属性信息。几何信息解码器28001可以从几何信息比特流重构几何信息并输出重构的几何信息28001。几何信息比特流28000a可以表示图18至26的几何信息比特流或几何比特流。属性信息比特流28000b可以表示图18至26的属性信息比特流或属性比特流。
几何信息解码器28001通过对接收的几何信息比特流进行解码来重构几何信息。重构的几何信息可以被输入到属性信息解码器。属性信息解码器28002从向其输入的属性信息比特流和从几何信息解码器接收到的重构的几何信息来重构属性信息。重构的几何信息可以是由参考图11描述的几何重构器(重构几何)11003重构的几何。重构的几何信息可以是由参考图13描述的基于占用码的八叉树重构处理器13003重构的八叉树占用码。
几何信息解码器28001接收由根据实施例的接收设备接收的几何信息比特流。几何信息解码器28001可以对几何信息比特流进行解码。
几何信息解码器28001可以执行图1的点云视频解码器、图2的解码20003、图10的几何解码器、图11的算术解码器11000、图11的八叉树合成器11001、图11的表面近似合成器11002、图11的几何重构器11003和/或图11的坐标逆变换器11004的操作的全部/部分。
属性信息解码器28002接收点云数据的属性信息比特流28000b。属性信息解码器28002可以对点云数据的属性信息比特流28000b进行解码,并输出关于重构的点云数据28000c的属性信息。属性信息解码器28002可以基于几何信息解码器28001生成的重构的几何信息28001a对属性信息比特流进行解码。
属性信息解码器28002接收由根据实施例的接收设备接收的属性信息比特流。属性信息解码器可以基于重构的几何信息对属性信息比特流中的属性信息进行解码。点云数据中包括的几何信息和/或属性信息可以是通过解码重构的PCC数据。
属性信息解码器28002可以执行图1的点云视频解码器的操作、图2的解码20003的操作、图10的属性解码器的操作、图11的逆量化器11006、RAHT 11007、LOD生成器11008、逆提升器11009和/或颜色逆变换器11010的操作、以及图13的算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011的操作的全部/部分。
因此,根据实施例的接收点云数据的方法可以包括接收包括点云数据和信令信息的比特流、解码点云数据和/或渲染点云数据。接收到的点云数据可以包括几何比特流和属性比特流。点云数据的解码可以包括基于重构的几何信息对点云数据的几何比特流进行几何解码和/或对点云数据的属性比特流进行属性解码。当接收到的点云数据被划分成一个或多个区域时,可以在解码操作中对这些区域进行独立解码。
图29图示根据实施例的点云解码器。
根据图29的实施例的点云解码器可以是图28的点云数据解码器。点云解码器可以包括接收器29000、分区数据输入单元29001、第一算术解码器29002、基于占用码的八叉树重构处理器29003、表面模型处理器29004、几何重构器29005、坐标逆变换器29006、第二算术解码器29007、逆量化处理器29008、预测/提升/RAHT逆变换处理器29009、属性重构器29010、颜色逆变换器29011和/或点组合器29012。
图29中所示的点云数据解码器的组件的操作可以以逐拼块为单位执行或者可以以逐拼块为单位被独立地执行。
根据实施例,接收器29000可以接收包括点云数据的比特流。接收器29000可以将接收到的比特流发送到分区数据输入单元29001。接收器29000可以执行图1的接收器10007、图2的发送20002以及图13的接收器13000的操作。
分区数据输入单元29001以逐拼块为单位接收包括点云数据的比特流,并以逐拼块为单位输出点云数据的几何比特流和属性比特流以以逐拼块为单位执行解码。分区数据输入单元29001可以将拼块单元中的几何比特流发送到第一算术解码器29002,并将拼块单元中的属性比特流发送到第二算术解码器29002。
当接收器29000接收的比特流包含指示已经以逐拼块为单位执行编码的信令信息(例如,bistream_brick_decoding_flag)时,点云数据接收设备(分区数据输入单元29001)可以将接收到的比特流解码N次。分区数据输入单元29001可以执行图1的接收器10007、图2的发送20002以及图13接收处理器13001的操作。
第一算术解码器29002以逐拼块为单位接收几何比特流。第一算术解码器29002可以解码几何比特流。第一算术解码器29002输出解码的几何信息。
第一算术解码器29002可以执行图1的点云视频解码器10006、图3的解码20003、图11的算术解码器11000以及图13的算术解码器13002的操作。
基于占用码的八叉树重构处理器29003接收解码的几何信息。基于占用码的八叉树重构处理器29003可以基于拼块单元中的几何比特流来重构基于占用的八叉树。基于占用码的八叉树重构处理器29003可以将重构的八叉树发送到表面模型处理器29004。
基于占用码的八叉树重构处理器29003可以执行图1的点云视频解码器10006、图2的解码20003、图11的八叉树分析器11001、和/或图13的基于占用码的八叉树重构处理器13003的操作。
表面模型处理器29004可以基于第一算术解码器29002解码的几何信息和/或基于占用码的八叉树重构处理器29003重构的八叉树对几何信息执行表面模型处理。几何信息的表面模型处理可以包括例如三角形重构、上采样和体素化。
表面模型处理器29004可以执行图1的点云视频解码器10006、图2的解码20003、图11的表面近似分析器11002和/或图13的表面模型处理器13004的操作。
几何重构器29005接收由表面模型处理器29004处理的几何信息。几何重构器重构经表面模型处理的几何信息。几何重构器29005可以将重构的几何信息发送到预测/提升/RAHT逆变换处理器29009和/或坐标逆变换器29006。
几何重构器29005可以执行图1的点云视频解码器10006、图2的解码20003和/或图11的几何重构器11003的操作。
坐标逆变换器29006逆变换关于由几何重构器29005生成的几何信息的坐标信息。坐标逆变换器29006逆变换几何信息并输出关于点云数据的点的位置信息。坐标逆变换器29006可以将关于点的位置信息发送到点组合器29012。
坐标逆变换器29006可以向分区数据输入单元29001发送信息,该信息指示已经对与点对应的拼块执行了几何解码。
坐标逆变换器29006可以执行图1的点云视频解码器10006、图2的解码20003和/或图11的坐标逆变换器11004的操作。
第二算术解码器29007以逐拼块为单位接收几何比特流。第二算术解码器29007可以对属性比特流进行解码。第二算术解码器29007输出解码的属性信息。
第二算术解码器29007可以执行图1的点云视频解码器10006、图2的解码20003、图11的算术解码11005和/或图13的算术解码器13007的操作。
逆量化处理器29008接收由第二算术解码器29007生成的解码的属性信息。逆量化处理器29008对接收的解码属性信息进行逆量化。逆量化处理器29008可以输出逆量化的属性信息并将逆量化的属性信息发送到预测/提升/RAHT逆变换处理器29009。
逆量化处理器29008可以执行图1的点云视频解码器10006、图2的解码20003、图11的逆量化器、和/或图13的算术解码器13007的操作。
预测/提升/RAHT逆变换处理器29009接收由逆量化处理器29008逆量化的几何信息,并且对其进行逆变换。预测/提升/RAHT逆变换处理器29009可以基于预测、提升和RAHT中的至少一个对逆量化的属性信息进行逆变换。预测/提升/RAHT逆变换处理器29009可以基于由几何重构器29005重构的几何信息(或恢复的几何信息)对属性信息进行逆变换。
预测/提升/RAHT逆变换处理器29009可以执行图1的点云视频解码器10006。图2的解码20003、图11的RAHT 11007、图11的LOD生成器11008和/或图11的逆提升器11009的操作。
属性重构器29010基于由预测/提升/RAHT逆变换处理器29009逆变换的属性信息来重构属性信息。属性重构器输出重构的属性信息并将其发送到颜色逆变换处理器29011。
属性重构器29010可以执行图1的点云视频解码器10006、图2的解码20003、图11的颜色逆变换器11010、和/或图13的颜色逆变换处理器13010的操作。
颜色逆变换器29011接收由属性重构器29010重构的几何信息。颜色逆变换器29011可以对重构的几何信息执行逆颜色变换。颜色逆变换器29011输出关于点云数据的点的属性信息。
颜色逆变换器29006可以向分区数据输入单元29001发送指示已经对与点对应的拼块执行了属性解码的信息。属性重配置单元29010可以执行图1的点云视频解码器10006、图2的解码20003、图11的颜色逆变换器11010和/或图13的颜色逆变换处理器13010的操作。
根据实施例,点组合器29012接收关于点云数据的点的几何信息(位置信息)和/或关于点的属性信息。点组合器29012接收以拼块单位的关于点云数据的点的几何信息(位置信息)和/或关于点的属性信息,并以逐拼块为单位进行组合。点组合器29012输出以拼块单位的包括关于点的位置信息和属性信息的点云数据。
在根据实施例的接收点云数据的方法中,当接收到的点云数据被划分成一个或多个拼块时,解码可以进一步包括组合关于独立解码的拼块中的点的几何信息和属性信息。
图30图示根据实施例的点云解码器的点组合器。
将描述点组合器30000。点组合器30000接收关于点的几何信息30000a和/或关于点的属性信息30000b。点组合器30000可以通过组合接收到的关于点的几何信息30000a和属性信息30000b来输出点云数据30000c。点组合器30000包括组合执行器30001。
组合执行器30001可以接收关于每个拼块或图块的点的几何信息和属性信息。点组合器30000可以基于组合方法组合接收到的关于每个拼块或图块的点的几何信息和属性信息。
根据实施例的组合方法指代基于诸如复用、MVC比特串组合、顺序组合、基于重要性的组合等方法中的至少一种方法的逆过程的操作。在点的位置值(几何信息)和点的属性值(属性信息)均被解码后,根据实施例的点云解码器确定用于组合位置值和属性值的组合方法。
组合执行器30001可以以一一对应的方式将一个属性值(属性信息)映射到一个位置值(几何信息)。当一个属性值(属性信息)不能以一一对应的方式映射到一个位置值(几何信息)时,组合执行器30001可以使用有损组合的方法。例如,对于特定位置值(几何信息)已经存在的属性值(属性信息)可以不存在,并且对于一个位置值可以存在多个属性值。在有损组合中,当映射多条属性信息时,可以通过duplicated_attribute_index配置点信息。
根据实施例的点云解码器(例如,点组合器30000或组合执行器30001)可以基于指示包含在由点云数据接收设备接收到的比特流中的组合方法的信息(例如,combining_filter_index)组合关于点的几何信息和点的属性信息。
关于点的几何信息30000a指代由点云解码器解码的几何比特流。点几何信息30000a可以是从图29的坐标逆变换器29006输出的关于点的几何信息或者从图28的几何信息解码器28001输出的解码的几何信息。
关于点的属性信息30000b指代由点云解码器解码的属性比特流。点属性信息30000b可以是从图29的颜色逆变换处理器29011输出的关于点的属性信息或者从图28的属性信息解码器28002输出的解码的属性信息。
图31图示根据实施例的点云数据的示例性比特流结构。
根据实施例的点云数据发送设备可以发送具有图31所图示的比特流结构的比特流31000。点云数据的比特流31000可以包括序列参数集(SPS)31001、几何参数集(GPS)31002、属性参数集(APS)31003、图块参数集(TPS)31004和一个或多个切片(切片0、切片1、……、切片n)31004。点云数据的比特流31000可以包括一个或多个图块。图块可以是包括一个或多个切片的一组切片。比特流31000提供图块或切片,使得点云数据可以按区域分区和处理。比特流31000的每个区域可以具有不同的重要性。因此,当点云数据被分区成图块时,可以对相应的图块应用不同的滤波器(编码方法)和不同的滤波器单元。当点云被分区成切片时,可以对相应的切片应用不同的滤波器和不同的滤波单元。
通过根据图31000所图示的比特流的结构发送点云数据,根据实施例的点云数据发送设备可以允许根据重要性不同地应用编码操作,并且允许在重要区域中使用高质量的编码方法。
可以允许点云数据接收设备根据接收设备的处理能力将不同的滤波(解码方法)应用于相应区域(划分成图块或切片),而不是使用复杂的解码(滤波)整个点云数据的方法。从而,对于用户重要的区域,可以确保更好的图像质量,并且可以在系统中确保适当的时延。
SPS 31001是包含应用于零个或多个完整CVS的语法元素的语法结构,如由在PPS中发现的语法元素的内容所确定的,该PPS由在每个切片片段报头中发现的语法元素参考。根据实施例,SPS可以包括关于点云数据比特流的序列信息。
GPS 31002可以是包括应用于零个或多个整个几何(或编码的几何)的语法元素的语法结构。GPS 31002可以包括关于编码包括在一个或多个切片31004中的点云数据的属性信息的方法的信息。GPS 31002可以包括指示与所包括的几何参数相关的SPS 31001的SPS标识符信息,以及用于识别GPS的GPS标识符信息。
APS 31003可以是包括应用于零个或多个整个属性(或编码的属性)的语法元素的语法结构。APS 31003可以包括关于编码包括在一个或多个切片31004中的点云数据的属性信息的方法的信息。APS 31003可以包括指示与所包括的几何参数相关的SPS 31001的SPS标识符信息,以及用于识别APS的APS标识符信息。
TPS 31004可以是包括应用于零个或多个整个图块(或编码的图块)的语法元素的语法结构。图块库包括关于包括在点云数据比特流中的零个或多个图块的信息。根据实施例,图块库可以被称为图块参数集(TPS)。
TPS 31004可以包括用于识别一个或多个图块的标识符信息和指示一个或多个图块的范围(即,图块的边界框)的信息。指示一个或多个图块的范围(即,图块的边界框)的信息可以包括关于作为由相应图块(例如,Tile(n).tile_bounding_box_xyz0)表示的边界框的参考的点的坐标信息以及有关边界框的宽度、高度和深度(例如,Tile(n).tile_bounding_box_whd)的信息。当存在多个图块时,图块库33004可以包括指示每个图块的边界框的信息。例如,当每个图块由图块的标识符信息指示为0到n时,指示每个图块的边界框的信息可以表示为Tile(0).tile_bounding_box_xyz0、Tile(0).tile_bounding_box_whd、Tile(1).tile_bounding_box_xyz0、Tile(1).tile_bounding_box_whd等等。
切片31004可以是点云数据发送设备对点云数据进行编码的单位。切片31004可以是包括一个几何比特流(Geom00)31004a和一个或多个属性比特流(Attr00和Attr10)31004b的单元。
切片31004可以包括几何切片(Geom)31004a,其表示关于包括在切片中的点云数据的几何信息;以及一个或多个属性切片(Attr)31004b和31004c,其表示关于包括在切片中的点云数据的属性信息。
几何切片(Geom)31004a包括几何切片数据(Geom_slice_data)31004a-2,其包括关于点云数据的几何信息;以及几何切片报头(GSH)(Geom_slice_header)31004a-1,其包括关于几何切片数据的信息。
GSH 31004a-1包含关于切片中的几何切片数据31004a-2的信息。例如,GSH31004a-1可以包含用于识别表示关于切片的几何信息的GPS 31002的几何参数集标识符(geom_geom_parameter_set_id),以及用于识别几何切片的几何切片标识符、指示几何切片数据的框的原点的几何框原点信息(geomBoxOrigin)、指示几何切片的对数标度的信息(geom_box_log2_scale)以及与几何切片中的点数相关的信息(geom_num_points)。
当根据实施例的点云数据比特流包含一个或多个图块时,几何比特流的报头可以进一步包含用于识别包括几何比特流的图块的信息(geom_tile_id)。
属性切片(Attr)31004b、31004c包括包含关于点云数据的属性信息的属性切片数据(Attr_slice_data)和包含关于属性切片数据的信息的属性切片报头(ASH)(Attr_slice_header)33005c。
根据实施例,可以将编码点云所需的参数新定义为点云的参数集和报头信息。例如,可以在对属性信息进行编码时将参数添加到属性参数集RBSP语法中,并且在执行基于图块的编码时将其添加到tile_header语法中。
因为根据实施例的点云数据发送/接收方法提供上述比特流结构,所以可以增加接收器对点云数据的属性信息的解码性能。
图32图示根据实施例的比特流的序列参数集(SPS)。
图32中所示的参数可以包括在图31所图示的SPS中。根据实施例的SPS可以包含与参考图18至30描述的拼块分区或拼块拼贴相关的信令信息、和/或相关信令信息。
profile_idc指示比特流符合如附录A中指定的简档。比特流不应包含除了附录A中指定的值以外的profile_idc值。profile_idc的其他值被保留以供ISO/IEC将来使用。
profile_compatibility_flags等于1,指示比特流符合由如在附录A中指定的等于j的profile_idc所指示的简档。对于未指定为如附录A中的profile_idc的允许值的任何j值,profile_compatibility_flag[j]的值应等于0。
level_idc指示比特流符合如附录A中指定的级别。比特流可能不包含除了附录A中指定的值以外的level_idc值。level_idc的其他值被保留以供ISO/IEC将来使用。
sps_bounding_box_present_flag等于1指定边界框偏移和大小信息被用信号发送。
sps_bounding_box_offset_x指示源边界框在笛卡尔坐标中的x偏移。当不存在时,推断sps_bounding_box_offset_x的值为0。
sps_bounding_box_offset_y指示源边界框在笛卡尔坐标中的y偏移。当不存在时,推断sps_bounding_box_offset_y的值为0。
sps_bounding_box_offset_z指示源边界框在笛卡尔坐标系中的z偏移。当不存在时,推断sps_bounding_box_offset_z的值为0。
sps_bounding_box_scale_factor指示笛卡尔坐标中源边界框的缩放因子。当不存在时,推断sps_bounding_box_scale_factor的值为1。当不存在时,推断sps_bounding_box_scale_factor的值为0。
sps_bounding_box_size_width指示笛卡尔坐标中源边界框的宽度。当不存在时,将sps_bounding_box_size_width的值推断为特定值(诸如10)。
sps_bounding_box_size_height指示笛卡尔坐标中源边界框的高度。当不存在时,sps_bounding_box_size_height的值被推断为1。当不存在时,sps_bounding_box_size_hieght的值被推断为0。
sps_bounding_box_size_depth指示笛卡尔坐标中源边界框的深度。当不存在时,sps_bounding_box_size_depth的值被推断为1。当不存在时,sps_bounding_box_size_depth的值被推断为0。
sps_source_scale_factor指示源点云的缩放因子。
sps_seq_parameter_set_id为SPS提供标识符以供其他语法元素参考。在符合本规范的此版本的比特流中,sps_seq_parameter_set_id的值可以在0至15的范围内,包括0和15。除了用于sps_seq_parameter_set_id的0以外的值被保留以供ISO/IEC将来使用。
sps_num_attribute_sets指示比特流中编译的属性的数量。sps_num_attribute_sets的值可能在0至64的范围内。
attribute_dimension[i]指定第i个属性的分量的数量。
attribute_instance_id[i]指定属性实例id。
attribute_bitdepth[i]指定第i个属性信号的位深度。
attribute_cicp_colour_primaries[i]指示颜色属性源原色的色度坐标。
attribute_cicp_transfer_characteristics[i]指示作为具有标称实值范围为0至1的源输入线性光强Lc的函数的颜色属性的参考光电传输特性函数,或者指示作为具有标称实值范围为0至1的输出线性光强Lo的函数的参考电光传输特性函数的逆。
attribute_cicp_matrix_coeffs[i]描述用于从绿色、蓝色和红色或Y、Z和X原色导出亮度和色度信号的矩阵系数。
attribute_cicp_video_full_range_flag[i]指定从E'Y、E'PB和E'PR或E'R、E'G和E'B实值分量信号导出的亮度和色度信号的黑级别和范围。
known_attribute_label_flag[i]等于1指定为第i个属性用信号发送know_attribute_label。known_attribute_label_flag[i]等于0指定为第i个属性用信号发送attribute_label_four_bytes。
known_attribute_label[i]等于0指定属性是颜色。known_attribute_label[i]等于1指定属性是反射率。known_attribute_label[i]等于2指定属性是帧索引。
根据一些实施例,SPS可以进一步包括partitioning_enabling_flag、split_recursive_enabling_flag、partitioning_unit_size、partition_current_unit、multiple_brick_partitioning_flag、partitioning_type_index、combining_filter_index、duplicated_attribute_index。
partitioning_enabling_flag指定指示根据实施例的点云编码器是否将点云数据分区成拼块的信息(或标志)。
根据实施例的点云数据接收设备(例如,图29的接收器29000或分区数据输入单元29001)可以基于partitioning_enabling_flag确定接收的比特流中的点云数据是否被分区为拼块,并且可以以逐拼块为单位接收在接收到的比特流中的点云数据。
split_recursive_enabling_flag指定指示根据实施例的点云编码器是否已经重新分区被分区的拼块的信息(或标志)。
根据实施例的点云数据接收设备(例如,图35的接收器35000或分区数据输入单元35001)可以确定接收的比特流中的点云数据的拼块是否基于split_recursive_enabling_flag被分区为子分区单元。
partitioning_unit_size是指示由根据实施例的点云编码器分区的拼块的分区单元的信息。例如,partitioning_unit_size可以指示根据实施例的拼块的单元大小。
点云数据接收设备(例如,图29的接收器29000或分区数据输入单元29001)可以基于partitioning_unit_size确定接收到的比特流中的点云数据的拼块的分区单元,并且解码对应于分区单元的比特流的一部分。
partition_current_unit是指示当根据实施例的点云编码器重新分区拼块时重新分区的切片或拼块的分区单元的信息。例如,partition_current_unit可以指示根据实施例的重新分区的拼块的单元大小。
在根据split_recursive_enabling_flag确定接收到的比特流的点云数据的拼块被分区成子分区单元之后,点云数据接收设备(例如,图29的接收器29000或分区数据输入单元29001)可以基于partition_current_unit确定重新分区的拼块的分区单元。
multiple_brick_partitioning_flag是指示是否基于根据实施例将点云数据分区成多个拼块的方法来执行分区的信息(或标志)。即,此参数可以是指示是否使用各种分区方法作为要用于拼块分区的分区类型的信息。
基于multiple_brick_partitioning_flag,点云数据接收设备(例如,图29中的接收器29000的分区数据输入单元29001)可以确定点云数据是否基于一种或多种拼块分区方法被分区。
partitioning_type_index指定根据实施例将点云数据分区成拼块的方法。将数据分区成拼块的方法可以包括基于点密度的拼块拼贴、圆扇形拼块拼贴、层拼块拼贴、以及球形/椭圆形区域拼块拼贴、基于属性的拼块拼贴和自适应基于轴向长度的拼块拼贴。例如,可以如下确定partitioning_type_index。
partitioning_type_index=1指示已经执行了基于点密度的拼块拼贴。基于点密度的拼块拼贴可以是根据图21所图示的方法的拼块的分区。
partitioning_type_index=2指示已经执行了圆扇形拼块拼贴。圆扇形拼块拼贴可以是根据图22所图示的方法的拼块的分区。
partitioning_type_index=3指示已经执行了层拼块拼贴。层拼块拼贴可以是根据图23所图示的方法的拼块的分区。
partitioning_type_index=4指示已经执行了球形/椭圆形区域拼贴。球形/椭圆形拼块分区可以是根据图24中所图示的方法的拼块的分区。
partitioning_type_index=5指示已经执行了基于属性的拼块拼贴。基于属性的拼块拼贴可以是根据图25所图示的方法的拼块的分区。
partitioning_type_index=6指示已经执行了自适应基于轴向长度的拼块拼贴。自适应基于轴向长度的拼块拼贴可以是根据图26所图示的方法的拼块的分区。
partitioning_type_index=7指示已经执行了除了上述方法之外的用户定义的拼块拼贴方法。根据实施例,可以基于短轴对边界框的坐标轴当中的长轴进行分区,并且然后可以对分区的拼块进行重新分区。在这种情况下,可以执行基于短轴重新分区中长度轴的过程。
点云数据接收设备(例如,图29的接收器29000或分区数据输入单元29001)可以基于partitioning_type_index以逐拼块为单位解码点云数据。
combining_filter_index表示关于编码器用来发送组合几何比特流和属性比特流的组合方法的信息。根据实施例,可以根据传输环境和比特流的特性来用信号发送组合方法。因此,可以改进压缩率。
当combining_filter_index=0时,其指示已经基于复用方法执行了组合。根据实施例,复用方法可以将个别的比特流按顺序排列为一组比特或字节。
当combining_filter_index=1时,其指示已经基于顺序组合方法执行了组合。根据实施例,顺序组合方法是顺序地组合几何比特流和属性比特流。
当combining_filter_index=2时,其指示已经根据基于重要性的组合方法执行了组合。根据实施例,在基于重要性的组合中,可以首先组合具有更高重要性的比特流。
点云数据接收设备(例如,图29的点组合器29012、图30的点组合器30000)可以基于combining_filter_index从接收的比特流中提取几何比特流和属性比特。例如,当combining_filter_index为0时,根据本实施例的点云数据接收设备可以基于复用的逆过程从接收到的比特流中提取几何比特流和属性比特流。例如,当combining_filter_index为1时,点云数据接收设备可以基于顺序组合的逆过程从接收到的比特流中提取几何比特流和属性比特流。例如,当combining_filter_index为2时,点云数据接收设备可以以基于重要性组合的逆过程为基础从接收到的比特流中提取几何比特流和属性比特流。
当多条属性信息被映射到相同的几何信息时,duplicated_attribute_index指示对应的几何包括重复的属性信息。重复属性可以应用于关于重复点的属性信息。
当duplicated_attribute_index=0时,其指示颜色重复。当多个颜色值以重复的方式映射到相同的几何信息时,可以使用重复的属性。
当duplicated_attribute_index=1时,其指示反射率重复。当多个反射率值以重复的方式映射到相同的几何信息时,可以使用重复的属性。
根据实施例的点云数据接收设备可以基于duplicated_attribute_index确定其中几何重复的属性信息。
sps_extension_present_flag等于1指定sps_extension_data语法结构存在于SPS RBSP语法结构中。sps_extension_present_flag等于0指定此语法结构不存在。当不存在时,推断sps_extension_present_flag的值等于0。
sps_extension_data_flag可以具有任何值。其存在和值不影响解码器符合与符合在附录A中指定的简档中的附录A解码器指定的简档。
图33图示根据实施例的比特流的图块参数集(TPS)。
在图33中示出的参数可以被包括在参考图31描述的TPS中。根据实施例的TPS可以包括与参考图18至30描述的拼块分区或拼块拼贴相关的信令信息,和/或相关信令信息。
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。
tile_bounding_box_scale_factor[i]指示笛卡尔坐标中第i个图块的缩放因子。当不存在时,tile_bounding_box_scale_factor[0]的值被推断为sps_bounding_box_scale_factor。
tile_bounding_box_size_width[i]指示笛卡尔坐标中第i个图块的宽度。当不存在时,tile_bounding_box_size_width[0]的值被推断为sps_bounding_box_size_width。
tile_bounding_box_size_height[i]指示笛卡尔坐标中第i个图块的高度。当不存在时,tile_bounding_box_size_height[0]的值被推断为sps_bounding_box_size_height。
tile_bounding_box_size_depth[i]指示笛卡尔坐标中第i个图块的深度。当不存在时,tile_bounding_box_size_depth[0]的值被推断为sps_bounding_box_size_depth。
在一些实施例中,TPS可以进一步包括brick_unit_information、brick_density_quantization_step、bounding_box_radius、central_node_xyz、moving_direction_vector、use_identical_bounding_box_information_flag、enable_sorting_flag、sphere_or_oval_flag、center_point_xyz、radius_distance、azimuth_angle、referenced_attribute_type、referenced_attribute_type_range、referenced_attribute_type_value、combining_filter_index、duplicated_attribute_index、divide_mid_length_axis。
brick_unit_information指定关于一个拼块的单元信息和/或关于分区方法的信息。
brick_density_quantization_step指示可以通过指定要在拼块中使用的量化系数对要分区的拼块执行采样的程度。
bounding_box_radius是当根据实施例的点云数据发送设备执行圆扇形拼块拼贴时指示相应拼块的半径的信息。此参数可以是图22的bounding_box_radius参数。此参数可能存在于每个拼块中。
central_node_xyz是当根据实施例的点云数据发送设备执行圆扇形拼块拼贴时指示关于拼块的中心点信息的x坐标、y坐标和z坐标的信息。此参数可以是图22的参数central_node_xyz。
moving_direction_vector指示当根据实施例的点云数据发送设备执行圆扇形拼块拼贴时由点云数据表示的对象的移动方向。moving_direction_vector可以用矢量形式表达。其可以是图22的参数moving_direction_vector。
use_identical_bounding_box_information_flag是指示当根据实施例的点云数据发送设备执行圆扇形拼块拼贴时是否为所有帧定义相同边界框的信息(或标志)。根据实施例,边界框信息可以为每一帧定义,或可以由每个帧的x、y和z值确定。其可以是图22的参数use_identical_bounding_box_information_flag。
enable_sorting_flag是指示在根据实施例的点云数据发送设备执行层拼块拼贴时点云数据是否已经排序(例如,升序、降序、莫顿码顺序)的信息(或标志)。其可以是图23的参数enable_sorting_flag。此参数可能存在于每个拼块中。
sphere_or_oval_flag指示当点云数据发送设备根据实施例执行球形/椭圆形区域拼贴时,是否将点云数据分区成球形或椭圆形区域。其可以是图24的参数sphere_or_oval_flag。此参数可能存在于每个拼块中。
center_point_xyz包含当点云数据发送设备根据实施例执行球形/椭圆形区域拼贴时的球形/椭圆形区域的中心点的坐标信息(例如,(x,y,z)信息)实施例。其可以是图24的参数center_point_xyz。此参数可能存在于每个拼块中。
radius_distance指定当点云数据发送设备根据实施例执行球形/椭圆形区域拼贴时关于根据实施例的球形/椭圆形拼块的半径信息(或距离信息)。其可以是图24的参数radius_distance。此参数可能存在于每个拼块中。
azimuth_angle可以指定当点云数据发送设备根据实施例执行球形/椭圆形区域拼贴时距原点的距离和球坐标系中的参考矢量之间形成的角度。此参数可能存在于每个拼块中。其可以是图24的参数azimuth_angle。
referenced_attribute_type指示属性信息,当点云数据发送设备根据实施例执行基于属性的拼块拼贴时,该属性信息是用于拼块分区的参考。其可以是图25的参数referenced_attribute_type。
referenced_attribute_type_range指示当点云数据发送设备根据实施例执行基于属性的拼块拼贴时,是否为拼块配置属性信息的属性值范围。其可以是图25的参数referenced_attribute_type。
referenced_attribute_type_value是指示是否为拼块配置属性信息的属性值的信息。其可以是图25的参数referenced_attribute_type_value。
combining_filter_index指定关于编码器用来发送组合的几何比特流和属性比特流的组合方法的信息。根据实施例,可以根据传输环境和比特流的特性来用信号发送组合方法。因此,可以改进压缩率。combine_filter_index可以是图32的combine_filter_index。
当多条属性信息被映射到一条几何信息时,duplicated_attribute_index指示对应的几何包括重复的属性信息。重复的属性可以应用于关于重复点的属性信息。duplicated_attribute_index可以是图32的duplicated_attribute_index。
当点云数据发送设备根据实施例执行图26的自适应基于轴向长度的拼贴时,divide_mid_length_axis指定关于中间长度轴的信息。例如,divide_mid_length_axis等于0可以指示X轴是中间长度轴。divide_mid_length_axis等于1可以指示Y轴是中间长度轴。divide_mid_length_axis等于2可以指示Z轴是中间长度轴。
根据实施例的点云数据接收设备(例如,图29的接收器29000、图29的分区数据输入单元29001、图29的点组合器29012、图30的点组合器30000)可以基于参数brick_unit_information、brick_density_quantization_step、bounding_box_radius、central_node_xyz、moving_direction_vector、use_identical_bounding_box_information_flag、enable_sorting_flag、sphere_or_oval_flag、center_point_xyz,radius_distance、azimuth_angle、referenced_attribute_type、referenced_attribute_type_range、referenced_attribute_type_value、combining_filter_index和duplicated_attribute_index、以及divide_mid_length_axis确定根据实施例的拼块的形状,并且可以基于上述参数识别要解码的点云数据。
图34图示根据实施例的比特流的几何参数集(GPS)。
图34所示的参数可以包括在参考图31描述的GPS中。根据实施例的GPS可以包括与参考图18至图30描述的拼块分区或拼块拼贴相关的信令信息,和/或相关信令信息。
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。
geometry_coding_type指示对于geometry_coding_type的给定值表7 1中几何的编译类型。在符合此规范的此版本的比特流中,geometry_coding_type的值应等于0或1。geometry_coding_type的其他值被保留以供ISO/IEC将来使用。符合此规范的此版本的解码器可能会忽略geometry_coding_type的保留值。0=八叉树,1=三联体(Trisoup))。
gps_box_present_flag等于1指定在参考当前GPS的几何报头中提供附加边界框信息。gps_bounding_box_present_flag等于0指定附加边界框信息不在几何报头中用信号发送。
unique_geometry_points_flag等于1指示所有输出点都具有唯一的位置。unique_geometry_points_flag等于0指示输出点可以具有相同的位置。
neighbor_context_restriction_flag等于0指示八叉树占用编译使用从六个邻近父节点确定的上下文。neighbor_context_restriction_flag等于1指示八叉树编译使用仅从兄弟节点确定的上下文。
inferred_direct_coding_mode_enabled_flag等于0指示八叉树编译使用inferred_direct_coding_mode。inferred_direct_coding_mode_enabled_flag等于1指示八叉树编译使用从兄弟邻近节点确定的多个上下文。
log2_neighbor_avail_boundary指定解码过程中使用的变量NeighbAvailBoundary的值如下:
NeighbAvailBoundary=2log2_neighbor_avail_boundary
当neighbour_context_restriction_flag等于1时,NeighbAvailabilityMask被设置为等于13。否则,neighbour_context_restriction_flag等于0,NeighbAvailabilityMask被设置为等于
(1<<log2_neighbor_avail_boundary)。
log2_trisoup_node_size将变量TrisoupNodeSize指定为三角形节点的大小,如下。
TrisoupNodeSize=2log2_trisoup_node_size
log2_trisoup_node_size的值可以等于或大于0。当log2_trisoup_node_size等于0时,几何比特流仅包括八叉树编译语法。
trisoup_depth指定被用于表示点坐标的每个分量的比特数。trisoup_depth的值可能在2至21的范围内。[Ed(df):21应可能是级别限制]。
trisoup_triangle_level指定修剪八叉树的级别。trisoup_triangle_level的值可以在1到trisoup_depth-1的范围内。
gps_extension_present_flag等于1指定gps_extension_data语法结构存在于GPS RBSP语法结构中。gps_extension_present_flag等于0指定此语法结构不存在。当不存在时,gps_extension_present_flag的值被推断为等于0。
gps_extension_data_flag可以具有任何值。其存在和值不影响解码器与附录A中指定的简档的一致性。解码器符合附录A中指定的简档。
根据一些实施例的GPS可以包括如图31-图33描述的multiple_brick_partitioning_flag、partitioning_unit_size、partitioning_type_index、brick_unit_information、brick_density_quantization_step、bounding_box_radius、central_node_xyz、moving_direction_vector、use_identical_bounding_box_information_flag、enable_sorting_flag、sphere_or_oval_flag、center_point_xyz、radius_distance、azimuth_angle、referenced_attribute_type、referenced_attribute_type_range、referenced_attribute_type_value、divide_mid_length_axis、combining_filter_index、duplicated_attribute_index、brick_unit_information。
根据实施例的点云数据接收设备(例如,图29的接收器29000、图29的分区数据输入单元29001、图29的点组合器29012或图30的点组合器30000)可以基于GPS中的上述参数确定拼块的形状,并且可以基于上述参数识别待解码的点云数据。
图35图示根据实施例的比特流的几何切片报头(GSH)。
图35中所示的参数可以被包括在参考图31描述的GSH中。根据实施例的GSH可以包括与参考图18至图30描述的拼块分区拼块拼贴相关的信令信息,和/或相关信令信息。
gsh_geometry_parameter_set_id指定活动GPS的gps_geom_parameter_set_id的值。
gsh_tile_id指定图块的id。
gsh_slice_id指定切片的id。
gsh_box_log2_scale指定标度值。
gsh_box_origin_x指定笛卡尔坐标中源边界框的x。
gsh_box_origin_y指定笛卡尔坐标中源边界框的y。
gsh_box_origin_z指定笛卡尔坐标中源边界框的z。
gsh_log2_max_nodesize指定解码过程中使用的变量MaxNodeSize的值如下:
MaxNodeSize=2(gbh_log2_max_nodesize)
gbh_points_number指定切片中编译的点的数量。
根据一些实施例的GSH可以包括multiple_brick_partitioning_flag、partitioning_unit_size、partitioning_type_index、brick_unit_information、brick_density_quantization_step、bounding_box_radius、central_node_xyz、moving_direction_vector、use_identical_bounding_box_information_flag、enable_sorting_flag、sphere_or_oval_flag、center_point_xyz、radius_distance、azimuth_angle、referenced_attribute_type、referenced_attribute_type_range、referenced_attribute_type_value、divide_mid_length_axis、combining_filter_index、duplicated_attribute_index、brick_unit_information,如在图31至图34中所描述的。
根据实施例的点云数据接收设备(例如,图29的接收器29000、图29的分区数据输入单元29001、图29的点组合器29012或图30的点组合器30000)可以基于GSH中的上述参数确定拼块的形状,并且可以基于上述参数识别待解码的点云数据。
图36图示根据实施例的比特流的属性切片报头(ASH)。
图36中示出的参数可以被包括在参考图31描述的ASH中。根据实施例的ASH可以包括与参考图18至图30描述的拼块分区或拼块拼贴相关的信令信息,和/或相关信令信息。
abh_attr_parameter_set_id指定活动APS的aps_attr_parameter_set_id的值。
abh_attr_sps_attr_idx指定在活动SPS中设置的属性。abh_attr_sps_attr_idx的值可以在活动SPS中的0到sps_num_attribute_sets的范围内。
abh_attr_geom_slice_id指定几何切片id的值。
根据一些实施例的ASH可以包括multiple_brick_partitioning_flag、partitioning_unit_size、partitioning_type_index、brick_unit_information、brick_density_quantization_step、bounding_box_radius、central_node_xyz、moving_direction_vector、use_identical_bounding_box_information_flag、enable_sorting_flag、sphere_or_oval_flag、center_point_xyz、radius_distance、azimuth_angle、referenced_attribute_type、referenced_attribute_type_range、referenced_attribute_type_value、divide_mid_length_axis、combining_filter_index、duplicated_attribute_index、brick_unit_information,如在图31至图34中所描述的。
根据实施例的点云数据接收设备(例如,图29的接收器29000、图29的分区数据输入单元29001、图29的点组合器29012或图30的点组合器30000)可以基于ASH中的上述参数确定拼块的形状,并且可以基于上述参数识别待解码的点云数据。
因此,发送的比特流可以包括信令信息。信令信息可以包括指示点云数据是否被划分成拼块的信息。响应于指示将点云数据划分成拼块的信息,信令信息可以包括指示用于划分的方法的信息。信令信息可以进一步包括关于用于组合用于一个或多个拼块中的每一个的编码的几何信息和编码的属性信息的方法的信息。信令信息可以进一步包括指示第一划分步骤的拼块的单元的信息,以及当执行第二划分步骤时指示第二划分步骤的拼块的单元的信息。
图37是图示根据实施例的发送点云数据的方法的流程图。
根据实施例的发送点云数据的方法可以包括获取点云数据(37000)、编码获取的点云数据(37001)和/或发送包括编码的点云数据和信令信息的比特流(37002)。
在获取点云数据的操作37000中,可以获取根据实施例的点云数据。在操作37000中获取的点云数据可以是根据图1的点云视频获取10001、图2的获取20000的操作或图3的操作获取的数据。
在对获取的点云数据进行编码的操作37001中,可以将在获取点云数据的操作37000中获取的点云数据划分成一个或多个拼块。在对获取的点云数据进行编码的操作37001中,可以基于一个或多个拼块对点云数据的几何信息进行编码。在对获得的点云数据进行编码的操作37001中,可以基于一个或多个拼块和重构的几何信息对点云数据的属性信息进行编码。
划分成一个或多个拼块的操作可以由图18的空间分区器18001或图19的拼块拼贴单元19001执行。可以根据例如参考图26描述的操作来执行划分成一个或多个拼块的操作。
编码点云数据的几何信息和属性信息的操作可以由图18的几何信息编码器18002和/或属性信息编码器18003执行。编码点云数据的几何信息的操作可以如图19所图示执行。
根据实施例的用于划分的方法可以是第一至第六方法中的至少一种。第一方法可以是基于点云数据的点的密度进行划分的方法(例如,图21所图示的基于点密度的拼块拼贴)。第二方法可以是用于划分成基于质心点信息和半径信息确定的一个或多个扇形(例如,图22所示的圆扇形拼块拼贴)的方法。第三方法可以是用于划分成一个或多个层的方法(例如,图23的层拼块拼贴)。第四方法可以是用于划分成一个或多个球形区域的方法(例如,图24中的球形/椭圆形区域拼贴)。第五方法可以是用于基于关于点云数据中的点的属性信息划分的方法(例如,图25中的基于属性的拼块拼贴)。第六方法可以是用于基于包括点云数据的3D空间的轴的长度划分的方法(例如,图26中的自适应基于轴向长度的拼块拼贴)。
根据实施例,可以基于用于通过第二轴的长度单位划分3D空间的第一轴的第一划分步骤和/或用于通过第二轴的长度单位划分3D空间的第三轴的第二划分步骤来执行第六方法。
在对获取的点云数据进行编码的操作37001中,可以组合用于一个或多个拼块中的每一个的编码的几何信息和编码的属性信息。根据实施例的组合编码的几何信息和编码的属性信息的操作可以由图19的比特流组合器19014、图27的比特流组合器27000或者图27的组合执行器27001执行。
在发送包括编码的点云数据和信令信息的比特流的操作37002中,可以以比特流的形式发送编码的点云数据。在发送包括编码的点云数据和信令信息的比特流的操作37002中,参考图18至图36描述的信令信息可以包括在比特流中,并且可以将比特流发送到根据实施例的点云数据接收设备。
根据实施例的信令信息可以包括指示点云数据是否被划分成拼块的信息(例如,图32至36的partitioning_enabling_flag)。当在发送点云数据的方法中将点云数据划分成拼块时,信令信息可以进一步包括指示用于划分的方法的信息(例如,图32至图36中的partitioning_type_index)。
根据实施例的信令信息可以进一步包括关于用于组合用于一个或多个拼块中的每一个的编码的几何信息和编码的属性信息的方法的信息(例如,图32至36的combining_filter_index)。
关于基于第六方法的划分方法,根据实施例的信令信息可以进一步包括指示根据第六方法的第一划分的拼块的单元的信息(例如,图32至图36的partitioning_unit_size)、指示是否已经执行第二划分(重新划分)步骤的信息(例如,图32到36的partition_current_unit)、指示是否使用各种分区方法作为要被用于分区拼块的分区类型的信息(例如,图32至图36的multiple_brick_partitioning_flag)、和/或指示是否对通过第一划分而划分的拼块执行第二划分(重新划分)步骤的信息(例如,图32至图36的split_recursive_enabling_flag)。
图38是图示根据实施例的接收点云数据的方法的流程图。
根据实施例的发送点云数据的方法可以包括接收包括点云数据和信令信息的比特流(38000)、解码点云数据(38001)、和/或渲染解码的点云数据(38002)。
在接收包括点云数据和信令信息的比特流的操作38000中接收的点云数据可以包括几何比特流和属性比特流。
根据实施例的信令信息可以包括指示接收到的点云数据是否被划分成一个或多个拼块的信息(例如,图32至图36的partitioning_enabling_flag)。信令信息可以进一步包括指示被用于根据实施例的点云数据发送设备划分点云数据的拼块分区方法的信息(例如,根据图32至图36的partitioning_type_index)。
信令信息可以进一步包括指示一个或多个拼块的分区类型的信息和与一个或多个拼块的大小相关的信息(例如,根据32至图36的combining_filter_index、split_recursive_enabling_flag、partitioning_unit_size、partition_current_unit和/或multiple_brick_partitioning_flag)。
解码点云数据的操作38001可以包括接收点云数据的几何比特流,对其执行几何解码,并输出几何信息。解码点云数据的操作38001可以包括基于重构的几何信息对点云数据的属性比特流执行属性解码。解码点云数据的操作38001可以包括输出属性信息。
根据实施例,当点云数据被划分成一个或多个拼块时,可以在解码点云数据的操作38001中独立地解码拼块。
在这种情况下,解码点云数据的操作38001可以包括组合关于独立解码的拼块中的点的几何信息和属性信息。组合关于点的几何信息和属性信息的操作可以由图29的点组合器29012、图30的点组合器30000或图30的组合执行器30001执行。
在渲染解码的点云数据的操作38002中,可以在显示器上渲染解码的点云数据。
尽管为了简单起见已经单独描述了附图,但是可通过将相应附图中所示的实施例合并来设计新的实施例。根据本领域地技术人员的需要设计可由计算机读取的记录有用于执行上述实施例的程序的记录介质也落在所附权利要求及其等同物的范围内。根据实施例的装置和方法可不限于上述实施例的配置和方法。可通过选择性地组合所有或一些实施例来对实施例进行各种修改。尽管参考附图描述了优选实施例,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对实施例进行各种修改和变化。这些修改不应从实施例的技术思想或观点单独地理解。
实施例的设备的各种元件可以由硬件、软件、固件或其组合实现。实施例中的各种元件可由单个芯片实现,例如,单个硬件电路。根据实施例,根据实施例的组件可分别被实现为单独的芯片。根据实施例,根据实施例的设备的至少一个或更多个组件可以包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施例的任一个或更多个操作/方法或者包括用于执行其的指令。用于执行根据实施例的设备的方法/操作的可执行指令可被存储在被配置成由一个或更多个处理器执行的非暂时性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.根据权利要求2所述的方法,其中,所述信令信息包括表示所述点云数据是否被划分成所述一个或多个拼块的信息,
响应于表示所述点云数据被划分成所述一个或多个拼块的所述信息,所述信令信息包括表示用于划分的方法的信息。
4.根据权利要求3所述的方法,其中,用于划分的方法包括:
第一方法,所述第一方法用于基于所述点云数据的点的密度划分,
第二方法,所述第二方法用于基于质心点信息和半径信息划分成一个或多个扇形,
第三方法,所述第三方法用于划分成一个或多个层,
第四方法,所述第四方法用于划分成一个或多个球形区域,
第五方法,所述第五方法用于基于所述点云数据中的所述属性信息划分;或者
第六方法,所述第六方法用于基于包括所述点云数据的3D空间的轴长度划分。
5.根据权利要求2所述的方法,其中,所述方法包括:
组合用于所述一个或多个拼块中的每一个的编码的几何信息和编码的属性信息,所述信令信息包括用于组合用于所述一个或多个拼块中的每一个的所述编码的几何信息和所述编码的属性信息的方法的信息。
6.根据权利要求4所述的方法,其中,用于根据所述第六方法划分拼块的方法包括:
第一划分步骤,所述第一划分步骤用于通过第二轴的长度单位划分所述3D空间的第一轴;和
第二划分步骤,所述第二划分步骤用于通过所述第二轴的长度单位划分所述3D空间的第三轴,
所述信令信息包括:表示所述第一划分步骤的拼块的单位的信息和表示所述第二划分步骤的拼块的单位的信息。
7.一种用于处理点云数据的设备,所述设备包括:
编码器,所述编码器被配置成编码所述点云数据;和
发射器,所述发射器被配置成发送包括所述点云数据和所述点云数据的信令信息的比特流。
8.根据权利要求7所述的设备,其中,所述设备包括:
划分器,所述划分器被配置成将获得的点云数据划分成一个或多个拼块;
几何编码器,所述几何编码器被配置成基于所述一个或多个拼块,编码所述点云数据的几何信息;以及
属性编码器,所述属性编码器被配置成基于所述一个或多个拼块和重构的几何信息,编码所述点云数据的属性信息。
9.根据权利要求8所述的设备,其中,所述信令信息包括表示所述点云数据是否被划分成所述一个或多个拼块的信息,
响应于表示所述点云数据被划分成所述一个或多个拼块的所述信息,所述信令信息包括表示用于划分的方法的信息。
10.根据权利要求9所述的设备,其中,用于划分的方法包括:
第一方法,所述第一方法用于基于所述点云数据的点的密度划分,
第二方法,所述第二方法用于基于质心点信息和半径信息划分成一个或多个扇形,
第三方法,所述第三方法用于划分成一个层或多个层,
第四方法,所述第四方法用于划分成一个或多个球形区域,
第五方法,所述第五方法用于基于所述点云数据中的所述属性信息划分;或者
第六方法,所述第六方法用于基于包括所述点云数据的3D空间的轴长度划分。
11.根据权利要求8所述的设备,其中,所述设备包括:
组合器,所述组合器被配置成组合用于所述一个或多个拼块中的每一个的编码的几何信息和编码的属性信息,所述信令信息包括用于组合用于所述一个或多个拼块中的每一个的所述编码的几何信息和所述编码的属性信息的方法的信息。
12.根据权利要求10所述的设备,其中,当所述划分器根据所述第六方法划分拼块时,所述划分器执行:
第一划分步骤,所述第一划分步骤用于通过第二轴的长度单位划分所述3D空间的第一轴;和
第二划分步骤,所述第二划分步骤用于通过所述第二轴的长度单位划分所述3D空间的第三轴,
所述信令信息包括:表示所述第一划分步骤的拼块的单位的信息和表示所述第二划分步骤的拼块的单位的信息。
13.一种接收点云数据的方法,所述方法包括:
接收包括点云数据和信令信息的比特流;
解码所述点云数据;以及
渲染所述点云数据。
14.根据权利要求13所述的方法,其中,接收到的点云数据包括几何比特流和属性比特流,解码所述点云数据包括:
几何解码所述点云数据的所述几何比特流;以及
基于重构的几何信息,属性解码所述点云数据的所述属性比特流。
15.根据权利要求14所述的方法,其中,所述信令信息包括表示所述点云数据是否被划分成所述一个或多个拼块的信息,
响应于表示所述点云数据被划分成所述一个或多个拼块的所述信息,所述拼块被独立地解码。
16.根据权利要求15所述的方法,其中,当所述点云数据被划分成所述一个或多个拼块时,所述方法包括:
组合独立解码的拼块中的点的几何信息和属性信息,所述信令信息包括表示所述一个或多个拼块的划分类型的信息和与所述一个或多个拼块的尺寸相关的信息。
17.一种接收点云数据的设备,所述设备包括:
接收器,所述接收器被配置成接收包括点云数据和信令信息的比特流;
解码器,所述解码器被配置成解码所述点云数据;以及
渲染器,所述渲染器被配置成渲染所述点云数据。
18.根据权利要求17所述的设备,其中,接收到的点云数据包括几何比特流和属性比特流,所述解码器包括:
几何解码器,所述几何解码器被配置成解码所述点云数据的几何比特流;和
属性解码器,所述属性解码器被配置成基于重构的几何信息,解码所述点云数据的属性比特流。
19.根据权利要求18所述的设备,其中,所述信令信息包括表示所述点云数据是否被划分成所述一个或多个拼块的信息,
响应于表示所述点云数据被划分成所述一个或多个拼块的所述信息,所述解码器被配置成独立地解码所述拼块。
20.根据权利要求15所述的设备,其中,当所述点云数据被划分成所述一个或多个拼块时,所述设备包括:
点组合器,所述点组合器被配置成组合独立解码的拼块中的点的几何信息和属性信息,所述信令信息包括表示所述一个或多个拼块的划分类型的信息和与所述一个或多个拼块的尺寸相关的信息。
CN202080048767.5A 2019-07-03 2020-02-13 点云数据发送设备、点云数据发送方法、点云数据接收设备、以及点云数据接收方法 Pending CN114041169A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2019-0080229 2019-07-03
KR20190080229 2019-07-03
US201962910393P 2019-10-03 2019-10-03
US62/910,393 2019-10-03
PCT/KR2020/002042 WO2021002558A1 (ko) 2019-07-03 2020-02-13 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법.

Publications (1)

Publication Number Publication Date
CN114041169A true CN114041169A (zh) 2022-02-11

Family

ID=74101091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080048767.5A Pending CN114041169A (zh) 2019-07-03 2020-02-13 点云数据发送设备、点云数据发送方法、点云数据接收设备、以及点云数据接收方法

Country Status (5)

Country Link
US (1) US20220377327A1 (zh)
EP (1) EP3992911A4 (zh)
JP (1) JP7307260B2 (zh)
CN (1) CN114041169A (zh)
WO (1) WO2021002558A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113168720A (zh) * 2018-12-06 2021-07-23 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
CN115443654A (zh) * 2020-03-26 2022-12-06 交互数字Vc控股法国公司 用于对体积视频进行编码和解码的方法和装置
EP4142290A1 (en) * 2021-08-31 2023-03-01 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
US20230104977A1 (en) * 2021-10-05 2023-04-06 Sony Group Corporation Adaptive mode selection for point cloud compression

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8587583B2 (en) * 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
KR101825575B1 (ko) * 2013-01-07 2018-02-05 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩 방법 및 장치
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
EP3399757A1 (en) * 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus to encode and decode two-dimension point clouds
RU2759218C2 (ru) * 2017-06-21 2021-11-11 Вид Скейл, Инк. Адаптивное квантование для кодирования 360-градусного видео
EP3429207A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object
EP3699870A4 (en) * 2017-10-16 2020-12-23 Sony Corporation DEVICE AND PROCESS FOR PROCESSING INFORMATION
CN108228798B (zh) * 2017-12-29 2021-09-17 百度在线网络技术(北京)有限公司 确定点云数据之间的匹配关系的方法和装置
EP3883246A4 (en) * 2018-11-13 2021-12-15 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA ENCODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE AND TRIDIMENSIONAL DATA DECODING DEVICE
US11259048B2 (en) * 2019-01-09 2022-02-22 Samsung Electronics Co., Ltd. Adaptive selection of occupancy map precision
BR112021013402A2 (pt) * 2019-02-05 2021-09-14 Panasonic Intellectual Property Corporation Of America Método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais, e dispositivo de decodificação de dados tridimensionais
CN113853635A (zh) * 2019-05-28 2021-12-28 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
EP3993424A4 (en) * 2019-06-30 2023-03-01 Guangdong Oppo Mobile Telecommunications Corp., Ltd. TRANSFORMATION METHOD, INVERSE TRANSFORMATION METHOD, ENCODER, DECODER AND STORAGE MEDIUM
WO2021000241A1 (zh) * 2019-07-01 2021-01-07 Oppo广东移动通信有限公司 点云模型重建方法、编码器、解码器、及存储介质

Also Published As

Publication number Publication date
WO2021002558A1 (ko) 2021-01-07
US20220377327A1 (en) 2022-11-24
EP3992911A4 (en) 2023-04-19
JP7307260B2 (ja) 2023-07-11
JP2022538680A (ja) 2022-09-05
EP3992911A1 (en) 2022-05-04

Similar Documents

Publication Publication Date Title
US11217037B2 (en) Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and a method for receiving point cloud data
CN114503571B (zh) 点云数据发送装置和方法、点云数据接收装置和方法
US11882303B2 (en) Apparatus and method for processing point cloud data
EP3975124A1 (en) Method and device for processing point cloud data
US20220130075A1 (en) Device and method for processing point cloud data
EP3992911A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11902348B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20220321912A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4131975A1 (en) Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method
CN114073085A (zh) 点云数据处理方法和设备
CN114073092A (zh) 用于处理点云数据的设备和方法
CN114009046A (zh) 用于处理点云数据的装置和方法
CN114073086A (zh) 点云数据处理设备和方法
US20230059625A1 (en) Transform-based image coding method and apparatus therefor
US20230260163A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114097229A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
CN114762334A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US20220383552A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114051730A (zh) 处理点云数据的设备和方法
US12003769B2 (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
EP4007284A1 (en) Point cloud data processing device and method
US20220327744A1 (en) Apparatus and method for processing point cloud data
CN116438799A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
EP4083922A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method

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