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

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

Info

Publication number
CN114930863A
CN114930863A CN202080092244.0A CN202080092244A CN114930863A CN 114930863 A CN114930863 A CN 114930863A CN 202080092244 A CN202080092244 A CN 202080092244A CN 114930863 A CN114930863 A CN 114930863A
Authority
CN
China
Prior art keywords
point cloud
information
cloud data
data
patch
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
CN202080092244.0A
Other languages
English (en)
Other versions
CN114930863B (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
Priority to CN202310893204.1A priority Critical patent/CN116684667A/zh
Priority to CN202310892295.7A priority patent/CN116684666A/zh
Publication of CN114930863A publication Critical patent/CN114930863A/zh
Application granted granted Critical
Publication of CN114930863B publication Critical patent/CN114930863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42201Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] biosensors, e.g. heat sensor for presence detection, EEG sensors or any limb activity sensors worn by the user
    • 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/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/4347Demultiplexing 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/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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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 or rendering scenes according to encoded video stream 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/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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • 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/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • Social Psychology (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Biophysics (AREA)
  • Neurosurgery (AREA)
  • Biomedical Technology (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

根据实施方式的点云数据发送方法包括以下步骤:对点云数据进行编码;将点云数据封装;以及发送点云数据。根据实施方式的点云数据接收装置包括:接收器,其用于接收点云数据;解封装器,其用于将点云数据解封装;以及解码器,其用于对点云数据进行解码。

Description

点云数据发送装置、点云数据发送方法、点云数据接收装置和 点云数据接收方法
技术领域
实施方式提供了一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶服务的各种服务的方法。
背景技术
点云是三维(3D)空间中的点集合。因为3D空间中的点的数量大,所以难以生成点云数据。
需要大吞吐量以发送和接收点云数据。
发明内容
技术问题
本公开的目的在于提供一种用于有效地发送和接收点云的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的在于提供一种用于解决延迟和编码/解码复杂度的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
实施方式不限于上述目的,实施方式的范围可扩展至本领域技术人员基于本公开的整个内容可推断的其它目的。
技术方案
为了实现这些目的和其它优点并且在本公开的一个方面,一种发送点云数据的方法可包括以下步骤:对点云数据进行编码;封装点云数据;以及发送点云数据。
在本公开的另一方面,一种用于接收点云数据的装置可包括:接收器,其被配置为接收点云数据;解封装器,其被配置为将点云数据解封装;以及解码器,其被配置为对点云数据进行解码。
有益效果
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可提供高质量点云服务。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可实现各种视频编解码方法。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可提供诸如自主驾驶服务的通用点云内容。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中并构成本申请的一部分,附图示出本公开的实施方式并与说明书一起用于说明本公开的原理。附图中:
图1示出根据实施方式的用于提供点云内容的发送/接收系统的示例性结构。
图2示出根据实施方式的点云数据的捕获。
图3示出根据实施方式的示例性点云、几何和纹理图像。
图4示出根据实施方式的示例性V-PCC编码处理。
图5示出根据实施方式的表面的切平面和法向量的示例。
图6示出根据实施方式的点云的示例性边界框。
图7示出根据实施方式的占用图上的各个补片位置的确定的示例。
图8示出根据实施方式的法向轴、切向轴和双切轴之间的示例性关系。
图9示出根据实施方式的投影模式的最小模式和最大模式的示例性配置。
图10示出根据实施方式的示例性EDD码。
图11示出根据实施方式的基于邻近点的颜色值重新着色的示例。
图12示出根据实施方式的推拉式背景填充的示例。
图13示出根据实施方式的4*4块的示例性可能遍历顺序。
图14示出根据实施方式的示例性最佳遍历顺序。
图15示出根据实施方式的示例性2D视频/图像编码器。
图16示出根据实施方式的示例性V-PCC解码处理。
图17示出根据实施方式的示例性2D视频/图像解码器。
图18是示出根据本公开的实施方式的发送装置的操作的流程图。
图19是示出根据实施方式的接收装置的操作的流程图。
图20示出根据实施方式的用于点云数据的基于V-PCC的存储和流传输的示例性架构。
图21是根据实施方式的用于存储和发送点云数据的装置的示例性框图。
图22是根据实施方式的点云数据接收装置的示例性框图。
图23示出根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构。
图24示出根据实施方式的封装V-PCC数据容器的结构。
图25示出根据实施方式的封装V-PCC数据容器结构。
图26示出根据实施方式的包含点云数据的比特流的结构。
图27示出根据实施方式的样本流V-PCC单元的配置。
图28示出根据实施方式的V-PCC单元和V-PCC单元头。
图29示出根据实施方式的V-PCC单元的有效载荷。
图30示出根据实施方式的V-PCC参数集。
图31示出根据实施方式的拼块。
图32示出根据实施方式的图集比特流的结构。
图33示出根据实施方式的NAL单元。
图34示出根据实施方式的NAL单元的类型。
图35示出根据实施方式的图集序列参数集。
图36示出根据实施方式的图集帧参数集。
图37示出根据实施方式的atlas_frame_tile_information。
图38示出根据实施方式的图集适配参数集(atlas_adaptation_parameter_set_rbsp())。
图39示出根据实施方式的atlas_camera_parameters。
图40示出根据实施方式的atlas_tile_group_layer和atlas_tile_group_header。
图41示出根据实施方式的参考列表结构(ref_list_struct)。
图42示出根据实施方式的图集拼块组数据(atlas_tile_group_data_unit)。
图43示出根据实施方式的补片信息数据(patch_information_data)。
图44示出根据实施方式的patch_data_unit。
图45示出根据实施方式的相对于补片取向的旋转和偏移。
图46示出根据实施方式的场景对象信息(scene_object_information)。
图47示出根据实施方式的对象标签信息。
图48示出根据实施方式的补片信息。
图49示出根据实施方式的体积矩形信息。
图50示出根据实施方式的样本流vpcc单元的配置。
图51示出根据实施方式的图集拼块组(或拼块)的配置。
图52示出根据实施方式的V-PCC空间区域框的结构。
图53示出根据实施方式的DynamicSpatialRegionSample。
图54示出根据实施方式的用于封装非定时V-PCC数据的结构。
图55是根据实施方式的点云数据发送方法的流程图。
图56是根据实施方式的点云数据接收方法的流程图。
图57示出根据实施方式的文件格式结构。
图58示出根据实施方式的文件级别信令。
图59示出根据实施方式的点云的3D区域与视频帧中的区域之间的关联。
图60示出根据实施方式的参数集。
图61示出根据实施方式的图集序列参数集(ASPS)。
图62示出根据实施方式的图集帧参数集(AFPS)。
图63示出根据实施方式的图集帧拼块信息(atlas_frame_tile_information)。
图64示出根据实施方式的补充增强信息(SEI)。
图65示出根据实施方式的3D边界框SEI。
图66示出根据实施方式的3D区域映射信息SEI消息。
图67示出根据实施方式的体积平铺信息。
图68示出根据实施方式的体积平铺信息对象。
图69示出根据实施方式的体积平铺信息标签。
图70示出根据实施方式的V-PCC样本条目。
图71示出根据实施方式的轨道替换和分组。
图72示出根据实施方式的V-PCC 3D区域映射信息结构。
图73示出根据实施方式的比特流的结构。
图74示出根据实施方式的发送方法。
图75示出根据实施方式的接收方法。
具体实施方式
现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语选自本领域中广泛使用的一般术语,但是一些术语是申请人任意选择的,其含义在以下描述中根据需要详细说明。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图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对所接收的点云视频数据进行解码。根据实施方式的解码器可执行根据实施方式的编码的逆处理。
渲染器10009渲染解码的点云视频数据。根据实施方式,渲染器10009可将在接收侧获得的反馈信息发送给点云视频解码器10008。根据实施方式的点云视频数据可将反馈信息承载到接收器。根据实施方式,点云发送装置所接收的反馈信息可被提供给点云视频编码器。
图中的虚线所指示的箭头表示接收装置10005所获取的反馈信息的传输路径。反馈信息是用于反映与消费点云内容的用户的交互性的信息,并且包括用户信息(例如,头部取向信息、视口信息等)。具体地,当点云内容是需要与用户的交互的服务(例如,自主驾驶服务等)的内容时,反馈信息可被提供给内容发送侧(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可用在接收装置10005以及发送装置10000中,并且可不提供。
根据实施方式的头部取向信息是关于用户的头部位置、取向、角度、运动等的信息。根据实施方式的接收装置10005可基于头部取向信息来计算视口信息。视口信息可以是关于用户正在观看的点云视频区域的信息。视点是用户正在观看点云视频的点,并且可指视口区域的中心点。即,视口是以视点为中心的区域,并且区域的大小和形状可由视场(FOV)确定。因此,除了头部取向信息之外,接收装置10005可基于装置所支持的垂直或水平FOV来提取视口信息。另外,接收装置10005执行注视分析以检查用户如何消费点云、点云视频中用户注视的区域、注视时间等。根据实施方式,接收装置10005可向发送装置10000发送包括注视分析结果的反馈信息。根据实施方式的反馈信息可在渲染和/或显示处理中获取。根据实施方式的反馈信息可由包括在接收装置10005中的一个或更多个传感器确保。另外,根据实施方式,反馈信息可由渲染器10009或单独的外部元件(或装置、组件等)确保。图1中的虚线表示发送渲染器10009所确保的反馈信息的处理。点云内容提供系统可基于反馈信息来处理(编码/解码)点云数据。因此,点云视频数据解码器10008可基于反馈信息执行解码操作。接收装置10005可向发送装置发送反馈信息。发送装置(或点云视频数据编码器10002)可基于反馈信息执行编码操作。因此,点云内容提供系统可基于反馈信息有效地处理必要数据(例如,与用户头部位置对应的点云数据),而非处理(编码/解码)所有点云数据,并将点云内容提供给用户。
根据实施方式,发送装置10000可被称为编码器、发送装置、发送器等,接收装置10004可被称为解码器、接收装置、接收器等。
根据实施方式的图1的点云内容提供系统中处理的点云数据(通过获取/编码/传输/解码/渲染的一系列处理)可被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可用作涵盖与点云数据有关的元数据或信令信息的概念。
图1所示的点云内容提供系统的元件可由硬件、软件、处理器和/或其组合实现。
实施方式可提供一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶的各种服务的方法。
为了提供点云内容服务,可首先获取点云视频。所获取的点云视频可通过一系列处理发送,并且接收侧可将所接收的数据处理回到原始点云视频并渲染所处理的点云视频。由此,点云视频可被提供给用户。实施方式提供一种有效地执行这一系列处理的方法。
用于提供点云内容服务的所有处理(点云数据发送方法和/或点云数据接收方法)可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
根据实施方式,提供点云内容(或点云数据)的处理可被称为点云压缩处理。根据实施方式,点云压缩处理可表示基于几何的点云压缩处理。
根据实施方式的点云数据发送装置和点云数据接收装置的各个元件可以是硬件、软件、处理器和/或其组合。
为了提供点云内容服务,可获取点云视频。所获取的点云视频通过一系列处理发送,并且接收侧可将所接收的数据处理回到原始点云视频并渲染所处理的点云视频。由此,点云视频可被提供给用户。实施方式提供一种有效地执行这一系列处理的方法。
用于提供点云内容服务的所有处理可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
点云压缩系统可包括发送装置和接收装置。发送装置可通过对点云视频进行编码来输出比特流,并通过数字存储介质或网络将其以文件或流(流传输片段)的形式传送至接收装置。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。
发送装置可包括点云视频获取器、点云视频编码器、文件/片段封装器和发送器。接收装置可包括接收器、文件/片段解封装器、点云视频解码器和渲染器。编码器可被称为点云视频/画面/画面/帧编码器,解码器可被称为点云视频/画面/画面/帧解码装置。发送器可包括在点云视频编码器中。接收器可包括在点云视频解码器中。渲染器可包括显示器。渲染器和/或显示器可被配置成单独的装置或外部组件。发送装置和接收装置还可包括用于反馈处理的单独的内部或外部模块/单元/组件。
根据实施方式,接收装置的操作可以是发送装置的操作的逆处理。
点云视频获取器可通过捕获、编排或生成点云视频的处理来执行获取点云视频的处理。在获取处理中,可生成多个点的3D位置(x,y,z)/属性(颜色、反射率、透明度等)的数据,例如polygon文件格式(PLY)(或斯坦福三角形(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平面中的对应位置是否存在数据的二值图。占用图可表示与图集对应的2D阵列,并且占用图的值可指示图集中的各个样本位置是否对应于3D点。图集意指包括关于各个点云帧的2D补片的信息的对象。例如,图集可包括补片的2D布置和大小、3D点内的对应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空间中的六面体的各个平坦面的平面上的处理中使用边界框。边界框可由图1的点云视频获取器10000和点云视频编码器10002生成和处理。此外,基于边界框,可执行图2的V-PCC编码处理的补片生成40000、补片打包40001、几何图像生成40002和纹理图像生成40003。
与补片生成有关的分段
分段被分成两个处理:初始分段和细化分段。
根据实施方式的点云编码器10002将点投影到边界框的一个面上。具体地,构成点云的各个点被投影到围绕点云的边界框的六个面之一上。初始分段是确定各个点要投影至的边界框的平坦面之一的处理。
Figure BDA0003736181990000161
其是与六个平坦面中的每一个对应的法向值,如下定义:
(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 BDA0003736181990000162
Figure BDA0003736181990000163
的点积的值最大的面被确定为对应点的投影平面。即,法向量与点的法向量的方向最相似的平面被确定为点的投影平面。
Figure BDA0003736181990000164
所确定的平面可由一个集群索引(0至5之一)标识。
细化分段是考虑邻近点的投影平面增强在初始分段处理中确定的构成点云的各个点的投影平面的处理。在该处理中,得分法向和得分平滑可一起考虑,得分法向表示在初始分段处理中确定投影平面时考虑的各个点的法向量与边界框的各个平坦面的法向之间的相似度,得分平滑指示当前点的投影平面与邻近点的投影平面之间的相似度。
可通过向得分法向指派权重来考虑得分平滑。在这种情况下,权重值可由用户定义。细化分段可重复地执行,重复次数也可由用户定义。
与补片生成有关的补片分段
补片分段是基于在初始/细化分段处理中获得的关于构成点云的各个点的投影平面信息将整个点云分成补片(邻近点的集合)的处理。补片分段可包括以下步骤:
1)使用K-D树等计算构成点云的各个点的邻近点。最大邻居数量可由用户定义。
2)当邻近点被投影到与当前点相同的平面上时(当它们具有相同的集群索引时),提取当前点和邻近点作为一个补片。
3)计算所提取的补片的几何值。细节在第1.3节中描述。
4)重复操作2)至4),直至不存在未提取的点。
各个补片的占用图、几何图像和纹理图像以及各个补片的大小通过补片分段处理来确定。
图7示出根据实施方式的确定占用图上的各个补片位置的示例。
根据实施方式的点云编码器10002可执行补片打包并生成精度图。
补片打包和占用图生成(40001)
这是确定2D图像中的各个补片的位置以将分段的补片映射到2D图像的处理。作为一种2D图像,占用图是使用值0或1指示对应位置处是否存在数据的二值图。占用图由块组成,其分辨率可由块的大小确定。例如,当块为1*1块时,获得像素级分辨率。占用打包块大小可由用户确定。
确定占用图上的各个补片的位置的处理可配置如下:
1)将占用图上的所有位置设定为0;
2)将补片置于占用图平面中水平坐标在(0,occupancySizeU-patch.sizeU0)范围内并且垂直坐标在(0,occupancySizeV-patch.sizeV0)范围内的点(u,v)处;
3)将补片平面中水平坐标在(0,patch.sizeU0)范围内并且垂直坐标在(0,patch.sizeV0)范围内的点(x,y)设定为当前点;
4)按光栅顺序改变点(x,y)的位置,并且如果补片占用图上的坐标(x,y)的值为1(补片中的点处存在数据)并且全局占用图上的坐标(u+x,v+y)的值为1(以先前补片填充占用图),则重复操作3)和4)。否则,进行至操作6);
5)按光栅顺序改变(u,v)的位置并且重复操作3)至5);
6)将(u,v)确定为补片的位置并且将关于补片的占用图数据复制到全局占用图上的对应部分上;以及
7)针对下一补片重复操作2)至7)。
occupancySizeU:指示占用图的宽度。其单位是占用打包块大小。
occupancySizeV:指示占用图的高度。其单位是占用打包块大小。
patch.sizeU0:指示占用图的宽度。其单位是占用打包块大小。
patch.sizeV0:指示占用图的高度。其单位是占用打包块大小。
例如,如图7所示,在与占用打包大小块对应的框中存在与具有补片大小的补片对应的框,并且点(x,y)可位于该框中。
图8示出根据实施方式的法向轴、切向轴和双切轴之间的示例性关系。
根据实施方式的点云编码器10002可生成几何图像。几何图像是指包括关于点云的几何信息的图像数据。几何图像生成处理可采用图8中的补片的三个轴(法向、切向和双切)。
几何图像生成(40002)
在该处理中,确定构成各个补片的几何图像的深度值,并且整个几何图像基于在上述补片打包处理中确定的补片的位置来生成。确定构成各个补片的几何图像的深度值的处理可配置如下。
1)计算与各个补片的位置和大小有关的参数。参数可包括以下信息。
指示法向轴的法向索引在先前补片生成处理中获得。切向轴是垂直于法向轴的轴当中与补片图像的水平轴u一致的轴,双切轴是垂直于法向轴的轴当中与补片图像的垂直轴v一致的轴。三个轴可如图所示。
图9示出根据实施方式的投影模式的最小模式和最大模式的示例性配置。
根据实施方式的点云编码器10002可执行基于补片的投影以生成几何图像,并且根据实施方式的投影模式包括最小模式和最大模式。
可基于围绕补片的最小尺寸的边界框来计算补片的3D空间坐标。例如,3D空间坐标可包括补片的最小切向值(在补片3d移位切向轴上)、补片的最小双切值(在补片3d移位双切轴上)和补片的最小法向值(在补片3d移位法向轴上)。
补片的2D尺寸指示当补片被打包成2D图像时补片的水平尺寸和垂直尺寸。水平尺寸(补片2d尺寸u)可作为边界框的最大切向值和最小切向值之差获得,垂直尺寸(补片2d尺寸v)可作为边界框的最大双切值和最小双切值之差获得。
2)确定补片的投影模式。投影模式可以是最小模式或最大模式。关于补片的几何信息利用深度值表示。当构成补片的各个点在补片的法向上投影时,可生成两层图像,利用最大深度值构造的图像和利用最小深度值构造的图像。
在最小模式下,在生成两层图像d0和d1时,可为d0配置最小深度,并且可为d1配置从最小深度的表面厚度内的最大深度,如图所示。
例如,当点云如图中所示位于2D中时,可存在包括多个点的多个补片。如图中所示,指示以相同样式的阴影标记的点可属于同一补片。该图示出投影标记空白的点的补片的处理。
在将标记空白的点向左/右投影时,深度可相对于左侧增加1为0、1、2、…、6、7、8、9,并且用于计算点的深度的数可标记在右侧。
可对所有点云应用相同的投影模式,或者可根据用户定义对各个帧或补片应用不同的投影模式。当对各个帧或补片应用不同的投影模式时,可自适应地选择可增强压缩效率或使缺失的点最少的投影模式。
3)计算各个点的深度值。
在最小模式下,利用depth0构造图像d0,depth0是通过针对各个点的最小法向值从补片的最小法向值(在补片3d移位法向轴上)减去在操作1)中计算的补片的最小法向值(在补片3d移位法向轴上)而获得的值。如果在同一位置在depth0与表面厚度之间的范围内存在另一深度值,则该值被设定为depth1。否则,depth0的值被指派给depth1。利用depth1的值构造图像d1。
例如,可在确定图像d0的点的深度时计算最小值(4 2 4 4 0 6 0 0 9 9 0 8 0)。在确定图像d1的点的深度时,可计算两个或更多个点当中的较大值。当仅存在一个点时,可计算其值(4 4 4 4 6 6 6 8 9 9 8 8 9)。在编码和重构补片的点的处理中,一些点可能丢失(例如,在图中,八个点丢失)。
在最大模式下,利用depth0构造图像d0,depth0是通过针对各个点的最大法向值从补片的最小法向值(在补片3d移位法向轴上)减去在操作1)中计算的补片的最小法向值(在补片3d移位法向轴上)而获得的值。如果在同一位置在depth0与表面厚度之间的范围内存在另一深度值,则该值被设定为depth1。否则,depth0的值被指派给depth1。利用depth1的值构造图像d1。
例如,可在确定图像d0的点的深度时计算最大值(4 4 4 4 6 6 6 8 9 9 8 8 9)。另外,在确定图像d1的点的深度时,可计算两个或更多个点当中的较低值。当仅存在一个点时,可计算其值(4 2 4 4 5 6 0 6 9 9 0 8 0)。在编码和重构补片的点的处理中,一些点可能丢失(例如,在图中,六个点丢失)。
整个几何图像可通过基于在补片打包处理中确定的补片位置信息将通过上述处理生成的各个补片的几何图像放置到整个几何图像上来生成。
所生成的整个几何图像的层d1可使用各种方法来编码。第一方法(绝对d1方法)是对先前生成的图像d1的深度值进行编码。第二方法(差分方法)是对先前生成的图像d1的深度值与图像d0的深度值之差进行编码。
在如上所述使用两个层d0和d1的深度值的编码方法中,如果两个深度之间存在另一点,则在编码处理中丢失关于该点的几何信息,因此增强-增量-深度(EDD)码可用于无损编码。
以下,将参照图10详细描述EDD码。
图10示出根据实施方式的示例性EDD码。
在点云编码器10002和/或V-PCC编码(例如,视频压缩40009)的一些/所有处理中,关于点的几何信息可基于EOD码来编码。
如图所示,EDD码用于包括d1的表面厚度范围内的所有点的位置的二值编码。例如,在图中,由于在D0上的第一位置和第四位置处存在点并且第二位置和第三位置为空,所以包括在左侧第二列中的点可由EDD码0b1001(=9)表示。当EDD码与D0一起编码并发送时,接收终端可无损地恢复关于所有点的几何信息。
例如,当参考点上方存在点时,值为1。当不存在点时,值为0。因此,可基于4比特来表达码。
平滑(40004)
平滑是用于消除由于在压缩处理期间发生的图像质量劣化而可能出现在补片边界上的不连续的操作。可由点云编码器或平滑器执行平滑:
1)从几何图像重构点云。此操作可与上述几何图像生成相反;例如,可重构编码的逆处理。
2)使用K-D树等计算构成重构的点云的各个点的邻近点。
3)确定各个点是否位于补片边界上。例如,当存在具有与当前点不同的投影平面(集群索引)的邻近点时,可确定点位于补片边界上。
4)如果在补片边界上存在点,则使该点移动到邻近点的质心(位于邻近点的平均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 BDA0003736181990000221
图12示出根据实施方式的推拉式背景填充。
图像填充和组扩张(40006、40007、40008)
根据实施方式的图像填充器可基于推拉式背景填充技术利用无意义补充数据填充除了补片区域之外的空间。
图像填充是以无意义的数据填充补片区域以外的空间以改进压缩效率的处理。对于图像填充,可复制补片中靠近边界的列或行中的像素值以填充空白空间。另选地,如图所示,可使用推拉式背景填充方法。根据该方法,在逐渐降低非填充图像的分辨率并再次增加分辨率的处理中利用来自低分辨率图像的像素值填充空白空间。
组扩张是填充分别以两个层d0/d1和t0/t1配置的几何图像和纹理图像的空白空间的处理。在此处理中,利用同一位置的值的平均填充通过图像填充计算的两个层的空白空间。
图13示出根据实施方式的4*4块的示例性可能遍历顺序。
占用图压缩(40012、40011)
根据实施方式的占用图压缩器可压缩先前生成的占用图。具体地,可使用两个方法,即,用于有损压缩的视频压缩和用于无损压缩的熵压缩。下面描述视频压缩。
可通过以下操作执行熵压缩。
1)如果构成占用图的块被完全占用,则对1进行编码并针对占用图的下一块重复相同的操作。否则,对0进行编码并执行操作2)至5)。
2)确定对块的占用像素执行游程长度编码的最佳遍历顺序。图中示出4*4块的四个可能遍历顺序。
图14示出根据实施方式的示例性最佳遍历顺序。
如上所述,根据实施方式的熵压缩器可如上所述基于遍历顺序方案对块进行编码。
例如,从可能遍历顺序当中选择具有最小游程数量的最佳遍历顺序,并且对其索引进行编码。图中示出选择图13中的第三遍历顺序的情况。在所示情况下,游程数量可被最小化为2,因此第三遍历顺序可被选为最佳遍历顺序。
3)对游程数量进行编码。在图14的示例中,存在两个游程,因此对2进行编码。
4)对第一游程的占用进行编码。在图14的示例中,对0进行编码,因为第一游程对应于未占用像素。
5)对各个游程(游程数量那么多)的长度进行编码。在图14的示例中,依次对第一游程和第二游程的长度6和10进行编码。
视频压缩(40009、40010、40011)
根据实施方式的视频压缩器使用诸如HEVC或VVC的2D视频编解码器对在上述操作中生成的几何图像、纹理图像、占用图图像等的序列进行编码。
图15示出根据实施方式的示例性2D视频/图像编码器。
该图表示应用了上述视频压缩或视频压缩器40009、40010和40011的实施方式,是被配置为对视频/图像信号进行编码的2D视频/图像编码器15000的示意性框图。2D视频/图像编码器15000可包括在上述点云视频编码器中,或者可被配置成内部/外部组件。图15的各个组件可对应于软件、硬件、处理器和/或其组合。
这里,输入图像可包括上述几何图像、纹理图像(属性图像)和占用图图像。点云视频编码器的输出比特流(即,点云视频/图像比特流)可包括各个输入图像(即,几何图像、纹理图像(属性图像)、占用图图像等)的输出比特流。
帧间预测器15090和帧内预测器15100可被统称为预测器。即,预测器可包括帧间预测器15090和帧内预测器15100。变换器15030、量化器15040、逆量化器15050和逆变换器15060可包括在残差处理器中。残差处理器还可包括减法器15020。根据实施方式,上述图像分割器15010、减法器15020、变换器15030、量化器15040、逆量化器15050、逆变换器15060、加法器155、滤波器15070、帧间预测器15090、帧内预测器15100和熵编码器15110可由一个硬件组件(例如,编码器或处理器)配置。另外,存储器15080可包括解码画面缓冲器(DPB)并且可由数字存储介质配置。
图像分割器15010可将输入到编码器15000的图像(或者画面或帧)分割成一个或更多个处理单元。例如,处理单元可被称为编码单元(CU)。在这种情况下,CU可根据四叉树二叉树(QTBT)结构从编码树单元(CTU)或最大编码单元(LCU)递归地分割。例如,一个CU可基于四叉树结构和/或二叉树结构被分割为较低深度的多个CU。在这种情况下,例如,可首先应用四叉树结构,稍后可应用二叉树结构。另选地,可首先应用二叉树结构。根据本公开的编码处理可基于不再分割的最终CU来执行。在这种情况下,根据图像的特性基于编码效率,LCU可用作最终CU。必要时,CU可被递归地分割为较低深度的CU,并且最优大小的CU可用作最终CU。这里,编码处理可包括预测、变换和重构(将稍后描述)。作为另一示例,处理单元还可包括预测单元(PU)或变换单元(TU)。在这种情况下,PU和TU可从上述最终CU分割或划分。PU可以是样本预测的单元,TU可以是推导变换系数的单元和/或从变换系数推导残差信号的单元。
术语“单元”可与诸如块或区域的术语互换使用。在一般情况下,M×N块可表示以M列和N行配置的样本或变换系数的集合。样本通常可表示像素或像素值,并且可仅指示亮度分量的像素/像素值,或者仅指示色度分量的像素/像素值。“样本”可用作与一个画面(或图像)中的像素或画素对应的术语。
编码器15000可通过从输入图像信号(原始块或原始样本阵列)减去从帧间预测器15090或帧内预测器15100输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列),并且所生成的残差信号被发送到变换器15030。在这种情况下,如图所示,在编码器15000中从输入图像信号(原始块或原始样本阵列)减去预测信号(预测块或预测样本阵列)的单元可被称为减法器15020。预测器可对处理目标块(以下称为当前块)执行预测并且生成包括当前块的预测样本的预测块。预测器可基于当前块或CU确定是应用帧内预测还是帧间预测。如稍后将在各个预测模式的描述中描述的,预测器可生成关于预测的各种类型的信息(例如,预测模式信息),并将所生成的信息传送至熵编码器15110。关于预测的信息可由熵编码器15110编码并以比特流的形式输出。
帧内预测器15100可参考当前画面中的样本来预测当前块。根据预测模式,样本可邻近或远离当前块。在帧内预测下,预测模式可包括多个非定向模式和多个定向模式。非定向模式可包括例如DC模式和平面模式。根据预测方向的精细度,定向模式可包括例如33个定向预测模式或65个定向预测模式。然而,这仅是示例,可根据设置使用更多或更少的定向预测模式。帧内预测器15100可基于应用于邻近块的预测模式来确定要应用于当前块的预测模式。
帧间预测器15090可基于参考画面上运动向量所指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性基于每块、子块或样本来预测运动信息。运动信息可包括运动向量和参考画面索引。运动信息还可包括关于帧间预测方向(L0预测、L1预测、Bi预测等)的信息。在帧间预测的情况下,邻近块可包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。包括参考块的参考画面可与包括时间邻近块的参考画面相同或不同。时间邻近块可被称为并置参考块或并置CU(colCU),并且包括时间邻近块的参考画面可被称为并置画面(colPic)。例如,帧间预测器15090可基于邻近块来配置运动信息候选列表并且生成指示要用于推导当前块的运动向量和/或参考画面索引的候选的信息。可基于各种预测模式执行帧间预测。例如,在跳过模式和合并模式下,帧间预测器15090可使用关于邻近块的运动信息作为关于当前块的运动信息。在跳过模式下,与合并模式不同,可不发送残差信号。在运动向量预测(MVP)模式下,邻近块的运动向量可用作运动向量预测器,并且可用信号通知运动向量差以指示当前块的运动向量。
由帧间预测器15090或帧内预测器15100生成的预测信号可用于生成重构信号或生成残差信号。
变换器15030可通过对残差信号应用变换技术来生成变换系数。例如,变换技术可包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen–Loève变换(KLT)、基于图形的变换(GBT)或条件非线性变换(CNT)中的至少一个。这里,GBT是指从描绘像素之间的关系的图形获得的变换。CNT是指基于根据所有先前重构的像素生成的预测信号获得的变换。另外,变换操作可应用于具有相同大小的正方形像素块,或者可应用于具有正方形以外的可变大小的块。
量化器15040可将变换系数量化并将其发送到熵编码器15110。熵编码器15110可对量化的信号(关于量化的变换系数的信息)进行编码并输出编码的信号的比特流。关于量化的变换系数的信息可被称为残差信息。量化器15040可基于系数扫描顺序按照一维向量的形式重排块形式的量化的变换系数,并且基于一维向量形式的量化的变换系数来生成关于量化的变换系数的信息。熵编码器15110可采用诸如例如指数Golomb、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)的各种编码技术。熵编码器15110可与量化的变换系数一起或分开对视频/图像重构所需的信息(例如,句法元素的值)进行编码。编码的信息(例如,编码的视频/图像信息)可基于网络抽象层(NAL)单元以比特流的形式发送或存储。比特流可经由网络发送或者可被存储在数字存储介质中。这里,网络可包括广播网络和/或通信网络,并且数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。发送从熵编码器15110输出的信号的发送器(未示出)和/或存储该信号的存储部(未示出)可被配置成编码器15000的内部/外部元件。另选地,发送器可被包括在熵编码器15110中。
从量化器15040输出的量化的变换系数可用于生成预测信号。例如,可通过逆量化器15050和逆变换器15060对量化的变换系数应用逆量化和逆变换,以重构残差信号(残差块或残差样本)。加法器155将重构的残差信号与从帧间预测器15090或帧内预测器15100输出的预测信号相加。由此,可生成重构信号(重构画面、重构块、重构样本阵列)。当如应用跳过模式的情况中一样不存在处理目标块的残差信号时,预测块可用作重构块。加法器155可被称为重构器或重构块生成器。如下所述,所生成的重构信号可用于当前画面中的下一处理目标块的帧内预测,或者可通过滤波用于下一画面的帧间预测。
滤波器15070可通过对重构信号应用滤波来改进主观/客观图像质量。例如,滤波器15070可通过对重构画面应用各种滤波技术来生成修改的重构画面,并且修改的重构画面可被存储在存储器15080(具体地,存储器15080的DPB)中。例如,各种滤波技术可包括去块滤波、样本自适应偏移、自适应环路滤波和双边滤波。如下面在滤波技术的描述中描述的,滤波器15070可生成关于滤波的各种类型的信息并且将所生成的信息传送至熵编码器15110。关于滤波的信息可由熵编码器15110编码并以比特流的形式输出。
发送到存储器15080的修改的重构画面可由帧间预测器15090用作参考画面。因此,当应用帧间预测时,编码器可避免编码器15000与解码器之间的预测失配并且改进编码效率。
存储器15080的DPB可存储修改的重构画面以由帧间预测器15090用作参考画面。存储器15080可存储关于推导(或编码)当前画面中的运动信息的块的运动信息和/或关于画面中已经重构的块的运动信息。所存储的运动信息可被传送到帧间预测器15090以用作关于空间邻近块的运动信息或关于时间邻近块的运动信息。存储器15080可存储当前画面中的重构块的重构样本并将重构样本传送至帧内预测器15100。
可跳过上述预测、变换和量化过程中的至少一个。例如,对于应用了脉冲编码模式(PCM)的块,可跳过预测、变换和量化过程,并且原始样本的值可被编码并以比特流的形式输出。
图16示出根据实施方式的示例性V-PCC解码处理。
V-PCC解码处理或V-PCC解码器可遵循图4的V-PCC编码处理(或编码器)的逆处理。图16中的各个组件可对应于软件、硬件、处理器和/或其组合。
解复用器16000将压缩的比特流解复用,以输出压缩的纹理图像、压缩的几何图像、压缩的占用图和压缩的辅助补片信息。
视频解压缩或视频解压缩器16001、16002将压缩的纹理图像和压缩的几何图像中的每一个解压缩(或解码)。
占用图解压缩或占用图解压缩器16003将压缩的占用图解压缩。
辅助补片信息解压缩或辅助补片信息解压缩器16004将辅助补片信息解压缩。
几何重构或几何重构器16005基于解压缩的几何图像、解压缩的占用图和/或解压缩的辅助补片信息来恢复(重构)几何信息。例如,在编码处理中改变的几何可被重构。
平滑或平滑器16006可对重构的几何应用平滑。例如,可应用平滑滤波。
纹理重构或纹理重构器16007从解压缩的纹理图像和/或平滑的几何重构纹理。
颜色平滑或颜色平滑器16008从重构的纹理平滑颜色值。例如,可应用平滑滤波。
结果,可生成重构的点云数据。
图中示出通过对压缩的占用图、几何图像、纹理图像和辅助补片信息进行解码来重构点云的V-PCC的解码处理。根据实施方式的各个处理如下操作。
视频解压缩(1600、16002)
视频解压缩是上述视频压缩的逆处理。在视频解压缩中,使用诸如HEVC或VVC的2D视频编解码器来将包含在上述处理中生成的几何图像、纹理图像和占用图图像的压缩比特流解码。
图17示出根据实施方式的示例性2D视频/图像解码器。
2D视频/图像解码器可遵循图15的2D视频/图像编码器的逆处理。
图17的2D视频/图像解码器是图16的视频解压缩或视频解压缩器。图17是执行视频/图像信号的解码的2D视频/图像解码器17000的示意性框图。2D视频/图像解码器17000可被包括在图1的点云视频解码器中,或者可被配置成内部/外部组件。图17中的各个组件可对应于软件、硬件、处理器和/或其组合。
这里,输入比特流可包括上述几何图像、纹理图像(属性图像)和占用图图像的比特流。重构的图像(或者输出图像或解码的图像)可表示上述几何图像、纹理图像(属性图像)和占用图图像的重构图像。
参照该图,帧间预测器17070和帧内预测器17080可被统称为预测器。即,预测器可包括帧间预测器17070和帧内预测器17080。逆量化器17020和逆变换器17030可被统称为残差处理器。即,根据实施方式,残差处理器可包括逆量化器17020和逆变换器17030。上述熵解码器17010、逆量化器17020、逆变换器17030、加法器17040、滤波器17050、帧间预测器17070和帧内预测器17080可由一个硬件组件(例如,解码器或处理器)配置。另外,存储器170可包括解码画面缓冲器(DPB)或者可由数字存储介质配置。
当输入包含视频/图像信息的比特流时,解码器17000可在与图0.2-1的编码器处理视频/图像信息的处理对应的处理中重构图像。例如,解码器17000可使用编码器中应用的处理单元来执行解码。因此,解码的处理单元可以是例如CU。CU可沿着四叉树结构和/或二叉树结构从CTU或LCU分割。然后,可通过播放器播放通过解码器17000解码和输出的重构的视频信号。
解码器17000可接收从编码器以比特流的形式输出的信号,并且所接收的信号可通过熵解码器17010解码。例如,熵解码器17010可解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。例如,熵解码器17010可基于诸如指数Golomb编码、CAVLC或CABAC的编码技术对比特流中的信息进行解码,输出图像重构所需的句法元素和残差的变换系数的量化值。更具体地,在CABAC熵解码中,可接收与比特流中的各个句法元素对应的信元(bin),并且可基于解码目标句法元素信息以及关于邻近解码目标块的解码信息或关于在先前步骤中解码的符号/信元的信息来确定上下文模型。然后,可根据所确定的上下文模型来预测信元出现的概率,并且可执行信元的算术解码以生成与各个句法元素的值对应的符号。根据CABAC熵解码,在确定上下文模型之后,可基于关于为下一符号/信元的上下文模型解码的符号/信元的信息来更新上下文模型。熵解码器17010所解码的信息中关于预测的信息可被提供给预测器(帧间预测器17070和帧内预测器17080),并且已由熵解码器17010执行了熵解码的残差值(即,量化的变换系数和相关参数信息)可被输入到逆量化器17020。另外,熵解码器17010所解码的信息中关于滤波的信息可被提供给滤波器17050。被配置为接收从编码器输出的信号的接收器(未示出)还可被配置成解码器17000的内部/外部元件。另选地,接收器可以是熵解码器17010的组件。
逆量化器17020可通过将量化的变换系数逆量化来输出变换系数。逆量化器17020可按二维块的形式重排量化的变换系数。在这种情况下,可基于编码器所实现的系数扫描顺序来执行重排。逆量化器17020可使用量化参数(例如,量化步长信息)对量化的变换系数执行逆量化并且获取变换系数。
逆变换器17030通过对变换系数进行逆变换来获取残差信号(残差块和残差样本阵列)。
预测器可对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可基于从熵解码器17010输出的关于预测的信息来确定对当前块应用帧内预测还是帧间预测,并且可确定特定帧内/帧间预测模式。
帧内预测器265可参考当前画面中的样本来预测当前块。根据预测模式,样本可邻近或远离当前块。在帧内预测中,预测模式可包括多个非定向模式和多个定向模式。帧内预测器17080可使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器17070可基于参考画面上运动向量所指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性基于每块、子块或样本来预测运动信息。运动信息可包括运动向量和参考画面索引。运动信息还可包括关于帧间预测方向(L0预测、L1预测、Bi预测等)的信息。在帧间预测的情况下,邻近块可包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。例如,帧间预测器17070可基于邻近块来配置运动信息候选列表,并且基于所接收的候选选择信息来推导当前块的运动向量和/或参考画面索引。可基于各种预测模式来执行帧间预测。关于预测的信息可包括指示当前块的帧间预测模式的信息。
加法器17040可将所获取的残差信号与从帧间预测器17070或帧内预测器17080输出的预测信号(预测块或预测样本阵列)相加,从而生成重构信号(重构画面、重构块或重构样本阵列)。当如应用跳过模式的情况中一样不存在用于处理目标块的残差信号时,预测块可用作重构块。
加法器17040可被称为重构器或重构块生成器。所生成的重构信号可用于当前画面中的下一处理目标块的帧内预测,或者可如下所述通过滤波用于下一画面的帧间预测。
滤波器17050可通过对重构信号应用滤波来改进主观/客观图像质量。例如,滤波器17050可通过对重构画面应用各种滤波技术来生成修改的重构画面,并且可将修改的重构画面发送到存储器250(具体地,存储器17060的DPB)。例如,各种滤波方法可包括去块滤波、样本自适应偏移、自适应环路滤波和双边滤波。
存储在存储器17060的DPB中的重构画面可用作帧间预测器17070中的参考画面。存储器17060可存储关于当前画面中推导(或解码)运动信息的块的运动信息和/或关于已经重构的画面中的块的运动信息。所存储的运动信息可被传送至帧间预测器17070以用作关于空间邻近块的运动信息或关于时间邻近块的运动信息。存储器17060可存储当前画面中的重构块的重构样本并将重构样本传送至帧内预测器17080。
在本公开中,关于编码器100的滤波器160、帧间预测器180和帧内预测器185描述的实施方式可分别以相同或对应的方式应用于解码器17000的滤波器17050、帧间预测器17070和帧内预测器17080。
可跳过上述预测、变换和量化过程中的至少一个。例如,对于应用了脉冲编码模式(PCM)的块,可跳过预测、变换和量化过程,并且解码的样本的值可用作重构图像的样本。
占用图解压缩(16003)
这是上述占用图压缩的逆处理。占用图解压缩是通过将占用图比特流解压缩来重构占用图的处理。
辅助补片信息解压缩(16004)
可通过执行上述辅助补片信息压缩的逆处理并解码压缩的辅助补片信息比特流来重构辅助补片信息。
几何重构(16005)
这是上述几何图像生成的逆处理。最初,使用重构的占用图、包括在辅助补片信息中的关于补片的2D位置/尺寸信息以及关于块和补片之间的映射的信息从几何图像提取补片。然后,基于所提取的补片的几何图像和包括在辅助补片信息中的关于补片的3D位置信息在3D空间中重构点云。当与补片内的点(u,v)对应的几何值为g(u,v),并且在3D空间的法向轴、切向轴和双切轴上补片的位置坐标为(d0,s0,r0)时,映射到点(u,v)的位置在3D空间中的法向、切向和双切坐标d(u,v)、s(u,v)和r(u,v)可表示如下:
δ(u,v)=δ0+g(u,v)
s(u,v)=s0+u
r(u,v)=r0+v。
平滑(16006)
与上述编码处理中的平滑相同,平滑是用于消除由于在压缩处理期间发生的图像质量劣化而可能出现在补片边界上的不连续的处理。
纹理重构(16007)
纹理重构是通过向构成平滑的点云的各个点指派颜色值来重构颜色点云的处理。这可通过基于上述几何重构处理中关于几何图像和点云的映射信息向点云中与3D空间中的相同位置对应的点指派与2D空间中的几何图像中相同的位置处的纹理图像像素所对应的颜色值来执行。
颜色平滑(16008)
颜色平滑类似于上述几何平滑的处理。颜色平滑是用于消除由于在压缩处理期间发生的图像质量劣化而可能出现在补片边界上的不连续的处理。颜色平滑可通过以下操作执行:
1)使用K-D树等计算构成重构的点云的各个点的邻近点。可使用在第2.5节中描述的几何平滑处理中计算的邻近点信息。
2)确定各个点是否位于补片边界上。这些操作可基于在上述几何平滑处理中计算的边界信息来执行。
3)检查存在于边界上的点的邻近点的颜色值的分布并且确定是否要执行平滑。例如,当亮度值的熵小于或等于阈值局部条目(存在许多相似的亮度值)时,可确定对应部分不是边缘部分,并且可执行平滑。作为平滑方法,点的颜色值可被替换为邻近点的颜色值的平均。
图18是示出根据本公开的实施方式的发送装置的操作的流程图。
根据实施方式的发送装置可对应于图1的发送装置、图4的编码处理和图15的2D视频/图像编码器,或者执行其一些/所有操作。发送装置的各个组件可对应于软件、硬件、处理器和/或其组合。
发送终端使用V-PCC压缩和传输点云数据的操作处理可如图所示执行。
根据实施方式的点云数据发送装置可被称为发送装置。
关于补片生成器18000,生成用于点云的2D图像映射的补片。作为补片生成的结果生成辅助补片信息。所生成的信息可在几何图像生成、纹理图像生成和用于平滑的几何重构的处理中使用。
关于补片打包器18001,执行将所生成的补片映射到2D图像中的补片打包处理。作为补片打包的结果,可生成占用图。占用图可在几何图像生成、纹理图像生成和用于平滑的几何重构的处理中使用。
几何图像生成器18002基于辅助补片信息和占用图来生成几何图像。所生成的几何图像通过视频编码被编码为一个比特流。
编码预处理器18003可包括图像填充处理。通过将所生成的几何图像或编码的几何比特流解码而重新生成的几何图像可用于3D几何重构,然后经受平滑处理。
纹理图像生成器18004可基于(平滑的)3D几何、点云、辅助补片信息和占用图来生成纹理图像。所生成的纹理图像可被编码为一个视频比特流。
元数据编码器18005可将辅助补片信息编码为一个元数据比特流。
视频编码器18006可将占用图编码为一个视频比特流。
复用器18007可将所生成的几何图像、纹理图像和占用图的视频比特流和辅助补片信息的元数据比特流复用为一个比特流。
发送器18008可将比特流发送到接收终端。另选地,所生成的几何图像、纹理图像和占用图的视频比特流和辅助补片信息的元数据比特流可被处理成一个或更多个轨道数据的文件或被封装成片段,并且可通过发送器发送到接收终端。
图19是示出根据实施方式的接收装置的操作的流程图。
根据实施方式的接收装置可对应于图1的接收装置、图16的解码处理和图17的2D视频/图像编码器,或者执行其一些/所有操作。接收装置的各个组件可对应于软件、硬件、处理器和/或其组合。
接收终端使用V-PCC接收和重构点云数据的操作可如图所示执行。V-PCC接收终端的操作可遵循图18的V-PCC发送终端的操作的逆处理。
根据实施方式的点云数据接收装置可被称为接收装置。
所接收的点云的比特流在文件/片段解封装之后被解复用器19000解复用为压缩的几何图像、纹理图像、占用图的视频比特流和辅助补片信息的元数据比特流。视频解码器19001和元数据解码器19002对解复用的视频比特流和元数据比特流进行解码。3D几何由几何重构器19003基于解码的几何图像、占用图和辅助补片信息重构,然后经受平滑器19004执行的平滑处理。可由纹理重构器19005通过基于纹理图像向平滑的3D几何指派颜色值来重构颜色点云图像/画面。此后,可另外执行颜色平滑处理以改进主观/客观视觉质量,并且通过颜色平滑处理推导的修改的点云图像/画面通过渲染处理(通过例如点云渲染器)被显示给用户。在一些情况下,可跳过颜色平滑处理。
图20示出根据实施方式的用于点云数据的基于V-PCC的存储和流传输的示例性架构。
图20的系统的部分/全部可包括图1的发送装置和接收装置、图4的编码处理、图15的2D视频/图像编码器、图16的解码处理、图18的发送装置和/或图19的接收装置中的一些或全部。图中的各个组件可对应于软件、硬件、处理器和/或其组合。
图20至图22是示出系统另外连接到根据实施方式的发送装置和接收装置的结构的图。根据实施方式的系统的发送装置和接收装置可被称为根据实施方式的发送/接收设备。
在图20至图22所示的根据实施方式的设备中,与图18对应的发送装置等可生成适合于用于传输包含编码的点云数据的比特流的数据格式的容器。
根据实施方式的V-PCC系统可创建包括点云数据的容器,并且还可将有效发送/接收所需的附加数据添加到容器。
根据实施方式的接收装置可基于图20至图22所示的系统来接收和解析容器。与图19对应的接收装置等可从解析的比特流解码并恢复点云数据。
图中示出用于存储或流传输根据基于视频的点云压缩(V-PCC)压缩的点云数据的总体架构。存储和流传输点云数据的处理可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
实施方式提出了一种有效地提供点云媒体/内容/数据的方法。
为了有效地提供点云媒体/内容/数据,点云获取器20000可获取点云视频。例如,一个或更多个相机可通过捕获、编排或生成点云来获取点云数据。通过该获取处理,可获取包括各个点的3D位置(可由x、y和z位置值等表示)(以下称为几何)和各个点的属性(颜色、反射率、透明度等)的点云视频。例如,可生成包含点云视频的Polygon文件格式(PLY)(或斯坦福三角形格式)文件等。对于具有多个帧的点云数据,可获取一个或更多个文件。在此处理中,可生成点云相关元数据(例如,与捕获有关的元数据等)。
对于捕获的点云视频可能需要用于改进内容的质量的后处理。在视频捕获处理中,可在相机设备所提供的范围内调节最大/最小深度。即使在调节之后,仍可能存在不想要区域的点数据。因此,可执行去除不想要区域(例如,背景)或识别连接的空间并填充空间孔洞的后处理。另外,从共享空间坐标系的相机提取的点云可通过基于通过校准处理获取的各个相机的位置坐标将各个点变换到全局坐标系的处理被整合为一条内容。由此,可获取具有高密度点的点云视频。
点云预处理器20001可生成点云视频的一个或更多个画面/帧。这里,画面/帧通常可表示以特定时间间隔表示一个图像的单元。当构成点云视频的点被分成一个或更多个补片(构成点云视频的点的集合,其中,属于同一补片的点在3D空间中彼此相邻并且在映射到2D图像时在6面边界框的平坦面之间在相同方向上映射)并映射到2D平面时,可生成二值图的占用图画面/帧,其以值0或1指示2D平面中的对应位置处是否存在数据。另外,可生成逐补片表示关于构成点云视频的各个点的位置(几何)的信息的深度图形式的几何画面/帧。可生成逐补片表示关于构成点云视频的各个点的颜色信息的纹理画面/帧。在此处理中,可生成从各个补片重构点云所需的元数据。元数据可包括关于补片的信息,例如各个补片在2D/3D空间中的位置和大小。这些画面/帧可按时间顺序连续地生成以构造视频流或元数据流。
点云视频编码器20002可对与点云视频有关的一个或更多个视频流进行编码。一个视频可包括多个帧,并且一个帧可对应于静止图像/画面。在本公开中,点云视频可包括点云图像/帧/画面,并且术语“点云视频”可与点云视频/帧/画面互换使用。点云视频编码器可执行基于视频的点云压缩(V-PCC)处理。为了压缩和编码效率,点云视频编码器可执行诸如预测、变换、量化和熵编码的一系列处理。编码的数据(编码的视频/图像信息)可按比特流的形式输出。基于V-PCC处理,如下所述,点云视频编码器可通过将点云视频分成几何视频、属性视频、占用图视频和元数据(例如,关于补片的信息)来对点云视频进行编码。几何视频可包括几何图像,属性视频可包括属性图像,占用图视频可包括占用图图像。作为辅助信息的补片数据可包括补片相关信息。属性视频/图像可包括纹理视频/图像。
点云图像编码器20003可对与点云视频有关的一个或更多个图像进行编码。点云图像编码器可执行基于视频的点云压缩(V-PCC)处理。为了压缩和编码效率,点云图像编码器可执行诸如预测、变换、量化和熵编码的一系列处理。编码的图像可按比特流的形式输出。基于V-PCC处理,如下所述,点云图像编码器可通过将点云图像分成几何图像、属性图像、占用图图像和元数据(例如,关于补片的信息)来对点云图像进行编码。
根据实施方式的点云视频编码器和/或点云图像编码器可根据实施方式生成PCC比特流(G-PCC和/或V-PCC比特流)。
根据实施方式,视频编码器2002、图像编码器20002、视频解码20006和图像解码可如上所述由一个编码器/解码器执行,并且可如图所示沿着单独的路径执行。
在文件/片段封装20004中,可将编码的点云数据和/或点云相关元数据封装为文件或片段以用于流传输。这里,点云相关元数据可接收自元数据处理器等。元数据处理器可包括在点云视频/图像编码器中,或者可被配置成单独的组件/模块。封装处理器可按诸如ISOBMFF的文件格式或按DASH片段等形式封装对应视频/图像/元数据。根据实施方式,封装处理器可包括文件格式的点云元数据。点云相关元数据可包括在例如ISOBMFF文件格式的各种级别的框中,或作为文件内的单独轨道中的数据。根据实施方式,封装处理器可将点云相关元数据封装成文件。
根据实施方式的封装或封装器可将G-PCC/V-PCC比特流分成一个或多个轨道并将其存储在文件中,并且还可封装用于该操作的信令信息。另外,包括在G-PCC/V-PCC比特流中的图集流可作为轨道存储在文件中,并且可存储相关信令信息。此外,存在于G-PCC/V-PCC比特流中的SEI消息可存储在文件中的轨道中,并且可存储相关信令信息。
发送处理器可根据文件格式来执行封装的点云数据的传输处理。发送处理器可包括在发送器中,或者可被配置成单独的组件/模块。发送处理器可根据传输协议处理点云数据。传输处理可包括经由广播网络传送的处理和通过宽带传送的处理。根据实施方式,发送处理器可从元数据处理器接收点云相关元数据以及点云数据,并且执行点云视频数据的传输处理。
发送器可经由数字存储介质或网络将点云比特流或包括比特流的文件/片段发送到接收装置的接收器。为了传输,可执行根据任何传输协议的处理。为传输而处理的数据可经由广播网络和/或通过宽带传送。数据可按照按需方式传送至接收侧。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。发送器可包括用于生成预定文件格式的媒体文件的元件,并且可包括用于经由广播/通信网络传输的元件。接收器可提取比特流并将提取的比特流发送到解码器。
接收器可接收根据本公开的点云数据发送装置所发送的点云数据。根据传输信道,接收器可经由广播网络或通过宽带接收点云数据。另选地,可通过数字存储介质接收点云数据。接收器可包括将所接收的数据解码并根据用户的视口渲染数据的处理。
接收处理器可根据传输协议对所接收的点云视频数据执行处理。接收处理器可包括在接收器中,或者可被配置成单独的组件/模块。接收处理器可相反地执行上述发送处理器的处理,以与在发送侧执行的传输处理对应。接收处理器可将获取的点云视频传送至解封装处理器,并将获取的点云相关元数据传送至元数据解析器。
解封装处理器(文件/片段解封装)20005可将以文件的形式从接收处理器接收的点云数据解封装。解封装处理器可根据ISOBMFF等对文件进行解封装,并且可获取点云比特流或点云相关元数据(或单独的元数据比特流)。所获取的点云比特流可被传送至点云解码器,所获取的点云视频相关元数据(元数据比特流)可被传送至元数据处理器。点云比特流可包括元数据(元数据比特流)。元数据处理器可包括在点云解码器中,或者可被配置成单独的组件/模块。解封装处理器所获取的点云视频相关元数据可采取文件格式中的框或轨道的形式。必要时,解封装处理器可从元数据处理器接收解封装所需的元数据。点云相关元数据可被传送至点云解码器并在点云解码处理中使用,或者可被传送至渲染器并在点云渲染处理中使用。
点云视频解码器20006可接收比特流并通过执行与点云视频编码器的操作对应的操作来对视频/图像进行解码。在这种情况下,如下所述,点云视频解码器可通过将点云视频分成几何视频、属性视频、占用图视频和辅助补片信息来将点云视频解码。几何视频可包括几何图像,属性视频可包括属性图像,占用图视频可包括占用图图像。辅助信息可包括辅助补片信息。属性视频/图像可包括纹理视频/图像。
3D几何可基于解码的几何图像、占用图和辅助补片信息来重构,然后可经受平滑处理。可通过基于纹理图像向平滑的3D几何指派颜色值来重构颜色点云图像/画面。渲染器可渲染重构的几何和颜色点云图像/画面。渲染的视频/图像可通过显示器显示。渲染结果的全部或部分可通过VR/AR显示器或典型显示器显示给用户。
传感器/跟踪器(感测/跟踪)20007从用户或接收侧获取取向信息和/或用户视口信息并将取向信息和/或用户视口信息传送至接收器和/或发送器。取向信息可表示关于用户头部的位置、角度、移动等的信息,或者表示关于用户正通过其观看视频/图像的装置的位置、角度、移动等的信息。基于该信息,可计算关于3D空间中用户当前观看的区域的信息(即,视口信息)。
视口信息可以是关于3D空间中用户当前通过装置或HMD观看的区域的信息。诸如显示器的装置可基于取向信息、装置所支持的垂直或水平FOV等提取视口区域。可在接收侧提取或计算取向或视口信息。在接收侧分析的取向或视口信息可在反馈信道上发送至发送侧。
基于传感器/跟踪器获取的取向信息和/或指示用户当前观看的区域的视口信息,接收器可有效地从文件仅提取或解码特定区域(即,取向信息和/或视口信息所指示的区域)的媒体数据。另外,基于传感器/跟踪器所获取的取向信息和/或视口信息,发送器可有效地仅对特定区域(即,取向信息和/或视口信息所指示的区域)的媒体数据进行编码,或者生成并发送其文件。
渲染器可在3D空间中渲染解码的点云数据。渲染的视频/图像可通过显示器显示。用户可通过VR/AR显示器或典型显示器来观看渲染结果的全部或部分。
反馈处理可包括将可在渲染/显示处理中获取的各种反馈信息传送至发送侧或接收侧的解码器。通过反馈处理,可在消费点云数据时提供交互性。根据实施方式,头部取向信息、指示用户当前观看的区域的视口信息等可在反馈处理中被传送至发送侧。根据实施方式,用户可与在VR/AR/MR/自主驾驶环境中实现的内容交互。在这种情况下,与交互有关的信息可在反馈处理中被传送至发送侧或服务提供商。根据实施方式,可跳过反馈处理。
根据实施方式,上述反馈信息可不仅被发送至发送侧,而且在接收侧处消费。即,接收侧的解封装处理、解码和渲染处理可基于上述反馈信息来执行。例如,可基于取向信息和/或视口信息优先解封装、解码和渲染关于用户当前观看的区域的点云数据。
根据实施方式的发送点云数据的方法可包括:对点云数据进行编码;封装点云数据;以及发送点云数据。
根据实施方式的接收点云数据的方法可包括:接收点云数据;将点云数据解封装;以及对点云数据进行解码。
图21是根据实施方式的用于存储和发送点云数据的装置的示例性框图。
图21示出根据实施方式的点云系统。系统的部分/全部可包括图1的发送装置和接收装置、图4的编码处理、图15的2D视频/图像编码器、图16的解码处理、图18的发送装置和/或图19的接收装置中的一些或全部。另外,其可包括或对应于图20的系统的部分/全部。
根据实施方式的点云数据发送装置可如图所示配置。发送装置的各个元件可以是模块/单元/组件/硬件/软件/处理器。
点云的几何、属性、辅助数据和网格数据可各自被配置成单独的流或存储在文件中的不同轨道中。此外,它们可被包括在单独的片段中。
点云获取器(点云获取)21000获取点云。例如,一个或更多个相机可通过捕获、编排或生成点云来获取点云数据。通过该获取处理,可获取包括各个点的3D位置(可由x、y和z位置值等表示)(以下称为几何)和各个点的属性(颜色、反射率、透明度等)的点云数据。例如,可生成包括点云数据的Polygon文件格式(PLY)(或斯坦福三角形格式)文件等。对于具有多个帧的点云数据,可获取一个或更多个文件。在此处理中,可生成点云相关元数据(例如,与捕获有关的元数据等)。
补片生成器(或补片生成)21002从点云数据生成补片。补片生成器将点云数据或点云视频生成为一个或更多个画面/帧。画面/帧通常可表示以特定时间间隔表示一个图像的单元。当构成点云视频的点被分成一个或更多个补片(构成点云视频的点的集合,其中,属于同一补片的点在3D空间中彼此相邻并且在映射到2D图像时在6面边界框的平坦面之间在相同方向上映射)并映射到2D平面时,可生成二值图的占用图画面/帧,其以0或1指示2D平面中的对应位置处是否存在数据。另外,可生成逐补片表示关于构成点云视频的各个点的位置(几何)的信息的深度图形式的几何画面/帧。可生成逐补片表示关于构成点云视频的各个点的颜色信息的纹理画面/帧。在此处理中,可生成从各个补片重构点云所需的元数据。元数据可包括关于补片的信息,例如各个补片在2D/3D空间中的位置和大小。这些画面/帧可按时间顺序连续地生成以构造视频流或元数据流。
另外,补片可用于2D图像映射。例如,点云数据可被投影到立方体的各个面上。在补片生成之后,可基于所生成的补片来生成几何图像、一个或更多个属性图像、占用图、辅助数据和/或网格数据。
几何图像生成、属性图像生成、占用图生成、辅助数据生成和/或网格数据生成由预处理器或控制器执行。
在几何图像生成21002中,基于补片生成的结果来生成几何图像。几何表示3D空间中的点。使用占用图来生成几何图像,其包括与补片的2D图像打包有关的信息、辅助数据(补片数据)和/或基于补片的网格数据。几何图像与诸如在补片生成之后生成的补片的深度(例如,近、远)的信息有关。
在属性图像生成21003中,生成属性图像。例如,属性可表示纹理。纹理可以是与各个点匹配的颜色值。根据实施方式,可生成包括纹理的多个属性(例如,颜色和反射率)(N个属性)的图像。多个属性可包括材料信息和反射率。根据实施方式,属性可另外包括指示颜色的信息,其即使对于相同的纹理也可根据视角和光而变化。
在占用图生成21004中,从补片生成占用图。占用图包括指示像素(例如,对应几何或属性图像)中是否存在数据的信息。
在辅助数据生成21005中,生成包括关于补片的信息的辅助数据。即,辅助数据表示关于点云对象的补片的元数据。例如,其可表示诸如补片的法向量的信息。具体地,辅助数据可包括从补片重构点云所需的信息(例如,关于补片在2D/3D空间中的位置、大小等的信息以及投影(正常)平面标识信息、补片映射信息等)。
在网格数据生成21006中,从补片生成网格数据。网格表示邻近点之间的连接。例如,其可表示三角形形状的数据。例如,网格数据是指点之间的连接性。
点云预处理器或控制器生成与补片生成、几何图像生成、属性图像生成、占用图生成、辅助数据生成和网格数据生成有关的元数据。
点云发送装置响应于预处理器所生成的结果而执行视频编码和/或图像编码。点云发送装置可生成点云图像数据以及点云视频数据。根据实施方式,点云数据可仅具有视频数据,仅具有图像数据,和/或具有视频数据和图像数据二者。
视频编码器21007执行几何视频压缩、属性视频压缩、占用图压缩、辅助数据压缩和/或网格数据压缩。视频编码器生成包含编码的视频数据的视频流。
具体地,在几何视频压缩中,点云几何视频数据被编码。在属性视频压缩中,点云的属性视频数据被编码。在辅助数据压缩中,与点云视频数据关联的辅助数据被编码。在网格数据压缩中,点云视频数据的网格数据被编码。点云视频编码器的各个操作可并行执行。
图像编码器21008执行几何图像压缩、属性图像压缩、占用图压缩、辅助数据压缩和/或网格数据压缩。图像编码器生成包含编码的图像数据的图像。
具体地,在几何图像压缩中,点云几何图像数据被编码。在属性图像压缩中,点云的属性图像数据被编码。在辅助数据压缩中,与点云图像数据关联的辅助数据被编码。在网格数据压缩中,与点云图像数据关联的网格数据被编码。点云图像编码器的各个操作可并行执行。
视频编码器和/或图像编码器可从预处理器接收元数据。视频编码器和/或图像编码器可基于元数据来执行各个编码处理。
文件/片段封装器(文件/片段封装)21009以文件和/或片段的形式封装视频流和/或图像。文件/片段封装器执行视频轨道封装、元数据轨道封装和/或图像封装。
在视频轨道封装中,一个或更多个视频流可被封装到一个或更多个轨道。
在元数据轨道封装中,与视频流和/或图像有关的元数据可被封装在一个或更多个轨道中。元数据包括与点云数据的内容有关的数据。例如,其可包括初始观看取向元数据。根据实施方式,元数据可被封装到元数据轨道,或者可被一起封装在视频轨道或图像轨道中。
在图像封装中,一个或更多个图像可被封装到一个或更多个轨道或项目中。
例如,根据实施方式,当四个视频流和两个图像被输入到封装器时,四个视频流和两个图像可被封装在一个文件中。
根据实施方式的点云视频编码器和/或点云图像编码器可根据实施方式生成G-PCC/V-PCC比特流。
文件/片段封装器可从预处理器接收元数据。文件/片段封装器可基于元数据来执行封装。
通过文件/片段封装生成的文件和/或片段由点云发送装置或发送器发送。例如,片段可根据基于DASH的协议来传送。
根据实施方式的封装或封装器可将V-PCC比特流分成一个或多个轨道并将其存储在文件中,并且还可封装用于该操作的信令信息。另外,包括在V-PCC比特流上的图集流可作为轨道存储在文件中,并且可存储相关信令信息。此外,存在于V-PCC比特流中的SEI消息可存储在文件中的轨道中,并且可存储相关信令信息。
发送器可经由数字存储介质或网络将点云比特流或包括比特流的文件/片段发送到接收装置的接收器。为了传输,可执行根据任何传输协议的处理。为传输已处理的数据可经由广播网络和/或通过宽带传送。数据可按照按需方式传送至接收侧。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。传送器可包括用于生成预定文件格式的媒体文件的元件,并且可包括用于经由广播/通信网络传输的元件。传送器从接收器接收取向信息和/或视口信息。传送器可将所获取的取向信息和/或视口信息(或用户所选择的信息)传送至预处理器、视频编码器、图像编码器、文件/片段封装器和/或点云编码器。基于取向信息和/或视口信息,点云编码器可对所有点云数据或取向信息和/或视口信息所指示的点云数据进行编码。基于取向信息和/或视口信息,文件/片段封装器可对所有点云数据或取向信息和/或视口信息所指示的点云数据进行封装。基于取向信息和/或视口信息,传送器可传送所有点云数据或取向信息和/或视口信息所指示的点云数据。
例如,预处理器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。视频编码器和/或图像编码器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。文件/片段封装器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。发送器可对所有点云数据或对取向信息和/或视口信息所指示的点云数据执行上述操作。
图22是根据实施方式的点云数据接收装置的示例性框图。
图22示出根据实施方式的点云系统。系统的部分/全部可包括图1的发送装置和接收装置、图4的编码处理、图15的2D视频/图像编码器、图16的解码处理、图18的发送装置和/或图19的接收装置中的一些或全部。另外,其可包括或对应于图20和图21的系统的部分/全部。
接收装置的各个组件可以是模块/单元/组件/硬件/软件/处理器。传送客户端可接收包括根据实施方式的点云数据发送装置所发送的比特流的点云数据、点云比特流或文件/片段。根据用于传输的信道,接收器可经由广播网络或通过宽带接收点云数据。另选地,可通过数字存储介质接收点云视频数据。接收器可包括将所接收的数据解码并根据用户视口渲染所接收的数据的处理。接收处理器可根据传输协议对所接收的点云数据执行处理。接收处理器可包括在接收器中,或者被配置成单独的组件/模块。接收处理器可相反地执行上述发送处理器的处理,以与发送侧执行的传输处理对应。接收处理器可将所获取的点云数据传送至解封装处理器并将所获取的点云相关元数据传送至元数据解析器。
传感器/跟踪器(感测/跟踪)获取取向信息和/或视口信息。传感器/跟踪器可将所获取的取向信息和/或视口信息传送至传送客户端、文件/片段解封装器和点云解码器。
传送客户端可基于取向信息和/或视口信息来接收所有点云数据或取向信息和/或视口信息所指示的点云数据。文件/片段解封装器可基于取向信息和/或视口信息将所有点云数据或取向信息和/或视口信息所指示的点云数据解封装。点云解码器(视频解码器和/或图像解码器)可基于取向信息和/或视口信息将所有点云数据或取向信息和/或视口信息所指示的点云数据解码。点云处理器可基于取向信息和/或视口信息来处理所有点云数据或取向信息和/或视口信息所指示的点云数据。
文件/片段解封装器(文件/片段解封装)22000执行视频轨道解封装、元数据轨道解封装和/或图像解封装。解封装处理器(文件/片段解封装)可将从接收处理器以文件的形式接收的点云数据解封装。解封装处理器(文件/片段解封装)可根据ISOBMFF等对文件或片段进行解封装,以获取点云比特流或点云相关元数据(或单独的元数据比特流)。所获取的点云比特流可被传送至点云解码器,所获取的点云相关元数据(或元数据比特流)可被传送至元数据处理器。点云比特流可包括元数据(元数据比特流)。元数据处理器可包括在点云视频解码器中,或者可被配置成单独的组件/模块。解封装处理器所获取的点云相关元数据可采取文件格式中的框或轨道的形式。必要时,解封装处理器可从元数据处理器接收解封装所需的元数据。点云相关元数据可被传送至点云解码器并在点云解码处理中使用,或者可被传送至渲染器并在点云渲染处理中使用。文件/片段解封装器可生成与点云数据有关的元数据。
在视频轨道解封装中,包含在文件和/或片段中的视频轨道被解封装。包括几何视频、属性视频、占用图、辅助数据和/或网格数据的视频流被解封装。
在元数据轨道解封装中,包含与点云数据和/或辅助数据有关的元数据的比特流被解封装。
在图像解封装中,包括几何图像、属性图像、占用图、辅助数据和/或网格数据的图像被解封装。
根据实施方式的解封装或解封装器可基于文件中的一个或更多个轨道来划分和解析(解封装)G-PCC/V-PCC比特流,并且还可解封装其信令信息。另外,包括在G-PCC/V-PCC比特流中的图集流可基于文件中的轨道来解封装,并且可解析相关信令信息。此外,存在于G-PCC/V-PCC比特流中的SEI消息可基于文件中的轨道来解封装,并且还可获取相关信令信息。
视频解码或视频解码器22001执行几何视频解压缩、属性视频解压缩、占用图解压缩、辅助数据解压缩和/或网格数据解压缩。视频解码器在与根据实施方式的点云发送装置的视频编码器所执行的处理对应的处理中对几何视频、属性视频、辅助数据和/或网格数据进行解码。
图像解码或图像解码器22002执行几何图像解压缩、属性图像解压缩、占用图解压缩、辅助数据解压缩和/或网格数据解压缩。图像解码器在与根据实施方式的点云发送装置的图像编码器所执行的处理对应的处理中对几何图像、属性图像、辅助数据和/或网格数据进行解码。
根据实施方式的视频解码和图像解码可如上所述由一个视频/图像解码器处理,并且可如图中所示沿着单独的路径执行。
视频解码和/或图像解码可生成与视频数据和/或图像数据有关的元数据。
根据实施方式的点云视频编码器和/或点云图像编码器可根据实施方式对G-PCC/V-PCC比特流进行解码。
在点云处理22003中,执行几何重构和/或属性重构。
在几何重构中,基于占用图、辅助数据和/或网格数据从解码的视频数据和/或解码的图像数据重构几何视频和/或几何图像。
在属性重构中,基于占用图、辅助数据和/或网格数据从解码的属性视频和/或解码的属性图像重构属性视频和/或属性图像。根据实施方式,例如,属性可以是纹理。根据实施方式,属性可表示多条属性信息。当存在多个属性时,根据实施方式的点云处理器执行多个属性重构。
点云处理器可从视频解码器、图像解码器和/或文件/片段解封装器接收元数据,并且基于元数据来处理点云。
点云渲染或点云渲染器渲染重构的点云。点云渲染器可从视频解码器、图像解码器和/或文件/片段解封装器接收元数据,并且基于元数据来渲染点云。
显示器将渲染结果实际显示在显示器上。
如图15至图19所示,在根据实施方式的方法/装置如图15至图19所示对点云数据进行编码/解码之后,包含点云数据的比特流可按文件和/或片段的形式封装和/或解封装。
例如,根据实施方式的点云数据装置可基于文件将点云数据封装。文件可包括包含点云的参数的V-PCC轨道、包含几何的几何轨道、包含属性的属性轨道以及包含占用图的占用轨道。
另外,根据实施方式的点云数据接收装置基于文件将点云数据解封装。文件可包括包含点云的参数的V-PCC轨道、包含几何的几何轨道、包含属性的属性轨道以及包含占用图的占用轨道。
上述操作可由图20的文件/片段封装器20004、20005、图21的文件/片段封装器21009和图22的文件/片段封装器22000执行。
图23示出可结合根据实施方式的点云数据发送/接收方法/装置操作的示例性结构。
在根据实施方式的结构中,服务器2360、机器人2310、自驾驶车辆2320、XR装置2330、智能电话2340、家用电器2350和/或头戴式显示器(HMD)2370中的至少一个连接到云网络2300。这里,机器人2310、自驾驶车辆2320、XR装置2330、智能电话2340或家用电器2350可被称为装置。另外,XR装置1730可对应于根据实施方式的点云数据(PCC)装置,或者可在操作上连接到PCC装置。
云网络2300可表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络2300可使用3G网络、4G或长期演进(LTE)网络或5G网络来配置。
服务器2360可经由云网络2300连接到机器人2310、自驾驶车辆2320、XR装置2330、智能电话2340、家用电器2350和/或HMD 2370中的至少一个,并且可辅助所连接的装置2310至2370的至少一部分处理。
HMD 2370表示根据实施方式的XR装置和/或PCC装置的实现类型之一。根据实施方式的HMD型装置包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
以下,将描述应用了上述技术的装置2310至2350的各种实施方式。图23所示的装置2310至2350可在操作上连接/联接到根据上述实施方式的点云数据发送和接收装置。
<PCC+XR>
XR/PCC装置2330可采用PCC技术和/或XR(AR+VR)技术,并且可被实现为HMD、设置在车辆中的平视显示器(HUD)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。
XR/PCC装置2330可分析通过各种传感器或从外部装置获取的3D点云数据或图像数据并且生成关于3D点的位置数据和属性数据。由此,XR/PCC装置2330可获取关于周围空间或真实对象的信息,并且渲染和输出XR对象。例如,XR/PCC装置2330可使包括关于所识别的对象的辅助信息的XR对象与所识别的对象匹配并输出匹配的XR对象。
<PCC+XR+移动电话>
XR/PCC装置2330可通过应用PCC技术被实现为移动电话2340。
移动电话2340可基于PCC技术来解码和显示点云内容。
<PCC+自驾驶+XR>
自驾驶车辆2320可通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用了XR/PCC技术的自驾驶车辆2320可表示设置有用于提供XR图像的手段的自主车辆,或者作为XR图像中的控制/交互目标的自主车辆。具体地,作为XR图像中的控制/交互目标的自驾驶车辆2320可与XR装置2330相区分并且可操作上与之连接。
具有用于提供XR/PCC图像的手段的自驾驶车辆2320可从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的XR/PCC图像。例如,自驾驶车辆可具有HUD并向其输出XR/PCC图像以向乘客提供与真实对象或存在于画面上的对象对应的XR/PCC对象。
在这种情况下,当XR/PCC对象被输出到HUD时,XR/PCC对象的至少一部分可被输出以与乘客眼睛所指向的真实对象交叠。另一方面,当XR/PCC对象输出在自驾驶车辆内部提供的显示器上时,XR/PCC对象的至少一部分可被输出以与画面上的对象交叠。例如,自驾驶车辆可输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的XR/PCC对象。
根据实施方式的虚拟现实(VR)技术、增强现实(AR)技术、混合现实(MR)技术和/或点云压缩(PCC)技术适用于各种装置。
换言之,VR技术是仅提供真实世界对象、背景等作为CG图像的显示器技术。另一方面,AR技术是指显示在真实对象图像上虚拟创建的CG图像的技术。MR技术与上述AR技术的相似之处在于,要显示的虚拟对象与真实世界混合并组合。然而,MR技术不同于AR技术,AR技术在真实对象与作为CG图像创建的虚拟对象之间进行清楚的区分并且使用虚拟对象作为真实对象的补充对象,而MR技术将虚拟对象当作具有与真实对象相同特性的对象。更具体地,MR技术应用的示例是全息服务。
最近,VR、AR和MR技术通常被称为扩展现实(XR)技术,而非彼此清楚地区分。因此,本公开的实施方式适用于所有VR、AR、MR和XR技术。对于这些技术,可应用基于PCC、V-PCC和G-PCC技术的编码/解码。
根据实施方式的PCC方法/装置可应用于提供自驾驶服务的车辆。
提供自驾驶服务的车辆连接到PCC装置以进行有线/无线通信。
当根据实施方式的点云数据发送和接收装置(PCC装置)连接到车辆以进行有线/无线通信时,装置可接收并处理与可与自驾驶服务一起提供的AR/VR/PCC服务有关的内容数据并且将处理的内容数据发送到车辆。在点云数据发送和接收装置被安装在车辆上的情况下,点云发送和接收装置可根据通过用户接口装置输入的用户输入信号来接收并处理与AR/VR/PCC服务有关的内容数据并且将处理的内容数据提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可包括指示自驾驶服务的信号。
根据实施方式的发送装置是被配置为发送点云数据的装置,根据实施方式的接收装置是被配置为接收点云数据的装置。
根据实施方式的方法/装置表示根据实施方式的用于发送和接收点云数据的方法/装置、包括在发送装置/接收装置中的点云编码器和解码器、被配置为生成和解析数据以发送和接收点云数据的装置、处理器和/或与之对应的方法。
根据实施方式的点云数据发送装置可包括点云数据编码器以及被配置为发送点云数据的发送器。点云数据发送装置还可包括能够以用于有效传输的格式配置点云数据的点云数据封装器。被配置为压缩点云数据的编码器以及被配置为执行封装以用于传输的封装器可被统称为点云数据系统。在本说明书中,上述组件可被简称为根据实施方式的方法/装置。
根据实施方式的点云数据接收装置可包括点云数据解码器以及被配置为接收点云数据的接收器。点云数据接收装置还可包括解封装器,其被配置为以用于点云数据的有效接收的格式从数据结构解析点云数据。被配置为恢复点云数据的解码器以及被配置为执行解封装以用于接收/解析的解封装器可被统称为点云数据系统。在本说明书中,上述组件可被简称为根据实施方式的方法/装置。
本说明书中描述的基于视频的点云压缩(V-PCC)与基于视觉体积视频的编码(V3C)相同。根据实施方式的术语V-PCC和V3C可互换使用,并且可具有相同的含义。
根据实施方式的方法/装置可生成用于动态点云对象的文件格式并且提供其信令方法(动态点云对象的文件封装)。
图24示出根据实施方式的封装V-PCC数据容器的结构。
图25示出根据实施方式的封装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解码以恢复点云数据。
图24和图25示出根据ISOBMFF文件格式的点云数据容器的结构。
图24和图25示出用于基于多个轨道传送点云的容器的结构。
根据实施方式的方法/装置可基于多个轨道发送/接收包括点云数据以及与点云数据有关的附加数据的容器文件。
轨道1 24000是属性轨道,并且可包含如图1、图4、图15、图18等中所示编码的属性数据24040。
轨道2 24010是占用轨道,并且可包含如图1、图4、图15、图18等中所示编码的几何数据24050。
轨道3 24020是几何轨道,并且可包含如图1、图4、图15、图18等中所示编码的占用数据24060。
轨道4 24030是v-pcc(v3c)轨道,并且可包含包括与点云数据有关的数据的图集比特流27070。
各个轨道由样本条目和样本组成。样本是与帧对应的单元。为了对第N帧进行解码,需要与第N帧对应的样本或样本条目。样本条目可包含描述样本的信息。
图25是图24的详细结构图。
v3c轨道25000对应于轨道4 24030。包含在v3c轨道25000中的数据可具有称为框的数据容器的格式。v3c轨道25000包含关于V3C组件轨道25010至25030的参考信息。
根据实施方式的接收方法/装置可接收如图25所示包含点云数据的容器(可称为文件)并且解析V3C轨道,并且可基于包含在V3C轨道中的参考信息来解码并恢复占用数据、几何数据和属性数据。
占用轨道25010对应于轨道2 24010并且包含占用数据。几何轨道25020对应于轨道3 24020并且包含几何数据。属性轨道25030对应于轨道1 24000并且包含属性数据。
以下,将详细描述图24和图25的文件中所包括的数据结构的句法。
图26示出根据实施方式的包含点云数据的比特流的结构。
图26示出根据实施方式的包含要编码或解码的点云数据的比特流的结构,如参照图24和图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生成如图24和图25所示的文件。
根据实施方式的方法/装置接收如图24和图25所示的文件并且通过解封装器22000等对点云数据进行解码。
VPS 26020和/或AD 26030被封装在轨道4(V3C轨道)24030中。
OVD 26040被封装在轨道2(占用轨道)24010中。
GVD 26050被封装在轨道3(几何轨道)24020中。
AVD 26060被封装在轨道1(属性轨道)24000中。
图27示出根据实施方式的样本流V-PCC单元的配置。
图27的比特流27000对应于图26的比特流26000。
与根据实施方式的点云数据有关的比特流27000中所包含的样本流V-PCC单元可包括V-PCC单元大小27010和V-PCC单元27020。
各个缩写定义如下:VPS(V-PCC参数集);AD(图集数据);OVD(占用视频数据);GVD(几何视频数据);AVD(属性视频数据)。
各个V-PCC单元27020可包括V-PCC单元头27030和V-PCC单元有效载荷27040。V-PCC单元头27030可描述V-PCC单元类型。属性视频数据的V-PCC单元头可描述属性类型、其索引、所支持的相同属性类型的多个实例等。
占用、几何和属性视频数据的单元有效载荷27050、27060和27070可对应于视频数据单元。例如,占用视频数据、几何视频数据和属性视频数据27050、27060和27070可以是HEVC NAL单元。这种视频数据可由根据实施方式的视频解码器解码。
图28示出根据实施方式的V-PCC单元和V-PCC单元头。
图28示出上面参照图27描述的V-PCC单元27020和V-PCC单元头27030的句法。
根据实施方式的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单元27020的类型。
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编码点。
图29示出根据实施方式的V-PCC单元的有效载荷。
图29示出V-PCC单元有效载荷27040的句法。
当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()。
图30示出根据实施方式的V-PCC参数集。
图30示出当根据实施方式的比特流的单元27020的有效载荷27040包含如图27至图29所示的参数集时参数集的句法。
profile_tier_level()指定对比特流的限制,因此对将比特流解码所需的能力的限制。配置文件、层级和级别也可用于指示各个解码器实现之间的互操作点。
vps_vpcc_parameter_set_id可提供V-PCC VPS的标识符以供其它句法元素参考。
vps_atlas_count_minus1加1指示当前比特流中所支持的图集的总数。
根据图集的数量,以下参数可进一步包括在参数集中。
vps_frame_width[j]依据索引j的图集的整数亮度样本指示V-PCC帧宽度。该帧宽度是与索引j的图集的所有V-PCC组件关联的标称宽度。
vps_frame_height[j]依据索引j的图集的整数亮度样本指示V-PCC帧高度。该帧高度是与索引j的图集的所有V-PCC组件关联的标称高度。
vps_map_count_minus1[j]加1指示用于对索引j的图集的几何和属性数据进行编码的图的数量。
当vps_map_count_minus1[j]大于0时,以下参数可进一步包括在参数集中。
根据vps_map_count_minus1[j]的值,以下参数可进一步包括在参数集中。
vps_multiple_map_streams_present_flag[j]等于0指示索引j的图集的所有几何或属性图分别被放置在单个几何或属性视频流中。vps_multiple_map_streams_present_flag[j]等于1指示索引j的图集的所有几何或属性图被放置在单独的视频流中。
如果vps_multiple_map_streams_present_flag[j]指示1,则vps_map_absolute_coding_enabled_flag[j][i]可进一步包括在参数集中。否则,vps_map_absolute_coding_enabled_flag[j][i]可具有值1。
vps_map_absolute_coding_enabled_flag[j][i]等于1指示索引j的图集的索引i的几何图在没有任何形式的图预测的情况下被编码。vps_map_absolute_coding_enabled_flag[j][i]等于0指示索引j的图集的索引i的几何图在编码之前首先从另一较早编码的图预测。
vps_map_absolute_coding_enabled_flag[j][0]等于1指示索引0的几何图在没有图预测的情况下被编码。
如果vps_map_absolute_coding_enabled_flag[j][i]为0并且i大于0,则vps_map_predictor_index_diff[j][i]可进一步包括在参数集中。否则,vps_map_predictor_index_diff[j][i]可为0。
当vps_map_absolute_coding_enabled_flag[j][i]等于0时,vps_map_predictor_index_diff[j][i]用于计算索引j的图集的索引i的几何图的预测子。
vps_auxiliary_video_present_flag[j]等于1指示索引j的图集的辅助信息(即,RAW或EOM补片数据)可被存储在单独的视频流(称为辅助视频流)中。vps_auxiliary_video_present_flag[j]等于0指示索引j的图集的辅助信息不存储在单独的视频流中。
occupancy_information()包括占用视频相关信息。
geometry_information()包括几何视频相关信息。
attribute_information()包括属性视频相关信息。
vps_extension_present_flag等于1指定句法元素vps_extension_length存在于vpcc_parameter_set句法结构中。vps_extension_present_flag等于0指定句法元素vps_extension_length不存在。
vps_extension_length_minus1加1指定跟随该句法元素之后的vps_extension_data_byte元素的数量。
根据vps_extension_length_minus1,扩展数据可进一步包括在参数集中。
vps_extension_data_byte可具有任何值。
图31示出根据实施方式的拼块。
图31示出包括由图1的编码器10002、图4的编码器、图15的编码器、图18的发送装置、图20和图21的系统等编码的拼块的图集帧。该图示出包括由图1的解码器10008、图16和图17的解码器、图19的接收装置、图23的系统等解码的拼块的图集帧。
图集帧可被分成一个或更多个拼块行和一个或更多个拼块列。拼块是图集帧中的矩形区域。拼块组包括图集帧的多个拼块。拼块和拼块组可彼此不区分,拼块组可对应于一个拼块。可仅支持矩形拼块组。在此模式下,拼块组(或拼块)可共同包括图集帧的矩形区域中图集帧的多个拼块。图31示出根据实施方式的图集帧的拼块或拼块组划分。图31示出包括24个拼块(6个拼块列和4个拼块行)和9个矩形拼块组的图集帧。根据实施方式,拼块组可用作与拼块对应的术语,而不在拼块组和拼块之间进行区分。
即,根据实施方式,拼块组31000可对应于拼块31010,并且可被称为拼块31010。另外,拼块31010可对应于拼块分区,并且可被称为拼块分区。信令信息的名称也可根据互补对应关系而改变。
图32示出根据实施方式的图集比特流的结构。
图32示出图27的比特流27000的单元27020的有效载荷27040承载图集子比特流32000的示例。
承载图集子比特流的V-PCC单元的V-PCC单元有效载荷可包括一个或更多个样本流NAL单元32010。
根据实施方式的图集子比特流32000可包括样本流NAL头32020和一个或更多个样本流NAL单元32010。
样本流NAL头32020可包括ssnh_unit_size_precision_bytes_minus1。ssnh_unit_size_precision_bytes_minus1 1加1指定所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(字节)。ssnh_unit_size_precision_bytes_minus1可在0至7的范围内。
样本流NAL单元32010可包括ssnu_nal_unit_size。
ssnu_nal_unit_size指定后续NAL_unit的大小(字节)。用于表示ssnu_nal_unit_size的比特数可等于(ssnh_unit_size_precision_bytes_minus1+1)*8。
图33示出根据实施方式的NAL单元。
图33示出图32的NAL单元的句法。
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单元的时间标识符。
图34示出根据实施方式的NAL单元的类型。
图34示出图32的样本流NAL单元32010的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。
图35示出根据实施方式的图集序列参数集。
图35示出当NAL单元类型是图集序列参数时NAL单元中所包括的RBSP数据结构的句法。
各个样本流NAL单元可包含图集参数集(例如,ASPS、AAPS或AFPS)、一个或更多个图集拼块组和SEI之一。
ASPS可包含应用于由各个拼块组头中找到的句法元素所参考的ASPS中找到的句法元素的内容确定的零个或更多个完整编码图集序列(CAS)的句法元素。
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大于0时,在图集拼块组(拼块)头中可包括atgh_ref_atlas_frame_list_sps_flag。
当asps_num_ref_atlas_frame_lists_in_asps大于1时,在图集拼块组(拼块)头中可包括atgh_ref_atlas_frame_list_idx。
对于NumLtrAtlasFrmEntries的各个值,在图集拼块组(拼块)头中可包括atgh_additional_afoc_lsb_present_flag[j]。
在图集序列参数集中可包括与ASPS参考图集帧列表的数量(asps_num_ref_atlas_frame_lists_in_asps)一样多的ref_list_struct(i)。
asps_use_eight_orientations_flag等于0指定索引i的帧中索引j的补片的补片取向索引pdu_orientation_index[i][j]在0至1(含)的范围内。asps_use_eight_orientations_flag等于1指定索引i的帧中索引j的补片的补片取向索引pdu_orientation_index[i][j]在0至7(含)的范围内。
asps_extended_projection_enabled_flag等于0指定对于当前图集拼块组不用信号通知补片投影信息。asps_extended_projection_enabled_flag等于1指定对于当前图集拼块组用信号通知补片投影信息。
当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_eom_patch_enabled_flag等于1指示当前图集的解码占用图视频包含与两个深度图之间的中间深度位置是否被占用有关的信息。asps_eom_patch_enabled_flag等于0指示解码占用图视频不包含与两个深度图之间的中间深度位置是否被占用有关的信息。
asps_raw_patch_enabled_flag等于1指示当前图集的解码几何和属性视频包含与RAW编码点有关的信息。asps_raw_patch_enabled_flag等于0指示解码几何和属性视频不包含与RAW编码点有关的信息。
当asps_eom_patch_enabled_flag或asps_raw_patch_enabled_flag等于1时,asps_auxiliary_video_enabled_flag可包括在图集序列参数集句法中。
asps_auxiliary_video_enabled_flag等于1指示与RAW和EOM补片类型关联的信息可被放置在辅助视频子比特流中。asps_auxiliary_video_enabled_flag等于0指示与RAW和EOM补片类型关联的信息可仅被放置在主视频子比特流中。
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_pixel_deinterleaving_enabled_flag等于1指示当前图集的解码几何和属性视频包含空间交织的像素。asps_pixel_deinterleaving_flag等于0指示与当前图集对应的解码几何和属性视频仅包含来自单个图的像素。
asps_pixel_deinterleaving_map_flag[i]等于1指示与当前图集中索引i的图对应的解码几何和属性视频包含与两个图对应的空间交织的像素。asps_pixel_deinterleaving_map_flag[i]等于0指示与当前图集中索引i的图对应的解码几何和属性视频包含与单个图对应的像素。
当asps_pixel_deinterleaving_map_flag[i]等于1时,根据asps_map_count_minus1的值在图集序列参数集中可承载asps_pixel_deinterleaving_map_flag[i]。
当asps_eom_patch_enabled_flag和asps_map_count_minus1等于1时,在图集序列参数集中可承载asps_eom_fix_bit_count_minus1。
asps_eom_fix_bit_count_minus1加1指示EOM码字的大小(比特)。
当asps_pixel_deinterleaving_enabled_flag或asps_point_local_reconstruction_enabled_flag等于1时,可在图集序列参数集中承载asps_surface_thickness_minus1。
当asps_pixel_deinterleaving_enabled_flag或asps_point_local_reconstruction_enabled_flag等于1时,asps_surface_thickness_minus1加1指定明确编码深度值和插值深度值之间的最大绝对差。
asps_vui_parameters_present_flag等于1指定存在vui_parameters()句法结构。asps_vui_parameters_present_flag等于0指定vui_parameters()句法结构不存在。
asps_extension_flag等于0指定ASPS RBSP句法结构中不存在asps_extension_data_flag句法元素。
asps_extension_data_flag指示ASPS RBSP句法结构中包括用于扩展的数据。
rbsp_trailing_bits用于在添加1(停止比特)以指示RBSP数据的结尾之后用0填充剩余比特以进行字节对齐。
图36示出根据实施方式的图集帧参数集。
图36示出如图34所示当NAL单元类型是NAL_AFPS时包含在NAL单元中的图集帧参数集的句法。
图集帧参数集(AFPS)包含包括应用于所有零个或更多个完整编码图集帧的句法元素的句法结构。
afps_atlas_frame_parameter_set_id标识图集帧参数集以供其它句法元素参考。其它句法元素可参考的标识符可通过AFPS图集帧参数集提供。
afps_atlas_sequence_parameter_set_id指定活动图集序列参数集的asps_atlas_sequence_parameter_set_id的值。
atlas_frame_tile_information()将参照图35描述。
afps_output_flag_present_flag等于1指示在关联的拼块组头中存在atgh_frame_output_flag或ath_frame_output_flag句法元素。afps_output_flag_present_flag等于0指示在关联的拼块组头中不存在atgh_frame_output_flag或ath_frame_output_flag句法元素。
afps_num_ref_idx_default_active_minus1加1指定atgh_num_ref_idx_active_override_flag等于0的拼块组的变量NumRefIdxActive的推断值。
afps_additional_lt_afoc_lsb_len指定用于参考图集帧的解码处理的变量MaxLtAtlasFrmOrderCntLsb的值。
afps_3d_pos_x_bit_count_minus1加1指定参考afps_atlas_frame_parameter_set_id的图集拼块组中索引j的补片的pdu_3d_pos_x[j]的固定长度表示的比特数。
afps_3d_pos_y_bit_count_minus1加1指定参考afps_atlas_frame_parameter_set_id的图集拼块组中索引j的补片的pdu_3d_pos_y[j]的固定长度表示的比特数。
afps_lod_mode_enabled_flag等于1指示补片中可存在LOD参数。afps_lod_mode_enabled_flag等于0指示补片中不存在LOD参数。
afps_override_eom_for_depth_flag等于1指示比特流中明确存在afps_eom_number_of_patch_bit_count_minus1和afps_eom_max_bit_count_minus1的值。afps_override_eom_for_depth_flag等于0指示隐含推导afps_eom_number_of_patch_bit_count_minus1和afps_eom_max_bit_count_minus1的值。
afps_eom_number_of_patch_bit_count_minus1加1指定用于表示与该图集帧参数集关联的图集帧中EOM属性补片中关联的几何补片的数量的比特数。
afps_eom_max_bit_count_minus1加1指定用于表示与该图集帧参数集关联的图集帧中与EOM属性补片关联的每几何补片的EOM点的数量的比特数。
afps_raw_3d_pos_bit_count_explicit_mode_flag等于1指示rpdu_3d_pos_x、rpdu_3d_pos_y和rpdu_3d_pos_z的固定长度表示的比特数由参考afps_atlas_frame_parameter_set_id的图集拼块组头中的atgh_raw_3d_pos_axis_bit_count_minus1明确编码。afps_raw_3d_pos_bit_count_explicit_mode_flag等于0指示隐含推导atgh_raw_3d_pos_axis_bit_count_minus1的值。
当afps_raw_3d_pos_bit_count_explicit_mode_flag等于1时,atgh_raw_3d_pos_axis_bit_count_minus1可包括在图集拼块组(或拼块)头中。
afps_extension_flag等于0指定在AFPS RBSP句法结构中不存在afps_extension_data_flag句法元素。
afps_extension_data_flag可包含扩展相关数据。
图37示出根据实施方式的atlas_frame_tile_information。
图37示出包括在图36中的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等于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_tile_row_height_minus1[i]加1以64个样本为单位指定第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等于0时,在图集帧拼块信息中承载afti_num_tile_groups_in_atlas_frame_minus1。根据afti_num_tile_groups_in_atlas_frame_minus1,可在图集帧拼块信息中承载afti_top_left_tile_idx[i]和afti_bottom_right_tile_idx_delta[i]。
afti_num_tile_groups_in_atlas_frame_minus1加1指定参考AFPS的各个图集帧中的拼块组的数量。
afti_top_left_tile_idx[i]指定位于第i拼块组的左上角的拼块的拼块索引。
afti_bottom_right_tile_idx_delta[i]指定位于第i拼块组的右下角的拼块的拼块索引与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]。
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比特。
图38示出根据实施方式的图集适配参数集(atlas_adaptation_parameter_set_rbsp())。
图38示出当NAL单元类型是NAL_AAPS时NAL单元所承载的图集适配参数集的句法。
AAPS RBSP包括一个或更多个编码图集帧的编码拼块组(或拼块)NAL单元可参考的参数。在解码处理的操作期间在任何给定时刻至多一个AAPS RBSP被认为是活动的,并且任何特定AAPS RBSP的启用导致先前活动的AAPS RBSP的停用。
aaps_atlas_adaptation_parameter_set_id标识图集适配参数集以供其它句法元素参考。
aaps_atlas_sequence_parameter_set_id指定活动图集序列参数集的asps_atlas_sequence_parameter_set_id的值。
aaps_camera_parameters_present_flag等于1指定在当前图集适配参数集中存在相机参数。aaps_camera_parameters_present_flag等于0指定不存在当前适配参数集的相机参数。
aaps_extension_flag等于0指定在AAPS RBSP句法结构中不存在aaps_extension_data_flag句法元素。
aaps_extension_data_flag可包含扩展相关数据。
图39示出根据实施方式的atlas_camera_parameters。
图39示出图38的atlas_camera_parameters的详细句法。
acp_camera_model指示与当前适配参数集关联的点云帧的相机模型。
例如,acp_camera_model等于0指示相机模型未指定。
acp_camera_model等于1指示相机模型是正交相机模型。
当acp_camera_model为2-255时,可预留相机模型。
当acp_camera_model等于1时,与缩放、偏移和旋转有关的以下元素可包括在图集相机参数中。
acp_scale_enabled_flag等于1指示存在当前相机模型的缩放参数。acp_scale_enabled_flag等于0指示不存在当前相机模型的缩放参数。
当acp_scale_enabled_flag等于1时,对于d的各个值在图集相机参数中可包括acp_scale_on_axis[d]。
acp_offset_enabled_flag等于1指示存在当前相机模型的偏移参数。acp_offset_enabled_flag等于0指示不存在当前相机模型的偏移参数。
当acp_offset_enabled_flag等于1时,对于d的各个值在图集相机参数中可包括acp_offset_on_axis[d]元素。
acp_rotation_enabled_flag等于1指示存在当前相机模型的旋转参数。acp_rotation_enabled_flag等于0指示不存在当前相机模型的旋转参数。
acp_scale_on_axis[d]指定当前相机模型沿着d轴的缩放Scale[d]的值。d的值可在0至2(含)的范围内,其中值0、1和2分别与X、Y和Z轴对应。
acp_offset_on_axis[d]指示当前相机模型沿着d轴的偏移Offset[d]的值,其中d可在0至2(含)的范围内。d的值等于0、1和2可分别与X、Y和Z轴对应。
当acp_rotation_enabled_flag等于1时,以下旋转值可包括在图集相机参数中。
acp_rotation_qx使用四元数表示指定当前相机模型的旋转的x分量qX。
acp_rotation_qy使用四元数表示指定当前相机模型的旋转的y分量qY。
acp_rotation_qz使用四元数表示指定当前相机模型的旋转的z分量qZ。
图40示出根据实施方式的atlas_tile_group_layer和atlas_tile_group_header。
图40示出根据如图34所示的NAL单元类型在NAL单元中承载的atlas_tile_group_layer的句法以及包含在atlas_tile_group_layer中的句法atlas_tile_group_header。
根据实施方式,拼块组可对应于拼块。在本公开中,术语“拼块组”可被称为术语“拼块”。类似地,术语“atgh”可被解释为术语“ath”。
atlas_tile_group_layer或atlas_tile_layer可包含atlas_tile_group_header或atlas_tile_header。
当atgh_type不是SKIP_TILE_GRP时,图集拼块组(或拼块)数据可包含在atlas_tile_group_layer或atlas_tile_layer中。
atgh_atlas_frame_parameter_set_id指定当前图集拼块组的活动图集帧参数集的afps_atlas_frame_parameter_set_id的值。
atgh_atlas_adaptation_parameter_set_id指定当前图集拼块组的活动图集适配参数集的aaps_atlas_adaptation_parameter_set_id的值。
atgh_address指定拼块组的拼块组地址。当不存在时,atgh_address的值被推断为等于0。拼块组地址是拼块组的拼块组ID。atgh_address的长度为afti_signalled_tile_group_id_length_minus1+1比特。如果afti_signalled_tile_group_id_flag等于0,则atgh_address的值在0至afti_num_tile_groups_in_atlas_frame_minus1(含)的范围内。否则,atgh_address的值在0至2(afti_signalled_tile_group_id_length_minus1+1)-1(含)的范围内。
atgh_type指定当前图集拼块组(拼块)的编码类型。
当atgh_type的值为0时,图集拼块组或图集拼块的类型是P_TILE_GRP(帧间图集拼块组(或拼块))。
当atgh_type的值为1时,图集拼块组或图集拼块的类型是I_TILE_GRP(帧内图集拼块组(或拼块))。
当atgh_type的值为2时,图集拼块组或图集拼块的类型是SKIP_TILE_GRP(跳过图集拼块组(或拼块))。
当atgh_type的值为3时,图集拼块组或图集拼块的类型可具有预留值。
atgh_atlas_output_flag影响解码图集输出和去除处理。
atgh_atlas_frm_order_cnt_lsb指定对于当前图集拼块组,图集帧顺序计数取模MaxAtlasFrmOrderCntLsb。
当afps_output_flag_present_flag等于1时,图集拼块组(拼块)头可包含atgh_atlas_output_flag和atgh_atlas_frm_order_cnt_lsb。
atgh_ref_atlas_frame_list_sps_flag等于1指定当前图集拼块组的参考图集帧列表基于活动ASPS中的ref_list_struct(rlsIdx)句法结构之一来推导。atgh_ref_atlas_frame_list_sps_flag等于0指定当前图集拼块列表的参考图集帧列表基于直接包括在当前图集拼块组的拼块组头中的ref_list_struct(rlsIdx)句法结构来推导
当atgh_ref_atlas_frame_list_sps_flag等于0时,在图集拼块组(拼块)头中可包括ref_list_struct(asps_num_ref_atlas_frame_lists_in_asps)。
atgh_ref_atlas_frame_list_idx指定用于推导当前图集拼块组的参考图集帧列表的ref_list_struct(rlsIdx)句法结构在活动ASPS中所包括的ref_list_struct(rlsIdx)句法结构列表中的索引。
atgh_additional_afoc_lsb_present_flag[j]等于1指定对于当前图集拼块组或图集拼块存在atgh_additional_afoc_lsb_val[j]。atgh_additional_afoc_lsb_present_flag[j]等于0指定atgh_additional_afoc_lsb_val[j]不存在。
当atgh_additional_afoc_lsb_present_flag[j]等于1时,atgh_additional_afoc_lsb_val[j]可包括在图集拼块组(拼块)头中。
atgh_additional_afoc_lsb_val[j]指定当前图集拼块组或拼块的FullAtlasFrmOrderCntLsbLt[RlsIdx][j]的值。
atgh_pos_min_z_quantizer指定要应用于补片p的pdu_3d_pos_min_z[p]值的量化器。如果atgh_pos_min_z_quantizer不存在,则其值可被推断为等于0。
atgh_pos_delta_max_z_quantizer指定要应用于索引p的补片的pdu_3d_pos_delta_max_z[p]值的量化器。如果atgh_pos_delta_max_z_quantizer不存在,则其值可被推断为等于0。
atgh_patch_size_x_info_quantizer指定要应用于变量索引p的补片的pdu_2d_size_x_minus1[p]、mpdu_2d_delta_size_x[p]、ipdu_2d_delta_size_x[p]、rpdu_2d_size_x_minus1[p]和epdu_2d_size_x_minus1[p]的量化器PatchSizeXQuantizer的值。如果atgh_patch_size_x_info_quantizer不存在,则其值可被推断为等于asps_log2_patch_packing_block_size。
atgh_patch_size_y_info_quantizer指定要应用于索引p的补片的变量pdu_2d_size_y_minus1[p]、mpdu_2d_delta_size_y[p]、ipdu_2d_delta_size_y[p]、rpdu_2d_size_y_minus1[p]和epdu_2d_size_y_minus1[p]的量化器PatchSizeYQuantizer的值。如果atgh_patch_size_y_info_quantizer不存在,则其值可被推断为等于asps_log2_patch_packing_block_size。
atgh_raw_3d_pos_axis_bit_count_minus1加1指定rpdu_3d_pos_x、rpdu_3d_pos_y和rpdu_3d_pos_z的固定长度表示的比特数。
当atgh_type是P_TILE_GRP并且num_ref_entries[RlsIdx]大于1时,在图集拼块组(或拼块)头中可包括atgh_num_ref_idx_active_override_flag。另外,当atgh_num_ref_idx_active_override_flag等于1时,在图集拼块组(拼块)头中可包括atgh_num_ref_idx_active_minus1。
atgh_num_ref_idx_active_override_flag等于1指定对于当前图集拼块组存在句法元素atgh_num_ref_idx_active_minus1。atgh_num_ref_idx_active_override_flag等于0指定句法元素atgh_num_ref_idx_active_minus1不存在。如果atgh_num_ref_idx_active_override_flag不存在,则其值可被推断为等于0。
atgh_num_ref_idx_active_minus1指定可用于对当前图集拼块组进行解码的参考图集帧列表的最大参考索引。当NumRefIdxActive的值等于0时,没有参考图集帧列表的参考索引可用于对当前图集拼块组进行解码。
byte_alignment用于在添加1(停止比特)以指示数据的结尾之后用0填充剩余比特以进行字节对齐。
图41示出根据实施方式的参考列表结构(ref_list_struct)。
图41示出图35的图集参数集、图40的图集拼块组或图集拼块的头中可包括的参考列表结构的句法。
num_ref_entries[rlsIdx]指定ref_list_struct(rlsIdx)句法结构中的条目数量。
以下与num_ref_entries[rlsIdx]的值一样多的元素可包括在参考列表结构中。
当asps_long_term_ref_atlas_frames_flag等于1时,参考图集帧标志(st_ref_atlas_frame_flag[rlsIdx][i])可包括在参考列表结构中。
st_ref_atlas_frame_flag[rlsIdx][i]等于1指定ref_list_struct(rlsIdx)句法结构中的第i条目是短期参考图集帧条目。st_ref_atlas_frame_flag[rlsIdx][i]等于0指定ref_list_struct(rlsIdx)句法结构中的第i条目是长期参考图集帧条目。当不存在时,st_ref_atlas_frame_flag[rlsIdx][i]的值可被推断为等于1。
当st_ref_atlas_frame_flag[rlsIdx][i]等于1时,abs_delta_afoc_st[rlsIdx][i]可包括在参考列表结构中。
当第i条目是ref_list_struct(rlsIdx)句法结构中的第一短期参考图集帧条目时,abs_delta_afoc_st[rlsIdx][i]指定当前图集拼块组和第i条目所参考的图集帧的图集帧顺序计数值之间的绝对差,或者当第i条目是短期参考图集帧条目,但不是ref_list_struct(rlsIdx)句法结构中的第一短期参考图集帧条目时,指定第i条目和ref_list_struct(rlsIdx)句法结构中的前一短期参考图集帧条目所参考的图集帧的图集帧顺序计数值之间的绝对差。
当abs_delta_afoc_st[rlsIdx][i]具有大于0的值时,在参考列表结构中可包括条目符号标志(strpf_entry_sign_flag[rlsIdx][i])。
strpf_entry_sign_flag[rlsIdx][i]等于1指定句法结构ref_list_struct(rlsIdx)中的第i条目具有大于或等于0的值。strpf_entry_sign_flag[rlsIdx][i]等于0指定句法结构ref_list_struct(rlsIdx)中的第i条目具有小于0的值。当不存在时,strpf_entry_sign_flag[rlsIdx][i]的值可被推断为等于1。
afoc_lsb_lt[rlsIdx][i]指定ref_list_struct(rlsIdx)句法结构中的第i条目所参考的图集帧的图集帧顺序计数取模MaxAtlasFrmOrderCntLsb的值。afoc_lsb_lt[rlsIdx][i]句法元素的长度为asps_log2_max_atlas_frame_order_cnt_lsb_minus4+4比特。
图42示出根据实施方式的图集拼块组数据(atlas_tile_group_data_unit)。
图42示出图40的图集拼块组层(或图集拼块层)中所包括的图集拼块组数据的句法。图集拼块组数据可对应于图集拼块数据,并且拼块组可被称为拼块。
随着p从0增加1,根据索引p的图集相关元素可包括在图集拼块组(或拼块)数据中。
atgdu_patch_mode[p]指示当前图集拼块组中索引p的补片的补片模式。atgh_type=SKIP_TILE_GRP的拼块组意味着整个拼块组信息直接从具有与对应于第一参考图集帧的当前拼块组相同的atgh_address的拼块组复制。
当atgdu_patch_mode[p]不是I_END并且atgdu_patch_mode[p]不是P_END时,对于各个索引p在图集拼块组数据(或图集拼块数据)中可包括patch_information_data和atgdu_patch_mode[p]。
I_TILE_GRP类型图集拼块组的补片模式类型可表示如下。
atgdu_patch_mode等于0指示具有I_INTRA标识符的非预测补片模式。
atgdu_patch_mode等于1指示具有I_RAW标识符的RAW点补片模式。
atgdu_patch_mode等于2指示具有I_EOM标识符的EOM点补片模式。
atgdu_patch_mode的值等于3至13指示具有I_RESERVED标识符的预留模式。
atgdu_patch_mode等于14指示具有I_END标识符的补片终止模式。
P_TILE_GRP类型图集拼块组(或拼块)的补片模式类型可表示如下。
atgdu_patch_mode等于0指示具有P_SKIP标识符的补片跳过模式。
atgdu_patch_mode等于1指示具有P_MERGE标识符的补片合并模式。
atgdu_patch_mode等于2指示具有P_INTER标识符的帧间预测补片模式。
atgdu_patch_mode等于3指示具有P_INTRA标识符的非预测补片模式。
atgdu_patch_mode等于4指示具有P_RAW标识符的RAW点补片模式。
atgdu_patch_mode等于5指示具有P_EOM标识符的EOM点补片模式。
atgdu_patch_mode的值等于6至13指示具有P_RESERVED标识符的预留模式。
atgdu_patch_mode等于14指示具有P_END标识符的补片终止模式。
SKIP_TILE_GRP类型图集拼块组(或拼块)的补片模式类型可表示如下。
atgdu_patch_mode等于0指示具有P_SKIP标识符的补片跳过模式。
AtgduTotalNumberOfPatches是补片数量,并且可被设定为p的最终值。
图43示出根据实施方式的补片信息数据(patch_information_data)。
图43示出图42的图集拼块组(或拼块)数据单元中所包括的patch_information_data的句法。
如果atgh_type是跳过图集拼块组(或跳过图集拼块)(SKIP_TILE_GR),则包括skip_patch_data_unit(patchIdx)作为补片信息数据。
如果atgh_type是图集间拼块组(或图集间拼块)(P_TILE_GR)并且patchMode是补片跳过模式(P_SKIP),则包括skip_patch_data_unit(patchIdx)作为补片信息数据。如果patchMode是补片合并模式(P_MERGE),则包括merge_patch_data_unit(patchIdx)作为补片信息数据。如果patchMode是非预测补片模式(P_INTRA),则在该句法结构中包括patch_data_unit(patchIdx)(以下称为补片信息数据)。如果patchMode是帧间预测补片模式(P_INTER),则在该句法结构中包括inter_patch_data_unit(patchIdx)。如果patchMode是RAW点补片模式(P_RAW),则在该句法结构中包括raw_patch_data_unit(patchIdx)。如果patchMode是EOM点补片模式(P_EOM),则在该句法结构中包括eom_patch_data_unit(patchIdx)。
如果atgh_type是图集内拼块组(I_TILE_GR)并且patchMode是非预测补片模式(I_INTRA),则在该句法结构中包括patch_data_unit(patchIdx)。如果patchMode是RAW点补片模式(I_RAW),则在该句法结构中包括raw_patch_data_unit(patchIdx)。如果patchMode是EOM点补片模式(I_EOM),则在该句法结构中包括eom_patch_data_unit(patchIdx)。
图44示出根据实施方式的patch_data_unit。
图44示出图43中所包括的patch_data_unit的句法。
pdu_2d_pos_x[p]指定当前图集拼块组(或拼块)中补片p的补片边界框的左上角的x坐标(或左偏移)。图集拼块组可具有拼块组索引,并且图集拼块可具有拼块索引。这些索引可被表示为PatchPackingBlockSize的倍数。
pdu_2d_pos_y[p]指定当前图集拼块组中补片p的补片边界框的左上角的y坐标(或顶偏移)。图集拼块组可具有拼块组索引,并且图集拼块可具有拼块索引。这些索引可被表示为PatchPackingBlockSize的倍数。
pdu_2d_size_x_minus1[p]加1指定当前图集拼块组tileGroupIdx或当前图集拼块tiledx中的索引p的补片的量化宽度值。
pdu_2d_size_y_minus1[p]加1指定当前图集拼块组tileGroupIdx或当前图集拼块tiledx中索引p的补片的量化高度值。
pdu_3d_pos_x[p]指定沿着切向轴要应用于当前图集拼块组的索引p的补片中的重构补片点的移位。
pdu_3d_pos_y[p]指定沿着双切轴要应用于当前图集拼块组的索引p的补片中的重构补片点的移位。
pdu_3d_pos_min_z[p]指定沿着法向轴要应用于当前图集拼块组的索引p的补片中的重构补片点的移位。
当asps_normal_axis_max_delta_value_enabled_flag等于1时,在补片数据单元中可包括pdu_3d_pos_delta_max_z[patchIdx]。
如果存在,pdu_3d_pos_delta_max_z[p]指定沿着法向轴在当前图集拼块组的索引p的补片中在转换为其标称表示之后重构比特深度补片几何样本中预期存在的移位的标称最大值。
pdu_projection_id[p]指定当前图集拼块组的索引p的补片的投影平面法向的投影模式和索引的值。
pdu_orientation_index[p]指示当前图集拼块组的索引p的补片的补片取向索引。
当afps_lod_mode_enabled_flag等于1时,pdu_lod_enabled_flag[patchIndex]可包括在补片数据单元中。当pdu_lod_enabled_flag[patchIndex]大于0时,pdu_lod_scale_x_minus1[patchIndex]和pdu_lod_scale_y[patchIndex]可包括在补片数据单元中。
pdu_lod_enabled_flag[p]等于1指定对于当前补片p存在LOD参数。如果pdu_lod_enabled_flag[p]等于0,则对于当前补片不存在LOD参数。
pdu_lod_scale_x_minus1[p]指定在与补片坐标Patch3dPosX[p]相加之前要应用于当前图集拼块组的索引p的补片中的点的局部x坐标的LOD缩放因子。
pdu_lod_scale_y[p]指定在与补片坐标Patch3dPosY[p]相加之前要应用于当前图集拼块组的索引p的补片中的点的局部y坐标的LOD缩放因子。
当asps_point_local_reconstruction_enabled_flag等于1时,在补片数据单元中可包括point_local_reconstruction_data(patchIdx)。
point_local_reconstruction_data(patchIdx)可包含允许解码器恢复由于压缩损失等而丢失的点的信息。
图45示出根据实施方式的相对于补片取向的旋转和偏移。
图45示出图44的取向索引的旋转矩阵和偏移。
根据实施方式的方法/装置可对点云数据执行取向操作,并且针对该操作使用标识符、旋转和偏移,如图45所示。
图46示出根据实施方式的场景对象信息(scene_object_information)。
图46示出图32所示的比特流32000中所包含的样本流NAL单元的SEI消息的句法。
根据实施方式的对象是点云对象。此外,对象是甚至包括构成或标识对象的(部分)对象的概念。
根据实施方式的方法/装置可基于根据实施方式的场景对象信息基于包括一个或更多个场景对象的3D空间区域来提供部分访问。
根据实施方式的SEI消息包括关于与解码、重构、显示或其它目的有关的处理的信息。
根据实施方式的SEI消息包括两种类型:必要和非必要。
解码处理不需要非必要SEI消息。解码器不需要处理该信息以符合输出顺序。
根据实施方式的包括场景对象信息、对象标签信息、补片信息和体积矩形信息的体积注释信息(体积注释SEI消息)可以是非必要SEI消息。
根据实施方式,上述信息可承载在必要SEI消息中。
必要SEI消息是V-PCC比特流的组成部分,不应从比特流去除。必要SEI消息可被归类为两种类型:
类型A必要SEI消息:这些SEI可包含检查比特流一致性和输出定时解码器一致性所需的信息。根据实施方式的V-PCC解码器不丢弃任何相关类型A必要SEI消息。根据实施方式的V-PCC解码器可考虑这种信息用于比特流一致性和输出定时解码器一致性。
类型B必要SEI消息:符合特定重构配置文件的V-PCC解码器可不丢弃任何相关类型B必要SEI消息,并且可考虑其用于3D点云重构和一致性目的。
图46示出体积注释SEI消息。
根据实施方式的V-PCC比特流定义如图46所示可与部分访问有关的体积注释SEI消息。
soi_cancel_flag等于1指示场景对象信息SEI消息取消输出顺序上的任何先前场景对象信息SEI消息的持久性。
soi_num_object_updates指示要由当前SEI更新的对象数量。
当soi_num_object_updates大于0时,以下元素可包括在场景对象信息中。
soi_simple_objects_flag等于1指示不会用信号通知更新或新引入的对象的附加信息。soi_simple_objects_flag等于0指示可用信号通知更新或新引入的对象的附加信息。
当soi_simple_objects_flag等于0时,以下元素可包括在场景对象信息中。
如果soi_simple_objects_flag不等于0,则标志可被设定为soi_object_label_present_flag=0、soi_priority_present_flag=0、soi_object_hidden_present_flag=0、soi_object_dependency_present_flag=0、soi_visibility_cones_present_flag=0、soi_3d_bounding_box_present_flag=0、soi_collision_shape_present_flag=0、soi_point_style_present_flag=0、soi_material_id_present_flag=0和soi_extension_present_flag=0。
soi_object_label_present_flag等于1指示在当前场景对象信息SEI消息中存在对象标签信息。soi_object_label_present_flag等于0指示对象标签信息不存在。
soi_priority_present_flag等于1指示在当前场景对象信息SEI消息中存在优先级信息。soi_priority_present_flag等于0指示优先级信息不存在。
soi_object_hidden_present_flag等于1指示在当前场景对象信息SEI消息中存在隐藏对象信息。soi_object_hidden_present_flag等于0指示隐藏对象信息不存在。
soi_object_dependency_present_flag等于1指示在当前场景对象信息SEI消息中存在对象依赖信息。soi_object_dependency_present_flag等于0指示对象依赖信息不存在。
soi_visibility_cones_present_flag等于1指示在当前场景对象信息SEI消息中存在可视锥信息。soi_visibility_cones_present_flag等于0指示可视锥信息不存在。
soi_3d_bounding_box_present_flag等于1指示在当前场景对象信息SEI消息中存在3D边界框信息。soi_3d_bounding_box_present_flag等于0指示3D边界框信息不存在。
soi_collision_shape_present_flag等于1指示在当前场景对象信息SEI消息中存在冲突信息。soi_collision_shape_present_flag等于0指示冲突形状信息不存在。
soi_point_style_present_flag等于1指示在当前场景对象信息SEI消息中存在点样式信息。soi_point_style_present_flag等于0指示点样式信息不存在。
soi_material_id_present_flag等于1指示在当前场景对象信息SEI消息中存在材料ID信息。soi_material_id_present_flag等于0指示材料ID信息不存在。
soi_extension_present_flag等于1指示在当前场景对象信息SEI消息中应存在附加扩展信息。soi_extension_present_flag等于0指示附加扩展信息不存在。该版本的规范的比特流一致性要求是soi_extension_present_flag应等于0。
当soi_3d_bounding_box_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_3d_bounding_box_scale_log2指示要应用于可为对象指定的3D边界框参数的缩放。
soi_3d_bounding_box_precision_minus8加8指示可为对象指定的3D边界框参数的精度。
soi_log2_max_object_idx_updated指定在当前场景对象信息SEI消息中用于用信号通知对象索引的值的比特数。
当soi_object_dependency_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_log2_max_object_dependency_idx指定在当前场景对象信息SEI消息中用于用信号通知依赖对象索引的值的比特数。
以下与soi_num_object_updates值一样多的元素可包括在场景对象信息中。
soi_object_idx[i]指示要更新的第i对象的对象索引。用于表示soi_object_idx[i]的比特数等于soi_log2_max_object_idx_updated。当比特流中不存在soi_object_idx[i]时,其值可被推断为等于0。
soi_object_cancel_flag[i]等于1指示索引等于i的对象可被取消并且变量ObjectTracked[i]应被设定为0。此外,其所有关联参数(包括对象标签、3D边界框参数、优先级信息、隐藏标志、依赖信息、可视锥、冲突形状、点样式和材料id)可被重置为其默认值。也应被设定为等于0。soi_object_cancel_flag等于0指示索引等于soi_object_idx[i]的对象应利用该元素之后的信息来更新,并且变量ObjectTracked[i]可被设定为1。
当soi_object_cancel_flag[k]不等于1并且soi_object_label_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_object_label_update_flag[i]等于1指示对于对象索引i的对象存在对象标签更新信息。soi_object_label_update_flag[i]等于0指示对象标签更新信息不存在。
当soi_object_label_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_object_label_idx[i]指示索引i的对象的标签索引。
当soi_priority_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_priority_update_flag[i]等于1指示对于对象索引i的对象存在优先级更新信息。soi_priority_update_flag[i]等于0指示对象优先级信息不存在。
当soi_priority_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_priority_value[i]指示索引i的对象的优先级。优先级值越低,优先级越高。
当soi_object_hidden_present_flag为1时,以下元素可包括在场景对象信息中。
soi_object_hidden_flag[i]等于1指示索引i的对象应被隐藏。soi_object_hidden_flag[i]等于0指示索引i的对象应变为存在。
当soi_object_dependency_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_object_dependency_update_flag[i]等于1指示对于对象索引i的对象存在对象依赖更新信息。soi_object_dependency_update_flag[i]等于0指示对象依赖更新信息不存在。
当soi_object_dependency_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_object_num_dependencies[i]指示索引i的对象的依赖数量。
根据soi_object_num_dependencies[k]的值,以下元素可包括在场景对象信息中。
soi_object_dependency_idx[i][j]指示与对象索引i的对象具有依赖性的第j对象的索引。
当soi_visibility_cones_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_visibility_cones_update_flag[i]等于1指示对于对象索引i的对象存在可视锥更新信息。soi_visibility_cones_update_flag[i]等于0指示可视锥更新信息不存在。
当soi_visibility_cones_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_direction_x[i]指示对象索引i的对象的可视锥的方向向量的归一化x分量值。当不存在时,soi_direction_x[i]的值可被假设为等于1.0。
soi_direction_y[i]指示对象索引i的对象的可视锥的方向向量的归一化y分量值。当不存在时,soi_direction_y[i]的值可被假设为等于1.0。
soi_direction_z[i]指示对象索引i的对象的可视锥的方向向量的归一化z分量值。当不存在时,soi_direction_z[i]的值可被假设为等于1.0。
soi_angle[i]指示可视锥沿着方向向量的角度(度)。当不存在时,soi_angle[i]的值可被假设为等于180°。
当soi_3d_bounding_box_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_3d_bounding_box_update_flag[i]等于1指示对于对象索引i的对象存在3D边界框信息。soi_3d_bounding_box_update_flag[i]等于0指示3D边界框信息不存在。
soi_3d_bounding_box_x[i]指示索引i的对象的3D边界框的原点位置的x坐标值。soi_3d_bounding_box_x[i]的默认值可等于0。
soi_3d_bounding_box_y[i]指示索引i的对象的3D边界框的原点位置的y坐标值。soi_3d_bounding_box_y[i]的默认值可等于0。
soi_3d_bounding_box_z[i]指示索引i的对象的3D边界框的原点位置的z坐标值。soi_3d_bounding_box_z[i]的默认值可等于0。
soi_3d_bounding_box_delta_x[i]指示索引i的对象的边界框在x轴上的大小。soi_3d_bounding_box_delta_x[i]的默认值可等于0。
soi_3d_bounding_box_delta_y[i]指示索引i的对象的边界框在y轴上的大小。soi_3d_bounding_box_delta_y[i]的默认值可等于0。
soi_3d_bounding_box_delta_z[i]指示索引i的对象的边界框在z轴上的大小。soi_3d_bounding_box_delta_z[i]的默认值可等于0。
当soi_collision_shape_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_collision_shape_update_flag[i]等于1指示对于对象索引i的对象存在冲突形状更新信息。soi_collision_shape_update_flag[i]等于0指示冲突形状更新信息不存在。
当soi_collision_shape_update_flag[k]]等于1时,以下元素可包括在场景对象信息中。
soi_collision_shape_id[i]指示索引i的对象的冲突形状id。
当soi_point_style_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_point_style_update_flag[i]等于1指示对于对象索引i的对象存在点样式更新信息。soi_point_style_update_flag[i]等于0指示点样式更新信息不存在。
当soi_point_style_update_flag[k]]等于1时,以下元素可包括在场景对象信息中。
soi_point_shape_id[i]指示索引i的对象的点形状id。soi_point_shape_id[i]的默认值可等于0。
soi_point_size[i]指示索引i的对象的点大小。soi_point_size[i]的默认值可等于1。
当soi_material_id_present_flag等于1时,以下元素可包括在场景对象信息中。
soi_material_id_update_flag[i]等于1指示对于对象索引i的对象存在材料ID更新信息。soi_point_style_update_flag[i]等于0指示点样式更新信息不存在。
当soi_material_id_update_flag[k]等于1时,以下元素可包括在场景对象信息中。
soi_material_id[i]指示索引i的对象的材料ID。soi_material_id[i]的默认值可等于0。
图47示出根据实施方式的对象标签信息。
图47示出图32所示的比特流32000中所包含的样本流NAL单元的SEI消息的对象标签信息的句法。
oli_cancel_flag等于1指示对象标签信息SEI消息取消输出顺序上的任何先前对象标签信息SEI消息的持久性。
当oli_cancel_flag不等于1时,以下元素可包括在对象标签信息中。
oli_label_language_present_flag等于1指示在对象标签信息SEI消息中存在标签语言信息。oli_label_language_present_flag等于0指示标签语言信息不存在。
当oli_label_language_present_flag等于1时,以下元素可包括在对象标签信息中。
oli_bit_equal_to_zero可等于0。
oli_label_language包含IETF RFC 5646所指定的语言标签,后面跟随等于0x00的空终止字节。oli_label_language句法元素的长度可小于或等于255字节(不包括空终止字节)。
oli_num_label_updates指示当前SEI要更新的标签数量。
以下与oli_num_label_updates的值一样多的元素可包括在对象标签信息中。
oli_label_idx[i]指示要更新的第i标签的标签索引。
oli_label_cancel_flag等于1指示索引等于oli_label_idx[i]的标签应被取消并被设定为等于空白串。oli_label_cancel_flag等于0指示索引等于oli_label_idx[i]的标签应利用该元素之后的信息更新。
当oli_label_cancel_flag不等于1时,以下元素可包括在对象标签信息中。
oli_bit_equal_to_zero等于0。
oli_label[i]指示第i标签的标签。vti_label[i]句法元素的长度应小于或等于255字节(不包括空终止字节)。
图48示出根据实施方式的补片信息。
图48示出图32所示的比特流32000中所包含的样本流NAL单元的SEI消息的补片信息的句法。
pi_cancel_flag等于1指示补片信息SEI消息取消输出顺序上的任何先前补片信息SEI消息的持久性并且补片信息表中的所有条目应被去除。
pi_num_tile_group_updates指示通过当前SEI消息在补片信息表中要更新的拼块组的数量。
当pi_num_tile_group_updates大于0时,以下元素可包括在补片信息中。
pi_log2_max_object_idx_tracked指定当前补片信息SEI消息中用于用信号通知跟踪对象索引的值的比特数。
pi_log2_max_patch_idx_updated指定当前补片信息SEI消息中用于用信号通知更新补片索引的值的比特数。
以下与pi_num_tile_group_updates值一样多的元素可包括在补片信息中。
pi_tile_group_address[i]指定当前SEI消息中第i更新拼块组的拼块组地址。
pi_tile_group_cancel_flag[i]等于1指示索引i的拼块组应被重置并且先前指派给该拼块组的所有补片将被去除。pi_tile_group_cancel_flag[i]等于0指示先前指派给索引i的拼块组的所有补片将被保留。
pi_num_patch_updates[i]指示补片信息表中索引i的拼块组内要通过当前SEI更新的补片数量。
以下与pi_num_patch_updates值一样多的元素可包括在补片信息中。
pi_patch_idx[i][j]指示补片信息表中要更新的索引i的拼块组中第j补片的补片索引。用于表示pi_patch_idx[i]的比特数等于pi_log2_max_patch_idx_updated。当比特流中不存在pi_patch_idx[i]时,其值可被推断为等于0。
pi_patch_cancel_flag[i][j]等于1指示应从补片信息表去除索引i的拼块组中索引j的补片。
当pi_patch_cancel_flag[j][p]不等于1时,以下元素可包括在补片信息中。
pi_patch_number_of_objects_minus1[i][j]指示要与索引i的拼块组中索引j的补片关联的对象数量。
m可被设定为m=pi_patch_number_of_objects_minus1[j][p]+1,并且以下与m的值一样多的元素可包括在补片信息中。
pi_patch_object_idx[i][j][k]指示与索引i的拼块组中的第j补片关联的第k对象索引。用于表示pi_patch_object_idx[i]的比特数可等于pi_log2_max_object_idx_tracked。当比特流中不存在pi_patch_object_idx[i]时,其值可被推断为等于0。
图49示出根据实施方式的体积矩形信息。
图49示出图32所示的比特流32000中所包含的样本流NAL单元的SEI消息的体积矩形信息的句法。
vri_cancel_flag等于1指示体积矩形信息SEI消息取消输出顺序上的任何先前体积矩形信息SEI消息的持久性并且体积矩形信息表中的所有条目应被去除。
vri_num_rectangles_updates指示要通过当前SEI更新的体积矩形的数量。
当vri_num_rectangles_updates大于0时,以下元素可包括在体积矩形信息中。
vri_log2_max_object_idx_tracked指定当前体积矩形信息SEI消息中用于用信号通知跟踪对象索引的值的比特数。
vri_log2_max_rectangle_idx_updated指定当前体积矩形信息SEI消息中用于用信号通知更新体积矩形索引的值的比特数。
以下与vri_num_rectangles_updates的值一样多的元素可包括在体积矩形信息中。
vri_rectangle_idx[i]]指示体积矩形信息表中要更新的第i体积矩形索引。用于表示vri_rectangle_idx[i]的比特数可等于vri_log2_max_rectangle_idx_updated。当比特流中不存在vri_rectangle_idx[i]时,其值可被推断为等于0。
vri_rectangle_cancel_flag[i]等于1指示可从体积矩形信息表去除索引i的体积矩形。
当vri_rectangle_cancel_flag[p]不等于1时,以下元素可包括在体积矩形信息中。
vri_bounding_box_update_flag[i]等于1指示应该更新索引i的体积矩形的2D边界框信息。vti_bounding_box_update_flag[i]等于0指示不应该更新索引i的体积矩形的2D边界框信息。
当vri_bounding_box_update_flag[p]等于1时,以下元素可包括在体积矩形信息中。
vri_bounding_box_top[i]指示当前图集帧内第i体积矩形的边界框的左上位置的垂直坐标值。vri_bounding_box_top[i]的默认值可等于0。
vri_bounding_box_left[i]指示当前图集帧内第i体积矩形的边界框的左上位置的水平坐标值。vri_bounding_box_left[i]的默认值可等于0。
vri_bounding_box_width[i]指示第i体积矩形的边界框的宽度。vri_bounding_box_width[i]的默认值可等于0。
vri_bounding_box_height[i]指示第i体积矩形的边界框的高度。vri_bounding_box_height[i]的默认值可等于0。
vri_rectangle_number_of_objects_minus1[i]指示要与第i体积矩形关联的对象数量。
m的值可被设定为vri_rectangle_number_of_objects_minus1[p]+1。对于m的值,以下元素可包括在体积矩形信息中。
vri_rectangle_object_idx[i][j]指示与第i体积矩形关联的第j对象索引。用于表示vri_rectangle_object_idx[i]的比特数可等于vri_log2_max_object_idx_tracked。当比特流中不存在vri_rectangle_object_idx[i]时,其值可被推断为等于0。
图50示出根据实施方式的样本流vpcc单元的配置。
图50示出图26的比特流26000、图27的比特流27000、图32的比特流32000等之间的特定层次关系。
图50示出图集子比特流中的SEI消息的层次结构。
根据实施方式的发送方法/装置可生成如图50所示的图集子比特流。
建立构成图集子比特流的NAL单元数据之间的关系。
在添加到图集子比特流的SEI消息中,与volumetric_tiling_info_objects()对应的信息是scene_object_information()。存在可指示与属于各个补片的对象的关系的patch_information()和可为一个或更多个对象分配的volumetric_rectangle_information()。
比特流50000对应于图26的比特流26000。
比特流50000的图集数据中包含的v-pcc单元的有效载荷中所包含的NAL单元50010对应于图32的比特流32000。
图50的图集帧参数集50020对应于图36的图集帧参数集。
图50的图集拼块组(或拼块)层50030对应于图40的图集拼块组(或拼块)层。
图50的SEI消息50040对应于图46至图49的SEI消息。
图50的图集帧拼块信息50050对应于图37的图集帧拼块信息。
图50的图集拼块组(或拼块)头50060对应于图40的图集拼块组(或拼块)头。
图50的场景对象信息50070对应于图46的场景对象信息。
图50的对象标签信息50080对应于图47的对象标签信息。
图50的补片信息50090对应于图48的补片信息。
图50的体积矩形信息50100对应于图49的体积矩形信息。
图集帧拼块信息50050可由图集拼块组(或拼块)ID标识,并且可包括在图集帧参数集50020中。
图集拼块组(或拼块)层50030可包括图集拼块组(或拼块)头50060。图集拼块组(或拼块)头可由图集拼块组(或拼块)地址标识。
场景对象信息50070可由对象索引和对象标签索引标识。
对象标签信息50080可由标签索引标识。
补片信息50090可由拼块组(或拼块)地址和补片对象索引标识。
体积矩形信息50100可由矩形对象索引标识。
根据实施方式的发送方法/装置可通过对点云数据进行编码并生成如图50所示的参考/层次关系信息来生成比特流。
根据实施方式的接收方法/装置可接收如图50所示的比特流并恢复包含在比特流中的点云数据。另外,可基于包含在比特流中的图50的图集数据来有效地编码和恢复点云数据。
图51示出根据实施方式的图集拼块组(或拼块)的配置。
图51示出根据实施方式的方法/装置在比特流中呈现并用信号通知的点云数据的视频帧、图集、补片和对象之间的关系。
图集帧可由根据实施方式的发送装置和接收装置的元数据处理器18005和19002生成和解码。此后,表示图集帧的图集比特流可按照根据实施方式的格式形成并且由根据实施方式的发送装置/接收装置的封装器/解封装器20004、20005、21009、22000发送/接收。
对象是表示为点云数据的目标。
根据实施方式,对象的位置和/或大小可动态地改变。在这种情况下,改变的图集拼块组或图集拼块的配置可如图49所示给出。
补片P1至P3可配置有构成一个或更多个对象的多个场景对象O1至O2。帧1(视频帧1)可由三个图集拼块组组成。
根据实施方式的图集拼块组可被称为图集拼块。图集拼块组1至3可对应于图集拼块1至3。
图集拼块组1可包括3个补片。补片1(P1)可包括三个对象O1至O3。补片2(P2)可包含一个对象(O2)。补片3(P3)可包含一个对象O1。
根据实施方式的方法/装置可基于与包括在补片信息(图48中的patch_information())中的对象ID对应的字段(pi_patch_object_idx[j])来表示补片与对象之间的映射关系。
图集拼块组(或拼块)2可包括两个补片P1和P2。补片1(P1)可包含一个对象O1,补片2(P2)可包含两个对象O2。
根据实施方式的方法/装置可基于与包括在补片信息(图48中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])来表示映射关系。
图集拼块组(或拼块)3可包括三个补片P1、P2和P3。补片1(P1)可包含一个对象O2。
根据实施方式的方法/装置可基于与包括在补片信息(图48中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])来指示映射关系。
帧2可由三个图集拼块组(或拼块)组成。
图集拼块组(或拼块)1(49000)可包括两个补片P1和P2。补片1可包含两个对象O1和O2。补片2可包含一个对象O1。
根据实施方式的方法/装置可基于与包括在补片信息(图46中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])来指示映射关系。
图集拼块组(或拼块)2(49000)可包括两个补片P1和P2。补片1(P1)可包含一个对象(O2)。补片2(P1)可包含两个对象。
根据实施方式的方法/装置可基于与包括在补片信息(图48中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])来指示映射关系。
图集拼块组(或拼块)3可包括两个补片P1和P2。补片1(P1)可包含一个对象O1。
根据实施方式的方法/装置可基于与包括在补片信息(图48中的patch_information)中的对象ID对应的字段(pi_patch_object_idx[j])来指示映射关系。
将描述由包括在或连接到根据实施方式的点云数据发送/接收方法/装置的V-PCC(V3C)系统生成和发送/接收的数据结构。
以下,如参照图24和图25描述的,根据对应实施方式的方法/装置可生成文件,并且在文件中生成和发送/接收以下数据。
根据实施方式的发送方法/装置可基于包含编码的点云数据的比特流来生成和发送以下数据结构,并且根据实施方式的接收方法/装置可接收和解析以下数据结构,并且恢复包含在比特流中的点云数据。
基于视频的点云压缩表示点云视觉信息的体积编码。包含编码点云序列(CPCS)的V-PCC比特流由承载V-PCC参数集(VPS)数据的V-PCC单元、编码图集比特流、2D视频编码占用图比特流、2D视频编码几何比特流和零个或更多个2D视频编码属性比特流组成。
体积视觉轨道
体积视觉轨道可由MediaBox的HandlerBox中的体积视觉媒体处理程序类型“volv”和体积视觉媒体头标识。文件中可存在多个体积视觉轨道。
体积视觉媒体头
框类型:“vvhd”
容器:MediaInformationBox
强制:是
数量:恰好一个
对于体积视觉媒体头,框类型为“vvhd”,并且容器是MediaInformationBox。这些是强制信息,并且可作为一个头存在。
体积视觉轨道可使用MediaInformationBox中的VolumetricVisualMediaHeaderBox。
VolumetricVisualMediaHeaderBox的结构如下配置。
aligned(8)class VolumetricVisualMediaHeaderBox
extends FullBox('vvhd',version=0,1){
}
“version”是指定该框的版本的整数。
体积视觉样本条目
体积视觉轨道可使用VolumetricVisualSampleEntry。
VolumetricVisualSampleEntry的结构可如下配置。
class VolumetricVisualSampleEntry(codingname)extends SampleEntry(codingname){
unsigned int(8)[32]compressor_name;
}
compressor_name是用于提供信息的名称。其被格式化为固定32字节字段,其中第一字节被设定为要显示的字节数,随后是使用UTF-8编码的可显示数据的字节数,然后填充以完成总共32字节(包括大小字节)。该字段可被设定为0。
体积视觉样本
体积视觉样本的格式由编码系统定义。
接下来,将描述由V-PCC系统生成的公共数据结构。
V-PCC单元头框
该框存在于V-PCC轨道(在样本条目中)和所有视频编码V-PCC组件轨道(在方案信息中)二者中。该框可包含各个轨道所承载的数据的V-PCC单元头。
V-PCC单元头框的结构可如下配置。
aligned(8)class VPCCUnitHeaderBox extends FullBox('vunt',version=0,0){
vpcc_unit_header()unit_header;
}
该框可包含如上vpcc_unit_header()。
V-PCC解码器配置框
V-PCC解码器配置框可包括VPCCDecoderConfigurationRecord。
class VPCCConfigurationBox extends Box('vpcC'){
VPCCDecoderConfigurationRecord()VPCCConfig;
}
该记录包含版本字段。该版本的规范定义该记录的版本1。可通过版本号的改变来指示记录的不兼容改变。
VPCCParameterSet可包括vpcc_parameter_set()。
对于样本条目所参考的流,SetupUnit阵列可恒定。存在解码器配置记录以及图集子流SEI消息。
aligned(8)class VPCCDecoderConfigurationRecord{
unsigned int(8)configurationVersion=1;
unsigned int(2)lengthSizeMinusOne;
bit(1)reserved=1;
unsigned int(5)numOfVPCCParameterSets;
for(i=0;i<numOfVPCCParameterSets;i++){
unsigned int(16)VPCCParameterSetLength;
vpcc_unit(VPCCParameterSetLength)vpccParameterSet;//如ISO/IEC 23090-5中定义的
Figure BDA0003736181990000871
configurationVersion是版本字段。可通过版本号的改变来指示记录的不兼容改变。
lengthSizeMinusOne加1指示应用该配置记录的流中的V-PCC样本中的NALUnitLength字段的长度(字节)。
例如,一个字节的大小可用值0指示。该字段的值可等于图集子流的sample_stream_nal_header中的ssnh_unit_size_precision_bytes_minus1。
numOfVPCCParameterSets指定在解码器配置记录中用信号通知的V-PCC参数集单元的数量。
VPCCParameterSetLength指示vpccParameterSet字段的大小(字节)。
vpccParameterSet是承载vpcc_parameter_set()的类型VPCC_VPS的V-PCC单元。
numOfSetupUnitArrays指示所指示类型的图集NAL单元的阵列数量。
array_completeness等于1指示给定类型的所有图集NAL单元均在以下阵列中,没有在流中。array_completeness等于0指示所指示类型的附加图集NAL单元可在流中。默认值和允许值受样本条目名称约束。
NAL_unit_type指示以下阵列中的图集NAL单元的类型。其可以是指示NAL_ASPS、NAL_PREFIX_SEI或NAL_SUFFIX_SEI图集NAL单元的值之一。
numNALUnits指示应用该配置记录的流的配置记录中所包括的所指示类型的图集NAL单元的数量。SEI阵列可仅包含SEI消息。
SetupUnitLength指示setupUnit字段的大小(字节)。长度字段可包括NAL单元头和NAL单元有效载荷二者的大小,但不包括长度字段本身。
setupUnit可包含类型NAL_ASPS、NAL_AFPS、NAL_PREFIX_ESEI、NAL_PREFIX_NSEI、NAL_SUFFIX_ESEI或NAL_SUFFIX_NSEI的NAL单元。当存在于setupUnit中时,NAL_PREFIX_ESEI、NAL_PREFIX_NSEI、NAL_SUFFIX_ESEI或NAL_SUFFIX_NSEI包含SEI消息,即,作为整体提供关于流的信息的那些。这种SEI的示例可以是用户数据SEI。
图52示出根据实施方式的V-PCC空间区域框的结构。
由根据实施方式的点云数据发送/接收装置和包括在或连接到发送/接收装置的系统生成和发送/接收的文件(参考图24和图25)中所包含的框包括VPCC空间区域框。
该框可包含诸如关于VPCC空间区域的3D边界框信息和与空间区域有关的标签信息、图集类型组ID(或图集拼块ID)以及可包括在图集拼块组(或拼块)中的补片ID的信息。
另外,该框可包含与空间区域有关的V-PCC组件轨道组信息。
V-PCC空间区域框可包括在V-PCC轨道的样本条目中。
num_regions指示点云中的3D空间区域的数量。
num_region_tile_groups可指示与包括在空间区域中的V-PCC对象的一些数据关联的图集拼块组(或拼块)的数量。
num_patch_updates可指示各个图集拼块组(或拼块)的补片当中属于与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组(或拼块)的补片数量。
patch_id可指示各个图集拼块组(或拼块)的补片当中属于与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组(或拼块)的补片的补片ID。
num_track_groups指示与3D空间区域有关的轨道组的数量。
track_group_id指示承载相关3D空间区域的V-PCC组件的轨道的轨道组。
label_id可指示与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组(或拼块)相关的标签ID。
label_language可指示关于与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组(或拼块)相关的标签的语言信息。
label_name可指示与包括在对应空间区域中的V-PCC对象的一些数据关联的图集拼块组(或拼块)相关的标签名称信息。
根据实施方式的用于发送或接收点云数据的方法/装置和包括在发送/接收装置中的系统可生成样本组。
V-PCC图集参数集样本组
用于样本分组的“vaps”grouping_type表示向该样本组中承载的图集参数集指派V-PCC轨道中的样本。当存在grouping_type等于“vaps”的SampleToGroupBox时,存在附随SampleGroupDescriptionBox,并且包含样本所属的该组的ID。
V-PCC轨道可包含grouping_type等于“vaps”的至多一个SampleToGroupBox。
Figure BDA0003736181990000891
numOfAtlasParameterSets指定样本组描述中用信号通知的图集参数集的数量。
atlasParameterSet是包含与该组样本关联的图集序列参数集、图集帧参数集的sample_stream_vpcc_unit()实例。
根据实施方式的V-PCC图集参数样本组描述条目可表示如下。
Figure BDA0003736181990000892
Figure BDA0003736181990000901
lengthSizeMinusOne加1指示该样本组描述中用信号通知的所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(字节)。
atlasParameterSetNALUnit是包含与该组样本关联的图集序列参数集、图集帧参数集的sample_stream_nal_unit()实例。
根据实施方式的点云数据发送/接收方法/装置和包括在点云数据发送/接收装置中的系统可生成动态空间区域样本组。
用于样本分组的“dysr”grouping_type表示向该样本组中承载的空间区域框指派V-PCC轨道中的样本。
当存在grouping_type等于“dysr”的SampleToGroupBox时,存在具有相同分组类型的附随SampleGroupDescriptionBox,并且包含样本所属的该组的ID。
V-PCC轨道可包含grouping_type等于“dysr”的至多一个SampleToGroupBox。
aligned(8)class Dynamic3DspatialRegionSampleGroupDescriptionEntry()extends SampleGroupDescriptionEntry(‘dysr’){
VPCCSpatialRegionsBox();
}
根据实施方式的用于发送/接收点云数据的方法/装置和包括在点云数据发送/接收装置中的系统可如下提供轨道分组。
空间区域轨道分组
track_group_type等于“3drg”的TrackGroupTypeBox指示该轨道属于对应于3D空间区域的一组V-PCC组件轨道。属于相同空间区域的轨道对于track_group_type“3drg”具有track_group_id的相同值,并且来自一个空间区域的轨道的track_group_id不同于来自任何其它空间区域的轨道的track_group_id。
aligned(8)class SpatialRegionGroupBox
extends TrackGroupTypeBox('3drg'){
}
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可如下提供V-PCC比特流的多轨道容器。
多轨道ISOBMFF V-PCC容器的一般布局
V-PCC比特流中的V-PCC单元基于其类型被映射至容器文件内的各个轨道。多轨道ISOBMFF V-PCC容器中存在两种类型的轨道:V-PCC轨道和V-PCC组件轨道。
V-PCC组件轨道是承载V-PCC比特流的占用图、几何和属性子比特流的2D视频编码数据的视频方案轨道。另外,对于V-PCC组件轨道满足以下条件:
a)在样本条目中,可在V-PCC系统中插入新框,其记录了包含在该轨道中的视频流的作用;
b)可从V-PCC轨道向V-PCC组件轨道引入轨道参考,以在由V-PCC轨道表示的特定点云中建立V-PCC组件轨道的成员关系;
c)轨道头标志可被设定为0,以指示该轨道不直接对电影的总体铺设有贡献,而是对V-PCC系统有贡献。
属于同一V-PCC序列的轨道可时间对齐。横跨不同视频编码V-PCC组件轨道和V-PCC轨道对相同点云帧有贡献的样本具有相同的呈现时间。用于这些样本的V-PCC图集序列参数集和图集帧参数集的解码时间等于或早于点云帧的编排时间。另外,属于同一V-PCC序列的所有轨道具有相同的隐含或明确编辑列表。
组件轨道中的基本流之间的同步可由ISOBMFF轨道定时结构(stts、ctts和cslg)或者电影碎片中的等效机制处理。
V-PCC轨道和V-PCC组件轨道中的同步样本可以或可以不时间对齐。在没有时间对齐的情况下,随机访问可涉及从不同的同步开始时间预滚动各种轨道,以允许在期望的时间开始。在时间对齐的情况下(例如,诸如[VPCC]中定义的基本工具集配置文件的V-PCC配置文件所要求的),V-PCC轨道的同步样本可被视为V-PCC内容的随机访问点,随机访问可通过仅参考V-PCC轨道的同步样本信息来完成。
基于该布局,V-PCC ISOBMFF容器可包括以下:
·V-PCC轨道,其包含V-PCC参数集和图集子比特流参数集(在样本条目中)以及承载图集子比特流NAL单元的样本。该轨道还包括承载视频压缩V-PCC单元(即,单元类型VPCC_OVD、VPCC_GVD和VPCC_AVD)的有效载荷的其它轨道的轨道参考。
·受限视频方案轨道,其中样本包含占用图数据的视频编码基本流的访问单元(即,类型VPCC_OVD的V-PCC单元的有效载荷)。
·一个或更多个受限视频方案轨道,其中样本包含几何数据的视频编码基本流的访问单元(即,类型VPCC_GVD的V-PCC单元的有效载荷)。
·零个或更多个受限视频方案轨道,其中样本包含属性数据的视频编码基本流的访问单元(即,类型VPCC_AVD的V-PCC单元的有效载荷)。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可如下提供V-PCC轨道。
V-PCC轨道样本条目
样本条目类型:“vpc1”、“vpcg”
容器:SampleDescriptionBox
强制:“vpc1”或“vpcg”样本条目是强制的
数量:可存在一个或更多个样本条目
对于V-PCC轨道样本条目,样本条目类型可以是“vpc1”、“vpcg”,并且容器可以是SampleDescriptionBox。“vpc1”或“vpcg”样本条目可以是强制的,并且可存在一个或样本条目。
V-PCC轨道使用扩展样本条目类型为“vpc1”或“vpcg”的VolumetricVisualSampleEntry的VPCCSampleEntry。VPCC轨道样本条目包含VPCCConfigurationBox。
在“vpc1”样本条目下,所有图集序列参数集、图集帧参数集或V-PCC SEI均在setupUnit阵列中。在“vpcg”样本条目下,图集序列参数集、图集帧参数集、V-PCC SEI可存在于该阵列中或流中。
可选BitRateBox可存在于VPCC体积样本条目中以用信号通知V-PCC轨道的比特率信息。
Figure BDA0003736181990000921
V-PCC轨道样本格式
V-PCC轨道中的各个样本对应于单个编码图集访问单元。各种组件轨道中与该帧对应的样本可具有与V-PCC轨道样本相同的编排时间。各个V-PCC样本可仅包含类型VPCC_AD的一个V-PCC单元有效载荷,其可包括一个或更多个图集NAL单元。
Figure BDA0003736181990000931
nalUnit包含NAL单元样本流格式中的单个图集NAL单元。
V-PCC轨道同步样本
V-PCC轨道中的同步样本是包含帧内随机访问点(IRAP)编码图集访问单元的样本。如果需要,可在同步样本处重复诸如ASPS、AAPS和AFPS和SEI消息的图集子比特流参数集,以允许随机访问。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可如下提供视频编码V-PCC组件轨道。
由于在播放器侧没有重构点云的情况下显示来自属性、几何或占用图轨道的解码帧没有意义,所以为这些视频编码轨道定义受限视频方案类型。
受限视频方案
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轨道的轨道参考的参考类型。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可如下提供V-PCC比特流的单个轨道容器。
V-PCC数据的单轨道封装需要V-PCC编码基本比特流由单轨道声明表示。
在V-PCC编码比特流的简单ISOBMFF封装的情况下可使用PCC数据的单轨道封装。这种比特流可直接被存储为单轨道而无需进一步处理。V-PCC单元头数据结构可被保持在比特流中。V-PCC数据的单轨道容器可被提供给媒体工作流以便于进一步处理(例如,多轨道文件生成、转码和DASH分段)。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可如下提供V-PCC比特流轨道。
样本条目类型:“vpe1”、“vpeg”
容器:SampleDescriptionBox
强制:“vpe1”或“vpeg”样本条目是强制的数量:一个或更多个样本条目可存在
样本条目类型是“vpe1”、“vpeg”,并且容器是SampleDescriptionBox。“vpe1”或“vpeg”样本条目是强制的,并且可存在一个或更多个样本条目。
V-PCC比特流轨道使用样本条目类型为“vpe1”或“vpeg”的VolumetricVisualSampleEntry。
VPCC比特流样本条目包含VPCCConfigurationBox。
在“vpe1”样本条目下,所有图集序列参数集、图集帧参数集、SEI在setupUnit阵列中。在“vpeg”样本条目下,图集序列参数集、图集帧参数集、SEI可存在于该阵列中或流中。
Figure BDA0003736181990000951
V-PCC比特流样本格式
V-PCC比特流样本包含属于相同呈现时间的一个或更多个V-PCC单元(即,一个V-PCC访问单元)。样本可自包含或根据V-PCC比特流轨道的其它样本来解码。
V-PCC比特流同步样本
V-PCC比特流同步样本满足所有以下条件:
·可独立地解码。
·按解码顺序在同步样本之后的样本的解码均不依赖于同步样本之前的任何样本。
·按解码顺序在同步样本之后的所有样本可成功解码。
V-PCC比特流子样本
V-PCC比特流子样本是包含在V-PCC比特流样本中的V-PCC单元。
V-PCC比特流轨道应在其SampleTableBox中或在其各个MovieFragmentBox的TrackFragmentBox中包含一个SubSampleInformationBox,其列出V-PCC比特流子样本。
表示子样本的V-PCC单元的32比特单元头可被复制到SubSampleInformationBox中的子样本条目的32比特codec_specific_parameters字段。各个子样本的V-PCC单元类型可通过解析SubSampleInformationBox中的子样本条目的codec_specific_parameters字段来标识。
由于根据实施方式的信令方案,根据实施方式的接收方法/装置可识别作为3D区域的每区域的拼块如何配置。根据实施方式的对象可表示作为点云数据的目标的对象或对象的一部分。拼块是划分图集帧(2D)的单元。根据实施方式的接收方法/装置可识别拼块匹配的对象。结果,根据实施方式的接收方法/装置可有效地对点云数据执行部分访问。
图53示出根据实施方式的DynamicSpatialRegionSample。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可在文件中生成并发送/接收关于动态空间区域的信息(图24和图25)以用信号通知点云数据的动态空间区域。参考可创建和发送/接收。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可将动态空间区域添加到定时元数据轨道或样本条目。
根据实施方式的定时元数据轨道可作为由V3C轨道25000参考的单独轨道传送。
如果V-PCC轨道具有样本条目类型“dysr”的关联的定时元数据轨道,则为V-PCC轨道所承载的点云流定义的空间区域被视为动态区域。
关联的定时元数据轨道可包含承载图集流的V-PCC轨道的“cdsc”轨道参考。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可将诸如图51的VPCCSpatialRegionsBox的数据结构添加到样本条目。
扩展MetaDataSampleEntry的DynamicSpatialRegionSampleEntry包括VPCCSpatialRegionsBox。
VPCCSpatialRegionsBox的具体句法如图50中所述配置。
DynamicSpatialRegionSampleEntry的DynamicSpatialRegionSample包括如图51所示的元素。对于元素的详细定义,参考参照图50的描述。除了图50之外,图51的元素可表示与动态空间区域有关的信息。
根据实施方式的图集帧可包括多个拼块。根据实施方式的方法/装置可生成如图51所示的信令信息,以在拼块级别提供对点云数据的部分访问。因此,根据实施方式的接收方法/装置可识别如何为各个区域配置拼块。另外,其可识别拼块匹配的对象。
图54示出根据实施方式的用于封装非定时V-PCC数据的结构。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可如图54所示封装和发送/接收非定时V-PCC数据。
非定时V-PCC数据作为图像项目存储在文件中。定义两个新项目类型(V-PCC项目和V-PCC单元项目)来封装非定时V-PCC数据。
定义新处理程序类型4CC码“vpcc”并存储在MetaBox的HandlerBox中,以指示V-PCC项目、V-PCC单元项目和其它V-PCC编码内容表示信息的存在。
V-PCC项目52000:V-PCC项目是表示可独立解码的V-PCC访问单元的项目。定义项目类型“vpci”以标识V-PCC项目。V-PCC项目存储图集子比特流的V-PCC单元有效载荷。如果PrimaryItemBox存在,则设定该框中的item_id以指示V-PCC项目。
V-PCC单元项目52010: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项目关联。
aligned(8)class vpcc_unit_payload_struct(){
unsigned int(16)vpcc_unit_payload_size;
vpcc_unit_payload();
}
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单元头项目性质52030
框类型:“vunt’
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目,是
数量(每项目):一个
对于V-PCC单元头项目性质,框类型是“vunt”,性质类型是描述性项目性质,并且容器是ItemPropertyContainerBox。对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目,每项目为强制的。每项目可存在一个性质。
V-PCC单元头作为描述性项目性质存储并且与V-PCC项目和V-PCC单元项目关联。
Figure BDA0003736181990000981
图55是根据实施方式的点云数据发送方法的流程图。
根据实施方式的点云数据发送装置可包括文件/片段封装器(以下,称为封装器)和/或发送器,如图55所示。根据实施方式的点云数据编码器、文件/片段封装器和发送器可被统称为根据实施方式的点云数据发送装置和/或点云数据系统。在本文献中,它们可被简称为根据实施方式的方法/装置。
根据实施方式的发送/接收装置可包括ISOBMFF模块。ISOBMFF模块是被配置为提供用于创建/修改/删除构成ISOBMFF格式文件的框的API的模块。
根据实施方式的发送/接收装置可包括VPCCBitstream模块。VPCCBitstream模块生成/解析VPCC比特流格式的数据。
根据实施方式的封装器可生成以ISOBMFF文件格式配置和编码V-PCC比特流所需的框结构。发送器可发送所生成的数据。根据实施方式的封装器的操作的详细流程图如下所述配置。各个操作由根据实施方式的封装器、方法/装置等执行。
0.从点云数据发送装置(或编码器)输入V-PCC编码比特流。
可创建ISOM文件。可将VpccTrack(AD)添加到文件。向系统的ISOBMFF级告知创建新的轨道。可从ISOBMFF级接收轨道。可将vpcc_sample_entry(track)添加到文件。
根据实施方式的gf函数表示创建ISOBMFF格式文件所需的框,即,用于添加/修改/删除轨道、样本等的API。
1.可基于ISOBMFF文件结构创建V-PCC轨道。
1-1.在动态空间区域的情况下,可创建定时元数据轨道。
可将TimedMetaTrack(AD)添加到文件。可向ISOBMFF级告知存在新轨道。可从ISOBMFF级接收轨道。
2.可在上述步骤1中创建的V-PCC轨道中创建样本条目。
3.可从输入比特流获得VPCC参数集信息(VPS info)。
可请求样本流V-PCC单元(VPS)。可基于V-PCC缓冲区(位置)在V-PCC比特流中请求。可获得样本流V-PCC单元。
4.可将VPS信息(info)添加到样本条目。
可向ISOBMFF级请求V-PCC解码器配置(轨道、样本流V-PCC单元)。
5.可从输入比特流获得图集场景对象信息。
可请求新对象信息(AD)。可基于V-PCC缓冲区(位置)在V-PCC比特流中请求。可获得新对象信息。
5-1.可从输入比特流获得图集对象标签信息。
可请求对象标签信息(AD)。可基于V-PCC缓冲区(位置)在V-PCC比特流中请求。可获得对象标签信息。
5-2.可从输入比特流获得图集补片信息。
可请求补片信息(AD)。可基于V-PCC缓冲区(位置)在V-PCC比特流中请求。可获得补片信息。
6.基于图集体积平铺信息,可创建适合于点云系统文件格式的VPCCSpatialRegionsBox结构并添加到样本条目。另选地,在动态空间区域的情况下,VPCCSpatialRegionsBox结构可被添加到定时元数据轨道的样本条目。
可请求V-PCC解码器配置(轨道、V-PCC空间区域框)。
7.可从输入比特流获得图集VPCC单元头信息。
可请求V-PCC单元头框(AD)。可基于V-PCC缓冲区(位置)在V-PCC比特流中请求。可获得单元头。
8.可将VPCC单元头信息添加到样本条目。
可请求V-PCC单元头(轨道、单元头)。
9.可根据nalType将图集NAL单元数据添加到样本条目或样本。
在大小循环(LOOP)下,可执行以下操作。可在比特流中请求V-PCC单元(AD),并且可获得样本流NAL单元。
在NAL计数的循环下,可对图集数据执行以下操作。
当NAL类型是NAL_ASPS时,可通过在比特流中进行GET请求来获得样本流NAL单元ASPS。可请求V-PCC解码器配置(轨道、样本流NAL单元ASPS)。
当NAL类型是NAL_PREFIX_SEI时,可通过在比特流中进行GET请求来获得样本流NAL单元SEI。可请求V-PCC解码器配置(轨道、样本流NAL单元SEI)。
在其它NAL类型的情况下,可通过在比特流中进行GET请求来获得NAL单元。
可通过向ISOBMFF级进行对样本的请求来获得样本。
10.可将除了作为图集NAL单元数据类型的NAL_ASPS或NAL_XXXX_SEI之外的数据添加到样本。
存储器可被复制以存储样本中的数据。
11.可将在上述步骤10中创建的样本添加到V-PCC轨道。
可添加样本(轨道、样本)。可请求新样本,可接收样本。
12.在动态空间区域的情况下,可将DynamicSpatialRegionSample添加到定时元数据轨道的样本。
13.可将样本添加到定时元数据轨道。
存储器可被复制以存储样本中的数据。可获得样本(轨道、样本)。
图56是根据实施方式的点云数据接收方法的流程图。
根据实施方式的点云数据接收装置可包括文件/片段解封装器(以下,称为解封装器)和/或接收器。根据实施方式的点云数据解码器、文件/片段解封装器和接收器可被统称为根据实施方式的点云数据接收装置和/或点云数据系统。在本公开中,它们可被简称为根据实施方式的方法/装置。
如图56的点云系统架构中所示,根据实施方式的点云数据接收装置可包括接收器和/或文件/片段解封装器(以下,称为解封装器)。接收器可接收点云数据(V-PCC ISOBMFF文件格式)。解封装器可将V-PCC文件(ISOBMFF文件)解封装为V-PCC比特流,并且可解析解码所需的框结构。接收装置还可包括解码器。解码器可对V-PCC比特流进行解码。
流程图中的操作可由根据实施方式的解封装器和/或方法/装置执行。
0.可输入以V-PCC ISOBMFF封装的.mp4文件。
可将文件解封装。文件可基于解码器参数来解封装。可获得文件。
可基于文件获得比特流。
可基于帧计数在循环中执行以下操作。
1.可从输入(输入ISOBMFF)文件的样本条目获取VPS(V-PCC参数集)信息。
如果单元类型是VPS,则可获取VPS单元(文件)。可通过获取和解析轨道来获得VPS。
2.在上述操作1中获取的VPS信息可被配置为V-PCC比特流的形式。
如果单元类型是AD,则可获取V-PCC头(轨道、类型)。
3.可从输入ISOBMFF文件的样本条目获取V-PCC单元头信息。
4.在上述操作3中获取的V-PCC单元头信息可被配置为V-PCC比特流的形式。
5.可从输入ISOBMFF文件的样本条目获取VPCCSpatialRegionsBox信息。另选地,在动态空间区域的情况下,可从定时元数据轨道的样本条目获取VPCCSpatialRegionsBox信息。
6.可从输入ISOBMFF文件的样本条目获取V-PCC配置信息。在V-PCC配置信息中,VPS和NAL单元类型包括诸如NAL_ASPS和NAL_XXXX_SEI的图集数据。
可获取SPS单元(ASPS、SEI)。
7.从输入ISOBMFF文件的样本,NAL单元类型可获取诸如TSA的图集数据。
可获取图集数据(AFPS、TSA)。
7-1.在动态空间区域的情况下,可从定时元数据轨道的样本获取DynamicSpatialRegionSample信息。
可获取样本(文件、类型、索引),并且可接收动态空间区域样本。
8.在基于在操作5中获取的vti_object_tile_group_id或object_tile_id在操作7中获取的图集数据当中,可仅解析匹配afti_tile_group_id(或图集拼块ID)和atgh_address的数据。
可解析图集数据(afti_tile_group_id或图集拼块ID)。
9.可使用在上述操作6至操作8中获取的图集数据来配置构成V-PCC图集子比特流的SampleStreamNalUnit数据。
可生成样本流NAL单元有效载荷(ASPS+AFPS+TSA+SEI)。
10.可配置用于V-PCC比特流解码的V-PCC图集子比特流。
11.通过经由VPCCBitstreamDecoder解析在上述操作10中生成的V-PCC图集子比特流,可获取重构点云所需的图集类型组或图集拼块和补片数据。
图57示出根据实施方式的文件格式结构。
图57示出根据实施方式的文件级别信令结构。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可按照图中所示的结构创建和发送/接收文件。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可如下在文件级别用信号通知数据。
根据实施方式的信令信息、元数据、参数等可包含在V-PCC轨道(或V3C轨道)57030、25000的样本条目中,并且可在定时元数据轨道的样本条目和样本中发送/接收。
由多个图集拼块组(或图集拼块)组成以用于部分访问的V-PCC比特流可由封装器封装在如图57所示的文件格式结构中。样本组1 55000可具有三个图集拼块组(与图集拼块对应)(ATG1至ATG3或AT1至AT3)。
由于空间区域的位置和/或大小的改变,样本组2(57010)可具有两个图集拼块组(或图集拼块)(ATG1和ATG2或AT1和AT2)。
样本组3(57020)可由相同或不同的图集拼块组(或图集拼块)组成。
文件可包含moov框和mdat框。moov框和mdat框可被称为轨道。当v-pcc轨道57030的类型是图集数据AD时,包含与样本对应的图集拼块的mdat框可位于moov框后面。
当文件中存在多个轨道时,可执行轨道之间的分组。
包含OVD的轨道、包含GVD的轨道和包含AVD的轨道可被分组为轨道组1(57040)。
包含GVD的轨道和包含AVD的轨道可被分组为轨道组2(57050)。
可在与文件有关的轨道之间执行参考。
轨道1(57030)可参考组1(57040)和组2(57050)。
根据实施方式的点云数据发送/接收方法/装置和包括在发送/接收装置中的系统可如图58所示执行文件级别信令。
图58示出根据实施方式的文件级别信令。
根据实施方式的方法/装置可生成NALUMapEntry作为SampleGroupDescription的SampleGroupEntry。
atlas_tile_group_id(或atlas_tile_id)可被指派给各个图集NAL单元。点云接收器可根据atlas_tile_group_id(或atlas_tile_id)仅聚合与各个空间区域对应的图集NAL单元。
如图58所示,根据实施方式的方法/装置可创建sampletogroupbox和NALUMapEntry之间的链接关系。sampletogroupbox和NALUMapEntry二者可包含在moov框中的样本条目中。
根据实施方式的NALUMapEntry可如ISO/IEC 14496-15[14496-15]中指定那样定义。
当存在VPCCSpatialRegionsBox时,NALUMapEntry可存在于V-PCC轨道中。
NALUMapEntry可用于将groupID指派给各个图集NAL单元。
NALUMapEntry可以或可以不链接到设定类型“nalm”的SampleToGroupBox的grouping_type_parameter的样本组描述。
类型“nalm”的SampleToGroupBox可以或可以不使用版本0的框。
根据实施方式的V-PCC轨道可包含SampleToGroupBox 58000。
SampleToGroupBox 58000可包含具有值nalm的grouping_type_parameter,并且包含多个样本组。
例如,当如图57所示配置时,样本组1(57000)具有设定为3的sample_count,并且包括样本1至3。在这种情况下,样本描述索引可为1。
样本组2(57010)具有设定为2的sample_count,并且可如图57所示包括样本1和样本2。在这种情况下,样本描述索引为2。
样本组3(57020)具有设定为N的sample_count并且可包括N个样本。在这种情况下,样本描述索引为3。
根据实施方式的V-PCC轨道可包含SampleGroupDescriptionBox 58010。
SampleGroupDescriptionBox 58010可包含关于SampleToGroupBox的附加信息。分组类型是“nalm”,并且可通过样本组条目为各个样本组提供文件级别信令信息。
NALUMapEntry 1(58020)可提供关于样本组1(57000)的配置信息。
例如,当用信号通知如图57所示的配置时,NALUMapEntry 1(58020)可具有总共9个条目。
NALUMapEntry可表示包含在与样本组1有关的轨道中的NALU 1-9中所包括的图集拼块组(或图集拼块)。
例如,NALUMapEntry 1(58020)告知NALU 1被映射至图集拼块组1。类似地,告知NALU 2至9分别与图集拼块组2至9匹配。
根据实施方式的方法/装置涉及一种用于提供点云内容服务的发送器或接收器。如上所述,可配置V-PCC比特流,并且可存储文件。
根据实施方式的方法/装置/系统可有效地复用和解复用V-PCC比特流。另外,可支持基于每V-PCC单元对比特流的有效访问。V-PCC比特流的图集流可被有效地存储在文件中的轨道中并发送。
V-PCC比特流中用于数据处理和渲染的SEI消息/信息可被有效地存储在文件中并发送。
根据实施方式的点云压缩处理装置、发送器、接收器、点云播放器、编码器或解码器提供本文献中公开的效果。
另外,利用所提出的数据表示方法,可有效地访问点云比特流。可有效地访问点云比特流的数据处理和渲染所需的信息。
根据实施方式的发送器或接收器可将V-PCC比特流划分并存储在文件中的一个或更多个轨道中,并且可提供其信令信息。
可通过用于指示包含V-PCC比特流的多个轨道之间的关系的信令和存储在文件中的替代V-PCC轨道的指示来有效地存储和发送点云比特流的文件。
如上所述,根据实施方式的方法/装置可基于根据实施方式的操作有效地用信号通知动态变化的点空间区域。例如,已描述了使用样本组的信令和使用定时元数据轨道的信令。
根据实施方式的方法/装置可提供基于视频的点云内容的部分访问的支持。
根据实施方式的方法/装置可根据用户视口生成和发送/接收用于支持V-PCC内容的空间访问的关于V-PCC内容的3D区域信息以及与之关联的视频或图集帧中的2D区域相关元数据。
根据实施方式的方法/装置可生成和发送/接收关于点云比特流中的点云的3D区域信息以及关于与之有关的视频或图集帧的2D区域相关信令信息。
根据实施方式的方法/装置可存储关于文件中的点云的3D区域信息以及关于与之有关的视频或图集帧的2D区域相关信息,并且生成和发送/接收与之有关的信令信息。
根据实施方式的方法/装置可存储和发送/接收关于文件中与图像项目关联的点云的3D区域信息以及关于与之关联的视频或图集帧的2D区域相关信息。
图59示出根据实施方式的点云的3D区域与视频帧中的区域之间的关联。
由于用户的放大操作或用户视口的改变,根据实施方式的接收装置和渲染器可在用户视口上渲染或显示点云对象/数据的部分而非全部。
根据实施方式的PCC解码器/播放器可解码或处理与用户视口上渲染或显示的点云数据部分关联的视频或图集数据以用于有效处理。
根据实施方式的PCC解码器/播放器可不执行解码或处理与未渲染或显示的部分/区域的点云数据关联的视频或图集数据的操作,以用于有效处理。
与对象59000的点云的部分3D区域59010关联的数据59020可与视频帧59030内的一个或更多个2D区域59040的视频数据59050关联。
在动态点云数据(点云中的点数改变或者点云的位置随时间改变的数据)的情况下,显示在同一三维区域中的点云可随时间改变。
因此,为了访问用户视口上渲染/显示的点云数据空间或部分,根据实施方式的PCC解码器/播放器可将关于与可随时间改变的点云的3D区域关联的视频帧的2D区域信息以信令或元数据的形式包括在V-PCC比特流26000中或文件中(例如,图57)。
图60示出根据实施方式的参数集。
图60所示的参数集对应于图30的V-PCC参数集。
图60示出根据实施方式的参数集还可包含与点云对象59000有关的边界框的信息。对于图60的元素的定义,可参考图30的元素的定义。
vps_vpcc_parameter_set_id提供V-PCC VPS的标识符以供其它句法元素参考。
sps_bounding_box_present_flag是指示关于比特流中的点云对象/内容的总边界框的信息的存在/不存在的标志(总边界框可以是可包括随时间改变的所有边界框的边界框)。sps_bounding_box_present_flag等于1指示该比特流中承载的点云内容的总边界框偏移和大小信息。
当sps_bounding_box_present_flag等于1时,以下边界框相关参数可包括在参数集中。
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包含在比特流中。在这种情况下,PCC play可告知可获取并使用包含在SEI中的信息。
vps_atlas_count_minus1加1指示当前比特流中所支持的图集的总数。
以下与vps_atlas_count_minus1的值一样多的帧相关参数可包括在参数集中。
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_multiple_map_streams_present_flag[j]等于0指示索引j的图集的所有几何或属性图分别放置在单个几何或属性视频流中。vps_multiple_map_streams_present_flag[j]等于1指示索引j的图集的所有几何或属性图放置在单独的视频流中。
以下与vps_map_count_minus1[j]的值一样多的图相关参数可包括在参数集中。
当vps_multiple_map_streams_present_flag[j]等于1时,以下标志可包括在参数集中。
vps_map_absolute_coding_enabled_flag[j][i]等于1指示索引j的图集的索引i的几何图在没有任何形式的图预测的情况下被编码。vps_map_absolute_coding_enabled_flag[j][i]等于0指示索引j的图集的索引i的几何图在编码之前首先从另一较早编码的图预测。
当vps_multiple_map_streams_present_flag[j]不为1时,vps_map_absolute_coding_enabled_flag[j][i]=1。
如果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_raw_patch_enabled_flag[j]等于1指示具有索引j的图集的RAW编码点的补片可存在于比特流中。
当vps_raw_patch_enabled_flag[j]等于1时,vps_raw_separate_video_present_flag[j]包括在参数集中。
vps_raw_separate_video_present_flag[j]等于1指示索引j的图集的RAW编码几何和属性信息可存储在单独的视频流中。
occupancy_information()包括占用视频相关参数集。
geometry_information()包括几何视频相关参数集。
attribute_information()包括属性视频相关参数集。
图61示出根据实施方式的图集序列参数集(ASPS)。
图61所示的ASPS对应于图35的图集序列参数集。
图61示出包括应用于零个或更多个编码图集序列(CAS)的句法元素的句法结构。对于图61的元素的定义,可参考图35的元素的定义。
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指定图集帧存储缓冲区的解码图集帧缓冲区的最大所需大小。
asps_long_term_ref_atlas_frames_flag等于0指定长期参考图集帧不用于CAS中的任何编码图集帧的帧间预测。
asps_num_ref_atlas_frame_lists_in_asps指定图集序列参数集中所包括的ref_list_struct(rlsIdx)句法结构的数量。
asps_use_eight_orientations_flag等于0指定索引i的帧中索引j的补片的补片取向索引pdu_orientation_index[i][j]在0至1(含)的范围内。
asps_45degree_projection_patch_present_flag等于0指定不针对当前图集拼块组(或拼块)用信号通知补片投影信息。asps_45degree_projection_present_flag等于1指定针对当前图集拼块组(或拼块)用信号通知补片投影信息。
asps_normal_axis_limits_quantization_enabled_flag等于1指定应用信号通知量化参数并用于量化补片数据单元、合并补片数据单元或补片间数据单元的法向轴相关元素。
asps_normal_axis_max_delta_value_enabled_flag等于1指定索引j的帧中索引i的补片的几何信息中可能存在的法向轴的最大标称移位值可在各个补片数据单元、合并补片数据单元或补片间数据单元的比特流中指示。
asps_remove_duplicate_point_enabled_flag等于1指示对于当前图集不应重构重复点,其中重复点是具有与来自较低索引图的另一点相同的2D和3D几何坐标的点。
asps_pixel_deinterleaving_flag等于1指示当前图集的解码几何和属性视频包含来自两个图的空间交织像素。
asps_patch_precedence_order_flag等于1指示当前图集的补片优先顺序与解码顺序相同。
asps_patch_size_quantizer_present_flag等于1指示图集拼块组头中存在补片大小量化参数。asps_patch_size_quantizer_present_flag等于0指示补片大小量化参数不存在。
asps_enhanced_occupancy_map_for_depth_flag等于1指示当前图集的解码占用图视频包含与两个深度图之间的中间深度位置是否被占用有关的信息。asps_enhanced_occupancy_map_for_depth_flag等于0指示解码占用图视频不包含与两个深度图之间的中间深度位置是否被占用有关的信息。
asps_point_local_reconstruction_enabled_flag等于1指示在当前图集的比特流中可存在点局部重构模式信息。asps_point_local_reconstruction_enabled_flag等于0指示在当前图集的比特流中不存在与点局部重构模式有关的信息。
asps_map_count_minus1加1指示可用于对当前图集的几何和属性数据进行编码的图的数量。
asps_enhanced_occupancy_map_fix_bit_count_minus1加1指示EOM码字的大小(比特)。
当asps_pixel_deinterleaving_flag或asps_point_local_reconstruction_flag等于1时,asps_surface_thickness_minus1加1指定明确编码深度值和插值深度值之间的最大绝对差。
asps_vui_parameters_present_flag等于1指定存在vui_parameters()句法结构。
图62示出根据实施方式的图集帧参数集(AFPS)。
图62的AFPS可对应于图36的图集帧参数集。对于图62的元素的定义,可参考图37的元素的定义。
afps_atlas_frame_parameter_set_id标识图集帧参数集以供其它句法元素参考。其它句法元素可参考的标识符可通过AFPS来提供。
afps_atlas_sequence_parameter_set_id指定活动图集序列参数集的值。
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_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_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的图集拼块组头中。
图63示出根据实施方式的图集帧拼块信息(atlas_frame_tile_information)。
图63的atlas_frame_tile_information可对应于图37的atlas_frame_tile_information。对于图63的元素的定义,可参考图37的元素的定义。
afti_single_tile_in_atlas_frame_flag等于1指定在各个图集帧中仅存在一个拼块参考AFPS。
afti_uniform_tile_spacing_flag等于1指定拼块列和行边界横跨图集帧均匀地分布并分别使用句法元素afti_tile_cols_width_minus1和afti_tile_rows_height_minus1用信号通知。
当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等于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_tile_row_height_minus1[i]加1以64样本为单位指定第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加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_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等于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比特。
图64示出根据实施方式的补充增强信息(SEI)。
图64示出如图33所示的根据实施方式的比特流中包含的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)(参见图65等)、3d_region_mapping(payloadSize)(参见图66等)和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)。
图65示出根据实施方式的3D边界框SEI。
图65示出如图33所示的根据实施方式的比特流中包含的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轴上边界框的大小。
图66示出根据实施方式的3D区域映射信息SEI消息。
图66示出如图33所示的根据实施方式的比特流中包含的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区域的帧中的水平范围(宽度)和垂直范围(高度)值。
图66的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区域)的信令信息。
图66的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区域)之间的映射关系并获取对应数据。
图67示出根据实施方式的体积平铺信息。
图67示出如图33所示的根据实施方式的比特流中所包含的SEI信息的详细句法。
体积平铺信息SEI消息
该SEI消息告知根据实施方式的V-PCC解码器避免解码的点云的不同特性,包括2D图集和3D空间内的区域的对应、区域的关系和标记以及与对象的关联。
该SEI消息的持久性范围可以是比特流的剩余部分或者直至遇到新体积平铺SEI消息。可仅更新SEI消息中指定的对应参数。如果未修改并且如果vti_cancel_flag的值不等于1,则从较早SEI消息先前定义的参数可持续存在。
图68示出根据实施方式的体积平铺信息对象。
图68示出图67中所包括的volumetric_tiling_info_objects信息的详细句法。
基于vtiObjectLabelPresentFlag、vti3dBoundingBoxPresentFlag、vtiObjectPriorityPresentFlag、tiObjectHiddenPresentFlag、vtiObjectCollisionShapePresentFlag、vtiObjectDependencyPresentFlag等,volumetric_tiling_info_objects可包括如图68所示的元素。
图69示出根据实施方式的体积平铺信息标签。
图69示出图67中所包括的volumetric_tiling_info_labels的详细句法。
vti_cancel_flag等于1指示体积平铺信息SEI消息取消输出顺序上的任何先前体积平铺信息SEI消息的持久性。vti_cancel_flag等于0指示体积平铺信息遵循如图67所示。
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_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_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指示对于对象索引为i的对象存在3D边界框信息。vti_3d_bounding_box_update_flag[i]等于0指示3D边界框信息不存在。
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轴上的边界框的大小。
vti_object_priority_update_flag[i]等于1指示对于索引i的对象存在对象优先级更新信息。vti_object_priority_update_flag[i]等于0指示对象优先级信息不存在。
vti_object_priority_value[i]指示索引i的对象的优先级。优先级值越低,优先级越高。
vti_object_hidden_flag[i]等于1指示索引i的对象应被隐藏。vti_object_hidden_flag[i]等于0指示索引i的对象应变为存在。
vti_object_label_update_flag等于1指示对于对象索引为i的对象存在对象标签更新信息。vti_object_label_update_flag[i]等于0指示对象标签更新信息不存在。
vti_object_label_idx[i]指示索引i的对象的标签索引。
vti_object_collision_shape_update_flag[i]等于1指示对于对象索引为i的对象存在对象冲突形状更新信息。vti_object_collision_shape_update_flag[i]等于0指示对象冲突形状更新信息不存在。
vti_object_collision_shape_id[i]指示索引i的对象的冲突形状id。
vti_object_dependency_update_flag[i]等于1指示对于对象索引为i的对象存在对象依赖更新信息。vti_object_dependency_update_flag[i]等于0指示对象依赖更新信息不存在。
vti_object_num_dependencies[i]指示索引i的对象的依赖数量。
vti_object_dependency_idx[i][j]指示与索引i的对象具有依赖性的第j对象的索引。
体积视觉轨道
各个体积视觉场景由唯一体积视觉轨道表示。
ISOBMFF文件可包含多个场景,因此文件中可存在多个体积视觉轨道。
体积视觉轨道由MediaBox的HandlerBox中的体积视觉媒体处理器类型“volv”标识。体积视觉媒体头如下定义。
体积视觉媒体头
框类型:“vvhd”
容器:MediaInformationBox
强制:是
数量:恰好一个
体积视觉轨道应使用MediaInformationBox中的VolumetricVisualMediaHeaderBox。
aligned(8)class VolumetricVisualMediaHeaderBox
extends FullBox(‘vvhd’,version=0,1){
}
“version”是指定该框的版本的整数。
体积视觉样本条目
体积视觉轨道应使用VolumetricVisualSampleEntry。
Figure BDA0003736181990001181
Figure BDA0003736181990001191
compressor_name是用于信息目的的名称。其可被格式化为固定32字节字段,第一字节被设定为要显示的字节数,之后是使用UTF-8编码的可显示数据的字节数,然后填充以完成总共32字节(包括大小字节)。该字段可被设定为0。
体积视觉样本
体积视觉样本的格式由编码系统定义。
V-PCC单元头框
该框可存在于V-PCC轨道(在样本条目中)和所有视频编码V-PCC组件轨道(在方案信息中)二者中。其包含各个轨道所承载的数据的V-PCC单元头。
Figure BDA0003736181990001192
框包含如上vpcc_unit_header()。
V-PCC解码器配置记录
该记录包含版本字段。该版本的规范定义了该记录的版本1。对记录的不兼容改变将由版本号的改变指示。如果版本号无法识别,则读者不会尝试解码该记录或应用其的流。
VPCCParameterSet的阵列包括如上定义的vpcc_parameter_set()。
atlas_setupUnit阵列应包括对于存在解码器配置记录的样本条目所参考的流恒定的图集参数集以及图集流SEI消息。
Figure BDA0003736181990001193
Figure BDA0003736181990001201
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 BDA0003736181990001202
Figure BDA0003736181990001211
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 BDA0003736181990001221
numOfAtlasParameterSets指定样本组描述中用信号通知的图集参数集的数量。
atlasParameterSet是包含与该样本组关联的图集序列参数集、图集帧参数集的sample_stream_vpcc_unit()实例。
图集参数样本组描述条目可如下配置。
Figure BDA0003736181990001222
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 BDA0003736181990001231
numOfSEIs指定样本组描述中用信号通知的V-PCC SEI的数量。
sei是包含与该组样本关联的SEI信息的sample_stream_vpcc_unit()实例。
V-PCC SEI样本组描述条目可如下配置。
Figure BDA0003736181990001232
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 BDA0003736181990001241
V-PCC 3D区域映射样本组
用于样本分组的“vpsr”grouping_type表示向该样本组中承载的3D区域映射信息指派V-PCC轨道中的样本。当存在grouping_type等于“vpsr”的SampleToGroupBox时,存在具有相同分组类型的附随SampleGroupDescriptionBox,并且包含样本所属的该组的ID。
V-PCC轨道可包含grouping_type等于“vpsr”的至多一个SampleToGroupBox。
aligned(8)class VPCC3DRegionMappingSampleGroupDescriptionEntry()extends SampleGroupDescriptionEntry(‘vpsr’){
VPCC3DRegionMappingBox 3d_region_mapping;}
V-PCC比特流的多轨道容器
多轨道ISOBMFF V-PCC容器的一般布局,其中V-PCC基本流中的V-PCC单元基于其类型被映射至容器文件内的各个轨道。多轨道ISOBMFF V-PCC容器中有两种类型的轨道:V-PCC轨道和V-PCC组件轨道。
V-PCC轨道(或v3c轨道)24030或25000是承载包括图集子比特流和序列参数集的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轨道(或3c轨道)中并发送。此外,根据实施方式的方法/装置可在v-pcc轨道(或3c轨道)的样本条目中发送根据实施方式的图集比特流和参数信息。
另外,根据实施方式的方法/装置可基于单个轨道在V-PCC基本流轨道中发送根据实施方式的图集比特流和参数信息。此外,根据实施方式的方法/装置可在V-PCC基本流轨道的样本条目或样本中发送图集比特流和参数信息。
属于同一V-PCC序列的轨道可时间对齐。横跨不同视频编码V-PCC组件轨道和V-PCC轨道对相同点云帧有贡献的样本具有相同的呈现时间。用于这些样本的V-PCC图集序列参数集和图集帧参数集的解码时间等于或早于点云帧的编排时间。另外,属于同一V-PCC序列的所有轨道具有相同的隐含或明确编辑列表。
注意:组件轨道中的基本流之间的同步可由ISOBMFF轨道定时结构(stts、ctts和cslg)或者电影碎片中的等效机制处理。
基于该布局,V-PCC ISOBMFF容器应包括以下内容(参见图24):
-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 BDA0003736181990001261
图70示出根据实施方式的V-PCC样本条目。
图70示出图24的V-PCC轨道(或V3C轨道)24030和图25的V3C轨道25000中所包括的样本条目的结构图。
图70示出根据本公开的实施方式的示例性V-PCC样本条目结构。样本条目包含V-PCC参数集(VPS)70000,并且可选地包含图集序列参数集(ASPS)70010、图集帧参数集(AFPS)70020和/或SEI 70030。
可通过图27的生成和解析V-PCC比特流的实施方式来生成和解析图70的V-PCC比特流。
V-PCC比特流可包含样本流V-PCC头、样本流头、V-PCC单元头框和样本流V-PCC单元。
V-PCC比特流对应于参照图26和图27描述的V-PCC比特流,或者是其扩展形式的示例。
V-PCC轨道样本格式
V-PCC轨道中的各个样本对应于单个点云帧。各种组件轨道中与该帧对应的样本应具有与V-PCC轨道样本相同的编排时间。各个V-PCC样本可包括一个或更多个图集NAL单元。
aligned(8)class VPCCSample{
unsigned int PointCloudPictureLength=sample_size;//表示来自SampleSizeBox的样本大小。
Figure BDA0003736181990001271
Figure BDA0003736181990001281
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轨道的轨道参考的参考类型。
根据实施方式的点云数据发送方法可包括:将点云数据封装;以及生成包含点云数据的多个轨道的容器。
根据实施方式的点云数据接收装置的被配置为将点云数据解封装的解封装器可解析包含点云数据的多个轨道的容器。
根据实施方式的多个轨道可包括第一轨道、第二轨道、第三轨道和第四轨道。第一轨道可包含点云数据的占用图,第二轨道可包含点云数据的几何数据。第三轨道可包含点云数据的属性数据,第四轨道可包含点云数据的参数集和图集数据。
根据实施方式的第四轨道可包含空间区域信息以用于对点云数据的3D空间区域的部分访问,并且空间区域信息可包括指示与包括在3D空间区域中的点云数据关联的图集拼块的数量的信息和指示图集拼块的拼块标识信息。
根据实施方式的空间区域信息可包括静态信息或根据时间的动态信息。
在根据实施方式的点云数据的编码中,可生成包含点云数据的比特流以及与点云数据有关的图集比特流,并且图集比特流可包含用于映射与点云数据有关的3D区域的3D区域信息。
根据实施方式的3D区域信息可包括关于点云数据的3D区域的位置信息和大小信息,并且可包括关于存在与3D区域有关的图集数据的帧的2D区域的信息。
图71示出根据实施方式的轨道替换和分组。
图71示出应用ISOBMFF文件结构的轨道的替换或分组的示例。
轨道替代和轨道分组:
具有相同alternate_group值的V-PCC组件轨道是相同V-PCC组件的不同编码版本。体积视觉场景可被替代编码。在这种情况下,作为彼此的替代的所有V-PCC轨道在其TrackHeaderBox中具有相同的alternate_group值。
类似地,当表示V-PCC组件之一的2D视频轨道以替代编码时,可存在对那些替代之一的轨道参考,并且这些替代形成备选组。
图64示出基于文件结构构成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 BDA0003736181990001301
Figure BDA0003736181990001311
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字段来标识。
点云数据的部分访问
3D边界框信息结构
3DBoundingBoxStruct提供点云数据的3D边界框信息,包括点云数据的3D边界框的x、y、z偏移以及3D边界框的宽度、高度和深度。
Figure BDA0003736181990001312
Figure BDA0003736181990001321
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区域信息。
Figure BDA0003736181990001322
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 BDA0003736181990001331
2d_region_id可指示2D区域的标识符。
2d_region_top和2d_region_left可分别包括帧内的2D区域的左上位置的垂直坐标值和水平坐标值。
2d_dimension_included_flag可以是指示是否包括2D区域的宽度和高度值的标志。
2d_region_width和2d_region_height可分别包括帧内的2D区域的水平范围(宽度)和垂直范围(高度)。
图72示出根据实施方式的V-PCC 3D区域映射信息结构。
PCC 3D区域映射信息结构
VPCC3DRegionMappingInfoStruct可包含关于包含与视频或图集帧内的点云数据的3D区域关联的数据的一个或更多个几何、占用或属性视频或图集帧的2D区域信息。
Figure BDA0003736181990001332
Figure BDA0003736181990001341
3DRegionInfoStruct()可表示一些或所有点云数据在3D空间中的3D区域信息。
num_2d_regions[i]可指示包含与3D区域中的点云数据有关的数据的一个或更多个视频或图集帧的2D区域的数量。
2DRegionInfoStruct可指示关于包含与3D区域中的点云数据相关的数据关联的数据的几何、占用或属性视频或图集帧的2D区域信息。
V-PCC 3D区域映射信息框
V-PCC 3D区域映射信息框还可包含PCC 3D区域映射信息结构。其还包含关于拼块的附加信息。
VPCC3DRegionMappingBox可包含部分或所有点云数据在3D空间中的3D区域信息、关于包含与3D区域中的点云数据关联的数据的一个或更多个视频或图集帧的2D区域信息以及关于与各个2D区域关联的视频、图集拼块或拼块组的信息。
Figure BDA0003736181990001342
Figure BDA0003736181990001351
2d_region_id是几何、占用、属性、视频或图集帧的2D区域的标识符。
num_tiles是与几何、占用、属性视频或图集帧的2D区域关联的视频帧的拼块或图集帧的拼块的数量。
tile_id[k]是与几何、占用、属性视频或图集帧的2D区域关联的视频帧或图集帧的拼块标识符。
num_tile_groups指示与几何、占用、属性视频或图集帧的2D区域关联的视频帧的拼块组或视频帧的拼块组的数量。
tile_group_id是与几何、占用、属性视频或图集帧的2D区域关联的图集帧或视频帧的拼块组标识符。
由于根据实施方式的信令信息,根据实施方式的接收方法/装置可识别3D区域和一个或更多个图集拼块(2D区域)之间的静态/动态映射关系。结果,根据实施方式的接收方法/装置可有效地执行部分访问以获得期望区域的数据。例如,可按区域、按拼块ID或按对象来访问数据。
样本条目可包含以下静态信息。单独的定时元数据轨道可包含以下动态信息。例如,在多个轨道的情况下,v3c轨道的样本条目可承载静态3D空间区域信息。在单个轨道的情况下,v3c基本轨道的样本条目可承载静态3D空间区域信息。在多个轨道的情况下,定时元数据轨道可承载动态3D空间区域信息。在单个轨道的情况下,v3c基本轨道的样本条目可承载动态3D空间区域信息。
静态V-PCC 3D区域映射信息
如果关于包含与点云数据的3D区域关联的数据的一个或更多个视频或图集帧的2D区域信息以及关于与各个2D区域关联的视频或图集拼块或拼块组的信息在点云序列内不改变,VPCC3DRegionMappingBox可包含在V-PCC轨道或V-PCC基本流轨道的样本条目中。
Figure BDA0003736181990001352
Figure BDA0003736181990001361
VPCC3DRegionMappingBox中用信号通知的关于图集帧的2D区域信息可以是关于包括在V-PCC轨道中的样本中的图集帧的2D区域信息。
VPCC3DRegionMappingBox中用信号通知的关于视频(几何、属性、占用)帧的2D区域信息可以是关于通过V-PCC轨道的轨道参考而参考的视频轨道(几何、属性、占用)中的样本中所包括的视频帧的2D区域信息。
Figure BDA0003736181990001362
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 BDA0003736181990001371
点云边界框
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 BDA0003736181990001372
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的先前实例用信号通知尺寸。
基于图54的结构,根据实施方式的方法/装置/系统可传送非定时点云数据。
非定时基于视频的点云压缩数据的承载
非定时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。
Figure BDA0003736181990001391
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 BDA0003736181990001401
V-PCC 3d边界框项目性质
框类型:“v3dd”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目,是
数量(每项目):一个
3D边界信息被存储为描述性项目性质并且与V-PCC项目和V-PCC单元项目关联。
Figure BDA0003736181990001402
V-PCC 3D区域映射信息项目性质
框类型:“dysr’
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目,是
数量(每项目):一个
3D边界信息作为描述性项目性质存储并与V-PCC项目和V-PCC单元项目关联。
Figure BDA0003736181990001411
图73示出根据实施方式的比特流的结构。
图73示出包含在上述比特流中的信息之间的关系。
V-PCC(V3C)样本流73000对应于图26中的比特流26000。其可由根据实施方式的编码器和与编码器对应的装置生成,并且可由根据实施方式的解码器和与解码器对应的装置解码。
V-PCC(V3C)样本流73000包含参数集(VPS)(参见图30等)、图集数据(AD)(参见图32等)、占用视频数据(OVD)、几何视频数据(GVD)和属性视频数据(AVD)(参见图26等)。对于各个数据的句法和结构,参考上述附图和对应段落。
V-PCC(或V3C)图集数据73010包含NAL样本流73020。
原始样本流7320包括图集序列参数集(ASPS,图35、图61等)、图集适配参数集(AAPS,图38等)、图集帧参数集(AFPS,图36、图62等)和SEI信息(ESEI、NSEI)。可包括与图集拼块有关的数据等。
图集拼块相关数据73030由图集拼块层组成。根据预测编码,图集拼块层可由I_tile和P_tile组成。各个拼块可包含关于补片的信息。
图74示出根据实施方式的发送方法。
根据实施方式的点云数据发送方法包括对点云数据进行编码(S74000)。根据实施方式的编码操作可包括诸如图1的发送装置1000的操作、点云视频编码器10003的操作、图4的编码处理、图15的编码器的操作和图18的发送装置的补片生成(18000)至复用(18007)、图20和图21的系统的点云获取(20000)至视频/图像编码(20002、20003)、获取(21000)至视频编码(21007)和图像编码(21008)以及XR装置2330的点云数据的编码的操作。
根据实施方式的点云数据发送方法还可包括将点云数据封装(S74010)。根据实施方式的封装操作可包括诸如图1、图20和图21的文件/片段封装(10003、20004、21009)以及图24和图25的文件生成(参见图26或前面的图)的操作。
根据实施方式的点云数据发送方法还可包括发送点云数据(S74020)。根据实施方式的发送操作可包括诸如图1的发送器10004、图18的发送器18008、图20和图21的传送和XR装置2330的点云数据传输的操作。
图75示出根据实施方式的接收方法。
根据实施方式的接收方法可包括接收点云数据(S75000)。根据实施方式的接收操作可包括诸如图1的接收器10006的操作、图19的接收器的操作、图20和图21的传送接收、图22的传送接收和图23的XR装置2330的数据接收的操作。
根据实施方式的接收方法还可包括将点云数据解封装(S75010)。根据实施方式的解封装操作可包括诸如图1的文件/片段解封装器10007、图20和图22的文件/片段解封装器20005和22000和XR装置2330的数据解析以及图24和图25的文件和包含图26或前面的图的数据的文件的解析的操作。
根据实施方式的接收方法还可包括对点云数据进行解码(S75020)。根据实施方式的解码操作可包括诸如图1的点云视频解码器10008的操作、图16的解码处理、图17的解码器的操作、图19的解码操作、图20的视频/图像解码(20006)、视频/图像解码(22001和22002)以及XR装置2330的点云数据解码的操作。
如上所述,用于提供与实施方式对应的点云内容服务的发送器或接收器可如上所述配置V-PCC比特流并存储文件。
用于V-PCC比特流中的数据处理和渲染的元数据可在比特流中发送。
播放器等可被允许根据用户的视口对点云对象/内容执行部分访问或空间访问。换言之,上述数据表示方法可允许根据用户的视口对点云比特流的有效访问和处理。
根据实施方式的点云数据发送装置可提供用于对点云内容(例如,V-PCC内容)的部分访问和/或空间访问的边界框及其信令信息。因此,根据实施方式的点云数据接收装置可被允许考虑播放器或用户环境以各种方式访问点云内容。
根据实施方式的点云数据发送装置可提供用于支持根据用户的视口对V-PCC内容的空间访问的V-PCC内容的3D区域信息以及关于与之关联的视频或图集帧的2D区域相关元数据。
因此,根据实施方式的点云数据发送装置可提供与3D区域和一个或更多个2D区域的映射有关的信息、与3D区域和一个或更多个图集拼块的映射有关的信息(参见图66等)、与3D区域和一个或更多个图集拼块(2D区域)的静态映射的信令有关的信息以及与3D区域和一个或更多个图集拼块(2D区域)的动态映射的信令有关的信息(参见图72和对应段落)。结果,根据实施方式的点云数据接收装置可基于根据上述实施方式的映射信息有效地执行空间访问和部分访问。
根据实施方式的点云数据发送装置可提供关于点云比特流中的点云的3D区域信息以及与之关联的视频或图集帧上的2D区域相关的信息的信令。
另外,基于关于文件中的点云的3D区域信息和关于与之关联的视频或图集帧的2D区域相关信息的存储和信令,根据实施方式的点云数据接收装置可考虑用户环境以低延迟有效地向用户提供点云内容。
此外,基于关于与文件中的图像项目关联的点云的3D区域信息和关于与之关联的视频或图集帧的2D区域相关信息,根据实施方式的点云数据接收装置可提供对点云内容的各种访问。
已在方法和/或装置方面描述了实施方式。方法的描述和装置的描述可相互补充。
尽管为了简单参照各个附图描述了实施方式,但是可通过将附图所示的实施方式合并来设计新的实施方式。如果本领域技术人员设计了记录有用于执行以上描述中提及的实施方式的程序的计算机可读记录介质,则其可落在所附权利要求及其等同物的范围内。装置和方法可不限于上述实施方式的配置和方法。上述实施方式可通过选择性地彼此完全或部分地组合来配置,以实现各种修改。尽管参照附图描述了优选实施方式,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对实施方式进行各种修改和变化。这些修改不应从实施方式的技术思想或观点方面单独地理解。
实施方式的装置的各种元件可由硬件、软件、固件或其组合实现。实施方式中的各种元件可由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施方式的任一个或更多个操作/方法,或者包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可被存储在被配置为由一个或更多个处理器执行的非暂时性CRM或其它计算机程序产品中,或者可被存储在被配置为由一个或更多个处理器执行的暂时性CRM或其它计算机程序产品中。另外,根据实施方式的存储器可用作不仅涵盖易失性存储器(例如,RAM),而且涵盖非易失性存储器、闪存和PROM的概念。另外,其还可按照载波的形式实现(例如,经由互联网的传输)。另外,处理器可读记录介质可分布到经由网络连接的计算机系统,使得处理器可读代码可按照分布式方式存储和执行。
在本文献中,术语“/”和“、”应该被解释为指示“和/或”。例如,表达“A/B”可意指“A和/或B”。此外,“A、B”可意指“A和/或B”。此外,“A/B/C”可意指“A、B和/或C中的至少一个”。另外,“A、B、C”也可意指“A、B和/或C中的至少一个”。此外,在本文献中,术语“或”应该被解释为“和/或”。例如,表达“A或B”可意指1)仅A、2)仅B和/或3)A和B二者。换言之,在本文献中术语“或”应该被解释为“另外地或另选地”。
诸如第一和第二的术语可用于描述实施方式的各种元件。然而,根据实施方式的各种组件不应受上述术语限制。这些术语仅用于将一个元件与另一元件相区分。例如,第一用户输入信号可被称为第二用户输入信号。类似地,第二用户输入信号可被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号均是用户输入信号,但除非上文清楚地另外规定,否则并不意味着相同的用户输入信号。
用于描述实施方式的术语仅用于描述特定实施方式的目的,并非旨在限制实施方式。如在实施方式的描述和权利要求中使用的,除非上文清楚地另外规定,否则单数形式包括复数指称物。表达“和/或”用于包括术语的所有可能组合。诸如“包括”或“具有”的术语旨在指示存在图形、数量、步骤、元件和/或组件,应该被理解为不排除存在附加图形、数量、步骤、元件和/或组件的可能性。如本文所使用的,诸如“如果”和“当”的条件表达不限于可选情况,旨在被解释为当满足特定条件时执行相关操作或根据该特定条件解释相关定义。
根据本说明书中描述的实施方式的操作可由根据实施方式的包括存储器和/或处理器的发送/接收装置执行。存储器可存储用于处理/控制根据实施方式的操作的程序,并且处理器可控制本说明书中描述的各种操作。处理器可被称为控制器等。在实施方式中,操作可由固件、软件和/或其组合执行。固件、软件和/或其组合可被存储在处理器或存储器中。
根据上述实施方式的操作可由根据实施方式的发送装置和/或接收装置执行。发送/接收装置可包括:发送器/接收器,其被配置为发送和接收媒体数据;存储器,其被配置为存储用于根据实施方式的处理的指令(程序代码、算法、流程图和/或数据);以及处理器,其被配置为控制发送/接收装置的操作。
处理器可被称为控制器等,并且可对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可由处理器执行。另外,处理器可被实现为用于上述实施方式的操作的编码器/解码器。
本公开的模式
如上所述,在用于执行这些实施方式的最佳模式下描述了相关细节。
工业实用性
如上所述,这些实施方式完全或部分地适用于点云数据发送/接收装置和系统。
本领域技术人员可在实施方式的范围内以各种方式改变或修改实施方式。
实施方式可包括权利要求及其等同物的范围内的变化/修改。

Claims (20)

1.一种发送点云数据的方法,该方法包括以下步骤:
对点云数据进行编码;
将所述点云数据封装;以及
发送所述点云数据。
2.根据权利要求1所述的方法,
其中,将所述点云数据封装的步骤生成包括所述点云数据的多轨道的容器。
3.根据权利要求2所述的方法,
其中,所述多轨道还包括第一轨道、第二轨道、第三轨道和第四轨道,
所述第一轨道包括所述点云数据的占用图,
所述第二轨道包括所述点云数据的几何数据,
所述第三轨道包括所述点云数据的属性数据,并且
所述第四轨道包括所述点云数据的参数集和图集数据。
4.根据权利要求3所述的方法,
其中,所述第四轨道包括用于对所述点云数据的3D空间区域的部分访问的空间区域信息,
所述空间区域信息包括表示与所述点云数据关联的图集拼块的数量的信息以及用于标识所述图集拼块的拼块标识符信息。
5.根据权利要求4所述的方法,
其中,所述空间区域信息包括静态信息或随时间的动态信息。
6.根据权利要求1所述的方法,
其中,对所述点云数据进行编码的步骤生成包括所述点云数据的比特流和用于所述点云数据的图集比特流,
其中,所述图集比特流包括用于映射所述点云数据的3D区域的3D区域信息。
7.根据权利要求6所述的方法,
其中,所述3D区域信息包括所述点云数据的3D区域的位置信息和大小信息以及存在与所述3D区域有关的图集数据的帧的2D区域的信息。
8.一种接收点云数据的设备,该设备包括:
接收器,该接收器被配置为接收点云数据;
解封装器,该解封装器被配置为将所述点云数据解封装;以及
解码器,该解码器被配置为对所述点云数据进行解码。
9.根据权利要求8所述的设备,
其中,所述解封装器解析包括所述点云数据的多轨道的容器。
10.根据权利要求9所述的设备,
其中,所述多轨道还包括第一轨道、第二轨道、第三轨道和第四轨道,
所述第一轨道包括所述点云数据的占用图,
所述第二轨道包括所述点云数据的几何数据,
所述第三轨道包括所述点云数据的属性数据,并且
所述第四轨道包括所述点云数据的参数集和图集数据。
11.根据权利要求10所述的设备,
其中,所述第四轨道包括用于对所述点云数据的3D空间区域的部分访问的空间区域信息,
所述空间区域信息包括表示与所述点云数据关联的图集拼块的数量的信息以及用于标识所述图集拼块的拼块标识符信息。
12.根据权利要求11所述的设备,
其中,所述空间区域信息包括静态信息或随时间的动态信息。
13.根据权利要求8所述的设备,
其中,所述解码器对包括所述点云数据的比特流和用于所述点云数据的图集比特流进行解码,
其中,所述图集比特流包括用于映射所述点云数据的3D区域的3D区域信息。
14.根据权利要求13所述的设备,
其中,所述3D区域信息包括所述点云数据的3D区域的位置信息和大小信息以及存在与所述3D区域有关的图集数据的帧的2D区域的信息。
15.一种发送点云数据的设备,该设备包括:
编码器,该编码器被配置为对点云数据进行编码;
封装器,该封装器被配置为将所述点云数据封装;以及
发送器,该发送器被配置为发送所述点云数据。
16.根据权利要求15所述的设备,
其中,所述封装器生成包括所述点云数据的多轨道的容器。
17.根据权利要求16所述的设备,
其中,所述多轨道还包括第一轨道、第二轨道、第三轨道和第四轨道,
所述第一轨道包括所述点云数据的占用图,
所述第二轨道包括所述点云数据的几何数据,
所述第三轨道包括所述点云数据的属性数据,并且
所述第四轨道包括所述点云数据的参数集和图集数据。
18.一种接收点云数据的方法,该方法包括以下步骤:
接收点云数据;
将所述点云数据解封装;以及
对所述点云数据进行解码。
19.根据权利要求18所述的方法,
其中,将所述点云数据解封装的步骤解析包括所述点云数据的多轨道的容器。
20.根据权利要求19所述的方法,
其中,所述多轨道还包括第一轨道、第二轨道、第三轨道和第四轨道,
所述第一轨道包括所述点云数据的占用图,
所述第二轨道包括所述点云数据的几何数据,
所述第三轨道包括所述点云数据的属性数据,并且
所述第四轨道包括所述点云数据的参数集和图集数据。
CN202080092244.0A 2020-01-09 2020-09-23 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 Active CN114930863B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310893204.1A CN116684667A (zh) 2020-01-09 2020-09-23 点云数据发送装置和方法、点云数据接收装置和方法
CN202310892295.7A CN116684666A (zh) 2020-01-09 2020-09-23 点云数据发送装置和方法、点云数据接收装置和方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062959129P 2020-01-09 2020-01-09
US62/959,129 2020-01-09
KR20200044234 2020-04-10
KR10-2020-0044234 2020-04-10
PCT/KR2020/012847 WO2021141208A1 (ko) 2020-01-09 2020-09-23 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202310892295.7A Division CN116684666A (zh) 2020-01-09 2020-09-23 点云数据发送装置和方法、点云数据接收装置和方法
CN202310893204.1A Division CN116684667A (zh) 2020-01-09 2020-09-23 点云数据发送装置和方法、点云数据接收装置和方法

