CN115918092A - 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 - Google Patents

点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 Download PDF

Info

Publication number
CN115918092A
CN115918092A CN202180044044.2A CN202180044044A CN115918092A CN 115918092 A CN115918092 A CN 115918092A CN 202180044044 A CN202180044044 A CN 202180044044A CN 115918092 A CN115918092 A CN 115918092A
Authority
CN
China
Prior art keywords
point cloud
data
cloud data
geometric
encoding
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
CN202180044044.2A
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 CN115918092A publication Critical patent/CN115918092A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/004Predictors, e.g. intraframe, interframe coding
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

为了实现技术目的,根据实施方式的点云数据发送方法可以包括以下步骤:对点云数据进行编码;以及发送包括该点云数据的比特流。根据实施方式的点云数据接收方法可以包括以下步骤:接收包括点云数据的比特流;以及对该点云数据进行解码。

Description

点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
技术领域
实施方式涉及用于处理点云内容的方法和装置。
背景技术
点云内容是由点云表示的内容,点云是属于表示三维空间的坐标系的点的集合。点云内容可以表示按三维配置的媒体,并用于提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自动驾驶服务这样的各种服务。然而,需要几万到几十万点数据来表示点云内容。因此,需要用于高效处理大量点数据的方法。
发明内容
技术问题
实施方式提供了用于高效处理点云数据的装置和方法。实施方式提供了用于解决等待时间和编码/解码复杂性的点云数据处理方法和装置。
实施方式的技术范围不限于以上提到的技术目的,并可以扩展到本领域的技术人员可以基于本文中公开的全部内容推断出的其它技术目的。
技术方案
本发明的附加优点、目的和特征将部分地在下面的描述中阐述,并且部分对于本领域的普通技术人员在检查了以下内容之后将变得显而易见,或者可以从本发明的实践中获知。本发明的目的和其它优点可以通过在书面描述及其权利要求书以及附图中特别指出的结构来实现和获得。
有益效果
根据实施方式的装置和方法可以高效率地处理点云数据。
根据实施方式的装置和方法可以提供高质量的点云服务。
根据实施方式的装置和方法可以提供用于提供诸如VR服务和自动驾驶服务这样的通用服务的点云内容。
附图说明
附图被包括进来以提供对本公开的进一步理解,并且被并入本申请的部分中并构成本申请的部分,例示了本公开的实施方式并与说明书一起用来说明本公开的原理。为了更好地理解下面描述的各种实施方式,应该参考结合附图对以下实施方式的描述。将在附图中通篇使用相同的参考标号来指代相同或类似的部分。在附图中:
图1示出根据实施方式的示例性点云内容提供系统;
图2是例示了根据实施方式的点云内容提供操作的框图;
图3例示了根据实施方式的捕获点云视频的示例性处理;
图4例示了根据实施方式的示例性点云编码器;
图5示出根据实施方式的体素的示例;
图6示出根据实施方式的八叉树和占用码的示例;
图7示出根据实施方式的邻近节点图案的示例;
图8例示了根据实施方式的每个LOD中的点配置的示例;
图9例示了根据实施方式的每个LOD中的点配置的示例;
图10例示了根据实施方式的点云解码器;
图11例示了根据实施方式的点云解码器;
图12例示了根据实施方式的发送装置;
图13例示了根据实施方式的接收装置;
图14例示了根据实施方式的结合点云数据发送/接收方法/装置可操作的示例性结构;
图15例示了根据实施方式的发送点云数据的方法;
图16例示了根据实施方式的点云数据发送装置;
图17例示了根据实施方式的点云数据接收装置;
图18示出根据实施方式的包括点云数据的比特流的结构;
图19示出根据实施方式的序列参数集;
图20示出根据实施方式的几何参数集;
图21示出根据实施方式的图块参数集;
图22示出根据实施方式的几何切片头;
图23例示了根据实施方式的发送点云数据的方法;以及
图24例示了根据实施方式的接收点云数据的方法。
具体实施方式
现在,将详细参照本公开的优选实施方式,在附图中例示了这些实施方式的示例。下文将参照附图给出的详细描述旨在解释本公开的示例性实施方式,而非示出能够根据本公开实现的仅有的实施方式。以下详细描述包括具体细节,以提供对本公开的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本公开。
虽然在本公开中使用的大多数术语已选自本领域中广泛使用的通用术语,但一些术语已由申请人任意选择,并且在下面的描述中将根据需要详细解释它们的含义。因此,应当基于术语的本意而非它们的简单名称或含义来理解本公开。
图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(多边形文件格式或斯坦福三角格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可以包括一个或更多个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相机等)、投影仪(例如,用于获得深度信息的红外图案投影仪)、LiDRA等来捕获点云视频。根据实施方式的点云内容提供系统可以从深度信息中提取由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可以执行几何编码。根据实施方式的几何编码可以包括八叉树几何编码、直接编码、三角汤(trisoup)几何编码和熵编码。直接编码和三角汤几何编码被选择性地或组合地应用。几何编码不限于上述示例。
如图中所示,根据实施方式的坐标变换器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)表示量化点的位置(或位置值)。
Figure BDA0004007852720000131
如图6的上部的中间所示,整个3D空间可以根据分区被划分为八个空间。每个划分空间由具有六个面的立方体表示。如图6的右上侧所示,基于坐标系的轴(例如,X轴、Y轴和Z轴)再次划分八个空间中的每一个。因此,每个空间被划分成八个更小的空间。所划分的更小空间也由具有六个面的立方体表示。应用该划分方案,直到八叉树的叶节点成为体素为止。
图6的下部示出了八叉树占用码。生成八叉树的占用码,以指示通过划分一个空间而产生的八个划分空间中的每一个是否包含至少一个点。因此,单个占用码由八个子节点表示。每个子节点表示所划分空间的占用,并且子节点具有1位的值。因此,占用码被表示为8位代码。也就是说,当在与子节点对应的空间中包含至少一个点时,该节点被赋予值1。当在对应于子节点的空间中不包含点(空间为空)时,该节点被赋予值0。由于图6中示出的占用码为00100001,因此它指示与八个子节点当中的第三个子节点和第八个子节点对应的空间各自包含至少一个点。如图中所示,第三个子节点和第八个子节点中的每一个具有8个子节点,并且子节点用8位占用码表示。该图示出第三个子节点的占用码为10000111,并且第八个子节点的占用码为01001111。根据实施方式的点云编码器(例如,算术编码器40004)可以对占用码执行熵编码。为了提高压缩效率,点云编码器可以对占用码执行帧内/帧间编码。根据实施方式的接收装置(例如,接收装置10004或点云视频解码器10006)基于占用码来重构八叉树。
根据实施方式的点云编码器(例如,图4的点云编码器或八叉树分析器40002)可以执行体素化和八叉树编码,以存储点的位置。然而,点并不总是均匀地分布在3D空间中,因此会有其中存在较少点的特定区域。因此,对整个3D空间执行体素化是低效的。例如,当特定区域包含的点较少时,不需要在特定区域中执行体素化。
因此,对于上述特定区域(或八叉树的叶节点以外的节点),根据实施方式的点云编码器可以跳过体素化并执行直接编码,以对特定区域中包括的点的位置直接进行编码。根据实施方式的直接编码点的坐标被称为直接编码模式(DCM)。根据实施方式的点云编码器还可以基于表面模型来执行三角汤几何编码,以基于体素来重构特定区域(或节点)中的点的位置。三角汤几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云解码器可以从网格表面生成点云。可以选择性执行根据实施方式的三角汤几何编码和直接编码。另外,可以结合八叉树几何编码(或八叉树编码)来执行根据实施方式的三角汤几何编码和直接编码。
为了执行直接编码,应该启用使用直接模式以应用直接编码的选项。将被应用直接编码的节点不是叶节点,并且在特定节点内应该存在少于阈值的点。另外,将应用直接编码的点的总数不应超过预设阈值。当满足以上条件时,根据实施方式的点云编码器(或算术编码器40004)可以对点的位置(或位置值)执行熵编码。
根据实施方式的点云编码器(例如,表面近似分析器40003)可以确定八叉树的特定级别(小于八叉树的深度d的级别),并且可以从该级别开始使用表面模型来执行三角汤几何编码,以基于体素来重构节点的区域中的点的位置(三角汤模式)。根据实施方式的点云编码器可以指定将应用三角汤几何编码的级别。例如,当特定级别等于八叉树的深度时,点云编码器不在三角汤模式下操作。换句话说,根据实施方式的点云编码器可以仅在所指定的级别小于八叉树的深度值时才在三角汤模式下操作。根据实施方式的所指定级别处的节点的3D立方区域被称为块。一个块可以包括一个或更多个体素。块或体素可以对应于砖块。几何被表示为每个块内的表面。根据实施方式的表面可以与块的每个边缘最多相交一次。
一个块有12个边缘,因此在一个块中至少存在12个交点。每个交点被称为顶点(或顶端点)。当在共享边缘的所有块当中至少存在一个与该边缘相邻的被占用体素时,检测到沿该边缘存在的顶点。根据实施方式的被占用体素是指包含点的体素。沿着边缘检测到的顶点的位置是沿着共享该边缘的所有块当中的与该边缘相邻的所有体素的边缘的平均位置。
一旦检测到顶点,根据实施方式的点云编码器就可以对边缘的起始点(x,y,z)、边缘的方向矢量(Δx,Δy,Δz)和顶点位置值(边缘内的相对位置值)执行熵编码。当应用三角汤几何编码时,根据实施方式的点云编码器(例如,几何重构器40005)可以通过执行三角重构、上采样和体素化处理来生成恢复后的几何(重构的几何)。
处于块的边缘处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角重构处理中,基于边缘的起始点、边缘的方向矢量和顶点的位置值来重构由三角形表示的表面。通过以下操作执行三角重构处理:①计算每个顶点的质心值,②从每个顶点值减去中心值,以及③估计通过减法而获得的值的平方和。
Figure BDA0004007852720000151
Figure BDA0004007852720000152
Figure BDA0004007852720000153
估计和的最小值,并根据具有最小值的轴来执行投影处理。例如,当元素x为最小时,每个顶点相对于块的中心投影到x轴上,并投影到(y,z)平面上。当通过投影到(y,z)平面上而获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并根据θ的值对顶点进行排序。下面的表1示出了根据顶点的数目来创建三角形的顶点组合。顶点被从1到n地排序。下面的表1示出对于四个顶点,可以根据顶点的组合来构造两个三角形。第一个三角形可以由排序的顶点当中的顶点1、2和3组成,并且第二个三角形可以由排序顶点当中的顶点3、4和1组成。
表2-1.由按1,…,n排序的顶点形成的三角形
Figure BDA0004007852720000154
Figure BDA0004007852720000161
执行上采样处理,以沿着三角形的边缘在中间添加点并执行体素化。所添加的点是基于上采样因子和块的宽度产生的。所添加的点被称为细化顶点。根据实施方式的点云编码器可以对细化顶点进行体素化。另外,点云编码器可以基于体素化位置(或位置值)来执行属性编码。
图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)可以对通过从每个点的属性(属性值)中减去预测的属性(属性值)而获得的残差(可以被称为残差属性、残差属性值或属性预测残差)进行量化和逆量化。如下表中所示地配置该量化处理。
表.属性预测残差量化伪代码
Figure BDA0004007852720000181
表.属性预测残差逆量化伪代码
Figure BDA0004007852720000182
当每个点的预测器具有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以如上所述对量化和逆量化后的残差值执行熵编码。当每个点的预测器没有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以在不执行上述操作的情况下,对相应点的属性执行熵编码。
根据实施方式的点云编码器(例如,提升变换器40010)可以生成每个点的预测器,设置计算出的LOD并将邻近点登记到预测器中,并根据到邻近点的距离设置权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于权重被累加地应用于属性值。如下地配置根据实施方式的向属性值累加地应用权重的处理。
1)创建用于存储每个点的权重值的数组Quantization Weight(QW)(量化权重)。QW的所有元素的初始值为1.0。将在预测器中登记的邻居节点的预测器索引的QW值乘以当前点的预测器的权重,并将通过乘法而获得的值相加。
2)提升预测处理:从现有属性值中减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
3)创建被称为更新权重(updateweight)的临时数组,并将该临时数组更新并初始化为零。
4)将通过将针对所有预测器计算出的权重乘以存储在QW中的与预测器索引对应的权重而计算出的权重累加地添加到更新权重数组以作为邻居节点的索引。将通过将邻居节点的索引的属性值乘以计算出的权重而获得的值累加地添加到更新数组。
5)提升更新处理:将针对所有预测器的更新数组的属性值除以预测器索引的更新权重数组的权重值,并将现有的属性值与通过除法而获得的值相加。
6)通过针对所有预测器将通过提升更新处理而更新的属性值乘以(存储在QW中的)通过提升预测处理而更新的权重来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)对预测的属性值进行量化。另外,点云编码器(例如,算术编码器40012)对量化后的属性值执行熵编码。
根据实施方式的点云编码器(例如,RAHT变换器40008)可以执行RAHT变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。RAHT变换编码是通过八叉树后向扫描进行的属性帧内编码的示例。根据实施方式的点云编码器从体素扫描整个区域,并在每个步骤中重复将体素合并成较大块的合并处理,直至到达根节点。根据实施方式的合并处理仅在被占用节点上执行。合并处理不在空节点上执行。合并处理在空节点正上方的较高模式下执行。
下面的式表示RAHT变换矩阵。在该式中,
Figure BDA0004007852720000191
表示级别l处的体素的平均属性值。可以基于
Figure BDA0004007852720000192
Figure BDA0004007852720000193
来计算
Figure BDA0004007852720000194
Figure BDA0004007852720000195
Figure BDA0004007852720000196
的权重是
Figure BDA0004007852720000197
Figure BDA0004007852720000198
Figure BDA0004007852720000201
这里,
Figure BDA0004007852720000202
是低通值并被用在下一更高级别处的合并处理中。
Figure BDA0004007852720000203
表示高通系数。每个步骤中的高通系数被量化并经历熵编码(例如,通过算术编码器40012编码)。权重被计算为
Figure BDA0004007852720000204
通过
Figure BDA0004007852720000205
Figure BDA0004007852720000206
计算根节点如下。
Figure BDA0004007852720000207
图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详细描述地配置占用码。
当应用三角汤(trisoup)几何编码时,根据实施方式的表面近似合成器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对点的量化后位置值进行体素化。体素化处理器12002可以执行与参考图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执行与算术编码器40012的操作和/或方法相同或类似的操作和/或方法。
根据实施方式的发送处理器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可以表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,可以使用3G网络、4G或长期演进(LTE)网络或5G网络配置云网络1400。
服务器1460可以通过云网络1400连接到机器人1410、自动驾驶车辆1420、XR装置1430、智能电话1440、家用电器14500/或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装置1430。
具有用于提供XR/PCC图像的装置的自动驾驶车辆1420可以从包括相机的传感器获取传感器信息,并基于所获取的传感器信息输出生成的XR/PCC图像。例如,自动驾驶车辆1420可以具有HUD并向其输出XR/PCC图像,由此向乘员提供与真实对象或屏幕上存在的对象相对应的XR/PCC对象。
当XR/PCC对象被输出到HUD时,可以输出XR/PCC对象的至少一部分以与乘员眼睛所指向的真实对象交叠。另一方面,当XR/PCC对象被输出到设置在自动驾驶车辆内部的显示器上时,可以输出XR/PCC对象的至少一部分以与屏幕上的对象交叠。例如,自动驾驶车辆1220可以输出与诸如道路、另一车辆、交通信号灯、交通标牌、两轮车、行人和建筑物这样的对象相对应的XR/PCC对象。
根据实施方式的虚拟现实(VR)技术、增强现实(AR)技术、混合现实(MR)技术和/或点云压缩(PCC)技术适用于各种装置。
换句话说,VR技术是只提供真实世界对象、背景等的CG图像的显示技术。另一方面,AR技术是指在真实对象的图像上示出虚拟创建的CG图像的技术。MR技术与上述AR技术的类似之处在于,待示出的虚拟对象与真实世界混合并结合。然而,MR技术与AR技术的不同之处在于,AR技术明确区分了真实对象与作为CG图像创建的虚拟对象,并使用虚拟对象作为真实对象的补充对象,而MR技术将虚拟对象视为与真实对象具有等同特性的对象。更具体地,MR技术应用的示例是全息图服务。
最近,VR、AR和MR技术有时被称为扩展现实(XR)技术,而没有被明确彼此区分开。因此,本公开的实施方式适用于VR、AR、MR和XR技术中的任一种。基于PCC、V-PCC和G-PCC技术的编/解码适用于这种技术。
根据实施方式的PCC方法/装置可以应用于提供自动驾驶服务的车辆。
提供自动驾驶服务的车辆连接到PCC装置,以用于有线/无线通信。
当根据实施方式的点云数据(PCC)发送/接收装置连接到车辆以用于有线/无线通信时,该装置可以接收/处理与可以和自动驾驶服务一起提供的AR/VR/PCC服务相关的内容数据并将其发送到车辆。在PCC发送/接收装置被安装在车辆上的情况下,PCC发送/接收装置可以根据通过用户接口装置输入的用户输入信号来接收/处理与AR/VR/PCC服务相关的内容数据,并将其提供给用户。根据实施方式的车辆或用户接口装置可以接收用户输入信号。根据实施方式的用户输入信号可以包括指示自动驾驶服务的信号。
根据实施方式的发送点云数据的方法/装置被构造为指代图1的发送装置10000、图1的点云视频编码器10002、图1的发送器10003和图2的获取20000/编码20001/发送20002、图4的编码器、图12的发送装置、图14的装置、图20和图22的编码过程等的术语。
根据实施方式的接收点云数据的方法/装置被构造为指代图1的接收装置10004、图1的接收器10005、图1的点云视频解码器10006、图2的发送20002/解码20003/渲染20004、图10和图11的解码器、图13的接收装置、图14的装置、图21和图23的解码过程等的术语。
另外,根据实施方式的发送和接收点云数据的方法/装置可以简单地称为根据实施例的方法/装置。
根据实施方式,构成点云数据的几何数据、几何信息、位置信息等被解释为具有相同的含义。构成点云数据的属性数据、属性信息、属性信息等被解释为具有相同的含义。
图15例示了根据实施方式的发送点云数据的方法。
图1的发送装置10000、点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置等可以基于图15所示的方法对点云数据进行压缩(编码)。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置、图17的点云数据接收装置等可以基于图15所示的方法对点云数据进行解码。
根据实施方式的方法/装置可以以低等待时间压缩/重构点云几何信息。为了确保该操作中的高效处理,可以使用预测树。在生成预测树时,可以基于分组对点进行排序,并且可以基于排序次序快速地生成预测树。
可能存在点云内容需要低等待时间编码的场景。例如,点云数据应当从激光雷达实时捕获和发送的情况或者3D地图数据(3D map data)应当被实时接收和处理的情况可以对应于前述场景。
因此,根据实施方式的方法/装置涉及:增强基于预测树的几何信息编码的压缩/重构效率的基于分组的点排序方法,该基于分组的点排序方法可以应用于需要低等待时间编码的云内容的基于几何的点云压缩(G-PCC)的几何压缩/重构;以及基于排序次序快速生成预测树的方法。
例如,实施方式可以提供点排序方法、基于排序次序快速生成预测树的方法以及在生成预测树时支持上述方法以减小比特流大小的信令方法。
实施方式涉及一种选择用于增加用于3D点云数据压缩的G-PCC的属性压缩效率的属性预测器的方法。在下文中,编码器和编码装置被称为编码器,并且解码器和解码装置被称为解码器。
点云由一组点组成,并且每个点可以包括几何信息和属性信息。几何信息是三维位置(XYZ)信息,并且属性信息是颜色(RGB、YUV等)和/或反射率的值。G-PCC编码操作可以包括压缩几何和基于通过重构通过压缩改变的位置信息重构的几何(重构的几何=解码后的几何)压缩属性信息(参见图4、图12和图16)。
G-PCC解码操作(其对应于G-PCC编码操作)可以包括接收编码后的几何比特流和属性比特流(参见图18至图22)、解码几何以及基于通过解码操作重构的几何解码属性信息(参见图10、图11、图13和图17)。
对于几何信息压缩,可以使用基于八叉树的、基于三角汤的或基于预测树的压缩技术。
需要低等待时间的点云服务的典型示例可以包括使用3D地图点云的实时导航、或通过激光雷达装置的点云的实时捕获、压缩和发送。
作为改进用于低等待时间服务的编码器和解码器的方法的主要功能,可能需要首先开始压缩点云数据的一部分的功能。在基于八叉树的几何编码中,以宽度优先的方式扫描和编码点。另一方面,在目标是低等待时间几何压缩的基于预测树的几何压缩中,可以以深度优先的方式执行相同的操作,以便尽可以能地减少逐步点扫描,可以通过树的父节点与子节点之间的几何信息生成预测值,并且可以对残差进行熵编码以配置几何比特流。由于深度优先方案不需要逐步扫描所有点,所以可以对所捕获的点云数据渐进地执行几何编码,而无需等待捕获所有数据。
然而,由于以深度优先的方式执行操作,因此深度优先方案可以具有比基于八叉树的几何编码大的残差,并且因此可以增大几何比特流的大小,在基于八叉树的几何编码中,全部点被分析且有效地编码。
在基于预测树的压缩中,点被排序,并且基于排序的点次序地执行树生成。因此,点的次序可以对树生成具有密切影响。也就是说,对于预测树中的节点,彼此接近的点可以不被设置为父节点/子节点。相反,以点阵列的次序的相邻位置中的点很可以能被设置为父节点/子节点。
根据实施方式的方法/装置具有通过改变排序点的方法来减小几何比特流的大小的效果。
当基于KD树生成预测树时,可能花费长时间来搜索在距离上彼此接近的点。该特征可以是对低等待时间实时服务的阻碍。根据实施方式的方法/装置可以减少生成预测树所需的时间。
根据实施方式的基于预测树的几何压缩可以由PCC编码器的PCC几何编码器执行,并且可以通过PCC解码器中的PCC几何解码来重构几何。
1500:根据实施方式的发送点云数据的方法可以以下步骤:对点进行排序,以生成预测树。
对点进行排序,以生成预测树
根据实施方式的方法/装置可以以特定方式对所述点进行排序以有效地生成预测树。
在生成预测树之前,基于莫顿码、半径、方位角(azimuth)、仰角(elevation)、传感器ID或通过次序地应用所捕获的时间来顺序地排序点(Points[*])。可以根据内容的特性以各种方式应用排序方法。
可以根据多个划分阶段来不同地应用排序。例如,采用由激光雷达设备捕获的旋转数据(spinning data)的形式的内容、点(点云数据的几何数据)可以基于适合于内容的方位角来排序。然后,可以基于半径对具有相同方位角的点进行排序。然后,可以基于仰角对具有相同半径的点进行排序。
根据实施方式,可以指定排序的方向。排序可以以升序、降序或两者执行。例如,方位可以以降序应用,并且半径可以以升序应用。
根据实施方式的方法/装置可以在排序点时应用分组。
分组是通过指定特定范围并在指定范围内执行排序来对组进行排序的方法。
例如,当基于方位角对点进行分组时,特定方位角范围中的点可以被包括在一个组中,并且组中的点可以按半径被分组,并且具有相同半径的点可以按仰角被排序。
根据实施方式,可以存在各种分组准则,如排序准则。可以基于莫顿码、半径、方位角、仰角、传感器ID、捕获的时间等来应用分组,并且可以针对分组定义值的范围。
例如,当使用莫顿码时,可以移位x、y和z值以执行分组。当使用方位角时,可以四舍五入弧度值的小数点。对于仰角、半径、传感器ID或捕获时间,可以设置范围。
在分组之后,可以在第n时间的组中进一步执行排序。
当基于特定范围中的点可以具有分布中的类似特性的事实,通过按分布中的类似特性将点排序而生成预测树时,由于类似模式,所以可以减小残差,由此减小比特流的大小。
1501:根据实施方式的发送点云数据的方法还可以包括以下步骤:生成预测树。
根据实施方式的生成预测树的方法可以包括使用KD树和基于分组的预测树生成。
1.使用KD树
在基于预测树的几何信息压缩编码中,基于用于生成预测树的排序次序来生成树的操作可以被配置为以下伪代码。
Points[]:所有点的阵列;
pointCount:点的总数;
second_sorted_idexes[]:最终排序点的索引阵列;
KDTree:用于邻居节点搜索的KD-树。
for(i=0;I<pointCount;i++){
1)P=Points[second_sorted_idexes[i]]
2)在KD树中搜索接近P的邻居
3)如果不存在相邻邻居作为搜索结果,寄存器P作为KD树中的节点
当KD树中起初没有节点时,可以在KD树中注册P。
4)如果存在作为搜索结果的节点,检查与KD树的对应节点相关联的原始节点的子节点的数目如何。如果该数目小于或等于3(或小于3),则注册原始节点的子节点。如果该数目大于或等于3,则检查下一最近节点。如果所检查的节点的数目小于或等于3,则注册所检查的节点。
根据实施方式,可以不同地设置子节点的数目。
5)注册P的预测结果(3,除自身之外)作为KD树的节点。
}
可以从排序的点生成具有最类似于作为子节点的当前点的邻居的预测树。预测树可以表示每个点(节点)的父子关系,并且可以从预测树生成该点的预测值。
P的预测结果可以从来自父节点的预测结果、来自祖父节点和父节点的预测结果以及来自曾祖父节点、祖父节点和父节点的预测结果获得。可以从包括通过搜索附近邻居生成的父节点/子节点的预测树高效地获得预测值。
2.基于分组的预测树
根据实施方式,为了快速生成预测树,可以通过根据没有KD树的排序次序以父子关系配置组中的点并以父子关系配置连续组之间的最近点来快速地构造预测树。该操作可以通过以下伪代码来配置。
idx=0
group__sorted_indxes[][]:属于组的点的索引
for(i=0;I<groupCount;i++){
for(j=0;j<groupCount[i].size();j++){
1)P=Points[group_sorted_indxes[i][j]]
针对组的数目开始针对被包括在组中的点的预测树的生成。
例如,生成可以从第i组的第j点开始。
2)如果j!=0,将Points[group_sorted_indxes[i][j-1]]设置为P的父项
通过将对应于j-1的点(其为j的前一值)设置为P的父项,可以快速建立父子关系。
3)如果j=0且i!=0,则
(1)找到group_sorted_indxes[i-1]中的与P接近的点(例如,基于半径的差、x/y/z距离等),并将该点设置为P的父项。
由于在先前已经处理的第(i-1)组中搜索第i组的父项,所以可以快速建立父子关系。
}
}
根据实施方式的每个操作可以由根据实施方式的点云数据发送/接收装置来执行,所述点云数据发送/接收装置可以由包括被配置为与一个或更多个存储器进行通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现。
图16例示了根据实施方式的点云数据发送装置。
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置等可以包括如图16所示的结构。根据实施方式,每个元件可以对应于可以由包括被配置为与一个或更多个存储器进行通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现的点云数据发送装置。
数据输入单元16000可以接收点云数据。数据输入单元可以接收点云数据的几何数据、属性数据和/或点云数据的参数信息集。
坐标变换器16001可以变换关于点云数据的坐标信息以实现编码。
几何信息变换量化处理器16002可以量化几何数据。例如,可以基于量化参数将量化应用于几何数据。
空间划分器16003可以基于空间单元划分几何数据,以便对几何数据进行编码。
几何信息编码器16004可以对几何数据进行编码。几何信息编码器可以使几何数据体素化。根据实施方式,体素化可以是可选的。也就是说,当执行用于几何编码的预测树时,几何数据可以是或者可以不是体素化的。
当几何编码类型是基于预测的编码时,几何信息编码器可以通过预测树生成器生成预测树,通过预测确定器生成预测树,并且执行率失真优化(RDO)以选择最佳预测模式。可以生成根据最佳预测模式的预测的几何值。
几何信息熵编码器可以相对于预测值对残差进行熵编码并且配置几何信息比特流。
预测树生成器可以根据以下项基于设置生成预测树:点排序方法(例如,无排序、按莫顿码次序进行排序、按半径次序进行排序、按方位角次序进行排序、按仰角次序进行排序、按传感器ID次序进行排序、按所捕获的时间次序进行排序等)、分组应用方法(例如,无排序、按莫顿码次序进行排序、按半径次序进行排序、按方位角次序进行排序、按仰角次序进行排序、按传感器ID次序进行排序、按所捕获的时间次序进行排序、其组合等)、分组范围(例如,当移位值、半径、方位角、仰角或捕获时间是十进制值时,将莫顿码分组应用于舍入数字、指示其它范围的值等)、在分组内的排序方法(例如,无排序、按莫顿码次序进行排序、按半径次序进行排序、按方位角次序进行排序、按仰角次序进行排序、按传感器ID次序进行排序、按所捕获的时间次序进行排序等)、预测树的快速应用(基于组中的父子关系生成预测树,基于相邻组之间的父子关系生成预测树)。
预测树生成器可以生成关于点排序方法的信息(pred_geom_tree_sorting_type)、关于分组应用方法的信息(pred_geom_tree_sorting_type)、关于分组范围的信息(pred_geom_tree_grouping_n_digit)、关于分组内的排序方法的信息(pred_geom_tree_sorting_type)和关于预测树的快速应用的信息(pred_geom_tree_build_method)的信息,并且将所述信息发送到接收侧。
预测树生成器可以根据发送装置的设置来接收点排序方法的输入,并且可以根据排序方法对这些点进行排序。点排序方法可以包括按莫顿码次序进行排序、按半径次序进行排序、按方位角次序进行排序、按仰角次序进行排序、按传感器ID次序进行排序、按所捕获的时间次序进行排序或其组合。所应用的排序方法可以作为参数信息被包括在比特流中并递送到解码器。排序操作可以被划分成多个操作,并且排序可以在每个操作中被不同地应用。可以在相应操作中不同地对多个点云数据进行排序。
预测树生成器可以接收是否将分组应用于点排序方法的输入以及用于根据发送装置的设置进行分组的方法。分组排序方法可以包括按莫顿码次序进行排序、按半径次序进行排序、按方位角次序进行排序、按仰角次序进行排序、按传感器ID次序进行排序、按所捕获的时间次序进行排序或其组合。所应用的分组排序方法可以作为参数信息被包括在比特流中并递送到解码器。可以将排序操作划分成多个操作,并且可以在每个操作中应用分组。多个点云数据可以在相应操作中被不同地分组。
预测树生成器可以根据发送装置的设置来接收分组范围的输入。
例如,在莫顿码分组中,移位值可以是分组范围设置值。当多个点的莫顿码按位表达时,莫顿码可以被移位指示分组范围的移位值,使得多个点可以被分组(或排序)到同一组中。
当方位角、仰角、时间等具有包括小数点的值时,要四五舍入的数字位数可以是分组范围设置值。当多个点被表达为具有小数点的数据(诸如,方位角)时,可以通过在特定的小数位处对数据进行四舍五入来将多个点分组或排序到同一组中。
在传感器ID或其它数据的情况下,范围值可以是分组范围设置值。被包括在特定范围内的点可以被分组或排序到同一组中。
根据实施方式的分组范围可以作为参数信息被包括在比特流中并递送到解码器。
预测树生成器可以接收用于根据发送装置的设置来对组中的点进行排序的方法的输入。可以根据组内的排序方法对属于该组的点进行排序。点排序方法可以包括按莫顿码次序进行排序、按半径次序进行排序、按方位角次序进行排序、按仰角次序进行排序、按传感器ID次序进行排序、按所捕获的时间次序进行排序或其组合。所应用的排序方法可以作为参数信息被包括在比特流中并递送到解码器。
预测树生成器可以接收是否根据发送装置的设置基于排序次序应用快速预测树生成方法的输入。在快速生成中,可以根据组内的排序次序生成预测树,并且可以通过找到接近组当中的连续组的第一点的点来建立父子关系。是否应用快速预测树生成的指示可以作为参数信息被包括在比特流中并递送到解码器。
几何信息编码器可以检查几何编码类型。根据实施方式,几何编码类型可以由点云数据发送装置设置。例如,可以基于点云数据确定最佳编码类型。根据实施方式的编码类型可以包括基于八叉树的编码、基于预测的编码和/或基于三角汤的编码。
在基于八叉树的编码中,可以生成用于几何数据的八叉树,并且可以基于八叉树对几何数据进行编码。
在基于三角汤的编码中,可以生成用于几何数据的三角汤,并且可以基于三角汤对几何数据进行编码。
在基于预测的编码中,可以生成根据实施方式的预测树,并且可以基于RDO确定预测数据。
对于根据实施方式的基于预测的编码,可以输入预测树构造类型信息、点排序方法、最大距离信息等。而且,在预测树中,可以将关于所应用的预测树构造类型的信息以及关于所应用的点排序方法的信息发送到接收解码器装置。
几何信息编码器可以重构几何数据,也就是说,位置数据。重构的(恢复的)几何数据可以被发送到属性信息编码器以用于属性编码。
当几何编码类型是基于预测的编码时,几何信息编码器可以通过预测树生成器生成预测树,并且基于通过基于率失真优化(RDO)的预测确定器生成的预测树执行RDO以选择最佳预测模式。因此,可以生成根据最佳预测模式的几何的预测值。
几何信息熵编码器16005可以基于熵方案对点云数据进行编码。几何信息编码器可以生成编码后的几何信息比特流。
几何信息熵编码器16005可以通过对几何数据与预测值之间的残差进行熵编码来构造几何信息比特流。
属性信息编码器16006可以从数据输入单元接收属性数据并对其进行编码。由于属性数据(或属性)取决于几何数据(或位置),因此属性数据可以基于由几何位置重构器重构的几何数据来编码。可以变换数据以用于颜色的编码,颜色是属性信息。属性信息编码器可以基于熵方案对属性数据进行编码。
几何信息编码器可以通过基于八叉树、预测树、三角汤等对几何数据进行编码而生成几何信息比特流,并且属性信息编码器可以对属性数据进行编码以生成属性信息比特流。
另外,包括几何信息编码器和属性信息编码器的编码器可以将作为参数信息的关于几何编码和属性编码的信息包括在比特流中并将比特流递送到解码器。
图17例示了根据实施方式的点云数据接收装置。
图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置、图17的点云数据接收装置等可以基于图15所示的方法对点云数据进行解码。根据实施方式,每个元件可以对应于点云数据接收装置,其可以由包括被配置为与一个或更多个存储器进行通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现。
根据实施方式的点云数据接收装置可以接收包括几何数据和属性数据的比特流,对几何数据进行解码以及对属性数据进行解码。
图17的操作可以遵循图16的对应操作的相反过程。
几何信息解码器17000可以接收几何信息比特流。
几何信息解码器可以由几何信息熵解码器根据熵方案对几何数据进行解码。
几何信息解码器可以检查几何编码类型。编码器可以检查是应用基于八叉树的编码还是应用基于预测的编码,并且执行对应解码。
当编码器应用基于八叉树的编码时,几何信息解码器可以通过八叉树重构器执行基于八叉树的解码。
当编码器应用基于预测的编码时,几何信息解码器可以通过预测树重构器执行基于预测树的解码。
预测树重构器可以基于被包括在比特流中的参数信息检查点排序方法、分组的应用、分组应用方法、分组应用范围和快速预测树应用,根据检查来重构预测树,以及对几何的预测值进行解码。
几何信息解码器可以重构几何数据(或位置),生成重构的几何数据,并且将重构的几何数据递送到属性信息解码器。
几何信息解码器可以通过几何信息预测器来预测几何数据,通过几何信息变换逆量化处理器来变换预测的数据,并且对变换的数据进行逆量化。
几何信息解码器可以对几何数据的坐标进行逆变换。
几何信息解码器可以对几何信息比特流进行解码并重构几何信息。
属性信息解码器17010可以对属性信息比特流进行解码并重构属性信息。属性信息解码器可以基于重构的几何信息对属性信息进行解码。
属性信息解码器可以基于熵方案通过属性残差信息熵解码器对从编码器递送的属性数据的残差进行解码。
属性信息解码器可以通过残差属性信息逆量化处理器来对残差属性信息进行逆量化。
逆颜色变换处理器可以对属性数据(或颜色)进行逆变换并且重构属性信息。
图18示出根据实施方式的包括点云数据的比特流的结构。
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置等可以生成如图18所示配置的包括点云数据的比特流。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置、图17的点云数据接收装置等可以对如图18所示配置的包括点云数据的比特流进行解码。
例如,根据实施方式的方法/装置可以用信号通知PCC编码相关信息。可以在发送侧或接收侧使用根据实施方式的信令信息。根据实施方式的信令信息可以由根据实施方式的发送/接收装置(例如,发送装置的元数据处理器(其可以被称为元数据生成器等))生成和发送,并且可以由接收装置的元数据解析器接收和获得。可以基于信令信息执行根据实施方式的接收装置的每个操作。下面描述编码后的点云配置。
指被包括在点云数据中的信息的缩写为:SPS(序列参数集);GPS(几何参数集);APS(属性参数集);TPS(图块参数集);Geom(几何比特流),其中,几何比特流可以包括几何切片头和/或几何切片数据;以及Attr(属性比特流),其中,属性比特流可以包括属性拼块头和属性拼块数据。根据实施方式,切片可以表示编码单元。基于切片的几何可以在几何编码中编码,基于切片的属性可以在属性编码中编码。根据实施方式,可以将数据单元添加到比特流结构。可以在每数据单元的基础上递送几何/属性数据。
根据实施方式的方法/装置可以将与图15至图17的操作所相关的点排序/预测树生成相关的选项信息添加到将被递送的点云数据的比特流中的SPS或GPS,如图19和图20所示。
根据实施方式的方法/装置可以将与图15至图17的操作所相关的点排序/预测树生成相关的选项信息添加到将被递送的每个切片的TPS或几何头,如图21和图22所示。
根据实施方式的方法/装置可以在图块或切片基础上处理点云数据,使得点云可以被划分成待处理的区域。
当点云数据被划分为多个区域时,可以设置用于针对相应区域生成不同的邻居点集合的选项,以提供各种选项,诸如低复杂度和低可靠性的结果的选项或高复杂度和高可靠性的选项。可以根据接收器的处理能力来不同地设置选项。
因此,当点云被划分成图块时,可以将不同的选项应用于相应图块。可以在TPS信息中携带每个图块的设置信息。
当点云被划分成切片时,可以将不同的选项应用于相应切片。可以在切片头信息中承载每个切片的设置信息。
图19示出根据实施方式的序列参数集。
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置等在图19中示出,可以生成包括点云数据和如图19所示配置的与点云数据相关的序列参数信息的比特流。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置、图17的点云数据接收装置等可以对包括点云数据和如图19所示配置的与点云数据相关的序列参数信息的比特流进行解码。
与根据实施方式的点排序和预测树生成相关的可选信息可以被包括在序列参数集中。
pred_geom_tree_sorting_num_steps:可以指示将在对应序列中应用的点排序步骤。可以将用于预测几何树的点排序方法以多个步骤应用于对应序列中。序列可以表示包括点云数据的帧。
pred_geom_tree_sorting_type:可以指示将在从对应序列生成预测几何树时应用的逐步排序方法。
0=无排序;
1=按莫顿码次序进行排序;
2=按半径次序进行排序;
3=按方位角次序进行排序;
4=按仰角次序进行排序;
5=按传感器ID次序进行排序;
6=按所捕获的时间次序进行排序。
可以将根据每个排序方法的值改变为其它值。
pred_geom_tree_sorting_ascending_flag:当在以对应序列生成预测几何树时根据每个步骤对点进行排序时,该标志指示关于针对相应步骤是以升序(真)还是降序(假)对点进行排序的信息。
pred_geom_tree_group_sorting_flag:指示关于是否在针对对应序列生成预测几何树时针对每个排序步骤执行基于分组的排序的信息。
pred_geom_tree_grouping_n_digit:指示当以对应序列生成预测几何树时执行逐步排序分组时应用分组的范围。虽然分组应用范围的语法相同,但是分组范围应用可以根据pred_geom_tree_sorting_type而变化。
例如,莫顿码分组范围可以表达为移位值。
当诸如半径、方位角或仰角的数据具有小数点时,分组范围可以表达为要四舍五入的数字位数。另选地,分组范围可以表达为指示范围的值。
pred_geom_tree_build_method:可以指示用于以对应序列生成预测几何树的方法:
0=基于排序次序的预测树生成;
1=基于距离的基于KD树的预测树生成;
3=基于排序成组的次序的预测树生成。
每个整数值可以被不同地设置。
profile_idc:可以指示根据实施方式的关于比特流的配置文件信息。可用的候选值可以通过ISO/IEC保留。
profile_compatibility_flags:当等于1时,这指示比特流符合由profile_idc指示的配置文件。
sps_num_attribute_sets:指示比特流中的编码后的属性的数目。它可以具有从0到63变化的值。
attribute_dimension[i]:指示第i属性的分量的数目。属性分量可以包括颜色和反射率。
attribute_instance_id[i]:指示第i属性的实例ID。
根据实施方式的方法/装置可以如下基于根据图19至图22的预测几何编码相关参数递送信令信息。
例如,可以通过图19至图22的pred_geom_tree_sorting_type信息来指示应用于点的排序方法(按莫顿码次序进行排序、按半径次序进行排序、按方位角次序进行排序、按仰角次序进行排序、按传感器ID次序进行排序或按所捕获的时间次序进行排序)。
可以通过图19至图22的pred_geom_tree_sorting_type信息来指示应用于分组的分组排序方法(按莫顿码次序进行排序、按半径次序进行排序、按方位角次序进行排序、按仰角次序进行排序、按传感器ID次序进行排序或按所捕获的时间次序进行排序)。
分组范围(可以针对莫顿码分组方法接收移位值,可以针对诸如方位角的具有小数点的数据接收待四舍五入的数字,可以输入舍入数字的数目以及用于其它数据的范围)可以由图19至图22的pred_geom_tree_grouping_n_digit信息来指示。
组内排序方法(按莫顿码次序进行排序、按半径次序进行排序、按方位角次序进行排序、按仰角次序进行排序、按传感器ID次序进行排序、按所捕获的时间次序进行排序或其组合)可以由图19至图22的pred_geom_tree_sorting_type信息来指示。
是否应用基于分组的快速预测树生成方法可以由图19至图22的pred_geom_tree_group_sorting_flag信息来指示。
应用于点的排序方法、应用于分组的分组排序方法、组内排序方法等可以通过pred_geom_tree_sorting_num_steps信息来区分。当存在一个或更多个pred_geom_tree_sorting_num_steps时,可以存在一个排序步骤和两个排序步骤(sorting_type[0]、sorting_type[1])。在存在多个排序类型的情况下,可以首先在大范围内应用类型并且然后在分组范围内应用类型。
例如,在图19至图22中,当存在多个步骤时,如果在“for(i=0;i<pred_geom_tree_sorting_num_steps;i++)”中i=0,则pred_geom_tree_sorting_type可以指示应用于这些点的排序方法。如果i=1,则pred_geom_tree_sorting_type可以指示应用于分组的分组排序方法。如果i=2,则pred_geom_tree_sorting_type可以指示组内排序方法。根据i指示的信息的次序可以根据实施方式而变化。
图20示出根据实施方式的几何参数集。
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置或图16的点云数据发送装置等可以生成包括点云数据和如图20所示配置的与点云数据相关的几何参数信息的比特流。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置或图17的点云数据接收装置等可以对包括点云数据和如图20所示配置的与点云数据相关的序列参数信息的比特流进行解码。
根据实施方式的方法/装置可以将用于点排序/预测树生成功能的相关选项信息添加到几何参数集,以便被递送。
pred_geom_tree_sorting_num_steps:可以指示将在对应序列中应用的点排序步骤。可以将用于预测几何树的点排序方法以多个步骤应用于对应序列中。序列可以表示包括点云数据的帧。
pred_geom_tree_sorting_type:可以指示将在从对应序列生成预测几何树时应用的逐步排序方法。
0=无排序;
1=按莫顿码次序进行排序;
2=按半径次序进行排序;
3=按方位角次序进行排序;
4=按仰角次序进行排序;
5=按传感器ID次序进行排序;
6=按所捕获的时间次序进行排序。
可以将根据每个排序方法的值改变为其它值。
pred_geom_tree_sorting_ascending_flag:当在以对应序列生成预测几何树时根据每个步骤对点进行排序时,该标志指示关于针对相应步骤是以升序(真)还是降序(假)对点进行排序的信息。
pred_geom_tree_group_sorting_flag:指示关于是否在针对对应序列生成预测几何树时针对每个排序步骤执行基于分组的排序的信息。
pred_geom_tree_grouping_n_digit:指示当以对应序列生成预测几何树时执行逐步排序分组时应用分组的范围。虽然分组应用范围的语法相同,但是分组范围应用可以根据pred_geom_tree_sorting_type而变化。
例如,莫顿码分组范围可以表达为移位值。
当诸如半径、方位角或仰角的数据具有小数点时,分组范围可以表达为要四舍五入的数字位数。另选地,分组范围可以表达为指示范围的值。
pred_geom_tree_build_method:可以指示用于以对应序列生成预测几何树的方法:
0=基于排序次序的预测树生成;
1=基于距离的基于KD树的预测树生成;
3=基于排序成组的次序的预测树生成。
每个整数值可以被不同地设置。
gps_geom_parameter_set_id:指示用于由其它语法元素参考的GPS的标识符。gps_geom_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)内。
图21示出根据实施方式的图块参数集。
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置等可以生成包括点云数据和如图21所示配置的与点云数据相关的图块参数信息的比特流。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置、图17的点云数据接收装置等可以对包括点云数据和如图21所示配置的与点云数据相关的图块参数信息的比特流进行解码。
根据实施方式的方法/装置可以将用于点排序/预测树生成功能的相关选项信息添加到图块参数集,以便被递送。
pred_geom_tree_sorting_num_steps:可以指示将在对应图块中应用的点排序步骤。可以将用于预测几何树的点排序方法以多个步骤应用于对应图块中。图块可以表示用于处理点云数据的帧单元。
pred_geom_tree_sorting_type:可以指示将在从对应图块生成预测几何树时应用的逐步排序方法。
0=无排序;
1=按莫顿码次序进行排序;
2=按半径次序进行排序;
3=按方位角次序进行排序;
4=按仰角次序进行排序;
5=按传感器ID次序进行排序;
6=按所捕获的时间次序进行排序。
可以将根据每个排序方法的值改变为其它值。
pred_geom_tree_sorting_ascending_flag:当在以对应图块生成预测几何树时根据每个步骤对点进行排序时,该标志指示关于针对相应步骤是以升序(真)还是降序(假)对点进行排序的信息。
pred_geom_tree_group_sorting_flag:指示关于是否在针对对应图块生成预测几何树时针对每个排序步骤执行基于分组的排序的信息。
pred_geom_tree_grouping_n_digit:指示当以对应图块生成预测几何树时执行逐步排序分组时应用分组的范围。虽然分组应用范围的语法相同,但是分组范围应用可以根据pred_geom_tree_sorting_type而变化。
例如,莫顿码分组范围可以表达为移位值。
当诸如半径、方位角或仰角的数据具有小数点时,分组范围可以表达为要四舍五入的数字位数。另选地,分组范围可以表达为指示范围的值。
pred_geom_tree_build_method:可以指示用于以对应图块生成预测几何树的方法:
0=基于排序次序的预测树生成;
1=基于距离的基于KD树的预测树生成;
3=基于排序成组的次序的预测树生成。
每个整数值可以被不同地设置。
gps_geom_parameter_set_id:指示用于由其它语法元素参考的GPS的标识符。gps_geom_parameter_set_id的值可以在0到15的范围(包括0和15)内。
gps_seq_parameter_set_id:可以指示用于活动的SPS的sps_seq_parameter_set_id的值。gps_seq_parameter_set_id的值将在0到15的范围(包括0和15)内。
num_tiles:指示针对比特流用信号通知的图块的数目。当不存在时,可以推断num_tiles为0。
tile_bounding_box_offset_x[i]:指示笛卡尔坐标中的第i图块的x偏移。当不存在时,可以推断其为tile_bounding_box_offset_x[0]的x偏移。
tile_bounding_box_offset_y[i]:指示笛卡尔坐标中的第i图块的y偏移。当不存在时,可以推断其为tile_bounding_box_offset_y[0]的y偏移。
tile_bounding_box_offset_z[i]:指示笛卡尔坐标中的第i图块的z偏移。当不存在时,可以推断其为tile_bounding_box_offset_z[0]的z偏移。
图22示出根据实施方式的几何切片头。
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置等可以生成包括点云数据和如图22所示配置的与点云数据相关的切片头信息的比特流。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置、图17的点云数据接收装置等可以对包括点云数据和如图22所示配置的与点云数据相关的切片头信息的比特流进行解码。
根据实施方式的方法/装置可以将用于点排序/预测树生成功能的相关选项信息添加到几何切片头,以便被递送。切片可以是对点云数据进行编码和解码的单元。
pred_geom_tree_sorting_num_steps:可以指示将在对应切片中应用的点排序步骤。可以将用于预测几何树的点排序方法以多个步骤应用于对应切片中。
pred_geom_tree_sorting_type:可以指示将在从对应切片生成预测几何树时应用的逐步排序方法。
0=无排序;
1=按莫顿码次序进行排序;
2=按半径次序进行排序;
3=按方位角次序进行排序;
4=按仰角次序进行排序;
5=按传感器ID次序进行排序;
6=按所捕获的时间次序进行排序。
可以将根据每个排序方法的值改变为其它值。
pred_geom_tree_sorting_ascending_flag:当在以对应切片生成预测几何树时根据每个步骤对点进行排序时,该标志指示关于针对相应步骤是以升序(真)还是降序(假)对点进行排序的信息。
pred_geom_tree_group_sorting_flag:指示关于是否在针对对应切片生成预测几何树时针对每个排序步骤执行基于分组的排序的信息。
pred_geom_tree_grouping_n_digit:指示当以对应切片生成预测几何树时执行逐步排序分组时应用分组的范围。虽然分组应用范围的语法相同,但是分组范围应用可以根据pred_geom_tree_sorting_type而变化。
例如,莫顿码分组范围可以表达为移位值。
当诸如半径、方位角或仰角的数据具有小数点时,分组范围可以表达为要四舍五入的数字位数。另选地,分组范围可以表达为指示范围的值。
pred_geom_tree_build_method:可以指示用于以对应切片生成预测几何树的方法:
0=基于排序次序的预测树生成;
1=基于距离的基于KD树的预测树生成;
3=基于排序成组的次序的预测树生成。
每个整数值可以被不同地设置。
gsh_geometry_parameter_set_id:指示活动的GPS的gps_geom_parameter_set_id的值。
gsh_tile_id:指示由GSH参考的图块ID的值。gsh_tile_id的值可以在0到XX的范围(包括0和XX)内。
gsh_slice_id:标识用于由其它语法元素参考的切片头的ID。gsh_slice_id的值可以在0到XX的范围(包括0和XX)内。
图23例示了根据实施方式的发送点云数据的方法。
2300:根据实施方式的点云数据发送方法可以包括对点云数据进行编码。根据实施方式,编码操作可以包括:图1的点云视频获取10001、图1的点云视频编码器10002、图2的获取20000、图2的编码20001、图4的点云数据编码器的操作、图12的点云数据发送装置的操作、图14的每个装置的处理、图15的点云数据编码方法、图16的点云数据发送装置的操作以及图18至图22的点云数据的比特流生成。
2301:根据实施方式的点云数据发送方法还可以包括发送包括点云数据的比特流。根据实施方式,发送操作包括图1的发送器10003的操作、图2的发送20002、图4的几何比特流和属性比特流的发送、图12的编码的点云数据的发送12012、图14的从每个装置的数据发送、图16的几何信息比特流和/或属性信息比特流的发送以及图18至图22的用于点云数据的比特流发送。
图24例示了根据实施方式的接收点云数据的方法。
2400:根据实施方式的点云数据接收方法可以包括接收包括点云数据的比特流。根据实施方式,接收操作可以包括图1的接收器10005的操作、根据图2的发送20002的接收、图10和图11的包括几何比特流和属性比特流的比特流的接收、图13的接收器13000的操作、图14的由每个装置进行的数据接收、图17的几何信息比特流和属性信息比特流的接收以及图18至图22的比特流的接收。
2401:根据实施方式的点云数据接收方法还可以包括对点云数据进行解码。根据实施方式,解码操作可以包括图1的点云视频解码器10006的操作、图2的解码20003、图10和图11的点云数据的解码、图13的点云数据接收装置的操作、图14的由每个装置进行的数据处理、图15的点排序和预测树生成、图17的点云数据接收装置的操作以及基于被包括在图18至图22的比特流中的参数信息对被包括在比特流中的几何数据和/或属性数据的解码。
根据实施方式的发送点云数据的方法可以包括以下步骤:对点云数据进行编码;以及发送包括点云数据的比特流。
在根据实施方式的点云数据的编码中,例如,几何编码可以包括基于预测树对几何数据进行预测几何编码。
根据实施方式,几何数据的点可以是基于排序类型排序的,排序类型可以包括莫顿次序、方位角次序或径向距离次序中的至少一者。可以通过对方位角、半径或仰角中的至少一者进行舍入来对点进行排序。
根据实施方式的几何数据的编码可以包括基于几何数据的排序的点生成预测树。
根据实施方式的几何数据的编码可以包括基于预测树生成几何数据的预测数据。
根据实施方式的几何数据的编码可以包括基于预测数据生成几何数据的残差。
根据实施方式,比特流可以包括用于预测几何编码的参数信息。
根据实施方式的接收点云数据的设备可以包括:接收器,其被配置为接收包括点云数据的比特流;以及解码器,其被配置为对点云数据进行解码。
根据实施方式,例如,被配置为对点云数据进行解码的解码器可以基于预测树对几何数据执行预测几何解码。
根据实施方式,比特流可以包括用于预测几何编码的参数信息。几何数据的点可以是基于排序类型排序的,其中,排序类型可以包括莫顿次序、方位角次序或径向距离次序中的至少一者。可以通过对方位角、半径或仰角中的至少一者进行舍入来对点进行排序。
根据实施方式的方法/装置可以提供以下效果。
在需要低等待时间服务的场景中,例如,在应当从激光雷达实时地捕获并发送点云数据的情况下,或者将提供实时接收和处理3D地图数据的服务,可能需要缩短编码和解码所需的时间。作为缩短时间的方法,即使在没有完全给出点云信息的情况下,也可以利用部分点云信息开始编码,并且可以执行流传输和解码。由此,可以减少等待时间。
为了减少用于低等待时间服务的3D点云数据压缩的基于几何的点云压缩(G-PCC)的几何信息压缩技术的等待时间,同时保持内容的比特流大小,实施方式提供了根据分布特性来对点进行排序的基于分组的排序方法。排序次序可以通过密切地影响预测树生成(尤其是父节点和子节点的设置)来影响比特流大小。另外,提供了一种用于快速生成预测树的方法。
实施方式提供了根据用于3D点云数据压缩的G-PCC编码器/解码器的高效预测树生成方法的内容特性的排序方法。因此,可以增强几何压缩编码/解码效率。
因此,根据实施方式的发送方法/装置可以高效地压缩点云数据并发送压缩后的数据,并且还递送用于数据的信令信息。因此,根据实施方式的接收方法/装置还可以高效地解码/重构点云数据。
已经从方法和/或装置的角度描述了实施方式,并且可以应用方法和装置的描述以便彼此互补。
尽管为了简单起见已经单独描述了附图,但可以通过合并各个图中例示的实施方式来设计新的实施方式。本领域的技术人员需要的其上记录有用于执行上述实施方式的程序的计算机可读取的记录介质的设计也落入所附权利要求及其等同物的范围内。根据实施方式的装置和方法可以不受上述实施方式的配置和方法的限制。通过选择性组合所有或部分实施方式,可以对实施方式进行各种修改。尽管已经参考附图描述了优选实施方式,但本领域技术人员将领会,在不脱离在所附权利要求中描述的本公开的精神或范围的情况下,可以在实施方式中进行各种修改和变型。这种修改不应被独立于实施方式的技术思路或角度来理解。
实施方式的装置的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)来实现。根据实施方式,根据实施方式的部件可以被分别实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个部件可以包括能够执行一个或更多个程序的一个或更多个处理器。所述一个或更多个程序可以执行根据实施方式的操作/方法中的任一个或更多个,或包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可以被存储在非暂态CRM或被配置为由一个或更多个处理器执行的其它计算机程序产品中,或可以被存储在暂态CRM或被配置为将由一个或更多个处理器执行的其它计算机程序产品中。另外,根据实施方式的存储器可以被用作不仅涵盖易失性存储器(例如,RAM)而且涵盖非易失性存储器、闪速存储器和PROM的概念。另外,它还可以按诸如通过互联网发送这样的载波形式实现。另外,处理器可读记录介质可以分布于通过网络连接的计算机系统,使得处理器可读代码可以以分布方式来存储和执行。
在本说明书中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“A/B”可以意指“A和/或B”。另外,“A、B”可以意指“A和/或B”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。另外,在本说明书中,术语“或”应该被解释为指示“和/或”。例如,表述“A或B”可以意指1)仅A、2)仅B和/或3)A和B二者。换句话说,本文献中使用的术语“或”应该被解释为指示“另外地或另选地”。
可以使用诸如第一和第二这样的术语来描述实施方式的各种元件。然而,根据实施方式的各种部件不应该受以上术语限制。这些术语只是用于将一个元件与另一个区分开。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号二者都是用户输入信号,但不意指相同的用户输入信号,除非上下文另有明确指示。
用于描述实施方式的术语是出于描述特定实施方式的目的使用的,并且不旨在限制实施方式。如对实施方式的描述和权利要求中所使用的,单数形式“一”、“一个”和“该”包括复数指代,除非上下文另有明确规定。表述“和/或”用于包括所有可能的术语组合。诸如“包括”或“具有”这样的术语旨在指示图、数字、步骤、元件和/或部件的存在,并且应当被理解为不排除图、数字、步骤、元件和/或部件的额外存在的可能性。如本文中使用的,诸如“如果”和“当……时”这样的条件表述不限于可选情况,而旨在当满足特定条件时被解释为根据特定条件执行相关操作或解释相关定义。
根据本说明书中描述的实施方式的操作可以由根据实施方式的包括存储器和/或处理器的发送/接收装置来执行。存储器可以存储用于处理/控制根据实施方式的操作的程序,并且处理器可以控制本说明书中描述的各种操作。处理器可以被称为控制器等。在实施方式中,操作可以由固件、软件和/或其组合来执行。固件、软件和/或其组合可以被存储在处理器或存储器中。
根据上述实施方式的操作可以由根据实施方式的发送装置和/或接收装置执行。发送/接收装置包括被配置为发送和接收媒体数据的发送器/接收器、被配置为存储根据实施方式的处理的指令(程序代码、算法、流程图和/或数据)的存储器以及被配置为控制发送/接收装置的操作的处理器。
处理器可以被称为控制器等,并可以对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可以由处理器执行。另外,处理器可以被实现为用于上述实施方式的操作的编码器/解码器。
本发明的模式
如上所述,已经以执行实施方式的最佳模式描述了相关内容。
工业实用性
如上所述,实施方式可以完全或部分应用于点云数据发送/接收装置和系统。
本领域的技术人员将清楚,可以在实施方式的范围内对实施方式进行各种改变或修改。
因此,实施方式旨在涵盖本公开的修改和变型,前提是它们落入所附权利要求及其等同物的范围内。

