发送和接收关于动态视点的坐标系的元数据的方法和装置与流程

文档序号:22689103发布日期:2020-10-28 12:59阅读:152来源:国知局
发送和接收关于动态视点的坐标系的元数据的方法和装置与流程

本公开涉及用于360度视频数据的元数据,更具体地,涉及一种发送/接收关于动态视点的坐标系的元数据的方法和设备。



背景技术:

虚拟现实(vr)系统给予用户处于电子投影的环境中的感觉。增强现实(ar)系统在真实图像或背景上以交叠方式布置3d虚拟图像,以向用户提供处于虚拟和现实的混合环境中的感觉。用于提供vr或ar的系统可被进一步改进,以提供更高质量的图像和立体声。vr或ar系统可允许用户交互地消费vr或ar内容。

随着对vr或ar内容的需求增加,越来越需要一种更具体地用信号通知关于vr或ar内容中的多视点的信息的方法。



技术实现要素:

技术问题

本公开的目的在于提供一种用于处理360度视频数据的方法和设备。

本公开的另一目的在于提供一种发送或接收用于360度视频数据的元数据的方法和设备。

本公开的另一目的在于提供一种发送或接收关于动态视点的坐标系的元数据的方法和设备。

本公开的另一目的在于提供一种发送或接收指示动态视点的公共参考坐标系与全局坐标系之间的相对旋转角度是否改变的动态全局坐标系旋转标志的方法和设备。

本公开的另一目的在于提供一种发送或接收组全局坐标系旋转结构信息的方法和设备,该组全局坐标系旋转结构信息表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

技术方案

在本公开的一个方面,本文提供了一种由360度视频接收设备处理360度视频数据的方法。该方法可包括以下步骤:接收关于360度视频数据的信息;从关于360度视频数据的信息获取关于编码的画面的信息和元数据;基于关于编码的画面的信息将编码的画面解码;以及基于元数据来渲染解码的画面,其中,元数据包含组全局坐标系旋转结构信息,该组全局坐标系旋转结构信息表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

在本公开的另一方面,本文提供了一种用于处理360度视频数据的360度视频接收设备。该360度视频接收设备包括:接收器,其被配置为接收关于360度视频数据的信息;解封装处理器,其被配置为从关于360度视频数据的信息获取关于编码的画面的信息和元数据;数据解码器,其被配置为基于关于编码的画面的信息将画面解码;以及渲染器,其被配置为基于元数据来渲染解码的画面,其中,元数据包含组全局坐标系旋转结构信息,该组全局坐标系旋转结构信息表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

在本公开的另一方面,本文提供了一种由360度视频发送设备处理360度视频数据的方法。该方法包括以下步骤:获取由至少一个相机捕获的360度视频数据;处理360度视频数据并推导包括全向图像(omnidirectionalimage)的二维画面;生成360度视频数据的元数据;对关于二维画面的信息进行编码;以及基于关于二维画面的信息和元数据来执行封装,其中,元数据包含组全局坐标系旋转结构信息,该组全局坐标系旋转结构信息表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

在本公开的另一方面,本文提供了一种用于处理360度视频数据的360度视频发送设备。该360度视频发送设备包括:数据输入单元,其被配置为获取由至少一个相机捕获的360度视频数据;投影处理器,其被配置为处理360度视频数据并推导包括全向图像的二维画面;元数据处理器,其被配置为生成360度视频数据的元数据;数据编码器,其被配置为对关于二维画面的信息进行编码;以及封装处理器,其被配置为基于关于二维画面的信息和元数据来执行封装,其中,元数据包含组全局坐标系旋转结构信息,该组全局坐标系旋转结构信息表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

有益效果

根据本公开,可在支持采用地面广播网络和互联网的下一代混合广播的环境中高效地发送vr内容。

根据本公开,可向消费360内容的用户提供交互式体验。

根据本公开,可在增加传输容量的同时将必要的360内容信息高效地传送给用户。

根据本公开,可通过基于国际标准化组织(iso)的媒体文件格式(例如,iso基础媒体文件格式(isobmff))来高效地存储和发送关于360度视频数据的信令信息。

根据本公开,可通过基于纯文本传输协议(http)的自适应流传输(例如,基于http的动态自适应流传输(dash))来发送关于360度视频数据的信令信息。

根据本公开,可通过补充增强信息(sei)消息或视频可用性信息(vui)来存储和发送关于360度视频数据的信令信息,从而改进总体传输效率。

根据本公开,可有效地用信号通知关于动态视点的坐标系的元数据。

根据本公开,可有效地用信号通知动态全局坐标系旋转标志,该动态全局坐标系旋转标志指示动态视点的公共参考坐标系与全局坐标系之间的相对旋转角度是否改变。

根据本公开,可有效地用信号通知组全局坐标系旋转结构信息,该组全局坐标系旋转结构信息表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

附图说明

图1是示出根据实施方式的用于提供360内容的总体架构的图。

图2和图3示出根据一些实施方式的媒体文件的结构。

图4示出基于dash的自适应流模型的总体操作的示例。

图5是示意性地示出根据实施方式的360视频发送设备的配置的图。

图6是示意性地示出根据实施方式的360视频接收设备的配置的图。

图7是示出用于描述根据实施方式的3d空间的飞行器主轴的概念的图。

图8示例性地示出应用了360视频处理过程和基于投影格式的区域式打包过程的2d图像。

图9a和图9b示例性地示出根据一些实施方式的投影格式。

图10a和图10b是示出根据一些实施方式的拼块的图。

图11示出根据实施方式的360度视频相关元数据的示例。

图12示意性地示出视点、观看位置和观看取向的概念。

图13是示意性地示出根据实施方式的用于提供3dof+视频的示例性架构的图。

图14a和图14b是示出3dof+端对端系统架构的示例的图。

图15是示意性地示出flus架构的示例的图。

图16是示意性地示出3dof+发送终端的配置的示例的图。

图17是示意性地示出3dof+接收终端的配置的示例的图。

图18是示出根据实施方式的关于观看取向的信息的图。

图19是示出根据实施方式的360度视频发送设备的操作方法的流程图。

图20是示出根据实施方式的360度视频发送设备的配置的框图。

图21是示出根据实施方式的360度视频接收设备的操作方法的流程图。

图22是示出根据实施方式的360度视频接收设备的配置的框图。

图23示例性地示出能够支持本公开的实施方式的装置。

图24示出本公开的技术特征适用于的示例性5g使用场景。

图25示出根据本公开的实施方式的服务系统。

具体实施方式

根据本公开的实施方式,本文提供了一种由360度视频接收设备处理360度视频数据的方法。该方法包括以下步骤:接收关于360度视频数据的信息;从关于360度视频数据的信息获取关于编码的画面的信息和元数据;基于关于编码的画面的信息将编码的画面解码;以及基于元数据来渲染解码的画面,其中,元数据包含组全局坐标系旋转结构信息,该组全局坐标系旋转结构信息表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

模式

下面描述的技术特征可应用于运动图像专家组(mpeg)标准化组织的标准规范,并且可用在处理视频、图像或音频的技术领域中。例如,以下描述中公开的方法或实施方式可涉及mpeg-i标准(iso/iec23090)或mpeg-i标准(iso/iec23090)之后的下一代标准的公开。

本公开可经受各种改变并且可具有各种实施方式,并且将参照附图详细描述具体实施方式。然而,这并非旨在将本公开限于具体实施方式。本说明书中使用的术语仅用于说明特定实施方式,而非旨在限制本公开的技术精神。除非上下文清楚地另外指示,否则单数表达包括复数表达。在本说明书中,术语“包括”或“具有”旨在指示存在本说明书中公开的特性、数字、步骤、操作、组成和组件或其组合,不应被理解为排除一个或更多个其它特性、数字、步骤、操作、组成、组件或其组合的存在或添加。

尽管为了方便描述不同的功能而在附图中独立地示出本公开中描述的各个元件,但这并非意味着元件以彼此分离的硬件或软件元件实现。例如,两个或更多个元件可被组合以形成一个元件,或者一个元件可被分成多个元件。在不脱离本公开的实质的情况下,各个元件被集成和/或分离的实施方式也在本公开的范围内。

以下,将参照附图详细描述本公开的示例性实施方式。相同的标号将用于附图中的相同组件,并且省略相同组件的冗余描述。

图1是示出根据实施方式的用于提供360内容的总体架构的图。

在本说明书中,“图像”可意指包括静止图像和视频(随时间的一系列静止图像的集合)的概念。另外,“视频”未必意指随时间的一系列静止图像的集合。在一些情况下,静止图像可被解释为包括在视频中的概念。

为了向用户提供虚拟现实(vr),可考虑提供360度内容的方法。这里,360度内容可被称为三自由度(3dof)内容,vr可指复制真实或虚拟环境的技术或环境。vr可人为地向用户提供感官体验,因此用户可通过其体验电子投影的环境。

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

为了提供360度视频,可首先使用一个或更多个相机捕获360度视频。可通过一系列过程发送所捕获的360度视频,并且在接收方接收的数据可被处理成原始360度视频并被渲染。然后,360度视频可被提供给用户。

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

捕获过程可指通过一个或更多个相机捕获多个视点的图像或视频的过程。可通过捕获过程生成如图1的部分110所示的图像/视频数据。图1的部分110中的各个平面可指各个视点的图像/视频。所捕获的图像/视频可被称为原始数据。在捕获过程中,可生成与捕获有关的元数据。

用于vr的特殊相机可用于捕获。根据实施方式,当要提供使用计算机生成的虚拟空间的360度视频时,可不执行使用实际相机的捕获操作。在这种情况下,捕获过程可由简单地生成相关数据的过程代替。

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

首先,图像/视频可经受拼接过程。拼接过程可以是连接所捕获的图像/视频以创建单个全景图像/视频或球形图像/视频的过程。

然后,所拼接的图像/视频可经受投影过程。在投影过程中,所拼接的图像/视频可被投影到2d图像上。2d图像可根据上下文被称为2d图像帧。投影到2d图像上可被称为映射到2d图像。所投影的图像/视频数据可采取2d图像的形式,如图1的部分120所示。

投影到2d图像上的视频数据可经受区域式打包过程以便增加视频编码效率。区域式打包可指将投影到2d图像上的视频数据划分成区域并处理这些区域的过程。这里,区域可指通过划分投影有360度视频数据的2d图像而获得的区域。根据实施方式,这些区域可通过均等地或随机地划分2d图像来区分。根据实施方式,区域可根据投影方案来划分。区域式打包过程可以是可选过程,因此可从准备过程省略。

根据实施方式,该处理过程可包括旋转区域或在2d图像上重新布置区域以便增加视频编码效率的过程。例如,可旋转区域,使得区域的特定边被定位为彼此靠近。由此,编码效率可增加。

根据实施方式,处理过程可包括增加或减小特定区域的分辨率以便区分360度视频的区域的分辨率的过程。例如,可相对其它区域的分辨率增加与360度视频的相对重要的区域对应的区域的分辨率。投影到2d图像上的视频数据或区域式打包的视频数据可经受采用视频编解码器的编码过程。

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

发送过程可以是处理并发送通过准备过程获得的元数据以及图像/视频数据的过程。可执行根据任何传输协议的处理以用于发送。已被处理以用于发送的数据可经由广播网络和/或宽带传送。数据可按需传送至接收方。接收方可通过各种路径接收数据。

处理过程可指对所接收的数据进行解码并将投影的图像/视频数据重新投影到3d模型上的过程。在此过程中,投影到2d图像上的图像/视频数据可被重新投影到3d空间上。该过程可根据上下文被称为映射投影。这里,映射数据的3d空间的形状可取决于3d模型。例如,3d模型可包括球体、立方体、圆柱体和锥体。

根据实施方式,处理过程还可包括编辑过程和放大过程。在编辑过程中,可在重新投影之前或重新投影之后编辑图像/视频数据。当图像/视频数据具有减小的尺寸时,可在放大过程中通过放大样本来增加图像/视频数据的尺寸。必要时,可通过缩小来减小尺寸。

渲染过程可指渲染并显示重新投影到3d空间上的图像/视频数据的过程。重新投影和渲染可被统一表示为在3d模型上渲染。重新投影(或渲染)在3d模型上的图像/视频可采取如图1的部分130所示的形式。图1的部分130对应于图像/视频数据被重新投影到球体的3d模型上的情况。用户可通过vr显示器等观看所渲染的图像/视频的区域的一部分。这里,用户所观看的区域可采取如图1的部分140所示的形式。

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

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

视口信息可以是关于360度视频中用户当前观看的区域的信息。可使用该信息执行注视分析,以检查用户如何消费360度视频以及用户注视360度视频的区域多久。注视分析可在接收方执行,并且可在反馈信道上将分析的结果传送给发送方。诸如vr显示器的装置可基于用户头部的位置/取向、装置所支持的垂直或水平视场(fov)信息等来提取视口区域。

根据实施方式,上述反馈信息可在接收方消费以及传送给发送方。即,接收方的解码过程、重新投影过程和渲染过程可使用上述反馈信息执行。例如,可使用头部取向信息和/或视口信息仅优先解码和渲染与用户当前观看的区域对应的360度视频。

这里,视口或视口区域可指360度视频的用户当前观看的区域。视点可以是360度视频中用户所观看的点,并且可表示视口区域的中心点。即,视口是以视点为中心的区域,并且区域的尺寸和形状可由fov确定,这将稍后描述。

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

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

图2和图3示出根据一些实施方式的媒体文件的结构。

根据实施方式的媒体文件可包括至少一个盒。这里,盒可以是包含媒体数据或与媒体数据有关的元数据的数据块或对象。盒可按分层结构布置。因此,数据可根据盒分类,并且媒体文件可采取适合于大媒体数据的存储和/或传输的形式。另外,媒体文件可具有方便访问媒体信息的结构,如用户移到媒体内容中的特定点的情况一样。

根据实施方式的媒体文件可包括ftyp盒、moov盒和/或mdat盒。

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

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

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

根据实施方式,moov盒可包括mvhd盒、trak盒和/或mvex盒作为下级盒。

mvhd盒(电影头盒)可包含关于媒体文件中所包括的媒体数据的媒体呈现相关信息。即,mvhd盒可包含诸如媒体呈现的媒体生成时间、改变时间、时间标准和时段的信息。

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

根据实施方式,trak盒可包括tkhd盒(轨道头盒)作为下级盒。tkhd盒可包含关于trak盒所指示的轨道的信息。tkhd盒可包含诸如轨道的生成时间、改变时间和轨道标识符的信息。

mvex盒(电影扩展盒)可指示媒体文件可包括moof盒(将稍后描述)。可能需要扫描moov盒以识别特定轨道的所有媒体样本。

根据实施方式,媒体文件可被分成多个片段(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的文件可以是包括上述片段的文件。例如,该文件可对应于上述媒体分段。媒体分段可包括上述moof盒和/或mdat盒。媒体分段还可包括styp盒和/或sidx盒。

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

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

根据实施方式230,还可提供ssix盒。当分段被进一步划分成子分段时,ssix盒(子分段索引盒)可提供指示子分段的索引的信息。

媒体文件中的盒还可包含关于如实施方式250中所示的盒或fullbox的扩展信息。在此实施方式中,size字段、largesize可指示对应盒的长度(字节)。version字段可指示对应盒格式的版本。type字段可指示盒的类型或标识符。flags字段可指示与盒有关的标志。

根据实施方式,用于360度视频的字段(属性)可承载于基于dash的自适应流模型中。

图4示出基于dash的自适应流模型的总体操作的示例。

根据图中所示的实施方式400的基于dash的自适应流模型描述http服务器与dash客户端之间的操作。这里,dash(基于http的动态自适应流传输)是支持基于http的自适应流传输的协议,并且可根据网络条件动态地支持流传输。因此,可无缝地播放av内容。

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

dash客户端可获取分段,通过媒体引擎处理分段,并将处理的分段显示在屏幕上。dash客户端可通过实时反映回放时间和/或网络条件来请求并获取必要分段(自适应流传输)。因此,可无缝地播放内容。

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

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

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

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

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

媒体引擎可基于包括在分段中的媒体数据将内容显示在屏幕上。在此操作中,可使用mpd的信息。

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

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

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

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

essentialproperty可以是包括在处理对应媒体呈现相关数据时被视为必要元素的元素的信息。supplementalproperty可以是包括在处理对应媒体呈现相关数据时可使用的元素的信息。在实施方式中,当通过mpd传送时,可在essentialproperty和/或supplementalproperty中定义将稍后描述的描述符。

图5是示意性地示出根据实施方式的360视频发送设备的配置的图。

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

数据输入单元可接收各个捕获的视点的图像/视频。这些视点特定图像/视频可以是通过一个或更多个相机捕获的图像/视频。数据输入单元还可接收在捕获过程期间生成的元数据。数据输入单元可将输入的各个视点的图像/视频传送至拼接器,并且将捕获过程的元数据传送至信令处理器。

拼接器可针对各个视点对所捕获的图像/视频执行拼接。拼接器可将拼接的360视频数据传送至投影处理器。必要时,拼接器可从元数据处理器接收必要元数据并使用其来进行拼接。拼接器可将拼接过程中生成的元数据传送至元数据处理器。拼接过程的元数据可包含诸如是否执行拼接的指示和拼接类型的信息。

投影处理器可将拼接的360视频数据投影到2d图像上。投影处理器可根据各种方案执行投影(将稍后描述)。投影处理器可考虑各个视点的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视频相关元数据。这些数据可按照诸如isobmff的文件格式存储。当实时发送360视频时,可能不需要数据存储单元。然而,当按需、nrt(非实时)或经由宽带发送视频时,封装的360数据可被存储在数据存储单元中达特定时间段然后发送。

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

根据360视频发送设备的另一实施方式,区域式打包处理器可旋转各个区域并将其映射到2d图像上。在该操作中,各个区域可在不同的方向上以不同的角度旋转,然后被映射在2d图像上。可考虑投影之前在球面上与360视频数据邻近或拼接的部分来执行区域的旋转。可通过360视频相关元数据用信号通知关于区域的旋转的信息(即,旋转方向、角度等)。根据360视频发送设备的另一实施方式,数据编码器可针对各个区域不同地执行编码。数据编码器可对具有高质量的特定区域以及具有低质量的其它区域进行编码。发送方反馈处理器可将从360视频接收设备接收的反馈信息传送至数据编码器,使得数据编码器针对各个区域使用区分的编码方法。例如,发送方反馈处理器可将从接收方接收的视口信息传送至数据编码器。数据编码器可对包括视口信息所指示的区域的区域以比其它区域更高的质量(uhd等)进行编码。

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

然后,发送方反馈处理器可将从360视频接收设备接收的反馈信息传送至发送处理器,使得发送过程针对各个区域执行区分的发送处理。例如,发送方反馈处理器可将从接收方接收的视口信息传送至发送处理器。发送处理器可对包括视口信息所指示的区域的区域执行用于发送的处理,使得区域可具有比其它区域更高的鲁棒性。

上述360视频发送设备的内部/外部元件可以是以硬件实现的硬件元件。根据实施方式,内部/外部元件可被改变、省略、或由其它元件代替。根据实施方式,补充元件可被添加到360视频发送设备。

图6是示意性地示出根据实施方式的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空间中。在如上所述一次发生两个过程的情况下,重新投影处理器和渲染器可被集成,并且这些过程可全部由渲染器执行。根据实施方式,渲染器可根据关于用户的观看位置信息仅渲染用户正在观看的部分。

用户可通过vr显示器等观看渲染的360视频的一些区域。vr显示器是回放360视频的装置,并且可包括在360视频接收设备中(在系留状态下)或作为单独的装置连接到360视频接收设备(在非系留状态下)。

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

如上所述,反馈信息可不仅被传送至发送方,而且在接收方被消费。接收方反馈处理器可将所获取的反馈信息传送至360视频接收设备的内部元件,使得信息可被反映在诸如渲染的过程中。接收方反馈处理器可将反馈信息传送至渲染器、重新投影处理器、数据解码器和/或解封装处理器。例如,渲染器可基于反馈信息优先渲染用户所观看的区域。解封装处理器和数据解码器可优先解封装和解码用户正在观看或要观看的区域。

根据上述实施方式的360视频接收设备的内部/外部元件可以是以硬件实现的硬件元件。根据实施方式,内部/外部元件可改变、省略或由其它元件代替。根据实施方式,补充元件可被添加到360视频接收设备。

在另一方面,根据上述实施方式的360视频接收设备的操作方法可与发送360视频的方法和接收360视频的方法有关。根据实施方式的发送/接收360视频的方法可由根据上述实施方式的360视频发送/接收设备或由设备的实施方式实现。

根据上述实施方式的360视频发送/接收设备、发送/接收方法及其内部/外部元件的实施方式可彼此组合。例如,投影处理器的实施方式和数据编码器的实施方式可彼此组合,以配置与组合的数量一样多的360视频发送设备的实施方式。

图7是示出用于描述根据实施方式的3d空间的飞行器主轴的概念的图。

在本公开中,飞行器主轴的概念可用于表示3d空间中的特定点、位置、方向、间距、区域等。即,在本公开中,可描述在投影之前或投影之后给出的3d空间的概念,并且飞行器主轴的概念可用于对其执行信令。根据实施方式,可使用基于采用x轴、y轴和z轴的笛卡尔坐标系或球坐标系的方法。

飞行器可在三个维度自由地旋转。三维轴分别被称为俯仰轴、偏航轴和横滚轴。在本说明书中,这些轴可被简称为俯仰、偏航和横滚或俯仰方向、偏航方向、横滚方向。

在一个示例中,横滚轴可对应于笛卡尔坐标系的x轴或前后轴。另选地,在飞行器主轴的概念中横滚轴可以是从飞行器的前端到机尾延伸的轴,并且横滚方向上的旋转可指绕横滚轴的旋转。指示绕横滚轴旋转的角度的横滚值的范围可从-180度至180度,并且边界值-180度和180度可包括在该横滚值范围内。

在另一示例中,俯仰轴可对应于笛卡尔坐标系的y轴或左右轴。另选地,俯仰轴可指飞行器的前端向上/向下旋转所绕的轴。在飞行器主轴的所示概念中,俯仰轴可指从飞行器的一个机翼到另一机翼延伸的轴。表示绕俯仰轴旋转的角度的俯仰值的范围可介于-90度和90度之间,并且边界值-90度和90度可包括在该俯仰值范围内。

在另一示例中,偏航轴可对应于笛卡尔坐标系的z轴或垂直轴。另选地,偏航轴可指飞行器的前端向左/向右旋转所绕的参考轴。在飞行器主轴的所示概念中,偏航轴可指从飞行器的顶部到底部延伸的轴。表示绕偏航轴旋转的角度的偏航值的范围可从-180度至180度,并且边界值-180度和180度可包括在该偏航值范围内。

在根据实施方式的3d空间中,作为确定偏航轴、俯仰轴和横滚轴的参考的中心点可不是静态的。

如上所述,本公开中的3d空间可基于俯仰、偏航和横滚的概念来描述。

如上所述,投影在2d图像上的视频数据可经受区域式打包过程,以便增加视频编码效率等。区域式打包过程可指将投影到2d图像上的视频数据划分成区域并根据区域对其进行处理的过程。区域可指通过划分投影有360度视频数据的2d图像而获得的区域。2d图像的划分的区域可通过投影方案区分。这里,2d图像可被称为视频帧或帧。

在这方面,本公开提出了用于根据投影方案的区域式打包过程的元数据以及用信号通知该元数据的方法。可基于元数据更高效地执行区域式打包过程。

图8示例性地示出应用了360视频处理过程和基于投影格式的区域式打包过程的2d图像。

图8的(a)可示出处理输入的360度视频数据的过程。参照图8的(a),输入观看位置的360度视频数据可被拼接并根据各种投影方案投影到3d投影结构上。投影到3d投影结构上的360度视频数据可被表示为2d图像。即,360视频数据可被拼接并投影到2d图像中。投影有360视频数据的2d图像可被表示为投影帧。另外,上述可对投影帧执行。即,可执行诸如将投影帧上包括投影的360视频数据的区域划分成区域、旋转或重新布置各个区域或者改变各个区域的分辨率的处理。换言之,区域式打包过程可表示将投影帧映射到一个或更多个打包帧的过程。执行区域式打包过程可为可选的。当跳过区域式打包过程时,打包帧可与投影帧相同。当应用区域式打包过程时,投影帧的各个区域可被映射至打包帧的区域,并且可推导指示投影帧的各个区域映射至的打包帧的区域的位置、形状和尺寸的元数据。

图8的(b)和图8的(c)可示出投影帧的各个区域被映射至打包帧的区域的示例。参照图8的(b),360视频数据可根据全景投影方案被投影到2d图像(或帧)中。投影帧的顶部区域、中间区域和底部区域可经受区域式打包过程并如图的右侧所示重新布置。这里,顶部区域可表示2d图像上的全景的顶表面,中间区域可表示2d图像上的全景的中间表面,底部区域可表示2d图像上的全景的底表面。参照图8的(c),360视频数据可根据立方体投影方案被投影到2d图像(或帧)中。投影帧的前侧区域、后侧区域、顶部区域、底部区域、右侧区域和左侧区域可经受区域式打包过程并如图的右侧所示重新布置。这里,前侧区域可表示2d图像上的立方体的正面,后侧区域可表示2d图像上的立方体的背面。另外,顶部区域可表示2d图像上的立方体的顶面,底部区域可表示2d图像上的立方体的底面。右侧区域可表示2d图像上的立方体的右面,左侧区域可表示2d图像上的立方体的左面。

图8的(d)可示出可投影360视频数据的各种3d投影格式。参照图8的(d),3d投影格式可包括四面体、立方体、八面体、十二面体和二十面体。图8的(d)所示的2d投影可表示将投影到3d投影格式上的360视频数据表示为2d图像的投影帧。

根据实施方式,作为投影格式,例如,可使用各种投影格式(或投影方案)中的一些或全部。可通过例如元数据的投影格式字段来指示用于360视频的投影格式。

图9a和图9b示例性地示出根据一些实施方式的投影格式。

图9a的(a)可示出等边投影格式。当使用等边投影格式时,球面上的点(r,θ0,0)(即,θ=θ0和的点)可被映射到2d图像的中心像素。另外,前相机的主点可被假设为球面上的点(r,0,0)。另外,可被固定为因此,通过变换到xy坐标系中而获得的值(x,y)可通过下式变换为2d图像上的像素(x,y)。

[式1]

x=kxx+xo=kx(θ-θ0)r+xo

y=-kyy-yo

另外,当2d图像的左上像素位于xy坐标系的(0,0)处时,沿着x轴的偏移值和沿着y轴的偏移值可由下式给出。

[式2]

xo=kxπr

yo=-kyπ/2r

基于该式,用于变换到xy坐标系的式可如下给出。

[式3]

x=kxx+xo=kx(π+θ-θ0)r

例如,当θ0=0时,即,当2d图像的中心像素指示球面上θ=0的数据时,球面可被映射到2d图像中相对于(0,0)具有宽度=2kxπr和高度=kxπr的区域。球面上具有的数据可被映射到2d图像的整个顶侧。另外,球面上的(r,π/2,0)的数据可被映射到2d图像上的点(3πkxr/2,πkxr/2)。

在接收方,2d图像上的360视频数据可被重新投影到球面上。该操作的变换问题可如下给出。

[式4]

θ=θ0+x/kxr-π

例如,在2d图像上,xy坐标值为(kxπr,0)的像素可被重新投影到球面上θ=θ0和的点。

图9a的(b)可示出立方体投影格式。例如,拼接的360视频数据可显示在球面上。投影处理器可按立方体形状划分360视频数据以将其投影到2d图像上。球面上的360视频数据可对应于立方体的各个面,并且可如图9a的(b)的左侧或右侧所示投影到2d图像上。

图9a的(c)可示出圆柱体投影格式。假设拼接的360视频数据可显示在球面上,投影处理器可按圆柱体形状划分360视频数据并将其投影到2d图像上。球面上的360视频数据可分别对应于圆柱体的侧面、顶部和底部,并且可如图9a的(c)的左侧或右侧所示投影到2d图像上。

图9a的(d)可示出基于拼块的投影格式。当使用基于拼块的投影方案时,上述投影处理器可如图9a的(d)所示将球面上的360视频数据划分成一个或更多个详细区域,以将其投影到2d图像上。详细区域可被称为拼块。

图9b的(e)可示出锥体投影格式。当假设拼接的360视频数据可显示在球面上时,投影处理器可将360视频数据视为具有锥体形状并划分其各个面,以将其投影到2d图像上。球面上的360视频数据可分别对应于锥体的正面和锥体的四个侧面(左上、左下、右上、右下),并且可如图9b的(e)的左侧或右侧所示投影。这里,正面可以是包括通过面向前的相机获取的数据的区域。

图9b的(f)可示出全景投影格式。当使用全景投影格式时,上述投影处理器可如图9b的(f)所示仅将球面上的360视频数据的侧表面投影到2d图像上。这可与圆柱体投影方案中不存在顶部和底部的情况相同。

根据实施方式,可在没有拼接的情况下执行投影。图9b的(g)可示出在没有拼接的情况下执行投影的情况。当在没有拼接的情况下执行投影时,上述投影处理器可如图9b的(g)所示将360视频数据投影到2d图像上。在这种情况下,可跳过拼接,并且通过相机获取的各个图像可被直接投影到2d图像上。

参照图9b的(g),两个图像可在没有拼接的情况下被投影到2d图像上。各个图像可以是通过球面相机(或鱼眼相机)中的各个传感器获取的鱼眼图像。如上所述,接收方可拼接从相机传感器获取的图像数据,并将拼接的图像数据映射到球面上以渲染球形视频(即,360视频)。

图10a和图10b是示出根据一些实施方式的拼块的图。

在投影到2d图像上或者然后经受区域式打包之后获得的360视频数据可被划分成一个或更多个拼块。图10a示出一个2d图像被划分成16个拼块。这里,2d图像可以是上述投影帧或打包帧。根据本公开的360视频发送设备的另一实施方式,数据编码器可独立地编码各个拼块。

上述区域式打包和平铺彼此相区分。区域式打包可指将投影到2d图像上的360视频数据划分成区域并处理这些区域以改进编码效率或调节分辨率。平铺可被称为数据解码器将投影帧或打包帧划分成称为拼块的区段并独立地编码各个拼块的操作。当提供360视频时,用户不同时消费360视频的所有部分。平铺可使得可在有限的带宽上仅向接收方发送或消费与重要部分或特定部分(例如,用户当前观看的视口)对应的拼块。当执行平铺时,可更高效地利用有限的带宽,并且与一次处理所有360视频数据的情况相比,接收方可降低计算负荷。

区域和拼块彼此相区分,因此区域和拼块不需要相同。然而,根据实施方式,区域和拼块可指相同的区域。根据实施方式,根据拼块执行区域式打包,因此区域和拼块可相同。根据实施方式,当根据投影方案的各个面和区域相同时,根据投影方案的各个面、区域和拼块可指相同的区域。根据上下文,区域可被称为vr区域,或者拼块可被称为拼块区域。

感兴趣区域(roi)可指360内容提供商所建议的用户感兴趣的区域。在制作360视频时,360内容提供商可假设用户将对特定区域感兴趣来创建360视频。根据实施方式,roi可对应于360视频的内容中播放重要内容的区域。

根据360视频发送/接收设备的另一实施方式,接收方反馈处理器可提取和收集视口信息并将其发送到发送方反馈处理器。在此过程中,可使用两个网络接口在双方之间传送视口信息。在图10a的2d图像中,显示视口1000。这里,视口可跨越2d图像上的9个拼块。

在这种情况下,360视频发送设备还可包括平铺系统。根据实施方式,平铺系统可布置在数据编码器旁边(如图10b所示),可包括在上述数据编码器或发送处理器中,或者可作为单独的内部/外部元件包括在360视频发送设备中。

平铺系统可从发送方的反馈处理器接收视口信息。平铺系统可仅选择并发送包括视口区域的拼块。在图10a所示的2d图像中,可仅发送16个拼块当中包括视口区域1000的9个拼块。这里,平铺系统可经由宽带以单播方式发送拼块。这是因为视口区域在用户之间变化。

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

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

由于执行平铺操作,可节省传输带宽,并且可通过对各个拼块执行区分的处理来高效地执行数据处理/传输。

与视口区域有关的上述实施方式可按照相似的方式应用于视口区域以外的特定区域。例如,通过上述注视分析确定用户主要感兴趣的区域、roi以及当用户通过vr显示器观看360视频时首先播放的区域(初始视点)可按照与上述视口区域相同的方式处理。

根据360视频发送设备的另一实施方式,发送处理器可不同地处理各个拼块以用于发送。发送处理器可针对各个拼块应用不同的传输参数(调制阶数、码率等),使得为各个拼块传送的数据可具有不同的鲁棒性。

然后,发送方反馈处理器可将从360视频接收设备接收的反馈信息传送至发送处理器,使得发送处理器对各个拼块执行区分的处理以用于发送。例如,发送方反馈处理器可将从接收方接收的视口信息传送至发送处理器。发送处理器可对包括视口区域的拼块执行用于发送的处理,使得拼块可具有比其它拼块更高的鲁棒性。

图11示出根据实施方式的360度视频相关元数据的示例。

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

根据实施方式,将稍后描述的元数据的一部分可被配置在信令表中并传送,其其它部分可按照盒或轨道形式包括在文件格式中。

根据360度视频相关元数据的实施方式,360度视频相关元数据可包括与投影方案有关的默认元数据、立体相关元数据和初始视图/初始视点相关元数据、roi相关元数据、fov(视场)相关元数据和/或裁剪区域相关元数据。根据实施方式,360度视频相关元数据还可包括补充元数据。

360度视频相关元数据的实施方式可包括默认元数据、立体相关元数据、初始视图/视点相关元数据、roi相关元数据、fov相关元数据、裁剪区域相关元数据和/或可稍后添加的元数据中的至少一个。根据本公开的360度视频相关元数据的实施方式可根据各个实施方式中所包括的详细元数据的情况的数量以各种方式配置。根据实施方式,除了上述信息之外,360度视频相关元数据还可包含补充信息。

stereo_mode字段可指示对应360度视频所支持的3d布局。仅该字段可指示360度视频是否支持3d布局。在这种情况下,可省略上述is_stereoscopic字段。当该字段的值为0时,360度视频可处于单模式。即,投影的2d图像可仅包括一个单视图。在这种情况下,360度视频可不支持3d布局。

当该字段的值为1或2时,360度视频可分别符合左右布局和上下布局。左右布局和上下布局也可分别称为并排格式和上下格式。在左右布局中,投影有左/右图像的2d图像可在图像帧中分别位于左侧和右侧。在上下布局中,投影有左/右图像的2d图像可分别位于图像帧的顶部和底部。该字段的其它值可预留用于未来使用。

初始视图相关元数据可包括关于初始播放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度视频时的初始视图。即,可由这三个字段指示回放时初始显示的视口的中心点。具体地,initial_view_yaw_degree字段可指示初始视图的偏航值。即,initial_view_yaw_degree字段可指示中心点的位置绕偏航轴的旋转的方向(符号)和程度(角度)。initial_view_pitch_degree字段可指示初始视图的俯仰值。即,initial_view_pitch_degree字段可指示中心点的位置绕俯仰轴的旋转的方向(符号)和程度(角度)。initial_view_roll_degree字段可指示初始视图的横滚值。即,initial_view_roll_degree字段可指示中心点的位置绕横滚轴的旋转的方向(符号)和程度(角度)。基于initial_view_yaw_degree字段、initial_view_pitch_degree字段和initial_view_roll_degree字段,可指示回放360度视频时的初始视图(即,回放时初始显示的视口的中心点)。由此,360度视频的特定区域可被显示在初始视点处并提供给用户。另外,基于视场(fov),可确定初始视口相对于所指示的初始视图的宽度和高度。即,使用这三个字段和fov信息,360度视频接收设备可向用户提供360度视频的特定区域作为初始视口。

根据实施方式,初始视图相关元数据所指示的初始视图可在场景之间变化。即,360度视频的场景根据360内容的时间流而改变,并且用户首先看到的初始视图或初始视口可在360度视频的场景之间变化。在这种情况下,初始视图相关元数据可指示各个场景的初始视图。为此,初始视图相关元数据还可包括标识应用对应初始视图的场景的场景标识符。另外,由于fov可在360度视频的场景之间变化,所以初始视图相关元数据还可包括指示与场景对应的fov的场景特定fov信息。

roi相关元数据可包括与上述roi有关的信息。roi相关元数据可包括2d_roi_range_flag字段和/或3d_roi_range_flag字段。2d_roi_range_flag字段可指示roi相关元数据是否包括基于2d图像表示roi的字段,3d_roi_range_flag字段可指示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图像的区域可基于360度视频接收设备的垂直或水平fov来确定。另选地,根据实施方式,一次显示给用户的360度图像的区域可考虑该字段的fov信息来确定。

裁剪区域相关元数据可包括关于图像帧中实际包含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显示器是否使用图像帧的整个区域的标志。这里,360度视频数据映射至的区域或者显示在vr显示器上的区域可被称为有效视频区域。is_cropped_region字段可指示整个图像帧是不是有效视频区域。当仅图像帧的一部分是有效视频区域时,可进一步添加以下4个字段。

cr_region_left_top_x字段、cr_region_left_top_y字段、cr_region_width字段和cr_region_height字段可指示图像帧中的有效视频区域。这些字段可分别指示有效视频区域的左上的x坐标、有效视频区域的左上的y坐标、有效视频区域的宽度和有效视频区域的高度。宽度和高度可以像素为单位表示。

基于360视频的vr系统可基于上述360视频处理过程针对360视频相对于用户的位置针对不同的观看取向提供视觉/听觉体验。针对360视频在用户的固定位置针对不同的观看取向提供视觉/听觉体验的vr系统可被称为基于3自由度(dof)的vr系统。能够在不同的视点或观看位置针对不同的观看取向提供扩展的视觉/听觉体验的vr系统可被称为基于3dof+或3dofplus的vr系统。

图12示意性地示出视点、观看位置和观看取向的概念。

参照图12,当假设如(a)所示的空间(例如,剧院)时,空间中标记的圆可表示不同的视点。在同一空间中在各个视点处提供的视频/音频可在相同时区中彼此关联。在这种情况下,可在特定视点处根据用户注视方向的改变(例如,头部运动)向用户提供不同的视觉/听觉体验。即,可针对特定视点假设如(b)所示的各种观看位置的球体,并且可提供反映各个观看位置的相对位置的图像/音频/文本信息。

如(c)所示,在特定视点的特定观看位置,可如现有3dof的情况一样传送各种方向的视觉/听觉信息。此时,主要源(例如,图像/音频/文本)和各种附加源可被集成并提供。在这种情况下,可与用户的观看取向结合或独立地传送信息。

图13是示意性地示出根据实施方式的用于提供3dof+视频的示例性架构的图。

图13可示出包括3dof+图像获取、预处理、发送、(后)处理、渲染和反馈过程的3dof+端对端系统的流程图。

参照图13,获取过程可指通过360视频的捕获、合成或生成来获取360视频的过程。通过该过程,可针对多个位置获取根据注视方向的改变(例如,头部运动)的多条图像/音频信息。这里,图像信息可包括深度信息以及视觉信息(例如,纹理)。如图像信息的示例1310所示,可分别获取根据不同视点的不同观看位置的多条信息。

合成过程可包括将来自外部媒体的视频/图像、音频/声音效果和文本(字幕等)以及通过图像/音频输入装置获取的信息合成以将其包括在用户体验中的程序和方法。

预处理过程可以是发送/传送所获取的360视频的准备(预处理)过程,并且可包括上述拼接过程、投影过程、区域式打包过程和/或编码过程。即,该过程可包括根据制作者的意图改变/补充图像/声音/文本信息的预处理过程和编码过程。例如,图像的预处理可包括将所获取的视觉信息映射到360球体上的操作(拼接)、去除区域边界、减小颜色/亮度差异或者向图像添加视觉效果的校正操作(编辑)以及根据视图来对图像进行分段的操作(视图分段)以及将360球体上的图像映射到2d图像的操作(投影)以及根据区域来重新布置图像的操作(区域式打包)以及压缩图像信息的编码操作。如视频方面的示例1320所示,可生成根据不同视点的不同观看位置的多个投影图像。

发送过程可指处理和发送通过准备过程(预处理过程)形成的图像/音频数据和元数据的过程。作为根据不同视点发送不同观看位置的多个图像/音频数据和相关元数据的方法,可如上所述使用广播网络或通信网络,或者可使用单向传送方法。

后处理和合成过程可指将接收/存储的视频/音频/文本数据解码并最终对其回放的后处理过程。例如,后处理过程可包括将打包的图像解包的解包过程以及从2d投影的图像恢复3d球形图像的重新投影过程。

渲染过程可指在3d空间中渲染并显示重新投影的图像/视频数据的过程。在此过程中,视频/音频信号可被重构成用于最终输出的形式。可跟踪用户的roi的观看取向、观看位置/头部位置和视点,并且可根据该信息选择性地仅使用必要图像/音频/文本信息。在图像信号的情况下,可如示例1330中一样根据用户的roi选择不同的观看位置。最终,类似示例1340,可在特定视点输出特定观看位置的特定观看取向的图像。

图14a和图14b是示出3dof+端对端系统架构的示例的图。

可由图14a和图14b的架构提供如上所述的3dof+360内容。

参照图14a,360视频发送设备(发送终端)可包括:获取单元,其被配置为获取360视频(图像)/音频数据;视频/音频预处理器,其被配置为处理所获取的数据;以及合成生成单元,其被配置为合成补充信息;编码单元,其被配置为对文本、音频和投影的360度视频进行编码;封装单元,其被配置为封装编码的数据。如上所述,编码的数据可按比特流的形式输出。编码的数据可按诸如isobmff或cff的文件格式封装,或者可按照其它dash分段的形式处理。可通过数字存储介质将编码的数据传送至360视频接收设备。另选地,尽管未明确地示出,编码的数据可如上所述通过发送处理器被处理以用于发送,然后经由广播网络或宽带发送。

数据获取单元可根据传感器取向(或图像的观看取向)、获取信息的传感器位置(或图像的观看位置)和传感器信息获取位置(图像的视点)同时或依次获取不同的信息。此时,可获取视频、图像、音频和位置信息。

在图像数据的情况下,可分别获取纹理信息和深度信息,并且可根据各个组件的特性对其执行不同的视频预处理。例如,在纹理信息的情况下,可基于图像传感器位置信息使用在相同视点获取的相同观看位置的不同观看取向的图像来构造360全向图像。为此,可执行图像拼接过程。另外,可执行将图像改变为用于编码的格式的投影和/或区域式打包。在深度图像的情况下,通常可通过深度相机获取图像。在这种情况下,可按照诸如纹理的形式创建深度图像。另选地,可基于单独测量的数据来生成深度数据。在生成各个组件的图像之后,可通过执行另外打包为用于有效压缩的视频格式或将图像划分成实际需要的部分来执行子画面生成。通过视频元数据传送关于在视频预处理阶段使用的视频配置的信息。

当另外给出的图像/音频/文本信息连同所获取的数据(或主要服务的数据)一起提供时,需要提供用于在最终回放时合成这种信息的信息。合成生成单元基于创建者的意图来生成用于在最终回放阶段合成外部生成的媒体数据(视觉媒体的视频/图像、音频媒体的音频/声音效果以及文本的字幕)的信息。该信息作为合成元数据传送。

在各个过程之后获得的图像/音频/文本信息使用各个编码器压缩,并且根据应用封装在文件单元或分段单元中。在这种情况下,可根据视频、文件或分段配置方法(由文件提取器)仅提取必要信息。

另外,在编解码器或文件格式/系统级别传送用于在接收器中重构各个数据的信息。该信息包括用于视频/音频重构的信息(视频/音频元数据)、用于叠加的合成信息(合成元数据)、视频/音频可播放位置(视点)和各个视点的观看位置信息(观看位置和视点元数据)。这些信息可通过单独的元数据处理器生成。

参照图14b,360视频接收设备(接收终端)可包括:文件/分段解封装单元,其被配置为将所接收的文件或分段解封装;解码单元,其被配置为从比特流生成视频/音频/文本信息;后处理器,其被配置为以用于回放的形式重构图像/音频/文本;跟踪单元,其被配置为跟踪用户的roi;以及作为回放装置的显示器。

通过解封装生成的比特流可根据数据的类型被划分成图像/音频/文本并且被单独地解码为可播放形式。

跟踪单元可基于传感器和用户的输入信息生成关于用户的感兴趣区域的视点、视点处的观看位置和观看位置处的观看取向的信息。该信息可用于由360视频接收设备的各个模块选择或提取感兴趣区域,或者可用于强调关于感兴趣区域的信息的后处理过程。当传送至360视频发送设备时,该信息可用于文件提取或子画面选择以便于有效带宽使用以及各种基于roi的图像重构方法(取决于处理的视口/观看位置/视点)。

可根据图像配置方法使用各种处理方法处理所解码的图像信号。当360视频发送设备执行图像打包时,需要基于通过元数据传送的信息来重构图像的过程。在这种情况下,可使用由360视频发送设备生成的视频元数据。另外,当解码的图像中包括多个视点、多个观看位置或各种观看取向的图像时,通过跟踪生成的用户的感兴趣区域的位置,可选择并处理与用户的roi的视点、观看位置和观看取向匹配的信息。此时,可使用由发送终端生成的观看位置和视点相关元数据。当针对特定视点、观看位置或观看取向传送多个组件,或者单独地传送用于叠加的视频信息时,可包括基于其的渲染过程。已经历单独的渲染过程的视频数据(纹理、深度、叠加)经受合成过程。此时,可使用由发送终端生成的合成元数据。最后,可根据用户的roi生成用于在视口中回放的信息。

可通过音频渲染器和/或后处理过程从解码的音频信号生成可播放音频信号。此时,基于关于用户的roi的信息和传送至360视频接收设备的元数据,可生成满足用户的请求的信息。

解码的文本信号可被传送至叠加渲染器并被处理为基于文本的叠加信息(例如,字幕)。必要时可包括单独的文本后处理过程。

图15是示意性地示出flus架构的示例的图。

图15示出在无线通信系统中基于实时上行链路流传输框架(flus)在用户设备(ue)之间或ue和网络之间执行的通信的示例。flus信源和flus信宿可使用f参考点彼此发送和接收数据。

在本说明书中,“flus信源”可指被配置为基于flus通过f参考点向flus信宿发送数据的装置。然而,flus信源并不总是向flus信宿发送数据。在一些情况下,flus信源可通过f参考点从flus信宿接收数据。flus信源可被解释为与本文所描述的图像发送设备或360视频发送设备相同/相似的装置、包括图像发送设备或360视频发送设备、或者包括在图像发送设备或360视频发送设备中。例如,flus信源可以是ue、网络、服务器、云服务器、机顶盒(stb)、基站、pc、台式计算机、膝上型计算机、相机、便携式摄像机、tv等,并且可以是包括在所示设备中的元件或模块。此外,与所示设备相似的装置也可作为flus信源操作。flus信源的示例不限于此。

在本说明书中,“flus信宿”可指被配置为基于flus通过f参考点从flus信源接收数据的装置。然而,flus信宿并不总是从flus信源接收数据。在一些情况下,flus信宿可通过f参考点向flus信源发送数据。flus信宿可被解释为与本文所描述的图像接收设备或360视频接收设备相同/相似的装置、包括图像接收设备或360视频接收设备、或者包括在图像接收设备或360视频接收设备中。例如,flus信宿可以是网络、服务器、云服务器、stb、基站、pc、台式计算机、膝上型计算机、相机、便携式摄像机、tv等,并且可以是包括在所示设备中的元件或模块。此外,与所示设备相似的装置也可作为flus信宿操作。flus信宿的示例不限于此。

尽管在图15中flus信源和捕获装置被示出为构成一个ue,但实施方式不限于此。flus信源可包括捕获装置。另外,包括捕获装置的flus信源可以是ue。另选地,捕获装置可不包括在ue中,并且可向ue发送媒体信息。捕获装置的数量可大于或等于一。

尽管在图15中flus信宿、渲染模块(或单元)、处理模块(或单元)和分发模块(或单元)被示出为构成一个ue或网络,但实施方式不限于此。flus信宿可包括渲染模块、处理模块和分发模块中的至少一个。另外,包括渲染模块、处理模块和分发模块中的至少一个的flus信宿可以是ue或网络。另选地,渲染模块、处理模块和分发模块中的至少一个可不包括在ue或网络中,并且flus信宿可向渲染模块、处理模块和分发模块中的至少一个发送媒体信息。可配置至少一个渲染模块、至少一个处理模块和至少一个分发模块。在一些情况下,可不提供一些模块。

在一个示例中,flus信宿可作为媒体网关功能(mgw)和/或应用功能(af)操作。

在图15中,连接flus信源和flus信宿的f参考点可允许flus信源创建和控制单个flus会话。另外,f参考点可允许flus信宿认证和授权flus信源。此外,f参考点可支持flus控制平面f-c和flus用户平面f-u的安全保护功能。

在一个实施方式中,flus信源和flus信宿可各自包括flusctrl模块。flus信源和flus信宿的flusctrl模块可经由f-c连接。flusctrl模块和f-c可为flus信宿提供对上传的媒体执行下游分发、提供媒体实例化选择以及支持会话的静态元数据的配置的功能。在一个示例中,当flus信宿仅可执行渲染时,可不存在f-c。

在一个实施方式中,f-c可用于创建和控制flus会话。f-c可用于flus信源选择flus媒体实例(例如,mtsi),围绕媒体会话提供静态元数据,或者选择和配置处理和分发功能。

flus媒体实例可被定义为flus会话的一部分。在一些情况下,f-u可包括媒体流创建程序,并且可为一个flus会话生成多个媒体流。

媒体流可包括单个内容类型的媒体组件(例如,音频、视频或文本)或者多个不同内容类型的媒体组件(例如,音频和视频)。flus会话可配置有多个相同的内容类型。例如,flus会话可配置有用于视频的多个媒体流。

在一个实施方式中,flus信源和flus信宿可各自包括flus媒体模块。flus信源和flus信宿的flus媒体模块可通过f-u连接。flus媒体模块和f-u可提供创建一个或更多个媒体会话以及经由媒体流传输媒体数据的功能。在一些情况下,可能需要媒体会话创建协议(例如,基于mtsi的flus实例的ims会话设置)。

图16是示意性地示出3dof+发送终端的配置的示例的图。

参照图16,当输入数据是相机输出图像时,发送终端(360视频发送设备)可根据各个视点/观看位置/组件来执行配置球形图像的拼接。一旦为各个视点/观看位置/组件配置球形图像,图像就可被投影到2d图像上以用于编码。根据应用,可执行从多个图像创建集成的图像的打包或者将图像划分成详细区域的图像的子画面生成。如上所述,可作为可选过程跳过区域式打包过程。在这种情况下,可省略打包处理器。当输入数据是补充图像/音频/文本信息时,可用信号通知向中央图像添加补充信息并显示图像的方法,并且还可发送添加的数据。所生成的图像和添加的数据可在编码过程中被压缩为比特流,然后通过封装过程被变换成用于传输或存储的文件格式。此时,可根据应用或系统请求来处理提取接收器所需的文件的过程。所生成的比特流可被变换成传输格式并通过发送处理器发送。然后,发送方反馈处理器可基于从接收终端发送的信息来处理视点/观看位置/观看取向信息和必要元数据并将其传送至相关发送器。

图17是示意性地示出3dof+接收终端的配置的示例的图。

参照图17,接收终端(360视频接收设备)可在接收从发送终端传送的比特流之后提取必要文件。可使用从反馈处理器传送的视点/观看位置/观看取向信息和视频元数据来选择所生成的文件格式的视频流,并且可通过解码器从所选比特流重构视频信息。可基于通过元数据发送的打包信息将打包的图像解包。当发送终端处省略打包过程时,接收终端处的解包也可省略。必要时,可执行选择适合于从反馈处理器传送的视点/观看位置/观看取向的图像和必要组件的过程。可执行将图像纹理、深度和叠加信息重构为适合于回放的格式的渲染过程。在生成最终图像之前,可执行集成不同层的信息的合成过程,并且可生成并播放适合于显示视口的图像。

在一个实施方式中,关于360度视频的元数据可包括视点信息结构的句法元素。视点信息结构的句法元素可提供包括视点的位置以及全局坐标系的x轴、y轴和z轴相对于视点的公共参考坐标系的偏航角、俯仰角和横滚角的视点信息。视点信息结构的句法元素可通过例如下表1的句法表示。

[表1]

表1的句法包括viewpointinfostruct、gcs_rotated_flag、viewpoint_pos_x、viewpoint_pos_y、viewpoint_pos_z、viewpoint_gpspos_present_flag、viewpoint_gpspos_longitude、viewpoint_gpspos_latitude、viewpoint_gpspos_altitude、viewpoint_gcs_yaw、viewpoint_gcs_pitch和viewpoint_gcs_roll。

viewpointinfostruct可对应于表示视点信息结构的句法元素的示例。然而,指示视点信息结构的句法元素的示例不限于viewpointinfostruct。

当gcs_rotated_flag的值为1时,可指定关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。当gcs_rotated_flag的值为0时,可不指定关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。

关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息可由例如viewpoint_gcs_yaw、viewpoint_gcs_pitch和viewpoint_gcs_roll指示。该信息的单位可为2-16度。viewpoint_gcs_yaw的范围可为-180*216至180*216-1,viewpoint_gcs_pitch的范围可为-90*216至90*216,viewpoint_gcs_roll的范围可为-180*216至180*216-1。

viewpoint_pos_x、viewpoint_pos_y和viewpoint_pos_z可指示当(0,0,0)是3d空间中的公共参考坐标系的原点时视点的位置(毫米)。

当viewpoint_gpspos_present_flag的值为1时,可存在viewpoint_gpspos_longitude、viewpoint_gpspos_latitude和viewpoint_gpspos_altitude。当viewpoint_gpspos_present_flag的值为0时,可不指定viewpoint_gpspos_longitude、viewpoint_gpspos_latitude和viewpoint_gpspos_altitude。viewpoint_gpspos_longitude、viewpoint_gpspos_latitude和viewpoint_gpspos_altitude可分别指示视点的地理位置的经度、纬度和高度。

在一个实施方式中,视点配置盒可存储与视点有关的元数据。视点配置盒可被表示为例如下表2中的viewpointconfigbox。

[表2]

表2中的句法包括viewpointconfigbox、viewpoint_pos_changed、viewpoint_id和viewpoint_label。

当viewpoint_pos_changed的值为0时,视点的位置可不改变。当viewpoint_pos_changed的值为1,视点的位置可改变。当viewpoint_pos_changed的值为1,文件中可存在动态视点定时元数据轨道。动态视点定时元数据轨道可指示视点参数随时间动态地改变。

viewpoint_id可指示视点的唯一标识符。两个或更多个视点的viewpoint_id的值可不相同。

viewpoint_label可以是为视点提供人可读文本标签的空结尾utf-8字符串。

viewpointconfigbox可存在于文件中的任何盒中。

在一个实施方式中,可提供关于视点轨道分组的360视频元数据。对于track_group_type“vipo”,属于同一视点的轨道可具有相同的track_group_id值。来自特定视点的轨道的track_group_id可不同于来自另一视点的轨道的track_group_id。默认地,当文件中的任何轨道均未指示轨道分组时,可认为该文件仅包含视点的内容。下表3中示出视点轨道分组的句法的示例。

[表3]

track_group_type为“vipo”的trackgrouptypebox中具有相同track_group_id值的轨道可包括在同一视点中。

当viewpoint_pos_changed的值为0时,与轨道有关的视点的位置可不改变。当viewpoint_pos_changed的值为1时,与轨道有关的视点的位置可改变。当viewpoint_pos_changed的值为1时,文件中可存在动态视点定时元数据轨道。动态视点定时元数据轨道可指示视点参数随时间动态地改变。

当gcs_rotated_changed的值为1时,全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度可随时间动态地改变。当gcs_rotated_changed的值为1时,动态视点定时元数据轨道可指示随时间动态地改变的视点参数。当gcs_rotated_changed的值为0时,viewpoint_gcs_yaw、viewpoint_gcs_pitch和viewpoint_gcs_roll的值可不随时间改变。

viewpoint_id可指示视点的唯一标识符。两个或更多个视点不具有相同的viewpoint_id值。

viewpoint_label可以是为视点提供人可读文本标签的空结尾utf-8字符串。

在一个实施方式中,关于360度视频的元数据可提供动态视点信息。动态视点定时元数据轨道可指示随时间动态地改变的视点参数。在一个示例中,当omaf播放器在从视点切换到特定视点之后开始回放时,它可如下使用用信号通知的信息。如果明确地用信号通知推荐观看取向,则omaf播放器可遵循推荐观看取向以解析关于推荐观看取向的信息。否则,可预期omaf播放器就在发生视点切换之前维持观看取向。

可使用轨道样本条目类型“dyvp”,下表4中示出指示其的句法的示例。

[表4]

在表4中,viewpoint_id可指示与参考样本条目的所有样本有关的视点的视点id。

当dynamic_gcs_rotated_flag的值为1时,可按样本格式指示全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度。当gcs_rotated_changed的值为0时,在参考样本条目的任何样本中viewpoint_gcs_yaw、viewpoint_gcs_pitch和viewpoint_gcs_roll的值可不改变。

当viewpoint_gpspos_present_flag的值为1时,可按样本格式存在viewpoint_gpspos_longitude、viewpoint_gpspos_latitude和viewpoint_gpspos_altitude。当viewpoint_gpspos_present_flag的值为0时,在参考样本条目的任何样本中可不存在viewpoint_gpspos_longitude、viewpoint_gpspos_latitude和viewpoint_gpspos_altitude。

viewpointposstruct()可指示相关视点的初始视点位置。

viewpointglobalcoordinatesysrotationstruct()可指示对于参考样本条目的各个样本,全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度。

viewpoint_pos_x_min和viewpoint_pos_x_max可指示参考样本条目的所有样本中的viewpoint_pos_x的最小值和最大值。

viewpoint_pos_y_min和viewpoint_pos_y_max可指示参考样本条目的所有样本中的viewpoint_pos_y的最小值和最大值。

viewpoint_pos_z_min和viewpoint_pos_z_max可指示参考样本条目的所有样本中的viewpoint_pos_z的最小值和最大值。

viewpoint_gpspos_longtitude_min和viewpoint_gpspos_longtitude_max可指示参考样本条目的所有样本中的viewpoint_gpspos_longtitude的最小值和最大值。

viewpoint_gpspos_latitude_min和viewpoint_gpspos_latitude_max可指示参考样本条目的所有样本中的viewpoint_gpspos_latitude的最小值和最大值。

viewpoint_gpspos_altitude_min和viewpoint_gpspos_altitude_max可指示参考样本条目的所有样本中的viewpoint_gpspos_altitude的最小值和最大值。

在一个实施方式中,可如下表5所示给出样本条目类型“dyvp”的样本句法的示例。

[表5]

aligned(8)dynamicviewpointsample(){

viewpointinfostruct(dynamic_gcs_rctated_flag);

}

在根据实施方式的dashmpd中,具有“urn:mpeg:mpegi:omaf:2018:vwpt”的@schemeiduri属性的视点元素可被引用为视点信息描述符(vwpt)描述符。在适配集合级别可存在一个vwpt描述符,在其它级别可不存在vwpt描述符。如果当媒体呈现中不存在适配集合时包括vwpt描述符,则可假设媒体呈现仅包括一个视点。vwpt描述符可指示适配集合所属的视点。下表6示出vwpt描述符的元素和属性的语义的示例。

[表6]

在表6中,@dynamic_flag可指示视点的位置是静态的还是动态的。当@dynamic_flag的值为1时,视点的位置可改变。当@dynamic_flag的值为0时,视点的位置可为静态的。当未指定@dynamic_flag时,可指示视点的位置是静态的。当@dynamic_flag被设定为1时,可指定涉及样本条目类型“dyvp”的定时元数据轨道的定时元数据表示。

@viewpoint_pos_x_min可指示视点位置的x分量的最小值。例如,@viewpoint_pos_x_min可指示全局3d坐标系的x轴上的视点中心的绝对位置的最小值(毫米)。

@viewpoint_pos_y_min可指示视点位置的y分量的最小值。例如,@viewpoint_pos_y_min可指示全局3d坐标系的y轴上的视点中心的绝对位置的最小值(毫米)。

@viewpoint_pos_z_min可指示视点位置的z分量的最小值。例如,@viewpoint_pos_z_min可指示全局3d坐标系的z轴上的视点中心的绝对位置的最小值(毫米)。

@viewpoint_pos_x_max可指示视点位置的x分量的最大值。例如,@viewpoint_pos_x_max可指示全局3d坐标系的x轴上的视点中心的绝对位置的最大值(毫米)。

@viewpoint_pos_y_max可指示视点位置的y分量的最大值。例如,@viewpoint_pos_y_max可指示全局3d坐标系的y轴上的视点中心的绝对位置的最大值(毫米)。

@viewpoint_pos_z_max可指示视点位置的z分量的最大值。例如,@viewpoint_pos_z_max可指示全局3d坐标系的z轴上的视点中心的绝对位置的最大值(毫米)。

在一个实施方式中,当视点与涉及样本条目类型“dyvp”的定时元数据轨道的定时元数据表示有关时,视点的位置可为动态的。当视点与涉及样本条目类型“dyvp”的定时元数据轨道的定时元数据表示无关时,视点可为静态的。

当视点与涉及样本条目类型“dyvp”的定时元数据轨道的定时元数据表示有关时,可在涉及样本条目类型“dyvp”的定时元数据轨道的相关定时元数据表示内用信号通知视点的动态位置。

在一个实施方式中,360度视频的元数据可提供动态视点组信息。动态视点组定时元数据轨道可指示关于包括随时间动态地改变的视点的组的信息。可使用轨道样本条目类型“dyvg”,并且例如,样本条目类型的样本条目可如下表7所示配置。

[表7]

viewpoint_id可指示与参考样本条目的所有样本有关的视点的视点id。numb_groups_max可指示参考样本条目的样本中视点所属的组的最大数量。

在一个实施方式中,例如,样本条目类型“dyvg”的样本句法可如下表8所示配置。

[表8]

在表8中,num_groups可指示各个样本中视点所属的组的数量。vp_group_id可指示视点所属的组id。anchor_viewpoint_id可指示组中作为多个视点的锚点的视点的viewpoint_id的值。当non_contiguous_flag的值为0时,可进行同一组中的视点之间的连续切换。当non_contiguous_flag的值为1时,同一组中的视点之间的切换可为不连续的。num_viewpoints可指示同一组中的视点的数量。

在另一实施方式中,例如,样本条目类型“dyvg”的样本句法可如下表9或表10所示配置。

[表9]

[表10]

comon_reference_system_info_flag可指示是否存在公共参考系统信息(例如,groupglobalcoordinatesysrotationstruct())。

common_reference_system_id可指示同一组中的视点视频之间共享的全局坐标系的标识符。具有相同common_reference_system_id的视点可共享公共参考坐标系。在一个示例中,common_reference_system_id的值不同的视点可基于不同的坐标系。

在一个实施方式中,例如,groupglobalcoordinatesysrotationstruct可如下表11所示配置。

[表11]

group_gcs_yaw、group_gcs_pitch和group_gcs_roll指示视点组的全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度,并且角度的单位是2-16度。viewpoint_gcs_yaw可在-180*216至180*216-1的范围内,viewpoint_gcs_pitch可在-90*216至90*216的范围内,viewpoint_gcs_roll可在-180*216至180*216-1的范围内。视点组可包括一个或更多个视点视频。

表8至表11中公开的参数(num_groups、vp_group_id、anchor_viewpoint_id、non_contiguous_flag、num_viewpoints等)可存在于文件中的任何盒中,例如轨道组盒和样本组盒。当参数存在于用信号通知静态信息的盒(例如,样本条目)中时,参数可为静态的,当参数存在于用信号通知动态信息的盒(例如,定时元数据轨道)中时,参数可为动态的。

在一个实施方式中,360度视频元数据可包括视点轨道组的初始观看取向元数据。初始观看取向元数据轨道可指示相关视点媒体轨道的初始观看取向。可通过一个或更多个轨道执行视点视频,并且初始观看取向元数据轨道可与具有满足条件“track_group_id等于track_id[i]并且trackgrouptypebox的(标志&1)等于1”的“cdsc”轨道参考的一个或更多个媒体轨道有关。

在一个实施方式中,360度视频元数据可包括关于多个视点的初始观看取向的样本组的信息。样本条目类型为“invo”的定时元数据轨道可包括grouping_type为“vwpt”的一个或更多个sampletogroupbox。sampletogroupbox可指示将定时元数据中的样本(以及媒体轨道中的对应样本)指派给视点。当存在grouping_type为“vwpt”的sampletogroupbox时,可存在相同分组类型的samplegroupdescriptionbox并且可包括样本所属的组的特定视点的id。例如,grouping_type为“vwpt”的样本组条目“viewpointentry”可如下表12所示配置。

[表12]

viewpoint_id可指示与样本组有关的视点的视点id。样本组的初始观看取向可被应用于与视点id有关的媒体轨道。

当viewpoint_pos_changed的值为0时,可指示与样本组有关的视点的位置不改变。当viewpoint_pos_changed的值为1时,视点的位置可改变。当viewpoint_pos_changed的值为1时,文件中可存在动态视点定时元数据轨道。动态视点定时元数据轨道可指示随时间动态地改变的视点参数。

当gcs_rotated_flag的值为1时,可提供关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。当gcs_rotated_flag的值为0时,可不提供关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。

viewpointinfostruct可提供与样本组有关的视点信息,包括视点的位置以及全局坐标系的x轴、y轴和z轴相对于视点的公共参考坐标系的偏航角、俯仰角和横滚角。

在本说明书中,使用特定术语或句子来定义特定信息或概念。例如,在本说明书中,使用特定术语或句子来定义特定元数据。在一个示例中,在本说明书中,与参考样本条目的所有样本有关的视点的视点id被定义为“viewpoint_id”。然而,“viewpoint_id”可由诸如viewpointid和viewpoint_identifier的各种术语代替。因此,说明书中用于定义特定信息或概念的特定术语或句子的含义不应限于该名称,而是应该根据上述术语旨在表示的内容基于各种操作、功能和效果来理解。

图18是示出根据实施方式的关于观看取向的信息的图。

在一个实施方式中,推荐观看取向或初始观看取向可由多个视点共享。在存在多个视点的情况下,当发生视点之间的切换时,用户可能有兴趣持续观看一个特定对象或场景。如图18所示,在特定时间,用户可通过视口v1在视点a观察对象。可在特定时间通过使视点a的视口v1与视点b的视口v2匹配来允许用户通过视口v2甚至在视点b观察对象。相关句法的示例可如下表13所示配置。

[表13]

包括在表13中的参数可被称为观看取向结构信息,其表示关于视点的观看取向的结构的信息。在一个示例中,观看取向结构信息可被称为viewingorientationstruct。

viewingorientationstruct可指示当视点改变时将出现的观看取向或者推荐播放的观看取向。viewingorientationstruct可包括观看取向的中心点、倾斜角度和适用gps定位信息。另外,viewingorientationstruct可包括关于出现的观看取向或推荐播放的观看取向的体积的信息。当存在关于体积的信息时,中心信息可指示观看取向体积的中心。

veiwing_orientation_id可指示观看取向信息的标识符。

在一个实施方式中,观看取向结构信息可包括关于感兴趣对象的中心的位置的信息。关于感兴趣对象的中心的位置的信息可包括感兴趣对象的中心的x轴位置、y轴位置和z轴位置。

在一个实施方式中,观看取向结构信息可包括关于观看取向的中心的位置的信息。关于观看取向的中心的位置的信息可包括观看取向的中心的x轴位置、y轴位置和z轴位置。

center_pos_x、center_pos_y和center_pos_z可指示观看取向根据全局坐标系在x轴、y轴和z轴上的中心位置。在一个实施方式中,关于感兴趣对象的中心的位置的信息或者关于观看取向的中心的位置的信息可由center_pos_x、center_pos_y和center_pos_z表示。

在一个实施方式中,观看取向结构信息可包括gps位置存在标志,其指示是否存在关于感兴趣对象的中心的gps位置信息。gps位置存在标志可由gps_present_flag表示。gps_present_flag可指示是否存在关于观看取向的中心的gps位置信息。

center_gpspos_longitude、center_gpspos_latitude和center_gpspos_altitude可指示关于观看取向的中心的gps位置信息。

在一个实施方式中,观看取向结构信息可包括体积存在标志,其指示是否存在指示要播放或推荐播放的球形或三维空间的观看取向体积。体积存在标志可由volume_present_flag表示。volume_present_flag可指示是否存在要播放或推荐播放的球形或三维观看取向体积。

volume_type可指示观看取向体积的类型。当volume_type为0时,可不指定观看取向体积的类型。当volume_type为1时,可指示球体类型。当volume_type为2时,可指示椭球体类型。当volume_type为3时,可指示立方体类型。当volume_type为4时,可指示圆柱体类型。当volume_type为5时,可指示矩形棱柱体类型。

sphere_radius可指示球形观看取向体积的球半径。

hor_radius和ver_radius可指示椭球体的水平半径和垂直半径。

cube_hor_range和cube_ver_range可指示立方体的宽度和高度。

cy_radius和cy_hor_ranges可指示圆柱体的半径和圆柱体的高度。

rect_hor_range和rect_ver_range可指示矩形棱柱体的宽度和高度。

根据表13的参数可存在于文件中的任何盒中,例如轨道组盒和样本组盒。当存在于用信号通知静态信息的盒(例如,样本条目)中时,参数可为静态的。当存在于用信号通知动态信息的盒(例如,样本组)中或定时元数据中时,参数可为动态的。可在用信号通知由一个或更多个视点(或视点组)共享的信息的盒中用信号通知参数。

在一个实施方式中,可基于dashmpd或sei消息用信号通知根据表13的信息。

图19是示出根据实施方式的操作360度视频发送设备的方法的流程图,图20是示出根据实施方式的360度视频发送设备的配置的框图。

图19中公开的各个步骤可由图5中公开的360视频发送设备、图14a中公开的360视频发送设备、图15中公开的flus信源或图20中公开的360度视频发送设备执行。在一个示例中,图19的s1900可由图5中公开的360视频发送设备的数据输入单元执行,并且图19的1910可由图5中公开的360视频发送设备的投影处理器执行。图19的s1920可由图5中公开的元数据处理器执行,图19的s1930可由图5中公开的360视频发送设备的数据编码器执行,图19的s1940可由图5中公开的360视频发送设备的封装处理器执行。因此,在描述图19的各个步骤时,将跳过或简要进行已经参照图5、图14a和图15描述的细节的描述。

如图20所示,根据实施方式的360度视频发送设备可包括数据输入单元、投影处理器、元数据处理器、数据编码器和封装处理器。然而,在一些情况下,并非图20所示的所有组件均为360度视频发送设备的必要组件。360度视频发送设备可由比图20所示的组件更多或更少的组件实现。

在根据实施方式的360度视频发送设备中,数据输入单元、投影处理器、元数据处理器、数据编码器和封装处理器可各自被实现为单独的芯片,或者两个或更多个组件可通过一个芯片实现。

在本说明书中,“360视频”和“360度视频”仅名称不同,可表示相同的对象。因此,图5所示的“360视频发送设备”和图21所示的“360度视频发送设备”仅名称不同,可执行相同/相似的操作。图6所示的“360度视频接收设备”和图23所示的“360度视频接收设备”仅名称不同,可执行相同/相似的操作。

根据实施方式,360度视频发送设备可获取360度视频数据(s1900)。例如,360度视频发送设备的数据输入单元可获取由至少一个相机捕获的360度视频数据。

根据实施方式,360度视频发送设备可处理360度视频数据以推导包括全向图像的二维画面(s1910)。更具体地,360度视频发送设备的投影处理器可处理360度视频数据以推导包括全向图像的二维画面。

根据实施方式,360度视频发送设备可生成360度视频数据的元数据(s1920)。更具体地,360度视频发送设备的元数据处理器可生成360度视频数据的元数据。

在一个实施方式中,元数据可包括组全局坐标系旋转结构信息,其表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

在一个示例中,组全局坐标系旋转结构信息可被称为groupglobalcoordinatesysrotationstruct。

在一个实施方式中,组全局坐标系旋转结构信息可包括关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。在一个示例中,关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度的信息可被称为group_gcs_yaw,关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的俯仰旋转角度的信息可被称为group_gcs_pitch,关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的横滚旋转角度的信息可被称为group_gcs_roll。

在一个实施方式中,元数据可包括公共参考坐标系信息标志,其指示是否存在关于公共参考坐标系的信息。当公共参考坐标系信息标志的值为1时,在元数据中可包括组全局坐标系旋转结构信息。在一个示例中,公共参考坐标系信息标志可被称为common_reference_system_info_flag。

在一个实施方式中,包括在视点组中的多个视点可共享公共参考坐标系。

在一个实施方式中,当多个视点当中的第一视点和第二视点的视点id彼此不同时,第一视点的公共参考坐标系和第二视点的公共参考坐标系可彼此不同。

在一个实施方式中,元数据可包括观看取向结构信息,其表示关于视点的观看取向的结构的信息。

在一个实施方式中,观看取向结构信息可包括关于感兴趣对象的中心的位置的信息。

在一个实施方式中,关于感兴趣对象的中心的位置的信息可包括感兴趣对象的中心的x轴位置、y轴位置和z轴位置。

在一个实施方式中,观看取向结构信息可包括关于观看取向的中心的位置的信息。

在一个实施方式中,关于观看取向的中心的位置的信息可包括观看取向的中心的x轴位置、y轴位置和z轴位置。

在一个实施方式中,观看取向结构信息可包括gps位置存在标志,其指示是否存在关于感兴趣对象的中心的gps位置信息。

在一个实施方式中,观看取向结构信息可包括体积存在标志,其指示是否存在指示要播放或推荐播放的球形或三维空间的观看取向体积。

在一个实施方式中,360度视频接收设备可与移动终端、网络和自驾驶车辆中的至少一个通信。

在一个实施方式中,元数据可包括动态全局坐标系旋转标志,其指示动态视点的公共参考坐标系与全局坐标系之间的相对旋转角度是否改变。

在一个示例中,动态全局坐标系旋转标志可由dynamic_gcs_rotated_flag表示。

在一个实施方式中,动态全局坐标系旋转标志用于样本条目。当动态全局坐标系旋转标志指示0时,动态视点的公共参考坐标系与全局坐标系之间的相对旋转角度可在参考样本条目的样本内保持不变。

在一个实施方式中,当动态全局坐标系旋转标志指示0时,元数据可包括关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。可基于例如句法元素viewpointglobalcoordinatesysrotationstruct()用信号通知关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。

在一个实施方式中,当动态全局坐标系旋转标志指示1时,关于参考样本条目的样本的元数据可包括关于全局坐标系的x轴、y轴和z轴相对于与样本有关的公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。

在一个实施方式中,多个视点可被归类为至少一个视点组,并且元数据可包括关于所述至少一个视点组中的每一个的视点组结构信息。

在本说明书中,术语“第一视点组”和“第二视点组”仅旨在区分360视频数据中所包括的视点组,因此本领域普通技术人员将容易理解,其并非旨在暗示视点组是预定义的视点组,或者表示视点组的序数具有特定含义。

在一个实施方式中,至少一个视点组可包括第一视点组和第二视点组。当包括动态视点的视点组从第一视点组改变为第二视点组时,360度视频数据处理方法可基于关于第二视点组的视点组结构信息。在一个示例中,元数据可包括指示视点组结构信息是否改变的视点组结构信息标志。视点组结构信息标志可被称为例如dynamic_vwpt_group_flag。

在一个实施方式中,视点组结构信息可包括关于视点组的锚点视点id的信息、关于包括在视点组中的视点是否彼此连续的信息以及关于包括在视点组中的视点的数量的信息中的至少一个。

根据实施方式的360度视频发送设备可对关于2d画面的信息进行编码(s1930)。更具体地,360度视频发送设备的数据编码器可对关于2d画面的信息进行编码。

根据实施方式,360度视频发送设备可基于关于2d画面的信息和元数据执行封装(s1940)。更具体地,360度视频发送设备的封装处理器可基于关于2d画面的信息和元数据执行封装。

根据图19和图20中公开的360度视频发送设备和360度视频发送设备的操作方法,根据实施方式的360度视频发送设备可获取360度视频数据(s1900),处理360度视频数据并推导包括全向图像的2d画面(s1910),生成360度视频数据的元数据(s1920),对关于2d画面的信息进行编码(s1930),并基于关于2d画面的信息和元数据执行封装(s1940)。这里,元数据可包括组全局坐标系旋转结构信息,其表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。因此,可有效地用信号通知表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息的组全局坐标系旋转结构信息。

图21是示出根据实施方式的操作360度视频接收设备的方法的流程图,图22是示出根据实施方式的360度视频接收设备的配置的框图。

根据图21和图22的360度视频接收设备及其操作方法可部分地对应于根据图19和图20的360度视频发送设备的上述操作方法。因此,可简要进行或跳过与上述操作方法相同的操作的描述。

图21中公开的各个步骤可由图6中公开的360视频接收设备、图14b中公开的360视频接收设备、图15中公开的flus信宿或图21中公开的360视频接收设备执行。在一个示例中,图21的s2100可由图6中公开的360视频接收设备的接收器执行,s2110可由图6中公开的360视频接收设备的解封装处理器执行。图21的s2120可由图6中公开的360视频接收设备的数据解码器执行,图21的s2130可由图6中公开的渲染器执行。因此,在描述图21的各个步骤时,将省略或简要进行已经参照图6、图14b和图15描述的细节的描述。

如图22所示,根据实施方式的360度视频接收设备可包括接收器、解封装处理器、数据解码器和渲染器。然而,在一些情况下,并非图22所示的所有组件均为360度视频接收设备的必要组件。360度视频接收设备可由比图22所示的组件更多或更少的组件实现。

在根据实施方式的360度视频接收设备中,接收器、解封装处理器、数据解码器和渲染器可被实现为单独的芯片,或者至少两个或更多个组件可通过一个芯片实现。

根据实施方式的360度视频接收设备可接收关于360度视频数据的信息(s2100)。更具体地,360度视频接收设备的接收器可接收关于360度视频数据的信息。

在一个实施方式中,360度视频接收设备可从360度视频发送设备接收关于360度视频数据的信息。例如,关于360度视频数据的信息可包括通过基于关于360度发送设备所编码的画面的信息和360度视频数据的元数据执行封装而推导的文件。然而,示例不限于此。

根据实施方式的360度视频接收设备可从关于360度视频数据的信息获取关于编码的画面的信息和元数据(s2110)。更具体地,360度视频接收设备的接收处理器、元数据解析器或解封装处理器可从关于360度视频数据的信息获取关于编码的画面的信息和元数据。

在一个实施方式中,元数据可包括组全局坐标系旋转结构信息,其包括关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

在一个示例中,组全局坐标系旋转结构信息可被称为groupglobalcoordinatesysrotationstruct。

在一个实施方式中,组全局坐标系旋转结构信息可包括关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。在一个示例中,关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度的信息可被称为group_gcs_yaw,关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的俯仰旋转角度的信息可被称为group_gcs_pitch,关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的横滚旋转角度的信息可被称为group_gcs_roll。

在一个实施方式中,元数据可包括公共参考坐标系信息标志,其指示是否存在关于公共参考坐标系的信息。当公共参考坐标系信息标志的值为1时,元数据中可包括组全局坐标系旋转结构信息。在一个示例中,公共参考坐标系信息标志可被称为common_reference_system_info_flag。

在一个实施方式中,包括在视点组中的多个视点可共享公共参考坐标系。

在一个实施方式中,当多个视点当中的第一视点和第二视点的视点id彼此不同时,第一视点的公共参考坐标系和第二视点的公共参考坐标系可彼此不同。

在一个实施方式中,元数据可包括观看取向结构信息,其表示关于视点的观看取向的结构的信息。

在一个实施方式中,观看取向结构信息可包括关于感兴趣对象的中心的位置的信息。

在一个实施方式中,关于感兴趣对象的中心的位置的信息可包括感兴趣对象的中心的x轴位置、y轴位置和z轴位置。

在一个实施方式中,观看取向结构信息可包括关于观看取向的中心的位置的信息。

在一个实施方式中,关于观看取向的中心的位置的信息可包括观看取向的中心的x轴位置、y轴位置和z轴位置。

在一个实施方式中,观看取向结构信息可包括gps位置存在标志,其指示是否存在关于感兴趣对象的中心的gps位置信息。

在一个实施方式中,观看取向结构信息可包括体积存在标志,其指示是否存在指示要播放或推荐回放的球形或三维空间的观看取向体积。

在一个实施方式中,360度视频接收设备可与移动终端、网络和自驾驶车辆中的至少一个通信。

在一个实施方式中,元数据可包括动态全局坐标系旋转标志,其指示动态视点的公共参考坐标系与全局坐标系之间的相对旋转角度是否改变。

在一个示例中,动态全局坐标系旋转标志可由dynamic_gcs_rotated_flag表示。

在一个实施方式中,动态全局坐标系旋转标志用于样本条目。当动态全局坐标系旋转标志指示0时,动态视点的公共参考坐标系与全局坐标系之间的相对旋转角度可在参考样本条目的样本内保持不变。

在一个实施方式中,当动态全局坐标系旋转标志指示0时,元数据可包括关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。可基于例如句法元素viewpointglobalcoordinatesysrotationstruct()用信号通知关于全局坐标系的x轴、y轴和z轴相对于公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。

在一个实施方式中,当动态全局坐标系旋转标志指示1时,关于参考样本条目的样本的元数据可包括关于全局坐标系的x轴、y轴和z轴相对于与样本有关的公共参考坐标系的偏航旋转角度、俯仰旋转角度和横滚旋转角度的信息。

在一个实施方式中,多个视点可被归类为至少一个视点组,并且元数据可包括关于所述至少一个视点组中的每一个的视点组结构信息。

在一个实施方式中,至少一个视点组可包括第一视点组和第二视点组。当包括动态视点的视点组从第一视点组改变为第二视点组时,360度视频数据处理方法可基于关于第二视点组的视点组结构信息。在一个示例中,元数据可包括指示视点组结构信息是否改变的视点组结构信息标志。视点组结构信息标志可被称为例如dynamic_vwpt_group_flag。

在一个实施方式中,视点组结构信息可包括关于视点组的锚点视点id的信息、关于包括在视点组中的视点是否彼此连续的信息以及关于包括在视点组中的视点的数量的信息中的至少一个。

在一个实施方式中,360度视频数据接收设备可与移动终端、网络和自驾驶车辆中的至少一个通信。

根据实施方式的360度视频接收设备可基于关于编码的画面的信息将画面解码(s2120)。更具体地,360度视频接收设备的数据解码器可基于关于编码的画面的信息将画面解码。

根据实施方式的360度视频接收设备可基于元数据来渲染解码的画面(s2130)。更具体地,360度视频接收设备的渲染器可基于元数据来渲染解码的画面。

根据图21和图22中公开的360度视频接收设备和360度视频接收设备的操作方法,根据实施方式的360度视频接收设备可接收关于360度视频数据的信息(s2100),从关于360度视频数据的信息获取关于编码的画面的信息和元数据(s2110),基于关于编码的画面的信息将画面解码(s2120),并基于元数据来渲染解码画面(s2130)。这里,元数据可包括组全局坐标系旋转结构信息,其表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。因此,可有效地用信号通知组全局坐标系旋转结构信息,其表示关于包括多个视点的视点组的公共参考坐标系与全局坐标系之间的相对旋转角度的信息。

本公开的上述实施方式可应用于vr和ar。本公开的上述实施方式可基于以下芯片组实现。

图23示例性地示出能够支持本公开的实施方式的装置。例如,第一装置可包括发送装置(例如,360视频发送设备),第二装置可包括接收装置(例如,360视频接收设备)。本说明书针对上述发送装置和接收装置的技术特征可应用于该实施方式。

例如,第一装置可包括处理器、存储器、视频/图像获取装置和收发器。处理器可被配置为执行本文所描述的所提出的功能、程序和/或方法。例如,处理器可被配置为控制和/或执行诸如上述拼接、投影、(区域式)打包、合成、(视频/图像)编码以及元数据生成和处理的程序。处理器可被配置为控制和/或执行360视频/图像获取程序以及用于vr/ar信息(例如,360视频/图像数据等)的封装和发送处理的程序。处理器可控制本公开的实施方式中公开的元数据的配置和传输。存储器在操作上与处理器联接,并存储用于操作处理器的各种类型的信息。收发器在操作上与处理器联接,并发送和/或接收有线/无线信号。

例如,第二装置可包括处理器、存储器、收发器和渲染器。渲染器可被省略并实现为外部装置。处理器可被配置为执行本文所描述的所提出的功能、程序和/或方法。例如,处理器可被配置为控制和/或执行诸如上述元数据获取和处理、(视频/图像)解码、(区域式)解包、选择、合成、重新投影和渲染的程序。处理器可被配置为控制和/或执行用于vr/ar信息(例如,360视频/图像数据等)的解封装和接收处理的程序。处理器可控制本公开的实施方式中公开的元数据的配置和传输。存储器在操作上与处理器联接,并存储用于操作处理器的各种类型的信息。收发器在操作上与处理器联接,并发送和/或接收有线/无线信号。

在本说明书中,处理器可包括专用集成电路(asic)、其它芯片组、逻辑电路和/或数据处理装置。存储器可包括只读存储器(rom)、随机存取存储器(ram)、闪存、存储卡、存储介质和/或其它存储装置。收发器可包括被配置为处理射频信号的基带电路。当实施方式以软件实现时,本文所描述的技术可被实现为被配置为执行本文所描述的功能的模块(例如,程序、函数等)。模块可被存储在存储器中并由处理器执行。存储器可实现在处理器内部。另选地,存储器可实现在处理器外部,并且可通过本领域已知的各种手段在通信上连接到处理器。

第一装置可以是基站、网络节点、发送终端、接收终端、无线装置、无线通信装置、车辆、配备有自主驾驶功能的车辆、连接的汽车、无人机(无人驾驶飞行器(uav))、人工智能(ai)模块、机器人、增强现实(ar)装置、虚拟现实(vr)装置、混合现实(mr)装置、全息装置、公共安全装置、mtc装置、iot装置、医疗装置、金融科技装置(或金融装置)、安全装置、气候/环境装置、与5g服务有关的装置或者与第四次工业革命有关的装置。

第二装置可以是基站、网络节点、发送终端、接收终端、无线装置、无线通信装置、车辆、配备有自主驾驶功能的车辆、连接的汽车、无人机(无人驾驶飞行器(uav))、人工智能(ai)模块、机器人、增强现实(ar)装置、虚拟现实(vr)装置、混合现实(mr)装置、全息装置、公共安全装置、mtc装置、iot装置、医疗装置、金融科技装置(或金融装置)、安全装置、气候/环境装置、与5g服务有关的装置或者与第四次工业革命有关的装置。

例如,终端可包括蜂窝电话、智能电话、膝上型计算机、用于数字广播的终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航装置、石板pc、平板pc、超级本和可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器(hmd))。例如,hmd可以是穿戴在头上的显示装置。例如,hmd可用于实现vr、ar或mr。

例如,无人机可以是通过无线电控制信号来飞行而无人乘坐的载具。例如,vr装置可包括被配置为实现虚拟世界的对象或背景的装置。例如,ar装置可包括被配置为通过将其连接到真实世界的对象或背景来实现虚拟世界的对象或背景的装置。例如,mr装置可包括被配置为通过将其与真实世界的对象或背景混合来实现虚拟世界的对象或背景的装置。例如,全息装置可包括被配置为通过利用两个激光(称为全息图)彼此相遇时产生的光干涉效应记录和再现立体信息来实现360度立体图像的装置。例如,公共安全装置可包括视频/图像中继装置或穿戴在用户身体上的视频/图像装置。例如,mtc装置和iot装置可以是不需要直接人干预或操纵的装置。例如,mtc装置和iot装置可包括智能仪表、弯曲机、温度计、智能灯泡、门锁或各种传感器。例如,医疗装置可以是用于诊断、治疗、缓解、控制或预防疾病的目的的装置。例如,医疗装置可以是用于诊断、治疗、缓解或矫正伤害或疾病的目的的装置。例如,医疗装置可以是用于检查、替换或修改结构或功能的装置。例如,医疗装置可以是用于控制妊娠的装置。例如,医疗装置可包括治疗装置、外科手术装置、(体外)诊断装置、助听器或手术装置。例如,安全装置可以是安装以防止可能发生的危险以及维持安全的装置。例如,安全装置可以是相机、cctv、记录仪或黑匣子。例如,金融科技装置可以是能够提供诸如移动支付的金融服务的装置。例如,金融科技装置可包括支付装置或销售点(pos)。例如,气候/环境装置可包括被配置为监测或预测气候/环境的装置。

第一装置和/或第二装置可具有一个或更多个天线。例如,天线可被配置为发送和接收无线信号。

根据上述本公开的技术特征可应用于包括vr/ar的各种服务。另外,根据上述本公开的技术特征可通过第五代(5g)或下一代通信来实现。例如,可通过5g通信将从发送设备(例如,360视频发送设备)输出的数据(包括视频/图像比特流、元数据等)发送到接收设备(例如,360视频接收设备)。另外,(vr/ar)图像/视频获取装置可单独地设置在外部,并且通过5g通信将所获取的图像/视频传送至发送设备。另外,根据本公开的发送设备和/或接收设备可支持通过5g通信的各种服务场景。

图24示出适用本公开的技术特征的示例性5g使用场景。图中所示的5g使用场景仅是示例性的,本公开的技术特征可被应用于图中未示出的其它5g使用场景。

参照图24,5g的三个主要要求领域包括(1)增强移动宽带(embb)、(2)大规模机器型通信(mmtc)和(3)超可靠和低延迟通信(urllc)。一些使用情况可能需要多个领域进行优化,其它使用情况可能仅聚焦于一个关键性能指标(kpi)。5g使用灵活和可靠的方法来支持这些各种使用情况。

embb聚焦于数据速率、延迟、用户密度以及移动宽带连接的容量和覆盖范围的总体改进。embb致力于约10gbps的吞吐量。embb超越基本移动互联网接入,并且涵盖丰富的交互工作、云或增强现实中的媒体和娱乐应用。数据是5g的关键推动力之一,并且在5g时代专用语音服务可能首先消失。在5g中,预期简单地使用通信系统所提供的数据连接利用应用处理语音。业务量增加的主要原因是内容大小增加以及需要高数据速率的应用数量增加。流服务(音频和视频)以及交互视频和移动互联网连接将更广泛地用于允许更多装置连接到互联网。这些应用中的许多需要始终在线的连接,以向用户提供实时信息和通知。云存储和应用在移动通信平台上快速增加,并且可应用于工作和娱乐二者。云存储是推动上行链路数据速率增加的特殊使用情况。5g还用于云上的远程工作,并且当使用触觉接口时需要低得多的端对端时延以维持良好的用户体验。在娱乐中,例如,云游戏和视频流传输是对移动宽带能力的需求增加的另一关键因素。在包括诸如火车、汽车和飞机的高移动性环境的任何地方,娱乐对于智能电话和平板而言是必不可少的。另一使用情况是用于娱乐的增强现实和信息检索。这里,增强现实需要非常低的延迟和瞬时数据量。

mmtc被设计为允许由电池供电的大量低成本装置之间的通信,并且旨在支持诸如智能计量、物流、现场和身体传感器的应用。mmtc致力于约10年的电池寿命和/或100装置/km2。mmtc允许所有领域的嵌入式传感器的平滑连接,并且是最受期待的5g使用情况之一。预期iot装置的数量在2020年可能达到204亿。工业iot是在实现智能城市、资产跟踪、智能公用事业以及农业和安全基础设施时5g起到关键作用的领域之一。

urllc是车辆通信、工业控制、工厂自动化、远程手术、智能电网和公共安全应用的理想选择,因为它使得装置和机器能够以高可靠性、非常低的延迟和高可用性通信。urllc致力于约1ms的延迟。urllc包括将通过超可靠/低延迟链路改变行业的新服务,例如关键基础设施的远程控制和自驾驶车辆。可靠性和延迟级别对于智能电网控制、工业自动化、机器人技术以及无人机控制和协调而言是必不可少的。

接下来,将更详细地描述图23的三角形中所包括的使用情况。

5g可通过提供数百兆比特/秒至千兆比特/秒速率的流来补充光纤到户(ftth)和有线宽带(或docsis)。可能需要这么快的速度以实现4k或更高分辨率(6k、8k和更高)的tv以及虚拟现实(vr)和增强现实(ar)。vr应用和ar应用包括几乎沉浸式体育赛事。特定应用可能需要特殊网络设置。例如,对于vr游戏,游戏公司可能需要将核心服务器与网络运营商的边缘网络服务器集成,以使延迟最小化。

预期汽车将是5g的重要新推动力,许多使用情况用于车辆的移动通信。例如,乘客的娱乐同时需要高容量和高移动宽带。这是因为不管其位置和速度如何,未来的用户继续期待高质量连接。汽车领域的另一使用情况是ar仪表板。ar仪表板允许驾驶员在透过挡风玻璃看到的东西上识别暗处的对象。ar仪表板以交叠方式叠加关于要传送给驾驶员的对象的距离和移动的信息。未来,无线模块将允许车辆之间的通信、车辆与支持基础设施之间的信息交换以及车辆与其它连接的装置(例如,行人携带的装置)之间的信息交换。安全系统有助于通过引导替代行动过程来降低事故风险,以帮助驾驶员更安全地驾驶。下一步将是遥控车辆或自驾驶车辆。这需要不同自驾驶车辆之间和/或车辆与基础设施之间的非常可靠且非常快速的通信。未来,自驾驶车辆将执行所有驾驶活动,而驾驶员将仅聚焦于车辆无法识别的交通状况。自驾驶车辆的技术要求是超低延迟和超高速可靠性,其将交通安全性增加到人无法达到的级别。

智能城市和智能家庭(称为智能社会)将被嵌入在高密度无线传感器网络中。智能传感器的分布式网络将识别城市或家庭的成本和能量高效维护的条件。可对各个家庭进行类似设置。温度传感器、窗户和加热控制器、防盗警报器和家用电器全部无线连接。这些传感器中的许多通常需要低数据速率、低功率和低成本。然而,例如,在用于监视的某些类型的装置中可能需要实时hd视频。

由于包括热或天然气的能量的消费和分发高度分散,所以需要分布式传感器网络的自动控制。智能电网使用数字信息和通信技术将这些传感器互连,以相应地收集信息和行为。该信息可包括供应商和消费者的行为,因此可允许智能电网改进效率、可靠性、经济性、生产可持续性以及诸如电力的燃料的自动分发。智能电网可被视为具有低延迟的另一传感器网络。

卫生部门具有可受益于移动通信的许多应用。通信系统可支持远距离提供临床护理的远程医疗。这有助于降低距离障碍,并且可改进偏远农村地区无法持续获得的医疗服务的获得途经。通信系统还用于在重症监护和紧急情况下挽救生命。基于移动通信的无线传感器网络可为诸如心率和血压的参数提供远程监测和传感器。

在工业应用中无线通信和移动通信变得越来越重要。布线的安装和维护是昂贵的。因此,在许多行业中利用可重新配置的无线链路替换线缆的可能性是有吸引力的机会。然而,实现这一点需要无线连接以与线缆类似的延迟、可靠性和容量操作,并且简化其管理。低延迟和非常低的错误率是5g的新要求。

物流和货物跟踪是移动通信的重要使用情况,其允许使用基于位置的信息系统从任何地方跟踪库存和包裹。物流和货物跟踪的使用情况通常需要低数据速率,同时需要广泛的覆盖范围和可靠的位置信息。

