用于推导复合轨的方法和装置与流程

文档序号:18554032发布日期:2019-08-30 22:20阅读:190来源:国知局
用于推导复合轨的方法和装置与流程

本申请的申请专利范围要求如下申请的优先权:2017年01月11日提出的名称为"methodandapparatusofderivingcompositetracksinisobmff"的申请号为62/444,882的美国临时案,在此合并参考上述申请案的申请目标。

本发明描述了一种涉及视频编解码的方法和装置的实施例,更具体地涉及包括全向(omni-directional)、视频编解码技术的多轨虚拟现实(virtualreality)。



背景技术:

此处提供的先前技术描述用作一般呈现本发明的内容的目的。目前署名发明人的工作内容,既包含在本先前技术部分中所描述的工作的内容,也包含在申请时未被认为是先前技术的说明书的各方面,这些既不明确也不暗示地被承认是本发明的先前技术。

虚拟现实(virtualreality,vr)视频,例如全向视频/360度视频,可以被呈现以提供特殊的用户体验。例如,在虚拟现实(vr)应用中,计算机技术创建复制现实环境的现实图像、声音以及其他感觉,或者创建想象的环境,这样用户可以在环境中获得模拟vr视频体验。



技术实现要素:

本发明提供了一种包括处理电路的设备。处理电路用于生成包括分别用于多个基本轨的多个基本轨盒的文件;每个基本轨盒按照时间顺序对形成每个基本轨的多个媒体样本的序列进行索引。处理电路用于构建用于复合轨的复合轨盒,复合轨盒标识一个或多个基本轨、以及基于一个或多个基本轨形成复合轨的复合操作。处理电路进一步用于根据复合轨生成媒体呈现。

在一个示例中,处理电路用于构建复合轨盒以标识在轨级选择其中一个基本轨以形成复合轨的复合操作。在另一个示例中,处理电路用于构建复合轨盒以标识在样本级或样本组级选择其中一个基本轨以形成复合轨的复合操作。在另一个示例中,处理电路用于构建复合轨盒以标识选择一个或多个基本轨以形成复合轨的复合操作。

在一个实施例中,处理电路用于为具有层次结构的复合轨构建复合轨盒。

根据本发明的一个方面,将标识的该一个或多个基本轨的全局信息包含到该复合轨盒中。

在一个实施例中,接收与复合操作相关联的复合变量的值;并根据复合操作和值构建基于基本轨的媒体流。

本发明提供了一种用于处理媒体数据的方法。方法包括生成包括分别用于多个基本轨的多个基本轨盒的文件;在每个基本轨盒中按时间顺序对形成每个基本轨的多个媒体样本的序列进行索引;构建复合轨的复合轨盒;复合轨盒中标识一个或多个基本轨以及基于一个或多个基本轨形成复合轨的复合操作;以及基于复合轨生成媒体呈现。

本发明提供一种非暂时性计算器可读介质储存,用于使处理器执行用于处理媒体数据的操作的程序指令。这些操作包括生成包括分别用于多个基本轨的多个基本轨盒的文件;在每个基本轨盒中按时间顺序对形成每个基本轨的多个媒体样本的序列进行索引;构建复合轨的复合轨盒;复合轨盒中识别一个或多个基本轨以及基于一个或多个基本轨形成复合轨的复合操作;以及基于复合轨生成媒体呈现。

本发明的各方面提供了包括处理电路的另一装置。处理电路用于接收文件,文件包括分别用于多个基本轨的多个基本轨盒和用于复合轨的至少一个复合轨盒。每个基本轨盒按时间顺序对形成每个基本轨的多个媒体样本的序列进行索引。复合轨盒标识一个或多个基本轨,以及基于一个或多个基本轨和复合变量导出复合轨的复合操作。处理电路用于接收与复合操作相关联的复合变量的值,并且根据复合操作和值构建基于基本轨的媒体流。

本发明的各方面还提供了一种用于处理媒体数据的方法。方法包括接收文件,文件包括分别用于多个基本轨的多个基本轨盒和用于复合轨的至少一个复合轨盒。每个基本轨盒按时间顺序对形成每个基本轨的多个媒体样本的序列进行索引。复合轨盒标识一个或多个基本轨,以及基于一个或多个基本轨和复合变量导出复合轨的复合操作。方法还包括接收与复合操作相关的复合变量的值,并根据复合操作和值构建基于基本轨的媒体流。

附图说明

将结合下面的图式对被提供作为示例的本发明的各种实施例进行详细描述,其中相同的符号表示相同的组件,以及其中:

图1是根据本发明一实施例的媒体系统100的方框图;

图2是根据本发明一实施例的媒体文件(mediafile)200的示意图;

图3是根据本发明一实施例的导出复合轨的示意图;以及

图4是根据本发明一实施例的流程示例400的流程示意图。

具体实施方式

虚拟现实(virtualreality,vr)内容,尤其是全向视频/360视频内容,可以被表示为随着时间变化的多个媒体流。当以诸如iso基本媒体文件格式(isobasemediafileformat,isobmff)的文件格式表示或被获取时,媒体流被称为轨。在一些实施例中,轨包括按时间顺序的图像样本序列,并且该图像样本序列与vr环境中的子区域(也被称为图像块(tile),分区,子图片)相关。因此,多个轨分别与vr环境中的多个子区域相关。在各种vr视频应用中,内容被请求并作为一组轨来传输。在相关技术中,轨被单独标记以标识(identify)对应于组的成员身份(membership)。在相关技术中,由于需要查看单个轨以找到标识组的成员身份的标签,因此成员身份确定可能是低效的。本发明的各方面提供了构建复合轨道(compositetracks)的技术,其中每个复合轨道是多个轨道的复合。因此,用于一组轨道的诸如公共属性和元数据(metadata)、组成员身份等等的全局信息可以被包括在复合轨中或与复合轨相关。然后使用复合轨来促进媒体呈现、内容请求等等。

图1是根据本发明一实施例的媒体系统100的方框图。媒体系统100包括耦接在一起的源子系统110、传输子系统150和呈现(rendering)子系统160。源子系统110用于获取用于vr视频的媒体数据,并适当地封装媒体数据。传输子系统150用于将来自源子系统110的已封装的媒体数据传输到呈现子系统160。呈现子系统160用于根据媒体数据呈现vr视频。

根据本发明的一个方面,源子系统110将媒体数据构建为一个或多个基本轨,并且每个基本轨是基于样本序列按照时间顺序形成的。在一个实施例中,源子系统110根据诸如空间分区、图像质量、加密模式等等特定属性将图像/视频数据构建为基本轨。此外,源子系统110基于基本轨构建复合轨。在一些实施例中,除了在复合轨被指定和表明时确定的潜在静态参数之外,复合轨是具有可变参数的虚拟轨。在媒体处理流程中,复合轨可用于虚拟表示具有可变参数的媒体流。当可变参数被确定时,例如在媒体传输或消费时,可以基于复合轨和所确定的可变参数来生成真实媒体流。

在一个示例中,复合轨被构建为对应于不同空间分区的基本轨的复合。因此,复合轨是由具有可变的空间区域的基本轨形成的媒体流的虚拟表示。当例如在传输或消费时确定空间区域时,可基于复合轨和确定的空间区域生成真实媒体流。

在另一个示例中,复合轨被构建为对应于不同图像质量的基本轨的复合。因此,复合轨是由具有可变的图像质量的基本轨形成的媒体流的虚拟表示。在一个实施例中,vr内容由网络传输,并且不同图像质量的vr内容在不同网络流量状态下传输。在传输时,基于当时的网络流量状态确定图像质量,并且可以基于复合轨和图像质量要求来生成真实媒体流。

在另一个示例中,复合轨被构建为对应于不同加密模式的基本轨的复合。因此,复合轨是由具有可变的加密模式的基本轨形成的媒体流的虚拟表示。当例如基于安全需求确定加密模式时,可以基于复合轨和安全需求来生成真实媒体流。

源子系统110可以基于多级(multiplelevels)可变参数来构建具有层次结构(hierarchy)的复合轨。例如,源子系统110可以基于以图像质量作为可变量的基本轨来构建第一级复合轨。然后,源子系统110可以基于以加密模式作为可变量的第一级(firstlevel)复合轨来构建第二级复合轨。进一步,源子系统110可以基于以空间区域作为可变量的第二级复合轨来构建第三级复合轨。

根据本发明的一个方面,源子系统110将基本轨分级地分组成一个或多个复合轨。进一步,源子系统110包括分级地位于复合轨中的全局信息、组信息和成员身份信息。因此,可以从复合轨中提取全局信息、组信息和成员身份信息。通过复合轨的层次结构和基本轨,当确定可变参数时,可以按照层次结构构建真实的媒体流。

源子系统110可以使用任何合适的技术来实现。在一个示例中,源子系统110的组件被组装在设备包中。在另一个示例中,源子系统110是分布式系统,源子系统110的组件可以被设置在不同的位置,并且适当地耦接在一起,例如,通过有线连接(例如电缆)和/或无线连接(例如无线信道)。

在图1的示例中,源子系统110包括耦接在一起的获取设备112、处理电路120、内存115以及接口电路111。

获取设备112用于获取各种媒体数据,如全向视频/360视频的图像、声音等。获取设备112可以具有任何适当的设置。在一个示例中,获取设备112包括具有多个摄像机的摄像设备(未示出),如具有两个鱼眼(fisheye)摄像机的成像系统、具有四个摄像机的四面体成像系统、具有六个摄像机的立体成像系统、具有八个摄像机的八面成像系统、具有二十个摄像机的二十面成像系统等等,其用于拍摄环绕空间内的各个方向的图像。

在一个实施例中,由多个摄像机拍摄的图像是重迭的,且可以被拼接(stitch),以提供比单个摄像机更大覆盖的环绕空间。在一个示例中,由多个摄像机拍摄的图像可以提供整个环绕空间的360°球面覆盖。应注意,由多个摄像机拍摄的图像可以提供环绕空间的小于360°球面覆盖。

可以适当地将获取设备112所获取的媒体数据进行储存或者缓存,例如,在内存115内。处理电路120可以存取内存115、处理媒体数据以及以合适的格式封装媒体数据。然后,将已封装的媒体数据进行储存或者缓存,例如,在内存115内。

在一个实施例中,处理电路120包括音频处理路径,其用于处理音频数据,并且包括图像/视频处理路径,其用于处理图像/视频数据。处理电路120然后根据合适的格式封装具有元数据的音频、图像和视频数据。

在本发明中,图像和视频数据被用作示例来说明用于复合轨构建的技术。这些技术可以适用于其他媒体数据,例如音频数据等等。

在一个示例中,在图像/视频处理路径上,处理电路120可以将由不同摄像机拍摄的图像拼接在一起以形成拼接图像,诸如全向图像等等。然后,处理电路120可以根据合适的二维(2d)平面来投影全向图像,以将全向图像转换为可以使用2d编码技术编码的2d图像。然后,处理电路120可以适当地对图像和/或图像串流进行编码。

应注意,处理电路120可以根据任意合适的投影技术来投影全向图像。在一个示例中,处理电路120可以使用等矩形投影(equirectangularprojection,erp)来投影全向图像。erp投影以一种与将地球表面投影到地图上的方式相似的方式将球面(spheresurface),例如全向图像,投影到矩形平面,例如2d图像。在一个示例中,球面(例如地球表面)使用偏航(yaw)(例如经度)和俯仰(pitch)(例如纬度)的球面坐标系统,并且矩形平面使用xy坐标系统。在投影中,将偏航圈(yawcircle)变换为垂直线,将俯仰圈(pitchcircle)变换为水平线,偏航圈和俯仰圈在球面坐标系统中是正交的,垂直线和水平线在xy坐标系统中是正交的。

在另一个实施例中,处理电路120可以将全向图像投影到多面体(platonicsolid)的多个面,例如,四面体、立方体、八面体、二十面体等等。可以分别重新排列已投影的面,例如旋转、重新定位(relocated),以在形成2d图像。然后编码该2d图像。

应注意,在一个实施例中,处理电路120可以编码由不同摄像机拍摄的多个图像,并且对多个图像不执行拼接操作和/或投影操作。

根据本发明的一个方面,处理电路120用于将全向视频/360视频的媒体数据封装到多个基本轨中,并将复合轨构建为多个基本轨的逻辑和/或空间复合(composition)。

在一个实施例中,球面(或其投影版本)可以在空间上分成多个分区(也称为子图片,分区,图像块)。处理电路120可以基于分区的图像样本的有时序列(timedsequence)来形成基本轨。因此,球面的视频内容被构建成分别对应于多个分区的多个基本轨。在一个示例中,当球面被划分成四个分区时,球面的视频内容被构建成四个基本轨。在一个示例中,处理电路120形成作为所有四个基本轨的空间复合的复合轨。复合轨对应于球面的视频内容。四个基本轨是复合轨的成员。因此,可以在复合轨而不是单个基本轨中定义诸如公共属性和元数据的全局信息以及成员身份信息。在本发明中,所有基本轨的空间复合(或较低级的复合轨)被称为“复合全部”操作或“cmpa”。

在一个示例中,在引导的视点示例中使用“复合全部”操作(“cmpa”)。在引导的视点示例中,视点随时间而变化,以提供引导的视觉体验。该视点在不同时间对应于球面的不同分区(例如,通过分区到视点的成员身份)。在一个示例中,基于对应于分区的基本轨的“复合全部”操作(“cmpa”)构建复合轨。基本轨到视点的成员身份可以在复合轨中而不是单个基本轨中被标识。因此,在与视点相对应的内容传输时,可基于复合轨中的成员身份信息来确定用于传输的基本轨。

在另一个实施例中,球面的视频内容被编码成具有不同图像质量的多个基本轨。在一个示例中,以相对高的图像质量来编码球面的视频内容以构建第一基本轨,并且以相对低的图像质量来编码球面的视频内容以构建第二基本轨。在一个示例中,处理电路120在样本或样本组级形成复合轨,其作为第一基本轨和第二基本轨的逻辑复合。复合轨被定义为具有可变的图像质量的第一基本轨和第二基本轨中一个的样本级或样本组级的逻辑复合,且可以在同一样本级或同一样本组级的第一基本轨和第二基本轨之间切换。在本发明中,多个基本轨中的一个的样本级或样本组级逻辑复合(或较低级的复合轨)成被称为“仅复合一个”操作或“cmp1”。

在一个示例中,在http(dash)示例上的动态自适应串流中使用“仅复合一个”操作。在dash示例中,复合轨用于表示图像质量是可变的球面的视频内容。在内容传输期间,图像质量可以基于可用网络带宽来确定,因此动态地选择第一基本轨(例如,具有高质量图像)和第二基本轨(例如,具有低质量图像)中的一个,并且提供给呈现子系统160。例如,最初,当可用网络带宽信息不可用时,选择第二基本轨以确保初始传输。当可用网络带宽信息可用,并且可用网络带宽足以传输高质量图像时,选择第一基本轨以改善图像质量。但是,当网络拥塞时,可用的网络带宽不足以传输高质量图像,然后选择第二基本轨进行传输。

在另一个示例中,根据不同的加密模式对球面的视频内容进行加密。在一个示例中,根据诸如高级加密标准(advancedencryptionstandard,aes)密码块链接(cipherblockchaining,cbc)模式的第一加密模式,在视频编解码之前对球面的视频内容进行加密以构建第一基本轨;并且根据诸如aes计数器(counter,ctr)模式的第二加密模式,在视频编解码之后加密球面的视频内容以构建第二基本轨。在一个示例中,处理电路120形成复合轨,该复合轨是具有可变的加密模式的第一基本轨和第二基本轨之一的轨级逻辑复合。复合轨被定义为第一基本轨和第二基本轨的轨级逻辑复合,并且可以在轨级的第一基本轨和第二基本轨之间切换。在本发明中,多个基本轨之一的轨级逻辑复合(或较低级的复合轨)成被称为“仅选择一个”操作或“sel1”。

在一个示例中,“仅选择一个”操作用于适应不同的安全要求。基于目标设备的加密模式要求,选择第一基本轨和第二基本轨中的一个,并将其提供给呈现子系统160。例如,当视频内容传输需要aescbc模式时,选择第一基本轨并将其提供给呈现子系统160;并且当视频内容传输需要aesctr模式时,选择第二基本轨并将其提供给呈现子系统160。

注意到,可以基于多个变量(例如空间分区、图像质量、加密模式等等)将球面的视频内容构建成多个基本轨。然后,可以通过在分级方式中的多个复合操作从多个基本轨推导出复合轨,这将参照图2和图3进一步讨论。

注意到,可以使用各种技术将球面划分为多个分区。在一个示例中,erp投影将球面投影到矩形平面上,并且矩形平面被分成多个分区(也称为“子图像”)。

在另一个实例中,柏拉图立体投影(platonicsolidprojection)将球面投影到柏拉图立体的面(即分区)中。在这个示例中,根据柏拉图立体的面划分球面。

在另一个示例中,多个摄像机用于在场景的不同方向上拍摄图像。在该示例中,场景根据摄像机的视野分区。