Claims (20)

1.一种发送点云数据的方法,所述方法包括以下步骤:
对点云数据进行编码;以及
发送包括所述点云数据的比特流。
2.根据权利要求1所述的方法,
其中,对所述点云数据进行编码的步骤基于预测树对几何数据进行预测几何编码。
3.根据权利要求2所述的方法,
其中,所述几何数据的点是基于排序类型进行排序的,
其中,所述排序类型包括莫顿次序、方位角次序或径向距离次序中的至少一者,
其中,通过对方位角、半径或仰角中的至少一者进行舍入来对所述点进行排序。
4.根据权利要求3所述的方法,
其中,对所述几何数据进行编码的步骤基于所述几何数据的排序点生成所述预测树。
5.根据权利要求3所述的方法,
其中,对所述几何数据进行编码的步骤基于所述预测树生成所述几何数据的预测数据。
6.根据权利要求5所述的方法,
其中,对所述几何数据进行编码的步骤基于所述预测数据生成所述几何数据的残差。
7.根据权利要求1所述的方法,
其中,所述比特流包括用于预测几何编码的参数信息。
8.一种发送点云数据的设备,所述设备包括:
编码器,所述编码器被配置为对点云数据进行编码;以及
发送器,所述发送器被配置为发送包括所述点云数据的比特流。
9.根据权利要求8所述的设备,
其中,所述编码器被配置为基于预测树对几何数据进行预测几何编码。
10.根据权利要求9所述的设备,
其中,所述几何数据的点是基于排序类型进行排序的,
其中,所述排序类型包括莫顿次序、方位角次序或径向距离次序中的至少一者,其中,通过对方位角、半径或仰角中的至少一者进行舍入来对所述点进行排序。
11.根据权利要求10所述的设备,
其中,所述编码器被配置为基于所述几何数据的排序点生成所述预测树。
12.根据权利要求10所述的设备,
其中,所述编码器被配置为基于所述预测树生成所述几何数据的预测数据。
13.根据权利要求12所述的设备,
其中,所述编码器被配置为基于所述预测数据生成所述几何数据的残差。
14.根据权利要求8所述的设备,
其中,所述比特流包括用于预测几何编码的参数信息。
15.一种接收点云数据的方法,所述方法包括以下步骤:
接收包括点云数据的比特流;以及
对所述点云数据进行解码。
16.根据权利要求15所述的方法,
其中,对所述点云数据进行解码的步骤基于预测树对几何数据进行预测几何解码。
17.根据权利要求16所述的方法,
其中,所述比特流包括用于预测几何编码的参数信息,
其中,所述几何数据的点是基于排序类型进行排序的,
其中,所述排序类型包括莫顿次序、方位角次序或径向距离次序中的至少一者,其中,通过对方位角、半径或仰角中的至少一者进行舍入来对所述点进行排序。
18.一种接收点云数据的设备,所述设备包括:
接收器,所述接收器被配置为接收包括点云数据的比特流;以及
解码器,所述解码器被配置为对所述点云数据进行解码。
19.根据权利要求18所述的设备,
其中,所述解码器被配置为基于预测树对几何数据进行预测几何解码。
20.根据权利要求19所述的设备,
其中,所述比特流包括用于预测几何编码的参数信息,
其中,所述几何数据的点是基于排序类型进行排序的,
其中,所述排序类型包括莫顿次序、方位角次序或径向距离次序中的至少一者,其中,通过对方位角、半径或仰角中的至少一者进行舍入来对所述点进行排序。
CN202180044044.2A 2020-06-22 2021-06-17 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 Pending CN115918092A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063042504P 2020-06-22 2020-06-22
US63/042,504 2020-06-22
PCT/KR2021/007598 WO2021261840A1 (ko) 2020-06-22 2021-06-17 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Publications (1)

