本发明实施例涉及通信领域,具体而言,涉及一种沉浸媒体数据的处理方法及装置、存储介质和电子装置。
背景技术:
沉浸式媒体通过音视频等技术,让使用者在视觉、听觉等方面体验高度逼真的虚拟空间环境,产生身临其境的感觉。目前,沉浸式体验主要是支持平面的全景视频,如用户佩戴头显设备通过头部的自由旋转可以观看360度的视频,即三自由度(3dof)的沉浸式体验。对于支持增强的三自由度(3dof )和六自由度(6dof)的视频,用户在观看过程中可以根据自己的需求进行身体的平移和头部的旋转来观看到更多的细节,如被遮挡部分视觉内容。
用户在身体移动或头部旋转以后,所观看到的视窗内容发生变化,显示设备需要根据用户的观看姿态(身体位置、头部朝向)从媒体数据中选取合适的视频数据进行重构、渲染,向用户呈现当前视窗范围内的视觉内容,满足用户的沉浸感。其中,用户在空间中的可移动的范围与视频数据采集设备的位置、方向等属性有直接的关系,当用户移动的位置超出了某一范围,显示设备将无法根据采集的视频数据重构当前视窗内的视觉内容,那么用户观看到的视觉内容将会出现逐渐淡出、发生扭曲、无沉浸感等情况。为保证用户观看的连续性和观看的质量,需要对用户的三维观看空间进行限定,如果在三维观看空间内,用户能够通过对视频数据的渲染正常体验沉浸感媒体,如果超出三维观看空间后,通过对视频数据进行重构、渲染等处理后能够继续观看、恢复沉浸感,或者淡出不做进一步处理等。
目前,沉浸媒体系统对用户的三维观看空间的范围限定基于单个视点、并且可移动的范围及其有限,表示三维观看空间的几何结构简单,比如立方体、圆形或圆柱形等,由于三维观看空间的大小、形状与采集设备的位置、数量等有必然关系,如何准确的描述用户的三维观看空间,这将会影响到对用户观看视觉内容的渲染、呈现。
针对上述问题,本发明提出了一种沉浸媒体数据的处理方法及装置、存储介质和电子装置,适用于观看基于多视点或点云数据的沉浸媒体时观看位置的范围限定,有助于观看过程中快速、高效、高质量的视觉内容的重构和渲染,以满足最优的沉浸体验。
技术实现要素:
本发明实施例提供了一种沉浸媒体数据的处理方法及装置、存储介质和电子装置,以至少解决相关技术中影响到对用户观看视觉内容的渲染、呈现的问题。
根据本发明的一个实施例,提供了一种沉浸媒体数据的处理方法,包括:获取用户的当前观看姿态所对应的沉浸媒体数据,其中,使用一个三维观看空间限制用户的观看观看内容的渲染;渲染所述当前观看姿态对应的沉浸媒体数据,其中,所述当前观看姿态在所述三维观看空间内时,渲染获取的所述沉浸媒体数据;或者,所述当前观看姿态已移到或正在移到所述三维观看空间外时,根据所述三维观看空间的处理信息渲染所述沉浸媒体数据。
在一个示例性实施例中,所述获取用户的当前观看姿态所对应的沉浸媒体数据,包括:确定所述当前观看姿态与所述三维观看空间的关系,其中,所述三维观看空间为允许用户在沉浸媒体场景中移动的范围;根据所述关系确定所述沉浸媒体数据。
在一个示例性实施例中,所述确定所述当前观看姿态与所述三维观看空间的关系,包括:确定所述当前观看姿态在所述三维观看空间中或所述三维观看空间外的位置;根据所述位置确定所述沉浸媒体数据。
在一个示例性实施例中,渲染所述当前观看姿态对应的沉浸媒体数据之前,包括:根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的媒体轨道或数据盒。
在一个示例性实施例中,根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的媒体轨道或数据盒,包括以下方法之一:根据第一数据盒类型识别在所述媒体文件的文件头中的第一三维观看空间数据盒;或者,根据第二分组类型识别在所述媒体文件的文件头中的第二三维观看空间分组数据盒;或者,根据第三数据盒类型识别所述媒体文件中一个或多个媒体轨道中的第三三维观看空间数据盒;或者,根据第四样本分组类型识别所述媒体文件中一个媒体轨道中的第四三维观看空间样本组描述数据盒;或者,根据第五轨道组类型识别所述媒体文件中一个媒体轨道中的第五三维观看空间数据盒,其中,具有相同轨道组标识一个或多个媒体轨道属于同一三维观看空间;或者,根据第六样本入口类型识别所述媒体文件中三维观看空间定时元数据轨道,所述三维观看空间定时元数据轨道指示所述沉浸媒体数据的动态变化的三维观看空间。
在一个示例性实施例中,所述三维观看空间的信息包括以下至少之一:所述三维观看空间在沉浸媒体的空间场景中的坐标位置、所述三维观看空间在所述沉浸媒体的空间场景中的朝向、所述三维观看空间的几何结构、所述三维观看空间中的观看方向,其中,所述三维观看空间的结构由一个或多个复杂几何结构组合构造而成,每一个所述复杂几何结构由一个或多个基础结构组合构造而成;每一个所述基础结构与零个或一个所述沉浸媒体数据的采集设备或采集的视图对应。
在一个示例性实施例中,在渲染所述当前观看姿态对应的沉浸媒体数据之前,包括:根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的媒体轨道或数据盒。
在一个示例性实施例中,所述根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的媒体轨道或数据盒,包括:通过第七数据盒类型识别所述三维观看空间处理数据盒,其中,所述三维观看空间处理数据盒包含于描述所述三维观看空间的所述数据盒,或者,与描述所述三维观看空间的所述数据盒在同一个上级数据盒中;或者,所述三维观看空间处理数据盒包含于所述三维观看空间定时元数据轨道中;或者,根据第八样本入口类型识别所述媒体文件中三维观看空间处理定时元数据轨道,所述三维观看空间处理定时元数据轨道指示所述三维观看空间的动态变化的三维观看空间处理的方式。
在一个示例性实施例中,所述三维观看空间的处理信息包括以下至少之一:三维观看空间处理方式的选项数量、三维观看空间处理的设备类型、三维观看空间处理的应用类型、三维观看空间处理方式、三维观看空间的标识。
在一个示例性实施例中,获取用户的当前观看姿态所对应的沉浸媒体数据,包括:在确定所述用户的当前观看姿态在所述三维观看空间内的情况下,直接获取所述沉浸媒体数据;或者,在确定所述用户额当前观看姿态正在移到或已经移到所述三维观看空间外的情况下,根据所述三维观看空间的处理信息,获取所述当前观看姿态对应的所述沉浸媒体数据。
在一个示例性实施例中,获取所述沉浸媒体数据,包括:确定媒体呈现描述文件,其中,所述媒体呈现描述文件中包括指示观看沉浸媒体的三维观看空间描述子和/或三维观看空间处理描述子;根据所述用户的当前观看姿态对应的三维观看空间描述子和/或三维观看空间处理描述子请求获取所述当前观看姿态对应的所述沉浸媒体数据。
在一个示例性实施例中,所述沉浸媒体的三维观看空间描述子包括以下至少之一:基础几何体结构、基础几何体的旋转方向、基础几何体对应的视图或采集设备标识或索引、基础几何体的旋转、在基础几何体中观看方向、基础几何体组合方式、复杂结合体组合方式、三维观看空间标识。
在一个示例性实施例中,所述沉浸媒体的三维观看空间处理描述子包括以下至少之一:三维观看空间处理的设备类型、三维观看空间处理的应用类型、三维观看空间处理方式、三维观看空间的标识。
根据本发明的另一个实施例,提供了一种沉浸媒体数据的处理装置,包括:获取单元,用于获取用户的当前观看姿态所对应的沉浸媒体数据,其中,使用一个三维观看空间限制用户的观看内容的渲染;渲染单元,用于渲染所述当前观看姿态对应的沉浸媒体数据,其中,所述当前观看姿态在所述三维观看空间内时,渲染获取的所述沉浸媒体数据;或者,所述当前观看姿态已移到或正在移到所述三维观看空间外时,根据所述三维观看空间的处理信息渲染所述沉浸媒体数据。
在一个示例性实施例中,所述获取单元包括:第一确定模块,用于确定所述当前观看姿态与所述三维观看空间的关系,其中,所述三维观看空间为允许用户在沉浸媒体场景中移动的范围;第二确定模块,用于根据所述关系确定所述沉浸媒体数据。
在一个示例性实施例中,所述第一确定模块包括:第一确定子模块,用于确定所述当前观看姿态在所述三维观看空间中或所述三维观看空间外的位置;第二确定子模块,用于根据所述位置确定所述沉浸媒体数据。
在一个示例性实施例中,所述装置还包括:第一确定单元,用于渲染所述当前观看姿态对应的沉浸媒体数据之前,根据数据盒类型或定时元数据样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的媒体轨道或数据盒。
在一个示例性实施例中,所述第一确定单元还用于执行以下之一:根据第一数据盒类型识别在所述媒体文件的文件头中的第一三维观看空间数据盒;或者,根据第二分组类型识别在所述媒体文件的文件头中的第二三维观看空间分组数据盒;或者,根据第三数据盒类型识别所述媒体文件中一个或多个媒体轨道中的第三三维观看空间数据盒;或者,根据第四样本分组类型识别所述媒体文件中一个媒体轨道中的第四三维观看空间样本组描述数据盒;或者,根据第五轨道组类型识别所述媒体文件中一个媒体轨道中的第五三维观看空间数据盒,其中,具有相同轨道组标识一个或多个媒体轨道属于同一三维观看空间;或者,根据第六样本入口类型识别所述媒体文件中三维观看空间定时元数据轨道,所述三维观看空间定时元数据轨道指示所述沉浸媒体数据的动态变化的三维观看空间。
在一个示例性实施例中,所述三维观看空间的信息包括以下至少之一:所述三维观看空间在沉浸媒体的空间场景中的坐标位置、所述三维观看空间在所述沉浸媒体的空间场景中的朝向、所述三维观看空间的几何结构、所述三维观看空间中的观看方向,其中,所述三维观看空间的结构由一个或多个复杂几何结构组合构造而成,每一个所述复杂几何结构由一个或多个基础结构组合构造而成;每一个所述基础结构与零个或一个所述沉浸媒体数据的采集设备或采集的视图对应。
在一个示例性实施例中,所述装置还包括:第二确定单元,用于在渲染所述当前观看姿态对应的沉浸媒体数据之前,根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的媒体轨道或数据盒。
在一个示例性实施例中,所述第二确定单元包括:识别模块,用于通过第七数据盒类型识别所述三维观看空间处理数据盒,其中,所述三维观看空间处理数据盒包含于描述所述三维观看空间的所述数据盒,或者,与描述所述三维观看空间的所述数据盒在同一个上级数据盒中;或者,所述三维观看空间处理数据盒包含于所述三维观看空间定时元数据轨道中;或者,根据第八样本入口类型识别所述媒体文件中三维观看空间处理定时元数据轨道,所述三维观看空间处理定时元数据轨道指示所述三维观看空间的动态变化的三维观看空间处理的方式。
在一个示例性实施例中,所述三维观看空间的处理信息包括以下至少之一:三维观看空间处理方式的选项数量、三维观看空间处理的设备类型、三维观看空间处理的应用类型、三维观看空间处理方式、三维观看空间的标识。
在一个示例性实施例中,所述获取单元包括:第一获取模块,用于在确定所述用户的当前观看姿态在所述三维观看空间内的情况下,直接获取所述沉浸媒体数据;或者第二获取模块,用于在确定所述用户额当前观看姿态正在移到或已经移到所述三维观看空间外的情况下,根据所述三维观看空间的处理信息,获取所述当前观看姿态对应的所述沉浸媒体数据。
在一个示例性实施例中,所述第一获取模块或者所述第二获取模块还用于:确定媒体呈现描述文件,其中,所述媒体呈现描述文件中包括指示观看沉浸媒体的三维观看空间描述子和/或三维观看空间处理描述子;根据所述用户的当前观看姿态对应的三维观看空间描述子和/或三维观看空间处理描述子请求获取所述当前观看姿态对应的所述沉浸媒体数据。
在一个示例性实施例中,所述沉浸媒体的三维观看空间描述子包括以下至少之一:基础几何体结构、基础几何体的旋转方向、基础几何体对应的视图或采集设备标识或索引、基础几何体的旋转、在基础几何体中观看方向、基础几何体组合方式、复杂结合体组合方式、三维观看空间标识。
在一个示例性实施例中,所述沉浸媒体的三维观看空间处理描述子包括以下至少之一:三维观看空间处理的设备类型、三维观看空间处理的应用类型、三维观看空间处理方式、三维观看空间的标识。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明实施例,通过获取用户的当前观看姿态所对应的沉浸媒体数据,其中,使用一个三维观看空间限制用户的观看内容的渲染;渲染所述当前观看姿态对应的沉浸媒体数据,其中,所述当前观看姿态在所述三维观看空间内时,渲染获取的所述沉浸媒体数据;或者,所述当前观看姿态已移到或正在移到所述三维观看空间外时,根据所述三维观看空间的处理信息渲染所述沉浸媒体数据的方法,由于用户移动到三维观看空间之外时,可以根据三维观看空间的处理信息渲染沉浸媒体数据,从而即使用户移动到三维观看空间之外,也可以快速、高效的提供给用户高质量的视觉内容因此,可以解决影响到对用户观看视觉内容的渲染、呈现问题,达到观看过程中快速、高效、高质量的视觉内容的重构和渲染,以满足最优的沉浸体验效果。
附图说明
图1是根据本发明实施例的沉浸媒体数据的处理方法的执行装置的结构示意图;
图2是根据本发明实施例的沉浸媒体数据的处理方法的流程示意图;
图3是根据本发明实施例的沉浸媒体数据的处理方法的三维观看空间示意图;
图4是根据本发明实施例的沉浸媒体数据的处理方法的系统结构示意图;
图5是根据本发明实施例的沉浸媒体数据的处理方法的流程图;
图6是根据本发明实施例的沉浸媒体数据的处理方法的ios文件示意图;
图7是根据本发明实施例的沉浸媒体数据的处理方法的ios文件示意图;
图8是根据本发明实施例的沉浸媒体数据的处理方法的ios文件示意图;
图9是根据本发明实施例的沉浸媒体数据的处理方法的ios文件示意图;
图10是根据本发明实施例的沉浸媒体数据的处理方法的ios文件示意图;
图11是根据本发明实施例的沉浸媒体数据的处理方法的流程示意图;
图12是根据本发明实施例的沉浸媒体数据的处理装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种沉浸媒体数据的处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的沉浸媒体数据的处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种沉浸媒体数据的处理方法,图2是根据本发明实施例的沉浸媒体数据的处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤s202,获取用户的当前观看姿态所对应的沉浸媒体数据,其中,使用一个三维观看空间限制用户的观看内容的渲染;
步骤s204,渲染所述当前观看姿态对应的沉浸媒体数据,其中,所述当前观看姿态在所述三维观看空间内时,渲染获取的所述沉浸媒体数据;或者,所述当前观看姿态已移到或正在移到所述三维观看空间外时,根据所述三维观看空间的处理信息渲染所述沉浸媒体数据。
需要说明的是,本申请中的三维观看空间是允许用户移动的空间。通俗来讲,是在三维观看空间中设置一个虚拟摄像头,虚拟摄像头可以拍摄三维观看空间中的内容并反馈给真实空间中的用户。用户在真实空间中移动或旋转,则虚拟摄像头在三维观看空间中移动或旋转。三维观看空间是系统建议用户也就是虚拟摄像头移动的范围。用户或者说虚拟摄像头也可以移动到三维观看空间之外,并不是一定要在三维观看空间内移动。上述使用三维观看空间限制用户的观看内容的渲染,是指虚拟摄像头在三维观看空间内捕捉到内容之后,会传递给用户观看,此时,需要渲染虚拟摄像头捕捉到的内容。也就是,渲染用户观看到的内容。
其中,所述获取用户的当前观看姿态所对应的沉浸媒体数据,包括:确定所述当前观看姿态与所述三维观看空间的关系,其中,所述三维观看空间为允许用户移动的虚拟空间范围;根据所述关系确定所述沉浸媒体数据。
其中,所述确定所述当前观看姿态与所述三维观看空间的关系,包括:确定所述当前观看姿态在所述三维观看空间中或所述三维观看空间外的位置;根据所述位置确定所述沉浸媒体数据三维观看空间。
其中,渲染所述当前观看姿态对应的沉浸媒体数据之前,包括:根据数据盒类型或定时元数据样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的媒体轨道或数据盒。
其中,根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的媒体轨道或数据盒,包括以下方法之一:根据第一数据盒类型识别在所述媒体文件的文件头中的第一三维观看空间数据盒;或者,根据第二分组类型识别在所述媒体文件的文件头中的第二三维观看空间分组数据盒;或者,根据第三数据盒类型识别所述媒体文件中一个或多个媒体轨道中的第三三维观看空间数据盒;或者,根据第四样本分组类型识别所述媒体文件中一个媒体轨道中的第四三维观看空间样本组描述数据盒;或者,根据第五轨道组类型识别所述媒体文件中一个媒体轨道中的第五三维观看空间数据盒,其中,具有相同轨道组标识一个或多个媒体轨道属于同一三维观看空间;或者,根据第六样本入口类型识别所述媒体文件中三维观看空间定时元数据轨道,所述三维观看空间定时元数据轨道指示所述沉浸媒体数据的动态变化的三维观看空间。
其中,所述三维观看空间的处理信息包括以下至少之一:所述三维观看空间在沉浸媒体的空间场景中的坐标位置、所述三维观看空间在所述沉浸媒体的空间场景中的朝向、所述三维观看空间的几何结构、所述三维观看空间中的观看方向,其中,所述三维观看空间的结构由一个或多个复杂几何结构组合构造而成,每一个所述复杂几何结构由一个或多个基础结构组合构造而成;每一个所述基础结构与零个或一个所述沉浸媒体数据的采集设备或采集的视图对应。
其中,在渲染所述当前观看姿态对应的沉浸媒体数据之前,包括:根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的媒体轨道或数据盒。
其中,所述根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的媒体轨道或数据盒,包括:通过第七数据盒类型识别所述三维观看空间处理数据盒,其中,所述三维观看空间处理数据盒包含于描述所述三维观看空间的所述数据盒,或者,与描述所述三维观看空间的所述数据盒在同一个上级数据盒中;或者,所述三维观看空间处理数据盒包含于所述三维观看空间定时元数据轨道中;或者,根据第八样本入口类型识别所述媒体文件中三维观看空间处理定时元数据轨道,所述三维观看空间处理定时元数据轨道指示所述三维观看空间的动态变化的三维观看空间处理的方式。
其中,所述三维观看空间的处理信息包括以下至少之一:三维观看空间处理方式的选项数量、三维观看空间处理的设备类型、三维观看空间处理的应用类型、三维观看空间处理方式、三维观看空间的标识。
其中,获取用户的当前观看姿态所对应的沉浸媒体数据,包括:在确定所述用户的当前观看姿态在所述三维观看空间内的情况下,直接获取所述沉浸媒体数据;或者,在确定所述用户额当前观看姿态正在移到或已经移到所述三维观看空间外的情况下,根据所述三维观看空间的处理信息,获取所述当前观看姿态对应的所述沉浸媒体数据。
其中,获取所述沉浸媒体数据,包括:确定媒体呈现描述文件,其中,所述媒体呈现描述文件中包括指示观看沉浸媒体的三维观看空间描述子和/或三维观看空间处理描述子;根据所述用户的当前观看姿态对应的三维观看空间描述子和/或三维观看空间处理描述子请求获取所述当前观看姿态对应的所述沉浸媒体数据。
其中,所述沉浸媒体的三维观看空间描述子包括以下至少之一:基础几何体结构、基础几何体的旋转方向、基础几何体对应的视图或采集设备标识或索引、基础几何体的旋转、在基础几何体中观看方向、基础几何体组合方式、复杂结合体组合方式、三维观看空间标识。
其中,所述沉浸媒体的三维观看空间处理描述子包括以下至少之一:三维观看空间处理的设备类型、三维观看空间处理的应用类型、三维观看空间处理方式、三维观看空间的标识。通过上述步骤,解决影响到对用户观看视觉内容的渲染、呈现问题,达到观看过程中快速、高效、高质量的视觉内容的重构和渲染,以满足最优的沉浸体验效果。
本申请可以应用与沉浸式体验过程中。用户通过佩戴显示设备观看三维观看空间中的场景。用户可以在真实空间内移动,从而映射到三维观看空间中用户的虚拟角色移动,对应的虚拟角色捕捉到的沉浸媒体数据在显示设备中播放。在此过程中,如果三维观看空间中用户的当前观看姿态超出了三维观看空间,则根据所述三维观看空间的处理信息渲染所述沉浸媒体数据。
其中,三维观看空间指用户的虚拟角色在沉浸媒体场景中可以移动的范围。三维观看姿态指用户对应的虚拟角色在三维观看空间内的位置与观看方向(虚拟摄像头朝向)如果虚拟角色超出三维观看空间的范围,相关技术中可能造成黑屏等问题。本申请中,如果用户的虚拟角色超出三维观看空间的范围,则可以根据所述三维观看空间的处理信息渲染所述沉浸媒体数据,从而实现观看过程中快速、高效、高质量的视觉内容的重构和渲染的效果。解决黑屏的问题。
以下结合具体示例对如何构造三维观看空间,如何获取沉浸媒体数据等进行说明。
图3是一种可选的三维观看空间结构位置的示意图。在示例的场景中,沉浸视频采集设备(摄像头)放置在不同位置采集场景中的视频数据,以采集设备的位置为基础,可以构成一个或多个三维观看空间。所述三维观看空间三维观看空间可以是单独的立方体、球形体、圆柱体等表示的基础几何体,也可以是由多个基础几何体组合成的复杂的几何体。当用户在三维观看空间内移动,显示设备可以的获取用户视窗对应的媒体数据,进行视窗内图像的重构、渲染,对用户视窗中的内容呈现进行快速的切换;当用户移动到三维观看空间范围外后,因为没有对应设备采集的媒体数据,显示设备将无法在用户的视窗内显示相应的视觉内容,或者只能显示低质量的视觉内容。图3中的三维观看空间1-3为不同的情况。
同时,在三维观看空间中,用户的观看的方向也可能会受到采集设备的位置、朝向的限制。
图4是一种可选沉浸媒体数据的处理系统的结构示意图。
如图4所示,所述系统包括传输服务器402,用户终端404。其中,
传输服务器402至少包含存储模块402-1、传输模块402-2,
存储模块402-1,用于存储在制作服务器10中制作好的媒体文件。
传输模块402-2,用于接收用户终端的请求消息,或发送存储的媒体文件。上述的接收或发送可以通过通信供应商提供的无线网络、本地组建的无线局域网络、或者有线方式来实现;
用户终端404至少包含传输模块404-1、解码解封装模块404-2、媒体处理模块404-3和显示模块404-4。
传输模块404-1,用于接收媒体服务器402发送的媒体文件,或发送请求消息到服务器402,如请求媒体文件下载;
解码解封装模块404-2,用于解码解封装传输模块接收到的媒体文件;
媒体处理模块404-3,根据用户当前的观看的位置、观看方向等信息,对解码解封装模块404-2输出的媒体数据进行重构、渲染等处理;
显示模块404-4,用于呈现用户当前视窗的视觉内容给用户。
本实施例提供了一种基于三维观看空间的媒体系统的处理/播放流程、以及文件格式的表示,如图5所示,该流程包括如下步骤:
步骤s501,用户观看姿态(观看位置、观看方向)变换,用户终端基于用户当前姿态信息所属的三维观看空间范围获取对应的媒体文件,媒体文件中包括了沉浸媒体数据;
步骤s502,用户终端对获取的媒体文件,并进行解封装解码,根据用户的当前观看位置、观看方向等信息重构当前视窗内的视觉内容,进行渲染后将内容呈现给用户观看。
需要说明的是,在本发明实施例中,一种实现方式是基于iso(internationalorganizationforstandardization,国际标准化组织)基本媒体文件格式将全方向视频数据存储在文件中。其中,受限方案信息盒子、轨道引用盒子、轨道群组盒子等iso基本媒体文件格式可参照iso/iecjtc1/sc29/wg11运动图像专家组(movingpictureexpertsgroup,简称mpeg)制定的mpeg-4part12isobasemediafileformat来操作。全方向视频的投影、封装步骤及其基本格式可参照iso/iecjtc1/sc29/wg11运动图像专家组(mpeg)制定的mpeg-ipart2omaf(全方向媒体格式)来操作。
另外,iso基本文件格式中所有数据都装在盒子(box)中,即以mp4文件为代表的iso基本文件格式由若干个盒子组成,每个盒子都有类型和长度,可以视为一个数据对象。一个盒子中可以包含另一个盒子,称为容器盒子。一个mp4文件首先会有且只有一个“ftyp”类型的盒子,作为文件格式的标志并包含关于文件的一些信息。之后会有且只有一个“moov”类型的盒子(moviebox),它是一种容器盒子,它的子盒子包含了媒体的元数据信息。mp4文件的媒体数据包含在“mdat”类型的盒子(mediadatabox)中,也是容器盒子,可以有多个,也可以没有(当媒体数据全部引用其他文件时),媒体数据的结构由元数据进行描述。为对媒体进行元数据描述的进一步支撑,可选的使用“meta”类型的盒子(metabox),也是容器盒子,用于描述一些通用的或额外的非定时的元数据。一个媒体可以由一个或多个轨道(track)组成,每个轨道就是一个随时间变化的媒体序列,一个轨道包含连续的采样(sample)集合。
再而,定时元数据轨道是iso基本媒体文件格式(isobmff)中的一种建立与特定样本关联的定时元数据的机制。定时元数据与媒体数据的耦合较少,通常是“描述性”的。
具体地,在所述媒体文件中定义数据盒(box)或样本入口(sampleentry)描述场景的三维观看空间。对于不变、不频繁变化或频繁变化的三维观看空间,可包含于不同层级、不同媒体轨道或不同的容器中,可以在文件级或媒体轨道级对三维观看空间进行描述。同时,一个场景中存在一个或多个独立几何体表示三维观看空间。
可选地,三维观看空间的具体描述方式可采用以下方式之一:
方式一:文件级中描述所述三维观看空间,定义三维观看空间数据盒(viewingspacebox)包含于所述的文件级的metabox中(图6所示)。下面结合可选实施三维观看空间数据盒进行说明。
viewingspacebox(三维观看空间数据盒)
boxtype:'vwsp'
container:metabox
mandatory:no
quantity:zeroorone
语法
aligned(8)classviewingspaceboxextendsfullbox('vwsp',0,flags){signedint(8)num_viewing_space;//可选,如一个媒体轨道或媒体轨道分组中只有一个观看空间,则可以不适用。
语义:
num_viewing_space,指示媒体文件对应三维观看空间的数量;
viewing_space_id,指示三维观看空间标识;
具体地,所述三维观看空间的结构是由viewingspacestruct()表示,所述空间结构是由一个或多个复杂几何体组合构造得到,通常采用csg(constructivesolidgeometry,构造几何体)方式组合得到;所述复杂几何体是由基础几何体(立方体、圆柱体等)有序的相加组合得到,通常采用csg方式或按顺序插值方式得到。
具体地,所述基础几何体为立方体、球形体和半球体等常见形状,下面结合可选实施基础几何体结构进行说明,cuboidstruct(),spheroidstruct(),halfspacestruct()分别表示立方体、球形体和半球体。
语义
center_x、center_y、center_z,分别指示几何结构体的中心点在坐标系中的位置;
size_x、size_y、size_z,分别指示立方体在x、y、z方向上的边长;
radius_x,radius_y,radius_z,分别指示球体在x,y,z维度上的半径;
normal_x,normal_y,normal_z,分别指示定义半球体的平面法向;
camera_inferred_flag,由spaceshapestruct()中指定,表示该简单几何体的位置是否与采集设备对应;为0表示与采集设备位置无关,需要自行定义中心点位置,为1表示与采集设备有关,可采用采集设备的位置信息;
distance,指示从原点沿着法向量到半球体平面方向的距离。
具体地,所述复杂几何体通过形状空间结构(shapespacestruct)来描述,由一个或多个基础几何体构造得到。下面结合可选实施三维观看空间结构进行说明。
语法
语义
num_primitive_shape,指示组成三维观看空间的基础几何体的数量;
primitive_shape_operation,指示组成三维观看空间对基础几何体形状的操作方式;为0时,指示使用csg模式对基础几何体进行相加形成复杂几何体;为1时,指示将沿着基础几何体中心形成的路径对基础几何体进行插值操作,以形成复杂几何体;
camera_inferred_flag,为1时,指示基础几何体的对位和方向是与采集设备对应,其中,采集设备与视点索引号对应;为0时,指示基础几何体的位置和方向不与采集设备对应;
viewing_space_shape_type,指示三维观看空间的基础几何体形状,具体的形状类型描述如下表;
distance_scale,指示基础几何体的边框距离尺寸的刻度;
view_id,指示基础几何体所对应的摄像机对应视点的标识,通过该标识,可以定位到该视点对应媒体数据所在的媒体轨道。
具体地,所述三维观看空间结构通过三维观看空间结构(viewingspacestruct)来描述,由一个或多个基础复杂几何体组合构造得到。下面结合可选实施三维观看空间结构进行说明。
语法
num_shape_space,指示组成一个三维观看空间结构所需要的复杂几何体的数量;
operation_type,指示该几何体组合成为三维观看空间的csg操作方式,如下表所示:
方式二:文件级中描述所述三维观看空间,一个媒体文件中存在可能存在多个媒体空间,一个或多个媒体轨道的媒体数据(如多视点数据、点云数据)对应一个三维观看空间,即用户可以在所述三维观看空间中观看到对应媒体数据渲染成的视觉内容。根据三维观看空间对媒体轨道进行分组,同一组的所有媒体轨道只属于同一个三维观看空间。使用isobmff中的entitygrouping(实体分组)的方式对媒体轨道组对应的三维观看空间进行描述(图7所示)。
具体地,通过扩展entitytogroupbox描述所述三维观看空间,包含于文件级metabox下的groupslistbox中,其中,grouping_type为‘vspg’;下面结合可选实施viewingspacegroupbox进行说明。
方式三:轨道级中描述所述三维观看空间,一个媒体轨道可能对应一个或多个三维观看空间,在所述媒体轨道的sampleentry(图8所示)中描述所述三维观看空间。下面结合可选实施例进行说明。
viewingspacebox(三维观看空间数据盒)
boxtype:'vwsp'
container:sampleentry
mandatory:no
quantity:zeroorone
语法
具体地,媒体轨道分组可以是对图集数据(atlasdata)所在的媒体轨道进行分组,在图集数据所在的媒体轨道的sampleentry中描述所述媒体轨道对应的三维观看空间的信息。
可选地,基于特定的应用或者具体的媒体数据,对相应的媒体轨道中的sampleentry进行扩展,比如基于容积视频数据的媒体文件入口为volumetricvisualsampleentry,作为seimessage在配置数据盒(vpccconfigurationbox)中描述。
方式四:轨道级中描述所述三维观看空间,一个媒体轨道可能对应一个或多个三维观看空间,或者三维观看空间的结构有在播放过程中可能存在低频率的变化,则通过samplegrouping(样本分组)的方式来描述每一个sample可能对应的三维观看空间,一个采样组对应一个三维观看空间,其中,grouping_type为‘vssg’。下面结合可选实施例进行说明。
可选地,基于特定的应用或者具体的媒体数据,对相应的媒体轨道中的samplegrouping进行扩展,比如基于容积视频数据的类型为‘vaps’的采样分组,将三维观看空间作为seimessage在采样分组入口(v3catlasparamsamplegroupdescriptionentry)中描述。
方式五:轨道级中描述所述三维观看空间,一个媒体文件中存在可能存在多个媒体空间,一个或多个媒体轨道的媒体数据(如多视点数据、点云数据)对应一个三维观看空间,即用户可以在所述三维观看空间中观看到对应媒体数据渲染成的视觉内容。通过定义track_group_type为‘vptg’的trackgroup对三维观看空间对媒体轨道进行分组(图9所示),同一组(包含相同的track_gourp_id)的所有媒体轨道只属于同一个三维观看空间。列表框组grouplistbox的类型typt为’vspg’
具体地,每一个分组中有且只有一个basetrack(基础轨道),如在多视点媒体数据中包含basicview(基础视图)的媒体轨道为基础轨道,在基础轨道的sampleentry中描述描述所述媒体轨道组对应的三维观看空间。下面结合可选实施例进行说明。
viewingspacebox(三维观看空间数据盒)
boxtype:'vwsp'
container:sampleentry
mandatory:no
quantity:zeroorone
语法
方式六,在媒体文件中定义一个媒体轨道,用于描述或存放媒体的各种参数信息,通过sample承载nalunit的信息描述,将码流层描述三维观看空间的seimessage存放相应的sample中。
随着时间的推移,因为采集设备的位置变化,或者导演推荐的三维观看空间等情况,三维观看空间会动态发生变化。本实施例提供了一种基于可变的三维观看空间信息的表示方法,如图10所示。
具体地,通过在定时元数据轨道中指定三维观看空间,通过‘vrsp’类型来识别三维观看空间定时元数据轨道的样本入口(tracksampleentry),下面结合可选实施三维观看空间结构进行说明。
语法
可选的,每一个样本对应一个或多个三维观看空间,各样本的三维观看空间信息由vrspacesample()提供;
static_vr_space_flag,为1时,指示三维观看空间在该样本入口的样本中定义;为0时,指示后面所有样本的三维观看空间保持不变,引用该样本入口。
num_viewing_space,指示三维观看空间数量;
viewing_space_id,指示三维观看空间的标识;
可选地,如果一个定时元数据轨道只能描述一个三维观看空间的动态变化,媒体文件对应多个三维观看空间时,可以存在多个定时元数据轨道来描述多个三维观看空间的变化。
可选地,三维观看空间的动态变化与采集设备的动态变化有关,可以对描述摄像头动态信息定时元数据轨道中的样本入口(camerainfosampleentry)及样本进行扩展。
另外,动态视点定时元数据轨道可以通过引用类型为'cdsc'的轨道引用数据盒(trackreferencebox)引用轨道或轨道群组。
由于媒体数据的采集设备放置在空间中的朝向位置,可能会存在观看的问题,通过扩展viewingspacestruct描述在三维观看空间中的观看方向或观看范围。
由于媒体数据的采集设备放置在空间中的位置和朝向,所述采集设备对应的三维观看空间的基本几何体在坐标系中的方向会发生旋转,如立方体各条边与坐标轴不平行。
具体地,基础几何体在坐标系中如何旋转通过旋转结构(shaperotationstruct)来描述,下面结合可选实施三维观看空间结构进行说明。
语义
shape_rotation_x,shape_rotation_y,shape_rotation_z,分别指示用于基础几何体的旋转四元数的x,y,z分量。
可选地,也可以通过欧拉角旋转来指示基础几何体的旋转方向,即shape_rotation_x,shape_rotation_y,shape_rotation_z,分别指示沿着x,y,z坐标轴旋转的角度。
由于媒体数据的采集设备放置在空间中的位置和朝向问题,可能未能从所有角度采集到场景里的对象,当用户观看视频过程中自由的移动,则用户可移动的位置范围和可旋转的观看方向可能是受限制的,即用户移动后引起当前视窗内的视觉内容重构时,观看方向和观看范围超出限制,无法对视所述视窗内的视觉内容进行有效的重构、渲染,造成内容的淡出、无沉浸感等。
具体地,观看方向或观看范围结构通过观看方向限制结构(viewingdirectionconstrainstruct)来描述,下面结合可选实施基于观看方向和观看范围的三维观看空间结构进行说明。
语义
viewing_direction_center_x,viewing_direction_center_y,viewing_direction_center_z,分别指示在基础几何体中建议观看方向的中心的四元数分量x,y,z;
viewing_direction_yaw_range,viewing_direction_pitch_range,分别指示在基础几何体中建议观看方向的偏航范围和倾斜范围的二分之一;
guard_band_present_flag,为1指示基础几个体有保护带,为0指示基础几何体没有保护带;
guard_band_direction_size,指示基础几何体内观看方向的保护带的大小,以度数为单位来表示。
具体地,在考虑了观看方向限制和几何体旋转的情况下,需要对spaceshapestruct()进行扩展,下面结合可选实施三维观看空间结构进行说明。
具体地,所述三维观看空间结构通过三维观看空间结构(viewingspacestruct)来描述,由一个或多个基础复杂几何体组合构造得到。下面结合可选实施三维观看空间结构进行说明。
语法
对于观看者在观看过程中的处理方式,移动进入或移动出三维观看空间,基于不同的设备类型和应用类型,可能会采用不同的操作类型,比如导演推荐用户在移动出三维观看空间时对场景的渲染操作。本实施例提供一种基于三维观看空间渲染处理流程及文件格式的表示方法。该流程包括如下步骤:
步骤s1,用户观看姿态(观看位置、观看方向)变换,用户终端基于用户姿态变化轨迹、三维观看空间范围以及三维观看空间对应的处理方式获取对应的媒体文件;
步骤s2,用户终端对获取的媒体文件,并进行解码解封装,根据用户的当前观看姿态、及三维观看空间对应的处理方式等信息重构当前视窗内的视觉内容,进行渲染后将内容呈现给用户观看。
具体地,用户观看姿态在三维观看空间内时,默认为可直接获取对应的媒体文件;用户观看姿态正在移动到三维观看空间外或已在三维观看空间外时,根据不同的场景需要对应的三维观看空间处理方式来确定需要的媒体文件并获取。
具体地,所述三维观看空间处理方式的相关信息可以在文件级中描述,也可以在轨道级中描述。三维观看空间的处理方式与三维观看空间的范围有直接的关系,不同的三维观看空间支持的设备类型、应用类型或者观看的处理方式可能会不相同。
可选地,在文件级中描述所述三维观看空间处理方式,有如下可选方式:
方式一:定义的三维观看空间处理数据盒(viewingspacehandlingbox)包含于所述的文件级的metabox中,可与三维观看空间数据盒(viewingspacebox)包含在同一个数据盒容器中。
具体地,通过定义’vsph’类型的viewingspacehandlingbox(三维观看空间处理数据盒)来描述基于三维观看空间的处理方式,下面结合可选实施进行说明。
具体语法如下:
num_viewing_space,指示场景中的三维观看空间数量;
viewing_space_id,指示该处理方式适用的三维观看空间的标识;
num_handling_options,指示三维观看空间处理方式的选项数量;为0时,表示没有提供三维观看空间处理的方式,则目标设备可根据三维观看空间信息选择合适的处理方式;
handling_device_class,指示三维观看空间处理的设备类型的值(具体的值对应的描述如下表所示)(所有的设备都支持6dof的位置跟踪,有时候用户的移动与播放有关);在同一个三维观看空间中,一个conformantbitstream中不应该有重复的值,如果类型值为0时,i 1的值应该为num_handling_options;
handling_application_class,指示三维观看空间处理的应用类型的值(具体的值对应的描述如下表所示),在同一个三维观看空间中,一个conformantbitstream中不应该有重复的值,如果类型值为0时,i 1的值应该为num_handling_options;
handling_method,指示三维观看空间处理方式的值(具体的值对应的描述如下表所示),在同一个三维观看空间中,一个conformantbitstream中不应该有重复的值,如果类型值为0时,i 1的值应该为num_handling_options;
方式二:一个媒体文件中存在可能存在多个媒体空间,根据三维观看空间对媒体轨道进行分组,同一组的所有媒体轨道只属于同一个三维观看空间。使用isobmff中的entitygrouping(实体分组)的方式对媒体轨道组对应的三维观看空间处理方式进行描述。
具体地,通过扩展entitytogroupbox描述所述三维观看空间及其相应的三维观看空间处理的方式,包含于文件级metabox下的groupslistbox中,其中,grouping_type为‘vspg’;下面结合可选实施viewingspacegroupbox进行说明。
可选地,在轨道级中描述所述三维观看空间处理方式,有如下可选方式:
方式一:一个媒体轨道可能对应一个或多个三维观看空间,在所述媒体轨道的sampleentry中描述所述三维观看空间处理方式信息。即将viewingspacehandlingbox()包含于sampleentry中,其数量为0或1。
方式二:轨道级中描述所述三维观看空间,一个媒体轨道可能对应一个或多个三维观看空间,或者三维观看空间的位置、结构在播放过程中可能存在低频率的变化,则通过samplegrouping(样本分组)的方式来描述每一个sample可能对应的三维观看空间及该三维观看空间的处理方式,一个采样组对应一个三维观看空间,其中,grouping_type为‘vssg’。下面结合可选实施例进行说明。
可选地,基于特定的应用或者具体的媒体数据,对相应的媒体轨道中的samplegrouping进行扩展,比如基于容积视频数据的类型为‘vaps’的采样分组,将三维观看空间处理的方式作为seimessage在采样分组入口(v3catlasparamsamplegroupdescriptionentry)中描述。
方式三:一个媒体文件中存在可能存在多个媒体空间,一个或多个媒体轨道的媒体数据(如多视点数据、点云数据)对应一个三维观看空间。通过定义track_group_type为‘vptg’的trackgroup,基于三维观看空间对媒体轨道进行分组,同一组(包含相同的track_gourp_id)的所有媒体轨道只属于同一个三维观看空间。
具体地,媒体轨道分组可以是对图集数据(atlasdata)所在的媒体轨道进行分组,在图集数据所在的媒体轨道的sampleentry中描述所述媒体轨道对应的三维观看空间的媒体处理方式。
具体地,如果每一个分组中有且只有一个basetrack(基础轨道),如在多视点媒体数据中包含basicview(基础视图)的媒体轨道为基础轨道,在基础轨道的sampleentry中描述所述媒体轨道组对应的三维观看空间。
方式四,在媒体轨道中,可能存在一个媒体轨道只存放媒体的参数信息,通过sample承载nalunit的信息描述,可以将三维观看空间处理方式的描述元数据作为seimessage存放相应的sample中。
当三维观看空间因为采集设备位置的变化而不断变化,三维观看空间的处理方式可能也会不断发生变化,或者因为导演的剧情安排等情况而发生变化,则在定时元数据轨道中描述变化的三维观看空间处理方式的元数据。
具体地,三维观看空间与三维观看空间处理方式对应,则在三维观看空间定时元数据轨道中描述其对应的三维观看空间的处理方式。
具体地,对vrspacesampleentry()及其vrspacesample()进行扩展,下面结合可选实施进行说明。在样本入口确定三维观看空间处理的定时元数据轨道,对vrspacesampleentry()的扩展有如下方法之一:
语法
方法二:扩展vrspacesampleentry()为vrspacehandlingentry(),在vrspacesampleentry()中已定义的三维观看空间基础上定义三维观看空间处理元数据,通过‘vrsh’类型来识别三维观看空间定时元数据轨道的样本入口(tracksampleentry)。
语法:
可选地,定时元数据媒体轨道每一个样本描述一个或多个三维观看空间,在每个样本中描述三维观看空间处理的元数据,对vrspacesample()的扩展有如下方法之一:
方法一,直接在vrspacesample()描述三维观看空间对应的三维观看空间处理的元数据。
语法:
方法二,扩展vrspacesample()描述三维观看空间对应的三维观看空间处理的元数据。
语法:
语义
space_handling_flag,为1时,指示三维观看空间的处理在该样本入口的样本中定义;为0时,指示后面所有样本的三维观看空间处理方式保持不变,引用该样本入口;
viewing_space_idx,指示观看空间标识索引;
handling_present,为0指示该三维观看空间按照缺省的处理方式,为1指示当前三维观看空间对应的处理方式。
可选地,如果一个定时元数据轨道只能描述一个三维观看空间的动态变化,媒体文件对应多个三维观看空间时,可以存在多个定时元数据轨道来描述多个三维观看空间的变化,则一个三维观看空间定时元数据对应一个该三维观看空间的处理方式。
可选地,三维观看空间的位置、结构变化,但是对应的viewing_space_id没有变化,并且三维观看空间对应采集设备的内参没有变化,则三维观看空间的处理方式可能是不变的。则可通过独立的定时元数据轨道来描述动态的三维观看空间处理方式。下面结合可选实施进行说明。
语法
可选的,每一个样本对应一个三维观看空间,样本的三维观看空间处理方式的信息由vrspacehandlingsample()提供;
本实施例提供用户终端获取用户当前姿态所对应的媒体数据的方法(图11所示)。具体的步骤如下:
s1102,用户观看姿态(观看位置、观看方向)发生变化,用户终端基于定义的三维观看空间确定用户最新的观看姿态是在三维观看空间内、正在移动到三维观看空间外或者已在三维观看空间外,并根据用户观看姿态相对于三维观看空间的位置,以及三维观看空间对应的处理方式确定本地是否存在对应的媒体数据;
s1104,判断本地是否存在用户的当前观看姿态对应的媒体数据;
s1106,如果没有,则根据mpd文件中,查找用户当前姿态所对应的媒体文件位置,从服务器中请求并下载对应的媒体数据;如果有,则直接进入步骤s1108;
s1108,如果有,用户终端基于媒体数据重构、渲染用户当前视窗范围内的视觉内容。
具体地,http动态自适应流媒体(dash,dynamicadaptivestreamingoverhttp)的媒体呈现描述(mpd,mediapresentationdescription)中,方案标识属性(@schemeiduri)等于“urn:mpeg:mpegi:miv:2020:vwsp”的viewingspace元素被称为三维观看空间(vwsp)描述子,通过所述描述子请求并下载对应的媒体数据。
在mpd层或自适应集(adaptationset)通过vwsp描述子指示三维观看空间。vwsp描述子不能同时出现在两个层级中,如果表述在低层集中,则在高层级的中重用。如果未出现vwsp描述子,则可能无法移动观看位置或者可在空间中任意移动观看位置。
如下表1所示,提供了用于描述三维观看空间描述子元素属性语义的表格。
表1
可选地,三维观看空间对于不同的终端设备和应用,对媒体文件存在不同的处理方式,因为处理方式不同,可能需要选择获取的媒体文件也存在不同,如当用户的观看姿态改变(走出三维观看空间),需要获取下一个三维观看空间的对应的媒体文件。则在获取三维观看空间对应的媒体数据时,可根据mpd中三维观看空间处理信息,选择合适的媒体文件,并根据具体的处理方式来渲染相应的视觉内容。
具体地,http动态自适应流媒体(dash,dynamicadaptivestreamingoverhttp)的媒体呈现描述(mpd,mediapresentationdescription)中,方案标识属性(@schemeiduri)等于“urn:mpeg:mpegi:miv:2020:vwph”的viewingspacehandling元素被称为三维观看空间处理方式(vwph)描述子,通过所述描述子请求并下载对应的媒体数据。
在mpd层或自适应集(adaptationset)通过vwph描述子指示对应三维观看空间的处理方式。vwph描述子不能同时出现在两个层级中,如果表述在低层集中,则在高层级的中重用。
如下表2所示,提供了用于描述三维观看空间处理方式(vwph)描述子元素属性语义的表格。
表2
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种沉浸媒体数据的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图12是根据本发明实施例的沉浸媒体数据的处理装置的结构框图,如图12所示,该装置包括
获取单元1202,用于获取用户的当前观看姿态所对应的沉浸媒体数据,其中,使用一个三维观看空间限制用户的观看内容的渲染;
渲染单元1204,用于渲染所述当前观看姿态对应的沉浸媒体数据,其中,所述当前观看姿态在所述三维观看空间内时,渲染获取的所述沉浸媒体数据;或者,所述当前观看姿态已移到或正在移到所述三维观看空间外时,根据所述三维观看空间的处理信息渲染所述沉浸媒体数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种沉浸媒体数据的处理方法,其特征在于,包括:
获取用户的当前观看姿态所对应的沉浸媒体数据,其中,使用一个三维观看空间限制用户的观看内容的渲染;
渲染所述当前观看姿态对应的沉浸媒体数据,其中,所述当前观看姿态在所述三维观看空间内时,渲染获取的所述沉浸媒体数据;
或者,所述当前观看姿态已移到或正在移到所述三维观看空间三维观看空间外时,根据所述三维观看空间的处理信息渲染所述沉浸媒体数据。
2.根据权利要求1所述的方法,其特征在于,所述获取当前观看姿态所对应的沉浸媒体数据,包括:
确定所述当前观看姿态与所述三维观看空间的关系,其中,所述三维观看空间为允许用户在沉浸媒体场景中移动的范围;
根据所述关系确定所述沉浸媒体数据。
3.根据权利要求2所述方法,其特征在于,所述确定所述当前观看姿态与所述三维观看空间的关系,包括:
确定所述当前观看姿态在所述三维观看空间中或所述三维观看空间外的位置;
根据所述位置确定所述沉浸媒体数据三维观看空间。
4.根据权利要求1所述的方法,其特征在于,渲染所述当前观看姿态对应的沉浸媒体数据之前,包括:
根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的媒体轨道或数据盒。
5.根据权利要求4所述的方法,其特征在于,根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的定时元数据轨道或数据盒,包括以下方法之一:
根据第一数据盒类型识别在所述媒体文件的文件头中的第一三维观看空间数据盒;
或者,根据第二分组类型识别在所述媒体文件的文件头中的第二三维观看空间分组数据盒;
或者,根据第三数据盒类型识别所述媒体文件中一个或多个媒体轨道中的第三三维观看空间数据盒;
或者,根据第四样本分组类型识别所述媒体文件中一个媒体轨道中的第四三维观看空间样本组描述数据盒;
或者,根据第五轨道组类型识别所述媒体文件中一个媒体轨道中的第五三维观看空间数据盒,其中,具有相同轨道组标识一个或多个媒体轨道属于同一三维观看空间;
或者,根据第六样本入口类型识别所述媒体文件中三维观看空间定时元数据轨道,所述三维观看空间定时元数据轨道指示所述沉浸媒体数据的动态变化的三维观看空间。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述三维观看空间信息包括以下至少之一:
所述三维观看空间在沉浸媒体的空间场景中的坐标位置、所述三维观看空间在所述沉浸媒体的空间场景中的朝向、所述三维观看空间的几何结构、所述三维观看空间中的观看方向,其中,所述三维观看空间的结构由一个或多个复杂几何结构组合构造而成,每一个所述复杂几何结构由一个或多个基础结构组合构造而成;每一个所述基础结构与零个或一个所述沉浸媒体数据的采集设备或采集的视图对应。
7.根据权利要求1所述的方法,其特征在于,在渲染所述当前观看姿态对应的沉浸媒体数据之前,包括:
根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的定时元数据轨道或数据盒。
8.根据权利要求7所述方法,其特征在于,所述根据数据盒类型或定时元数据轨道样本入口类型确定在媒体文件中描述所述三维观看空间的处理信息的定时元数据轨道或数据盒,包括:
通过第七数据盒类型识别所述三维观看空间处理数据盒,其中,所述三维观看空间处理数据盒包含于描述所述三维观看空间的所述数据盒,或者,与描述所述三维观看空间的所述数据盒在同一个上级数据盒中;
或者,所述三维观看空间处理数据盒包含于所述三维观看空间定时元数据轨道中;
或者,根据第八样本入口类型识别所述媒体文件中三维观看空间处理定时元数据轨道,所述三维观看空间处理定时元数据轨道指示所述三维观看空间的动态变化的三维观看空间处理的方式。
9.根据权利要求8所述方法,其特征在于,所述三维观看空间的处理信息包括以下至少之一:
三维观看空间处理方式的选项数量、三维观看空间处理的设备类型、三维观看空间处理的应用类型、三维观看空间处理方式、三维观看空间的标识。
10.根据权利要求1所述方法,其特征在于,获取用户的当前观看姿态所对应的沉浸媒体数据,包括:
在确定所述用户的当前观看姿态在所述三维观看空间内的情况下,直接获取所述沉浸媒体数据;
或者,在确定所述用户的当前观看姿态正在移到或已经移到所述三维观看空间外的情况下,根据所述三维观看空间的处理信息,获取所述当前观看姿态对应的所述沉浸媒体数据。
11.根据权利要求10所述方法,其特征在于,获取所述沉浸媒体数据,包括:
确定媒体呈现描述文件,其中,所述媒体呈现描述文件中包括指示观看沉浸媒体的三维观看空间描述子和/或三维观看空间处理描述子;
根据所述用户的当前观看姿态对应的三维观看空间描述子和/或三维观看空间处理描述子请求获取所述当前观看姿态对应的所述沉浸媒体数据。
12.根据权利要求10或11所述方法,其特征在于,所述沉浸媒体的三维观看空间描述子包括以下至少之一:
基础几何体结构、基础几何体的旋转方向、基础几何体对应的视图或采集设备标识或索引、基础几何体的旋转、在基础几何体中观看方向、基础几何体组合方式、复杂结合体组合方式、三维观看空间标识。
13.根据权利要求10或11所述方法,其特征在于,所述沉浸媒体的三维观看空间处理描述子包括以下至少之一:
三维观看空间处理的设备类型、三维观看空间处理的应用类型、三维观看空间处理方式、三维观看空间的标识。
14.一种沉浸媒体数据的处理装置,其特征在于,包括:
获取单元,用于获取用户的当前观看姿态所对应的沉浸媒体数据,其中,使用一个三维观看空间限制用户的观看内容的渲染;
渲染单元,用于渲染所述当前观看姿态对应的沉浸媒体数据,其中,所述当前观看姿态在所述三维观看空间内时,渲染获取的所述沉浸媒体数据;或者,所述当前观看姿态已移到或正在移到所述三维观看空间外时,根据所述三维观看空间的处理信息渲染所述沉浸媒体数据。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至13任一项中所述的方法。
16.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至13任一项中所述的方法。
技术总结