首页> 中国专利> 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法

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

摘要

根据实施方式的点云数据发送方法能够包括以下步骤:对点云数据进行编码;以及发送点云数据。根据实施方式的点云数据接收方法能够包括以下步骤:接收点云数据;对点云数据进行解码;以及渲染点云数据。

著录项

  • 公开/公告号CN114946179A

    专利类型发明专利

  • 公开/公告日2022-08-26

    原文格式PDF

  • 申请/专利权人 LG电子株式会社;

    申请/专利号CN202080092365.5

  • 发明设计人 吴世珍;

    申请日2020-12-11

  • 分类号H04N13/161(2006.01);H04N13/194(2006.01);H04N13/178(2006.01);H04N21/81(2006.01);H04N21/236(2006.01);H04N21/434(2006.01);

  • 代理机构北京三友知识产权代理有限公司 11127;北京三友知识产权代理有限公司 11127;

  • 代理人王万影;党晓林

  • 地址 韩国首尔

  • 入库时间 2023-06-19 16:31:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-13

    实质审查的生效 IPC(主分类):H04N13/161 专利申请号:2020800923655 申请日:20201211

    实质审查的生效

说明书

技术领域

本公开提供了一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自动驾驶服务的各种服务的方法。

背景技术

点云是三维(3D)空间中的点集合。因为3D空间中的点的数量大,所以难以生成点云数据。

需要大吞吐量以发送和接收点云的数据。

发明内容

技术问题

本公开的目的在于提供一种用于高效地发送和接收点云的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。

本公开的另一目的在于提供一种用于解决等待时间和编码/解码复杂度的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。

实施方式不限于上述目的,实施方式的范围可以扩展到本领域技术人员基于本公开的全部内容能够推断出的其它目的。

技术方案

为了实现这些目的和其它优点并且根据本公开的目的,如本文所体现和广泛描述的,发送点云数据的方法可以包括对点云数据进行编码、封装点云数据和/或发送点云数据。

此外,根据实施方式,发送步骤可以包括发送关于点云数据的元数据。

元数据可以包含针对点云数据的体积数据的信息。此外,用于渲染体积数据的信息可以包括用于渲染体积数据的位置相关信息和/或应用于体积数据的方向相关信息。

此外,根据实施方式,元数据可以包含关于点云数据的点的样式的信息,其中,关于点的样式的信息可以包括指示点的形状的信息和/或指示点的大小的信息。

此外,根据实施方式,元数据可以包含相机信息。相机信息可以包括指示相机的位置的信息、指示相机的取向的信息、指示视锥体的水平FOV(视野)的信息和/或指示视锥体的垂直FOV的信息。

在本公开的另一方面,一种发送点云数据的设备可以包括被配置为执行根据实施方式的发送点云数据的方法的一个或更多个组件。

在本公开的另一方面,一种接收点云数据的方法可以包括以下步骤:接收点云数据;对点云数据进行解封装;和/或对点云数据进行解码。根据实施方式,接收步骤可以包括接收关于点云数据的元数据,并且解码步骤可以包括重构点云数据。

此外,元数据可以包含针对点云数据中的体积数据的信息,其中,重构步骤可以包括基于针对体积数据的信息对体积数据进行重构。

另外,针对体积数据的信息可以包括用于重构体积数据的位置相关信息和/或应用于体积数据的方向相关信息。

此外,根据实施方式,元数据可以包括关于点云数据的点的样式的信息,其中,关于点的样式的信息可以包括指示点的形状的信息和/或指示点的大小的信息。

此外,根据实施方式,元数据可以包含相机信息。相机信息可以包括指示相机的位置的信息、指示相机的取向的信息、指示视锥体的水平视野(FOV)的信息和/或指示视锥体的垂直FOV的信息。

在本公开的另一方面,一种接收点云数据的设备可以包括被配置为执行根据实施方式的接收点云数据的方法的一个或更多个组件。

有利效果

根据实施方式的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以提供高质量的点云服务。

根据实施方式的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以实现各种视频编解码方法。

根据实施方式的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以提供通用点云内容,诸如自动驾驶服务。

接收设备可以根据用户视口高效地访问和处理点云比特流。

根据实施方式的发送设备可以允许播放器等根据用户视口执行对点云对象和/或点云内容的空间或部分访问。根据实施方式,发送设备可以提供上述视图信息,并且接收设备可以基于视图信息执行渲染。因此,接收设备可以根据用户视口自适应地且高效地访问和处理点云比特流。

附图说明

被包括以提供本公开的进一步理解并且被并入本申请中并构成本申请的一部分的附图例示了本公开的实施方式并与说明书一起用于解释本公开的原理。在附图中:

图1示出根据实施方式的用于提供点云内容的发送/接收系统的示例性结构;

图2示出根据实施方式的点云数据的捕获;

图3示出根据实施方式的示例性点云、几何和纹理图像;

图4示出根据实施方式的示例性V-PCC编码处理;

图5示出根据实施方式的表面的切平面和法向量的示例;

图6示出根据实施方式的点云的示例性边界框;

图7示出根据实施方式的占用图上的各个补片位置的确定的示例;

图8示出根据实施方式的法向轴、切向轴和双切轴之间的示例性关系;

图9示出根据实施方式的投影模式的最小模式和最大模式的示例性配置;

图10示出根据实施方式的示例性EDD码;

图11示出根据实施方式的基于邻近点的颜色值重新着色的示例;

图12示出根据实施方式的推拉式背景填充(push-pull background filling)的示例;

图13示出根据实施方式的4*4块的示例性可能遍历顺序;

图14示出根据实施方式的示例性最佳遍历顺序;

图15示出根据实施方式的示例性2D视频/图像编码器;

图16示出根据实施方式的示例性V-PCC解码处理;

图17示出根据实施方式的示例性2D视频/图像解码器;

图18是示出根据本公开的实施方式的发送装置的操作的流程图;

图19是示出根据实施方式的接收装置的操作的流程图;

图20示出根据实施方式的用于点云数据的基于V-PCC的存储和流传输的示例性架构;

图21是根据实施方式的用于存储和发送点云数据的装置的示例性框图;

图22是根据实施方式的点云数据接收装置的示例性框图;

图23示出根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构;

图24示出根据实施方式的多轨道V-PCC比特流;

图25示出根据实施方式的V-PCC比特流的示例;

图26示出根据实施方式的V-PCC单元头和/或V-PCC单元有效载荷的语法示例;

图27示出根据实施方式的阿特拉斯子流的示例;

图28示出根据实施方式的ISOBMFF文件格式的点云数据;

图29示出根据实施方式的V-PCC样本条目;

图30示出根据实施方式的用于重构或渲染点云数据的参数的作用;

图31示出根据实施方式的用于重构或渲染点云数据的参数的语法示例;

图32示出根据实施方式的用于重构或渲染点云数据的参数的语法示例;

图33示出根据实施方式的用于重构或渲染点云数据的参数的作用;

图34示出根据实施方式的用于重构或渲染点云数据的对象的参数的语法示例;

图35示出根据实施方式的封装点云数据和关于点云数据的元数据的操作的示例;

图36示出根据实施方式的点云数据发送方法和/或用于发送点云数据的数据处理方法;以及

图37示出根据实施方式的点云数据接收方法和/或用于接收点云数据的数据处理方法。

具体实施方式

现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参考附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可以根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可以在没有这些具体细节的情况下实践。

尽管本公开中使用的大多数术语选自本领域中广泛使用的通用术语,但是一些术语由申请人任意选择并且在以下描述中根据需要详细说明其含义。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。

图1示出根据实施方式的用于提供点云内容的发送/接收系统的示例性结构。

本公开提供一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自动驾驶的各种服务的方法。根据实施方式的点云数据表示将对象表示为点的数据,并且可以被称作点云、点云数据、点云视频数据、点云图像数据等。

根据实施方式的点云数据发送装置10000可以包括点云视频获取器10001、点云视频编码器10002、文件/片段封装模块10003和/或发送器(或通信模块)10004。根据实施方式的发送装置可以取得和处理点云视频(或点云内容)并将其发送。根据实施方式,发送装置可以包括固定站、基站收发器系统(BTS)、网络、人工智能(AI)装置和/或系统、机器人、以及AR/VR/XR装置和/或服务器。根据实施方式,发送装置10000可以包括被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信的装置机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器。

根据实施方式的点云视频获取器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。根据实施方式,接收装置可以包括被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信的装置机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器。

根据实施方式的接收器10006接收包含点云视频数据的比特流。根据实施方式,接收器10006可以向点云数据发送装置10000发送反馈信息。

文件/片段解封装模块10007将包含点云数据的文件和/或片段解封装。根据实施方式的解封装模块可以执行根据实施方式的封装处理的相反处理。

点云视频解码器10007对接收到的点云视频数据进行解码。根据实施方式的解码器可以执行根据实施方式的编码的相反处理。

渲染器10009渲染解码的点云视频数据。根据实施方式,渲染器10009可以将在接收侧获得的反馈信息发送给点云视频解码器10008。根据实施方式的点云视频数据可以将反馈信息载送到接收器。根据实施方式,点云发送装置所接收的反馈信息可以被提供给点云视频编码器。

图中由虚线指示的箭头表示接收装置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)(或斯坦福三角形格式)文件。对于具有多个帧的视频,可以获取一个或更多个文件。在捕获处理期间,可以生成点云相关元数据(例如,捕获相关元数据)。

根据实施方式的点云数据发送装置可以包括被配置为对点云数据进行编码的编码器以及被配置为发送点云数据的发送器。数据可以以包含点云的比特流的形式发送。

根据实施方式的点云数据接收装置可以包括被配置为接收点云数据的接收器、被配置为对点云数据进行解码的解码器以及被配置为渲染点云数据的渲染器。

根据实施方式的方法/装置表示点云数据发送装置和/或点云数据接收装置。

图2示出根据实施方式的点云数据的捕获。

根据实施方式的点云数据可以通过相机等来获取。根据实施方式的捕获技术可以包括例如面向内和/或面向外。

在根据实施方式的面向内中,向内面向点云数据的对象的一个或更多个相机可以从对象外部拍摄对象。

在根据实施方式的面向外中,向外面向点云数据的对象的一个或更多个相机可以拍摄对象。例如,根据实施方式,可以存在四个相机。

根据实施方式的点云数据或点云内容可以是在各种类型的3D空间中表示的对象/环境的视频或静止图像。根据实施方式,点云内容可以包括对象的视频/音频/图像。

针对点云内容的捕获,可以配置能够获取深度的相机设备(红外图案投影仪和红外相机的组合)和能够提取与深度信息对应的颜色信息的RGB相机的组合。另选地,可以通过使用雷达系统的LiDAR来提取深度信息,该雷达系统通过发射激光脉冲并测量返回时间来测量反射器的位置坐标。可以从深度信息提取由3D空间中的点组成的几何形状,并且可以从RGB信息提取表示各个点的颜色/反射率的属性。点云内容可以包括关于位置(x,y,z)和点的颜色(YCbCr或RGB)或反射率(r)的信息。对于点云内容,可以使用捕获外部环境的面向外技术和捕获中心对象的面向内技术。在VR/AR环境中,当对象(例如,诸如角色、玩家、事物或演员的核心对象)被配置到用户可以在任何方向(360度)观看的点云内容中时,捕获相机的配置可以基于面向内技术。当在诸如自动驾驶的车辆模式下当前周围环境被配置到点云内容中时,捕获相机的配置可以基于面向外技术。由于可以通过多个相机捕获点云内容,所以可以能需要在捕获内容之前执行相机校准处理以为相机配置全局坐标系。

点云内容可以是存在于各种类型的3D空间中的对象/环境的视频或静止图像。

另外,在点云内容获取方法中,可以基于捕获的点云视频编排任何点云视频。另选地,当要提供计算机生成的虚拟空间的点云视频时,可以能不执行利用实际相机的捕获。在这种情况下,捕获处理可以简单地由生成相关数据的处理代替。

可以能需要对捕获的点云视频进行后处理以改进内容的质量。在视频捕获处理中,可以在相机设备所提供的范围内调节最大/最小深度。即使在调节之后,仍可以能存在不想要的区域的点数据。因此,可以执行去除不想要的区域(例如,背景)或识别连接的空间并填充空间孔洞的后处理。另外,从共享空间坐标系的相机提取的点云可以通过基于通过校准处理获取的各个相机的位置坐标将各个点变换到全局坐标系中的处理而被整合为一条内容。由此,可以生成具有宽范围的一条点云内容,或者可以获取具有高密度点的点云内容。

点云视频编码器可以将输入点云视频编码为一个或更多个视频流。一个视频可以包括多个帧,各个帧可以对应于静止图像/画面。在本说明书中,点云视频可以包括点云图像/帧/画面/视频/音频。另外,术语“点云视频”可以与点云图像/帧/画面互换使用。点云视频编码器可以执行基于视频的点云压缩(V-PCC)处理。为了压缩和编码效率,点云视频编码器可以执行诸如预测、变换、量化和熵编码的一系列处理。编码的数据(编码的视频/图像信息)可以按比特流的形式输出。基于V-PCC处理,点云视频编码器可以通过将点云视频分成几何视频、属性视频、占用图视频和辅助信息来对点云视频进行编码(将稍后描述)。几何视频可以包括几何图像,属性视频可以包括属性图像,占用图视频可以包括占用图图像。辅助信息可以包括辅助补片信息。属性视频/图像可以包括纹理视频/图像。

封装处理器(文件/片段封装模块)1003可以以例如文件的形式封装编码的点云视频数据和/或与点云视频有关的元数据。这里,与点云视频有关的元数据可以从元数据处理器接收。元数据处理器可以包括在点云视频编码器中,或者可以被配置成单独的组件/模块。封装处理器可以按照诸如ISOBMFF的文件格式封装数据或者按照DASH片段等的形式处理数据。根据实施方式,封装处理器可以包括文件格式的点云视频相关元数据。点云视频元数据可以被包括在例如ISOBMFF文件格式的各种级别的盒中,或作为文件内的单独轨道中的数据。根据实施方式,封装处理器可以将点云视频相关元数据封装到文件中。发送处理器可以对根据文件格式封装的点云视频数据执行发送处理。发送处理器可以包括在发送器中,或者可以被配置成单独的组件/模块。发送处理器可以根据传输协议来处理点云视频数据。发送处理可以包括经由广播网络传送的处理和通过宽带传送的处理。根据实施方式,发送处理器可以从元数据处理器连同点云视频数据一起接收点云视频相关元数据,并且执行点云视频数据的处理以进行传输。

发送器1004可以通过数字存储介质或网络将以比特流的形式输出的编码的视频/图像信息或数据以文件或流的形式发送到接收装置的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。发送器可以包括用于以预定文件格式生成媒体文件的元件,并且可以包括用于经由广播/通信网络传输的元件。接收器可以提取比特流并将所提取的比特流发送到解码装置。

接收器1003可以接收根据本公开的点云视频发送装置所发送的点云视频数据。根据传输信道,接收器可以经由广播网络或通过宽带接收点云视频数据。另选地,点云视频数据可以通过数字存储介质来接收。

接收处理器可以根据传输协议处理所接收的点云视频数据。接收处理器可以包括在接收器中,或者可以被配置成单独的组件/模块。接收处理器可以反向执行发送处理器的上述处理,使得处理对应于在发送侧执行的发送处理。接收处理器可以将所获取的点云视频数据传送至解封装处理器,并将所获取的点云视频相关元数据传送至元数据解析器。接收处理器所获取的点云视频相关元数据可以采取信令表的形式。

解封装处理器(文件/片段解封装模块)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点。阿特拉斯是位于矩形框架中的2D边界框的集合,其对应于3D空间中的3D边界框,在该3D空间中渲染体积数据和与其相关的信息。

阿特拉斯比特流是构成阿特拉斯的一个或更多个阿特拉斯帧和相关数据的比特流。

阿特拉斯帧是阿特拉斯样本的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示出根据实施方式的表面的切平面和法向量的示例。

在图4的V-PCC编码处理的补片生成处理40000中如下使用图5的表面。

与补片生成相关的法向计算

点云的各个点具有其自己的方向,其由称为法向量的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之一)标识。

细化分段是考虑邻近点的投影平面增强在初始分段处理中确定的构成点云的各个点的投影平面的处理。在该处理中,得分法向和得分平滑可以一起考虑,得分法向表示在初始分段处理中确定投影平面时考虑的各个点的法向量与边界框的各个平坦面的法向之间的相似度,得分平滑指示当前点的投影平面与邻近点的投影平面之间的相似度。

可以通过向得分法向指派权重来考虑得分平滑。在这种情况下,权重值可以由用户定义。细化分段可以重复地执行,重复次数也可以由用户定义。

与补片生成相关的补片分段

补片分段是基于在初始/细化分段处理中获得的关于构成点云的各个点的投影平面信息将整个点云分成补片(邻近点的集合)的处理。补片分段可以包括以下步骤:

1)使用K-D树等计算构成点云的各个点的邻近点。最大邻居数量可以由用户定义;

2)当邻近点被投影到与当前点相同的平面上时(当它们具有相同的集群索引时),提取当前点和邻近点作为一个补片;

3)计算所提取的补片的几何值。在下文描述细节;以及

4)重复操作2)至4),直至不存在未提取的点。

各个补片的占用图、几何图像和纹理图像以及各个补片的大小通过补片分段处理来确定。

图7示出根据实施方式的确定占用图上的各个补片位置的示例。

根据实施方式的点云编码器10002可以执行补片打包并生成占用图。

补片打包和占用图生成(40001)

这是确定2D图像中的各个补片的位置以将分段的补片映射到2D图像的处理。作为一种2D图像,占用图是使用值0或1指示对应位置处是否存在数据的二值图。占用图由块组成,其分辨率可以由块的大小确定。例如,当块为1*1块时,获得像素级分辨率。占用打包块大小可以由用户确定。

确定占用图上的各个补片的位置的处理可以配置如下:

1)将占用图上的所有位置设定为0;

2)将补片置于占用图平面中水平坐标在(0,occupancySizeU-patch.sizeU0)范围内并且垂直坐标在(0,occupancySizeV-patch.sizeV0)范围内的点(u,v)处;

3)将补片平面中水平坐标在(0,patch.sizeU0)范围内并且垂直坐标在(0,patch.sizeV0)范围内的点(x,y)设定为当前点;

4)按光栅顺序改变点(x,y)的位置,并且如果补片占用图上的坐标(x,y)的值为1(补片中的点处存在数据)并且全局占用图上的坐标(u+x,v+y)的值为1(以先前补片填充占用图),则重复操作3)和4)。否则,进行至操作6);

5)按光栅顺序改变(u,v)的位置并且重复操作3)至5);

6)将(u,v)确定为补片的位置并且将关于补片的占用图数据复制到全局占用图上的对应部分上;以及

7)针对下一补片重复操作2)至7)。

occupancySizeU:指示占用图的宽度。其单位是占用打包块大小。

occupancySizeV:指示占用图的高度。其单位是占用打包块大小。

patch.sizeU0:指示占用图的宽度。其单位是占用打包块大小。

patch.sizeV0:指示占用图的高度。其单位是占用打包块大小。

例如,如图7所示,在与占用打包大小块对应的框中,存在与具有补片大小的补片对应的框,并且点(x,y)可以位于该框中。

图8示出根据实施方式的法向轴、切向轴和双切轴之间的示例性关系。

根据实施方式的点云编码器10002可以生成几何图像。几何图像指代包括关于点云的几何信息的图像数据。几何图像生成处理可以采用图8的补片的三个轴(法向、切向和双切)。

几何图像生成(40002)

在该处理中,确定构成各个补片的几何图像的深度值,并且整个几何图像基于在上述补片打包处理中确定的补片的位置来生成。确定构成各个补片的几何图像的深度值的处理可以配置如下。

1)计算与各个补片的位置和大小有关的参数。参数可以包括以下信息。

指示法向轴的法向索引在先前补片生成处理中获得。切向轴是垂直于法向轴的轴当中与补片图像的水平轴u一致的轴,并且双切轴是垂直于法向轴的轴当中与补片图像的垂直轴v一致的轴。三个轴可以如图所示。

图9示出根据实施方式的投影模式的最小模式和最大模式的示例性配置。

根据实施方式的点云编码器10002可以执行基于补片的投影以生成几何图像,并且根据实施方式的投影模式包括最小模式和最大模式。

可以基于围绕补片的最小尺寸的边界框来计算补片的3D空间坐标。例如,3D空间坐标可以包括补片的最小切向值(在补片3d移位切向轴上)、补片的最小双切值(在补片3d移位双切轴上)和补片的最小法向值(在补片3d移位法向轴上)。

补片的2D尺寸指示当补片被打包成2D图像时补片的水平尺寸和垂直尺寸。水平尺寸(补片2d尺寸u)可以作为边界框的最大切向值和最小切向值之差获得,垂直尺寸(补片2d尺寸v)可以作为边界框的最大双切值和最小双切值之差获得。

2)确定补片的投影模式。投影模式可以是最小模式或最大模式。关于补片的几何信息利用深度值表示。当构成补片的各个点在补片的法向上投影时,可以生成两层图像,利用最大深度值构造的图像和利用最小深度值构造的图像。

在最小模式下,在生成两层图像d0和d1时,可以为d0配置最小深度,并且可以为d1配置从最小深度的表面厚度内的最大深度,如图所示。

例如,当点云位于2D中(如图所示)时,存在包括多个点的多个补片。如图所示,指示了标记有相同风格的阴影的点可以属于相同的补片。图示出投影标记有空白的点的补片的处理。

当将标记有空白的点左/右投影时,相对于左侧,深度可以递增1,为0、1、2、…、6、7、8、9,并且用于计算点的深度的数字可以标记在右侧。

可以对所有点云应用相同的投影模式,或者可以根据用户定义对各个帧或补片应用不同的投影模式。当对各个帧或补片应用不同的投影模式时,可以自适应地选择可以增强压缩效率或使缺失的点最少的投影模式。

3)计算各个点的深度值。

在最小模式下,利用depth0构造图像d0,depth0是通过针对各个点的最小法向值从补片的最小法向值(在补片3d移位法向轴上)减去在操作1)中计算的补片的最小法向值(在补片3d移位法向轴上)而获得的值。如果在同一位置在depth0与表面厚度之间的范围内存在另一深度值,则该值被设定为depth1。否则,depth0的值被指派给depth1。利用depth1的值构造图像d1。

例如,在确定图像d0的点的深度时可以计算最小值(4 2 4 4 0 6 0 0 9 9 0 80)。在确定图像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,enhanced-delta-depth)码可以用于无损编码。

以下,将参考图10详细描述EDD码。

图10示出根据实施方式的示例性EDD码。

在点云编码器10002和/或V-PCC编码的一些/全部处理(例如,视频压缩40009)中,可以基于EOD码来编码关于点的几何信息。

如图所示,EDD码用于包括d1的表面厚度范围内的所有点的位置的二值编码。例如,在图中,由于在D0上的第一位置和第四位置处存在点并且第二位置和第三位置为空,所以包括在左侧第二列中的点可以由EDD码0b1001(=9)表示。当EDD码与D0一起编码并发送时,接收终端可以无损地恢复关于所有点的几何信息。

例如,当存在在参考点上方的点时,值为1。当不存在点时,值为0。因此,可以基于4个比特来表示码。

平滑(40004)

平滑是用于消除由于在压缩处理期间发生的图像质量劣化而可以能出现在补片边界上的不连续的操作。可以由点云编码器10002或平滑器40004执行平滑:

1)从几何图像重构点云。此操作可以与上述几何图像生成相反。例如,可以重构编码的相反处理;

2)使用K-D树等计算构成重构的点云的各个点的邻近点;

3)确定各个点是否位于补片边界上。例如,当存在具有与当前点不同的投影平面(集群索引)的邻近点时,可以确定点位于补片边界上;

4)如果在补片边界上存在点,则使该点移动到邻近点的质心(位于邻近点的平均x、y、z坐标处)。即,改变几何值。否则,维持先前几何值。

图11示出根据实施方式的基于邻近点的颜色值来重新着色的示例。

根据实施方式的点云编码器10002或纹理图像生成器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]

图12示出根据实施方式的推拉式背景填充。

图像填充和组扩张(40006、40007、40008)

根据实施方式的图像填充器可以基于推拉式背景填充技术来用无意义的补充数据填充除了补片区域之外的空间。

图像填充是以无意义的数据填充补片区域以外的空间以改进压缩效率的处理。对于图像填充,可以复制补片中靠近边界的列或行中的像素值以填充空白空间。另选地,如图所示,可以使用推拉式背景填充方法。根据该方法,在逐渐降低非填充图像的分辨率并再次增加分辨率的处理中利用来自低分辨率图像的像素值填充空白空间。

组扩张是填充分别以两个层d0/d1和t0/t1配置的几何图像和纹理图像的空白空间的处理。在此处理中,利用同一位置的值的平均填充通过图像填充计算的两个层的空白空间。

图13示出根据实施方式的4*4块的示例性可以能遍历顺序。

占用图压缩(40012、40011)

根据实施方式的占用图压缩器可以压缩先前生成的占用图。具体地,可以使用两个方法,即:用于有损压缩的视频压缩和用于无损压缩的熵压缩。下面描述视频压缩。

可以通过以下操作执行熵压缩。

1)如果构成占用图的块被完全占用,则对1进行编码并针对占用图的下一块重复相同的操作。否则,对0进行编码并执行操作2)至5)。

2)确定对块的占用像素执行游程长度编码(run-length coding)的最佳遍历顺序。该图示出4*4块的四个可以能遍历顺序。

图14示出根据实施方式的示例性最佳遍历顺序。

如上所述,根据实施方式的熵压缩器可以基于上述遍历顺序方案对块进行编码(编码)。

例如,从可以能遍历顺序当中选择具有最小游程数量的最佳遍历顺序,并且对其索引进行编码。该图示出选择图13中的第三遍历顺序的情况。在所示情况下,游程数量可以被最小化为2,因此第三遍历顺序可以被选为最佳遍历顺序。

3)对游程数量进行编码。在图14的示例中,存在两个游程,因此对2进行编码。

4)对第一游程的占用进行编码。在图14的示例中,对0进行编码,因为第一游程对应于未占用像素。

5)对各个游程(游程数量那么多)的长度进行编码。在图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可以在与图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)

颜色平滑类似于上述几何平滑的处理。颜色平滑是用于消除由于在压缩处理期间发生的图像质量劣化而可能出现在补片边界上的不连续的处理。颜色平滑可以通过以下操作执行:

1)使用K-D树等计算构成重构的点云的各个点的邻近点。可以使用在章节2.5中描述的几何平滑处理中计算的邻近点信息。

2)确定各个点是否位于补片边界上。这些操作可以基于在上述几何平滑处理中计算的边界信息来执行。

3)检查存在于边界上的点的邻近点的颜色值的分布并且确定是否要执行平滑。例如,当亮度值的熵小于或等于阈值局部条目(存在许多相似的亮度值)时,可以确定对应部分不是边缘部分,并且可以执行平滑。作为平滑方法,点的颜色值可以被替换为邻近点的颜色值的平均。

图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比特流)。

根据实施方式,视频编码器20002、图像编码器20003、视频解码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可以在工作上连接/联接到根据上述实施方式的点云数据发送和接收装置。

XR/PCC装置2330可以采用PCC技术和/或XR(AR+VR)技术,并且可以被实现为HMD、设置在车辆中的平视显示器(HUD)、电视、移动电话、智能电话、计算机、可以穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。

XR/PCC装置2330可以分析通过各种传感器或从外部装置获取的3D点云数据或图像数据并且生成关于3D点的位置数据和属性数据。由此,XR/PCC装置2330可以获取关于周围空间或真实对象的信息,并且渲染和输出XR对象。例如,XR/PCC装置2330可以使包括关于所识别的对象的辅助信息的XR对象与所识别的对象匹配并输出匹配的XR对象。

XR/PCC装置2330可以通过应用PCC技术实现为移动电话2340。

移动电话2340可以基于PCC技术解码和显示点云内容。

自动驾驶车辆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服务有关的内容数据并且将处理的内容数据提供给用户。根据实施方式的车辆或用户接口装置可以接收用户输入信号。根据实施方式的用户输入信号可以包括指示自动驾驶服务的信号。

根据实施方式的点云数据可以被称为PCC数据、V-PCC数据、基于视觉体积视频的数据、V3C数据等。

图24示出根据实施方式的V-PCC比特流。

V-PCC比特流24000表示发送根据实施方式的点云数据的形式(即,比特流形式)。图24中所示的V-PCC比特流24000可以表示图4的压缩比特流、图15的比特流、图16中接收到的压缩比特流和图17的比特流、由图18中的复用器18007生成的比特流以及由图19中的解复用器生成的比特流。

图24中所示的V-PCC比特流可以由根据图23所示的实施方式的XR装置1230、自动驾驶车辆1220、机器人1210、AI服务器1260、家用电器1250和智能电话1240生成,并且可以经由云网络(5G)1200发送到装置或在装置之间发送/接收。

图24所示的V-PCC比特流24000可以是要由图20的文件/片段封装器20004接收的比特流。即,V-PCC比特流可以是通过根据实施方式的点云数据发送装置/方法直接发送的比特流,也可以表示按照ISOBMFF方案封装之前的比特流。

图24所示的V-PCC比特流24000可以是图21的视频流和/或图像流,或者从文件/片段隔离单元21009输出。它可以是构成片段(或文件)的比特流。

根据实施方式的V-PCC比特流24000可以包括一个或更多个样本流V-PCC单元24001。一个或更多个样本流V-PCC单元24001可以包括V-PCC单元和指示V-PCC单元的大小的V-PCC单元大小。

V-PCC比特流24000包括编码的点云序列(CPCS)。

V-PCC单元包括V-PCC单元头24001b和/或V-PCC单元有效载荷24001c。

V-PCC单元头24001b包括关于包含在根据实施方式的V-PCC单元有效载荷中的数据的信令信息。根据实施方式的V-PCC单元头可以指示例如包含在根据实施方式的V-PCC单元中的数据的类型(例如,V-PCC参数集24002a、占用视频数据24002b、几何视频数据24002c、阿特拉斯数据24002e和/或属性视频数据24002d等)。另外,根据实施方式的V-PCC单元头24001b还可以包括包含在V-PCC单元中的数据所需的信令信息。

V-PCC单元有效载荷24001c包含根据实施方式的点云数据或渲染或重构点云数据所需的信息。

V-PCC单元有效载荷24001c可以包括例如V-PCC参数集24002a、占用视频数据24002b、几何视频数据24002c、阿特拉斯数据24002e和/或属性视频数据24002d。V-PCC单元有效载荷24001c可以承载占用视频、属性视频或几何视频。V-PCC单元有效载荷24001c可以由一个或更多个NAL单元组成。

根据实施方式的V-PCC单元有效载荷24002包含根据实施方式的点云数据。点云数据可以包括点云数据的占用视频数据、几何视频数据和/或属性视频数据之一。点云数据可以包括使用脉冲编码调制(PCM)方案编码的几何视频数据和/或使用PCM编码的属性视频数据。

根据实施方式的V-PCC参数集24002a表示包括根据实施方式的点云数据的参数或信令信息(例如,元数据)的参数集。例如,V-PCC参数集可以包括关于构成点云数据的序列的信令信息。

占用视频数据24002b是包括根据实施方式的占用图数据的数据。几何视频数据24002c包括根据实施方式的几何视频数据。属性视频数据24002d包括根据实施方式的属性视频数据。

阿特拉斯数据24002e表示由点云数据的属性(例如,纹理(补片))和/或深度组成的数据。

例如,根据实施方式的V-PCC单元的语法可以被配置如下。

图25示出根据实施方式的V-PCC比特流的示例。

根据图25所示的实施方式的V-PCC比特流表示图24的V-PCC比特流24000。

图25所示的V-PCC比特流可以由根据图23所示的实施方式的XR装置1230、自动驾驶车辆1220、机器人1210、AI服务器1260、家用电器1250和智能电话1240生成,并且可以经由云网络(5G)1200向装置发送或在装置之间发送/接收。

根据实施方式的V-PCC比特流25000包括一个或更多个样本流V-PCC单元25002。样本流V-PCC单元可以表示图24的样本流V-PCC单元24001。样本流V-PCC单元可以称为V-PCC单元。

根据实施方式的V-PCC比特流25000还可以包括样本流V-PCC头25001,样本流V-PCC头25001包含关于样本流V-PCC单元的信息。

样本流V-PCC单元25002具有几种类型。样本流V-PCC单元25002的示例包括:包括V-PCC参数集(VPS)的V-PCC单元、包括属性数据(AD)的V-PCC单元、包括占用视频数据(OVD)的V-PCC单元、包括几何视频数据(GVD)的V-PCC单元和/或包括属性视频数据(AVD)的V-PCC单元。

根据实施方式的V-PCC比特流25000包括根据实施方式的包括VPS的样本流V-PCC单元25002。根据实施方式的V-PCC比特流25000可以包括一个或更多个样本流V-PCC单元,其包括AD、OVD、GVD和/或AVD之一。

25004示出根据实施方式的样本流V-PCC头25001的语法示例。样本流V-PCC头25004可以包含ssvh_unit_size_precision_bytes_minus1的信息。各个样本流V-PCC单元包含VPS、AD、OVD、GVD和AVD当中的一种V-PCC单元。

ssvh_unit_size_precision_bytes_minus1加1指定所有样本流V-PCC单元中ssvu_vpcc_unit_size元素的精度(以字节为单位)。ssvh_unit_size_precision_bytes_minus1可以在0到7的范围内。

25005示出根据实施方式的样本流V-PCC单元25002的语法示例。各个样本流V-PCC单元的内容与包含在样本流V-PCC单元中的V-PCC单元相同的访问单元相关联。V-PCC单元25002可以包括例如ssvu_vpcc_unit_size。

ssvu_vpcc_unit_size指定后续vpcc_unit的大小(以字节为单位)。用于表示ssvu_vpcc_unit_size的比特数可以等于(ssvh_unit_size_precision_bytes_minus1+1)*8。

根据实施方式,vpcc_unit(),即vpcc_unit(ssvu_vpcc_unit_size)表示具有ssvu_vpcc_unit_size大小的V-PCC单元。根据实施方式的vpcc_unit(ssvu_vpcc_unit_size)包括V-PCC单元头(vpcc_unit_header())和/或V-PCC单元有效载荷(vpcc_unit_payload())。图25所示的V-PCC单元头可以表示图24所示的V-PCC单元头24001b。

根据实施方式的vpcc_unit()可以例如具有以下语法。

vpcc_unit_header()表示根据实施方式的V-PCC单元头。vpcc_unit_payload()表示根据实施方式的V-PCC单元有效载荷。

图26示出根据实施方式的V-PCC单元头和/或V-PCC单元有效载荷的语法示例。

图26所示的V-PCC单元头26000可以表示图24的V-PCC单元头24001b。图26所示的V-PCC单元头26000可以表示图25的样本流V-PCC单元中的V-PCC单元(vpcc_unit)中包括的V-PCC单元头。V-PCC单元可以称为样本流V-PCC单元。

图26所示的V-PCC比特流可以由根据图23所示的实施方式的XR装置1230、自动驾驶车辆1220、机器人1210、AI服务器1260、家用电器1250和智能电话1240生成,并且可以通过云网络(5G)1200发送到装置或在装置之间发送/接收。

vuh_unit_type指示V-PCC单元类型。例如,V-PCC单元类型可以如下表所示给出。

[表2]

根据实施方式,根据V-PCC单元类型(vuh_unit_type),不同的信令信息可以包含在V-PCC单元头中。

例如,当vuh_unit_type的值为0时,根据实施方式的V-PCC单元是包括V-PCC参数集的类型的V-PCC单元,因此V-PCC单元头可以包含与VPS相关的信息。

例如,当vuh_unit_type的值为1(即,VPCC_AD)时,V-PCC单元是包括阿特拉斯数据的类型的V-PCC单元,因此V-PCC单元头可以包含与阿特拉斯数据相关的信息(例如,vuh_vpcc_parameter_set_id和/或vuh_atlas_id)。

例如,当vuh_unit_type的值为2(即,VPCC_GVD)时,根据实施方式的V-PCC单元是包括几何视频数据的类型的V-PCC单元,因此V-PCC单元头可以包含与几何视频数据相关的信息(例如,vuh_map_index、vuh_raw_video_flag)。

例如,当vuh_unit_type的值为3(即,VPCC_AVD)时,根据实施方式的V-PCC单元是包括属性视频数据的类型的V-PCC单元,因此PCC单元头可以包含与属性视频数据相关的信息(例如,vuh_attribute_index、vuh_attribute_dimension_index、vuh_map_index和/或vuh_raw_video_flag)。

例如,当vuh_unit_type的值为4(即,VPCC_OVD)时,V-PCC单元是包括占用视频数据的类型的V-PCC单元,因此V-PCC单元头可以包含与占用视频数据相关的信息(例如,vuh_vpcc_parameter_set_id和/或vuh_atlas_id)。

vuh_vpcc_parameter_set_id为活动V-PCC VPS指定vps_vpcc_parameter_set_id的值。

vuh_atlas_id指定对应于当前V-PCC单元的阿特拉斯的索引。

vuh_attribute_index指示属性视频数据单元中承载的属性数据的索引。

vuh_attribute_dimension_index指示属性视频数据单元中承载的属性维度组的索引。

vuh_map_index当存在时指示当前几何或属性流的图索引。

vuh_raw_video_flag等于1指示相关联的几何或属性视频数据单元仅为RAW(或PCM)编码点视频。vuh_raw_video_flag等于0指示相关联的几何或属性视频数据单元可以包含RAW(或PCM)编码点。当vuh_raw_video_flag不存在时,可以推断其值等于0。

图26所示的V-PCC单元有效载荷26001可以表示图24的V-PCC单元有效载荷24001c。图26所示的V-PCC单元有效载荷26001可以表示图25的样本流V-PCC单元中的V-PCC单元(vpcc_unit)中包括的V-PCC单元有效载荷(vpcc_unit_payload)。

根据实施方式的V-PCC单元有效载荷可以根据上述vuh_unit_type的值包含不同的数据。

例如,当vuh_unit_type的值为0时,根据实施方式的V-PCC单元的类型是V-PCC参数集,因此V-PCC单元有效载荷26001可以包含vpcc_parameter_set()。

例如,当vuh_unit_type的值为1(即,VPCC_AD)时,根据实施方式的V-PCC单元的类型是阿特拉斯数据,因此V-PCC单元有效载荷26001可以包含阿特拉斯数据(或阿特拉斯子比特流(atlas_sub_bitstream()))。

例如,当vuh_unit_type的值为2(即VPCC_GVD)、3(即VPCC_AVD)或4(即VPCC_OVD)时,根据实施方式的V-PCC单元的类型是几何视频数据,因此,V-PCC单元有效载荷26001可以包含包括属性视频数据和/或占用时间视频数据的视频子比特流。

图27示出根据实施方式的阿特拉斯子流的示例。

根据实施方式的V-PCC单元的V-PCC单元有效载荷27000可以包含图27所示的阿特拉斯子比特流(或阿特拉斯子流),并且阿特拉斯子比特流可以包含一个或更多个样本流NAL单元。(承载阿特拉斯子流的V-PCC单元的V-PCC单元有效载荷可以由一个或更多个样本流NAL单元组成)

根据图27所示的实施方式的阿特拉斯子比特流可以由根据实施方式的用于点云数据的一个或更多个网络抽象层(NAL)单元或样本流NAL单元组成。

根据实施方式的阿特拉斯子比特流包括V-PCC样本流NAL头27001。根据实施方式的V-PCC单元27000包括一个或更多个样本流NAL单元27002。

根据实施方式,存在各种类型的NAL单元(或样本流NAL单元)27002。NAL单元的示例包括:包括阿特拉斯序列参数集(ASPS)的样本流NAL单元、包括阿特拉斯帧参数集(AFPS)的样本流NAL单元以及包括阿特拉斯拼块组(ATP)的样本流NAL单元和/或包括SEI(或SEI消息)的NAL单元。

样本流NAL头27001包含关于一个或更多个样本流NAL单元27002的信令信息。例如,样本流NAL头27001可以包含ssvh_unit_size_precision_bytes_minus1。

27003示出根据实施方式的样本流NAL头的语法示例。

ssvh_unit_size_precision_bytes_minus1加1可以指定例如所有样本流NAL单元中ssnu_nal_unit_size元素的精度(以字节为单位)。ssnh_unit_size_precision_bytes_minus1可以在0到7的范围内。

27004示出根据实施方式的样本流NAL单元的语法示例。

ssvu_nal_unit_size指定后续NAL_unit的大小(以字节为单位)。用于表示ssnu_nal_unit_size的比特数可以等于(ssnh_unit_size_precision_bytes_minus1+1)*8。

NAL_unit(),即,nal_unit(ssvu_vpcc_unit_size)指示根据实施方式的具有ssvu_nal_unit_size大小的NAL单元。

各个样本流NAL单元包含阿特拉斯序列参数集(ASPS)、阿特拉斯帧参数集(AFPS)、阿特拉斯拼块组信息或SEI(补充增强信息)。

SEI消息包含与解码、重构、显示或其它目的相关的操作所必需的信息。根据实施方式的SEI消息包含SEI有效载荷(sei_payload)。

根据实施方式的SEI有效载荷可以具有以下语法。

[表3]

图28示出根据实施方式的ISOBMFF文件格式的点云数据。

根据实施方式的点云数据可以是ISOBMFF文件的格式。ISOBMFF文件可以由称为盒的对象组成。即,所有数据都可以包括在一个或更多个盒中。

图28的文件格式可以由根据图20和21的实施方式的文件/片段封装器20004、21009等生成或封装,并且可以由图22的文件/片段解封装器20005、22000等接收和解封装。

盒可以包括盒头,盒头可以包括盒的大小和类型。根据实施方式的点云数据可以包括盒类型为“ftyp”的ftyp盒28000、盒类型为“meta”的meta盒28001、盒类型为“moov”的moov盒28002以及盒类型为“mdat”的mdat盒28003。

ftyp盒28000可以包含指示根据实施方式的ISOBMFF文件的类型的信息。

meta盒28001可以包含关于根据实施方式的点云数据的元数据信息。

moov盒28002可以包含关于发送根据实施方式的点云数据的一个或更多个轨道的信息。

根据实施方式的moov盒28002可以包括:盒28002a,其包含关于用于发送点云数据的属性信息的轨道的信息;盒28002b,其包含关于用于发送点云数据的占用信息的轨道的信息;盒28002c,其包含关于用于发送点云数据的几何信息的轨道的信息;和/或盒28002d,其包含关于用于发送点云数据的V-PCC信息的轨道的信息。

mdat盒28003可以包括包含根据实施方式的点云数据的点云比特流。根据实施方式的点云比特流可以包括视频编码属性比特流28003a、视频编码占用比特流28003b、视频编码几何比特流28003c和/或补片序列数据比特流28003d。

补片序列数据比特流28003d可以被称为阿特拉斯比特流、补片数据比特流等。

根据实施方式的视频编码属性比特流28003a、视频编码占用比特流28003b、视频编码几何比特流28003c和/或补片序列数据比特流28003d可以由一个或更多个视频帧承载。

视频编码属性比特流28003a指的是由根据实施方式的V-PCC编码器编码的点云数据的属性信息。

视频编码占用比特流28003b指的是由根据实施方式的V-PCC编码器编码的点云数据的占用信息。

视频编码几何比特流28003c指的是由根据实施方式的V-PCC编码器编码的点云数据的几何信息。

补片序列数据比特流28003d指的是根据实施方式的点云数据的补片序列数据。

2D视频轨道按照根据实施方式的视频编码器被编码。

在样本条目中,可以插入额外的盒,该盒可以记录包含在该轨道中的视频流在V-PCC系统中的作用。

可以将轨道参考从V-PCC补片数据轨道插入到视频轨道,以基于补片轨道在特定点云中建立视频轨道的成员资格。

可以将轨道头标志设置为0,以指示轨道不直接有助于电影的整体布局,但有助于V-PCC系统。

属于同一V-PCC序列的轨道是时间对齐的。跨不同视频编码分量轨道和V-PCC轨道对同一点云帧有贡献的样本可以具有相同的呈现时间。

V-PCC轨道可以包含序列参数集和承载非视频编码信息V-PCC单元的有效载荷的样本。这里,非视频编码信息V-PCC单元可以表示V-PCC单元类型例如是VPCC_SPS和VPCC_PDG的单元。

V-PCC轨道可以被称为视觉体积轨道、V3C轨道等。

该轨道还可以提供对包含承载视频压缩V-PCC单元的有效载荷的样本的其它轨道的轨道参考。这里,其它轨道可以表示V-PCC单元类型例如是VPCC_GVD、VPCC_AVD和VPCC_OVD的单元。

包含用于几何数据的视频编码基本流的样本(其是VPCC_GVD类型的V-PCC单元的有效载荷)可以被包括在一个或更多个视频流中。

包含用于属性数据的视频编码基本流的样本(其是VPCC_AVD类型的V-PCC单元的有效载荷)可以被包括在一个或更多个视频流中。

包含用于占用图数据的视频编码基本流的样本(其是VPCC_OVD类型的V-PCC单元的有效载荷)可以被包括在一个或更多个视频流中。

分量轨道中的基本流之间的同步可以由ISO BMFF轨道时序结构(电影片段中的ctts和cslg,或等效机制)来处理。

有助于跨不同视频编码分量轨道和V-PCC轨道的相同点云帧的样本可以具有相同的合成时间。用于此类样本的V-PCC参数集的解码时间等于或早于帧的合成时间。

根据实施方式的点云数据和/或用于传送点云数据的比特流以及根据实施方式的V-PCC单元可以基于图28所示的文件格式被封装。例如,根据实施方式的发送装置的封装器可以根据参考图24至27描述的实施方式以图28所示的文件格式封装V-PCC比特流(或V-PCC单元)25000、V-PCC比特流26000和26001和/或阿特拉斯子流27000。

由图20的文件/片段封装器20004和图21的文件/片段封装器21009编码的点云数据和元数据按照图28所示的文件格式封装。图20的文件/片段解封装器20005和图22的文件/片段解封装器22000按照图28所示的文件格式对封装的点云数据和元数据进行解封装,以输出编码的点云数据和元数据。

例如,图28示出根据图20至图22的实施方式的文件/片段封装器20004和21009和/或文件/片段解封装器22000传送视频数据(例如,多轨道)的情况下的封装文件的结构。

包括图24至图27的点云数据的比特流可以由图1的发送装置10000的点云视频编码器10002、图4所示的元件、图15所示的编码装置100、图18所示的视频编码器18006等生成和编码。根据实施方式的点云比特流可以由图1的文件/片段封装器10003、图20的文件/片段封装器20004和图21的文件/片段封装21009等基于图28所示的文件中的单个轨道和/或多个轨道进行封装。

文件中的单个轨道和/或多个轨道中的点云比特流由图1的接收装置10005的文件/片段解封装器10007、图20和图22的文件/片段解封装器20005和22000进行解封装。包含图24至图27的点云数据的比特流可以由图1的接收装置10005的点云视频解码器10008、图16所示的元件、图17所示的解码装置200、图19所示的视频解码单元19001等接收和解码。

根据实施方式的V-PCC轨道28002d可以被称为体积视觉轨道、视觉体积轨道、体积数据轨道、V3C轨道等。

各个体积视觉场景(即,根据实施方式的点云数据)可以由唯一的体积视觉轨道来表示。ISOBMFF文件可以包含多个场景,因此文件中可以存在多个体积视觉轨道(多轨道)。体积视觉轨道可以由MediaBox的HandlerBox中的体积视觉媒体处理程序类型“volv”和体积视觉媒体头来标识。

将描述体积视觉媒体头的实施方式。

盒类型:‘vvhd’

容器:MediaInformationBox

强制性:是

数量:只有一个

体积视觉轨道必须使用MediaInformationBox中的VolumetricVisualMediaHeaderBox。VolumetricVisualMediaHeaderBox的语法如下。

aligned(8)class VolumetricVisualMediaHeaderBox

extends FullBox(‘vvhd’,version=0,1){

}

将描述体积视觉样本条目的实施方式。

体积视觉轨道必须使用VolumetricVisualSampleEntry。

将描述体积视觉样本的实施方式。

体积视觉样本的格式由编码系统定义。

将描述V-PCC单元头盒的实施方式。

该盒存在于V-PCC轨道(在样本条目中)和所有视频编码V-PCC分量轨道中。

该盒包含根据实施方式的用于由各个轨道承载的数据的V-PCC单元头。

该盒可以包含参考图25至图27描述的V-PCC单元头。

将描述V-PCC解码器配置记录的实施方式。

V-PCC解码器配置记录包括版本字段。

VPCCParameterSet阵列包括参考图25至图27描述的vpcc_parameter_set()。

atlas_setupUnit阵列包括根据实施方式的阿特拉斯参数集,其对于存在解码器配置记录的样本条目所指的流以及阿特拉斯流SEI消息是恒定的。

V-PCC解码器配置记录的语法示例如下所示。

[表4]

configurationVersion是版本字段。

sampleStreamSizeMinusOne加1指示根据该配置记录或该配置记录适用的流中的V-PCC样本中的实施方式的所有样本流V-PCC单元中的ssvu_vpcc_unit_size元素的精度(以字节为单位)。

numOfVPCCParameterSets指定在解码器配置记录中发信号通知的V-PCC参数集(VPS)的数量。

VPCCParameterSet是类型VPCC_VPS的V-PCC单元的sample_stream_vpcc_unit()实例。该V-PCC单元可以包括参考图25至27描述的vpcc_parameter_set()。

numOfAtlasSetupUnits指示在该配置记录中发信号通知的阿特拉斯流的设置阵列的数量。

Atlas_setupUnit表示根据实施方式的包括阿特拉斯序列参数集(ASPS)、阿特拉斯帧参数集(AFPS)或SEI阿特拉斯NAL单元的sample_stream_vpcc_unit()实例。

根据实施方式的VPCCDecoderConfigurationRecord可以具有以下语法。

[表5]

configurationVersion是版本字段。

lengthSizeMinusOne加1指示该配置记录或该配置记录适用的流中的V-PCC样本中的所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(以字节为单位)。

sampleStreamSizeMinusOne加1指示在该配置记录中发信号通知的所有样本流V-PCC单元中的ssvu_vpcc_unit_size元素的精度(以字节为单位)。

numOfVPCCParameterSets指定在该配置记录中发信号通知的V-PCC参数集(VPS)的数量。

VPCCParameterSet是类型VPCC_VPS的V-PCC单元的sample_stream_vpcc_unit()实例。

numOfSetupUnitArrays指示所指定类型的阿特拉斯NAL单元的阵列数量。

NAL_unit_type指示以下阵列中的阿特拉斯NAL单元的类型。NAL_unit_type信息的值例如可以是NAL_ASPS、NAL_PREFIX_SEI或NAL_SUFFIX_SEI阿特拉斯NAL单元之一。

numNALUnits指示针对配置记录适用于的流的根据包括在配置记录中的所指示类型的实施方式的阿特拉斯NAL单元的数量。SEI阵列应仅包含“声明性”性质的SEI消息,即,提供关于作为整体的流的信息的SEI消息。这种SEI的示例可以是用户数据SEI。

setupUnit是sample_stream_nal_unit()实例,其包含阿特拉斯序列参数集、或阿特拉斯帧参数集、或声明性SEI阿特拉斯NAL单元。

下面描述V-PCC比特流的多轨道容器的实施方式。

指定多轨道ISOBMFF V-PCC容器的一般布局,其中V-PCC基本流中的V-PCC单元基于它们的类型被映射到容器文件内的各个轨道。多轨道ISOBMFF V-PCC容器中有两种类型的轨道:V-PCC轨道和V-PCC分量轨道。

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序列的所有轨道可以具有相同的隐含或显式编辑列表。

基于该布局,V-PCC ISOBMFF容器应包括以下内容:

1)V-PCC轨道,其包含V-PCC参数集(在样本条目中)和承载V-PCC参数集V-PCC单元(单元类型为VPCC_VPS)和阿特拉斯V-PCC单元(单元类型为VPCC_AD)的有效载荷的样本。该轨道还包括对承载视频压缩V-PCC单元(即,单元类型为VPCC_OVD、VPCC_GVD和VPCC_AVD)的有效载荷的其它轨道的轨道参考;

2)受限视频方案轨道,其中,样本包含用于占用图数据(即,类型为VPCC_OVD的V-PCC单元的有效载荷)的视频编码基本流的访问单元;

3)一个或更多个受限视频方案轨道,其中,样本包含用于几何数据的视频编码基本流的访问单元。

4)零个或更多个受限视频方案轨道,其中,样本包含用于属性数据(即,类型为VPCC_AVD的V-PCC单元的有效载荷)的视频编码基本流的访问单元。

将描述V-PCC轨道样本条目。

样本条目类型:‘vpc1’、‘vpcg’

容器:SampleDescriptionBox

强制性:‘vpc1’或‘vpcg’样本条目是强制性的。

数量:可以存在一个或更多个样本条目。

V-PCC轨道可以使用VPCCSampleEntry,它扩展了VolumetricVisualSampleEntry,样本条目类型为“vpc1”或“vpcg”。

VPCC样本条目可以包含VPCCConfigurationBox,如下所述。这可能包括VPCCDecoderConfigurationRecord。

在‘vpc1’样本条目下,所有阿特拉斯序列参数集(ASPS)、阿特拉斯帧参数集(AFPS)和/或V-PCC SEI可以在setupUnit阵列中。在“vpcg”样本条目下,ASPS、AFPS和/或V-PCC SEI可以存在于该阵列或流中。

VPCC体积样本条目中可以存在可选的BitRateBox,以发信号通知V-PCC轨道的比特率信息。

[表6]

将描述V-PCC轨道样本格式。

V-PCC轨道中的各个样本对应于单个点云帧。各个分量轨道中与该帧对应的样本与V-PCC轨道样本的合成时间相同。各个V-PCC样本可以包括一个或更多个阿特拉斯NAL单元。

根据实施方式的V-PCC样本可以具有以下语法。

[表7]

VPCCDecoderConfigurationRecord在匹配V-PCC样本条目中指示根据实施方式的解码器配置记录。

nalUnit包含按照根据实施方式的样本流NAL单元格式的单个阿特拉斯NAL单元。

NALUnitLength指示后续NAL单元的大小(以字节为单位)。

NALUnit包含单个阿特拉斯NAL单元。

将描述V-PCC轨道同步样本。

V-PCC轨道中的同步样本(随机访问点)是V-PCC IRAP编码补片数据访问单元。如果需要,则可以在同步样本处重复阿特拉斯参数集以允许随机访问。

将描述根据实施方式的视频编码V-PCC分量轨道。

在ISOBMFF标准文件中公开了特定于MPEG的编码视频轨道的承载。例如,AVC和HEVC编码视频的承载可能符合ISO/IEC 14496-15标准文件。

由于在播放器侧不重构点云的情况下显示来自属性、几何或占用图轨道的解码帧是没有意义的,因此可以针对这些视频编码轨道定义受限视频方案类型。

受限视频方案

V-PCC分量视频轨道可以在文件中表示为受限视频,并由其受限视频样本条目的RestrictedSchemeInfoBox的SchemeTypeBox的scheme_type字段中的‘pccv’标识。

应当注意,对用于编码属性、几何和占用图V-PCC分量的视频编解码器没有限制。此外,可以使用不同的视频编解码器对这些分量进行编码。

方案信息

SchemeInformationBox可以存在并且包含VPCCUnitHeaderBox。

参考V-PCC分量轨道

为了将V-PCC轨道链接到分量视频轨道,可以将三个TrackReferenceTypeBox添加到V-PCC轨道的TrackBox内的TrackReferenceBox,各个分量一个。TrackReferenceTypeBox可以包含track_ID阵列,其指定V-PCC轨道参考的视频轨道。TrackReferenceTypeBox的reference_type标识分量的类型(即,占用图、几何或属性)。

这些轨道参考类型的4CC是:

1)‘pcco’:参考轨道包含视频编码占用图V-PCC分量

2)‘pccg’:参考轨道包含视频编码几何V-PCC分量

3)‘pcca’:参考轨道包含视频编码属性V-PCC分量

由参考的受限视频轨道承载并在轨道的RestrictedSchemeInfoBox中发信号通知的V-PCC分量的类型应与来自V-PCC轨道的轨道参考的参考类型相匹配。

V-PCC比特流的单轨道容器

V-PCC数据的单轨道封装(即,将根据实施方式的点云数据封装到一个轨道中)需要V-PCC编码基本比特流由单轨道声明来表示。

在V-PCC编码比特流的简单ISOBMFF封装的情况下,可以利用PCC数据的单轨道封装。这样的比特流可以直接存储为单个轨道而无需进一步处理。V-PCC单元头数据结构可以保存在比特流中。可以将V-PCC数据的单轨道容器提供给媒体工作流以进行进一步处理(例如,多轨道文件生成、转码、DASH分段等)。

包含根据实施方式的单轨道封装的V-PCC数据的ISOBMFF文件可以在其FileTypeBox的compatible_brands[]列表中包含‘pcst’。

V-PCC基本流轨道

样本条目类型:‘vpe1’、‘vpeg’

容器:SampleDescriptionBox

强制性:‘vpe1’或‘vpeg’样本条目是强制性的

数量:可能有一个或更多个样本条目。

V-PCC基本流轨道可以使用样本条目类型为‘vpe1’或‘vpeg’的VolumetricVisualSampleEntry。

VPCC基本流样本条目可以包含如下定义的VPCCConfigurationBox。

在‘vpe1’样本条目下,所有阿特拉斯序列参数集(ASPS)、阿特拉斯帧参数集(AFPS)和SEI可以在setupUnit阵列中。在“vpeg”样本条目下,ASPS、AFPS和SEI可以存在于该阵列或流中。

[表8]

V-PCC基本流样本格式

根据实施方式的V-PCC基本流样本可以包括根据一个或更多个实施方式的属于同一呈现时间的一个或更多个V-PCC单元。各个样本都有独特的呈现时间、大小和持续时间。取决于其它V-PCC基本流样本,样本可以是自包含的(例如,同步样本)或解码方式的。

将描述V-PCC基本流同步样本。

V-PCC基本流同步样本应满足以下所有条件:

1)它是可独立解码的;

2)在同步样本之后(以解码顺序)的样本对同步样本之前的任何样本都没有任何解码依赖性;并且

3)在同步样本之后(以解码顺序)的所有样本都是可成功解码的。

将描述根据实施方式的V-PCC基本流子样本。

根据实施方式的V-PCC基本流子样本是包含在V-PCC基本流样本中的V-PCC单元。

V-PCC基本流轨道可以在列出V-PCC基本流子样本的的其SampleTableBox中或其各个MovieFragmentBox的TrackFragmentBox中包含一个SubSampleInformationBox。

表示子样本的V-PCC单元的32位单元头应复制到SubSampleInformationBox中子样本条目的32位codec_specific_parameters字段。各个子样本的V-PCC单元类型通过解析SubSampleInformationBox中子样本条目的codec_specific_parameters字段来识别。

图29示出根据实施方式的V-PCC样本条目。

根据图29所示的实施方式的样本条目包括在图28所示的ISOBMFF文件中。根据实施方式的V-PCC样本条目可以包括包含V-PCC参数集29004的V-PCC单元(或NAL单元)、包括ASPS的NAL单元、包括AFPS的NAL单元和/或根据实施方式的SEI(SEI消息)。

如图29所示,根据实施方式的样本条目可以包含参考图24至26描述的样本流V-PCC单元和/或参考图27描述的样本流NAL单元中的一者或两者。

样本流VPCC头29001表示图24的样本流VPCC头或图25的样本流VPCC头25001和25004。

样本流NAL头29002表示根据图27的实施方式的样本流NAL头27001。

VPCCUnitHeaderBox可以表示例如图24所示的V-PCC单元头24001b和/或V-PCC单元大小24001a、图26的V-PCC单元头26000、包括在图27的样本流NAL单元27002和27004中的NAL单元头。

样本流V-PCC单元29004可以表示例如图24所示的V-PCC单元24001b和24001c或V-PCC单元有效载荷24001c。

样本流NAL单元29005可以表示例如图27所示的样本流NAL单元27002。

图30示出根据实施方式的用于重构或渲染点云数据的参数的作用。

图30示出根据实施方式的点云数据30000、朝着点云数据定向的真实相机或虚拟相机30001、根据实施方式的真实相机和/或虚拟相机30001朝着定向的三维(3D)空间中的区域30002(视锥体)、通过将真实相机和/或虚拟相机30001朝着定向的3D空间中的区域投影到2D平面上而获得的区域30003(视图)。

根据实施方式的点云数据发送装置可以提供关于V-PCC内容的3D区域信息,以支持根据用户视口和与所关联的视频或阿特拉斯帧中的2D区域相关的元数据空间访问V-PCC内容。

虚拟相机30001可以是表示用户注视(或眼睛)的概念,即,用户对部分3D区域的视图。

视锥体30002表示3D空间中的区域,该区域包括根据实施方式的点云数据接收装置实际渲染和显示给用户的全部或部分点云数据。

视锥体不需要被配置成如图30所示的三维形状。视锥体可以配置成锥形(或截头锥形),例如,诸如可见锥。

视图30003可以表示实际显示的2D图像/视频帧。

根据实施方式的V-PCC比特流可以包含用于生成通过根据实施方式渲染点云数据提供给用户的视图的信息(例如,ViewInfoStruct等)。

例如,根据实施方式的V-PCC比特流可以包含指示用于生成根据实施方式的视图的真实或虚拟相机在3D空间中的位置的位置信息、真实或虚拟相机在3D空间中的水平视场(FOV)和垂直FOV、指示真实或虚拟相机观察方向的信息(方向向量),以及指示真实或虚拟相机的向上方向的向上向量信息。

根据实施方式的点云数据接收装置可以基于位置信息确定用户眼睛的位置,并且基于确定的位置来重构或创建将给用户看到的视图30003或视锥体30002。

根据实施方式的点云数据接收装置可以基于方向向量确定用户注视的方向,并且基于确定的方向来重构或创建将给用户看到的视图30003或视锥体30002。

根据实施方式的点云数据接收装置可以基于向上向量(例如,根据实施方式的相对于方向向量的旋转度)确定用户眼睛的旋转度,并且基于确定的旋转度来重构或创建将给用户看到的视图30003或视锥体30002。

根据实施方式的点云数据接收装置可以基于V-PCC比特流中与上述相对应的信息来推断和生成用户的视锥体。

根据实施方式的点云数据接收装置可以基于视锥体生成实际显示给用户的视图。例如,接收装置可以通过以2D帧的形式投影视锥体来生成视图。

为了执行根据图30所示的实施方式的发送装置的操作,根据实施方式的发送装置的编码器生成指示上述位置信息、上述水平FOV和垂直FOV、上述方向向量和/或上述向上向量信息的位置信息,并且根据实施方式的发送装置的封装器对生成的信息进行封装。

为了执行根据图30所示的实施方式的发送装置的操作,根据实施方式的发送装置的封装器可以生成并封装指示上述位置信息、上述水平FOV和垂直FOV、上述方向向量和/或上述向上向量信息的位置信息。

将参考图31详细描述由根据实施方式的发送装置以封装文件(例如,ISOBMFF文件)的形式发送根据实施方式的视图信息(例如,ViewInfoStruct)的方法。

为了执行根据图30所示的实施方式的接收装置的操作,根据实施方式的发送装置10000的编码器10002、图4和图15的编码装置100、以及图18的视频编码器18006、图20的视频编码器20002和视频/图像编码器20003以及图21的视频/图像编码器21007和21008生成参考图30描述的信息并生成点云数据。如图24所示,编码数据可以配置在比特流24000中。

具体地,参考图30描述的信息可以包含在根据实施方式的点云比特流24000的阿特拉斯数据24002e中。阿特拉斯数据24002e可以被称为阿特拉斯序列参数集。

当根据实施方式的封装器(例如,图1、图20和图21的封装器10003、20004、21009)将点云数据(或阿特拉斯数据24002e)按单轨道封装时,包含参考图30描述的信息的点云比特流24000可以包含在轨道(V3C比特流轨道或V3C比特流轨道)的样本条目、样本或子样本中。当按多轨道封装时,数据可以被承载在多个轨道中的V3C轨道(例如,图28的V-PCC轨道28002d)中,并且包含参考图30描述的信息的点云比特流24000可以被包括在补片序列数据比特流28003d中。

另外,编码的数据(例如,图24所示的V-PCC比特流中承载的数据)可以由图1的文件/片段封装器10003、图20和图21的文件/片段封装器20004、21009等封装并以单个文件(例如,ISOBMFF文件)的形式发送。

根据实施方式的发送装置可以使播放器等能够根据用户视口对点云对象和/或内容执行空间访问或部分访问。根据实施方式的发送装置提供上述视图信息,并且接收装置基于视图信息执行渲染。因此,接收装置可以根据用户视口自适应且高效地访问和处理点云比特流。

图31示出根据实施方式的用于重构或渲染点云数据的参数的语法示例。

用于根据图31所示的实施方式重构或渲染点云数据的参数可以包含在根据实施方式的V-PCC比特流(或通过封装比特流生成的文件)中。

用于重构或渲染点云数据的参数可以包括view_pos_x、view_pos_y、view_pos_z、view_vfov、view_hfov、view_dir_x、view_dir_y、view_dir_z、view_up_x、view_up_y和/或view_up_z。

具体地,用于重构或渲染点云数据的参数可以由根据实施方式的编码器(例如,图1的编码器10002、图4和图15的编码装置100、图18的视频编码器18006、图20的视频编码器20002和图像编码器20003以及图21的视频/图像编码器21007和21008等)生成和编码,并被包括在图24的阿特拉斯数据24002e或V-PCC参数集24002a中,或者图27的样本流NAL单元中的阿特拉斯拼块组中。它们可以被封装器(例如,图1的文件/片段封装器10003、图20和图21的文件/片段封装器20004、21009)封装并且被包括在文件中的一个或更多个轨道中。

例如,用于重构或渲染点云数据的参数可以由图28的V-PCC轨道28002d承载,并且可以被封装以包含在补片序列数据比特流28803d中。例如,用于重构或渲染点云数据的参数可以被封装以包含在图24所示的阿特拉斯数据24002e或图28的补片序列数据比特流28003d中的图27所示的样本流NAL单元中的阿特拉斯拼块组中。

当根据实施方式的封装器(例如,图1、图20和图21的封装器10003、20004、21009)将点云数据(或阿特拉斯数据24002e)按单轨道封装时,包含参考图31描述的信息的点云比特流24000可以包含在轨道(V3C比特流轨道或V3C比特流轨道)的样本条目、样本或子样本中。当按多轨道封装时,数据可以被承载在多个轨道中的V3C轨道(例如,图28的V-PCC轨道28002d)中,并且包含参考图31描述的信息的点云比特流24000可以被包括在补片序列数据比特流28003d中。

根据实施方式的用于重构或渲染点云数据的参数可以被称为例如ViewInfoStruct和视图信息。根据实施方式的用于重构或渲染点云数据的参数可以是执行参考图31描述的操作所需的参数。

view_pos_x、view_pos_y和view_pos_z分别指示根据实施方式的用于生成用户视图的真实或虚拟相机在3D空间中的x、y和z坐标值。

view_vfov和view_hfov指示被配置为生成用户视图的真实或虚拟相机的垂直FOV和水平FOV。

根据实施方式的用于重构或渲染点云数据的参数可以包括表示相机的取向方向的信息。表示相机的取向方向的信息可以包括view_dir_x、view_dir_y、view_dir_z、view_up_x、view_up_y、view_up_z等。

view_dir_x、view_dir_y和view_dir_z可以指示3D空间中的x、y和z坐标值,以表示指示真实或虚拟相机的视图取向的方向向量。例如,view_dir_x、view_dir_y和view_dir_z可以表示真实或虚拟相机朝着取向的可见锥的方向向量。

view_up_x、view_up_y和view_up_z可以指示3D空间中的x、y和z坐标值,以表示指示真实或虚拟相机的向上方向的向上向量。例如,view_up_x、view_up_y和view_up_z可以表示真实或虚拟相机所朝向的可见锥的向上向量。

根据实施方式的真实或虚拟相机的向上方向可以与根据实施方式的真实或虚拟相机的正面方向或观察方向(例如,视图方向)正交。

根据实施方式的用于重构或渲染点云数据的参数(例如,ViewInfoStruct)可以被包括在根据实施方式的比特流中的SEI消息(或SEI)中并且被发送到接收器。例如,用于重构或渲染点云数据的部分或全部参数可以包括在场景对象信息SEI消息中,并且可以由根据实施方式的封装器存储并承载在文件中。

