首页 / 专利库 / 显示技术 / 3D显示器 / 发送360度视频的方法、接收360度视频的方法、发送360度视频的装置和接收360度视频的装置

发送360度视频的方法、接收360度视频的方法、发送360度视频的装置和接收360度视频的装置

阅读:483发布:2020-05-08

专利汇可以提供发送360度视频的方法、接收360度视频的方法、发送360度视频的装置和接收360度视频的装置专利检索,专利查询,专利分析的服务。并且根据本 发明 的一方面公开了一种发送360度视频的方法。根据本发明的实施方式的发送360度视频的方法包括以下步骤:生成包括多个360度视频内容的360度视频服务,其中,多个360度视频内容当中的至少两个360度视频内容通 过热 点彼此连接;为360度视频服务生成信令信息,其中,该信令信息包括与热点有关的信息,并且与热点有关的信息包括指示存在于360度视频内容中所包括的场景中的热点的数量的热点数量信息、用于标识各个热点的热点标识信息以及指示各个热点的 位置 的热点位置信息;以及发送包括360度视频服务和信令信息的数据 信号 。,下面是发送360度视频的方法、接收360度视频的方法、发送360度视频的装置和接收360度视频的装置专利的具体信息内容。

1.一种用于接收360度视频的装置,该装置包括:
接收器,该接收器被配置为接收数据信号,该数据信号包括包含多个360度视频内容的
360度视频服务以及用于所述360度视频服务的信令信息,
其中,所述多个360度视频内容中的至少两个360度视频内容通过热点彼此链接,其中,所述信令信息包括热点相关信息,
其中,所述热点相关信息包括指示存在于所述360度视频内容中所包括的场景中的热点的数量的热点数量信息、用于标识各个所述热点的热点标识信息以及指示各个所述热点的位置的热点位置信息;
信令解析器,该信令解析器被配置为解析所述信令信息;以及
显示器,该显示器被配置为显示所述360度视频服务。
2.根据权利要求1所述的装置,其中,所述热点位置信息是指示所述360度视频内容中的热点的位置的信息。
3.根据权利要求2所述的装置,其中,所述热点位置信息包括指示所述热点的中心的中心信息以及指示相对于所述热点的所述中心的平范围和垂直范围的范围信息。
4.根据权利要求2所述的装置,其中,所述热点位置信息包括限定所述热点的边界的至少三个顶点的坐标值。
5.根据权利要求1所述的装置,其中,所述热点相关信息还包括指示通过各个所述热点链接的360度视频内容的内容指示信息、关于所述内容指示信息所指示的所述360度视频内容的开始时间信息以及关于所述内容指示信息所指示的所述360度视频内容的初始视口信息。
6.根据权利要求1所述的装置,其中,所述信令信息还包括导航信息,该导航信息用于提供关于正在播放的360度视频内容的位置和取向信息,
其中,关于正在播放的360度视频内容的所述位置和取向信息指示关于所述360度视频服务的相对位置和取向。
7.根据权利要求1所述的装置,其中,导航信息包括窗口区域信息,该窗口区域信息限定正在播放的360度视频内容的视口中显示的导航器窗口的区域。
8.根据权利要求1所述的装置,该装置还包括:
渲染器,该渲染器被配置为在3D空间中渲染所述360度视频服务。
9.一种发送360度视频的方法,该方法包括以下步骤:
生成包含多个360度视频内容的360度视频服务,
其中,所述多个360度视频内容中的至少两个360度视频内容通过热点彼此链接;
为所述360度视频服务生成信令信息,
其中,所述信令信息包括热点相关信息,
其中,所述热点相关信息包括指示存在于所述360度视频内容中所包括的场景中的热点的数量的热点数量信息、用于标识各个所述热点的热点标识信息以及指示各个所述热点的位置的热点位置信息;以及
发送包括所述360度视频服务和所述信令信息的数据信号。
10.根据权利要求9所述的方法,其中,所述热点位置信息是指示所述360度视频内容中的热点的位置的信息。
11.根据权利要求10所述的方法,其中,所述热点位置信息包括指示所述热点的中心的中心信息以及指示相对于所述热点的所述中心的水平范围和垂直范围的范围信息。
12.根据权利要求10所述的方法,其中,所述热点位置信息包括限定所述热点的边界的至少三个顶点的坐标值。
13.根据权利要求9所述的方法,其中,所述热点相关信息还包括指示通过各个所述热点链接的360度视频内容的内容指示信息、关于所述内容指示信息所指示的所述360度视频内容的开始时间信息以及关于所述内容指示信息所指示的所述360度视频内容的初始视口信息。
14.根据权利要求9所述的方法,其中,所述信令信息还包括导航信息,该导航信息用于提供关于正在播放的360度视频内容的位置和取向信息,
其中,关于正在播放的360度视频内容的所述位置和取向信息指示关于所述360度视频服务的相对位置和取向。
15.根据权利要求9所述的方法,其中,导航信息包括窗口区域信息,该窗口区域信息限定正在播放的360度视频内容的视口中显示的导航器窗口的区域。

说明书全文

发送360度视频的方法、接收360度视频的方法、发送360度视

频的装置和接收360度视频的装置

技术领域

[0001] 本公开涉及一种发送360度视频的方法、接收360度视频的方法、发送360度视频的装置、接收360度视频的装置。

背景技术

[0002] 虚拟现实(VR)系统向用户提供处于电子投影环境中的体验。可增强VR系统以便提供具有更高清晰度的图像和空间声音。VR系统可允许用户交互地使用VR内容。
[0003] 目前,在360度球体形式的有限区域中提供VR内容(360度内容)。换言之,目前的VR内容为具有固定中心的360度区域提供服务。发明内容
[0004] 技术问题
[0005] 需要改进VR系统以便更高效地向用户提供VR环境。为此,应该提出诸如VR内容的大量数据的传输的数据传输效率、发送和接收网络之间的鲁棒性、考虑移动接收装置的网络灵活性以及用于高效播放和信令的方法。
[0006] 正在开发下一代媒体的标准的MPEG-I试图提供一种可覆盖比具有固定中心的360度服务更宽的区域的新型内容服务(例如,光场、全向360等)。换言之,与现有固定球体相比,正在努扩大用户可体验的服务范围。
[0007] 本公开的目的在于提供一种即使当提供多个VR内容(360度内容)时也高效地处理视频数据的方法。
[0008] 本公开的另一目的在于提供一种当要对多个360度内容进行流处理时配置文件/传输格式以用于360度内容之间的高效场景改变的方法。
[0009] 本公开的另一目的在于提供一种配置文件格式以用于使用定时元数据方案用信号通知一个或更多个热点的方法。
[0010] 本公开的另一目的在于提供一种在当前正以文件格式再现的VR内容中用信号通知热点的位置的方法。
[0011] 本公开的另一目的在于提供一种在经由热点链接的新VR内容中用信号通知初始视口的位置的方法。
[0012] 本公开的另一目的在于提供一种相对于能够针对链接的VR内容之间的相对位置提供用户指导的导航器的子窗口用信号通知位置的方法。
[0013] 技术方案
[0015] 在本公开的一个方面,本文提供了一种用于接收360度视频的装置。
[0016] 根据示例,用于接收360度视频的装置可包括:接收器,其被配置为接收数据信号,该数据信号包括包含多个360度视频内容的360度视频服务以及用于360度视频服务的信令信息,其中,所述多个360度视频内容中的至少两个360度视频内容通过热点彼此链接,其中,信令信息包括热点相关信息,其中,热点相关信息包括指示360度视频内容中所包括的场景中存在的热点的数量的热点数量信息、用于标识各个热点的热点标识信息以及指示各个热点的位置的热点位置信息;信令解析器,其被配置为解析信令信息;以及显示器,其被配置为显示360度视频服务。
[0017] 热点位置信息可以是指示360度视频内容中的热点的位置的信息。
[0018] 热点位置信息可包括指示热点的中心的中心信息以及指示相对于热点的中心的平范围和垂直范围的范围信息。
[0019] 热点位置信息可包括限定热点的边界的至少三个顶点的坐标值。
[0020] 热点相关信息还可包括指示通过各个热点链接的360度视频内容的内容指示信息、关于内容指示信息所指示的360度视频内容的开始时间信息以及关于内容指示信息所指示的360度视频内容的初始视口信息。
[0021] 信令信息还可包括导航信息,该导航信息用于提供关于正在播放的360度视频内容的位置和取向信息,其中,关于正在播放的360度视频内容的位置和取向信息可指示关于360度视频服务的相对位置和取向。
[0022] 导航信息可包括窗口区域信息,该窗口区域信息限定正在播放的360度视频内容的视口中显示的导航器窗口的区域。
[0023] 360度视频接收装置还可包括渲染器,该渲染器被配置为在3D空间中渲染360度视频服务。
[0024] 在本公开的另一方面,本文提供了一种发送360度视频的方法。
[0025] 根据示例,发送360度视频的方法可包括以下步骤:生成包含多个360度视频内容的360度视频服务,其中,多个360度视频内容中的至少两个360度视频内容通过热点彼此链接;为360度视频服务生成信令信息,其中,该信令信息可包括热点相关信息,其中,该热点相关信息可包括指示存在于360度视频内容中所包括的场景中的热点的数量的热点数量信息、用于标识各个热点的热点标识信息以及指示各个热点的位置的热点位置信息;以及发送包括360度视频服务和信令信息的数据信号。
[0026] 热点位置信息可以是指示360度视频内容中的热点的位置的信息。
[0027] 热点位置信息可包括指示热点的中心的中心信息以及指示相对于热点的中心的水平范围和垂直范围的范围信息。
[0028] 热点位置信息可包括限定热点的边界的至少三个顶点的坐标值。
[0029] 热点相关信息还可包括指示通过各个热点链接的360度视频内容的内容指示信息、关于内容指示信息所指示的360度视频内容的开始时间信息以及关于内容指示信息所指示的360度视频内容的初始视口信息。
[0030] 信令信息还可包括导航信息,该导航信息用于提供关于正在播放的360度视频内容的位置和取向信息,其中,关于正在播放的360度视频内容的位置和取向信息可指示关于360度视频服务的相对位置和取向。
[0031] 导航信息可包括窗口区域信息,该窗口区域信息限定正在播放的360度视频内容的视口中显示的导航器窗口的区域。
[0032] 在本公开的另一方面,本文提供了一种360度视频发送装置和接收360度视频的方法。
[0033] 有益效果
[0034] 根据本公开,可在支持采用地面广播网络和互联网网络的下一代混合广播的环境中高效地发送360度内容。
[0035] 本公开可提供一种在用户消费360度内容时提供交互体验的方法。
[0036] 本公开可提供一种在用户消费360度内容时准确地反映360度内容制作者的意图的信令方法。
[0037] 本公开可提供一种在360度内容传送中高效地增加传输容量并传送必要信息的方法。
[0038] 本公开可提供多个360度内容。更具体地,本公开可在360度视频内提供多个360度内容,并且提供了提供360度视频的下一代媒体服务。本公开还可提供一种在360度视频内提供多个360度内容时高效地处理视频数据的方法。附图说明
[0039] 图1示出根据本发明的用于提供360度视频的架构。
[0040] 图2示出根据本发明的一方面的360度视频发送装置。
[0041] 图3示出根据本发明的另一方面的360度视频接收装置。
[0042] 图4示出根据本发明的另一实施方式的360度视频发送装置/360度视频接收装置。
[0043] 图5示出用于描述根据本发明的3D空间的飞行器主轴的概念。
[0044] 图6示出根据本发明的一个实施方式的投影方案。
[0045] 图7示出根据本发明的一个实施方式的拼
[0046] 图8示出根据本发明的一个实施方式的360度视频相关元数据。
[0047] 图9示出根据本公开的示例的媒体文件的结构。
[0048] 图10示出根据本公开的示例的ISOBMFF中的盒的分层结构。
[0049] 图11示出根据本公开的示例的基于DASH的自适应流模型的总体操作。
[0050] 图12示出根据本公开的示例的通过热点链接VR内容。
[0051] 图13示出热点的各种示例。
[0052] 图14示出根据本公开的示例的包括热点相关信息的数据结构。
[0053] 图15示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0054] 图16是示出根据本公开的示例的基于形状类型来限定区域的方法的参考图。
[0055] 图17示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0056] 图18示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0057] 图19示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0058] 图20示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0059] 图21示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0060] 图22示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0061] 图23示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0062] 图24示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0063] 图25示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0064] 图26示出根据本公开的各种示例的HotspotStruct( )被包括在HotspotSampleEntry或HotspotSample()中的情况。
[0065] 图27示出根据本公开的各种示例的通过ISO BMFF盒用信号通知包括热点相关信息的数据结构的示例。
[0066] 图28示出根据本公开的各种示例的通过ISO BMFF盒用信号通知包括热点相关信息的数据结构的示例。
[0067] 图29示出根据本公开的示例的tref盒。
[0068] 图30示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0069] 图31示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0070] 图32是示出用于在VR内容之间切换流的样本分组的示例的图。
[0071] 图33示出用于在VR内容之间切换流的样本组盒。
[0072] 图34示出用于以预定顺序传送分组的VR内容的样本组条目。
[0073] 图35示出根据本公开的示例的包括导航信息的数据结构。
[0074] 图36示出根据本公开的另一示例的包括导航信息的数据结构。
[0075] 图37示出根据本公开的各种示例的导航信息被包括在NavigatorSampleEntry中的情况。
[0076] 图38示出通过ISO BMFF盒用信号通知根据本公开的各种示例的包括导航信息的数据结构的示例。
[0077] 图39示出根据本公开的另一示例的tref盒。
[0078] 图40示出根据本公开的另一示例的包括导航信息的数据结构。
[0079] 图41示出根据本公开的示例的SphereRegionStruct。
[0080] 图42是示出根据本公开的示例的发送360度视频的方法的流程图
[0081] 图43是示出根据本公开的示例的360度视频发送装置的配置的框图
[0082] 图44是示出根据本公开的示例的360度视频接收装置的配置的框图。
[0083] 图45是示出根据本公开的示例的接收360度视频的方法的流程图。

具体实施方式

[0084] 现在将详细参考本发明的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本发明的示例性实施方式,而非示出可根据本发明实现的仅有实施方式。
[0085] 尽管本说明书中的元件的大多数术语是考虑其在本说明书中的功能从本领域中广泛使用的一般术语中选择的,但是这些术语可根据本领域技术人员的意图或习惯或者新技术的引入而改变。一些术语已由申请人任意选择,其含义根据需要在以下描述中说明。因此,本说明书中所使用的术语应该基于本说明书的总体内容以及术语的实际含义而非其简单名称或含义来解释。
[0086] 图1示出根据本发明的用于提供360度视频的架构。
[0087] 本发明提出了一种用于提供360度内容或全向媒体以便向用户提供VR(虚拟现实)的方法。VR是指用于复制实际或虚拟环境的技术或环境。VR人为地向用户提供感官体验,因此用户可体验到电子投影环境。
[0088] 360度内容是指用于实现和提供VR的内容,并且可包括360度视频和/或360度音频。360度视频可指提供VR所需的在所有方向上(360度)拍摄或再现的视频或图像内容。360度视频可指根据3D模型在3D空间上以各种形式表示的视频或图像。例如,360视频可被表示在球面上。360音频是用于提供VR的音频内容,并且可指可被识别为具有位于特定空间上的音频生成源的内容的空间音频内容。360内容可被生成、处理并发送给用户,用户可使用360内容来消费VR体验。以下,360内容/视频/图像/音频可被表示为没有单位(度)的360内容/视频/图像/音频或VR内容/视频/图像/音频。此外,360内容/视频/图像/音频可与全向内容/视频/图像/音频互换使用。
[0089] 本发明提出了一种有效地提供360度视频的方法。为了提供360视频,首先,可使用一个或更多个相机来拍摄360视频。所拍摄的360视频通过一系列处理来发送,并且接收方可将所接收的数据处理成原始360视频并渲染360视频。因此,可将360视频提供给用户。
[0090] 具体地,用于提供360视频的过程可包括拍摄处理、准备处理、传输处理、加工处理、渲染处理和/或反馈处理。
[0091] 拍摄处理可指通过一个或更多个相机拍摄多个视点的图像或视频的处理。可通过拍摄处理生成图中所示的图像/视频数据t1010。所示图像/视频数据t1010的各个平面可指各个视点的图像/视频。所拍摄的图像/视频可被称为原始数据。在拍摄处理中,可生成与拍摄有关的元数据。
[0092] 为了拍摄,可使用用于VR的特殊相机。当根据实施方式提供使用计算机生成的虚拟空间的360视频时,可不执行使用相机的拍摄。在这种情况下,拍摄处理可由简单地生成相关数据的处理代替。
[0093] 准备处理可以是处理所拍摄的图像/视频以及在拍摄处理中生成的元数据的处理。在准备处理中,所拍摄的图像/视频可经历拼接、投影、区域式打包和/或编码。
[0094] 首先,图像/视频可经历拼接处理。拼接处理可以是将所拍摄的图像/视频连接以创建单个全景图像/视频或球面图像/视频的处理。
[0095] 然后,拼接的图像/视频可经历投影处理。在投影处理中,拼接的图像/视频可被投影到2D图像上。该2D图像可被称为2D图像。2D图像上的投影可被表示为向2D图像的映射。投影的图像/视频数据可具有如图所示的2D图像t1020的形式。
[0096] 投影到2D图像上的视频数据可经历区域式打包处理以便增加视频编码效率。区域式打包可指将投影到2D图像上的视频数据分割成区域并处理所述区域的处理。这里,区域可指通过分割投影有360视频数据的2D图像而获得的区域。根据实施方式,这些区域可通过相等地或随机地分割2D图像来获得。根据实施方式,可根据投影方案来分割区域。区域式打包处理是可选处理,因此可在准备处理中省略。
[0097] 根据实施方式,该处理可包括在2D图像上旋转区域或重新布置区域以便增加视频编码效率的处理。例如,区域可被旋转,使得区域的特定边被定位成彼此邻近,以增加编码效率。
[0098] 根据实施方式,该处理可包括增大或减小特定区域的分辨率以便区分360视频的区域的分辨率的处理。例如,与360视频的相对重要的部分对应的区域的分辨率可被增大到高于其它区域。投影到2D图像上的视频数据或区域式打包的视频数据可经历使用视频编解码器的编码处理。
[0099] 根据实施方式,准备处理可另外包括编辑处理。在编辑处理中,可编辑投影之前或之后的图像/视频数据。在准备处理中,可生成关于拼接/投影/编码/编辑的元数据。另外,可生成关于投影到2D图像上的视频数据的初始视点或ROI(关注区域)的元数据。
[0100] 传输处理可以是处理并发送已经历准备处理的图像/视频数据和元数据的处理。为了传输,可执行根据任意传输协议的处理。已被处理用于传输的数据可经由广播网络和/或宽带来传送。可按照按需方式向接收方传送数据。接收方可通过各种路径接收数据。
[0101] 加工处理指将接收的数据解码并将投影的图像/视频数据重新投影在3D模型上的处理。在此处理中,投影到2D图像上的图像/视频数据可重新投影到3D空间上。该处理可被称为映射投影。这里,映射有数据的3D空间可具有取决于3D模型的形式。例如,3D模型可包括球体、立方体、圆柱体和锥体。
[0102] 根据实施方式,加工处理还可包括编辑处理、放大处理等。在编辑处理中,可编辑重新投影之前或之后的图像/视频数据。当图像/视频数据已被缩小时,可在放大处理中通过样本的放大来增大图像/视频数据的大小。必要时,可通过缩小来减小大小。
[0103] 渲染处理可指渲染并显示重新投影到3D空间上的图像/视频数据的处理。重新投影和渲染可被共同表示为在3D模型上渲染。在3D模型上重新投影(或渲染)的图像/视频可具有如图所示的形式t1030。形式t1030对应于图像/视频被重新投影到球形3D模型上的情况。用户可通过VR显示器等来观看渲染的图像/视频的区域。这里,用户所观看的区域可具有图中所示的形式t1040。
[0104] 反馈处理可指将可在显示处理中获取的各种类型的反馈信息传送到发送方的处理。通过反馈处理,可提供360视频消费中的交互性。根据实施方式,在反馈处理中,可将头部取向信息、指示用户当前观看的区域的视口信息等传送到发送方。根据实施方式,用户可与VR环境中实现的内容交互。在这种情况下,可在反馈处理中将与交互有关的信息传送到发送方或服务提供方。根据实施方式,可不执行反馈处理。
[0105] 头部取向信息可指关于用户的头部的位置、度和运动的信息。基于该信息,可计算关于用户当前观看的360视频的区域的信息(即,视口信息)。
[0106] 视口信息可以是关于用户当前观看的360视频的区域的信息。可使用视口信息来执行注视分析,以检查用户消费360视频的方式、用户所注视的360视频的区域以及用户注视该区域多久。注视分析可由接收方执行,并且可通过反馈信道将分析结果传送至发送方。诸如VR显示器的装置可基于用户头部的位置/方向、装置所支持的垂直或水平FOV等来提取视口区域。
[0107] 根据实施方式,上述反馈信息可在接收方处消费以及被传送至发送方。即,可使用上述反馈信息执行接收方的解码、重新投影和渲染处理。例如,可使用头部取向信息和/或视口信息仅优先解码并渲染与用户当前观看的区域对应的360视频。
[0108] 这里,视口或视口区域可指用户当前观看的360视频的区域。视点是360视频中用户观看的点,并且可指视口区域的中心点。即,视口是基于视点的区域,该区域的大小和形式可由FOV(视场)(将在下面描述)确定。
[0109] 在用于提供360视频的上述架构中,经受一系列拍摄/投影/编码/传输/解码/重新投影/渲染处理的图像/视频数据可被称为360视频数据。术语“360视频数据”可用作包括与这种图像/视频数据有关的元数据或信令信息的概念。
[0110] 图2示出根据本发明的一方面的360视频发送装置。
[0111] 根据一方面,本发明可涉及一种360视频发送装置。根据本发明的360视频发送装置可执行与上述准备处理至传输处理有关的操作。根据本发明的360视频发送装置可包括数据输入单元、拼接器、投影处理器、区域式打包处理器(未示出)、元数据处理器、(发送方)反馈处理器、数据编码器、封装处理器、发送处理器和/或发送器作为内部/外部元件。
[0112] 数据输入单元可接收各个视点的拍摄的图像/视频。视点的图像/视频可以是通过一个或更多个相机拍摄的图像/视频。另外,数据输入单元可接收在拍摄处理中生成的元数据。数据输入单元可将接收的视点的图像/视频传送至拼接器并将在拍摄处理中生成的元数据传送至信令处理器。
[0113] 拼接器可将拍摄的视点的图像/视频拼接。拼接器可将拼接的360视频数据传送至投影处理器。必要时,拼接器可从元数据处理器接收必要的元数据并将该元数据用于拼接操作。拼接器可将在拼接处理中生成的元数据传送至元数据处理器。拼接处理中的元数据可包括指示是否执行拼接、拼接类型等的信息。
[0114] 投影处理器可将拼接的360视频数据投影在2D图像上。投影处理器可根据各种方案执行投影(将在下面描述)。投影处理器可考虑各个视点的360视频数据的深度来执行映射。必要时,投影处理器可从元数据处理器接收投影所需的元数据并将该元数据用于投影操作。投影处理器可将在投影处理中生成的元数据传送至元数据处理器。投影处理的元数据可包括投影方案类型。
[0115] 区域式打包处理器(未示出)可执行上述区域式打包处理。即,区域式打包处理器可执行将投影的360视频数据分割成区域,旋转或重新布置区域,或者改变各个区域的分辨率的处理。如上所述,区域式打包处理是可选处理,当不执行区域式打包处理时,可省略区域式打包处理器。必要时,区域式打包处理器可从元数据处理器接收区域式打包所需的元数据并将该元数据用于区域式打包操作。区域式打包处理器的元数据可包括各个区域旋转的程度、各个区域的大小等。
[0116] 根据实施方式,上述拼接器、投影处理器和/或区域式打包处理器可由一个硬件组件实现。
[0117] 元数据处理器可处理可在拍摄处理、拼接处理、投影处理、区域式打包处理、编码处理、封装处理和/或加工处理中生成的元数据以用于传输。元数据处理器可使用这种元数据来生成360视频相关元数据。根据实施方式,元数据处理器可按照信令表的形式生成360视频相关元数据。根据上下文,360视频相关元数据可被称为元数据或360视频相关信令信息。此外,必要时,元数据处理器可将所获取或生成的元数据传送至360视频发送装置的内部元件。元数据处理器可将360视频相关元数据传送至数据编码器、封装处理器和/或发送处理器,使得元数据可被发送至接收方。
[0118] 数据编码器可对投影到2D图像上的360视频数据和/或区域式打包的360视频数据进行编码。可按照各种格式对360视频数据进行编码。
[0119] 封装处理器可将编码的360视频数据和/或360视频相关元数据封装到文件中。这里,360视频相关元数据可以是从元数据处理器传送来的。封装处理器可按照诸如ISOBMFF、CFF等的文件格式来封装数据,或者将数据处理成DASH分段。根据实施方式,封装处理器可包括文件格式的360视频相关元数据。例如,360视频相关元数据可按照ISOBMFF文件格式包括在各种级别的盒中,或者作为数据包括在文件中的附加轨道中。根据实施方式,封装处理器可将360视频相关元数据封装到文件中。发送处理器可对按照文件格式封装的360视频数据执行用于发送的处理。发送处理器可根据任意传输协议来处理360视频数据。用于发送的处理可包括用于通过广播网络传送的处理以及用于经由宽带传送的处理。根据实施方式,除了360视频数据之外,发送处理器可从元数据处理器接收360视频相关元数据并对该360视频相关元数据执行用于发送的处理。
[0120] 发送单元可经由广播网络和/或宽带来发送处理的360视频数据和/或360视频相关元数据。发送单元可包括用于经由广播网络发送的元件以及用于经由宽带发送的元件。
[0121] 根据本发明的实施方式,360视频发送装置还可包括数据存储单元(未示出)作为内部/外部元件。数据存储单元可在传送至发送处理器之前存储编码的360视频数据和/或360视频相关元数据。这种数据可按照诸如ISOBMFF的文件格式存储。当实时发送360视频时,可不使用数据存储单元。然而,按需、非实时或经由宽带传送360视频,封装的360数据可被存储在数据存储单元中达预定时段然后发送。
[0122] 根据本发明的另一实施方式,360视频发送装置还可包括(发送方)反馈处理器和/或网络接口(未示出)作为内部/外部元件。网络接口可从根据本发明的360视频接收装置接收反馈信息,并将该反馈信息传送至(发送方)反馈处理器。反馈处理器可将反馈信息传送至拼接器、投影处理器、区域式打包处理器、数据编码器、封装处理器、元数据处理器和/或发送处理器。根据实施方式,反馈信息可被传送至元数据处理器,然后被传送至各个内部元件。在接收到反馈信息时,内部元件可在360视频数据处理中反映反馈信息。
[0123] 根据本发明的360视频发送装置的另一实施方式,区域式打包处理器可旋转区域并将区域映射在2D图像上。这里,区域可在不同的方向上以不同的角度旋转并被映射在2D图像上。可考虑投影之前在球面上360视频数据的邻近部分和拼接部分来旋转区域。关于区域的旋转的信息(即,旋转方向和角度)可使用360视频相关元数据用信号通知。根据依据本发明的360视频发送装置的另一实施方式,数据编码器可对各个区域不同地执行编码。数据编码器可对特定区域以高质量进行编码,并且对其它区域以低质量进行编码。发送方的反馈处理器可将从360视频接收装置接收的反馈信息传送至数据编码器,使得数据编码器可使用针对区域区分的编码方法。例如,反馈处理器可将从接收方接收的视口信息传送至数据编码器。数据编码器可对包括视口信息所指示的区域的区域以比其它区域更高的质量(UHD)进行编码。
[0124] 根据依据本发明的360视频发送装置的另一实施方式,发送处理器可对各个区域不同地执行用于发送的处理。发送处理器可对区域应用不同的传输参数(调制阶数、码率等),使得为区域传送的数据具有不同的鲁棒性。
[0125] 这里,反馈处理器可将从360视频接收装置接收的反馈信息传送至发送处理器,使得发送处理器可执行针对各个区域区分的发送处理。例如,反馈处理器可将从接收方接收的视口信息传送至发送处理器。发送处理器可对包括视口信息所指示的区域的区域执行发送处理,使得所述区域具有比其它区域更高的鲁棒性。
[0126] 根据本发明的360视频发送装置的上述内部/外部元件可以是硬件元件。根据实施方式,内部/外部元件可被修改、省略、由其它元件代替或者与其它元件集成。根据实施方式,附加元件可被添加到360视频发送装置。
[0127] 图3示出根据本发明的另一方面的360视频接收装置。
[0128] 根据另一方面,本发明可涉及一种360视频接收装置。根据本发明的360视频接收装置可执行与上述加工处理和/或渲染处理有关的操作。根据本发明的360视频接收装置可包括接收单元、接收处理器、解封装处理器、数据解码器、元数据解析器、(接收方)反馈处理器、重新投影处理器和/或渲染器作为内部/外部元件。
[0129] 接收单元可接收从根据本发明的360视频发送装置发送来的360视频数据。根据传输信道,接收单元可通过广播网络或宽带来接收360视频数据。
[0130] 接收处理器可根据传输协议对所接收的360视频数据执行处理。接收处理器可执行发送处理器的逆处理。接收处理器可将所获取的360视频数据传送至解封装处理器并将所获取的360视频相关元数据传送至元数据解析器。由接收处理器获取的360视频相关元数据可具有信令表的形式。
[0131] 解封装处理器可将从接收处理器接收的文件格式的360视频数据解封装。解封装处理器可按照ISOBMFF将文件解封装以获取360视频数据和360视频相关元数据。所获取的360视频数据可被传送至数据解码器,并且所获取的360视频相关元数据可被传送至元数据解析器。由解封装处理器获取的360视频相关元数据可具有文件格式中的盒或轨道的形式。
必要时,解封装处理器可从元数据解析器接收解封装所需的元数据。
[0132] 数据解码器可将360视频数据解码。数据解码器可从元数据解析器接收解码所需的元数据。在数据解码处理中获取的360视频相关元数据可被传送至元数据解析器。
[0133] 元数据解析器可解析/解码360视频相关元数据。元数据解析器可将所获取的元数据传送至数据解封装处理器、数据解码器、重新投影处理器和/或渲染器。
[0134] 重新投影处理器可重新投影解码的360视频数据。重新投影处理器可将360视频数据重新投影在3D空间上。3D空间可根据所使用的3D模型而具有不同的形式。重新投影处理器可从元数据解析器接收重新投影所需的元数据。例如,重新投影处理器可从元数据解析器接收关于所使用的3D模型的类型的信息及其详细信息。根据实施方式,重新投影处理器可使用重新投影所需的元数据在3D空间上仅重新投影与特定区域对应的360视频数据。
[0135] 渲染器可渲染重新投影的360视频数据。如上所述,这可被表示为在3D空间上渲染360视频数据。当以这样的方式同时执行两个处理时,重新投影处理器和渲染器可被集成并且可在渲染器中执行这些处理。根据实施方式,渲染器可根据用户的观看信息仅渲染用户当前观看的部分。
[0136] 用户可通过VR显示器观看渲染的360视频的部分。VR显示器是用于再现360视频的装置,并且可被包括在360视频接收装置中(系留)或者作为单独的装置连接到360视频接收装置(非系留)。
[0137] 根据本发明的实施方式,360视频接收装置还可包括(接收方)反馈处理器和/或网络接口(未示出)作为内部/外部元件。反馈处理器可从渲染器、重新投影处理器、数据解码器、解封装处理器和/或VR显示器获取反馈信息并处理反馈信息。反馈信息可包括视口信息、头部取向信息、注视信息等。网络接口可从反馈处理器接收反馈信息并将其发送至360视频发送装置。
[0138] 如上所述,除了被传送至发送方之外,反馈信息还可由接收方使用。接收方反馈处理器可将所获取的反馈信息传送至360视频接收装置的内部元件,使得反馈信息被反映在渲染处理中。接收方反馈处理器可将反馈信息传送至渲染器、重新投影处理器、数据解码器和/或解封装处理器。例如,渲染器可优先使用反馈信息来渲染用户观看的区域。另外,解封装处理器和数据解码器可优先将用户观看的区域或用户要观看的区域解封装和解码。
[0139] 根据本发明的360视频接收装置的内部/外部元件可以是硬件元件。根据实施方式,内部/外部元件可被修改、省略、由其它元件代替或者与其它元件集成。根据实施方式,附加元件可被添加到360视频接收装置。
[0140] 本发明的另一方面可涉及一种发送360视频的方法和接收360视频的方法。根据本发明的发送/接收360视频的方法可由上述360视频发送/接收装置或其实施方式执行。
[0141] 360视频发送/接收装置的上述实施方式及其内部/外部元件的实施方式可被组合。例如,投影处理器的实施方式和数据编码器的实施方式可被组合以创建与实施方式的数量一样多的360视频发送装置的实施方式。组合的实施方式也被包括在本发明的范围内。
[0142] 图4示出根据本发明的另一实施方式的360视频发送装置/360视频接收装置。
[0143] 如上所述,可根据(a)中所示的架构来提供360内容。360内容可按照文件的形式或者按照基于分段的下载或流服务(例如,DASH)的形式提供。这里,360内容可被称为VR内容。
[0144] 如上所述,可获取360视频数据和/或360音频数据。
[0145] 360音频数据可经受音频预处理和音频编码。通过这些处理,可生成音频相关元数据,并且编码的音频和音频相关元数据可经受用于发送的处理(文件/分段封装)。
[0146] 360视频数据可经历上述处理。360视频发送装置的拼接器可对360视频数据进行拼接(视觉拼接)。根据实施方式,该处理可被省略并在接收方执行。360视频发送装置的投影处理器可将360视频数据投影在2D图像上(投影和映射(打包))。
[0147] (b)中详细示出拼接和投影处理。在(b)中,当传送360视频数据(输入图像)时,可对其执行拼接和投影。投影处理可被视为将拼接的360视频数据投影在3D空间上并将投影的360视频数据布置在2D图像上。在本说明书中,该处理可被表示成将360视频数据投影在2D图像上。这里,3D空间可以是球体或立方体。3D空间可与接收方用于重新投影的3D空间相同。
[0148] 2D图像也可被称为投影的帧C。可在2D图像上可选地执行区域式打包。当执行区域式打包时,可指示区域的形式和大小,使得2D图像上的区域可被映射在打包的帧D上。当不执行区域式打包时,投影的帧可与打包的帧相同。区域将在下面描述。投影处理和区域式打包处理可被表示成将360视频数据的区域投影在2D图像上。根据设计,360视频数据可被直接转换为打包的帧,而没有中间处理。
[0149] 在(a)中,可对投影的360视频数据进行图像编码或视频编码。由于对于不同的视点可能存在相同的内容,所以相同的内容可被编码到不同的比特流中。编码的360视频数据可根据上述封装处理器被处理成诸如ISOBMFF的文件格式。另选地,封装处理器可将编码的360视频数据处理成分段。分段可被包括在个体轨道中以用于基于DASH的发送。
[0150] 与360视频数据的处理一起,如上所述,可生成360视频相关元数据。该元数据可被包括在视频比特流或文件格式中并传送。元数据可用于编码、文件格式封装、用于发送的处理等。
[0151] 360音频/视频数据可根据传输协议经历用于发送的处理,然后被发送。上述360视频接收装置可经由广播网络或宽带来接收360音频/视频数据。
[0152] 在(a)中,VR服务平台可对应于上述360视频接收装置的实施方式。在(a)中,扬声器/机、显示器和头部/眼睛跟踪组件由360视频接收装置的外部装置或VR应用执行。根据实施方式,360视频接收装置可包括所有这些组件。根据实施方式,头部/眼睛跟踪组件可对应于上述接收方反馈处理器。
[0153] 360视频接收装置可对360音频/视频数据执行用于接收的处理(文件/分段解封装)。360音频数据可经受音频解码和音频渲染,然后通过扬声器/耳机提供给用户。
[0154] 360视频数据可经受图像解码或视频解码和视觉渲染并通过显示器提供给用户。这里,显示器可以是支持VR的显示器或一般显示器。
[0155] 如上所述,渲染处理可被视为将360视频数据重新投影在3D空间上并渲染重新投影的360视频数据的处理。这可被表示成在3D空间上渲染360视频数据。
[0156] 头部/眼睛跟踪组件可获取并处理用户的头部取向信息、注视信息和视口信息。这已在上面描述。
[0157] 接收方可包括与接收方的上述处理通信的VR应用。
[0158] 图5示出用于描述本发明的3D空间的飞行器主轴的概念。
[0159] 在本发明中,可使用飞行器主轴的概念来表示3D空间中的特定点、位置、方向、间距和区域。
[0160] 即,可使用飞行器主轴的概念来描述投影之前或重新投影之后的3D空间并用信号通知其。根据实施方式,可使用利用X、Y和Z轴或球坐标系的方法。
[0161] 飞行器可在三个维度自由地旋转。形成这三个维度的轴被称为俯仰轴、偏航轴和横滚轴。在本说明书中,这些可被表示成俯仰、偏航和横滚或者俯仰方向、偏航方向和横滚方向。
[0162] 俯仰轴可指飞行器的前端上下旋转的方向的参考轴。在所示飞行器主轴的概念中,俯仰轴可指在飞行器的机翼之间连接的轴。
[0163] 偏航轴可指飞行器的前端向左/右旋转的方向的参考轴。在所示飞行器主轴的概念中,偏航轴可指从飞行器的顶部到底部连接的轴。
[0164] 在所示飞行器主轴的概念中,横滚轴可指从飞行器的前端到机尾连接的轴,并且横滚方向上的旋转可指基于横滚轴的旋转。
[0165] 如上所述,本发明中的3D空间可使用俯仰、偏航和横滚的概念来描述。
[0166] 图6示出根据本发明的实施方式的投影方案。
[0167] 如上所述,根据本发明的360视频发送装置的投影处理器可将拼接的360视频数据投影在2D图像上。在此处理中,可使用各种投影方案。
[0168] 根据依据本发明的360视频发送装置的另一实施方式,投影处理器可使用立方体投影方案来执行投影。例如,拼接的360视频数据可被表示在球面上。投影处理器可将360视频数据分段为立方体的面并将其投影在2D图像上。球面上的360视频数据可对应于立方体的面并如(a)所示投影到2D图像上。
[0169] 根据依据本发明的360视频发送装置的另一实施方式,投影处理器可使用圆柱体投影方案来执行投影。类似地,如果拼接的360视频数据可被表示在球面上,则投影处理器可将360视频数据分段为圆柱体的部分并将其投影在2D图像上。球面上的360视频数据可对应于圆柱体的侧面、顶部和底部并如(b)所示投影到2D图像上。
[0170] 根据依据本发明的360视频发送装置的另一实施方式,投影处理器可使用锥体投影方案来执行投影。类似地,如果拼接的360视频数据被表示在球面上,则投影处理器可将360视频数据视为锥体形式,将360视频数据分段为锥体的面,并将其投影在2D图像上。球面上的360视频数据可对应于锥体的前侧、左上侧、左下侧、右上侧和右下侧并如(c)所示投影到2D图像上。
[0171] 根据实施方式,除了上述方案之外,投影处理器可使用等距矩形投影方案和全景投影方案来执行投影。
[0172] 如上所述,区域可指通过将投影有360视频数据的2D图像分割而获得的区域。这些区域不需要与根据投影方案投影的2D图像的各个面对应。然而,根据实施方式,区域可被分割,使得投影的2D图像的面与区域对应并且可执行区域式打包。根据实施方式,区域可被分割,使得多个面可与一个区域对应或者一个面可与多个区域对应。在这种情况下,区域可取决于投影方案。例如,在(a)中,立方体的顶侧、底侧、前侧、左侧、右侧和后侧可以是各个区域。在(b)中,圆柱体的侧面、顶侧和底侧可以是各个区域。在(c)中,锥体的前侧、左上侧、左下侧、右上侧和右下侧可以是各个区域。
[0173] 图7示出根据本发明的实施方式的拼块。
[0174] 投影到2D图像上的360视频数据或区域式打包的360视频数据可被分割成一个或更多个拼块。(a)示出一个2D图像被分割成16个拼块。这里,2D图像可以是上述投影的帧或打包的帧。根据本发明的360视频发送装置的另一实施方式,数据编码器可独立地对拼块进行编码。
[0175] 上述区域式打包可区别于平铺。上述区域式打包可指将投影到2D图像上的360视频数据分割成区域并处理所述区域以便增加编码效率或调节分辨率的处理。平铺可指数据编码器将投影的帧或打包的帧分割成拼块并独立地对拼块进行编码的处理。当提供360视频数据时,用户不同时使用360视频的所有部分。平铺使得能够在有限的带宽上仅将与重要部分或特定部分(例如,用户当前观看的视口)对应的拼块发送到接收方或由其消费。通过平铺,可更有效地使用有限的带宽,并且与同时处理整个360视频数据的情况相比,接收方可降低计算负荷。
[0176] 区域和拼块彼此相区别,因此它们不需要相同。然而,根据实施方式,区域和拼块可指相同的区域。根据实施方式,可基于拼块来执行区域式打包,因此区域可对应于拼块。此外,根据实施方式,当根据投影方案的侧面对应于区域时,根据投影方案的各个侧面、区域和拼块可指相同的区域。根据上下文,区域可被称为VR区域,并且拼块可被称为拼块区域。
[0177] ROI(关注区域)可指由360内容提供商提供的用户感兴趣的区域。当360内容提供商制作360视频时,360内容提供商可考虑预期为用户感兴趣的区域的特定区域来制作360视频。根据实施方式,ROI可对应于再现360视频的重要内容的区域。
[0178] 根据本发明的360视频发送/接收装置的另一实施方式,接收方反馈处理器可提取并收集视口信息并将其传送至发送方反馈处理器。在此处理中,视口信息可使用双方的网络接口来传送。在(a)所示的2D图像中,显示视口t6010。这里,视口可显示在2D图像的九个拼块上。
[0179] 在这种情况下,360视频发送装置还可包括平铺系统。根据实施方式,平铺系统可位于数据编码器之后(b),可被包括在上述数据编码器或发送处理器中,或者可作为单独的内部/外部元件包括在360视频发送装置中。
[0180] 平铺系统可从发送方反馈处理器接收视口信息。平铺系统可仅选择包括在视口区域中的拼块并发送其。在(a)所示的2D图像中,可仅发送16个拼块当中包括视口区域t6010的九个拼块。这里,平铺系统可经由宽带以单播方式发送拼块,因为对于用户,视口区域不同。
[0181] 在这种情况下,发送方反馈处理器可将视口信息传送至数据编码器。数据编码器可对包括视口区域的拼块以比其它拼块更高的质量进行编码。
[0182] 此外,发送方反馈处理器可将视口信息传送至元数据处理器。元数据处理器可将与视口区域有关的元数据传送至360视频发送装置的各个内部元件,或者将元数据包括在360视频相关元数据中。
[0183] 通过使用该平铺方法,可节省传输带宽,并且可执行针对拼块区分的处理,以实现高效的数据处理/传输。
[0184] 与视口区域有关的上述实施方式可按照相似的方式应用于视口区域以外的特定区域。例如,对视口区域执行的上述处理可对通过上述注视分析确定为用户感兴趣的区域的区域、ROI以及当用户通过VR显示器观看360视频时最初再现的区域(初始视图、初始视点)执行。
[0185] 根据本发明的360视频发送装置的另一实施方式,发送处理器可对拼块不同地执行用于发送的处理。发送处理器可对拼块应用不同的传输参数(调制阶数、码率等),使得为拼块传送的数据具有不同的鲁棒性。
[0186] 这里,发送方反馈处理器可将从360视频接收装置接收的反馈信息传送至发送处理器,使得发送处理器可执行针对拼块区分的发送处理。例如,发送方反馈处理器可将从接收方接收的视口信息传送至发送处理器。发送处理器可执行发送处理,使得包括对应视口区域的拼块具有比其它拼块更高的鲁棒性。
[0187] 图8示出根据本发明的实施方式的360视频相关元数据。
[0188] 上述360视频相关元数据可包括与360视频有关的各种类型的元数据。根据上下文,360视频相关元数据可被称为360视频相关信令信息。360视频相关元数据可被包括在附加信令表中并发送,或者包括在DASH MPD中并发送,或者按照盒的形式包括在诸如ISOBMFF的文件格式中并传送。当360视频相关元数据以盒的形式包括时,360视频相关元数据可被包括在诸如文件、片段、轨道、样本条目、样本等的各种级别中,并且可包括关于对应级别的数据的元数据。
[0189] 根据实施方式,将在下面描述的元数据的一部分可按照信令表的形式配置并传送,剩余部分可按照盒或轨道的形式包括在文件格式中。
[0190] 根据360视频相关元数据的实施方式,360视频相关元数据可包括与投影方案有关的基本元数据、立体相关元数据、初始视图/初始视点相关元数据、ROI相关元数据、FOV(视场)相关元数据和/或裁剪区域相关元数据。根据实施方式,除了上述元数据之外,360视频相关元数据还可包括附加元数据。
[0191] 根据本发明的360视频相关元数据的实施方式可包括上述基本元数据、立体相关元数据、初始视图/初始视点相关元数据、ROI相关元数据、FOV相关元数据、裁剪区域相关元数据和/或附加元数据中的至少一个。根据本发明的360视频相关元数据的实施方式可根据其中包括的元数据的情况的数量按照各种方式配置。根据实施方式,除了上述元数据之外,360视频相关元数据还可包括附加元数据。
[0192] 基本元数据可包括3D模型相关信息、投影方案相关信息等。基本元数据可包括vr_geometry字段、projection_scheme字段等。根据实施方式,基本元数据还可包括附加信息。
[0193] vr_geometry字段可指示对应360视频数据所支持的3D模型的类型。如上所述,当360视频数据被重新投影到3D空间上时,3D空间可具有根据vr_geometry字段所指示的3D模型的形式。根据实施方式,用于渲染的3D模型可不同于vr_geometry字段所指示的用于重新投影的3D模型。在这种情况下,基本元数据还可包括指示用于渲染的3D模型的字段。当该字段具有值0、1、2和3时,3D空间可符合球体、立方体、圆柱体和锥体的3D模型。当该字段具有剩余值时,该字段可为未来使用预留。根据实施方式,360视频相关元数据还可包括关于该字段所指示的3D模型的详细信息。这里,例如,关于3D模型的详细信息可指球体的半径、圆柱体的高度等。该字段可被省略。
[0194] projection_scheme字段可指示在将360视频数据投影到2D图像上时所使用的投影方案。当该字段具有值0、1、2、3、4和5时,该字段指示使用了等距矩形投影方案、立方体投影方案、圆柱体投影方案、基于拼块的投影方案、锥体投影方案和全景投影方案。当该字段具有值6时,该字段指示360视频数据在没有拼接的情况下直接投影到2D图像上。当该字段具有剩余值时,该字段可为未来使用预留。根据实施方式,360视频相关元数据还可包括关于根据该字段所指定的投影方案生成的区域的详细信息。这里,例如,关于区域的详细信息可指指示区域是否旋转、圆柱体的顶部区域的半径等的信息。
[0195] 立体相关元数据可包括关于360视频数据的3D相关属性的信息。立体相关元数据可包括is_stereoscopic字段和/或stereo_mode字段。根据实施方式,立体相关元数据还可包括附加信息。
[0196] is_stereoscopic字段可指示360视频数据是否支持3D。当该字段为1时,360视频数据支持3D。当该字段为0时,360视频数据不支持3D。该字段可被省略。
[0197] stereo_mode字段可指示对应360视频所支持的3D布局。可仅使用该字段来指示360视频是否支持3D。在这种情况下,is_stereoscopic字段可被省略。当该字段为0时,360视频可为单一模式。即,投影的2D图像可仅包括一个单一视图。在这种情况下,360视频可不支持3D。
[0198] 当该字段被设定为1和2时,360视频可符合左右布局和上下布局。左右布局和上下布局可被称为并排格式和上下格式。在左右布局的情况下,投影有左图像/右图像的2D图像可被设置在图像帧上的左侧/右侧。在上下布局的情况下,投影有左图像/右图像的2D图像可被设置在图像帧上的顶侧/底侧。当该字段具有剩余值时,该字段可为未来使用预留。
[0199] 初始视图/初始视点相关元数据可包括关于最初再现360视频时用户观看的视图(初始视图)的信息。初始视图/初始视点相关元数据可包括initial_view_yaw_degree字段、initial_view_pitch_degree字段和/或initial_view_roll_degree字段。根据实施方式,初始视图/初始视点相关元数据还可包括附加信息。
[0200] initial_view_yaw_degree字段、initial_view_pitch_degree字段和initial_view_roll_degree字段可指示360视频被再现时的初始视图。即,可由这三个字段指示360视频被再现时最初观看的视口的中心点。这些字段可基于偏航轴、俯仰轴和横滚轴使用旋转的方向(符号)和程度(角度)来指示中心点。这里,根据FOV可决定360视频被再现时最初观看的视口。可通过FOV确定基于所指示的初始视图的初始视口的宽度和高度。即,360视频接收装置可使用这三个字段和FOV信息向用户提供360视频的特定区域作为初始视口。
[0201] 根据实施方式,由初始视图/初始视点相关元数据指示的初始视图可每场景改变。即,随着360内容随时间继续进行,360视频的场景改变。用户最初观看的初始视图或初始视口可针对360视频的各个场景而改变。在这种情况下,初始视图/初始视点相关元数据可每场景指示初始视图。为此,初始视图/初始视点相关元数据还可包括标识应用初始视图的场景的场景标识符。另外,由于FOV可每360视频的场景改变,所以初始视图/初始视点相关元数据还可包括指示与相对场景对应的FOV的每场景FOV信息。
[0202] ROI相关元数据可包括与上述ROI有关的信息。ROI相关元数据可包括2d_roi_range_flag字段和/或3d_roi_range_flag字段。这两个字段可指示ROI相关元数据是否包括基于2D图像表示ROI的字段或者基于3D空间表示ROI的字段。根据实施方式,ROI相关元数据还可包括附加信息,例如根据ROI区分编码信息以及根据ROI区分发送处理信息。
[0203] 当ROI相关元数据包括基于2D图像表示ROI的字段时,ROI相关元数据可包括min_top_left_x字段、max_top_left_x字段、min_top_left_y字段、max_top_left_y字段、min_width字段、max_width字段、min_height字段、max_height字段、min_x字段、max_x字段、min_y字段和/或max_y字段。
[0204] min_top_left_x字段、max_top_left_x字段、min_top_left_y字段、max_top_left_y字段可表示ROI的左上端的坐标的最小值/最大值。这些字段可依次指示左上端的最小x坐标、最大x坐标、最小y坐标和最大y坐标。
[0205] min_width字段、max_width字段、min_height字段和max_height字段可指示ROI的宽度和高度的最小值/最大值。这些字段可依次指示宽度的最小值和最大值以及高度的最小值和最大值。
[0206] min_x字段、max_x字段、min_y字段和max_y字段可指示ROI中的坐标的最小值和最大值。这些字段可依次指示ROI中的坐标的最小x坐标、最大x坐标、最小y坐标和最大y坐标。这些字段可被省略。
[0207] 当ROI相关元数据包括基于3D渲染空间上的坐标指示ROI的字段时,ROI相关元数据可包括min_yaw字段、max_yaw字段、min_pitch字段、max_pitch字段、min_roll字段、max_roll字段、min_field_of_view字段和/或max_field_of_view字段。
[0208] min_yaw字段、max_yaw字段、min_pitch字段、max_pitch字段、min_roll字段和max_roll字段可使用偏航、俯仰和横滚的最小值/最大值来指示ROI在3D空间上所占据的区域。这些字段可依次指示以偏航轴为基准的旋转量的最小值、以偏航轴为基准的旋转量的最大值、以俯仰轴为基准的旋转量的最小值、以俯仰轴为基准的旋转量的最大值、以横滚轴为基准的旋转量的最小值以及以横滚轴为基准的旋转量的最大值。
[0209] min_field_of_view字段和max_field_of_view字段可指示对应360视频数据的FOV的最小值/最大值。FOV可指360视频被再现时一次显示的视图范围。min_field_of_view字段和max_field_of_view字段可指示FOV的最小值和最大值。这些字段可被省略。这些字段可被包括在FOV相关元数据(将在下面描述)中。
[0210] FOV相关元数据可包括上述FOV相关信息。FOV相关元数据可包括content_fov_flag字段和/或content_fov字段。根据实施方式,FOV相关元数据还可包括附加信息,例如FOV的上述最小值/最大值相关信息。
[0211] content_fov_flag字段可指示对应360视频是否包括关于制作360视频时预期的FOV的信息。当该字段值为1时,可存在content_fov字段。
[0212] content_fov字段可指示关于制作360视频时预期的FOV的信息。根据实施方式,可根据360视频接收装置的垂直或水平FOV来确定360视频中一次显示给用户的区域。另选地,根据实施方式,可通过反映该字段的FOV信息来确定360视频中一次显示给用户的区域。
[0213] 裁剪区域相关元数据可包括关于图像帧中包括360视频数据的区域的信息。图像帧可包括投影360视频数据的有效视频区域和其它区域。这里,有效视频区域可被称为裁剪区域或默认显示区域。有效视频区域在实际VR显示器上作为360视频观看,并且360视频接收装置或VR显示器可仅处理/显示有效视频区域。例如,当图像帧的宽高比为4:3时,仅图像帧的上部和下部以外的图像帧区域可包括360视频数据。该区域可被称为有效视频区域。
[0214] 裁剪区域相关元数据可包括is_cropped_region字段、cr_region_left_top_x字段、cr_region_left_top_y字段、cr_region_width字段和/或cr_region_height字段。根据实施方式,裁剪区域相关元数据还可包括附加信息。
[0215] is_cropped_region字段可以是指示360视频接收装置或VR显示器是否使用图像帧的整个区域的标志。即,该字段可指示是否整个图像帧指示有效视频区域。当仅图像帧的一部分是有效视频区域时,可添加以下四个字段。
[0216] cr_region_left_top_x字段、cr_region_left_top_y字段、cr_region_width字段和cr_region_height字段可指示图像帧中的有效视频区域。这些字段可指示有效视频区域的左上x坐标、左上y坐标、宽度和高度。宽度和高度可以像素为单位来表示。
[0217] 如上所述,360度视频相关信令信息或元数据可被包括在任意定义的信令表中,以盒的形式包括在诸如ISOBMFF的文件格式或通用文件格式中,或者包括在DASH MPD中并发送。另外,360度媒体数据可被包括在这种文件格式或DASH分段中并发送。
[0218] 下面将依次描述ISOBMFF和DASH MPD。
[0219] 图9示出根据本公开的示例的媒体文件的结构。
[0220] 图10示出根据本公开的示例的ISOBMFF中的盒的分层结构。
[0221] 为了存储和发送诸如音频或视频数据的媒体数据,可定义标准化的媒体文件格式。根据示例,媒体文件可具有基于ISO基础媒体文件格式(ISO BMFF)的文件格式。
[0222] 根据本公开的媒体文件可包括至少一个盒。盒可以是包括媒体数据或与媒体数据有关的元数据的数据块或对象。盒可按照分层结构配置,因此数据可被分类为使得媒体文件可采取适合于存储和/或发送大量媒体数据的形式。另外,媒体文件可具有方便访问媒体信息的结构,如在用户移到媒体内容的特定点的情况下。
[0223] 根据本公开的媒体文件可包括ftyp盒、moov盒和/或mdat盒。
[0224] ftyp盒(文件类型盒)可提供关于对应媒体文件的文件类型或兼容性相关信息。ftyp盒可包括关于媒体文件的媒体数据的配置版本信息。解码器可通过参考ftyp盒来标识媒体文件。
[0225] moov盒(电影盒)可以是包括关于媒体文件的媒体数据的元数据的盒。moov盒可用作所有元数据的容器。moov盒可以是元数据相关盒当中的最高层的盒。根据示例,媒体文件中可仅存在一个moov盒。
[0226] mdat盒(媒体数据盒)可以是包含媒体文件的实际媒体数据的盒。媒体数据可包括音频样本和/或视频样本。mdat盒可用作容器以包含这些媒体样本。
[0227] 根据示例,上述moov盒还可包括mvhd盒、trak盒和/或mvex盒作为子盒。
[0228] mvhd盒(电影头盒)可包括媒体文件中所包括的媒体数据的媒体呈现相关信息。即,mvhd盒可包括诸如媒体呈现的媒体生成时间、改变时间、时间规范和持续时间的信息。
[0229] trak盒(轨道盒)可提供与媒体数据的轨道有关的信息。trak盒可包括诸如关于音频轨道或视频轨道的流相关信息、呈现相关信息和访问相关信息的信息。根据轨道的数量可存在多个trak盒。
[0230] 根据示例,trak盒还可包括tkhd盒(轨道头盒)作为子盒。tkhd盒可包括关于trak盒所指示的轨道的信息。tkhd盒可包括诸如对应轨道的生成时间、改变时间和轨道标识符的信息。
[0231] mvex盒(电影扩展盒)可指示媒体文件中可存在moof盒(将稍后描述)。为了标识特定轨道的所有媒体样本,可能需要扫描moof盒。
[0232] 根据示例,本公开的媒体文件可被分割成多个片段(t18010)。因此,媒体文件可被分割以存储或发送。媒体文件的媒体数据(mdat盒)可被分割成多个片段,各个片段可包括moof盒和分割的mdat盒。根据示例,可能需要ftyp盒和/或moov盒的信息以使用片段。
[0233] moof盒(电影片段盒)可提供关于对应片段的媒体数据的元数据。moof盒可以是对应片段的元数据相关盒当中的最高层的盒。
[0234] 如上所述,mdat盒(媒体数据盒)可包含实际媒体数据。mdat盒可包括与各个对应片段对应的媒体数据的媒体样本。
[0235] 根据示例,上述moof盒还可包括mfhd盒和/或traf盒作为子盒。
[0236] mfhd盒(电影片段头盒)可包括与多个分割的片段之间的关联有关的信息。mfhd盒可包括指示对应片段的分割的媒体数据的顺序位置的序列号。另外,可通过mfhd盒来检查分割的数据当中是否存在缺失数据。
[0237] traf盒(轨道片段盒)可包括关于对应轨道片段的信息。traf盒可提供关于片段中所包括的分割的轨道片段的元数据。traf盒可提供元数据,使得轨道片段中的媒体样本可被解码/回放。根据轨道片段的数量可存在多个traf盒。
[0238] 根据示例,上述traf盒还可包括tfhd盒和/或trun盒作为子盒。
[0239] tfhd盒(轨道片段头盒)可包括关于对应轨道片段的头信息。tfhd盒可提供诸如上述traf盒所指示的轨道片段的媒体样本的基本样本大小、持续时间、偏移和标识符的信息。
[0240] trun盒(轨道片段运行盒)可包括对应轨道片段相关信息。trun盒可包括诸如各个媒体样本的持续时间、大小和播放时间的信息。
[0241] 上述媒体文件或媒体文件的片段可被处理成分段并被发送。分段可包括初始化分段和/或媒体分段。
[0242] 所示示例t18020的文件可以是除了媒体数据之外包括与媒体解码器的初始化有关的信息的文件。例如,该文件可对应于上述初始化分段。初始化分段可包括上述ftyp盒和/或moov盒。
[0243] 所示示例t18030的文件可以是包括上述片段的文件。例如,该文件可对应于上述媒体分段。媒体分段可包括上述moof盒和/或mdat盒。媒体分段还可包括styp盒和/或sidx盒。
[0244] styp盒(分段类型盒)可提供用于标识分割的片段的媒体数据的信息。styp盒可具有与分割的片段的上述ftyp盒相同的功能。根据示例,styp盒可具有与ftyp盒相同的格式。
[0245] sidx盒(分段索引盒)可提供指示分割的片段的索引的信息。由此,其可指示对应片段在其它片段当中的顺序位置。
[0246] 根据示例(t18040),还可包括ssix盒。当分段被进一步分割成子分段时,ssix盒(子分段索引盒)可提供指示子分段的索引的信息。
[0247] 媒体文件中的盒还可包括基于如所示示例t18050中的盒或FullBox形式的扩展信息。在此示例中,size字段和largesize字段可按照字节为单位指示对应盒的长度。version字段可指示盒格式的版本。type字段可指示盒的类型或标识符。flags字段可指示与盒有关的标志等。
[0248] 图11示出根据本公开的示例的基于DASH的自适应流模型的总体操作。
[0249] 根据所示示例t50010的基于DASH的自适应流模型描述了HTTP服务器与DASH客户端之间的操作。这里,DASH(经由HTTP的动态自适应流)是支持基于HTTP的自适应流的协议,可根据网络状况动态地支持流。因此,可无缝地回放AV内容。
[0250] DASH客户端可获取MPD。可从诸如HTTP服务器的服务提供商传送MPD。基于关于访问MPD中描述的分段的信息,DASH客户端可向服务器请求分段。在这种情况下,该请求可通过反映网络状态来进行。
[0251] 在获取分段之后,DASH客户端可通过媒体引擎处理分段,并将处理的分段显示在画面上。DASH客户端可通过实时地反映播放时间和/或网络状况来请求并获取必要分段(自适应流)。由此,可无缝地回放内容。
[0252] MPD(媒体呈现描述)是包含用于允许DASH客户端动态地获取分段的详细信息的文件,并且可按照XML形式表示。
[0253] DASH客户端控制器可考虑网络状况来生成用于请求MPD和/或分段的命令。另外,控制器可控制在诸如媒体引擎的内部块中使用所获取的信息。
[0254] MPD解析器可实时地解析所获取的MPD。这可允许DASH客户端控制器生成用于获取必要分段的命令。
[0255] 分段解析器可实时地解析所获取的分段。诸如媒体引擎的内部块可根据分段中所包括的信息来执行特定操作。
[0256] HTTP客户端可向HTTP服务器请求必要MPD和/或分段。HTTP客户端可将从服务器获得的MPD和/或分段传递给MPD解析器或分段解析器。
[0257] 媒体引擎可基于分段中所包括的媒体数据将内容显示在画面上。此时,可使用MPD的信息。
[0258] DASH数据模型可具有分层结构t50020。媒体呈现可由MPD描述。MPD可描述配置媒体呈现的多个时段的时间序列。时段可表示媒体内容的一个区段。
[0259] 在一个时段中,数据可被包括在适配集合中。适配集合可以是可彼此交换的多个媒体内容组件的集合。自适应可包括表示的集合。表示可对应于媒体内容组件。在一个表示内,内容可在时间上被分割成多个分段。这可能旨在为了适当的可访问性和传送。可提供各个分段的URL以访问各个分段。
[0260] MPD可提供与媒体呈现有关的信息。period元素、adaptation set元素和representation元素可分别描述对应时段、对应适配集合和对应表示。表示可被分割成子表示,并且sub-representation元素可描述对应子表示。
[0261] 这里,可定义公共性质/元素,并且其可被应用于适配集合、表示、子表示等(包括在其中)。公共性质/元素可包括EssentialProperty和/或SupplementalProperty。
[0262] EssentialProperty可以是包括在处理媒体呈现相关数据时被视为必需的元素的信息。SupplementalProperty可以是包括可用于处理媒体呈现相关数据的元素的信息。根据示例,在通过MPD传送信令信息(将稍后描述)的情况下,可在EssentialProperty和/或SupplementalProperty中定义信令信息。
[0263] 基于DASH的描述符可包括@schemeIdUri字段、@value字段和/或@id字段。@schemeIdUri字段可提供用于标识描述符的方案的URI。@value字段可具有含义由@schemeIdUri字段所指示的方案定义的值。即,@value字段可根据方案(可被称为参数)具有描述符元素的值。值可通过“,”来彼此区分。@id可指示描述符的标识符。在给出相同的标识符的情况下,可包括相同的方案ID、值和参数。
[0264] 360视频相关元数据的各个示例可按照基于DASH的描述符的形式来重写。当根据DASH传送360视频数据时,360视频相关元数据可按照DASH描述符的形式描述并被包括在MPD中以发送到接收机。这些描述符可按照EssentialProperty描述符和/或SupplementalProperty描述符的形式传送。这些描述符可被包括在MPD的适配集合、表示、子表示等中。
[0265] 以下,将描述对包括多个360度内容的360度视频服务进行流处理的方法。
[0266] 为了确保内容的可扩展性,在360度视频服务中多个360度内容(或VR内容)可链接。当多个360度内容在360度视频内链接时,可按照360度形式为用户显示更多区域。此配置可通过本文所描述的热点技术来实现。
[0267] 当两个或更多个360度内容彼此交叠,或者存在将两个或更多个360度内容链接的媒介时,热点技术可将两个或更多个360度内容链接。热点可以是用于将两个或更多个360度内容链接的媒介或中介信息。在特定示例中,热点可在360度视频画面内以点或区域的形式显示给用户。
[0268] 图12示出根据本公开的示例通过热点将VR内容链接。
[0269] 如图12所示,热点可暴露在以两个不同的视点拍摄的360视频(VR内容)上(参见图中的倒三角形)。即,热点可分别暴露于VR内容1(VR1)和VR内容2(VR2)。当用户选择暴露于VR内容1(VR1)的热点时,提供这样的环境,其中可回放VR内容2的流,并且用户看到用于VR内容2的预定义初始视口。另外,链接到VR内容1的热点暴露在VR内容2上。尽管传统360视频提供有限区域的VR内容,但热点技术可提供扩展区域的VR内容。
[0270] 热点技术可被分类为图中所示的三种类型。
[0271] 图13示出热点的各种示例。
[0272] 图13示出与第一示例(使用情况#1)对应的链接类型、与第二示例(使用情况#2)对应的桥接类型以及与第三示例(使用情况#3)对应的枢纽类型。
[0273] 首先,链接类型对应于VR内容之间的移动不受约束的情况。
[0274] 接下来,桥接类型对应于正在回放的VR内容中存在链接到其它VR内容的媒介并且该媒介用于改变场景的情况。
[0275] 接下来,枢纽类型对应于VR内容被分类为主VR内容和子VR内容的情况。此类型对应于仅存在子内容链接到的一个主VR内容的情况,或者VR内容彼此依次链接并且链接的VR内容具有交叠部分并且要回放的VR内容之间的顺序关系清晰的情况。
[0276] 上述三种类型是示例性的,并且上述使用情况以外的各种类型可应用于通过将多个VR内容链接来回放的VR视频。
[0277] 对于热点,可新定义VR视频的文件格式。
[0278] 以下,将描述用于热点的VR视频文件格式以及用于将多个VR内容链接的数据选择/传输方法。这里,用于热点的VR视频文件格式可以是上述基于ISO BMFF的文件格式。
[0279] 首先,描述在文件格式级别使用定时元数据选择/再现热点传输数据的方法。当多个VR内容在VR视频流中通过热点彼此链接时,应该定义场景中链接的热点的数量、关于各个热点的标识信息和关于各个热点的位置信息以及在链接到新VR内容之后所需的信息(例如,初始视口等)。另外,当前全向媒体应用格式(OMAF)标准或ISO 14496-12标准不包括根据与热点一起进行流处理的场景来通告热点的暴露结束时间的功能。因此,为了实现该功能,可利用为各个样本单独地定义的定时元数据。可定义实现该功能的文件格式。
[0280] 图14示出根据本公开的示例的包括热点相关信息的数据结构。
[0281] 参照该图,示出包括热点相关信息的数据结构。
[0282] HotspotStruct()是包括关于热点的详细信息的数据结构,热点是允许360内容之间的场景改变的点。在一个示例中,可在ISO BMFF中位于“mdat”中的各个样本中声明HotspotStruct()。可根据位于各个样本中的热点的数量来分配各个热点的标识信息(HotspotID[]),并且可在各个HotspotID[]中声明HotsHotspotStruct()值。
[0283] hotspot_yaw、hotspot_pitch和hotspot_roll可指示对应热点的链接位置的中心。hotspot_yaw、hotspot_pitch和hotspot_roll可分别指示偏航、俯仰和横滚的角度值。hotspot_yaw、hotspot_pitch和hotspot_roll可具有用于限定360视频场景中的链接位置的值。hotspot_yaw可具有介于-90°和90°之间的值,hotspot_pitch和hotspot_roll可具有介于-180°和180°之间的值。
[0284] hotspot_vertical_range和hotspot_horizontal_range可基于热点的链接位置指示水平范围和垂直范围。更具体地,hotspot_vertical_range和hotspot_horizontal_range可指示相对于中心的水平范围和垂直范围以相对于关于由热点的偏航、俯仰和横滚指示的位置的中心信息表示热点区域。hotspot_yaw、hotspot_pitch、hotspot_roll、hotspot_vertical_range和/或hotspot_horizontal_range的值可用于指示球体上的特定区域。
[0285] exposure_start_offset可指示对应场景中的热点的位置暴露开始时间,并为正在进行流处理的VR视频的总播放时间线提供偏移值。exposure_start_offset可始终具有大于0的值,并且不能超过整个VR视频的播放时间。
[0286] exposure_duration可指示在整个VR视频的整个播放时间线内可从对应场景链接热点的持续时间。exposure_duration为0秒或更长,并且不能长于整个VR视频的播放时间。换言之,exposure_duration可指示对应场景中的热点的可用时间,即,允许通过热点链接到其它VR内容的持续时间。
[0287] next_track_ID可指示通过热点链接的下一轨道ID并且当用户选择该热点时应该播放。
[0288] hotspot_start_time_delta可以是指示当播放HotspotStruct中声明的对应trackID的轨道或链接的VR内容时0秒与要播放的第一场景的时间信息值之间的间距的值。这里,0秒可意指整个VR视频的开始时间。hotspot_start_time_delta不能大于链接的VR内容的总播放时间。
[0289] con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可具有指示关于当对应热点被选择时链接的VR视频(360视频)应该首先显示的新轨道或VR视频中的初始视口的位置信息的值。con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可分别表示偏航、俯仰和横滚的角度值。con_initial_viewport_yaw可具有介于-90°和90°之间的值,con_initial_viewport_pitch和con_initial_viewport_roll可具有介于-180°和180°之间的值。
[0290] 在一个示例中,上述HotspotStruct()可位于ISO BMFF中的定时元数据轨道的样本条目或“mdat”中。在这种情况下,HotspotStruct()可位于HotspotSampleEntry或HotspotSample()中。在另一示例中,HotspotStruct()可存在于ISO BMFF中的另一盒中。
[0291] 图15示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0292] 参照附图,示出包括热点相关信息的数据结构。
[0293] HotspotStruct()是包括关于热点的详细信息的数据结构,热点是允许360内容之间的场景改变的点。在一个示例中,可在ISO BMFF中位于“mdat”中的各个样本中声明HotspotStruct()。可根据位于各个样本中的热点的数量来分配各个热点的标识信息(HotspotID[]),并且可在各个HotspotID[]中声明HotsHotspotStruct()值。
[0294] 在一个示例中,HotspotRegion()可包括在HotspotStruct()中。HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。
[0295] “interpolate”可指示是要应用从HotspotRegion()提供的值还是要应用线性内插值。在示例中,当interpolate值为0时,从HotspotRegion()传送的值呈现在目标媒体样本中。当interpolate值为1时,应用线性内插值。
[0296] exposure_start_offset可指示对应场景中的热点的位置暴露开始时间,并为正在进行流处理的VR视频的总播放时间线提供偏移值。exposure_start_offset可始终具有大于0的值,并且不能超过整个VR视频的播放时间。
[0297] exposure_duration可指示在整个VR视频的整个播放时间线内可从对应场景链接热点的持续时间。exposure_duration为0秒或更长,并且不能长于整个VR视频的播放时间。换言之,exposure_duration可指示对应场景中的热点的可用时间,即,允许通过热点链接到其它VR内容的持续时间。
[0298] next_track_ID可指示通过热点链接的下一轨道ID并且当用户选择该热点时应该播放。
[0299] hotspot_start_time_delta可以是指示当播放HotspotStruct中声明的对应trackID的轨道或链接的VR内容时0秒与要播放的第一场景的时间信息值之间的间距的值。这里,0秒可意指整个VR视频的开始时间。hotspot_start_time_delta不能大于链接的VR内容的总播放时间。
[0300] con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可具有指示关于当对应热点被选择时链接的VR视频(360视频)应该首先显示的新轨道或VR视频中的初始视口的位置信息的值。con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可分别表示偏航、俯仰和横滚的角度值。con_initial_viewport_yaw可具有介于-90°和90°之间的值,con_initial_viewport_pitch和con_initial_viewport_roll可具有介于-180°和180°之间的值。
[0301] 这可以是上面参照图14描述的HotSpotStruct的另一示例。如上所述,参照该图描述的HotspotStruct()可存在于ISO BMFF中的轨道的样本条目或样本中,或者可包括在ISO BMFF中的另一盒中。
[0302] HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。
[0303] 形状类型可用于在球体区域中定义热点的区域时定义可由中心和范围表示的区域的形状。其可指示区域是由4个大圆还是由两个偏航圆和两个俯仰圆限定。在一个示例中,设定为0的形状类型可指示区域由四个大圆限定,设定为1的形状类型可指示区域由两个偏航圆和两个俯仰圆限定。
[0304] 图16是示出根据本公开的示例的基于形状类型限定区域的方法的参考图。
[0305] 图16的(a)示出球面3D模型,图16的(b)示出由两个大圆和两个大圆的交点限定的区域,图16的(c)示出由两个大圆和两个小圆的交点限定的区域。
[0306] 首先,将描述大圆、小圆、俯仰圆和偏航圆的含义。
[0307] 大圆可指中心在球体的中心处的圆。更具体地,大圆可指球体与穿过球体的中心的平面之间的交点。大圆可被称为大圆线(orthodrome)或黎曼圆。球体的中心和大圆的中心可在相同的位置处。
[0308] 小圆可指中心不在球体的中心处的圆。
[0309] 俯仰圆可指球体表面上将具有相同俯仰值的所有点链接的圆。类似于地球上的纬度,俯仰圆可能不是大圆。
[0310] 偏航圆可指球体表面上将具有相同偏航值的所有点链接的圆。类似于地球上的经度,偏航圆总是大圆。
[0311] 如上所述,根据本公开的示例的形状类型可指示指定球面上的区域的类型。
[0312] 图16的(b)示出当根据本公开的示例的形状类型为0时指定球面上的区域。
[0313] 由于形状类型的值为0,所以球面上的区域由四个大圆指定。更具体地,球面上的区域由两个俯仰圆和两个偏航圆指定。
[0314] 如图中所示,球面上的指定区域的中心可由center_pitch和center_yaw表示。center_pitch和center_yaw可与诸如水平视场(或宽度)和垂直视场(或高度)的视场信息一起用于限定视口。
[0315] 换言之,当shape_type为0时,区域可以是边界是偏航值为center_yaw-horizontal_field_of_view/2和center_yaw+horizontal_field_of_view/2的两个垂直大圆以及俯仰值为center_pitch-vertical_field_of_view/2和center_pitch+vertical_field_of_view/2的两个水平大圆的曲面。
[0316] 图16的(b)示出当根据本公开的示例的形状类型为1时指定球面上的区域。
[0317] 由于形状类型的值为1,所以球面上的区域由两个大圆和两个小圆指定。更具体地,球面上的区域由两个俯仰圆和两个偏航圆指定。这里,两个俯仰圆是小圆,不是大圆。
[0318] 如图中所示,球面上的指定区域的中心可由center_pitch和center_yaw表示。center_pitch和center_yaw可与诸如水平视场和垂直视场的视场信息一起用于限定视口。
[0319] 换言之,当shape_type为1时,区域可以是边界是偏航值为center_yaw-horizontal_field_of_view/2和center_yaw+horizontal_field_of_view/2的两个垂直大圆以及俯仰值为center_pitch-vertical_field_of_view/2和center_pitch+vertical_field_of_view/2的两个水平小圆的曲面。
[0320] hotspot_center_yaw、hotspot_center_pitch和hotspot_center_roll可指示对应热点的链接位置的中心。hotspot_center_yaw、hotspot_center_pitch和hotspot_center_roll可分别指示偏航、俯仰和横滚的角度值。hotspot_center_yaw、hotspot_center_pitch和hotspot_center_roll可具有用于定义360视频场景中的链接位置的值。hotspot_center_yaw可具有介于-90°和90°之间的值,hotspot_center_pitch和hotspot_center_roll可具有介于-180°和180°之间的值。
[0321] hotspot_vertical_range和hotspot_horizontal_range可基于热点的链接位置来指示水平范围和垂直范围。更具体地,hotspot_vertical_range和hotspot_horizontal_range可指示相对于中心的水平范围和垂直范围以相对于关于由热点的偏航、俯仰和横滚指示的位置的中心信息表示热点区域。hotspot_center_yaw、hotspot_center_pitch、hotspot_center_roll、hotspot_vertical_range和/或hotspot_horizontal_range的值可用于指示球体上的特定区域。
[0322] 图17示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0323] 参照该图,示出包括热点相关信息的数据结构。
[0324] HotspotStruct()是包括关于热点的详细信息的数据结构,热点是允许360内容之间的场景改变的点。在一个示例中,可在ISO BMFF中位于“mdat”中的各个样本中声明HotspotStruct()。可根据位于各个样本中的热点的数量来分配各个热点的标识信息(HotspotID[]),并且可在各个HotspotID[]中声明HotsHotspotStruct()值。这可以是上述HotSpotStruct的另一示例。如上所述,参照该图描述的HotspotStruct()可存在于ISO BMFF中的轨道的样本条目或样本中,或者可包括在ISO BMFF中的另一盒中。
[0325] 在一个示例中,HotspotRegion()可包括在HotspotStruct()中。HotspotRegion()是表示关于热点的位置信息的数据结构并且可定义对应位置的中心和范围。
[0326] exposure_start_offset可指示对应场景中的热点的位置暴露开始时间,并为正在进行流处理的VR视频的总播放时间线提供偏移值。exposure_start_offset可始终具有大于0的值,并且不能超过整个VR视频的播放时间。
[0327] exposure_duration可指示在整个VR视频的整个播放时间线内可从对应场景链接热点的持续时间。exposure_duration为0秒或更长,并且不能长于整个VR视频的播放时间。换言之,exposure_duration可指示对应场景中的热点的可用时间,即,允许通过热点链接到其它VR内容的持续时间。
[0328] next_track_ID可指示通过热点链接的下一轨道ID并且当用户选择该热点时应该播放。
[0329] hotspot_start_time_delta可以是指示当播放HotspotStruct中声明的对应trackID的轨道或链接的VR内容时0秒与要播放的第一场景的时间信息值之间的间距的值。这里,0秒可意指整个VR视频的开始时间。hotspot_start_time_delta不能大于链接的VR内容的总播放时间。
[0330] con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可具有指示关于当对应热点被选择时链接的VR视频(360视频)应该首先显示的新轨道或VR视频中的初始视口的位置信息的值。con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可分别表示偏航、俯仰和横滚的角度值。con_initial_viewport_yaw可具有介于-90°和90°之间的值,con_initial_viewport_pitch和con_initial_viewport_roll可具有介于-180°和180°之间的值。
[0331] HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。
[0332] 形状类型可用于在球体区域中定义热点的区域时定义可由中心和范围表示的区域的形状。其可指示区域是由4个大圆还是由两个偏航圆和两个俯仰圆限定。在一个示例中,设定为0的形状类型可指示区域由四个大圆限定,设定为1的形状类型可指示区域由两个偏航圆和两个俯仰圆限定。上面参照图16描述了具体示例。
[0333] hotspot_yaw、hotspot_pitch和hotspot_roll可指示对应热点的链接位置的中心。hotspot_yaw、hotspot_pitch和hotspot_roll可分别指示偏航、俯仰和横滚的角度值。hotspot_yaw、hotspot_pitch和hotspot_roll可具有用于定义360视频场景中的链接位置的值。hotspot_yaw可具有介于-90°和90°之间的值,hotspot_pitch和hotspot_roll可具有介于-180°和180°之间的值。
[0334] hotspot_vertical_range和hotspot_horizontal_range可基于热点的链接位置来指示水平范围和垂直范围。更具体地,hotspot_vertical_range和hotspot_horizontal_range可指示相对于中心的水平范围和垂直范围以相对于关于由热点的偏航、俯仰和横滚指示的位置的中心信息表示热点区域。hotspot_yaw、hotspot_pitch、hotspot_roll、hotspot_vertical_range和/或hotspot_horizontal_range的值可用于指示球体上的特定区域。
[0335] 当通过热点切换VR内容时,位置可移位至相同文件中的另一轨道,或者可经由外部服务器链接到另一文件中的轨道。在这种情况下,可通过统一资源标识符(URI)提供链接信息。图18和图19中示出提供URI信息的具体示例。
[0336] 图18示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0337] 参照该图,示出包括热点相关信息的数据结构。
[0338] HotspotStruct()是包括关于热点的详细信息的数据结构,热点是允许360内容之间的场景改变的点。在一个示例中,可在ISO BMFF中位于“mdat”中的各个样本中声明HotspotStruct()。可根据位于各个样本中的热点的数量来分配各个热点的标识信息(HotspotID[]),并且可在各个HotspotID[]中声明HotsHotspotStruct()值。这可以是上述HotSpotStruct的另一示例。如上所述,参照该图描述的HotspotStruct()可存在于ISO BMFF中的轨道的样本条目或样本中,或者可包括在ISO BMFF中的另一盒中。
[0339] 在一个示例中,HotspotRegion()可包括在HotspotStruct()中。HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。
[0340] exposure_start_offset可指示对应场景中的热点的位置暴露开始时间,并为正在进行流处理的VR视频的总播放时间线提供偏移值。exposure_start_offset可始终具有大于0的值,并且不能超过整个VR视频的播放时间。
[0341] exposure_duration可指示在整个VR视频的整个播放时间线内可从对应场景链接热点的持续时间。exposure_duration为0秒或更长,并且不能长于整个VR视频的播放时间。换言之,exposure_duration可指示对应场景中的热点的可用时间,即,允许通过热点链接到其它VR内容的持续时间。
[0342] hotspot_uri是基于UTF-8字符的空终止字符串。其可具有指示当用户选择热点时要播放的下一文件或轨道的位置的地址值。文件或轨道应该具有相同格式的URI以进行链接。
[0343] hotspot_start_time_delta可以是指示当播放HotspotStruct中声明的对应trackID的轨道或链接的VR内容时0秒与要播放的第一场景的时间信息值之间的间距的值。这里,0秒可意指整个VR视频的开始时间。hotspot_start_time_delta不能大于链接的VR内容的总播放时间。
[0344] con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可具有指示关于当对应热点被选择时链接的VR视频(360视频)应该首先显示的新轨道或VR视频中的初始视口的位置信息的值。con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可分别表示偏航、俯仰和横滚的角度值。con_initial_viewport_yaw可具有介于-90°和90°之间的值,con_initial_viewport_pitch和con_initial_viewport_roll可具有介于-180°和180°之间的值。
[0345] 尽管在此示例中未详细描述包括在HotspotStruct()中的HotspotRegion(),但上述或下述HotspotRegion()可包括在HotspotStruct()中。
[0346] 图19示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0347] 参照该图,示出包括热点相关信息的数据结构。
[0348] HotspotStruct()是包括关于热点的详细信息的数据结构,热点是允许360内容之间的场景改变的点。在一个示例中,可在ISO BMFF中位于“mdat”中的各个样本中声明HotspotStruct()。可根据位于各个样本中的热点的数量来分配各个热点的标识信息(HotspotID[]),并且可在各个HotspotID[]中声明HotsHotspotStruct()值。这可以是上述HotSpotStruct的另一示例。如上所述,参照该图描述的HotspotStruct()可存在于ISO BMFF中的轨道的样本条目或样本中,或者可包括在ISO BMFF中的另一盒中。
[0349] 在一个示例中,HotspotRegion()可包括在HotspotStruct()中。HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。
[0350] “interpolate”可指示是应用从HotspotRegion提供的值还是应用线性内插值。在示例中,当interpolate值为0时,从HotspotRegion传送的值呈现在目标媒体样本中。当interpolate值为1时,应用线性内插值。
[0351] exposure_start_offset可指示对应场景中的热点的位置暴露开始时间,并为正在进行流处理的VR视频的总播放时间线提供偏移值。exposure_start_offset可始终具有大于0的值,并且不能超过整个VR视频的播放时间。
[0352] exposure_duration可指示在整个VR视频的整个播放时间线内可从对应场景链接热点的持续时间。exposure_duration为0秒或更长,并且不能长于整个VR视频的播放时间。
[0353] hotspot_uri是基于UTF-8字符的空终止字符串。其可具有指示当用户选择热点时要播放的下一文件或轨道的位置的地址值。文件或轨道应该具有相同格式的URI以进行链接。
[0354] hotspot_start_time_delta可以是指示当播放HotspotStruct中声明的对应trackID的轨道或链接的VR内容时0秒与要播放的第一场景的时间信息值之间的间距的值。这里,0秒可意指整个VR视频的开始时间。hotspot_start_time_delta不能大于链接的VR内容的总播放时间。
[0355] con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可具有指示关于当对应热点被选择时链接的VR视频(360视频)应该首先显示的新轨道或VR视频中的初始视口的位置信息的值。con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可分别表示偏航、俯仰和横滚的角度值。con_initial_viewport_yaw可具有介于-90°和90°之间的值,con_initial_viewport_pitch和con_initial_viewport_roll可具有介于-180°和180°之间的值。
[0356] 尽管在此示例中未详细描述包括在HotspotStruct()中的HotspotRegion(),但上述或下述HotspotRegion()可包括在HotspotStruct()中。
[0357] 图20示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0358] 参照该图,示出包括热点相关信息的数据结构。
[0359] HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。在一个示例中,HotspotRegion可基于作为笛卡尔坐标的X、Y、Z坐标值来为热点限定区域。
[0360] 形状类型可用于在球体区域中定义热点的区域时定义可由中心和范围表示的区域的形状。其可指示区域是由4个大圆还是由两个偏航圆和两个俯仰圆限定。在一个示例中,设定为0的形状类型可指示区域由四个大圆限定,设定为1的形状类型可指示区域由两个偏航圆和两个俯仰圆限定。上面参照图16描述了具体示例。
[0361] hotspot_center_X、hotspot_center_Y和hotspot_center_Z可指示对应热点的链接位置的中心并且分别由X、Y和Z坐标值表示。hotspot_center_X、hotspot_center_Y和hotspot_center_Z可具有用于定义360视频场景中的链接位置的值。hotspot_center_X,hotspot_center_Y和hotspot_center_Z可具有介于-1和1之间的值。
[0362] hotspot_vertical_range和hotspot_horizontal_range可指示相对于由hotspot_center_X、hotspot_center_Y和hotspot_center_Z指示的热点的中心的水平范围和垂直范围。hotspot_vertical_range和hotspot_horizontal_range可指示球体或3D图像中的特定区域。
[0363] 图21示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0364] 标记热点有多种方式,热点是将一个场景链接到另一场景的媒介。通常,热点区域可被分割成不可指定区域和可指定对象。在热点区域的两种情况下,可链接的链接可被定义为一个点,或者整个区域可基于顶点被定义为有限/无限区域。图20所示的HotspotRegion表示利用具有偏航、俯仰和横滚值的多个顶点定义可被标记为热点的区域的方法。
[0365] 在一个示例中,HotspotRegion()可包括在HotspotStruct()中。HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。
[0366] “interpolate”可指示是要应用从HotspotRegion()提供的值还是要应用线性内插值。在示例中,当interpolate值为0时,从HotspotRegion()传送的值呈现在目标媒体样本中。当interpolate值为1时,应用线性内插值。
[0367] exposure_start_offset可指示对应场景中的热点的位置暴露开始时间,并为正在进行流处理的VR视频的总播放时间线提供偏移值。exposure_start_offset可始终具有大于0的值,并且不能超过整个VR视频的播放时间。
[0368] exposure_duration可指示在整个VR视频的整个播放时间线内可从对应场景链接热点的持续时间。exposure_duration为0秒或更长,并且不能长于整个VR视频的播放时间。换言之,exposure_duration可指示对应场景中的热点的可用时间,即,允许通过热点链接到其它VR内容的持续时间。
[0369] next_track_ID可指示通过热点链接的下一轨道ID并且当用户选择该热点时应该播放。
[0370] hotspot_start_time_delta可以是指示当播放HotspotStruct中声明的对应trackID的轨道或链接的VR内容时0秒与要播放的第一场景的时间信息值之间的间距的值。这里,0秒可意指整个VR视频的开始时间。hotspot_start_time_delta不能大于链接的VR内容的总播放时间。
[0371] con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可具有指示关于当对应热点被选择时链接的VR视频(360视频)应该首先显示的新轨道或VR视频中的初始视口的位置信息的值。con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可分别表示偏航、俯仰和横滚的角度值。con_initial_viewport_yaw可具有介于-90°和90°之间的值,con_initial_viewport_pitch和con_initial_viewport_roll可具有介于-180°和180°之间的值。
[0372] HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。根据此示例的HotspotRegion表示利用多个顶点来定义可标记为热点的区域的方法。更具体地,根据此示例的HotspotRegion表示利用具有偏航、俯仰和横滚值的多个顶点定义可标记为热点的区域的方法。
[0373] num_vertex在基于顶点声明热点区域时指示配置热点的顶点的数量。
[0374] hotspot_yaw[]、hotspot_pitch[]和hotspot_roll[]可表示位于对应样本内的热点的链接位置,并且具有用于以2D投影格式定义当前正在播放的样本场景中的链接位置的值。一个或更多个hotspot_yaw[]、hotspot_pitch[]和hotspot_roll[]可指示一个或更多个坐标值,其中,所述一个或更多个坐标值可以是将热点指示为区域的顶点。在一个示例中,三个或更多个hotspot_yaw[]、hotspot_pitch[]和hotspot_roll[]可指示三个或更多个坐标值,其中,所述三个或更多个坐标值可以是将热点指示为区域的顶点。hotspot_yaw[]可具有介于-90°和90°之间的值,hotspot_pitch[]和hotspot_roll[]可具有介于-180°和180°之间的值。
[0375] 图22示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0376] HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。HotspotRegion()可包括在上述HotspotStruct()中。根据此示例的HotspotRegion表示利用多个顶点来定义可标记为热点的区域的方法。更具体地,根据此示例的HotspotRegion表示利用具有偏航、俯仰和横滚值的多个顶点来定义可标记为热点的区域的方法。
[0377] num_vertex在基于顶点声明热点区域时指示配置热点的顶点的数量。
[0378] hotspot_yaw[]、hotspot_pitch[]和hotspot_roll[]可表示位于对应样本内的热点的链接位置,并且具有用于以2D投影格式定义当前正在播放的样本场景中的链接位置的值。一个或更多个hotspot_yaw[]、hotspot_pitch[]和hotspot_roll[]可指示一个或更多个坐标值,其中,所述一个或更多个坐标值可以是将热点指示为区域的顶点。在一个示例中,三个或更多个hotspot_yaw[]、hotspot_pitch[]和hotspot_roll[]可指示三个或更多个坐标值,其中,所述三个或更多个坐标值可以是将热点指示为区域的顶点。hotspot_yaw[]可具有介于-90°和90°之间的值,hotspot_pitch[]和hotspot_roll[]可具有介于-180°和180°之间的值。
[0379] “interpolate”可指示是要应用顶点坐标值还是要应用线性内插值。在示例中,当interpolate值为0时,来自HotspotRegion的顶点坐标值呈现在目标媒体样本中。当interpolate值为1时,应用线性内插值。
[0380] 图23示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0381] HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。HotspotRegion()可包括在上述HotspotStruct()中。根据此示例的HotspotRegion表示利用多个顶点来定义可标记为热点的区域的方法。更具体地,根据此示例的HotspotRegion表示利用具有X、Y和Z值的多个顶点来定义可标记为热点的区域的方法。
[0382] num_vertex在基于顶点声明热点区域时指示配置热点的顶点的数量。
[0383] hotspot_X[]、hotspot_Y[]和hotspot_Z[]可表示位于对应样本内的热点的链接位置,并且具有用于以2D投影格式定义当前正在播放的样本场景中的链接位置的值。一个或更多个坐标值可以是将热点指示为区域的顶点。在一个示例中,三个或更多个hotspot_X[]、hotspot_Y[]和hotspot_Z[]可指示三个或更多个坐标值,其中,所述三个或更多个坐标值可以是将热点指示为区域的顶点。hotspot_X[]、hotspot_Y[]和hotspot_Z[]可分别具有介于-1和1之间的值。
[0384] 图24示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0385] HotspotRegion()是表示关于热点的位置信息的数据结构,并且可定义对应位置的中心和范围。HotspotRegion()可包括在上述HotspotStruct()中。根据此示例的HotspotRegion表示利用多个顶点来定义可标记为热点的区域的方法。更具体地,根据此示例的HotspotRegion表示利用具有X、Y和Z值的多个顶点来定义可标记为热点的区域的方法。
[0386] num_vertex在基于顶点声明热点区域时指示配置热点的顶点的数量。
[0387] 形状类型可用于在球体区域中定义热点的区域时定义可由中心和范围表示的区域的形状。其可指示区域是由4个大圆还是由两个偏航圆和两个俯仰圆限定。在一个示例中,设定为0的形状类型可指示四个大圆,设定为1的形状类型可指示两个偏航圆和两个俯仰圆。
[0388] hotspot_X[]、hotspot_Y[]和hotspot_Z[]可指示位于对应样本内的热点的链接位置,并且具有用于以2D投影格式定义当前播放的样本场景中的链接位置的值。一个或更多个坐标值可以是将热点指示为区域的顶点。在一个示例中,三个或更多个hotspot_X[]、hotspot_Y[]和hotspot_Z[]可指示三个或更多个坐标值,其中,所述三个或更多个坐标值可以是将热点指示为区域的顶点。hotspot_X[],hotspot_Y[]和hotspot_Z[]可分别具有介于-1和1之间的值。
[0389] “interpolate”可指示是要应用顶点坐标值还是要应用线性内插值。在示例中,当interpolate值为0时,来自HotspotRegion的顶点坐标值呈现在目标媒体样本中。当interpolate值为1时,应用线性内插值。
[0390] 图25示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0391] 图25示出关于可包括在上述HotspotRegion()中的热点的位置信息包括在HotspotStruct()中的示例。
[0392] HotspotStruct()是包括关于热点的详细信息的数据结构,热点是允许360内容之间的场景改变的点。在一个示例中,可在ISO BMFF中位于“mdat”中的各个样本中声明HotspotStruct()。可根据位于各个样本中的热点的数量来分配各个热点的标识信息(HotspotID[]),并且可在各个HotspotID[]中声明HotsHotspotStruct()值。
[0393] HotspotStruct()是包括关于热点的详细信息的数据结构,热点是允许360视频之间的场景改变的点。其可在ISO BMFF中位于“mdat”中的各个样本中声明。根据各个样本中的热点的数量,可指派HotspotID[ ],并且可在各个HotspotID[ ]中声明HotsHotspotStruct()值。这可以是上述HotSpotStruct的另一示例。如上所述,参照该图描述的HotspotStruct()可存在于ISO BMFF中的轨道的样本条目或样本中,或者可包括在ISO BMFF中的另一盒中。
[0394] num_vertex在基于顶点声明热点区域时指示配置热点的顶点的数量。
[0395] hotspot_yaw[]、hotspot_pitch[]和hotspot_roll[]可表示位于对应样本内的热点的链接位置,并且具有用于以2D投影格式定义当前正在播放的样本场景中的链接位置的值。一个或更多个hotspot_yaw[]、hotspot_pitch[]和hotspot_roll[]可指示一个或更多个坐标值,其中,所述一个或更多个坐标值可以是将热点指示为区域的顶点。在一个示例中,三个或更多个hotspot_yaw[]、hotspot_pitch[]和hotspot_roll[]可指示三个或更多个坐标值,其中,所述三个或更多个坐标值可以是将热点指示为区域的顶点。hotspot_yaw[]可具有介于-90°和90°之间的值,hotspot_pitch[]和hotspot_roll[]可具有介于-180°和180°之间的值。
[0396] exposure_start_offset可指示对应场景中的热点的位置暴露开始时间,并为正在进行流处理的VR视频的总播放时间线提供偏移值。exposure_start_offset可始终具有大于0的值,并且不能超过整个VR视频的播放时间。
[0397] exposure_duration可指示在整个VR视频的整个播放时间线内可从对应场景链接热点的持续时间。exposure_duration为0秒或更长,并且不能长于整个VR视频的播放时间。换言之,exposure_duration可指示对应场景中的热点的可用时间,即,允许通过热点链接到其它VR内容的持续时间。
[0398] next_track_ID可指示通过热点链接的下一轨道ID并且当用户选择该热点时应该播放。
[0399] hotspot_start_time_delta可以是指示当播放HotspotStruct中声明的对应trackID的轨道或链接的VR内容时0秒与要播放的第一场景的时间信息值之间的间距的值。这里,0秒可意指整个VR视频的开始时间。hotspot_start_time_delta不能大于链接的VR内容的总播放时间。
[0400] con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可具有指示关于当对应热点被选择时链接的VR视频(360视频)应该首先显示的新轨道或VR视频中的初始视口的位置信息的值。con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可分别表示偏航、俯仰和横滚的角度值。con_initial_viewport_yaw可具有介于-90°和90°之间的值,con_initial_viewport_pitch和con_initial_viewport_roll可具有介于-180°和180°之间的值。
[0401] 图26示出根据本公开的各种示例的HotspotStruct()包括在HotspotSampleEntry或HotspotSample()中的情况。
[0402] 如上所述,HotspotStruct()可位于ISOBMFF中的定时元数据轨道的样本条目或“mdat”中。HotspotStruct()可位于HotspotSampleEntry或HotspotSample()中。HotspotStruct()可存在于ISOBMFF中的另一盒中。
[0403] 图26的上部示出根据本公开的示例的HotspotStruct()包括在HotspotSampleEntry中的情况,图26的下部示出根据本公开的示例的HotspotStruct()包括在HotspotSample()中的情况。
[0404] 在图26中,num_hotspots可指示热点的数量。如图26的上部所示,当此信息存在于样本条目中时,可指示包括在各个样本中的热点的数量。如图26的下部所示,当该信息存在于样本中时,可指示包括在样本中的热点的数量。
[0405] 另外,HotspotID可表示关于对应热点的标识信息,即,标识符。
[0406] 以下,将描述通过ISO BMFF盒用信号通知包括上述热点相关信息的数据结构的示例。
[0407] 图27示出根据本公开的各种示例的通过ISO BMFF盒用信号通知包括热点相关信息的数据结构的示例。
[0408] 如图所示,包括元数据的上述数据结构(HotspotStruct()和/或HotspotRegion())可包括在ISO BMFF的轨道头(“tkhd”)盒中。该轨道头盒包括在moov盒中的trak盒中。
[0409] version可以是指定盒的版本的整数。
[0410] flags可如下根据作为24比特整数给出的值来定义。如果flags的值为x000001,则这可指示轨道被启用。如果flags的值为0x000002,则这可指示轨道用于呈现。如果flags的值为0x000004,则这可指示轨道用于预览呈现。
[0411] creation_time可以是声明轨道的创建时间的整数(按UTC时间,1904年1月1日午夜之后的时间,以秒计)。
[0412] modification_time可以是声明轨道修改的最后时间的整数(按UTC时间,1904年1月1日午夜之后的时间,以秒计)。
[0413] track_ID可以是用于在对应呈现的整个寿命期间标识轨道的整数。
[0414] duration可以是指示轨道的长度的整数。
[0415] layer可指定视频轨道的顺序。
[0416] alternate_group可以是指定轨道的组或集合的整数。
[0417] “volume”可具有指定轨道的相对音频音量的值。在一个示例中,volume可具有8.8的固定值。
[0418] “matrix”可为视频提供变换矩阵。
[0419] “width”和“height”可指定轨道的视觉呈现大小。在一个示例中,width和height可具有16.16的固定值。
[0420] hotspot_flag可以是指示视频轨道中是否包括热点信息的标志。在一个示例中,当hotspot_flag的值为1时,其可指示视频轨道中包括热点信息。当hotspot_flag的值为0时,其可指示视频轨道中不包括热点信息。
[0421] num_hotspots可指示热点的数量。当此信息存在于样本条目中时,其可指示包括在各个样本中的热点的数量。当该信息存在于样本中时,其可仅表示包括在样本中的热点的数量。
[0422] HotspotID可指示对应热点的标识符。
[0423] 图28示出根据本公开的各种示例的通过ISO BMFF盒用信号通知包括热点相关信息的数据结构的示例。
[0424] 如图所示,包括元数据的上述数据结构(HotspotStruct()和/或HotspotRegion())可包括在ISO BMFF的视频媒体头(“vmhd”)盒中。视频媒体头盒包括在moov盒中的trak盒中。
[0425] version可以是指定盒的版本的整数。
[0426] “graphicsmode”可指定视频轨道的组成模式。
[0427] “opcolor”可以是在图形模式下可用的三种颜色(红、绿、蓝)的值的集合。
[0428] hotspot_flag可以是指示视频轨道中是否包括热点信息的标志。在一个示例中,当hotspot_flag的值为1时,其可指示视频轨道中包括热点信息。当hotspot_flag的值为0时,其可指示视频轨道中不包括热点信息。
[0429] num_hotspots可指示热点的数量。当该信息存在于样本条目中时,其可指示包括在各个样本中的热点的数量。当该信息存在于样本中时,其可仅表示包括在该样本中的热点的数量。
[0430] HotspotID可指示对应热点的标识符。
[0431] 当热点相关元数据同时包括在轨道头(tkhd)盒和视频媒体头(vmhd)盒中时,轨道头(tkhd)盒中定义的hotspot_flag的值和热点相关元数据的各个元素可被视频媒体头(vmhd)盒中定义的值覆盖。
[0432] <在文件格式级别指示轨道引用盒中是否存在热点的引用类型>
[0433] 描述用信号通知元数据轨道和360度视频轨道之间的关系的方法。与热点信息有关的元数据轨道可与VR视频轨道分开存储和传送。当与热点信息有关的元数据在单独的元数据轨道中传送时,可能需要与热点信息有关的元数据轨道和与元数据轨道关联的VR视频轨道之间的引用。
[0434] 根据本公开的示例,与热点有关的元数据轨道和与元数据轨道关联的VR视频轨道可使用作为ISO BMFF的盒之一的TrackReferenceBox(“tref”)盒中预定义的“cdsc”引用类型来引用。
[0435] 根据另一示例,可在TrackReferenceBox(“tref”)盒中定义名为“hspi”的新引用类型,以引用与热点有关的元数据轨道和与元数据轨道关联的VR视频轨道。“hspi”可用作通告对应轨道中存在热点信息的轨道引用,并且可提供热点链接至的track_ID。
[0436] 图29示出根据本公开的示例的tref盒。
[0437] TrackReference(“tref”)盒是提供轨道与盒中包括的另一轨道之间的引用的盒。TrackReference(“tref”)盒可包括具有预定引用类型和标识符的一个或更多个轨道引用类型盒。
[0438] track_ID可以是提供在包括其的轨道中的呈现中对另一轨道的引用的整数。track_ID不重新使用,并且不能为0。
[0439] reference_type可被设定为下列值之一。此外,reference_type可被设定为下面未定义的值。
[0440] “hint”所引用的轨道可包含提示轨道的原始媒体。
[0441] “cdsc”轨道描述引用的轨道。该轨道可包含关于引用轨道的定时元数据。
[0442] “font”轨道可使用引用的轨道中携带/定义的字体。
[0443] “hind”轨道取决于引用的提示轨道。换言之,该轨道可在使用引用的提示轨道时使用。
[0444] “vdep”轨道可包含引用的视频轨道的辅助深度视频信息。
[0445] “vplx”轨道可包含引用的视频轨道的辅助视差视频信息。
[0446] “subt”轨道可包含引用的轨道或轨道所属的替代组中的任何轨道的字幕、定时文本和/或叠加图形信息。
[0447] “hspi”轨道可包含引用的轨道或轨道所属的替代组中的任何轨道的热点相关信息。
[0448] <在文件格式级别选择/播放handler盒中声明的热点传输数据的方法>[0449] 如上所述,内容在一个VR视频流内通过热点链接到另一VR内容,需要定义一个场景中链接的热点的数量、与各个热点的ID对应的热点的位置以及链接到新VR内容之后所需的信息。另外,当前全向媒体应用格式(OMAF)标准或ISO 14496-12标准不包括根据与热点一起进行流处理的场景通告热点的暴露结束时间的功能。因此,为了实现该功能,需要在指示各个链接的VR内容的连接时单独地定义热点的暴露开始时间和结束时间。在一个示例中,使用位于“meta”盒中的handler盒(“hdlr”盒),可定义热点的位置、链接的VR内容应该播放的位置、指示当前正在播放的VR内容的场景中链接有热点的信息要暴露的持续时间。
[0450] 图30和图31中示出在文件格式级别选择/播放handler(hdlr)盒中声明的热点传输数据选择/再现的方法的具体示例。
[0451] 图30示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0452] 在图30中,根据本公开的另一示例的包括热点相关信息的数据结构可包括在handler盒中。在特定示例中,handler盒是HotspotInformationBox(“hspi”)并且可如图所示配置。
[0453] num_hotspot可指示对应VR视频中链接的热点的数量。当该信息存在于样本条目中时,其可指示包括在各个样本中的热点的数量。当该信息存在于样本中时,其可指示包括在该样本中的热点的数量。
[0454] exposure_start_offset可指示对应视频轨道中当前正在进行流处理的场景中的热点的位置暴露开始时间,并为正在进行流处理的VR视频的总播放时间线提供偏移值。exposure_start_offset可始终具有大于0的值,并且不能超过整个VR视频的播放时间。
[0455] exposure_duration可指示在整个VR视频的整个播放时间线内可从对应视频轨道中当前正在进行流处理的场景链接热点的持续时间。exposure_duration为0秒或更长,并且不能长于整个VR视频的播放时间。
[0456] hotspot_yaw、hotspot_pitch和hotspot_roll可指示位于样本中的热点的链接位置的中心。hotspot_yaw、hotspot_pitch和hotspot_roll可具有用于以2D投影格式定义当前正在播放的样本场景中的链接位置的值。hotspot_yaw可具有介于-90°和90°之间的值,hotspot_pitch和hotspot_roll可具有介于-180°和180°之间的值。
[0457] hotspot_vertical_range和hotspot_horizontal_range可以是当作为对应位置的中心的偏航、俯仰和横滚给出热点位置信息时表示热点区域的信息。hotspot_vertical_range和hotspot_horizontal_range可分别指示相对于中心的水平范围和垂直范围。
[0458] next_track_ID可指示通过热点链接的下一轨道ID并且当用户选择该热点时应该播放。
[0459] hotspot_start_time_delta可以是指示当播放HotspotStruct中声明的对应trackID的轨道或链接的VR内容时0秒与要播放的第一场景的时间信息值之间的间距的值。这里,0秒可意指整个VR视频的开始时间。hotspot_start_time_delta不能大于链接的VR内容的总播放时间。
[0460] con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可具有指示关于当对应热点被选择时链接的VR视频(360视频)应该首先显示的新轨道或VR视频中的初始视口的位置信息的值。con_initial_viewport_yaw、con_initial_viewport_pitch和con_initial_viewport_roll可分别表示偏航、俯仰和横滚的角度值。con_initial_viewport_yaw可具有介于-90°和90°之间的值,con_initial_viewport_pitch和con_initial_viewport_roll可具有介于-180°和180°之间的值。
[0461] 图31示出根据本公开的另一示例的包括热点相关信息的数据结构。
[0462] 如上所述,使用位于“meta”盒中的handler盒(“hdlr”盒),可定义热点的位置、链接的VR内容应该播放的位置、指示当前正在播放的VR内容的场景中链接有热点的信息要暴露的持续时间。在特定示例中,handler盒是HotspotInformationBox(“hspi”)并且可如图所示配置。
[0463] num_hotspot可指示对应VR视频中链接的热点的数量。当该信息存在于样本条目中时,其可指示包括在各个样本中的热点的数量。当该信息存在于样本中时,其可指示包括在该样本中的热点的数量。
[0464] HotspotID可指示对应热点的标识符。
[0465] HotspotStruct()可以是上述HotspotStruct()。HotspotSturct()可包括上述Hotspotregion()。
[0466] <根据用户选择针对可变样本操作的信令方法>
[0467] 当多个VR内容可被绑并链接到相互依赖的轨道时,依次进行流处理的样本可根据是否选择热点而变化。通过预先声明grouping_type,可允许在VR内容之间切换。即,可根据预先声明的grouping_type变化地执行流处理。例如,可预先声明grouping_type,使得在VR内容1的流处理期间的特定点允许切换到VR内容2。
[0468] 图32是示出用于在VR内容之间切换流的样本分组的示例的图。
[0469] 参照图32,示出三个VR内容。至少两个VR内容在任意区段中通过热点彼此链接。在这种情况下,VR内容可使用SampleToGroupBox来分组。通过热点进行流处理的任一个VR内容可切换为另一VR内容,并且另一VR内容可进行流处理。
[0470] 在进行流处理的VR内容中,可通过信令来提供关于是否存在热点的信息。这里,可在流处理切换时间之前的任何时间预先提供关于是否存在热点的信令。根据是否选择热点,接下来要进行流处理的样本可变化。
[0471] 将参照图32讨论在VR内容之间切换流的过程。
[0472] 作为第一示例,假设VR视频以VR内容1开始。
[0473] VR内容1可逐样本地进行流处理。可在与组g2对应的区段中选择热点。当用户在组g2期间选择热点时,流处理可在所选时间的样本中切换为VR内容2。即,当用户在组g2中选择热点时,流处理从VR内容1的g2切换为VR内容2的g9。相反,当用户在组g2期间没有选择热点时,VR内容1可继续进行流处理,并且可在与组g5对应的区段中显示用于VR内容3的新热点。
[0474] 当用户在组g5期间选择热点时,流处理可在所选时间的样本中切换为VR内容3。即,当用户在组g5中选择热点时,流处理从VR内容1的g5切换为VR内容3的g12。相反,当用户在组g5中没有选择热点时,VR内容1继续进行流处理。
[0475] 作为第二示例,假设VR视频以VR内容2开始。
[0476] VR内容2可逐样本地进行流处理。可在与组g9对应的区段中选择热点。当用户在组g9中选择热点时,流处理可在所选时间的样本中切换为VR内容1。即,当用户在组g9中选择热点时,流处理可从VR内容2的g9切换为VR内容1的g2。相反,当用户在组g9中没有选择热点时,VR内容2继续进行流处理。
[0477] 作为第三示例,假设VR视频以VR内容3开始。
[0478] VR内容3可逐样本地进行流处理。可在与组g12对应的区段中选择热点。当用户在组g12中选择热点时,流处理可在所选时间的样本中切换为VR内容1。例如,当用户在组g12中选择热点时,流处理从VR内容3的g12切换为VR内容1的g5。相反,当用户在组g12中没有选择热点时,VR内容3继续进行流处理。
[0479] 如上所述,利用SampleToGroupBox,通过在VR_content 1的组g2中选择热点,流处理可切换为VR_content 2的组g9,并且可对g10进行流处理,直至另一选择为止。另一方面,当在g2时间没有选择热点时,可随后执行g4。类似地,当在VR_video1中在组g5的时间选择热点时,流处理可切换为g12。相反,当未选择热点时,可在g5之后对g6进行流处理。在流处理期间热点可暴露。可根据共享热点的VR内容来执行分组。这里,相同的组具有相同的grouping_type。在一个示例中,可在位于样本表盒“stbl”中的“sgpd”盒中声明grouping_type。可通过grouping_type预先声明根据各个情况的流处理次序。即,通过将存在于VR内容1、2和3中的样本当中通过热点链接的样本分组,可通过连续地播放具有相同group_type的值来预先指定流处理次序,而无需选择热点。
[0480] 图33示出用于在VR内容之间切换流的样本组盒。
[0481] 图33的SampleToGroupBox包括上述grouping_type和group_description_index。如上所述,关联的VR内容具有相同的grouping_type,并且其流处理次序可通过group_description_index声明。
[0482] version可以是指定盒的版本的整数。在一个示例中,version可为0或1。
[0483] grouping_type可以是标识样本分组的类型(即,用于形成样本组的标准)并将它以相同的分组类型值链接到其样本组描述表的整数。对于轨道,具有相同grouping_type(如果使用的话,grouping_type_parameter)值的该盒应至多出现一次。
[0484] grouping_type_parameter可以是分组的子类型的指示。
[0485] entry_count可以是给出下表中的条目数量的整数。
[0486] sample_count可以是给出具有相同样本组描述符的连续样本的数量的整数。如果此盒中的样本计数之和小于总样本计数,或者不存在应用于一些样本的sample-to-group盒(例如,其不存在于轨道片段),则读取器应该将没有明确组关联的样本与SampleDescriptionGroup盒(如果有的话)中定义的默认组关联,否则不与组关联。此盒中的总数大于别处记录的sample_count是个错误,那么读取器行为将未定义。
[0487] group_description_index可以是给出描述该组中的样本的样本组条目的索引的整数。索引的范围从1到SampleGroupDescription盒中的样本组条目的数量,或者取值0以指示该样本不是此类型的组的成员。
[0488] 图34示出用于以预定次序传送分组的VR内容的样本组条目。
[0489] HotspotSampleGroupEntry可用于根据需要遵循上述样本分组依次传送分组的组。
[0490] num_hotspots:可指示热点的数量。当此信息存在于样本条目中时,其可表示包括在各个样本中的热点的数量。当该信息存在于样本中时,其可仅表示包括在该样本中的热点的数量。
[0491] HotspotID:这可指示热点的标识符。
[0492] version可以是指示盒的版本的整数。
[0493] grouping_type可以是标识与该样本组描述关联的SampleToGroup盒的整数。如果对于给定grouping_type未定义grouping_type_parameter,则具有该grouping_type的该盒应仅出现一次。
[0494] default_sample_description_index:指定应用于轨道中未通过SampleToGroup盒提供样本至组映射的所有样本的样本组描述条目的索引。此字段的默认值可为零(指示样本未映射至此类型的组)。
[0495] entry_count可以是给出下表中的条目数量的整数。
[0496] default_length可指示每一组条目的长度(如果长度恒定的话),或者如果长度可变的话,指示零(0)。
[0497] 在各个组条目的长度从条目至条目变化,因此default_length为0的情况下,description_length可指示各个组条目的长度。
[0498] 存在于上面提出的Hotspotstruct和HotspotRegion中的信息可在HEVC/AVC的SEI或DASH MPD中定义。
[0499] <用于在多个内容链接的同时针对当前正在播放的内容提供用户指导的结构>[0500] 当在与用户的取向交互期间要播放的多个VR内容被链接时,可能需要关于各个VR内容中的相对位置和方向的指导。换言之,可能需要关于所有链接的内容当中正在播放的VR内容的相对位置和/或观看方向的指导信息。下述示例可通过声明在整个窗口中子窗口的尺寸和位置来向窗口提供导航器。在特定示例中,可按照与制造商的意图一致的形式提供导航器。
[0501] 图35示出根据本公开的示例的包括导航信息的数据结构。
[0502] SphereRegionStruct可以是以运动图像专家组(MPEG)全向媒体应用格式(OMAF)声明视口的结构。SphereRegionStruct是具有声明要播放的整个区域的一部分的功能的结构,并且可由全向媒体应用格式(OMAF)的规范以外的规范代替。
[0503] subwindow_location_X、subwindow_location_Y和subwindow_location_Z可指示三维内容中要声明为子窗口的区域的中心。如果在二维区域中声明子窗口,则subwindow_location_Z可具有值零。subwindow_location_X、subsindow_location_Y和subwindow_location_Z的范围不允许超过子窗口播放的区域。即,subwindow_location_X、subsindow_location_Y和subwindow_location_Z不允许具有子窗口播放的区域之外的值。
[0504] subwindow_location_width和subwindow_location_height可声明子窗口的尺寸。即,subwindow_location_width和subwindow_location_height可声明中心由subwindow_location_X、subwindow_location_Y和subwindow_location_Z指示的子窗口的尺寸。subwindow_location_width可指示子窗口的宽度,subwindow_location_height可指示子窗口的高度。由subwindow_location_width和subwindow_location_height定义的子窗口不能大于播放的整个帧的区域。
[0505] 图36示出根据本公开的另一示例的包括导航信息的数据结构。
[0506] 导航器的子窗口的形状可如先前示例中一样为矩形,或者可具有矩形以外的形状。在一个示例中,根据制作者的意图,子窗口可具有不同于矩形的形状。
[0507] SphereRegionStruct可以是以运动图像专家组(MPEG)全向媒体应用格式(OMAF)声明视口的结构。SphereRegionStruct是具有声明要播放的整个区域的一部分的功能的结构,并且可由全向媒体应用格式(OMAF)的规范以外的规范代替。
[0508] num_vertex可指示当基于顶点声明子窗口的区域时配置子窗口的顶点的数量。
[0509] subwindow_location_X[]、subwindow_location_Y[]和subwindow_location_Z[]可分别指示子窗口的顶点值的X、Y和Z坐标。各个元素不允许具有整个帧区域之外的值。一个或更多个坐标值可作为顶点表示子窗口的区域。在一个示例中,三个或更多个subwindow_location_X[]、subwindow_location_Y[]和subwindow_location_Z[]可指示三个或更多个坐标值,并且这三个或更多个坐标值可作为顶点表示子窗口的区域。
[0510] “interpolate”可指示是要应用从NavigatorStruct()提供的值还是要应用线性内插值。在示例中,当interpolate值为0时,从NavigatorStruct()传送的值呈现在目标媒体样本中。当interpolate值为1时,可应用线性内插值。
[0511] 图37示出根据本公开的各种示例的NavigatorSampleEntry中包括导航信息的情况。
[0512] 导航信息可位于ISOBMFF中的定时元数据轨道的样本条目中。可在样本条目中声明导航器,因为暴露时间或暴露位置可从样本到样本变化。
[0513] 图38示出根据本公开的各种示例的通过ISO BMFF盒用信号通知包括导航信息的数据结构的示例。
[0514] 如图所示,包括上述导航信息的元数据的数据结构可包括在ISO BMFF的视频媒体头(“vmhd”)盒中。视频媒体头盒可包括在moov盒中的trak盒中。
[0515] “version”可以是指定盒的版本的整数。
[0516] “graphicsmode”可指定视频轨道的组成模式。
[0517] “opcolor”可以是在图形模式下可用的三种颜色(红、绿、蓝)的值的集合。
[0518] Navi_flag可以是指示视频轨道中是否包括导航信息的标志。在一个示例中,当Navi_flag的值为1时,其可指示视频轨道中包括导航信息。当Navi_flag的值为0时,其可指示视频轨道中不包括导航信息。
[0519] <在播放多个VR内容时指示是否存在为当前正在播放的VR内容提供用户指导的导航器的轨道引用类型的声明>
[0520] 描述用信号通知元数据轨道和360度视频轨道之间的关系的方法。与导航信息有关的元数据轨道可与VR视频轨道分开存储和传送。当与导航信息有关的元数据在单独的元数据轨道中传送时,可能需要与导航信息有关的元数据轨道和与元数据轨道关联的VR视频轨道之间的引用。
[0521] 根据本公开的示例,可使用作为ISO BMFF的盒之一的TrackReferenceBox(“tref”)盒中预定义的“cdsc”引用类型来引用与热点有关的元数据轨道和与元数据轨道关联的VR视频轨道。
[0522] 根据另一示例,可在TrackReferenceBox(“tref”)盒中定义名为“nvhd”的新引用类型以引用与导航有关的元数据轨道和与元数据轨道关联的VR视频轨道。“nvhd”可用作通告导航信息存在于对应轨道中的轨道引用并且可提供导航链接至的track_ID。
[0523] 图39示出根据本公开的另一示例的tref盒。
[0524] TrackReference(“tref”)盒是提供轨道与盒中包括的另一轨道之间的引用的盒。TrackReference(“tref”)盒可包括具有预定引用类型和标识符的一个或更多个轨道引用类型盒。
[0525] track_ID可以是在包括其的轨道中的呈现中提供对另一轨道的引用的整数。track_ID不重新使用,并且不能为0。
[0526] reference_type可被设定为下列值之一。此外,reference_type可被设定为下面未定义的值。
[0527] “hint”所引用的轨道可包含提示轨道的原始媒体。
[0528] “cdsc”轨道描述引用的轨道。此轨道可包含关于引用轨道的定时元数据。
[0529] “font”轨道可使用引用的轨道中携带/定义的字体。
[0530] “hind”轨道取决于引用的提示轨道。换言之,此轨道可在使用引用的提示轨道时使用。
[0531] “vdep”轨道可包含引用的视频轨道的辅助深度视频信息。
[0532] “vplx”轨道可包含引用的视频轨道的辅助视差视频信息。
[0533] “subt”轨道可包含引用的轨道或轨道所属的替代组中的任何轨道的字幕、定时文本和/或叠加图形信息。
[0534] “hspi”轨道可包含引用的轨道或轨道所属的替代组中的任何轨道的热点相关信息。
[0535] “nvhd”轨道可包含引用的轨道或轨道所属的替代组中的任何轨道的导航器、定时子窗口或叠加图形信息。
[0536] 图40中示出在文件格式级别在handler(hdlr)盒中声明的导航传送数据选择/播放方法的具体示例。
[0537] 图40示出根据本公开的另一示例的包括导航信息的数据结构。
[0538] handler盒是HotspotInformationBox(“nvhd”),并且可如图所示配置。
[0539] HotspotInformationBox(“nvhd”)可指示VR内容中要播放的局部2D帧区域上存在NavigatorStruct的位置。局部2D帧区域可以是球体的部分区域,或者立方体的一个或更多个面的组合。当提供调用VR播放区域的一部分的功能时,局部2D帧区域可以是VR播放区域的任何区域。
[0540] 在另一示例中,SphereRegionStruct是以全向媒体应用格式(OMAF)定义的元数据以定义三维空间中的特定区域,并且可如图42所示定义。在此示例中,SphereRegionStruct可用于定义背景区域以定义导航器的位置。在另一示例中,可使用具有指定和显示360视频中的特定区域的功能的元数据。
[0541] 图41示出根据本公开的示例的SphereRegionStruct。
[0542] 当SphereRegionStruct()包括在SphereRegionSample()结构中时,可应用以下内容。center_yaw、center_pitch和center_roll可相对于全局坐标轴以2-16度为单位指定视口方向。center_yaw和center_pitch可指示视口的中心,center_roll可指示视口的横滚角度。center_yaw应该在-180*216至180*216-1的范围内,center_pitch应该在-90*216至90*216的范围内。center_roll应该在-180*216至180*216-1的范围内。
[0543] hor_range和ver_range可分别以2-16度为单位指定样本中指定的球体区域的水平范围和垂直范围。hor_range和ver_range可通过球体区域的中心指定范围。hor_range应该在0至720*216的范围内,ver_range应该在0至180*216的范围内。
[0544] 由样本指定的球体区域可如下推导。
[0545] 当hor_range和ver_range二者均为零时,此样本中指定的球体区域可对应于球体表面上的点;否则,可使用下面给出的变量cYaw1、cYaw2、cPitch1和cPitch2来定义球体区域。
[0546] cYaw1=(center_yaw-(range_included_flag hor_range:static_hor_range)÷2)÷65536
[0547] cYaw2=(center_yaw+(range_included_flag hor_range:static_hor_range)÷2)÷65536
[0548] cPitch1=(center_pitch-(range_included_flag ver_range:static_ver_range)÷2)÷65536
[0549] cPitch2=(center_pitch+(range_included_flag ver_range:static_ver_range)÷2)÷65536
[0550] 球体区域可如下定义。
[0551] 当shape_type为0时,球体区域可由四个点(cYaw1、cYaw2、cPitch1和cPitch2)以及由center_pitch和center_yaw定义的中心所限定的四个大圆指定。
[0552] 当shape_type为1时,球体区域可由四个点(cYaw1、cYaw2、cPitch1和cPitch2)以及由center_pitch和center_yaw定义的中心所限定的两个偏航圆和两个俯仰圆指定。
[0553] 当Interpolate为0时,其可指示此样本的center_yaw、center_pitch、center_roll、hor_range(如果有的话)和ver_range(如果有的话)的值应用于目标媒体样本。当Interpolate为1时,应用于目标媒体样本的center_yaw、center_pitch、center_roll、hor_range(如果有的话)和ver_range(如果有的话)可具有从该样本和先前样本中的对应字段的值线性内插的值。
[0554] 存在于上面提出的NavigatorStruct中的信息可在HEVC/AVC的SEI或DASH MPD中定义。
[0555] 根据本公开的一个方面,公开了一种发送360度视频的方法。
[0556] 图42是示出根据本公开的示例的发送360度视频的方法的流程图。
[0557] 根据本公开的示例,发送360度视频的方法可包括:生成包含多个360度视频内容的360度视频服务(SH42100);为360度视频服务生成信令信息(SH42200);以及发送包括360度视频服务和信令信息的数据信号(SH42300)。
[0558] 在生成包含多个360度视频内容的360度视频服务的步骤(SH42100)中生成的360度视频服务可包含多个360度视频内容。另外,多个360度视频内容中的至少两个360度视频内容可通过热点彼此链接。
[0559] 信令信息可包括热点相关信息。这里,热点相关信息可以是参照图14至图34描述的热点相关信息。
[0560] 在一个示例中,热点相关信息可包括指示存在于360度视频内容中所包括的场景中的热点的数量的热点数量信息、用于标识各个热点的热点标识信息以及指示各个热点的位置的热点位置信息。热点位置信息可以是指示360度视频内容中的热点的位置的信息。
[0561] 在一个示例中,可通过中心信息和范围信息来指定画面中的热点位置。
[0562] 作为具体示例,热点位置信息可包括指示热点的中心的中心信息以及指示相对于热点的中心的水平范围和垂直范围的范围信息。
[0563] 在替代示例中,画面中的热点位置可基于上述顶点被指定为有限/无限区域。
[0564] 在特定示例中,热点位置信息可包括限定热点的边界的至少三个顶点的坐标值。
[0565] 在一个示例中,热点相关信息可包括指示通过各个热点链接的360度视频内容的内容指示信息、关于内容指示信息所指示的360度视频内容的开始时间信息或关于内容指示信息所指示的360度视频内容的初始视口信息中的至少一个。
[0566] 在一个示例中,信令信息还可包括提供关于正在播放的360度视频内容的位置和取向信息的导航信息。导航信息可以是参照图35至图41描述的导航信息。关于正在播放的360度视频内容的位置和取向信息可指示关于360度视频服务的相对位置和取向。
[0567] 导航信息还可包括窗口区域信息,其定义正在播放的360度视频内容的视口中显示的导航器窗口的区域。
[0568] 根据本公开的示例的发送360度视频的方法可包括生成360度视频。对于生成360度视频的具体操作和生成包含相关信令信息的元数据的具体操作,可应用上面参照图1至图11给出的描述。
[0569] 在发送数据信号的步骤(SH42300)中,可经由广播网络和/或宽带网络发送数据信号。即,所有数据信号可经由广播网络或宽带网络发送,或者一些数据信号可经由广播网络发送,而其它数据信号可经由宽带网络发送。另选地,一些或所有数据信号可经由广播网络和宽带网络发送。
[0570] 根据本公开的另一方面,公开了一种用于发送360度视频的装置。
[0571] 图43是示出根据本公开的示例的360度视频发送装置的配置的框图。
[0572] 根据本公开的示例的360度视频发送装置可包括:360度视频服务生成器H43100,其被配置为生成包含多个360度视频内容的360度视频服务;信令信息生成器H43200,其被配置为针对360度视频服务生成信令信息;数据信号发送器H43300,其被配置为发送包括360度视频服务和信令信息的数据信号。
[0573] 由360度视频服务生成器H43100生成的360度视频服务可包含多个360度视频内容。另外,多个360度视频内容中的至少两个360度视频内容可通过热点彼此链接。
[0574] 信令信息可包括热点相关信息。这里,热点相关信息可以是参照图14至图34描述的热点相关信息。
[0575] 在一个示例中,热点相关信息可包括指示存在于360度视频内容中所包括的场景中的热点的数量的热点数量信息、用于标识各个热点的热点标识信息以及指示各个热点的位置的热点位置信息。热点位置信息可以是指示360度视频内容中的热点的位置的信息。
[0576] 在一个示例中,可通过中心信息和范围信息来指定画面中的热点位置。
[0577] 作为具体示例,热点位置信息可包括指示热点的中心的中心信息以及指示相对于热点的中心的水平范围和垂直范围的范围信息。
[0578] 在替代示例中,画面中的热点位置可基于上述顶点被指定为有限/无限区域。
[0579] 在特定示例中,热点位置信息可包括限定热点的边界的至少三个顶点的坐标值。
[0580] 在一个示例中,热点相关信息可包括指示通过各个热点链接的360度视频内容的内容指示信息、关于内容指示信息所指示的360度视频内容的开始时间信息或关于内容指示信息所指示的360度视频内容的初始视口信息中的至少一个。
[0581] 在一个示例中,信令信息还可包括提供关于正在播放的360度视频内容的位置和取向信息的导航信息。导航信息可以是参照图35至图41描述的导航信息。关于正在播放的360度视频内容的位置和取向信息可指示关于360度视频服务的相对位置和取向。
[0582] 导航信息还可包括窗口区域信息,其定义正在播放的360度视频内容的视口中显示的导航器窗口的区域。
[0583] 可选地,根据本公开的示例的发送360度视频的装置可包括被配置为生成360度视频的元件。对于生成360度视频的具体操作以及用于生成360度视频的元件,可应用上面参照图1至图11给出的描述。
[0584] 数据信号发送器H43300可经由广播网络和/或宽带网络发送数据信号。即,所有数据信号可经由广播网络或宽带网络发送,或者一些数据信号可经由广播网络发送,而其它数据信号可经由宽带网络发送。另选地,一些或所有数据信号可经由广播网络和宽带网络发送。
[0585] 根据本公开的另一方面,公开了一种用于接收360度视频的装置。
[0586] 图44是示出根据本公开的示例的360度视频接收装置的配置的框图。
[0587] 根据本公开的示例的360度视频接收装置可包括:接收器H44100,其被配置为接收数据信号,该数据信号包括包含多个360度视频内容的360度视频服务以及360度视频服务的信令信息;信令解析器H44200,其被配置为解析信令信息;以及显示器H44300,其被配置为显示360度视频服务。
[0588] 包含在数据信号中的360度视频服务可包含多个360度视频内容。另外,多个360度视频内容中的至少两个360度视频内容可通过热点彼此链接。包含在数据信号中的信令信息可包括热点相关信息。这里,热点相关信息可以是参照图14至图34描述的热点相关信息。
[0589] 在一个示例中,热点相关信息可包括指示存在于360度视频内容中所包括的场景中的热点的数量的热点数量信息、用于标识各个热点的热点标识信息以及指示各个热点的位置的热点位置信息。热点位置信息可以是指示360度视频内容中的热点的位置的信息。
[0590] 在一个示例中,可通过中心信息和范围信息来指定画面中的热点位置。
[0591] 作为具体示例,热点位置信息可包括指示热点的中心的中心信息以及指示相对于热点的中心的水平范围和垂直范围的范围信息。
[0592] 在替代示例中,画面中的热点位置可基于上述顶点被指定为有限/无限区域。
[0593] 在特定示例中,热点位置信息可包括限定热点的边界的至少三个顶点的坐标值。
[0594] 在一个示例中,热点相关信息可包括指示通过各个热点链接的360度视频内容的内容指示信息、关于内容指示信息所指示的360度视频内容的开始时间信息或者关于内容指示信息所指示的360度视频内容的初始视口信息中的至少一个。
[0595] 在一个示例中,信令信息还可包括提供关于正在播放的360度视频内容的位置和取向信息的导航信息。导航信息可以是参照图35至图41描述的导航信息。关于正在播放的360度视频内容的位置和取向信息可指示关于360度视频服务的相对位置和取向。
[0596] 导航信息还可包括窗口区域信息,其定义正在播放的360度视频内容的视口中显示的导航器窗口的区域。
[0597] 可选地,根据本公开的示例的用于接收360度视频的装置可包括被配置为处理360度视频的元件。对于处理360度视频的具体操作以及用于处理360度视频的元件,可应用上面参照图1至图11给出的描述。例如,360度视频接收装置还可包括被配置为在3D空间中渲染360度视频的渲染器。
[0598] 在接收器H44100的操作中,可经由广播网络和/或宽带网络发送数据信号。即,所有数据信号可经由广播网络或宽带网络发送,或者一些数据信号可经由广播网络发送,而其它数据信号可经由宽带网络发送。另选地,一些或所有数据信号可经由广播网络和宽带网络发送。
[0599] 根据本公开的另一方面,公开了一种接收360度视频的方法。
[0600] 图45是示出根据本公开的示例的接收360度视频的方法的流程图。
[0601] 根据本公开的示例,接收360度视频的方法可包括:接收数据信号,该数据信号包括包含多个360度视频内容的360度视频服务以及360度视频服务的信令信息(SH45100);解析信令信息(SH45200);以及显示360度视频服务(SH45300)。
[0602] 包含在数据信号中的360度视频服务可包含多个360度视频内容。另外,多个360度视频内容中的至少两个360度视频内容可通过热点彼此链接。包含在数据信号中的信令信息可包括热点相关信息。这里,热点相关信息可以是参照图14至图34描述的热点相关信息。
[0603] 在一个示例中,热点相关信息可包括指示存在于360度视频内容中所包括的场景中的热点的数量的热点数量信息、用于标识各个热点的热点标识信息以及指示各个热点的位置的热点位置信息。热点位置信息可以是指示360度视频内容中的热点的位置的信息。
[0604] 在一个示例中,可通过中心信息和范围信息来指定画面中的热点位置。
[0605] 作为具体示例,热点位置信息可包括指示热点的中心的中心信息以及指示相对于热点的中心的水平范围和垂直范围的范围信息。
[0606] 在替代示例中,画面中的热点位置可基于上述顶点被指定为有限/无限区域。
[0607] 在特定示例中,热点位置信息可包括限定热点的边界的至少三个顶点的坐标值。
[0608] 在一个示例中,热点相关信息可包括指示通过各个热点链接的360度视频内容的内容指示信息、关于内容指示信息所指示的360度视频内容的开始时间信息或关于内容指示信息所指示的360度视频内容的初始视口信息中的至少一个。
[0609] 在一个示例中,信令信息还可包括提供关于正在播放的360度视频内容的位置和取向信息的导航信息。导航信息可以是参照图35至图41描述的导航信息。关于正在播放的360度视频内容的位置和取向信息可指示关于360度视频服务的相对位置和取向。
[0610] 导航信息还可包括窗口区域信息,其定义正在播放的360度视频内容的视口中显示的导航器窗口的区域。
[0611] 根据本公开的示例的接收360度视频的方法可包括处理360度视频。对于处理360度视频的具体操作以及生成包含相关信令信息的元数据的具体操作,可应用上面参照图1至图11给出的描述。
[0612] 在接收数据信号的步骤(SH45100)中,数据信号可经由广播网络和/或宽带网络发送。即,所有数据信号可经由广播网络或宽带网络发送,或者一些数据信号可经由广播网络发送,而其它数据信号可经由宽带网络发送。另选地,一些或所有数据信号可经由广播网络和宽带网络发送。
[0613] 上述装置的内部组件可以是执行存储在存储器中的连续执行过程的处理器或配置为硬件的其它硬件组件。这些组件可设置到装置内部/外部。
[0614] 根据示例,上述模块可被省略或者由执行相似/相同操作的其它模块代替。
[0615] 上述各个部件、模块或单元可以是执行存储在存储器(或存储单元)中的连续过程的处理器或硬件部件。在上述示例中描述的各个操作可由处理器或硬件部件执行。在上述示例中描述的各个模块/块/单元可作为硬件/处理器操作。另外,本公开的上述方法可通过代码来实现。该代码可被写在可由处理器读取的记录介质中,以使得该代码可由设备所提供的处理器读取。
[0616] 尽管为了清楚起见参照各个附图说明了本公开的描述,但是可通过将附图中所示的示例彼此合并来设计新的示例。如果本领域技术人员设计出记录有用于执行以上描述中提及的示例的程序的计算机可读记录介质,则其可落入所附权利要求及其等同物的范围内。
[0617] 根据本公开的装置和方法可不受以上描述中提及的示例的配置和方法限制。在以上描述中提及的示例可按照选择性地彼此完全或部分地组合的方式来配置,以实现各种修改。
[0618] 另外,根据本公开的方法可利用提供给网络装置的处理器可读记录介质中的处理器可读代码来实现。处理器可读介质可包括能够存储可由处理器读取的数据的所有类型的记录装置。处理器可读介质可包括ROM、RAM、CD-ROM、磁带、软盘、光学数据存储装置等中的一个,并且还包括载波型实现方式(例如,经由互联网的传输)。此外,当处理器可读记录介质被分发给经由网络连接的计算机系统时,可按照分布式方式保存和执行处理器可读代码。
[0619] 尽管已参照示例性示例描述了本公开,但是本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对本公开进行各种修改和变化。
[0620] 本领域技术人员将理解,在不脱离本公开的精神或范围的情况下,可对本公开进行各种修改和变化。因此,本公开旨在覆盖对本公开的修改和变化,只要其落入所附权利要求及其等同物的范围内。
[0621] 在本说明书中提及了设备和方法公开二者,并且设备和方法公开二者的描述可彼此互补地应用。
[0622] 本发明的模式
[0623] 已在具体实施方式中描述了各种示例。
[0625] 本公开用在一系列VR相关领域中。
[0626] 对于本领域技术人员而言将显而易见的是,在不脱离本公开的精神或范围的情况下,可对本公开进行各种修改和变化。因此,本公开旨在覆盖对本公开的修改和变化,只要其落入所附权利要求及其等同物的范围内即可。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