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

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

Info

Publication number
CN117121488A
CN117121488A CN202280028542.2A CN202280028542A CN117121488A CN 117121488 A CN117121488 A CN 117121488A CN 202280028542 A CN202280028542 A CN 202280028542A CN 117121488 A CN117121488 A CN 117121488A
Authority
CN
China
Prior art keywords
frame
point cloud
cloud data
context
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280028542.2A
Other languages
English (en)
Inventor
朴宥宣
许惠桢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN117121488A publication Critical patent/CN117121488A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/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
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/172Methods 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 picture, frame or field
    • 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

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)和自动驾驶服务这样的各种服务。然而,需要几万到几十万个点数据来表示点云内容。因此,需要有效率地处理大量点数据的方法。
发明内容
技术问题
实施方式提供了用于有效率地处理点云数据的装置和方法。实施方式提供了用于应对等待时间和编码/解码复杂性的点云数据处理方法和装置。
实施方式的技术范围不限于以上提到的技术目标,并可以扩展到本领域的技术人员可以基于本文中公开的全部内容推断出的其它技术目标。
技术方案
为了实现这些目的和其它优点并且按照本公开的目的,如本文中实施和广义描述的,一种用于发送点云数据的方法可以包括对点云数据进行编码以及发送包括点云数据的比特流。在本公开的另一方面,一种用于接收点云数据的方法可以包括接收包括点云数据的比特流以及对点云数据进行解码。
有益效果
根据实施方式的装置和方法可以高效率地处理点云数据。
根据实施方式的装置和方法可以提供高质量的点云服务。
根据实施方式的装置和方法可以提供用于提供诸如VR服务和自动驾驶服务这样的通用服务的点云内容。
附图说明
被包括进来以提供对本公开的进一步理解并且被并入本申请的部分中并构成本申请的部分的附图例示了本公开的实施方式并与说明书一起用来说明本公开的原理。为了更好地理解下面描述的各种实施方式,应该参考结合附图对以下实施方式的描述。将在附图中通篇使用相同的参考标号来指代相同或类似的部分。在附图中:
图1示出根据实施方式的示例性点云内容提供系统;
图2是例示了根据实施方式的点云内容提供操作的框图;
图3例示了根据实施方式的捕获点云视频的示例性处理;
图4例示了根据实施方式的示例性点云编码器;
图5示出了根据实施方式的体素的示例;
图6示出根据实施方式的八叉树和占用码的示例;
图7示出根据实施方式的邻近节点图案的示例;
图8例示了根据实施方式的每个LOD中的点配置的示例;
图9例示了根据实施方式的每个LOD中的点配置的示例;
图10例示了根据实施方式的点云解码器;
图11例示了根据实施方式的点云解码器;
图12例示了根据实施方式的点云数据发送装置;
图13例示了根据实施方式的点云数据接收装置;
图14例示了根据实施方式的结合点云数据发送/接收方法/装置可操作的示例性结构;
图15例示了根据实施方式的点云数据的帧组(GoF)的示例;
图16例示了根据实施方式的点云数据发送装置;
图17例示了根据实施方式的点云数据接收装置;
图18例示了根据实施方式的点云数据发送装置;
图19例示了根据实施方式的点云数据接收装置;
图20例示了根据实施方式的点云数据的编码/解码过程;
图21示出了根据实施方式的点云数据的编码效率;
图22示出了根据实施方式的点云数据的编码效率;
图23示出了根据实施方式的编码的点云数据的示例;
图24示出了根据实施方式的序列参数集的语法的示例;
图25示出了根据实施方式的图块参数集的语法的示例;
图26示出了根据实施方式的几何参数集的语法的示例;
图27示出了根据实施方式的属性参数集的语法的示例;
图28示出了根据实施方式的几何比特流的切片头的语法的示例;
图29例示了根据实施方式的发送点云数据的方法;并且
图30例示了根据实施方式的接收点云数据的方法。
具体实施方式
现在,将详细参照本公开的优选实施方式,在附图中例示了这些实施方式的示例。下文将参照附图给出的详细描述旨在解释本公开的示例性实施方式,而非示出能够根据本公开实现的仅有的实施方式。以下详细描述包括具体细节,以提供对本公开的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本公开。
虽然在本公开中使用的大多数术语已选自本领域中广泛使用的通用术语,但一些术语已由申请人任意选择,并且在下面的描述中将根据需要详细解释它们的含义。因此,应当基于术语的本意而非它们的简单名称或含义来理解本公开。
图1示出了根据实施方式的示例性点云内容提供系统。
图1中例示的点云内容提供系统可以包括发送装置10000和接收装置10004。发送装置10000和接收装置10004能够进行有线或无线通信,以发送和接收点云数据。
根据实施方式的点云数据发送装置10000可以获得和处理点云视频(或点云内容),并发送该点云视频(或点云内容)。根据实施方式,发送装置10000可以包括固定站、基站收发器系统(BTS)、网络、人工智能(AI)装置和/或系统、机器人、AR/VR/XR装置和/或服务器。根据实施方式,发送装置10000可以包括被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信的装置、机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器。
根据实施方式的发送装置10000包括点云视频获取器10001、点云视频编码器10002和/或发送器(或通信模块)10003。
根据实施方式的点云视频获取器10001通过诸如捕获、合成或生成这样的处理过程获取点云视频。点云视频是由作为处于3D空间中的点的集合的点云表示的点云内容,并可以被称为点云视频数据。根据实施方式的点云视频可以包括一个或更多个帧。一帧表示静止图像/图片。因此,点云视频可以包括点云图像/帧/图片,并可以被称为点云图像、帧或图片。
根据实施方式的点云视频编码器10002对所获取的点云视频数据进行编码。点云视频编码器10002可以基于点云压缩编码对点云视频数据进行编码。根据实施方式的点云压缩编码可以包括基于几何的点云压缩(G-PCC)编码和/或基于视频的点云压缩(V-PCC)编码或下一代编码。根据实施方式的点云压缩编码不限于上述实施方式。点云视频编码器10002可以输出包含编码后的点云视频数据的比特流。比特流可以不仅包含编码后的点云视频数据,而且包含与点云视频数据的编码相关的信令信息。
根据实施方式的发送器10003发送包含编码后的点云视频数据的比特流。根据实施方式的比特流被封装在文件或段(例如,流传输段)中,并通过诸如广播网络和/或宽带网络这样的各种网络传输。尽管未在图中示出,但发送装置10000可以包括被配置为执行封装操作的封装器(或封装模块)。根据实施方式,封装器可以被包括在发送器10003中。根据实施方式,文件或段可以通过网络发送到接收装置10004,或被存储在数字存储介质(例如,USB、SD、CD、DVD、蓝光、HDD、SSD等)中。根据实施方式的发送器10003能够通过4G、5G、6G等网络与接收装置10004(或接收器10005)进行有线/无线通信。另外,发送器可以根据网络系统(例如,4G、5G或6G通信网络系统)执行必要的数据处理操作。发送装置10000可以以按需方式发送封装后的数据。
根据实施方式的接收装置10004包括接收器10005、点云视频解码器10006和/或渲染器10007。根据实施方式,接收装置10004可以包括被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信的装置、机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器。
根据实施方式的接收器10005从网络或存储介质接收包含点云视频数据的比特流或其中封装有比特流的文件/段。接收器10005可以根据网络系统(例如,4G、5G、6G等通信网络系统)执行必要的数据处理。根据实施方式的接收器10005可以对接收到的文件/段进行解封装并输出比特流。根据实施方式,接收器10005可以包括被配置为执行解封装操作的解封装器(或解封装模块)。解封装器可以被实现为与接收器10005分开的元件(或部件)。
点云视频解码器10006对包含点云视频数据的比特流进行解码。点云视频解码器10006可以根据对点云视频数据进行编码的方法(例如,在点云视频编码器10002的操作的逆处理中)对点云视频数据进行解码。因此,点云视频解码器10006可以通过执行点云解压缩编码来解码点云视频数据,点云解压缩编码是点云压缩的逆过程。点云解压缩编码包括G-PCC编码。
渲染器10007对解码后的点云视频数据进行渲染。渲染器10007可以通过不仅渲染点云视频数据而且渲染音频数据来输出点云内容。根据实施方式,渲染器10007可以包括被配置为显示点云内容的显示器。根据实施方式,显示器可以被实现为单独的装置或部件,而不是被包括在渲染器10007中。
图中虚线所指示的箭头表示由接收装置10004获取的反馈信息的传输路径。反馈信息是用于反映与消费点云内容的用户的交互性的信息,并包括关于用户的信息(例如,头方位信息、视口信息等)。特别地,当点云内容是需要与用户交互的服务(例如,自动驾驶服务等)的内容时,反馈信息可以被提供到内容发送方(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可以在接收装置10004和发送装置10000中使用,或可以不提供。
根据实施方式的头方位信息是关于用户的头部位置、方位、角度、运动等的信息。根据实施方式的接收装置10004可以基于头部方位信息来计算视口信息。视口信息可以是与用户正在观看的点云视频的区域有关的信息。视点是用户正通过其观看点云视频的点,并且可以是指视口区域的中心点。也就是说,视口是以视点为中心的区域,并且该区域的大小和形状可以由视场(FOV)确定。因此,除了头方位信息之外,接收装置10004还可以基于装置所支持的竖直或水平FOV来提取视口信息。此外,接收装置10004执行凝视分析等,以检查用户消费点云的方式、用户在点云视频中凝视的区域、凝视时间等。根据实施方式,接收装置10004可以将包括凝视分析结果的反馈信息发送到发送装置10000。可以在渲染和/或显示处理中获取根据实施方式的反馈信息。根据实施方式的反馈信息可以由接收装置10004中包括的一个或更多个传感器来获得。根据实施方式,反馈信息可以由渲染器10007或单独的外部元件(或装置、部件等)来获得。图1中的虚线表示发送由渲染器10007获得的反馈信息的处理。点云内容提供系统可以基于反馈信息来处理(编码/解码)点云数据。因此,点云视频解码器10006可以基于反馈信息来执行解码操作。接收装置10004可以将反馈信息发送到发送装置10000。发送装置10000(或点云视频编码器10002)可以基于反馈信息来执行编码操作。因此,点云内容提供系统可以基于反馈信息来高效地处理必要数据(例如,对应于用户头部位置的点云数据)而不是处理(编码/解码)整个点云数据,并向用户提供点云内容。
根据实施方式,发送装置10000可以被称为编码器、发送装置、发送器等,并且接收装置10004可以被称为解码器、接收装置、接收器等。
(通过获取/编码/发送/解码/渲染的一系列处理)在根据实施方式的图1的点云内容提供系统中处理的点云数据可以被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可以被用作涵盖与点云数据相关的元数据或信令信息的概念。
图1中例示的点云内容提供系统的元件可以由硬件、软件、处理器和/或其组合来实现。
图2是例示了根据实施方式的点云内容提供操作的框图。
图2的框图示出了图1中描述的点云内容提供系统的操作。如上所述,点云内容提供系统可以基于点云压缩编码(例如,G-PCC)来处理点云数据。
根据实施方式的点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可以获取点云视频(20000)。点云视频由属于用于表示3D空间的坐标系的点云表示。根据实施方式的点云视频可以包括Ply(多边形文件格式或斯坦福三角格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可以包括一个或更多个Ply文件。Ply文件包含诸如点几何和/或属性这样的点云数据。几何包括点的位置。每个点的位置可以由表示三维坐标系(例如,由X、Y和Z轴构成的坐标系)的参数(例如,X、Y和Z轴的值)来表示。属性包括点的属性(例如,关于每个点的纹理、颜色(YCbCr或RGB)、反射率r、透明度等的信息)。点有一个或更多个属性。例如,点可以有作为颜色的属性或作为颜色和反射率的两个属性。根据实施方式,几何可以被称为位置、几何信息、几何数据等,并且属性可以被称为属性、属性信息、属性数据等。点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可以从与点云视频的获取处理相关的信息(例如,深度信息、颜色信息等)中获得点云数据。
根据实施方式的点云内容提供系统(例如,发送装置10000或点云视频编码器10002)可以对点云数据进行编码(20001)。点云内容提供系统可以基于点云压缩编码对点云数据进行编码。如上所述,点云数据可以包括点的几何和属性。因此,点云内容提供系统可以执行对几何进行编码的几何编码,并输出几何比特流。点云内容提供系统可以执行对属性进行编码的属性编码,并输出属性比特流。根据实施方式,点云内容提供系统可以基于几何编码来执行属性编码。根据实施方式的几何比特流和属性比特流可以被复用并作为一个比特流输出。根据实施方式的比特流还可以包含与几何编码和属性编码相关的信令信息。
根据实施方式的点云内容提供系统(例如,发送装置10000或发送器10003)可以发送编码后的点云数据(20002)。如图1中例示的,编码后的点云数据可以由几何比特流和属性比特流表示。另外,编码后的点云数据可以以比特流的形式连同与点云数据的编码相关的信令信息(例如,与几何编码和属性编码相关的信令信息)一起发送。点云内容提供系统可以封装携带编码后的点云数据的比特流,并以文件或段的形式发送该比特流。
根据实施方式的点云内容提供系统(例如,接收装置10004或接收器10005)可以接收包含编码后的点云数据的比特流。另外,点云内容提供系统(例如,接收装置10004或接收器10005)可以对比特流进行解复用。
点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以对在比特流中发送的编码后的点云数据(例如,几何比特流、属性比特流)进行解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以基于与比特流中包含的点云视频数据的编码相关的信令信息对点云视频数据进行解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以对几何比特流进行解码,以重构点的位置(几何)。点云内容提供系统可以通过基于重构的几何对属性比特流进行解码来重构点的属性。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以基于根据重构的几何的位置和解码后的属性来重构点云视频。
根据实施方式的点云内容提供系统(例如,接收装置10004或渲染器10007)可以渲染解码后的点云数据(20004)。点云内容提供系统(例如,接收装置10004或渲染器10007)可以使用各种渲染方法来渲染通过解码处理解码的几何和属性。点云内容中的点可以被渲染为具有一定厚度的顶点、以对应顶点位置为中心的具有特定最小尺寸的立方体或以对应顶点位置为中心的圆。通过显示器(例如,VR/AR显示器、常见显示器等)向用户提供渲染后的点云内容的全部或部分。
根据实施方式的点云内容提供系统(例如,接收装置10004)可以获得反馈信息(20005)。点云内容提供系统可以基于反馈信息来编码和/或解码点云数据。根据实施方式的点云内容提供系统的反馈信息和操作与参考图1描述的反馈信息和操作相同,因此省略对其的详细描述。
图3例示了根据实施方式的捕获点云视频的示例性处理。
图3例示了参考图1至图2描述的点云内容提供系统的示例性点云视频捕获处理。
点云内容包括表示位于各种3D空间(例如,表示真实环境的3D空间、表示虚拟环境的3D空间等)中的对象和/或环境的点云视频(图像和/或视频)。因此,根据实施方式的点云内容提供系统可以使用一个或更多个相机(例如,能够获得深度信息的红外相机、能够提取与深度信息对应的颜色信息的RGB相机等)、投影仪(例如,用于获得深度信息的红外图案投影仪)、LiDRA等来捕获点云视频。根据实施方式的点云内容提供系统可以从深度信息中提取由3D空间中的点构成的几何的形状,并从颜色信息中提取每个点的属性以获得点云数据。可以基于面向内技术和面向外技术中的至少一种来捕获根据实施方式的图像和/或视频。
图3的左部例示了面向内技术。面向内技术是指用设置在中心对象周围的一个或更多个相机(或相机传感器)捕获中心对象的图像的技术。可以使用面向内技术生成向用户提供关键对象的360度图像的点云内容(例如,向用户提供对象(例如,诸如角色、玩家、对象或演员这样的关键对象)的360度图像的VR/AR内容)。
图3的右部例示了面向外技术。面向外技术是指用设置在中心对象周围的一个或更多个相机(或相机传感器)捕获中心对象的环境而非中心对象的图像的技术。可以使用面向外技术生成用于提供从用户的角度出现的周围环境的点云内容(例如,表示可以提供给自动驾驶车辆的用户的外部环境的内容)。
如图中所示,可以基于一个或更多个相机的捕获操作来生成点云内容。在这种情况下,坐标系在每个相机当中是不同的,因此,点云内容提供系统可以在捕获操作之前校准一个或更多个相机以设置全局坐标系。另外,点云内容提供系统可以通过将任意图像和/或视频与通过上述捕获技术捕获的图像和/或视频进行合成来生成点云内容。点云内容提供系统可以不在其生成表示虚拟空间的点云内容时执行图3中描述的捕获操作。根据实施方式的点云内容提供系统可以对所捕获的图像和/或视频执行后处理。换句话说,点云内容提供系统可以去除不需要的区域(例如,背景),识别所捕获的图像和/或视频连接到的空间,并且当存在空间孔时执行填充空间孔的操作。
点云内容提供系统可以通过对从每个相机获得的点云视频的点执行坐标变换来生成一条点云内容。点云内容提供系统可以基于每个相机位置的坐标对点执行坐标变换。因此,点云内容提供系统可以生成表示一个宽范围的内容,或可以生成具有高密度点的点云内容。
图4例示了根据实施方式的示例性点云编码器。
图4示出了图1的点云视频编码器10002的示例。点云编码器重构并编码点云数据(例如,点的位置和/或属性),以根据网络条件或应用来调整点云内容的质量(例如,无损、有损或接近无损)。当点云内容的总大小大时(例如,对于30fps,给出60Gbps的点云内容),点云内容提供系统可能无法实时地流传输该内容。因此,点云内容提供系统可以基于最大目标比特率重构点云内容,以根据网络环境等提供该点云内容。
如参考图1至图2描述的,点云编码器可以执行几何编码和属性编码。几何编码在属性编码之前执行。
根据实施方式的点云编码器包括坐标变换器(变换坐标)40000、量化器(量化并去除点(体素化))40001、八叉树分析器(分析八叉树)40002、表面近似分析器(分析表面近似)40003、算术编码器(算术编码)40004、几何重构器(重构几何)40005、颜色变换器(变换颜色)40006、属性变换(变换属性)器40007、RAHT变换器(RAHT)40008、LOD生成器(生成LOD)40009、提升变换(提升)器40010、系数量化器(量化系数)40011和/或算术编码器(算术编码)40012。
坐标变换器40000、量化器40001、八叉树分析器40002、表面近似分析器40003、算术编码器40004和几何重构器40005可以执行几何编码。根据实施方式的几何编码可以包括八叉树几何编码、预测树几何编码、直接编码、三角汤(trisoup)几何编码和熵编码。直接编码和三角汤几何编码被选择性或组合地应用。几何编码不限于上述示例。
如图中所示,根据实施方式的坐标变换器40000接收位置并将其变换为坐标。例如,位置可以被变换为三维空间(例如,由XYZ坐标系表示的三维空间)中的位置信息。根据实施方式的三维空间中的位置信息可以被称为几何信息。
根据实施方式的量化器40001对几何进行量化。例如,量化器40001可以基于所有点的最小位置值(例如,X、Y和Z轴中的每一个上的最小值)来量化点。量化器40001执行以下量化操作:将每个点的位置值与最小位置值之间的差乘以预设的量化缩放值,然后通过对通过乘法获得的值进行四舍五入来找到最接近的整数值。因此,一个或更多个点可以具有相同的量化位置(或位置值)。根据实施方式的量化器40001基于量化位置来执行体素化,以重构量化点。如在作为包含2D图像/视频信息的最小单元的像素的情况中那样,根据实施方式的点云内容(或3D点云视频)的点可以被包括在一个或更多个体素中。作为体积与像素的复合词的术语体素是指当基于表示3D空间的轴(例如,X轴、Y轴和Z轴)将3D空间划分为单元(单位=1.0)时生成的3D立方空间。量化器40001可以将3D空间中的点的组与体素匹配。根据实施方式,一个体素可以仅包括一个点。根据实施方式,一个体素可以包括一个或更多个点。为了将一个体素表示为一个点,可以基于体素中包括的一个或更多个点的位置来设置体素的中心的位置。在这种情况下,可以组合一个体素中包括的所有位置的属性并将这些属性分配给该体素。
根据实施方式的八叉树分析器40002执行八叉树几何编码(或八叉树编码)从而以八叉树结构呈现体素。八叉树结构表示基于八叉树结构与体素匹配的点。
根据实施方式的表面近似分析器40003可以对八叉树进行分析和近似。根据实施方式的八叉树分析和近似是分析包含多个点的区域以高效提供八叉树和体素化的处理。
根据实施方式的算术编码器40004对八叉树和/或近似的八叉树执行熵编码。例如,编码方案包括算术编码。作为编码的结果,生成几何比特流。
颜色变换器40006、属性变换器40007、RAHT变换器40008、LOD生成器40009、提升变换器40010、系数量化器40011和/或算术编码器40012执行属性编码。如上所述,一个点可以具有一个或更多个属性。根据实施方式的属性编码同样应用于一个点所具有的属性。然而,当属性(例如,颜色)包括一个或更多个元素时,属性编码独立地应用于每个元素。根据实施方式的属性编码包括颜色变换编码、属性变换编码、区域自适应分层变换(RAHT)编码、基于内插的分层最近邻预测(预测变换)编码和具有更新/提升步骤(提升变换)的基于内插的分层最近邻预测编码。根据点云内容,可以选择性使用上述的RAHT编码、预测变换编码和提升变换编码,或者可以使用一个或更多个编码方案的组合。根据实施方式的属性编码不限于上述示例。
根据实施方式的颜色变换器40006执行变换属性中包括的颜色值(或纹理)的颜色变换编码。例如,颜色变换器40006可以变换颜色信息的格式(例如,从RGB到YCbCr)。可以根据属性中包括的颜色值可选地应用根据实施方式的颜色变换器40006的操作。
根据实施方式的几何重构器40005重构(解压缩)八叉树、预测树和/或近似的八叉树。几何重构器40005基于分析点分布的结果来重构八叉树/体素。重构的八叉树/体素可以被称为重构的几何(恢复的几何)。
根据实施方式的属性变换器40007执行属性变换,以基于未被执行几何编码的位置和/或重构的几何来变换属性。如上所述,由于属性取决于几何,因此属性变换器40007可以基于重构的几何信息来变换属性。例如,基于体素中包括的点的位置值,属性变换器40007可以变换该位置处的点的属性。如上所述,当基于体素中包括的一个或更多个点的位置来设置体素中心的位置时,属性变换器40007变换所述一个或更多个点的属性。当执行三角汤几何编码时,属性变换器40007可以基于三角汤几何编码来变换属性。
属性变换器40007可以通过计算从每个体素的中心的位置(或位置值)起特定位置/半径内的邻近点的属性或属性值(例如,每个点的颜色或反射率)的平均来执行属性变换。属性变换器40007可以在计算平均时根据该中心到每个点的距离来应用权重。因此,每个体素都有位置和计算出的属性(或属性值)。
属性变换器40007可以基于K-D树或莫顿码(Morton code)搜索存在于距每个体素的中心的位置特定位置/半径内的邻近点。K-D树是二叉搜索树,并支持能够基于位置来管理点的数据结构以便可以快速执行最近邻搜索(NNS)。通过将表示所有点的3D位置的坐标(例如,(x,y,z))呈现为比特值并混合所述比特来生成莫顿码。例如,当表示点的位置的坐标为(5,9,1)时,坐标的比特值为(0101,1001,0001)。以z、y和x的顺序根据比特索引混合比特值产生010001000111。该值被表示为十进制数1095。也就是说,具有坐标(5,9,1)的点的莫顿码值为1095。属性变换器40007可以基于莫顿码值对点进行排序,并通过深度优先遍历处理执行NNS。在属性变换操作之后,当在用于属性编码的另一变换处理中需要NNS时,使用K-D树或莫顿码。
如图中所示,变换后的属性被输入到RAHT变换器40008和/或LOD生成器40009。
根据实施方式的RAHT变换器40008基于重构的几何信息执行用于预测属性信息的RAHT编码。例如,RAHT变换器40008可以基于与八叉树中较低级别的节点关联的属性信息来预测八叉树中较高级别的节点的属性信息。
根据实施方式的LOD生成器40009生成细节层次(LOD)以执行预测变换编码。根据实施方式的LOD是点云内容的细节度。随着LOD值减小,表明点云内容的细节度下降。随着LOD值增大,表明点云内容的细节增强。可以按LOD对点进行分类。
根据实施方式的提升变换器40010执行基于权重来变换点云的属性的提升变换编码。如上所述,可以可选地应用提升变换编码。
根据实施方式的系数量化器40011基于系数对属性编码后的属性进行量化。
根据实施方式的算术编码器40012基于算术编码对量化后的属性进行编码。
尽管在该图中未示出,但图4的点云编码器的元件可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现,该处理器或集成电路被配置为与点云提供装置中包括的一个或更多个存储器通信。所述一个或更多个处理器可以执行上述图4的点云编码器的元件的操作和/或功能中的至少一者。另外,一个或更多个处理器可以操作或执行软件程序和/或指令的集合,以执行图4的点云编码器的元件的操作和/或功能。根据实施方式的一个或更多个存储器可以包括高速随机存取存储器,或包括非易失性存储器(例如,一个或更多个磁盘存储装置、闪速存储装置或其它非易失性固态存储装置)。
图5示出了根据实施方式的体素的示例。
图5示出了位于由三个轴即X轴、Y轴和Z轴构成的坐标系表示的3D空间中的体素。如参考图4描述的,点云编码器(例如,量化器40001)可以执行体素化。体素是指当基于表示3D空间的轴(例如,X轴、Y轴和Z轴)将3D空间划分为单元(单位=1.0)时生成的3D立方空间。图5示出了通过八叉树结构生成的体素的示例,在该八叉树结构中,由两个极点(0,0,0)和(2d,2d,2d)定义的立方轴对齐的边界框被递归地细分。一个体素包括至少一个点。可以根据与体素组的位置关系来估计体素的空间坐标。如上所述,体素具有像2D图像/视频的像素一样的属性(诸如,颜色或反射率)。体素的细节与参考图4描述的细节相同,因此省略对其的描述。
图6示出了根据实施方式的八叉树和占用码的示例。
如参考图1至图4描述的,点云内容提供系统(点云视频编码器10002)或点云编码器(例如,八叉树分析器40002)基于八叉树结构来执行八叉树几何编码(或八叉树编码),以高效地管理体素的区域和/或位置。
图6的上部示出了八叉树结构。根据实施方式的点云内容的3D空间由坐标系的轴(例如,X轴、Y轴和Z轴)表示。八叉树结构是通过递归细分由两个极点(0,0,0)和(2d,2d,2d)定义的立方轴对齐的边界框来创建的。这里,2d可以被设置为构成围绕点云内容(或点云视频)的所有点的最小边界框的值。这里,d表示八叉树的深度。用下式确定d的值。在下式中,(xint n,yint n,zint n)表示量化点的位置(或位置值)。
如图6的上部的中间所示,整个3D空间可以根据分区被划分为八个空间。每个划分空间由具有六个面的立方体表示。如图6的右上侧所示,基于坐标系的轴(例如,X轴、Y轴和Z轴)再次划分八个空间中的每一个。因此,每个空间被划分成八个更小的空间。所划分的更小空间也由具有六个面的立方体表示。应用该划分方案,直到八叉树的叶节点成为体素为止。
图6的下部示出了八叉树占用码。生成八叉树的占用码,以指示通过划分一个空间而产生的八个划分空间中的每一个是否包含至少一个点。因此,单个占用码由八个子节点表示。每个子节点表示所划分空间的占用,并且子节点具有1位的值。因此,占用码被表示为8位代码。也就是说,当在与子节点对应的空间中包含至少一个点时,该节点被赋予值1。当在对应于子节点的空间中不包含点(空间为空)时,该节点被赋予值0。由于图6中示出的占用码为00100001,因此它指示与八个子节点当中的第三个子节点和第八个子节点对应的空间各自包含至少一个点。如图中所示,第三个子节点和第八个子节点中的每一个具有8个子节点,并且子节点用8位占用码表示。该图示出第三个子节点的占用码为10000111,并且第八个子节点的占用码为01001111。根据实施方式的点云编码器(例如,算术编码器40004)可以对占用码执行熵编码。为了提高压缩效率,点云编码器可以对占用码执行帧内/帧间编码。根据实施方式的接收装置(例如,接收装置10004或点云视频解码器10006)基于占用码来重构八叉树。
根据实施方式的点云编码器(例如,图4的点云编码器或八叉树分析器40002)可以执行体素化和八叉树编码,以存储点的位置。然而,点并不总是均匀地分布在3D空间中,因此会有其中存在较少点的特定区域。因此,对整个3D空间执行体素化是低效的。例如,当特定区域包含的点较少时,不需要在特定区域中执行体素化。
因此,对于上述特定区域(或八叉树的叶节点以外的节点),根据实施方式的点云编码器可以跳过体素化并执行直接编码,以对特定区域中包括的点的位置直接进行编码。根据实施方式的直接编码点的坐标被称为直接编码模式(DCM)。根据实施方式的点云编码器还可以基于表面模型来执行三角汤几何编码,以基于体素来重构特定区域(或节点)中的点的位置。三角汤几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云解码器可以从网格表面生成点云。可以选择性执行根据实施方式的三角汤几何编码和直接编码。另外,可以结合八叉树几何编码(或八叉树编码)来执行根据实施方式的三角汤几何编码和直接编码。
为了执行直接编码,应该启用使用直接模式以应用直接编码的选项。将被应用直接编码的节点不是叶节点,并且在特定节点内应该存在少于阈值的点。另外,将应用直接编码的点的总数不应超过预设阈值。当满足以上条件时,根据实施方式的点云编码器(或算术编码器40004)可以对点的位置(或位置值)执行熵编码。
根据实施方式的点云编码器(例如,表面近似分析器40003)可以确定八叉树的特定级别(小于八叉树的深度d的级别),并且可以从该级别开始使用表面模型来执行三角汤几何编码,以基于体素来重构节点的区域中的点的位置(三角汤模式)。根据实施方式的点云编码器可以指定将应用三角汤几何编码的级别。例如,当特定级别等于八叉树的深度时,点云编码器不在三角汤模式下操作。换句话说,根据实施方式的点云编码器可以仅在所指定的级别小于八叉树的深度值时才在三角汤模式下操作。根据实施方式的所指定级别处的节点的3D立方区域被称为块。一个块可以包括一个或更多个体素。块或体素可以对应于砖块。几何被表示为每个块内的表面。根据实施方式的表面可以与块的每个边缘最多相交一次。
一个块有12个边缘,因此在一个块中至少存在12个交点。每个交点被称为顶点(或顶端点)。当在共享边缘的所有块当中至少存在一个与该边缘相邻的被占用体素时,检测到沿该边缘存在的顶点。根据实施方式的被占用体素是指包含点的体素。沿着边缘检测到的顶点的位置是沿着共享该边缘的所有块当中的与该边缘相邻的所有体素的边缘的平均位置。
一旦检测到顶点,根据实施方式的点云编码器就可以对边缘的起始点(x,y,z)、边缘的方向矢量(Δx,Δy,Δz)和顶点位置值(边缘内的相对位置值)执行熵编码。当应用三角汤几何编码时,根据实施方式的点云编码器(例如,几何重构器40005)可以通过执行三角重构、上采样和体素化处理来生成恢复后的几何(重构的几何)。
处于块的边缘处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角重构处理中,基于边缘的起始点、边缘的方向矢量和顶点的位置值来重构由三角形表示的表面。通过以下操作执行三角重构处理:i)计算每个顶点的质心值,ii)从每个顶点值减去中心值,以及iii)估计通过减法而获得的值的平方和。
估计和的最小值,并根据具有最小值的轴来执行投影处理。例如,当元素x为最小时,每个顶点相对于块的中心投影到x轴上,并投影到(y,z)平面上。当通过投影到(y,z)平面上而获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并根据θ的值对顶点进行排序。下面的表1示出了根据顶点的数目来创建三角形的顶点组合。顶点被从1到n地排序。下面的表1示出对于四个顶点,可以根据顶点的组合来构造两个三角形。第一个三角形可以由排序的顶点当中的顶点1、2和3组成,并且第二个三角形可以由排序顶点当中的顶点3、4和1组成。
由按1,…,n排序的顶点形成的三角形
n三角形
3(1,2,3)
4(1,2,3),(3,4,1)
5(1,2,3),(3,4,5),(5,1,3)
6(1,2,3),(3,4,5),(5,6,1),(1,3,5)
7(1,2,3),(3,4,5),(5,6,7),(7,1,3),(3,5,7)
8(1,2,3),(3,4,5),(5,6,7),(7,8,1),(1,3,5),(5,7,1)
9(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,1,3),(3,5,7),(7,9,3)
10(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,1),(1,3,5),(5,7,9),(9,1,5)
11(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,1,3),(3,5,7),(7,9,11),(11,3,7)
12(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,12,1),(1,3,5),(5,7,9),(9,11,1),(1,5,9)
执行上采样处理,以沿着三角形的边缘在中间添加点并执行体素化。所添加的点是基于上采样因子和块的宽度产生的。所添加的点被称为细化顶点。根据实施方式的点云编码器可以对细化顶点进行体素化。另外,点云编码器可以基于体素化位置(或位置值)来执行属性编码。
图7例示了根据实施方式的邻居节点模式的示例。
为了提高点云视频的压缩效率,根据实施方式的点云编码器可以基于上下文自适应算术编码来执行熵编码。
如参考图1至图6描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、点云编码器或图4的算术编码器40004)可以立即对占用码执行熵编码。另外,点云内容提供系统或点云编码器可以基于当前节点的占用码和邻居节点的占用来执行熵编码(帧内编码),或基于前一帧的占用码来执行熵编码(帧间编码)。根据实施方式的帧表示同时产生的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可以取决于被参考的邻居节点的数目。当比特增加时,操作变复杂,但编码可以偏向一侧,从而可以增加压缩效率。例如,当给定3比特上下文时,需要使用23=8种方法执行编码。为进行编码而划分的部分影响了实现方式的复杂度。因此,必须满足适当水平的压缩效率和复杂度。
图7例示了基于邻居节点的占用来获得占用模式的处理。根据实施方式的点云编码器确定八叉树的每个节点的邻居节点的占用,并获得邻居模式的值。使用该邻居节点模式来推断节点的占用模式。图7的左部示出了与节点对应的立方体(处于中间的立方体)以及与立方体共享至少一个面的六个立方体(邻居节点)。图中示出的节点是相同深度的节点。图中示出的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻居节点的位置依次指派权重。
图7的右部示出了邻居节点模式值。邻居节点模式值是乘以被占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点模式值为0至63。当邻居节点模式值为0时,指示该节点的邻居节点当中不存在具有点的节点(未占用节点)。当邻居节点模式值为63时,指示所有邻居节点都是被占用节点。如图中所示,由于被指派权重1、2、4和8的邻居节点是被占用节点,因此邻居节点模式值为15即1、2、4和8之和。点云编码器可以根据邻居节点模式值执行编码(例如,当邻居节点模式值为63时,可以执行64种编码)。根据实施方式,点云编码器可以通过改变邻居节点模式值(例如,基于通过其将64改变为10或6的表)来降低编码复杂度。
图8例示了根据实施方式的每个LOD中的点配置的示例。
如参考图1至图7描述的,在执行属性编码之前,重构(解压缩)编码后的几何。当应用直接编码时,几何重构操作可以包括改变直接编码后的点的放置(例如,将直接编码后的点放置在点云数据的前面)。当应用三角汤几何编码时,通过三角重构、上采样和体素化来执行几何重构处理。由于属性取决于几何,因此基于重构的几何执行属性编码。
点云编码器(例如,LOD生成器40009)可以通过LOD对点进行分类(重新组织)。该图示出了与LOD对应的点云内容。图中的最左侧图片表示原始点云内容。图中左侧起的第二个图片表示最低LOD中的点的分布,并且图中的最右侧图片表示最高LOD中的点的分布。也就是说,最低LOD中的点稀疏地分布,并且最高LOD中的点密集地分布。也就是说,随着LOD在由图的底部处指示的箭头所指的方向上上升,点之间的空间(或距离)变窄。
图9例示了根据实施方式的每个LOD的点配置的示例。
如参考图1至图8描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或LOD生成器40009)可以生成LOD。通过根据一组LOD距离值(或一组欧几里得距离)将点重新组织为一组细化级别来生成LOD。LOD生成处理不仅由点云编码器执行,而且由点云解码器执行。
图9的上部示出了分布在3D空间中的点云内容的点的示例(P0至P9)。在图9中,原始顺序表示LOD生成之前点P0至P9的顺序。在图9中,基于LOD的顺序表示根据LOD生成的点的顺序。通过LOD重新组织点。另外,高LOD包含属于较低LOD的点。如图9中所示,LOD0包含P0、P5、P4和P2。LOD1包含LOD0的点、P1、P6和P3。LOD2包含LOD0的点、LOD1的点、P9、P8和P7。
如参考图4描述的,根据实施方式的点云编码器可以选择性或组合地执行预测变换编码、提升变换编码和RAHT变换编码。
根据实施方式的点云编码器可以为点生成预测器,以执行预测变换编码来设置每个点的预测属性(或预测属性值)。也就是说,可以针对N个点生成N个预测器。根据实施方式的预测器可以基于每个点的LOD值、与存在于针对每个LOD的设定距离内的邻近点有关的加索引信息以及到邻近点的距离来计算权重(=1/距离)。
根据实施方式的预测属性(或属性值)被设置为通过将每个点的预测器中设置的邻近点的属性(或属性值)(例如,颜色、反射率等)乘以基于到每个邻近点的距离计算出的权重(或权重值)而获得的值的平均。根据实施方式的点云编码器(例如,系数量化器40011)可以对通过从每个点的属性(属性值)中减去预测的属性(属性值)而获得的残差(可以被称为残差属性、残差属性值或属性预测残差)进行量化和反量化。如下表中所示地配置该量化处理。
[表1]属性预测残差量化伪代码
int PCCQuantization(int value,int quantStep){
if(value>=0){
return floor(value/quantStep+1.0/3.0);
}else{
return-floor(-value/quantStep+1.0/3.0);
}
}
[表2]属性预测残差反量化伪代码
int PCCInverseQuantization(int value,int quantStep){
if(quantStep==0){
return value;
}else{
return value*quantStep;
}
)
当每个点的预测器具有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以如上所述对量化和反量化后的残差值执行熵编码。当每个点的预测器没有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以在不执行上述操作的情况下,对相应点的属性执行熵编码。
根据实施方式的点云编码器(例如,提升变换器40010)可以生成每个点的预测器,设置计算出的LOD并将邻近点登记到预测器中,并根据到邻近点的距离设置权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于权重被累加地应用于属性值。如下地配置根据实施方式的向属性值累加地应用权重的处理。
1)创建用于存储每个点的权重值的数组Quantization Weight(QW)(量化权重)。QW的所有元素的初始值为1.0。将在预测器中登记的邻居节点的预测器索引的QW值乘以当前点的预测器的权重,并将通过乘法而获得的值相加。
2)提升预测处理:从现有属性值中减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
3)创建被称为更新权重(updateweight)的临时数组,并将该临时数组更新并初始化为零。
4)将通过将针对所有预测器计算出的权重乘以存储在QW中的与预测器索引对应的权重而计算出的权重累加地添加到更新权重数组以作为邻居节点的索引。将通过将邻居节点的索引的属性值乘以计算出的权重而获得的值累加地添加到更新数组。
5)提升更新处理:将针对所有预测器的更新数组的属性值除以预测器索引的更新权重数组的权重值,并将现有的属性值与通过除法而获得的值相加。
6)通过针对所有预测器将通过提升更新处理而更新的属性值乘以(存储在QW中的)通过提升预测处理而更新的权重来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)对预测的属性值进行量化。另外,点云编码器(例如,算术编码器40012)对量化后的属性值执行熵编码。
根据实施方式的点云编码器(例如,RAHT变换器40008)可以执行RAHT变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。RAHT变换编码是通过八叉树后向扫描进行的属性帧内编码的示例。根据实施方式的点云编码器从体素扫描整个区域,并在每个步骤中重复将体素合并成较大块的合并处理,直至到达根节点。根据实施方式的合并处理仅在被占用节点上执行。合并处理不在空节点上执行。合并处理在空节点正上方的上部节点上执行。
下面的式表示RAHT变换矩阵。在该式中,表示级别l处的体素的平均属性值。可以基于/>和/>来计算/> 和/>的权重是/>
这里,是低通值并被用在下一更高级别处的合并处理中。/>表示高通系数。每个步骤中的高通系数被量化并经历熵编码(例如,通过算术编码器40012编码)。权重被计算为/>通过/>和/>计算根节点如下。
gDC的值也像高通系数一样被量化并经历熵编码。
图10例示了根据实施方式的点云解码器。
图10中例示的点云解码器是图1中描述的点云视频解码器10006的示例,并可以执行与图1中例示的点云视频解码器10006的操作相同或类似的操作。如图中所示,点云解码器可以接收一个或更多个比特流中包含的几何比特流和属性比特流。点云解码器包括几何解码器和属性解码器。几何解码器对几何比特流执行几何解码,并输出解码后的几何。属性解码器基于解码后的几何和属性比特流执行属性解码,并输出解码后的属性。使用解码后的几何和解码后的属性来重构点云内容(解码后的点云)。
图11例示了根据实施方式的点云解码器。
图11中例示的点云解码器是图10中例示的点云解码器的示例,并可以执行作为图1至图9中例示的点云编码器的编码操作的逆处理的解码操作。
如参考图1和图10描述的,点云解码器可以执行几何解码和属性解码。几何解码是在属性解码之前执行的。
根据实施方式的点云解码器包括算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001、表面近似合成器(合成表面近似)11002和几何重构器(重构几何)11003、坐标逆变换器(逆变换坐标)11004、算术解码器(算术解码)11005、反量化器(反量化)11006、RAHT变换器11007、LOD生成器(生成LOD)11008、逆提升器(逆提升)11009和/或逆颜色变换器(逆变换颜色)11010。
算术解码器11000、八叉树合成器11001、表面近似合成器11002和几何重构器11003以及坐标逆变换器11004可以执行几何解码。根据实施方式的几何解码可以包括直接解码和三角汤几何解码。直接解码和三角汤几何解码被选择性应用。几何解码不限于上述示例,并作为参考图1至图9描述的几何编码的逆处理来执行。
根据实施方式的算术解码器11000基于算术编码对接收到的几何比特流进行解码。算术解码器11000的操作对应于算术编码器40004的逆处理。
根据实施方式的八叉树合成器11001可以通过从解码后的几何比特流(或作为解码结果而获得的关于几何的信息)获取占用码来生成八叉树。如参考图1至图9详细描述地配置占用码。
当应用三角汤(trisoup)几何编码时,根据实施方式的表面近似合成器11002可以基于解码后的几何和/或所生成的八叉树来合成表面。
根据实施方式的几何重构器11003可以基于表面和/或解码后的几何来重新生成几何。如参考图1至图9描述的,直接编码和三角汤几何编码被选择性应用。因此,几何重构器11003直接导入并添加关于应用了直接编码的点的位置信息。当应用三角汤几何编码时,几何重构器11003可以通过执行几何重构器40005的重构操作(例如,三角重构、上采样和体素化)来重构几何。细节与参考图6描述的细节相同,因此省略对其的描述。重构的几何可以包括不包含属性的点云图片或帧。
根据实施方式的坐标逆变换器11004可以通过基于重构的几何变换坐标来获取点的位置。
算术解码器11005、反量化器11006、RAHT变换器11007、LOD生成器11008、逆提升器11009和/或逆颜色变换器11010可以执行参考图10描述的属性解码。根据实施方式的属性解码包括区域自适应分层变换(RAHT)解码、基于内插的分层最近邻预测(预测变换)解码和具有更新/提升步骤(提升变换)的基于内插的分层最近邻预测解码。可以选择性使用上述三种解码方案,或可以使用一种或更多种解码方案的组合。根据实施方式的属性解码不限于上述示例。
根据实施方式的算术解码器11005通过算术编码对属性比特流进行解码。
根据实施方式的反量化器11006对作为解码结果而获得的关于解码后的属性比特流或属性的信息进行反量化,并输出反量化后的属性(或属性值)。可以基于点云编码器的属性编码来选择性应用反量化。
根据实施方式,RAHT变换器11007、LOD生成器11008和/或逆提升器11009可以处理重构的几何和反量化后的属性。如上所述,RAHT变换器11007、LOD生成器11008和/或逆提升器11009可以选择性执行与点云编码器的编码对应的解码操作。
根据实施方式的逆颜色变换器11010执行逆变换编码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。可以基于点云视频编码器的颜色变换器40006的操作选择性执行逆颜色变换器11010的操作。
尽管在该图中未示出,但图11的点云解码器的元件可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现,该处理器或集成电路被配置为与点云提供装置中包括的一个或更多个存储器通信。所述一个或更多个处理器可以执行上述图11的点云解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可以操作或执行软件程序和/或指令的集合,以执行图11的点云解码器的元件的操作和/或功能。
图12例示了根据实施方式的发送装置。
图12中示出的发送装置是图1的发送装置10000(或图4的点云编码器)的示例。图12中例示的发送装置可以执行与参考图1至图9描述的点云编码器的操作和方法相同或类似的操作和方法中的一个或更多个。根据实施方式的发送装置可以包括数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码发生器12003、表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010、算术编码器12011和/或发送处理器12012。
根据实施方式的数据输入单元12000接收或获取点云数据。数据输入单元12000可以执行与点云视频获取器10001的操作和/或获取方法(或参考图2描述的获取处理20000)相同或类似的操作和/或获取方法。
数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码发生器12003、表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006执行几何编码。根据实施方式的几何编码与参考图1至图9描述的几何编码相同或类似,因此省略对其的详细描述。
根据实施方式的量化处理器12001对几何(例如,点的位置值)进行量化。量化处理器12001的操作和/或量化与参考图4描述的量化器40001的操作和/或量化相同或类似。细节与参考图1至图9描述的细节相同。
根据实施方式的体素化处理器12002对点的量化后位置值进行体素化。体素化处理器12002可以执行与参考图4描述的量化器40001的操作和/或体素化处理相同或类似的操作和/或处理。细节与参考图1至图9描述的细节相同。
根据实施方式的八叉树占用码发生器12003基于八叉树结构对点的体素化位置执行八叉树编码。八叉树占用码发生器12003可以生成占用码。八叉树占用码发生器12003可以执行与参考图4和图6描述的点云视频编码器(或八叉树分析器40002)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
根据实施方式的表面模型处理器12004可以基于表面模型来执行三角汤几何编码,以基于体素来重构特定区域(或节点)中的点的位置。表面模型处理器12004可以执行与参考图4描述的点云视频编码器(例如,表面近似分析器40003)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
根据实施方式的帧内/帧间编码处理器12005可以对点云数据执行帧内/帧间编码。帧内/帧间编码处理器12005可以执行与参考图7描述的帧内/帧间编码相同或类似的编码。细节与参考图7描述的细节相同。根据实施方式,帧内/帧间编码处理器12005可以被包括在算术编码器12006中。
根据实施方式的算术编码器12006对点云数据的八叉树和/或近似的八叉树执行熵编码。例如,编码方案包括算术编码。算术编码器12006执行与算术编码器40004的操作和/或方法相同或类似的操作和/或方法。
根据实施方式的元数据处理器12007处理关于点云数据的元数据(例如,设定值),并将其提供到诸如几何编码和/或属性编码这样的必要处理过程。另外,根据实施方式的元数据处理器12007可以生成和/或处理与几何编码和/或属性编码相关的信令信息。可以与几何编码和/或属性编码分开地对根据实施方式的信令信息进行编码。可以对根据实施方式的信令信息进行交织。
颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参考图1至图9描述的属性编码相同或类似,因此省略对其的详细描述。
根据实施方式的颜色变换处理器12008执行颜色变换编码,以变换属性中包括的颜色值。颜色变换处理器12008可以基于重构的几何来执行颜色变换编码。重构的几何与参考图1至图9描述的相同。另外,它执行与参考图4描述的颜色变换器40006的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。
根据实施方式的属性变换处理器12009执行属性变换,以基于重构的几何和/或未被执行几何编码的位置来变换属性。属性变换处理器12009执行与参考图4描述的属性变换器40007的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。根据实施方式的预测/提升/RAHT变换处理器12010可以通过RAHT编码、预测变换编码和提升变换编码中的任一种或其组合对变换后的属性进行编码。预测/提升/RAHT变换处理器12010执行与参考图4描述的RAHT变换器40008、LOD生成器40009和提升变换器40010的操作相同或类似的操作中的至少一者。另外,预测变换编码、提升变换编码和RAHT变换编码与参考图1至图9描述的那些相同,因此省略对其的详细描述。
根据实施方式的算术编码器12011可以基于算术编码对编码后的属性进行编码。算术编码器12011执行与算术编码器40012的操作和/或方法相同或类似的操作和/或方法。
根据实施方式的发送处理器12012可以发送包含编码后的几何和/或编码后的属性和元数据信息的每个比特流,或发送配置有编码后的几何和/或编码后的属性和元数据信息的一个比特流。当根据实施方式的编码后的几何和/或编码后的属性和元数据信息被配置成一个比特流时,该比特流可以包括一个或更多个子比特流。根据实施方式的比特流可以包含信令信息,该信令信息包括用于序列级的信令的序列参数集(SPS)、用于几何信息编码的信令的几何参数集(GPS)、用于属性信息编码的信令的属性参数集(APS)以及用于图块级的信令的图块参数集(TPS)和切片数据。切片数据可以包括关于一个或更多个切片的信息。根据实施方式的一个切片可以包括一个几何比特流Geom00以及一个或更多个属性比特流Attr00和Attr10
切片是指表示编码后的点云帧的全部或部分的一系列语法元素。
根据实施方式的TPS可以包括关于一个或更多个图块的每个图块的信息(例如,关于边界框的高度/大小信息和坐标信息)。几何比特流可以包含头部和有效载荷。根据实施方式的几何比特流的头部可以包含GPS中包括的参数集标识符(geom_parameter_set_id)、图块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于有效载荷中包含的数据的信息。如上所述,根据实施方式的元数据处理器12007可以生成和/或处理信令信息,并将其发送到发送处理器12012。根据实施方式,用于执行几何编码的元件和用于执行属性编码的元件可以彼此共享数据/信息,如虚线所指示的。根据实施方式的发送处理器12012可以执行与发送器10003的操作和/或发送方法相同或类似的操作和/或发送方法。细节与参考图1和图2描述的细节相同,因此省略对其的描述。
图13例示了根据实施方式的接收装置。
图13中例示的接收装置是图1的接收装置10004(或图10和图11的点云解码器)的示例。图13中例示的接收装置可以执行与参考图1至图11描述的点云解码器的操作和方法相同或类似的操作和方法中的一个或更多个。
根据实施方式的接收装置可以包括接收器13000、接收处理器13001、算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器(三角重构、上采样、体素化)13004、反量化处理器13005、元数据解析器13006、算术解码器13007、反量化处理器13008、预测/提升/RAHT逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施方式的用于解码的每个元件可以执行根据实施方式的用于编码的对应元件的操作的逆处理。
根据实施方式的接收器13000接收点云数据。接收器13000可以执行与图1的接收器10005的操作和/或接收方法相同或类似的操作和/或接收方法。省略对其的详细描述。
根据实施方式的接收处理器13001可以从接收到的数据获取几何比特流和/或属性比特流。接收处理器13001可以被包括在接收器13000中。
算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器13004和反量化处理器13005可以执行几何解码。根据实施方式的几何解码与参考图1至图10描述的几何解码相同或类似,因此省略对其的详细描述。
根据实施方式的算术解码器13002可以基于算术编码对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编码相同或类似的操作和/或编码。
根据实施方式的基于占用码的八叉树重构处理器13003可以通过从解码后的几何比特流(或作为解码结果而获得的关于几何的信息)获取占用码来重构八叉树。基于占用码的八叉树重构处理器13003执行与八叉树合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用三角汤几何编码时,根据实施方式的表面模型处理器13004可以基于表面模型方法来执行三角汤几何解码和相关的几何重构(例如,三角重构、上采样、体素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何重构器11003的操作相同或类似的操作。
根据实施方式的反量化处理器13005可以对解码后的几何进行反量化。
根据实施方式的元数据解析器13006可以解析接收到的点云数据中包含的元数据,例如,设定值。元数据解析器13006可以传递元数据以进行几何解码和/或属性解码。元数据与参考图12描述的元数据相同,因此省略对其的详细描述。
算术解码器13007、反量化处理器13008、预测/提升/RAHT逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参考图1至图10描述的属性解码相同或类似,因此省略对其的详细描述。
根据实施方式的算术解码器13007可以通过算术编码对属性比特流进行解码。算术解码器13007可以基于重构的几何对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或编码相同或类似的操作和/或编码。
根据实施方式的反量化处理器13008可以对解码后的属性比特流进行反量化。反量化处理器13008执行与反量化器11006的操作和/或反量化方法相同或相似的操作和/或方法。
根据实施方式的预测/提升/RAHT逆变换处理器13009可以处理重构的几何和反量化后的属性。预测/提升/RAHT逆变换处理器13009执行与RAHT变换器11007、LOD生成器11008和/或逆提升器11009的操作和/或解码相同或类似的操作和/或解码中的一个或更多个。根据实施方式的颜色逆变换处理器13010执行逆变换编码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。颜色逆变换处理器13010执行与逆颜色变换器11010的操作和/或逆变换编码相同或类似的操作和/或逆变换编码。根据实施方式的渲染器13011可以渲染点云数据。
图14例示了根据实施方式的结合点云数据发送/接收方法/装置可操作的示例性结构。
图14的结构表示其中服务器1460、机器人1410、自动驾驶车辆1420、XR装置1430、智能电话1440、家用电器1450和/或头戴式显示器(HMD)1470中的至少一个连接到云网络1400的配置。机器人1410、自动驾驶车辆1420、XR装置1430、智能电话1440或家用电器1450被称为装置。另外,XR装置1430可以对应于根据实施方式的点云数据(PCC)装置,或可以可操作地连接到PCC装置。
云网络1400可以表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,可以使用3G网络、4G或长期演进(LTE)网络或5G网络配置云网络1400。
服务器1460可以通过云网络1400连接到机器人1410、自动驾驶车辆1420、XR装置1430、智能电话1440、家用电器14500/或HMD 1470中的至少一个,并可以辅助连接的装置1410至1470的处理中的至少一部分。
HMD 1470表示根据实施方式的XR装置和/或PCC装置的实现方式类型中的一种。根据实施方式的HMD型装置包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
下文中,将描述应用了上述技术的装置1410至1450的各种实施方式。根据上述实施方式,图14中例示的装置1410至1450可以可操作地连接/联接到点云数据发送装置/接收装置。
<PCC+XR>
XR/PCC装置1430可以采用PCC技术和/或XR(AR+VR)技术,并可以被实现为HMD、设置在车辆中的平视显示器(HUD)、电视机、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、静止机器人或移动机器人。
XR/PCC装置1430可以分析通过各种传感器或从外部装置获取的3D点云数据或图像数据,并生成关于3D点的位置数据和属性数据。由此,XR/PCC装置1430可以获取关于周围空间或真实对象的信息,并渲染和输出XR对象。例如,XR/PCC装置1430可以将包括关于识别到的对象的辅助信息的XR对象与识别到的对象匹配,并输出相匹配的XR对象。
<PCC+XR+移动电话>
XR/PCC装置1430可以通过应用PCC技术被实现为移动电话1440。
移动电话1440可以基于PCC技术解码并显示点云内容。
<PCC+自动驾驶+XR>
自动驾驶车辆1420可以通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用XR/PCC技术的自动驾驶车辆1420可以表示设置有用于提供XR图像的装置的自动驾驶车辆或作为XR图像中的控制/交互目标的自动驾驶车辆。具体地,作为XR图像中的控制/交互目标的自动驾驶车辆1420可以与XR装置1430区分开,并可以可操作地连接到XR装置1430。
具有用于提供XR/PCC图像的装置的自动驾驶车辆1420可以从包括相机的传感器获取传感器信息,并基于所获取的传感器信息输出生成的XR/PCC图像。例如,自动驾驶车辆1420可以具有HUD并向其输出XR/PCC图像,由此向乘员提供与真实对象或屏幕上存在的对象相对应的XR/PCC对象。
当XR/PCC对象被输出到HUD时,可以输出XR/PCC对象的至少一部分以与乘员眼睛所指向的真实对象交叠。另一方面,当XR/PCC对象被输出到设置在自动驾驶车辆内部的显示器上时,可以输出XR/PCC对象的至少一部分以与屏幕上的对象交叠。例如,自动驾驶车辆1220可以输出与诸如道路、另一车辆、交通信号灯、交通标牌、两轮车、行人和建筑物这样的对象相对应的XR/PCC对象。
根据实施方式的虚拟现实(VR)技术、增强现实(AR)技术、混合现实(MR)技术和/或点云压缩(PCC)技术适用于各种装置。
换句话说,VR技术是只提供真实世界对象、背景等的CG图像的显示技术。另一方面,AR技术是指在真实对象的图像上示出虚拟创建的CG图像的技术。MR技术与上述AR技术的类似之处在于,待示出的虚拟对象与真实世界混合并结合。然而,MR技术与AR技术的不同之处在于,AR技术明确区分了真实对象与作为CG图像创建的虚拟对象,并使用虚拟对象作为真实对象的补充对象,而MR技术将虚拟对象视为与真实对象具有等同特性的对象。更具体地,MR技术应用的示例是全息图服务。
最近,VR、AR和MR技术有时被称为扩展现实(XR)技术,而没有被明确彼此区分开。因此,本公开的实施方式适用于VR、AR、MR和XR技术中的任一种。基于PCC、V-PCC和G-PCC技术的编/解码适用于这种技术。
根据实施方式的PCC方法/装置可以应用于提供自动驾驶服务的车辆。
提供自动驾驶服务的车辆连接到PCC装置,以用于有线/无线通信。
当根据实施方式的点云数据(PCC)发送/接收装置连接到车辆以用于有线/无线通信时,该装置可以接收/处理与可以和自动驾驶服务一起提供的AR/VR/PCC服务相关的内容数据并将其发送到车辆。在PCC发送/接收装置被安装在车辆上的情况下,PCC发送/接收装置可以根据通过用户接口装置输入的用户输入信号来接收/处理与AR/VR/PCC服务相关的内容数据,并将其提供给用户。根据实施方式的车辆或用户接口装置可以接收用户输入信号。根据实施方式的用户输入信号可以包括指示自动驾驶服务的信号。
如在图1至图14中描述的,点云数据由点的集合构成,并且每个点可以具有几何数据(几何信息)和属性数据(属性信息)。几何数据是每个点的三维位置(例如,x、y和z轴的坐标值)。即,每个点的位置由表示三维空间的坐标系的参数(例如,诸如X轴、Y轴和Z轴这样的表示空间的三个轴的参数x、y和z)来表示。另外,属性信息可以表示点的颜色(RGB、YUV等)、反射率、法线向量透明度等。属性信息可以以标量或向量形式表示。
根据实施方式,根据点云数据的类型和获取方法,点云数据可以被分类为静态点云数据的类别1、动态点云数据的类别2和通过动态移动而获取的类别3。类别1由具有用于对象或空间的高密度点的单个帧的点云构成。类别3的数据可以被划分为具有通过移动而获取的多个帧的基于帧的数据和通过将通过LiDAR传感器获取的点云与作为用于大空间的2D图像而获取的彩色图像进行匹配而获得的融合的单个帧的融合数据。
根据实施方式,为了根据时间有效率地压缩诸如具有多个帧的基于帧的点云数据这样的具有多个帧的3D点云数据,可以使用帧间预测编码/解码。帧间预测编码/解码可以应用于几何信息和/或属性信息。帧间预测是图像之间的预测或帧之间的预测,并且帧内预测是图像之内的预测。
下文中,将描述与帧间预测技术相关的运动估计方法。
帧间预测基于来自被执行编码的帧的与当前帧具有高度相似性的信息来预测当前帧的全部或一部分。在这种情况下,用于确定相似性的单元可以被称为预测单元(PU)。帧间预测是使用随时间推移而获取的多个帧之间的运动的预测技术。该技术被称为运动向量估计或运动估计。
运动估计可以被划分为通过旋转、移位、放大和/或缩小整个帧来执行的全局运动估计和为了预测帧的一部分的运动而执行的局部运动估计。
在运动估计中,当前帧的空间可以被分割为PU,可以提取相应区域中所包括的点,并且可以提取相应参考帧的相应区域中所包括的点。然后,可以计算所提取的当前帧的点与所提取的参考帧的点之间的距离差和/或向量差。在这一点上,小于特定值的向量差被设置为目标向量差。
并且,对于由指向不同方向的多个单位向量构成的单位向量集,每个单位向量可以乘以作为任意值的量。由此,可以搜索与目标向量差最接近(最相似)的向量(单位向量×量)。
在这种情况下,随着量从初始值逐渐减小至预设的最小值,上述的类似向量搜索操作可以被重复若干次。通过重复搜索操作最终找到的向量可以被设置为最佳向量,并且可以使用率失真优化(RDO)技术来计算成本。
PU可以被划分为多个子预测单元(子PU),并且可以在划分的子PU中执行上述的最佳向量搜索操作。当通过计算划分的子PU的RDO成本而得到的和小于PU的RDO成本值时,PU最终被划分为子PU。否则,发信号通知PU的最佳向量。
本文中公开的实施方式涉及点云数据的编码和解码,并且具体地,涉及通过在编码/解码操作中搜索多个帧之间的相关性并且连续地对参考帧的上下文进行编码/解码来提高点云数据的发送和接收效率的装置/方法。根据实施方式的用于发送/接收点云数据的装置/方法基于与帧间预测相关的信息来提高比特流的压缩效率。
图15例示了根据实施方式的点云数据的帧组(GoF)的示例。GoF表示帧组,并且也可以被称为图片组(GoP)。构成GoF的帧包括内帧(I帧)、预测帧(P帧)和/或双向帧(B帧)。内帧(I帧)表示不参考其它帧的帧。I帧是GoF中的第一帧,因此它没有先前帧并且不参考其它帧。预测帧(P帧)表示参考先前I帧或另一P帧而预测的帧。双向帧(B帧)表示通过在两个方向上参考I帧或P帧而预测的帧。例如,当帧2参考帧0至3当中的帧1和帧3二者时,帧2对应于双向帧。GoF可以由I帧、P帧和/或B帧构成。从I帧开始的GoF组可以以各种形式定义。这里,参考帧表示为了帧间预测而参考的帧。GoF是从I帧开始的帧组,并且可以是编码/解码的单元。
根据实施方式的点云数据发送装置/接收装置可以通过搜索帧间相关性来在帧间预测时用信令替换重叠信息,并且可以基于表示具有相似几何/属性上下文的帧的索引信息来使用context_continue_flag。
存在两种压缩点云数据的方法:帧内编码和帧间编码。类别3是适用于帧间编码的点云数据,并且由连续帧的集合构成。帧的该集合可以被定义为帧组(GoF)。GoF可以根据定义方法而具有IPPP、IPPBPP、IBBPBB等的形式,并且可以被编码或解码。
例如,图15示出了IPPP形式的GoF。在图15左侧示出的GoF中,P帧参考紧接着的先前帧。即,P帧1参考I帧0,并且P帧2参考P帧1。在图15右侧示出的GoF中,P帧1至3参考I帧0。即,P帧可以参考先前帧并且参考I帧(第一帧)。另选地,P帧可以通过帧索引信息来参考I帧或特定P帧。
点云数据由点的集合构成,并且每个点可以包括几何信息(几何)和属性信息(属性)。点云数据的编码可以包括压缩几何以及基于用通过压缩改变的位置信息重构的几何(重构的几何)来压缩属性信息。点云数据的解码可以包括接收编码的几何比特流和编码的属性比特流,对几何进行解码以及基于通过解码重构的几何来对属性信息进行解码。
关于根据实施方式的点云数据发送装置/接收装置,提出了发信号通知诸如在对点云数据进行编码/解码时是否应用上下文连续性这样的相关信息的方法。根据实施方式的点云数据发送装置/接收装置可以通过发现帧之间的相关性来推导相关参考帧,并且基于GoF内的参考帧的上下文连续性来对点云数据进行编码/解码。另外,根据实施方式,提出了发信号通知参考帧的索引的方法作为基于上下文连续性的帧间编码/解码方法。关于根据实施方式的点云数据发送装置/接收装置,本文中提出了用于增加点云数据的压缩效率的GoF帧结构。另外,提出了对GoF内的帧之间的相关性的搜索。另外,实施方式提出了在GoF中应用参考帧的上下文连续性的数据的编码/解码以及发信号通知与上下文连续性的应用相关的参考帧的索引的方法。这里,参考帧可以表示与当前帧相关的帧。
将上下文连续性应用于GoF的帧可以意味着在编码/解码期间连续地使用关于相关参考帧的上下文信息(上下文模型、算术模型、概率范围信息)。在对点云数据进行编码/解码时,根据实施方式的点云数据发送装置/接收装置可以搜索当前帧与其它帧之间的相关性,并且连续地使用具有该相关性的帧即参考帧的上下文。上下文连续性是否可用(帧之间是否存在相关性)可以在GoF结构内或外定义。在对当前帧进行编码/解码时,当存在与当前帧相关的参考帧时,根据实施方式的发送装置/接收装置可以基于关于参考帧的上下文信息来对当前帧进行编码/解码。即,可以通过应用上下文连续性来对当前帧进行编码/解码。
下文中,将描述算术编码。
算术编码是用于无损压缩的熵编码算法之一。算术编码可以将整个消息替换为单个实数n。
算术编码可以基于消息中出现的符号的出现概率来划分0.0至1.0的范围。例如,假设消息中出现符号“a”的概率为60%,消息中出现符号“b”的概率为20%,并且消息中出现符号“c”的概率为20%。在第一步中,0.0至1.0的范围可以被划分为表示符号“a”的出现概率的0.0至0.6的范围、表示符号“b”的出现概率的0.6至0.8的范围以及表示符号“c”的出现概率的0.8至1.0的范围。在这种情况下,用于划分诸如0.0至1.0这样的概率范围的比率被称为概率模型(或概率模式)或上下文模型。
例如,在向符号“abc”应用算术编码时,第一个编码的符号是“a”,因此它对应于0.0至0.6的范围。在下一步中,对应于“a”的0.0至0.6的范围再次被划分为60%、20%和20%的比例。因此,0.0至0.6的范围可以被划分为0.0至0.36的范围、0.36至0.48的范围和0.48至0.6的范围。接下来,第二个编码的符号是“b”,因此它对应于0.36至0.48的范围。当对应于“b”的0.36至0.48的范围被进一步划分为60%、20%和20%的比例时,其可以被划分为0.36至0.432的范围、0.432至0.456的范围和0.456至0.48的范围。然后,第三个编码的符号是“c”,因此它对应于0.456至0.48的范围。即,在算术编码中,根据概率模型或上下文模型来再次划分与编码的符号对应的范围,然后选择根据下一个编码的符号划分的范围中的任一个。通过重复该处理,算术编码运行。
在以上的示例中,对消息“abc”进行编码之后推导的概率范围对应于0.456至0.48的范围。相应地,消息“abc”可以被编码为该范围内的实数值。例如,实数0.47可以表示“abc”。根据实施方式,值0.47被发送到解码器。解码器可以检查根据上下文模型划分的概率范围中的值0.47所属的概率范围,并且将消息解码成对应于该概率范围的符号。
概率模型(或概率模式)或上下文模型可以是根据算术编码算法初始确定的模型或在编码/解码时通过检查符号的出现概率而配置的模型。概率模型或上下文模型可以在编码/解码操作期间被更新。
根据实施方式的点云数据发送装置/接收装置在对帧进行编码/解码时应用上下文连续性,这意味着在通过参考帧的算术编码计算的概率范围中连续地对当前帧进行编码。例如,当参考帧的算术编码中最后推导的概率范围为0.456至0.48时,可以根据上下文模型或概率模型再次划分从0.456至0.48的范围,以连续地对当前帧进行编码。即,可以不针对每个帧来初始化概率范围或上下文模型。替代地,可以在通过相关性搜索推导的参考帧的概率范围中连续地对当前帧进行编码/解码。
在编码/解码时,根据实施方式的点云数据发送装置/接收装置可以使用上下文自适应二进制算术编码(CABAC)。可以针对每个帧来初始化用于帧算术编码的上下文模型(或概率模式),或者可以在当前帧中重用在相关参考帧中使用的概率模式。另外,可以在从相关参考帧推导的概率范围中连续地对当前帧进行编码,或者可以使用概率范围信息对当前帧进行解码。在帧具有相似特性的情况下,可以通过重用概率模式来利用符号间冗余。由此,压缩效率可以增加。使用与在参考帧中使用的概率模式相同的概率模式具有与使用参考帧的上下文模型相同的含义。即使在除了CABAC外的算术编码、霍夫曼编码(Huffmancoding)或范围编码中,也可以基于帧间相关性搜索来重用参考帧的概率模式或上下文模型。
根据实施方式的点云数据发送装置/接收装置可以如下地确定帧间相关性。
可以根据构成GoF的帧的类型来不同地确定帧间相关性。例如,I帧是该组中的第一帧,可以确定I帧没有相关参考帧,并且不存在可以被连续使用的上下文模型。可以通过I帧的运动估计和运动补偿来预测参考I帧的P帧,因此可以确定P帧具有与I帧的低相关性。另一方面,对于从同一I帧预测的两个不同的P帧,可以确定P帧之间的相关性高。
另外,可以基于当前帧与先前帧之间的全局运动向量的差来确定帧间相关性。全局运动向量是帧中所包括的整个点云数据的运动向量。通过将帧之间的全局运动向量差与任意设置的特定阈值进行比较,可以确定帧是否相关。以相同的方式,可以基于当前帧与先前帧之间的局部运动向量的差来确定帧间相关性。局部运动向量是帧中某些对象的运动向量。通过将帧之间的局部运动向量的差之和与任意设置的特定阈值进行比较,可以确定帧间相关性。
可以基于先前帧和当前帧的点、几何和/或属性值之间的率失真优化(RDO)值来确定帧间相关性。另外,可以基于先前帧和当前帧之间的道路或其它对象的运动向量或运动补偿值的改变量来确定帧间相关性。
先前帧可以是指紧接在当前帧之前的帧,或者可以是指比紧接着的先前帧早的帧。关于与当前帧高度相关的参考帧的信息可以作为索引被发送到根据实施方式的点云数据接收装置。当在对当前帧进行编码时连续地使用与当前帧高度相关的参考帧的概率模型时,具有高相关性的参考帧的索引可以被发送到解码器,并且解码器可以基于接收到的索引来对当前帧进行解码。
根据实施方式的点云数据发送装置/接收装置可以通过共享与当前帧相关的参考帧的上下文模型或概率模型来对当前帧进行编码/解码。编码器可以通过连续地使用相关参考帧的上下文来对关于当前帧的几何信息和属性信息进行编码。解码器可以使用连续使用的相关参考帧的上下文来对当前帧进行解码。
当连续地使用相关参考帧的上下文或概率模型时,根据实施方式的点云数据发送装置/接收装置可以发送/接收指示其上下文或概率模型被使用的帧的索引信息。可以基于从当前帧到参考帧的距离、从I帧到参考帧的距离或者从开始帧起的帧的数量来确定相关参考帧的索引。
图16例示了根据实施方式的点云数据发送装置16000。
根据实施方式的点云数据发送装置16000(例如,参考图1、图4、图12或图18描述的点云编码器或发送装置)可以执行参考图1至图14描述的编码操作。尽管在图16中未示出,但点云数据发送装置16000还可以包括一个或更多个部件,以执行参考图1至图14描述的编码操作。
根据实施方式的点云数据发送装置16000(例如,在图1、图4、图12或图18中描述的编码器或发送装置)可以包括上下文连续性确定/保存单元。上下文连续性确定/保存单元包括几何上下文连续性确定/保存单元16001和属性上下文连续性确定/保存单元16002。
上下文连续性确定/保存单元确定上下文连续性是否被应用于将要编码的当前帧。在这种情况下,可以通过是否存在与当前帧相关的参考帧来确定是否应用上下文连续性。当存在相关参考帧时,可以通过应用上下文连续性来对当前帧进行编码。上下文连续性确定/保存单元通过帧间相关性搜索来推导与当前帧相关的参考帧。另外,上下文连续性确定/保存单元可以发送表示上下文信息(概率范围信息、上下文模型或概率模型信息中的至少一个)被连续使用的参考帧的索引信息以及关于上下文连续性是否被应用于根据实施方式的点云数据接收装置(例如,图1、图10、图11或图19的解码器或接收装置)的信息。
上下文连续性确定/保存单元可以发信号通知上下文连续性被使用的参考帧的索引和当前帧的索引。在几何信息编码操作中表示相关参考帧的索引信息可以不同于在属性信息编码操作中表示相关参考帧的索引信息。另外,上下文连续性确定/保存单元可以保存根据参考帧的算术编码推导的上下文信息(概率范围信息、上下文模型信息和概率模型信息中的至少一个)。因此,根据实施方式的算术编码器可以在当前帧的算术编码期间连续地使用参考帧的上下文模型和概率范围。即,算术编码器可以使用上下文连续性。
图17例示了根据实施方式的点云数据接收装置17000。
根据实施方式的点云数据接收装置17000(例如,参考图1、图10、图11或图19描述的点云解码器或接收器)可以执行参考图1至图14描述的解码操作。另外,点云数据接收装置17000可以执行与参考图16描述的点云数据发送装置16000的编码操作的逆处理对应的解码操作。尽管在图17中未示出,但点云数据接收装置17000还可以包括一个或更多个部件,以执行参考图1至图14描述的解码操作。
点云数据接收装置17000可以包括上下文连续性处理器。上下文连续性处理器包括几何上下文连续性处理器17001和属性上下文连续性处理器17002。
点云数据接收装置17000可以基于表示使用上下文连续性的当前帧的索引信息和表示参考帧的索引信息来对几何信息或属性信息进行解码。即,接收装置17000可以基于关于与接收到的索引信息对应的参考帧的上下文信息(诸如,概率范围、上下文模型或概率模型)来对当前帧的点云数据进行解码。几何信息或属性信息的重构可以对应于由图16的几何上下文连续性确定/保存单元16001和属性上下文连续性确定/保存单元16002执行的操作的逆处理。
根据实施方式的上下文连续性处理器确定上下文连续性是否应用于点云数据的帧。点云数据接收装置17000接收包括表示参考帧的索引信息或关于是否应用帧的上下文连续性的信息的比特流。上下文连续性处理器可以基于接收到的信息来确定上下文连续性是否被应用于当前帧。可以通过是否存在与当前帧相关的参考帧来确定是否应用上下文连续性。当存在表示参考帧的索引信息时,上下文连续性处理器可以确定上下文连续性被应用于当前帧。当上下文连续性被应用于当前帧时,接收装置17000可以基于关于参考帧的上下文信息(诸如,概率范围、上下文模型或概率模型)来对当前帧进行解码。另外,上下文连续性处理器可以保存帧的上下文信息。当接收装置17000对另一帧进行解码时,可以使用所保存的上下文信息。
图18例示了根据实施方式的点云数据发送装置18000。
根据实施方式的点云数据发送装置18000(例如,参考图1、图4、图12或图16描述的点云编码器或发送装置)可以执行参考图1至图16描述的编码操作。尽管在图18中未示出,但点云数据发送装置18000还可以包括一个或更多个部件,以执行参考图1至图16描述的编码操作。
点云数据发送装置18000(例如,参考图1、图4、图12或图16描述的编码器或发送装置)可以包括上下文连续性确定/保存单元18001和18002。上下文连续性确定/保存单元18001和18002与图16的上下文连续性确定/保存单元相同,因此将省略对其的描述。
参照图18,可以执行从I帧起的全局运动估计/补偿或局部运动估计/补偿,以预测P帧或B帧。上下文连续性确定/保存单元18001和18002搜索帧间相关性,以推导当前帧的参考帧,并且算术编码器可以保存用于算术编码的上下文信息(诸如,概率范围信息、上下文模型或概率模型)。当算术编码对帧进行解码时,可以使用所保存的上下文信息。即,可以基于所保存的关于参考帧的上下文信息来用上下文连续地对当前帧进行编码。
图19例示了根据实施方式的点云数据接收装置19000。
根据实施方式的点云数据接收装置19000(例如,在图1、图10、图11或图17中描述的点云解码器或接收装置)可以执行参考图1至图17描述的解码操作。另外,点云数据接收装置19000可以执行与参考图17描述的点云数据接收装置17000的编码操作的逆处理对应的解码操作。尽管在图19中未示出,但点云数据接收装置19000还可以包括一个或更多个部件,以执行参考图1至图17描述的解码操作。
点云数据接收装置19000可以包括上下文连续性处理器19001和19002。接收器19000可以基于表示当前帧的索引信息和表示参考帧的索引信息来对几何信息或属性信息进行解码。接收装置19000可以通过表示接收到的参考帧的索引信息来推导用于参考帧的解码的上下文信息(诸如,概率范围、上下文模型或概率模型)。接收装置19000可以基于关于参考帧的上下文信息来对当前帧的点云数据进行解码。
图19的上下文连续性处理器19001和19002可以对应于图17的上下文连续性处理器。
根据实施方式的上下文连续性处理器确定上下文连续性是否被应用于点云数据的帧。点云数据接收装置19000接收包括表示参考帧的索引信息或关于是否应用帧的上下文连续性的信息的比特流。上下文连续性处理器可以基于接收到的信息来确定上下文连续性是否被应用于当前帧。可以通过是否存在与当前帧相关的参考帧来确定是否应用上下文连续性。当存在表示参考帧的索引信息时,上下文连续性处理器可以确定上下文连续性被应用于当前帧。当上下文连续性被应用于当前帧时,接收装置19000可以基于参考帧的上下文信息(诸如,概率范围、上下文模型或概率模型)来对当前帧进行解码。另外,上下文连续性处理器可以保存关于帧的上下文信息。当接收装置19000对另一帧进行解码时,可以使用所保存的上下文信息。
图20例示了根据实施方式的点云数据的编码/解码过程。参照图20,在点云数据的编码/解码中,确定是否应用上下文连续性(20011),并且基于是否应用上下文连续性来对点云数据进行编码/解码(20013)。然后,保存上下文信息(20014)。
在确定是否应用上下文连续性时,检查当前帧是否是依赖P帧(或依赖帧)。“if”语句检查该帧是否对应于random_access_period或独立P帧。当该帧满足这两个条件中的任一个时,该帧不对应于依赖P帧。random_access_period指示I帧,并且独立P帧指示P帧是与其它帧无关的独立P帧(或独立帧)。当满足这两个条件中的一个时,当前帧不是依赖P帧,因此与当前帧相关的参考帧不存在于先前帧中。在这种情况下,熵上下文可以被初始化(初始化熵上下文,20012),并且可以根据初始化的上下文信息来对当前帧进行编码或解码(20013)。熵上下文的初始化意味着上下文连续性不被应用的帧的编码或解码。熵上下文可以意指上下文模型、概率模型或概率范围。
从根据实施方式的发送装置(图16或图18的发送装置等)的角度来看,可以通过确定帧之间的相关性根据是否存在相关参考帧来确定是否应用上下文连续性。当当前帧是依赖P帧时,存在与先前帧相关的参考帧,并且可以应用上下文连续性。
另外,从根据实施方式的接收装置(图17和图19的接收装置等)的角度来看,可以基于从根据实施方式的发送装置接收/生成的信息来确定是否应用上下文连续性。即,接收装置可以基于接收到的关于是否应用上下文连续性的信息、表示参考帧的索引信息等来确定上下文连续性是否被应用于当前帧。
当当前帧不对应于random_access_period或独立P帧时,当前帧对应于依赖P帧。依赖P帧具有与先前帧相关的参考帧。当当前帧是依赖P帧时,在不初始化熵上下文的情况下对当前帧进行编码或解码(20013)。由于熵上下文没有被初始化,因此连续地使用先前参考帧的上下文来对当前帧进行编码或解码。即,可以基于关于参考帧的上下文信息来对当前帧进行编码或解码。
接下来,保存熵上下文概率(20014)。熵上下文概率可以表示上下文信息。上下文信息表示上下文模型、概率模型或概率范围。所保存的熵上下文概率可以用于对另一帧进行编码或解码。由于图20中的编码或解码过程被重复与帧的数量一样多的次数,因此当所有帧对执行编码或解码时,该过程结束。
图21示出了根据实施方式的点云数据的编码效率。参照图21,根据实施方式的使用上下文连续性的点云数据编码在C2-有损操作中示出2.5%的增益。
图22示出了根据实施方式的点云数据的编码效率。参照图22,根据实施方式的使用上下文连续性的点云数据编码在CW-无损操作中示出0.4%的增益。
另一方面,熵连续切片方法在TMC13[1]用于帧内编码的低时延场景。本公开公开了借助熵延续的依赖P帧。该方法示出通过在GoF中延续P帧的熵状态概率来提高压缩率的可能性。如图21和图22中所示,该方法的实验结果表明,在InterEMv1.0的当前结构中,C2中增益为2.5%并且CW中增益为0.4%。熵延续切片方法是根据实施方式的上下文连续性被应用的帧的编码或解码的方法。
本公开描述了帧间编码的熵延续方法。目前,InterEMv1.0支持全局和局部运动估计补偿。在调节运动之后,通过参考帧来预测并且通过熵编码来编码当前帧的占用比特。由于GoF的所有P帧都被编码为应用运动的参考帧,因此引入依赖P帧的使用。熵延续可以表示上下文延续。
Cat3的帧内编码初始化对应于单个切片的所有帧中的熵状态。然而,在帧间编码中,每个帧都与全局/局部运动和帧间占用(inter-occupancy)预测相联系。考虑到这些联系的属性,引入使用先前熵的P依赖帧。出于以下原因,引入P依赖帧。
1.Cat3帧数据集合主要由单个帧的单个切片组成。在非常稀疏的数据集合中,有可能每个帧由几个点组成。
2.在帧级别压缩优先于并行化的用例。并行解码在GoF中使用,并且在GoF中需要更多的链路。
在I/P帧结构中,P帧的丢失造成每一帧中的丢失,直到下一个参考帧出现。就支持帧丢失不可避免的随机接入而言,提出根据是否可以共享熵状态来研究P(依赖/独立熵)和B帧。
对于并行解码,支持GoF级并行解码。然而,在当前结构中,在P帧中尚不支持并行解码的灵活性。首先,应该定义构成GoF的单位。另外,将讨论帧级别并行解码的考虑。依赖P帧和独立P帧各自具有压缩和并行化的优点。因此,讨论了通过引入依赖P帧和独立P帧来利用压缩与并行化之间的优势的方法。
图23示出了根据实施方式的编码的点云数据的示例。根据实施方式的点云视频编码器10002可以在编码操作20001中对点云数据进行编码,并且根据实施方式的发送器10003可以向根据实施方式的接收装置10004发送包括编码的点云数据的比特流。
根据实施方式的编码的点云数据(比特流)可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合生成,所述处理器或集成电路被配置为与图1的点云视频编码器10002、图2的编码20001、图4的编码器、图12的发送装置、图14的XR装置1430和图16或图18的发送装置和/或一个或更多个存储器通信。
此外,根据实施方式的编码的点云数据(比特流)可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合解码,所述处理器或集成电路被配置为与图1的点云视频解码器10006、图2的解码20003、图11的解码器、图13的发送装置、XR装置1430、图17和图19的接收装置和/或一个或更多个存储器通信。
图23中示出的缩写具有以下含义。
SPS:序列参数集;
GPS:几何参数集;
APS:属性参数集;
TPS:图块参数集;
Geom:几何比特流=几何切片头+几何切片数据;
Attr:属性比特流=属性砖块头+属性砖块数据。
可以提供图块或切片区域,使得点云数据可以被划分成区域并被处理。当点云数据被划分成区域时,可以不同地设置每个区域的重要性。相应地,通过允许根据重要性应用不同的滤波器或不同的滤波器单元,对于重要区域,可以使用具有高复杂度但结果质量良好的滤波方法。
另外,作为对整个点云数据使用复杂滤波方法的替代,可以根据接收装置的处理能力对(划分成图块或切片的)每个区域应用不同的滤波方法。因此,可以确保针对重要区域的改善的图像质量和针对系统的适当等待时间。即,当点云数据的区域被划分成图块时,可以向每个图块应用不同的滤波器或不同的滤波器单元。另外,当点云数据的区域被划分成切片时,可以向每个切片应用不同的滤波器或不同的滤波器单元。
下文中,根据实施方式的参数(元数据、信令信息等)可以在根据实施方式的发送装置的处理期间生成,并且可以被发送到根据实施方式的接收装置。例如,根据实施方式的参数可以由根据实施方式的发送装置的元数据处理器(或元数据生成器)生成,并且可以由根据实施方式的接收装置的元数据解析器获取。
根据实施方式的点云数据发送装置(例如,参考图1、图4、图12、图16或图18描述的编码器或发送装置)可以向接收装置发信号通知与几何信息和属性信息相关的上下文连续性应用信息、表示当前帧的索引信息以及表示参考帧的索引信息。
图24示出了根据实施方式的序列参数集的语法的示例。上下文连续性结构信息可以被添加到SPS并且被发信号通知。
frameIdx指示表示当前帧在序列中的位置的索引。
context_continue_flag指示上下文连续性是否被应用于几何信息和属性信息二者。等于TRUE(真)的context_continue_flag指示当前帧连续地使用先前帧的上下文(应用上下文连续性)。等于FALSE(假)的context_continue_flag指示当前帧没有连续地使用先前帧的上下文(不应用上下文连续性)。
context_continue_use_frameIdx指示先前帧当中的上下文连续性被使用的帧(参考帧)的索引。可以基于从当前帧到上下文连续性被使用的帧(参考帧)的距离、从第一帧到参考帧的距离或者直到参考帧的连续P帧的顺序来指示参考帧的索引。
图25示出了根据实施方式的图块参数集的语法的示例。上下文连续性结构信息可以被添加到TPS并且被发信号通知。
tile_ctr指示表示当前图块在所有图块中的顺序位置的索引。
tile_context_continue_flag指示是否基于图块来应用上下文连续性。这可以指示上下文连续性是否被应用于几何信息和属性信息二者。等于TRUE的tile_context_continue_flag指示当前帧连续地使用先前帧的上下文。等于FALSE的tile_context_continue_flag指示当前帧没有连续地使用先前帧的上下文。
tile_context_continue_use_tileIdx指示先前图块当中的上下文连续性被使用的图块(参考图块)的索引。可以基于从当前图块到参考图块的距离或从第一图块到参考图块的距离来发信号通知参考图块的索引。
图26示出了根据实施方式的几何参数集的语法的示例。上下文连续性结构信息可以被添加到GPS并且被发信号通知。
frameIdx指示表示当前帧在序列中的位置的索引。
geometry_context_continue_flag指示是否基于几何来应用上下文连续性。等于TRUE的geometry_context_continue_flag指示当前帧的几何连续地使用先前帧的几何的上下文。等于FALSE的geometry_context_continue_flag指示当前帧的几何没有连续地使用先前帧的几何的上下文。
geometry_context_continue_use_frameIdx指示先前帧当中的上下文连续性被使用的帧(参考帧)的索引。可以基于从当前帧到参考帧的距离或从第一帧到参考帧的距离来发信号通知参考帧的索引。
图27示出了根据实施方式的属性参数集的语法的示例。上下文连续性结构信息可以被添加到APS并且被发信号通知。
frameIdx指示表示当前帧在序列中的位置的索引。
attribute_context_continue_flag指示是否基于属性来应用上下文连续性。等于TRUE的attribute_context_continue_flag指示当前帧的属性连续地使用先前帧的属性的上下文。等于FALSE的attribute_context_continue_flag指示当前帧的属性没有连续地使用先前帧的属性的上下文。
attribute_context_continue_use_frameIdx指示先前帧当中的上下文连续性被使用的帧(参考帧)的索引。可以基于从当前帧到参考帧的距离或从第一帧到参考帧的距离来发信号通知参考帧的索引。
图28示出了根据实施方式的几何比特流的切片头的语法的示例。上下文连续性结构信息可以被添加到Geom的切片头并且被发信号通知。
gsh_slice_id指示表示当前切片的位置的切片索引。
geometry_slice_context_continue_flag指示是否基于几何切片来应用上下文连续性。等于TRUE的geometry_slice_context_continue_flag指示当前切片连续地使用先前切片的上下文。等于FALSE的geometry_slice_context_continue_flag指示当前切片没有连续地使用先前切片的上下文。
geometry_slice_context_continue_use_frameIdx指示先前切片当中的上下文连续性被使用的切片(参考切片)的索引。可以基于从当前切片到参考切片的距离或从第一切片到参考切片的距离来发信号通知参考切片的索引。
图29例示了根据实施方式的发送点云数据的方法。发送点云数据的方法包括对点云数据进行编码(S2900)以及发送包括点云数据的比特流(S2910)。另外,点云数据的编码S2900可以包括对点云数据的几何数据进行编码以及对点云数据的属性信息进行编码。
在点云数据的编码S2900中,点云数据可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合编码,所述处理器或集成电路被配置为与图1的点云视频编码器10002、图2的编码20001、图4的编码器、图12的发送装置、图14的XR装置1430和图16或图18的发送装置和/或一个或更多个存储器通信。
在包括点云数据的比特流的发送2910中,点云数据可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合发送,所述处理器或集成电路被配置为与图1的发送器10003、图12的发送处理器12012、图14的XR装置1430、图16或图18的发送装置和/或一个或更多个存储器通信。
点云数据的编码S2900可以包括确定点云数据的上下文连续性是否被应用于当前帧、响应于是否应用上下文连续性而对当前帧进行编码以及保存当前帧的上下文。
为了确定上下文连续性是否被应用于帧,可以根据帧之间的相关性来针对参考帧搜索先前帧。在这种情况下,可以基于帧类型(例如,I帧或P帧等)来执行帧间相关性搜索。另外,可以基于帧之间的运动向量的差来执行帧间相关性的确定。另外,可以基于帧间几何信息或属性信息的RDO值来执行帧间相关性确定。帧间相关性确定(或搜索)可以由图16的上下文连续性确定/保存单元和图18的上下文连续性确定/保存单元来执行。以上已参考图16和图18描述了帧间相关性的确定,因此将省略对其的详细描述。当先前帧当中存在与当前帧相关的参考帧时,可以通过将上下文连续性应用于当前帧的点云数据来确定执行编码。
根据是否应用上下文连续性的帧编码如下。当先前帧当中存在与当前帧相关的参考帧时,关于参考帧的上下文信息(诸如,概率范围、上下文模型或概率模型)被连续地用于对当前帧进行编码。当前帧可以在通过参考帧的算术编码而推导的概率范围中被连续地编码,并且可以使用在参考帧的算术编码中使用的上下文模型或概率模型来编码。即,可以基于关于参考帧的上下文信息来对当前帧进行编码,并且向其应用上下文连续性。
在保存帧的上下文时,保存在对当前帧进行编码时推导的上下文信息(概率范围、上下文模型或概率模型)。所保存的上下文信息可以用于对另一帧进行编码。
根据实施方式的帧包括I帧和P帧中的一个。I帧对应于作为多个帧的集合的帧组(GoF)中的第一帧,并且P帧可以是参考I帧或另一P帧预测的帧。根据相关性确定,根据实施方式的帧可以具有或者可以不具有参考帧。当存在参考帧时,当前帧是依赖帧,并且向其应用上下文连续性。当不存在参考帧时,当前帧可以是独立帧,并且可以在不向其应用上下文连续性的情况下对其进行编码。
在包括点云数据的比特流的发送S2910中,比特流可以包括表示参考帧的索引信息。比特流还可以包括表示当前帧的索引信息和关于是否应用上下文连续性的信息。表示参考帧的索引信息可以是基于从GoF中的第一帧到参考帧的距离的。另选地,表示参考帧的索引信息可以是基于与当前帧的距离的。表示参考帧的索引信息可以指示紧接在当前帧之前的帧。关于是否应用上下文连续性的信息表示当前帧是否基于参考帧的上下文来编码。
确定是否应用帧的上下文连续性,根据是否存在与该帧相关的参考帧来基于参考帧的上下文对帧进行编码以及保存帧的上下文可以由参考图16或图18描述的点云数据发送装置、上下文连续性确定/保存单元或算术编码器来执行。表示当前帧或参考帧的索引信息、关于是否应用上下文连续性的信息以及上下文信息的生成和传送可以由参考图16或图18描述的上下文连续性确定/保存单元来执行。
图30例示了根据实施方式的接收点云数据的方法。
根据实施方式的接收点云数据的方法包括接收包括点云数据的比特流(S3000)、对点云数据进行解码(S3010)和/或渲染点云数据。对点云数据进行解码的操作S3010包括对点云数据的几何信息进行解码以及对点云数据的属性信息进行解码。
在接收包括点云数据的比特流的操作S3000中,比特流可以包括表示参考帧的索引信息。另外,比特流还可以包括表示当前帧的索引信息和关于是否应用上下文连续性的信息。表示参考帧的索引信息可以基于从GoF中的第一帧到参考帧的距离来指定。另选地,表示参考帧的索引信息可以基于从当前帧到参考帧的距离来指定。表示参考帧的索引信息可以指示紧接在当前帧之前的帧。
在对点云数据进行解码的操作S3010中,确定是否向点云数据的帧应用上下文连续性,并且根据是否应用上下文连续性来基于与该帧相关的参考帧的上下文对该帧进行解码。另外,在对点云数据进行解码的操作S3010中,可以保存解码的帧的上下文。
可以基于关于是否应用上下文连续性或者是否存在与当前帧相关的参考帧的信息来确定是否应用帧的上下文连续性。可以基于帧类型来确定参考帧的相关性。帧类型可以指示I帧、P帧或B帧中的任一个。至于相关性,可以基于当前帧和先前帧的类型来确定帧之间的相关性。可以基于帧之间的运动向量的差或者基于帧间几何信息或属性信息的RDO值来确定该相关性。为了确定帧之间的相关性,已参考图16进行了相关的描述,因此冗余的描述将被省略。
根据实施方式的帧可以包括I帧和P帧中的一个。I帧对应于作为多个帧的集合的帧组(GoF)中的第一帧,并且P帧可以是参考I帧或另一P帧预测的帧。根据相关性确定,根据实施方式的帧可以具有或者可以不具有参考帧。当存在参考帧时,当前帧是依赖帧,并且向其应用上下文连续性。当不存在参考帧时,当前帧可以是独立帧,并且可以在不向其应用上下文连续性的情况下来对其进行解码。
与当前帧相关的参考帧可以由表示比特流中包括的参考帧的索引信息来识别。另外,可以通过表示是否应用上下文连续性的信息来确定上下文连续性是否被应用于当前帧。当应用上下文连续性或者存在参考帧的索引时,根据实施方式的接收装置可以识别与当前帧相关的参考帧的存在。
在根据是否应用上下文连续性来基于参考帧的上下文对帧进行解码的操作中,当先前帧当中存在参考帧时,使用参考帧的上下文对当前帧进行解码。参考帧的上下文可以包括概率范围、上下文模型或概率模型中的至少一个。参考帧的上下文可以被保存在参考图17或图19描述的上下文连续性处理器中。
参考帧的存在意味着使用参考帧的上下文连续地对当前帧进行编码。相应地,根据实施方式的接收装置基于关于参考帧的上下文信息对当前帧进行解码。另外,根据实施方式的接收装置可以保存关于当前帧的上下文信息。所保存的上下文信息可以用于对其它帧进行解码。
根据实施方式的点云数据发送装置/接收装置、根据实施方式的点云发送方法/接收方法和信令方法可以提供以下效果。
实施方式可以通过使用具有高相关性的帧之间的上下文最大限度地去除冗余信息来有效率地配置比特流。相应地,可以增加几何信息和属性信息的压缩效率。通过发信号通知几何和属性中的每一个的应用范围,可以实现最佳压缩效率。另外,由于在编码/解码中没有使用针对所有帧初始化的概率模型,因此可以减少存储和计算时间。
根据实施方式的点云数据是通过LiDAR设备捕获的,并且支持将数据划分成幻灯片的方法以便可以应用角度模式。由此,可以实现3D地图数据被集成到一段内容中的有效率的几何压缩。
当根据实施方式的点云数据帧被集成到一段点云内容中时,可以提供幻灯片分割方法,以用于基于几何的点云压缩(G-PCC)的有效率的几何压缩。由此,可以增加几何压缩编码/解码效率。
根据实施方式的用于发送和接收点云数据的方法/装置可以在基于以下操作来更有效率地压缩点云数据:基于3D地图和相关信令信息划分由LiDAR设备捕获的点云数据。
已从方法和/或装置的角度描述了实施方式,并且可以应用对方法和装置的描述以互为补充。
尽管为了简单起见已分别描述了附图,但可以通过组合各个图中例示的实施方式来设计新的实施方式。本领域的技术人员需要的其上记录有用于执行上述实施方式的程序的计算机可读取的记录介质的设计也落入所附权利要求及其等同物的范围内。根据实施方式的装置和方法可以不受上述实施方式的配置和方法的限制。通过选择性组合所有或一些实施方式,可以对实施方式进行各种修改。尽管已参考附图描述了优选实施方式,但本领域的技术人员将领会,在不脱离在所附权利要求书中描述的本公开的精神或范围的情况下,可以在实施方式中进行各种修改和变型。这种修改不应从实施方式的技术思路或角度单独理解。
实施方式的装置的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)来实现。根据实施方式,根据实施方式的部件可以被分别实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个部件可以包括能够执行一个或更多个程序的一个或更多个处理器。所述一个或更多个程序可以执行根据实施方式的操作/方法中的任一个或更多个,或包括用于执行其的指令。
用于执行根据实施方式的装置的方法/操作的可执行指令可以被存储在非暂态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 (30)

