CN101802823A - 用于流式多媒体数据的分段的元数据和位标 - Google Patents

用于流式多媒体数据的分段的元数据和位标 Download PDF

Info

Publication number
CN101802823A
CN101802823A CN200880107466A CN200880107466A CN101802823A CN 101802823 A CN101802823 A CN 101802823A CN 200880107466 A CN200880107466 A CN 200880107466A CN 200880107466 A CN200880107466 A CN 200880107466A CN 101802823 A CN101802823 A CN 101802823A
Authority
CN
China
Prior art keywords
metadata
group
tracks
sampling
stream data
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.)
Pending
Application number
CN200880107466A
Other languages
English (en)
Inventor
M·安尼克塞拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
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 CN101802823A publication Critical patent/CN101802823A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/489Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/908Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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

Abstract

一种组织流式数据的方法,包括在文件中存储流式数据,识别可应用到该流式数据的子集的元数据,以及形成流式数据的一个或多个采样的至少一个组,其中组中的每个采样针对一种元数据类型具有相同的元数据内容。该文件可以是按照ISO基媒体文件格式的。在文件中存储流式数据可以包括在接收索引轨道中进行存储。该至少一个组可以在采样组描述框中被指示。该元数据类型可以通过分组类型和分组实例数据来指示,该分组类型规定了分组实例数据和元数据内容的语义。元数据内容可以包括元数据净荷和零个或多个元数据净荷扩展,其中元数据净荷被包括在第一结构中,而零个或多个元数据净荷扩展被包括在第二结构中。

Description

用于流式多媒体数据的分段的元数据和位标
技术领域
本发明一般地涉及流式多媒体数据领域,并且更具体地,涉及利用元数据和/或位标(index)对这种多媒体数据进行组织。
背景技术
该部分旨在向在权利要求书中描述的发明提供背景或上下文。此处的描述可以包括可能是已推行的概念,但不一定是以前已经想到或者推行的概念。因此,除非本文中另有指示,该部分所描述的内容并不是针对本申请的说明书和权利要求书而言的现有技术,并且不因为被包括在该部分中而承认其是现有技术。
多媒体容器文件格式是多媒体内容生产、操作、传输和消费链中的一个重要元素。在编码格式(也称作基本流格式)和容器文件格式之间存在显著的区别。编码格式涉及用于将内容信息编码成比特流的具体编码算法的动作。容器文件格式包括以这样的方式来组织生成的比特流的手段,即,生成的比特流可被访问以便进行本地解码和回放、作为文件进行传送、或者流式化,这些都利用了各种各样的存储和传送架构。此外,文件格式可以促进媒体的交换和编辑以及将接收的实时流记录到文件。
可用的媒体文件格式标准包括ISO基媒体文件格式(ISO/IEC14496-12)、MPEG-4文件格式(ISO/IEC 14496-14,也称为MP4格式)、AVC文件格式(ISO/IEC 14496-15)和3GPP文件格式(3GPPTS 26.244,也称为3GP格式)。当前也在开发其他格式。
期望此类媒体文件格式能够支持元数据的使用。在许多应用中,诸如媒体流(诸如音频或视频流)的接收和存储,期望文件格式能够支持特定于流式数据的内容分段的元数据的使用,从而促进对流式数据的期望部分或分段的组织和访问。
发明内容
本发明的一个方面涉及一种组织流式数据的方法。该方法包括:在文件中存储流式数据,识别可应用于该流式数据的子集的元数据,以及形成流式数据的一个或多个采样的至少一个组,组中的每个采样针对一种元数据类型具有相同的元数据内容。
在一个实施方式中,该至少一个组在文件中被标识。
在一个实施方式中,该文件是按照ISO基媒体文件格式的。在文件中存储流式数据可以包括在接收索引轨道(hint track)中进行存储。该至少一个组可以在采样组描述框中进行指示。
在一个实施方式中,元数据类型包括流式数据的分段的标题。
在一个实施方式中,一个组包括来自两个或多个轨道的采样。该方法可以进一步包括利用与所有相关轨道关联的元数据来识别包括来自两个或多个轨道的采样的组。可替换地,该方法可以包括利用与主轨道关联的元数据来识别包括来自两个或多个轨道的采样的组。
在一个实施方式中,该方法进一步包括创建针对流式数据的定时元数据轨道。在一个实施方式中,通过将流式数据的一个或多个采样的至少一个组与定时元数据轨道中的相应的定时元数据采样进行关联,从而该流式数据的一个或多个采样的至少一个组在针对定时元数据轨道的采样组描述框中进行指示。
在一个实施方式中,定时元数据轨道将定时元数据与一个或多个时间线关联。定时元数据轨道可以将定时元数据与两个或多个时间线关联。
在另一方面中,本发明涉及一种包含在计算机可读介质上的计算机程序。该计算机程序配置用于提供一种方法,该方法包括:在文件中存储流式数据,识别可应用于该流式数据的子集的元数据,以及形成流式数据的一个或多个采样的至少一个组,组中的每个采样针对一种元数据类型具有相同的元数据内容。
在本发明的另一方面,一种适于接收流式数据的接收器包括用于在文件中存储流式数据的存储单元以及处理器。该处理器适于识别可应用于流式数据的子集的元数据,以及形成流式数据的一个或多个采样的至少一个组,组中的每个采样针对一种元数据类型具有相同的元数据内容。
在各种实施方式中,元数据类型可以通过分组类型和分组实例数据来指示,该分组类型规定了分组实例数据和元数据内容的语义。元数据内容可以包括元数据净荷和零个或多个元数据净荷扩展,其中元数据净荷被包括在第一结构中,而零个或多个元数据净荷扩展被包括在第二结构中。
通过下面的具体实施方式结合附图,本发明的这些和其他优点和特征及其操作的组织和方式将变得显而易见,在下述的几个附图中相同的元素具有相同的附图标记。
附图说明
图1图示出在其中可以实现本发明的实施方式的一个示例性多媒体通信系统的图形表示;
图2图示出根据ISO基媒体文件格式的示例性框;
图3A是图示出采样分组的示例性框;
图3B图示出包含电影片段的示例性框,该电影片段包括采样到组(SampletoToGroup)框;
图4图示出根据本发明的一个实施方式的示例性框,其具有根据分组类型的分段元数据;
图5A是图示出根据本发明的一个实施方式的用于组织流式数据的示例性方法的流程图;
图5B是图示出根据本发明的另一个实施方式的用于组织流式数据的示例性方法的流程图;
图6是根据本发明的一个实施方式的用于接收、存储和组织流式数据的示例性设备的框图;
图7是当不参考组描述位标(group_description_index)时指示DVBSampleToGroup框的嵌套结构的简化框层级的表示;
图8是包含电影片段的示例性文件的图示,该电影片段包括DVBSampleToGroup框;
图9是对指示DVBGroupingInstance框、DVBSampleGroupDescription框、DVBSampleToGroup框、以及DVBSampleToGroupExtension框的嵌套结构的简化框层级的图示;以及
图10是对包括根据针对时间码位标的DVBSampleToGroup框的两个采样分组的文件的图示。
具体实施方式
图1是在其中可以实现本发明的各种实施方式的一个通用多媒体通信系统的图形表示。如图1所示,数据源100提供模拟格式、未压缩数字格式、或者压缩的数字格式、或者这些格式的任意组合的源信号。编码器110将源信号编码成编码的媒体数据流。应该注意,待解码的比特流可以直接地或者间接地从位于事实上任何类型的网络内的远程设备来接收。另外,比特流可以从本地硬件或软件接收。编码器110能够编码多于一个的媒体类型,诸如音频和视频,或者可能需要多于一个的编码器110来编码不同媒体类型的源信号。编码器110还可以获取合成产生的输入,诸如图形和文本,或者其可以是能够产生合成媒体的编码比特流。在下文中,仅考虑对一个媒体类型的一个编码的媒体比特流的处理,以便简化描述。然而,应该注意,通常实时广播服务包括若干个流(通常至少一个音频、视频和文本字幕流)。还应该注意,系统可以包括许多个编码器,但是在图1中仅示出一个编码器110以便简化描述而不失一般性。还应该进一步理解到,尽管此处包含的文字和示例可能专门描述编码过程,但是本领域技术人员将能够理解同样的概念和原理还可以应用于对应的解码过程,反之亦然。
编码的媒体比特流被传送到存储装置120。存储装置120可以包括任意类型的大容量存储器,以存储该编码的媒体比特流。存储装置120中该编码的媒体比特流的格式可以是基本的自包含比特流格式,或者一个或多个编码的媒体比特流可以被封装进容器文件。某些系统“实况(live)”操作,即省略存储并且将编码的媒体比特流直接从编码器110传送到发送器130。接着,编码的媒体比特流被按需传送到发送器130(也称为服务器)。传输中使用的格式可以是基本的自包含比特流格式、封包流格式、或者一个或多个编码的媒体比特流可以被封装进容器文件。编码器110、存储装置120和服务器130可以驻留在同一物理设备上,或者它们可以被包括在分开的设备中。编码器110和服务器130可以操作实况实时内容,在该情况下编码的媒体比特流通常不会永久性存储,而是在内容编码器110和/或服务器130中缓存一小段时间,以便平滑掉处理延迟、传送延迟和编码的媒体比特率中的变化。
服务器130使用通信协议栈来发送编码的媒体比特流。该栈可以包括但不限于实时传送协议(RTP)、用户数据报协议(UDP)和因特网协议(IP)。当通信协议栈是面向封包的时,服务器130将编码的媒体比特流封装进封包。例如,当使用RTP时,服务器130根据RTP净荷格式将编码的媒体比特流封装进RTP封包。通常,每个媒体类型具有专用的RTP净荷格式。应该再次注意,系统可以包含多于一个的服务器130,但是为了简化起见,下面的描述仅考虑一个服务器130。
服务器130可以或可以不通过通信网络连接到网关140。网关140可以执行不同类型的功能,诸如将根据一个通信协议栈的封包流转译成根据另一个通信协议栈的封包流,合并和分拆数据流、以及根据下行链路和/或接收器能力操作数据流,诸如根据普遍的下行链路网络条件控制转发流的比特率。网关140的例子包括多点会议控制单元(MCU),电路交换和分组交换视频电话之间的网关、无线一键通(PoC)服务器、手持数字视频广播(DVB-H)系统中的IP封装器、或者将广播传输本地转发给家庭无线网络的机顶盒。当使用RTP时,网关140被称为RTP混合器或RTP转译器,并且通常充当RTP连接的端点。
该系统包括一个或多个接收器150,其通常能够将所传输的信号接收、解调和解封装成编码的媒体比特流。编码的媒体比特流被传送到记录存储装置155。记录存储装置155可以包括任何类型的大容量存储器以存储编码的媒体比特流。作为替代或补充,记录存储装置155可以包括计算存储器,诸如随机访问存储器。记录存储装置155中的编码的媒体比特流的格式可以是基本的自包含比特流格式,或者一个或多个编码的媒体比特流可以被封装进容器文件。如果存在多个编码的媒体比特流,诸如彼此关联的音频流和视频流,则通常使用容器文件,并且接收器150包括或附接到容器文件生成器,其从输入流产生容器文件。某些系统“实况”操作,即省略记录存储装置155并且将编码的媒体比特流直接从接收器150传送到解码器160。在某些系统中,仅在记录存储装置155中维护所记录的流的最近的部分,例如所记录的流的最近10分钟的选录,而任何更早记录的数据从记录存储装置155丢弃。
编码的媒体比特流从记录存储装置155传送到解码器160。如果存在多个编码的媒体比特流,诸如彼此关联的音频流和视频流,并且被封装进容器文件,则使用文件解析器(在图1中未示出)从该容器文件解封装出每个编码的媒体比特流。记录存储装置155或解码器160可以包括文件解析器,或者文件解析器被附接到记录存储装置155或解码器160。
编码的媒体比特流通常由解码器160进一步处理,解码器160的输出是一个或多个未压缩的媒体流。最后,渲染器170可以例如利用扬声器或显示器再现该未压缩的媒体流。接收器150、记录存储装置155、解码器160和渲染器170可以驻留在同一物理设备上,或者它们可以被包括在分开的设备中。
数字视频广播(DVB)组织当前正处在规定DVB文件格式的进程中。定义DVB文件格式的主要目的是便于DVB技术实现之间的内容互操作性,该DVB技术实现诸如是根据当前的(DVT-T、DVB-C、DVB-S)和未来的DVB标准的机顶盒、IP(因特网协议)电视接收器、以及根据DVB-H及其未来的演进的移动电视接收器。DVB文件格式将允许不同厂家的设备之间的记录(只读)媒体的交换、使用USB大容量存储器或者类似的读/写设备的内容交换、以及对家庭网络上的公共盘存储装置的共享访问、以及许多其他的功能性。
ISO文件格式是大多数当前的多媒体容器文件格式的基础,通常称为ISO文件格式族。同样,ISO基媒体文件格式可以是用于开发DVB文件格式的基础。
现在参考图2,图示出ISO基媒体文件格式中的基础构建块200(通常称为“框(box)”)的简化结构。每个框200具有头部和净荷。该框头部指示框的类型和以字节为单位的框的大小。许多特定的框是从“完整框”(FullBox)结构派生的,该FullBox结构在头部中包括版本号和标志。框可以包含其他框,诸如框210、220,下面将进一步详细描述。ISO文件格式规定了在某种类型的框中允许哪些框类型。此外,某些框是强制性出现在每个文件中,而其他框则是可选地。而且,对于某些框类型,多于一个的框可以出现在文件中。在这点上,ISO基媒体文件格式规定了框的分层结构。
根据ISO文件格式族,文件由媒体数据和元数据构成,媒体数据和元数据被包括在不同框中,分别是元数据(mdat)框220和电影(moov)框210。电影框可以包含一个或多个轨道,并且每个轨道驻留在一个轨道框212、214中。轨道可以是下述类型之一:媒体、索引(hint)或者定时元数据。媒体轨道指的是根据媒体压缩格式格式化的采样(以及其到ISO基媒体文件格式的封装)。索引轨道指的是索引采样,包含用于构造通过指示的通信协议传输封包的指南手册(cookbook)指令。该指南手册指令可以包含针对封包报头构造的指导,并且包括封包净荷构造。在封包净荷构造中,驻留在其他轨道或项目中的数据可以被参考(例如,参考可以指示特定轨道或项目中的哪段数据被命令在封包构造过程期间复制到封包)。定时元数据轨道指的是描述所参考的媒体和/或索引采样的采样。针对演示(presentation),选择一种媒体类型,通常是一种媒体轨道。
ISO基媒体文件格式不限制将被包含在一个文件中的演示,并且该演示可以被包含在若干个文件中。一个文件包含针对整个演示的元数据。该文件还可以包含所有的媒体数据,由此该演示是自包含的。如果使用其他文件,则其他文件不需要被格式化成ISO基媒体文件格式,其用于包含媒体数据,并且还可以包含未使用的媒体数据,或者其他信息。ISO基媒体文件格式仅关心演示文件的结构。媒体数据文件的格式受ISO基媒体文件格式或其派生格式的约束仅在于:媒体文件中的媒体数据必须被格式化为ISO基媒体文件格式中指定的格式或其派生格式。
在将内容记录到ISO文件时可以使用电影片段,以便如果记录应用崩溃,盘被用完、或者某个其他事故发生时避免丢失数据。在没有电影片段的情况下,可能发生数据丢失,因为文件格式坚持所有的元数据(电影框)被写在文件的一个连续区域中。此外,当记录文件时,由于可用的存储装置的大小,可能没有足够数量的RAM来缓存电影框,并且在电影结束时重新计算电影框的内容太慢。而且,电影片段可以使用常规的ISO文件解析器来实现同步地记录和回放文件。最后,针对渐进下载,要求较小的初始缓存持续时间(例如,当电影片段被使用并且初始的电影框比具有相同媒体内容但在没有电影片段下构造的文件要小时,同时接收和回放文件)。
电影片段特征能够将常规而言驻留在moov框210中的元数据划分成多个块,每个块对应于轨道的一定时间段。因此,电影片段特征能够实现文件元数据和媒体数据的交织。因此,moov框210的大小可以被限制,并且实现上述的使用情形。
针对电影片段的媒体采样驻留在一个mdat框220中,如果它们在与moov框相同的文件中,则通常是这样。然而,针对电影片段的元数据,提供moof框。其包括针对回放时间中的某段持续时间的信息,该信息先前已经在moov框210中。moov框210仍然自己表示有效的电影,但是另外,其还包括mvex框,该mvex框指示同一文件中将跟有电影片段。电影片段在时间上扩展了关联到moov框的演示。
可以包括在moof框中的元数据限于可被包括在moov框210中的元数据的子集,并且在某些情况下被不同地编码。可以被包括在moof框中的框的详细情况可以从ISO基媒体文件格式规范ISO/IEC国际标准14496-12第二版2005-04-01(包括修订1和2)中找到,通过援引将其全部内容并入此处。
除了定时轨道之外,ISO文件还可以在元框(meta box)中包含任何非定时二进制对象,或“静态”元数据。元框可以驻留在电影框中以及在轨道框中的文件的顶层。文件层、电影层、或者轨道层中的每个处可以出现最多一个元框。需要元框来包含‘hdlr’框,该hdlr框指示“元”框内容的结构或格式。元框可以包含任何数目的二进制项目,所述项目可以被参考并且它们中的每个可以与文件名关联。
为了在层级的任一层(文件、电影或轨道)支持多于一个的元框,已经在ISO基媒体文件格式中引入了元框容器框(‘meco’)。元框容器框可以在层级的任一层(文件、电影或轨道)携带任何数目的附加元框。这允许例如同样的元数据出现在两个不同的、替换的、元数据系统中。元框相关框(“mere”)支持描述不同的元框如何涉及彼此(例如,它们是否包含完全相同但是用不同的机制描述的元数据,或者是否一个表示另一个的超集)。
现在参考图3A、3B和图4,图示出在框中的采样分组的使用。ISO基媒体文件格式和其派生(诸如AVC文件格式和SVC文件格式)中的采样分组是基于分组规则将轨道中的每个采样分配为一个采样组的成员。采样分组中的一个采样组不限于连续的采样,并且可以包含非相邻的采样。因为针对轨道中的采样可能存在多于一种的采样分组,每种采样分组具有类型字段以指示分组的类型。采样分组通过以下两个链接的数据结构来表示:(1)SampleToGroup框(sbgp框)表示采样到采样组的分配;以及(2)SampleGroupDescription框(sgpd框)包含针对每个采样组的采样组条目,其描述了该组的属性。基于不同的分组准则,可以存在SampleToGroup和SampleGroupDescription框的多个实例。这些通过类型字段来区分,类型字段用于指示分组的类型,如图4所示。
图3A提供了指示用于采样组框的嵌套结构的简化框层级。采样组框(SampleGroupDescription框和SampleToGroup框)驻留在采样表(stbl)框中,其被包括在电影(moov)框内的媒体信息(minf)框、媒体(mdia)框和轨道(trak)框(以该顺序)中。
SampleToGroup框被允许驻留在电影片段中。因此,采样分组可以逐个片段地进行。图3B图示出包含电影片段的文件的例子,该电影片断包括SampleToGroup框。如图4中所示,SampleGroupDescription框和SampleToGroup框可以基于位标或者元数据类型标识分组类型(grouping_type)。
DVB文件格式的关键特征被称为接收索引轨道,其可以在按照DVB文件格式记录一个或多个封包数据流时使用。接收索引轨道指示所接收的封包的顺序、接收定时和内容以及其他。用于DVB文件格式的播放器可以基于接收索引轨道重建过去接收到的封包流,并且处理该重建的封包流,就仿佛它是刚刚接收到的那样。接收索引轨道具有与服务器的索引轨道相比相同的结构,正如ISO基媒体文件格式中所规定的那样。例如,接收索引轨道可以通过‘hint(索引)’类型的轨道参考链接到它们所携带的基本流轨道(即,媒体轨道)。传递媒体流的每种协议具有其自身的接收索引采样格式。
使用接收索引轨道作为用于发送所接收的流的索引的服务器应该温和地处理所接收的流的潜在的降级,诸如传输延迟抖动和封包丢失,并且无论所接收的流是否存在潜在的降级都保证遵守协议限制和包含的数据格式。
接收索引轨道的采样格式可以支持通过借助参考从其他轨道拉出数据来构建封包。这些其他轨道可以是索引轨道或者媒体轨道。这些指针的精确格式由协议的采样格式限定,但是一般它们包括四种信息:轨道参考位标、采样号、偏移、以及长度。这些信息中的某些在具体的协议中可能是暗含的。这些“指针”总是指向实际的数据源。如果一个索引轨道是建立在另一个索引轨道的顶上,则第二个索引轨道必须具有指向供第一轨道使用的媒体轨道的直接参考,来自那些媒体轨道的数据被放置在流中。
将所接收的流转换到媒体轨道允许服从ISO基媒体文件格式的现有播放器处理DVB文件,只要支持媒体格式。然而,大多数媒体编码标准仅规定了对无错流的解码,并且因此应该确保媒体轨道中的内容能够被正确地解码。针对DVB文件格式的播放器可以利用接收索引轨道来处理传输引起的降级,即可能没有正确解码的内容仅位于接收索引轨道中。通过借助参考将来自媒体轨道的数据包括进接收索引轨道,可以不需要在媒体轨道和接收索引轨道二者中都复制正确媒体采样。
当前,规定了三种类型的接收索引轨道:MPEG-2传送流(MPEG2-TS)、实时传送协议(RTP)、以及实时传送控制协议(RTCP)接收索引轨道。MPEG2-TS接收索引轨道的采样包含MPEG2-TS封包或者指令,用以根据针对媒体轨道的参考来构成MPEG2-TS封包。MPEG-2传送流是对音频和视频节目基本流以及一些元数据信息的复用。其还可以包含若干音视频节目。一个RTP接收索引轨道表示一个RTP流,通常是单个媒体类型。RTCP接收索引轨道可以与RTP接收索引轨道关联,并且表示针对所关联的RTP流接收的RTCP封包。
RTP被用于基于因特网协议(IP)在网络中传输连续的媒体数据,诸如编码的音频和视频流。实时传送控制协议(RTCP)是RTP的伙伴,即当网络和应用基础结构允许,则应该总是使用RTCP来补充RTP。RTP和RTCP通常运送在用户数据报协议(UDP)上,继而UDP运送在因特网协议(IP)上。存在两种版本的IP,IPv4和IPv6,其通过可寻址的端点数目以及其他来区分。RTCP被用于监视网络提供的服务质量,并且用于运送关于正在进行的会话的参与者的信息。RTP和RTCP被设计用于从一对一通信到几千个端点的大多播组范围的会话。为了控制多方会话中的RTCP封包引起的总的比特率,由单个端点传输的RTCP封包的传输间隔正比于会话中的参与者的数目。每个媒体编码格式具有特定的RTP净荷格式,其规定了媒体数据如何在RTP封包的净荷中被结构化。
针对DVB文件格式的元数据要求可以基于元数据类型被归类成四组:1)采样特定的定时元数据,诸如演示时间戳;2)位标;3)分段的元数据;以及4)用户书签(例如,内容中的特别喜欢的位置的用户书签)。
对于采样特定的定时元数据,可以存在不同的时间线来指示采样特定的定时元数据。可能需要时间线覆盖所记录的流的整个长度。此外,时间线可以被暂停。例如,可以在电影的最终编辑阶段创建时间线A。服务提供商或者另一个实体可以插入商业广告并且为商业广告提供时间线B。在商业广告进行时,时间线A可以被暂停。时间线还可以在内容本身被传输之后进行传输。在一个实施方式中,时间线采用可以携带在MPEG-2节目基本流(PES)中。PES运送基本的音频或视频比特流,并且因此,时间线与音频和视频帧精确地同步。在这一点上,可以参考ETSI TS 102 823,“Specification for the carriage ofsynchronized auxiliary data”,通过援引将其并入本文。
位标可以包括例如视频访问点和轨道模式支持(例如,快速前进/后退,慢动作)。这样的操作可能需要例如对可以自解码的图片的指示、解码开始点以及对参考和无参考图片的指示。
在分段的元数据的情况下,DVB服务可以利用根据特定的元数据机制(诸如广播内容指南(BCG)、TV-Anytime(TV-任何时间)、或者针对IP数据播放(IPDC)的电子服务指南(ESG))的服务指南来描述。该描述可以仅应用到流的一部分。因此,文件可以具有若干个描述性的段(例如,关于节目的特定段的描述,诸如“Holiday inCorsica near Cargese”)信息。
另外,需要DVB文件格式的元数据和编制位标的结构是可扩展的,并且需要支持用户定义的位标。另外,应该存在用于快速访问文件中的元素(例如,通过位标表)的方法。此外,应该有可能发信号通知任何位标的精确性。例如,位标可以是非常精确的,精确到±指定的量或者仅是启发式的猜想。
已经提出了用于执行编制位标和执行分段的元数据的各种技术。这样的技术包括例如采样事件和采用特性。采样事件机制支持在一个数据结构中列举与特定的事件类型和事件描述位标关联的采样,称为SampleToEvent框。列表中的每个条目可以另外伴随一个值或者描述,具有以字节为单位的确定的长度。利用对采样在关联的轨道内的采样号的参考来对采样进行列举。不需要针对某个特定的事件类型列出所有的采样。例如,在DVB文件格式规范中,事件类型的允许值是预定的并且指定的。针对任何SampleToEvent框中使用的每个事件类型,存在一个相应的与相同事件类型关联的SampleEventDescription框。SampleEventDescription框包含采样事件描述条目的列表,每个条目与唯一的事件描述位标(从1开始,并且在列表中每一个条目递增1)关联。采样事件描述条目的语法和语义由事件类型确定,并且例如在DVB文件格式规范中进行规定。针对特定采样描述位标和事件类型规定的语义应用于那些与SampleToEvent框中的所述采样描述位标和事件类型关联的采样。SampleToEvent允许驻留在电影片段中。因此,可以逐个片段执行采样事件的列举。针对不同的事件类型可以存在SampleToEvent和SampleEventDescription框的多个示例,但是每个电影片段中某个特定事件类型至多一个SampleToEvent框,并且一个文件内的某个特定事件类型至多一个SampleEventDescription框。
SampleToEVent框和SampleEVentDescription框的语法规定如下:
aligned(8)class SampleToEventBox extends Full Box(,,steb“){
 unsigned int(32)event_type;
 unsigned int(32)entry_count;
 for(i=1;i<=entry_count;i++){
  unsigned int(32)event_desc_index;
  unsigned int(32)sample_count;
  for(j=1;j<=sample_count;j++){
   unsigned int(32)sample_number;
   unsigned int(8)value[event_data)length];
  }
 }
}
aligned(8)class SampleEventDescriptionBox extends FullBox(,,sedb“){
 unsigned int(32)event_type;
 unsigned int(32)entry_count;
 for(i=1;i<=entry_count;i++){
  SampleEventDescriptionEntry();
  }
}
在SampleToEvent框和SampleEventDescription框中使用的语法元素的语义被规定如下:
event_type是32位的无符号整数,其应该包含一个事件类型的四符号码,构成ASCII符号。
entry_count是32位的无符号整数,具有在下面的循环中的条目数目。event_desc_index是32位的无符号整数,具有SampleEventDescriptionEntry的位标。
sample_count是32位的无符号整数,具有在下面的循环中的条目数目,其包含该事件应用到的采样的采样数目。
Value是事件特定的数据的阵列。该字段的长度由对应的SampleEventDescriptionEntry中的event_data_length规定。该字段对于该循环中的所有位标都是恒定大小,并且对于可变长度的位标应该进行填充。
在单播、多播和广播流应用中,可用的流被公告并且它们的编码格式被表征,从而使得每个接收机能够决定它是否能够成功地解码和渲染该内容。有时,提供对相同内容的多个不同的格式选项,每个接收机可以从中选择最适合其能力和/或终端用户希望的那个格式。可用的媒体流经常利用被对应的媒体类型和其参数来描述,该对应的媒体类型和其参数来描述包括在根据会话描述协议(SDP)格式化的会话描述中。在单播流式应用中,会话描述通常由实时流协议(RTSP)来携带,其用于建立和控制流会话。在广播和多播流应用中,会话描述可以作为该服务的电子服务指南(ESG)的一部分进行携带。在广播期间,广播流的SDP信息可以被更新。因此,所记录的流的SDP应该以在以后可以进行更新的方式来存储。
现在参考图5A,图示出根据本发明的一个实施方式的方法500,通过该方法有利地存储和组织了流式数据。根据本发明的一个实施方式,在例如接收单元或者另一个设备处接收流媒体(块510)。流式数据可以是至少一个媒体或者多媒体流,其被存储在文件中(块520)。按照ISO基媒体文件格式,该至少一个接收的媒体或者多媒体流可以被存储在文件的接收索引轨道中。识别可以应用到流式数据的子集的元数据(块530)。例如,可以识别可应用到接收索引轨道的某些采样的元数据。在文件中形成和标识具有某个元数据类型的相同的元数据内容的流式数据采样的组(块540)。在这一点上,基于某个元数据类型的采样分组可以利用采样组描述框来指示,并且可以利用采样到组(SampleToGroup)框将采样映射到采样组描述框中包括的某个元数据内容。在另一个实施方式中,考虑某个元数据类型既包括指示元数据内容的语法和语义的类型,也包括分组内保持不变的元数据内容的一部分。例如,该元数据类型可以指示时间线元数据,并且在分组中保持不变的元数据部分可以包括该时间线的标识符。
现在参考图5B,图示出根据本发明的另一个实施方式的方法505。在图5B的实施方式中,在例如接收单元或者另一个设备处接收流媒体(块515)。流式数据可以是至少一个媒体或者多媒体流,其被存储在文件中并且与文件中的接收索引轨道关联(块525)。识别可以应用到接收索引采样的至少一个元数据采样(块535)。接着,该至少一个元数据采样被存储在该文件中并且与定时元数据轨道关联(块545)。在文件中形成和标识具有某个元数据类型的相同元数据内容的流式数据采样的组(块555)。基于某个元数据类型的采样分组可以利用采样组描述框来指示,并且可以利用采样到组框将元数据采样映射到样本组描述框中包括的某个元数据内容。如上所述,可以考虑某个元数据类型既包括指示元数据内容的语法和语义的类型,也包括在分组内保持不变的元数据内容的一部分。应该注意,图5B中建议的顺序处理的块可以应用到不同粒度的多媒体数据和元数据,范围从采样的子集到整个流。不同的块还可以应用到不同粒度的数据。在一个布置中,块515、525、535、545被迭代应用到各个接收索引采样和元数据采样。
一种分组类型是按DVB文件格式规范中的元数据或位标类型定义的。潜在的分组类型的例子包括以下:
ο由用于元框的handler_type(处理机类型)指定的任何元数据。
每个采样组与元数据机制的一个项目关联。该元数据机制可以是在DVB规范中规定的机制(BCG,TV-Anytime,IPDC ESG)之一;
ο任何位标类型(例如在DVB文档TM-FF0035中提议的那些类型,诸如对可自解码的图片的指示、解码开始点、以及对参考和无参考图片的指示);以及
ο针对接收的RTP流的SDP信息。
现在参考图6,图示出根据本发明的一个实施方式的示例性设备。设备600(诸如接收机)提供有DVB文件生成器610、存储单元620、以及处理器630。当然,本领域技术人员应该理解各种部件可以被分到另外的部件中或者组合到较少的部件中。此外,各种部件可以包括用于执行其功能的可执行代码。在接收到流式数据时,DVB文件生成器610根据接收到的封包创建DVB文件。在这一点上,DVB文件生成器610接收封包流自身以及关联的元数据(诸如BCG,TV-Anytime或IPDC ESG)。设备600在文件(如果moov和mdat框驻留在相同的文件中,则在文件的mdat段)中存储接收到的封包,作为在存储单元620中的接收索引轨道的采样。接收器600还可以派生出文件元数据,其将稍后存储在moov框或moof框中,这取决于电影片段是否正在使用。对于接收到的任何一条元数据,接收器600(例如,处理器630)分析其类型,并且如果元数据的类型先前并不存在的话,则创建新的采样组描述框。接收器600还检查该条元数据的内容与较早存储在文件中的所有元数据是否存在不同。如果该内容是新的,则创建一个用于该采样组描述框的新条目,并且将该元数据内容复制到该条目。SampleToGroup框是针对每个分组类型维护的,并且接收索引轨道的采样被映射到相应的采样组描述框中的条目之一。
在另一个实施方式中,设备600的DVB文件生成器610为moov框或者moof框创建一个或多个接收索引轨道和文件元数据。设备600还从接收到的封包派生出位标,诸如可随机访问的内部图像指示。这可以通过DVB文件生成器610或者设备600的另一个部件(诸如处理器630或者图6中未示出的另外的部件)来执行。如果针对一个接收到的封包派生出或者接收到一个或多个位标或者一条或多条元数据,则设备600创建包含这些位标或者这些条元数据的定时元数据采样。同样,这可以通过设备600的部件,诸如DVB文件生成器610或者处理器630来执行。定时元数据采样与定时元数据轨道关联,并且定时元数据轨道与接收索引轨道关联。对于任何接收到或者派生出的元数据或者位标,设备600的处理器630分析其类型,并且如果该元数据的类型是先前没有出现过的,则创建新的采样组描述框。处理器630也检查一条元数据的内容是否不同于早先存储在文件中的所有元数据。如果内容是新的,则创建一个用于采样组描述框的新条目,并且将该元数据内容复制到该条目。SampleToGroup框是针对每个分组类型来维护的,并且定时元数据轨道的采样被映射到相应的采样组描述框中的条目之一。
在该实施方式中,可以针对每个接收索引采样创建一个元数据采样,无论位标或一条元数据是否与该接收索引采样关联。对应的元数据采样的净荷指示是否没有位标或者一条元数据与接收索引采样关联。此外,定时元数据轨道的潜在的轨道片段可以在该片段中包括的第一采样和最后一个采样方面与对应的接收索引轨道对准。可以在轨道头部级(track-header-level)框或结构中的文件内指示是否每个接收索引采样存在一个定时元数据采样,并且定时元数据轨道的轨道片段是否与关联的接收索引轨道的轨道片段相同。当每个接收索引采样创建一个元数据采样时,定时元数据轨道的对应的轨道片段和接收索引轨道可以包含具有相同采样数目的采样。
应该注意,采样分组的创建可以以许多种方式来实现。例如,采样分组的创建可以不与采样自身的接收和存储同时发生。相反,采样分组可以基于用于存储元数据的中间格式或者基于定时元数据轨道来离线地执行。参考图5A,块530和块540将在已经完成对流的接收之后发生。参考图5B,块555将在已经完成对流的接收之后发生。在此再次参考图1,采样分组的离线创建将导致两个附加的块,其从记录存储装置155获取其输入并且输出到解码器160。处理顺序中的第一个块可以称为文件改写器,其输入不具有针对特定元数据类型的采样分组的文件,并且输出具有该类型的采样分组的文件。该处理顺序中的第二个块可以称为第二记录存储装置,其可以具有与记录存储装置155类似的属性。
上述的文件改写器和第二记录存储装置可以驻留在与接收器150、记录存储装置155、解码器160驻留的相同设备中,或者可以驻留在不同的设备中。而且,文件改写器和第二记录存储装置可以彼此驻留在相同的设备或不同的设备中。
接收到的流可以是不同属性的一它们可以以复用的格式包含若干媒体类型和节目(MPEG-2传送流),或者它们可以包含单个媒体类型的单个节目(RTP流)。因此,接收器操作和文件格式结构将如下进行相应地修改。
应该注意本发明的各种实施方式不限于任何特殊类型的采样分组,诸如在ISO/IEC 14496-12中规定的采样分组。下述的实施方式描述了可以与本发明的各种实施方式一起应用的采样分组机制。
除了分组类型之外,采样分组还可以通过零个或多个全局参数来表征。全局参数的例子包括MPEG-2传送流内的节目标识符(PID)和时间线标识符。当解析采样组时,在一个时间(诸如特定时间线内的期望的时间戳)上,仅对全局参数的一个具体值感兴趣。除了所列举的采样组描述条目之外,允许局部参数可能是有利的,其中局部参数可以针对SampleToGroup框中的每个条目发生改变。例如,时间码可以与SampleToGroup框中的条目关联。当解析采样分组时,局部参数的不同值被交织到同一结构中,即在同一SampleToGroup框中。
该实施方式的采样分组机制的语法如下给出:
aligned(8)class DVBSampleToGroupBox
extends FullBox(‘dstg’,version=0,flags)
{
        unsigncd int(32)grouping_typc;
        if(flags & 1){
               unsigned int(8)info_length;
               unsigned int(8)instance_info[info_length];
        }
        if(flags & 16){
               unsigned int(8)static_length;
               unsigned int(8)static_info[static_length];
        }
        if(flags & 2)
               unsigned int(8)payload_length;
        unsigned int(32)entry_count;
    for(i=1;i<=entry_count;i++){
            if(flags & 4)
                   unsigned int(32)sample_number;
            if(!(flags & 8))
                     unsigned int(32)sample_count;
            if(flags & 2)
                   unsigned int(8)payload[payload_length];
            else
                   unsigned int(32)group_description_index;
    }
}
所给出的DVBSampleToGroup框在结构上与SampleToGroup框兼容,即如果(框头部的)标志是0,则其语法与SampleToGroup框相同。上面规定的全局参数是通过分组实例信息(instance_info)来表示的。静态信息(static_info)表示对于所有分组的采样保持不变的静态值。static_info的语义取决于分组类型(gouping_type)。例如,给定定时和采样号的不精确范围,static_info可以根据DVBIndexBox(在后面给出)的净荷进行格式化。局部参数通过净荷或者组描述位标(group_description_index)来表示。归功于信息长度(info_length)、静态长度(static_length)和净荷长度(payload_length),可以在不知道grouping_type语义的情况下解析DVBSampleToGroup框。不了解具体grouping_type的文件编辑器软件程序或者设备可以编辑该框(例如,作为对移除或者插入采样的响应),即使其不具有关于某个特定grouping_type的语义的知识。采样号(Sample_number)指示净荷或者group_description_index应用的第一采样,并且在连续采样数目方面,净荷或者group_description_index的持续性通过采样计数(sample_count)来指示。如果sample_number不存在,则净荷或者group_description_index应用的第一采样在循环中前一条目所应用的上一个采样之后。DVBSampleToGroup框中的Sample_count的值以出现顺序递增。一个采样在DVBSampleToGroup框中仅可以被包括一次,即,前面的sample_number以及sample_count的值的总和小于sample_number的当前值。不需要轨道中的每个采样都映射在DVBSampleToGroup框中。DVBSampleGroupDescription框和group_description_index可以用于列举的位标。没有映射在DVBSampleToGroup框中的采样的净荷或者group_description_index的值没有被规定。instance_info和净荷的语义是针对每个grouping_type来规定的。
DVBSampleToGroup框的语法的备选定义如下给出。与前述情况的主要区别在于支持变换长度的净荷。
aligned(8)class DVBSampleToGroupBox
extends FullBox(‘dstg’,version=0,flags)
{
      unsigned int(32)grouping_type;
      if(flags & 1){
             unsigned int(8)info_length;
             unsigned int(8)instance_info[info_length];
      }
      if(flags & 16){
             unsigned int(8)static_length;
             unsigned int(8)static_info[static_length];
      }
      if(flags & 2)
             unsigned int(8)payload_length;
             unsigned int(32)entry_count;
      for(i=1;i<=entry_count;i++){
              if(flags & 4)
                     unsigned int(32)sample_number;
              if(!(flags & 8))
                       unsigned int(32)sample_count;
        if(flags & 2)
               unsigned int(8)payload[payload_length];
        else if(flags & 32){
               unsigned int(8)varying_length;
               unsigned int(8)payload[varying_length];
        }
        else
               unsigned int(32)group_description_index;
    }
}
图7提供了当不参考group_description_index((flags & 2)等于1)时指示DVBSampleToGroup框700的嵌套结构的简化框层级。DVBSampleToGroup框700驻留在采样表(stbl)框710内,其被包括在电影(moov)框210内的媒体信息(minf)框720、媒体(mdia)框730和轨道(trak)框740中(以该顺序)。
DVBSampleToGroup框700被允许驻留在电影片段中。因此,采样分组可以逐个片段地进行。图8图示出包含电影片段800的文件的例子,其包括DVBSampleToGroup框700。
DVBSampleGroupDescription框的语法如下给出:
aligned(8)class DVBSampleGroupDescriptionBox
(unsigned int(32)handler_type)
extends FullBox(‘dsgd′,version,flags)
{
      unsigned int(32)grouping_type;
      if(flags & 1){
             unsigned int(8)info_length;
             unsigned int(8)instance_info[info_length];
      }
      if(version>=1)
           unsigned int(32)default_length;
    unsigned int(32)entry_count;
    int i;
    for(i=1;i<=entry_count;i++){
           if(version>=1 && default_length==0)
                  unsigned int(32)description_length;
           switch(handler_type){
                 case‘vide’://for video tracks
                         VisualSampleGroupEntry();
                         break;
                 case‘soun’://for audio tracks
                        AudioSampleGroupEntry();
                        break;
                 case‘hint’://for hint tracks
                         HintSampleGroupEntry();
                         break;
           }
    }
}
DVBSampleGroupDescription框的结构与SampleGroupDescription框兼容,即,如果(框头部中的)标志被设置为0,则其语法与SampleGroupDescription框的语法相同。如上定义的全局参数是通过分组实例信息(instance_info)来表示的。在DVBSampleGroupDescription框中包括instance_info支持针对全局参数的不同值的不同列举(即,采样组条目)。
上面针对DVBSampleToGroup框给出的语法仅允许针对循环中的每个条目来规定固定长度的净荷或者group_description_index。可能期望,对于特定DVBSampleToGroup框中规定的任何条目,某些分组类型具有可变长度的净荷。下面出于该目的绘出下述的扩展机制,其被称为DVBSampleToGroupExtension框。
aligned(8)class DVBSampleToGroupExtensiontBox
extends FullBox(‘dsge’,version=0,flags)
{
      unsigned int(32)grouping_typc;
      if(flags & 1){
             unsigned int(8)info_length;
             unsigned int(8)instance_info[info_length];
      }
      if(flags & 2)
             unsigned int(32)extension_type;
      if(!(flags & 4))
               unsigned int(16)ext_length;
      unsigned int(32)entry_count;
      for(i=1;i<=entry_count;i++){
              if(flags & 4)
                     unsigned int(16)ext_length;
              unsigned int(8)extension[ext_length];
      }
}
该循环中的每个条目对应于具有相同grouping_tyype和全局参数值(即,info_length和instance_info的相同值)的DVBSampleToGroup框的相应条目(具有相同循环计数值)。换言之,当循环计数值在相应的DVBSampleToGroupExtension框和DVBSampleToGroup框中是相同时,扩展被应用到作为净荷的相同采样。如果不存在extension_type,则应用grouping_type的扩展的默认语义。当存在extension_type时,则其确定扩展的语义。与DVBSampleToGroup框类似,对于每个电影片段,可以包括特定全局参数和extension_type的DVBSampleToGroupExtension框。
除了针对采样组的可变长度的局部参数之外,DVBSampleGroupExtension框可以为采样分组提供新的信息,同时维护与现有的采样组定义和解析器的兼容性。换言之,不能解译DVBSampleToGroupExtension框或者特定extension_type的解析器将仍然能够成功地解析对应的DVBSampleToGroup框。
在一个实施方式中,在上述的语法中用于DVBSampleToGroup框、DVBSampleGroupDescription框和DVBSampleToGroupExtension框的instance_info是相对于被包括在与前面提到的框具有相同的grouping_type值的DVBGroupingInstance框内的循环的位标。DVBGroupingInstance框的语法可以规定如下。实例描述(Instance_descr)的语义通过grouping_type来确定。
aligned(8)class DVBGroupingInstanceBox
extends FullBox(‘dgri’,version=0,flags)
{
      unsigned int(32)grouping_type;
      unsigned int(32)dcfault_lcngth;
      unsigned int(32)entry_count;
      for(i=1;i<=entry_count;i++){
              if(default_length==0){
                     unsigned int(32)descr_length;
                     unsigned int(8)instance_descr[descr_length];
              }
              else
                     unsigned int(8)instance_descr[default_lcngth];
      }
}
在一个实施方式中,扩展类型(extension_type)可以与前面讨论的全局参数和局部参数相似地参数化。换言之,其可以与进一步指定其目的和范围的参数关联,而不是仅基于其extension_type来标识一个扩展。所述关联的参数还可以是相对另一个框中的循环的位标,其包含实际的参数值。
图9提供了指示用于DVBGroupingInstance框900、DVBSampleGroupDescription框910、DVBSampleToGroup框700、以及DVBSampleToGroupExtension框920的嵌套结构的简化框层级。上述框驻留在采样表(stbl)框710中,其被包括在电影(moov)框210内的媒体信息(minf)框720、媒体(mdia)730和轨道(trak)框740中(以该顺序)。箭头950、960和970指示逻辑连接。箭头950指示DVBSampleGroupDescription框910、DVBSampleToGroup框700和DVBSampleToGroupExtension框920(如果存在的话)指向DVBGroupingInstance框950(利用grouping_type的特定值)。箭头960指示利用特定的grouping_type和标志的值,DVBSampleToGroup框700指向相应的DVBSampleGroupDescription框910。箭头960指示DVBSampleToGroupExtension框920总是指向相应的DVBSampleToGroup框700。
当采样分组被应用到MPEG2-TS接收索引轨道(或者任意其他复用的流)时,存在以下情况:
ο与接收索引轨道关联的采样组能够表示音频-视频复用的元数据,例如文字描述性元数据;
ο针对单个媒体类型的位标和元数据可以通过特殊的分组类型来表示;
ο近似的位标可以利用特殊的分组类型来表示。
作为替代或者补充,位标的精确性可以通过将多于一个的连续采样包括进采样组来指示,其指示位标所指的特征在所述连续的采样之一中应该为真。例如,近似随机访问点可以通过将N个连续采样包括到类型随机访问点的采样组来指示,其指示N个采样中的一个应该是解码开始位置。
当采样分组被应用到媒体轨道或者RTP接收索引轨道时,单个媒体类型的位标和元数据可以通过特殊的分组类型来表示。然而,因为采样分组机制仅在一个轨道内操作,应用到多于一个的媒体轨道或者接收索引轨道(后面称为“多轨道(multi-track)”元数据)的元数据应该被表示。该问题可以在两种情况下具体化。第一,可以从接收的流创建媒体轨道和接收索引轨道二者。第二,可能存在多个RTP接收索引轨道。建议将本发明的采样分组机制与接收索引轨道关联而无论接收索引轨道何时存在于文件中。因此,可以避免上面的第一种情况。对于第二种情况,可以构思到几种选项。
首先,“multi_track”元数据可以与任何关联的轨道关联。当元数据关联到接收索引轨道或者媒体轨道时,在相同的解码时间段内,该元数据隐含地分别应用到所有的接收索引轨道或者媒体轨道。这种备选方案需要解析器针对潜在的“multi_track”元数据检查所有的轨道。
可选地,“multi_track”元数据可以与“主”轨道关联。主轨道例如可以在moov框中用新的框来明确地指示。该新的框还可以针对“multi_track”元数据列出所有的相互链接的轨道。
在另一实施方式中,定时元数据轨道可以与许多媒体轨道或者RTP接收索引轨道关联。采样分组可以被应用到定时元数据轨道。所引用的媒体和接收索引轨道可以作为类型‘cdsc’的轨道参考来列举。这用作元数据所涉及到的那些轨道的明确指示。如果被使用,则可以设置采样持续时间以匹配每个元数据项目的持续期。
在本发明的一个实施方式中,在上面描述的“主”轨道的实施方式中,新的框被称为轨道关系框,并且指示轨道之间的关系。轨道关系框被定义如下:
框的类型: ‘trel’
容器:     电影框(‘moov’)
强制性:   否
数量:     零或者一
轨道关系框的语法如下:
aligned(8)class TrackRelationBox
       extends FullBox(‘trel’,version=0,flags){
       int i,j;
       if(flags & 0x000001==1){
              unsigned int(16)num_reception_groups;
              for(i=1;i<=num_rcccption_groups;i++){
                      unsigned int(16)num_tracksin_reception_group;
                      for(j=1;j<=num_tracks_in_reception_group;j++)
                              unsigned int(32)track_id;
              }
       }
}
}
在上面的语法中,“版本(version)”是指定轨道关系框的版本的整数(如上述的0),并且“标记(flag)”是带标志的24位整数。定义了下面的位:其中位0是最低有效位,位1是次最低有效位,以此类推。当位0等于1时,其指示在该框中存在接收组的信息。当位0等于0时,则指示该框中不存在接收组的信息。本领域技术人员显然清楚还可以规定其他类型的轨道关系,并且这些关系可以利用与位0不同的位号来指示。
“num_reception_group”指示被信号通知的接收组的数目。接收组包括同时接收的接收索引轨道,或者否则是相同记录的一部分。另外,接收组可以包括基于接收索引轨道派生出的媒体轨道。“track_id”指示被信号通知的第i个接收组中的第j个轨道的轨道标识符。接收组的第一个track_id是主轨道,主轨道可以包含利用采样组指示的并且与该接收组中的所有轨道联合关联的分段的元数据。可以不允许除主轨道之外的其他轨道包含与接收组中的所有轨道关联的分段的元数据。
当创建用于位标或者分段的元数据的定时元数据轨道时,在一个实施方式中,可以遵循下述的实践。
针对单个节目MPEG-2传送流的节目特定的位标和元数据,创建一个定时元数据轨道。该节目特定的位标和元数据均等地应用到节目的音频和视频流以及应用到该节目的任何其他潜在的部分,诸如字幕流。
针对多节目MPEG-2传送流的节目特定的位标和元数据,创建每个节目的一个定时元数据轨道。在这一点上,定时元数据轨道可以包含仅一个节目的元数据。该节目可以通过其节目号(program_number)值来标识,所述节目号值是用于MPEG-2传送流内的节目的16位唯一标识符,例如用在MPEG-2传送流的节目关联和节目映射表中。在一个实施方式中,参数program_number可以被包括在针对与MPEG-2接收索引轨道关联的定时元数据轨道的采样条目结构中。
针对MPEG2-TS节目的每个基本流的媒体特定的位标,创建一个定时元数据轨道。媒体特定的位标可以仅应用到特定的媒体类型。例如,它们可以是参考视频帧和非参考视频帧的指示,或者是视频的时间缩放级别的指示。
针对RTP流的媒体特定的位标,创建一个定时元数据轨道。此外,可以针对多RTP流的节目特定的位标,创建一个定时元数据轨道。该定时元数据轨道使用轨道参考与RTP接收索引轨道关联。在另一个实施方式中,定时元数据轨道利用轨道参考与“主”接收索引轨道关联,并且其他关联的接收索引轨道通过上面给出的轨道关系框(TrackRelationBox)来指示。
尽管每个基本的媒体流一个节目特定的定时元数据轨道和一个媒体特定的定时元数据轨道通常可能是优选地,但是可以创建多于一个的定时元数据轨道。例如,如果用于该节目的一个可选的时间线被后来提供给节目自身,从文件布置的角度来看,更为实际的做法是针对所提供的时间线创建新的定时元数据轨道。
对于使用定时元数据轨道的实施方式,根据本发明的一个实施方式的接收器可以如下操作以响应于接收到的每个封包:
ο将接收到的封包转换成mdat框中的一个接收索引采样。
ο派生出位标和分段的元数据。如果存在任何关联的元数据采样,则其写到该mdat框(紧接在对应的接收索引采样之后)。
ο更新接收索引轨道的轨道头部内的框。
ο更新定时元数据轨道的轨道头部内的框。
ο如果给轨道头部预留的存储器即将被全部占用(并且不能被动态地重分配),则开始新的电影片段。
具有更大数量的缓冲存储器的接收器可以在连续的存储器块中布置若干个元数据采样和接收索引采样,并且因此节省采样到块框和块偏移框所需的存储空间。
位标和分段的元数据在当论及与其关联的接收索引采样时具有下述特性。位标可以指示某个特性从关联的接收索引采样开始变为有效,通常直到同类型的下一个位标为止。例如,位标可以指示MPEG-2传送流中的扰码的极性改变。位标可以指示单个接收索引采样或者与接收索引采样同步的事件的特性。书签是这样的位标的一个例子。
位标可以指示在关联的接收索引采样和前一个接收索引采样之间的流的特性。对丢失的封包的指示是这样的一个位标。
位标可以指示编码的媒体采样的特性。应该注意,本发明中所提议的定时元数据轨道被关联到接收索引采样,接收索引采样通常不是仅包含一个媒体采样,并且一个媒体采样的数据可以驻留也可以不驻留在邻接的接收索引采样中(例如,因为基本的音频和视频流被复用在一个MPEG-2传送流中)。因此,至少存在两种选项对媒体采样编制位标:(1)位标仅与包含媒体采样的数据的第一接收索引采样关联;以及(2)位标与包含媒体采样的数据的所有接收索引采样关联。
可以以下述的任意方式来创建与包含位标和分段的元数据的定时元数据轨道关联的采样组:
ο采样组可以指示位标的值。例如,视频采样特性可以被指示(随机访问的内部图片,图片的时间级别)。在一个实施方式中,采样组描述框包含该位标的允许值或者使用值。在另一个实施方式中,DVBSampleToGroup框或DVBSampleToGroupExtension框中包括的净荷或者扩展字段可以分别指示位标的值。
ο采样组可以指示相比于前一个采样而言特定类型的位标是否发生改变(即,位标的持续性)。例如,加密内容的保护密钥的改变可以被指示。在一个实施方式中,当采样到组框仅包含关于位标值是否改变的指示时,DVBSampleToGroupExtension框可被用于包含位标的值。
ο采样组可以指示书签。采样组描述框包含书签自身。
ο采样组可以指示标题和分段元数据的其他信息。采样组描述框包含标题。一种用于将根据任何特定的元数据机制结构化的元数据链接到采样组的机制如下。将根据任何特定的元数据机制格式化的元数据段作为一个项目包括在与定时元数据轨道、电影或者整个文件关联的元框中。采样组描述框包含到包含关联的元数据段的项目的链接(通常是作为项目标识符),而不是在采样组描述框中包括这样的元数据段。
ο采样组可以指示任何特性的一组(或三元组)位标或分段的元数据的值。例如,采样组可以指示一对位标的值,诸如针对编码的视频基本流的分层时间伸缩性结构和图片类型中的时间级别(内部的、相互的、或者前后预测性的图片)。
如果位标与编码的媒体采样关联,则采样组可以仅指示包含针对该媒体采样的数据的第一接收索引采样,或者指示包含针对该媒体采样的数据的所有接收索引采样。
示例性的采样条目格式可以如下提供:
abstract class IndexSampleEntry()extends MetadataSampleEntry(‘ixse’){
       unsigned int(16)entry_count;
       for(i=1;i<=entry_count;i++)
              unsigned int(32)index_type_4cc;
}
class MPEG2TSIndexSampleEntry()extends IndexSampleEntry(‘m2ix‘){
       unsigned int(16)program_number;
}
class MPEG2TSMediaIndexSampleEntry()extends IndexSampleEntry(‘m2mi‘){
       unsigned int(3)reserved;
       unsigned int(13)pid;
}
class RTPIndexSampleEntry()extends IndexSampleEntry(‘rtix‘){
}
class RTPReceptionGroupIndexSamplcEntry()extends IndexSampleEntry(‘rgix‘){
}
“IndexSampleEntry”指示可以在与该采样条目关联的采样中出现的位标的类型。如果“entry_count”等于0,则在与该采样条目关联的采样中可以包括任何位标。如果“entry_count”大于0,则给定“index_type_4cc”值的循环,并且每个“index_type_4cc”值指示用于在与该采样条目关联的采样中可以出现的框的四符号码。因此,针对定时元数据轨道的采样条目指示可以出现在该定时元数据轨道中的元数据的类型。应该注意,可以设想用以指示在定时元数据轨道中出现或允许的元数据类型的其他机制,例如作为轨道头部框的扩展。
“MPEG2TSIndexSampleEntry”被用于包含节目特定的位标和元数据的定时元数据轨道,并且与MPEG2-TS接收索引轨道关联。“program_number”标识MPEG-2传送流内的节目。
“MPEG2TSMediaIndexSampleEntry”被用于包含媒体特定的位标和元数据的定时元数据轨道,并且与MPEG2-TS接收索引轨道中包含的基本流关联。“pid”是用于MPEG-2传送流内的基本流的标识符。
“RTPIndexSampleEntry”被用于包含媒体特定的位标和元数据的定时元数据轨道,并且与RTP接收索引轨道关联。
“RTPReceptionGroupIndexSampleEntry”被用于节目特定的位标和元数据,并且与多于一个的RTP接收索引轨道关联。
针对包含位标和分段的元数据的定时元数据轨道的一个示例性采样格式提供如下:
aligned(8)class IndexSample{
       box index_box[];
}
“IndexSample”包含零个或多个位标框。用于包括的位标框的四符号码必须是在由关联的采样条目所指示的那些码中。
可以与本发明一起使用的并且在DVB文档TM-FF0058r0中原始提出的那些示例性位标框被提供如下:
abstract aligned(8)class DVBIndexBox(type)extends Box(type){
       unsigned int(4)           time_accuracy;
       unsigned int(4)           sample_accuracy;
       if(time_accuracy>=8)
               unsigned int(32)  max_timing_inaccuracy;
       if(sample_accuracy>=8)
              unsigned int(32)   max_sample_accuracy;
}
针对“time_accuracy”和“sample_accuracy”指定下面的值:0x0:精确的,0x1:未指定,0x2:启发式的,0x3:保留(没有提供最大值),0x4-0x7:应用特定的(没有提供最大值),0x8:规定的最大的不精确性,0x9:保留(提供最大的不精确性),0xA-0xF:应用特定的(提供的最大的不精确性)。
aligned(8)class DVBVideoIndex extends DVBIndexBox(‘idvi’){
       unsigned int(8)           video_event_mask;
       unsigned int(24)   video_event_length;
};
“video_event_mask”是根据下面的表1指示在指示的采样处开始的视频事件的位屏蔽。
表1:用于“video_event_mask”的屏蔽值
  屏蔽   含义
  0x01   视频解码开始点(例如,随机访问点)
  0x02   可自解码的图片(例如,I帧)
  0x04   参考图片
  0x08   P图片
  0x10   B图片