根据本发明的一个方面,处理电路120包括文件生成模块130,其用于将基本轨、复合轨封装在文件中。在一个实施例中,处理电路120用于使用诸如iso基本媒体文件格式(isobasemediafileformat,isobmff)等等的可扩展格式标准以用于基于时间的媒体,诸如视频和/或音频等等。在一个示例中,iso基本媒体文件格式定义了基于时间的多媒体文件的通用结构,并且灵活且可扩展,以便于媒体的交换、管理、编辑和呈现。iso基础媒体文件格式与特定的网络协议无关,并且一般可以支持各种网络协议。因此,在一个示例中,基于iso基本媒体文件格式中的文件的呈现可以通过网络或通过其他串流传输机制在本地呈现。

通常,媒体呈现可以被包含在一个或多个文件中。一个或多个文件的一个特定文件包括用于媒体呈现的元数据,并且根据诸如iso基本媒体文件格式之类的文件格式进行格式化。该特定文件还可以包括媒体数据。当媒体呈现包含在多个文件中时,其他文件可以包含媒体数据。在一个实施例中,元数据被用于通过参考媒体数据来描述媒体数据。因此,在一个示例中,媒体数据以与任何协议不可知的状态储存。相同的媒体数据可用于本地呈现、多种协议等等。媒体数据可以按照或不按顺序储存。

iso基本媒体文件格式包括多个盒(box)的特定集合。这些盒是逻辑容器。多个盒包括保存从媒体内容和媒体内容架构推导出的参数的描述符(descriptor)。媒体被封装在盒的层次结构中。一个盒是由唯一类型标识符(uniquetypeidentifier)定义的对象导向的构建区块(object-orientedbuildingblock)。

在一个示例中,媒体内容的呈现被称为电影,并被划分为在时间上平行的多个轨。每个轨表示媒体内容的样本的有时序列。媒体内容,例如图盒等等,由存取单元储存和存取。存取单元被定义为基本串流内的数据的最小单独可存取部分,并且唯一有时信息可以被归因于每个存取单元。在一个实施例中,存取单元可以以整个或细分地打包的任何序列和/或任何分组进行物理地储存。iso基本媒体文件格式使用这些盒,参考储存单元的字节位置将存取单元映像到样本流。在一个示例中,样本信息允许存取单元在时间在线被同步解码和呈现,而不管储存如何。

根据本发明的一方面,处理电路120用于包括复合轨的复合信息作为其元数据。在一个示例中,处理电路120使用轨盒来包括用于轨(例如,基本轨、复合轨)的元数据。例如,处理电路120使用多个基本轨盒来分别包括多个基本轨的元数据,并且使用多个复合轨盒来分别包括多个复合轨的元数据。处理电路120可以包括对轨的元数据中的诸如空间分区、逻辑和/或空间复合的属性的描述。例如,处理电路120可以为复合轨生成复合轨盒。复合轨盒包括输入轨(例如基本轨,或较低级的复合轨)的参考(或标识符),并且包括变换属性以定义复合操作以基于输入轨构建复合轨。复合操作可以是任何合适的复合操作,例如“复合全部”操作(“cmpa”)、“仅复合一个”操作(“cmp1”)、“复合任何”操作(“cmpn”)、“仅选择一个”操作(“sel1”)、“选择任何”操作(“seln”)、缩放操作(“scal”)、重设大小操作(“resz”)等。附录a中给出了复合操作的定义、语法和语义。

注意到,可以以类似的方式定义其他合适的复合操作。

在一个实施例中,处理电路120使用一个或多个处理器来实现,并且该一个或多个处理器用于执行软件指令以执行媒体数据处理。在另一个实施例中,处理电路120使用集成电路来实现。

在图1的示例中,已封装的媒体数据通过接口电路111提供给传输子系统150。传输子系统150用于适当地将媒体数据提供给客户端设备,诸如呈现子系统160。

在一个实施例中,传输子系统150包括各种网络组件,诸如路由器、网络交换机,基站,接入点等等,以在源子系统110和呈现子系统160之间形成传输路径。在一个示例中,源子系统110通过传输子系统150将包括复合轨的媒体呈现发送到呈现子系统160。复合轨由对应于球面(具有可变的子图片区域)的不同分区的基本轨组成。呈现子系统160通过传输子系统150将视点信息发信给源子系统110。视点信息表明由呈现子系统160请求的子图片。基于视点信息和在内容传输和/或消费时的其他合适的环境信息,诸如可用带宽、安全要求、加密模式、媒体流中的持续时间等等,处理电路120执行准时处理。例如,处理电路120基于视点信息选择合适的基本轨,基于持续时间选择合适的图像样本,并基于可用带宽和加密模式要求对选择的图像样本进行编解码和/或加密以生成封包。传输子系统150将封包传输给呈现子系统160。然后呈现子系统160对封包进行解码和/或解密以重构用于显示的图像样本。

在另一个实施例中,传输系统150包括具有内存141的超文本传输协议(hypertexttransferprotocol,http)服务器140。内存141储存包括将复合轨的复合信息作为其元数据的文件142。http服务器140用于根据http协议将复合轨提供给呈现系统,诸如呈现子系统160。传输系统150的组件适当地通过有线和/或无线连接耦接在一起。传输系统150通过有线和/或无线连接适当地与源子系统110和呈现子系统160耦接。

呈现子系统160可以使用任何合适的技术来实现。在一个示例中,呈现子系统160的组件被组装在设备封装中。在另一个示例中,呈现子系统160是分布式系统,源子系统110的组件可以位于不同位置,并且适当地通过有线连接和/或无线连接耦接在一起。

在图1的示例中,呈现子系统160包括耦接在一起的接口电路161、处理电路170和显示设备165。接口电路161用于通过任何适当的通讯协议适当地接收媒体信息,诸如媒体呈现文件,媒体流等等。

处理电路170用于处理媒体信息并生成供显示设备165呈现给一个或多个用户的图像。显示设备165可以是任何合适的显示器,例如电视机、智能电话、可佩带显示器、头戴式装置等等。

在一个示例中,处理电路170包括处理模块180和图像生成模块190。处理模块180用于执行封包处理、控制和通讯操作。图像生成模块190用于生成感兴趣区域的图像。处理模块180和图像生成模块190可以被实现为执行软件指令的处理器,或者可以被实现为集成电路。

根据本发明的一个方面,呈现子系统160可以执行与源子系统110类似的操作以构建真实媒体流。在一个示例中,源子系统110通过传输子系统150向呈现子系统160发送媒体文件(诸如图2中的文件200)。媒体文件包括用于媒体呈现的元数据并且包括媒体数据。例如,媒体文件包括分别用于基本轨的基本轨盒和用于复合轨的复合轨盒。每个基本轨盒以时间顺序对形成基本轨的媒体样本序列进行索引。复合轨是以分级方式基于基本轨构建的。复合轨盒标识(identify)一个或多个基本轨(或较低级复合轨)、以及基于一个或多个基本轨(或较低级复合轨)和复合变量来推导出复合轨的复合操作。

此外,基于媒体文件,处理电路170可以形成用于回放的真实媒体流。例如,处理电路170接收与复合操作相关的复合变量的值。基于复合变量的值和复合轨的层次结构,处理电路170可以追踪基本轨、从媒体文件中提取样本、并构建用于回放的媒体流。

图2示出根据本发明的一实施例的文件200的示意图。文件200符合isobmff。在一个示例中,图1中的处理电路120用于生成符合isobmff的文件200。

文件200包括各种盒,诸如文件类型盒210、媒体数据盒290、电影盒220等等。文件类型盒210包括文件类型和兼容性信息。媒体数据盒290包括媒体样本。电影盒220包括可以由媒体样本形成的媒体流的元数据。电影盒220包括各种轨盒,例如用于基本轨的基本轨盒230、用于复合轨的复合轨盒240和250。基本轨盒可以包括媒体流的信息。在一个示例中,基本轨盒230包括指定基本轨的总体信息的轨标题盒。另外,基本轨盒可以包括媒体盒,其包含媒体信息盒。媒体信息盒可以包括样本表格盒,该样本表格盒包含对媒体数据盒290中的媒体样本的子集的数据索引。样本表格盒中的信息可以用于定位媒体样本的子集并且使用媒体样本的子集形成序列。

在一个示例中,球面被划分为r个分区,其中r是正整数。因此,媒体数据盒290包括对应于r个分区的r个子集。此外,媒体样本可以根据k个加密模式进行加密,其中k是正整数。在图2的示例中,基本轨m-11到m-1k对应于媒体样本的第一子集(对应于第一分区),但是具有不同的加密模式。例如,基本轨m-11基于具有第一加密模式的媒体样本的第一子集来形成,并且基本轨m-1k基于具有第k加密模式的媒体样本的第一子集来形成。类似地,基于具有第一加密模式的媒体样本的第r子集(对应于第r分区)形成基本轨m-r1,并且基于具有第k加密模式的媒体样本290的第r子集形成基本轨m-rk。

此外,复合轨盒240和250包括用于基于基本轨或较低级复合轨来构建复合轨的信息。复合轨盒240和250中的每一个可以包括标识基本轨或较低层复合轨作为输入的标识符,并且可以包括变换属性以指定构成基于输入的复合轨的复合操作,诸如基本轨或更低级的复合轨。在图2的示例中,复合轨盒240定义复合轨m-1至m-r。例如,基于“仅选择一个”操作的变换属性,使用基本轨m-11至m-1k构建复合轨m-1;基于“仅选择一个”操作的变换属性,使用基本轨m-r1至m-rk来构建复合轨m-r。例如,用于复合轨m-1的复合轨盒240包括标识基本轨m-11到m-1k的标识符,并且包括其他合适的信息,例如分别用于基本轨m-11到m-1k的加密模式。用于复合轨m-1的复合轨盒240还包括指定“仅选择一个”操作的变换属性盒。

在图2的示例中,复合轨盒250定义复合轨m。例如,基于“复合全部”操作的变换特性,使用复合轨m-1至m-r构建复合轨m。例如,用于复合轨m的复合轨盒250包括标识复合轨m-1到m-r的标识符,并且包括其他合适的信息,例如分别用于复合轨m-1到m-r的相应空间分区。复合轨盒250包括指定“复合全部”操作的变换属性盒。

根据本发明的一个方面,复合轨m被用于表示具有可变参数的球面的媒体数据,例如子图片区域,加密模式等等。在一个示例中,在传输或消费期间,当可变参数被确定时,可以基于复合轨和基本轨的层次结构来形成真实媒体流。在一个示例中,第一分区和第一加密模式是在传输或消费期间的时间确定的。因此,基于第一分区和复合轨m中的变换属性,选择复合轨m-1。此外,基于复合轨m-1中的第一加密模式和变换特性,选择基本轨m-11。基于基本轨m-11中的媒体信息,可以提取媒体样本的第一子集。媒体样本的第一子集根据第一加密模式被加密以形成用于传输或消费的媒体数据流。

在另一个示例中,第一分区和第r分区都被确定以贡献感兴趣的区域并且第一加密模式在传输期间被确定。因此,根据复合轨m中的分区信息和变换特性,选择复合轨m-1和复合轨m-r。此外,基于第一加密模式和复合轨m-1和m-r中的变换特性,选择基本轨m-11和基本轨m-r1。基于基本轨m-11和基本轨m-r1中的媒体信息,可以提取媒体样本的第一子集和媒体样本的第r子集。媒体样本的第一子集和媒体样本的第r子集根据第一加密模式被加密以形成用于传输或消费的媒体数据。

