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

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

Info

Publication number
CN114762334A
CN114762334A CN202080082031.XA CN202080082031A CN114762334A CN 114762334 A CN114762334 A CN 114762334A CN 202080082031 A CN202080082031 A CN 202080082031A CN 114762334 A CN114762334 A CN 114762334A
Authority
CN
China
Prior art keywords
slice
point cloud
cloud data
slices
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080082031.XA
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 CN114762334A publication Critical patent/CN114762334A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

根据实施方式的用于发送点云数据的方法可以包括对点云数据进行编码;和/或发送包含点云数据和关于点云数据的信令信息的比特流。根据实施方式的用于接收点云数据的方法可以包括接收包含点云数据的比特流;和/或对比特流中的点云数据进行解码。

Description

点云数据发送装置、点云数据发送方法、点云数据接收装置和 点云数据接收方法
技术领域
实施方式提供了一种用于提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自驾驶服务等各种服务的方法。
背景技术
点云数据是三维(3D)空间中的一组点。由于3D空间中的点的数量很大,因此难以生成点云数据。
点云帧或点云数据可被划分成拼块或切片以满足实时以低等待时间执行的传输、编码、解码和渲染处理的需求。
发明内容
技术问题
实施方式被设计为解决上述问题,其目的是提供用于高效地发送和接收点云的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
实施方式的另一目的是提供用于解决等待时间和编码/解码复杂度的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
实施方式的另一目的是提供一种拆分点云数据来对点云数据进行编码和解码的方法。
实施方式的另一目的是改进几何点云压缩(G-PCC)的属性信息的编码以改进点云压缩的性能。
实施方式的技术范围不限于上述技术目的,本领域技术人员可以基于本文件的全部内容推断出其他目的。
技术方案
为了实现这些目的和其他优点,并且根据本公开的目的,如在此体现和广泛描述的,一种用于发送点云数据的方法可以包括:对点云数据进行编码,和/或发送包含点云数据和/或针对所述点云数据的信令信息的比特流。
发送方法还可以包括:基于多个切片分割点云数据,和/或当所述多个切片中的一个切片中的点的数目小于最小点数时,将该切片与相邻切片合并,或者当所述多个切片中的一个切片中的点的数目大于最大点数时,拆分该切片。
此外,根据实施方式,可以基于第一方法、第二方法或第三方法中的至少一种来执行点云数据的分割。所述第一方法可以包括将包括所述点云数据的三维空间分割为8的八叉树切片的深度次方,其中,所述八叉树的深度是基于所述多个切片的点的数目的比来评估的。所述第二方法可以包括将所述三维空间中的最长边除以所述三维空间中的最短边。所述第三方法可以包括通过用所述三维空间的第三轴的长度将三维空间的第一轴和第二轴分段,来将所述三维空间分割为均匀正方形的切片。
根据实施方式,相邻切片可以是该切片的左切片、该切片的右切片、该切片的上切片或该切片的下切片中的一者。
根据实施方式,该相邻切片可以是该切片的左切片、该切片的右切片、第一切片的上切片,该切片的下切片、该切片的前切片和该切片的后切片中的一者。
根据实施方式,可基于表示所述切片之间的相邻的数据结构执行所述合并或所述拆分。此外,根据实施方式,用于确定相邻的数据结构可以是基于树的数据结构或基于列表的数据结构。
此外,信令信息可包括表示分割点云数据的方法的信息。
技术效果
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以提供高质量的点云服务。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以实现各种视频编解码方法。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以提供诸如自驾驶服务的通用点云内容。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以实现方块成块的分割方法及其并且用信号通知所需的数据,从而提高点云的编码性能。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可执行用于点云数据的独立编码和解码的空间自适应分割,从而改善并行处理并提供可扩展性。
利用点云数据发送方法,点云数据发送装置,点云数据接收方法和点云数据接收装置,可以在执行独立的数据分割时执行空间上靠近的点的再分割。
根据实施方式的点云数据发送/接收装置可将点云数据分割成一个或更多个拼块(tile)和/或切片(slice),并基于其并行地进行点云数据编码/解码。
根据实施方式的点云数据发送装置可以分割点云数据并独立地编码各个分割的点云数据。由此,可以在点云数据所占据的三维空间中执行随机访问(随机访问)和并行编码。因此,根据实施方式的点云数据接收装置可以快速地解码这种点云数据。
根据实施方式的点云数据发送装置可以根据上述方法生成切片。因此,由于在不查询各个点的属性的情况下生成切片,可以减少在切片生成过程中发生的延迟。
根据实施方式的发送装置可以为各个拼块或为各个切片生成不同的切片配置头单元,以用信号通知根据实施方式的复制切片的配置。
根据实施方式的点云数据发送/接收方法可以提供如上所述的比特流结构。因此,可以提高接收器在解码关于点云数据的属性信息时的性能。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中并构成本申请的一部分,附图示出本公开的实施方式并与描述一起用于说明本公开的原理。为了更好地理解下面描述的各种实施方式,应该结合附图参考以下实施方式的描述。贯穿附图将使用相同的标号来表示相同或相似的部分。附图中:
图1示出根据实施方式的示例性点云内容提供系统。
图2是示出根据实施方式的点云内容提供操作的框图。
图3示出根据实施方式的捕获点云视频的示例性处理。
图4示出根据实施方式的示例性点云编码器。
图5示出根据实施方式的体素的示例。
图6示出根据实施方式的八叉树和占用代码的示例。
图7示出根据实施方式的邻居节点图案的示例。
图8示出根据实施方式的各个LOD中的点配置的示例。
图9示出根据实施方式的各个LOD中的点配置的示例。
图10示出根据实施方式的点云解码器。
图11示出根据实施方式的点云解码器。
图12示出根据实施方式的发送装置。
图13示出根据实施方式的接收装置。
图14示出根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构。
图15示出了根据实施方式的点云编码器。
图16示出根据实施方式的点云数据发送装置。
图17示出根据实施方式的点云数据发送装置。
图18示出了根据实施方式由点云数据发送装置分割点云数据的示例。
图19示出了根据实施方式的分割点云数据的方法的实施方式。
图20示出了根据实施方式的分割和细化点云数据的方法的实施方式。
图21示出了根据实施方式的分割点云数据的方法的实施方式。
图22示出了根据实施方式的细化切片的方法的实施方式。
图23示出了根据实施方式的将点云数据分割为多个切片和/或对其进行细化的结果的示例。
图24示出了根据实施方式的分割点云数据的方法的实施方式。
图25示出了根据实施方式的分割点云数据的方法的实施方式。
图26示出了根据实施方式的相邻切片的示例。
图27示出了根据实施方式的使用相邻切片来细化切片的方法的示例。
图28示出根据实施方式的点云数据接收装置的示例。
图29示出根据实施方式的点云数据接收装置。
图30示出根据实施方式的点云数据的比特流结构的示例。
图31示出根据实施方式的比特流中的序列参数集(SPS)的示例。
图32示出根据实施方式的比特流中的拼块参数集(TPS)的示例。
图33示出了根据实施方式的比特流中的几何参数集(GPS)的示例。
图34示出根据实施方式的比特流中的SPS的示例。
图35示出根据实施方式的比特流中的TPS的示例。
图36示出根据实施方式的比特流中的GPS的示例。
图37示出根据实施方式的比特流的几何切片头(GSH)的示例。
图38示出根据实施方式的比特流的属性切片头(ASH)的示例。
图39是示出根据实施方式的发送点云数据的方法的流程图。以及
图40是示出根据实施方式的接收点云数据的方法的流程图。
具体实施方式
现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语选自本领域中广泛使用的通用术语,但是一些术语由申请人任意选择并且在以下描述中根据需要详细说明其含义。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图1示出根据实施方式的示例性点云内容提供系统。
图1所示的点云内容提供系统可包括发送装置10000和接收装置10004。发送装置10000和接收装置10004能够有线或无线通信以发送和接收点云数据。
根据实施方式的点云数据发送装置10000可取得和处理点云视频(或点云内容)并将其发送。根据实施方式,发送装置10000可包括固定站、基站收发器系统(BTS)、网络、人工智能(AI)装置和/或系统、机器人、AR/VR/XR装置和/或服务器。根据实施方式,发送装置10000可包括被配置成使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信的装置、机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器。
根据实施方式的发送装置10000包括点云视频获取器10001、点云视频编码器10002和/或发送器(或通信模块)10003。
根据实施方式的点云视频获取器10001通过诸如捕获、合成或生成的处理过程来获取点云视频。点云视频是由点云表示的点云内容,点云是位于3D空间中的点集合,并且可被称为点云视频数据。根据实施方式的点云视频可包括一个或更多个帧。一个帧表示静止图像/画面。因此,点云视频可包括点云图像/帧/画面,并且可被称为点云图像、帧或画面。
根据实施方式的点云视频编码器10002对所获取的点云视频数据进行编码。点云视频编码器10002可基于点云压缩编码对点云视频数据进行编码。根据实施方式的点云压缩编码可包括基于几何的点云压缩(G-PCC)编码和/或基于视频的点云压缩(V-PCC)编码或下一代编码。根据实施方式的点云压缩编码不限于上述实施方式。点云视频编码器10002可输出包含编码的点云视频数据的比特流。比特流可不仅包含编码的点云视频数据,而且包括与点云视频数据的编码有关的信令信息。
根据实施方式的发送器10003发送包含编码的点云视频数据的比特流。根据实施方式的比特流被封装在文件或片段(例如,流片段)中,并且经由诸如广播网络和/或宽带网络的各种网络发送。尽管图中未示出,发送装置10000可包括被配置成执行封装操作的封装器(或封装模块)。根据实施方式,封装器可包括在发送器10003中。根据实施方式,文件或片段可经由网络发送到接收装置10004,或者存储在数字存储介质(例如,USB、SD、CD、DVD、蓝光、HDD、SSD等)中。根据实施方式的发送器10003能够经由4G、5G、6G等网络与接收装置10004(或接收器10005)有线/无线通信。另外,发送器可根据网络系统(例如,4G、5G或6G通信网络系统)执行必要的数据处理操作。发送装置10000可按照按需方式发送封装的数据。
根据实施方式的接收装置10004包括接收器10005、点云视频解码器10006和/或渲染器10007。根据实施方式,接收装置10004可包括被配置成使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信的装置、机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器。
根据实施方式的接收器10005从网络或存储介质接收包含点云视频数据的比特流或者封装有比特流的文件/片段。接收器10005可根据网络系统(例如,4G、5G、6G等的通信网络系统)执行必要的数据处理。根据实施方式的接收器10005可将所接收的文件/片段解封装并输出比特流。根据实施方式,接收器10005可包括被配置成执行解封装操作的解封装器(或解封装模块)。解封装器可被实现为与接收器10005分离的元件(或组件)。
点云视频解码器10006将包含点云视频数据的比特流解码。点云视频解码器10006可根据点云视频数据被编码的方法(例如,按点云视频编码器10002的操作的逆过程)来将点云视频数据解码。因此,点云视频解码器10006可通过执行点云解压缩编码(点云压缩的逆过程)来将点云视频数据解码。点云解压缩编码包括G-PCC编码。
渲染器10007渲染解码的点云视频数据。渲染器10007可通过不仅渲染点云视频数据,而且渲染音频数据来输出点云内容。根据实施方式,渲染器10007可包括被配置成显示点云内容的显示器。根据实施方式,显示器可被实现为单独的装置或组件而非包括在渲染器10007中。
图中由虚线指示的箭头表示接收装置10004所获取的反馈信息的传输路径。反馈信息是反映与消费点云内容的用户的交互性的信息,并且包括关于用户的信息(例如,头部取向信息、视口信息等)。具体地,当点云内容是用于需要与用户交互的服务(例如,自驾驶服务等)的内容时,反馈信息可被提供给内容发送方(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可在接收装置10004以及发送装置10000中使用,或者可不提供。
根据实施方式的头部取向信息是关于用户的头部位置、取向、角度、运动等的信息。根据实施方式的接收装置10004可基于头部取向信息来计算视口信息。视口信息可以是关于用户正在观看的点云视频的区域的信息。视点是用户通过其观看点云视频的点,并且可指视口区域的中心点。即,视口是以视点为中心的区域,并且区域的尺寸和形状可由视场(FOV)确定。因此,除了头部取向信息之外,接收装置10004还可基于装置所支持的垂直或水平FOV来提取视口信息。另外,接收装置10004执行注视分析等以检查用户消费点云的方式、点云视频中用户注视的区域、注视时间等。根据实施方式,接收装置10004可将包括注视分析结果的反馈信息发送到发送装置10000。根据实施方式的反馈信息可在渲染和/或显示过程中获取。根据实施方式的反馈信息可由包括在接收装置10004中的一个或更多个传感器取得。根据实施方式,反馈信息可由渲染器10007或单独的外部元件(或装置、组件等)取得。图1中的虚线表示发送渲染器10007所取得的反馈信息的过程。点云内容提供系统可基于反馈信息来处理(编码/解码)点云数据。因此,点云视频数据解码器10006可基于反馈信息来执行解码操作。接收装置10004可将反馈信息发送到发送装置10000。发送装置10000(或点云视频数据编码器10002)可基于反馈信息来执行编码操作。因此,点云内容提供系统可基于反馈信息有效地处理必要数据(例如,与用户的头部位置对应的点云数据)而非处理(编码/解码)整个点云数据,并将点云内容提供给用户。
根据实施方式,发送装置10000可被称为编码器、发送装置、发送器等,接收装置10004可被称为解码器、接收装置、接收器等。
根据实施方式的图1的点云内容提供系统中(通过获取/编码/传输/解码/渲染的一系列过程)处理的点云数据可被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可用作涵盖与点云数据有关的元数据或信令信息的概念。
图1所示的点云内容提供系统的元件可由硬件、软件、处理器和/或其组合实现。
图2是示出根据实施方式的点云内容提供操作的框图。
图2的框图示出图1中描述的点云内容提供系统的操作。如上所述,点云内容提供系统可基于点云压缩编码(例如,G-PCC)来处理点云数据。
根据实施方式的点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可获取点云视频(20000)。点云视频由属于用于表达3D空间的坐标系的点云表示。根据实施方式的点云视频可包括Ply(Polygon文件格式或Stanford Triangle格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可包括一个或更多个Ply文件。Ply文件包含诸如点几何和/或属性的点云数据。几何包括点的位置。各个点的位置可由表示三维坐标系(例如,由X、Y和Z轴组成的坐标系)的参数(例如,X、Y和Z轴的值)表示。属性包括点的属性(例如,关于各个点的纹理、颜色(YCbCr或RGB)、反射率r、透明度等的信息)。点具有一个或更多个属性。例如,点可具有颜色属性或者颜色和反射率两个属性。根据实施方式,几何可被称为位置、几何信息、几何数据等,并且属性可被称为属性、属性信息、属性数据等。点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可从与点云视频获取过程有关的信息(例如,深度信息、颜色信息等)取得点云数据。
根据实施方式的点云内容提供系统(例如,发送装置10000或点云视频编码器10002)可对点云数据进行编码(20001)。点云内容提供系统可基于点云压缩编码对点云数据进行编码。如上所述,点云数据可包括点的几何和属性。因此,点云内容提供系统可执行对几何进行编码的几何编码并输出几何比特流。点云内容提供系统可执行对属性进行编码的属性编码并输出属性比特流。根据实施方式,点云内容提供系统可基于几何编码来执行属性编码。根据实施方式的几何比特流和属性比特流可被复用并作为一个比特流输出。根据实施方式的比特流还可包含与几何编码和属性编码有关的信令信息。
根据实施方式的点云内容提供系统(例如,发送装置10000或发送器10003)可发送编码的点云数据(20002)。如图1所示,编码的点云数据可由几何比特流和属性比特流表示。另外,编码的点云数据可与点云数据的编码相关的信令信息(例如,与几何编码和属性编码有关的信令信息)一起以比特流的形式发送。点云内容提供系统可将承载编码的点云数据的比特流封装并以文件或片段的形式将其发送。
根据实施方式的点云内容提供系统(例如,接收装置10004或接收器10005)可接收包含编码的点云数据的比特流。另外,点云内容提供系统(例如,接收装置10004或接收器10005)可将比特流解复用。
点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可将比特流中发送的编码的点云数据(例如,几何比特流、属性比特流)解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可基于比特流中包含的与点云视频数据的编码有关的信令信息将点云视频数据解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可将几何比特流解码以重构点的位置(几何)。点云内容提供系统可通过基于重构的几何对属性比特流进行解码来重构点的属性。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可根据重构的几何和解码的属性基于位置来重构点云视频。
根据实施方式的点云内容提供系统(例如,接收装置10004或渲染器10007)可渲染解码的点云数据(20004)。点云内容提供系统(例如,接收装置10004或渲染器10007)可使用各种渲染方法来渲染通过解码过程解码的几何和属性。点云内容中的点可被渲染为具有特定厚度的顶点、以对应顶点位置为中心的具有特定最小尺寸的立方体或者以对应顶点位置为中心的圆。渲染的点云内容的全部或部分通过显示器(例如,VR/AR显示器、一般显示器等)提供给用户。
根据实施方式的点云内容提供系统(例如,接收装置10004)可取得反馈信息(20005)。点云内容提供系统可基于反馈信息对点云数据进行编码和/或解码。根据实施方式的点云内容提供系统的反馈信息和操作与参照图1描述的反馈信息和操作相同,因此省略其详细描述。
图3示出根据实施方式的捕获点云视频的示例性过程。
图3示出参照图1至图2描述的点云内容提供系统的示例性点云视频捕获过程。
点云内容包括表示位于各种3D空间(例如,表示真实环境的3D空间、表示虚拟环境的3D空间等)中的对象和/或环境的点云视频(图像和/或视频)。因此,根据实施方式的点云内容提供系统可使用一个或更多个相机(例如,能够取得深度信息的红外相机、能够提取与深度信息对应的颜色信息的RGB相机等)、投影仪(例如,取得深度信息的红外图案投影仪)、LiDAR等来捕获点云视频。根据实施方式的点云内容提供系统可从深度信息提取由3D空间中的点组成的几何形状并且从颜色信息提取各个点的属性以取得点云数据。根据实施方式的图像和/或视频可基于面向内技术和面向外技术中的至少一个来捕获。
图3的左侧部分示出面向内技术。面向内技术是指利用定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的图像的技术。面向内技术可用于生成向用户提供关键对象的360度图像的点云内容(例如,向用户提供对象(例如,诸如角色、玩家、对象或演员的关键对象)的360度图像的VR/AR内容)。
图3的右侧部分示出面向外技术。面向外技术是指利用定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的环境而非中心对象的图像的技术。面向外技术可用于生成提供从用户的视角出现的周围环境的点云内容(例如,可提供给自驾驶车辆的用户的表示外部环境的内容)。
如图所示,可基于一个或更多个相机的捕获操作来生成点云内容。在这种情况下,在相机之间坐标系可不同,因此点云内容提供系统可在捕获操作之前校准一个或更多个相机以设定全局坐标系。另外,点云内容提供系统可通过将任意图像和/或视频与通过上述捕获技术捕获的图像和/或视频合成来生成点云内容。点云内容提供系统在生成表示虚拟空间的点云内容时可不执行图3中描述的捕获操作。根据实施方式的点云内容提供系统可对捕获的图像和/或视频执行后处理。换言之,点云内容提供系统可去除不想要的区域(例如,背景),识别捕获的图像和/或视频连接至的空间,并且当存在空间空洞时,执行填充空间空洞的操作。
点云内容提供系统可通过对从各个相机取得的点云视频的点执行坐标变换来生成一条点云内容。点云内容提供系统可基于各个相机的位置坐标对点执行坐标变换。因此,点云内容提供系统可生成表示一个宽范围的内容,或者可生成具有高密度点的点云内容。
图4示出根据实施方式的示例性点云编码器。
图4示出图1的点云视频编码器10002的示例。点云编码器重构并编码点云数据(例如,点的位置和/或属性)以根据网络条件或应用调节点云内容的质量(例如无损、有损或接近无损)。当点云内容的总大小较大(例如,对于30fps给出60Gbps的点云内容)时,点云内容提供系统可能无法实时流传输内容。因此,点云内容提供系统可基于最大目标比特率来重构点云内容以根据网络环境等提供点云内容。
如参照图1至图2描述的,点云编码器可执行几何编码和属性编码。几何编码在属性编码之前执行。
根据实施方式的点云编码器包括坐标变换器(变换坐标)40000、量化器(量化和去除点(体素化))40001、八叉树分析器(分析八叉树)40002和表面近似分析器(分析表面近似)40003、算术编码器(算术编码)40004、几何重构器(重构几何)40005、颜色变换器(变换颜色)40006、属性变换器(变换属性)40007、RAHT变换器(RAHT)40008、LOD生成器(生成LOD)40009、提升变换器(提升)40010、系数量化器(量化系数)40011和/或算术编码器(算术编码)40012。
坐标变换器40000、量化器40001、八叉树分析器40002、表面近似分析器40003、算术编码器40004和几何重构器40005可执行几何编码。根据实施方式的几何编码可包括八叉树几何编码、直接编码、三联体几何编码和熵编码。直接编码和三联体几何编码选择性地或组合应用。几何编码不限于上述示例。
如图所示,根据实施方式的坐标变换器40000接收位置并将其变换为坐标。例如,位置可被变换为三维空间(例如,由XYZ坐标系表示的三维空间)中的位置信息。根据实施方式的三维空间中的位置信息可被称为几何信息。
根据实施方式的量化器40001将几何量化。例如,量化器40001可基于所有点的最小位置值(例如,X、Y和Z轴中的各个个上的最小值)来将点量化。量化器40001执行量化操作:将最小位置值与各个点的位置值之间的差乘以预设量化标度值,然后通过对通过乘法获得的值进行舍入来寻找最近整数值。因此,一个或更多个点可具有相同的量化位置(或位置值)。根据实施方式的量化器40001基于量化位置执行体素化以重构量化点。如像素(包含2D图像/视频信息的最小单元)的情况中一样,根据实施方式的点云内容(或3D点云视频)的点可包括在一个或更多个体素中。作为体积和像素的复合体,术语体素是指当基于表示3D空间的轴(例如,X轴、Y轴和Z轴)将3D空间分割成单元(单位=1.0)时生成的3D立方空间。量化器40001可使3D空间中的点组与体素匹配。根据实施方式,一个体素可仅包括一个点。根据实施方式,一个体素可包括一个或更多个点。为了将一个体素表示为一个点,体素的中心的位置可基于包括在体素中的一个或更多个点的位置来设定。在这种情况下,包括在一个体素中的所有位置的属性可被组合并指派给体素。
根据实施方式的八叉树分析器40002执行八叉树几何编码(或八叉树编码)以按八叉树结构呈现体素。八叉树结构表示基于八进制树结构与体素匹配的点。
根据实施方式的表面近似分析器40003可分析并近似八叉树。根据实施方式的八叉树分析和近似是分析包含多个点的区域以有效地提供八叉树和体素化的过程。
根据实施方式的算术编码器40004对八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。作为编码结果,生成几何比特流。
颜色变换器40006、属性变换器40007、RAHT变换器40008、LOD生成器40009、提升变换器40010、系数量化器40011和/或算术编码器40012执行属性编码。如上所述,一个点可具有一个或更多个属性。根据实施方式的属性编码同样应用于一个点所具有的属性。然而,当属性(例如,颜色)包括一个或更多个元素时,对各个元素独立地应用属性编码。根据实施方式的属性编码包括颜色变换编码、属性变换编码、区域自适应分层变换(RAHT)编码、基于插值的分层最近邻居预测(预测变换)编码以及具有更新/提升步骤的基于插值的分层最近邻居预测(提升变换)编码。根据点云内容,可选择性地使用上述RAHT编码、预测变换编码和提升变换编码,或者可使用一个或更多个编码方案的组合。根据实施方式的属性编码不限于上述示例。
根据实施方式的颜色变换器40006执行变换包括在属性中的颜色值(或纹理)的颜色变换编码。例如,颜色变换器40006可变换颜色信息的格式(例如,从RGB到YCbCr)。可选地,可根据包括在属性中的颜色值来应用根据实施方式的颜色变换器40006的操作。
根据实施方式的几何重构器40005重构(解压缩)八叉树和/或近似八叉树。几何重构器40005基于分析点分布的结果来重构八叉树/体素。重构的八叉树/体素可被称为重构的几何(恢复的几何)。
根据实施方式的属性变换器40007执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。如上所述,由于属性依赖于几何,所以属性变换器40007可基于重构的几何信息来变换属性。例如,基于包括在体素中的点的位置值,属性变换器40007可变换该位置处的点的属性。如上所述,当基于包括在体素中的一个或更多个点的位置来设定体素的中心位置时,属性变换器40007变换一个或更多个点的属性。当执行三联体几何编码时,属性变换器40007可基于三联体几何编码来变换属性。
属性变换器40007可通过计算距各个体素的中心位置(或位置值)特定位置/半径内的邻近点的属性或属性值(例如,各个点的颜色或反射率)的平均来执行属性变换。属性变换器40007可在计算平均时根据从中心到各个点的距离来应用权重。因此,各个体素具有位置和计算的属性(或属性值)。
属性变换器40007可基于K-D树或莫顿码(Morton code)搜索存在于距各个体素的中心位置特定位置/半径内的邻近点。K-D树是二叉搜索树,并且支持能够基于位置来管理点的数据结构,使得可快速地执行最近邻搜索(NNS)。通过将表示所有点的3D位置的坐标(例如,(x,y,z))呈现为比特值并将比特混合来生成莫顿码。例如,当表示点位置的坐标为(5,9,1)时,坐标的比特值为(0101,1001,0001)。根据比特索引按z、y和x的顺序混合比特值产生010001000111。该值被表示为十进制数1095。即,具有坐标(5,9,1)的点的莫顿码值为1095。属性变换器40007可基于莫顿码值对点进行排序并通过深度优先遍历过程执行NNS。在属性变换操作之后,当在用于属性编码的另一变换过程中需要NNS时使用K-D树或莫顿码。
如图所示,变换的属性被输入到RAHT变换器40008和/或LOD生成器40009。
根据实施方式的RAHT变换器40008基于重构的几何信息来执行用于预测属性信息的RAHT编码。例如,RAHT变换器40008可基于与八叉树中较低级别的节点关联的属性信息来预测八叉树中较高级别的节点的属性信息。
根据实施方式的LOD生成器40009生成细节级别(LOD)来执行预测变换编码。根据实施方式的LOD是点云内容的细节程度。随着LOD值减小,指示点云内容的细节劣化。随着LOD值增大,指示点云内容的细节增强。点可按LOD分类。
根据实施方式的提升变换器40010执行基于权重来变换点云属性的提升变换编码。如上所述,可以可选地应用提升变换编码。
根据实施方式的系数量化器40011基于系数来量化属性编码的属性。
根据实施方式的算术编码器40012基于算术编码对量化的属性进行编码。
尽管图中未示出,图4的点云编码器的元件可由包括被配置成与包括在点云提供装置中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可执行上述图4的点云编码器的元件的操作和/或功能中的至少一个。另外,一个或更多个处理器可操作或执行用于执行图4的点云编码器的元件的操作和/或功能的软件程序和/或指令集合。根据实施方式的一个或更多个存储器可包括高速随机存取存储器,或者包括非易失性存储器(例如,一个或更多个磁盘存储装置、闪存装置或其它非易失性固态存储器装置)。
图5示出根据实施方式的体素的示例。
图5示出位于由三个轴(X轴、Y轴和Z轴)所组成的坐标系表示的3D空间中的体素。如参照图4所述,点云编码器(例如,量化器40001)可执行体素化。体素是指当基于表示3D空间的轴(例如,X轴、Y轴和Z轴)将3D空间分割成单元(单位=1.0)时生成的3D立方空间。图5示出通过八叉树结构生成的体素的示例,其中由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框被递归地再分。一个体素包括至少一个点。可从与体素组的位置关系来估计体素的空间坐标。如上所述,体素具有类似2D图像/视频的像素的属性(例如,颜色或反射率)。体素的细节与参照图4描述的那些相同,因此省略其描述。
图6示出根据实施方式的八叉树和占用代码的示例。
如参照图1至图4所描述的,点云内容提供系统(点云视频编码器10002)或点云编码器(例如,八叉树分析器40002)基于八叉树结构来执行八叉树几何编码(或八叉树编码)以有效地管理体素的区域和/或位置。
图6的上部示出八叉树结构。根据实施方式的点云内容的3D空间由坐标系的轴(例如,X轴、Y轴和Z轴)表示。通过由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框的递归再分来创建八叉树结构。这里,2d可被设定为构成围绕点云内容(或点云视频)的所有点的最小边界框的值。这里,d表示八叉树的深度。d的值在下式中确定。在下式中,(xint n,yint n,zint n)表示量化的点的位置(或位置值)。
Figure BDA0003663259830000141
如图6的上部的中间所示,整个3D空间可根据分割被划分成八个空间。各个划分的空间由具有六个面的立方体表示。如图6的右上部所示,八个空间中的各个个基于坐标系的轴(例如,X轴、Y轴和Z轴)再次划分。因此,各个空间被划分成八个更小的空间。所划分的更小的空间也由具有六个面的立方体表示。应用该分割方案,直至八叉树的叶节点变为体素。
图6的下部示出八叉树占用代码。生成八叉树的占用代码以指示通过划分一个空间而生成的八个划分的空间中的各个个是否包含至少一个点。因此,单个占用代码由八个子节点表示。各个子节点表示划分的空间的占用,并且子节点具有1比特的值。因此,占用代码被表示为8比特代码。即,当与子节点对应的空间中包含至少一个点时,节点被指派值1。当与子节点对应的空间中不包含点(空间为空)时,节点被指派值0。由于图6所示的占用代码为00100001,所以指示与八个子节点当中的第三子节点和第八子节点对应的空间各自包含至少一个点。如图所示,第三子节点和第八子节点中的各个个具有八个子节点,并且子节点由8比特占用代码表示。附图示出第三子节点的占用代码为10000111,并且第八子节点的占用代码为01001111。根据实施方式的点云编码器(例如,算术编码器40004)可对占用代码执行熵编码。为了增加压缩效率,点云编码器可对占用代码执行帧内/帧间编码。根据实施方式的接收装置(例如,接收装置10004或点云视频解码器10006)基于占用代码来重构八叉树。
根据实施方式的点云编码器(例如,图4的点云编码器或八叉树分析器40002)可执行体素化和八叉树编码以存储点位置。然而,点并不总是在3D空间中均匀分布,因此可能有存在较少点的特定区域。因此,对整个3D空间执行体素化是低效的。例如,当特定区域包含很少点时,在该特定区域中不需要执行体素化。
因此,对于上述特定区域(或八叉树的叶节点以外的节点),根据实施方式的点云编码器可跳过体素化并执行直接编码以直接对包括在特定区域中的点位置进行编码。根据实施方式的直接编码点的坐标被称为直接编码模式(DCM)。根据实施方式的点云编码器还可基于表面模型执行三联体几何编码,其要基于体素来重构特定区域(或节点)中的点位置。三联体几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云解码器可从网格表面生成点云。根据实施方式的直接编码和三联体几何编码可选择性地执行。另外,根据实施方式的直接编码和三联体几何编码可与八叉树几何编码(或八叉树编码)组合执行。
为了执行直接编码,应该启用使用直接模式以应用直接编码的选项。要应用直接编码的节点不是叶节点,在特定节点内应该存在小于阈值的点。另外,要应用直接编码的点的总数不应超过预设阈值。当满足上述条件时,根据实施方式的点云编码器(或算术编码器40004)可对点位置(或位置值)执行熵编码。
根据实施方式的点云编码器(例如,表面近似分析器40003)可确定八叉树的特定级别(小于八叉树的深度d的级别),并且可从该级别开始使用表面模型以执行三联体几何编码,以基于体素来重构节点区域中的点位置(三联体模式)。根据实施方式的点云编码器可指定要应用三联体几何编码的级别。例如,当特定级别等于八叉树的深度时,点云编码器不在三联体模式下操作。换言之,仅当指定的级别小于八叉树的深度值时,根据实施方式的点云编码器才可在三联体模式下操作。根据实施方式的指定级别的节点的3D立方区域被称为块。一个块可包括一个或更多个体素。块或体素可对应于方块。几何被表示为各个块内的表面。根据实施方式的表面可与块的各条边相交至多一次。
一个块具有12条边,因此一个块中存在至少12个交点。各个交点被称为顶点。当共享边的所有块当中存在与边相邻的至少一个占用体素时,检测沿着边存在的顶点。根据实施方式的占用体素是指包含点的体素。沿着边检测到的顶点位置是沿着共享边的所有块当中与边相邻的所有体素的边的平均位置。
一旦检测到顶点,根据实施方式的点云编码器就可对边的起点(x,y,z)、边的方向向量(Δx,Δy,Δz)和顶点位置值(边内的相对位置值)执行熵编码。当应用三联体几何编码时,根据实施方式的点云编码器(例如,几何重构器40005)可通过执行三角形重构、上采样和体素化过程来生成恢复的几何(重构的几何)。
位于块的边处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角形重构过程中,基于边的起点、边的方向向量和顶点的位置值来重构由三角形表示的表面。三角形重构过程这样执行:i)计算各个顶点的质心值,ii)从各个顶点值减去中心值,并且iii)估计通过减法获得的值的平方和。
Figure BDA0003663259830000161
估计和的最小值,并且根据具有最小值的轴执行投影过程。例如,当元素x最小时,各个顶点相对于块的中心投影在x轴上,并且投影在(y,z)平面上。当通过(y,z)平面上的投影获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并且基于θ的值对顶点进行排序。下表示出根据顶点数量创建三角形的顶点组合。顶点从1至n排序。下表示出对于4个顶点,可根据顶点组合构造两个三角形。第一个三角形可由排序的顶点当中的顶点1、2和3组成,第二个三角形可由排序的顶点当中的顶点3、4和1组成。
表2-1.从按1,…,n排序的顶点形成的三角形
n 三角形
3 (1,2,3)
4 (1,2,3),(3,4,1)
5 (1,2,3),(3,4,5),(5,1,3)
6 (1,2,3),(3,4,5),(5,6,1),(1,3,5)
7 (1,2,3),(3,4,5),(5,6,7),(7,1,3),(3,5,7)
8 (1,2,3),(3,4,5),(5,6,7),(7,8,1),(1,3,5),(5,7,1)
9 (1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,1,3),(3,5,7),(7,9,3)
10 (1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,1),(1,3,5),(5,7,9),(9,1,5)
11 (1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,1,3),(3,5,7),(7,9,11),(11,3,7)
12 (1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,12,1),(1,3,5),(5,7,9),(9,11,1),(1,5,9)
执行上采样过程以沿着三角形的边在中间添加点,并且执行体素化。所添加的点基于上采样因子和块的宽度来生成。添加的点被称为细化顶点。根据实施方式的点云编码器可将细化顶点体素化。另外,点云编码器可基于体素化的位置(或位置值)来执行属性编码。
图7示出根据实施方式的邻居节点图案的示例。
为了增加点云视频的压缩效率,根据实施方式的点云编码器可基于上下文自适应算术编码来执行熵编码。
如参照图1至图6所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或算术编码器40004)可立即对占用代码执行熵编码。另外,点云内容提供系统或点云编码器可基于当前节点的占用代码和邻近节点的占用来执行熵编码(帧内编码),或者基于先前帧的占用代码执行熵编码(帧间编码)。根据实施方式的帧表示同时生成的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可依赖于所参考的邻近节点的数量。当比特增加时,运算变得复杂,但是编码可偏向一侧,这可增加压缩效率。例如,当给出3比特上下文时,需要使用23=8种方法来执行编码。为编码划分的部分影响实现复杂度。因此,有必要满足适当级别的压缩效率和复杂度。
图7示出基于邻居节点的占用来获得占用图案的过程。根据实施方式的点云编码器确定八叉树的各个节点的邻居节点的占用并且获得邻居图案的值。邻居节点图案用于推断节点的占用图案。图7的左部示出与节点对应的立方体(位于中间的立方体)以及与该立方体共享至少一个面的六个立方体(邻居节点)。图中所示的节点是相同深度的节点。图中所示的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻近节点的位置依次指派权重。
图7的右部示出邻居节点图案值。邻居节点图案值是乘以占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点图案值为0至63。当邻居节点图案值为0时,指示节点的邻居节点当中不存在具有点的节点(无占用节点)。当邻居节点图案值为63时,指示所有邻居节点均是占用节点。如图所示,由于指派有权重1、2、4和8的邻居节点是占用节点,所以邻居节点图案值为15(1、2、4和8之和)。点云编码器可根据邻居节点图案值执行编码(例如,当邻居节点图案值为63时,可执行64种类型的编码)。根据实施方式,点云编码器可通过改变邻居节点图案值(例如,基于将64改变为10或6的表)来降低编码复杂度。
图8示出根据实施方式的各个LOD中的点配置的示例。
如参照图1至图7描述的,在执行属性编码之前将编码的几何重构(解压缩)。当应用直接编码时,几何重构操作可包括改变直接编码的点的放置(例如,将直接编码的点放置在点云数据前面)。当应用三联体几何编码时,通过三角形重构、上采样和体素化来执行几何重构过程。由于属性依赖于几何,所以基于重构的几何来执行属性编码。
点云编码器(例如,LOD生成器40009)可按LOD对点进行分类(重新组织)。图中示出与LOD对应的点云内容。图中最左侧画面表示原始点云内容。图中左起第二个画面表示最低LOD中的点分布,图中最右侧画面表示最高LOD中的点分布。即,最低LOD中的点稀疏分布,最高LOD中的点密集分布。即,随着LOD在图底部所指示的箭头所指的方向上升高,点之间的空间(或距离)变窄。
图9示出根据实施方式的用于各个LOD的点配置的示例。
如参照图1至图8所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或LOD生成器40009)可生成LOD。通过根据设定的LOD距离值(或欧几里得距离集合)将点重新组织为细化级别的集合来生成LOD。LOD生成过程不仅由点云编码器执行,而且由点云解码器执行。
图9的上部示出分布在3D空间中的点云内容的点的示例(P0至P9)。在图9中,原始顺序表示在LOD生成之前点P0至P9的顺序。在图9中,基于LOD的顺序表示根据LOD生成的点的顺序。点按LOD重新组织。另外,高LOD包含属于较低LOD的点。如图9所示,LOD0包含P0、P5、P4和P2。LOD1包含LOD0的点、P1、P6和P3。LOD2包含LOD0的点、LOD1的点、P9、P8和P7。
如参照图4所描述的,根据实施方式的点云编码器可选择性地或组合地执行预测变换编码、提升变换编码和RAHT变换编码。
根据实施方式的点云编码器可为点生成预测器以执行用于设定各个点的预测属性(或预测属性值)的预测变换编码。即,可为N个点生成N个预测器。根据实施方式的预测器可基于各个点的LOD值、关于存在于各个LOD的设定距离内的邻近点的索引信息以及到邻近点的距离来计算权重(=1/距离)。
根据实施方式的预测属性(或属性值)被设定为通过将各个点的预测器中设定的邻居点的属性(或属性值)(例如,颜色、反射率等)乘以基于到各个邻居点的距离计算的权重(或权重值)而获得的值的平均。根据实施方式的点云编码器(例如,系数量化器40011)可量化和逆量化通过从各个点的属性(属性值)减去预测属性(属性值)而获得的残差(可称为残差属性、残差属性值或属性预测残差)。量化过程如下表所示配置。
[表1]
表1.属性预测残差量化伪代码
int PCCQuantization(int value,int quantStep){
if(value>=0){
relurn floor(value/quantStep+1.0/3.0);
}else{
return-floor(-value/quantStep+1.0/3.0);
}
}
[表2]
表2.属性预测残差逆量化伪代码
int PCCInverseQuantization(int value,int quantStep){
if(quantStep==0){
return value;
}else{
return value*quantStep;
}
}
当各个点的预测器具有邻居点时,根据实施方式的点云编码器(例如,算术编码器40012)可如上所述对量化和逆量化的残差值执行熵编码。当各个点的预测器没有邻居点时,根据实施方式的点云编码器(例如,算术编码器40012)可对对应点的属性执行熵编码,而不执行上述操作。
根据实施方式的点云编码器(例如,提升变换器40010)可生成各个点的预测器,设定计算的LOD并在预测器中注册邻居点,并且根据到邻居点的距离来设定权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于,对属性值累积地应用权重。根据实施方式对属性值累积地应用权重的过程配置如下。
1)创建用于存储各个点的权重值的阵列量化权重(QW)。QW的所有元素的初始值均为1.0。将预测器中注册的邻居节点的预测器索引的QW值乘以当前点的预测器的权重,并将通过乘法获得的值相加。
2)提升预测过程:从现有属性值减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
3)创建称为updateweight和update的临时阵列,并且将临时阵列初始化为零。
4)将通过将针对所有预测器计算的权重乘以存储在与预测器索引对应的QW中的权重而计算的权重与updateweight阵列累加,作为邻居节点的索引。将通过将邻居节点索引的属性值乘以所计算的权重而获得的值与update阵列累加。
5)提升更新过程:将所有预测器的update阵列的属性值除以预测器索引的updateweight阵列的权重值,并将现有属性值与通过除法获得的值相加。
6)针对所有预测器通过将通过提升更新过程更新的属性值乘以通过提升预测过程更新的权重(存储在QW中)来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)量化预测属性值。另外,点云编码器(例如,算术编码器40012)对量化属性值执行熵编码。
根据实施方式的点云编码器(例如,RAHT变换器40008)可执行RAHT变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。RAHT变换编码是通过八叉树向后扫描进行属性帧内编码的示例。根据实施方式的点云编码器从体素开始扫描整个区域并且在各个步重复将体素合并为更大的块的合并过程,直至到达根节点。仅对占用节点执行根据实施方式的合并过程。不对空节点执行合并过程。对空节点正上方的上节点执行合并过程。
下式表示RAHT变换矩阵。在该式中,
Figure BDA0003663259830000211
表示级别l的体素的平均属性值。
Figure BDA0003663259830000212
可基于
Figure BDA0003663259830000213
Figure BDA0003663259830000214
来计算。
Figure BDA0003663259830000215
Figure BDA0003663259830000216
的权重为
Figure BDA0003663259830000217
Figure BDA0003663259830000218
Figure BDA00036632598300002115
这里,
Figure BDA0003663259830000219
是低通值并且在次高级别的合并过程中使用。
Figure BDA00036632598300002110
表示高通系数。各个步的高通系数被量化并经受熵编码(例如,由算术编码器400012编码)。权重被计算为
Figure BDA00036632598300002111
通过
Figure BDA00036632598300002112
Figure BDA00036632598300002113
创建根节点如下。
Figure BDA00036632598300002114
图10示出根据实施方式的点云解码器。
图10所示的点云解码器是图1中描述的点云视频解码器10006的示例,并且可执行与图1所示的点云视频解码器10006的操作相同或相似的操作。如图所示,点云解码器可接收包含在一个或更多个比特流中的几何比特流和属性比特流。点云解码器包括几何解码器和属性解码器。几何解码器对几何比特流执行几何解码并输出解码的几何。属性解码器基于解码的几何和属性比特流执行属性解码,并且输出解码的属性。解码的几何和解码的属性用于重构点云内容(解码的点云)。
图11示出根据实施方式的点云解码器。
图11所示的点云解码器是图10所示的点云解码器的示例,并且可执行解码操作,其是图1至图9所示的点云编码器的编码操作的逆过程。
如参照图1和图10所描述的,点云解码器可执行几何解码和属性解码。几何解码在属性解码之前执行。
根据实施方式的点云解码器包括算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001、表面近似合成器(合成表面近似)11002和几何重构器(重构几何)11003、坐标逆变换器(逆变换坐标)11004、算术解码器(算术解码)11005、逆量化器(逆量化)11006、RAHT变换器11007、LOD生成器(生成LOD)11008、逆提升器(逆提升)11009和/或颜色逆变换器(逆变换颜色)11010。
算术解码器11000、八叉树合成器11001、表面近似合成器11002、几何重构器11003和坐标逆变换器11004可执行几何解码。根据实施方式的几何解码可包括直接编码和三联体几何解码。直接编码和三联体几何解码选择性地应用。几何解码不限于上述示例,并且作为参照图1至图9描述的几何编码的逆过程执行。
根据实施方式的算术解码器11000基于算术编码将所接收的几何比特流解码。算术解码器11000的操作对应于算术编码器40004的逆过程。
根据实施方式的八叉树合成器11001可通过从解码的几何比特流获取占用代码(或关于作为解码结果取得的几何的信息)来生成八叉树。占用代码如参照图1至图9详细描述那样配置。
当应用三联体几何编码时,根据实施方式的表面近似合成器11002可基于解码的几何和/或生成的八叉树来合成表面。
根据实施方式的几何重构器11003可基于表面和/或解码的几何重新生成几何。如参照图1至图9所描述的,选择性地应用直接编码和三联体几何编码。因此,几何重构器11003直接导入关于应用了直接编码的点的位置信息并将其相加。当应用三联体几何编码时,几何重构器11003可通过执行几何重构器40005的重构操作(例如,三角形重构、上采样和体素化)来重构几何。细节与参照图6描述的那些相同,因此省略其描述。重构的几何可包括不包含属性的点云画面或帧。
根据实施方式的坐标逆变换器11004可通过基于重构的几何变换坐标来获取点位置。
算术解码器11005、逆量化器11006、RAHT变换器11007、LOD生成器11008、逆提升器11009和/或颜色逆变换器11010可执行参照图10描述的属性解码。根据实施方式的属性解码包括区域自适应分层变换(RAHT)解码、基于插值的分层最近邻居预测(预测变换)解码以及具有更新/提升步骤的基于插值的分层最近邻居预测(提升变换)解码。上述三个解码方案可选择性地使用,或者可使用一个或更多个解码方案的组合。根据实施方式的属性解码不限于上述示例。
根据实施方式的算术解码器11005通过算术编码对属性比特流进行解码。
根据实施方式的逆量化器11006逆量化关于解码的属性比特流或作为解码结果取得的属性的信息,并且输出逆量化的属性(或属性值)。可基于点云编码器的属性编码选择性地应用逆量化。
根据实施方式,RAHT变换器11007、LOD生成器11008和/或逆提升器11009可处理重构的几何和逆量化的属性。如上所述,RAHT变换器11007、LOD生成器11008和/或逆提升器11009可选择性地执行与点云编码器的编码对应的解码操作。
根据实施方式的颜色逆变换器11010执行逆变换编码以逆变换包括在解码的属性中的颜色值(或纹理)。可基于点云编码器的颜色变换器40006的操作选择性地执行颜色逆变换器11010的操作。
尽管图中未示出,图11的点云解码器的元件可由包括被配置成与包括在点云提供装置中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可执行上述图11的点云解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可操作或执行用于执行图11的点云解码器的元件的操作和/或功能的软件程序和/或指令集合。
图12示出根据实施方式的发送装置。
图12所示的发送装置是图1的发送装置10000(或图4的点云编码器)的示例。图12所示的发送装置可执行与参照图1至图9描述的点云编码器的那些相同或相似的一个或更多个操作和方法。根据实施方式的发送装置可包括数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用代码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010、算术编码器12011和/或传输处理器12012。
根据实施方式的数据输入单元12000接收或获取点云数据。数据输入单元12000可执行与点云视频获取器10001的操作和/或获取方法(或参照图2描述的获取过程20000)相同或相似的操作和/或获取方法。
数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用代码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006执行几何编码。根据实施方式的几何编码与参照图1至图9描述的几何编码相同或相似,因此省略其详细描述。
根据实施方式的量化处理器12001量化几何(例如,点的位置值)。量化处理器12001的操作和/或量化与参照图4描述的量化器40001的操作和/或量化相同或相似。细节与参照图1至图9描述的那些相同。
根据实施方式的体素化处理器12002将点的量化的位置值体素化。体素化处理器120002可执行与参照图4描述的量化器40001的操作和/或体素化过程相同或相似的操作和/或过程。细节与参照图1至图9描述的那些相同。
根据实施方式的八叉树占用代码生成器12003基于八叉树结构对点的体素化的位置执行八叉树编码。八叉树占用代码生成器12003可生成占用代码。八叉树占用代码生成器12003可执行与参照图4和图6描述的点云编码器(或八叉树分析器40002)的操作和/或方法相同或相似的操作和/或方法。细节与参照图1至图9描述的那些相同。
根据实施方式的表面模型处理器12004可基于表面模型执行三联体几何编码以基于体素重构特定区域(或节点)中的点位置。表面模型处理器12004可执行与参照图4描述的点云编码器(例如,表面近似分析器40003)的操作和/或方法相同或相似的操作和/或方法。细节与参照图1至图9描述的那些相同。
根据实施方式的帧内/帧间编码处理器12005可对点云数据执行帧内/帧间编码。帧内/帧间编码处理器12005可执行与参照图7描述的帧内/帧间编码相同或相似的编码。细节与参照图7描述的那些相同。根据实施方式,帧内/帧间编码处理器12005可包括在算术编码器12006中。
根据实施方式的算术编码器12006对点云数据的八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。算术编码器12006执行与算术编码器40004的操作和/或方法相同或相似的操作和/或方法。
根据实施方式的元数据处理器12007处理关于点云数据的元数据(例如,设定值),并将其提供给诸如几何编码和/或属性编码的必要处理过程。另外,根据实施方式的元数据处理器12007可生成和/或处理与几何编码和/或属性编码有关的信令信息。根据实施方式的信令信息可与几何编码和/或属性编码分开编码。根据实施方式的信令信息可被交织。
颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参照图1至图9描述的属性编码相同或相似,因此省略其详细描述。
根据实施方式的颜色变换处理器12008执行颜色变换编码以变换包括在属性中的颜色值。颜色变换处理器12008可基于重构的几何来执行颜色变换编码。重构的几何与参照图1至图9描述的相同。另外,其执行与参照图4描述的颜色变换器40006的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。
根据实施方式的属性变换处理器12009执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。属性变换处理器12009执行与参照图4描述的属性变换器40007的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。根据实施方式的预测/提升/RAHT变换处理器12010可通过RAHT编码、预测变换编码和提升变换编码中的任一种或组合对变换的属性进行编码。预测/提升/RAHT变换处理器12010执行与参照图4描述的RAHT变换器40008、LOD生成器40009和提升变换器40010的操作相同或相似的至少一个操作。另外,预测变换编码、提升变换编码和RAHT变换编码与参照图1至图9描述的那些相同,因此省略其详细描述。
根据实施方式的算术编码器12011可基于算术编码对编码的属性进行编码。算术编码器12011执行与算术编码器400012的操作和/或方法相同或相似的操作和/或方法。
根据实施方式的传输处理器12012可发送包含编码的几何和/或编码的属性和元数据信息的各个比特流,或者发送配置有编码的几何和/或编码的属性和元数据信息的一个比特流。当根据实施方式的编码的几何和/或编码的属性和元数据信息被配置成一个比特流时,比特流可包括一个或更多个子比特流。根据实施方式的比特流可包含信令信息和切片数据,信令信息包括用于序列级别信令的序列参数集(SPS)、用于几何信息编码信令的几何参数集(GPS)、用于属性信息编码信令的属性参数集(APS)和用于拼块级别信令的拼块参数集(TPS)。切片数据可包括关于一个或更多个切片的信息。根据实施方式的一个切片可包括一个几何比特流Geom00以及一个或更多个属性比特流Attr00和Attr10。
切片是指表示全部或部分编码点云帧的一系列句法元素。
根据实施方式的TPS可包括关于一个或更多个拼块中的各个拼块的信息(例如,关于边界框的坐标信息和高度/大小信息)。几何比特流可包含头和有效载荷。根据实施方式的几何比特流的头可包含GPS中所包括的参数集标识符(geom_parameter_set_id)、拼块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于包含在有效载荷中的数据的信息。如上所述,根据实施方式的元数据处理器12007可生成和/或处理信令信息并将其发送到传输处理器12012。根据实施方式,执行几何编码的元件和执行属性编码的元件可如虚线所指示彼此共享数据/信息。根据实施方式的传输处理器12012可执行与发送器10003的操作和/或发送方法相同或相似的操作和/或发送方法。细节与参照图1和图2描述的那些相同,因此省略其描述。
图13示出根据实施方式的接收装置。
图13所示的接收装置是图1的接收装置10004(或图10和图11的点云解码器)的示例。图13所示的接收装置可执行与参照图1至图11描述的点云解码器的那些相同或相似的一个或更多个操作和方法。
根据实施方式的接收装置包括接收器13000、接收处理器13001、算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体素化)13004、逆量化处理器13005、元数据解析器13006、算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施方式的各个解码元件可执行根据实施方式的对应编码元件的操作的逆过程。
根据实施方式的接收器13000接收点云数据。接收器13000可执行与图1的接收器10005的操作和/或接收方法相同或相似的操作和/或接收方法。省略其详细描述。
根据实施方式的接收处理器13001可从所接收的数据获取几何比特流和/或属性比特流。接收处理器13001可包括在接收器13000中。
算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器13004和逆量化处理器13005可执行几何解码。根据实施方式的几何解码与参照图1至图10描述的几何解码相同或相似,因此省略其详细描述。
根据实施方式的算术解码器13002可基于算术编码对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编码相同或相似的操作和/或编码。
根据实施方式的基于占用代码的八叉树重构处理器13003可通过从解码的几何比特流(或关于作为解码结果取得的几何的信息)获取占用代码来重构八叉树。基于占用代码的八叉树重构处理器13003执行与八叉树的合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用三联体几何编码时,根据实施方式的表面模型处理器13004可基于表面模型方法来执行三联体几何解码和相关几何重构(例如,三角形重构、上采样、体素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何重构器11003的操作相同或相似的操作。
根据实施方式的逆量化处理器13005可逆量化解码的几何。
根据实施方式的元数据解析器13006可解析包含在所接收的点云数据中的元数据(例如,设定值)。元数据解析器13006可将元数据传递给几何解码和/或属性解码。元数据与参照图12描述的元数据相同,因此省略其详细描述。
算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参照图1至图10描述的属性解码相同或相似,因此省略其详细描述。
根据实施方式的算术解码器13007可通过算术编码对属性比特流进行解码。算术解码器13007可基于重构的几何对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或编码相同或相似的操作和/或编码。
根据实施方式的逆量化处理器13008可逆量化解码的属性比特流。逆量化处理器13008执行与逆量化器11006的操作和/或逆量化方法相同或相似的操作和/或方法。
根据实施方式的预测/提升/RAHT逆变换器13009可处理重构的几何和逆量化的属性。预测/提升/RAHT逆变换处理器13009执行与RAHT变换器11007、LOD生成器11008和/或逆提升器11009的操作和/或解码相同或相似的一个或更多个操作和/或解码。根据实施方式的颜色逆变换处理器13010执行逆变换编码以逆变换包括在解码的属性中的颜色值(或纹理)。颜色逆变换处理器13010执行与颜色逆变换器11010的操作和/或逆变换编码相同或相似的操作和/或逆变换编码。根据实施方式的渲染器13011可渲染点云数据。
图14示出根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构。
图14的结构表示服务器1460、机器人1410、自驾驶车辆1420、XR装置1430、智能电话1440、家用电器1450和/或头戴式显示器(HMD)1470中的至少一个连接到云网络1400的配置。机器人1410、自驾驶车辆1420、XR装置1430、智能电话1440或家用电器1450被称为装置。此外,XR装置1430可对应于根据实施方式的点云数据(PCC)装置或者可操作上连接到PCC装置。
云网络1400可表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络1400可使用3G网络、4G或长期演进(LTE)网络或5G网络来配置。
服务器1460可经由云网络1400连接到机器人1410、自驾驶车辆1420、XR装置1430、智能电话1440、家用电器1450和/或HMD 1470中的至少一个,并且可辅助连接的装置1410至1470的至少一部分处理。
HMD 1470表示根据实施方式的XR装置和/或PCC装置的实现类型之一。根据实施方式的HMD型装置包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
以下,将描述应用了上述技术的装置1410至1450的各种实施方式。图14所示的装置1410至1450可操作上连接/联接到根据上述实施方式的点云数据发送和接收装置。
<PCC+XR>
XR/PCC装置1430可采用PCC技术和/或XR(AR+VR)技术,并且可被实现为HMD、设置在车辆中的平视显示器(HUD)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。
XR/PCC装置1430可分析通过各种传感器或从外部装置获取的3D点云数据或图像数据并生成关于3D点的位置数据和属性数据。由此,XR/PCC装置1430可获取关于周围空间或真实对象的信息,并且渲染和输出XR对象。例如,XR/PCC装置1430可使包括关于所识别的对象的辅助信息的XR对象与所识别的对象匹配并输出匹配的XR对象。
<PCC+XR+移动电话>
XR/PCC装置1430可以通过应用PCC技术实现为移动电话1440。
移动电话1440可以基于PCC技术解码和显示点云内容。
<PCC+自驾驶+XR>
自驾驶车辆1420可通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用了XR/PCC技术的自驾驶车辆1420可表示设置有用于提供XR图像的手段的自驾驶车辆,或者作为XR图像中的控制/交互目标的自驾驶车辆。具体地,作为XR图像中的控制/交互目标,自驾驶车辆1420可与XR装置1430相区分并且可操作上与之连接。
具有用于提供XR/PCC图像的手段的自驾驶车辆1420可从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的XR/PCC图像。例如,自驾驶车辆1420可具有HUD并向其输出XR/PCC图像,从而向乘客提供与真实对象或呈现在画面上的对象对应的XR/PCC对象。
当XR/PCC对象被输出到HUD时,可输出XR/PCC对象的至少一部分以与乘客的眼睛所指向的真实对象交叠。另一方面,当XR/PCC对象输出在设置在自驾驶车辆内的显示器上时,可输出XR/PCC对象的至少一部分以与画面上的对象交叠。例如,自驾驶车辆1220可输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的XR/PCC对象。
根据实施方式的虚拟现实(VR)技术、增强现实(AR)技术、混合现实(MR)技术和/或点云压缩(PCC)技术适用于各种装置。
换言之,VR技术是仅提供真实世界对象、背景等的CG图像的显示技术。另一方面,AR技术是指在真实对象的图像上显示虚拟创建的CG图像的技术。MR技术与上述AR技术的相似之处在于,要显示的虚拟对象与真实世界混合和组合。然而,MR技术与AR技术的不同之处在于,AR技术在真实对象和作为CG图像创建的虚拟对象之间明确区分并且使用虚拟对象作为真实对象的补充对象,而MR技术将虚拟对象当作具有与真实对象等同的特性的对象。更具体地,MR技术应用的示例是全息服务。
最近,VR、AR和MR技术通常被称为扩展显示(XR)技术,而非彼此明确区分。因此,本公开的实施方式适用于VR、AR、MR和XR技术中的任一种。基于PCC、V-PCC和G-PCC技术的编码/解码适用于这种技术。
根据实施方式的PCC方法/装置可被应用于提供自驾驶服务的车辆。
提供自驾驶服务的车辆连接到PCC装置以进行有线/无线通信。
当根据实施方式的点云数据(PCC)发送/接收装置连接到车辆以进行有线/无线通信时,装置可接收/处理与AR/VR/PCC服务(可与自驾驶服务一起提供)有关的内容数据,并将其发送到车辆。在PCC发送/接收装置安装在车辆上的情况下,PCC发送/接收装置可根据通过用户接口装置输入的用户输入信号接收/处理与AR/VR/PCC服务有关的内容数据并将其提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可包括指示自驾驶服务的信号。
图15示出了根据实施方式的点云编码器。
根据实施方式的点云编码器15000接收点云数据(PCC数据)15000a并对其进行编码。根据实施方式的点云编码器输出几何信息比特流15000b和属性信息比特流15000c。根据实施方式的点云编码器15000可以包括空间分割器15001、几何信息编码器15002和/或属性信息编码器15003。
图15的点云编码器可对应于图1的发送装置1000、图1的点云视频编码器10002、图2的编码18001、图4的编码器、图12的发送装置和图14的XR装置1430或其组合。
点云编码器的空间分割器15001可接收点云数据(PCC数据)15000a,并将点云数据分割成一个或更多个3D空间。空间分割器15001可接收点云数据并将点云数据空间分割成3D块。点云数据可以包含关于点(或多个点)的几何信息和/或属性信息。空间分割器15001可基于边界框和/或子边界框在空间上分割点云数据(PCC数据)。根据实施方式的方法/装置可基于分割的单元(框)来执行编码/解码。
根据实施方式的发送装置(例如,空间分割器)可以将3D空间中的点云数据分割为可被并行处理以压缩点云数据的多个单元。根据实施方式的空间分割器15001可将点云数据分割多个成切片,使得接收装置能够支持用户的可缩放性和/或感兴趣区域(ROI)功能。
根据实施方式的发送装置可将根据实施方式的点云数据分割为切片(可称为方块)或拼块,以实现接收装置的低等待时间、低复杂度、时间可缩放性、空间可缩放性、基于ROI的空间可缩放性、质量可缩放性、并行编码和并行解码。因此,根据实施方式的发送装置需要以切片为单位执行支持可伸缩性调整和量子值调整的操作。因此,根据实施方式的点云数据发送装置可以配置重叠切片,使得包括切片之间的重叠区域。下面将详细描述根据实施方式的点云数据发送装置将点云数据分割为一个或更多个切片(或重叠切片)的方法。
切片可以表示用于由根据实施方式的点云数据发送装置对点云数据进行编码和/或解码的单元(或最小单元),并且点云数据发送装置和/或接收装置可以逐切片地独立地对点云数据进行编码和/或解码。根据实施方式的切片也可以被称为方块、块或宏块。
空间分割器15001可以执行图1的点云获取10001、图2的获取18000、图3到图5的操作和图12的数据输入单元12000的操作中的一些/全部。
几何信息编码器15002接收根据实施方式的点云数据(PCC数据)的几何信息并对其进行编码。几何信息可以表示关于包括在点云数据中的点的位置信息。几何信息编码器15002对几何信息编码并输出几何信息比特流。几何信息编码器15002可以重构关于点的位置信息,并输出重构的几何信息15002a。几何信息编码器15002可以将重构的几何信息发送到属性信息编码器15002。
几何信息编码器15002可以执行图1的点云视频编码器10002、图2的编码18002、图4的坐标变换器40000、量化器30001和八叉树分析器30002、表面近似分析器30003、算术编码器30004、几何重构器30005、图12的量化处理器12001、图12的体素化处理器12002、图12的八叉树占用码生成器12003、图12的表面模型处理器12004、图12的帧内/帧间编码处理器12005和/或图12的算术编码器12006的一些/全部操作。
属性信息编码器15003可接收根据实施方式的点云数据的属性信息,并基于从几何信息编码器15002接收的重构的几何信息对属性信息进行编码。属性信息编码器15003对属性信息进行编码,并输出属性信息比特流15000c。属性信息编码器15003可以根据实施方式执行例如预测变换、提升变换和/或区域自适应分层变换(RAHT)。属性信息编码器15003可以执行例如预测提升变换。预测提升变换可以表示根据实施方式的预测变换和/或提升变换的详细操作中的一些或全部的组合。
根据实施方式的点云编码器可以执行根据实施方式的预测变换、提升变换和/或RAHT中的一些、全部和/或组合。
属性信息编码器15003可执行图1的点云视频编码器10002、图2的编码20001、图4的颜色变换器30006、属性变换器30007、RATH变换器30008、LOD生成器30009、提升变换器30010、系数量化器30011和/或算术编码器40012、图12的颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010和算术编码器12011的所有/一些操作。
这里,重构的几何信息15002c可以表示由参照图4描述的几何重构器(重构几何)40005重构的八叉树和/或近似的八叉树。重构的几何信息可以表示参照图6描述的占用码或表示八叉树结构。重构的几何信息可以表示由参照图12描述的八叉树占用码生成器12003生成的八叉树占用码。
属性信息编码器15003可根据实施方式对点云数据的属性信息进行编码。这里,根据实施方式的编码器15003可基于根据实施方式的重构的几何信息对属性信息进行编码。属性信息编码器15003可以通过对接收到的数据进行编码来生成包含属性信息的比特流。
根据实施方式的属性信息编码器15003可包括图4的颜色变换器30006、属性变换器30007、RAHT变换器40008、LOD生成器30009、提升变换器30010和系数量化器30011、和/或算术编码器30012。
根据实施方式的点云数据可以根据数据的特性被分类为类别1和类别3。类别1数据可以是静态数据并且由一个帧组成。类别3数据可以是动态数据并且由N个帧组成。点云数据文件格式的层文件可以根据数据获取方法由多个点组成。
根据实施方式的点可包括属性信息,该属性信息包括关于该点的位置信息(几何信息)、颜色信息、反射率信息、时间信息和法向量信息。根据实施方式的点可以包括依赖于要呈现的状况的各种信息。由点组成的类别1数据和类别3数据可以包括包含大量点的帧。然而,当根据实施方式的点云数据发送装置接收包括点的帧并对其编码时,可能导致等待时间和不必要的资源使用。
因此,可以实时地执行根据实施方式的点云数据发送装置的点云数据发送和编码的操作、接收装置的解码操作以及接收装置的渲染处理的操作,并且可以将点云数据分割为多个区域从而以低等待时间进行处理。根据实施方式的点云数据发送装置可以将点云数据的帧分割为拼块、切片和/或方块。
因此,根据实施方式的点云数据发送装置可以根据用于提高3D点云数据的并行处理能力和可扩展性的独立分割方法来分割点云数据。独立数据分割可以包括用于支持空间上彼此接近的点的再分割的空间自适应分割方法。
根据实施方式,点云数据可以根据例如数据的特性被划分为类别1和类别3。例如,类别1的数据可以是静态点云,并且可以由一个帧组成。例如,类别3的数据可以指动态数据(动态获取的点云数据),并且可以由N个帧组成。
根据实施方式的帧可包括根据实施方式的拼块和/或切片。根据实施方式的拼块和/或切片可以包括一个或更多个点。一个点可以由位置信息、颜色信息、反射率信息、时间信息和正常的大的地形图(融合)数据组成。根据实施方式,作为点云数据的文件格式的层文件可以包含根据要表达的状况的各种信息,诸如关于数据的法向量信息。
由这些点组成的类别1和类别3的数据可以在一个帧中配置大量的点。需要大量的时间和资源来对一段数据编码/解码。例如,类别3融合的数据(其为大的点云)被压缩为一段数据,因此需要大量存储器来处理。因此,在编码过程中可能消耗大量资源和时间。此外,其中要处理编码/解码的一个事件的单元可能变大,事件诸如计算相邻节点和生成一帧中的细节级别(Lod)。
因此,根据实施方式的点云数据发送/接收装置可将点云数据分割为一个或更多个拼块(tile)和/或切片(slice),并基于其并行地对点云数据编码/解码。为了实时且以低等待时间执行点云的发送、编码/解码和渲染,发送装置和/或接收装置可将一个点云帧划分为拼块、切片或方块的单元。这种配置使得发送装置和/或接收装置能够执行空间随机访问和并行编码/解码。因此,根据实施方式的点云数据发送装置(或空间分割器15001)可以在编码和/或压缩点云数据之前分割3D点云数据,以支持并行处理和空间随机访问的功能。
根据实施方式的切片是可以由点云数据发送装置独立编码或者由点云数据接收装置解码的一组点。切片包括一个几何数据单元和零个或多个属性数据单元。属性数据单元依赖于同一切片内的相应几何数据单元。在切片内,几何数据单元可以出现在任何相关联的属性单元之前。切片的数据单元可以是连续的。可以任意确定帧内的片的顺序。
一组切片可由共同拼块标识符识别。因此,根据实施方式的点云数据发送装置可以进一步发送包括拼块清单(或拼块参数集)的信令信息。拼块清单描述各个拼块的边界框。拼块可与边界框中的另一拼块重叠。各个切片可包括用于识别包括该切片的拼块的索引。
根据实施方式的点云数据发送装置可以分割点云数据并独立地编码各个分割的点云数据。由此,可以在点云数据所占据的三维空间中执行随机访问(随机访问)和并行编码。因此,根据实施方式的点云数据接收装置可以快速地对这种点云数据解码。
图16示出了根据实施方式的点云数据发送装置。
根据图16所示的实施方式的点云数据发送装置包括图1的点云视频采集10001、图1的点云视频编码器10002、图2的采集单元18000和图2的编码单元18001中的一些或全部。根据图16所示的实施方式的组件可被包括在图15的空间分割器15001、几何信息编码器15002和/或属性信息编码器15003的一些或全部中。
根据图16所示的实施方式的点云数据发送装置可以与图14的XR装置1430等组合。
根据实施方式的点云数据发送装置可以包括数据特性检查器16000、分割器和细化器16001、分割数据输入单元16002、坐标变换器16003、量化/体素化处理器16004、八叉树占用码生成器16005、表面模型处理器16006、第一算术编码器16007、几何重构器16008、颜色变换处理器16009、属性变换处理器16010、预测/提升/RAHT变换处理器16011、系数量化处理器16012和/或第二算术编码器16013。
数据特性检查器16000根据实施方式检查点云数据的特性。数据特性检查器16000可以执行图1的点云视频获取10001的操作或图3所示的操作。
根据实施方式,分割器和/或细化器16001分割和/或细化点云数据。分割器和/或细化器16001可包括分割器和/或细化器。
根据实施方式的分割器可将点云数据分割成一个或更多个拼块。根据实施方式的分割器可将点云数据分割为一个或更多个切片(可称为方块或块)。
例如,分割器可将点云数据分割为一个或更多个拼块,并且可以将各个拼块分割为一个或更多个切片。切片可以包括点云数据的点。
根据实施方式的细化器细化通过分割点云数据而产生的一个或更多个切片(或拼块)。细化是指通过合并一个或更多个切片来创建合并的切片,拆分切片以产生多个切片或将切片重新分配到相邻切片。
合并指的是生成包括包含两个或更多切片中的所有点的一个切片的操作。
拆分是指对切片进行再分割,使得包括在切片中的点被包括在两个或更多个切片中,或者对包括在切片中的点进行再分布,使得这些点被划分到切片和相邻切片中。
分割器和/或细化器16001可包括在图15所示的空间分割器15001中。
数据输入单元16002接收由根据实施方式的分割器和/或细化器16001生成的切片。根据实施方式,数据输入单元16002将接收到的切片传送到编码器(例如,几何编码器和/或属性编码器)。例如,根据实施方式的数据输入单元16002将关于包括在各个切片中的点的位置信息(位置值)发送到根据实施方式的坐标变换器16003。例如,根据实施方式的数据输入单元16002将关于包括在各个切片中的点的属性信息(位置值)发送到根据实施方式的颜色变换处理器16009。
为了使点云数据发送装置独立地对各个切片进行编码,根据实施方式的数据输入单元16002可在逐切片接收点云数据,并在逐切片将点云数据传送到根据实施方式的编码器。
数据输入单元16002可以包括在图15所示的空间分割器15001中。
坐标变换器16003可根据实施方式接收关于点的位置信息(点的位置值)并变换其坐标。坐标变换器16003可执行图1的点云视频编码器10002的操作、图2的编码18001、图4的坐标变换器30000的操作或图5的操作。
量化/体素化处理器16004对根据实施方式的点云数据进行量化和/或体素化。量化/体素化处理器16004可以执行图1的点云视频编码器10002的操作、图2的编码18001的操作、图4的量化和体素化单元30001的操作、图5的操作或图6的操作。
八叉树占用码生成器16005基于量化的和/或体素化的点云数据生成八叉树占用码。量化/体素化处理器16004可以执行图1的点云视频编码器10002的操作、图2的编码18001的操作、图4的八叉树分析单元30002的操作、图6的操作或图7的操作。
表面模型处理器16006可以执行图4的表面模型处理器30003的操作或图12的表面模型处理器12004的操作。
第一算术编码器16007对根据实施方式的八叉树占用码进行算术编码。第一算术编码器16007可执行图4的算术编码单元30004的操作。
几何重建器16008使用由八叉树占用码生成器16005生成的八叉树占用码和/或由表面模型处理器16006通过表面模型处理获得的八叉树占用码来重建几何信息。几何重建器16008执行图4的几何重建单元30005的操作。
颜色变换处理器16009执行颜色变换编码以变换包括在属性中的颜色值(或纹理)。颜色变换处理器16009可以表示图4中描述的颜色变换单元30006。
属性变换处理器16010基于未执行几何编码的位置和/或重构的几何来执行属性变换以变换属性。属性变换处理器16010可以表示图4中描述的属性变换单元30007。
预测/提升/RAHT变换处理器16011可以表示图4的RAHT变换单元30008、LOD生成单元30009和/或提升变换单元40010。
系数量化处理器16012可表示图4的系数量化单元40011。
第二算术编码器16013可以表示图4的算术编码器40012和图12的算术编码器12011。
根据实施方式的点云数据发送装置还可以包括组合器,其被配置成组合编码的几何比特流和编码的属性比特流。
图17示出了根据实施方式的点云数据发送装置。
图17所示的元件可以表示例如图15的空间分割器15001、图16的数据特性检查器16000、以及图16的分割器和/或细化器16001。图17所示的元件可以是图1的点云视频采集10001和/或点云视频编码器10002。图17所示的元件可以是图2的获取单元18000和/或编码单元18001以及图12的数据输入单元12000。
根据图17所示实施方式的点云数据发送装置可与图14的XR装置1430等组合。
根据实施方式的点云数据发送装置17000(例如,空间分割器15001)可以包括分割器17001和细化器17002。
根据实施方式的分割器17001接收点云数据并对其进行预处理和/或分割。例如,分割器将帧分割成一个或更多个拼块和/或切片。根据实施方式的分割器17001可根据各种分割方法来分割点云数据。因此,根据实施方式,分割器17001可包括分割方法标识符17001a。
根据实施方式的分割方法识别器17001a可以基于点云数据的特性来确定分割方法。根据实施方式的分割方法可以是时间戳分割、莫顿顺序分割、均匀方分割和八叉树分割中的一种。
根据实施方式的分割器17001(或分割方法标识符17001a)可生成指示根据实施方式的分割器分割点云数据的分割方法的信令信息(例如,参数partitioning_method,稍后将描述)。根据实施方式的发送装置(或分割器)可以基于上述分割方法中的一种来分割点云数据,或者可以基于多种分割方法来分割点云数据。
根据实施方式的分割器17001可以执行图16的数据特性检查器16000和基于数据特性的分割器和细化器16001的一些或全部操作。根据实施方式的分割器17001可以执行图15的空间分割器15001的一些或全部操作。根据实施方式的分割器17001可被包括在图1的点云视频编码器10002和图2的编码18001中。
根据实施方式的细化器17002合并或拆分由根据实施方式的分割器产生的切片中的一些。细化器根据特定标准(一个切片中的点数、空间的体积和点的密度)细化已经由分割器分割的切片。
合并是将由分割器17001的分割操作产生的切片中的一些合并为一个切片。例如,当合并切片中的第一切片和第二切片时,细化器17002产生包括包含第一切片和第二切片中的所有点的一个切片。
拆分是将分割器17001生成的切片中的一些拆分成多个切片,或者将一个切片中包括的点分配给相邻切片(或者重置切片边界)。例如,拆分第一切片可以意味着细分包括在第一切片中的点,使得例如第二切片、第三切片等包括这些点。例如,拆分第一切片可以意味着重置第一切片与第二切片之间的边界,使得包括在第一切片中的点被划分到第一切片和与第一切片相邻的第二切片。
根据实施方式的细化器17002可包括被配置成执行根据实施方式的合并操作的合并单元17002a和被配置成执行拆分操作的拆分器17002b。
当切片中包括的点的数目小于最小点数时,根据实施方式的细化器17002(或合并器17002a)可将切片与另一切片合并。最小点数可以由系统预设或由用户设置。
当切片中包括的点的数目大于最大点数时,根据实施方式的细化器17002(或合并器17002a)可以拆分切片。最大点数可以由系统预设或由用户设置。
根据实施方式,细化器17002根据实施方式的边界框内的空间中的切片的索引来执行一维搜索、二维搜索、三维搜索等。
根据实施方式的分割方法可以由发送装置通过信令信息来发送,以发送几何比特流和属性比特流。根据实施方式的发送装置还可以包括组合器,其被配置成组合编码的几何比特流和编码后的属性比特流。在这种情况下,组合器可确定几何比特流和属性比特流将被组合的顺序,并可通过信令信息发送指示该顺序的信息。
细化器17002可基于用于细化的数据结构执行根据实施方式的细化操作(例如,合并单元17002的合并操作和/或拆分器17002b的拆分操作)。用于细化的数据结构包括被配置成指示由分割器17001分割的切片之间的相邻的数据结构。
用于细化的数据结构可以是例如列表类型(1D阵列、1D链表、2D阵列、2D链表等)或树类型(二叉树、k-一树、b-树等)的数据结构。
例如,细化器可以确定是使用采用列表类型数据结构的列表细化方法还是使用采用树类型数据结构的树细化方法。列表细化方法可以在列表中用信号通知属于拆分切片的点的数目的升序(list_point_num_upsis_order)或降序(list_point_num_ordering_order)。
用于根据实施方式的细化器的细化操作的细化方法可包括基于距离的细化方法和2向/4向/6向细化方法。基于距离的细化方法可具有(例如)最小点之间的距离(minPoint_distance)、最大点之间的距离(maxPoint_distance)和中点之间的距离(midpoint_distance)作为细化标准。2向/4向/6向细化可以例如以点数的升序(MinPointNum_order)、点数的降序(MaxPointNum_order)或用户定义的顺序(left_right_bottom_top_order)合并与特定切片相邻的n个切片。
将参照图18到图21和图24到图25详细描述由根据实施方式的分割器17001执行的分割方法的示例。
将参照图22、图23、图26和图27描述根据实施方式的细化器17002的操作的示例。
因此,根据实施方式的点云数据发送/接收装置可将点云数据分割为一个或更多个拼块(tile)和/或切片(slice),并基于其并行地对点云数据编码/解码。这种配置使得发送装置和/或接收装置能够执行空间随机访问和并行编码/解码。
图18示出了根据实施方式由点云数据发送装置分割点云数据的示例。
具体地,图18示出了将携带点云数据的一个帧内的点云数据分割成多个切片。即,图18示出点云数据18001和用于分割点云数据18001的多个切片18002。图18所示的操作可由图17的分割器17001、图16的数据特性检查器16000、基于数据特性的分割器和细化器16001的部分或全部或图15的空间分割器15001来执行。
图18所示的操作中的一些或全部可由图14的XR装置1430等组合并执行。
根据实施方式的点云数据18001表示参照图1至图16描述的点云数据,并且可以表示一个类别1数据和/或类别3数据。图18所示的点云数据可以是例如类别3数据。
多个切片18002可以表示参照图15到图17描述的切片(或方块)。切片可包含多个点。
根据实施方式的点云数据发送装置如图18所示可将点云数据分割为多个切片。然而,当点云数据被分割成切片时,编码/解码效率会根据片的大小和切片的密度而降低。
例如,图18中由18002a表示的切片包括多个点,因此这些点的密度高。当图18的18002a的点云数据被独立编码时,可能需要大量的存储器资源和高处理操作。作为另一示例,图18中由18002b指示的切片具有少量的点,因此其编码效率可能降低。当图18的18002b的点云数据被独立编码时,可能发生不必要的延迟。
例如,如果发送装置仅相等地或根据特定标准分割切片,则发送装置应对18001中存在的所有部分进行编码,并且接收装置应解码所有部分,即使当使用根据实施方式的接收装置的人查看的是部分18002b时。这可能在发送装置和/或接收装置中引起不必要的延迟。
因此,发送装置可以通过参照图15到图17描述的拆分操作将切片18002a拆分成多个切片。此外,发送装置可以通过参照图15到图17描述的合并操作将切片18002b与其它切片合并。此外,根据实施方式的发送装置可以通过基于图19至图21、图24和图25的分割方法执行分割来有效地改善编码性能。分割方法包括诸如时间戳分割、莫顿顺序分割、均匀方分割和八叉树分割的方法。
因此,根据实施方式的点云数据发送/接收装置可将点云数据分割为一个或更多个拼块(tile)和/或切片(slice),并基于其并行地编码/解码点云数据。这种配置使得发送装置和/或接收装置能够执行空间随机访问和并行编码/解码。
图19示出了根据实施方式的分割点云数据的方法的实施方式。
图19示出了用于图18所示的分割操作的方法的实施方式。图19的操作可以由图17的分割器17001、图16的数据特性检查器16000、图16的基于数据特性的分割器和细化器16001或图15的空间分割器15001来执行。
图19所示的操作中的一些或全部可由图14的XR装置1430等组合并执行。
图19示出了根据实施方式的时间戳分割。图19的操作表示基于点云数据的属性中的时间属性的分割。根据实施方式的点云数据的时间属性是可由根据实施方式的获取单元获得的属性数据。因此,在存在时间属性的情况下,可以使用所示的方法。
参照图19的(b),点云数据包括时间属性。根据实施方式的点可以包括如图所示的浮动类型的时间属性。
参照图19的(a),点云数据发送装置可基于图19中右侧所示的时间属性来确定点的时间顺序。例如,点云数据发送装置可以对时间属性进行分类,以确定生成点云数据的方向和顺序。
点云数据发送装置可以通过以升序或降序对时间属性进行排序来将点分割为多个切片
图20示出了根据实施方式的分割和细化点云数据的方法的实施方式。
图20示出了图17和图18所示的分割操作和细化方法的方法的实施方式。图20的操作可由图17的分割器17001和/或细化器17002、图16的数据特性检查器16000、图16的基于数据特性的分割器和细化器16001或图15的分割器15001来执行。
图20所示的操作中的一些或全部可由图14的XR装置1430等组合并执行。
图20示出了莫顿顺序分割和莫顿顺序细化。图20的操作基于点的莫顿码将点云数据的点分割为多个切片。
莫顿码是指通过以比特为单位交织关于点的位置信息的坐标值(例如,x坐标值,y坐标值和z坐标值)而生成的码。莫顿码可以表示为二进制或十进制实数。根据实施方式的点云数据发送装置可以基于所分割的切片来确定根据实施方式的分割/细化操作和/或编码操作的顺序。
参照图20,根据实施方式的分割器根据特定标准分割包括点云数据的三维空间(例如,边界框)。特定标准可以是根据图19、图20和图22至图26中所示的分割方法的标准。例如,分割器根据图26所示的基于轴长度的分割或图22所示的均匀正方形分割将包括点云数据的3D空间分割成多个切片。分割器可基于点云数据的点数、被分割的切片中的最大点数和/或最小点数来执行分割。
参照图20,根据实施方式的细化器可基于分割的切片的位置为各个分割的切片生成莫顿码,并以所生成的切片的莫顿码的升序来执行根据实施方式的细化(例如,图23和图24所示的方法)。
根据实施方式,分割的切片可以被分成具有点的切片和没有任何点的切片。当基于莫顿码对具有点的切片进行排序时,可以从左下前切片到右上后切片对切片进行排序。
例如,在多个切片中,具有莫顿码顺序的最小码的切片是切片20001。由于切片20001具有少量的点,所以根据实施方式的细化器可以确定是将该切片与切片20002合并,其中,切片20002是莫顿码顺序中的下一切片。接下来,作为与20001合并的切片的切片20002仍可具有少量的点(例如,点的数量可小于mimPointNum)。因此,细化器可以确定是否将切片20002与切片20003合并,切片20003是莫顿码顺序中的下一切片,和/或将切片20002与切片20003合并。
例如,当细化器将切片20002与切片20003合并时,合并的切片中的全部点数可以是大的(例如,点数可以大于MaxPointNum)。因此,细化器可以拆分合并的切片20003。细化器可以向切片20004、切片20002或切片20001拆分切片20003,切片20004是莫顿码顺序中的下一切片。
根据实施方式,细化器可以以与上述相同的方式合并和/或拆分高达2000n个切片。
根据实施方式的点云数据发送装置可以根据上述方法生成切片。因此,由于允许装置在不查询各个点的属性的情况下生成切片,所以可以减少在切片生成过程中发生的延迟。
图21示出了根据实施方式的分割点云数据的方法的实施方式。
图21示出了图18所示的分割操作的方法的实施方式。图21的操作可以由图17的分割器17001、图16的数据特性检查器16000、或基于数据特性的分割器和细化器17001来执行。
图21所示的操作中的一些或全部可由图14的XR装置1430等组合并执行。
图21示出了均匀的正方形分割。图21的操作表示将点云数据的点分割成具有均匀正方形21002形状的切片。均匀正方形21002可以指例如具有至少一个正方形面的立方体形状。均匀的方形切片可以被称为棋盘形切片。
点云数据21001表示包括参照图1到图20描述的点的数据。
具有均匀正方形形状的切片21002可以是构成点云数据的边界框21000的切片。
根据实施方式的点云数据发送装置可以通过将点云数据21001的边界框的最长轴和中间长度轴分段为最短轴的长度来生成多个均匀正方形切片21002。
例如,参照图21,点云数据的边界框包括作为最长轴的第一轴(maxAxis)21000c、作为中间长度轴的第二轴(midAxis)21000b以及作为最短轴的第三轴(minAxis)21000a。点云数据发送装置可以通过将第一轴(例如,maxAxis)和第二轴(例如,midAxis)除以第三轴的长度来生成(分段)均匀正方形切片21002。
在基于均匀正方形分割的方法将点云数据分割为多个切片之后,根据实施方式的点云数据发送装置可进一步细化多个切片。将参照图22、图23、图26和图27详细描述点云数据发送装置进一步细化多个切片的过程。
根据实施方式的点云数据发送装置可以根据上述方法生成切片。因此,由于允许装置在不查询各个点的属性的情况下生成切片,所以可以减少在切片生成过程中发生的延迟。
图22示出了根据实施方式的细化切片的方法的实施方式。
根据图22所示的实施方式的细化切片的操作可以由根据图15所示的空间分割器15001、图16的基于数据特性的分割器和细化器16001或图17的细化器17002来执行。
图22的(a)示出点云数据的点被分割成多个切片(22000)。根据实施方式,可以通过切片标识符将切片与其他切片区分开。例如,由22001指示的切片的标识符可以是N(切片N)。
图22所示的操作中的一些或全部可由图14的XR装置1430等组合并执行。
根据实施方式,切片N 22001可以与其他切片相邻。例如,切片N 22001可以具有多个相邻的片。例如,参照图22的(a),切片N可以与切片N+1、切片N-M、切片N+M和切片N-1相邻。
参照图22,切片N+1可以是切片N 22001上侧的相邻切片,切片N-1可以是切片N22001下侧的相邻切片。切片N+M可以是切片N 22001右侧的相邻切片,切片N-M可以是切片N22001左侧的相邻切片。
根据实施方式的点云数据发送装置可以细化特定切片(例如,切片N)。
图22的(b)示出了根据实施方式的点云数据发送装置将点云数据分割成多个切片并细化分割的切片中的一些的的操作。
根据实施方式的点云数据发送装置的操作可以包括分割点云数据的操作22002a、得到关于与特定切片相邻的切片的信息的操作22002b、和/或通过合并和/或拆分切片来细化切片的操作22002c。
在分割点云数据的操作22002a中,将点云数据分割为多个切片。在分割点云数据的操作22002a中,图15的空间分割器15001的操作、图16的数据特性检查器16000和基于数据特性的分割器16001的操作的一部分、图17的分割器17001的操作、或图18到图21的操作。例如,在分割点云数据的操作22002a中,可根据图21所示的均匀正方形分割方法分割点云数据。根据图22的(a)的说明,经分割的切片(例如,图22的(a)中的当前切片)可具有相邻切片(例如,上测切片、下测切片、左测切片和右测切片)。
在得到关于与特定片相邻的片的信息的操作22002b中,可得到关于分割的切片(例如,当前切片)和相邻切片的信息。
例如,切片0可以是位于最左下角的切片。在这种情况下,相邻切片是切片1和切片3,并且点云数据发送装置检查各个相邻切片中的点数(例如,切片1为100,切片3为200)。点云数据发送装置可以不冗余地检查已检查的切片中的点数。
在通过合并和/或拆分切片来细化切片的操作22002c中,细化分割的切片。
根据实施方式,当分割的切片(例如,当前切片)中的点数小于最小点数(MinNumPoint)时,点云数据发送装置可将分割的切片与相邻切片之一合并。因此,合并的切片是既包括分割的切片中包括的点又包括相邻切片之一中包括的点的切片。例如,相邻切片之一可以是相邻切片中具有最少数目的点的切片。
例如,当当前切片的点数小于MinNumPoint时,点云数据发送装置可执行根据实施方式的合并操作。当与当前切片相邻的相邻切片(4个切片)分别具有20、100、50和80个点时,具有20个点的切片可与当前切片合并。
当分割的切片(例如,当前切片)中的点数大于最大点数(MaxNumPoint)时,点云数据发送装置可拆分分割后的切片。因此,点云数据发送装置可允许两个或更多个切片包括分割的切片(当前切片)中包括的点。
例如,当当前切片的点数大于MaxNumPoint时,点云数据发送装置可执行根据实施方式的分割操作。当当前切片中的点数为150(例如,MaxNumPoint为100)时,点云数据发送装置可通过分割当前切片来产生两个切片。
例如,点云数据发送装置可将当前切片(切片N)的150个点中的100个点分配给切片N,而将其它50个点分配给相邻切片(例如,切片N+1)。在这种情况下,可以加宽切片N+1的边界。例如,点云数据发送装置可以重置切片N+1的边界,使得在切片N中包括的点之中位于接近切片N+1的点被包括在切片N+1中。
在实施方式中,点云数据发送装置可以将当前切片中要重新分配的点重新分配给具有下一索引的切片,并重新调整具有下一索引的切片的边界。
根据实施方式的点云数据发送装置可以根据上述方法生成切片。因此,由于在不查询各个点的属性的情况下生成切片,可以减少在切片生成过程中发生的延迟。
根据上述配置,根据实施方式的点云数据发送装置可以等同地或适当地分配或确定切片中的点的数量,从而提高发送装置的并行编码效率。
另外,根据上述配置,切片中的点的数量可以被设置为使得点的数量在切片之间没有大的变化,并且因此,根据实施方式的点云数据接收装置可以减少独立地对各个切片进行编码的延迟。
图23示出了根据实施方式的将点云数据分割为多个切片和/或对其进行细化的结果的示例。
图23的操作由图17的分割器17001、图16的数据特性检查器16000、基于数据特性的分割器和细化器17001或图15的空间分割器15001执行。
图23所示的操作中的一些或全部可由图14的XR装置1430等组合并执行。
根据实施方式的点云数据发送装置通过分割点云数据来生成多个切片,并细化所生成的切片。
根据实施方式的点云数据发送装置可以执行根据实施方式的分割操作,然后执行以下操作。
1)生成相邻信息
各个分割的片(未细化的片)产生包括关于至少一个相邻切片的信息的相邻信息。根据实施方式,相邻切片可以是在分割的切片(当前切片)的下侧、左侧、上侧和右侧的相邻切片之一。根据实施方式,相邻切片可以是在所分割的切片(当前切片)的下侧、左侧、上侧和右侧、前侧和后侧处的相邻切片之一。
相邻信息包括关于当前切片下侧的相邻切片、当前切片左侧的相邻切片、当前切片上侧的相邻切片和/或当前切片右侧的相邻切片的信息(例如,切片标识符信息、关于切片中包括的点的数量的信息等)。相邻信息可包括关于当前切片下侧的相邻切片、当前切片左侧的相邻切片、当前切片上侧的相邻切片、当前切片前侧的相邻切片以及当前切片后侧的相邻切片的信息。
2)合并
执行根据实施方式的合并操作以将特定切片(当前切片)与其相邻切片之一合并。当当前切片中的点数小于最小点数(MinNumPoint)时,可以执行合并操作。
根据实施方式的相邻切片之一可以是在特定切片(当前切片)的下侧的相邻切片、在特定切片的左侧的相邻切片、在特定切片的上侧的相邻切片、在特定切片的前侧的相邻切片以及在特定切片的后侧的相邻切片。
3)拆分
根据实施方式的拆分是指将特定片(当前切片)拆分成多个切片或将点重新分配给具有下一索引的片。当特定切片中的点数小于最小点数(MinNumPoint)时,可以执行拆分操作。
图23示出根据实施方式的点云数据发送装置执行合并操作和/或拆分操作之后获得的切片。当点云数据发送装置执行合并和/或拆分操作时,切片可被设置成适于点的分布或区域。即,根据实施方式执行合并和/或拆分操作的切片被优化用于编码或解码,并且包括多个点。
根据上述配置,根据实施方式的点云数据发送装置可以等同地或适当地分配或确定切片中的点的数量,从而提高发送装置的并行编码效率。
另外,根据上述配置,切片中的点的数量可以被设置为使得点的数量在切片之间没有大的变化,并且因此,根据实施方式的点云数据接收装置可以减少独立地对各个切片进行编码的延迟。
图24示出了根据实施方式的分割点云数据的方法的实施方式。
图24示出了用于图18所示的分割操作的方法的实施方式。图24的操作可由图17的分割器17001、图16的数据特性检查器16000、基于数据特性的分割器和细化器17001或图15的空间分割器15001来执行。
根据图24所示的分割方法的操作可以被组合并且由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送单元18002、图4的编码器、图12的发送装置、图14的XR装置1430等来执行。
图24所示的操作中的一些或全部可由图14的XR装置1430等组合并执行。
图24示出八叉树分割的方法。图24的操作表示基于边界框24000的八叉树将点云数据的点分割成多个切片。
在八叉树分割中,整个空间(根据实施方式的包括点云数据的边界框)被分割成八个相等的空间以递归地分割空间。
根据实施方式的点云数据发送装置可以将最长的长度L设置为边界框(LXLXL),并且每当八叉树级别被降低一个级别时产生8的l次方个空间。根据实施方式的八叉树的级别l可以预置或由用户设置。例如,当八叉树级别(即,l)的值被设置为3时,发送装置可以将边界框分割为512(=83)个空间。根据实施方式的发送装置可以通过信令信息将根据实施方式的级别的值发送到接收装置。
根据实施方式的级别值可以是作为输入接收的值,或者可以基于边界框(空间)中可能存在的点的数量来确定(例如,l是点的数量,并且可以被确定为阈值)。
例如,当用于切片分割的级别是x时,在具有1到100,000个点的切片的数量是的切片的总数的50%的情况下,根据实施方式的发送装置可以停止八叉树分割。在这种情况下,可以基于密度、阈值、切片长度等停止八叉树分割。
八叉树分割可以被称为使用八叉树的均匀几何分割。使用八叉树的均匀几何的分割方法可以包括例如以下操作。
1)默认设置八叉树分割depOctree=1的深度(级别)。
2)采用八叉树分割方案将输入点云分割为8^depOctree个切片。
3)评价所有切片中小于MaxPointNum的点的比例比。设置比阈值thres。如果比大于thres,则转到下一步骤。否则,返回到过程1)并设置depOctree+=1。
在切片分割之后,可以拆分点计数大于MaxPointNum的切片的点云,并且可以合并点计数小于MinPointNum的切片的点云。
根据实施方式的拆分操作表示参照图18到图23描述的拆分操作。在拆分操作中,当点数(Asize)大于Max_Point_Num时,相应的切片可被拆分成n个切片。这里,n可以是例如ceil(Asize/MaxPointNum)。
根据实施方式的合并操作表示参照图18到图23描述的合并操作。在合并操作中,如果当前切片的点数小于Min_Point_Num,则将该切片与前一切片或下一切片合并。
为了确定要合并的片,根据实施方式的点云数据发送装置可以如下确定合并的方向。
如果切片是第一切片,则合并可以指向下一切片。
如果切片是最后切片(在末尾),则合并可以指向先前切片。
如果切片既不是第一切片也不是最后一切片,则可以如下执行操作。当通过将当前切片与先前切片合并而创建的片的点数是Sum_Front,并且通过将当前切片与下一切片合并而创建的片中的点数是Sum_Next时,可以如下执行合并操作。
如果Sum_Front>Max_Point_Num并且Sum_Next>Max_Point_Num,则可以在前一切片和下一切片之间选择具有较大点数的切片。
如果Sum_Front<Max_Point_Num并且Sum_Next<Max_Point_Num,则可在先前切片与下一切片之间选择具有较大点数的切片。
否则,如果Sum_Front和Sum_Next中的一者大于Max_Point_Num而另一者小于Max_Point_Num,则将当前切片与在先前切片和下一切片之间具有较小数目的点的切片合并。
在合并操作之后创建的所有切片可以被逐个检查(遍历),并且SumMerged可以与Max_Point_Num相比较。SumMerged是合并的切片中的点数。
如果SumMerged<MinPointNum,则当前切片可进一步与另一切片合并。
如果SumMerged>MaxPointNum,则合并的切片可被拆分。
如果Min_Point_Num<SumMerged<Max_Point_Num,则保持当前切片。
根据上述配置,根据实施方式的点云数据发送装置可以等同地或适当地分配或确定切片中的点数,从而提高发送装置的并行编码效率。
另外,根据上述配置,切片中的点的数量可以被设置为使得点的数量在切片之间没有大的变化,并且因此,根据实施方式的点云数据接收装置可以减少独立地对各个切片进行编码的延迟。
图25示出了根据实施方式的分割点云数据的方法的实施方式。
图25示出了图18所示的分割操作的方法的实施方式。图25的操作可以由图17的分割器17001、图16的数据特性检查器16000、图16的基于数据特性的分割器和细化器16001或图15的空间分割器15001来执行。
根据图25所示的分割方法的操作可以被组合并且由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的XR装置1430等来执行。
图25示出点云数据发送装置基于边界框的轴的长度将点云数据25000或由点云数据占据的3D空间分割为区域25001和25002。根据实施方式的点云数据发送装置可基于边界框的轴的长度中的一个或更多个来对分割区域25001和25002中的各个个的点云数据编码。根据实施方式,基于边界框的轴的长度将数据分割为分割的区域25001和25002(例如,切片)的操作可被称为自适应的基于轴长度的切片成块(或基于轴长度的切片分割)。图25所示的操作可以由例如图12的数据输入单元12000来执行。
点云数据25000可以包含一个或更多个点。点云数据可以包含在3D空间(例如,边界框)中。根据实施方式的3D空间(例如,边界框)可表示为x轴、y轴和z轴。
例如,对于点云数据25000,x轴、y轴和z轴之一的长度可以比其他两个轴的长度短或明显短。例如,可以存在表示沿除了一个轴之外的两个轴广泛分布的地形的点云数据。如果点云数据发送装置对边界框中的点执行编码而不管轴的长度,则编码效率可能降低。因此,点云数据发送装置需要根据3D空间的轴的长度将数据分割为一个或更多个区域。因此,根据实施方式的点云数据发送装置可计算x轴、y轴和z轴的相对长度,并基于所计算的相对长度将点云数据分割为一个或更多个区域。
根据实施方式的点云数据发送装置(例如,图16的拼块分割器16000)可通过将x轴25000x的长度、y轴25000y的长度和z轴25000z的长度中的最长轴(例如,x轴)分割为最短轴(例如,z轴)的长度的单位来配置一个或更多个切片25001。被分割为一个或更多个切片的数据可以是可被并行编码和解码的单元。
根据实施方式的点云数据发送装置(例如,图18的拼块分割器18000或图19的成块单元19001)可以再分割一些切片25001。在根据实施方式的再分割中,可以通过将一些切片的最长轴(即,在图25的切片25001的情况下是y轴25000y)分割为最短轴(例如,x轴或z轴)的长度单位来配置一个或更多个子切片(或第二切片)。被分割为一个或更多个子切片(或第二切片)25002的数据可以是可被并行编码和解码的单元。
根据实施方式的点云数据发送装置可基于关于点的最小/最大信息来执行分割,而不符合具有第一切片中的最大点数和最小数目(MaxPointNum,MinPointNum)的空间数据分布。
根据实施方式的点云数据发送装置可基于区域中的点的数量、由各个区域分配的空间的大小以及包括在区域中的点的密度来确定再分割第一切片还是第二切片。根据实施方式,空间再分割可以是空间自适应地执行的,并且可以包括基于特定轴来分割切片和基于中间长度轴来再分割切片。
根据实施方式的点云数据发送装置可以采用根据实施方式的自适应的基于轴长度的区域成块,从而在包括大的地形特征的点云数据的云数据的一帧内的空间单元相关联的序列中的编码。根据实施方式的点云数据接收装置可以有效地对包括大的地形特征的点云数据进行解码。
例如,可以通过将最长轴(例如,X轴)用最短轴(例如,Z轴)分段来配置一个切片。可以再分割由特定轴分割的切片。通过将以最小轴分割最长轴的方法应用于再分割,可以递归地执行分割。要被再分割的切片的最短轴可以变成Z轴,并且该切片可以被再分割成切片,各个切片沿着Y轴具有(Z轴长度×Z轴长度)的空间,Y轴是该切片中最长的未分割轴。
根据实施方式的基于轴长度的切片分割可以被称为沿着最长边的均匀几何分割。
沿着最长边的均匀几何分割可以例如如下进行:
1)使用根据实施方式的切片分割方法来分割点云数据;以及
2)基于切片中的最大点数(例如,根据实施方式的MaxPointNum)和/或切片中的最小点数(例如,根据实施方式的MinPointNum)来执行根据实施方式的合并操作和/或拆分操作。
根据上述配置,即使没有附加的信令信息和参数,根据实施方式的点云数据发送装置也可以等同地或适当地分配或确定切片中的点数,从而提高发送装置的并行编码效率。
根据实施方式的基于轴长度的切片分割的方法可有效用于分割具有沿点云数据中除一个轴之外的两个轴广泛散布的地形的点云数据。
图26示出了根据实施方式的相邻切片的示例。
图26示出了根据图22所示实施方式的在细化操作中确定特定切片和相邻切片的方法。例如,图26所示的操作表示找到图22的切片N 22001及其相邻切片的方法。
图26的操作可由图17的细化器17002、图16的数据特性检验器16000、图16的基于数据特性的分割器和细化器16001或图15的空间分割器15001执行。
根据图26所示的分割方法的操作可以被组合并且由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的XR装置1430等来执行。
细化器可以执行根据实施方式的合并操作和/或拆分操作。细化器基于根据细化标准确定的基于距离的细化和/或2向/4向/6向细化来执行细化操作。
图26的(a)至图26的(c)分别示出了2向细化、4向细化和4向细化。
根据实施方式的点云数据发送装置可根据分割的切片的位置或分割方法来搜索存在于2侧(左和右)、4侧(左、右、上和下)或6侧(左、右、上、下、前、后)的相邻切片。
图26的(a)示出了2向细化的方法。
2向细化是用于分割方法的细化方法,其中一维长轴被短轴分割,并且可以包括合并操作或分割操作。例如,在2向细化中,点云数据发送装置在一维中搜索相邻切片以对特定切片执行合并操作和/或拆分操作。例如,点云数据发送装置根据2向细化的方法使用特定片左侧的相邻切片和特定片右侧的相邻切片来执行合并和/或拆分操作。
图26的(b)示出了4向细化的方法。
4向细化是基于位于当前切片的上侧、下侧、左侧和右侧的切片的位置来执行合并或拆分操作的方法。例如,在4向细化中,点云数据发送装置在二维中搜索相邻切片以对特定切片执行合并操作和/或拆分操作。例如,根据4向细化的方法,点云数据发送装置基于特定切片左侧的相邻切片、特定切片右侧的相邻切片、特定切片上侧的相邻切片和特定切片下侧的相邻切片来执行合并操作和/或拆分操作。
图26的(c)示出了6向细化的方法。
6向细化被应用于基于空间的分割方法,例如八叉树分割。例如,在6向细化的方法中,点云数据发送装置搜索三维中的相邻切片以对特定切片执行合并操作和/或拆分操作。例如,根据6向细化的方法,点云数据发送装置基于特定切片左侧的相邻切片、特定切片右侧的相邻切片、特定切片上侧的相邻切片、特定切片下侧的相邻切片、特定切片前面的切片和特定切片后面的切片来执行合并操作和/或拆分操作。
可以基于一维列表类型的数据结构和/或树类型的数据结构来执行合并和/或拆分由点云数据发送装置在2、4或6个方向上分割的切片的方法。将参照图27详细描述点云数据发送装置基于一维列表类型的数据结构和/或树类型的数据结构进行合并和/或拆分的操作。
在基于距离的细化方法中,细化器可计算或测量由分割器分割的切片的自适应距离,并基于计算或测量的距离执行合并操作和/或拆分操作。基于距离的细化被表示为例如如下的伪代码。
Figure BDA0003663259830000501
Figure BDA0003663259830000511
例如,点云数据发送装置可以测量或计算与当前切片最接近的切片的距离(即,与当前切片具有最小距离的切片)\与所有切片到当前切片的距离的中值相对应的距离处的切片的距离\以及与当前切片最远的切片的距离(即,与当前切片具有最大距离的切片)。并且将所有切片的距离中的最近距离处的片重新排列为下一切片。
在最近切片、中间切片和/或最远切片被计算和测量的情况下,点云数据发送装置可以跳过已经查询的切片。例如,在第二切片中,可以测量或计算距排除了第一切片的剩余切片3到N的距离,以确定最近的切片作为下一切片。可以对所有切片重复执行上述操作。
点云数据发送装置可以以基于距离排列的切片的顺序执行合并操作和/或拆分操作。合并操作可以是当切片中的点数小于MinPointNum时将切片与下一切片合并的操作。在拆分操作中,当片中的点数大于MaxPointNum时,属于接近下一切片的位置的点可被拆分成两个切片。
根据实施方式的点云数据发送装置可以共同地将基于距离的细化操作和/或2向/4向/6向细化操作应用到应用了参照图18到图25描述的分割方法的切片。
根据上述配置,根据实施方式的点云数据发送装置可以等同地或适当地分配或确定切片中的点数,从而提高发送装置的并行编码效率。
另外,根据上述配置,切片中的点的数量可以被设置为使得点的数量在切片之间没有大的变化,并且因此,根据实施方式的点云数据接收装置可以减少独立地对各个切片进行编码的延迟。
图27示出了根据实施方式的使用相邻切片来细化切片的方法的示例。
图27示出了用于使用相邻切片来细化切片的数据结构。可以基于一维列表类型的数据结构和/或树类型的数据结构来执行合并和/或在2、4或6个方向上拆分由点云数据发送装置分割的切片的方法。
图27的操作表示在根据图22中所示的实施方式的细化操作中确定切片周围的相邻切片并根据实施方式对其进行细化的操作。例如,图27所示的操作表示找到与图22的切片N 22001相邻的相邻切片并细化该相邻切片的方法。
图27的操作可由图17的细化器17002、图16的数据特性检验器16000、图16的基于数据特性的分割器和细化器16001或图15的空间分割器15001执行。
根据图27所示的分割方法的操作可以被组合并且由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的XR装置1430等来执行。
图27的(a)示出了基于一维列表类型的数据结构执行的细化操作。
例如,发送装置基于包括在各个切片中的点的数量对通过分割点云数据而生成的N个切片进行排序。经排序的切片将在排序之前位于切片的上侧、下侧、左侧和右侧的相邻切片存储为索引。发送装置从具有最小点数的切片开始,对按点数排序的切片执行合并和拆分操作。在这种情况下,发送装置检查位于可以合并的切片的上侧、下侧、左侧和右侧的切片的索引,并且从在4个切片中具有最小数量的点的切片开始执行合并操作。如果合并的切片中的点仍然小于MinPointNum,则发送装置将该切片与在2向/4向/6向相邻切片中具有下一最小数量的点的切片合并。当切片中的点数大于MaxPointNum时,发送装置向指向包括最小点数的切片的方向执行拆分操作。
例如,在图27的(a)中,一维列表类型的数据结构可以被配置成如图27的(a)的右部所示。一维列表类型的数据结构可通过按行区分切片并将对应于每行的切片与相邻切片链接来构造。每行可以以点数的升序将相应的切片链接到相邻的片。例如,切片2位于行[2]中,并且与切片0、3和4相邻。由于在相邻切片中,点的数量按照切片0(10个点)、切片3(30个点)和切片4(100个点)的顺序增加,所以[0]、[3]和[4]可以按照该顺序链接到行[2]。这里,在数据结构中,第一列(由[0]到[5]表示的部分)可以被称为头,并且第二列或最后一列可以被称为节点。
例如,参照图27的(a),可以如下执行操作。
细化操作可以从切片0开始按顺序对切片执行。切片0具有10个点,并且与切片1和切片2相邻,切片1和切片2分别位于切片0的上侧和右侧。细化器可以确定是否对相邻切片(切片1和切片2)执行合并操作,开始于在相邻切片之间具有较少数目的点的切片。例如,细化器可以将切片0与切片1合并,切片1在切片1和切片2之间具有较少数目的点。当通过将切片0与切片1合并而形成的切片中的点数仍小于MinPointNum时,细化器可再次将合并的切片与切片2合并。在图27的(a)中,假设MinPointNum是60,并且通过合并切片0和切片1形成的合并的切片具有50个点。因此,细化器可以再次将合并的切片与切片2合并,从而形成具有100个点的切片。由于彼此合并的片0到切片2中的点数是100,其小于MaxPointNum,所以不执行拆分操作。因此,细化器确定是否对下一切片(切片3)执行合并和拆分操作。
切片3具有30个点。因此,细化器可以将该切片与相邻切片中具有最少数目的点的切片合并。参考数据结构,可以按切片1、切片2和切片5的顺序对相邻的切片执行合并操作。切片1是与切片0至切片3合并的一个切片,包括100个点。因此,切片3可以与切片0到切片2合并,从而具有130个点。合并的切片可以被包括为切片0到切片2或切片3。由于合并的切片0到切片3的点数大于MaxPointNum,所以它们可以被拆分成两个切片。
切片4中的点数大于MinPointNum并且小于或等于MaxPointNum,因此切片4不被细化。
切片5中的点数为180,大于MaxPointNum,因此细化器可以拆分切片5。细化器可以将切片5向例如切片4拆分两个具有90的切片。
图27的(b)示出了基于树型数据结构执行的细化操作。
当根据实施方式的细化器基于树型数据结构执行细化操作时,细化器可被称为树型细化器。
根据实施方式的树型细化器可以在树型数据结构中呈现关于包括点云数据的切片的位置信息。图27的(b)示出树型数据结构的示例。
例如,参照图27的(b),树型数据结构可如图27的(b)的右部所示配置。树类型的数据结构指示(一个或更多个)子节点是父节点的相邻切片。例如,切片0与切片1和切片2相邻。因此,切片0可以是父节点,切片1和切片2可以是切片0的子节点。此外,由于切片1与切片3相邻,所以切片1的子节点可以是切片3。此外,由于切片2与切片4相邻,所以第二切片的子节点可以是切片4。此外,由于切片4与切片5进一步相邻,所以切片4的子节点可以是切片5。换句话说,细化器基于切片的索引和切片中的点数来创建包括树型邻接信息的树型数据结构。
细化器可以通过对完成的树执行例如深度优先搜索(DFS)来检查点数。
例如,细化器可从位于叶节点处的切片5开始执行DFS以检查切片中的点数是否在MinPointNum和MaxPointNum之间。例如,切片5具有150个点,因此细化器将切片5拆分成两个切片。例如,细化器可以拆分切片5以产生两个或更多个切片。所述两个或更多个切片可产生为切片4的子节点。而且,例如,细化器可以拆分切片5,并将其一些点合并(或重新分配)到为父节点的切片4中,并将剩余的点分配给一个或更多个切片,以作为切片4的子节点产生。
细化器使用DFS对作为下一序列的切片4执行细化操作。如果在细化切片5的过程中,切片5中没有任何部分的点被合并到切片4中,则切片4中的点数为100。因此,不执行细化操作(因为点数在MinPointNum和MaxPointNum之间)。
细化器确定是否对作为下一切片的切片2执行细化操作。细化操作不在切片2上执行(因为切片2中的点数在MinPointNum和MaxPointNum之间)。
细化器确定是否对作为下一切片的切片3执行细化操作。切片3具有30个点,因此在其上执行合并操作(因为点数小于或等于MinPointNum)。细化器可以通过将切片3与切片1合并来产生具有70个切片的切片,切片1是切片3的父节点。通过合并切片1和切片3生成的切片可以是切片0的子节点。细化器不对通过合并切片1和切片3产生的切片执行分割操作。
细化器确定是否对作为下一切片的切片0执行细化操作。由于切片0具有10个点,所以将其与子节点之间具有较小数目的点的切片(即,通过合并切片1和切片3而产生的切片)合并,以产生具有80个点的切片。
根据上述配置,根据实施方式的点云数据发送装置可以等同地或适当地分配或确定切片中的点数,从而提高发送装置的并行编码效率。
通过基于上述数据结构执行细化操作,根据实施方式的点云数据发送装置可最大化存储器效率并最小化细化过程中的不必要延迟和错误。
另外,根据上述配置,切片中的点的数量可以被设置为使得点的数量在切片之间没有大的变化,并且因此,根据实施方式的点云数据接收装置可以减少独立地对各个切片进行编码的延迟。
图28示出根据实施方式的点云数据接收装置的示例。
图28所示的分割操作可以被组合并且由图1的接收装置10004、图1的接收单元10005、图1的点云视频解码器10006、图2的解码18003、图2的发送器18002、图10和图11的解码器、图13的接收装置、图14的XR装置1430等来执行。
根据实施方式的点云接收装置(或解码器)28000可以包括几何信息解码器28001和/或属性信息解码器28002。根据实施方式,点云解码器可以被称为PCC解码装置、PCC解码单元、点云装置、点云解码单元、PCC解码器等。
几何信息解码器28001接收点云数据的几何信息比特流28000a。几何信息解码器28001可以解码点云数据的几何信息比特流28000a,并输出关于恢复的点云数据的属性信息28000c。几何信息解码器28001可将几何信息比特流重构为几何信息并输出重构的几何信息。几何信息比特流28000a可以是图15的几何信息比特流或几何比特流。属性信息比特流28000b可以是图15的属性信息比特流或属性比特流。
几何信息解码器28001通过解码所接收的几何信息比特流来恢复几何信息。恢复的几何信息可以被输入到属性信息解码器。属性信息解码器28002从被输入的属性信息比特流恢复属性信息,并从几何信息解码器接收恢复的几何信息。恢复的几何信息可以是由参照图11描述的几何重建器(重建几何)11003重建的几何。恢复的几何信息可以是由参照图13描述的基于占用码的八叉树重建处理器13003重建的八叉树占用码。
几何信息解码器28001接收由根据实施方式的接收装置接收的几何信息比特流。几何信息解码器28001可以对几何信息比特流进行解码。
几何信息解码器28001可执行图1的点云视频解码器、图2的解码20003、图10的几何解码器、图11的算术解码器11000、图11的八叉树合成器11001、图11的表面近似合成器11002、图11的几何重构器11003和/或图11的坐标逆变换器11004的全部/部分操作。
属性信息解码器28002接收点云数据的属性信息比特流28000b。属性信息解码器28002可以解码点云数据的属性信息比特流28000b,并输出关于恢复的点云数据的属性信息28000c。属性信息解码器28002可以基于由几何信息解码器28001生成的恢复的几何信息28001a来解码属性信息比特流。
属性信息解码器28002接收由根据实施方式的接收装置接收的属性信息比特流。属性信息解码器可以基于恢复的几何信息对属性信息比特流中的属性信息进行解码。包含在点云数据中的几何信息和/或属性信息可被解码并恢复PCC数据。
属性信息解码器28002可执行图1的点云视频解码器的操作、图2的解码20003的操作、图10的属性解码器的操作、图11的逆量化器11006、RAHT 11007、LOD生成器11008、逆提升器11009和/或颜色逆变换器11010的操作、以及算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009、图13的颜色逆变换处理器13010和/或渲染器13011的操作的全部/部分。
图29示出根据实施方式的点云数据接收装置。
根据图29所示实施方式的点云数据解码器的全部或部分操作可以被组合并且由图1的接收装置10004、图1的接收器10005、图1的点云视频解码器10006、图2的解码18003、图2的发送器18002、图10和11的解码器、图13的接收装置、图14的XR装置1430等执行。
根据图29的实施方式的点云解码器可以是根据图28的实施方式的点云数据解码器28000。根据实施方式的点云解码器可以包括接收器29000、分割数据输入单元29001、第一算术解码器29002、基于占用码的八叉树重构处理器29003、表面模型处理器29004、几何重构器29005、坐标逆变换器29006、第二算术解码器29007、逆量化处理器29008、预测/提升/RAHT逆变换处理器29009、属性重构器29010、颜色逆变换器29011和/或点组合器。
根据图29所示的实施方式的点云数据解码器的组件的操作可以逐方块地执行,或者可以逐方块地独立执行。
接收器29000根据实施方式可以接收包含点云数据的比特流。接收器29000可以将接收到的比特流发送到分割数据输入单元29001。接收器29000可以执行图1的接收器10007、图2的发送20002和图13的接收器13000的操作。
根据实施方式,分割数据输入单元29001逐方块地接收包含点云数据的比特流,并逐方块地输出点云数据的几何比特流和属性比特流,以逐方块地执行解码。分割数据输入单元29001可以以块为单位将几何比特流发送到第一算术解码器29002,并且以块为单位将属性比特流发送到第二算术解码器29002。
当由接收器29000接收的比特流包含指示已经逐方块执行编码(或指示已经逐方块执行编码)的信令信息(例如,bistream_brick_decoding_flag)时,根据实施方式的点云数据接收装置(分割数据输入单元29001)可以对所接收的比特流执行N次解码。分割数据输入单元29001可以执行图1的接收器10007、图2的发送20002和图13的接收处理器13001的操作。
第一算术解码器29002逐方块地接收几何比特流。第一算术解码器29002可对几何比特流进行解码。第一算术解码器29002输出解码的几何信息。
第一算术解码器29002可执行图1的点云视频解码器10006、图2的解码20003、图11的算术解码器11000和图13的算术解码器13002的操作。
基于占用码的八叉树重构处理器29003接收解码的几何信息。基于占用码的八叉树重建处理器29003可以基于方块单元中的几何比特流来重建基于占用码的八叉树。基于占用码的八叉树重建处理器29003可以将重建的八叉树发送到表面模型处理器29004。
基于占用码的八叉树重建处理器29003可以执行图1的点云视频解码器10006、图2的解码20003、图11的八叉树分析器11001和图13的基于占用码的八叉树重建处理器13003的操作。
表面模型处理器29004可以基于由第一算术解码器29002解码的几何信息和/或由基于占用码的八叉树重构处理器29003重构的八叉树,对几何信息执行表面模型处理。几何信息的表面模型处理可以包括例如三角形重建、上采样和体素化。
表面模型处理器29004可以执行图1的点云视频解码器10006、图2的解码20003、图11的表面近似分析器11002和图13的表面模型处理器13004的操作。
几何重建器29005接收由表面模型处理器29004处理的几何信息。几何重建器重建表面模型处理的几何信息。几何重构器29005可以将重构的几何信息发送到预测/提升/RAHT逆变换处理器29009和/或坐标逆变换器29006。
几何重构器29005可以执行图1的点云视频解码器10006、图2的解码20003和图11的几何重构器11003的操作。
坐标逆变换器29006对关于由几何重构器29005生成的几何信息的坐标信息进行逆变换。坐标逆变换器29006对几何信息进行逆变换,并输出关于点云数据的点的位置信息。坐标逆变换器29006可以将关于点的位置信息发送到点组合器29012。
坐标逆变换器29006可以将指示已经对与这些点相对应的块执行了几何解码的信息数据输入单元29001。
坐标逆变换器29006可执行图1的点云视频解码器10006、图2的解码20003和图11的坐标逆变换器11004的操作。
第二算术解码器29007逐方块地接收几何比特流。第二算术解码器29007可以对属性比特流进行解码。第二算术解码器29007输出解码的属性信息。
第二算术解码器29007可执行图1的点云视频解码器10006、图2的解码20003、图11的算术解码11005和图13的算术解码器13007的操作。
逆量化处理器29008接收由第二算术解码器29007产生的解码属性信息。逆量化处理器29008对接收到的解码属性信息进行逆量化。逆量化处理器29008可以输出逆量化的属性信息,并将逆量化的属性信息发送到预测/提升/RAHT逆变换处理器29009。
逆量化处理器29008可执行图1的点云视频解码器10006、图2的解码20003、图11的逆量化器11006和图13的算术解码器13007的操作。
预测/提升/RAHT逆变换处理器29009接收由逆量化处理器29008逆量化的几何信息,并对其进行逆变换。预测/提升/RAHT逆变换处理器29009可基于预测方法、提升方法和RAHT方法中的至少一者对逆量化的属性信息进行逆变换。预测/提升/RAHT逆变换处理器29009可以基于由几何重构器29005重构的几何信息(或恢复的几何信息)对属性信息进行逆变换。
预测/提升/RAHT逆变换处理器29009可执行图1的点云视频解码器10006、图2的解码20003、图11的RAHT 11007、图11的LOD生成器11008和图11的逆提升器11009的操作。
属性重构器29010基于由预测/提升/RAHT逆变换处理器29009逆变换的属性信息来重构属性信息。属性重构器输出重构的属性信息并将其发送到颜色逆变换处理器29011。
属性重构器29010可执行图1的点云视频解码器10006、图2的解码20003、图11的颜色逆变换器11010和图13的颜色逆变换处理器13010的操作。
颜色逆变换器29011接收由属性重构器29010重构的几何信息。颜色逆变换器29011可以对重构的几何信息执行逆颜色变换。颜色逆变换器29011输出关于点云数据的点的属性信息。
颜色逆变换器29006可以向分割数据输入单元29001发送指示已经对与点对应的方块执行了属性解码的信息。属性重新配置单元29010可执行图1的点云视频解码器10006、图2的解码20003、图11的颜色逆变换器11010和图13的颜色逆变换处理器13010的操作。
根据实施方式,点组合器接收关于点云数据的点的几何信息(位置信息)和/或关于点的属性信息。点组合器接收关于点云数据的点的几何信息(位置信息)和/或关于方块单元中的点的属性信息,并逐方块地将其组合。点组合器以包含关于点的位置信息和属性信息的块单元输出点云数据。
图30示出根据实施方式的点云数据的比特流结构的示例。
图30示出根据实施方式的点云数据的比特流结构30000的示例。图30所示的点云数据的比特流结构30000可由图1的发送器10003、图2的发送器18002、图12的传输处理器12012、图16的比特流组合器16014和图17的比特流组合器17000生成。
根据实施方式的发送装置可以用信号通知过滤信息以添加/实现分割器和细化器。
根据实施方式的参数(其可以被称为元数据、信令信息等)可以在根据稍后将描述的实施方式的发送器的过程中生成,并且被发送到根据实施方式的接收器以在重建过程中使用。
例如,根据实施方式的参数可以由根据实施方式的发送装置的元数据处理器(或元数据生成器)生成,这将在后面描述,并且可以由根据实施方式的接收装置的元数据解析器获得。
图30所示的点云数据的比特流结构30000可以是在根据实施方式的接收装置中由图1的接收器10005、图2的解码器18003、图13的接收器13000和图29的接收器29000接收的比特流。图30所示的点云数据的比特流结构30000可以是图36的各个切片的几何和属性比特流36001。
图14的XR装置1430可产生根据图30中所说明的实施方式的比特流结构30000的整体的一部分。在该图中示出的方块可以对应于切片,反之亦然。在本文中,方块可以被称为切片。
根据实施方式的点云数据发送装置可以发送具有图30所示的比特流结构的比特流30000。点云数据的比特流30000可以包含序列参数集(SPS)30001、几何参数集(GPS)30002、属性参数集(APS)30003、切片参数集(TPS)30004以及一个或更多个切片(切片0,切片1,…,切片n)30004。点云数据的比特流30000可以包含一个或更多个切片。根据实施方式的拼块可以是包括一个或更多个切片的一组切片。根据实施方式的比特流30000提供拼块或切片,使得点云数据可被分割并按照区域处理。根据实施方式的比特流30000的各个区域可以具有不同的重要性。因此,当点云数据被分割为切片时,不同的滤波器(编码方法)和不同的滤波器单元可被应用于各个切片。当点云被分割成切片时,不同的滤波器和不同的滤波器单元可以被应用于各个切片。
通过根据图30所示的比特流30000的结构发送点云数据、根据实施方式的点云数据发送装置可允许根据重要性不同地应用编码操作,并允许在重要区域中使用高质量编码方法。
可以允许根据实施方式的点云数据接收装置根据接收装置的处理能力将不同的滤波(解码方法)应用于各个区域(分割成拼块或分割成切片),而不是对整个点云数据使用复杂的解码(滤波)方法。因此,对于用户重要的区域可以确保较好的图像质量,并且可以在系统中确保适当的等待时间。
SPS 30001是包含应用于零个或多个完整CVS的句法元素的句法结构,其由PPS中找到的句法元素的内容确定,所述PPS由各个切片片段头中找到的句法元素参考。SPS可包括关于根据实施方式的点云数据比特流的序列信息。
GPS 30002可以是包含应用于零个或多个完整几何(或编码几何形状)的句法元素的句法结构。根据实施方式的GPS 30002可包括关于对包含在一个或更多个切片30004中的点云数据的属性信息进行编码的方法的信息。根据实施方式,GPS 30002可包括指示与所包括的几何参数相关的SPS 30001的SPS标识符信息,以及用于标识GPS的GPS标识符信息。
APS 30003可以是包含应用于零个或多个完整属性(或编码属性)的句法元素的句法结构。根据实施方式的APS 30003可包括关于对包含在一个或更多个切片30004中的点云数据的属性信息进行编码的方法的信息。根据实施方式,APS 30003可包括指示与所包括的几何参数相关的SPS 30001的SPS标识符信息,以及用于标识APS的APS标识符信息。
TPS 30004可以是包含应用于零个或多个完整拼块(或编码拼块)的句法元素的句法结构。拼块清单包括关于包含在根据实施方式的点云数据比特流中的零个或多个拼块的信息。根据实施方式,拼块清单可称为拼块参数集(TPS)。
TPS 30004可包括用于识别一个或更多个拼块的标识符信息和指示所述一个或更多个拼块的范围(即,拼块的边界框)的信息。指示一个或更多个拼块的范围(即,拼块的边界框)的信息可包括关于作为由对应拼块表示的边界框的基准的点的坐标信息(例如,Tile(n).tile_bounding_box_xyz0)和关于边界框的宽度、高度和深度的信息(例如,Tile(n).tile_bounding_box_whd)。当给定了多个拼块时,拼块清单33004可包含指示所述拼块中的各个拼块的边界框的信息。例如,当各个拼块由拼块的标识符信息指示为0到n时,指示各个拼块的边界框的信息可表示为Tile(0).tile_bounding_box_xyz0、Tile(0).tile_bounding_box_whd、Tile(1).tile_bounding_box_xyz0、Tile(1).tile_bounding_box_whd等。
切片30004可以是用于由根据实施方式的点云数据发送装置对点云数据进行编码的单元。根据实施方式的片段30004可以是包括一个几何比特流(Geom00)30004a和一个或更多个属性比特流(Attr00、Attr10)30004b的单元。
切片30004可以包括表示关于包含在切片中的点云数据的几何信息的几何切片(Geom)30004a,以及表示关于包含在切片中的点云数据的属性信息的一个或更多个属性切片(Attr)30004b和30004c。
几何切片(Geom)30004a包括包含关于点云数据的几何信息的几何切片数据(Geom_slice_data)30004a-2、以及包含关于几何切片数据的信息的几何切片头(GSH)(Geom_slice_header)30004a-1。
GSH 30004a-1包含关于切片中的几何切片数据30004a-2的信息。例如,GSH30004a-1可以包含用于标识表示关于切片的几何信息的GPS 30002的几何参数集标识符(geom_geom_parameter_set_id)、以及用于标识几何切片的几何切片标识符(geom_slice_id)、指示几何切片数据的框的原点的几何框原点信息(geomBoxOrigin)、指示几何切片的对数标度的信息(geom_box_log2_scale)、以及与几何切片中的点的数目相关的信息(geom_num_points)。
当根据实施方式的点云数据比特流包含一个或更多个拼块时,根据实施方式的几何比特流的头还可包含用于标识包括几何比特流的拼块的信息(geom_tile_id)。
属性切片(Attr)30004b、30004c包括包含关于点云数据的属性信息的属性切片数据(Attr_slice_data)和包含关于属性切片数据的信息的属性切片头(ASH、Attr_slice_header)33005c。
根据实施方式,编码点云所需的参数可以被新定义为点云的参数集和头信息。例如,参数可以在编码属性信息时被添加到属性参数集RBSP句法,并且在执行基于拼块的编码时被添加到tile_header句法。
根据实施方式,发送装置可以为各个拼块或各个切片生成不同的切片配置头单元,以用信号通知根据实施方式的重叠切片的配置。
由于根据实施方式的点云数据发送/接收方法提供了上述比特流结构,所以其可以针对点云数据的属性信息增加接收器的解码性能。
图31示出根据实施方式的比特流中的序列参数集(SPS)的示例。
图31所示的参数可以包括在图30所示的SPS中。根据实施方式的SPS可包含与根据实施方式的切片的分割(切片分割)或切片成块的方法相关的信令信息和/或相关信令信息。
profile_idc可以指示比特流符合附录A中指定的简档。比特流不应包含附录A中指定的值以外的profile_idc值。profile_idc的其它值可由ISO/IEC保留以供将来使用。
profile_compatibility_flags等于1可以指示比特流符合附录A中指定的profile_idc等于j所指示的简档。profile_compatibility_flag[j]的值对于未在附录A中指定为profile_idc的允许值的任何j值可以等于0。
level_idc指示比特流符合附录A中指定的级别。比特流可能不包含除附录A中指定的值之外的level_idc的值。级别_idc的其他值由ISO/IEC保留以供将来使用。
sps_bounding_box_present_flag等于1可指定边界框偏移和大小信息被用信号通知。
当sps_bounding_box_present_flag的值为“真”时,根据实施方式的SPS还包括sps_bounding_box_offset_x、sps_bounding_box_offset_y、sps_bounding_box_offset_z、sps_bounding_box_scale_factor、sps_bounding_box_size_width、sps_bounding_box_size_height和sps_bounding_box_size_depth。
sps_bounding_box_offset_x指示笛卡尔坐标中的源边界框的x偏移。当不存在时,sps_bounding_box_offset_x的值可以被推定为0。
sps_bounding_box_offset_y指示笛卡尔坐标中的源边界框的y偏移。当不存在时,sps_bounding_box_offset_y的值可以被推定为0。
sps_bounding_box_offset_z标志指示笛卡尔坐标中的源边界框的z偏移。当不存在时,sps_bounding_box_offset_z的值可以被推定为0。
sps_bounding_box_scale_factor指示笛卡尔坐标中的源边界框的缩放因子。当不存在时,sps_bounding_box_scale_factor的值可以被推定为1。当不存在时,sps_bounding_box_scale_factor的值可以被推定为0。
sps_bounding_box_size_width指示笛卡尔坐标中的源边界框的宽度。当不存在时,sps_bounding_box_size_width的值可被推定为诸如10的特定值。
sps_bounding_box_size_height指示笛卡尔坐标中的源边界框的高度。当不存在时,sps_bounding_box_size_height的值可以被推定为1。当不存在时,sps_bounding_box_size_hieght的值可被推定为0。
sps_bounding_box_size_depth指示源边界框在笛卡尔坐标中的深度。当不存在时,sps_bounding_box_size_depth的值可以被推定为1。当不存在时,sps_bounding_box_size_depth的值可以被推定为0。
sps_source_scale_factor指示所述源点云的缩放因子。
sps_seq_parameter_set_id提供针对SPS的标识符以供其它句法元素参考。sps_seq_parameter_set_id的值可以在0到15的范围内,包括在符合本说明书的版本的比特流中。sps_seq_parameter_set_id的除0以外的值可由ISO/IEC保留以供将来使用。
sps_num_attribute_sets指示比特流中编码属性的数量。sps_num_attribute_sets的值可以在0到64的范围内。
根据实施方式,SPS可包括与sps_num_attribute_sets一样多的attribute_dimension[i]、attribute_instance_id[i]、attribute_bitdepth[i]、attribute_cicp_colour_primaries[i]、attribute_cicp_transfer_characteristics[i]、attribute_cicp_matrix_coeffs[i]、attribute_cicp_video_full_range_flag[i]和/或known_attribute_label_flag[i]。
attribute_dimension[i]指定第i属性的分量数。
attribute_instance_id[i]指定属性实例id。
attribute_bitdepth[i]指定第i个属性信号的比特深度。
attribute_cicp_colour_primaries[i]指示所述颜色属性源原色的颜色坐标。
attribute_cicp_transfer_characteristic[i]可以指示作为具有0到1的标称实值范围的源输入线性光强度Lc的函数的颜色属性的基准光电转移特性函数,或者指示作为具有0到1的标称实值范围的输出线性光强度Lo的函数的基准光电转移特性函数的逆。
attribute_cicp_matrix_coeffs[i]描述用于从绿色、蓝色和红色或Y、Z和X原色得到亮度和色度信号的矩阵系数。
attribute_cicp_video_full_range_flag[i]指定从E′Y、E′PB和E′PR或E′R、E′G和E′B实值分量信号得到的亮度和色度信号的黑色电平和范围。
known_attribute_label[i]等于0指定该属性是颜色。known_attribute_label[i]等于1指定该属性是反射率。known_attribute_label[i]等于2指定该属性是帧索引。
根据实施方式,SPS可以还包括partitioning_enabling_flag。
partitioning_enabling_flag表示指示是否执行根据实施方式的切片分割操作的信息。例如,partitioning_enabling_flag等于0指示点云数据发送装置不将根据实施方式的点云数据分割为一个或更多个切片。partitioning_enabling_flag等于1指示点云数据发送装置将点云数据分割为一个或更多个切片。
当分割使能标志的值是1时,根据实施方式的SPS可以还包括Partitioning_method。
Partitioning_method是指示由根据实施方式的点云数据发送装置分割点云数据的方法的信息。
例如,当Partitioning_method等于0时,根据实施方式,该参数指示发送装置执行基于Timestamp_partitioning_method(基于时间属性的切片分割)的分割操作。作为分割方法,可以使用一种或多种分割方法(用信号通知针对各个切片的分割方法)。
例如,当Partitioning_method等于1时,该参数指示发送装置执行基于Morton_order_partitioning_method的切片分割(基于Morton命令的切片分割)。
例如,当Partitioning_method等于2时,该参数指示发送装置基于Uniform_square_partitioning_method(均匀正方形分割)执行片分割。
例如,Partitioning_method等于3表示根据图18至图27所示的另一切片分割方法执行分割。
refine_slice_method_flag是指示根据实施方式的点云数据发送装置是否细化分割的切片的信息。例如,refine_slice_method_flag等于0指示发送装置不对切片执行根据实施方式的细化操作。例如,refine_slice_method_flag等于1指示发送装置对切片执行根据实施方式的细化操作。
例如,当refine_slice_method_flag的值为1时,根据实施方式的SPS可以还包括refine_method。
refine_method是指示将由发送装置执行的分割的切片的细化的方法(或类型)的信息。例如,refine_method等于0(或第一值)可以指示发送装置使用根据实施方式的基于列表的切片细化的方法(list_refine_method:使用基于列表的切片细化的方法)。例如,refine_method等于1(或第二值)可以指示发送装置使用根据实施方式的基于树的切片细化的方法(tree_refine_method:使用基于树的切片细化的方法)。
refine_method_condition的信息指示将由发送装置执行的细化方法是否是基于距离的细化、2向/4向/6向细化和/或另一细化方法。
例如,当refine_method_condition的值为0时,该参数指示发送装置使用根据实施方式的基于距离的细化(distance_refine_method)。当refine_method_condition的值为0时,TPS可以还包括distance_point_to_point_location。
例如,当refine_method_condition的值为1时,该参数指示发送装置使用根据实施方式的基于相邻切片的2向/4向/6向细化的方法(distance_refine_method)。当refine_method_condition的值为1时,TPS可以还包括neighbour_order_to_merge(2way_neighbour_refine_mehod)。
例如,当refine_method_condition信息的值为2时,该参数指示发送装置使用其它细化方法。
distance_point_to_point_location指示当根据实施方式的发送装置使用基于距离的细化方法执行细化时用于测量各个切片的距离的基准。
例如,基于distance_point_to_point_location,发送装置可使用边界框中的最近切片、位于对应于中值的距离处的切片或最远切片作为距离测量的基准。
distance_point_to_point_location等于0指示发送装置使用切片中最近的切片作为距离测量的基准。distance_point_to_point_location等于1指示发送装置使用位于与切片当中的中值相对应的距离处的切片作为距离测量的基准。distance_point_to_point_location等于2指示发送装置使用切片中的最远切片作为距离测量的基准。
neighbors_order_to_merge可指示按如下示例性地描述的顺序对2向/4向/6向相邻切片(特定片周围的上侧相邻切片、下侧相邻切片、左侧相邻切片和右侧相邻切片)执行的合并操作和/或拆分操作。
neighbors_order_to_merge等于0指示包括与特定切片相邻的切片中的最小数量的点的切片首先被合并和/或拆分。neighbors_order_to_merge等于1指示在与特定切片相邻的切片中包括最大数目的点的切片首先被合并和/或拆分。neighbors_order_to_merge等于2指示与特定切片相邻的切片中的单独定义的切片首先被合并和/或拆分。
sps_extension_present_flag等于1指定sps_extension_data句法结构存在于SPSRBSP句法结构中。sps_extension_present_flag等于0指定此句法结构不存在。当不存在时,sps_extension_present_flag的值可以被推定为等于0。
sps_extension_data_flag可以具有任何值。其存在和值不影响解码器与附录A中指定的简档的一致性。解码器与附录A中指定的简档一致。
根据实施方式的SPS还可包括sequential_input_slice_configuration_in_tile_flag、overlapping_slice_compose_flag和overlapping_slice_compose_method[i]。
图32示出根据实施方式的比特流中的拼块参数集(TPS)的实例。
图32所示的参数可以包括在参照图30描述的TPS中。根据实施方式的TPS可包括与根据实施方式的切片分割或切片成块方法相关的信令信息和/或相关信令信息。
num_tiles表示为比特流用信号通知的拼块的数目。当不存在时,num_tiles可被推定为0。
根据实施方式的TPS可以包括与num_tiles所指示的值一样多的后续信令信息。
tile_bounding_box_offset_x[i]表示笛卡尔坐标中第i个拼块的x偏移。当不存在时,tile_bounding_box_offset_x[0]的值可以被推定为sps_bounding_box_offset_x。
tile_bounding_box_offset_y[i]表示笛卡尔坐标中第i个拼块的y偏移。当不存在时,tile_bounding_box_offset_y[0]的值可以被推定为sps_bounding_box_offset_y。
tile_bounding_box_offset_z[i]表示笛卡尔坐标中第i个拼块的z偏移。当不存在时,tile_bounding_box_offset_z[0]的值可以被推定为sps_bounding_box_offset_z。
tile_bounding_box_scale_factor[i]指示与笛卡尔坐标中的第i个拼块相关的缩放因子。当不存在时,tile_bounding_box_scale_factor[0]的值可以被推定为sps_bounding_box_scale_factor。
tile_bounding_box_size_width[i]表示笛卡尔坐标中第i个拼块的宽度。当不存在时,tile_bounding_box_size_width[0]的值可以被推定为sps_bounding_box_size_width。
tile_bounding_box_size_height[i]表示笛卡尔坐标中第i个拼块的高度。当不存在时,tile_bounding_box_size_height[0]的值可以被推定为sps_bounding_box_size_height。
tile_bounding_box_size_depth[i]指示笛卡尔坐标中第i个拼块的深度。当不存在时,tile_bounding_box_size_depth[0]的值可以被推定为sps_bounding_box_size_depth。
根据实施方式的TPS可以包括partitioning_enable_flag。
partitioning_enabling_flag可以是指示与参照图31描述的SPS中所包括的partitioning_enabling_flag相同的操作的参数。当partitioning_enabling_flag的值为1时,根据实施方式的TPS还可包括Partitioning_method的信息。
partitioning_method可以是指示与参照图31描述的SPS中所包括的Partitioning_method相同的操作的参数。
refine_slice_method_flag可以是指示与参照图31描述的SPS中所包括的refine_slice_method_flag相同的操作的参数。例如,当refine_slice_method_flag的值为1时,根据实施方式的TPS可以还包括refine_method的信息。
refine_method可以是指示与参照图31描述的SPS中所包括的refine_method相同的操作的参数。
refine_method_condition可以是指示与参照图31描述的SPS中所包括的refine_method_condition相同的操作的参数。
例如,当refine_method_condition的值为0时,该参数指示发送装置使用根据实施方式的基于距离的细化(distance_refine_method)。当refine_method_condition的值为0时,TPS可还包括distance_point_to_point_location的信息。
例如,当refine_method_condition的值为1时,该参数指示发送装置使用根据实施方式的基于相邻切片的2向/4向/6向细化的方法。当refine_method_condition的值为1时,TPS可以还包括neighbor_order_to_merge的信息。
distance_point_to_point_location和neighbor_order_to_merge可以是指示与参照图31描述的SPS中所包括的distance_point_to_point_location和neighbor_order_to_merge相同的操作的参数。
图33示出了根据实施方式的比特流中的几何参数集(GPS)的示例。
图33所示的参数可以包括在参照图30描述的GPS中。根据实施方式的GPS可包括与根据实施方式的切片分割或切片成块方法相关的信令信息和/或相关信令信息。
gps_geom_parameter_set_id为提供针对GPS的标识符,供其它句法元素参考。gps_seq_parameter_set_id的值可以在0到15的范围内,包含端点。
gps_seq_parameter_set_id指定活动SPS的sps_seq_parameter_set_id的值。gps_seq_parameter_set_id的值可以在0到15的范围内,包含端点。
gps_box_present_flag等于1指定在引用当前GPS的几何头中提供附加的边界框信息。gps_bounding_box_present_flag等于0指定不在几何头中用信号通知额外的边界框信息。
unique_geometry_points_flag等于1指示所有输出点具有唯一位置。unique_geometry_points_flag等于0指示输出点可具有相同位置。
neighbour_context_restriction_flag等于0指示八叉树占用编码使用从6个相邻父节点确定的上下文。neighbour_context_restriction_flag等于1指示八叉树编码仅使用从兄弟节点确定的上下文。
incided_direct_coding_mode_enabled_flag等于0指示八叉树编码使用incided_direct_coding_mode。incided_direct_coding_mode_enabled_flag等于1指示八叉树编码使用从兄弟相邻节点确定的多个上下文。
log2_neighbour_avail_boundary如下指定在解码过程中使用的变量neighbouravailboundary的值:
neighboravailboundary=2log2_neighbor_avail_boundary。
log2_trisoup_node_size如下将变量trisoupnodesize指定为三角形节点的大小。
trisoupnodesize=2log2_trisoup_node_size
log2_trisoup_node_size的值可以大于或等于0。当log2_trisoup_node_size等于0时,几何比特流可仅包括八叉树编码句法。
根据实施方式的TPS可以包括partitioning_enable_flag。
partitioning_enabling_flag可以是指示与参照图31描述的SPS中所包括的partitioning_enabling_flag相同的操作的参数。当partitioning_enabling_flag的值是1时,根据实施方式的GPS可以还包括Partitioning_method的信息。
partitioning_method可以是指示与参照图31描述的SPS中所包括的Partitioning_method相同的操作的参数。
refine_slice_method_flag可以是指示与参照图31描述的SPS中所包括的refine_slice_method_flag相同的操作的参数。例如,当refine_slice_method_flag的值是1时,根据实施方式的GPS可以还包括refine_method的信息。
refine_method可以是指示与参照图31描述的SPS中所包括的refine_method相同的操作的参数。
refine_method_condition可以是指示与参照图31描述的SPS中所包括的refine_method_condition相同的操作的参数。
例如,当refine_method_condition信息的值为0时,该参数指示发送装置使用根据实施方式的基于距离的细化方法(distance_refine_method)。当refine_method_condition信息的值为0时,TPS可还包括distance_point_to_point_location的信息。
例如,当refine_method_condition的值为1时,该参数指示发送装置使用根据实施方式的基于相邻切片的2向/4向/6向细化的方法。当refine_method_condition的值为1时,TPS可以还包括neighbor_order_to_merge的信息。
distance_point_to_point_location和neighbor_order_to_merge可以是指示与参照图31描述的SPS中所包括的distance_point_to_point_location和neighbor_order_to_merge相同的操作的参数。
gps_extension_present_flag等于1指定GPS_extension_data句法结构存在于GPSRBSP句法结构中。gps_extension_present_flag等于0指定此句法结构不存在。当不存在时,gps_extension_present_flag的值被推定为等于0。
gps_extension_data_flag可具有任何值。其存在和值不影响解码器与指定简档的一致性。
图34示出根据实施方式的比特流中的SPS的示例。
图34所示的参数可以包括在参照图30描述的SPS中。根据实施方式的SPS可包括与切片分割或切片成块方法相关的信令信息和/或相关信令信息。
根据实施方式的SPS可以是参照图31描述的profile_idc、profile_compatibility_flags、level_idc、sps_bounding_box_present_flag、sps_bounding_box_offset_x、sps_bounding_box_offset_y、sps_bounding_box_size_factor、sps_bounding_box_size_height、sps_seq_parameter_set_id、sps_num_attribute_sets、attribute_dimension[i]、attribute_instance_id[i]、attribute_cicp_colour_primaries[i]、,attribute_cicp_transfer_characteristics[i],、attribute_cicp_matrix_coeffs[i],、attribute_cicp_video_full_range_flag[i]、known_attribute_label[i],、partitioning_enabling_flag、partitioning_method、refine_slice_method_flag、refine_method、refine_method_condition、distance_point_to_point_location、neighbours_order_to_merge、sps_extension_present_flag和/或sps_extension_data_flag。对于包括在图31中的图34的元素的定义,可以参照图31的描述。
当refine_method_condition的值为1时,根据实施方式的SPS还可包括neighbor_num的信息和/或neighbor_search_method的信息。
根据实施方式的发送装置(细化器)通过neighbor_num用信号通知与切片相邻的切片的数量。举例来说,在2向细化方法的情况下,对于特定切片,neighbor_num的值可为2。
neighbor_search_method指示当发送装置基于N个(2向/4向/6向)切片执行细化操作时相邻邻居切片的选择方向。
图35示出根据实施方式的比特流中的TPS的示例。
图35所示的参数可以包括在参照图30描述的TPS中。根据实施方式的TPS可包括与根据实施方式的切片分割或切片成块方法相关的信令信息和/或相关信令信息。
根据实施方式的TPS可包括诸如参照图32描述的num_tiles,tile_bounding_box_offset_x[i]、tile_bounding_box_offset_y[i]、tile_bounding_box_offset_z[i],tile_bounding_box_size_factor[i],tile_bounding_box_size_height[i],tile_bounding_box_size_depth[i],partitioning_enabling_flag,partitioning_method,refine_slice_method_flag,refine_method,refine_method_condition、distance_point_to_point_location和neighbours_order_to_merge。对于包括在图32中的图35的元素的定义,可以参照图32的描述。
当refine_method_condition的值为1时,根据实施方式的TPS可以还包括neighbor_num的信息和/或neighbor_search_method的信息。
neighbor_num信息和neighbor_search_method信息可以分别执行与参照图34描述的neighbor_num信息和neighbor_search_method信息相同或相似的操作。TPS可以包括针对多达num_tiles个拼块的neighbor_num和/或neighbor_search_method。
图36示出了根据实施方式的比特流中的GPS的示例。
图36所示的参数可以包括在参照图30描述的GPS中。根据实施方式的GPS可包括与根据实施方式的切片分割或切片成块方法相关的信令信息和/或相关信令信息。
根据实施方式的GPS可包括诸如参照图33描述的gps_geom_parameter_set_id、gps_seq_parameter_set_id、gps_box_present_flag、unique_geometry_points_flag、neighbour_context_restriction_flag、incided_direct_coding_mode_enabled_flag、bitwise_occupancy_flag、child_neighbour_enabled_flag、geom_occupancy_factor、log2_neighbour_avail_boundary、log2_intra_pred_max_node_size、log2_trisoup_node_size、partitioning_enabling_flag、partitioning_method、refine_slice_method_flag、refine_method、refine_method_condition partitioning distance_point_to_point_location、neighbours_order_to_merge、gps_extension_present_flag和gps_extension_data_flag。对于包括在图33中的图36的要素的定义,可以参照图36的描述。
当refine_method_condition的值为1时,根据实施方式的GPS可以还包括neighbor_num和/或neighbor_search_method。
neighbor_num信息和neighbor_search_method信息可以分别执行与参照图34描述的neighbor_num信息和neighbor_search_method信息相同或相似的操作。GPS可包括针对多达num_tiles个各个拼块的neighbor_num和/或neighbor_search_method。
图37示出根据实施方式的比特流的几何切片头(GSH)的实例。
图37所示的参数可以包括在参照图30描述的GSH 30004a-1中。根据实施方式的GSH可包括与根据实施方式的切片分割或切片成块方法相关的信令信息和/或相关信令信息。
gsh_geometry_parameter_set_id指定活动GPS的gps_geom_parameter_set_id的值。
gsh_tile_id指定拼块的ID。
gsh_slice_id指定切片的ID。
当根据实施方式的GPS_box_present_flag具有值1或“真”时,GSH可还包括gsh_box_log2_scale、gsh_box_origin_、gsh_box_origin_y和gsh_box_origin_z。
gsh_box_log2_scale指定标度值。
gsh_box_origin_x指定笛卡尔坐标系中的源边界框的x坐标。
gsh_box_origin_y指定笛卡尔坐标系中的源边界框的y坐标。
gsh_box_origin_z指定笛卡尔坐标系中的源边界框的z坐标。
gsh_log2_max_nodesize指定用在解码过程中的变量maxnodesize的值如下:
maxnodesize=2(gbh_log2_max_nodesize)
gsh_points_number指定切片中编码点的数目。
根据实施方式的GSH还还包括根据参照图31到图36描述的实施方式的partitioning_enabling_flag、Partitioning_method、refine_slice_method_flag、refine_method、refine_method_condition、distance_point_to_point_location和/或neighbor_order_to_merge。
当refine_method_condition的值为1时,根据本发明的实施方式的GSH可以还包括neighbor_num和/或neighbor_search_method。
neighbor_num信息和neighbor_search_method信息可以分别执行与参照图34描述的neighbor_num信息和neighbor_search_method信息相同或相似的操作。
图38示出根据实施方式的比特流的属性切片头(ASH)的示例。
图38所示的参数可以包括在参照图30描述的Attrs 30004b和30004c中。根据实施方式的ASH可以包括与根据实施方式的切片分割或切片成块方法相关的信令信息,和/或相关的信令信息。
abh_attr_parameter_set_id指定活动APS的aps_attr_parameter_set_id的值。
abh_attr_sps_attr_idx指定活动SPS中设置的属性。abh_attr_sps_attr_idx的值可在活动SPS中的0到sps_num_attribute_set的范围内。
abh_attr_geom_slice_id指定geom slice ID的值。
根据实施方式的散列还可以包括根据参照图31到图37描述的实施方式的partitioning_enabling_flag,Partitioning_method、refine_slice_method_flag、refine_method、refine_method_condition、distance_point_to_point_location和/或neighbor_order_to_merge。
当refine_method_condition的值为1时,根据本发明的实施方式的ASH可以还包括neighbor_num和/或neighbor_search_method。
neighbor_num信息和neighbor_search_method信息可以分别执行与参照图34描述的neighbor_num信息和neighbor_search_method信息相同或相似的操作。
图39是示出根据实施方式的发送点云数据的方法的流程图。
根据实施方式的点云数据发送方法包括编码点云数据(39000)和/或发送包含点云数据和关于点云数据的信令信息的比特流(39001)。
图39中公开的操作中的一些或全部可以被组合并且由图14的XR装置1430等执行。
在点云数据编码(39000)中,点云数据发送装置获取点云数据,并对获取的点云数据进行编码。编码表示图1的点云视频编码器10002、图2的编码18001、参照图4描述的操作中的一些或全部、参照图5到图9描述的操作中的一些或全部、和/或参照图12描述的操作中的一些或全部操作。
在点云数据的编码(39000)中,可以执行图15的空间分割器15001的操作、图15的几何信息编码器15002的操作、图15的属性信息编码器15003的操作以及图16到图28所示的操作中的一些或全部。
在包含点云数据和关于点云数据的信令信息的比特流的发送(39001)中,点云数据发送装置发送编码的点云数据和/或信令信息。发送(39001)表示图1的发送器10003、图2的发送单元18002和图12的传输处理器12012的操作。在该操作39001中,发送图15中的几何信息比特流15000b和属性信息比特流15000c。在该操作39001中,将几何信息比特流15000b和属性信息比特流15000c组合成一个比特流并发送。
信令信息也可以被称为元数据。
点云数据可以表示例如包含在图30所示的切片中的几何切片数据和/或包含在各个Attr中的属性切片数据。元数据可包括例如图30的SPS 30001、GPS 30002、APS30003和TPS 30004。元数据可以表示例如包括在切片中的几何切片头30004a-1和/或包括在各个Attr中的属性切片头(ASH)。
即,根据参照图31到图37描述的实施方式,元数据可包括例如SPS、TPS、GPS、GSH和/或ASH。
根据实施方式的点云数据发送方法可以还包括基于切片分割点云数据。可以在点云数据的编码(39000)之前执行基于切片的点云数据的分割。在根据实施方式的点云数据发送方法中,点云数据的编码(39000)可以在各个分割的切片上独立地执行。
根据实施方式的点云数据发送方法还可以包括:当切片中的点数小于最小点数时,将切片与相邻切片合并。根据实施方式的分割可以基于根据实施方式的使用八叉树的均匀几何分割、根据实施方式的沿着最长边的均匀几何分割和/或根据实施方式的均匀正方形分割中的至少一者来执行。
根据实施方式的使用八叉树的均匀几何分割参考参照图24描述的分割方法。根据实施方式的沿着最长边的均匀几何分割指的是参照图25描述的分割方法。根据实施方式的均匀正方形分割是指参照图21描述的分割方法。
根据实施方式的点云数据发送方法还可以包括:当切片中的点数大于最大点数时,将切片拆分为两个或更多个切片。
根据实施方式的相邻切片可以是基于4向细化方法的切片的左切片、切片的右切片、切片的上切片或切片的下切片之一。根据实施方式的相邻切片可以是基于6向细化方法的切片的左切片、切片的右切片、切片的上切片、切片的下切片、切片的前切片和/或切片的后切片之一。
图40是示出根据实施方式的接收点云数据的方法的流程图。
根据实施方式的点云数据接收方法包括接收包含点云数据和/或关于点云数据的信令信息的比特流(40000),和/或解码比特流中的点云数据(40001)。
图40中公开的操作中的一些或全部可以被组合并且由图14的XR装置1430等执行。
接收比特流的操作40000表示图1的接收器10005的操作、接收从图2的发送单元发送的比特流的操作、图10中的接收比特流的操作、图12的数据输入单元12000的操作、图13的接收器13000的操作、以及图13的接收处理器13001的操作。
比特流可包括图28的几何信息比特流28000a和属性信息比特流28000b。比特流包括点云数据和/或关于点云数据的信令信息。信令信息也可以被称为元数据。
点云数据可以表示例如包含在图30所示的切片中的几何切片数据和/或包含在各个Attr中的属性切片数据。元数据可包括例如图30的SPS 30001、GPS 30002、APS30003和TPS 30004。元数据可以表示例如包括在切片中的几何切片头30004a-1和/或包括在各个Attr中的ASH。
即,根据参照图31到图37描述的实施方式,元数据可包括例如SPS、TPS、GPS、GSH和/或ASH。
可在一个或更多个切片或一个或更多个拼块中携载根据实施方式的比特流(或点云数据)。各个切片包括基于根据实施方式的点云数据分割方法分割的点云数据或基于根据实施方式的点云数据细化方法细化的点云数据。
已经根据方法和/或装置描述了实施方式。方法的描述和装置的描述可以彼此互补。
虽然为了简单起见,已经参考各个附图描述了实施方式,但是可以通过合并附图中示出的实施方式来设计新的实施方式。如果本领域的技术人员设计了计算机可读的记录介质,其中记录了用于执行在前面的描述中提到的实施方式的程序,则它也可以落入所附权利要求及其等同物的范围内。所述装置和方法可以不受上述实施方式的配置和方法的限制。上述实施方式可以通过选择性地彼此完全或部分地组合来配置以实现各种修改。尽管已经参考附图描述了优选实施方式,但是本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可以在实施方式中做出各种修改和变化。从实施方式的技术思想或观点来看,这些修改不应单独理解。
实施方式的装置的各种元件可由硬件、软件、固件或其组合实现。实施方式中的各种元件可由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施方式的任一个或更多个操作/方法或者包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可被存储在被配置成由一个或更多个处理器执行的非暂时性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所述的方法,
其中,分割所述点云数据包括第一方法、第二方法或第三方法中的至少一种,
其中,所述第一方法包括将包括所述点云数据的三维空间分割为8的八叉树切片的深度次方,所述八叉树的深度是基于所述多个切片的点的数目的比来评估的,
其中,所述第二方法包括将所述三维空间中的最长边除以所述三维空间中的最短边,
其中,所述第三方法包括通过用所述三维空间的第三轴的长度将三维空间的第一轴和第二轴分段,来将所述三维空间分割为均匀正方形的切片。
4.根据权利要求2所述的方法,
其中,所述相邻切片是该切片的左切片、该切片的右切片、该切片的上切片或该切片的下切片中的一者。
5.根据权利要求2所述的方法,
其中,所述相邻切片是该切片的左切片、该切片的右切片、第一切片的上切片,该切片的下切片、该切片的前切片和该切片的后切片中的一者。
6.根据权利要求5所述的方法,
其中,基于表示所述切片之间的相邻的数据结构执行所述合并或所述拆分,
其中,所述数据结构是基于树的数据结构或基于列表的数据结构。
7.根据权利要求1所述的方法,
其中,所述信令信息包括表示分割所述点云数据的方法的信息。
8.一种发送点云数据的装置,所述装置包括:
编码器,所述编码器被配置成对点云数据进行编码;以及
发送器,所述发送器被配置成发送包括所述点云数据和针对所述点云数据的信令信息的比特流。
9.根据权利要求8所述的装置,所述装置还包括:
分割器,所述分割器被配置成基于多个切片执行对所述点云数据的分割;以及
细化器,所述细化器被配置成
当所述多个切片中的一个切片中的点的数目小于最小点数时,将该切片与相邻切片合并,或者当所述多个切片中的一个切片中的点的数目大于最大点数时,拆分该切片。
10.根据权利要求9所述的装置,
其中,所述分割器被配置成基于第一操作、第二操作或第三操作中的至少一个来执行对所述点云数据的分割,
其中,所述分割器基于所述第一操作,将包括所述点云数据的三维空间分割为8的八叉树切片的深度次方,所述八叉树的深度是基于所述多个切片的点的数目数的比来评估的。
11.根据权利要求9所述的装置,
其中,所述相邻切片是该切片的左切片、该切片的右切片、该切片的上切片或该切片的下切片中的一者。
12.根据权利要求11所述的装置,
其中,所述相邻切片是该切片的左切片、该切片的右切片、第一切片的上切片,该切片的下切片、该切片的前切片和该切片的后切片中的一者。
13.根据权利要求12所述的装置,
其中,所述细化器基于表示所述切片之间的相邻的数据结构执行所述合并或所述拆分,
其中,所述数据结构是基于树的数据结构或基于列表的数据结构。
14.根据权利要求8所述的装置,
其中,所述信令信息包括表示分割所述点云数据的方法的信息。
15.一种接收点云数据的方法,所述方法包括:
接收包括点云数据和点云数据的信令信息的比特流;以及
基于多个切片对所述比特流中的所述点云数据进行解码。
16.根据权利要求15所述的方法,
其中,各个切片包括基于分割所述点云数据而被分割的点云数据,或者基于细化所述点云数据而被细化的点云数据,
其中,所述信令信息包括用于表示分割方法的信息和用于表示细化方法的信息。
17.根据权利要求16所述的方法,
其中,分割所述点云数据包括第一方法、第二方法或第三方法中的至少一种,
其中,所述第一方法包括将包括所述点云数据的三维空间分割为8的八叉树切片的深度次方,所述八叉树的深度是基于所述多个切片的点的数目的比来评估的,
其中,所述第二方法包括将所述三维空间中的最长边除以所述三维空间中的最短边,
其中,所述第三方法包括通过用所述三维空间的第三轴的长度将三维空间的第一轴和第二轴分段,来将所述三维空间分割为均匀正方形的切片。
18.一种接收点云数据的装置,所述装置包括:
接收器,所述接收器被配置成接收包括点云数据和针对所述点云数据的信令信息的比特流;以及
解码器,所述解码器被配置成基于多个切片对所述比特流中的点云数据进行解码。
19.根据权利要求18所述的接收点云数据的装置,
其中,各个切片包括基于分割所述点云数据而被分割的点云数据,或者基于细化点所述云数据而被细化的点云数据,
其中,所述信令信息包括用于表示分割方法的信息和用于表示细化方法的信息。
20.根据权利要求19所述的接收点云数据的装置,
其中,分割所述点云数据包括第一方法、第二方法或第三方法中的至少一种,
其中,所述第一方法包括将包括所述点云数据的三维空间分割为8的八叉树切片的深度次方,所述八叉树的深度是基于所述多个切片的点的数目的比来评估的,
其中,所述第二方法包括将所述三维空间中的最长边除以所述三维空间中的最短边,
其中,所述第三方法包括通过用所述三维空间的第三轴的长度将三维空间的第一轴和第二轴分段,来将所述三维空间分割为均匀正方形的切片。
CN202080082031.XA 2020-01-07 2020-10-23 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 Pending CN114762334A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062958270P 2020-01-07 2020-01-07
US62/958,270 2020-01-07
KR10-2020-0032136 2020-03-16
KR20200032136 2020-03-16
PCT/KR2020/014597 WO2021141218A1 (ko) 2020-01-07 2020-10-23 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Publications (1)

