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

文档序号:22627464发布日期:2020-10-23 19:36阅读:254来源:国知局
发送360度视频的方法和装置、接收360度视频的方法和装置与流程

本发明涉及360度视频,并且更具体地,涉及用于发送和接收针对3dof+内容的360度视频的方法和装置,其中,3dof+内容包括多视图按区域打包信息。



背景技术:

虚拟现实(vr)系统使用户感觉就像在电子投影环境中一样。可以改进用于提供vr的系统,以提供具有更高图片质量的图像和空间声音。vr系统允许用户以交互方式消费vr内容。

3dof+(三个自由度以上)内容提供了3dof或360度视频,该视频通过针对多个观看位置/视点的360度视频根据用户的位置移动被重构。3dof+内容允许用户消费各种感官体验。



技术实现要素:

技术问题

本发明的目的是提供一种改进用于提供vr系统的vr视频数据发送效率的方法和装置。

本发明的另一个目的是提供一种用于发送vr视频数据和关于vr视频数据的元数据的方法和装置。

本发明的另一个目的是提供一种改进用于提供3dof+系统的360度视频数据发送效率的方法和装置。

本发明的另一个目的是提供一种用于发送关于多视图按区域打包信息的元数据的方法和装置。

解决问题的方案

根据本发明的实施方式,提供了一种由360度视频发送装置执行的360度视频数据处理方法。该方法包括:获取针对多个视图的360度视频;以及通过处理360度视频来生成针对所述视图的投影图片;通过打包投影图片生成打包图片;对打包图片进行编码;生成有关360度视频的元数据;以及执行用于存储或发送编码图片和元数据的处理,其中,元数据包括多视图按区域打包信息,并且其中,多视图按区域打包信息包括关于打包图片中的打包区域的信息和关于各个视图的信息。

根据本发明的另一实施方式,提供了一种用于处理360度视频数据的360度视频发送装置。360度视频发送装置包括:数据输入单元,其被配置为获取针对多个视图的360度视频;以及投影处理器,其被配置为通过处理360度视频来生成针对所述视图的投影图片;打包处理器,其被配置为通过打包投影图片来生成打包图片;编码器,其被配置为对打包图片进行编码;元数据处理器,其被配置为生成关于360度视频的元数据;以及发送处理器,其被配置为执行用于存储或发送编码图像和元数据的处理,其中,元数据包括多视图按区域打包信息,并且其中,多视图按区域打包信息包括关于打包图片中的打包区域的信息以及关于各个视图的信息。

根据本发明的另一个实施方式,提供了一种360度视频数据处理方法,该360度视频数据处理方法由360度视频接收装置执行。该方法包括以下步骤:接收针对多个视图的360度视频数据;以及推导元数据和有关打包图片的信息;基于有关打包图片的信息对打包图片进行解码;基于元数据从打包图片推导针对目标视图的特定打包区域;基于特定打包区域和元数据推导目标视图的投影图片;以及基于元数据渲染投影图片,其中,元数据包括多视图按区域打包信息,并且其中,多视图按区域打包信息包括关于打包图片中的打包区域的信息和关于目标视图的信息。

根据本发明的另一个实施方式,提供了一种用于处理360度视频数据的360度视频接收装置。360度视频接收装置包括:接收器,其被配置为接收针对多个视图的360度视频数据;以及接收处理器/文件提取单元,其被配置为推导元数据和有关打包图片的信息;数据解码器,其被配置为基于有关打包图片的信息对打包图片进行解码;打包处理器,其被配置为基于元数据从打包图片推导针对目标视图的特定打包区域,并且基于特定打包区域和元数据推导目标视图的投影图片;以及渲染器,其被配置为基于元数据渲染投影图片,其中,所述元数据包括多视图按区域打包信息,并且其中,所述多视图按区域打包信息包括关于打包图片中的打包区域的信息和关于目标视图的信息。

发明的有益效果

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

根据本发明,可以提出一种用于在用户消费3dof+内容时提供交互体验的方法。

根据本发明,可以提出一种用于在用户消费360度内容时正确反映3dof+内容提供商的意图的信号发送方法。

根据本发明,可以提出一种用于有效地增加发送容量并且在3dof+内容发送时转发必要信息的方法。

根据本发明,可以提出一种用于用户在消费3dof+内容时通过支持头部运动视差来提供交互体验的方法。

根据本发明,可以通过多视图按区域打包来生成包含针对多个视图的分量的打包图片。因此,可以通过消除视图之间的冗余信息来提高3dof+内容的比特效率。

附图说明

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

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

图4示出了基于dash的自适应流传输模型的整体操作的示例。

图5示出了3dof+vr系统。

图6是示出根据本发明的用于提供3dof+视频的总体架构的图。

图7示出了用于提供由360度视频发送装置/360度视频接收装置执行的360度内容/3dof+内容的总体架构。

图8是示意性地示出可应用本发明的360视频发送装置的配置的图。

图9是示意性地示出可应用本发明的360视频接收装置的配置的图。

图10示出了用于提供使用多视图按区域打包信息的3dof内容/3dof+内容的总体架构。

图11示出了利用多视图的纹理、残差和深度图的多视图按区域打包的预编码过程的示例。

图12示出了多视图按区域打包的后解码器过程的示例。

图13示出了针对视点a的视图b利用纹理、残差和深度图进行多视图按区域打包的解码处理的示例。

图14a和图14b示出了针对包括多个视图的视频的多视图按区域打包处理的示例。

图15示意性地示出了根据本发明的由360视频发送装置执行的360视频数据处理方法。

图16示意性地示出了用于执行根据本发明的360视频数据处理方法的360视频发送装置。

图17示意性地示出了根据本发明的由360视频接收装置执行的360视频数据处理方法。

图18示意性地示出了根据本发明的用于执行360视频数据处理方法的360视频接收装置。

具体实施方式

可以以各种形式修改本发明,并且将在附图中描述和示出其特定实施方式。然而,这些实施方式并不旨在限制本发明。在以下描述中使用的术语仅用于描述特定实施方式,而不旨在限制本发明。只要清楚地以不同的方式理解,单数的表达包括复数的表达。诸如“包括”和“具有”的术语旨在指示存在以下描述中使用的特征、数量、步骤、操作、元件、组件或其组合,因此应理解,不排除存在或添加一个或更多个不同特征、数量、步骤、操作、元件、组件或其组合的可能性。

另一方面,本发明中描述的附图中的元件是为了方便地解释不同特定功能而独立地绘制的,并不意味着该元件由独立的硬件或独立的软件来体现。例如,可以将多个元件中的两个或更多个元件组合以形成单个元件,或者可以将一个元件划分为多个元件。元件被组合和/或分开的实施方式属于本发明,而不背离本发明的概念。

在下文中,将参考附图更详细地描述本发明的优选实施方式。在下文中,在整个说明书中将使用相同的附图标记来指代相同的组件,并且将省略相同组件的冗余描述。

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

本发明提出一种提供360度内容以便向用户提供虚拟现实(vr)的方法。vr可以指用于复制实际或虚拟环境或那些环境的技术。vr人为地向用户提供感官体验,因此用户可以体验电子投影环境。

360内容是指用于实现和提供vr的内容,并且可以包括360视频和/或360音频。360视频可以指提供vr并且被全向(360度)捕获或再现所必须的视频或图像内容。在下文中,360视频可以指360度视频。360视频可以指根据3d模型以各种形式在3d空间上表示的视频或图像。例如,可以在球面上表示360视频。360音频是用于提供vr的音频内容,并且可以指其音频生成源可以被识别为位于特定3d空间中的空间音频内容。360内容可以被生成、处理并发送给用户,并且用户可以使用360内容来消费vr体验。

特别地,本发明提出了一种用于有效地提供360视频的方法。为了提供360视频,可以通过一个或多个相机捕获360视频。可以通过一系列处理来发送所捕获的360视频,并且接收侧可以将所发送的360视频处理为原始360视频并且渲染360视频。以这种方式,可以将360视频提供给用户。

具体地,用于提供360视频的过程可以包括捕获过程、准备过程、发送过程、处理过程、渲染过程和/或反馈过程。

捕获过程可以指通过一个或更多个相机捕获针对多个视点的图像或视频的过程。图1中所示的图像/视频数据110可以通过捕获过程生成。图1中的110的每个平面都可以表示针对每个视点的图像/视频。所捕获的多个图像/视频可以被称为原始数据。与捕获有关的元数据可以在捕获过程中生成。

为了捕获,可以使用用于vr的专用相机。当根据一个实施方式提供关于由计算机生成的虚拟空间的360视频时,可以不执行通过实际相机的捕获。在这种情况下,仅生成相关数据的过程可以代替捕获过程。

准备过程可以是处理在捕获过程中生成的所捕获的图像/视频和元数据的过程。在准备过程期间,所捕获的图像/视频可以经过拼接过程、投影过程、按区域打包过程和/或编码过程。

首先,每个图像/视频可以经过拼接过程。拼接过程可以是连接所捕获的图像/视频以生成一个全景图像/视频或球形图像/视频的过程。

随后,拼接后的图像/视频可以经过投影过程。在投影过程中,可以将拼接后的图像/视频投影到2d图像上。根据上下文,可以将2d图像称为2d图像帧。在2d图像上的投影可以被称为映射到2d图像。投影图像/视频数据可以具有图1中的2d图像120的形式。

投影在2d图像上的视频数据可以经过按区域打包过程,以提高视频编码效率。按区域打包可以指处理投影在针对每个区域的2d图像上的视频数据的过程。这里,区域可以指2d图像的划分区域。根据一个实施方式,可以通过均等或任意地划分2d图像来获得区域。此外,在一个实施方式中,可以根据投影方案来划分区域。按区域打包过程是可选过程,其在准备过程中可以被省略。

根据一个实施方式,处理过程可以包括在2d图像上使区域旋转或重新布置区域以提高视频编码效率的过程。例如,可以使区域旋转,使得区域的特定侧面彼此靠近定位,以提高编码效率。

根据一个实施方式,处理过程可以包括增加或减小特定区域的分辨率以便区分360视频的区域的分辨率的过程。例如,可以将与360视频中的相对更重要的区域相对应的区域的分辨率增加至高于其它区域的分辨率。投影在2d图像上的视频数据或按区域打包视频数据可以经过通过视频编解码器的编码过程。

根据一个实施方式,准备过程还可以包括附加编辑过程。在该编辑过程中,可以执行在投影之前和之后的图像/视频数据的编辑。在准备过程中,也可以生成关于拼接/投影/编码/编辑的元数据。此外,可以生成关于投影在2d图像上的视频数据的初始视点或感兴趣区域(roi)的元数据。

发送过程可以是处理和发送已经经过准备过程的图像/视频数据和元数据的过程。可以执行根据任意传输协议的处理以进行发送。可以通过广播网络和/或宽带来传送已经被处理用于发送的数据。这样的数据可以以按需方式被传送到接收侧。接收侧可以通过各种路径来接收数据。

处理过程可以指对接收到的数据进行解码并且将投影图像/视频数据重新投影到3d模型上的过程。在这个过程中,可以将投影到2d图像上的图像/视频数据重新投影到3d空间上。根据上下文,该过程可以称为映射或投影。这里,根据3d模型,图像/视频数据被映射到的3d模型可以具有不同的形式。例如,3d模型可以包括球体、立方体、圆柱体和金字塔。

根据一个实施方式,处理过程可以另外包括编辑过程和放大过程。在编辑过程中,还可以执行在重新投影之前和之后的图像/视频数据的编辑。当图像/视频数据已经减少时,可以通过在放大过程中对样本进行放大来增加图像/视频数据的大小。可以根据需要执行通过缩小来减小尺寸的操作。

渲染过程可以指渲染和显示在3d空间上重新投影的图像/视频数据的过程。重新投影和渲染可以被组合并表示为在3d模型上的渲染。重新投影到3d模型上(或渲染到3d模型上)的图像/视频可以具有图1所示的形式(form)130。图1中所示的形式130对应于图像/视频被重新投影到3d球形模型上的情况。用户可以通过vr显示器观看渲染后的图像/视频的区域。这里,用户观看的区域可以具有图1所示的形式140。

反馈过程可以指将可以在显示过程中获取的各种类型的反馈信息传送到发送侧的过程。可以通过反馈过程提供360度视频的消费中的交互性。根据一个实施方式,可以在反馈过程中将头部方向信息、表示用户当前观看的区域的视口信息等传送到发送侧。根据一个实施方式,用户可以与在vr环境中实现的对象进行交互。在这种情况下,可以在反馈过程中将关于交互的信息传送到发送侧或服务提供商。根据一个实施方式,可以不执行反馈过程。

头部方向信息可以指关于用户的头部的位置、角度、运动等的信息。基于该信息,可以计算与用户当前正在观看的360度视频中的区域有关的信息,即,视口信息。

视口信息可以是与360视频中的用户当前正在观看的区域有关的信息。可以通过视点信息执行凝视分析,以检查用户如何消费360视频、用户注视360视频的哪个区域、注视该区域多长时间等。凝视分析可以在接收侧执行,并且其结果可以通过反馈信道被传送到发送侧。诸如vr显示器的设备可以基于用户的头部的位置/方向、与该设备支持的垂直或水平视场(fov)有关的信息等来提取视口区域。

根据一个实施方式,前述反馈信息可以在接收侧被消费并且被发送到发送侧。即,可以使用上述反馈信息在接收侧执行解码、重新投影和渲染。例如,可以优选地使用头部方向信息和/或视口信息来解码和渲染仅关于用户当前观看的区域的360视频。

这里,视口或视口区域可以指360视频中的用户正在观看的区域。视点是360视频中的用户正在观看的点,并且可以指视口区域的中心点。即,视口是在其中心处具有视点的区域,并且该区域的大小和形状可以通过将在后面描述的fov来确定。

在用于提供360度视频的上述总体架构中,经过捕获/投影/编码/发送/解码/重新投影/渲染过程的图像/视频数据可以称为360视频数据。术语“360视频数据”可以用作包括元数据和与这样的图像/视频数据有关的信令信息的概念。

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

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

根据本发明的媒体文件可以包括至少一个盒。这里,盒可以是包括媒体数据或与媒体数据有关的元数据的数据块或对象。盒可以是分层结构,因此可以对数据进行分类,并且媒体文件可以具有适于存储和/或发送大容量媒体数据的格式。此外,媒体文件可以具有允许用户容易地访问媒体信息(诸如,移动到媒体内容的特定点)的结构。

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

ftyp盒(文件类型盒)可以提供关于相应媒体文件的文件类型或与兼容性相关信息。ftyp盒可以包括关于相应媒体文件的媒体数据的配置版本信息。解码器可以参考ftyp盒识别相应媒体文件。

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

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

根据一个实施方式,前述moov盒可以进一步包括mvhd盒、trak盒和/或mvex盒作为下部盒。

mvhd盒(电影标题盒)可以包括与包括在相应媒体文件中的媒体数据的媒体呈现有关的信息。即,mvhd盒可以包括诸如媒体生成时间、改变时间、时间标准和相应媒体呈现的时段的信息。

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