图3示出了根据本发明一实施例的构建复合轨的示意图300。在一个示例中,处理电路120根据示意图300构建复合轨。

在图3的示例中,球面被分成四个分区(或图像块)。示意图300示出了球面的视频数据390。视频数据390包括用于第一分区的图像样本的第一子集t1,用于第二分区的图像样本的第二子集t2,用于第三分区的图像样本的第三子集t3以及用于第四分区的图像样本的第四子集t4。

在图3的示例中,图像样本可以根据两个图像质量,低质量(l)或高质量(h),进行编码,并且可以根据第一加密模式(a)和第二加密模式(b)加密。基于该分区的图像质量和加密模式,处理电路120可以构建16个基本轨320。

例如,可以根据高质量编码和第一加密模式基于图像样本的第一子集形成基本轨t1-ha;可以根据高质量编码和第一加密模式基于图像样本的第二子集形成基本轨t2-ha;可以根据高质量编码和第一加密模式基于图像样本的第三子集形成基本轨t3-ha;可以根据高质量编码和第一加密模式基于图像样本的第四子集形成基本轨t4-ha。

类似地,可以根据低质量编码和第一加密模式基于图像样本的第一子集形成基本轨t1-la;可以根据低质量编码和第一加密模式基于图像样本的第二子集形成基本轨t2-la;可以根据低质量编码和第一加密模式基于图像样本的第三子集形成基本轨t3-la;可以根据低质量编码和第一加密模式基于图像样本的第四子集形成基本轨t4-la。

类似地,可以根据高质量编码和第二加密模式基于图像样本的第一子集形成基本轨t1-hb;可以根据高质量编码和第二加密模式基于图像样本的第二子集形成基本轨t2-hb;可以根据高质量编码和第二加密模式基于图像样本的第三子集形成基本轨t3-hb;可以根据高质量编码和第二加密模式基于图像样本的第四子集形成基本轨t4-hb。

类似地,可以根据低质量编码和第二加密模式基于图像样本的第一子集形成基本轨t1-lb;可以根据低质量编码和第二加密模式基于图像样本的第二子集形成基本轨t2-lb;可以根据低质量编码和第二加密模式基于图像样本的第三子集形成基本轨t3-lb;可以根据低质量编码和第二加密模式基于图像样本的第四子集形成基本轨t4-lb。

基于基本轨320,使用“仅复合一个”操作(“cmp1”)来构建复合轨330,如表达式exp.1到exp.8所示:

c1-a=cmp1(t1-ha,t1-1a)exp.1

c2-a=cmp1(t2-ha,t2-la)exp.2

c3-a=cmp1(t3-ha,t3-la)exp.3

c4-a=cmp1(t4-ha,t4-la)exp.4

c1-b=cmp1(t1-hb,t1-lb)exp.5

c2-b=cmp1(t2-hb,t2-lb)exp.6

c3-b=cmp1(t3-hb,t3-lb)exp.7

c4-b=cmp1(t4-hb,t4-lb)exp.8

此外,在图3的示例中,基于复合轨330,使用“仅选择一个”操作(“sel1”)来构建复合轨340,如表达式exp.9到exp.12所示:

s1=sel1(c1-a,c1-b)exp.9

s2=sel1(c2-a,c2-b)exp.10

s3=sel1(c3-a,c3-b)exp.11

s4=sel1(c4-a,c4-b)exp.12

此外,在图3的示例中,基于复合轨340,使用“复合全部”操作(“cmpa”)构建复合轨351和352,例如表达式exp.13和exp.14所示:

c=cmpa(s1,s2,s3,s4)exp.13

r=cmpa(s1,s2)exp.14

在一个实施例中,复合轨351用于媒体呈现中以虚拟地表示球面的媒体流,并且复合轨352用于媒体呈现中以虚拟地表示上半部分的球面的媒体流。

图4示出了概述根据本发明一实施例的流程400的流程示意图。在一个示例中,流程400由图1标例中的源子系统110执行。该流程在s401开始并进行到s410。

在步骤s410中,获取媒体数据。在一个示例中,获取设备112包括具有多个摄像机的摄像机设备,以拍摄周围空间中的各种方向的图像。

在步骤s420中,处理媒体数据以生成媒体样本。在一个示例中,处理电路120可以将从不同摄像机拍摄的图像拼接在一起以形成拼接图像,诸如全向图像等等。然后,处理电路120可以将全向图像投影到合适的二维(2d)平面以将全向图像变换成2d图像。

在步骤s430中,确定基本轨。在一个示例中,2d平面可以被划分成多个子图片区域(分区),并且处理电路120生成多个基本轨盒以分别包括多个基本轨的元数据。基本轨盒可以包括关于子图片区域的图像样本流的信息。基本轨盒包括指定基本轨的整体信息的轨标题盒。另外,基本轨盒可以包括指向媒体样本子集以形成基本轨的数据索引。

在步骤s440中,基于基本轨(或较低级的复合轨)来构建复合轨。在一个示例中,处理电路120生成复合轨的复合轨盒。例如,复合轨的复合轨盒包括作为输入的基本轨(或较低级复合轨)的标识符,并且包括基于基本轨(或较低层次复合轨级的复合轨)定义复合操作以构建复合轨的变换属性。

在步骤s450中,将复合轨封装在文件中。在一个示例中,复合轨被封装在符合isobmff的文件200中。例如,处理电路120将复合轨的复合轨盒、基本轨的基本轨盒包括在电影盒220中。然后流程进行到s499并终止。

附录a

本发明提出以下新的变换属性条目:

“cmpa”:复合全部

“cmp1”:仅复合一个(允许在样本级切换)