Publication Number Publication Date
CN114762334A true CN114762334A (zh) 2022-07-15

Family

ID=76654719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080082031.XA Pending CN114762334A (zh) 2020-01-07 2020-10-23 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法

Country Status (6)

Country Link
US (1) US11601675B2 (zh)
EP (1) EP4090028A4 (zh)
JP (2) JP7448660B2 (zh)
KR (1) KR102381163B1 (zh)
CN (1) CN114762334A (zh)
WO (1) WO2021141218A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109979008B (zh) * 2019-04-09 2023-04-07 北京大学深圳研究生院 一种基于属性的点云条带划分方法
CN113838069B (zh) * 2021-09-27 2024-02-06 杭州景吾智能科技有限公司 基于平面度约束的点云分割方法和系统
WO2023096973A1 (en) * 2021-11-23 2023-06-01 Innopeak Technology, Inc. Geometry point cloud coding
WO2023116731A1 (en) * 2021-12-21 2023-06-29 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170347120A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US20170347122A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
WO2018127547A1 (en) * 2017-01-05 2018-07-12 Menhirs Nv Point cloud preprocessing and rendering
EP3432581A1 (en) * 2017-07-21 2019-01-23 Thomson Licensing Methods, devices and stream for encoding and decoding volumetric video
US20190080483A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Point Cloud Compression
CN110012279A (zh) * 2018-01-05 2019-07-12 上海交通大学 基于3d点云数据的分视角压缩和传输方法及系统
WO2019236335A1 (en) * 2018-06-07 2019-12-12 Interdigital Vc Holdings, Inc. Syntax elements for video encoding or decoding

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7940279B2 (en) * 2007-03-27 2011-05-10 Utah State University System and method for rendering of texel imagery
US9734595B2 (en) * 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
US11032545B2 (en) * 2017-06-29 2021-06-08 Qualcomm Incorporated Reducing seam artifacts in 360-degree video
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
CN111201549B (zh) * 2017-10-16 2024-04-09 索尼公司 信息处理装置和信息处理方法
JP7017580B2 (ja) * 2017-11-16 2022-02-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号装置、画像復号装置及び復号方法
CN108460791A (zh) * 2017-12-29 2018-08-28 百度在线网络技术(北京)有限公司 用于处理点云数据的方法和装置
KR102519653B1 (ko) * 2018-01-20 2023-04-07 삼성전자주식회사 포인트 클라우드 압축 방법 및 장치
WO2019198521A1 (ja) * 2018-04-11 2019-10-17 ソニー株式会社 画像処理装置および方法
US10984541B2 (en) * 2018-04-12 2021-04-20 Samsung Electronics Co., Ltd. 3D point cloud compression systems for delivery and access of a subset of a compressed 3D point cloud
US10796458B2 (en) * 2018-04-23 2020-10-06 Qualcomm Incorporated Compression of point clouds via a novel hybrid coder
US11284091B2 (en) * 2019-03-25 2022-03-22 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box
EP3923242A4 (en) * 2019-02-05 2022-04-06 Panasonic Intellectual Property Corporation of America METHOD OF ENCODING THREE-DIMENSIONAL DATA, METHOD OF DECODING OF THREE-DIMENSIONAL DATA, DEVICE FOR ENCODING OF THREE-DIMENSIONAL DATA, AND DECODER OF THREE-DIMENSIONAL DATA
JP7141543B2 (ja) * 2019-06-26 2022-09-22 テンセント・アメリカ・エルエルシー ポイントクラウドのジオメトリ復号及び符号化のための暗示的な四分木又は二分木ジオメトリ分割
WO2021000205A1 (zh) * 2019-06-30 2021-01-07 Oppo广东移动通信有限公司 变换方法、逆变换方法、编码器、解码器及存储介质
US11172224B2 (en) * 2019-09-03 2021-11-09 Tencent America LLC Techniques and apparatus for generalized Trisoup geometry coding

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170347120A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US20170347122A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
CN109196559A (zh) * 2016-05-28 2019-01-11 微软技术许可有限责任公司 动态体素化点云的运动补偿压缩
WO2018127547A1 (en) * 2017-01-05 2018-07-12 Menhirs Nv Point cloud preprocessing and rendering
EP3432581A1 (en) * 2017-07-21 2019-01-23 Thomson Licensing Methods, devices and stream for encoding and decoding volumetric video
US20190080483A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Point Cloud Compression
CN110012279A (zh) * 2018-01-05 2019-07-12 上海交通大学 基于3d点云数据的分视角压缩和传输方法及系统
WO2019236335A1 (en) * 2018-06-07 2019-12-12 Interdigital Vc Holdings, Inc. Syntax elements for video encoding or decoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ROBERT SKUPIN: "AHG17: HRD starting point", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENEVA, CH, 19–27 MARCH 2019, JVET-N0350》, 27 March 2019 (2019-03-27) *