根据实施方式的用于重构或渲染点云数据的参数可以由发送装置封装,以包括在例如V-PCC视图信息盒中。

例如,根据实施方式的用于重构或渲染点云数据的参数可以根据以下语法被封装,以包括在V-PCC视图信息盒中。

aligned(8)class VPCCViewInfoBox extends FullBox(′vpvr′,0,0){

ViewInfoStruct();

}

根据实施方式的V-PCC视图信息盒包含用于重构或渲染点云数据的参数(例如,ViewInfoStruct、视图信息)。

根据实施方式的视图信息可以在点云数据序列内不改变。例如,根据实施方式的视图信息可以是不随时间推移改变的静态信息。

V-PCC轨道的样本条目可以包含VPCCViewInfoBox(即,根据实施方式的视图信息)。例如,V-PCC轨道的样本条目可以具有以下语法。

VPCCViewInfoBox包含用于生成根据实施方式的视图的详细信息,在该实施方式中,与包括在V-PCC轨道中的样本中的阿特拉斯帧相关的点云数据被渲染和提供。VPCCViewInfoBox可以表示根据实施方式的V-PCC视图信息盒。VPCCViewInfoBox可以包含用于重构或渲染根据实施方式的点云数据的参数。

根据实施方式的V-PCC基本流轨道的样本条目可以包含VPCCViewInfoBox(即,它可以包含根据实施方式的视图信息)。例如,V-PCC基本流轨道的样本条目可以具有以下语法。

VPCCViewInfoBox表示用于生成视图的信息,该视图通过渲染与存储在轨道中的子样本中的阿特拉斯帧或视频帧相关联的点云数据而提供。VPCCViewInfoBox可以表示根据实施方式的V-PCC视图信息盒。VPCCViewInfoBox可以包含用于重构或渲染根据实施方式的点云数据的参数。

根据实施方式的视图信息可以被封装或承载在V-PCC视图信息采样组中。将描述该实施方式。

用于样本分组的‘vpvs’grouping_type表示将根据实施方式的V-PCC轨道中的样本指派给该样本组中承载的视图信息。当存在grouping_type等于‘vpvs’的SampleToGroupBox时,可能会存在具有相同分组类型的随附SampleGroupDescriptionBox,并包含该组样本的ID。

根据实施方式的VPCCViewInfoSampleGroupDescriptionEntry可以具有以下语法。

aligned(8)class VPCCViewInfoSampleGroupDescriptionEntry()extendsSampleGroupDescriptionEntry(′vpvs′){

ViewInfoStruct();

}

根据实施方式的视图信息可以随时间推移改变。在这种情况下,根据实施方式的视图信息可以被承载在具有样本条目类型“dyvi”的相关联的定时元数据轨道中。

当V-PCC轨道包括具有样本条目类型‘dyvi’的相关联的定时元数据轨道时,根据实施方式的视图信息可以由被考虑是动态的(即,视图信息随时间推移动态变化)V-PCC轨道承载的点云数据定义,例如,DynamicViewInfoSampleEntry。

根据实施方式的相关联的定时元数据轨道可以包括用于参考承载阿特拉斯流的V-PCC轨道的‘cdsc’轨道参考。

当根据实施方式的V-PCC基本流轨道具有样本条目类型为‘dyvi’的相关联的定时元数据轨道时,根据实施方式的视图信息可以由被考虑是动态的(即,视图信息可以随时间推移动态变化)V-PCC基本轨道承载的点云数据(流)定义。

根据实施方式的相关联的定时元数据轨道可以包括用于参考V-PCC基本流轨道的‘cdsc’轨道参考。

根据实施方式的V-PCC基本流轨道具有样本条目类型‘dyvi’的相关联的定时元数据轨道的样本条目可以具有以下语法。

init_view_info可以包括视图信息,该视图信息包括根据实施方式的点云数据的初始视图。

根据实施方式的样本条目类型为‘dyvi’的样本的语法可以被配置如下。

aligned(8)DynamicViewInfoSample(){

VPCCViewInfoBox view_info;

}

根据实施方式,根据实施方式的样本条目类型为‘dyvi’的样本可以包括随时间推移改变的动态视图信息(VPCCViewInfoBox view_info)。

根据实施方式的发送装置可以使播放器等能够根据用户视口执行对点云对象和/或内容的空间访问或部分访问。根据实施方式的发送装置提供上述视图信息,并且接收装置基于视图信息执行渲染。因此,接收装置可以根据用户视口自适应且高效地访问和处理点云比特流。

图32示出根据实施方式的用于重构或渲染点云数据的参数的语法示例。

图32示出根据实施方式的在渲染或重构点云数据中使用的渲染参数。根据实施方式的渲染参数可以是在渲染根据实施方式的点云数据中使用的信息。例如,当点云数据被渲染时,渲染参数可以包括点的大小、点的渲染类型以及关于如何处理重复点的信息(例如,是否显示重复点)。

具体地,渲染参数可以由根据实施方式的编码器(例如,图1的编码器10002、图4和图15的编码装置100、和图18的视频编码器18006、图20的视频编码器20002和图像编码器20003以及图21的视频/图像编码器21007和21008等)生成和编码,并被包括在图24的阿特拉斯数据24002e或图27的样本流NAL单元中的阿特拉斯拼块组中。它们可以被封装器(例如,图1的文件/片段封装器10003、图20和图21的文件/片段封装器20004、21009)封装并且被包括在文件中的一个或更多个轨道中。

当根据实施方式的封装器(例如,图1、图20和图21的封装器10003、20004、21009)将点云数据(或阿特拉斯数据24002e)按单轨道封装时,包含参考图32描述的信息的点云比特流24000可以包含在轨道(V3C比特流轨道或V3C比特流轨道)的样本条目、样本或子样本中。参考图30描述的信息可以包含在样本或子样本中的SEI消息中。当按多轨道封装时,数据可以被承载在多个轨道中的V3C轨道(例如,图28的V-PCC轨道28002d)中,并且包含参考图31描述的信息的点云比特流24000可以被包括在补片序列数据比特流28003d中。补片序列数据比特流28803d可以被称为阿特拉斯比特流。

图32示出根据实施方式的渲染参数的语法示例。渲染参数可以被称为例如RenderingParamStruct。

point_size可以指示根据实施方式要渲染(重构)或显示的点云数据的点的大小。

point_type可以指示根据实施方式要渲染(重构)或显示的点云数据的点的类型。例如,当point_type等于0时,根据实施方式的点可以表示为长方体或立方体。当point_type等于1时,该点可以表示为圆或球体。当point_type等于2时,该点可以表示为一个点。作为另一示例,该点可以具有各种类型,诸如正四面体。

duplicated_point可以指示当根据实施方式的接收装置呈现(重构)或显示多个点时如何处理3D空间中具有相同x、y和z值的多个点(当存在时)。例如,当duplicated_point等于0时,可以忽略重复的点。当duplicated_point等于1时,只能随机选择一个点并渲染(重构)/显示。另外,当duplicated_point等于2时,可以基于重复点的属性数据的平均值来渲染/显示重复点。

根据实施方式的点云内容的生产者可以针对特定点设置point_size和point_type信息。因此,根据实施方式的点云数据发送装置可能会发信号通知点的类型和大小,从而使接收器装置可以渲染适合内容的类型/大小的点。

根据实施方式的V-PCC比特流可以包含根据实施方式的渲染参数。

根据实施方式的点云数据接收装置在基于point_size信息渲染(或重构)点云数据时确定点云数据的点的大小。

根据实施方式的点云数据接收装置在基于point_type信息渲染(或重构)点云数据时确定点云数据的点的形状。

为了执行上述接收装置的操作,根据实施方式的发送装置的编码器生成信息,诸如点的大小、点的渲染类型以及关于如何处理重复的点(例如,是否显示重复的点)的信息,根据实施方式的发送装置的封装器对生成的信息进行封装。

为了执行上述接收装置的操作,根据实施方式的发送装置的封装器可以生成并封装信息,诸如点的大小、点的渲染类型以及关于如何处理重复的点(例如,是否显示重复的点)的信息。

在下文中,将详细描述由根据实施方式的发送装置以封装文件(例如,ISOBMFF文件)的形式发送根据实施方式的渲染参数信息(例如,RenderingParameterStruct)的方法。

根据实施方式的渲染参数信息可以以SEI等形式承载在包含点云数据的V-PCC比特流中。例如,渲染参数信息或包括在渲染参数信息中的一些或全部参数可以被包括在场景对象信息SEI消息中。

例如,渲染参数信息可以包含在具有以下语法的PCCRenderingParamBox中。

根据实施方式的渲染参数信息可以在点云数据序列内不改变。例如,根据实施方式的渲染参数信息可以是不随时间推移改变的静态信息。

V-PCC轨道的样本条目可以包括根据实施方式的VPCCRenderingParamBox(即,根据实施方式的渲染参数信息)。例如,V-PCC轨道的样本条目可以具有以下语法。

VPCCRenderingParamBox可以包括详细的渲染参数信息,该详细的渲染参数信息可以应用于渲染与包括在轨道中的样本中的阿特拉斯帧相关联的点云数据。VPCCRenderingParamBox可以包括根据实施方式的渲染参数信息。

根据实施方式的V-PCC基本流轨道的样本条目可以包括根据实施方式的VPCCRenderingParamBox(即,根据实施方式的渲染参数信息)。例如,V-PCC基本流轨道的样本条目可以具有以下语法。

VPCCRenderingParamBox可以包括可以在渲染阿特拉斯帧、视频帧和/或存储在轨道中的子样本中的点云数据时应用的渲染参数信息。VPCCRenderingParamBox可以包括根据实施方式的渲染参数信息。

根据实施方式的渲染参数信息可以封装或承载在V-PCC渲染参数采样组中。将描述该实施方式。

用于样本分组的‘vprp’grouping_type表示根据实施方式将V-PCC轨道中的样本指派给该样本组中承载的渲染参数。当存在grouping_type等于‘vpvs’的SampleToGroupBox时,可能会存在具有相同分组类型的随附SampleGroupDescriptionBox,并包含该组样本的ID。

根据实施方式的V-PCC渲染参数采样组可以具有以下语法。

根据实施方式的渲染参数信息可以随时间推移改变。在这种情况下,根据实施方式的渲染参数信息可以被承载在具有样本条目类型为‘dyrp’的相关联的定时元数据轨道中。

当V-PCC轨道包括具有样本输入类型‘dyrp’的相关联的定时元数据时,根据实施方式的渲染参数信息可以由由被考虑是动态的(即,渲染参数信息随时间推移动态变化)V-PCC轨道承载的点云数据定义,例如,DynamicRenderingParamSampleEntry。

根据实施方式的相关联的定时元数据轨道可以包括用于参考承载阿特拉斯流的V-PCC轨道的‘cdsc’轨道参考。

当根据实施方式的V-PCC基本流轨道具有样本条目类型为‘dyrp’的相关联的定时元数据轨道时,根据实施方式的渲染参数信息可以由被考虑是动态的(即,渲染参数信息可以随时间推移动态变化)V-PCC基本轨道承载的点云数据(流)定义。

根据实施方式的相关联的定时元数据轨道可以包括用于参考V-PCC基本流轨道的‘cdsc’轨道参考。

根据实施方式的V-PCC基本流轨道具有样本条目类型‘dyrp’的相关联的定时元数据轨道的样本条目可以具有以下语法。

init_rendering_param可以包括根据实施方式的点云数据的初始渲染参数。

根据实施方式的样本条目类型‘dyrp’的样本的语法可以被配置如下。

aligned(8)DynamicRenderingParamSample(){

VPCCRenderingParamBox rendering_param;

}

根据实施方式的样本条目类型为‘dyrp’的样本可以包含根据实施方式的随时间推移改变的动态渲染参数信息(VPCCRenderingParamBox rendering_param)。每个样本可能包含随时间推移改变的渲染参数。

根据实施方式的发送装置可以使播放器等能够根据用户视口执行对点云对象和/或内容的空间访问或部分访问。根据实施方式的发送装置提供渲染参数,并且接收装置基于渲染参数对根据实施方式的点进行渲染。因此,接收装置可以根据用户视口自适应且高效地访问和处理点云比特流。

图33示出根据实施方式的用于重构或渲染点云数据的参数的作用。

图33示出根据实施方式的点云数据的对象33000、点云数据的对象的位置33001、点云数据的对象的方向向量3302和点云数据的对象的向上向量33003。

点云数据的对象33000可以表示点云数据的整体或包括在根据实施方式的点云数据中的一个对象(或人等)。即,点云数据可以由一个或更多个对象组成。

对象33000可以对应于例如真实对象(例如,一个场景中的对象)、物理对象或与其它属性相关的概念对象。对象可以被称为对象、体积数据、体积场景数据等。

点云数据的对象的位置33001表示根据实施方式的点云数据的对象所在的地方。点云数据的对象的位置33001可以是根据实施方式的接收装置对对象进行渲染或重构的参考点。根据实施方式的点云数据的对象的位置33001可以表示包括对象的点云数据(体积数据)的3D空间中的边界框的参考点。参考点也可以称为锚点。点云数据的对象的位置33001(即,锚点的位置)可以表示为相对于3D空间中的边界框的原点在x轴、y轴、z轴上的坐标。

点云数据的对象的方向向量33002表示根据实施方式的点云数据的对象所面对的方向。点云数据的对象的方向向量33002可以是根据实施方式的接收装置在渲染或重构对象时用作参考的方向向量。根据实施方式的对象的方向向量33002可以被称为前向方向向量、法向向量或前向向量。

点云数据的对象的向上向量33003表示根据实施方式的点云数据对象的向上方向。点云数据的对象的向上向量33003可以是作为参考的向量,以在根据实施方式的接收装置渲染或重构对象时确定对象的旋转度。根据实施方式的点云数据的对象的向上向量33003可以与根据实施方式的点云数据的对象的方向向量33002是正交的。根据实施方式的对象的向上向量33003可以称为正交矢量。

