CN116744007A - 点云媒体的编解码方法及相关产品 - Google Patents
点云媒体的编解码方法及相关产品 Download PDFInfo
- Publication number
- CN116744007A CN116744007A CN202310890442.7A CN202310890442A CN116744007A CN 116744007 A CN116744007 A CN 116744007A CN 202310890442 A CN202310890442 A CN 202310890442A CN 116744007 A CN116744007 A CN 116744007A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- sub
- sample
- data
- subframe
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004806 packaging method and process Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000000638 solvent extraction Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 98
- 238000010586 diagram Methods 0.000 description 22
- 238000005538 encapsulation Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请属于音视频技术领域,具体涉及一种点云媒体的编码方法及相关产品。本申请中的编码方法包括:获取点云媒体文件,点云媒体文件包括封装于一个或者多个轨道中的点云样本;解析点云样本中的各个子样本的媒体文件数据盒,得到子样本标志位字段的取值,子样本标志位字段用于指示子样本的划分方式;所述子样本的划分方式包括基于数据单元、空间分块或者点云子帧中的至少一种划分子样本;根据所述子样本标志位字段的取值对点云媒体文件进行解封装和解码处理,得到点云数据。本申请可以避免浪费计算资源、提高点云媒体的处理效率。
Description
本申请是申请号为202210428152.6、申请日为2022年4月22日、发明名称为“点云媒体的编解码方法及相关产品”的发明专利申请的分案申请。
技术领域
本申请属于音视频技术领域,具体涉及一种点云媒体的编码方法、点云媒体的解码方法、点云媒体的编码装置、点云媒体的解码装置、计算机可读介质、电子设备以及计算机程序产品。
背景技术
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。在通过点云采集设备获取到大规模的点云数据后,可以对点云数据进行编码封装以向用户传输和解码呈现。点云媒体中存在一些内容较少的点云帧,而且部分点云帧之间存在重叠的点云内容,因此对每个点云帧单独进行编解码处理,将会产生计算资源的浪费并且影响点云媒体的处理效率。
发明内容
本申请提供一种点云媒体的编码方法、点云媒体的解码方法、点云媒体的编码装置、点云媒体的解码装置、计算机可读介质、电子设备以及计算机程序产品,目的在于避免浪费计算资源、提高点云媒体的处理效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种点云媒体的解码方法,包括:
获取点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;
解析所述点云样本中的各个子样本的媒体文件数据盒,得到子样本标志位字段的取值,所述子样本标志位字段用于指示所述子样本的划分方式;所述子样本的划分方式包括基于数据单元、空间分块或者点云子帧中的至少一种划分子样本;
根据所述子样本标志位字段的取值获取与所述子样本中各个数据单元相对应的一个或者多个点云子帧的索引信息;
根据所述一个或者多个点云子帧的索引信息对所述点云媒体文件进行解封装和解码处理,得到点云数据。
根据本申请实施例的一个方面,提供一种点云媒体的编码方法,包括:
获取点云源数据,所述点云源数据包括具有一个或者多个点云子帧的点云帧;
对所述点云帧进行编码处理,得到至少一个数据单元;
对所述至少一个数据单元进行封装处理,得到点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;所述点云样本中的各个子样本的媒体文件数据盒包括子样本标志位字段以及子帧索引字段;所述子样本标志位字段用于指示所述子样本的划分方式,所述子帧索引字段用于指示与所述子样本中各个数据单元相对应的一个或者多个点云子帧的索引信息;所述子样本的划分方式包括基于数据单元、空间分块或者点云子帧中的至少一种划分子样本。
根据本申请实施例的一个方面,提供一种点云媒体的解码装置,包括:
获取模块,被配置为获取点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;
解析模块,被配置为解析所述点云样本中的各个子样本的媒体文件数据盒,得到子样本标志位字段的取值,所述子样本标志位字段用于指示所述子样本的划分方式;
索引模块,被配置为根据所述子样本标志位字段的取值获取与所述子样本中各个数据单元相对应的一个或者多个点云子帧的索引信息;所述子样本的划分方式包括基于数据单元、空间分块或者点云子帧中的至少一种划分子样本;
解码模块,被配置为根据所述一个或者多个点云子帧的索引信息对所述点云媒体文件进行解封装和解码处理,得到点云数据。
根据本申请实施例的一个方面,提供一种点云媒体的编码装置,包括:
获取模块,被配置为获取点云源数据,所述点云源数据包括具有一个或者多个点云子帧的点云帧;
编码模块,被配置为对所述点云帧进行编码处理,得到至少一个数据单元;
封装模块,被配置为对所述至少一个数据单元进行封装处理,得到点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;所述点云样本中的各个子样本的媒体文件数据盒包括子样本标志位字段以及子帧索引字段;所述子样本标志位字段用于指示所述子样本的划分方式,所述子帧索引字段用于指示与所述子样本中各个数据单元相对应的一个或者多个点云子帧的索引信息;所述子样本的划分方式包括基于数据单元、空间分块或者点云子帧中的至少一种划分子样本。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的点云媒体的编解码方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的点云媒体的编解码方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的点云媒体的编解码方法。
在本申请实施例提供的技术方案中,通过点云样本中各个子样本的媒体文件数据盒,可以指示子样本的划分方式并且可以指示子样本中的各个数据单元与一个或者多个点云子帧的索引信息之间的对应关系,由此可以实现对点云样本中各个数据单元对应的一个或者多个点云子帧作为组合帧进行共同编码,一方面可以减少对于内容较少的点云帧进行单独编码而产生的计算资源浪费,另一方面可以标识点云数据重叠的点云子帧,提高点云媒体的编解码效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
图2示出了本申请实施例在一个应用场景中的点云媒体编解码流程示意图。
图3示出了本申请一个实施例中基于TLV码流格式封装点云样本的语法结构。
图4示出了本申请一个实施例中基于TLV码流格式封装的数据单元的语法结构。
图5示出了本申请一个实施例中对点云数据进行多帧组合的原理示意图。
图6示出了本申请一个实施例中的点云媒体的解码方法的步骤流程图。
图7示出了本申请一个实施例在单个轨道中封装点云样本的示例性结构。
图8示出了本申请一个实施例在多个轨道中封装几何码流和属性码流的示例性结构。
图9示出了本申请实施例在一个应用场景中SubSampleInformationBox数据盒的编码相关参数字段codec_specific_parameters的语法结构。
图10示出了本申请实施例在统一标识子帧重叠/不重叠的应用场景中SubSampleInformationBox数据盒的编码相关参数字段codec_specific_parameters的语法结构。
图11示出了本申请实施例在一个应用场景中扩展样本组工具的语法结构。
图12示出了本申请实施例在一个应用场景中基于点云样本级别的媒体文件数据盒标识点云子帧相关信息的语法结构。
图13示出了本申请实施例在一个应用场景中通过子样本子帧信息数据盒SubsampleSubframeInfoBox标识子帧相关信息的语法结构。
图14示出了本申请实施例在一个应用场景中通过子样本子帧信息数据盒SubsampleSubframeInfoBox标识子帧呈现时间信息的语法结构。
图15示出了本申请实施例在一个应用场景中通过扩展媒体文件数据盒标识子帧呈现时间信息的语法结构。
图16示出了本申请一个实施例中基于数据单元、空间分块以及点云子帧三种子样本划分方式确定空间分块对应关系的结构框图。
图17示出了本申请一个实施例中基于数据单元、空间分块两种子样本划分方式确定空间分块对应关系的结构框图。
图18示出了本申请实施例在一个应用场景中通过媒体文件数据盒指示点云子帧与空间分块之间的对应关系的语法结构。
图19示出了本申请一个实施例中点云媒体的编码方法的步骤流程图。
图20示出了本申请实施例在流媒体传输应用场景中进行点云数据编解码的流程图。
图21出了本申请实施例在点云子帧互不重叠的应用场景中对点云样本进行单轨封装的封装结果。
图22示出了本申请实施例在点云子帧互不重叠的应用场景中对点云样本进行多轨封装时对属性轨道不划分子样本的封装结果。
图23示出了本申请实施例在点云子帧互不重叠的应用场景中对点云样本进行多轨封装时对属性轨道划分子样本的封装结果。
图24示出了本申请实施例在点云子帧存在重叠的应用场景中对点云样本进行单轨封装的封装结果。
图25示意性地示出了本申请实施例提供的点云媒体的解码装置的结构框图。
图26示意性地示出了本申请实施例提供的点云媒体的编码装置的结构框图。
图27示意性示出了适于用来实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在本申请的具体实施方式中,涉及到点云媒体的传输内容、解码内容和消费内容等与用户相关的数据,当本申请的各个实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本申请实施例中涉及的相关术语或者缩略语解释如下。
沉浸式媒体:能为消费者带来沉浸式体验的媒体内容,沉浸式媒体按照用户在消费媒体内容时的自由度,可以分为3DoF媒体、3DoF+媒体以及6DoF媒体。点云媒体即一种典型的6DoF媒体。
DoF:Degree of Freedom,自由度。本申请中是指用户在观看沉浸式媒体时支持的运动并产生内容交互的自由度。
3DoF:即三自由度,指用户头部围绕x,y,z轴旋转的三种自由度。
3DoF+:即在三自由度的基础上,用户还拥有沿x,y,z轴有限运动的自由度。
6DoF:即在三自由度的基础上,用户还拥有沿x,y,z轴自由运动的自由度。
点云:点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云中的每个点至少具有三维位置信息,根据应用场景的不同,还可能具有色彩、材质或其他信息。通常,点云中的每个点都具有相同数量的附加属性。
PCC:Point Cloud Compression,点云压缩。
G-PCC:Geometry-based Point Cloud Compression,基于几何模型的点云压缩。
Sample:样本,媒体文件封装过程中的封装单位,一个媒体文件由很多个样本组成。以视频媒体为例,视频媒体的一个样本通常为一个视频帧。
Slice:点云片/点云条,代表部分或全部编码后点云帧数据的一系列语法元素(比如几何slice、属性slice)集合。
Tile:点云空间分块。
DASH:dynamic adaptive streaming over HTTP,基于HTTP的动态自适应流是一种自适应比特率流技术,使高质量流媒体可以通过传统的HTTP网络服务器以互联网传递。
点云媒体从编码方式上又可以分为基于传统视频编码方式进行压缩的点云媒体(Video-based Point Cloud Compression,VPCC)以及基于几何特征进行压缩的点云媒体(Geometry-based Point Cloud Compression,GPCC)。在点云媒体的文件封装中,三维位置信息通常称为点云媒体文件的几何组件(Geometry Component),属性信息称为点云媒体文件的属性组件(Attribute Component)。一个点云媒体文件仅有一个几何组件,但可以存在一个或多个属性组件。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,因而应用广泛,其主要应用场景可以归为两大类别。1)机器感知点云,例如计算机辅助设计(ComputerAided Design,CAD)、自主导航系统(Autonomous Navigation System,ANS)、实时巡检系统、地理信息系统(Geography Information System,GIS)、视觉分拣机器人、抢险救灾机器人。2)人眼感知点云,例如虚拟现实(Virtual Reality,VR)游戏、数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
点云的获取主要有以下途径:计算机生成、3D激光扫描、3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云。3D扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云。3D摄像可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。此外,在医学领域,由MRI、CT、电磁定位信息,可以获得生物组织器官的点云。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据获取方式的变革,使大量点云数据的获取成为可能。伴随着大规模的点云数据不断积累,点云数据的高效存储、传输、发布、共享和标准化,成为点云应用的关键。
图1示出了可以应用本申请实施例技术方案的示例性系统架构的示意图。
如图1所示,系统架构100包括多个终端装置,所述终端装置可通过例如网络150彼此通信。举例来说,系统架构100可以包括通过网络150互连的第一终端装置110和第二终端装置120。在图1的实施例中,第一终端装置110和第二终端装置120执行单向数据传输。
举例来说,第一终端装置110可对点云数据(例如由终端装置110采集的点云数据)进行编码以通过网络150传输到第二终端装置120,已编码的点云数据以一个或多个已编码点云码流形式传输,第二终端装置120可从网络150接收已编码点云数据,对已编码点云数据进行解码以恢复点云数据,并根据恢复的点云数据显示点云内容。
在本申请的一个实施例中,系统架构100可以包括执行已编码点云数据的双向传输的第三终端装置130和第四终端装置140,所述双向传输比如可以发生在视频会议期间。对于双向数据传输,第三终端装置130和第四终端装置140中的每个终端装置可对点云数据(例如由终端装置采集的点云数据)进行编码,以通过网络150传输到第三终端装置130和第四终端装置140中的另一终端装置。第三终端装置130和第四终端装置140中的每个终端装置还可接收由第三终端装置130和第四终端装置140中的另一终端装置传输的已编码点云数据,且可对已编码点云数据进行解码以恢复点云数据,并可根据恢复的点云数据在可访问的显示装置上显示点云内容。
在图1的实施例中,第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140可为服务器、个人计算机和智能电话,但本申请公开的原理可不限于此。本申请公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络150表示在第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140之间传送已编码点云数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络150可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络150的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
本申请实施例中的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在对点云媒体进行编码后,需要对编码后的数据流进行封装并传输给用户。相对应地,在点云媒体播放器端,需要先对点云文件进行解封装,然后再进行解码,最后将解码后的数据流呈现。
图2示出了本申请实施例在一个应用场景中的点云媒体编解码流程示意图。
通过采集设备210进行点云数据采集可以捕获真实世界的视觉场景A,采集设备210例如可以是一组相机或者一个具有多镜头和传感器的相机设备。采集结果为点云源数据B,点云源数据B是由大量点云帧组成的帧序列。通过编码器220可以对一个或多个点云帧进行编码处理,得到编码后的G-PCC比特流,具体可以包括编码的几何比特流和属性比特流E。文件封装器230可以根据特定的媒体容器文件格式,对一个或多个编码比特流进行封装处理,得到用于文件回放的媒体文件F或一系列初始化段和用于流式传输的媒体片段Fs。在本申请的一些实施例中,媒体容器文件格式例如可以是ISO/IEC 14496-12[ISOBMFF]中指定的ISO基本媒体文件格式。文件封装器230还可以将元数据封装在媒体文件F或媒体片段Fs中。
文件封装器230输出的媒体文件F与文件解封装器240输入的媒体文件F'相同。文件解封装器通过处理媒体文件F'或处理接收到的媒体片段F's,可以提取得到编码比特流E'并解析元数据。解码器250可以将G-PCC比特流解码为解码信号D',并根据解码信号D'生成点云数据。适用时,基于由各种类型的传感器(例如头部)确定的当前观看位置、观看方向或视口,可以通过渲染器260将点云数据渲染并显示到头戴式显示器或任何其他显示设备的屏幕上。除了被播放器用来访问解码后的点云数据的适当部分外,当前的观看位置或观看方向也可以用于解码优化。在视口相关的内容分发器270中,当前的观看位置和观看方向也被传递给策略模块,该策略模块可以用于确定要接收的轨道。
在点云媒体的传输技术中,通常采用流化传输技术来处理服务器和客户端之间的媒体资源传输。常见的媒体流化传输技术包括DASH(Dynamic Adaptive Streaming overHTTP),HLS(HTTP Live Streaming),SMT(Smart Media Transport)等技术。
以DASH为例,DASH是一种自适应比特率流技术,使高质量流媒体可以通过传统的HTTP网络服务器以互联网传递。DASH会将内容分解成一系列小型的基于HTTP的文件片段,每个片段包含很短长度的可播放内容,而内容总长度可能长达数小时(例如电影或体育赛事直播)。内容将被制成多种比特率的备选片段,以提供多种比特率的版本供选用。当媒体内容被DASH客户端播放时,客户端将根据当前网络条件自动选择下载和播放哪一个备选方案。客户端将选择可及时下载的最高比特率片段进行播放,从而避免播放卡顿或重新缓冲事件。也因如此,DASH客户端可以无缝适应不断变化的网络条件并提供高质量的播放体验,拥有更少的卡顿与重新缓冲发生率。
DASH使用现有的HTTP网络服务器基础设施。它允许如互联网电视、电视机顶盒、台式电脑、智能手机、平板电脑等设备消费通过互联网传送的多媒体内容(如视频、电视、广播等),并可应对变动的互联网接收条件。
以基于几何模型的点云压缩G-PCC作为示例,每个G-PCC点云样本对应一个点云帧,由一个或多个属于同一呈现时间的G-PCC数据单元组成。
图3示出了本申请一个实施例中基于TLV码流格式封装点云样本的语法结构。其中,每个点云样本由一个或多个数据单元G-PCC unit组成。gpcc_unit包含单个G-PCC数据单元。同一个点云样本中的G-PCC数据单元对应同一个点云帧,属于同一个呈现时间。TLV码流格式,即Type-length-value bytestream format,指的是由数据的类型Type、数据的长度Length和数据的值Value组成的结构体。关于TLV码流格式的具体信息可以参考标准ISO/IEC 23090-9。
图4示出了本申请一个实施例中基于TLV码流格式封装的数据单元的语法结构。其中,tlv_type是用于指示数据单元的类型的类型字段。表1示出了本申请一个实施例中关于数据单元类型字段不同取值的语义描述。
表1
tlv_type | Description |
0 | Sequence parameter set |
1 | Geometry parameter set |
2 | Geometry data unit |
3 | Attribute parameter set |
4 | Attribute data unit |
5 | Tile inventory |
6 | Frame boundary marker |
如表1所示,不同取值的类型字段可以用于指示不同的数据单元类型。
当类型字段取值为0时,表示数据单元的类型为序列参数集合SPS(SequenceParameter Set)。
当类型字段取值为1时,表示数据单元的类型为几何参数集合GPS(GeometryParameter Set)。
当类型字段取值为2时,表示数据单元的类型为几何数据单元Geometry dataunit。
当类型字段取值为3时,表示数据单元的类型为属性参数集合APS(AttributeParameter Set)。
当类型字段取值为4时,表示数据单元的类型为属性数据单元Attribute dataunit。
当类型字段取值为5时,表示数据单元的类型为图块集合Tile inventory。
当类型字段取值为6时,表示数据单元的类型为帧边界标记Frame boundarymarker。
以上数据单元类型的具体信息可以参考标准ISO/IEC 23090-9。
在本申请的相关技术中,对于点云媒体的每个点云帧进行单独编码,这将导致点云媒体的编解码过程中存在如下两个问题。一个问题是,在基于帧的点云内容中,每帧的文件大小可能相对较小,这对于I/O接口的效率较低。另一个问题是,解码器需要从初始边界框开始运行并对每个单帧进行划分,在边缘设备中存在大量的初始化解码器的开销。
第一个问题可以通过连接连续帧的编码比特流来轻松解决。然而,第二个问题则难以避免,除非在编码之前组合点云。本申请实施例提出组合帧编码的方案,通过在组合点云中引入帧索引的编码来解决这两个问题。此外,本申请实施例能够极大地提高了编码效率,因此也有利于基于帧的点云内容的存储使用。
组合帧编码技术时将原始序列中的多个点云帧结合后进行编码,例如原始序列中存在100个点云帧,将其按照每4帧结合的方式,将原始点云序列重新构造后,得到25帧的点云序列,再对其进行编码。这样的编码方式,对于每一帧的点较少或者前后帧关联性较强的场景,能获得较大的编码效率提升。
图5示出了本申请一个实施例中对点云数据进行多帧组合的原理示意图。如图5所示,将第一点云帧Frame1和第二点云帧Frame2进行组合后可以形成一个组合帧CombinedFrame。当采用了结合多帧的组合编码技术后,新得到的序列中,其每一帧内会包含多个点云子帧,点云子帧是由具有相同帧号或帧索引属性值的点组成的点云帧的部分表示。当把两个或者两个以上的点云帧进行相互关联时,每个点云帧的单个八叉树在更高级别具有相似的结构;在组合帧的叶子节点中,也存在一些来自不同帧的重复内容,即重叠的点云数据。
下面结合具体实施方式对本申请提供的点云媒体的编码方法、点云媒体的解码方法、点云媒体的编码装置、点云媒体的解码装置、计算机可读介质、电子设备以及计算机程序产品等技术方案做出详细说明。本申请实施例的各项技术方案可以应用于沉浸式媒体系统的服务器端、播放器端或者中间节点等环节。
图6示出了本申请一个实施例中的点云媒体的解码方法的步骤流程图,该方法可以应用于点云媒体系统的服务器、客户端或者中间节点等环节,本申请实施例以安装有点云解码装置的客户端设备执行的点云媒体的解码方法作为示例。如图6所示,该点云媒体的解码方法包括如下的步骤S610至S640。
S610:获取点云媒体文件,点云媒体文件包括封装于一个或者多个轨道中的点云样本;
S620:解析点云样本中的各个子样本的媒体文件数据盒,得到子样本标志位字段的取值,子样本标志位字段用于指示子样本的划分方式;
S630:根据子样本标志位字段的取值获取与子样本中各个数据单元相对应的一个或者多个点云子帧的索引信息;当子样本中的一个数据单元对应至少两个点云子帧的索引信息时,至少两个点云子帧具有重叠的点云数据;
S640:根据一个或者多个点云子帧的索引信息对点云媒体文件进行解封装和解码处理,得到点云数据。
子样本是在点云样本中的数据封装单元,基于不同的划分方式可以在点云样本中划分得到不同类型的子样本,例如基于数据单元、空间分块或者点云子帧等不同的维度可以在点云样本中划分得到具有不同数据容量的子样本。
点云子帧是由具有相同的索引信息(例如帧号或帧索引属性值)的点组成的点云帧的部分表示。当一个点云帧是由多个点云帧组合形成的组合帧时,该组合帧内的各个点云帧即构成点云子帧。
在本申请实施例提供的点云媒体的解码方法中,通过点云样本中各个子样本的媒体文件数据盒,可以指示子样本的划分方式并且可以指示子样本中的各个数据单元与一个或者多个点云子帧的索引信息之间的对应关系,由此可以实现对点云样本中各个数据单元对应的一个或者多个点云子帧作为组合帧进行共同编码,一方面可以减少对于内容较少的点云帧进行单独编码而产生的计算资源浪费,另一方面可以标识点云数据重叠的点云子帧,提高点云媒体的编解码效率。
下面结合多个实施例分别对本申请的点云媒体解码方法中各个方法步骤的具体实现方式做详细说明。
在步骤S610中,获取点云媒体文件,点云媒体文件包括封装于一个或者多个轨道中的点云样本。
点云媒体文件可以是如图2所示的经过编码和封装处理后得到的媒体文件或者媒体片段,该媒体文件或者媒体片段中承载有待传输的点云码流。
在本申请的一个实施例中,数据源可以根据点云码流中包含的几何参数信息、属性参数信息以及点云片的参数信息,将点云码流封装为单一轨道,或者也可以将单一轨道的点云媒体文件重新封装为包含多个轨道的点云媒体文件。
轨道是指用于承载编码几何比特流或者编码属性比特流的体积视觉轨道(volumetric visual track),也可以是同时承载编码几何比特流和编码属性比特流的体积视觉轨道。
在点云码流以单轨道封装的情况下,每个点云样本都可以对应于一个完整的点云帧。
在步骤S620中,解析点云样本中的各个子样本的媒体文件数据盒,得到子样本标志位字段的取值,子样本标志位字段用于指示子样本的划分方式。
媒体文件数据盒可以是基于ISO基本媒体文件格式ISOBMFF(ISO Base MediaFile Format)的数据盒。ISOBMFF的具体信息可以参考标准ISO/IEC 14496-12。
当G-PCC码流被承载在单个轨道中时,可以通过将G-PCC码流存储在单个轨道中来利用简单的ISOBMFF封装,而无需进一步处理。
图7示出了本申请一个实施例在单个轨道中封装点云样本的示例性结构。其中,moov表示点云样本的元数据信息metadata;mdat表示点云样本中携带的具体的媒体数据。如图中所示,组件Component仍然可以用标志值flags=0的“subs”数据盒来描述,而子帧索引subframe_idx由另一个标志值flags=2的“subs”数据盒来提供。这是由ISOBMFF规定的:当多个SubSampleInformationBox存在于同一个容器盒中时,每个SubSampleInformationBoxes中的标志值应不同。
继续参考图7所示,在一个标志值flags=2的“subs”数据盒中,针对各个点云样本Sample 1……Sample n,其内部包含有基于子帧划分的一个或者多个子样本,例如点云样本Sample 1包含有X个子样本,分别对应于子帧索引值为subframe_idx=1……X的多个点云子帧。每个点云子帧内又包括有不同的数据单元,例如图中所示的几何数据单元(geometry data unit)、属性数据单元(attribute data unit)和帧索引属性数据单元(frame index attribute data unit)。
图8示出了本申请一个实施例在多个轨道中封装几何码流和属性码流的示例性结构。其中,ftyp表示文件类型,描述点云样本遵从的规范的版本;moov表示点云样本的元数据信息metadata;mdat表示点云样本中携带的具体的媒体数据。
如图8所示,在多轨道封装模式下,每个点云组件的码流数据被映射到单独的轨道中。G-PCC组件轨道有两种类型:G-PCC几何轨道和G-PCC属性轨道。轨道中的每个点云样本都包含至少一个数据单元G-PCC unit,该数据单元承载单个G-PCC组件数据单元,而不是几何和属性数据单元或者不同属性数据单元的复用。G-PCC属性轨道不应复用不同的属性子流,例如颜色、反射率。
在本申请的一个实施例中,可以通过扩展子样本信息数据盒SubSampleInformationBox的编码相关参数字段,标识点云子帧的相关信息。在本申请实施例中,点云样本中的各个子样本的划分方式可以包括:
当子样本标志位字段的取值为第一数值时,基于数据单元划分子样本,以使一个子样本中包含一个数据单元;
当子样本标志位字段的取值为第二数值时,基于空间分块划分子样本,以使一个子样本包含对应于一个第一划分对象的一个或多个连续的数据单元,第一划分对象包括空间分块、参数集合、空间分块集合信息或者帧边界标识中的至少一个;
当子样本标志位字段的取值为第三数值时,基于点云子帧划分子样本,以使一个子样本中包含对应于一个第二划分对象的一个或多个连续的数据单元,第二划分对象包括一个完整的点云子帧。
在本申请的一个实施例中,当子样本标志位字段的取值为第三数值时,子样本的媒体文件数据盒包括:
子帧索引字段,子帧索引字段用于指示当前子样本中包含的点云子帧的索引信息。
以ISOBMFF数据盒为例,对于点云文件中的子样本信息数据盒SubSampleInformationBox,其子样本定义应基于SubSampleInformationBox数据盒中标志位字段的取值。
针对以上多个实施例在具体应用场景中的实现方式,图9示出了本申请实施例在一个应用场景中SubSampleInformationBox数据盒的编码相关参数字段codec_specific_parameters的语法结构。
如图9所示,当子样本标志位字段flags取值为0时,表示采用基于G-PCC数据单元的子样本划分方式。一个子样本仅包含一个G-PCC单元。
在此基础上,子样本信息数据盒SubSampleInformationBox可以包括如下字段:
payloadType,指示子样本中包含的G-PCC单元的tlv_type类型;
attrIdx,指示子样本中包含的属性数据对应的ash_attr_sps_attr_idx字段取值。
当子样本标志位字段flags取值为1时,表示采用基于空间分块tile的子样本划分方式。一个子样本中包含对应一个空间分块tile的一个或多个连续数据单元,或者包含对应参数集合、空间分块集合信息或帧边界标识的一个或多个连续数据单元。
在此基础上,子样本信息数据盒SubSampleInformationBox可以包括如下字段:
tile_data,取值为1时表示子样本中包含对应tile的几何数据或属性数据;取值为0时表示子样本包含参数集数据、tile几何信息或帧边界标识。
tile_id,指示子样本中的数据关联的tile索引号。
当子样本标志位字段flags取值为2时,表示采用基于子帧的子样本划分方式。一个子样本中包含对应一个完整点云子帧的连续数据单元。
在此基础上,子样本信息数据盒SubSampleInformationBox可以包括如下字段:
子帧索引字段subframe_idx,指示当前子样本中包含的点云子帧对应的帧号属性取值。
在本申请的一个实施例中,为了将子帧完全不重叠以及子帧存在重叠两种应用场景进行统一,点云样本中的各个子样本的划分方式可以包括:
当子样本标志位字段的取值为第一数值时,基于数据单元划分子样本,以使一个子样本中包含一个数据单元;
当子样本标志位字段的取值为第二数值时,基于空间分块划分子样本,以使一个子样本包含对应于一个第一划分对象的一个或多个连续的数据单元,第一划分对象包括空间分块、参数集合、空间分块集合信息或者帧边界标识中的至少一个;
当子样本标志位字段的取值为第三数值时,基于点云子帧划分子样本,以使一个子样本中包含对应于一个第二划分对象的一个或多个连续的数据单元,第二划分对象包括一个或者多个点云子帧。
在本申请的一个实施例中,当子样本标志位字段的取值为第三数值时,子样本的媒体文件数据盒包括:
子帧完整标志位字段,用于指示当前子样本是否包含构成点云子帧的所有数据;
子帧数量字段,用于指示当前子样本对应的点云子帧的数量;
子帧索引字段,用于指示当前子样本对应的点云子帧的索引信息。
在本申请的一个实施例中,当点云样本封装于一个轨道时,构成点云子帧的所有数据包括所有的几何数据和属性数据;当点云样本封装于多个轨道时,构成点云子帧的所有数据包括所有的几何数据或者所有的属性数据。
针对以上多个实施例在具体应用场景中的实现方式,图10示出了本申请实施例在统一标识子帧重叠/不重叠的应用场景中SubSampleInformationBox数据盒的编码相关参数字段codec_specific_parameters的语法结构。
如图10所示,当子样本标志位字段flags取值为0时,表示采用基于G-PCC数据单元的子样本划分方式。一个子样本仅包含一个数据单元。
在此基础上,子样本信息数据盒SubSampleInformationBox可以包括如下字段:
payloadType,指示子样本中包含的数据单元的tlv_type类型;
attrIdx,指示子样本中包含的属性数据对应的ash_attr_sps_attr_idx字段取值。
当子样本标志位字段flags取值为1时,表示采用基于空间分块tile的子样本划分方式。一个子样本中包含对应一个空间分块tile的一个或多个连续数据单元,或者包含对应参数集合、空间分块集合信息或帧边界标识的一个或多个连续数据单元。
在此基础上,子样本信息数据盒SubSampleInformationBox可以包括如下字段:
tile_data,取值为1时表示子样本中包含对应tile的几何数据或属性数据;取值为0时表示子样本包含参数集数据、tile几何信息或帧边界标识。
tile_id,指示子样本中的数据关联的tile索引号。
当子样本标志位字段flags取值为2时,表示采用基于子帧的子样本划分方式。一个子样本中包含一个或多个连续的数据单元,对应一个或多个点云子帧。
在此基础上,子样本信息数据盒SubSampleInformationBox可以包括如下字段:
子帧完整标志位字段complete_subframe_flag,取值为1时,表示当前子样本对应的数据单元中包含构成相应子帧的所有数据;取值为0时,表示当前子样本对应的数据单元中包含构成相应子帧的部分数据。单轨封装模式下,所有数据指所有的几何和属性数据;多轨封装模式下,所有数据指所有的几何数据或者所有的特性类型的属性数据。
子帧数量字段num_subframes,指示子样本中的数据单元对应的子帧数目。当该字段取值为1时,当前子样本对应的子帧由subframe_idx指示;当该字段取值大于1时,当前子样本对应的子帧为subframe_idx指示的子帧以及其后的num_subframes-1个连续帧号的子帧。
子帧索引字段subframe_idx,指示当前子样本中包含的点云子帧对应的帧号属性取值。
在本申请的一个实施例中,可以通过扩展媒体文件数据盒中的样本组工具标识点云子帧的相关信息。在本申请实施例中,当子样本标志位字段的取值为第一数值时,点云子帧的媒体文件数据盒包括:
子样本数量字段,用于指示当前样本中包含的子样本的数量;
相关子帧数量字段,用于指示当前子样本对应的点云子帧的数量;
子帧索引字段,用于指示当前子样本对应的点云子帧的索引信息。
针对以上实施例在具体应用场景中的实现方式,图11示出了本申请实施例在一个应用场景中扩展样本组工具的语法结构。
如图11所示,媒体文件数据盒中的样本组工具可以包括如下的字段:
子样本数量字段subsample_count,指示当前样本中包含的子样本个数。
相关子帧数量字段related_subframe_num,指示当前子样本对应的点云子帧个数。当该字段取值为0时,表示当前子样本中包含的信息与点云子帧划分无关(比如tile集合信息或者帧结尾标识符)。
子帧索引字段subframe_index,指示当前子样本对应的点云子帧序号,该序号的取值与帧号属性中的取值相同。
在一些可选的实施方式中,可以不在子样本sub-sample级别指示点云子帧sub-frame相关的信息,仅在点云样本sample级别指示点云子帧sub-frame相关的信息。即在点云子帧重叠的情况下,在系统层仅标识存在点云子帧的样本以及对应的点云子帧索引号。图12示出了本申请实施例在一个应用场景中基于点云样本级别的媒体文件数据盒标识点云子帧相关信息的语法结构。
如图12所示,本申请实施例中的媒体文件数据盒可以包括如下的字段:
相关子帧数量字段related_subframe_num,指示当前样本对应的点云子帧个数。
子帧索引字段subframe_index,指示当前样本对应的子帧序号,该序号的取值应与帧号属性中的取值相同。
在本申请的一个实施例中,可以通过定义子样本子帧信息数据盒SubsampleSubframeInfoBox对点云子帧相关的信息进行标识。在本申请实施例中,当子样本标志位字段的取值为第一数值时,点云子帧的媒体文件数据盒包括:
子帧相关样本数量字段,用于指示包含多个点云子帧的点云样本的数量;
样本序号差值字段,用于指示在解码顺序下,当前包含多个点云子帧的点云样本与前一个包含多个点云子帧的点云样本之间的序号差值;
子样本数量字段,用于指示当前点云样本中包含的子样本的数量;
相关子帧数量字段,用于指示当前子样本对应的点云子帧的数量;
子帧索引字段,用于指示当前子样本对应的点云子帧的索引信息。
针对以上多个实施例在具体应用场景中的实现方式,图13示出了本申请实施例在一个应用场景中通过子样本子帧信息数据盒SubsampleSubframeInfoBox标识子帧相关信息的语法结构。该子样本子帧信息数据盒SubsampleSubframeInfoBox的数据盒类型例如可以是'sbfi',包含于SampleEntry或TrackFragmentBox。子样本子帧信息数据盒用于指示包含多个子帧的点云样本中,基于G-PCC数据单元划分的各个子样本对应的子帧信息。当该数据盒存在于轨道中时,子样本信息数据盒中的子样本标志位字段必须取值为0,即采用基于数据单元的子样本划分方式。
如图13所示,子样本子帧信息数据盒SubsampleSubframeInfoBox可以包括如下字段:
子帧相关样本数量字段subframe_related_sample_num,指示包含多个点云子帧的点云样本个数。
样本序号差值字段sample_delta,指示解码顺序下,当前包含多个子帧的样本序号与前一个包含多个子帧的样本序号之间的差值。对于第一个包含多个点云子帧的点云样本,该字段的取值为该点云样本的序号。
子样本数量字段subsample_count,指示当前样本中包含的子样本个数。
相关子帧数量字段related_subframe_num,指示当前子样本对应的点云子帧个数。当该字段取值为0时,表示当前子样本中包含的信息与点云子帧划分无关(比如tile集合信息或者帧结尾标识符)。
子帧索引字段subframe_index,指示当前子样本对应的点云子帧序号,该序号的取值与帧号属性中的取值相同。
在本申请的一个实施例中,通过媒体文件数据盒可以指示点云子帧的呈现时间。在本申请实施例中,当点云样本中的各个子样本的划分方式为基于点云子帧划分子样本时,子样本的媒体文件数据盒包括:
呈现时间标志位字段,用于指示点云样本中包含的各个点云子帧是否具有相同的呈现时长;
子样本时长字段,用于指示当点云样本中包含的各个点云子帧具有不同的呈现时长时,当前子样本的呈现时长。
针对以上实施例在具体应用场景中的实现方式,图14示出了本申请实施例在一个应用场景中通过子样本子帧信息数据盒SubsampleSubframeInfoBox标识子帧呈现时间信息的语法结构。
如图14所示,子样本子帧信息数据盒SubsampleSubframeInfoBox中的编码相关参数字段codec_specific_parameters包括如下字段:
呈现时间标志位字段with_unique_duration_flag,取值为0表示样本中包含的多个子帧具备相同的呈现时间,则根据样本本身的呈现时间和样本内的子帧个数即可计算每个子帧的呈现时长。此时该样本对应的sample_delta字段取值应为子帧个数的整数倍。取值为1表示样本中包含的多个子帧具备不同的呈现时长。
子样本时长字段sub_sample_duration,指示子样本的呈现时长。样本中多个子样本的该字段取值之和应等于该样本对应的sample_delta字段取值。
在本申请的一个实施例中,通过扩展媒体文件数据盒可以统一指示两种子帧场景的各子帧呈现时长。在此基础上,点云样本的媒体文件数据盒包括:
子帧数量字段,用于指示当前点云样本中包含的点云子帧的数量;
呈现时间标志位字段,用于指示点云样本中包含的各个点云子帧是否具有相同的呈现时长;
子帧索引字段,用于指示当点云样本中包含的各个点云子帧具有不同的呈现时长时,当前子样本对应的点云子帧的索引信息;
子样本时长字段,用于指示当点云样本中包含的各个点云子帧具有不同的呈现时长时,当前子样本的呈现时长。
针对以上实施例在具体应用场景中的实现方式,图15示出了本申请实施例在一个应用场景中通过扩展媒体文件数据盒标识子帧呈现时间信息的语法结构。
如图15所示,本申请实施例中的媒体文件数据盒包括如下的字段:
子帧数量字段nb_subframes,指示当前样本对应的子帧个数。
呈现时间标志位字段with_unique_duration_flag,取值为0表示样本中对应的多个子帧具备相同的呈现时间,则根据样本本身的呈现时间和样本内的子帧个数即可计算每个子帧的呈现时长。此时该样本对应的sample_delta字段取值应为子帧个数的整数倍。取值为1表示样本中包含的多个子帧具备不同的呈现时长。
子帧索引字段subframe_index,指示点云子帧的序号。
子样本时长字段sub_sample_duration,指示相应子帧的呈现时长。样本中对应的所有子帧的该字段取值之和应等于该样本对应的sample_delta字段取值。
基于本申请以上实施例中提供的通过媒体文件数据盒标识子帧相关信息的方案,可以隐含地获取点云子帧的空间信息。当多种子样本sub-sample划分方式共存的时候,可以根据每种子样本sub-sample划分方式中携带的信息找到点云子帧sub-frame和空间分块tile的对应关系。
图16示出了本申请一个实施例中基于数据单元、空间分块以及点云子帧三种子样本划分方式确定空间分块对应关系的结构框图。
如图16所示,基于点云子帧可以划分两个点云子样本,子帧索引值为sub frameindex=0的第一子帧以及子帧索引值为sub frame index=1的第二子帧。
基于空间分块进行子样本划分,可以确定对应于第一子帧的第一空间分块tile0和第二空间分块tile1,以及对应于第二子帧的一个第三空间分块tile2。
基于数据单元进行子样本划分,可以确定对应于第一空间分块tile0的多个数据单元,如图中所示的几何片Geo slice0、几何片Geo slice1、颜色属性片Attr colorslice0、颜色属性片Attr color slice1、帧索引属性片Attr frameIdx slice0、帧索引属性片Attr frameIdx slice1。
同时可以确定对应于第二空间分块tile1的多个数据单元,如图中所示的几何片Geo slice2、几何片Geo slice3、颜色属性片Attr color slice2、颜色属性片Attr colorslice3、帧索引属性片Attr frameIdx slice2、帧索引属性片Attr frameIdx slice3。
另外还可以确定对应于第三空间分块tile2的多个数据单元,如图中所示的几何片Geo slice4、几何片Geo slice5、颜色属性片Attr color slice4、颜色属性片Attrcolor slice5、帧索引属性片Attr frameIdx slice4、帧索引属性片Attr frameIdxslice5。
图17示出了本申请一个实施例中基于数据单元、空间分块两种子样本划分方式确定空间分块对应关系的结构框图。
如图17所示,基于空间分块进行子样本划分,可以确定第一空间分块tile0和第二空间分块tile1。
基于数据单元进行子样本划分,可以确定对应于第一空间分块tile0的多个数据单元,如图中所示的对应于子帧sub-frame0的几何片Geo slice0、颜色属性片Attr colorslice1和帧索引属性片Attr frameIdx slice0,以及对应于子帧sub-frame0和sub-frame1的几何片Geo slice1、颜色属性片Attr color slice1和帧索引属性片Attr frameIdxslice1。
同时可以确定对应于第二空间分块tile1的多个数据单元,如图中所示的对应于子帧sub-frame0和sub-frame1的几何片Geo slice2、颜色属性片Attr color slice2、和帧索引属性片Attr frameIdx slice2,以及对应于子帧sub-frame1的几何片Geo slice3、颜色属性片Attr color slice3和帧索引属性片Attr frameIdx slice3。
在本申请的一个实施例中,也可以在媒体文件数据盒中显性地指示点云子帧与空间分块之间的对应关系。在本申请实施例中,点云样本的媒体文件数据盒包括:
空间分块标志位字段,用于指示当前样本中的点云子帧是否对应于一个或者多个不同的空间分块;
子帧索引字段,用于指示当前点云子帧的索引信息;
空间分块数量字段,用于指示当前点云子帧对应的空间分块的数量;
空间分块标识字段,用于指示当前空间分块的标识符。
针对以上实施例的具体实现方式,图18示出了本申请实施例在一个应用场景中通过媒体文件数据盒指示点云子帧与空间分块之间的对应关系的语法结构。
如图18所示,本申请实施例中的媒体文件数据盒可以包括如下的字段:
空间分块标志位字段with_tile_info_flag,取值为1时表示当前样本中的子帧分别对应一个或多个不同的点云空间分块,取值为0时表示当前样本中的子帧无法按照点云空间分块进行区分。
子帧索引字段subframe_index,指示点云子帧的序号
空间分块数量字段num_tiles,指示相应点云子帧对应的点云空间分块个数。
空间分块标识字段tile_id,指示相应点云空间分块的标识符。
图19示出了本申请一个实施例中点云媒体的编码方法的步骤流程图,该方法可以应用于点云媒体系统的服务器、客户端以及中间节点等环节,本申请实施例以安装有点云编码装置的客户端设备执行点云媒体的编码方法作为示例。如图19所示,该点云媒体的编码方法包括如下的步骤S1910至S1930。
在步骤S1910中,获取点云源数据,点云源数据包括具有一个或者多个点云子帧的点云帧。
在步骤S1920中,对点云帧进行编码处理,得到至少一个数据单元。
在步骤S1930中,对至少一个数据单元进行封装处理,得到点云媒体文件,点云媒体文件包括封装于一个或者多个轨道中的点云样本;点云样本中的各个子样本的媒体文件数据盒包括子样本标志位字段以及子帧索引字段;子样本标志位字段用于指示子样本的划分方式,子帧索引字段用于指示与子样本中各个数据单元相对应的一个或者多个点云子帧的索引信息;当子样本中的一个数据单元对应至少两个点云子帧的索引信息时,至少两个点云子帧具有重叠的点云数据。
点云源数据包括表示位于各种3D空间(例如,表示真实环境的3D空间、表示虚拟环境的3D空间等)中的对象和/或环境的点云视频(图像和/或视频)。
在本申请的一个实施例中,数据源可以使用一个或多个相机(例如,能够对深度信息进行保护的红外相机、能够提取与深度信息对应的颜色信息的RGB相机等)、投影仪(例如,用于对深度信息进行保护的红外图案投影仪)、LiDRA等采集设备来捕获点云源数据。从点云源数据的深度信息中可以提取由3D空间中的点构成的几何结构的形状,并可以从点云源数据的颜色信息中提取每个点的属性以对点云源数据进行保护。
以点云视频数据为例,点云视频可以包括一个或多个点云帧,一个点云帧可以表示一帧点云图像。在本申请的一个实施例中,可以基于面向内技术和面向外技术中的至少一种来捕获点云视频数据。
面向内技术是指用设置在中心对象周围的一个或更多个相机(或相机传感器)捕获中心对象的图像的技术。可以使用面向内技术生成向用户提供关键对象的360度图像的点云内容(例如,向用户提供对象(例如,诸如角色、玩家、对象或演员这样的关键对象)的360度图像的VR/AR内容)。
面向外技术是指用设置在中心对象周围的一个或更多个相机(或相机传感器)捕获中心对象的环境而非中心对象的图像的技术。可以使用面向外技术生成用于提供从用户的角度出现的周围环境的点云内容(例如,表示可以提供给自驾驶车辆的用户的外部环境的内容)。
当基于一个或更多个相机的捕获操作来生成点云内容时,坐标系在每个相机当中是不同的,因此,数据源可以在捕获操作之前校准一个或更多个相机以设置全局坐标系。另外,数据源可以通过将任意图像和/或视频与通过上述捕获技术捕获的图像和/或视频进行合成来生成点云内容。数据源可以对所捕获的图像和/或视频执行后处理,例如可以去除不需要的区域(例如背景),识别所捕获的图像和/或视频连接到的空间,并且当存在空间孔时执行填充空间孔的操作等等。
数据源可以通过对从每个相机保护的点云视频的点执行坐标变换来生成一条点云内容。数据源可以基于每个相机位置的坐标对点执行坐标变换。因此,数据源可以生成一个表示宽泛的空间范围的点云内容,或可以生成具有高密度点的点云内容。
图20示出了本申请实施例在流媒体传输应用场景中进行点云数据编解码的流程图。如图20所示,服务器作为生产点云媒体文件的数据源,可以将点云数据编码并发送至用户所在的客户端,通过客户端对点云媒体文件进行解码后可以得到点云数据以供用户消费。具体的点云数据编解码过程可以包括如下步骤。
S2010:服务器根据点云码流中各几何slice对应的子帧索引号,确定各个几何slice对应的一个或多个子帧。
若每个几何slice仅对应1个子帧,即每个子帧所包含的点云片互不重叠,则在对点云子帧进行子样本封装时,采用flags=2的子样本划分方式并指示相应的子帧索引号。
若存在几何slice对应对应多个子帧,即每个子帧所包含的点云片存在重叠,则在对点云子帧进行子样本封装时,采用flags=0的子样本划分方式并通过元数据指示相应的子帧索引号。
S2020:服务器将点云码流封装为点云文件,其中点云子帧以子样本的形式进行划分和指示。
服务器对点云码流的封装可以是单轨封装或者是基于组件的多轨封装。
当进行单轨封装时,在flags=2的子样本划分方式中,子样本中包含相应子帧对应的所有几何和属性信息。在flags=0的子样本划分方式中,几何数据类型、属性数据类型、参数数据类型的子样本均可以对应到相应的子帧。
当进行多轨封装时,在flags=2的子样本划分方式中,仅对几何轨道进行子样本划分,子样本中包含相应子帧对应的所有几何信息。在flags=0的子样本划分方式中,仅几何数据类型、参数数据类型的子样本可以对应到相应的子帧。
S2030:对于文件中存在的点云子帧,指示这些样本内包含的点云子帧的呈现时间信息。
S2040:对于点云子帧的空间信息,指示点云子帧和tile的对应关系。
S2050:服务器将点云文件传输给客户端。
S2060:客户端在对点云文件进行解封装和解码时,根据点云子帧相关的信息,提取各个点云子帧。
S2070:客户端对点云序列进行重排序后,结合点云子帧的呈现时间信息进行呈现。
本申请实施例针对GPCC点云媒体,提出了一种针对点云子帧的文件封装方法。该文件封装方法在文件封装层面,定义不同场景下点云子帧在样本中的封装方式,指示点云子帧的标识和持续时间,指示点云子帧和点云空间分块的对应关系。本申请可以更灵活地支持点云子帧在文件中的封装,从而支持更多的应用场景,最大化利用点云子帧带来的编码效率提升。
本申请实施例在点云子帧互不重叠的应用场景中的一种实现方案如下。
(1)服务器根据点云码流中各几何slice对应的子帧索引号,确定各个几何slice对应的子帧。
假设每个子帧所包含的点云片互不重叠,则在对点云子帧进行子样本封装时,采用flags=2的子样本划分方式并指示相应的子帧索引号。
服务器S1将点云码流以单轨方式封装为点云文件F1,其文件封装结果如图21所示。在存在点云子帧的样本中,点云子帧以子样本的形式进行划分和指示。SubSampleInformationBox数据盒中的flags字段取值为2,在sub-sample0和sub-sample1中分别指示sub-frame的索引为1和2。
服务器S2对将点云码流以基于组件的多轨方式封装为点云文件F2,此时对几何轨道进行子样本划分。对于属性轨道,可选地,可以通过几何轨道和属性轨道之间的索引关系,对应找得属性轨道中所属的数据信息,其封装结果如图22所示。另外,也可以对属性轨道对应划分子样本,其封装结果如图23所示。在存在点云子帧的样本中,点云子帧以子样本的形式进行划分和指示。SubSampleInformationBox数据盒中的flags字段取值为2,在sub-sample0和sub-sample1中分别指示sub-frame的索引为1和2。
(2)对于文件中存在的点云子帧,指示这些样本内包含的点云子帧的呈现时间信息。
SubFrameConfigurationGroupEntry:
{nb_subframes=2;
with_unique_duration_flag=1;
{subframe_index=1;sub_sample_duration=10}
{subframe_index=2;sub_sample_duration=20}
}
通过样本组本身的特性,可以索引到sample2是存在sub-frame的样本,再通过本申请实施例提供字段,则可以知道每一个sub-frame的呈现时长。分别是10个单位timescale。
(3)对于点云子帧的空间信息,指示点云子帧和tile的对应关系。
SubFrameConfigurationGroupEntry:
{nb_subframes=2;
with_tile_info_flag=1;
{subframe_index=1;num_tiles=2;{tile_id=0,1}}
{subframe_index=2;num_tiles=1;{tile_id=2}}
}
通过样本组本身的特性,可以索引到sample2是存在sub-frame的样本,再通过本申请实施例提供字段,则可以知道每一个sub-frame对应的tile id信息。
最后结合对于tile id和空间信息的关联指示,即可知道每一个子帧对应的空间信息。
(4)服务器将点云文件传输给客户端。
(5)客户端在对点云文件进行解封装和解码时,根据点云子帧相关的信息,提取各个点云子帧,对点云序列进行重排序后,结合点云子帧的呈现时间信息、空间信息进行呈现。
在客户端实现上,可选地,可以在解封装阶段就对点云序列进行重排序,再进行解码。也可以先解封装以及解码后,再根据子帧的信息进行重排序。
本申请实施例在点云子帧存在重叠的应用场景中的一种实现方案如下。
(1)服务器根据点云码流中各几何slice对应的子帧索引号,确定各个几何slice对应的子帧。
假设每个子帧所包含的点云片存在重叠,则在对点云子帧进行子样本封装时,采用flags=0的子样本划分方式进行划分。
服务器S1将点云码流以单轨方式封装为点云文件F1,在存在点云子帧的样本中,SubSampleInformationBox数据盒中的flags字段取值为0,每个sub-sample中为一个G-PCC数据单元。其封装结果如图24所示。
结合SubsampleSubframeInfoGroupEntry数据盒中的信息,可以对sample2中各个sub-sample中每个G-PCC数据单元所属的子帧信息进行指示。
{subsample_count=4
{related_subframe_num=1;subframe_index=1}
{related_subframe_num=1;subframe_index=1}
{related_subframe_num=2;subframe_index=1,2}
{related_subframe_num=1;subframe_index=2}
}
按照sample2中各个sub-sample的顺序,即可将sub-sample和对应的子帧信息进行关联。
多轨模式的封装在sub-sample的划分上,同前一实施例的处理方式。可以只在几何轨道中划分sub-sample,也可以在几何、属性轨道中都划分sub-sample。
(2)对于文件中存在的点云子帧,指示这些样本内包含的点云子帧的呈现时间信息。
SubFrameConfigurationGroupEntry:
{nb_subframes=2;
with_unique_duration_flag=0;
}
通过中样本组本身的特性,可以索引到sample2是存在sub-frame的样本,再通过本申请实施例提供字段,则可以知道每一个sub-frame的呈现时长均相同。假设sample2的时长是20个单位timescale,则每个sub-frame为10个单位timescale。
(3)对于点云子帧的空间信息,指示点云子帧和tile的对应关系。
SubFrameConfigurationGroupEntry:
{nb_subframes=2;
with_tile_info_flag=1;
{subframe_index=1;num_tiles=2;{tile_id=0,1}}
{subframe_index=2;num_tiles=2;{tile_id=1,2}}
}
通过中样本组本身的特性,可以索引到sample2是存在sub-frame的样本,再通过本申请实施例提供字段,则可以知道每一个sub-frame对应的tile id信息。
最后结合中对于tile id和空间信息的关联指示,即可知道每一个子帧对应的空间信息。
(4)服务器将点云文件传输给客户端。
(5)客户端在对点云文件进行解封装和解码时,根据点云子帧相关的信息,提取各个点云子帧,对点云序列进行重排序后,结合点云子帧的呈现时间信息、空间信息进行呈现。
在客户端实现上,可选地,可以在解封装阶段就对点云序列进行重排序,再进行解码。也可以先解封装以及解码后,再根据子帧的信息进行重排序。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的点云媒体的编解码方法。图25示意性地示出了本申请实施例提供的点云媒体的解码装置的结构框图。如图25所示,点云媒体的解码装置2500包括:
获取模块2510,被配置为获取点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;
解析模块2520,被配置为解析所述点云样本中的各个子样本的媒体文件数据盒,得到子样本标志位字段的取值,所述子样本标志位字段用于指示所述子样本的划分方式;
索引模块2530,被配置为根据所述子样本标志位字段的取值获取与所述子样本中各个数据单元相对应的一个或者多个点云子帧的索引信息;当所述子样本中的一个数据单元对应至少两个点云子帧的索引信息时,所述至少两个点云子帧具有重叠的点云数据;
解码模块2540,被配置为根据所述一个或者多个点云子帧的索引信息对所述点云媒体文件进行解封装和解码处理,得到点云数据。
图26示意性地示出了本申请实施例提供的点云媒体的编码装置的结构框图。如图26所示,点云媒体的编码装置2600包括:
获取模块2610,被配置为获取点云源数据,所述点云源数据包括具有一个或者多个点云子帧的点云帧;
编码模块2620,被配置为对所述点云帧进行编码处理,得到至少一个数据单元;
封装模块2630,被配置为对所述至少一个数据单元进行封装处理,得到点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;所述点云样本中的各个子样本的媒体文件数据盒包括子样本标志位字段以及子帧索引字段;所述子样本标志位字段用于指示所述子样本的划分方式,所述子帧索引字段用于指示与所述子样本中各个数据单元相对应的一个或者多个点云子帧的索引信息;当所述子样本中的一个数据单元对应至少两个点云子帧的索引信息时,所述至少两个点云子帧具有重叠的点云数据。
本申请各实施例中提供的点云媒体的编码装置和解码装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图27示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图27示出的电子设备的计算机系统2700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图27所示,计算机系统2700包括中央处理器2701(Central Processing Unit,CPU),其可以根据存储在只读存储器2702(Read-Only Memory,ROM)中的程序或者从存储部分2708加载到随机访问存储器2703(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器2703中,还存储有系统操作所需的各种程序和数据。中央处理器2701、在只读存储器2702以及随机访问存储器2703通过总线2704彼此相连。输入/输出接口2705(Input/Output接口,即I/O接口)也连接至总线2704。
以下部件连接至输入/输出接口2705:包括键盘、鼠标等的输入部分2706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分2707;包括硬盘等的存储部分2708;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分2709。通信部分2709经由诸如因特网的网络执行通信处理。驱动器2710也根据需要连接至输入/输出接口2705。可拆卸介质2711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2710上,以便于从其上读出的计算机程序根据需要被安装入存储部分2708。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2709从网络上被下载和安装,和/或从可拆卸介质2711被安装。在该计算机程序被中央处理器2701执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (18)
1.一种点云媒体的解码方法,其特征在于,包括:
获取点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;
解析所述点云样本中包含的各个子样本的媒体文件数据盒,得到子样本标志位字段的取值,所述子样本标志位字段用于指示所述子样本的划分方式;所述子样本的划分方式包括基于数据单元、空间分块或者点云子帧中的至少一种划分子样本;
根据所述子样本标志位字段的取值对所述点云媒体文件进行解封装和解码处理,得到点云数据。
2.根据权利要求1所述的点云媒体的解码方法,其特征在于,所述点云样本中的各个子样本的划分方式包括:
当所述子样本标志位字段的取值为第一数值时,基于数据单元划分子样本,以使一个子样本中包含一个数据单元;
当所述子样本标志位字段的取值为第二数值时,基于空间分块划分子样本,以使一个子样本包含对应于一个第一划分对象的一个或多个连续的数据单元,所述第一划分对象包括空间分块、参数集合、空间分块集合信息或者帧边界标识中的至少一个;
当所述子样本标志位字段的取值为第三数值时,基于点云子帧划分子样本,以使一个子样本中包含对应于一个第二划分对象的一个或多个连续的数据单元,所述第二划分对象包括一个完整的点云子帧。
3.根据权利要求2所述的点云媒体的解码方法,其特征在于,当所述子样本标志位字段的取值为第三数值时,所述子样本的媒体文件数据盒包括:
子帧索引字段,所述子帧索引字段用于指示当前子样本中包含的所述点云子帧的索引信息。
4.根据权利要求2所述的点云媒体的解码方法,其特征在于,在多个所述子样本中,至少一个所述子样本对应的第二划分对象包括多个点云子帧。
5.根据权利要求4所述的点云媒体的解码方法,其特征在于,当所述子样本标志位字段的取值为第三数值时,所述子样本的媒体文件数据盒包括:
子帧完整标志位字段,用于指示当前子样本是否包含构成点云子帧的所有数据;
子帧数量字段,用于指示当前子样本对应的点云子帧的数量;
子帧索引字段,用于指示当前子样本对应的点云子帧的索引信息。
6.根据权利要求5所述的点云媒体的解码方法,其特征在于,当所述点云样本封装于一个轨道时,所述构成点云子帧的所有数据包括所有的几何数据和属性数据;当所述点云样本封装于多个轨道时,所述构成点云子帧的所有数据包括所有的几何数据或者所有的属性数据。
7.根据权利要求1所述的点云媒体的解码方法,其特征在于,当所述子样本标志位字段的取值为第一数值时,所述点云子帧的媒体文件数据盒包括:
相关子帧数量字段,用于指示当前子样本对应的点云子帧的数量;
子帧索引字段,用于指示当前子样本对应的点云子帧的索引信息。
8.根据权利要求7所述的点云媒体的解码方法,其特征在于,当所述子样本标志位字段的取值为第一数值时,所述点云子帧的媒体文件数据盒还包括:
子样本数量字段,用于指示当前样本中包含的子样本的数量。
9.根据权利要求8所述的点云媒体的解码方法,其特征在于,当所述子样本标志位字段的取值为第一数值时,所述点云子帧的媒体文件数据盒还包括:
子帧相关样本数量字段,用于指示包含多个点云子帧的点云样本的数量;
样本序号差值字段,用于指示在解码顺序下,当前包含多个点云子帧的点云样本与前一个包含多个点云子帧的点云样本之间的序号差值。
10.根据权利要求1至9中任意一项所述的点云媒体的解码方法,其特征在于,当所述点云样本中的各个子样本的划分方式为基于点云子帧划分子样本时,所述子样本的媒体文件数据盒包括:
呈现时间标志位字段,用于指示所述点云样本中包含的各个点云子帧是否具有相同的呈现时长;
子样本时长字段,用于指示当所述点云样本中包含的各个点云子帧具有不同的呈现时长时,当前子样本的呈现时长。
11.根据权利要求1至9中任意一项所述的点云媒体的解码方法,其特征在于,所述点云样本的媒体文件数据盒包括:
子帧数量字段,用于指示当前点云样本中包含的点云子帧的数量;
呈现时间标志位字段,用于指示所述点云样本中包含的各个点云子帧是否具有相同的呈现时长。
12.根据权利要求1至9中任意一项所述的点云媒体的解码方法,其特征在于,所述点云样本的媒体文件数据盒包括:
子帧索引字段,用于指示当所述点云样本中包含的各个点云子帧具有不同的呈现时长时,当前子样本对应的点云子帧的索引信息;
子样本时长字段,用于指示当所述点云样本中包含的各个点云子帧具有不同的呈现时长时,当前子样本的呈现时长。
13.根据权利要求1至9中任意一项所述的点云媒体的解码方法,其特征在于,所述点云样本的媒体文件数据盒包括:
空间分块标志位字段,用于指示当前样本中的点云子帧是否对应于一个或者多个不同的空间分块;
子帧索引字段,用于指示当前点云子帧的索引信息;
空间分块数量字段,用于指示当前点云子帧对应的空间分块的数量;
空间分块标识字段,用于指示当前空间分块的标识符。
14.一种点云媒体的编码方法,其特征在于,包括:
获取点云源数据,所述点云源数据包括具有一个或者多个点云子帧的点云帧;
对所述点云帧进行编码处理,得到至少一个数据单元;
对所述至少一个数据单元进行封装处理,得到点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;所述点云样本中的各个子样本的媒体文件数据盒包括子样本标志位字段;所述子样本标志位字段用于指示所述子样本的划分方式,所述子样本的划分方式包括基于数据单元、空间分块或者点云子帧中的至少一种划分子样本。
15.一种点云媒体的解码装置,其特征在于,包括:
获取模块,被配置为获取点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;
解析模块,被配置为解析所述点云样本中包含的各个子样本的媒体文件数据盒,得到子样本标志位字段的取值,所述子样本标志位字段用于指示所述子样本的划分方式;所述子样本的划分方式包括基于数据单元、空间分块或者点云子帧中的至少一种划分子样本;
解码模块,被配置为根据所述子样本标志位字段对所述点云媒体文件进行解封装和解码处理,得到点云数据。
16.一种点云媒体的编码装置,其特征在于,包括:
获取模块,被配置为获取点云源数据,所述点云源数据包括具有一个或者多个点云子帧的点云帧;
编码模块,被配置为对所述点云帧进行编码处理,得到至少一个数据单元;
封装模块,被配置为对所述至少一个数据单元进行封装处理,得到点云媒体文件,所述点云媒体文件包括封装于一个或者多个轨道中的点云样本;所述点云样本中的各个子样本的媒体文件数据盒包括子样本标志位字段;所述子样本标志位字段用于指示所述子样本的划分方式,所述子样本的划分方式包括基于数据单元、空间分块或者点云子帧中的至少一种划分子样本。
17.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至14中任意一项所述的方法。
18.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令使得所述电子设备执行权利要求1至14中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310890442.7A CN116744007A (zh) | 2022-04-22 | 2022-04-22 | 点云媒体的编解码方法及相关产品 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310890442.7A CN116744007A (zh) | 2022-04-22 | 2022-04-22 | 点云媒体的编解码方法及相关产品 |
CN202210428152.6A CN114697668B (zh) | 2022-04-22 | 2022-04-22 | 点云媒体的编解码方法及相关产品 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210428152.6A Division CN114697668B (zh) | 2022-04-22 | 2022-04-22 | 点云媒体的编解码方法及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116744007A true CN116744007A (zh) | 2023-09-12 |
Family
ID=82145147
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310890442.7A Pending CN116744007A (zh) | 2022-04-22 | 2022-04-22 | 点云媒体的编解码方法及相关产品 |
CN202210428152.6A Active CN114697668B (zh) | 2022-04-22 | 2022-04-22 | 点云媒体的编解码方法及相关产品 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210428152.6A Active CN114697668B (zh) | 2022-04-22 | 2022-04-22 | 点云媒体的编解码方法及相关产品 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN116744007A (zh) |
WO (1) | WO2023202095A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2613853B (en) * | 2021-12-16 | 2024-01-24 | Canon Kk | Method, device, and computer program for optimizing encapsulation of point cloud data |
CN116744007A (zh) * | 2022-04-22 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 点云媒体的编解码方法及相关产品 |
CN115396647B (zh) * | 2022-08-22 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 |
CN115834857B (zh) * | 2022-11-24 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 点云数据处理方法、装置、设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011144097A2 (zh) * | 2011-05-26 | 2011-11-24 | 华为技术有限公司 | 重排、抽取分片中媒体数据的方法、设备及系统 |
US11012713B2 (en) * | 2018-07-12 | 2021-05-18 | Apple Inc. | Bit stream structure for compressed point cloud data |
JP7460611B2 (ja) * | 2018-09-18 | 2024-04-02 | ヴィド スケール インコーポレイテッド | ポイントクラウド圧縮ビットストリームフォーマットに対する方法および装置 |
WO2020059826A1 (ja) * | 2018-09-21 | 2020-03-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
CN112997498A (zh) * | 2018-11-13 | 2021-06-18 | 松下电器(美国)知识产权公司 | 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置 |
GB2580602A (en) * | 2019-01-14 | 2020-07-29 | Vividq Ltd | Holographic display system and method |
WO2021064293A1 (en) * | 2019-10-02 | 2021-04-08 | Nokia Technologies Oy | Method and apparatus for storage and signaling of sub-sample entry descriptions |
WO2021210837A1 (ko) * | 2020-04-13 | 2021-10-21 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
CN114079781B (zh) * | 2020-08-18 | 2023-08-22 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法、装置、设备及存储介质 |
CN114241119A (zh) * | 2020-09-07 | 2022-03-25 | 深圳荆虹科技有限公司 | 一种游戏模型生成方法、装置、系统及计算机存储介质 |
CN116744007A (zh) * | 2022-04-22 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 点云媒体的编解码方法及相关产品 |
-
2022
- 2022-04-22 CN CN202310890442.7A patent/CN116744007A/zh active Pending
- 2022-04-22 CN CN202210428152.6A patent/CN114697668B/zh active Active
- 2022-12-09 WO PCT/CN2022/137764 patent/WO2023202095A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN114697668B (zh) | 2023-06-30 |
CN114697668A (zh) | 2022-07-01 |
WO2023202095A1 (zh) | 2023-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114697668B (zh) | 点云媒体的编解码方法及相关产品 | |
US11805304B2 (en) | Method, device, and computer program for generating timed media data | |
KR102655630B1 (ko) | 3차원 비디오 컨텐츠를 포함하는 미디어 파일을 생성하는 방법 및 장치 및 3차원 비디오 컨텐츠를 재생하는 방법 및 장치 | |
JP7434574B2 (ja) | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法 | |
CN116684666A (zh) | 点云数据发送装置和方法、点云数据接收装置和方法 | |
CN115396647B (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
CN115396646B (zh) | 一种点云媒体的数据处理方法及相关设备 | |
CN115379189A (zh) | 一种点云媒体的数据处理方法及相关设备 | |
WO2024183506A1 (zh) | 沉浸媒体的数据处理方法、装置、计算机设备、存储介质及程序产品 | |
KR20220160646A (ko) | 미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스 | |
KR102624994B1 (ko) | 포인트 클라우드 데이터를 위한 파일 형식 | |
WO2023226504A1 (zh) | 一种媒体数据处理方法、装置、设备以及可读存储介质 | |
WO2022151370A1 (en) | Multi-track based immersive media playout | |
WO2023169003A1 (zh) | 点云媒体的解码方法、点云媒体的编码方法及装置 | |
CN116781674B (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
WO2024114519A1 (zh) | 点云封装与解封装方法、装置、介质及电子设备 | |
US20230360277A1 (en) | Data processing method and apparatus for immersive media, device and storage medium | |
CN115426502A (zh) | 点云媒体的数据处理方法、装置、设备及存储介质 | |
CN115037943A (zh) | 一种媒体数据处理方法、装置、设备以及可读存储介质 | |
CN115061984A (zh) | 点云媒体的数据处理方法、装置、设备、存储介质 | |
KR20230113781A (ko) | 몰입형 미디어의 다중 아틀라스 캡슐화 | |
CN115150368A (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 |