Also Published As

Publication number Publication date
JP2024063123A (ja) 2024-05-10
EP4090028A1 (en) 2022-11-16
US20210211721A1 (en) 2021-07-08
WO2021141218A1 (ko) 2021-07-15
EP4090028A4 (en) 2023-04-26
JP7448660B2 (ja) 2024-03-12
KR20210089070A (ko) 2021-07-15
US11601675B2 (en) 2023-03-07
KR102381163B1 (ko) 2022-04-01
JP2023508271A (ja) 2023-03-02

Similar Documents

Publication Publication Date Title
US11217037B2 (en) Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and a method for receiving point cloud data
US11882303B2 (en) Apparatus and method for processing point cloud data
CN114503586A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN114503571A (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) 点云数据发送装置、发送方法、处理装置和处理方法
US11601675B2 (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
CN115428467B (zh) 点云数据发送设备和方法、点云数据接收设备和方法
US20230394712A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20220377327A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20220230360A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230059625A1 (en) Transform-based image coding method and apparatus therefor
CN115210765A (zh) 点云数据发送装置、发送方法、处理装置和处理方法
US20230334703A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230377203A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11395004B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115668920A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN114009046A (zh) 用于处理点云数据的装置和方法
US20240064332A1 (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
US20240121435A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20240020885A1 (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
US20230206510A1 (en) Point cloud data processing device and processing 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