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

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

Info

Publication number
CN115428467B
CN115428467B CN202080099797.9A CN202080099797A CN115428467B CN 115428467 B CN115428467 B CN 115428467B CN 202080099797 A CN202080099797 A CN 202080099797A CN 115428467 B CN115428467 B CN 115428467B
Authority
CN
China
Prior art keywords
point cloud
attribute
data
value
cloud data
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.)
Active
Application number
CN202080099797.9A
Other languages
English (en)
Other versions
CN115428467A (zh
Inventor
许惠桢
吴世珍
边柱衡
沈东圭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Priority to CN202410185409.9A priority Critical patent/CN117834863A/zh
Publication of CN115428467A publication Critical patent/CN115428467A/zh
Application granted granted Critical
Publication of CN115428467B publication Critical patent/CN115428467B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (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)和自动驾驶服务这样的各种服务。然而,需要几万到几十万点数据来表示点云内容。因此,需要用于高效处理大量点数据的方法。
发明内容
技术问题
实施方式提供了用于高效处理点云数据的装置和方法。实施方式提供了用于解决等待时间和编码/解码复杂性的点云数据处理方法和装置。
实施方式的技术范围不限于以上提到的技术目的,并可以扩展到本领域的技术人员可以基于本文中公开的全部内容推断出的其它技术目的。
技术方案
为了实现这些目的和其它优点并且按照本公开的目的,如本文中实施和广义描述的,一种用于发送点云数据的方法可以包括对点云数据进行编码并发送包含点云数据的比特流。
在本公开的另一方面,一种用于接收点云数据的方法可以包括接收包含点云数据的比特流并对点云数据进行解码。
有益效果
根据实施方式的装置和方法可以高效率地处理点云数据。
根据实施方式的装置和方法可以提供高质量的点云服务。
根据实施方式的装置和方法可以提供用于提供诸如VR服务和自动驾驶服务这样的通用服务的点云内容。
附图说明
附图被包括进来以提供对本公开的进一步理解,并且被并入本申请的部分中并构成本申请的部分,例示了本公开的实施方式并与说明书一起用来说明本公开的原理。为了更好地理解下面描述的各种实施方式,应该参考结合附图对以下实施方式的描述。将在附图中通篇使用相同的参考标号来指代相同或类似的部分。在附图中:
图1示出根据实施方式的示例性点云内容提供系统;
图2是例示了根据实施方式的点云内容提供操作的框图;
图3例示了根据实施方式的捕获点云视频的示例性处理;
图4例示了根据实施方式的示例性点云编码器;
图5示出了根据实施方式的体素的示例;
图6示出根据实施方式的八叉树和占用码的示例;
图7示出根据实施方式的邻近节点图案的示例;
图8例示了根据实施方式的每个LOD中的点配置的示例;
图9例示了根据实施方式的每个LOD中的点配置的示例;
图10例示了根据实施方式的点云解码器;
图11例示了根据实施方式的点云解码器;
图12例示了根据实施方式的发送装置;
图13例示了根据实施方式的接收装置;
图14例示了根据实施方式的结合点云数据发送/接收方法/装置可操作的示例性结构;
图15例示了根据实施方式的属性编码和属性解码;
图16例示了根据实施方式的计算预测器的分数的方法;
图17例示了根据实施方式的预测器选择方法;
图18例示了根据实施方式的分数计算方法;
图19例示了根据实施方式的分数计算方法;
图20例示了根据实施方式的分数计算方法;
图21例示了根据实施方式的PCC数据编码器;
图22例示了根据实施方式的PPC数据解码器;
图23例示了根据实施方式的比特流的结构;
图24示出了根据实施方式的序列参数集(SPS);
图25示出了根据实施方式的属性参数集(APS);
图26示出了根据实施方式的图块参数集(TPS);
图27示出了根据实施方式的属性切片头(ASH);
图28例示了根据实施方式的发送点云数据的方法;并且
图29例示了根据实施方式的接收点云数据的方法。
具体实施方式
现在,将详细参照本公开的优选实施方式,在附图中例示了这些实施方式的示例。下文将参照附图给出的详细描述旨在解释本公开的示例性实施方式,而非示出能够根据本公开实现的仅有的实施方式。以下详细描述包括具体细节,以提供对本公开的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本公开。
虽然在本公开中使用的大多数术语已选自本领域中广泛使用的通用术语,但一些术语已由申请人任意选择,并且在下面的描述中将根据需要详细解释它们的含义。因此,应当基于术语的本意而非它们的简单名称或含义来理解本公开。
图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)表示量化点的位置(或位置值)。
如图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)可以通过执行三角重构、上采样和体素化处理来生成恢复后的几何(重构的几何)。
处于块的边缘处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角重构处理中,基于边缘的起始点、边缘的方向矢量和顶点的位置值来重构由三角形表示的表面。通过以下操作执行三角重构处理:i)计算每个顶点的质心值,ii)从每个顶点值减去中心值,以及iii)估计通过减法而获得的值的平方和。
估计和的最小值,并根据具有最小值的轴来执行投影处理。例如,当元素x为最小时,每个顶点相对于块的中心投影到x轴上,并投影到(y,z)平面上。当通过投影到(y,z)平面上而获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并根据θ的值对顶点进行排序。下面的表示出了根据顶点的数目来创建三角形的顶点组合。顶点被从1到n地排序。下面的表示出对于四个顶点,可以根据顶点的组合来构造两个三角形。第一个三角形可以由排序的顶点当中的顶点1、2和3组成,并且第二个三角形可以由排序顶点当中的顶点3、4和1组成。
表由按1,…,n排序的顶点形成的三角形
n三角形
3(1,2,3)
4(1,2,3),(3,4,1)
5(1,2,3),(3,4,5),(5,1,3)
6(1,2,3),(3,4,5),(5,6,1),(1,3,5)
7(1,2,3),(3,4,5),(5,6,7),(7,1,3),(3,5,7)
8(1,2,3),(3,4,5),(5,6,7),(7,8,1),(1,3,5),(5,7,1)
9(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,1,3),(3,5,7),(7,9,3)
10(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,1),(1,3,5),(5,7,9),(9,1,5)
11(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,1,3),(3,5,7),(7,9,11),(11,3,7)
12(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,12,1),(1,3,5),(5,7,9),(9,11,1),(1,5,9)
执行上采样处理,以沿着三角形的边缘在中间添加点并执行体素化。所添加的点是基于上采样因子和块的宽度产生的。所添加的点被称为细化顶点。根据实施方式的点云编码器可以对细化顶点进行体素化。另外,点云编码器可以基于体素化位置(或位置值)来执行属性编码。
图7例示了根据实施方式的邻居节点模式的示例。
为了提高点云视频的压缩效率,根据实施方式的点云编码器可以基于上下文自适应算术编码来执行熵编码。
如参考图1至图6描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、点云编码器或图4的算术编码器40004)可以立即对占用码执行熵编码。另外,点云内容提供系统或点云编码器可以基于当前节点的占用码和邻居节点的占用来执行熵编码(帧内编码),或基于前一帧的占用码来执行熵编码(帧间编码)。根据实施方式的帧表示同时产生的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可以取决于被参考的邻居节点的数目。当比特增加时,操作变复杂,但编码可以偏向一侧,从而可以增加压缩效率。例如,当给定3比特上下文时,需要使用23=8种方法执行编码。为进行编码而划分的部分影响了实现方式的复杂度。因此,必须满足适当水平的压缩效率和复杂度。
图7例示了基于邻居节点的占用来获得占用模式的处理。根据实施方式的点云编码器确定八叉树的每个节点的邻居节点的占用,并获得邻居模式的值。使用该邻居节点模式来推断节点的占用模式。图7的左部示出了与节点对应的立方体(处于中间的立方体)以及与立方体共享至少一个面的六个立方体(邻居节点)。图中示出的节点是相同深度的节点。图中示出的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻居节点的位置依次指派权重。
图7的右部示出了邻居节点模式值。邻居节点模式值是乘以被占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点模式值为0至63。当邻居节点模式值为0时,指示该节点的邻居节点当中不存在具有点的节点(未占用节点)。当邻居节点模式值为63时,指示所有邻居节点都是被占用节点。如图中所示,由于被指派权重1、2、4和8的邻居节点是被占用节点,因此邻居节点模式值为15即1、2、4和8之和。点云编码器可以根据邻居节点模式值执行编码(例如,当邻居节点模式值为63时,可以执行64种编码)。根据实施方式,点云编码器可以通过改变邻居节点模式值(例如,基于通过其将64改变为10或6的表)来降低编码复杂度。
图8例示了根据实施方式的每个LOD中的点配置的示例。
如参考图1至图7描述的,在执行属性编码之前,重构(解压缩)编码后的几何。当应用直接编码时,几何重构操作可以包括改变直接编码后的点的放置(例如,将直接编码后的点放置在点云数据的前面)。当应用三角汤几何编码时,通过三角重构、上采样和体素化来执行几何重构处理。由于属性取决于几何,因此基于重构的几何执行属性编码。
点云编码器(例如,LOD生成器40009)可以通过LOD对点进行分类(重新组织)。该图示出了与LOD对应的点云内容。图中的最左侧图片表示原始点云内容。图中左侧起的第二个图片表示最低LOD中的点的分布,并且图中的最右侧图片表示最高LOD中的点的分布。也就是说,最低LOD中的点稀疏地分布,并且最高LOD中的点密集地分布。也就是说,随着LOD在由图的底部处指示的箭头所指的方向上上升,点之间的空间(或距离)变窄。
图9例示了根据实施方式的每个LOD的点配置的示例。
如参考图1至图8描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或LOD生成器40009)可以生成LOD。通过根据一组LOD距离值(或一组欧几里得距离)将点重新组织为一组细化级别来生成LOD。LOD生成处理不仅由点云编码器执行,而且由点云解码器执行。
图9的上部示出了分布在3D空间中的点云内容的点的示例(P0至P9)。在图9中,原始顺序表示LOD生成之前点P0至P9的顺序。在图9中,基于LOD的顺序表示根据LOD生成的点的顺序。通过LOD重新组织点。另外,高LOD包含属于较低LOD的点。如图9中所示,LOD0包含P0、P5、P4和P2。LOD1包含LOD0的点、P1、P6和P3。LOD2包含LOD0的点、LOD1的点、P9、P8和P7。
如参考图4描述的,根据实施方式的点云编码器可以选择性或组合地执行预测变换编码、提升变换编码和RAHT变换编码。
根据实施方式的点云编码器可以为点生成预测器,以执行预测变换编码来设置每个点的预测属性(或预测属性值)。也就是说,可以针对N个点生成N个预测器。根据实施方式的预测器可以基于每个点的LOD值、与存在于针对每个LOD的设定距离内的邻近点有关的加索引信息以及到邻近点的距离来计算权重(=1/距离)。
根据实施方式的预测属性(或属性值)被设置为通过将每个点的预测器中设置的邻近点的属性(或属性值)(例如,颜色、反射率等)乘以基于到每个邻近点的距离计算出的权重(或权重值)而获得的值的平均。根据实施方式的点云编码器(例如,系数量化器40011)可以对通过从每个点的属性(属性值)中减去预测的属性(属性值)而获得的残差(可以被称为残差属性、残差属性值或属性预测残差)进行量化和反量化。如下表中所示地配置该量化处理。
表属性预测残差量化伪代码
当每个点的预测器具有邻近点时,根据实施方式的点云编码器(例如,算术编码器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变换矩阵。在该式中,表示级别l处的体素的平均属性值。可以基于/>和/>来计算/>和/>的权重是/>和/>
这里,是低通值并被用在下一更高级别处的合并处理中。/>表示高通系数。每个步骤中的高通系数被量化并经历熵编码(例如,通过算术编码器40012编码)。权重被计算为/>通过/>和/>计算根节点如下。
图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服务相关的内容数据,并将其提供给用户。根据实施方式的车辆或用户接口装置可以接收用户输入信号。根据实施方式的用户输入信号可以包括指示自动驾驶服务的信号。
根据实施方式的方法/装置是指用于发送点云数据的方法/装置、用于接收点云数据的方法/装置、点云数据发送/接收装置中所包括的编码器、解码器等。
根据实施方式的PCC编码器可以被称为编码器。根据实施方式的PCC解码器可以被称为解码器。
根据实施方式的几何数据对应于几何信息,并且根据实施方式的属性数据对应于属性信息。
图15例示了根据实施方式的属性编码和属性解码。
图1的点云视频编码器10002、图2的编码20001、图4的属性编码器40009、40010和40008、图12的属性编码器12008至12011和图14的XR装置1430表示点云数据的属性信息的属性编码的操作S15000至S15040。图1的点云视频解码器10006、图2的解码20003、图10的属性解码器、图11的属性解码器11008、11007和11009、图13的属性解码器13007至13010和图14的XR装置1430表示点云数据的属性信息的属性解码的操作S15100至S15140。根据实施方式,执行点云数据的属性编码或属性解码的方法/装置可以被称为根据实施方式的方法/装置。
根据实施方式的属性编码/解码可以使用RAHT、预测或提升变换的编码方案。
点云由用于对象的点的集合构成。每个点可以具有几何信息和属性信息。几何信息是三维位置(XYZ)信息,并且属性信息是颜色(RGB、YUV等)和/或反射率的值。
根据图1、图2、图4、图11至图14、图21和图22中示出的实施方式的发送装置可以执行基于用通过压缩改变的位置信息重构的重构几何(=解码后的几何)来压缩几何和压缩属性信息的G-PCC编码处理。类似地,图1、图2、图4、图11至14、图21和图22日中示出的接收装置可以执行G-PCC解码处理。G-PCC解码处理可以包括接收编码的几何比特流和属性比特流,对几何进行解码,并基于通过解码处理重构的几何对属性信息进行解码。
根据实施方式的属性信息压缩操作使用预测变换、提升变换或RAHT的技术。
参照图8和图9,当根据实施方式使用预测变换的技术时,通过基于设置的LOD距离值计算LOD值来设置每个点。
在根据实施方式的预测变换和提升变换中,点可以被划分并分组为细节层次(下文中被称为LOD)。
S15000:生成LOD(①)。
根据实施方式的发送方法/装置可以从几何数据和属性数据生成LOD,如图8和图9中所示。具有不同LOD的组可以被称为LODi集。这里,i表示LOD并且是从0开始的整数。LOD0是由其间距离最大的点组成的集合。随着i增大,属于LODi的点之间的距离减小。
S15010:从LOD中搜索最近的邻近点,并将其作为邻近点集登记在预测器中(②)。
根据实施方式的发送方法/装置可以搜索最近邻点(NN)并将其登记为邻近点集。在生成LODi集之后,该方法/装置可以基于LODi集在具有相同或更低LOD(即,节点之间的距离大)的组中找到X(>0)个最近邻近点,并将其作为邻近点集登记在预测器中。这里,X是可以被设置为邻近点的点的最大数目。X可以作为用户参数输入。
如图9中所示,参照作为示例的图9,在LOD0和LOD1中搜索属于LOD1的P3的邻居。三个最近的邻近节点可以是P2、P4和P6。这三个节点被作为邻近点集登记在P3的预测器中。
S15020:计算邻近点集中的每个邻近点的权重,并对权重进行归一化(③)。
根据实施方式的发送方法/装置可以计算邻近点的权重。
每个点可以具有一个预测器。从登记在预测器中的邻近点预测属性。预测器可以具有邻居集,并基于与每个邻近点的距离来登记“1/距离=权重”。
例如,节点P3的预测器具有作为邻居集的(P2 P4 P6),并基于与每个邻近点的距离来计算权重。相应邻近点的权重为1/√(P4-P3)2、1/√(P4-P3)2和1/√(P6-P3)2
当设置了预测器的邻近点集时,相应邻近点的权重可以用邻近点的权重之和进行归一化。
例如,节点P3的邻近点集中的所有邻近点的权重被求和(total_weight=1/√(P2-P3)2+1/√(P4-P3)2+1/√(P6-P3)2),并且每个邻近点的权重被除以权重之和(1/√(P2-P3)2/total_weight,1/√(P4-P3)2/total_weight,1/√(P6-P3)2/total_weight)。因此,权重被归一化。
S15030:通过预测器预测属性值(④)。
根据实施方式的发送方法/装置可以生成属性值的预测值。
可以通过预测器预测属性。通过将登记在预测器中的邻近点的属性乘以权重(或归一化权重)而获得的值的平均可以被用作预测结果(即,预测属性值)。另选地,特定点的属性可以被设置为预测结果。在预先计算压缩的结果值之后,可以选择能够生成最小流的方法。
S15040:对点的属性值与点的预测值之间的残差进行编码(⑤)。
根据实施方式的发送方法/装置可以生成作为点的属性值与点的预测值之间的差异的残差,并对残差进行编码。点的属性值与通过点的预测器预测的属性值之间的残差可以被编码并发送到接收装置。随着残差减小,比特流的大小减小,并且编码/压缩性能增强。另外,指示由接收方的预测器选择的方法的信息可以被编码,被作为元数据包括在比特流中,并被发送到接收装置。
S15100:生成LOD。
与发送方类似,根据实施方式的接收方法/装置可以从点云数据的几何数据和/或属性数据生成LOD。
S15110:从LOD中搜索最近的邻近点,并将其作为邻近点集登记在预测器中。
像发送方一样,根据实施方式的接收方法/装置从LOD中搜索最近的邻近点。搜索到的邻近点被作为点的邻近点集登记在点的预测器中。
S15120:计算邻近点集中的每个邻近点的权重,并对权重进行归一化。
与发送方类似,根据实施方式的接收方法/装置生成每个邻近点的权重,并对权重进行归一化。
S15130:根据编码操作中使用的预测方法来预测属性值。
与发送方类似,根据实施方式的接收方法/装置生成点的属性值的预测值。
S15140:接收和解码编码的残差,并通过将残差与预测值相加来恢复属性值。
根据实施方式的接收方法/装置接收并解码由发送方法/装置发送的指示预测方法的信息。基于预测方法,生成点的属性值的预测值。接收并解码由发送方法/装置发送的残差。可以通过将预测值与残差相加来恢复属性值。
图16例示了根据实施方式的计算预测器的分数的方法。
图16例示了应用于图1的发送装置1000的点云视频编码器10002、接收装置10004的点云视频解码器10006、图2的编码20001和解码20003、图4的编码器、图11的解码器、图12的发送装置的几何编码和属性编码、图13的接收装置的几何解码和属性解码和由图14的XR装置1430执行的编码的预测器分数计算操作。
根据实施方式的方法/装置提供了用于提高用于3D点云数据压缩的基于几何的点云压缩(G-PCC)的属性压缩的效率的属性预测方法。
本文中提供了以下方法,借助该方法,根据实施方式的方法/装置通过改变在G-PCC属性编码/解码处理中在预测器候选当中选择适当预测器的方法来影响属性残差,并减小比特流大小以提高属性压缩的效率。
将描述根据实施方式上的用于计算用于选择预测器的RDO的方法和/或用于支持该方法的信令方法。
根据实施方式的通过预测器生成(预测)属性值的预测值的操作S15030和/或S15130被如下地配置。
根据实施方式的方法/装置生成点的登记的邻近点之间的属性元素(例如,当属性是颜色时,R、G、B值)的差异。在计算相应属性元素的差异之后,生成相应元素的最大差异(差异值)之和。
例如,当当前点具有三个邻近点时,这三个邻近点可以是P1、P2和P3。计算P1的值R1、P2的值R2和P3的值R3之间的差异。计算P1的值G1、P2的值G2和P3的值G3之间的差异。计算P1的值B1、P2的值B2和P3的值B3之间的差异。
这里,生成R值的最大差异、G值的最大差异和G值的最大差异之和。
假定P={R,G,B},当P1={10,5,1}、P2={11,4,3}且P3={3,9,8}时,如下地生成差值:P1-P2={1,1,2}、P2-P3={8,5,5}并且P3-P1={7,4,7}。这里,相应元素的最大差异之和是20,因为最大差异是max_diff_R=8,G=5,B=7。
随着该值增大,属性信息的差异增大,并且将要编码/解码的比特流的大小增加。实施方式提出了用于高效比特流压缩和解压缩的编码/解码方案。当该值小于特定阈值时,即,当属性信息的差异小时,可以选择执行通过加权平均来计算的属性预测的预测器。
在计算点的登记的邻近点之间的属性元素的值的差异之后,属性元素的最大差异之和大于或等于特定阈值,即,当属性信息的差异大时,可以如下地获得预测值和残差。
模式0:用基于邻近点的属性元素的加权平均计算的预测属性值来计算量化残差。
模式1:当取第一邻近点的属性作为预测值时,计算量化残差。
模式2:当取第二邻近点的属性作为预测值时,计算量化残差。
模式3:当取第三邻近点的属性作为预测值时,计算量化残差。
可以基于以上四种模式来计算分数。
可以通过选择最低的计算分数来在四种模式当中设置预测模式。这是因为分数越小,预测越高效。
根据实施方式,被设置为模式0的预测模式指示通过加权平均进行预测。被设置为模式1的预测模式指示通过第一邻近节点进行预测。被设置为模式2的预测模式指示通过第二邻近节点进行预测。被设置为模式3的预测模式指示通过第三邻近节点进行预测。可以根据点和所选择的预测模式向预测属性值的残差应用属性量化。这里,“第一”、“第二”和“第三”表示LOD组内与当前点的距离的升序。
在预测模式0中,根据实施方式的权重为1/距离。例如,假定存在邻近点P1、P2和P3。当当前点P与P1之间的距离为d1并且权重为w1时,w1=1/d1。当P1的属性值为r1、g1和b1时,P2和P3可以以相同的方式标记。预测属性值为(r1*w1+r2*w2+r3*w3,g1*w1+g2*w2+g3*w3,b1*w1+b2*w2+b3*w3)。可以通过从当前点的值中减去预测值来生成残差。
即,当点的登记的邻近点之间的属性元素的差异大于或等于阈值时,可以执行生成用于四种或更多种方法的预测器候选、针对每个预测器的结果计算率失真(RD)并选择最佳预测器的处理。
在该处理中,可以计算预测器的分数,并且可以选择具有最小分数的预测器作为最佳预测器。用于基本预测器的方法可以是基于加权平均计算的方法。在分数计算中使用基本预测器和第一邻近点的属性作为预测值可以是有利的。可以如图16中所示地配置分数计算方法。
图16的方法例如由根据实施方式的图20和图21的属性信息预测器21140和22100和/或与其对应的装置执行。
第一分数计算方法16000包括:double score=attrResidualQuant+kAttrPredLambdaR*(quant.stepSize()>>kFixedPointAttributeShift)。
第二分数计算方法16010包括:double idxBits=i+(i==max_num_direct_predictors-1?1:2);double score=attrResidualQuant+idxBits*kAttrPredLambdaR*(quant.stepSize()>>kFixedPointAttributeShift)。
第一分数计算方法16000是基本预测器的分数计算方法。
第二分数计算方法16010是其它预测器候选的分数计算方法。
如下地定义计算方法中使用的术语。
attrResidualQuant:属性的残差的量化值。
kAttrPredLambdaR:等于0.01的常数。
索引i:指示邻近节点数的变量(0、1、2、...)。
quant.stepSize:属性量化大小。
kFixedPointAttributeShift:可以是等于8的常数。
max_num_direct_predictors:邻近候选的最大数目。默认它可以是3。即,可以基于三个邻近点来预测当前点。
根据实施方式的图16的方法是仅考虑比特流大小来计算预测分数的方法。
当根据实施方式的由发送装置、编码器等生成的比特流的大小减小时,预测效率可以提高。此外,实施方式可以不仅考虑比特流的大小而且考虑失真来预测属性。在一组预测器候选中选择预测器的方法影响属性的预测值。预测值影响属性的残差。相应地,可能另外需要选择适当的基本预测器的方法。
接下来,将描述根据实施方式的通过改变预测器选择方法来提高属性效率的方法。本公开中描述的预测器选择方法由PCC编码器、PCC编码器的属性编码器等执行,并且根据预测器的选择来重构点云数据的操作由PCC解码器、PCC解码器的属性解码器等执行。
图17例示了根据实施方式的预测器选择方法。
图17例示了选择预测器以生成图15的预测值的方法。
实施方式提供了当点的登记的邻近点之间的属性元素的差异大于或等于阈值时在生成用于预测模式0至3的四种或更多种方法的预测器候选的处理中由根据实施方式的方法/装置选择预测器、针对每个预测器的结果计算率失真(RD)并选择最佳预测器的率失真优化(RDO)分数计算方法。
在预测器选择方法中,以上三种方法即基于失真和大小二者的方法、基于失真的方法和基于大小的方法可以被应用于四种预测模式。在预测模式0中,可以通过加权平均进行预测。在预测模式1中,可以通过第一邻近节点进行预测。在预测模式2中,可以通过第二邻近节点进行预测。在预测模式3中,可以通过第三邻近节点进行预测。由于该方法是用于确定要选择的预测器的标准(选择方法),因此无论是基于失真和比特流大小二者、仅失真还是比特流大小来选择预测器都可以应用于四种预测模式。
根据实施方式的方法/装置可以基于如图17中所示的三种方法来选择基本预测器。根据实施方式,可以选择性执行图17的三种方法中的一种,或者可以应用三种方法中的两种或更多种的组合。
S17000:基于失真和比特流大小来计算分数。
根据实施方式的方法/装置可以基于失真和比特流的大小来计算用于邻近点的预测器的选择的RDO分数。
在图18中示出了用于选择在基于预测变换方案(参见图4中的预测变换)对具有属性数据的颜色值的点云的属性进行编码时使用的预测器的分数计算方法。
S17010:基于失真来计算分数。
根据实施方式的方法/装置可以基于失真来计算用于邻近点的预测器的选择的RDO分数。在图19中示出分数计算方法。
S17020:基于比特流大小来计算分数。
根据实施方式的方法/装置可以基于比特流的大小来计算用于邻近点的预测器的选择的RDO分数。在图20中示出分数计算方法。
图18例示了根据实施方式的分数计算方法。
图18例示了基于失真和比特流大小的图17的分数计算方法S17000。
根据实施方式的方法/装置可以基于第一分数计算方法18000来执行属性编码和属性解码。
根据实施方式的方法/装置可以用图18的第一方法18000计算分数。
基于常数、颜色值的失真值和比特流大小相关值来计算分数。颜色值的失真值反映了颜色分量值R、G和B中的每一个的残差的失真。比特流大小相关值反映了用于颜色值的残差的比特流的大小。
下面定义第一方法中所包括的变量。
α可以是应用于失真的权重。可以指派与比特流大小相比的权重。例如,当失真和比特流大小具有相同的重要性时,变量的值可以为1。
resiDiff:残差与重构残差之间的绝对差异。
例如,resiDiff是邻近点的颜色值的残差之间的差异。当P1具有R1、G1、B1的值时,(R1的残差)-(R1的重构残差)+(G1的残差)-(G1的重构残差)+(B1的残差)-(B1的重构残差)可以是残差差异。即,可以基于由编码器编码的残差与重构残差之间的差异来检查失真信息。
qstep:属性的QP的量化值。
Bits:该方法中考虑的具有与比特流的大小相关的值的变量。
根据实施方式的变量Bits可以指示与残差相关的比特流的大小。
为了确保高效的编码和/或解码,比特流的大小应该小并且失真应该低。相应地,根据实施方式,通过预先检查来选择最佳方法的方法是率失真优化(RDO)。R可以指示比特流大小。
EntropyEstimator():基于来自预测的颜色值的残差来估计预期将要使用的比特流的大小的函数。
在熵预测器中考虑以下因素。
quantRegi:通过量化该残差而获得的值。
idxBits:用于预测模式(pred-mode)的比特大小。
λc的值可以通过实验获得,并且例如可以是0.35,即根据属性的颜色的值。
根据实施方式的方法/装置可以考虑失真和比特流的大小来计算分数,并选择具有最低分数的预测器作为最佳预测器。根据实施方式的方法/装置可以基于所选择的预测器来执行属性编码。当属性是颜色时,如在第一方法18000中,可以考虑点的每个颜色值的残差差异(反映失真的值)和比特大小来计算用于选择预测器的分数。
根据实施方式的方法/装置可以用图18的第二方法18010计算分数。
根据实施方式的方法/装置可以基于第二分数计算方法18010来执行属性编码和属性解码。
在根据实施方式的基于预测变换方案的具有反射值的点云的属性编码中,方法18010被用作用于选择预测器的分数计算方法。
基于常数、失真值、λc的值、qstep的值和Bits的值来计算分数。
根据实施方式的第二方法18010可以包括下述的因素。
基于常数、反射率的失真值和比特流大小相关值来计算分数。反射率的失真值反映反射率的残差的失真。比特流大小相关值反映用于反射率的残差的比特流的大小。
α:这可以是应用于失真的权重。可以指派与比特流大小相比的权重。例如,当失真和比特流大小具有相同的重要性时,变量的值可以为1。
resiDiff:残差与重构残差之间的绝对差异。
EntropyEstimator():基于来自预测的反射率值的残差来估计预期将要使用的比特流的大小的函数。
quantRegi:通过量化该残差而获得的值。
idxBits:用于预测模式(pred-mode)的比特大小。
λr可以通过实验获得,并且例如可以是0.7,即根据属性的反射率的值。
qstep:属性的QP的量化值。
Bits:该方法中考虑的具有与比特流的大小相关的值的变量。
根据实施方式的方法/装置可以考虑失真和比特流大小来计算分数,并选择具有最低分数的预测器作为最佳预测器。根据实施方式的方法/装置可以基于所选择的预测器来执行属性编码。当属性是反射率时,如在第一方法18010中,可以考虑点的每个反射率值的残差差异(反映失真的值)和比特大小来计算用于选择预测器的分数,如在第一方法18000中。
可以计算点的属性值和用于选择登记在点中的邻近点的预测器候选的分数,并且可以选择具有最小分数的点(即,具有低失真和小比特流大小的点)作为预测器。
相应地,可以通过针对点的登记的邻近点之间的属性元素选择最佳预测器来减少失真和残差。
图19例示了根据实施方式的分数计算方法。
图19示出了仅考虑失真的图17的分数计算方法S17010。
根据实施方式的方法/装置可以基于第一分数计算方法19000来执行属性编码和属性解码。
在基于预测变换方案对具有颜色值的点云执行属性编码时,根据实施方式的方法/装置可以依据使用场景仅考虑失真来选择预测器。在这种情况下,分数计算方法可以基于图19的第一方法19000。
基于颜色的失真值和λ的值来计算分数。颜色的失真值反映了颜色的分量值的失真,例如,R、G和B的残差。
λc的值可以通过实验获得。
resiDiff:残差与重构残差之间的绝对差异。
在基于预测变换方案对具有反射率值的点云执行属性编码时,根据实施方式的方法/装置可以依据使用场景仅考虑失真来选择预测器。用于选择预测器的分数计算方法可以基于图19的第二方法19010。
根据实施方式的方法/装置可以基于第二分数计算方法19010来执行属性编码和属性解码。
基于λ的值和反射率的失真值来计算分数。反射率的失真值反映反射率的残差的失真。
λr的值可以通过实验获得。
resiDiff:残差与重构残差之间的绝对差异。
图20例示了根据实施方式的分数计算方法。
图20示出了基于比特流的大小的图17的分数计算方法S17020。
根据实施方式的方法/装置可以基于第一分数计算方法20000来执行属性编码和属性解码。
在基于预测变换方案对具有颜色值的点云执行属性编码时,可以根据使用场景仅考虑比特流大小来选择预测器。可以使用如图20中所示的用于选择预测器的分数计算方法。
可以基于常数、量化步长值、比特流大小相关值等来计算分数。
EntropyEstimator():基于来自预测的颜色值的残差来估计预期将要使用的比特流的大小的函数。
quantRegi:通过量化该残差而获得的值。
idxBits:用于预测模式(pred-mode)的比特大小。
λc的值可以通过实验获得,并且例如可以是0.35,即根据属性的颜色的值。
根据实施方式的方法/装置可以基于第二分数计算方法20010来执行属性编码和属性解码。
在基于预测变换方案对具有反射率值的点云执行属性编码时,可以根据使用场景仅考虑比特流大小来选择预测器。可以使用如图20中所示的用于选择预测器的分数计算方法。
可以基于常数、量化步长值、比特流大小相关值等来计算分数。
EntropyEstimator():基于来自预测的颜色值的残差来估计预期将要使用的比特流的大小的函数。
quantRegi:通过量化该残差而获得的值。
idxBits:用于预测模式(pred-mode)的比特大小。
λr可以通过实验获得,并且例如可以是0.7,即反射率的值。
图21例示了根据实施方式的PCC数据编码器。
图21中的编码器可以对应于图1的发送装置10000、图1的点云视频编码器10002、图2的编码20001、图4的编码器、图12的发送装置或图14的XR装置1430或与其组合。每个元件对应于硬件、软件、处理器和/或其组合。
根据实施方式的发送装置或发送装置中所包括的编码器对点云数据进行编码,并生成几何信息比特流和/或属性信息比特流。
数据输入单元21000可以接收几何数据、属性数据和/或与其相关的参数。
坐标变换器21010可以变换与几何数据的位置(坐标)信息相关的坐标。坐标变换器21010可以对应于图4中的坐标变换器40000。
几何信息变换量化处理器21020可以被称为几何信息变换量化器。几何信息变换量化处理器21020可以对应于图4中的量化器40001。几何信息变换量化处理器21020可以接收一个满标度值(量化值)并根据内容的分布来调整标度。
根据实施方式,空间分割器21030可以将点云数据分割成空间分割单元。空间分割器21030可以根据点云数据的数据特性,使用图块、块、基于密度的方法、基于轴线的方法、基于属性的方法、基于几何的方法等对数据空间进行空间自适应性分割。空间分割器21030可以执行数据分割。帧可以被分割成图块和切片。源点云数据可以被分割成多个切片并在比特流内编码。切片是可以被独立编码或解码的点的集合。切片可以包括一个几何数据单元和零个或一个或更多个属性数据单元。属性数据单元可以取决于同一切片中的对应几何数据。在切片中,几何数据单元可以出现在相关属性单元之前。切片中的数据单元是连续的。一组切片可以由公共图块标识符标识。描述每个图块的边界框的图块信息可以存在于比特流中。图块可以与边界框中的其它图块交叠。每个切片可以包括用于标识图块属于它的索引。
几何信息编码器21040可以对点云数据的几何数据进行编码。几何编码的详细处理可以由以下元件执行。几何信息编码器21040可以允许八叉树生成器基于量化的点云来生成八叉树,并允许颜色重新调整器使用所生成的八叉树。
体素化处理器21050可以使几何数据体素化。体素化处理器21050可以对应于图4中的体素化器40001。
八叉树生成器21060可以对应于图4中的八叉树分析器40002。八叉树生成器21060可以生成八叉树结构中的几何数据。
当使用几何八叉树时,可以如下地执行几何编码:1)可以定义由两个点限定的边界框。八叉树结构是通过递归地细分边界框来构建的。每个立方体被划分为8个子立方体。8位代码可以被称为占用码。当点被占用时,每个子立方体一个比特可以被表示为1,或者当点是空的时,被表示为0。其边大于1的子立方体被进一步划分。具有大小1的子立方体可以是体素。多个点可以交叠并映射到同一个子立方体(体素)。每个子立方体的点可以被算术编码。
可以通过从比特流读取边界框的尺寸来开始解码处理。可以通过根据占用码划分边界框来生成相同的八叉树结构。当达到尺寸为1的子立方体时,子立方体的点可以被算术解码。
几何信息预测器21070可以对几何数据执行预测。几何信息预测器21070可以生成八叉树结构中的父节点与子节点之间的几何数据的预测值。可以通过预测值生成残差比特值以对残差执行熵编码,从而构造几何比特流。可以通过仅对预测值的残差进行编码来实现高效的比特流发送。几何信息预测器21070可以从用于属性编码的几何八叉树来重构(重新配置)几何数据。这是因为,属性编码是基于重构的几何数据执行的。
几何信息熵编码器21080可以对几何数据执行熵编码,以生成几何比特流。
属性信息编码器21090可以如下地对属性数据进行编码。
颜色变换处理器21100可以根据数据特性来变换属性数据的颜色。
当交叠点被合并在重构的几何八叉树结构中时,颜色重新调整器21110可以执行颜色重新调整,或者根据预测/提升变换属性编码来执行RAHT属性编码或者配置LOD。根据实施方式,当交叠点未被合并时,即使在RATH编码时,也可以执行颜色重新调整和/或LOD配置。根据实施方式,在基于重构的几何数据执行属性信息编码时,可以在有损几何的情况下执行颜色重新调整,或者可以在预测/提升变换属性编码而非有损几何的情况下执行LOD配置。当一个体素中存在多个点并且通过借助有损压缩合并交叠点而形成体素时,可以应用颜色重新调整器的操作。另外,当几何量化系数小于1时,在一个体素中可以包括多个点。在这种情况下,可以执行颜色重新调整、LOD配置和邻近点集配置。颜色重新调整器21110可以在原始点云中搜索与体素的中心位置邻近的邻近点以设置体素的代表性颜色,并基于邻近点来计算代表性颜色。在搜索邻近点的处理中,可以对几何信息进行反量化,以恢复原始值与量化值之间的位置差。
LOD配置器21120可以从点云数据配置LOD。LOD配置器21120可以从基于重构的几何信息(几何数据)重新调整颜色的属性数据生成LOD。当在属性编码期间应用预测/提升变换而非RAHT时,可以生成LOD。
邻近点集配置器21130在LOD和基于LOD的较高LOD中配置属于LOD的点的邻近点集。
在生成LODl集之后,基于LOD1集在相同或更低LOD的组(即,节点之间的距离长的组)中找到X(>0)个最近邻近点,并将其作为邻近点集登记在预测器中。
每个点可以具有单个预测器。从登记在预测器中的邻近点预测属性。
预测器可以用于预测属性。通过将登记的邻近点的属性乘以权重而获得的值的平均可以被用作预测结果,或者特定点可以被用作预测结果。关于使用哪种方法,可以预先计算压缩的结果值,然后可以选择能够生成最小流的方法。
点的属性值与由点的预测器预测的属性值之间的残差可以与由预测器选择的方法一起被编码,并被发信号通知到接收器。
解码器可以对发送的预测方法进行解码,并根据该方法预测属性值。可以通过对发送的残差进行解码并将预测值与其相加来恢复属性值。
属性信息预测器21140从邻近点的集合预测点的属性值。例如,在对点Px进行编码时,当配置Px的邻近点的集合时,可以基于该集合中的邻近点的属性值来预测Px的属性值,可以估计Px的属性值与预测的属性值之间的残差,并且该残差的值可以被编码并发送到解码器。解码器通过LOD生成和接收到的附加信息来配置Px的邻近点的集合,基于邻居集中邻近点的属性值来预测Px的属性值,并通过将接收到的残差与预测值相加来恢复Px的属性值。
属性信息预测器21140可以通过找到对于每个点而言具有最低失真和小比特流大小的属性预测器来设置预测模式(参见图15至图20)。
当邻近点的属性差值大于或等于特定阈值时,属性信息预测器21140可以计算预测器候选的预测的RD值,基于计算出的值来计算分数,并选择和使用具有最低分数的预测器进行预测。
属性信息预测器21140可以设置将要用于预测器的分数计算方法,使得可以根据点云的内容特性、使用场景或服务的特性来考虑失真和比特流二者、仅失真或仅比特流,并可以使用根据实施方式的分数计算方法。
属性信息预测器21140可以在计算预测器候选的分数时使用加权平均预测器作为基本预测器,或者可以将基于失真/比特流大小的分数与点进行比较并选择具有最佳(低)分数的预测器即最佳预测器。在预测器选择方法中,λc和λr的值可以根据内容通过实验获得,并可以作为编码选项接收。这些值可以根据实施方式被作为信令信息(元数据)而包括在比特流中,并根据实施方式被发送到接收方法/装置。
残差属性信息量化处理器21150可以生成属性数据的预测值,生成预测值与属性值之间的残差,并量化残差的值。
属性信息熵编码器21160可以对属性数据执行熵编码,并生成属性比特流。例如,可以对残差进行编码,并且可以生成属性比特流。
根据实施方式的发送装置可以生成指示与几何编码和/或属性编码相关的操作的信令信息(元数据)或参数。根据实施方式的发送装置可以生成并发送包含编码后的几何数据、编码后的属性数据、相关元数据等的比特流(参见图23至图27)。
根据实施方式的点云数据发送方法可以包括对点云数据进行编码以及发送包含点云数据的比特流。
根据实施方式的点云数据的编码可以包括对点云数据的几何数据进行编码以及对点云数据的属性数据进行编码。
根据实施方式的属性数据的编码可以包括基于点云数据来生成细节层次(LOD),从LOD中搜索当前点的最近邻近点,并基于最近邻近点来生成当前点的属性值的预测值,以及对当前点的属性值与预测值之间的残差进行编码。
根据实施方式,可以基于预测模式来生成预测值和残差,其中,可以基于分数来选择预测模式。
根据实施方式,属性数据的编码还可以包括计算分数,其中,分数的计算可以执行基于属性数据的失真和属性数据的比特流的大小来计算分数,基于属性数据的失真来计算分数,或者基于属性数据的比特流的大小来计算分数。
根据实施方式,可以基于表示属性数据的失真的值和表示属性数据的比特流的大小的值之和来生成分数。
根据实施方式,属性数据包括点云数据的颜色或点云数据的反射率。
根据实施方式,比特流包括点云数据的元数据。
图22例示了根据实施方式的PPC数据解码器。
图22的解码器可以对应于图1的接收装置10004、图1的点云视频解码器10006、图2的解码20003、图10和图11中的解码器、图13的接收装置和图14的XR装置1430或与其组合。图22的解码器的每个元件可以对应于硬件、软件、处理器和/或其组合。
根据实施方式的接收装置或接收装置中所包括的解码器可以接收比特流。比特流包含编码后的几何数据、编码后的属性数据和相关的元数据。根据实施方式的接收装置基于比特流和/或比特流中所包含的与几何编码相关的元数据(参数)和与属性编码相关的元数据(参数)来解码和重构(恢复)点云数据。
几何信息解码器22000可以接收几何信息比特流并对几何信息进行解码。几何信息解码器22000可以是与发送方的几何信息编码器21040对应的接收方的解码器。几何信息解码器22000可以执行几何信息编码器21040的操作的逆处理。
几何信息熵解码器22010可以接收几何信息比特流并基于熵方案对几何信息进行解码。几何信息熵解码器22010可以执行几何信息熵编码器21080的操作的逆处理。
八叉树重构器22020可以从几何信息重构八叉树。八叉树重构器22020可以执行八叉树生成器21060的操作的逆处理。
几何信息预测器22030可以生成几何信息的预测值。例如,可以在八叉树结构中生成节点间预测值,并且可以使用预测值的残差对几何信息进行高效解码。几何信息预测器22030可以执行几何信息预测器21070的操作的逆处理。
几何信息变换反量化处理器22040可以对几何数据进行反量化。例如,几何信息变换反量化处理器22040可以从比特流中所包含的信令信息(参数)获取标度值(量化值),并可以向基于标度值重构的几何信息应用反量化。
坐标逆变换器22050可以对关于几何信息的坐标信息进行逆变换。坐标逆变换器22050可以执行坐标变换器21010的操作的逆处理。
属性信息解码器22060可以接收属性信息比特流并对属性信息进行解码。属性信息解码器22060可以执行属性信息编码器21090的操作的逆处理。
属性残差信息熵解码器22070可以基于熵方案对属性信息比特流中所包含的属性残差信息(例如,属性信息的残差)进行解码。属性残差信息熵解码器22070可以执行属性信息熵编码器21160的操作的逆处理。
LOD配置器22080可以从点云数据配置LOD。LOD配置器22080可以从基于恢复的几何信息(几何数据)重新调整颜色的属性数据生成LOD。当在属性编码期间应用预测/提升变换而非RAHT时,可以生成LOD。LOD配置器22080可以对应于图21的LOD配置器21120。
邻近点集配置器22090可以基于从属性信息比特流生成的LOD来搜索LOD中所包括的点的邻近点,并将其作为邻近点集登记。邻近点集配置器22090可以对应于图21中的邻近点集配置器21130。
属性信息预测器22100可以生成属性信息的预测值。例如,属性信息预测器可以从LOD和邻近点集生成点的预测值,并生成预测值的残差。属性信息预测器22100可以执行属性信息预测器21140的操作的逆处理。
与接收方的编码操作类似,根据实施方式,属性信息预测器22100可以基于预测模式和分数计算方法来执行属性解码。
残差属性信息反量化处理器22110可以对残差属性信息(例如,属性信息的残差)进行反量化。残差属性信息反量化处理器22110可以执行残差属性信息量化处理器21150的操作的逆处理。
颜色逆变换处理器22120可以对作为属性信息的颜色信息进行逆变换。颜色逆变换处理器22120可以执行颜色变换处理器21100的操作的逆处理。
根据实施方式的点云数据接收装置可以包括被配置为接收包含点云数据的比特流的接收器以及被配置为对比特流进行解码的解码器。
根据实施方式,被配置为对点云数据进行解码的解码器包括被配置为对点云数据的几何数据进行解码的几何解码器以及被配置为对点云数据的属性数据进行解码的属性解码器。
根据实施方式,被配置为对属性数据进行解码的属性解码器基于点云数据来生成细节层次(LOD),从LOD中搜索当前点的最近邻近点,基于最近邻近点来生成当前点的属性值的预测值,并基于点云数据的残差和预测值来重构点云数据,其中,预测值是基于预测模式生成的。
图23例示了根据实施方式的比特流的结构。
根据实施方式的方法/装置可以生成并获取如图23中所示的点云比特流。例如,包含几何信息、属性信息和/或包括其元数据的参数的点云比特流可以由图1的发送装置10000、点云视频编码器10002、接收装置10004、点云视频解码器10006、图2的编码20001和解码20003、图4的编码处理、图11的解码处理、图12的发送装置、图12的元数据处理器12007、图13的接收装置、图13的元数据解析器13006、图14的XR装置1430、图21的编码器、图22的解码器等生成(编码)和接收(解码)。
根据实施方式的方法/装置可以在比特流中发信号通知实施方式的信息。
根据实施方式的信令信息可以由根据实施方式的发送/接收装置(例如发送装置的元数据处理器(可以被称为元数据发生器等))生成和发送,并可以由接收装置的元数据解析器接收和获取。可以基于信令信息来执行根据实施方式的接收装置的每个操作。
在本公开中使用以下缩写:SPS(序列参数集);GPS(几何参数集);APS(属性参数集);TPS(图块参数集);Geom(几何比特流=几何切片头+几何切片数据);Attr(属性比特流(=属性砖块(切片)头+属性砖块(切片)数据))。这里,砖块可以被称为块、切片等。
根据实施方式的点云数据可以采用如图23中所示的比特流的形式。根据实施方式,点云数据可以包含含有信令信息的序列参数集(SPS)、几何参数集(GPS)、属性参数集(APS)和图块参数集(TPS)。点云数据可以包含一个或更多个几何和/或属性。点云数据中的几何和/或属性可以被划分为一个或更多个切片(或砖块/块)。该几何可以具有几何切片头和几何切片数据的结构。例如,包含信令信息的TPS可以包括Tile(0)_tile_bounding_box_xyz0和Tile(0)_tile_bounding_box_whd。几何可以包括geom_geom_parameter_set_id、geom_tile_id、geom_slice_id、geomBoxOrigin、geom_box_log2_scale、geom_max_node_size_log2和geom_num_points。
根据实施方式的信令信息可以被添加到SPS、GPS、APS、TPS等并被发信号通知。
根据实施方式,信令信息可以被添加到TPS、每个切片的几何(Geom)或每个切片的属性(Attr)并被发信号通知。
根据实施方式的点云数据的结构可以高效地提供参数集、几何和属性,包括编码/解码/数据方面的信令信息。
根据实施方式的与点云数据发送/接收装置相关的点云数据可以包含序列参数、几何参数、属性参数、图块参数、几何比特流或属性比特流中的至少一个。
下文中,将参考附图描述特定信令信息的语法。作为参考,根据实施方式的信令信息的名称可以在信令信息的预期含义/功能范围内更改/扩展。信令信息的字段可以被可区分地称为第一信令信息、第二信令信息等。
如上所述,点云数据发送装置(例如,参考图1、图11、图14和图1描述的点云数据发送装置)可以以比特流的形式发送编码后的点云数据。根据实施方式,比特流可以包括一个或更多个子比特流。
点云数据发送装置(例如,参考图1、图4、图12和图17描述的点云数据发送装置)考虑到发送信道的错误将点云数据的图像划分为一个或更多个分组,并通过网络发送。根据实施方式的比特流可以包含一个或更多个分组(例如,网络抽象层(NAL)单元)。相应地,即使当一些分组在不良网络环境中丢失时,点云数据接收装置也可以使用其余分组来恢复图像。点云数据可以被划分为一个或更多个切片或一个或更多个图块并被处理。根据实施方式的图块和切片是用于分割点云数据的图片并通过点云压缩编码对其进行处理的区域。点云数据发送装置可以通过根据点云数据的每个划分区域的重要性对与每个区域对应的数据进行处理来提供高质量的点云内容。即,根据实施方式的点云数据发送装置可以通过以更好的压缩效率和适当的等待时间进行点云压缩编码来处理与对用户重要的区域对应的数据。
根据实施方式的点云内容的图像(或图片)被分割为用于点云压缩编码的基本处理单元。根据实施方式的用于点云压缩编码的基本处理单元可以包括编码树单元(CTU)和砖块,但不限于该示例。
根据实施方式的切片是包括用于一个或更多个点云压缩编码的基本处理单元的区域,并且不具有矩形形状。根据实施方式的切片包含通过分组发送的数据。根据实施方式的图块是在图像中以矩形形状分割的区域,并包括用于一个或更多个点云压缩编码的基本处理单元。根据实施方式的一个切片可以被包括在一个或更多个图块中。另外,根据实施方式的一个图块可以被包括在一个或更多个切片中。
根据实施方式的比特流可以包含信令信息,信令信息包括用于序列级的信令的序列参数集(SPS)、用于几何信息编码的信令的几何参数集(GPS)、用于属性信息编码的信令的属性参数集(APS)以及用于图块级的信令的图块参数集(TPS)和一个或更多个切片。
根据实施方式的SPS可以是诸如配置文件和级别这样的针对整个序列的编码信息,并可以包括诸如图片分辨率和视频格式这样的关于整个文件的综合信息。
根据实施方式的一个切片(例如,切片0)包含切片头和切片数据。切片数据可以包括一个几何比特流Geom00以及一个或更多个属性比特流Attr00和Attr10。几何比特流可以包含头(例如,几何切片头)和有效载荷(例如,几何切片数据)。根据实施方式的几何比特流的头可以包含关于GPS中所包括的参数集的标识信息(geom_geom_parameter_set_id)、图块标识符(geom_tile_id)、切片标识符(geom_slice_id)、关于几何框的原点信息(geomBoxOrigin)、几何框标度(geom_box_log2_scale)、最大几何节点大小(geom_max_node_size_log2)、几何点的数目(geom_num_poins)以及关于有效负载中所包含的数据的信息。属性比特流可以包含头(例如,属性切片头或属性砖块头)和有效载荷(例如,属性切片数据或属性砖块数据)。
可以发信号通知相关信息以实现实施方式。可以在发送方或接收方使用根据实施方式的信令信息。
几何数据(Geom):几何比特流=几何切片头+几何切片数据
属性数据(Attr):属性比特流=属性砖块头+属性砖块数据。根据实施方式,砖块可以被称为切片(砖块=切片)。
根据实施方式的方法/装置可以将与根据实施方式的预测器选择相关的选项信息添加到SPS或APS并发送它们。
根据实施方式的方法/装置可以将与预测器选择相关的选项信息添加到每个切片的属性头或TPS并发送它们。
根据实施方式的方法/装置可以将数据分割为图块或切片以使得点云可以被按区域划分和处理,并可以针对每个图块/切片生成和发送信令信息。
在将点云划分为区域时,可以设置针对每个区域生成不同的邻近点集的选项,以使得尽管结果的可靠性有点低,但获得低复杂度,或者尽管复杂度高,但获得高可靠性。这可以根据接收器的处理能力来不同的设置。
当点云被划分为图块时,针对交叠点的不同处理选项可以被应用于相应的图块。
当点云被划分为切片时,针对交叠点的不同处理选项可以被应用于相应的切片。
图24示出了根据实施方式的序列参数集(SPS)。
图24中示出的SPS是图23的比特流中所包含的SPS。
根据实施方式的方法/装置可以生成与预测器选择相关的选项信息,并在比特流的SPS中发送/接收它。
profile_idc指示根据实施方式的比特流遵循的配置文件。除了实施方式中指定的那些之外,比特流不应当包含profile_idc的值。profile_idc的值被保留,以供ISO/IEC将来使用。
等于1的profile_compatibility_flags指示比特流遵循等于j的profile_idc所指示的配置文件。
sps_num_attribute_sets指示比特流中编码属性的数目。sps_num_attribute_sets的值可以在0至63的范围内。
属性的以下元素可以与sps_num_attribute_sets的值一样多地被包括在SPS中。
attribute_dimension[i]指定第i属性的分量的数目。
attribute_instance_id[i]指定第i属性的实例ID。
attribute_base_predictor selection_RDO_method_type指示根据通过该SPS引用的序列的预测器计算方法。
例如,可以根据这种类型的整数值来指示以下RDO方法:1=考虑失真和比特流大小(参见图17和图18中的S17000、18000和18010);2=仅考虑失真(参见图17和图19中的S17010、19000和19010);以及3=仅考虑比特流大小(参见图17和图20中的S17020、20000和20010)。
attribute_lamda_color_weight指示根据通过SPS引用的序列的颜色的权重。根据实施方式,attribute_lamda_color_weight可以是常数。它可以是用作实验值的常数。根据点云数据的内容特性,可以应用不同的值作为常数。
attribute_lamda_reflectance_weight指示根据通过SPS引用的序列的反射率的权重。根据实施方式,attribute_lamda_reflectance_weight可以是常数。它可以是用作实验值的常数。根据点云数据的内容特性,可以应用不同的值作为常数。例如,可以使用诸如0.13这样的值作为常数。
attribute_distortion_weight指示依照根据通过该SPS引用的序列的失真的重要性的权重。根据实施方式,attribute_distortion_weight可以表示图18和图19中示出的α和/或λ等。
如果attribute_dimension_minus1[i]大于1,则attribute_lamda_color_weight[i]被包括在SPS中。否则,attribute_lamda_reflectance_weight[i]被包括在SPS中。即,当第i属性的分量的数目大于1时,可以执行针对包括颜色的属性数据的预测器选择操作。当第i属性的分量的数目小于1时,可以执行针对包括反射率的属性数据的预测器选择操作。
当attribute_predictor selection_RDO_method_type[i]为1时,attribute_distortion_weight[i]可以被包括在SPS中。
根据实施方式的接收方法/装置可以基于SPS来执行属性解码。
图25示出了根据实施方式的属性参数集(APS)。
图25示出了图23的比特流中所包括的APS。
根据实施方式的方法/装置可以根据实施方式生成与预测器选择相关的选项信息,并在比特流的ASP中发送/接收它。
aps_attr_parameter_set_id提供APS的标识符,以供其它语法元素参考。aps_attr_parameter_set_id的值可以在0至15的范围内(包括端值)。
aps_seq_parameter_set_id指定激活的SPS的sps_seq_parameter_set_id的值。aps_seq_parameter_set_id的值可以在0至15的范围内(包括端值)。
attr_coding_type指示attr_coding_type的给定值的属性的编码类型。attr_coding_type的值可以等于0、1或2。等于0的attr_coding_type可以指示预测权重提升,等于1的attr_coding_type可以指示区域自适应分层变换(RAHT),并且等于2的attr_coding_type可以指示固定权重提升。
根据实施方式,等于0的attr_coding_type可以指示RAHT,等于1的attr_coding_type可以指示具有预测变换的LoD,等于2的attr_coding_type可以指示具有提升变换的LoD,并且等于3的attr_coding_type可以指示原始属性数据。
如果attr_coding_type为0或2,则isLifting可以为1。否则,isLifting可以为0。
当isLifting为1时,可以发信号通知以下元素。
lifting_num_pred_nearest_neighbours指定将用于预测的最近邻近点的最大数目。lifting_num_pred_nearest_neighbours的值可以在1至xx的范围内。
lifting_max_num_direct_predictors指定将要用于直接预测的预测器的最大数目。lifting_max_num_direct_predictors的值可以在0至lifting_num_pred_nearest_neighbours的范围内。可以如下地计算在解码处理中使用的变量MaxNumPredictors的值:MaxNumPredictors=lifting_max_num_direct_predicots+1。
attribute_base_predictor selection_RDO_method_type指示根据通过该APS引用的属性的预测器计算方法。
例如,可以根据这种类型的整数值指示以下RDO方法:1=考虑失真和比特流大小(参见图17和图18中的S17000、18000和18010);2=仅考虑失真(参见图17和图19中的S17010、19000和19010);以及3=仅考虑比特流大小(参见图17和图20中的S17020、20000和20010)。
attribute_lamda_color_weight指示根据通过该APS引用的属性的颜色的权重。
attribute_lamda_reflectance_weight指示根据通过该APS引用的属性的反射率的权重。
attribute_distortion_weight指示依照根据通过该APS引用的属性的失真的重要性的权重。
根据实施方式,当attr_coding_type为1时,即,当属性类型例如为预测变换时,根据实施方式的预测器选择相关选项信息可以被包括在APS中。
当属性编码类型是预测变换时,可能需要预测器选择信息。
在根据实施方式的预测变换方案中,使用根据实施方式的预测器选择方法。
预测变换与提升变换之间的差异与是否提升权重相关。提升是平均情况,并且数据可以通过固定模式=0来变换。
如果attribute_dimension_minus1[i]大于1,则attribute_lamda_color_weight[i]被包括在SPS中。否则,attribute_lamda_reflectance_weight[i]被包括在SPS中。即,当第i属性的分量的数目大于1时,可以执行针对包括颜色的属性数据的预测器选择操作。当第i属性的分量的数目小于1时,可以执行针对包括反射率的属性数据的预测器选择操作。例如,可以通过分量的数目来区分属性是颜色还是反射率。当分量的数目大于或等于2时,属性可以是颜色。当分量的数目为1时,属性可以是一个反射率。
图26示出了根据实施方式的图块参数集(TPS)。
图26示出了图23的比特流中所包括的TPS。
根据实施方式的方法/装置可以根据实施方式生成预测器选择相关选项信息,并在TPS中发送/接收它。
num_tiles指定针对比特流发信号通知的图块的数目。当不存在时,num_tiles可以被推断为0。
以下的图块相关元素可以与图块的数目一样多地包括在TPS中。
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。
attribute_base_predictor selection_RDO_method_type指示根据通过该TPS引用的图块的预测器计算方法。
例如,可以根据这种类型的整数值指示以下RDO方法:1=考虑失真和比特流大小(参见图17和图18中的S17000、18000和18010);2=仅考虑失真(参见图17和图19中的S17010、19000和19010);以及3=仅考虑比特流大小(参见图17和图20中的S17020、20000和20010)。
attribute_lamda_color_weight指示根据通过TPS引用的图块的颜色的权重。
attribute_lamda_reflectance_weight指示根据通过该TPS引用的图块的反射率的权重。
attribute_distortion_weight指示依照根据通过该TPS引用的图块的失真的重要性的权重。
根据实施方式,当attr_coding_type为1时,即,当属性类型例如为预测变换时,根据实施方式的预测器选择相关选项信息可以被包括在TPS中。
如果attribute_dimension_minus1[i]大于1,则attribute_lamda_color_weight[i]被包括在TPS中。否则,attribute_lamda_reflectance_weight[i]被包括在TPS中。即,当第i属性的分量的数目大于1时,可以执行针对包括颜色的属性数据的预测器选择操作。当第i属性的分量的数目小于1时,可以执行针对包括反射率的属性数据的预测器选择操作。
图27示出了根据实施方式的属性切片头(ASH)。
图27示出了图23的比特流中所包括的ASH。
根据实施方式的方法/装置可以根据实施方式生成预测器选择相关选项信息,并在比特流的ASH中发送/接收它。
ash_attr_parameter_set_id指定激活的APS的aps_attr_parameter_set_id的值。
ash_attr_sps_attr_idx指定激活的SPS中的属性集。ash_attr_sps_attr_idx的值可以在激活的SPS中的0至sps_num_attribute_sets的范围内。
ash_attr_geom_slice_id指定gsh_slice_id的值。
attribute_pred_residual_separate_encoding_flag指示是否单独对与属性数据的预测编码相关的残差进行编码。等于1的attribute_pred_residual_separate_encoding_flag指示残差与其他属性值分开地被编码。等于0的attribute_pred_residual_separate_encoding_flag指示残差可以与其他属性值一起被编码。
attribute_base_predictor selection_RDO_method_type指示根据通过该SPS引用的序列的预测器计算方法。
例如,可以根据这种类型的整数值指示以下RDO方法:1=考虑失真和比特流大小(参见图17和图18中的S17000、18000和18010);2=仅考虑失真(参见图17和图19中的S17010、19000和19010);以及3=仅考虑比特流大小(参见图17和图20中的S17020、20000和20010)。
attribute_lamda_color_weight指示根据通过该ASH引用的切片的颜色的权重。
attribute_lamda_reflectance_weight指示根据通过该ASH引用的切片的反射率的权重。
attribute_distortion_weight指示依照根据通过该ASH引用的切片的失真的重要性的权重。
根据实施方式,当attr_coding_type为1时,即,当属性类型例如为预测变换时,根据实施方式的预测器选择相关选项信息可以被包括在ASH中。
如果attribute_dimension_minus1[i]大于1,则attribute_lamda_color_weight[i]被包括在ASH中。否则,attribute_lamda_reflectance_weight[i]被包括在ASH中。即,当第i属性的分量的数目大于1时,可以执行针对包括颜色的属性数据的预测器选择操作。当第i属性的分量的数目小于1时,可以执行针对包括反射率的属性数据的预测器选择操作。
图28例示了根据实施方式的发送点云数据的方法。
图1的发送装置10000、图1的点云视频编码器10002、图2的获取20000、图2的编码20001、图2的发送20002、图4的编码器、图12的发送装置、图14的XR装置1430、图21的发送装置等可以基于图28的操作对点云数据进行编码和发送。
S28000:根据实施方式的点云数据发送方法可以包括对点云数据进行编码。根据实施方式的编码操作包括图1的发送装置10000、图1的点云数据编码器10002、图2的获取20000、图2的编码20001、图4的编码器、图12的发送装置、图14的XR装置1430、图21的发送装置、图15和图20的属性编码、图23的编码点云比特流的生成以及图24至图27的参数或元数据的生成。
S28010:根据实施方式的点云数据发送方法还可以包括发送包含点云数据的比特流。根据实施方式的发送操作还可以包括发送图23的点云比特流,该点云比特流是基于图1的发送装置10000、图2的发送20002、图12的发送装置、图14的XR装置1430、图21的发送装置以及图15至图20的操作等来编码的。点云比特流包括图24和图27的参数或元数据。
图29例示了根据实施方式的接收点云数据的方法。
图1的接收装置10004、图1的点云视频解码器10006、图2的解码20006、图2的渲染20004、图11的解码器、图13的接收装置、图14的XR装置1430、图22的接收装置等可以基于图29的操作来接收、解码和渲染点云数据。
S29000:根据实施方式的点云数据接收方法包括接收包含点云数据的比特流。根据实施方式的接收操作可以包括由图1的接收装置10004、图13的接收装置、图14的XR装置1430、图22的接收装置等接收包含点云数据的图23的点云比特流或图24至图27的参数或元数据。
S29010:根据实施方式的点云数据接收方法还包括对点云数据进行解码。根据实施方式的解码操作可以包括点云视频解码器10006、图2的解码20006、图11的解码器、图13的接收装置、图14的XR装置1430、图15和图20的属性解码或图22的接收装置的操作。
根据本文献的实施方式的PCC编码方法、PCC解码方法和信令方法可以提供以下效果。
实施方式可以提高用于压缩3D点云数据的基于几何的点云压缩(G-PCC)的属性压缩的效率。具体地,在G-PCC属性编码/解码处理中,在预测器候选当中选择适当预测器的方法可以改变。因此,属性残差可以受影响,并且比特流大小可以减小。因此,可以提供配置属性比特流以提高属性压缩效率的方法。
结果,实施方式可以提高用于压缩3D点云数据的基于几何的点云压缩(G-PCC)的编码器/解码器的属性压缩效率,由此提供供应更少比特流的点云内容流。
根据实施方式的PCC编码器和/或PCC解码器可以提供高效预测器选择方法,并减小比特流的大小,由此提高属性压缩编码/解码效率。
已经从方法和/或装置的角度描述了实施方式,并且可以应用对方法和装置的描述以互为补充。
尽管为了简单起见已经单独描述了附图,但可以通过合并各个图中例示的实施方式来设计新的实施方式。本领域的技术人员需要的其上记录有用于执行上述实施方式的程序的计算机可读取的记录介质的设计也落入所附权利要求及其等同物的范围内。根据实施方式的装置和方法可以不受上述实施方式的配置和方法的限制。通过选择性组合所有或部分实施方式,可以对实施方式进行各种修改。尽管已经参考附图描述了优选实施方式,但本领域技术人员将领会,在不脱离在所附权利要求中描述的本公开的精神或范围的情况下,可以在实施方式中进行各种修改和变型。这种修改不应被独立于实施方式的技术思路或角度来理解。
实施方式的装置的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)来实现。根据实施方式,根据实施方式的部件可以被分别实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个部件可以包括能够执行一个或更多个程序的一个或更多个处理器。所述一个或更多个程序可以执行根据实施方式的操作/方法中的任一个或更多个,或包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可以被存储在非暂态CRM或被配置为由一个或更多个处理器执行的其它计算机程序产品中,或可以被存储在暂态CRM或被配置为将由一个或更多个处理器执行的其它计算机程序产品中。另外,根据实施方式的存储器可以被用作不仅涵盖易失性存储器(例如,RAM)而且涵盖非易失性存储器、闪速存储器和PROM的概念。另外,它还可以按诸如通过互联网发送这样的载波形式实现。另外,处理器可读记录介质可以分布于通过网络连接的计算机系统,使得处理器可读代码可以以分布方式来存储和执行。
在本说明书中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“A/B”可以意指“A和/或B”。另外,“A、B”可以意指“A和/或B”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。另外,在本说明书中,术语“或”应该被解释为指示“和/或”。例如,表述“A或B”可以意指1)仅A、2)仅B和/或3)A和B二者。换句话说,本文献中使用的术语“或”应该被解释为指示“另外地或另选地”。
可以使用诸如第一和第二这样的术语来描述实施方式的各种元件。然而,根据实施方式的各种部件不应该受以上术语限制。这些术语只是用于将一个元件与另一个区分开。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号二者都是用户输入信号,但不意指相同的用户输入信号,除非上下文另有明确指示。
用于描述实施方式的术语是出于描述特定实施方式的目的使用的,并且不旨在限制实施方式。如对实施方式的描述和权利要求中所使用的,单数形式“一”、“一个”和“该”包括复数指代,除非上下文另有明确规定。表述“和/或”用于包括所有可能的术语组合。诸如“包括”或“具有”这样的术语旨在指示图、数字、步骤、元件和/或部件的存在,并且应当被理解为不排除图、数字、步骤、元件和/或部件的额外存在的可能性。如本文中使用的,诸如“如果”和“当……时”这样的条件表述不限于可选情况,而旨在当满足特定条件时被解释为根据特定条件执行相关操作或解释相关定义。
根据本说明书中描述的实施方式的操作可以由根据实施方式的包括存储器和/或处理器的发送/接收装置来执行。存储器可以存储用于处理/控制根据实施方式的操作的程序,并且处理器可以控制本说明书中描述的各种操作。处理器可以被称为控制器等。在实施方式中,操作可以由固件、软件和/或其组合来执行。固件、软件和/或其组合可以被存储在处理器或存储器中。
根据上述实施方式的操作可以由根据实施方式的发送装置和/或接收装置执行。发送/接收装置包括被配置为发送和接收媒体数据的发送器/接收器、被配置为存储根据实施方式的处理的指令(程序代码、算法、流程图和/或数据)的存储器以及被配置为控制发送/接收装置的操作的处理器。
处理器可以被称为控制器等,并可以对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可以由处理器执行。另外,处理器可以被实现为用于上述实施方式的操作的编码器/解码器。
本发明的模式
如上所述,已经以执行实施方式的最佳模式描述了相关内容。
工业实用性
如上所述,实施方式可以完全或部分应用于点云数据发送/接收装置和系统。
本领域的技术人员将清楚,可以在实施方式的范围内对实施方式进行各种改变或修改。
因此,实施方式旨在涵盖本公开的修改和变型,前提是它们落入所附权利要求及其等同物的范围内。

Claims (12)

1.一种发送点云数据的方法,该方法包括以下步骤:
对点云数据进行编码,其中,对所述点云数据进行编码包括以下步骤:
对所述点云数据的几何数据进行编码,
对所述点云数据的属性数据进行编码,
其中,对所述属性数据的编码是基于所述属性数据的预测值来执行的,
其中,所述预测值是基于根据所述属性数据的残差和重构残差之间的差异、所述残差的估计的比特大小和所述属性数据的量化值的平方根而生成的值从包括邻近点中的第一邻近点、所述邻近点中的第二邻近点和所述邻近点中的第三邻近点的候选中选择的;以及
发送包括所述点云数据的比特流。
2.根据权利要求1所述的方法,其中,对所述属性数据进行编码包括以下步骤:
基于所述点云数据来生成细节层次LOD;
从所述LOD中搜索当前点的最近邻近点;
基于所述最近邻近点来生成所述当前点的属性值的预测值,
对所述属性值与所述预测值之间的残差进行编码。
3.根据权利要求2所述的方法,
其中,所述候选还包括所述邻近点的平均。
4.根据权利要求3所述的方法,
其中,所述属性数据包括所述点云数据的颜色或所述点云数据的反射率。
5.一种用于发送点云数据的设备,该设备包括:
编码器,所述编码器被配置为对点云数据的几何数据和所述点云数据的属性数据进行编码,
其中,所述属性数据是基于所述属性数据的预测值来编码的,
其中,所述预测值是基于根据所述属性数据的残差和重构残差之间的差异、所述残差的估计的比特大小和所述属性数据的量化值的平方根而生成的值从包括邻近点中的第一邻近点、所述邻近点中的第二邻近点和所述邻近点中的第三邻近点的候选中选择的;以及
发送器,所述发送器被配置为发送包括所述点云数据的比特流。
6.根据权利要求5所述的设备,
其中,用于所述属性数据的编码器执行:
基于所述点云数据来生成细节层次LOD;
从所述LOD中搜索当前点的最近邻近点;
基于所述最近邻近点来生成所述当前点的属性值的预测值,
对所述属性值与所述预测值之间的残差进行编码。
7.根据权利要求6所述的设备,
其中,所述候选还包括所述邻近点的平均。
8.根据权利要求7所述的设备,
其中,所述属性数据包括所述点云数据的颜色或所述点云数据的反射率。
9.一种接收点云数据的方法,该方法包括以下步骤:
接收包括点云数据的比特流;以及
对所述点云数据的几何数据和所述点云数据的属性数据进行解码,
其中,所述属性数据是基于所述属性数据的预测值来解码的,
其中,所述预测值是基于根据所述属性数据的残差和重构残差之间的差异、所述残差的估计的比特大小和所述属性数据的量化值的平方根而生成的值从包括邻近点中的第一邻近点、所述邻近点中的第二邻近点和所述邻近点中的第三邻近点的候选中选择的。
10.根据权利要求9所述的方法,
其中,对所述属性数据进行解码的步骤包括以下步骤:
基于所述点云数据来生成细节层次LOD;
从所述LOD中搜索当前点的最近邻近点;
基于所述最近邻近点来生成所述当前点的属性值的预测值,
基于所述预测值和所述点云数据的残差来重构所述点云数据,
其中,所述预测值和所述残差是基于预测模式来生成的。
11.一种用于接收点云数据的设备,该设备包括:
接收器,所述接收器被配置为接收包括点云数据的比特流;以及
解码器,所述解码器被配置为对所述点云数据的几何数据和所述点云数据的属性数据进行解码,
其中,所述属性数据是基于所述属性数据的预测值来解码的,
其中,所述预测值是基于根据所述属性数据的残差和重构残差之间的差异、所述残差的估计的比特大小和所述属性数据的量化值的平方根而生成的值从包括邻近点中的第一邻近点、所述邻近点中的第二邻近点和所述邻近点中的第三邻近点的候选中选择的。
12.根据权利要求11所述的设备,其中,所述解码器包括:
其中,属性解码器执行:
基于所述点云数据来生成细节层次LOD;
从所述LOD中搜索当前点的最近邻近点;
基于所述最近邻近点来生成所述当前点的属性值的预测值,
基于所述预测值和所述点云数据的残差来重构所述点云数据,
其中,所述预测值和所述残差是基于预测模式来生成的。
CN202080099797.9A 2020-04-14 2020-10-27 点云数据发送设备和方法、点云数据接收设备和方法 Active CN115428467B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410185409.9A CN117834863A (zh) 2020-04-14 2020-10-27 点云数据发送设备和方法、点云数据接收设备和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063010011P 2020-04-14 2020-04-14
US63/010,011 2020-04-14
PCT/KR2020/014742 WO2021210743A1 (ko) 2020-04-14 2020-10-27 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410185409.9A Division CN117834863A (zh) 2020-04-14 2020-10-27 点云数据发送设备和方法、点云数据接收设备和方法

