发送360度视频的方法、接收360度视频的方法、发送360度视频的设备、接收360度视频的设备与流程

文档序号:16365362发布日期:2018-12-22 08:24阅读:175来源:国知局
发送360度视频的方法、接收360度视频的方法、发送360度视频的设备、接收360度视频的设备与流程

本发明涉及一种360度视频发送方法、360度视频接收方法、360度视频发送设备和360度视频接收设备。

背景技术

虚拟现实(vr)系统向用户提供感官体验,通过该感官体验,用户可感觉就像他/她处于电子投影的环境中一样。可进一步改进用于提供vr的系统以便提供更高质量的图像和空间声音。这种vr系统可使得用户能够交互地欣赏vr内容。



技术实现要素:

技术问题

需要改进vr系统以便更有效地向用户提供vr环境。为此,有必要针对发送诸如vr内容的大量数据的数据传输效率、发送网络和接收网络之间的鲁棒性、考虑移动接收设备的网络灵活性以及有效再现和信令提出计划。

技术方案

根据本发明的目的,本发明提出一种360度视频发送方法、360度视频接收方法、360度视频发送设备和360度视频接收设备。

在本发明的一方面,公开了一种360度视频接收设备。

根据本发明的实施方式的360度视频接收设备包括:接收单元,其用于接收数据信号,该数据信号包括包含360度视频数据的2d图像以及关于360度视频数据的信令信息,该2d图像被分割成两个或更多个区域以按照个体区域为单位或多个区域为单位来编码;数据解码器,其用于对包括在数据信号中的2d图像进行解码;信令解码器,其用于对包括在数据信号中的信令信息进行解码;以及渲染器,其用于处理2d图像以在3d空间中渲染360度视频数据,其中,该信令信息可包括允许所述两个或更多个区域分组的分组信息。

分组信息可包括第一组信息,该第一组信息提供关于可再现的个体区域或多个区域的分组信息。

另外,分组信息还可包括第二组信息,该第二组信息提供关于可切换的个体区域或多个区域的分组信息。

信令信息还可包括个体区域之间、多个区域之间、或者个体区域与多个区域之间的编码依赖性信息。

信令信息还可包括指示用于将360度视频数据投影在2d图像上的投影方案的投影方案信息。

信令信息还可包括2d图像与包括在360度视频数据中的360度图像之间的映射信息。

信令信息还可包括指示当2d图像的个体区域中的至少一个旋转预定角度以被映射在2d图像上时的旋转角度的旋转信息。

渲染器可生成并输出包括至少一个区域的用户视口信息。

在一个实施方式中,数据解码器可对与从渲染器接收的用户视口信息中包括的所述至少一个区域对应的数据进行解码。

在另一实施方式中,该设备还可包括用于解封装包括在数据信号中的文件格式的文件解析器,并且该文件解析器可提取与从渲染器接收的用户视口信息中包括的所述至少一个区域对应的数据。

在另一实施方式中,接收单元可接收与从渲染器接收的用户视口信息中包括的所述至少一个区域对应的数据。

在本发明的另一方面,公开了一种360度视频发送方法。

根据本发明的实施方式的360度视频发送方法包括以下步骤:获取360度视频数据;将360度视频数据映射在2d图像上;将2d图像分割成两个或更多个区域并以个体区域为单位或多个区域为单位对所述区域进行编码;生成关于360度视频数据的信令信息;处理编码的2d图像和信令信息以用于传输;以及经由广播网络发送经处理的2d图像和信令信息,其中,该信令信息包括允许所述两个或更多个区域分组的分组信息。

分组信息可包括第一组信息,其提供关于可再现的个体区域或多个区域的分组信息。

另外,分组信息还可包括第二组信息,其提供关于可切换的个体区域或多个区域的分组信息。

信令信息还可包括个体区域之间、多个区域之间、或者个体区域与多个区域之间的编码依赖性信息。

信令信息还可包括指示用于将360度视频数据投影在2d图像上的投影方案的投影方案信息。

信令信息还可包括2d图像与包括在360度视频数据中的360度图像之间的映射信息。

信令信息还可包括指示当2d图像的个体区域中的至少一个旋转预定角度以被映射在2d图像上时的旋转角度的旋转信息。

在本发明的其它方面,公开了一种360度视频发送设备和360度视频接收方法。

有益效果

根据本发明,可在支持使用地面广播网络和互联网的下一代混合广播的环境中有效地发送360度内容。

根据本发明,可提出一种当用户欣赏360度内容时提供交互体验的方法。

根据本发明,可提出一种执行信令以使得当用户欣赏360度内容时准确地传达360度内容作者的意图的方法。

根据本发明,可提出一种在发送360度内容时有效地增加传输容量并发送必要信息的方法。

附图说明

图1是示出根据本发明的用于提供360度视频的整个架构的示图。

图2是示出根据本发明的一方面的360度视频发送设备的示图。

图3是示出根据本发明的另一方面的360度视频接收设备的示图。

图4是示出根据本发明的另一实施方式的360度视频发送设备/360度视频接收设备的示图。

图5是示出用于描述与本发明有关的3d空间的主飞行器轴(principalaircraftaxes)的概念的示图。

图6是示出根据本发明的实施方式的投影方案的示图。

图7是示出根据本发明的实施方式的拼块的示图。

图8是示出根据本发明的实施方式的360度视频相关元数据的示图。

图9是示出根据本发明的实施方式的媒体文件的结构的示图。

图10是示出根据本发明的实施方式的isobmff中的盒的分层结构的示图。

图11是示出根据本发明的实施方式的基于dash的自适应流模型的总体操作的示图。

图12是示出根据本发明的实施方式的360度视频处理方法的示图。

图13是示出根据本发明的实施方式的轨道头的轨道头盒的示图。

图14是示出根据本发明的实施方式的轨道选择盒的示图。

图15是示出根据本发明的实施方式的轨道组盒的示图。

图16是示出根据本发明的实施方式的轨道参考盒的示图。

图17是示出根据本发明的实施方式的全画面序列的示图。

图18和图19是示出360度视频包括四个拼块轨道和一个非拼块轨道并且不使用提取器的实施方式中的isobmff文件的结构的示图。

图20和图21是示出360度视频包括四个拼块轨道和一个非拼块轨道并且使用提取器的实施方式中的isobmff文件的结构的示图。

图22和图23是示出360度视频包括一个全画面轨道和四个拼块轨道并且各个拼块轨道使用提取器参考全画面的实施方式中的isobmff文件的结构的示图。

图24是示出根据本发明的另一实施方式的全画面序列的示图。

图25和图26是示出360度视频包括用于基本层的非拼块轨道、拼块区域轨道和拼块集合轨道以及用于增强层的非拼块轨道、拼块区域轨道和拼块集合轨道并且不使用提取器的实施方式中的isobmff文件的结构的示图。

图27和图28是示出360度视频包括用于基本层的非拼块轨道、拼块区域轨道和拼块集合轨道以及用于增强层的非拼块轨道、拼块区域轨道和拼块集合轨道并且使用提取器的实施方式中的isobmff文件的结构的示图。

图29是示出360度视频获取空间和/或用户视口空间的示图。

图30是示出根据本发明的实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图31是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图32是示出根据本发明的实施方式的360度视频被映射在2d帧中的状态的示图。

图33和图34是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图35是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图36是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图37是示出根据本发明的另一实施方式的vr视频区域盒的示图。

图38是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图39是示出使用vr视频区域信息组条目的区域与拼块区域之间的关系的示图。

图40是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图41是示出用于指示通过dash发送的vr视频的获取空间中的区域范围或用户视口支持范围的@value的句法的示图。

图42是示出全画面帧和划分成区域的全画面帧的示图,图43是示出包括与图42有关的信令信息的mpd的示图。

图44是示出全画面帧和划分成区域的全画面帧的示图,图45是示出包括与图44有关的信令信息的mpd的示图。

图46是示出根据本发明的实施方式的接收机的操作的示图。

图47是示出根据本发明的另一实施方式的接收机的操作的示图。

图48是示出根据本发明的另一实施方式的接收机的操作的示图。

图49是示出根据本发明的实施方式的360度视频发送方法的示图。

图50是示出根据本发明的实施方式的360度视频接收设备的示图。

具体实施方式

现在将参照附图详细参考本发明的优选实施方式。下面将参照附图给出的详细描述旨在说明本发明的示例性实施方式,而非示出可根据本发明实现的仅有实施方式。以下详细描述包括具体细节以便提供本发明的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本发明可在没有这些具体细节的情况下实践。

尽管本发明中所使用的大多数术语是从本领域中广泛使用的一般术语中选择的,但是一些术语已由申请人任意选择,其含义在下面的描述中根据需要详细说明。因此,本发明应该根据术语的预期含义而非其简单名称或含义来理解。

图1是示出根据本发明的用于提供360度视频的整个架构的示图。

本发明提出了一种用于360度内容提供以便向用户提供虚拟现实(vr)的方案。vr可意指用于复制实际或虚拟环境的技术或环境。vr人为地向用户提供感官体验,通过该感官体验,用户可感觉就像他/她处于电子投影的环境中一样。

术语“360度内容”意指用于实现和提供vr的所有内容,并且可包括360度视频和/或360度音频。术语“360度视频”可意指提供vr所需的在所有方向上(360度)同时拍摄或再现的视频或图像内容。这种360度视频可以是根据3d模型出现在各种类型的3d空间中的视频或图像。例如,360度视频可出现在球面上。作为用于提供vr的音频内容,术语“360度音频”可意指声音的原点被识别为位于特定3d空间中的空间音频内容。360度内容可被生成、处理并发送给可使用360度内容来享受vr体验的用户。以下,360度内容/视频/图像/音频可被称为省略单位(度)的“360内容/视频/图像/音频”或者“vr内容/视频/图像/音频”。

本发明提出了一种特别有效地提供360度视频的方法。为了提供360度视频,可使用至少一个相机来拍摄360度视频。所拍摄的360度视频可通过一系列处理来发送,并且接收方可将所接收的数据处理并渲染为原始360度视频。结果,可将360度视频提供给用户。

具体地讲,提供360度视频的总体处理可包括拍摄处理、准备处理、传送处理、加工处理、渲染处理和/或反馈处理。

拍摄处理可以是使用至少一个相机在多个视口中的每一个处拍摄图像或视频的处理。在拍摄处理中,可如所示生成图像/视频数据(t1010)。所示的各个平面(t1010)可意指各个视口处的图像/视频。所拍摄的多个图像/视频可以是原始数据。在拍摄处理中,可生成拍摄相关元数据。

用于vr的特殊相机可用于拍摄。在一些实施方式中,在提供由计算机生成的虚拟空间的360度视频的情况下,可不使用实际相机执行拍摄。在这种情况下,简单地生成相关数据的处理可代替拍摄处理。

准备处理可以是处理拍摄的图像/视频以及在拍摄处理生成的元数据的处理。在准备处理中,拍摄的图像/视频可经历拼接处理、投影处理、区域式打包处理和/或编码处理。

首先,各个图像/视频可经历拼接处理。拼接处理可以是将拍摄的图像/视频连接以生成全景图像/视频或球面图像/视频的处理。

随后,拼接的图像/视频可经历投影处理。在投影处理中,拼接的图像/视频可被投影在2d图像上。根据上下文,2d图像可被称为2d图像帧。2d图像投影可被表示为2d图像映射。投影的图像/视频数据可如所示具有2d图像的形式(t1020)。

投影在2d图像上的视频数据可经历区域式打包处理以便改进视频编码效率。区域式打包处理可以是针对各个区域单独地处理投影在2d图像上的视频数据的处理。这里,术语“区域”可指示投影视频数据的2d图像的分割部分。在一些实施方式中,可通过均匀地或任意地分割2d图像来划分区域。另外,在一些实施方式中,可根据投影方案来划分区域。区域式打包处理是可选的,因此可从准备处理省略。

在一些实施方式中,该处理可包括在2d图像上旋转各个区域或重新布置区域以便改进视频编码效率的处理。例如,区域可被旋转,使得区域的特定边被定位成彼此相邻,由此可改进编码效率。

在一些实施方式中,该处理可包括增大或减小特定区域的分辨率以便改变360度视频上的区域的分辨率的处理。例如,与360度视频中的相对重要的区域对应的区域可具有比其它区域高的分辨率。投影在2d图像上的视频数据或区域式打包的视频数据可经历经由视频编解码器的编码处理。

在一些实施方式中,准备处理还可包括编辑处理。在编辑处理中,可编辑投影之前和之后的图像/视频数据。在准备处理中,与拼接/投影/编码/编辑有关的元数据可按照相同的方式生成。另外,可生成与投影在2d图像上的视频数据的初始视口或感兴趣区域(roi)有关的元数据。

传送处理可以是处理并传送已经历准备处理的图像/视频数据以及元数据的处理。可基于用于传送的任意传输协议来执行处理。已被处理用于传送的数据可通过广播网络和/或宽带连接来传送。可按照按需方式向接收方传送数据。接收方可通过各种路径接收数据。

加工处理可以是将接收的数据解码并将投影的图像/视频数据重新投影在3d模型上的处理。在此处理中,投影在2d图像上的图像/视频数据可在3d空间中重新投影。根据上下文,该处理可被称为映射或投影。此时,映射的3d空间可根据3d模型具有不同的形式。例如,3d模型可以是球体、立方体、圆柱体或锥体。

在一些实施方式中,加工处理还可包括编辑处理和放大处理。在编辑处理中,可编辑重新投影之前和之后的图像/视频数据。在图像/视频数据被缩小的情况下,可在放大处理中通过放大来增大图像/视频数据的大小。根据需要,可通过缩小来减小图像/视频数据的大小。

渲染处理可以是渲染并显示3d空间中重新投影的图像/视频数据的处理。根据上下文,重新投影和渲染的组合可被表示为在3d模型上渲染。在3d模型上重新投影(或在3d模型上渲染)的图像/视频可具有所示的形式(t1030)。如所示,图像/视频被重新投影在球形3d模型上(t1030)。用户可通过vr显示器观看渲染的图像/视频的一部分。此时,用户所观看的那部分图像/视频可具有所示的形式(t1040)。

反馈处理可以是将可在显示处理获取的各种类型的反馈信息发送给发送方的处理。在欣赏360度视频时可通过反馈处理提供交互性。在一些实施方式中,在反馈处理可将头部取向信息、关于视口(指示用户正在观看的区域)的信息等发送给发送方。在一些实施方式中,用户可与vr环境中实现的内容交互。在这种情况下,可在反馈处理中将与交互性有关的信息提供给发送方或服务提供方。在一些实施方式中,可不执行反馈处理。

头部取向信息可以是关于用户的头部的位置、角度和移动的信息。可基于该信息计算关于360度视频中用户正在观看的区域的信息(即,视口信息)。

视口信息可以是关于360度视频中用户正在观看的区域的信息。可通过其执行注视分析,因此可检查用户欣赏360度视频的方式、用户所注视的360度视频的区域以及用户注视360度视频期间的时间量。注视分析可在接收方执行并且可通过反馈信道传送至发送方。诸如vr显示器的设备可基于用户头部的位置/取向、设备所支持的垂直或水平fov等来提取视口区域。

在一些实施方式中,反馈信息不仅可被传送至发送方,而且可在接收方使用。即,可在接收方使用反馈信息执行解码、重新投影和渲染处理。例如,可首先使用头部取向信息和/或视口信息仅解码并渲染用户正在观看的那部分360度视频。

这里,视口或视口区域可以是用户正在观看的那部分360度视频。视口(360度视频中用户正在观看的点)可以是视口区域的正中心。即,视口是基于视口的区域。该区域的大小或形状可由视场(fov)(将随后描述)设定。

在用于360度视频提供的整个架构中,经历一系列拍摄/投影/编码/传送/解码/重新投影/渲染处理的图像/视频数据可被称为360度视频数据。术语“360度视频数据”可用于概念上包括与图像/视频数据有关的元数据或信令信息。

图2是示出根据本发明的一方面的360度视频发送设备的示图。

根据本发明的一方面,本发明可与360度视频发送设备有关。根据本发明的360度视频发送设备可执行与准备处理和传送处理有关的操作。根据本发明的360度视频发送设备可包括数据输入单元、拼接器、投影处理单元、区域式打包处理单元(未示出)、元数据处理单元、(发送方)反馈处理单元、数据编码器、封装处理单元、发送处理单元和/或发送单元作为内部/外部元件。

数据输入单元可允许拍摄的视口式图像/视频输入。视口式图像/视频可以是使用至少一个相机拍摄的图像/视频。另外,数据输入单元可允许在拍摄处理生成的元数据输入。数据输入单元可将输入的视口式图像/视频传送至拼接器,并且可将在拍摄处理生成的元数据传送至信令处理单元。

拼接器可将拍摄的视口式图像/视频拼接。拼接器可将拼接的360度视频数据传送至投影处理单元。根据需要,拼接器可从元数据处理单元接收必要的元数据以便在拼接处理使用所接收的元数据。拼接器可将在拼接处理生成的元数据传送至元数据处理单元。在拼接处理生成的元数据可包括关于是否执行拼接和拼接类型的信息。

投影处理单元可将拼接的360度视频数据投影在2d图像上。投影处理单元可根据各种方案执行投影(将在下面描述)。投影处理单元可考虑视口式360度视频数据的深度来执行映射。根据需要,投影处理单元可从元数据处理单元接收投影所需的元数据以便将所接收的元数据用于投影。投影处理单元可将在投影处理中生成的元数据传送至元数据处理单元。投影处理单元的元数据可包括关于投影方案的类型的信息。

区域式打包处理单元(未示出)可执行区域式打包处理。即,区域式打包处理单元可将投影的360度视频数据分割成区域,并且可旋转或重新布置各个区域,或者可改变各个区域的分辨率。如先前所描述的,区域式打包处理是可选的。在不执行区域式打包处理的情况下,可省略区域式打包处理单元。根据需要,区域式打包处理单元可从元数据处理单元接收区域式打包所需的元数据以便将所接收的元数据用于区域式打包。区域式打包处理单元可将在区域式打包处理中生成的元数据传送至元数据处理单元。区域式打包处理单元的元数据可包括各个区域的旋转程度和大小。

在一些实施方式中,拼接器、投影处理单元和/或区域式打包处理单元可被合并成单个硬件组件。

元数据处理单元可处理可在拍摄处理、拼接处理、投影处理、区域式打包处理、编码处理、封装处理和/或加工处理中生成的元数据以用于传送。元数据处理单元可使用上述元数据来生成360度视频相关元数据。在一些实施方式中,元数据处理单元可按照信令表的形式生成360度视频相关元数据。根据上下文,360度视频相关元数据可被称为与360度视频有关的元数据或信令信息。另外,根据需要,元数据处理单元可将所获取或生成的元数据传送至360度视频发送设备的内部元件。元数据处理单元可将360度视频相关元数据传送至数据编码器、封装处理单元和/或发送处理单元,使得360度视频相关元数据可被发送至接收方。

数据编码器可对投影在2d图像上的360度视频数据和/或区域式打包的360度视频数据进行编码。可按照各种格式对360度视频数据进行编码。

封装处理单元可按照文件的形式来封装编码的360度视频数据和/或360度视频相关元数据。这里,360度视频相关元数据可以是从元数据处理单元接收的元数据。封装处理单元可按照isobmff或cff的文件格式来封装数据,或者可按照dash分段的形式来处理数据。在一些实施方式中,封装处理单元可包括关于文件格式的360度视频相关元数据。例如,360度视频相关元数据可按照isobmff文件格式包括在各种级别的盒中,或者可作为数据包括在文件内的单独的轨道中。在一些实施方式中,封装处理单元可将360度视频相关元数据本身封装为文件。发送处理单元可根据文件格式对封装的360度视频数据执行用于发送的处理。发送处理单元可根据任意传输协议来处理360度视频数据。用于发送的处理可包括用于通过广播网络传送的处理以及用于通过宽带连接传送的处理。在一些实施方式中,除了360度视频数据之外,发送处理单元可从元数据处理单元接收360度视频相关元数据,并且可对其执行用于发送的处理。

