对于多媒体文件格式的快速和编辑友好的采样关联方法

文档序号:6478809阅读:232来源:国知局

专利名称::对于多媒体文件格式的快速和编辑友好的采样关联方法
技术领域
:概括地说,本发明涉及多媒体文件格式。更具体地,本发明涉及用于组织媒体和/或多媒体数据的对定时媒体元数据采样与媒体和/或提示(hint)采样的成对。
背景技术
:这个部分旨在提供在权利要求书中列举的本发明的背景或环境。这里的说明可包括能够遵循的概念,但不必是先前已经构想或遵循的那些概念。因此,除非这里另外指出,在这个部分所描述的内容并非是对于本申请中的说明书和权利要求书的现有技术,并且不是通过包括在这个部分中而承认其是现有技术。多媒体容器文件格式是多媒体内容生成、操作、传输和消费的链条中重要的元素。在这种环境中,编码格式(即基本流格式)涉及将内容信息编码成比特流的特定编码算法的行为。容器文件格式包括用于以下操作的机制通过可用于本地解码和回放而访问的方式组织所生成的比特流;作为文件传送,或流传输;全部利用各种存储和输送架构。容器文件格式还可便于媒体的互换和编辑,以及将所接收的实时流记录到文件。由此,在编码格式和容器文件格式之间存在实质性差异。在图1中一般地用100示出多媒体文件格式的分级结构。基本流格式110代表独立的、单个流。例如.amr和.asc文件的音频文件根据基本流格式构成。容器文件格式120是可在单个文件中包含音频和视频流的格式。容器文件格式120的族的实例基于ISO基础媒体文件格式。在等级100中的容器文件格式120下方是复用格式130。相比于根据容器文件格式120构成音频/视频(AV)文件,复用格式130典型地更加不灵活并且被更加紧密打包。根据复用格式130构成的文件典型地仅用于回放目的。移动图像专家组(MPEG)-2节目流是根据复用格式130构成的流的实例。呈现语言格式140用于例如AV和离散媒体等的布局、交互、同步的目的。均由万维网社团(W3C)规定的同步多媒体集成语言(SMIL)和可缩放视频图形(SVG)是呈现语言格式140的实例。呈现文件格式150通过具有在相同文件中的所有呈现部分来表征。根据呈现文件格式构成的对象的实例是PowerPoint文件和符合3GP文件格式的扩展呈现概要的文件。可用媒体和容器文件格式标准包括ISO基础媒体文件格式(IS0/IEC14496-12)、MPEG-4文件格式(IS0/IEC14496-14、还称为MP4格式)、高级视频编码(AVC)文件格式(IS0/IEC14496-15)和3GPP文件格式(3GPPTS26.244,还称为3GP格式)。还有在MPEG中用于可缩放视频编码(SVC)文件格式的开发的项目,其将成为对于高级视频编码(AVC)文件格式的修改。在类似方面,MPEG限定用于单方向传输上的文件传送(FLUTE)和异步分层编码(ALC)会话的提示磁轨(track)格式,其将成为对ISO基础媒体文件格式的修改。数字视频广播(DVB)组织目前正在致力于指定DVB文件格式的处理。定义DVB文件格式的主要目的是便于在DVB技术的实现(例如根据目前(DVT-T、DVB-C、DVB-S)和未来DVB标准的机顶盒、因特网协议(IP)电视接收机、和根据DVB手持(DVB-H)及其未来演进的移动电视接收机)之间的内容交互。DVB文件格式将允许在来自不同制造商的设备之间的记录(只读)媒体的交换、使用USB海量存储器或类似读/写设备的内容交换、和对于家庭网络上的共同盘存储器的共享访问、以及其他功能。ISO基础媒体文件格式是依据DVB文件格式的发展的目前最强候选项。ISO文件格式是导出所有以上提到的容器文件格式(不包括ISO文件格式自身)的基础。这些文件格式(包括ISO文件格式自身)被称为文件格式的ISO族。在ISO基础媒体文件格式中的基本块称为盒(box)。每个盒包括头部和净荷。盒头部指示盒的类型以及盒在字节方面的大小。盒可含有其他盒,并且ISO文件格式规定在某一类型盒中允许存在哪些盒类型。此外,某些盒强制存在于每个文件中,同时其他盒仅仅是可选的。此外,对于某些盒类型,可在文件中存在多于一个盒。因此,ISO基础媒体文件格式实质上规定了盒的等级结构。图2示出根据ISO基础媒体文件格式的简化文件格式。根据文件格式的ISO族,文件200包括分别包含在单独盒——媒体数据(mdat)盒210、和电影(moov)盒220中的媒体数据和元数据。对于要被操作的文件,这两个盒必须存在。媒体数据盒210包含视频和音频帧,他们可以是交错的和按时间排序的。电影盒220可包含一个或多个磁轨,并且每个磁轨位于一个磁轨盒240中。磁轨可以是以下类型之一媒体、提示或定时元数据。媒体磁轨指的是根据媒体压缩格式(以及其到ISO基础媒体文件格式的封装)被格式化的采样。提示磁轨指的是提示采样,其包含用于构成通过所指示的通信协议传输的分组的菜单指令。菜单指令可包含用于分组头部结构的指南,并且可包括分组净荷结构。在分组净荷结构中,可引用位于其他磁轨或项目中的数据(例如引用可指示在分组结构处理期间命令特定磁轨或项目中哪些条数据被复制到分组中)。定时元数据磁轨指的是描述所引用的媒体和/或提示采样的采样。对于一个媒体类型的呈现,典型地选择一个磁轨。此外,磁轨的采样隐含地关联于以采样解码顺序的所指示以1增加的采样号。因此,在磁轨中的第一采样可关联于采样号“1”。应注意,这个假设影响了某些公式,但是本领域普通技术人员应理解,对于采样号的其他“开始偏移量”(例如采样编号“0”)可相应地修改这些公式。应注意,ISO基础媒体文件格式没有限制将呈现内容包含在仅一个文件中。实际上,呈现内容可包含在几个文件中。在这种情形下,一个文件包含用于整个呈现内容的元数据。这个文件还可包含所有媒体数据,在这种情况下呈现内容是自含式的。不需要根据ISO基础媒体文件格式来格式化其他文件(如果使用)。其他文件用于包含媒体数据,并且他们还可包含未使用的媒体数据或其他信息。ISO基础媒体文件格式仅涉及包含元数据的文件的结构。仅由于必须如ISO基础媒体文件格式中或其导出格式中所指定地那样来格式化媒体文件中的媒体数据,所以通过ISO基础媒体文件格式或其导出格式来限制媒体数据文件的格式。在向ISO文件记录内容时可使用电影片段,以避免如果记录应用崩溃、磁盘用完或某些其他偶然事件发生则丢失数据。如果没有电影片段,则由于文件格式要求将所有元数据(电影盒)写入文件的一个连续区域中,所以可能发生数据丢失。此外,当记录文件时,对于可用存储器大小来说,可能没有足够量的RAM来缓冲电影盒,并且在电影关闭时再计算电影盒的内容会太慢。此外,电影片段使得能够使用规则的ISO文件剖析器同时记录和回放文件。最后,需要初始缓冲的较小持续时间来进行连续下载(例如,当使用电影片段时,同时接收和回放文件,并且初始电影盒相比于具有相同媒体内容但是没有电影片段构成的文件更小)。电影片段特征使得能够将传统位于moov盒220中的元数据分成多个部分,其每个相应于用于磁轨的某个时间段。因此,电影片段特征使得能够文件元数据和媒体数据交错。因此,moov盒220的大小可以受到限制,并且实现上述使用情况。通常,如果电影片段在作为moov盒的相同文件中,则他们的媒体采样可位于mdat盒210中。然而,对于电影片段的元数据,提供moof盒。其包括先前在moov盒220中的用于回放时间的某个持续时间内的信息。Moov盒220仍旧表示其自身的有效电影,但是此外,其包括指示在相同文件中将随有电影片段的mvex盒。电影片段及时地延伸与moov盒相关联的呈现内容。可包括在moof盒中的元数据受限为可包括在moov盒220中并且可在某些情况下不同编码的元数据的子集。除了定时磁轨之外,ISO文件可包含在元盒中的任意非定时的二进制对象,或“静态”元数据。元盒可位于文件的上层,在电影盒中,以及在磁轨盒中。至多一个元盒可出现在文件层、电影层、或磁轨层中的每一个处。元盒需要包含“hdlr”盒,其指示“元”盒内容的结构或格式。元盒可包含任意数目的二进制项目,其可被引用并且他们中的每一个可与文件名相关联。为了在等级的任意层(文件、电影、或磁轨)支持多于一个元盒,在ISO基础媒体文件格式中已经引入了元盒容器盒(“meco”)。元盒容器盒可在等级的任意层(文件、电影、或磁轨)携带任意数目的附加元盒。这允许例如相同元数据被呈现在两个不同的、可替换的、元数据系统中。元盒关系盒(“mere”)使得能够描述不同的元盒如何彼此相关(例如,他们是否包含精确相同的元数据,但是用不同方案描述,或者是否一个代表另一个的超集)。参照图3和4,示出在盒中的采样编组的使用。按ISO基础媒体文件格式及其派生(例如AVC文件格式和SVC文件格式)的采样编组是基于编组标准,使得磁轨中的每个采样指派为一个采样组的成员。采样编组中的采样组不限于连续采样,并且可包含不相邻的采样。由于对于磁轨中的采样可能存在多于一个采样编组,所以每个采样编组具有用以指示编组类型的类型字段。采样编组通过两个链接的数据结构来表示dDSampleToGroup(采样到组)盒(sbgp盒)表示采样到采样编组的分配;和OSampleGroupDescription(采样组描述)盒(sgpd盒)包含用于每个采样组的采样组条目,其用于描述组的属性。基于不同编组标准,可能存在多个SampleToGroup和SampleGroupDescription的实例。这些实例通过用以指示编组类型的类型字段来区分。图3提供用于指示采样组盒的嵌套结构的简化盒分级结构。采样组盒(SampleGroupDescription盒和SampleToGroup盒)位于相同采样表(stbl)盒中,其被包含在电影(moov)盒中的磁轨(trak)盒的媒体(mdia)盒的媒体信息(minf)盒(以这个顺序)中。允许SampleToGroup盒位于电影片段中。因此,可逐个片段地执行采样编组。图4示出一个包含电影片段(其包括SampleToGroup盒)的文件的实例。DVB文件格式被指定为替换格式(如上所述),以确保在兼容的DVB设备之间的互操作性。这不是必需预定为用于DVB兼容设备的内部存储格式。DVB文件格式将允许在来自不同制造商的设备之间的记录(只读)媒体的移动,以及对于家庭网络上的公共盘存储器的共享访问等。DVB文件格式的关键特征已知为接收提示磁轨,其可在根据DVB文件格式记录数据的一个或多个分组流时使用。接收提示磁轨指示所接收的分组的顺序、接收时间、和内容等。对于DVB文件格式的播放器可基于接收提示磁轨重建所接收的分组流,并好像新接收的那样处理重建的分组流。接收提示磁轨具有相比于用于服务器的提示磁轨相同的结构,如在ISO基础媒体文件格式中所规定的那样。例如,通过类型“提示”的磁轨引用,接收提示磁轨被链接至他们携带的基础流磁轨(即,媒体磁轨)。用于传送媒体流的每个协议具有其自己的接收提示采样格式。将接收提示磁轨用作发送所接收的流的提示的服务器应该良好地处理所接收的流的潜在劣化,例如传输延迟抖动和分组丢失,并且确保遵循协议和包含的数据格式的限制,而不管所接收的流的潜在劣化。接收提示磁轨的采样格式可以使得能够通过引用将数据拉出其他磁轨来构建分组。这些其他磁轨可以是提示磁轨或媒体磁轨。这些指针的确切形式通过用于协议的采样格式来限定,但是一般地,他们包含4条信息磁轨引用索引、采样编号、偏移量、和长度。对于特定协议,这些信息中的某些可以是隐含的。这些“指针”始终指向数据的实际源。如果提示磁轨建立在另一提示磁轨的“上方”,则第二提示磁轨必须具有到第一提示磁轨所使用的媒体磁轨的直接引用,在该处来自这些媒体磁轨的数据被置于流中。所接收的流到媒体磁轨的转换允许与ISO基础媒体文件格式兼容的现有播放器处理DVB文件,只要还支持媒体格式。然而,大部分媒体编码标准仅指定无误差流的解码,并因此应确保可正确解码媒体磁轨中的内容。对于DVB文件格式的播放器可利用接收提示磁轨,来处理由传输引起的劣化,即,没有被正确解码的内容仅位于接收提示磁轨中。可通过引用将来自媒体磁轨的数据包括在接收提示磁轨中,来避免在媒体磁轨和接收提示磁轨中都具有对正确媒体采样的副本的需求。目前,规定了两种接收提示磁轨MPEG_2传输流(MPEG2-TS)和实时传输协议(RTP)接收提示磁轨。MPEG2-TS接收提示磁轨的采样包含MPEG2-TS分组或使得从到媒体磁轨的引用构成MPEG2-TS分组的指令。MPEG-2传输流是音频和视频节目基本流与某些元数据信息的复合体。其还可包含多个音频视频节目。RTP接收提示磁轨代表一个RTP流,典型地单个媒体类型。RTP用于基于因特网协议(IP)在网络中发送连续的媒体数据,例如编码音频和视频流。实时传输控制协议(RTCP)是RTP的相应协议,S卩,RTCP应被用于始终在网络和应用架构允许时补充RTP。RTP和RTCP通常在用户数据报协议(UDP)上传送,用户数据报协议于是在因特网协议(IP)上传送。存在两个版本的IP,IPv4和IPv6,区别于可寻址的端点的数目等。RTCP用于监视由网络提供的服务质量,以及传送关于在进行中的会话中的参与者的信息。RTP和RTCP被设计用于从一对一通信到几千个端点的大型多播组的范围的会话。为了在多方会话中控制由RTCP分组引起的总位速率,由一个端点发送的RTCP分组的传输间隔与会话中的参与者数目成比例。每个媒体编码格式具有特定RTP净荷格式,其指定在RTP分组的净荷中如何构成媒体数据。可基于元数据的类型将用于DVB文件格式的元数据需求分成4组1)采样特定的定时元数据,例如呈现时间戳;2)索引;3)分段的元数据;和4)(例如,内容中的特别喜爱的位置的)用户书签。采样特定的定时元数据的实例是呈现时间戳。可存在不同的时间轴来指示采样特定的定时元数据。时间轴不需要覆盖所记录的流的整个长度,并且时间轴可被暂停。例如,在实例的情形下,可在电影的最终编辑阶段中创建时间轴A。随后,服务提供商可插入商业广告,并且可提供用于那些商业广告的时间轴B。结果,当商业广告正在进行时,时间轴A可被暂停。还可在内容自身之后发送时间轴。用于时间轴采样的承载的一个机制涉及在MPEG-2节目基础流(PES)中携带时间轴采样。PES传送基础音频或视频比特流,并因此时间轴与音频和视频帧精确地同步。索引可包括例如视频访问点和特技模式支持(例如快进/快退、慢动作)。这种操作可需要例如可自解码图片的指示、解码开始点、和引用和非引用图片的指示。在分段的元数据的情况下,DVB服务可通过根据特定元数据方案的服务指南来描述,例如广播内容指南(BCG)、TV-Anytime、或用于IP数据播送(IPDC)的电子服务指南(ESG)。描述可仅应用于流的一部分。因此,文件可具有几个描述性片段(例如关于节目的特定片段的描述,例如“HolidayinCorsicanearCargese”)信息。此外,DVB文件格式的元数据和索引结构需要是可扩展的,并且需要支持用户定义的索引。还提出了用于执行索引和实现分段元数据的各种技术,包括例如定时元数据磁轨、采样组、DVBIndexTable(DVB索引表)、虚拟媒体磁轨、以及采样事件和采样属性。对于定时元数据磁轨,创建一个或多个定时元数据磁轨。磁轨可包含特定类型的索引,或者可包含任意类型的索引。换句话说,采样格式使得能够复用不同索引类型。磁轨还可包含(例如多节目传输流的)一个节目或许多节目的索引。此外,磁轨可包含一个媒体类型或许多媒体类型的索引。对于采样组,一个采样编组类型可专用于每个索引类型,其中由于对于特定索引类型存在不同的值,所以将相同数目的采样组描述索引包括在SampleGroupDescription盒中。SampletoGroup盒用于将采样关联至索引值。可将采样组法与定时元数据磁轨一起使用。对于DVB索引表,在采样表盒中引入DVB索引表盒。DVB索引表盒包含条目列表,其中每个条目通过其采样编号关联于接收提示磁轨中的采样。每个条目还包含关于以下内容的信息索引精度,其涉及多节目MPEG-2传输流的哪些节目,其对应于哪个时间戳,以及索引的值。对于虚拟媒体磁轨,已经提出通过引用接收提示磁轨的采样数据来从接收提示磁轨构成虚拟媒体磁轨。因此,例如sync采样盒的用于媒体磁轨的索引机制可间接地用于所接收的媒体。最后,对于采样事件和采样属性技术,已经提出克服采样组的两个固有缺点(当他们用于索引时)。第一,SampletoGroup盒使用运行长度编码将采样关联至组描述索引。换句话说,提供映射至相同组描述索引的连续采样的数目。因此,为了根据绝对采样数目解决组描述索引,计算连续采样计数的累计总和。对于某些实现方式这样的计算可能是计算负担。因此,提出的技术在SampletoEvent(采样到事件)和SampletoProperty(采样到属性)盒(对应于SampletoGroup盒)中使用绝对采样数目,而并非运行长度编码。第二,SampleGroupDescription盒位于电影盒中。因此,必须在记录的开始时知晓索引值(对于所有索引类型都不可能),或者必须在记录期间经常更新电影盒,以响应新索引值。因此,电影盒的更新可需要移动文件中的其他盒(例如mdat盒),这可能是较慢的文件操作。所提出的SampletoProperty盒包括属性值字段,其在实践时携带索引值,并且可位于每个电影片段中。因此,由于新索引值,不需要更新原始电影盒。可使用各种方法使得来自不同磁轨的采样配对,S卩,根据ISO基础媒体文件格式及其派生将不同磁轨的采样彼此关联。第一方法被称为“共同回放时间轴”,当根据媒体采样的组合时间戳(假设出现在相同时间轴上)同步媒体磁轨时实现第一方法。换句话说,采样实际上没有彼此关联,而是仅仅被同步呈现。备选地,当定时元数据磁轨包含对于其描述的媒体或提示磁轨的磁轨引用时,可利用称为“相同解码时间”的方法。通常,定时元数据采样通过解码时间与媒体采样关联,艮口,相应采样具有由(两个磁轨的)DeCOdingTimetoSample(解码时间到采样)盒指示的相同解码时间戳。用于使得来自不同磁轨的采样配对的另一方法称为“相同采样号”,其提供了通过将媒体采样的采样号包括到定时元数据采样来将定时元数据采样关联至媒体采样的可能。类似的机制可用作用于RTP提示磁轨的分组构造器之一。另一实例是SVC文件格式,其包括提取器机制,其类似于通过弓I用到提示采样来包括采样数据。此外,可利用一种称为“解码时间+采样特定的采样号偏移量”的方法,其中一个SVC磁轨可通过使用提取器机制的引用来包括来自另一SVC磁轨的数据。例如,一个SVC磁轨包含可缩放比特流的基础层,其可通过对另一SVC磁轨的引用而被包括。包含提取器的采样(这里称为目的采样)首先通过其解码时间关联至在具有被称为候选源采样号的采样号的所引用磁轨中的采样。然后,将目的采样中包含的采样号偏移量加至候选源采样号,以获得关联的采样号。通常,期望用于DVB文件格式的索引机制的简单处理。然而,索引机制的典型特点是使得索引和接收提示采样(或在某些情况下的媒体采样)成对。因此,还期望不具有任意的操作序列,例如重复求和,以解决用于特定索引的接收提示采样。根据上述的共同回放时间轴法,来自不同磁轨的采样的配对可能仅在在两个磁轨中解析DecodingTimetoSample(解码时间到采样)盒和CompositionTimetoSample(组成时间到采样)盒之后。DecodingTimetoSample盒被不同地编码,S卩,并非指示对于每个采样的绝对解码时间戳,并提供用于每个采样的采样持续时间。因此,为了解决用于特定采样的解码时间戳,必须计算先前采样的所有采样持续时间的总数——这是计算负担。此外,对于定时元数据采样,组合时间戳不相关,因为他们几乎不呈现,即使呈现也不^^ο相同的解码时间方法需要两个磁轨的DecodingTimetoSample盒的解析,如上所述,这是计算负担。同样,相同的采样编号方法还导致复杂的编辑操作,因为每当将采样插入媒体磁轨或从中去除时,必须重写在定时元数据磁轨中包括的采样号。换句话说,必须遍历在编辑点之后的所有定时元数据采样,并且必须编辑他们的内容。此外,类似于相同的解码时间法,“解码时间+采样特定的采样号偏移量”法需要解析两个磁轨的DecodingTimetoSample盒,这是计算负担。应注意,可通过EditList(编辑列表)盒实现文件编辑操作。EditList盒规定媒体构成时间轴如何被转换成回放时间轴,并且使得能够将媒体时间轴分成段以及在回放时间轴中将那些段映射至时间片。因此,EditList盒使得有可能从回放中遗漏媒体采样,改变回放中的媒体片段的顺序,以及改变媒体片段的回放速率。然而,EditList盒不被所有播放器支持,因为例如由EditList盒提供的特征的灵活性给播放器的实现带来挑战。此外,EditList盒的使用不能够使得释放在moov盒和moof盒中用于未播放的媒体采样的或用于未播放的媒体采样的描述的存储空间。因此,传统的文件编辑器无法普遍地使用EditList盒,而是经由其他方法修改文件。
发明内容根据各个实施例,提供用于组织媒体和/或多媒体数据的各种系统和方法。在文件中存储第一和第二采样,其中所述第一和第二采样可被包括(通过引用)在例如媒体或提示磁轨中。所述第一采样与第一数据部分关联,以及所述第二采样与第二数据部分关联,其中所述第一和第二数据部分表示媒体或提示磁轨的部分。将第一采样号与所述第一采样关联,将第二采样号与所述第二采样关联,其中所述第一和第二采样号被包含在例如定时元数据采样中,并且是相对于所述媒体和/或提示磁轨的。在所述文件中包括采样号偏移量,并且在所述文件中还包括与所述第一数据部分关联的第一基础采样号。所述采样号偏移量适于多个定时元数据采样。应注意,所述第一采样号能从所述采样号偏移量和所述第一基础采样号导。在从所述采样号偏移量和所述第一基础采样号对所述第一采样号的导出方法中,将所述采样号偏移量加到所述第一基础采样号上,以获得所述第一采样号,即,在媒体或提示磁轨中的实际第一采样号。此外,在所述文件中包括与所述第二数据部分关联的第二基础采样号,其中所述第二采样号能通过如相对于所述第一基础采样号所述那样的相同方式从所述采样号偏移量和所述第二基础采样号导出。因为如上所述利用采样号偏移量,所以在采样的插入或移除之后,不需要重写定时元数据采样中的采样号。因此,各个实施例可例如简化编辑操作,特别地就记录开端的移除而言,这可能通常属于适用编辑操作的最常用特征。根据结合附图的以下具体实施方式,本发明的这些和其他优点和特点及其组织和运行方式将变得清楚,在以下描述的几个附图中类似的元素具有类似的编号。图1是多媒体文件格式的分级结构的描述;图2示出根据ISO基础媒体文件格式的示例性盒;图3是示出采样编组的示例性盒;图4示出示例性盒,其包含具有SampletoToGroup盒的电影片段;图5示出在其中实现各个实施例的示例性多媒体通信系统的图形表示;图6是示出根据各个实施例的组织媒体和/或多媒体数据的方法的流程图;图7是示出根据各个实施例的访问媒体数据的方法的流程图8是示出根据各个实施例的解码媒体数据和访问索引的流程图;图9是可结合各个实施例的实现方式使用的电子设备的透视图;以及图10是可在图9的电子设备中包括的电路的示意性表示。具体实施例方式图5示出在其中实现本发明的各个实施例的一般多媒体通信系统的图形表示。如图5所示,数据源500提供模拟格式、未压缩数字格式、或压缩数字格式或这些格式的任意组合的源信号。编码器510将源信号编码成编码媒体比特流。应注意,可从虚拟地位于任意类型网络中的远程设备直接或间接接收要被解码的比特流。此外,可从本地硬件或软件接收比特流。编码器510能够编码多于一种媒体类型(例如音频和视频),或可以需要多于一个编码器510对不同媒体类型的源信号编码。编码器510还可接收综合生成的输入(例如图形和文本),或其能够生成合成媒体的编码比特流。在下文中,仅考虑一个媒体类型的一个编码媒体比特流的处理,以简化说明。然而,应注意,典型的实时广播服务包括几个流(典型地至少一个音频、视频和文本字幕流)。还应注意,系统可包括许多编码器,但是在图5中仅表示一个编码器510,以在不失一般性的情况下简化说明。应理解,尽管这里包含的文本和实例可具体地描述编码处理,但是本领域普通技术人员将理解相同概念和原理同样应用于相应解码处理,反之亦然。将编码媒体比特流传送至存储器520。存储器520可包括用以存储编码媒体比特流的任意类型的海量存储器。在存储器520中的编码媒体比特流的格式可以是基本的自含式比特流格式,或者一个或多个编码媒体比特流可以被封装到容器文件中。一些系统“现场”运行,即省略存储器,并将编码比特流从编码器510直接传送到发送器530。于是,根据需要,将编码媒体比特流传送到发送器530,其还称为服务器。在传输中使用的格式可以是基本的自含式比特流格式、分组流格式,或者一个或多个编码媒体比特流可被封装到容器文件中。编码器510、存储器520、和服务器530可驻留在相同物理设备中,或者他们可被包括在分开的设备中。编码器510和服务器530可通过现场实时内容来运行,在这种情况下典型地不永久地存储编码媒体比特流,而是在内容编码器510中和/或服务器530中短时间缓冲,以缓和处理延迟、传输延迟、和编码媒体比特率的变化。服务器530通过使用通信协议栈发送编码媒体比特流。所述栈包括但不限于,实时传输协议(RTP)、用户数据报协议(UDP)、和互联网协议(IP)。当通信协议栈是面向分组的时,服务器530将编码媒体比特流封装到分组中。例如,当使用RTP时,服务器530根据RTP净荷格式将编码媒体比特流封装到RTP分组中。典型地,每个媒体类型具有专用RTP净荷格式。还应注意,系统可包含多于一个服务器530,但是为了简单,以下描述仅考虑一个服务器530。服务器530可通过通信网络连接至网关540,也可以不连接至网关540。网关540可执行不同类型的功能,例如,对根据一个通信协议栈的分组流向另一通信协议栈的解译、数据流的合并和分离、以及根据下行链路和/或接收机能力对数据流的操作,如根据主要下行链路网络条件控制被转发流的比特率。网关540的示例包括多点会议控制单元(MCU)、电路交换和分组交换视频电话之间的网关、无线一键通(PoC)服务器、在数字视频广播-手持(DVB-H)系统中的IP封装器、或向家庭无线网络本地转发广播传输的机顶盒。当使用RTP时,网关540称为RTP混合器或RTP解译器,并典型地用作RTP连接的端点。系统包括一个或多个接收机550,其典型地能够接收所发送的信号,并将其解调制、和解封装成编码媒体比特流。将编码媒体比特流传送至记录存储器555。记录存储器555可包括任意类型的海量存储器以存储编码媒体比特流。记录存储器555可备选地或额外地包括计算存储器,例如随机存取存储器。在记录存储器555中的编码媒体比特流的格式可以是基本自含式的比特格式,或者可将一个或多个编码媒体比特流封装到容器文件中。如果存在许多彼此关联的编码媒体比特流(例如音频流和视频流),则典型地使用容器文件,并且接收器550包括或附连至从输入流生成容器文件的容器文件生成器。一些系统“现场”运行,即省略记录存储器555,并将编码媒体比特流从接收器直接传送到解码器560。在一些系统中,在记录存储器555中仅维护所记录流的最近的部分,例如所记录流的最近10分钟的节录,而从记录存储器555丢弃任意更早记录的数据。将编码媒体比特流从记录存储器555传送至解码器560。如果存在许多彼此关联的并封装到容器文件中的编码媒体比特流(例如音频流和视频流),则使用文件解析器(图中未示出)从容器文件解封装每个编码媒体比特流。记录存储器555或解码器560可包括文件解析器,或者文件解析器附连至记录存储器555或解码器560。典型地,通过解码器560进一步处理编解码器媒体比特流,所述解码器560的输出是一个或多个未压缩的媒体流。最后,呈现器570可通过例如扬声器或显示器再现未压缩的媒体流。接收器550、记录存储器555、解码器560、和呈现器570可驻留在相同物理设备中,或者他们可被包含在分开的设备中。各个实施例提供了使用采样号以使定时元数据采样与媒体采样或提示采样配对的系统和方法。换句话说,由于时间媒体采样中包含的采样号是相对于适当媒体或提示磁轨被提供的,可使得定时元数据采样与媒体采样或提示采样配对。此外,可向所提供的采样号增加适于多个定时元数据采样存在的情形的采样号偏移量,以获得媒体或提示磁轨中的实际采样号。因为如上所述利用了采样号偏移量,不需要在采样插入或移除之后重写在定时元数据采样中的采样号。因此,各个实施例可例如简化编辑操作,特别就记录起点的移除而言——这通常是可应用编辑操作的最常用特征之一。应注意,以下提供的句法和语义使得能够进行定时元数据与媒体和/或提示采样配对,并且采样号偏移量的使用是在DVB文件格式的背景下以及用于DVB文件格式的其他索引机制下描述的。然而,各个实施例不需要受限于这里描述的句法和语义,并且还适于其他文件格式。也就是说,各个实施例可以在用于实现任意两个“采样”的关联的各种系统和方法中实现,其中“采样”关联于相对于其他采样的时间轴或序列顺序。根据各个实施例的定时元数据磁轨利用例如以下的采样项目abstractclassIndexSampleEntry()extendsMetadataSampleEntry(^ixse,)unsignedint(16)program—number;unsignedint(16)entry_count;int(32)sample—number_offset;for(i=1;i<=entry_count;i++)unsignedint(32)index_type_4cc;}IndexSampleEntry指示可以在与这个特定采样项目关联的采样中存在的索引类型。program_number标识在MPEG-2传输流中的节目。如果entry_count等于0,则可在与这个采样条目关联的采样中包括任何索引。如果entry_Coimt大于0,则给出indeX_type_4cc值的循环,并且index_type_4CC的每个值指示可在与这个采样项目关联的采样中存在的盒的4字符编码。如果存在用于接收提示磁轨的许多定时元数据磁轨,则可使用index_type_4cc值定位包含期望索引的磁轨。此外,sample_number_offset规定要向关联的定时元数据采样中的Sample_nUmber增加的偏移量,以获得在引用的磁轨中的采样号。应注意,除了上述采样项目之外的其他机制可用于将sample_number_0ffset关联至多个采样。例如,可在SampleTableBox中引入新盒,以包含sample_number_offset。将新盒中的Sample_nUmber_0ffSet应用于由各个电影盒或电影片段盒引用的所有采样。备选地,可在TrackHeader盒和TrackFragmentHeader盒中包括新字段,以分别包含用于Track盒或TrackFragment盒所引用的采样的samplenumberoffset。以下给出包含索引和分段元数据的用于定时元数据磁轨的采样格式示例aligned(8)classIndexSample{unsignedint(32)sample_number;boxindex_box[];}与给定索引关联的接收提示磁轨中的采样具有等于Sample_number+Sample_number_offset的采样号。IndexSample包含0个或多个索引盒,其中用于所包括的索引盒的4字符编码在由关联采样条目指示的那些中。以下是可通过各个实施例使用的索引盒的实例abstractaligned(8)classDVBIndexBox(type)extendsBox(type){unsignedint(4)time—accuracy;unsignedint(4)sample—accuracy;if(time_accuracy>=8)unsignedint(32)max_timing_inaccuracy;if(sample_accuracy>=8)unsignedint(32)max_sample_accuracy;}为time—accuracy禾口sample_accuracy规定以下值:0x0精确的,0x1未规定的,0x2启发式的,0x3保留的(未提供最大值),0x4-0x7应用特定的(未提供最大值),0x8规定最大不精确度,0x9:保留的(提供最大不精确度),OxA-OxF:应用特定的(提供最大不精确度)。aligned(8)classDVBVideoIndexextendsDVBIndexBox('idvi,){unsignedint(8)video_event_mask;unsignedint(24)video_event_length;};video_event_mask是指示在所指示的采样中开始的视频事件(多个)的比特掩码,如根据如下的表1。表1用于video_event_mask的掩码值Vide0_eVent_length指示构成这个视频图片的采样(传输分组)的数目,包括当前分组。值“0”应被用于表示“未知”。此外,SyncSample盒也可承载对于类型0x01的事件的索引。aligned(8)classDVBPCRIndexextendsDVBIndexBox(‘idpi,){unsignedint(l)PCR_discontinuity_flag;unsignedint(5)reserved_0;unsignedint(42)PCR_Value;}PCR_discontinuity_flag是如果在关联PCR事件中存在节目时钟基准(PCR)中断则应设置为“1”的字段。否则,其应该设置为“0”。PCR_value从被索引的PCR提取的27MHz值,即,根据IS0/IEC国际标准13818-1中的等式(2-1)。aligned(8)classDVBPolarityChangeextendsDVBIndexBox('idpc,){unsignedint(8)polarity;}极性(polarity)指的是关联事件的极性,根据表2,如下表2极性值的说明以上表2的值指示新的、适当的极性值,其中定时元数据采样对应于具有这个新极性的第一接收提示采样。然而,应注意,极性改变索引应仅看作当给定PID上的分组流的极性改变时发生,而当在不同PID分组之间改变时不发生。通过如下规定的极性,Ca_eVent_data应指示包括用于承载条件访问(CA)事件的分组的字节。通常,尽管并非始终,但是这将是授权控制消息(ECM)。Ca_event_data持续,直到盒的结尾,并且可从盒的长度确定ca_event_data的长度。aligned(8)classDVBCAIndexextendsDVBIndexBox(‘idci,){unsignedint(8)polarity;unsignedint(8)ca_event_data[];}而且,以下呈现与时间轴相关的另一索引盒aligned(8)classDVBTimecodeIndexextendsDVBIndexBox('idtc'){unsignedint(8)timeline_id;unsignedint(2)reserved_0;unsignedint(6)tick_format;//如根据TR102823中表6unsignedint(32)absolute_ticks;}timeline_id是时间轴的标识符。tick_format是规定absolute_ticks字段应该采用的格式的字段。absolutejicks是如字段tick_f0rmat指示的那样被编码的时间码。与段更新相关的索引盒如下aligned(8)classDVBSectionUpdateIndexextendsDVBIndexBox('idsu,){unsignedint(8)table_id;unsignedint(16)table_id_extension;unsignedint(8)section_no;unsignedint(n*8)section—data;//可选}table_id是正被索引的段版本更新的表id。tablejcLextension是从正被索引的段版本更新的扩展(或用于节目映射表(PMT)的progranummber,或用于节目关联表(PAT)的transport_stream)。section_no指的是这个更新所应用的段号。section_data是可能不存在的字段。然而,如果这个字段存在,则其包含新版本的段数据。段数据应持续,直到盒的结尾,并且可从盒的长度确定sectiorudata的长度。以下指定根据各个实施例可利用的另一索引盒aligned(8)classDVBIDIndexextendsDVBIndexBoxdidi~){unsignedint(5)reserved;unsignedint(3)running_status;unsignedint(24)ID_Table_index;//如按照102323中的表105}running_status是指示由ID_Table_index字段引用的ID的状态的字段(例如该ID是正在运行还是暂停)。这个字段的值在ETSITS102323贡献文档中被定义。ID_Table_index是到DVBIDTableBox中的索引,其指示在这个位置通过指示的running_status应用的ID。以下是通过各个实施例使用的另一索引表,其中ID_Coimt是符合DVBIDTable的ID数目,ID是唯一资源标识符(URI)格式化ID。aligned(8)classDVBIDTableextendsFullBoxCdidt~,version=0,0){unsignedint(32)ID_count;for(i=0;i<ID_count;i++){stringID;//URI格式}}应注意,以下规定索引盒的其他实例(先前没有与DVB文件格式相关地提出)aligned(8)classSDPUpdateextendsDVBIndexBox('idsd'){stringsdp_text;}sdp_text是从所指示的采样开始有效的包含SDP描述的空结束串。以下索引盒涉及密钥更新和消息aligned(8)classKeyUpdateextendsDVBIndexBox('idkm,){stringkey_message;}keyjiiessage包含将被用于解密从相关接收提示采样开始的分组净荷的密码密钥。如下可指定错误索引盒aligned(8)classErrorIndexextendsDVBIndexBox('idei'){unsignedint(2)packet_header_error;unsignedint(2)packet_payload_error;unsignedint(2)packet—sequence—gap;unsignedint(2)reserved;}packet_header_error是错误值,其中值OxO指示分组头不包含错误。值Oxl指示分组头可能包含错误,或可能不包含错误。值0x2指示分组头包含错误,以及值0x3被保留。packet_payload_error表示另一错误值,其中值0x0指示分组净荷不包含错误。值Oxl指示分组净荷可能包含错误,或可能不包含错误,值0x2指示分组净荷包含错误,以及值0x3被保留。packet_sequence_gap表示跟随顺序,其中值0x0指示分组按传输顺序直接跟随接收提示磁轨中的先前分组。值Oxl指示分组可按传输顺序直接跟随接收提示磁轨中的先前分组,也可以不直接跟随。值0x2指示分组不按传输顺序直接跟随接收提示磁轨中的先前分组,例如,在这个分组之前存在至少一个丢失分组。值0x3被保留。当创建用于索引或分段元数据的定时元数据磁轨时,针对文件生成可以遵循以下实践。第一,可创建一个定时元数据磁轨,用于节目特定索引和单个节目MPEG-2传输流的元数据。节目特定索引和元数据可同等地应用于节目的音频和视频流,以及节目的任意其他潜在组成,例如副标题流。第二,可创建根据节目的一个定时元数据磁轨,用于节目特定索引和多个节目MPEG-2传输流的元数据。换句话说,定时元数据磁轨可包含仅一个节目的元数据。结果,节目可通过其progranummber值识别,后者是用于MPEG-2传输流中的节目的16比特唯一标识符,其用在例如MPEG-2传输流的PAT和PMT中。参数program_number可被包括在例如用于与MPEG2-TS接收提示磁轨关联的定时元数据磁轨的采样条目结构中。第三,可创建一个定时元数据磁轨,用于MPEG2-TS节目的每个基础流的媒体特定索引。媒体特定索引仅应用于特定媒体类型。例如,他们可以是视频的参考和非参考帧的指示,或视频的时间可扩展等级的指示。第四,可创建一个定时元数据磁轨,用于RTP流的媒体特定索引。第五,可创建一个定时元数据磁轨,用于多个RTP流的节目特定索引。使用磁轨引用,将定时元数据磁轨与RTP接收提示磁轨关联。备选地,定时元数据磁轨可通过磁轨引用与“主”接收提示磁轨关联,并且通过上述TrackRelationBox(磁轨关系盒)指示其他关联的接收提示磁轨。最后,尽管每基础媒体流的一个节目特定的定时元数据磁轨和一个媒体特定的定时元数据磁轨通常是优选的,但是可创建多于一个定时元数据磁轨。例如,如果在节目自身之后提供用于节目的备选时间轴,则从文件设置的观点,创建用于提供的时间轴的新定时元数据磁轨更实用。接收器还可创建包括许多索引类型的“复用的”定时元数据磁轨,和“专用的”定时元数据磁轨,每一“专用的”定时元数据磁均包括一个索引类型。与其创建用于“专用的”定时元数据磁轨的分开的采样,倒不如接收器可在“专用的”定时元数据磁轨的采样表盒中创建多个盒,从而使得“专用的”定时元数据磁轨的采样实际上是“复用的”定时元数据磁轨的采样的子集。换句话说,相同的采样数据部分被称为来自不同定时元数据磁轨的多重时间。此外,接收器可如下操作,以响应每个接收的分组。第一,可将接收的分组转换成mdat盒中的接收提示采样。第二,可导出索引和分段的元数据,其中可将关联的元数据采样(如果存在)写入mdat盒(直接在相应接收提示采样之后)。第三,可更新在接收提示磁轨的磁轨头部中的盒。第四,可更新在定时元数据磁轨的磁轨头部中的盒。最后,如果为磁轨头保留的存储器差不多完全被占用(并且不能够被动态分配),则可开始新电影片段。应注意,具有大量缓冲存储器的接收器可在存储器的连续块中设置多个元数据采样和接收提示采样,因此,实现了对于sampletochunk(采样到块)盒和chunkoffset(块偏移量)盒所需的存储空间的节省。还应注意,当涉及与索引和分段元数据关联的接收提示采样时,索引和分段元数据可具有以下特征(1)索引可指示从关联的接收提示采样向前有效的特征,通常直到相同类型的下一索引。例如,索引可指示在MPEG-2传输流中加扰的极性改变;(2)索引可指示单个接收提示采样或与接收提示采样同步的事件的特征。书签是这种索引的实例;(3)索引可指示在关联的接收提示采样和先前接收提示采样之间的流的特征。丢失分组的指示是这种索引;(4)索引可指示编码媒体采样的特征。应注意,这里所述的定时元数据磁轨关联至接收提示采样,接收提示采样通常不精确地包含一个媒体采样,并且用于一个媒体采样的数据可位于连续接收提示采样中(例如,因为在MPEG-2传输流中复用基础音频和视频流)。因此,关于可如何对媒体采样索引存在至少两个选择,例如,索引可仅与包含用于媒体采样的数据的第一接收提示采样关联,或索引可与包含用于媒体采样的所有接收提示采样关联。如下所述,利用各个实施例来简化编辑操作,包括但不限于,记录的开端的移除,记录的中间段的移除,两个记录的并置,以及在记录中间中采样段的插入。最终用户可期望移除记录的开端,例如,因为安排的记录可能没有精确地匹配于期望节目的实际开始时间,因此记录的开端包含先前的节目。在下文中,要删除的最后接收提示采样的采样号是s2。从开端移除在接收提示磁轨中的采样直到S2包括在内为止。从磁轨中的采样移除可包括但不限于以下操作。例如,可执行MoveHeader(移动头部)盒(特别地,其modification_time和持续时间句法元素)的重写,类似于TrackHeader(磁轨头部)盒(特别地,其modification_time和持续时间句法元素)的重写,以及MediaHeader(媒体头部)盒的重写(特别地,其modificationjime和持续时间句法元素)。此外,记录的开端的移除可包括重写DecodingTimetoSample盒(和类似地,CompositionTimetoSample盒,如果存在),其方式为从盒移除所移除的采样的信息。还可包括以从盒移除所移除的采样的信息的方式重写SampleSize盒或CompactSampleSize盒(每当存在时)。其他操作可包括以所移除的采样的信息不被盒引用的方式来重写SampletoChunk盒。还可执行另一操作,即以下面的方式重写ChimkOffset盒,其方式为仅包含被移除的采样的块不包含在该盒中,而以不引用所移除的采样的方式写入chimk_0ffSet的其他值。此外,有可能以这样的方式重写SyncSample(同步采样)盒和ShadowSyncSample盒(如果存在),该方式为在所移除的采样中所指示的sync采样不再被盒引用,类似的是以这样的方式的TrackFragmentHeader盒和TrackFragmentRun盒(如果存在)的重写,该方式为所移除的采样不被引用。应注意,上文并未描述要重建的所有盒。因此,也可对另外的盒需要类似操作。其他操作可包括重写moov盒或moof盒中的盒,其可导致在字节方面比先前的盒更小。因此,在文件中空闲的空间可通过FreeSpace盒代替,或者可通过在文件中重新定位盒的方式紧缩文件。此外,盒(特别地,mdat盒)的重新定位可引起相对于文件等级中的位置的字节偏移量(即,从文件的开端计算的字节偏移量)的重写。例如在ChunkOffset盒中使用这种字节偏移量。此外,在磁轨中的所移除的采样可以是“物理移除的”,即,可重新组织mdat盒中的数据,使得所移除的采样不再存在于mdat盒中。类似地,并如上所述,随后必须重写从文件开端的字节偏移量。或者,用于所移除的采样的空间可能不被解除分配,而是所移除的采样不再被moov和/或moof盒中的任何盒引用。如果存在多于一个关联的接收提示磁轨(例如音频和视频RTP接收提示磁轨),则根据合成时间(RTP时间戳)移除来自两个接收提示磁轨的采样。将要从定时元数据磁轨移除的采样通过遍历定时元数据采样来发现,直到sample_number+sample_number_offset>S20还从定时元数据磁轨移除从定时元数据磁轨的开端直到具有sample_number+sample_number_offset<=S2的最后采样的采样。从定时元数据磁轨的采样移除类似于上述从磁轨的采样移除。用于定时元数据磁轨的采样条目中的samplmumberjfTset被设置为prev_sample—number_offset+(S1-S2-I),其中prev_sample_number_offset等于先前施力口于所移除的段之后的定时元数据采样的Sample_nUmber_0fTSet,并且S1是第一采样的采样号。不需要重写剩余的定时元数据采样。如果在SampleDescription盒中存在多于一个采样条目,则如上所述地修改在所有采样条目中的sample_number_0fTset的值。对于从记录的中间移除段,例如,响应于自动广告检测和移除,在以下描述中,第一和最后接收提示采样的采样号分别是S1和s2。以相对于上述记录的开端的移除的相同或基本类似方式,从接收提示磁轨移除采样。要从定时元数据磁轨移除的第一采样是sample_number+sample_number_offset>=S1的第一个。要从定时元数据磁轨移除的最后采样是sample_number+sample_number_offset<=S2的最后一个。此外,创建对于定时元数据磁轨的SampleDescription盒的新采样条目。新采样条目描述在删除的段之后的采样的采样格式。随在所移除的段之后的块通过SampletoChunk盒与新采样条目关联。将用于定时元数据磁轨的新采样条目中的sample—number_offset设置为prev_sample—number_offset+(S1-S2-I),其中prev_Sample_nUmber_0ffSet被如上规定。如果存在原先描述在所删除的段之前和所删除的段之后的两个采样的多于一个采样条目,则针对他们中的每一个创建新采样条目,并且如上所述地导出在所有采样条目中的sample_number_offset的值。对于并置两个记录,可将两个记录并置成一个,例如,以便将相同的电影情节或系列组合成一个文件,其中向磁轨的采样插入可包括但不限于以下操作(1)重写MovieHeader盒(特别地,其modification_time和持续时间句法元素);(2)重写TrackHeader盒(特别地,其modification_time和持续时间句法元素);(3)重写MediaHeader盒(特别地,其modification_time和持续时间句法元素);(4)重写DecodingTimetoSample盒(和类似地,CompositionTimetoSample盒,如果存在);(5)重写SampleSize盒或CompactSampleSize盒(每当存在时)以并入所插入的采样;(6)以包括所插入的采样的方式重写SampletoChunk盒;(7)重写ChunkOffset盒,以并入所插入的采样,其中所插入的采样通常被包含在与文件中原始存在的块分离的块中;(8)如果存在,重写SyncSample盒和ShadowSyncSample盒,以并入所插入的采样;以及(9)如果存在,重写TrackFragmentHeader盒和TrackFragmentRun盒,以并入所插入的采样,其中应注意,如果插入文件的段与片段边界对齐,即,没有被包括在片段的中间,则可通过向文件包括一个新片段或多个新片段来进行插入。还应注意,上文并未描述要重建的所有盒。因此,也可对附加盒需要类似操作。此外,并置可包括重写moov盒或moof盒中的盒,其可导致在字节方面比先前的盒更大。如果不存在从中分配所增加的存储空间的空闲空间盒,则可重新定位文件中的后续盒。盒(特别地,mdat盒)的重新定位可引起相对于文件等级中的位置的字节偏移量(即,从文件的开端计算的字节偏移量)的重写,其中例如在ChunkOffset盒中使用这种字节偏移量。通过以上过程(多个)将时间轴中的第二文件的所有磁轨插入第一文件的相应磁轨的结尾。将两个采样条目被包括在SampleDescription盒中,用于并置文件的定时元数据磁轨。第一采样条目相应于在时间轴中第一个出现的原始文件。第一采样条目保持不变。第二采样项目相应于在时间轴中最后一个出现的原始文件。第二采样条目在其他方面保持不变,但是将sample—number_offset的值设置为prev—sample—number—offset+第一文件的接收提示磁轨中的采样号。如果原始文件包含多于一个用于定时元数据磁轨的采样条目,则将所有那些采样条目包括在并置文件的SampleDescription盒中,并且如上所述修改第二文件的全部采样条目。如上所述,采样段在记录中间的插入是可通过各种实施例简化的另一编辑操作。在以下描述的这种操作中,在所插入采样的直接先前或随后的接收提示采样的采样号分别是S1和s2,并且在其原始文件中要被插入的第一和最后接收提示采样的采样号分别是S3和S40以上述基本类似方式将采样插入接收提示磁轨中。如上所述,参照与“在记录中间中的段的移除”相关的处理从定时元数据磁轨定位与S1和S2对应的采样。同样如上所述那样将与所插入的采样相应的定时元数据采样插入定时元数据磁轨,并且将原始用于所插入采样的定时元数据的一个或多个采样条目包括在文件中。将这些采样项目中的Sample_nUmber_offset设置为prev_sample_number_0ffset-s3+si+l。针对原始地用于在采样S2之前和在采样S2之后两者的定时元数据的采样项目创建一个或多个采样条目的第二副本。将描述从S2开始的采样的采样条目的samp1e_number_offset值设置为prev_samp1e_number_offset+s4~s3+lο如上所述,尽管在用于DVB文件格式的基于定时元数据磁轨索引机制的背景中描述了这里提供的各个实施例,但是各个实施例可被如下更一般地应用。各个实施例适于用于DVB文件格式的、使用采样号来将索引同步至接收提示采样(例如DVBIndexTable盒,以及采样事件和采样属性)的其他索引提议。可以在DVBIndexTable盒中承载sample_number_offsetο如果需要具有适于在DVBIndexTable盒中的索引的多于一个sample_number_offset值,例如,如果编辑插入或剪切点出现在DVBIndexTable盒中的索引的中间,则可执行包括但不限于以下内容的各个实施例。第一,将电影片段设置为匹配插入和剪切点,从而使得对于每个电影片段的DVBIndexTable盒仅需要一个sample_number_offset值。第二,在moov盒中或在任意moof盒中可出现多于一个DVBIndexTable盒。这些DVBIndexTable盒中的每个承载与接收提示采样的非重叠段相应的索引,并且每个DVBIndexTable盒包含一个sample_number_offset值。第三,可在DVBIndexTable盒中存在多于一个sample—number_offset值,每个samp1e_number_offset值适于通过samp1e_number_offset值所指示的一个或多个索引。因为存在用于每个索引类型的一个SampletoEvent或SampletoProperty盒,通常在编辑操作之后会在所有这些盒中更新samplejumber值。为了避免这个更新,可如下指定在SampleTable盒或TrackFragment盒中包括的新ReferencedSampleNumberOffset盒aligned(8)classReferencedSampIeNumberOffsetBoxextendsBox('rsno,){unsignedint(32)entry_count;for(i=1;i<=entry_count;i++){unsignedint(32)last_sample_number;int(32)sample_number_offset;}}可将条目i的last_sample_number禾口sample_number_offset设置为分别等于last_sample_number[i]禾口sample_number_offset[i]。last_sample_number可设置为等于0。当引用相关联的接收提示磁轨中的采样时,应将last_sample_number[m]加到在满足不等式last_sample_number[m_l]<sample_number<=last_sample_number[m]任意SampletoEvent盒禾口任意SampletoPropertY盒中的那些sample_number值。如果sample_number_offset[n]等于预定义常量,例如2~31_1,则包括的与last_sample_number[n-l]+l至last_sample_number[η]范围内的采样号关联的事件和属性无效。这个处理可用于将与所移除的采样相应的索引标记为无效,而无需重写SampletoEvent盒和SampletoProperty盒。应注意,各个实施例同样适于描述除了接收提示磁轨之外的磁轨类型的索引。例如,各个实施例适于描述媒体磁轨、虚拟媒体磁轨、服务器提示磁轨、和定时元数据磁轨。此夕卜,应注意,其中应用/实现各个实施例的设备和/或系统并非必须包含所接收数据流的记录。除了DVB索引和分段元数据之外,各个实施例还适于其他类型的定时元数据,以及适于除了包含描述其他类型的采样的元数据采样之外的其他关系类型。即,各个实施例一般地适于位于不同的数据部分排序序列中的两个数据部分彼此关联的任意关系。此外,各个实施例适于除了包含采样号之外的其他类型的关联方法。例如,如果定时元数据采样通过将接收提示采样(绝对)解码时间戳包括在定时元数据采样中来与接收提示采样关联,可修改这里提出的结构,以包含deC0ding_time_0ffset而非sample—number_offset0类似地,如果针对定时元数据采样到接收提示采样的关联使用相对于文件开端或文件中的任意可区分点(例如mdat盒的开端)的字节地址,则可修改这里提出的结构,以包含byte_address_offset而非sample—number_offset0图6是示出根据各个实施例的组织媒体和/或多媒体数据的示例性方法的流程图。在600,在文件中存储第一和第二采样,其中第一和第二采样可表示例如媒体或提示磁轨。第一采样关联于第一数据部分,第二采样关联于第二数据部分,其中第一和第二数据部分代表媒体或提示磁轨的部分。应注意,第一数据部分和第二数据部分不同。换句话说,元数据(即,第一和第二数据部分)并非“静态的”。在610,将第一采样号关联于第一采样,以及在620,将第二采样号关联于第二采样,其中第一和第二采样号包含在例如定时元数据采样中,并与媒体和/或提示磁轨有关。在630,采样号偏移量被包括在文件中。在640,与第一数据部分相关的第一基础采样号被包括在文件中。应注意,第一采样号可从采样号偏移量和第一基础采样号导出。因此,如上所述,可将适于多个定时元数据采样的采样号偏移量加到第一基础采样号上,以获得第一采样号,即在媒体或提示磁轨中的实际第一采样号。在650,与第二数据部分相关的第二基础采样号被包括在文件中,其中第二采样号可通过如对于第一基础采样号描述的那样的相同方式从采样号偏移量和第二基础采样号导出。索引可用于作为媒体磁轨或接收提示磁轨存储的媒体数据的非连续访问。例如,文件的回放可从与某个索引值关联的采样开始。在图7中,示出根据各个实施例的访问媒体数据的示例性方法。在700,从文件获得采样号偏移量。在710,从文件识别第一数据部分,其中第一数据部分包含例如用于媒体磁轨或提示磁轨的非连续访问的期望索引值。在720,从文件获得第一基础采样号。通常,第一基础采样号的采样位置与第一数据部分的存储位置相关。例如,可将第一基础采样号与第一数据部分相邻地存储在一起,形成定时元数据采样。在730,从采样号偏移量和第一基础采样号导出第一采样号。在740,基于在媒体磁轨或提示磁轨中给出的信息和第一采样号导出文件中的第一采样的位置。位置的导出可能需要以下步骤第一,基于采样号,解析SampletoChunk盒中的信息可显示采样所在的块的块号。第二,ChunkOffset盒显示块相对于文件开端的字节偏移量。第三,SampleSize盒基于采样号显示相对于块的开端的采样的字节偏移量。如果采样位于电影片段中,TrackFragmentHeader盒和TrackFragmentRun盒显示类似信息。在750,基于文件中的采样的位置访问第一采样。索引还可被需要或有助于解码和回放文件。例如,文件的解码可需要在定时元数据磁轨中作为索引所包括的密钥消息的处理。为了解码在接收提示磁轨中存储的流,需要密钥。在图8中,示出根据各个实施例的解码媒体数据和访问索引的示例性方法的流程图。在800,从文件获得采样号偏移量。在810,从媒体磁轨或提示磁轨获得第一采样。基于先前采样的采样号(如果存在)将第一采样号与第一采样号关联。如果在第一采样之前没有采样,则将第一采样号设置为预定义的值。在820,从文件获得第一数据部分。在830,从文件获得第一基础采样号。通常,第一基础采样号的存储位置与第一数据部分的存储位置相关。例如,第一基础采样号和第一数据部分可相邻地存储,并形成定时元数据采样。在840,从采样号偏移量和第一基础采样号导出第一引用的采样号。在850,将第一采样号与第一引用的采样号相比较。如果第一采样号与第一引用的采样号相同,则在860,使用第一数据部分来处理第一采样。处理第一采样可包括例如解密或自觉误差解码。可对于随后的采样和数据部分重复步骤810至860。结合和实现本发明各个实施例的通信设备可使用各种传输技术来通信,包括但不限于,码分多址(CDMA)、全球移动通信系统(GSM)、通用移动通信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议/互联网协议(TCP/IP)、短消息服务(SMS)、多媒体消息服务(MMS)、电子邮件、即时消息服务(IMS)、蓝牙、IEEE802.11等。在实现本发明各个实施例中涉及的通信设备可通过使用各种介质通信,包括但不限于,无线电、红外、激光、电缆连接等。图9和10示出其中可实现本发明的一个代表性电子设备12。然而,应理解,本发明不限于一个特定类型的电子设备12。图9和10的电子设备12包括外壳30、液晶显示器形式的显示器32、小键盘34、麦克风36、耳机38、电池40、红外端口42、天线44、根据本发明一个实施例的UICC形式的智能卡、读卡器48、射频电路52、编解码器电路54、控制器56、存储器58和电池80。各个电路和元件都是本领域公知的类型。在方法步骤或处理的一般上下文中描述这里的各个实施例,其可通过包括由网络环境中的计算机执行的计算机可执行指令(例如程序代码)的程序产品在一个实施例中实现。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。计算机可执行指令、关联数据结构、和程序模块代表用于执行这里所述的方法步骤的程序代码的实例。这种可执行指令或关联数据结构的特定序列代表用于实现在这种步骤中描述的功能的相应行为的实例。可通过具有基于规则的逻辑和其他逻辑的标准编程技术实现各个实施例的软件和web方案,以实现各个数据库搜索步骤或处理、关联步骤或处理、比较步骤或处理和确定步骤或处理。还应注意,这里和权利要求书中使用的词语“部件”和“模块”旨在包含使用一行或多行软件代码的实现方式、和/或硬件实现方式、和/或接收手动输入的设备。可在软件、硬件、应用逻辑或软件、硬件和应用逻辑的组合中实现各个实施例。软件、应用逻辑和/或硬件可位于芯片集、移动设备、台式计算机、膝上型计算机或服务器上。应用逻辑、软件或指令集优选地在各个传统计算机可读介质的任一个上维护。在本文档的上下文中,“计算机可读介质”可以是包含、存储、通信、传播或传输用于或结合指令执行系统、装置或设备的指令的任意介质或装置。为了图示和说明的目的,呈现了各个实施例的以上描述。以上描述并非穷尽的或限制本发明实施例所公开的精确形式,根据以上教导可进行修改和改变,或者可根据本发明各个实施例的实践获得修改和改变。选择和描述这里讨论的实施例,以说明本发明的原理及其实际应用,以使得本领域普通技术人员能够利用各个实施例中的本发明,并且各个实施例适用于预计的特定使用。可以将这里所述的实施例的特征组合到方法、装置、模块、系统、计算机程序产品和数据结构的所有可能组合中。权利要求一种在至少一个文件中组织媒体和多媒体数据中的至少一个的方法,包括在所述至少一个文件中存储第一采样、第一数据部分、第二采样、和第二数据部分,所述媒体和多媒体数据中的至少一个包括所述第一和第二采样,所述第一数据部分与所述第一采样关联,以及所述第二数据部分与所述第二采样关联;将第一采样号与所述第一采样关联;将第二采样号与所述第二采样关联;将采样号偏移量包括在所述至少一个文件中;将与所述第一数据部分关联的第一基础采样号包括在所述至少一个文件中,所述第一采样号能从所述采样号偏移量和所述第一基础采样号中导出;以及将与所述第二数据部分关联的第二基础采样号包括在所述至少一个文件中,所述第二采样号能从所述采样号偏移量和所述第二基础采样号导出。2.如权利要求1所述的方法,其中所述第一和第二采样的每个表示在媒体磁轨和提示磁轨之一中包括的数据部分的排序序列,以及其中所述排序序列包括第一和第二数据部分。3.如权利要求1所述的方法,其中所述第一和第二数据部分不同。4.如权利要求1所述的方法,其中所述第一和第二采样号中的至少一个能够用于通过移除所述媒体和多媒体数据中的至少一个的开端部分来编辑所述至少一个文件,以及其中移除开端部分包括通过重写ISO基础媒体文件格式盒和实际移除所述第一和第二采样中的至少一个中的至少一个操作来移除所述第一和第二采样中的至少一个。5.如权利要求1所述的方法,其中所述第一和第二采样号中的至少一个能够用于通过移除所述媒体和多媒体数据中的至少一个的中间部分来编辑所述至少一个文件,以及其中移除中间部分包括通过重写ISO基础媒体文件格式盒和实际移除所述第一和第二采样中的至少一个中的至少一个操作来移除所述第一和第二采样中的至少一个。6.如权利要求1所述的方法,其中所述第一和第二采样号中的至少一个能够用于通过并置所述媒体和多媒体数据中的至少一个的两个实例来编辑所述至少一个文件,以及其中并置包括重写和重新定位ISO基础媒体文件格式盒中的至少一个操作。7.如权利要求1所述的方法,其中所述第一和第二采样号中的至少一个能够用于通过将采样段插入所述媒体和多媒体数据中的至少一个来编辑所述至少一个文件。8.一种计算机程序产品,其实现在计算机可读介质上,包括被配置为执行权利要求1的处理的计算机代码。9.一种装置,包括处理器;以及存储器单元,可通信地连接至所述处理器,并包括被配置为在所述至少一个文件中存储第一采样、第一数据部分、第二采样、和第二数据部分的计算机代码,所述第一和第二采样包括媒体和多媒体数据中的至少一个,所述第一数据部分与所述第一采样关联,以及所述第二数据部分与所述第二采样关联;被配置为将第一采样号与所述第一采样关联的计算机代码;被配置为将第二采样号与所述第二采样关联的计算机代码;被配置为将采样号偏移量包括在所述至少一个文件中的计算机代码;被配置为将与所述第一数据部分关联的第一基础采样号包括在所述至少一个文件中的计算机代码,所述第一采样号能从所述采样号偏移量和所述第一基础采样号导出;以及被配置为将与所述第二数据部分关联的第二基础采样号包括在所述至少一个文件中的计算机代码,所述第二采样号能从所述采样号偏移量和所述第二基础采样号导出。10.如权利要求9所述的装置,其中所述第一和第二采样的每个表示在媒体磁轨和提示磁轨之一中包括的数据部分的排序序列,以及其中所述排序序列包括第一和第二数据部分。11.如权利要求9所述的装置,其中所述第一和第二数据部分不同。12.如权利要求9所述的装置,其中所述第一和第二采样号中的至少一个能用于通过移除所述媒体和多媒体数据中的至少一个的开端部分来编辑所述至少一个文件,以及其中移除开端部分包括通过重写ISO基础媒体文件格式盒和实际移除所述第一和第二采样中的至少一个中的至少一个操作来移除所述第一和第二采样中的至少一个。13.如权利要求9所述的装置,其中所述第一和第二采样号中的至少一个能用于通过移除所述媒体和多媒体数据中的至少一个的中间部分来编辑所述至少一个文件,以及其中移除中间部分包括通过重写ISO基础媒体文件格式盒和实际移除所述第一和第二采样中的至少一个中的至少一个操作来移除所述第一和第二采样中的至少一个。14.如权利要求9所述的装置,其中所述第一和第二采样号中的至少一个能用于通过并置所述媒体和多媒体数据中的至少一个的两个实例来编辑所述至少一个文件,以及其中并置包括重写和重新定位ISO基础媒体文件格式盒中的至少一个操作。15.如权利要求9所述的装置,其中所述第一和第二采样号中的至少一个能用于通过将采样段插入所述媒体和多媒体数据中的至少一个来编辑所述至少一个文件。16.一种装置,包括用于在所述至少一个文件中存储第一采样、第一数据部分、第二采样、和第二数据部分的装置,所述媒体和多媒体数据中的至少一个包括所述第一和第二采样,所述第一数据部分与所述第一采样关联,以及所述第二数据部分与所述第二采样关联;将第一采样号与所述第一采样关联的装置;将第二采样号与所述第二采样关联的装置;将采样号偏移量包括在所述至少一个文件中的装置;将与所述第一数据部分关联的第一基础采样号包括在所述至少一个文件中的装置,所述第一采样号能从所述采样号偏移量和所述第一基础采样号导出;以及将与所述第二数据部分关联的第二基础采样号包括在所述至少一个文件中的装置,所述第二采样号能从所述采样号偏移量和所述第二基础采样号导出。17.如权利要求16所述的装置,其中所述第一和第二采样的每个表示在媒体磁轨和提示磁轨之一中包括的数据部分的排序序列,以及其中所述排序序列包括第一和第二数据部分。18.如权利要求16所述的装置,其中所述第一和第二数据部分不同。19.一种方法,包括接收表示媒体和多媒体数据中的至少一个的至少一个文件;获得在媒体磁轨和提示磁轨的至少一个中的实际采样号,其关联于相对于所述媒体磁轨和提示磁轨中的至少一个的采样号偏移量以及定时元数据采样的采样号;以及基于所述实际采样号对所述媒体和多媒体数据中的至少一个执行编辑操作。20.如权利要求19所述的方法,其中执行编辑操作进一步包括以下操作中的至少一个移除所述媒体和多媒体数据中的至少一个的开端部分,移除所述媒体和多媒体数据中的至少一个的中间部分,并置所述媒体和多媒体数据中的至少一个的两个实例,将采样段插入所述媒体和多媒体数据中的至少一个。21.一种计算机程序产品,其实现在计算机可读介质上,包括被配置为执行权利要求19的处理的计算机代码。22.一种装置,包括处理器;以及存储器单元,可通信地连接至所述处理器,并包括被配置为接收表示媒体和多媒体数据中的至少一个的至少一个文件的计算机代码;被配置为获得在媒体磁轨和提示磁轨的至少一个中的实际采样号的计算机代码,所述实际采样号关联于相对于所述媒体磁轨和提示磁轨的至少一个的采样号偏移量以及定时元数据采样的采样号;以及被配置为基于所述实际采样号对所述媒体和多媒体数据中的至少一个执行编辑操作的计算机代码。23.如权利要求22所述的装置,其中所述存储器单元还包括被配置为移除所述媒体和多媒体数据中的至少一个的开端部分的计算机代码。24.如权利要求22所述的装置,其中所述存储器单元还包括被配置为移除所述媒体和多媒体数据中的至少一个的中间部分的计算机代码。25.如权利要求22所述的装置,其中所述存储器单元还包括被配置为并置所述媒体和多媒体数据中的至少一个的两个实例的计算机代码。26.如权利要求22所述的装置,其中所述存储器单元还包括被配置为将采样段插入所述媒体和多媒体数据中的至少一个的计算机代码。27.一种从至少一个文件访问媒体和多媒体数据中的至少一个的方法,其中第一采样和第一数据部分存在于所述至少一个文件中,其中所述媒体和多媒体数据中的至少一个包括第一采样,以及其中所述第一数据部分包括第一基础采样号和表征所述第一采样的数据,该方法包括接收对于表征采样的数据的期望值;解析所述第一数据部分;以及使得表征所述第一采样的数据匹配于对于表征所述采样的数据的期望值解析所述第一基础采样号;从所述至少一个文件解析采样号偏移量;基于所述第一基础采样号和所述采样号偏移量导出第一采样号;基于所述第一采样号在所述至少一个文件中定位所述第一采样;以及访问所述第一采样。28.如权利要求27所述的方法,其中所述期望值包括期望索引值。29.如权利要求28所述的方法,其中所述第一采样的访问包括基于所述期望索引值对媒体磁轨和提示磁轨之一的非连续访问。30.一种计算机程序产品,其实现在计算机可读介质上,包括被配置为执行权利要求27的处理的计算机代码。31.一种装置,包括处理器;以及存储器单元,可通信地连接至所述处理器,并包括被配置为接收对于表征采样的数据的期望值的计算机代码;被配置为解析所述第一数据部分的计算机代码,其中所述第一数据部分存在于至少一个文件中,所述至少一个文件包含连同第一采样一起将被访问的媒体和多媒体数据中的至少一个,其中所述媒体和多媒体数据中的至少一个包括所述第一采样,以及其中所述第一数据部分包括第一基础采样号和表征所述第一采样的数据;以及被配置为使得表征所述第一采样的数据匹配于对于表征所述采样的数据的期望值的计算机代码解析所述第一基础采样号;从所述至少一个文件解析采样号偏移量;基于所述第一基础采样号和所述采样号偏移量导出第一采样号;基于所述第一采样号在所述至少一个文件中定位所述第一采样;以及访问所述第一采样。32.如权利要求31所述的方法,其中所述期望值包括期望索引值。33.如权利要求31所述的方法,其中所述第一采样的访问包括基于所述期望索引值对媒体磁轨和提示磁轨之一的非连续访问。34.一种从至少一个文件访问表征媒体和多媒体数据中的至少一个的数据的方法,其中第一采样和第一数据部分存在于所述至少一个文件中,其中所述媒体和多媒体数据中的至少一个包括第一采样,以及其中所述第一数据部分包括第一基础采样号,该方法包括解析所述第一采样;基于预定义的编号方案和包括所述第一采样的采样顺序导出第一采样号;解析所述第一基础采样号;从所述至少一个文件解析采样号偏移量;基于所述第一基础采样号和所述采样号偏移量导出第一引用的采样号;以及使得所述第一采样号匹配于所述第一引用的采样号,解析所述第一数据部分,以及基于所述第一数据部分处理所述第一采样。35.如权利要求34所述的方法,其中所述第一采样表示在媒体磁轨和提示磁轨之一中包括的数据部分的排序序列,以及其中所述排序序列包括第一数据部分。36.一种计算机程序产品,其实现在计算机可读介质上,包括被配置为执行权利要求34的处理的计算机代码。37.一种装置,包括处理器;以及存储器单元,可通信地连接至所述处理器,并包括被配置为解析第一采样的计算机代码,其中所述第一采样和第一数据部分存在于至少一个文件中,以针对表征媒体和多媒体数据的至少一个的数据将被访问,其中所述媒体和多媒体数据中的至少一个包括所述第一采样,以及其中所述第一数据部分包括第一基础采样号;被配置为基于预定义的编号方案和包括所述第一采样的采样顺序导出第一采样号的计算机代码;被配置为解析所述第一基础采样号的计算机代码;被配置为从所述至少一个文件解析采样号偏移量的计算机代码;被配置为基于所述第一基础采样号和所述采样号偏移量导出第一引用的采样号的计算机代码;以及被配置为使得所述第一采样号匹配于所述第一引用的采样号,解析所述第一数据部分,和基于所述第一数据部分处理所述第一采样的计算机代码。38.如权利要求37所述的装置,其中所述第一采样表示在媒体磁轨和提示磁轨之一中包括的数据部分的排序序列,以及其中所述排序序列包括第一和第二数据部分。全文摘要提供这样的系统(200)和方法(600),用于使用采样号来将定时元数据采样与媒体或提示采样配对。由于在定时媒体采样中包含的采样号是相对于“适当的”媒体或提示磁轨而被提供的,所以可使得定时元数据采样与媒体或提示采样配对。此外,可向所提供的采样号增加适于多个定时元数据采样存在的情形的采样号的偏移量,以获得媒体或提示磁轨中的实际采样号。文档编号G06F17/30GK101842786SQ200880113926公开日2010年9月22日申请日期2008年10月29日优先权日2007年10月29日发明者M·汉努卡塞拉申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1