Publications (2)

Publication Number Publication Date
CN115428467A CN115428467A (zh) 2022-12-02
CN115428467B true CN115428467B (zh) 2024-03-08

Family

ID=77787679

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080099797.9A Active CN115428467B (zh) 2020-04-14 2020-10-27 点云数据发送设备和方法、点云数据接收设备和方法
CN202410185409.9A Pending CN117834863A (zh) 2020-04-14 2020-10-27 点云数据发送设备和方法、点云数据接收设备和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202410185409.9A Pending CN117834863A (zh) 2020-04-14 2020-10-27 点云数据发送设备和方法、点云数据接收设备和方法

Country Status (5)

Country Link
US (1) US11483363B2 (zh)
EP (1) EP4131975A4 (zh)
KR (1) KR102300045B1 (zh)
CN (2) CN115428467B (zh)
WO (1) WO2021210743A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11551334B2 (en) * 2020-01-09 2023-01-10 Tencent America LLC Techniques and apparatus for coarse granularity scalable lifting for point-cloud attribute coding
WO2021246839A1 (ko) * 2020-06-05 2021-12-09 엘지전자 주식회사 포인트 클라우드 데이터 처리 디바이스 및 처리 방법
KR20240091150A (ko) * 2021-11-26 2024-06-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 포인트 클라우드 코딩 방법, 장치 및 매체
KR102527798B1 (ko) 2021-12-23 2023-05-02 경희대학교 산학협력단 3차원 컨텐츠 전송 장치 및 방법
CN115239899B (zh) * 2022-06-29 2023-09-05 北京百度网讯科技有限公司 位姿图生成方法、高精地图生成方法和装置
CN117956184A (zh) * 2022-10-19 2024-04-30 中兴通讯股份有限公司 点云属性预测方法、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322742A (zh) * 2018-02-11 2018-07-24 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
CN108810571A (zh) * 2017-05-04 2018-11-13 汤姆逊许可公司 编码和解码二维点云的方法和设备
CN110572655A (zh) * 2019-09-30 2019-12-13 北京大学深圳研究生院 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备
CN110796724A (zh) * 2018-07-31 2020-02-14 英特尔公司 点云视点和可扩展压缩/解压
WO2020072665A1 (en) * 2018-10-02 2020-04-09 Futurewei Technologies, Inc. Hierarchical tree attribute coding in point cloud coding

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694060B2 (en) * 2000-12-21 2004-02-17 General Instrument Corporation Frame bit-size allocation for seamlessly spliced, variable-encoding-rate, compressed digital video signals
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP2003324732A (ja) * 2002-04-30 2003-11-14 Sony Corp 画像処理装置およびその方法
JP2005294977A (ja) * 2004-03-31 2005-10-20 Ulead Systems Inc スライドウィンドウ(slidingwindow)を用いた2パスビデオエンコーディング方法とシステム
KR101330630B1 (ko) * 2006-03-13 2013-11-22 삼성전자주식회사 최적인 예측 모드를 적응적으로 적용하여 동영상을부호화하는 방법 및 장치, 동영상을 복호화하는 방법 및장치
CN102640497B (zh) * 2009-11-30 2014-12-31 日本电气株式会社 视频编码设备和视频解码设备
JP2011217347A (ja) * 2010-03-16 2011-10-27 Sony Corp 画像符号化装置とその方法、画像復号化装置とその方法、およびプログラム
US9369732B2 (en) * 2012-10-08 2016-06-14 Google Inc. Lossless intra-prediction video coding
CN106575364A (zh) * 2014-04-11 2017-04-19 英特尔公司 使用定向滤波的目标检测
FR3035990A1 (fr) * 2015-05-07 2016-11-11 Inst Mines Telecom Procede de simplification de modele de geometrie
EP3167429B1 (en) * 2015-05-15 2019-12-25 SZ DJI Technology Co., Ltd. System and method for supporting image denoising based on neighborhood block dimensionality reduction
US20170150156A1 (en) * 2015-11-25 2017-05-25 Qualcomm Incorporated Illumination compensation with non-square predictive blocks in video coding
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
US10462485B2 (en) * 2017-09-06 2019-10-29 Apple Inc. Point cloud geometry compression
US10861196B2 (en) * 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
CN111149363A (zh) * 2017-09-29 2020-05-12 索尼公司 信息处理设备和方法
US10424083B2 (en) * 2017-10-21 2019-09-24 Samsung Electronics Co., Ltd. Point cloud compression using hybrid transforms
US10607373B2 (en) * 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
EP3553747B1 (en) * 2018-04-09 2021-09-01 BlackBerry Limited Methods and devices for predictive coding of point clouds
US10867414B2 (en) * 2018-04-10 2020-12-15 Apple Inc. Point cloud attribute transfer algorithm
CN112262412A (zh) * 2018-06-13 2021-01-22 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
US10904564B2 (en) * 2018-07-10 2021-01-26 Tencent America LLC Method and apparatus for video coding
US10911787B2 (en) * 2018-07-10 2021-02-02 Apple Inc. Hierarchical point cloud compression
WO2020071703A1 (ko) * 2018-10-01 2020-04-09 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및/또는 포인트 클라우드 데이터 수신 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810571A (zh) * 2017-05-04 2018-11-13 汤姆逊许可公司 编码和解码二维点云的方法和设备
CN108322742A (zh) * 2018-02-11 2018-07-24 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
CN110796724A (zh) * 2018-07-31 2020-02-14 英特尔公司 点云视点和可扩展压缩/解压
WO2020072665A1 (en) * 2018-10-02 2020-04-09 Futurewei Technologies, Inc. Hierarchical tree attribute coding in point cloud coding
CN110572655A (zh) * 2019-09-30 2019-12-13 北京大学深圳研究生院 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备