发送单元可通过广播网络和/或宽带连接来发送经发送处理的360度视频数据和/或360度视频相关元数据。发送单元可包括用于通过广播网络发送的元件和/或用于通过宽带连接发送的元件。

在根据本发明的360度视频发送设备的实施方式中,360度视频发送设备还可包括数据存储单元(未示出)作为内部/外部元件。数据存储单元可在传送至发送处理单元之前存储编码的360度视频数据和/或360度视频相关元数据。数据可按照isobmff的文件格式存储。在实时发送360度视频的情况下,不需要数据存储单元。然而,在按需、非实时(nrt)或通过宽带连接发送360度视频的情况下,封装的360度数据可在存储在数据存储单元中预定时间段之后发送。

在根据本发明的360度视频发送设备的另一实施方式中,360度视频发送设备还可包括(发送方)反馈处理单元和/或网络接口(未示出)作为内部/外部元件。网络接口可从根据本发明的360度视频接收设备接收反馈信息,并且可将所接收的反馈信息传送至发送方反馈处理单元。发送方反馈处理单元可将反馈信息传送至拼接器、投影处理单元、区域式打包处理单元、数据编码器、封装处理单元、元数据处理单元和/或发送处理单元。在一些实施方式中,反馈信息可被传送至元数据处理单元,然后可被传送至各个内部元件。在接收到反馈信息之后,内部元件可在随后处理360度视频数据时反映反馈信息。

在根据本发明的360度视频发送设备的另一实施方式中,区域式打包处理单元可旋转各个区域,并且可将旋转的区域映射在2d图像上。此时,区域可在不同的方向上以不同的角度旋转,并且可被映射在2d图像上。可考虑投影之前在球面上彼此相邻的360度视频数据的部分及其拼接部分来执行区域的旋转。关于区域的旋转的信息(即,旋转方向和旋转角度)可由360度视频相关元数据用信号通知。在根据本发明的360度视频发送设备的另一实施方式中,数据编码器可对区域不同地进行编码。数据编码器可对一些区域以高质量进行编码,并且可对一些区域以低质量进行编码。发送方反馈处理单元可将从360度视频接收设备接收的反馈信息传送至数据编码器,数据编码器可对区域不同地进行编码。例如,发送方反馈处理单元可将从接收方接收的视口信息传送至数据编码器。数据编码器可对包括视口信息所指示的区域的区域以比其它区域更高的质量(uhd等)进行编码。

在根据本发明的360度视频发送设备的另一实施方式中,发送处理单元可对区域不同地执行用于发送的处理。发送处理单元可对区域应用不同的传输参数(调制阶数、码率等),使得为各个区域传送的数据的鲁棒性改变。

此时,发送方反馈处理单元可将从360度视频接收设备接收的反馈信息传送至发送处理单元,发送处理单元可对区域不同地执行发送处理。例如,发送方反馈处理单元可将从接收方接收的视口信息传送至发送处理单元。发送处理单元可对包括视口信息所指示的区域的区域执行发送处理以具有比其它区域更高的鲁棒性。

根据本发明的360度视频发送设备的内部/外部元件可以是实现为硬件的硬件元件。然而,在一些实施方式中,内部/外部元件可被改变、省略、替换或合并。在一些实施方式中,附加元件可被添加到360度视频发送设备。

图3是示出根据本发明的另一方面的360度视频接收设备的示图。

根据本发明的另一方面,本发明可涉及一种360度视频接收设备。根据本发明的360度视频接收设备可执行与加工处理和/或渲染处理有关的操作。根据本发明的360度视频接收设备可包括接收单元、接收处理单元、解封装处理单元、数据解码器、元数据解析器、(接收方)反馈处理单元、重新投影处理单元和/或渲染器作为内部/外部元件。

接收单元可接收360度视频发送设备所发送的360度视频数据。根据发送360度视频数据的信道,接收单元可通过广播网络接收360度视频数据,或者可通过宽带连接接收360度视频数据。

接收处理单元可根据传输协议来处理所接收的360度视频数据。为了与发送方的用于发送的处理对应,接收处理单元可执行发送处理单元的逆处理。接收处理单元可将所获取的360度视频数据传送至解封装处理单元,并且可将所获取的360度视频相关元数据传送至元数据解析器。由接收处理单元获取的360度视频相关元数据可具有信令表的形式。

解封装处理单元可将以文件形式从接收处理单元接收的360度视频数据解封装。解封装处理单元可基于isobmff等将文件解封装以获取360度视频数据和360度视频相关元数据。所获取的360度视频数据可被传送至数据解码器,所获取的360度视频相关元数据可被传送至元数据解析器。由解封装处理单元获取的360度视频相关元数据可具有文件格式中的盒或轨道的形式。根据需要,解封装处理单元可从元数据解析器接收解封装所需的元数据。

数据解码器可将360度视频数据解码。数据解码器可从元数据解析器接收解码所需的元数据。在数据解码处理获取的360度视频相关元数据可被传送至元数据解析器。

元数据解析器可解析/解码360度视频相关元数据。元数据解析器可将所获取的元数据传送至解封装处理单元、数据解码器、重新投影处理单元和/或渲染器。

重新投影处理单元可重新投影解码的360度视频数据。重新投影处理单元可在3d空间中重新投影360度视频数据。3d空间可根据所使用的3d模型而具有不同的形式。重新投影处理单元可从元数据解析器接收用于重新投影的元数据。例如,重新投影处理单元可从元数据解析器接收关于所使用的3d模型的类型及其细节的信息。在一些实施方式中,重新投影处理单元可使用用于重新投影的元数据在3d空间中仅重新投影与3d空间中的特定区域对应的那部分360度视频数据。

渲染器可渲染重新投影的360度视频数据。如先前所描述的,360度视频数据可被表示成在3d空间中渲染。在同时执行两个处理的情况下,重新投影处理单元和渲染器可被合并,使得渲染器可执行这些处理。在一些实施方式中,渲染器可根据用户的视口信息仅渲染用户正在观看的部分。

用户可通过vr显示器观看渲染的360度视频的一部分。作为再现360度视频的装置,vr显示器可被包括在360度视频接收设备中(系留),或者可连接到360度视频接收设备(非系留)。

在根据本发明的360度视频接收设备的实施方式中,360度视频接收设备还可包括(接收方)反馈处理单元和/或网络接口(未示出)作为内部/外部元件。接收方反馈处理单元可从渲染器、重新投影处理单元、数据解码器、解封装处理单元和/或vr显示器获取并处理反馈信息。反馈信息可包括视口信息、头部取向信息和注视信息。网络接口可从接收方反馈处理单元接收反馈信息,并且可将其发送至360度视频发送设备。

如先前所描述的,反馈信息不仅可被传送至发送方,而且可在接收方使用。接收方反馈处理单元可将所获取的反馈信息传送至360度视频接收设备的内部元件以被反映在渲染处理中。接收方反馈处理单元可将反馈信息传送至渲染器、重新投影处理单元、数据解码器和/或解封装处理单元。例如,渲染器可首先使用反馈信息来渲染用户正在观看的区域。另外,解封装处理单元和数据解码器可首先将用户正在观看的区域或用户将观看的区域解封装和解码。

上述根据本发明的360度视频接收设备的内部/外部元件可以是实现为硬件的硬件元件。在一些实施方式中,内部/外部元件可被改变、省略、替换或合并。在一些实施方式中,附加元件可被添加到360度视频接收设备。

根据本发明的另一方面,本发明可涉及一种360度视频发送方法和360度视频接收方法。根据本发明的360度视频发送/接收方法可由上述根据本发明的360度视频发送/接收设备或该设备的实施方式执行。

根据本发明的360度视频发送/接收设备和发送/接收方法的实施方式及其内部/外部元件的实施方式可被组合。例如,投影处理单元的实施方式和数据编码器的实施方式可被组合以便提供360度视频发送设备的多个可能的实施方式。这些组合的实施方式也落在本发明的范围内。

图4是示出根据本发明的另一实施方式的360度视频发送设备/360度视频接收设备的示图。

如先前所描述的,可通过图4的(a)所示的架构来提供360度内容。360度内容可按照文件的形式提供,或者可按照基于分段的下载或流服务(例如,dash)的形式提供。这里,360度内容可被称为vr内容。

如先前所描述的,可获取360度视频数据和/或360度音频数据(获取)。

360度音频数据可经历音频预加工处理和音频编码处理。在这些处理中,可生成音频相关元数据。编码的音频和音频相关元数据可经历用于发送的处理(文件/分段封装)。

360度视频数据可经历先前所描述的相同处理。360度视频发送设备的拼接器可对360度视频数据执行拼接(视觉拼接)。在一些实施方式中,该处理可被省略,并且可在接收方执行。360度视频发送设备的投影处理单元可将360度视频数据投影在2d图像上(投影和映射(打包))。

图4的(b)中详细示出拼接和投影处理。如图4的(b)所示,当接收到360度视频数据(输入图像)时,可执行拼接和投影。具体地讲,在投影处理中,拼接的360度视频数据可在3d空间中投影,并且投影的360度视频数据可被布置在2d图像上。在本说明书中,该处理可被表示成将360度视频数据投影在2d图像上。这里,3d空间可以是球体或立方体。3d空间可与接收方用于重新投影的3d空间相同。

2d图像可被称为投影的帧c。可在2d图像上选择性地执行区域式打包。当执行区域式打包时,可指示各个区域的位置、形状和大小,使得2d图像上的区域可被映射在打包的帧d上。当不执行区域式打包时,投影的帧可与打包的帧相同。区域将在下面描述。投影处理和区域式打包处理可被表示成将360度视频数据的区域投影在2d图像上。根据设计,360度视频数据可被直接转换为打包的帧,而不经历中间处理。

如图4的(a)所示,可对投影的360度视频数据进行图像编码或视频编码。由于即使相同的内容也可能具有不同的视口,所以相同的内容可被编码在不同的比特流中。编码的360度视频数据可由封装处理单元按照isobmff的文件格式处理。另选地,封装处理单元可将编码的360度视频数据处理成分段。分段可被包括在各个轨道中以用于基于dash发送。

当处理360度视频数据时,如先前所描述的,可生成360度视频相关元数据。元数据可被包括在视频流或文件格式中来传送。元数据也可用在编码处理、文件格式封装或用于发送的处理中。

360度音频/视频数据可根据传输协议经历用于发送的处理,然后可被发送。360度视频接收设备可通过广播网络或宽带连接来接收360度音频/视频数据。

在图4的(a)中,vr服务平台可对应于360度视频接收设备的一个实施方式。在图4的(a)中,扬声器/耳机、显示器和头部/眼睛跟踪组件被示出为由360度视频接收设备的外部装置或vr应用执行。在一些实施方式中,360度视频接收设备可包括这些组件。在一些实施方式中,头部/眼睛跟踪组件可对应于接收方反馈处理单元。

360度视频接收设备可对360度音频/视频数据执行用于接收的文件/分段解封装。360度音频数据可经历音频解码和音频渲染,然后可通过扬声器/耳机组件提供给用户。

360度视频数据可经历图像解码或视频解码和视觉渲染,然后可通过显示组件提供给用户。这里,显示组件可以是支持vr的显示器或一般显示器。

如先前所描述的,具体地讲,渲染处理可被表示成在3d空间中重新投影360度视频数据并渲染重新投影的360度视频数据。这也可被表示成在3d空间中渲染360度视频数据。

头部/眼睛跟踪组件可获取并处理先前已描述的用户的头部取向信息、注视信息和视口信息。

与接收方处理通信的vr应用可被设置在接收方。

图5是示出用于描述与本发明有关的3d空间的主飞行器轴的概念的示图。

在本发明中,可使用主飞行器轴的概念以便表示3d空间中的特定点、位置、方向、距离、区域等。

即,在本发明中,可描述投影之前或重新投影之后的3d空间,并且可使用主飞行器轴的概念以便对其执行信令。在一些实施方式中,可使用利用x、y和z轴概念或球坐标系的方法。

飞行器可在三个维度自由地旋转。构成这三个维度的轴被称为俯仰轴、偏航轴和横滚轴。在本说明书中,这些术语也可被表示成俯仰、偏航和横滚或者俯仰方向、偏航方向和横滚方向。

俯仰轴可以是飞行器的前部绕其向上/向下旋转的轴。在所示的主飞行器轴的概念中,俯仰轴可以是从飞行器的一个机翼延伸到另一个机翼的轴。

偏航轴可以是飞行器的前部绕其向左/向右旋转的轴。在所示的主飞行器轴的概念中,偏航轴可以是从飞行器的顶部延伸至底部的轴。

在所示的主飞行器轴的概念中,横滚轴可以是从飞行器的前部延伸至机尾的轴。横滚方向上的旋转可以是绕横滚轴执行的旋转。

如先前所描述的,本发明中的3d空间可使用俯仰、偏航和横滚概念来描述。

图6是示出根据本发明的实施方式的投影方案的示图。

如先前所描述的,根据本发明的360度视频发送设备的投影处理单元可将拼接的360度视频数据投影在2d图像上。在该处理中,可使用各种投影方案。

在根据本发明的360度视频发送设备的另一实施方式中,投影处理单元可使用立方体投影方案来执行投影。例如,拼接的360度视频数据可出现在球面上。投影处理单元可按照立方体的形式将360度视频数据投影在2d图像上。球面上的360度视频数据可对应于立方体的各个表面。结果,如图6的(a)的左侧或右侧所示,360度视频数据可被投影在2d图像上。

在根据本发明的360度视频发送设备的另一实施方式中,投影处理单元可使用圆柱体投影方案来执行投影。以相同的方式,假设拼接的360度视频数据出现在球面上,投影处理单元可按照圆柱体的形式将360度视频数据投影在2d图像上。球面上的360度视频数据可对应于圆柱体的侧面、顶部和底部。结果,如图6的(b)的左侧或右侧所示,360度视频数据可被投影在2d图像上。

在根据本发明的360度视频发送设备的另一实施方式中,投影处理单元可使用锥体投影方案来执行投影。以相同的方式,假设拼接的360度视频数据出现在球面上,投影处理单元可按照锥体的形式将360度视频数据投影在2d图像上。球面上的360度视频数据可对应于锥体的前侧、左上侧、左下侧、右上侧和右下侧。结果,如图6的(c)的左侧或右侧所示,360度视频数据可被投影在2d图像上。

在一些实施方式中,除了上述方案之外,投影处理单元可使用等距矩形投影方案或全景投影方案来执行投影。

如先前所描述的,区域可以是投影有360度视频数据的2d图像的分割部分。区域未必与根据投影方案投影在2d图像上的各个表面一致。然而,在一些实施方式中,区域可被划分以与2d图像上的投影表面对应,使得可执行区域式打包。在一些实施方式中,多个表面可对应于单个区域,单个表面对应于多个区域。在这种情况下,区域可根据投影方案而改变。例如,在图6的(a)中,立方体的各个表面(顶侧、底侧、前侧、左侧、右侧和后侧)可以是各个区域。在图6的(b)中,圆柱体的侧面、顶部和底部可以是各个区域。在图6的(c)中,锥体的前侧和四向侧表面(左上、左下、右上和右下)可以是各个区域。

图7是示出根据本发明的实施方式的拼块的示图。

投影在2d图像上的360度视频数据或经历了区域式打包的360度视频数据可被划分成一个或更多个拼块。图7的(a)示出分割成16个拼块的2d图像。这里,2d图像可以是投影的帧或打包的帧。在根据本发明的360度视频发送设备的另一实施方式中,数据编码器可独立地对拼块进行编码。

区域式打包和平铺可彼此不同。区域式打包可以是处理投影在2d图像上的360度视频数据的各个区域以便改进编码效率或调节分辨率。平铺可以是数据编码器将投影的帧或打包的帧分割成拼块并独立地对拼块进行编码。当提供360度视频数据时,用户不同时欣赏360度视频数据的所有部分。平铺可使得用户能够在有限的带宽内仅欣赏或向接收方发送与重要部分或预定部分(例如,用户正在观看的视口)对应的拼块。可通过平铺更有效地利用有限的带宽,并且由于接收方不一次处理整个360度视频数据,所以计算负荷可降低。

由于区域和拼块彼此不同,所以两个区域未必相同。然而,在一些实施方式中,区域和拼块可指示相同的区域。在一些实施方式中,可基于拼块来执行区域式打包,由此区域和拼块可变得相同。另外,在一些实施方式中,在根据投影方案的表面和区域相同的情况下,根据投影方案的表面、区域和拼块可指示相同的区域。根据上下文,区域可被称为vr区域,拼块可被称为拼块区域。

感兴趣区域(roi)可以是360度内容提供商所建议的用户感兴趣的区域。360度内容提供商可考虑用户感兴趣的360度视频的区域来制作360度视频。在一些实施方式中,roi可对应于显示360度视频的重要部分的360度视频的区域。

在根据本发明的360度视频发送/接收设备的另一实施方式中,接收方反馈处理单元可提取并收集视口信息,并且可将其传送至发送方反馈处理单元。在此处理中,视口信息可使用双方的网络接口来传送。图7的(a)示出显示在2d图像上的视口t6010。这里,视口可被定位于2d图像上的9个拼块上。

在这种情况下,360度视频发送设备还可包括平铺系统。在一些实施方式中,平铺系统可被设置在数据编码器之后(参见图7的(b)),可被包括在数据编码器或发送处理单元中,或者可作为单独的内部/外部元件包括在360度视频发送设备中。

平铺系统可从发送方反馈处理单元接收视口信息。平铺系统可仅选择并发送包括视口区域的拼块。在图7的(a)中,可发送2d图像的总共16个拼块当中包括视口区域t6010的9个拼块。这里,平铺系统可经由宽带连接以单播方式发送拼块。原因在于各个人的视口区域可改变。

另外,在这种情况下,发送方反馈处理单元可将视口信息传送至数据编码器。数据编码器可对包括视口区域的拼块以比其它拼块更高的质量进行编码。

另外,在这种情况下,发送方反馈处理单元可将视口信息传送至元数据处理单元。元数据处理单元可将与视口区域有关的元数据传送至360度视频发送设备的内部元件,或者可将其包括在360度视频相关元数据中。

利用该平铺系统,可节省传输带宽并且对各个拼块不同地执行处理,由此可进行高效的数据处理/传输。

与视口区域有关的实施方式可相似地适用于视口区域以外的特定区域。例如,对视口区域执行的处理可同样对通过注视分析确定用户感兴趣的区域、roi以及当用户通过vr显示器观看360度视频时首先再现的区域(初始视口)执行。

在根据本发明的360度视频发送设备的另一实施方式中,发送处理单元可针对各个拼块不同地执行发送处理。发送处理单元可对拼块应用不同的传输参数(调制阶数、码率等),使得为各个区域传送的数据的鲁棒性改变。

此时,发送方反馈处理单元可将从360度视频接收设备接收的反馈信息传送至发送处理单元,发送处理单元可针对各个拼块不同地执行发送处理。例如,发送方反馈处理单元可将从接收方接收的视口信息传送至发送处理单元。发送处理单元可对包括视口区域的拼块执行发送处理以具有比其它拼块更高的鲁棒性。

图8是示出根据本发明的实施方式的360度视频相关元数据的示图。