根据实施方式的点云数据接收装置基于构成点云数据的对象33000的数据和/或点云数据的对象的位置33001在正确的位置处渲染或重构点云数据的对象33000。

根据实施方式的点云数据接收装置基于构成点云数据的对象33000的数据和/或点云数据的对象的方向向量33002在正确的方向上渲染或重构点云数据的对象33000。

根据实施方式的点云数据接收装置基于构成点云数据的对象33000的数据和/或点云数据的对象的向上向量33003在正确的旋转方向上渲染或重构点云数据的对象33000。

根据实施方式的点云数据发送装置可以在元数据中发送指示点云数据的对象的位置33001的信息、指示点云数据的对象的方向向量33002的信息以及指示点云数据的对象的向上向量33003的信息。这种与对象相关的信息可以被称为例如对象渲染信息。

具体地,对象渲染信息可以由根据实施方式的编码器(例如,图1的编码器10002、图4和图15的编码装置100、图18的视频编码器18006、图20的视频编码器20002和图像编码器20003以及图21的视频/图像编码器21007和21008等)生成和编码,并被包括在图24的阿特拉斯数据24002e或V-PCC参数集24002a或图27的样本流NAL单元中的阿特拉斯拼块组中。它们可以被封装器(例如,图1的文件/片段封装器10003、图20和图21的文件/片段封装器20004、21009)封装并且被包括在文件中的一个或更多个轨道中。

例如,当根据实施方式的文件是单个轨道时,用于重构或渲染点云数据的参数可以由该轨道承载。它们可以被包括在在轨道中承载的样本或样本条目(例如,图28的补片序列数据比特流28003d、图24所示的阿特拉斯数据24002e、或图27所示的样本流NAL单元中的阿特拉斯拼块组)中。

例如,根据实施方式,当文件是多轨道时,用于重构或渲染点云数据的参数可以由图28的V-PCC轨道28002d承载,并且可以被封装以包括在补片序列数据比特流28003d中。例如,用于重构或渲染点云数据的参数可以被封装以包含在图24所示的阿特拉斯数据24002e或图28的补片序列数据比特流28003d中的图27所示的样本流NAL单元中的阿特拉斯拼块组中。

当根据实施方式的封装器(例如,图1、图20和图21的封装器10003、20004、21009)将点云数据(或阿特拉斯数据24002e)按单个轨道封装时,包含参考图33描述的信息的点云比特流24000可以包含在轨道(V3C比特流轨道或V3C比特流轨道)的样本条目、样本或子样本中。参考图33描述的信息可以包含在样本或子样本中的SEI消息中。当按多轨道封装时,数据可以被承载在多个轨道中的V3C轨道(例如,图28的V-PCC轨道28002d)中,并且包含参考图33描述的信息的点云比特流24000可以被包括在补片序列数据比特流28003d中。

为了执行上述接收装置的操作,根据实施方式的发送装置的封装器(例如,图1中的10003、图20中的20004、图21中的21009)或编码器(图1中的10002、图4和图15中的100、图18中的18006、图20中的20002和20003、图21中的21007、21007和21008)生成指示根据实施方式的点云数据的对象的位置33001的信息(例如,图34的obj_pos_x、obj_pos_y、obj_pos_z)、指示点云数据的对象的方向向量33002的信息以及指示点云数据的对象的向上向量33003的信息,并且根据实施方式的发送装置的封装器对生成的信息进行封装。

为了执行上述接收装置的操作,根据实施方式的发送装置的封装器(例如,图1中的10003、图20中的20004、图21中的21009)或编码器(图1中的10002、图4和图15中的100、图18中的18006、图20中的20002和20003、图21中的21007、21007和21008)可以生成并封装指示点云数据的对象的位置33001的信息、指示点云数据的对象的方向向量33002的信息以及指示根据实施方式的点云数据的对象的向上向量33003的信息。

对象渲染信息可以包括例如对一个或更多个对象的提取和渲染有用的属性。例如,对象渲染信息可以包括用于标识对象的对象标识符(或对象标记信息等)、指示对象是否可见的信息、可见锥信息和材料ID,以及与与其它对象的碰撞相关的碰撞信息。对象。

将参考图34详细描述由根据实施方式的发送装置以封装文件(例如,ISOBMFF文件)的形式发送根据实施方式的对象渲染信息的方法。

根据实施方式的发送装置可以使播放器等能够根据用户视口执行对点云对象和/或内容的空间访问或部分访问。根据实施方式的发送装置提供对象渲染信息,并且接收装置基于对象渲染信息执行渲染。因此,接收装置可以根据用户视口自适应且高效地访问和处理点云比特流。

图34示出根据实施方式的用于重构或渲染点云数据的对象的参数的语法示例。

图34示出对象渲染信息的语法示例。根据实施方式的对象渲染信息可以是参考图33描述的对象渲染信息。根据实施方式,对象可以被称为对象、体积数据、体积场景数据等。

对象渲染信息是指用于点云数据的体积数据的信息。

包含在图34所示的对象渲染信息中的参数可以包含在根据实施方式的V-PCC比特流(或包含在比特流中的元数据)中。包含在对象渲染信息中的参数可以包括obj_id、obj_coord_type、obj_pos_x、obj_pos_y、obj_pos_z、obj_dir_x、obj_dir_y、obj_dir_z、obj_up_x、obj_up_y、obj_up_z、obj_scale_x、obj_scale_y和/或obj_scale_z。

obj_id是根据实施方式的用于识别点云数据的对象(或体积数据)的标识符。

obj_coord_type可以指示用于根据实施方式的接收装置渲染点云数据的对象(或体积数据)的坐标系。当该参数的值为0时,它指示使用全局坐标。当该参数的值为1时,它指示使用视图坐标。这里,视图坐标指的是可以用于生成视口数据的虚拟相机的坐标。

obj_pos_x、obj_pos_y和obj_pos_z指示点云数据的边界框(例如,原点、中心点、参考点、锚点等)在obj_coord_type指示的坐标系中的位置的x、y和z坐标值。根据实施方式的obj_pos_x、obj_pos_y和obj_pos_z的信息表示参考图33描述的对象的位置。

obj_dir_x、obj_dir_y和obj_dir_z指示3D空间中的用于表示指示根据实施方式的点云数据的前向方向的方向向量(或法向向量)的x、y和z坐标值。根据实施方式的obj_dir_x、obj_dir_y和obj_dir_z的信息表示参考图33描述的对象的方向向量。

obj_up_x、obj_up_y和obj_up_z指示3D空间中的用于表示指示点云数据的对象(或点云数据)的向上方向的向上向量的x、y和z坐标值。根据实施方式的obj_up_x、obj_up_y和obj_up_z的信息表示参考图33描述的对象的向上向量。

obj_scale_x、obj_scale_y和obj_scale_z是要应用于x、y和z轴的缩放因子,作为指示与原始点云数据相比根据实施方式渲染或显示的点云数据的对象的放大或收缩程度的信息。

根据实施方式的真实或虚拟相机的向上方向可以与根据实施方式的真实或虚拟相机的正面方向或观察方向(例如,视图方向)正交。

根据实施方式,对象渲染信息(例如,ObjectRenderingInfoStruct)可以包含在根据实施方式的比特流中的SEI消息中并且被发送到接收装置。例如,对象渲染信息或包括在对象渲染信息中的一些或全部参数可以包含在场景对象信息SEI消息中。

根据实施方式的对象渲染信息可以由发送装置封装,以便包括在例如V-PCC对象渲染信息盒中。

例如,根据实施方式的对象渲染信息可以根据以下语法被封装,以承载在V-PCC对象渲染信息盒中。

根据实施方式的V-PCC对象渲染信息盒包括用于重构或渲染点云数据的对象的参数(例如,ObjectRenderingInfoStruct)。

根据实施方式的对象渲染信息可以在点云数据的序列内不改变。例如,根据实施方式的对象渲染信息可以是不随时间推移改变的静态信息。

V-PCC轨道的样本条目可以包含根据实施方式的VPCCObjectRenderingInfoBox(即,根据实施方式的对象渲染信息)。例如,V-PCC轨道的样本条目可以具有以下语法。

VPCCObjectRenderingInfoBox可以包含对象渲染信息,以渲染与点云数据相关的对象,该点云数据与包含在轨道中的样本中的阿特拉斯帧相关联。

根据实施方式的V-PCC基本流轨道的样本条目可以包括根据实施方式的VPCCObjectRenderingInfoBox(即,根据实施方式的对象渲染信息)。V-PCC基本流轨道的样本条目可以具有以下语法。

VPCCObjectRenderingInfoBox可以包含对象渲染信息,以渲染与阿特拉斯帧、视频帧和/或存储在轨道内的子样本中的点云数据相关联的对象。

根据实施方式的对象渲染信息可以封装或承载在V-PCC对象渲染信息采样组中。将描述该实施方式。

用于样本分组的‘vpoi’grouping_type表示根据实施方式的V-PCC轨道中的样本到该样本组中承载的对象渲染信息的指派。当存在grouping_type等于‘vpoi’的SampleToGroupBox时,可以存在具有相同分组类型的随附SampleGroupDescriptionBox,并包含该组样本的ID。

根据实施方式的V-PCC对象渲染信息样本分组信息(VPCCObjRenderingInfoSampleGroupDescriptionEntry)可以具有以下语法。

根据实施方式的对象渲染信息可以随时间推移改变。在这种情况下,根据实施方式的对象渲染信息可以被承载在具有样本条目类型‘dyoi’的相关联的定时元数据轨道中。

当V-PCC轨道包含具有样本条目类型为‘dyoi’的相关联的定时元数据轨道时,根据实施方式的对象渲染信息可以由通过被考虑是动态的(即,对象渲染信息随时间推移动态变化)V-PCC轨道承载的点云数据定义,例如,DynamicViewInfoSampleEntry。

根据实施方式的相关联的定时元数据轨道可以包括用于参考承载阿特拉斯流的V-PCC轨道的‘cdsc’轨道参考。

当根据实施方式的V-PCC基本流轨道具有样本条目类型为‘dyoi’的相关联的定时元数据轨道时,根据实施方式的对象渲染信息可以由被考虑是动态的(即,对象渲染信息可以随时间推移动态变化)V-PCC基本轨道承载的点云数据(流)定义。

根据实施方式的相关联的定时元数据轨道可以包括用于参考V-PCC基本流轨道的‘cdsc’轨道参考。

根据实施方式的V-PCC基本流轨道具有样本条目类型‘dyoi’的相关联的定时元数据轨道的样本条目可以具有以下语法。

init_obj_rendering可以包括用于渲染与点云数据相关联的初始对象的对象渲染信息。

根据实施方式的样本条目类型‘dyoi’的样本的语法可以被配置如下。

aligned(8)DynamicObjRenderingInfoSample(){

VPCCObjectRenderingInfoBox obj_rendering_info;

}

根据实施方式的样本条目类型‘dyoi’的样本可以包括根据实施方式的随时间推移改变的动态渲染参数信息。

根据实施方式的发送装置可以使播放器等能够根据用户视口对点云对象和/或内容执行空间访问或部分访问。根据实施方式的发送装置提供对象渲染信息,并且接收装置基于对象渲染信息来渲染根据实施方式的对象。因此,接收装置可以根据用户视口自适应且高效地访问和处理点云比特流。

图35示出根据实施方式的封装点云数据和关于点云数据的元数据的操作的示例。

图35示出根据实施方式的用于非定时V-PCC数据(例如,图像数据)的封装文件的示例。

图35可以示出在根据图20至图22的实施方式的文件/片段封装器20004和21009和/或文件/片段解封装器22000传送图像数据的情况下封装文件的结构。即使在传送图像数据时,根据实施方式的点云数据也可以按照单个项目或多项目被封装。

另一方面,图28所示的封装文件的示例可以示出在根据图20至图22的实施方式的文件/片段封装器20004和21009和/或文件/片段解封装器22000传送视频数据的情况下封装文件的结构(例如,按照单个轨道或多个轨道)。

图35示出非定时V-PCC数据的封装结构。非定时V-PCC数据表示不随时间推移移动的点云数据。

非定时V-PCC数据可以作为图像项存储在文件中。可以定义新的处理程序类型4CC代码“vpcc”并将其存储在MetaBox的HandlerBox中,以指示V-PCC项、V-PCC单元项和其它V-PCC编码内容表示信息的存在。

将描述根据实施方式的包括非定时V-PCC数据的V-PCC项。

V-PCC项是表示可独立解码的V-PCC访问单元的项。可以定义一个新的项类型4CC代码‘vpci’来识别V-PCC项。V-PCC项可以存储在根据实施方式的阿特拉斯子比特流的V-PCC单元有效载荷中。如果PrimaryItemBox存在,则该盒中的item_id应设置为指示V-PCC项。V-PCC项可以称为V3C项或基于视觉体积视频的编码项。

V-PCC单元项是表示V-PCC单元数据的项。V-PCC单元项存储根据实施方式的占用、几何和属性视频数据单元的V-PCC单元有效载荷。V-PCC单元项应仅存储一个V-PCC访问单元相关数据。V-PCC单元项可以称为V3C单元项或基于视觉体积视频的编码单元项。

可以根据用于编码对应视频数据单元的编解码器来设置用于V-PCC单元项的项类型4CC码。V-PCC单元项应与对应V-PCC单元头项属性和编解码器特定配置项属性相关联。

V-PCC单元项被标记为隐藏项,因为独立显示没有意义。

为了指示V-PCC项与V-PCC单元之间的关系,定义了具有4CC代码‘pcco’、‘pccg’和‘pcca’的三个新项目参考类型。项目参考被定义为“从”V-PCC项“到”相关的V-PCC单元项。项目参考类型的4CC代码为:

1)‘pcco’(或v3vo):参考的V-PCC单元项包含占用视频数据单元。

2)‘pccg’(或v3vg):参考的V-PCC单元项包含几何视频数据单元。

3)‘pcca’(或v3va):参考的V-PCC单元项包含属性视频数据单元。

将描述V-PCC相关项属性。描述性项属性被定义为分别承载V-PCC参数集信息和V-PCC单元头信息。V-PCC相关项属性可以包括例如V-PCC配置项属性、V-PCC单元头项属性、根据实施方式的V-PCC视图形成项属性、根据实施方式的V-PCC渲染参数以及V-PCC对象渲染信息项属性。

V-PCC相关项属性可以称为V3C相关项属性,V-PCC单元头信息可以称为V3C单元头信息。

将描述V-PCC配置项属性。

盒类型:‘vpcp’

属性类型:描述性项属性

容器:ItemPropertyContainerBox

强制性(各个项):是(对于‘vpci’类型的V-PCC项)

数量(各个项):一个或更多个(对于‘vpci’类型的V-PCC项)

V-PCC参数集被存储为描述性项属性并且与V-PCC项相关联。

V-PCC配置项属性可以称为V3C配置项属性。

根据实施方式的VPCC配置项属性(VPCCConfigurationProperty)可以具有以下语法。

vpcc_unit_payload_size指示vpcc_unit_payload()的大小。

将描述V-PCC单元头项属性。

盒类型:‘vunt’

属性类型:描述性项属性

容器:ItemPropertyContainerBox

强制性(各个项):是,对于‘vpci’类型的V-PCC项和V-PCC单元项

数量(各个项):一个

V-PCC单元头被存储为描述性项属性并且与V-PCC项和V-PCC单元项相关联。

V-PCC单元头项属性可以被称为V3C单元头项属性。

根据实施方式,可以以V-PCC视图信息项属性封装和发送非定时V-PCC数据的视图信息。

将描述根据实施方式的V-PCC视图信息项属性。

盒类型:‘vpvi’

属性类型:描述性项属性

容器:ItemPropertyContainerBox

强制性(各个项):是,对于‘vpci’类型的V-PCC项和V-PCC单元项

数量(各个项):一个

根据实施方式的视图信息可以被存储为描述性项属性并且与V-PCC项和V-PCC单元项相关联。

根据实施方式的V-PCC视图信息项属性(VPCCViewInfoproperty)的语法可以被配置如下所示。ViewInfoStruct可以包括根据实施方式的视图信息。

V-PCC视图信息项属性可以被称为V3C视图信息项属性。

根据用于非定时V-PCC数据的实施方式的渲染参数可以按照V-PCC渲染参数项属性被封装和发送。

将描述根据实施方式的V-PCC渲染参数项属性。

盒类型:‘vprp’

属性类型:描述性项属性

容器:ItemPropertyContainerBox

强制性(各个项):是,对于‘vpci’类型的V-PCC项和V-PCC单元项

数量(各个项):一个

根据实施方式的渲染参数可以被存储为描述性项属性并且与V-PCC项和V-PCC单元项相关联。

根据实施方式的V-PCC渲染参数项属性(VPCCRenderingParamsproperty)的语法可以被配置如下所示。RenderingParamStruct可以包含根据实施方式的渲染参数。

V-PCC渲染参数项属性可以称为V3C渲染参数项属性。

根据实施方式,用于非定时V-PCC数据的对象渲染信息可以按照V-PCC对象渲染信息项属性被封装和发送。

将描述根据实施方式的V-PCC对象渲染信息项属性。

盒类型:‘vpri’

属性类型:描述性项属性

容器:ItemPropertyContainerBox

强制性(各个项):是,对于‘vpci’类型的V-PCC项和V-PCC单元项

数量(各个项):一个

根据实施方式的对象渲染信息可以被存储为描述性项属性并且与V-PCC项和V-PCC单元项相关联。

根据实施方式的V-PCC对象渲染信息项属性(VPCCObjRenderingInfoproperty)的语法可以被配置如下所示。VPCCObjRenderingInfoproperty可以包含根据实施方式的对象渲染信息。

V-PCC对象渲染信息项属性可以被称为V3C对象渲染信息项属性。

根据实施方式的点云数据和用于点云数据的元数据可以被配置为基于参考图30至图35描述的方法封装点云数据的服务,以配置V-PCC比特流并存储文件。

根据实施方式,通过执行如参考图25至图35描述的封装,根据实施方式的发送装置可以在比特流中发送关于在V-PCC比特流中处理数据和执行渲染的元数据。

根据实施方式的发送装置可以允许播放器等根据用户视口执行对点云对象和/或点云内容的空间或部分访问。根据实施方式,发送设备可以提供上述视图信息,并且接收设备可以基于视图信息执行渲染。因此,接收设备可以根据用户视口自适应地且有效地访问和处理点云比特流。

根据实施方式的点云数据发送装置提供用于对点云内容(例如,V-PCC内容)及其信令信息的部分访问和/或空间访问的边界框。因此,根据实施方式的点云数据接收装置可以考虑播放器或用户环境以各种方式访问点云内容。

根据实施方式的点云数据发送装置可以提供关于V-PCC内容的3D区域信息,以根据用户视口和与所关联的视频或阿特拉斯帧中的2D区域相关的元数据来支持V-PCC内容的空间访问。

根据实施方式的点云数据发送装置(例如,图20的点云预处理器20001、图21的点云预处理器等)可以生成关于点云比特流中的点云的3D区域信息,以及与所关联的视频或阿特拉斯帧中的2D区域相关的信令信息。

关于点云的3D区域信息以及与所关联的视频或阿特拉斯帧中的2D区域相关的信令信息可以包括例如根据图30和图31所示实施方式的视图信息、根据图32所示实施方式的渲染参数和/或根据图33和图34所示实施方式的对象渲染信息。

根据实施方式的点云数据接收装置可以接收和/或解析关于点云的3D区域信息和文件(例如,ISOBMFF文件)中的与所关联的视频或阿特拉斯帧中的2D区域相关的信令信息。

根据实施方式的点云数据接收装置可以基于文件中的信息高效地访问根据实施方式的点云数据内容(例如,点云数据的点、对象等)。另外,根据实施方式的点云数据接收装置可以基于图像项、关于与图像项相关联的点云的3D区域信息以及文件(例如,包含根据实施方式的视图信息、根据图32所示的实施方式的渲染参数和/或根据图33和图34所示的实施方式的对象渲染信息等的文件)中的所关联的视频或阿特拉斯帧中的2D区域相关信息来提供考虑到用户环境的点云内容。

图36示出根据实施方式的点云数据发送方法和/或发送点云数据的数据处理方法。

根据实施方式的点云数据发送方法包括对点云数据进行编码(S0001)、对点云数据进行封装(S0002)和/或发送包含点云数据和/或关于点云的元数据的比特流(S0003)。

在对点云数据进行编码的操作S0001中,对根据实施方式的点云数据进行编码。例如,在编码操作S0001中,可以执行图1的点云视频编码器10002的操作、参考图3和/或图4描述的编码操作、根据图15的实施方式的编码装置100的部分或全部操作、根据图18的实施方式的视频编码器18006的操作、图20的视频编码20002和/或图像编码20003以及图21的视频编码21007和/或图像编码21008。

在对点云数据进行封装的操作S0002中,封装根据实施方式的编码的点云数据。例如,在封装操作S0002中,可以将根据实施方式的点云数据可以被封装成预定格式(例如,ISOBMFF格式)的文件。封装操作S0002表示图1的文件/片段封装模块10003的操作、图20的文件/片段封装器20004的操作以及图21的文件/片段封装器21009的操作。封装操作S0002可以表示例如以图28所示的文件格式封装根据实施方式的点云数据的操作。

在根据实施方式的封装操作S0002中,关于点云数据的渲染和/或重构的元数据也可以封装成单个文件。例如,在封装操作S0002中,可以基于参考图30至图35描述的方法,根据特定文件格式(例如,ISOBMFF文件格式)来封装根据实施方式的视图信息、渲染参数和/或对象渲染信息。

在发送点云数据的操作S0003中,发送根据实施方式的封装的点云数据(或非封装的点云数据等)。在发送点云数据的操作S0003中,根据实施方式的包含封装的点云数据和/或关于点云数据的元数据的比特流以文件(或比特流)的形式发送到根据实施方式的接收装置。

图37示出根据实施方式的点云数据接收方法和/或接收点云数据的数据处理方法。

根据实施方式的点云数据接收方法包括接收点云数据(S1001)、解封装点云数据(S1002)和/或对点云数据进行解码(S1003)。

在接收点云数据的操作S1001中,根据实施方式的点云数据接收装置接收点云数据。根据实施方式的点云数据接收装置可以接收包含点云数据和/或关于点云数据的元数据的比特流或文件(例如,ISOBMFF文件等)。

例如,在接收点云数据的操作S1001中,可以执行图1的接收器10006的操作、图19的接收器的操作、图20中基于视频的点云播放器接收文件的操作以及图22的传送操作。

可以以比特流格式接收点云数据。比特流可以包含例如一个或更多个文件。文件可以是例如基于ISOBMFF封装的文件。例如,接收装置接收到的比特流(或文件)可以是图24至图27所示的V-PCC比特流,或者可以是由一个或更多个轨道和如图28至图29所示对应于各个轨道的一个或更多个样本组成的基于ISOBMFF的封装文件。

元数据是关于根据实施方式的点云数据的信令信息。元数据可以包括根据实施方式的点云数据的渲染和/或重构所需的信息。例如,元数据可以包含参考图30至图35描述的信息和/或参数。

在解封装点云数据的操作S1002中,根据实施方式的接收到的点云数据(例如,比特流、ISOBMFF文件等)被解封装。例如,在解封装操作S1002中,可以将接收到的ISOBMFF文件转换或解压缩为如图24至图27所示的比特流。在解封装操作S1002中,可以执行图1的文件/片段解封装模块10007的操作、图20的文件/片段解封装器20005和/或图22的文件/片段解封装器22000的操作。

在对点云数据进行解码的操作S1002中,对解封装的点云数据进行解码。在对点云数据进行解码的操作S1002中,可以通过重构点云数据来解码点云数据。在对点云数据进行解码的操作S1002中,根据实施方式的解封装的点云数据被渲染、解码和/或重构。例如,在解码操作S1003中,可以执行根据图1的实施方式的点云视频解码器10008和/或渲染器10009的操作、根据图16的实施方式的V-PCC解码处理16000至16008的一些或全部操作、图17的解码装置200的一些或所有操作、图19的视频解码器19001、元数据解码器19002、几何重构器19003、平滑器19004、纹理重构器19005、颜色平滑器和/或点云渲染器的一些或全部操作、图20的视频解码器20006和图21的视频解码器22001和图像解码器22002的部分或全部操作。

已经根据方法和/或装置描述了实施方式。方法的描述和装置的描述可以相互补充。

尽管为了简单参考各个附图描述了实施方式,但是可以通过将附图所示的实施方式合并来设计新的实施方式。如果记录有用于执行上述实施方式的程序的计算机可读的记录介质是本领域技术人员所设计的,那么它也可以落入所附权利要求及其等同物的范围内。装置和方法可以不受上述实施方式的配置和方法的限制。上述实施方式可以通过完全或部分选择性地彼此组合来配置以实现各种修改。尽管已经参考附图描述了优选实施方式,但是本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可以对实施方式进行各种修改和变化。不应从实施方式的技术思想或观点单独理解此类修改。

实施方式的装置的各种元件可以由硬件、软件、固件或其组合实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可以分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可以包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可以执行根据实施方式的任一个或更多个操作/方法,或者包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可以被存储在被配置为由一个或更多个处理器执行的非暂时性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。换言之,本文档中的术语“或”应解释为“另外地或另选地。”

诸如第一和第二的术语可以用于描述实施方式的各种元件。然而,根据实施方式的各种组件不应受上述术语限制。这些术语仅用于将一个元件与另一元件相区分。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号均是用户输入信号,但除非上文清楚地另外规定,否则并不意味着相同的用户输入信号。

用于描述实施方式的术语仅用于描述特定实施方式的目的,并非旨在限制实施方式。如在实施方式的描述和权利要求中使用的,除非上文清楚地另外规定,否则单数形式“一”、“一个”、“该”包括复数指称物。表达“和/或”用于包括术语的所有可以能组合。诸如“包括”或“具有”的术语旨在指示存在图形、数量、步骤、元件和/或组件,应该被理解为不排除存在附加图形、数量、步骤、元件和/或组件的可能性。如本文所使用的,诸如“如果”和“当”的条件表达不限于可选情况,旨在被解释为当满足特定条件时执行相关操作或根据该特定条件解释相关定义。

根据本说明书中描述的实施方式的操作可以由包括根据实施方式的存储器和/或处理器的发送/接收装置来执行。存储器可以存储用于处理/控制根据实施方式的操作的程序,并且处理器可以控制本说明书中描述的各种操作。处理器可以被称为控制器等。在实施方式中,可以通过固件、软件和/或其组合来执行操作。固件、软件和/或其组合可以存储在处理器或存储器中。

根据上述实施方式的操作可以由根据实施方式的发送装置和/或接收装置来执行。发送/接收装置可以包括:发送器/接收器,其被配置为发送和接收媒体数据;存储器,其被配置为存储用于根据实施方式的处理的指令(程序代码、算法、流程图和/或数据);以及处理器,其被配置为控制发送/接收装置的操作。

处理器可以被称为控制器等,并且可以对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可以由处理器执行。另外,处理器可以实现为用于上述实施方式的操作的编码器/解码器。

本公开的模式

如上所述,已经以执行实施方式的最佳模式描述了相关细节。

工业实用性

如上所述,实施方式完全或部分适用于点云数据发送/接收装置和系统。

本领域技术人员可以在实施方式的范围内以各种方式改变或修改实施方式。

实施方式可以包括在权利要求及其等同物范围内的变型/修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号