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

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

Info

Publication number
CN114946178A
CN114946178A CN202080092340.5A CN202080092340A CN114946178A CN 114946178 A CN114946178 A CN 114946178A CN 202080092340 A CN202080092340 A CN 202080092340A CN 114946178 A CN114946178 A CN 114946178A
Authority
CN
China
Prior art keywords
point cloud
information
cloud data
video
data
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
CN202080092340.5A
Other languages
English (en)
Other versions
CN114946178B (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 CN114946178A publication Critical patent/CN114946178A/zh
Application granted granted Critical
Publication of CN114946178B publication Critical patent/CN114946178B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

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示出根据实施方式的点云的3D区域与视频帧上的区域之间的关系。
图25示出根据实施方式的包含点云数据的比特流的结构。
图26示出根据实施方式的包含点云数据的比特流的结构。
图27示出根据实施方式的V-PCC单元和V-PCC单元头。
图28示出根据实施方式的V-PCC单元的有效载荷。
图29示出根据实施方式的V-PCC参数集。
图30示出根据实施方式的图集比特流的结构。
图31示出根据实施方式的图集序列参数集。
图32示出根据实施方式的图集帧参数集。
图33示出根据实施方式的atlas_frame_tile_information。
图34示出根据实施方式的补充增强信息(SEI)。
图35示出根据实施方式的3D边界框SEI。
图36示出根据实施方式的3D区域映射信息SEI消息。
图37示出根据实施方式的体积平铺信息。
图38示出根据实施方式的体积平铺信息对象。
图39示出根据实施方式的体积平铺信息标签。
图40示出根据实施方式的封装V-PCC数据容器的结构。
图41示出根据实施方式的封装V-PCC数据容器的结构。
图42示出根据实施方式的V-PCC样本条目。
图43示出根据实施方式的轨道替换和分组。
图44示出根据实施方式的3D区域映射信息的结构。
图45示出根据实施方式的3D区域映射信息的结构。
图46示出根据实施方式的用于将非定时V-PCC数据封装的结构。
图47示出根据实施方式的点云数据发送方法。
图48示出根据实施方式的点云数据接收方法。
具体实施方式
现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语选自本领域中广泛使用的一般术语,但是一些术语是申请人任意选择的,其含义在以下描述中根据需要详细说明。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图1示出根据实施方式的用于提供点云内容的发送/接收系统的示例性结构。
本公开提供一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶的各种服务的方法。根据实施方式的点云内容将表示对象的数据表示为点,并且可被称为点云、点云数据、点云视频数据、点云图像数据等。
根据实施方式的点云数据发送装置10000可包括点云视频获取器10001、点云视频编码器10002、文件/片段封装模块10003和/或发送器(或通信模块)10004。根据实施方式的发送装置可确保和处理点云视频(或点云内容)并发送其。根据实施方式,发送装置可包括固定站、基站收发器系统(BTS)、网络、人工智能(AI)装置和/或系统、机器人和AR/VR/XR装置和/或服务器。根据实施方式,发送装置10000可包括装置机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器,其被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信。
根据实施方式的点云视频获取器10001通过捕获、合成或生成点云视频的处理来获取点云视频。
根据实施方式的点云视频编码器10002对点云视频数据进行编码。根据实施方式,点云视频编码器10002可被称为点云编码器、点云数据编码器、编码器等。根据实施方式的点云压缩编码(编码)不限于上述实施方式。点云视频编码器可输出包含编码的点云视频数据的比特流。比特流不仅可包括编码的点云视频数据,而且包括与点云视频数据的编码有关的信令信息。
根据实施方式的编码器可支持基于几何的点云压缩(G-PCC)编码方案和/或基于视频的点云压缩(V-PCC)编码方案二者。另外,编码器可对点云(指点云数据或点)和/或与点云有关的信令数据进行编码。下面将描述根据实施方式的具体编码操作。
如本文所使用的,术语V-PCC可代表基于视频的点云压缩(V-PCC)。术语V-PCC可与基于视觉体积视频的编码(V3C)相同。这些术语可互补地使用。
根据实施方式的文件/片段封装模块10003以文件和/或片段的形式封装点云数据。根据实施方式的点云数据发送方法/装置可按文件和/或片段的形式发送点云数据。
根据实施方式的发送器(或通信模块)10004以比特流的形式发送编码的点云视频数据。根据实施方式,文件或片段可经由网络发送至接收装置,或存储在数字存储介质(例如,USB、SD、CD、DVD、蓝光、HDD、SSD等)中。根据实施方式的发送器能够经由4G、5G、6G等的网络与接收装置(或接收器)无线地/无线通信。另外,发送器可根据网络系统(例如,4G、5G或6G通信网络系统)执行必要的数据处理操作。发送装置可按照按需方式发送封装数据。
根据实施方式的点云数据接收装置10005可包括接收器10006、文件/片段解封装模块10007、点云视频解码器10008和/或渲染器10009。根据实施方式,接收装置可包括装置机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器,其被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信。
根据实施方式的接收器10006接收包含点云视频数据的比特流。根据实施方式,接收器10006可向点云数据发送装置10000发送反馈信息。
文件/片段解封装模块10007将包含点云数据的文件和/或片段解封装。根据实施方式的解封装模块可执行根据实施方式的封装处理的逆处理。
点云视频解码器10007对所接收的点云视频数据进行解码。根据实施方式的解码器可执行根据实施方式的编码的逆处理。
渲染器10007渲染解码的点云视频数据。根据实施方式,渲染器10007可将在接收侧获得的反馈信息发送给点云视频解码器10006。根据实施方式的点云视频数据可将反馈信息承载到接收器。根据实施方式,点云发送装置所接收的反馈信息可被提供给点云视频编码器。
图中的虚线所指示的箭头表示接收装置10005所获取的反馈信息的传输路径。反馈信息是用于反映与消费点云内容的用户的交互性的信息,并且包括用户信息(例如,头部取向信息)、视口信息等)。具体地,当点云内容是需要与用户的交互的服务(例如,自主驾驶服务等)的内容时,反馈信息可被提供给内容发送侧(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可用在接收装置10005以及发送装置10000中,并且可不提供。
根据实施方式的头部取向信息是关于用户的头部位置、取向、角度、运动等的信息。根据实施方式的接收装置10005可基于头部取向信息来计算视口信息。视口信息可以是关于用户正在观看的点云视频的区域的信息。视点是用户正在观看点云视频的点,并且可指视口区域的中心点。即,视口是以视点为中心的区域,并且区域的大小和形状可由视场(FOV)确定。因此,除了头部取向信息之外,接收装置10005可基于装置所支持的垂直或水平FOV来提取视口信息。另外,接收装置10005执行注视分析以检查用户如何消费点云、点云视频中用户注视的区域、注视时间等。根据实施方式,接收装置10005可向发送装置10000发送包括注视分析结果的反馈信息。根据实施方式的反馈信息可在渲染和/或显示处理中获取。根据实施方式的反馈信息可由包括在接收装置10005中的一个或更多个传感器确保。另外,根据实施方式,反馈信息可由渲染器10009或单独的外部元件(或装置、组件等)确保。图1中的虚线表示发送渲染器10009所确保的反馈信息的处理。点云内容提供系统可基于反馈信息来处理(编码/解码)点云数据。因此,点云视频数据解码器10008可基于反馈信息执行解码操作。接收装置10005可向发送装置发送反馈信息。发送装置(或点云视频数据编码器10002)可基于反馈信息执行编码操作。因此,点云内容提供系统可基于反馈信息有效地处理必要数据(例如,与用户头部位置对应的点云数据),而非处理(编码/解码)所有点云数据,并将点云内容提供给用户。
根据实施方式,发送装置10000可被称为编码器、发送装置、发送器等,接收装置10004可被称为解码器、接收装置、接收器等。
根据实施方式的图1的点云内容提供系统中处理的点云数据(通过获取/编码/传输/解码/渲染的一系列处理)可被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可用作涵盖与点云数据有关的元数据或信令信息的概念。
图1所示的点云内容提供系统的元件可由硬件、软件、处理器和/或其组合实现。
实施方式可提供一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶的各种服务的方法。
为了提供点云内容服务,可首先获取点云视频。所获取的点云视频可通过一系列处理发送,并且接收侧可将所接收的数据处理回到原始点云视频并渲染所处理的点云视频。由此,点云视频可被提供给用户。实施方式提供一种有效地执行这一系列处理的方法。
用于提供点云内容服务的所有处理(点云数据发送方法和/或点云数据接收方法)可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
根据实施方式,提供点云内容(或点云数据)的处理可被称为点云压缩处理。根据实施方式,点云压缩处理可表示基于几何的点云压缩处理。
根据实施方式的点云数据发送装置和点云数据接收装置的各个元件可以是硬件、软件、处理器和/或其组合。
为了提供点云内容服务,可获取点云视频。所获取的点云视频通过一系列处理发送,并且接收侧可将所接收的数据处理回到原始点云视频并渲染所处理的点云视频。由此,点云视频可被提供给用户。实施方式提供一种有效地执行这一系列处理的方法。
用于提供点云内容服务的所有处理可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
点云压缩系统可包括发送装置和接收装置。发送装置可通过对点云视频进行编码来输出比特流,并通过数字存储介质或网络将其以文件或流(流传输片段)的形式传送至接收装置。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。
发送装置可包括点云视频获取器、点云视频编码器、文件/片段封装器和发送器。接收装置可包括接收器、文件/片段解封装器、点云视频解码器和渲染器。编码器可被称为点云视频/画面/画面/帧编码器,解码器可被称为点云视频/画面/画面/帧解码装置。发送器可包括在点云视频编码器中。接收器可包括在点云视频解码器中。渲染器可包括显示器。渲染器和/或显示器可被配置成单独的装置或外部组件。发送装置和接收装置还可包括用于反馈处理的单独的内部或外部模块/单元/组件。
根据实施方式,接收装置的操作可以是发送装置的操作的逆处理。
点云视频获取器可通过捕获、编排或生成点云视频的处理来执行获取点云视频的处理。在获取处理中,可生成多个点的3D位置(x,y,z)/属性(颜色、反射率、透明度等)的数据,例如polygon文件格式(PLY)(或斯坦福三角形(Stanford triangle)格式)文件。对于具有多个帧的视频,可获取一个或更多个文件。在捕获处理期间,可生成点云相关元数据(例如,捕获相关元数据)。
根据实施方式的点云数据发送装置可包括被配置为对点云数据进行编码的编码器以及被配置为发送点云数据的发送器。数据可按照包含点云的比特流的形式发送。
根据实施方式的点云数据接收装置可包括被配置为接收点云数据的接收器、被配置为对点云数据进行解码的解码器以及被配置为渲染点云数据的渲染器。
根据实施方式的方法/装置表示点云数据发送装置和/或点云数据接收装置。
图2示出根据实施方式的点云数据的捕获。
根据实施方式的点云数据可通过相机等来获取。根据实施方式的捕获技术可包括例如面向内和/或面向外。
在根据实施方式的面向内中,向内面向点云数据的对象的一个或更多个相机可从对象外部拍摄对象。
在根据实施方式的面向外中,向外面向点云数据的对象的一个或更多个相机可拍摄对象。例如,根据实施方式,可存在四个相机。
根据实施方式的点云数据或点云内容可以是在各种类型的3D空间中表示的对象/环境的视频或静止图像。根据实施方式,点云内容可包括对象的视频/音频/图像。
为了捕获点云内容,可配置能够获取深度的相机设备(红外图案投影仪和红外相机的组合)和能够提取与深度信息对应的颜色信息的RGB相机的组合。另选地,可通过使用雷达系统的LiDAR来提取深度信息,该雷达系统通过发射激光脉冲并测量返回时间来测量反射器的位置坐标。可从深度信息提取由3D空间中的点组成的几何形状,并且可从RGB信息提取表示各个点的颜色/反射率的属性。点云内容可包括关于位置(x,y,z)和点的颜色(YCbCr或RGB)或反射率(r)的信息。对于点云内容,可使用捕获外部环境的面向外技术和捕获中心对象的面向内技术。在VR/AR环境中,当对象(例如,诸如角色、玩家、事物或演员的核心对象)被配置到用户可在任何方向(360度)观看的点云内容中时,捕获相机的配置可基于面向内技术。当在诸如主自驾驶的车辆模式下当前周围环境被配置到点云内容中时,捕获相机的配置可基于面向外技术。由于可通过多个相机捕获点云内容,所以可能需要在捕获内容之前执行相机校准处理以为相机配置全局坐标系。
点云内容可以是存在于各种类型的3D空间中的对象/环境的视频或静止图像。
另外,在点云内容获取方法中,可基于捕获的点云视频编排任何点云视频。另选地,当要提供计算机生成的虚拟空间的点云视频时,可能不执行利用实际相机的捕获。在这种情况下,捕获处理可简单地由生成相关数据的处理代替。
可能需要对捕获的点云视频进行后处理以改进内容的质量。在视频捕获处理中,可在相机设备所提供的范围内调节最大/最小深度。即使在调节之后,仍可能存在不想要的区域的点数据。因此,可执行去除不想要的区域(例如,背景)或识别连接的空间并填充空间孔洞的后处理。另外,从共享空间坐标系的相机提取的点云可通过基于通过校准处理获取的各个相机的位置坐标将各个点变换到全局坐标系中的处理而被整合为一条内容。由此,可生成具有宽范围的一条点云内容,或者可获取具有高密度点的点云内容。
点云视频编码器可将输入点云视频编码为一个或更多个视频流。一个视频可包括多个帧,各个帧可对应于静止图像/画面。在本说明书中,点云视频可包括点云图像/帧/画面。另外,术语“点云视频”可与点云图像/帧/画面/视频/音频互换使用。点云视频编码器可执行基于视频的点云压缩(V-PCC)处理。为了压缩和编码效率,点云视频编码器可执行诸如预测、变换、量化和熵编码的一系列处理。编码的数据(编码的视频/图像信息)可按比特流的形式输出。基于V-PCC处理,点云视频编码器可通过将点云视频分成几何视频、属性视频、占用图视频和辅助信息来对点云视频进行编码(将稍后描述)。几何视频可包括几何图像,属性视频可包括属性图像,占用图视频可包括占用图图像。辅助信息可包括辅助补片信息。属性视频/图像可包括纹理视频/图像。
封装处理器(文件/片段封装模块)10003可以例如文件的形式封装编码的点云视频数据和/或与点云视频有关的元数据。这里,与点云视频有关的元数据可从元数据处理器接收。元数据处理器可包括在点云视频编码器中,或者可被配置成单独的组件/模块。封装处理器可按照诸如ISOBMFF的文件格式封装数据或者按照DASH片段等的形式处理数据。根据实施方式,封装处理器可包括文件格式的点云视频相关元数据。点云视频元数据可被包括在例如ISOBMFF文件格式的各种级别的框中,或作为文件内的单独轨道中的数据。根据实施方式,封装处理器可将点云视频相关元数据封装到文件中。发送处理器可对根据文件格式封装的点云视频数据执行传输处理。发送处理器可包括在发送器中,或者可被配置成单独的组件/模块。发送处理器可根据传输协议来处理点云视频数据。传输处理可包括经由广播网络传送的处理和通过宽带传送的处理。根据实施方式,发送处理器可从元数据处理器连同点云视频数据一起接收点云视频相关元数据,并且执行点云视频数据的处理以进行传输。
发送器10004可通过数字存储介质或网络将以比特流的形式输出的编码的视频/图像信息或数据以文件或流的形式发送到接收装置的接收器。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。发送器可包括用于以预定文件格式生成媒体文件的元件,并且可包括用于经由广播/通信网络传输的元件。接收器可提取比特流并将所提取的比特流发送到解码装置。
接收器10003可接收根据本公开的点云视频发送装置所发送的点云视频数据。根据传输信道,接收器可经由广播网络或通过宽带接收点云视频数据。另选地,点云视频数据可通过数字存储介质来接收。
接收处理器可根据传输协议处理所接收的点云视频数据。接收处理器可包括在接收器中,或者可被配置成单独的组件/模块。接收处理器可反向执行发送处理器的上述处理,使得处理对应于在发送侧执行的传输处理。接收处理器可将所获取的点云视频数据传送至解封装处理器,并将所获取的点云视频相关元数据传送至元数据解析器。接收处理器所获取的点云视频相关元数据可采取信令表的形式。
解封装处理器(文件/片段解封装模块)10007可将以文件的形式从接收处理器接收的点云视频数据解封装。解封装处理器可根据ISOBMFF等对文件进行解封装,并且可获取点云视频比特流或点云视频相关元数据(元数据比特流)。所获取的点云视频比特流可被传送至点云视频解码器,并且所获取的点云视频相关元数据(元数据比特流)可被传送至元数据处理器。点云视频比特流可包括元数据(元数据比特流)。元数据处理器可包括在点云视频解码器中,或者可被配置成单独的组件/模块。解封装处理器所获取的点云视频相关元数据可采取文件格式中的框或轨道的形式。当需要时,解封装处理器可从元数据处理器接收解封装所需的元数据。点云视频相关元数据可被传送至点云视频解码器并在点云视频解码处理中使用,或者可被传送至渲染器并在点云视频渲染处理中使用。
点云视频解码器可接收比特流并且通过执行与点云视频编码器的操作对应的操作来将视频/图像解码。在这种情况下,点云视频解码器可通过如下所述将点云视频分成几何视频、属性视频、占用图视频和辅助信息来对点云视频进行解码。几何视频可包括几何图像,属性视频可包括属性图像。占用图视频可包括占用图图像。辅助信息可包括辅助补片信息。属性视频/图像可包括纹理视频/图像。
3D几何可基于解码的几何图像、占用图和辅助补片信息来重构,然后可经受平滑处理。可通过基于纹理图像向平滑的3D几何指派颜色值来重构颜色点云图像/画面。渲染器可渲染重构的几何和颜色点云图像/画面。渲染的视频/图像可通过显示器显示。用户可通过VR/AR显示器或典型显示器来观看全部或部分渲染结果。
反馈处理可包括将可在渲染/显示处理中获取的各种类型的反馈信息传送至发送侧或接收侧的解码器。可在消费点云视频时通过反馈处理提供交互性。根据实施方式,头部取向信息、指示用户当前观看的区域的视口信息等可在反馈处理中被传送至发送侧。根据实施方式,用户可与VR/AR/MR/自主驾驶环境中实现的事物交互。在这种情况下,与交互有关的信息可在反馈处理期间被传送至发送侧或服务提供商。根据实施方式,反馈处理可被跳过。
头部取向信息可表示用户头部的位置、角度和运动的信息。基于该信息,可计算关于用户当前观看的点云视频的区域的信息(即,视口信息)。
视口信息可以是关于用户当前观看的点云视频的区域的信息。可使用视口信息来执行注视分析,以检查用户消费点云视频的方式、用户所注视的点云视频的区域以及用户注视该区域多长时间。可在接收侧执行注视分析,并且可在反馈信道上将分析结果传送至发送侧。诸如VR/AR/MR显示器的装置可基于用户头部的位置/方向、装置所支持的垂直或水平FOV等来提取视口区域。
根据实施方式,上述反馈信息可不仅被传送至发送侧,而且在接收侧消费。即,可基于上述反馈信息执行接收侧的解码和渲染处理。例如,可基于头部取向信息和/或视口信息仅优先解码和渲染用户当前观看的区域的点云视频。
这里,视口或视口区域可表示用户当前观看的点云视频的区域。视点是点云视频中用户所观看的点,并且可表示视口区域的中心点。即,视口是视点周围的区域,并且区域的大小和形式可由视场(FOV)确定。
本公开涉及如上所述的点云视频压缩。例如,本公开中公开的方法/实施方式可应用于运动图像专家组(MPEG)的点云压缩或点云编码(PCC)标准或下一代视频/图像编码标准。
如本文所使用的,画面/帧通常可表示特定时间间隔中表示一个图像的单位。
像素或画素可以是构成一个画面(或图像)的最小单位。另外,“样本”可用作与像素对应的术语。样本通常可表示像素或像素值,或者可仅表示亮度分量的像素/像素值,仅表示色度分量的像素/像素值,或者仅表示深度分量的像素/像素值。
单元可表示图像处理的基本单位。单元可包括画面的特定区域和与该区域有关的信息中的至少一个。在一些情况下,单元可与诸如块或区域的术语互换使用。在一般情况下,M×N块可包括按M列和N行配置的样本(或样本阵列)或变换系数集合(或阵列)。
图3示出根据实施方式的点云、几何图像和纹理图像的示例。
根据实施方式的点云可输入至将稍后描述的图4的V-PCC编码处理,以生成几何图像和纹理图像。根据实施方式,点云可具有与点云数据相同的含义。
如图所示,左侧部分示出点云,其中对象位于3D空间中并且可由边界框等表示。中间部分示出几何,右侧部分示出纹理图像(非填充图像)。
根据实施方式的基于视频的点云压缩(V-PCC)可提供基于诸如HEVC或VVC的2D视频编解码器来压缩3D点云数据的方法。可在V-PCC压缩处理中生成的数据和信息如下:
占用图:这是在将构成点云的点分成补片并将其映射到2D平面时使用值0或1指示在2D平面中的对应位置是否存在数据的二值图。占用图可表示与图集(atlas)对应的2D阵列,并且占用图的值可指示图集中的各个样本位置是否对应于3D点。
图集是位于矩形帧中与渲染体积数据的3D空间中的3D边界框对应的2D边界框和与其有关的信息的集合。
图集比特流是构成图集的一个或更多个图集帧和相关数据的比特流。
图集帧是补片投影至的图集样本的2D矩形阵列。
图集样本是与图集关联的补片投影至的矩形帧的位置。
图集帧可被划分为拼块。拼块是2D帧被划分的单元。即,拼块是用于划分称为图集的点云数据的信令信息的单元。
补片:构成点云的点集合,其指示属于同一补片的点在3D空间中彼此相邻并且在映射到2D图像的处理中在6面边界框平面之间在相同方向上映射。
补片是拼块被划分的单元。补片是关于点云数据的配置的信令信息。
根据实施方式的接收装置可基于图集(拼块、补片)来恢复属性视频数据、几何视频数据和占用视频数据(具有相同呈现时间的实际视频数据)。
几何图像:这是逐补片呈现关于构成点云的各个点的位置信息(几何)的深度图形式的图像。几何图像可由一个通道的像素值组成。几何表示与点云帧关联的坐标集合。
纹理图像:这是逐补片表示关于构成点云的各个点的颜色信息的图像。纹理图像可由多个通道(例如,R、G和B三个通道)的像素值组成。纹理包括在属性中。根据实施方式,纹理和/或属性可被解释为相同的对象和/或具有包含关系。
辅助补片信息:这指示利用各个补片重构点云所需的元数据。辅助补片信息可包括关于2D/3D空间中的补片的位置、尺寸等的信息。
根据实施方式的点云数据(例如,V-PCC组件)可包括图集、占用图、几何和属性。
图集表示2D边界框的集合。其可以是补片,例如,投影到矩形帧上的补片。图集可对应于3D空间中的3D边界框,并且可表示点云的子集。
属性可表示与点云中的各个点关联的标量或向量。例如,属性可包括颜色、反射率、表面法线、时间戳、材料ID。
根据实施方式的点云数据表示根据基于视频的点云压缩(V-PCC)方案的PCC数据。点云数据可包括多个分量。例如,其可包括占用图、补片、几何和/或纹理。
图4示出根据实施方式的V-PCC编码处理。
该图示出用于生成和压缩占用图、几何图像、纹理图像和辅助补片信息的V-PCC编码处理。图4的V-PCC编码处理可由图1的点云视频编码器10002处理。图4的各个元件可由软件、硬件、处理器和/或其组合执行。
补片生成或补片生成器40000接收点云帧(其可以是包含点云数据的比特流的形式)。补片生成器40000从点云数据生成补片。另外,生成包括关于补片生成的信息的补片信息。
补片打包或补片打包器40001将用于点云数据的补片打包。例如,一个或更多个补片可被打包。另外,补片打包器生成包含关于补片打包的信息的占用图。
几何图像生成或几何图像生成器40002基于点云数据、补片和/或打包的补片来生成几何图像。几何图像是指包含与点云数据有关的几何的数据。
纹理图像生成或纹理图像生成器40003基于点云数据、补片和/或打包的补片来生成纹理图像。另外,可进一步基于通过基于补片信息平滑的平滑处理生成的平滑几何来生成纹理图像。
平滑或平滑器40004可减轻或消除包含在图像数据中的错误。例如,基于修补的重构几何图像,数据之间可导致错误的部分可被平滑地滤除以生成平滑几何。
辅助补片信息压缩或辅助补片信息压缩器40005压缩与在补片生成中生成的补片信息有关的辅助补片信息。另外,压缩的辅助补片信息可被发送至复用器。可在几何图像生成40002中生成辅助补片信息。
图像填充或图像填充器40006、40007可分别填充几何图像和纹理图像。填充数据可被填充到几何图像和纹理图像。
组扩张或组扩张器40008可按照与图像填充类似的方式向纹理图像添加数据。添加的数据可被插入到纹理图像中。
视频压缩或视频压缩器40009、40010、40011可分别压缩填充的几何图像、填充的纹理图像和/或占用图。压缩可对几何信息、纹理信息、占用信息等进行编码。
熵压缩或熵压缩器40012可基于熵方案来压缩(例如,编码)占用图。
根据实施方式,可分别根据点云数据是否无损和/或有损来执行熵压缩和/或视频压缩。
复用器40013将压缩的几何图像、压缩的纹理图像和压缩的占用图复用为比特流。
下面描述图4的各个处理中的特定操作。
补片生成40000
补片生成处理是指将点云分成补片(映射单元)以便将点云映射到2D图像的处理。补片生成处理可被分成三个步骤:法向值计算、分段和补片分段。
将参照图5详细描述法向值计算处理。
图5示出根据实施方式的表面的切平面和法向量的示例。
图5的表面如下用在图4的V-PCC编码处理的补片生成处理40000中。
与补片生成有关的法线计算:
点云的各个点具有其自己的方向,其由称为法向量的3D向量表示。使用利用K-D树等获得的各个点的邻居,可获得如图所示构成点云的表面的各个点的切平面和法向量。应用于搜索邻居的处理的搜索范围可由用户定义。
切平面是指穿过表面上的点并且完全包括表面上的曲线的切线的平面。
图6示出根据实施方式的点云的示例性边界框。
根据实施方式的方法/装置(例如,补片生成)可在从点云数据生成补片时采用边界框。
根据实施方式的边界框是指用于基于3D空间中的六面体划分点云数据的单元的框。
可在将点云数据的目标对象投影到3D空间中的六面体的各个平坦面的平面上的处理中使用边界框。边界框可由图1的点云视频获取器10000和点云视频编码器10002生成和处理。此外,基于边界框,可执行图2的V-PCC编码处理的补片生成40000、补片打包40001、几何图像生成40002和纹理图像生成40003。
与补片生成有关的分段
分段被分成两个处理:初始分段和细化分段。
根据实施方式的点云编码器10002将点投影到边界框的一个面上。具体地,构成点云的各个点被投影到围绕点云的边界框的六个面之一上。初始分段是确定各个点要投影至的边界框的平坦面之一的处理。
Figure BDA0003737124030000151
其是与六个平坦面中的每一个对应的法向值,如下定义:
(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 BDA0003737124030000152
Figure BDA0003737124030000153
的点积的值最大的面被确定为对应点的投影平面。即,法向量与点的法向量的方向最相似的平面被确定为点的投影平面。
Figure BDA0003737124030000154
所确定的平面可由一个集群索引(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 BDA0003737124030000211
图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比特流)。
根据实施方式,视频编码器2002、图像编码器20002、视频解码20006和图像解码可如上所述由一个编码器/解码器执行,并且可如图所示沿着单独的路径执行。
在文件/片段封装20004中,可将编码的点云数据和/或点云相关元数据封装为文件或片段以用于流传输。这里,点云相关元数据可接收自元数据处理器等。元数据处理器可包括在点云视频/图像编码器中,或者可被配置成单独的组件/模块。封装处理器可按诸如ISOBMFF的文件格式或按DASH片段等形式封装对应视频/图像/元数据。根据实施方式,封装处理器可包括文件格式的点云元数据。点云相关元数据可包括在例如ISOBMFF文件格式的各种级别的框中,或作为文件内的单独轨道中的数据。根据实施方式,封装处理器可将点云相关元数据封装成文件。
根据实施方式的封装或封装器可将G-PCC/V-PCC比特流分成一个或多个轨道并将其存储在文件中,并且还可封装用于该操作的信令信息。另外,包括在G-PCC/V-PCC比特流中的图集流可作为轨道存储在文件中,并且可存储相关信令信息。此外,存在于G-PCC/V-PCC比特流中的SEI消息可存储在文件中的轨道中,并且可存储相关信令信息。
发送处理器可根据文件格式来执行封装的点云数据的传输处理。发送处理器可包括在发送器中,或者可被配置成单独的组件/模块。发送处理器可根据传输协议处理点云数据。传输处理可包括经由广播网络传送的处理和通过宽带传送的处理。根据实施方式,发送处理器可从元数据处理器接收点云相关元数据以及点云数据,并且执行点云视频数据的传输处理。
发送器可经由数字存储介质或网络将点云比特流或包括比特流的文件/片段发送到接收装置的接收器。为了传输,可执行根据任何传输协议的处理。为传输而处理的数据可经由广播网络和/或通过宽带传送。数据可按照按需方式传送至接收侧。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。发送器可包括用于生成预定文件格式的媒体文件的元件,并且可包括用于经由广播/通信网络传输的元件。接收器可提取比特流并将提取的比特流发送到解码器。
接收器可接收根据本公开的点云数据发送装置所发送的点云数据。根据传输信道,接收器可经由广播网络或通过宽带接收点云数据。另选地,可通过数字存储介质接收点云数据。接收器可包括将所接收的数据解码并根据用户的视口渲染数据的处理。
接收处理器可根据传输协议对所接收的点云视频数据执行处理。接收处理器可包括在接收器中,或者可被配置成单独的组件/模块。接收处理器可相反地执行上述发送处理器的处理,以与在发送侧执行的传输处理对应。接收处理器可将获取的点云视频传送至解封装处理器,并将获取的点云相关元数据传送至元数据解析器。
解封装处理器(文件/片段解封装)20005可将以文件的形式从接收处理器接收的点云数据解封装。解封装处理器可根据ISOBMFF等对文件进行解封装,并且可获取点云比特流或点云相关元数据(或单独的元数据比特流)。所获取的点云比特流可被传送至点云解码器,所获取的点云视频相关元数据(元数据比特流)可被传送至元数据处理器。点云比特流可包括元数据(元数据比特流)。元数据处理器可包括在点云解码器中,或者可被配置成单独的组件/模块。解封装处理器所获取的点云视频相关元数据可采取文件格式中的框或轨道的形式。必要时,解封装处理器可从元数据处理器接收解封装所需的元数据。点云相关元数据可被传送至点云解码器并在点云解码处理中使用,或者可被传送至渲染器并在点云渲染处理中使用。
点云视频解码器20006可接收比特流并通过执行与点云视频编码器的操作对应的操作来对视频/图像进行解码。在这种情况下,如下所述,点云视频解码器可通过将点云视频分成几何视频、属性视频、占用图视频和辅助补片信息来将点云视频解码。几何视频可包括几何图像,属性视频可包括属性图像,占用图视频可包括占用图图像。辅助信息可包括辅助补片信息。属性视频/图像可包括纹理视频/图像。
3D几何可基于解码的几何图像、占用图和辅助补片信息来重构,然后可经受平滑处理。可通过基于纹理图像向平滑的3D几何指派颜色值来重构颜色点云图像/画面。渲染器可渲染重构的几何和颜色点云图像/画面。渲染的视频/图像可通过显示器显示。渲染结果的全部或部分可通过VR/AR显示器或典型显示器显示给用户。
传感器/跟踪器(感测/跟踪)20007从用户或接收侧获取取向信息和/或用户视口信息并将取向信息和/或用户视口信息传送至接收器和/或发送器。取向信息可表示关于用户头部的位置、角度、移动等的信息,或者表示关于用户正通过其观看视频/图像的装置的位置、角度、移动等的信息。基于该信息,可计算关于3D空间中用户当前观看的区域的信息(即,视口信息)。
视口信息可以是关于3D空间中用户当前通过装置或HMD观看的区域的信息。诸如显示器的装置可基于取向信息、装置所支持的垂直或水平FOV等提取视口区域。可在接收侧提取或计算取向或视口信息。在接收侧分析的取向或视口信息可在反馈信道上发送至发送侧。
基于传感器/跟踪器获取的取向信息和/或指示用户当前观看的区域的视口信息,接收器可有效地从文件仅提取或解码特定区域(即,取向信息和/或视口信息所指示的区域)的媒体数据。另外,基于传感器/跟踪器所获取的取向信息和/或视口信息,发送器可有效地仅对特定区域(即,取向信息和/或视口信息所指示的区域)的媒体数据进行编码,或者生成并发送其文件。
渲染器可在3D空间中渲染解码的点云数据。渲染的视频/图像可通过显示器显示。用户可通过VR/AR显示器或典型显示器来观看渲染结果的全部或部分。
反馈处理可包括将可在渲染/显示处理中获取的各种类型的反馈信息传送至发送侧或接收侧的解码器。通过反馈处理,可在消费点云数据时提供交互性。根据实施方式,头部取向信息、指示用户当前观看的区域的视口信息等可在反馈处理中被传送至发送侧。根据实施方式,用户可与在VR/AR/MR/自主驾驶环境中实现的内容交互。在这种情况下,与交互有关的信息可在反馈处理中被传送至发送侧或服务提供商。根据实施方式,可跳过反馈处理。
根据实施方式,上述反馈信息可不仅被发送至发送侧,而且在接收侧处消费。即,接收侧的解封装处理、解码和渲染处理可基于上述反馈信息来执行。例如,可基于取向信息和/或视口信息优先解封装、解码和渲染关于用户当前观看的区域的点云数据。
根据一些实施方式的用于发送点云数据的方法包括:对点云数据进行编码;将点云数据封装;以及发送点云数据。
根据一些实施方式的用于接收点云数据的方法包括:接收点云数据;将点云数据解封装;以及对点云数据进行解码。
图21是根据实施方式的用于存储和发送点云数据的装置的示例性框图。
图21示出根据实施方式的点云系统。系统的部分/全部可包括图1的发送装置和接收装置、图4的编码处理、图15的2D视频/图像编码器、图16的解码处理、图18的发送装置和/或图19的接收装置中的一些或全部。另外,其可包括或对应于图20的系统的部分/全部。
根据实施方式的点云数据发送装置可如图所示配置。发送装置的各个元件可以是模块/单元/组件/硬件/软件/处理器。
点云的几何、属性、辅助数据和网格数据可各自被配置成单独的流或存储在文件中的不同轨道中。此外,它们可被包括在单独的片段中。
点云获取器(点云获取)21000获取点云。例如,一个或更多个相机可通过捕获、编排或生成点云来获取点云数据。通过该获取处理,可获取包括各个点的3D位置(可由x、y和z位置值等表示)(以下称为几何)和各个点的属性(颜色、反射率、透明度等)的点云数据。例如,可生成包括点云数据的Polygon文件格式(PLY)(或斯坦福三角形格式)文件等。对于具有多个帧的点云数据,可获取一个或更多个文件。在此处理中,可生成点云相关元数据(例如,与捕获有关的元数据等)。
补片生成器(或补片生成)21002从点云数据生成补片。补片生成器将点云数据或点云视频生成为一个或更多个画面/帧。画面/帧通常可表示以特定时间间隔表示一个图像的单元。当构成点云视频的点被分成一个或更多个补片(构成点云视频的点的集合,其中,属于同一补片的点在3D空间中彼此相邻并且在映射到2D图像时在6面边界框的平坦面之间在相同方向上映射)并映射到2D平面时,可生成二值图的占用图画面/帧,其以0或1指示2D平面中的对应位置处是否存在数据。另外,可生成逐补片表示关于构成点云视频的各个点的位置(几何)的信息的深度图形式的几何画面/帧。可生成逐补片表示关于构成点云视频的各个点的颜色信息的纹理画面/帧。在此处理中,可生成从各个补片重构点云所需的元数据。元数据可包括关于补片的信息,例如各个补片在2D/3D空间中的位置和大小。这些画面/帧可按时间顺序连续地生成以构造视频流或元数据流。
另外,补片可用于2D图像映射。例如,点云数据可被投影到立方体的各个面上。在补片生成之后,可基于所生成的补片来生成几何图像、一个或更多个属性图像、占用图、辅助数据和/或网格数据。
几何图像生成、属性图像生成、占用图生成、辅助数据生成和/或网格数据生成由预处理器或控制器执行。
在几何图像生成21002中,基于补片生成的结果来生成几何图像。几何表示3D空间中的点。使用占用图来生成几何图像,其包括与补片的2D图像打包有关的信息、辅助数据(补片数据)和/或基于补片的网格数据。几何图像与诸如在补片生成之后生成的补片的深度(例如,近、远)的信息有关。
在属性图像生成21003中,生成属性图像。例如,属性可表示纹理。纹理可以是与各个点匹配的颜色值。根据实施方式,可生成包括纹理的多个属性(例如,颜色和反射率)(N个属性)的图像。多个属性可包括材料信息和反射率。根据实施方式,属性可另外包括指示颜色的信息,其即使对于相同的纹理也可根据视角和光而变化。
在占用图生成21004中,从补片生成占用图。占用图包括指示像素(例如,对应几何或属性图像)中是否存在数据的信息。
在辅助数据生成21005中,生成包括关于补片的信息的辅助数据。即,辅助数据表示关于点云对象的补片的元数据。例如,其可表示诸如补片的法向量的信息。具体地,辅助数据可包括从补片重构点云所需的信息(例如,关于补片在2D/3D空间中的位置、大小等的信息以及投影(正常)平面标识信息、补片映射信息等)。
在网格数据生成21006中,从补片生成网格数据。网格表示邻近点之间的连接。例如,其可表示三角形形状的数据。例如,网格数据是指点之间的连接性。
点云预处理器或控制器生成与补片生成、几何图像生成、属性图像生成、占用图生成、辅助数据生成和网格数据生成有关的元数据。
点云发送装置响应于预处理器所生成的结果而执行视频编码和/或图像编码。点云发送装置可生成点云图像数据以及点云视频数据。根据实施方式,点云数据可仅具有视频数据,仅具有图像数据,和/或具有视频数据和图像数据二者。
视频编码器21007执行几何视频压缩、属性视频压缩、占用图压缩、辅助数据压缩和/或网格数据压缩。视频编码器生成包含编码的视频数据的视频流。
具体地,在几何视频压缩中,点云几何视频数据被编码。在属性视频压缩中,点云的属性视频数据被编码。在辅助数据压缩中,与点云视频数据关联的辅助数据被编码。在网格数据压缩中,点云视频数据的网格数据被编码。点云视频编码器的各个操作可并行执行。
图像编码器21008执行几何图像压缩、属性图像压缩、占用图压缩、辅助数据压缩和/或网格数据压缩。图像编码器生成包含编码的图像数据的图像。
具体地,在几何图像压缩中,点云几何图像数据被编码。在属性图像压缩中,点云的属性图像数据被编码。在辅助数据压缩中,与点云图像数据关联的辅助数据被编码。在网格数据压缩中,与点云图像数据关联的网格数据被编码。点云图像编码器的各个操作可并行执行。
视频编码器和/或图像编码器可从预处理器接收元数据。视频编码器和/或图像编码器可基于元数据来执行各个编码处理。
文件/片段封装器(文件/片段封装)21009以文件和/或片段的形式封装视频流和/或图像。文件/片段封装器执行视频轨道封装、元数据轨道封装和/或图像封装。
在视频轨道封装中,一个或更多个视频流可被封装到一个或更多个轨道。
在元数据轨道封装中,与视频流和/或图像有关的元数据可被封装在一个或更多个轨道中。元数据包括与点云数据的内容有关的数据。例如,其可包括初始观看取向元数据。根据实施方式,元数据可被封装到元数据轨道,或者可被一起封装在视频轨道或图像轨道中。
在图像封装中,一个或更多个图像可被封装到一个或更多个轨道或项目中。
例如,根据实施方式,当四个视频流和两个图像被输入到封装器时,四个视频流和两个图像可被封装在一个文件中。
根据实施方式的点云视频编码器和/或点云图像编码器可根据实施方式生成G-PCC/V-PCC比特流。
文件/片段封装器可从预处理器接收元数据。文件/片段封装器可基于元数据来执行封装。
通过文件/片段封装生成的文件和/或片段由点云发送装置或发送器发送。例如,片段可根据基于DASH的协议来传送。
根据实施方式的封装或封装器可将V-PCC比特流分成一个或多个轨道并将其存储在文件中,并且还可封装用于该操作的信令信息。另外,包括在V-PCC比特流上的图集流可作为轨道存储在文件中,并且可存储相关信令信息。此外,存在于V-PCC比特流中的SEI消息可存储在文件中的轨道中,并且可存储相关信令信息。
发送器可经由数字存储介质或网络将点云比特流或包括比特流的文件/片段发送到接收装置的接收器。为了传输,可执行根据任何传输协议的处理。为传输已处理的数据可经由广播网络和/或通过宽带传送。数据可按照按需方式传送至接收侧。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。传送器可包括用于生成预定文件格式的媒体文件的元件,并且可包括用于经由广播/通信网络传输的元件。传送器从接收器接收取向信息和/或视口信息。传送器可将所获取的取向信息和/或视口信息(或用户所选择的信息)传送至预处理器、视频编码器、图像编码器、文件/片段封装器和/或点云编码器。基于取向信息和/或视口信息,点云编码器可对所有点云数据或取向信息和/或视口信息所指示的点云数据进行编码。基于取向信息和/或视口信息,文件/片段封装器可对所有点云数据或取向信息和/或视口信息所指示的点云数据进行封装。基于取向信息和/或视口信息,传送器可传送所有点云数据或取向信息和/或视口信息所指示的点云数据。
例如,预处理器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。视频编码器和/或图像编码器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。文件/片段封装器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。发送器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。
图22是根据实施方式的点云数据接收装置的示例性框图。
图22示出根据实施方式的点云系统。系统的部分/全部可包括图1的发送装置和接收装置、图4的编码处理、图15的2D视频/图像编码器、图16的解码处理、图18的发送装置和/或图19的接收装置中的一些或全部。另外,其可包括或对应于图20和图21的系统的部分/全部。
接收装置的各个组件可以是模块/单元/组件/硬件/软件/处理器。传送客户端可接收包括根据实施方式的点云数据发送装置所发送的比特流的点云数据、点云比特流或文件/片段。根据用于传输的信道,接收器可经由广播网络或通过宽带接收点云数据。另选地,可通过数字存储介质接收点云视频数据。接收器可包括将所接收的数据解码并根据用户视口渲染所接收的数据的处理。接收处理器可根据传输协议对所接收的点云数据执行处理。接收处理器可包括在接收器中,或者被配置成单独的组件/模块。接收处理器可相反地执行上述发送处理器的处理,以与发送侧执行的传输处理对应。接收处理器可将所获取的点云数据传送至解封装处理器并将所获取的点云相关元数据传送至元数据解析器。
传感器/跟踪器(感测/跟踪)获取取向信息和/或视口信息。传感器/跟踪器可将所获取的取向信息和/或视口信息传送至传送客户端、文件/片段解封装器和点云解码器。
传送客户端可基于取向信息和/或视口信息来接收所有点云数据或取向信息和/或视口信息所指示的点云数据。文件/片段解封装器可基于取向信息和/或视口信息将所有点云数据或取向信息和/或视口信息所指示的点云数据解封装。点云解码器(视频解码器和/或图像解码器)可基于取向信息和/或视口信息将所有点云数据或取向信息和/或视口信息所指示的点云数据解码。点云处理器可基于取向信息和/或视口信息来处理所有点云数据或取向信息和/或视口信息所指示的点云数据。
文件/片段解封装器(文件/片段解封装)22000执行视频轨道解封装、元数据轨道解封装和/或图像解封装。解封装处理器(文件/片段解封装)可将从接收处理器以文件的形式接收的点云数据解封装。解封装处理器(文件/片段解封装)可根据ISOBMFF等对文件或片段进行解封装,以获取点云比特流或点云相关元数据(或单独的元数据比特流)。所获取的点云比特流可被传送至点云解码器,所获取的点云相关元数据(或元数据比特流)可被传送至元数据处理器。点云比特流可包括元数据(元数据比特流)。元数据处理器可包括在点云视频解码器中,或者可被配置成单独的组件/模块。解封装处理器所获取的点云相关元数据可采取文件格式中的框或轨道的形式。必要时,解封装处理器可从元数据处理器接收解封装所需的元数据。点云相关元数据可被传送至点云解码器并在点云解码处理中使用,或者可被传送至渲染器并在点云渲染处理中使用。文件/片段解封装器可生成与点云数据有关的元数据。
在视频轨道解封装中,包含在文件和/或片段中的视频轨道被解封装。包括几何视频、属性视频、占用图、辅助数据和/或网格数据的视频流被解封装。
在元数据轨道解封装中,包含与点云数据和/或辅助数据有关的元数据的比特流被解封装。
在图像解封装中,包括几何图像、属性图像、占用图、辅助数据和/或网格数据的图像被解封装。
根据实施方式的解封装或解封装器可基于文件中的一个或更多个轨道来划分和解析(解封装)G-PCC/V-PCC比特流,并且还可解封装其信令信息。另外,包括在G-PCC/V-PCC比特流中的图集流可基于文件中的轨道来解封装,并且可解析相关信令信息。此外,存在于G-PCC/V-PCC比特流中的SEI消息可基于文件中的轨道来解封装,并且还可获取相关信令信息。
视频解码或视频解码器22001执行几何视频解压缩、属性视频解压缩、占用图解压缩、辅助数据解压缩和/或网格数据解压缩。视频解码器在与根据实施方式的点云发送装置的视频编码器所执行的处理对应的处理中对几何视频、属性视频、辅助数据和/或网格数据进行解码。
图像解码或图像解码器22002执行几何图像解压缩、属性图像解压缩、占用图解压缩、辅助数据解压缩和/或网格数据解压缩。图像解码器在与根据实施方式的点云发送装置的图像编码器所执行的处理对应的处理中对几何图像、属性图像、辅助数据和/或网格数据进行解码。
根据实施方式的视频解码和图像解码可如上所述由一个视频/图像解码器处理,并且可如图中所示沿着单独的路径执行。
视频解码和/或图像解码可生成与视频数据和/或图像数据有关的元数据。
根据实施方式的点云视频编码器和/或点云图像编码器可根据实施方式对G-PCC/V-PCC比特流进行解码。
在点云处理22003中,执行几何重构和/或属性重构。
在几何重构中,基于占用图、辅助数据和/或网格数据从解码的视频数据和/或解码的图像数据重构几何视频和/或几何图像。
在属性重构中,基于占用图、辅助数据和/或网格数据从解码的属性视频和/或解码的属性图像重构属性视频和/或属性图像。根据实施方式,例如,属性可以是纹理。根据实施方式,属性可表示多条属性信息。当存在多个属性时,根据实施方式的点云处理器执行多个属性重构。
点云处理器可从视频解码器、图像解码器和/或文件/片段解封装器接收元数据,并且基于元数据来处理点云。
点云渲染或点云渲染器渲染重构的点云。点云渲染器可从视频解码器、图像解码器和/或文件/片段解封装器接收元数据,并且基于元数据来渲染点云。
显示器将渲染结果实际显示在显示器上。
如图15至图19所示,在根据实施方式的方法/装置如图15至图19所示对点云数据进行编码/解码之后,包含点云数据的比特流可按文件和/或片段的形式封装和/或解封装。
例如,根据实施方式的点云数据发送装置可基于文件将点云数据封装。文件可包括包含点云的参数的V-PCC轨道、包含几何的几何轨道、包含属性的属性轨道以及包含占用图的占用轨道。
另外,根据实施方式的点云数据接收装置基于文件将点云数据解封装。文件可包括包含点云的参数的V-PCC轨道、包含几何的几何轨道、包含属性的属性轨道以及包含占用图的占用轨道。
上述操作可由图20的文件/片段封装器20004、图21的文件/片段封装器21009和图22的文件/片段封装器22000执行。
图23示出可结合根据实施方式的点云数据发送/接收方法/装置操作的示例性结构。
在根据实施方式的结构中,服务器2360、机器人2310、自驾驶车辆2320、XR装置2330、智能电话2340、家用电器2350和/或头戴式显示器(HMD)2370中的至少一个连接到云网络2300。这里,机器人2310、自驾驶车辆2320、XR装置2330、智能电话2340或家用电器2350可被称为装置。另外,XR装置1730可对应于根据实施方式的点云数据(PCC)装置,或者可在操作上连接到PCC装置。
云网络2300可表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络2300可使用3G网络、4G或长期演进(LTE)网络或5G网络来配置。
服务器2360可经由云网络2300连接到机器人2310、自驾驶车辆2320、XR装置2330、智能电话2340、家用电器2350和/或HMD 2370中的至少一个,并且可辅助所连接的装置2310至2370的至少一部分处理。
HMD 2370表示根据实施方式的XR装置和/或PCC装置的实现类型之一。根据实施方式的HMD型装置包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
以下,将描述应用了上述技术的装置2310至2350的各种实施方式。图23所示的装置2310至2350可在操作上连接/联接到根据上述实施方式的点云数据发送和接收装置。
<PCC+XR>
XR/PCC装置2330可采用PCC技术和/或XR(AR+VR)技术,并且可被实现为HMD、设置在车辆中的平视显示器(HUD)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。
XR/PCC装置2330可分析通过各种传感器或从外部装置获取的3D点云数据或图像数据并且生成关于3D点的位置数据和属性数据。由此,XR/PCC装置2330可获取关于周围空间或真实对象的信息,并且渲染和输出XR对象。例如,XR/PCC装置2330可使包括关于所识别的对象的辅助信息的XR对象与所识别的对象匹配并输出匹配的XR对象。
<PCC+XR+移动电话>
XR/PCC装置2330可通过应用PCC技术被实现为移动电话2340。
移动电话2340可基于PCC技术来解码和显示点云内容。
<PCC+自驾驶+XR>
自驾驶车辆2320可通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用了XR/PCC技术的自驾驶车辆2320可表示设置有用于提供XR图像的手段的自主车辆,或者作为XR图像中的控制/交互目标的自主车辆。具体地,作为XR图像中的控制/交互目标的自驾驶车辆2320可与XR装置2330相区分并且可操作上与之连接。
具有用于提供XR/PCC图像的手段的自驾驶车辆2320可从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的XR/PCC图像。例如,自驾驶车辆可具有HUD并向其输出XR/PCC图像以向乘客提供与真实对象或存在于画面上的对象对应的XR/PCC对象。
在这种情况下,当XR/PCC对象被输出到HUD时,XR/PCC对象的至少一部分可被输出以与乘客眼睛所指向的真实对象交叠。另一方面,当XR/PCC对象输出在自驾驶车辆内部提供的显示器上时,XR/PCC对象的至少一部分可被输出以与画面上的对象交叠。例如,自驾驶车辆可输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的XR/PCC对象。
根据实施方式的虚拟现实(VR)技术、增强现实(AR)技术、混合现实(MR)技术和/或点云压缩(PCC)技术适用于各种装置。
换言之,VR技术是仅提供真实世界对象、背景等作为CG图像的显示器技术。另一方面,AR技术是指显示在真实对象图像上虚拟创建的CG图像的技术。MR技术与上述AR技术的相似之处在于,要显示的虚拟对象与真实世界混合并组合。然而,MR技术不同于AR技术,AR技术在真实对象与作为CG图像创建的虚拟对象之间进行清楚的区分并且使用虚拟对象作为真实对象的补充对象,而MR技术将虚拟对象当作具有与真实对象相同特性的对象。更具体地,MR技术应用的示例是全息服务。
最近,VR、AR和MR技术通常被称为扩展现实(XR)技术,而非彼此清楚地区分。因此,本公开的实施方式适用于所有VR、AR、MR和XR技术。对于这些技术,可应用基于PCC、V-PCC和G-PCC技术的编码/解码。
根据实施方式的PCC方法/装置可应用于提供自驾驶服务的车辆。
提供自驾驶服务的车辆连接到PCC装置以进行有线/无线通信。
当根据实施方式的点云数据发送和接收装置(PCC装置)连接到车辆以进行有线/无线通信时,装置可接收并处理与可与自驾驶服务一起提供的AR/VR/PCC服务有关的内容数据并且将处理的内容数据发送到车辆。在点云数据发送和接收装置被安装在车辆上的情况下,点云发送和接收装置可根据通过用户接口装置输入的用户输入信号来接收并处理与AR/VR/PCC服务有关的内容数据并且将处理的内容数据提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可包括指示自驾驶服务的信号。
根据实施方式的方法/装置包括点云数据发送设备(例如,图1的发送设备10000、图18的发送设备)、发送设备的编码器(例如,例如,图1的点云视频编码器10002、图4的编码器、图15的编码器)、发送装置的文件封装器(例如,图20的发送装置连接至的系统的文件/片段封装)、路由器20004、图21的预处理器(编码器连接至的系统的文件/片段封装器21009)、根据实施方式的点云数据接收设备(例如,图1的接收设备10005、图19的接收装置)、接收装置的解码器(图1的点云视频解码器10008、图16的解码器、图17的解码器)、接收装置的文件解封装器(例如,图20是指接收装置连接至的系统的文件/片段解封装器20005、图22的处理器、解码器连接至的系统的文件/片段解封装器22000)。
本说明书中描述的基于视频的点云压缩(V-PCC)与基于视觉体积视频的编码(V3C)相同。根据实施方式的术语V-PCC和V3C可互换使用并且可具有相同的含义。
根据实施方式的方法/装置可生成和发送/接收关于V-PCC内容的3D区域信息以用于支持根据用户视口对与之关联的视频或图集帧中的V-PCC内容和2D区域相关元数据(例如,参见图25至图45等)的空间访问。
根据实施方式的方法/装置可生成和发送/接收与之有关的视频或图集帧上关于点云比特流中的点云的3D区域信息(例如,参见图25)和2D区域相关信息(例如,参见图25至图45)。
根据实施方式的方法/装置可存储和发送/接收与之关联的视频或图集帧上关于文件中的点云3D区域信息(例如,参见图40和图41)和2D区域相关信息(例如,图25至图45)。
根据实施方式的方法/装置可存储和发送/接收与之关联的视频或图集帧上关于文件中与图像项目关联的点云的3D区域信息(例如,参见图46)和2D区域相关信息。
根据实施方式的方法/装置可对包括与点云数据的3D区域有关的数据的轨道进行分组并且生成和发送/接收与之有关的信令信息(参见图44和图45)。
根据实施方式的方法/装置可对包括与2D区域有关的数据的轨道进行分组并且生成和发送/接收与之有关的信令信息(参见图44和图45等)。
图20的V-PCC系统的编码器(对应于图1的编码器10002等)对点云数据进行编码以生成V-PCC比特流(参见图26等)。本文提出了用于提供点云内容服务的发送器或接收器(参见图1等),其中V-PCC系统的文件/片段封装器20004有效地将V-PCC比特流存储在文件的轨道中(参见图40和图41等)并为此提供信令。
实施方式涉及一种用于有效地将V-PCC比特流存储在文件的轨道中,生成关于其的信令信息,并且支持对所存储的V-PCC比特流的有效访问的文件存储技术。实施方式还涉及一种用于与文件存储技术有关/组合将V-PCC比特流划分并存储在文件中的一个或更多个轨道中的技术。
图24示出根据实施方式的点云的3D区域与视频帧上的区域之间的关系。
由于用户的放大操作或用户视口的改变,点云对象/数据的一部分而非其全部可被渲染或显示在用户视口上。当PCC解码器/播放器(图1、图20等)解码或处理与点云数据的渲染或显示在用户视口上的部分关联的视频或图集数据时,可有效地执行操作。换言之,当不执行解码或处理与未渲染或显示的部分/区域的点云数据关联的视频或图集数据的操作时,可在低延迟方面确保有效操作。
根据实施方式的方法/装置可编码/发送和解码/接收随时间改变的点云数据(即,动态点云数据)。例如,动态点云数据是点云中的点的数量改变或点云的位置随时间改变的数据。在这种情况下,显示在相同三维区域中的点云可随时间改变。
因此,与根据实施方式的方法/装置对应的PCC解码器/播放器可对渲染/显示在用户视口上的点云数据进行空间访问或部分访问。
因此,根据实施方式的方法/装置针对与V-PCC比特流中可随时间改变的点云的三维区域关联的视频帧中的2D区域信息或以信令或元数据的形式发送信息。
由于用户的放大操作或用户视口的改变,根据实施方式的接收装置和渲染器可将点云对象/数据的一部分而非其全部渲染或显示在用户视口上。
根据实施方式的PCC解码器/播放器可解码或处理与点云数据的渲染或显示在用户视口上的部分关联的视频或图集数据以用于有效处理。
根据实施方式的PCC解码器/播放器可不执行解码或处理与未渲染或显示的部分/区域的点云数据关联的视频或图集数据的操作,以用于有效处理。
与对象24000的点云的3D区域24010关联的数据24020可与视频帧24030内的一个或更多个2D区域24040的视频数据24050关联。
在动态点云数据(点云中的点的数量改变或点云的位置随时间改变的数据)的情况下,显示在相同三维区域中的点云可随时间改变。
因此,为了访问点云数据的渲染/显示在用户视口上的空间或部分,以信令或元数据的形式,根据实施方式的PCC解码器/播放器可包括关于与V-PCC比特流25000或文件中可随时间改变的点云的3D区域关联的视频帧的2D区域信息(例如,图40)。
图25示出根据实施方式的包含点云数据的比特流的结构。
图25的比特流25000对应于图26的比特流26000。图25和图26的比特流由图1的发送装置10000、图1的点云视频编码器10002、图4的编码器、图15的编码器、图18的发送装置、图20的处理器20001和图20的视频/图像编码器20002、图21的处理器21001至21006、图21的视频/图像编码器21007、21008等生成。
图1的文件/片段封装器、图20的文件/片段封装器20004、图20的文件/片段封装器21009等将图25和图26的比特流存储在容器(图40和图41的文件等)中。
图25和图26的比特流中的比特流由图1的发送器10004等发送。
图1的接收装置10005、接收器10006等接收包括图25和图26的比特流的容器(图40和图41的文件等)。
由图1的文件/片段解封装器10007、图20的文件/片段解封装器20005、图22的文件/片段解封装器22000等从容器解析图25和图26的比特流。
由图1的点云视频解码器10008、图16的解码器、图17的解码器、图19的接收装置、图20的视频/图像解码器20006、图22的视频/图像解码器22001和22002、图22的处理器22003等将图25和图26的比特流解码、重构并提供给用户。
根据实施方式的点云数据的比特流25000中所包括的样本流V-PCC单元可包括V-PCC单元大小25010和V-PCC单元25020。
本文献中所采用的术语如下定义:VPS(V-PCC参数集);AD(图集数据);OVD(占用视频数据);GVD(几何视频数据);AVD(属性视频数据)。
各个V-PCC单元25020可包括V-PCC单元头25030和V-PCC单元有效载荷25040。V-PCC单元头25030可描述V-PCC单元类型。属性视频数据的V-PCC单元头可描述属性类型、其索引、所支持的相同属性类型的多个实例等。
占用、几何和属性视频数据的单元有效载荷25050、25060和25070可对应于视频数据单元。例如,占用视频数据25050、几何视频数据25060和属性视频数据25070可以是HEVCNAL单元。这种视频数据可由根据实施方式的视频解码器解码。
图26示出根据实施方式的包含点云数据的比特流的结构。
图26示出根据实施方式的包含要编码或解码的点云数据的比特流的结构,如参照图18至图25描述的。
根据实施方式的方法/装置生成动态点云对象的比特流。在这方面,提出了用于比特流的文件格式,并且提供了用于其的信令方案。
根据实施方式的方法/装置包括发送器、接收器和/或处理器以用于提供将V-PCC(=V3C)比特流有效地存储在文件的轨道中并提供其信令的点云内容服务。
根据实施方式的方法/装置提供了用于存储包含点云数据的V-PCC比特流的数据格式。因此,根据实施方式的接收方法/装置提供了用于接收点云数据并有效地访问点云数据的数据存储和信令方法。因此,基于用于有效访问的包含点云数据的文件的存储技术,发送器和/或接收器可提供点云内容服务。
根据实施方式的方法/装置将点云比特流(V-PCC比特流)有效地存储在文件的轨道中。其生成关于有效存储技术的信令信息并将其存储在文件中。为了支持对存储在文件中的V-PCC比特流的有效访问,除了(或通过修改/组合)根据实施方式的文件存储技术,可提供将V-PCC比特流划分成一个或更多个轨道并存储在文件中的技术。
本文献中采用的术语如下定义:
VPS:V-PCC参数集;AD:图集数据;OVD:占用视频数据;GVD:几何视频数据;AVD:属性视频数据;ACL:图集编码层;AAPS:图集适配参数集;ASPS:图集序列参数集,其可以是包含根据实施方式的句法元素的句法结构,这些句法元素应用于由在各个拼块组头中找到的句法元素所参考的ASPS中找到的句法元素的内容确定的零个或更多个完整编码图集序列(CAS)。
AFPS:图集帧参数集,其可包括包含句法元素的句法结构,这些句法元素应用于由在拼块组头中找到的句法元素的内容确定的零个或更多个完整编码图集帧。
SEI:补充增强信息。
图集:2D边界框的集合,例如,投影到与3D空间中的3D边界框对应的矩形帧中的补片。图集可表示点云的子集。
图集子比特流:从包含图集NAL比特流的一部分的V-PCC比特流提取的子比特流。
V-PCC内容:基于V-PCC(V3C)编码的点云。
V-PCC轨道:承载V-PCC比特流的图集比特流的体积视觉轨道。
V-PCC组件轨道:承载V-PCC比特流的占用图、几何或属性组件视频比特流中的任一个的2D视频编码数据的视频轨道。
将描述用于支持动态点云对象的部分访问的实施方式。实施方式包括与在文件系统级别的各个空间区域中所包括的V-PCC对象的一些数据关联的图集拼块组信息。此外,实施方式包括各个图集拼块组中所包括的标签和/或补片信息的扩展信令方案。
图26示出由根据实施方式的方法/装置发送和接收的数据中所包括的点云比特流的结构。
根据实施方式的压缩和解压缩点云数据的方法是指点云视觉信息的体积编码和解码。
包含编码点云序列(CPCS)的点云比特流(可被称为V-PCC比特流或V3C比特流)26000可包括样本流V-PCC单元26010。样本流V-PCC单元26010可承载V-PCC参数集(VPS)数据26020、图集比特流26030、2D视频编码占用图比特流26040、2D视频编码几何比特流26050以及零个或一个或更多个2D视频编码属性比特流26060。
点云比特流26000可包括样本流VPCC头26070。
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。
根据实施方式的方法/装置接收图26的包含编码点云数据的比特流,并且通过封装器20004或21009生成如图40和图41所示的文件。
根据实施方式的方法/装置接收如图40和图41所示的文件并且通过解封装器22000等对点云数据进行解码。
VPS 26020和/或AD 26030被封装在轨道4(V3C轨道)40030中。
OVD 26040被封装在轨道2(占用轨道)40010中。
GVD 26050被封装在轨道3(几何轨道)40020中。
AVD 26060被封装在轨道1(属性轨道)40000中。
图27示出根据实施方式的V-PCC单元和V-PCC单元头。
图27示出上面参照图25描述的V-PCC单元25020和V-PCC单元头25030的句法。
根据实施方式的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单元25020的类型。
[表1]
vuh_unit_type 标识符 V-PCC单元类型 描述
0 VPCC_VPS V-PCC参数集 V-PCC级别参数
1 VPCC_AD 图集数据 图集信息
2 VPCC_OVD 占用视频数据 占用信息
3 VPCC_GVD 几何视频数据 几何信息
4 VPCC_AVD 属性视频数据 属性信息
5…31 VPCC_RSVD 预留 -
当vuh_unit_type指示属性视频数据(VPCC_AVD)、几何视频数据(VPCC_GVD)、占用视频数据(VPCC_OVD)或图集数据(VPCC_AD)时,在单元头中承载vuh_vpcc_parameter_setID和vuh_atlas_id。可传送与V-PCC单元关联的参数集ID和图集ID。
当单元类型为图集视频数据时,单元头可承载属性索引(vuh_attribute_index)、属性分区索引(vuh_attribute_partition_index)、图索引(vuh_map_index)和辅助视频标志(vuh_auxiliary_video_flag)。
当单元类型为几何视频数据时,可承载vuh_map_index和vuh_auxiliary_video_flag。
当单元类型为占用视频数据或图集数据时,单元头可包含附加预留比特。
vuh_vpcc_parameter_set_id指定活动V-PCC VPS的vps_vpcc_parameter_set_id的值。通过当前V-PCC单元的头中的vpcc_parameter_set_id,可知道VPS参数集的ID,并且可宣告V-PCC单元和V-PCC参数集之间的关系。
vuh_atlas_id指定与当前V-PCC单元对应的图集的索引。通过当前V-PCC单元的头中的vuh_atlas_id,可知道图集的索引,并且可宣告与V-PCC单元对应的图集。
vuh_attribute_index指示属性视频数据单元中承载的属性数据的索引。
vuh_attribute_partition_index指示属性视频数据单元中承载的属性维度组的索引。
当存在时,vuh_map_index指示当前几何或属性流的图索引。
vuh_auxiliary_video_flag等于1指示关联的几何或属性视频数据单元仅是RAW和/或EOM编码点视频。vuh_auxiliary_video_flag等于0指示关联的几何或属性视频数据单元可包含RAW和/或EOM编码点。
VUH原始视频标志(vuh_raw_video_flag):如果该值为1,则指示几何或属性视频数据单元仅是RAW编码点视频。如果该值为0,则指示相关的几何或属性视频数据单元可包含RAW编码点。如果该标志不存在,则该值可被推断为0。
图28示出根据实施方式的V-PCC单元的有效载荷。
图28示出V-PCC单元有效载荷25040的句法。
当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()。
图29示出根据实施方式的V-PCC参数集。
图29示出当根据实施方式的比特流的单元25020的有效载荷25040包含如图28所示的参数集时参数集的句法。
图29的VPS可包括以下元素。
profile_tier_level()指定对比特流的限制,因此对将比特流解码所需的能力的限制。Profiles、tiers和levels也可用于指示各个解码器实现之间的互操作点。
vps_vpcc_parameter_set_id可提供V-PCC VPS的标识符以供其它句法元素参考。
sps_bounding_box_present_flag是指示是否存在关于比特流中的点云对象/内容的总边界框(可以是可包括随时间改变的整个边界框的边界框)的信息的标志。sps_bounding_box_present_flag等于1指示该比特流中承载的点云内容的总边界框偏移和大小信息。
当sps_bounding_box_present_flag具有特定值时,在VPS中包括以下边界框元素。
sps_bounding_box_offset_x指示该比特流中承载的点云内容的总边界框偏移的x偏移和大小信息(笛卡尔坐标)。当不存在时,sps_bounding_box_offset_x的值可被推断为0。
sps_bounding_box_offset_y指示该比特流中承载的点云内容的总边界框偏移的y偏移和大小信息(笛卡尔坐标)。当不存在时,sps_bounding_box_offset_y的值可被推断为0。
sps_bounding_box_offset_z指示该比特流中承载的点云内容的总边界框偏移的z偏移和大小信息(笛卡尔坐标)。当不存在时,sps_bounding_box_offset_z的值可被推断为0。
sps_bounding_box_size_width指示该比特流中承载的点云内容的总边界框偏移的宽度和大小信息(笛卡尔坐标)。当不存在时,sps_bounding_box_size_width的值可被推断为1。
sps_bounding_box_size_height指示该比特流中承载的点云内容的总边界框偏移的高度和大小信息(笛卡尔坐标)。当不存在时,sps_bounding_box_size_height的值可被推断为1。
sps_bounding_box_size_depth指示该比特流中承载的点云内容的总边界框偏移的深度和大小信息(笛卡尔坐标)。当不存在时,sps_bounding_box_size_depth的值可被推断为1。
sps_bounding_box_changed_flag是指示包含在比特流中的点云数据的边界框是否随时间改变的标志。该标志等于1可指示点云数据的边界框随时间改变。
sps_bounding_box_info_flag是指示比特流中是否包含包括关于点云数据的边界框信息的SEI的标志。该标志等于1可指示包括关于点云数据的边界框信息的3D边界框SEI(参见图35等)包含在比特流中。在这种情况下,与根据实施方式的方法/装置对应的PCC播放器可告知可获取和使用包括在SEI中的信息。
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的图集的辅助信息不存储在单独的视频流中。
vps_raw_patch_enabled_flag[j]等于1指示具有索引j的图集的RAW编码点的补片可存在于比特流中。
当vps_raw_patch_enabled_flag[j]具有特定值时,VPS中包括以下元素。
vps_raw_separate_video_present_flag[j]等于1指示索引j的图集的RAW编码几何和属性信息可存储在单独的视频流中。
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示出图25的比特流25000的单元25020的有效载荷25040承载图集子比特流30000的示例。
承载图集子比特流的V-PCC单元的V-PCC单元有效载荷可包括一个或更多个样本流NAL单元30010。
根据实施方式的图集子比特流30000可包括样本流NAL头30020以及一个或更多个样本流NAL单元30010。
样本流NAL头30020可包括ssnh_unit_size_precision_bytes_minus1。ssnh_unit_size_precision_bytes_minus1加1指定所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(字节)。ssnh_unit_size_precision_bytes_minus1可在0至7的范围内。
样本流NAL单元30010可包括ssnu_nal_unit_size。
ssnu_nal_unit_size指定后续NAL_unit的大小(字节)。用于表示ssnu_nal_unit_size的比特数可等于(ssnh_unit_size_precision_bytes_minus1+1)*8。
各个样本流NAL单元可包括图集序列参数集(ASPS)30030、图集帧参数集(AFPS)30040、一条或更多条图集拼块组信息30050以及一条或更多条补充增强信息(SEI)30060,其各自将在下面描述。根据实施方式,图集拼块组可被称为图集拼块。
NAL单元可包括nal_unit_header()和NumBytesInRbsp。
NumBytesInRbsp指示与NAL单元的有效载荷对应的字节,其初始值被设定为0。
nal_unit_header()可包括nal_forbidden_zero_bit、nal_unit_type、nal_layer_id和nal_temporal_id_plus1。
nal_forbidden_zero_bit是用于NAL单元的检错的字段,并且应为0。
nal_unit_type指示如图32所示的NAL单元中所包括的RBSP数据结构的类型。
nal_layer_id指定ACL NAL单元所属的层的标识符或应用非ACL NAL单元的层的标识符。
nal_temporal_id_plus1减1指定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。
图31示出根据实施方式的图集序列参数集。
图31示出当NAL单元类型为图集序列参数时NAL单元中所包括的RBSP数据结构的句法。
各个样本流NAL单元可包含图集参数集(例如,ASPS、AAPS或AFPS)、一个或更多个图集拼块组和SEI之一。
ASPS可包含应用于零个或更多个完整编码图集序列(CAS)的句法元素,其由各个拼块组头中找到的句法元素所参考的ASPS中找到的句法元素的内容确定。
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_45degree_projection_patch_present_flag等于0指定不针对当前图集拼块组用信号通知补片投影信息。asps_45degree_projection_present_flag等于1指定针对当前图集拼块组用信号通知补片投影信息。
当atgh_type不是SKIP_TILE_GRP时,在图集拼块组(或拼块)头中可包括以下元素。
asps_normal_axis_limits_quantization_enabled_flag等于1指定应用信号通知量化参数并用于量化补片数据单元、合并补片数据单元或补片间数据单元的法向轴相关元素。如果asps_normal_axis_limits_quantization_enabled_flag等于0,则不对补片数据单元、合并补片数据单元或补片间数据单元的任何法向轴相关元素应用量化。
当asps_normal_axis_limits_quantization_enabled_flag为1时,在图集拼块组(或拼块)头中可包括atgh_pos_min_z_quantizer。
asps_normal_axis_max_delta_value_enabled_flag等于1指定索引j的帧中索引i的补片的几何信息中可能存在的法向轴的最大标称移位值将在各个补片数据单元、合并补片数据单元或补片间数据单元的比特流中指示。如果asps_normal_axis_max_delta_value_enabled_flag等于0,则索引j的帧中索引i的补片的几何信息中可能存在的法向轴的最大标称移位值不应在各个补片数据单元、合并补片数据单元或补片间数据单元的比特流中指示。
当asps_normal_axis_max_delta_value_enabled_flag等于1时,在图集拼块组(或拼块)头中可包括atgh_pos_delta_max_z_quantizer。
asps_remove_duplicate_point_enabled_flag等于1指示不为当前图集重构重复点,其中重复点是具有与来自较低索引图的另一点相同的2D和3D几何坐标的点。asps_remove_duplicate_point_enabled_flag等于0指示重构所有点。
asps_max_dec_atlas_frame_buffering_minus1加1以图集帧存储缓冲区为单位指定用于CAS的解码图集帧缓冲区的最大所需大小。
asps_pixel_deinterleaving_flag等于1指示当前图集的解码几何和属性视频包含来自两个图的空间交织像素。asps_pixel_deinterleaving_flag等于0指示与当前图集对应的解码几何和属性视频仅包含来自单个图的像素。
asps_patch_precedence_order_flag等于1指示当前图集的补片优先级与解码顺序相同。asps_patch_precedence_order_flag等于0指示当前图集的补片优先级与解码顺序相反。
asps_patch_size_quantizer_present_flag等于1指示图集拼块组头中存在补片大小量化参数。asps_patch_size_quantizer_present_flag等于0指示补片大小量化参数不存在。
当asps_patch_size_quantizer_present_flag等于1时,在图集拼块组(或拼块)头中可包括atgh_patch_size_x_info_quantizer和atgh_patch_size_y_info_quantizer。
asps_enhanced_occupancy_map_for_depth_flag等于1指示当前图集的解码占用图视频包含与两个深度图之间的中间深度位置是否被占用有关的信息。asps_eom_patch_enabled_flag等于0指示解码占用图视频不包含与两个深度图之间的中间深度位置是否被占用有关的信息。
当asps_enhanced_occupancy_map_for_depth_flag或asps_point_local_reconstruction_enabled_flag等于1时,在ASPS中可包括asps_map_count_minus1。
asps_point_local_reconstruction_enabled_flag等于1指示在当前图集的比特流中可存在点局部重构模式信息。asps_point_local_reconstruction_enabled_flag等于0指示在当前图集的比特流中不存在与点局部重构模式有关的信息。
当asps_point_local_reconstruction_enabled_flag等于1时,在图集序列参数集中可承载asps_point_local_reconstruction_information。
asps_map_count_minus1加1指示可用于对当前图集的几何和属性数据进行编码的图的数量。
asps_enhanced_occupancy_map_fix_bit_count_minus1加1指示EOM码字的大小(比特)。
当asps_enhanced_occupancy_map_for_depth_flag和asps_map_count_minus1被设定为0时,在ASPS中可包括asps_enhanced_occupancy_map_fix_bit_count_minus1。
当asps_pixel_deinterleaving_enabled_flag(或asps_pixel_interleaving_flag)或asps_point_local_reconstruction_enabled_flag等于1时,asps_surface_thickness_minus1加1指定明确编码深度值和插值深度值之间的最大绝对差。
当asps_pixel_interleaving_flag或asps_point_local_reconstruction_enabled_flag等于1时,在ASPS中可包括asps_surface_thickness_minus1。
asps_pixel_interleaving_flag可对应于asps_map_pixel_deinterleaving_flag。
asps_map_pixel_deinterleaving_flag[i]等于1指示与当前图集中索引i的图对应的解码几何和属性视频包含与两个图对应的空间交织像素。asps_map_pixel_deinterleaving_flag[i]等于0指示与当前图集中索引i的图对应的解码几何和属性视频包含与单个图对应的像素。当不存在时,asps_map_pixel_deinterleaving_flag[i]的值可被推断为0。
asps_point_local_reconstruction_enabled_flag等于1指示当前图集的比特流中可存在点局部重构模式信息。asps_point_local_reconstruction_enabled_flag等于0指示当前图集的比特流中不存在与点局部重构模式有关的信息。
asps_vui_parameters_present_flag等于1指定存在vui_parameters()句法结构。asps_vui_parameters_present_flag等于0指定vui_parameters()句法结构不存在。
asps_extension_flag等于0指定ASPS RBSP句法结构中不存在asps_extension_data_flag句法元素。
asps_extension_data_flag指示用于扩展的数据包括在ASPS RBSP句法结构中。
rbsp_trailing_bits用于在添加1(停止比特)以指示RBSP数据结束之后用0填充剩余比特以便于字节对齐。
图32示出根据实施方式的图集帧参数集。
图32示出当NAL单元类型为NAL_AFPS时包含在NAL单元中的图集帧参数集的句法。
图集帧参数集(AFPS)包含句法结构,其包含应用于所有零个或更多个完整编码图集帧的句法元素。
afps_atlas_frame_parameter_set_id标识图集帧参数集以供其它句法元素参考。其它句法元素可参考的标识符可通过AFPS图集帧参数集来提供。
afps_atlas_sequence_parameter_set_id指定活动图集序列参数集的asps_atlas_sequence_parameter_set_id的值。
将参照图33描述atlas_frame_tile_information()。
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_2d_pos_x_bit_count_minus1加1指定参考afps_atlas_frame_parameter_set_id的图集拼块组中索引j的补片的pdu_2d_pos_x[j]的定长表示中的比特数。
afps_2d_pos_y_bit_count_minus1加1指定参考afps_atlas_frame_parameter_set_id的图集拼中块组索引j的补片的pdu_2d_pos_y[j]的定长表示中的比特数。
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_bit_count指定参考afps_atlas_frame_parameter_set_id的图集拼块组中索引j的补片的pdu_lod[j]的定长表示中的比特数。
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的图集拼块组头中。
afps_extension_flag等于0指定在AFPS RBSP句法结构中不存在afps_extension_data_flag句法元素。
afps_extension_data_flag可包含扩展相关数据。
图33示出根据实施方式的atlas_frame_tile_information。
图33示出包括在图32中的atlas_frame_tile_information的句法。
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_tiles_in_atlas_frame_minus1指定参考AFPS的各个图集帧中的拼块的数量。
afti_tile_idx[i]指定参考AFPS的各个图集帧中的第i拼块的拼块索引。
基于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]包括在图集帧拼块信息中。
图34示出根据实施方式的补充增强信息(SEI)。
图34示出如图30所示的根据实施方式的比特流中包含的SEI信息的详细句法。
根据实施方式的接收方法/装置、系统等可基于SEI消息来解码、重构和显示点云数据。
基于各个payloadType,SEI消息指示有效载荷可包含对应数据。
例如,当payloadType等于13时,有效载荷可包含3D区域映射信息(3d_region_mapping(payloadSize))。
当psd_unit_type为PSD_PREFIX_SEI时,根据实施方式的SEI信息可包括buffering_period(payloadSize)、pic_timing(payloadSize)、filler_payload(payloadSize)、user_data_registered_itu_t_t35(payloadSize)、user_data_unregistered(payloadSize)、recovery_point(payloadSize)、no_display(payloadSize)、time_code(payloadSize)、regional_nesting(payloadSize)、sei_manifest(payloadSize)、sei_prefix_indication(payloadSize)、geometry_transformation_params(payloadSize)、3d_bounding_box_info(payloadSize)(参见图35等)、3d_region_mapping(payloadSize)(参见图36等)和reserved_sei_message(payloadSize)。
当psd_unit_type为PSD_SUFFIX_SEI时,根据实施方式的SEI可包括filler_payload(payloadSize)、user_data_registered_itu_t_t35(payloadSize)、user_data_unregistered(payloadSize)、decoded_pcc_hash(payloadSize)和reserved_sei_message(payloadSize)。
图35示出根据实施方式的3D边界框SEI。
图35示出如图30所示的根据实施方式的比特流中包含的SEI信息的详细句法。
3dbi_cancel_flag等于1指示3D边界框信息SEI消息取消输出顺序上的任何先前3d边界框信息SEI消息的持久性。
object_id是比特流中承载的点云对象/内容的标识符。
3d_bounding_box_x指示对象的3D边界框的原点位置的x坐标值。
3d_bounding_box_y指示对象的3D边界框的原点位置的y坐标值。
3d_bounding_box_z指示对象的3D边界框的原点位置的z坐标值。
3d_bounding_box_delta_x指示在对象的x轴上边界框的大小。
3d_bounding_box_delta_y指示在对象的y轴上边界框的大小。
3d_bounding_box_delta_z指示在对象的z轴上边界框的大小。
图36示出根据实施方式的3D区域映射信息SEI消息。
图36示出如图30所示的根据实施方式的比特流中包含的SEI信息的详细句法。
3dmi_cancel_flag等于1指示3D区域映射信息SEI消息取消输出顺序上的任何先前3D区域映射信息SEI消息的持久性。
num_3d_regions可指示SEI中用信号通知的3D区域的数量。
以下与num_3d_regions的值一样多的元素可包括在该SEI消息中。
3d_region_idx[i]可指示第i 3D区域的标识符。
3d_region_anchor_x[i]、3d_region_anchor_y[i]和3d_region_anchor_z[i]可分别指示第i 3D区域的锚点的x、y和z坐标值。例如,当3D区域为长方体类型时,锚点可以是长方体的原点。
3d_region_anchor_x[i]、3d_region_anchor_y[i]和3d_region_anchor_z[i]可指示第i3D区域的长方体的原点位置的x、y和z坐标值。
3d_region_type[i]可指示第i 3D区域的类型,并且可具有0x01(长方体)作为类型值。
3d_region_type[i]等于1可指示3D区域的类型是长方体。以下,与长方体类型有关的元素可包括在该SEI消息中。
3d_region_delta_x[i]、3d_region_delta_y[i]和3d_region_delta_z[i]可指示第i 3D区域在x、y和z轴上的差值。
num_2d_regions[i]可指示存在与第i 3D区域关联的视频或图集数据的帧的2D区域的数量。
以下与num_2d_regions[i]的值一样多的元素可包括在该SEI消息中。
2d_region_idx[j]可指示第j 2D区域的标识符。
2d_region_top[j]和2d_region_left[j]可分别包括第j 2D区域的左上位置的帧内的垂直坐标和水平坐标。
2d_region_width[j]和2d_region_height[j]可分别包括第j 2D区域的帧中的水平范围(宽度)和垂直范围(高度)值。
图36的3d区域映射信息的3d区域相关字段和2d区域相关字段可对应于包含在根据实施方式的比特流中的体积矩形信息。具体地,体积矩形信息的边界框相关字段(例如,vri_bounding_box_top、vri_bounding_box_left、vri_bounding_box_width和vri_bounding_box_height)指示2D区域。另外,体积矩形信息的对象相关字段(例如,vri_rectangle_object_idx)可对应于包含在scene_object_information中的object_idx。换言之,object_idx表示3D区域信息。这是因为scene_object_information包括关于3D边界框(即,3D区域)的信令信息。
图36的3D区域映射信息的3d区域相关字段和2d区域相关字段可分别对应于包含在根据实施方式的比特流中的拼块信息(拼块id、2D区域)和补片信息的补片对象idx。
num_tiles[j]可指示与第j 2D区域关联的图集拼块或视频拼块的数量。
以下与num_tiles[j]的值一样多的拼块相关元素可包括在该SEI消息中。
tile_idx[k]可指示与第k 2D区域关联的图集拼块或视频拼块的标识符。
num_tile_groups[j]可指示与第j 2D区域关联的图集拼块组或视频拼块组的数量。该值可对应于拼块的数量。
以下与num_tile_groups[j]的值一样多的元素可包括在该SEI消息中。
tile_group_idx[m]可指示与第m 2D区域关联的图集拼块组或视频拼块组的标识符。该值可对应于拼块索引。
由于根据实施方式的信令方案,根据实施方式的接收方法/装置可识别3D区域和一个或更多个图集拼块(2D区域)之间的映射关系并获取对应数据。
图37示出根据实施方式的体积平铺信息。
图37示出如图30所示的根据实施方式的比特流中包含的SEI信息的详细句法。
体积平铺信息SEI消息
该SEI消息告知根据实施方式的V-PCC解码器避免解码的点云的不同特性,包括2D图集和3D空间内的区域的对应、区域的关系和标记以及与对象的关联。
该SEI消息的持久性范围可以是比特流的剩余部分或者直至遇到新体积平铺SEI消息。可仅更新SEI消息中指定的对应参数。如果未修改并且如果vti_cancel_flag的值不等于1,则从较早SEI消息先前定义的参数可持续存在。
图38示出根据实施方式的体积平铺信息对象。
图38示出图37中所包括的volumetric_tiling_info_objects信息的详细句法。
基于vtiObjectLabelPresentFlag、vti3dBoundingBoxPresentFlag、vtiObjectPriorityPresentFlag、tiObjectHiddenPresentFlag、vtiObjectCollisionShapePresentFlag、vtiObjectDependencyPresentFlag等,volumetric_tiling_info_objects可包括如图38所示的元素。
图39示出根据实施方式的体积平铺信息标签。
图39示出图37中所包括的volumetric_tiling_info_labels的详细句法。
vti_cancel_flag等于1指示体积平铺信息SEI消息取消输出顺序上的任何先前体积平铺信息SEI消息的持久性。vti_cancel_flag等于0指示体积平铺信息遵循如图37所示。
vti_object_label_present_flag等于1指示当前体积平铺信息SEI消息中存在对象标签信息。vti_object_label_present_flag等于0指示对象标签信息不存在。
vti_3d_bounding_box_present_flag等于1指示当前体积平铺信息SEI消息中存在3D边界框信息。vti_3d_bounding_box_present_flag等于0指示3D边界框信息不存在。
vti_object_priority_present_flag等于1指示当前体积平铺信息SEI消息中存在对象优先级信息。vti_object_priority_present_flag等于0指示对象优先级信息不存在。
vti_object_hidden_present_flag等于1指示当前体积平铺信息SEI消息中存在隐藏对象信息。vti_object_hidden_present_flag等于0指示隐藏对象信息不存在。
vti_object_collision_shape_present_flag等于1指示当前体积平铺信息SEI消息中存在对象冲突信息。vti_object_collision_shape_present_flag等于0指示对象冲突形状信息不存在。
vti_object_dependency_present_flag等于1指示当前体积平铺信息SEI消息中存在对象依赖信息。vti_object_dependency_present_flag等于0指示对象依赖信息不存在。
vti_object_label_language_present_flag等于1指示当前体积平铺信息SEI消息中存在对象标签语言信息。vti_object_label_language_present_flag等于0指示对象标签语言信息不存在。
vti_bit_equal_to_zero应等于0。
vti_object_label_language包含语言标签,之后是等于0x00的空终止字节。vti_object_label_language句法元素的长度可小于或等于255字节,不包括空终止字节。
vti_num_object_label_updates指示要通过当前SEI更新的对象标签的数量。
vti_label_idx[i]指示要更新的第i标签的标签索引。
vti_label_cancel_flag等于1指示索引等于vti_label_idx[i]的标签应被取消并被设定为等于空串。vti_label_cancel_flag等于0指示索引等于vti_label_idx[i]的标签应利用跟随该元素之后的信息更新。
vti_bit_equal_to_zero应等于0。
vti_label[i]指示第i标签的标签。vti_label[i]句法元素的长度可小于或等于255字节,不包括空终止字节。
vti_bounding_box_scale_log2指示要应用于可为对象指定的2D边界框参数的标度。
vti_3d_bounding_box_scale_log2指示要应用于可为对象指定的3D边界框参数的标度。
vti_3d_bounding_box_precision_minus8加8指示可为对象指定的3D边界框参数的精度。
vti_num_object_updates指示要通过当前SEI更新的对象的数量。
根据vti_num_object_update的值,体积平铺信息对象中包括对象相关信息(参见图38)。
vti_object_idx[i]指示要更新的第i对象的对象索引。
vti_object_cancel_flag[i]等于1指示索引等于i的对象应被取消,并且变量ObjectTracked[i]应被设定为0。其2D和3D边界框参数可被设定为等于0。vti_object_cancel_flag等于0指示索引等于vti_object_idx[i]的对象应利用跟随该元素之后的信息来更新并且变量ObjectTracked[i]应被设定为1。
vti_bounding_box_update_flag[i]等于1指示对于对象索引为i的对象存在2D边界框信息。vti_bounding_box_update_flag[i]等于0指示2D边界框信息不存在。
当vti_bounding_box_update_flag对于vti_object_idx[i]等于1时,vti_object_idx[i]的以下边界框元素包括在体积平铺信息对象中。
vti_bounding_box_top[i]指示当前图集帧内索引i的对象的边界框的左上位置的垂直坐标值。
vti_bounding_box_left[i]指示当前图集帧内索引i的对象的边界框的左上位置的水平坐标值。
vti_bounding_box_width[i]指示索引i的对象的边界框的宽度。
vti_bounding_box_height[i]指示索引i的对象的边界框的高度。
当vti_3d_bounding_box_update_flag[i]等于1时,以下边界框元素包括在体积平铺信息对象中。
vti_3d_bounding_box_update_flag[i]等于1指示对于对象索引为i的对象存在3D边界框信息。vti_3d_bounding_box_update_flag[i]等于0指示3D边界框信息不存在。
当vti_3d_bounding_box_update_flag对于vti_object_idx[i]等于1时,以下边界框相关元素包括在体积平铺信息对象中。
vti_3d_bounding_box_x[i]指示索引i的对象的3D边界框的原点位置的x坐标值。
vti_3d_bounding_box_y[i]指示索引i的对象的3D边界框的原点位置的y坐标值。
vti_3d_bounding_box_z[i]指示索引i的对象的3D边界框的原点位置的z坐标值。
vti_3d_bounding_box_delta_x[i]指示索引i的对象在x轴上的边界框的大小。
vti_3d_bounding_box_delta_y[i]指示索引i的对象在y轴上的边界框的大小。
vti_3d_bounding_box_delta_z[i]指示索引i的对象在z轴上的边界框的大小。
当vtiObjectPriorityPresentFlag等于1时,以下优先级相关元素包括在体积平铺信息对象中。
vti_object_priority_update_flag[i]等于1指示对于索引i的对象存在对象优先级更新信息。vti_object_priority_update_flag[i]等于0指示对象优先级信息不存在。
vti_object_priority_value[i]指示索引i的对象的优先级。优先级值越低,优先级越高。
当vtiObjectHiddenPresentFlag等于1时,vti_object_idx[i]的以下隐藏信息包括在体积平铺信息对象中。
vti_object_hidden_flag[i]等于1指示索引i的对象应被隐藏。vti_object_hidden_flag[i]等于0指示索引i的对象应变为存在。
当vtiObjectLabelPresentFlag等于1时,标签相关更新标志包括在体积平铺信息对象中。
vti_object_label_update_flag等于1指示对于对象索引为i的对象存在对象标签更新信息。vti_object_label_update_flag[i]等于0指示对象标签更新信息不存在。
当vti_object_label_update_flag对于vti_object_idx[i]等于1时,vti_object_idx[i]的对象标签索引包括在体积平铺信息对象中。
vti_object_label_idx[i]指示索引i的对象的标签索引。
当vtiObjectCollisionShapePresentFlag等于1时,对象冲突相关元素包括在体积平铺信息对象中。
vti_object_collision_shape_update_flag[i]等于1指示对于对象索引为i的对象存在对象冲突形状更新信息。vti_object_collision_shape_update_flag[i]等于0指示对象冲突形状更新信息不存在。
当vti_object_collision_shape_update_flag对于vti_object_idx[i]等于1时,vti_object_idx[i]的vti_object_collision_shape_id[i]包括在体积平铺信息对象中。
vti_object_collision_shape_id[i]指示索引i的对象的冲突形状ID。
当vtiObjectDependencyPresentFlag等于1时,对象依赖相关元素包括在体积平铺信息对象中。
vti_object_dependency_update_flag[i]等于1指示对于对象索引为i的对象存在对象依赖更新信息。vti_object_dependency_update_flag[i]等于0指示对象依赖更新信息不存在。
当vti_object_dependency_update_flag对于vti_object_idx[i]等于1时,vti_object_idx[i]的对象依赖相关元素包括在体积平铺信息对象中。
vti_object_num_dependencies[i]指示索引i的对象的依赖数量。
与vti_object_num_dependencies的值一样多的对象依赖索引包括在体积平铺信息对象中。
vti_object_dependency_idx[i][j]指示与索引i的对象具有依赖性的第j对象的索引。
图40示出根据实施方式的封装V-PCC数据容器的结构。
图41示出根据实施方式的封装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解码以恢复点云数据。
图40和图41示出根据ISOBMFF文件格式的点云数据容器的结构。
图40和图41示出用于基于多个轨道传送点云的容器的结构。
根据实施方式的方法/装置可基于多个轨道发送/接收包含点云数据和与点云数据有关的附加数据的容器文件。
轨道1 40000是属性轨道,并且可包含如图1、图4、图15、图18等所示编码的属性数据40040。
轨道2 40010是占用轨道,并且可包含如图1、图4、图15、图18等所示编码的几何数据40050。
轨道3 40020是几何轨道,并且可包含如图1、图4、图15、图18等所示编码的占用数据40060。
轨道4 40030是v-pcc(V3C)轨道,并且可包含图集比特流40070,其包含与点云数据有关的数据。
各个轨道由样本条目和样本组成。样本是与帧对应的单元。为了将第N帧解码,需要与第N帧对应的样本或样本条目。样本条目可包含描述样本的信息。
图41是图40的详细结构图。
v3c轨道41000对应于轨道4 40030。包含在v3c轨道41000中的数据可具有称为框的数据容器的格式。v3c轨道41000包含关于V3C组件轨道41010至41030的参考信息。
根据实施方式的接收方法/装置可接收如图41所示包含点云数据的容器(可称为文件)并解析V3C轨道,并且可基于包含在V3C轨道中的参考信息解码和恢复占用数据、几何数据和属性数据。
占用轨道41010对应于轨道2 40010并且包含占用数据。几何轨道41020对应于轨道3 40020并且包含几何数据。属性轨道41030对应于轨道1 40000并且包含属性数据。
以下,将详细描述包括在图40和图41的文件中的数据结构的句法。
体积视觉轨道
各个体积视觉场景由唯一体积视觉轨道表示。
ISOBMFF文件可包含多个场景,因此文件中可存在多个体积视觉轨道。
体积视觉轨道由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单元头。
aligned(8)class VPCCUnitHeaderBox
extends FullBox(‘vunt’,version=0,0){
vpcc_unit_header()unit_header;
}
框包含如上vpcc_unit_header()。
V-PCC解码器配置记录
该记录包含版本字段。该版本的规范定义了该记录的版本1。对记录的不兼容改变将由版本号的改变指示。如果版本号无法识别,则读者不会尝试解码该记录或应用其的流。
VPCCParameterSet的阵列包括如上定义的vpcc_parameter_set()。
atlas_setupUnit阵列应包括对于存在解码器配置记录的样本条目所参考的流恒定的图集参数集以及图集流SEI消息。
Figure BDA0003737124030000751
configurationVersion是版本字段。对记录的不兼容改变由版本号的改变指示。
sampleStreamSizeMinusOne加1指示该配置记录或应用该配置记录的流中的V-PCC样本中的所有样本流V-PCC单元的ssvu_vpcc_unit_size元素的精度(字节)。
numOfVPCCParameterSets指定解码器配置记录中用信号通知的V-PCC参数集(VPS)的数量。
VPCCParameterSet是类型VPCC_VPS的V-PCC单元的sample_stream_vpcc_unit()实例。该V-PCC单元包括vpcc_parameter_set()。
numOfAtlasSetupUnits指示该配置记录中用信号通知的图集流的设置阵列的数量。
Atlas_setupUnit是包含图集序列参数集、图集帧参数集或SEI图集NAL单元的sample_stream_vpcc_unit()实例。例如,可参考ISO/IEC 23090-5的描述。
根据实施方式,VPCCDecoderConfigurationRecord可如下定义。
Figure BDA0003737124030000761
configurationVersion是版本字段。对记录的不兼容改变由版本号的改变指示。
lengthSizeMinusOne加1指示该配置记录或应用该配置记录的流中的V-PCC样本中的所有样本流NAL单元的ssnu_nal_unit_size元素的精度(字节)。
sampleStreamSizeMinusOne加1指示该配置记录中用信号通知的所有样本流V-PCC单元中的ssvu_vpcc_unit_size元素的精度(字节)。
numOfVPCCParameterSets指定该配置记录中用信号通知的V-PCC参数集(VPS)的数量。
VPCCParameterSet是类型VPCC_VPS的V-PCC单元的sample_stream_vpcc_unit()实例。
numOfSetupUnitArrays指示所指示类型的图集NAL单元的阵列数量。
array_completeness等于1指示给定类型的所有图集NAL单元均在以下阵列中,没有在流中。array_completeness等于0指示所指示类型的附加图集NAL单元可在流中。默认值和允许值受样本条目名称约束。
NAL_unit_type指示以下阵列中的图集NAL单元的类型(应全部为该类型)。其取ISO/IEC 23090-5中定义的值。其可指示NAL_ASPS、NAL_PREFIX_SEI或NAL_SUFFIX_SEI图集NAL单元。
numNALUnits指示应用该配置记录的流的配置记录中所包括的所指示类型的图集NAL单元的数量。SEI阵列可仅包含“declarative”性质的SEI消息,即,作为整体提供关于流的信息的那些SEI消息。这种SEI的示例可以是用户数据SEI。
setupUnit是包含图集序列参数集、图集帧参数集或声明SEI图集NAL单元的sample_stream_nal_unit()实例。
V-PCC图集参数集样本组
用于样本分组的“vaps”grouping_type表示将V-PCC轨道中的样本指派给该样本组中承载的图集参数集。当存在grouping_type等于“vaps”的SampleToGroupBox时,存在具有相同分组类型的SampleGroupDescriptionBox并包含样本所属的该组的ID。V-PCC轨道可包含grouping_type等于“vaps”的至多一个SampleToGroupBox。
Figure BDA0003737124030000771
Figure BDA0003737124030000781
numOfAtlasParameterSets指定样本组描述中用信号通知的图集参数集的数量。
atlasParameterSet是包含与该样本组关联的图集序列参数集、图集帧参数集的sample_stream_vpcc_unit()实例。
图集参数样本组描述条目可如下配置。
Figure BDA0003737124030000782
lengthSizeMinusOne加1指示该样本组描述中用信号通知的所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(字节)。
atlasParameterSetNALUnit是包含与该样本组关联的图集序列参数集、图集帧参数集的sample_stream_nal_unit()实例。
V-PCC SEI样本组
用于样本分组的“vsei”grouping_type表示将V-PCC轨道中的样本指派给该样本组中承载的SEI信息。当存在grouping_type等于“vsei”的SampleToGroupBox时,存在具有相同分组类型的附随SampleGroupDescriptionBox并包含样本所属的该组的ID。V-PCC轨道可包含grouping_type等于“vsei”的至多一个SampleToGroupBox。
Figure BDA0003737124030000783
Figure BDA0003737124030000791
numOfSEIs指定样本组描述中用信号通知的V-PCC SEI的数量。
sei是包含与该组样本关联的SEI信息的sample_stream_vpcc_unit()实例。
V-PCC SEI样本组描述条目可如下配置。
Figure BDA0003737124030000792
lengthSizeMinusOne加1指示该样本组描述中用信号通知的所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(字节)。
seiNALUnit是包含与该组样本关联的SEI信息的sample_stream_nal_unit()实例。
V-PCC边界框样本组
用于样本分组的“vpbb”grouping_type表示向该样本组中承载的3D边界框信息指派V-PCC轨道中的样本。当存在grouping_type等于“vpbb”的SampleToGroupBox时,存在具有相同分组类型的附随SampleGroupDescriptionBox,并且包含样本所属的该组的ID。
V-PCC轨道可包含grouping_type等于“vpbb”的至多一个SampleToGroupBox。
Figure BDA0003737124030000793
V-PCC 3D区域映射样本组
用于样本分组的“vpsr”grouping_type表示向该样本组中承载的3D区域映射信息指派V-PCC轨道中的样本。当存在grouping_type等于“vpsr”的SampleToGroupBox时,存在具有相同分组类型的附随SampleGroupDescriptionBox,并且包含样本所属的该组的ID。
V-PCC轨道可包含grouping_type等于“vpsr”的至多一个SampleToGroupBox。
Figure BDA0003737124030000801
3D区域轨道分组
track_group_type等于“3drg”的TrackGroupTypeBox指示该轨道属于与3D空间区域对应的一组V-PCC组件轨道41010至41030。
属于相同3D空间区域的轨道具有track_group_type“3drg”的track_group_id的相同值。来自一个3D空间区域的轨道的track_group_id不同于来自任何其它3D空间区域的track_group_id。
aligned(8)class SpatialRegionGroupBox extends TrackGroupTypeBox('3drg'){
}
track_group_type等于“3drg”的TrackGroupTypeBox内具有track_group_id的相同值的轨道属于相同3D空间区域。
track_group_type等于“3drg”的TrackGroupTypeBox内的track_group_id用作3D空间区域的标识符。
基于根据实施方式的3D区域轨道分组,根据实施方式的方法/装置可提供包括与点云数据的3D区域关联的数据的轨道分组。根据实施方式的接收方法/装置可有效地获取和渲染与3D区域有关的点云数据。
2D区域轨道分组
track_group_type等于“2drg”的TrackGroupTypeBox指示该轨道属于与2D区域对应的一组V-PCC组件轨道。
属于相同2D区域的轨道具有track_group_type“3drg”的track_group_id的相同值。来自一个2D区域的轨道的track_group_id不同于来自任何其它2D区域的轨道的track_group_id。
aligned(8)class SpatialRegionGroupBox extends TrackGroupTypeBox('3drg'){
}
track_group_type等于“2drg”的TrackGroupTypeBox内具有track_group_id的相同值的轨道属于相同2D区域。track_group_type等于“2drg”的TrackGroupTypeBox内的track_group_id用作2D区域的标识符。
基于根据实施方式的2D区域轨道分组,根据实施方式的方法/装置可提供包括与2D区域关联的数据的轨道分组。根据实施方式的接收方法/装置可有效地获取与2D区域有关的数据并且渲染与2D区域有关的点云数据。
根据实施方式的用于接收点云数据的方法/装置基于3D区域轨道分组和/或2D区域轨道分组来执行以下操作。例如,根据实施方式的接收方法/装置可基于3D区域轨道分组来访问3D边界框,并且可基于2D区域轨道分组来访问图集拼块。另外,为了对3D边界框进行部分访问,应该对与3D边界框有关的几何、属性和占用数据进行解码。为了对V3C组件进行解码,最终在图集比特流中使用相关信息。因此,3D区域轨道分组和/或2D区域轨道分组二者可由PCC接收器一起解码。
V-PCC比特流的多轨道容器
多轨道ISOBMFF V-PCC容器的一般布局,其中V-PCC基本流中的V-PCC单元基于其类型被映射至容器文件内的各个轨道。多轨道ISOBMFF V-PCC容器中有两种类型的轨道:V-PCC轨道和V-PCC组件轨道。
V-PCC轨道(或v3c轨道)40030或41000是承载包括图集子比特流和序列参数集的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轨道(或V3C轨道)中并发送。此外,根据实施方式的方法/装置可在v-pcc轨道(或V3C轨道)的样本条目中发送根据实施方式的图集比特流和参数信息。
另外,根据实施方式的方法/装置可基于单个轨道在V-PCC基本流轨道中发送根据实施方式的图集比特流和参数信息。此外,根据实施方式的方法/装置可在V-PCC基本流轨道的样本条目或样本中发送图集比特流和参数信息。
属于同一V-PCC序列的轨道可时间对齐。横跨不同视频编码V-PCC组件轨道和V-PCC轨道对相同点云帧有贡献的样本具有相同的呈现时间。用于这些样本的V-PCC图集序列参数集和图集帧参数集的解码时间等于或早于点云帧的编排时间。另外,属于同一V-PCC序列的所有轨道具有相同的隐含或明确编辑列表。
注意:组件轨道中的基本流之间的同步可由ISOBMFF轨道定时结构(stts、ctts和cslg)或者电影碎片中的等效机制处理。
基于该布局,V-PCC ISOBMFF容器应包括以下内容(参见图40):
-V-PCC轨道,其包含V-PCC参数集(在样本条目中)以及承载(单元类型VPCC_VPS的)V-PCC参数集V-PCC单元和(单元类型VPCC_AD的)图集V-PCC单元的有效载荷的样本。该轨道还包括承载视频压缩V-PCC单元(即,单元类型VPCC_OVD、VPCC_GVD和VPCC_AVD)的有效载荷的其它轨道的轨道参考。
-受限视频方案轨道,其中样本包含占用图数据的视频编码基本流的访问单元(即,类型VPCC_OVD的V-PCC单元的有效载荷)。
-一个或更多个受限视频方案轨道,其中样本包含几何数据的视频编码基本流的访问单元(即,类型VPCC_GVD的V-PCC单元的有效载荷)。
-零个或更多个受限视频方案轨道,其中样本包含属性数据的视频编码基本流的访问单元(即,类型VPCC_AVD的V-PCC单元的有效载荷)。
V-PCC轨道
V-PCC轨道样本条目
样本条目类型:“vpc1”、“vpcg”
容器:SampleDescriptionBox
强制:“vpc1”或“vpcg”样本条目是强制的数量:可存在一个或更多个样本条目
V-PCC轨道使用扩展VolumetricVisualSampleEntry的VPCCSampleEntry。样本条目类型为“vpc1”或“vpcg”。
VPCC样本条目包含VPCCConfigurationBox。该框包括VPCCDecoderConfigurationRecord。
在“vpc1”样本条目下,所有图集序列参数集、图集帧参数集或V-PCC SEI在setupUnit阵列中。
在“vpcg”样本条目下,图集序列参数集、图集帧参数集和V-PCC SEI可存在于该阵列中或流中。
可选BitRateBox可存在于VPCC体积样本条目中以用信号通知V-PCC轨道的比特率信息。
体积序列:
Figure BDA0003737124030000831
根据实施方式的用于发送点云数据的方法可包括:对点云数据进行编码;封装点云数据;以及发送点云数据。
根据实施方式,点云数据的封装可包括生成包含点云数据的一个或更多个轨道。
根据实施方式,一个或更多个轨道可包含点云数据,例如,属性数据、占用数据、几何数据和/或与之有关的参数(元数据或信令信息)。具体地,轨道可包括描述样本的样本条目和/或样本。多个轨道可被称为第一轨道、第二轨道等。
根据实施方式,点云数据发送方法可对一个或更多个轨道进行分组。根据实施方式,分组的轨道可对应于表示点云数据的2D区域。2D区域可以是图集帧的图集拼块。
根据实施方式的点云数据接收方法可接收分组的轨道。通过解析分组的轨道,可获取关于关联的2D区域的信息。因此,基于分组的2D区域信息,根据实施方式的用于接收点云数据的方法/装置可通过空间部分访问来解析关联的几何、属性和占用数据以有效地向用户提供数据。
基于根据实施方式的2D区域轨道分组,根据实施方式的一个或更多个轨道可包括指示分组的轨道的轨道组类型框。分组的轨道可具有相同的轨道组ID。
此外,关于根据实施方式的2D区域轨道分组,根据实施方式的轨道分组相关信息可包括atlas_id、num_tiles以及对于num_tiles的各个值的tile_id。
atlas_id是轨道组所表示的图集拼块所属的图集的标识符。
num_tiles指示与轨道组关联的V3C拼块的数量。
tile_id是V3C拼块的标识符。该值可等于图集拼块组头地址(atgh_address)。
根据实施方式的点云数据接收装置可包括:接收器,其被配置为接收点云数据;解封装器,其被配置为解析点云数据;以及解码器,其被配置为对点云数据进行解码。
根据实施方式的解封装器可解析包含点云数据的一个或更多个轨道。
图42示出根据实施方式的V-PCC样本条目。
图42示出图40的V-PCC轨道(或V3C轨道)40030和图41的V3C轨道41000中所包括的样本条目的结构图。
图42示出根据本公开的实施方式的示例性V-PCC样本条目结构。样本条目可包含V-PCC参数集(VPS)42000,并且可选地包含图集序列参数集(ASPS)42010、图集帧参数集(AFPS)42020和/或SEI 42030。
根据实施方式的方法/装置可将点云数据存储在文件中的轨道中。此外,与点云数据有关的参数(或信令信息)可在轨道的样本或样本条目中存储和发送/接收。
可通过图25的生成和解析V-PCC比特流的实施方式来生成和解析图42的V-PCC比特流。
V-PCC比特流可包含样本流V-PCC头、样本流头、V-PCC单元头框和样本流V-PCC单元。
V-PCC比特流对应于参照图25和图26描述的V-PCC比特流,或者是其扩展形式的示例。
V-PCC轨道样本格式
V-PCC轨道中的各个样本对应于单个点云帧。各种组件轨道中与该帧对应的样本应具有与V-PCC轨道样本相同的编排时间。各个V-PCC样本可包括一个或更多个图集NAL单元。
Figure BDA0003737124030000851
VPCCDecoderConfigurationRecord指示匹配V-PCC样本条目中的解码器配置记录。
nalUnit包含样本流NAL单元格式的单个图集NAL单元。
NALUnitLength指示后续NAL单元的大小(字节)。
NALUnit包含单个图集NAL单元。
V-PCC轨道同步样本:
V-PCC轨道中的同步样本(随机访问点)是V-PCC IRAP编码补片数据访问单元。可在同步样本处重复图集参数集以便于随机访问(如果需要的话)。
视频编码V-PCC组件轨道
使用MPEG指定的编解码器的编码视频轨道的承载在ISOBMFF推导规范中很好地定义。例如,对于AVC和HEVC编码视频的承载,可参考ISO/IEC 14496-15。如果需要其它编解码器类型,则ISOBMFF可提供扩展机构。
由于在播放器侧没有重构点云的情况下显示来自属性、几何或占用图轨道的解码帧没有意义,所以可为这些视频编码轨道定义受限视频方案类型。
受限视频方案
V-PCC组件视频轨道可在文件中被表示为受限视频,并由其受限视频样本条目的RestrictedSchemeInfoBox的SchemeTypeBox的scheme_type字段中的“pccv”标识。
应该注意,对用于对属性、几何和占用图V-PCC组件进行编码的视频编解码器没有限制。此外,这些组件可使用不同的视频编解码器编码。
方案信息
SchemeInformationBox可存在并且包含VPCCUnitHeaderBox。
参考V-PCC组件轨道
为了将V-PCC轨道链接到组件视频轨道,可向V-PCC轨道的TrackBox内的TrackReferenceBox添加三个TrackReferenceTypeBoxe,每个组件一个。TrackReferenceTypeBox包含指定V-PCC轨道所参考的视频轨道的track_ID的阵列。TrackReferenceTypeBox的reference_type标识诸如占用图、几何或属性或占用图的组件类型。轨道参考类型有:
“pcco”:参考轨道包含视频编码占用图V-PCC组件;
“pccg”:参考轨道包含视频编码几何V-PCC组件;
“pcca”:参考轨道包含视频编码属性V-PCC组件。
由参考受限视频轨道承载并在轨道的RestrictedSchemeInfoBox中用信号通知的V-PCC组件的类型应匹配来自V-PCC轨道的轨道参考的参考类型。
图43示出根据实施方式的轨道替换和分组。
图43示出应用ISOBMFF文件结构的轨道的替换或分组的示例。
轨道替代和轨道分组:
具有相同alternate_group值的V-PCC组件轨道是相同V-PCC组件的不同编码版本。体积视觉场景可被替代编码。在这种情况下,作为彼此的替代的所有V-PCC轨道在其TrackHeaderBox中具有相同的alternate_group值。
类似地,当表示V-PCC组件之一的2D视频轨道以替代编码时,可存在对那些替代之一的轨道参考,并且这些替代形成备选组。
图43示出基于文件结构构成V-PCC内容的V-PCC组件轨道。当给出相同的图集组ID时,存在ID为10、11或12的情况。作为属性视频的轨道2和5可彼此互换使用。作为几何视频的轨道3和6可彼此替换。作为占用视频的轨道4和7可彼此替换。
V-PCC比特流的单轨道容器:
V-PCC数据的单轨道封装需要V-PCC编码基本比特流由单轨道声明表示。
在V-PCC编码比特流的简单ISOBMFF封装的情况下可使用PCC数据的单轨道封装。这种比特流可直接被存储为单轨道而无需进一步处理。V-PCC单元头数据结构可在比特流中保持原样。V-PCC数据的单轨道容器可被提供给媒体工作流以便于进一步处理(例如,多轨道文件生成、转码、DASH分段等)。
包含单轨道封装V-PCC数据的ISOBMFF文件在其FileTypeBox的compatible_brands[]列表中包含“pcst”。
V-PCC基本流轨道:
样本条目类型:“vpe1”、“vpeg”
容器:SampleDescriptionBox
强制:“vpe1”或“vpeg”样本条目是强制的数量:可存在一个或更多个样本条目
V-PCC基本流轨道使用样本条目类型为“vpe1”或“vpeg”的VolumetricVisualSampleEntry。
VPCC基本流样本条目包含VPCCConfigurationBox。
在“vpe1”样本条目下,所有图集序列参数集、图集帧参数集和SEI可在setupUnit阵列中。在“vpeg”样本条目下,图集序列参数集、图集帧参数集和SEI可存在于该阵列中或流中。
体积序列:
Figure BDA0003737124030000881
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字段来标识。
下面描述的信息可如下传送。例如,当点云数据为静态的时,其可被承载在多轨道V3C轨道的样本条目或单轨道的基本轨道的样本条目中。当点云数据为动态的时,该信息可被承载在单独的定时元数据轨道中。
点云数据的部分访问
3D边界框信息结构
3DBoundingBoxStruct提供点云数据的3D边界框信息,包括点云数据的3D边界框的x、y、z偏移以及3D边界框的宽度、高度和深度。
aligned(8)class 3DBoundingBoxInfoStruct(){
unsigned int(16)bb_x;
unsigned int(16)bb_y;
unsigned int(16)bb_z;
unsigned int(16)bb_delta_x;
unsigned int(16)bb_delta_y;
unsigned int(16)bb_delta_z;
}
bb_x、bb_y和bb_z分别指定点云数据的3D边界框的原点位置在笛卡尔坐标中的x、y和z坐标值。
bb_delta_x、bb_delta_y和bb_delta_z分别指示点云数据的3D边界框在笛卡尔坐标中相对于原点沿着x、y和z轴的延伸。
3D区域信息结构
3DRegionInfoStruct可包含关于点云数据的部分区域的3D区域信息。
aligned(8)class 3DRegionInfoStruct(3d_dimension_included_flag){
unsigned int(16)3d_region_id;
unsigned int(16)3d_anchor_x;
unsigned int(16)3d_anchor_y;
unsigned int(16)3d_anchor_z;
if(3d_dimension_included_flag){
unsigned int(8)3d_region_type;
if(3d_region_type==‘1’){//cuboid
unsigned int(16)3d_region_delta_x;
unsigned int(16)3d_region_delta_y;
unsigned int(16)3d_region_delta_z;
}
}
}
3d_region_id可指示3D区域的标识符。
3d_region_anchor_x、3d_region_anchor_y和3d_region_anchor_z可分别指示3D区域的锚点的x、y和z坐标值。例如,当3D区域为长方体类型时,锚点可以是长方体的原点,并且3d_region_anchor_x、3d_region_anchor_y和3d_region_anchor_z可指示3D区域的长方体的原点位置的x、y、z坐标值。
3d_region_type可指示3D区域的类型并且可具有0x01(长方体)作为值。
3d_dimension_included_flag可以是指示3D区域是否包含详细信息(例如,3d_region_type、3d_region_delta_x、3d_region_delta_y和3d_region_delta_z)的标志。
3d_region_delta_x、3d_region_delta_y和3d_region_delta_z可指示当3D区域类型是长方体时沿着x、y和z轴的差值。
2D区域信息结构
Figure BDA0003737124030000901
2d_region_id可指示2D区域的标识符。根据实施方式,其可与视频拼块标识符、拼块组标识符或图集帧中的图集拼块标识符或拼块组标识符匹配。
2d_region_type可指示表示2D区域的类型。这可指定区域的形状,即,形状是不是正方形,或者2D区域是否表示视频拼块或拼块组,或者是否指示图集帧中的图集拼块或拼块组标识符。
2d_region_top和2d_region_left可分别包括帧内的2D区域的左上位置的垂直坐标值和水平坐标值。
2d_dimension_included_flag可以是指示是否包括2D区域的宽度和高度值的标志。
2d_region_width和2d_region_height可分别包括帧内的2D区域的水平范围(宽度)和垂直范围(高度)。
图44示出根据实施方式的3D区域映射信息的结构。
图45示出根据实施方式的3D区域映射信息的结构。
图44和图45中的信息可如下传送。例如,当点云数据为静态的时,其可在多轨道V3C轨道的样本条目或单个轨道的基本轨道的样本条目中承载。当点云数据为动态的时,该信息可在单独的定时元数据轨道中承载。
V-PCC 3D区域映射信息结构
V-PCC 3D区域映射信息结构(VPCC3DRegionMappingInfoStruct)可包含关于包含与视频或图集帧内的点云数据的3D区域关联的数据的一个或更多个几何、占用或属性视频或图集帧的2D区域信息。其还可包含包括3D区域数据的轨道组(可指包括相同3D区域的数据的轨道集合)的标识符。
Figure BDA0003737124030000911
Figure BDA0003737124030000921
3DRegionInfoStruct()可表示一些或所有点云数据在3D空间中的3D区域信息。
num_2d_regions[i]可指示包含与3D区域中的点云数据有关的数据的一个或更多个视频或图集帧的2D区域的数量。
2DRegionInfoStruct可指示关于包含与3D区域中的点云数据相关的数据关联的数据的几何、占用或属性视频或图集帧的2D区域信息。
num_track_groups指示与3D空间区域关联的轨道组的数量。
track_group_id标识承载用于关联的3D空间区域的V-PCC组件的轨道的轨道组。
图44的3D区域映射信息可包括在图45的3D区域映射框中。
V-PCC 3D区域映射信息框
VPCC 3D区域映射框(VPCC3DRegionMappingBox)可包含以下信息:部分或全部点云数据的3D空间中的3D区域信息、包括对应3D区域数据的轨道组(可指包括相同3D区域的数据的轨道集合)的标识符、关于包含与3D区域中的点云数据关联的数据的一个或更多个视频或图集帧的2D区域信息、关于与各个2D区域关联的图集拼块或拼块组的信息以及包括2D区域数据的轨道组的标识符(可指包括相同3D区域的数据的轨道集合)。
Figure BDA0003737124030000922
Figure BDA0003737124030000931
2d_region_id是几何、占用、属性、视频或图集帧的2D区域的标识符。
num_tiles是与几何、占用、属性视频或图集帧的2D区域关联的视频帧的拼块或图集帧的拼块的数量。
tile_id[k]是与几何、占用、属性视频或图集帧的2D区域关联的视频帧或图集帧的拼块标识符。
num_tile_groups指示与几何、占用、属性视频或图集帧的2D区域关联的视频帧的拼块组或视频帧的拼块组的数量。
tile_group_id是与几何、占用、属性视频或图集帧的2D区域关联的图集帧或视频帧的拼块组标识符。
num_track_groups指示与2D区域关联的轨道组的数量。
track_group_id标识承载用于关联的2D区域的V-PCC组件的轨道的轨道组。
静态V-PCC 3D区域映射信息
如果关于包含与点云数据的3D区域关联的数据的一个或更多个视频或图集帧的2D区域信息以及关于与各个2D区域关联的视频或图集拼块或拼块组的信息在点云序列内不改变,VPCC3DRegionMappingBox可包含在V-PCC轨道或V-PCC基本流轨道的样本条目中。
Figure BDA0003737124030000932
VPCC3DRegionMappingBox中用信号通知的关于图集帧的2D区域信息可以是关于包括在V-PCC轨道中的样本中的图集帧的2D区域信息。
VPCC3DRegionMappingBox中用信号通知的关于视频(几何、属性、占用)帧的2D区域信息可以是关于通过V-PCC轨道的轨道参考而参考的视频轨道(几何、属性、占用)中的样本中所包括的视频帧的2D区域信息。
Figure BDA0003737124030000941
VPCC3DRegionMappingBox中用信号通知的关于视频(几何、属性、占用)帧的2D区域信息可以是关于V-PCC基本流轨道中的子样本中所包括的视频或图集帧的2D区域信息。
动态V-PCC 3D区域映射信息
如果V-PCC轨道具有样本条目类型为“dysr”的关联的定时元数据轨道,则为点云流定义的3D空间区域由V-PCC轨道承载并被视为动态区域。即,空间区域信息可随时间动态地改变。
关联的定时元数据轨道包含承载图集流的V-PCC轨道的“cdsc”轨道参考。
VPCC3DRegionMappingBox中用信号通知的关于图集帧的2D区域信息可以是关于V-PCC轨道的样本中所包括的图集帧的2D区域信息。
VPCC3DRegionMappingBox中用信号通知的关于视频(几何、属性、占用)帧的2D区域信息可以是关于通过V-PCC轨道的轨道参考而参考的视频轨道(几何、属性、占用)中的样本中所包括的视频帧的2D区域信息。
如果V-PCC基本流轨道具有样本条目类型为“dysr”的关联的定时元数据轨道,则为点云流定义的3D空间区域由V-PCC基本轨道承载并被视为动态区域。即,空间区域信息可随时间动态地改变。
关联的定时元数据轨道包含V-PCC基本流轨道的“cdsc”轨道参考。
VPCC3DRegionMappingBox中用信号通知的关于视频(几何、属性、占用)帧或图集帧的2D区域信息可以是关于V-PCC基本流轨道中的子样本中所包含的视频或图集帧的2D区域信息。
Figure BDA0003737124030000942
Figure BDA0003737124030000951
当关于3D区域的匹配信息随时间改变时,init_3d_region_mapping可包括关于初始3D区域的匹配信息。
该样本条目类型“dysr”的样本句法如下指定:
aligned(8)DynamicSpatialRegionSample(){
VPCC3DRegionMappingBox 3d_region_mapping;
}
点云边界框
VPCCBoundingInformationBox可存在于V-PCC轨道或V-PCC基本流轨道的样本条目中。当其存在于V-PCC轨道或V-PCC基本流轨道的样本条目中时,VPCCBoundingInformationBox提供关联或承载的点云数据的总边界框信息。
aligned(8)class VPCCBoundingInformationBox extends FullBox(‘vpbb’,0,0){
3DBoundingBoxInfoStruct();
}
如果V-PCC轨道具有样本条目类型为“dybb”的关联的定时元数据轨道时,定时元数据轨道提供点云数据的动态变化的3D边界框信息。
关联的定时元数据轨道包含参考承载图集流的V-PCC轨道的“cdsc”轨道。
Figure BDA0003737124030000952
all_bb提供总3D边界框信息,包括原点位置的x、y和z坐标以及点云数据的总3D边界框在笛卡尔坐标中相对于原点分别沿着x、y和z轴的延伸。该轨道中的样本中承载的3D边界框是该总3D边界框的空间部分。
该样本条目类型“dybb”的样本句法如下指定:
aligned(8)Dynamic3DBoundingBoxSample(){
VPCCBoundingInformationBox 3dBB;
}
3dBB提供样本中用信号通知的3D边界框信息。
关于3DSpatialRegionStruct的语义,dimensions_included_flag等于0指示不用信号通知尺寸并且先前已为相同区域用信号通知它们。即,具有相同3d_region_id的3DSpatialRegionStruct的先前实例用信号通知尺寸。
根据实施方式的点云数据发送方法可生成包括点云数据的3D区域信息(PCC3DRegionMappingInfoStruct)的一个或更多个轨道。
根据实施方式,3D区域信息可包括指示与3D区域关联的轨道组的数量的信息(num_track_groups)和标识承载与3D区域关联的点云数据的轨道的轨道组的信息(track_group_id)。
因此,根据实施方式的点云数据发送方法/装置可生成和发送与3D区域关联的数据轨道组。因此,根据实施方式的点云数据接收方法/装置可根据实施方式基于与3D区域关联的数据轨道组对3D区域进行有效空间访问。
根据实施方式的点云数据发送方法可生成包含3D区域映射信息(VPCC3DRegionMappingBox extends FullBox)的一个或更多个轨道。
根据实施方式,3D区域映射信息可包括指示与点云数据的2D区域关联的轨道组的数量的信息(num_track_groups)和标识承载与2D区域关联的点云数据的轨道的轨道组的信息(track_group_id)。
图46示出根据实施方式的用于封装非定时V-PCC数据的结构。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可封装并发送/接收如图46所示的非定时V-PCC数据。
当根据实施方式的点云数据是图像时,图1的点云视频编码器10002(或图4的编码器、图15的编码器、图18的发送装置、图20的处理器20001、图20的图像编码器20003、图21的处理器或图21的图像编码器21008)可对图像进行编码,文件/片段封装器10003(或图20的文件/片段封装器20004或图21的文件/片段封装器21009)可将图像和图像相关信息存储在如图46所示的容器(项目)中,并且发送器10004可发送容器。
类似地,图1的接收器接收图46的容器,文件/片段解封装器10007(或图20的文件/片段解封装器20005或文件/片段解封装器22000)解析容器。图1的点云视频解码器10008(或图16的解码器、图17的解码器、图19的接收装置或者图像解码器20006或图像解码器22002)可将包括在项目中的图像解码并将解码的图像提供给用户。
根据实施方式,图像可以是静止图像。根据实施方式的方法/装置可发送和接收关于图像的点云数据。根据实施方式的方法/装置可基于如图46所示的数据容器结构在项目中存储和发送/接收图像。关于图像的属性信息可被存储在图像性质等中。
非定时V-PCC数据作为图像项目被存储在文件中。定义了两个新项目类型(V-PCC项目和V-PCC单元项目)以封装非定时V-PCC数据。
新处理程序类型4CC码“vpcc”被定义并存储在MetaBox的HandlerBox中以指示V-PCC项目、V-PCC单元项目和其它V-PCC编码内容表示信息的存在。
V-PCC项目46000:V-PCC项目是表示可独立解码的V-PCC访问单元的项目。项目类型“vpci”被定义为标识V-PCC项目。V-PCC项目存储图集子比特流的V-PCC单元有效载荷。如果PrimaryItemBox存在,则该框中的item_id被设定为指示V-PCC项目。
V-PCC单元项目46010: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配置项目性质52020
框类型:“vpcp”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目,是
数量(每项目):对于类型“vpci”的V-PCC项目,一个或更多个
对于V-PCC配置项目性质,框类型是“vpcp”并且性质类型是描述性项目性质。容器是ItemPropertyContainerBox。对于类型“vpci”的V-PCC项目,每项目为强制的。对于类型“vpci”的V-PCC项目,可存在每项目一个或更多个性质。
V-PCC参数集被存储为描述性项目性质并且与V-PCC项目关联。
Figure BDA0003737124030000981
vpcc_unit_payload_size指定vpcc_unit_paylod()的大小(字节)。
aligned(8)class VPCCConfigurationProperty extends ItemProperty('vpcc'){
vpcc_unit_payload_struct()[];
}
vpcc_unit_paylod()包括类型VPCC_VPS的V-PCC单元。
V-PCC单元头项目性质46030
框类型:“vunt”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目,是数量(每项目):一个
对于V-PCC单元头项目性质,框类型是“vunt”,性质类型是描述性项目性质,并且容器是ItemPropertyContainerBox。对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目每项目为强制的。每项目可存在一个性质。
V-PCC单元头被存储为描述性项目性质并且与V-PCC项目和V-PCC单元项目关联。
Figure BDA0003737124030000982
基于图46的结构,根据实施方式的方法/装置/系统可传送非定时点云数据。
非定时基于视频的点云压缩数据的承载
非定时V-PCC数据作为图像项目被存储在文件中。新处理程序类型4CC码“vpcc”被定义并存储在MetaBox的HandlerBox中以便指示V-PCC项目、V-PCC单元项目和其它V-PCC编码内容表示信息的存在。
根据实施方式的项目表示图像。例如,它是不移动的数据并且可指单个图像。
根据实施方式的方法/装置可基于用于封装非定时V-PCC数据的结构来生成和发送根据实施方式的数据,如图52所示。
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 BDA0003737124030001001
Figure BDA0003737124030001011
V-PCC 3d边界框项目性质
框类型:“v3dd”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目,是数量(每项目):一个
3D边界信息被存储为描述性项目性质并且与V-PCC项目和V-PCC单元项目关联。
Figure BDA0003737124030001012
V-PCC 3D区域映射信息项目性质
框类型:“dysr’
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目,是数量(每项目):一个
3D边界信息作为描述性项目性质存储并与V-PCC项目和V-PCC单元项目关联。
Figure BDA0003737124030001013
图47示出根据实施方式的点云数据发送方法。
根据实施方式的点云数据发送方法包括对点云数据进行编码(S47000)。根据实施方式的编码操作可包括诸如图1的点云视频编码器10002的操作、图4的编码器的操作、图15的编码器和图18的发送装置的数据输入单元或复用器18007的操作、图20的预处理器20001或视频/图像编码器20002、20003的操作、图21的预处理器21001至21006或视频/图像编码器21007、21008的操作、XR装置2330的操作、图25和图26的比特流生成的操作。
根据实施方式的点云数据发送方法还可包括将点云数据封装(S47010)。操作诸如图1、图20和图21的文件/片段封装(10003、20004、21009)以及图24和图25的文件生成(参见图26或前面的图)。根据实施方式的封装操作可包括诸如图1的文件/片段封装器10003的操作、由图18的发送装置生成的编码点云数据比特流的封装、图20的文件/片段封装器20004的操作、图21的文件/片段封装器21009的操作、图23的XR装置2330的操作、图25和图26中的比特流的封装、图40和图41中的比特流向文件中的封装和图46中的比特流向项目中的封装的操作。
根据实施方式的点云数据发送方法还可包括发送点云数据(S47020)。根据实施方式的发送操作可包括诸如图1的发送器10004、图18的发送器18008的点云数据发送、图20的传送、图21的传送、图23的XR装置和图25至图46中的点云数据发送的操作。
图48示出根据实施方式的点云数据接收方法。
根据实施方式的点云数据接收方法可包括接收点云数据(S48000)。根据实施方式的接收操作可包括诸如图1的接收器10006的操作、图19的接收器的操作、根据图20的传送的接收、根据图22的传送的接收和图23的XR装置2330的接收、图25和图26中的比特流的接收、图40和图41中的文件的接收和图46中的项目的接收的操作。
根据实施方式的接收方法还可包括将点云数据解封装(S48010)。根据实施方式的解封装操作可包括诸如图1的文件/片段解封装器10007、图20的文件/片段解封装器20005、图22的文件/片段解封装器22000、图23和图25和图26的XR装置2330中包含数据的容器的解封装以及图40和图41中的文件的解封装、图46中的项目的解封装的操作。
根据实施方式的接收方法还可包括对点云数据进行解码(S48020)。根据实施方式的解码操作可包括诸如图1的点云视频解码器10008的操作、图16的解码器的操作、图17的解码器的操作、图19中的点云数据的解码、图20的视频/图像解码器20006的操作、图22的视频/图像解码器22001、22002的操作、图23的XR装置2330的操作和图25至图43中的数据的解码的操作。
根据所提出的方法,被配置为提供点云内容服务的发送器或接收器可如上所述配置V-PCC比特流并存储文件。
用于V-PCC比特流中的数据处理和渲染的元数据可在比特流中发送。
播放器等可被允许根据用户视口对点云对象/内容执行部分访问或空间访问。换言之,上述数据表示方法(参见图24至图46)可允许根据用户视口对点云比特流的有效访问和处理。
根据实施方式的点云数据发送装置可提供用于对点云内容(例如,V-PCC内容)的部分访问和/或空间访问的边界框及其信令信息(参见图24至图46)。因此,根据实施方式的点云数据接收装置可被允许考虑播放器或用户环境以各种方式访问点云内容。
根据实施方式的点云数据发送装置可提供用于支持根据用户视口对V-PCC内容的空间访问的V-PCC内容的3D区域信息以及关于与之关联的视频或图集帧的2D区域相关元数据(参见图24至图46)。
根据实施方式的点云数据发送装置可提供关于点云比特流中的点云的3D区域信息以及与之关联的视频或图集帧上的2D区域相关的信息的信令(参见图24至图46)。
另外,基于关于文件中的点云的3D区域信息和关于与之关联的视频或图集帧的2D区域相关信息的存储和信令,根据实施方式的点云数据接收装置可考虑用户环境以低延迟有效地向用户提供点云内容(参见图24至图46)。
此外,基于关于与文件中的图像项目关联的点云的3D区域信息和关于与之关联的视频或图集帧的2D区域相关信息,根据实施方式的点云数据接收装置可提供对点云内容的各种访问(参见图24至图46)。
根据实施方式的点云数据发送装置可有效地编码和提供包括与点云数据的3D区域关联的数据和相关信令信息的轨道分组(参见图24至图46)。
此外,根据实施方式的点云数据接收装置可基于包括与2D区域关联的数据和相关信令信息的轨道分组有效地访问点云内容(参见图24至图46)。
已在方法和/或装置方面描述了实施方式。方法的描述和装置的描述可相互补充。
尽管为了简单参照各个附图描述了实施方式,但是可通过将附图所示的实施方式合并来设计新的实施方式。如果本领域技术人员设计了记录有用于执行以上描述中提及的实施方式的程序的计算机可读记录介质,则其可落在所附权利要求及其等同物的范围内。装置和方法可不限于上述实施方式的配置和方法。上述实施方式可通过选择性地彼此完全或部分地组合来配置,以实现各种修改。尽管参照附图描述了优选实施方式,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对实施方式进行各种修改和变化。这些修改不应从实施方式的技术思想或观点方面单独地理解。
实施方式的装置的各种元件可由硬件、软件、固件或其组合实现。实施方式中的各种元件可由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施方式的任一个或更多个操作/方法,或者包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可被存储在被配置为由一个或更多个处理器执行的非暂时性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所述的方法,
其中,所述一个或更多个轨道被分组,
其中,所分组的轨道对应于表示所述点云数据的2D区域。
4.根据权利要求3所述的方法,
其中,所述一个或更多个轨道包括表示所分组的轨道的轨道组框,
其中,所分组的轨道包括相同的轨道组id。
5.根据权利要求2所述的方法,
其中,所述一个或更多个轨道包括所述点云数据的3D区域信息,
其中,所述3D区域信息包括:
表示与所述点云数据的3D区域关联的轨道组的数量的信息;以及
标识承载与所述3D区域关联的点云数据的轨道的轨道组的信息。
6.根据权利要求2所述的方法,
其中,所述一个或更多个轨道包括3D区域映射信息,
其中,所述3D区域映射信息包括:
用于表示与所述点云数据的2D区域有关的轨道组的数量的信息,以及
用于标识承载与所述2D区域有关的点云数据的轨道的轨道组的信息。
7.一种发送点云数据的设备,该设备包括:
编码器,该编码器被配置为对点云数据进行编码;
封装器,该封装器被配置为将所述点云数据封装;以及
发送器,该发送器被配置为发送所述点云数据。
8.根据权利要求7所述的设备,
其中,所述封装器被配置为生成包括所述点云数据的一个或更多个轨道。
9.根据权利要求8所述的设备,
其中,所述一个或更多个轨道被分组,
其中,所分组的轨道对应于表示所述点云数据的2D区域。
10.根据权利要求9所述的设备,
其中,所述一个或更多个轨道包括表示所分组的轨道的轨道组框,
其中,所分组的轨道包括相同的轨道组id。
11.根据权利要求8所述的设备,
其中,所述一个或更多个轨道包括表示所分组的轨道的轨道组框,
其中,所分组的轨道包括相同的轨道组id。
12.根据权利要求8所述的设备,
其中,所述一个或更多个轨道包括所述点云数据的3D区域信息,
其中,所述3D区域信息包括:
表示与所述点云数据的3D区域关联的轨道组的数量的信息;以及
标识承载与所述3D区域关联的点云数据的轨道的轨道组的信息。
13.一种接收点云数据的设备,该设备包括:
接收器,该接收器被配置为接收点云数据;
解封装器,该解封装器被配置为将所述点云数据解封装;以及
解码器,该解码器被配置为对所述点云数据进行解码。
14.根据权利要求13所述的设备,
其中,所述解封装器被配置为解析包括所述点云数据的一个或更多个轨道。
15.根据权利要求14所述的设备,
其中,所述一个或更多个轨道被分组,
其中,所分组的轨道对应于表示所述点云数据的2D区域。
16.根据权利要求15所述的设备,
其中,所述一个或更多个轨道包括表示所分组的轨道的轨道组框,
其中,所分组的轨道包括相同的轨道组id。
17.根据权利要求14所述的设备,
其中,所述一个或更多个轨道包括所述点云数据的3D区域信息,
其中,所述3D区域信息包括:
表示与所述点云数据的3D区域关联的轨道组的数量的信息;以及
标识承载与所述3D区域关联的点云数据的轨道的轨道组的信息。
18.根据权利要求14所述的设备,
其中,所述一个或更多个轨道包括3D区域映射信息,
其中,所述3D区域映射信息包括:
用于表示与所述点云数据的2D区域有关的轨道组的数量的信息,以及
用于标识承载与所述2D区域有关的点云数据的轨道的轨道组的信息。
19.一种接收点云数据的方法,该方法包括以下步骤:
接收点云数据;
将所述点云数据解封装;以及
对所述点云数据进行解码。
20.根据权利要求19所述的方法,其中,将所述点云数据解封装的步骤包括解析包括所述点云数据的一个或更多个轨道。
CN202080092340.5A 2020-01-10 2020-11-16 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 Active CN114946178B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062959755P 2020-01-10 2020-01-10
US62/959,755 2020-01-10
PCT/KR2020/016057 WO2021141233A1 (ko) 2020-01-10 2020-11-16 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Publications (2)

Publication Number Publication Date
CN114946178A true CN114946178A (zh) 2022-08-26
CN114946178B CN114946178B (zh) 2023-12-19

Family

ID=76763708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080092340.5A Active CN114946178B (zh) 2020-01-10 2020-11-16 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法

Country Status (7)

Country Link
US (1) US11544877B2 (zh)
EP (1) EP4090013A4 (zh)
JP (1) JP7434578B2 (zh)
KR (1) KR102336990B1 (zh)
CN (1) CN114946178B (zh)
BR (1) BR112022012691A2 (zh)
WO (1) WO2021141233A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117437162A (zh) * 2023-12-22 2024-01-23 吉林大学 一种基于实例级序列混合的动态点云数据增强方法及装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11483534B2 (en) * 2019-08-29 2022-10-25 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immersive video
WO2021206365A1 (ko) * 2020-04-11 2021-10-14 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11321878B2 (en) * 2020-06-26 2022-05-03 Sony Group Corporation Decoded tile hash SEI message for V3C/V-PCC
US11706450B2 (en) * 2020-09-18 2023-07-18 Samsung Electronics Co., Ltd. Partial decoding and reconstruction of a video-based point cloud compression bitstream
CN117677977A (zh) * 2021-07-19 2024-03-08 创峰科技 编码立体内容中的图集信息传输
WO2024004449A1 (ja) * 2022-06-29 2024-01-04 キヤノン株式会社 情報処理装置、情報処理方法、コンピュータプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150089364A (ko) * 2014-01-27 2015-08-05 한국생산기술연구원 점군데이터를 위한 실시간 송수신 시스템 및 방법, 그리고 이에 적용되는 장치
US20180268570A1 (en) * 2017-03-16 2018-09-20 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
WO2019079032A1 (en) * 2017-10-20 2019-04-25 Interdigital Vc Holdings, Inc. METHOD, APPARATUS AND FLOW FOR VOLUMETRIC VIDEO FORMAT
US20190318488A1 (en) * 2018-04-12 2019-10-17 Samsung Electronics Co., Ltd. 3d point cloud compression systems for delivery and access of a subset of a compressed 3d point cloud

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10186024B2 (en) * 2015-12-29 2019-01-22 Texas Instruments Incorporated Method and system for real time structure from motion in a computer vision system
EP3699870A4 (en) * 2017-10-16 2020-12-23 Sony Corporation DEVICE AND PROCESS FOR PROCESSING INFORMATION
WO2019135024A1 (en) 2018-01-02 2019-07-11 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
WO2020009341A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 동적 뷰포인트의 좌표계에 대한 메타데이터를 송수신하는 방법 및 장치
WO2020009344A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
WO2020071703A1 (ko) * 2018-10-01 2020-04-09 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및/또는 포인트 클라우드 데이터 수신 방법
US11457231B2 (en) * 2019-03-15 2022-09-27 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks
US11711544B2 (en) * 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
KR102625457B1 (ko) 2019-08-16 2024-01-16 엘지전자 주식회사 Xr 디바이스 및 그 제어 방법
US20210105313A1 (en) * 2019-10-02 2021-04-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling a region in spatially grouped immersive media data tracks
CN114762356A (zh) 2019-12-13 2022-07-15 索尼集团公司 图像处理装置和方法
JP7434577B2 (ja) 2020-01-09 2024-02-20 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150089364A (ko) * 2014-01-27 2015-08-05 한국생산기술연구원 점군데이터를 위한 실시간 송수신 시스템 및 방법, 그리고 이에 적용되는 장치
US20180268570A1 (en) * 2017-03-16 2018-09-20 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
WO2019079032A1 (en) * 2017-10-20 2019-04-25 Interdigital Vc Holdings, Inc. METHOD, APPARATUS AND FLOW FOR VOLUMETRIC VIDEO FORMAT
CN111434121A (zh) * 2017-10-20 2020-07-17 交互数字Vc控股公司 体积式视频格式的方法、装置和流
US20190318488A1 (en) * 2018-04-12 2019-10-17 Samsung Electronics Co., Ltd. 3d point cloud compression systems for delivery and access of a subset of a compressed 3d point cloud

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117437162A (zh) * 2023-12-22 2024-01-23 吉林大学 一种基于实例级序列混合的动态点云数据增强方法及装置
CN117437162B (zh) * 2023-12-22 2024-03-08 吉林大学 一种基于实例级序列混合的动态点云数据增强方法及装置

Also Published As

Publication number Publication date
CN114946178B (zh) 2023-12-19
US11544877B2 (en) 2023-01-03
KR20210090542A (ko) 2021-07-20
JP7434578B2 (ja) 2024-02-20
US20210217200A1 (en) 2021-07-15
JP2023509537A (ja) 2023-03-08
EP4090013A1 (en) 2022-11-16
EP4090013A4 (en) 2024-01-17
WO2021141233A1 (ko) 2021-07-15
KR102336990B1 (ko) 2021-12-08
BR112022012691A2 (pt) 2022-09-06

Similar Documents

Publication Publication Date Title
KR102334629B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11017591B2 (en) Point cloud data transmitting apparatus, point cloud transmitting method, point cloud data receiving apparatus, and point cloud receiving method
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) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN114946178B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11968393B2 (en) Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method
US11418564B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115443652A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
US11601634B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114503587A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN115769583A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN114946179A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US20210320961A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11908168B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115428442A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN117978993A (zh) 对点云数据进行编码/解码的设备
CN117978994A (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