1.一种发送点云数据的方法,该方法包括以下步骤:
对帧中的点云数据进行编码;以及
发送包括所述点云数据的比特流,
其中,对所述点云数据进行编码的步骤包括对所述点云数据的几何信息进行编码以及对所述点云数据的属性信息进行编码。
2.根据权利要求1所述的方法,其中,所述帧中的所述点云数据基于先前帧来编码。
3.根据权利要求2所述的方法,其中,所述帧是与所述先前帧相关的依赖帧。
4.根据权利要求2所述的方法,其中,所述帧中的所述点云数据基于所述先前帧的上下文来编码。
5.根据权利要求2所述的方法,其中,所述点云数据的编码包括保存所述帧的上下文。
6.根据权利要求3所述的方法,其中,与所述帧相关的所述先前帧是参考帧,并且其中,基于所述先前帧的类型来搜索所述参考帧。
7.根据权利要求6所述的方法,其中,所述比特流包括表示所述参考帧的索引信息和表示所述帧是否基于所述参考帧的上下文来编码的信息。
8.根据权利要求7所述的方法,其中,所述索引信息是基于从第一帧到所述参考帧的距离的。
9.根据权利要求1所述的方法,其中,所述帧包括I帧和P帧中的至少一个,其中,所述I帧是帧组GoF中的第一帧,其中,所述P帧是通过参考所述I帧或其它P帧而预测的帧。
10.根据权利要求6所述的方法,其中,基于帧之间的运动向量的差值来搜索所述参考帧。
11.一种用于发送点云数据的装置,该装置包括:
编码器,所述编码器被配置为对帧中的所述点云数据进行编码;以及
发送器,所述发送器被配置为发送包括所述点云数据的比特流,
其中,对所述点云数据进行编码包括对所述点云数据的几何信息进行编码以及对所述点云数据的属性信息进行编码。
12.根据权利要求11所述的装置,其中,所述帧中的所述点云数据基于先前帧来编码。
13.根据权利要求12所述的装置,其中,所述帧是与所述先前帧相关的依赖帧。
14.根据权利要求12所述的装置,其中,所述帧中的所述点云数据基于所述先前帧的上下文来编码。
15.根据权利要求12所述的装置,其中,所述编码器被配置为保存所述帧的上下文。
16.根据权利要求13所述的装置,其中,与所述帧相关的所述先前帧是参考帧,并且
其中,基于所述先前帧的类型来搜索所述参考帧。
17.根据权利要求16所述的装置,其中,所述比特流包括表示所述参考帧的索引信息和表示所述帧是否基于所述参考帧的上下文来编码的信息。
18.一种接收点云数据的方法,该方法包括以下步骤:
接收包括帧中的所述点云数据的比特流;以及
对所述点云数据进行解码,
其中,对所述点云数据进行解码包括对所述点云数据的几何信息进行解码以及对所述点云数据的属性信息进行解码。
19.根据权利要求18所述的方法,其中,所述帧中的所述点云数据基于先前帧来解码。
20.根据权利要求19所述的方法,其中,所述帧是与所述先前帧相关的依赖帧。
21.根据权利要求19所述的方法,其中,所述帧中的所述点云数据基于所述先前帧的上下文来解码。
22.根据权利要求18所述的方法,其中,所述解码包括保存所述帧的上下文。
23.根据权利要求20所述的方法,其中,与所述帧相关的所述先前帧是参考帧,并且
其中,基于所述先前帧的类型来搜索所述参考帧。
24.根据权利要求23所述的方法,其中,所述比特流包括表示所述参考帧的索引信息和表示所述帧是否基于所述参考帧的上下文来编码的信息。
25.一种用于接收点云数据的装置,该装置包括:
接收器,所述接收器被配置为接收包括帧中的所述点云数据的比特流;以及
解码器,所述解码器被配置为对所述点云数据进行解码,
其中,所述解码器被配置为对所述点云数据的几何信息进行解码以及对所述点云数据的属性信息进行解码,
其中,所述帧中的所述点云数据基于先前帧来解码。
26.根据权利要求25所述的装置,其中,所述帧是与所述先前帧相关的依赖帧。
27.根据权利要求26所述的装置,其中,所述帧中的所述点云数据基于所述先前帧的上下文来解码。
28.根据权利要求25所述的装置,其中,所述解码器被配置为保存所述帧的上下文。
29.根据权利要求26所述的装置,其中,与所述帧相关的所述先前帧是参考帧,并且
其中,基于所述先前帧的类型来搜索所述参考帧。
30.根据权利要求29所述的装置,其中,所述比特流包括表示所述参考帧的索引信息和表示所述帧是否基于所述参考帧的上下文来编码的信息。
CN202280028542.2A 2021-04-15 2022-02-07 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 Pending CN117121488A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20210048927 2021-04-15
KR10-2021-0048927 2021-04-15
PCT/KR2022/001827 WO2022220382A1 (ko) 2021-04-15 2022-02-07 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치

Publications (1)

Publication Number Publication Date
CN117121488A true CN117121488A (zh) 2023-11-24

Family

ID=83602802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280028542.2A Pending CN117121488A (zh) 2021-04-15 2022-02-07 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法

Country Status (6)

Country Link
US (1) US20220337872A1 (zh)
EP (1) EP4325852A1 (zh)
JP (1) JP2024515174A (zh)
KR (1) KR20230173094A (zh)
CN (1) CN117121488A (zh)
WO (1) WO2022220382A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115428020A (zh) * 2021-04-15 2022-12-02 商汤国际私人有限公司 生成点云编码器的方法和装置和生成点云数据的方法和装置、电子设备及计算机介质
WO2024103304A1 (zh) * 2022-11-16 2024-05-23 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器、码流及存储介质
WO2024119518A1 (zh) * 2022-12-09 2024-06-13 Oppo广东移动通信有限公司 编解码方法、解码器、编码器、码流及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101365989B1 (ko) * 2007-03-08 2014-02-25 삼성전자주식회사 트리 구조를 기반으로 한 엔트로피 부호화 및 복호화 장치및 방법
JP6994868B2 (ja) * 2017-08-09 2022-01-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
US11769275B2 (en) * 2017-10-19 2023-09-26 Interdigital Vc Holdings, Inc. Method and device for predictive encoding/decoding of a point cloud
WO2020072579A1 (en) * 2018-10-02 2020-04-09 Futurewei Technologies, Inc. Motion estimation using 3d auxiliary data
JP7448482B2 (ja) * 2018-11-16 2024-03-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US20220130075A1 (en) * 2019-03-15 2022-04-28 Lg Electronics Inc. Device and method for processing point cloud data
US10979730B2 (en) * 2019-03-20 2021-04-13 Tencent America LLC Techniques and apparatus for interframe point cloud attribute coding
US10904476B1 (en) * 2019-12-12 2021-01-26 Amazon Technologies, Inc. Techniques for up-sampling digital media content