360度视频相关元数据可包括用于360度视频的各种元数据。根据上下文,360度视频相关元数据可被称为360度视频相关信令信息。360度视频相关元数据可被包括在单独的信令表中来发送,或者可被包括在dashmpd中来发送,或者可按照盒的形式被包括在isobmff的文件格式中来发送。在360度视频相关元数据以盒的形式被包括的情况下,元数据可被包括在诸如文件、片段、轨道、样本条目和样本的各种级别中,并且可包括与对应级别的数据有关的元数据。

在一些实施方式中,将随后描述的元数据的一部分可按照信令表的形式配置来发送,元数据的剩余部分可按照盒或轨道的形式被包括在文件格式中。

在根据本发明的360度视频相关元数据的实施方式中,360度视频相关元数据可包括关于投影方案的基本元数据、体视相关元数据、初始视图/初始视口相关元数据、roi相关元数据、视场(fov)相关元数据和/或裁剪区域相关元数据。在一些实施方式中,360度视频相关元数据还可包括上述元数据以外的元数据。

根据本发明的实施方式的360度视频相关元数据可包括基本元数据、体视相关元数据、初始视图相关元数据、roi相关元数据、fov相关元数据、裁剪区域相关元数据和/或附加可能元数据中的至少一个。根据本发明的实施方式的360度视频相关元数据可根据其中包括的元数据的可能数量来不同地配置。在一些实施方式中,360度视频相关元数据还可包括附加信息。

基本元数据可包括3d模型相关信息和投影方案相关信息。基本元数据可包括vr_geometry字段和projection_scheme字段。在一些实施方式中,基本元数据可包括附加信息。

vr_geometry字段可指示360度视频数据所支持的3d模型的类型。如先前所描述的,在360度视频数据被重新投影在3d空间中的情况下,3d空间可具有基于vr_geometry字段所指示的3d模型的形式。在一些实施方式中,用于渲染的3d模型可不同于vr_geometry字段所指示的用于重新投影的3d模型。在这种情况下,基本元数据还可包括指示用于渲染的3d模型的字段。在该字段具有值0、1、2或3的情况下,3d空间可遵循球体、立方体、圆柱体或锥体的3d模型。在该字段具有另外的值的情况下,所述值可为未来使用预留。在一些实施方式中,360度视频相关元数据还可包括关于该字段所指示的3d模型的详细信息。这里,关于3d模型的详细信息可以是球体的半径信息或者圆柱体的高度信息。该字段可被省略。

projection_scheme字段可指示在将360度视频数据投影在2d图像上时所使用的投影方案。在该字段具有值0、1、2、3、4或5的情况下,这可指示使用了等距矩形投影方案、立方体投影方案、圆柱体投影方案、基于拼块的投影方案、锥体投影方案或全景投影方案。在该字段具有值6的情况下,这可指示360度视频数据在没有拼接的情况下被投影在2d图像上。在该字段具有另外的值的情况下,所述值可为未来使用预留。在一些实施方式中,360度视频相关元数据还可包括关于通过该字段所指定的投影方案生成的区域的详细信息。这里,关于区域的详细信息可以是区域的旋转或者圆柱体的顶部区域的半径信息。

体视相关元数据可包括关于360度视频数据的3d相关属性的信息。体视相关元数据可包括is_stereoscopic字段和/或stereo_mode字段。在一些实施方式中,体视相关元数据还可包括附加信息。

is_stereoscopic字段可指示360度视频数据是否支持3d。当该字段为1时,这可意指支持3d。当该字段为0时,这可意指不支持3d。该字段可被省略。

stereo_mode字段可指示360度视频所支持的3d布局。可仅使用该字段来指示360度视频是否支持3d。在这种情况下,is_stereoscopic字段可被省略。当该字段具有值0时,360度视频可具有单一模式。即,投影360度视频的2d图像可仅包括一个单一视图。在这种情况下,360度视频可不支持3d。

当该字段具有值1或2时,360度视频可遵循左右布局或上下布局。左右布局和上下布局可分别被称为并排格式和上下格式。在左右布局中,投影左图像/右图像的2d图像可被定位在图像帧上的左侧/右侧。在上下布局中,投影左图像/右图像的2d图像可被定位在图像帧的顶侧/底侧。在该字段具有另外的值的情况下,所述值可为未来使用预留。

初始视图相关元数据可包括关于360度视频被首先再现时用户观看360度视频的时间(初始视口)的信息。初始视图相关元数据可包括initial_view_yaw_degree字段、initial_view_pitch_degree字段和/或initial_view_roll_degree字段。在一些实施方式中,初始视图相关元数据还可包括附加信息。

initial_view_yaw_degree字段、initial_view_pitch_degree字段和initial_view_roll_degree字段可指示360度视频被再现时的初始视口。即,可由这三个字段指示再现时首先观看的视口的正中心的点。这些字段可将正中心的点的位置指示为绕偏航轴、俯仰轴和横滚轴的旋转方向(符号)和旋转程度(角度)。此时,可确定根据fov首先再现视频时观看的视口。可确定基于通过fov指示的初始视口的初始视口的水平长度和垂直长度(宽度和高度)。即,360度视频接收设备可使用这三个字段和fov信息向用户提供360度视频的预定区域作为初始视口。

在一些实施方式中,由初始视图相关元数据指示的初始视口可针对各个场景改变。即,360度视频的场景可随时间改变。用户首先观看视频的初始视口或初始视口可针对360度视频的各个场景而改变。在这种情况下,初始视图相关元数据可针对各个场景指示初始视口。为此,初始视图相关元数据还可包括标识应用初始视口的场景的场景标识符。另外,fov可针对各个场景改变。初始视图相关元数据还可包括指示与场景对应的fov的场景式fov信息。

roi相关元数据可包括与roi有关的信息。roi相关元数据可包括2d_roi_range_flag字段和/或3d_roi_range_flag字段。这两个字段中的每一个可指示roi相关元数据是否包括基于2d图像表示roi的字段或者roi相关元数据是否包括基于3d空间表示roi的字段。在一些实施方式中,roi相关元数据还可包括附加信息,例如基于roi的不同编码信息以及基于roi的不同发送处理信息。

在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字段。

min_top_left_x字段、max_top_left_x字段、min_top_left_y字段和max_top_left_y字段可指示roi的左上端的坐标的最小值/最大值。这些字段可分别指示左上端的最小x坐标、最大x坐标、最小y坐标和最大y坐标。

min_width字段、max_width字段、min_height字段和max_height字段可指示roi的水平尺寸(宽度)和垂直尺寸(高度)的最小值/最大值。这些字段可分别指示水平尺寸的最小值、水平尺寸的最大值、垂直尺寸的最小值和垂直尺寸的最大值。

min_x字段、max_x字段、min_y字段和max_y字段可指示roi中的坐标的最小值/最大值。这些字段可分别指示roi中的坐标的最小x坐标、最大x坐标、最小y坐标和最大y坐标。这些字段可被省略。

在roi相关元数据包括基于3d渲染空间中的坐标表示roi的字段的情况下,roi相关元数据可包括min_yaw字段、max_yaw字段、min_pitch字段、max_pitch字段、min_roll字段、max_roll字段、min_field_of_view字段和/或max_field_of_view字段。

min_yaw字段、max_yaw字段、min_pitch字段、max_pitch字段、min_roll字段和max_roll字段可将3d空间中roi所占据的区域指示为偏航、俯仰和横滚的最小值/最大值。这些字段可分别指示绕偏航轴的旋转量的最小值、绕偏航轴的旋转量的最大值、绕俯仰轴的旋转量的最小值、绕俯仰轴的旋转量的最大值、绕横滚轴的旋转量的最小值以及绕横滚轴的旋转量的最大值。

min_field_of_view字段和max_field_of_view字段可指示360度视频数据的fov的最小值/最大值。fov可以是再现视频时一次显示360度视频的视野。min_field_of_view字段和max_field_of_view字段可分别指示fov的最小值和最大值。这些字段可被省略。这些字段可被包括在fov相关元数据(将随后描述)中。

fov相关元数据可包括与fov有关的上述信息。fov相关元数据可包括content_fov_flag字段和/或content_fov字段。在一些实施方式中,fov相关元数据还可包括附加信息,例如与fov的最小值/最大值有关的信息。

content_fov_flag字段可指示是否存在关于制作时预期的360度视频的fov的信息。当该字段的值为1时,可存在content_fov字段。

content_fov字段可指示关于制作时预期的360度视频的fov的信息。在一些实施方式中,可基于360度视频接收设备的垂直或水平fov来确定一次显示给用户的360度视频的部分。另选地,在一些实施方式中,可考虑该字段的fov信息来确定一次显示给用户的360度视频的部分。

裁剪区域相关元数据可包括关于图像帧的包括实际360度视频数据的区域的信息。图像帧可包括投影实际360度视频数据的有效视频区域以及无效视频区域。这里,有效视频区域可被称为裁剪区域或默认显示区域。有效视频区域是实际vr显示器中被视为360度视频的区域。360度视频接收设备或vr显示器可仅处理/显示有效视频区域。例如,在图像帧的宽高比为4:3的情况下,仅除了图像帧的上部的一部分和下部的一部分之外的图像帧的剩余区域可包括360度视频数据。图像帧的剩余区域可以是有效视频区域。

裁剪区域相关元数据可包括is_cropped_region字段、cr_region_left_top_x字段、cr_region_left_top_y字段、cr_region_width字段和/或cr_region_height字段。在一些实施方式中,裁剪区域相关元数据还可包括附加信息。

is_cropped_region字段可以是指示360度视频接收设备或vr显示器是否使用图像帧的整个区域的标志。即,该字段可指示是否整个图像帧为有效视频区域。在仅图像帧的一部分是有效视频区域的情况下,还可包括以下四个字段。

cr_region_left_top_x字段、cr_region_left_top_y字段、cr_region_width字段和cr_region_height字段可指示图像帧中的有效视频区域。这些字段可分别指示有效视频区域的左上x坐标、有效视频区域的左上y坐标、有效视频区域的水平长度(宽度)和有效视频区域的垂直长度(高度)。水平长度和垂直长度可使用像素来表示。

如先前所描述的,360度视频相关信令信息或元数据可被包括在任意定义的信令表中,可按照盒的形式被包括在isobmff的文件格式或通用文件格式中,或者可被包括在dashmpd中来发送。另外,360度媒体数据可被包括在这种dash分段的文件格式中来发送。

以下,将顺序地描述isobmff和dashmpd。

图9是示出根据本发明的实施方式的媒体文件的结构的示图。

图10是示出根据本发明的实施方式的isobmff中的盒的分层结构的示图。

可定义标准化的媒体文件格式以存储和发送诸如音频或视频的媒体数据。在一些实施方式中,媒体文件可具有基于iso基础媒体文件格式(isobmff)的文件格式。

根据本发明的媒体文件可包括至少一个盒。这里,术语“盒”可以是包括媒体数据或者与媒体数据有关的元数据的数据块或对象。盒可具有分层结构,基于该分层结构来对数据排序,使得媒体文件具有适合于存储和/或发送大容量媒体数据的形式。另外,媒体文件可具有使得用户能够容易地访问媒体信息(例如,使得用户能够移到媒体内容中的特定点)的结构。

根据本发明的媒体文件可包括ftyp盒、moov盒和/或mdat盒。

ftyp盒(文件类型盒)可提供媒体文件的文件类型或者与其兼容性有关的信息。ftyp盒可包括关于媒体文件的媒体数据的配置版本信息。解码器可参照ftyp盒来对媒体文件进行排序。

moov盒(电影盒)可以是包括关于媒体文件的媒体数据的元数据的盒。moov盒可用作所有元数据的容器。moov盒可以是元数据相关盒中级别最高的一个。在一些实施方式中,媒体文件中可仅存在一个moov盒。

mdat盒(媒体数据盒)可以是包含媒体文件的实际媒体数据的盒。媒体数据可包括音频样本和/或视频样本。mdat盒可用作包含这些媒体样本的容器。

在一些实施方式中,moov盒还可包括mvhd盒、trak盒和/或mvex盒作为下级盒。

mvhd盒(电影头盒)可包括与媒体文件中所包括的媒体数据的媒体呈现有关的信息。即,mvhd盒可包括诸如媒体呈现的媒体制作时间、改变时间、时间标准和周期的信息。

trak盒(轨道盒)可提供与媒体数据的轨道有关的信息。trak盒可包括诸如关于音频轨道或视频轨道的流相关信息、呈现相关信息和访问相关信息的信息。根据轨道的数量,可存在多个trak盒。

在一些实施方式中,trak盒还可包括tkhd盒(轨道头盒)作为下级盒。tkhd盒可包括关于trak盒所指示的轨道的信息。tkhd盒可包括诸如轨道的制作时间、改变时间和标识符的信息。

mvex盒(电影扩展盒)可指示媒体文件中可包括moof盒(将随后描述)。可扫描moof盒以便知道特定轨道的所有媒体样本。

在一些实施方式中,根据本发明的媒体文件可被分割成多个片段(t18010)。结果,媒体文件可在分割的状态下存储或发送。媒体文件的媒体数据(mdat盒)可被分割成多个片段,各个片段可包括一个moof盒和mdat盒的一个分割部分。在一些实施方式中,可能需要ftyp盒和/或moov盒的信息以便使用这些片段。

moof盒(电影片段盒)可提供关于片段的媒体数据的元数据。moof盒可以是片段的元数据相关盒中级别最高的一个。

如先前所描述的,mdat盒(媒体数据盒)可包括实际媒体数据。mdat盒可包括与片段对应的媒体数据的媒体样本。

在一些实施方式中,moof盒还可包括mfhd盒和/或traf盒作为下级盒。

mfhd盒(电影片段头盒)可包括与分割的片段之间的相关性有关的信息。mfhd盒可指示片段的媒体数据的序列号。另外,可使用mfhd盒来检查是否存在分割的数据的省略部分。

traf盒(轨道片段盒)可包括关于轨道片段的信息。traf盒可提供与片段中所包括的分割的轨道片段有关的元数据。traf盒可提供元数据以便解码/再现轨道片段中的媒体样本。根据轨道片段的数量,可存在多个traf盒。

在一些实施方式中,traf盒还可包括tfhd盒和/或trun盒作为下级盒。

tfhd盒(轨道片段头盒)可包括轨道片段的头信息。tfhd盒可提供诸如traf盒所指示的轨道片段的媒体样本的基本样本大小、周期、偏移和标识符的信息。

trun盒(轨道片段运行盒)可包括与轨道片段有关的信息。trun盒可包括诸如各个媒体样本的周期、大小和再现开始时间的信息。

媒体文件或媒体文件的片段可作为分段被处理和发送。分段可包括初始化分段和/或媒体分段。

所示实施方式的文件(t18020)可以是除了媒体文件之外,包括与媒体解码器的初始化有关的信息的文件。例如,该文件可对应于初始化分段。初始化分段可包括ftyp盒和/或moov盒。

所示实施方式的文件(t18030)可以是包括片段的文件。例如,该文件可对应于媒体分段。媒体分段可包括moof盒和/或mdat盒。另外,媒体分段还可包括styp盒和/或sidx盒。

styp盒(分段类型盒)可提供用于标识分割的片段的媒体数据的信息。styp盒可针对分割的片段执行与ftyp盒相同的功能。在一些实施方式中,styp盒可具有与ftyp盒相同的格式。

sidx盒(分段索引盒)可提供指示分割的片段的索引的信息,通过该索引,可指示分割的片段的序列号。

在一些实施方式(t18040)中,还可包括ssix盒。在分段被分割成子分段的情况下,ssix盒(子分段索引盒)可提供指示子分段的索引的信息。

媒体文件中的盒还可包括基于实施方式(t18050)所示的盒或fullbox的形式的扩展信息。在此实施方式中,size字段和largesize字段可按照字节为单位指示盒的长度。version字段可指示盒格式的版本。type字段可指示盒的类型或标识符。flags字段可指示与盒有关的标志。

图11是示出根据本发明的实施方式的基于dash的自适应流模型的总体操作的示图。

根据所示实施方式(t50010)的基于dash的自适应流模型描述了http服务器与dash客户端之间的操作。这里,经由http的动态自适应流传输(http)(支持基于http的自适应流传输的协议)可根据网络条件动态地支持流传输。结果,可不间断地再现av内容。

首先,dash客户端可获取mpd。可从诸如http服务器的服务提供商传送mpd。dash客户端可使用关于对分段的访问的信息向服务器请求mpd中所描述的分段。这里,该请求可考虑网络条件来执行。

在获取分段之后,dash客户端可使用媒体引擎处理分段,并且可将分段显示在画面上。dash客户端可实时考虑再现时间和/或网络条件来请求并获取必要分段(自适应流传输)。结果,可不间断地再现内容。

媒体呈现描述(mpd)是包括使得dash客户端能够动态地获取分段的详细信息的文件,并且可按照xml的形式表示。

dash客户端控制器可考虑网络条件来生成用于请求mpd和/或分段的命令。另外,该控制器可执行控制,使得所获取的信息可用在诸如媒体引擎的内部块中。

mpd解析器可实时地解析所获取的mpd。结果,dash客户端控制器可生成用于获取必要分段的命令。

分段解析器可实时地解析所获取的分段。诸如媒体引擎的内部块可根据分段中所包括的信息来执行特定操作。

http客户端可向http服务器请求必要mpd和/或必要分段。另外,http客户端可将从服务器获取的mpd和/或分段传送至mpd解析器或分段解析器。

媒体引擎可使用分段中所包括的媒体数据来显示内容。此时,可使用mpd的信息。

dash数据模型可具有分层结构(t50020)。媒体呈现可由mpd描述。mpd可描述进行媒体呈现的多个周期的时间序列。一个周期可指示媒体内容的一个区段。

在一个周期中,数据可被包括在适配集合中。适配集合可以是可彼此交换的媒体内容组件的集合。自适应可包括表示的集合。一个表示可对应于媒体内容组件。在一个表示中,内容可被暂时地分割成多个分段。这可能是为了适当的访问和传送。可提供各个分段的url以便访问各个分段。

mpd可提供与媒体呈现有关的信息。period元素、adaptationset元素和representation元素可分别描述对应周期、适配集合和表示。一个表示可被分割成子表示。sub-representation元素可描述对应子表示。

这里,可定义公共属性/元素。这些可被应用于适配集合、表示和子表示(包括在其中)。essentialproperty和/或supplementalproperty可被包括在公共属性/元素中。

essentialproperty可以是包括被认为对处理与媒体呈现有关的数据必不可少的元素的信息。supplementalproperty可以是包括可用于处理与媒体呈现有关的数据的元素的信息。在一些实施方式中,在通过mpd传送信令信息(将随后描述)的情况下,信令信息可被包括在essentialproperty和/或supplementalproperty中来传送。

基于dash的描述符可包括@schemeiduri字段、@value字段和/或@id字段。@schemeiduri字段可提供用于标识描述符的方案的uri。@value字段可具有值,其含义由@schemeiduri字段所指示的方案定义。即,@value字段可基于方案(可被称为参数)具有描述符元素的值。这些可使用“,”来分隔。@id字段可指示描述符的标识符。在该字段具有相同的标识符的情况下,字段可包括相同的方案id、值和参数。

360度视频相关元数据的各个实施方式可按照基于dash的描述符的形式来重写。在根据dash传送360度视频数据的情况下,360度视频相关元数据可按照基于dash的描述符的形式来描述,并且可被包括在mpd等中来传送至接收方。这些描述符可按照essentialproperty描述符和/或supplementalproperty描述符的形式来传送。这些描述符可被包括在mpd的适配集合、表示和子表示中来传送。

图12是示出根据本发明的实施方式的360度视频处理方法的示图。

根据实施方式的360度视频处理方法包括:获取360度视频的步骤(s120010);将所获取的视频拼接并将所拼接的视频映射到2d帧中的步骤(s120020);针对各个个体区域对2d帧进行编码的步骤(s120030);存储各个个体区域的数据并按照传输格式配置所存储的数据的步骤(s120040);选择根据用户视口格式化的数据的步骤(s120050);发送所选择的数据的步骤(s120060);将所发送的数据解码的步骤(s120070);以及投影并渲染解码的数据的步骤(s120080)。

获取360度视频的步骤(s120010)可以是使用一个或更多个相机获取所有方向上(360度)的视频的步骤。在另选实施方式中,获取360度视频的步骤(s120010)可以是使用一个或更多个相机获取涵盖小于360度的视频的步骤。在另一方面,获取360度视频的步骤(s120010)可以是生成与360度视频对应的数据以获取360度视频而非使用实际相机获取360度视频的步骤。

将所获取的视频拼接并将所拼接的视频映射到2d帧中的步骤(s120020)可包括按照三维(3d)几何构型拼接所获取的视频的处理以及使用预定映射方法将拼接的视频映射在2d帧中的处理。在拼接处理中,可通过诸如去除交叠区域的补偿工作按照3d几何构型拼接360度视频。将拼接的视频映射在2d帧中的处理可包括根据投影方案来投影拼接的视频的处理以及将通过投影生成的至少一个二维表面投影在2d帧中的处理。

针对各个区域对2d帧进行编码的步骤(s120030)可包括将通过2d帧映射处理生成的2d帧序列分割成个体区域的处理以及对所分割的个体区域进行编码的处理。这里,个体区域在概念上对应于上述区域。然而,由于拼块可与区域等同使用,所以个体区域可与拼块相同。在实施方式中,将2d帧序列分割成个体区域的处理可以是使用hevc拼块将2d帧序列分割成可独立使用的区域的处理。

存储各个个体区域的数据并按照传输格式配置所存储的数据的步骤(s120040)可以是按照可针对各个个体区域访问并使用数据的存储格式和/或传输格式配置针对各个个体区域编码的数据的步骤。

通过上述步骤生成的数据可被发送到接收方(s120060)。所发送的数据可经历解码步骤(s120070)以及投影并渲染所解码的数据的步骤(s120080)以在接收方(即,接收设备)处消费。此时,接收设备可感测用户视口,可对与用户视口一致的数据进行解码(s120070),并且可投影并渲染所解码的数据(s120080)。可随时间重复地执行解码、投影并渲染与用户视口一致的数据的处理。此外,接收方处的投影可以是根据投影方案恢复映射在2d帧中的数据的处理。即,接收方处的投影可被称为重新投影。

在实施方式中,接收方处的360度数据消费处理可通过接收方与发送方之间的交互操作来执行。即,360度数据消费处理可包括接收设备将关于接收设备所感测的用户视口的信息发送到发送方的处理。发送方可使用接收设备所发送的用户视口信息来选择与用户视口对应的数据(s120050),并且可将所选择的数据发送到接收方(s120060)。所发送的数据可经历解码步骤(s120070)以及投影并渲染所解码的数据的步骤(s120080)以在接收方处消费。

在另一实施方式中,接收方处的360度数据消费处理可通过接收方中的一系列操作来执行。即,360度数据消费处理可包括接收设备使用接收设备所感测的用户视口信息从所接收的数据当中选择与用户视口对应的数据的步骤(s120050)。所选择的数据可经历解码步骤(s120070)以及投影并渲染所解码的数据的步骤(s120080)以在接收方处消费。

接收方处的用户视口信息可以是与用于渲染的3d模型有关的参数信息。

以下,将描述根据本发明的实施方式的数据格式配置方法。

下述数据格式配置方法可以是上述360度视频处理方法中所包括的步骤当中的存储各个个体区域的数据并按照传输格式配置所存储的数据的步骤(s120040)的具体实施方式。

360度视频可在被映射在2d视频帧中的同时存储和发送。此时,可基于拼块实现基于用户视口的视频处理。

构成一个帧序列的所有拼块可被存储在文件的一个轨道中,或者可针对各个拼块存储在一个轨道中。另选地,包括一个或更多个拼块的拼块区域或拼块集合可被存储在轨道中。这里,拼块区域可以是包括一个或更多个拼块的四边形区域,拼块集合可以是构成非四边形区域的一个或更多个拼块的集合。拼块区域或拼块集合可被称为多个区域以与个体区域相区分。

在实施方式中,360度视频可使用hevc按照2d视频帧的形式格式化。此时,可通过hevc拼块实现基于用户视口的视频处理。hevc拼块是在hevc标准中定义的拼块,并且是hevc帧中可被独立处理的部分四边形区域。构成一个帧序列的所有hevc拼块可被存储在文件的一个轨道中,或者可针对各个hevc拼块存储在一个轨道中。另选地,包括一个或更多个hevc拼块的hevc拼块区域或hevc拼块集合可被存储在轨道中。

在各个区域被存储在一个轨道中的情况下或者在包括一个或更多个拼块的拼块区域或拼块集合被存储在轨道中的情况下,文件中可存在用于全画面序列的多个轨道。可选择性地再现或流传输一个轨道。在360度视频以轨道的形式存储的情况下,可仅选择性地再现或流传输包括用户视口区域的轨道。因此,用于再现其它未选轨道的资源可节省。

在本发明的实施方式中,isobmff的轨道头盒(“tkhd”)的alternate_group字段可用于各个个体区域的选择性再现/流传输。

图13是示出根据本发明的实施方式的轨道头盒的示图。

参照该图,示出了isobmff的轨道头盒(tkhd)的句法。在该图中,示出version、flags、creation_time、modification_time、track_id、layer、alternate_group、volume、matrix、width和height作为具体语义。

version以整数的形式描述盒的版本信息。

flags可以是由随后的值定义的24比特整数。

creation_time是声明轨道的创建时间(从1904年1月1日午夜起(utc时间),单位为秒)的整数。

modification_time是声明轨道被修改的最晚时间(从1904年1月1日午夜起(utc时间),单位为秒)的整数。

track_id是在呈现的总寿命期间固有地标识轨道的整数。track_id不能重用,也不能为0。

duration是指示轨道的运行时间的整数(电影头盒中所指示的时间标度)。该字段的值与所有轨道编辑持续时间的总量相同。在不存在编辑列表的情况下,duration与总样本持续时间相同,并且被转换成电影头盒中所指示的时间标度。在该轨道的持续时间未确定的情况下,duration被设定为1(32比特maxint)。

layer描述视频轨道的序列。数字越低的轨道越靠近观看者。0是正常值,-1位于轨道0之前。

alternate_group是描述一组轨道或轨道集合的整数。在该字段的值为0的情况下,不存在关于与其它轨道的关系的信息。在该字段的值不为0的情况下,轨道具有与包括替换数据的其它轨道相同的值,并且具有与属于另一组的轨道不同的值。在任意时间仅需要再现或流传输替换组中的一个轨道,并且其可在诸如比特传输速率、编解码器、语言和分组大小的各种属性方面与该组的其它轨道相区分。组可仅包括一个成员。

作为固定为8.8的值,volume描述轨道的相对音频音量。全音量为1.0(正常音量)。该值与视觉轨道无关。轨道可根据volume来组合,并且可使用所有电影头盒音量设置来配置。另选地,可使用更复杂的音频组成(例如,mpeg-4bifs)。

matrix提供用于视频的变换矩阵。这里,(u,v,w)被限制为(0,0,1),hex(0,0,0x40000000)。

width和height将轨道的视觉呈现大小描述为固定小数点16.16。这可能未必等于样本描述中记录的图像的像素大小。在对矩阵所表示的轨道进行总体转换之前,可将序列的所有图像缩放至该大小。图像的像素大小是默认值。

在本发明的实施方式中,alternate_group字段可用于各个个体区域的选择性再现/流传输。即,在一个视频帧被分割成个体区域并且个体区域被存储在各个轨道中的情况下,与各个轨道对应的tkhd的alternate_group可被配置为具有相同的非零值。换言之,与可执行个体区域的选择性再现或流传输的轨道对应的tkhd的alternate_group可被配置为具有相同的非零值。结果,可指示可执行个体区域的选择性再现或流传输的轨道可被分组并且可选择性地使用分组的轨道。具有不为0的值的alternate_group可被称为用于选择性再现(或流传输)的分组信息。

图14是示出根据本发明的实施方式的轨道选择盒的示图。

图中所示的轨道选择盒(tsel)可指示在通过tkh的alternate_group分组的轨道之间可相互切换的组(即,切换组)。

参照该图,在图的上端和下端分别示出switch_group和attribute_list。

switch_group可提供在再现/流传输期间可相互切换的轨道的分组信息。即,switch_group可使用与“tkhd”的alternate_group对可选择性再现或流传输的轨道进行分组的方法相似的方法来提供可相互切换的轨道的分组信息。与可相互切换的轨道对应的轨道盒中所包括的“tsel”的切换组可具有不为0的相同switch_group值。“tsel”的切换组具有不为0的相同switch_group值可意指轨道是可相互切换的轨道。轨道在再现/流传输期间可相互切换必须基于选择性地再现或流传输轨道的能力。因此,属于相同切换组的轨道可具有轨道必须属于相同替换组的限制。换言之,具有相同switch_group值的轨道可具有轨道必须具有相同alternate_group值的限制。此外,具有不为0的值的切换组可被称为用于在轨道之间切换的分组信息。

attribute_list是指示属于切换组或替换组的轨道之间的关系的描述或区别的字段。属性的名称和描述如所示。根据本发明的实施方式的attribute_list还可包括属性“tile”。属性“tile”的名称为“tiling”。属性“tile”可指示构成部分区域的拼块或全画面的拼块之间的关系。属性“tile”可与attribute_list中所描述的其它属性重复。

此外,tsel盒的attribute_list的“tile”的值可指示上述替换分组基于视频帧的区域分割。

先前描述了使用替换组对可选择性再现的个体区域进行分组的方法以及使用切换组对可选择性再现的个体区域当中可切换的个体区域进行分组的方法。

上述方法涉及个体区域的选择性再现和切换,选择性再现和切换可被限于单个区域。以下,将描述在没有这种限制的情况下一起选择从相同源生成的多个区域(一个或更多个区域)并在表示期间切换到另外多个区域(一个或更多个其它区域)的方法。

在实施方式中,可定义track_group_type“ttgr”以便定义可同时选择多个区域以用于再现或流传输或者在再现或流传输期间多个区域可切换为另外多个区域的轨道组。

ttgr指示轨道属于拼块轨道组。具有track_group_type“ttgr”的组类型盒中具有相同的track_group_id值的轨道源自相同的完整画面序列(全画面序列),并且各个轨道包括完整画面序列的拼块区域或拼块集合。该组中的子集可在任何时间再现或流传输,并且子集可在再现或流传输期间相互切换。

图15是示出根据本发明的实施方式的轨道组盒的示图。

如所示,轨道组盒(trgr)可指示可使用作为拼块轨道组(ttgr)的track_group_type同时选择多个区域以用于再现(或流传输)以及多个区域可切换为另外多个区域的轨道组。即,在轨道盒包括轨道组盒(trgr),轨道组盒的track_group_type的值为“ttgr”,并且track_group_id具有不为0的值的情况下,这可意指轨道属于拼块轨道组。可选择属于拼块轨道组的一个或更多个轨道以用于再现或流传输,并且可在再现或流传输期间执行从一个轨道到另一轨道或者从多个轨道到另外多个轨道的切换。

此外,可选择属于拼块轨道组(ttgr)的一个或更多个轨道以用于再现/流传输。可通过新的track_group_type用信号通知在再现/流传输期间是否可切换到另一轨道。在实施方式中,新的track_group_type可以是作为拼块轨道切换组(tsgr)的track_group_type。tsgr可指示在再现/流传输包括多个区域(一个或更多个区域)的轨道的同时可切换的一组拼块轨道。这里,可切换的拼块轨道可以是包括多个区域(一个或更多个区域)的轨道。

在个体区域的选择性再现和切换中,如先前所述,属于相同切换组的轨道可具有轨道必须属于相同替换组的限制。以相同的方式,具有相同的不为0的tsgr的track_group_id值的轨道可具有轨道必须具有相同的不为0的ttgr的track_group_id值的限制。

此外,包括在一个画面中的拼块之间的编码依赖性可根据画面预测方法而改变。在根据帧内预测执行编码的情况下,仅参考属于拼块的样本,由此在一个画面中所包括的拼块之间不存在编码依赖性。例如,在使用hevc拼块执行编码的情况下,根据帧内预测仅参考属于拼块的样本,由此在一个画面中所包括的拼块之间不存在编码依赖性。然而,在根据帧间预测执行编码的情况下,可参考属于该拼块以外的拼块的样本,由此拼块之间可存在编码依赖性。

在拼块之间存在编码依赖性的情况下,可通过tileregiongroupentry(trif)或tilesetgroupentry(tsif)的样本组描述用信号通知拼块之间的编码依赖性。

此外,轨道可包括拼块区域或拼块集合以及单元拼块(单个拼块)。如先前所述,可包括拼块区域或拼块集合。因此,包括在轨道中的拼块区域或拼块集合可与包括在另一轨道中的拼块区域或拼块集合具有编码依赖性。如上所述,在拼块区域与另一拼块区域之间、拼块集合与另一拼块集合之间、或者拼块区域与拼块集合之间存在编码依赖性的情况下,轨道之间可存在编码依赖性。因此,有必要提供一种用信号通知轨道之间存在编码依赖性的方法。

以下,将描述使用轨道参考盒用信号通知轨道之间的编码依赖性的方法。

图16是示出根据本发明的实施方式的轨道参考盒的示图。

图中所示的轨道参考盒(tref)可使用拼块依赖性(tdep)作为参考类型。tdep指示包括在轨道中的拼块区域或拼块集合与包括在另一轨道中的拼块区域或拼块集合具有编码依赖性。tdep可根据拼块区域与另一拼块区域之间、拼块集合与另一拼块集合之间或者拼块区域与拼块集合之间的编码依赖性用信号通知轨道之间的参考关系。另外,具有“tdep”reference_type的tref盒可通过tdep的track_ids提供参考的轨道信息。因此,文件读取器可识别出包括具有“tdep”reference_type的tref盒的拼块轨道必须在参考通过“tdep”的track_ids指示的轨道的同时再现视频。

上述方法可被应用于dash。例如,在各个轨道包括representation的同时在mpd中描述具有编码依赖性的轨道的情况下,“tdep”可被给出为representation@associationtype的值。结果,可按照与具有编码依赖性的轨道之间的关系中相同的方式用信号通知具有编码依赖性的representation之间的关系,并且通过@associationid给出要参考的representation的@id,由此可指示参考representation。另外,当dash客户端请求具有“tdep”的associationtype的representation的segment以用于再现时,associationid可指示必须还请求通过associationid指示的representation的segment。在一些实施方式中,代替representation@associationid,可使用representation@dependencyid。

以下,将描述执行个体区域的选择性再现/流传输和切换,执行多个区域的选择性再现/流传输和切换,并用信号通知轨道之间的编码依赖性的方法的具体实施方式。

图17是示出根据本发明的实施方式的全画面序列的示图。

在所示的实施方式中,全画面序列包括四个拼块。另外,全画面序列包括四个拼块区域。即,各个拼块区域包括一个拼块。换言之,拼块区域1包括拼块1,拼块区域2包括拼块2,拼块区域3包括拼块3,拼块区域4包括拼块4。

可参照拼块、拼块区域和拼块集合的先前描述以及根据本发明的另一实施方式的全画面序列的以下例示容易地理解根据此实施方式的全画面序列的配置。

此外,在此实施方式中,拼块区域1和拼块区域2之间具有编码依赖性。编码依赖性关系由箭头指示。

以下,将参照根据本发明的实施方式的全画面序列描述更具体的实施方式。

图18和图19是示出360度视频包括四个拼块轨道和一个非拼块轨道并且不使用提取器的实施方式中的isobmff文件的结构的示图。

图18示出使用tkhd盒和tsel盒的实施方式,图19示出使用ttgr盒和tsgr盒的实施方式。

这里,非拼块轨道h180010或h190010存储与全画面序列对应的hevc的配置信息,使得文件解析器将与hevc流兼容的比特流发送到hevc解码器。轨道将“hvb1”或“heb1”用于样本描述。在“hvb1”的情况下,hevc配置盒(“hvcc”)中可包括诸如vps、sps和pps的参数集信息。在“heb1”的情况下,参数集信息可包括在“hvcc”中,或者可按照nal单元的形式包括在“mdat”盒中。“mdat”盒中可不存在与该轨道对应的vclnal单元。在这种情况下,各个样本的大小可被记录为0。“sabt”可包括在轨道参考盒中以便参考拼块轨道。因此,vclnal单元可被布置在各个样本的序列和“sabt”的参考序列中以便配置全画面序列流。

另外,如所示,拼块轨道h180020或h190020描述与存在于“mdat”盒中的各个拼块区域对应的vclnal单元,作为与拼块区域或样本数据对应的vclnal单元的轨道。“hvt1”可用于样本描述,并且“tbas”可包括在轨道参考盒中以便参考非拼块轨道,由此可通过这种参考配置与各个拼块对应的流。另外,第二拼块轨道h180022或h190022可包括上述“tdep”,由此可基于拼块区域之间的编码依赖性识别出该拼块轨道与第一拼块轨道具有参考关系。包括在“sgpd”中的“trif”描述个体拼块区域信息。

在图18的实施方式中,包括在tkhd盒中的alternate_group的值为1。这指示可选择性地再现或流传输包括具有相同的非零值的alternate_group的轨道。另外,在使用tkhd盒和tsel盒的实施方式中,包括在tsel盒中的switch_group的值为1。这指示包括具有相同的非零值的switch_group的轨道可在再现或流传输期间切换。另外,包括在tsel盒中的attribute_list被设定为tile以便指示轨道是拼块或全画面的一部分。

在图19的实施方式中,包括在ttgr盒中的track_group_id的值为1。这指示可选择性地再现或流传输包括具有相同的非零值的track_group_id的轨道。另外,在使用ttgr盒和tsgr盒的实施方式中,包括在tsgr盒中的track_group_id的值为1。这指示包括具有相同的非零值的track_group_id的轨道可在再现或流传输期间切换。

图20和图21是示出360度视频包括四个拼块轨道和一个非拼块轨道并且使用提取器的实施方式中的isobmff文件的结构的示图。

图20示出使用tkhd盒和tsel盒的实施方式,图21示出使用ttgr盒和tsgr盒的实施方式。

先前实施方式的描述可同样应用于非拼块轨道、拼块轨道、alternate_group、switch_group和“tile”属性列表,将仅描述差异。

非拼块轨道h200010或h210010存储与全画面序列对应的hevc的配置信息,使得文件解析器将与hevc流兼容的比特流发送到hevc解码器。轨道将“hvb2”或“heb2”用于样本描述。在“hvb2”的情况下,诸如vps、sps和pps的参数集信息可包括在hevc配置盒(“hvcc”)中。在“heb2”的情况下,参数集信息可包括在“hvcc”中,或者可按照nal单元的形式包括在“mdat”盒中。由该轨道描述的样本数据或vclnal单元可不存在于“mdat”盒中,或者可存在提取器以参考个体vclnal单元或样本数据。“scal”可包括在轨道参考盒中以便参考拼块轨道。因此,可通过提取器复制样本数据,由此可代替提取器以便配置全画面序列流。

如所示,拼块轨道h200020或h210020描述与存在于“mdat”盒中的各个拼块区域对应的vclnal单元,作为与拼块区域或样本数据对应的vclnal单元的轨道。

另外,第二拼块轨道h200022或h210022可包括上述“tdep”,由此可基于拼块区域之间的编码依赖性识别出该拼块轨道与第一拼块轨道具有参考关系。包括在“sgpd”中的“trif”描述个体拼块区域信息。

在图20的实施方式中,包括在tkhd盒中的alternate_group的值为1。这指示可选择性地再现或流传输包括具有相同的非零值的alternate_group的轨道。另外,在使用tkhd盒和tsel盒的实施方式中,包括在tsel盒中的switch_group的值为1。这指示包括具有相同的非零值的switch_group的轨道可在再现或流传输期间切换。另外,包括在tsel盒中的attribute_list被设定为“tile”,以便指示轨道是拼块或全画面的一部分。

在图21的实施方式中,包括在ttgr盒中的track_group_id的值为1。这指示可选择性地再现或流传输包括具有相同的非零值的track_group_id的轨道。另外,在使用ttgr盒和tsgr盒的实施方式中,包括在tsgr盒中的track_group_id的值为1。这指示包括具有相同的非零值的track_group_id的轨道可在再现或流传输期间切换。

图22和图23是示出360度视频包括一个全画面轨道和四个拼块轨道并且各个拼块轨道使用提取器参考全画面的实施方式中的isobmff文件的结构的示图。

图22示出使用tkhd盒和tsel盒的实施方式,图23示出使用ttgr盒和tsgr盒的实施方式。

先前实施方式的描述可同样应用于非拼块轨道、拼块轨道、alternate_group、switch_group和“tile”属性列表,将仅描述差异。

全画面轨道h220010或h230010按照与hevc流兼容的形式存储hevc的配置信息和全画面的比特流。轨道将“hvc1”或“hvc2”用于样本描述。在“hvc1”的情况下,诸如vps、sps和pps的参数集信息可包括在hevc配置盒(“hvcc”)中。在“hvc2”的情况下,参数集信息可包括在“hvcc”中,或者可按照nal单元的形式包括在“mdat”盒中。包括在“sgpd”中的“trif”描述个体拼块区域信息。

如所示,拼块轨道h220020或h230020描述与存在于“mdat”盒中的各个拼块区域对应的vclnal单元,作为拼块区域的轨道。由该轨道描述的样本数据或vclnal单元可不存在于“mdat”盒中,或者可存在提取器以参考个体vclnal单元或样本数据。“hvt1”可用于样本描述,并且“tbas”可包括在轨道参考盒中以便参考全画面轨道,由此可通过这种参考配置与各个拼块对应的流。另外,“scal”可包括在轨道参考盒中以便通过提取器参考样本数据,由此可指示全画面轨道。

另外,第二拼块轨道h220022或h230022可包括上述“tdep”,由此可基于拼块区域之间的编码依赖性识别出该拼块轨道与第一拼块轨道具有参考关系。

在图22的实施方式中,包括在tkhd盒中的alternate_group的值为1。这指示可选择性地再现或流传输包括具有相同的非零值的alternate_group的轨道。另外,在适用tkhd盒和tsel盒的实施方式中,包括在tsel盒中的switch_group的值为1。这指示包括具有相同的非零值的switch_group的轨道可在再现或流传输期间切换。另外,包括在tsel盒中的attribute_list被设定为“tile”以便指示轨道是拼块或全画面的一部分。

在图23的实施方式中,包括在ttgr盒中的track_group_id的值为1。这指示可选择性地再现或流传输包括具有相同的非零值的track_group_id的轨道。另外,在使用ttgr盒和tsgr盒的实施方式中,包括在tsgr盒中的track_group_id的值为1。这指示包括具有相同的非零值的track_group_id的轨道可在再现或流传输期间切换。

图24是示出根据本发明的另一实施方式的全画面序列的示图。

在所示的实施方式中,全画面序列包括四个拼块。在这四个拼块当中,拼块1、拼块2和拼块3构成拼块集合,拼块4构成拼块区域。

可参照拼块、拼块区域和拼块集合的先前描述以及根据本发明的先前实施方式的全画面序列的例示容易地理解根据此实施方式的全画面序列的配置。

此外,在此实施方式中,拼块区域1和拼块集合1之间具有编码依赖性。编码依赖关系由箭头指示。

另外,在此实施方式中,诸如拼块集合和拼块区域中的两个区域中的每一个包括层。即,根据此实施方式的360度视频包括基本层和增强层。各个层可包括拼块区域轨道和拼块集合轨道。

以下,将参照根据本发明的实施方式的全画面序列描述更具体的实施方式。

图25和图26是示出360度视频包括用于基本层的非拼块轨道、拼块区域轨道和拼块集合轨道以及用于增强层的非拼块轨道、拼块区域轨道和拼块集合轨道并且不使用提取器的实施方式中的isobmff文件的结构的示图。

图25示出使用tkhd盒和tsel盒的实施方式,图26示出使用ttgr盒和tsgr盒的实施方式。

参照图18进行的描述可被应用于基本层的非拼块轨道h250011或h260011的配置及其相关描述。增强层的非拼块轨道h250012或h260012存储与目标操作点的全画面序列对应的lhevc的配置信息。轨道将“lhb1”或“leb1”用于样本描述。在“lhb1”的情况下,诸如vps、sps和pps的参数集信息可包括在lhevc配置盒(“lhvc”)中。在“leb1”的情况下,参数集信息可包括在“lhvc”中,或者可按照nal单元的形式包括在“mdat”盒中。与该轨道对应的vclnal单元可不存在于“mdat”盒中。在这种情况下,各个样本的大小可被记录为0。“sabt”可包括在轨道参考盒中以便参考拼块轨道。因此,vclnal单元可被布置在各个样本的序列和“sabt”的参考序列中,以便配置全画面序列流。另外,“sbas”可包括在轨道参考盒中以便参考基本层的非拼块轨道,由此可指定与当前轨道的基本层对应的轨道。“oref”可指定包括与操作点信息对应的“oinf”的轨道,以便指示所使用的id的名称空间与指定的轨道共享。

如所示,基本层的拼块轨道h250020或h260020描述与存在于“mdat”盒中的各个拼块区域或拼块集合对应的基本层的vclnal单元,作为与拼块区域或拼块集合对应的基本层的vclnal单元或样本数据的轨道。“hvt1”可用于样本描述,“tbas”可包括在轨道参考盒中以便参考基本层的非拼块轨道,由此可通过这种参考配置与各个拼块对应的流。包括在“sgpd”中的“trif”描述个体拼块区域信息,并且“tsif”描述个体拼块集合信息。另外,拼块区域轨道可包括上述“tdep”,由此可基于拼块区域之间的编码依赖性识别出该拼块区域轨道与拼块集合轨道具有参考关系。

如所示,增强层的拼块轨道h250030或h260030描述与存在于“mdat”盒中的各个拼块区域或拼块集合对应的增强层的vclnal单元,作为与拼块区域或拼块集合对应的增强层的vclnal单元或样本数据的轨道。“lht1”可用于样本描述,并且“tbas”可包括在轨道参考盒中以便参考增强层的非拼块轨道,由此可通过这种参考配置与各个拼块对应的流。包括在“sgpd”中的“trif”描述个体拼块区域信息,并且“tsif”描述个体拼块集合信息。另外,拼块区域轨道可包括上述“tdep”,由此可基于拼块区域之间的编码依赖性识别出该拼块区域轨道与拼块集合轨道具有参考关系。

在图25的实施方式中,对于基本层的拼块区域轨道和拼块集合轨道,“tkhd”盒的alternate_group的值为1。这指示这些轨道可选择性地再现。“tsel”盒可存在于按照排序在各个“trak”盒下面的“udta”中。对于基本层的拼块区域轨道和拼块集合轨道,switch_group的值为1。这指示这些轨道可在再现期间切换,并且通过attribute_list的值“tile”指示属于该组的轨道是全画面序列的一些区域或拼块。增强层的拼块区域轨道和拼块集合轨道的alternate_group和switch_group的值分别为“2”和“2”。这指示这些轨道可选择性地再现并且这些轨道可在再现期间切换。attribute_list的“tile”的值的用途与基本层相同。

在图26的实施方式中,两个基本拼块轨道和两个增强拼块轨道的“ttgr”中设定的track_group_id的值分别为1和2的情况指示可选择具有相同值的轨道以作为单个轨道或轨道组合用于再现/流传输。两个基本轨道和两个增强轨道的“ttgr”中设定的track_group_id的值分别为1和2的情况指示在再现/流传输期间具有相同值的轨道可从轨道切换到另一轨道或者从一个轨道组合切换到另一轨道组合。

图27和图28是示出360度视频包括用于基本层的非拼块轨道、拼块区域轨道和拼块集合轨道以及用于增强层的非拼块轨道、拼块区域轨道和拼块集合轨道并且使用提取器的实施方式中的isobmff文件的结构的示图。

图27示出使用tkhd盒和tsel盒的实施方式,图28示出使用ttgr盒和tsgr盒的实施方式。

参照图20进行的描述可被应用于基本层的非拼块轨道h270011或h280011的配置及其相关描述。增强层的非拼块轨道h270012或h280012存储与目标操作点的全画面序列对应的lhevc的配置信息。轨道中的样本描述和参数集存储方法与图25的基本层非拼块轨道相同。由该轨道描述的样本数据或vclnal单元可不存在于“mdat”盒中,并且可存在提取器以参考个体vclnal单元或样本数据。“scal”可包括在轨道参考盒中以便参考拼块轨道。因此,可通过提取器复制样本数据,由此可代替提取器以便配置全画面序列流。轨道参考盒中的“sbas”和“oref”的用途和“tdep”的用途与图25的实施方式相同。

如所示,基本层的拼块轨道h270020或h280020描述与存在于“mdat”盒中的各个拼块区域或拼块集合对应的基本层的vclnal单元,作为与拼块区域或拼块集合对应的基本层的vclnal单元或样本数据的轨道。

如所示,增强层的拼块轨道h270030或h280030描述与存在于“mdat”盒中的各个拼块区域或拼块集合对应的增强层的vclnal单元,作为与拼块区域或拼块集合对应的增强层的vclnal单元或样本数据的轨道。

先前实施方式的描述可同样应用于非拼块轨道、拼块轨道、alternate_group、switch_group和“tile”属性列表,将仅描述差异。

在图27的实施方式中,对于基本层的拼块区域轨道和拼块集合轨道,“tkhd”盒的alternate_group的值为1。这指示这些轨道可选择性地再现。“tsel”盒可存在于按照排序在各个“trak”盒下面的“udta”中。对于基本层的拼块区域轨道和拼块集合轨道,switch_group的值为1。这指示这些轨道可在再现期间切换,并且通过attribute_list的“tile”的值指示属于该组的轨道是全画面序列的一些区域或拼块。增强层的拼块区域轨道和拼块集合轨道的alternate_group和switch_group的值分别为“2”和“2”。这指示这些轨道可选择性地再现并且这些轨道可在再现期间切换。attribute_list的“tile”的值的用途与基本层相同。

在图28的实施方式中,在两个基本拼块轨道和两个增强拼块轨道的“ttgr”中设定的track_group_id的值分别为1和2的情况下,这指示可选择具有相同值的轨道以作为单个轨道或轨道组合用于再现/流传输。在两个基本拼块轨道和两个增强拼块轨道的“ttgr”中设定的track_group_id的值分别为1和2的情况下,这指示在再现/流传输期间具有相同值的轨道可从一个轨道切换到另一轨道或者从一个轨道组合切换到另一轨道组合。

以下,将描述根据本发明的实施方式的基于用户视口的360度视频数据选择、发送和再现方法。

可基于360度视频获取空间或用户视口空间中定义的参数来提供基于用户视口的360度视频数据选择、发送和再现方法。可为根据本发明的实施方式的基于用户视口的360度视频数据选择、发送和再现提供信令信息。这种信令信息可被称为用于基于用户视口的360度视频数据选择、发送和再现的信令信息,并且可包括在360度视频相关信令信息的概念中。可在视频级别或文件级别提供这种信令信息。此外,用于基于用户视口的360度视频数据选择、发送和再现的信令信息可包括关于360度视频被映射的映射类型的信息以及关于360度视频获取空间或用户视口空间与360度视频被映射的映射空间之间的关系的信息。在实施方式中,360度视频被映射的映射空间可以是2d帧。即,三维360度视频获取空间或用户视口空间可被映射在2d帧中。此外,将360度视频获取空间或用户视口空间映射在2d帧中的处理可用于具有与投影处理相同的含义。另外,关于360度视频获取空间或用户视口空间与360度视频被映射的映射空间之间的关系的信息可以是表示360度视频获取空间或用户视口空间的参数与表示360度视频被映射的映射空间的参数之间的映射信息。

在实施方式中,可在球面上定义360度视频获取空间和/或用户视口空间。即,3d模型可以是球形3d模型。这可意指从用户视口空间的方面在球形3d模型上渲染360度视频。

图29是示出360度视频获取空间和/或用户视口空间的示图。

具有任意半径的球体上的任意点可使用theta(θ)和来表示。这里,theta可意指y轴(参考轴)与通过将向量投影在xy平面(参考平面)上而获得的向量之间的角度,phi可意指向量与向量之间的角度。θ可具有0至360度或-180至180度的范围,可具有0至180度或-90至90度的范围。y轴(参考轴)和xy平面(参考平面)可分别被定义为另一任意轴和另一任意平面。这里,theta和phi可分别对应于主飞行器轴的偏航和俯仰。

vcl级别信令

在vcl(视频编码层)中提供用于基于用户视口的数据选择和再现的信令信息可通过vr_rect_region_mapping()和vr_tile_rect_region_mapping()的sei(补充增强信息)消息实现,其将随后描述。

这里,无论诸如h.264/avc或mpeg-2的视频编解码器的类型如何,可使用vr_rect_region_mapping(),并且拼块的概念可用于vr_tile_rect_region_mapping()。在实施方式中,vr_tile_rect_region_mapping()可用于具有与hevc中定义的拼块相同的含义。

图30是示出根据本发明的实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图30的(a)示出vr_rect_region_mapping()的实施方式,图30的(b)示出vr_tile_rect_region_mapping()的实施方式。所示的实施方式是信令信息包括在sei消息中的实施方式。

首先,vr_rect_region_mapping()和vr_tile_rect_region_mapping()通常包括vr_mapping_type信息和num_rect_regions_minus1信息。

vr_mapping_type信息可指示关于360度视频被映射的映射类型的信息。在实施方式中,在vr_mapping_type的值为0的情况下,这可指示等距矩形映射类型。在vr_mapping_type的值为1的情况下,这可指示立方体映射类型。在vr_mapping_type的值为2的情况下,这可指示圆柱体或全景映射类型。在vr_mapping_type的值为3的情况下,这可指示锥体映射类型。

换言之,vr_mapping_type信息可指示当360度视频被映射在2d图像(帧)上时使用的投影方案。在上述实施方式中,在vr_mapping_type的值为0的情况下,这可指示使用等距矩形投影。在vr_mapping_type的值为1的情况下,这可指示使用立方体投影。在vr_mapping_type的值为2的情况下,这可指示使用圆柱体或全景投影。在vr_mapping_type的值为3的情况下,这可指示使用锥体投影。

这里,可基于圆柱体的顶部和底部是否存在来确定圆柱体映射与全景映射之间或者圆柱体投影与全景投影之间的关系。即,在圆柱体的顶部和底部不存在的情况下,圆柱体映射可被当作与全景映射相同。

num_rect_regions_minus1信息可指示关于视频流中所包括的矩形区域的数量的信息。换言之,num_rect_regions_minus1信息可指示关于2d帧中所包括的矩形区域的数量的信息。在实施方式中,num_rect_regions_minus1信息可指示视频流中所包括的矩形区域的数量-1。这里,矩形区域可意指上述区域。

vr_rect_region_mapping()包括rect_region_top_left_x_in_luma_samples[i]、rect_region_top_left_y_in_luma_samples[i]、rect_region_width_in_luma_samples[i]、rect_region_height_in_luma_samples[i]、min_theta_in_degree[i]、max_theta_in_degree[i]、min_phi_in_degree[i]和max_phi_in_degree[i]。

rect_region_top_left_x_in_luma_samples[i]可指示第i矩形区域的左上x坐标(单位为像素)。

rect_region_top_left_y_in_luma_samples[i]可指示第i矩形区域的左上y坐标(单位为像素)。

rect_region_width_in_luma_samples[i]可指示第i矩形区域的宽度(单位为像素)。

rect_region_height_in_luma_samples[i]可指示第i矩形区域的高度(单位为像素)。

即,rect_region_top_left_x_in_luma_samples[i]和rect_region_top_left_y_in_luma_samples[i]可指示第i矩形区域的左上的位置(单位为像素),rect_region_width_in_luma_samples[i]和rect_region_height_in_luma_samples[i]可指示第i矩形区域的尺寸。

因此,rect_region_top_left_x_in_luma_samples[i]、rect_region_top_left_y_in_luma_samples[i]、rect_region_width_in_luma_samples[i]和rect_region_height_in_luma_samples[i]可指示关于包括在2d帧中的第i矩形区域的位置和尺寸的信息。

min_theta_in_degree[i]可指示与包括在2d帧中的第i矩形区域对应的360度视频获取空间区域或用户视口空间区域的theta的最小值。

max_theta_in_degree[i]可指示与包括在2d帧中的第i矩形区域对应的360度视频获取空间或用户视口空间的theta的最大值。

min_phi_in_degree[i]可指示与包括在2d帧中的第i矩形区域对应的360度视频获取空间区域或用户视口空间区域的phi的最小值。

max_phi_in_degree[i]可指示与包括在2d帧中的第i矩形区域对应的360度视频获取空间区域或用户视口空间区域的phi的最大值。

即,min_theta_in_degree[i]、max_theta_in_degree[i]、min_phi_in_degree[i]和max_phi_in_degree[i]可指示关于与包括在2d帧中的第i矩形区域对应的360度视频获取空间区域或用户视口空间区域的占用范围的信息。

此外,vr_tile_rect_region_mapping()包括top_left_tile_index[i]、bottom_right_tile_index[i]、min_theta_in_degree[i]、max_theta_in_degree[i]、min_phi_in_degree[i]和max_phi_in_degree[i]。

包括在vr_tile_rect_regeion_mapping()中的top_left_tile_index[i]和bottom_right_tile_index[i]分别指示与第i矩形区域对应的左上拼块和右下拼块的索引。这里,可从左上开始按照光栅扫描顺序标记索引。即,在此实施方式中,关于包括在2d帧中的第i矩形区域的位置和尺寸的信息可通过拼块的索引来表示。

min_theta_in_degree[i]、max_theta_in_degree[i]、min_phi_in_degree[i]和max_phi_in_degree[i]可指示关于与包括在2d帧中的第i矩形区域对应的360度视频获取空间区域或用户视口空间区域的占用范围的信息。针对vr_rect_region_mapping()给出的详细描述可同样适用。

此外,可通过sps(序列参数集)和时间运动约束拼块集合sei消息来传送拼块的详细区域信息和编码属性信息以在与sei消息中传送的信息关联的同时使用。

图中所示的vr_rect_region_mapping()和vr_tile_rect_region_mapping()可以是用于vr_mapping_type为0或3的情况(即,映射类型为等距矩形或锥体类型的情况)的信息。

与此不同,在vr_mapping_type为1或2的情况下,即,在映射类型为立方体或圆柱体(或全景)类型的情况下,可进一步需要图中所示的信息以外的信息。

图31是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图31的(a)示出vr_rect_region_mapping()的另一实施方式,图31的(b)示出vr_tile_rect_region_mapping()的另一实施方式。所示的实施方式是信令信息包括在sei消息中的实施方式。

在此实施方式中,在vr_mapping_type为0或3的情况下,参照图25描述的信息可没有任何改变地使用。与此不同,在vr_mapping_type为1或2的情况下,除了参照图25描述的信息之外,可进一步提供附加信息。

更具体地讲,在vr_mapping_type为0的情况下,这指示等距矩形类型。在vr_mapping_type为3的情况下,这指示锥体类型。在vr_mapping_type为1的情况下,这指示立方体类型。在vr_mapping_type为2的情况下,这指示圆柱体类型。

在vr_mapping_type指示立方体类型或圆柱体类型的情况下,信令信息还可包括指示各个矩形区域的旋转程度的信息以及与各个矩形区域所指示的映射类型有关的表面信息作为附加信息。

在图中所示的实施方式中,指示各个矩形区域的旋转程度的信息使用roll_in_degree[i]来表示,并且与各个矩形区域所指示的映射类型有关的表面信息使用surface_type[i]来表示。

具体地讲,在vr_mapping_type为1(指示立方体映射)的情况下,信令信息可具有surface_type[i]字段。surface_type[i]可根据其值指示立方体的一个表面。例如,在surface_type[i]为0的情况下,这可指示矩形区域是立方体的前面。在surface_type[i]为1的情况下,这可指示矩形区域是立方体的右面。在surface_type[i]为2的情况下,这可指示矩形区域是立方体的背面。在surface_type[i]为3的情况下,这可指示矩形区域是立方体的左面。在surface_type[i]为4的情况下,这可指示矩形区域是立方体的顶面。在surface_type[i]为5的情况下,这可指示矩形区域是立方体的底面。

在vr_mapping_type为2(指示圆柱体或全景映射)的情况下,信令信息可具有surface_type[i]字段。surface_type[i]可根据其值指示圆柱体用户视口区域的一个表面。例如,在surface_type[i]为0的情况下,这可指示矩形区域是圆柱体的侧面。在surface_type[i]为1的情况下,这可指示矩形区域是圆柱体的顶面。在surface_type[i]为2的情况下,这可指示矩形区域是圆柱体的底面。

这里,在surface_type[i]为0的情况下,即,在矩形区域是圆柱体的侧面的情况下,类似于等距矩形映射的情况,与该侧面对应的用户视口区域的范围可通过min_theta_in_degree[i]和max_theta_in_degree[i]表示。另外,在surface_type[i]为0的情况下,侧面的高度范围可通过min_height[i]和max_height[i]表示。此外,在不存在与顶面和底面对应的surface_type的情况下,圆柱体映射可被当作全景映射。换言之,在不存在与顶面和底面对应的surface_type的情况下,可表示全景映射。

在实施方式中,即使在vr_mapping_type为3(即,锥体类型)的情况下,也可提供surface_type[i]。在这种情况下,信令信息可具有用于锥体的surface_type[i],并且surface_type[i]可根据其值指示锥体的一个表面。例如,在surface_type[i]为0的情况下,这可指示矩形区域是锥体的底面。在surface_type[i]为1至4之一的情况下,这可指示矩形区域是锥体的各个侧面。与之有关的细节(h260010)示出于图中的vr_tile_rect_region_mapping()中。

以下,将更详细地描述关于各个矩形区域的旋转程度的信息。

在vr_mapping_type指示立方体映射的情况下,指示各个表面的旋转程度的信息可作为附加信息包括在信令信息中。在vr_mapping_type指示圆柱体映射并且surface_type指示顶面或底面的情况下,指示表面(顶面或底面)的旋转程度的信息可作为附加信息包括在信令信息中。

即,立方体映射的所有表面的旋转程度或者圆柱体映射的顶表面或底表面的旋转程度可通过roll_in_degree[i]表示。

图32是示出根据本发明的实施方式的360度视频被映射在2d帧中的状态的示图。

图32的(a)示出360度视频根据立方体投影方案被映射在2d帧中的状态,图32的(b)示出360度视频根据圆柱体投影方案被映射在2d帧中的状态。

在所示的实施方式中,roll_in_degree[i]可将各个表面基于将各个表面的中点和画面(2d帧)的上侧互连的垂直线在顺时针方向上旋转的程度表示为具有0至360度的范围的角度。

对于立方体投影,至少两个表面可被布置为彼此邻接,使得表面被映射在2d帧中。此时,所述至少两个表面中的至少一个可旋转90度的角度以被映射在2d帧中。表面的旋转程度可通过roll_in_degree[i]表示。在投影时维持被布置为彼此邻接的所述至少两个表面之间的边界,由此可在编码时改进压缩效率。

文件格式级别信令

在文件格式级别提供用于基于用户视口的数据选择和再现的信令信息可通过vrvideobox(vrvd)和vrsurfacetorectregionmappingbox(vsrm)实现,其将随后描述。

图33和图34是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图33的上端示出根据本发明的实施方式的vrvd的定义和句法,图33的下端示出根据本发明的实施方式的vsrm的定义和句法,图34示出根据本发明的另一实施方式的vsrm的定义和句法。此外,所示的实施方式是信令信息包括在文件盒中的实施方式。

作为用于传输后解码器要求信息以用于媒体的再现或渲染的盒,vrvd按照排序可在schemeinformationbox(schi)下面。即,vrvd的容器可以是schi。

如所示,vrvd可包括vr_mapping_type字段和可选的low-ranking盒。这里,vr_mapping_type可指示360度视频的各个映射类型。信令信息包括在sei消息中的实施方式中所描述的细节可没有任何改变地应用于vr_mapping_type。在实施方式中,在vr_mapping_type的值为0的情况下,这可指示等距矩形映射类型。在vr_mapping_type的值为1的情况下,这可指示立方体映射类型。在vr_mapping_type的值为2的情况下,这可指示圆柱体或全景映射类型。在vr_mapping_type的值为3的情况下,这可指示锥体映射类型。

指示构成vr视频帧的一些区域或者与整个帧对应的区域对应于获取区域中的哪一视口范围或者投影空间中的哪一范围的用户视口的盒可存在于any_box(vrvd的下级盒)的位置处。在实施方式中,如图所示,vsrm可存在于any_box的位置处。

vsrm盒可包括以下信息。

region_description_type指示矩形区域的描述类型。例如,在region_description_type为0的情况下,以像素为单位表示矩形区域,而与编解码器无关。在region_description_type为1的情况下,这指示矩形区域是依赖于hevc的区域描述类型。此时,各个矩形区域可按照hevc拼块的形式表示,并且可包括tilegroupid信息。

rect_region_count信息可指示关于包括vsrm的轨道所描述的矩形区域的数量的信息。换言之,该信息可指示包括在2d帧中的矩形区域的数量。在实施方式中,rect_region_count信息可指示包括在视频流中的矩形区域的数量。

top_left_x可指示矩形区域的左上x坐标(单位为像素)。

top_left_y可指示矩形区域的左上y坐标(单位为像素)。

width可指示矩形区域的宽度(单位为像素)。

height可指示矩形区域的高度(单位为像素)。

因此,top_left_x、top_left_y、width和height可指示关于包括在2d帧中的矩形区域的位置和尺寸的信息。

作为用于指定hevc拼块或者与矩形区域对应的拼块区域的值,tilegroupid可与nalumapentry、tileregionbox或tilesetbox中描述的groupid或tilegroupid映射。在矩形区域是依赖于hevc的区域描述类型的情况下,tilegroupid可用于指定hevc拼块或拼块区域。

min_theta可指示与包括在2d帧中的矩形区域对应的360度视频获取空间区域或用户视口空间区域的theta的最小值。

max_theta可指示与包括在2d帧中的矩形区域对应的360度视频获取空间区域或用户视口空间区域的theta的最大值。

min_phi可指示与包括在2d帧中的矩形区域对应的360度视频获取空间区域或用户视口空间区域的phi的最小值。

max_phi可指示与包括在2d帧中的矩形区域对应的360度视频获取空间区域或用户视口空间区域的phi的最大值。

此外,根据本发明的另一实施方式的vsrm可根据vrvd所描述的vr_mapping_type来不同地描述360度视频获取空间区域或用户视口区域。

在vr_mapping_type为0或3(指示等距矩形或锥体映射)的情况下,获取空间区域或用户视口区域可按照与以上描述中相同的方式使用min_theta、max_theta、min_phi和max_phi来指示。

在vr_mapping_type为1(指示立方体映射)的情况下,可包括surface_type字段。surface_type可根据其值指示立方体用户视口区域的一个表面。例如,在surface_type为0的情况下,这可指示矩形区域是立方体的前面。在surface_type为1的情况下,这可指示矩形区域是立方体的右面。在surface_type为2的情况下,这可指示矩形区域是立方体的背面。在surface_type为3的情况下,这可指示矩形区域是立方体的左面。在surface_type为4的情况下,这可指示矩形区域是立方体的顶面。在surface_type为5的情况下,这可指示矩形区域是立方体的底面。

另外,在vr_mapping_type为1(指示立方体映射)的情况下,可进一步包括roll字段。roll字段指示关于表面的旋转的信息。该字段的详细含义与上述roll_in_degree[]基本上相同。

在vr_mapping_type为2(指示圆柱体或全景映射)的情况下,可包括surface_type字段。surface_type可根据其值指示圆柱体用户视口区域的一个表面。例如,在surface_type为0的情况下,这可指示矩形区域是圆柱体的侧面。在surface_type为1的情况下,这可指示矩形区域是圆柱体的顶面。在surface_type为2的情况下,这可指示矩形区域是圆柱体的底面。

这里,在surface_type为0的情况下,即,在矩形区域是圆柱体的侧面的情况下,类似于等距矩形映射的情况,与该侧面对应的用户视口区域的范围可通过min_theta、max_theta、min_phi和max_phi表示。此外,在不存在与顶面和底面对应的surface_type的情况下,圆柱体映射可被当作全景映射。换言之,在不存在与顶面和底面对应的surface_type的情况下,可表示全景映射。

另外,在vr_mapping_type指示圆柱体映射并且surface_type指示顶面或底面的情况下,可进一步包括表面(顶面或底面)的roll字段。

图35是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

在另一方面,图35示出根据本发明的另一实施方式的vrvd的定义和句法,并且所示的实施方式是信令信息包括在文件盒中的实施方式。

作为用于传输后解码器要求信息以用于媒体的再现或渲染的盒,vrvd按照排序可在schemeinformationbox(schi)下面。即,vrvd的容器可以是schi。

如所示,vrvd可包括vr_mapping_type字段和可选的low-ranking盒。这里,vr_mapping_type可指示360度视频的各个映射类型。在实施方式中,在vr_mapping_type的值为0的情况下,这可指示等距矩形映射类型。在vr_mapping_type的值为1的情况下,这可指示立方体映射类型。在vr_mapping_type的值为2的情况下,这可指示圆柱体或全景映射类型。

vr_flags如下定义。

0x000001指示俯仰的角度范围是否为180度或以下。

0x000002指示是否存在min_pitch字段。

0x000004指示是否存在max_pitch字段。

0x000010指示偏航的角度范围是否为360度或以下。

0x000020指示是否存在min_yaw字段。

0x000040指示是否存在max_yaw字段。

0x000100指示投影有360度视频数据的2d图像的中心像素是否与3d空间(球面)上的中点一致。

0x000200指示是否存在center_yaw字段。

0x000400指示是否存在center_pitch字段。

0x001000指示是否存在initial_view_yaw字段。

0x002000指示是否存在initial_view_pitch字段。

0x004000指示是否存在initial_view_roll字段。

0x010000指示是否存在content_fov字段。

作为motion-yaw-only,0x020000指示是否仅偏航可改变。

作为可选字段的min_pitch、max_pitch、min_yaw、max_yaw、center_yaw、center_pitch、initial_view_yaw_degree、initial_view_pitch_degree、initial_view_roll_degree和content_fov是否包括在vrvd中可基于vr_flags来确定。

min_pitch字段、max_pitch字段、min_yaw字段和max_yaw字段可分别作为俯仰的最小值、俯仰的最大值、偏航的最小值和偏航的最大值指示在3d空间中占据的区域。这些字段可分别指示绕俯仰轴的旋转量的最小值、绕俯仰轴的旋转量的最大值、绕偏航轴的旋转量的最小值以及绕偏航轴的旋转量的最大值。

center_yaw字段和center_pitch字段可提供与投影有360度视频数据的2d图像的中心像素和3d空间上的中点有关的信息。在实施方式中,center_yaw字段和center_pitch字段可提供3d空间上的中点相对于拍摄空间坐标系的原点或世界坐标系的原点的旋转程度。在这种情况下,这些字段可分别使用偏航值和俯仰值指示旋转程度。

initial_view_yaw_degree字段、initial_view_pitch_degree字段和initial_view_roll_degree字段可包括关于当360度视频被再现时用户首先观看360度视频的视口(初始视口)的信息。更具体地讲,initial_view_yaw_degree字段、initial_view_pitch_degree字段和initial_view_roll_degree字段可指示当360度视频被再现时的初始视口。即,可由这些字段指示在再现时首先观看的视口的右中心点。这些字段可作为绕偏航轴、俯仰轴和横滚轴的旋转方向(符号)和旋转程度(角度)指示右中心点的位置。此时,可确定根据fov(视场)再现视频时首先观看的视口。可确定基于通过fov指示的初始视口的初始视口的水平长度和垂直长度(宽度和高度)。即,360度视频接收设备可使用这三个字段和fov信息向用户提供360度视频的预定区域作为初始视口。

content_fov字段可指示关于在制作时预期的360度视频的fov(视场)的信息。fov可以是视频被再现时同时显示360度视频的视野范围。

vrvideoregion可描述关于与360度视频对应的2d帧的区域的信息。vrvideoregion可按照盒的形式(vrvr)包括在vrvd中。即,vrvr的容器可为vrvd。

vrvideoregion可包括num_vr_regions、vr_region_id、horizontal_offset、vertical_offset、vr_region_width、vr_region_height、max_region_pitch、min_region_yaw、max_region_yaw、cube_face、cube_face_rotation、cylinder_face和cylinder_face_rotation字段。

num_vr_regions可指示包括在2d帧中的区域的数量。

vr_region_id可指示关于各个区域的标识的信息。

horizontal_offset和vertical_offset可指示2d帧上的区域的水平偏移和垂直偏移。在实施方式中,horizontal_offset和vertical_offset可指示区域的左上像素的x和y坐标。

vr_region_width和vr_region_height可指示区域的宽度和高度(即,水平长度和垂直长度)(单位为像素)。

min_region_pitch和max_region_pitch可分别指示与区域对应的360度视频获取空间区域或用户视口空间区域的俯仰的最小值和最大值。这里,俯仰可具有与phi相同的含义。

min_region_yaw和max_region_yaw可分别指示与区域对应的360度视频获取空间区域或用户视口空间区域的偏航的最小值和最大值。这里,偏航可具有与theta相同的含义。

cube_face可指示在360度视频的投影方案为立方体的情况下区域对应于立方体的哪一面。这里,面可具有与上述表面相同的含义。在实施方式中,在cube_face为0的情况下,这可指示区域是立方体的前面。在cube_face为1的情况下,这可指示区域是立方体的右面。在cube_face为2的情况下,这可指示区域是立方体的背面。在cube_face为3的情况下,这可指示区域是立方体的左面。在cube_face为4的情况下,这可指示区域是立方体的顶面。在cube_face为5的情况下,这可指示区域是立方体的底面。

cube_face_rotation指示关于各个立方体面的旋转的信息。这里,cube_face_rotation可用于具有与上述roll_in_degree相同的含义。

cylinder_face可指示在360度视频的投影方案为圆柱体的情况下区域对应于圆柱体的哪一面。这里,“面”可具有与上述“表面”相同的含义。在实施方式中,在cylinder_face为0的情况下,这可指示区域是圆柱体的侧面。在cylinder_face为1的情况下,这可指示区域是圆柱体的顶面。在cylinder_face为2的情况下,这可指示区域是圆柱体的底面。

cylinder_face_rotation指示关于各个cylinder_face的旋转的信息。这里,cylinder_face_rotation可用于具有与上述roll_in_degree相同的含义。另外,仅在cylinder_face对应于圆柱体的顶面或底面的情况下,才可存在cylinder_face_rotation。

图36是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

在另一方面,图36示出根据本发明的另一实施方式的vrvd的定义和句法,并且所示的实施方式是信令信息包括在文件盒中的实施方式。

作为用于传输后解码器要求信息以用于媒体的再现或渲染的盒,vrvd按照排序可在schemeinformationbox(schi)下面。即,vrvd的容器可以是schi。

vrvd可包括vr视频区域盒,并且vr视频区域盒可提供编码的画面区域如何被映射在三维空间上的详细描述。三维空间可被称为球形视频。另外,三维空间可对应于360度视频获取空间和/或用户视口空间,并且三维空间和2d帧可通过投影方案来映射。vrvr将参照以下附图来详细描述。

如所示,vrvd可包括vr_mapping_type字段和可选的低级盒。这里,vr_mapping_type可指示360度视频的各个映射类型。在实施方式中,在vr_mapping_type的值为0的情况下,这可指示等距矩形映射类型。在vr_mapping_type的值为1的情况下,这可指示立方体映射类型。在vr_mapping_type的值为2的情况下,这可指示圆柱体或全景映射类型。

在此实施方式中,initial_view_yaw、initial_view_pitch和initial_view_roll可以不是可选字段。initial_view_yaw、initial_view_pitch和initial_view_roll可分别指示偏航、俯仰和横滚的角度。此时,字段所指示的角度可指示渲染编码的画面的初始视口的中心。

在此实施方式中,center_pitch、min_pitch、max_pitch、min_yaw、max_yaw和content_fov可以是可选字段。

此外,可选字段的数量可基于vr_flags的低级字节中设定的比特数来确定。另外,在不存在以下字段的情况下,可应用以下默认值。

在不存在min_pitch的情况下,vr视频的最小俯仰角具有-90的默认值。

在不存在max_pitch的情况下,vr视频的最大俯仰角具有+90的默认值。

在不存在min_yaw的情况下,vr视频的最小偏航角具有-180的默认值。

在不存在max_yaw的情况下,vr视频的最大偏航角具有+180的默认值。

作为可选字段的center-yaw-present、center-pitch-present、min-pitch-present、max-pitch-present、min-yaw-present、max-yaw-present、content-fov-present和motion-yaw-only是否包括在vrvd中可基于vr_flags来确定。

vr_flags如下定义。

作为center-yaw-present,0x000001指示是否存在center_yaw字段。具体地讲,center_yaw提供以下信息。

在vr_mapping_type为等距矩形的情况下,该字段指示投影在球面上的编码的画面的中心像素的偏航角。

在vr_mapping_type为立方体的情况下,该字段指示作为投影在球面上的区域,与立方体的前表面对应的区域的中心像素的偏航角。

在vr_mapping_type为圆柱体的情况下,该字段指示作为投影在球面上的区域,与圆柱体的侧面对应的区域的中心像素的偏航角。

作为center-pitch-present,0x000002指示是否存在center_pitch字段。具体地讲,center_pitch提供以下信息。

在vr_mapping_type为等距矩形的情况下,该字段指示投影在球面上的编码的画面的中心像素的俯仰角。

在vr_mapping_type为立方体的情况下,该字段指示作为投影在球面上的区域,与立方体的前表面对应的区域的中心像素的俯仰角。

在vr_mapping_type为圆柱体的情况下,该字段指示作为投影在球面上的区域,与圆柱体的侧面对应的区域的中心像素的俯仰角。

作为min-pitch-present,0x000010指示是否存在min_pitch字段。具体地讲,min_pitch指示投影有编码的画面的球面上的点的最小俯仰角。

作为max-pitch-present,0x000020指示是否存在max_pitch字段。具体地讲,max_pitch指示投影有编码的画面的球面上的点的最大俯仰角。

作为min-yaw-present,0x000040指示是否存在min_yaw字段。具体地讲,min_yaw指示投影有编码的画面的球面上的点的最小偏航角。

作为max-yaw-present,0x000080指示是否存在max_yaw字段。具体地讲,max_yaw指示投影有编码的画面的球面上的点的最大偏航角。