Also Published As

Publication number Publication date
US11483363B2 (en) 2022-10-25
EP4131975A4 (en) 2023-11-22
CN117834863A (zh) 2024-04-05
US20210320960A1 (en) 2021-10-14
WO2021210743A1 (ko) 2021-10-21
EP4131975A1 (en) 2023-02-08
KR102300045B1 (ko) 2021-09-08
CN115428467A (zh) 2022-12-02

Similar Documents

Publication Publication Date Title
CN114503571B (zh) 点云数据发送装置和方法、点云数据接收装置和方法
CN113615204B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN114503586A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN114616827A (zh) 点云数据发送装置及方法、点云数据接收装置及方法
CN115428467B (zh) 点云数据发送设备和方法、点云数据接收设备和方法
US20220343548A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114930853A (zh) 点云数据发送装置、发送方法、处理装置和处理方法
CN114175100A (zh) 用于处理点云数据的方法和装置
EP4171039A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
CN114073086A (zh) 点云数据处理设备和方法
CN114009046A (zh) 用于处理点云数据的装置和方法
US20230059625A1 (en) Transform-based image coding method and apparatus therefor
CN117121488A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN116724556A (zh) 点云数据发送装置和方法、点云数据接收装置和方法
CN116349229A (zh) 点云数据发送装置和方法、点云数据接收装置和方法
CN114402624A (zh) 点云数据处理设备和方法
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
US20220353531A1 (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
CN117581541A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
CN117121487A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
CN116965019A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
CN116438799A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN113597771B (zh) 用于处理点云数据的设备和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant