CN115428442B - 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 - Google Patents
点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 Download PDFInfo
- Publication number
- CN115428442B CN115428442B CN202180027788.3A CN202180027788A CN115428442B CN 115428442 B CN115428442 B CN 115428442B CN 202180027788 A CN202180027788 A CN 202180027788A CN 115428442 B CN115428442 B CN 115428442B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- information
- pcc
- video
- cloud data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 293
- 230000008859 change Effects 0.000 claims description 29
- 230000003993 interaction Effects 0.000 claims description 29
- 230000002452 interceptive effect Effects 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 abstract description 53
- 230000008569 process Effects 0.000 description 197
- 239000000523 sample Substances 0.000 description 140
- 238000007906 compression Methods 0.000 description 64
- 230000006835 compression Effects 0.000 description 57
- 238000012545 processing Methods 0.000 description 52
- 230000033001 locomotion Effects 0.000 description 41
- 239000012634 fragment Substances 0.000 description 39
- 238000009499 grossing Methods 0.000 description 32
- 238000009877 rendering Methods 0.000 description 29
- 238000005538 encapsulation Methods 0.000 description 27
- 230000011664 signaling Effects 0.000 description 24
- 239000013598 vector Substances 0.000 description 24
- 238000001914 filtration Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 18
- 210000003128 head Anatomy 0.000 description 16
- 238000013139 quantization Methods 0.000 description 16
- 230000011218 segmentation Effects 0.000 description 15
- 230000009466 transformation Effects 0.000 description 15
- 230000000007 visual effect Effects 0.000 description 15
- 230000006837 decompression Effects 0.000 description 14
- 238000012856 packing Methods 0.000 description 14
- 230000006978 adaptation Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 11
- 238000013144 data compression Methods 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 210000000887 face Anatomy 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000007774 longterm Effects 0.000 description 6
- 238000002310 reflectometry Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000004040 coloring Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 208000037540 Alveolar soft tissue sarcoma Diseases 0.000 description 1
- 208000008524 alveolar soft part sarcoma Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4348—Demultiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
根据实施方式的点云数据发送方法可包括以下步骤:对点云数据进行编码;和/或发送点云数据。根据实施方式的点云数据接收方法可包括以下步骤:接收点云数据;对点云数据进行解码;和/或渲染点云数据。
Description
技术领域
实施方式提供了一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶服务的各种服务的方法。
背景技术
点云是三维(3D)空间中的点集合。因为3D空间中的点的数量大,所以难以生成点云数据。
需要大吞吐量以发送和接收点云数据。
发明内容
技术问题
本公开的目的在于提供一种用于有效地发送和接收点云的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的在于提供一种用于解决延迟和编码/解码复杂度的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
实施方式不限于上述目的,实施方式的范围可扩展至本领域技术人员基于本公开的整个内容可推断的其它目的。
技术方案
为了实现这些目的和其它优点并且根据本公开的目的,如本文中具体实现并广义描述的,一种发送点云数据的方法可包括以下步骤:对点云数据进行编码;封装点云数据;和/或发送点云数据。
根据实施方式,封装点云数据的步骤可包括生成包含编码的点云数据的文件,其中,该文件可基于多个轨道承载点云数据。
此外,根据实施方式,文件还可包含用于用信号通知表示要一起播放的至少一个轨道的播出组的PlayoutTrackGroupBox。
此外,根据实施方式,PlayoutTrackGroupBox可包括用于标识播出组的标识符。
此外,根据实施方式,点云数据可以是非定时体积数据,其中,封装点云数据的步骤可包括基于多个项目来封装点云数据。
文件可包含用于指示要一起播放的至少一个项目的框。
此外,PlayoutTrackGroupBox可包括应用于播出组中的至少一个轨道的播出控制结构信息,其中,该播出控制结构信息可包括播出优先级信息、播出交互信息、播出位置信息或播出取向信息中的至少一个。
此外,播出优先级信息可包括指示与播出控制信息关联的点云数据的内容的解码优先级的信息,其中,播出交互信息可包括指示是否允许用户改变内容的位置的信息、指示是否允许用户打开/关闭内容的播放的信息、指示是否允许用户改变内容的不透明度的信息、指示是否允许用户调整内容的大小的信息以及指示是否允许用户旋转内容的信息,其中,播出位置信息可包括指示内容播放的位置的坐标信息,其中,播出取向信息可包括指示内容播放的取向的类型的信息。
在本公开的另一方面,一种接收点云数据的方法可包括以下步骤:接收点云数据;将点云数据解封装;和/或对点云数据进行解码。根据实施方式,接收点云数据的步骤可包括接收关于点云数据的元数据,并且对点云数据进行解码的步骤可包括重构点云数据。
根据实施方式,接收点云数据的步骤可包括接收包含点云数据的文件,其中,该文件可基于多个轨道承载点云数据,其中,该文件还可包含用于用信号通知表示要一起播放的至少一个轨道的播出组的PlayoutTrackGroupBox。
有益效果
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可提供高质量点云服务。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可实现各种视频编解码方法。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可提供诸如自驾驶服务的通用点云内容。
接收装置可根据用户视口有效地访问和处理点云比特流。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中并构成本申请的一部分,附图示出本公开的实施方式并与说明书一起用于说明本公开的原理。附图中:
图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示出根据实施方式的V-PCC单元头和/或V-PCC单元有效载荷的句法的示例。
图27示出根据实施方式的V-PCC参数集的示例性句法。
图28示出根据实施方式的图集帧。
图29示出根据实施方式的示例性图集子流。
图30示出根据实施方式的图集序列参数集的示例性句法。
图31示出根据实施方式的图集帧参数集的示例性句法。
图32示出根据实施方式的图集帧拼块信息的示例性句法。
图33示出根据实施方式的图集适配参数集和图集相机参数的示例性句法。
图34示出根据实施方式的图集拼块组层信息。
图35示出根据实施方式的参考列表结构信息。
图36示出根据实施方式的图集拼块组数据单元。
图37示出根据实施方式的补片数据单元的示例性句法。
图38示出根据实施方式的承载点云数据的文件的结构。
图39示出根据实施方式的承载点云数据的文件的结构。
图40示出根据实施方式的封装点云数据和与点云数据有关的元数据的示例性操作。
图41示出根据实施方式的播出控制信息。
图42示出根据实施方式的播出控制结构信息中所包括的信息。
图43示出根据实施方式的V-PCC图集参数集样本组和播出样本组。
图44示出根据实施方式的用于播出轨道分组和播出实体分组的方法。
图45示出根据实施方式的V-PCC样本条目、播出样本条目和播出样本的句法的示例。
图46示出根据实施方式的V-PCC播出控制项目性质的句法的示例。
图47是示出根据实施方式的发送点云数据的方法的流程图。
图48是示出根据实施方式的接收点云数据的方法的流程图。
具体实施方式
现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语选自本领域中广泛使用的一般术语,但是一些术语是申请人任意选择的,其含义在以下描述中根据需要详细说明。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图1示出根据实施方式的用于提供点云内容的发送/接收系统的示例性结构。
本公开提供一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶的各种服务的方法。根据实施方式的点云内容将表示对象的数据表示为点,并且可被称为点云、点云数据、点云视频数据、点云图像数据等。
根据实施方式的点云数据发送装置10000可包括点云视频获取器10001、点云视频编码器10002、文件/片段封装模块10003和/或发送器(或通信模块)10004。根据实施方式的发送装置可确保和处理点云视频(或点云内容)并发送其。根据实施方式,发送装置可包括固定站、基站收发器系统(BTS)、网络、人工智能(AI)装置和/或系统、机器人和AR/VR/XR装置和/或服务器。根据实施方式,发送装置10000可包括装置机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器,其被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信。
根据实施方式的点云视频获取器10001通过捕获、合成或生成点云视频的处理来获取点云视频。
根据实施方式的点云视频编码器10002对点云视频数据进行编码。根据实施方式,点云视频编码器10002可被称为点云编码器、点云数据编码器、编码器等。根据实施方式的点云压缩编码(编码)不限于上述实施方式。点云视频编码器可输出包含编码的点云视频数据的比特流。比特流可不仅包括编码的点云视频数据,而且包括与点云视频数据的编码有关的信令信息。
根据实施方式的编码器可支持基于几何的点云压缩(G-PCC)编码方案和/或基于视频的点云压缩(V-PCC)编码方案二者。另外,编码器可对点云(指点云数据或点)和/或与点云有关的信令数据进行编码。下面将描述根据实施方式的具体编码操作。
如本文所使用的,术语V-PCC可代表基于视频的点云压缩(V-PCC)。术语V-PCC可与基于视觉体积视频的编码(V3C)相同。这些术语可互补地使用。
根据实施方式的文件/片段封装模块10003以文件和/或片段的形式封装点云数据。根据实施方式的点云数据发送方法/装置可按文件和/或片段的形式发送点云数据。
根据实施方式的发送器(或通信模块)10004以比特流的形式发送编码的点云视频数据。根据实施方式,文件或片段可经由网络发送至接收装置,或存储在数字存储介质(例如,USB、SD、CD、DVD、蓝光、HDD、SSD等)中。根据实施方式的发送器能够经由4G、5G、6G等的网络与接收装置(或接收器)有线/无线通信。另外,发送器可根据网络系统(例如,4G、5G或6G通信网络系统)执行必要的数据处理操作。发送装置可按照按需方式发送封装数据。
根据实施方式的点云数据接收装置10005可包括接收器10006、文件/片段解封装模块10007、点云视频解码器10008和/或渲染器10009。根据实施方式,接收装置可包括装置机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器,其被配置为使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信。
根据实施方式的接收器10006接收包含点云视频数据的比特流。根据实施方式,接收器10006可向点云数据发送装置10000发送反馈信息。
文件/片段解封装模块10007将包含点云数据的文件和/或片段解封装。根据实施方式的解封装模块可执行根据实施方式的封装处理的逆处理。
点云视频解码器10007对所接收的点云视频数据进行解码。根据实施方式的解码器可执行根据实施方式的编码的逆处理。
渲染器10007渲染解码的点云视频数据。根据实施方式,渲染器10007可将在接收侧获得的反馈信息发送给点云视频解码器10006。根据实施方式的点云视频数据可将反馈信息承载到接收器。根据实施方式,点云发送装置所接收的反馈信息可被提供给点云视频编码器。
图中的虚线所指示的箭头表示接收装置10005所获取的反馈信息的传输路径。反馈信息是用于反映与消费点云内容的用户的交互性的信息,并且包括用户信息(例如,头部取向信息、视口信息等)。具体地,当点云内容是需要与用户的交互的服务(例如,自主驾驶服务等)的内容时,反馈信息可被提供给内容发送侧(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可用在接收装置10005以及发送装置10000中,并且可不提供。
根据实施方式的头部取向信息是关于用户的头部位置、取向、角度、运动等的信息。根据实施方式的接收装置10005可基于头部取向信息来计算视口信息。视口信息可以是关于用户正在观看的点云视频区域的信息。视点是用户正在观看点云视频的点,并且可指视口区域的中心点。即,视口是以视点为中心的区域,并且区域的大小和形状可由视场(FOV)确定。因此,除了头部取向信息之外,接收装置10005可基于装置所支持的垂直或水平FOV来提取视口信息。另外,接收装置10005执行注视分析以检查用户如何消费点云、点云视频中用户注视的区域、注视时间等。根据实施方式,接收装置10005可向发送装置10000发送包括注视分析结果的反馈信息。根据实施方式的反馈信息可在渲染和/或显示处理中获取。根据实施方式的反馈信息可由包括在接收装置10005中的一个或更多个传感器确保。另外,根据实施方式,反馈信息可由渲染器10009或单独的外部元件(或装置、组件等)确保。图1中的虚线表示发送渲染器10009所确保的反馈信息的处理。点云内容提供系统可基于反馈信息来处理(编码/解码)点云数据。因此,点云视频数据解码器10008可基于反馈信息执行解码操作。接收装置10005可向发送装置发送反馈信息。发送装置(或点云视频数据编码器10002)可基于反馈信息执行编码操作。因此,点云内容提供系统可基于反馈信息有效地处理必要数据(例如,与用户头部位置对应的点云数据),而非处理(编码/解码)所有点云数据,并将点云内容提供给用户。
根据实施方式,发送装置10000可被称为编码器、发送装置、发送器等,接收装置10004可被称为解码器、接收装置、接收器等。
根据实施方式的图1的点云内容提供系统中处理的点云数据(通过获取/编码/传输/解码/渲染的一系列处理)可被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可用作涵盖与点云数据有关的元数据或信令信息的概念。
图1所示的点云内容提供系统的元件可由硬件、软件、处理器和/或其组合实现。
实施方式可提供一种提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自主驾驶的各种服务的方法。
为了提供点云内容服务,可首先获取点云视频。所获取的点云视频可通过一系列处理发送,并且接收侧可将所接收的数据处理回到原始点云视频并渲染所处理的点云视频。由此,点云视频可被提供给用户。实施方式提供一种有效地执行这一系列处理的方法。
用于提供点云内容服务的所有处理(点云数据发送方法和/或点云数据接收方法)可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
根据实施方式,提供点云内容(或点云数据)的处理可被称为点云压缩处理。根据实施方式,点云压缩处理可表示基于几何的点云压缩处理。
根据实施方式的点云数据发送装置和点云数据接收装置的各个元件可以是硬件、软件、处理器和/或其组合。
为了提供点云内容服务,可获取点云视频。所获取的点云视频通过一系列处理发送,并且接收侧可将所接收的数据处理回到原始点云视频并渲染所处理的点云视频。由此,点云视频可被提供给用户。实施方式提供一种有效地执行这一系列处理的方法。
用于提供点云内容服务的所有处理可包括获取处理、编码处理、传输处理、解码处理、渲染处理和/或反馈处理。
点云压缩系统可包括发送装置和接收装置。发送装置可通过对点云视频进行编码来输出比特流,并通过数字存储介质或网络将其以文件或流(流传输片段)的形式传送至接收装置。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。
发送装置可包括点云视频获取器、点云视频编码器、文件/片段封装器和发送器。接收装置可包括接收器、文件/片段解封装器、点云视频解码器和渲染器。编码器可被称为点云视频/画面/画面/帧编码器,解码器可被称为点云视频/画面/画面/帧解码装置。发送器可包括在点云视频编码器中。接收器可包括在点云视频解码器中。渲染器可包括显示器。渲染器和/或显示器可被配置成单独的装置或外部组件。发送装置和接收装置还可包括用于反馈处理的单独的内部或外部模块/单元/组件。
根据实施方式,接收装置的操作可以是发送装置的操作的逆处理。
点云视频获取器可通过捕获、编排或生成点云视频的处理来执行获取点云视频的处理。在获取处理中,可生成多个点的3D位置(x,y,z)/属性(颜色、反射率、透明度等)的数据,例如polygon文件格式(PLY)(或斯坦福三角形(Stanford triangle)格式)文件。对于具有多个帧的视频,可获取一个或更多个文件。在捕获处理期间,可生成点云相关元数据(例如,捕获相关元数据)。
根据实施方式的点云数据发送装置可包括被配置为对点云数据进行编码的编码器以及被配置为发送点云数据的发送器。数据可按照包含点云的比特流的形式发送。
根据实施方式的点云数据接收装置可包括被配置为接收点云数据的接收器、被配置为对点云数据进行解码的解码器以及被配置为渲染点云数据的渲染器。
根据实施方式的方法/装置表示点云数据发送装置和/或点云数据接收装置。
图2示出根据实施方式的点云数据的捕获。
根据实施方式的点云数据可通过相机等来获取。根据实施方式的捕获技术可包括例如面向内和/或面向外。
在根据实施方式的面向内中,向内面向点云数据的对象的一个或更多个相机可从对象外部拍摄对象。
在根据实施方式的面向外中,向外面向点云数据的对象的一个或更多个相机可拍摄对象。例如,根据实施方式,可存在四个相机。
根据实施方式的点云数据或点云内容可以是在各种类型的3D空间中表示的对象/环境的视频或静止图像。根据实施方式,点云内容可包括对象的视频/音频/图像。
为了捕获点云内容,可配置能够获取深度的相机设备(红外图案投影仪和红外相机的组合)和能够提取与深度信息对应的颜色信息的RGB相机的组合。另选地,可通过使用雷达系统的LiDAR来提取深度信息,该雷达系统通过发射激光脉冲并测量返回时间来测量反射器的位置坐标。可从深度信息提取由3D空间中的点组成的几何形状,并且可从RGB信息提取表示各个点的颜色/反射率的属性。点云内容可包括关于位置(x,y,z)和点的颜色(YCbCr或RGB)或反射率(r)的信息。对于点云内容,可使用捕获外部环境的面向外技术和捕获中心对象的面向内技术。在VR/AR环境中,当对象(例如,诸如角色、玩家、事物或演员的核心对象)被配置到用户可在任何方向(360度)观看的点云内容中时,捕获相机的配置可基于面向内技术。当在诸如自主驾驶的车辆模式下当前周围环境被配置到点云内容中时,捕获相机的配置可基于面向外技术。由于可通过多个相机捕获点云内容,所以可能需要在捕获内容之前执行相机校准处理以为相机配置全局坐标系。
点云内容可以是存在于各种类型的3D空间中的对象/环境的视频或静止图像。
另外,在点云内容获取方法中,可基于捕获的点云视频编排任何点云视频。另选地,当要提供计算机生成的虚拟空间的点云视频时,可能不执行利用实际相机的捕获。在这种情况下,捕获处理可简单地由生成相关数据的处理代替。
可能需要对捕获的点云视频进行后处理以改进内容的质量。在视频捕获处理中,可在相机设备所提供的范围内调节最大/最小深度。即使在调节之后,仍可能存在不想要的区域的点数据。因此,可执行去除不想要的区域(例如,背景)或识别连接的空间并填充空间孔洞的后处理。另外,从共享空间坐标系的相机提取的点云可通过基于通过校准处理获取的各个相机的位置坐标将各个点变换到全局坐标系中的处理而被整合为一条内容。由此,可生成具有宽范围的一条点云内容,或者可获取具有高密度点的点云内容。
点云视频编码器可将输入点云视频编码为一个或更多个视频流。一个视频可包括多个帧,各个帧可对应于静止图像/画面。在本说明书中,点云视频可包括点云图像/帧/画面/视频/音频。另外,术语“云视频”可执行基于视频的点云压缩(V-PCC)处理。为了压缩和编码效率,点云视频编码器可执行诸如预测、变换、量化和熵编码的一系列处理。编码的数据(编码的视频/图像信息)可按比特流的形式输出。基于V-PCC处理,点云视频编码器可通过将点云视频分成几何视频、属性视频、占用图视频和辅助信息来对点云视频进行编码(将稍后描述)。几何视频可包括几何图像,属性视频可包括属性图像,占用图视频可包括占用图图像。辅助信息可包括辅助补片信息。属性视频/图像可包括纹理视频/图像。
封装处理器(文件/片段封装模块)10003可以例如文件的形式封装编码的点云视频数据和/或与点云视频有关的元数据。这里,与点云视频有关的元数据可从元数据处理器接收。元数据处理器可包括在点云视频编码器中,或者可被配置成单独的组件/模块。封装处理器可按照诸如ISOBMFF的文件格式封装数据或者按照DASH片段等的形式处理数据。根据实施方式,封装处理器可包括文件格式的点云视频相关元数据。点云视频元数据可被包括在例如ISOBMFF文件格式的各种级别的框中,或作为文件内的单独轨道中的数据。根据实施方式,封装处理器可将点云视频相关元数据封装到文件中。发送处理器可对根据文件格式封装的点云视频数据执行传输处理。发送处理器可包括在发送器中,或者可被配置成单独的组件/模块。发送处理器可根据传输协议来处理点云视频数据。传输处理可包括经由广播网络传送的处理和通过宽带传送的处理。根据实施方式,发送处理器可从元数据处理器连同点云视频数据一起接收点云视频相关元数据,并且执行点云视频数据的处理以进行传输。
发送器10004可通过数字存储介质或网络将以比特流的形式输出的编码的视频/图像信息或数据以文件或流的形式发送到接收装置的接收器。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。发送器可包括用于以预定文件格式生成媒体文件的元件,并且可包括用于经由广播/通信网络传输的元件。接收器可提取比特流并将所提取的比特流发送到解码装置。
接收器10003可接收根据本公开的点云视频发送装置所发送的点云视频数据。根据传输信道,接收器可经由广播网络或通过宽带接收点云视频数据。另选地,点云视频数据可通过数字存储介质来接收。
接收处理器可根据传输协议处理所接收的点云视频数据。接收处理器可包括在接收器中,或者可被配置成单独的组件/模块。接收处理器可反向执行发送处理器的上述处理,使得处理对应于在发送侧执行的传输处理。接收处理器可将所获取的点云视频数据传送至解封装处理器,并将所获取的点云视频相关元数据传送至元数据解析器。接收处理器所获取的点云视频相关元数据可采取信令表的形式。
解封装处理器(文件/片段解封装模块)10007可将以文件的形式从接收处理器接收的点云视频数据解封装。解封装处理器可根据ISOBMFF等对文件进行解封装,并且可获取点云视频比特流或点云视频相关元数据(元数据比特流)。所获取的点云视频比特流可被传送至点云视频解码器,并且所获取的点云视频相关元数据(元数据比特流)可被传送至元数据处理器。点云视频比特流可包括元数据(元数据比特流)。元数据处理器可包括在点云视频解码器中,或者可被配置成单独的组件/模块。解封装处理器所获取的点云视频相关元数据可采取文件格式中的框或轨道的形式。当需要时,解封装处理器可从元数据处理器接收解封装所需的元数据。点云视频相关元数据可被传送至点云视频解码器并在点云视频解码处理中使用,或者可被传送至渲染器并在点云视频渲染处理中使用。
点云视频解码器可接收比特流并且通过执行与点云视频编码器的操作对应的操作来将视频/图像解码。在这种情况下,点云视频解码器可通过如下所述将点云视频分成几何视频、属性视频、占用图视频和辅助信息来对点云视频进行解码。几何视频可包括几何图像,属性视频可包括属性图像。占用图视频可包括占用图图像。辅助信息可包括辅助补片信息。属性视频/图像可包括纹理视频/图像。
3D几何可基于解码的几何图像、占用图和辅助补片信息来重构,然后可经受平滑处理。可通过基于纹理图像向平滑的3D几何指派颜色值来重构颜色点云图像/画面。渲染器可渲染重构的几何和颜色点云图像/画面。渲染的视频/图像可通过显示器显示。用户可通过VR/AR显示器或典型显示器来观看全部或部分渲染结果。
反馈处理可包括将可在渲染/显示处理中获取的各种类型的反馈信息传送至发送侧或接收侧的解码器。可在消费点云视频时通过反馈处理提供交互性。根据实施方式,头部取向信息、指示用户当前观看的区域的视口信息等可在反馈处理中被传送至发送侧。根据实施方式,用户可与VR/AR/MR/自主驾驶环境中实现的事物交互。在这种情况下,与交互有关的信息可在反馈处理期间被传送至发送侧或服务提供商。根据实施方式,反馈处理可被跳过。
头部取向信息可表示用户头部的位置、角度和运动的信息。基于该信息,可计算关于用户当前观看的点云视频的区域的信息(即,视口信息)。
视口信息可以是关于用户当前观看的点云视频的区域的信息。可使用视口信息来执行注视分析,以检查用户消费点云视频的方式、用户所注视的点云视频的区域以及用户注视该区域多长时间。可在接收侧执行注视分析,并且可在反馈信道上将分析结果传送至发送侧。诸如VR/AR/MR显示器的装置可基于用户头部的位置/方向、装置所支持的垂直或水平FOV等来提取视口区域。
根据实施方式,上述反馈信息可不仅被传送至发送侧,而且在接收侧消费。即,可基于上述反馈信息执行接收侧的解码和渲染处理。例如,可基于头部取向信息和/或视口信息仅优先解码和渲染用户当前观看的区域的点云视频。
这里,视口或视口区域可表示用户当前观看的点云视频的区域。视点是点云视频中用户所观看的点,并且可表示视口区域的中心点。即,视口是视点周围的区域,并且区域的大小和形式可由视场(FOV)确定。
本公开涉及如上所述的点云视频压缩。例如,本公开中公开的方法/实施方式可应用于运动图像专家组(MPEG)的点云压缩或点云编码(PCC)标准或下一代视频/图像编码标准。
如本文所使用的,画面/帧通常可表示特定时间间隔中表示一个图像的单位。
像素或画素可以是构成一个画面(或图像)的最小单位。另外,“样本”可用作与像素对应的术语。样本通常可表示像素或像素值,或者可仅表示亮度分量的像素/像素值,仅表示色度分量的像素/像素值,或者仅表示深度分量的像素/像素值。
单元可表示图像处理的基本单位。单元可包括画面的特定区域和与该区域有关的信息中的至少一个。在一些情况下,单元可与诸如块或区域的术语互换使用。在一般情况下,M×N块可包括按M列和N行配置的样本(或样本阵列)或变换系数集合(或阵列)。
图3示出根据实施方式的点云、几何图像和纹理图像的示例。
根据实施方式的点云可输入至将稍后描述的图4的V-PCC编码处理,以生成几何图像和纹理图像。根据实施方式,点云可具有与点云数据相同的含义。
如图所示,左侧部分示出点云,其中对象位于3D空间中并且可由边界框等表示。中间部分示出几何,右侧部分示出纹理图像(非填充图像)。
根据实施方式的基于视频的点云压缩(V-PCC)可提供基于诸如HEVC或VVC的2D视频编解码器来压缩3D点云数据的方法。可在V-PCC压缩处理中生成的数据和信息如下:
占用图:这是在将构成点云的点分成补片并将其映射到2D平面时使用值0或1指示在2D平面中的对应位置是否存在数据的二值图。占用图可表示与图集对应的2D阵列,并且占用图的值可指示图集中的各个样本位置是否对应于3D点。图集是位于矩形帧中与渲染体积数据的3D空间中的3D边界框对应的2D边界框和与其有关的信息的集合。
图集比特流是构成图集的一个或更多个图集帧和相关数据的比特流。
图集帧是补片投影至的图集样本的2D矩形阵列。
图集样本是与图集关联的补片投影至的矩形帧的位置。
图集帧可被划分为拼块。拼块是2D帧被划分的单元。即,拼块是用于划分称为图集的点云数据的信令信息的单元。
补片:构成点云的点集合,其指示属于同一补片的点在3D空间中彼此相邻并且在映射到2D图像的处理中在6面边界框平面之间在相同方向上映射。
补片是拼块被划分的单元。补片是关于点云数据的配置的信令信息。
根据实施方式的接收装置可基于图集(拼块、补片)来恢复属性视频数据、几何视频数据和占用视频数据(具有相同呈现时间的实际视频数据)。
几何图像:这是逐补片呈现关于构成点云的各个点的位置信息(几何)的深度图形式的图像。几何图像可由一个通道的像素值组成。几何表示与点云帧关联的坐标集合。
纹理图像:这是逐补片表示关于构成点云的各个点的颜色信息的图像。纹理图像可由多个通道(例如,R、G和B三个通道)的像素值组成。纹理包括在属性中。根据实施方式,纹理和/或属性可被解释为相同的对象和/或具有包含关系。
辅助补片信息:这指示利用各个补片重构点云所需的元数据。辅助补片信息可包括关于2D/3D空间中的补片的位置、尺寸等的信息。
根据实施方式的点云数据(例如,V-PCC组件)可包括图集、精度图、几何和属性。
图集表示2D边界框的集合。其可以是补片,例如,投影到矩形帧上的补片。图集可对应于3D空间中的3D边界框,并且可表示点云的子集。
属性可表示与点云中的各个点关联的标量或向量。例如,属性可包括颜色、反射率、表面法线、时间戳、材料ID。
根据实施方式的点云数据表示根据基于视频的点云压缩(V-PCC)方案的PCC数据。点云数据可包括多个分量。例如,其可包括占用图、补片、几何和/或纹理。
图4示出根据实施方式的V-PCC编码处理。
该图示出用于生成和压缩占用图、几何图像、纹理图像和辅助补片信息的V-PCC编码处理。图4的V-PCC编码处理可由图1的点云视频编码器10002处理。图4的各个元件可由软件、硬件、处理器和/或其组合执行。
补片生成或补片生成器40000接收点云帧(其可以是包含点云数据的比特流的形式)。补片生成器40000从点云数据生成补片。另外,生成包括关于补片生成的信息的补片信息。
补片打包或补片打包器40001将用于点云数据的补片打包。例如,一个或更多个补片可被打包。另外,补片打包器生成包含关于补片打包的信息的占用图。
几何图像生成或几何图像生成器40002基于点云数据、补片和/或打包的补片来生成几何图像。几何图像是指包含与点云数据有关的几何的数据。
纹理图像生成或纹理图像生成器40003基于点云数据、补片和/或打包的补片来生成纹理图像。另外,可进一步基于通过基于补片信息平滑的平滑处理生成的平滑几何来生成纹理图像。
平滑或平滑器40004可减轻或消除包含在图像数据中的错误。例如,基于修补的重构几何图像,数据之间可导致错误的部分可被平滑地滤除以生成平滑几何。
辅助补片信息压缩或辅助补片信息压缩器40005压缩与在补片生成中生成的补片信息有关的辅助补片信息。另外,压缩的辅助补片信息可被发送至复用器。可在几何图像生成40002中生成辅助补片信息。
图像填充或图像填充器40006、40007可分别填充几何图像和纹理图像。填充数据可被填充到几何图像和纹理图像。
组扩张或组扩张器40008可按照与图像填充类似的方式向纹理图像添加数据。添加的数据可被插入到纹理图像中。
视频压缩或视频压缩器40009、40010、40011可分别压缩填充的几何图像、填充的纹理图像和/或占用图。压缩可对几何信息、纹理信息、占用信息等进行编码。
熵压缩或熵压缩器40012可基于熵方案来压缩(例如,编码)占用图。
根据实施方式,可分别根据点云数据是否无损和/或有损来执行熵压缩和/或视频压缩。
复用器40013将压缩的几何图像、压缩的纹理图像和压缩的占用图复用为比特流。
下面描述图4的各个处理中的特定操作。
补片生成(40000)
补片生成处理是指将点云分成补片(映射单元)以便将点云映射到2D图像的处理。补片生成处理可被分成三个步骤:法向值计算、分段和补片分段。
将参照图5详细描述法向值计算处理。
图5示出根据实施方式的表面的切平面和法向量的示例。
图5的表面如下用在图4的V-PCC编码处理的补片生成处理40000中。
与补片生成有关的法线计算:
点云的各个点具有其自己的方向,其由称为法向量的3D向量表示。使用利用K-D树等获得的各个点的邻居,可获得如图所示构成点云的表面的各个点的切平面和法向量。应用于搜索邻居的处理的搜索范围可由用户定义。
切平面是指穿过表面上的点并且完全包括表面上的曲线的切线的平面。
图6示出根据实施方式的点云的示例性边界框。
根据实施方式的方法/装置(例如,补片生成)可在从点云数据生成补片时采用边界框。
根据实施方式的边界框是指用于基于3D空间中的六面体划分点云数据的单元的框。
可在将点云数据的目标对象投影到3D空间中的六面体的各个平坦面的平面上的处理中使用边界框。边界框可由图1的点云视频获取器10000和点云视频编码器10002生成和处理。此外,基于边界框,可执行图2的V-PCC编码处理的补片生成40000、补片打包40001、几何图像生成40002和纹理图像生成40003。
与补片生成有关的分段
分段被分成两个处理:初始分段和细化分段。
根据实施方式的点云编码器10002将点投影到边界框的一个面上。具体地,构成点云的各个点被投影到围绕点云的边界框的六个面之一上。初始分段是确定各个点要投影至的边界框的平坦面之一的处理。
其是与六个平坦面中的每一个对应的法向值,如下定义:
(1.0,0.0,0.0),(0.0,1.0,0.0),(0.0,0.0,1.0),(-1.0,0.0,0.0),(0.0,-1.0,0.0),(0.0,0.0,-1.0)。
如下式所示,在法向值计算处理中获得的各个点的法向量与/>的点积的值最大的面被确定为对应点的投影平面。即,法向量与点的法向量的方向最相似的平面被确定为点的投影平面。
所确定的平面可由一个集群索引(0至5之一)标识。
细化分段是考虑邻近点的投影平面增强在初始分段处理中确定的构成点云的各个点的投影平面的处理。在该处理中,得分法向和得分平滑可一起考虑,得分法向表示在初始分段处理中确定投影平面时考虑的各个点的法向量与边界框的各个平坦面的法向之间的相似度,得分平滑指示当前点的投影平面与邻近点的投影平面之间的相似度。
可通过向得分法向指派权重来考虑得分平滑。在这种情况下,权重值可由用户定义。细化分段可重复地执行,重复次数也可由用户定义。
与补片生成有关的补片分段
补片分段是基于在初始/细化分段处理中获得的关于构成点云的各个点的投影平面信息将整个点云分成补片(邻近点的集合)的处理。补片分段可包括以下步骤:
①使用K-D树等计算构成点云的各个点的邻近点。最大邻居数量可由用户定义。
②当邻近点被投影到与当前点相同的平面上时(当它们具有相同的集群索引时),
提取当前点和邻近点作为一个补片。
③计算所提取的补片的几何值。细节在第1.3节中描述。
④重复操作②至④,直至不存在未提取的点。
各个补片的占用图、几何图像和纹理图像以及各个补片的大小通过补片分段处理来确定。
图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]
for(i=0;i<BlockCount;i++){ |
if(candidatePatches[i].size()==1){ |
blockToPatch[i]=candidatePatches[i][0] |
}else{ |
candidate_index |
if(candidate_index==max_candidate_count){ |
blockToPatch[i]=local_patch_index |
}else{ |
blockToPatch[i]=candidatePatches[i][candidate_index] |
} |
} |
} |
图12示出根据实施方式的推拉式背景填充。图像填充和组扩张(40006、40007、40008)
根据实施方式的图像填充器可基于推拉式背景填充技术利用无意义补充数据填充除了补片区域之外的空间。
图像填充是以无意义的数据填充补片区域以外的空间以改进压缩效率的处理。对于图像填充,可复制补片中靠近边界的列或行中的像素值以填充空白空间。另选地,如图所示,可使用推拉式背景填充方法。根据该方法,在逐渐降低非填充图像的分辨率并再次增加分辨率的处理中利用来自低分辨率图像的像素值填充空白空间。
组扩张是填充分别以两个层d0/d1和t0/t1配置的几何图像和纹理图像的空白空间的处理。在此处理中,利用同一位置的值的平均填充通过图像填充计算的两个层的空白空间。
图13示出根据实施方式的4*4块的示例性可能遍历顺序。
占用图压缩(40012、40011)
根据实施方式的占用图压缩器可压缩先前生成的占用图。具体地,可使用两个方法,即,用于有损压缩的视频压缩和用于无损压缩的熵压缩。下面描述视频压缩。
可通过以下操作执行熵压缩。
1)如果构成占用图的块被完全占用,则对1进行编码并针对占用图的下一块重复相同的操作。否则,对0进行编码并执行操作2)至5)。
2)确定对块的占用像素执行游程长度编码的最佳遍历顺序。图中示出4*4块的四个可能遍历顺序。
图14示出根据实施方式的示例性最佳遍历顺序。
如上所述,根据实施方式的熵压缩器可如上所述基于遍历顺序方案对块进行编码。
例如,从可能遍历顺序当中选择具有最小游程数量的最佳遍历顺序,并且对其索引进行编码。图中示出选择图13中的第三遍历顺序的情况。在所示情况下,游程数量可被最小化为2,因此第三遍历顺序可被选为最佳遍历顺序。
对游程数量进行编码。在图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的解码处理。根据实施方式的各个处理如下操作。
视频解压缩(16001、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可通过对重构画面应用各种滤波技术来生成修改的重构画面,并且可将修改的重构画面发送到存储器17060(具体地,存储器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的接收装置中的一些或全部。图中的各个组件可对应于软件、硬件、处理器和/或其组合。
图中示出用于存储或流传输根据基于视频的点云压缩(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所示,在根据实施方式的方法/装置对点云数据进行编码/解码之后,包含点云数据的比特流可按文件和/或片段的形式封装和/或解封装。
例如,根据实施方式的点云数据装置可基于文件将点云数据封装。文件可包括包含点云的参数的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>自驾驶车辆2320可通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用了XR/PCC技术的自驾驶车辆2320可表示设置有用于提供XR图像的手段的自主车辆,或者作为XR图像中的控制/交互目标的自主车辆。具体地,作为XR图像中的控制/交互目标的自驾驶车辆2320可与XR装置2330相区分并且可操作上与之连接。
具有用于提供XR/PCC图像的手段的自驾驶车辆2320可从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的XR/PCC图像。例如,自驾驶车辆可具有HUD并向其输出XR/PCC图像以向乘客提供与真实对象或存在于画面上的对象对应的XR/PCC对象。
在这种情况下,当XR/PCC对象被输出到HUD时,XR/PCC对象的至少一部分可被输出以与乘客眼睛所指向的真实对象交叠。另一方面,当XR/PCC对象输出在自驾驶车辆内部提供的显示器上时,XR/PCC对象的至少一部分可被输出以与画面上的对象交叠。例如,自驾驶车辆可输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的XR/PCC对象。
根据实施方式的虚拟现实(VR)技术、增强现实(AR)技术、混合现实(MR)技术和/或点云压缩(PCC)技术适用于各种装置。
换言之,VR技术是仅提供真实世界对象、背景等作为CG图像的显示器技术。另一方面,AR技术是指显示在真实对象图像上虚拟创建的CG图像的技术。MR技术与上述AR技术的相似之处在于,要显示的虚拟对象与真实世界混合并组合。然而,MR技术不同于AR技术,AR技术在真实对象与作为CG图像创建的虚拟对象之间进行清楚的区分并且使用虚拟对象作为真实对象的补充对象,而MR技术将虚拟对象当作具有与真实对象相同特性的对象。更具体地,MR技术应用的示例是全息服务。
最近,VR、AR和MR技术通常被称为扩展现实(XR)技术,而非彼此清楚地区分。因此,本公开的实施方式适用于所有VR、AR、MR和XR技术。对于这些技术,可应用基于PCC、V-PCC和G-PCC技术的编码/解码。
根据实施方式的PCC方法/装置可应用于提供自驾驶服务的车辆。
提供自驾驶服务的车辆连接到PCC装置以进行有线/无线通信。
当根据实施方式的点云数据发送和接收装置(PCC装置)连接到车辆以进行有线/无线通信时,装置可接收并处理与可与自驾驶服务一起提供的AR/VR/PCC服务有关的内容数据并且将处理的内容数据发送到车辆。在点云数据发送和接收装置被安装在车辆上的情况下,点云发送和接收装置可根据通过用户接口装置输入的用户输入信号来接收并处理与AR/VR/PCC服务有关的内容数据并且将处理的内容数据提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可包括指示自驾驶服务的信号。
图24示出根据实施方式的V-PCC比特流。
V-PCC比特流24000表示发送根据实施方式的点云数据的形式(即,比特流形式)。图24所示的V-PCC比特流24000可表示图4的压缩比特流、图15的比特流、图16中接收的压缩比特流和图17的比特流、由图18中的复用器18007生成的比特流以及由图19中的解复用器生成的比特流。
图24所示的V-PCC比特流可由根据图23所示的实施方式的XR装置1230、自驾驶车辆1220、机器人1210、AI服务器1260、家用电器1250和智能电话1240生成,并且可经由云网络(5G)1200被发送至装置或在装置之间发送/接收。
图24所示的V-PCC比特流24000可以是要由图20的文件/片段封装器20004接收的比特流。即,V-PCC比特流可以是由根据实施方式的点云数据发送装置/方法直接发送的比特流,或者可表示在以ISOBMFF方案封装之前的比特流。
图24所示的V-PCC比特流24000可以是图21的视频流和/或图像流,或者从文件/片段隔离单元21009输出。它可以是构成片段(或文件)的比特流。
根据实施方式的V-PCC比特流24000可包括一个或更多个样本流V-PCC单元24001。一个或更多个样本流V-PCC单元24001可包括V-PCC单元和指示V-PCC单元的大小的V-PCC单元大小。
V-PCC比特流24000包括编码点云序列(CPCS)。
V-PCC单元包括V-PCC单元头24001b和/或V-PCC单元有效载荷24001c。
V-PCC单元头24001b包括关于根据实施方式的V-PCC单元有效载荷中所包含的数据的信令信息。根据实施方式的V-PCC单元头可指示例如根据实施方式的V-PCC单元中所包含的数据的类型(例如,V-PCC参数集24002a、占用视频数据24002b、几何视频数据24002c、图集数据24002e和/或属性视频数据24002d等)。另外,根据实施方式的V-PCC单元头24001b还可包括V-PCC单元中所包含的数据所需的信令信息。
V-PCC单元有效载荷24001c包含根据实施方式的点云数据或者渲染或重构点云数据所需的信息。
V-PCC单元有效载荷24001c可包括例如V-PCC参数集24002a、占用视频数据24002b、几何视频数据24002c、图集数据24002e和/或属性视频数据24002d。V-PCC单元有效载荷24001c可承载占用视频、属性视频或几何视频。V-PCC单元有效载荷24001c可由一个或更多个NAL单元组成。
根据实施方式的V-PCC单元有效载荷24002包含根据实施方式的点云数据。点云数据可包括点云数据的占用视频数据、几何视频数据和/或属性视频数据之一。点云数据可包括使用脉冲编码调制(PCM)方案编码的几何视频数据和/或使用PCM编码的属性视频数据。
根据实施方式的V-PCC参数集24002a表示包括根据实施方式的点云数据的参数或信令信息(例如,元数据)的参数集。例如,V-PCC参数集可包括关于构成点云数据的序列的信令信息。
占用视频数据24002b是包括根据实施方式的占用图数据的数据。几何视频数据24002c包括根据实施方式的几何视频数据。属性视频数据24002d包括根据实施方式的属性视频数据。
图集数据24002e表示由点云数据的属性(例如,纹理(补片))和/或深度组成的数据。
例如,根据实施方式的V-PCC单元的句法可如下配置。
[表2]
vpcc_unit(numBytesInVPCCUnit){ | 描述符 |
vpcc_unit_header() | |
vpcc_unit_payload() | |
while(more_data_in_vpcc_unit) | |
trailing_zero_8bits/*等于0x00*/ | f(8) |
} |
图25示出根据实施方式的V-PCC比特流的示例。
图25所示的根据实施方式的V-PCC比特流表示图24的V-PCC比特流24000。
图25所示的V-PCC比特流可由图23所示的根据实施方式的XR装置1230、自驾驶车辆1220、机器人1210、AI服务器1260、家用电器1250和智能电话1240生成,并且可经由云网络(5G)1200发送至装置或在装置之间发送/接收。
根据实施方式的V-PCC比特流25000包括一个或更多个样本流V-PCC单元25002。样本流V-PCC单元可表示图24的样本流V-PCC单元24001。样本流V-PCC单元可被称为V-PCC单元。
根据实施方式的V-PCC比特流25000还可包括包含关于样本流V-PCC单元的信息的样本流V-PCC头25001。
样本流V-PCC单元25002具有多种类型。样本流V-PCC单元25002的示例包括:包括V-PCC参数集(VPS)的V-PCC单元以及包括属性数据(AD)的V-PCC单元、包括占用视频数据(OVD)的V-PCC单元、包括几何视频数据(GVD)的V-PCC单元和/或包括属性视频数据(AVD)的V-PCC单元。
根据实施方式的V-PCC比特流25000包括根据实施方式包括VPS的样本流V-PCC单元25002。根据实施方式的V-PCC比特流25000可包括一个或更多个包括AD、OVD、GVD和/或AVD之一的样本流V-PCC单元。
部分25004示出根据实施方式的样本流V-PCC头25001的句法的示例。样本流V-PCC头25004可包含ssvh_unit_size_precision_bytes_minus1的信息。各个样本流V-PCC单元包含VPS、AD、OVD、GVD和AVD当中的一种V-PCC单元。
ssvh_unit_size_precision_bytes_minus1加1指定所有样本流V-PCC单元中的ssvu_vpcc_unit_size元素的精度(字节)。ssvh_unit_size_precision_bytes_minus1可在0至7的范围内。
部分25005示出根据实施方式的样本流V-PCC单元25002的句法的示例。各个样本流V-PCC单元的内容与样本流V-PCC单元中所包含的V-PCC单元相同的访问单元关联。V-PCC单元25002可包括例如ssvu_vpcc_unit_size。
ssvu_vpcc_unit_size指定后续vpcc_unit的大小(字节)。用于表示ssvu_vpcc_unit_size的比特数可等于(ssvh_unit_size_precision_bytes_minus1+1)*8。
vpcc_unit(),即,vpcc_unit(ssvu_vpcc_unit_size)表示根据实施方式的大小为ssvu_vpcc_unit_size的V-PCC单元。根据实施方式的vpcc_unit(ssvu_vpcc_unit_size)包括V-PCC单元头(vpcc_unit_header())和/或V-PCC单元有效载荷(vpcc_unit_payload())。图25所示的V-PCC单元头可表示图24所示的V-PCC单元头24001b。
根据实施方式的vpcc_unit()可具有例如以下句法。
[表3]
vpcc_unit(numBytesInVPCCUnit){ | 描述符 |
vpcc_unit_header() | |
vpcc_unit_payload() | |
while(more_data_in_vpcc_unit) | |
trailing_zero_8bits/*等于0x00*/ | f(8) |
} |
vpcc_unit_header()表示根据实施方式的V-PCC单元头。vpcc_unit_payload()表示根据实施方式的V-PCC单元有效载荷。
图26示出根据实施方式的V-PCC单元头和/或V-PCC单元有效载荷的句法的示例。
图26所示的V-PCC单元头26000可表示图24的V-PCC单元头24001b。图26所示的V-PCC单元头26000可表示图25的样本流V-PCC单元中的V-PCC单元(vpcc_unit)中所包括的V-PCC单元头。V-PCC单元可被称为样本流V-PCC单元。
图26所示的V-PCC比特流可由图23所示的根据实施方式的XR装置1230、自驾驶车辆1220、机器人1210、AI服务器1260、家用电器1250和智能电话1240生成,并且可经由云网络(5G)1200发送至装置或在装置之间发送/接收。
vuh_unit_type指示V-PCC单元类型。例如,V-PCC单元类型可如下表所示给出。
[表4]
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 | 预留 | - |
根据实施方式,可根据V-PCC单元类型(vuh_unit_type)在V-PCC单元头中包含不同的信令信息。
例如,当vuh_unit_type的值为0时,根据实施方式的V-PCC单元是包括V-PCC参数集的一类V-PCC单元,并且因此,V-PCC单元头可包含与VPS有关的信息。
例如,当vuh_unit_type的值为1(即,VPCC_AD)时,V-PCC单元是包括图集数据的一类V-PCC单元,并且因此,V-PCC单元头可包含与图集数据有关的信息(例如,vuh_vpcc_parameter_set_id和/或vuh_atlas_id)。
例如,当vuh_unit_type的值为2(即,VPCC_GVD)时,根据实施方式的V-PCC单元是包括几何视频数据的一类V-PCC单元,并且因此,V-PCC单元头可包含与几何视频数据有关的信息(例如,vuh_map_index、vuh_raw_video_flag)。
例如,当vuh_unit_type的值为3(即,VPCC_AVD)时,根据实施方式的V-PCC单元是包括属性视频数据的一类V-PCC单元,并且因此,PCC单元头可包含与属性视频数据有关的信息(例如,vuh_attribute_index、vuh_attribute_dimension_index、vuh_map_index和/或vuh_raw_video_flag)。
例如,当vuh_unit_type的值为4(即,VPCC_OVD)时,V-PCC单元是包括占用视频数据的一类V-PCC单元,并且因此,V-PCC单元头可包含与占用视频数据有关的信息(例如,vuh_vpcc_parameter_set_id和/或vuh_atlas_id)。
vuh_vpcc_parameter_set_id指定活动V-PCC VPS的vps_vpcc_parameter_set_id的值。
vuh_atlas_id指定与当前V-PCC单元对应的图集的索引。
vuh_attribute_index指示属性视频数据单元中承载的属性数据的索引。
vuh_attribute_dimension_index指示属性视频数据单元中承载的属性维度组的索引。
当存在时,vuh_map_index指示当前几何或属性流的图索引。
vuh_raw_video_flag等于1指示关联的几何或属性视频数据单元是仅RAW(或PCM)编码点视频。vuh_raw_video_flag等于0指示关联的几何或属性视频数据单元可包含RAW(或PCM)编码点。当vuh_raw_video_flag不存在时,其值可被推断为等于0。
图26所示的V-PCC单元有效载荷26001可表示图24的V-PCC单元有效载荷24001c。图26所示的V-PCC单元有效载荷26001可表示图25的样本流V-PCC单元中的V-PCC单元(vpcc_unit)中所包括的V-PCC单元有效载荷(vpcc_unit_payload)。
根据实施方式的V-PCC单元有效载荷可根据上述vuh_unit_type的值包含不同的数据。
例如,当vuh_unit_type的值为0时,根据实施方式的V-PCC单元的类型为V-PCC参数集,因此V-PCC单元有效载荷26001可包含vpcc_parameter_set()。
例如,当vuh_unit_type的值为1(即,VPCC_AD)时,根据实施方式的V-PCC单元的类型为图集数据,因此V-PCC单元有效载荷26001可包含图集数据(或图集子比特流(atlas_sub_bitstream())。
例如,当vuh_unit_type的值为2(即,VPCC_GVD)、3(即,VPCC_AVD)或4(即,VPCC_OVD)时,根据实施方式的V-PCC单元的类型为几何视频数据,因此V-PCC单元有效载荷26001可包含包括属性视频数据和/或占用时间视频数据的视频子比特流。
图27示出根据实施方式的V-PCC参数集的示例性句法。
图27所示的根据实施方式的V-PCC参数集可表示例如图24的V-PCC参数集24002a、图25的样本流V-PCC单元25002中的VPS或者参照图26描述的类型VPCC_VPS的V-PCC单元中所包括的V-PCC参数集。
图27所示的根据实施方式的V-PCC参数集可由图1的点云视频编码器10002、图4的辅助补片信息压缩器40005、图15的编码装置100、图18的补片生成器18000、图20和图21的视频编码器20002和图像编码器20003等生成。
根据实施方式的V-PCC参数集可被称为各种术语,例如V3C参数集和视觉体积参数集。以下,术语“VPCC”可被替换为和/或称为“V3C”。例如,vps_vpcc_parameter_set_id信息可被称为vps_v3c_parameter_set_id等。
根据实施方式的V-PCC参数集可包括例如profile_tier_level()信息、vps_vpcc_parameter_set_id、vps_atlas_count_minus1和/或vps_extension_present_flag。
profile_tier_level()包含V-PCC编码配置文件相关信息并且指定对比特流的限制,因此对将比特流解码所需的能力的限制。配置文件、层级和级别也可用于指示各个解码器实现之间的互操作点。
vps_vpcc_parameter_set_id提供V-PCC参数集(VPS)的标识符以供其它句法元素参考。
vps_atlas_count_minus1加1指示当前比特流中所支持的图集的总数。
vps_extension_present_flag等于1指定vpcc_parameter_set句法结构中存在句法元素vps_extension_length。vps_extension_present_flag等于0指定句法元素vps_extension_length不存在。
vps_extension_length_minus1加1指定跟随该句法元素之后的vps_extension_data_byte元素的数量。
vps_extension_data_byte可具有任何值。
根据实施方式的V-PCC参数集可包括与vps_atlas_count_minus1所指示的图集数量一样多的vps_frame_width、vps_frame_height、vps_map_count_minus1、vps_map_absolute_coding_enabled_flag、vps_auxiliary_video_present_flag、occupancy_information、geometry_information和/或attribute_information。
vps_frame_width[j]指示索引j的图集的V-PCC帧宽度。例如,vps_frame_width[j]依据索引j的图集的整数亮度样本指示V-PCC帧宽度。该帧宽度是与索引j的图集的所有V-PCC组件关联的标称宽度。
vps_frame_height[j]指示索引j的图集的V-PCC帧高度。例如,vps_frame_height[j]依据索引j的图集的整数亮度样本指示V-PCC帧高度。该帧高度是与索引j的图集的所有V-PCC组件关联的标称高度。
vps_map_count_minus1[j]加1指示用于对索引j的图集的几何数据和属性数据进行编码的图的数量。
vps_multiple_map_streams_present_flag[j]等于0指示索引j的图集的所有几何图或属性图分别被放置在单个几何或属性视频流中。vps_multiple_map_streams_present_flag[j]等于1指示索引j的图集的所有几何图或属性图被放置在单独的视频流中。
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][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()包括属性视频相关信息。
图28示出根据实施方式的图集帧。
图28所示的矩形28000表示一个图集帧。根据实施方式的图集帧28000可由图4的补片生成器40000和补片打包器40001生成。
图集帧28000是补片投影在其上的图集样本的2D矩形阵列。根据实施方式的图集帧可意指图3所示的图集帧。
图集帧28000可包括一个或更多个拼块28001。即,图集帧可被分成拼块。
图集帧28000可被分成一个或更多个拼块行和一个或更多个拼块列。
根据实施方式的拼块28001是用于划分2D帧的单元。即,拼块28001是用于划分图集的单元。拼块28001可表示例如根据实施方式的用于编码和/或解码的单元。拼块可以是图集帧的矩形区域。
拼块组28802可包含图集帧28000的一个或更多个拼块。
参照图28,拼块组28002包含图集帧28000的多个拼块28001等。拼块组28002构成图集帧28000的矩形区域。参照图28,例如,图集帧28000可被分割和/或划分成24个拼块(6个拼块列和4个拼块行)。图集帧28000可被分成9个矩形拼块组28002。
图29示出根据实施方式的示例性图集子流。
图集子流表示从V-PCC比特流(或V3C比特流)提取的子比特流类型。图集子流包括图集NAL比特流的一部分。
根据实施方式的V-PCC单元的V-PCC单元有效载荷29000可包含图29所示的图集子比特流(或图集子流),并且图集子比特流可包含一个或更多个样本流NAL单元。(承载图集子流的V-PCC单元的V-PCC单元有效载荷可由一个或更多个样本流NAL单元组成)。
图29所示的根据实施方式的图集子比特流可由根据实施方式的点云数据的一个或更多个网络抽象层(NAL)单元或样本流NAL单元组成。
根据实施方式的图集子比特流包括V-PCC样本流NAL头29001。根据实施方式的V-PCC单元29000包括一个或更多个样本流NAL单元29002。
根据实施方式,存在各种类型的NAL单元(或样本流NAL单元)29002。NAL单元的示例包括:包括图集序列参数集(ASPS)的样本流NAL单元、包括适配参数集(AAPS)的样本流NAL单元、包括图集帧参数集(AFPS)的样本流NAL单元、包括图集拼块组(ATP)的样本流NAL单元、包括必要SEI的样本流NAL单元和/或包括非必要SEI的NAL单元。
样本流NAL头29001包含关于一个或更多个样本流NAL单元29002的信令信息。例如,样本流NAL头29001可包含ssvh_unit_size_precision_bytes_minus1。
部分29003示出根据实施方式的样本流NAL单元头的句法的示例。
ssvh_unit_size_precision_bytes_minus1加1可指定例如所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(字节)。ssnh_unit_size_precision_bytes_minus1可在0至7的范围内。
部分29004示出根据实施方式的样本流NAL单元的句法的示例。
ssvu_nal_unit_size指定后续NAL_unit的大小(字节)。用于表示ssnu_nal_unit_size的比特数可等于(ssnh_unit_size_precision_bytes_minus1+1)*8。
NAL_unit(),即,nal_unit(ssvu_vpcc_unit_size)指示根据实施方式大小为ssvu_nal_unit_size的NAL单元。
各个样本流NAL单元包括图集序列参数集(ASPS)、图集适配参数集(AAPS)、图集帧参数集(AFPS)和图集拼块组信息、必要SEI和/或非必要SEI。
补充增强信息(SEI)消息包含与解码、重构、显示或其它目的有关的操作所需的信息。根据实施方式的SEI消息包含SEI有效载荷(sei_payload)。
根据实施方式的NAL_unit(),即,nal_unit(ssvu_vpcc_unit_size)的句法可如下配置。
[表5]
nal_unit(NumBytesInNalUnit){ | 描述符 |
nal_unit_header() | |
NumBytesInRbsp=0 | |
for(i=2;i<NumBytesInNalUnit;i++) | |
rbsp_byte[NumBytesInRbsp++] | b(8) |
} |
nal_unit_header()表示根据实施方式的NAL单元的头。
NumBytesInNalUnit指定NAL单元的大小(字节)。
NumBytesInRbsp被初始化为零,指示属于NAL单元的有效载荷的字节。
rbsp_byte[i]是RBSP的第i字节。
根据实施方式的NAL单元的头,即,nal_unit_header()的句法可如下配置。
[表6]
nal_unit_header(){ | 描述符 |
nal_forbidden_zero_bit | f(1) |
nal_unit_type | u(6) |
nal_layer_id | u(6) |
nal_temporal_id_plus1 | u(3) |
} |
nal_forbidden_zero_bit应等于0。nal_unit_type指定下表中指定的NAL单元中所包含的RBSP数据结构的类型。
[表7]
/>
nal_layer_id指定ACL NAL单元所属的层的标识符或应用非ACL NAL单元的层的标识符。
nal_temporal_id_plus1减1指定NAL单元的时间标识符。
各个样本流NAL单元包含图集参数集之一,即,ASPS、AAPS、AFPS、一个或更多个图集拼块组信息和SEI。
图30示出根据实施方式的图集序列参数集的示例性句法。
图30所示的根据实施方式的图集序列参数集表示例如在图29中示出并在对应段落中描述的ASPS。
图30所示的根据实施方式的图集序列参数集可由图1的点云视频编码器10002、图4的辅助补片信息压缩器40005、图15的编码装置100、图18的补片生成器18000、图20和图21的视频编码器20002和图像编码器20003等生成。
图30所示的根据实施方式的ASPS可包括asps_atlas_sequence_parameter_set_id、asps_frame_width、asps_frame_height、asps_log2_patch_packing_block_size、asps_log2_max_atlas_frame_order_cnt_lsb_minus4、asps_max_dec_atlas_frame_buffering_minus1、asps_long_term_ref_atlas_frames_flag、asps_num_ref_atlas_frame_lists_in_asps、asps_use_eight_orientations_flag、asps_extended_projection_enabled_flag、asps_normal_axis_limits_quantization_enabled_flag、asps_normal_axis_max_delta_value_enabled_flag、asps_remove_duplicate_point_enabled_flag、asps_pixel_deinterleaving_enabled_flag、asps_patch_precedence_order_flag、asps_patch_size_quantizer_present_flag、asps_raw_patch_enabled_flag、asps_eom_patch_enabled_flag、asps_point_local_reconstruction_enabled_flag、1asps_map_count_minus1、asps_vui_parameters_present_flag和/或asps_extension_flag。
根据实施方式的ASPS可包含应用于由各个拼块组头中找到的句法元素所参考的ASPS中找到的句法元素的内容确定的零个或更多个完整编码图集序列(CAS)的句法元素。
asps_atlas_sequence_parameter_set_id提供图集序列参数集的标识符以供其它句法元素参考。
asps_frame_width依据整数个样本指示图集帧宽度,其中样本对应于视频组件的亮度样本。
asps_frame_height依据整数个样本指示图集帧高度,其中样本对应于视频组件的亮度样本。
asps_log2_patch_packing_block_size指定变量PatchPackingBlockSize的值。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_use_eight_orientations_flag等于0指定索引i的帧中索引j的补片的补片取向索引pdu_orientation_index[i][j]在0至1(含)的范围内。asps_use_eight_orientations_flag等于1指定索引i的帧中索引j的补片的补片取向索引pdu_orientation_index[i][j]在0至7(含)的范围内。
asps_extended_projection_enabled_flag等于0指定对于当前图集拼块组不用信号通知补片投影信息。asps_extended_projection_enabled_flag等于1指定对于当前图集拼块组用信号通知补片投影信息。
asps_normal_axis_limits_quantization_enabled_flag等于1指定应用信号通知量化参数并用于量化补片数据单元、合并补片数据单元或补片间数据单元的法向轴相关元素。asps_normal_axis_limits_quantization_enabled_flag等于0指定不对补片数据单元、合并补片数据单元或补片间数据单元的任何法向轴相关元素应用量化。
asps_normal_axis_max_delta_value_enabled_flag等于1指定索引j的帧中索引i的补片的几何信息中可存在的法向轴的最大标称移位值将在各个补片数据单元、合并补片数据单元或补片间数据单元的比特流中指示。asps_normal_axis_max_delta_value_enabled_flag等于0指定索引j的帧中索引i的补片的几何信息中可存在的法向轴的最大标称移位值不应在各个补片数据单元、合并补片数据单元或补片间数据单元的比特流中指示。
asps_remove_duplicate_point_enabled_flag等于1指示不为当前图集重构重复点,其中重复点是具有与来自索引较低的图的另一点相同的2D和3D几何坐标的点。asps_remove_duplicate_point_enabled_flag等于0指示重构所有点。
asps_pixel_deinterleaving_enabled_flag等于1指示当前图集的解码几何和属性视频包含来自两个图的空间交织像素。asps_pixel_deinterleaving_flag等于0指示与当前图集对应的解码几何和属性视频仅包含来自单个图的像素。
例如,当asps_pixel_deinterleaving_enabled_flag的值为1时,根据实施方式的ASPS可包括与asps_map_count_minus1加1一样多的asps_pixel_deinterleaving_map_flag。
asps_map_count_minus1加1指示可用于对当前图集的几何数据和属性数据进行编码的图的数量。
asps_pixel_deinterleaving_map_flag等于1指示当前图集中与索引i的图对应的解码几何和属性视频包含与两个图对应的空间交织像素。asps_pixel_deinterleaving_map_flag[i]等于0指示当前图集中与索引i的图对应的解码几何和属性视频包含与单个图对应的像素。
asps_patch_precedence_order_flag等于1指示当前图集的补片优先顺序与解码顺序相同。asps_patch_precedence_order_flag等于0指示当前图集的补片优先顺序与解码顺序相反。
asps_patch_size_quantizer_present_flag等于1指示补片大小量化参数存在于图集拼块组头中。asps_patch_size_quantizer_present_flag等于0指示补片大小量化参数不存在。
asps_eom_patch_enabled_flag等于1指示当前图集的解码占用图视频包含与两个深度图之间的中间深度位置是否被占用有关的信息。asps_eom_patch_enabled_flag等于0指示解码占用图视频不包含与两个深度图之间的中间深度位置是否被占用有关的信息。
当asps_eom_patch_enabled_flag的值为1时,根据实施方式的ASPS还可包括asps_auxiliary_video_enabled_flag。
asps_point_local_reconstruction_enabled_flag等于1指示在当前图集的比特流中可存在点局部重构模式信息。asps_point_local_reconstruction_enabled_flag等于0指示在当前图集的比特流中不存在与点局部重构模式有关的信息。
当asps_eom_patch_enabled_flag的值为0时,根据实施方式的ASPS还可包括asps_eom_fix_bit_count_minus1。
asps_eom_fix_bit_count_minus1加1指示EOM码字的比特大小。
当asps_point_local_reconstruction_enabled_flag的值为1时,根据实施方式的ASPS还可包括asps_point_local_reconstruction_information。
asps_point_local_reconstruction_information包括点局部重构模式信息以支持解码器侧的丢失点重构。
当asps_pixel_deinterleaving_enabled_flag或asps_point_local_reconstruction_enabled_flag的值为1时,根据实施方式的ASPS可包括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可具有任何值。
rbsp_trailing_bits用于在添加1(停止比特)以指示RBSP数据的结尾之后用0填充剩余比特以进行字节对齐的目的。
图31示出根据实施方式的图集帧参数集的示例性句法。
图31所示的根据实施方式的图集帧参数集表示例如在图29中示出并在对应段落中描述的AFPS。
图31所示的根据实施方式的图集帧参数集可由图1的点云视频编码器10002、图4的辅助补片信息压缩器40005、图15的编码装置100、图18的补片生成器18000、图20和图21的视频编码器20002和图像编码器20003等生成。
根据实施方式的图集帧参数集(AFPS)包含包括应用于零或更多个完整编码图集帧的句法元素的句法结构。
根据实施方式的AFPS还可包含afps_atlas_frame_parameter_set_id、afps_atlas_sequence_parameter_set_id、atlas_frame_tile_information()、afps_output_flag_present_flag、afps_num_ref_idx_default_active_minus1、afps_additional_lt_afoc_lsb_len、afps_3d_pos_x_bit_count_minus1、afps_3d_pos_y_bit_count_minus1、afps_lod_mode_enabled_flag、afps_override_eom_for_depth_flag、afps_raw_3d_pos_bit_count_explicit_mode_flag、afps_fixed_camera_model_flag和/或afps_extension_flag。
afps_atlas_frame_parameter_set_id标识图集帧参数集以供其它句法元素参考。
afps_atlas_sequence_parameter_set_id指定活动图集序列参数集的asps_atlas_sequence_parameter_set_id的值。
afps_output_flag_present_flag等于1指示在关联的拼块组头中存在atgh_frame_output_flag句法元素。afps_output_flag_present_flag等于0指示在关联的拼块组头中不存在atgh_frame_output_flag句法元素。
afps_num_ref_idx_default_active_minus1加1指定atgh_num_ref_idx_active_override_flag等于0的拼块组的变量NumRefIdxActive的推断值。
afps_additional_lt_afoc_lsb_len指定用于参考图集帧的解码处理的变量MaxLtAtlasFrmOrderCntLsb的值。
afps_3d_pos_x_bit_count_minus1加1指定参考afps_atlas_frame_parameter_set_id的图集拼块组中索引j的补片的pdu_3d_pos_x[j]的固定长度表示的比特数。
afps_3d_pos_y_bit_count_minus1加1指定参考afps_atlas_frame_parameter_set_id的图集拼块组中索引j的补片的pdu_3d_pos_y[j]的固定长度表示的比特数。
afps_lod_mode_enabled_flag等于1指示补片中可存在LOD参数。afps_lod_mode_enabled_flag等于0指示补片中不存在LOD参数。
afps_override_eom_for_depth_flag等于1指示比特流中明确存在afps_eom_number_of_patch_bit_count_minus1和afps_eom_max_bit_count_minus1的值。afps_override_eom_for_depth_flag等于0指示隐含推导afps_eom_number_of_patch_bit_count_minus1和afps_eom_max_bit_count_minus1的值。
afps_raw_3d_pos_bit_count_explicit_mode_flag等于1指示rpdu_3d_pos_x、rpdu_3d_pos_y和rpdu_3d_pos_z的固定长度表示中的比特数由图集拼块组头中的atgh_raw_3d_pos_axis_bit_count_minus1明确编码。
afps_extension_flag等于0指定AFPS RBSP句法结构中不存在afps_extension_data_flag句法元素。
afps_extension_data_flag可具有任何值。
当afps_override_eom_for_depth_flag的值为1时,根据实施方式的AFPS还可包含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点的数量的比特数。
图32示出根据实施方式的图集帧拼块信息的示例性句法。
根据实施方式的图集帧拼块信息(AFTI)表示参照图31示出/描述的atlas_frame_tile_information()。
根据实施方式的AFTI可包括afti_single_tile_in_atlas_frame_flag。
afti_single_tile_in_atlas_frame_flag等于1指定在参考AFPS的各个图集帧中仅存在一个拼块。afti_single_tile_in_atlas_frame_flag等于0指定在参考AFPS的各个图集帧中存在超过一个拼块。
当afti_single_tile_in_atlas_frame_flag的值为0时(或者当参考AFPS的各个图集帧中存在两个或更多个拼块时),根据实施方式的AFTI可包括afti_uniform_tile_spacing_flag、afti_single_tile_per_tile_group_flag和/或afti_signalled_tile_group_flag。
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还可包括afti_tile_cols_width_minus1和/或afti_tile_cols_width_minus1。
afti_tile_cols_width_minus1加1以64个样本为单位指定除了图集帧的最右拼块列之外的拼块列的宽度。
afti_tile_rows_height_minus1加1以64个样本为单位指定除了图集帧的底部拼块行之外的拼块行的高度。
当afti_uniform_tile_spacing_flag的值为0时,根据实施方式的AFTI可包括afti_num_tile_columns_minus1、afti_num_tile_rows_minus1、afti_tile_column_width_minus1和/或afti_tile_row_height_minus1。
afti_num_tile_columns_minus1加1指定分割图集帧的拼块列的数量。
afti_num_tile_rows_minus1指定分割图集帧的拼块行的数量。
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时,即,当参考AFPS的各个拼块组包含超过一个拼块时,AFTI包括afti_num_tile_groups_in_atlas_frame_minus1、afti_top_left_tile_idx、afti_bottom_right_tile_idx_delta和afti_signalled_tile_group_id_flag。
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时,即,当用信号通知各个拼块组的拼块组ID时,根据实施方式的AFTI还可包括afti_signalled_tile_group_id_length_minus1和/或afti_tile_group_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比特。
图33示出根据实施方式的图集适配参数集和图集相机参数的示例性句法。
图33所示的根据实施方式的图集适配参数集表示例如在图29中示出并在对应段落中描述的AAPS。
图33所示的根据实施方式的图集相机参数可包括在根据实施方式的图集适配参数集中。
图33所示的图集适配参数集可由图1的点云视频编码器10002、图4的辅助补片信息压缩器40005、图15的编码装置100、图18的补片生成器18000、图20和图21的视频编码器20002和图像编码器20003等生成。
根据实施方式的图集适配参数集(AAPS)RBSP包括一个或更多个编码图集帧的编码拼块组NAL单元可参考的参数。在解码处理的操作期间的任何给定时刻,至多一个AAPSRBSP被认为是活动的,并且任何特定AAPS RBSP的启用导致先前活动的AAPS RBSP的停用。
根据实施方式的AAPS可包含aaps_atlas_adaptation_parameter_set_id、aaps_camera_parameters_present_flag和/或aaps_extension_flag。
aaps_atlas_adaptation_parameter_set_id标识图集适配参数集以供其它句法元素参考。
aaps_camera_parameters_present_flag等于1指定当前AAPS中存在相机参数。aaps_camera_parameters_present_flag等于0指定不存在当前AAPS的相机参数。
根据实施方式,当aaps_camera_parameters_present_flag的值为1时,AAPS还可包含atlas_camera_parameters()。
根据实施方式的atlas_camera_parameters()可包含acp_camera_model。
acp_camera_model指示与下表中所列的当前适配参数集关联的点云帧的相机模型。
[表8]
acp_camera_model | acp_camera_model的名称 |
0 | 未指定 |
1 | 正交相机模型 |
2-255 | 预留 |
当acp_camera_model的值为1时,即,当与适配参数集关联的点云帧的相机模型是正交相机模型时,根据实施方式的ACP可包括acp_scale_enabled_flag、acp_offset_enabled_flag和/或acp_rotation_enabled_flag。
acp_scale_enabled_flag等于1指示存在当前相机模型的缩放参数。acp_scale_enabled_flag等于0指示不存在当前相机模型的缩放参数。
当acp_scale_enabled_flag的值为1时,根据实施方式的ACP还可包含当前相机模型的缩放参数,例如acp_scale_on_axis。
acp_scale_on_axis[d]指定当前相机模型沿着d轴的缩放值Scale[d]。d的值可在0至2(含)的范围内,值0、1和2分别对应于X、Y和Z轴。
acp_offset_enabled_flag等于1指示存在当前相机模型的偏移参数。acp_offset_enabled_flag等于0指示不存在当前相机模型的偏移参数。
当acp_offset_enabled_flag的值为1时,根据实施方式的ACP还可包括当前相机模型的缩放参数,例如acp_offset_on_axis[d]。
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_enabled_flag等于0指示不存在当前相机模型的旋转参数。
当acp_rotation_enabled_flag的值为1时,ACP可包括acp_rotation_qx、acp_rotation_qy和acp_rotation_qz。
acp_rotation_qx使用四元数表示指定当前相机模型的旋转的x分量qX。
acp_rotation_qy使用四元数表示指定当前相机模型的旋转的y分量qY。
acp_rotation_qz使用四元数表示指定当前相机模型的旋转的z分量qZ。
aaps_extension_flag等于0指定AAPS RBSP句法结构中不存在aaps_extension_data_flag句法元素。
aaps_extension_data_flag可具有任何值。
图34示出根据实施方式的图集拼块组层信息。
图34所示的根据实施方式的图集拼块组层信息表示例如在图29中示出并在对应段落中描述的图集拼块组层。
图34所示的根据实施方式的图集拼块组层可由图1的点云视频编码器10002、图4的辅助补片信息压缩器40005、图15的编码装置100、图18的补片生成器18000、图20和图21的视频编码器20002和图像编码器20003等生成。
根据实施方式的图集拼块组层可包含atlas_tile_group_header()。
根据实施方式的atlas_tile_group_header()可包含atgh_atlas_frame_parameter_set_id、atgh_atlas_adaptation_parameter_set_id、atgh_address、atgh_type、atgh_atlas_frm_order_cnt_lsb和atgh_additional_afoc_lsb_present_flag。
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根据下表指定当前图集拼块组的编码类型。
[表9]
atgh_type | atgh_type的名称 |
0 | P_TILE_GRP(帧间图集拼块组) |
1 | I_TILE_GRP(帧内图集拼块组) |
2 | SKIP_TILE_GRP(跳过图集拼块组) |
3-… | 预留 |
atgh_atlas_output_flag影响解码图集输出和去除处理。
atgh_atlas_frm_order_cnt_lsb指定对于当前图集拼块组,图集帧顺序计数取模MaxAtlasFrmOrderCntLsb。
atgh_ref_atlas_frame_list_sps_flag等于1指定当前图集拼块组的参考图集帧列表基于活动ASPS中的ref_list_struct(rlsIdx)句法结构之一来推导。atgh_ref_atlas_frame_list_sps_flag等于0指定当前图集拼块列表的参考图集帧列表基于直接包括在当前图集拼块组的拼块组头中的ref_list_struct(rlsIdx)句法结构来推导。
atgh_ref_atlas_frame_list_idx指定用于推导当前图集拼块组的参考图集帧列表的ref_list_struct(rlsIdx)句法结构在活动ASPS中所包括的ref_list_struct(rlsIdx)句法结构列表中的索引。
atgh_additional_afoc_lsb_present_flag[j]等于1指定对于当前图集拼块组存在atgh_additional_afoc_lsb_val[j]。atgh_additional_afoc_lsb_present_flag[j]等于0指定atgh_additional_afoc_lsb_val[j]不存在。
atgh_additional_afoc_lsb_val[j]指定当前图集拼块组的FullAtlasFrmOrderCntLsbLt[RlsIdx][j]的值。
atgh_pos_min_z_quantizer指定要应用于补片p的pdu_3d_pos_min_z[p]值的量化器。如果atgh_pos_min_z_quantizer不存在,则其值被推断为等于0。
atgh_pos_delta_max_z_quantizer指定要应用于索引p的补片的pdu_3d_pos_delta_max_z[p]值的量化器。如果atgh_pos_delta_max_z_quantizer不存在,则其值被推断为等于0。
atgh_patch_size_x_info_quantizer指定要应用于变量索引p的补片的pdu_2d_size_x_minus1[p]、mpdu_2d_delta_size_x[p]、ipdu_2d_delta_size_x[p]、rpdu_2d_size_x_minus1[p]和epdu_2d_size_x_minus1[p]的量化器PatchSizeXQuantizer的值。如果atgh_patch_size_x_info_quantizer不存在,则其值可被推断为等于asps_log2_patch_packing_block_size。
atgh_patch_size_y_info_quantizer指定要应用于索引p的补片的变量pdu_2d_size_y_minus1[p]、mpdu_2d_delta_size_y[p]、ipdu_2d_delta_size_y[p]、rpdu_2d_size_y_minus1[p]和epdu_2d_size_y_minus1[p]的量化器PatchSizeYQuantizer的值。如果atgh_patch_size_y_info_quantizer不存在,则其值可被推断为等于asps_log2_patch_packing_block_size。
atgh_raw_3d_pos_axis_bit_count_minus1加1指定rpdu_3d_pos_x、rpdu_3d_pos_y和rpdu_3d_pos_z的固定长度表示的比特数。
atgh_num_ref_idx_active_override_flag等于1指定对于当前图集拼块组存在句法元素atgh_num_ref_idx_active_minus1。atgh_num_ref_idx_active_override_flag等于0指定句法元素atgh_num_ref_idx_active_minus1不存在。如果atgh_num_ref_idx_active_override_flag不存在,则其值可被推断为等于0。
atgh_num_ref_idx_active_minus1指定可用于对当前图集拼块组进行解码的参考图集帧列表的最大参考索引。当NumRefIdxActive的值等于0时,没有参考图集帧列表的参考索引可用于对当前图集拼块组进行解码。
图35示出根据实施方式的参考列表结构信息。
根据实施方式的参考列表结构(ref_list_struct())可表示例如图34所示的ref_list_struct()。
根据实施方式的ref_list_struct()可具有用于标识参考列表结构的标识符(rlsIdx)作为参数。
根据实施方式的ref_list_struct()可包括num_ref_entries。
num_ref_entries指定ref_list_struct(rlsIdx)句法结构中的条目数。
根据实施方式的ref_list_struct()还可包括与num_ref_entries的值(即,条目数)一样多的st_ref_atlas_frame_flag、abs_delta_afoc_st和/或afoc_lsb_lt。
st_ref_atlas_frame_flag[rlsIdx][i]等于1指定ref_list_struct(rlsIdx)句法结构中的第i条目是短期参考图集帧条目。st_ref_atlas_frame_flag[rlsIdx][i]等于0指定ref_list_struct(rlsIdx)句法结构中的第i条目是长期参考图集帧条目。当不存在时,st_ref_atlas_frame_flag[rlsIdx][i]的值可被推断为等于1。
当第i条目是ref_list_struct(rlsIdx)句法结构中的第一短期参考图集帧条目时,abs_delta_afoc_st[rlsIdx][i]指定当前图集拼块组和第i条目所参考的图集帧的图集帧顺序计数值之间的绝对差。当第i条目是短期参考图集帧条目,但不是ref_list_struct(rlsIdx)句法结构中的第一短期参考图集帧条目时,abs_delta_afoc_st[rlsIdx][i]指定第i条目和ref_list_struct(rlsIdx)句法结构中的前一短期参考图集帧条目所参考的图集帧的图集帧顺序计数值之间的绝对差。
strpf_entry_sign_flag[rlsIdx][i]等于1指定句法结构ref_list_struct(rlsIdx)中的第i条目具有大于或等于0的值。strpf_entry_sign_flag[rlsIdx][i]等于0指定句法结构ref_list_struct(rlsIdx)中的第i条目具有小于0的值。当不存在时,strpf_entry_sign_flag[rlsIdx][i]的值可被推断为等于1。
afoc_lsb_lt[rlsIdx][i]指定ref_list_struct(rlsIdx)句法结构中的第i条目所参考的图集帧的图集帧顺序计数取模MaxAtlasFrmOrderCntLsb的值。afoc_lsb_lt[rlsIdx][i]句法元素的长度为asps_log2_max_atlas_frame_order_cnt_lsb_minus4+4比特。
图36示出根据实施方式的图集拼块组数据单元。
根据实施方式的图集拼块组数据单元表示图34所示的图集拼块组层信息中所包括的图集拼块组数据单元(atlas_tile_group_data_unit)。
根据实施方式的图集拼块组数据单元包括atgdu_patch_mode[p]。
atgdu_patch_mode[p]指示当前图集拼块组中索引p的补片的补片模式。atgh_type=SKIP_TILE_GRP的拼块组意味着整个拼块组信息直接从具有与对应于第一参考图集帧的当前拼块组相同的atgh_address的拼块组复制。
类型I_TILE_GRP的图集拼块组的补片模式类型可如下指定。
[表10]
atgdu_patch_mode | 标识符 | 描述 |
0 | I_INTRA | 非预测补片模式 |
1 | I_RAW | RAW点补片模式 |
2 | I_EOM | EOM点补片模式 |
3-13 | I_RESERVED | 预留模式 |
14 | I_END | 补片终止模式 |
类型P_TILE_GRP的图集拼块组的补片模式类型可如下指定。
[表11]
类型SKIP_TILE_GRP的图集拼块组的补片模式类型可如下指定。
[表12]
atgdu_patch_mode | 标识符 | 描述 |
0 | P_SKIP | 补片跳过模式 |
根据实施方式的图集拼块组数据单元还可包括根据实施方式的补片信息数据(patch_information_data())。
例如,补片信息数据(patch_information_data())可具有如下句法结构。
[表13]
patch_information_data(patchIdx,patchMode){ | 描述符 |
if(atgh_type==SKIP_TILE_GR) | |
skip_patch_data_unit(patchIdx) | |
else if(atgh_type==P_TILE_GR){ | |
if(patchMode==P_SKIP) | |
skip_patch_data_unit(patchIdx) | |
else if(patchMode==P_MERGE) | |
merge_patch_data_unit(patchIdx) | |
else if(patchMode==P_INTRA) | |
patch_data_unit(patchIdx) | |
else if(patchMode==P_INTER) | |
inter_patch_data_unit(patchIdx) | |
else if(patchMode==P_RAW) | |
raw_patch_data_unit(patchIdx) | |
else if(patchMode==P_EOM) | |
eom_patch_data_unit(patchIdx) | |
} | |
else if(atgh_type==I_TILE_GR){ | |
if(patchMode==I_INTRA) | |
patch_data_unit(patchIdx) | |
else if(patchMode==I_RAW) | |
raw_patch_data_unit(patchIdx) | |
else if(patchMode==I_EOM) | |
eom_patch_data_unit(patchIdx) | |
} | |
} |
根据实施方式的补片信息数据(patch_information_data())可包括补片数据单元。图37中示出补片数据单元的示例。
图37示出根据实施方式的补片数据单元的示例性句法。
pdu_2d_pos_x[p]指定当前图集拼块组tileGroupIdx中补片p的补片边界框的左上角的x坐标(或左偏移),表示为PatchPackingBlockSize的倍数。
pdu_2d_pos_y[p]指定当前图集拼块组tileGroupIdx中补片p的补片边界框的左上角的y坐标(或顶偏移),表示为PatchPackingBlockSize的倍数。
pdu_2d_size_x_minus1[p]加1指定当前图集拼块组tileGroupIdx中的索引p的补片的量化宽度值。
pdu_2d_size_y_minus1[p]加1指定当前图集拼块组tileGroupIdx中索引p的补片的量化高度值。
pdu_3d_pos_x[p]指定沿着切向轴要应用于当前图集拼块组的索引p的补片中的重构补片点的移位。
pdu_3d_pos_y[p]指定沿着双切轴要应用于当前图集拼块组的索引p的补片中的重构补片点的移位。
pdu_3d_pos_min_z[p]指定沿着法向轴要应用于当前图集拼块组的索引p的补片中的重构补片点的移位。
如果存在,pdu_3d_pos_delta_max_z[p]指定沿着法向轴在当前图集拼块组的索引p的补片中在转换为其标称表示之后重构比特深度补片几何样本中预期存在的移位的标称最大值。
pdu_projection_id[p]指定当前图集拼块组的索引p的补片的投影平面法向的投影模式和索引的值。
pdu_orientation_index[p]如下指示当前图集拼块组的索引p的补片的补片取向索引。
根据实施方式的取向索引可如下指定。
/>
pdu_lod_enabled_flag[p]等于1指定对于当前补片p存在LOD参数。pdu_lod_enabled_flag[p]等于0指定对于当前补片不存在LOD参数。
pdu_lod_scale_x_minus1[p]指定在与补片坐标Patch3dPosX[p]相加之前要应用于当前图集拼块组的索引p的补片中的点的局部x坐标的LOD缩放因子。
pdu_lod_scale_y[p]指定在与补片坐标Patch3dPosY[p]相加之前要应用于当前图集拼块组的索引p的补片中的点的局部y坐标的LOD缩放因子。
根据实施方式的点云数据发送装置发送图24至图37所示结构的V-PCC比特流,从而使得发送器能够有效地执行复用。由于这种结构,点云数据可为接收装置以V-PCC单元为单位提供对比特流的有效访问。另外,利用这种配置,发送装置可提供有效地在文件中的轨道中存储V-PCC比特流的图集流并发送的效果。
V-PCC比特流中用于数据处理和渲染的SEI消息/信息可有效地存储在文件中并发送。
图38示出根据实施方式的承载点云数据的文件的结构。
图38所示的根据实施方式的文件可以是例如根据ISOBMFF格式的文件。根据实施方式的文件可由例如图1的文件/片段封装模块10003或图20和图21的文件/片段封装器20004、21009生成。根据实施方式的文件可包括图24和/或图25所示的根据实施方式的V3C比特流。根据实施方式的文件可包括图26至图37所示的一些或所有参数。根据实施方式的文件包含根据实施方式的点云数据。
根据实施方式的点云数据可为ISOBMFF文件的格式。ISOBMFF文件可由称为框的对象组成。即,所有数据可包含在一个或更多个框中。
框可包括框头,其可包括框的大小和类型。根据实施方式的点云数据可包括框类型为“ftyp”的ftyp框38000、框类型为“meta”的meta框38001、框类型为“moov”的moov框38002以及框类型为“mdat”的mdat框38003。
根据实施方式,ftyp框38000可包含指示ISOBMFF文件的类型的信息。
根据实施方式,meta框38001可包含关于点云数据的元数据信息。
moov框38002可包含关于发送根据实施方式的点云数据的一个或更多个轨道的信息。
根据实施方式的moov框38002可包括包含关于用于发送点云数据的属性信息的轨道的信息的框38002a、包含关于用于发送点云数据的占用信息的轨道的信息的框38002b、包含关于用于发送点云数据的几何信息的轨道的信息的框38002c和/或包含关于用于发送点云数据的V-PCC信息的轨道的信息的框38002d。
mdat框38003可包括包含根据实施方式的点云数据的点云比特流。根据实施方式的点云比特流可包括视频编码属性比特流38003a、视频编码占用比特流38003b、视频编码几何比特流38003c和/或补片序列数据比特流38003d。
根据实施方式的视频编码属性比特流38003a、视频编码占用比特流38003b、视频编码几何比特流38003c和/或补片序列数据比特流38003d可由一个或更多个视频帧承载。
视频编码属性比特流38003a是指由根据实施方式的V-PCC编码器编码的点云数据的属性信息。
视频编码占用比特流38003b是指由根据实施方式的V-PCC编码器编码的点云数据的占用信息。
视频编码几何比特流38003c是指由根据实施方式的V-PCC编码器编码的点云数据的几何信息。
补片序列数据比特流38003d是指根据实施方式的点云数据的补片序列数据。
2D视频轨道基于根据实施方式的视频编码器来编码。
在样本条目中,可插入额外的框,其可记录包含在该轨道中的视频流在V-PCC系统中的作用。
轨道参考可从V-PCC补片数据轨道插入到视频轨道,以基于补片轨道在特定点云中建立视频轨道的成员关系。
轨道头标志可被设定为0,以指示轨道不直接对电影的总体铺设有贡献,而是对V-PCC系统有贡献。
属于同一V-PCC序列的轨道时间对齐。横跨不同视频编码组件轨道和V-PCC轨道对相同点云帧有贡献的样本可具有相同的呈现时间。
V-PCC轨道可包含序列参数集和承载非视频编码信息V-PCC单元的有效载荷的样本。这里,非视频编码信息V-PCC单元可意指V-PCC单元类型例如是VPCC_SPS和VPCC_PDG的单元。
此轨道还可提供对包含承载视频压缩V-PCC单元的有效载荷的样本的其它轨道的轨道参考。这里,其它轨道可表示V-PCC单元类型例如是VPCC_GVD、VPCC_AVD和VPCC_OVD的单元。
包含几何数据的视频编码基本流(类型VPCC_GVD的V-PCC单元的有效载荷)的样本可包括在一个或更多个视频流中。
包含属性数据的视频编码基本流(类型VPCC_AVD的V-PCC单元的有效载荷)的样本可包括在一个或更多个视频流中。
包含占用图数据的视频编码基本流(类型VPCC_OVD的V-PCC单元的有效载荷)的样本可包括在一个或更多个视频流中。
组件轨道中的基本流之间的同步可由ISO BMFF轨道定时结构(ctts和cslg,或者电影碎片中的等效机制)处理。
横跨不同视频编码组件轨道和V-PCC轨道对相同点云帧有贡献的样本可具有相同的编排时间。用于这些样本的V-PCC参数集具有等于或早于帧的编排时间的解码时间。
图39示出根据实施方式的承载点云数据的文件的结构。
图39所示的根据实施方式的文件可以是例如根据ISOBMFF格式的文件。根据实施方式的文件可由例如图1的文件/片段封装模块10003或图20和图21的文件/片段封装器20004、21009生成。根据实施方式的文件可包括图24和/或图25所示的根据实施方式的V3C比特流。根据实施方式的文件可包括图26至图37所示的一些或所有参数。根据实施方式的文件包含根据实施方式的点云数据。
图39(A)示出根据实施方式的文件中的一个轨道所承载的点云数据。
参照图39(A),在实施方式中,点云数据(点云视频#1)可由一个V-PCC比特流轨道承载。V-PCC比特流轨道可被称为V3C比特流轨道、V-PCC轨道、V3C轨道等。如图39(A)所示,将点云数据封装在要发送的单个轨道中可被称为单轨道封装。
参照图39(A),图24和/或图25所示的根据实施方式的V3C比特流可包含在单个V3C轨道的样本中或V3C轨道的元数据框中。
图39(B)示出根据实施方式的文件中的多个轨道所承载的点云数据。
参照图39(B),单个文件包括多个轨道。多个轨道可包括例如与点云数据的参数、补片、图集等有关的轨道(例如,V-PCC轨道)、占用图相关轨道(例如,占用视频轨道)、几何视频相关轨道(例如,几何视频轨道)和/或属性视频相关轨道(属性视频轨道)。即,一个或更多个点云视频或图像可存储在单个文件中。封装这种结构的文件可被称为多轨道封装。例如,图38所示的文件的结构可以是多轨道封装文件。
参照图39(C),根据实施方式的文件可包含根据实施方式的点云视频。根据实施方式的文件可包含根据实施方式的点云视频和/或一个或更多个点云图像。点云视频(或图像)可表示构成点云数据的一个或更多个对象,或者可以是构成特定时间段的点云数据的帧。
根据实施方式的点云数据接收装置可回放文件中的点云数据。点云数据接收装置可同时回放一些或所有点云数据。需要根据实施方式的文件以提供关于需要同时播放的点云视频或图像的分组信息。因此,根据实施方式的点云数据的元数据可包括用于回放的分组信息和/或用于回放的控制信息。用于回放的分组信息和/或用于回放的控制信息在文件内不会改变,并且可随时间改变。
可存在封装并发送根据实施方式的(V-PCC)点云数据的各种方法,即,V-PCC系统(V3C系统)。以下,将描述封装并发送(V-PCC)点云数据的示例性方法,即,示例性V-PCC系统(V3C系统)。
基于视频的点云压缩(V-PCC)表示点云视觉信息的体积编码。V-PCC比特流(包括编码点云序列(CPCS))包含根据实施方式的V-PCC单元(V3C单元),包括V3C参数集数据、编码图集比特流、2D视频编码占用图比特流、2D视频编码几何比特流、零或更多个2D编码属性比特流。
首先,将描述根据实施方式的体积视觉媒体头。
体积视觉轨道可以是例如V-PCC轨道。体积视觉轨道可由媒体框中的处理器框中的体积视觉媒体处理器类型“volv”和体积视觉媒体头标识。多个体积视觉轨道可存在于文件中。
框类型:“vvhd”
容器:MediaInformationBox
强制:是
数量:恰好一个
体积轨道可使用MediaInformationBox中的VolumetricVisualMediaHeaderBox。
aligned(8)class VolumetricVisualMediaHeaderBox
extends FullBox(‘vvhd’,version=0,1){
}
“version”是指定该框的版本的整数。
将描述根据实施方式的V-PCC轨道样本条目。V-PCC轨道样本条目可包含在文件中的V-PCC轨道中的轨道框中。
样本条目类型:“vpc1”、“vpcg”
容器:SampleDescriptionBox(‘stsd’)
强制:“vpc1”或“vpcg”样本条目是强制的。
数量:可存在一个或更多个样本条目。
V-PCC轨道可使用具有样本条目类型“vpc1”或“vpcg”的VolumetricVisualSampleEntry。根据实施方式的V-PCC体积样本条目可包括如下定义的VPCCConfigurationBox。VPCCConfigurationBox可包括VPCCDecoderConfigurationRecord(V-PCC配置记录框)。setup vpcc单元阵列中同时存在的所有数据可通过配置本文所提供的头来与ssvu_vpcc_unit_size一起存储在sample_stream_vpcc_units中。
体积视觉轨道应使用体积视觉样本条目。体积视觉样本条目可如下配置。
class VolumetricVisualSampleEntry(codingname)extends SampleEntry(codingname){
unsigned int(8)[32]compressor_name;
}
compressor_name是用于提供信息的名称。该参数被格式化为固定32字节字段,其中第一字节被设定为要显示的字节数,随后是使用UTF-8编码的可显示数据的字节数,然后填充以完成总共32字节。
以下,将描述根据实施方式的V-PCC轨道(存在于样本条目中)或视频编码V-PCC组件轨道(存在于方案信息中)中所包含的公共数据结构。
将描述V-PCC单元头框的示例。
根据实施方式的V-PCC单元(V3C单元)的头可被封装到根据实施方式的V-PCC单元头框中。
V-PCC单元头框可存在于V-PCC轨道(在样本条目中)和/或所有视频编码V-PCC组件轨道(例如,几何视频轨道、属性视频轨道、占用视频轨道等)(在方案信息中)二者中。V-PCC单元头框包括各个轨道所承载的数据的V-PCC单元头(“vpcc_unit_header()unit_header;”)。
aligned(8)class VPCCUnitHeaderBox extends FullBox(‘vunt’,version=0,0){
vpcc_unit_header()unit_header;
}
将描述V-PCC解码器配置框的示例。
V-PCC解码器配置框包含VPCCDecoderConfigurationRecord。根据实施方式的V-PCC解码器配置框可具有以下句法。
class VPCCConfigurationBox extends Box(‘vpcC’){
VPCCDecoderConfigurationRecord()VPCCConfig;
}
该记录可包含版本字段。本说明书定义了该记录的版本1。
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中定义的}
unsigned int(8)numOfSetupUnitArrays;
for(j=0;j<numOfSetupUnitArrays;j++){
bit(1)array_completeness;
bit(1)reserved=0;
unsigned int(6)NAL_unit_type;
unsigned int(8)numNALUnits;
for(i=0;i<numNALUnits;i++){
unsigned int(16)SetupUnitLength;
nal_unit(SetupUnitLength)setupUnit;//如ISO/IEC 23090-5中定义的}
}
}
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单元。当存在此字段时,NAL_PREFIX_ESEI、NAL_PREFIX_NSEI、NAL_SUFFIX_ESEI或NAL_SUFFIX_NSEI可包含提供关于整个流的信息的SEI消息。例如,SEI消息可以是用户数据SEI。
setupUnit阵列可包括对于存在解码器配置记录的样本条目所参考的流恒定的图集参数集。
用于V-PCC比特流的多轨道容器
以下,将描述根据实施方式的将V-PCC比特流封装到多轨道容器中的处理。
根据实施方式的V-PCC比特流中的V-PCC单元可基于V-PCC容器被映射到各个轨道。V-PCC容器可表示多轨道ISOBMFF 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组件轨道中的同步样本可以或可以不时间对齐。
在没有时间对齐的情况下,随机访问可涉及从不同的同步开始时间预滚动各种轨道,以允许在期望的时间开始。在时间对齐的情况下(例如,诸如V-PCC中定义的基本工具集配置文件的V-PCC配置文件所要求的),V-PCC轨道的同步样本应该被视为V-PCC内容的随机访问点,并且可通过仅参考V-PCC轨道的同步样本信息来执行随机访问。
基于这种布局,V-PCC ISOBMFF容器可包括以下:
1)V-PCC轨道,其包含V-PCC参数集和图集子比特流参数集(在样本条目中)以及承载图集子比特流NAL单元的样本。该轨道可包括承载视频压缩V-PCC单元(即,类型VPCC_OVD、VPCC_GVD和VPCC_AVD的单元)的有效载荷的其它轨道的轨道参考;
2)受限视频方案轨道,其中样本包含占用图数据的视频编码基本流的访问单元(例如,类型VPCC_OVD的V-PCC单元的有效载荷);
3)一个或更多个受限视频方案轨道,其中样本包含几何数据的视频编码基本流的访问单元(即,类型VPCC_GVD的V-PCC单元的有效载荷);以及
4)零或更多个受限视频方案轨道,其中样本包含属性数据的视频编码基本流的访问单元(例如,类型VPCC_AVD的V-PCC单元的有效载荷)。
将描述V-PCC轨道样本条目。
根据实施方式的V-PCC轨道使用VPCCSampleEntry。VPCCSampleEntry可扩展样本条目类型为“vpc1”或“vpcg”的VolumetricVisualSampleEntry。VPCC轨道样本条目可包含V-PCC配置框(VPCCConfigurationBox)。
V-PCC轨道样本条目可具有以下性质。
样本条目类型:“vpc1”、“vpcg”
容器:SampleDescriptionBox
强制:“vpc1”或“vpcg”样本条目是强制的。
数量:可存在一个或更多个样本条目。
在“vpc1”样本条目下,所有图集序列参数集、图集帧参数集或V-PCC SEI可存在于setupUnit阵列中。在“vpcg”样本条目下,图集序列参数集、图集帧参数集或V-PCC SEI可存在于该阵列中或流中。BitRateBox可存在于V-PCC体积样本条目中,以用信号通知V-PCC轨道的比特率信息。
将参照图45(A)详细描述根据实施方式的基于单轨道容器的V-PCC样本条目的实施方式。
用于V-PCC比特流的单轨道容器
根据实施方式,V-PCC数据的单轨道封装意指将V-PCC比特流和/或V-PCC数据封装在单个轨道中。这里,封装的轨道可被称为V-PCC比特流轨道。V-PCC数据的单轨道封装需要V-PCC编码基本比特流由单轨道声明表示。
PCC数据的单轨道封装可用于V-PCC编码比特流的简单ISOBMFF封装。这种比特流可被直接存储在单个轨道中而无需进一步处理。V-PCC单元头数据结构可被原样存储在比特流中。V-PCC数据的单个轨道容器可被提供给媒体工作流以便于进一步处理(例如,多轨道文件生成、转码、DASH分段等)。
将描述V-PCC比特流轨道。
V-PCC比特流轨道使用样本条目类型为“vpe1”或“vpeg”的VolumetricVisualSampleEntry。VPCC比特流样本条目包含VPCCConfigurationBox。
在“vpe1”样本条目下,所有图集序列参数集、图集帧参数集和SEI可在setupUnit阵列中。在“vpeg”样本条目下,图集序列参数集、图集帧参数集和SEI可存在于该阵列中或流中。
将参照图45(A)详细描述根据实施方式的基于单轨道容器的V-PCC样本条目的实施方式。
将描述基于V-PCC比特流轨道承载的样本(即,V-PCC比特流样本)。V-PCC比特流样本包含属于相同呈现时间的零或更多个V-PCC单元(例如,V-PCC访问单元)。样本可以是同步样本或根据V-PCC比特流轨道的其它样本来解码。
将描述V-PCC比特流同步样本。V-PCC比特流同步样本可满足所有以下条件:1)可独立地解码;2)(按解码顺序)在同步样本之后的样本的解码不依赖于同步样本之前的任何样本;以及3)(按解码顺序)在同步样本之后的所有样本可成功解码。
将描述V-PCC比特流子样本。V-PCC比特流子样本可以是包含在V-PCC比特流样本中的V-PCC单元。V-PCC比特流轨道可在SampleTableBox中或各个MovieFragmentBox的TrackFragmentBox中包含一个SubSampleInformationBox。
表示子样本的V-PCC单元的32比特单元头可被复制到SubSampleInformationBox中的子样本条目的32比特codec_specific_parameters字段。各个子样本的V-PCC单元类型通过解析SubSampleInformationBox中的子样本条目的codec_specific_parameters字段来标识。
当根据实施方式的点云数据发送装置使用该方法来封装点云数据时,接收装置可有效地访问点云比特流。此外,这种配置可允许接收装置有效地处理点云比特流的数据并且有效地访问渲染所需的信息,从而减小在点云数据的解码和渲染期间发生的延迟。
图40示出根据实施方式的封装点云数据和与点云数据有关的元数据的示例性操作。
图40示出根据实施方式的用于非定时V-PCC数据(例如,图像数据)的示例性封装文件。
图40可示出当图20至图22的根据实施方式的文件/片段封装器20004、21009和/或文件/片段解封装器22000传送图像数据时封装的文件的结构。即使在传送图像数据时,根据实施方式的点云数据也可被封装为单个项目或多个项目。
另一方面,图28所示的封装文件的示例可示出当图20至图22的根据实施方式的文件/片段封装封装器20004、21009和/或文件/片段解封装器22000传送视频数据时封装的文件的结构(例如,单个轨道或多个轨道)。
图40示出非定时V-PCC数据的封装结构。非定时V-PCC数据表示不随时间移动的点云数据。非定时V-PCC数据可被称为非定时体积数据、非定时V3C数据等。
非定时V-PCC数据可作为图像项目存储在文件中。可定义新的处理器类型4CC代码“vpcc”并存储在MetaBox的HandlerBox中,以便指示V-PCC项目、V-PCC单元项目和其它V-PCC编码内容表示信息的存在。
将描述根据实施方式的包括非定时V-PCC数据的V-PCC项目。
V-PCC项目是表示可独立解码的V-PCC访问单元的项目。可定义新的项目类型4CC代码“vpci”以标识V-PCC项目。V-PCC项目可被存储在图集子比特流中的V-PCC单元有效载荷中。如果存在PrimaryItemBox,则该框中的item_id应被设定为指示V-PCC项目。V-PCC项目可被称为V3C项目或基于视觉体积视频的编码项目。
V-PCC单元项目是表示V-PCC单元数据的项目。V-PCC单元项目存储占用、几何和属性视频数据单元的V-PCC单元有效载荷。V-PCC单元项目应仅存储一个V-PCC访问单元相关数据。V-PCC单元项目可被称为V3C单元项目或基于视觉体积视频的编码单元项目。
V-PCC单元项目的项目类型4CC代码可根据用于对对应视频数据单元进行编码的编解码器来设定。V-PCC单元项目应与对应V-PCC单元头项目性质和编解码器特定配置项目性质关联。
V-PCC单元项目被标记为隐藏项目,因为独立地显示没有意义。
为了指示V-PCC项目和V-PCC单元之间的关系,定义具有4CC代码“pcco”、“pccg”和“pcca”的三种新的项目参考类型。“从”V-PCC项目“至”相关V-PCC单元项目定义项目参考。项目参考类型的4CC代码为:
1)“pcco”(或v3vo):参考的V-PCC单元项目包含占用视频数据单元;
2)“pccg”(或v3vg):参考的V-PCC单元项目包含几何视频数据单元;以及
3)“pcca”(或v3va):参考的V-PCC单元项目包含属性视频数据单元。
将描述V-PCC相关项目性质。描述性项目性质被定义为分别承载V-PCC参数集信息和V-PCC单元头信息。V-PCC相关项目性质可包括例如V-PCC配置项目性质、V-PCC单元头项目性质、V-PCC视图形成项目性质、V-PCC渲染参数项目性质和V-PCC对象渲染信息项目性质。
V-PCC相关项目性质可被称为V3C相关项目性质,V-PCC单元头信息可被称为V3C单元头信息。
将描述V-PCC配置项目性质。
框类型:“vpcp”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):是(对于类型“vpci”的V-PCC项目)
数量(每项目):一个或更多个(对于类型“vpci”的V-PCC项目)
V-PCC参数集被存储为描述性项目性质,并且与V-PCC项目关联。
V-PCC配置项目性质可被称为V3C配置项目性质。
根据实施方式的VPCC配置性质(VPCCConfigurationProperty)可具有以下句法。
aligned(8)class vpcc_unit_payload_struct(){
unsigned int(16)vpcc_unit_payload_size;
vpcc_unit_payload();
}
aligned class VPCCConfigruationProperty extends ItemProperty(){
vpcc_unit_payload_struct()[];
}
vpcc_unit_payload_size指定vpcc_unit_paylod()的大小。
将描述V-PCC单元头项目性质。
框类型:“vunt”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
强制(每项目):是,对于类型“vpci”的V-PCC项目并且对于V-PCC单元项目数量(每项目):一个
aligned(8)class VPCCUnitHeaderProperty()extends ItemFullProperty(“vunt’,version=0,0){
vpcc_unit_header();
}
V-PCC单元头被存储为描述性项目性质并且与V-PCC项目和V-PCC单元项目关联。
V-PCC单元头项目性质可被称为V3C单元头项目性质。
当根据实施方式的点云数据发送装置使用该方法封装点云数据时,接收装置可有效地访问点云比特流。此外,这种配置可允许接收装置有效地处理点云比特流的数据并且有效地访问渲染所需的信息,从而减小在点云数据的解码和渲染期间发生的延迟。
图41示出根据实施方式的播出控制信息。
图41(A)示出框的示例,示出与其它实施方式不同的播出控制信息。即,图41(A)示出封装有图42(B)和/或图42(C)中描述的播出控制结构和/或播出组信息结构的框的示例。表示播出控制信息的框可存在于文件中的各种位置,并且可称为各种名称。
包含根据实施方式的点云数据的文件可存储一个或更多个点云视频或图像。文件可基于多个轨道或图像项目来承载点云数据。例如,文件可具有如图39和图40所示的文件结构。
由于一个文件中包括多个轨道或多个图像项目,所以根据实施方式的接收装置可能需要关于需要同时播放的视频/图像的信息。因此,根据实施方式的点云数据发送装置可同时生成关于需要同时播放的视频/图像的信息,并且可将该信息以框的形式封装在文件中。
另外,根据实施方式的点云数据发送装置需要允许点云视频数据或图像数据由接收装置基于各种参数来回放,或者允许用户改变回放参数。
即,点云数据发送装置可生成指示需要一起播放(或一起播放)的视频/图像的信息(PlayoutGroupStruct())和/或控制回放所需的信息(PlayoutControlStruct())。
指示需要一起播放的视频/图像的信息(PlayoutGroupStruct())和/或控制回放所需的信息(PlayoutControlStruct())可根据实施方式以例如框(例如,PlayoutControlInformationBox等)的形式存储在文件中。
控制回放所需的信息可被称为播出控制结构。根据实施方式的点云数据发送装置可使用播出控制结构中的参数来提供在接收装置播放点云内容时点云的回放形式和/或交互。播出控制结构包括指示当接收装置播放视频和/或图像数据时应用于点云视频和/或图像数据的效果或交互的信息。根据实施方式的播出控制结构可表示例如存在于文件中的框中的参数的结构。
指示需要同时播放的视频/图像的信息可被称为播放分组信息结构、播出组信息结构或播出组结构。根据实施方式的文件包括播出组信息结构。
根据实施方式的点云数据接收装置可在播放点云内容(例如,体积矩阵内容等)时接收播出组信息结构,并且生成需要播放的点云内容的列表。接收装置可基于内容列表从文件搜索需要解析的轨道和/或图像项目。接收装置可解析和/或解码轨道和/或图像项目。
图41(B)示出根据实施方式的播出控制结构的示例。
根据实施方式的播出控制结构信息包括play_control_id、play_control_essential_flag和num_play_control_info。
play_control_id是用于标识播出控制结构的标识符。
play_control_essential_flag等于0指定V-PCC播放器不需要处理参数所指示的播出控制信息。play_control_essential_flag等于1指定V-PCC播放器需要处理参数所指示的播出控制信息。即,指示是否处理存在该标志的播出控制信息中的参数。根据实施方式的接收装置可基于该参数的值来确定是否处理存在该参数的播出控制信息。
num_play_control_info的信息指示该结构所指示的播出控制信息的项目数量。例如,当该参数所引用的目标的点云数据通过播出控制信息的三个项目再现时,该参数的值可为3。
根据实施方式的播出控制结构信息可包括与存在于num_play_control_info中的播出控制信息的项目数量一样多的control_info_type参数。
control_info_type的信息指示播出控制信息(项目)的类型。根据实施方式可存在如下四种类型的播出控制信息(项目)。播出控制信息(项目)的类型可包括例如播出优先级信息、播出交互信息、播出位置信息和/或播出取向信息。
[表14]
Control_info_type值 | 控制信息 |
0 | PlayoutPriorityStruct()中描述的播出优先级信息 |
1 | PlayoutInteractionStruct()中描述的播出交互信息 |
2 | PlayoutPosStruct()中描述的播出优先级信息 |
3 | PlayoutOrientationStruct()中描述的播出优先级信息 |
根据实施方式,接收装置可应用关于应用播出控制信息的点云数据的目标的播出优先级信息、播出交互信息、播出位置信息和/或播出取向信息。将参照图41描述关于应用播出控制信息的点云数据的目标的播出优先级信息、播出交互信息、播出位置信息和/或播出取向信息。
根据实施方式的点云数据发送装置可向接收装置发送播出控制结构,从而允许接收装置有效地播放点云视频或图像并且使得用户能够与点云视频或图像交互。另外,发送装置可使得接收装置能够执行这种交互或者允许用户改变播出参数。
图41(C)示出根据实施方式的播出组信息结构的示例。
播出组信息结构可包括plgp_id信息和plgp_description信息。
plgp_id信息指示根据实施方式的播出组的标识符。播出组表示同时或一起播放的一组V-PCC内容(例如,体积数据)。例如,当两个V-PCC内容具有不同的plgp_id值时,它们不一起播放。
plgp_description信息指示播出组的描述。该信息可表示以空结尾的UTF-8类型字符串。该信息可为空。
由于这种配置,根据实施方式的点云数据发送装置可通过将V-PCC比特流分成文件中的一个或更多个轨道来有效地存储和用信号通知V-PCC比特流,并且可有效地用信号通知所存储的V-PCC比特流的多个轨道之间的关系。另外,存储在文件中的替代V-PCC轨道的标识可允许点云比特流的文件的有效存储和传输。
图42示出根据实施方式的播出控制结构信息中所包括的信息。
根据实施方式的播出控制信息可包括关于应用播出控制信息的点云数据的目标的播出优先级信息、播出交互信息、播出位置信息和/或播出取向信息中的至少一个。
图42(A)示出播出优先级信息的句法的示例。PlayoutPriorityStructure是播出优先级信息的句法的示例。图42(A)所示的播出优先级信息可指图41(B)所示的PlayoutPriorityStruct()所表示的播出优先级信息。
播出优先级信息可包括例如playout_control_priority信息。
play_control_priority指示当根据实施方式的接收装置的解码和/或渲染能力不足以解码/渲染所有点云数据时关联的V-PCC内容(即,应用该播出控制信息的点云数据的目标)的播出应该优先。play_contrrol_priority的值越低指示越高的优先级。当存在时,为了对于显示而言必要的V-PCC内容(V-PCC视频或V-PCC项目)的播出,play_contrrol_priority的值应该等于0。
图42(B)示出播出交互信息的句法的示例。PlayoutInteractionStruct是播出交互信息的句法的示例。图42(B)所示的播出交互信息可指图41(B)所示的PlayoutInteractionStruct()所表示的播出交互信息。
播出交互信息可包括例如change_position_flag、switch_on_off_flag、change_opacity_flag、resize_flag和/或rotate_flag。
当设定为1(或真)时,change_position_flag指定允许用户将V-PCC(V3C)内容(例如,体积内容)移动到3D空间中的任何位置。当该参数被设定为1(或真)时,指示可通过用户交互自由地选择或操纵V-PCC内容的位置(例如,X、Y和Z坐标值)。当该参数被设定为0(假)时,指示不允许用户改变V-PCC(V3C)内容(例如,体积内容)的位置。
基于change_position_flag被设定为1,根据实施方式的接收装置可允许用户改变应用对应播出交互信息(或对应播出控制结构)的V-PCC内容的位置。
switch_on_off_flag设定为1(或真)指示允许用户打开/关闭根据实施方式的V-PCC(V3C)内容(例如,体积内容)。根据实施方式的接收装置或发送装置可默认将所有活动V-PCC内容视为开启。当该参数(标志)被设定为0(假)时,指示不允许用户打开/关闭根据实施方式的V-PCC(V3C)内容(例如,体积内容)。
基于switch_on_off_flag被设定为1,根据实施方式的接收装置可允许用户打开或关闭根据实施方式应用对应播出交互信息(或对应播出控制结构)的V-PCC内容。
打开V-PCC(V3C)内容(例如,体积内容)(switch_on)可意指例如V-PCC(例如,体积内容)可见。关闭V-PCC(V3C)内容(例如,体积内容)(switch_off)可意指例如V-PCC(例如,体积内容)不可见。
change_opacity_flag设定为1(或真)指示允许用户改变根据实施方式的V-PCC(V3C)内容(例如,体积内容)的不透明度。当该参数标志被设定为0(假)时,指示不允许用户改变V-PCC(V3C)内容(例如,体积内容)的不透明度。
基于change_opacity_flag被设定为1,根据实施方式的接收装置可允许用户改变应用播出交互信息(或播出控制结构)的V-PCC内容的不透明度。
当设定为1(或真)时,resize_flag指定允许用户调整根据实施方式的V-PCC(V3C)内容(例如,体积内容)的大小。当该参数标志被设定为0(假)时,指定不允许用户调整V-PCC(V3C)内容(例如,体积内容)的大小。
基于resize_flag被设定为1(或真),根据实施方式的接收装置可允许用户调整应用播出交互信息(或播出控制结构)的V-PCC内容的大小。
根据实施方式,rotation_flag设定为1(或真)指定允许用户在另一方向上改变或旋转V-PCC(V3C)内容(例如,体积内容)的方向。当该参数标志被设定为0(假)时,指定不允许用户改变V-PCC(V3C)内容(例如,体积内容)的方向。
基于rotation_flag被设定为1(或真),根据实施方式的接收装置可允许用户将应用播出交互信息(或播出控制结构)的V-PCC内容的方向改变为另一方向。
图42(C)示出播出位置信息的句法的示例。PlayoutPosStruct是播出位置信息的句法的示例。图42所示的播出位置信息可表示图41(B)所示的PlayoutPosStruct()所表示的播出位置信息。
播出位置信息可包括例如pos_x、pos_y和/或pos_z信息。
根据实施方式,pos_x、pos_y和/或pos_z信息指示笛卡尔坐标系内播放或渲染V-PCC内容(例如,体积内容)的位置的x、y和/或z坐标。
根据实施方式的接收装置可基于pos_x、pos_y和/或pos_z信息的值来确定应用播出交互信息(或播出控制结构)的V-PCC内容的位置。
图42(D)示出播出取向信息的句法的示例。PlayoutOrientationStruc是播出取向信息的句法的示例。图42(D)所示的播出取向信息可指图41(B)所示的PlayoutOrientationStruct()所表示的播出取向信息。
播出取向信息包括用于指示V-PCC内容(例如,体积内容)的方向的取向类型信息(例如,orientation_type)。
orientation_type信息表示表示取向信息的方法。Orientation_type等于0,播出取向信息指示根据实施方式的V-PCC内容所面向的方向。当orientation_type等于1时,播出取向信息指示V-PCC内容的旋转。
例如,当orientation_type等于0时,播出取向信息可包括dir_x、dir_y和dir_z信息。当orientation_type等于1时,播出取向信息可包括rot_x、rot_y和rot_z信息。
dir_x、dir_y和dir_z指示笛卡尔坐标系中根据实施方式的V-PCC内容所面向的方向的x、y和z坐标。
rot_x、rot_y和rot_z信息使用四元数表达来表示V-PCC内容的取向的x、y和z分量。
根据实施方式的点云数据发送装置可向接收装置发送播出控制结构,从而允许接收装置有效地播放点云视频或图像并且使得用户能够与点云视频或图像交互。另外,发送装置可使得接收装置能够执行这种交互或者允许用户改变播出参数。
图43示出根据实施方式的V-PCC图集参数集样本组和播出样本组。
图43(A)示出根据实施方式的V-PCC图集参数集被封装在样本组描述条目中并存储在文件中。
该文件可包括SampleGroupDescriptionBox。SampleGroupDescriptionBox可被包括在文件中的V-PCC轨道中。
根据实施方式的V-PCC轨道可包括grouping_type为“vaps”的SampleToGroupBox。用于样本分组的“vaps”grouping_type表示向该样本组中承载的图集参数集指派V-PCC轨道中的样本。当存在grouping_type等于“vaps”的SampleToGroupBox时,存在具有相同分组类型的附随SampleGroupDescriptionBox,并且包含该组样本所属的ID。
根据实施方式的点云数据发送装置可将V-PCC图集参数集封装或存储在诸如部分43000或43001所示的句法中,即,基于SampleGroupDescriptionBox的VPCCAtlasParamSampleGroupDescriptionEntry。VPCCAtlasParamSampleGroupDescriptionEntry可被存储在文件中或V-PCC轨道中。
参考部分43000所示的句法,AtlasParamSampleGroupDescriptionEntry可包括numOfSetupUnits,并且还可包括与numOfSetupUnits一样多的setupUnitLength和NAL单元类型setupUnit。
参考部分43001所示的句法,AtlasParamSampleGroupDescriptionEntry可包括lengthSizeMinusOne和/或numOfAtlasParameterSets作为信息,并且还可包括与numOfAtlasParameterSets的值一样多的atlasParameterSetNALUnit(采取样本流NAL单元的形式)。
numOfAtlasParameterSets指示样本组描述框中用信号通知的图集参数集的数量。
lengthSizeMinusOne加1指示该样本组描述中用信号通知的所有样本流NAL单元中的ssnu_nal_unit_size元素的精度(字节)。
atlasParameterSetNALUnit信息显示样本的包含与本组关联的图集序列参数集、图集帧参数集的sample_stream_nal_unit()实例。
图43(B)示出根据实施方式的播出样本组的句法的示例。
根据实施方式,V-PCC轨道可包括grouping_type为“vpct”的SampleToGroupBox。用于样本分组的“vpct”grouping_type表示向样本组中承载的播出控制信息指派V-PCC轨道中的样本。当存在grouping_type等于“vpct”的SampleToGroupBox时,存在具有相同分组类型的附随SampleGroupDescriptionBox,并且包含样本所属的该组的ID。
根据实施方式的点云数据发送装置可将播出控制信息封装或存储在图43(B)所示的句法中,即,基于SampleGroupDescriptionBox的VPCCPlayoutControlSampleGroupDescriptionEntry中。VPCCPlayoutControlSampleGroupDescriptionEntry可被存储在文件中或V-PCC轨道中。播出控制信息可指例如参照图41和图42描述的播出控制信息。
VPCCPlayoutControlSampleGroupDescriptionEntry可包括表示播出控制结构的PlayoutControlStruct()和/或表示播出组结构的PlayoutGroupStruct()。PlayoutGroupStruct指定需要一起播放(或一起播放)的视频/图像(例如,轨道)。
PlayoutControlStruct()可具有图41和图42所示的播出控制结构的句法。PlayoutControlStruct()可包含与该样本组关联的播出控制信息。
PlayoutGroupStruct()可具有图41和图42所示的播出组结构的句法。PlayoutGroupStruct()包括包含与该样本组的样本关联的播出组信息的播出组。PlayoutGroupStruct指定需要一起播放(或一起播放)的视频/图像(例如,轨道)。
根据实施方式的点云数据发送装置可向接收装置发送播出控制结构,从而允许接收装置有效地播放点云视频或图像并且使得用户能够与点云视频或图像交互。另外,发送装置可使得接收装置能够执行这种交互或者允许用户改变播出参数。
根据实施方式的点云数据发送装置可向接收装置发送播出控制结构,从而允许接收装置有效地播放点云视频或图像并且使得用户能够与点云视频或图像交互。另外,发送装置可使得接收装置能够执行这种交互或者允许用户改变播出参数。
由于这种配置,根据实施方式的点云数据发送装置可通过将V-PCC比特流分成文件中的一个或更多个轨道来有效地存储和用信号通知V-PCC比特流,并且可有效地用信号通知所存储的V-PCC比特流的多个轨道之间的关系。另外,存储在文件中的替代V-PCC轨道的标识可允许点云比特流的文件的有效存储和传输。
图44示出根据实施方式的播出轨道分组和播出实体分组的方法。
图44示出根据实施方式的应用播出轨道分组所需的PlayoutTrackGroupBox的句法和应用播出实体分组所需的PlayoutEntityGroupBox的句法的示例。PlayoutTrackGroupBox和/或PlayoutEntityGroupBox可包括在文件中或V-PCC轨道中。
图44所示的PlayoutControlStruct可以是图41(B)所示的PlayoutControlStruct。图44所示的PlayoutControlStruct可包括图42(A)至图42(D)所示的数据结构。图44所示的PlayoutGroupStruct可以是图41(C)所示的PlayoutGroupStruct。
轨道分组意指对彼此关联的轨道进行分组。
图44(A)示出PlayoutTrackGroupBox的句法的示例。图44(B)示出PlayoutEntityGroupBox的句法的示例。
下面描述空间区域轨道分组。
track_group_type等于“3drg”的rackGroupTypeBox指示该轨道属于与3D空间区域对应的一组V-PCC组件轨道。对于track_group_type“3drg”,属于同一空间区域的轨道可具有相同的track_group_id值,并且来自一个空间区域的轨道的track_group_id不同于来自任何其它空间区域的轨道的track_group_id。
下面描述根据实施方式的播出轨道分组。
track_group_type等于“vpog”的TrackGroupTypeBox指示该轨道属于应该一起播放的V-PCC内容的播出组。对于track_group_type“vpog”,属于同一播出组的轨道可具有相同的track_group_id值,并且来自一个播出组的轨道的track_group_id不同于来自任何其它播出组的轨道的track_group_id。当成员之一需要被播放时,同一播出组的轨道被解析并解码以便一起播出。
track_group_type等于“vpog”的TrackGroupTypeBox以PlayoutTrackGroupBox的形式被封装和/或存储在文件中。PlayoutTrackGroupBox可具有以下特征。
框类型:“vpog”
容器:TrackGroupBox
强制:否
数量:零或更多个
PlayoutTrackGroupBox可具有如图44(A)所示的句法。即,根据实施方式,PlayoutTrackGroupBox可包括PlayoutControlStruct()和/或PlayoutGroupStruct()。
PlayoutGroupStruct表示关于该播出组的信息。PlayoutGroupStruct指定需要一起播放(或一起播放)的视频/图像(例如,轨道)。根据实施方式,PlayoutControlStruct表示应用于播出组中的各个组件的播出控制信息。PlayoutControlStruct表示应用于由PlayoutGroupStruct用信号通知的播出组中的至少一个轨道的控制相关信息。
下面描述根据实施方式的播出实体分组。
track_group_type等于“vpeg”的EntityToGroupBox指示属于组的轨道或项目(图像项目)旨在被一起播放(或者呈现或渲染)。该播出实体组框对要一起播放(呈现或渲染)的定时轨道或非定时项目进行分组。
track_group_type等于“vpeg”的EntityToGroupBox以PlayoutEntityGroupBox的形式被封装和/或存储在文件中。PlayoutEntityGroupBox可具有以下特征。
框类型:“vpeg”
容器:GroupsListBox
强制:否
数量:零或更多个
PlayoutEntityGroupBox可具有如图44(B)所示的句法。即,根据实施方式,PlayoutEntityGroupBox可包括PlayoutControlStruct()和/或PlayoutGroupStruct()。PlayoutEntityGroupBox可包括与组(框)(num_entities_in_group)所指示的实体(例如,轨道或项目)的数量一样多的PlayoutControlStruct()。
number_entities_in_group的信息指示包括在该播出实体组中/与该播出实体组对应的实体的数量。实体可表示例如轨道(例如定时轨道)和/或非定时项目。非定时V-PCC数据可被称为非定时体积数据、非定时V3C数据等。
根据实施方式,PlayoutControlStruct表示应用于播出组中的各个组件的播出控制信息。PlayoutGroupStruct表示关于该播出组的信息。
根据实施方式的点云数据发送装置可向接收装置发送播出控制结构,从而允许接收装置有效地播放点云视频或图像并且使得用户能够与点云视频或图像交互。另外,发送装置可使得接收装置能够执行这种交互或者允许用户改变播出参数。
根据实施方式的点云数据发送装置可向接收装置发送播出控制结构,从而允许接收装置有效地播放点云视频或图像并且使得用户能够与点云视频或图像交互。另外,发送装置可使得接收装置能够执行这种交互或者允许用户改变播出参数。
由于这种配置,根据实施方式的点云数据发送装置可通过将V-PCC比特流分成文件中的一个或更多个轨道来有效地存储和用信号通知V-PCC比特流,并且可有效地用信号通知所存储的V-PCC比特流的多个轨道之间的关系。另外,存储在文件中的替代V-PCC轨道的标识可允许点云比特流的文件的有效存储和传输。
图45示出根据实施方式的V-PCC样本条目、播出样本条目和播出样本的句法的示例。
图45(A)示出根据实施方式的V-PCC样本条目的句法的示例。图45(A)所示的V-PCC样本条目可指图39所示的V-PCC样本条目。
通过例如基于多轨道容器的封装(例如,图39所示的基于多轨道容器的封装),根据实施方式的V-PCC样本条目可具有部分45000所示的句法结构。
通过例如基于单轨道容器的封装(例如,图39所示的基于单轨道容器的封装),根据实施方式的V-PCC样本条目可具有部分45001所示的句法结构。
参考部分45000所示的句法结构,根据实施方式的VPCCSampleEntry可包括指示VPCCConfigurationBox的config信息和指示VPCCUnitHeaderBox的unit_header信息。
VPCCSampleEntry还可包括根据实施方式的播出控制信息框。播出控制信息框可指指示图41(A)所示的播出控制信息的框。即,播出控制信息框可存在于该样本条目中,以指示关于该V-PCC轨道所对应(即,针对)的V-PCC内容的播出控制信息。
参考部分45001所示的句法结构,VPCCSampleEntry可仅包括指示VPCCConfigurationBox的config信息。VPCCSampleEntry可被称为VPCCBitstreamSampleEntry。
VPCCSampleEntry还可包括根据实施方式的播出控制信息框。播出控制信息框可指指示图41(A)所示的播出控制信息的框。即,播出控制信息框可存在于该样本条目中,以指示关于该V-PCC轨道所对应(即,针对)的V-PCC内容的播出控制信息。
图45(B)示出根据实施方式的定时元数据轨道中所包括的播出样本条目。
动态播出定时元数据轨道可指示在特定时间哪一播出是活动的。V-PCC数据的活动播出可随时间改变。动态播出定时元数据轨道可包括或表示随时间动态改变的播出控制信息(播出控制参数)。
播出定时元数据轨道可通过“cdsc”轨道参考链接到V-PCC轨道或V-PCC比特流轨道。
播出定时元数据轨道的样本条目可包含PlayoutControlInformationBox,其包括应用于对应V-PCC内容的PlayoutControlSturct和PlayoutGroupStuct。
图45(C)示出根据实施方式的定时元数据轨道所承载的播出样本的句法的示例。
num_active_control_by_id指定来自PlayoutSampleEntry中用信号通知的PlayoutControlStruct()结构的播出控制信息的项目数量。当该参数的值为0时,指示没有来自样本条目的播出控制信息是活动的。
addl_active_control_flag等于1指定直接在PlayoutControlStruct()中的样本中用信号通知附加活动播出控制信息。addl_active_cotnrol_flag等于0指定没有附加活动播出控制信息直接在样本中用信号通知。
active_control_id为从(当前活动的)样本条目用信号通知的播出提供播出控制标识符。
update_group_flag等于1指示关联的V-PCC内容的播出组改变并且更新的信息直接由样本中的PlayoutGroupStruct()用信号通知。
根据实施方式的点云数据发送装置可向接收装置发送播出控制结构,从而允许接收装置有效地播放点云视频或图像并且使得用户能够与点云视频或图像交互。另外,发送装置可使得接收装置能够执行这种交互或者允许用户改变播出参数。
根据实施方式的点云数据发送装置可向接收装置发送播出控制结构,从而允许接收装置有效地播放点云视频或图像并且使得用户能够与点云视频或图像交互。另外,发送装置可使得接收装置能够执行这种交互或者允许用户改变播出参数。
由于这种配置,根据实施方式的点云数据发送装置可通过将V-PCC比特流分成文件中的一个或更多个轨道来有效地存储和用信号通知V-PCC比特流,并且可有效地用信号通知所存储的V-PCC比特流的多个轨道之间的关系。另外,存储在文件中的替代V-PCC轨道的标识可允许点云比特流的文件的有效存储和传输。
图46示出根据实施方式的V-PCC播出控制项目性质的句法的示例。
图46所示的根据实施方式的V-PCC播出控制项目性质(VPCCPlayoutControlProperty)可包括在图40所示的V-PCC项目中。
VPCCPlayoutControlProperty被定义为存储根据实施方式的关联V-PCC项目的播出控制信息的静态元数据。VPCCPlayoutControlProperty可具有以下特征。图46示出根据实施方式的V-PCC播出控制项目性质(VPCCPlayoutControlProperty)的句法。
框类型:“vpcl”
性质类型:描述性项目性质
容器:ItemPropertyContainerBox
数量:零或一个
图47是示出根据实施方式的发送点云数据的方法的流程图。
根据实施方式的点云数据发送方法可包括:对点云数据进行编码(S4700);将点云数据封装(S4701);和/或发送点云数据(S4702)。
在操作S4700中,点云数据被编码。在操作S4700中,根据实施方式的点云数据被编码。例如,在操作S4701中,可执行图1的点云视频编码器10002的操作、图4所示的操作、图15的编码装置100的操作、图18的操作以及图20和图21的视频编码20002和/或图像编码20003中的一些或全部。
在操作S4701中,点云数据被封装。例如,在操作S4701中,编码的点云数据被封装,并且生成包括编码的点云数据的文件。根据实施方式的文件可基于多个轨道或多个图像项目来承载编码的点云数据。文件可具有如图38至图41所示的封装点云数据的结构。
在操作S4701中,图24至图25和图29所示的根据实施方式的V-PCC比特流24000、25000和29000被封装在根据图38至图40的文件结构中。V-PCC比特流可包括例如具有图26和图27的句法的参数,并且可包括如图28所示点云数据被划分并逐拼块存储的数据。V-PCC比特流可包括图30至图37所示的参数。
文件可以是基于单个轨道封装的文件,或者可以是基于多个轨道封装的文件。文件可基于单个轨道包括根据实施方式的V-PCC比特流轨道,或者可基于多个轨道包括根据实施方式的V-PCC轨道和/或V-PCC组件轨道(例如,承载图数据的轨道、承载几何数据的轨道、承载属性数据的轨道等)。文件可包括定时元数据轨道,或者包括参照图45描述的回放定时元数据轨道。文件包括与各个轨道对应的多个样本。
根据实施方式的文件可包括PlayoutTrackGroupBox以用于用信号通知表示多个轨道当中一起播放的至少一个轨道的播出组。PlayoutTrackGroupBox可指例如参照图44(A)描述的PlayoutTrackGroupBox。例如,根据实施方式,PlayoutTrackGroupBox可包括用于标识播出组的标识符。
PlayoutTrackGroupBox还可包括应用于播出组中的至少一个轨道的播出控制结构信息。播出控制结构信息可指例如图41(B)和图42所示的播出控制结构信息。
根据实施方式,播出控制信息可包括例如参照图42描述的播出优先级信息、播出交互信息、播出位置信息和/或播出取向信息中的至少一个。播出优先级信息可包括指示与播出控制信息有关的点云数据内容的解码优先级的信息。播出交互信息可包括指示是否允许用户改变内容的位置的信息(例如,change_position_flag)、指示是否允许用户打开/关闭内容的播放的信息(例如,switch_on_off_flag)、指示是否允许用户改变内容的不透明度的信息(例如,change_opacity_flag)、指示是否允许用户调整内容的大小的信息(例如,resize_flag)、指示是否允许用户旋转内容的信息(例如,rotation_flag)。播出位置信息可包括指示播放内容的位置的坐标信息。播出取向信息可包括指示播放内容的取向的类型的信息。
如参照图43所描述的,在操作S4701中,根据实施方式的播出控制结构信息和/或播出组结构信息可被存储并封装在文件中所包括的样本组描述条目(或VPCCPlayoutControlSampleGroupDescriptionEntry)中。
如参照图45所描述的,在操作S4701中,播出控制结构信息和/或播出组结构信息可被存储并封装在文件中所包括的样本条目中。
如参照图45所描述的,在操作S4701中,播出控制结构信息和/或播出组结构信息可被存储并封装在定时元数据轨道和/或与其有关的样本中。
文件可包括多个项目(或图像项目)以传送点云数据当中的非定时体积数据。即,在操作S4701中,可基于多个项目来封装非定时体积数据。此外,文件可包括用于指示一起播放的至少一个项目的框。例如,用于指示一起播放的至少一个项目的框可指图44所示的PlayoutEntityGroupBox或图46所示的VPCCPlayoutControlProperty。非定时V-PCC数据可被称为非定时体积数据、非定时V3C数据等。
在操作S4701中,例如,可执行图1的文件/片段封装模块10003的操作以及图20和图21的文件/片段封装20004和21009的操作。
在发送点云数据的操作S4702中,根据实施方式的封装文件被发送至点云数据接收装置。
图48是示出根据实施方式的接收点云数据的方法的流程图。
根据实施方式的点云数据接收方法可包括:接收点云数据(S4800);将点云数据解封装(S4801);和/或对点云数据进行解码(S4802)。
在操作S4800中,接收点云数据。在操作S4800中,接收参照图47描述的文件。在操作S4800中,可执行图1的接收器10006、图19的接收器的操作以及图20或图22的传送中的一些或全部。
在操作S4801中,将点云数据解封装。在操作S4701中,可执行图1的文件/片段解封装模块10007以及图20和图22的文件/片段解封装器20005和22000的一些或所有操作。
在操作S4802中,将点云数据解码。在操作S4802中,图1的点云视频解码器10008的操作、图16的V-PCC解码操作、图19的操作、图20的视频解码和图像解码20006、图22的视频解码22001或图像解码22002中的一些或全部。
已在方法和/或装置方面描述了实施方式。方法的描述和装置的描述可相互补充。
尽管为了简单参照各个附图描述了实施方式,但是可通过将附图所示的实施方式合并来设计新的实施方式。如果本领域技术人员设计了记录有用于执行以上描述中提及的实施方式的程序的计算机可读记录介质,则其可落在所附权利要求及其等同物的范围内。装置和方法可不限于上述实施方式的配置和方法。上述实施方式可通过选择性地彼此完全或部分地组合来配置,以实现各种修改。尽管参照附图描述了优选实施方式,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对实施方式进行各种修改和变化。这些修改不应从实施方式的技术思想或观点方面单独地理解。
实施方式的装置的各种元件可由硬件、软件、固件或其组合实现。实施方式中的各种元件可由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施方式的任一个或更多个操作/方法,或者包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可被存储在被配置为由一个或更多个处理器执行的非暂时性CRM或其它计算机程序产品中,或者可被存储在被配置为由一个或更多个处理器执行的暂时性CRM或其它计算机程序产品中。另外,根据实施方式的存储器可用作不仅涵盖易失性存储器(例如,RAM),而且涵盖非易失性存储器、闪存和PROM的概念。另外,其还可按照载波的形式实现(例如,经由互联网的传输)。另外,处理器可读记录介质可分布到经由网络连接的计算机系统,使得处理器可读代码可按照分布式方式存储和执行。
在本文献中,术语“/”和“、”应该被解释为指示“和/或”。例如,表达“A/B”可意指“A和/或B”。此外,“A、B”可意指“A和/或B”。此外,“A/B/C”可意指“A、B和/或C中的至少一个”。另外,“A、B、C”也可意指“A、B和/或C中的至少一个”。此外,在本文献中,术语“或”应该被解释为“和/或”。例如,表达“A或B”可意指1)仅A、2)仅B和/或3)A和B二者。换言之,在本文献中术语“或”应该被解释为“另外地或另选地”。
诸如第一和第二的术语可用于描述实施方式的各种元件。然而,根据实施方式的各种组件不应受上述术语限制。这些术语仅用于将一个元件与另一元件相区分。例如,第一用户输入信号可被称为第二用户输入信号。类似地,第二用户输入信号可被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号均是用户输入信号,但除非上文清楚地另外规定,否则并不意味着相同的用户输入信号。
用于描述实施方式的术语仅用于描述特定实施方式的目的,并非旨在限制实施方式。如在实施方式的描述和权利要求中使用的,除非上文清楚地另外规定,否则单数形式包括复数指称物。表达“和/或”用于包括术语的所有可能组合。诸如“包括”或“具有”的术语旨在指示存在图形、数量、步骤、元件和/或组件,应该被理解为不排除存在附加图形、数量、步骤、元件和/或组件的可能性。如本文所使用的,诸如“如果”和“当”的条件表达不限于可选情况,旨在被解释为当满足特定条件时执行相关操作或根据该特定条件解释相关定义。
根据本说明书中描述的实施方式的操作可由根据实施方式的包括存储器和/或处理器的发送/接收装置执行。存储器可存储用于处理/控制根据实施方式的操作的程序,并且处理器可控制本说明书中描述的各种操作。处理器可被称为控制器等。在实施方式中,操作可由固件、软件和/或其组合执行。固件、软件和/或其组合可被存储在处理器或存储器中。
根据上述实施方式的操作可由根据实施方式的发送装置和/或接收装置执行。发送/接收装置可包括:发送器/接收器,其被配置为发送和接收媒体数据;存储器,其被配置为存储用于根据实施方式的处理的指令(程序代码、算法、流程图和/或数据);以及处理器,其被配置为控制发送/接收装置的操作。
处理器可被称为控制器等,并且可对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可由处理器执行。另外,处理器可被实现为用于上述实施方式的操作的编码器/解码器。
本公开的模式
如上所述,在用于执行这些实施方式的最佳模式下描述了相关细节。
工业实用性
如上所述,这些实施方式完全或部分地适用于点云数据发送/接收装置和系统。
本领域技术人员可在实施方式的范围内以各种方式改变或修改实施方式。
实施方式可包括权利要求及其等同物的范围内的变化/修改。
Claims (12)
1.一种用于发送点云数据的方法,该方法包括以下步骤:
对点云数据进行编码;
封装所述点云数据,其中,封装所述点云数据的步骤包括生成包括所述点云数据的文件,
其中,所述文件包括包含编码点云数据的组件轨道和包含用于编码点云数据的参数信息的轨道,
其中,用于所述参数信息的轨道包括具有用于表示所述组件轨道的组的轨道组类型的轨道组类型框,
其中,所述轨道组类型框包括具有轨道组标识符的播出轨道组框,所述轨道组标识符用于表示在所述轨道组框中存在播出组;以及
发送所述文件,
其中,所述参数信息包括用于显示的坐标位置信息。
2.根据权利要求1所述的方法,其中,所述点云数据是非定时体积数据,
其中,封装所述点云数据的步骤包括:
基于多个项目封装所述点云数据。
3.根据权利要求2所述的方法,其中,所述文件包括用于表示要一起播放的至少一个项目的框。
4.根据权利要求1所述的方法,其中,所述播出轨道组框包括应用于所述播出组中的至少一个轨道的播出控制结构信息,
其中,所述播出控制结构信息包括播出优先级信息、播出交互信息、播出位置信息或播出取向信息中的至少一个。
5.根据权利要求1所述的方法,其中,播出优先级信息包括表示与播出控制信息关联的所述点云数据的内容的解码优先级的信息,
其中,播出交互信息包括:
表示是否允许用户改变所述内容的位置的信息;
表示是否允许所述用户打开/关闭所述内容的播放的信息;
表示是否允许所述用户改变所述内容的不透明度的信息;
表示是否允许所述用户调整所述内容的大小的信息;以及
表示是否允许所述用户旋转所述内容的信息,
其中,播出位置信息包括表示播放所述内容的位置的坐标信息,
其中,播出取向信息包括表示播放所述内容的取向的类型的信息。
6.一种用于发送点云数据的设备,该设备包括:
编码器,该编码器被配置为对点云数据进行编码;
封装器,该封装器被配置为封装所述点云数据,
其中,所述封装器生成包括所述点云数据的文件,
其中,所述文件包括包含编码点云数据的组件轨道和包含用于编码点云数据的参数信息的轨道,
其中,用于所述参数信息的轨道包括具有用于表示所述组件轨道的组的轨道组类型的轨道组类型框,
其中,所述轨道组类型框包括具有轨道组标识符的播出轨道组框,所述轨道组标识符用于表示在所述轨道组框中存在播出组;以及
发送器,该发送器被配置为发送所述文件,
其中,所述参数信息包括用于显示的坐标位置信息。
7.根据权利要求6所述的设备,其中,所述点云数据是非定时体积数据,
其中,所述封装器基于多个项目封装所述点云数据。
8.根据权利要求7所述的设备,其中,所述文件包括用于表示要一起播放的至少一个项目的EntityToGroupBox。
9.根据权利要求6所述的设备,其中,所述播出轨道组框包括应用于所述播出组中的至少一个轨道的播出控制结构信息,
其中,所述播出控制结构信息包括播出优先级信息、播出交互信息、播出位置信息或播出取向信息中的至少一个。
10.根据权利要求6所述的设备,其中,播出优先级信息包括表示与播出控制信息关联的所述点云数据的内容的解码优先级的信息,
其中,播出交互信息包括:
表示是否允许用户改变所述内容的位置的信息;
表示是否允许所述用户打开/关闭所述内容的播放的信息;
表示是否允许所述用户改变所述内容的不透明度的信息;
表示是否允许所述用户调整所述内容的大小的信息;以及
表示是否允许所述用户旋转所述内容的信息,
其中,播出位置信息包括表示播放所述内容的位置的坐标信息,
其中,播出取向信息包括表示播放所述内容的取向的类型的信息。
11.一种接收点云数据的方法,该方法包括以下步骤:
接收文件,所述文件包括包含点云数据的组件轨道和包含用于点云数据的参数信息的轨道,
其中,用于所述参数信息的轨道包括具有用于表示所述组件轨道的组的轨道组类型的轨道组类型框,
其中,所述轨道组类型框包括具有轨道组标识符的播出轨道组框,所述轨道组标识符用于表示在所述轨道组框中存在播出组;
将所述文件解封装;以及
对所述点云数据进行解码,
其中,所述参数信息包括用于显示的坐标位置信息。
12.一种用于接收点云数据的设备,该设备包括:
接收器,该接收器被配置为接收文件,所述文件包括包含点云数据的组件轨道和包含用于所述点云数据的参数信息的轨道,
其中,用于所述参数信息的轨道包括具有用于表示所述组件轨道的组的轨道组类型的轨道组类型框,
其中,所述轨道组类型框包括具有轨道组标识符的播出轨道组框,所述轨道组标识符用于表示在所述轨道组框中存在播出组;
解封装器,该解封装器被配置为将所述文件解封装;以及
解码器,该解码器被配置为对所述点云数据进行解码,
其中,所述参数信息包括用于显示的坐标位置信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410383831.5A CN118042097A (zh) | 2020-04-11 | 2021-02-04 | 对点云数据进行编解码的方法以及机器可读存储介质 |
CN202410383830.0A CN118042096A (zh) | 2020-04-11 | 2021-02-04 | 对点云数据进行编解码的设备 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063008671P | 2020-04-11 | 2020-04-11 | |
US63/008,671 | 2020-04-11 | ||
PCT/KR2021/001448 WO2021206282A1 (ko) | 2020-04-11 | 2021-02-04 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410383830.0A Division CN118042096A (zh) | 2020-04-11 | 2021-02-04 | 对点云数据进行编解码的设备 |
CN202410383831.5A Division CN118042097A (zh) | 2020-04-11 | 2021-02-04 | 对点云数据进行编解码的方法以及机器可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115428442A CN115428442A (zh) | 2022-12-02 |
CN115428442B true CN115428442B (zh) | 2024-04-16 |
Family
ID=78023518
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410383830.0A Pending CN118042096A (zh) | 2020-04-11 | 2021-02-04 | 对点云数据进行编解码的设备 |
CN202410383831.5A Pending CN118042097A (zh) | 2020-04-11 | 2021-02-04 | 对点云数据进行编解码的方法以及机器可读存储介质 |
CN202180027788.3A Active CN115428442B (zh) | 2020-04-11 | 2021-02-04 | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410383830.0A Pending CN118042096A (zh) | 2020-04-11 | 2021-02-04 | 对点云数据进行编解码的设备 |
CN202410383831.5A Pending CN118042097A (zh) | 2020-04-11 | 2021-02-04 | 对点云数据进行编解码的方法以及机器可读存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230103016A1 (zh) |
EP (1) | EP4135321A4 (zh) |
CN (3) | CN118042096A (zh) |
BR (1) | BR112022020569A2 (zh) |
WO (1) | WO2021206282A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170126740A (ko) * | 2016-05-10 | 2017-11-20 | 서울대학교산학협력단 | 물체 탐지 장치 및 방법 |
EP3474562A1 (en) * | 2017-10-20 | 2019-04-24 | Thomson Licensing | Method, apparatus and stream for volumetric video format |
KR20190089115A (ko) * | 2018-01-20 | 2019-07-30 | 삼성전자주식회사 | 포인트 클라우드 압축 방법 및 장치 |
CN110471085A (zh) * | 2019-09-04 | 2019-11-19 | 深圳市镭神智能系统有限公司 | 一种轨道检测系统 |
WO2020053477A2 (en) * | 2018-09-12 | 2020-03-19 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628535B2 (en) * | 2007-02-01 | 2020-04-21 | Autodesk, Inc. | Complete energy analytical model building information modeling (BIM) integration |
US9734595B2 (en) * | 2014-09-24 | 2017-08-15 | University of Maribor | Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds |
KR102133848B1 (ko) * | 2017-03-20 | 2020-07-14 | 엘지전자 주식회사 | 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 |
US10861196B2 (en) * | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
EP3804335A4 (en) * | 2018-06-01 | 2022-03-09 | Nokia Technologies Oy | METHOD AND APPARATUS FOR SIGNALING USER INTERACTIONS ON AN OVERLAY AND GROUPING OF OVERLAYS TO THE BACKGROUND FOR OMNIDIRECTIONAL CONTENT |
-
2021
- 2021-02-04 WO PCT/KR2021/001448 patent/WO2021206282A1/ko unknown
- 2021-02-04 CN CN202410383830.0A patent/CN118042096A/zh active Pending
- 2021-02-04 CN CN202410383831.5A patent/CN118042097A/zh active Pending
- 2021-02-04 BR BR112022020569A patent/BR112022020569A2/pt unknown
- 2021-02-04 US US17/911,263 patent/US20230103016A1/en active Pending
- 2021-02-04 CN CN202180027788.3A patent/CN115428442B/zh active Active
- 2021-02-04 EP EP21784753.2A patent/EP4135321A4/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170126740A (ko) * | 2016-05-10 | 2017-11-20 | 서울대학교산학협력단 | 물체 탐지 장치 및 방법 |
EP3474562A1 (en) * | 2017-10-20 | 2019-04-24 | Thomson Licensing | Method, apparatus and stream for volumetric video format |
KR20190089115A (ko) * | 2018-01-20 | 2019-07-30 | 삼성전자주식회사 | 포인트 클라우드 압축 방법 및 장치 |
WO2020053477A2 (en) * | 2018-09-12 | 2020-03-19 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
CN110471085A (zh) * | 2019-09-04 | 2019-11-19 | 深圳市镭神智能系统有限公司 | 一种轨道检测系统 |
Also Published As
Publication number | Publication date |
---|---|
BR112022020569A2 (pt) | 2022-12-06 |
CN115428442A (zh) | 2022-12-02 |
CN118042097A (zh) | 2024-05-14 |
CN118042096A (zh) | 2024-05-14 |
US20230103016A1 (en) | 2023-03-30 |
EP4135321A4 (en) | 2024-03-27 |
WO2021206282A1 (ko) | 2021-10-14 |
EP4135321A1 (en) | 2023-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11631158B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114930863B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
EP3926960A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN115443652B (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 | |
CN114930813B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US11968393B2 (en) | Point cloud data transmitting device, point cloud data transmitting method, point cloud data receiving device, and point cloud data receiving method | |
CN114946178B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN115398890B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US11601634B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114946179B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US20210409767A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114503587A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN115380528B (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 | |
US11908168B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN115428442B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 |
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 |