作为content-fov-present,0x010000指示是否存在content_fov字段。具体地讲,content-fov指示内容作者/提供者所预期的内容的适当视场。

作为motion-yaw-only,0x020000指示vr视频的运动是否仅由偏航限制。

图37是示出根据本发明的另一实施方式的vr视频区域盒的示图。

图37示出vr视频区域(vrvr)盒的定义和句法。

vr视频区域盒可提供轨道中的编码的画面区域如何被映射在球形空间上的详细描述。这种信息可在从2d帧到球形视频投影时使用。

根据本发明的另一实施方式的vrvr可包括layout_type、num_vr_region、vr_region_id和face_rotation字段。选择性地,vrvr还可包括上述vrvr中所描述的horizontal_offset、vertical_offset、vr_region_width、vr_region_height、min_region_pitch、max_region_pitch、min_region_yaw、max_region_yaw、cube_face_id、cube_face_rotation、cylinder_face_id和cylinder_face_rotation字段。

layout_type可指示投影有vr视频的2d帧的布局。

首先,在投影类型为立方体的情况下,layout_type可指示vr视频按照3*2映射在2d帧中的布局或者vr视频按照4*3映射在2d帧中的布局。更具体地讲,在3*2布局的情况下,与六个区域对应的六个表面可一对一(1:1)映射在由3*2配置的2d帧中。在4*3布局的情况下,与六个区域对应的六个表面可占据由4*3配置的2d帧的一半。即,与六个区域对应的六个表面可被映射在划分成12份(4*3)的2d帧的一半上,另一半可被处理成空白空间。

接下来,在投影类型为圆柱体的情况下,layout_type可指示与圆柱体的侧面的位置有关的布局。例如,可根据layout_type将圆柱体的侧面映射在2d帧的顶部、底部或中间。在另一方面,可根据layout_type将圆柱体的侧面映射在2d帧的左侧、右侧或中间。

num_vr_regions可指示关于包括在2d帧中的区域的数量的信息。由于包括在2d帧中的区域根据投影类型与面(或表面)一对一(1:1)对应,所以num_vr_regions可指示关于面(或表面)的数量的信息。因此,num_vr_regions可被表示成num_faces。

vr_region_id可指示关于各个区域的标识的信息。由于各个区域根据投影类型与表面一对一(1:1)对应,所以vr_region_id可指示关于各个面(或表面)的标识的信息。因此,vr_region_id可被表示成face_id。

region_rotation可指示映射在2d帧上的区域的旋转角度。区域可旋转诸如+90、+180、-90或-180度的任何角度。在旋转角度为0的情况下,这可指示区域没有旋转。由于区域根据投影类型与面(或表面)一对一(1:1)对应,所以region_rotation可指示各个面(或表面)的旋转角度。因此,region_rotation可被表示成face_rotation。

在实施方式中,投影类型可以是立方体。在投影类型为立方体的情况下,vr_regionid可指示匹配在立方体的表面上的区域。在实施方式中,与vr_regionid的值对应的立方体的表面可如下。

0x00:预留

0x01:cube_front

0x02:cube_top

0x03:cube_bottom

0x04:cube_left

0x05:cube_right

0x06:cube_back

0x07-0x08:预留

在另一实施方式中,投影类型可为圆柱体。在投影类型为圆柱体的情况下,vr_regionid可指示匹配在圆柱体的表面上的区域。在实施方式中,与vr_regionid的值对应的圆柱体的表面可如下。

0x00:预留

0x01:cylinder_top

0x02:cylinder_side

0x03:cylinder_bottom

0x04-0x08:预留

在使用vrvr盒所提供的信息当中的layout_type和vr_region_id的情况下,可指定映射在2d帧中的区域的位置。即,可在2d帧中指定根据投影方案的面(或表面)的位置。在实施方式中,两个相邻表面的位置和旋转角度可被设定为在投影时与其之间的边界一致。在此实施方式中,可在编码时改进压缩效率。

图38是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图38的(a)示出根据本发明的实施方式的vr视频区域组盒(vrrg)的定义,图38的(b)示出根据本发明的实施方式的vr视频区域信息组条目,图38的(c)示出根据本发明的另一实施方式的vr视频区域信息组条目,图38的(d)示出根据本发明的另一实施方式的vr视频区域信息组条目。所示的实施方式是信令信息包括在文件盒中的实施方式。

参照该图描述的信令信息可以是用于映射2d帧的区域和hevc拼块的信息。如先前所述,2d帧的区域可用于具有与拼块相同的含义。然而,由于区域和拼块基本上彼此相区分,所以可能需要关于区域和拼块的映射信息。vrrg(将随后描述)是提供关于区域和拼块的映射信息的文件盒,并且可包括vr视频区域信息组条目。

vrrg包括在样本组描述盒(sgpd)中。

vr视频区域信息组条目可包括tilegroupid、vr_region_count、vr_region_id和full_region_flags。

tilegroupid可指示拼块区域组id或拼块集合组id。这里,拼块区域组id或拼块集合组id可在tileregiongroupentry或tilesetgroupentry中定义。在实施方式中,tilegroupid可指示单个拼块id。

vr_region_count可提供关于与tilegroupid所指示的拼块区域或拼块集合有关的vr_region的数量的信息。在实施方式中,vr_region_count可提供关于与tilegroupid所指示的单个拼块有关的vr_region的数量的信息。

vr_region_id指示关于与360度视频对应的2d帧区域的标识的信息。vr_region_id可指示上述vrvd中定义的vr_region_id。如先前所述,vr_region_id可被指示根据投影方案的面(或表面)的face_id代替。

full_region_flag可指示tilegroupid所指示的拼块区域或拼块集合是否完全包括vr_region_id所指示的区域。在实施方式中,在full_region_flag为1的情况下,这指示tilegroupid所指示的拼块区域或拼块集合完全包括vr_region_id所指示的区域。在实施方式中,full_region_flag可指示tilegroupid所指示的单个拼块是否完全包括vr_region_id所指示的区域。

图38的(b)示出基于tilegroupid来描述与拼块区域或拼块集合有关的区域的实施方式,图38的(c)示出基于vr_region_id来描述与区域有关的拼块区域或拼块集合的实施方式。

图38的(d)所示的实施方式还提供附加信息。

num_vr_regions_in_track提供关于存储在轨道中的vr视频区域的数量的信息。

additional_region_info_type提供关于附加区域信息的类型的信息。在实施方式中,与additional_region_info_type的值对应的类型信息可如下。

0x00:无

0x01:hevc拼块关联信息

0x02-0x08:预留

num_vr_regions_in_track可提供关于存储在轨道中的vr视频区域的数量的信息。

vr_region_id指示关于与360度视频对应的2d帧区域的标识的信息。vr_region_id可指示上述vrvd中定义的vr_region_id。

在full_region_flag被设定为1的情况下,这指示轨道包括vr_region_id所指示的完整vr视频区域。

num_tilegroups可提供关于与vr_region_id所指示的vr视频区域有关的tilegroupid字段所指示的拼块区域或拼块集合的数量的信息。

在full_tilegroup_flag被设定为1的情况下,这指示vr_region_id所指示的vr拼块区域包括tilegroupid所指示的完整拼块区域或拼块集合。

图39是示出使用vr视频区域信息组条目的区域与拼块区域之间的关系的示图。

图39示出两个实施方式。图39的上端示出区域和拼块区域彼此一致的实施方式,图39的下端示出区域和拼块区域彼此不同的实施方式。

在图的上端所示的实施方式中,通过立方体型投影将六个区域映射在2d帧上,并且区域与立方体投影空间的右面、左面、顶面、底面、前面和背面对应。六个拼块区域被提供,并在其边界处与区域重合。

如所示,可存在六个vrvideoregioninfogroupentry以便描述拼块区域与区域之间的关系。tilegroupid和vr_region_id可彼此一对一映射,以便指示区域属于拼块区域。这里,各个拼块区域包括vr区域的整个区域,因此,各个vrvideoregioninfogroupentry的full_region_flag被设定为1。

在图的下端所示的实施方式与图的上端所示的实施方式之间进行比较,区域配置彼此相同,但是拼块区域配置彼此不同。如所示,2d帧包括四个等分的拼块区域,即,左、右、上和下拼块区域。

可存在四个vrvideoregioninfogroupentry以便描述拼块区域与区域之间的关系。与tilegroupid=1、2、3和4对应的拼块区域包括与vr_region_id=1、3、4和6对应的区域的整个区域。因此,与tilegroupid=1、2、3和4对应的full_region_flag被设定为1,并且在各个vrvideoregioninfogroupentry中描述vr_region_id与tilegroupid之间的映射关系。与vr_region_id=2对应的区域包括与tilegroupid=1和2对应的拼块区域的一些区域,并且与vr_region_id=5对应的区域包括与tilegroupid=3和4对应的拼块区域的一些区域。因此,与vr_region_id=2和5对应的full_region_flag被设定为0,并且在各个vrvideoregioninfogroupentry中描述vr_region_id与tilegroupid之间的映射关系。

图40是示出根据本发明的另一实施方式的用于基于用户视口的360度视频数据选择、发送和再现的信令信息的示图。

图40示出根据本发明的实施方式的fisheyevideoinfobox(fevi)的定义和句法,并且所示的实施方式是信令信息包括在文件盒中的实施方式。

fevi可按照排序在vrvd盒下面。即,fevi的容器可为vrvd。此外,在vrvd的vr_mapping_type为2的情况下,即,在映射类型为圆柱体的情况下,fevi可被设定为基本上存在。

fevi可用于指示包括在轨道中的鱼眼视频的格式。这种格式信息可用于渲染鱼眼视频。这里,鱼眼视频可以是从球形相机或鱼眼相机的传感器所获取的图像生成的视频。在实施方式中,球形相机可具有两个传感器,其中一个可具有在约-90和90度之间的theta或phi的范围。即,可使用两个传感器覆盖所有方向上的主要部分。

fevi可包括num_circular_images、image_center_x、image_center_y、full_radius、frame_radius、scene_radius、image_rotation、image_flip、image_scale_axis_angle、image_scale_x、image_scale_y、field_of_view、num_compression_curve_points、compression_curve_x、compression_curve_y、center_yaw,center_pitch、num_deadzones、deadzone_left_horizontal_offset、deadzone_top_vertical_offset、deadzone_width和deadzone_height。

num_circular_images可指示关于鱼眼图像的数量的信息。在实施方式中,鱼眼图像可使用球形相机的两个传感器来获取。在这种情况下,鱼眼图像的数量可为2,num_circular_images可为1。

image_center_x可指示鱼眼图像的中心的x坐标(单位为像素)。

image_center_y可指示鱼眼图像的中心的y坐标(单位为像素)。

此外,center_pitch可指示与image_center_x和image_center_y像素匹配的球面上的俯仰值。

center_yaw可指示与image_center_x和image_center_y像素匹配的球面上的偏航值。

在使用center_pitch和center_yaw的值的情况下,可类推通过各个鱼眼传感器获取的图像在球面上的位置。另外,在使用center_pitch和center_yaw的值的情况下,可类推鱼眼相机在球面上的位置。在接收机执行重新投影的情况下,可类推图像在球面上的位置以便适当地执行重新投影。

单播环境中的信令

可通过将vr视频信令信息添加到用于传送属性表示的信息来实现单播环境中根据用户视口的传输数据的选择和再现。例如,可在mpd中定义附加信息以便使用dash来发送vr视频。

可使用essentialproperty或supplementalproperty以便标识通过dash发送的vr视频的映射类型。essentialproperty或supplementalproperty可按照排序在adpatationset、representation和sub-representation下面。可给出诸如@schemeiduri=“urn:mpeg:dash:vr-map:2016”的固有方案标识符,以便指示essentialproperty或supplementalproperty用于描述vr映射类型。用于标识当前vr视频的映射类型的固有串或整数值可被指派给@value。例如,“equirectangular”、“cubic”、“pyramidal”、“cylindrical”或“panoramic”可被指派给@value以指示映射类型。作为essentialproperty或supplementalproperty的标识符的@id可指示具有相同的@id值的essentialproperty或supplementalproperty彼此紧密关联。例如,由于与相同vr视频的一些区域对应的两个adpatationset具有相同的vr映射类型,所以代替使用@value以重复的方式描述映射类型,可给出相同的@id以描述映射类型而无需重复。

另外,可使用essentialproperty或supplementalproperty以便标识通过dash发送的vr视频的获取空间中的区域范围或用户视口支持范围。essentialproperty或supplementalproperty可按照排序在adpatationset、representation和sub-representation下面。可给出诸如@schemeiduri=“urn:mpeg:dash:vr-srd:2016”的固有方案标识符以便指示essentialproperty或supplementalproperty用于描述vr映射类型。@value可具有将在下面参照附图描述的形式的句法,各个参数可使用逗号(,)来划界。

图41是示出用于指示通过dash发送的vr视频的获取空间中的区域范围或用户视口支持范围的@value的句法的示图。

图41的(a)示出根据本发明的实施方式的@value的句法,图41的(b)示出根据本发明的另一实施方式的@value的句法。图41的(b)所示的根据本发明的实施方式的@value的句法与图41的(a)所示的根据本发明的实施方式的@value的句法的不同之处在于,还包括关于表面类型的信息以及关于横滚的信息。

使用先前所述的用于vr映射和vr区域描述的essentialproperty或supplementalproperty来配置mpd的实施方式可如下。

图42是示出全画面帧和划分成区域的全画面帧的示图,图43是示出包括与图42有关的信令信息的mpd的示图。

所示的实施方式是主视频被划分成四个区域,即,左上区域、右上区域、右下区域和左下区域的实施方式。在此实施方式中,区域用于具有与拼块相同的含义。

主视频支持水平方向上-180至180度,垂直方向上-90至90度范围内的获取空间中的视口范围或用户视口范围。

左上区域(拼块1)支持水平方向上-180至0度范围内的获取空间中的视口范围或用户视口范围,并且支持垂直方向上-90至0度范围内的获取空间中的视口范围或用户视口范围。右上区域(拼块2)支持水平方向上0至180度范围内的获取空间中的视口范围或用户视口范围,并且支持垂直方向上-90至0度范围内的获取空间中的视口范围或用户视口范围。右下区域(拼块3)支持水平方向上0至180度范围内的获取空间中的视口范围或用户视口范围,并且支持垂直方向上0至90度范围内的获取空间中的视口范围或用户视口范围。左下区域(拼块4)支持水平方向上-180至0度范围内的获取空间中的视口范围或用户视口范围,并且支持垂直方向上0至90度范围内的获取空间中的视口范围或用户视口范围。主视频提供具有与960*480、1920*960和3840*1920的分辨率对应的三个质量级别的内容,各个区域(拼块1至拼块4)支持与其水平和垂直半部对应的质量。在此实施方式中,主视频帧被分割成四个hevc拼块。然而,与各个拼块对应的矩形区域以及与主视频对应的视频可被独立地编码。此时,可使用诸如avc/h.264的现有编解码器来执行编码。

以下实施方式被配置为使得主视频在交叠状态下被分割成四个矩形区域。

图44是示出全画面帧和划分成区域的全画面帧的示图,图45是示出包括与图44有关的信令信息的mpd的示图。

主视频支持水平方向上-180至180度范围内的获取空间中的视口范围或用户视口范围,并且支持垂直方向上-90至90度范围内的获取空间中的视口范围或用户视口范围。

全画面帧被划分成四个区域,各个区域可被映射在锥体或等距矩形上。在所示的实施方式中,各个区域被映射在锥体上。

第一矩形区域(锥体1)支持水平方向上-180至0度范围内的用户视口,并且支持垂直方向上-90至90度范围内的用户视口。第二矩形区域(锥体2)支持水平方向上-90至90度范围内的获取空间中的视口范围或用户视口范围,并且支持垂直方向上-90至90度范围内的获取空间中的视口范围或用户视口范围。第三矩形区域(锥体3)支持水平方向上0至180度范围内的获取空间中的视口范围或用户视口范围,并且支持垂直方向上-90至90度范围内的获取空间中的视口范围或用户视口范围。第四矩形区域(锥体4)支持水平方向上90至180度以及-180至-90度范围内的获取空间中的视口范围或用户视口范围,并且支持垂直方向上-90至90度范围内的获取空间中的视口范围或用户视口范围。具体地讲,在第四种情况下,需要信令以指示彼此不相邻的两个矩形区域和两个vr用户视口区域。为此,所示的实施方式使用两个srds和两个vr-srds来描述彼此不相邻的区域。在所示的实施方式中,第一vr-srd的supplementalproperty值=“0,90,-90,180,90,-180,-90,180,90”中的第二值至第五值90、-90、180和90分别指示水平视口范围的最小值、垂直视口范围的最小值、水平视口范围的最大值和垂直视口范围的最大值。即,第一srd和vr-srd可提供关于第四区域(锥体4)的左矩形的信息。另外,vr-srd的supplementalproperty值=“0,-180,0,0,90,-180,-90,180,90”中的第二值至第五值-180、0、0和90分别指示水平视口范围的最小值、垂直视口范围的最小值、水平视口范围的最大值和垂直视口范围的最大值。即,第一srd和vr-srd可提供关于第四区域(锥体4)的右矩形的信息。这里,包括在第四区域(锥体4)的右矩形中的信息可与包括在第一区域(锥体1)的左矩形中的信息相同。

该方法可用于描述非矩形区域的空间区域和用户视口支持范围。主视频提供具有与960*480、1920*960和3840*1920的分辨率对应的三个质量级别的内容,各个矩形支持480*480、960*960和1920*1920的三个分辨率。在此实施方式中,主视频帧被分割成四个hevc拼块。然而,与各个拼块对应的矩形区域以及与主视频对应的视频可使用诸如avc/h.264的现有编解码器独立地编码。

接收机的操作

图46是示出根据本发明的实施方式的接收机的操作的示图。

图46示出在vcl(视频编码层)中根据用户视口选择/再现传输数据的接收机的操作。

使用上述在vcl中根据用户视口的数据选择和再现方法的接收机的操作可如下。

首先,可从内容服务器h460010提供包括vr内容(即,360度视频)的媒体数据。

随后,接收机中的网络客户端h460020可从接收自内容服务器h460010的分组生成vr内容文件或分段。在另选实施方式中,可通过其它存储介质将文件或分段传送至接收机。

随后,文件解析器h460030可解析所接收的文件或分段,并且可将与全画面对应的视频比特流传送至视频解码器h460040。

随后,视频解码器h460040可对与全画面对应的视频流进行解码,或者可通过所提出的vr_rect_region_mapping()和vr_tile_rect_region_mapping()sei消息对与初始用户视口对应的区域的数据进行解码,并且可将解码的数据传送至投影仪/渲染器/传感器h460050。此时,初始视口可以是反映内容作者的意图的视口。初始视口不限于整个内容的初始起始点,并且可存在于每一个序列单元或每一个场景单元中。即,初始视口可以是反映内容作者的意图的视口,并且可与用户视口(反映用户的意图的视口)相区分。

此外,在存在对用户视口的反馈的情况下,视频解码器h460040可对与用户视口(反馈用户视口)对应的区域的数据进行解码,并且可将解码的数据传送至投影仪/渲染器/传感器h460050。

随后,投影仪/渲染器/传感器h460050根据投影方案来投影所接收的全画面或区域数据,将其渲染在3d模型上,并通过用户显示器输出与初始视口或用户视口对应的区域。用户视口可通过传感器来连续地监测,并且可被传送至视频解码器h460040。视频解码器h460040可使用所接收的用户视口来选择并解码区域。解码的区域可被投影、渲染并输出到用户显示器。可重复上述处理。

图47是示出根据本发明的另一实施方式的接收机的操作的示图。

