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

文档序号:18899831发布日期:2019-10-18 21:47阅读:330来源:国知局
用于编解码视频数据的方法及装置与流程

本发明涉及视频编码。具体而言,本发明涉及关联,存储和/或发信号通知叠加合成(overlaycompositions),包括用于叠加合成物的叠加合成元数据。



背景技术:

存在各种类型的视频内容,包括高分辨率视频,3d内容和多向内容。例如,高分辨率视频可以包括较大帧尺寸的视频,例如具有大约4,000像素(例如,4k视频),8,000像素(例如,8k视频)等的的水平显示分辨率的视频。视频帧可以划分为若干子图像或图块。视频可以包括叠加内容(overlaycontent),例如徽标和/或预览,并且子图片和/或叠加合成(overlaycomposition)可以在渲染设备中执行。作为另一示例,全向视频是使用一组相机捕获的一种视频,而不是像传统视频那样仅使用单个相机。例如,可以将摄像机放置在特定中心点周围,使得每个摄像机捕获场景的球面叠加上的一部分视频以捕获360度视频。来自多个相机的视频可以被缝合,旋转,并被投影以生成表示球形内容的投影的二维图像。例如,然后可以使用二维编码和压缩技术进一步处理。最终,使用期望的传送机制(例如,拇指驱动器(thumbdrive),数字视频盘(dvd),文件下载,数字广播和/或在线流传输)来存储和传送已编码和已压缩的内容。这种视频可以用于虚拟现实(virtualreality,vr)和/或3d视频。



技术实现要素:

根据所公开的主题,提供了一种用于关联,存储和/或发信号通知叠加合成的装置,系统和方法,包括叠加组合元数据。如本文进一步讨论的,可以对与媒体内容相关的叠加合成元数据(例如,轨道组,导出的轨道,定时元数据轨道,等)使用各种技术(例如,各种数据结构)并使用各种机制。

一些实施例涉及用于解码视频数据的解码方法。该方法包括接收包括分层轨道结构的多媒体数据,该分层轨道结构包括至少第一轨道和第二轨道,其中第一轨道在分层轨道结构中处于第一层,并且第二轨道处于分层轨道中的第二级别结构在第一轨道的第一层之上。该方法包括确定与第二轨道相关联的叠加合成元数据,其中叠加合成元元数据包括偏移元数据,层元数据,源元数据或其组合。该方法包括对与第一轨道相关联的媒体数据执行轨道导出操作,包括基于叠加组合元数据执行与第一轨道相关联的媒体数据的叠加合成,以生成第二轨道的媒体数据,使得第二轨道是第一轨道的派生轨道。

在一些示例中,叠加合成元数据包括偏移元数据,并且与第一轨道相关联的媒体数据包括用于合成的一个或多个输入轨道,并且该方法还包括基于偏移元数据确定是否对于一个或多个输入轨道中的每一个指定一个偏移。在一些示例中,解码方法还包括基于偏移元数据确定为一个或多个输入中的每一个指定一个偏移,并且执行媒体数据的叠加合成包括基于一个或多个输入轨道的偏移执行叠加合成。

在一些示例中,叠加合成元数据包括层元数据,并且与第一轨道相关联的媒体数据包括用于组合的一个或多个输入轨道,并且该方法还包括基于层元数据确定是否为一个或多个输入中的每一个指定一个层。该方法可以进一步包括基于层元数据,确定是否为一个或多个输入中的每一个指定一个层,并且执行媒体数据的叠加合成包括基于一个或多个输入轨道中的每一个来执行叠加合成。

在一些示例中,与第一轨道相关联的媒体数据包括用于合成的一个或多个输入轨道,并且叠加合成元数据包括源元数据,源元数据包括指定一个或多个输入轨道的数量的源计数,以及指定三维内容的深度的源深度;并且执行媒体数据的叠加合成包括基于一个或多个输入轨道中的每一个的源深度来执行叠加合成。

在一些示例中,与第一轨道相关联的媒体数据包括用于合成的一个或多个输入轨道,并且确定叠加合成元数据包括确定叠加关系描述元数据,其中对于一个或多个输入轨道,叠加关系描述元数据指定特定于相关输入轨道的叠加元数据。

一些实施例涉及一种解码视频数据的装置。该装置包括与存储器通信的处理器,该处理器被配置为执行存储在存储器中的指令,该指令使处理器接收包括至少第一轨道和第二轨道的分层轨道结构的多媒体数据,其中第一轨道是在分层轨道结构中的第一层,并且第二轨道在第一轨道的第一层之上的分层轨道结构中的第二层。处理器被配置为执行存储在存储器中的指令,该指令使处理器确定与第二轨道相关联的叠加合成元数据,其中叠加合成元数据包括偏移元数据,层元数据,源元数据或其组合,并执行轨道对与第一轨道相关联的媒体数据的推导操作,包括:基于叠加合成元数据,执行与第一轨道相关联的媒体数据的叠加合成,以生成第二轨道的媒体数据,使得第二轨道是第一轨道的导出轨道。

在一些示例中,叠加合成元数据包括偏移元数据,并且与第一轨道相关联的媒体数据包括用于合成的一个或多个输入轨道,并且处理器被配置为执行存储在存储器中的指令,该指令使处理器基于偏移元数据,确定是否为一个或多个输入轨道中的每一个指定一个偏移。在一些示例中,处理器被配置为执行存储在存储器中的指令,该指令使得处理器基于偏移元数据,确定为一个或多个输入中的每一个指定一个偏移,并且执行媒体数据的叠加合成包括基于一个或多个输入轨道中的每一个的偏移来执行所述叠加合成。

在一些示例中,叠加组合元数据包括层元数据,并且与第一轨道相关联的媒体数据包括用于合成的一个或多个输入轨道,并且处理器被配置为执行存储在存储器中的指令,该指令使处理器基于该层元数据,确定是否为一个或多个输入中的每一个指定一个层。在一些示例中,处理器被配置为执行存储在存储器中的指令,该指令使得处理器基于层元数据为一个或多个输入中的每一个指定一个层,并执行媒体数据的叠加合成包括基于所述一个或多个输入轨道中的每一个的层来执行叠加合成。

在一些示例中,与第一轨道相关联的媒体数据包括用于合成的一个或多个输入轨道,叠加合成元数据包括源元数据,源元数据包括指定一个或多个输入轨道的数量的源计数,以及指定三维内容的深度的源深度,并且执行媒体数据的叠加合成包括基于一个或多个输入轨道中的每一个的源深度来执行叠加合成。

在一些示例中,与第一轨道相关联的媒体数据包括用于合成的一个或多个输入轨道,并且确定叠加合成元数据包括确定叠加关系描述元数据,其中对于一个或多个输入轨道的每个输入轨道,叠加关系描述元数据指定特定于相关输入轨道的叠加元数据。

一些实施例涉及用于编码视频数据的方法。该方法包括编码用于包括至少第一轨道和第二轨道的多媒体数据的分层轨道结构,其中第一轨道在分层轨道结构中处于第一层,并且第二轨道位于第一轨道的第一层之上的分层轨道结构中的第二层。该方法包括编码与第二轨道相关联的叠加合成元数据,其中叠加合成元数据包括偏移元数据,层元数据,源元数据或其组合,其中叠加合成元数据指定与第一轨道相关联的媒体数据的叠加合成的至少一部分。其中叠加合成作为对与第一轨道相关联的媒体数据的轨道导出操作的一部分来执行,以生成第二轨道的媒体数据,使得第二轨道是第一轨道的导出轨道。

在一些示例中,对分层轨道结构进行编码包括:对与第一轨道相关联的媒体数据进行编码,包括用于叠加合成的一个或多个输入轨道,并且对叠加合成元数据进行编码包括对偏移元数据进行编码,其中偏移元数据指示是否为一个或多个输入轨道中的每一个指定偏移。在一些示例中,对偏移元数据进行编码包括编码指示为一个或多个输入中的每一个指定的偏移的数据。

在一些示例中,对分层轨道结构进行编码包括对与第一轨道相关联的媒体数据进行编码,包含用于叠加合成的一个或多个输入轨道,并且编码该叠加合成元数据包括编码该层元数据,其中该层元数据指示是否为该一个或多个输入中的每一个指定一个层。在一些示例中,编码层元数据包括编码指示为一个或多个输入中的每一个指定一个层的数据。

在一些示例中,对分层轨道结构进行编码包括对与第一轨道相关联的媒体数据进行编码,包括用于叠加合成的一个或多个输入轨道,并且编码叠加合成元数据包括编码源元数据,源元数据包括指定一个或多个输入轨道的数量的源计数,以及指定三维内容的深度的源深度。

在一些示例中,对分层轨道结构进行编码包括:编码与第一轨道相关联的媒体数据,包含用于叠加合成的一个或多个输入轨道,并且编码叠加合成元数据包括编码叠加关系描述元数据,其中对于一个或多个输入轨道的每个输入轨道,叠加关系描述元数据指定特定于相关输入轨道的叠加元数据。

一些实施例涉及用于编码视频数据的装置。该装置包括与存储器通信的处理器,该处理器被配置为执行存储在存储器中的指令,该指令使处理器编码用于包括至少第一轨道和第二轨道的多媒体数据的分层轨道结构,其中第一轨道是在分层轨道结构的第一层;第二轨道位于第一轨道的第一层之上的分层轨道结构中的第二层。处理器被配置为执行存储在存储器中的指令,该指令使处理器编码与第二轨道相关联的叠加合成元数据,其中叠加合成元数据包括偏移元数据,层元数据,源元数据或其组合,其中叠加合成元数据指定用于与第一轨道相关联的媒体数据的叠加合成的至少一部分,其中叠加合成可以作为对与第一轨道相关联的媒体数据的轨道推导操作的一部分来执行,以生成第二轨道的媒体数据,使得第二轨道是第一轨道的导出轨道。

本发明提供的用于编解码视频数据的方法及装置,可提高编解码效率。

因此,已经相当广泛地概述了所公开的主题的特征,以便可以更好地理解随后的详细描述,并且可以更好地理解对本领域的贡献。当然,所公开的主题的附加特征将在下文中描述,并且将形成所附权利要求的主题。应理解,本文采用的措辞和术语是出于描述的目的,不应视为限制。

附图说明

在附图中,在各个图中示出的每个相同或几乎相同的部件由相同的附图标记表示。为清楚起见,并非每个组件都可以在每个图纸中标记。附图不一定按比例绘制,而是将重点放在说明本文描述的技术和装置的各个层面。

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

图2示出了根据一些示例的用于虚拟现实(vr)内容的视口相关内容流程。

图3a示出了根据一些示例的用于导出视觉轨迹的样本条目的示例性语法。

图3b示出了根据一些示例的导出轨道配置记录的示例性语法。

图4a示出了根据一些示例的导出视觉轨迹的样本的第一示例性语法。

图4b示出了根据一些示例的导出视觉轨迹的样本的第二示例性语法。

图5示出了根据一些实施例的用于导出的视觉轨迹的样本条目的示例性语法。

图6示出了根据一些实施例的导出轨道配置记录的示例性语法。

图7a和图7b示出了根据一些实施例的用于导出的视觉轨迹的样本的示例性语法700。

图8a示出了根据一些实施例的用于导出的视觉轨迹的样本条目的语法。

图8b示出了根据一些实施例的导出视觉轨迹的样本的语法。

图9示出了根据一些实施例的沉浸式媒体盒(immersivemediabox)的示例性语法。

图10示出了根据一些实施例的用于指定叠加关系的示例性语法。

图11a示出了根据一些实施例的用于指定叠加关系样本组的示例性语法。

图11b示出了根据一些实施例的具有指定渲染平面的球体。

图12示出了根据一些实施例的示例性轨道分层结构。

图13示出了根据一些实施例的叠加关系描述的示例性语法。

图14示出了根据一些实施例的轨道叠加样本条目的示例性语法。

图15示出了根据一些实施例的轨道叠加样本1500的示例性语法。

图16是根据一些实施例的用于解码视频数据的计算机化方法的示例性流程图。

具体实施方式

可以使用各种技术来改进现有的视频编码技术。如本文所述,根据本发明的实施方式,揭示了现有的用于提供叠加合成(overlaycompositions)的视频编码技术的限制,并开发了对现有视频编码技术的改进,包括用于提供叠加合成的各种技术(例如,包括可用于指定现有技术不具有的叠加合成元数据的各种数据结构)。根据本发明的实施方式,进一步开发了可用于将叠加合成元数据与媒体内容相关联的各种机制(例如,包括通过使用轨道组,导出轨道和/或定时元数据轨道)。

在以下描述中,阐述了关于所公开的主题的系统和方法以及这些系统和方法可以操作的环境等的许多具体细节,以便提供对所公开的主题的透彻理解。另外,应当理解,下面提供的示例是示例性的,并且预期存在在所公开的主题的范围内的其他系统和方法。

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

iso基础媒体文件格式(isobasemediafileformat,isobmff)是媒体文件格式的基本格式,其描述于“图像文件格式”(iso/iecfdis23008-122ndedition,n16657,jan2017,geneva,switzerland),在此引入通过引用整体而言。例如,isobmff是用于http上的动态自适应流传输(dynamicadaptivestreamingoverhttp,dash)和mpeg多媒体传输(mpegmultimediatransport,mmt)的基本格式。例如,isobmff被设计为以灵活,可扩展的格式包含演示的定时媒体信息,以便于媒体的交换,管理,编辑和呈现。isobmff包括用于指定图像导出的部分。随着时间的推移,技术被考虑包含在isobmff中,称为“考虑中的技术”(technologiesunderconsideration,tuc)。isobmff正在考虑的一些技术包括支持新用例的建议方法和设计,例如可能支持各种演示组合的导出的视觉轨迹。然而,发明人已经确定现有技术不足以提供叠加合成,包括叠加合成元数据。

全向media格式(omaf)在iso/iec23090-2中规定,其通过引用整体并入本文。omaf指定用于全向媒体的编码,存储,传送和呈现的全向媒体格式。omaf指定一个坐标系,使得用户的观察视角是从球体的中心向外看向球体的内表面。omaf包括针对全向媒体的isobmff扩展以及针对球体区域的定时元数据。iso/iec14496-15规定了视频流的存储格式,其被构造为网络抽象层(nal)单元,其全部内容通过引用结合于此。omaf包括对isobmff和iso/iec14496-15的扩展,可用于全向媒体以及其他用途。作为mpeg-1第2部分的omaf目前处于版本1(“codedrepresentationofimmersivemedia(mpeg-1)part2:omnidirectionalmediaformat,”iso/iec14496-12,w17399,february2018),在此引入作为参考。

通常,3dof(3个自由度)内容可以使用球面内容(sphericalcontent)来表示,以提供场景的360度视图(例如,有时被称为全向媒体内容)。虽然可以使用3d球体支持许多视图,但最终用户通常仅查看3d球体上的一部分内容。传输整个3d球体所需的带宽会给网络带来沉重的负担,并且可能不足以支持球形内容。因此,期望使3d内容传递更有效。可以执行视口相关处理以改进3d内容传递。3d球形内容可以被划分为区域/图块/子图像,并且只有与观看屏幕(例如,视口)相关的那些可以被发送并传递给最终用户。

图2示出了根据一些示例的用于vr内容的视口相关内容流程200。如图所示,球形视口201(例如,其可以包括整个球体)在框202处经历缝合,投影,映射(以生成投影和映射区域),在框204处被编码(以生成具有多种质量的编码/转码图块)在块206处传送(作为图块),在块208处解码(以生成解码的图块),在块210处构造(以构造球形渲染的视口),并且在块212处渲染。块214处的用户交互可以选择一个视口,它启动了许多“即时”处理步骤,如虚线箭头所示。

在过程200中,由于当前网络带宽限制和各种适应要求(例如,关于不同质量,编解码器和保护方案),首先将3d球形vr内容处理(拼接,投影和映射)到2d平面上(通过块202)然后封装在多个基于图块(或基于子图像)和分段的文件中(在框204处)以用于传送和回放。在这种基于图块和分段的文件中,2d平面中的空间图块(例如,其表示空间部分,通常是2d平面内容的矩形形状)通常被封装为其变体的集合,例如不同的质量和比特率,或不同的编解码器和保护方案(例如,不同的加密算法和模式)。在一些示例中,这些变体对应于mpegdash中的适应集(adaptationsets)内的表示。在一些示例中,基于用户在视口上的选择,不同图块的这些变体中的一些当放在一起时提供所选视口的叠加,由接收器检索或传送到接收器(通过传送块206),然后解码(在框208)以构造和渲染期望的视口(在框210和212处)。

如图2所示,视口概念是最终用户的视图,它涉及球体上区域的角度和大小。对于360度内容,通常,该技术将所需的图块/子图像内容传递给客户端以叠加用户将查看的内容。此过程取决于视口,因为这些技术仅提供叠加当前感兴趣视口的内容,而不是整个球形内容。视口(例如,一种球形区域)可以改变,因此不是静态的。例如,当用户移动他们的头部时,系统需要获取相邻的图块(或子图片)以叠加用户接下来要查看的内容。

可以使用内容的平面文件结构,例如,用于单个电影的视频轨道。对于vr内容,存在的内容多于接收设备发送和/或显示的内容。例如,如本文所讨论的,可以存在整个3d球体的内容,其中用户仅观看一小部分。为了更有效地编码,存储,处理和/或传递这些内容,可以将内容划分成不同的轨道。图12示出了根据一些实施例的示例性轨道分层结构1200。顶部轨道1202是3dvr球形内容轨道,并且顶部轨道1202下方是关联的元数据轨道1204(每个轨道具有关联的元数据)。轨道1206是2d投影轨道。轨道1208是2d大画面轨道。区域轨道被示为轨道1210a到1210r,通常被称为子图像轨道1210。每个区域轨道1210具有一组相关联的变体轨道。区域轨道1210a包括变体轨道1212a到1212k。区域轨道1210r包括变体轨道1214a到1214k。因此,如轨道层次结构1200所示,可以开发以物理多变量区域轨道1212开始的结构,并且可以为区域轨道1210(子图像或平铺轨道),投影和打包2d轨道1208,投影的2d轨道1206和vr3d视频轨道1202,建立轨道层级,其中适当的元数据轨道与它们相关联。

在操作中,变体轨道包括实际图像数据。设备在交替的变体轨道中进行选择以选择代表子图像区域(或子图像轨道)1210的轨道。子图像轨道1210被平铺并一起组合成2d大图像轨道1208。最后,轨道1208被逆映射(reverse-mapped),例如,重新排列一些部分以产生轨道1206。然后,轨道1206被逆投影(reverse-projected)回3d轨道1202,3d轨道1202是原始3d图像。

例如,示例性轨道分层结构可以包括在文件m39971(“derivingcompositetracksinisobmff”,january2017(geneva,ch)),m40384(“derivingcompositetracksinisobmffusingtrackgroupingmechanisms”,april2017(hobart,au)),m40385(“derivingvrprojectionandmappingrelatedtracksinisobmff;”m40412,“derivingvrroiandviewportrelatedtracksinisobmff”,mpeg118thmeeting,april2017),其全部内容通过引用结合于此。在图12中,rprojection,rpacking,compose和alternate分别代表轨道推导变换属性transformproperty项目反向'proj',反向'pack','cmpa'和'cmp1',用于说明目的而不是限制性的。元数据轨道中显示的元数据类似地用于说明目的,而不是限制性的。例如,可以使用来自omaf的元数据框,如文件w17235(“textofiso/iecfdis23090-2omnidirectionalmediaformat,”120thmpegmeeting,october2017(macau,china))所示,其全部内容通过引用结合于此。

图12中所示的轨道数量旨在说明而非限制。例如,在如图12所示的层级中不一定需要一些中间导出轨道的情况下,相关的推导步骤可以组成一个(例如,逆封装(reversepacking)和逆投影(reverseprojection)被组合在一起以消除投影轨道1206的存在)。

该技术可以包括利用轨道层级结构(例如,结合图12讨论的层级)来将组合元数据存储在导出轨道中。例如,合成元数据可以存储在子图像轨道1210,2d大图像轨道1208和/或轨道1206中。将合成元数据存储在导出轨道中可以减少需要存储的合成元数据的量。例如,可能需要组合元数据指定支持双目视差呈现和/或具有例如透明度/不透明度之类的特征的内容重叠呈现。一些技术使用轨道内(例如,项目属性)元数据框来指定这样的合成元数据。例如,如果背景中有五个叠加,则五个轨道中的每一个都携带合成元数据。如果根据这里讨论的技术在导出的轨道中携带合成元数据,则可以仅在导出的轨道中指定它。可以单独和/或与其他空间和时间信息一起使用导出轨道中的合成元数据,以使用导出的视觉轨迹执行叠加。例如,文件n17379(“technologiesunderconsiderationforisobmff,”n17379,gwangju,korea(jan2018))其全部内容通过引用结合于此,该文件指定了使用导出的视觉轨迹执行叠加的技术。

在tuc中,已经提出了用于导出的视觉轨迹的选项。对于导出的视觉轨迹的样本条目,图3a中所示的导出视觉样本条目导出的视觉样本条目derived视觉样本条目visualsampleentry300可以被使用来指定导出视觉轨道的样本条目,其指定导出的轨道配置记录导出轨道配置记录derivedtrackconfigrecordderived_config_rec302。可以使用导出的轨道配置记录导出轨道配置记录derivedtrackconfigrecord的框类型来指定所导出的轨道配置记录以用于容器是导出的轨道采样条目导出轨道采样条目derivedtracksampleentry的情况。

可以以各种方式指定导出的轨道配置记录的语义。用于导出的轨道配置记录的语义的一个示例性选项包括:第一字段、第二字段、零个或多个四字符代码的数组、和一个或多个保留字段。其中,第一字段(例如,entity_byte_len_minus1)可用于指示在导出样本的样本结构的某些语法元素中使用的字节数(例如,entity_byte_len_minus1加1);第二字段(例如,采样偏移字节长度sample_offset_byte_len)可以指示导出样本的样本结构中的采样偏移sample_offset字段的字节数;对于零个或多个四字符代码的数组(例如,operation_4cc[])来说,每个代码识别变换属性。导出的轨道配置记录的语义的第二示例性选项在图3b中示出。语义可以包括扩展box的导出轨道配置记录derivedtrackconfigrecord类,其包括指定每个变换属性的整数数组(例如,property_type[])(例如,如tuc中所讨论的,通过引用并入本文),并且可以包括零个或多个四字符代码的数组(例如,operation_4cc[]),每个代码标识变换属性。

可以以各种方式指定导出视觉轨迹的样本的语法。第一示例性选项是图4a中所示的变换属性transformproperty语法400。字段输入数量num_inputs402指定用于该图像操作的输入实体的数量。当输入数量num_inputs402等于0时,图像操作不是必需的,否则图像操作是必要的。字段实体索引entity_idx404是类型为'dtrk'的轨道参考类型箱trackreferencetypebox的从1开始的索引。当实体索引entity_idx404指向解析为轨道id的id值时,指定函数istrack(entity_idx)406返回1,否则指定函数istrack(entity_idx)406返回0。采样偏移sample_offset408仅存在于当实体索引entity_idx404参考一个轨道并且采样偏移字节长度sample_offset_byte_len410大于0时,并且它相对于导出样本的解码时间对样本的偏移(正或负)进行编码。当不存在时,推断采样偏移sample_offset408等于0。transformationproperty400扩展fullbox,因此是一个完整的框,表示对包含图像操作imageoperation412结构中列出的输入执行的操作。

导出的视觉轨迹的样本的语法的第二示例性选项是图4b中所示的变换属性transformproperty语法450。输入数量num_inputs452指定用于该图像操作的输入实体的数量。track_ref_index_or_zero454是类型为'dtrk'的轨道参考类型箱trackreferencetypebox的从1开始的索引,或者是用于指示前一个图像操作imageoperation的输出的值0。变换属性transformproperty450扩展了满箱fullbox,因此是一个完整的箱(fullbox),表示要对包含的图像操作imageoperation结构中列出的输入执行的操作。

根据本发明的实施方式,在此讨论现有技术中的不同语法的缺点。在一些实施例中,样本条目的语法的第一示例性选项可以与图4a中所示的导出视觉轨迹的样本的语法的第一示例性选项配对,与用于输入样本选择的计算的采样偏移信息相配对。在一些实施例中,样本条目的语法的第二示例性选项可以与图4b中所示的导出视觉轨迹的样本的语法的第二示例性选项配对,以用于使用默认输入样本选择的轨道推导。配对的第一示例性选项使用更多参数,因此使用更多字节/比特来发信号通知相关信息。配对的第二示例性选项具有简单的语法并且使用较少的字节/比特。然而,对于主要应用(例如,文件中的轨道是直接从视频或图像序列的较大帧划分的子图像),配对的第二示例性选项可以更有效地工作。例如,所有轨道可以是具有相同长度的相同时间线,并且可以是为了呈现而对齐的构图。成对的第一示例性选项可以灵活地工作以用于一些应用,在这些应用中,文件中的轨道可以是从多个视频或图像序列生成的图片/子图片的应用,其中这些视频或图像序列可以具有不同的时间线和长度。对于轨道可能不具有相同时间线的一些示例,可能需要解决对齐问题。因此,针对已经确定现有技术具有相关的缺点,并且现有技术不够灵活以解决视频编码所需的各种场景。

这里描述的技术提供了新的语法,该语法可以提供通过当前为isobmff提出的语法无法实现的益处和灵活性。这些技术可以包括在导出轨道内的叠加合成元数据(例如,如结合图120所讨论的)。例如,该语法可以用于采用具有样本偏移的多个输入的导出轨道合成。偏移可以在导出轨道中被指定。

图5提供了根据一些实施例的用于导出的视觉轨迹的样本条目的语法500。出于说明的目的,示例可以包括导出的视觉样本条目derived视觉样本条目visualsampleentry类501,其扩展视觉样本条目visualsampleentry,其将用于解释本文的概念,但是技术人员可以理解,可以使用其他术语,结构和/或字段而不脱离本发明的精神。采样偏移标志sample_offset_flag502,如果设置为1,则表示采样偏移sample_offset的计算存在,否则采样偏移sample_offset被推断为等于0。保留字段504应该等于0。导出轨道配置记录derivedtrackconfigrecordconfig_rec506可以使用结合图6讨论的语法来指定。与现有的导出视觉轨迹语法相反,语法500包括导出轨道配置记录derivedtrackconfigrecord506的附加字段。例如,如图3a所示,语法300仅包括导出轨道配置记录derivedtrackconfigrecord302。如图5所示,语法500另外包括采样偏移标志sample_offset_flag502和保留字段504。如结合图6和图7a-7b进一步讨论的那样,采样偏移标志sample_offset_flag502可以允许基于是否存在样本偏移来以其他语法包括和/或控制参数。

图6提供了根据一些实施例的导出轨道配置记录derivedtrackconfigrecord600的语法。可以在包含导出轨道采样条目derivedtracksampleentry的轨道中包括(例如,强制)导出轨道配置记录derivedtrackconfigrecord600。当添加1时,entity_byte_len_minus1602可以指示在导出样本的样本结构的某些语法元素中使用的字节数。采样偏移字节长度sample_offset_byte_len604可以指示导出样本的样本结构中的采样偏移sample_offset字段的字节数。保留字段606可以等于0。operation_4cc[]608是零个或多个四字符代码的数组,每个代码标识变换属性。

如图6中的语法所示,可以基于采样偏移标志sample_offset_flag(例如,图5中的采样偏移标志sample_offset_flag502)来控制包括entity_byte_len_minus1602,采样偏移字节长度sample_offset_byte_len604和保留字段606。以这种方式使用采样偏移标志sample_offset_flag可以为导出轨道配置记录derivedtrackconfigrecord提供灵活性,使用现有技术无法提供。例如,用于指定上面讨论的导出视觉轨迹的样本条目的第一示例性选项和第二示例性选项的功能可以合并到图6中所示的单个导出轨道配置记录derivedtrackconfigrecord600中。

为了实现现有技术无法提供的灵活性,导出轨道配置记录derivedtrackconfigrecord600可以影响其他数据结构中提供的字段。图7a和b提供了根据一些实施例的用于导出的视觉轨迹的样本的语法700。出于说明性目的,图7a示出了图像操作imageoperation类的示例,图7b示出了derivedsample类的示例,其将用于解释本文的概念,但是技术人员可以理解,在不脱离本发明的精神的情况下,可以使用其他术语,结构和/或字段。输入数量num_inputs702指定图像操作imageoperation704的输入实体的数量。当输入数量num_inputs702等于0时,图像操作是非必要的,否则图像操作是必要的。实体索引entity_idx706可以是类型为'dtrk'的轨道参考类型箱trackreferencetypebox的从1开始的索引。当实体索引entity_idx706指向解析为轨道id的id值时,指定函数istrack(实体索引entity_idx)708返回1,否则指定函数istrack(实体索引entity_idx)708返回0。在一些实施例中,当采样偏移标志sample_offset_flag(例如,图5中的采样偏移标志sample_offset_flag502)等于0时,值0可用于指示先前图像操作imageoperation的输出。

如果实体索引entity_idx706引用轨道并且采样偏移字节长度sample_offset_byte_len(例如,图6中的采样偏移字节长度sample_offset_byte_len604)大于0,则采样偏移sample_offset710可以存在。如果存在,采样偏移sample_offset710编码关于导出样本的解码时间的样本的偏移(正或负)。当不存在时,可以推断采样偏移sample_offset710等于0。当采样偏移标志sample_offset_flag(例如,图5中的采样偏移标志sample_offset_flag502)等于0时,可以推断采样偏移sample_offset710等于0。num_samples712可以指定此图像操作的样本数。num_samples712可用于设置采样数量的上界,其中该上界受到用于输入实体的函数endofsample()714的约束,其检测样本条目中的最后采样。变换属性transformproperty716可以是一个完整的箱,它可以指示要对包含的图像操作imageoperation结构中列出的输入执行的操作。

通常,语法700可以提供样本的组合功能,否则现有技术无法获得。例如,作为总体概述,可以使用语法700的部分700a和700c,其中文件中的轨道是直接从视频或图像序列的较大帧划分的子图像。作为另一示例,部分700b和700c可以用于灵活地工作以用于其中文件中的轨道可以是从多个视频或可以具有不同时间线和长度的图像序列生成的图片/子图片的应用。可以使用采样偏移标志sample_offset_flag来控制语法700,例如,其用于确定是否进入部分700a或700b。

合成可以以各种方式进行。例如,tuc地址跟踪组成中的各个部分,例如轨道叠加合成(tuc第2.7节),转换矩阵组成(tuc第2.11节)及其组合(tuc第2.12节)部分,加上跟踪分组组成(tuc第2.13节)。对合成的考虑可以是合成的视觉轨迹的顺序。例如,每个轨道的轨道标题轨道头箱trackheaderbox中的图层参数可以指定视觉轨道的前后排序。

通常,由导出的视觉轨迹引用的每个轨道在生成时可以携带相应的元数据和/或参数。处理这样的轨道元数据可能需要对轨道合成进行额外的考虑和/或处理。关于具有上述轨道推导技术的轨道合成,为简单起见,可以假设轨道标题中的元数据(例如,层参数和/或其他参数)是有效的,并且可以在合成处理期间直接使用。然而,发明人已经发现并意识到可能存在不能有意义地设置层编号的情况(例如,在轨道生成和/或轨道编辑之后)。例如,对于某些类型的轨道媒体数据,例如缩略图,徽标,预览或来自其他文件的媒体数据,媒体数据可能不具有指定的层。另外或替代地,导出的轨道合成处理可以改变层信息。例如,导出的轨迹合成处理可以从原始层编号设置改变相对层特性,和/或可以在向视觉轨迹提供深度信息时调整相对层排序。

发明人已经开发了对用于指定层的语法和语义的现有技术的改进。这些技术可以可选地与上面讨论的语法结合使用,例如结合图5-7b讨论的语法。出于示例性目的,使用图5-7b中引入的语法来示出语法,尽管这不是限制性的。图8a提供了根据一些实施例的用于导出的视觉轨迹的样本条目的语法800。出于说明性目的,如图8a所示,示例可以包括导出的可视化样本条目“dtrk”。虽然本领域技术人员可以理解,在不脱离本发明的精神的情况下可以使用其他术语,结构和/或字段。语法800包括图5中的语法500的各方面。如图8a所示,在图8a中与图5相关参考符号的采用相同的标记。语法800包括添加层标志layer_flag802。如果层标志layer_flag802被设置为1,则层标志layer_flag802指示存在层的设置,否则在轨道头箱trackheaderbox中推断出轨道的层是相同的。语法500中的保留字段504包括七个比特,而语法800中的保留字段804减少一个比特以将比特分配给层标志layer_flag802。

图8b提供了根据一些实施例的用于导出的视觉轨迹的样本的示例性语法800。出于说明性目的,示例可以包括图像操作imageoperation类,其将用于解释本文的概念,但是技术人员可以理解,在不脱离本发明的精神的情况下,可以使用其他术语,结构和/或字段。语法800包括图7a中的语法700的各方面。如图8b所示,在图8b中与图7相关参考符号的采用相同的标记。如语法800的部分800a和800b所示,如果layer_flag(例如,来自图8a的层标志layer_flag802)等于1,则存在层字段806。层字段806指定视频轨道的前后排序。在一些实施例中,层字段806的具有较低编号的轨道更靠近观看者。例如,0是正常值,-1将位于轨道0的前面,依此类推。如果当前,层字段806可以叠加轨道的轨道头箱trackheaderbox中的层编号。

有利地,可以包括层字段以为空间域中的合成提供多个输入轨道的分层。这里描述的技术可以用于重新定义轨道的层参数。例如,可以重新定义该层,否则使用现有技术,来自轨道标题箱的层可能是无效的和/或需要更新,如本文所述。

根据本发明的实施方式,对于具有沉浸式媒体内容的应用,可能存在更多设备,例如源设备,同步设备和/或在端到端系统中涉及的渲染设备,而不是现有标准中所考虑的和/或技术。现有的组合技术通常不支持所需的组合用例,例如那些需要复杂组合的组合用例。例如,一些组合用例需要比使用现有技术支持的最终呈现更复杂的组合。根据本发明的实施方式,开发了用于指定附加组成元数据的技术,例如用于沉浸式媒体应用的时间,空间位置,对象层排序等中的组合元数据。

在一些实施例中,该技术可以包括用于沉浸式媒体的新元数据箱类型。出于说明的目的,示例可以包括可以被称为“immc”箱类型的元数据箱类型,其将用于解释本文的概念,尽管在不脱离本发明的精神的情况下技术人员可以理解其他命名,结构和/或可以使用这些字段。immc框可以包含在视觉样本条目visualsampleentry('dtrk')中。该复选框可强制用于合成媒体轨道。在一些实施例中,箱可以提供用于合成一个或多个源以供呈现的配置信息。媒体轨道可以是导出的视觉轨道(例如,如在用于isobmff的tuc中所描述的),使得导出的轨道携带沉浸式媒体元数据。

图9示出了根据一些实施例的用于沉浸式媒体盒的示例性语法900。源数量source_count902指定合成中的源数量。源idsource_id904指定id值,例如来自列表的id值(例如,在具有等于'dtrk'的reference_type的轨道参考类型箱trackreferencetypebox中)。id值可以是轨道中的导出样本所使用的轨道的轨道id值,轨道的导出样本所使用的图像项目的项目id值,和/或类似值。当存在立体声视频箱stereovideobox时,源深度source_depth906可以指示包含立体内容的最小图像深度。例如,可以从视点到感知的立体图像指定源深度source_depth906。在一些实施例中,源深度source_depth906可以相对于单位球体。在一些实施例中,源深度source_depth906可以以2-16为单位指定。在一些实施例中,源深度source_depth906可以在合成应用程序中被引用,用于对合成图片的透明度进行有效的叠加处理。层908可用于指定视频轨道的排序,例如前后排序。在一些实施例中,具有较低层908号的轨道更靠近观看者。在一些实施例中,0是正常值,-1将在轨道0的前面,依此类推。层908可以叠加轨道头箱trackheaderbox中的层编号。在一些实施例中,合成应用程序可以使用层编号进行叠加处理,并且对于合成图片具有透明度。合成宽度composition_width910可以指定合成图片的宽度(例如,以亮度样本单位)。合成高度composition_height912可以指定合成图片的高度(例如,以亮度样本为单位)。

在一些实施例中,合成元数据可以用信号通知要用于合成的轨道数(例如,作为源数量source_count902)。该技术还可以包括例如源深度source_depth906的新字段。例如,当执行具有3d内容的合成时,可以针对合成来发信号通知基本源深度。例如,这些技术可用于mpeg-i阶段1b以指定与组成相关的元数据。如本文所讨论的,该技术可以包括导出轨道中的合成元数据。

如本文所讨论的,对于具有沉浸式媒体内容或巨大帧尺寸内容的应用,可能存在涉及端到端系统的多个源设备和渲染设备。可以指定多个媒体源的各种空间和时间组合以用于最终呈现给用户。发明人已经发现并理解,期望指定在时间,空间位置,对象层排序等方面对齐的合成元数据,以便支持期望的合成。

主要来源可以参考用于演示的主要来源。主要来源可以是例如整个视图,全局视图,360度媒体和/或类似物。辅助源通常用于指代与主要源不同的源。例如,辅助源可以是附加的本地视图,较小的视图,子图像视图和/或类似视图。辅助源可以叠加并显示为主要源的前景内容。叠加内容可以是例如徽标,手语翻译器,缩略图(例如,作为推荐视口),画中画(pip)(例如,用于关于当前视口的预览或概述),广告,定时文本和/或类似物。可以在视口相对显示模式中指定叠加内容,以便相对于视口指定叠加。可以全局指定叠加内容,例如广告插入或定时文本或其他内容。在一些实施例中,可以使用多个叠加内容,使得可以相对于其他辅助内容指定辅助内容的叠加。例如,可以叠加徽标,使其始终位于另一个辅助源之上。

包括主要来源和次要来源的源可以被捕获为不同类型,包括单视场类型或立体类型。主要来源可以是一种类型,而次要来源可以是相同类型或不同类型。例如,单视场主要源可以用单视场和/或立体次要内容叠加。各种渲染选项可用于叠加,例如老化叠加,定时文本支持(例如,在omaf中指定),具有附加选项的老化叠加(例如,透明度或不透明度),具有附加选项的定时文本支持(例如,透明度或不透明度)和/或类似物。例如,当辅助源是单视场源时(例如,当叠加在单视场或立体主源上时),渲染选项可以包括老化叠加,定时文本支持,具有附加选项的老化叠加,以及具有附加选项的定时文本支持。作为另一示例,当辅助源是立体源时(例如,当叠加在单视场或立体主源上时),渲染选项可以包括定时文本支持和具有附加选项的定时文本支持。例如,可能不支持老化叠加,因为如果感知到场景中的对象位于叠加区域的前面,则可能破坏次要内容的立体效果。

发明人已经开发了使用轨道分组为单独的主要和次要源(例如,包含在isobmff文件中的单独流或独立轨道中的源)指定合成元数据的技术。根据本发明的实施方式,当分离的主要源和次要源相关时,例如组合时间对齐,已经开发了可以使用轨道分组方案来指定叠加元数据的技术。

在一些实施例中,可以为轨道组指定叠加关系。出于说明性目的,示例可以包括使用轨道组类型track_group_type扩展轨道组类型箱trackgrouptypebox的重叠关系描述箱overlayrelationshipdescriptionbox,其将用于解释本文中的概念,尽管技术人员可以理解可以使用其他术语,结构和/或字段而不脱离本发明的精神。重叠关系描述箱overlayrelationshipdescriptionbox可以包含各种字段。根据相关轨道中的元数据,字段可以存在或不存在。例如,如果在下面讨论的关联轨道中没有关联的重叠关系组条目overlayrelationshipgroupentry,则可以存在字段。例如,如果轨道具有恒定的静态叠加模式(例如,根据字段视口相关标志relative_to_viewport_flag,视差相关标志relative_disparity_flag和深度包含标志depth_included_flag,将在下面进一步讨论),则可能是这种情况。作为另一示例,如果存在一个或多个关联的重叠关系组条目overlayrelationshipgroupentry箱,则可能不存在字段。例如,如果轨道具有动态叠加模式,则可能是这种情况。

图10示出了根据一些实施例的用于指定叠加关系1000的示例性语法。出于说明的目的,示例可以包括叠加关系1000指定分组类型’ovlr’分组类型grouping_type1002,其将用于解释本文的概念,但是技术人员可以理解可以使用其他命名,结构和/或字段而无需背离本发明的精神。视口相关标志relative_to_viewport_flag1004指定如何渲染叠加。值1可以指示预期叠加存在于显示屏幕上(例如,叠加是独立于用户的观看方向可见的)。值0可以指示期望叠加在球体上的特定位置处被渲染(例如,叠加仅在用户正在渲染叠加的方向上查看时可见)。视差相关标志relative_disparity_flag1006可以指示视差是否被提供为一个视图的显示窗口的宽度的百分比值(例如,当值等于1时)或者作为像素的数量(例如,当值等于0)。深度包含标志depth_included_flag1008可以指示是否存在叠加内容的区域的深度(例如,z值)(例如,1可以指示要在其上呈现叠加的区域的深度,而0表示它不存在)。

图11a示出了根据一些实施例的用于指定叠加关系样本组1100的示例性语法。在一些实施例中,叠加关系样本组的示例可以包括如图11a所示的扩展视觉采样组条目visualsamplegroupentry的重叠关系组条目overlayrelationshipgroupentry。虽然本领域技术人员可以理解,在不脱离本发明的精神的情况下可以使用其他术语,结构和/或字段,但是将使用图11a来解释本文的概念。可以使用叠加关系样本组1100(例如,结合提供的叠加关系1000)来定义如何组成轨道组。例如,样本分组的分组类型“olrd”分组类型grouping_type可用于从叠加关系轨道组中的视觉轨迹提供例如叠加特征,位置和/或样本大小的信息。在一些实施例中,当分组类型grouping_type等于'olrd'时,可以使用sampletogroupbox(例如,版本1)。分组类型参数grouping_type_parameter的值可以等于对应的叠加关系轨道组的轨道组idtrack_group_id。

在一些实施例中,可以通过将属于相同“ovlr”轨道组的轨道形成为子组来指定与叠加关系轨道组相关联的叠加构造,使得每个子组包含相同备用组中的轨道。可以从每个子组中选择一个轨道。在一些实施例中,对于每个所选轨道的每个构图-时间对准的样本,可以根据叠加区域深度overlay_region_depth、或者根据深度包含标志depth_included_flag指定的前后顺序执行叠加处理。

叠加区域数据overlay_region_count1102可以指定为其提供球体内的放置的叠加区域的数量。每个区域可以由标识符标识。叠加区域idoverlay_region_id1104可以提供叠加区域的标识符。例如,叠加区域idoverlay_region_id1104可以与叠加内容的描述或目的(例如,徽标,广告,缩略图,背景视觉媒体等)相关联。

重复区域不透明度overlay_region_opacity1106可以指定要应用于叠加的不透明度(或相反地,透明度)级别。重复区域不透明度overlay_region_opacity1106可以是范围在[0,100]之间的整数值。重复区域不透明度overlay_region_opacity1106可以对应于作为alpha值范围[0.00,1.00]的浮点值。

视差百分比disparity_in_percent1108可以将视差指示为一个视图的显示窗口宽度的一部分(例如,以2-16为单位)。视差百分比disparity_in_percent1108可以是负的,在这种情况下,位移方向可以反转。视差百分比disparity_in_percent1108可用于在左眼视图上向左移位区域并在右眼视图上向右移位区域。像素中的视差disparity_in_pixels1110可以指示像素中的视差。像素中的视差disparity_in_pixels1110可以是负的,在这种情况下,位移方向可以反转。像素中的视差disparity_in_pixels1110用于在左眼视图上向左移位区域并且在右眼视图上向右移位区域。

中心方位角偏移百分比centerazimuth_offset_percent1112和中心仰角偏移百分比centerelevation_offset_percent1114可以分别指定距离基点(base)的方位角和仰角偏移量,例如sphereregionstruct()的centerazimuth和centerelevation,以百分比表示。宽度百分比width_percent1116和高度百分比height_percent1118可以分别指定叠加宽度和叠加高度,例如以2-16为单位,作为显示窗口的宽度和高度的一部分。在一些实施例中,叠加可以暗示缩放处理以实现该放置。

sphereregionstruct()1120可以指示球体位置,其与其他信息一起使用,以确定在3d空间中放置和显示叠加的位置。在一些实施例中,球体的中心与由sphereregionstruct()1120指定的球体位置之间的矢量可以是渲染叠加物的渲染3d平面的法向量(normalvector)。图11b示出了根据一些实施例的具有指定渲染平面1156的球体1150。sphereregionstruct()1120可以指定来自球1150的中心1152的向量1154,其是渲染3d平面1156的法向量。解码设备可以使用由sphereregionstruct()1120指定的信息(例如,和其他信息(例如,3d平面的深度),以确定在3d空间中渲染3d平面的位置,在该位置上将要渲染叠加。可能存在多个平面(例如,图11b中所示的渲染3d平面1156)作为多层叠加的叠加区域出现的情况。在这种情况下,作为“背景”的球形视觉媒体可以被视为叠加关系描述中的一个区域层。

叠加区域深度overlay_region_depth1122可以指示需要被渲染的重叠的区域的深度(例如,z值)。叠加区域深度overlay_region_depth1122值可以是叠加区域的法向量的范数(norm)。叠加区域深度overlay_region_depth1122值可以与单位球体相关,并且可以以2-16为单位指定。重叠层overlay_layer1124可以指定视频轨道的前后排序。例如,数字较小的曲目可以更接近观看者。在一些实施例中,值0是正常值,-1将在轨道0的前面,依此类推。在一些实施例中,尽管未在图1中示出,如图11a所示,如本文进一步讨论的可以包括源深度source_depth。

如本文所讨论的,可以使用用于内容的平面文件结构,例如,用于单个电影的视频轨道。为了更有效地编码,存储,处理和/或传递这样的内容,如结合结合图12讨论的示例性轨道分层结构1200所示,可以将内容划分成不同的轨道。如本文所讨论的,这些技术可以包括利用轨道层次结构(例如,结合图12讨论的层次结构)来将组合元数据存储在导出的轨道中(例如,在子画面轨道1210中,2d大画面轨道1208和/或轨道1206)。将组合元数据存储在导出轨道中可以减少需要存储的组合元数据的数量。

图13示出了根据一些实施例的叠加关系描述1300的示例性语法。出于说明性目的,示例可以包括箱类型“ovld”1302,其将用于解释本文的概念,但是技术人员可以理解,可以使用其他术语,结构和/或字段而不脱离本发明的精神。容器可以是视觉样本条目visualsampleentry('dtrk')。如本文所讨论的,叠加关系描述1300可以提供用于呈现的叠加合成源的配置信息。对于在导出轨道中参考的合成时间对齐的样本,叠加处理可以是由叠加区域深度overlay_region_depth1304或重叠层overlay_layer1306指定的从前到后的顺序,取决于深度包含标志depth_included_flag1308的值。例如,可以使用叠加关系描述1300结合完整叠加处理的变换属性。

进一步参考叠加关系描述1300,源数量source_count1310可以指定合成中的源的数量。源idsource_id1312可以指定轨道中导出采样使用的所有的轨道id值和轨道中导出采样使用的所有图像条目的条目id值的列表(例如,具有reference_type等于'dtrk'的轨道参考类型箱trackreferencetypebox中)的id值。视口相关标志relative_to_viewport_flag1314指定如何渲染叠加。值1可以指示预期的叠加存在于显示屏幕上(例如,叠加是独立于用户的观看方向可见的)。值0可以指示期望叠加在球体上的特定位置处被渲染(例如,叠加仅在用户正在渲染叠加的方向上查看时可见)。视差相关标志relative_disparity_flag1316可以指示视差是否被提供为一个视图的显示窗口的宽度的百分比值(例如,当值等于1时)或者作为像素的数量(例如,当该值等于0)。

深度包含标志depth_included_flag1318可以指示是否存在叠加内容的区域的深度(例如,z值)。深度包含标志depth_included_flag1318等于1可以指示存在要在其上渲染的叠加的区域的深度。深度包含标志depth_included_flag1318值等于0可以指示不存在要在其上渲染的叠加的区域的深度。

语法1300可以包括其他各种字段,例如上面结合图11a讨论的字段(例如,叠加区域数据overlay_region_count1102,叠加区域idoverlay_region_id1104,重复区域不透明度overlay_region_opacity1106,视差百分比disparity_in_percent1108,像素中的视差disparity_in_pixels1110,中心方位角偏移百分比centerazimuth_offset_percent1112,中心仰角偏移百分比centerelevation_offset_percent1114,宽度百分比width_percent1116,高度百分比height_percent1118,sphereregionstruct()1120,叠加区域深度overlay_region_depth1122和/或重叠层overlay_layer1124)。如图13中的语法1300所示,叠加区域数据overlay_region_count1320可以指定为其提供球体内的放置的叠加区域的数量。每个区域可以由标识符识别。叠加区域idoverlay_region_id1322可以提供叠加区域的标识符。重复区域不透明度overlay_region_opacity1324可以指定要应用于叠加的不透明度(或相反地,透明度)级别。视差百分比disparity_in_percent1326可以将视差(例如,以2-16为单位)指示为一个视图的显示窗口的宽度的一部分。像素中的视差disparity_in_pixels1328可以指示像素中的视差。中心方位角偏移百分比centerazimuth_offset_percent1330和中心仰角偏移百分比centerelevation_offset_percent1332可以分别指定距离基点(base)的方位角和仰角偏移量,例如sphereregionstruct()的centerazimuth和centerelevation。宽度百分比width_percent1334和高度百分比height_percent1336可分别指定叠加宽度和叠加高度。sphereregionstruct()1338可以指示球体位置,其与其他信息一起使用,以确定在3d空间中放置和显示叠加的位置。在一些实施例中,球体的中心与由sphereregionstruct()1338指定的球体位置之间的矢量可以是渲染叠加物的渲染3d平面的法向量(normalvector)(例如,如结合图11a-11b所示所讨论的)。叠加区域深度overlay_region_depth1304可以指示要在其上呈现叠加的区域的深度(例如,z值)。重叠层overlay_layer1306可以指定视频轨道的前后排序。例如,数字较小的曲目可以更接近观看者。

当存在立体声视频箱stereovideobox时,源深度source_depth1340可以指示包含立体内容的最小图像深度(例如,从视点到感知的立体图像)。源深度source_depth1340值可以相对于单位球体,并且可以以2-16为单位指定。可以在合成应用程序中引用源深度source_depth1340以确保叠加区域的感知深度位于场景中的任何对象的前面。

如本文所讨论的,在一些实施例中,如果重叠关系组条目overlayrelationshipgroupentry存在于关联轨道中,则不存在各种重叠关系描述箱overlayrelationshipdescriptionbox字段。与重叠关系组条目overlayrelationshipgroupentry相比,重叠关系描述箱overlayrelationshipdescriptionbox可以被视为更高级别的描述。重叠关系描述箱overlayrelationshipdescriptionbox可用于轨道分组。如果叠加关系是静态的(例如,使得在叠加合成期间没有变化,则因此不需要样本分组),可以存在重叠关系描述箱overlayrelationshipdescriptionbox。重叠关系组条目overlayrelationshipgroupentry可用于样本分组。如果叠加关系是动态的(例如,在叠加合成期间将改变)与轨道分组,则可以存在重叠关系组条目overlayrelationshipgroupentry。因此,在一些实施方案中,仅需要将一种描述用于叠加合成。例如,一个可用于静态叠加关系(例如,在轨道分组级别),而另一个用于动态(例如,在样本分组级别)。

如本文所讨论的,沉浸式媒体内容叠加可以涉及至少主要媒体源和一个或多个次要媒体源。叠加情况可能很复杂,例如多个辅助源叠加在主要源上,可能在不同位置,或者一个辅助源叠加在另一个辅助源之上。根据本发明的实施方式,已经开发了使用定时元数据轨道在isobmff中指定合成元数据的技术。例如,isobmff中指定的定时元数据轨道可用于携带合成元数据。这些技术可以使用定时元数据轨道在与叠加媒体轨道本身不同或其外部的轨道中发信号通知所需的叠加元数据。

其他技术,例如将叠加箱(例如,包含在已投影的全向视频箱projectedomnivideobox中的叠加结构作为叠加(主要或次要)轨道中的条目属性)可能具有各种缺点。例如,使用叠加箱可能不允许简单的个性化叠加材料,其中一个(例如,主要)视觉项目可以用依赖于目标最终用户的不同(例如,次要)视觉项目来叠加。例如,将叠加信息放置到视觉项目轨道中用于一个(例如,初级)视觉项目可以防止或难以用其他叠加信息替换该叠加信息。另外或替代地,第一重叠(例如,主要)条目与第一重叠(例如,次要)条目的关联可以是一对多和动态的。例如,在第一重叠(例如,主要)条目准备好之后,第二重叠(例如,次要)条目可被选择或决定,包括不同的利益相关系统,或利用其受保护的完整性(例如,防止其被修改)。

这里提供的技术,包括使用定时元数据轨道来提供合成元数据,可以提供比现有技术更多的灵活性。例如,这些技术可以在不修改要叠加的媒体轨道(例如,主要和/或次要)的内容的情况下提供合成元数据,这可以发信号通知以允许在媒体内容(例如,主要)的相同块上叠加不同的媒体内容(例如,次要),可以提供个性化叠加(例如,次要)内容(例如,广告内容)的灵活性而不需要复制叠加(例如,主要)的内容等。这些技术可以支持作为单视场视觉内容的主要源和次要源,并且可以扩展以处理立体内容。例如,该技术可以支持立体内容以允许其他类型的叠加,例如单声道叠加立体声、立体声叠加单声道、以及立体声叠加立体声。这些技术可以将一个(单声道)到一个(单声道)的情况扩展到一个到多个,多个到一个,多个到多个的情况。这里公开的技术可以适用于常规2d视觉媒体内容,以及3d沉浸式vr视觉媒体内容(例如,其中清楚在相关媒体轨道内携带什么类型的内容)。

isobmff中的定时元数据轨道可用于发信号通知叠加元数据并引用相关轨道的列表。例如,参考可以是至少两个视觉轨道或轨道组的标识符(id),其中第一轨道承载主媒体源而其余轨道承载辅助媒体源。列表中轨道或轨道组的id顺序可用于指示重叠顺序。例如,轨道或轨道组可以与直接跟随的轨道或轨道组重叠。在一些实施例中,当在轨道参考列表中呈现轨道组的id时,由轨道组中的所有轨道的内容形成的内容可以是为了叠加而考虑的内容。轨道组类型和组中各个轨道的内容可以确定如何形成轨道组内容。例如,如果轨道组是子图像轨道组,则组内容可以是由所有子图像轨道的子图像内容组成的大图像。用于轨道叠加的轨道参考的一些示例可以包括:一个(例如,主要)视觉条目(例如,视觉轨道或图像序列)的一个轨道id,随后的一个(例如,次要的)视觉条目的一个轨道id;一个(例如,主要)视觉条目的一个轨道id,随后的多个(例如,次要的)视觉条目的一份轨道id清单;一个视觉轨道的一个轨道id,随后的多个(例如,次要的)视觉轨道的一个轨道组id;多个(例如,主要)视觉条目的一个轨道id,随后的一个(例如,次要的)视觉条目的一个轨道id;多个(例如,主要)视觉条目的一个轨道组id,随后的多个(例如,次要的)视觉条目的一份轨道id清单;多个(例如,主要)视觉条目的一个轨道组id,随后的多个(例如,次要的)视觉组的一个轨道组id;等等。

如本文所讨论的,这些技术可用于示例性情况,其中主要源是3d单位球(全向媒体)并且次要源被叠加到多个球形区域上。该示例性情况作为用于说明性目的的技术的示例被讨论,并非用于限制本发明。主要源是另一种类型的其他情况是,例如2d平面和/或立体源也可以被寻址(例如,根据需要对次要源内容的叠加采用不同的概念或区域定义)。

图14示出了根据一些实施例的轨道叠加样本条目1400的示例性语法。出于说明的目的,示例可以包括语法指定的轨道重叠采样条目轨道叠加采样trackoverlaysampleentry'trko'1402扩展元数据采样条目metadatasampleentry,其将用于解释本文的概念。另外,技术人员可以理解其他命名,结构和/或字段可以是在不脱离本发明的精神的情况下使用。这些字段可以包括这里讨论的字段,例如结合图10和图13讨论的字段可以包括于其中(例如,视口相关标志relative_to_viewport_flag1314,视差相关标志relative_disparity_flag1316,深度包含标志depth_included_flag1318和叠加区域数据overlay_region_count1320)。如本文所讨论的,视口相关标志relative_to_viewport_flag1404可以指定如何呈现渲染。视差相关标志relative_disparity_flag1406可以指示视差是否被提供为一个视图的显示窗口的宽度的百分比值(例如,当值等于1时)或者作为像素的数量(例如,当该值等于0)。深度包含标志depth_included_flag1408可以指示是否存在叠加内容的区域的深度(例如,z值)。叠加区域数据overlay_region_count1410可以指定为其提供球体内的放置的叠加区域的数量。叠加区域数据overlay_region_count1410可以是轨道参考列表的长度减去1。每个区域可以由标识符识别。

图15示出了根据一些实施例的轨道叠加样本1500的示例性语法。出于说明性目的,示例可以包括轨道叠加采样trackoverlaysample类,其将用于解释本文的概念,但是技术人员可以理解,在不脱离本发明的精神的情况下,可以使用其他术语,结构和/或字段。轨道叠加样本1500可以包括各种字段,例如结合图11a所讨论的那些字段。图11a(例如,重复区域不透明度overlay_region_opacity1106,视差百分比disparity_in_percent1108,像素中的视差disparity_in_pixels1110,中心方位角偏移百分比centerazimuth_offset_percent1112,中心仰角偏移百分比centerelevation_offset_percent1114,宽度百分比width_percent1116,高度百分比height_percent1118,sphereregionstruct()1120,叠加区域深度overlay_region_depth1122和/或重叠层overlay_layer1124)。参考图15中所示的语法,重复区域不透明度overlay_region_opacity1502可以指定要应用于叠加的不透明度或透明度级别。视差百分比disparity_in_percent1504指示视差,例如以2-16为单位,作为一个视图的显示窗口宽度的一部分。像素中的视差disparity_in_pixels1506指示像素的视差。中心方位角偏移百分比centerazimuth_offset_percent1508和中心仰角偏移百分比centerelevation_offset_percent1510可以指定距基点的方位角和仰角偏移量(例如,sphereregionstruct()的centerazimuth和centerelevation)。宽度百分比width_percent1512和高度百分比height_percent1514可以分别指定叠加宽度和叠加高度,作为显示窗口宽度和高度的一部分。sphereregionstruct()1516指示可被使用的球体位置,其与其他信息一起来确定在3d空间中放置和显示叠加的位置(例如,如结合图11b所讨论的)。叠加区域深度overlay_region_depth1518可以指示要在其上渲染的叠加的区域的深度(例如,z值)。重叠层overlay_layer1520可以指定视频轨道的前后排序。

在作为mpeg-1第2部分的omaf的版本2草案中(,“[omaf]editor’sinputtextforomafwd,”w42932,tampere,finland,june2018),其全部内容通过引用结合于此,视觉轨道或图像条目的叠加元数据被指定为“ovly”箱,以用于携带于projectedomnivideobox和itempropertycontainerbox以及重叠定时元数据轨道中。草案指定通过利用'cdsc'轨道参考将叠加定时元数据轨道链接到相应的视觉媒体轨道。'cdsc'通常用于isobmff轨道参考。同样如图像文件格式(imagefileformat)的第8节中所规定的(imagefileformat,iso/iec23008-12,n16657,2015),其通过引用整体并入本文,元数据项可以通过类型'cdsc'的项目参考链接到它们描述的图像,以及定时元数据轨道可以用于定义图像序列的元数据,其可以通过类型'cdsc'的轨道参考链接到图像序列。因此,例如,对于利用对应的重叠原数据处理重叠中的图像项,'cdsc'可能不会简单地用作叠加处理中的图像项的参考链接。

发明人已经开发了对现有技术的改进,当图像项与叠加处理中的视觉媒体轨道有关时,可以使用现有技术。如果叠加是图像而不是视频,则图像项目没有时间信息。发明人已经开发了生成元数据以将图像与定时轨道相关联的技术。在一些实施例中,该技术可以使用图像项来指定图像项的时间元数据。用于叠加处理的图像项可以是图像序列轨道的一部分,并且图像序列轨道可以仅包含一个或多个图像,其具有用于图像序列的相关咨询定时元数据。可以通过利用'cdsc'轨道参考将叠加定时元数据轨道链接到相应的图像序列轨道。叠加项属性箱overlayconfigproperty'ovly,'可以包含在itempropertycontainerbox中(例如,如omaf的版本2草案中指定的mpegpart2)。叠加配置属性overlayconfigproperty可以存储关联图像项中包含的叠加层的静态元数据。例如,可以使用叠加结构overlaystruct()指定静态元数据。

在一些实施例中,视觉等效条目可用于指定叠加图像项的时间信息。用于叠加处理的图像项可以是文件中的多个图像项之一。图像项可以与轨道的时间轴中的位置相关。对于叠加处理,图像项可以与叠加处理中的视觉媒体轨道相关。例如,如图像文件格式中所述,“eqiv”样本分组可用于设置图像项和视觉媒体轨道之间的关系。由“eqiv”样本组标记的样本可以彼此“等效”,和/或与group_id等于样本组的分组类型参数grouping_type_parameter的实体组中的项目。在轨道的媒体时间刻度中,关联的“eqiv”实体组的图像项的所识别时间可以被指定为:

t=c+o/(m/256)公式1

其中,

c为相关的采样的合成时间;

s为轨道的媒体时间刻度;

o为时间偏移time_offset,以及;

m为时间刻度乘法器timescale_multiplier。

“eqiv”样本中的视觉等价条目可以包括时间偏移time_offset和时间刻度乘法器timescale_multiplier。作为图像项目中的视觉等价条目的与视觉媒体轨道的时间关系可用于在叠加处理中呈现图像项目。

这里讨论的技术可以在编码多媒体内容时使用,并且可以在解码多媒体内容时被处理。当编码多媒体内容时,编码设备可以使用这里描述的技术来在编码的多媒体内容中提供叠加合成元数据。当解码多媒体内容时,解码设备可以通过确定叠加合成元数据来解码多媒体内容,并且使用叠加合成元数据来执行用于多媒体数据的叠加合成。

图16是根据一些实施例的用于解码视频数据的计算机化方法1600的示例性流程图。在步骤1602,解码设备接收多媒体数据。如本文所讨论的,多媒体数据可以以分层轨道结构编码(例如,如结合图12所讨论的)。分层轨道结构可以包括多个轨道,包括至少第一轨道和第二轨道。第一轨道位于分层轨道结构中的第一层,第二轨道位于第一轨道的第一层之上的分层轨道结构中的第二层。

在步骤1604,解码设备确定与第二轨道相关联的叠加合成元数据。叠加合成元数据可包括偏移元数据,层元数据,源元数据等,如本文所述。在步骤1606,解码设备基于第二轨道,确定一个或多个输入轨道。媒体轨道可以包括例如用于叠加合成的媒体内容。

如本文所讨论的,参考步骤1604和1606,可以在导出的轨道中提供各种类型的叠加合成元数据。在一些实施例中,叠加合成元数据包括偏移元数据,其可指定是否为媒体内容提供偏移(例如,结合图5-7b讨论)。在一些实施例中,叠加合成元数据包括层元数据。层元数据可以指定是否设置层参数(例如,或者是否应该从不同的字段推断出它)(例如,如结合图8a-8b所讨论的)。在一些实施例中,叠加合成元数据可包括源元数据。源元数据可以包括,例如,指定输入轨道的数量的数目,以及指定三维内容的深度的源深度,和/或其他信息(例如,合成宽度和高度)(例如,如结合图9-10所讨论的。在一些实施例中,叠加合成元数据包括叠加关系描述元数据。叠加关系描述元数据可以为每个输入轨道指定特定于相关输入轨道的叠加元数据(例如,如结合图13所讨论的)。

在步骤1608,解码设备基于叠加合成元数据对输入轨道执行轨道导出操作。例如,轨道导出操作可以包括基于叠加合成元数据执行输入轨道的叠加合成以生成第二轨道的媒体数据,使得第二轨道是第一轨道的导出轨道。在一些实施例中,解码设备可以基于叠加合成元数据中的偏移元数据来确定是否为一个或多个输入轨道中的每一个指定偏移。如果解码设备确定针对一个或多个输入中的每一个指定了偏移,则解码设备可以基于一个或多个输入轨道中的每一个的偏移来执行叠加合成。如果叠加合成元数据包括层元数据,则解码设备可以基于层元数据确定,是否为一个或多个输入中的每一个指定了层。例如,层元数据可以重新定义不同的层参数(例如,如本文所讨论的在轨道的轨道头箱trackheaderbox中的参数)。解码设备可以基于一个或多个输入轨道中的每一个的层来执行叠加合成。

在一些实施例中,当叠加合成元数据包括源元数据(例如,源计数,源深度等)时,解码设备可以基于一个或多个输入轨道中的每一个的源深度来执行输入轨道的叠加合成。在一些实施例中,当叠加合成元数据包括叠加关系描述元数据时,解码设备可以使用为每个输入轨道指定的叠加元数据来执行叠加合成。

在一些实施例中,可以利用不使用导出轨道的技术来指定叠加合成元数据。例如,可以如本文所讨论的使用轨道分组或定时元数据轨道来指定元数据。当以这种方式编码时,解码设备可以被配置为相应地解码叠加合成元数据(例如,基于轨道分组或定时元数据轨道),并根据确定的叠加合成元数据组合多媒体数据。

根据本文描述的原理操作的技术可以以任何合适的方式实现。上面的流程图的处理和决策块表示可以包括在执行这些各种过程的算法中的步骤和动作。从这些过程导出的算法可以实现为与一个或多个单用途或多用途处理器的操作集成并指导其操作的软件,可以实现为功能等效电路,例如数字信号处理(dsp)电路或应用-特定集成电路(asic),或者可以以任何其他合适的方式实现。应当理解,这里包括的流程图不描绘任何特定电路或任何特定编程语言或编程语言类型的语法或操作。相反,流程图示出了本领域技术人员可以用来制造电路或实现计算机软件算法以执行本文该技术类型的特定装置的处理的功能信息。还应当理解,除非本文另有指示,否则每个流程图中描述的特定步骤和/或动作序列仅仅是可以实现的算法的说明,并且可以在本文描述的原理的实现和实施例中变化。

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

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

通常,功能设施包括执行特定任务或实现特定抽象数据类型的例程,程序,对象,组件,数据结构等。通常,功能设施的功能可以根据需要在它们运行的系统中组合或分布。在一些实现中,执行本文技术的一个或多个功能设施可以一起形成完整的软件包。在备选实施例中,这些功能设施可以适于与其他不相关的功能设施和/或过程交互,以实现软件程序应用。

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

在一些实施例中,实现本文描述的技术的计算机可执行指令(当实现为一个或多个功能设施或以任何其他方式实施时)可以在一个或多个计算机可读介质上编码以向媒体提供功能。计算机可读介质包括例如硬盘驱动器之类的磁介质,例如光盘(cd)或数字通用盘(dvd)之类的光学介质,持久或非持久固态存储器(例如,闪存,磁性)。ram等)或任何其他合适的存储介质。这种计算机可读介质可以以任何合适的方式实现。如这里所使用的,“计算机可读介质”(也称为“计算机可读存储介质”)指的是有形存储介质。有形存储介质是非暂时性的并且具有至少一个物理结构组件。在如本文所使用的“计算机可读介质”中,至少一个物理结构组件具有至少一个物理特性,该特性可在创建具有嵌入信息的介质的过程期间以某种方式改变,在其上记录信息的过程,或用信息编码媒体的任何其他过程。例如,可以在记录过程期间改变计算机可读介质的物理结构的一部分的磁化状态。

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

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

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

计算设备可以另外具有一个或多个组件和外围设备,包括输入和输出设备。除其他之外,这些设备可用于呈现用户界面。可用于提供用户界面的输出设备的示例包括打印机或用于输出视觉呈现的显示屏,以及扬声器或用于输出音频呈现的声音生成设备。可以用于用户界面的输入设备的示例包括键盘和指示设备,例如鼠标,触摸板和数字化平板电脑。作为另一示例,计算设备可以通过语音识别或其他可听格式接收输入信息。

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

上述实施例的各个层面可以单独使用,组合使用,或者在前面描述的实施例中没有具体讨论的各种布置中使用,因此不限于其应用于上述实施例中阐述的或附图中示出的部件的细节和布置。例如,一个实施例中描述的层面可以以任何方式与其他实施例中描述的层面组合。

在权利要求中使用例如“第一”,“第二”,“第三”等的序数术语来修改权利要求要素本身并不意味着一个权利要求要素优先于另一个,也并非意味着执行方法的时间上的任何优先权或顺序,而仅用作标签以将具有特定名称的一个权利要求元素与具有相同名称(但是用于使用序数术语)的另一个元素区分,以区分权利要求元素。

此外,这里使用的措辞和术语是出于描述的目的,而不应被视为限制。本文中“包括”,“包含”,“具有”,“含有”,“涉及”及其变化形式的使用旨在涵盖其后列出的项目及其等同物以及附加项目。

本文使用的“示例性”一词意味着用作示例,实例或说明。因此,在此描述为示例性的任何实施例,实现,过程,特征等应当被理解为说明性示例,并且除非另有指示,否则不应被理解为优选或有利示例。

已经如此描述了至少一个实施例的若干层面,应当理解,本领域技术人员将容易想到各种改变,修改和改进。这些改变,修改和改进旨在成为本公开的一部分,并且旨在落入本文描述的原理的精神和范围内。因此,前面的描述和附图仅是示例性的。

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