CN115379189A - 一种点云媒体的数据处理方法及相关设备 - Google Patents
一种点云媒体的数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN115379189A CN115379189A CN202211001664.0A CN202211001664A CN115379189A CN 115379189 A CN115379189 A CN 115379189A CN 202211001664 A CN202211001664 A CN 202211001664A CN 115379189 A CN115379189 A CN 115379189A
- Authority
- CN
- China
- Prior art keywords
- attribute
- attribute data
- point cloud
- dependency
- cross
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 109
- 238000000034 method Methods 0.000 claims abstract description 78
- 230000001419 dependent effect Effects 0.000 claims description 306
- 230000011664 signaling Effects 0.000 claims description 171
- 238000012545 processing Methods 0.000 claims description 128
- 238000004806 packaging method and process Methods 0.000 claims description 48
- 230000006978 adaptation Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 24
- 238000003860 storage Methods 0.000 claims description 18
- 230000003044 adaptive effect Effects 0.000 claims description 12
- 238000002310 reflectometry Methods 0.000 description 51
- 238000004519 manufacturing process Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 25
- 230000009466 transformation Effects 0.000 description 23
- 238000013139 quantization Methods 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 13
- 238000007654 immersion Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 108091026890 Coding region Proteins 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000005538 encapsulation Methods 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/282—Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请实施例提供了一种点云媒体的数据处理方法及相关设备,其中方法包括:获取点云媒体的媒体文件,所述媒体文件包括所述点云媒体的点云码流和跨属性依赖指示信息,所述跨属性依赖指示信息用于指示所述点云码流中的属性数据之间的编解码依赖关系;按照所述跨属性依赖指示信息,对所述点云码流进行解码以呈现所述点云媒体。本申请实施例可指导点云媒体的传输、解码及呈现,支持解码端部分传输及部分解码,优化网络带宽及解码端的计算资源的利用。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种点云媒体的数据处理方法、一种点云媒体的数据处理装置、一种计算机设备、一种计算机可读存储介质以及一种计算机程序产品。
背景技术
随着点云技术的不断发展,点云媒体的压缩编码成为重要的研究问题。目前的点云编码已支持跨属性编码技术,即允许对点云媒体中不同类型的属性数据进行统一编码,但是,目前跨属性编码技术还存在一些问题,例如不支持部分传输或部分解码,易造成解码侧资源浪费等问题。因此,如何改进跨属性编码技术成为点云编码技术领域的热门问题。
发明内容
本申请实施例提供了一种点云媒体的数据处理方法及相关设备,能够指导点云媒体的传输、解码及呈现,支持解码端部分传输及部分解码,优化网络带宽及解码端的计算资源的利用。
一方面,本申请实施例提供一种点云媒体的数据处理方法,该方法包括:
获取点云媒体的媒体文件,媒体文件包括点云媒体的点云码流和跨属性依赖指示信息,跨属性依赖指示信息用于指示点云码流中的属性数据之间的编解码依赖关系;
按照跨属性依赖指示信息,对点云码流进行解码以呈现点云媒体。
一方面,本申请实施例提供了一种点云媒体的数据处理方法,该方法包括:
获取点云媒体,并对点云媒体进行编码处理,得到点云码流;
根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;
对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件。
在一个实施例中,对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件,包括:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中保持一致,则将跨属性依赖指示信息设置于轨道的样本入口中,形成点云媒体的媒体文件。
在一个实施例中,对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件,包括:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
在轨道中划分跨属性依赖样本群组,跨属性依赖样本群组中包含一个或多个样本,跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据,或者,跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;
若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中存在变化,则将跨属性依赖指示信息设置于跨属性依赖样本群组的入口中,形成点云媒体的媒体文件。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中的两组或两组以上属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数;或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;被依赖属性数据标识字段用于指示被依赖的属性数据的标识符;依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数;依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符;
其中,当前轨道是指媒体文件中正在被编码的轨道,当前样本是指当前轨道中正在被编码的样本;当前属性数据是指当前样本中正在被编码的属性数据。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中任意两组属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数;或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;依赖属性数据标识字段用于指示任意两组属性数据中依赖的属性数据的标识符;被依赖属性数据标识字段用于指示任意两组属性数据中被依赖的属性数据的标识符;
其中,当前轨道是指媒体文件中正在被编码的轨道,当前样本是指当前轨道中正在被编码的样本。
在一个实施例中,点云码流中仅包含第一类型的属性数据和第二类型的属性数据;跨属性依赖指示信息用于指示第一类型的属性数据与第二类型的属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖的属性数据类型字段;根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息,包括:
若第一类型的属性数据被第二类型的属性数据依赖,则将被依赖的属性数据类型字段设置为第一数值;
若第二类型的属性数据被第一类型的属性数据依赖,则将被依赖的属性数据类型字段设置为第二数值。
在一个实施例中,对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件,包括:
对点云码流进行封装,得到一个或多个属性组件轨道;点云码流中具备编解码依赖关系的属性数据位于不同的属组件轨道;
采用轨道组表示不同的属性组件轨道之间的关联关系,形成点云媒体的媒体文件。
在一个实施例中,媒体文件包含轨道组类型数据盒,轨道组类型数据盒用于指示点云码流中具备编解码依赖关系的属性数据所属的属性组件轨道;
跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒设置于轨道组类型数据盒中。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;
媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符,轨道标识符用于指示具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道;
轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本在编码时依赖轨道标识符所指示的属性组件轨道中的至少一个样本;其中,当前属性组件轨道是指正在被编码的属性组件轨道。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;
媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符,轨道标识符用于指示具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;
轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本在编码时被轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;其中,当前属性组件轨道是指正在被编码的属性组件轨道。
在一个实施例中,对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件,包括:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
将每个样本划分为一个或多个点云片,每个点云片采用一个子样本表示;
将跨属性依赖指示信息设置于子样本信息数据盒中,形成点云媒体的媒体文件。
在一个实施例中,跨属性依赖指示信息包含交叉属性依赖标志字段和属性数据标识字段;将跨属性依赖指示信息设置于子样本信息数据盒中,包括:
若当前属性数据在编码时依赖其他属性数据,则将交叉属性依赖标志字段为第一预设值;
若当前属性数据在编码时不依赖其他属性数据,则将交叉属性依赖标志字段设置为第二预设值;
其中,属性数据标识字段用于指示当前属性数据的标识符;当前属性数据是指正在被编码的子样本中的属性数据。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
媒体文件还包括组件信息数据盒,组件信息数据盒包含轨道中组件的类型;若组件的类型为属性数据,则组件信息数据盒中还包括属性标识字段,属性标识字段用于指示当前属性数据的标识符,当前属性数据是指正在被解码的属性数据。
在一个实施例中,点云媒体采用流化传输方式进行传输;该方法还包括:
基于传输信令传输点云媒体的媒体文件,传输信令中包含跨属性依赖指示信息。
在一个实施例中,传输信令为DASH(Dynamic Adaptive Streaming over HTTP,基于HTTP的动态自适应流)信令,跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子或DASH信令中的依赖标识字段;或者,
传输信令为SMT(Smart Media Transport,智能媒体传输)信令,跨属性依赖指示信息是指STM信令中的资产组描述符。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子;
当跨属性依赖信息描述子存在于自适应集层级中时,跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;
当跨属性依赖信息描述子存在于表示层级中时,跨属性依赖信息描述子用于描述对应表示层级中的表示;
当跨属性依赖信息描述子存在于预选层级中时,跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
在一个实施例中,跨属性依赖信息描述子包括以下至少一种元素:被依赖属性数据标识元素、被依赖的属性数据类型元素、依赖属性数据标识元素及依赖属性数据类型元素;
被依赖属性数据标识元素用于指示被依赖的属性数据的标识符;被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;依赖属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;依赖属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型;
其中,当前属性数据是指正在被编码的属性数据。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的依赖标识字段;
在具备编解码依赖关系的属性数据中,依赖标识字段设置在依赖的属性数据对应的表示中,依赖标识字段用于指示被依赖的属性数据对应的表示的标识。
在一个实施例中,传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符;
在具备编解码依赖关系的属性数据中,资产组描述符设置于依赖的属性数据对应的资产中,资产组描述符包括依赖标志、依赖数量字段和资产标识字段;
依赖标志被置为第一预设值;依赖数量字段用于指示依赖的属性数据在解码时需要依赖的其他属性数据的组数;资产标识字段用于指示被依赖的属性数据对应的资产标识。
一方面,本申请实施例提供一种点云媒体的数据处理装置,该装置包括:
获取单元,用于获取点云媒体的媒体文件,媒体文件包括点云媒体的点云码流和跨属性依赖指示信息,跨属性依赖指示信息用于指示点云码流中的属性数据之间的编解码依赖关系;
处理单元,用于按照跨属性依赖指示信息,对点云码流进行解码以呈现点云媒体。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
跨属性依赖指示信息设置于轨道的样本入口中,跨属性依赖指示信息还用于指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中保持一致。
在一个实施例中,媒体文件包括轨道,轨道中包含跨属性依赖样本群组,跨属性依赖样本群组中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据;或者,跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;
跨属性依赖指示信息设置于跨属性依赖样本群组的入口中,跨属性依赖指示信息还用于指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中存在变化。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中的两组或两组以上属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;被依赖属性数据标识字段用于指示被依赖的属性数据的标识符;依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数;依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符;
其中,当前轨道是指媒体文件中正在被解码的轨道,当前样本是指当前轨道中正在被解码的样本;当前属性数据是指当前样本中正在被解码的属性数据。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中任意两组属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;依赖属性数据标识字段用于指示任意两组属性数据中依赖的属性数据的标识符;被依赖属性数据标识字段用于指示任意两组属性数据中被依赖的属性数据的标识符;
其中,当前轨道是指媒体文件中正在被解码的轨道,当前样本是指当前轨道中正在被解码的样本。
在一个实施例中,点云码流中仅包含第一类型的属性数据和第二类型的属性数据;跨属性依赖指示信息用于指示第一类型的属性数据与第二类型的属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖的属性数据类型字段;
若被依赖的属性数据类型字段为第一数值,则表示第一类型的属性数据被第二类型的属性数据依赖;
若被依赖的属性数据类型字段为第二数值,则表示第二类型的属性数据被第一类型的属性数据依赖。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属组件轨道;
不同的属性组件轨道之间的关联关系采用轨道组进行表示。
在一个实施例中,媒体文件包含轨道组类型数据盒,轨道组类型数据盒用于指示点云码流中具备编解码依赖关系的属性数据所属的属性组件轨道;
跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒设置于轨道组类型数据盒中。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;
媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符,轨道标识符用于指示具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道;
轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本在解码时依赖轨道标识符所指示的属性组件轨道中的至少一个样本;
其中,当前属性组件轨道是指正在被解码的属性组件轨道。
在一个实施例中,轨道标识符用于指示具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本被轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;
其中,当前属性组件轨道是指正在被解码的属性组件轨道。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
一个样本被划分为一个或多个点云片,每个点云片采用一个子样本表示;
跨属性依赖指示信息设置于子样本信息数据盒中。
在一个实施例中,跨属性依赖指示信息包含交叉属性依赖标志字段和属性数据标识字段;
若交叉属性依赖标志字段为第一预设值,则指示当前属性数据在解码时依赖其他属性数据;
若交叉属性依赖标志字段为第二预设值,则指示当前属性数据在解码时不依赖其他属性数据;
属性数据标识字段用于指示当前属性数据的标识符;
其中,当前属性数据是指正在被解码的子样本中的属性数据。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
媒体文件还包括组件信息数据盒,组件信息数据盒包含轨道中组件的类型;若组件的类型为属性数据,则组件信息数据盒中还包括属性标识字段,属性标识字段用于指示当前属性数据的标识符,当前属性数据是指正在被解码的属性数据。
在一个实施例中,点云媒体采用流化传输方式进行传输;获取单元在获取点云媒体的媒体文件时,可具体用于:
获取点云媒体的传输信令,传输信令中包含跨属性依赖指示信息;
根据传输信令获取点云媒体的媒体文件。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子;
当跨属性依赖信息描述子存在于自适应集层级中时,跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;
当跨属性依赖信息描述子存在于表示层级中时,跨属性依赖信息描述子用于描述对应表示层级中的表示;
当跨属性依赖信息描述子存在于预选层级中时,跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
在一个实施例中,跨属性依赖信息描述子包括以下至少一种元素:被依赖属性数据标识元素、被依赖的属性数据类型元素、依赖属性数据标识元素及依赖属性数据类型元素;
被依赖属性数据标识元素用于指示被依赖的属性数据的标识符;被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;依赖属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;依赖属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型;
其中,当前属性数据是指正在被解码的属性数据。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的依赖标识字段;
在具备编解码依赖关系的属性数据中,依赖标识字段设置在依赖的属性数据对应的表示中,依赖标识字段用于指示被依赖的属性数据对应的表示的标识。
在一个实施例中,传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符;
在具备编解码依赖关系的属性数据中,资产组描述符设置于依赖的属性数据对应的资产中,资产组描述符包括依赖标志、依赖数量字段和资产标识字段;
依赖标志被置为第一预设值;依赖数量字段用于指示依赖的属性数据在解码时需要依赖的其他属性数据的组数;资产标识字段用于指示被依赖的属性数据对应的资产标识。
在一个实施例中,处理单元在按照跨属性依赖指示信息,对点云码流进行解码时,可具体用于:
根据跨属性依赖指示信息所指示的编解码依赖关系,确定当前属性数据所依赖的属性数据;
对当前属性数据所依赖的属性数据进行解码处理;
在对当前属性数据所依赖的属性数据解码之后,对当前属性数据进行解码处理。
一方面,本申请实施例提供了一种点云媒体的数据处理装置,该装置包括:
获取单元,用于获取点云媒体;
处理单元,用于对点云媒体进行编码处理,得到点云码流;
处理单元,还用于根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;
处理单元,还用于对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件。
在一个实施例中,处理单元在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中保持一致,则将跨属性依赖指示信息设置于轨道的样本入口中,形成点云媒体的媒体文件。
在一个实施例中,处理单元在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
在轨道中划分跨属性依赖样本群组,跨属性依赖样本群组中包含一个或多个样本,跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据;或者,跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;
若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中存在变化,则将跨属性依赖指示信息设置于跨属性依赖样本群组的入口中,形成点云媒体的媒体文件。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中的两组或两组以上属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;被依赖属性数据标识字段用于指示被依赖的属性数据的标识符;依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数;依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符;
其中,当前轨道是指媒体文件中正在被编码的轨道,当前样本是指当前轨道中正在被编码的样本;当前属性数据是指当前样本中正在被编码的属性数据。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中任意两组属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;依赖属性数据标识字段用于指示任意两组属性数据中依赖的属性数据的标识符;被依赖属性数据标识字段用于指示任意两组属性数据中被依赖的属性数据的标识符;
其中,当前轨道是指媒体文件中正在被编码的轨道,当前样本是指当前轨道中正在被编码的样本。
在一个实施例中,点云码流中仅包含第一类型的属性数据和第二类型的属性数据;跨属性依赖指示信息用于指示第一类型的属性数据与第二类型的属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖的属性数据类型字段;处理单元在根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息时,可具体用于:
若第一类型的属性数据被第二类型的属性数据依赖,则将被依赖的属性数据类型字段设置为第一数值;
若第二类型的属性数据被第一类型的属性数据依赖,则将被依赖的属性数据类型字段设置为第二数值。
在一个实施例中,处理单元在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
对点云码流进行封装,得到一个或多个属性组件轨道;点云码流中具备编解码依赖关系的属性数据位于不同的属组件轨道;
采用轨道组表示不同的属性组件轨道之间的关联关系,形成点云媒体的媒体文件。
在一个实施例中,媒体文件包含轨道组类型数据盒,轨道组类型数据盒用于指示点云码流中具备编解码依赖关系的属性数据所属的属性组件轨道;
跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒设置于轨道组类型数据盒中。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;
媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符,轨道标识符用于指示具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道;
轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道中。
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本在编码时依赖轨道标识符所指示的属性组件轨道中的至少一个样本;其中,当前属性组件轨道是指正在被编码的属性组件轨道。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符;
轨道标识符用于指示具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本被轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;
其中,当前属性组件轨道是指正在被编码的属性组件轨道。
在一个实施例中,处理单元在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
将每个样本划分为一个或多个点云片,每个点云片采用一个子样本表示;
将跨属性依赖指示信息设置于子样本信息数据盒中,形成点云媒体的媒体文件。
在一个实施例中,跨属性依赖指示信息包含交叉属性依赖标志字段和属性数据标识字段;处理单元在将跨属性依赖指示信息设置于子样本信息数据盒中,时,可具体用于:
若当前属性数据在编码时依赖其他属性数据,则将交叉属性依赖标志字段为第一预设值;
若当前属性数据在编码时不依赖其他属性数据,则将交叉属性依赖标志字段设置为第二预设值;
属性数据标识字段用于指示当前属性数据的标识符;
其中,当前属性数据是指正在被编码的子样本中的属性数据。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
媒体文件还包括组件信息数据盒,组件信息数据盒包含轨道中组件的类型;若组件的类型为属性数据,则组件信息数据盒中还包括属性标识字段,属性标识字段用于指示当前属性数据的标识符,当前属性数据是指正在被解码的属性数据。
在一个实施例中,点云媒体采用流化传输方式进行传输;处理单元还用于:
基于传输信令传输点云媒体的媒体文件,传输信令中包含跨属性依赖指示信息。
在一个实施例中,传输信令为DASH信令,
跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子或DASH信令中的依赖标识字段;或者,
传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子;
当跨属性依赖信息描述子存在于自适应集层级中时,跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;
当跨属性依赖信息描述子存在于表示层级中时,跨属性依赖信息描述子用于描述对应表示层级中的表示;
当跨属性依赖信息描述子存在于预选层级中时,跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
在一个实施例中,跨属性依赖信息描述子包括以下至少一种元素:被依赖属性数据标识元素、被依赖的属性数据类型元素、依赖属性数据标识元素及依赖属性数据类型元素;
被依赖属性数据标识元素用于指示被依赖的属性数据的标识符;被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;依赖属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;依赖属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型;
其中,当前属性数据是指正在被编码的属性数据。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的依赖标识字段;
在具备编解码依赖关系的属性数据中,依赖标识字段设置在依赖的属性数据对应的表示中,依赖标识字段用于指示被依赖的属性数据对应的表示的标识。
在一个实施例中,传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符;
在具备编解码依赖关系的属性数据中,资产组描述符设置于依赖的属性数据对应的资产中,资产组描述符包括依赖标志、依赖数量字段和资产标识字段;
依赖标志被置为第一预设值;依赖数量字段用于指示依赖的属性数据在解码时需要依赖的其他属性数据的组数;资产标识字段用于指示被依赖的属性数据对应的资产标识。
一方面,本申请实施例提供一种计算机设备,该计算机设备包括:
处理器,适用于执行计算机程序;
计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现如上述点云媒体的数据处理方法。
一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器加载并执行如上述点云媒体的数据处理方法。
一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述点云媒体的数据处理方法。
在本申请实施例中,获取点云媒体的媒体文件,媒体文件包括点云媒体的点云码流和跨属性依赖指示信息,跨属性依赖指示信息用于指示点云码流中的属性数据之间的编解码依赖关系;按照跨属性依赖指示信息,对点云码流进行解码以呈现点云媒体,实现指导点云媒体的传输、解码及呈现,支持解码端部分传输及部分解码,从而优化网络带宽及解码端的计算资源的利用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请一个示例性实施例提供的一种6DoF的示意图;
图1b是本申请一个示例性实施例提供的一种3DoF的示意图;
图1c是本申请一个示例性实施例提供的一种3DoF+的示意图;
图2a是本申请一个示例性实施例提供的一种点云媒体的数据处理系统的架构图;
图2b是本申请一个示例性实施例提供的一种点云媒体的数据处理的流程图;
图3是本申请一个示例性实施例提供的一种点云媒体的数据处理方法的流程示意图;
图4是本申请另一个示例性实施例提供的一种点云媒体的数据处理方法的流程示意图;
图5是本申请一个示例性实施例提供的一种点云媒体的数据处理装置的结构示意图;
图6是本申请另一个示例性实施例提供的一种点云媒体的数据处理装置的结构示意图;
图7是本申请另一个示例性实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上;同理,术语“至少一组”是指一组或多组,“多组”的含义是指两组或两组以上,例如:点云中的某个点具备多组属性数据是指该点具备两组或两组以上的属性数据。
下面对本申请中涉及的其他技术术语进行介绍:
一、沉浸媒体
沉浸媒体是指能够提供沉浸式的媒体内容,使沉浸于该媒体内容中的观看者能够获得现实世界中视觉、听觉等感官体验的媒体文件。沉浸式媒体按照观看者在消费媒体内容时的自由度,可以分为:6DoF(Degree of Freedom)沉浸媒体,3DoF沉浸媒体,3DoF+沉浸媒体。其中,如图1a所示,6DoF是指沉浸媒体的观看者可以沿着X轴、Y轴、Z轴自由平移,例如,沉浸媒体的观看者可以在三维的360度VR内容中自由的走动。与6DoF相类似的,还有3DoF和3DoF+制作技术。图1b为本申请实施例提供的一种3DoF的示意图;如图1b所示,3DoF是指沉浸媒体的观看者在一个三维空间的中心点固定,沉浸媒体的观看者头部沿着X轴、Y轴和Z轴旋转来观看媒体内容提供的画面。图1c为本申请实施例提供的一种3DoF+的示意图,如图1c所示,3DoF+是指当沉浸媒体提供的虚拟场景具有一定的深度信息,沉浸媒体的观看者头部可以基于3DoF在一个有限的空间内移动来观看媒体内容提供的画面。
二、点云
点云是指空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云中的每个点至少包括几何数据,该几何数据用于表示点的三维位置信息。根据应用场景的不同,点云中的点还可以包括一组或多组属性数据,每一组属性数据用于反映点所具备的一种属性,该属性例如可以是色彩、材质或其他信息。通常,点云中的每个点都具有相同组数的属性数据。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,因而应用广泛,可以应用于虚拟现实(Virtual Reality,VR)游戏、计算机辅助设计(Computer AidedDesign,CAD)、地理信息系统(Geography Information System,GIS)、自动导航系统(Autonomous Navigation System,ANS)、数字文化遗产、自由视点广播、三维沉浸远程呈现、生物组织器官三维重建等场景中。
点云的获取主要有以下途径:计算机生成、三维(3-Dimension,3D)激光扫描、3D摄影测量等。具体来说,点云可以是通过采集设备(一组摄像机或具有多个镜头和传感器的摄像机设备)对现实世界的视觉场景进行采集得到的,通过3D激光扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云;通过3D摄影可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云;此外,在医学领域,可以通过磁共振成像(Magnetic Resonance Imaging,MRI)、电子计算机断层扫描(Computed Tomography,CT)、电磁定位信息获得生物组织器官的点云。又如,点云还可以由计算机根据虚拟三维物体及场景直接生成,如计算机可以生成虚拟三维物体及场景的点云。伴随着大规模的点云数据不断积累,点云数据的高效存储、传输、发布、共享和标准化,成为点云应用的关键。
三、点云媒体
点云媒体是一种典型的6DoF沉浸媒体。点云媒体包括由一帧或多帧点云帧组成的帧序列,每帧点云帧由点云中的一个或多个点具备的几何数据和属性数据共同组成。其中,几何数据也可以称为三维位置信息,点云中某个点的几何数据是指该点的空间坐标(x,y,z),可以包括该点在三维坐标系统的各个坐标轴方向上的坐标值,例如,X轴方向上的坐标值x,Y轴方向上的坐标值y和Z轴方向上的坐标值z。点云中的某个点可以包括一组或多组属性数据,每一组属性数据用于反映点所具备的一种属性,例如,点云中某个点具备一组颜色属性数据,该颜色属性数据用于反映该点的颜色属性(如红色、黄色等等);再如,点云中的某个点具备一组反射率属性数据,该反射率属性数据用于反映该点的激光反射强度属性。当点云中某个点具备多组属性数据时,该多组属性数据的类型可以相同,也可以不同,例如,点云中某个点可以具有一组颜色属性数据和一组反射率属性数据;再如,点云中某个点可以具有两组颜色属性数据,这两组颜色属性数据分别用于反映该点在不同时刻下的颜色属性。
四、轨道(Track)
轨道是指点云媒体封装过程中的媒体数据集合,一个轨道中由多个具备时序的样本组成,一个样本对应点云媒体的一个点云帧。点云媒体的封装方式包括单轨方式或多轨方式,所谓单轨方式是指将点云媒体的所有点云数据均封装至同一个轨道中,此时,点云媒体的媒体文件仅包含一个轨道(即单轨封装得到的单一轨道),单轨方式得到的单一轨道中,一个样本即是指点云媒体中的一个点云帧,一个样本包含对应点云帧的所有数据(包括几何数据和属性数据)。所谓多轨方式是指将点云媒体的点云数据封装至多个不同的轨道中,此时,点云媒体的媒体文件可以包含多个轨道。进一步,多轨方式包括基于类型的多轨方式及基于Slice的多轨方式。基于组件类型的多轨方式是将一种类型的数据封装至一个轨道中,例如,点云媒体包含几何数据、一组颜色属性数据和一组反射率属性数据,那么可以将几何数据封装至几何组件轨道,将颜色属性数据封装至颜色属性组件轨道,将反射率属性数据封装至反射率属性组件轨道。基于类型的多轨方式得到的任一轨道中,一个样本仅包含点云媒体的一个点云帧的部分数据,例如几何组件轨道中的一个样本包含点云媒体中一个点云帧的几何数据;颜色属性组件轨道中的一个样本包含点云媒体中一个点云帧的一组颜色属性数据。特别地,元数据信息也可以作为一种媒体类型,以元数据轨道包含于点云媒体的媒体文件中。基于Slice(点云片)的多轨方式可封装得到一个基础轨道和多个分片轨道,基础轨道用于存放点云媒体解码所需的参数数据,分片轨道用于存储点云媒体。基础轨道中包含一个或多个样本,每个样本包含一个点云帧所需的参数数据。分片轨道中包含一个或多个样本,每个样本包含一个点云帧中的一个或多个点云片的点云媒体(包括几何数据和/或属性数据)。
应理解的是,点云媒体被封装后以组件形式存在于轨道中,例如:点云媒体中的属性数据被封装后以属性组件形式存在于轨道中,点云媒体中几何数据被封装后以几何组件形式存在于轨道中。在本申请后续实施例中所提到的轨道可以是对点云码流通过单轨方式封装形成的单一轨道;或者,是基于类型的多轨方式对点云码流进行多轨封装形成的任一轨道;或者,是基于slice的多轨方式对点云码流进行多轨封装形成的基础轨道。
五、样本(Sample)以及子样本(SubSample)
样本是媒体文件封装过程中的封装单位,一个轨道由很多个样本组成,例如:一个视频轨道可以由很多个样本组成,一个样本通常为一个视频帧。在本申请实施例中,点云媒体的媒体文件包含一个或多个轨道,轨道中的一个样本对应一个点云帧。
样本可以包含一个或多个点云片(或称点云条),所谓点云片代表一个点云帧被部分或全部编码后的数据的一系列语法元素(例如几何点云片、属性点云片)集合。每个点云片可以用一个子样本来表示。子样本的类型可以包括至少两种,一种是基于点云片承载的数据类型的子样本,在此类型下,一个子样本仅包含点云片承载的一种数据类型以及相关信息,如一个子样本只包含几何数据类型以及几何数据相关信息。另一种是基于点云片的子样本,在此类型下,一个子样本可以包含一个点云片所有信息,即包含几何片头和几何数据,属性片头和属性数据。
六、样本入口(Sample Entry)
样本入口用于指示轨道中所有样本相关的元数据信息。比如在视频轨道的样本入口中,通常会包含解码器初始化相关的元数据信息。
七、样本群组(Sample Group)
样本群组是用于将轨道中部分样本按照特定的规则进行群组划分。在本申请实施例涉及跨属性依赖样本群组,该跨属性依赖样本群组是按照属性数据之间的编解码依赖关系对轨道中的样本进行群组划分得到的;例如,将轨道中所有被依赖的属性数据所属的样本划分到一个跨属性依赖样本群组中;此时跨属性依赖样本群组可用于标识轨道中被依赖的属性数据所属的样本,跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据。又例如,将轨道中所有依赖的属性数据所属的样本划分到一个跨属性依赖样本群组中,此时跨属性依赖样本群组可用于标识轨道中依赖的属性数据所属的样本。跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据。
上述所提及的“包含”是指:在单轨方式或基于类型的多轨方式得到的轨道中,任一样本所包含的点云帧的属性数据。上述所提到的“对应”是指:在基于slice的多轨方式得到的基础轨道中,任一样本并不直接包含点云帧的属性数据,而是包含点云帧所需的参数数据;但通过该基础轨道中的样本可以在相应的分片轨道中找到该点云帧的属性数据,所以基础轨道中的跨属性依赖样本群组中的样本可对应被依赖的属性数据或对应依赖的属性数据。
八、点云空间分块(Tile):
点云空间分块又称为点云帧边界空间区域内的六面体空间分块区域,一个点云空间分块由一个或多个点云片组成,点云空间分块之间不存在编解码依赖关系。
九、ISOBMFF(ISO Based Media File Format,基于ISO标准的媒体文件格式)
ISOBMFF是媒体文件的封装标准,较为典型的ISOBMFF文件即为MP4文件。
十、DASH(Dynamic Adaptive Streaming over HTTP,基于HTTP的动态自适应流)DASH是一种自适应比特率技术,使高质量流媒体可以通过传统的HTTP网络服务器在互联网传递。
十一、MPD(Media Presentation Description,DASH中的媒体演示描述信令):
MPD用于描述媒体文件中的媒体片段信息。
十二、表示(Representation):
Representation是指DASH中一个或多个媒体成分的组合,比如某种分辨率的视频文件可以看作一个Representation;在本申请中,某种时域层级的视频文件可以看作一个Representation。
十三、自适应集(Adaptation Sets):Adaptation Sets是指DASH中一个或多个视频流的集合,一个Adaptation Sets中可以包含多个Representation。
十四、点云编码(Point Cloud Compression,PCC)
点云编码是指对点云中各点的几何数据和属性数据进行编码,得到点云码流的过程。点云编码可以包括几何数据编码和属性数据编码两个主要过程。在编码过程中可以采用G-PCC(Geometry-based Point Cloud Compression,基于几何结构的点云编码)对点云媒体中各点的几何数据进行编码,得到几何比特流;采用G-PCC对点云媒体中各点的属性数据进行编码,得到属性比特流;几何比特流和属性比特流共同组成点云媒体的点云码流。
特别的,在对多种类型的属性数据进行编码处理时,可以允许多种类型的属性数据进行跨属性编码;如属性数据1为颜色属性数据,属性数据2为反射率属性数据;可以先对属性数据1进行编码,然后对属性数据2进行编码。
其中,将编码过程中所涉及到的信息可保存到一个数据盒中以用于解码侧进行解码,该数据盒可以通过如表1的语法实现:
表1
上述表1中的语法的语义如下:
属性存在标志字段(attributePresentFlag[attrIdx]):该属性存在标志字段为二值变量。当属性存在标志字段的取值为第一设定值(如1),该属性存在标志字用于表示本点云码流包含第attrIdx属性编码;当属性存在标志字段的取值为第二设定值(如0),该属性存在标志字用于表示本点云码流不包含第attrIdx属性编码。attrIdx是一个界于0到15的整数。该属性存在标志字段的含义可由参见下述表2的解释:
表2,x属性编码映射表
属性变换算法标志字段(transform):该属性变换算法标志字段为二值变量。该属性变换算法标志字段用于控制是否使用小波变换对属性数据进行编码;当属性变换算法标志字段的取值为第一设定值(如1)时,该属性变换算法标志字段用于控制使用小波变换对属性数据进行编码;当属性变换算法标志字段的取值为第二设定值(如0)时,该属性变换算法标志字段用于控制使用预测方法对属性数据进行编码。
属性变换系数量化参数差值(attrTransformQpDelta):该属性变换系数量化参数差值是无符号整数,用于表示与属性残差量化参数的差值。属性变换系数量化参数attrTransformQp=attrQuantParam(属性量化参数)+attrTransformQpDelta。
属性变换点数(attrTransformNumPoints):属性变换点数是无符号整数,用于表示属性变换的点数,即使用attrTransformNumPoints点的小波变换;当attrTransformNumPoints的取值为第二设定值(如0)时,表示使用片中所有的点进行小波变换。
最大搜索的邻居点数对数值减七(maxNumOfNeighbour_log2_minus7):该最大搜索的邻居点数对数值减七是无符号整数,用于导出变量maxNumOfNeighbour(最大邻居点数),表示可用于搜索的最大已编码邻居数目以控制在属性预测时邻居候选点的搜索范围及硬件缓存的点的数目。maxNumOfNeighbour通过如下公式求得:
maxNumOfNeighbour=2(maxNumOfNeighbor_log2_minus7+7)maxNumOfNeighbour_log2_minus7。
属性残差二次预测字段(cross_component_pred):该属性残差二次预测字段为二值变量,用于指示是否允许属性残差二次预测;当属性残差二次预测字段的取值为第一设定值(如1)时,表示允许属性残差二次预测;当属性残差二次预测字段的取值为第二设定值(如0)时,表示不允许属性残差二次预测。
残差编码顺序开关字段(orderSwitch):该残差编码顺序开关字段为二值变量;当残差编码顺序开关字段的取值为第一设定值(如1)时,表示残差编码顺序是UYV/GRB顺序;当残差编码顺序开关字段的取值为第二设定值(如0)时,表示残差编码顺序是RGB/YUV顺序。
零游程值减半打开标志字段(half_zero_runlength_enable):该零游程值减半打开标志字段为二值变量;当零游程值减半打开标志字段的值为第一设定值时,表示使用零游程减半;当零游程值减半打开标志字段的值为第二设定值时,表示不使用零游程减半。
色度通道Cb量化参数偏移量(chromaQpOffsetCb):该色度通道Cb量化参数偏移量为有符号整数,用于控制Cb通道量化参数,取值范围为-16~16。如果当前属性头信息中不存在chromaQpOffsetCb,则chromaQpOffsetCb的值为0。即choramQpCb=Clip3(minQP,maxQP,attribute_qp+chromaQpOffsetCb)。注意亮度通道的量化参数lumaQp=attribute_qp,最小所支持的量化参数为minQP=0,最大所支持的量化参数为maxQP=63。
色度通道Cr量化参数偏移量(chromaQpOffsetCr):该色度通道Cr量化参数偏移量为有符号整数。用于控制Cr通道量化参数,取值范围为-16~16。如果当前属性头信息中不存在chromaQpOffsetCr,则chromaQpOffsetCr的值为0。即choramQpCr=Clip3(minQP,maxQP,attribute_qp+chromaQpOffsetCr)。注意亮度通道的量化参数lumaQp=attribute_qp,最小所支持的量化参数为minQP=0,最大所支持的量化参数为maxQP=63。
最近邻点预测参数一(nearestPredParam1):该最近邻点预测参数一为无符号整数,用于控制最近邻点预测的阈值。
最近邻点预测参数二(nearestPredParam2):该最近邻点预测参数二为无符号整数,用于控制最近邻点预测的阈值;该阈值表示为attrQuantParam*nearestPredParam1+nearestPredParam1。
空间偏倚系数(axisBias):该空间偏倚系数为无符号整数,用于控制属性预测值计算中在Z方向上的偏移量。
属性输出比特深度减一(outputBitDepthMinus1):该属性输出比特深度减一为无符号整数,用于控制属性输出比特深度,这一值界于0到15之间。outputBitDepth=outputBitDepthMinus1+1。如果该语法元素不在点云码流里,默认值为零。
LoD层数(numOflevelOfDetail):该LoD层数为无符号整数,用于控制在属性预测时划分的LOD的层数。其中,符合本部分的码流中numOflevelOfDetail不应大于32。
最大选取的用于预测的邻居点数(maxNumOfPredictNeighbours):该最大选取的用于预测的邻居点数为无符号整数,用于限制在属性预测时所选邻居点的点数。符合本部分的码流中maxNumOfPredictNeighbours不应大于16。
LoD层内预测标志字段(intraLodFlag):LoD层内预测标志字段为二值变量,用于控制是否开启层内的预测。当LoD层内预测标志字段的取值为第一预设值(如1)时,表示开启层内预测;当LoD层内预测标志字段的取值为第二预设值(如0)时,表示关闭层内预测。
颜色重排序模式(colorReorderMode):颜色重排序模式为无符号整数,用于表示当前颜色信息选择的重排序模式。当颜色重排序模式字段为第一预设值(如0)时,表示原始点云输入顺序;当颜色重排序模式字段为第二预设值(如“1”)时,表示Hilbert重排序;当颜色重排序模式字段为第三预设值(如“2”)时,表示Morton重排序。
反射率重排序模式(colorReorderMode):反射率重排序模式为无符号整数。当反射率重排序模式为第一预设值(如0)时,表示原始点云输入顺序;当反射率重排序模式字段为第二预设值(如1)时,表示Hilbert重排序;当反射率重排序模式字段为第三预设值(如2)时,表示Morton重排序。
最大缓存限制参数(maxNumofCoeff):该最大缓存限制参数为无符号整数,用于计算限制在属性变换编码中最大缓存的变换参数的个数。
最大延迟限制参数(coeffLengthControl):该最大延迟限制参数为无符号整数,用于限制在属性变换编码中变换参数的最大延迟的个数。其中,具体最大延迟点数计算为maxNumofCoeff*coeffLengthControl。
属性编码顺序字段(attrEncodeOrder):该属性编码顺序字段为二值变量,用于控制当点云包含多种属性类型时属性的编码顺序。当属性编码顺序字段为第一设定值(如0)时,表示先编码颜色,再编码反射率;当属性编码顺序字段为第二设定值(如1)时,表示先编码反射率,再编码颜色。
跨类型的属性预测字段(crossAttrTypePred):该跨类型的属性预测字段二值变量。当跨类型的属性预测字段的取值为第一设定值(如1)时,表示允许跨类型的属性预测;当跨类型的属性预测字段的取值为第一设定值(如0)时,表示不允许跨类型的属性预测。
跨类型的属性预测权重参数1(crossAttrTypePredParam1):跨类型的属性预测权重参数1为15位无符号整数,用于控制跨类型的属性预测中,计算几何信息距离和属性信息距离的权重参数1。
跨类型的属性预测权重参数2(crossAttrTypePredParam2):跨类型的属性预测权重参数2为21位无符号整数,用于控制跨类型的属性预测中,计算几何信息距离和属性信息距离的权重参数2。
反射率组预测标志字段(refGroupPred):该反射率组预测标志字段为二值变量,用于控制是否开启预测变换的反射率组预测模式;当反射率组预测标志字段为第一设定值(如1)时,表示开启组预测;当反射率组预测标志字段为第一设定值(如0)时,表示关闭组预测。
初始预测变换比例(initPredTransRatio):该初始预测变换比例为有符号整数,用于属性压缩的多层变换算法中(transform=1),控制构建预测变换树时所用初始距离阈值的大小。
变换残差层标志字段(transResLayer):该变换残差层标志字段为二值变量,用于属性压缩的多层变换算法中(transform=1),控制是否使用属性残差补偿。当transResLayer为第一设定值(如1)时,表示使用属性残差补偿;当transResLayer为第二设定值(如0)时,表示不使属性残差补偿。
颜色指数哥伦布阶数(ColorGolombNum):该颜色指数哥伦布阶数为无符号整数,用以表示当前颜色预测残差或变换系数在进行解码时,采用的K阶指数哥伦布的阶数K,K=ColorGolombNum。
反射率指数哥伦布阶数(RefGolombNum):该反射率指数哥伦布阶数为无符号整数,用以表示当前反射率预测残差或变换系数在进行解码时,采用的K阶指数哥伦布的阶数K,K=ColorGolombNum。
当前待解码系数的解码模式标志字段(coeffEncodeModeFlag):该当前待解码系数的解码模式标志字段为二值变量;当当前待解码系数的解码模式标志字段为第一设定值(如1)时,表示按照9.3.16.3解码点云属性变换系数;当当前待解码系数的解码模式标志字段为第一设定值(如0)时,表示按照9.3.12解码点云属性变换系数。
十五、点云解码
点云解码是指对点云编码得到的点云码流进行解码,以重建点云的过程;详细地说,是指基于点云码流中的几何比特流和属性比特流,重建点云中各点的几何信息和属性数据的过程。在解码侧获得点云码流之后,对于几何比特流,首先进行熵解码,得到点云中各点量化后的几何信息,然后进行反量化,重建点云中各点的几何信息。而对于属性比特流,首先进行熵解码,得到点云中各点量化后的预测残差信息或量化后的变换系数;然后对量化后的预测残差信息进行反量化得到重建残差信息,对量化后的变换系数进行反量化得到重建变换系数,重建变换系数经反变换后得到重建残差信息,根据点云中各点的重建残差信息可以重建点云中各点的属性数据。将点云中各点重建的属性数据,按顺序与重建的几何数据一一对应,以重建点云。
基于上述描述,本申请提供了一种点云媒体的数据处理方案,该数据处理方案大致原理如下:在编码侧可以根据编码过程中点云码流中属性数据之间的编解码依赖关系,生成相应的跨属性依赖指示信息,并在点云媒体的媒体文件中封装该跨属性依赖指示信息,通过跨属性依赖指示信息来指示点云码流中属性数据之间的编解码依赖关系。在解码侧,可根据跨属性依赖指示信息对点云码流进行解码,以呈现该点云媒体。该数据处理方案中,通过点云媒体的媒体文件中的跨属性依赖指示信息,可以指示点云码流中的属性数据之间的编解码依赖关系,基于该指示可指导点云媒体的传输、解码及呈现,支持解码侧部分传输及部分解码,从而优化网络带宽及解码侧的计算资源的利用。
需要说明的是,具备编解码依赖关系的属性数据中,可根据该编解码依赖关系分为依赖的属性数据和被依赖的属性数据,顾名思义,所谓依赖的属性数据是指编解码过程需要依赖其他数据的属性数据;而所谓被依赖的属性数据是指被其他数据所依赖的数据;例如:属性数据1(Attr1)的编解码过程需要依赖属性数据2(Attr2),那么属性数据1(Attr1)与属性数据2(Attr2)之间具备编解码依赖关系,属性数据1(Attr1)称为依赖的属性数据,属性数据2(Attr2)称为被依赖的属性数据。
本申请实施例所提供的点云媒体的数据处理方案还可以与车联网技术相结合。具体的,该点云媒体的数据处理方案可以采集环境中的建筑物、交通标志物等等,并在车辆中构建点云地图用于定位,或者利用该点云地图实现自动导航。
基于上述描述,下面结合图2a对适于实现本申请实施例提供的点云媒体的数据处理系统进行介绍。如图2a所示,点云媒体的数据处理系统20中可以包括内容制作设备201和媒体处理设备202,内容制作设备201位于点云媒体的编码侧;该内容制作设备201可以是终端设备,也可以是服务器。媒体处理设备202位于点云媒体的解码侧,该媒体处理设备202可以是终端设备,也可以是服务器。内容制作设备201和媒体处理设备202之间可以建立通信连接。其中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一个实施例中,内容制作设备201和媒体处理设备202执行该点云媒体的数据处理的具体流程如下:针对内容制作设备201主要包括以下数据处理过程:(1)点云媒体的获取过程;(2)点云数据的编码及文件封装的过程。针对媒体处理设备201主要包括以下数据处理过程:(3)点云数据的文件解封装及解码的过程;(4)点云数据的渲染过程。
另外,内容制作设备201与媒体处理设备202之间涉及点云媒体的传输过程,该传输过程可以基于各种传输协议(或者传输信令)来进行,此处的传输协议可包括但不限于:DASH(Dynamic Adaptive Streaming over HTTP,动态自适应流媒体传输)协议、HLS(HTTPLive Streaming,动态码率自适应传输)协议、SMTP(Smart Media Transport Protocol,智能媒体传输协议)、TCP(Transmission Control Protocol,传输控制协议)等。
下面对点云媒体的数据处理过程进行详细描述:
(1)点云媒体的获取过程。
内容制作设备201可以获取点云媒体,点云媒体可以通过场景捕获或设备生成两种方式获取得到。场景捕获点云媒体是指通过内容制作设备201关联的捕获设备采集真实世界的视觉场景得到点云媒体;其中,捕获设备用于为内容制作设备201提供点云媒体的获取服务,捕获设备可以包括但不限于以下任一种:摄像设备、传感设备、扫描设备;其中,摄像设备可以包括普通摄像头、立体摄像头、以及光场摄像头等。传感设备可以包括激光设备、雷达设备等。扫描设备可以包括三维激光扫描设备等。内容制作设备201关联的捕获设备可以是指设置于内容制作设备201中的硬件组件,例如捕获设备是终端的摄像头、传感器等,内容制作设备关联的捕获设备也可以是指与内容制作设备201相连接的硬件装置,例如与内容制作设备201相连接的摄像头等。设备生成点云媒体是指内容制作设备201根据虚拟对象(例如通过三维建模得到的虚拟三维物体及虚拟三维场景)生成点云媒体。
(2)点云媒体的编码及文件封装的过程。
内容制作设备201可以采用点云编码方式对获取的点云媒体中的几何数据和属性数据进行编码处理,得到点云码流(包括编码的几何比特流和属性比特流)。可选地,在对点云媒体中的属性数据进行编码时,可以对多种类型的属性数据进行跨属性编码;例如,点云媒体中的属性数据1为一组颜色属性数据,属性数据2为一组反射率属性数据;在跨属性编码过程中,可以先对属性数据1进行编码,然后对属性数据2进行编码。
在得到点云码流之后,可根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息,并对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件。在进行封装的过程中,可以采用单轨方式对点云码流进行封装,也可以采用多轨方式对点云码流进行封装。当采用单轨方式对点云码流进行封装时得到单一轨道,该单一轨道中可以包括一个或多个样本,每个样本可以包含点云媒体中的一个点云帧所有的数据,即包括几何数据、属性数据。进一步,多轨方式包括基于类型的多轨方式及基于Slice的多轨方式,当采用基于类型的多轨方式对点云码流进行封装时得到多个轨道,任一轨道中可以包括一个或多个样本,每个样本可以包含点云媒体中的一个点云帧的一类数据,如轨道1(几何组件轨道)中的一个样本可以包含相应点云帧中的几何数据,轨道2(颜色组件轨道)中的一个样本可以包含相应点云帧中的一组颜色属性数据。当采用基于Slice的多轨道方式对点云码流进行封装时得到多个轨道(包括一个基础轨道和多个分片轨道),基础轨道中包含点云媒体解码所需的参数数据,通过基础轨道中的样本能够从相应分片轨道中找到点云帧的点云数据(包括几何数据和属性数据)。
在对跨属性依赖指示信息和点云码流进行封装得到媒体文件之后,可以将该媒体文件传输给媒体处理设备202,使得在媒体处理设备202中可以根据该跨属性依赖指示信息对点云码流进行解码处理。其中,该跨属性依赖指示信息可以设置于媒体文件中的轨道的样本入口,或者设置于媒体文件中的轨道包含的跨属性依赖样本群组的入口。此处的轨道可以是对点云码流通过单轨方式封装形成的单一轨道;或者,是基于类型的多轨方式对点云码流进行多轨封装形成的任一轨道;或者,是基于slice的多轨方式对点云码流进行多轨封装形成的基础轨道。除特别说明外,本申请后续各实施例提及的轨道与此处的轨道均为相同含义。
可选地,当点云媒体采用流化传输方式进行传输时,可以在传输信令中包含跨属性依赖指示信息。
(3)点云媒体的文件解封装及解码的过程;
媒体处理设备202可以通过内容制作设备201获得点云媒体的媒体文件和相应的媒体呈现描述信息。点云媒体的媒体文件和媒体呈现描述信息通过传输信令(如DASH、SMT)由内容制作设备201传输给媒体处理设备202。媒体处理设备202的文件解封装的过程与媒体处理设备202的文件封装过程是相逆的,媒体处理设备202按照点云媒体的文件格式要求对媒体文件资源进行解封装,得到点云码流。媒体处理设备202的解码过程与内容制作设备201的编码过程是相逆的,媒体处理设备202对编码比特流进行解码,还原出点云媒体。
其中,在解码过程中,媒体处理设备202可以从媒体文件或者传输信令中获取跨属性依赖指示信息,并可依据跨属性依赖指示信息,按需获取点云媒体的媒体文件,并按需对点云媒体进行解码。
(4)点云媒体的渲染过程。
媒体处理设备202根据媒体呈现描述信息中与渲染、视窗相关的元数据对解码得到的点云媒体进行渲染,得到点云媒体的点云帧,并根据点云帧的呈现时间呈现点云媒体。
在一个实施例中,请参见图2b,内容制作设备端:首先通过采集设备对真实世界的视觉场景A进行采样,得到与真实世界的视觉场景对应的点云媒体的点云源数据B,点云源数据B是由大量点云帧组成的帧序列;然后对获取的点云媒体进行编码处理,得到点云码流E(包括编码的几何码流和属性码流);接着对点云码流E进行封装得到点云媒体对应的媒体文件,具体地,内容制作设备201根据特定媒体容器文件格式,将一个或多个编码比特流合成为用于文件回放的媒体文件F,或用于流式传输的初始化片段和媒体片段的序列(FS);其中,媒体容器文件格式可以是指在国际标准化组织(International Organization forStandardization,ISO)/国际电工委员会(International ElectrotechnicalCommission,IEC)14496-12中规定的ISO基本媒体文件格式。在一种实施方式中,内容制作设备还将元数据封装到媒体文件或初始化/媒体片段的序列中,并通过传输信令(如动态自适应流媒体传输接口)将初始化/媒体片段的序列传送给媒体处理设备202。
在媒体处理设备端:首先接收内容制作设备201发送的媒体文件,该媒体文件可以包括:用于文件回放的媒体文件F',或用于流式传输的初始化片段和媒体片段的序列Fs';然后对媒体文件进行解封装处理,得到点云码流E';接着根据媒体文件或者传输信令包含的跨属性依赖指示信息,解码点云码流(即根据跨属性依赖指示信息可以对点云码流中的属性数据进行解码处理),得到点云媒体D';在具体实现中,媒体处理设备基于当前对象的观看位置/观看方向确定呈现点云媒体所需的媒体文件,或者媒体片段序列;并对呈现点云媒体所需的媒体文件,或者媒体片段序列进行解码处理,得到呈现所需的点云媒体。最后基于当前对象的观看(视窗)方向,对解码后的点云媒体进行渲染,得到点云媒体的点云帧A',并按照点云帧的呈现时间在媒体处理设备携带的头戴式显示器或任何其他显示设备的屏幕上呈现点云媒体。需要说明的是,当前对象的观看位置/观看方向由头部跟随以及可能还有视觉跟随功能确定。除了通过渲染器用来渲染当前对象的观看位置/观看方向的点云媒体外,还可以通过音频解码器来对当前对象的观看(视窗)方向的音频进行解码优化。其中,在基于视窗的传输过程中,当前的观看位置和观看方向也被传递给策略模块,用于确定要接收的轨道。
可以理解的是,本申请涉及点云媒体的数据处理技术可以依托于云技术进行实现;例如,将云服务器作为内容制作设备。云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
在本申请实施例中,内容制作设备可以获取点云媒体,并对点云媒体进行编码处理,得到点云码流;然后根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件;然后媒体处理设备可以获取媒体文件,并根据媒体文件中包括的跨属性依赖指示信息对点云码流进行解码处理。通过在点云媒体的媒体文件中添加跨属性依赖指示信息,用以指示点云码流中的属性数据之间的编解码依赖关系,基于该指示可指导点云媒体的传输、解码及呈现,支持解码端部分传输及部分解码,从而优化网络带宽及解码端的计算资源的利用。
接下来对本申请实施例提供的点云媒体的数据处理方法进行相关描述。请参见图3,图3为本申请实施例提供的一种点云媒体的数据处理方法的流程示意图,该点云媒体的数据处理方法可以由点云媒体的数据处理系统中的媒体处理设备来执行,该方法包括以下步骤S301-S302:
S301、获取点云媒体的媒体文件。
媒体文件包括点云媒体的点云码流和跨属性依赖指示信息,点云码流是对点云媒体进行编码处理得到的;跨属性依赖指示信息用于指示点云码流中的属性数据之间的编解码依赖关系。例如,跨属性依赖指示信息可以用于指示点云码流中的属性数据1和属性数据2之间的编解码依赖关系(如属性数据1在编解码过程中会依赖属性数据2)。
跨属性依赖指示信息在点云媒体的媒体文件中的设置方式可包含以下(1)-(6)几种:
(1)跨属性依赖指示信息可设置于轨道的样本入口。
媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;当对点云码流采用单轨进行封装时,本申请实施例所涉及到的轨道是指对点云码流采用单轨封装形成的单一轨道,此时,一个样本对应点云媒体中的一个点云帧的所有数据,即包括几何数据和属性数据;一组属性数据可以用于反映点的一种类型的属性,该属性的类型可但不限于:颜色、反射率、材质。当对点云码流采用基于类型的多轨方式进行封装时,本申请实施例所涉及到的轨道是对点云码流进行多轨封装形成的任一轨道,此时,该轨道中的样本对应点云媒体中的一个点云帧的一类数据,如该轨道中的样本对应点云媒体中的一个点云帧的属性数据。当对点云码流采用基于Slice的多轨方式进行封装时,本申请实施例所涉及到的轨道是指对点云码流采用基于Slice的多轨方式形成的基础轨道。
上述跨属性依赖指示信息可以设置于轨道的样本入口中,该跨属性依赖指示信息可以用于指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中保持一致。所谓保持一致是指:在轨道中的所有样本中包括的属性数据之间的编解码依赖关系不会发生改变;例如,所有样本均包含相同类型的一组属性数据1和相同类型的一组属性数据2,如果跨属性依赖指示信息设置于轨道的样本入口中,那么表示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中均为属性数据1依赖属性数据2;又例如,每个样本均包含一组颜色属性数据和一组反射率属性数据,如果跨属性依赖指示信息设置于轨道的样本入口中,那么表示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中均为颜色属性数据依赖反射率属性数据。
应理解的是,属性数据之间的编解码依赖关系可以包括:同一类型的属性数据之间的编解码依赖关系,如颜色属性数据1依赖颜色属性数据2,反射率属性数据1依赖反射率属性数据2;或者,属性数据之间的编解码依赖关系可以包括:不同类型的属性数据之间的编解码依赖关系,如颜色属性数据依赖反射率属性数据。
(2)跨属性依赖指示信息可设置于跨属性依赖样本群组中。
媒体文件包括轨道,轨道中包含跨属性依赖样本群组,跨属性依赖样本群组中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;在一个实施例中,该跨属性依赖样本群组可以用于标识被依赖的属性数据所属的样本。跨属性依赖样本群组的意义在于,对于某个属性数据1(表示为Attr1),其在一个点云码流中的多个样本中,可能存在一些样本被其他属性数据所属样本依赖,而存在一些样本不被这些其他属性数据所属样本依赖,那么就可以通过跨属性依赖样本群组进行区分。可理解为:跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据;此时,可将被其他属性数据依赖的属性数据对应的样本会划分为一个跨属性依赖样本群组;例如,样本1包含被属性数据1(即其他属性数据)所依赖的属性数据2,样本2也包含被属性数据1所依赖的属性数据2,可以将样本1和样本2划分为一个跨属性依赖样本群组。
在另一个实施例中,该跨属性依赖样本群组可以用于标识依赖的属性数据所属的样本。跨属性依赖样本群组的意义在于,对于某个属性数据2(表示为Attr2),其在一个点云码流中的多个样本中,可能存在一些样本依赖其他属性数据所属样本,而存在一些样本不依赖这些其他属性数据所属样本,那么就可以通过跨属性依赖样本群组进行区分。可理解为:跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;此时,可将被其他属性数据依赖的属性数据对应的样本会划分为一个跨属性依赖样本群组。例如,样本1包含依赖属性数据2(即其他属性数据)的属性数据1,样本2包含依赖属性数据2的属性数据3,可以将样本1和样本2划分为一个跨属性依赖样本群组。
此时,跨属性依赖指示信息可以设置于跨属性依赖样本群组的入口中,该跨属性依赖指示信息还用于指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中存在变化。所谓存在变化是指:在轨道中的所有样本中包括的属性数据之间的编解码依赖关系在不同的样本中会发生改变或者不同。例如,轨道中包括两个样本,所有样本中可以包含属性数据1、属性数据2和属性数据3;点云码流中的属性数据之间的编解码依赖关系在样本1中可能是属性数据1依赖属性数据2,点云码流中的属性数据之间的编解码依赖关系在样本2中可能是属性数据2依赖属性数据3。
本申请实施例中,跨属性指示信息可以表示为跨属性依赖信息数据盒。该跨属性指示信息可以指示点云码流中的不同组属性数据之间的编码依赖关系:
在一种实施方式中,跨属性依赖指示信息可以用于指示点云码流中的两组或者两组以上属性数据之间的编解码依赖关系,例如:属性数据1被属性数据3和属性数据4依赖,则跨属性依赖指示信息可以用于指示属性数据1、属性数据3和属性数据4这三组属性数据之间的编解码依赖关系。在一种实现中,跨属性依赖指示信息可以表示为跨属性依赖信息数据盒,该跨属性依赖信息数据盒包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段。该跨属性依赖信息数据盒的数据盒类型为‘cadi’,该跨属性依赖信息数据盒包含于样本入口,强制类型为否;数量为0个或1个。其中,跨属性依赖信息数据盒的语法可参见表3:
表3
其中,跨属性依赖信息数据盒包含的各个字段的语义如下:
被依赖属性数据数量字段(depended_attr_num):该被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数;或者,该被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;其中,被依赖的属性数据的组数是指:被其他数据依赖的属性数据的组数,例如,在当前轨道或当前样本中包含被属性数据1依赖的属性数据可以为两组,即在当前轨道或当前样本中存在两组属性数据被属性数据1依赖;当前轨道是指媒体文件中正在被解码的轨道,当前样本是指所述当前轨道中正在被解码的样本。
依赖属性数据数量字段(depending_attr_num):该依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数,当前属性数据是指当前样本中正在被解码的属性数据。
被依赖属性数据标识字段(depended_attr_id):该被依赖属性数据标识字段用于指示被依赖的属性数据的标识符,即被其他数据依赖的属性数据的标识符。
依赖属性数据标识字段(depending_attr_id):该依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符。
在另一种实施方式中,跨属性依赖指示信息用于指示点云码流中任意两组属性数据之间的编解码依赖关系,即跨属性依赖指示信息用于指示点云码流中两两属性数据之间的编解码依赖关系;例如,属性数据1和属性数据2之间存在编解码依赖关系,属性数据3和属性数据4之间存在编解码依赖关系。
此时,跨属性依赖信息数据盒包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;上述跨属性依赖信息数据盒的语法可参见表4:
表4
其中,跨属性依赖信息数据盒包含的各个字段的语义如下:
被依赖属性数据数量字段(depended_attr_num):该被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数。或者被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数。
依赖属性数据标识字段(depended_attr_id):该依赖属性数据标识字段用于指示任意两组属性数据中依赖的属性数据的标识符。
被依赖属性数据标识字段(depending_attr_id)用于指示任意两组属性数据中被依赖的属性数据的标识符。
在再一实施方式中,点云码流中仅包含第一类型的属性数据和第二类型的属性数据,例如,点云码流中仅包含反射率属性数据(即第一类型的属性数据)和颜色属性数据(即第二类型的属性数据)。此时,跨属性依赖指示信息用于指示第一类型的属性数据与第二类型的属性数据之间的编解码依赖关系;该跨属性依赖信息数据盒可以包含被依赖的属性数据类型字段(depended_attr_type):该属性数据类型字段用于指示被依赖的属性数据类型。该跨属性依赖信息数据盒的语法可参见表5:
表5
其中,若上述被依赖的属性数据类型字段为第一数值(如0),则表示第一类型的属性数据被第二类型的属性数据依赖;若上述被依赖的属性数据类型字段为第二数值(如1),则表示第二类型的属性数据被第一类型的属性数据依赖。需要说明的是,第一数值和第二数值可以根据需求进行设置,例如,第一数值可设置为1,第二数据可设置为0;本申请对此不作限定。
(3)跨属性依赖指示信息可以设置于轨道组中。
在一个实施例中,根据点云码流中具备编解码依赖关系的属性数据可以建立轨道之间的依赖关系。媒体文件可以包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据可以位于不同的属性组件轨道中。例如,在点云码流具备编解码依赖关系的属性数据为颜色属性数据和反射率属性数据,可以将颜色属性数据位于一个属性组件轨道,将反射率属性数据位于另一个属性组件轨道。此时,不同的属性组件轨道之间的关联关系可以采用轨道组进行表示,此处的关联关系可理解为编解码依赖关系。
其中,媒体文件包含轨道组类型数据盒,该轨道组类型数据盒可以用于指示点云码流中具备编解码依赖关系的属性数据所属的属性组件轨道,跨属性依赖指示信息可设置于轨道组类型数据盒中,该跨属性依赖指示信息可表示为跨属性依赖信息数据盒(CrossAttrDependencyInfoBox)。其中,轨道组类型数据盒(TrackGroupTypeBox)的语法如表6所示:
表6
(4)跨属性依赖指示信息可以为轨道标识符,该轨道标识符可设置在依赖的属性数据所属的属性组件轨道中。
媒体文件包括一个或多个属性组件轨道,该点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;该媒体文件包含轨道参考类型数据盒,该轨道参考类型盒中包括轨道标识符,该轨道标识符用于指示具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道;轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道中。
在一种实施方式中,轨道标识符可以指示被依赖的属性数据所属的属性组件轨道的轨道标识,该被依赖的属性数据所属的属性组件轨道是指被其他属性数据依赖的属性数据所属的属性组件轨道,例如,属性数据1属性数据2具备编解码依赖关系,且属性数据1被属性数据2依赖,属性数据1和属性数据2分别位于不同的属性组件轨道;那么,轨道参考类型盒设置在属性数据2所属的属性组件轨道中,轨道标识符用于指示被依赖的属性数据1所属的属性组件轨道。其中,该轨道参考类型数据盒为TrackReferenceTypeBox,在该轨道参考类型数据盒中新增‘cadr’类型的轨道标识符。其中,若当前属性组件轨道包含轨道标识符,则说明当前属性组件轨道中的至少一个样本在解码时依赖轨道标识符所指示的属性组件轨道中的至少一个样本。
在另一种实施方式中,该轨道标识符用于指示具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;所述轨道参考类型数据盒设置于具备所述编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本被轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;其中,当前属性组件轨道是指正在被解码的属性组件轨道。例如,属性数据1和属性数据2具备编解码依赖关系,且属性数据1被属性数据2依赖,属性数据1和属性数据2分别位于不同的属性组件轨道;那么,轨道参考类型盒设置在属性数据1所属的属性组件轨道中,轨道标识符用于指示依赖的属性数据2所属的属性组件轨道。其中,该轨道参考类型数据盒为TrackReferenceTypeBox,在该轨道参考类型数据盒中新增‘cadr’类型的轨道标识符。其中,若当前属性组件轨道包含轨道标识符,则说明当前属性组件轨道中的至少一个样本被轨道标识符所指示的属性组件轨道中的至少一个样本所依赖。
(5)跨属性依赖指示信息可设置于子样本信息数据盒中。
媒体文件包括轨道,该轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;一个样本被划分为一个或多个点云片,每个点云片采用一个子样本表示;跨属性依赖指示信息被设置于子样本信息数据盒中。此时,跨属性依赖指示信息可以包含于该子样本信息数据盒,该跨属性依赖指示信息包含交叉属性依赖标志字段和属性数据标识字段。
具体的,在对点云码流进行封装时可以使用子样本信息数据盒,在该子样本信息数据盒中可以包含子样本信息数据的标志字段,可以根据该子样本信息数据的标志字段(flag)的值定义子样本,标志字段指定该子样本信息数据盒中的子样本信息的类型:若标志字段为第一预设值(如0),那么该子样本是指基于点云片承载的数据类型的子样本,此时,一个子样本只包含一种数据类型及相关数据,如一个子样本只包含几何数据类型以及几何数据。若标志字段为第二预设值(如1),那么该子样本是指基于点云片的子样本,此时一个子样本仅包含一个点云片所有相关数据,即包含几何片头和几何数据,属性片头和属性数据。当然,标志字段可以保留其他标志值。
此时,子样本信息数据盒的codec_specific_parameters(编码译码器具体规范)字段定义可以如表7:
表7
其中,子样本信息数据盒包含的各个字段含义如下:
有效载荷类型字段(payloadType):该有效载荷字段指示子样本中包含点云片中的数据类型。若有效载荷类型字段的值为第一设定值(如0),则表示子样本中包含点云片中的数据类型为属性数据,若有效载荷类型字段的值为第二设定值(如1),则表示子样本中包含点云片中的数据类型为几何数据。
属性展现标志字段(attribute_present_flag):该字段指示子样本中是否包含颜色属性和/或反射率属性,定义可参见AVS(中国国家音视频编码标准AVS,Audio VideoCoding Standard)-PCC。若属性展现标志字段的值为第一设定值(如0),则指示子样本中是否包含颜色属性;若属性展现标志字段的值为第二设定值(如1)指示子样本中是否包含反射率属性。
点云片数据字段(slice_data):该字段指示子样本中是否包含点云片的数据。若点云片数据字段的值为第一设定值(如1),则指示子样本中包含点云片几何和/或属性类型数据;若点云片数据字段的值为第二设定值(如0),则指示子样本中不包含点云的参数信息。
点云片标识字段(slice_id):该字段指示子样本中包含的数据对应的点云片的标识。
交叉属性依赖标志字段(cross_attr_depending_flag):该交叉属性依赖标志字段可以用于指示当前属性数据在解码时是否依赖其他属性数据。若交叉属性依赖标志字段的值为第一预设值(如1),则表示当前属性数据在解码时依赖其他属性数据;若交叉属性依赖标志字段的值为第二预设值(如0),则表示当前属性数据在解码时不依赖其他属性数据;
属性标识字段(attr_id):该字段用于指示当前属性数据的标识符,当前属性数据为媒体文件中正在被解码的子样本中的属性数据。
本申请实施例中,媒体文件还可包括组件信息数据盒,组件信息数据盒包含轨道中组件的类型;若组件的类型为属性数据,则组件信息数据盒中还包括属性标识字段,属性标识字段用于指示当前属性数据的标识符,当前属性数据是指正在被解码的属性数据。其中,该组件信息数据盒的语法可参见表8:
表8
其中,该组件信息数据盒包含的各个字段的定义如下:
音视频编码标准点云压缩类型字段(avs_pcc_type):该字段指示轨道中组件的类型,该字段的取值如下表9所示:当avs_pcc_type的值为4时,可确定轨道中的组件类型为属性数据。
表9
avs_pcc_type值 | 描述 |
1 | 保留 |
2 | 几何数据 |
3 | 保留 |
4 | 属性数据 |
5..31 | 保留 |
属性数量字段(attr_num):该字段指示轨道中包含的属性组件的个数。
属性类型字段(attr_type):该字段指示轨道中包含的属性组件的类型。该属性类型字段的取值为第一取值(如0),表示轨道中包含的属性组件的类型为颜色属性类型;该属性类型字段的取值为第二取值(如1),表示轨道中包含的属性组件的类型为反射率属性类型。
属性标识字段(attr_id):该字段可以指示当前属性数据的标识符,当前属性数据的标识符是指当前正在解码的属性数据的标识符。
在一个实施例中,获取点云媒体的媒体文件可以包括:接收内容制作设备发送的点云媒体的媒体文件。或者,当点云媒体采用流化传输方式进行传输时,获取点云媒体的媒体文件的实现方式还可以是:获取点云媒体的传输信令,该然后根据该传输信令获取点云媒体的媒体文件。其中,传输指令可以为DASH指令或者SMT信令。基于此,本申请实施例还可以在传输信令中包含跨属性依赖指示信息,实现根据跨属性依赖指示信息对点云码流进行解码处理。
本申请实施例可以在封装层面进行字段扩展,以支持本申请实施例的实施步骤,当点云媒体采用流化传输方式进行传输时,还可对传输信令层面进行字段扩展以支持本申请实施例。
(6)跨属性依赖指示信息可设置于传输信令中。
a、当传输指令为DASH指令时,跨属性依赖指示信息可以是指DASH信令中的跨属性依赖信息描述子。
该跨属性依赖信息描述子可以用于指示点云码流中的属性数据之间的编解码依赖关系或者指示点云媒体跨属性编码时不同属性数据之间的依赖关系。其中,该跨属性依赖信息描述子(CrossAttrDependencyInfo descriptor)可以为补充性质(SupplementalProperty)元素,该跨属性依赖信息描述子中的@schemeIdUri属性为"urn:avs:ims:2022:apcc"。该跨属性依赖信息描述子可存在于自适应集(adaptation set)层级,表示(representation)层级、预选(preselection)层级中任意层级中。当跨属性依赖信息描述子存在于自适应集层级中时,跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;当跨属性依赖信息描述子存在于表示层级中时,该跨属性依赖信息描述子用于描述对应表示层级中的表示;当跨属性依赖信息描述子存在于预选层级中时,该跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
其中,跨属性依赖信息描述子包括以下至少一种元素:跨属性依赖信息(CrossAttrDependencyInfo)、被依赖属性数据标识元素(@depended_attr_id)、被依赖的属性数据类型元素(@depended_attr_type)、依赖属性数据标识元素(@depending_attr_id)及依赖属性数据类型元素(depending_attr_type);其中,该跨属性依赖信息元素可以用于指示点云码流在跨属性编码时不同属性数据之间的编解码依赖关系;该被依赖的属性数据标识元素用于指示被依赖的属性数据的标识符;该依赖的属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;该被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;该依赖的属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型。其中,跨属性依赖信息描述子可以如表10:
表10几何压缩多属性信息(GPCCMultiAttrInsInfo)描述子的元素和属性
其中,M:Mandatory强制字段;CM:Conditional Mandatory条件强制;O:Optional可选字段。
可选地,b、当传输指令为DASH信令时,跨属性依赖指示信息也可以是指DASH信令中的依赖标识字段;依赖标识字段可以为DASH信令中的@dependencyId。该依赖标识字段用于指示点云码流中的属性数据之间的编解码依赖关系。具体的,在具备编解码依赖关系的属性数据中,依赖标识字段可以设置在依赖的属性数据对应的表示中,该依赖标识字段用于指示被依赖的属性数据(即被其他属性数据依赖的属性数据)对应的表示的标识。
c、传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符。
在SMT中定义了Asset(资产)组描述符,用于指示同一个SMT Package(智能媒体传输包)中Asset的关联关系。在SMT中,原来只有四种关系类型,分别是依赖关系、组合关系、等同关系和相似关系,相应的flag(标志字段)分别是依赖标志字段(dependency_flag)、组合标志字段(composition_flag)、等同标志(equivalence_flag)字段和相似标志字段(similarity_flag)。在SMT中添加的新的关系类型是非对齐时间段的知识位流依赖关系类型,对应的flag是库标志(library_flag),该关系类型是用来描述当前Asset与非对齐时间段的知识位流Asset的依赖关系。其中,Asset(资产)组描述符的语法可参见表11:
表11Asset组描述符语法
其中,Asset(资产)组描述符包括的字段含义如下:
描述子标签字段(descriptor_tag):该字段为16位,用于指示此类型描述符的标签值。
描述子长度字段(descriptor_length):该字段为16位,指示此描述符的字节长度,从下一个字段计算至最后一个字段。
依赖标志字段(dependency_flag):该字段为1位,指示在此描述符中是否需要添加依赖关系。依赖标志字段的值为第一预设值(如0),意味着不需要添加依赖关系。
组合标志字段(composition_flag):该字段为1位。指示在此描述符中是否需要添加组合关系。组合标志字段的值为第一预设值(如0),意味着不需要添加组合关系。
等同标志字段(equivalence_flag):该字段为1位,指示在此描述符中是否需要添加等同关系。等同标志字段的值为第一预设值(如0),意味着不需要添加等同关系。
相似标志字段(similarity_flag):该字段为1位,指示在此描述符中是否需要添加相似关系。相似标志字段的值为第一预设值(如0),意味着不需要添加相似关系。
库标志字段(library_flag):该字段为1位,指示在此描述符中是否需要添加非对齐时间段的知识位流依赖关系。库标志字段的值为第一预设值(如0),意味着不需要添加非对齐时间段的知识位流依赖关系。
依赖数量字段(num_dependencies):该字段为8位,指示此描述符所描述的Asset所依赖的Asset的数目。
组合数量字段(num_compositions):该字段为8位,指示与此描述符所描述的Asset有组合关系的Asset的数目。
等同选择级别字段(equivalence_selection_level):该字段为8位,指示所对应的Asset在等同关系组中的呈现等级。等同选择级别字段为第一取值(‘0’)表示该Asset被默认呈现。当默认Asset无法被选择时,拥有呈现等级较小的Asset会作为替代被选择和呈现。
等同数量字段(num_equivalences):该字段为8位,指示与此描述符所描述的Asset有等同关系的Asset的数目。
相似选择级别字段(similarity_selection_level):该字段为8位,指示所对应的Asset在相似关系组中的呈现等级。相似选择级别字段为第一取值(‘0’)表示该Asset被默认呈现。当默认Asset无法被选择时,拥有呈现等级较小的Asset会作为替代被选择和呈现。
相似数量字段(num_similarities):该字段为8位,指示与此描述符所描述的Asset有相似关系的Asset的数目。
库数量字段(num_libraries):该字段为8位,指示此描述符所描述的Asset所依赖的非对齐时间段的知识位流Asset的数目。
资产标识字段(asset_id):该字段指示Asset的标识符,即Asset组描述符中的asset_id:当Asset组描述符用于指示依赖关系时,asset_id字段指示此描述符所描述的Asset所依赖的Asset的标识符,同时,此描述符中提供的Asset标识符顺序与其内部编码依赖层次相对应;当Asset组描述符用于指示组合关系时,asset_id字段指示与此描述符所描述的Asset有组合关系的Asset的标识符;当Asset组描述符用于指示等同关系时,asset_id字段指示与此描述符所描述的Asset有等同关系的Asset的标识符;当Asset组描述符用于指示相似关系时,asset_id字段指示与此描述符所描述的Asset有相似关系的Asset的标识符;当Asset组描述符用于指示非对齐时间段的知识位流依赖关系时,asset_id字段指示与此描述符所描述的Asset有非对齐时间段的知识位流依赖关系的Asset的标识符。
在一个实施例中,针对上述SMT信令描述,本申请实施例可利用SMT信令中的Asset组描述符指示不同属性数据之间的编解码依赖关系。具体的,该跨属性依赖指示信息包含资产组描述符(Asset组描述符),资产描述符用于指示点云码流中的属性数据之间的编解码依赖关系。
其中,在具备编解码依赖关系的属性数据中,该资产组描述符(Asset_group_descriptor)被设置于依赖的属性数据对应的资产(Asset)中。该资产组描述符(Asset_group_descriptor)可以包括依赖标志(dependency_flag)、依赖数量字段(num_dependencies)和资产标识字段(asset_id);该依赖标志被置为第一预设值(如1),依赖数量字段用于指示依赖的属性数据在解码时需要依赖的其他属性数据的组数,该资产标识字段用于指示被依赖的属性数据对应的资产标识,即该资产标识字段用于指示被其他属性数据依赖的属性数据对应的资产标识。
可以理解的是,上述(1)-(6)所示的跨属性依赖指示信息的设置方式可以根据实际情况进行灵活选择使用或组合使用,例如,可以在轨道的样本入口中设置跨属性依赖指示信息,当该轨道存在子样本划分时,还可以进一步在子样本信息数据盒中设置跨属性依赖指示信息。
S302、按照跨属性依赖指示信息,对点云码流进行解码以呈现点云媒体。
媒体处理设备可从媒体文件中获取跨属性依赖指示信息或者从传输信令中读取跨属性依赖指示信息。当从媒体文件中获取跨属性依赖指示信息时,媒体处理设备可以从媒体文件中的轨道的样本入口、跨属性依赖样本组或者子样本等获取跨属性依赖指示信息。
在一个实施例中,步骤S302的具体实现方式可以是:媒体处理设备可以根据跨指示依赖指示信息所指示的编解码依赖关系,确定当前属性数据所依赖的属性数据;然后对当前属性数据所依赖的属性数据进行解码处理;在对当前属性数据所依赖的属性数据解码之后,对所述当前属性数据进行解码处理。
其中,媒体处理设备可以根据跨指示依赖指示信息所指示的编解码依赖关系,确定当前属性数据所依赖的属性数据可以是:根据跨指示依赖指示信息所指示的编解码依赖关系确定点云码流中的属性数据的解码顺序,从解码顺序中确定当前属性数据所依赖的属性数据。
应理解的是,当媒体处理设备从传输信令中读取跨属性依赖指示信息时,根据该跨属性依赖指示信息确定当前需解码的属性数据以及当前需解码的属性数据所依赖的属性数据,此时,需要先解码所依赖的属性数据再解码当前解码的属性数据,而由于媒体文件是通过流化传输方式进行传输,因此媒体处理设备需要向内容制作设备请求所依赖的属性数据对应的数据流(即媒体文件),实现对所依赖的属性数据先解码,通过该跨属性依赖指示信息可以根据需求获取相应的属性数据对应的数据流,实现对点云媒体对应媒体文件的传输指导。
在本申请实施例中,媒体处理设备可以获取点云媒体的媒体文件,所述媒体文件包括所述点云媒体的点云码流和跨属性依赖指示信息,所述跨属性依赖指示信息用于指示所述点云码流中的属性数据之间的编解码依赖关系;按照所述跨属性依赖指示信息,对所述点云码流进行解码以呈现所述点云媒体,在点云媒体的媒体文件中添加跨属性依赖指示信息,用以指示点云码流中的属性数据之间的编解码依赖关系,基于该指示可指导点云媒体的传输、解码及呈现,支持解码端部分传输及部分解码,从而优化网络带宽及解码端的计算资源的利用。
请参阅图4,图4为本申请实施例提供的一种点云媒体的数据处理方法的流程示意图。该方法可由内容制作设备执行,本实施例中所描述的点云媒体的数据处理方法,可以包括以下步骤S401-S403:
S401、获取点云媒体,并对点云媒体进行编码处理,得到点云码流。
其中,对点云媒体进行编码处理的具体实现方式具体可参见前述相应部分的描述,在此不再赘述。
S402、根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息。
其中,该跨属性依赖信息可以表示为跨属性依赖信息数据盒。点云码流中属性之间的编解码依赖关系可包括如下几种:
(1)点云码流中存在两组或两组以上的属性数据之间的编解码依赖关系。例如,在点云码流中存在3组属性数据之间的编解码依赖关系,如3组属性数据分别为属性数据1、属性数据2和属性数据3,属性数据1被属性数据2和属性数据3依赖。此时,该跨属性依赖指示信息可以指示该点云码流中的两组或两组以上属性数据之间的编解码依赖关系。上述跨属性依赖信息数据盒可以包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段。其中,被依赖属性数据数量字段用于指示当前轨道所包含或对应的被其他属性数据依赖的属性数据的组数;或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;被依赖属性数据标识字段用于指示被依赖的属性数据的标识符;依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数;依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符。其中,当前轨道是指正在被编码的轨道,当前样本是指当前轨道中正在被编码的样本;当前属性数据是指所述当前样本中正在被编码的属性数据。
(2)点云码流中存在任意两组属性数据之间的编解码依赖关系,例如,任意两组属性数据为属性数据1和属性数据2,属性数据1被属性数据2依赖。此时,该跨属性依赖指示信息可以指示该点云码流中的任意两组属性数据之间的编解码依赖关系。上述跨属性依赖信息数据盒可以包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;被依赖属性数据数量字段用于指示当前轨道所包含的被依赖的属性数据的组数;或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;依赖属性数据标识字段用于指示任意两组属性数据中依赖的属性数据的标识符;被依赖属性数据标识字段用于指示任意两组属性数据中被依赖的属性数据的标识符。
(3)在点云码流中仅包含第一类型的属性数据和第二类型的属性数据,例如,在点云码流中反射率属性数据被颜色属性数据依赖。此时,跨属性依赖指示信息用于指示第一类型的属性数据与所述第二类型的属性数据之间的编解码依赖关系。上述跨属性依赖信息数据盒可以包含被依赖的属性数据类型字段,根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息可以包括:若第一类型的属性数据被第二类型的属性数据依赖,则将被依赖的属性数据类型字段设置为第一数值(如0);若第二类型的属性数据被第一类型的属性数据依赖,则将被依赖的属性数据类型设置为第二数值(如0)。
S403、对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件。
其中,对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体数据可以包括以下几种实现方式:
(1)将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中保持一致,则可以将跨属性依赖指示信息设置于轨道的样本入口中,形成云媒体的媒体文件。
(2)将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;在轨道中划分跨属性依赖样本群组,跨属性依赖样本群组中包含一个或多个样本,跨属性依赖样本群组中的任一样本均包含或对应的被依赖的属性数据;或者跨属性依赖样本群组中的任一样本均包含或对应的依赖的属性数据;若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中存在变化,则将跨属性依赖指示信息设置于跨属性依赖样本群组的入口中,形成点云媒体的媒体文件。
(3)将点云码流中具备编解码关系的属性数据封装至不同属性组件轨道中,每个属性组件轨道可以包含一个或多个样本,每个样本对应点云媒体中的一个点云帧;每个属性组件轨道中可以包括具备编解码关系的属性数据中的一类属性数据,或者一组属性数据;然后将不同的属性组件轨道之间的关联关系采用轨道组进行表示,形成点云媒体的媒体文件。
其中,该媒体文件可以包含轨道组类型数据盒,该轨道组类型数据盒用于指示点云码流中具备编解码依赖关系的属性数据所属的属性组件轨道;该跨属性依赖信息数据盒设置于轨道组类型数据盒中。
(4)将点云码流中具备编解码关系的属性数据封装至不同属性组件轨道中;然后确定具备所述编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道对应的轨道标识符;在一种实施方式中,轨道标识符可以用于指示具备所述编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道,然后将轨道标识符放入轨道参考类型盒;最后,将轨道参考类型盒设置于具备编解码依赖关系的属性数据中,依赖的属性数据所属的属性组件轨道中,形成点云媒体的媒体文件。其中,若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本在编码时依赖轨道标识符所指示的属性组件轨道中的至少一个样本。
在另一种实施方式中,轨道标识符用于指示具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本被轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;其中,当前属性组件轨道是指正在被解码的属性组件轨道。
(5)可将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;然后将一个样本被划分为一个或多个点云片,每个点云片采用一个子样本表示;接着,将跨属性依赖指示信息设置于子样本中,形成点云媒体的媒体文件。
其中,在对点云码流进行封装时使用子样本信息数据盒(SubSampleInformationBox),那么可将跨属性依赖指示信息设置于子样本信息数据盒中。
在一个实施例中,跨属性依赖指示信息中包含交叉属性依赖标志字段和属性数据标识字段;上述根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息可以包括:若点云码流中的属性数据之间的编解码依赖关系包括当前属性数据在编码时依赖其他属性数据,则将交叉属性依赖标志字段设置为第一预设值;若点云码流中的属性数据之间的编解码依赖关系包括当前属性数据在编码时不依赖其他属性数据,则可以将交叉属性依赖标志字段设置为第二预设值;其中,属性数据标识字段用于指示当前属性数据的标识符,当前属性数据为正在被编码的属性数据。
在一个实施例中,媒体文件还包括组件信息数据盒,组件信息数据盒包含所述轨道中组件的类型;若组件的类型为属性数据,则组件信息数据盒中还包括属性标识字段,属性标识字段用于指示当前属性数据的标识符,当前属性数据是指正在被编码的属性数据。
在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件之后,当媒体文件采用流化传输方式进行传输时,在该传输信令中包含跨属性依赖指示信息,然后通过传输信令传输该点云媒体的媒体文件。其中,传输信令可以是DASH信令或SMT信令。
(1)当传输信令为DASH信令时,跨属性依赖指示信息可以是指DASH信令中的跨属性依赖信息描述子或DASH信令中的依赖标识字段。
在一个实施例中,上述根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息可以包括:根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖信息描述子。
该跨属性依赖信息描述子可以用于指示点云码流中的属性数据之间的编解码依赖关系或者指示点云媒体跨属性编码时不同属性数据之间的依赖关系。其中,该跨属性依赖信息描述子(CrossAttrDependencyInfo descriptor)可以为补充性质(SupplementalProperty)元素,该跨属性依赖信息描述子中的@schemeIdUri属性为"urn:avs:ims:2022:apcc"。该跨属性依赖信息描述子可存在于自适应集(adaptation set)层级,表示(representation)层级、预选(preselection)层级中任意层级中。当跨属性依赖信息描述子存在于自适应集层级中时,跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;当跨属性依赖信息描述子存在于表示层级中时,该跨属性依赖信息描述子用于描述对应表示层级中的表示;当跨属性依赖信息描述子存在于预选层级中时,该跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
跨属性依赖信息描述子包括以下至少一种元素:跨属性依赖信息(CrossAttrDependencyInfo)、被依赖属性数据标识元素(@depended_attr_id)、被依赖的属性数据类型元素(@depended_attr_type)、依赖属性数据标识元素(@depending_attr_id)及依赖属性数据类型元素(depending_attr_type);其中,该跨属性依赖信息元素可以用于指示点云码流在跨属性编码时不同属性数据之间的编解码依赖关系;该被依赖的属性数据标识元素用于指示被依赖的属性数据的标识符;该依赖的属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;该被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;该依赖的属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型。
在另一个实施例中,跨属性依赖指示信息可以是指DASH信令中的依赖标识字段,依赖标识字段用于指示点云码流中的属性数据之间的编解码依赖关系。具体的,在具备编解码依赖关系的属性数据中,依赖标识字段被设置在依赖的属性数据对应的表示中,该依赖标识字段用于指示被依赖的属性数据对应的表示的标识。
(2)当传输信令为SMT信令时,传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符。
上述根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息可以包括:根据点云码流中的属性数据之间的编解码依赖关系,生成资产组描述符。
其中,在具备编解码依赖关系的属性数据中,被设置于依赖的属性数据对应的资产中。该资产组描述符包括依赖标志、依赖数量字段和资产标识字段;该依赖标志被置为第一预设值,依赖数量字段用于指示依赖的属性数据在编码时需要依赖的其他属性数据的组数,资产标识字段用于指示被依赖的属性数据对应的资产标识。
在本申请实施例中,获取点云媒体,并对点云媒体进行编码处理,得到点云码流;根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;对跨属性依赖指示信息和所述点云码流进行封装,得到所述点云媒体的媒体文件,通过生成跨属性依赖指示信息,便于指导对点云码流进行解码。
下面通过两个完整的例子对本申请提供的点云媒体的数据处理方法进行详细说明:
实施例一:在轨道样本入口中包含跨属性依赖信息数据盒(CrossAttrDependencyInfoBox)
1.内容制作设备可以采集点云媒体,并对点云媒体进行编码生成点云码流。
2、在对点云码流进行文件封装时,根据点云码流中不同属性数据在编解码时的编解码依赖关系生成跨属性依赖指示信息;然后,采用单轨方式对点云码和跨属性依赖指示信息进行文件封装,得到媒体文件。
其中,媒体文件包含轨道(track1),该轨道包括几何数据、颜色属性数据、反射率属性数据,该轨道中包括多个样本,每个样本均可以包含几何数据、颜色属性数据、反射率属性数据;该跨属性依赖指示信息(表示为跨属性依赖信息数据盒)用于指示反射率属性数据在编解码时依赖颜色属性数据,且该依赖关系(即反射率属性数据在编解码时依赖颜色属性数据)在所有样本中不变,则可以将跨属性依赖信息数据盒设置在轨道样本入口中。每个样本被划分为一个或多个点云片,每个点云片采用一个子样本表示,该跨属性依赖指示信息还可以设置在于子样本信息数据盒中,最终形成点云媒体的媒体文件,该媒体文件如下:
Track1:
CrossAttrDependencyInfoBox:
{depended_attr_num=1;depended_attr_id=100;depending_attr_num=1;depending_attr_id=200;}
SubsampleInformationBox:
Subsample1{cross_attr_depending_flag=0;attr_id=100;}
Subsample2{cross_attr_depending_flag=1;attr_id=200;}
其中,CrossAttrDependencyInfoBox表示跨属性依赖信息数据盒,在该跨属性依赖信息数据盒中:depended_attr_num=1指示当前轨道或当前样本所包含的被其他属性数据(即标识符200的属性数据)依赖的属性数据(即标识符100的属性数据)的组数为1,depended_attr_id=100指示被其他属性数据依赖的属性数据的标识符为100;depending_attr_num=1表示依赖当前属性数据的其他属性数据的组数为1,depending_attr_id=200表示依赖当前属性数据的其他属性数据的标识符为200;
SubsampleInformationBox表示子样本信息数据盒,在子样本信息数据盒中:针对子样本1,cross_attr_depending_flag=0指示当前属性数据在解码时不依赖其他属性数据,attr_id=100指示当前属性数据的标识符为100,也就说,在子样本1中的当前属性数据可以可以进行独立解码。针对子样本2,cross_attr_depending_flag=1指示当前属性数据在解码时依赖其他属性数据,attr_id=200指示当前属性数据的标识符为200,也就是说子样本2中当前属性数据在解码时依赖其他属性数据(即依赖attr_id=100对应的属性数据)。
应理解的是:这里仅给出某个样本(sample)中的两个子样本的示例,其余样本中的字段类似。
3.内容制作设备可以将媒体文件传输给媒体处理设备。
4.媒体处理设备在接收到媒体文件后,可以从媒体文件包括的轨道样本入口读取CrossAttrDependencyInfoBox信息和SubsampleInformationBox信息,并从CrossAttrDependencyInfoBox和SubsampleInformationBox信息可知:attr_id=200的属性数据在解码时依赖attr_id=100的属性数据;同时媒体文件仅包括一个轨道,说明是以单轨方式封装的点云码流。
5.如果媒体处理设备需要部分解码不同属性数据,可以根据编解码依赖关系(即attr_id=200的属性数据在解码时依赖attr_id=100的属性数据)确定在解析子样本时,先解码样本中attr_id=100对应的子样本,然后解码样本中attr_id=200对应的子样本;
6、媒体处理设备可以对attr_id=100对应的子样本进行解码,得到attr_id=100对应的子样本中的属性数据(即点云媒体),然后再对attr_id=200对应的子样本进行解码,得到attr_id=200对应的子样本中的属性数据(即点云媒体);
7.对解码得到的点云媒体进行渲染处理以呈现点云媒体。
实施例二:在跨属性依赖样本群组中包含CrossAttrDependencyInfoBox
1.内容制作设备可以采集点云媒体,并对点云媒体进行编码生成点云码流。在对点云码流进行文件封装时,根据点云码流中不同属性数据在编解码时的编解码依赖关系生成跨属性依赖指示信息,然后采用多轨方式对点云码流和跨属性依赖指示信息进行文件封装,得到媒体文件。
具体的,点云媒体包括的几何数据、颜色属性数据、反射率属性数据;采用多轨方式对点云码流进行封装时,可以将几何数据、颜色属性数据、反射率属性数据各自封装到一个轨道,即可以得到几何组件轨道(Track1)、颜色属性数据对应的属性组件轨道(Track2)、反射率属性数据对应的属性数据轨道(Track3)。且生成的跨属性依赖指示信息中指示反射率属性数据在样本1~100(sample1~100)在编解码时依赖颜色属性数据;而反射率属性数据在样本101~200(sample101~200)在编码时不依赖颜色属性数据(即可独立解码),则可以将跨属性依赖指示信息设置于在颜色属性数据对应的属性轨道中的跨属性依赖样本群组,并该跨属性依赖指示信息表示为跨属性依赖信息数据盒。然后当具备编解码依赖关系的颜色属性数据和反射率属性数据分别位于不同属性组件轨道时,可以采用轨道标识符关联颜色属性数据对应的属性组件轨道和反射率属性数据对应的属性组件轨道,将该颜色属性数据对应的属性组件轨道的轨道标识设置于颜色属性数据对应的属性组件轨道中的轨道参考类型数据盒,最终形成如下媒体文件:
Track1:几何组件轨道
Track2:属性组件轨道-颜色
CrossAttrDependencyInfoEntry样本群组对应sample1~sample100,且该CrossAttrDependencyInfoEntry中包含的CrossAttrDependencyInfoBox信息如下:
{depended_attr_num=1;depended_attr_id=100;depending_attr_num=1;depending_attr_id=200;}
其中,CrossAttrDependencyInfoEntry样本群组表示跨属性依赖样本群组,在该跨属性依赖样本群组中的sample1~100均是反射率属性数据在编解码时依赖颜色属性数据;在该跨属性依赖样本群组包括跨属性依赖信息数据盒(CrossAttrDependencyInfoBox);depended_attr_num=1表示在当前样本中包含的被其他属性数据(即反射率属性数据)依赖的属性数据(即颜色属性数据)的组数为1,depended_attr_id=100表示被其他属性数据依赖的属性数据的标识符为100;depending_attr_num=1表示依赖当前属性数据的其他属性数据的组数为1,depending_attr_id=200表示依赖当前属性数据的其他属性数据的标识符为200。
Track3:属性组件轨道-反射率
其轨道的TrackReferenceBox中包含类型为‘cadr’的TrackReferenceTypeBox,TrackReferenceTypeBox中的轨道ID为Track2的ID,表示当前轨道(Track3)在解码时依赖Track2。
其中,TrackReferenceBox表示轨道参考数据盒,TrackReferenceTypeBox表示轨道参考类型数据盒,在该轨道参考类型数据盒中包括的轨道标识符为Track2的ID(即轨道2的轨道标识符)。
2.上述媒体文件采用流式传输,可以读取轨道参考类型数据盒中的轨道标识符,确定track2和track3之间的编解码依赖关系,内容制作设备可以通过DASH信令传输点云媒体的媒体文件给媒体处理设备。在信令文件中,可以采用DASH中的依赖标识字段(dependencyId)将track3对应的表示(representation)索引至track2对应的representation。
3.媒体处理设备接收到DASH信令传输的点云媒体的媒体文件,根据DASH信令中指示的编解码依赖关系,可以确定需要解码的属性数据以及需解码的属性数据所依赖的属性数据,经过上述步骤2,媒体处理设备根据DASH信令中指示的编解码依赖关系,得知track2和track3之间存在编解码依赖关系,因此当需要呈现反射率属性数据时,必须同时获取track2对应的representation。
4.在媒体处理设备获取到track2和track3对应的representation后,通过解析跨属性依赖样本群组CrossAttrDependencyInfoEntry中的信息,可以确定在sample1~100中的样本均为反射率属性数据依赖颜色数据处理,而sample101~200中的样本中颜色属性数据和反射率属性数据均可独立解码。
5.根据跨属性依赖信息数据盒中所指示的编解码依赖关系,在对sample1~100进行解码时,先对颜色属性数据对应的属性组件轨道中的sample1~100进行解码,得到颜色属性数据,然后在对反射率属性数据对应的属性组件轨道中的sample1~100进行解码,得到反射率属性数据。在对sample101~200进行解码时,可以根据需求解码相应属性组件轨道中的属性数据。
6.对解码得到的颜色属性数据和反射率属性数据进行渲染,以呈现点云媒体。
本申请实施例中,通过在点云媒体的媒体文件中添加跨属性依赖指示信息,用以指示点云码流中的属性数据之间的编解码依赖关系,基于该指示可指导点云媒体的传输、解码及呈现,支持解码端部分传输及部分解码,从而优化网络带宽及解码端的计算资源的利用。
请参见图5,图5是本申请实施例提供的一种点云媒体的数据处理装置的结构示意图,该点云媒体的数据处理装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述方法实施例中提及的媒体处理设备。图5所示的点云媒体的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该点云媒体的数据处理装置可以用于执行图3所示的方法实施例中的部分或全部步骤。请参见图5,该点云媒体的数据处理装置可以包括如下单元:
获取单元501,用于获取点云媒体的媒体文件,媒体文件包括点云媒体的点云码流和跨属性依赖指示信息,跨属性依赖指示信息用于指示点云码流中的属性数据之间的编解码依赖关系;
处理单元502,用于按照跨属性依赖指示信息,对点云码流进行解码以呈现点云媒体。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
跨属性依赖指示信息设置于轨道的样本入口中,跨属性依赖指示信息还用于指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中保持一致。
在一个实施例中,媒体文件包括轨道,轨道中包含跨属性依赖样本群组,跨属性依赖样本群组中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据;或者,跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;
跨属性依赖指示信息设置于跨属性依赖样本群组的入口中,跨属性依赖指示信息还用于指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中存在变化。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中的两组或两组以上属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;被依赖属性数据标识字段用于指示被依赖的属性数据的标识符;依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数;依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符;
其中,当前轨道是指媒体文件中正在被解码的轨道,当前样本是指当前轨道中正在被解码的样本;当前属性数据是指当前样本中正在被解码的属性数据。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中任意两组属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;依赖属性数据标识字段用于指示任意两组属性数据中依赖的属性数据的标识符;被依赖属性数据标识字段用于指示任意两组属性数据中被依赖的属性数据的标识符;
其中,当前轨道是指媒体文件中正在被解码的轨道,当前样本是指当前轨道中正在被解码的样本。
在一个实施例中,点云码流中仅包含第一类型的属性数据和第二类型的属性数据;跨属性依赖指示信息用于指示第一类型的属性数据与第二类型的属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖的属性数据类型字段;
若被依赖的属性数据类型字段为第一数值,则表示第一类型的属性数据被第二类型的属性数据依赖;
若被依赖的属性数据类型字段为第二数值,则表示第二类型的属性数据被第一类型的属性数据依赖。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属组件轨道;
不同的属性组件轨道之间的关联关系采用轨道组进行表示。
在一个实施例中,媒体文件包含轨道组类型数据盒,轨道组类型数据盒用于指示点云码流中具备编解码依赖关系的属性数据所属的属性组件轨道;
跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒设置于轨道组类型数据盒中。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;
媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符,轨道标识符用于指示具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道;
轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本在解码时依赖轨道标识符所指示的属性组件轨道中的至少一个样本;
其中,当前属性组件轨道是指正在被解码的属性组件轨道。
在一个实施例中,轨道标识符用于指示具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本被轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;
其中,当前属性组件轨道是指正在被解码的属性组件轨道。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
一个样本被划分为一个或多个点云片,每个点云片采用一个子样本表示;
跨属性依赖指示信息设置于子样本信息数据盒中。
在一个实施例中,跨属性依赖指示信息包含交叉属性依赖标志字段和属性数据标识字段;
若交叉属性依赖标志字段为第一预设值,则指示当前属性数据在解码时依赖其他属性数据;
若交叉属性依赖标志字段为第二预设值,则指示当前属性数据在解码时不依赖其他属性数据;
属性数据标识字段用于指示当前属性数据的标识符;
其中,当前属性数据是指正在被解码的子样本中的属性数据。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
媒体文件还包括组件信息数据盒,组件信息数据盒包含轨道中组件的类型;若组件的类型为属性数据,则组件信息数据盒中还包括属性标识字段,属性标识字段用于指示当前属性数据的标识符,当前属性数据是指正在被解码的属性数据。
在一个实施例中,点云媒体采用流化传输方式进行传输;获取单元501在获取点云媒体的媒体文件时,可具体用于:
获取点云媒体的传输信令,传输信令中包含跨属性依赖指示信息;
根据传输信令获取点云媒体的媒体文件。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子;
当跨属性依赖信息描述子存在于自适应集层级中时,跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;
当跨属性依赖信息描述子存在于表示层级中时,跨属性依赖信息描述子用于描述对应表示层级中的表示;
当跨属性依赖信息描述子存在于预选层级中时,跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
在一个实施例中,跨属性依赖信息描述子包括以下至少一种元素:被依赖属性数据标识元素、被依赖的属性数据类型元素、依赖属性数据标识元素及依赖属性数据类型元素;
被依赖属性数据标识元素用于指示被依赖的属性数据的标识符;被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;依赖属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;依赖属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型;
其中,当前属性数据是指正在被解码的属性数据。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的依赖标识字段;
在具备编解码依赖关系的属性数据中,依赖标识字段设置在依赖的属性数据对应的表示中,依赖标识字段用于指示被依赖的属性数据对应的表示的标识。
在一个实施例中,传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符;
在具备编解码依赖关系的属性数据中,资产组描述符设置于依赖的属性数据对应的资产中,资产组描述符包括依赖标志、依赖数量字段和资产标识字段;
依赖标志被置为第一预设值;依赖数量字段用于指示依赖的属性数据在解码时需要依赖的其他属性数据的组数;资产标识字段用于指示被依赖的属性数据对应的资产标识。
在一个实施例中,处理单元502在按照跨属性依赖指示信息,对点云码流进行解码时,可具体用于:
根据跨属性依赖指示信息所指示的编解码依赖关系,确定当前属性数据所依赖的属性数据;
对当前属性数据所依赖的属性数据进行解码处理;
在对当前属性数据所依赖的属性数据解码之后,对当前属性数据进行解码处理。
在本申请实施例中,获取点云媒体的媒体文件,媒体文件包括点云媒体的点云码流和跨属性依赖指示信息,跨属性依赖指示信息用于指示点云码流中的属性数据之间的编解码依赖关系;按照跨属性依赖指示信息,对点云码流进行解码以呈现点云媒体,实现指导点云媒体的传输、解码及呈现,支持解码端部分传输及部分解码,从而优化网络带宽及解码端的计算资源的利用。
请参见图6,图6是本申请实施例提供的一种点云媒体的数据处理装置的结构示意图,该点云媒体的数据处理装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述方法实施例中提及的内容制作设备。图6所示的点云媒体的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该点云媒体的数据处理装置可以用于执行图4所示的方法实施例中的部分或全部步骤。请参见图6,该点云媒体的数据处理装置可以包括如下单元:
获取单元601,用于获取点云媒体;
处理单元602,用于对点云媒体进行编码处理,得到点云码流;
处理单元602,还用于根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;
处理单元602,还用于对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件。
在一个实施例中,处理单元602在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中保持一致,则将跨属性依赖指示信息设置于轨道的样本入口中,形成点云媒体的媒体文件。
在一个实施例中,处理单元602在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
在轨道中划分跨属性依赖样本群组,跨属性依赖样本群组中包含一个或多个样本,跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据;或者,跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;
若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中存在变化,则将跨属性依赖指示信息设置于跨属性依赖样本群组的入口中,形成点云媒体的媒体文件。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中的两组或两组以上属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;被依赖属性数据标识字段用于指示被依赖的属性数据的标识符;依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数;依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符;
其中,当前轨道是指媒体文件中正在被编码的轨道,当前样本是指当前轨道中正在被编码的样本;当前属性数据是指当前样本中正在被编码的属性数据。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中任意两组属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;依赖属性数据标识字段用于指示任意两组属性数据中依赖的属性数据的标识符;被依赖属性数据标识字段用于指示任意两组属性数据中被依赖的属性数据的标识符;
其中,当前轨道是指媒体文件中正在被编码的轨道,当前样本是指当前轨道中正在被编码的样本。
在一个实施例中,点云码流中仅包含第一类型的属性数据和第二类型的属性数据;跨属性依赖指示信息用于指示第一类型的属性数据与第二类型的属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖的属性数据类型字段;处理单元602在根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息时,可具体用于:
若第一类型的属性数据被第二类型的属性数据依赖,则将被依赖的属性数据类型字段设置为第一数值;
若第二类型的属性数据被第一类型的属性数据依赖,则将被依赖的属性数据类型字段设置为第二数值。
在一个实施例中,处理单元602在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
对点云码流进行封装,得到一个或多个属性组件轨道;点云码流中具备编解码依赖关系的属性数据位于不同的属组件轨道;
采用轨道组表示不同的属性组件轨道之间的关联关系,形成点云媒体的媒体文件。
在一个实施例中,媒体文件包含轨道组类型数据盒,轨道组类型数据盒用于指示点云码流中具备编解码依赖关系的属性数据所属的属性组件轨道;
跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒设置于轨道组类型数据盒中。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;
媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符,轨道标识符用于指示具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道;
轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道中。
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本在编码时依赖轨道标识符所指示的属性组件轨道中的至少一个样本;其中,当前属性组件轨道是指正在被编码的属性组件轨道。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符;
轨道标识符用于指示具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本被轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;
其中,当前属性组件轨道是指正在被编码的属性组件轨道。
在一个实施例中,处理单元602在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
将每个样本划分为一个或多个点云片,每个点云片采用一个子样本表示;
将跨属性依赖指示信息设置于子样本信息数据盒中,形成点云媒体的媒体文件。
在一个实施例中,跨属性依赖指示信息包含交叉属性依赖标志字段和属性数据标识字段;处理单元602在将跨属性依赖指示信息设置于子样本信息数据盒中,时,可具体用于:
若当前属性数据在编码时依赖其他属性数据,则将交叉属性依赖标志字段为第一预设值;
若当前属性数据在编码时不依赖其他属性数据,则将交叉属性依赖标志字段设置为第二预设值;
属性数据标识字段用于指示当前属性数据的标识符;
其中,当前属性数据是指正在被编码的子样本中的属性数据。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
媒体文件还包括组件信息数据盒,组件信息数据盒包含轨道中组件的类型;若组件的类型为属性数据,则组件信息数据盒中还包括属性标识字段,属性标识字段用于指示当前属性数据的标识符,当前属性数据是指正在被解码的属性数据。
在一个实施例中,点云媒体采用流化传输方式进行传输;处理单元602还用于:
基于传输信令传输点云媒体的媒体文件,传输信令中包含跨属性依赖指示信息。
在一个实施例中,传输信令为DASH信令,
跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子或DASH信令中的依赖标识字段;或者,
传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子;
当跨属性依赖信息描述子存在于自适应集层级中时,跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;
当跨属性依赖信息描述子存在于表示层级中时,跨属性依赖信息描述子用于描述对应表示层级中的表示;
当跨属性依赖信息描述子存在于预选层级中时,跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
在一个实施例中,跨属性依赖信息描述子包括以下至少一种元素:被依赖属性数据标识元素、被依赖的属性数据类型元素、依赖属性数据标识元素及依赖属性数据类型元素;
被依赖属性数据标识元素用于指示被依赖的属性数据的标识符;被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;依赖属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;依赖属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型;
其中,当前属性数据是指正在被编码的属性数据。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的依赖标识字段;
在具备编解码依赖关系的属性数据中,依赖标识字段设置在依赖的属性数据对应的表示中,依赖标识字段用于指示被依赖的属性数据对应的表示的标识。
在一个实施例中,传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符;
在具备编解码依赖关系的属性数据中,资产组描述符设置于依赖的属性数据对应的资产中,资产组描述符包括依赖标志、依赖数量字段和资产标识字段;
依赖标志被置为第一预设值;依赖数量字段用于指示依赖的属性数据在解码时需要依赖的其他属性数据的组数;资产标识字段用于指示被依赖的属性数据对应的资产标识。
在本申请实施例中,获取点云媒体,并对点云媒体进行编码处理,得到点云码流;根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;对跨属性依赖指示信息和所述点云码流进行封装,得到所述点云媒体的媒体文件,通过生成跨属性依赖指示信息,便于指导对点云码流进行解码。
进一步地,本申请实施例还提供了一种计算机设备的结构示意图,该计算机设备的结构示意图可参见图7;该计算机设备可以是上述媒体处理设备或者内容制作设备;该计算机设备可以包括:处理器701、输入设备702,输出设备703和存储器704。上述处理器701、输入设备702、输出设备703和存储器704通过总线连接。存储器704用于存储计算机程序,计算机程序包括程序指令,处理器701用于执行存储器704存储的程序指令。
当计算机设备为上述媒体处理设备时,在本申请实施例中,处理器701通过运行存储器704中的可执行程序代码,执行如下操作:
获取点云媒体的媒体文件,所述媒体文件包括所述点云媒体的点云码流和跨属性依赖指示信息,所述跨属性依赖指示信息用于指示所述点云码流中的属性数据之间的编解码依赖关系;
按照所述跨属性依赖指示信息,对所述点云码流进行解码以呈现所述点云媒体。
在一个实施例中,所述媒体文件包括轨道,所述轨道中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;
所述跨属性依赖指示信息设置于所述轨道的样本入口中,所述跨属性依赖指示信息还用于指示所述点云码流中的属性数据之间的编解码依赖关系在所述轨道的所有样本中保持一致。
在一个实施例中,所述媒体文件包括轨道,所述轨道中包含跨属性依赖样本群组,所述跨属性依赖样本群组中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;所述跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据;或者,所述跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;
所述跨属性依赖指示信息设置于所述跨属性依赖样本群组的入口中,所述跨属性依赖指示信息还用于指示所述点云码流中的属性数据之间的编解码依赖关系在所述轨道的所有样本中存在变化。
在一个实施例中,所述跨属性依赖指示信息用于指示所述点云码流中的两组或两组以上属性数据之间的编解码依赖关系;所述跨属性依赖指示信息表示为跨属性依赖信息数据盒,所述跨属性依赖信息数据盒包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段;
所述被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,所述被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;所述被依赖属性数据标识字段用于指示被依赖的属性数据的标识符;所述依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数;所述依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符;
其中,所述当前轨道是指所述媒体文件中正在被解码的轨道,所述当前样本是指所述当前轨道中正在被解码的样本;所述当前属性数据是指所述当前样本中正在被解码的属性数据。
在一个实施例中,所述跨属性依赖指示信息用于指示所述点云码流中任意两组属性数据之间的编解码依赖关系;所述跨属性依赖指示信息表示为跨属性依赖信息数据盒,所述跨属性依赖信息数据盒包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;
所述被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,所述被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;所述依赖属性数据标识字段用于指示所述任意两组属性数据中依赖的属性数据的标识符;所述被依赖属性数据标识字段用于指示所述任意两组属性数据中被依赖的属性数据的标识符;
其中,所述当前轨道是指所述媒体文件中正在被解码的轨道,所述当前样本是指所述当前轨道中正在被解码的样本。
在一个实施例中,所述点云码流中仅包含第一类型的属性数据和第二类型的属性数据;所述跨属性依赖指示信息用于指示所述第一类型的属性数据与所述第二类型的属性数据之间的编解码依赖关系;所述跨属性依赖指示信息表示为跨属性依赖信息数据盒,所述跨属性依赖信息数据盒包含被依赖的属性数据类型字段;
若所述被依赖的属性数据类型字段为第一数值,则表示第一类型的属性数据被第二类型的属性数据依赖;
若所述被依赖的属性数据类型字段为第二数值,则表示第二类型的属性数据被第一类型的属性数据依赖。
在一个实施例中,所述媒体文件包括一个或多个属性组件轨道,所述点云码流中具备所述编解码依赖关系的属性数据位于不同的属组件轨道;
所述不同的属性组件轨道之间的关联关系采用轨道组进行表示。
在一个实施例中,所述媒体文件包含轨道组类型数据盒,所述轨道组类型数据盒用于指示所述点云码流中具备所述编解码依赖关系的属性数据所属的属性组件轨道;
所述跨属性依赖指示信息表示为跨属性依赖信息数据盒,所述跨属性依赖信息数据盒设置于所述轨道组类型数据盒中。
在一个实施例中,所述媒体文件包括一个或多个属性组件轨道,所述点云码流中具备所述编解码依赖关系的属性数据位于不同的属性组件轨道;所述媒体文件包含轨道参考类型数据盒,所述轨道参考类型盒中包括轨道标识符;
所述轨道标识符用于指示具备所述编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道;所述轨道参考类型数据盒设置于具备所述编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则所述当前属性组件轨道中的至少一个样本在解码时依赖所述轨道标识符所指示的属性组件轨道中的至少一个样本;
其中,所述当前属性组件轨道是指正在被解码的属性组件轨道。
在一个实施例中,所述媒体文件包括一个或多个属性组件轨道,所述点云码流中具备所述编解码依赖关系的属性数据位于不同的属性组件轨道;所述媒体文件包含轨道参考类型数据盒,所述轨道参考类型盒中包括轨道标识符;
所述轨道标识符用于指示具备所述编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;所述轨道参考类型数据盒设置于具备所述编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则所述当前属性组件轨道中的至少一个样本被所述轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;
其中,所述当前属性组件轨道是指正在被解码的属性组件轨道。
在一个实施例中,所述媒体文件包括轨道,所述轨道中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;
一个样本被划分为一个或多个点云片,每个点云片采用一个子样本表示;
所述跨属性依赖指示信息设置于子样本信息数据盒中。
在一个实施例中,所述跨属性依赖指示信息包含交叉属性依赖标志字段和属性数据标识字段;
若所述交叉属性依赖标志字段为第一预设值,则指示当前属性数据在解码时依赖其他属性数据;
若所述交叉属性依赖标志字段为第二预设值,则指示当前属性数据在解码时不依赖其他属性数据;
所述属性数据标识字段用于指示当前属性数据的标识符;
其中,所述当前属性数据是指正在被解码的子样本中的属性数据。
在一个实施例中,所述媒体文件包括轨道,所述轨道中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;
所述媒体文件还包括组件信息数据盒,所述组件信息数据盒包含所述轨道中组件的类型;若所述组件的类型为属性数据,则所述组件信息数据盒中还包括属性标识字段,所述属性标识字段用于指示当前属性数据的标识符,所述当前属性数据是指正在被解码的属性数据。
在一个实施例中,所述点云媒体采用流化传输方式进行传输;所述处理器701在获取点云媒体的媒体文件时,可具体用于:
获取所述点云媒体的传输信令,所述传输信令中包含所述跨属性依赖指示信息;
根据所述传输信令获取所述点云媒体的媒体文件。
在一个实施例中,所述传输信令为DASH信令,所述跨属性依赖指示信息是指所述DASH信令中的跨属性依赖信息描述子;
当所述跨属性依赖信息描述子存在于自适应集层级中时,所述跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;
当所述跨属性依赖信息描述子存在于表示层级中时,所述跨属性依赖信息描述子用于描述对应表示层级中的表示;
当所述跨属性依赖信息描述子存在于预选层级中时,所述跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
在一个实施例中,所述跨属性依赖信息描述子包括以下至少一种元素:被依赖属性数据标识元素、被依赖的属性数据类型元素、依赖属性数据标识元素及依赖属性数据类型元素;
所述被依赖属性数据标识元素用于指示被依赖的属性数据的标识符;所述被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;所述依赖属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;所述依赖属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型;
其中,所述当前属性数据是指正在被解码的属性数据。
在一个实施例中,所述传输信令为DASH信令,所述跨属性依赖指示信息是指所述DASH信令中的依赖标识字段;
在具备所述编解码依赖关系的属性数据中,所述依赖标识字段设置在依赖的属性数据对应的表示中,所述依赖标识字段用于指示被依赖的属性数据对应的表示的标识。
在一个实施例中,所述传输信令为SMT信令,所述跨属性依赖指示信息是指所述STM信令中的资产组描述符;
在具备所述编解码依赖关系的属性数据中,所述资产组描述符设置于依赖的属性数据对应的资产中,所述资产组描述符包括依赖标志、依赖数量字段和资产标识字段;
所述依赖标志被置为第一预设值;所述依赖数量字段用于指示所述依赖的属性数据在解码时需要依赖的其他属性数据的组数;所述资产标识字段用于指示被依赖的属性数据对应的资产标识。
在一个实施例中,所述处理器701在按照所述跨属性依赖指示信息,对所述点云码流进行解码时,可具体用于:
根据所述跨属性依赖指示信息所指示的编解码依赖关系,确定当前属性数据所依赖的属性数据;
对所述当前属性数据所依赖的属性数据进行解码处理;
在对所述当前属性数据所依赖的属性数据解码之后,对所述当前属性数据进行解码处理。
在本申请实施例中,获取点云媒体的媒体文件,媒体文件包括点云媒体的点云码流和跨属性依赖指示信息,跨属性依赖指示信息用于指示点云码流中的属性数据之间的编解码依赖关系;按照跨属性依赖指示信息,对点云码流进行解码以呈现点云媒体,实现指导点云媒体的传输、解码及呈现,支持解码端部分传输及部分解码,从而优化网络带宽及解码端的计算资源的利用。
可选地,当计算机设备为上述内容制作设备时,在本申请实施例中,处理器701通过运行存储器704中的可执行程序代码,执行如下操作:
获取点云媒体,并对点云媒体进行编码处理,得到点云码流;
根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;
对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件。
在一个实施例中,处理器701在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中保持一致,则将跨属性依赖指示信息设置于轨道的样本入口中,形成点云媒体的媒体文件。
在一个实施例中,处理器701在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
在轨道中划分跨属性依赖样本群组,跨属性依赖样本群组中包含一个或多个样本,跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据,或者,跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;
若跨属性依赖指示信息指示点云码流中的属性数据之间的编解码依赖关系在轨道的所有样本中存在变化,则将跨属性依赖指示信息设置于跨属性依赖样本群组的入口中,形成点云媒体的媒体文件。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中的两组或两组以上属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数;或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;被依赖属性数据标识字段用于指示被依赖的属性数据的标识符;依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数;依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符;
其中,当前轨道是指媒体文件中正在被编码的轨道,当前样本是指当前轨道中正在被编码的样本;当前属性数据是指当前样本中正在被编码的属性数据。
在一个实施例中,跨属性依赖指示信息用于指示点云码流中任意两组属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;
被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数;或者,被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;依赖属性数据标识字段用于指示任意两组属性数据中依赖的属性数据的标识符;被依赖属性数据标识字段用于指示任意两组属性数据中被依赖的属性数据的标识符;
其中,当前轨道是指媒体文件中正在被编码的轨道,当前样本是指当前轨道中正在被编码的样本。
在一个实施例中,点云码流中仅包含第一类型的属性数据和第二类型的属性数据;跨属性依赖指示信息用于指示第一类型的属性数据与第二类型的属性数据之间的编解码依赖关系;跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒包含被依赖的属性数据类型字段;处理器701在根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息时,可具体用于:
若第一类型的属性数据被第二类型的属性数据依赖,则将被依赖的属性数据类型字段设置为第一数值;
若第二类型的属性数据被第一类型的属性数据依赖,则将被依赖的属性数据类型字段设置为第二数值。
在一个实施例中,处理器701在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
对点云码流进行封装,得到一个或多个属性组件轨道;点云码流中具备编解码依赖关系的属性数据位于不同的属组件轨道;
采用轨道组表示不同的属性组件轨道之间的关联关系,形成点云媒体的媒体文件。
在一个实施例中,媒体文件包含轨道组类型数据盒,轨道组类型数据盒用于指示点云码流中具备编解码依赖关系的属性数据所属的属性组件轨道;
跨属性依赖指示信息表示为跨属性依赖信息数据盒,跨属性依赖信息数据盒设置于轨道组类型数据盒中。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;
媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符,轨道标识符用于指示具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道;
轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本在编码时依赖轨道标识符所指示的属性组件轨道中的至少一个样本;其中,当前属性组件轨道是指正在被编码的属性组件轨道。
在一个实施例中,媒体文件包括一个或多个属性组件轨道,点云码流中具备编解码依赖关系的属性数据位于不同的属性组件轨道;
媒体文件包含轨道参考类型数据盒,轨道参考类型盒中包括轨道标识符,轨道标识符用于指示具备编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;
轨道参考类型数据盒设置于具备编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则当前属性组件轨道中的至少一个样本在编码时被轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;其中,当前属性组件轨道是指正在被编码的属性组件轨道。
在一个实施例中,处理器701在对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件时,可具体用于:
将点云码流封装至轨道中,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
将每个样本划分为一个或多个点云片,每个点云片采用一个子样本表示;
将跨属性依赖指示信息设置于子样本信息数据盒中,形成点云媒体的媒体文件。
在一个实施例中,跨属性依赖指示信息包含交叉属性依赖标志字段和属性数据标识字段;处理器701在将跨属性依赖指示信息设置于子样本信息数据盒中时,可具体用于:
若当前属性数据在编码时依赖其他属性数据,则将交叉属性依赖标志字段为第一预设值;
若当前属性数据在解码时不依赖其他属性数据,则将交叉属性依赖标志字段设置为第二预设值;
其中,属性数据标识字段用于指示当前属性数据的标识符;当前属性数据是指正在被编码的子样本中的属性数据。
在一个实施例中,媒体文件包括轨道,轨道中包含一个或多个样本,一个样本对应点云媒体中的一个点云帧;
媒体文件还包括组件信息数据盒,组件信息数据盒包含轨道中组件的类型;若组件的类型为属性数据,则组件信息数据盒中还包括属性标识字段,属性标识字段用于指示当前属性数据的标识符,当前属性数据是指正在被解码的属性数据。
在一个实施例中,点云媒体采用流化传输方式进行传输;处理器701还用于:
基于传输信令传输点云媒体的媒体文件,传输信令中包含跨属性依赖指示信息。
在一个实施例中,传输信令为DASH信令,
跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子或DASH信令中的依赖标识字段;或者,
传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的跨属性依赖信息描述子;
当跨属性依赖信息描述子存在于自适应集层级中时,跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;
当跨属性依赖信息描述子存在于表示层级中时,跨属性依赖信息描述子用于描述对应表示层级中的表示;
当跨属性依赖信息描述子存在于预选层级中时,跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
在一个实施例中,跨属性依赖信息描述子包括以下至少一种元素:被依赖属性数据标识元素、被依赖的属性数据类型元素、依赖属性数据标识元素及依赖属性数据类型元素;
被依赖属性数据标识元素用于指示被依赖的属性数据的标识符;被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;依赖属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;依赖属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型;
其中,当前属性数据是指正在被编码的属性数据。
在一个实施例中,传输信令为DASH信令,跨属性依赖指示信息是指DASH信令中的依赖标识字段;
在具备编解码依赖关系的属性数据中,依赖标识字段设置在依赖的属性数据对应的表示中,依赖标识字段用于指示被依赖的属性数据对应的表示的标识。
在一个实施例中,传输信令为SMT信令,跨属性依赖指示信息是指STM信令中的资产组描述符;
在具备编解码依赖关系的属性数据中,资产组描述符设置于依赖的属性数据对应的资产中,资产组描述符包括依赖标志、依赖数量字段和资产标识字段;
依赖标志被置为第一预设值;依赖数量字段用于指示依赖的属性数据在解码时需要依赖的其他属性数据的组数;资产标识字段用于指示被依赖的属性数据对应的资产标识。
在本申请实施例中,获取点云媒体,并对点云媒体进行编码处理,得到点云码流;根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;对跨属性依赖指示信息和所述点云码流进行封装,得到所述点云媒体的媒体文件,通过生成跨属性依赖指示信息,便于指导对点云码流进行解码。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有计算机程序,且该计算机程序包括程序指令,当处理器执行上述程序指令时,能够执行前文图3和图4所对应实施例中的方法,因此,这里将不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可以被部署在一个计算机设备上,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备可以执行前文图3和图4所对应实施例中的方法,因此,这里将不再进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (28)
1.一种点云媒体的数据处理方法,其特征在于,包括:
获取点云媒体的媒体文件,所述媒体文件包括所述点云媒体的点云码流和跨属性依赖指示信息,所述跨属性依赖指示信息用于指示所述点云码流中的属性数据之间的编解码依赖关系;
按照所述跨属性依赖指示信息,对所述点云码流进行解码以呈现所述点云媒体。
2.如权利要求1所述的方法,其特征在于,所述媒体文件包括轨道,所述轨道中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;
所述跨属性依赖指示信息设置于所述轨道的样本入口中,所述跨属性依赖指示信息还用于指示所述点云码流中的属性数据之间的编解码依赖关系在所述轨道的所有样本中保持一致。
3.如权利要求1所述的方法,其特征在于,所述媒体文件包括轨道,所述轨道中包含跨属性依赖样本群组,所述跨属性依赖样本群组中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;所述跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据;或者,所述跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;
所述跨属性依赖指示信息设置于所述跨属性依赖样本群组的入口中,所述跨属性依赖指示信息还用于指示所述点云码流中的属性数据之间的编解码依赖关系在所述轨道的所有样本中存在变化。
4.如权利要求1-3任一项所述的方法,其特征在于,所述跨属性依赖指示信息用于指示所述点云码流中的两组或两组以上属性数据之间的编解码依赖关系;所述跨属性依赖指示信息表示为跨属性依赖信息数据盒,所述跨属性依赖信息数据盒包含以下至少一个字段:被依赖属性数据数量字段、被依赖属性数据标识字段、依赖属性数据数量字段及依赖属性数据标识字段;
所述被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,所述被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;所述被依赖属性数据标识字段用于指示被依赖的属性数据的标识符;所述依赖属性数据数量字段用于指示依赖当前属性数据的其他属性数据的组数;所述依赖属性数据标识字段用于指示依赖当前属性数据的其他属性数据的标识符;
其中,所述当前轨道是指所述媒体文件中正在被解码的轨道,所述当前样本是指所述当前轨道中正在被解码的样本;所述当前属性数据是指所述当前样本中正在被解码的属性数据。
5.如权利要求1-3任一项所述的方法,其特征在于,所述跨属性依赖指示信息用于指示所述点云码流中任意两组属性数据之间的编解码依赖关系;所述跨属性依赖指示信息表示为跨属性依赖信息数据盒,所述跨属性依赖信息数据盒包含被依赖属性数据数量字段、依赖属性数据标识字段和被依赖属性数据标识字段;
所述被依赖属性数据数量字段用于指示当前轨道所包含或对应的被依赖的属性数据的组数,或者,所述被依赖属性数据数量字段用于指示当前样本所包含或对应的被依赖的属性数据的组数;所述依赖属性数据标识字段用于指示所述任意两组属性数据中依赖的属性数据的标识符;所述被依赖属性数据标识字段用于指示所述任意两组属性数据中被依赖的属性数据的标识符;
其中,所述当前轨道是指所述媒体文件中正在被解码的轨道,所述当前样本是指所述当前轨道中正在被解码的样本。
6.如权利要求1-3任一项所述的方法,其特征在于,所述点云码流中仅包含第一类型的属性数据和第二类型的属性数据;所述跨属性依赖指示信息用于指示所述第一类型的属性数据与所述第二类型的属性数据之间的编解码依赖关系;所述跨属性依赖指示信息表示为跨属性依赖信息数据盒,所述跨属性依赖信息数据盒包含被依赖的属性数据类型字段;
若所述被依赖的属性数据类型字段为第一数值,则表示所述第一类型的属性数据被所述第二类型的属性数据依赖;
若所述被依赖的属性数据类型字段为第二数值,则表示所述第二类型的属性数据被所述第一类型的属性数据依赖。
7.如权利要求1-3任一项所述的方法,其特征在于,所述媒体文件包括一个或多个属性组件轨道,所述点云码流中具备所述编解码依赖关系的属性数据位于不同的属组件轨道;
所述不同的属性组件轨道之间的关联关系采用轨道组进行表示。
8.如权利要求7所述的方法,其特征在于,所述媒体文件包含轨道组类型数据盒,所述轨道组类型数据盒用于指示所述点云码流中具备所述编解码依赖关系的属性数据所属的属性组件轨道;
所述跨属性依赖指示信息表示为跨属性依赖信息数据盒,所述跨属性依赖信息数据盒设置于所述轨道组类型数据盒中。
9.如权利要求1所述的方法,其特征在于,所述媒体文件包括一个或多个属性组件轨道,所述点云码流中具备所述编解码依赖关系的属性数据位于不同的属性组件轨道;所述媒体文件包含轨道参考类型数据盒,所述轨道参考类型盒中包括轨道标识符;
所述轨道标识符用于指示具备所述编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道;所述轨道参考类型数据盒设置于具备所述编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则所述当前属性组件轨道中的至少一个样本在解码时依赖所述轨道标识符所指示的属性组件轨道中的至少一个样本;
其中,所述当前属性组件轨道是指正在被解码的属性组件轨道。
10.如权利要求1所述的方法,其特征在于,所述媒体文件包括一个或多个属性组件轨道,所述点云码流中具备所述编解码依赖关系的属性数据位于不同的属性组件轨道;所述媒体文件包含轨道参考类型数据盒,所述轨道参考类型盒中包括轨道标识符;
所述轨道标识符用于指示具备所述编解码依赖关系的属性数据中依赖的属性数据所属的属性组件轨道;所述轨道参考类型数据盒设置于具备所述编解码依赖关系的属性数据中被依赖的属性数据所属的属性组件轨道中;
若当前属性组件轨道包含轨道标识符,则所述当前属性组件轨道中的至少一个样本被所述轨道标识符所指示的属性组件轨道中的至少一个样本所依赖;
其中,所述当前属性组件轨道是指正在被解码的属性组件轨道。
11.如权利要求1所述的方法,其特征在于,所述媒体文件包括轨道,所述轨道中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;
一个样本被划分为一个或多个点云片,每个点云片采用一个子样本表示;
所述跨属性依赖指示信息设置于子样本信息数据盒中。
12.如权利要求11所述的方法,其特征在于,所述跨属性依赖指示信息包含交叉属性依赖标志字段和属性数据标识字段;
若所述交叉属性依赖标志字段为第一预设值,则指示当前属性数据在解码时依赖其他属性数据;
若所述交叉属性依赖标志字段为第二预设值,则指示当前属性数据在解码时不依赖其他属性数据;
所述属性数据标识字段用于指示当前属性数据的标识符;
其中,所述当前属性数据是指正在被解码的子样本中的属性数据。
13.如权利要求1所述的方法,其特征在于,所述媒体文件包括轨道,所述轨道中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;
所述媒体文件还包括组件信息数据盒,所述组件信息数据盒包含所述轨道中组件的类型;若所述组件的类型为属性数据,则所述组件信息数据盒中还包括属性标识字段,所述属性标识字段用于指示当前属性数据的标识符,所述当前属性数据是指正在被解码的属性数据。
14.如权利要求1所述的方法,其特征在于,所述点云媒体采用流化传输方式进行传输;所述获取点云媒体的媒体文件,包括:
获取所述点云媒体的传输信令,所述传输信令中包含所述跨属性依赖指示信息;
根据所述传输信令获取所述点云媒体的媒体文件。
15.如权利要求14所述的方法,其特征在于,所述传输信令为动态自适应流信令,所述跨属性依赖指示信息是指所述动态自适应流信令中的跨属性依赖信息描述子;
当所述跨属性依赖信息描述子存在于自适应集层级中时,所述跨属性依赖信息描述子用于描述自适应集层级中的所有的表示;
当所述跨属性依赖信息描述子存在于表示层级中时,所述跨属性依赖信息描述子用于描述对应表示层级中的表示;
当所述跨属性依赖信息描述子存在于预选层级中时,所述跨属性依赖信息描述子用于描述预选层级对应的点云媒体。
16.如权利要求15所述的方法,其特征在于,所述跨属性依赖信息描述子包括以下至少一种元素:被依赖属性数据标识元素、被依赖的属性数据类型元素、依赖属性数据标识元素及依赖属性数据类型元素;
所述被依赖属性数据标识元素用于指示被依赖的属性数据的标识符;所述被依赖的属性数据类型元素用于指示被依赖的属性数据的类型;所述依赖属性数据标识元素用于指示依赖当前属性数据的其他属性数据的标识符;所述依赖属性数据类型元素用于指示依赖当前属性数据的其他属性数据的类型;
其中,所述当前属性数据是指正在被解码的属性数据。
17.如权利要求14所述的方法,其特征在于,所述传输信令为动态自适应流信令,所述跨属性依赖指示信息是指所述动态自适应流信令中的依赖标识字段;
在具备所述编解码依赖关系的属性数据中,所述依赖标识字段设置在依赖的属性数据对应的表示中,所述依赖标识字段用于指示被依赖的属性数据对应的表示的标识。
18.如权利要求14所述的方法,其特征在于,所述传输信令为智能媒体传输信令,所述跨属性依赖指示信息是指所述智能媒体传输信令中的资产组描述符;
在具备所述编解码依赖关系的属性数据中,所述资产组描述符设置于依赖的属性数据对应的资产中,所述资产组描述符包括依赖标志、依赖数量字段和资产标识字段;
所述依赖标志被置为第一预设值;所述依赖数量字段用于指示所述依赖的属性数据在解码时需要依赖的其他属性数据的组数;所述资产标识字段用于指示被依赖的属性数据对应的资产标识。
19.如权利要求1所述的方法,其特征在于,所述按照所述跨属性依赖指示信息,对所述点云码流进行解码,包括:
根据所述跨属性依赖指示信息所指示的编解码依赖关系,确定当前属性数据所依赖的属性数据;
对所述当前属性数据所依赖的属性数据进行解码处理;
在对所述当前属性数据所依赖的属性数据解码之后,对所述当前属性数据进行解码处理。
20.一种点云媒体的数据处理方法,其特征在于,包括:
获取点云媒体,并对所述点云媒体进行编码处理,得到点云码流;
根据所述点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;
对所述跨属性依赖指示信息和所述点云码流进行封装,得到所述点云媒体的媒体文件。
21.如权利要求20所述的方法,其特征在于,所述对所述跨属性依赖指示信息和所述点云码流进行封装,得到所述点云媒体的媒体文件,包括:
将所述点云码流封装至轨道中,所述轨道中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;
若跨属性依赖指示信息指示所述点云码流中的属性数据之间的编解码依赖关系在所述轨道的所有样本中保持一致,则将所述跨属性依赖指示信息设置于所述轨道的样本入口中,形成所述点云媒体的媒体文件。
22.如权利要求20所述的方法,其特征在于,所述对所述跨属性依赖指示信息和所述点云码流进行封装,得到所述点云媒体的媒体文件,包括:
将所述点云码流封装至轨道中,所述轨道中包含一个或多个样本,一个样本对应所述点云媒体中的一个点云帧;
在所述轨道中划分跨属性依赖样本群组,所述跨属性依赖样本群组中包含一个或多个样本,所述跨属性依赖样本群组中的任一样本均包含或对应被依赖的属性数据;或者,所述跨属性依赖样本群组中的任一样本均包含或对应依赖的属性数据;
若所述跨属性依赖指示信息指示所述点云码流中的属性数据之间的编解码依赖关系在所述轨道的所有样本中存在变化,则将所述跨属性依赖指示信息设置于所述跨属性依赖样本群组的入口中,形成所述点云媒体的媒体文件。
23.如权利要求20所述的方法,其特征在于,所述点云媒体采用流化传输方式进行传输;所述方法还包括:
基于传输信令传输所述点云媒体的媒体文件,所述传输信令中包含所述跨属性依赖指示信息。
24.如权利要求23所述的方法,其特征在于,所述传输信令为动态自适应流信令,
所述跨属性依赖指示信息是指所述动态自适应流信令中的跨属性依赖信息描述子或所述动态自适应流信令中的依赖标识字段;或者,
所述传输信令为智能媒体传输信令,所述跨属性依赖指示信息是指所述智能媒体传输信令中的资产组描述符。
25.一种点云媒体的数据处理装置,其特征在于,包括:
获取单元,用于获取点云媒体的媒体文件,媒体文件包括点云媒体的点云码流和跨属性依赖指示信息,跨属性依赖指示信息用于指示点云码流中的属性数据之间的编解码依赖关系;
处理单元,用于按照跨属性依赖指示信息,对点云码流进行解码以呈现点云媒体。
26.一种点云媒体的数据处理装置,其特征在于,包括:
获取单元,用于获取点云媒体;
处理单元,用于对点云媒体进行编码处理,得到点云码流;
处理单元,还用于根据点云码流中的属性数据之间的编解码依赖关系,生成跨属性依赖指示信息;
处理单元,还用于对跨属性依赖指示信息和点云码流进行封装,得到点云媒体的媒体文件。
27.一种计算机设备,其特征在于,包括:
处理器,适用于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,执行如权利要求1-24任一项所述的点云媒体的数据处理方法。
28.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时,执行如权利要求1-24任一项所述的点云媒体的数据处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410038173.6A CN117834833A (zh) | 2022-08-19 | 2022-08-19 | 一种点云媒体的数据处理方法及相关设备 |
CN202211001664.0A CN115379189B (zh) | 2022-08-19 | 2022-08-19 | 一种点云媒体的数据处理方法及相关设备 |
PCT/CN2023/106302 WO2024037247A1 (zh) | 2022-08-19 | 2023-07-07 | 一种点云媒体的数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211001664.0A CN115379189B (zh) | 2022-08-19 | 2022-08-19 | 一种点云媒体的数据处理方法及相关设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410038173.6A Division CN117834833A (zh) | 2022-08-19 | 2022-08-19 | 一种点云媒体的数据处理方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115379189A true CN115379189A (zh) | 2022-11-22 |
CN115379189B CN115379189B (zh) | 2023-12-12 |
Family
ID=84065514
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410038173.6A Pending CN117834833A (zh) | 2022-08-19 | 2022-08-19 | 一种点云媒体的数据处理方法及相关设备 |
CN202211001664.0A Active CN115379189B (zh) | 2022-08-19 | 2022-08-19 | 一种点云媒体的数据处理方法及相关设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410038173.6A Pending CN117834833A (zh) | 2022-08-19 | 2022-08-19 | 一种点云媒体的数据处理方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN117834833A (zh) |
WO (1) | WO2024037247A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834857A (zh) * | 2022-11-24 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 点云数据处理方法、装置、设备及存储介质 |
WO2024037247A1 (zh) * | 2022-08-19 | 2024-02-22 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法及相关设备 |
WO2024129365A1 (en) * | 2022-12-12 | 2024-06-20 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Decoding method, decoder, encoding method, encoder and non-transitory computer readable recording medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110876083A (zh) * | 2018-08-29 | 2020-03-10 | 浙江大学 | 指定参考图像的方法及装置及处理参考图像请求的方法及装置 |
CN114116617A (zh) * | 2020-08-26 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 点云媒体的数据处理方法、装置、设备及可读存储介质 |
WO2022042325A1 (zh) * | 2020-08-23 | 2022-03-03 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、设备及存储介质 |
WO2022054744A1 (ja) * | 2020-09-08 | 2022-03-17 | ソニーグループ株式会社 | 情報処理装置および方法 |
CN114257816A (zh) * | 2020-09-25 | 2022-03-29 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法、装置、设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110971906B (zh) * | 2018-09-29 | 2021-11-30 | 上海交通大学 | 层级化的点云码流封装方法和系统 |
US11454710B2 (en) * | 2019-01-08 | 2022-09-27 | Apple Inc. | Point cloud compression using a space filling curve for level of detail generation |
EP3751857A1 (en) * | 2019-06-14 | 2020-12-16 | Nokia Technologies Oy | A method, an apparatus and a computer program product for volumetric video encoding and decoding |
WO2021000658A1 (zh) * | 2019-07-03 | 2021-01-07 | Oppo广东移动通信有限公司 | 点云编解码方法、编码器、解码器及计算机存储介质 |
WO2021002636A1 (ko) * | 2019-07-04 | 2021-01-07 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
CA3203882A1 (en) * | 2020-12-31 | 2022-07-07 | Shuai Wan | Point cloud encoding and decoding method, encoder, decoder and computer storage medium |
CN115396645B (zh) * | 2022-08-18 | 2024-04-19 | 腾讯科技(深圳)有限公司 | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 |
CN117834833A (zh) * | 2022-08-19 | 2024-04-05 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法及相关设备 |
-
2022
- 2022-08-19 CN CN202410038173.6A patent/CN117834833A/zh active Pending
- 2022-08-19 CN CN202211001664.0A patent/CN115379189B/zh active Active
-
2023
- 2023-07-07 WO PCT/CN2023/106302 patent/WO2024037247A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110876083A (zh) * | 2018-08-29 | 2020-03-10 | 浙江大学 | 指定参考图像的方法及装置及处理参考图像请求的方法及装置 |
WO2022042325A1 (zh) * | 2020-08-23 | 2022-03-03 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、设备及存储介质 |
CN114116617A (zh) * | 2020-08-26 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 点云媒体的数据处理方法、装置、设备及可读存储介质 |
WO2022054744A1 (ja) * | 2020-09-08 | 2022-03-17 | ソニーグループ株式会社 | 情報処理装置および方法 |
CN114257816A (zh) * | 2020-09-25 | 2022-03-29 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法、装置、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024037247A1 (zh) * | 2022-08-19 | 2024-02-22 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法及相关设备 |
CN115834857A (zh) * | 2022-11-24 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 点云数据处理方法、装置、设备及存储介质 |
CN115834857B (zh) * | 2022-11-24 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 点云数据处理方法、装置、设备及存储介质 |
WO2024129365A1 (en) * | 2022-12-12 | 2024-06-20 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Decoding method, decoder, encoding method, encoder and non-transitory computer readable recording medium |
Also Published As
Publication number | Publication date |
---|---|
CN117834833A (zh) | 2024-04-05 |
WO2024037247A1 (zh) | 2024-02-22 |
CN115379189B (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115379189B (zh) | 一种点云媒体的数据处理方法及相关设备 | |
CN115396645B (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
CN114697668B (zh) | 点云媒体的编解码方法及相关产品 | |
WO2024060793A1 (zh) | 一种点云媒体的数据处理方法及相关设备 | |
CN113852829A (zh) | 点云媒体文件的封装与解封装方法、装置及存储介质 | |
CN113302944B (zh) | 信息处理装置和信息处理方法 | |
WO2024041238A1 (zh) | 一种点云媒体的数据处理方法及相关设备 | |
WO2023226504A1 (zh) | 一种媒体数据处理方法、装置、设备以及可读存储介质 | |
WO2024041239A1 (zh) | 一种沉浸媒体的数据处理方法、装置、设备、存储介质及程序产品 | |
CN115086635B (zh) | 多视角视频的处理方法、装置、设备及存储介质 | |
WO2023169004A1 (zh) | 点云媒体的数据处理方法、装置、设备及介质 | |
WO2023169001A1 (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
CN115379188B (zh) | 点云数据处理方法、装置、设备及存储介质 | |
CN115834857B (zh) | 点云数据处理方法、装置、设备及存储介质 | |
WO2023169003A1 (zh) | 点云媒体的解码方法、点云媒体的编码方法及装置 | |
US20230222693A1 (en) | Information processing apparatus and method | |
CN116347118A (zh) | 一种沉浸媒体的数据处理方法及相关设备 | |
CN115426502A (zh) | 点云媒体的数据处理方法、装置、设备及存储介质 | |
CN116939290A (zh) | 媒体数据处理方法、装置、设备及存储介质 | |
CN115061984A (zh) | 点云媒体的数据处理方法、装置、设备、存储介质 | |
WO2023144439A1 (en) | A method, an apparatus and a computer program product for video coding | |
CN117082262A (zh) | 点云文件封装与解封装方法、装置、设备及存储介质 | |
CN115037943A (zh) | 一种媒体数据处理方法、装置、设备以及可读存储介质 | |
CN116743722A (zh) | 点云媒体的数据处理方法、装置、存储介质及电子设备 | |
CN118118694A (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 |