Publications (2)

Publication Number Publication Date
CN114930863A true CN114930863A (zh) 2022-08-19
CN114930863B CN114930863B (zh) 2023-08-08

Family

ID=76788107

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202080092244.0A Active CN114930863B (zh) 2020-01-09 2020-09-23 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN202310892295.7A Pending CN116684666A (zh) 2020-01-09 2020-09-23 点云数据发送装置和方法、点云数据接收装置和方法
CN202310893204.1A Pending CN116684667A (zh) 2020-01-09 2020-09-23 点云数据发送装置和方法、点云数据接收装置和方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202310892295.7A Pending CN116684666A (zh) 2020-01-09 2020-09-23 点云数据发送装置和方法、点云数据接收装置和方法
CN202310893204.1A Pending CN116684667A (zh) 2020-01-09 2020-09-23 点云数据发送装置和方法、点云数据接收装置和方法

Country Status (6)

Country Link
US (1) US11394979B2 (zh)
EP (1) EP4047935A4 (zh)
JP (2) JP7434577B2 (zh)
KR (1) KR102381162B1 (zh)
CN (3) CN114930863B (zh)
WO (1) WO2021141208A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230043987A1 (en) * 2019-12-13 2023-02-09 Sony Group Corporation Image processing apparatus and method
WO2021140276A1 (en) * 2020-01-10 2021-07-15 Nokia Technologies Oy Storage of multiple atlases from one v-pcc elementary stream in isobmff
EP4090013A4 (en) 2020-01-10 2024-01-17 Lg Electronics Inc POINT CLOUD DATA TRANSMISSION DEVICE, POINT CLOUD DATA TRANSMISSION METHOD, POINT CLOUD DATA RECEIVING DEVICE, AND POINT CLOUD DATA RECEIVING METHOD
US11954891B2 (en) * 2020-06-30 2024-04-09 Electronics And Telecommunications Research Institute Method of compressing occupancy map of three-dimensional point cloud
US11706450B2 (en) * 2020-09-18 2023-07-18 Samsung Electronics Co., Ltd. Partial decoding and reconstruction of a video-based point cloud compression bitstream
EP4252421A4 (en) * 2020-11-30 2023-10-11 ZTE Corporation MULTI-ATLAS ENCAPSULATION OF IMMERSIVE MEDIA
US11979606B2 (en) * 2021-06-04 2024-05-07 Tencent America LLC Conditional recolor for video based point cloud coding
EP4145832A1 (en) * 2021-09-02 2023-03-08 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
EP4199522A1 (en) * 2021-12-20 2023-06-21 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encapsulating/parsing point cloud data in/from encapsulating containers
WO2024059232A1 (en) * 2022-09-16 2024-03-21 Innopeak Technology, Inc. Point cloud decoding method, point cloud encoding method, decoder and encoder
US11875447B1 (en) * 2023-05-26 2024-01-16 Illuscio, Inc. Systems and methods for color correcting three-dimensional objects formed by point cloud data points
CN117437162B (zh) * 2023-12-22 2024-03-08 吉林大学 一种基于实例级序列混合的动态点云数据增强方法及装置
CN117894015B (zh) * 2024-03-15 2024-05-24 浙江华是科技股份有限公司 点云标注数据优选方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160138914A1 (en) * 2014-11-13 2016-05-19 Fu Tai Hua Industry (Shenzhen) Co., Ltd. System and method for analyzing data
US20170186177A1 (en) * 2015-12-29 2017-06-29 Texas Instruments Incorporated Method and System for Real Time Structure From Motion in a Computer Vision System
US20170347100A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
CN108254758A (zh) * 2017-12-25 2018-07-06 清华大学苏州汽车研究院(吴江) 基于多线激光雷达和gps的三维道路构建方法
CN108615254A (zh) * 2018-03-28 2018-10-02 广州市本真网络科技有限公司 基于树型结构网格矢量量化的点云渲染方法、系统及装置
CN109035286A (zh) * 2018-06-29 2018-12-18 北京农业信息技术研究中心 植物三维点云数据高通量获取方法及装置
US20190087979A1 (en) * 2017-09-18 2019-03-21 Apple Inc. Point cloud compression
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 (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10235338B2 (en) * 2014-09-04 2019-03-19 Nvidia Corporation Short stack traversal of tree data structures
CN117197314A (zh) * 2016-08-19 2023-12-08 莫维迪厄斯有限公司 使用稀疏体积数据的渲染操作
WO2019078000A1 (ja) * 2017-10-16 2019-04-25 ソニー株式会社 情報処理装置および方法
WO2019135024A1 (en) * 2018-01-02 2019-07-11 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
KR20200140257A (ko) * 2018-04-11 2020-12-15 소니 주식회사 화상 처리 장치 및 방법
CN112313710A (zh) * 2018-09-21 2021-02-02 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
EP3734977A1 (en) * 2019-04-30 2020-11-04 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US11581022B2 (en) * 2019-05-29 2023-02-14 Nokia Technologies Oy Method and apparatus for storage and signaling of compressed point clouds
US11218715B2 (en) * 2019-06-14 2022-01-04 Mediatek Singapore Pte. Ltd. Methods and apparatus for spatial grouping and coordinate signaling for immersive media data tracks
KR102625457B1 (ko) * 2019-08-16 2024-01-16 엘지전자 주식회사 Xr 디바이스 및 그 제어 방법
US20230043987A1 (en) * 2019-12-13 2023-02-09 Sony Group Corporation Image processing apparatus and method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160138914A1 (en) * 2014-11-13 2016-05-19 Fu Tai Hua Industry (Shenzhen) Co., Ltd. System and method for analyzing data
US20170186177A1 (en) * 2015-12-29 2017-06-29 Texas Instruments Incorporated Method and System for Real Time Structure From Motion in a Computer Vision System
US20170347100A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
US20190087979A1 (en) * 2017-09-18 2019-03-21 Apple Inc. Point cloud compression
WO2019079032A1 (en) * 2017-10-20 2019-04-25 Interdigital Vc Holdings, Inc. METHOD, APPARATUS AND FLOW FOR VOLUMETRIC VIDEO FORMAT
CN108254758A (zh) * 2017-12-25 2018-07-06 清华大学苏州汽车研究院(吴江) 基于多线激光雷达和gps的三维道路构建方法
CN108615254A (zh) * 2018-03-28 2018-10-02 广州市本真网络科技有限公司 基于树型结构网格矢量量化的点云渲染方法、系统及装置
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
CN109035286A (zh) * 2018-06-29 2018-12-18 北京农业信息技术研究中心 植物三维点云数据高通量获取方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
G. JANG 等: "Real-time point-cloud data transmission for teleoperation using H.264/AVC", 2014 IEEE INTERNATIONAL SYMPOSIUM ON SAFETY, SECURITY, AND RESCUE ROBOTICS *
J. KAMMERL等: "Real-time compression of point cloud streams", 2012 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION *

Also Published As

Publication number Publication date
KR20210090085A (ko) 2021-07-19
WO2021141208A1 (ko) 2021-07-15
US20210227232A1 (en) 2021-07-22
EP4047935A1 (en) 2022-08-24
KR102381162B1 (ko) 2022-04-01
EP4047935A4 (en) 2022-12-14
CN116684667A (zh) 2023-09-01
CN114930863B (zh) 2023-08-08
JP7434577B2 (ja) 2024-02-20
JP2024050831A (ja) 2024-04-10
CN116684666A (zh) 2023-09-01
JP2023509092A (ja) 2023-03-06
US11394979B2 (en) 2022-07-19

Similar Documents

Publication Publication Date Title
CN114930863B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11631158B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114930813B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11544877B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115443652B (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
US11968393B2 (en) Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method
CN115398890B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11601634B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20210409767A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114946179A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN115380528B (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
US11908168B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN118138736A (zh) 点云数据编码设备和点云数据解码设备
CN118138737A (zh) 对点云数据进行编解码的方法和存储介质
CN115428442A (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