图47示出在文件格式级别根据用户视口选择/再现传输数据的接收机的操作。

使用上述在文件格式级别根据用户视口的数据选择和再现方法的接收机的操作可如下。

首先,可从内容服务器h470010提供包括vr内容(即,360度视频)的媒体数据。

随后,接收机中的网络客户端h470020可从接收自内容服务器h470010的分组生成vr内容文件或分段。在另选实施方式中,可通过其它存储介质将文件或分段传送至接收机。

随后,文件解析器h470030可解析所接收的文件或分段以提取视频比特流,并且可将所提取的视频比特流传送至视频解码器h470040。此时,文件解析器h470030可提取与全画面对应的视频比特流,或者可通过上述“vrvd”和“vsrm”信息提取与初始用户视口对应的区域的数据,并且可将所提取的数据传送至视频解码器h470040。此时,初始视口可以是反映360度内容作者的意图的视口。初始视口不限于整个内容的初始起始点,并且可存在于每一个序列单元或每一个场景单元中。即,初始视口可以是反映内容作者的意图的视口,并且可与用户视口(反映用户的意图的视口)相区分。

此外,在存在对用户视口的反馈的情况下,文件解析器h470030可提取与用户视口(反馈用户视口)对应的区域的数据,并且可将所提取的数据传送至视频解码器h470040。

随后,视频解码器h470040对所接收的视频比特流进行解码,并将解码的视频比特流传送至投影仪/渲染器/传感器h470050。

随后,投影仪/渲染器/传感器h470050根据投影方案来投影所接收的全画面或区域数据,将其渲染在3d模型上,并通过用户显示器输出与初始视口或用户视口对应的区域。用户视口可通过传感器来连续地监测,并且可被传送至文件解析器h470030。文件解析器h470030可使用所接收的用户视口来提取区域。所提取的区域可由视频解码器解码、投影、渲染并输出到用户显示器。可重复上述处理。

图48是示出根据本发明的另一实施方式的接收机的操作的示图。

图48示出在单播环境中根据用户视口选择/再现传输数据的接收机的操作。

使用上述在单播环境中根据用户视口的数据选择和再现方法的接收机的操作可如下。

首先,可从内容服务器h480010提供包括vr内容(即,360度视频)的媒体数据。

随后,接收机中的网络客户端h480020可从接收自内容服务器h480010的分组生成vr内容文件或分段。在另选实施方式中,可通过其它存储介质将文件或分段传送至接收机。此时,网络客户端h480020可接收与全画面对应的数据,或者可接收与初始用户视口对应的区域的数据。此时,初始视口可以是反映360度内容作者的意图的视口。初始视口不限于整个内容的初始起始点,并且可存在于每一个序列单元或每一个场景单元中。即,初始视口可以是反映内容作者的意图的视口,并且可与用户视口(反映用户的意图的视口)相区分。

此外,在存在对用户视口的反馈的情况下,网络客户端h480020可接收与用户视口(反馈用户视口)对应的区域的数据。

在实施方式中,网络客户端h480020可以是dash客户端。dash客户端可使用诸如上述vr-map、vr-srd和srd的信息来选择与用户视口对应的adaptationset/representation,并且可向内容服务器(dash服务器)请求与其对应的分段以便接收分段。

随后,文件解析器h480030可解析所接收的文件或分段以提取视频比特流,并且可将所提取的视频比特流传送至视频解码器h480040。

随后,视频解码器h480040对所接收的视频比特流进行解码,并将解码的视频比特流传送至投影仪/渲染器/传感器h480050。

随后,投影仪/渲染器/传感器h480050根据投影方案来投影所接收的全画面或区域数据,将其渲染在3d模型上,并且通过用户显示器输出与用户视口对应的区域。用户视口可通过传感器来连续地监测,并且可被传送至网络客户端h480020。网络客户端h480020可使用所接收的用户视口来接收区域的数据。所接收的区域数据可由视频解码器h480040解码。提取的区域数据可由视频解码器h480040解码、投影、渲染并输出到用户显示器。可重复上述处理。

在本发明的一方面,公开了一种360度视频发送方法。

图49是示出根据本发明的实施方式的360度视频发送方法的示图。

根据本发明的实施方式的360度视频发送方法可包括:获取360度视频数据的步骤(s49100);将360度视频数据映射在2d图像上的步骤(s49200);将2d图像分割成两个或更多个区域并以个体区域为单位或以多个区域为单位对区域进行编码的步骤(s49300);生成关于360度视频数据的信令信息的步骤(s49400);以及发送包括编码的2d图像和信令信息的数据信号的步骤(s49500)。这里,信令信息可包括允许两个或更多个区域分组的分组信息。

在获取360度视频数据的步骤(s49100),可获取360度视频数据。如先前参照图1、图2、图4和图12所述,360度视频数据可通过使用360度相机(vr相机)拍摄360度视频来获取,或者可通过生成与360度视频对应的数据来获取。

将360度视频数据映射在2d图像上的步骤(s49200)可以是在两个维度上映射三维360度视频的步骤。将360度视频数据映射在2d图像上的步骤(s49200)可在三维360度视频被拼接并根据预定投影方案投影之后执行,如参照图1、图2、图4和图12所述。这里,投影方案可不同地提供。参照图6、图8、图30、图31、图32、图33、图34和图35进行的描述可被应用于投影方案。

将2d图像分割成两个或更多个区域并以个体区域为单位或以多个区域为单位对区域进行编码的步骤(s49300)可以是针对各个区域或各个区域集合对2d图像进行编码的步骤。这里,参照图1、图4、图12至图28以及图30至图48进行的描述可被应用于区域。即,在一些实施方式中,区域可用于具有与拼块或hevc拼块相同的含义。另外,个体区域可以是单个单元区域,多个区域可以是个体区域的集合。另外,在区域和拼块彼此相同的实施方式中,拼块集合或拼块区域可对应于多个区域。

生成关于360度视频数据的信令信息的步骤(s49400)可以是生成提供360度视频所需的信令信息的步骤。这种信令信息可被称为360度视频相关元数据或360度视频相关信令信息,如参照图8所述。如参照图1至图4所述,可在执行的各个步骤生成信令信息以提供360度视频。另外,信令信息可被包括在视频级别、文件格式级别和/或系统级别。提供信令信息包括在sei消息中的实施方式作为视频级别信令。提供信令信息包括在isobmff的文件盒中的实施方式作为文件格式级别信令。提供信令信息包括在dashmpd中的实施方式作为系统级别信令。这些实施方式先前已描述。

发送包括编码的2d图像和信令信息的数据信号的步骤(s49500)可以是将数据信号发送到接收设备的步骤。在实施方式中,还可在发送包括编码的2d图像和信令信息的数据信号的步骤(s49500)之前执行处理编码的2d图像和信令信息以用于传输的步骤。执行处理以用于传输的步骤可对应于按照参照图12所描述的传输格式配置数据的步骤。即,该步骤可以是按照文件格式封装与360度视频数据对应的2d图像的步骤。文件格式可以是isobmff文件格式。另外,发送数据信号的步骤可以是通过广播网络和/或宽带连接发送数据信号的步骤。

此外,信令信息可包括允许两个或更多个区域分组的分组信息。参照图12至图28进行的描述可被应用于与分组有关的信令。具体地讲,分组信息可包括第一组信息和第二组信息。

这里,第一组信息可提供关于可选择性地再现或流传输的个体区域或多个区域的分组信息。例如,在个体区域存储在轨道中的情况下或者在多个区域存储在轨道中的情况下,第一组信息可提供关于多个轨道当中可选择性地再现或流传输的轨道的分组信息。第一组信息的具体实施方式包括参照图13至图15描述的tkhd盒的alternate_group字段和ttgr盒的track_group_id字段。

另外,第二组信息可提供关于可切换的个体区域或多个区域的分组信息。例如,在个体区域存储在轨道中的情况下或者在多个区域存储在轨道中的情况下,第二组信息可提供关于多个轨道当中可切换的轨道的分组信息。由于关于是否可切换的分组的前提是可选择性再现或流传输,所以可存在这样的限制:根据第二组信息的组必须包括在根据第一组信息的组中。第二组信息的具体实施方式包括参照图14和图15描述的tsel盒的alternate_group字段和tsgr盒的track_group_id字段。

此外,信令信息还可包括个体区域之间、多个区域之间或者个体区域和多个区域之间的编码依赖性信息。参照图15至图28进行的描述可被应用于编码依赖性信息。

此外,信令信息还可包括指示用于将360度视频数据投影在2d图像上的投影方案的投影方案信息和/或2d图像与包括在360度视频数据中的360度视频之间的映射信息。投影方案信息可意指图24至图37的vr_mapping_type。另外,映射信息可意指参照图24至图37描述的2d帧或360度视频获取空间或用户视口空间之间的映射信息。

此外,信令信息还可包括指示当2d图像的至少一个个体区域旋转预定角度以被映射在2d图像上时的旋转角度的旋转信息。这里,旋转信息可意指参照图29至图45描述的roll_in_degree[i]。

在本发明的另一方面,公开了一种360度视频发送设备。

根据本发明的另一方面的360度视频发送设备可包括:数据输入单元(未示出),其用于允许输入360度视频数据;映射处理单元(未示出),其用于将360度视频数据映射在2d图像上;数据编码器(未示出),其用于将2d图像分割成两个或更多个区域并以个体区域为单位或以多个区域为单位对区域进行编码;信令生成单元(未示出),其用于生成关于360度视频数据的信令信息;数据信号生成单元(未示出),其用于生成包括编码的2d图像和信令信息的数据信号;以及发送单元(未示出),其用于将所生成的数据信号发送到接收设备。参照图49描述的360度视频发送方法中的信令信息的描述可同样应用于该信令信息。

在本发明的另一方面,公开了一种360度视频接收设备。

图50是示出根据本发明的实施方式的360度视频接收设备的示图。

根据本发明的实施方式的360度视频接收设备可包括:接收单元h50100,其用于接收包括包含360度视频数据的2d图像以及关于360度视频数据的信令信息的数据信号;数据解码器h50200,其用于将包括在数据信号中的2d图像解码;信令解码器h50300,其用于将包括在数据信号中的信令信息解码;以及渲染器h50400,其用于处理2d图像以在3d空间中渲染360度视频数据。这里,360度视频接收设备所接收的2d图像可被分割成两个或更多个区域以按照个体区域为单位或多个区域为单位来编码,并且信令信息可包括允许两个或更多个区域分组的分组信息。

接收单元h50100可接收包括包含360度视频数据的2d图像以及关于360度视频数据的信令信息的数据信号。接收单元h50100可通过广播网络和/或宽带连接接收数据信号。接收单元h50100可将所接收的数据信号传送至数据解码器h50200和/或信令解码器h50300。在实施方式中,360度视频接收设备还可包括文件解析器(未示出)。在这种情况下,接收单元可将数据信号传送至文件解析器。文件解析器可解析或解封装包括在数据信号中的文件格式,可将2d图像传送到数据解码器h50200,并且可将信令信息传送到信令解码器h50300。在实施方式中,接收单元h50100可从渲染器h50400接收反馈信息,并且可将与反馈信息有关的区域所对应的数据传送到文件解析器或数据解码器h50200。更具体地讲,反馈信息可包括用户视口信息,并且接收单元h50100可将与包括在从渲染器h50400接收的用户视口信息中的至少一个区域对应的数据传送到文件解析器(未示出)或数据解码器h50200。此实施方式的详细描述与参照图48进行的描述相同。另外,接收单元h50100可将系统级别信令信息传送到信令解码器h50300。

在上述实施方式中,360度视频接收设备还可包括文件解析器(未示出)。文件解析器可处理接收单元h50100所接收的数据信号以提取2d图像和信令信息。在实施方式中,由文件解析器执行的数据信号的处理可以是按照文件格式格式化的数据的处理。文件格式可以是isobmff文件格式。文件格式可包括2d图像以及关于360度视频的信令信息。文件解析器可从文件格式提取2d图像和/或关于360度视频的信令信息。在实施方式中,文件解析器可从渲染器h50400接收反馈信息,并且可将与反馈信息有关的区域所对应的数据传送到数据解码器h50200。更具体地讲,反馈信息可包括用户视口信息,并且文件解析器可将与包括在从渲染器h50400接收的用户视口信息中的至少一个区域对应的数据传送到数据解码器h50200。此实施方式的详细描述与参照图47进行的描述相同。

数据解码器h50200可对由接收单元h50100接收的数据信号中包括的数据或者由文件解析器提取的数据进行解码。数据解码器h50200可对包括360度视频数据的2d图像进行解码,并且可将解码的2d图像传送到渲染器h50400。在实施方式中,2d图像可包括视频级别信令信息。在2d图像中包括视频级别信令信息的情况下,数据解码器h50200可将信令信息传送到信令解码器h50300。在实施方式中,数据解码器h50200可从渲染器h50400接收反馈信息,并且可将与反馈信息有关的区域所对应的数据传送到渲染器h50400。更具体地讲,反馈信息可包括用户视口信息,并且数据解码器h50200可将与从渲染器h50400接收的用户视口信息中包括的至少一个区域对应的数据传送到渲染器h50400。此实施方式的详细描述与参照图46进行的描述相同。

信令解码器h50300可解析包括在数据信号中的信令信息。信令信息可包括系统级别信令信息、文件格式级别信令信息和/或视频级别信令信息。

渲染器h50400可使用数据解码器h50200所解码的2d图像以及信令解码器h50300所解码的信令信息来渲染360度视频数据。渲染器h50400可在3d模型上渲染360度视频以便向用户提供全方位视觉体验。在实施方式中,渲染器h50400可生成用户视口信息。可通过感测用户视口或经由用户输入来生成用户视口信息。用户视口信息可被包括在反馈信息中以被反馈给数据解码器h50200、文件解析器(未示出)和/或接收单元h50100。对用户视口信息的反馈的详细描述与参照图46至图48进行的描述相同。

如先前所述,信令信息可被称为360度视频相关元数据或360度视频相关信令信息。另外,可在视频级别、文件格式级别和/或系统级别包括信令信息。提供信令信息包括在sei消息中的实施方式作为视频级别信令。提供信令信息包括在isobmff的文件盒中的实施方式作为文件格式级别信令。提供信令信息包括在dashmpd中的实施方式作为系统级别信令。

另外,信令信息可包括允许两个或更多个区域分组的分组信息。参照图12至图28进行的描述可被应用于与分组有关的信令。具体地讲,分组信息可包括第一组信息和第二组信息。

这里,第一组信息可提供关于可选择性地再现或流传输个体区域或多个区域的分组信息。例如,在个体区域存储在轨道中的情况下或者在多个区域存储在轨道中的情况下,第一组信息可提供关于多个轨道当中可选择性地再现或流传输的轨道的分组信息。第一组信息的具体实施方式包括参照图13至图15描述的tkhd盒的alternate_group字段和ttgr盒的track_group_id字段。

另外,第二组信息可提供关于可切换的个体区域或多个区域的分组信息。例如,在个体区域存储在轨道中的情况下或者在多个区域存储在轨道中的情况下,第二组信息可提供关于多个轨道当中可切换的轨道的分组信息。由于关于是否可切换的分组的前提是可选择性再现或流传输,所以可存在这样的限制:根据第二组信息的组必须包括在根据第一组信息的组中。第二组信息的具体实施方式包括参照图14和图15描述的tsel盒的alternate_group字段和tsgr盒的track_group_id字段。

此外,信令信息还可包括个体区域之间、多个区域之间或者个体区域与多个区域之间的编码依赖性信息。参照图15至图28进行的描述可被应用于编码依赖性信息。

此外,信令信息还可包括指示用于将360度视频数据投影在2d图像上的投影方案的投影方案信息和/或2d图像与包括在360度视频数据中的360度视频之间的映射信息。投影方案信息可意指图24至图45的vr_mapping_type。另外,映射信息可意指参照图24至图45描述的2d帧或360度视频获取空间或用户视口空间之间的映射信息。

此外,信令信息还可包括指示当2d图像的至少一个个体区域旋转预定角度以被映射在2d图像上时的旋转角度的旋转信息。这里,旋转信息可意指参照图29至图45描述的roll_in_degree[i]。

在本发明的另一方面,公开了一种360度视频接收方法。根据本发明的另一方面的360度视频接收方法可包括由上述360度视频接收设备的结构元件执行的一系列处理。

根据本发明的实施方式的360度视频接收方法可包括:接收包括包含360度视频数据的2d图像以及关于360度视频数据的信令信息的数据信号的步骤;对包括在数据信号中的信令信息进行解码的步骤;对包括在数据信号中的2d图像进行解码的步骤;以及处理2d图像以在3d空间中渲染360度视频数据的步骤。这里,在接收数据信号的步骤接收的2d图像可被分割成两个或更多个区域以按照个体区域为单位或多个区域为单位编码,并且信令信息可包括允许两个或更多个区域分组的分组信息。参照图49和图50描述的360度视频发送方法和360度视频接收设备中的信令信息的描述可同样应用于该信令信息。

设备的内部组件可以是执行存储在存储器或其它硬件组件中的连续处理的处理器。这些可被定位于设备内部/外部。

在一些实施方式中,上述模块可被省略,或者可由执行相同或相似操作的其它模块代替。

上述部件、模块或单元可以是执行存储在存储器(或存储单元)中的连续处理的处理器或硬件部件。上述实施方式中所描述的步骤可由处理器或硬件部件执行。上述实施方式中所描述的模块/块/单元可作为硬件/处理器来操作。另外,本发明所提出的方法可作为代码来执行。这种代码可写在处理器可读存储介质上,因此可由设备所提供的处理器读取。

尽管为了描述方便,已参照单独的附图描述了本发明,但是可通过将各个附图中所示的实施方式组合来实现新的实施方式。根据本领域技术人员的需要,设计记录有用于实现上述实施方式的程序的计算机可读记录介质落在本发明的范围内。

根据本发明的设备和方法不限于应用于如先前所描述的的实施方式的构造和方法;相反,所有或一些实施方式可被选择性地组合以实现各种修改。

此外,本发明所提出的方法可被实现为可写在处理器可读记录介质上并因此由网络装置中提供的处理器读取的代码。处理器可读记录介质可以是以处理器可读方式存储数据的任何类型的记录装置。处理器可读记录介质可包括例如只读存储器(rom)、随机存取存储器(ram)、紧凑盘只读存储器(cd-rom)、磁带、软盘和光学数据存储装置,并且可按照经由互联网发送的载波的形式实现。另外,处理器可读记录介质可分布在连接到网络的多个计算机系统上,使得处理器可读代码以分散方式写入到其中以及从其执行。

另外,将显而易见的是,尽管上面示出和描述了优选实施方式,但是本说明书不限于上述特定实施方式,在不脱离所附权利要求的主旨的情况下,本发明所属领域的技术人员可进行各种修改和变化。因此,意图是修改和变化不应独立于本说明书的技术精神或前景来理解。

本领域技术人员将理解,在不脱离本发明的精神和基本特性的情况下,本发明可按照本文所阐述的方式以外的其它特定方式来实现。因此,本发明的范围应该由所附权利要求及其法律上的等同物确定,而非由上面的描述确定,落入所附权利要求的含义和等同范围内的所有改变均旨在被涵盖于其中。

另外,本说明书描述了产品发明和方法发明二者,这两个发明的描述可根据需要互补地应用。

本发明的模式

已在具体实施方式中描述了各种实施方式。

工业实用性

本发明用在一系列vr相关领域中。

本领域技术人员将理解,在不脱离本发明的精神和基本特性的情况下,本发明可按照本文所阐述的方式以外的其它特定方式来实现。因此,本发明的范围应该由所附权利要求及其法律上的等同物确定,而非由上面的描述确定,落入所附权利要求的含义和等同范围内的所有改变均旨在被涵盖于其中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1