“cmpn”:复合任何(允许在样本级切换)

“sel1”:仅选择一个(轨级选择,在样本级不切换)

“seln”:选择任何(轨级选择,在样本级不切换)

“scal”:缩放

“resz”:重设大小

通过这些新条目,可将“图像块”轨指定为以使用“cmp1”或“sel1”推导的“变体”轨的复合轨,整个vr球形内容轨可以被指定为使用“cmpa”推导的其“图像块”轨的复合轨,以及任何视点或roi轨可以被指定为使用“cmpn”或“seln”推导的其“图像块”轨的复合轨,然后进一步反转映射和投影变换。

注意,下面给出的定义是示例性的,并且可以例如使用通用类型来移除冗余来简化“cmpa”、“cmp1”、“cmpn”、“sel1”和“seln”的定义,但其每个都有自己的定义和语义。

1复合全部

1.1定义

盒类型:“cmpa”

强制性(每个样本):否

数量(每个样本):任何

复合全部“cmpa”变换属性,如果存在,要求num_inputs大于或等于1,并且相应图像操作的输入实体是视觉轨。

此变换属性指定推导示例的参考宽度reference_width和参考高度reference_height,并在由top_left_x和top_left_y指定的并具有相应的宽度和高度大小的相应位置处,将每个输入图像放置(或复合)到推导示例。

1.2语法

1.3语义

示例“cmpa”变换属性的字段与iso/iec23001-10中定义的有时元数据样本条目和样本具有相同的语义。这是因为这里的意图是将每个输入图像视为推导图像的roi。

reference_width和reference_height分别给出了计算所有坐标(top_left_x、top_left_y、width和height)的参考矩形空间的宽度和高度。这些字段定义了推导图像的大小,该推导图像是其对应的输入视觉轨的所有输入图像的复合。

top_left_x和top_left_y分别给出对应的轨的输入媒体图像将被放置的矩形区域的左上角的水平和垂直坐标。

宽度和高度分别给出对应的轨的输入媒体图像将被放置的矩形区域的宽度和高度。

请注意,由于这些字段的语义与iso/iec23001-10中定义的“2dcc”相同,因此定义此变换属性的另一种方法是具有额外的输入轨列表,其大小等于num_inputs,以表明每个附加输入轨是“2dcc”有时元数据轨(即,2d笛卡尔坐标轨),并且它携带对应输入轨的空间信息作为推导轨的roi。变换属性将使用这些元数据轨将输入视觉轨复合为推导轨。

2仅复合一个

2.1定义

盒类型:“cmp1”

强制性(每个样本):否

数量(每个样本):任何

仅复合一个“cmp1”变换属性的复合,如果存在,要求num_inputs大于或等于1,并且对应的图像操作的输入实体是视觉轨。

此变换属性指定了推导样本的参考宽度reference_width和参考高度reference_height,并在由top_left_x和top_left_y指定的并具有对应的宽度和高度大小的相应位置处,将输入图像其中一个、任何一个以及仅一个放置(或复合)到推导样本上。

2.2语法

aligned(8)classcompositeofonlyoneextendstransformproperty('cmp1'){

unsignedint(16)reference_width;

unsignedint(16)reference_height;

for(i=0;i<num_inputs;i++){

unsignedint(16)top_left_x;

unsignedint(16)top_left_y;

unsignedint(16)width;

unsignedint(16)height;

}

}

2.3语义

示例“cmp1”变换属性的字段具有与iso/iec23001-10中定义的有时元数据示例条目和示例相同的语义。这是因为这里的意图是将每个输入图像视为推导图像的roi。

reference_width和reference_height分别给出了计算所有坐标(top_left_x、top_left_y、width和height)的参考矩形空间的宽度和高度。这些字段定义了推导图像的大小,该推导图像是其相应输入视觉轨的所有输入图像的复合。

top_left_x和top_left_y分别给出相应的轨的输入媒体图像将被放置的矩形区域的左上角的水平和垂直坐标。

宽度和高度分别给出相应轨的输入媒体图像将被放置的矩形区域的宽度和高度。

请注意,由于这些字段的语义与iso/iec23001-10中定义的“2dcc”相同,因此定义此变换属性的另一种方法是具有额外的输入轨列表,其大小等于num_inputs,以表明每个附加输入轨是”2dcc”有时元数据轨(即,2d笛卡尔坐标轨),并且它携带相应输入轨的空间信息作为推导轨的roi。变换属性将使用这些元数据轨将输入视觉轨复合为推导轨。

3复合任何

3.1定义

盒类型:“cmpn”

强制性(每个样本):否

数量(每个样本):任何

复合任何“cmpn”的变换属性,如果存在,要求num_inputs大于或等于1,并且用于相应图像操作的输入实体是视觉轨。

此变换属性指定了推导样本的参考宽度reference_width和参考高度reference_height的,并在由top_left_x和top_left_y指定的并具有对应的宽度和高度大小的相应位置处,将其中一个或多个输入图像放置(或复合)到推导样本上。

3.2语法

aligned(8)classcompositeofanyextendstransformproperty('cmpn'){

unsignedint(16)reference_width;

unsignedint(16)reference_height;

for(i=0;i<num_inputs;i++){

unsignedint(16)top_left_x;

unsignedint(16)top_left_y;

unsignedint(16)width;

unsignedint(16)height;

}

}

3.3语义

示例“cmpn”变换属性的字段具有与iso/iec23001-10中定义的有时元数据示例条目和示例相同的语义。这是因为这里的意图是将每个输入图像视为推导图像的roi。

reference_width和reference_height分别给出了计算所有坐标(top_left_x,top_left_y,width和height)的参考矩形空间的宽度和高度。这些字段定义了推导图像的大小,该推导图像是其相应输入视觉轨的所有输入图像的复合。

