WO2023029858A1 - 点云媒体文件的封装与解封装方法、装置及存储介质 - Google Patents
点云媒体文件的封装与解封装方法、装置及存储介质 Download PDFInfo
- Publication number
- WO2023029858A1 WO2023029858A1 PCT/CN2022/109620 CN2022109620W WO2023029858A1 WO 2023029858 A1 WO2023029858 A1 WO 2023029858A1 CN 2022109620 W CN2022109620 W CN 2022109620W WO 2023029858 A1 WO2023029858 A1 WO 2023029858A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- attribute
- instance
- information
- point cloud
- attribute instance
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 154
- 238000005538 encapsulation Methods 0.000 title claims abstract description 93
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 24
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 63
- 230000011664 signaling Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 10
- 230000006835 compression Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012559 user support system Methods 0.000 description 1
Images
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种点云媒体文件的封装与解封装方法、装置及存储介质,该方法包括:文件封装设备通过获取目标点云,并对目标点云进行编码,得到目标点云的码流,该目标点云包括N类属性信息,N类属性信息中的至少一类属性信息包括M个属性实例,N为正整数,M为大于1的正整数;根据M个属性实例中至少一个属性实例的第一特征信息,对目标点云的码流进行封装,得到目标点云的媒体文件,该目标点云的媒体文件包括至少一个属性实例的第一特征信息。即本申请通过将属性实例的第一特性信息添加在媒体文件中,使得文件解封装设备可以根据属性信息的第一特征信息来确定具体解码的目标属性实例,进而节省宽带和解码资源,提高解码效率。
Description
本申请要求于2021年09月01日提交中国专利局、申请号为202111022386.2、发明名称为“点云媒体文件的封装与解封装方法、装置及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请实施例涉及视频处理技术领域,尤其涉及一种点云媒体文件的封装与解封装方法、装置及存储介质。
发明背景
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云媒体按照用户在消费媒体内容时的自由度,可以分为3自由度(Degree of Freedom,简称DoF)媒体、3DoF+媒体以及6DoF媒体。
点云中的每个点包括几何信息和属性信息,属性信息包括颜色属性、反射率等不同类型的属性信息,而同一类型的属性信息也可以包括不同的属性实例,例如一个点的颜色属性包括不同的颜色类型,将不同的颜色类型称为颜色属性的不同属性实例。在编码技术中,例如基于几何模型的点云压缩(Geometry-based Point Cloud Compression,简称GPCC),支持在一个码流里包含同一属性类型的多个属性实例。
发明内容
本申请提供一种点云媒体文件的封装与解封装方法、装置及存储介质,可以根据媒体文件中添加的M个属性实例中至少一个属性实例的第一特征信息,来选择性地消费属性实例,进而节省解码资源,提高解码效率。
本申请实施例提供一种点云媒体文件的封装方法,应用于文件封装设备,该方法包括:
获取目标点云,并对所述目标点云进行编码,得到所述目标点云的码流;
对所述码流进行封装,得到所述目标点云的媒体文件;
当所述目标点云包括至少一类属性信息的M个属性实例对应的实例数据时,将所述M个属性实例中至少一个属性实例的第一特征信息作为所述至少一个属性实例对应的实例数据的元数据,封装在所述目标点云的媒体文件中,所述第一特征信息用于标识所述至少一个属性实例与所述M个属性实例中其他属性实例的区别,所述M为大于1的正整数。
本申请实施例还提供一种点云媒体文件的解封装方法,应用于文件解封装设备,该方法包括:
接收文件封装设备发送的第一信息;其中,所述第一信息用于指示M个属性实例中的至少一个属性实例的第一特征信息,所述M个属性实例为目标点云所包括的N类属性信息中至少一类属性信息所包括的M个属性实例,所述N为正整数,所述M为大于1的正整数;
利用所述第一特征信息从所述至少一个属性实例中确定目标属性实例,获取所述目标属性实例对应的实例数据。
本申请实施例还提供一种点云媒体文件的封装装置,应用于文件封装设备,该装置包括:
获取单元,用于获取目标点云,并对所述目标点云进行编码,得到所述目标点云的码流;
封装单元,用于对所述码流进行封装,得到所述目标点云的媒体文件;当所述目标点云包括至少一类属性信息的M个属性实例对应的实例数据时,将所述M个属性实例中至少一个属性实 例的第一特征信息作为所述至少一个属性实例对应的实例数据的元数据,封装在所述目标点云的媒体文件中,所述第一特征信息用于标识所述至少一个属性实例与所述M个属性实例中其他属性实例的区别,所述M为大于1的正整数。
本申请实施例还提供一种点云媒体文件的解封装装置,应用于文件解封装设备,该装置包括:
收发单元,用于接收文件封装设备发送的第一信息;其中,所述第一信息用于指示M个属性实例中的至少一个属性实例的第一特征信息,所述M个属性实例为目标点云所包括的N类属性信息中至少一类属性信息所包括的M个属性实例,所述N为正整数,所述M为大于1的正整数;
利用所述第一特征信息从所述至少一个属性实例中确定目标属性实例,获取所述目标属性实例对应的实例数据。
本申请实施例还提供一种文件封装设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行第一方面的方法。
本申请实施例还提供一种文件解封装设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行第二方面的方法。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
本申请实施例还提供了一种电子设备,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行第一方面和/或第二方面任一项所述的方法。
综上,当所述目标点云包括至少一类属性信息的M个属性实例对应的实例数据时,本申请实施例的文件封装设备将所述M个属性实例中至少一个属性实例的第一特征信息作为所述至少一个属性实例对应的实例数据的元数据,封装在所述目标点云的媒体文件中。即本申请实施例通过将属性实例的第一特性信息作为元数据添加在媒体文件中,使得文件解封装设备可以根据元数据中的第一特征信息来确定具体解码的目标属性实例,进而节省宽带和解码资源,提高解码效率。
附图简要说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了三自由度的示意图;
图2示出了三自由度+的示意图;
图3示出了六自由度的示意图;
图4A为本申请实施例提供的一种沉浸媒体系统的架构图;
图4B为本申请实施例提供的V3C媒体的内容流程示意图;
图5为本申请实施例提供的一种点云媒体文件封装方法流程图;
图6为本申请实施例提供的一种点云媒体文件封装与解封装方法的交互流程图;
图7为本申请实施例提供的一种点云媒体文件封装与解封装方法的交互流程图;
图8为本申请实施例提供的点云媒体文件的封装装置的结构示意图;
图9为本申请实施例提供的点云媒体文件的解封装装置的结构示意图;
图10是本申请实施例提供的电子设备的示意性框图。
实施本发明的方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例涉及点云媒体的数据处理技术。
在介绍本申请技术方案之前,下面先对本申请相关知识进行介绍。
点云:点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云中的每个点至少具有三维位置信息,根据应用场景的不同,还可能具有色彩、材质或其他信息。通常,点云中的每个点都具有相同数量的附加属性。
V3C容积媒体:visual volumetric video-based coding media,指捕获自三维空间视觉内容并提供3DoF+、6DoF观看体验的,以传统视频编码的,在文件封装中包含容积视频类型轨道的沉浸式媒体,包括多视角视频、视频编码点云等。
PCC:Point Cloud Compression,点云压缩。
G-PCC:Geometry-based Point Cloud Compression,基于几何模型的点云压缩。
V-PCC:Video-based Point Cloud Compression,基于传统视频编码的点云压缩。
图集:指示2D平面帧上的区域信息,3D呈现空间的区域信息,以及二者之间的映射关系和映射所需的必要参数信息。
Track:轨道,媒体文件封装过程中的媒体数据集合,一个媒体文件可由多个轨道组成,比如一个媒体文件可以包含一个视频轨道,一个音频轨道以及一个字幕轨道。
Sample:样本,媒体文件封装过程中的封装单位,一个媒体轨道由很多个样本组成。比如视频轨道的一个样本通常为一个视频帧。
DoF:Degree of Freedom,自由度。力学系统中是指独立坐标的个数,除了平移的自由度外,还有转动及振动自由度。本申请实施例中指用户在观看沉浸式媒体时,支持的运动并产生内容交互的自由度。
3DoF:即三自由度,指用户头部围绕XYZ轴旋转的三种自由度。图1示意性示出了三自由度的示意图。如图1所示,就是在某个地方、某一个点在三个轴上都可以旋转,可以转头,也可以上下低头,也可以摆头。通过三自由度的体验,用户能够360度地沉浸在一个现场中。如果是静态的,可以理解为是全景的图片。如果全景的图片是动态,就是全景视频,也就是VR视频。但是VR视频是有一定局限性的,用户是不能够移动的,不能选择任意的一个地方去看。
3DoF+:即在三自由度的基础上,用户还拥有沿XYZ轴做有限运动的自由度,也可以将其称之为受限六自由度,对应的媒体码流可以称之为受限六自由度媒体码流。图2示意性示出了三自由度+的示意图。
6DoF:即在三自由度的基础上,用户还拥有沿XYZ轴自由运动的自由度,对应的媒体码 流可以称之为六自由度媒体码流。图3示意性示出了六自由度的示意图。其中,6DoF媒体是指的6自由度视频,是指视频可以提供用户在三维空间的XYZ轴方向自由移动视点,以及围绕XYX轴自由旋转视点的高自由度观看体验。6DoF媒体是以摄像机阵列采集得到的空间不同视角的视频组合。为了便于6DoF媒体的表达、存储、压缩和处理,将6DoF媒体数据表达为以下信息的组合:多摄像机采集的纹理图,多摄像机纹理图所对应的深度图,以及相应的6DoF媒体内容描述元数据,元数据中包含了多摄像机的参数,以及6DoF媒体的拼接布局和边缘保护等描述信息。在编码端,把多摄像机的纹理图信息和对应的深度图信息进行拼接处理,并且把拼接方式的描述数据根据所定义的语法和语义写入元数据。拼接后的多摄像机深度图和纹理图信息通过平面视频压缩方式进行编码,并且传输到终端解码后,进行用户所请求的6DoF虚拟视点的合成,从而提供用户6DoF媒体的观看体验。
AVS:Audio Video Coding Standard,音视频编码标准。
ISOBMFF:ISO Based Media File Format,基于ISO(International Standard Organization,国际标准化组织)标准的媒体文件格式。ISOBMFF是媒体文件的封装标准,最典型的ISOBMFF文件即MP4(Moving Picture Experts Group 4,动态图像专家组4)文件。
DASH:dynamic adaptive streaming over HTTP,基于HTTP的动态自适应流是一种自适应比特率流技术,使高质量流媒体可以通过传统的HTTP网络服务器以互联网传递。
MPD:media presentation description,DASH中的媒体演示描述信令,用于描述媒体片段信息。
HEVC:High Efficiency Video Coding,国际视频编码标准HEVC/H.265。
VVC:versatile video coding,国际视频编码标准VVC/H.266。
Intra(picture)Prediction:帧内预测。
Inter(picture)Prediction:帧间预测。
SCC:screen content coding,屏幕内容编码。
QP:Quantization Parameter,量化参数。
沉浸式媒体指能为消费者带来沉浸式体验的媒体内容,沉浸式媒体按照用户在消费媒体内容时的自由度,可以分为3DoF媒体、3DoF+媒体以及6DoF媒体。其中常见的6DoF媒体包括点云媒体。
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云中的每个点至少具有三维位置信息,根据应用场景的不同,还可能具有色彩、材质或其他信息。通常,点云中的每个点都具有相同数量的附加属性。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,因而应用广泛,包括虚拟现实(Virtual Reality,VR)游戏、计算机辅助设计(Computer Aided Design,CAD)、地理信息系统(Geography Information System,GIS)、自动导航系统(Autonomous Navigation System,ANS)、数字文化遗产、自由视点广播、三维沉浸远程呈现、生物组织器官三维重建等。
点云的获取主要有以下途径:计算机生成、3D激光扫描、3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云。3D扫描可以获得静态现实世界三维物体或场景的点云,每秒可以获取百万级点云。3D摄像可以获得动态现实世界三维物体或场景的点云,每秒可以获取千万级点云。此外,在医学领域,由MRI、CT、电磁定位信息,可以获得生物组织器官的点云。这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据获取方式的变革,使大量点云数据的获取成为可能。伴随着大规模的点云数据不断积累,点云数据的高效存储、传输、发布、共 享和标准化,成为点云应用的关键。
在对点云媒体进行编码后,需要对编码后的数据流进行封装并传输给用户。相对应地,在点云媒体播放器端,需要先对点云文件进行解封装,然后再进行解码,最后将解码后的数据流呈现。
图4A为本申请实施例提供的一种沉浸媒体系统的架构图。如图4A所示,沉浸媒体系统包括编码设备和解码设备,编码设备可以是指沉浸媒体的提供者所使用的计算机设备,该计算机设备可以是终端(如PC(Personal Computer,个人计算机)、智能移动设备(如智能手机)等)或服务器。解码设备可以是指沉浸媒体的使用者所使用的计算机设备,该计算机设备可以是终端(如PC(Personal Computer,个人计算机)、智能移动设备(如智能手机)、VR设备(如VR头盔、VR眼镜等))。沉浸媒体的数据处理过程包括在编码设备侧的数据处理过程及在解码设备侧的数据处理过程。
在编码设备端的数据处理过程主要包括:
(1)沉浸媒体的媒体内容的获取与制作过程;
(2)沉浸媒体的编码及文件封装的过程。
在解码设备端的数据处理过程主要包括:
(3)沉浸媒体的文件解封装及解码的过程;
(4)沉浸媒体的渲染过程。
另外,编码设备与解码设备之间涉及沉浸媒体的传输过程,该传输过程可以基于各种传输协议来进行,此处的传输协议可包括但不限于:DASH(Dynamic Adaptive Streaming over HTTP,动态自适应流媒体传输)协议、HLS(HTTP Live Streaming,动态码率自适应传输)协议、SMTP(Smart Media Transport Protocol,智能媒体传输协议)、TCP(Transmission Control Protocol,传输控制协议)等。
下面结合图4A,分别对沉浸媒体的数据处理过程中涉及的各个过程进行详细介绍。
一、在编码设备端的数据处理过程:
(1)沉浸媒体的媒体内容的获取与制作过程。
1)沉浸媒体的媒体内容的获取过程。
沉浸媒体的媒体内容是通过捕获设备采集现实世界的声音-视觉场景获得的。
在一种实现中,捕获设备可以是设于编码设备中的硬件组件,例如捕获设备可以包括终端的麦克风、摄像头、传感器等。另一种实现中,该捕获设备也可以包括与编码设备相连接的硬件装置,例如与服务器相连接摄像头。
该捕获设备可以包括但不限于:音频设备、摄像设备及传感设备。其中,音频设备可以包括音频传感器、麦克风等。摄像设备可以包括普通摄像头、立体摄像头、光场摄像头等。传感设备可以包括激光设备、雷达设备等。
捕获设备的数量可以为多个。这些捕获设备被部署在现实空间中的一些特定位置以同时捕获该空间内不同角度的音频内容和视频内容,捕获的音频内容和视频内容在时间和空间上均保持同步。通过捕获设备采集到的媒体内容称作沉浸媒体的原始数据。
2)沉浸媒体的媒体内容的制作过程。
捕获到的音频内容本身就是适合被执行沉浸媒体的音频编码的内容。捕获到的视频内容进行一系列制作流程后才可适合作为被执行沉浸媒体的视频编码的内容。该制作流程可以包括以下步骤。
①拼接。由于捕获到的视频内容是捕获设备在不同角度下拍摄得到的,拼接是指对这些各个角度拍摄的视频内容拼接成一个完整的、能够反映现实空间360度视觉全景的视频,即拼接后的视频是一个在三维空间表示的全景视频(或球面视频)。
②投影。投影是指将拼接形成的一个三维视频映射到一个二维(3-Dimension,2D)图像上的过程。投影形成的2D图像称为投影图像。投影的方式可包括但不限于:经纬图投影、正六面体投影。
③区域封装。投影图像可以直接被编码,也可以对投影图像进行区域封装之后再进行编码。实践中发现,在沉浸媒体的数据处理过程中,对于二维投影图像进行区域封装之后再进行编码能够大幅提升沉浸媒体的视频编码效率,因此区域封装技术被广泛应用到沉浸媒体的视频处理过程中。所谓区域封装是指将投影图像按区域执行转换处理的过程,区域封装过程使投影图像被转换为封装图像。区域封装的过程具体包括:将投影图像划分为多个映射区域,然后再对多个映射区域分别进行转换处理得到多个封装区域,将多个封装区域映射到一个2D图像中得到封装图像。其中,映射区域是指执行区域封装前在投影图像中经划分得到的区域;封装区域是指执行区域封装后位于封装图像中的区域。
转换处理可以包括但不限于:镜像、旋转、重新排列、上采样、下采样、改变区域的分辨率及移动等处理。
需要说明的是,由于采用捕获设备只能捕获到全景视频,这样的视频经编码设备处理并传输至解码设备进行相应的数据处理后,解码设备侧的用户只能通过执行一些特定动作(如头部旋转)来观看360度的视频信息,而执行非特定动作(如移动头部)并不能获得相应的视频变化,VR体验不佳,因此需要额外提供与全景视频相匹配的深度信息,来使用户获得更优的沉浸度和更佳的VR体验,这就涉及6DoF(Six Degrees of Freedom,六自由度)制作技术。当用户可以在模拟的场景中较自由的移动时,称为6DoF。采用6DoF制作技术进行沉浸媒体的视频内容的制作时,捕获设备一般会选用光场摄像头、激光设备、雷达设备等,捕获空间中的点云数据或光场数据,并且在执行上述制作流程①-③的过程中还需要进行一些特定处理,例如对点云数据的切割、映射等过程,深度信息的计算过程等。
(2)沉浸媒体的编码及文件封装的过程。
捕获到的音频内容可直接进行音频编码形成沉浸媒体的音频码流。经过上述制作流程①-②或①-③之后,对投影图像或封装图像进行视频编码,得到沉浸媒体的视频码流,例如,将打包图片(D)编码为编码图像(Ei)或编码视频比特流(Ev)。捕获的音频(Ba)被编码为音频比特流(Ea)。然后,根据特定的媒体容器文件格式,将编码的图像、视频和/或音频组合成用于文件回放的媒体文件(F)或用于流式传输的初始化段和媒体段的序列(Fs)。编码设备端还将元数据,例如投影和区域信息,包括到文件或片段中,有助于呈现解码的打包图片。
此处需要说明的是,如果采用6DoF制作技术,在视频编码过程中需要采用特定的编码方式(如点云编码)进行编码。将音频码流和视频码流按照沉浸媒体的文件格式(如ISOBMFF(ISO Base Media File Format,ISO基媒体文件格式))封装在文件容器中形成沉浸媒体的媒体文件资源,该媒体文件资源可以是媒体文件或媒体片段形成沉浸媒体的媒体文件;并按照沉浸媒体的文件格式要求采用媒体呈现描述信息(Media presentation description,MPD)记录该沉浸媒体的媒体文件资源的元数据,此处的元数据是对与沉浸媒体的呈现有关的信息的总称,该元数据可包括对媒体内容的描述信息、对视窗的描述信息以及对媒体内容呈现相关的信令信息等等。如图4A所示,编码设备会存储经过数据处理过程之后形成的媒体呈现描述信息和媒体文件资源。
沉浸媒体系统支持数据盒(Box)。数据盒是指包括元数据的数据块或对象,即数据盒中包含了相应媒体内容的元数据。沉浸媒体可以包括多个数据盒,例如包括球面区域缩放数据盒(Sphere Region Zooming Box),其包含用于描述球面区域缩放信息的元数据;2D区域缩放数据盒(2DRegionZoomingBox),其包含用于描述2D区域缩放信息的元数据;区域封装数据盒(Region Wise PackingBox),其包含用于描述区域封装过程中的相应信息的元数据,等等。
二、在解码设备端的数据处理过程:
(3)沉浸媒体的文件解封装及解码的过程;
解码设备可以通过编码设备的推荐或按照解码设备端的用户需求自适应动态从编码设备获得沉浸媒体的媒体文件资源和相应的媒体呈现描述信息,例如解码设备可根据用户的头部/眼睛/身体的跟踪信息确定用户的朝向和位置,再基于确定的朝向和位置动态向编码设备请求获得相应的媒体文件资源。媒体文件资源和媒体呈现描述信息通过传输机制(如DASH、SMT)由编码设备传输给解码设备。解码设备端的文件解封装的过程与编码设备端的文件封装过程是相逆的,解码设备按照沉浸媒体的文件格式要求对媒体文件资源进行解封装,得到音频码流和视频码流。解码设备端的解码过程与编码设备端的编码过程是相逆的。解码设备对音频码流进行音频解码,还原出音频内容。
另外,解码设备对视频码流的解码过程包括如下:
①对视频码流进行解码,得到平面图像;根据媒体呈现描述信息提供的元数据,如果该元数据指示沉浸媒体执行过区域封装过程,该平面图像是指封装图像;如果该元数据指示沉浸媒体未执行过区域封装过程,则该平面图像是指投影图像;
②如果元数据指示沉浸媒体执行过区域封装过程,解码设备就将封装图像进行区域解封装得到投影图像。此处区域解封装与区域封装是相逆的,区域解封装是指将封装图像按照区域执行逆转换处理的过程。区域解封装使封装图像被转换为投影图像。区域解封装的过程具体包括:按照元数据的指示对封装图像中的多个封装区域分别进行逆转换处理得到多个映射区域,将该多个映射区域映射至一个2D图像从而得到投影图像。逆转换处理是指与转换处理相逆的处理,例如:转换处理是指逆时针旋转90度,那么逆转换处理是指顺时针旋转90度。
③根据媒体呈现描述信息将投影图像进行重建处理以转换为3D图像,此处的重建处理是指将二维的投影图像重新投影至3D空间中的处理。
(4)沉浸媒体的渲染过程。
解码设备根据媒体呈现描述信息中与渲染、视窗相关的元数据对音频解码得到的音频内容及视频解码得到的3D图像进行渲染,渲染完成即实现了对该3D图像的播放输出。特别地,如果采用3DoF和3DoF+的制作技术,解码设备主要基于当前视点、视差、深度信息等对3D图像进行渲染,如果采用6DoF的制作技术,解码设备主要基于当前视点对视窗内的3D图像进行渲染。其中,视点指用户的观看位置点,视差是指用户的双目产生的视线差或由于运动产生的视线差,视窗是指观看区域。
沉浸媒体系统支持数据盒(Box)。数据盒是指包括元数据的数据块或对象,即数据盒中包含了相应媒体内容的元数据。沉浸媒体可以包括多个数据盒,例如包括球面区域缩放数据盒(Sphere Region Zooming Box),其包含用于描述球面区域缩放信息的元数据;2D区域缩放数据盒(2DRegionZoomingBox),其包含用于描述2D区域缩放信息的元数据;区域封装数据盒(Region Wise PackingBox),其包含用于描述区域封装过程中的相应信息的元数据等。
图4B为本申请一实施例提供的GPCC点云媒体的内容流程示意图。如图4B所示,沉浸媒体系统包括文件封装器和文件解封装器。在一些实施例中,文件封装器可以理解为上述编码设备,文件解封装器可以理解为上述解码设备。
真实世界的视觉场景(A)由一组相机或具有多个镜头和传感器的相机设备捕获。采集结果为源点云数据(B)。一个或多个点云帧被编码为G-PCC比特流,包括编码的几何位流和属性位流(E)。然后,根据特定的媒体容器文件格式,一个或多个编码的比特流被组合成用于文件回放的媒体文件(F)或用于流式传输(Fs)的初始化段和媒体段的序列。在本申请中,媒体容器文件格式是ISO/IEC 14496-12中规定的ISO基本媒体文件格式。文件封装器还将元数据包含到文件或片段中。使用递送机制将片段Fs递送给玩家。
文件封装器输出的文件(F)与文件解封装器输入的文件(F')相同。文件解封装器处理文件(F')或接收到的段(F's),提取编码比特流(E')并解析元数据。然后将G-PCC比特流解码为解码信号(D'),并从解码信号(D')生成点云数据。在适用的情况下,根据当前的观看位置、观看方向或由各种类型的传感器(例如头部)确定的视口,将点云数据渲染并显示在头戴式显示器或任何其他显示设备的屏幕上,并跟踪,其中跟踪可以使用位置跟踪传感器或眼动跟踪传感器。除了被玩家用来访问解码点云数据的适当部分之外,当前观看位置或观看方向也可以用于解码优化。在视口相关的传递中,当前的观看位置和观看方向也被传递到策略模块(未示出),用于决定要接收或解码的轨道。
上述过程适用于实时和按需用例。
图4B中的各参数定义如下:
E/E':为编码的G-PCC比特流;
F/F':为包括轨道格式规范的媒体文件,其中可能包含对轨道样本中包含的基本流的约束。
点云中的每个点包括几何信息和属性信息。属性信息包括颜色属性、反射率等不同类型的属性信息。而同一类型的属性信息也可以包括不同的属性实例。属性实例是一个属性的具体例子,该例子中指定了该属性的取值。例如一个点的颜色属性包括不同的颜色类型,将不同的颜色类型称为颜色属性的不同属性实例。在编码技术中,例如基于几何模型的点云压缩(Geometry-based Point Cloud Compression,简称GPCC),支持在一个码流里包含同一属性类型的多个属性实例,同一属性类型的多个属性实例可以通过属性实例标识(attribute instance id)进行区分。
但是,目前的点云媒体封装技术,例如GPCC编码技术,虽然支持多个同一属性类型的属性实例在码流中同时存在,但是并没有对应的信息指示,使得文件解封装设备无法确定具体消费哪个属性实例。
为了对点云媒体封装技术的至少一个方面进行改进,本申请实施例的文件封装设备在媒体文件的封装过程中,将目标点云的同一类属性信息的M个属性实例中的至少一个属性实例的第一特性信息添加在媒体文件中。这样文件解封装设备可以根据属性信息的第一特征信息来确定具体解码的目标属性实例,进而节省宽带和解码资源,提高解码效率。
下面通过一些实施例对本申请实施例的技术方案进行详细说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图5为本申请实施例提供的一种点云媒体文件封装方法流程图。如图5所示,该方法包括如下步骤:
S501、文件封装设备获取目标点云,对目标点云进行编码,得到该目标点云的码流。
在一些实施例中,文件封装设备也称为点云封装设备,或者点云编码设备。
在一种示例性中,上述目标点云为整体点云。
在另一种示例中,上述目标点云为整体点云的一部分,例如为整体点云的一个子集。
在一些实施例中,目标点云也称为目标点云数据或目标点云媒体内容或目标点云内容等。
本申请实施例中,文件封装设备获取目标点云的方式包括但不限于如下几种。
方式一,文件封装设备从点云采集设备处获取目标点云,例如,文件封装设备从点云采集设备处获取点云采集设备所采集的点云,作为目标点云。
方式二,文件封装设备从存储设备处获取目标点云,例如,点云采集设备采集到点云数据后,将点云数据存储在存储设备中,文件封装设备从存储设备处获取目标点云。
方式三,若上述目标点云为局部点云时,文件封装设备根据上述方式一或方式二获取整体点云后,对整体点云进行块划分,将其中的一个块作为目标点云。
本申请实施例的目标点云包括N类属性信息,该N类属性信息中的至少一类属性信息包括M个属性实例,其中N为正整数,M为大于1的正整数。目标点云包括该M个属性实例对应的实例数据,例如属性类型A的属性值为A1的属性实例的实例数据。
举例说明,目标点云包括颜色属性、反射率属性、透明度属性等N类属性信息。其中,颜色属性包括不同的M个属性实例,例如颜色属性包括蓝色属性实例、红色属性实例等。
对上述获取的目标点云进行编码,得到该目标点云的码流。在一些实施例中,目标点云的编码包括对点云的几何信息和属性信息分别进行编码,得到点云的几何码流和属性码流。在一些实施例中,对目标点云的几何信息和属性信息同时进行编码,得到的点云码流包括几何信息和属性信息。
本申请实施例主要涉及到对目标点云的属性信息的编码。
S502、文件封装设备根据M个属性实例中至少一个属性实例的第一特征信息,对目标点云的码流进行封装,得到目标点云的媒体文件。其中,目标点云的媒体文件包括上述至少一个属性实例的第一特征信息。
各实施例中,目标点云包括至少一类属性信息的M个属性实例对应的实例数据时,文件封装设备可以将M个属性实例中至少一个属性实例的第一特征信息作为该至少一个属性实例对应的实例数据的元数据,封装在所述目标点云的媒体文件中。其中,第一特征信息用于标识该至少一个属性实例与上述M个属性实例中除该至少一个属性实例之外的其他属性实例的区别。后文中,将“属性实例对应的实例数据”简称为“属性实例”。
其中属性实例的第一特征信息可以理解为用于标识该属性实例与M个属性实例中其他属性实例不同的信息。例如,属性实例的优先级、标识等。
本申请实施例对属性实例的第一特征信息的具体内容不做限制。
在一些实施例中,属性实例的第一特征信息包括:属性实例的标识、属性实例的优先权、属性实例的类型中的至少一个。
在一种示例中,属性实例的标识用字段attr_instance_id表示,该字段的不同取值表示属性实例的标识值。
在一种示例中,属性实例的优先权用字段attr_instance_priority表示。一些实施例中,该字段取值越小,说明属性实例的优先级越高。
一些实施例中,可以复用attr_instance_id指示属性实例的优先级,例如attr_instance_id取 值越小,说明属性实例的优先级越高。
在一种示例中,属性实例的类型,也称为属性实例的选择策略,用字段attr_instance_type表示,该字段的不同取值表示属性实例的不同类型。
其中,属性实例的类型可以理解为用于指示文件解封装设备从同一类型的M个属性实例中选择目标属性实例的策略。或者可以理解为用于指示不同属性实例的消费场景。例如,该属性实例的消费场景为该属性实例与场景1关联,这样文件解封装设备在场景1下,可以请求该场景1关联的属性实例,从而获得该场景1关联的属性实例的实例数据。
在一些实施例中,属性实例的类型包括与推荐视窗关联的属性实例和与用户反馈关联的属性实例中的至少一个。
例如,若属性实例的类型为与用户反馈关联的属性实例时,文件解封装设备可以根据用户反馈信息,确定与该用户反馈信息关联的属性实例,进而将该属性信息可以确定为待解码的目标属性实例。
再例如,若属性实例的类型为与推荐视窗关联的属性实例时,文件解封装设备可以根据推荐视窗相关信息,确定该推荐视窗关联的属性实例,进而将该属性实例可以确定为待解码的目标属性实例。
在一种可能的实现方式中,若字段attr_instance_type的取值为第一数值时,则表示该属性实例的类型为与推荐视窗关联的属性实例。
在一种可能的实现方式中,若字段attr_instance_type的取值为第二数值时,则表示该属性实例的类型为与用户反馈关联的属性实例。
示例性,字段attr_instance_type的取值如表1所示:
表1
attr_instance_type取值 | 描述 |
第一数值 | 与viewport关联的实例 |
第二数值 | 与用户反馈关联的实例 |
其他 | 保留 |
一些实施例中,上述第一数值为0。
一些实施例中,上述第二数值为1。
需要说明的是,上述只是对第一数值和第二数值的举例说明,第一数值和第二数值的取值包括但不限于上述0和1,具体根据实际情况确定。
本步骤中,将上述属于同一类属性信息的M个属性实例中至少一个属性实例的第一特征信息添加在目标点云的媒体文件中。
本申请实施例对上述至少一个属性实例的第一特征信息在媒体文件中的具体添加位置不做限制,例如可以添加在至少一个属性实例对应的轨道的头样本中。
在一些实施例中,上述S502中根据M个属性实例中至少一个属性实例的第一特征信息,对目标点云的码流进行封装,得到目标点云的媒体文件(即将M个属性实例中至少一个属性实例的第一特征信息添加在目标点云的媒体文件中)的实现过程包括如下几种情况。
情况1,若目标点云中的一帧点云的几何信息和属性信息封装在一个轨道或一个项目中时,则将至少一个属性实例的第一特征信息,添加在M个属性实例对应的子样本数据盒中。
在该情况1中,目标点云在封装时,按照点云帧为封装单元进行点云码流的封装,其中一帧点云可以理解点云采集设备在一次扫描过程中扫描到的点云。或者一帧点云为预设大小的点云。 在封装时,将一帧点云的几何信息和属性信息封装在一个轨道或一个项目中时,此时该轨道或项目中包括几何信息子样本和属性信息子样本。将至少一个属性实例的第一特征信息,添加在M个属性实例对应的子样本数据盒中。
在一种示例中,若目标点云的N类属性信息封装在一个子样本中,此时,可以将至少一个属性实例的第一特征信息,添加在该子样本数据盒中。
在另一种示例中,若目标点云的N类属性信息中的每个属性信息封装在一个子样本中,若上述M个属性实例为第a类属性信息的属性实例,这样可以将M个属性实例中至少一个属性实例的第一特性信息添加在该第a类属性信息的子样本数据盒中。
在一些实施例中,若上述媒体文件的封装标准为ISOBMFF,则上述情况1对应的子样本数据盒的数据结构如下:
子样本数据盒SubsampleInformationBox中的codec_specific_parameters字段定义如下:
其中,payloadType用于指示子样本中G-PCC单元的tlv_type数据类型。
attrIdx用于指示子样本中包含属性数据的G-PCC单元的ash_attr_sps_attr_idx。
multi_attr_instance_flag取值为1表示当前类型的属性存在多个属性实例;取值为0表示当前类型的属性仅存在一个属性实例。
attr_instance_id指示属性实例的标识符。
attr_instance_priority指示属性实例的优先级,该字段取值越小,说明属性实例的优先级越高。当一个属性类型存在多个属性实例时,客户端可丢弃低优先级的属性实例。
attr_instance_type指示属性实例的类型,该字段用于指示不同实例的消费场景,字段取值含义如下:
attr_instance_type取值 | 描述 |
0 | 与viewport关联的实例 |
1 | 与用户反馈关联的实例 |
其他 | 保留 |
在该情况1中,文件解封装设备在获得媒体文件后,可以从上述子样本数据盒中获得M个属性实例中至少一个属性实例的第一特征信息,进而根据该第一特征信息确定待解码的目标属性实例,进而避免解码所有属性实例,从而提高了解码效率。
情况2,若上述M个属性实例中的每个属性信息封装在一个轨道或一个项目中时,则将至少一个属性实例的第一特征信息,添加在M个属性实例对应的组件信息数据盒中。
在该情况2中,目标点云在封装时,将一帧点云的几何信息和属性信息分开封装,例如将几何信息封装在几何轨道中,将N类属性信息中的每一类属性信息中的每一个属性实例封装在一个轨道或项目中。具体是,将属于同一类属性信息的M个属性实例中的每一个属性实例封装在一个轨道或项目中时,可以将上述至少一个属性实例的第一特性信息添加在M个属性实例对应的组件数据盒中。
在一些实施例中,若上述媒体文件的封装标准为ISOBMFF,则上述情况2对应的组件数据盒的数据结构如下:
其中,gpcc_type用于指示GPCC成分的类型,其取值含义如表2所示。
表2组件类型
gpcc_type取值 | 描述 |
1 | 保留 |
2 | 几何数据 |
3 | 保留 |
4 | 属性数据 |
5..31 | 保留 |
attr_index用于指示在SPS(Sequence Parameter Set)中指示的属性的序号。
attr_type_present_flag取值为1表示GPCCComponentInfoBox数据盒中指示了属性类型信息;取值为0表示GPCCComponentInfoBox数据盒中未指示属性类型信息。
attr_type指示属性成分的类型,其取值参照表3所示。
表3
attr_name用于指示可直观解读(human-readable)的属性成分类型信息。
multi_attr_instance_flag取值为1表示当前类型的属性存在多个属性实例;取值为0表示当前类型的属性仅存在一个属性实例。
attr_instance_id指示属性实例的标识符。
attr_instance_priority指示属性实例的优先级,该字段取值越小,说明属性实例的优先级越高。当一个属性类型存在多个属性实例时,客户端可丢弃低优先级的属性实例。
一些实施例中,可复用attr_instance_id指示属性实例的优先级,attr_instance_id取值越小,说明属性实例的优先级越高。
attr_instance_type指示属性实例的类型,该字段用于指示不同实例的消费场景,字段取值含义如下:
attr_instance_type取值 | 描述 |
0 | 与viewport关联的实例 |
1 | 与用户反馈关联的实例 |
其他 | 保留 |
在该情况2中,文件解封装设备在获得媒体文件后,可以从上述组件数据盒中获得M个属性实例中至少一个属性实例的第一特征信息,进而根据该第一特征信息确定待解码的目标属性实例,进而避免解码所有属性实例,提高了解码效率。
在情况2的一种示例中,可以将属于同一类属性信息的M个属性实例分别一一对应封装在M个轨道或项目中,一个轨道或项目包括一个属性实例,这样可以将该属性实例的第一特征信息直接添加在该属性实例对应的轨道或项目的数据盒中。
情况3,若M个属性实例中的每个属性实例封装在一个轨道或一个项目中,且M个属性实例对应的M个轨道构成轨道组,或M个属性实例对应的M个项目构成实体组时,则将M个属性实例中至少一个属性实例的第一特征信息,添加在上述轨道组数据盒或上述实体组数据盒中。
例如,同一类属性信息的M个属性实例中的每一个属性实例封装在一个轨道中,得到M个轨道,这些M个轨道组成一个轨道组。这样可以将上述M个属性实例中至少一个属性实例的第一特性信息添加在该轨道组数据盒(AttributeInstanceTrackGroupBox)中。
再例如,同一类属性信息的M个属性实例中的每一个属性实例封装在一个项目中,得到M个项目,这些M个项目构成一个实体组。这样可以将上述M个属性实例中至少一个属性实例的第一特性信息添加在该实体组数据盒(AttributeInstanceEntityToGroupBox)中。
需要说明的是,第一特性信息在目标点云的媒体文件中的添加位置包括但不限于如上3种情况。
在一些实施例中,若属性实例的类型为与推荐视窗关联的属性实例,则本申请的方法还包括S502-1:
S502-1、文件封装设备在属性实例关联的推荐视窗的元数据轨道中,添加属性实例的第二特性信息。
在一种示例中,属性实例的第二特征信息与属性实例的第一特性信息一致,包括属性实例的标识、属性实例的优先权、属性实例的类型中的至少一个。
在另一种示例中,属性实例的第二特性信息包括属性实例的标识和属性实例的属性类型中的至少一个。例如,属性实例的第二特性信息包括属性实例的标识。再例如,属性实例的第二特征信息包括属性实例的标识和属性实例的属性类型。
在一些实施例中,在推荐视窗的元数据轨道中添加属性实例的第二特性信息,可以通过如下程序实现:
如果视窗信息元数据轨道存在,则相机外参信息ExtCameraInfoStruct()应当出现于样本入口中或者样本中。以下情况不得出现:dynamic_ext_camera_flag取值为0且所有样本中的camera_extrinsic_flag[i]取值均为0。
num_viewports指示样本中指示的视窗数目。
viewport_id[i]指示对应视窗的标识符。
viewport_cancel_flag[i]取值为1表示视窗标识符取值为viewport_id[i]的视窗被取消了。
camera_intrinsic_flag[i]取值为1表示当前样本中第i个视窗存在相机内参。如果dynamic_int_camera_flag取值为0,则该字段必须取值为0。同时,当camera_extrinsic_flag[i]取值为0时,该字段必须取值为0。
camera_extrinsic_flag[i]取值为1表示当前样本中的第i个视窗存在相机外参。如果dynamic_ext_camera_flag取值为0,则该字段必须取值为0。
attr_instance_asso_flag[i]取值为1表示当前样本中的第i个视窗关联了相应的属性实例。当attr_instance_type取值为0时,当前轨道中至少一个样本中的attr_instance_asso_flag取值必须为1。
attr_type指示属性成分的类型,其取值参照上述表3。
attr_instance_id指示属性实例的标识符。
本申请实施例,若属性实例的类型为与推荐视窗关联的属性实例,则在在属性实例关联的推荐视窗的元数据轨道中,添加属性实例的第二特性信息。这样文件解封装设备请求到推荐视窗的元数据轨道时,可以根据推荐视窗的元数据轨道中所添加的属性实例的第二特性信息,确定待解码的目标属性实例。例如该第二特征信息包括属性实例的标识,文件解封装设备可以将该属性实例的标识发送给文件封装设备,使得文件封装设备将该属性实例的标识对应的属性实例的媒体文件发送给文件解封装设备进行消费,避免文件解封装设备请求不需要的资源,进而节约了带宽和解码资源,提高了解码效率。
在一些实施例中,若M个属性实例一一对应封装在M个属性实例轨道中,文件封装设备将M个属性实例轨道通过轨道组数据盒进行关联。
具体是,将M个属性实例一一对应封装在M个属性实例轨道,一个属性实例轨道中包括一个属性实例,可以将属于同一类属性信息的M个属性实例进行关联。
示例性的,使用轨道组对同一属性类型不同属性实例的轨道进行关联,可以是在轨道组数据盒中添加M个属性实例的标识来实现。
在一种可能的实现方式中,将M个属性实例轨道通过轨道组数据盒进行关联,可以通过如下程序实现:
其中,attr_type指示属性成分的类型,其取值参照表3所示。
attr_instance_id指示属性实例的标识符。
attr_instance_priority指示属性实例的优先级,该字段取值越小,说明属性实例的优先级越高。当一个属性类型存在多个属性实例时,客户端可丢弃低优先级的属性实例。
在一些实施例中,若M个属性实例一一对应封装在M个属性实例项目中,则将M个属性实例项目通过实体组数据盒进行关联。
具体是,将M个属性实例一一对应封装在M个属性实例项目中,一个属性实例项目中包括一个属性实例,可以将属于同一类属性信息的M个属性项目进行关联。
示例性的,使用实体组对同一属性类型不同属性实例的项目进行关联,可以是在实体组数据盒中添加M个属性实例的标识来实现。
在一种可能的实现方式中,将M个属性实例轨道通过实体组数据盒进行关联,可以通过如下程序实现:
其中,attr_type指示属性成分的类型,其取值参照表3所示。
attr_instance_id指示属性实例的标识符。
attr_instance_priority指示属性实例的优先级,该字段取值越小,说明属性实例的优先级越高。当一个属性类型存在多个属性实例时,客户端可丢弃低优先级的属性实例。
本申请实施例提供的点云媒体文件的封装方法,文件封装设备通过获取目标点云,并对目标点云进行编码,得到目标点云的码流,该目标点云包括N类属性信息,N类属性信息中的至少 一类属性信息包括M个属性实例,N为正整数,M为大于1的正整数;根据M个属性实例中至少一个属性实例的第一特征信息,对目标点云的码流进行封装,得到目标点云的媒体文件,该目标点云的媒体文件包括至少一个属性实例的第一特征信息。即本申请通过将属性实例的第一特性信息添加在媒体文件中,使得文件解封装设备可以根据属性信息的第一特征信息来确定具体解码的目标属性实例,进而节省宽带和解码资源,提高解码效率。
图6为本申请实施例提供的一种点云媒体文件封装与解封装方法的交互流程图,如图6所示,本实施例包括如下步骤:
S601、文件封装设备获取目标点云,并对目标点云进行编码,得到所述目标点云的码流。
其中,目标点云包括N类属性信息,所述N类属性信息中的至少一类属性信息包括M个属性实例,所述N为正整数,所述M为大于1的正整数。
S602、文件封装设备根据M个属性实例中至少一个属性实例的第一特征信息,对目标点云的码流进行封装,得到目标点云的媒体文件,目标点云的媒体文件包括至少一个属性实例的第一特征信息。
上述S601与上述S602的实现过程可以参照上述上述S501至S502的具体描述,在此不再赘述。
文件封装设备根据上述步骤对目标点云进行编码和封装,得到目标点云的媒体文件后,可以通过如下几种方式与文件解封装设备进行数据交互:
方式一,文件封装设备可以直接将封装得到的目标点云的媒体文件发送给文件解封装设备,使得文件解封装设备根据媒体文件中的属性实例的第一特征信息,选择性消费部分属性实例。
方式二,文件封装设备向文件解封装设备发送信令,文件解封装设备根据信令,向文件封装设备请求全部或部分的属性实例的媒体文件进行消费。
在该实施例中,对方式二中的文件解封装设备请求部分属性实例的媒体文件进行消费的过程进行介绍,具体参照以下S603至步骤,。
S603、文件封装设备向文件解封装设备发送第一信息。
该第一信息用于指示M个属性实例中至少一个属性实例的第一特征信息。
属性实例的第一特征信息包括属性实例的标识、属性实例的优先权、属性实例的类型中的至少一个。
一些实施例中,上述第一信息为DASH信令。
在一些实施例中,若上述第一信息为DASH信令时,DASH信令的语义描述如表4所示:
表4
需要说明的是,上述表4是第一信息的一种形式,本申请实施例的第一信息包括但不限于上述表4所示的内容。
属性实例的第一特征信息包括属性实例的标识、属性实例的优先权、属性实例的类型中的至少一个。
一些实施例中,上述第一信息为DASH信令。
S604、文件解封装设备根据至少一个属性实例的第一特征信息,确定目标属性实例。
文件解封装设备可以利用该第一特征信息从该至少一个属性实例中确定目标属性实例,并获取所述目标属性实例对应的实例数据。
在该步骤中,文件解封装设备根据第一信息指示的至少一个属性实例的第一特征信息,确定目标属性实例的方式包括但不限于如下几种方式:
方式一,若属性实例的第一特性信息包括属性实例的优先权,则可以将优先权高的一个或几个属性实例,确定为目标属性实例。
方式二,若属性实例的第一特性信息包括属性实例的标识,且使用属性实例的标识表示属性实例的优先权,这样可以根据属性实例的标识,选择一个或几个属性实例,确定为目标属性实例。例如,若属性实例的标识越小表示优先权越高,这样可以将标识最小的一个或几个属性实例,确定为目标属性实例。再例如,若属性实例的标识越大表示优先权越高,这样可以将标识最大的一个或几个属性实例,确定为目标属性实例。
方式三,属性实例的第一特征信息包括属性实例的类型,则可以根据属性实例的类型,从至少一个属性实例中确定目标属性实例,具体可以参照下面的示例一和示例二。
示例一,若属性实例的类型为与用户反馈关联的属性实例,则文件解封装设备根据M个属性信息的至少一个属性实例的第一特性信息,从至少一个属性实例中确定目标属性实例。
例如,根据文件解封装设备的网络带宽和/或设备算力,以及第一特性信息中的属性实例的优先级,从至少一个属性实例中确定目标属性实例。示例性的,若网络带宽充足,且设备算力强,则可以将至少一个属性实例中较多的属性实例确定为目标属性实例。若网络带宽不充足,和/或设备算力弱,则可以将至少一个属性实例中优先级最高的属性实例确定为目标属性实例。
示例二,若属性实例的类型为与推荐视窗关联的属性实例,则文件解封装设备获取推荐视窗的元数据轨道,并根据推荐视窗的元数据轨道中包括的属性实例的第二特性信息,从M个属性信息的至少一个属性实例中确定目标属性实例。
一些实施例中,属性实例的第二特性信息包括属性实例的标识和属性实例的属性类型中的至少一个。
其中,文件解封装设备获取推荐视窗的元数据轨道的方式为:文件封装设备向文件解封装设备发送第二信息,该第二信息用于指示推荐视窗的元数据轨道。文件解封装设备根据该第二信息,向文件封装设备请求推荐视窗的元数据轨道。文件封装设备将推荐视窗的元数据轨道发送给文件解封装设备。
一些实施例中,上述第二信息可以是在上述第一信息之前发送的。
一些实施例中,上述第二信息可以是在上述第一信息之后发送的。
一些实施例中,上述第二信息与上述第一信息是同时发送。
本实施例中,若属性实例的类型为与推荐视窗关联的属性实例,则推荐视窗的元数据轨道中包括该属性实例的第二特性信息。这样文件解封装设备根据上述步骤获得推荐视窗的元数据轨道后,从推荐视窗的元数据轨道中获取属性实例的第二特性信息,并根据属性实例的第二特性信息,确定目标属性实例,例如将第二特性信息对应的属性实例,确定为目标属性实例。
文件解封装设备根据上述步骤,确定出待解码的目标属性实例后,执行如下S605。
S605、文件解封装设备向文件封装设备发送第一请求信息,该第一请求信息用于请求目标属性实例的媒体文件。
例如,该第一请求信息中包括目标属性实例的标识。
再例如,该第一请求信息中包括目标属性实例的第一特性信息。
S606、文件封装设备根据第一请求信息,将目标属性实例的媒体文件发送给文件解封装设备。
例如,第一请求信息中包括目标属性实例的标识,这样文件封装设备在目标点云的媒体文件中查询到目标属性实例的标识对应的目标属性实例对应的媒体文件,将目标属性实例的媒体文件发送给文件解封装设备。
S607、文件解封装设备对目标属性实例的媒体文件进行解封装后再解码,得到目标属性实例。
具体的,文件解封装设备接收到目标属性实例的媒体文件后,先对目标属性实例的媒体文件进行解封装,得到解封装后的目标属性实例的码流,再对目标属性实例的码流进行解码,得到解码后的目标属性实例。
在一些实施例中,若目标点云的属性信息是基于点云的几何信息编码的,此时,文件封装设备还将该目标属性实例对应的几何信息的媒体文件发送给文件解封装设备进行几何信息的解码。基于解码出的几何信息,对目标属性实例进行属性解码。
为了进一步说明本申请实施例的技术方案,下面结合具体的示例进行举例说明。
示例一:
步骤11,假设目标点云的码流中存在1个属性类型的2个属性实例,且将目标点云的码流中的不同属性实例按照多轨封装,得到目标点云的媒体文件F1。目标点云的媒体文件F1中包括Track1、Track2和Track3:
Track1:GPCCComponentInfoBox:{gpcc_type=2(Geometry)}。
Track2:GPCCComponentInfoBox:{gpcc_type=4(Attribute);multi_attr_instance_flag=1;attr_instance_id=1;attr_instance_priority=0;attr_instance_type=1}。
Track3:GPCCComponentInfoBox:{gpcc_type=4(Attribute);multi_attr_instance_flag=1;attr_instance_id=2;attr_instance_priority=1;attr_instance_type=1}。
其中,Track2和Track3为两个属性实例的轨道。
步骤12,根据目标点云的媒体文件F1中的属性实例的信息,生成DASH信令(即第一信息),用于指示至少一个属性实例的第一特性信息,DASH信令包括如下内容:
Representation1:对应track1,component@component_type=‘geom’。
Representation2:对应track2,component@component_type=‘attr’;component@attr_instance_id=1;component@attr_instance_priority=0;component@attr_instance_type=1。
Representation3:对应track3,component@component_type=‘attr’;component@attr_instance_id=2;component@attr_instance_priority=1;component@attr_instance_type=1。
将DASH信令发送给文件解封装设备。
步骤13,文件解封装设备C1和C2根据网络带宽和DASH信令中的信息,请求点云媒体文件。
一些实施例中,文件解封装设备C1网络带宽充足,请求Representation1~Representation3,文件解封装设备C2网络带宽受限,请求Representation1~Representation2。
步骤14,传输点云媒体文件。
步骤15,文件解封装设备接收点云文件,
具体是,C1:根据attr_instance_type=1,C1收到的2个属性实例随用户交互操作进行切换,C1可获得更加个性化的点云消费体验。
C2:C2仅收到1个属性实例,获得基本的点云消费体验。
示例二:
步骤21,假设目标点云的码流中存在1个属性类型的2个属性实例,且将目标点云的码流中的不同属性实例按照多轨封装,得到目标点云的媒体文件F1。目标点云的媒体文件F1中包括Track1、Track2和Track3:
Track1:GPCCComponentInfoBox:{gpcc_type=2(Geometry)}。
Track2:GPCCComponentInfoBox:{gpcc_type=4(Attribute);multi_attr_instance_flag=1;attr_instance_id=1;attr_instance_priority=0;attr_instance_type=0}。
Track3:GPCCComponentInfoBox:{gpcc_type=4(Attribute);multi_attr_instance_flag=1;attr_instance_id=2;attr_instance_priority=0;attr_instance_type=0}。
其中,Track2和Track3为两个属性实例的轨道。
步骤22,根据目标点云的媒体文件F1中的属性实例的信息,生成DASH信令(即第一信息),用于指示至少一个属性实例的第一特性信息,DASH信令包括如下内容:
Representation1:对应track1,component@component_type=‘geom’。
Representation2:对应track2,component@component_type=‘attr’;component@attr_instance_id=1;component@attr_instance_priority=0;component@attr_instance_type=0。
Representation3:对应track3,component@component_type=‘attr’;component@attr_instance_id=2;component@attr_instance_priority=0;component@attr_instance_type=0。
将DASH信令发送给文件解封装设备。
步骤23,文件解封装设备C1和C2根据网络带宽和DASH信令中的信息,请求点云媒体文件。
C1:网络带宽充足,请求2个属性实例。
C2:虽然representation2和3的优先级相同,但是由于这两个属性实例是和推荐视窗关联的,因此可根据推荐视窗元数据轨道中的属性实例的第二特性信息,根据用户观看位置请求对应的媒体资源,一次只请求1个属性实例。
步骤24,传输点云媒体文件。
步骤25,文件解封装设备接收点云文件,
C1:根据attr_instance_type=0,C1收到2个属性实例后,根据用户观看视窗选择其中一个属性实例解码消费。
C2:C2仅收到1个属性实例,解码对应的属性实例消费。
本申请实施例提供的点云媒体文件的封装与解封装方法,文件封装设备通过向文件解封装设备发送第一信息,该第一信息用于指示M个属性实例中的至少一个属性实例的第一特征信息。这样,文件解封装设备可以根据至少一个属性实例的第一特征信息,以及文件解码设备的自身性能,选择请求目标属性实例进行消费,进而节约了网络宽带,提升了解码效率。
图7为本申请实施例提供的一种点云媒体文件封装与解封装方法的交互流程图,如图7所示,本实施例包括如下步骤:
S701、文件封装设备获取目标点云,并对目标点云进行编码,得到目标点云的码流。
其中,目标点云包括N类属性信息,N类属性信息中的至少一类属性信息包括M个属性实例,N为正整数,M为大于1的正整数。
S702、文件封装设备根据M个属性实例中至少一个属性实例的第一特征信息,对目标点云的码流进行封装,得到目标点云的媒体文件,目标点云的媒体文件包括至少一个属性实例的第一特征信息。
上述S701与上述S702的实现过程可以参照上述S501至S502的具体描述,在此不再赘述。
文件封装设备根据上述步骤对目标点云进行编码和封装,得到目标点云的媒体文件后,可以通过如下几种方式与文件解封装设备进行数据交互:
方式一,文件封装设备可以直接将封装得到的目标点云的媒体文件发送给文件解封装设备,使得文件解封装设备根据媒体文件中的属性实例的第一特征信息,选择性消费部分属性实例。
方式二,文件封装设备向文件解封装设备发送信令,文件解封装设备根据信令,向文件封装设备请求全部或部分的属性实例的媒体文件进行消费。
在该实施例中,对方式二中的文件解封装设备请求完整的目标点云的媒体文件后,选择解码部分属性实例的媒体文件进行消费的过程进行介绍,具体参照以下S703至步骤。
S703、文件封装设备向文件解封装设备发送第一信息。
该第一信息用于指示M个属性实例中至少一个属性实例的第一特征信息。
属性实例的第一特征信息包括属性实例的标识、属性实例的优先权、属性实例的类型中的至少一个。
一些实施例中,上述第一信息为DASH信令。
在一些实施例中,若上述第一信息为DASH信令时,DASH信令的语义描述如上述表4 所示。
S704、文件解封装设备根据第一信息,向文件封装设备发送第二请求信息。
该第二请求用于请求目标点云的媒体文件。
S705、文件封装设备根据第二请求信息,将目标点云的媒体文件发送给文件解封装设备。
S706、文件解封装设备根据至少一个属性实例的第一特征信息,确定目标属性实例。
其中,S706的实现过程与上述S604的实现过程一致,参照上述S604的描述,例如若属性实例的类型为与用户反馈关联的属性实例,则文件解封装设备根据M个属性信息的至少一个属性实例的第一特性信息,从至少一个属性实例中确定目标属性实例。再例如,若属性实例的类型为与推荐视窗关联的属性实例,则文件解封装设备获取推荐视窗的元数据轨道,并根据推荐视窗的元数据轨道中包括的属性实例的第二特性信息,从M个属性信息的至少一个属性实例中确定目标属性实例。
S707、文件解封装设备对目标属性实例的媒体文件进行解封装后再解码,得到目标属性实例。
根据上述步骤确定出待解码的目标属性实例后,从接收到的目标点云的媒体文件中查询到该目标属性实例对应的媒体文件。接着,先对目标属性实例的媒体文件进行解封装,得到解封装后的目标属性实例的码流,再对目标属性实例的码流进行解码,得到解码后的目标属性实例。
本申请实施例提供的点云媒体文件的封装与解封装方法,文件封装设备通过向文件解封装设备发送第一信息,该第一信息用于指示M个属性实例中的至少一个属性实例的第一特征信息。这样,文件解封装设备请求到整个目标点云的媒体文件后,可以根据至少一个属性实例的第一特征信息,以及文件解码设备的自身性能,选择目标属性实例进行解码消费,进而节约了网络宽带,提升了解码效率。
应理解,图5至图7仅为本申请的示例,不应理解为对本申请的限制。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
上文结合图5和图7,详细描述了本申请的方法实施例,下文结合图8至图10,详细描述本申请的装置实施例。
图8为本申请一实施例提供的点云媒体文件的封装装置的结构示意图,该装置10应用于文件封装设备,该装置10包括:
获取单元11,用于获取目标点云,并对所述目标点云进行编码,得到所述目标点云的码流,所述目标点云包括N类属性信息,所述N类属性信息中的至少一类属性信息包括M个属性实例,所述N为正整数,所述M为大于1的正整数;
封装单元12,用于根据M个属性实例中至少一个属性实例的第一特征信息,对目标点云的码流进行封装,得到目标点云的媒体文件,目标点云的媒体文件包括至少一个属性实例的第一特征信息。
在一些实施例中,所述属性实例的第一特征信息包括:所述属性实例的标识、所述属性实 例的优先权、所述属性实例的类型中的至少一个。
在一些实施例中,所述属性实例的类型包括与推荐视窗关联的属性实例和与用户反馈关联的属性实例中的至少一个。
在一些实施例中,若所述属性实例的类型为与推荐视窗关联的属性实例,则所述封装单元12,还用于在所述属性实例关联的推荐视窗的元数据轨道中,添加所述属性实例的第二特性信息。
在一些实施例中,所述属性实例的第二特性信息包括所述属性实例的标识和所述属性实例的属性类型中的至少一个。
在一些实施例中,所述封装单元12,具体用于若所述目标点云中的一帧点云的几何信息和属性信息封装在一个轨道或一个项目中时,则将所述至少一个属性实例的第一特征信息,添加在所述M个属性实例对应的子样本数据盒中;或者,
若所述M个属性实例中的每个属性实例封装在一个轨道或一个项目中时,则将所述至少一个属性实例的第一特征信息,添加在所述M个属性实例对应的组件信息数据盒中;或者,
若所述M个属性实例中的每个属性实例封装在一个轨道或一个项目中,且所述M个属性实例对应的M个轨道构成轨道组,或所述M个属性实例对应的M个项目构成实体组时,则将所述至少一个属性实例的第一特征信息,添加在所述轨道组数据盒或所述实体组数据盒中。
在一些实施例中,所述封装单元12,还用于若所述M个属性实例一一对应封装在M个属性实例轨道中,则将所述M个属性实例轨道通过轨道组数据盒进行关联;或者,
若所述M个属性实例一一对应封装在M个属性实例项目中,则将所述M个属性实例项目通过实体组数据盒进行关联。
在一些实施例中,装置还包括收发单元13,用于向文件解封装设备发送第一信息,所述第一信息用于指示所述M个属性实例中至少一个属性实例的第一特征信息。
在一些实施例中,收发单元13,用于接收所述文件解封装设备发送的第一请求信息,所述第一请求用于请求目标属性实例的媒体文件;并根据所述第一请求信息,将所述目标属性实例的媒体文件发送给所述文件解封装设备。
在一些实施例中,收发单元13,还用于接收所述文件解封装设备发送的第二请求信息,所述第二请求用于请求所述目标点云的媒体文件;并根据所述第二请求信息,将所述目标点云的媒体文件发送给所述文件解封装设备。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图8所示的装置10可以执行文件封装设备对应的方法实施例,并且装置10中的各个模块的前述和其它操作和/或功能分别为了实现文件封装设备对应的方法实施例,为了简洁,在此不再赘述。
图9为本申请一实施例提供的点云媒体文件的解封装装置的结构示意图,该装置20应用于文件解封装设备,该装置20包括:
收发单元21,用于接收文件封装设备发送的第一信息;
其中,所述第一信息用于指示M个属性实例中的至少一个属性实例的第一特征信息,所述M个属性实例为目标点云所包括的N类属性信息中至少一类属性信息所包括的M个属性实例,所述N为正整数,所述M为大于1的正整数。
在一些实施例中,所述属性实例的第一特征信息包括:所述属性实例的标识、所述属性实例的优先权、所述属性实例的类型中的至少一个。
在一些实施例中,所述属性实例的类型包括与推荐视窗关联的属性实例和与用户反馈关联的属性实例中的至少一个。
在一些实施例中,若所述属性实例的类型为与推荐视窗关联的属性实例,则在所述属性实例关联的推荐视窗的元数据轨道中,添加有所述属性实例的第二特性信息。
在一些实施例中,所述装置还包括确定单元22和解码单元23:
确定单元22,用于根据所述至少一个属性实例的第一特征信息,确定目标属性实例;
收发单元21,用于向所述文件封装设备发送第一请求信息,所述第一请求信息用于请求所述目标属性实例的媒体文件;并接收所述文件封装设备发送的所述目标属性实例的媒体文件;
解码单元23,用于对所述目标属性实例的媒体文件进行解封装后再解码,得到所述目标属性实例。
在一些实施例中,收发单元21,还用于根据所述第一信息,向所述文件封装设备发送第二请求信息,所述第二请求用于请求所述目标点云的媒体文件;并接收所述文件封装设备发送的所述目标点云的媒体文件;
确定单元22,用于根据所述至少一个属性实例的第一特征信息,确定目标属性实例;
解码单元23,用于从所述目标点云的媒体文件中获取所述目标属性实例的媒体文件;对所述目标属性实例的媒体文件进行解封装后再解码,得到所述目标属性实例。
在一些实施例中,若属性实例的第一特征信息包括属性实例的类型,则所述确定单元22,具体用于若所述属性实例的类型为与用户反馈关联的属性实例,则根据所述M个属性信息的至少一个属性实例的第一特性信息,从所述至少一个属性实例中确定所述目标属性实例;或者,
若所述属性实例的类型为与推荐视窗关联的属性实例,则获取所述推荐视窗的元数据轨道,并根据所述推荐视窗的元数据轨道中包括的属性实例的第二特性信息,从所述M个属性信息的至少一个属性实例中确定所述目标属性实例。
在一些实施例中,所述属性实例的第二特性信息包括所述属性实例的标识和所述属性实例的属性类型中的至少一个。
在一些实施例中,若所述目标点云中的一帧点云的几何信息和属性信息封装在一个轨道或一个项目中时,则在所述M个属性实例对应的子样本数据盒中添加有所述属性实例的第一特征信息;或者,
若所述M个属性实例中的每个属性实例封装在一个轨道或一个项目中时,则在所述M个属性实例对应的组件信息数据盒中添加有所述属性实例的第一特征信息;或者,
若所述M个属性实例中的每个属性实例封装在一个轨道或一个项目中,且所述M个属性实例对应的M个轨道构成轨道组,或所述M个属性实例对应的M个项目构成实体组时,则在所述轨道组数据盒或所述实体组数据盒中添加有所述属性实例的第一特征信息。
在一些实施例中,若所述M个属性实例一一对应封装在M个属性实例轨道中,则所述目标点云的媒体文件中包括轨道组数据盒,所述轨道组数据盒用于关联所述M个属性实例轨道;或者,若所述M个属性实例一一对应封装在M个属性实例项目中,则所述目标点云的媒体文件中包括实体组数据盒,所述实体组数据盒用于关联所述M个属性实例项目。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图9所示的装置20可以执行文件解封装设备对应的方法实施例,并且装置20中的各个模块的前述和其它操作和/或功能分别为了实现文件解封装设备对应的方法实施例,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图10是本申请实施例提供的电子设备的示意性框图,该电子设备可以为上述的文件封装设备、或文件解封装设备,或者该电子设备具有文件封装设备和文件解封装设备的功能。
如图10所示,该电子设备40可包括:
存储器41和存储器42,该存储器41用于存储计算机程序,并将该程序代码传输给该存储器42。换言之,该存储器42可以从存储器41中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该存储器42可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该存储器42可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器41包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器41中,并由该存储器42执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该视频制作设备中的执行过程。
如图10所示,该电子设备40还可包括:
收发器40,该收发器43可连接至该存储器42或存储器41。
其中,存储器42可以控制该收发器43与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器43可以包括发射机和接收机。收发器43还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该视频制作设备中的各个组件通过总线系统相连,其中,总线系统除包括数据 总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (24)
- 一种点云媒体文件的封装方法,其特征在于,应用于文件封装设备,所述方法包括:获取目标点云,并对所述目标点云进行编码,得到所述目标点云的码流;对所述码流进行封装,得到所述目标点云的媒体文件;当所述目标点云包括至少一类属性信息的M个属性实例对应的实例数据时,将所述M个属性实例中至少一个属性实例的第一特征信息作为所述至少一个属性实例对应的实例数据的元数据,封装在所述目标点云的媒体文件中,所述第一特征信息用于标识所述至少一个属性实例与所述M个属性实例中其他属性实例的区别,所述M为大于1的正整数。
- 根据权利要求1所述的方法,其特征在于,所述属性实例的第一特征信息包括:所述属性实例的标识、所述属性实例的优先权、所述属性实例的类型中的至少一个。
- 根据权利要求2所述的方法,其特征在于,所述属性实例的类型包括与推荐视窗关联的属性实例和与用户反馈关联的属性实例中的至少一个。
- 根据权利要求3所述的方法,其特征在于,若所述属性实例的类型为与推荐视窗关联的属性实例,则所述方法进一步包括:在所述属性实例关联的推荐视窗的元数据轨道中,添加所述属性实例的第二特性信息。
- 根据权利要求4所述的方法,其特征在于,所述属性实例的第二特性信息包括所述属性实例的标识和所述属性实例的属性类型中的至少一个。
- 根据权利要求1-5任一项所述的方法,其特征在于,将所述M个属性实例中至少一个属性实例的第一特征信息作为所述至少一个属性实例对应的实例数据的元数据封装在所述目标点云的媒体文件中,包括:若所述目标点云中的一帧点云的几何信息和属性信息封装在一个轨道或一个项目中时,则将所述至少一个属性实例的第一特征信息,添加在所述M个属性实例对应的子样本数据盒中;或者,若所述M个属性实例中的每个属性实例封装在一个轨道或一个项目中时,则将所述至少一个属性实例的第一特征信息,添加在所述M个属性实例对应的组件信息数据盒中;或者,若所述M个属性实例中的每个属性实例封装在一个轨道或一个项目中,且所述M个属性实例对应的M个轨道构成一个轨道组,或所述M个属性实例对应的M个项目构成一个实体组时,则将所述至少一个属性实例的第一特征信息,添加在所述轨道组数据盒或所述实体组数据盒中。
- 根据权利要求1-5任一项所述的方法,其特征在于,进一步包括:若所述M个属性实例一一对应封装在M个属性实例轨道中,则将所述M个属性实例轨道通过轨道组数据盒进行关联;或者,若所述M个属性实例一一对应封装在M个属性实例项目中,则将所述M个属性实例项目通过实体组数据盒进行关联。
- 根据权利要求1-5任一项所述的方法,其特征在于,进一步包括:向文件解封装设备发送第一信息,所述第一信息用于指示所述M个属性实例中至少一个属性实例的第一特征信息。
- 根据权利要求8所述的方法,其特征在于,进一步包括:接收所述文件解封装设备发送的第一请求信息,所述第一请求用于请求目标属性实例的媒体文件;根据所述第一请求信息,将所述目标属性实例的媒体文件发送给所述文件解封装设备。
- 根据权利要求8所述的方法,其特征在于,进一步包括:接收所述文件解封装设备发送的第二请求信息,所述第二请求用于请求所述目标点云的媒体文件;根据所述第二请求信息,将所述目标点云的媒体文件发送给所述文件解封装设备。
- 一种点云媒体文件的解封装方法,其特征在于,应用于文件解封装设备,包括:接收文件封装设备发送的第一信息;其中,所述第一信息用于指示目标点云包括的至少一类属性信息的M个属性实例中的至少一个属性实例的第一特征信息,所述M为大于1的正整数;利用所述第一特征信息从所述至少一个属性实例中确定目标属性实例,获取所述目标属性实例对应的实例数据。
- 根据权利要求11所述的方法,其特征在于,所述属性实例的第一特征信息包括:所述属性实例的标识、所述属性实例的优先权、所述属性实例的类型中的至少一个。
- 根据权利要求12所述的方法,其特征在于,所述属性实例的类型包括与推荐视窗关联的属性实例和与用户反馈关联的属性实例中的至少一个。
- 根据权利要求13所述的方法,其特征在于,若所述属性实例的类型为与推荐视窗关联的属性实例,则在所述属性实例关联的推荐视窗的元数据轨道中,添加有所述属性实例的第二特性信息。
- 根据权利要求11所述的方法,其特征在于,获取所述目标属性实例对应的实例数据,包括:向所述文件封装设备发送第一请求信息,所述第一请求信息用于请求所述目标属性实例的媒体文件;接收所述文件封装设备发送的所述目标属性实例对应的媒体文件;对所述媒体文件进行解封装后再解码,得到所述目标属性实例的实例数据。
- 根据权利要求11所述的方法,其特征在于,进一步包括:根据所述第一信息,向所述文件封装设备发送第二请求信息,所述第二请求用于请求所述目标点云的媒体文件;接收所述文件封装设备发送的所述目标点云的媒体文件;从所述目标点云的媒体文件中获取所述目标属性实例的媒体文件;对所述目标属性实例的媒体文件进行解封装后再解码,得到所述目标属性实例的实例数据。
- 根据权利要求15或16所述的方法,其特征在于,若属性实例的第一特征信息包括属性实例的类型,则所述根据所述至少一个属性实例的第一特征信息,确定目标属性实例,包括:若所述属性实例的类型为与用户反馈关联的属性实例,则根据所述M个属性信息的至少一个属性实例的第一特性信息,从所述至少一个属性实例中确定所述目标属性实例;或者,若所述属性实例的类型为与推荐视窗关联的属性实例,则获取所述推荐视窗的元数据轨道,并根据所述推荐视窗的元数据轨道中包括的属性实例的第二特性信息,从所述M个属性信息的至少一个属性实例中确定所述目标属性实例。
- 根据权利要求14所述的方法,其特征在于,所述属性实例的第二特性信息包括所述属性实例的标识和所述属性实例的属性类型中的至少一个。
- 根据权利要求11-16任一项所述的方法,其特征在于,若所述目标点云中的一帧点云的几何信息和属性信息封装在一个轨道或一个项目中时,则在所 述M个属性实例对应的子样本数据盒中添加有所述属性实例的第一特征信息;或者,若所述M个属性实例中的每个属性实例封装在一个轨道或一个项目中时,则在所述M个属性实例对应的组件信息数据盒中添加有所述属性实例的第一特征信息;或者,若所述M个属性实例中的每个属性实例封装在一个轨道或一个项目中,且所述M个属性实例对应的M个轨道构成一个轨道组,或所述M个属性实例对应的M个项目构成一个实体组时,则在所述轨道组数据盒或所述实体组数据盒中添加有所述属性实例的第一特征信息。
- 根据权利要求11-16任一项所述的方法,其特征在于,若所述M个属性实例一一对应封装在M个属性实例轨道中,则所述目标点云的媒体文件中包括轨道组数据盒,所述轨道组数据盒用于关联所述M个属性实例轨道;或者,若所述M个属性实例一一对应封装在M个属性实例项目中,则所述目标点云的媒体文件中包括实体组数据盒,所述实体组数据盒用于关联所述M个属性实例项目。
- 一种点云媒体文件的封装装置,其特征在于,应用于文件封装设备,所述装置包括:获取单元,用于获取目标点云,并对所述目标点云进行编码,得到所述目标点云的码流;封装单元,用于对所述码流进行封装,得到所述目标点云的媒体文件;当所述目标点云包括至少一类属性信息的M个属性实例对应的实例数据时,将所述M个属性实例中至少一个属性实例的第一特征信息作为所述至少一个属性实例对应的实例数据的元数据,封装在所述目标点云的媒体文件中,所述第一特征信息用于标识所述至少一个属性实例与所述M个属性实例中其他属性实例的区别,所述M为大于1的正整数。
- 一种点云媒体文件的解封装装置,其特征在于,应用于文件解封装设备,所述装置包括:收发单元,用于接收文件封装设备发送的第一信息;其中,所述第一信息用于指示目标点云包括的至少一类属性信息的M个属性实例中的至少一个属性实例的第一特征信息,所述M为大于1的正整数;利用所述第一特征信息从所述至少一个属性实例中确定目标属性实例,获取所述目标属性实例对应的实例数据。
- 一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至10或11至20中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至10或11至20中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/463,765 US20230421810A1 (en) | 2021-09-01 | 2023-09-08 | Encapsulation and decapsulation methods and apparatuses for point cloud media file, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111022386.2A CN113852829A (zh) | 2021-09-01 | 2021-09-01 | 点云媒体文件的封装与解封装方法、装置及存储介质 |
CN202111022386.2 | 2021-09-01 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/463,765 Continuation US20230421810A1 (en) | 2021-09-01 | 2023-09-08 | Encapsulation and decapsulation methods and apparatuses for point cloud media file, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023029858A1 true WO2023029858A1 (zh) | 2023-03-09 |
Family
ID=78976735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/109620 WO2023029858A1 (zh) | 2021-09-01 | 2022-08-02 | 点云媒体文件的封装与解封装方法、装置及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230421810A1 (zh) |
CN (1) | CN113852829A (zh) |
WO (1) | WO2023029858A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941995A (zh) * | 2021-08-23 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 媒体文件封装与解封装方法、装置、设备及存储介质 |
CN116781676A (zh) * | 2022-03-11 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 一种点云媒体的数据处理方法、装置、设备及介质 |
CN115396645B (zh) * | 2022-08-18 | 2024-04-19 | 腾讯科技(深圳)有限公司 | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 |
WO2024082152A1 (zh) * | 2022-10-18 | 2024-04-25 | Oppo广东移动通信有限公司 | 编解码方法及装置、编解码器、码流、设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573522A (zh) * | 2017-03-14 | 2018-09-25 | 腾讯科技(深圳)有限公司 | 一种标志数据的展示方法及终端 |
WO2020026846A1 (ja) * | 2018-08-02 | 2020-02-06 | ソニー株式会社 | 画像処理装置および方法 |
WO2020190093A1 (ko) * | 2019-03-20 | 2020-09-24 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
CN113114608A (zh) * | 2020-01-10 | 2021-07-13 | 上海交通大学 | 点云数据封装方法及传输方法 |
-
2021
- 2021-09-01 CN CN202111022386.2A patent/CN113852829A/zh active Pending
-
2022
- 2022-08-02 WO PCT/CN2022/109620 patent/WO2023029858A1/zh unknown
-
2023
- 2023-09-08 US US18/463,765 patent/US20230421810A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573522A (zh) * | 2017-03-14 | 2018-09-25 | 腾讯科技(深圳)有限公司 | 一种标志数据的展示方法及终端 |
WO2020026846A1 (ja) * | 2018-08-02 | 2020-02-06 | ソニー株式会社 | 画像処理装置および方法 |
WO2020190093A1 (ko) * | 2019-03-20 | 2020-09-24 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
CN113114608A (zh) * | 2020-01-10 | 2021-07-13 | 上海交通大学 | 点云数据封装方法及传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113852829A (zh) | 2021-12-28 |
US20230421810A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6984841B2 (ja) | イメージ処理方法、端末およびサーバ | |
WO2023029858A1 (zh) | 点云媒体文件的封装与解封装方法、装置及存储介质 | |
WO2023061131A1 (zh) | 媒体文件封装方法、装置、设备及存储介质 | |
JP2020503792A (ja) | 情報処理方法および装置 | |
CN114095737B (zh) | 媒体文件封装及解封装方法、装置、设备及存储介质 | |
CN113891117B (zh) | 沉浸媒体的数据处理方法、装置、设备及可读存储介质 | |
WO2024037137A1 (zh) | 一种沉浸媒体的数据处理方法、装置、设备、介质和产品 | |
WO2024041239A1 (zh) | 一种沉浸媒体的数据处理方法、装置、设备、存储介质及程序产品 | |
WO2023226504A1 (zh) | 一种媒体数据处理方法、装置、设备以及可读存储介质 | |
WO2023024841A1 (zh) | 点云媒体文件的封装与解封装方法、装置及存储介质 | |
WO2023024843A1 (zh) | 媒体文件封装与解封装方法、设备及存储介质 | |
WO2023024839A1 (zh) | 媒体文件封装与解封装方法、装置、设备及存储介质 | |
WO2023016293A1 (zh) | 自由视角视频的文件封装方法、装置、设备及存储介质 | |
JP7471731B2 (ja) | メディアファイルのカプセル化方法、メディアファイルのカプセル化解除方法及び関連機器 | |
WO2022193875A1 (zh) | 多视角视频的处理方法、装置、设备及存储介质 | |
WO2023169004A1 (zh) | 点云媒体的数据处理方法、装置、设备及介质 | |
US20230360678A1 (en) | Data processing method and storage medium | |
WO2023169001A1 (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
JP2020516133A (ja) | 仮想現実アプリケーションに対して最も関心のある領域に関連付けられた情報をシグナリングするためのシステム及び方法 | |
WO2023169003A1 (zh) | 点云媒体的解码方法、点云媒体的编码方法及装置 | |
WO2022257518A1 (zh) | 沉浸媒体的数据处理方法、装置、相关设备及存储介质 | |
CN116137664A (zh) | 点云媒体文件封装方法、装置、设备及存储介质 | |
CN117082262A (zh) | 点云文件封装与解封装方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22862999 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |