专利名称:用于轨道和轨道子集归组的方法和设备的利记博彩app
技术领域:
本发明一般地涉及实时多媒体数据的领域,并且更具体地,本发明涉及对这样的 多媒体数据进行的组织。
背景技术:
本节旨在提供权利要求中描述的本发明的背景或上下文。这里的描述可以包括能 够被探究的概念,但是没有必要是先前已经想到或探究的概念。因此,除非在这里另外指 出,本节所描述的内容对于本申请中的说明书和权利要求书而言不是现有技术,并且不因 被包括在本节中而被承认为是现有技术。ISO基本媒体文件格式及其修订(例如SVC文件格式)支持层次式组织的比特 流子集的特性的指示。例如,可伸缩视频编码(SVC)比特流的子集的特性可以针对层级 (tier)(其实质上类似于可伸缩层)或者整个轨道(其对应于可伸缩层)来指示。然而, ISO基本媒体文件格式缺乏对指示不同层次划分以及重叠比特流子集(其不具有洋葱壳结 构)的支持。多视点视频编码(MVC)要求两种类型的指示,因为在选择用于输出的视点方 面具有灵活性。虽然轨道可以通过轨道参考而彼此相互关联并且可以指示轨道或轨道子集(例 如,SVC层级)的特性,但是ISO基本媒体文件格式或其派生物中没有机制来指示一组轨道 或轨道子集的特性。这种特性例如可以是要求的类别、等级和解码器缓冲参数。ISO基本媒体文件格式缺乏一种机制来指示一组轨道或轨道子集与另一组轨道或 轨道子集之间的关系(普遍因素和差异因素)。
发明内容
在本发明的一个方面中,一种方法包括将实时多媒体数据存储在多个轨道和/或 轨道子集中;以及标识一个或多个多轨道组,每个多轨道组与多个轨道和/或轨道子集的 一个或多个间的关系相关联。在一个实施方式中,方法进一步包括标识两组或更多组多轨道组之间的至少一个 关系。在一个实施方式中,标识一个或多个多轨道组包括基于至少一个轨道子集来标识 多轨道组。在一个实施方式中,标识一个或多个多轨道组包括对相同内容的多个视点进行归组。在一个实施方式中,标识一个或多个多轨道组包括使用多轨道组框体来指示轨道 和/或轨道子集之间的关系。在一个实施方式中,方法进一步包括形成至少一组多轨道组,该组多轨道组与多 轨道组的一个或多个特性相关联。在一个实施方式中,形成至少一组多轨道组是基于从多视点媒体渲染、编码或捕获的角度的类似特性。在一个实施方式中,形成至少一组多轨道组包括使用多轨道组关系框体来指示多 轨道组之间的关系。可以使用一个或多个准则来指示多轨道组之间的关系。准则可以指示, 一次应当仅处理一个经指示的多轨道组。在本发明的另一方面中,一种实现在计算机可读介质上的计算机程序。计算机程 序配置用于提供一种方法,该方法包括将实时多媒体数据存储在多个轨道和/或轨道子 集中;以及标识一个或多个多轨道组,每个多轨道组与多个轨道和/或轨道子集的一个或 多个间的关系相关联。在另一方面中,本发明包括一种设备,包括用于存储实时多媒体数据的存储单 元;以及处理器。该处理器配置用于将实时多媒体数据存储在多个轨道和/或轨道子集中; 以及标识一个或多个多轨道组,每个多轨道组与多个轨道和/或轨道子集的一个或多个间 的关系相关联。通过下述结合附图的具体描述,本发明的各种实施方式的这些和其他优点与特 征,连同其组织和操作方式都将变得明显。
本发明的示例性实施方式通过参考附图进行描述,其中图1示出了多媒体文件格式层次;图2示出了根据ISO基本媒体文件格式的示例性框体;图3A是示出了采样归组的示例性框体;图;3B示出了包含包括采样到组框体的电影片段的示例性框体;图4示出了示例性MVC解码顺序;图5示出了用于多视点视频编码的示例性MVC预测结构;图6示出了作为时间函数的示例性音频/视频速率分配分布图;图7示出了作为可用比特率函数的示例性音频速率分配分布图;图8是多媒体数据组织的示意图;图9是根据本发明实施方式的多媒体数据组织的示意图;图10是示出了根据本发明实施方式的过程的流程图;图11示出了根据本发明实施方式的之间具有一个交换关系的两个多轨道组的示 例文件;图12示出了根据本发明实施方式的具有三个视点的视频流的示例性格式结构;图13示出了根据本发明实施方式的其中每个视点被存储为轨道的示例文件;图14示出了根据本发明实施方式的其中所有视点被存储为一个轨道的示例文 件;图15示出了根据本发明实施方式的其中轨道具有不同数量视点的示例文件;图16示出了根据本发明实施方式的包括与视点层次的不同分支相关联的SEI消 息的示例性多视点比特流;图17是其中可以实现本发明的各种实施方式的系统的概述图;图18示出了可以根据本发明的各种实施方式使用的示例性电子设备的透视图19是可以包括在图18的电子设备中的电路的示意表示;以及图20是其中可以实现各种实施方式的通用多媒体通信系统的图形表示。
具体实施例方式在以下描述中,为了解释而不是限制的目的,列举了许多细节和描述以便提供对 本发明的透彻理解。然而,本领域技术人员应当理解,本发明也可以在偏离这些细节和描述 的其他实施方式中实践。多媒体容器文件格式是多媒体内容制作、操纵、传输和消费链中重要的元素。在编 码格式(又称作基本流格式)与容器文件格式之间存在显著差异。编码格式涉及将内容信 息编码成比特流的特定编码算法的动作。容器文件格式包括以以下方式对生成的比特流进 行组织的装置,通过该方式,生成的比特流可以被访问以便本地解码和回放、作为文件传送 或者流式传输,所有的这些都利用了各种存储和传输架构。另外,文件格式可以促进媒体的 互换和编辑,以及将接收的实时流记录到文件。图1中示出了多媒体文件格式200的层次。可用的媒体文件格式标准包括ISO基本媒体文件格式(IS0/IEC14496-12)、 MPEG-4文件格式(IS0/IEC 14496-14,也被称作MP4格式)、AVC文件格式(IS0/IEC 14496-15)和3GPP文件格式(3GPPTS 26. 244,也被称作3GP格式)。对AVC文件格式的最 近修订规定了可伸缩视频编码(SVC)的文件格式。运动图像专家组(MPEG)中正在进行的 工作是规定多视点视频编码(MVC)的文件格式作为AVC文件格式的修订。MPEG还规定了 FLUTE (IETF RFC 3926)和ALC(IETF RFC 3450)会话的提示轨道格式,该提示轨道格式成为 2005版ISO基本媒体文件格式修订2的一部分。包括2005版ISO基本媒体文件格式的所 有修订以及勘误表的2005版ISO基本媒体文件格式最近作为ISO基本媒体文件格式的新 版本(第3版)进行出版,其被称作2008版ISO基本媒体文件格式或第3版ISO基本媒体 文件格式。从ISO基本媒体文件格式导出的另一格式是DVB文件格式,最近作为DVB蓝皮 书A 121进行出版。定义DVB文件格式的主要目的是简化DVB技术实现之间的内容互操作 性,例如根据当前(DVT-T、DVB-C、DVB-S)和未来DVB标准的机顶盒、IP (因特网协议)电视 接收器以及根据DVB-H及其未来演进的移动电视接收器。DVB文件格式促进了在终端侧存 储所有的DVB内容。DVB文件格式旨在作为用于保证兼容DVB设备之间互操作性的互换格 式。该DVB文件格式没必要作为针对DVB兼容设备的内部存储格式。该文件格式应当能够 处理正在由其他DVB广播规范使用的任何类型的媒体和数据。DVB文件格式允许不同制造 商的设备之间所记录媒体的交换;使用USB海量存储器或类似读/写设备交换内容;对家 庭网络上常见盘存储的共享访问;以及许多其他功能。ISO文件格式是所有上文提到的文件格式(除了 ISO文件格式本身)的派生物的 基础。这些文件格式(包括ISO文件格式本身)被称作文件格式的ISO族。图2示出了根据ISO基本媒体文件格式的简化文件结构220。ISO基本媒体文件 格式中的基本构建块被称作框体。每个框体都具有头部和净荷。框体头部指示了框体的类 型以及由字节表示的框体的大小。框体可以包括其他的框体,并且ISO文件格式规定了特 定类型的框体内允许哪些框体类型。另外,某些框体强制出现在每个文件中,而其他框体是 可选的。此外,对于某些框体类型而言,允许多于一个的框体出现在文件中。可以得出这样 的结论,ISO基本媒体文件格式规定了框体的层次结构。
根据文件格式的ISO族,文件包括媒体数据和元数据,该媒体数据和元数据分别 包含在单独的框体中,即媒体数据(mdat)框体和电影(moov)框体中。对于将被操作的文 件而言,这两个框体必须存在。电影框体可以包含一个或多个轨道,并且每个轨道驻留在一 个轨道框体中。轨道可以是以下类型中的一种媒体、提示、时控元数据。媒体轨道指的是 根据媒体压缩格式进行格式化(及其封装到ISO基本媒体文件格式)的采样。提示轨道指 的是提示采样,包含用于构造通过指定通信协议进行传输的分组的食谱(coolcbook)指令。 该食谱指令可以包含分组头部构造并且包括分组净荷构造的向导。在该分组净荷构造中, 可以引用驻留在其他轨道或项目中的数据,即通过引用指示在分组构造处理期间将特定轨 道或项目中的哪段数据复制至分组。时控元数据轨道指的是描述引用的媒体和/或提示采 样的采样。为了呈现,一个媒体类型,通常一个媒体轨道被选择。轨道采样隐含地与采样号 相关联,该采样号在指示的采样解码顺序中以1递增。注意,ISO基本媒体文件格式不限于将呈现包含在一个文件中,而是可以包含在若 干文件中。一个文件包含针对整个呈现的元数据。该文件还可以包含所有的媒体数据,由 此该呈现是自包含的。其他文件(如果使用的话)不需要被格式化成ISO基本媒体文件格 式,这些其他文件用于包含媒体数据;以及还可以包含未使用的媒体数据或其他信息。ISO 基本媒体文件格式只关心呈现文件的结构。仅在媒体文件中的媒体数据必须按照ISO基本 媒体文件格式或其派生物格式中所规定的进行格式化,媒体数据文件的格式才受ISO基本 媒体文件格式或其派生物格式的约束。为了避免如果发生记录应用崩溃、盘空间耗尽或某些其他事故丢失数据,在将内 容记录到ISO文件时,可以使用电影片段。没有电影片段,可能发生数据丢失,这是因为该 文件格式坚持将所有元数据(电影框体)写入文件的一个连续区域中。另外,当记录文件时,对于可用存储的大小而言可能没有足够量的随机访问存储 器(RAM)来缓冲电影框体,并且当电影关闭时重新计算电影框体的内容太慢。此外,电影片段可以使用合格的ISO文件解析器来支持同时记录并回放文件。最 后,当使用电影片段,并且相比于具有相同媒体内容但没有利用电影片段构造的文件,初始 电影框体较小时,对于渐进的下载(即同时接收并回放文件),需要较小的初始缓冲持续期 间。电影片段特征支持将常规驻留在电影框体中的元数据划分成多个片段,每个片段 对应于轨道的特定时间段。换言之,电影片段特征支持交织的文件元数据和媒体数据。因 此,可以限制moov框体的大小并且实现上文提到的用例。通常,如果电影片段的媒体采样在与moov框体相同的文件中,则其驻留在mdat框 体中。然而,针对电影片段的元数据,提供了 moof框体。该moof框体包括针对先前在moov 框体中的回放时间的特定持续期间的信息。该moov框体自身仍表示有效的电影,但除此之 外,该moov框体还包括指示在相同文件中电影片段将跟着的mvex框体。该电影片段延伸 了在时间上与moov框体相关联的表示。可以包括在moof框体中的元数据限于可以包括在moov框体中的元数据的子集, 并且在某些情况下进行不同编码。可以包括在moof框体中的框体的细节可以从ISO基本 媒体文件格式规范中找到。现在参考图3A和图:3B,示出了在框体中使用采样归组。ISO基本媒体文件格式及其派生物(诸如,AVC文件格式和SVC文件格式)中的采样归组是基于归组准则,将轨道中 的每个采样指派为一个采样归组的成员。采样归组过程中的采样归组不限于连续的采样, 并且可以包含非相邻的采样。由于对于轨道中的归组,可能存在不止一个的采样归组,因此 每个采样归组具有类型字段来指示归组的类型。采样归组由两个被链接起来的数据结构来 表示(1)采样到组框体(sbgp框体)表示将采用指派到采样组;以及( 采样组描述框体 (sgpd框体)包含描述组属性的每个采样组的采样组条目。基于不同归组标准,可以存在 采样到组和采用组描述框体的多个实例。这些实例通过用于指示归组类型的类型字段来区 分。图3A提供了指示针对采样组框体的嵌套结构的简化框体层次。采样组框体(采 样组描述框体和采样到组框体)驻留在采样表(stbl)框体内,该采样表(stbl)框体包含 在电影(moov)框体内(按如下顺序)的媒体信息(minf)框体、媒体(mdia)框体和轨道 (trak)框体中。允许采样到组框体驻留在电影片段中。因此,采样归组可以逐段来完成。图IBB示 出了包含电影片段的文件的示例,其中电影片段包括采样到组框体。ISO基本媒体文件格式支持两种类型的编辑操作通过编辑列表框体进行回放时 间修改以及文件元数据重编写(reauthoring)。编辑列表框体规定了如何将媒体组成时间 线转换成回放时间线,以及支持将媒体时间线划分成多个部分并且将那些部分映射到回放 时间线中的时间片。因此,编辑列表框体使得可以省略来自回放的媒体采样,改变回放中媒 体部分的顺序,以及改变媒体部分的回放速度。然而,并不是所有的播放器都支持编辑列表 框体,因为,例如,由编辑列表框体提供的特征的灵活性给播放器实现带来了挑战。另外,编 辑列表框体的使用不能使得用于moov框体和moof框体中未播放媒体采样或其描述的存储 空间被释放。因此,许多文件编辑器通常不使用编辑列表框体,而是经由文件元数据的重编 写来修改文件。当包含在ISO基本媒体文件格式导出文件中的多媒体呈现通过添加或移除媒体 数据而改变时,文件元数据必须被重编写。很多时候,文件可以通过以下方式进行编写,即 随后去除或添加多媒体数据不需要完全重编写文件元数据。例如,如果仅有几个包含轨道 媒体采样的组块,则可以直截了当的方式删除整个轨道。在多视点视频编码中,将来自不同照相机的视频序列输出编码至一个比特流,其 中每个照相机对应于不同的视点。在解码之后,为了显示特定的视点,重构并显示属于该 视点的解码图片。还有可能不止一个视点被重构并且显示。多视点视频编码具有多种多 样的应用,包括自由视角视频/电视、3D TV和监视应用。当前,IS0/IEC运动图像专家组 (MPEG)和ITU-T视频编码专家组的联合视频团队(JVT)正在努力开发MVC标准,其正在成 为H. 264/AVC的扩展。此后,我们将这两个(草案)标准分别称为MVC和AVC。MVC的最新联合草案在2008年4月瑞士日内瓦的第27次JVT会议的JVT-AA209, "Joint Draft 7. Oon Multiview Video Coding” 中描述,其可以从 http://ftp3. itu. ch/ av-arch/jvt-site/2008_04_Geneva/JVT-AA209. zip 获得。多视点视频比特流可以依赖于期望显示多少视点和哪些视点来通过各种方式进 行解码。N个视点的特定集合在给定时间范围可能最适于在具有特定特性的N-视点自动立 体显示器上输出,而N个视点的另一集合可能在另一时间范围最适于具有不同特性集合的N-视点自动立体显示器。存在N个视点的多个优选集合也是常见的,其中用户可以从这些 集合选择或在其之间导航。N的值可以从1到比特流中视点的总数之间变化,并且应当根据 显示器的特征在解码/回放时间选定。注意,由于视点间的依赖性,用于输出的优选的一组 N个视点可以要求解码不止N个视点。现在参考图4,示出了示例性MVC解码顺序(S卩,比特流顺序)。该解码顺序布置 被称为时间优先编码。每个访问单元定义用于包含针对一个输出时间实例的所有视点的已 编码图片。注意,访问单元的解码顺序可以不与输出或显示顺序相同。现在参考图5,示出了用于多视点视频编码的示例性MVC预测(包括每个视点内的 图片间预测和视点间预测二者)结构。在所示结构中,预测由箭头指示,箭头指向的对象使 用箭尾指向的对象来进行预测参考。在MVC中,视点间预测仅由纹理预测支持(即,仅重构的采样值才可以用于视点间 预测),并且仅与当前图片相同的输出时间实例的重构图片用于视点间预测。重构的采样值 用于视点间预测的事实还暗示MVC使用了多循环解码。换言之,针对每个视点执行运动补 偿和解码图片重构。H. 264/AVC, SVC和MVC比特流包含以字节流格式或外部构建的、按照解码顺序的 网络提取层(NAL)单元。NAL单元包括头部和净荷。NAL单元头部指示了 NAL单元的类型, 以及包含在NAL单元中的编码片是否是参考图片或非参考图片的一部分。在NAL单元头部 的第一字节之后,跟随着NAL单元头部扩展(3个字节)。NAL单元头部扩展包括语法元素, 其在MVC的上下文中描述NAL单元的属性。补充增强信息(SEI)消息是可以包括在H. 264/AVC.SVC和MVC比特流中的语法结 构。对于在输出图片中解码采样值而言不需要SEI消息,但是该SEI消息辅助相关的处理, 诸如图片输出时序、渲染、检错、错误隐藏和资源保留。SEI消息的数量在H. ^4/AVC、SVC和 MVC中进行了规定。用户数据SEI消息使得组织和公司能够指定其自己使用的SEI消息。 H. 264/AVC, SVC和MVC标准包含针对指定的SEI消息的语法和语义,但是没有定义用于处 理解码器中消息的过程。因此,当创建SEI消息时,要求解码器遵循相关的标准,并且不要 求与相关标准一致的解码器为了输出顺序一致而处理SEI消息。SEI NAL单元包含一个或 多个SEI消息。MVC可伸缩嵌套SEI消息包含一个或多个普通H. 264/AVC SEI消息,并且指 示了消息关心的视点。因此,MVC可伸缩嵌套SEI消息支持针对除了基本视点的其他视点 的H. 264/AVC SEI消息语法的再用。针对多视点视频的采集系统的信息对于在呈现系统上正确重构三维体验是必要 的。可以将多视点视频采集系统的参数分成固有参数和外部参数。固有参数指示作为独立 单元的单个照相机的特性,与多视点采集系统的其他照相机无关。注意,固有参数可以包括 来自照相机处理链的任意部分的特征,诸如光学器件(特别是透镜)和图像感应器。典型 固有照相机参数包括但不限于焦点或焦距、主点和径向畸变(这些在光学和摄影学中是公 知的术语)的指示。外部参数指示与外部世界有关的单个照相机的特征。典型外部照相机 参数包括但不限于在世界坐标(X,1,ζ)中的相对照相机位置,以及照相机相对于所有三个 轴(即,斜度、旋转,偏转/倾斜)的旋转。外部照相机参数与选定的参照物有关,诸如坐标 系的起点。草案MVC标准的多视点采集信息SEI消息是针对多视点视频的采集信息格式的 示例。
MPEG中正在进行的工作是将针对多视点视频编码(MVC)的文件格式指定为对AVC 文件格式的修订。SVC文件格式中包括的许多结构将有可能在MVC文件格式中使用。在下 面的段落中描述这些可能在MVC文件格式中使用的SVC文件格式结构。聚合器用于将属于相同采样的NAL单元归组。聚合器使用与SVC VCL NAL单元或 MVC VCL NAL单元相同的NAL单元头部,但是具有不同的NAL单元类型值。聚合器是使得 能够对NAL单元的文件格式进行高速归组的内部结构。聚合器在采样结构的上下文中被视 为NAL单元。当访问采样时(即,从文件获取采样并且将其传至解码器),必须移除聚合器 (留下其包含或参考的NAL单元)。聚合器必须不能出现在文件格式外部的流中。聚合器可以通过包括来聚合它们中(在由其长度指示的大小内)的NAL单元,还 可以通过参考来聚合跟随其后(在其内的由additional bytes字段指示的区域内)的NAL 单元。当AVC文件阅读器扫描该流时,只有被包括的NAL单元被视为在聚合器“内,,;这例 如允许AVC文件阅读器跳过不需要的SVC VCL NAL单元或MVC VCL NAL单元的整个集合。 类似地,如果AVC NAL单元通过参考来聚合,则AVC阅读器将不跳过他们并且他们保留在针 对该阅读器的流中。当扫描所述流时a)如果聚合器是无法识别的(例如,通过AVC阅读 器或解码器),则容易将该聚合器及其包括的内容丢弃;b)如果不需要聚合器(即,该聚合 器属于不期望的层或视点),则容易地将该聚合器及其通过包括和参考的方式的内容丢弃 (使用其长度和additionalbytes字段);以及c)如果需要聚合器,则容易地将其头部丢 弃但保留其内容。如任意其他NAL单元,聚合器存储在采样中。所有NAL单元以解码顺序 保留在聚合器内。以下采样归组可以在SVC或MVC轨道中使用来归档SVC或MVC流的结构,并且简 化获得所述流子集的信息并且提取任意子集。如下所定义的,存在若干可以在采样归组描 述中出现的框体,即针对SVC流的可伸缩归组条目和针对MVC流的多视点归组条目。每个 可伸缩归组条目或多视点归组条目分别归档SVC流或MVC流的子集。每个子集与层级相关 联,并且可以包含一个或多个操作点。操作点是比特流的子集。针对MVC流的操作点表示 在特定时间分辨率的特定视点集。在MVC上下文中,层级表示特定视点集的时间子集的特 定集合。“scif”或“mvif”的归组类型用于分别定义可伸缩归组条目或多视点归组条目。 针对每个层级,在归组类型“scif”或“mvif”的采样归组描述框体中分别可以存在多于一 个的可伸缩归组条目或多视点归组条目。这些条目中只有一个条目是该层级的主定义。虽然可伸缩归组条目和多视点归组条目包含在采样归组描述框体中,但是该归组 不是真正的采样归组,这是因为每个采样可以与多于一个的层级相关联,并且这些归组用 于描述采样的多个段-NAL单元。结果,有可能不存在归组类型‘scif’或‘mvif’的采样到 归组框体,除非发生归组确实事实上描述了整个采样。即便存在归组类型‘scif’或‘mvif’ 的采样到归组框体,对于层级的NAL单元抽取而言不需要该信息;相反,映射归组必须总是 归档采样内的NAL单元的‘模式’,并且提供抽取NAL单元所需的NAL单元到层级的映射信 肩、ο 与针对SVC文件格式类似,针对MVC文件格式指定了层级信息框体、层级比特率框 体、SVC优先级范围框体、初始参数集合框体、缓冲框体、层级依赖性框体。具体地,它们都 可以包括在多视点归组条目中。每个可伸缩归组条目或多视点归组条目都与归组ID和层 级ID相关联。层级ID条目根据由层级ID值信号表示的其依赖性进行排序。较大的层级ID值指示较高的层级。值0指示最低层级。层级的解码对于任何较高层级都是独立的,但 是可以依赖于较低层级。因此,最低层级可以被独立地解码,层级1的解码可以依赖于层级 0,层级2的解码可以依赖于层级0和层级1,以此类推。层级可以包括来自视频流中一个或 多个层或视点的数据。针对每个层级应当恰好存在一个主定义。对于每个可伸缩归组条目或多视点归组 条目而言,当字段primary_gr0UpID等于字段归组ID时,该归组是该层级的主定义,并且后 面的也适用。应当出现层级信息框体和SVC优先级范围框体。针对特定的层级,如果没有 出现任意可选的框体,则不针对那个层级定义那样的信息(不存在层级信息的继承)。对于 特定的层级,如果没有出现层级依赖性框体,则该层级可以依赖于具有较低层级ID的所有 层级。如果出现初始参数集合框体,则利用该框体指示解码该层级和其所依赖的所有较低 层级所需的参数集合。如果该框体没有出现,则不对其用信号表示是否需要由SVC解码器 配置记录或MVC解码器配置记录给出的所有参数集合。如果使用了参数集合流,则不应当 出现初始参数集合框体。层级ID的值不需要是连续的。另外,对于每个可伸缩归组条目, 当字段primary_gr0upID等于字段归组ID时,应当出现SVC依赖性范围框体。另外,对于 每个多视点归组条目,当字段primary_gr0UpID等于字段归组ID时,应当出现视点标识符 框体。对于每个指定的层级ID而言,应当存在至少一个NAL单元与其相关联。换言之, 其不允许指定没有在轨道中使用的层级。如下所述,基本流中的每个NAL单元都与层级ID 值相关联。首先,每个采样通过随后指定的类型“scnm”的采样归组与归组ID值的映射相 关联。因此,该“scnm”采样归组指示了每个采样中NAL单元与归组ID值之间的关联关系。 归组ID的值继而可以使用类型“scif”或“mvif”的采样归组描述框体与层级ID的值相关 联。与特定层级ID值相关联的NAL单元可以要求与所有较小层级ID值相关联的所有或某 些NAL单元用于正确的解码操作,但是从不要求与较大层级ID值相关联的任何NAL单元 (即,依赖性仅在较低层级的方向中存在)。服务器或播放器可以基于类型“ scif ”或“mvif ” 的采样归组描述框体的条目内出现的描述字段的值(例如,帧速率等)来选择用于正确解 码操作所需的层级ID值的子集。多视点归组条目定义如下归组类型:"mvif"容器采样归组描述框体(“sgpd”)强制性否数量零个或多个多视点归组条目的语法如下class MultiviewGroupEntry()extends VisualSampleGroupEntry(‘ mvif' ) { unsigned int (8)groupID ;
unsigned int (8)primary_groupID ;
unsigned int (4)reserved = 0 ;
unsigned int (1)is_tl_switching—point ;
unsigned int (3)reserved = 0 ;
unsigned int (8)tl_switching—distance ;
if(groupID一一primary—groupID)//primary definition of tier
{
Vi ewI dent i fi erBox 0;//Mandatory
/ierInfoBox 0;//Mandatory
TierDependenCyB。X 0;//Mandatory
SVCPr i。r i tyRangeB。X 0;//Mandatory
//Optlenal Boxes or fields may fol low when defined later
TierBitRateBox 0;//optlenal
BufferingB。X 0;//optional
InitialParameterSetBox 0;//optlenal
ProtectionSchemeInfogox 0;//optlenal
}
}[oioo] 多视点归组条目的语义如下。
归组工D给出归组条目的标识符。归组工D是任意值,但是应当是唯一的。[oi02] primary—groupID指定包含该层级的主定义的归组。如果该值等于归组工D的值,则该归组是该层级的主定义。iS—tl—switching—point当设为l时,对于该归组成员而言,指示具有iso/iEc 14496—10附件H中规定的最高temporal—id值的那些成员为时间层切换点。倘若已经处理了(传输并解码)具有temporal—id等于由tl—switching—distance指示的tId—l的成员,设该归组成员的最高temporal—id值为tId,则比特流可以在具有temporal—id等于tId的任何成员处从具有temporal—id等于tId—l的时间层切换到具有temporal—id等于tId的时间层。iS—tl—switching—point等于0指示该归组中具有iso/IEC 14496—10附件H中规定的最高temporal—id值的成员可以是时间层切换点也可以不是时间层切换点。[oi03] tl—switching—distance在iS—tl—switching—point为l时使用。其指示具有temporal—id等于tId—l的时间层采样的数量,该数量的采样必须被解码以保证从切换点向前的时间层tId或高于其的流的可解码性。值0指示对较低的时间层没有依赖性的时间切换点。特定采样的所需距离可以通过针对特定采样的时间并行元数据轨道中的时间层切换距离声明来减少。[oi04] 如下所述,将NAL单元映射到映射归组和层级。为了描述SVC或MVC访问单元内的可伸缩性或视点层次,使用了两类采样归组a)用于描述采样的多个段的归组。针对每个归组,存在可伸缩归组条目或多视点归组条目,用于定义归组属性。注意,这些描述层级而不是整个流,并且因此在任何时刻描述属于一个层级的NAL单元,而不是整个访问单元。b)映射归组,其描述访问单元内每个NAL单元到(grouping—type‘scnm’的)映射归组的映射。针对属于特定映射归组的NAL单元的每个不同序列,存在可伸缩NALU映射条目。在访问单元内,映射归组包括层级的所有NAL单元。
定义映射归组要求对于所有的访问单元,存在有限数量的映射归组模式。如果针对给定的层级,连续访问单元中有数量变化的NAL单元,则可以使用聚合器来使得这些变化的结构一致并且减少所需映射归组的数量。相同的映射归组定义(可伸缩NALU映射条目)用于SVC文件格式和MVC文件格式两者。当解码器配置记录用于可以解释为MVC或 AVC流的流时,AVC解码器配置记录应当反映AVC兼容基本层的属性,例如,其应当仅包含解 码AVC基本层所需的参数集。参数集流可以如与AVC流那样与MVC流一起使用。在这种情 况下,参数集应当不包括在解码器配置记录中。MVC解码器配置记录在结构上与SVC解码器 配置记录相同并且在语义上等同于SVC解码器配置记录。多视点视频流由文件中的一个或多个视频轨道表示。每个轨道表示该流的一个或 多个视点。如果由轨道表示的视点使用由另一轨道表示的另一视点作为视点间预测参考, 则类型‘mvpr’的轨道参考应当包括在参考源轨道以便进行视点间预测的轨道中。MVC采样包括一个或多个视点组件以及相关联的非VCL NAL单元。为了从一个或 多个MVC轨道的采样重构访问单元,首先确定输出视点。解码确定的输出视图所需的视点 可以从‘mvpr’轨道参考或层级依赖性框体中推出。如果若干轨道包含针对访问单元的数 据,则在解码时间上执行轨道中各自采样的校准,即,仅使用时间到采样表,而不考虑编辑 列表。通过按照以一般等级如下示出的MVC标准所需的顺序布置其NAL单元,从所需的轨 道和层级中的相应采样重构访问单元所有参数集NAL单元来自相关联的参数集轨道和来自相关联的基本流轨道。所有SEI NAL单元来自相关联的参数集轨道和来自相关联的基本流轨道。视点组件以视点顺序索引值升序排列。视点组件内的NAL单元按照其在采样内出 现的顺序。注意,SVC文件格式中规定的提取器可以用于定义包含访问单元的采样格式。然 而,这种采样格式不是非常适于MVC,因为任何视点可以被选择用于输出。输出视点集和视 点间依赖性层次确定哪些视点要求用于解码。比特流子集(每个子集适于输出不同的视点 集)的数量可以非常大。例如,可以从常规组织的9-视点MVC比特流导出36个立体视点 子集。如果使用了提取器,则应当创建针对输出视点的每个组合的单独轨道,这将导致非必 要的大的文件大小。对于常规组织的9视点MVC比特流,用于所有立体视点子集的提取器 应当采取至少大约500千比特/秒,这使得文件大小显著增长。总之,本发明的各种实施方 式可用于如下采样格式,其中采样包含访问单元并且类似于SVC文件格式来使用提取器。针对MVC的采样条目格式定义如下。框体类型‘avcl,、‘avc2,、‘mvcl,容器采样描述框体(‘stbl,)强制性avcl或avc2或mvcl是强制性的数量可以出现一个或多个采样条目如果MVC基本流包含可使用的AVC兼容基本层,则应当使用AVC视觉采样条目 (‘avcl’或‘avc2’)。这里,条目应当最初包含AVC配置框体,可能跟随有如下文定义的 MVC配置框体。AVC配置框体归档关于由AVC解码器配置记录定义的AVC兼容基本层的类 另O、等级和参数集信息。MVC配置框体归档关于包含由MVC解码器配置记录定义的非基本视 点的整个流的类别、等级和参数集信息,其存储在MVC配置框体中。如果MVC基本流不包含可用AVC基本视点,则应当使用MVC视觉采样条目 (‘mvcl’)。如下面所定义的,MVC视觉采样条目应当包含MVC配置框体。这包括MVC解码 器配置记录。
优先级指派URI提供了用于指派priority_id值的方法的名称(在URI空间中)。 当在AVC或MVC采样条目中发生时,应当恰好出现一个URI,用于归档流中的priority_id 指派。这里只将URI作为名称;虽然没有这样要求,但该URI应当是去可参考的。文件阅读 器可以能够识别某些方法,并且由此知道基于priority_id的流提取操作应当做什么。仅当整个流被操作在AVC配置框体中给定的配置(包括类别和等级)下的AVC解 码器视为是符合并且可使用的AVC流时,才可以使用采样条目名‘avcl’。可以出现类似NAL 单元的文件格式特定结构,但是必须不用于访问AVC基本数据;S卩,AVC数据必须不包含在 聚合器中(尽管它们可以包括在由additionalbytes字段参考的字节中)。为了形成预期 的AVC流,采样条目名‘avc2’指示必须针对包含的NAL单元检查聚合器。聚合器可以用于 ‘avcl,、‘avc2,或 ‘mvcl,轨道中的 MVC VCL NAL 单元。以下框体中的任何框体可以出现在‘avcl’或‘avc2’采样条目中,这些框体包括 MVC配置框体、视点可伸缩性信息SEI框体、固有照相机参数框体和外部照相机参数框体。 在这些情况下,下面分别应用AVCMVC采样条目或AVC2MVC采样条目定义。下表针对视频轨道示出了当MVC基本流存储在一个或多个轨道、配置和MVC工具
(排除时控元数据,其总是在另一轨道中使用)中时,采样条目的所有可能的使用
权利要求
1.一种方法,包括将实时多媒体数据存储在多个轨道和/或轨道子集中;以及标识一个或多个多轨道组,其中每个多轨道组至少部分地基于所述多个轨道和/或轨 道子集的一个或多个之间的关系进行标识。
2.根据权利要求1所述的方法,进一步包括标识两个或更多个多轨道组之间的至少一个关系。
3.根据权利要求1-2的任意一项所述的方法,其中标识一个或多个多轨道组包括以下 至少一个基于至少一个轨道子集来标识多轨道组;将与代表场景的不同视点的多媒体数据相对应的多个轨道和/或轨道子集进行归组;使用多轨道组框体来指示轨道和/或轨道子集之间的关系。
4.根据权利要求1-3的任意一项所述的方法,进一步包括形成多轨道组的至少一个集合,所述多轨道组的集合与所述多轨道组的一个或多个特 性相关联。
5.根据权利要求4所述的方法,其中形成多轨道组的至少一个集合是至少部分地基于 从多视点媒体渲染、编码或捕获的角度来说类似的特性。
6.根据权利要求4-5的任意一项所述的方法,其中形成多轨道组的至少一个集合包括 使用多轨道组关系框体来指示多轨道组之间的关系。
7.根据权利要求6所述的方法,其中一个或多个准则用于指示多轨道组之间的关系。
8.根据权利要求7所述的方法,其中准则指示一次仅处理所述多轨道组中的一个。
9.一种体现在计算机可读介质上的计算机程序,所述计算机程序包括计算机可执行指 令,当由处理器执行所述指令时使得执行根据权利要求1-8的任意一项所述的过程。
10.一种设备,包括存储器,用于存储实时多媒体数据并且包括计算机程序代码;以及处理器;所述存储器和所述计算机程序代码配置用于与所述处理器一起工作来使得所述设备 执行至少以下操作将实时多媒体数据存储在多个轨道和/或轨道子集中;以及标识一个或多个多轨道组,其中每个多轨道组至少部分地基于所述多个轨道和/或轨 道子集的一个或多个之间的关系进行标识。
11.根据权利要求10所述的设备,其中与所述处理器一起工作的所述存储器和所述计 算机程序代码配置用于进一步使得所述设备标识两个或更多个多轨道组之间的至少一个关系。
12.根据权利要求10-11的任意一项所述的设备,其中与所述处理器一起工作的所述 存储器和所述计算机程序代码配置用于在标识一个或多个多轨道组中进一步使得所述设 备至少基于至少一个轨道子集来标识多轨道组;将与代表场景的不同视点的多媒体数据相对应的多个轨道和/或轨道子集进行归组;使用多轨道组框体来指示轨道和/或轨道子集之间的关系。
13.根据权利要求10-12的任意一项所述的设备,其中与所述处理器一起工作的所述 存储器和所述计算机程序代码配置用于进一步使得所述设备形成多轨道组的至少一个集合,所述多轨道组的集合与所述多轨道组的一个或多个特 性相关联。
14.根据权利要求13所述的设备,其中形成多轨道组的至少一个集合是至少部分地基 于从多视点媒体渲染、编码或捕获的角度来说类似的特性。
15.根据权利要求13-14的任意一项所述的设备,其中形成多轨道组的至少一个集合 包括使用多轨道组关系框体来指示多轨道组之间的关系。
16.根据权利要求15所述的设备,其中一个或多个准则用于指示多轨道组之间的关系。
17.根据权利要求16所述的设备,其中准则指示一次仅处理所述多轨道组中的一个。
全文摘要
一种方法包括将实时多媒体数据存储在多个轨道和/或轨道子集中;以及标识一个或多个多轨道组,每个多轨道组与多个轨道和/或轨道子集的一个或多个之间的关系相关联。
文档编号G06F17/30GK102132562SQ200980133118
公开日2011年7月20日 申请日期2009年7月16日 优先权日2008年7月16日
发明者M·安尼克塞拉, 王业奎 申请人:诺基亚公司