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

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

Info

Publication number
CN115380528A
CN115380528A CN202180027813.8A CN202180027813A CN115380528A CN 115380528 A CN115380528 A CN 115380528A CN 202180027813 A CN202180027813 A CN 202180027813A CN 115380528 A CN115380528 A CN 115380528A
Authority
CN
China
Prior art keywords
point cloud
atlas
data
patch
pcc
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.)
Granted
Application number
CN202180027813.8A
Other languages
English (en)
Other versions
CN115380528B (zh
Inventor
李晋源
吴世珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN115380528A publication Critical patent/CN115380528A/zh
Application granted granted Critical
Publication of CN115380528B publication Critical patent/CN115380528B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (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示出补片、图集、图集拼块组、图集帧等。
图25示出根据实施方式的包含点云数据的比特流的结构。
图26示出根据实施方式的包含点云数据的比特流的结构。
图27示出根据实施方式的V-PCC单元和V-PCC单元头。
图28示出根据实施方式的V-PCC单元的有效载荷。
图29示出根据实施方式的V-PCC参数集。
图30示出根据实施方式的图集帧。
图31示出根据实施方式的图集比特流的结构。
图32示出根据实施方式的包含点云数据的比特流中所包括的样本流NAL单元、样本流NAL单元头、NAL单元和NAL单元头。
图33示出根据实施方式的NAL单元类型。
图34示出根据实施方式的图集序列参数集。
图35示出根据实施方式的图集帧参数集。
图36示出根据实施方式的atlas_frame_tile_information。
图37示出根据实施方式的atlas_adaptation_parameter_set。
图38示出根据实施方式的atlas_camera_parameters。
图39示出根据实施方式的atlas_tile_group_layer和atlas_tile_group_header。
图40示出根据实施方式的参考列表结构(ref_list_struct)。
图41示出根据实施方式的图集拼块组数据(atlas_tile_group_data_unit)。
图42示出根据实施方式的patch_information_data。
图43示出根据实施方式的patch_data_unit。
图44示出根据实施方式的V-PCC图集关系框。
图45示出根据实施方式的V-PCC全局图集信息框。
图46示出根据实施方式的动态图集关系样本组和动态全局图集信息样本组。
图47示出根据实施方式的用于封装非定时V-PCC数据的结构的概览。
图48示出根据实施方式的多个图集数据的文件封装操作。
图49示出根据实施方式的图集数据的文件解封装操作。
图50示出根据实施方式的文件级别信令。
图51示出根据实施方式的文件级别信令。
图52示出根据实施方式的V-PCC比特流和V-PCC文件格式的结构。
图53、图54和图55示出根据实施方式的场景对象信息。
图56示出根据实施方式的对象标签信息。
图57示出根据实施方式的补片信息。
图58示出体积矩形信息。
图59示出根据实施方式的图集子比特流中的SEI消息的层次结构。
图60示出根据实施方式的图集拼块组(或拼块)的配置。
图61示出根据实施方式的VPCC空间区域框。
图62示出根据实施方式的VPCC空间区域框。
图63、图64和图65是示出根据实施方式的文件封装的流程图。
图66和图67是示出根据实施方式的文件解封装器的操作的流程图。
图68示出根据实施方式的文件级别信令。
图69示出根据实施方式的文件级别信令。
图70示出根据实施方式的封装V-PCC数据容器结构。
图71示出根据实施方式的文件的结构。
图72示出根据实施方式的轨道。
图73示出根据实施方式的发送点云数据的方法。
图74示出根据实施方式的接收点云数据的方法。
具体实施方式
现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语选自本领域中广泛使用的一般术语,但是一些术语是申请人任意选择的,其含义在以下描述中根据需要详细说明。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图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可将在接收侧获得的反馈信息发送给点云视频解码器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)(或斯坦福三角形(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将点投影到边界框的一个面上。具体地,构成点云的各个点被投影到围绕点云的边界框的六个面之一上。初始分段是确定各个点要投影至的边界框的平坦面之一的处理。
Figure BDA0003884746990000161
其是与六个平坦面中的每一个对应的法向值,如下定义:
(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)。
如下式所示,在法向值计算处理中获得的各个点的法向量
Figure BDA0003884746990000162
Figure BDA0003884746990000163
的点积的值最大的面被确定为对应点的投影平面。即,法向量与点的法向量的方向最相似的平面被确定为点的投影平面。
Figure BDA0003884746990000164
所确定的平面可由一个集群索引(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移位法向轴上)减去在操作①中计算的补片的最小法向值(在补片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用于将块映射到补片的伪代码
Figure BDA0003884746990000211
Figure BDA0003884746990000221
图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空间的法向轴、切向轴和双切轴上补片的位置坐标为(δ0,s0,r0)时,映射到点(u,v)的位置在3D空间中的法向、切向和双切坐标δ(u,v)、s(u,v)和r(u,v)可表示如下。
δ(u,v)=δ0+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比特流)。
根据实施方式,视频编码器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、图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服务有关的内容数据并且将处理的内容数据提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可包括指示自驾驶服务的信号。
根据实施方式的点云数据发送方法/装置、根据实施方式的发送方法/装置的编码操作和编码器、点云数据发送方法/装置的封装和封装器、点云数据接收方法/装置、根据实施方式的点云数据接收方法/装置的解码操作和解码器、根据实施方式的点云数据接收方法/装置的解封装和解封装器可被简称为根据实施方式的方法/装置。
图24示出补片、图集、图集拼块组、图集帧等。
根据实施方式的方法/装置(例如,图1、图4、图15至图23等)可为多个图集数据生成、发送和接收多个V-PCC轨道。另外,可提供为包含多个图集数据或图集子比特流的V-PCC比特流配置一个或更多个V-PCC轨道的方法以及用信号通知和接收其的方法的文件格式定义。
根据实施方式的方法/装置(例如,图1、图4、图15至图23等)是用于提供点云内容服务的发送器(编码器)或接收器(解码器),其将V-PCC比特流高效地存储在文件的轨道中并提供其信令。
根据实施方式的方法/装置(例如,图1、图4、图15至图23等)涉及用于提供点云内容服务的发送器或接收器,其处理文件存储技术以支持对存储在文件中的V-PCC比特流的高效访问。
根据实施方式的方法/装置(例如,图1、图4、图15至图23等)支持V-PCC比特流在文件轨道中的高效存储、其信令以及对所存储的V-PCC比特流的高效访问。另外,通过为其添加(或者另外修改/组合)文件存储技术,V-PCC比特流可被划分并存储到文件中的一个或更多个轨道中。
根据实施方式的术语的定义如下。VPS:V-PCC参数集;AD:图集数据;OVD:占用视频数据;GVD:几何视频数据;AVD:属性视频数据;ACL:图集编码层;AAPS:图集适配参数集;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视频编码数据的视频轨道。
点云对象(点云数据目标)的V-PCC比特流可由一个或更多个图集数据组成。
各个图集数据可具有图26和图27的vpcc_unit_header()的vuh_atlas_id。图集数据和vuh_atlas_id可映射到彼此。根据实施方式的装置可通过vuh_atlas_id获取图集数据。
各个图集数据可具有与一个或更多个图集拼块组24000或可构成图集帧24001的图集拼块组的关联。
图集拼块可以是与拼块对应的图集比特流。补片24003的集合可以是图集拼块组,并且图集拼块组的集合可以是图集帧。
参照图24,根据实施方式的方法/装置可将由多个图集子比特流组成的V-PCC内容配置在多个V-PCC轨道中。
通常,三个图集拼块组可被配置在一个图集帧(例如,图集帧24002)中。
根据实施方式的标号24004和24005表示配置多个图集数据的情况。24004是一个图集数据包括一个图集拼块组的情况。24005是一个图集数据包括一个或更多个图集拼块组的情况。
根据实施方式的方法/装置可处理单个图集和/或多个图集,并且可为单个图集和/或多个图集提供数据存储方法和信令方法。
在单个图集24002的情况下,从点云对象获取的点云数据的帧可包括一个图集。例如,帧可包括图集拼块组或图集帧。
在多个图集24004和24005的情况下,从点云对象获取的点云数据的帧可包括一个图集。例如,三个图集中的每一个可包括三个图集拼块组。一个图集可包括图集帧,并且图集帧可包括图集拼块组。另外,两个图集中的一个可包括一个图集拼块组,另一图集可包括两个图集拼块组。一个图集帧可包括图集拼块组。
根据实施方式,图集帧可对应于图集,并且图集可被分割成拼块。补片可以是投影有点云对象的2D边界框,并且一个或更多个补片可被称为图集拼块组。图集可以是与2D边界框有关的信息和2D边界框。
图25示出根据实施方式的包含点云数据的比特流的结果。
图25是如图15至图23所示包含要编码/解码的根据实施方式的点云数据的比特流的结构。
根据实施方式的方法/装置生成动态点云对象的比特流。在这方面,提出了用于比特流的文件格式,并且提供了用于其的信令方案。
根据实施方式的方法/装置包括发送器、接收器和/或处理器以用于提供将V-PCC(=V3C)比特流高效地存储在文件的轨道中并提供其信令的点云内容服务。
根据实施方式的方法/装置提供了用于存储包含点云数据的V-PCC比特流的数据格式。因此,根据实施方式的接收方法/装置提供了用于接收点云数据并高效地访问点云数据的数据存储和信令方法。因此,基于用于高效访问的包含点云数据的文件的存储技术,发送器和/或接收器可提供点云内容服务。
图25示出由根据实施方式的方法/装置发送和接收的数据中所包含的点云比特流的结构。
根据实施方式的压缩和解压缩点云数据的方法表示点云视觉信息的体积编码和解码。
包含编码点云序列(CPCS)的点云比特流(可被称为V-PCC比特流或V3C比特流)25000可包括样本流V-PCC单元25010。样本流V-PCC单元25010可承载V-PCC参数集(VPS)数据25020、图集比特流25030、2D视频编码占用图比特流25040、2D视频编码几何比特流25050以及零个或一个或更多个2D视频编码属性比特流25060。
点云比特流25000可包括样本流VPCC头25070。
ssvh_unit_size_precision_bytes_minus1:通过将1与该值相加而获得的值指定所有样本流V-PCC单元中的ssvu_vpcc_unit_size元素的精度(字节)。ssvh_unit_size_precision_bytes_minus1可在0至7的范围内。
样本流V-PCC单元26010的句法26080如下配置。各个样本流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。
根据实施方式的方法/装置接收图25的包含编码点云数据的比特流,并且通过封装器20004或21009生成如图70至图72所示的文件。
根据实施方式的方法/装置接收如图70至图72所示的文件并且通过解封装器22000等对点云数据进行解码。
VPS 25020和/或AD 25030可被封装在轨道4(V3C轨道)70030中。OVD 25040可被封装在轨道2(占用轨道)70010中。GVD 25050可被封装在轨道3(几何轨道)70020中。AVD25060可被封装在轨道1(属性轨道)70000中。
图26示出根据实施方式的包含点云数据的比特流的结构。
图26的比特流26000对应于图25的比特流25000。图25和图26的比特流由图1的发送装置10000、图1的点云视频编码器10002、图4的编码器、图15的编码器、图18的发送装置、图20的处理器20001和图20的视频/图像编码器20002、图21的处理器21001至21006、视频/图像编码器21007和21008等生成。
图25和图26的比特流被图1的文件/片段封装器、图20的文件/片段封装器20004、图21的文件/片段封装器21009等存储在容器(图70至图72中的文件)中。
图25和图26的比特流由图1的发送器10004等发送。
包括图25和图26的比特流的容器(图70至图72中的文件)由图1中的接收装置10005、接收器10006等接收。
由图1的文件/片段解封装器10007、图20的文件/片段解封装器20005、图22的文件/片段解封装器22000等从容器解析图25和图26的比特流。
图25和图26的比特流由图1的点云视频解码器10008、图16的解码器、图17的解码器、图19的接收装置、图20的视频/图像解码器20006、图22的视频/图像解码器22001和22002、图22的处理器22003等解码并重构并且提供给用户。
包含在与根据实施方式的点云数据有关的比特流26000中的样本流V-PCC单元可包括V-PCC单元大小26010和V-PCC单元26020。
各个V-PCC单元26020可包括V-PCC单元头26030和V-PCC单元有效载荷26040。V-PCC单元头26030可描述V-PCC单元类型。属性视频数据的V-PCC单元头可描述属性类型、其索引、所支持的相同属性类型的多个实例等。
占用、几何和属性视频数据的单元有效载荷26050、26060和26070可对应于视频数据单元。例如,占用视频数据26050、几何视频数据26060和属性视频数据26070可以是HEVCNAL单元。这种视频数据可由根据实施方式的视频解码器解码。
图27示出根据实施方式的V-PCC单元和V-PCC单元头。
图27示出图26所示的V-PCC单元26020和V-PCC单元头26030的句法。
根据实施方式的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单元26020的类型。
[表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… 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编码点。
图28示出根据实施方式的V-PCC单元的有效载荷。
图28示出V-PCC单元有效载荷26040的句法。
当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单元的有效载荷中的信息。
图29示出根据实施方式的V-PCC参数集。
图29示出当根据实施方式的比特流的单元26020的有效载荷26040包含如图28所示的参数集时参数集的句法。
图29的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可具有可通过扩展包括的任何值。
图30示出根据实施方式的图集帧。
图30示出包括由图1的编码器10002、图4的编码器、图15的编码器、图18的发送装置、图20和图21的系统等编码的拼块的图集帧。该图示出包括由图1的解码器10008、图16和图17的解码器、图19的接收装置、图23的系统等解码的拼块的图集帧。
图集帧被划分为一个或更多个拼块行和一个或更多个拼块列。拼块是图集帧的矩形区域。拼块组包含图集帧的多个拼块。拼块和拼块组可彼此不区分,并且拼块组可对应于一个拼块。仅支持矩形拼块组。在该模式下,拼块组(或拼块)可包含图集帧的多个拼块,其共同形成图集帧的矩形区域。图30示出根据实施方式的图集帧的示例拼块组(或拼块)划分,其中图集帧被划分为24个拼块(6个拼块列和4个拼块行)和9个矩形拼块组。根据实施方式,拼块组可用作与拼块对应的术语,在拼块组和拼块之间不区分。
即,根据实施方式,拼块组49000可对应于拼块30010,并且可被称为拼块30010。另外,拼块30010可对应于拼块分区,并且可被称为拼块分区。术语信令信息也可改变和称呼。
图31示出根据实施方式的图集比特流的结构。
图31示出图26中的比特流26000的单元26020的有效载荷26040承载图集比特流的示例。
根据实施方式,术语“子”可被解释为意指部分。根据实施方式,子比特流可被解释为比特流。
根据实施方式,图集比特流可包含样本流NAL头和样本流NAL单元。
根据实施方式的各个样本流NAL单元可包括图集序列参数集(ASPS)(参见图34)、图集适配参数集(AAPS)(参见图37)、图集帧参数集(AFPS)(参见图35)、一个或更多个图集拼块组、一个或更多个必要SEI和一个或更多个非必要SEI。
参照图31,承载图集子比特流的V-PCC单元的V-PCC单元有效载荷可由一个或更多个样本流NAL单元组成。
以下,将描述图31的图集比特流中所包含的信息的句法。
图32示出包含根据实施方式的点云数据的比特流中所包括的样本流NAL单元、样本流NAL单元头、NAL单元和NAL单元头。
图32示出图31的图集比特流中所包含的数据的句法。
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_unit_type可具有如图52所示的值。nal_unit_type指定NAL单元中所包含的RBSP数据结构的类型。
nal_layer_id指定ACL NAL单元所属的层的标识符或非ACL NAL单元应用的层的标识符。
nal_temporal_id_plus1减1指定NAL单元的临时标识符。
图33示出根据实施方式的NAL单元类型。
图33示出图31的样本流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。
图34示出根据实施方式的图集序列参数集。
图34示出图31的图集比特流中所包含的图集序列参数集(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_extended_projection_enabled_flag等于0指定不针对当前图集拼块组用信号通知补片投影信息。asps_extended_projection_enabled_flag等于1指定针对当前图集拼块组或当前图集拼块用信号通知补片投影信息。
asps_normal_axis_limits_quantization_enabled_flag等于1指定应用信号通知量化参数并用于量化补片数据单元、合并补片数据单元或补片间数据单元的法向轴相关元素。如果asps_normal_axis_limits_quantization_enabled_flag等于0,则不对补片数据单元、合并补片数据单元或补片间数据单元的任何法向轴相关元素应用量化。
asps_normal_axis_max_delta_value_enabled_flag等于1指定索引j的帧中索引i的补片的几何信息中可能存在的法向轴的最大标称移位值将在各个补片数据单元、合并补片数据单元或补片间数据单元的比特流中指示。如果asps_normal_axis_max_delta_value_enabled_flag等于0,则索引j的帧中索引i的补片的几何信息中可能存在的法向轴的最大标称移位值不应在各个补片数据单元、合并补片数据单元或补片间数据单元的比特流中指示。
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_eom_patch_enabled_flag等于1指示当前图集的解码的占用图视频包含与两个深度图之间的中间深度位置是否被占用有关的信息。asps_eom_patch_enabled_flag等于0指示解码的占用图视频不包含与两个深度图之间的中间深度位置是否被占用有关的信息。
asps_point_local_reconstruction_enabled_flag等于1指示在当前图集的比特流中可存在点局部重构模式信息。asps_point_local_reconstruction_enabled_flag等于0指示在当前图集的比特流中不存在与点局部重构模式有关的信息。
asps_map_count_minus1加1指示可用于对当前图集的几何和属性数据进行编码的图的数量。
asps_pixel_deinterleaving_map_flag[i]等于1指示与当前图集中索引i的图对应的解码几何和属性视频包含与两个图对应的空间交织像素。asps_pixel_deinterleaving_map_flag[i]等于0指示与当前图集中索引i的图对应的解码几何和属性视频包含与单个图对应的像素。
asps_eom_fix_bit_count_minus1加1指示EOM码字的比特大小。
当asps_pixel_deinterleaving_enabled_flag或asps_point_local_reconstruction_enabled_flag等于1时,asps_surface_thickness_minus1加1指定明确编码的深度值与插值深度值之间的最大绝对差。
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可具有任何值。
rbsp_trailing_bits用于在添加停止比特1以指示RBSP数据结束之后用0填充剩余比特以便于字节对齐。
图35示出根据实施方式的图集帧参数集。
图35示出图31的图集比特流中所包含的图集帧参数集的详细句法。
图集帧参数集(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可包含扩展相关数据。
图36示出根据实施方式的atlas_frame_tile_information。
图36示出图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]包括在图集帧拼块信息中。
图37示出根据实施方式的atlas_adaptation_parameter_set。
图37示出图31的图集比特流中所包括的图集适配参数集。
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可具有各种值。
图38示出根据实施方式的atlas_camera_parameters。
图38示出图37中所包括的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。
图39示出根据实施方式的atlas_tile_group_layer和atlas_tile_group_header。
图39示出图31的图集比特流中所包括的图集拼块组层和图集拼块组头。
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填充剩余比特以便于字节对齐。
图40示出根据实施方式的参考列表结构(ref_list_struct)。
图40示出图39中所包括的参考列表结构。
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比特。
图41示出根据实施方式的图集拼块组数据(atlas_tile_group_data_unit)。
图41示出图31的图集比特流中所包括的图集拼块组数据。
atgdu_patch_mode[p]指示当前图集拼块组中索引p的补片的补片模式。atgh_type=SKIP_TILE_GRP的拼块组意指整个拼块组信息直接从与对应于第一参考图集帧的当前拼块组具有相同atgh_address的拼块组复制。
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示出可包括在图41中的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)。
图43示出根据实施方式的patch_data_unit。
图43示出包括在图42中的补片数据单元的详细信息。
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的补片的补片取向索引。
Figure BDA0003884746990000691
Figure BDA0003884746990000701
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)可包括用于使得解码器能够重构由于压缩损失等而丢失的点的信息。
SEI消息帮助与解码、重构、显示或其它目的有关的处理。根据实施方式,可存在两种类型的SEI消息:必要和非必要。
解码处理不需要非必要SEI消息。不需要一致解码器来处理该信息以便于输出顺序一致性。
必要SEI消息是V-PCC比特流的组成部分,并且不应从比特流去除。必要SEI消息可被归类为两种类型:
类型A必要SEI消息:这些SEI包含检查比特流一致性和输出定时解码器一致性所需的信息。符合点A的每一个V-PCC解码器不应丢弃任何相关的类型A必要SEI消息,而是考虑它们以便于比特流一致性和输出定时解码器一致性。
类型B必要SEI消息:旨在符合特定重构配置文件的V-PCC解码器不会丢弃任何相关的类型B必要SEI消息,而是可为了3D点云重构和一致性目的而考虑它们。
基于视频的点云压缩表示点云视觉信息的体积编码。包含编码点云序列(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单元头。
Figure BDA0003884746990000721
该记录包含版本字段。该版本可定义该记录的版本1。对记录的不兼容改变可由版本号的改变指示。解码器可基于版本号确定是否对该记录或比特流进行解码。
VPCCParameterSet阵列包括vpcc_parameter_set()。
SetupUnit阵列包括对于样本条目所参考的流恒定的图集参数集,其中存在解码器配置记录以及图集子流SEI消息。
对于样本条目所参考的流,SetupUnit阵列可为恒定的。可存在解码器配置记录以及图集子流SEI消息。
Figure BDA0003884746990000722
Figure BDA0003884746990000731
例如,vpccParameterSet可包含关于点云数据的信息,例如vps_v3c_parameter_set_id、vps_atlas_id、vps_frame_width[j]、vps_frame_height[j]、vps_multiple_map_streams_present_flag[j]、occupancy_information(j)、geometry_information(j)和attribute_information(j)。
unsigned int(8)numOfSetupUnitArrays;
Figure BDA0003884746990000732
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。
图44示出根据实施方式的V-PCC图集关系框。
图44示出根据V-PCC系统的文件(图70至图72)或项目(图47)中所包含的V-PCC图集关系框。
根据实施方式的V-PCC图集关系框可包括根据实施方式的VPCCAtlasRelationRecord。
class VPCCAtlasRelationBox extends Box('vpcA'){
VPCCAtlasRelationRecord VPCCAtlas;
}
VPCCAtlasRelationRecord是用于用信号通知包含多个图集数据的图集子比特流的结构,并且可包含诸如包括在图集数据中的图集拼块组的列表与id和/或图集数据之间的关系的信息。
Figure BDA0003884746990000751
entry_point_flag是值为真或假的标志。当设定为真时,其可用于指示多个V-PCC轨道当中用作入口点的V-PCC轨道。尽管建议对于多个V-PCC轨道当中的仅一个V-PCC轨道将entry_point_flag设定为值真,但是可对于一个或更多个V-PCC轨道将该标志设定为真。
num_atlas_data可指示包括在V-PCC轨道中的图集数据的数量。
atlas_id是用于标识包含在V-PCC轨道中的图集的id,并且可被映射至图27中描述的vpcc_unit_header()的vuh_atlas_id。
num_atlas_tile_groups可指示包含在图集数据中的图集拼块组的数量。
atlas_tile_group_id是用于标识图集拼块组的id,并且可被映射至图36中描述的atlas_frame_tile_information()的afti_tile_group_id。
num_vpcc_component_track_groups指示与图集数据关联的V-PCC组件轨道组的数量。
vpcc_component_track_group_id指示承载关联图集数据的V-PCC组件的轨道的轨道组。
当V-PCC组件轨道未被分组时,num_vpcc_component_tracks可指示关联V-PCC组件轨道的数量。
当V-PCC组件轨道未被分组时,vpcc_component_track_id是用于标识各个关联V-PCC组件轨道的id。
另外,可通过下面公开的NALUMapEntry来访问各个图集拼块组的图集数据。
当VPCCSpatialRegionsBox存在时,NALUMapEntry可存在于V-PCC轨道中。例如,NALUMapEntry可如ISO/IEC14496-15中指定那样配置。
当存在时,NALUMapEntry可用于向各个图集NAL单元指派标识符或groupID。
当存在时,NALUMapEntry可以或可以不链接到设定类型“nalm”的SampleToGroupBox的grouping_type_parameter的样本组描述。因此,类型“nalm”的SampleToGroupBox可以或可以不使用框的版本0。
图45示出根据实施方式的V-PCC全局图集信息框。
图45示出根据V-PCC系统的文件(图70至图72)或项目(图47)中所包括的V-PCC全局图集信息框。
V-PCC全局图集信息框
V-PCC全局图集信息框可包括VPCCGlobalAtlasInformationRecord。
class VPCCGlobalAtlasInformationBox extends Box('vpcA'){
VPCCGlobalAtlasInformationRecord GlobalAtlas;
}
VPCCGlobalAtlasInformationRecord是用于用信号通知包含在所有V-PCC轨道中的多个图集数据的结构,并且可包含诸如包括在图集数据中的图集拼块组的列表与ids和/或图集数据之间的关系的信息。仅VPCCGlobalAtlasInformationBox信息可包含在具有包括VPCCGlobalAtlasInformationBox的样本条目的V-PCC轨道(即,单独的V-PCC轨道,即,V-PCC主轨道)中。
Figure BDA0003884746990000771
num_vpcc_tracks可指示V-PCC轨道的数量。
track_id是用于标识V-PCC轨道的id。
entry_point_flag是值为真或假的标志。当设定为真时,其可用于指示多个V-PCC轨道当中用作入口点的V-PCC轨道。尽管建议对于多个V-PCC轨道当中的仅一个V-PCC轨道将entry_point_flag设定为值真,但是可对于一个或更多个V-PCC轨道将该标志设定为真。
num_atlas_data可指示具有track_id的V-PCC轨道中所包含的图集数据的数量。
atlas_id是用于标识具有track_id的V-PCC轨道中所包含的图集数据的id,并且可被映射至[第5.2节V-PCC]中描述的vpcc_unit_header()的vuh_atlas_id。
num_atlas_tile_groups可指示包含在图集数据中的图集拼块组的数量。
atlas_tile_group_id是用于标识图集拼块组的id,并且可被映射至图36中的图集子比特流和参数集中描述的atlas_frame_tile_information()的afti_tile_group_id。
num_vpcc_component_track_groups指示与图集数据关联的V-PCC组件轨道组的数量。
vpcc_component_track_group_id指示承载关联图集数据的V-PCC组件的轨道的轨道组。
当V-PCC组件轨道未被分组时,num_vpcc_component_tracks可指示关联V-PCC组件轨道的数量。
当V-PCC组件轨道未被分组时,vpcc_component_track_id是用于标识各个关联V-PCC组件轨道的id。
根据V-PCC系统的文件(图70至图72)或项目(图47)可包括根据实施方式的样本组。
样本组
V-PCC图集参数集样本组
样本分组的“vaps”grouping_type表示向该样本组中承载的图集参数集指派V-PCC轨道中的样本。当存在grouping_type等于“vaps”的SampleToGroupBox时,具有相同分组类型的SampleGroupDescriptionBox可存在,并且可包含样本所属的组的ID。
V-PCC轨道可包含grouping_type等于“vaps”的至多一个SampleToGroupBox。
Figure BDA0003884746990000781
Figure BDA0003884746990000791
numOfAtlasParameterSets指定样本组描述中用信号通知的图集参数集的数量。
atlasParameterSet是包含与该组样本关联的图集序列参数集、图集帧参数集的sample_stream_vpcc_unit()实例。
根据实施方式,其可如下指定。
Figure BDA0003884746990000792
lengthSizeMinusOne加1指示该样本组描述中用信号通知的所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(字节)。
atlasParameterSetNALUnit是包含与该组样本关联的图集序列参数集、图集帧参数集的sample_stream_nal_unit()实例。
根据实施方式的文件可包括一个或更多个轨道,其包括点云数据的信令信息。
根据实施方式的轨道可包括一个或更多个图集标识符信息以表示点云数据的一个或更多个图集数据。
根据实施方式的轨道可包括与图集数据关联的一个或更多个图集拼块信息。
可在轨道的样本条目中承载根据实施方式的一个或更多个图集标识符信息。
根据实施方式的一个或更多个图集拼块标识符信息可表示图集数据可包括点云数据的一个或更多个图集拼块。
根据实施方式的轨道还包括图集数据的组件轨道信息。
图46示出根据实施方式的动态图集关系样本组和动态全局图集信息样本组。
图46示出根据V-PCC系统的文件(图70至图72)或项目(图47)中所包括的动态图集关系样本组和动态全局图集信息样本组。
动态图集关系样本组
样本分组的“dyar”grouping_type表示向该样本组中承载的图集关系框指派V-PCC轨道中的样本。当存在grouping_type等于“dyar”的SampleToGroupBox时,具有样本分组类型的SampleGroupDescriptionBox可存在,并且可包含该样本组的ID。
V-PCC轨道可包含grouping_type等于“dyar”的至多一个SampleToGroupBox。
Figure BDA0003884746990000801
动态全局图集信息样本组
样本分组的“dyga”grouping_type表示向该样本组中承载的图集关系框指派V-PCC轨道中的样本。当存在grouping_type等于“dyga”的SampleToGroupBox时,具有相同分组类型的SampleGroupDescriptionBox可存在,并且可包含该样本组的ID。
V-PCC主轨道可包含grouping_type等于“dyga”的至多一个SampleToGroupBox。
Figure BDA0003884746990000802
根据V-PCC系统的文件(图70至图72)或项目(图47)的轨道可被分组。
轨道分组
空间区域轨道分组
track_group_type等于“3drg”的TrackGroupTypeBox指示该轨道属于与3D空间区域对应的一组V-PCC组件轨道。对于track_group_type“3drg”,属于相同空间区域的轨道具有相同的track_group_id值。来自一个空间区域的轨道的track_group_id不同于来自任何其它空间区域的轨道的track_group_id。
aligned(8)class SpatialRegionGroupBox
extends TrackGroupTypeBox('3drg'){
}
V-PCC轨道分组
track_group_type等于“atrg”的TrackGroupTypeBox指示该轨道属于与特定图集数据和/或V-PCC内容对应的一组V-PCC轨道。对于track_group_type“atrg”,与图集数据和/或V-PCC内容有关的V-PCC轨道具有相同的track_group_id值。
V-PCC轨道分组可用于对与特定图集数据对应的V-PCC轨道进行分组,和/或可用于对构成一个V-PCC内容的V-PCC轨道进行分组。
aligned(8)class AtlasRelationGroupBox extends TrackGroupTypeBox(‘atrg’){
bit(1)entry_point_flag;
}
entry_point_flag是值为真或假的标志。当设定为真时,其可用于指示多个V-PCC轨道组当中用作入口点的V-PCC轨道组。尽管建议对于多个V-PCC轨道组当中的仅一个V-PCC轨道组将entry_point_flag设定为值真,但对于一个或更多个V-PCC轨道组,该标志可被设定为真。
V-PCC组件轨道分组
track_group_type等于“vctg”的TrackGroupTypeBox指示该轨道属于与图集数据和/或V-PCC内容对应的一组V-PCC组件轨道。对于track_group_type“vctg”,与图集数据和/或V-PCC内容有关的V-PCC组件轨道具有相同的track_group_id值。
V-PCC组件轨道分组可用于对与特定图集数据对应的V-PCC组件轨道进行分组,和/或可用于对构成一个V-PCC内容的V-PCC组件轨道进行分组。
aligned(8)class VPCCComponentTrackGroupBox extends TrackGroupTypeBox(‘vctg’){
bit(1)entry_point_flag;
}
entry_point_flag是值为真或假的标志。当设定为真时,其可用于指示多个V-PCC组件轨道组当中用作入口点的V-PCC组件轨道组。尽管建议对于多个V-PCC组件轨道组当中的仅一个V-PCC组件轨道组将entry_point_flag设定为值真,但对于一个或更多个V-PCC组件轨道组,该标志可被设定为真。
根据V-PCC系统的文件(图70至图72)或项目(图47)的轨道可具有以下结构。
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序列的所有轨道具有相同的隐含或明确编辑列表。组件轨道中的基本流之间的同步由ISOBMFF轨道定时结构(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系统的文件(图70至图72)或项目(图47)可在轨道中包括以下信息。
V-PCC轨道样本条目
样本条目类型:“vpc1”、“vpcg”、“vpga”
容器:SampleDescriptionBox
强制:“vpc1”或“vpcg”样本条目是强制的
数量:可存在一个或更多个样本条目
根据实施方式的轨道可包括称为“vpc1”、“vpcg”和“vpga”的样本条目类型。
V-PCC轨道可使用扩展样本条目类型为“vpc1”或“vpcg”的VolumetricVisualSampleEntry的VPCCSampleEntry。
VPCC轨道样本条目可包含VPCCConfigurationBox。
在“vpc1”样本条目下,所有图集序列参数集、图集帧参数集或V-PCC SEI可存在于setupUnit阵列中。
在“vpcg”样本条目下,图集序列参数集、图集帧参数集、V-PCC SEI可存在于该阵列中或流中。
当多个图集数据由多个V-PCC轨道组成时,根据实施方式的点云接收装置可解析V-PCC轨道并且通过可包含在VPCCSampleEntry中的VPCCAtlasRelationBox来识别图集数据与图集拼块组之间的关系以及关于关联V-PCC组件轨道的信息。
可选BitRateBox可存在于VPCC体积样本条目中以用信号通知V-PCC轨道的比特率信息。
Figure BDA0003884746990000831
Figure BDA0003884746990000841
根据实施方式的方法或装置可使用VPCC GlobalAtlasInformationBox来配置单独的V-PCC轨道(即,V-PCC主轨道),并且将样本条目类型设定为“vpga”。
根据实施方式的点云装置可首先解析具有类型“vpga”的样本条目的轨道,并且获取包含在文件中的其它V-PCC轨道的信息和各个轨道所具有的图集数据信息。
即,当V-PCC轨道的样本条目类型为“vpga”时,轨道可以是用作入口点的轨道。
根据实施方式的方法或装置可始终将具有类型“vpga”的样本条目的轨道的轨道id设定为1。
Figure BDA0003884746990000842
V-PCC轨道样本格式
V-PCC轨道中的各个样本可对应于单个编码图集访问单元。
各种组件轨道中与该帧对应的样本可具有与V-PCC轨道样本相同的编排时间。
各个V-PCC样本可包含类型VPCC_AD的一个V-PCC单元有效载荷,其可包括一个或更多个图集NAL单元。
Figure BDA0003884746990000843
nalUnit可包含NAL单元样本流格式的单个图集NAL单元。
V-PCC轨道同步样本
V-PCC轨道中的同步样本可以是包含帧内随机访问点(IRAP)编码图集访问单元的样本。
根据实施方式,如果需要,图集子比特流参数集(例如,ASPS、AAPS、AFPS)和SEI消息可在同步样本处重复以允许随机访问。
根据实施方式在同步样本中为了随机访问需要可重复图集子比特流参数集(例如,ASPS、AAPS、AFPS和SEI消息)。
参考V-PCC轨道
根据实施方式的方法/装置可使用多个V-PCC轨道来封装图集数据。
当使用样本条目类型为“vpga”的V-PCC主轨道时,可向V-PCC主轨道的TrackBox的TrackReferenceBox添加与V-PCC轨道的数量一样多的TrackReferenceTypeBox。TrackReferenceTypeBox可包括V-PCC主轨道所参考的V-PCC轨道的track_ID。参考V-PCC轨道的参考类型可为“vpct”。
视频编码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可存在于该阵列中或流中。
Figure BDA0003884746990000861
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字段来标识。
定时元数据轨道
在根据实施方式的方法/装置中,可基于定时元数据轨道的配置如下传送V-PCC图集关系信息。
如果V-PCC轨道具有样本条目类型“dyat”的关联定时元数据轨道,则为V-PCC轨道所承载的点云流定义的图集数据可被视为动态图集数据。
如果V-PCC轨道具有样本条目类型“dyat”的关联定时元数据轨道,则为V-PCC轨道所承载的点云流定义的图集数据可被视为动态图集数据。
关联的定时元数据轨道可包含对承载图集流的V-PCC轨道的“cdsc”轨道参考。
样本条目
aligned(8)class DynamicAtlasRelationSampleEntry extendsMetaDataSampleEntry(‘dyat’){
VPCCAtlasRelationBox();
}
样本格式
Figure BDA0003884746990000871
Figure BDA0003884746990000881
各个字段的语义与VPCCAtlasRelationRecord中定义的相同。
另外,当V-PCC全局图集信息动态地改变时,其可包括在定时元数据轨道的样本条目中,并且仅变化的信息可包括在样本中。
样本条目
aligned(8)class DynamicGlobalAtlasInformationSampleEntry extendsMetaDataSampleEntry(‘dyga’){
VPCCGlobalAtlasInformationBox();
}
样本格式
Figure BDA0003884746990000882
Figure BDA0003884746990000891
各个字段的语义与VPCCGlobalAtlasInformationRecord中定义的相同。
图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所示的容器(项目)中。发送器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项目47000:V-PCC项目是表示可独立解码的V-PCC访问单元的项目。定义项目类型“vpci”以标识V-PCC项目。V-PCC项目存储图集子比特流的V-PCC单元有效载荷。当PrimaryItemBox存在时,该框中的item_id被设定为指示V-PCC项目。
V-PCC单元项目是表示V-PCC单元数据的项目。V-PCC单元项目存储占用、几何和属性视频数据单元的V-PCC单元有效载荷。V-PCC单元项目仅存储一个V-PCC访问单元相关数据。
V-PCC单元项目的项目类型根据用于对对应视频数据单元进行编码的编解码器来设定。V-PCC单元项目与对应V-PCC单元头项目性质和编解码器特定配置项目性质关联。V-PCC单元项目被标记为隐藏项目,因为其独立地显示没有意义。
为了指示V-PCC项目和V-PCC单元项目之间的关系,使用以下三个项目参考类型。“从”V-PCC项目“至”相关V-PCC单元项目定义项目参考。
“pcco”:参考V-PCC单元项目包含占用视频数据单元。
“pccg”:参考V-PCC单元项目包含几何视频数据单元。
“pcca”:参考V-PCC单元项目包含属性视频数据单元。
V-PCC配置项目性质47020
框类型:“vpcp”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目,是
数量(每项目):对于类型“vpci”的V-PCC项目,一个或更多个
对于V-PCC配置项目性质,框类型是“vpcp”并且性质类型是描述性项目性质。容器是ItemPropertyContainerBox。对于类型“vpci”的V-PCC项目,每项目为强制的。对于类型“vpci”的V-PCC项目,可存在每项目一个或更多个性质。
V-PCC参数集被存储为描述性项目性质并且与V-PCC项目关联。
Figure BDA0003884746990000911
vpcc_unit_paylod()包括类型VPCC_VPS的V-PCC单元。
V-PCC单元头项目性质47030
框类型:“vunt”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目,是数量(每项目):一个
对于V-PCC单元头项目性质,框类型是“vunt”,性质类型是描述性项目性质,并且容器是ItemPropertyContainerBox。对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目每项目为强制的。每项目可存在一个性质。
V-PCC单元头被存储为描述性项目性质并且与V-PCC项目和V-PCC单元项目关联。
aligned(8)class VPCCUnitHeaderProperty()extends ItemFullProperty('vunt',version=0,0){
vpcc_unit_header();
}
基于图47的结构,根据实施方式的方法/装置/系统可传送非定时点云数据。
非定时基于视频的点云压缩数据的承载
非定时V-PCC数据作为图像项目被存储在文件中。新处理程序类型4CC码“vpcc”被定义并存储在MetaBox的HandlerBox中以便指示V-PCC项目、V-PCC单元项目和其它V-PCC编码内容表示信息的存在。
根据实施方式的项目表示图像。例如,它是不移动的数据并且可指单个图像。
根据实施方式的方法/装置可基于用于封装非定时V-PCC数据的结构来生成和发送根据实施方式的数据,如图45所示。
V-PCC项目
V-PCC项目是表示可独立解码的V-PCC访问单元的项目。定义新项目类型4CC码“vpci”以标识V-PCC项目。V-PCC项目存储图集子比特流的V-PCC单元有效载荷。
如果PrimaryItemBox存在,则该框中的item_id应被设定为指示V-PCC项目。
V-PCC单元项目
V-PCC单元项目是表示V-PCC单元数据的项目。
V-PCC单元项目存储占用、几何和属性视频数据单元的V-PCC单元有效载荷。V-PCC单元项目可仅包含一个V-PCC访问单元相关数据。
V-PCC单元项目的项目类型4CC码基于用于对对应视频数据单元进行编码的编解码器来设定。V-PCC单元项目与对应V-PCC单元头项目性质和编解码器特定配置项目性质关联。
V-PCC单元项目被标记为隐藏项目,因为独立地显示没有意义。
为了指示V-PCC项目和V-PCC单元之间的关系,定义了具有4CC码“pcco”、“pccg”和“pcca”的三个新项目参考类型。项目参考“从”V-PCC项目“至”相关V-PCC单元项目定义。项目参考类型的4CC码为:
“pcco”:包含占用视频数据单元的参考V-PCC单元项目。
“pccg”:包含几何视频数据单元的参考V-PCC单元项目。
“pcca”:包含属性视频数据单元的参考V-PCC单元项目。
V-PCC相关项目性质
定义描述性项目性质以分别承载V-PCC参数集信息和V-PCC单元头信息:
V-PCC配置项目性质
框类型:“vpcp”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目,是
数量(每项目):对于类型“vpci”的V-PCC项目,一个或更多个
V-PCC参数集被存储为描述性项目性质并且与V-PCC项目关联。
对于“vpcp”项目性质,essential被设定为1。
aligned(8)class vpcc_unit_payload_struct(){
unsigned int(16)vpcc_unit_payload_size;
vpcc_unit_payload();
}
aligned(8)class VPCCConfigurationProperty
extends ItemProperty(‘vpcc’){
vpcc_unit_payload_struct()[];
}
vpcc_unit_payload_size指定vpcc_unit_paylod()的大小(字节)。
V-PCC单元头项目性质
框类型:“vunt”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目,是数量(每项目):一个
V-PCC单元头被存储为描述性项目性质并且与V-PCC项目和V-PCC单元项目关联。
对于“vunt”项目性质,essential被设定为1。
Figure BDA0003884746990000941
图48示出根据实施方式的多个图集数据的文件封装操作。
图48示出文件封装器10003、20004和21009的操作。
根据实施方式的点云数据发送装置可包括文件封装器(以下,称为封装器)和/或发送器。封装器可配置isobmff文件格式的V-PCC比特流并且创建以isobmff文件格式编码所需的框结构等。发送器可发送所生成的数据。下面描述图48中的各个步骤。
0.由编码器(10002、图4、图15、图18、20000至20003、21000至21008)V-PCC编码的比特流(即,输入比特流、图25、图26或图31)可用作输入。
1.可在ISOBMFF文件中创建V-PCC轨道(图70至图72、图47)。
2.可在上面的操作1中创建的V-PCC轨道中创建样本条目。
3.可从输入比特流获取根据实施方式的VPS(VPCC参数集)信息(参见图29)。
4.可向样本条目添加根据实施方式的VPS信息。
5.可从输入比特流获取根据实施方式的图集数据信息。根据实施方式的图集数据信息可包括VPCCAtlasRelation信息。
6.基于根据实施方式的图集数据信息,可创建适合于点云系统文件格式的VPCCAtlasRelationBox结构并添加到样本条目。
7.可从输入比特流获取根据实施方式的图集VPCC单元头信息。
8.根据实施方式的VPCC单元头信息可被添加到样本条目。
9.根据实施方式的图集NAL单元数据可根据nalType被添加到样本条目或样本。
10.除了NAL_ASPS或NAL_XXXX_SEI(图集NAL单元数据类型)之外根据实施方式的数据可被添加到样本。
11.在上面的操作10中创建的样本可被添加到V-PCC轨道。
图49示出根据实施方式的图集数据的文件解封装操作。
图49示出文件解封装器10007、20005和22000的操作。
根据实施方式的点云数据接收装置可包括接收器和/或文件/片段解封装器(可被称为解封装器)。接收器可接收点云数据(为V-PCC isobmff文件格式)。解封装器可将V-PCCisobmff文件解封装为V-PCC比特流,并且可解析其解码所需的框结构(文件中的信息)等。接收装置还可包括解码器。解码器可对V-PCC比特流进行解码。下面描述根据实施方式的解封装器的各个操作。
0.可接收以V-PCC Isobmff封装的文件(图70至图72和图47)。
1.可从输入isobmff文件的样本条目获取根据实施方式的VPS(V-PCC参数集,图29)信息。
2.在上面的操作1中获取的VPS信息可按照V-PCC比特流的形式配置(图25、图26、图31)。
3.可从输入isobmff文件的样本条目获取根据实施方式的V-PCC单元头信息。
4.在上面的操作3中获取的V-PCC单元头信息可按照V-PCC比特流的形式配置。
5.可从输入isobmff文件的样本条目获取根据实施方式的VPCCAtlasRelation信息。
6.可从输入isobmff文件的样本条目获取根据实施方式的V-PCC配置信息。
根据实施方式,V-PCC配置信息包括VPS和NAL单元类型为NAL_ASPS或NAL_XXXX_SEI的图集数据。
7.从输入isobmff文件的样本,可获取具有诸如TSA的NAL单元类型的根据实施方式的图集数据。
8.基于在上面的操作5中获取的VPCCAtlasRelation信息,与上面的操作7中获取的图集vpcc单元头信息的vuh_atlas_id匹配的图集数据可被聚合。另外,与图集拼块组级别的atlas_tile_group_id匹配的图集NAL单元可被聚合。
9.可使用在上面的操作6至8中获取的图集数据来配置构成V-PCC图集子比特流(图31)的SampleStreamNalUnit数据。
10.可配置用于V-PCC比特流解码的V-PCC图集子比特流。
11.通过经由VPCCBitstreamDecoder解析在上面的操作10中生成的V-PCC图集子比特流,可获取重构根据实施方式的点云所需的图集拼块组和补片数据。
图50示出根据实施方式的文件级别信令。
图50示出根据实施方式的V-PCC轨道的参考和/或分组关系。
根据实施方式的方法/装置可在多个轨道中传送点云数据。
V-PCC比特流和V-PCC文件格式结构之间的关系可如图50所示表示。
当处理多个图集的点云数据时,V-PCC轨道1可具有样本条目类型“vpc1”(=所有图集序列参数集、图集帧参数集或V-PCC SEI),并且包含关于图集1的数据。V-PCC轨道2可具有样本条目类型“vpc1”(=所有图集序列参数集、图集帧参数集或V-PCC SEI),并且包含关于图集2和/或图集3的数据。
所有V-PCC轨道的样本条目可包含VPCCAtlasRelationBox。
轨道1可基于轨道参考与V-PCC组件轨道组具有参考关系。例如,一组承载关于图集1的占用视频数据的V-PCC组件轨道、承载几何视频数据的V-PCC组件轨道和承载属性视频数据的V-PCC组件轨道和V-PCC轨道1可参考彼此。
轨道2可基于轨道参考与V-PCC组件轨道组具有参考关系。例如,一组承载关于图集2的占用视频数据的V-PCC组件轨道、承载几何视频数据的V-PCC组件轨道和承载属性视频数据的V-PCC组件轨道和V-PCC轨道1可参考彼此。
根据实施方式的方法/装置可提供高效地访问多个图集和关于图集的点云数据,并且高效地解码和渲染期望的点云数据的效果。
图51示出根据实施方式的文件级别信令。
图51示出如图50所示的附加文件信令操作。
V-PCC主轨道1可具有样本条目类型“vpga”并且包含VPCCGlobalAtlasInformationBox。V-PCC主轨道1可与关于图集1的V-PCC轨道2和/或关于图集2或图集3的V-PCC轨道3具有轨道参考关系。另外,V-PCC轨道2和/或V-PCC轨道3可与V-PCC组件轨道组具有参考关系。
根据实施方式的方法/装置可解析主轨道的样本条目,基于如图50和图51所示的图集数据的文件级别信令和点云数据的视频组件数据高效地访问期望的点云数据,并且可处理所需数据。
图52示出根据实施方式的V-PCC比特流和V-PCC文件格式的结构。
图52示出根据图25、图26、图31等的比特流与根据图70至图72、图47等的文件格式之间的关系。
点云数据的一个或更多个补片包括在图集拼块组中,并且图集拼块组包括在图集帧中。一个图集可被表示为一个图集帧。根据点云数据的配置,图集拼块组可包括一个补片或多个补片,并且可包括一个图集拼块组或多个图集拼块组。随着点云数据的对象被投影,一个或更多个图集拼块组可包括在图集帧中。
由根据实施方式的编码器编码的根据实施方式的V-PCC比特流可包含样本流VPCC单元或NAL单元(图25和图26)。
根据实施方式的比特流中所包含的单元基本上包括头和有效载荷。
头是根据实施方式的V-PCC单元头,并且包含作为单元目标的图集ID信息。
有效载荷是根据实施方式的V-PCC单元有效载荷,并且可基于样本流NAL单元包含比特流中所包含的数据。
例如,在图集数据的情况下,图集(子)比特流如图31所示包含在有效载荷中。
NAL单元数据包括图集序列参数集、图集帧参数集、图集拼块组层和SEI。
图集帧参数集(参见图35)包括图集帧拼块信息(参见图36等),并且基于图集拼块组的数量包括关于图集拼块组的ID信息。
图集拼块组层(参见图39等)包括图集拼块组头(图39)和图集拼块组数据(图41)。
图集拼块组头包含图集拼块组头的地址和图集拼块组头的类型。
比特流由根据实施方式的文件封装器封装在文件容器中。文件容器的结构符合ISO BMFF方案。
根据实施方式的文件包含根据实施方式的AtlasRelationBox,以便用信号通知图集关系。
AtlasRelationBox包括VPCCAtlasRelationRecord VPCCAtlas,并且如图44所示传送图集ID、图集拼块组的数量、根据图集拼块组的数量的图集拼块组ID、根据轨道组的数量的轨道组ID。
文件的SampleGroupDescriptionBox包含NAL单元的起始编号。
根据实施方式的方法/装置可处理动态点云数据的对象。即,提供动态点云对象的比特流和文件格式的信令方法。
例如,为了支持动态点云对象的部分访问,可提供文件系统级别与点云对象的各个空间区域中所包括的V-PCC对象的一些数据关联的图集拼块组信息。
另外,提供各个图集拼块组中所包括的标签和/或补片信息的扩展信令方案。
图53、图54和图55示出根据实施方式的场景对象信息。
图53、图54和图55示出图25和图26的根据实施方式的V-PCC比特流中所包含的场景对象信息。
图53至图58示出根据实施方式的V-PCC比特流中所包含的体积注释SEI消息中所包括的信息。
根据实施方式的对象是点云对象。此外,对象是包括构成或划分对象的偶数(部分)对象的概念。
根据实施方式的方法/装置可基于根据实施方式的场景对象信息基于包括一个或更多个场景对象的3D空间区域提供部分访问。
根据实施方式的SEI消息包括关于与解码、重构、显示或其它目的有关的处理的信息。
根据实施方式的SEI消息包括两个类型:必要和非必要。
解码处理不需要非必要SEI消息。解码器不需要处理该信息以符合输出顺序。
根据实施方式的包括场景对象信息、对象标签信息、补片信息和体积矩形信息的体积注释信息(体积注释SEI消息)可以是非必要SEI消息。
根据实施方式,上述信息可承载在必要SEI消息中。
必要SEI消息是V-PCC比特流的组成部分,不应从比特流去除。必要SEI消息可被归类为两种类型:
类型A必要SEI消息:这些SEI可包含检查比特流一致性和输出定时解码器一致性所需的信息。根据实施方式的V-PCC解码器不丢弃任何相关类型A必要SEI消息。为了比特流一致性和输出定时解码器一致性,根据实施方式的V-PCC解码器可考虑这些信息。
类型B必要SEI消息:符合特定重构配置文件的V-PCC解码器不会丢弃任何相关类型B必要SEI消息,并且为了3D点云重构和一致性目的可考虑它们。
图46示出体积注释SEI消息.
如图44所示,根据实施方式的V-PCC比特流定义可与部分访问有关的体积注释SEI消息。
soi_cancel_flag等于1指示场景对象信息SEI消息取消输出顺序上的任何先前场景对象信息SEI消息的持久性。
soi_num_object_updates指示要通过当前SEI更新的对象数量。
当soi_num_object_updates大于0时,以下元素可包括在场景对象信息中。
soi_simple_objects_flag等于1指示不会用信号通知更新或新引入的对象的附加信息。soi_simple_objects_flag等于0指示可用信号通知更新或新引入的对象的附加信息。
当soi_simple_objects_flag等于0时,以下元素可包括在场景对象信息中。
如果soi_simple_objects_flag不等于0,则标志可被设定为soi_object_label_present_flag=0、soi_priority_present_flag=0、soi_object_hidden_present_flag=0、soi_object_dependency_present_flag=0、soi_visibility_cones_present_flag=0、soi_3d_bounding_box_present_flag=0、soi_collision_shape_present_flag=0、soi_point_style_present_flag=0、soi_material_id_present_flag=0和soi_extension_present_flag=0。
soi_object_label_present_flag等于1指示对象标签信息存在于当前场景对象信息SEI消息中。soi_object_label_present_flag等于0指示对象标签信息不存在。
soi_priority_present_flag等于1指示优先级信息存在于当前场景对象信息SEI消息中。soi_priority_present_flag等于0指示优先级信息不存在。
soi_object_hidden_present_flag等于1指示隐藏对象信息存在于当前场景对象信息SEI消息中。soi_object_hidden_present_flag等于0指示隐藏对象信息不存在。
soi_object_dependency_present_flag等于1指示对象依赖信息存在于当前场景对象信息SEI消息中。soi_object_dependency_present_flag等于0指示对象依赖信息不存在。
soi_visibility_cones_present_flag等于1指示可视锥信息存在于当前场景对象信息SEI消息中。soi_visibility_cones_present_flag等于0指示可视锥信息不存在。
soi_3d_bounding_box_present_flag等于1指示3D边界框信息存在于当前场景对象信息SEI消息中。soi_3d_bounding_box_present_flag等于0指示3D边界框信息不存在。
soi_collision_shape_present_flag等于1指示冲突信息存在于当前场景对象信息SEI消息中。soi_collision_shape_present_flag等于0指示冲突形状信息不存在。
soi_point_style_present_flag等于1指示点样式信息存在于当前场景对象信息SEI消息中。soi_point_style_present_flag等于0指示点样式信息不存在。
soi_material_id_present_flag等于1指示材料ID信息存在于当前场景对象信息SEI消息中。soi_material_id_present_flag等于0指示材料ID信息不存在。
soi_extension_present_flag等于1指示附加扩展信息应存在于当前场景对象信息SEI消息中。soi_extension_present_flag等于0指示附加扩展信息不存在。此版本的规范的比特流一致性要求soi_extension_present_flag应等于0。
当soi_3d_bounding_box_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_3d_bounding_box_scale_log2指示要应用于可为对象指定的3D边界框参数的标度。
soi_3d_bounding_box_precision_minus8加8指示可为对象指定的3D边界框参数的精度。
soi_log2_max_object_idx_updated指定当前场景对象信息SEI消息中用于用信号通知对象索引的值的比特数。
当soi_object_dependency_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_log2_max_object_dependency_idx指定当前场景对象信息SEI消息中用于用信号通知依赖对象索引的值的比特数。
场景对象信息中可包括与soi_num_object_updates值一样多的以下元素。
soi_object_idx[i]指示要更新的第i对象的对象索引。用于表示soi_object_idx[i]的比特数等于soi_log2_max_object_idx_updated。当soi_object_idx[i]不存在于比特流中时,其值可被推断为等于0。
soi_object_cancel_flag[i]等于1指示索引等于i的对象可被取消,并且变量ObjectTracked[i]应被设定为0。此外,其所有关联的参数(包括对象标签、3D边界框参数、优先级信息、隐藏标志、依赖信息、可视锥、冲突形状、点样式和材料id)可被重置为其默认值。也应设定为等于0。soi_object_cancel_flag等于0指示索引等于soi_object_idx[i]的对象应利用跟随该元素之后的信息更新,并且变量ObjectTracked[i]可被设定为1。
当soi_object_cancel_flag[k]不等于1并且soi_object_label_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_object_label_update_flag[i]等于1指示对于具有对象索引i的对象存在对象标签更新信息。soi_object_label_update_flag[i]等于0指示对象标签更新信息不存在。
当soi_object_label_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_object_label_idx[i]指示具有索引i的对象的标签索引。
当soi_priority_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_priority_update_flag[i]等于1指示对于具有对象索引i的对象存在优先级更新信息。soi_priority_update_flag[i]等于0指示对象优先级信息不存在。
当soi_priority_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_priority_value[i]指示索引i的对象的优先级。优先级值越低,优先级越高。
当soi_object_hidden_present_flag为1时,以下元素可包括在场景对象信息中。
soi_object_hidden_flag[i]等于1指示索引i的对象应被隐藏。soi_object_hidden_flag[i]等于0指示索引i的对象应变为存在。
当soi_object_dependency_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_object_dependency_update_flag[i]等于1指示对于具有对象索引i的对象存在对象依赖更新信息。soi_object_dependency_update_flag[i]等于0指示对象依赖更新信息不存在。
当soi_object_dependency_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_object_num_dependencies[i]指示索引i的对象的依赖数量。
根据soi_object_num_dependencies[k]的值,以下元素可包括在场景对象信息中。
soi_object_dependency_idx[i][j]指示与具有对象索引i的对象具有依赖性的第j对象的索引。
当soi_visibility_cones_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_visibility_cones_update_flag[i]等于1指示对于具有对象索引i的对象存在可视锥更新信息。soi_visibility_cones_update_flag[i]等于0指示可视锥更新信息不存在。
当soi_visibility_cones_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_direction_x[i]指示具有对象索引i的对象的可视锥的方向向量的归一化x分量值。当不存在时,soi_direction_x[i]的值可被假设为等于1.0。
soi_direction_y[i]指示具有对象索引i的对象的可视锥的方向向量的归一化y分量值。当不存在时,soi_direction_y[i]的值可被假设为等于1.0。
soi_direction_z[i]指示具有对象索引i的对象的可视锥的方向向量的归一化z分量值。当不存在时,soi_direction_z[i]的值可被假设为等于1.0。
soi_angle[i]指示可视锥沿着方向向量的角度(度)。当不存在时,soi_angle[i]的值可被假设为等于180°。
当soi_3d_bounding_box_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_3d_bounding_box_update_flag[i]等于1指示对于具有对象索引i的对象存在3D边界框信息。soi_3d_bounding_box_update_flag[i]等于0指示3D边界框信息不存在。
soi_3d_bounding_box_x[i]指示索引i的对象的3D边界框的原点位置的x坐标值。soi_3d_bounding_box_x[i]的默认值可等于0。
soi_3d_bounding_box_y[i]指示索引i的对象的3D边界框的原点位置的y坐标值。soi_3d_bounding_box_y[i]的默认值可等于0。
soi_3d_bounding_box_z[i]指示索引i的对象的3D边界框的原点位置的z坐标值。soi_3d_bounding_box_z[i]的默认值可等于0。
soi_3d_bounding_box_delta_x[i]指示在索引i的对象的x轴上边界框的大小。soi_3d_bounding_box_delta_x[i]的默认值可等于0。
soi_3d_bounding_box_delta_y[i]指示在索引i的对象的y轴上边界框的大小。soi_3d_bounding_box_delta_y[i]的默认值可等于0。
soi_3d_bounding_box_delta_z[i]指示在索引i的对象的z轴上边界框的大小。soi_3d_bounding_box_delta_z[i]的默认值可等于0。
当soi_collision_shape_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_collision_shape_update_flag[i]等于1指示对于具有对象索引i的对象存在冲突形状更新信息。soi_collision_shape_update_flag[i]等于0指示冲突形状更新信息不存在。
当soi_collision_shape_update_flag[k]]等于1时,以下元素可包括在场景对象信息中。
soi_collision_shape_id[i]指示索引i的对象的冲突形状id。
当soi_point_style_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_point_style_update_flag[i]等于1指示对于具有对象索引i的对象存在点样式更新信息。soi_point_style_update_flag[i]等于0指示点样式更新信息不存在。
当soi_point_style_update_flag[k]]等于1时,以下元素可包括在场景对象信息中。
soi_point_shape_id[i]指示索引i的对象的点形状id。soi_point_shape_id[i]的默认值可等于0。
soi_point_size[i]指示索引i的对象的点大小。soi_point_size[i]的默认值可等于1。
当soi_material_id_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_material_id_update_flag[i]等于1指示对于具有对象索引i的对象存在材料ID更新信息。soi_point_style_update_flag[i]等于0指示点样式更新信息不存在。
当soi_material_id_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_material_id[i]指示索引i的对象的材料ID。soi_material_id[i]的默认值可等于0。
图56示出根据实施方式的对象标签信息。
oli_cancel_flag等于1指示对象标签信息SEI消息取消输出顺序上的任何先前对象标签信息SEI消息的持久性。
当oli_cancel_flag不等于1时,以下元素可包括在对象标签信息中。
oli_label_language_present_flag等于1指示标签语言信息存在于对象标签信息SEI消息中。oli_label_language_present_flag等于0指示标签语言信息不存在。
当oli_label_language_present_flag等于1时,以下元素可包括在对象标签信息中。
oli_bit_equal_to_zero可等于0。
oli_label_language包含跟随有等于0x00的空终止字节的IETF RFC 5646所指定的语言标记。oli_label_language句法元素的长度可小于或等于255字节(不包括空终止字节)。
oli_num_label_updates指示要通过当前SEI更新的标签数量。
与oli_num_label_updates的值一样多的以下元素可包括在对象标签信息中。
oli_label_idx[i]指示要更新的第i标签的标签索引。
oli_label_cancel_flag等于1指示索引等于oli_label_idx[i]的标签应被取消并且设定为等于空白串。oli_label_cancel_flag等于0指示索引等于oli_label_idx[i]的标签应利用跟随该元素之后的信息来更新。
当oli_label_cancel_flag不等于1时,以下元素可包括在对象标签信息中。
oli_bit_equal_to_zero等于0。
oli_label[i]指示第i标签的标签。vti_label[i]句法元素的长度应小于或等于255字节(不包括空终止字节)。
图57示出根据实施方式的补片信息。
pi_cancel_flag等于1指示补片信息SEI消息取消输出顺序上的任何先前补片信息SEI消息的持久性并且应去除补片信息表中的所有条目。
pi_num_tile_group_updates指示补片信息表中要通过当前SEI消息更新的拼块组数量。
当pi_num_tile_group_updates大于0时,以下元素可包括在补片信息中。
pi_log2_max_object_idx_tracked指定当前补片信息SEI消息中用于用信号通知跟踪的对象索引的值的比特数。
pi_log2_max_patch_idx_updated指定当前补片信息SEI消息中用于用信号通知更新的补片索引的值的比特数。
与pi_num_tile_group_updates值一样多的以下元素可包括在补片信息中。
pi_tile_group_address[i]指定当前SEI消息中第i更新的拼块组的拼块组地址。
pi_tile_group_cancel_flag[i]等于1指示索引i的拼块组应被重置,并且先前指派给该拼块组的所有补片将被去除。pi_tile_group_cancel_flag[i]等于0指示先前指派给索引i的拼块组的所有补片将保留。
pi_num_patch_updates[i]指示补片信息表中索引i的拼块组内要通过当前SEI更新的补片数量。
与pi_num_patch_updates值一样多的以下元素可包括在补片信息中。
pi_patch_idx[i][j]指示补片信息表中要更新的索引i的拼块组中的第j补片的补片索引。用于表示pi_patch_idx[i]的比特数等于pi_log2_max_patch_idx_updated。当pi_patch_idx[i]不存在于比特流中时,其值可被推断为等于0。
pi_patch_cancel_flag[i][j]等于1指示应从补片信息表去除索引i的拼块组中索引j的补片。
当pi_patch_cancel_flag[j][p]不等于1时,以下元素可包括在补片信息中。
pi_patch_number_of_objects_minus1[i][j]指示索引i的拼块组中要与索引j的补片关联的对象数量。
m可被设定为m=pi_patch_number_of_objects_minus1[j][p]+1,并且与m的值一样多的以下元素可包括在补片信息中。
pi_patch_object_idx[i][j][k]指示索引i的拼块组中与第j补片关联的第k对象索引。用于表示pi_patch_object_idx[i]的比特数可等于pi_log2_max_object_idx_tracked。当pi_patch_object_idx[i]不存在于比特流中时,其值可被推断为等于0。
图58示出根据实施方式的体积矩形信息。
vri_cancel_flag等于1指示体积矩形信息SEI消息取消输出顺序上的任何先前体积矩形信息SEI消息的持久性,并且应去除体积矩形信息表中的所有条目。
vri_num_rectangles_updates指示要通过当前SEI更新的体积矩形数量。
当vri_num_rectangles_updates大于0时,以下元素可包括在体积矩形信息中。
vri_log2_max_object_idx_tracked指定当前体积矩形信息SEI消息中用于用信号通知跟踪的对象索引的值的比特数。
vri_log2_max_rectangle_idx_updated指定当前体积矩形信息SEI消息中用于用信号通知更新的体积矩形索引的值的比特数。
与vri_num_rectangles_updates的值一样多的以下元素可包括在体积矩形信息中。
vri_rectangle_idx[i]]指示体积矩形信息表中要更新的第i体积矩形索引。用于表示vri_rectangle_idx[i]的比特数可等于vri_log2_max_rectangle_idx_updated。当vri_rectangle_idx[i]不存在于比特流中时,其值可被推断为等于0。
vri_rectangle_cancel_flag[i]等于1指示可从体积矩形信息表去除索引i的体积矩形。
当vri_rectangle_cancel_flag[p]不等于1时,以下元素可包括在体积矩形信息中。
vri_bounding_box_update_flag[i]等于1指示应该更新索引i的体积矩形的2D边界框信息。vti_bounding_box_update_flag[i]等于0指示不应更新索引i的体积矩形的2D边界框信息。
当vri_bounding_box_update_flag[p]等于1时,以下元素可包括在体积矩形信息中。
vri_bounding_box_top[i]指示当前图集帧内第i体积矩形的边界框的左上位置的垂直坐标值。vri_bounding_box_top[i]的默认值可等于0。
vri_bounding_box_left[i]指示当前图集帧内第i体积矩形的边界框的左上位置的水平坐标值。vri_bounding_box_left[i]的默认值可等于0。
vri_bounding_box_width[i]指示第i体积矩形的边界框的宽度。vri_bounding_box_width[i]的默认值可等于0。
vri_bounding_box_height[i]指示第i体积矩形的边界框的高度。vri_bounding_box_height[i]的默认值可等于0。
vri_rectangle_number_of_objects_minus1[i]指示与第i体积矩形关联的对象数量。
m的值可被设定为vri_rectangle_number_of_objects_minus1[p]+1。对于m的值,以下元素可包括在体积矩形信息中。
vri_rectangle_object_idx[i][j]指示与第i体积矩形关联的第j对象索引。用于表示vri_rectangle_object_idx[i]的比特数可等于vri_log2_max_object_idx_tracked。当vri_rectangle_object_idx[i]不存在于比特流中时,其值可被推断为等于0。
图59示出根据实施方式的图集子比特流中的SEI消息的层次结构。
根据实施方式的发送方法/装置可生成如图59所示的图集子比特流。
建立构成图集子比特流的NAL单元数据之间的关系。
在添加到图集子比特流的SEI消息中,与volumetric_tiling_info_objects()对应的信息是scene_object_information()。存在可指示与属于各个补片的对象的关系的patch_information()和可为一个或更多个对象分配的volumetric_rectangle_information()。
比特流59000对应于图25的比特流25000。
比特流59000的图集数据中所包含的v-pcc单元的有效载荷中所包含的NAL单元59010对应于图31的比特流。
图59的图集帧参数集59020对应于图35的图集帧参数集。
图59的图集拼块组(或拼块)层59030对应于图40的图集拼块组(或拼块)层。
图59的SEI消息59040对应于图31的SEI消息。
图59的图集帧拼块信息59050对应于图37的图集帧拼块信息。
图59的图集拼块组(或拼块)头59060对应于图39的图集拼块组(或拼块)头。
图59的场景对象信息59070对应于图53至图55的场景对象信息。
图59的对象标签信息59080对应于图56的对象标签信息。
图59的补片信息59090对应于图57的补片信息。
图59的体积矩形信息59100对应于图58的体积矩形信息。
图集帧拼块信息59050可由图集拼块组(或拼块)ID标识,并且可包括在图集帧参数集59020中。
图集拼块组(或拼块)层59030可包括图集拼块组(或拼块)头59060。图集拼块组(或拼块)头可由图集拼块组(或拼块)地址标识。
场景对象信息59070可由对象索引和对象标签索引标识。
对象标签信息59080可由标签索引标识。
补片信息59090可由拼块组(或拼块)地址和补片对象索引标识。
体积矩形信息59100可由矩形对象索引标识。
根据实施方式的发送方法/装置可通过对点云数据进行编码并生成如图59所示的参考/层次关系信息来生成比特流。
根据实施方式的接收方法/装置可接收如图59所示的比特流,并且恢复包含在比特流中的点云数据。另外,可基于包含在比特流中的图59的图集数据高效地解码和恢复点云数据。
图60示出根据实施方式的图集拼块组(或拼块)的配置。
图60示出由根据实施方式的方法/装置存在于比特流中并用信号通知的点云数据的视频帧、图集、补片和对象之间的关系。
图集帧可由根据实施方式的发送装置和接收装置的元数据处理器18005和19002生成和解码。此后,表示图集帧的图集比特流可按照根据实施方式的格式形成,并且由根据实施方式的发送装置/接收装置的封装器/解封装器20004、20005、21009、22000发送/接收。
对象是表示为点云数据的目标。
根据实施方式,对象的位置和/或大小可动态地改变。在这种情况下,变化的图集拼块组或图集拼块的配置可如图59所示给出。
补片P1至P3可配置有构成一个或更多个对象的多个场景对象O1至O2。帧1(视频帧1)可由三个图集拼块组组成。
根据实施方式的图集拼块组可被称为图集拼块。图集拼块组1至3可对应于图集拼块1至3。
图集拼块组1可包括3个补片。补片1(P1)可包括三个对象O1至O3。补片2(P2)可包含一个对象(O2)。补片3(P3)可包含一个对象O1。
根据实施方式的方法/装置可基于与包括在补片信息(图57中的patch_information())中的对象ID对应的字段(pi_patch_object_idx[j])表示补片和对象之间的映射关系。
图集拼块组(或拼块)2可包括两个补片P1和P2。补片1(P1)可包含一个对象O1,补片2(P2)可包含两个对象O2。
根据实施方式的方法/装置可基于与包括在补片信息(图57中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])表示映射关系。
图集拼块组(或拼块)3可包括三个补片P1、P2和P3。补片1(P1)可包含一个对象O2。
根据实施方式的方法/装置可基于与包括在补片信息(图57中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])指示映射关系。
帧2可由三个图集拼块组(或拼块)组成。
图集拼块组(或拼块)1(49000)可包括两个补片P1和P2。补片1可包含两个对象O1和O2。补片2可包含一个对象O1。
根据实施方式的方法/装置可基于与包括在补片信息(图57中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])指示映射关系。
图集拼块组(或拼块)2(49000)可包括两个补片P1和P2。补片1(P1)可包含一个对象(O2)。补片2(P1)可包含两个对象。
根据实施方式的方法/装置可基于与包括在补片信息(图57中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])指示映射关系。
图集拼块组(或拼块)3可包括两个补片P1和P2。补片1(P1)可包含一个对象O1。
根据实施方式的方法/装置可基于与包括在补片信息(图57中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])指示映射关系。
将描述由包括在或连接到根据实施方式的点云数据发送/接收方法/装置的V-PCC(V3C)系统生成和发送/接收的数据结构。
根据对应实施方式的方法/装置可生成文件,并且在文件中生成和发送/接收以下数据。
根据实施方式的发送方法/装置可基于包含编码的点云数据的比特流来生成和发送以下数据结构,并且根据实施方式的接收方法/装置可接收和解析以下数据结构,并且恢复包含在比特流中的点云数据。
图61示出根据实施方式的VPCC空间区域框。
由根据实施方式的点云数据发送/接收装置和包括在或连接到发送/接收装置的系统生成和发送/接收的文件包括VPCC空间区域框。
该框可包含诸如关于VPCC空间区域的3D边界框信息和与空间区域有关的标签信息、可包括在图集拼块组(或拼块)中的图集类型组ID(或图集拼块ID)和补片ID的信息。
另外,该框可包含与空间区域有关的V-PCC组件轨道组信息。V-PCC空间区域框可包括在V-PCC轨道的样本条目中。
图61和图62示出可包括在根据实施方式的文件(或项目)的轨道中,并且包括在轨道中的公共数据结构。
图61示出用于处理点云数据的空间区域的信令信息。
3d_region_id是空间区域的标识符。
x、y和z分别指定3D点在坐标系中的x、y和z坐标值。
cuboid_dx、cuboid_dy和cuboid_dz分别指示立方体子区域在坐标系中相对于锚点沿着x、y和z轴的尺寸。
锚是用作3D空间区域的锚的坐标系中的3D点。
dimensions_included_flag是指示是否用信号通知空间区域的尺寸的标志。
根据实施方式,方法/装置可基于图61的信息来处理点云的子区域,并且接收装置可提供对点云的部分访问。
图62示出根据实施方式的VPCC空间区域框。
num_atlas指示与3DSpatialRegionStruct所指示的空间区域关联的图集数量。
atlas_id是关联的图集子比特流的标识符。
num_regions指示点云中的3D空间区域的数量。
num_region_tile_groups可指示与包括在空间区域中的V-PCC对象的一些数据关联的图集子流中的图集拼块组的数量。
根据一些实施方式,图集拼块组可被解释为图集拼块的相同含义。根据实施方式,图集拼块组和图集拼块具有相同的含义并且彼此一致。
region_tile_group_id可指示与包括在空间区域中的V-PCC对象的一些数据关联的图集子流中的图集拼块组的id。
num_patch_updates可指示各个图集拼块组的补片当中属于与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组的补片数量。
patch_id可指示各个图集拼块组的补片当中属于与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组的补片的补片id。
num_track_groups指示与3D空间区域关联的轨道组的数量。根据实施方式的轨道指示承载V-PCC组件的轨道。
track_group_id指示承载关联的3D空间区域的V-PCC组件的轨道的轨道组。
label_id可指示与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组有关的标签id。
label_language可指示关于与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组有关的标签的语言信息。
label_name可指示与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组有关的标签名称信息。
根据实施方式的方法/装置可将用于用信号通知动态空间区域的动态空间区域样本组包括在文件中。
样本分组的“dysr”grouping_type表示向该样本组中承载的空间区域框指派V-PCC轨道中的样本。当存在grouping_type等于“dysr”的SampleToGroupBox时,具有相同分组类型的SampleGroupDescriptionBox存在,并且包含样本所属的该组的ID。
V-PCC轨道可包含grouping_type等于“dysr”的SampleToGroupBox。
aligned(8)class Dynamic3DspatialRegionSampleGroupDescriptionEntry()extends SampleGroupDescriptionEntry(‘dysr’){
VPCCSpatialRegionsBox();
}
根据实施方式的方法/装置可生成定时元数据轨道并且基于文件(或项目)容器发送/接收。
根据实施方式,可通过如下配置定时元数据轨道来添加动态空间区域。
如果V-PCC轨道具有样本条目类型为“dysr”的关联定时元数据轨道,则为V-PCC轨道所承载的点云流定义的空间区域可以是动态区域。
关联的定时元数据轨道可包含对承载图集流的V-PCC轨道的“cdsc”轨道参考。
根据实施方式的方法/装置可为动态空间区域在样本条目中生成以下信息。
样本条目
aligned(8)class DynamicSpatialRegionSampleEntry extendsMetaDataSampleEntry(‘dysr’){
VPCCSpatialRegionsBox();
}
样本格式
Figure BDA0003884746990001111
Figure BDA0003884746990001121
为了处理空间区域,图集ID可指示与各个区域关联的一个或更多个图集。
根据实施方式的文件的轨道可包括空间区域信息,其包括点云数据的空间区域的一个或更多个图集拼块标识符信息。
图63、图64和图65是示出根据实施方式的文件封装的流程图。
图64和图65示出文件封装器10003、20004和21009的操作。
根据实施方式的点云数据发送装置和封装器可配置isobmff文件格式的V-PCC比特流,并且创建以isobmff文件格式编码所需的框结构。发送器可发送所生成的数据。
另外,根据实施方式的点云数据发送装置(例如,文件/片段封装器等)可创建和发送上述VPCC空间区域框。
0.封装器接收V-PCC编码比特流(图25和图26)。
1.封装器可在ISOBMFF文件中创建V-PCC轨道。
1-1.封装器可为动态空间区域创建定时元数据轨道。
2.可在上面的操作1中创建的V-PCC轨道中创建样本条目。
3.封装器可从输入比特流(图25和图26)获取VPS(VPCC参数集)信息。
4.封装器可将VPS信息添加到样本条目。
5.封装器可从输入比特流(图25和图26)获取图集场景对象信息(图53等)。
5-1.封装器可从输入比特流(图25和图26)获取图集对象标签信息(图56)。
5-2.封装器可从输入比特流(图25和图26)获取图集补片信息(图57)。
6.封装器可基于图集体积平铺信息(图36、图39、图41、图57等)生成根据实施方式的适合于点云系统文件格式的VPCCSpatialRegionsBox结构(图61等)并将其添加到样本条目。
另外,对于动态空间区域,VPCCSpatialRegionsBox结构可被添加到定时元数据轨道的样本条目。
7.封装器可从输入比特流获取图集VPCC单元头信息(图26等)。
8.封装器可将VPCC单元头信息添加到样本条目。
9.封装器可根据nalType将图集NAL单元数据(图31等)添加到样本条目或样本。
10.封装器可将除了NAL_ASPS或NAL_XXXX_SEI(图集NAL单元数据类型)之外的数据添加到样本。
11.封装器可将在上面的操作10中创建的样本添加到V-PCC轨道。
12.封装器可将根据实施方式的用于动态空间区域的DynamicSpatialRegionSample添加到定时元数据轨道的样本。
图66和图67是示出根据实施方式的文件解封装器的操作的流程图。
根据实施方式的点云数据接收装置可包括接收器和/或文件/片段解封装器(可称为解封装器)。接收器可接收点云数据(为V-PCC isobmff文件格式)。解封装器可将V-PCCisobmff文件解封装到V-PCC比特流中,并且可解析其解码所需的框结构等。接收装置还可包括解码器。解码器可对V-PCC比特流进行解码。
另外,根据实施方式的点云数据接收装置(例如,文件/片段解封装器等)可接收和解析根据实施方式的VPCC空间区域框。
0.解封装器接收以V-PCC Isobmff封装的文件。
1.解封装器可从输入isobmff文件的样本条目获取VPS(V-PCC参数集)信息。
2.解封装器可按V-PCC比特流的形式配置在上面的操作1中获取的VPS信息。
3.解封装器可从输入isobmff文件的样本条目获取V-PCC单元头信息。
4.解封装器可按V-PCC比特流的形式配置在上面的操作3中获取的V-PCC单元头信息。
5.解封装器可从输入isobmff文件的样本条目获取VPCCSpatialRegionsBox信息。另外,可从动态空间区域的定时元数据轨道的样本条目获取VPCCSpatialRegionsBox信息。
6.解封装器可从输入isobmff文件的样本条目获取V-PCC配置信息。V-PCC配置信息包括VPS和NAL单元类型为NAL_ASPS或NAL_XXXX_SEI的图集数据。
7.解封装器可从输入isobmff文件的样本获取具有诸如TSA的NAL单元类型的图集数据。
7-1.解封装器可从动态空间区域的定时元数据轨道的样本获取DynamicSpatialRegionSample信息。
8.解封装器可基于在上面的操作5中获取的vti_object_tile_group_id仅解析操作7中获取的图集数据当中具有匹配afti_tile_group_id和atgh_address的数据。
9.解封装器可使用在上面的操作6至8中获取的图集数据来配置构成V-PCC图集子比特流的SampleStreamNalUnit数据。
10.解封装器可配置V-PCC图集子比特流以用于V-PCC比特流解码。
11.解封装器可通过经由VPCCBitstreamDecoder解析在上面的操作10中生成的V-PCC图集子比特流来获取用于重构点云的图集拼块组和补片数据。
图68示出根据实施方式的文件级别信令。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可按照如图68所示的结构创建和发送/接收文件。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可如下在文件级别用信号通知数据。
根据实施方式的信令信息、元数据、参数等可包含在V-PCC轨道(或V3C轨道)68030的样本条目中,并且可在定时元数据轨道的样本条目和样本中发送/接收。
由多个图集拼块组(或图集拼块)组成以用于部分访问的V-PCC比特流可由封装器以如图68所示的文件格式结构封装。样本组1 55900可具有三个图集拼块组(对应于图集拼块)(ATG1至ATG3或AT1至AT3)。
由于空间区域(ATG1和ATG2或AT1和AT2)的位置和/或大小的改变,样本组2(68010)可具有两个图集拼块组(或图集拼块)。
样本组3(68020)可由相同或不同的图集拼块组(或图集拼块)组成。
文件可包含moov框和mdat框。moov框和mdat框可被称为轨道。当v-pcc轨道68030的类型为图集数据AD时,包含与样本对应的图集拼块的mdat框可位于moov框后面。
当文件中有多个轨道时,可执行轨道之间的分组。
包含OVD的轨道、包含GVD的轨道和包含AVD的轨道可被分组为轨道组1(68040)。
包含GVD的轨道和包含AVD的轨道可被分组为轨道组2(68050)。
可在与文件有关的轨道之间进行参考。
轨道1(68030)可参考组1(68040)和组2(68050)。
图69示出根据实施方式的文件级别信令。
根据实施方式的方法/装置可生成NALUMapEntry作为SampleGroupDescription的SampleGroupEntry。
atlas_tile_group_id(或atlas_tile_id)可被指派给各个图集NAL单元。点云接收器可根据atlas_tile_group_id(或atlas_tile_id)仅将与各个空间区域对应的图集NAL单元聚合。
如图69所示,根据实施方式的方法/装置可在sampletogroupbox和NALUMapEntry之间创建链接关系。sampletogroupbox和NALUMapEntry二者可包含在moov框中的样本条目中。
根据实施方式的NALUMapEntry可如ISO/IEC 14496-15[14496-15]中指定那样定义。
当存在VPCCSpatialRegionsBox时,NALUMapEntry可存在于V-PCC轨道中。
NALUMapEntry可用于向各个图集NAL单元指派groupID。
NALUMapEntry可以或可以不链接到设定类型“nalm”的SampleToGroupBox的grouping_type_parameter的样本组描述。
类型“nalm”的SampleToGroupBox可以或可以不使用版本0的框。
根据实施方式的V-PCC轨道可包含SampleToGroupBox 58000。
SampleToGroupBox 69000可包含值为nalm的grouping_type_parameter,并且包含多个样本组。
例如,当如图69所示配置时,样本组1(68000)具有设定为3的sample_count,并且包括样本1至3。在这种情况下,样本描述索引可为1。
样本组2(69010)具有设定为2的sample_count,并且包括样本1和样本2,如图57所示。在这种情况下,样本描述索引为2。
样本组3(69020)具有设定为N的sample_count,并且可包括N个样本。在这种情况下,样本描述索引为3。
根据实施方式的V-PCC轨道可包含SampleGroupDescriptionBox 69010。
SampleGroupDescriptionBox 69010可包含关于SampleToGroupBox的附加信息。分组类型为“nalm”,并且可通过样本组条目为各个样本组提供文件级别信令信息。
NALUMapEntry 1(69020)可提供关于样本组1(69000)的配置信息。
例如,当用信号通知如图57所示的配置时,NALUMapEntry 1(69020)可总共具有9个条目。
NALUMapEntry可表示与样本组1有关的轨道中所包含的NALU 1-9中所包括的图集拼块组(或图集拼块)。
例如,NALUMapEntry 1(69020)告知NALU 1被映射至图集拼块组1。类似地,其告知NALU 2至9分别与图集拼块组2至9匹配。
根据实施方式的方法/装置可提供以下效果。
例如,用于提供点云内容服务的发送器或接收器可配置V-PCC比特流并高效地存储文件。
V-PCC比特流可被有效地复用。可在接收侧基于V-PCC单元支持对比特流的高效访问。V-PCC比特流的图集流可在文件中的轨道中有效存储并发送。图集的高效信令可使得接收装置能够执行点云数据的高效处理和部分访问。
V-PCC比特流中用于数据处理和渲染的SEI消息/信息可在文件中有效存储并发送。
点云压缩处理装置、发送器、接收器、点云播放器、编码器或解码器提供这些效果。
根据实施方式的数据表示/存储/信令/编码方法可允许对点云比特流的高效访问。另外,可允许有效访问点云比特流的数据处理和渲染所需的信息。
通过用于将V-PCC比特流分割并存储到文件中的一个或更多个轨道中的技术和信令、用于指示所存储的V-PCC比特流与多个轨道之间的关系以及存储在文件中的替代V-PCC轨道的标识的信令等,根据实施方式的发送器或接收器可高效地存储和发送点云比特流的文件。
图70示出根据实施方式的封装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解码以恢复点云数据。
图70和图71示出根据ISOBMFF文件格式的点云数据容器的结构。
图70和图71示出用于基于多个轨道传送点云的容器的结构。
根据实施方式的方法/装置可发送/接收基于多个轨道包括点云数据和与点云数据有关的附加数据的容器文件。
轨道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)轨道,并且可包含包括与点云数据有关的数据的图集比特流27070。
各个轨道由样本条目和样本组成。样本是与帧对应的单元。为了对第N帧进行解码,需要与第N帧对应的样本或样本条目。样本条目可包含描述样本的信息。
图71示出根据实施方式的文件的结构。
v3c轨道71000对应于轨道4 70030。包含在v3c轨道71000中的数据可具有称为框的数据容器的格式。v3c轨道71000包含关于V3C组件轨道71010至71030的参考信息。
根据实施方式的接收方法/装置可接收包含如图71所示的点云数据的容器(可被称为文件)并解析V3C轨道,并且可基于包含在V3C轨道中的参考信息解码并重构占用数据、几何数据和属性数据。
占用轨道71010对应于轨道2 70010并且包含占用数据。几何轨道71020对应于轨道3 70020并且包含几何数据。属性轨道71030对应于轨道1 70000并且包含属性数据。
图72示出根据实施方式的轨道。
如图72所示,根据实施方式的文件可包含一个或更多个轨道。
轨道1是图集轨道并且可承载图集比特流。轨道1是入口点并且用作文件中的点云数据的入口点。
当存在多个轨道时,轨道1具有轨道参考。例如,基于v3v0(占用数据)、v3va(属性数据)和v3vg(几何数据),可访问各个点云数据。
轨道1可包括样本条目和样本。样本条目是根据实施方式的V3C配置信息,并且可包括参数集和SEI信息。样本可包含图集数据。
轨道2是承载几何比特流的视频组件轨道。轨道2包含样本条目和样本。样本条目是视频配置信息,并且可包括参数集、SEI信息并且包括V3C单元头。样本可承载几何数据。
轨道3是承载属性比特流的视频组件轨道。轨道3包含样本条目和样本。样本条目是视频配置信息,并且可包括参数集和SEI信息,并且包括V3C单元头。样本可承载属性数据。
轨道4是承载占用比特流的视频组件轨道。轨道4包含样本条目和样本。样本条目是视频配置信息,并且可包括参数集和SEI信息,并且包括V3C单元头。样本可承载占用数据。
根据实施方式的方法/装置可基于图72的轨道发送和接收根据实施方式的点云数据的体积视觉数据。
图73示出根据实施方式的发送点云数据的方法。
S7300:根据实施方式的点云数据发送方法可包括对点云数据进行编码。
根据实施方式的编码操作如上面关于图1的发送装置10000、图4的编码处理、图15的编码器的操作、图18的发送装置、图20的编码(20001、20002、20003)、图21的预处理编码(21001至21008)、图23的装置的操作、图25、图26、图59的比特流生成等描述那样执行。
S7310:根据实施方式的点云数据发送方法还可包括将包含点云数据的比特流封装到文件中。
根据实施方式的封装操作如上面关于图1的文件/片段封装器10003、图20的文件/片段封装器20004和图21的文件/片段封装器21009的操作、图23的装置、图52和图68至图72中的文件生成等描述那样执行。
S7320:根据实施方式的点云数据发送方法还可包括发送点云数据。
根据实施方式的发送操作与上面关于图1的发送器10004的操作等描述的相同。
图74示出根据实施方式的接收点云数据的方法。
S7400:根据实施方式的接收点云数据的方法可包括接收包含点云数据的比特流。
根据实施方式的接收操作与上面关于图1的接收装置10005、图20、图22和图23的接收装置等的操作描述的相同。
S7410:根据实施方式的接收点云数据的方法还可包括基于文件将点云数据解封装。
根据实施方式的解封装操作如上面关于图1的文件/片段解封装器10007、图20的文件/片段解封装器20005、图22的文件/片段解封装器22000的操作以及图70至图72的容器结构的解析描述那样执行。
S7420:根据实施方式的接收点云数据的方法还可包括对点云数据进行解码。
根据实施方式的解码操作如上面关于图1的解码器10008的操作、图16的解码处理、图17的解码器、图19的接收装置、图20和图22的解码、处理和渲染、图25和图26的比特流解码描述那样执行。
已在方法和/或装置方面描述了实施方式。方法的描述和装置的描述可相互补充。
尽管为了简单参照各个附图描述了实施方式,但是可通过将附图所示的实施方式合并来设计新的实施方式。如果本领域技术人员设计了记录有用于执行以上描述中提及的实施方式的程序的计算机可读记录介质,则其可落在所附权利要求及其等同物的范围内。装置和方法可不限于上述实施方式的配置和方法。上述实施方式可通过选择性地彼此完全或部分地组合来配置,以实现各种修改。尽管参照附图描述了优选实施方式,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对实施方式进行各种修改和变化。这些修改不应从实施方式的技术思想或观点方面单独地理解。
实施方式的装置的各种元件可由硬件、软件、固件或其组合实现。实施方式中的各种元件可由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施方式的任一个或更多个操作/方法,或者包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可被存储在被配置为由一个或更多个处理器执行的非暂时性CRM或其它计算机程序产品中,或者可被存储在被配置为由一个或更多个处理器执行的暂时性CRM或其它计算机程序产品中。另外,根据实施方式的存储器可用作不仅涵盖易失性存储器(例如,RAM),而且涵盖非易失性存储器、闪存和PROM的概念。另外,其还可按照载波的形式实现(例如,经由互联网的传输)。另外,处理器可读记录介质可分布到经由网络连接的计算机系统,使得处理器可读代码可按照分布式方式存储和执行。
在本文献中,术语“/”和“、”应该被解释为指示“和/或”。例如,表达“A/B”可意指“A和/或B”。此外,“A、B”可意指“A和/或B”。此外,“A/B/C”可意指“A、B和/或C中的至少一个”。另外,“A、B、C”也可意指“A、B和/或C中的至少一个”。此外,在本文献中,术语“或”应该被解释为“和/或”。例如,表达“A或B”可意指1)仅A、2)仅B和/或3)A和B二者。换言之,在本文献中术语“或”应该被解释为“另外地或另选地”。
诸如第一和第二的术语可用于描述实施方式的各种元件。然而,根据实施方式的各种组件不应受上述术语限制。这些术语仅用于将一个元件与另一元件相区分。例如,第一用户输入信号可被称为第二用户输入信号。类似地,第二用户输入信号可被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号均是用户输入信号,但除非上文清楚地另外规定,否则并不意味着相同的用户输入信号。
用于描述实施方式的术语仅用于描述特定实施方式的目的,并非旨在限制实施方式。如在实施方式的描述和权利要求中使用的,除非上文清楚地另外规定,否则单数形式包括复数指称物。表达“和/或”用于包括术语的所有可能组合。诸如“包括”或“具有”的术语旨在指示存在图形、数量、步骤、元件和/或组件,应该被理解为不排除存在附加图形、数量、步骤、元件和/或组件的可能性。如本文所使用的,诸如“如果”和“当”的条件表达不限于可选情况,旨在被解释为当满足特定条件时执行相关操作或根据该特定条件解释相关定义。
根据本说明书中描述的实施方式的操作可由根据实施方式的包括存储器和/或处理器的发送/接收装置执行。存储器可存储用于处理/控制根据实施方式的操作的程序,并且处理器可控制本说明书中描述的各种操作。处理器可被称为控制器等。在实施方式中,操作可由固件、软件和/或其组合执行。固件、软件和/或其组合可被存储在处理器或存储器中。
根据上述实施方式的操作可由根据实施方式的发送装置和/或接收装置执行。发送/接收装置可包括:发送器/接收器,其被配置为发送和接收媒体数据;存储器,其被配置为存储用于根据实施方式的处理的指令(程序代码、算法、流程图和/或数据);以及处理器,其被配置为控制发送/接收装置的操作。
处理器可被称为控制器等,并且可对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可由处理器执行。另外,处理器可被实现为用于上述实施方式的操作的编码器/解码器。
本公开的模式
如上所述,在用于执行实施方式的最佳模式下描述了相关细节。
工业实用性
如上所述,实施方式完全或部分地适用于点云数据发送/接收装置和系统。
本领域技术人员可在实施方式的范围内以各种方式改变或修改实施方式。
实施方式可包括权利要求及其等同物的范围内的变化/修改。

Claims (20)

1.一种用于发送点云数据的方法,该方法包括以下步骤:
对所述点云数据进行编码;
将包括所述点云数据的比特流封装到文件中;以及
发送所述点云数据。
2.根据权利要求1所述的方法,
其中,所述文件包括一个或更多个轨道,所述一个或更多个轨道包括所述点云数据的信令信息,
其中,所述轨道包括用于表示所述点云数据的一个或更多个图集数据的一个或更多个图集标识信息。
3.根据权利要求2所述的方法,
其中,所述轨道还包括与所述图集数据有关的一个或更多个图集拼块信息。
4.根据权利要求2所述的方法,
其中,所述一个或更多个图集标识信息被承载在所述轨道的样本条目中。
5.根据权利要求3所述的方法,
其中,一个或更多个图集拼块标识信息表示所述图集数据包括所述点云数据的一个或更多个图集拼块。
6.根据权利要求2所述的方法,
其中,基于所述图集标识信息,所述轨道还包括所述图集数据的组件轨道信息。
7.根据权利要求1所述的方法,
其中,所述文件的轨道包括空间区域信息,该空间区域信息包括所述点云数据的空间区域的一个或更多个图集拼块标识信息。
8.一种用于接收点云数据的方法,该方法包括以下步骤:
接收包括点云数据的比特流;
基于文件将所述点云数据解封装;以及
对所述点云数据进行解码。
9.根据权利要求8所述的方法,
其中,所述文件包括一个或更多个轨道,所述一个或更多个轨道包括所述点云数据的信令信息,
其中,所述轨道包括用于表示所述点云数据的一个或更多个图集数据的一个或更多个图集标识信息。
10.根据权利要求9所述的方法,
其中,所述轨道还包括与所述图集数据有关的一个或更多个图集拼块信息。
11.根据权利要求9所述的方法,
其中,所述一个或更多个图集标识信息被承载在所述轨道的样本条目中。
12.根据权利要求10所述的方法,
其中,一个或更多个图集拼块标识信息表示所述图集数据包括所述点云数据的一个或更多个图集拼块。
13.根据权利要求9所述的方法,
其中,基于所述图集标识信息,所述轨道还包括所述图集数据的组件轨道信息。
14.根据权利要求8所述的方法,
其中,所述文件的轨道包括空间区域信息,该空间区域信息包括所述点云数据的空间区域的一个或更多个图集拼块标识信息。
15.一种用于接收点云数据的设备,该设备包括:
接收器,该接收器被配置为接收包括点云数据的比特流;
解封装器,该解封装器被配置为基于文件将所述点云数据解封装;以及
解码器,该解码器被配置为对所述点云数据进行解码。
16.根据权利要求15所述的设备,
其中,所述文件包括一个或更多个轨道,所述一个或更多个轨道包括所述点云数据的信令信息,
其中,所述轨道包括用于表示所述点云数据的一个或更多个图集数据的一个或更多个图集标识信息。
17.根据权利要求16所述的设备,
其中,所述轨道还包括与所述图集数据有关的一个或更多个图集拼块信息。
18.根据权利要求16所述的设备,
其中,所述一个或更多个图集标识信息被承载在所述轨道的样本条目中。
19.根据权利要求17所述的设备,
其中,一个或更多个图集拼块标识信息表示所述图集数据包括所述点云数据的一个或更多个图集拼块。
20.一种用于发送点云数据的设备,该设备包括:
编码器,该编码器被配置为对所述点云数据进行编码;
封装器,该封装器被配置为将包括所述点云数据的比特流封装到文件中;以及
发送器,该发送器被配置为发送所述点云数据。
CN202180027813.8A 2020-04-11 2021-04-01 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 Active CN115380528B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063008670P 2020-04-11 2020-04-11
US63/008,670 2020-04-11
US202063010066P 2020-04-15 2020-04-15
US63/010,066 2020-04-15
PCT/KR2021/004045 WO2021206365A1 (ko) 2020-04-11 2021-04-01 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202410279383.4A Division CN118138736A (zh) 2020-04-11 2021-04-01 点云数据编码设备和点云数据解码设备
CN202410279386.8A Division CN118138737A (zh) 2020-04-11 2021-04-01 对点云数据进行编解码的方法和存储介质

Publications (2)

Publication Number Publication Date
CN115380528A true CN115380528A (zh) 2022-11-22
CN115380528B CN115380528B (zh) 2024-03-29

Family

ID=78005984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180027813.8A Active CN115380528B (zh) 2020-04-11 2021-04-01 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法

Country Status (4)

Country Link
US (1) US20210320961A1 (zh)
EP (1) EP4135319A4 (zh)
CN (1) CN115380528B (zh)
WO (1) WO2021206365A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11706450B2 (en) * 2020-09-18 2023-07-18 Samsung Electronics Co., Ltd. Partial decoding and reconstruction of a video-based point cloud compression bitstream
WO2023075535A1 (ko) * 2021-10-29 2023-05-04 엘지전자 주식회사 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치.

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100209013A1 (en) * 2009-02-13 2010-08-19 Harris Corporation Registration of 3d point cloud data to 2d electro-optical image data
KR20180122947A (ko) * 2017-05-04 2018-11-14 톰슨 라이센싱 2차원 포인트 클라우드들을 인코딩 및 디코딩하기 위한 방법 및 장치
EP3474562A1 (en) * 2017-10-20 2019-04-24 Thomson Licensing Method, apparatus and stream for volumetric video format
KR20190053129A (ko) * 2017-11-09 2019-05-17 삼성전자주식회사 비-직교 투영을 이용한 포인트 클라우드 압축을 위한 장치 및 방법
CN110012279A (zh) * 2018-01-05 2019-07-12 上海交通大学 基于3d点云数据的分视角压缩和传输方法及系统
WO2019203523A1 (ko) * 2018-04-17 2019-10-24 삼성전자 주식회사 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치
KR20190139795A (ko) * 2018-06-08 2019-12-18 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521963B1 (en) * 2018-06-08 2019-12-31 Verizon Patent And Licensing Inc. Methods and systems for representing a pre-modeled object within virtual reality data
WO2020076058A1 (ko) * 2018-10-08 2020-04-16 삼성전자 주식회사 3차원 비디오 컨텐츠를 포함하는 미디어 파일을 생성하는 방법 및 장치 및 3차원 비디오 컨텐츠를 재생하는 방법 및 장치
US11284091B2 (en) * 2019-03-25 2022-03-22 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box
BR112021017800A2 (pt) * 2019-03-08 2021-11-23 Vid Scale Inc Nó de rede, e, método para um nó de rede
EP3941079B1 (en) * 2019-03-11 2024-04-24 Sony Group Corporation Information processing device, regeneration processing device, information processing method, and regeneration processing method
EP4090013A4 (en) * 2020-01-10 2024-01-17 Lg Electronics Inc POINT CLOUD DATA TRANSMISSION DEVICE, POINT CLOUD DATA TRANSMISSION METHOD, POINT CLOUD DATA RECEIVING DEVICE, AND POINT CLOUD DATA RECEIVING METHOD
CN115918093A (zh) * 2020-06-21 2023-04-04 Lg电子株式会社 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100209013A1 (en) * 2009-02-13 2010-08-19 Harris Corporation Registration of 3d point cloud data to 2d electro-optical image data
KR20180122947A (ko) * 2017-05-04 2018-11-14 톰슨 라이센싱 2차원 포인트 클라우드들을 인코딩 및 디코딩하기 위한 방법 및 장치
EP3474562A1 (en) * 2017-10-20 2019-04-24 Thomson Licensing Method, apparatus and stream for volumetric video format
KR20190053129A (ko) * 2017-11-09 2019-05-17 삼성전자주식회사 비-직교 투영을 이용한 포인트 클라우드 압축을 위한 장치 및 방법
CN110012279A (zh) * 2018-01-05 2019-07-12 上海交通大学 基于3d点云数据的分视角压缩和传输方法及系统
WO2019203523A1 (ko) * 2018-04-17 2019-10-24 삼성전자 주식회사 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치
KR20190121106A (ko) * 2018-04-17 2019-10-25 삼성전자주식회사 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치
KR20190139795A (ko) * 2018-06-08 2019-12-18 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치

Also Published As

Publication number Publication date
WO2021206365A1 (ko) 2021-10-14
US20210320961A1 (en) 2021-10-14
CN115380528B (zh) 2024-03-29
EP4135319A4 (en) 2023-05-03
EP4135319A1 (en) 2023-02-15

Similar Documents

Publication Publication Date Title
CN114930863B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11631158B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114930813B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11544877B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115443652B (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
CN115398890B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11601634B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115769583A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN115380528B (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
US11908168B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115428442B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN118138736A (zh) 点云数据编码设备和点云数据解码设备
CN118138737A (zh) 对点云数据进行编解码的方法和存储介质

Legal Events

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