Also Published As

Publication number Publication date
US20220337872A1 (en) 2022-10-20
JP2024515174A (ja) 2024-04-05
KR20230173094A (ko) 2023-12-26
WO2022220382A1 (ko) 2022-10-20
EP4325852A1 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
CN114503571B (zh) 点云数据发送装置和方法、点云数据接收装置和方法
CN113615204B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11830212B2 (en) Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method
CN114616827A (zh) 点云数据发送装置及方法、点云数据接收装置及方法
CN114930397A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN113597771A (zh) 用于处理点云数据的设备和方法
CN114175100A (zh) 用于处理点云数据的方法和装置
CN115428467B (zh) 点云数据发送设备和方法、点云数据接收设备和方法
EP4171039A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
EP4325852A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
CN114073085A (zh) 点云数据处理方法和设备
CN114073086A (zh) 点云数据处理设备和方法
CN114009046A (zh) 用于处理点云数据的装置和方法
US20230260163A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115210765A (zh) 点云数据发送装置、发送方法、处理装置和处理方法
CN114051730A (zh) 处理点云数据的设备和方法
US20230045663A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN116965019A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
US20240062428A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
EP4387230A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
EP4395320A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20240196012A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN118216152A (zh) 点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备
CN118160310A (zh) 点云数据发送方法、点云数据发送装置、点云数据接收方法及点云数据接收装置
CN118056404A (zh) 点云数据发送方法、点云数据发送装置、点云数据接收方法以及点云数据接收装置

Legal Events

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