用于改进点云数据的多轨封装的方法、装置和计算机程序与流程
- 国知局
- 2024-11-19 10:04:13
本公开涉及以标准和可互操作格式来封装数据(特别是点云数据),以例如作为轨的集合而存储或传输3d点的基于条带(slice)的点云帧。
背景技术:
1、运动图片专家组(mpeg)正在对点云数据(也称为体积媒体数据)信息的压缩和存储进行标准化。点云信息由具有相关联的属性信息(诸如颜色、反射率和帧索引等)的3d点的集合组成。
2、在第一方面,mpeg-i第9部分(iso/iec 23090-9)指定了基于几何的点云压缩(geometry-based point cloud compression(g-pcc)),并且指定了针对点云信息的位流句法。根据mpeg-i第9部分,点云是包括几何信息、可选属性和相关联的元数据的点的无序列表。几何信息描述在三维笛卡尔坐标系中的点的位置。属性是各个点的类型化性质,诸如颜色或反射率等。元数据是用于解释几何信息和属性的信息项。g-pcc压缩规范(mpeg-i第9部分)利用预留的属性标签值(3指示帧索引,并且4指示帧编号属性)定义了如帧索引属性或帧编号属性的特定属性(回顾一下,根据mpeg-i第9部分,点云帧是特定时间实例的点的集合)。点云帧可以被划分为一个或多于一个有序子帧、区块(tile)或条带。子帧是点云帧的由具有相同帧编号或帧索引属性值的点组成的部分表示。例如,子帧可以是点云帧内的具有共享公共获取、捕获或渲染时间的属性的点的集合。作为另一示例,子帧可以是点云帧内的具有在给定时间范围期间被连续地获取或捕获或者应在给定时间范围内被渲染的属性的点的集合。又作为另一示例,子帧可以是点云帧内的具有根据激光发射方向或与3d传感器的扫描路径的一部分相对应地获取的属性的点的集合。仍然在mpeg-i第9部分中,可能使用帧边界标记数据单元或一些数据单元头部中的参数(frame_ctr_lsb句法元素)来利用framectr变量指示点云帧。
3、回顾一下,区块是利用公共slice_tag句法元素值识别的条带的集合,这些条带的几何被包含在可以在区块目录数据单元中指定的边界框内。各个区块由单个边界框和标识符(tileid)组成。区块信息不被iso/iec 23090-9中指定的解码处理使用。条带与经编码的点云帧的一部分或整个经编码的点云帧的几何和属性相对应。每个条带应包括对条带几何进行编码的至少一个几何数据单元(gdu)以及对条带属性进行编码的属性数据单元(adu)或默认属性数据单元(du)。利用gdu slice_id识别条带。iso/ec 23090-9将条带解码处理指定为四步处理:
4、-对条带内的点进行解码,
5、-对默认属性(如果存在)进行解码,
6、-对点属性(如果存在)进行解码,以及
7、-对点的位置进行偏移和缩放。
8、在第二方面,mpeg-i第18部分(iso/iec 23090-18)指定了使得可以存储和传递基于几何的点云压缩数据的媒体格式。它还支持在传递和/或对时间进行解码时灵活提取基于几何的点云压缩数据。根据mpeg-i第18部分,点云帧被封装在一个或多于一个g-pcc轨中,g-pcc轨中的样本对应于单个点云帧。各个样本包括属于相同呈现时间的一个或多于一个g-pcc单元。g-pcc单元是一个类型长度值(type-length-value(tlv))封装结构,其包含序列参数集(sps)、几何参数集(gps)、属性参数集(aps)、区块清单、帧边界标记、几何数据单元(gdu)、属性数据单元(adu)、默认属性数据单元、帧特定属性性质(fsap)数据单元和用户数据数据单元其中至少之一。tlv封装结构的句法被定义在iso/iec 23090-9的附录b中。
9、虽然iso基础媒体文件格式已被证明对于封装点云数据是有效的,但是需要改进封装效率,特别是改进3d点的基于条带的点云帧(即,包括至少一个条带的点云帧)的多轨封装。
技术实现思路
1、已经设计了本公开来应对前述关注点中的一个或多于一个。
2、在该上下文中,提供了用于改进点云数据的封装的方案。
3、根据本公开的第一方面,提供一种用于将位流封装在包括不同轨的媒体文件中的方法,所述位流包括点云数据,所述点云数据包括基于条带的点云帧,所述点云帧的条带包括不同类型的数据单元,所述方法包括:
4、获得一个点云帧的第一条带的第一数据单元;
5、针对所获得的第一数据单元中的各个第一数据单元,将该第一数据单元封装在所述媒体文件的轨中,该轨是根据该第一数据单元的类型而选择的;
6、获得所述一个点云帧的第二条带的第二数据单元;
7、针对所获得的第二数据单元中的各个第二数据单元,将该第二数据单元封装在所述媒体文件的轨中,该轨是根据该第二数据单元的类型而选择的;
8、获得表征所述第一数据单元相对于所述第二数据单元在所述媒体文件的轨中的相对位置的至少一个信息项;以及
9、将所获得的至少一个信息项封装在所述媒体文件中。
10、因此,本公开的方法使得可以描述包括基于条带的点云数据帧的位流的封装后的数据单元,从而使得解析器能够生成具有适当排序的数据单元的位流。
11、根据一些实施例,所获得的至少一个信息项其中至少之一被封装在所述媒体文件的几何轨中作为样本组。
12、还根据一些实施例,所获得的至少一个信息项其中至少之一被封装在所述媒体文件的不同轨中的各个轨中。
13、还根据一些实施例,被封装在媒体文件的不同轨中的各个轨中的至少一个信息项是条带分隔符。
14、还根据一些实施例,被封装在媒体文件的不同轨中的各个轨中的至少一个信息项包括样本内的数据单元的结构的描述,各个数据单元与条带信息相关联。
15、还根据一些实施例,被封装在媒体文件的不同轨中的各个轨中的至少一个信息项包括点云帧内的条带的结构的描述。
16、还根据一些实施例,所述媒体文件符合isobmf格式,以及其中,所述不同轨包括几何轨和至少一个属性轨,所述数据单元包括几何数据单元和属性数据单元。
17、根据本公开的第二方面,提供一种用于解析包括经封装的点云数据的媒体文件的方法,所述点云数据包括基于条带的点云帧,所述点云帧的条带包括不同类型的数据单元,所述数据单元根据其类型在所述媒体文件中被封装在不同轨中,所述方法包括:
18、以条带为单位从所述轨获得数据单元;
19、基于条带来串接所获得的数据单元,使得与给定轨的给定条带相关联的所有所获得的数据单元、以及在所述不同轨中的除了所述给定轨之外的轨中的与对应于所述给定条带的条带相关联的所有所获得的数据单元是连续的;以及
20、生成包括所串接的数据单元的位流。
21、因此,本公开的方法使得可以解析被封装在多轨媒体文件中的基于条带的点云帧以生成具有适当排序的数据单元的位流。这里要注意的是,属于轨的条带的数据单元和属于另一轨的相应条带的数据单元属于位流中的同一条带。
22、根据一些实施例,获得数据单元并且串接所获得的数据单元包括:
23、从所述不同轨中的第一轨获得至少一个第一数据单元的第一集合,所述第一集合的数据单元属于第一条带;
24、从所述不同轨中的与所述第一轨不同的第二轨获得至少一个第二数据单元的第二集合,所述第二集合的数据单元属于第二条带,所述第二条带对应于所述第一条带,以及
25、将所述第一集合的数据单元和所述第二集合的数据单元进行串接,使得所述第一集合的数据单元和所述第二集合的数据单元是连续的。
26、还根据一些实施例,所述方法还包括从所述第一轨获得至少一个第三数据单元的第三集合,所述第三集合的数据单元属于第三条带,所述第三条带不同于所述第一条带并且在所述第一条带的后面,所述第一集合的数据单元和所述第三集合的数据单元属于同一样本,所述第三集合的数据单元在所生成的位流中被串接在所述第一集合的数据单元和所述第二集合的数据单元之后。
27、还根据一些实施例,获得至少一个第一数据单元的第一集合包括:
28、识别第一集合的第一数据单元;
29、将所识别的第一数据单元的信息项与第一轨中的所识别的第一数据单元后面的数据单元的信息项进行比较;以及
30、作为比较的结果,确定所识别的第一数据单元后面的数据单元是否属于第一集合。
31、还根据一些实施例,获得至少一个第一数据单元的第一集合包括:
32、识别所述第一轨中的数据单元;
33、获得与所识别的数据单元相关联的条带标识符;
34、将所获得的条带标识符与当前条带标识符进行比较;以及
35、作为所述比较的结果,确定所识别的数据单元是否属于所述第一集合。
36、还根据一些实施例,获得至少一个第一数据单元的第一集合包括:
37、从媒体文件获得条带封装描述(针对每个条带的数据单元的描述(data unit perslice description)),以及
38、根据所获得的条带封装描述(针对每个条带的数据单元的描述),从第一轨获得该至少一个第一数据单元。
39、还根据一些实施例,根据包括多个数据单元的样本的引用来获得条带封装描述(针对每个条带的数据单元的描述),所述第一集合的数据单元是从所述多个数据单元获得的。
40、还根据一些实施例,获得至少一个第一数据单元的第一集合包括:
41、在第一轨中识别第一集合的第一数据单元;
42、获得第一轨中的所识别的第一数据单元后面的数据单元的类型;以及
43、如果所获得的类型对应于条带分隔符,则提供用于通知已经获得第一集合的所有第一数据单元的信息项。
44、还根据一些实施例,媒体文件符合isobmf格式,并且其中不同轨包括几何轨和至少一个属性轨,数据单元包括几何数据单元和属性数据单元。
45、还根据一些实施例,针对每个条带的数据单元的描述提供条带的数量,并且针对各个条带,提供与该条带相关联的每个轨的数据单元的数量的列表。
46、还根据一些实施例,列表具有等于从包含该样本组的几何轨到属性轨的轨引用的数量加1的长度。
47、还根据一些实施例,列表从用于几何轨的数据单元的数量开始进行排序。
48、根据本公开的第三方面,提供一种用于将位流封装在包括不同轨的媒体文件中的方法,所述位流包括点云数据,所述点云数据包括基于条带的点云帧,所述点云帧的条带包括不同类型的数据单元,所述方法包括:
49、获得一个点云帧的第一条带的第一数据单元;
50、针对所获得的第一数据单元中的各个第一数据单元,将该第一数据单元封装在所述媒体文件的轨中,该轨是根据该第一数据单元的类型而选择的;
51、获得所述一个点云帧的第二条带的第二数据单元;
52、针对所获得的第二数据单元中的各个第二数据单元,将该第二数据单元封装在所述媒体文件的轨中,该轨是根据该第二数据单元的类型而选择的;
53、获得表征所述第一数据单元相对于所述第二数据单元在所述位流中的相对顺序的至少一个信息项;以及
54、将所获得的至少一个信息项封装在所述媒体文件中。
55、因此,本公开的方法使得可以描述包括基于条带的点云数据帧的位流的封装后的数据单元,从而使得解析器能够生成具有适当排序的数据单元的位流。
56、根据一些实施例,所获得的至少一个信息项其中至少之一被封装在所述媒体文件的几何轨中作为样本组。
57、还根据一些实施例,所述样本组提供条带的数量,并且针对各个条带,提供与该条带相关联的每个轨的数据单元的数量的列表。
58、还根据一些实施例,所述列表具有等于从包含该样本组的几何轨到属性轨的轨引用的数量加1的长度。
59、还根据一些实施例,所述列表从用于所述几何轨的数据单元的数量开始进行排序。
60、还根据一些实施例,所述媒体文件符合isobmf格式,以及其中,所述不同轨包括几何轨和至少一个属性轨,所述数据单元包括几何数据单元和属性数据单元。
61、根据本公开的另一方面,提供一种包括被配置为执行上述方法的各个步骤的处理单元的装置。
62、本公开的该方面具有与上述方面类似的优点。
63、根据本公开的方法的至少一部分可以是计算机实现的。因此,本公开可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施例的形式,这些实施例在此可以统称为“电路”、“模块”或“系统”。此外,本公开可以采取体现在任何有形的表达介质中的计算机程序产品的形式,该有形的表达介质具有在该介质中体现的计算机可用程序代码。
64、由于本公开的方案可以在软件中实现,因此本公开的方案可以被体现为用于在任何合适的载体介质上提供给可编程设备的计算机可读代码。有形载体介质可以包括存储介质,诸如软盘、cd-rom、硬盘驱动器、磁带装置或固态存储器装置等。暂时性载体介质可以包括诸如电信号、电子信号、光信号、声学信号、磁信号或电磁信号等的信号,例如微波或rf信号等。
本文地址:https://www.jishuxx.com/zhuanli/20241118/331397.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。