“video_evenT_length”是构成该视频图片的采样(传输封包)的数目,包括当前封包。值‘0’应该被用于表示“未知”。同步采样框(Sync Sample Box)还可以用于携带到类型为0x01的事件的位标。
aligned(8)class DVBPCRIndex extends DVBIndexBox(‘idpi’){
       unsigned int(1)          PCR_discontinuity_flag;
       unsigned int(5)          reserved_0;
       unsigned int(42)  PCR_Valuc;
}
“PCR_discontinuity_flag”是一个字段,当在关联的节目时钟参考(PCR)事件中存在节目时钟参考的不连续时,该字段被设为‘1’;否则其被设为‘0’。
“PCR_value”是例如根据ISO/IEC国际标准13818-1中的等式(2-1)中规定从位标指向的PCR中提取的27MHz值。
aligned(8)class DVBPolarityChange extends DVBIndexBox(‘idpc’){
       unsigned int(8)          polarity;
}
“极性(polarity)”是关联的事件的极性,如下表2的规定:
表2:极性值的解释
  值   含义
  0   清楚
  1   奇极性
  2   偶极性
该值指示其应用的新的极性值,并且定时元数据采样对应于具有该新极性的第一接收索引采样。极性改变位标应该理解为仅在给定的PID上的封包流的极性改变时出现,而在不同PID的封包之间极性改变时不出现。
aligned(8)class DVBCAIndex extends DVBIndexBox(‘idci’){
       unsigned int(8)   polarity;
       unsigned int(8)   ca_event_data[];
}
“ca_event_data”是包括携带条件访问(CA)事件的封包的字节;通常,这将是ECM。“ca_event_data”将持续直到框的结束。“ca_event_data”的长度可以根据框的长度来确定。
aligned(8)class DVBTimecodeIndex extends DVBIndexBox(‘idtc’){
       unsigned int(8)         timeline_id;
       unsigned int(2)         reserved_0;
       unsigned int(6)         tick_format;//as per table 6 in TR 102 823
       unsigned int(32)  absolute_ticks;
}
根据ETSI TS 102 823条款5.2.2.4的规定,“timeline_id”是时间线的标识符,并且根据同步的辅助数据(SAD)规范ETSI TS102823,“tick_format”是规定“absolute_ticks”字段采用的格式的字段。“absolute_ticks”是时间码,其根据字段“tick_format”的指示进行编码。
aligned(8)class DVBSectionUpdateIndex extends DVBIndexBox(‘idsu’){
       unsigned int(8)           table_id;
       unsigned int(16)   table_id_extension;
       unsigned int(8)            section_no;
       unsigned int(n*8)  section_data;            //optional
}
“DVBIDTable”框可以例如被包括在针对定时元数据轨道的采样表框中。“table_id”是被编制位标的段版本更新的表id。来自段版本更新的“table_id_extension”(或者针对PMT的“program_number””,或针对PAT的“transport_stream_id”)被编制位标。“section_no”是该更新应用到的段号。“section_data”是可以不出现的字段。如果其出现,则其包含新版本的段数据。该段数据应该持续直到该框的结束。“section_data”的长度可以根据框的长度来确定。
aligned(8)class DVBIDIndex extends DVBIndexBox(`didi`){
       unsigned int(5)           rcserved;
       unsigned int(3)           running_status;       //As per table 105
in 102 323
       unsigned int(24)  ID_Table_index;
}
“running_status”是指示通过“ID_Table_index”字段参考的ID的状态的字段(例如,如果ID在运行或者暂停)。该字段的值被定义在表TS 102 323的表105中。“ID_Table_index”是进入“DVBIDTableBox”的位标,利用指示的running_statu指示应用在该位置的ID。
aligned(8)class DVBIDTable extends FullBox(`didt`,vcrsion=0,0){
       unsigned int(32)  ID_count;
       for(i=0;i<ID_count;i++){
               string          ID;//in URI Format
       }
}
“ID_count”是在“DVBIDTable”中跟着的ID的数目。“ID”是URI格式化的ID。
位标框的其他例子提供如下:
aligned(8)class SDPUpdate extends DVBIndcxBox(‘idsd’){
       string sdp_text;
}
“sdp_text”是包含从所指示的采样开始有效的SDP描述的以null终止的字符串。
aligned(8)class KeyUpdate extends DVBIndexBox(‘idkm’){
       string key_message;
}
“key_message”包含被用于破译从相关的接收索引采样开始的封包净荷的密码密钥。
aligned(8)class ErrorIndex extends DVBIndexBox(‘idei’){
       unsigned int(2)packet_header_error;
       unsigned int(2)packet_payload_error;
       unsigned int(2)packet_sequencc_gap;
       unsigned int(2)reserved;
}
对于“pack_header_error”,值0x0指示封包头部不含有错误。值0x1指示封包头部可能含有错误也可能不含有错误。值0x2指示封包头部含有错误。值0x3被保留。
对于“pack_payload_error”,值0x0指示封包净荷不含有错误。值0x1指示封包净荷可能含有错误也可能不含有错误。值0x2指示封包净荷含有错误。值0x3被保留。
对于“pack sequence_gap”,值0x0指示封包在接收索引轨道中按传输顺序紧跟着前一个封包。在传输顺序中,值0x1指示封包在接收索引轨道中可以紧跟着或可以不紧跟着前一个封包。值0x2指示封包在接收索引轨道中按传输顺序不是紧跟着前一个封包,例如在封包之前存在至少一个丢失的封包。值0x3被保留。
在另一个实施方式中,包含位标的定时元数据轨道的位标采样条目格式如下:
class IndexSampleEntry()extends MetadataSamplcEntry(‘ixse’){
        unsigned int(16)program_numbcr;
        unsigned int(16)entry_count;
        int(32)sample_number_offset;
        for(i=1;i<=entry_count;i++){
               unsigned int(32)index_type_4cc;
               unsigned int(8)instance_info_length;
               unsigned int(8)payload_length;
               unsigned int(8)extension_count;
        }
}
IndexSampleEntry指示可以在与该采样条目关联的采样中出现的位标的类型。program_number标识MPEG-2传送流中内的节目。如果entry_number等于0,则在与该采样条目关联的采样中可以包括任何位标,并且instantce_info_length、payload_length和extension_count的默认值(根据DVB文件格式规范的第一版)被使用。sample_number_offset规定了被添加到关联的定时元数据采样中的sample_number的偏移量,以获得所参考的轨道中的采样号。index_type_4cc指示可以在与该采样条目关联的采样中出现的位标类型。instance_info_length、payload_length和extension_count指示在位标采样中使用的这些字段的值。DVB文件格式解析器忽略在该文档中的针对相应的index_type_4cc规定的字节范围的那些字节index_instance_info、index_payload和index_extension。这种机制允许以后向兼容的方式在以后的位标格式版本中添加字段。如果存在用于接收索引轨道的许多定时元数据轨道,则index_type_4cc值可以用于定位包含期望位标的轨道。
位标采样包含一个或多个位标事件,每个具有以下摘要语法。Index_instantce_info和index_payload的语义通过32位的index_type来确定,并且index_extension的语义通过extension_type来确定,如后面规定的那样。Index_type对应于采样分组中的grouping_type。
abstract class IndexEvent(index_type,info_length,payload_length,extension_count)
{
       unsigned int(8)index_instance_info[info_length];
       unsigned int(8)index_payload[payload_length];
       for(i=1;i<=extension_count;i++){
              unsigned int(32)extension_type;
              unsigned int(16)extension_length;
              unsigned int(8)index_extension[extension_length];
       }
       unsigned int(8)pad[];
}
abstract class IndexInstanceInfo(index_type,info_length)
{
}
abstract class IndexPayload(index_type,payload_length)
{
}
abstract class Index Extension(extension_typc,extension_length)
{
}
IndexEvent结构中的index_instance_info、index_payload、extension_type和index_extension的语义与分别在DVBSampleToGroup框、DVBSampleGroupDescription框和DVBSampleToGroupExtension框中使用的index_instance_info、index_payload、extension_type  和index_extension的语义分别相同。这种匹配支持在定时元数据轨道中包括的位标和通过DVBSampleToGroup框指示的位标之间的直接简单的转换。
一些位标事件的语法提供如下,其中语法元素的语义与前面给出的实施方式中描述的相同。
class VideoIndex extends IndexEvent(“idvi”,0,2,0);
class VideoIndexPayload extends IndexPayload(“idvi”,2){
       unsigned int(2)      reserved=0;
       unsigned int(2)      sample_depends_on;
       unsigned int(2)      sample_is_depended_on;
       unsigned int(2)      sequence_dcpcnds_on;
       unsigned int(8)      dependency_level;
}
class PCRIndex extends IndexEvent(“idpc”,0,6,0);
class PCRIndexPayload extends IndexPayload(“idpc”,6){
        unsigned int(1) PCR_discontinuity_flag;
        unsigned int(5) reserved_0;
        unsigned int(42) PCR_Value;
}
class PolarityIndex extends IndexEvent(“idca”,2,1,1);
class PolarityInstanceInfo extends IndexInstanceInfo(“idca”,2){
        unsigned int(13)pid;
        unsigned int(3)reserved;
}
class PolarityIndex extends IndexEvent(“idca”,0,1,1);
class PolarityIndexPayload extends IndcxPayload(“idca”,1){
        unsigned int(6)reserved_0;
        unsigned int(2)polarity;
}
class PolarityIndexExtension extends IndexExtension(“idca”,extension_Iength){
        unsigned int(8)ca_event_data[extension_length];
}
class TimecodeIndex extends IndexEvent(“idtc”,1,5,0);
class TimecodeIndcxInstanceInfo extends IndexInstanceInfo(“idtc”,1){
       unsigned int(8)timeline_id;
}
class TimecodeIndexPayload extends IndexPayload(“idtc”,5){
        unsigned int(2)reserved_0;
       unsigned int(6)tick_format;//as per table 6 in TR 102 823
       unsigned int(32)absolute_ticks;
}
class Timelndex extends IndexEvent(“idti”,0,0,0);
class SectionUpdateIndex extends IndexEvent(“idsu”,0,4,1);
class SectionUpdateIndexPayload extends IndexPayload(“idsu”,4){
        unsigned int(8)table_id;
        unsigned int(16)table_id_extension;
        unsigned int(8)section_no;
}
class SectionUpdateIndexExtension extends IndexExtension(“idsu”,
cxtension_Iength){
       unsigned int(8)section_data[extension_length];
}
描述性元数据至少存在两种类型的使用。第一,当连续地记录广播时(例如,作为对用户发起的即时记录操作而非安排的对特定节目的记录的响应),可以将来自多于一个节目的内容记录在单个文件上。因此,电子服务指南(ESG)信息也被针对多于一个的节目而存储在文件中。编制位标的机制可以用于映射包括具有相应的ESG信息片段的节目的采样组。第二,不同的“故事线(storyline)”,诸如摘要或者特殊剪辑可以通过广播器来提供。例如,广播器可以提供信息,尤其是关于足球比赛的射门、比赛的整体精彩场面、比赛期间某个球员的精彩场面的时间段和描述。这些“故事线”可以在记录之后提供,或者可以使用特殊的时间线(如在较早给出的时间码时所讨论的)。编制位标的机制可以用于指示记录的文件中的“故事线”。
DVBSampleToGroup框可以如下用于描述性或者分段的元数据。grouping_type的值可以用于区分ESG和“故事线”元数据,即使它们可能结构上相同并且可以使用相同的grouping_type。全局参数instance_info被用于在故事线之间做出区分。对于ESG元数据,instance_info可以包含用于发起ESG元数据(诸如,给出关于ESG提供商的信息)的元数据项目的item_id,或者它可以用于在ESG元数据的不同节目之间做出区分。在实践中,instance_info可以包含含有关于故事线或者ESG的信息的元数据项目的item_id。可替换地,instance_info可以指向DVBGroupingInstance框,其可以例如包含每个故事线的文字名称或者指向描述的URI。在DVBSampleToGroup框中包括的循环中的条目可以如下使用。如果使用恒定大小的净荷字段,则其可以包含含有对分组的采样的描述的元数据项目的item_id,所述元数据项目诸如是相应的ESG分段或者关于故事线中的事件的描述性数据。如果group_description_index被用在循环中,则DVBSampleGroupDescription框可以包含相应的ESG分段的URI或者关于故事线中的事件的描述性XML片段。可替换地,DVBSampleGroupDescription框可以包含故事线事件的文本描述。当允许可变长度的净荷的DVBSampleToGroup框的语法被使用时,净荷可以是出于上述目的使用的URI或者对事件的文本描述。
图10图示出一个包括根据针对时间码位标的DVBSampleToGroup框的两个采样分组的文件。如上述的语法规定的,timeline_id的值用作时间码位标采样分组的全局参数。在1010中,timeline_id等于100,而在1020中,timeline_id等于200。
当采样组被包括在接收索引轨道或者媒体轨道中时,可以由文件解析器利用以下步骤来执行基于期望的分段的元数据或者位标属性在文件中寻找位置:
1.选择合适的采样组描述框(基于其分组类型)。
2.选择采样组描述框中的期望的组描述位标。
3.从(所选择的分组类型的)SampleToGroup框中寻找期望的组描述位标。这揭示了期望的元数据/位标属性的采样号。
4.使用采样表框来基于其采样号在文件中定位采样。
当根据DVBSampleToGroup框的采样组被包括在接收索引轨道或者媒体轨道中,并且使用了净荷而非group_description_index时,可以由文件解析器利用以下步骤来执行基于期望的分段的元数据或位标属性在文件中寻找位置:
1.选择合适的DVBSampleToGroup框(基于其分组类型和instance_info)。
2.在DVBSampleToGroup框中寻找期望的净荷值。这揭示了具有期望的元数据/位标属性的采样号。
3.使用采样表框来基于其采样号在文件中定位采样。
当采样组被包括在定时元数据轨道中时,可以由文件解析器利用以下步骤来执行基于期望的分段的元数据或者位标属性在文件中寻找位置:
1.选择合适的采样组描述框(基于其分组类型)。
2.选择采样组描述框中的期望的组描述位标。
3.从(所选择的分组类型的)SampleToGroup框中寻找期望的组描述位标。这揭示了定时元数据轨道内的期望的元数据/位标属性的采样号。
4.将定时元数据轨道的采样映射到关联的接收索引轨道的采样。如果针对每个接收索引采样创建一个元数据采样,则在接收索引轨道中的期望的采样号与定时元数据轨道中的采样号相同。否则,(使用采样框的解码时间)派生出定时元数据采样的解码时间戳,并且寻找具有相同的解码时间戳的接收索引采样(或者涉及该解码时间戳的时间的接收索引采样)。
5.基于在前面的步骤中识别的接收索引采样的采样号,使用接收索引轨道的采样表来定位文件中的采样。
当采样组被包括在接收索引轨道或者媒体轨道中时,可以由文件解析器利用以下处理来获得分别针对特定的接收索引采样或者媒体采样为有效的位标和分段的元数据:
1.选择与接收索引轨道或者媒体轨道关联的每个采样到组框(一次一个),并且分别找到特定的接收索引采样或者媒体采样的采样组描述位标。
2.从相应的样本组描述框获取对应于采样组描述位标的位标或者分段的元数据。
当采样组被包括在定时元数据轨道中时,可以由文件解析器利用以下的处理来获得针对特定的接收索引采样为有效的位标和分段的元数据:
1.如下将接收索引采样映射到元数据采样。如果针对每个接收索引采样创建一个元数据采样,则在接收索引轨道中的期望的采样号与定时元数据轨道中的采样号相同。否则,(使用采样框的解码时间)派生出接收索引采样的解码时间戳,并且寻找具有相同的解码时间戳的定时元数据采样(或者在该解码时间戳的时间处所涉及的定时元数据采样)。
2.选择与定时元数据轨道关联的每个采样到组框(一次一个),并且分别找到特定的定时元数据采样的采样组描述位标。
3.从相应的采样组描述框获取对应于采样组描述位标的位标或者分段的元数据。
通常包括文件解析器、解码器160以及渲染器170的播放器可以通过分析和再生采样组描述框的某部分内容来向终端用户提供位标、书签或者其他类型的元数据的列表。
播放器可以向终端用户提供加书签操作。与上面针对接收器操作描述类似,可以使用采样分组将书签存储到文件。
因此,根据本发明的实施方式,采样组可以与电影片段无缝地一起使用,因为SampleToGroup框可以驻留在轨道片段(track fragment)框中。因此,能够完全支持同时地记录和回放单个文件。此外,采样组机制是可扩展的,因为可以指定新的分组类型。元数据的持续性是清楚的:具有(相同分组类型的)相同group_description_index值的连续采样。此外,基于SampleGroupDescription框获得文件内容的表是直接简单的。因此,当存储与单个采样(例如,书签)关联的元数据时,采样分组机制可能比定时元数据轨道要好。
尽管本发明的实施方式大都考虑接收器150、记录存储装置155、文件解析器、以及解码器160,但是所给出的文件结构还可以供编码器110在创建文件时使用。具体地,当提供文件进行回放而不将其媒体内容转换到封包化的格式时,像本发明中所述提议地那样提供分段的元数据和结构化的位标是有利的。根据ISO基媒体文件格式,编码器110派生出文件元数据,该文件元数据将在后来被存储在moov框或者moof框中,其取决于电影片段是否在使用。对于任何接收到的一条元数据,编码器110识别其类型,并且如果元数据的类型先前并不存在的话,则创建新的采样组描述框。编码器110还检查该条元数据的内容与较早存储在文件中的所有元数据是否存在不同。如果该内容是新的,则创建一个用于该采样组描述框的新条目,并且将该元数据内容复制到该条目。SampleToGroup框是针对每个分组类型而维持的,并且媒体轨道或者索引轨道的采样被映射到相应的采样组描述框中的条目之一。
应该注意,上面描述的采样分组的创建可以以多种方式来实现。例如,采样分组的创建可以不与采样自身的编码和存储装置120同时发生。替代地,采样分组可以基于用于存储元数据的中间格式离线地执行。再次参考图1,采样分组的离线创建将导致两个附加的块,其从存储装置120获取其输入并且输出到服务器130。处理顺序中的第一个块可以称为服务器文件改写器,其输入不具有针对特定元数据类型的采样分组的文件,并且输出具有该类型的采样分组的文件。该处理顺序中的第二个块可以称为第二存储装置,其可以具有与存储装置120类似的属性。
上述的服务器文件改写器和第二存储装置可以驻留在编码器110、存储装置120、服务器130驻留的相同设备中,或者可以驻留在不同设备。而且,服务器文件改写器和第二存储装置可以彼此驻留在相同设备或不同设备中。
在一个实施方式中,服务器130通常包括文件解析器(在图1中未示出)。文件解析器服从在一个或多个索引轨道中提供的指令以从容器文件中的编码的媒体比特流生成封包流。文件解析器进一步处理在与该索引轨道关联的采样组描述框中给出的信息。该处理可以包括例如基于在采样组描述框中给出的信息来创建SDP信息或电子服务指南的一部分。该处理还可以包括处理SampleToGroup框,以解析在采样组描述框中给出的各条元数据(和特定的组描述位标关联)与媒体采样或索引采样的关系,以及在采样组描述框中提供的元数据的持续性。例如,服务器可以检查什么时候需要新的SDP信息用于解码所传输的封包流,并且以这样的方式来发送新的SDP信息,即,使得接收器在需要新的SDP信息解码封包流时其是可用的。在一个实施方式中,提供给服务器的文件由接收器150创建,并且存储在记录存储装置155中,记录存储装置155可操作地连接到服务器130。
尽管已经公开了本发明的具体实施方式,但是将理解:在所附权利要求书的真实精神和范围内各种不同修改和组合是可能的并被预见到。因此没有意图限于这里给出的准确概要和公开内容。
在方法步骤的一般背景中描述这里描述的本发明的各种实施方式,这些方法步骤可以在一个实施方式中由如下程序产品来实施,该程序产品包括在联网环境中由计算机执行的计算机可执行指令,比如程序代码。计算机可读介质可以包括可移除的存储设备和不可移除的存储设备,包括但不限于只读存储器(ROM)、随机访问存储器(RAM)、压缩盘(CD)、数字多功能盘(DVD)等。一般而言,程序模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、关联的数据结构和程序模块代表用于执行这里公开的方法步骤的程序代码的例子。这样的可执行指令或者关联的数据结构的特定序列代表用于实施这样的步骤中所述功能的对应动作的例子。可以使用任何常用编程语言如C/C++或者汇编语言以软件直接实施本发明的各种实施方式。
可以用标准编程技术实现本发明的软件和web实施,这些编程技术具有基于规则的逻辑以及用以实现各种数据库搜索步骤、相关步骤、比较步骤和判决步骤的其他逻辑。也应当注意:在这里和在权利要求书中使用的词语“组件”和“模块”旨在于涵盖使用一行或者多行软件码的实施、和/或硬件实施和/或用于接收人工输入的设备。
尽管权利要求书中的限定在未使用措词“装置”的情况下不应解释为构成“装置加功能”的限定,但是在前面例子中描述的个别和特定结构应当理解为构成用于执行下面的权利要求书中描述的特定功能的装置的代表性结构。此外,术语“步骤”在先前描述中的使用不应用来将权利要求书中的任何特定限制解释为构成“步骤加功能”限制。在这里描述或者以别的方式提及包括授权专利、专利申请和非专利出版物的个别参考文献这一程度上,本意并非而且也不应当将这样的参考文献解释为限制所附权利要求书的范围。
已经出于图示和描述的目的而呈现对本发明实施方式的前文描述。本意并非穷举本发明或者使本发明限于公开的精确形式,并且修改和变化根据上述教导是可能的或者可以从对本发明的实施中加以获悉。选择和描述实施方式以便说明本发明的原理及其实际应用以使本领域技术人员在各种实施方式中和以与设想的特定实施方式适应的各种修改来利用本发明。此处描述的实施方式的特征可以以方法、装置、模块、系统以及计算机程序产品的所有可能的组合来进行组合。

Claims (61)

1.一种组织流式数据的方法,包括:
在文件中存储所述流式数据;
识别可应用到所述流式数据的子集的元数据;以及
形成所述流式数据的一个或多个采样的至少一个组,组中的每个采样针对一种元数据类型具有相同的元数据内容。
2.根据权利要求1所述的方法,其中所述至少一个组在文件中被标识。
3.根据权利要求1所述的方法,其中所述文件是按照ISO基媒体文件格式的。
4.根据权利要求3所述的方法,其中在文件中存储所述流式数据包括在接收索引轨道中进行存储。
5.根据权利要求3所述的方法,其中所述元数据类型通过分组类型和分组实例数据来指示,所述分组类型规定了所述分组实例数据和所述元数据内容的语义。
6.根据权利要求5所述的方法,其中所述元数据内容包括元数据净荷和零个或多个元数据净荷扩展,其中所述元数据净荷被包括在第一结构中,而其中所述零个或多个元数据净荷扩展被包括在第二结构中。
7.根据权利要求5所述的方法,其中所述至少一个组在采样组描述框中被指示。
8.根据权利要求3所述的方法,其中所述至少一个组在采样组描述框中被指示。
9.根据权利要求1所述的方法,其中所述元数据类型包括所述流式数据的段的标题。
10.根据权利要求1所述的方法,其中组包括来自两个或多个轨道的采样。
11.根据权利要求10所述的方法,进一步包括:
利用与所有相关轨道关联的元数据来识别包括来自两个或多个轨道的采样的组。
12.根据权利要求10所述的方法,进一步包括:
利用与主轨道关联的元数据来识别包括来自两个或多个轨道的采样的组。
13.一种包含在计算机可读介质上的计算机程序,所述计算机程序被配置用于提供一种方法,包括:
在文件中存储流式数据;
识别可应用到所述流式数据的子集的元数据;以及
形成所述流式数据的一个或多个采样的至少一个组,组中的每个采样针对一种元数据类型具有相同的元数据内容。
14.根据权利要求13所述的计算机程序,其中所述至少一个组在文件中被标识。
15.根据权利要求13所述的计算机程序,其中所述文件是按照ISO基媒体文件格式的。
16.根据权利要求15所述的计算机程序,其中在文件中存储所述流式数据包括在接收索引轨道中进行存储。
17.根据权利要求15所述的计算机程序,其中所述元数据类型通过分组类型和分组实例数据来指示,所述分组类型规定了所述分组实例数据和所述元数据内容的语义。
18.根据权利要求16所述的计算机程序,其中所述元数据内容包括元数据净荷和零个或多个元数据净荷扩展,其中所述元数据净荷被包括在第一结构中,而其中所述零个或多个元数据净荷扩展被包括在第二结构中。
19.根据权利要求15所述的计算机程序,其中所述至少一个组在采样组描述框中被指示。
20.根据权利要求13所述的计算机程序,其中所述元数据类型包括所述流式数据的段的标题。
21.根据权利要求13所述的计算机程序,其中组包括来自两个或多个轨道的采样。
22.根据权利要求21所述的计算机程序,所述方法进一步包括:
利用与所有相关轨道关联的元数据来识别包括来自两个或多个轨道的采样的组。
23.根据权利要求21所述的计算机程序,所述方法进一步包括:
利用与主轨道关联的元数据来识别包括来自两个或多个轨道的采样的组。
24.一种适于接收流式数据的接收器,包括:
存储单元,用于在文件中存储流式数据;以及
处理器,其适于:
识别可应用到所述流式数据的子集的元数据;以及
形成所述流式数据的一个或多个采样的至少一个组,组中的每个采样针对一种元数据类型具有相同的元数据内容。
25.根据权利要求24所述的接收器,其中所述处理器进一步适于在存储在所述存储单元中的文件中标识所述至少一个组。
26.根据权利要求24所述的接收器,其中所述文件是按照ISO基媒体文件格式的。
27.根据权利要求26所述的接收器,其中所述存储单元适于在接收索引轨道中存储所述流式数据。
28.根据权利要求26所述的接收器,其中所述元数据类型通过分组类型和分组实例数据来指示,所述分组类型规定了所述分组实例数据和所述元数据内容的语义。
29.根据权利要求28所述的接收器,其中所述元数据内容包括元数据净荷和零个或多个元数据净荷扩展,其中所述元数据净荷被包括在第一结构中,而其中所述零个或多个元数据净荷扩展被包括在第二结构中。
30.根据权利要求26所述的接收器,其中所述至少一个组在采样组描述框中被指示。
31.根据权利要求24所述的接收器,其中所述元数据类型包括所述流式数据的段的标题。
32.根据权利要求24所述的接收器,其中组包括来自两个或多个轨道的采样。
33.根据权利要求34所述的接收器,其中所述处理器进一步适于利用与所有相关轨道关联的元数据来识别包括来自两个或多个轨道的采样的组。
34.根据权利要求32所述的接收器,其中所述处理器进一步适于利用与主轨道关联的元数据来识别包括来自两个或多个轨道的采样的组。
35.根据权利要求1所述的方法,进一步包括针对所述流式数据创建定时元数据轨道。
36.根据权利要求35所述的方法,其中所述文件是按照ISO基媒体文件格式的。
37.根据权利要求36所述的方法,其中在文件中存储所述流式数据包括在接收索引轨道中进行存储。
38.根据权利要求36所述的方法,其中所述至少一个组在采样组描述框中被指示。
39.根据权利要求38所述的方法,其中通过将所述流式数据的一个或多个采样的至少一个组与所述定时元数据轨道中的相应的定时元数据采样关联,在针对所述定时元数据轨道的采样组描述框中指示所述流式数据的一个或多个采样的至少一个组。
40.根据权利要求35所述的方法,其中所述定时元数据轨道将定时元数据与一个或多个时间线关联。
41.根据权利要求40所述的方法,其中所述定时元数据轨道将定时元数据与两个或多个时间线关联。
42.根据权利要求13所述的计算机程序,其中所述方法进一步包括:
针对所述流式数据创建定时元数据轨道。
43.根据权利要求42所述的计算机程序,其中所述文件是按照ISO基媒体文件格式的。
44.根据权利要求43所述的计算机程序,其中在文件中存储所述流式数据包括在接收索引轨道中进行存储。
45.根据权利要求43所述的计算机程序,其中所述至少一个组在采样组描述框中被指示。
46.根据权利要求45所述的计算机程序,其中通过将所述流式数据的一个或多个采样的至少一个组与所述定时元数据轨道中的相应的定时元数据采样关联,在针对所述定时元数据轨道的采样组描述框中指示所述流式数据的一个或多个采样的至少一个组。
47.根据权利要求42所述的计算机程序,其中定时元数据轨道将定时元数据与一个或多个时间线关联。
48.根据权利要求47所述的计算机程序,其中定时元数据轨道将定时元数据与两个或多个时间线关联。
49.根据权利要求24所述的接收器,其中所述处理器进一步适于针对所述流式数据创建定时元数据轨道。
50.根据权利要求49所述的接收器,其中所述文件是按照ISO基媒体文件格式的。
51.根据权利要求50所述的接收器,其中所述存储单元适于在接收索引轨道中存储所述流式数据。
52.根据权利要求50所述的接收器,其中所述至少一个组在采样组描述框中被指示。
53.根据权利要求52所述的接收器,其中通过将所述流式数据的一个或多个采样的至少一个组与所述定时元数据轨道中的相应的定时元数据采样关联,在针对所述定时元数据轨道的采样组描述框中指示所述流式数据的一个或多个采样的至少一个组。
54.根据权利要求49所述的接收器,其中定时元数据轨道将定时元数据与一个或多个时间线关联。
55.根据权利要求54所述的接收器,其中定时元数据轨道将定时元数据与两个或多个时间线关联。
56.一种设备,包括:
用于识别可应用到流式数据的子集的元数据的装置;以及
用于形成所述流式数据的一个或多个采样的至少一个组的装置,组中的每个采样针对一种元数据类型具有相同的元数据内容。
57.根据权利要求56所述的设备,其中所述文件是按照ISO基媒体文件格式的。
58.根据权利要求57所述的设备,其中在文件中存储所述流式数据包括在接收索引轨道中进行存储。
59.根据权利要求57所述的设备,其中所述元数据类型通过分组类型和分组实例数据进行指示,所述分组类型规定了所述分组实例数据和所述元数据内容的语义。
60.根据权利要求59所述的设备,其中所述元数据内容包括元数据净荷和零个或多个元数据净荷扩展,其中所述元数据净荷被包括在第一结构中,而其中所述零个或多个元数据净荷扩展被包括在第二结构中。
61.根据权利要求57所述的设备,其中所述至少一个组在采样组描述框中被指示。
CN200880107466A 2007-08-20 2008-08-19 用于流式多媒体数据的分段的元数据和位标 Pending CN101802823A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US95691207P 2007-08-20 2007-08-20
US60/956,912 2007-08-20
US97119307P 2007-09-10 2007-09-10
US60/971,193 2007-09-10
US99205707P 2007-12-03 2007-12-03
US60/992,057 2007-12-03
PCT/IB2008/053321 WO2009024926A1 (en) 2007-08-20 2008-08-19 Segmented metadata and indexes for streamed multimedia data

Publications (1)

Publication Number Publication Date
CN101802823A true CN101802823A (zh) 2010-08-11

Family

ID=40377912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880107466A Pending CN101802823A (zh) 2007-08-20 2008-08-19 用于流式多媒体数据的分段的元数据和位标

Country Status (7)

Country Link
US (1) US9852219B2 (zh)
EP (1) EP2191402A4 (zh)
KR (1) KR101143670B1 (zh)
CN (1) CN101802823A (zh)
CA (1) CA2695645C (zh)
RU (1) RU2477883C2 (zh)
WO (1) WO2009024926A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870574A (zh) * 2014-03-18 2014-06-18 江苏物联网研究发展中心 基于h.264密文云视频存储的标签制作及索引方法
CN104484285A (zh) * 2014-12-09 2015-04-01 杭州华为数字技术有限公司 一种存储管理方法和装置
CN105898531A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 视频缓存文件的封装方法和系统
US10176176B2 (en) 2011-05-17 2019-01-08 Alcatel Lucent Assistance for video content searches over a communication network
CN110830511A (zh) * 2013-07-26 2020-02-21 三星电子株式会社 用于支持下载和流传送的分组传输的方法和设备
CN110943977A (zh) * 2019-11-11 2020-03-31 普联技术有限公司 多媒体业务数据传输方法、服务端、设备及存储介质
CN113114655A (zh) * 2021-04-07 2021-07-13 深圳市瑞驰信息技术有限公司 一种基于tcp/ip的二进制数据交互协议设计方法
CN113574900A (zh) * 2019-03-15 2021-10-29 诺基亚技术有限公司 用于对媒体内容中的实体进行分组的方法和装置
CN114051194A (zh) * 2021-10-15 2022-02-15 赛因芯微(北京)电子科技有限公司 一种音频轨道元数据和生成方法、电子设备及存储介质

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US9743078B2 (en) 2004-07-30 2017-08-22 Euclid Discoveries, Llc Standards-compliant model-based video encoding and decoding
US9578345B2 (en) 2005-03-31 2017-02-21 Euclid Discoveries, Llc Model-based video encoding and decoding
US8902971B2 (en) * 2004-07-30 2014-12-02 Euclid Discoveries, Llc Video compression repository and model reuse
US9532069B2 (en) 2004-07-30 2016-12-27 Euclid Discoveries, Llc Video compression repository and model reuse
WO2008091483A2 (en) 2007-01-23 2008-07-31 Euclid Discoveries, Llc Computer method and apparatus for processing image data
US8942283B2 (en) 2005-03-31 2015-01-27 Euclid Discoveries, Llc Feature-based hybrid video codec comparing compression efficiency of encodings
US9294728B2 (en) 2006-01-10 2016-03-22 Imagine Communications Corp. System and method for routing content
US8180920B2 (en) 2006-10-13 2012-05-15 Rgb Networks, Inc. System and method for processing content
US20080256431A1 (en) * 2007-04-13 2008-10-16 Arno Hornberger Apparatus and Method for Generating a Data File or for Reading a Data File
US8627509B2 (en) 2007-07-02 2014-01-07 Rgb Networks, Inc. System and method for monitoring content
US20090199100A1 (en) * 2008-02-05 2009-08-06 Samsung Electronics Co., Ltd. Apparatus and method for generating and displaying media files
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) * 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US9473812B2 (en) * 2008-09-10 2016-10-18 Imagine Communications Corp. System and method for delivering content
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
CN102246533A (zh) 2008-10-14 2011-11-16 Rgb网络有限公司 用于代码转换后的媒体内容的渐进递送的系统和方法
WO2010060442A1 (en) * 2008-11-26 2010-06-03 Telefonaktiebolaget Lm Ericsson (Publ) Technique for handling media content to be accessible via multiple media tracks
US9282131B2 (en) * 2009-01-20 2016-03-08 Imagine Communications Corp. System and method for splicing media files
US8868526B2 (en) 2009-05-29 2014-10-21 International Business Machines Corporation Parallel segmented index supporting incremental document and term indexing
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
CA2778064C (en) 2009-10-20 2019-06-04 Telefonaktiebolaget Lm Ericsson (Publ) Provision of supplemental processing information
US8677005B2 (en) * 2009-11-04 2014-03-18 Futurewei Technologies, Inc. System and method for media content streaming
US8635359B2 (en) * 2009-11-06 2014-01-21 Telefonaktiebolaget L M Ericsson (Publ) File format for synchronized media
KR101777347B1 (ko) 2009-11-13 2017-09-11 삼성전자주식회사 부분화에 기초한 적응적인 스트리밍 방법 및 장치
KR101750048B1 (ko) 2009-11-13 2017-07-03 삼성전자주식회사 변속 재생 서비스 제공 방법 및 장치
KR101786050B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
KR101750049B1 (ko) 2009-11-13 2017-06-22 삼성전자주식회사 적응적인 스트리밍 방법 및 장치
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101737084B1 (ko) 2009-12-07 2017-05-17 삼성전자주식회사 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치
KR101401183B1 (ko) 2009-12-11 2014-05-29 노키아 코포레이션 스트리밍 미디어 파일의 표현을 기술하고 타이밍하기 위한 장치 및 방법
KR101777348B1 (ko) 2010-02-23 2017-09-11 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
WO2011108868A2 (en) 2010-03-03 2011-09-09 Samsung Electronics Co., Ltd. Apparatus and method for recording and playing a media file, and a recording medium therefor
KR101007645B1 (ko) * 2010-06-01 2011-01-13 주식회사 넥스토디아이 인덱싱 기능을 갖는 데이터 저장 장치 및 인덱싱 방법
WO2012011722A2 (ko) * 2010-07-19 2012-01-26 엘지전자 주식회사 미디어 송수신 방법 및 그를 이용한 송수신 장치
KR101768222B1 (ko) * 2010-07-20 2017-08-16 삼성전자주식회사 적응적 스트리밍 방식의 컨텐트 송수신 방법 및 장치
US10095367B1 (en) * 2010-10-15 2018-10-09 Tivo Solutions Inc. Time-based metadata management system for digital media
KR101857416B1 (ko) * 2011-06-13 2018-05-16 한국전자통신연구원 오버헤드를 최소화한 헤더를 가지는 패킷 기반의 미디어 데이터 전송 방법
RU2618373C2 (ru) * 2011-07-29 2017-05-03 Сони Корпорейшн Устройство и способ распределения потоковой передачи данных, устройство и способ приема потоковой передачи данных, система потоковой передачи данных, программа и носитель записи
US8849819B2 (en) 2011-08-05 2014-09-30 Deacon Johnson System and method for controlling and organizing metadata associated with on-line content
US9591098B2 (en) 2012-02-01 2017-03-07 Cisco Technology, Inc. System and method to reduce stream start-up delay for adaptive streaming
CN104067238A (zh) * 2012-03-08 2014-09-24 惠普发展公司,有限责任合伙企业 数据采样去重
US8949240B2 (en) * 2012-07-03 2015-02-03 General Instrument Corporation System for correlating metadata
CN109618235B (zh) 2013-01-18 2021-03-16 佳能株式会社 生成设备和方法、处理设备和方法以及存储介质
WO2014172654A1 (en) 2013-04-19 2014-10-23 Huawei Technologies Co., Ltd. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
US20140325023A1 (en) * 2013-04-24 2014-10-30 Cisco Technology, Inc. Size prediction in streaming enviroments
WO2014181220A1 (en) * 2013-05-10 2014-11-13 Koninklijke Philips N.V. Method of encoding a video data signal for use with a multi-view rendering device
US9722852B2 (en) * 2013-05-24 2017-08-01 Cisco Technology, Inc. On-demand encapsulating of timed metadata in a network environment
EP3047653B1 (en) 2013-09-20 2020-05-06 Koninklijke KPN N.V. Correlating timeline information between media streams
ES2796873T3 (es) * 2013-09-20 2020-11-30 Koninklijke Kpn Nv Correlacionar información de línea de tiempo entre flujos de medios
US9923945B2 (en) 2013-10-10 2018-03-20 Cisco Technology, Inc. Virtual assets for on-demand content generation
WO2015105391A1 (en) * 2014-01-13 2015-07-16 Lg Electronics Inc. Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks
CA2942336A1 (en) 2014-03-10 2015-09-17 Euclid Discoveries, Llc Continuous block tracking for temporal prediction in video encoding
US10097851B2 (en) 2014-03-10 2018-10-09 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US10091507B2 (en) 2014-03-10 2018-10-02 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US20150358507A1 (en) * 2014-06-04 2015-12-10 Sony Corporation Timing recovery for embedded metadata
GB2528039A (en) * 2014-07-01 2016-01-13 Canon Kk Method for identifying objects across time periods and corresponding device
US9928297B2 (en) * 2015-02-11 2018-03-27 Qualcomm Incorporated Sample grouping signaling in file formats
US9762965B2 (en) 2015-05-29 2017-09-12 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
WO2016195412A1 (ko) * 2015-06-04 2016-12-08 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US9325742B1 (en) * 2015-11-20 2016-04-26 International Business Machines Corporation Adding an encryption policy in a streaming environment
WO2017118474A1 (en) * 2016-01-05 2017-07-13 Huawei Technologies Co., Ltd. A data processing apparatus and method and a data container structure
EP3448044B1 (en) * 2016-05-20 2023-05-10 LG Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
WO2018035046A1 (en) 2016-08-15 2018-02-22 President And Fellows Of Harvard College Treating infections using idsd from proteus mirabilis
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated 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
US10869016B2 (en) 2018-04-12 2020-12-15 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
US20200089779A1 (en) * 2018-09-19 2020-03-19 Twitter, Inc. Progressive API Responses
US11153626B1 (en) * 2019-05-20 2021-10-19 Amazon Technologies, Inc. Systems and methods for transforming a fragment media player into an access unit media player
US20210400100A1 (en) * 2020-06-23 2021-12-23 Tencent America LLC Bandwidth cap signaling using combo-index segment track in media streaming
US11860943B2 (en) * 2020-11-25 2024-01-02 EMC IP Holding Company LLC Method of “outcome driven data exploration” for datasets, business questions, and pipelines based on similarity mapping of business needs and asset use overlap
CN114363792A (zh) * 2021-11-26 2022-04-15 赛因芯微(北京)电子科技有限公司 传输音轨格式串行元数据生成方法、装置、设备及介质
WO2023140952A1 (en) * 2022-01-20 2023-07-27 Dolby Laboratories Licensing Corporation Data structure for multimedia applications

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477707B1 (en) * 1998-03-24 2002-11-05 Fantastic Corporation Method and system for broadcast transmission of media objects
WO2001078404A2 (en) * 2000-04-07 2001-10-18 Avid Technology, Inc. Indexing interleaved media data
US6785688B2 (en) * 2000-11-21 2004-08-31 America Online, Inc. Internet streaming media workflow architecture
US7110664B2 (en) * 2001-04-20 2006-09-19 Front Porch Digital, Inc. Methods and apparatus for indexing and archiving encoded audio-video data
US7155531B1 (en) * 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
FI20011871A (fi) * 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
US20030110503A1 (en) 2001-10-25 2003-06-12 Perkes Ronald M. System, method and computer program product for presenting media to a user in a media on demand framework
US20040167925A1 (en) * 2003-02-21 2004-08-26 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
KR20040088541A (ko) * 2002-02-25 2004-10-16 소니 일렉트로닉스 인코포레이티드 Mp4에서 avc를 지원하기 위한 방법 및 장치
GB2402247B (en) 2002-02-25 2005-11-16 Sony Electronics Inc Sample group metadata for multimedia data
GB2403835B (en) 2002-04-29 2005-11-23 Sony Electronics Inc Apparatus and method for providing supplemental enhancement information associated with multimedia data
JP4065142B2 (ja) * 2002-05-31 2008-03-19 松下電器産業株式会社 オーサリング装置およびオーサリング方法
KR20040008541A (ko) 2002-07-18 2004-01-31 주식회사 하이닉스반도체 반도체 소자의 접합 형성방법
US20040243588A1 (en) * 2003-05-29 2004-12-02 Thomas Tanner Systems and methods for administering a global information database
US7483532B2 (en) 2003-07-03 2009-01-27 Microsoft Corporation RTP payload format
US20050102371A1 (en) 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
WO2007028137A2 (en) * 2005-09-01 2007-03-08 Nokia Corporation Method for embedding svg content into an iso base media file format for progressive downloading and streaming of rich media content
EP2790380A1 (en) 2006-01-11 2014-10-15 Core Wireless Licensing S.a.r.l. Extensions to rich media container format for use by mobile broadcast/multicast streaming servers
US8768895B2 (en) * 2007-04-11 2014-07-01 Emc Corporation Subsegmenting for efficient storage, resemblance determination, and transmission
US8086651B2 (en) * 2008-05-12 2011-12-27 Research In Motion Limited Managing media files using metadata injection
US8255373B2 (en) * 2008-10-24 2012-08-28 Microsoft Corporation Atomic multiple modification of data in a distributed storage system

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10176176B2 (en) 2011-05-17 2019-01-08 Alcatel Lucent Assistance for video content searches over a communication network
CN110830511B (zh) * 2013-07-26 2021-10-26 三星电子株式会社 用于支持下载和流传送的分组传输的方法和设备
CN110830511A (zh) * 2013-07-26 2020-02-21 三星电子株式会社 用于支持下载和流传送的分组传输的方法和设备
CN103870574B (zh) * 2014-03-18 2017-03-08 江苏物联网研究发展中心 基于h.264密文云视频存储的标签制作及索引方法
CN103870574A (zh) * 2014-03-18 2014-06-18 江苏物联网研究发展中心 基于h.264密文云视频存储的标签制作及索引方法
CN104484285B (zh) * 2014-12-09 2017-11-17 杭州华为数字技术有限公司 一种存储管理方法和装置
CN104484285A (zh) * 2014-12-09 2015-04-01 杭州华为数字技术有限公司 一种存储管理方法和装置
CN105898531A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 视频缓存文件的封装方法和系统
CN113574900A (zh) * 2019-03-15 2021-10-29 诺基亚技术有限公司 用于对媒体内容中的实体进行分组的方法和装置
CN113574900B (zh) * 2019-03-15 2024-03-15 诺基亚技术有限公司 用于对媒体内容中的实体进行分组的方法和装置
CN110943977A (zh) * 2019-11-11 2020-03-31 普联技术有限公司 多媒体业务数据传输方法、服务端、设备及存储介质
CN113114655A (zh) * 2021-04-07 2021-07-13 深圳市瑞驰信息技术有限公司 一种基于tcp/ip的二进制数据交互协议设计方法
CN114051194A (zh) * 2021-10-15 2022-02-15 赛因芯微(北京)电子科技有限公司 一种音频轨道元数据和生成方法、电子设备及存储介质

