CN115804096A - 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 - Google Patents
点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 Download PDFInfo
- Publication number
- CN115804096A CN115804096A CN202180044597.8A CN202180044597A CN115804096A CN 115804096 A CN115804096 A CN 115804096A CN 202180044597 A CN202180044597 A CN 202180044597A CN 115804096 A CN115804096 A CN 115804096A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- atlas
- patch
- video
- information
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
根据实施方式的点云数据发送方法可包括以下步骤:对点云数据进行编码;以及发送点云数据。根据实施方式的点云数据接收方法可包括以下步骤:接收点云数据;对点云数据进行解码;以及渲染点云数据。
Description
技术领域
实施方式提供了一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶服务的各种服务的方法。
背景技术
点云是三维(3D)空间中的点集合。因为3D空间中的点的数量大,所以难以生成点云数据。
需要大吞吐量以发送和接收点云数据。
发明内容
技术问题
本公开的目的在于提供一种用于有效地发送和接收点云的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的在于提供一种用于解决延迟和编码/解码复杂度的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
实施方式不限于上述目的,实施方式的范围可扩展至本领域技术人员基于本公开的完整内容可推断出的其它目的。
技术方案
为了实现这些目的和其它优点并且在本公开的一个方面,一种用于发送点云数据的方法可包括以下步骤:对点云数据进行编码;封装点云数据;以及发送点云数据。在本公开的另一方面,一种用于接收点云数据的装置可包括:接收器,其被配置为接收点云数据;解封装器,其被配置为将点云数据解封装;以及解码器,其被配置为对点云数据进行解码。
有益效果
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可提供良好质量的点云服务。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可实现各种视频编解码方法。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可提供诸如自主驾驶服务的通用点云内容。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中并构成本申请的一部分,附图示出本公开的实施方式并与说明书一起用于说明本公开的原理。附图中:
图1示出根据实施方式的用于提供点云内容的发送/接收系统的示例性结构。
图2示出根据实施方式的点云数据的捕获。
图3示出根据实施方式的示例性点云、几何和纹理图像。
图4示出根据实施方式的示例性V-PCC编码处理。
图5示出根据实施方式的表面的切平面和法向量的示例。
图6示出根据实施方式的点云的示例性边界框。
图7示出根据实施方式的占用图上的各个补片位置的确定的示例。
图8示出根据实施方式的法向轴、切向轴和双切轴之间的示例性关系。
图9示出根据实施方式的投影模式的最小模式和最大模式的示例性配置。
图10示出根据实施方式的示例性EDD码。
图11示出根据实施方式的基于邻近点的颜色值重新着色的示例。
图12示出根据实施方式的推拉式背景填充的示例。
图13示出根据实施方式的4*4块的示例性可能遍历顺序。
图14示出根据实施方式的示例性最佳遍历顺序。
图15示出根据实施方式的示例性2D视频/图像编码器。
图16示出根据实施方式的示例性V-PCC解码处理。
图17示出根据实施方式的示例性2D视频/图像解码器。
图18是示出根据本公开的实施方式的发送装置的操作的流程图。
图19是示出根据实施方式的接收装置的操作的流程图。
图20示出根据实施方式的用于点云数据的基于V-PCC的存储和流传输的示例性架构。
图21是根据实施方式的用于存储和发送点云数据的装置的示例性框图。
图22是根据实施方式的点云数据接收装置的示例性框图。
图23示出根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构。
图24示出根据实施方式的V-PCC比特流的示例性结构。
图25示出根据实施方式的包括点云数据的比特流的结构。
图26示出根据实施方式的V-PCC单元和V-PCC单元头。
图27示出根据实施方式的V-PCC单元的有效载荷。
图28示出根据实施方式的V-PCC参数集。
图29示出根据实施方式的图集帧。
图30示出根据实施方式的图集比特流的结构。
图31示出根据实施方式的包含点云数据的比特流中所包括的样本流NAL单元、样本流NAL单元头、NAL单元和NAL单元头。
图32示出根据实施方式的NAL单元类型。
图33示出根据实施方式的图集序列参数集。
图34示出根据实施方式的图集帧参数集。
图35示出根据实施方式的atlas_frame_tile_information。
图36示出根据实施方式的atlas_adaptation_parameter_set。
图37示出根据实施方式的atlas_camera_parameters。
图38示出根据实施方式的atlas_tile_group_layer和atlas_tile_group_header。
图39示出根据实施方式的参考列表结构(ref_list_struct)。
图40示出根据实施方式的图集拼块组数据(atlas_tile_group_data_unit)。
图41示出根据实施方式的补片模式。
图42示出根据实施方式的patch_information_data。
图43示出根据实施方式的补片信息。
图44示出根据实施方式的SEI消息。
图45示出根据实施方式的封装V-PCC数据容器结构。
图46示出根据实施方式的文件的结构。
图47示出根据实施方式的用于封装非定时V-PCC数据的结构的概览。
图48示出根据实施方式的V3C项目的结构。
图49示出根据实施方式的V3C项目。
图50至图51示出根据实施方式的V3C项目。
图52至图53示出根据实施方式的V3C项目。
图54示出根据实施方式的发送点云数据的方法。
图55示出根据实施方式的接收点云数据的方法。
具体实施方式
现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语选自本领域中广泛使用的一般术语,但是一些术语是申请人任意选择的,其含义在以下描述中根据需要详细说明。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图1示出根据实施方式的用于提供点云内容的发送/接收系统的示例性结构。
本公开提供一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶的各种服务的方法。根据实施方式的点云内容将表示对象的数据表示为点,并且可被称为点云、点云数据、点云视频数据、点云图像数据等。
根据实施方式的点云数据发送装置10000可包括点云视频获取器10001、点云视频编码器10002、文件/片段封装模块10003和/或发送器(或通信模块)10004。根据实施方式的发送装置可确保和处理点云视频(或点云内容)并发送其。根据实施方式,发送装置可包括固定站、基站收发器系统(BTS)、网络、人工智能(AI)装置和/或系统、机器人和AR/VR/XR装置和/或服务器。根据实施方式,发送装置10000可包括装置机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器,其被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信。
根据实施方式的点云视频获取器10001通过捕获、合成或生成点云视频的处理来获取点云视频。
根据实施方式的点云视频编码器10002对点云视频数据进行编码。根据实施方式,点云视频编码器10002可被称为点云编码器、点云数据编码器、编码器等。根据实施方式的点云压缩编码(编码)不限于上述实施方式。点云视频编码器可输出包含编码的点云视频数据的比特流。比特流不仅可包括编码的点云视频数据,而且包括与点云视频数据的编码有关的信令信息。
根据实施方式的编码器可支持基于几何的点云压缩(G-PCC)编码方案和/或基于视频的点云压缩(V-PCC)编码方案二者。另外,编码器可对点云(指点云数据或点)和/或与点云有关的信令数据进行编码。下面将描述根据实施方式的具体编码操作。
如本文所使用的,术语V-PCC可代表基于视频的点云压缩(V-PCC)。术语V-PCC可与基于视觉体积视频的编码(V3C)相同。这些术语可互补地使用。
根据实施方式的文件/片段封装模块10003以文件和/或片段的形式封装点云数据。根据实施方式的点云数据发送方法/装置可按文件和/或片段的形式发送点云数据。
根据实施方式的发送器(或通信模块)10004以比特流的形式发送编码的点云视频数据。根据实施方式,文件或片段可经由网络发送至接收装置,或存储在数字存储介质(例如,USB、SD、CD、DVD、蓝光、HDD、SSD等)中。根据实施方式的发送器能够经由4G、5G、6G等的网络与接收装置(或接收器)无线地/无线通信。另外,发送器可根据网络系统(例如,4G、5G或6G通信网络系统)执行必要的数据处理操作。发送装置可按照按需方式发送封装数据。
根据实施方式的点云数据接收装置10005可包括接收器10006、文件/片段解封装模块10007、点云视频解码器10008和/或渲染器10009。根据实施方式,接收装置可包括装置机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器,其被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信。
根据实施方式的接收器10006接收包含点云视频数据的比特流。根据实施方式,接收器10006可向点云数据发送装置10000发送反馈信息。
文件/片段解封装模块10007将包含点云数据的文件和/或片段解封装。根据实施方式的解封装模块可执行根据实施方式的封装处理的逆处理。
点云视频解码器10007对所接收的点云视频数据进行解码。根据实施方式的解码器可执行根据实施方式的编码的逆处理。
渲染器10007渲染解码的点云视频数据。根据实施方式,渲染器10007可将在接收侧获得的反馈信息发送给点云视频解码器10006。根据实施方式的点云视频数据可将反馈信息承载到接收器。根据实施方式,点云发送装置所接收的反馈信息可被提供给点云视频编码器。
图中的虚线所指示的箭头表示接收装置10005所获取的反馈信息的传输路径。反馈信息是用于反映与消费点云内容的用户的交互性的信息,并且包括用户信息(例如,头部取向信息)、视口信息等)。具体地,当点云内容是需要与用户的交互的服务(例如,自主驾驶服务等)的内容时,反馈信息可被提供给内容发送侧(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可用在接收装置10005以及发送装置10000中,并且可不提供。
根据实施方式的头部取向信息是关于用户的头部位置、取向、角度、运动等的信息。根据实施方式的接收装置10005可基于头部取向信息来计算视口信息。视口信息可以是关于用户正在观看的点云视频的区域的信息。视点是用户正在观看点云视频的点,并且可指视口区域的中心点。即,视口是以视点为中心的区域,并且区域的大小和形状可由视场(FOV)确定。因此,除了头部取向信息之外,接收装置10005可基于装置所支持的垂直或水平FOV来提取视口信息。另外,接收装置10005执行注视分析以检查用户如何消费点云、点云视频中用户注视的区域、注视时间等。根据实施方式,接收装置10005可向发送装置10000发送包括注视分析结果的反馈信息。根据实施方式的反馈信息可在渲染和/或显示处理中获取。根据实施方式的反馈信息可由包括在接收装置10005中的一个或更多个传感器确保。另外,根据实施方式,反馈信息可由渲染器10009或单独的外部元件(或装置、组件等)确保。图1中的虚线表示发送渲染器10009所确保的反馈信息的处理。点云内容提供系统可基于反馈信息来处理(编码/解码)点云数据。因此,点云视频数据解码器10008可基于反馈信息执行解码操作。接收装置10005可向发送装置发送反馈信息。发送装置(或点云视频数据编码器10002)可基于反馈信息执行编码操作。因此,点云内容提供系统可基于反馈信息有效地处理必要数据(例如,与用户头部位置对应的点云数据),而非处理(编码/解码)所有点云数据,并将点云内容提供给用户。
根据实施方式,发送装置10000可被称为编码器、发送装置、发送器等,接收装置10004可被称为解码器、接收装置、接收器等。
根据实施方式的图1的点云内容提供系统中处理的点云数据(通过获取/编码/传输/解码/渲染的一系列处理)可被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可用作涵盖与点云数据有关的元数据或信令信息的概念。
图1所示的点云内容提供系统的元件可由硬件、软件、处理器和/或其组合实现。
实施方式可提供一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶的各种服务的方法。
为了提供点云内容服务,可首先获取点云视频。所获取的点云视频可通过一系列处理发送,并且接收侧可将所接收的数据处理回到原始点云视频并渲染所处理的点云视频。由此,点云视频可被提供给用户。实施方式提供一种有效地执行这一系列处理的方法。
用于提供点云内容服务的所有处理(点云数据发送方法和/或点云数据接收方法)可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
根据实施方式,提供点云内容(或点云数据)的处理可被称为点云压缩处理。根据实施方式,点云压缩处理可表示基于几何的点云压缩处理。
根据实施方式的点云数据发送装置和点云数据接收装置的各个元件可以是硬件、软件、处理器和/或其组合。
为了提供点云内容服务,可获取点云视频。所获取的点云视频通过一系列处理发送,并且接收侧可将所接收的数据处理回到原始点云视频并渲染所处理的点云视频。由此,点云视频可被提供给用户。实施方式提供一种有效地执行这一系列处理的方法。
用于提供点云内容服务的所有处理可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
点云压缩系统可包括发送装置和接收装置。发送装置可通过对点云视频进行编码来输出比特流,并通过数字存储介质或网络将其以文件或流(流传输片段)的形式传送至接收装置。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。
发送装置可包括点云视频获取器、点云视频编码器、文件/片段封装器和发送器。接收装置可包括接收器、文件/片段解封装器、点云视频解码器和渲染器。编码器可被称为点云视频/画面/画面/帧编码器,解码器可被称为点云视频/画面/画面/帧解码装置。发送器可包括在点云视频编码器中。接收器可包括在点云视频解码器中。渲染器可包括显示器。渲染器和/或显示器可被配置成单独的装置或外部组件。发送装置和接收装置还可包括用于反馈处理的单独的内部或外部模块/单元/组件。
根据实施方式,接收装置的操作可以是发送装置的操作的逆处理。
点云视频获取器可通过捕获、编排或生成点云视频的处理来执行获取点云视频的处理。在获取处理中,可生成多个点的3D位置(x,y,z)/属性(颜色、反射率、透明度等)的数据,例如polygon文件格式(PLY)(或斯坦福三角形(Stanford Triangle)格式)文件。对于具有多个帧的视频,可获取一个或更多个文件。在捕获处理期间,可生成点云相关元数据(例如,捕获相关元数据)。
根据实施方式的点云数据发送装置可包括被配置为对点云数据进行编码的编码器以及被配置为发送点云数据的发送器。数据可按照包含点云的比特流的形式发送。
根据实施方式的点云数据接收装置可包括被配置为接收点云数据的接收器、被配置为对点云数据进行解码的解码器以及被配置为渲染点云数据的渲染器。
根据实施方式的方法/装置表示点云数据发送装置和/或点云数据接收装置。
图2示出根据实施方式的点云数据的捕获。
根据实施方式的点云数据可通过相机等来获取。根据实施方式的捕获技术可包括例如面向内和/或面向外。
在根据实施方式的面向内中,向内面向点云数据的对象的一个或更多个相机可从对象外部拍摄对象。
在根据实施方式的面向外中,向外面向点云数据的对象的一个或更多个相机可拍摄对象。例如,根据实施方式,可存在四个相机。
根据实施方式的点云数据或点云内容可以是在各种类型的3D空间中表示的对象/环境的视频或静止图像。根据实施方式,点云内容可包括对象的视频/音频/图像。
为了捕获点云内容,可配置能够获取深度的相机设备(红外图案投影仪和红外相机的组合)和能够提取与深度信息对应的颜色信息的RGB相机的组合。另选地,可通过使用雷达系统的LiDAR来提取深度信息,该雷达系统通过发射激光脉冲并测量返回时间来测量反射器的位置坐标。可从深度信息提取由3D空间中的点组成的几何形状,并且可从RGB信息提取表示各个点的颜色/反射率的属性。点云内容可包括关于位置(x,y,z)和点的颜色(YCbCr或RGB)或反射率(r)的信息。对于点云内容,可使用捕获外部环境的面向外技术和捕获中心对象的面向内技术。在VR/AR环境中,当对象(例如,诸如角色、玩家、事物或演员的核心对象)被配置到用户可在任何方向(360度)观看的点云内容中时,捕获相机的配置可基于面向内技术。当在诸如自主驾驶的车辆模式下当前周围环境被配置到点云内容中时,捕获相机的配置可基于面向外技术。由于可通过多个相机捕获点云内容,所以可能需要在捕获内容之前执行相机校准处理以为相机配置全局坐标系。
点云内容可以是存在于各种类型的3D空间中的对象/环境的视频或静止图像。
另外,在点云内容获取方法中,可基于捕获的点云视频编排任何点云视频。另选地,当要提供计算机生成的虚拟空间的点云视频时,可能不执行利用实际相机的捕获。在这种情况下,捕获处理可简单地由生成相关数据的处理代替。
可能需要对捕获的点云视频进行后处理以改进内容的质量。在视频捕获处理中,可在相机设备所提供的范围内调节最大/最小深度。即使在调节之后,仍可能存在不想要的区域的点数据。因此,可执行去除不想要的区域(例如,背景)或识别连接的空间并填充空间孔洞的后处理。另外,从共享空间坐标系的相机提取的点云可通过基于通过校准处理获取的各个相机的位置坐标将各个点变换到全局坐标系中的处理而被整合为一条内容。由此,可生成具有宽范围的一条点云内容,或者可获取具有高密度点的点云内容。
点云视频编码器可将输入点云视频编码为一个或更多个视频流。一个视频可包括多个帧,各个帧可对应于静止图像/画面。在本说明书中,点云视频可包括点云图像/帧/画面。另外,术语“点云视频”可与点云图像/帧/画面/视频/音频互换使用。点云视频编码器可执行基于视频的点云压缩(V-PCC)处理。为了压缩和编码效率,点云视频编码器可执行诸如预测、变换、量化和熵编码的一系列处理。编码的数据(编码的视频/图像信息)可按比特流的形式输出。基于V-PCC处理,点云视频编码器可通过将点云视频分成几何视频、属性视频、占用图视频和辅助信息来对点云视频进行编码(将稍后描述)。几何视频可包括几何图像,属性视频可包括属性图像,占用图视频可包括占用图图像。辅助信息可包括辅助补片信息。属性视频/图像可包括纹理视频/图像。
封装处理器(文件/片段封装模块)10003可以例如文件的形式封装编码的点云视频数据和/或与点云视频有关的元数据。这里,与点云视频有关的元数据可从元数据处理器接收。元数据处理器可包括在点云视频编码器中,或者可被配置成单独的组件/模块。封装处理器可按照诸如ISOBMFF的文件格式封装数据或者按照DASH片段等的形式处理数据。根据实施方式,封装处理器可包括文件格式的点云视频相关元数据。点云视频元数据可被包括在例如ISOBMFF文件格式的各种级别的框中,或作为文件内的单独轨道中的数据。根据实施方式,封装处理器可将点云视频相关元数据封装到文件中。发送处理器可对根据文件格式封装的点云视频数据执行传输处理。发送处理器可包括在发送器中,或者可被配置成单独的组件/模块。发送处理器可根据传输协议来处理点云视频数据。传输处理可包括经由广播网络传送的处理和通过宽带传送的处理。根据实施方式,发送处理器可从元数据处理器连同点云视频数据一起接收点云视频相关元数据,并且执行点云视频数据的处理以进行传输。
发送器10004可通过数字存储介质或网络将以比特流的形式输出的编码的视频/图像信息或数据以文件或流的形式发送到接收装置的接收器。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。发送器可包括用于以预定文件格式生成媒体文件的元件,并且可包括用于经由广播/通信网络传输的元件。接收器可提取比特流并将所提取的比特流发送到解码装置。
接收器10003可接收根据本公开的点云视频发送装置所发送的点云视频数据。根据传输信道,接收器可经由广播网络或通过宽带接收点云视频数据。另选地,点云视频数据可通过数字存储介质来接收。
接收处理器可根据传输协议处理所接收的点云视频数据。接收处理器可包括在接收器中,或者可被配置成单独的组件/模块。接收处理器可反向执行发送处理器的上述处理,使得处理对应于在发送侧执行的传输处理。接收处理器可将所获取的点云视频数据传送至解封装处理器,并将所获取的点云视频相关元数据传送至元数据解析器。接收处理器所获取的点云视频相关元数据可采取信令表的形式。
解封装处理器(文件/片段解封装模块)10007可将以文件的形式从接收处理器接收的点云视频数据解封装。解封装处理器可根据ISOBMFF等对文件进行解封装,并且可获取点云视频比特流或点云视频相关元数据(元数据比特流)。所获取的点云视频比特流可被传送至点云视频解码器,并且所获取的点云视频相关元数据(元数据比特流)可被传送至元数据处理器。点云视频比特流可包括元数据(元数据比特流)。元数据处理器可包括在点云视频解码器中,或者可被配置成单独的组件/模块。解封装处理器所获取的点云视频相关元数据可采取文件格式中的框或轨道的形式。当需要时,解封装处理器可从元数据处理器接收解封装所需的元数据。点云视频相关元数据可被传送至点云视频解码器并在点云视频解码处理中使用,或者可被传送至渲染器并在点云视频渲染处理中使用。
点云视频解码器可接收比特流并且通过执行与点云视频编码器的操作对应的操作来将视频/图像解码。在这种情况下,点云视频解码器可通过如下所述将点云视频分成几何视频、属性视频、占用图视频和辅助信息来对点云视频进行解码。几何视频可包括几何图像,属性视频可包括属性图像。占用图视频可包括占用图图像。辅助信息可包括辅助补片信息。属性视频/图像可包括纹理视频/图像。
3D几何可基于解码的几何图像、占用图和辅助补片信息来重构,然后可经受平滑处理。可通过基于纹理图像向平滑的3D几何指派颜色值来重构颜色点云图像/画面。渲染器可渲染重构的几何和颜色点云图像/画面。渲染的视频/图像可通过显示器显示。用户可通过VR/AR显示器或典型显示器来观看全部或部分渲染结果。
反馈处理可包括将可在渲染/显示处理中获取的各种类型的反馈信息传送至发送侧或接收侧的解码器。可在消费点云视频时通过反馈处理提供交互性。根据实施方式,头部取向信息、指示用户当前观看的区域的视口信息等可在反馈处理中被传送至发送侧。根据实施方式,用户可与VR/AR/MR/自主驾驶环境中实现的事物交互。在这种情况下,与交互有关的信息可在反馈处理期间被传送至发送侧或服务提供商。根据实施方式,反馈处理可被跳过。
头部取向信息可表示用户头部的位置、角度和运动的信息。基于该信息,可计算关于用户当前观看的点云视频的区域的信息(即,视口信息)。
视口信息可以是关于用户当前观看的点云视频的区域的信息。可使用视口信息来执行注视分析,以检查用户消费点云视频的方式、用户所注视的点云视频的区域以及用户注视该区域多长时间。可在接收侧执行注视分析,并且可在反馈信道上将分析结果传送至发送侧。诸如VR/AR/MR显示器的装置可基于用户头部的位置/方向、装置所支持的垂直或水平FOV等来提取视口区域。
根据实施方式,上述反馈信息可不仅被传送至发送侧,而且在接收侧消费。即,可基于上述反馈信息执行接收侧的解码和渲染处理。例如,可基于头部取向信息和/或视口信息仅优先解码和渲染用户当前观看的区域的点云视频。
这里,视口或视口区域可表示用户当前观看的点云视频的区域。视点是点云视频中用户所观看的点,并且可表示视口区域的中心点。即,视口是视点周围的区域,并且区域的大小和形式可由视场(FOV)确定。
本公开涉及如上所述的点云视频压缩。例如,本公开中公开的方法/实施方式可应用于运动图像专家组(MPEG)的点云压缩或点云编码(PCC)标准或下一代视频/图像编码标准。
如本文所使用的,画面/帧通常可表示特定时间间隔中表示一个图像的单位。
像素或画素可以是构成一个画面(或图像)的最小单位。另外,“样本”可用作与像素对应的术语。样本通常可表示像素或像素值,或者可仅表示亮度分量的像素/像素值,仅表示色度分量的像素/像素值,或者仅表示深度分量的像素/像素值。
单元可表示图像处理的基本单位。单元可包括画面的特定区域和与该区域有关的信息中的至少一个。在一些情况下,单元可与诸如块或区域的术语互换使用。在一般情况下,M×N块可包括按M列和N行配置的样本(或样本阵列)或变换系数集合(或阵列)。
图3示出根据实施方式的点云、几何图像和纹理图像的示例。
根据实施方式的点云可输入至将稍后描述的图4的V-PCC编码处理,以生成几何图像和纹理图像。根据实施方式,点云可具有与点云数据相同的含义。
如图所示,左侧部分示出点云,其中对象位于3D空间中并且可由边界框等表示。中间部分示出几何,右侧部分示出纹理图像(非填充图像)。
根据实施方式的基于视频的点云压缩(V-PCC)可提供基于诸如HEVC或VVC的2D视频编解码器来压缩3D点云数据的方法。可在V-PCC压缩处理中生成的数据和信息如下:
占用图:这是在将构成点云的点分成补片并将其映射到2D平面时使用值0或1指示在2D平面中的对应位置是否存在数据的二值图。占用图可表示与图集(atlas)对应的2D阵列,并且占用图的值可指示图集中的各个样本位置是否对应于3D点。
图集是位于矩形帧中与渲染体积数据的3D空间中的3D边界框对应的2D边界框和与其有关的信息的集合。
图集比特流是构成图集的一个或更多个图集帧和相关数据的比特流。
图集帧是补片投影至的图集样本的2D矩形阵列。
图集样本是与图集关联的补片投影至的矩形帧的位置。
图集帧可被划分为拼块。拼块是2D帧被划分的单元。即,拼块是用于划分称为图集的点云数据的信令信息的单元。
补片:构成点云的点集合,其指示属于同一补片的点在3D空间中彼此相邻并且在映射到2D图像的处理中在6面边界框平面之间在相同方向上映射。
补片是拼块被划分的单元。补片是关于点云数据的配置的信令信息。
根据实施方式的接收装置可基于图集(拼块、补片)来恢复属性视频数据、几何视频数据和占用视频数据(具有相同呈现时间的实际视频数据)。
几何图像:这是逐补片呈现关于构成点云的各个点的位置信息(几何)的深度图形式的图像。几何图像可由一个通道的像素值组成。几何表示与点云帧关联的坐标集合。
纹理图像:这是逐补片表示关于构成点云的各个点的颜色信息的图像。纹理图像可由多个通道(例如,R、G和B三个通道)的像素值组成。纹理包括在属性中。根据实施方式,纹理和/或属性可被解释为相同的对象和/或具有包含关系。
辅助补片信息:这指示利用各个补片重构点云所需的元数据。辅助补片信息可包括关于2D/3D空间中的补片的位置、尺寸等的信息。
根据实施方式的点云数据(例如,V-PCC组件)可包括图集、占用图、几何和属性。
图集表示2D边界框的集合。其可以是补片,例如,投影到矩形帧上的补片。图集可对应于3D空间中的3D边界框,并且可表示点云的子集。
属性可表示与点云中的各个点关联的标量或向量。例如,属性可包括颜色、反射率、表面法线、时间戳、材料ID。
根据实施方式的点云数据表示根据基于视频的点云压缩(V-PCC)方案的PCC数据。点云数据可包括多个分量。例如,其可包括占用图、补片、几何和/或纹理。
图4示出根据实施方式的V-PCC编码处理。
该图示出用于生成和压缩占用图、几何图像、纹理图像和辅助补片信息的V-PCC编码处理。图4的V-PCC编码处理可由图1的点云视频编码器10002处理。图4的各个元件可由软件、硬件、处理器和/或其组合执行。
补片生成或补片生成器40000接收点云帧(其可以是包含点云数据的比特流的形式)。补片生成器40000从点云数据生成补片。另外,生成包括关于补片生成的信息的补片信息。
补片打包或补片打包器40001将用于点云数据的补片打包。例如,一个或更多个补片可被打包。另外,补片打包器生成包含关于补片打包的信息的占用图。
几何图像生成或几何图像生成器40002基于点云数据、补片和/或打包的补片来生成几何图像。几何图像是指包含与点云数据有关的几何的数据。
纹理图像生成或纹理图像生成器40003基于点云数据、补片和/或打包的补片来生成纹理图像。另外,可进一步基于通过基于补片信息平滑的平滑处理生成的平滑几何来生成纹理图像。
平滑或平滑器40004可减轻或消除包含在图像数据中的错误。例如,基于修补的重构几何图像,数据之间可导致错误的部分可被平滑地滤除以生成平滑几何。
辅助补片信息压缩或辅助补片信息压缩器40005压缩与在补片生成中生成的补片信息有关的辅助补片信息。另外,压缩的辅助补片信息可被发送至复用器。可在几何图像生成40002中生成辅助补片信息。
图像填充或图像填充器40006、40007可分别填充几何图像和纹理图像。填充数据可被填充到几何图像和纹理图像。
组扩张或组扩张器40008可按照与图像填充类似的方式向纹理图像添加数据。添加的数据可被插入到纹理图像中。
视频压缩或视频压缩器40009、40010、40011可分别压缩填充的几何图像、填充的纹理图像和/或占用图。压缩可对几何信息、纹理信息、占用信息等进行编码。
熵压缩或熵压缩器40012可基于熵方案来压缩(例如,编码)占用图。
根据实施方式,可分别根据点云数据是否无损和/或有损来执行熵压缩和/或视频压缩。
复用器40013将压缩的几何图像、压缩的纹理图像和压缩的占用图复用为比特流。
下面描述图4的各个处理中的特定操作。
补片生成40000
补片生成处理是指将点云分成补片(映射单元)以便将点云映射到2D图像的处理。补片生成处理可被分成三个步骤:法向值计算、分段和补片分段。
将参照图5详细描述法向值计算处理。
图5示出根据实施方式的表面的切平面和法向量的示例。
图5的表面如下用在图4的V-PCC编码处理的补片生成处理40000中。
与补片生成有关的法线计算:
点云的各个点具有其自己的方向,其由称为法向量的3D向量表示。使用利用K-D树等获得的各个点的邻居,可获得如图所示构成点云的表面的各个点的切平面和法向量。应用于搜索邻居的处理的搜索范围可由用户定义。
切平面是指穿过表面上的点并且完全包括表面上的曲线的切线的平面。
图6示出根据实施方式的点云的示例性边界框。
根据实施方式的方法/装置(例如,补片生成)可在从点云数据生成补片时采用边界框。
根据实施方式的边界框是指用于基于3D空间中的六面体划分点云数据的单元的框。
可在将点云数据的目标对象投影到3D空间中的六面体的各个平坦面的平面上的处理中使用边界框。边界框可由图1的点云视频获取器10000和点云视频编码器10002生成和处理。此外,基于边界框,可执行图2的V-PCC编码处理的补片生成40000、补片打包40001、几何图像生成40002和纹理图像生成40003。
与补片生成有关的分段
分段被分成两个处理:初始分段和细化分段。
根据实施方式的点云编码器10002将点投影到边界框的一个面上。具体地,构成点云的各个点被投影到围绕点云的边界框的六个面之一上。初始分段是确定各个点要投影至的边界框的平坦面之一的处理。
(1.0,0.0,0.0),(0.0,1.0,0.0),(0.0,0.0,1.0),(-1.0,0.0,0.0),(0.0,-1.0,0.0),(0.0,0.0,-1.0)。
所确定的平面可由一个集群索引(0至5之一)标识。
细化分段是考虑邻近点的投影平面增强在初始分段处理中确定的构成点云的各个点的投影平面的处理。在该处理中,得分法向和得分平滑可一起考虑,得分法向表示在初始分段处理中确定投影平面时考虑的各个点的法向量与边界框的各个平坦面的法向之间的相似度,得分平滑指示当前点的投影平面与邻近点的投影平面之间的相似度。
可通过向得分法向指派权重来考虑得分平滑。在这种情况下,权重值可由用户定义。细化分段可重复地执行,重复次数也可由用户定义。
与补片生成有关的补片分段
补片分段是基于在初始/细化分段处理中获得的关于构成点云的各个点的投影平面信息将整个点云分成补片(邻近点的集合)的处理。补片分段可包括以下步骤。
①使用K-D树等计算构成点云的各个点的邻近点。最大邻居数量可由用户定义。
②当邻近点被投影到与当前点相同的平面上时(当它们具有相同的集群索引时),
提取当前点和邻近点作为一个补片。
③计算所提取的补片的几何值。细节在以下描述。
④重复操作②至④,直至不存在未提取的点。
各个补片的占用图、几何图像和纹理图像以及各个补片的大小通过补片分段处理来确定。
图7示出根据实施方式的确定占用图上的各个补片位置的示例。
根据实施方式的点云编码器10002可执行补片打包并生成占用图。
补片打包和占用图生成(40001)
这是确定2D图像中的各个补片的位置以将分段的补片映射到2D图像的处理。作为一种2D图像,占用图是使用值0或1指示对应位置处是否存在数据的二值图。占用图由块组成,其分辨率可由块的大小确定。例如,当块为1*1块时,获得像素级分辨率。占用打包块大小可由用户确定。
确定占用图上的各个补片的位置的处理可配置如下。
①将占用图上的所有位置设定为0。
②将补片置于占用图平面中水平坐标在(0,occupancySizeU-patch.sizeU0)范围内并且垂直坐标在(0,occupancySizeV-patch.sizeV0)范围内的点(u,v)处。
③将补片平面中水平坐标在(0,patch.sizeU0)范围内并且垂直坐标在(0,patch.sizeV0)范围内的点(x,y)设定为当前点。
④按光栅顺序改变点(x,y)的位置,并且如果补片占用图上的坐标(x,y)的值为1(补片中的点处存在数据)并且全局占用图上的坐标(u+x,v+y)的值为1(以先前补片填充占用图),则重复操作③和④。否则,进行至操作⑥。
⑤按光栅顺序改变(u,v)的位置并且重复操作③至⑤。
⑥将(u,v)确定为补片的位置并且将关于补片的占用图数据复制到全局占用图上的对应部分上。
⑦针对下一补片重复操作②至⑦。
occupancySizeU:指示占用图的宽度。其单位是占用打包块大小。
occupancySizeV:指示占用图的高度。其单位是占用打包块大小。
patch.sizeU0:指示占用图的宽度。其单位是占用打包块大小。
patch.sizeV0:指示占用图的高度。其单位是占用打包块大小。
例如,如图7所示,在与占用打包大小块对应的框中存在与具有补片大小的补片对应的框,并且点(x,y)可位于该框中。
图8示出根据实施方式的法向轴、切向轴和双切轴之间的示例性关系。
根据实施方式的点云编码器10002可生成几何图像。几何图像是指包括关于点云的几何信息的图像数据。几何图像生成处理可采用图8中的补片的三个轴(法向、切向和双切)。
几何图像生成(40002)
在该处理中,确定构成各个补片的几何图像的深度值,并且整个几何图像基于在上述补片打包处理中确定的补片的位置来生成。确定构成各个补片的几何图像的深度值的处理可配置如下。
①计算与各个补片的位置和大小有关的参数。参数可包括以下信息。
指示法向轴的法向索引在先前补片生成处理中获得。切向轴是垂直于法向轴的轴当中与补片图像的水平轴u一致的轴,双切轴是垂直于法向轴的轴当中与补片图像的垂直轴v一致的轴。三个轴可如图所示。
图9示出根据实施方式的投影模式的最小模式和最大模式的示例性配置。
根据实施方式的点云编码器10002可执行基于补片的投影以生成几何图像,并且根据实施方式的投影模式包括最小模式和最大模式。
可基于围绕补片的最小尺寸的边界框来计算补片的3D空间坐标。例如,3D空间坐标可包括补片的最小切向值(在补片3d移位切向轴上)、补片的最小双切值(在补片3d移位双切轴上)和补片的最小法向值(在补片3d移位法向轴上)。
补片的2D尺寸指示当补片被打包成2D图像时补片的水平尺寸和垂直尺寸。水平尺寸(补片2d尺寸u)可作为边界框的最大切向值和最小切向值之差获得,垂直尺寸(补片2d尺寸v)可作为边界框的最大双切值和最小双切值之差获得。
②确定补片的投影模式。投影模式可以是最小模式或最大模式。关于补片的几何信息利用深度值表示。当构成补片的各个点在补片的法向上投影时,可生成两层图像,利用最大深度值构造的图像和利用最小深度值构造的图像。
在最小模式下,在生成两层图像d0和d1时,可为d0配置最小深度,并且可为d1配置从最小深度的表面厚度内的最大深度,如图所示。
例如,当点云如图中所示位于2D中时,可存在包括多个点的多个补片。如图中所示,指示以相同样式的阴影标记的点可属于同一补片。该图示出投影标记空白的点的补片的处理。
在将标记空白的点向左/右投影时,深度可相对于左侧增加1为0、1、2、…、6、7、8、9,并且用于计算点的深度的数可标记在右侧。
可对所有点云应用相同的投影模式,或者可根据用户定义对各个帧或补片应用不同的投影模式。当对各个帧或补片应用不同的投影模式时,可自适应地选择可增强压缩效率或使缺失的点最少的投影模式。
③计算各个点的深度值。
在最小模式下,利用depth0构造图像d0,depth0是通过针对各个点的最小法向值从补片的最小法向值(在补片3d移位法向轴上)减去在操作①中计算的补片的最小法向值(在补片3d移位法向轴上)而获得的值。如果在同一位置在depth0与表面厚度之间的范围内存在另一深度值,则该值被设定为depth1。否则,depth0的值被指派给depth1。利用depth1的值构造图像d1。
例如,可在确定图像d0的点的深度时计算最小值(4 2 4 4 0 6 0 0 9 9 0 8 0)。在确定图像d1的点的深度时,可计算两个或更多个点当中的较大值。当仅存在一个点时,可计算其值(4 4 4 4 6 6 6 8 9 9 8 8 9)。在编码和重构补片的点的处理中,一些点可能丢失(例如,在图中,八个点丢失)。
在最大模式下,利用depth0构造图像d0,depth0是通过针对各个点的最大法向值从补片的最小法向值(在补片3d移位法向轴上)减去在操作1)中计算的补片的最小法向值(在补片3d移位法向轴上)而获得的值。如果在同一位置在depth0与表面厚度之间的范围内存在另一深度值,则该值被设定为depth1。否则,depth0的值被指派给depth1。利用depth1的值构造图像d1。
例如,可在确定图像d0的点的深度时计算最大值(4 4 4 4 6 6 6 8 9 9 8 8 9)。另外,在确定图像d1的点的深度时,可计算两个或更多个点当中的较低值。当仅存在一个点时,可计算其值(4 2 4 4 5 6 0 6 9 9 0 8 0)。在编码和重构补片的点的处理中,一些点可能丢失(例如,在图中,六个点丢失)。
整个几何图像可通过基于在补片打包处理中确定的补片位置信息将通过上述处理生成的各个补片的几何图像放置到整个几何图像上来生成。
所生成的整个几何图像的层d1可使用各种方法来编码。第一方法(绝对d1方法)是对先前生成的图像d1的深度值进行编码。第二方法(差分方法)是对先前生成的图像d1的深度值与图像d0的深度值之差进行编码。
在如上所述使用两个层d0和d1的深度值的编码方法中,如果两个深度之间存在另一点,则在编码处理中丢失关于该点的几何信息,因此增强-增量-深度(EDD)码可用于无损编码。
以下,将参照图10详细描述EDD码。
图10示出根据实施方式的示例性EDD码。
在点云编码器10002和/或V-PCC编码(例如,视频压缩40009)的一些/所有处理中,关于点的几何信息可基于EOD码来编码。
如图所示,EDD码用于包括d1的表面厚度范围内的所有点的位置的二值编码。例如,在图中,由于在D0上的第一位置和第四位置处存在点并且第二位置和第三位置为空,所以包括在左侧第二列中的点可由EDD码0b1001(=9)表示。当EDD码与D0一起编码并发送时,接收终端可无损地恢复关于所有点的几何信息。
例如,当参考点上方存在点时,值为1。当不存在点时,值为0。因此,可基于4比特来表达码。
平滑(40004)
平滑是用于消除由于在压缩处理期间发生的图像质量劣化而可能出现在补片边界上的不连续的操作。可由点云编码器或平滑器执行平滑:
①从几何图像重构点云。此操作可与上述几何图像生成相反。例如,可重构编码的逆处理。
②使用K-D树等计算构成重构的点云的各个点的邻近点。
③确定各个点是否位于补片边界上。例如,当存在具有与当前点不同的投影平面(集群索引)的邻近点时,可确定点位于补片边界上。
④如果在补片边界上存在点,则使该点移动到邻近点的质心(位于邻近点的平均x、y、z坐标处)。即,改变几何值。否则,维持先前几何值。
图11示出根据实施方式的基于邻近点的颜色值来重新着色的示例。
根据实施方式的点云编码器或纹理图像生成器40003可基于重新着色来生成纹理图像。
纹理图像生成(40003)
与上述几何图像生成处理类似,纹理图像生成处理包括生成各个补片的纹理图像并且通过将纹理图像布置在确定的位置来生成整个纹理图像。然而,在生成各个补片的纹理图像的操作中,代替用于几何生成的深度值,生成具有构成与位置对应的点云的点的颜色值(例如,R、G和B值)的图像。
在估计构成点云的各个点的颜色值时,可使用先前通过平滑处理获得的几何。在平滑的点云中,一些点的位置可能已相对于原始点云移位,因此可能需要寻找适合于改变的位置的颜色的重新着色处理。可使用邻近点的颜色值来执行重新着色。例如,如图所示,可考虑最近邻近点的颜色值和邻近点的颜色值来计算新颜色值。
例如,参考附图,在重新着色时,可基于关于距点最近的原始点的属性信息的平均和/或关于距点最近的原始位置的属性信息的平均来计算改变的位置的合适颜色值。
类似于以两个层d0和d1生成的几何图像,纹理图像也可以两个层t0和t1生成。
辅助补片信息压缩(40005)
根据实施方式的点云编码器或辅助补片信息压缩器可压缩辅助补片信息(关于点云的辅助信息)。
辅助补片信息压缩器压缩在上述补片生成、补片打包和几何生成处理中生成的辅助补片信息。辅助补片信息可包括以下参数:
用于标识投影平面(法向平面)的索引(集群索引);
补片的3D空间位置,即,补片的最小切向值(在补片3d移位切向轴上)、补片的最小双切值(在补片3d移位双切轴上)和补片的最小法向值(在补片3d移位法向轴上);
补片的2D空间位置和尺寸,即,水平尺寸(补片2d尺寸u)、垂直尺寸(补片2d尺寸v)、最小水平值(补片2d移位u)和最小垂直值(补片2d移位u);以及
关于各个块和补片的映射信息,即,候选索引(当补片基于关于补片的2D空间位置和尺寸信息按顺序设置时,多个补片可按交叠方式映射到一个块。在这种情况下,映射的补片构成候选列表,并且候选索引指示其数据存在于块中的补片的顺序位置)和局部补片索引(指示存在于帧中的一个补片的索引)。表X示出表示基于候选列表和局部补片索引在块和补片之间匹配的处理的伪代码。
候选列表的最大数量可由用户定义。
表1-1用于将块映射到补片的伪代码
图12示出根据实施方式的推拉式背景填充。
图像填充和组扩张(40006、40007、40008)
根据实施方式的图像填充器可基于推拉式背景填充技术利用无意义补充数据填充除了补片区域之外的空间。
图像填充是以无意义的数据填充补片区域以外的空间以改进压缩效率的处理。对于图像填充,可复制补片中靠近边界的列或行中的像素值以填充空白空间。另选地,如图所示,可使用推拉式背景填充方法。根据该方法,在逐渐降低非填充图像的分辨率并再次增加分辨率的处理中利用来自低分辨率图像的像素值填充空白空间。
组扩张是填充分别以两个层d0/d1和t0/t1配置的几何图像和纹理图像的空白空间的处理。在此处理中,利用同一位置的值的平均填充通过图像填充计算的两个层的空白空间。
图13示出根据实施方式的4*4块的示例性可能遍历顺序。
占用图压缩(40012、40011)
根据实施方式的占用图压缩器可压缩先前生成的占用图。具体地,可使用两个方法,即,用于有损压缩的视频压缩和用于无损压缩的熵压缩。下面描述视频压缩。
可通过以下操作执行熵压缩。
①如果构成占用图的块被完全占用,则对1进行编码并针对占用图的下一块重复相同的操作。否则,对0进行编码并执行操作②至⑤。
②确定对块的占用像素执行游程长度编码的最佳遍历顺序。图中示出4*4块的四个可能遍历顺序。
图14示出根据实施方式的示例性最佳遍历顺序。
如上所述,根据实施方式的熵压缩器可如上所述基于遍历顺序方案对块进行编码。
例如,从可能遍历顺序当中选择具有最小游程数量的最佳遍历顺序,并且对其索引进行编码。图中示出选择图13中的第三遍历顺序的情况。在所示情况下,游程数量可被最小化为2,因此第三遍历顺序可被选为最佳遍历顺序。
对游程数量进行编码。在图14的示例中,存在两个游程,因此对2进行编码。
④对第一游程的占用进行编码。在图14的示例中,对0进行编码,因为第一游程对应于未占用像素。
⑤对各个游程(游程数量那么多)的长度进行编码。在图14的示例中,依次对第一游程和第二游程的长度6和10进行编码。
视频压缩(40009、40010、40011)
根据实施方式的视频压缩器使用诸如HEVC或VVC的2D视频编解码器对在上述操作中生成的几何图像、纹理图像、占用图图像等的序列进行编码。
图15示出根据实施方式的示例性2D视频/图像编码器。
该图表示应用了上述视频压缩或视频压缩器40009、40010和40011的实施方式,是被配置为对视频/图像信号进行编码的2D视频/图像编码器15000的示意性框图。2D视频/图像编码器15000可包括在上述点云视频编码器中,或者可被配置成内部/外部组件。图15的各个组件可对应于软件、硬件、处理器和/或其组合。
这里,输入图像可包括上述几何图像、纹理图像(属性图像)和占用图图像。点云视频编码器的输出比特流(即,点云视频/图像比特流)可包括各个输入图像(即,几何图像、纹理图像(属性图像)、占用图图像等)的输出比特流。
帧间预测器15090和帧内预测器15100可被统称为预测器。即,预测器可包括帧间预测器15090和帧内预测器15100。变换器15030、量化器15040、逆量化器15050和逆变换器15060可包括在残差处理器中。残差处理器还可包括减法器15020。根据实施方式,上述图像分割器15010、减法器15020、变换器15030、量化器15040、逆量化器15050、逆变换器15060、加法器155、滤波器15070、帧间预测器15090、帧内预测器15100和熵编码器15110可由一个硬件组件(例如,编码器或处理器)配置。另外,存储器15080可包括解码画面缓冲器(DPB)并且可由数字存储介质配置。
图像分割器15010可将输入到编码器15000的图像(或者画面或帧)分割成一个或更多个处理单元。例如,处理单元可被称为编码单元(CU)。在这种情况下,CU可根据四叉树二叉树(QTBT)结构从编码树单元(CTU)或最大编码单元(LCU)递归地分割。例如,一个CU可基于四叉树结构和/或二叉树结构被分割为较低深度的多个CU。在这种情况下,例如,可首先应用四叉树结构,稍后可应用二叉树结构。另选地,可首先应用二叉树结构。根据本公开的编码处理可基于不再分割的最终CU来执行。在这种情况下,根据图像的特性基于编码效率,LCU可用作最终CU。必要时,CU可被递归地分割为较低深度的CU,并且最优大小的CU可用作最终CU。这里,编码处理可包括预测、变换和重构(将稍后描述)。作为另一示例,处理单元还可包括预测单元(PU)或变换单元(TU)。在这种情况下,PU和TU可从上述最终CU分割或划分。PU可以是样本预测的单元,TU可以是推导变换系数的单元和/或从变换系数推导残差信号的单元。
术语“单元”可与诸如块或区域的术语互换使用。在一般情况下,M×N块可表示以M列和N行配置的样本或变换系数的集合。样本通常可表示像素或像素值,并且可仅指示亮度分量的像素/像素值,或者仅指示色度分量的像素/像素值。“样本”可用作与一个画面(或图像)中的像素或画素对应的术语。
编码器15000可通过从输入图像信号(原始块或原始样本阵列)减去从帧间预测器15090或帧内预测器15100输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列),并且所生成的残差信号被发送到变换器15030。在这种情况下,如图所示,在编码器15000中从输入图像信号(原始块或原始样本阵列)减去预测信号(预测块或预测样本阵列)的单元可被称为减法器15020。预测器可对处理目标块(以下称为当前块)执行预测并且生成包括当前块的预测样本的预测块。预测器可基于当前块或CU确定是应用帧内预测还是帧间预测。如稍后将在各个预测模式的描述中描述的,预测器可生成关于预测的各种类型的信息(例如,预测模式信息),并将所生成的信息传送至熵编码器15110。关于预测的信息可由熵编码器15110编码并以比特流的形式输出。
帧内预测器15100可参考当前画面中的样本来预测当前块。根据预测模式,样本可邻近或远离当前块。在帧内预测下,预测模式可包括多个非定向模式和多个定向模式。非定向模式可包括例如DC模式和平面模式。根据预测方向的精细度,定向模式可包括例如33个定向预测模式或65个定向预测模式。然而,这仅是示例,可根据设置使用更多或更少的定向预测模式。帧内预测器15100可基于应用于邻近块的预测模式来确定要应用于当前块的预测模式。
帧间预测器15090可基于参考画面上运动向量所指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性基于每块、子块或样本来预测运动信息。运动信息可包括运动向量和参考画面索引。运动信息还可包括关于帧间预测方向(L0预测、L1预测、Bi预测等)的信息。在帧间预测的情况下,邻近块可包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。包括参考块的参考画面可与包括时间邻近块的参考画面相同或不同。时间邻近块可被称为并置参考块或并置CU(colCU),并且包括时间邻近块的参考画面可被称为并置画面(colPic)。例如,帧间预测器15090可基于邻近块来配置运动信息候选列表并且生成指示要用于推导当前块的运动向量和/或参考画面索引的候选的信息。可基于各种预测模式执行帧间预测。例如,在跳过模式和合并模式下,帧间预测器15090可使用关于邻近块的运动信息作为关于当前块的运动信息。在跳过模式下,与合并模式不同,可不发送残差信号。在运动向量预测(MVP)模式下,邻近块的运动向量可用作运动向量预测器,并且可用信号通知运动向量差以指示当前块的运动向量。
由帧间预测器15090或帧内预测器15100生成的预测信号可用于生成重构信号或生成残差信号。
变换器15030可通过对残差信号应用变换技术来生成变换系数。例如,变换技术可包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen–Loève变换(KLT)、基于图形的变换(GBT)或条件非线性变换(CNT)中的至少一个。这里,GBT是指从描绘像素之间的关系的图形获得的变换。CNT是指基于根据所有先前重构的像素生成的预测信号获得的变换。另外,变换操作可应用于具有相同大小的正方形像素块,或者可应用于具有正方形以外的可变大小的块。
量化器15040可将变换系数量化并将其发送到熵编码器15110。熵编码器15110可对量化的信号(关于量化的变换系数的信息)进行编码并输出编码的信号的比特流。关于量化的变换系数的信息可被称为残差信息。量化器15040可基于系数扫描顺序按照一维向量的形式重排块形式的量化的变换系数,并且基于一维向量形式的量化的变换系数来生成关于量化的变换系数的信息。熵编码器15110可采用诸如例如指数Golomb、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)的各种编码技术。熵编码器15110可与量化的变换系数一起或分开对视频/图像重构所需的信息(例如,句法元素的值)进行编码。编码的信息(例如,编码的视频/图像信息)可基于网络抽象层(NAL)单元以比特流的形式发送或存储。比特流可经由网络发送或者可被存储在数字存储介质中。这里,网络可包括广播网络和/或通信网络,并且数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。发送从熵编码器15110输出的信号的发送器(未示出)和/或存储该信号的存储部(未示出)可被配置成编码器15000的内部/外部元件。另选地,发送器可被包括在熵编码器15110中。
从量化器15040输出的量化的变换系数可用于生成预测信号。例如,可通过逆量化器15050和逆变换器15060对量化的变换系数应用逆量化和逆变换,以重构残差信号(残差块或残差样本)。加法器155将重构的残差信号与从帧间预测器15090或帧内预测器15100输出的预测信号相加。由此,可生成重构信号(重构画面、重构块、重构样本阵列)。当如应用跳过模式的情况中一样不存在处理目标块的残差信号时,预测块可用作重构块。加法器155可被称为重构器或重构块生成器。如下所述,所生成的重构信号可用于当前画面中的下一处理目标块的帧内预测,或者可通过滤波用于下一画面的帧间预测。
滤波器15070可通过对重构信号应用滤波来改进主观/客观图像质量。例如,滤波器15070可通过对重构画面应用各种滤波技术来生成修改的重构画面,并且修改的重构画面可被存储在存储器15080(具体地,存储器15080的DPB)中。例如,各种滤波技术可包括去块滤波、样本自适应偏移、自适应环路滤波和双边滤波。如下面在滤波技术的描述中描述的,滤波器15070可生成关于滤波的各种类型的信息并且将所生成的信息传送至熵编码器15110。关于滤波的信息可由熵编码器15110编码并以比特流的形式输出。
发送到存储器15080的修改的重构画面可由帧间预测器15090用作参考画面。因此,当应用帧间预测时,编码器可避免编码器15000与解码器之间的预测失配并且改进编码效率。
存储器15080的DPB可存储修改的重构画面以由帧间预测器15090用作参考画面。存储器15080可存储关于推导(或编码)当前画面中的运动信息的块的运动信息和/或关于画面中已经重构的块的运动信息。所存储的运动信息可被传送到帧间预测器15090以用作关于空间邻近块的运动信息或关于时间邻近块的运动信息。存储器15080可存储当前画面中的重构块的重构样本并将重构样本传送至帧内预测器15100。
可跳过上述预测、变换和量化过程中的至少一个。例如,对于应用了脉冲编码模式(PCM)的块,可跳过预测、变换和量化过程,并且原始样本的值可被编码并以比特流的形式输出。
图16示出根据实施方式的示例性V-PCC解码处理。
V-PCC解码处理或V-PCC解码器可遵循图4的V-PCC编码处理(或编码器)的逆处理。图16中的各个组件可对应于软件、硬件、处理器和/或其组合。
解复用器16000将压缩的比特流解复用,以输出压缩的纹理图像、压缩的几何图像、压缩的占用图和压缩的辅助补片信息。
视频解压缩或视频解压缩器16001、16002将压缩的纹理图像和压缩的几何图像中的每一个解压缩(或解码)。
占用图解压缩或占用图解压缩器16003将压缩的占用图解压缩。
辅助补片信息解压缩或辅助补片信息解压缩器16004将辅助补片信息解压缩。
几何重构或几何重构器16005基于解压缩的几何图像、解压缩的占用图和/或解压缩的辅助补片信息来恢复(重构)几何信息。例如,在编码处理中改变的几何可被重构。
平滑或平滑器16006可对重构的几何应用平滑。例如,可应用平滑滤波。
纹理重构或纹理重构器16007从解压缩的纹理图像和/或平滑的几何重构纹理。
颜色平滑或颜色平滑器16008从重构的纹理平滑颜色值。例如,可应用平滑滤波。
结果,可生成重构的点云数据。
图中示出通过对压缩的占用图、几何图像、纹理图像和辅助补片信息进行解码来重构点云的V-PCC的解码处理。根据实施方式的各个处理如下操作。
视频解压缩(1600、16002)
视频解压缩是上述视频压缩的逆处理。在视频解压缩中,使用诸如HEVC或VVC的2D视频编解码器来将包含在上述处理中生成的几何图像、纹理图像和占用图图像的压缩比特流解码。
图17示出根据实施方式的示例性2D视频/图像解码器。
2D视频/图像解码器可遵循图15的2D视频/图像编码器的逆处理。
图17的2D视频/图像解码器是图16的视频解压缩或视频解压缩器。图17是执行视频/图像信号的解码的2D视频/图像解码器17000的示意性框图。2D视频/图像解码器17000可被包括在图1的点云视频解码器中,或者可被配置成内部/外部组件。图17中的各个组件可对应于软件、硬件、处理器和/或其组合。
这里,输入比特流可包括上述几何图像、纹理图像(属性图像)和占用图图像的比特流。重构的图像(或者输出图像或解码的图像)可表示上述几何图像、纹理图像(属性图像)和占用图图像的重构图像。
参照该图,帧间预测器17070和帧内预测器17080可被统称为预测器。即,预测器可包括帧间预测器17070和帧内预测器17080。逆量化器17020和逆变换器17030可被统称为残差处理器。即,根据实施方式,残差处理器可包括逆量化器17020和逆变换器17030。上述熵解码器17010、逆量化器17020、逆变换器17030、加法器17040、滤波器17050、帧间预测器17070和帧内预测器17080可由一个硬件组件(例如,解码器或处理器)配置。另外,存储器170可包括解码画面缓冲器(DPB)或者可由数字存储介质配置。
当输入包含视频/图像信息的比特流时,解码器17000可在与图0.2-1的编码器处理视频/图像信息的处理对应的处理中重构图像。例如,解码器17000可使用编码器中应用的处理单元来执行解码。因此,解码的处理单元可以是例如CU。CU可沿着四叉树结构和/或二叉树结构从CTU或LCU分割。然后,可通过播放器播放通过解码器17000解码和输出的重构的视频信号。
解码器17000可接收从编码器以比特流的形式输出的信号,并且所接收的信号可通过熵解码器17010解码。例如,熵解码器17010可解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。例如,熵解码器17010可基于诸如指数Golomb编码、CAVLC或CABAC的编码技术对比特流中的信息进行解码,输出图像重构所需的句法元素和残差的变换系数的量化值。更具体地,在CABAC熵解码中,可接收与比特流中的各个句法元素对应的信元(bin),并且可基于解码目标句法元素信息以及关于邻近解码目标块的解码信息或关于在先前步骤中解码的符号/信元的信息来确定上下文模型。然后,可根据所确定的上下文模型来预测信元出现的概率,并且可执行信元的算术解码以生成与各个句法元素的值对应的符号。根据CABAC熵解码,在确定上下文模型之后,可基于关于为下一符号/信元的上下文模型解码的符号/信元的信息来更新上下文模型。熵解码器17010所解码的信息中关于预测的信息可被提供给预测器(帧间预测器17070和帧内预测器17080),并且已由熵解码器17010执行了熵解码的残差值(即,量化的变换系数和相关参数信息)可被输入到逆量化器17020。另外,熵解码器17010所解码的信息中关于滤波的信息可被提供给滤波器17050。被配置为接收从编码器输出的信号的接收器(未示出)还可被配置成解码器17000的内部/外部元件。另选地,接收器可以是熵解码器17010的组件。
逆量化器17020可通过将量化的变换系数逆量化来输出变换系数。逆量化器17020可按二维块的形式重排量化的变换系数。在这种情况下,可基于编码器所实现的系数扫描顺序来执行重排。逆量化器17020可使用量化参数(例如,量化步长信息)对量化的变换系数执行逆量化并且获取变换系数。
逆变换器17030通过对变换系数进行逆变换来获取残差信号(残差块和残差样本阵列)。
预测器可对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可基于从熵解码器17010输出的关于预测的信息来确定对当前块应用帧内预测还是帧间预测,并且可确定特定帧内/帧间预测模式。
帧内预测器265可参考当前画面中的样本来预测当前块。根据预测模式,样本可邻近或远离当前块。在帧内预测中,预测模式可包括多个非定向模式和多个定向模式。帧内预测器17080可使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器17070可基于参考画面上运动向量所指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性基于每块、子块或样本来预测运动信息。运动信息可包括运动向量和参考画面索引。运动信息还可包括关于帧间预测方向(L0预测、L1预测、Bi预测等)的信息。在帧间预测的情况下,邻近块可包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。例如,帧间预测器17070可基于邻近块来配置运动信息候选列表,并且基于所接收的候选选择信息来推导当前块的运动向量和/或参考画面索引。可基于各种预测模式来执行帧间预测。关于预测的信息可包括指示当前块的帧间预测模式的信息。
加法器17040可将所获取的残差信号与从帧间预测器17070或帧内预测器17080输出的预测信号(预测块或预测样本阵列)相加,从而生成重构信号(重构画面、重构块或重构样本阵列)。当如应用跳过模式的情况中一样不存在用于处理目标块的残差信号时,预测块可用作重构块。
加法器17040可被称为重构器或重构块生成器。所生成的重构信号可用于当前画面中的下一处理目标块的帧内预测,或者可如下所述通过滤波用于下一画面的帧间预测。
滤波器17050可通过对重构信号应用滤波来改进主观/客观图像质量。例如,滤波器17050可通过对重构画面应用各种滤波技术来生成修改的重构画面,并且可将修改的重构画面发送到存储器250(具体地,存储器17060的DPB)。例如,各种滤波方法可包括去块滤波、样本自适应偏移、自适应环路滤波和双边滤波。
存储在存储器17060的DPB中的重构画面可用作帧间预测器17070中的参考画面。存储器17060可存储关于当前画面中推导(或解码)运动信息的块的运动信息和/或关于已经重构的画面中的块的运动信息。所存储的运动信息可被传送至帧间预测器17070以用作关于空间邻近块的运动信息或关于时间邻近块的运动信息。存储器17060可存储当前画面中的重构块的重构样本并将重构样本传送至帧内预测器17080。
在本公开中,关于编码器100的滤波器160、帧间预测器180和帧内预测器185描述的实施方式可分别以相同或对应的方式应用于解码器17000的滤波器17050、帧间预测器17070和帧内预测器17080。
可跳过上述预测、变换和量化过程中的至少一个。例如,对于应用了脉冲编码模式(PCM)的块,可跳过预测、变换和量化过程,并且解码的样本的值可用作重构图像的样本。
占用图解压缩(16003)
这是上述占用图压缩的逆处理。占用图解压缩是通过将占用图比特流解压缩来重构占用图的处理。
辅助补片信息解压缩(16004)
可通过执行上述辅助补片信息压缩的逆处理并解码压缩的辅助补片信息比特流来重构辅助补片信息。
几何重构(16005)
这是上述几何图像生成的逆处理。最初,使用重构的占用图、包括在辅助补片信息中的关于补片的2D位置/尺寸信息以及关于块和补片之间的映射的信息从几何图像提取补片。然后,基于所提取的补片的几何图像和包括在辅助补片信息中的关于补片的3D位置信息在3D空间中重构点云。当与补片内的点(u,v)对应的几何值为g(u,v),并且在3D空间的法向轴、切向轴和双切轴上补片的位置坐标为(d0,s0,r0)时,映射到点(u,v)的位置在3D空间中的法向、切向和双切坐标d(u,v)、s(u,v)和r(u,v)可表示如下:
d(u,v)=d0+g(u,v);
s(u,v)=s0+u;
r(u,v)=r0+v。
平滑(16006)
与上述编码处理中的平滑相同,平滑是用于消除由于在压缩处理期间发生的图像质量劣化而可能出现在补片边界上的不连续的处理。
纹理重构(16007)
纹理重构是通过向构成平滑的点云的各个点指派颜色值来重构颜色点云的处理。这可通过基于上述几何重构处理中关于几何图像和点云的映射信息向点云中与3D空间中的相同位置对应的点指派与2D空间中的几何图像中相同的位置处的纹理图像像素所对应的颜色值来执行。
颜色平滑(16008)
颜色平滑类似于上述几何平滑的处理。颜色平滑是用于消除由于在压缩处理期间发生的图像质量劣化而可能出现在补片边界上的不连续的处理。颜色平滑可通过以下操作执行:
①使用K-D树等计算构成重构的点云的各个点的邻近点。可使用在第2.5节中描述的几何平滑处理中计算的邻近点信息。
②确定各个点是否位于补片边界上。这些操作可基于在上述几何平滑处理中计算的边界信息来执行。
③检查存在于边界上的点的邻近点的颜色值的分布并且确定是否要执行平滑。例如,当亮度值的熵小于或等于阈值局部条目(存在许多相似的亮度值)时,可确定对应部分不是边缘部分,并且可执行平滑。作为平滑方法,点的颜色值可被替换为邻近点的颜色值的平均。
图18是示出根据本公开的实施方式的发送装置的操作的流程图。
根据实施方式的发送装置可对应于图1的发送装置、图4的编码处理和图15的2D视频/图像编码器,或者执行其一些/所有操作。发送装置的各个组件可对应于软件、硬件、处理器和/或其组合。
发送终端使用V-PCC压缩和传输点云数据的操作处理可如图所示执行。
根据实施方式的点云数据发送装置可被称为发送装置。
关于补片生成器18000,生成用于点云的2D图像映射的补片。作为补片生成的结果生成辅助补片信息。所生成的信息可在几何图像生成、纹理图像生成和用于平滑的几何重构的处理中使用。
关于补片打包器18001,执行将所生成的补片映射到2D图像中的补片打包处理。作为补片打包的结果,可生成占用图。占用图可在几何图像生成、纹理图像生成和用于平滑的几何重构的处理中使用。
几何图像生成器18002基于辅助补片信息和占用图来生成几何图像。所生成的几何图像通过视频编码被编码为一个比特流。
编码预处理器18003可包括图像填充处理。通过将所生成的几何图像或编码的几何比特流解码而重新生成的几何图像可用于3D几何重构,然后经受平滑处理。
纹理图像生成器18004可基于(平滑的)3D几何、点云、辅助补片信息和占用图来生成纹理图像。所生成的纹理图像可被编码为一个视频比特流。
元数据编码器18005可将辅助补片信息编码为一个元数据比特流。
视频编码器18006可将占用图编码为一个视频比特流。
复用器18007可将所生成的几何图像、纹理图像和占用图的视频比特流和辅助补片信息的元数据比特流复用为一个比特流。
发送器18008可将比特流发送到接收终端。另选地,所生成的几何图像、纹理图像和占用图的视频比特流和辅助补片信息的元数据比特流可被处理成一个或更多个轨道数据的文件或被封装成片段,并且可通过发送器发送到接收终端。
图19是示出根据实施方式的接收装置的操作的流程图。
根据实施方式的接收装置可对应于图1的接收装置、图16的解码处理和图17的2D视频/图像编码器,或者执行其一些/所有操作。接收装置的各个组件可对应于软件、硬件、处理器和/或其组合。
接收终端使用V-PCC接收和重构点云数据的操作可如图所示执行。V-PCC接收终端的操作可遵循图18的V-PCC发送终端的操作的逆处理。
根据实施方式的点云数据接收装置可被称为接收装置。
所接收的点云的比特流在文件/片段解封装之后被解复用器19000解复用为压缩的几何图像、纹理图像、占用图的视频比特流和辅助补片信息的元数据比特流。视频解码器19001和元数据解码器19002对解复用的视频比特流和元数据比特流进行解码。3D几何由几何重构器19003基于解码的几何图像、占用图和辅助补片信息重构,然后经受平滑器19004执行的平滑处理。可由纹理重构器19005通过基于纹理图像向平滑的3D几何指派颜色值来重构颜色点云图像/画面。此后,可另外执行颜色平滑处理以改进主观/客观视觉质量,并且通过颜色平滑处理推导的修改的点云图像/画面通过渲染处理(通过例如点云渲染器)被显示给用户。在一些情况下,可跳过颜色平滑处理。
图20示出根据实施方式的用于点云数据的基于V-PCC的存储和流传输的示例性架构。
图20的系统的部分/全部可包括图1的发送装置和接收装置、图4的编码处理、图15的2D视频/图像编码器、图16的解码处理、图18的发送装置和/或图19的接收装置中的一些或全部。图中的各个组件可对应于软件、硬件、处理器和/或其组合。
图20至图22是示出根据实施方式的系统另外连接到发送装置和接收装置的结构的图。根据实施方式的发送装置和接收装置可被称为根据实施方式的发送/接收设备。
在根据图20至图22所示的实施方式的设备中,与图18等对应的发送装置可生成适合于用于传输包含编码的点云数据的比特流的数据格式的容器。
根据实施方式的V-PCC系统可创建包括点云数据的容器,并且可进一步添加向容器的有效发送/接收所需的附加数据。
根据实施方式的接收装置可基于图20至图22所示的系统接收和解析容器。与图19等对应的接收装置可从解析的比特流解码和恢复点云数据。
图中示出用于存储或流传输根据基于视频的点云压缩(V-PCC)压缩的点云数据的总体架构。存储和流传输点云数据的处理可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
实施方式提出了一种有效地提供点云媒体/内容/数据的方法。
为了有效地提供点云媒体/内容/数据,点云获取器20000可获取点云视频。例如,一个或更多个相机可通过捕获、编排或生成点云来获取点云数据。通过该获取处理,可获取包括各个点的3D位置(可由x、y和z位置值等表示)(以下称为几何)和各个点的属性(颜色、反射率、透明度等)的点云视频。例如,可生成包含点云视频的Polygon文件格式(PLY)(或斯坦福三角形格式)文件等。对于具有多个帧的点云数据,可获取一个或更多个文件。在此处理中,可生成点云相关元数据(例如,与捕获有关的元数据等)。
对于捕获的点云视频可能需要用于改进内容的质量的后处理。在视频捕获处理中,可在相机设备所提供的范围内调节最大/最小深度。即使在调节之后,仍可能存在不想要区域的点数据。因此,可执行去除不想要区域(例如,背景)或识别连接的空间并填充空间孔洞的后处理。另外,从共享空间坐标系的相机提取的点云可通过基于通过校准处理获取的各个相机的位置坐标将各个点变换到全局坐标系的处理被整合为一条内容。由此,可获取具有高密度点的点云视频。
点云预处理器20001可生成点云视频的一个或更多个画面/帧。这里,画面/帧通常可表示以特定时间间隔表示一个图像的单元。当构成点云视频的点被分成一个或更多个补片(构成点云视频的点的集合,其中,属于同一补片的点在3D空间中彼此相邻并且在映射到2D图像时在6面边界框的平坦面之间在相同方向上映射)并映射到2D平面时,可生成二值图的占用图画面/帧,其以值0或1指示2D平面中的对应位置处是否存在数据。另外,可生成逐补片表示关于构成点云视频的各个点的位置(几何)的信息的深度图形式的几何画面/帧。可生成逐补片表示关于构成点云视频的各个点的颜色信息的纹理画面/帧。在此处理中,可生成从各个补片重构点云所需的元数据。元数据可包括关于补片的信息,例如各个补片在2D/3D空间中的位置和大小。这些画面/帧可按时间顺序连续地生成以构造视频流或元数据流。
点云视频编码器20002可对与点云视频有关的一个或更多个视频流进行编码。一个视频可包括多个帧,并且一个帧可对应于静止图像/画面。在本公开中,点云视频可包括点云图像/帧/画面,并且术语“点云视频”可与点云视频/帧/画面互换使用。点云视频编码器可执行基于视频的点云压缩(V-PCC)处理。为了压缩和编码效率,点云视频编码器可执行诸如预测、变换、量化和熵编码的一系列处理。编码的数据(编码的视频/图像信息)可按比特流的形式输出。基于V-PCC处理,如下所述,点云视频编码器可通过将点云视频分成几何视频、属性视频、占用图视频和元数据(例如,关于补片的信息)来对点云视频进行编码。几何视频可包括几何图像,属性视频可包括属性图像,占用图视频可包括占用图图像。作为辅助信息的补片数据可包括补片相关信息。属性视频/图像可包括纹理视频/图像。
点云图像编码器20003可对与点云视频有关的一个或更多个图像进行编码。点云图像编码器可执行基于视频的点云压缩(V-PCC)处理。为了压缩和编码效率,点云图像编码器可执行诸如预测、变换、量化和熵编码的一系列处理。编码的图像可按比特流的形式输出。基于V-PCC处理,如下所述,点云图像编码器可通过将点云图像分成几何图像、属性图像、占用图图像和元数据(例如,关于补片的信息)来对点云图像进行编码。
根据实施方式的点云视频编码器和/或点云图像编码器可根据实施方式生成PCC比特流(G-PCC和/或V-PCC比特流)。
根据实施方式,视频编码器2002、图像编码器20002、视频解码20006和图像解码可如上所述由一个编码器/解码器执行,并且可如图所示沿着单独的路径执行。
在文件/片段封装20004中,可将编码的点云数据和/或点云相关元数据封装为文件或片段以用于流传输。这里,点云相关元数据可接收自元数据处理器等。元数据处理器可包括在点云视频/图像编码器中,或者可被配置成单独的组件/模块。封装处理器可按诸如ISOBMFF的文件格式或按DASH片段等形式封装对应视频/图像/元数据。根据实施方式,封装处理器可包括文件格式的点云元数据。点云相关元数据可包括在例如ISOBMFF文件格式的各种级别的框中,或作为文件内的单独轨道中的数据。根据实施方式,封装处理器可将点云相关元数据封装成文件。
根据实施方式的封装或封装器可将G-PCC/V-PCC比特流分成一个或多个轨道并将其存储在文件中,并且还可封装用于该操作的信令信息。另外,包括在G-PCC/V-PCC比特流中的图集流可作为轨道存储在文件中,并且可存储相关信令信息。此外,存在于G-PCC/V-PCC比特流中的SEI消息可存储在文件中的轨道中,并且可存储相关信令信息。
发送处理器可根据文件格式来执行封装的点云数据的传输处理。发送处理器可包括在发送器中,或者可被配置成单独的组件/模块。发送处理器可根据传输协议处理点云数据。传输处理可包括经由广播网络传送的处理和通过宽带传送的处理。根据实施方式,发送处理器可从元数据处理器接收点云相关元数据以及点云数据,并且执行点云视频数据的传输处理。
发送器可经由数字存储介质或网络将点云比特流或包括比特流的文件/片段发送到接收装置的接收器。为了传输,可执行根据任何传输协议的处理。为传输而处理的数据可经由广播网络和/或通过宽带传送。数据可按照按需方式传送至接收侧。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。发送器可包括用于生成预定文件格式的媒体文件的元件,并且可包括用于经由广播/通信网络传输的元件。接收器可提取比特流并将提取的比特流发送到解码器。
接收器可接收根据本公开的点云数据发送装置所发送的点云数据。根据传输信道,接收器可经由广播网络或通过宽带接收点云数据。另选地,可通过数字存储介质接收点云数据。接收器可包括将所接收的数据解码并根据用户的视口渲染数据的处理。
接收处理器可根据传输协议对所接收的点云视频数据执行处理。接收处理器可包括在接收器中,或者可被配置成单独的组件/模块。接收处理器可相反地执行上述发送处理器的处理,以与在发送侧执行的传输处理对应。接收处理器可将获取的点云视频传送至解封装处理器,并将获取的点云相关元数据传送至元数据解析器。
解封装处理器(文件/片段解封装)20005可将以文件的形式从接收处理器接收的点云数据解封装。解封装处理器可根据ISOBMFF等对文件进行解封装,并且可获取点云比特流或点云相关元数据(或单独的元数据比特流)。所获取的点云比特流可被传送至点云解码器,所获取的点云视频相关元数据(元数据比特流)可被传送至元数据处理器。点云比特流可包括元数据(元数据比特流)。元数据处理器可包括在点云解码器中,或者可被配置成单独的组件/模块。解封装处理器所获取的点云视频相关元数据可采取文件格式中的框或轨道的形式。必要时,解封装处理器可从元数据处理器接收解封装所需的元数据。点云相关元数据可被传送至点云解码器并在点云解码处理中使用,或者可被传送至渲染器并在点云渲染处理中使用。
点云视频解码器20006可接收比特流并通过执行与点云视频编码器的操作对应的操作来对视频/图像进行解码。在这种情况下,如下所述,点云视频解码器可通过将点云视频分成几何视频、属性视频、占用图视频和辅助补片信息来将点云视频解码。几何视频可包括几何图像,属性视频可包括属性图像,占用图视频可包括占用图图像。辅助信息可包括辅助补片信息。属性视频/图像可包括纹理视频/图像。
3D几何可基于解码的几何图像、占用图和辅助补片信息来重构,然后可经受平滑处理。可通过基于纹理图像向平滑的3D几何指派颜色值来重构颜色点云图像/画面。渲染器可渲染重构的几何和颜色点云图像/画面。渲染的视频/图像可通过显示器显示。渲染结果的全部或部分可通过VR/AR显示器或典型显示器显示给用户。
传感器/跟踪器(感测/跟踪)20007从用户或接收侧获取取向信息和/或用户视口信息并将取向信息和/或用户视口信息传送至接收器和/或发送器。取向信息可表示关于用户头部的位置、角度、移动等的信息,或者表示关于用户正通过其观看视频/图像的装置的位置、角度、移动等的信息。基于该信息,可计算关于3D空间中用户当前观看的区域的信息(即,视口信息)。
视口信息可以是关于3D空间中用户当前通过装置或HMD观看的区域的信息。诸如显示器的装置可基于取向信息、装置所支持的垂直或水平FOV等提取视口区域。可在接收侧提取或计算取向或视口信息。在接收侧分析的取向或视口信息可在反馈信道上发送至发送侧。
基于传感器/跟踪器获取的取向信息和/或指示用户当前观看的区域的视口信息,接收器可有效地从文件仅提取或解码特定区域(即,取向信息和/或视口信息所指示的区域)的媒体数据。另外,基于传感器/跟踪器所获取的取向信息和/或视口信息,发送器可有效地仅对特定区域(即,取向信息和/或视口信息所指示的区域)的媒体数据进行编码,或者生成并发送其文件。
渲染器可在3D空间中渲染解码的点云数据。渲染的视频/图像可通过显示器显示。用户可通过VR/AR显示器或典型显示器来观看渲染结果的全部或部分。
反馈处理可包括将可在渲染/显示处理中获取的各种类型的反馈信息传送至发送侧或接收侧的解码器。通过反馈处理,可在消费点云数据时提供交互性。根据实施方式,头部取向信息、指示用户当前观看的区域的视口信息等可在反馈处理中被传送至发送侧。根据实施方式,用户可与在VR/AR/MR/自主驾驶环境中实现的内容交互。在这种情况下,与交互有关的信息可在反馈处理中被传送至发送侧或服务提供商。根据实施方式,可跳过反馈处理。
根据实施方式,上述反馈信息可不仅被发送至发送侧,而且在接收侧处消费。即,接收侧的解封装处理、解码和渲染处理可基于上述反馈信息来执行。例如,可基于取向信息和/或视口信息优先解封装、解码和渲染关于用户当前观看的区域的点云数据。
根据实施方式的用于发送点云数据的方法可包括以下步骤:对点云数据进行编码;封装点云数据;以及发送点云数据。
根据实施方式的用于接收点云数据的方法可包括以下步骤:接收点云数据;将点云数据解封装;以及对点云数据进行解码。
图21是根据实施方式的用于存储和发送点云数据的装置的示例性框图。
图21示出根据实施方式的点云系统。系统的部分/全部可包括图1的发送装置和接收装置、图4的编码处理、图15的2D视频/图像编码器、图16的解码处理、图18的发送装置和/或图19的接收装置中的一些或全部。另外,其可包括或对应于图20的系统的部分/全部。
根据实施方式的点云数据发送装置可如图所示配置。发送装置的各个元件可以是模块/单元/组件/硬件/软件/处理器。
点云的几何、属性、辅助数据和网格数据可各自被配置成单独的流或存储在文件中的不同轨道中。此外,它们可被包括在单独的片段中。
点云获取器(点云获取)21000获取点云。例如,一个或更多个相机可通过捕获、编排或生成点云来获取点云数据。通过该获取处理,可获取包括各个点的3D位置(可由x、y和z位置值等表示)(以下称为几何)和各个点的属性(颜色、反射率、透明度等)的点云数据。例如,可生成包括点云数据的Polygon文件格式(PLY)(或斯坦福三角形格式)文件等。对于具有多个帧的点云数据,可获取一个或更多个文件。在此处理中,可生成点云相关元数据(例如,与捕获有关的元数据等)。
补片生成器(或补片生成)21002从点云数据生成补片。补片生成器将点云数据或点云视频生成为一个或更多个画面/帧。画面/帧通常可表示以特定时间间隔表示一个图像的单元。当构成点云视频的点被分成一个或更多个补片(构成点云视频的点的集合,其中,属于同一补片的点在3D空间中彼此相邻并且在映射到2D图像时在6面边界框的平坦面之间在相同方向上映射)并映射到2D平面时,可生成二值图的占用图画面/帧,其以0或1指示2D平面中的对应位置处是否存在数据。另外,可生成逐补片表示关于构成点云视频的各个点的位置(几何)的信息的深度图形式的几何画面/帧。可生成逐补片表示关于构成点云视频的各个点的颜色信息的纹理画面/帧。在此处理中,可生成从各个补片重构点云所需的元数据。元数据可包括关于补片的信息,例如各个补片在2D/3D空间中的位置和大小。这些画面/帧可按时间顺序连续地生成以构造视频流或元数据流。
另外,补片可用于2D图像映射。例如,点云数据可被投影到立方体的各个面上。在补片生成之后,可基于所生成的补片来生成几何图像、一个或更多个属性图像、占用图、辅助数据和/或网格数据。
几何图像生成、属性图像生成、占用图生成、辅助数据生成和/或网格数据生成由预处理器或控制器执行。
在几何图像生成21002中,基于补片生成的结果来生成几何图像。几何表示3D空间中的点。使用占用图来生成几何图像,其包括与补片的2D图像打包有关的信息、辅助数据(补片数据)和/或基于补片的网格数据。几何图像与诸如在补片生成之后生成的补片的深度(例如,近、远)的信息有关。
在属性图像生成21003中,生成属性图像。例如,属性可表示纹理。纹理可以是与各个点匹配的颜色值。根据实施方式,可生成包括纹理的多个属性(例如,颜色和反射率)(N个属性)的图像。多个属性可包括材料信息和反射率。根据实施方式,属性可另外包括指示颜色的信息,其即使对于相同的纹理也可根据视角和光而变化。
在占用图生成21004中,从补片生成占用图。占用图包括指示像素(例如,对应几何或属性图像)中是否存在数据的信息。
在辅助数据生成21005中,生成包括关于补片的信息的辅助数据。即,辅助数据表示关于点云对象的补片的元数据。例如,其可表示诸如补片的法向量的信息。具体地,辅助数据可包括从补片重构点云所需的信息(例如,关于补片在2D/3D空间中的位置、大小等的信息以及投影(正常)平面标识信息、补片映射信息等)。
在网格数据生成21006中,从补片生成网格数据。网格表示邻近点之间的连接。例如,其可表示三角形形状的数据。例如,网格数据是指点之间的连接性。
点云预处理器或控制器生成与补片生成、几何图像生成、属性图像生成、占用图生成、辅助数据生成和网格数据生成有关的元数据。
点云发送装置响应于预处理器所生成的结果而执行视频编码和/或图像编码。点云发送装置可生成点云图像数据以及点云视频数据。根据实施方式,点云数据可仅具有视频数据,仅具有图像数据,和/或具有视频数据和图像数据二者。
视频编码器21007执行几何视频压缩、属性视频压缩、占用图压缩、辅助数据压缩和/或网格数据压缩。视频编码器生成包含编码的视频数据的视频流。
具体地,在几何视频压缩中,点云几何视频数据被编码。在属性视频压缩中,点云的属性视频数据被编码。在辅助数据压缩中,与点云视频数据关联的辅助数据被编码。在网格数据压缩中,点云视频数据的网格数据被编码。点云视频编码器的各个操作可并行执行。
图像编码器21008执行几何图像压缩、属性图像压缩、占用图压缩、辅助数据压缩和/或网格数据压缩。图像编码器生成包含编码的图像数据的图像。
具体地,在几何图像压缩中,点云几何图像数据被编码。在属性图像压缩中,点云的属性图像数据被编码。在辅助数据压缩中,与点云图像数据关联的辅助数据被编码。在网格数据压缩中,与点云图像数据关联的网格数据被编码。点云图像编码器的各个操作可并行执行。
视频编码器和/或图像编码器可从预处理器接收元数据。视频编码器和/或图像编码器可基于元数据来执行各个编码处理。
文件/片段封装器(文件/片段封装)21009以文件和/或片段的形式封装视频流和/或图像。文件/片段封装器执行视频轨道封装、元数据轨道封装和/或图像封装。
在视频轨道封装中,一个或更多个视频流可被封装到一个或更多个轨道。
在元数据轨道封装中,与视频流和/或图像有关的元数据可被封装在一个或更多个轨道中。元数据包括与点云数据的内容有关的数据。例如,其可包括初始观看取向元数据。根据实施方式,元数据可被封装到元数据轨道,或者可被一起封装在视频轨道或图像轨道中。
在图像封装中,一个或更多个图像可被封装到一个或更多个轨道或项目中。
例如,根据实施方式,当四个视频流和两个图像被输入到封装器时,四个视频流和两个图像可被封装在一个文件中。
根据实施方式的点云视频编码器和/或点云图像编码器可根据实施方式生成G-PCC/V-PCC比特流。
文件/片段封装器可从预处理器接收元数据。文件/片段封装器可基于元数据来执行封装。
通过文件/片段封装生成的文件和/或片段由点云发送装置或发送器发送。例如,片段可根据基于DASH的协议来传送。
根据实施方式的封装或封装器可将V-PCC比特流分成一个或多个轨道并将其存储在文件中,并且还可封装用于该操作的信令信息。另外,包括在V-PCC比特流上的图集流可作为轨道存储在文件中,并且可存储相关信令信息。此外,存在于V-PCC比特流中的SEI消息可存储在文件中的轨道中,并且可存储相关信令信息。
发送器可经由数字存储介质或网络将点云比特流或包括比特流的文件/片段发送到接收装置的接收器。为了传输,可执行根据任何传输协议的处理。为传输已处理的数据可经由广播网络和/或通过宽带传送。数据可按照按需方式传送至接收侧。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。传送器可包括用于生成预定文件格式的媒体文件的元件,并且可包括用于经由广播/通信网络传输的元件。传送器从接收器接收取向信息和/或视口信息。传送器可将所获取的取向信息和/或视口信息(或用户所选择的信息)传送至预处理器、视频编码器、图像编码器、文件/片段封装器和/或点云编码器。基于取向信息和/或视口信息,点云编码器可对所有点云数据或取向信息和/或视口信息所指示的点云数据进行编码。基于取向信息和/或视口信息,文件/片段封装器可对所有点云数据或取向信息和/或视口信息所指示的点云数据进行封装。基于取向信息和/或视口信息,传送器可传送所有点云数据或取向信息和/或视口信息所指示的点云数据。
例如,预处理器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。视频编码器和/或图像编码器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。文件/片段封装器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。发送器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。
图22是根据实施方式的点云数据接收装置的示例性框图。
图22示出根据实施方式的点云系统。系统的部分/全部可包括图1的发送装置和接收装置、图4的编码处理、图15的2D视频/图像编码器、图16的解码处理、图18的发送装置和/或图19的接收装置中的一些或全部。另外,其可包括或对应于图20和图21的系统的部分/全部。
接收装置的各个组件可以是模块/单元/组件/硬件/软件/处理器。传送客户端可接收包括根据实施方式的点云数据发送装置所发送的比特流的点云数据、点云比特流或文件/片段。根据用于传输的信道,接收器可经由广播网络或通过宽带接收点云数据。另选地,可通过数字存储介质接收点云视频数据。接收器可包括将所接收的数据解码并根据用户视口渲染所接收的数据的处理。接收处理器可根据传输协议对所接收的点云数据执行处理。接收处理器可包括在接收器中,或者被配置成单独的组件/模块。接收处理器可相反地执行上述发送处理器的处理,以与发送侧执行的传输处理对应。接收处理器可将所获取的点云数据传送至解封装处理器并将所获取的点云相关元数据传送至元数据解析器。
传感器/跟踪器(感测/跟踪)获取取向信息和/或视口信息。传感器/跟踪器可将所获取的取向信息和/或视口信息传送至传送客户端、文件/片段解封装器和点云解码器。
传送客户端可基于取向信息和/或视口信息来接收所有点云数据或取向信息和/或视口信息所指示的点云数据。文件/片段解封装器可基于取向信息和/或视口信息将所有点云数据或取向信息和/或视口信息所指示的点云数据解封装。点云解码器(视频解码器和/或图像解码器)可基于取向信息和/或视口信息将所有点云数据或取向信息和/或视口信息所指示的点云数据解码。点云处理器可基于取向信息和/或视口信息来处理所有点云数据或取向信息和/或视口信息所指示的点云数据。
文件/片段解封装器(文件/片段解封装)22000执行视频轨道解封装、元数据轨道解封装和/或图像解封装。解封装处理器(文件/片段解封装)可将从接收处理器以文件的形式接收的点云数据解封装。解封装处理器(文件/片段解封装)可根据ISOBMFF等对文件或片段进行解封装,以获取点云比特流或点云相关元数据(或单独的元数据比特流)。所获取的点云比特流可被传送至点云解码器,所获取的点云相关元数据(或元数据比特流)可被传送至元数据处理器。点云比特流可包括元数据(元数据比特流)。元数据处理器可包括在点云视频解码器中,或者可被配置成单独的组件/模块。解封装处理器所获取的点云相关元数据可采取文件格式中的框或轨道的形式。必要时,解封装处理器可从元数据处理器接收解封装所需的元数据。点云相关元数据可被传送至点云解码器并在点云解码处理中使用,或者可被传送至渲染器并在点云渲染处理中使用。文件/片段解封装器可生成与点云数据有关的元数据。
在视频轨道解封装中,包含在文件和/或片段中的视频轨道被解封装。包括几何视频、属性视频、占用图、辅助数据和/或网格数据的视频流被解封装。
在元数据轨道解封装中,包含与点云数据和/或辅助数据有关的元数据的比特流被解封装。
在图像解封装中,包括几何图像、属性图像、占用图、辅助数据和/或网格数据的图像被解封装。
根据实施方式的解封装或解封装器可基于文件中的一个或更多个轨道来划分和解析(解封装)G-PCC/V-PCC比特流,并且还可解封装其信令信息。另外,包括在G-PCC/V-PCC比特流中的图集流可基于文件中的轨道来解封装,并且可解析相关信令信息。此外,存在于G-PCC/V-PCC比特流中的SEI消息可基于文件中的轨道来解封装,并且还可获取相关信令信息。
视频解码或视频解码器22001执行几何视频解压缩、属性视频解压缩、占用图解压缩、辅助数据解压缩和/或网格数据解压缩。视频解码器在与根据实施方式的点云发送装置的视频编码器所执行的处理对应的处理中对几何视频、属性视频、辅助数据和/或网格数据进行解码。
图像解码或图像解码器22002执行几何图像解压缩、属性图像解压缩、占用图解压缩、辅助数据解压缩和/或网格数据解压缩。图像解码器在与根据实施方式的点云发送装置的图像编码器所执行的处理对应的处理中对几何图像、属性图像、辅助数据和/或网格数据进行解码。
根据实施方式的视频解码和图像解码可如上所述由一个视频/图像解码器处理,并且可如图中所示沿着单独的路径执行。
视频解码和/或图像解码可生成与视频数据和/或图像数据有关的元数据。
根据实施方式的点云视频编码器和/或点云图像编码器可根据实施方式对G-PCC/V-PCC比特流进行解码。
在点云处理22003中,执行几何重构和/或属性重构。
在几何重构中,基于占用图、辅助数据和/或网格数据从解码的视频数据和/或解码的图像数据重构几何视频和/或几何图像。
在属性重构中,基于占用图、辅助数据和/或网格数据从解码的属性视频和/或解码的属性图像重构属性视频和/或属性图像。根据实施方式,例如,属性可以是纹理。根据实施方式,属性可表示多条属性信息。当存在多个属性时,根据实施方式的点云处理器执行多个属性重构。
点云处理器可从视频解码器、图像解码器和/或文件/片段解封装器接收元数据,并且基于元数据来处理点云。
点云渲染或点云渲染器渲染重构的点云。点云渲染器可从视频解码器、图像解码器和/或文件/片段解封装器接收元数据,并且基于元数据来渲染点云。
显示器将渲染结果实际显示在显示器上。
如图15至图19所示,在根据实施方式的方法/装置如图15至图19所示对点云数据进行编码/解码之后,包含点云数据的比特流可按文件和/或片段的形式封装和/或解封装。
例如,根据实施方式的点云数据发送装置可基于文件将点云数据封装。文件可包括包含点云的参数的V-PCC轨道、包含几何的几何轨道、包含属性的属性轨道以及包含占用图的占用轨道。
另外,根据实施方式的点云数据接收装置基于文件将点云数据解封装。文件可包括包含点云的参数的V-PCC轨道、包含几何的几何轨道、包含属性的属性轨道以及包含占用图的占用轨道。
上述操作可由图20的文件/片段封装器20004、20005、图21的文件/片段封装器21009和图22的文件/片段封装器22000执行。
图23示出可结合根据实施方式的点云数据发送/接收方法/装置操作的示例性结构。
在根据实施方式的结构中,服务器2360、机器人2310、自驾驶车辆2320、XR装置2330、智能电话2340、家用电器2350和/或头戴式显示器(HMD)2370中的至少一个连接到云网络2300。这里,机器人2310、自驾驶车辆2320、XR装置2330、智能电话2340或家用电器2350可被称为装置。另外,XR装置1730可对应于根据实施方式的点云数据(PCC)装置,或者可在操作上连接到PCC装置。
云网络2300可表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络2300可使用3G网络、4G或长期演进(LTE)网络或5G网络来配置。
服务器2360可经由云网络2300连接到机器人2310、自驾驶车辆2320、XR装置2330、智能电话2340、家用电器2350和/或HMD 2370中的至少一个,并且可辅助所连接的装置2310至2370的至少一部分处理。
HMD 2370表示根据实施方式的XR装置和/或PCC装置的实现类型之一。根据实施方式的HMD型装置包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
以下,将描述应用了上述技术的装置2310至2350的各种实施方式。图23所示的装置2310至2350可在操作上连接/联接到根据上述实施方式的点云数据发送和接收装置。
<PCC+XR>
XR/PCC装置2330可采用PCC技术和/或XR(AR+VR)技术,并且可被实现为HMD、设置在车辆中的平视显示器(HUD)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。
XR/PCC装置2330可分析通过各种传感器或从外部装置获取的3D点云数据或图像数据并且生成关于3D点的位置数据和属性数据。由此,XR/PCC装置2330可获取关于周围空间或真实对象的信息,并且渲染和输出XR对象。例如,XR/PCC装置2330可使包括关于所识别的对象的辅助信息的XR对象与所识别的对象匹配并输出匹配的XR对象。
<PCC+XR+移动电话>
XR/PCC装置2330可通过应用PCC技术被实现为移动电话2340。
移动电话2340可基于PCC技术来解码和显示点云内容。
<PCC+自驾驶+XR>
自驾驶车辆2320可通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用了XR/PCC技术的自驾驶车辆2320可表示设置有用于提供XR图像的手段的自主车辆,或者作为XR图像中的控制/交互目标的自主车辆。具体地,作为XR图像中的控制/交互目标的自驾驶车辆2320可与XR装置2330相区分并且可操作上与之连接。
具有用于提供XR/PCC图像的手段的自驾驶车辆2320可从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的XR/PCC图像。例如,自驾驶车辆可具有HUD并向其输出XR/PCC图像以向乘客提供与真实对象或存在于画面上的对象对应的XR/PCC对象。
在这种情况下,当XR/PCC对象被输出到HUD时,XR/PCC对象的至少一部分可被输出以与乘客眼睛所指向的真实对象交叠。另一方面,当XR/PCC对象输出在自驾驶车辆内部提供的显示器上时,XR/PCC对象的至少一部分可被输出以与画面上的对象交叠。例如,自驾驶车辆可输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的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服务有关的内容数据并且将处理的内容数据发送到车辆。在点云数据发送和接收装置被安装在车辆上的情况下,点云发送和接收装置可根据通过用户接口装置输入的用户输入信号来接收并处理与AR/VR/PCC服务有关的内容数据并且将处理的内容数据提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可包括指示自驾驶服务的信号。
根据实施方式的方法/装置是指点云数据发送装置(例如,图1的发送装置10000、图18的发送装置)、发送装置的编码器(例如,图1的点云视频编码器10002、图4的编码器、图15的编码器)、发送装置的文件封装器(例如,图20的发送装置连接至的系统的文件/片段封装器20004)、图21的预处理器、编码器连接至的系统的文件/片段封装器21009、根据实施方式的点云数据接收装置(例如,图1的接收装置10005、图19的接收装置)、接收装置的解码器(图1的点云视频解码器10008、图16的解码器、图17的解码器)、接收装置的文件解封装器(例如,图20的接收装置连接至的系统的文件/片段解封装器20005、图22的处理器、解码器连接至的系统的文件/片段解封装器22000)等。各个元件可通过包括被配置为与一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。
本说明书中描述的基于视频的点云压缩(V-PCC)与基于视觉体积视频的编码(V3C)相同。根据实施方式的术语V-PCC和V3C可互换使用并且可具有相同的含义。
根据实施方式的方法/装置可提供包括多个图集的非定时V3C数据的文件格式信令方法。
根据实施方式的方法/装置可提供当非定时V3C数据包括多个图集时非定时V3C数据的文件格式信令方法。
根据实施方式的方法/装置可提供非定时V3C数据包括多个视频数据单元的情况的文件格式信令方法。
根据实施方式的方法/装置可提供用于提供点云内容服务的发送器或接收器,其在文件的轨道中有效地存储V-PCC比特流并提供其信令。
根据实施方式的方法/装置可通过以根据实施方式的格式存储和发送V-PCC比特流来支持对点云数据的有效访问。
根据实施方式的方法/装置可包括文件存储方案以用于在文件轨道中有效地存储并用信号通知V-PCC比特流并支持对所存储的V-PCC比特流的有效访问,并且提供用于将V-PCC比特流划分并存储到文件中的一个或多个轨道中的方案。
根据实施方式的术语的定义如下。VPS:V-PCC参数集;AD:图集数据;OVD:占用视频数据;GVD:几何视频数据;AVD:属性视频数据;ACL:图集编码层;AAPS:图集适配参数集。AAPS可包括与图集子比特流的部分关联的相机参数,例如相机位置、旋转、缩放和相机型号。这些参数可与图集子比特流的部分关联(图30等)。ASPS:图集序列参数集;包含应用于由各个拼块组头中找到的句法元素所参考的ASPS中找到的句法元素的内容确定的零或更多个完整编码图集序列(CAS)的句法元素的句法结构;AFPS:图集帧参数集;包含应用于由拼块组头0中找到的句法元素的内容确定的零或更多个完整编码图集帧的句法元素的句法结构;SEI:补充增强信息;图集:这可以是与3D空间中可表示点云的子集的3维边界框对应的投影到矩形帧上的2D边界框(即,补片)的集合,或者放置到矩形帧上并与3D空间中渲染体积数据的体积对应的2D边界框及其关联信息的集合;图集子比特流:从包含图集NAL比特流的一部分的V-PCC比特流提取的子比特流;V-PCC内容:使用视频编码点云压缩(V-PCC)编码的点云;V-PCC轨道:承载V-PCC比特流的图集比特流的体积视觉轨道;V-PCC组件轨道:承载V-PCC比特流的占用图、几何或属性组件视频比特流中的任一个的2D视频编码数据的视频轨道。
V3C图像数据可指非定时V3C数据。根据实施方式,非定时V3C数据可由多个图集数据和/或多个图集拼块组成以支持部分访问等。
为了通过根据实施方式在文件级别将非定时V3C数据分成图集和/或图集拼块(图20至图22)来解码和渲染点云数据,可通过向根据实施方式的V3C项目(图47至图53)添加新项目类型来配置数据结构,并且可定义对应新V3C项目性质。
根据实施方式的方法/装置可提供与基于非定时视觉体积视频的编码数据的承载有关的文件格式信令。
图24示出根据实施方式的V-PCC比特流的示例性结构。
根据如图24所示的实施方式的比特流可通过由图1的点云视频编码器10001、图4的编码处理、图15的编码器、图18的发送装置、图20的视频/图像编码器20002和20003、图21的视频/图像编码器21007和21008、图23的XR装置等对点云数据进行编码来生成。另外,如图24所示的比特流可在接收侧由图1的点云视频解码器10008、图16的解码处理、图17的解码器、图19的接收装置和图20的视频/图像解码器20006、图22的视频/图像解码器22001和2202、图23的XR装置1230等解码以重构点云数据。
根据实施方式的方法/装置是发送器、接收器和/或处理器以提供用于将V-PCC(=V3C)比特流有效地存储在文件的轨道中并提供其信令的点云内容服务。
根据实施方式的方法/装置提供了用于存储包含点云数据的V-PCC比特流的数据格式。因此,提供了允许根据实施方式的接收方法/装置接收点云数据并有效访问点云数据的数据存储和信令方案。因此,基于用于有效访问的包括点云数据的文件的存储技术,发送器和/或接收器可提供点云内容服务。
图24示出由根据实施方式的方法/装置发送和接收的数据中所包括的点云比特流的结构。
根据实施方式的点云数据的压缩和解压缩的技术表示点云视觉信息的体积编码和解码。
包含编码点云序列(CPCS)的点云比特流(可被称为V-PCC比特流或V3C比特流)25000可包括样本流V-PCC单元。样本流V-PCC单元可承载V-PCC参数集(VPS)数据、图集比特流、2D视频编码占用图比特流、2D视频编码几何比特流以及零个或一个或更多个2D视频编码属性比特流。
点云比特流可包括样本流VPCC头。
ssvh_unit_size_precision_bytes_minus1:通过将1与该值相加而获得的值指定所有样本流V-PCC单元中的ssvu_vpcc_unit_size元素的精度(字节)。ssvh_unit_size_precision_bytes_minus1可在0至7的范围内。
样本流V-PCC单元的句法如下配置。各个样本流V-PCC单元可包括VPS、AD、OVD、GVD和AVD的V-PCC单元之一的类型。各个样本流V-PCC单元的内容可与样本流V-PCC单元中所包括的V-PCC单元相同的访问单元关联。
ssvu_vpcc_unit_size:指定后续vpcc_unit的大小(字节)。用于表示ssvu_vpcc_unit_size的比特数等于(ssvh_unit_size_precision_bytes_minus1+1)*8。
根据实施方式的方法/装置接收图24的包括编码点云数据的比特流,并且通过封装器20004和21009等生成如图45至图53所示的文件。
根据实施方式的方法/装置接收图45至图53所示的文件并且通过解封装器22000等对点云数据进行解码。
VPS和/或AD可被封装在轨道4(V3C轨道)中。OVD可被封装在轨道2(占用轨道)中。GVD可被封装在轨道3(几何轨道)中。AVD可被封装在轨道1(属性轨道)中。
图25示出根据实施方式的包括点云数据的比特流的结构。
图25的比特流可对应于图24的比特流。图24和图25的比特流由图1的发送装置10000、图1的点云视频编码器10002、图4的编码器、图15的编码器、图18的发送装置、图20的处理器20001和图20的视频/图像编码器20002、图21的处理器21001至21006、图21的视频/图像编码器21007和21008等生成。
图24和图25的比特流被图1的文件/片段封装器、图20的文件/片段封装器20004、图21的文件/片段封装器21009等存储在容器(图45至图53的文件等)中。
图24和图25中的比特流由图1的发送器10004等发送。
图1的接收装置10005、接收器10006等接收包含图24和图25的比特流的容器(图45至图53的文件等)。
由图1的文件/片段解封装器10007、图20的文件/片段解封装器20005、图22的文件/片段解封装器22000等从容器解析图24和图25的比特流。
图24和图25的比特流由图1的点云视频解码器10008、图16的解码器、图17的解码器、图19的接收装置、图20的视频/图像解码器20006、图22的视频/图像解码器22001和22002、图22的处理器22003等解码并重构以提供给用户。
包含在与根据实施方式的点云数据有关的比特流中的样本流V-PCC单元可包括V-PCC单元大小和V-PCC单元。
各个V-PCC单元可包括V-PCC单元头和V-PCC单元有效载荷。V-PCC单元头可描述V-PCC单元类型。属性视频数据的V-PCC单元头可描述属性类型、其索引、所支持的相同属性类型的多个实例等。
占用、几何和属性视频数据的单元有效载荷可对应于视频数据单元。例如,占用视频数据、几何视频数据和属性视频数据可以是HEVC NAL单元。这种视频数据可由根据实施方式的视频解码器解码。
图26示出根据实施方式的V-PCC单元和V-PCC单元头。
图26示出图25所示的V-PCC单元和V-PCC单元头的句法。
根据实施方式的V-PCC比特流可包含一系列V-PCC序列。
vuh_unit_type的值等于VPCC_VPS的vpcc单元类型可预期为V-PCC序列中的第一V-PCC单元类型。所有其它V-PCC单元类型遵循该单元类型,而对其编码顺序没有任何附加限制。承载占用视频、属性视频或几何视频的V-PCC单元的V-PCC单元有效载荷由一个或更多个NAL单元组成。
VPCC单元可包括头和有效载荷。
VPCC单元头可基于VUH单元类型包括以下信息。
vuh_unit_type如下指示V-PCC单元的类型。
[表1]
vuh_unit_type | 标识符 | V-PCC单元类型 | 描述 |
0 | VPCC_VPS | V-PCC参数集 | V-PCC级别参数 |
1 | VPCC_AD | 图集数据 | 图集信息 |
2 | VPCC_OVD | 占用视频数据 | 占用信息 |
3 | VPCC_GVD | 几何视频数据 | 几何信息 |
4 | VPCC_AVD | 属性视频数据 | 属性信息 |
5…31 | VPCC_RSVD | 预留 | - |
当vuh_unit_type指示属性视频数据(VPCC_AVD)、几何视频数据(VPCC_GVD)、占用视频数据(VPCC_OVD)或图集数据(VPCC_AD)时,在单元头中承载vuh_vpcc_parameter_setID和vuh_atlas_id。可传送与V-PCC单元关联的参数集ID和图集ID。
当单元类型为图集视频数据时,单元头可承载属性索引(vuh_attribute_index)、属性分区索引(vuh_attribute_partition_index)、图索引(vuh_map_index)和辅助视频标志(vuh_auxiliary_video_flag)。
当单元类型为几何视频数据时,可承载vuh_map_index和vuh_auxiliary_video_flag。
当单元类型为占用视频数据或图集数据时,单元头可包含附加预留比特。
vuh_vpcc_parameter_set_id指定活动V-PCC VPS的vps_vpcc_parameter_set_id的值。通过当前V-PCC单元的头中的vpcc_parameter_set_id,可知道VPS参数集的ID,并且可宣告V-PCC单元和V-PCC参数集之间的关系。
vuh_atlas_id指定与当前V-PCC单元对应的图集的索引。通过当前V-PCC单元的头中的vuh_atlas_id,可知道图集的索引,并且可宣告与V-PCC单元对应的图集。
vuh_attribute_index指示属性视频数据单元中承载的属性数据的索引。
vuh_attribute_partition_index指示属性视频数据单元中承载的属性维度组的索引。
当存在时,vuh_map_index指示当前几何或属性流的图索引。
vuh_auxiliary_video_flag等于1指示关联的几何或属性视频数据单元仅是RAW和/或EOM编码点视频。vuh_auxiliary_video_flag等于0指示关联的几何或属性视频数据单元可包含RAW和/或EOM编码点。
图27示出根据实施方式的V-PCC单元的有效载荷。
图27示出V-PCC单元的有效载荷的句法。
当vuh_unit_type是V-PCC参数集(VPCC_VPS)时,V-PCC单元有效载荷包含vpcc_parameter_set()。
当vuh_unit_type是V-PCC图集数据(VPCC_AD)时,V-PCC单元有效载荷包含atlas_sub_bitstream()。
当vuh_unit_type是V-PCC累积视频数据(VPCC_OVD)、几何视频数据(VPCC_GVD)或属性视频数据(VPCC_AVD)时,V-PCC单元有效载荷包含video_sub_bitstream()。
以下,将描述包含在V-PCC单元的有效载荷中的信息。
图28示出根据实施方式的V-PCC参数集。
图28示出当根据实施方式的比特流的单元的有效载荷包含如图27所示的参数集时参数集的句法。
图28的VPS可包括以下元素。
profile_tier_level()指定对比特流的限制,因此对将比特流解码所需的能力的限制。Profiles、tiers和levels也可用于指示各个解码器实现之间的互操作点。
vps_vpcc_parameter_set_id可提供V-PCC VPS的标识符以供其它句法元素参考。
vps_atlas_count_minus1加1指示当前比特流中所支持的图集的总数。
根据图集的数量,参数集中可进一步包括以下参数。
vps_frame_width[j]依据索引j的图集的整数亮度样本指示V-PCC帧宽度。该帧宽度是与索引j的图集的所有V-PCC组件关联的标称宽度。
vps_frame_height[j]依据索引j的图集的整数亮度样本指示V-PCC帧高度。该帧高度是与索引j的图集的所有V-PCC组件关联的标称高度。
vps_map_count_minus1[j]加1指示用于对索引j的图集的几何和属性数据进行编码的图的数量。
当vps_map_count_minus1[j]大于0时,参数集中可进一步包括以下参数。
根据vps_map_count_minus1[j]的值,参数集中可进一步包括以下参数。
vps_multiple_map_streams_present_flag[j]等于0指示索引j的图集的所有几何或属性图分别放置在单个几何或属性视频流中。vps_multiple_map_streams_present_flag[j]等于1指示索引j的图集的所有几何或属性图放置在单独的视频流中。
如果vps_multiple_map_streams_present_flag[j]指示1,则参数集中可进一步包括vps_map_absolute_coding_enabled_flag[j][i]。否则,vps_map_absolute_coding_enabled_flag[j][i]可具有值1。
vps_map_absolute_coding_enabled_flag[j][i]等于1指示索引j的图集的索引i的几何图在没有任何形式的图预测的情况下被编码。vps_map_absolute_coding_enabled_flag[j][i]等于0指示索引j的图集的索引i的几何图在编码之前首先从另一较早编码的图预测。
vps_map_absolute_coding_enabled_flag[j][0]等于1指示索引0的几何图在没有图预测的情况下被编码。
如果vps_map_absolute_coding_enabled_flag[j][i]为0并且i大于0,则参数集中可进一步包括vps_map_predictor_index_diff[j][i]。否则,vps_map_predictor_index_diff[j][i]可为0。
当vps_map_absolute_coding_enabled_flag[j][i]等于0时,vps_map_predictor_index_diff[j][i]用于计算索引j的图集的索引i的几何图的预测子。
vps_auxiliary_video_present_flag[j]等于1指示索引j的图集的辅助信息(即,RAW或EOM补片数据)可被存储在单独的视频流(称为辅助视频流)中。vps_auxiliary_video_present_flag[j]等于0指示索引j的图集的辅助信息不存储在单独的视频流中。
occupancy_information()包括占用视频相关参数集。
geometry_information()包括几何视频相关参数集。
attribute_information()包括属性视频相关参数集。
vps_extension_present_flag等于1指定句法元素vps_extension_length存在于vpcc_parameter_set句法结构中。vps_extension_present_flag等于0指定句法元素vps_extension_length不存在。
vps_extension_length_minus1加1指定跟随该句法元素的vps_extension_data_byte元素的数量。
根据vps_extension_length_minus1,参数集中可进一步包括扩展数据。
vps_extension_data_byte可具有可通过扩展包括的任何值。
图29示出根据实施方式的图集帧。
图29示出包括由图1的编码器10002、图4的编码器、图15的编码器、图18的发送装置、图20和图21的系统等编码的拼块的图集帧。该图示出包括由图1的解码器10008、图16和图17的解码器、图19的接收装置、图23的系统等解码的拼块的图集帧。
图集帧被划分为一个或更多个拼块行和一个或更多个拼块列。拼块是图集帧的矩形区域。拼块组包含图集帧的多个拼块。拼块和拼块组可彼此不区分,并且拼块组可对应于一个拼块。可仅支持矩形拼块组。在该模式下,拼块组(或拼块)可包含图集帧的多个拼块,其共同形成图集帧的矩形区域。图29示出根据实施方式的图集帧的拼块或拼块组划分。图29示出图集帧被划分为24个拼块(6个拼块列和4个拼块行)和9个矩形拼块组。根据实施方式,拼块组可用作与拼块对应的术语,在拼块组和拼块之间不区分。
即,根据实施方式,拼块组可对应于拼块,并且可被称为拼块。另外,拼块可对应于拼块分区,并且可被称为拼块分区。根据如上所述的互补关系,术语信令信息也可改变和称呼。
图30示出根据实施方式的图集比特流的结构。
图30示出图25中的比特流的单元的有效载荷承载图集比特流的示例。
根据实施方式,术语“子”可被解释为意指部分。根据实施方式,子比特流可被解释为比特流。
根据实施方式,图集比特流可包含样本流NAL头和样本流NAL单元。
根据实施方式的各个样本流NAL单元可包括图集序列参数集(ASPS)(参见图33)、图集适配参数集(AAPS)(参见图36)、图集帧参数集(AFPS)(参见图34)、一个或更多个图集拼块组、一个或更多个必要SEI和一个或更多个非必要SEI。
参照图30,承载图集子比特流的V-PCC单元的V-PCC单元有效载荷可由一个或更多个样本流NAL单元组成。
以下,将描述图30的图集比特流中所包含的信息的句法。
图31示出包含根据实施方式的点云数据的比特流中所包括的样本流NAL单元、样本流NAL单元头、NAL单元和NAL单元头。
图31示出图30的图集比特流中所包含的数据的句法。
ssnh_unit_size_precision_bytes_minus1加1指定所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(字节)。ssnh_unit_size_precision_bytes_minus1可在0至7的范围内。
ssnu_nal_unit_size指定后续NAL_unit的大小(字节)。用于表示ssnu_nal_unit_size的比特数可等于(ssnh_unit_size_precision_bytes_minus1+1)*8。
NumBytesInNalUnit指示NAL单元的大小(字节)。
NumBytesInRbsp指示属于NAL单元的有效载荷的字节数,并可被初始化为0。
rbsp_byte[i]是RBSP的第i字节。RBSP可被表示为有序字节序列。
nal_forbidden_zero_bit可等于零(0)。此字段用于NAL单元中的检错并且必须为0。
nal_unit_type可具有如图33所示的值。nal_unit_type指定NAL单元中所包含的RBSP数据结构的类型。
nal_layer_id指定ACL NAL单元所属的层的标识符或非ACL NAL单元应用的层的标识符。
nal_temporal_id_plus1减1指定NAL单元的临时标识符。
图32示出根据实施方式的NAL单元类型。
图32示出图30的样本流NAL单元的NAL单元头中所包括的nal_unit_type。
NAL_TRAIL:非TSA、非STSA结尾图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。根据实施方式,拼块组可对应于拼块。
NAL TSA:TSA图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_STSA:STSA图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_RADL:RADL图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_RASL:RASL图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或aatlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_SKIP:跳过图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_RSV_ACL_6至NAL_RSV_ACL_9:预留非IRAP ACL NAL单元类型可包括在NAL单元中。NAL单元的类型类为ACL。
NAL_BLA_W_LP、NAL_BLA_W_RADL、NAL_BLA_N_LP:BLA图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_GBLA_W_LP、NAL_GBLA_W_RADL、NAL_GBLA_N_LP:GBLA图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_IDR_W_RADL、NAL_IDR_N_LP:IDR图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_GIDR_W_RADL、NAL_GIDR_N_LP:GIDR图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_CRA:CRA图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_GCRA:GCRA图集帧的编码拼块组可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_tile_group_layer_rbsp()或atlas_tile_layer_rbsp()。NAL单元的类型类为ACL。
NAL_IRAP_ACL_22、NAL_IRAP_ACL_23:预留IRAP ACL NAL单元类型可包括在NAL单元中。NAL单元的类型类为ACL。
NAL_RSV_ACL_24至NAL_RSV_ACL_31:预留非IRAP ACL NAL单元类型可包括在NAL单元中。NAL单元的类型类为ACL。
NAL_ASPS:图集序列参数集可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_sequence_parameter_set_rbsp()。NAL单元的类型类为非ACL。
NAL_AFPS:图集帧参数集可包括在NAL单元中。NAL单元的RBSP句法结构为atlas_frame_parameter_set_rbsp()。NAL单元的类型类为非ACL。
NAL_AUD:访问单元分隔符可包括在NAL单元中。NAL单元的RBSP句法结构为access_unit_delimiter_rbsp()。NAL单元的类型类为非ACL。
NAL_VPCC_AUD:V-PCC访问单元分隔符可包括在NAL单元中。NAL单元的RBSP句法结构为access_unit_delimiter_rbsp()。NAL单元的类型类为非ACL。
NAL_EOS:NAL单元类型可为序列的结尾。NAL单元的RBSP句法结构为end_of_seq_rbsp()。NAL单元的类型类为非ACL。
NAL_EOB:NAL单元类型可为比特流的结尾。NAL单元的RBSP句法结构为end_of_atlas_sub_bitstream_rbsp()。NAL单元的类型类为非ACL。
NAL_FD Filler:NAL单元类型可为filler_data_rbsp()。NAL单元的类型类为非ACL。
NAL_PREFIX_NSEI、NAL_SUFFIX_NSEI:NAL单元类型可以是非必要补充增强信息。NAL单元的RBSP句法结构为sei_rbsp()。NAL单元的类型类为非ACL。
NAL_PREFIX_ESEI、NAL_SUFFIX_ESEI:NAL单元类型可以是必要补充增强信息。NAL单元的RBSP句法结构为sei_rbsp()。NAL单元的类型类为非ACL。
NAL_AAPS:NAL单元类型可为图集适配参数集。NAL单元的RBSP句法结构为atlas_adaptation_parameter_set_rbsp()。NAL单元的类型类为非ACL。
NAL_RSV_NACL_44至NAL_RSV_NACL_47:NAL单元类型可为预留非ACL NAL单元类型。NAL单元的类型类为非ACL。
NAL_UNSPEC_48至NAL_UNSPEC_63:NAL单元类型可以是未指定非ACL NAL单元类型。NAL单元的类型类为非ACL。
图33示出根据实施方式的图集序列参数集。
图33示出图30的图集比特流中所包含的图集序列参数集(ASPS)。
各个样本流NAL单元可包含图集参数集(例如,ASPS、AAPS或AFPS)之一、关于一个或更多个图集拼块组的信息和SEI。
ASPS可包括应用于由各个拼块组头中找到的句法元素所参考的ASPS中找到的句法元素的内容确定的零或更多个完整编码图集序列(CAS)的句法元素。
ASPS可包括以下元素。
asps_atlas_sequence_parameter_set_id可提供图集序列参数集的标识符以供其它句法元素参考。
asps_frame_width依据当前图集的整数亮度样本指示图集帧宽度。
asps_frame_height依据当前图集的整数亮度样本指示图集帧高度。
asps_log2_patch_packing_block_size指定用于图集内的补片的水平和垂直放置的变量PatchPackingBlockSize的值。
asps_log2_max_atlas_frame_order_cnt_lsb_minus4指定用于图集帧顺序计数的解码处理中的变量MaxAtlasFrmOrderCntLsb的值。
asps_max_dec_atlas_frame_buffering_minus1加1以图集帧存储缓冲区为单位指定CAS的解码图集帧缓冲区的最大所需大小。
asps_long_term_ref_atlas_frames_flag等于0指定长期参考图集帧不用于CAS中的任何编码图集帧的帧间预测。asps_long_term_ref_atlas_frames_flag等于1指定长期参考图集帧可用于CAS中的一个或更多个编码图集帧的帧间预测。
asps_num_ref_atlas_frame_lists_in_asps指定图集序列参数集中所包括的ref_list_struct(rlsIdx)句法结构的数量。
根据asps_num_ref_atlas_frame_lists_in_asps的值,ref_list_struct(i)可包括在图集序列参数集中。
asps_use_eight_orientations_flag等于0指定索引i的帧中索引j的补片的补片取向索引pdu_orientation_index[i][j]在0至1(含)的范围内。asps_use_eight_orientations_flag等于1指定索引i的帧中索引j的补片的补片取向索引pdu_orientation_index[i][j]在0至7(含)的范围内。
ASPS扩展投影启用标志(asps_extended_projection_enabled_flag):如果该值为0,则指示不针对当前图集拼块组或当前图集拼块用信号通知补片投影信息。如果该标志为1,则指示针对当前图集拼块组或当前图集拼块用信号通知补片投影信息。
asps_normal_axis_limits_quantization_enabled_flag等于1指定应用信号通知量化参数并用于量化补片数据单元、合并补片数据单元或补片间数据单元的法向轴相关元素。如果asps_normal_axis_limits_quantization_enabled_flag等于0,则不对补片数据单元、合并补片数据单元或补片间数据单元的任何法向轴相关元素应用量化。当asps_normal_axis_limits_quantization_enabled_flag为1时,atgh_pos_min_z_quantizer可包括在图集拼块组(或拼块)头中。
asps_normal_axis_max_delta_value_enabled_flag等于1指定索引j的帧中索引i的补片的几何信息中可能存在的法向轴的最大标称移位值将在各个补片数据单元、合并补片数据单元或补片间数据单元的比特流中指示。如果asps_normal_axis_max_delta_value_enabled_flag等于0,则索引j的帧中索引i的补片的几何信息中可能存在的法向轴的最大标称移位值不应在各个补片数据单元、合并补片数据单元或补片间数据单元的比特流中指示。当asps_normal_axis_max_delta_value_enabled_flag等于1时,atgh_pos_delta_max_z_quantizer可包括在图集拼块组(或拼块)头中。
asps_remove_duplicate_point_enabled_flag等于1指示不为当前图集重构重复点,其中重复点是具有与来自较低索引图的另一点相同的2D和3D几何坐标的点。asps_remove_duplicate_point_enabled_flag等于0指示重构所有点。
asps_max_dec_atlas_frame_buffering_minus1加1以图集帧存储缓冲区为单位指定用于CAS的解码图集帧缓冲区的最大所需大小。
asps_pixel_deinterleaving_flag等于1指示当前图集的解码几何和属性视频包含来自两个图的空间交织像素。asps_pixel_deinterleaving_flag等于0指示与当前图集对应的解码几何和属性视频仅包含来自单个图的像素。
asps_patch_precedence_order_flag等于1指示当前图集的补片优先级与解码顺序相同。asps_patch_precedence_order_flag等于0指示当前图集的补片优先级与解码顺序相反。
asps_patch_size_quantizer_present_flag等于1指示图集拼块组头中存在补片大小量化参数。asps_patch_size_quantizer_present_flag等于0指示补片大小量化参数不存在。
当asps_patch_size_quantizer_present_flag等于1时,atgh_patch_size_x_info_quantizer和atgh_patch_size_y_info_quantizer可包括在图集拼块组(或拼块)头中。
asps_point_local_reconstruction_enabled_flag等于1指示在当前图集的比特流中可存在点局部重构模式信息。asps_point_local_reconstruction_enabled_flag等于0指示在当前图集的比特流中不存在与点局部重构模式有关的信息。当asps_point_local_reconstruction_enabled_flag等于1时,asps_point_local_reconstruction_information可承载在图集序列参数集中。
asps_map_count_minus1加1指示可用于对当前图集的几何和属性数据进行编码的图的数量。
asps_map_pixel_deinterleaving_flag[i]等于1指示与当前图集中索引i的图对应的解码几何和属性视频包含与两个图对应的空间交织像素。asps_map_pixel_deinterleaving_flag[i]等于0指示与当前图集中索引i的图对应的解码几何和属性视频包含与单个图对应的像素。当不存在时,asps_map_pixel_deinterleaving_flag[i]的值可被推断为0。
ASPS EOM固定比特计数(asps_eom_fix_bit_count_minus1):如果该值加1,则指示EOM码字的比特大小。
ASPS表面厚度(asps_surface_thickness_minus1):当asps_pixel_deinterleaving_enabled_flag或asps_point_local_reconstruction_enabled_flag等于1时,加1指定明确编码的深度值与插值深度值之间的最大绝对差。
ASPS vui参数存在标志(asps_vui_parameters_present_flag):等于1指定存在vui_parameters()句法结构。asps_vui_parameters_present_flag等于0指定vui_parameters()句法结构不存在。
asps_extension_flag等于0指定ASPS RBSP句法结构中不存在asps_extension_data_flag句法元素。
asps_extension_data_flag指示用于扩展的数据包括在ASPS RBSP句法结构中。
rbsp_trailing_bits用于在添加停止比特1以指示RBSP数据结束之后用0填充剩余比特以便于字节对齐。
图34示出根据实施方式的图集帧参数集。
图34示出图30的图集比特流中所包含的图集帧参数集的详细句法。
图集帧参数集(AFPS)包括包含应用于零或更多个完整编码图集帧的句法元素的句法结构。
afps_atlas_frame_parameter_set_id标识图集帧参数集以供其它句法元素参考。
afps_atlas_sequence_parameter_set_id指定活动图集序列参数集的asps_atlas_sequence_parameter_set_id的值。
将参照图36描述atlas_frame_tile_information()。
afps_output_flag_present_flag等于1指示在关联的拼块组头中存在atgh_frame_output_flag句法元素。afps_output_flag_present_flag等于0指示在关联的拼块组头中不存在atgh_frame_output_flag句法元素。
afps_num_ref_idx_default_active_minus1加1指定atgh_num_ref_idx_active_override_flag等于0的拼块组或拼块的变量NumRefIdxActive的推断值。
afps_additional_lt_afoc_lsb_len指定用于参考图集帧的解码处理的变量MaxLtAtlasFrmOrderCntLsb的值。
afps_3d_pos_x_bit_count_minus1加1指定参考afps_atlas_frame_parameter_set_id的图集拼块组中的索引j的补片的pdu_3d_pos_x[j]的定长表示中的比特数。
afps_3d_pos_y_bit_count_minus1加1指定参考afps_atlas_frame_parameter_set_id的图集拼块组中的索引j的补片的pdu_3d_pos_y[j]的定长表示中的比特数。
afps_lod_mode_enabled_flag等于1指示LOD参数可存在于补片中。afps_lod_mode_enabled_flag等于0指示LOD参数不存在于补片中。
afps_override_eom_for_depth_flag等于1指示比特流中明确地存在afps_eom_number_of_patch_bit_count_minus1和afps_eom_max_bit_count_minus1的值。afps_override_eom_for_depth_flag等于0指示隐含地推导afps_eom_number_of_patch_bit_count_minus1和afps_eom_max_bit_count_minus1的值。
afps_eom_number_of_patch_bit_count_minus1加1指定用于表示与该图集帧参数集关联的图集帧中的EOM属性补片中关联的几何补片的数量的比特数。
afps_eom_max_bit_count_minus1加1指定用于表示与该图集帧参数集关联的图集帧中的EOM属性补片中关联的每几何补片的EOM点数的比特数。
afps_raw_3d_pos_bit_count_explicit_mode_flag等于1指示rpdu_3d_pos_x、rpdu_3d_pos_y和rpdu_3d_pos_z的定长表示中的比特数由参考afps_atlas_frame_parameter_set_id的图集拼块组头中的atgh_raw_3d_pos_axis_bit_count_minus1明确编码。afps_raw_3d_pos_bit_count_explicit_mode_flag等于0指示隐含推导atgh_raw_3d_pos_axis_bit_count_minus1的值。
afps_extension_flag等于0指定在AFPS RBSP句法结构中不存在afps_extension_data_flag句法元素。
afps_extension_data_flag可包含扩展相关数据。
图35示出根据实施方式的atlas_frame_tile_information。
图35示出图31的图集比特流中所包括的图集帧拼块信息的句法。
afti_single_tile_in_atlas_frame_flag等于1指定在各个图集帧中仅存在一个拼块参考AFPS。afti_single_tile_in_atlas_frame_flag等于0指定在各个图集帧中存在超过一个拼块参考AFPS。
afti_uniform_tile_spacing_flag等于1指定拼块列和行边界横跨图集帧均匀地分布并分别使用句法元素afti_tile_cols_width_minus1和afti_tile_rows_height_minus1用信号通知。afti_uniform_tile_spacing_flag等于0指定拼块列和行边界可或可不横跨图集帧均匀地分布并使用句法元素afti_num_tile_columns_minus1和afti_num_tile_rows_minus1以及句法元素对afti_tile_column_width_minus1[i]和afti_tile_row_height_minus1[i]的列表用信号通知。
当afti_uniform_tile_spacing_flag等于1时,afti_tile_cols_width_minus1加1以64样本为单位指定除了图集帧的最右拼块列之外的拼块列的宽度。
当afti_uniform_tile_spacing_flag等于1时,afti_tile_rows_height_minus1加1以64样本为单位指定除了图集帧的底部拼块行之外的拼块行的高度。
当afti_uniform_tile_spacing_flag不等于1时,图集帧拼块信息中包括以下元素。
当afti_uniform_tile_spacing_flag等于0时,afti_num_tile_columns_minus1加1指定划分图集帧的拼块列的数量。
当pti_uniform_tile_spacing_flag等于0时,afti_num_tile_rows_minus1加1指定划分图集帧的拼块行的数量。
afti_tile_column_width_minus1[i]加1以64样本为单位指定第i拼块列的宽度。
根据afti_num_tile_columns_minus1的值,afti_tile_column_width_minus1[i]包括在图集帧拼块信息中。
afti_tile_row_height_minus1[i]加1以64样本为单位指定第i拼块行的高度。
根据afti_num_tile_rows_minus1的值,afti_tile_row_height_minus1[i]包括在图集帧拼块信息中。
afti_single_tile_per_tile_group_flag等于1指定参考该AFPS的各个拼块组(或拼块)包括一个拼块。afti_single_tile_per_tile_group_flag等于0指定参考该AFPS的拼块组可包括超过一个拼块。当不存在时,afti_single_tile_per_tile_group_flag的值可被推断为等于1。
基于afti_num_tile_groups_in_atlas_frame_minus1的值,afti_tile_idx[i]包括在图集帧拼块信息中。
当afti_single_tile_per_tile_group_flag等于0时,在图集帧拼块信息中承载afti_num_tile_groups_in_atlas_frame_minus1。
afti_num_tile_groups_in_atlas_frame_minus1加1指定参考AFPS的各个图集帧中的拼块组的数量。afti_num_tile_groups_in_atlas_frame_minus1的值可在0至NumTilesInAtlasFrame-1(含)的范围内。当不存在并且afti_single_tile_per_tile_group_flag等于1时,afti_num_tile_groups_in_atlas_frame_minus1的值可被推断为等于NumTilesInAtlasFrame-1。
根据afti_num_tile_groups_in_atlas_frame_minus1那样大的值,图集帧拼块信息中包括以下元素。
afti_top_left_tile_idx[i]指定位于第i拼块组(拼块)的左上角的拼块的拼块索引。对于不等于j的任何i,afti_top_left_tile_idx[i]的值不等于afti_top_left_tile_idx[j]的值。当不存在时,afti_top_left_tile_idx[i]的值可被推断为等于i。afti_top_left_tile_idx[i]句法元素的长度可为Ceil(Log2(NumTilesInAtlasFrame)比特。
afti_bottom_right_tile_idx_delta[i]指定位于第i拼块组(拼块)的右下角的拼块的拼块索引与afti_top_left_tile_idx[i]之间的差。当afti_single_tile_per_tile_group_flag等于1时,afti_bottom_right_tile_idx_delta[i]的值被推断为等于0。afti_bottom_right_tile_idx_delta[i]句法元素的长度为Ceil(Log2(NumTilesInAtlasFrame-afti_top_left_tile_idx[i]))比特。
afti_signalled_tile_group_id_flag等于1指定用信号通知各个拼块组的拼块组ID。
当afti_signalled_tile_group_id_flag等于1时,可在图集帧拼块信息中承载afti_signalled_tile_group_id_length_minus1和afti_tile_group_id[i]。当该标志的值为0时,可不用信号通知拼块组ID。
afti_signalled_tile_group_id_length_minus1加1指定用于表示句法元素afti_tile_group_id[i](当存在时)和拼块组头中的句法元素atgh_address的比特数。
afti_tile_group_id[i]指定第i拼块组的拼块组ID。afti_tile_group_id[i]句法元素的长度为afti_signalled_tile_group_id_length_minus1+1比特。
根据afti_num_tile_groups_in_atlas_frame_minus1的值,afti_tile_group_id[i]包括在图集帧拼块信息中。
图36示出根据实施方式的atlas_adaptation_parameter_set。
图36示出图30的图集比特流中所包括的图集适配参数集。
AAPS RBSP包括一个或更多个编码图集帧的编码拼块组NAL单元参考的参数。在解码处理操作期间的任何给定时刻,至多一个AAPS RBSP被认为是活动的。任何特定AAPSRBSP的启用导致先前活动AAPS RBSP的停用。
aaps_atlas_adaptation_parameter_set_id可标识图集适配参数集以供其它句法元素参考。
aaps_atlas_sequence_parameter_set_id指定活动图集序列参数集的asps_atlas_sequence_parameter_set_id的值。
aaps_camera_parameters_present_flag等于1指定相机参数存在于当前图集适配参数集中。aaps_camera_parameters_present_flag等于0指定当前适配参数集的相机参数不存在。
aaps_extension_flag等于0指定在AAPS RBSP句法结构中不存在aaps_extension_data_flag句法元素。
aaps_extension_data_flag可具有各种值。
图37示出根据实施方式的atlas_camera_parameters。
图37示出图36中所包括的atlas_camera_parameters。
acp_camera_model指示与当前适配参数集关联的点云帧的相机模型。
当acp_camera_model等于0时,不指定acp_camera_model的名称。
当acp_camera_model等于1时,acp_camera_model指示正交相机模型。
当acp_camera_model具有2至255的值时,acp_camera_model可被预留以供未来使用。
acp_scale_enabled_flag等于1指示当前相机模型的标度参数存在。acp_scale_enabled_flag等于0指示当前相机模型的标度参数不存在。
acp_offset_enabled_flag等于1指示当前相机模型的偏移参数存在。acp_offset_enabled_flag等于0指示当前相机模型的偏移参数不存在。
acp_rotation_enabled_flag等于1指示当前相机模型的旋转参数存在。acp_rotation_enabled_flag等于0指示当前相机模型的旋转参数不存在。
acp_scale_on_axis[d]沿着当前相机模型的d轴指定标度[d]的值。d的值在0至2(含)的范围内,值0、1和2分别与X、Y和Z轴对应。
acp_offset_on_axis[d]沿着当前相机模型的d轴指示偏移的值,其中d在0至2(含)的范围内。等于0、1和2的d值可分别与X、Y和Z轴对应。
acp_rotation_qx使用四元表示指定当前相机模型的旋转的x分量qX。
acp_rotation_qy使用四元表示指定当前相机模型的旋转的y分量qY。
acp_rotation_qz使用四元表示指定当前相机模型的旋转的z分量qZ。
图38示出根据实施方式的atlas_tile_group_layer和atlas_tile_group_header。
图38示出图30的图集比特流中所包括的图集拼块组层和图集拼块组头。
atgh_atlas_frame_parameter_set_id指定当前图集拼块组的活动图集帧参数集的afps_atlas_frame_parameter_set_id的值。
atgh_atlas_adaptation_parameter_set_id指定当前图集拼块组的活动图集适配参数集的aaps_atlas_adaptation_parameter_set_id的值。
atgh_address指定拼块组的拼块组地址。当不存在时,atgh_address的值被推断为等于0。拼块组地址是拼块组的拼块组ID。atgh_address的长度可为afti_signalled_tile_group_id_length_minus1+1比特。当afti_signalled_tile_group_id_flag等于0时,atgh_address的值在0至afti_num_tile_groups_in_atlas_frame_minus1(含)的范围内。另外,atgh_address的值可在0至2(afti_signalled_tile_group_id_length_minus1+1)-1(含)的范围内。
atgh_type指定当前图集拼块组的编码类型。
当atgh_type等于0时,类型为图集间拼块组(P_TILE_GRP)。
当atgh_type等于1时,类型为图集内拼块组(I_TILE_GRP)。
当atgh_type等于2时,类型为SKIP图集拼块组(SKIP_TILE_GRP)。
当atgh_type等于3时,类型为预留。
atgh_atlas_output_flag可影响解码图集输出和去除处理。
atgh_atlas_frm_order_cnt_lsb指定图集帧顺序计数对当前图集拼块组的MaxAtlasFrmOrderCntLsb取模。
atgh_ref_atlas_frame_list_sps_flag等于1指定当前图集拼块组的参考图集帧列表可基于活动ASPS中的ref_list_struct(rlsIdx)句法结构之一来推导。atgh_ref_atlas_frame_list_sps_flag等于0指定当前图集拼块组的参考图集帧列表可基于直接包括在当前图集拼块组的拼块组头中的ref_list_struct(rlsIdx)句法结构来推导。
atgh_ref_atlas_frame_list_idx指定用于推导当前图集拼块组的参考图集帧列表的ref_list_struct(rlsIdx)句法结构的活动ASPS中所包括的ref_list_struct(rlsIdx)句法结构的列表的索引。
atgh_additional_afoc_lsb_present_flag[j]等于1指定对于当前图集拼块组存在atgh_additional_afoc_lsb_val[j]。atgh_additional_afoc_lsb_present_flag[j]等于0指定atgh_additional_afoc_lsb_val[j]不存在。
atgh_additional_afoc_lsb_val[j]指定当前图集拼块组的FullAtlasFrmOrderCntLsbLt[RlsIdx][j]的值。
atgh_pos_min_z_quantizer指定要应用于补片p的pdu_3d_pos_min_z[p]值的量化器。如果atgh_pos_min_z_quantizer不存在,则其值被推断为等于0。
atgh_pos_delta_max_z_quantizer指定要应用于索引p的补片的pdu_3d_pos_delta_max_z[p]值的量化器。当atgh_pos_delta_max_z_quantizer不存在时,其值可被推断为等于0。
atgh_patch_size_x_info_quantizer指定要应用于索引p的补片的变量pdu_2d_size_x_minus1[p]、mpdu_2d_delta_size_x[p]、ipdu_2d_delta_size_x[p]、rpdu_2d_size_x_minus1[p]和epdu_2d_size_x_minus1[p]的量化器PatchSizeXQuantizer的值。当atgh_patch_size_x_info_quantizer不存在时,其值可被推断为等于asps_log2_patch_packing_block_size。
atgh_patch_size_y_info_quantizer指定要应用于索引p的补片的变量pdu_2d_size_y_minus1[p]、mpdu_2d_delta_size_y[p]、ipdu_2d_delta_size_y[p]、rpdu_2d_size_y_minus1[p]和epdu_2d_size_y_minus1[p]的量化器PatchSizeYQuantizer的值。当atgh_patch_size_y_info_quantizer不存在时,其值可被推断为等于asps_log2_patch_packing_block_size。
atgh_raw_3d_pos_axis_bit_count_minus1加1指定rpdu_3d_pos_x、rpdu_3d_pos_y和rpdu_3d_pos_z的固定长度表示中的比特数。
atgh_num_ref_idx_active_override_flag等于1指定对于当前图集拼块组存在句法元素atgh_num_ref_idx_active_minus1。atgh_num_ref_idx_active_override_flag等于0指定句法元素atgh_num_ref_idx_active_minus1不存在。当atgh_num_ref_idx_active_override_flag不存在时,其值可被推断为等于0。
atgh_num_ref_idx_active_minus1指定用于参考可用于对当前图集拼块组进行解码的图集帧列表的最大参考索引。当NumRefIdxActive的值等于0时,没有参考图集帧列表的参考索引可用于对当前图集拼块组进行解码。
byte_alignment用于在添加1作为停止比特以指示数据结束之后用0填充剩余比特以便于字节对齐。
图39示出根据实施方式的参考列表结构(ref_list_struct)。
图39示出图38中所包括的参考列表结构。
num_ref_entries[rlsIdx]指定ref_list_struct(rlsIdx)句法结构中的条目数量。
st_ref_atlas_frame_flag[rlsIdx][i]等于1指定ref_list_struct(rlsIdx)句法结构中的第i条目是短期参考图集帧条目。st_ref_atlas_frame_flag[rlsIdx][i]等于0指定ref_list_struct(rlsIdx)句法结构中的第i条目是长期参考图集帧条目。当不存在时,st_ref_atlas_frame_flag[rlsIdx][i]的值可被推断为等于1。
当第i条目是ref_list_struct(rlsIdx)句法结构中的第一短期参考图集帧条目时,abs_delta_afoc_st[rlsIdx][i]指定当前图集拼块组的图集帧顺序计数值与第i条目所参考的图集帧之间的绝对差,或者当第i条目是短期参考图集帧条目,但不是ref_list_struct(rlsIdx)句法结构中的第一短期参考图集帧条目时,指定第i条目与ref_list_struct(rlsIdx)句法结构中的先前短期参考图集帧条目所参考的图集帧的图集帧顺序计数值之间的绝对差。
strpf_entry_sign_flag[rlsIdx][i]等于1指定句法结构ref_list_struct(rlsIdx)中的第i条目具有大于或等于0的值。strpf_entry_sign_flag[rlsIdx][i]等于0指定句法结构ref_list_struct(rlsIdx)中的第i条目具有小于0的值。当不存在时,strpf_entry_sign_flag[rlsIdx][i]的值可被推断为等于1。
afoc_lsb_lt[rlsIdx][i]指定图集帧顺序计数的值对ref_list_struct(rlsIdx)句法结构中的第i条目所参考的图集帧的MaxAtlasFrmOrderCntLsb取模。afoc_lsb_lt[rlsIdx][i]句法元素的长度可为asps_log2_max_atlas_frame_order_cnt_lsb_minus4+4比特。
图40示出根据实施方式的图集拼块组数据(atlas_tile_group_data_unit)。
图40示出图30的图集比特流中所包括的图集拼块组数据。
atgdu_patch_mode[p]指示当前图集拼块组中索引p的补片的补片模式。atgh_type=SKIP_TILE_GRP的拼块组意指整个拼块组信息直接从与对应于第一参考图集帧的当前拼块组具有相同atgh_address的拼块组复制。
图41示出根据实施方式的补片模式。
图41示出与图40的补片模式有关的详细描述。
I_TILE_GRP类型图集拼块组的补片模式类型可指定如下。
atgdu_patch_mode等于0指示标识符为I_INTRA的非预测补片模式。
atgdu_patch_mode等于1指示标识符为I_RAW的RAW点补片模式。
atgdu_patch_mode等于2指示标识符为I_EOM的EOM点补片模式。
atgdu_patch_mode的值等于3至13指示标识符为I_RESERVED的预留模式。
atgdu_patch_mode等于14指示标识符为I_END的补片终止模式。
P_TILE_GRP类型图集拼块组的补片模式类型可如下指定。
atgdu_patch_mode等于0指示标识符为P_SKIP的补片跳过模式。
atgdu_patch_mode等于1指示标识符为P_MERGE的补片合并模式。
atgdu_patch_mode等于2指示标识符为P_INTER的帧间预测补片模式。
atgdu_patch_mode等于3指示标识符为P_INTRA的非预测补片模式。
atgdu_patch_mode等于4指示标识符为P_RAW的RAW点补片模式。
atgdu_patch_mode等于5指示标识符为P_EOM的EOM点补片模式。
atgdu_patch_mode的值等于6至13指示标识符为P_RESERVED的预留模式。
atgdu_patch_mode等于14指示标识符为P_END的补片终止模式。
SKIP_TILE_GRP类型图集拼块组的补片模式类型可如下指定。
atgdu_patch_mode等于0指示标识符为P_SKIP的补片跳过模式。
图42示出根据实施方式的patch_information_data。
图42示出包括在图40中的patch_information_data。
patch_information_data可根据patchIdx和patchMode承载以下信息。
当atgh_type为SKIP_TILE_GR时,可承载skip_patch_data_unit(patchIdx)。
当atgh_type为P_TILE_GR时,可承载以下元素。具体地,当patchMode为P_SKIP时,可提供skip_patch_data_unit(patchIdx)。当patchMode为P_MERGE时,可提供merge_patch_data_unit(patchIdx)。当patchMode为P_INTRA时,可承载patch_data_unit(patchIdx)。当patchMode为P_INTER时,可承载inter_patch_data_unit(patchIdx)。当patchMode为P_RAW时,可承载raw_patch_data_unit(patchIdx)。当patchMode为P_EOM时,可承载eom_patch_data_unit(patchIdx)。
当atgh_type为I_TILE_GR时,可承载以下元素。具体地,当patchMode为I_INTRA时,可承载patch_data_unit(patchIdx)。当patchMode为I_RAW时,可承载raw_patch_data_unit(patchIdx)。当patchMode为I_EOM时,可承载eom_patch_data_unit(patchIdx)。
图42示出根据实施方式的patch_data_unit。
pdu_2d_pos_x[p]指定当前图集拼块组tileGroupIdx中补片p的补片边界框的左上角的x坐标(或左偏移),表示为PatchPackingBlockSize的倍数。
pdu_2d_pos_y[p]指定当前图集拼块组tileGroupIdx中补片p的补片边界框的左上角的y坐标(或上偏移),表示为PatchPackingBlockSize的倍数。
pdu_2d_size_x_minus1[p]加1指定当前图集拼块组tileGroupIdx中索引p的补片的量化宽度值。
pdu_2d_size_y_minus1[p]加1指定当前图集拼块组tileGroupIdx中索引p的补片的量化高度值。
pdu_3d_pos_x[p]沿着切向轴指定要应用于当前图集拼块组的索引p的补片中的重构补片点的偏移。
pdu_3d_pos_y[p]沿着双切轴指定要应用于当前图集拼块组的索引p的补片中的重构补片点的偏移。
pdu_3d_pos_min_z[p]沿着法向轴指定要应用于当前图集拼块组的索引p的补片中的重构补片点的偏移。
如果存在的话,pdu_3d_pos_delta_max_z[p]沿着法向轴指定当前图集拼块组的索引p的补片中在转换为其标称表示之后预期存在于重构比特深度补片几何样本中的偏移的标称最大值。
pdu_projection_id[p]指定当前图集拼块组的索引p的补片的投影模式和投影平面法线的索引的值。
pdu_orientation_index[p]指示当前图集拼块组的索引p的补片的补片取向索引。
pdu_lod_enabled_flag[p]等于1指定对于当前补片p存在LOD参数。当pdu_lod_enabled_flag[p]等于0时,对于当前补片不存在LOD参数。
pdu_lod_scale_x_minus1[p]指定在与补片坐标Patch3dPosX[p]相加之前要应用于当前图集拼块组的索引p的补片中的点的局部x坐标的LOD缩放因子。
pdu_lod_scale_y[p]指定在与补片坐标Patch3dPosY[p]相加之前要应用于当前图集拼块组的索引p的补片中的点的局部y坐标的LOD缩放因子。
point_local_reconstruction_data(patchIdx)可包括用于使得解码器能够重构由于压缩损失等而丢失的点的信息。
图43示出根据实施方式的补片信息。
图43示出图42的图集拼块组的索引p的补片的补片取向索引。
根据x的值,标识符、旋转和偏移信息可如图43所示配置。补片可具有根据旋转和偏移的取向。
图44示出根据实施方式的SEI消息。
图44示出包括在图30的图集子比特流中的SEI消息的句法。
根据实施方式的方法/装置可生成和传送SEI消息。根据实施方式的方法/装置可基于SEI消息来辅助与解码、重构、显示或其它目的有关的处理。根据实施方式,可存在两种类型的SEI消息:必要SEI消息和非必要SEI消息。
解码处理可能不需要非必要SEI消息。要求可根据解码器的性能而变化。
必要SEI消息可构成V-PCC比特流的部分(图24等)。它可能是比特流配置的必要元素。必要SEI消息可被归类为以下两种类型。
类型A必要SEI消息:这些SEI可包含检查比特流一致性和输出定时解码器一致性所需的信息。指定A的V-PCC解码器不应丢弃任何相关类型A必要SEI消息,并且可将这种信息用于比特流解码。
类型B必要SEI消息:符合特定重构配置文件的V-PCC解码器不应丢弃任何相关类型B必要SEI消息,并且将这种信息用于3D点云重构。
sei_message()可包括一个或更多个sei_payload。
sei可根据NAL单元类型具有各种有效载荷配置。
图45示出根据实施方式的封装V-PCC数据容器结构。
图1的发送装置10000的点云视频编码器10002、图4和图15的编码器、图18的发送装置、图29的视频/图像编码器20002和20003、图21的处理器和编码器21000至21008以及图23的XR装置2330生成包含根据实施方式的点云数据的比特流。
图1的文件/片段封装器10003、图20的文件/片段封装器20004、图21的文件/片段封装器21009和图23的XR装置将比特流格式化为图24和图25的文件结构。
类似地,图1的接收装置10005的文件/片段解封装模块10007、图20至图23的文件/片段解封装器20005、21009和22000以及图23的XR装置2330接收和解封装文件并且解析比特流。比特流由图1的点云视频解码器10008、图16和图17的解码器、图19的接收装置、图20至图23的视频/图像解码器20006、21007、21008、22001和22002以及图23的XR装置2330解码以恢复点云数据。
图45和图46示出根据ISOBMFF文件格式的点云数据容器的结构。
图45和图46示出用于基于多个轨道传送点云的容器的结构。
根据实施方式的方法/装置可发送/接收容器文件,其中基于多个轨道包括点云数据以及与点云数据有关的附加数据。
轨道1 70000是属性轨道,并且可包含如图1、图4、图15、图18等所示编码的属性数据70040。
轨道2 70010是占用轨道,并且可包含如图1、图4、图15、图18等所示编码的几何数据70050。
轨道3 70020是几何轨道,并且可包含如图1、图4、图15、图18等所示编码的占用数据70060。
轨道4 70030是v-pcc(v3c)轨道,并且可包括包含与点云数据有关的数据的图集比特流70070。
各个轨道由样本条目和样本组成。样本是与帧对应的单元。为了将第N帧解码,需要与第N帧对应的样本或样本条目。样本条目可包含描述样本的信息。
图46示出根据实施方式的文件的结构。
v3c轨道71000对应于轨道4 70030。包含在v3c轨道71000中的数据可具有称为框的数据容器的格式。v3c轨道71000包含关于V3C组件轨道71010至71030的参考信息。
根据实施方式的接收方法/装置可接收包含如图46所示的点云数据的容器(可称为文件)并且解析V3C轨道,并且可基于包含在V3C轨道中的参考信息来解码和重构占用数据、几何数据和属性数据。
占用轨道71010对应于轨道2 70010并且包含占用数据。几何轨道71020对应于轨道3 70020并且包含几何数据。属性轨道71030对应于轨道1 70000并且包含属性数据。
V-PCC系统
V-PCC系统是指在如图45和图46所示的文件(单轨道和/或多轨道)中传送如图20至图22所示编码的点云数据的元件。
基于视频的点云压缩表示点云视觉信息的体积编码。包含编码点云序列(CPCS)的V-PCC比特流可由承载V-PCC参数集(VPS)、编码图集比特流、2D视频编码占用图比特流、2D视频编码几何比特流以及零个或更多个2D视频编码属性比特流的VPCC单元组成。
根据实施方式的方法/装置可通过文件/片段封装器(图20中的20004、图21中的21009)接收图25和图26的V-PCC比特流。当文件(图70至图72)或点云数据是图像时,该方法/装置可基于项目(图47)的容器结构来封装和传送以下信息。
当文件(图70至图72)或点云数据是图像时,根据实施方式的方法/装置可通过文件/片段解封装器(图20中的20005、图22中的22000)接收和解封装项目(图47)。
体积视觉轨道
体积视觉轨道可由MediaBox的HandlerBox中的体积视觉媒体处理程序类型“volv”标识。
体积视觉媒体头
框类型:“vvhd”
容器:MediaInformationBox
强制:是
数量:恰好一个
体积视觉轨道使用MediaInformationBox中的VolumetricVisualMediaHeaderBox。
aligned(8)class VolumetricVisualMediaHeaderBox
extends FullBox(‘vvhd’,version=0,1){
}
“version”是指定该框的版本的整数。
体积视觉样本条目
体积视觉轨道应使用VolumetricVisualSampleEntry。
class VolumetricVisualSampleEntry(codingname)extends SampleEntry(codingname){
unsigned int(8)[32]compressor_name;
}
compressor_name是用于信息目的的名称。其被格式化为固定32字节字段,第一字节被设定为要显示的字节数,然后是使用UTF-8编码的可显示数据的字节数,然后填充以完成总共32字节(包括大小字节)。该字段可被设定为0。
体积视觉样本
体积视觉样本的格式由编码系统定义。
以下,将描述关于根据V-PCC系统包括在体积视觉轨道中的公共数据结构的详细信息。
公共数据结构
V-PCC单元头框
该框可存在于V-PCC轨道的样本条目中以及所有视频编码V-PCC组件轨道的方案信息中。该框可包含相应轨道所承载的数据的V-PCC单元头。
该记录包含版本字段。该版本可定义该记录的版本1。对记录的不兼容改变可由版本号的改变指示。解码器可基于版本号确定是否对该记录或比特流进行解码。
VPCCParameterSet阵列包括vpcc_parameter_set()。
SetupUnit阵列包括对于样本条目所参考的流恒定的图集参数集,其中存在解码器配置记录以及图集子流SEI消息。
对于样本条目所参考的流,SetupUnit阵列可为恒定的。可存在解码器配置记录以及图集子流SEI消息。
configurationVersion是版本字段。对记录的不兼容改变可由版本号的改变指示。
lengthSizeMinusOne加1指示应用该配置记录的流中的V-PCC样本中的NALUnitLength字段的长度(字节)。
例如,可由值0指示一个字节的大小。该字段的值可等于图集子流的sample_stream_nal_header()中的ssnh_unit_size_precision_bytes_minus1。
numOfVPCCParameterSets指定在解码器配置记录中用信号通知的V-PCC参数集单元的数量。
VPCCParameterSetLength指示vpccParameterSet字段的大小(字节)。
vpccParameterSet是承载vpcc_parameter_set()的类型VPCC_VPS的V-PCC单元。
numOfSetupUnitArrays指示所指示类型的图集NAL单元的阵列数量。
array_completeness等于1指示给定类型的所有图集NAL单元均在以下阵列中,没有在流中。array_completeness等于0指示所指示类型的附加图集NAL单元可在流中。默认值和允许值受样本条目名称约束。
NAL_unit_type指示以下阵列中的图集NAL单元的类型。其可以是指示NAL_ASPS、NAL_PREFIX_SEI或NAL_SUFFIX_SEI图集NAL单元的值之一。
numNALUnits指示应用该配置记录的流的配置记录中所包括的所指示类型的图集NAL单元的数量。SEI阵列可仅包含SEI消息。
SetupUnitLength指示setupUnit字段的大小(字节)。长度字段可包括NAL单元头和NAL单元有效载荷二者的大小,但不包括长度字段本身。
setupUnit可包含类型NAL_ASPS、NAL_AFPS、NAL_PREFIX_ESEI、NAL_PREFIX_NSEI、NAL_SUFFIX_ESEI或NAL_SUFFIX_NSEI的NAL单元。
当不存在于setupUnit中时,可包括类型NAL_ASPS(图集序列参数集)、NAL_AFPS(图集帧参数集)、NAL_AAPS(图集适配参数)、NAL_PREFIX_ESEI、NAL_PREFIX_NSEI、NAL_SUFFIX_ESEI或NAL_SUFFIX_NSEI单元。NAL_PREFIX_ESEI(必要补充增强信息,sei_rbsp())、NAL_PREFIX_NSEI(非必要补充增强信息,sei_rbsp())、NAL_SUFFIX_ESEI(必要补充增强信息,sei_rbsp())或NAL_SUFFIX_NSEI(非必要补充增强信息,sei_rbsp())可包含SEI消息。SEI消息可提供关于作为整体的流的信息。这种SEI的示例可以是用户数据SEI。
样本组
根据实施方式的方法/装置可在样本组中发送点云数据和相关数据。例如,根据实施方式的图集相关参数信息可被分组并发送。
轨道分组
根据实施方式的方法/装置可通过基于轨道分组对相关数据进行分组来有效地发送点云数据和相关数据。例如,为了支持点云数据的空间区域的部分访问,承载点云数据的空间区域的轨道可被分组并识别。
实体分组
根据实施方式的方法/装置可通过基于实体分组对相关数据进行分组来有效地发送点云数据和相关数据。
V-PCC比特流的多轨道容器
V-PCC比特流的多轨道容器
在多轨道ISOBMFF V-PCC容器的一般布局中,V-PCC比特流中的V-PCC单元可基于其类型被映射至容器文件内的各个轨道。例如,其可如图40和图41所示配置。在多轨道ISOBMFF V-PCC容器中可存在两种类型的轨道:V-PCC轨道和V-PCC组件轨道。
V-PCC组件轨道是承载V-PCC比特流的占用图、几何和属性子比特流的2D视频编码数据的视频方案轨道。另外,V-PCC组件轨道满足以下条件:
a)在样本条目中,可在V-PCC系统中插入新框,该框记录了视频流的作用;
b)可从V-PCC轨道至V-PCC组件轨道引入轨道参考,以建立由V-PCC轨道表示的特定点云中的V-PCC组件轨道的成员关系;
c)轨道头标志可被设定为0,以指示该轨道不直接对电影的总体铺设有贡献,而是对V-PCC系统有贡献。
属于同一V-PCC序列的轨道时间对齐。横跨不同视频编码V-PCC组件轨道和V-PCC轨道对相同点云帧有贡献的样本具有相同的呈现时间。用于这些样本的V-PCC图集序列参数集和图集帧参数集的解码时间等于或早于点云帧的编排时间。另外,属于同一V-PCC序列的所有轨道具有相同的隐含或明确编辑列表。组件轨道中的基本流之间的同步由ISOBMGG轨道定时结构(stts、ctts和cslg)或者电影碎片中的等效机制处理。
V-PCC轨道和V-PCC组件轨道中的同步样本可能时间对齐或时间不对齐。在没有时间对齐的情况下,随机访问可涉及从不同的同步开始时间预滚动各种轨道,以允许在期望的时间开始。
在时间对齐的情况下(例如,诸如V-PCC中定义的基本工具集配置文件的V-PCC配置文件所要求的),V-PCC轨道的同步样本可被视为V-PCC内容的随机访问点,并且可通过仅参考V-PCC轨道的同步样本信息来执行随机访问。
基于该布局,V-PCC ISOBMFF容器可包含以下内容:
容器文件可包括包含V-PCC参数集、图集子比特流参数集(在样本条目中)的一个或更多个V-PCC轨道和承载图集子比特流NAL单元的样本。该轨道还包括对承载视频压缩V-PCC单元(即,单元类型VPCC_OVD、VPCC_GVD和VPCC_AVD)的有效载荷的其它轨道的轨道参考。
容器文件可包含视频方案轨道,其中样本包含占用图数据的视频编码基本流的访问单元(即,类型VPCC_OVD的V-PCC单元的有效载荷)。
容器文件可包含一个或更多个视频方案轨道,其中样本包含几何数据的视频编码基本流的访问单元(即,类型VPCC_GVD的V-PCC单元的有效载荷)。
容器文件可包含零个或更多个视频方案轨道,其中样本包含属性数据的视频编码基本流的访问单元(即,类型VPCC_AVD的V-PCC单元的有效载荷)。
V-PCC轨道
根据V-PCC系统的文件或项目(图45至图53等)可在轨道中包括以下信息。
V-PCC轨道样本条目
样本条目类型:“vpc1”、“vpcg”
容器:SampleDescriptionBox
强制:“vpc1”或“vpcg”样本条目是强制的数量:可存在一个或更多个样本条目
根据实施方式的轨道可包括称为“vpc1”、“vpcg”和“vpga”的样本条目类型。
V-PCC轨道可使用扩展样本条目类型为“vpc1”或“vpcg”的VolumetricVisualSampleEntry的VPCCSampleEntry。
VPCC轨道样本条目可包含VPCCConfigurationBox。
在“vpc1”样本条目下,所有图集序列参数集、图集帧参数集或V-PCC SEI可存在于setupUnit阵列中。
在“vpcg”样本条目下,图集序列参数集、图集帧参数集、V-PCC SEI可存在于该阵列中或流中。
可选BitRateBox可存在于VPCC体积样本条目中以用信号通知V-PCC轨道的比特率信息。
aligned(8)class VPCCSampleEntry()extends VolumetricVisualSampleEntry(‘vpc1’){
VPCCConfigurationBox config;
VPCCUnitHeaderBox unit_header;
}
V-PCC轨道样本格式
V-PCC轨道中的各个样本可对应于单个编码图集访问单元。
各种组件轨道中与该帧对应的样本可具有与V-PCC轨道样本相同的编排时间。
各个V-PCC样本可包含类型VPCC_AD的一个V-PCC单元有效载荷,其可包括一个或更多个图集NAL单元。
nalUnit可包含NAL单元样本流格式的单个图集NAL单元。
视频编码V-PCC组件轨道
由于在播放器侧不重构点云的情况下显示从属性、几何或占用图轨道解码的帧没有意义,所以可为这些视频编码轨道定义受限视频方案类型。
V-PCC组件视频轨道可作为受限视频表示在文件中,并且可由其受限视频样本条目的RestrictedSchemeInfoBox的SchemeTypeBox的scheme_type字段中的“pccv”标识。
应该注意,对用于对属性、几何和占用图V-PCC组件进行编码的视频编解码器不存在限制。这些组件可使用不同的视频编解码器来编码。
方案信息
SchemeInformationBox可存在,并且包含VPCCUnitHeaderBox。
参考V-PCC组件轨道
为了将V-PCC轨道链接到组件视频轨道,向V-PCC轨道的TrackBox内的TrackReferenceBox添加三个TrackReferenceTypeBox,每组件一个。TrackReferenceTypeBox包含指定V-PCC轨道所参考的视频轨道的track_ID阵列。TrackReferenceTypeBox的reference_type标识组件的类型(即,占用图、几何或属性或占用图)。这些轨道参考类型的4CC可如下:
“pcco”:参考轨道包含视频编码占用图V-PCC组件。
“pccg”:参考轨道包含视频编码几何V-PCC组件。
“pcca”:参考轨道包含视频编码属性V-PCC组件。
由参考受限视频轨道承载并在轨道的RestrictedSchemeInfoBox中用信号通知的V-PCC组件的类型可匹配来自V-PCC轨道的轨道参考的参考类型。
V-PCC比特流的单轨道容器
V-PCC数据的单轨道封装要求V-PCC编码基本比特流由单轨道表示。
在V-PCC编码比特流的简单ISOBMFF封装的情况下可利用PCC数据的单轨道封装。这种比特流可直接被存储为单轨道而无需进一步处理。V-PCC单元头数据结构可保持在比特流中。单轨道容器可被提供给媒体工作流以便于进一步处理(例如,多轨道文件生成、转码、DASH分段等)。
V-PCC比特流轨道
样本条目类型:“vpe1”、“vpeg”
容器:SampleDescriptionBox
强制:“vpe1”或“vpeg”样本条目是强制的数量:可存在一个或更多个样本条目
V-PCC比特流轨道使用样本条目类型为“vpe1”或“vpeg”的VolumetricVisualSampleEntry。
VPCC比特流样本条目包含VPCCConfigurationBox。
在“vpe1”样本条目下,所有图集序列参数集、图集帧参数集、SEI可存在于setupUnit阵列中。
在“vpeg”样本条目下,图集序列参数集、图集帧参数集、SEI可存在于该阵列中或流中。
aligned(8)class VPCCBitStreamSampleEntry()extendsVolumetricVisualSampleEntry(‘vpe1’){
VPCCConfigurationBox config;
}
V-PCC比特流样本格式
V-PCC比特流样本包含属于相同呈现时间的一个或更多个V-PCC单元,即,一个V-PCC访问单元。样本可以是自包含的(类似同步样本)或者根据V-PCC比特流轨道的其它样本来解码。
V-PCC比特流同步样本
V-PCC比特流同步样本满足所有以下条件:
可独立地解码。
按解码顺序在同步样本之后的样本的解码均不依赖于同步样本之前的任何样本。
按解码顺序在同步样本之后的所有样本可成功解码。
V-PCC比特流子样本
V-PCC比特流子样本是包含在V-PCC比特流样本中的V-PCC单元。
V-PCC比特流轨道应在SampleTableBox中或在各个MovieFragmentBox的TrackFragmentBox中包含SubSampleInformationBox,其列出V-PCC比特流子样本。表示子样本的V-PCC单元的32比特单元头可被复制到SubSampleInformationBox中的子样本条目的32比特codec_specific_parameters字段。各个子样本的V-PCC单元类型可通过解析SubSampleInformationBox中的子样本条目的codec_specific_parameters字段来标识。
定时元数据轨道
根据实施方式的方法/装置可在容器(文件、轨道)的定时元数据轨道中发送与随时间改变的点云数据有关的元数据。定时元数据轨道可包括包含条目信息的样本条目和包含特定信息的样本。
图47示出根据实施方式的用于封装非定时V-PCC数据的结构的概览。
图47示出当图20至图22的点云数据相关装置处理非定时点云数据时用于发送非定时V-PCC数据的结构。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可通过如图47所示封装非定时V-PCC数据来发送和接收非定时V-PCC数据。
当根据实施方式的点云数据是图像时,图1的点云视频编码器10002(或图4的编码器、图15的编码器、图18的发送装置、图20的处理器20001、图20的编码器20003、图21的处理器、图21的图像编码器21008)可对图像进行编码,并且文件/片段封装器10003(或图20的文件/片段封装器20004、图21的文件/片段封装器21009)可将图像和图像相关信息存储在如图47所示的容器(项目、V3C项目)中。发送器10004可发送该容器。
类似地,图1的接收器接收图47的容器,并且文件/片段解封装器10007(或图20的文件/片段解封装器20005、文件/片段解封装器22000)解析容器。图1的点云视频解码器10008(或图16的解码器、图17的解码器、图19的接收装置、图像解码器20006或图像解码器22002)可对包含在项目中的图像进行解码,并且将解码的图像提供给用户。
根据实施方式的图像可以是静止图像。根据实施方式的方法/装置可发送/接收关于图像的点云数据。根据实施方式的方法/装置可基于如图47所示的数据容器结构将图像存储在项目中并发送/接收它。另外,关于图像的属性信息可存储在图像性质等中。
非定时V-PCC数据作为图像项目存储在文件中。定义两个新项目类型(即,V-PCC项目和V-PCC单元项目)以用于封装非定时V-PCC数据。
定义新处理程序类型4CC代码“vpcc”并存储在MetaBox的HandlerBox中以便指示V-PCC项目、V-PCC单元项目和其它V-PCC编码内容表示信息的存在。
V-PCC项目
V-PCC项目:V-PCC项目是表示可独立解码的V-PCC访问单元的项目。定义项目类型“vpci”以标识V-PCC项目。V-PCC项目存储图集子比特流的V-PCC单元有效载荷。当PrimaryItemBox存在时,该框中的item_id被设定为指示V-PCC项目。
根据实施方式,可定义项目类型4CC代码“v3ci”以标识V3C项目。V3C项目可存储根据实施方式的图集子比特流(图30等)的V3C单元有效载荷。
另外,具有新项目类型“v3cb”的V3C项目可被添加到图47的结构以支持多个图集,并且可与可包括图集参数集数据的V3C配置性质一起构成图47的结构。
V3C拼块项目
当V3C图集数据包括多个图集拼块时,V3C拼块项目可以是用于封装图集拼块数据的项目。
根据实施方式,可定义项目类型4CC代码“v3at”以标识V3C拼块项目。V3C拼块项目可存储图集子比特流的V3C单元有效载荷的一部分。V3C拼块项目可与对应V3C拼块项目性质关联。
根据实施方式的多个图集意指存在多个图集的情况。例如,点云数据可为移动的。另外,多个图集可意指获取点云数据的相机不是静态的而是动态的。另外,当获取点云数据的相机的视口如3DOF+中移动时,可能需要多个图集来表示与移动方向对应的数据。当用户将他/她的头部移动到特定位置时,有必要改变点云数据,因此可能需要用于点云数据的多个图集。
V3C单元项目
根据图47的实施方式的v3c项目是表示V3C单元数据的项目。V3C单元项目可存储占用、几何和属性视频数据单元的V3C单元有效载荷。V3C单元项目可仅存储一个V3C访问单元相关数据。
V3C单元项目的项目类型4CC代码可根据用于对对应视频数据单元进行编码的编解码器来设定。V3C单元项目可与对应V3C单元头项目性质和编解码器特定配置项目性质关联。
当独立地显示没有意义时V3C单元项目可被标记为隐藏项目。为了指示V3C项目和V3C单元之间的关系,可定义三个项目参考时间(4CC代码“v3vo”、“v3vg”和“v3va”)。可从V3C项目到相关V3C单元项目定义项目参考。下面可描述项目参考类型的4CC代码。
“v3vo”:参考V3C单元项目包含占用视频数据单元。
参考V3C单元项目可包含占用视频数据单元。
“v3vg”:参考V3C单元项目包含几何视频数据单元。
参考V3C单元项目可包含几何视频数据单元。
“v3va”:参考V3C单元项目包含属性视频数据单元。
参考V3C单元项目可包含属性视频数据单元。
V3c配置项目性质
框类型:“v3cp”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“v3ci”的V3C项目,是
数量(每项目):对于类型“v3ci”的V3C项目,一个或更多个
V3C参数集可被存储为描述性项目性质,并且可与V3C项目关联。根据实施方式,可仅允许一个V3C参数集存储在V3C配置项目性质中。
根据实施方式的性质可被定义为包括对应项目的附加描述的信息的容器。
对于V3CP项目性质,Essential可被设定为1。V-PCC参数集可被存储为描述性项目性质,并且可与V-PCC项目关联。
为了支持多个图集,V3C_AD可被添加到v3c_unit_paylad()的V3C单元类型,其旨在包含图集参数集信息和/或SEI信息。v3c_unit_payload()可包含根据图集数据的NAL单元类型的图集参数数据。即,可如下向v3c_unit_payload_struct()添加数据结构。
v3c_unit_type可根据使用指示V3C_AD或V3C_VPS。
当v3c_unit_type是V3C_AD时,num_of_setup_units可指示所包含的图集参数数据的数量。
NAL_unit_type可指示图集NAL单元的非ACL NAL单元的类型。
num_of_v3c_unit_items可指示与图集数据关联的V3C单元项目的数量。
entry_v3c_unit_item是可具有真(1)或假(0)的值的标志。当设定为真(1)时,其可指示项目是条目V3C单元项目。一个或更多个V3C单元项目可具有值真(1)。
v3c_unit_item_type可指示V3C单元项目的类型,即,占用(0)、几何(1)或属性(2)。
reference_v3c_unit_item_id可指示V3C单元项目的id值。
v3c_unit_payload_size指定v3c_unit_payload()的大小(字节)。
v3c_unit_payload()可以是ISO/IEC 23090-5[V3C]中定义的类型V3C_VPS的V3C单元。
V3C单元头项目性质
框类型:“vunt”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“v3ci”的V3C项目并且对于V3C单元项目,是
数量(每项目):一个
V3C单元头可被存储为描述性项目性质,并且可与V3C项目和V3C单元项目关联。
对于“vunt”项目性质,essential可被设定为1。
aligned(8)class V3CUnitHeaderProperty()extends ItemFullProperty(‘vunt’,version=0,0){
v3c_unit_header();
}
V3C拼块项目性质
框类型:“v3tp”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“v3at”的V3C拼块项目,是
数量(每项目):对于类型“v3at”的V3C拼块项目,一个或更多个
V3C图集拼块信息可被存储为描述性项目性质,并且可与类型“v3at”的V3C拼块项目关联。
对于“v3tp”项目性质,essential可被设定为1。
aligned(8)class V3CTileItemProperty()extends ItemFullProperty(‘v3tp’,version=0,0){
unsigned int(16)num_atlas_tiles;
for(i=0;i<num_atlas_tiles;i++){
unsigned int(16)atlas_tile_id;
}
}
num_atlas_tiles指示包含在相关V3C项目中的拼块的数量。
atlas_tile_id指示存在于相关V3C项目中的拼块的拼块地址。
V3C拼块区域信息项目性质
框类型:“v3rp”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“v3at”的V3C拼块项目,是
数量(每项目):对于类型“v3at”的V3C拼块项目,一个或更多个
V3C图集拼块区域信息可被存储为描述性项目性质,并且可与类型“v3at”的V3C拼块项目关联。V3C图集拼块区域信息可用于接收器以支持对V3C内容的部分访问。
对于“v3tp”项目性质,essential可被设定为1。
num_regions指示体积媒体中的3D空间区域的数量。
num_atlas_tiles指示与3D空间区域有关的图集拼块的数量。
atlas_tile_id是与3D空间区域有关的图集拼块的标识符。
num_objects指示与3D空间区域关联的对象的总数。
obj_idx_length是对象索引的长度(字节数)。
soi_object_idx指示由场景对象信息SEI消息定义的各个对象索引的值。
3d_region_id是3D空间区域的标识符。
x、y和z分别指定3D点在笛卡尔坐标系中的x、y和z坐标值。
cuboid_x、cuboid_y和cuboid_dz分别指示立方体子区域在笛卡尔坐标中相对于锚点沿着x、y和z轴的尺寸。
锚是笛卡尔坐标系中用作3D空间区域的锚的3D点。
dimensions_included_flag是指示是否用信号通知3D空间区域的尺寸的标志。
在根据实施方式的点云数据发送方法/装置中,点云数据可由根据实施方式的编码器等编码。图1的文件/片段封装器10003、图20的文件/片段封装器20004、图21的文件/片段封装器21009、图23的XR装置1230等可将点云数据封装为如图45至图53所示的数据结构并且发送数据。
在根据实施方式的点云数据接收方法/装置中,可接收点云数据。包括在图45至图53中的点云数据可由图1的文件/片段解封装器10007、图20的文件/片段解封装器20005、图21的文件/片段解封装器22000、图23的XR装置1230等解封装,并且可由根据实施方式的解码器解码。
以下,将描述根据实施方式的V3C项目结构。
图48示出根据实施方式的V3C项目的结构。
图48示出用于承载具有多个图集拼块的单个图集的格式。
根据实施方式的方法/装置可将包含根据实施方式的与图集拼块有关的信息的V3C拼块项目添加到文件格式。
图48的V3C项目可使用参考类型“v3ct”参考来自V3C项目的相关V3C拼块项目。
根据实施方式的用于接收点云数据的方法/装置可接收如图48所示的项目,对点云数据(几何、属性、占用及其参数信息)和拼块项目(几何、属性、占用及其参数信息)进行解码以有效地渲染多个点云数据。
图49示出根据实施方式的V3C项目。
图49示出在如图48所示的V3C项目结构中提供关系的示例。根据实施方式的点云数据方法/装置可使用参考类型“vbas”指示从V3C拼块项目到V3C项目的关系。
图50至图51示出根据实施方式的V3C项目。
根据实施方式的方法/装置可提供具有多个图集拼块的多个图集,如图50所示。
具有多个图集拼块的多个图集
参照图50,图集数据可分别被封装为多个V3C项目,并且可生成具有V3C项目的公共图集参数集信息的项目类型“v3cb”的V3C项目,并且可使用参考类型“v3cm”来参考项目类型“v3ci”的V3C项目。可如图49所示建立V3C项目和V3C拼块项目之间的关系。
图52至图53示出根据实施方式的V3C项目。
根据实施方式的方法/装置可使用参考类型“vbas”指示从V3C拼块项目到V3C项目的关系,并且可使用参考类型“v3bs”指示与多个图集数据对应的V3C项目之间的关系。
根据图48至图53,实施方式的点云数据接收方法/装置可基于单个图集和/或多个图集对多个图集拼块进行解码。
将参照图48至图53描述细节。
根据实施方式,V-PCC比特流或点云数据可仅包含具有多个图集拼块的一个图集。
根据实施方式的图集拼块可基于拼块ID包含关于拼块的图集相关数据。例如,其可包含关于补片模式、补片数据等的信息。
根据实施方式的拼块可意指图集帧的区域。可为各个拼块配置编码/解码单元。
根据实施方式的图集帧可以是拼块集合。
根据实施方式的与拼块对应的图集比特流可承载在图集拼块轨道中。
根据实施方式,非定时VC3内容可存储在文件中。可为非定时V3C内容封装V3C图集项目、V3C图集拼块项目、V3C组件项目等。
根据实施方式的方法/装置可将非定时V3C数据封装在具有单个图集拼块的单个图集中。
根据实施方式的方法/装置可将非定时V3C数据封装在具有多个图集拼块的单个图集中(参见图48和图49等)。
根据实施方式的方法/装置可将非定时V3C数据封装在具有多个图集拼块的多个图集中(参见图50和图51等)。
参照图48,非定时数据可由单个图集组成。单个图集可具有多个图集拼块,并且可基于V3C拼块项目发送关于多个图集拼块的信息。单个图集拼块的拼块项目可通过承载组件数据(例如,几何、属性、占用)和参考信息的项目来参考,并且可包含关于拼块区域、拼块性质等的性质信息。组件的项目还可包含描述关于组件的信息的配置项目性质。
根据实施方式的点云数据接收装置可解析图48所示的结构以通过多个拼块的图集重构点云数据。
图49示出根据实施方式的拼块项目如何参考根据实施方式的项目。根据实施方式的项目指示包括多个拼块项目的公共信息的项目结构。
根据实施方式的点云数据接收装置可在接收拼块项目时基于参考信息获取相关项目。
参照图50和图51,根据实施方式的点云数据发送装置可发送多个图集。根据实施方式的点云数据接收装置可对多个图集进行解码以访问和提供各种点云数据。
根据实施方式的项目可承载非定时点云数据。项目可包括指示公共信息的性质。
项目可基于参考信息参考多个项目。
项目可包括包含公共信息的性质,并且可基于参考信息来参考与图集拼块有关的拼块项目。其可基于参考信息来参考关于图集拼块的信息和关于图集拼块的组件(几何、属性、占用)信息。
根据实施方式的拼块项目可基于参考信息连接到项目,并且项目可基于参考信息连接到公共项目。
根据实施方式的点云数据接收装置可获取具有多个图集拼块的多个图集,基于参考信息访问期望的图集,并且重构点云数据。
根据实施方式的指示参考信息、项目类型等的值不限于图中所示的值,各种值可用于指示目标对象。
将描述表示根据实施方式的文件/片段封装器10003、20004或21009的文件格式传输信令操作的流程图。文件/片段封装器可如下创建文件格式以发送图集数据。
1)文件封装器接收由根据实施方式的点云编码器生成的V3C比特流(图24、图25和图30)。
2)可解析包含在V3C比特流中的图集信息(图30和图33至图44)。
3)可识别图集数量、图集id、图集拼块数量和图集拼块id信息。
4)可配置适合于各个图集数据和图集拼块的项目类型的V3C拼块项目和V3C项目(图47)。
5)通过从输入比特流解析图集参数集和V3C单元头,可分别配置V3C配置项目性质和V3C单元头项目性质(图48至图53)。
6)通过在各个V3C项目和V3C拼块项目之间配置参考信息,可生成.heif文件等形式的封装输出文件(图48至图53)。
根据实施方式的方法/装置可传送封装的文件。
将描述表示根据实施方式的文件/片段解封装器10007、20005或22000的文件格式接收信令操作的流程图。文件/片段解封装器可如下处理文件格式以接收图集数据。
1)文件解封装器按照以V3C文件格式封装的.heif文件形式接收封装的文件(图45至图47)。
2)接收装置可根据各个项目类型解析V3C项目和/或V3C拼块项目(图47)。
3)当存在项目类型为“v3cb”的V3C项目时,接收器可确定项目包含多个图集数据(图50和图51)。
4)当不存在类型“v3cb”的V3C项目时,接收器可确定包含单个图集数据(图48和图49)。
5)可解析包括在各个V3C项目中的V3C配置项目性质和/或V3C单元头项目性质。
6)可获得作为上面步骤5)中解析的结果的V3C参数集信息和V3C单元头信息。
7)可确定是否存在各个V3C项目所参考的V3C拼块项目。
另选地,可从V3C拼块项目识别具有与参考类型“vbas”关联的item_id的V3C项目。
8)当存在各个V3C项目所参考的V3C拼块项目时,可基于所包含的V3C拼块性质信息来获得诸如图集拼块数量和拼块id的信息。
9)当包含多个图集数据(即,多个V3C项目)时,可识别是否存在各个V3C项目所参考的V3C项目。
另选地,可从V3C项目确定具有与参考类型“v3cm”关联的item_id的V3C项目。
10)通过上述操作,可获得用于配置非定时V3C比特流的V3C配置信息、V3C参数集信息和V3C单元头信息。
图54示出根据实施方式的发送点云数据的方法。
5200:根据实施方式的用于发送点云数据的方法可包括对点云数据进行编码。根据实施方式,编码可包括图1的点云视频编码器10002、图4的编码、图15的编码器、图18的发送装置、图20的视频/图像编码器20002和20003、图21的视频/图像编码器21007和21008等的操作。
5201:根据实施方式的发送点云数据的方法还可包括基于文件来封装包含点云数据的比特流。根据实施方式,封装可包括图1的文件/片段封装器10003、图20的文件/片段封装器20004、图21的文件/片段封装器21009等的操作。
5202:根据实施方式的发送点云数据的方法还可包括发送点云数据。根据实施方式,发送可包括图1的发送器10004等的操作。
图55示出根据实施方式的接收点云数据的方法。
5300:根据实施方式的接收点云数据的方法可包括接收包含点云数据的比特流。根据实施方式,接收可包括图1的接收器10006等的操作。
5301:根据实施方式的接收点云数据的方法还可包括基于文件将点云数据解封装。根据实施方式,解封装可包括图1的文件/片段解封装器10007、图20的文件/片段解封装器20005、图22的文件/片段解封装器22000等的操作。
5302:根据实施方式的接收点云数据的方法还可包括对点云数据进行解码。根据实施方式,解码可包括图1的点云视频解码器10008、图16的解码、图17的解码器、图19的接收装置、图20的视频/图像解码器20006和图22的视频/图像解码器22001和22002等的操作。
根据实施方式的发送点云数据的方法可包括:对点云数据进行编码;基于文件来封装点云数据;以及发送点云数据。
点云数据可包括非定时点云数据。当非定时点云数据包括多个图集时,可基于文件中的一个或更多个图集项目来封装多个图集。
根据实施方式,文件还可包括图集拼块项目。图集项目和图集拼块项目可基于参考信息来参考。
根据实施方式,文件还可包括拼块性质信息。拼块性质信息可包括指示图集拼块项目中的拼块数量的信息以及拼块的标识符的信息。
当非定时点云数据包括单个图集时,可基于文件中的一个或更多个图集项目来封装单个图集。
根据实施方式的用于接收点云数据的设备可包括:接收器,其被配置为接收点云数据;解封装器,其被配置为基于文件将点云数据解封装;以及解码器,其被配置为对点云数据进行解码。
当非定时点云数据包括单个图集时,这单个图集可基于文件中的一个或更多个图集项目来解封装。
当点云数据(例如,图像类型数据),即,非定时V3C数据(静态图像)由多个图集和/或多个图集拼块组成时,根据实施方式的方法/装置可通过定义用于文件封装的有效文件格式结构和文件格式信令来有效地支持对V3C图像数据的部分访问以及其它操作。
在根据实施方式的方法/装置中,被配置为提供点云内容服务的发送器或接收器可如上所述配置V-PCC比特流并存储文件。
根据实施方式的方法/装置可有效地复用VV-PCC比特流,并且支持基于V-PCC单元对比特流的有效访问。这些方法/装置还可允许V-PCC比特流的图集流被有效地存储在文件中的轨道上并被发送。
因此,根据实施方式的发送装置(或文件封装器)可按照有效的文件格式生成并发送包含多个图集和/或多个图集拼块的非定时V3C数据。因此,根据实施方式的接收装置(或文件解封装器)可基于部分访问向用户提供V3C图像数据。
换言之,上述数据表示方案可允许对点云比特流的有效访问。另外,可有效地访问点云比特流的数据处理和渲染所需的信息。
根据实施方式的发送装置可将V-PCC比特流划分并存储到文件中的一个或更多个轨道中,并且可在文件中生成相关参数信息作为信令信息。其可生成用于指示包括作为参数信息存储在诸如文件的容器结构中的V-PCC比特流的多个轨道之间的关系的信令信息。点云比特流中的文件可通过存储在文件中的替代V-PCC轨道的指示来有效地存储和发送。
已在方法和/或装置方面描述了实施方式。方法的描述和装置的描述可相互补充。
尽管为了简单参照各个附图描述了实施方式,但是可通过将附图所示的实施方式合并来设计新的实施方式。如果本领域技术人员设计了记录有用于执行以上描述中提及的实施方式的程序的计算机可读记录介质,则其可落在所附权利要求及其等同物的范围内。装置和方法可不限于上述实施方式的配置和方法。上述实施方式可通过选择性地彼此完全或部分地组合来配置,以实现各种修改。尽管参照附图描述了优选实施方式,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对实施方式进行各种修改和变化。这些修改不应从实施方式的技术思想或观点方面单独地理解。
实施方式的装置的各种元件可由硬件、软件、固件或其组合实现。实施方式中的各种元件可由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施方式的任一个或更多个操作/方法,或者包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可被存储在被配置为由一个或更多个处理器执行的非暂时性CRM或其它计算机程序产品中,或者可被存储在被配置为由一个或更多个处理器执行的暂时性CRM或其它计算机程序产品中。另外,根据实施方式的存储器可用作不仅涵盖易失性存储器(例如,RAM),而且涵盖非易失性存储器、闪存和PROM的概念。另外,其还可按照载波的形式实现(例如,经由互联网的传输)。另外,处理器可读记录介质可分布到经由网络连接的计算机系统,使得处理器可读代码可按照分布式方式存储和执行。
在本文献中,术语“/”和“、”应该被解释为指示“和/或”。例如,表达“A/B”可意指“A和/或B”。此外,“A、B”可意指“A和/或B”。此外,“A/B/C”可意指“A、B和/或C中的至少一个”。另外,“A、B、C”也可意指“A、B和/或C中的至少一个”。此外,在本文献中,术语“或”应该被解释为“和/或”。例如,表达“A或B”可意指1)仅A、2)仅B和/或3)A和B二者。换言之,在本文献中术语“或”应该被解释为“另外地或另选地”。
诸如第一和第二的术语可用于描述实施方式的各种元件。然而,根据实施方式的各种组件不应受上述术语限制。这些术语仅用于将一个元件与另一元件相区分。例如,第一用户输入信号可被称为第二用户输入信号。类似地,第二用户输入信号可被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号均是用户输入信号,但除非上文清楚地另外规定,否则并不意味着相同的用户输入信号。
用于描述实施方式的术语仅用于描述特定实施方式的目的,并非旨在限制实施方式。如在实施方式的描述和权利要求中使用的,除非上文清楚地另外规定,否则单数形式包括复数指称物。表达“和/或”用于包括术语的所有可能组合。诸如“包括”或“具有”的术语旨在指示存在图形、数量、步骤、元件和/或组件,应该被理解为不排除存在附加图形、数量、步骤、元件和/或组件的可能性。如本文所使用的,诸如“如果”和“当”的条件表达不限于可选情况,旨在被解释为当满足特定条件时执行相关操作或根据该特定条件解释相关定义。
根据本说明书中描述的实施方式的操作可由根据实施方式的包括存储器和/或处理器的发送/接收装置执行。存储器可存储用于处理/控制根据实施方式的操作的程序,并且处理器可控制本说明书中描述的各种操作。处理器可被称为控制器等。在实施方式中,操作可由固件、软件和/或其组合执行。固件、软件和/或其组合可被存储在处理器或存储器中。
根据上述实施方式的操作可由根据实施方式的发送装置和/或接收装置执行。发送/接收装置可包括:发送器/接收器,其被配置为发送和接收媒体数据;存储器,其被配置为存储用于根据实施方式的处理的指令(程序代码、算法、流程图和/或数据);以及处理器,其被配置为控制发送/接收装置的操作。
处理器可被称为控制器等,并且可对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可由处理器执行。另外,处理器可被实现为用于上述实施方式的操作的编码器/解码器。
本公开的模式
如上所述,在用于执行实施方式的最佳模式下描述了相关细节。
工业实用性
如上所述,实施方式完全或部分地适用于点云数据发送/接收装置和系统。
本领域技术人员可在实施方式的范围内以各种方式改变或修改实施方式。
实施方式可包括权利要求及其等同物的范围内的变化/修改。
Claims (20)
1.一种用于发送点云数据的方法,该方法包括以下步骤:
对点云数据进行编码;
基于文件来封装所述点云数据;以及
发送所述点云数据。
2.根据权利要求1所述的方法,
其中,所述点云数据包括非定时点云数据,并且当所述非定时点云数据包括多个图集时,所述多个图集是基于所述文件中的一个或更多个图集项目来封装的。
3.根据权利要求1所述的方法,
其中,所述文件还包括图集拼块项目,并且图集项目和所述图集拼块项目是基于参考信息来参考的。
4.根据权利要求3所述的方法,
其中,所述文件还包括拼块性质信息,该拼块性质信息包括针对所述图集拼块项目中的拼块的数量的信息以及针对所述拼块的标识符的信息。
5.根据权利要求2所述的方法,
其中,当所述非定时点云数据包括单个图集时,该单个图集是基于所述文件中的一个或更多个图集项目来封装的。
6.一种用于发送点云数据的设备,该设备包括:
编码器,该编码器被配置为对点云数据进行编码;
封装器,该封装器被配置为基于文件来封装所述点云数据;以及
发送器,该发送器被配置为发送所述点云数据。
7.根据权利要求6所述的设备,
其中,所述点云数据包括非定时点云数据,并且当所述非定时点云数据包括多个图集时,所述多个图集是基于所述文件中的一个或更多个图集项目来封装的。
8.根据权利要求6所述的设备,
其中,所述文件还包括图集拼块项目,并且图集项目和所述图集拼块项目是基于参考信息来参考的。
9.根据权利要求8所述的设备,
其中,所述文件还包括拼块性质信息,该拼块性质信息包括针对所述图集拼块项目中的拼块的数量的信息以及针对所述拼块的标识符的信息。
10.根据权利要求5所述的设备,
其中,当非定时点云数据包括单个图集时,该单个图集是基于所述文件中的一个或更多个图集项目来封装的。
11.一种用于接收点云数据的方法,该方法包括以下步骤:
接收点云数据;
基于文件将所述点云数据解封装;以及
对所述点云数据进行解码。
12.根据权利要求11所述的方法,
其中,所述点云数据包括非定时点云数据,并且当所述非定时点云数据包括多个图集时,所述多个图集是基于所述文件中的一个或更多个图集项目来封装的。
13.根据权利要求11所述的方法,
其中,所述文件还包括图集拼块项目,并且图集项目和所述图集拼块项目是基于参考信息来参考的。
14.根据权利要求13所述的方法,
其中,所述文件还包括拼块性质信息,该拼块性质信息包括针对所述图集拼块项目中的拼块的数量的信息以及针对所述拼块的标识符的信息。
15.根据权利要求12所述的方法,
其中,当所述非定时点云数据包括单个图集时,该单个图集是基于所述文件中的一个或更多个图集项目来封装的。
16.一种用于接收点云数据的设备,该设备包括:
接收器,该接收器被配置为接收点云数据;
解封装器,该解封装器被配置为基于文件将所述点云数据解封装;以及
解码器,该解码器被配置为对所述点云数据进行解码。
17.根据权利要求16所述的设备,
其中,所述点云数据包括非定时点云数据,并且当所述非定时点云数据包括多个图集时,所述多个图集是基于所述文件中的一个或更多个图集项目来封装的。
18.根据权利要求16所述的设备,
其中,所述文件还包括图集拼块项目,并且图集项目和所述图集拼块项目是基于参考信息来参考的。
19.根据权利要求18所述的设备,
其中,所述文件还包括拼块性质信息,该拼块性质信息包括针对所述图集拼块项目中的拼块的数量的信息以及针对所述拼块的标识符的信息。
20.根据权利要求17所述的设备,
其中,当所述非定时点云数据包括单个图集时,该单个图集是基于所述文件中的一个或更多个图集项目来封装的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0076489 | 2020-06-23 | ||
KR20200076489 | 2020-06-23 | ||
PCT/KR2021/007848 WO2021261897A1 (ko) | 2020-06-23 | 2021-06-23 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115804096A true CN115804096A (zh) | 2023-03-14 |
Family
ID=79022410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180044597.8A Pending CN115804096A (zh) | 2020-06-23 | 2021-06-23 | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11908168B2 (zh) |
EP (1) | EP4171040A4 (zh) |
CN (1) | CN115804096A (zh) |
WO (1) | WO2021261897A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220098788A (ko) * | 2019-11-15 | 2022-07-12 | 엘지전자 주식회사 | 컨테이너 기반의 차량 시스템에서 심리스 컨테이너 업데이트 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10186024B2 (en) * | 2015-12-29 | 2019-01-22 | Texas Instruments Incorporated | Method and system for real time structure from motion in a computer vision system |
US10909725B2 (en) | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
CN111201549B (zh) * | 2017-10-16 | 2024-04-09 | 索尼公司 | 信息处理装置和信息处理方法 |
EP3474562A1 (en) * | 2017-10-20 | 2019-04-24 | Thomson Licensing | Method, apparatus and stream for volumetric video format |
WO2019243663A1 (en) * | 2018-06-21 | 2019-12-26 | Nokia Technologies Oy | An apparatus, a method and a computer program for volumetric video |
WO2021140276A1 (en) * | 2020-01-10 | 2021-07-15 | Nokia Technologies Oy | Storage of multiple atlases from one v-pcc elementary stream in isobmff |
-
2021
- 2021-06-23 US US17/355,750 patent/US11908168B2/en active Active
- 2021-06-23 CN CN202180044597.8A patent/CN115804096A/zh active Pending
- 2021-06-23 WO PCT/KR2021/007848 patent/WO2021261897A1/ko unknown
- 2021-06-23 EP EP21829773.7A patent/EP4171040A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11908168B2 (en) | 2024-02-20 |
US20210398323A1 (en) | 2021-12-23 |
WO2021261897A1 (ko) | 2021-12-30 |
EP4171040A1 (en) | 2023-04-26 |
EP4171040A4 (en) | 2024-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11170556B2 (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 | |
US11017591B2 (en) | Point cloud data transmitting apparatus, point cloud transmitting method, point cloud data receiving apparatus, and point cloud receiving method | |
US20210295567A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114930813B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN115443652B (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 | |
CN114930863A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US11544877B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN115398890B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US20210409767A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US11601634B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114946179B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US11908168B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN115380528B (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 | |
CN115428442B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US12021910B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |