一种编解码视频数据的方法及装置与流程

文档序号:16687699发布日期:2019-01-22 18:29阅读:216来源:国知局
一种编解码视频数据的方法及装置与流程

此处描述的技术一般涉及视频编解码,且具体而言,涉及呈现球面区域体验,例如,虚拟现实(virtualreality,vr)视窗体验,包括分组(group)球面区域呈现信息(sphereregionpresentationinformation)的技术。



背景技术:

存在不同类型的3d内容和多向内容。例如,全景视频是一种类型的视频,其是使用一组摄像机集合来捕捉的,而不像仅使用单个摄像机捕捉的传统单向视频那样。例如,摄像机可以被放置在特定中心点周围,使得每个摄像机捕捉场景的球面覆盖上的视频的一部分,以捕捉360度视频。来自于多个摄像机的视频可以被缝合、可能地旋转以及投影,以生成表示球面内容的已投影二维图像。例如,等角投影可以被使用以将球面映射成二维图像。随后,这可以被进一步处理,例如,使用二维编码和压缩技术。最后,使用特定传送机制(例如,拇指驱动器、数字视盘(digitalvideodisk,dvd)、文件下载、数字广播和/或在线流),已编码且已压缩内容被存储并传送。这种视频可以用于vr和/或3d视频。

在客户端侧,当客户端处理视频时,视频解码器解码已编码且已压缩视频,并执行逆投影以将内容恢复到球面上。随后,用户可以观看已渲染内容,例如,使用头戴式观看设备。根据表示用户观看内容所处的角度的用户的视窗,内容通常被渲染。视窗也可以包括表示观看区域的分量,其可以描述观看者在特定角度所观看的区域的大小和形状。

当视频处理不以基于视窗的方式进行,以使得视频编码器和/或视频解码器不了解用户实际上将要观看的内容时,整体编码、传送和解码的流程将处理整个球面内容。例如,由于所有球面内容均被编码、传送且解码,这可以允许用户在任何特定视窗和/或区域处观看内容。

然而,处理所有球面内容可能是计算密集的,且会消耗较大带宽。例如,对于在线流应用,处理所有球面内容会比必要时将更大的负担施加在网络带宽上。因此,当带宽资源和/或计算资源有限时,很难保持用户体验。一些技术仅处理用户正在观看的内容。例如,如果用户正在观看顶端区域(例如,北极),则无需传送内容的底部(例如,南极)。如果用户改变视窗,则内容可以相应地被改变以用于新的视窗。又例如,对于自由视点tv(freeviewpointtv,ftv)应用(例如,其使用多个摄像机捕捉场景的视频),内容可以基于用户在哪个角度观看该场景而被传送。例如,如果用户正在观看来自于一个视窗(例如,摄像机和/或相邻摄像机)的内容,则可能无需传送其他视窗的内容。



技术实现要素:

根据本发明的实施例,提供了装置、系统及方法,以用于指定球面区域,以增强视窗体验。

一些实施例涉及一种解码视频数据的解码方法。该方法包括:接收包括与至少一个球面区域相关的多媒体体验的表示的多媒体数据;确定与球面区域相关的多媒体数据的至少一个视频部分和多媒体数据的至少一个额外多媒体部分;以及将至少一个视频部分和至少一个额外多媒体部分一起进行渲染,以呈现与球面区域相关的多媒体体验。

在一些示例中,确定至少一个视频部分和至少一个额外多媒体部分包括:识别指定与球面区域相关的至少一个视频部分和至少一个额外多媒体部分的元数据,其中元数据位于已推导视窗视频轨道中;以及基于元数据,确定至少一个视频部分和至少一个额外多媒体部分。

在一些示例中,确定至少一个视频部分和至少一个额外多媒体部分包括:识别指定与球面区域相关的至少一个视频部分和至少一个额外多媒体部分的元数据,其中元数据位于具有相同轨道分组标识符的相同类型的轨道分组组合中;以及基于元数据,确定至少一个视频部分和至少一个额外多媒体部分。

在一些示例中,识别至少一个额外多媒体部分包括:识别音频轨道、文本轨道和标题轨道中的一个或多个。

在一些示例中,该方法包括:识别与球面区域相关的额外特征,其中额外特征包括球面区域间过渡效应,球面区域间过渡效应包括表示从球面区域到第二球面区域的过渡的过渡效应的数据。过渡效应可以包括如下中的一个或多个:过渡的周期;球面区域的位置到第二球面区域的位置的范围;过渡的音频效应;以及过渡的视频效应。

一些实施例涉及一种用于解码视频数据的装置。装置包括与存储器通讯的处理器,处理器被配置成执行存储在存储器中的多个指令,使得处理器:接收包括与至少一个球面区域相关的多媒体体验的表示的多媒体数据;确定与球面区域相关的多媒体数据的至少一个视频部分和多媒体数据的至少一个额外多媒体部分;以及将至少一个视频部分和至少一个额外多媒体部分一起进行渲染,以呈现与球面区域相关的多媒体体验。

在一些示例中,确定至少一个视频部分和至少一个额外多媒体部分包括:识别指定与球面区域相关的至少一个视频部分和至少一个额外多媒体部分的元数据,其中元数据位于已推导视窗视频轨道中;以及基于元数据,确定至少一个视频部分和至少一个额外多媒体部分。

在一些示例中,确定至少一个视频部分和至少一个额外多媒体部分包括:识别指定与球面区域相关的至少一个视频部分和至少一个额外多媒体部分的元数据,其中元数据位于具有相同轨道分组标识符的相同类型的轨道分组组合中;以及基于元数据,确定至少一个视频部分和至少一个额外多媒体部分。

在一些示例中,识别至少一个额外多媒体部分包括:识别音频轨道、文本轨道和标题轨道中的一个或多个。

在一些示例中,多个指令还使得处理器:识别与球面区域相关的额外特征,其中额外特征包括球面区域间过渡效应,球面区域间过渡效应包括表示从球面区域到第二球面区域的过渡的过渡效应的数据。过渡效应可以包括如下中的一个或多个:过渡的周期;球面区域的位置到第二球面区域的位置的范围;过渡的音频效应;以及过渡的视频效应。

一些实施例涉及一种编码视频数据的方法。该方法包括:编码包括与至少一个球面区域相关的多媒体体验的表示的多媒体数据;编码与球面区域相关的多媒体数据的至少一个视频部分和多媒体数据的至少一个额外多媒体部分;以及提供编码的多媒体数据、至少一个视频部分和至少一个额外多媒体部分,以呈现与球面区域相关的多媒体体验。

在一些示例中,编码至少一个视频部分和至少一个额外多媒体部分包括:编码指定与球面区域相关的至少一个视频部分和至少一个额外多媒体部分的元数据,其包括:将元数据编码到已推导视窗视频轨道中。

在一些示例中,编码至少一个视频部分和至少一个额外多媒体部分包括:编码指定与球面区域相关的至少一个视频部分和至少一个额外多媒体部分的元数据,其包括:将元数据编码到具有相同轨道分组标识符的相同类型的轨道分组组合中。

在一些示例中,该方法包括:编码与球面区域相关的额外特征,其中额外特征包括球面区域间过渡效应,球面区域间过渡效应包括表示从球面区域到第二球面区域的过渡的过渡效应的数据。

一些实施例涉及一种编码视频数据的装置。该装置包括与存储器通讯的处理器,处理器被配置成执行存储在存储器中的多个指令,使得处理器:编码包括与至少一个球面区域相关的多媒体体验的表示的多媒体数据;编码与球面区域相关的多媒体数据的至少一个视频部分和多媒体数据的至少一个额外多媒体部分;以及提供编码的多媒体数据、至少一个视频部分和至少一个额外多媒体部分,以呈现与球面区域相关的多媒体体验。

在一些示例中,编码至少一个视频部分和至少一个额外多媒体部分包括:编码指定与球面区域相关的至少一个视频部分和至少一个额外多媒体部分的元数据,其包括:将元数据编码到已推导视窗视频轨道中。

在一些示例中,编码至少一个视频部分和至少一个额外多媒体部分包括:编码指定与球面区域相关的至少一个视频部分和至少一个额外多媒体部分的元数据,包括:

将元数据编码到具有相同轨道分组标识符的相同类型的轨道分组组合中。

在一些示例中,多个指令还使得处理器:编码与球面区域相关的额外特征,其中额外特征包括球面区域间过渡效应,球面区域间过渡效应包括表示从球面区域到第二球面区域的过渡的过渡效应的数据。

本发明的有益效果有:通过确定与球面区域相关的多媒体体验的表示的多媒体数据的至少一个视频部分和至少一个额外多媒体部分,进而对其进行渲染,以呈现与球面区域相关的多媒体体验。

因此,大致概述了所公开的主题的特征,以便更好地理解下列具体实施方式,并且以便更好地理解对本领域的贡献。当然,存在所公开主题的额外特征,其将在下文中描述,并形成所附权利要求的主题。可以理解的是,本文中所使用的用语和术语是用于描写的目的,不应被视为限制。

附图说明

附图中,不同附图所示出的每个相同或几乎相同的组件用相同的参考字符表示。为了清楚,并不是每个组件都在每个附图中标记出来。附图不一定是按比例绘制的,而是将重点放在此处所述的技术和设备的各个方面。

图1是根据一些实施例的示例性的视频编解码配置。

图2是根据一些示例的用于vr内容的基于视窗的内容流流程。

图3是根据一些示例的同步元数据轨道(metadatatrack)语法的示例。

图4是根据一些实施例的渲染球面区域的示例性计算机化方法。

图5是根据一些实施例的轨道分组组合类型的示例拓展。

图6是根据一些实施例的示例性轨道分层结构。

图7是根据一些实施例的示例球面区域选择。

具体实施方式

不同技术可以用于指定球面区域内容和/或相关元数据,以给用户呈现鲁棒体验。

发明人已发现已有视频技术,例如vr技术,仅使用一个多媒体文件中的视频和音频。这些技术针对鲁棒球面区域(robustsphericalregions)(例如,视窗)不适用,举例来说鲁棒球面区域是指定了不同视窗和不同多媒体内容的球面区域,包括非视频多媒体内容和/或其他元数据(metadata)。发明人已对球面区域技术开发了技术性改进。在一些实施例中,球面区域可以通过分组(grouping)所有相关媒体和/或与球面区域体验相关的元数据轨道来进行指定。在一些实施例中,球面区域可以通过将与球面区域体验相关的元数据包含在内的方式来增强,例如,在从一个球面区域到另一个球面区域以及/或者其他体验进行改变时的过渡(transition)效应。在一些实施例中,,分组与分层技术可以被使用以允许球面区域以被推导的方式(现有技术时所不可支持的方式)来分组球面区域多媒体和/或元数据。

在下文中,为了透彻理解所公开的主题,提供了关于所公开主题的系统和方法以及这些系统和方法可能操作的环境等的大量而具体的细节。然而,对于本领域的技术人员而言,清楚的是,所公开主题可以被实施而无需这么具体的细节,并且,为了避免所公开的主题的复杂,本领域所公知的某些特征不被具体地描述。另外,可以理解的是,下面提供的示例是示例性的,并且,可设想的是,存在落入所公开主题的其他系统和方法。

图1显示了根据一些实施例的示例性的视频编解码配置100。摄像机102a-102n是n个摄像机,并且可以是任何类型的摄像机(例如,包括音频记录能力的摄像机和/或单独的摄像机与音频记录功能)。编码设备104包括视频处理器106和编码器108。视频处理器106处理自摄像机102a-102n接收到的视频,例如,缝合(stitching)、投影和/或映射。编码器108编码和/或压缩二维视频数据。解码设备110接收已编码数据。通过广播网络、通过移动网络(例如,蜂窝网络)和/或通过因特网,解码设备110可以接收视频,作为视频产品(例如,数字视盘或其他计算机可读介质)。解码设备110可以是,例如,计算机、手持设备、头戴式显示的一部分或者具有解码能力的任何装置。解码设备110包括解码器112,其被配置成解码已编码视频。解码设备110也可以包括渲染器(renderer)114,以用于渲染二维内容回到球面。显示116显示来自于渲染器114的已渲染内容。

感兴趣区域(regionofinterest,roi)在概念上有点类似于视窗(viewport)。例如,roi可以表示全景视频(omnidirectionalvideo)的3d或2d编码中的区域。roi可以具有不同的形状(例如,方形或圆形),其可以被指定与3d或2d视频相关(例如,基于位置、高度等)。例如,感兴趣区域可以表示可被放大的图像中的区域,并且相应的roi视频可以被显示以用于已放大视频内容。在一些实施方式中,roi视频已被单独地准备。在这些实施方式中,感兴趣区域通常具有单独的视频轨道(videotrack),其承载roi内容。因此,已编码视频可以用于指定roi,以及roi视频如何与底层视频相关。

roi轨道或视窗轨道(viewporttrack),例如单独编码的roi轨道,可以与主视频相关。例如,roi可以与主视频相关以方便放大操作和缩小操作,其中roi用于提供放大区域的内容。例如,mpeg-b,part10,entitled“carriageoftimedmetadatametricsofmediainisobasemediafileformat,”datedjune2,2016(w16191),描述了iso基础媒体文件格式(isobasemediafileformat,isobmff)文件格式,其使用同步元数据轨道(timedmetadatatrack)以发信(signal)主2d视频轨道具有2droi轨道。

通常,使用球面内容,3d内容可以被表示,以提供360度场景的视角(例如,有时称为全景媒体内容)。虽然因为使用3d球面而多个视角可以被支持,但是末端用户通常仅观看到3d球面上的内容的一部分。传输整个3d球面所需的带宽会对网络施加沉重的负担,并且可能不足够支持球面内容。因此,需要使得3d内容传送更有效。基于视窗的处理可以被执行以改进3d内容传送。3d球面内容可以被分割成区域/瓦片(tile)/子图像,并且仅与观看屏幕(例如视窗)相关的区域/瓦片(tile)/子图像可以被发送并传送到末端用户。

图2显示了根据一些示例的用于vr内容的基于视窗的内容流流程200。如图所示,在方框202中,球面视窗201(例如,其可以包括整个球面)经历缝合、投影、映射(以生成已投影且已映射区域);在方框204中,被编码(以生成多个质量的已编码/转码瓦片);在方框206中被传送(以瓦片的形式);在方框208中被解码(以产生解码的瓦片);在方框210中,被构造(以构造球面渲染视窗);以及在方框212中,被渲染。在方框214中,用户交互可以选择一视窗,其启动通过虚线箭头所示的多个“及时”流程步骤。

在流程200中,由于当前网络带宽的限制和不同适应性要求(例如,关于不同质量、编解码器和保护方案的),3d球面vr内容先被处理(缝合、投影和映射)到2d平面(方框202),随后,被封装到多个基于瓦片(或基于子图像)且分段的文件中(在方框204中),以用于传送和播放。在这种基于瓦片且分段的文件中,2d平面中的空间瓦片(例如,其表示空间部分,通常在2d平面内容的矩形形状中)通常被封装为其变体(variant)的集合,例如,不同质量和比特率的,或者不同编解码器和保护方案(例如,不同加密算法和加密方式)的。在一些示例中,这些变体对应于mpegdash中的适应集(adaptationset)内的表示(representation)。在一些示例中,基于用户的关于视窗的选择,不同瓦片的这些变体中的一些在放在一起时提供所选视窗的覆盖,不同瓦片的这些变体由接收器接收或被传送给接收器(通过传送方框206)、随后被解码(在方框208中)以构造并渲染所需视窗(在方框210和方框212中)。

如图2所示,视窗概念是末端用户所观看的东西,其涉及球面上的区域的角度和尺寸。对于360度内容,通常,这些技术将所需瓦片/子图像内容传送到客户端,以覆盖用户将观看的东西。该流程是基于视窗的,因为这些技术仅传送覆盖当前感兴趣视窗的内容,而不是整个球面内容。然而,视窗(例如,一种类型的球面区域)可能改变,并因此不是静态的。例如,当用户移动其头部时,该系统需要获得相邻瓦片(或子图像),以覆盖用户接下来想要观看的东西。基于球面区域/视窗的处理技术不允许指定超出与球面区域(例如视窗)相关的视频内容。

如上所讨论,已有的媒体传送方法提供指定球面区域。例如,在m40849中,即2017年7月的mpeg第119次会议的名称为“omafdistextwithupdatesbasedonberlinomafahgmeetingagreements”,其整体以引用的方式并入本文,描述了全景媒体格式(omnidirectionalmediaformat,omaf)规格的最新草案。通常omaf允许在同步(timed)元数据轨道中指定视窗的位置、形状和尺寸的元数据。具体地,omaf规格中的视窗发信的当前支持是通过一个通用的同步元数据轨道语法来指示球面区域的。omaf也包括专用语法,例如,以用于“原始视窗”(例如,在开启时显示的视窗)同步元数据轨道和潜在其他“推荐视窗”同步元数据轨道。这些元数据轨道与具有新参考类型‘cdtg’的一个或多个球面媒体轨道相关,以指示在由这些元数据轨道一起表示的球面内容上存在区域。

图3示出了根据一些示例的同步元数据轨道语法的示例。这些语法指的是球面区域(即“sphereregion”)。如上所述,视窗是特殊类型的sphereregion。sphereregionsampleentry语法310指定sphereregionsampleentry,其包括一个sphereregionconfigbox。sphereregionconfigbox语法320指定样本所指定的球面区域的形状。dynamic_range_flag322可以用于指示球面区域是否改变,并且相应地指定视窗是静态的还是动态的(例如,移动与否)。例如,尽管用户不移动,但视窗可能(或者可能不)在球面上移动。在一些实施方式中,如果设置等于0,则dynamic_range_flag322指定球面区域的水平范围和垂直范围在参考这个样本条目的所有样本中保持不变;如果设置等于1,则dynamic_range_flag322指定球面区域的水平范围和垂直范围以样本格式被指示。static_hor_range324和static_ver_range326可以分别指定参考这个样本条目的每个样本的球面区域的水平范围和垂直范围,以2-16度(2-16degree)为单位。如草案omaf规格中所讨论,static_hor_range324和static_ver_rnge326可以指定通过球面区域的中心点的范围。

每个样本指定一球面区域,并且sphereregionsample结构350可以包括sphereregionstruct330。center_yaw332、center_pitch334和center_roll336可以指定相对于全球坐标轴的视窗定位。center_yaw332和center_pitch334可以表示视窗的中心,center_roll336可以表示视窗的滚动角度。hor_range338和ver_range340,在存在时,可以分别指定由这个样本所指定的球面区域的水平范围和垂直范围。

然而,在很多实例中,需要不仅通过其自身的球面区域视频,而且通过例如其他相关媒体(例如,音频、文本和字幕媒体)和/或为该视窗的表示所特别准备的元数据,来渲染视窗体验。例如,当其是推荐视窗时,例如当用户不控制观看定位时和/或当用户释放观看定位的控制时,可能需要使用元数据。另一种所需使用实例是当推荐视窗具有各种各样相关音频和/或其他多媒体时。例如,如果推荐视窗是旅游景点或小径,其专属于该景点或小径的一个或多个向导音频轨道可以是可用的(例如,在不同语言中),则不同的推荐视窗可以具有不同于背景音乐音频轨道的不同向导音频轨道。又一示例的使用实例是通过聆听(或观看)该体验中的其他人的对话,允许vr用户与多个“推荐视窗”(例如,故事线)交互。例如,用户可以一次跟踪一个故事和/或通过简单地环顾而在故事之间跳转。

如上所讨论,现有技术仅提供视频数据的指定元数据。发明人已发现并理解的是,需要发信呈现视窗体验的整个相关媒体内容(relevantmediacontent)(例如,不仅相关视频,而且其他内容,例如音频和字幕媒体)和/或元数据的集合,使得单个视窗体验可以相应地被呈现。因此,简单地使用球面区域同步元数据来发信感兴趣视窗的存在是不够的。

发明人已对已有球面区域技术开发了技术性改进,包括用于vr视窗体验呈现的技术性改进。如本文进一步讨论,这些技术可以包括球面区域呈现轨道分组。球面区域呈现轨道分组可以用于,例如,上述所参考的最新omaf规格文件中所考虑的已投影全景视频。这些技术可以包括增强发信额外特征的分组方法的选项。例如,这些技术可以提供视窗间过渡效应(inter-viewporttransitioneffect),其可以在从一个视窗到另一视窗进行改变时使用。这些技术也可以通过使用视窗的分层轨道推导来提高分组效率。这些技术可以拓展轨道分组机制(例如,isobmff中的优先级机制),以用于发信在omaf的文本中的消费性vr内容时的视窗特定体验。

图4是根据一些实施例的渲染球面区域的示例性计算机化方法400。在步骤402中,设备(例如解码设备110)接收具有至少一个球面区域的多媒体数据。在步骤404中,设备确定与球面区域相关的视频数据和额外的多媒体部分,所述额外的多媒体部分包含多媒体数据(例如,音频、字幕、标题数据)和/或元数据。例如,如本文所进一步讨论,使用球面区域呈现轨道分组,设备可以确定相关多媒体数据和/或用于球面区域的元数据。在步骤406中,设备将至少一个视频部分和至少一个额外多媒体部分一起进行渲染,以呈现球面区域。

如步骤404所示,球面区域呈现轨道分组可以用于投影全景视频。例如,当与球面区域体验表示相关的多个轨道中的每个包含特定类型的轨道分组组合时,球面区域呈现轨道分组可以被指定。例如,这些轨道可以具有track_group_type等于‘psrp’且相同的track_group_id值的轨道分组组合。因此,这个分组组合可以在每个轨道中进行使用,以指示这些轨道属于什么体验。这些轨道可以是任何媒体轨道和/或元数据轨道,包括(已投影和/或非投影)视频轨道、音频轨道、同步文本轨道和同步元数据轨道。属于该类型的相同轨道分组的轨道可以一起被使用,以通过其自身呈现多媒体体验。例如,如果接收设备正在渲染来自于球面区域呈现轨道分组的内容,则接收设备可以考虑来自于该分组内的所有轨道的(媒体和/或元数据)内容(例如,除了传统相关视频之外,可以是自在渲染球面区域时可能需要被考虑的视频、音频、文本、标题和/或其他相关数据选择的一些其他数据)。

一个或多个约束可以被指定以用于属于球面区域呈现轨道分组的轨道。在一些实施例中,这些约束可以由特定轨道分组类型指定,以指示具有一个或多个特定约束(例如,如本文所讨论的约束)的球面区域呈现轨道分组。在一些实施例中,这些约束可以被指定为球面区域呈现轨道分组组合的必选属性或可选属性,例如类型等于‘psrp’的属性。

作为约束的一示例,仅一个同步元数据轨道可以被映射到该分组的轨道。例如,约束可以被使用,使得仅存在一个被映射到每个track_group_id值的分组的球面区域同步元数据轨道。球面区域同步元数据轨道可以,例如,具有‘cdtg’轨道参考,被链接到映射到具有相同track_group_id值的该分组的所有视频轨道。这个同步元数据轨道可以用于发信或指定与轨道分组多媒体体验相关的一个或多个球面区域。

约束的另一示例可以是,存在被映射到每个track_group_id值的分组的至少一个视频轨道。被映射到具有相同track_group_id值的分组的所有视频轨道的视频内容可以覆盖由被映射到具有相同track_group_id值的分组的球面区域元数据轨道所发信的球面区域,例如,以便提供该轨道分组的视觉体验。

约束的又一示例可以是,被映射到具有相同track_group_id值的分组的所有轨道属于一轨道分组,称为已投影球面区域呈现分组。已投影球面区域呈现分组可以是足够的,以用于由该分组中的已投影球面区域同步元数据轨道呈现(presentation)所发信的球面区域的多媒体(例如,视频和其他媒体视窗体验)呈现,其中所有视觉轨道均是2d视觉轨道,其内容表示被投影到2d平面上的球面区域。

一个或多个约束可以被施加以用于被映射到该分组的同步元数据轨道。例如,对于被映射到该分组的球面区域同步元数据轨道,‘num_regions’将等于1,以指示球面区域同步元数据轨道仅发信与轨道分组多媒体体验相关的一个球面区域。

一个或多个约束可以被施加以用于被映射到该分组的视频轨道。一约束可以是,被映射到该分组的每个视频轨道将具有等于‘resv’的样本条目类型。scheme_type可以等于包括在该样本条目中的schemetypebox中的‘podv’,例如,以根据mpeg全向媒体格式指示视频轨道是包含单视(monoscopic)内容或立体内容的已投影全景视频轨道。

另一约束可以是,包括在被映射到相同已投影球面区域呈现轨道分组的轨道的样本条目中的projectionformatbox的所有实例的内容均是相同的,例如,以指示该分组中的已投影视频轨道的相关投影格式。

一约束可以是,包括在被映射到相同已投影球面区域呈现轨道分组的轨道的样本条目中的regionwisepackingbox的所有实例的内容均是相同的,例如,以指示该分组中的已封装(packed)视频轨道的相关分区域封装机制均是相同的。

另一约束可以是,包括在被映射到相同已投影球面区域呈现轨道分组的轨道的样本条目中的projectionorientationbox的所有实例的内容均是相同的,例如,以指示该分组中的已投影视频轨道的相关投影定位均是相同的。

在一些实施例中,轨道分组类型轨道组合(trackgrouptypebox)可以被拓展,以指定与球面区域相关的额外元数据。在isobmff,iso/iec14496-12,“informationtechnology–codingofaudio-visualobjects:isobasemediafileformat”,5thedition,may2015中,其整体以引用的方式并入本文,指定了轨道分组类型组合的一示例。轨道分组类型组合可以被拓展以包括轨道分组类型具体说明的额外数据。图5显示了根据一些实施例的轨道分组组合类型fullbox502的示例拓展500。如504所示,额外数据可以被指定以用于特定的track_group_type506。在一些实施例中,视窗表示轨道分组类型‘psrp’可以被拓展以包括额外数据,以支持额外球面区域使用实例。额外使用实例可以包括具有多个已支持音频和/或其他多媒体内容(例如导游示例)以及本文所讨论的多故事使用实例的球面区域。例如,额外属性可以用于支持相对于视窗和球面区域的剩余部分(例如背景)的视频过渡入/出效应和音频淡出/淡入效应的视窗间(inter-viewport)过渡体验。

一个或多个额外属性的示例可以包括:过渡时间周期(例如,指定了在从一个球面区域到另一球面区域过渡时过渡周期的长度);过渡范围(例如,指定了过渡效应发生所在的“起点”球面区域和“终点”球面区域之间的范围[0,1]内的间隔);视频过渡效应模式;和/或音频过渡效应模式。例如,w3csmil规格,其提供于https://www.w3.org/tr/smil-boston/smil-transitions.html且整体以引用的方式并入本文,描述了过渡范围的示例。

过渡效应模式可以包括,例如,视频过渡效应。例如,溶解(dissolve)过渡效应可以被指定,其可以使得第一球面区域消失在第二球面区域中。溶解过渡可以包括添加溶解过渡(additivedissolvetransition)(例如,其将来自于剪辑(clip)b的颜色信息添加到剪辑a,随后从剪辑b中提取剪辑a的颜色信息);交叉溶解(cross-dissolve)过渡(例如,其淡出剪辑a而淡入剪辑b);渐变黑(diptoblack)过渡(例如,其使剪辑a渐变到黑色,随后从黑色渐变到剪辑b);渐变白过渡(例如其使剪辑a渐变到白色,随后从白色渐变到剪辑b);抖动溶解(ditherdissolve)过渡(例如,其使用抖动算法来使剪辑a渐变到剪辑b);和/或膜溶解(filmdissolve)过渡(例如,其是在线性颜色空间中进行混合的溶解过渡)。又例如,虹膜(iris)过渡可以被指定,其是包括遮盖某个形状(例如,框形、交叉形、菱形或圆形),以将图像关闭成黑屏。虹膜过渡可以包括,例如,虹膜框过渡、虹膜交叉过渡、虹膜菱形过渡和/或虹膜圆形过渡。上述所参考的w3csmil规格提供了虹膜过渡的一示例。另一示例是页剥离(pagepeel)过渡,例如页剥离过渡和/或翻页过渡。又一示例是滑动(slide)过渡,例如中心分割过渡、推送过渡、滑动过渡和/或分割过渡。另一示例是3d运动过渡,例如,立方体旋转过渡和/或翻转过渡。在一些实施例中,adobepremierepro中所描述的视频过渡中的一个或多个可以被指定。在https://helpx.adobe.com/premiere-pro/using/video-effects-transitions.html处提供有adobepremierepro过渡的示例,其整体以引用的方式并入本文。

过渡效应模式可以包括,例如,音频过渡效应。例如,常量增益过渡可以被使用,其是在剪辑之间过渡时以常量速率改变音频的交叉渐变。又例如,常量功率交叉渐变可以被使用以创建平滑且渐变的过渡,类似于视频剪辑之间的溶解过渡。又例如,指数渐变过渡使第一剪辑在光滑对数曲线上淡出,而也使第二剪辑在光滑对数曲线上淡入。在一些实施例中,音频过渡效应模式可以包括adobepremiereprocc和auditioncc中音频交叉渐变过渡。可以在https://helpx.adobe.com/premiere-pro/using/audio-effects-transitions.html处,查找到adobepremiereprocc和auditioncc音频过渡效应的示例,其整体以引用的方式并入本文。

发明人也已发现且理解的是,如已有实现中所指定,视窗呈现轨道分组机制可能是效率低的。例如,isobmff缺乏轨道分层,其可能导致使用轨道分组机制时所继承的效率低。参考文献m40412,“derivingvrroiandviewportrelatedtracksinisobmff,”mpeg118thmeeting,april2017和参考文献m40413,“omaf:vrmediastorageandmetadatasignalingforviewportdependentcontentprocessing,”mpeg118thmeeting,april2017,其整体以引用的方式并入本文,解释了isobmff需要与视窗呈现相关的轨道,以承载轨道分组组合。在单个轨道中承载轨道分组组合可能变得冗余且乏味,如此处所讨论,特别是在vr视频在具有多个质量变体的很多子图像轨道中进行编码时。另外或可选地,不存在球面区域(视窗)轨道,相反地,球面区域是合成在一起的子图像轨道的一部分。因此,解码设备需要来自于子图像的内容,以便渲染球面区域。

已有技术不指定子图像轨道与其如何相关于特定视窗之间的关系,例如,指定球面内容具有一视窗。例如,如果轨道分组机制被设计为轨道轨道分组组合,则轨道分组组合是在变体轨道中。从元数据角度来看,使得轨道分组组合处于每个变体轨道中是效率低的,因为每个轨道具有轨道分组组合,且因此轨道分组组合通常以冗余方式被指定穿过每个轨道。另外或可选地,当使用轨道分组组合时,内容通常不是整个球面区域(或视窗),而其通常仅是球面区域的一片。

发明人已开发vr媒体的轨道推导机制,其(例如,包括冗余且乏味的已有技术,例如isobmff技术)解决先前技术中这些缺陷和其他缺陷。这些技术将元数据与球面区域以一种方式进行相关,这种方式不需要每个轨道也包括相同(通常冗余)信息。在一些实施例中,轨道分组组合被指定在视窗轨道中。对于已推导轨道来说,已推导轨道是轨道本身,除了推导的相关元数据之外。已推导轨道是符合逻辑的,例如,其可以避免引入媒体内容开销和/或复制。轨道推导通常本质上是按需执行的,并且因此可以仅基于需求来执行。已推导的轨道可以合理地与其他相关轨道分组,并由其他相关轨道参考,例如,相关音频轨道、文本轨道、应用轨道和元数据轨道。

这些技术可以使用轨道分组组合以指定元数据,从而将其他相关轨道分组到多媒体轨道。如此处所讨论,轨道分组组合可以被使用以分组轨道。可以存在不同类型的轨道分组组合(例如,由于为了不同目的,例如,子图像合成和/或多源表示的目的,轨道可以被分组在一起)。如isobmff中所指定,每个轨道分组组合具有轨道类型(例如,“track_group_type”),其可以用于在多个轨道分组组合中进行区别,例如“msrc”,以指示轨道属于多源呈现。另外,可以存在同一类型的很多轨道分组,轨道分组标识符(identifier,id)(例如“track_group_id”)可以用于区别同一类型的不同轨道分组。因此,轨道分组标识符可以用于在文件内标识轨道分组。包含具有相同标识符的特定轨道分组类型组合的多个轨道属于相同轨道分组。在一些实施例中,这些技术可以使用相同类型和相同轨道分组标识符的轨道分组组合,以指定元数据,例如,与球面区域相关的多媒体内容和额外内容。

在一些实施例中,使用已推导轨道,视窗或roi可以被发信。使用已推导轨道可以提供单个轨道,其可以用于表示瓦片的变体轨道的内容。又例如,使用已推导轨道可以帮助建立轨道分层来以合成关系的形式指示轨道如何相关,例如,当已推导轨道是自变体轨道和(合成)瓦片轨道推导的时。

图6是根据一些实施例的示例性轨道分层结构600。在图6、图7中使用trak来表示轨道,使用mdat表示多媒体数据,使用mdata表示元数据。顶端轨道602是3dvr球面内容轨道,位于顶端轨道602下面的是相关元数据轨道604(如图所示且所下面进一步讨论,每个轨道具有相关元数据)。轨道606是2d投影轨道。轨道608是2d较大图像轨道。如轨道610a到轨道610r所示,是区域轨道,通常称为子图像轨道610。每个区域轨道610具有相关变体轨道的集合。区域轨道610a包括变体轨道612a到变体轨道612k。区域轨道610r包括变体轨道614a到变体轨道614k。因此,如轨道分层结构600所示,结构可以被开发,其始于物理多变体区域轨道612,并且轨道分层可以被建立以用于区域轨道612(子图像轨道或瓦片轨道)、已投影且已封装2d轨道608、已投影2d轨道606和vr3d视频轨道604及其相关适当的元数据轨道。

在操作期间,设备在交替变体轨道中进行选择以选择表示子图像区域(或子图像轨道)610的一个。子图像轨道610一起被合成成2d较大图像轨道608。随后,最终地,轨道608被映射,例如,以重新排列这些部分中的一些,以生成轨道606。随后,轨道606被投影回到3d轨道602。

图7显示了根据一些实施例的示例球面区域选择。利用图6中所讨论的具有3d球面内容轨道702的分层结构。设备可以通过执行视窗选择操作706来确定视窗轨道704,使得视窗轨道704是选择的视窗。因此,如上所讨论,分组组合可以仅与3d球面内容轨道704相关(例如,并且无需被设置以用于每个变体轨道,例如结合图6所讨论的变体轨道)。因此,与其各自适当相关的元数据轨道一起,球面区域轨道可以是自vr3d轨道推导出的。已推导视窗视频轨道可以使得视窗表示轨道分组更合适得多、符合逻辑和/或有效(例如,由于视窗表示轨道分组组合仅需要位于已推导视窗视频轨道中,而不是如上所述的每个变体区域视频轨道)。

根据本文描述的原理的技术操作可以以任何适当的方式来实现。上面的流程图的处理块和决策块表示被包含执行这些不同处理的算法中的步骤和行为。自这些处理中推导出的算法可以以集成有并指导一个或多个单目的或多目的的处理器的操作的软件来实现,可以以诸如数字信号处理(digitalsignalprocessing,dsp)电路或应用专用集成电路(application-specificintegratedcircuit,asic)的功能等效电路来实现,或可以以任何其他适当的方式来实现。应该理解的是,此处所包含的流程图不描述任何特定电路或任何特定编程语言或编程语言类型的语法或操作。相反,流程图示出了本领域的技术人员可以使用的功能信息,以制造电路或实现计算机软件算法来执行进行本文所描述的技术类型的特定装置的处理。还应该理解的是,除非在此另有说明,在每个流程图中描述的步骤和/或行为的特定顺序仅是对可以实现的算法的说明,并且可以在本文所描述的原理的实施方式和实施例中被改变。

因此,在一些实施例中,本文所描述的技术可以在作为软件而实现的计算机可执行指令中被实施,包括应用软件、系统软件、固件、中间件、嵌入式代码或任何其他合适类型的计算机代码。通过使用大量合适的编程语言和/或编程工具或脚本工具的任何一种,这种计算机可执行指令可以被编写,也可以被编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。

当本文所描述的技术被实施为计算机可执行指令时,根据这些技术,这些计算机可执行指令可以以任何合适的方式来实现,包括作为若干功能设施,每一个提供一个或多个操作来完成算法操作的执行。然而被实例化,当由一个或多个计算机来集成和执行时,一个“功能设施”,是一个计算机系统的结构组件,使一个或多个计算机执行特定的操作角色。功能设施可以是整个软件元素的一部分。例如,功能设施可以作为处理的功能来实现,或作为离散处理,或作为任何其他合适的处理单元来实现。如果此处描述的技术以多个功能设施来实现,则每个功能设施可以以自己的方式来实现;所有这些功能设施不需要以相同的方式来实现。此外,可以并行地和/或串行地执行这些功能设施,并且通过使用消息传递协议或以任何其他合适的方式,这些功能设施可以通过使用正在执行的计算机上的共享存储器来彼此传递信息。

一般来说,功能设施包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,功能设施的功能可以按其操作的系统的要求组合或分发。在一些实施方式中,执行本文中技术的一个或多个功能设施可以一起形成一个完整的软件包。在替代实施例中,这些功能设施可适于与其他无关功能设施和/或处理进行交互,以实现软件程序应用。

本文已描述了一些示例性功能设施以用于执行一个或多个任务。但是,应该理解的是,所描述的功能设施和任务划分仅仅是说明实现本文所描述的示例性技术的功能设施类型,并且实施例不限于以任何特定数量、划分或功能设施类型来实现。在一些实施方式中,所有功能可以在单个功能设施中实现。还应该理解的是,在一些实施方式中,此处所描述的一些功能设施可以与其他一起实现或与单独实现(即作为单个单元或单独单元),或者一些功能设施可以不实现。

在一些实施例中,实现本文所描述的技术计算机可执行指令(当作为一个或多个功能设施或以任何其他方式来实现时)被编码在一个或多个计算机可读介质上,以将功能提供给介质。计算机可读介质包括如硬盘驱动器的磁介质,如光盘(compactdisk,cd)或数字通用光盘(digitalversatiledisk,dvd),持续或非持续的固态存储器(如flash存储器,磁随机存取存储器等),或任何其他合适的存储介质。这样的计算机可读介质可以以任何合适的方式来实现。如本文所使用,“计算机可读介质”(也称为“计算机可读存储介质”)指的是有形(tangible)存储介质。有形存储介质是非暂时的,并且具有至少一个物理的、结构的组件。在本文中所使用的“计算机可读介质”中,至少一个物理结构构件具有至少一个物理属性,在创建具有实施信息的介质的过程中,在其上记录信息的过程中,或在编码具有信息的介质的任何其它过程中,其可以以某种方式被改变。例如,在记录过程中,可以改变计算机可读介质的物理结构的一部分的磁化状态。

此外,上面描述的一些技术包括以某种方式存储信息(例如,数据和/或指令)以用于这些技术的行为。在这些技术的一些实施方式中—例如技术被实现为计算机可执行指令的实施方式—信息可在计算机可读存储介质上编码。如果本文描述的特定结构是用于存储该信息的有利格式,这些结构可用于传授在存储介质上编码时的信息的物理结构。然后,这些有利结构可以通过影响与该信息交互的一个或多个处理器的操作来将功能提供到存储介质;例如,通过提高由处理器执行的计算机操作的效率。

在技术被实施为计算机可执行指令的一些但非所有实施方式中,这些指令可以在以任何合适的计算机系统而操作的一个或多个合适的计算设备上执行,或一个或多个计算设备(或一个或多个计算设备的一个或多个处理器)可以被编程以执行计算机可执行指令。当指令以访问一个计算设备或者处理器的方式被存储在计算设备或处理器时,一个计算设备或处理器可被编程以执行指令,例如在数据存储中(例如,一个片上高速缓存或指令寄存器、通过总线可以访问的计算机可读存储介质、通过一个或多个网络可访问且由设备/处理器可访问的计算机可读存储介质等)。包括这些计算机可执行指令的功能设施可集成有和指导单个的多目的可编程数字计算设备的操作,共享处理能力和共同执行本文所描述的技术的两个或更多的多目的计算设备的协调系统,单个计算设备或专用于执行本文所描述的技术计算设备的协调系统(同一位置或地理分布),实施本文所描述的技术的一个或多个现场可编程门阵列(field-programmablegatearray,fpga),或者任何其他合适的系统。

计算设备可以包括至少一个处理器、网络适配器和计算机可读存储介质。例如,计算设备可以是台式机或笔记本电脑、个人数字助理(personaldigitalassistant,pda)、智能手机、服务器或任何其他合适的计算设备。网络适配器可以是任何合适的硬件和/或软件,以使得计算设备能够通过任何合适的计算网络与任何其他合适的计算设备进行有线和/或无线通讯。计算机网络可以包括无线接入点、交换机、路由器、网关和/其他网络设备,以及任何合适的有线和/或无线通讯介质或者媒体以用于交换两个或者多个计算机之间的数据,包括因特网。计算机可读介质可适于存储待处理的数据和/或由处理器待执行的指令。数据和指令可以被存储在计算机可读存储介质上。

计算设备还可以具有一个或多个组件和外围设备,包括输入设备和输出设备。除其他外,这些设备可用于呈现用户界面。可用于提供用户界面的输出设备的示例包括用于直观显示输出的打印机或显示屏幕,和扬声器或者听觉显示输出的其它声音产生设备。可用于用户界面的输入设备的示例包括键盘和指向设备,例如鼠标、触摸盘和数字化平板。又例如,计算设备可以通过语音识别或其他可听觉格式接收输入信息。

实施例已经被描述了,其中以电路和/或计算机可执行指令来实现这些技术。应该理解的是,一些实施例可以是一种方法的形式,其中提供了至少一个示例。作为方法的一部分执行的行为可以以任何适当的方式进行排序。因此,这些实施例可以以不同于所示出的顺序来执行行为的方式而被构造,即使如示出的实施例中作为顺序的行为所示,其可以包括同时执行某些行为。

以上所描述的实施例的各个方面可以被单独使用、组合、或在上述的实施例中没有具体讨论的各种排列,并且因此不限制其应用到上述说明或附图中的组件的具体细节和排列。例如,在一个实施例中所描述的方面可以以任何方式与其他实施例中所描述的方面结合。

在权利要求中以修改权利要求元素的诸如“第一”“第二”“第三”等的顺序术语的使用本身不意味着任何优先,先后性,或者以一个权利要求元素在另一个之上的顺序或者方法的行为被执行的时间顺序,但仅用于作标记以将具有相同名称的一个权利要求元素与具有相同名称的另一个元素进行区分(但是对于顺序术语的使用),进而区分权利要求元素。

此外,本文所使用的措辞和术语是为了描述的目的,而不应被视为限制性的。本文所使用“包括”、“包含”、“具有”、“包含”、“涉及”即其变形用于围绕其后所列出的项目及其等效,以及额外的项目。

本文所使用的“示例性”一词是指作为示例、实例或说明。因此,除非另有说明,本文中所描述的任何实施例、实施方式、处理、特征等都应该被理解为一个说明性的示例,并且不应理解为优选的或有利的示例。

在已经描述了至少一个实施例的几个方面之后,应将理解的是,对于本领域技术人员来说,将容易发生各种改变、修改和改进。这种改变、修改和改进将是本发明的一部分,并且在本文所描述的原理的精神和范围内。因此,上述描述和附图仅以示例的方式进行。

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