CN102132562A - 用于轨道和轨道子集归组的方法和设备 - Google Patents

用于轨道和轨道子集归组的方法和设备 Download PDF

Info

Publication number
CN102132562A
CN102132562A CN2009801331189A CN200980133118A CN102132562A CN 102132562 A CN102132562 A CN 102132562A CN 2009801331189 A CN2009801331189 A CN 2009801331189A CN 200980133118 A CN200980133118 A CN 200980133118A CN 102132562 A CN102132562 A CN 102132562A
Authority
CN
China
Prior art keywords
track
framework
many
group
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801331189A
Other languages
English (en)
Other versions
CN102132562B (zh
Inventor
M·安尼克塞拉
王业奎
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CN102132562A publication Critical patent/CN102132562A/zh
Application granted granted Critical
Publication of CN102132562B publication Critical patent/CN102132562B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback

Abstract

一种方法包括:将实时多媒体数据存储在多个轨道和/或轨道子集中;以及标识一个或多个多轨道组,每个多轨道组与多个轨道和/或轨道子集的一个或多个之间的关系相关联。

Description

用于轨道和轨道子集归组的方法和设备
技术领域
本发明一般地涉及实时多媒体数据的领域,并且更具体地,本发明涉及对这样的多媒体数据进行的组织。
背景技术
本节旨在提供权利要求中描述的本发明的背景或上下文。这里的描述可以包括能够被探究的概念,但是没有必要是先前已经想到或探究的概念。因此,除非在这里另外指出,本节所描述的内容对于本申请中的说明书和权利要求书而言不是现有技术,并且不因被包括在本节中而被承认为是现有技术。
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基本媒体文件格式(ISO/IEC14496-12)、MPEG-4文件格式(ISO/IEC 14496-14,也被称作MP4格式)、AVC文件格式(ISO/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基本媒体文件格式)的采样。提示轨道指的是提示采样,包含用于构造通过指定通信协议进行传输的分组的食谱(cookbook)指令。该食谱指令可以包含分组头部构造并且包括分组净荷构造的向导。在该分组净荷构造中,可以引用驻留在其他轨道或项目中的数据,即通过引用指示在分组构造处理期间将特定轨道或项目中的哪段数据复制至分组。时控元数据轨道指的是描述引用的媒体和/或提示采样的采样。为了呈现,一个媒体类型,通常一个媒体轨道被选择。轨道采样隐含地与采样号相关联,该采样号在指示的采样解码顺序中以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框体)表示将采用指派到采样组;以及(2)采样组描述框体(sgpd框体)包含描述组属性的每个采样组的采样组条目。基于不同归组标准,可以存在采样到组和采用组描述框体的多个实例。这些实例通过用于指示归组类型的类型字段来区分。
图3A提供了指示针对采样组框体的嵌套结构的简化框体层次。采样组框体(采样组描述框体和采样到组框体)驻留在采样表(stbl)框体内,该采样表(stbl)框体包含在电影(moov)框体内(按如下顺序)的媒体信息(minf)框体、媒体(mdia)框体和轨道(trak)框体中。
允许采样到组框体驻留在电影片段中。因此,采样归组可以逐段来完成。图3B示出了包含电影片段的文件的示例,其中电影片段包括采样到组框体。
ISO基本媒体文件格式支持两种类型的编辑操作:通过编辑列表框体进行回放时间修改以及文件元数据重编写(reauthoring)。编辑列表框体规定了如何将媒体组成时间线转换成回放时间线,以及支持将媒体时间线划分成多个部分并且将那些部分映射到回放时间线中的时间片。因此,编辑列表框体使得可以省略来自回放的媒体采样,改变回放中媒体部分的顺序,以及改变媒体部分的回放速度。然而,并不是所有的播放器都支持编辑列表框体,因为,例如,由编辑列表框体提供的特征的灵活性给播放器实现带来了挑战。另外,编辑列表框体的使用不能使得用于moov框体和moof框体中未播放媒体采样或其描述的存储空间被释放。因此,许多文件编辑器通常不使用编辑列表框体,而是经由文件元数据的重编写来修改文件。
当包含在ISO基本媒体文件格式导出文件中的多媒体呈现通过添加或移除媒体数据而改变时,文件元数据必须被重编写。很多时候,文件可以通过以下方式进行编写,即随后去除或添加多媒体数据不需要完全重编写文件元数据。例如,如果仅有几个包含轨道媒体采样的组块,则可以直截了当的方式删除整个轨道。
在多视点视频编码中,将来自不同照相机的视频序列输出编码至一个比特流,其中每个照相机对应于不同的视点。在解码之后,为了显示特定的视点,重构并显示属于该视点的解码图片。还有可能不止一个视点被重构并且显示。多视点视频编码具有多种多样的应用,包括自由视角视频/电视、3D TV和监视应用。当前,ISO/IEC运动图像专家组(MPEG)和ITU-T视频编码专家组的联合视频团队(JVT)正在努力开发MVC标准,其正在成为H.264/AVC的扩展。此后,我们将这两个(草案)标准分别称为MVC和AVC。
MVC的最新联合草案在2008年4月瑞士日内瓦的第27次JVT会议的JVT-AA209,“Joint Draft 7.0on 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解码顺序(即,比特流顺序)。该解码顺序布置被称为时间优先编码。每个访问单元定义用于包含针对一个输出时间实例的所有视点的已编码图片。注意,访问单元的解码顺序可以不与输出或显示顺序相同。
现在参考图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.264/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,y,z)中的相对照相机位置,以及照相机相对于所有三个轴(即,斜度、旋转,偏转/倾斜)的旋转。外部照相机参数与选定的参照物有关,诸如坐标系的起点。草案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)如果不需要聚合器(即,该聚合器属于不期望的层或视点),则容易地将该聚合器及其通过包括和参考的方式的内容丢弃(使用其长度和additional_bytes字段);以及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_groupID等于字段归组ID时,该归组是该层级的主定义,并且后面的也适用。应当出现层级信息框体和SVC优先级范围框体。针对特定的层级,如果没有出现任意可选的框体,则不针对那个层级定义那样的信息(不存在层级信息的继承)。对于特定的层级,如果没有出现层级依赖性框体,则该层级可以依赖于具有较低层级ID的所有层级。如果出现初始参数集合框体,则利用该框体指示解码该层级和其所依赖的所有较低层级所需的参数集合。如果该框体没有出现,则不对其用信号表示是否需要由SVC解码器配置记录或MVC解码器配置记录给出的所有参数集合。如果使用了参数集合流,则不应当出现初始参数集合框体。层级ID的值不需要是连续的。另外,对于每个可伸缩归组条目,当字段primary_groupID等于字段归组ID时,应当出现SVC依赖性范围框体。另外,对于每个多视点归组条目,当字段primary_groupID等于字段归组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
{
ViewIdentifierBox();//Mandatory
TierInfoBox();//Mandatory
TierDependencyBox();//Mandatory
SVCPriorityRangeBox();//Mandatory
//Optional Boxes or fields may follow when defined  later
TierBitRateBox();//optional
BufferingBox();//optional
InitialParameterSetBox();//optional
ProtectionSchemeInfoBox();//optional
}
}
多视点归组条目的语义如下。
归组ID给出归组条目的标识符。归组ID是任意值,但是应当是唯一的。
primary_groupID指定包含该层级的主定义的归组。如果该值等于归组ID的值,则该归组是该层级的主定义。is_tl_switching_point当设为1时,对于该归组成员而言,指示具有ISO/IEC 14496-10附件H中规定的最高temporal_id值的那些成员为时间层切换点。倘若已经处理了(传输并解码)具有temporal_id等于由tl_switching_distance指示的tId-1的成员,设该归组成员的最高temporal_id值为tId,则比特流可以在具有temporal_id等于tId的任何成员处从具有temporal_id等于tId-1的时间层切换到具有temporal_id等于tId的时间层。is_tl_switching_point等于0指示该归组中具有ISO/IEC 14496-10附件H中规定的最高temporal_id值的成员可以是时间层切换点也可以不是时间层切换点。
tl_switching_distance在is_tl_switching_point为1时使用。其指示具有temporal_id等于tId-1的时间层采样的数量,该数量的采样必须被解码以保证从切换点向前的时间层tId或高于其的流的可解码性。值0指示对较低的时间层没有依赖性的时间切换点。特定采样的所需距离可以通过针对特定采样的时间并行元数据轨道中的时间层切换距离声明来减少。
如下所述,将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的采样条目格式定义如下。
框体类型:‘avc1’、‘avc2’、‘mvc1’
容器:采样描述框体(‘stb1’)
强制性:avc1或avc2或mvc1是强制性的
数量:可以出现一个或多个采样条目
如果MVC基本流包含可使用的AVC兼容基本层,则应当使用AVC视觉采样条目(‘avc1’或‘avc2’)。这里,条目应当最初包含AVC配置框体,可能跟随有如下文定义的MVC配置框体。AVC配置框体归档关于由AVC解码器配置记录定义的AVC兼容基本层的类别、等级和参数集信息。MVC配置框体归档关于包含由MVC解码器配置记录定义的非基本视点的整个流的类别、等级和参数集信息,其存储在MVC配置框体中。
如果MVC基本流不包含可用AVC基本视点,则应当使用MVC视觉采样条目(‘mvc1’)。如下面所定义的,MVC视觉采样条目应当包含MVC配置框体。这包括MVC解码器配置记录。
优先级指派URI提供了用于指派priority_id值的方法的名称(在URI空间中)。当在AVC或MVC采样条目中发生时,应当恰好出现一个URI,用于归档流中的priority_id指派。这里只将URI作为名称;虽然没有这样要求,但该URI应当是去可参考的。文件阅读器可以能够识别某些方法,并且由此知道基于priority_id的流提取操作应当做什么。
仅当整个流被操作在AVC配置框体中给定的配置(包括类别和等级)下的AVC解码器视为是符合并且可使用的AVC流时,才可以使用采样条目名‘avc1’。可以出现类似NAL单元的文件格式特定结构,但是必须不用于访问AVC基本数据;即,AVC数据必须不包含在聚合器中(尽管它们可以包括在由additional_bytes字段参考的字节中)。为了形成预期的AVC流,采样条目名‘avc2’指示必须针对包含的NAL单元检查聚合器。聚合器可以用于‘avc1’、‘avc2’或‘mvc1’轨道中的MVC VCL NAL单元。
以下框体中的任何框体可以出现在‘avc1’或‘avc2’采样条目中,这些框体包括:MVC配置框体、视点可伸缩性信息SEI框体、固有照相机参数框体和外部照相机参数框体。在这些情况下,下面分别应用AVCMVC采样条目或AVC2MVC采样条目定义。
下表针对视频轨道示出了当MVC基本流存储在一个或多个轨道、配置和MVC工具(排除时控元数据,其总是在另一轨道中使用)中时,采样条目的所有可能的使用:
针对采样条目的语法规定如下。
class MVCConfigurationBox extends Box(′mvcC′){
MVCDecoderConfigurationRecord()MVCConfig;
}
class AVCMVCSampleEntry()extends AVCSampleEntry (){
ViewIdentifierBox view_identifiers;                    //mandatory
MVCConfigurationBox mvcconfig;                         //optional
ViewScalabilityInfoBox view_scalability;               //optional
SVCPriorityAssignmentBox   method;v                    //optional
IntrinsicCameraParametersBox  intrinsic_camera_params; //optional
ExtrinsicCameraParametersBox  extrinsic_camera_params; //optional
}
class AVC2MVCSampleEntry()extends AVC2SampleEntry (){
ViewIdentifierBox view_identifiers;                     //mandatory
MVCConfigurationBox  mvcconfig;                         //optional
MPEG4BitRateBox bitrate;                                //optional
MPEG4ExtensionDescriptorsBox descr;                     //optional
ViewScalabilityInfoBox  view_scalability;               //optional
SVCPriorityAssignmentBox   method;                      //optional
IntrinsicCameraParametersBox  intrinsic_camera_params;  //optional
ExtrinsicCameraParametersBox  extrinsic_camera_params;  //optional
}
//Use this if the track is NOT AVC compatible
class MVCSampleEntry()extends VisualSampleEntry(′mvcl′){
ViewIdentifierBox view_identifiers;                   //mandatory
MVCConfigurationBox  mvcconfig;
MPEG4BitRateBox bitrate;                              //optional
MPEG4ExtensionDescriptorsBox descr;                   //optional
ViewScalabilityInfoBox view_scalability;              //optional
SVCPriorityAssignmentBox   method;                    //optional
IntrinsicCameraParametersBox  intrinsic_camera_params;//optional
ExtrinsicCameraParametersBox  extrinsic_camera_params;//optional
}
针对采样条目字段的语义等同于SVC文件格式(针对方法、比特率和备注说明参数)的语义,或者规定如下。view_scalability包含SEI NAL单元,该SEI NAL单元仅包含如ISO/IEC 14496-10附件H中规定的视点可伸缩性信息SEI消息。
固有照相机参数框体定义如下。
框体类型:‘icam’
容器:采样条目(‘avc1’、‘avc2’、‘mvc1’)
强制性:否
数量:零个或一个
针对固有照相机参数框体的语法定义如下。
class IntrinsicCameraParametersBox extends FullBox (′icam′,version=0,
flags)
{
unsigned int(32)prec_focal_length
unsigned int(32)prec_principal_point
unsigned int(32)prec_skew_factor
unsigned int(32)exponent_focal_length_x
signed int(32)mantissa_focal_length_x
unsigned int(32)exponent_focal_length_y
signed int(32)mantissa_focal_length_y
unsigned int(32)exponent_principal_point_x
signed int(32)mantissa_principal_point_x
unsigned int(32)exponent_principal_point_y
signed int(32)mantissa_principal_point_y
unsigned int(32)exponent_skew_factor
signed int(32)mantissa_skew_factor
}
针对固有照相机参数框体的语义等同于MVC的多视点采集信息SEI消息的语义。
外部照相机参数框体定义如下。
框体类型:‘ecam’
容器:采样条目(‘avc1’、‘avc2’、‘mvc1’)
强制性:否
数量:零个或一个
针对外部照相机参数框体的语法定义如下。
class ExtrinsicCameraParametersBox extends FullBox (′ecam′,version=0,
flags)
{
unsigned int(32)prec_rotation_param
unsigned int(32)prec_translation_param
for(j=1;j<=3;j++){ /*row */
for  (k=1;k<=3;k++){/*column */
unsigned int(32)exponent_r[i][j][k]
signed int(32)mantissa_r[i][i][k]
}
}
}
针对外部照相机参数框体的语义等同于MVC的多视点采集信息SEI消息的那些语义。
视点标识符框体定义如下。
框体类型:‘vwid’
容器:采样条目(‘avc1’、‘avc2’、‘mvc1’)或多视点组条目
强制性:是(针对多视点组条目中的主组定义和采样条目)
数量:正好一个(针对多视点组条目中的主组定义和采样条目)
零个,针对多视点组条目中非主组定义
当包括在采样条目中时,该框体通过MVC的view_id语法元素值来指示包括在轨道中的视点。当包括在多视点组条目中时,该框体通过MVC的view_id语法元素值来指示包括在相应层级中的视点。该框体还指示了针对每个所列视点的视点顺序索引。另外,当视点标识符框体分别包括在采样条目或多视点组条目中时,该框体包括包含在轨道或层级中的temporal_id的最小值和最大值。
针对视点标识符框体的语法定义如下。
class ViewIdentifierBox extends FullBox (′vwid′,version=0,flags)
{
unsigned int (16)num_views;
for (i=0;i<num_views;i++){
unsigned int(6)reserved1=0;
unsigned int(10)view_id;
unsigned int(6)reserved2=0;
unsigned int (10)view_order_index;
}
unsigned int(2)reserved3=0;
unsigned int (3)min_temporal_id;
unsigned int (3)max_temporal_id;
}
}
针对视点标识符框体的语义定义如下。
当视点标识符框体出现在采样条目中时,num_views指示包括在轨道中视点的数量。当视点标识符框体出现在多视点组条目中时,num_views指示包括在相应层级中的视点的数量。
当视点标识符框体分别包括在采样条目或多视点组条目中时,view_id指示针对包括在该轨道或层级中视点的MVC的view_id语法元素的值。
当视点标识符框体分别包括在采样条目或多视点组条目中时,view_order_index指示针对包括在该轨道或层级中视点的如MVC中规定的VOIdx变量的值。
当视点标识符框体分别包括在采样条目或多视点组条目中时,min_temporal_id、max_temporal_id采取出现在映射到轨道或层级的NAL单元的NAL单元头部扩展中的temporal_id语法元素的最小值或最大值。对于AVC流,其采取在或将在前缀NAL单元中的值。
如果与‘avc1’或‘avc2’采样条目相关联并且包含MVC基本流的轨道包括在备选组中,则其他组成员为包含在该轨道中的基本视点的备选。如果与‘mvc1’采样条目相关联的轨道包括在备选组中,则其他组成员是这样的多视点视频轨道,其包含与‘mvc1’轨道相等的多个视点并且其中‘mvc1’轨道的每个视点都具有其他轨道中的相应视点。
多描述编码器从一个原始信号产生许多独立的流,称为描述。每个描述通常具有相似的重要性,这些描述的任意一个都足以再产生基本质量的解码信号,并且再产生质量根据接收到的描述而改进。因此显然,描述是相关的并且多描述编码(MDC)相比于单个描述编码而言在压缩效率方面不足。相关性还可以使得解码器能够隐藏丢失的描述。已经提出了若干算法用于多描述编码,其使用空间域划分、频域划分或时域划分。
ISO基本媒体文件格式规定了用于形成如下的备选组和切换组的方式。alternate_group是在轨道头部框体中携带整数值的参数,其规定了轨道的组或聚集。如果该字段为0,则没有关于与其他轨道可能关系的信息。如果该字段不为0,则对于包含针对彼此的备选数据的轨道是相同的,而对于属于不同的此类组的轨道是不同的。在任意一个时间,备选组中只有一个轨道应当被播放或流式传输,并且必须可经由属性(例如,比特率、编解码器、语言、分组大小等)与组中的其他轨道区分。备选组可以只具有一个成员。
存储在文件中的典型呈现包含每媒体类型一个备选组:一个用于视频、一个用于音频等。虽然在任意时间点,应当只播放或流式传输视频轨道中的一个,但是这种文件可以包括若干个视频轨道。这通过将所有视频轨道指派到相同的备选组来实现。
备选组中的所有轨道都是媒体选择的候选,但是,在会话期间,在那些轨道的某些轨道之间进行切换是没有意义的。例如,可以允许在处于不同比特率的视频轨道之间切换并且保持帧大小,但是不允许在不同帧大小的轨道之间切换。通过相同的方式,可能期望在不同视频编解码器或不同音频语言的轨道之间能够进行选择而不是切换。
用于选择和切换的轨道之间的区别通过将轨道指派到除备选归组外的切换组来解决。一个备选组可以包含一个或多个切换组。备选组中的所有轨道都是媒体选择的候选,而切换组中的轨道也可用于在会话期间进行切换。不同的切换组代表不同的操作点,诸如不同的帧大小、高/低质量等。
对于非可伸缩比特流的情况而言,若干个轨道可以包括在切换组中。同样的情况也适用于非分层可伸缩比特流,例如传统的AVC流。
通过利用属性来标记轨道,可以对这些轨道进行表征。每个轨道可以利用一列属性来标记,该列属性可以用于描述特定切换组中的轨道或属于不同切换组的不同轨道。
针对轨道的用户数据框体中携带的轨道选择框体包含switch_group参数和attribute_list。
switch_group是指定轨道的组或聚集的整数。如果该字段为0(默认值)或者如果轨道选择框体不存在,则没有关于该轨道在播放或流式传输期间是否可以用于切换的信息。如果该整数不为0,则其对于可以用于在彼此之间进行切换的轨道而言应当是相同的。属于相同切换组的轨道应当属于相同的备选组。切换组可以仅具有一个成员。
attribute_list是属性的列表。该列表中的属性应当用作轨道的描述或相同备选或切换组中的轨道的区分准则。每个区分的属性与到区分该轨道的字段或信息的指针相关联。
标题为SYSTEM AND METHOD FOR INDICATING TRACK RELATIONSHIPS IN MEDIA FILES的申请序列号为11/844,300的美国专利申请提出了轨道关系框体,其支持根据特定归组类型来形成轨道的一个或多个组。指定了用于备选轨道、切换轨道、分层编码和多描述编码的归组类型。备选轨道归组类型支持属于特定备选组的轨道的列表,即,对于轨道头部框体中每个alternate_group的值有一个轨道组。备选轨道归组类型向解析器提供了一种机制,用于标识可以使用的备选组而非遍历通过所有轨道的轨道头部框体。切换轨道归组类型提供了一种用于标识切换组的方式,其可以用来代替解析所有轨道的轨道选择框体。分层编码归组类型提供了一种用于标识形成分层(可伸缩)比特流的轨道的方式。该机制可以在解析器中使用,而不是遍历通过所有轨道的轨道参考框体。多描述编码归组类型提供了一种用于关联包含具有彼此多描述关系的比特流的轨道的方式。
轨道关系框体定义如下:
框体类型:‘trel’
容器:电影框体(‘moov’)
强制性:否
数量:零个或一个
针对轨道关系框体的语法如下:
aligned(8)class TrackRelationBox
extends FullBox(‘trel’,version=0,flags){
int i,j,k;
if(flags&0x000001==1){
unsigned int(16)num_alternate_groups;
for(i=0;i<num_alternatve_groups;i++){
int(16)alternate_group_id;
unsigned int(16)num_tracks_in_alternate_group;
for(j=0;j<num_tracks_in_alternate_group;j++)
unsigned int(32)alternate_track_id;
}
}
if(flags&0x000002==1){
unsigned int(16)num_switch_groups;
for(i=0;i<num_switch_groups;i++){
int(16)switch_group_id;
unsigned int(16)num_tracks_in_switch_group;
for(j=0;j<num_tracks_in_switch_group;j++)
unsigned int(32)switch_track_id;
}
}
if(flags&0x000004==1){
unsigned int(16)num_layered_groups;
for(i=0;i<num_layered_groups;i++){
int(16)layered_group_id;
unsigned int(16)num_tracks_in layered_group;
for(j=0;j<num_tracks_in_layered_group;j++){
unsigned int(32)layered_track_id;
unsigned int(16)num_dependent_on_tracks;
for(k=0;k<num_layered_on_tracks;k++)
unsigned int(32)dependent_on_track_id;
}
}
}
if(flags&0x000008==1){
unsigned int(16)num_mdc_groups;
for(i=0;i<num_mdc_groups;i++){
int(16)mdc_group_id;
unsigned int(16)num_tracks_in_mdc_group;
for(j=0;j<num_tracks_in_mdc_group;j++)
unsigned int(32)mdc_track_id;
}
}
}
在上面的语法中,“版本”是规定轨道关系框体的版本的整数(如上所述的0)。
“标志”是具有标志的24-位整数。对以下位进行了定义,其中位0是最低有效位,位1是第二最低有效位等。当位0等于1时,这表示备选轨道组的信息出现在该框体中。当位0等于0时,这表示备选轨道组的信息没有出现在该框体中。
当位1等于1时,这表示切换轨道组的信息出现在该框体中。当位1等于0时,这表示切换轨道组的信息没有出现在该框体中。
当位2等于1时,这表示分层轨道组的信息出现在该框体中。当位2等于0时,这表示分层轨道组的信息没有出现在该框体中。
当位3等于1时,这表示MDC轨道组的信息出现在该框体中。当位3等于0时,这表示MDC轨道组的信息没有出现在该框体中。
“num_alternate_groups”表示信号通知的备选轨道组的数量。“alternate_group_id”表示信号通知的第i个备选轨道组的标识符。该值不等于0。与alternate_group_id相关联的任何轨道都具有等于该alternate_group_id的alternate_group(在轨道头部框体中)。具有alternate_group(在轨道头部框体中)不等于0的任何轨道都与alternate_group_id相关联。“num_tracks_in_alternate_group”表示信号通知的第i个备选轨道组中轨道的数量。“alternate_track_id”表示信号通知的第i个备选轨道组中第j个轨道的轨道ID。
“num_switch_groups”表示信号通知的切换轨道组的数量。“switch_group_id”表示信号通知的第i个切换轨道组的标识符。该值不等于0。对于与switch_group_id相关联的任何轨道,如果出现轨道选择框体,则在轨道选择框体中信号通知的switch_group与switch_group_id相等。对于出现轨道选择框体的任何轨道而言,如果alternate_group不等于0,则轨道应当与switch_group_id相关联。“num_tracks_in_switch_group”表示信号通知的第i个切换轨道组中的轨道的数量。“switch_track_id”表示信号通知的第i个切换轨道组中的第j个轨道的轨道ID。
“num_layered_groups”表示信号通知的分层轨道组的数量。“layered_group_id”表示信号通知的第i个分层轨道组的标识符。“num_tracks_in_layered_group”表示信号通知的第i个分层轨道组中轨道的数量。“layered_track_id”表示信号通知的第i个分层轨道组中的第j个轨道的轨道ID。
“num_dependent_on_tracks”表示轨道数量,第i个分层轨道组中的第j个轨道直接或间接依赖于该轨道数量。“dependent_on_track_id”表示第k个轨道的轨道ID,第i个分层轨道组中的第j个轨道直接或间接依赖于该第k个轨道的轨道ID。
“num_mdc_groups”表示信号通知的MDC轨道组的数量。“mdc_group_id”表示信号通知的第i个MDC轨道组的标识符。“num_tracks_in_mdc_group”表示信号通知的第i个MDC轨道组中轨道的数量。“mdc_track_id”表示信号通知的第i个MDC轨道组中第j个轨道的轨道ID。
在该轨道关系框体的一个实施方式中,文件递送会话组框体(FD会话组框体)用于列举与文件递送会话的相同组ID相关联的文件递送(FLUTE/ALC)索引轨道(例如,形成相同网页的不同对象,例如图像)。FD会话组框体定义如下:
框体类型:‘segr’
容器:FD信息框体(‘fiin’)
强制性:否
数量:零个或一个
尽管文件包含多于一个的FD提示轨道是强制性的,但FD会话组框体是可选的。该FD会话组框体包含会话的列表以及属于每个会话的提示轨道和文件组。FD会话在针对特定的FD会话的FD会话组框体中列出的所有FD提示轨道(信道)上同时发送。在任意时间应当只处理一个会话组。会话组中首先列出的索引轨道指定了基本通道。如果服务器在会话组之间没有偏好,则默认选择应当是第一会话组。包含由索引轨道参考的文件的所有文件组的组ID应当包括在文件组的列表中。接着,文件组ID可以被转译成可以由服务器包括在FDT中的文件组名(使用组ID来命名框体)。
针对FD会话组框体的语法如下:
aligned(8)class FDSessionGroupBox
extends Box(′segr′){
unsigned int(16)num_session_groups;
for(i=0;i<num_session_groups;i++){
unsigned int(8)entry_count;
for (j=0;j<entry_count;j++){
unsigned int(32)group_ID;
}
unsigned int(16)num_channels_in_session_group;
for(k=0;k<num_channels_in_session_group;k++){
unsigned int(32)hint_track_id;
}
}
}
“num_session_groups”规定会话组的数量。“entry_count”给出包括该会话组符合的所有文件组的下述列表中条目的数量。该会话组包含如由每个源文件的项目信息条目指定的所列文件组中包括的所有文件。注意,针对会话组的FDT应当只包含该结构中列出的那些组。
“group_ID”表示该会话组符合的文件组。
“num_channels_in_session_groups”规定该会话组中信道的数量。num_channels_in_session_groups的值应当是正整数。
“hint_track_ID”规定属于特定会话组的FD提示轨道的轨道ID。注意,一个FD提示轨道对应于一个LCT信道。
当通过具有受限带宽的信道递送可伸缩媒体流的组合时,需要提供一些规定来指示如何从联合递送的所有媒体中动态地执行对数据部分的提取。因此,包含一个或多个可伸缩媒体流的文件可以被修改以便也保持由速率分配采样组描述条目(速率分配条目(RateShareEntry))所描述的速率分配采样组中的速率分配信息。速率分配信息的目的是向服务器通知关于如何在任意时间的实例处从每个可伸缩媒体流中提取媒体。这支持服务器处的受控或推荐的缩放媒体的方式,从而支持基本媒体流的生成。可以通过将媒体的部分(即,时间范围)与规定目标速率分配值的速率分配信息记录相关联,而将时控速率分配信息添加至存储在媒体轨道中的可伸缩媒体流。目标速率分配值指示应当分配给所述媒体的可用比特率的目标百分比。在此最简单的场景中,每媒体和时间范围仅指定一个目标速率分配值,如图6所示。
然而,为了适应随着可用比特率改变的速率分配值,可以规定多于一个的操作范围。例如,可以指示:音频流部分在较低可用比特率处(比视频)需要较高的可用比特率百分比。如图7所示,这可以通过规定速率分配采样组描述条目内的两个速率分配操作点来完成。图7中的每个操作点规定了目标速率分配。对于更复杂的情况,还可以规定更多的操作点。另外,第一操作点和最后一个操作点分别针对较低的可用比特率和较高的比特率而规定在那些点处的目标速率分配。两个操作点之间的目标速率分配被规定在那些操作点的目标速率分配之间的范围内。例如可以利用线性插值法来估计两个操作点之间的目标速率分配。
目标速率分配指示应当分配给所述媒体的可用比特率的目标百分比。针对此分配,最大比特率和最小比特率用于规定边界。最大比特率给出了用于指定的媒体和时间范围的可用比特率的上限。备选地,其可以用于提供上限阈值,对于该上限阈值,分配的比特率对于媒体来说是优先的。最小比特率指示被认为有用的下限阈值。例如,如果分配的比特率低于该最小比特率值,则建议服务器根本不要向媒体分配任何的比特率。比特率随后可以被给予其他媒体流,或者备选流(如果可用的话)。
用于速率分配信息的采样归组机制可以用于指示轨道之间的目标比特率分配。并未规定使轨道削弱为目标比特率的算法。采样归组机制定义的速率分配信息应用于媒体采样的持续期间。然而,由于相同的速率分配信息可能应用于轨道的很多连续采样,并且可能仅在两个或三个不同记录之间变化,所以可以通过使用采样组将速率分配信息高效地存储在轨道中。轨道的每个采样可以关联到(零个或者)一个采样组描述,每个采样组描述定义了速率分配信息的记录。美国专利申请序列号11/874,138公开了一种文件格式结构,被称为“速率分配操作框体”,用于指示针对已编码媒体的哪些自适应操作点可在文件中获得。ISO基本媒体文件格式中的速率分配采样归组基于两个基本假设:
1.假设组合媒体(例如,音频和视频)应当通过其进行传送的信道的总比特率是时间的按分段(piece-wise)恒定函数。然而,除了指示用于某个总比特率的最优音频-视频比特率分配之外,某些应用可能获益于导致稳定的音频-视觉质量或体验的自适应路径的指示。例如,如果在广播应用中使用统计的多路复用,则允许单独的音频视觉服务的比特率变化,目标是维持稳定的质量。同时,用于多路复用的所有音频视觉服务上的总比特率应当保持不变。从今天起,不能指示用于维护稳定质量的速率分配信息。
2.仅给出了轨道之间的目标比特率分配,但并未给出关于如何通过自适应来获得指示的分配的提示或食谱指令。因此,由于存在对可伸缩媒体进行调整(例如,帧速率缩放或质量缩放)的多种可能性,所以不同实现中的自适应过程结果可能非常不同。该事实减小了速率分配采样归组的值。
为了解决上述问题,提出了速率分配操作框体,其包括自适应操作点的特性描述。自适应操作点可以与包括在速率分配采样组描述条目中的速率分配操作点相关联,其相比于ISO基本媒体文件格式基本上没有变化。备选地,自适应操作点可以与新提出的时控元数据轨道中信号通知的特定自适应路径相关联,其指示了不同的自适应路径。为了使该解决方案适于提示轨道和所有未来的可伸缩媒体编码格式,提出了与SVC无关的元数据采样结构。每个元数据采样给出了针对每个相关联自适应路径的食谱指令,用于创建调整的采样。食谱指令指示所参考采样数据的哪些部分强制性地出现在调整的采样中,以及哪些部分(例如,细粒度可伸缩编码条带)可以从该条带头部自由地截短到任意的长度。
自适应操作点通过选择处理一个或多个已编码的媒体比特流的哪些部分,规定了如何对包括一个或多个已编码媒体比特流的已编码多媒体剪辑进行缩放。对一个或多个已编码媒体比特流的处理可以包括以下的一个或多个:组成传输分组、传输,以及对缩放的媒体比特流进行解码。美国专利申请序列号11/874,138公开了一种文件格式结构,被称作“速率分配操作框体”,用于指示针对已编码媒体,哪些自适应操作点可在文件中获得。
另外,速率分配操作框体可以包括针对每个自适应操作点的自适应结果的表征,例如,自适应是否导致在所有相关联的轨道间共享的期望的总比特率,或者自适应是否导致每个相关联的轨道中稳定的质量。此外,速率分配操作框体还可以包括标识符,其指示使用哪个算法来生成每个自适应操作点。自适应操作点还对应于与该自适应操作点相关联的每个轨道中的自适应路径。自适应操作点和特定自适应路径可以以速率分配操作框体来表征,例如,按照自适应路径可达到的最小和最大比特率、用于自适应的坐标轴(例如,图片的空间自适应)、图片的质量自适应、图片速率自适应或其任何组合。以下以速率分配操作框体的形式给出本发明的一个实施方式,其中该速率分配操作框体遵从ISO基本媒体文件格式中使用的伪代码符号。电影框体(‘moov  )包含如下定义的零个或一个速率分配操作框体(‘rsop’)。
aligned(8)class RateShareOperationBox
extends FullBox(′rsop′,version=0,0){
unsigned int(16)operation_point_count;
for(i=1;i<=operation_point_count;i++){
unsigned int(32)operation_description;
unsigned int(32)track_count ;
for(j=1;j<=track_count;j++){
int(32)track_id;
unsigned int(15)adaptation_path_id;
unsigned int(1)reserved;
unsigned int(32)rate_adaptation_algorithm;
unsigned int(32)num_constants_in_adaptation_path;
for(k=1;k<=num_constants_in_adaptation_path;k++)
unsigned int(32)constant_list;
}
if((operation_description&1)==1){
unsigned int(32)minimum_bitrate ;
unsigned int(32)maximum_bitrate;
}
}
}
速率分配操作框体中的语法元素的语义如下:
operation_point_count是给出操作点数量的整数。operation_description表示此操作点的速率自适应操作的输出特征。用于operation_description的下述标志规定为:
0x1所有相关联轨道的累积输出比特率固定为可用的比特率。
0x2每个相关联的轨道的主观质量在整个轨道的持续时间内保持类似。
track_count表示与此操作点相关联的轨道数量。如果track_count等于1,则针对该操作点用信号通知的信息规定了包含在单个已标识轨道中的单个媒体类型的自适应规则。如果track_count大于1,并且所有指示的轨道包含相同媒体类型,则针对该操作点用信号通知的信息仍然描述包含在多个已标识轨道中的单个媒体类型的自适应规则。
track_id表示与操作点相关联的轨道的track_ID。
如果track_id不表示包含通用可伸缩媒体元数据的时控元数据轨道,则adaptation_path_id应当为0。否则,adaptation_path_id表示应当在此操作点中使用哪个自适应路径。
等于0的rate_adaptation_algorithm表示:不应为任何相关联的轨道进行自适应,而是应当如下处理相关联的轨道的所有采样。如果相关联的轨道是索引轨道,则应当生成对应于所有提示采样的分组。如果相关联的轨道是SVC媒体轨道,则包括潜在提取器NAL单元的所有采样应当被解析。对于任何其他轨道,应当常规地解析所有采样。此处理的输出应当符合如此框体中指示的操作点的特征。等于1的rate_adaptation_algorithm指示:应当使用未知的自适应算法来获取由速率分配采样归组指示的目标速率分配。rate_adaptation_algorithm的其他值并未在此说明书中进行规定,但是标识了用于在参考的通用可伸缩媒体元数据轨道中获得自适应路径的算法。
num_constants_in_operation_points规定在此自适应路径中保持固定的特征的数量。
constant_list是四字符代码,其隐式地指向规定了此自适应路径的固定特征的框体或结构。四字符代码包括为SVC的轨道选择框体规定的那些。常数列表使得能够根据设备和/或软件的能力选择适当的操作点,其中设备和/或软件播放文件或接收根据包括在文件中的提示轨道构成的分组流。
minimum_bitrate是非零值(以每秒千比特为单位),其指示此操作点应当被应用的最低累积比特率。
maximum_bitrate是非零值(以每秒千比特为单位),其指示此操作点应当被应用的最高累积比特率。
用于速率分配信息的采样归组机制可以用于指示轨道之间的目标比特率分配。并未规定将轨道削弱到目标比特率的算法。如果自适应操作点中的track_id表示不包含通用可伸缩媒体元数据的时控元数据轨道的轨道,则该轨道可以包含如下文指定的类型‘rash’的采样归组。
ISO基本媒体文件格式的速率分配采样组利用如下定义的operation_point_id进行扩展:
class RateShareEntry()extends SampleGroupDescriptionEntry(′rash′)
{
unsigned int(16)operation_point_count ;
for(i=1;i<=operation_point_count ;i++){
unsigned int(16)operation_point_id;
unsigned int(16)target_rate_share;
unsigned int(32)maximum_bitrate ;
unsigned int(32)minimum_bitrate;
}
}
operation_point_id表示速率分配操作点框体中自适应操作点的索引。operation_point_id的每个值都对应于由adaptation_path_id针对操作点的当前轨道所标识的一个自适应路径。
自适应路径利用文件格式结构来发信号通知,该文件格式结构称为通用可伸缩媒体元数据轨道。通用可伸缩媒体元数据轨道与一个已编码媒体比特流(媒体轨道)或包含用以从已编码媒体比特流形成传输分组的结构的提示轨道相关联。换言之,通用可伸缩媒体元数据轨道包含“食谱”指令,该指令可以用于将参考的轨道削弱到期望的比特率或质量。对通用可伸缩媒体元数据轨道的解码会导致调整的采样。如果从通用可伸缩媒体元数据轨道参考的轨道是提示轨道,则调整的采样是有效的分组净荷。如果参考的轨道是媒体轨道,则调整的采样是有效的媒体采样,例如编码的图片或者视频或者已编码的音频帧的访问单元。
在下文中提供了通用可伸缩媒体元数据轨道的实施方式。通用可伸缩媒体元数据轨道是时控元数据轨道,其利用媒体框体中的‘元’handler_type标识。时控元数据轨道通过将通用可伸缩媒体元数据头部框体包括在媒体信息框体中而进一步表征为通用可伸缩媒体元数据轨道。通用可伸缩媒体元数据头部框体包含涉及如下规定的轨道的一般信息:
aligned(8)class GenericScalableMediaMetadataHeaderBox
extends FullBox(′gshd′,version=0,1){
unsigned int(15)num_adaptation_paths;
unsigned int(1)reserved;
for(i=1;i<=num_adaptation_paths;i++){
unsigned int(15)adaptation_path_id;
unsigned int(1)truncation_flag;
}
}
num_adaptation_paths指示轨道提供了多少自适应路径。adaptation_path_id表示在速率分配操作框体中表征的自适应路径,并标识自适应路径。
truncation_flag等于1指示某些采样中利用此自适应路径标识符标记的某些部分可以被截短。等于0的truncation_flag指示在任何采样中没有利用此自适应路径标识符标记的部分可以被截短。以下规定通用可伸缩媒体元数据轨道的采样条目:
class GenericScalableMediaMetadataSampleEntry()extends
MetadataSampleEntry(′gsmm′){
unsigned int(2)log2_num_parts_minus_one;
unsigned int(2)log2_num_paths_minus_one;
unsigned int(2)log2_offset_minus_one;
unsigned int(2)log2_size_minus_one;
}
采样条目的字段用于规定在用于轨道的采样结构中使用的语法元素的大小(分别对应于字段的值0、1、2和3的8、16、24或32位)。
通用可伸缩媒体元数据轨道中的采样使用以下结构:
aligned(8)generic_scalable_media_metadata_sample(sampleSize){
unsigned int((log2_num_parts_minus_one+1)*8)num_parts;
for(i=1;i<=num_parts ;i++){
unsigned int((log2_num_paths_minus_one+1)*8-1)
num_paths_whole_part;
unsigned int(1)truncatable_part_flag;
for(j=1;j<=num_paths_whole_part;j++){
unsigned int(15)path_id_whole_part ;
unsigned int(1)reserved;
}
if    (num_paths_whole_part >0){
unsigned int((log2_offset_minus_one+1)*8)offset_whole_part;
unsigned int((log2_size_minus_one+1)*8)num_bytes_whole_part;
}
if(truncatable_part_flag==1){
unsigned int((log2_num_paths_minus_one+1)*8-1)
num_partitionigs;
unsigned int (1)reserved;
for(k=1;k<=num_partitionings;k++){
unsigned int((log2_num_paths_minus_one+1)*8-1)num_paths;
unsigned int(1)reserved;
for(m=1;m<=num_paths;m++){
unsigned int(15)path_id;
unsigned int(1)reserved;
}
unsigned int(8)num_subparts;
for(m=1;m <=num_subparts;m++){
unsigned int((log2_offset_minus_one+1)*8)offset;
unsigned int((log2_size_minus_one+1)*8)num_bytes;
unsigned int(7)reserved;
unsigned int(1)free_truncation_flag;
}
}
}
}
}
通用可伸缩媒体采样条目包含以下的值:
log2_num_parts_minus_one,log2_num_paths_minus_one,log2_path_id_minus_one,log2_offset_minus_one和log2_size_minus_one。
元数据采样在时间上与所参考的媒体或索引轨道中的采样对齐(在解码时间中)。每个元数据采样(也称为自适应采样)与相应的调整采样相关联,该相应的调整采样是按照以下从初始的调整的采样导出的。
初始调整采样可以从与自适应采样相关联的提示采样或已编码媒体采样导出。当相关联的轨道是媒体轨道时,从相关联的媒体采样导出初始的调整采样。如果媒体采样并不包含如SVC文件格式中规定的聚合器或提取器NAL单元,则初始的调整媒体采样与媒体采样相同。否则,提取器NAL单元参考的数据替代提取器NAL单元被插入初始的调整采样,用于聚合器NAL单元的头部被移除,以及初始的调整媒体采样的任何剩余部分按照现在的样子包含媒体采样的数据。当相关联的轨道是提示轨道时,初始的调整采样是从相关联的提示采样导出的。初始的调整采样与使用采样的净荷构建器生成的分组净荷相同。
自适应采样针对每个自适应路径包含信息,其中初始的调整采样的部分包括在调整的采样中。部分的指示可以利用初始的调整采样内的字节范围列表来指示。字节范围的使用使得该方案忽视媒体采样或分组净荷的语法并因此适用于任何编码或分组净荷格式。如果字节范围从指示的范围开始可以自由地截短成任何长度的话,那么自适应采样还可以就每个指示的字节范围包含指示。
给出的通用可伸缩媒体元数据的采样结构将初始的调整采样的指示字节范围映射到调整的采样。不同的字节范围可以针对不同的自适应路径而指示。还可以指示某个字节范围是否可自由的截短,即,从其开始处开始的字节范围的任何数量字节可以包括在调整采样中。
用于通用可伸缩媒体元数据轨道的采样结构的语义如下:
num_parts指示初始的调整采样中的部分的数量。没有给出部分的明确定义,但是,通常是初始的调整采样内的字节范围对应于预测参考的单元(例如,可伸缩视频中的已编码图片)。
num_paths_whole_part表示其中包括整个部分的自适应路径的数量。
truncatable_part_flag等于0表示该部分不可以截短。
truncatable_part_flag等于1表示部分的至少一个子部分可以被截短。
path_id_whole_part表示引入到速率分配操作框体中的用于部分的自适应路径标识符。
ofset_whole_part指示针对初始的调整采样的偏移,部分从该初始的调整采样开始。初始的调整采样的第一字节偏移具有值0。
num_bytes_whole_part表示包括在部分中的字节数量。
num_partitionings表示部分被分成子部分的分割的次数。将部分拆分成子部分的每个唯一方式是一次分割。例如,如果部分对应于精细粒度可伸缩图片,并且存在指定的两个自适应路径(分别允许图片的总大小在50%到100%和80%到100%的范围内进行比特率缩放),则针对该部分存在两次分割。在第一分割中,对应于图片大小的50%的字节范围的子部分将利用等于0的free_truncation_flag来指示,而图片的剩余子部分将利用等于1的free_truncation_flag来标记。用于第二分割的子部分将被类似地指示。
num_paths表示共享部分到子部分的相同分割的自适应路径的数量。
path_id表示速率分配操作框体中引入的、针对分割规定的用于子部分的自适应路径标识符。
num_subparts表示子部分的数量。没有给出子部分的明确定义,但是部分内的字节范围对应于例如精细粒度可伸缩已编码条带的条带头部和条带数据。
offset表示相对子部分从其开始的初始的调整采样的字节偏移。初始的调整采样的第一字节偏移具有值0。
num_bytes表示包括在子部分中的字节数量。
free_truncation_flag等于0表示子部分不应当被截短。
free_truncation_flag等于1表示通过从子部分的末端开始去除采样而将子部分截短到任何的长度。
调整的采样如下创建。设currPathId等于用于期望的自适应路径的标识符。对于包含用于期望的自适应路径的数据的采样(由速率分配信息采样组指示的),执行下述的过程。对于每个指示的部分,path_id_whole_part的列表首先与currPathId进行比较。如果path_id_whole_part的值等于currPathId,则由offset_whole_part和num_bytes_whole_part的值指示的整个部分被包括在调整的采样中。如果不存在等于currPathId的path_id_whole_part的值和等于1的truncatable_part_flag,则直到找到等于currPathId的path_id的值之前,都执行指示的分割成子部分的循环。随后,由offset和num_bytes的值指示的每个子部分包括在调整的采样中。如果需要调整的采样的进一步截短以满足某个比特预算,例如,free_truncation_flag等于1的那些子部分被截短成期望的长度。
调整采样形成调整轨道。如果参考的轨道是索引轨道,则调整采样是有效的分组净荷。如果参考的轨道是媒体轨道,则调整采样是有效的媒体采样。
应当注意的是,视频编码中的已编码采样通常是已编码的图片或访问单元。音频中的已编码采样通常是已编码的音频帧。另外如上所述,如果simple_priority_id阈值在已编码视频序列的中间(即,IDR访问单元之间)改变的话,那么无法给出关于流的有效性的任何保证。对于在本发明中建议的自适应路径,同样如此。为了指示自适应路径之间的有效切换点,用于自适应路径切换点的采样归组机制用于指示可以用于从一个自适应路径切换到另一个的调整采样。对于此采样归组机制的需求来自于这样的事实,即,SVC利用单循环解码,即,仅针对最高解码的层来解码参考图片。因此,层之间的切换并不是在任意位置都是可以的,因为在某些位置处,将要切换的层的参考图片并未被解码。此采样归组机制因此可以用于指示层切换点,或者更一般地,指示自适应路径之间的切换点。
如果存在自适应路径切换采样组描述,则轨道的每个采样被映射至以下描述的一个自适应路径切换点条目。可以将用于归组类型‘tpsw’的零个或一个采样-到-组框体(‘sbgp’)包含在通用可伸缩媒体元数据轨道的采样表框体(‘stbl’)中。自适应路径切换点采样组条目定义如下:
class AdaptationPathSwithPointEntry()extends
SampleGroupDescriptionEntry(′tpsw′)
{
unsigned int(8)num_refresh;
for(i=1;i<=num_refresh;i++){
unsigned int(15)refresh_adaptation_path_id;
unsigned int(1)reserved;
}
}
自适应路径切换点采样组条目的语义如下:num_refresh表示当任何自适应路径之前在生成调整采样中使用过时,可以在该采样处被切换至的自适应路径的数量。
refresh_adaptation_path_id表示用于那些自适应路径的标识符,其中那些自适应路径是当任何自适应路径之前在生成调整采样中使用过时,可以切换至的那些自适应路径。
利用速率分配操作框体处理文件的设备、软件程序、组件或任何其他适当单元可以选择期望的自适应操作点。该选择是基于以下做出的:设备和潜在接收单元的约束和能力如何与自适应操作点的特征或者利用其计算自适应操作点的期望算法的特征相匹配。
下面描述了用于选择自适应操作点的示例系统。流式传输服务器访问包含速率分配操作框体的文件。该文件包含不可伸缩音频比特流和可伸缩视频比特流,该视频比特流在质量和时间上是可伸缩的。在速率分配操作框体中指示两个自适应操作点,其目标都在于在音频和视频之间共享总比特率。每个自适应操作点表示一对提示轨道,即,用于音频的提示轨道和用于视频的另一提示轨道。速率分配操作框体指示:在第一自适应操作点中,视频在时间上缩放,而在第二自适应操作点中使用质量方面的缩放。在接收方和服务器之间建立一对一(即,单播)流式传输会话。从服务器向接收方通告时间选项和质量方面的选项。接收单元可以包括用户接口开关以选择用户的偏好,即,是帧速率(时间缩放)优先还是画面逼真度(质量缩放)优先。基于用户的选择,接收方单元向服务器指示哪个自适应路径应当被跟着。接着,服务器基于由接收方指示的自适应路径和适当的提示轨道来创建分组。
因此,图8示出了上文所述用于处理轨道的技术的简化总结,其支持将媒体数据组织到轨道;标识轨道子集;提供轨道和轨道子集的特性;以及根据标识的归组准则将轨道组织到多轨道组。
时控媒体数据(以及时控元数据)被逻辑地组织在轨道中。每个轨道提供可以被解码和呈现的媒体内容的表示。在轨道头部框体及其同辈(siblings)中,向轨道提供了各种类型的元数据。轨道选择框体提供了如下属性,其描述该轨道的内容或者将轨道的内容与相同备选组中其他轨道的内容区分(见下文)。轨道中的采样由提供的采样条目进行描述。
可以向轨道提供子集。轨道子集标识了针对整个轨道的媒体数据的子集并且与其相关联。轨道子集提供了通常可以被解码和呈现的媒体内容的表示。
如上文所提到的,ISO基本媒体文件格式及其修订(例如SVC文件格式)支持层次式组织的比特流子集的特性的指示。例如,可伸缩视频(SVC)比特流的子集的特性可以针对层级(其基本上类似于可伸缩层)或整个轨道(其对应于可伸缩层)来被指示。然而,ISO基本媒体文件格式缺乏对指示不同层次分割以及重叠比特流子集(其不具有洋葱壳结构)的支持。多视点视频编码要求两种类型的指示,因为在选择用于输出的视点方面具有灵活性,。
尽管轨道可以通过轨道参考彼此相关联并且可以指示轨道或轨道子集(例如,SVC的层级)的特性,但是ISO基本媒体文件格式或其派生物中没有任何机制来指示轨道或轨道子集的组的特性。这种特性例如可以是要求的类别、等级和解码器缓冲参数。
ISO基本媒体文件格式缺乏指示轨道或轨道子集的组与轨道或轨道子集的另一组之间的关系(普遍因素和差异因素)的机制。这种机制在选择轨道或轨道子集的组进行处理同时忽略其他类似组方面是有用的。例如,可以要求轨道或轨道子集的组用于指示例如多视点视频流的期望输出视点。
多视点视频比特流可以通过各种方式存储在容器文件中,范围从每轨道存储一个视点到每个单一轨道存储所有视点。文件格式的ISO基本媒体文件格式系列中不存在用于指示轨道子集与(潜在其他)轨道的另一子集之间关系的机制。
根据本发明的实施方式,提供了一种用于将多轨道组归组成多轨道组的集合的机制。本发明的实施方式指示针对多轨道组的集合的联合特性和归组标准,并且指示了多轨道组的集合之间的关系。图9中示意性示出了本发明的示例实施方式。
根据本发明的实施方式,提供了将多轨道组归组成多轨道组的集合。进一步,可以支持指示针对多轨道组的集合的联合特性和归组准则。可以指示多轨道组的集合之间的关系,并且可以基于轨道子集形成多轨道组。
注意,图9中的值K、L、M和N可以是任意正整数值并且彼此独立。图9中的‘#’表示针对相应文件格式结构的号或标识符。
现在参考图10,流程图示出了用于组织多媒体数据的示例处理。根据本发明的实施方式,所示处理400将实时多媒体数据存储在多个轨道和/或轨道子集中(块402)。在图9中由参考标号302示出了轨道和/或轨道子集。再次参考图10,基于轨道和/或轨道子集之间的关系标识了轨道和/或轨道子集的一个或多个多轨道组(块404)。在图9中所示的实施方式中,由参考标号304示出了组。例如,组的标识可以包括存储或传输关于组的信息。在本发明的某些实施方式中,处理400可以进一步包括形成至少一个多轨道组集合(块406)。多轨道组集合可以与该多轨道组的一个或多个特性相关联。在图9中,由参考标号306示出了多轨道组的集合。
本发明的实施方式处理多视点视频和多视点音频。具体地,相同内容的多个视点可以是针对多轨道组的归组标准。可以指示针对多视点视频或多视点音频规定的多轨道组的特性。进一步,本发明的实施方式可以提供用于将多于一个多轨道组归组到从多视点媒体渲染、编码或捕获的角度而言具有类似特性的多轨道组的集合。可以指示多轨道组的集合的联合多视点特性和多轨道组的集合之间的多视点关系。
下面根据关于ISO基本媒体文件格式的语法和语义,描述本发明实施方式的示例实现。另外,针对MVC导出多轨道组框体。
根据本发明的实施方式,提供了抽象多轨道组框体,用于对轨道或轨道子集进行归组并且指示它们之间的关系。归组标准由从多轨道组框体继承的框体的四字符代码来指示。在一个实施方式中,描述了一个针对多视点视频的归组准则,但也可以例如针对多描述编码设计其他准则。四字符代码“mvcg”用于针对多视点视频的多轨道组。这里所列举的轨道或轨道子集指示预期的输出视点。轨道子集可以例如是由采样归组机制定义的层级。
根据本发明的实施方式,多轨道组关系框体用于指示所指示的多轨道组之间的关系。由从多轨道组关系框体继承的框体的四字符代码指示列出特定的多轨道组集合的主要准则。根据本发明的实施方式,一个准则可以是切换(‘swtc’),其指示的是,在一个时间应当仅处理(播放或传输)所指示的多轨道组中的一个多轨道组,以及如果需要,则允许在任意时间处的多轨道组之间的切换。也可以实现其他的准则。
由关系属性框体(“ratr”)指示多轨道组中轨道或轨道归组的关系以及具有导出的多轨道组关系框体的多轨道组之间的关系。在一个实施方式中,存在两类关系:对于所有指向的单元而言是常见的那些以及对于指向的单元有区别的那些。为了能够直接解析多轨道组信息,所有的多轨道组框体和多轨道组关系框体可以包含在一个多轨道组容器框体(“mtgc”)中,其包括在电影框体(“moov”)中。
现在参考图11,示出了针对多视点视频具有两个多轨道组框体的文件的简化示例,其表示部分不同的轨道。在此示例中,形成了针对多视点比特流的一个视点的一个轨道。包括切换多轨道组关系框体,以便指示由两个多轨道组形成的多视点流之间的相似性和区别。图11中的虚箭头表示参考。
关系属性框体定义如下:
框体类型:‘ratr’
容器:从多轨道组框体或多轨道组关系框体导出的框体
强制性:否
数量:零个或一个
当关系属性框体包含在多轨道组框体中时,其指示相应多轨道组的轨道或轨道子集彼此之间的关系。当关系属性框体包含在多轨道组关系框体中时,其指示多轨道组彼此之间的关系。对于关系属性框体的语义而言,当关系属性框体包含在多轨道组框体中时,将单元指定为轨道或轨道子集,以及当关系属性框体包含在多轨道组关系框体中时,将单元指定为多轨道组。
关系属性框体中的语法元素的语法和语义如下:
aligned(8)class RelationAttributeBox
extends FullBox(′ratr′,version=0,flags){
unsigned int(16)reserved;
unsigned int(16)num_common_attributes;
for(i=0;i<num_common_attributes;i++)
unsigned int(32)common_attribute;
unsigned int(16)reserved;
unsigned int(16)num_differentiating_attributes;
for(i=0;i<num_differentiating_attributes;i++)
unsigned int(32)diffentiating_attribute ;
}
common_attribute和differentiating_attribute选自如下列表。可以用作区分属性的属性与到区别字段或信息的指针相关联。
Figure BPA00001317725300451
所有单元共享相同共同属性或共同属性联合表征所有的单元。区分属性指示基于此属性至少一个单元不同于其他的单元。区分属性的指针指示一个单元区别于具有相同属性的其他单元的信息的位置。多轨道组容器框体定义如下:
框体类型:‘mtgc’
容器:电影框体(‘moov’)
强制性:否
数量:零个或一个
此框体包含类型化的多轨道组框体。多轨道组容器框体中的语法元素的语法和语义如下:
aligned(8)class MultiTrackGroupContainerBox
extends FullBox(′mtgc′,version=0,flags){
}
多轨道组框体定义如下:
框体类型:针对每个多轨道组类型登记
容器:多轨道组容器框体(‘mtgc’)
强制性:否
数量:零个或多个
多轨道组框体中的语法元素的语法和语义如下:
aligned(8)class MultiTrackGroupBox(unsigned int(32)
multi_track_group_type)extends FullBox(multi_track_group_type,version
=0,flags){
unsigned int(32)multi_track_group_id;
unsigned int(16)num_entries;
for(i=0;i<num_entries;i++){
unsigned int(8)entry_type ;
if(entry_type==0)
unsigned int(32)track id;
else if(entry_type==1){
unsigned int(32)track_id;
unsigned int(16)tier_id;
}
else if(entry_type==2){
unsigned int(32)track_id;
unsigned int(32)grouping_type ;
unsigned int(8)grouping_flags;
if  (grouping_flags&1)
unsigned int(32)grouping_type_parameter;
unsigned int(32)num_group_description_indexes;
for(j=0;j<num_group_description_indexes;j++)
unsigned int(32)group_description_index;
}
else if(entry_type==3){
unsigned int(32)track_id;
unsigned int(8)priority_layer;
}
else if(entry_type==4){
unsigned int(32)track_id;
unsigned int(8)priority_assignment_method_index;
unsigned int(2)reserved;
unsigned int(6)max_priority_id ;
}
else if(entry_type==5){
unsigned int(32)track_id;
unsigned int(32)num_subsample_entries;
for(j=0;j<num_subsample_entries;j++){
unsigned int(8)min_subsample_priority;
unsigned int(8)max_subsample_priority;
unsigned int(8)discardable_required;
unsigned int(32)mask_one_bit_required;
unsigned int(32)mask_zero_bit_required;
}
}
else if(entry_type==6){
unsigned int(32)track_id;
unsigned int(16)max_degradation_priority ;
}
else if (entry_type==7){
unsigned int(32)track_id;
unsigned int(15)adaptation_path_id;
unsigned int(1)reserved;
}
}
RelationAttributeBox relation_attribute_box;
}
multi_track_group_id向文件内的多轨道组提供了唯一的标识符。relation_attribute_box包含所指示的轨道或轨道子集之间的关系。num_entries是包括在此多轨道组中的轨道和轨道子集的数量。
entry_type指示跟随有哪种类型的轨道或轨道子集。指定了entry_type的下面值:
0-整个轨道
1-轨道内的层级
2-与特定采样分组的特定组相关联的采样
3-SVC的优先级层
4-某个priority_id范围的SVC/MVC比特流子集
5-只包含所有采样的特定子采样的流
6-只包含特定降级优先级范围内的采样的流
7-只包含特定自适应路径的流
track_id指示轨道。tier_id指示(SVC或MVC的)轨道内的层级。grouping_type指示哪些采样组描述框体与采样到组框体相关联。
如果针对ISO基本媒体文件格式第3版(MPEG文档N9826)的草案修订1中规定grouping_type_parameter,则应当设置grouping_flags的最低有效位。grouping_type_parameter另外用于指示哪个组描述框体与采样到组框体相关联。
group_description_index指示形成轨道子集的相关联采样到组框体中的那些采样的索引。
priority_layer指示哪个priority_layer用于形成轨道子集。当参考优先级层时,track_id应当指向包含适当优先级层声明的SVC的时控元数据轨道。
num_subsample_entries指示定义哪些子采样包括在轨道子集中的条目数量。min_subsample_priority和max_subsample_priority指示包括在轨道子集中的子采样优先级范围。
discardable_required等于0指示具有可丢弃字段等于0的采样没有包括在轨道子集中。discardable_required等于1指示具有可丢弃字段等于1的采样没有包括在轨道子集中。discardable_required等于2指示当选择针对轨道子集的采样时,忽略可丢弃字段。
mask_one_bit_required向子采样信息框体的预留字段提供掩码。当(mask_one_bit_required&reserved)==mask_one_bit_required(&是按位方式与),对应的子采样包括在(假设还满足所有其他的准则)轨道子集中。
mask_zero_bit_required向子采样信息框体的预留字段提供掩码。当(mask_zero_bit_required&reserved)==0时,对应的子采样包括在(假设还满足所有其他的准则)轨道子集中。
当entry_type为6时,具有0到max_degradation_priority范围中降级优先级的采样包括在轨道子集中(这假设降级优先级0标记最重要的数据并且当降级优先级增加时,重要性下降)。
adaptation_path_id指示哪个自适应路径提供轨道子集。针对多视点视频的多轨道组框体定义如下:
框体类型:‘mvcg’
容器:多轨道组容器框体(‘mtgc’)
强制性:否
数量:零个或多个
此框体规定用于输出的多视点视频流的视点的多轨道组。包括在该框体中的每个轨道或轨道子集旨在被输出。如果轨道或轨道子集包含多个视点,则所有包含的视点旨在被输出。
解码输出视点可能要求解码不旨在输出的其他视点。要求解码但不旨在输出的视点可以从‘mvpr’轨道参考和内容层级依赖性框体推出。针对多视点视频的多轨道组框体中的语法元素的语法和语义如下:
aligned(8)class MultiviewVideoMultiTrackGroupBox()extends
MultiTrackGroupBox(′mvcg′,version=0,flags){
TierInfoBox subset_stream_info;//mandatory
TierBitRateBox subset_stream_bit_rate;//optional
BufferingBox subset_stream_buffering;//optional
InitialParameterSetBox subset_stream_initial_parameter_sets;//
optional
MultiviewSceneInfoBox multiview_scene_info;//optional
}
注意,除了在早先出现的层级信息框体、层级比特率框体和缓冲框体的定义中提到的那些允许的容器框体以外,还必须允许层级信息框体、层级比特率框体和缓冲框体出现在针对多视点视频的多轨道组框体中。
relation_attribute_box包括在多轨道组框体中,用于指示输出视点之间的关系。如果‘ecam’被用作共同属性,则所有的输出视点都与具有相同旋转和恒定并行间距的外部照相机参数相关联。如果‘ecam’被用作区分属性,则一个输出视点与具有有别于其他视点的旋转的外部照相机参数相关联,或者该输出视点与不具有恒定并行间距的外部照相机参数相关联。
subset_stream_info指示包含所指示的输出视点及其依赖的视点的比特流子集的特性。
subset_stream_bit_rate指示包含所指示的输出视点及其依赖的视点的比特流子集的比特率特性。没有指定层级比特率框体内层级基本比特率、层级最大比特率和层级平均比特率的值。
subset_stream_buffering指示假定参考解码器(HRD)参数,其应用于包含所指示的输出视点及其依赖的视点的比特流子集。
subset_stream_initial_parameter_sets包括需要用于解码包含所指示的输出视点及其依赖的视点的比特流子集的参数集。
multiview_scene_info包含任何访问单元中任何间距邻近输出视点之间整体像素分辨率的单元中的最大差别。
多轨道组关系框体定义如下:
框体类型:针对每个关系类型登记
容器:多轨道组容器框体(‘mtgc’)
强制性:否
数量:零个或多个
此抽象框体提供了一种机制,用于指示多轨道组及其彼此之间的关系。导出框体的框体类型指示用于将所指示的多轨道组一起进行归组的准则。多轨道组关系框体中的语法元素的语法和语义如下:
aligned(8)class MultiTrackGroupRelationBox  ()extends
FullBox(multi_track_group_relation_type,version =0,flags){
unsigned int(32)num_entries;
for(i=0;i<num_entries;i++)
unsigned int(32)multi_track_group_id;
RelationAttributesBox relation_attributes;
}
num_entries指示相关联的多轨道组的数量。multi_track_group_id是相关联的多轨道组的标识符。relation_attributes指示相关联的多轨道组之间的关系。
切换多轨道组关系框体定义如下:
框体类型:swtc
容器:多轨道组容器框体(‘mtgc’)
强制性:否
数量:零个或多个
该框体指定多轨道组的集合,从中一个多轨道组在任意时间被解码和播放。给定的关系属性规定哪些特征在所有相关联的多轨道组中是共同的,以及哪些因素使得多轨道组彼此不同。关系属性可以用于例如基于在多视点视频内容的情况中输出视点的数量来选择用来回放的多轨道组的适当集合。区分属性可以用于例如基于解码要求的等级来选择该集合中的哪个多轨道组适于播放器。
针对切换多轨道组关系框体的语法如下:
aligned(8)class MultiviewVideoMultiTrackGroupRelationBox ()extends
MultiTrackGroupRelationBox(′swtc′,version =0,flags){
}
在切换多轨道组关系框体中列出的多轨道组的顺序可以指示偏好顺序。例如,首先指示的多轨道组可以是用于回放的优选的一个(由内容创建者裁决)。
参考图12中所示示例描述所提出的文件格式结构的使用。示例比特流包含三个视点。视点0是AVC兼容的基本视点。用于在视点2内帧间预测的参考图片是来自视点0的视点间预测,以及用于在视点1内帧间预测的参考图片是来自视点0和视点1的视点间预测。每个视点具有两个时间等级,由被编码成非参考图片的每个视点中的每个其他视点组件支持。用于获取视点的照相机并行放置,并且在捕获布置中两个相邻照相机之间的距离保持不变。照相机指向相同方向(即,其旋转是相同的),并且它们是相同类型(即,固有照相机参数是相同的)。
图13-图15示出了用于将示例比特流存储到容器文件中的可能方式。在图13中,分别针对每个视点形成轨道。针对存储基本视点的轨道的采样条目为‘avc 1’。其他两个轨道利用类型‘mvpr’的轨道参考进行标记,其指示解码包含该轨道参考的轨道所需的轨道。
以下伪代码片段定义四个多轨道组。多轨道组1包括视点0和1(轨道#1和#2);多轨道组2包括视点1和2(轨道#2和#3);多轨道组3包括视点0和2(轨道#1和#3);以及多轨道组4包括所有的视点。针对每个多轨道组定义相同的共同属性和区分属性。由于帧速率以及固有照相机参数和外部照相机参数在所有视点中保持相同,因此它们被命名为共同参数。编解码器从轨道#1中的AVC(‘avc’采样条目)变化到其他轨道中的MVC(‘mvc 1’采样条目),因此它被作为区分属性提到。在该示例中还假设所需的等级不同,视点根据这些等级进行解码(这在大多数编码布置中很有可能)。
然后,伪代码指定类型‘switch’的三个多轨道组关系框体。第一关系框体列出所有定义的多轨道组。它们的共同属性是帧速率、固有照相机参数、编解码器(当所有情况下的采样条目的集合包括‘avc 1’和‘mvc 1’时)以及类别(当类别的集合包括针对基本视点类别和选定的多视点类别时)。区分参数是输出视点的数量(在此示例中范围从2到3)、外部照相机参数(当多轨道组3中用于输出视点的照相机之间的距离有别于其他多轨道组的距离时)以及等级。能够显示任意多视点内容的播放器可以基于此关系框体选择用于回放的多轨道组。
第二关系框体列出多轨道组1、2和3。除了输出视点的数量现在为共同属性(在所有列出的多轨道组中其值为2),共同参数和区分参数针对第一关系框体是相同的。能够显示任意2视点内容的播放器(例如,通过使用电子快门)可以基于此关系框体来选择用于回放的多轨道组。
第三关系框体列出了多轨道组1和2。除了外部照相机参数现在为共同属性(因为在用于输出视点的照相机之间的间距距离在所列多轨道组中是相同的)之外,共同参数和区分参数对于第二关系框体是相同的。要求所显示视点的明确相互关系的播放器(例如,用于在自动立体显示器上的显示)可以基于此关系框体来选择用于回放的多轨道组。
mtgc {
mvcg  {
multi_track_group_id=1;
{
entry_type[0]=0;
track_id[0]=1;
entry_type[1]=0;
track_id[1]=2;
}
relation_attribute_box  {
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′ecam′;
differentiating_attribute[0]=′cdec′;
differentiating_attribute[1]=′levl′;
}
}
mvcg{
multi_track_group_id=2;
{
entry_type[0]=0;
track_id[0]=2;
entry_type[1]=0;
track_id[1]=3;
}
relation_attribute box  {
common_attribute[0]=′frar′;
common_attribute [1]=′icam′;
common_attribute[2]=′ecam′;
differentiating_attribute[0]=′cdec′;
differentiating_attribute[1]=′levl′;
}
}
mvcg{
multi_track_group_id=3;
{
entry_type[0]=0;
track_id[0]=1;
entry_type[1]=0;
track_id[1]=3;
}
relation_attribute_box  {
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_ attribute[2]=′ecam′;
differentiating_attribute[0]=′cdec′;
differentiating_attribute[1]=′levl′;
}
}
mvcg{
multi_track_group_id=4;
{
entry_type[0]=0;
track_id[0]=1;
entry_type[1]=0;
track_id[1]=2;
entry_type[2]=0;
track_id[2]=3;
}
relation_attribute_box  {
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′ecam′;
differentiating_attribute[0]=′cdec′;
differentiating_attribute[1]=′levl′;
}
}
swtc  {//#1
{
multi_track_group_id[0]=1;
multi_track_group_id[1]=2;
multi_track_group_id[2]=3;
multi_track_group_id[3]=4;
}
relation_attributes  {
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′cdec′;
common_attribute[3]=′prfl′;
differentiating_attribute[0]=′nvws′;
differentiating_attribute[1]=′ecam′;
differentiating_attribute[2]=′levl′;
}
}
swtc  {//#2
{
multi_track_group_id[0]=1;
multi_track_group_id[1]=2;
multi_track_group_id[2]=3;
}
relation_attributes  {
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′cdec′;
common_attribute[3]=′prfl′;
common_attribute[4]=′nvws′;
differentiating_attribute[0]=′ecam′;
differentiating_attribute[1]=′levl′;
}
}
swtc {//#3
{
multi_track_group  id[0]=1;
multi_track_group__id[1]=2;
}
relation attributes{
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′cdec′;
common_attribute[3]=′prfl′;
common_attribute[4]=′nvws′;
common_attribute[5]=′ecam′;
differentiating_attribute[0]=′levl′;
}
}
}
图14呈现了一种文件,其中轨道包括所有的视点。因为AVC文件阅读器可以解析和解码轨道,所以针对存储基本视点的轨道的采样条目为‘avc 1’。该采样条目包含MVC解码器配置记录。使用采样组机制对轨道规定三个层级,每个层级包括一个视点。相对于图13的伪代码而言,以下的伪代码在语义上是相同的。‘==’指示关于图13的伪代码,该结构的内容保存不变。可以看出结构并没有改变超出针对多轨道组的元素的指示,其中相比较于如图13的示例中指示整个轨道而言,要求不同的机制来指示轨道内的层级。
mtgc{
mvcg{
multi_track_group_id=1;
{
entry_type[0]=1;
track_id[0]=1;
tier_id[0]=1;
entry_type[1]=1;
track_id[1]=1;
tier_id[1]=3;
}
relation_attribute_box  {
===
}
}
mvcg{
multi_track_group_id=2;
{
entry_type[0]=1;
track_id[0]=1;
tier_id[0]=3;
entry_type[1]=1;
track_id[1]=1;
tier_id[1]=2;
}
relation_attribute_box  {
===
}
}
mvcg{
multi_track_group_id=3;
{
entry_type[0]=1;
track_id[0]=1;
tier_id[0]=1;
entry_type[1]=1;
track_id[1]=1;
tier_id[1]=2;
}
relation_attribute_box  {
===
}
}
mvcg{
multi_track_group_id=4;
{
entry_type[0]=1;
track_id[0]=1;
tier_id[0]=1;
entry_type[1]=1;
track_id[1]=1;
tier_id[1]=3;
entry_type[2]=1;
track_id[2]=1;
tier_id[2]=2;
}
relation_attribute_box  {
===
}
}
swtc  {//#1
===
}
swtc  {//#2
===
}
swtc  {//#3
===
}
}
注意,提出的机制对于处理包含不同数量的视点的轨道而言足够灵活。在图15中,示例的比特流以如下方式进行存储,即基本视点形成轨道而其他的视点形成另一轨道。
使用采样组机制对第二轨道规定两个层级,每个层级包括一个视点。
相比较于图13和图14的伪代码部分,以下伪代码语义上是相同的。
mtgc{
mvcg{
multi_track_group_id=1;
{
entry_type[0]=0;
track_id[0]=1;
entry_type[1]=1;
track_id[1]=2;
tier_id[1]=2;
}
relation attribute box  {
===
}
}
mvcg{
multi_track_group_id  =2;
{
entry_type[0]=1;
track_id[0]=2;
tier_id[0]=2;
entry_type[1]=1;
track_id[1]=2;
tier_id[1]=1;
}
relation_attribute_box  {
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′ecam′;
common_attribute[3]=′cdec′;
differentiating_attribute[1]=′levl′;
}
}
mvcg {
multi_track_group_id=3;
{
entry_type[0]=0;
track_id[0]=1;
entry_type [1]=1;
track_id[1]=2;
tier_id[1]=1;
}
relation_attribute_box  {
===
}
}
mvcg {
multi_track_group_id=4;
{
entry_type[0]=0;
track_id[0]=1;
entry_type[1]=1;
track_id [1]=2;
tier_id[1]=2;
entry_type[2]=1;
track_id[2]=2;
tier_id [2]=1;
}
relation_attribute_box  {
===
}
}
swtc  {//#1
===
}
swtc{//#2
===
}
swtc{//#3
===
}
}
下面根据与ISO基本媒体文件格式相关的语法和语义描述本发明实施方式的另一示例实现。多视点组容器框体定义如下。
框体类型:‘mvgc’
容器:电影框体(‘moov’)
强制性:否
数量:零个或一个
此框体包含多视点组框体和多视点组关系框体。多视点组容器框体的语法规定如下。
aligned(8)class MultiviewGroupContainerBox
extends FullBox(′mvgc′,version=0,flags){
}
多视点组框体定义如下。
框体类型:‘mvcg’
容器:多视点组容器框体(‘mvgc’)
强制性:否
数量:一个或多个
该框体规定用于输出的多视点视频流的视点的多视点组。包括在该框体中的轨道或层级中的每个视点旨在被输出。如果包括在该框体中的轨道或层级包含多个视点,则所有包含的视点旨在用于输出。解码输出视点可能要求解码不旨在输出的其他视点。要求解码但不旨在输出的视点可以从‘mvpr’轨道参考或从层级依赖性框体中推出。
多视点组框体的语法规定如下:
aligned(8)class MultiviewGroupBox extends FullBox(′mvcg′,version=0,
flags){
unsigned int(32)multiview_group_id;
unsigned int(16)num_entries;
for(i=0;i<num_entries;i++){
unsigned int(8)entry_type;
if(entry_type==0)
unsigned int(32)track_id;
else  if(entry_type==1){
unsigned int(32)track_id;
unsigned int(16)tier_id;
}
}
TierInfoBox subset_stream_info;//mandatory
MultiviewRelationAttributeBox relation_attributes ;//optional
TierBitRateBox subset_stream_bit_rate ;//optional
BufferingBox subset_stream_buffering;//optional
MultiviewSceneInfoBox multiview_scene_info;//optional
}
注意,除了在早先出现的层级信息框体、层级比特率框体和缓冲框体的定义中提到的那些允许的容器框体以外,还必须允许层级信息框体、层级比特率框体和缓冲框体出现在多视点组框体中。
多视点组框体的语义规定如下。
multiview_group_id向文件内的多视点组提供唯一的标识符。
num_entries是包括在此多视点组中的轨道和层级的数量。
entry_type指示跟随有哪种类型的轨道或层级。规定了entry_type的下面值:0-整个轨道;1-轨道中的层级。
track_id指示轨道。
tier_id指示轨道内的层级。
subset_stream_info指示包含所指示的输出视点及其依赖的视点的比特流子集的特性。
relation_attribute指示输出视点之间的关系。如果‘ecam’被用作共同属性,则所有的输出视点都与指示照相机具有相同的旋转和恒定间距并且是并行的(即彼此平行)的外部照相机参数相关联。如果‘ecam’被用作区分属性,则一个输出视点与具有有别于其他视点的旋转的外部照相机参数相关联,或者输出视点与不具有恒定并行间距的外部照相机参数相关联。
subset_stream_bit_rate指示包含指示的输出视点及其依赖的视点的比特流子集的比特率统计。没有规定层级比特率框体内的层级平均比特率、层级基本比特率和层级最大比特率的值。
subset_stream_buffering指示HRD参数,其应用于包含指示的输出视点及其依赖的视点的比特流子集。
multiview_scene_info包含任何访问单元中的任何空间邻近输出视点之间整体像素分辨率单元中的最大差异。
多视点组框体可以通过附加包括其他的框体来扩展。
多视点组关系框体定义如下。
框体类型:swtc
容器:多视点组容器框体(‘mvgc’)
强制性:否
数量:零个或多个
此框体规定多视点组的集合,从中一个多视点组可以在任意时间进行解码和播放。给定的关系属性规定哪些特征在所有相关联的多视点组中是共同的,以及哪些因素使得多视点组彼此不同。关系属性可以用于例如基于输出视点的数量来选择用来回放的多视点组的适当集合。区分属性可以用于例如基于解码要求的等级来选择该集合内的哪个多视点组适于播放器。
多视点组关系框体的语法规定如下。
aligned(8)class MultiviewGroupRelationBox()extends FullBox(,version
=0,flags){
unsigned int(32)num_entries ;
for(i=0;i<num_entries;i++)
unsigned int(32)multiview_group_id;
MultiviewRelationAttributeBox relation_attributes ;
}
多视点组关系框体的语义规定如下。num_entries指示相关联的多视点组的数量。multiview_group_id是相关联的多视点组的标识符。relation_attributes指示相关联的多视点组之间的关系。
多视点关系属性框体定义如下。
框体类型:‘mvra’
容器:多视点组框体或多视点组关系框体
强制性:否
数量:零个或一个
当多视点关系属性框体包含在多视点组框体中时,其指示相应多视点组的轨道或层级彼此之间的关系。当多视点关系属性框体包含在多视点组关系框体中时,其指示多视点组彼此之间的关系。
多视点关系属性框体的语法规定如下。
aligned(8)class MultiviewRelationAttributeBox
extends  FullBox(′mvra′,version=0,flags){
unsigned int(16)reserved;
unsigned int(16)num_common_attributes;
for(i=0;i<num_common_attributes;i++)
unsigned int(32)common_attribute;
unsigned int(16)reserved;
unsigned int(16)num_differentiating_attributes;
for  (i=0;i<num_differentiating_attributes;i++)
unsigned int(32)diffentiating_attribute;
}
对于多视点关系属性框体的语义,当多视点关系属性框体包含在多视点组框体中时,将单元规定为轨道或层级,并且当多视点关系属性框体包含在多视点组关系框体中时,将单元规定为输出视点的组。common_attribute和differentiating_attribute选自如下列表。可以用作区分属性的属性与到字段或信息的区别指针相关联。
Figure BPA00001317725300621
所有单元共享相同的共同属性或共同属性联合表征所有的单元。区分属性指示基于此属性有别于其他单元的至少一个单元。区分属性的指针指示将一个单元与具有相同属性的其他单元区分的信息的位置。
以下伪代码定义了四个多视点组,等同于先前示例的伪代码(某些字段如num_entries、num_common_attributes和num_differentiating_attributes没有被包括)。多视点组1包括视点0和1(轨道#1和#2);多视点组2包括视点1和2(轨道#2和#3);多视点组3包括视点0和2(轨道#1和#3);以及多视点组4包括所有的视点。针对每个多视点组定义相同的共同属性和区分属性。由于帧速率以及固有照相机参数和外部照相机参数在所有的视点中保持相同,因此它们被命名为共同参数。在该示例中还假设依赖于解码哪些视点,所要求的等级也不相同(这在大多数的编码布置中很有可能)。
伪代码接着指定三个多视点组关系框体(再次,某些字段如num_entries、num_common_attributes和num_differentiating_attributes没有被包括)。第一关系框体列出所有定义的多视点组。它们的共同属性是帧速率、固有照相机参数以及类别(当类别的集合包括针对基本视点的类别和选定的多视点类别时)。区分参数是输出视点的数量(在此示例中范围从2到3)、外部照相机参数(因为多视点组3中用于输出视点的照相机之间的距离不同于其他多视点组的)以及等级。能够显示任意多视点内容的播放器可以基于此关系框体选择用于回放的多视点组。
第二关系框体列出多视点组1、2和3。除了输出视点的数量现在为共同属性(在所有列出的多视点组中其值为2),共同参数和区分参数对于第一关系框体是相同的。能够显示任意2视点内容的播放器(例如,通过使用电子快门)可以基于此关系框体选择用于回放的多视点组。第三关系框体列出多视点组1和2。除了外部照相机参数现在为共同属性(因为在用于输出视点的照相机之间的空间距离在所列的多视点组中是相同的),共同参数和区分参数对于第二关系框体是相同的。要求所显示视点(例如,用于在自动立体显示器上显示)的明确相互关系的播放器可以基于此关系框体选择用于回放的多视点组。
mvgc {
mvcg{
multiview_group_id=1;
{
entry_type[0]=0;
track_id[0]=1;
entry_type[1]=0;
track_id[1]=2;
}
relation_attribute_box{
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′ecam′;
differentiating_attribute[0]=′levl′;
}
}
mvcg  {
multiview_group_id=2;
{
entry_type[0]=0;
track_id[0]=2;
entry_type[1]=0;
track_id[1]=3;
}
relation_attribute_box  {
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′ecam′;
differentiating_attribute[0]=′levl,;
}
}
mvcg{
multiview_group_id=3;
{
entry_type[0]=0;
track_id[0]=1;
entry_type[1]=0;
track_id[1]=3;
}
relation_attribute_box  {
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′ecam′;
differentiating_attribute[0]=′levl′;
}
}
mvcg{
multiview_group_id=4;
{
entry_type[0]=0;
track_id[0]=1;
entry_type[1]=0;
track_id[1]=2;
entry_type[2]=0;
track_id[2]=3;
}
relation_attribute_box{
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′ecam′;
differentiating_attribute[0]=′levl′;
}
}
swtc  {//#1
{
multiview_group_id[0]=1;
multiview_group_id[1]=2;
multiview_group_id[2]=3;
multiview_group_id[3]=4;
}
relation_attributes{
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′prfl′;
differentiating_attribute[0]=′nvws′;
differentiating_attribute[1]=′ecam′;
differentiating_attribute[2]=′levl′;
}
}
swt c{//#2
{
multiview_group_id[0]=1;
multiview_group_id[1]=2;
multiview_group_id[2]=3;
}
relation_attributes {
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′prfl′;
common_attribute[3]=′nvws′;
differentiating_attribute[0]=′ecam′;
differentiating_attribute[1]=′levl′;
}
}
swtc{//#3
{
multiview_group_id[0]=1;
multiview_group_id[1]=2;
}
relation_attributes{
common_attribute[0]=′frar′;
common_attribute[1]=′icam′;
common_attribute[2]=′prfl′;
common_attribute[3]=′nvws′;
common_attribute[4]=′ecam′;
differentiating_attribute[0]=′levl′;
}
}
}
下面根据与ISO基本媒体文件格式相关的语法和语义描述了本发明实施方式的另一示例实现。具体地,使用了即将发布的第3版ISO基本媒体文件格式修订1的grouping_type_parameter特征。当采样到组框体和采样组描述框体的版本号高于早期规定的版本号,则grouping_type_pararneter包括在它们中。当grouping_type_pararneter出现时,采样到组框体和采样组描述框体的多个实例被允许具有相同容器框体中的相同grouping_type值。每个实例由grouping_type_parameter标识。在本实施方式中,针对‘mvif’采样归组的grouping_type_parameter  用于标识相比较于不同grouping_type_parameter值的‘mvif’采样归组,不同的输出视点集合。grouping_type_parameter等同于先前示例的multiview_group_id。以如下方式修改多视点组条目,其中可以指示哪些归组ID值或层级ID值不旨在用于输出或要求用于解码。类型‘mvif’的采样组描述框体还包含例如使用多视点关系属性框体指示的视点的联合和区分特性以及关系。否则,先前的任意一个示例可以与此示例一起使用,用于指示多轨道组的特性及其之间的关系。
在本发明的各种实施方式中,多轨道组的指示用于将两个文件格式结构彼此相关联。常规地,轨道参考(或对包括在特定轨道参考框体中的列表的索引)已经用于将结构彼此关联。例如,SVC文件格式的提取器使用类型‘scal’的轨道参考框体的索引来标识轨道,从该轨道通过参考将数据包括至当前轨道。类似地,存在针对RTP提示轨道采样的构造器,通过使用媒体轨道的轨道标识符从那些媒体轨道参考来包括数据。
使用如图16中所示的通过多轨道组参考的一个例子来描述一个实施方式。该图呈现了多视点比特流及其视点间预测层次。视点1和2从基本视点预测,而视点3从视点0和1预测,以及视点4从视点0和2预测。还有与视点1和2相关联的SEI消息,例如,通过将SEI消息包括在MVC可伸缩嵌套SEI消息中。
当图16中呈现的比特流以将视点1和2存储在单独的轨道的方式存储在文件中时,出现将SEI NAL单元存储在哪的问题。针对SEINAL单元的存储存在若干个选择,至少包括以下选择。
SEI NAL单元可以被复制并且包括在其应用的每个轨道中。这会导致文件大小增加。此外,当视点1和2两者都包括在解码的比特流中时,可能不确定解码器如何处理SEI消息的复制。此外,编码器已经创建了仅包括一个SEI消息的副本的比特流,并且该比特流的缓冲顺从性已经被相应调整和发信号通知。SEI消息的复制可以使得由文件解析器创建的流的缓冲顺从性失败。
SEI NAL单元可以包括在参数集轨道中。通过包括针对视点1和2的轨道的适当采样中的提取器(或类似物),针对视点1和2的轨道可以明确地包括(通过参考)SEI NAL单元。
SEI NAL单元可以包括在参数集轨道中。针对该参数集轨道的采样格式可以包括SEI NAL单元应用的多轨道组标识符的列表。备选地,针对该参数集轨道的采样格式可以包括SEI NAL单元应用的视点标识符的列表。当播放文件时,解析器选择适当多轨道组用于解码。如果SEI NAL单元被指示对于该多轨道组有效,则其包括在针对该解码器重构的访问单元中。
呈现了另一实施方式,其中多轨道组的指示用于将两个文件格式结构相关联。采样的解码时间等同于H.264/AVC、SVC和MVC的HRD编码图片缓冲器(CPB)移除时间。针对特定访问单元的CPB移除时间依赖于针对该访问单元和先前访问单元提出的NAL单元。因此,如果导出了比特流子集,则原始比特流的CPB移除时间可能不再正确。因此,针对每个比特流子集应当提供CPB移除时间的不同集合以及针对采样的相应解码时间。由于将不同轨道中的MVC采样关联到相同的访问单元是在采样的解码时间过程中完成的,因此将相同的访问单元的所有采样的解码时间设置到相同的值是有益的,该值可以不对应于任何比特流子集的CPB移除时间(但可以等于适于整个比特流的CPB移除时间)。可以规定多视点解码重计时框体,以便包括针对每个采样的差量时间值和多视点组标识符,当添加到该采样的解码时间时,其向相应的访问单元提供了CPB移除时间,可应用于由多视点组规定的比特流子集。备选地,多视点解码重计时采样归组可以类似于SVC文件格式的解码重计时组那样规定,但是通过其标识符链接到特定的多视点组。
图17示出了其中可以利用本发明的各种实施方式的系统10,包括能够通过一个或多个网络通信的多个通信设备。系统10可以包括有线网络或无线网络的任意组合,其包括但不限于,移动电话网络、无线局域网(LAN)、蓝牙个域网络、以太网LAN、令牌环LAN、广域网、因特网等。系统10可以包括有线和无线通信设备二者。
例如,图17中示出的系统10包括移动电话网络11和因特网28。到因特网28的连接可以包括但不限于,长距离无线连接、短距离无线连接、以及包括但不限于电话线、缆线、电力线等的各种有线连接。
系统10的示例性通信设备可以包括但不限于以移动电话形式出现的电子设备12、组合的个人数字助理(PDA)和移动电话14、PDA16、集成的消息收发设备(IMD)18、台式计算机20、以及笔记本计算机22等。通信设备可以是静止的或当其被正在移动的个人携带时可以是移动的。通信设备还可以处于运输工具模式中,这些运输工具包括但不限于汽车、卡车、出租车、公共汽车、火车、轮船、飞机、自行车、摩托车等。通信设备中的某些或全部可以发送和接收呼叫和消息,并且可以通过到基站24的无线连接25与服务提供商通信。基站24可以连接到网络服务器26,该网络服务器26允许在移动电话网络11与因特网28之间通信。系统10可以包括另外的通信设备和不同类型的通信设备。
通信设备可以使用各种传输技术进行通信,这些传输技术包括但不限于,码分多址(CDMA)、全球移动通信系统(GSM)、通用移动通信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议/因特网协议(TCP/IP)、短消息收发服务(SMS)、多媒体消息收发服务(MMS)、电子邮件、即时消息收发服务(IMS)、蓝牙、IEEE 802.11等。用于实现本发明的各种实施方式的通信设备可以使用各种介质进行通信,这些介质包括但不限于无线电、红外、激光、电缆连接等。
图18和图19示出了根据本发明的各种实施方式可以用作网络节点的一个代表性电子设备28。但是,应当理解的是本发明的范围并不旨在限于一种特定类型的设备。图18和图19的电子设备28包括机壳30、以液晶显示器形式出现的显示器32、小键盘34、麦克风36、耳机38、电池40、红外端口42、天线44、根据一个实施方式的以UICC形式出现的智能卡46、读卡器48、无线接口电路52、编解码器电路54、控制器56和存储器58。上文所述组件使得电子设备28能够根据本发明的各种实施方式向可以驻留在网络上的其他设备发送各种消息或从其接收各种消息。各个电路和元件都是本领域公知的类型,例如在诺基亚移动电话的范围内。
图20是其中可以实现本发明的各种实施方式的通用多媒体通信系统的图形表示。如图20所示,数据源100以模拟、未压缩数字、或压缩数字格式或这些格式的任意组合提供源信号。编码器110将源信号编码成已编码媒体比特流。应当指出,将要解码的比特率可以直接或间接地从位于几乎任意类型网络中的远程设备接收。另外,比特流可以从本地硬件或软件接收。编码器110能够对不止一个媒体类型(例如,音频和视频)进行编码,或者可能需要不止一个编码器110以对源信号的不同媒体类型进行编码。编码器110还可以得到合成产生的输入(例如图形和文本)或者其能够产生合成媒体的已编码比特流。在下文中,仅考虑对一个媒体类型的一个已编码媒体比特流进行处理,以便简化描述。然而,应当指出,通常实时广播服务包括若干流(通常,至少一个音频、视频和文本字幕流)。还应当指出,系统可以包括很多编码器,但在图20中,不失一般性地,仅表示出一个编码器110,以简化描述。还应当理解,虽然这里包含的文本和示例可以明确地描述编码过程,但本领域技术人员应当理解,相同的概念和原理还可以应用于对应的解码过程并且反之亦然。
已编码媒体比特流传输至存储设备120。存储设备120可以包括任何类型的海量存储器,以存储已编码的媒体比特流。存储设备120中已编码媒体比特流的格式可以是基本自包含的比特流格式,或者一个或多个已编码比特流可以封装至容器文件中。如果一个或多个已编码比特流封装至容器文件中,则文件生成器(未在图中示出)用于将一个或多个媒体比特流存储在文件中并且创建文件格式元数据,该文件格式元数据也存储在该文件中。编码器110或存储设备120可以包括文件生成器,或者文件生成器操作地附接到编码器110或存储设备120。某些系统操作“直播”,即,省略存储设备而直接将已编码媒体比特流从编码器110传输至发送器130。已编码媒体比特流随后传输至发送器130,根据需要,其也称为服务器。在传输中使用的格式可以是基本自包含的比特流格式、分组流格式,或者一个或多个已编码媒体比特流可以封装至容器文件中。编码器110、存储设备120和服务器130可以位于同一物理设备中,或者它们可以包括在单独的设备中。编码器110和服务器130可以利用直播实时内容进行操作,在该情况下,已编码媒体比特流通常不会永久性地存储,而是在内容编码器110和/或服务器130中缓冲一小段时间,以平滑处理延迟、传输延迟和已编码媒体比特率中的变化。
服务器130使用通信协议栈来发送已编码媒体比特流。栈可以包括但不限于实时传输协议(RTP)、用户数据报协议(UDP)和因特网协议(IP)。当通信协议栈是面向分组时,服务器130将已编码媒体比特流封装至分组中。例如,当使用RTP时,服务器130根据RTP净荷格式将已编码媒体比特流封装至RTP分组中。通常,每个媒体类型具有专用RTP净荷格式。再次需要指出,系统可以包含不止一个服务器130,但是为了简化起见,以下描述仅考虑一个服务器130。
如果媒体内容封装在容器文件中以用于存储设备120或者用于将数据输入到发送器130,则发送器130可以包括或者可操作地附接到“发送文件解析器”(图中未示出)。具体地,如果容器文件没有按此传输但包含的编码媒体比特流的至少一个被封装用于通过通信协议传输,发送文件解析器定位将要通过通信协议传送的已编码媒体比特流的适当部分。发送文件解析器还可以有助于创建针对该通信协议的正确格式,诸如分组头部和净荷。多媒体容器文件可以包含封装指令,诸如ISO基本媒体文件格式中的提示轨道,用于封装通信协议上包含的媒体比特流的至少一个。
服务器130可以或可以不通过通信网络连接至网关140。网关140可以执行不同类型的功能,诸如将根据一个通信协议栈的分组流转译成另一通信协议栈、合并以及分流数据流,以及根据下行链路和/或接收器的能力操纵数据流,诸如控制根据占优势的下行链路网络条件控制转发的流的比特率。网关140的示例包括多点会议控制单元(MCU)、电路交换和分组交换视频电话之间的网关、通过蜂窝的一键通(PoC)服务器、手持数字视频广播(DVB-H)系统中的IP封装器,或者将本地广播传输转发到家庭无线网络的机顶盒。当使用RTP时,网关140被称为RTP混合器或RTP翻译器,并且通常充当RTP连接的端点。
系统包括一个或者多个接收器150,其通常能够接收、解调已传输的信号,以及将其解封装为已编码媒体比特流。将已编码媒体比特流传输到记录存储设备155。该记录存储设备155可以包括任意类型的海量存储器,用于存储该已编码媒体比特流。记录存储设备155可以备选地或附加地包括计算存储器,诸如随机访问存储器。记录存储设备155中已编码媒体比特流的格式可以是基本自包含比特流格式,或者可以将一个或多个已编码媒体比特流封装至容器文件。如果存在许多彼此相关联的已编码媒体比特流(诸如,音频流和视频流),则通常使用容器文件并且接收器150包括或者附接到从输入流产生容器文件的接收文件生成器(图中未示出)。某些系统操作“直播”,即,省略记录存储设备155,而直接将已编码媒体比特流从接收器150传输至解码器160。在某些系统中,只有已记录流的最近部分(例如,已记录流的最近10分钟选录)保留在记录存储设备155中,而将任何早先记录的数据从记录存储设备155中丢弃。
已编码媒体比特流从记录存储设备155传输到解码器160。如果存在许多彼此相关联并且封装至容器文件的已编码媒体比特流(例如音频流和视频流),或者例如为了更容易访问而将单个媒体比特流封装到容器文件中,则文件解析器(图中未示出)用于将每个已编码媒体比特流从容器文件中解封装。记录存储设备155或解码器160可以包括文件解析器,或者文件解析器附接到记录存储设备155或者解码器160。
已编码媒体比特流通常进一步由解码器160处理,其输出是一个或者多个未压缩的媒体流。最后,渲染器170可以例如通过扬声器或者显示器重现未压缩的媒体流。接收器150、记录存储设备155、解码器160和渲染器170可以处于同一物理设备中,或者它们可以被包含在单独的设备中。
根据各种实施方式的文件生成器从已编码媒体比特流标识多轨道组,或者从编码器110接收多轨道组的标识。文件生成器可以在不同基础上(例如多视点视频比特流的期望输出视点)形成多轨道组。文件生成器包括已编码媒体比特流的哪些部分包括在文件中特定多轨道组中的信息。该信息格式的一个示例为多轨道组包。文件生成器还可以例如通过使用多轨道组关系例子来指示文件中多轨道组之间的关系。根据各种实施方式的接收文件生成器操作与文件生成器类似,但是已编码媒体比特流从接收器150接收。
根据各种实施方式的发送文件解析器可以读取多轨道组特性和关系,以便确定封装文件的哪些部分用于传输。此外,多轨道组信息可能已经在文件生成器中创建,用于通过通信协议传输封装信息。这种封装信息例如可以是指令(例如索引轨道),用于形成分组以便通过多个传输会话传输多视点视频流,其中每个会话承载多视点视频流的一个或多个视点。
根据各种实施方式的发送器130可以配置用于为了多种原因来选择传输的视点,例如响应于接收器150的请求或者传送比特流通过的网络的优势条件。来自接收器的请求例如可以是针对显示器视点的变化或者相对于先前一个具有不同能力的渲染设备的变化的请求。当选择传输的视点时,配置用于选择传输的视点的发送器130可以使用发送文件解析器或者将其操作地连接到发送文件解析器。
根据各种实施方式的文件解析器基于包括在该文件中的相应指示从文件标识多轨道组。文件解析器读取关于多轨道组的特性及其彼此之间的关系(共同属性和区分属性)的信息。基于该特性和关系,文件解析器选择用于处理的多轨道组。文件解析器例如可以选择如下的多视点视频多轨道组,其具有正确数量的输出视点并且其外部照相机参数适于用于渲染的显示器的特性。处理通常包括从文件提取对应于该多轨道组的媒体数据,潜在地重格式化已提取的媒体数据,以及将重格式化的媒体数据传到解码器160,用于解码和渲染。
根据各种实施方式的文件编辑器基于包括在该文件中的相应指示从文件标识多轨道组。文件编辑器读取关于多轨道组的特性及其彼此之间关系(共同属性和区分属性)的信息。基于该特性和关系,文件解析器选择哪些多轨道组保留在文件中以及将哪些移除。文件编辑器例如可以选择如下的多视点视频多轨道组,其具有针对目标文件的期望数量的输出视点。文件编辑器标识将要从文件中移除并且不保留在该文件中的媒体数据。然后,文件编辑器移除此类的媒体数据以及相关的文件元数据。文件编辑器还可以将媒体数据添加至该文件。如果该媒体数据与该文件中现有媒体数据有关或者基于添加的媒体数据多轨道组可以是强制的,则文件编辑器从该文件中的已编码媒体标识多轨道组。文件编辑器包括已编码媒体比特流的哪些部分包括在文件中的特定多轨道组中的信息。文件编辑器还可以指示文件中多轨道组之间的关系。
这里所述的各种实施方式是以方法步骤或过程的一般上下文方式描述的,这些方法步骤或过程在一种实施方式中可以通过以计算机可读介质体现的计算机程序产品来实施,该计算机程序产品包括由联网环境中的计算机执行的诸如程序代码的计算机可执行指令。计算机可读介质可以包括可移除和不可移除存储设备,包括但不限于只读存储器(ROM)、随机访问存储器(RAM)、压缩盘(CD)、数字多功能盘(DVD)等。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、相关联的数据结构以及程序模块表示用于执行这里所公开方法步骤的程序代码的示例。这种可执行指令或相关联的数据结构的特定序列表示用于实施这些步骤或过程中所描述的功能的相应动作的示例。
本发明的实施方式可以通过软件、硬件、应用逻辑或软件、硬件和应用逻辑的组合来实现。软件、应用逻辑和/或硬件例如可以驻留在芯片组、移动设备、台式计算机、膝上计算机或服务器上。各种实施方式的软件和web实现利用带有用于完成各种数据库搜索步骤或过程、相关步骤或过程、比较步骤或过程以及判决步骤或过程的基于规则的逻辑和其他逻辑的标准编程技术来完成。各种实施方式还可以全部或部分在网元或模块中实现。应当注意的是此处以及下面的权利要求中使用的词语“组件”和“模块”旨在包含使用一行或多行软件代码的实现和/或硬件实现和/或用于接收手动输入的装备。
出于示例和描述的目的,已经给出了本发明实施方式的前述说明。前述说明并非是穷举性的,也并非要将本发明限于所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本发明的实践中得到各种变形和修改。选择和描述这些实施方式是为了说明本发明的原理及其实际应用,以使得本领域的技术人员能够在各种实施方式中并且以适于预见的特定使用的各种修改来使用本发明。

Claims (17)

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所述的设备,其中准则指示一次仅处理所述多轨道组中的一个。
CN200980133118.9A 2008-07-16 2009-07-16 用于轨道和轨道子集归组的方法和设备 Expired - Fee Related CN102132562B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8132808P 2008-07-16 2008-07-16
US61/081,328 2008-07-16
PCT/IB2009/006263 WO2010007513A1 (en) 2008-07-16 2009-07-16 Method and apparatus for track and track subset grouping

Publications (2)

Publication Number Publication Date
CN102132562A true CN102132562A (zh) 2011-07-20
CN102132562B CN102132562B (zh) 2014-10-22

Family

ID=41550050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980133118.9A Expired - Fee Related CN102132562B (zh) 2008-07-16 2009-07-16 用于轨道和轨道子集归组的方法和设备

Country Status (10)

Country Link
US (1) US20100153395A1 (zh)
EP (1) EP2314072B1 (zh)
JP (1) JP5462259B2 (zh)
KR (1) KR101242472B1 (zh)
CN (1) CN102132562B (zh)
CA (1) CA2730543C (zh)
RU (1) RU2492585C2 (zh)
TW (1) TWI473016B (zh)
WO (1) WO2010007513A1 (zh)
ZA (1) ZA201101158B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104284173A (zh) * 2013-07-10 2015-01-14 宏达国际电子股份有限公司 用于产生多视点视频的方法和电子装置
CN106415711A (zh) * 2014-05-30 2017-02-15 索尼公司 信息处理装置和信息处理方法
CN106416281A (zh) * 2013-12-30 2017-02-15 理芙麦资公司 视频元数据
CN106471574A (zh) * 2014-06-30 2017-03-01 索尼公司 信息处理装置和信息处理方法
CN107211159A (zh) * 2015-02-11 2017-09-26 高通股份有限公司 文件格式中样本分组用信号发送
CN107534801A (zh) * 2015-02-10 2018-01-02 诺基亚技术有限公司 用于处理图像序列轨道的方法、装置和计算机程序产品
US10141022B2 (en) 2013-07-10 2018-11-27 Htc Corporation Method and electronic device for generating multiple point of view video
CN109815210A (zh) * 2018-12-29 2019-05-28 河北省科学院应用数学研究所 轨道电压异常数据监测方法、系统及终端设备
CN110431849A (zh) * 2017-03-23 2019-11-08 高通股份有限公司 包含用于视频译码的子图片位流的视频内容的信令传输
TWI696383B (zh) * 2018-04-12 2020-06-11 新加坡商 聯發科技(新加坡)私人有限公司 用於提供二維空間關係的方法以及裝置
US10869016B2 (en) 2018-04-12 2020-12-15 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
US10939086B2 (en) 2018-01-17 2021-03-02 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
US10944977B2 (en) 2018-04-03 2021-03-09 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding overlay compositions
CN112804256A (zh) * 2021-02-09 2021-05-14 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
US20210250568A1 (en) * 2018-08-29 2021-08-12 Zte Corporation Video data processing and transmission methods and apparatuses, and video data processing system
TWI782386B (zh) * 2020-01-07 2022-11-01 新加坡商聯發科技(新加坡)私人有限公司 基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674675B2 (en) 2007-06-20 2017-06-06 Qualcomm Incorporated Synchronizing floor control and media sharing in a half-duplex PTT system
US9210202B2 (en) * 2007-06-20 2015-12-08 Qualcomm Incorporated System and method for sharing media in a group communication among wireless communication devices
US20100190478A1 (en) * 2009-01-23 2010-07-29 Qualcomm Incorporated System and method for push-to-share file distribution with previews
WO2010060442A1 (en) * 2008-11-26 2010-06-03 Telefonaktiebolaget Lm Ericsson (Publ) Technique for handling media content to be accessible via multiple media tracks
CN103957448B (zh) * 2009-04-09 2017-05-17 瑞典爱立信有限公司 生成媒体容器文件的方法、媒体内容服务器、以及媒体处理方法和媒体处理服务器
US8719309B2 (en) * 2009-04-14 2014-05-06 Apple Inc. Method and apparatus for media data transmission
WO2010129714A2 (en) * 2009-05-05 2010-11-11 NoteVault, Inc. System and method for multilingual transcription service with automated notification services
US9680892B2 (en) * 2009-06-26 2017-06-13 Adobe Systems Incorporated Providing integration of multi-bit-rate media streams
US8976871B2 (en) 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
CN102714715B (zh) * 2009-09-22 2016-01-20 高通股份有限公司 用于文件格式轨迹选择的媒体提取器轨迹
US8340578B2 (en) 2009-10-05 2012-12-25 Apple Inc. Methods and apparatus for enhanced coexistence algorithms in wireless systems
US8693569B2 (en) * 2009-10-19 2014-04-08 Apple Inc. Methods and apparatus for dynamic wireless device coexistence
KR101594048B1 (ko) * 2009-11-09 2016-02-15 삼성전자주식회사 카메라들의 협력을 이용하여 3차원 이미지를 생성하는 방법 및 상기 방법을 위한 장치
US8892145B2 (en) * 2010-02-18 2014-11-18 Qualcomm Incorporated System and method for selective media object removal in group communications among wireless communication devices
JP5996439B2 (ja) * 2010-02-19 2016-09-21 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Httpストリーミングにおける表現切り替えのための方法及び装置
US9460232B2 (en) * 2010-04-07 2016-10-04 Oracle International Corporation Searching document object model elements by attribute order priority
WO2011139305A1 (en) * 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
JP5625512B2 (ja) * 2010-06-09 2014-11-19 ソニー株式会社 符号化装置、符号化方法、プログラム、および記録媒体
US20130097334A1 (en) * 2010-06-14 2013-04-18 Thomson Licensing Method and apparatus for encapsulating coded multi-component video
US8819557B2 (en) 2010-07-15 2014-08-26 Apple Inc. Media-editing application with a free-form space for organizing or compositing media clips
US8875025B2 (en) 2010-07-15 2014-10-28 Apple Inc. Media-editing application with media clips grouping capabilities
US8910046B2 (en) 2010-07-15 2014-12-09 Apple Inc. Media-editing application with anchored timeline
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
JP5652642B2 (ja) * 2010-08-02 2015-01-14 ソニー株式会社 データ生成装置およびデータ生成方法、データ処理装置およびデータ処理方法
CN101951504B (zh) * 2010-09-07 2012-07-25 中国科学院深圳先进技术研究院 基于重叠边界的多媒体切片转码方法和系统
US9116988B2 (en) 2010-10-20 2015-08-25 Apple Inc. Temporal metadata track
US9009118B2 (en) * 2010-10-20 2015-04-14 Apple Inc. Temporal metadata track
GB2484969B (en) * 2010-10-29 2013-11-20 Canon Kk Improved reference frame for video encoding and decoding
US8954477B2 (en) 2011-01-28 2015-02-10 Apple Inc. Data structures for a media-editing application
US8599709B2 (en) 2011-02-10 2013-12-03 Apple Inc. Methods and apparatus for wireless coexistence based on transceiver chain emphasis
US11747972B2 (en) 2011-02-16 2023-09-05 Apple Inc. Media-editing application with novel editing tools
US8966367B2 (en) 2011-02-16 2015-02-24 Apple Inc. Anchor override for a media-editing application with an anchored timeline
US9997196B2 (en) 2011-02-16 2018-06-12 Apple Inc. Retiming media presentations
KR101578308B1 (ko) * 2011-06-30 2015-12-16 텔레폰악티에볼라겟엘엠에릭슨(펍) 레퍼러스 픽처 시그널링
KR101885852B1 (ko) 2011-09-29 2018-08-08 삼성전자주식회사 컨텐트 전송 및 수신 방법 및 장치
US8995929B2 (en) 2011-12-06 2015-03-31 Apple Inc. Methods and apparatus for wireless optimization based on platform configuration and use cases
TWI606718B (zh) * 2012-01-03 2017-11-21 杜比實驗室特許公司 規定視覺動態範圍編碼操作及參數
US9219929B2 (en) * 2012-02-27 2015-12-22 Fritz Barnes Enhanced startup and channel change for fragmented media stream delivery
US9165603B2 (en) * 2012-03-29 2015-10-20 Adobe Systems Incorporated Method and apparatus for grouping video tracks in a video editing timeline
US9578326B2 (en) * 2012-04-04 2017-02-21 Qualcomm Incorporated Low-delay video buffering in video coding
US10205961B2 (en) * 2012-04-23 2019-02-12 Qualcomm Incorporated View dependency in multi-view coding and 3D coding
KR101995270B1 (ko) 2012-04-25 2019-07-03 삼성전자주식회사 비디오 데이터를 재생하는 방법 및 장치
US9161004B2 (en) 2012-04-25 2015-10-13 Qualcomm Incorporated Identifying parameter sets in video files
US8995553B2 (en) 2012-06-08 2015-03-31 Apple Inc. Methods and apparatus for mitigating interference in aggressive form factor designs
US9716892B2 (en) * 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US10021394B2 (en) 2012-09-24 2018-07-10 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
US9565452B2 (en) * 2012-09-28 2017-02-07 Qualcomm Incorporated Error resilient decoding unit association
US20140092953A1 (en) * 2012-10-02 2014-04-03 Sharp Laboratories Of America, Inc. Method for signaling a step-wise temporal sub-layer access sample
US9154785B2 (en) 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
US11290510B2 (en) 2012-11-29 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files
US9014544B2 (en) 2012-12-19 2015-04-21 Apple Inc. User interface for retiming in a media authoring tool
US10791315B2 (en) * 2013-01-04 2020-09-29 Qualcomm Incorporated Signaling of spatial resolution of depth views in multiview coding file format
CN109618235B (zh) * 2013-01-18 2021-03-16 佳能株式会社 生成设备和方法、处理设备和方法以及存储介质
US9426242B2 (en) * 2013-01-29 2016-08-23 Apple Inc. Determining an invitational content item type based on predicted user attention
US9467700B2 (en) 2013-04-08 2016-10-11 Qualcomm Incorporated Non-entropy encoded representation format
GB2516825B (en) * 2013-07-23 2015-11-25 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies
GB2519746B (en) * 2013-10-22 2016-12-14 Canon Kk Method, device and computer program for encapsulating scalable partitioned timed media data
US9648348B2 (en) * 2013-10-23 2017-05-09 Qualcomm Incorporated Multi-layer video file format designs
JP2016541140A (ja) * 2013-11-13 2016-12-28 エルジー エレクトロニクス インコーポレイティド Hdr放送サービスの提供のための放送信号送受信方法及び装置
KR102141520B1 (ko) * 2014-02-21 2020-08-05 삼성전자주식회사 무안경 다시점 영상 디스플레이 장치
BR112017005325A2 (pt) * 2014-09-26 2017-12-12 Sony Corp dispositivo e método para processamento de informação.
US10733146B2 (en) 2014-09-30 2020-08-04 Apple Inc. Inline keyed metadata
GB201502205D0 (en) * 2015-02-10 2015-03-25 Canon Kabushiki Kaisha And Telecom Paris Tech Image data encapsulation
US9747108B2 (en) * 2015-03-27 2017-08-29 Intel Corporation User-level fork and join processors, methods, systems, and instructions
GB2539461B (en) * 2015-06-16 2020-01-08 Canon Kk Image data encapsulation
US20160373771A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Design of tracks and operation point signaling in layered hevc file format
US10034010B2 (en) * 2015-10-14 2018-07-24 Qualcomm Incorporated Alignment of operation point sample group in multi-layer bitstreams file format
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
US10291923B2 (en) * 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
US10937460B2 (en) 2016-06-09 2021-03-02 Apple Inc. Media files and protocols supporting runtime dependent tracks
US11197040B2 (en) * 2016-10-17 2021-12-07 Mediatek Inc. Deriving and signaling a region or viewport in streaming media
CN110431847B (zh) * 2017-03-24 2022-07-22 联发科技股份有限公司 视频处理方法及装置
GB2560921B (en) 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
CN107392220B (zh) 2017-05-31 2020-05-05 创新先进技术有限公司 数据流的聚类方法和装置
GB2563865A (en) 2017-06-27 2019-01-02 Canon Kk Method, device, and computer program for transmitting media content
GB2567625B (en) * 2017-10-12 2020-07-15 Canon Kk Method, device, and computer program for generating timed media data
RU2683499C1 (ru) * 2018-03-15 2019-03-28 Антон Владимирович Роженков Система автоматического создания сценарного видеоролика с присутствием в кадре заданного объекта или группы объектов
JPWO2019187430A1 (ja) * 2018-03-29 2021-04-08 ソニー株式会社 情報処理装置、方法、及びプログラム
WO2019192870A1 (en) * 2018-04-05 2019-10-10 Canon Kabushiki Kaisha Method and apparatus for encapsulating images or sequences of images with proprietary information in a file
GB2582024B (en) * 2019-03-08 2022-06-08 Canon Kk Method and apparatus for encapsulating groups of images in a file
GB2575074B (en) 2018-06-27 2022-09-28 Canon Kk Encapsulating video content with an indication of whether a group of tracks collectively represents a full frame or a part of a frame
CN113170238B (zh) * 2018-09-12 2023-08-01 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机程序
US11183220B2 (en) 2018-10-03 2021-11-23 Mediatek Singapore Pte. Ltd. Methods and apparatus for temporal track derivations
US11205456B2 (en) * 2019-01-09 2021-12-21 Mediatek Singapore Pte. Ltd. Methods and apparatus for using edit operations to perform temporal track derivations
US11581022B2 (en) * 2019-05-29 2023-02-14 Nokia Technologies Oy Method and apparatus for storage and signaling of compressed point clouds
WO2021047820A1 (en) * 2019-09-13 2021-03-18 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
GB2587364B (en) * 2019-09-24 2023-11-15 Canon Kk Method, device, and computer program for encapsulating media data into a media file
US10964089B1 (en) 2019-10-07 2021-03-30 Sony Corporation Method and apparatus for coding view-dependent texture attributes of points in a 3D point cloud
EP4260569A1 (en) * 2020-12-09 2023-10-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. File generator, file parser, methods and video bitstream with improved access unit delimiter, end of sequence, end of bitstream and further non-video coding layer network access layer units
KR20230122106A (ko) * 2020-12-21 2023-08-22 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 코딩된 비디오 시퀀스들에 대해 파라미터 세트들을사용하는 파일 파서, 파일 생성기, 인코더, 디코더, 클라이언트, 서버, 및 방법들
WO2024076494A1 (en) * 2022-10-03 2024-04-11 Bytedance Inc. Enhanced signalling of preselection in a media file

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060222252A1 (en) * 2005-03-31 2006-10-05 Industry-Academia Cooperation Group Of Sejong University Apparatus and method for encoding multi-view video using camera parameters, apparatus and method for generating multi-view video using camera parameters, and recording medium storing program for implementing the methods
CN1960328A (zh) * 2006-08-14 2007-05-09 中兴通讯股份有限公司 一种移动多媒体广播实时流的封装方法
WO2005022399A3 (en) * 2003-08-29 2007-10-11 Canadian Space Agency Data compression engines and real-time wideband compressor for multi-dimensional data
US20080052306A1 (en) * 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4279893A (en) * 1992-04-10 1993-11-18 Avid Technology, Inc. A method and apparatus for representing and editing multimedia compositions
US5630006A (en) * 1993-10-29 1997-05-13 Kabushiki Kaisha Toshiba Multi-scene recording medium and apparatus for reproducing data therefrom
US5632007A (en) * 1994-09-23 1997-05-20 Actv, Inc. Interactive system and method for offering expert based interactive programs
JP3345352B2 (ja) * 1995-08-21 2002-11-18 松下電器産業株式会社 記録媒体の記録方法
JP3403636B2 (ja) * 1998-04-06 2003-05-06 パイオニア株式会社 情報記録媒体及びその再生装置
CA2338634C (en) * 1999-05-28 2007-06-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card, playback apparatus, recording apparatus, playback method, recording method, and computer-readable recording medium
SK282249B6 (sk) * 1999-08-17 2001-12-03 Juraj Kelly�R Spôsob záznamu, reprodukcie alebo projekcie digitálnych alebo analógových, vzorkovaných alebo spojitých audio- a/alebo videozáznamov
FI20011871A (fi) * 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
JP2003179867A (ja) * 2001-12-10 2003-06-27 Sony Corp データ処理装置、データ処理方法、および情報記憶媒体、並びにコンピュータ・プログラム
US7613727B2 (en) * 2002-02-25 2009-11-03 Sont Corporation Method and apparatus for supporting advanced coding formats in media files
US20040167925A1 (en) * 2003-02-21 2004-08-26 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
AU2003202528A1 (en) * 2002-04-01 2003-10-23 Sony Corporation Track management method and apparatus for managing tracks on a storage medium
JP2005049834A (ja) * 2003-07-11 2005-02-24 Matsushita Electric Ind Co Ltd メディアデータ表示装置、メディアデータ表示方法およびメディアデータ表示プログラム
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US7344679B2 (en) * 2005-10-14 2008-03-18 International Business Machines Corporation Method and apparatus for point of care osmolarity testing
KR20070108434A (ko) * 2006-01-09 2007-11-12 한국전자통신연구원 SVC(Scalable Video Coding)파일포맷에서의 데이터 공유 개선방법
WO2007081150A1 (en) * 2006-01-09 2007-07-19 Electronics And Telecommunications Research Institute Method defining nal unit type and system of transmission bitstream and redundant slice coding
JP2006230001A (ja) * 2006-03-20 2006-08-31 Sony Corp 再生装置、再生方法、再生プログラムおよび記録媒体
EP2080383A4 (en) * 2006-10-20 2009-12-09 Nokia Corp GENERIC INDICATION OF ADJUSTMENT GUIDE FOR SCALABLE MULTIMEDIA
US20080263010A1 (en) * 2006-12-12 2008-10-23 Microsoft Corporation Techniques to selectively access meeting content
MX2009011217A (es) * 2007-04-18 2009-12-07 Thomson Licensing Sistemas de codificacion.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005022399A3 (en) * 2003-08-29 2007-10-11 Canadian Space Agency Data compression engines and real-time wideband compressor for multi-dimensional data
US20060222252A1 (en) * 2005-03-31 2006-10-05 Industry-Academia Cooperation Group Of Sejong University Apparatus and method for encoding multi-view video using camera parameters, apparatus and method for generating multi-view video using camera parameters, and recording medium storing program for implementing the methods
CN101142824A (zh) * 2005-03-31 2008-03-12 世宗大学校产学协力团 使用相机参数编码和产生多视点视频的设备和方法以及存储实施该方法的程序的记录介质
CN1960328A (zh) * 2006-08-14 2007-05-09 中兴通讯股份有限公司 一种移动多媒体广播实时流的封装方法
US20080052306A1 (en) * 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10141022B2 (en) 2013-07-10 2018-11-27 Htc Corporation Method and electronic device for generating multiple point of view video
CN104284173A (zh) * 2013-07-10 2015-01-14 宏达国际电子股份有限公司 用于产生多视点视频的方法和电子装置
CN106416281A (zh) * 2013-12-30 2017-02-15 理芙麦资公司 视频元数据
CN106415711A (zh) * 2014-05-30 2017-02-15 索尼公司 信息处理装置和信息处理方法
CN106471574B (zh) * 2014-06-30 2021-10-12 索尼公司 信息处理装置和信息处理方法
CN106471574A (zh) * 2014-06-30 2017-03-01 索尼公司 信息处理装置和信息处理方法
CN107534801A (zh) * 2015-02-10 2018-01-02 诺基亚技术有限公司 用于处理图像序列轨道的方法、装置和计算机程序产品
CN107534801B (zh) * 2015-02-10 2020-04-24 诺基亚技术有限公司 用于处理图像序列轨道的方法、装置和计算机程序产品
CN107211159A (zh) * 2015-02-11 2017-09-26 高通股份有限公司 文件格式中样本分组用信号发送
CN107211159B (zh) * 2015-02-11 2020-04-14 高通股份有限公司 文件格式中样本分组用信号发送
CN110431849A (zh) * 2017-03-23 2019-11-08 高通股份有限公司 包含用于视频译码的子图片位流的视频内容的信令传输
CN110431849B (zh) * 2017-03-23 2021-10-22 高通股份有限公司 包含用于视频译码的子图片位流的视频内容的信令传输
TWI734951B (zh) * 2018-01-17 2021-08-01 新加坡商聯發科技(新加坡)私人有限公司 用於編碼和解碼虛擬實境內容的方法和裝置
US10939086B2 (en) 2018-01-17 2021-03-02 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
US10944977B2 (en) 2018-04-03 2021-03-09 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding overlay compositions
US10869016B2 (en) 2018-04-12 2020-12-15 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
TWI696383B (zh) * 2018-04-12 2020-06-11 新加坡商 聯發科技(新加坡)私人有限公司 用於提供二維空間關係的方法以及裝置
US20210250568A1 (en) * 2018-08-29 2021-08-12 Zte Corporation Video data processing and transmission methods and apparatuses, and video data processing system
CN109815210B (zh) * 2018-12-29 2022-04-29 河北省科学院应用数学研究所 轨道电压异常数据监测方法、系统及终端设备
CN109815210A (zh) * 2018-12-29 2019-05-28 河北省科学院应用数学研究所 轨道电压异常数据监测方法、系统及终端设备
TWI782386B (zh) * 2020-01-07 2022-11-01 新加坡商聯發科技(新加坡)私人有限公司 基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置
US11589032B2 (en) 2020-01-07 2023-02-21 Mediatek Singapore Pte. Ltd. Methods and apparatus for using track derivations to generate new tracks for network based media processing applications
CN112804256A (zh) * 2021-02-09 2021-05-14 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
CN112804256B (zh) * 2021-02-09 2022-05-24 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
WO2022170836A1 (zh) * 2021-02-09 2022-08-18 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备

Also Published As

Publication number Publication date
WO2010007513A1 (en) 2010-01-21
CN102132562B (zh) 2014-10-22
CA2730543A1 (en) 2010-01-21
TW201009701A (en) 2010-03-01
KR20110033273A (ko) 2011-03-30
EP2314072B1 (en) 2014-08-27
US20100153395A1 (en) 2010-06-17
KR101242472B1 (ko) 2013-03-12
ZA201101158B (en) 2012-08-29
JP2011528868A (ja) 2011-11-24
RU2492585C2 (ru) 2013-09-10
JP5462259B2 (ja) 2014-04-02
RU2011104986A (ru) 2012-08-27
EP2314072A1 (en) 2011-04-27
EP2314072A4 (en) 2011-08-03
CA2730543C (en) 2014-04-22
TWI473016B (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
CN102132562B (zh) 用于轨道和轨道子集归组的方法和设备
CN103843301B (zh) 经译码多媒体数据的网络串流期间的表示之间的切换
US8768984B2 (en) Media container file management
CN107534801B (zh) 用于处理图像序列轨道的方法、装置和计算机程序产品
CN101601305B (zh) 用于可伸缩多媒体的自适应路径的通用指示
KR101021831B1 (ko) 미디어 파일에서 트랙 관계를 표시하는 시스템 및 방법
CN103069799B (zh) 发信号通知用于多路复用视频分量的数据
CN102714715B (zh) 用于文件格式轨迹选择的媒体提取器轨迹
KR20190014500A (ko) Http 를 통한 동적 적응형 스트리밍에서의 가상 현실 비디오 시그널링
TWI482498B (zh) 媒體檔案之多重解碼時間發訊技術
CN103026721A (zh) 布置用于串流传输视频数据的子轨道片段
KR102659380B1 (ko) 파일 포맷 박스들에 대한 제네릭 디스크립터를 사용한 미디어 데이터의 프로세싱
CN103069828A (zh) 提供用于串流传输视频数据的序列数据集
CN101802823A (zh) 用于流式多媒体数据的分段的元数据和位标
CN106134146A (zh) 处理连续的多周期内容
CN102224733A (zh) 用于处理视频文件的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SISVEL INTERNATIONAL S.A.

Free format text: FORMER OWNER: NOKIA CORPORATION

Effective date: 20120914

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120914

Address after: Luxemburg Luxemburg

Applicant after: NOKIA CORP.

Address before: Espoo, Finland

Applicant before: Nokia Oyj

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141022

Termination date: 20200716