top_left_x和top_left_y分别给出相应轨的输入媒体图像将被放置的矩形区域的左上角的水平和垂直坐标。

宽度和高度分别给出相应轨的输入媒体图像将被放置的矩形区域的宽度和高度。

请注意,由于这些字段的语义与iso/iec23001-10中定义的“2dcc”相同,因此定义此变换属性的另一种方法是具有额外的输入轨列表,其大小等于num_inputs,以表明每个附加输入轨是”2dcc”有时元数据轨(即,2d笛卡尔坐标轨),并且它携带相应输入轨的空间信息作为推导轨的roi。变换属性将使用这些元数据轨将输入视觉轨复合为推导轨。

4仅选择一个

4.1定义

盒类型:“sel1”

强制性(每个样本):否

数量(每个样本):任何

仅选择一个“sel1”变换属性的选择存在时,要求num_inputs大于或等于1,并且用于相应图像操作的输入实体是视觉轨。

此变换属性指定了推导样本的参考宽度reference_width和参考高度reference_height的,并在由top_left_x和top_left_y指定的并具有对应的宽度和高度大小的相应位置处,将从变换过程中选择的相同轨的一个且仅一个输入图像放置(或复合)到推导样本上。

请注意,这相当于从输入轨列表中选择一个轨。

4.2语法

aligned(8)classselectionofonlyoneextendstransformproperty('sel1'){

unsignedint(16)reference_width;

unsignedint(16)reference_height;

for(i=0;i<num_inputs;i++){

unsignedint(16)top_left_x;

unsignedint(16)top_left_y;

unsignedint(16)width;

unsignedint(16)height;

}

}

4.3语义

示例“sel1”变换属性的字段具有与iso/iec23001-10中定义的有时元数据样本条目和样本具有相同的语义。这是因为这里的意图是将每个输入图像视为推导图像的roi。

reference_width和reference_height分别给出了计算所有坐标(top_left_x,top_left_y,width和height)的参考矩形空间的宽度和高度。这些字段定义了推导图像的大小,该推导图像是其相应输入视觉轨的所有输入图像的复合。

top_left_x和top_left_y分别给出相应轨的输入媒体图像将被放置的矩形区域的左上角的水平和垂直坐标。

宽度和高度分别给出相应轨的输入媒体图像将被放置的矩形区域的宽度和高度。

请注意,由于这些字段的语义与iso/iec23001-10中定义的“2dcc”相同,因此定义此变换属性的另一种方法是具有额外的输入轨列表,其大小等于num_inputs,以表明每个附加输入轨是“2dcc”有时元数据轨(即,2d笛卡尔坐标轨),并且它携带相应输入轨的空间信息作为推导轨的roi。变换属性将使用这些元数据轨将输入视觉轨复合为推导轨。

5选择任何

5.1定义

盒类型:“seln”

强制性(每个样本):否

数量(每个样本):任何

选择任何”seln”变换属性(当存在时)要求num_inputs大于或等于1,并且用于相应图像操作的输入实体是视觉轨。

此变换属性指定了推导样本reference_width和reference_height的参考宽度和高度,并在由top_left_x和top_left_y指定的并具有对应的宽度和高度大小的相应位置处,将从整个变换中选定的输入轨的相同子集中的一个或多个输入图像放置(或复合)到推导样本上。

请注意,这相当于从输入轨列表中选择n(n>0)个轨。

5.2语法

aligned(8)classselectionofanyextendstransformproperty('seln'){

unsignedint(16)reference_width;

unsignedint(16)reference_height;

for(i=0;i<num_inputs;i++){

unsignedint(16)top_left_x;

unsignedint(16)top_left_y;

unsignedint(16)width;

unsignedint(16)height;

}

}

5.3语义

示例“seln”变换属性的字段具有与iso/iec23001-10中定义的有时元数据样本条目和样本具有相同的语义。这是因为这里的意图是将每个输入图像视为推导图像的roi。

reference_width和reference_height分别给出了计算所有坐标(top_left_x,top_left_y,width和height)的参考矩形空间的宽度和高度。这些字段定义了推导图像的大小,该推导图像是其相应输入视觉轨的所有输入图像的复合。

top_left_x和top_left_y分别给出相应轨的输入媒体图像将被放置的矩形区域的左上角的水平和垂直坐标。

宽度和高度分别给出相应轨的输入媒体图像将被放置的矩形区域的宽度和高度。

请注意,由于这些字段的语义与iso/iec23001-10中定义的“2dcc”相同,因此定义此变换属性的另一种方法是具有额外的输入轨列表,其大小等于num_inputs,以表明每个附加输入轨是“2dcc”有时元数据轨(即,2d笛卡尔坐标轨),并且它携带相应输入轨的空间信息作为推导轨的roi。变换属性将使用这些元数据轨将输入视觉轨复合为推导轨。

6缩放

6.1定义

盒类型:“scal”

强制性(每个样本):否

数量(每个样本):任何

示例缩放“scal”变换属性以百分比为单位缩放输入图像条目。

6.2语法

6.3语义

百分比/100指定输入图像的比例因子。

7重设大小

7.1定义

盒类型:“srez”

强制性(每个样本):否

数量(每个样本):任何

重设大小”srez”变换属性的样本根据宽度和高度调整输入图像条目的大小。

7.2语法

7.3语义

宽度和高度分别给出重设大小的输入图像的宽度和高度。

当在硬件中实现时,硬件可以包括一个或者多个离散组件、集成电路、特定应用的集成电路(application-specificintegratedcircuit,asic)等。

由于已经结合本发明的被提出用作示例的具体实施例描述了本发明的各个方面,可以做出这些示例的替代、修改和变形。因此,此处所说明的实施例用作示意目的,但不用于限制。在不脱离请求项的范围的情况下,可以做出改变。

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