Publication Number Publication Date
CN115918092A true CN115918092A (zh) 2023-04-04

Family

ID=79022123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180044044.2A Pending CN115918092A (zh) 2020-06-22 2021-06-17 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法

Country Status (5)

Country Link
US (1) US11902348B2 (zh)
EP (1) EP4171039A4 (zh)
CN (1) CN115918092A (zh)
CA (1) CA3182656A1 (zh)
WO (1) WO2021261840A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11871037B2 (en) * 2020-06-26 2024-01-09 Qualcomm Incorporated Sorted laser angles for geometry-based point cloud compression (G-PCC)
US11861780B2 (en) * 2021-11-17 2024-01-02 International Business Machines Corporation Point cloud data management using key value pairs for class based rasterized layers
WO2023198168A1 (en) * 2022-04-14 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding
CN114863724B (zh) * 2022-07-04 2022-11-22 北京航空航天大学杭州创新研究院 无人机预警方法、装置、设备及存储介质
US20240144543A1 (en) * 2022-10-17 2024-05-02 Qualcomm Incorporated Predictive geometry coding of point cloud

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102191875B1 (ko) * 2017-03-20 2020-12-16 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US20190394484A1 (en) * 2018-06-22 2019-12-26 The Regents Of The University Of California Method and apparatus for predictive coding of 360-degree video dominated by camera motion
WO2020008106A1 (en) * 2018-07-02 2020-01-09 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US11132818B2 (en) * 2018-09-28 2021-09-28 Apple Inc. Predicting attributes for point cloud compression according to a space filling curve
WO2020262019A1 (ja) * 2019-06-25 2020-12-30 ソニー株式会社 情報処理装置および方法
US11741637B2 (en) * 2020-02-10 2023-08-29 Tencent America LLC Node-based geometry and attribute coding for a point cloud