此外,可执行根据本公开的实施方式以支持扩展现实(xr)。xr是指虚拟现实(vr)、增强现实(ar)和混合现实(mr)。vr技术仅提供真实世界对象或背景的cg图像,ar技术在真实对象上提供虚拟创建的cg图像,mr技术是通过将其与真实世界混合和组合来提供虚拟对象的计算机图形技术。

mr技术与ar技术的相似之处在于,它显示真实对象和虚拟对象。然而,mr技术与使用虚拟对象作为真实对象的补充的ar技术的不同之处在于,虚拟对象和真实对象具有等同的特性。

xr技术可应用于头戴式显示器(hmd)、平视显示器(hud)、移动电话、平板pc、膝上型计算机、台式计算机、tv、数字标牌等。应用xr技术的装置可被称为xr装置。xr装置可包括上述第一装置和/或第二装置。

xr装置可经由基于5g通信等的通信网络连接到各种服务。

图25示出根据本公开的实施方式的服务系统。

参照图25,xr装置100c可经由网络10连接到ai服务器200a、机器人100a、自驾驶车辆100b、智能电话100d或家用电器100e中的至少一个。这里,应用ai技术的机器人100a、自驾驶车辆100b、xr装置100c、智能电话100d或家用电器100e可被称为ai装置。

网络10可包括有线/无线通信网络。网络10可包括云网络。云网络可意指形成云计算基础设施的一部分或存在于云计算基础设施内的网络。这里,云网络可使用3g网络、4g或长期演进(lte)网络或5g网络来配置。

构成系统1的装置100a至100e和200a可经由云网络10彼此连接。具体地,可经由基站彼此通信的装置100a至100e和200a可彼此直接通信,而无需基站的帮助。

ai服务器200a可包括被配置为执行ai处理的服务器以及被配置为对大数据执行操作的服务器。

ai服务器200a可经由网络10连接到机器人100a、自驾驶车辆100b、xr装置100c、智能电话100d或家用电器100e中的至少一个,并且可帮助连接的ai装置100a至100e的ai处理的至少一部分。

这里,ai服务器200a可代表ai装置100a至100e根据机器学习算法训练人工神经网络,并且可直接存储学习模型或将其发送到ai装置100a至100e。

然后,ai服务器200a可从ai装置100a至100e接收输入数据,使用学习模型推断所接收的输入数据的结果值,并且基于所推断的结果值来发出响应或控制命令并将其发送到ai装置100a至100e。

另选地,ai装置100a至100e可使用直接学习模型来推断输入数据的结果值并基于所推断的结果值来生成响应或控制命令。

xr装置100c可被实现为头戴式显示器(hmd)、设置在车辆中的平视显示器(hud)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人、移动机器人等。

xr装置100c可通过分析通过各种传感器或从外部装置获取的3d点云数据或图像数据来生成关于3d点的位置数据和属性数据。由此,可获取关于周围空间或真实对象的信息,并渲染要输出的xr对象。例如,xr装置可将包括关于所识别的对象的补充信息的xr对象与所识别的对象进行匹配并将其输出。

xr装置100c可使用由至少一个人工神经网络组成的学习模型来执行上述操作。例如,xr装置100c可使用学习模型从3d点云数据或图像数据识别真实对象,并且提供与所识别的真实对象对应的信息。这里,可由xr装置100c或由诸如ai服务器200a的外部装置直接训练学习模型。

可通过使用学习模型直接生成结果来执行操作的xr装置100c可将传感器信息发送到诸如ai服务器200a的外部装置,并且接收所生成的与之对应的结果以用于后续操作。

机器人100a可包括引导机器人、运输机器人、清洁机器人、可穿戴机器人、娱乐机器人、宠物机器人、无人驾驶飞行机器人和无人机。

机器人100a可包括被配置为控制操作的机器人控制模块。机器人控制模块可表示软件模块或利用硬件实现的芯片。

机器人100a可使用从各种类型的传感器获得的传感器信息来获取关于机器人100a的状态信息,检测(识别)周围环境和对象,生成地图数据,确定移动路径或行进计划,确定对用户交互的响应,或确定操作。

这里,机器人100a可使用从激光雷达、雷达和相机当中的至少一个传感器获取的传感器信息来确定移动路径和行进计划。

xr装置100c可经由网络10远程地访问和/或远程地控制机器人100a。在这种情况下,机器人100a可与使用xr装置100c的用户共享视图或画面,并且基于用户的控制/交互控制驱动单元以执行操作或行驶。这里,机器人100a可根据用户的运动或声音获取关于交互的意图信息,并且基于所获取的意图信息来确定响应以执行操作。

应用了xr技术的机器人100a可表示xr图像内作为控制/交互目标的机器人。在这种情况下,机器人100a和xr装置100c可彼此区分并且在操作上彼此连接。当xr图像内作为控制/交互目标的机器人100a从包括相机的传感器获取传感器信息时,机器人100a或xr装置100c可基于传感器信息来生成xr图像。xr装置100c可输出所生成的xr图像。另外,机器人100a可基于通过xr装置100c输入的控制信号或用户的交互来操作。

例如,用户可检查与通过外部装置(例如,xr装置100c)远程链接的机器人100a的观看位置对应的xr图像,并且可调节机器人100a的自驾驶路径,控制操作或驾驶,或者通过交互检查关于周围对象的信息。

自驾驶车辆100b可包括移动机器人、车辆、火车、有人/无人驾驶飞行器和船只。

自驾驶车辆100b可包括被配置为控制自驾驶功能的自驾驶控制模块。自驾驶控制模块可指软件模块或利用硬件实现的芯片。自驾驶控制模块可作为内部组件包括在自驾驶车辆100b中,或者可被配置为在自驾驶车辆100b外部并连接到车辆的单独硬件。

自驾驶车辆100b可使用从各种类型的传感器获取的传感器信息来获取关于自驾驶车辆100b的状态信息,检测(识别)周围环境和对象,生成地图数据,确定移动路径或行进计划,或确定操作。

类似于机器人100a,自驾驶车辆100b可使用从激光雷达、雷达和相机当中的至少一个传感器获取的传感器信息来确定移动路径和行进计划。

具体地,自驾驶车辆100b可针对其视野被遮挡的区域或在预定距离或更远处的区域从外部装置接收传感器信息并识别环境或对象,或者可直接从外部装置接收所识别的信息。

xr装置100c可经由网络10远程地访问和/或远程地控制自驾驶车辆100b。在这种情况下,自驾驶车辆100b可与使用xr装置100c的用户共享视图或画面,并且基于用户的控制/交互来控制驱动单元以执行操作或行进。这里,机器人100a可根据用户的运动或声音获取关于交互的意图信息,并且基于所获取的意图信息来确定响应以执行操作。

应用了xr技术的自驾驶车辆100b可表示具有提供xr图像的手段的自驾驶车辆或者xr图像内作为控制/交互目标的自驾驶车辆。具体地,xr图像中作为控制/交互目标的自驾驶车辆100b可区别于xr装置100c,并且可在操作上与之连接。

具有提供xr图像的手段的自驾驶车辆100b可从包括相机的传感器获取传感器信息,并且输出基于所获取的传感器信息生成的xr图像。例如,自驾驶车辆100b可具有hud并通过输出xr图像来向乘坐者提供与真实对象或画面上的对象对应的xr对象。

当xr对象被输出到hud时,xr对象的至少一部分可被输出为与乘坐者注视的真实对象交叠。另一方面,当xr对象被输出到设置在自驾驶车辆100b内部的显示器时,xr对象的至少一部分可被输出为与画面上的对象交叠。例如,自驾驶车辆100b可输出与诸如车道、其它车辆、交通信号灯、交通标志、两轮车、行人和建筑物的对象对应的xr对象。

当xr图像中作为控制/交互目标的自驾驶车辆100b从包括相机的传感器获取传感器信息时,自驾驶车辆100b或xr装置100c可基于传感器信息生成xr图像。xr装置100c可输出所生成的xr图像。另外,自驾驶车辆100b可基于通过诸如xr装置100c的外部装置输入的用户交互或控制信号来操作。

xr装置100c可设置在机器人100a和/或自驾驶车辆100b内部以向用户提供单独的xr内容,或者向用户提供机器人100a和/或自驾驶车辆100b内部/外部的图像。

xr装置100c还可用于诸如娱乐、锻炼、教育、运输、医疗护理、电子商务、制造和防御的各种其它服务。例如,可通过xr装置100c体验和/或观看电影、主题公园和运动,并且可支持医学训练、诸如火场的危险环境中的训练等。另外,通过xr装置100c,可提供使用位置识别和地图生成(slam)技术的寻路服务(例如,arways)。此外,可允许用户访问虚拟购物中心以逛街和购买商品。

上述部分、模块或单元中的每一个可以是执行存储在存储器(或存储单元)中的连续程序的处理器或硬件部分。上述实施方式中描述的各个步骤可由处理器或硬件部分执行。上述实施方式中描述的各个模块/块/单元可作为硬件元件/处理器操作。另外,本公开中描述的方法可作为代码执行。代码可被写在处理器可读的记录介质中,因此可由设备所提供的处理器读取。

尽管基于一系列步骤或方框的流程图描述了上述实施方式中的方法,但是本公开不限于该步骤顺序。一些步骤可按照不同的顺序或同时进行。本领域技术人员将理解,流程图中所示的步骤不是排他性的,在本公开的范围内,可包括其它步骤,或者可删除流程图中的一个或更多个步骤。

当本公开的实施方式以软件实现时,上述方法可被实现为被配置为执行上述功能的模块(进程、函数等)。模块可被存储在存储器中并且可由处理器执行。存储器可在处理器内部或外部,并且可通过各种熟知手段连接到处理器。处理器可包括专用集成电路(asic)、其它芯片组、逻辑电路和/或数据处理装置。存储器可包括只读存储器(rom)、随机存取存储器(ram)、闪存、存储卡、存储介质和/或其它存储装置。

上述装置的内部组件可以是执行存储在存储器中的连续过程的处理器,或者可以是由其它硬件组成的硬件组件。这些组件可布置在装置内部/外部。

根据实施方式,上述模块可被省略,或者由被配置为执行相似/相同操作的其它模块代替。

本文所公开的权利要求可按各种方式组合。例如,本说明书的方法权利要求的技术特征可被组合以实现装置,并且本说明书的设备权利要求的技术特征可被组合以实现方法。此外,本说明书的方法权利要求的技术特征和装置权利要求的技术特征可被组合以实现装置。本说明书的方法权利要求和设备权利要求的技术特征可被组合以实现为方法。

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