Also Published As

Publication number Publication date
KR20100043108A (ko) 2010-04-27
RU2477883C2 (ru) 2013-03-20
US20090055417A1 (en) 2009-02-26
WO2009024926A1 (en) 2009-02-26
RU2010111391A (ru) 2011-09-27
CA2695645C (en) 2017-05-23
CA2695645A1 (en) 2009-02-26
US9852219B2 (en) 2017-12-26
EP2191402A4 (en) 2014-05-21
EP2191402A1 (en) 2010-06-02
KR101143670B1 (ko) 2012-05-09

Similar Documents

Publication Publication Date Title
CN101802823A (zh) 用于流式多媒体数据的分段的元数据和位标
KR101254385B1 (ko) 미디어 데이터 및 멀티미디어 데이터 중 적어도 하나를 적어도 하나의 파일 내에서 구성화하는 방법 및 장치, 액세스 방법, 컴퓨터 판독가능 저장 매체
CN101675435B (zh) 将媒体流记录到多媒体容器文件的接收索引轨道中
CN101731013B (zh) 处理和读取具有媒体数据容器和元数据容器的文件的设备和方法
RU2492585C2 (ru) Способ и устройство для группирования треков и подмножеств треков
CN101911693A (zh) 用于以iso基本媒体文件格式存储通知消息的系统和方法
BRPI0918671A2 (pt) método para entrega de programação de tv linear digital usando codificação de vídeo escalável
US7711718B2 (en) System and method for using multiple meta boxes in the ISO base media file format
US20100191778A1 (en) Method for constructing a file format and apparatus for processing a broadcasting signal including a file having the file format and method thereof
KR20110117568A (ko) 멀티미디어 전송 시스템에서 서비스 발견 정보를 송수신하는 방법 및 장치와 이를 위한 파일 구조
Hannuksela et al. The DVB File Format [Standards in a Nutshell]

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100811