Also Published As

Publication number Publication date
US11902348B2 (en) 2024-02-13
WO2021261840A1 (ko) 2021-12-30
EP4171039A1 (en) 2023-04-26
EP4171039A4 (en) 2024-05-29
CA3182656A1 (en) 2021-12-30
US20210400103A1 (en) 2021-12-23

Similar Documents

Publication Publication Date Title
CN114503571B (zh) 点云数据发送装置和方法、点云数据接收装置和方法
US20240121418A1 (en) Apparatus and method for processing point cloud data
KR20210040253A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN114616827A (zh) 点云数据发送装置及方法、点云数据接收装置及方法
EP3975124A1 (en) Method and device for processing point cloud data
US20220343548A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11902348B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11483363B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230164353A1 (en) Point cloud data processing device and processing method
CN114073085A (zh) 点云数据处理方法和设备
US20230394712A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230290006A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114073086A (zh) 点云数据处理设备和方法
US20230260163A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4325852A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20230059625A1 (en) Transform-based image coding method and apparatus therefor
CN115210765A (zh) 点云数据发送装置、发送方法、处理装置和处理方法
US20230209099A1 (en) Point cloud data processing device and processing method
US20230154052A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
US20230232042A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20220353531A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230206510A1 (en) Point cloud data processing device and processing method
EP4387230A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20240029311A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230316581A1 (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