轨道盒还可以包括作为下部盒的tkhd盒(轨道头盒)。tkhd盒可以包括关于trak盒指示的轨道的信息。tkhd盒可以包括诸如生成时间、改变时间和对应轨道的轨道标识符的信息。

mvex盒(电影扩展盒)可以指示相应媒体文件可以具有随后将描述的moof盒。为了识别特定轨道的所有媒体样本,可能需要扫描moof盒。

根据一个实施方式,根据本发明的媒体文件可以被划分为多个分段(200)。因此,媒体文件可以被分段和存储或发送。媒体文件的媒体数据(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盒可以包括诸如每个媒体样本的周期、大小和再现时间的信息。

上述媒体文件及其分段可以被处理成片段并且被发送。片段可以包括初始化片段和/或媒体片段。

除了媒体数据之外,所示实施方式210的文件可以包括与媒体解码器初始化有关的信息。例如,该文件可以对应于上述初始化片段。初始化片段可以包括前述ftyp盒和/或moov盒。

所示的实施方式220的文件可以包括上述分段。例如,该文件可以对应于上述媒体片段。媒体片段可以进一步包括styp盒和/或sidx盒。

styp盒(片段类型盒)可以提供用于标识划分后的分段的媒体数据的信息。styp盒可以用作上述划分后的分段的ftyp盒。根据一个实施方式,styp盒可以具有与ftyp盒相同的格式。

sidx盒(片段索引盒)可以提供指示划分后的分段的索引的信息。因此,可以指示划分后的分段的顺序。

根据一个实施方式230,可以进一步包括ssix盒。将片段划分为子片段时,ssix盒(子片段索引盒)可以提供指示子片段的索引的信息。

如所示实施方式250中所示的,媒体文件中的盒可以包括基于盒或fullbox的更多扩展信息。在本实施方式中,size字段和largesize字段可以以字节为单位表示相应盒的长度。版本字段可以指示相应盒格式的版本。类型字段可以指示相应盒的类型或标识符。标记字段可以指示与相应盒相关联的标记。

另外,可以在基于dash的自适应流传输模型中包括并且传送针对本发明的360视频的字段(属性)。

图4示出了基于dash的自适应流传输模型的整体操作的示例。根据所示实施方式400的基于dash的自适应流传输模型描述了http服务器和dash客户端之间的操作。这里,dash(通过http的动态自适应流传输)是用于支持基于http的自适应流传输的协议,并且可以根据网络状态动态地支持流传输。因此,可以提供无缝av内容再现。

首先,dash客户端可以获取mpd。可以从服务提供商(诸如http服务器)传送mpd。dash客户端可以使用mpd中描述的有关访问片段的信息,将对相应片段的请求发送到服务器。这里,可以基于网络状态来执行请求。

在获取片段后,dash客户端可以在媒体引擎中处理这些片段,并且将处理后的片段显示在屏幕上。dash客户端可以通过实时反映其中的再现时间和/或网络状态(自适应流传输)来请求和获取必要片段。因此,可以无缝地再现内容。

mpd(媒体呈现描述)是包括dash客户端动态地获取片段的详细信息的文件,并且可以以xml格式表示。

dash客户端控制器可以基于网络状态生成用于请求mpd和/或片段的命令。此外,该控制器可以控制诸如媒体引擎的内部块以能够使用所获取的信息。

mpd解析器可以实时解析所获取的mpd。因此,dash客户端控制器可以生成用于获取必要片段的命令。

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

http客户端可以将对必要mpd和/或片段的请求发送到http服务器。另外,http客户端可以将从服务器获取的mpd和/或片段传输到mpd解析器或片段解析器。

媒体引擎可以使用片段中包括的媒体数据在屏幕上显示内容。这里,可以使用mpd的信息。

dash数据模型可以具有层次结构410。媒体呈现可以由mpd描述。mpd可以描述形成媒体呈现的多个时段的时间序列。时段可以表示媒体内容的一个时段。

在一个时段内,数据可以包括在自适应集合中。自适应集合可以是多个可交换媒体内容组成的集合。自适应可以包括呈现的集合。呈现可以对应于媒体内容组成。内容可以在一个呈现中被暂时地划分为多个片段。这可能是为了可访问性和传送。为了访问每个片段,可以提供每个片段的url。

mpd可以提供与媒体呈现有关的信息,并且时段元素、自适应集合元素和呈现元素可以分别描述对应的时段、自适应集合和呈现。呈现可以被划分为子呈现,并且子呈现元素可以描述相应的子呈现。

在这里,可以定义公共属性/元素。可以将公共属性/元素应用于(包括在)自适应集合、呈现和子呈现中。公共属性/元素可以包括基本性质和/或补充性质。

基本性质是包括被视为在处理与相应的媒体呈现有关的数据时的基本元素的元素的信息。补充性质是包括可用于处理与相应媒体呈现有关的数据的元素的信息。根据一个实施方式,当稍后将描述的描述符通过mpd被传送时,可以在基本性质和/或补充性质中定义和传送描述符。

另外,除了用于360视频内容的上述方法之外,本发明还提供了一种用于3dof+(三个自由度以上)内容的方法,以便向用户提供沉浸式媒体的体验。

在基于3dof(三个自由度)的vr系统(即,上述360视频内容系统)中,在用户的固定位置处,向用户提供关于不同观看方向的视觉/听觉体验。但是,针对3dof+内容的vr系统旨在在不同视点和观看位置提供关于不同观看方向的扩展视觉/听觉体验。换句话说,针对3dof+内容的vr系统可以表示提供在多个地点(视点)在多个观看位置渲染的360度内容的系统。

在3dof+vr系统中另外定义的观看位置和视点的概念可以解释为下图。观看位置可以称为头部位置。

图5示出了3dof+vr系统。

具体地,图5的(a)示出了在3dof+vr系统中提供360视频内容的多个视点。例如,如图5的(a)所示,可以将特定空间(例如,剧院、体育馆等)中的多个特定位置视为提供360视频内容的视点。在这种情况下,可以假设在存在于相同特定空间中的每个视点中提供的视频/音频具有相同的时间流。

另外,可以利用针对多个观看位置的360内容来渲染特定视点。因此,可以根据用户在特定视点处的头部运动来提供不同的视觉/听觉体验。在这里,可以将360内容称为3dof+内容,并且3dof+内容可以包括3dof+视频和3dof+音频。

图5的(b)示出了多个观看位置的3d空间。这里,3d空间可以是球体。可以根据用户在特定视点处的头部动作来提供不同的视觉/听觉体验,从而提供反映每个观看位置的相对位置的视频/音频/文本信息。

此外,可以如在针对360内容的现有方法中那样,发送针对在特定观看位置处的全向媒体的视频/音频信息。换句话说,可以在针对特定观看位置的3d空间中渲染针对特定观看位置的360内容。在这种情况下,不仅包括视频/音频/文本/等的主要源,而且各种附加源可以被发送以进行集成。另外,作为另一个示例,可以结合用户的观看方向或者独立地发送针对附加源的信息。

图5的(c)示出了渲染观看位置的360度视频的3d空间。如图5的(c)所示,可以使用球面坐标系使用r(球体的半径)、θ(基于z轴的旋转方向和角度)和(xy平面的朝向z轴的旋转方向和角度)来表示球面上的各个点。根据一个实施方式,球面可以与世界坐标系一致,或者可以将前置相机的主要点假定为球面的点(r,0,0)。

另外,飞机主轴的概念可以用来表示每个点在球面上的位置。即,在本发明中,飞机主轴的内容可以用于描述投影之前或重新投影之后的3d空间,并且为此执行信号发送。根据一个实施方式,可以使用使用x、y和z轴或球坐标的概念的方法。

飞机可以自由地三维旋转。构成三维的轴线称被为俯仰轴线、偏航轴线和滚转轴线。在说明书中,这些可以被称为俯仰、偏航和滚转或者俯仰方向、偏航方向和滚转方向。

俯仰轴线可以指作为飞机的前端向上和向下旋转的方向的基础的轴线。在所示的飞机主轴的概念中,俯仰轴线可以指连接飞机的机翼的轴线。

偏航轴线可以指作为飞机的前端向左右旋转的方向的基础的轴线。在所示的飞机主轴的概念中,偏航轴线可以指将飞机的顶部连接至底部的轴线。在所示的飞机主轴的概念中,滚转轴线可以指将飞机的前端连接至尾部的轴线,并且沿滚转方向的旋转可以指基于滚转轴线的旋转。如上所述,可以使用俯仰、偏航和滚转的概念来描述本发明中的3d空间。

图6是示出根据本发明的用于提供3dof+视频的总体架构的视图。

参考图6,可以获取3dof+视频数据和/或3dof+音频数据。具体地,hdca(高密度相机阵列)、lenslet(微镜头)相机等可以用于捕获3dof+内容,或者3dof+内容可以通过被设计用于3dof+视频捕获的新设备来获取。根据用于捕获的相机的位置生成的图像/视频数据集(诸如,图6中所示的所获取的图像610)可以被生成多个。即,可以获得根据在多个位置处的头部运动的多个视频/音频信息。在这种情况下,图像信息可以包括深度信息以及纹理信息。可以分别获得根据不同捕获位置的不同观看位置的多个信息,诸如图6中所示的所获取的图像610。另外,可以在3dof+内容的捕获过程中生成指示相机的内部/外部设置值的元数据。另一方面,在除了相机以外由计算机生成图像的情况下,可以用图像生成过程代替捕获过程。

如果执行图像获取过程,则可以执行构图(composition)过程。构图过程是将通过视频/音频输入设备获得的所获取的图像610和通过外部媒体、语音(音频/效果声音等)和文本(字幕等)获得的图像(视频/图像等)进行构图以包含在用户体验中的过程。

所获取的图像610的预处理过程可以是处理所捕获的图像/视频和从捕获过程传送的元数据的过程。预处理过程包括所有类型的预处理,诸如拼接过程、颜色校正过程、投影过程、视图分割过程和编码过程。

具体地,拼接过程可以是连接所捕获的图像/视频以生成一个全景图像/视频或球形图像/视频的过程。随后,可以使拼接的图像/视频经过投影过程。在投影过程中,可以将拼接的图像/视频投影到2d图像上。根据上下文,可以将2d图像称为2d图像帧。投影在2d图像上可以被称为映射到2d图像。投影图像/视频数据可以具有图6中的2d图像620的形式。

视图分割过程可以是划分为主要视图和次要视图以提高编码效率的过程。例如,映射在每个相机位置的图像可以分为主要视图和次要视图,并且可以将不同的分辨率应用于不同的视图以提高视频编码效率。而且,可以在主要视图内不同地应用映射图像的布置或分辨率以提高编码效率。此外,基于捕获环境,次要视图可能不存在。次要视图可以表示当用户从主要视图移动到另一个主要视图时在移动过程中播放的图像/视频。次要视图的分辨率可能低于主要视图,但是可以根据需要应用相同的分辨率。另外,例如,360视频接收装置可以基于虚拟信息重新生成次要视图。

预处理过程可以进一步包括编辑过程。编辑过程可以表示消除360视频的区域之间的边界,减小360视频的区域之间的颜色/亮度差异,或者增加图像的视觉效果的过程。

此外,预处理过程还可以包括重新布置图像的区域的打包过程和压缩图像信息的编码过程。可以基于不同观看位置的多个投影图像来生成投影图片,诸如图6的投影图片620。

此外,在预处理过程中,可以进一步执行投影之前和之后的图像/视频数据的编辑,并且可以生成元数据。例如,在预处理过程中,可以生成用于初始观看方向、用户的初始位置和关注区域(roi)的元数据。

图6所示的传送过程可以表示处理和发送在预处理过程中获得的图像/视频数据和元数据的过程。可以执行根据任意传输协议的处理以用于图像/视频数据和元数据的发送。可以通过广播网络和/或宽带来传送已经被处理用于发送的数据。这样的数据可以以按需方式被传送到接收侧。接收侧可以通过各种路径来接收数据。

处理过程可以包括用于对接收到的图像/视频数据和元数据进行解码的解码过程、以及将解码后的投影图片的图像/视频数据映射/投影到3d(三维)模型中的重新投影过程、生成和构成虚拟视点的过程。这里,图像/视频数据被映射到的3d模型或投影图可以根据3d模型具有不同的形式。例如,3d模型可以包括球体、立方体、圆柱体和金字塔。另选地,3d模型或投影图可以是球体、立方体、圆柱体或金字塔的修改型模型,或者可以是自由型模型。

虚拟视点的生成和构成的过程可以表示生成当用户从主要视图移动到另一个主要视图或次要视图时在移动过程中播放的图像/视频数据的过程。为了生成虚拟视点,可能必须处理在捕获过程和预处理过程中传送的元数据。在某些情况下,只有360图像/视频的一部分可以在虚拟视点处被生成/构成。

根据一个实施方式,处理过程可以另外包括编辑过程和放大过程。在编辑过程中,可以进一步执行在重新投影之前和之后的图像/视频数据的编辑。当图像/视频数据已经减少时,可以通过在放大过程中对样本进行放大来增加图像/视频数据的大小。可以根据需要执行通过缩小来减小大小的操作。

渲染过程可以指渲染和显示重新投影在3d空间上的图像/视频数据的过程。重新投影和渲染可以被组合并且表示为在3d模型上渲染。重新投影在3d模型上(或渲染在3d模型上)的图像/视频可以具有图6所示的形式630。图6中所示的形式630对应于在3d球形模型上重新投影图像/视频的情况。用户可以通过vr显示器观看渲染后的图像/视频的区域。这里,用户观看的区域可以具有图6所示的形式640。

反馈过程可以指将可以在显示过程中获取的各种类型的反馈信息传送到发送侧的过程。可以通过反馈过程提供360度视频的消费中的交互性。根据一个实施方式,可以在反馈过程中将头部方向信息、表示用户当前观看的区域的视口信息等传送到发送侧。根据一个实施方式,用户可以与在vr环境中实现的对象进行交互。在这种情况下,可以在反馈过程中将关于交互的信息传送到发送侧或服务提供商。根据一个实施方式,可以不执行反馈过程。

图7示出了用于提供由360度视频发送装置/360度视频接收装置执行的360度内容/3dof+内容的总体架构。

参考图7,可以通过音频传感器以及一组相机或具有多个镜头和传感器的相机设备来捕获真实世界视听场景(a)。该获取可以得到一组数字图像/视频(bi)和音频(ba)信号。相机/镜头通常可以覆盖相机组或相机设备的中心点周围的所有方向,因此称为360度视频。

相同时间实例的图像(bi)可以被拼接、可能旋转、被投影并映射到打包图片(d)上。

打包图片(d)可以被编码为编码图像(ei)或编码视频比特流(ev)。所捕获的音频(ba)可以被编码为音频比特流(ea)。然后,根据特定媒体容器文件格式,可以将编码图像、视频和/或音频构成为用于文件回放的媒体文件(f)或用于流传输的一系列初始化片段和媒体片段(fs)。在本文档中,媒体容器文件格式可以是iso/iec14496-12中指定的iso基本媒体文件格式。文件封装器还可以将元数据包括在文件或片段(诸如投影和按区域打包信息)中,以帮助渲染解码后的打包图片。

片段fs可以使用传送机构被传送到播放器。

文件封装器输出的文件(f)可以与文件解封装器输入的文件(f')相同。文件解封装器可以处理文件(f')或接收的片段(f's)并且提取编码比特流(e'a、e'v和/或e'i)并且解析元数据。然后可以将音频、视频和/或图像解码为解码信号(对于音频为b'a,对于图像/视频为d')。解码后的打包图片(d')可以基于当前观看方向或视口以及投影、球视界、旋转和从文件解析的按区域打包元数据被投影到头戴式显示器或任何其它显示设备的屏幕上。同样,例如,可以根据当前观看方向,例如通过耳机渲染解码后的音频(b'a)。当前观看方向可以通过头部跟踪以及可能还有眼睛跟踪功能来确定。除了由渲染器用来渲染解码后的视频和音频信号的适当部分之外,视频解码器和音频解码器还可以将当前观看方向用于解码优化。

上述过程可应用于实时和按需使用情况。

图8是示意性地示出可应用本发明的360视频发送装置的配置的图。

根据本发明的360视频发送装置可以执行与上述准备过程和发送过程有关的操作。360视频发送装置可以包括数据输入单元、构图信息处理器、拼接器、投影处理器、(按区域)打包处理器、子图片处理器、数据编码器、封装处理器、文件提取单元、发送处理器、发送器、视点/观看位置/观看方向信息和元数据处理器和/或(发送侧)反馈处理器作为内部元件/外部元件。如果输入数据是相机输出图像,则360度视频发送装置可以执行拼接以针对每个视点/观看位置/观看方向生成球体图像(即,在3d空间中渲染的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视频相关元数据可以被包括在具有sobmff中的各个级别的盒中,或者可以被包括为文件中的单独轨道的数据。根据一个实施方式,封装处理器可以将360视频相关元数据封装到文件中。发送处理器可以根据文件格式对封装后的360视频数据执行用于发送的过程。发送处理器可以根据任意传输协议来处理360视频数据。用于发送的过程可以包括用于在广播网络上进行传送的过程和用于在宽带上进行传送的过程。根据一个实施方式,发送处理器可以从元数据处理器接收360视频相关元数据以及360视频数据,并且对360视频相关元数据执行用于发送的处理。

发送器可以发送为了通过广播网络和/或宽带发送而处理的360视频数据和/或360视频相关元数据。发送器可以包括用于通过广播网络发送的元件和/或用于通过宽带发送的元件。

根据本发明的360视频发送装置的实施方式,360视频发送装置可以进一步包括作为内部元件/外部元件的数据存储单元(未示出)。数据存储单元可以在将编码后的360视频数据和/或360视频相关元数据传送到发送处理器之前,存储编码后的360视频数据和/或360视频相关元数据。这样的数据可以按诸如isobmff的文件格式被存储。尽管当实时发送360视频时可能不需要数据存储单元,但是封装后的360数据可以在特定时间段内被存储在数据存储单元中,然后当封装后的360数据通过宽带被传送时被发送。

根据本发明的360视频发送装置的另一个实施方式,360视频发送装置可以进一步包括(发送侧)反馈处理器和/或网络接口(未示出)作为内部元件/外部元件。网络接口可以从根据本发明的360视频接收装置接收反馈信息,并且将该反馈信息转发到发送侧反馈处理器。发送侧反馈处理器可以将反馈信息转发到拼接器、投影处理器、按区域打包处理器、数据编码器、封装处理器、元数据处理器和/或发送处理器。根据一个实施方式,反馈信息可以被传送到元数据处理器,然后被传送到每个内部元件。已经接收到反馈信息的内部元件可以在随后的360视频数据处理中反映该反馈信息。

根据本发明的360视频发送装置的另一个实施方式,按区域打包处理器可以使区域旋转并且将旋转后的区域映射到2d图像上。这里,区域可以沿不同方向以不同角度旋转并映射到2d图像上。可以考虑投影之前关于球面的360视频数据的相邻部分和拼接部分来执行区域旋转。可以通过360视频相关元数据用信号发送关于区域旋转的信息,即,旋转方向、角度等。根据本发明的360视频发送装置的另一个实施方式,数据编码器可以针对各个区域不同地执行编码。数据编码器可以以高质量对特定区域进行编码,并且以低质量对其它区域进行编码。发送侧反馈处理器可以将从360视频接收装置接收到的反馈信息转发到数据编码器,以便数据编码器可以使用针对各个区域而有所区别的编码方法。例如,发送侧反馈处理器可以将从接收侧接收的视口信息转发到数据编码器。数据编码器可以以比其它区域更高的质量(uhd等)对包括由视口信息指示的区域的区域进行编码。

根据本发明的360视频发送装置的另一个实施方式,发送处理器可以针对各个区域不同地执行用于发送的处理。发送处理器可以将不同的发送参数(调制阶数、编码速率等)应用于各个区域,以使得传送至各个区域的数据具有不同的鲁棒性。

这里,发送侧反馈处理器可以将从360视频接收装置接收的反馈信息转发到发送处理器,使得发送处理器可以执行针对各个区域而有所区别的发送处理。例如,发送侧反馈处理器可以将从接收侧接收到的视口信息转发至发送处理器。发送处理器可以在包括由视口信息指示的区域的区域上执行发送处理,使得这些区域具有比其它区域更高的鲁棒性。

根据本发明的360视频发送装置的上述内部元件/外部元件可以是硬件元件。根据一个实施方式,内部元件/外部元件可以被改变、省略、由其它元件代替或集成。

图9是示意性地示出可应用本发明的360视频接收装置的配置的视图。

根据本发明的360视频接收装置可以执行与上述处理过程和/或渲染过程有关的操作。360视频接收装置可以包括接收器、接收处理器/文件提取单元、解封装处理器,数据解码器、元数据解析器、解包/选择处理器、渲染器、构图处理器、(接收侧)反馈处理器和/或重新投影处理器作为内部元件/外部元件。信令解析器可以称为元数据解析器。

接收器可以接收从根据本发明的360视频发送装置发送的360视频数据。接收器可以根据发送360视频数据的信道通过广播网络或宽带来接收360视频数据。在接收到从发送器发送的比特流之后,接收器可以提取必要的文件。

接收处理器可以根据传输协议对接收到的360视频数据执行处理。接收处理器可以执行上述发送处理器的过程的反向过程,使得该反向过程对应于在发送侧执行的用于发送的处理。接收处理器可以将所获取的360视频数据转发到解封装处理器,并且将所获取的360视频相关元数据转发到元数据解析器。由接收处理器获取的360视频相关元数据可以具有信令表的形式。

解封装处理器可以以从接收处理器接收的文件格式对360视频数据进行解封装。解封装处理器可以通过将文件解封装为isobmff等来获取360视频数据和360视频相关元数据。解封装处理器可以使用视点/观看位置/观看方向信息和从反馈处理器发送的视频元数据来选择所生成的文件格式的视频流,并且可以通过解码器将所选择的视频流重构为视频信息。解封装处理器可以将所获取的360视频数据转发到数据解码器,并且将所获取的360视频相关元数据转发到元数据解析器。由解封装处理器获取的360视频相关元数据可以具有文件格式的盒或轨道的形式。解封装处理器可以根据需要从元数据解析器接收解封装所需的元数据。

数据解码器可以解码360视频数据。数据解码器可以从元数据解析器接收解码所需的元数据。可以将在数据解码过程中获取的360视频相关元数据转发到元数据解析器。

在打包图像的情况下,解包/选择处理器可以基于通过元数据发送的打包信息来执行对打包图片的解包。如果需要,解包/选择处理器可以执行选择视频和适于从反馈处理器发送的视点/观看位置/观看方向的必要分量的过程。

元数据解析器可以解析/解码360视频相关元数据。元数据解析器可以将所获取的元数据转发到数据解封装处理器、数据解码器、重新投影处理器和/或渲染器。

重新投影处理器可以对解码后的360视频数据执行重新投影。重新投影处理器可以将360视频数据重新投影到3d空间上。根据3d模型,3d空间可能具有不同的形式。重新投影处理器可以从元数据解析器接收重新投影所需的元数据。例如,重新投影处理器可以从元数据解析器接收关于所使用的3d模型的类型的信息及其详细信息。根据一个实施方式,重新投影处理器可以使用重新投影所需的元数据将仅与3d空间的特定区域相对应的360视频数据重新投影到3d空间上。

渲染器可以渲染重新投影后的360视频数据。如上所述,可以将360视频数据在3d空间上的重新投影表示为360视频数据在3d空间上的渲染。当两个过程以这种方式同时发生时,重新投影处理器和渲染器可以集成在一起,并且渲染器可以执行这些过程。根据一个实施方式,渲染器可以根据用户的视点信息仅渲染用户观看的部分。

此外,渲染器可以执行将视频的纹理、深度和覆盖信息重构为适于显示的格式的渲染过程。可以在生成最终视频之前,执行用于整合不同层的信息的构图过程,并且可以生成并显示适于显示视口的图像。

用户可以通过vr显示器等观看渲染后的360视频的一部分。vr显示器是再现360视频的设备,并且可以被包括在360视频接收装置中(被捆绑),或者可以作为单独设备连接到360视频接收装置(不被捆绑)。

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

如上所述,反馈信息可以在接收侧被消费并且被发送到发送侧。接收侧反馈处理器可以将所获取的反馈信息转发到360视频接收装置的内部元件,使得该反馈信息被反映在诸如渲染的过程中。接收侧反馈处理器可以将反馈信息转发给渲染器、重新投影处理器、数据解码器和/或解封装处理器。例如,渲染器可以使用反馈信息优先渲染用户观看的区域。此外,解封装处理器和数据解码器可以优先对用户正在观看或将要观看的区域进行解封装和解码。

根据本发明的360视频接收装置的上述内部元件/外部元件可以是硬件元件。根据一个实施方式,内部元件/外部元件可以被改变、省略、由其它元件代替或被集成。根据一个实施方式,可以将附加元件添加到360视频接收装置。

本发明的另一方面可以涉及用于发送360视频的方法和用于接收360视频的方法。根据本发明的用于发送/接收360视频的方法可以由上述360视频发送/接收装置或其实施方式执行。

上述360视频发送/接收装置和发送/接收方法的实施方式以及装置的内部元件/外部元件的实施方式可以组合。例如,投影处理器的实施方式和数据编码器的实施方式可以组合以生成与情况数量一样多的360视频发送装置的多个实施方式。以这种方式组合的实施方式也包括在本发明的范围内。

另外,在针对具有3dof的投影视频的全向媒体应用的典型内容流过程中,所捕获的图像构成球体,该球体从静态视点提供视口。由于假定观看位置不改变,因此在观看者和vr环境之间提供交互性并不容易。为了给观看者在vr环境中的动作提供不同的观看体验,应考虑在限制观看边界的情况下改变观看位置。由于不同观看位置而产生的不同视图被称为头部运动视差。

如上所述,头部运动视差可以为观看者提供一定程度的头部运动自由度,并且具有真实观看体验。为了支持该特征,理想的内容包括与锚(或中心)球体相邻的多个球体,而针对3dof的当前内容仅考虑单个球体。由于对于辅助观看位置考虑需要附加球形信息,因此应改变基于单个球体内容的3dof服务的常规内容工作流,诸如图像捕获、投影、打包格式、文件封装、传送、文件解封装、渲染过程可能改变。

因此,本发明提出了多个实施方式,以支持表示视点的不同观看位置的多个球形视频/图像。一个实施方式包括多视图按区域打包sei消息,该消息通知多个球形视频/图像的嵌套形式或用于相关多个球体的附加信息。

这里,多视图按区域打包可以表示将用于多个视图的投影图片打包为一个图片的过程。该视图可以表示眼图、观看位置或视点,并且每个投影图片可以表示针对对应视图的球形视频/图像被投影的图片。

此外,关于多个球形视频/图像的嵌套形式的信息和/或针对相关多个球体的附加信息被定义为isobmff和/或omaf。另外,可以在视频级的参数集中定义本发明中提出的语法和语义,诸如vps(视频参数集)、sps(序列参数集)和pps(图片参数集)。换句话说,可以在诸如hevc(高效视频编码)或vvc(通用视频编码)的视频编解码器标准的参数集中发送所提出的语法和语义。同样,可以通过数字有线/无线接口、系统级的文件格式等发送所建议的语法和语义。

例如,可以在sei消息中定义当前图像/视频的多视图按区域打包信息以及所有相关的观看位置,如下表所示。

[表1]

参考表1,多视图按区域打包可以表示多视图按区域打包sei消息。多视图按区域打包sei消息可以提供使得能够将裁剪的解码图片的颜色样本重新映射到投影图片上的信息、以及关于保护带的位置和大小的信息。

参考表1,多视图按区域打包信息可以包括multiview_regionwise_packing_id字段和/或multiview_regionwise_packing_cancel_flag字段。

multiview_regionwise_packing_id字段可以指示标识号,该标识号可以用于标识多视图按区域打包的目的。例如、multiview_regionwise_packing_id字段的值可以用于指示该sei消息的不同用例,以支持不同接收器能力或指示可以用于构造球体图像、全景图像、多视图图像、或多视点图像等的子图片。

具体地,当存在具有与multiview_regionwise_packing_id字段相同的值的多视图按区域打包sei消息时,这些多视图按区域打包sei消息的内容可以是相同的。当存在具有multiview_regionwise_packing_id字段的多于一个值的多视图按区域打包sei消息时,这可以指示由multiview_regionwise_packing_id字段的不同值指示的信息是为不同目的提供的替代方案,或者是级联校正按顺序被应用(可能根据应用指定顺序)的替代方案。multiview_regionwise_packing_id字段的值可以在0到212-1的范围(包含端点)内。

multiview_regionwise_packing_cancel_flag字段可以指示多视图按区域打包sei消息是否以应用于当前层的输出顺序取消先前多视图按区域打包sei消息的持续性。例如,multiview_regionwise_packing_cancel_flag字段等于1指示多视图按区域打包sei消息按应用于当前层的输出顺序取消了先前多视图按区域打包sei消息的持续性。multiview_regionwise_packing_cancel_flag字段等于0指示随后发生多视图按区域打包信息。

参考表1,多视图按区域打包信息可以包括multiview_regionwise_packing_persistence_flag字段、constituent_picture_matching_flag字段、和/或packing_format_matching_between_views_flag字段。

multiview_regionwise_packing_persistence_flag字段可以指定针对当前层的多视图按区域打包sei消息的持续性。例如,multiview_regionwise_packing_persistence_flag字段等于0指定多视图按区域打包信息仅应用于当前解码图片。这里,当前解码图片也可以称为当前图片或对应解码图片。

让pica为当前图片。multiview_regionwise_packing_persistence_flag字段为1指定多视图按区域打包信息sei消息以输出顺序对于当前层持续存在,直到以下任何条件为真为止:

–当前层的新clvs开始。

–比特流结束。

–输出访问单元中的当前层中的包含可应用于当前层的多视图按区域打包sei消息的图片picb,对于该图片,picordercnt(picb)大于picordercnt(pica),其中,picordercnt(picb)和picordercnt(pica)分别是紧接在针对picb的图片顺序计数的解码过程的调用之后的picb和pica的picordercntval值。

constituent_picture_matching_flag字段可以指示该sei消息中的投影区域信息、打包区域信息和保护带区域信息是否应用打包图片。

例如,constituent_picture_matching_flag字段等于1可以指定该sei消息中的投影区域信息、打包区域信息和保护带区域信息分别应用于每个组成图片。这里,组成图片可以表示打包图片的组成图片和投影图片的组成图片。而且,打包图片和投影图片可以具有由帧打包布置sei消息指示的相同立体帧打包格式。constituent_picture_matching_flag字段等于0可以指定该sei消息中的投影区域信息、打包区域信息和保护带区域信息应用于投影图片。

另外,当stereoflag字段等于0或stereoflag字段等于1且frame_packing_arrangement_type字段等于5时,constituent_picture_matching_flag字段的值可以等于0。

packing_format_matching_between_views_flag字段等于1可以指定打包图片在每观看位置处具有相同打包格式,在观看位置处,投影格式由mrwp_projection_type字段指示。packing_format_matching_between_views_flag字段等于0可以指定将不同的投影格式用于每个观看位置。观看位置也可以称为头部位置。

参考表1,多视图按区域打包信息可以包括num_view_minus1字段、mrwp_view_id[i]字段、mrwp_anchor_view_flag[i]字段、mrwp_view_independent_rotation_flag[i]字段、mrwp_all_components_in_one_packedregion_flag[i]字段和/或mrwp_reserved_zero_4bits[i]字段。

num_view_minus1plus1字段可以指定sei消息中考虑的多个视图。这里,该视图可以是眼睛视图、观看位置和/或视点。

mrwp_view_id[i]字段可以指示可以用于标识视图的标识号。例如,mrwp_view_id[i]字段的值可以指示第i视图的标识号。换句话说,mrwp_view_id[i]字段的值可以用于指示第i视图。mrwp_view_id[i]字段可以用于指示用于特定目的的一个或多个区域,例如,指示与引起头部运动视差的头部位置相对应的子图片,或指示支持头部位置的双眼视差的子图片对等。这里,头部位置可以称为观看位置。

mrwp_anchor_view_flag[i]字段可以指示具有第imrwp_view_id的第i视图是否是锚(或中心或代表性)视图。例如,mrwp_anchor_view_flag字段等于1可以指示具有第imrwp_view_id的第i视图是锚视图。mrwp_anchor_view_flag字段等于0可以指示第i视图是外围视图。

mrwp_view_independent_rotation_flag[i]字段可以指示第i视图的旋转是否不同于锚视图的旋转。例如、mrwp_view_independent_rotation_flag[i]字段等于1可以指示第i视图的旋转与锚视图的旋转不同。mrwp_view_independent_rotation_flag[i]字段等于0可以指示第i视图的旋转与锚视图的旋转相同。

mrwp_all_components_in_one_packedregion_flag[i]字段可以指示构成与第i视图相对应的投影图片的打包区域是否被排他性地打包在矩形区域中。例如,mrwp_all_components_in_one_packedregion_flag[i]字段等于1可以指示构成与第i视图相对应的投影图片的打包区域被排他性地打包在矩形区域中。mrwp_exclusive_packing_flag[i]字段等于0可以指示与第i视图相对应的打包区域没有被打包在矩形区域内。换句话说,mrwp_exclusive_packing_flag[i]字段等于0可以指示与第i视图相对应的打包区域被打包在多个矩形区域内。

mrwp_reserved_zero_4bits[i]字段可以等于0。针对mrwp_reserved_zero_4bits[i]字段的其它值被保留以用于未来使用。解码器可以忽略mrwp_reserved_zero_4bits[i]字段的值。另外,可以使用mrwp_reserved_zero_5bits[i]字段代替mrwp_reserved_zero_4bits[i]字段。

参考表1,多视图按区域打包信息可以包括mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段、mrwp_location_anchor_view_z[i]字段、mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotation_anchor_view_pitch[i]字段、和/或mrwp_rotation_anchor_view_roll[i]字段。

mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段和mrwp_location_anchor_view_z[i]字段可以以2-16毫米为单位指示与mrwp_view_id[i]字段相关的第i视图的位置。mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段和mrwp_location_anchor_view_z[i]字段的范围可以在-32768*216–1(即,-2147483647)到32768*216(即,2147483648)的范围(包含端点)内。

mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotation_anchor_view_pitch[i]字段和mrwp_rotation_anchor_view_roll[i]字段可以分别指示应用于与mrwp_view_id[i]字段、mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段和mrwp_location_anchor_view_z[i]字段相关的第i视图的单位球体的偏航角、俯仰角和滚转旋转角,以便以2-16度为单位将局部坐标轴转换为全局坐标轴。换句话说,mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotation_anchor_view_pitch[i]字段和mrwp_rotation_anchor_view_roll[i]字段可以指示针对第i视图的旋转的偏航角、俯仰角和滚转角。mrwp_rotation_anchor_view_yaw[i]字段的值可以在-180*216(即,-11796480)至180*216-1(即,11796479)的范围(包含端点)内,mrwp_rotation_anchor_view_pitch[i]字段的值可以在-90*216(即,-5898240)至90*216(即,5898240)的范围(包含端点)内,并且mrwp_rotation_anchor_view_roll[i]字段的值可以在-180*216(即,-11796480)到180*216-1(即,11796479)的范围(包含端点)内。mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotation_anchor_view_pitch[i]字段和mrwp_rotation_anchor_view_roll[i]字段可以分别用于指示第i视图的旋转的方位角、仰角和倾斜角。

参考表1,多视图按区域打包信息可以包括mrwp_location_diff_x[i]字段、mrwp_location_diff_y[i]字段、mrwp_location_diff_z[i]字段、mrwp_rotation_diff_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段和/或mrwp_rotation_diff_roll[i]字段。

mrwp_location_diff_x[i]字段、mrwp_location_diff_y[i]字段和mrwp_location_diff_z[i]字段可以以2-16毫米为单位指示第i视图相对于锚视图的位置的位置。第i视图的(x,y,z)位置可以通过分别相加mrwp_location_anchor_view_x[i]字段和mrwp_location_diff_x[i]字段、mrwp_location_anchor_view_y[i]字段和mrwp_location_diff_y[i]字段以及mrwp_location_anchor_view_z[i]字段和mrwp_location_diff_z[i]字段来计算。mrwp_location_diff_x[i]字段、mrwp_location_diff_y[i]字段和mrwp_location_diff_z[i]字段的范围可以在-32768*216–1(即,-2147483647)到32768*216(即,2147483648)的范围(包含端点)内。

mrwp_rotation_diff_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段和mrwp_rotation_diff_roll[i]字段可以分别以2-16度为单位指示第i视图相对于锚视图的偏航旋转角、俯仰旋转角和滚转旋转角。换句话说、mrwp_rotation_diff_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段和mrwp_rotation_diff_roll[i]字段可以指示第i视图相对于锚视图的观看方向的偏航角、俯仰角和滚转角。通过分别相加mrwp_rotation_diff_yaw[i]字段和mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段和mrwp_rotation_anchor_view_pitch[i]字段、以及mrwp_rotation_diff_roll[i]字段和mrwp_rotation_anchor_view_roll[i]字段,可以计算出第i视图相对于全局坐标的偏航旋转角、俯仰旋转角和滚转旋转角。它们被应用于与mrwp_view_id[i]字段、mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段和mrwp_location_anchor_view_y[i]字段相关的第i视图的单位球体,以将局部坐标轴转换为全局坐标轴。

mrwp_rotation_diff_yaw[i]字段的值可以在-180*216(即,-11796480)至180*216-1(即,11796479)的范围(包含端点)内,mrwp_rotation_diff_pitch[i]字段的值可以在-90*216(即,-5898240)到90*216(即,5898240)的范围(包含端点)内,并且mrwp_rotation_diff_roll[i]字段的值可以在-180*216(即,-11796480)至180*216-1(即,11796479)的范围(包含端点)内。mrwp_rotation_diff_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段和mrwp_rotation_diff_roll[i]字段可以分别用于指示方位角、仰角和倾斜角。

参考表1,多视图按区域打包信息可以包括num_component_minus1[i]字段、mrwp_component_id[i][j]字段、mrwp_component_type[i][j]字段、mrwp_projection_type[i][j]字段、mrwp_proj_picture_width[i][j]字段、mrwp_proj_picture_height[i][j]字段、mrwp_coverage_horizontal[i][j]字段和/或mrwp_coverage_vertical[i][j]字段。

num_component_minus1[i]字段可以在sei消息中指定第i视图中的多个分量。具体地,num_component_minus1[i]字段加1可以指定在sei消息中考虑的第i视图中的分量的数量。

mrwp_component_id[i][j]字段可以指定标识号,该标识号可以用于标识第i视图的第j分量。换句话说,mrwp_component_id[i][j]字段可以指定第i视图的第j分量的标识号。

mrwp_component_type[i][j]字段可以指定第i视图的第j分量的类型。例如,mrwp_component_type[i][j]字段等于0可以指示未指定第j分量的类型。mrwp_component_type[i][j]字段等于1可以指示第j分量是视频分量。mrwp_component_type[i][j]字段等于2可以指示第j分量是深度图。

mrwp_component_type[i][j]字段等于3可以指示第j分量是阿尔法通道。mrwp_component_type[i][j]字段等于4可以指示第j分量是左眼视图的视频分量。mrwp_component_type[i][j]字段等于5可以指示第j分量是右眼视图的视频分量。mrwp_component_type[i][j]字段等于6可以指示第j分量是双眼视图的视频分量。mrwp_component_type[i][j]字段等于7可以指示第j分量是左眼视图的残差视频分量。mrwp_component_type[i][j]字段等于8可以指示第j分量是右眼视图的残差视频分量。mrwp_component_type[i][j]字段等于9可以指示第j分量是双眼视图的残差视频分量。mrwp_component_type[i][j]字段的值从10到15被保留以供未来使用。这里,视频分量可以被称为纹理分量。

mrwp_projection_type[i][j]字段可以指定第i视图的第j分量的用于从360球体(例如,球体视频/图像或360度视频)生成投影图片的投影类型。例如,mrwp_projection_type[i][j]字段等于0可以指示未指定第i视图的第j分量的投影类型。mrwp_projection_type[i][j]字段等于1可以指示第i视图的第j分量的投影类型为等距柱状投影。mrwp_projection_type[i][j]字段等于2可以指示第i视图的第j分量的投影类型是立方图投影。mrwp_projection_type[i][j]字段的值从3到15被保留用于未来使用。

mrwp_proj_picture_width[i][j]字段和mrwp_proj_picture_height[i][j]字段可以以样本为单位分别指定针对第i视图的第j分量的投影图片中的区域的宽度和高度。这里,区域是投影图片中的第i视图的第j分量被投影的区域。换句话说,该区域是包括投影图片中的第i视图的第j分量的区域。mrwp_proj_picture_width字段和mrwp_proj_picture_height字段的值都可以大于0。

mrwp_coverage_horizontal[i][j]字段和mrwp_coverage_vertical[i][j]字段可以以2-16度为单位分别指定第i视图的第j分量的水平覆盖范围和垂直覆盖范围。

参考表1,多视图按区域打包信息可以包括depth_near[i][j]字段和/或depth_far[i][j]字段。

depth_near[i][j]字段和depth_far[i][j]字段可以以2-16度为单位指定从图像平面到第i视图的第j分量的对象的最小距离和最大距离。换句话说,depth_near[i][j]字段和depth_far[i][j]字段可以以2-16度为单位分别指定第i视图的第j分量的最小深度值和最大值。这里,图像平面可以表示第i视图的第j分量的投影图片。

参考表1,多视图按区域打包信息可以包括mrwp_rotation_component_diff_yaw[i][j]字段、mrwp_rotation_component_diff_pitch[i][j]字段和/或mrwp_rotation_component_diff_roll[i][j]字段。

mrwp_rotation_component_diff_yaw[i][j]字段、mrwp_rotation_component_diff_pitch[i][j]字段、mrwp_rotation_component_diff_roll[i][j]字段可以以2-16度为单位分别指示第i视图的第j分量相对于第i视图的参考旋转角的偏航旋转角差、俯仰旋转角差和滚转旋转角差。第i视图的第j分量相对于全局坐标的偏航旋转角、俯仰旋转角和滚转旋转角可以通过分别将每个差值和参考旋转角相加来计算。例如,可以通过将偏航旋转角差和偏航基准旋转角相加来计算第i视图的第j分量相对于全局坐标的偏航旋转角,可以通过将俯仰旋转角差和俯仰参考旋转角相加来计算第i视图的第j分量相对于全局坐标的俯仰旋转角,并且可以通过将滚转旋转角差和滚转基准旋转角相加来计算第i视图的第j分量相对于全局坐标的滚转旋转角。

mrwp_rotation_component_diff_yaw[i]字段的值可以在-180*216(即,-11796480)到180*216-1(即,11796479)的范围(包含端点)内,mrwp_rotation_component_diff_pitch[i]字段的值可以在-90*216(即,-5898240)至90*216(即,5898240)的范围(包含端点)内,并且mrwp_rotation_component_diff_roll[i]字段的值可以在-180*216(即,-11796480)至180*216–1(即,11796479)的范围(包含端点)内。mrwp_rotation_component_diff_yaw[i]字段、mrwp_rotation_component_diff_pitch[i]字段和mrwp_rotation_component_diff_roll[i]字段可以分别用于指示方位角、仰角和倾斜角。

参考表1,多视图按区域打包信息可以包括mrwp_packed_region_width[i][j]字段、mrwp_packed_region_height[i][j]字段、mrwp_packed_region_top[i][j]字段和/或mrwp_packed_region_left[i][j]字段。

mrwp_packed_region_width[i][j]字段、mrwp_packed_region_height[i][j]字段、mrwp_packed_region_top[i][j]字段和mrwp_packed_region_left[i][j]字段可以以样本为单位分别指定针对第i视图的第j分量的打包图片或打包图片的组成图片中的区域的宽度、高度、顶部样本行、以及最左样本列。当composition_picture_matching_flag字段的值等于0时,mrwp_packed_region_width[i][j]字段、mrwp_packed_region_height[i][j]字段、mrwp_packed_region_top[i][j]字段和mrwp_packed_region_left[i][j]字段可以以样本为单位分别指定针对第i视图的第j分量的打包图片的打包图片中的区域的宽度、高度、顶部样本行和最左样本列。当constituent_picture_matching_flag字段的值等于1时,mrwp_packed_region_width[i][j]字段、mrwp_packed_region_height[i][j]字段、mrwp_packed_region_top[i][j]字段和mrwp_packed_region_left[i][j]可以以样本为单位分别指定针对第i视图的第j分量的打包图片的组成图片中的区域的宽度、高度、顶部样本行和最左样本列。这里,区域是在打包图片或打包图片的组成图片中的、第i视图的第j分量被投影的区域。换句话说,该区域是包括打包图片或打包图片的组成图片中的第i视图的第j分量的区域。

参考表1,多视图按区域打包信息可以包括num_packed_regions字段、packed_picture_width字段和/或packed_picture_height字段。

当constituent_picture_matching_flag字段的值等于0时,num_packed_regions字段可以指定打包区域的数量。此外,num_packed_regions字段的值可以大于0。此外,当constituent_picture_matching_flag字段的值等于1时,打包区域的总数可以等于num_packed_regions字段*2,并且num_packed_regions字段条目的循环的每个条目中的信息可以应用于投影图片和打包图片的每个组成图片。

packed_picture_width字段和packed_picture_height字段可以以相对打包图片样本为单位分别指定打包图片的宽度和高度。packed_picture_width字段和packed_picture_height字段的值都可以大于0。

对比特流一致性的要求是:packed_picture_width字段和packed_picture_height字段的值可以为这样的值,即packed_picture_width字段是croppicwidth的整数倍,并且packed_picture_height字段是croppicheight的整数倍,其中croppicwidth和croppicheight为裁剪后的解码图片的宽度和高度。

参考表1,多视图按区域打包信息可以包括num_view_id_minus1[i]字段。

num_view_id_minus1[i]字段可以指定描述第i打包区域的多个视图指示符。例如,num_view_id_minus1[i]字段加1指定描述第i打包区域的视图指示符的数量。num_view_id_minus1[i]字段大于1可以表示第i打包区域被不同视图共享。

参考表1,多视图按区域打包信息可以包括view_idx[i][j]字段、num_component_id_minus1[i][j]字段、component_idx[i][j][k]字段、proj_region_width[i][j][k]字段、proj_region_height[i][j][k]字段、proj_region_top[i][j][k]字段和/或proj_region_left[i][j][k]字段。

view_idx[i][j]字段可以指定描述关于第i打包区域的第j视图的视图信息和投影图片信息的第j视图指示符。view_idx[i][j]字段的值可以与当前sei消息中定义的mrwp_view_id[i]字段的值之一匹配。换句话说,view_idx[i][j]字段和mrwp_view_id[i]字段可以指定相同的视图。因此,由第j视图指示符描述的视图信息和投影图片信息可以是由mrwp_view_id[i]字段指示的视图的视图信息和投影图片信息。

num_component_id_minus1[i][j]字段可以指定描述第i打包区域的第j视图的多个分量视图指示符。例如,num_component_id_minus1[i][j]字段加1指定描述第i打包区域的分量视图指示符的数量。num_component_id_minus1[i][j]字段大于1可以表示第i打包区域在第j视图的分量之间被共享。

component_idx[i][j][k]字段可以指定第j视图的第k分量指示符,该第k分量指示符描述与第i打包区域有关的投影图片的分量类型、投影类型和大小。component_idx[i][j][k]字段的值可以与当前sei消息中定义的mrwp_component_id[i][j]字段的值之一匹配。换句话说,component_idx[i][j][k]字段和mrwp_component_id[i][j]字段可以指定相同的分量。

proj_region_width[i][j][k]字段、proj_region_height[i][j][k]字段、proj_region_top[i][j][k]字段和proj_region_left[i][j][k]字段可以分别指定在投影图片内或者投影图片的组成图片内的第i投影区域的宽度、高度、顶部样本行和最左样本列。当constituent_picture_matching_flag字段的值等于0时,proj_region_width[i][j][k]字段、proj_region_height[i][j][k]字段、proj_region_top[i][j][k]字段和proj_region_left[i][j][k]字段可以分别指定投影图片内的第i投影区域的宽度、高度、顶部样本行和最左样本列。当constituent_picture_matching_flag字段的值等于1时,proj_region_width[i][j][k]字段、proj_region_height[i][j][k]字段、proj_region_top[i][j][k]字段和proj_region_left[i][j][k]字段可以分别指定投影图片的组成图片内的第i投影区域的宽度、高度、顶部样本行和最左样本列。这里,投影图片可以表示由component_idx[i][j][k]字段和view_idx[i][j]字段指示的观看位置的分量的投影图片。

另外,第i投影区域可以对应于第i打包区域,第i打包区域可以通过针对第i投影区域的多视图按区域打包来推导。可以以相对投影图像样本为单位指示proj_region_width[i][j][k]字段、proj_region_height[i][j][k]字段、proj_region_top[i][j][k]字段和proj_region_left[i][j][k]区域。另外,两个投影区域可以彼此部分或全部交叠。

参考表1,多视图按区域打包信息可以包括rwp_reserved_zero_4bits[i]字段、rwp_transform_type[i]字段、rwp_guard_band_flag[i]字段、packed_region_width[i]字段、packed_region_height[i]字段、packed_region_top[i]字段和/或packed_region_left[i]字段。

在符合本说明书的该版本的比特流中,rwp_reserved_zero_4bits[i]字段可以等于0。针对rwp_reserved_zero_4bits[i]字段的其它值被保留用于itu-t|iso/iec在未来使用。解码器可以忽略rwp_reserved_zero_4bits[i]字段的值。

rwp_transform_type[i]字段可以指定要应用于第i打包区域的旋转和镜像,以重新映射到第i投影区域。当rwp_transform_type[i]字段指定旋转和镜像二者时,旋转将在镜像之前应用。rwp_transform_type[i]字段的值被指定如下。

例如,rwp_transform_type[i]字段等于0可以指示没有变换(即,旋转和镜像)被用于第i打包区域。rwp_transform_type[i]字段等于1可以指示应用于第i打包区域的变换是水平镜像。rwp_transform_type[i]字段等于2可以指示应用于第i打包区域的变换是旋转180度(逆时针)。rwp_transform_type[i]字段等于3可以指示应用于第i打包区域的变换是在水平镜像之后旋转180度(逆时针)。rwp_transform_type[i]字段等于4可以指示应用于第i打包区域的变换是在水平镜像之前旋转90度(逆时针)。rwp_transform_type[i]字段等于5可以指示应用于第i打包区域的变换是旋转90度(逆时针)。rwp_transform_type[i]字段等于6可以指示应用于第i打包区域的变换是在水平镜像之前旋转270度(逆时针)。rwp_transform_type[i]字段等于7可以指示应用于第i打包区域的变换是旋转270度(逆时针)。

rwp_guard_band_flag[i]字段可以指定第i打包区域是否具有保护带。例如,rwp_guard_band_flag[i]字段等于0指定第i打包区域不具有保护带。rwp_guard_band_flag[i]字段等于1指定第i打包区域具有保护带。

packed_region_width[i]字段、packed_region_height[i]字段、packed_region_top[i]字段和packed_region_left[i]字段可以指定在按区域打包图片内或在按区域打包图片的每个组成图片内的第i打包区域的宽度、高度、顶部亮度样本行和最左亮度样本列。当constitutent_picture_matching_flag等于0时,packed_region_width[i]字段、packed_region_height[i]字段、packed_region_top[i]字段和packed_region_left[i]字段可以分别指定按区域打包图片内的第i打包区域的宽度、高度、顶部亮度样本行和最左亮度样本列。当constituent_picture_matching_flag等于1时,packed_region_width[i]字段、packed_region_height[i]字段、packed_region_top[i]字段和packed_region_left[i]字段可以分别指定按区域打包图片的每个组成图片内的第i打包区域的宽度、高度、顶部亮度样本行和最左亮度样本列。

packed_region_width[i]字段、packed_region_height[i]字段、packed_region_top[i]字段和packed_region_left[i]字段可以以相对按区域打包图片样本为单位来指示。packed_region_width[i]字段、packed_region_height[i]字段、packed_region_top[i]字段和packed_region_left[i]字段可以表示裁剪后的解码图片内的亮度样本单元的整数水平和垂直坐标。

参考表1,多视图按区域打包信息可以包括rwp_left_guard_band_width[i]字段、rwp_right_guard_band_width[i]字段、rwp_top_guard_band_height[i]字段、rwp_bottom_guard_band_height[i]字段、rwp_guard_band_not_used_for_pred_flag[i]字段、rwp_guard_band_type[i]字段、和/或rwp_guard_band_reserved_zero_3bits[i][j]字段。

rwp_left_guard_band_width[i]字段可以以相对按区域打包图片样本为单位指定第i打包区域的左侧的保护带的宽度。当chroma_format_idc字段等于1(即,按区域打包图片的色度格式为4:2:0色度格式)或2(即,按区域打包图片的色度格式为4:2:2色度格式)时,rwp_left_guard_band_width[i]字段可以对应于裁剪后的解码图片中的偶数个亮度样本。另外,在第i打包区域的左侧的保护带的高度可以等于第i打包区域的高度。

rwp_right_guard_band_width[i]字段可以以相对按区域打包图片样本为单位指定在第i打包区域的右侧的保护带的宽度。当chroma_format_idc字段等于1(即,按区域打包图片的色度格式为4:2:0色度格式)或2(即,按区域打包图片的色度格式为4:2:2色度格式)时,rwp_right_guard_band_width[i]字段可以对应于裁剪后的解码图片中的偶数个亮度样本。另外,第i打包区域的右侧的保护带的高度可以等于第i打包区域的高度。

rwp_top_guard_band_height[i]字段可以以相对按区域打包图片样本为单位指定第i打包区域上方的保护带的高度。当chroma_format_idc字段等于1(即,按区域打包图片的色度格式是4:2:0色度格式)时,rwp_top_guard_band_height[i]字段可以对应于裁剪后的解码图片中的偶数个亮度样本。另外,在第i打包区域上方的保护带的宽度可以等于第i打包区域的宽度。

rwp_bottom_guard_band_height[i]字段可以以相对按区域打包图片样本为单位指定第i打包区域下方的保护带的高度。当chroma_format_idc字段等于1(即,按区域打包图片的色度格式是4:2:0色度格式)时,rwp_bottom_guard_band_height[i]字段可以对应于裁剪后的解码图片中的偶数个亮度样本。另外,在第i打包区域下方的保护带的宽度可以等于第i打包区域的宽度。

当rwp_guard_band_flag[i]字段等于1时,rwp_left_guard_band_width[i]字段、rwp_right_guard_band_width[i]字段、rwp_top_guard_band_height[i]字段或rwp_bottom_guard_band_height[i]字段可以大于0。

由该sei消息指定的第i打包区域可以不与由相同的sei消息指定的任何其它打包区域或由相同sei消息指定的任何保护带交叠。

此外,由该sei消息指定的与第i打包区域相关联的保护带(如果有)可以不与由相同sei消息指定的任何打包区域或由相同sei消息指定的任何其它保护带交叠。

rwp_guard_band_not_used_for_pred_flag[i]字段可以指定在帧间预测过程中是否使用了针对第i打包区域的保护带。例如,rwp_guard_band_not_used_for_pred_flag[i]字段等于0指定在帧间预测过程中可以使用或可以不使用保护带。rwp_guard_band_not_used_for_pred_flag[i]字段等于1指定在帧间预测过程中不使用保护带的样本值。

具体地说,当rwp_guard_band_not_used_for_pred_flag[i]字段的值等于1时,即使将裁剪后的解码图片用作将被解码的后续图片的帧间预测的参考,也可以重写裁剪后的解码图片中的保护带的样本值。例如,打包区域的内容可以利用另一个打包区域的解码和重新投影的样本被无缝扩展到其保护带。

rwp_guard_band_type[i][j]字段可以如下指示针对第i打包区域的保护带的类型。另外,j等于0、1、2或3的rwp_guard_band_type[i][j]字段指示以下语义分别应用于第i打包区域的左边缘、右边缘、上边缘或下边缘:

例如,rwp_guard_band_type[i][j]字段等于0可以指示与打包区域的内容有关的保护带的内容未被指定。当rwp_guard_band_not_used_for_pred_flag[i]字段等于0时,rwp_guard_band_type[i][j]字段可以不等于0。

rwp_guard_band_type[i][j]字段等于1可以指示保护带的内容足以将样本值插值在打包区域内的子像素样本分数位置处并且将少于一个样本插值在打包区域的边界外侧。例如,当将第i打包区域的边界样本水平地或垂直地复制到保护带时,可以使用等于1的rwp_guard_band_type[i][j]字段。

rwp_guard_band_type[i][j]字段等于2可以指示保护带的内容表示实际图片内容,该实际图片内容与打包区域中的内容在球形上相邻,并且以从打包区域的图片质量到球形相邻打包区域的图片质量逐渐改变的质量位于打包区域的表面上。换句话说,rwp_guard_band_type[i][j]字段等于2可以指示保护频带的内容表示实际图片内容。这里,实际图片内容可以与第i打包区域中的内容在球形上相邻,并且实际图片内容以从打包区域的图片质量到球形相邻打包区域的图片质量逐渐改变的质量位于打包区域的表面上。

rwp_guard_band_type[i][j]字段等于3可以指示保护带的内容表示实际图片内容,该实际图片内容与打包区域中的内容在球形上相邻,并且以与打包区域内的图片质量类似的图片质量位于打包区域的表面上。换句话说,rwp_guard_band_type[i][j]字段等于3可以指示保护带的内容表示与第i打包区域中的内容在球形上相邻并且以与第i打包区域内的图片质量类似的图片质量位于第i打包区域的表面上的实际图片内容。

rwp_guard_band_type[i][j]字段的大于3的值被保留用于itu-t|iso/iec的未来使用。解码器可以将当值大于3时的rwp_guard_band_type[i][j]字段的值视为等于值0。

在符合本说明书的该版本的比特流中,rwp_guard_band_reserved_zero_3bits[i]字段可以等于0。rwp_guard_band_reserved_zero_3bits[i]字段的其它值可以保留用于itu-t|iso/iec的未来使用。解码器可以忽略rwp_guard_band_reserved_zero_3bits[i]字段的值。

此外,变量numpackedregions、packedregionleft[n]、packedregiontop[n]、packedregionwidth[n]、packedregionheight[n]、projregionleft[n]、projregiontop[n]、projregionwidth[n]、projregionheight[n]和transformtype[n]可以如下得出:

对于在0到num_packed_regions字段-1的范围(包含端点)内的n,应用以下内容:

packedregionleft[n]可以设置为等于packed_region_left[n]。packedregiontop[n]设置为等于packed_region_top[n]字段。packedregionwidth[n]设置为等于packed_region_width[n]字段。packedregionheight[n]设置为等于packed_region_height[n]字段。projregionleft[n]设置为等于proj_region_left[n]字段。projregiontop[n]设置为等于proj_region_top[n]字段。projregionwidth[n]设置为等于proj_region_width[n]字段。projregionheight[n]设置为等于proj_region_height[n]字段。transformtype[n]设置为等于rwp_transform_type[n]字段。

此外,如果constituent_picture_matching_flag字段的值等于0,则应用以下内容:

numpackedregions设置为等于num_packed_regions字段。否则(constituent_picture_matching_flag字段的值等于1),应用以下内容:

numpackedregions设置为等于2*num_packed_regions字段。

此外,当topbottomflag等于1时,应用以下内容:

projleftoffset和packedleftoffset都设置为等于0。projtopoffset设置为等于proj_picture_height字段/2,并且packedtopoffset设置为等于packed_picture_height字段/2。

另外,当sidebysideflag等于1时,应用以下内容:

projleftoffset设置为等于proj_picture_width字段/2,并且packedleftoffset设置为等于packed_picture_width字段/2。projtopoffset和packedtopoffset都设置为0。

此外,对于numpackedregions/2到numpackedregions-1的范围(包含端点)内的n,应用以下内容:

nidx设置为等于n-numpackedregions/2。packedregionleft[n]设置为等于packed_region_left[nidx]字段+packedleftoffset。packedregiontop[n]设置为等于packed_region_top[nidx]字段+packedtopoffset。packedregionwidth[n]设置为等于packed_region_width[nidx]字段。packedregionheight[n]设置为等于packed_region_height[nidx]字段。projregionleft[n]设置为等于proj_region_left[nidx]+projleftoffset。projregiontop[n]设置为等于proj_region_top[nidx]+projtopoffset。projregionwidth[n]设置为等于proj_region_width[nidx]字段。projregionheight[n]设置为等于proj_region_height[nidx]字段。transformtype[n]设置为等于rwp_transform_type[nidx]字段。

另外,对于在0到numpackedregions-1的范围(包含端点)内的n的每个值,projregionwidth[n]、projregionheight[n]、projregiontop[n]和projregionleft[n]的值被约束如下:

projregionwidth[n]可以在1到proj_picture_width字段的范围(包含端点)内。projregionheight[n]可以在1到proj_picture_height字段的范围(包含端点)内。projregionleft[n]可以在0到proj_picture_width字段-1的范围(包含端点)内。projregiontop[n]可以在0到proj_picture_height字段-1的范围(包含端点)内。

如果projregiontop[n]小于proj_picture_height字段/verdiv1,则projregiontop[n]和projregionheight[n]的总和可以小于或等于proj_picture_height字段/verdiv1。否则,projregiontop[n]和projregionheight[n]的总和可以小于或等于proj_picture_height字段/verdiv1*2。

对于在0到numpackedregions-1的范围(包含端点)内的n的每个值,packedregionwidth[n]、packedregionheight[n]、packedregiontop[n]和packedregionleft[n]的值被约束如下:

packedregionwidth[n]可以在1到packed_picture_width字段的范围(包含端点)内。projregionheight[n]可以在1到packed_picture_height字段(包含端点)的范围内。packedregionleft[n]可以在0到packed_picture_width字段-1的范围(包含端点)内。packedregiontop[n]可以在0到packed_picture_height字段-1的范围(包含端点)内。

如果packedregionleft[n]小于packed_picture_width字段/hordiv1,则packedregionleft[n]和packedregionwidth[n]的总和可以小于或等于packed_picture_width字段/hordiv1。否则,packedregionleft[n]和packedregionwidth[n]的总和可以小于或等于packed_picture_width字段/hordiv1*2。

如果packedregiontop[n]小于packed_picture_height字段/verdiv1,则packedregiontop[n]和packedregionheight[n]的总和可以小于或等于packed_picture_height字段/verdiv1。否则,packedregiontop[n]和packedregionheight[n]的总和可以小于或等于packed_picture_height字段/verdiv1*2。

此外,当chroma_format_idc等于1(4:2:0色度格式)或2(4:2:2色度格式)时,packedregionleft[n]可以对应于亮度样本单位的偶数水平坐标值,并且packedregionwidth[n]可以对应于解码图片内的偶数个亮度样本。另外,当chroma_format_idc等于1(4:2:0色度格式)时,packedregiontop[n]可以对应于亮度样本单位的偶数垂直坐标值,而projregionheight[n]可以对应于解码图片内的偶数个亮度样本。

图10示出了用于提供使用多视图按区域打包信息的3dof内容/3dof+内容的总体架构。

参考图10,描述了多视图3dof+视频的端到端流程图,该流程图由多视图按区域打包和解包(包括选择)组成。

具体地,可以通过音频传感器以及一组相机或具有多个镜头和传感器的相机设备来捕获现实世界视听场景(a)。该获取可以产生一组数字图像/视频(bi)和音频(ba)信号。相机/镜头通常可以覆盖相机组或相机设备的中心点周围的所有方向,因此称为360度视频。

由纹理/深度相机镜头在相同时间实例和/或不同的头部位置和/或不同的视点捕获的图像(bi)可以被拼接,可能被旋转,按每视图和/或视点被投影,然后被映射到打包图片(d)。

具体地,打包图片(d)可以被编码为编码图像(ei)或编码视频比特流(ev)。所捕获的音频(ba)可以被编码为音频比特流(ea)。然后,根据特定媒体容器文件格式,可以将编码的图像、视频和/或音频构图为用于文件回放的媒体文件或初始化片段和用于流传输(fs)的媒体片段的序列。媒体容器文件格式可以是iso基本媒体文件格式。文件封装器还可以将元数据包括在文件或片段中,诸如帮助渲染解码后的打包图片的多视图按区域打包信息。

例如,文件中的元数据包括:

-有关表示视图的局部球体坐标的位置和旋转的元数据,

-有关视图的局部球体与针对视图的锚视图的位置和旋转差异的元数据,

-有关视图的投影图片的投影格式的元数据,

-有关视图的投影图片的覆盖范围的元数据,

-有关多视图按区域打包信息的元数据,以及

-有关按区域质量排序的元数据。

片段fs可以使用传送机构被传送到播放器。

文件封装器输出的文件(f)可以与文件解封装器输入的文件(f')相同或不同。文件解封装器可以处理文件(f')或接收的片段(f's)并且提取编码的比特流(e'a、e'v和/或e'i)并且解析元数据。然后,可以将音频、视频和/或图像解码为解码信号(对于音频是b'a,对于图像/视频是d')。可以基于当前观看方向或视口和/或视图(例如,头部位置)和/或视点和从文件中解析的投影、球形覆盖、旋转和多视图按区域打包元数据,将解码后的打包图片(d')投影到头戴式显示器或任何其它显示设备的屏幕上。同样,根据当前观看方向,例如通过耳机,可以渲染解码的音频(b'a)。当前观看方向可以通过头部跟踪并且可能还有眼睛跟踪功能来确定。除了由渲染器用来渲染解码视频和音频信号的适当部分之外,视频和音频解码器还可以将当前观看方向用于解码优化。

另外,例如,可以在诸如isobmff、omaf的文件格式域中定义多视图按区域打包的语法。换句话说,可以在诸如isobmff、omaf的文件格式域中以盒的形式包括多视图按区域打包信息。

根据一个实施方式,可以如下表所示定义multiviewregionwisepackingbox。

[表2]

multiviewregionwisepackingbox可以指定打包区域与视图的分量的相应投影区域(例如,眼睛视图、观看位置或视点)之间的映射的信息以及保护带的位置和大小(如果有的话)。

例如,如下表所示,multiviewregionwisepackingbox可以包括当前图像/视频的多视图按区域打包信息。

[表3]

multiviewregionwisepackingbox中的语法的含义与上述多视图按区域打包sei消息中的语法的含义相同。

另外,当通过基于dash的自适应流传输模型提供针对3dof+内容的广播服务或通过基于dash的自适应流传输模型流传输3dof+内容的视频时,上述字段相关元数据(即,多视图按区域打包信息)可以以dashmpd中包含的基于dash的描述符格式用信号发送。即,可以以基于dash的描述符格式来修改上述实施方式。基于dash的描述符格式可以包括essentialproperty描述符和supplementalproperty描述符。表示360视频相关元数据的上述字段的描述符可以包括在mpd的adaptationset、representation或subrepresentation中。

例如,基于dash的描述符可以包括@schemeiduri字段、@value字段和/或@id字段。

@schemeiduri字段可以提供用于标识方案或相应描述符的uri。@value字段可以具有由@schemeiduri字段指示的方案定义的值。即,@value字段可以具有根据对应方案的描述符元素的值,其可以称为参数。这些可以用“,”来区分。@id字段可以指示相应描述符的id。当描述符具有相同的id时,描述符可以包括相同的方案id、值和参数。

图11示出了具有多视图的纹理、残差和深度图的多视图按区域打包的预编码过程的示例。

参考图11,描述了基于每个视图和分量的按区域打包的多视图按区域打包的预编码处理的示例。在图11中,可以假定视点是不变的,所以到多视图按区域打包的多个输入源自不同的视图和不同的分量。如图11所示,每个视图可以由不同的分量组成(例如,纹理和深度图),它们通过拼接、旋转、投影和帧(即,图片)打包过程被生成为每个视图的每个分量的投影图片。另外,利用视图之间的冗余度(例如,锚视图和右头部运动视图之间的冗余度)可以为次要视图生成纹理的残差、深度或其它分量(如果可能)。通过消除视图之间的冗余信息,可以提高比特效率。可以将每个视图的投影图片(包括纹理、残差和深度)打包成单个2d图像平面(例如,打包图片),然后可以使用单层视频编码器(诸如,hevc或vvc)对视频进行编码。

图12示出了多视图按区域打包的后解码器过程的示例。参考图12,描述了多视图按区域打包的后解码器过程的示例。具体地说,在针对至少一个编码图像(即,打包图片)进行解码之后,360视频接收装置的后解码器处理器可以针对每个视点每视图生成多个投影图像。但是,由于并非所有图像都在显示设备上播放,因此可以基于观看者的视点和观看位置生成目标投影图片。这里,观看者可以被称为用户。在图12中,假设选择了视点a的视图b,并且可以在显示之前将相关投影图片(诸如,纹理、残差和深度图)输入到渲染器。换句话说,在显示之前,可以将仅映射了用于所选视图b的分量(例如,纹理、残差、深度图)的投影图片输入到渲染器。

图13示出了针对视点a的视图b的具有纹理、残差和深度图的多视图按区域打包的解码处理的示例。

参考图13,描述了解码器和后解码器过程的详细流程图。在图13中,假定hevc单层解码器为解码器。参考图13,在由hevc解码器生成解码图片之后,选择与目标视图和视点(例如,视点a的视图b)相对应的打包区域,并且产生每个分量的投影图片(例如,纹理、残差和深度图)。如果所生成的投影图片包含残差图片,则可以生成用于残差图片的对应纹理图片(例如,锚视图的纹理),并且360视频接收装置可以基于残差图片和对应的纹理图片执行纹理构图步骤。在推导目标视图的纹理的投影图片以及深度的投影图片之后,每个投影图片都被映射到球体坐标上,并且在需要时对准每个球体的旋转。如果目标视图与解码图片中提供的图片不完全匹配,则可以使用相邻的一个或多个现有视图的纹理和深度图来合成视图。

具体地,例如,在每个步骤中,上述语法元素可以如下使用。

-视图选择

360视频接收装置可以找到与目标视图和视点匹配的视图,即,图3和图4中的视点a的视图b,视点位置由mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段、以及mrwp_location_anchor_view_z[i]字段给出,并且观看位置由针对锚视图的mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段以及mrwp_location_anchor_view_z[i]字段或者由针对次要视图的mrwp_location_anchor_view_x[i]字段+mrwp_location_diff_x[i]字段、mrwp_location_anchor_view_y[i]字段+mrwp_location_diff_y[i]字段、和mrwp_location_anchor_view_z[i]字段+mrwp_location_diff_z[i]字段计算出的(x,y,z)位置给出。换句话说,基于由mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段和mrwp_location_anchor_view_z[i]字段给出的视图的位置或者由针对次要视图的mrwp_location_anchor_view_x[i]字段+mrwp_location_diff_x[i]字段、mrwp_location_anchor_view_y[i]字段+mrwp_location_diff_y[i]字段、和mrwp_location_anchor_view_z[i]字段+mrwp_location_diff_z[i]字段计算的视图的位置,360视频接收装置可以找到与目标视图匹配的视图。这里,视图可以表示观看位置或视点。

此外,观看位置或视点的位置可以通过其它方式用信号发送,诸如由在包含所有视点的超球体中的方位角、仰角和倾斜角给出的方向、观看位置以及距超球体的原点的距离。当视点和观看位置与目标视点和目标观看位置相匹配时,第i视图指示符mrwp_view_id[i]字段在随后的区域选择过程中使用。

-区域选择

360视频接收装置可以找到具有与由mrwp_view_id[i]字段指示的目标视图匹配的视图索引view_idx[i][j]字段的打包区域。另外,如果不是与由mrwp_view_id[i]字段指示的第i视图相对应的所有分量(例如,观看位置)被使用,则可以通过使用mrwp_component_type[i][j]字段来丢弃那些分量。

此外,在生成目标视图的投影图片时,mrwp_proj_picture_width[i][j]字段和mrwp_proj_picture_height[i][j]字段可用于指示由mrwp_component_id[i][j]字段指示的分量类型mrwp_component_type[i][j]字段的投影图片的大小。

一旦确定了图片大小,就可以从在由packed_region_top[i]字段、packed_region_left[i]字段指示的位置处的打包图片中选择区域,区域大小由packed_region_width[i]字段、packed_region_height[i]字段指示。换句话说,可以选择打包图片中的由packed_region_top[i]字段、packed_region_left[i]字段、packed_region_width[i]字段和packed_region_height[i]字段指示的区域。

利用由与所选区域相对应的component_idx[i][j][k]字段指示的分量索引,可以将其映射到由mrwp_component_type[i][j]字段指示的分量类型的投影图片上。由mrwp_component_type[i][j]字段指示的分量类型对应于与component_idx[i][j][k]字段对应的mrwp_component_id[i][j]字段。可以针对由num_packed_regions字段用信号发送的所有数量的打包区域执行区域选择和到投影图片的映射,并且输出可以是所选视图和视点的所选分量的投影图片。

-纹理构图

如果所选视图的分量包含残差,则可以通过将所选视图的残差和参考图片(例如,锚视图的纹理的投影图片)进行构图来生成所选视图的纹理的投影图片。对于此步骤,解码器可能需要从多个视图生成图片。详细过程可能包括运动估计、利用适当运动信息进行视图之间的补偿。残差可以传送其它分量,例如深度图。

-球体坐标转换

为了在选定视图内或视图之间对准分量,可以使用mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotation_anchor_view_pitch[i]字段、mrwp_rotation_anchor_view_roll[i]字段或mrwp_rotation_diff_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段、mrwp_rotation_diff_roll[i]字段指示的每个视图的旋转来对准全局坐标。

-视图合成

如果所选视图与目标视图不匹配,则可以通过使用相邻视图的纹理和深度来合成视图。这里,相邻视图可以是与目标视图的位置相邻的视图。而且,详细过程可以包括视图之间的深度改变估计过程,并且诸如depth_near[i][j]字段和depth_far[i][j]字段的深度信息可以用于估计视图之间的深度改变。

图14a和图14b示出了针对包括多个视图的视频的多视图按区域打包过程的示例。图14a示出了针对多个观看位置的打包图片的多视图按区域打包过程的示例。图14b示出了针对眼睛视图的打包图片的多视图按区域打包过程的示例。

参考图14a和图14b,可以通过在观看位置之间或在眼睛视图之间共享区域来有效地减小打包图片的尺寸。在图14a中,示出了在观看位置之间共享区域的两种不同的使用情况。具体地,如果区域之间存在高相关性,则如图14a的(a)所示,可以使用一个视图中的一个区域替代另一个区域。同样,如图14a的(b)所示,借助于附加残差,一个视图中的一个区域可以被用作基本图片。在这个过程中,共享区域可以是视图之间的区域之一或它们的平均。

同样,可以在左眼视图和右眼视图的投影图片之间共享区域。在图14b中,示出了在眼睛视图之间共享区域的两种不同的使用情况。

例如,如图14b的(a)所示,可以使用一个眼睛视图中的一个区域替代另一个区域。另外,如图14b的(b)所示,借助于附加残差,一个眼睛视图中的一个区域可以用作基本图片。

图15示意性地示出了由根据本发明的360视频发送装置执行的360视频数据处理方法。图15所示的方法可以由图8中所示的360视频发送装置执行。具体地,图15中的s1500可以由360视频发送装置的数据输入单元执行,s1510可以由360视频发送装置的投影处理器来执行,s1520可以由360视频发送装置的打包处理器来执行,s1530可以由360视频发送装置的数据编码器来执行,s1540可以由360视频发送装置的元数据编码器来执行,并且s1550可以由360视频发送装置的发送处理器来执行。

360视频发送装置获取针对多个视图的360度视频(s1500)。360视频发送装置可以获取由至少一个相机捕获的视图的360视频。这里,视图可以表示眼睛视图、观看位置或视点。

360视频发送装置通过处理360度视频来生成针对视图的投影图片(s1510)。360视频发送装置可以根据各种投影方案中的针对每个视图的360视频数据的投影方案来执行投影。另外,360视频发送装置可以确定每个视图的360视频数据是否被拼接。例如,当投影方案对应于特定方案(即,关于360视频数据的投影方案信息指示特定方案)时,360视频发送装置可以确定未拼接每个视图的360视频数据。此外,各种投影方案可以包括等距柱状投影方案、立方投影方案、圆柱投影方案、基于拼贴的投影方案、金字塔投影方案、全景投影方案以及将视频数据直接投影到2d图像上而不拼接的特定方案。

此外,当每个视图的360视频数据时,360视频发送装置可以拼接每个视图的360视频数据,并且将拼接的360视频数据投影到每个视图的基于2d的图片上。当未拼接每个视图的360视频数据时,360视频发送装置可以将360视频数据投影到每个视图的基于2d的图片上而不拼接。这里,基于2d的图片可以被称为每个视图的2d图像或投影图片。而且,360视频发送装置可以分别投影每个视图的投影分量,可以推导每个分量的投影图片。例如,分量可以包括纹理、深度和/或残差。

360视频发送装置通过打包投影图片来生成打包图片(s1520)。360视频发送装置可以针对投影图片执行按区域打包过程。根据按区域打包过程,将视图的投影图片打包到2d图像平面中。这里,可以将2d图像平面称为打包图片。例如,可以将投影图片中的投影区域映射到打包图片中的打包区域上。另外,将变换应用于投影图片中的投影区域,并且将投影区域映射到打包图片中的打包区域上。360视频发送装置可以生成指示变换类型的信息。另外,360视频发送装置可以生成打包区域的保护带。多视图按区域打包信息可以包括关于打包区域的保护带的信息。

360视频发送装置对打包图片进行编码(s1530)。360视频发送装置可以对打包图片进行编码。

360视频发送装置生成关于360度视频的元数据(s1540)。360视频发送装置可以生成关于多视图按区域打包的元数据。

例如,元数据可以包括多视图按区域打包信息。这里,元数据可以被称为信令信息。

多视图按区域打包信息可以包括:multiview_regionwise_packing_id字段、multiview_regionwise_packing_cancel_flag字段、multiview_regionwise_packing_persistence_flag字段、constituent_picture_matching_flag字段、packing_format_matching_between_views_flag字段、num_view_minus1字段、mrwp_view_id[i]字段、mrwp_anchor_view_flag[i]字段、mrwp_view_independent_rotation_flag[i]字段、mrwp_all_components_in_one_packedregion_flag[i]字段、mrwp_reserved_zero_4bits[i]字段、mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段、mrwp_location_anchor_view_z[i]字段、mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotation_anchor_view_pitch[i]字段、mrwp_rotation_anchor_view_roll[i]字段、mrwp_location_diff_x[i]字段、mrwp_location_diff_y[i]字段、mrwp_location_diff_z[i]字段、mrwp_rotation_diff_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段、mrwp_roation_diff_roll[i]字段、num_component_minus1[i]字段、mrwp_component_id[i][j]字段、mrwp_component_type[i][j]字段、mrwp_projection_type[i][j]字段、mrwp_proj_picture_width[i][j]字段、mrwp_proj_picture_height[i][j]字段、mrwp_coverage_horizontal[i][j]字段、mrwp_coverage_vertical[i][j]字段、depth_near[i][j]字段、depth_far[i][j]字段、mrwp_rotation_component_diff_yaw[i][j]字段、mrwp_rotation_component_diff_pitch[i][j]字段、mrwp_rotation_component_diff_roll[i][j]字段、mrwp_packed_region_width[i][j]字段、mrwp_packed_region_height[i][j]字段、mrwp_packed_region_top[i][j]字段、mrwp_packed_region_left[i][j]字段、num_packed_regions字段、packed_picture_width字段、packed_picture_height字段、num_view_id_minus1[i]字段、view_idx[i][j]字段、num_component_id_minus1[i][j]字段、component_idx[i][j][k]字段、proj_region_width[i][j][k]字段、proj_region_height[i][j][k]字段、proj_region_top[i][j][k]字段、proj_region_left[i][j][k]字段、rwp_reserved_zero_4bits[i]字段、rwp_transform_type[i]字段、rwp_guard_band_flag[i]字段、packed_region_width[i]字段、packed_region_height[i]字段、packed_region_top[i]字段、packed_region_left[i]字段、rwp_left_guard_band_width[i]字段、rwp_right_guard_band_width[i]字段、rwp_top_guard_band_height[i]字段、rwp_bottom_guard_band_height[i]字段、rwp_guard_band_not_used_for_pred_flag[i]字段、rwp_guard_band_type[i]字段、和/或rwp_guard_band_reserved_zero_3bits[i][j]字段。多视图按区域打包信息的字段的含义与上述含义相同。

具体地,多视图按区域打包信息可以包括关于每个视图的信息。

例如,多视图按区域打包信息可以包括关于视图的信息。

根据一个实施方式,关于视图的信息可以包括指示视图的标识号的视图的视图索引。视图的视图索引可以表示mrwp_view_id[i]字段。

此外,关于视图的信息可以包括指示针对该视图的多个分量的信息。关于视图的信息可以包括关于针对该视图的投影图片的每个分量的信息。指示针对视图的分量数量的信息可以表示num_component_minus1[i]字段。

例如,关于投影图片的分量的信息可以包括指示分量的标识号的视图的分量索引和指示分量的类型的信息。另外,关于投影图片的分量的信息可以包括指示投影图片的投影类型的信息。视图的分量索引可以表示mrwp_component_id[i][j]字段,并且指示分量类型的信息可以表示mrwp_component_type[i][j]字段。指示投影图片的投影类型的信息可以表示mrwp_projection_type[i][j]字段。投影类型是等矩柱状投影和立方图投影之一。

此外,关于投影图片的分量的信息可以包括指示投影图片的宽度和高度的信息、以及指示分量的水平覆盖范围和垂直覆盖范围的信息。指示投影图片的宽度和高度的信息可以分别表示mrwp_proj_picture_width[i][j]字段和mrwp_proj_picture_height[i][j]字段。

此外,关于视图的信息可以包括指示视图是否是锚视图的锚视图标记。当锚视图标记指示视图是锚视图时,关于视图的信息可以包括指示锚视图的位置的x分量、y分量和z分量的信息。锚视图标记可以表示mrwp_anchor_view_flag[i]字段。指示锚视图的位置的x分量、y分量和z分量的信息可以分别表示mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段、mrwp_location_anchor_view_z[i]字段。

此外,当锚视图标记指示视图是锚视图时,关于视图的信息可以包括指示锚视图的旋转的偏航角、俯仰角和滚转角的信息。指示锚视图的旋转的偏航角、俯仰角和滚转角的信息可以分别表示mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotation_anchor_view_pitch[i]字段、mrwp_rotation_anchor_view_roll[i]字段。

此外,当锚视图标记指示视图不是锚视图时,关于视图的信息可以包括指示视图的位置的x分量、y分量和z分量的信息以及指示视图的旋转的偏航角、俯仰角和滚转角的信息。指示视图的位置的x分量、y分量和z分量的信息可以分别表示mrwp_location_diff_x[i]字段、mrwp_location_diff_y[i]字段、mrwp_location_diff_z[i]字段。指示视图的旋转的偏航角、俯仰角和滚转角的信息可以分别表示mrwp_rotation_diff_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段、mrwp_rotation_diff_roll[i]字段。

此外,关于视图的信息可以包括指示一个打包区域是否包括视图的投影图片的所有分量的标记。当标记的值是1时,关于视图的信息可以包括指示打包图片中的打包区域的左上样本位置的信息、以及指示打包图片中的打包区域的宽度和高度的信息。指示打包图片中的打包区域的左上样本位置的信息可以分别表示mrwp_packed_region_top[i][j]字段和mrwp_packed_region_left[i][j]字段。指示打包图片中的打包区域的宽度和高度的信息可以分别表示mrwp_packed_region_width[i][j]字段和mrwp_packed_region_height[i][j]字段。

此外,例如,多视图按区域打包信息可以包括关于打包图片中的打包区域的信息。打包图片可以包括多个打包区域,多视图按区域打包信息可以包括关于打包图片中的每个打包区域的信息。多视图按区域打包信息可以包括指示打包图片中的打包区域的数量的信息。指示打包图片中的打包区域的数量的信息可以表示num_packed_regions字段。

具体地,关于打包区域的信息可以包括:针对打包区域的视图索引,其指示针对打包区域的视图的标识号;以及分量索引,其指示针对打包区域的视图的分量的标识号。针对打包区域的视图索引可以表示view_idx[i][j]字段,并且指示针对打包区域的视图的分量的标识号的分量索引可以表示component_idx[i][j][k]字段。多视图按区域打包信息可以包括关于针对打包区域的视图的多个分量的信息。关于打包区域的信息可以包括指示针对打包区域的视图的多个分量的信息。指示针对打包区域的视图的分量数量的信息可以表示num_component_id_minus1[i][j]字段。

此外,关于打包区域的信息可以包括指示视图的投影图片中的投影区域的左上样本位置的信息、以及指示视图的投影图片中的投影区域的宽度和高度的信息。在视图的投影图片的推导过程中,打包区域可以被映射到投影图片中的投影区域上。指示视图的投影图片中的投影区域的左上样本位置的信息可以分别表示proj_region_top[i][j][k]字段和proj_region_left[i][j][k]字段。指示视图的投影图片中的投影区域的宽度和高度的信息可以分别表示proj_region_width[i][j][k]字段和proj_region_height[i][j][k]字段。

此外,关于打包区域的信息可以包括指示打包图片中的打包区域的左上样本位置的信息、以及指示打包图片中的打包区域的宽度和高度的信息。指示打包图片中的打包区域的左上样本位置的信息可以分别表示packed_region_top[i]字段和packed_region_left[i]字段。指示打包图片中的打包区域的宽度和高度的信息可以分别表示packed_region_width[i]字段和packed_region_height[i]字段。

此外,例如,关于打包区域的信息可以包括指示是否存在打包区域的保护带的保护带标记。保护带标记可以表示rwp_guard_band_flag[i]字段。

此外,当保护带标记指示存在打包区域的保护带时,关于打包区域的信息可以包括指示打包区域的左保护带的宽度的信息、指示打包区域的右保护带的宽度的信息、指示打包区域的上保护带的高度的信息、以及指示打包区域的下保护带的高度的信息。指示打包区域的左保护带的宽度的信息、指示打包区域的右保护带的宽度的信息、指示打包区部域的上保护带的高度的信息以及指示打包区域的下保护带的高度的信息可以分别表示rwp_left_guard_band_width[i]字段、rwp_right_guard_band_width[i]字段、rwp_top_guard_band_width[i]字段、rwp_bottom_guard_band_width[i]字段。

360视频发送装置执行用于存储或发送编码图片和元数据的处理(s1550)。360视频发送装置可以将用于360度视频的编码图片和/或元数据封装到文件中。360视频发送装置可以以诸如isobmff和cff的文件格式来封装用于360度视频和/或元数据的编码图片,或者将用于360度视频和/或元数据的编码图片处理为诸如dash片段的形式,以便存储或发送编码后的360视频数据和/或元数据。例如,元数据可以包括在isobmff中的各个级别的盒中,或者可以包括作为文件中的单独轨道中的数据。此外,360视频发送装置可以将元数据封装在文件中。360视频发送装置可以根据文件格式对封装后的360视频数据执行用于发送的处理。360视频发送装置可以根据任意传输协议来处理360视频数据。用于发送的处理可以包括用于通过广播网络进行传送的处理或用于通过诸如宽带的通信网络进行传送的处理。另外,360视频发送装置可以对元数据执行用于发送的处理。360视频发送装置可以通过广播网络和/或宽带来发送处理后的360视频数据和元数据。

图16示意性地示出了用于执行根据本发明的360视频数据处理方法的360视频发送装置。图15中所示的方法可以由图16中所示的360视频发送装置执行。具体地,图16中的360视频发送装置的数据输入单元可以执行图15中的s1500,图16中的360视频发送装置的投影处理器可以执行图15中的s1510,图16中的360视频发送装置的打包处理器可以执行图15中的s1520,图16中的360视频发送装置的数据编码器可以执行图15中的s1530,图16中的360视频发送装置的元数据编码器可以执行图15中的s1540,并且图16中的360视频发送装置的发送处理器可以执行图15中的s1550。

根据本发明,可以提出一种通过支持头部运动视差在用户消费3dof+内容时提供交互体验的方法。

此外,根据本发明,可以通过多视图按区域打包来生成包含针对多个视图的分量的打包图片。因此,可以通过消除视图之间的冗余信息来提高3dof+内容的比特效率。

图17示意性地示出了由根据本发明的360视频接收装置执行的360视频数据处理方法。图17中所示的方法可以由图9中所示的360视频接收装置执行。具体地,图17中的s1700可以由360视频接收装置的数据输入单元执行,s1710可以由360视频接收装置的接收处理器/文件提取单元执行,s1720可以由360视频接收装置的数据解码器来执行,s1730和s1740可以由360视频接收装置的解包处理器执行,并且s1750可以由360视频接收装置的渲染器执行。

360视频接收装置接收针对多个视图的360度视频数据(s1700)。360视频接收装置可以接收针对视图的360度视频数据。这里,视图可以表示眼睛视图、观看位置或视点。360度视频数据可以包括针对每个视图的视频流。针对视图的视频流可以包括有关编码的打包图片的信息和元数据。所述视图可以包括至少一个视图集,并且视图集可包括锚视图。

360视频接收装置可以通过广播网络接收从360视频发送装置用信号发送的360度视频数据。另外,360视频接收装置可以通过诸如宽带或存储介质的通信网络来接收360度视频数据。

360视频接收装置推导有关打包图片的元数据和信息(s1710)。360视频接收装置可以对有关打包图片和元数据的接收信息执行根据传输协议的处理。此外,360视频接收装置可以执行与用于360视频发送装置的发送处理相反的处理。

这里,关于360度视频数据的元数据可以称为信令信息。另外,元数据可以通过sei消息被发送。此外,元数据可以被包括在mpd(媒体呈现描述)的自适应集、呈现或子呈现中。

例如,元数据可以包括多视图按区域打包信息。

多视图按区域多视图打包信息可以包括multiview_regionwise_packing_id字段、multiview_regionwise_packing_cancel_flag字段、multiview_regionwise_packing_persistence_flag字段、constituent_picture_matching_flag字段、packing_format_matching_between_views_flag字段、num_view_minus1字段、mrwp_view_id[i]字段、mrwp_anchor_view_flag[i]字段、mrwp_view_independent_rotation_flag[i]字段、mrwp_all_components_in_one_packedregion_flag[i]字mrwp_reserved_zero_4bits[i]字段、mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段、mrwp_location_anchor_view_z[i]字段、mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotaion_anchor_view_pitch[i]字段、mrwp_rotaion_anchor_view_roll[i]字mrwp_location_diff_x[i]字段、mrwp_location_diff_y[i]字段、mrwp_location_diff_z[i]字段、mrwp_rotation_diff_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段、mrwp_rotation_diff_roll[i]字段、num_component_minus1[i]字段、mrwp_component_id[i][j]字段、mrwp_component_type[i][j]字段、mrwp_projection_type[i][j]字段、mrwp_proj_picture_width[i][j]字段、mrwp_proj_picture_height[i][j]字段、mrwp_coverage_horizontal[i][j]字段、mrwp_coverage_vertical[i][j]字段、depth_near[i][j]字段、depth_far[i][j]字段、mrwp_rotation_component_diff_yaw[i][j]字段、mrwp_rotation_component_diff_pitch[i][j]字段、mrwp_rotation_component_diff_roll[i][j]字段、mrwp_packed_region_width[i][j]字段、mrwp_packed_region_height[i][j]字段、mrwp_packed_region_top[i][j]字段、mrwp_packed_region_left[i][j]字段、num_packed_regions字段、packed_picture_width字段、packed_picture_height字段、num_view_id_minus1[i]字段、view_idx[i][j]字段、num_component_id_minus1[i][j]字段、component_idx[i][j][k]字段、proj_region_width[i][j][k]字段、proj_region_height[i][j][k]字段、proj_region_top[i][j][k]字段、proj_region_left[i][j][k]字段、rwp_reserved_zero_4bits[i]字段、rwp_transform_type[i]字段、rwp_guard_band_flag[i]字段、packed_region_width[i]字段、packed_region_height[i]字段、packed_region_top[i]字段、packed_region_left[i]字段、rwp_left_guard_band_width[i]字段、rwp_right_guard_band_width[i]字段、rwp_top_guard_band_height[i]字段、rwp_bottom_guard_band_height[i]字段、rwp_guard_band_not_used_for_pred_flag[i]字段、rwp_guard_band_type[i]字段和/或rwp_guard_band_reserved_zero_3bits[i][j]字段。多视图按区域打包信息的字段的含义与上述含义相同。

具体地,多视图按区域打包信息可以包括关于每个视图的信息。

例如,多视图按区域打包信息可以包括关于目标视图的信息。这里,可以基于观看者的眼睛视图,观看位置或视点来推导目标视图。360视频接收装置可以通过使用元数据将视图的位置和/或观看方向与观看者的眼睛视图、观看位置或视点进行比较来选择目标视图。

根据一个实施方式,关于目标视图的信息可以包括指示目标视图的标识号的目标视图的视图索引。目标视图的视图索引可以表示mrwp_view_id[i]字段。

此外,关于目标视图的信息可以包括指示针对目标视图的多个分量的信息。关于目标视图的信息可以包括关于针对目标视图的投影图片的每个分量的信息。指示目标视图的分量的数量的信息可以表示num_component_minus1[i]字段。

例如,关于投影图片的分量的信息可以包括指示该分量的标识号的目标视图的分量索引以及指示该分量的类型的信息。另外,关于投影图片的分量的信息可以包括指示投影图片的投影类型的信息。目标视图的分量索引可以表示mrwp_component_id[i][j]字段,并且指示分量的类型的信息可以表示mrwp_component_type[i][j]字段。指示投影图片的投影类型的信息可以表示mrwp_projection_type[i][j]字段。投影类型是等矩柱状投影和立方图投影之一。

此外,关于投影图片的分量的信息可以包括指示投影图片的宽度和高度的信息、以及指示分量的水平覆盖范围和垂直覆盖范围的信息。指示投影图片的宽度和高度的信息可以分别表示mrwp_proj_picture_width[i][j]字段和mrwp_proj_picture_height[i][j]字段。

此外,关于目标视图的信息可以包括指示目标视图是否是锚视图的锚视图标记。当锚视图标记指示目标视图是锚视图时,关于目标视图的信息可以包括指示锚视图的位置的x分量、y分量和z分量的信息。锚视图标记可以表示mrwp_anchor_view_flag[i]字段。指示锚视图的位置的x分量、y分量和z分量的信息可以分别表示mrwp_location_anchor_view_x[i]字段、mrwp_location_anchor_view_y[i]字段、mrwp_location_anchor_view_z[i]字段。

此外,当锚视图标记指示目标视图是锚视图时,关于目标视图的信息可以包括指示锚视图的旋转的偏航角、俯仰角和滚转角的信息。指示锚视图的旋转的偏航角、俯仰角和滚转角的信息可以分别表示mrwp_rotation_anchor_view_yaw[i]字段、mrwp_rotation_anchor_view_pitch[i]字段、mrwp_rotation_anchor_view_roll[i]字段。

此外,当锚视图标记指示目标视图不是锚视图时,关于目标视图的信息可以包括指示目标视图的位置的x分量、y分量和z分量的信息以及指示目标视图的旋转的偏航角、俯仰角和滚转角的信息。指示目标视图的位置的x分量、y分量和z分量的信息可以分别表示mrwp_location_diff_x[i]字段、mrwp_location_diff_y[i]字段、mrwp_location_diff_z[i]字段。指示目标视图的旋转的偏航角、俯仰角和滚转角的信息可以分别表示mrwp_rotation_diff_yaw[i]字段、mrwp_rotation_diff_pitch[i]字段、mrwp_rotation_diff_roll[i]字段。

此外,关于目标视图的信息可以包括指示一个打包区域是否包括目标视图的投影图片的所有分量的标记。当标记的值是1时,关于目标视图的信息可以包括指示打包图片中的打包区域的左上样本位置的信息、以及指示打包图片中的打包区域的宽度和高度的信息。指示打包图片中的打包区域的左上样本位置的信息可以分别表示mrwp_packed_region_top[i][j]字段和mrwp_packed_region_left[i][j]字段。指示打包图片中的打包区域的宽度和高度的信息可以分别表示mrwp_packed_region_width[i][j]字段和mrwp_packed_region_height[i][j]字段。

另外,例如,多视图按区域打包信息可以包括有关打包图片中的打包区域的信息。打包图片可以包括多个打包区域,多视图按区域打包信息可以包括有关打包图片中的每个打包区域的信息。多视图按区域打包信息可以包括指示打包图片中的打包区域的数量的信息。指示打包图片中的打包区域的数量的信息可以表示num_packed_regions字段。

具体地,关于打包区域的信息可以包括:针对打包区域的视图索引,其指示针对打包区域的视图的标识号;以及分量索引,其指示针对打包区域的视图的分量的标识号。针对打包区域的视图索引可以表示view_idx[i][j]字段,并且指示打包区域的视图的分量的标识号的分量索引可以表示component_idx[i][j][k]字段。多视图按区域打包信息可以包括关于针对打包区域的视图的多个分量的信息。关于打包区域的信息可以包括指示针对打包区域的视图的分量数量的信息。指示针对打包区域的视图的分量数量的信息可以表示num_component_id_minus1[i][j]字段。

此外,关于打包区域的信息可以包括指示视图的投影图片中的投影区域的左上样本位置的信息、以及指示视图的投影图片中的投影区域的宽度和高度的信息。在视图的投影图片的推导过程中,打包区域可以被映射到投影图片中的投影区域上。指示视图的投影图片中的投影区域的左上样本位置的信息可以分别表示proj_region_top[i][j][k]字段和proj_region_left[i][j][k]字段。指示视图的投影图片中的投影区域的宽度和高度的信息可以分别表示proj_region_width[i][j][k]字段和proj_region_height[i][j][k]字段。

此外,关于打包区域的信息可以包括指示打包图片中的打包区域的左上样本位置的信息、以及指示打包图片中的打包区域的宽度和高度的信息。指示打包图片中的打包区域的左上样本位置的信息可以分别表示packed_region_top[i]字段和packed_region_left[i]字段。指示打包图片中的打包区域的宽度和高度的信息可以分别表示packed_region_width[i]字段和packed_region_height[i]字段。

另外,当针对打包区域的视图索引的值与目标视图的视图索引的值匹配并且针对打包区域的分量索引的值与目标视图的分量索引的值匹配时,可以将打包区域推导为针对目标视图的投影图片的特定打包区域。

此外,例如,关于打包区域的信息可以包括指示是否存在打包区域的保护带的保护带标记。保护带标记可以表示rwp_guard_band_flag[i]字段。

此外,当保护带标记指示存在打包区域的保护带时,关于打包区域的信息可以包括指示打包区域的左保护带的宽度的信息、指示打包区域的右保护带的宽度的信息、指示打包区域的上保护带的高度的信息、以及指示打包区域的下保护带的高度的信息。指示打包区域的左保护带的宽度的信息、指示打包区域的右保护带的宽度的信息、指示打包区域的上保护带的高度的信息、以及指示打包区域的下保护带的高度的信息可以分别表示rwp_left_guard_band_width[i]字段、rwp_right_guard_band_width[i]字段、rwp_top_guard_band_width[i]字段、rwp_bottom_guard_band_width[i]字段。

360视频接收装置基于有关打包图片的信息对打包图片进行解码(s1720)。360视频接收装置可以基于关于打包图片的信息来解码打包图片。

360视频接收装置基于元数据从打包图片中推导针对目标视图的特定打包区域(s1730)。360视频接收装置可以基于针对打包区域的视图索引和打包区域的分量索引来选择打包区域。例如,当针对打包区域的视图索引的值与目标视图的视图索引的值匹配并且针对打包区域的分量索引的值与目标视图的分量索引的值匹配时,打包区域被推导为特定打包区域。

360视频接收装置基于特定打包区域和元数据来推导目标视图的投影图片(s1740)。特定打包区域被映射到投影图片中的投影区域上。基于关于特定打包区域的信息,推导针对特定打包区域的投影区域。

360视频接收装置基于元数据渲染投影图片(s1750)。例如,360视频接收装置可以对解码图片执行重新投影。360视频接收装置可以基于元数据将解码后的图片重新投影到3d空间上。3d空间可以针对目标视图的分量根据投影类型的3d模型具有不同形式。例如,元数据可以包括关于3d模型的投影类型的信息和3d模型的详细信息(例如、mrwp_projection_type[i][j]字段)。根据一个实施方式,360视频接收装置可以使用元数据将与3d空间的特定区域相对应的投影图片的区域重新投影在3d空间上。360视频接收装置可以渲染重新投影的图片。根据一个实施方式,渲染器可以根据观看者的视口信息仅渲染由用户观看的部分。

图18示意性地示出了用于执行根据本发明的360视频数据处理方法的360视频接收装置。图17所示的方法可以由图18中的360视频接收装置执行。具体地,图18中的360视频接收装置的数据输入单元可以执行图17中的s1700,图18中的360视频接收装置的接收处理器/文件提取单元可以执行图17中的s1710,图18中的360视频接收装置的数据解码器可以执行图17中的s1720,并且图18中的360视频接收装置的渲染器可以执行图17的s1750。

根据本发明,可以提出一种通过支持头部运动视差在用户消费3dof+内容时提供交互体验的方法。

此外,根据本发明,可以通过多视图按区域打包来生成包含针对多个视图的分量的打包图片。因此,可以通过消除视图之间的冗余信息来提高3dof+内容的比特效率。

根据一个实施方式,可以省略上述步骤,或者由执行类似/相同操作的其它步骤代替。

根据本发明的实施方式的360视频发送装置可以包括上述数据输入单元、拼接器、信令处理器、投影处理器、数据编码器、发送处理器和/或发送器。上面已经描述了内部组件。根据本发明的实施方式的360视频发送装置及其内部组件可以执行关于本发明的发送360视频的方法的上述实施方式。

根据本发明的实施方式的360视频接收装置可以包括上述接收器、接收处理器、数据解码器、信令解析器、重新投影处理器和/或渲染器。上面已经描述了内部组件。根据本发明的实施方式的360视频接收装置及其内部组件可以执行关于本发明的接收360视频的方法的上述实施方式。

上述装置的内部组件可以是执行存储在存储器中的连续处理的处理器或硬件组件。这些组件可以位于装置内部/外部。

根据一个实施方式,上述模块可以被省略或由执行类似/相同操作的其它模块代替。

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

在以上示例性系统中,尽管已经基于使用一系列步骤或块的流程图描述了方法,但是本发明不限于这些步骤的顺序,并且某些步骤可以以与其余步骤的顺序不同的顺序或者可以与其余步骤同时执行。此外,本领域技术人员将理解,流程图中所示的步骤不是排他性的,并且可以包括其它步骤,或者可以删除流程图中的一个或多更个步骤,而不影响本发明的范围。

当上述实施方式以软件实现时,可以使用执行上述功能的模块(过程或功能)来实现上述方案。该模块可以被存储在存储器中并且由处理器执行。存储器可以设置在处理器内部或外部,并且使用各种众所周知的方式连接到处理器。处理器可以包括专用集成电路(asic)、其它芯片组、逻辑电路和/或数据处理器。存储器可以包括只读存储器(rom)、随机存取存储器(ram)、闪存、存储卡、存储介质和/或其它存储设备。

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