通用对象传递及基于模板的文件传递的制作方法
【专利摘要】可使用文件传递系统及通用对象传递及基于模板的文件传递来经由网络传递数据对象。此可能通过以下操作来进行:将源数据形成为由包中的符号表示的数据对象序列;根据请求将那些数据对象序列发送到接收器,其中发射器获得具有用于所述数据对象的传递元数据的模板文件传递表;及基于描述于所述模板文件传递表中的发射对象识别符构建规则来构建用于数据对象的第一发射对象识别符。接收器可以:接收包;提取第二发射对象识别符;如果所述第一发射对象识别符与所述第二发射对象识别符识别同一数据对象,那么使包括所述接收到的数据包的经编码符号与所述数据对象相关联;及基于与所述数据对象相关联的所述经编码符号至少大致上恢复所述数据对象的所述源数据。
【专利说明】通用对象传递及基于模板的文件传递
[0001] 相关申请的夺叉引用
[0002] 本申请案主张2012年3月26日申请的题为"通用对象传递及基于模板的FLUTE传 递(Universal Object Delivery and Template-Based FLUTE Delivery)"的第61/615, 796 号美国临时申请案的权益,所述申请案的全部内容出于所有目的以全文引用的方式并入本 文中。
【技术领域】
[0003] 本发明涉及在通信系统中编码及解码数据,且更具体来说涉及以有效方式编码及 解码数据以顾及所传达数据中的错误及间隙、且处置不同文件传递方法以及使用现有基础 结构用于新颖文档传递过程的通信系统。
【背景技术】
[0004] 用于经由通信信道在发送器与接收方之间发射文件的技术为许多文献的目标。优 选地,接收方希望接收具有某一确定度的由发送器经由信道发射的数据的准确副本。当信 道不具有完美的保真度时(其覆盖大多数全部物理上可实现的系统),一个问题是如何处 理在发射中丢失或错乱的数据。丢失的数据(擦除)常常比损坏的数据(错误)容易处理, 这是因为接收方不能总是知道什么时候损坏的数据是错误接收地数据。已开发出许多错误 校正码来校正擦除及/或错误。通常,基于关于经由其发射数据的信道的保真性的一些信 息以及所发射数据的性质来选择所使用的特定代码。举例来说,当已知信道具有长的保真 性周期时,突发错误码可能最佳适合于所述应用程序。当所述信道仅具有短的保真性周期 时,预期简单的奇偶校验码可能最佳适合于不常见的错误。
[0005] 如本文所使用,"源数据"指在一或多个发送器处可用以及接收器通过从具有或不 具有错误及/或擦除的所发射序列恢复而获得的数据等。如本文所使用,"经编码数据"指 经传达且可用以恢复或获得所述源数据的数据。在简单情况下,经编码数据为源数据的副 本,但如果所接收的经编码数据不同于所发射的经编码数据(归因于错误及/或擦除),那 么在此简单情况下,在不存在关于所述源数据的额外数据的情况下,所述源数据可能不能 完全恢复。发射可以经过空间或时间来进行。在较复杂情况下,经编码数据是基于变换中 的源数据而产生且从一或多个发送器发射到接收器。如果源数据被发现为经编码数据的一 部分,那么所述编码被称为"系统性的"。在系统性编码的单个实例中,将关于源数据的冗余 信息附加到源数据的末端以形成经编码数据。
[0006] 还如本文所使用,"输入数据"指存在于FEC(前向错误校正)编码器设备或FEC编 码器模块、组件、步骤等("FEC编码器")的输入处的数据,及"输出数据"指存在于FEC编 码器的输出处的数据。相应地,输出数据将预期存在于FEC解码器的输入处,且FEC解码器 将预期基于其处理的输出数据而输出所述输入数据或其对应物。在一些情况下,输入数据 为或包含源数据,及在一些情况下,输出数据为或包含经编码数据。举例来说,如果在FEC 编码器的输入之前不存在处理,那么输入数据将为源数据。然而,在一些情况下,将源数据 处理为不同的形式(例如,静态编码器、逆编码器或另一过程)以产生呈现给FEC编码器的 中间数据而非源数据。
[0007] 在一些情况下,发送器装置或发送器程序代码可包括一种以上FEC编码器,S卩,源 数据在一连串多个FEC编码器中变换为经编码数据。类似地在接收器处,可应用一个以上 FEC解码器以从所接收经编码数据产生源数据。
[0008] 可将数据认为分割为多个符号。编码器为从源符号或输入符号序列产生经编码符 号或输出符号的计算机系统、装置、电子电路或其类似者,及解码器为从所接收或恢复的经 编码符号或输出符号恢复源符号或输入符号序列的对应物。编码器及解码器在时间及/或 空间方面通过信道分开,且任何所接收的经编码符号可能并非与对应所发射的经编码符号 完全相同,且其可能并非在与其经发射的完全相同序列中经接收。符号的"大小"可以位来 测量,不管所述符号是否实际上分解为位流,其中当符号选自2 M个符号的字母表时,所述符 号具有Μ位的大小。在本文中的许多实例中,符号可以八位字节来测量,且代码可超过256 个可能性的字段(在每一八位字节内存在256个可能的8位模式),但应理解可使用不同的 数据测量单元且众所周知以各种方式来测量数据。在一股文献中,术语"字节"有时与术语 "八位字节"互换地使用以指示8位值,但在一些上下文中,"字节"指示X位值,其中X并不 等于8,例如X = 7,且因此大体来说,术语"八位字节"是在本文中使用。除非另有指示,否 则本文的实例并不限于每符号特定整数或非整数数目个位。
[0009] 图1展示与译码及解码及用以描述源块、符号、子块等的块结构的术语相关联的 一股工作流程。符号可为源符号(即,构成原始对象的块的副本)或修复符号(即,通过 译码过程产生的可用以修复源框中的擦除的数据)。对译码系统的操作至关重要的参数可 含于称作对象发射信息("0ΤΙ")的结构内。可在发送器与接收器之间传达一或多次用于 收集相关符号的0ΤΙ。当将符号放置在用于经由信道传递的消息(例如,网络上的网络包 时)中时,有时将簿记信息添加到所述符号。将此信息放置在有效负载识别符(FEC有效负 载ID)内。在若干特定实例中,有效负载ID含有源块数("SBN")及唯一编码符号识别符 ("ESI")。有效负载ID(及0ΤΙ)可含有用于不同类型的代码及用例的不同信息。
[0010] 前向错误柃if ( "FEC")对象发射信息("0ΤΙ")或"FEC 0ΤΙ"
[0011] 基于接收器接收(或能够推断)的FEC 0ΤΙ,接收器可确定文件传送的源块及子 块结构。在[Raptor-RFC-5053]及[IETF-RFC-6330]中,FEC 有效负载 ID 含有(SBN,ESI) 对,其中在[Raptor-RFC-5053]中,SBN 为 16 位及 ESI 为 16 位,而在[IETF-RFC-6330]中, SBN为8位及ESI为24位,如本文图2中所示。此格式的一个缺点为必须预定分配给SBN 及ESI的位的数目,且有时难以确定将对于全部文件传递参数充足的的恰当最大值。
[0012] 举例来说,当使用具有16位ESI的[Raptor-RFC-5053]时,仅具有216 = 65, 536个 可用ESI值在一些情形中可为限制的。举例来说,关于含有8, 192个源符号的源块,经编码 符号的数目可仅为大于8的倍数(即,因为8192*8 = 65536),从而在此情况下将可使用的 可能代码速率限制到1/8以下。在此实例中,使用16位来保持SBN (提供高达216 = 65, 536 个源块)可超过以往所使用的情况。更具体地,在每1,024个八位字节的8, 192个源符号 的情况下,可支持的文件大小为524 GB,其在许多应用程序中为大于所需的数量级。
[0013] 作为另一实例,当使用[IETF-RFC-6330]时,具有仅28 = 256个可用SBN在一些情 形中可为限制的。对于4 GB文件,如果每一源块限于8 MB(其可能为最大子块大小为256 KB、最小子符号大小为32个八位字节及符号大小为1,024个八位字节的情况),那么限制源 块的数目为256将文件大小限制为2 GB。在此实例中,具有224 = 16, 777, 216个可能经编 码符号(ESI)将超过以往所使用的情况,例如在8, 192个源符号的情况下,可能的经编码符 号数目为2, 048倍,其在一些应用程序中可为永不需要的。
[0014] 如上文所描述的擦除代码处理可结合多种内容传递系统及协议来使用。在一些情 况下,需要专门的服务器,其由于使用较多常用、常规因特网服务器来支持内容传递而在实 施、支持及维持方面较昂贵。因此,需要具有实施起来较不复杂的用于传递内容及修复符号 的方法。
[0015] 在一些情况下,优选使用更多有效的用信号发送方法。经设计用于供单向通信信 道及多播通信使用的一个此类方法被称为FLUTE [FLUTE]。FLUTE通过用以传递文件及目录 信息(例如,待与符号流相关联的文件名称)的方法来加强所述擦除译码技术的基本能力。 实施FLUTE及适当擦除代码集合的接收器能够识别文件对象的名称及内容。FLUTE继而可 在例如UDP/IP(例如因特网中)的多种传送机制内载运(或"除其之外")。在其中3GPP标 准界定组织设置标准的MBMS及eMBMS上下文中,已选择FLUTE用于传递流式内容。具体来 说,将所述流作为DASH格式化文件序列来传递。然而,FLUTE内的用信号发送并未经专门 设计用于传递相关文件序列。因此,需要一种用于在FLUTE架构内用信号发送及传递文件 序列的改进方法。
[0016] 参考f献
[0017] 以下参考文献中的每一者的全文出于所有目的以引用的方式并入本文中:
[0018] [3GP-DASH] "透明端到端包交换式流式传输服务(PSS);经由HTTP的渐进式下载 及动态自适应流式传输(3GP-DASH) ",3GPP规范TS 26. 247,第10版,2011年6月8日。
[0019] [FEC BB]沃森 M. (Watson,M.)、卢比 M. (Luby,M.)及 L.维奇萨诺(L. Vicisano), "前向错误校正(FEC)建构块",IETF RFC 5052(2007年8月);
[0020] [FLUTE]拜拉 T. (Paila,T.)、沃尔什 R. (Walsh,R.)、卢比 M. (Luby,M.)、罗卡 V. (Roca,V·)、莱赫托宁R. (Lehtonen,R.),"FLUTE-经由单向输送的文件传递",IETF RFC6726(2012 年 11 月);
[0021] [IANA-FEC]http ://www. iana. org/assignments/rmt-fec-parameters
[0022] [IETF-RFC-6330]M.卢比(M. Luby)、A.肖克罗拉西(A. Shokrollahi)、M.沃森 (M. Watson)、T.施托克哈默(T. Stockhammer)、L.明德(L. Minder),"用于对象传递的 RaptorQ前向错误校正方案",IETF RFC 6330(2011年8月);
[0023] [LCT]卢比 M. (Luby,M.)、沃森 M. (Watson,M.)、维奇萨诺 L. (Vicisano L.),"分 层译码输送(LCT)建构块",IETF RFC 5651 (2009年10月)
[0024] [Luby2010]第12/887, 492号美国专利申请案,马克沃森等人的且题为"使用URL 模板及构建规则的增强块请求流式传输",2010年9月21日申请。
[0025] [Luby2011]第2012/0099593号美国专利公开案,迈克尔卢比的且题为"用于提供 不等错误保护及捆绑文件传递服务的通用文件传递方法",2011年3月4日申请,2012年4 月26日公开。
[0026] [Luby2012]第13/545, 697号美国专利申请案,迈克尔卢比的且题为"在用于自适 应HTTP流式传输的表示之间提供改进交换的交换用信号发送方法",2012年7月10日申 请。
[0027] [MBMS] "多媒体广播/多播服务(MBMS);协议及编解码器",3GPP规范TS26. 346, 第10版,版本10. 5. 0, 2012年9月21日。
[0028] [MPEG-DASH] "信息技术-经由HTTP的动态自适应流式传输(DASH)-第1部分: 媒体呈现描述及分段格式",IS0/IEC 23009-1,第一版,2012年4月1日。
[0029] [Raptor-RFC_5053]M·卢比(M. Luby)、A.肖克罗拉西(A. Shokrollahi)、M.沃森 (M. Watson)、T.施托克哈默(T. Stockhammer),"用于对象传递的Raptor前向错误校正方 案",IETF RFC 5053 (2007 年 9 月)。
[0030] [RFC 4566]M.汉德利(M. Handley)、V.雅各布松(V. Jacobson)、C.帕金斯 (C. Perkins),"SDP :会话描述协议",IETF RFC 4566, 2006 年 7 月。
【发明内容】
[0031] 在文件传递方法及设备的实施例中,用信号发送及传递使用基于模板的方法的相 关文件序列。因此,提供使用FLUTE协议的用信号发送及传递文件的DASH流的改进方法。
[0032] 以下详细描述连同附图将提供本发明的性质及优点的较佳理解。
[0033] 各种元件可使用计算机可读媒体来实施以用于由处理器执行,从而控制经由通过 网络路径耦合的源与接收器之间的网络路径而下载的数据。本发明的其它方面应从此描述 显而易见。
【专利附图】
【附图说明】
[0034] 图1为说明与译码及解码及用以描述源块、符号、子块等的块结构的术语相关联 的一股工作流程的图。
[0035] 图2为说明常规FEC有效负载ID的图;图2A说明如可供[Raptor-RFC-5053]使 用的有效负载的FEC有效负载ID,而图2B说明如可供[IETF-RFC-6330]使用的有效负载的 FEC有效负载ID。
[0036] 图3描绘根据本发明的实施例的块请求流式传输系统的元件。
[0037] 图4说明图3的块请求流式传输系统,更详细展示耦合到块服务基础结构("BSI ") 以接收由内容注入系统处理的数据的客户端系统的元件。
[0038] 图5为说明应用程序及能够传递数据到应用程序的代理系统的可能布置的图。所 描绘的特定实例为使用清单文件的媒体播放应用程序,所述清单文件消耗多个分段(即, 含有多媒体信息或样本的文件)。
[0039] 图6说明注入系统的硬件/软件实施方案。
[0040] 图7说明客户端系统的硬件/软件实施方案。
[0041] 图8说明图3中所示的内容存储区的可能结构,包含分段及媒体呈现描述符 ("MPD")文件以及MPD文件内的分段、计时及其它结构的分解。
[0042] 图9为说明用于基本通用文件传递("UFD")方法的FEC有效负载ID的图。
[0043] 图10为说明发送器基本UFD方法的流程图。
[0044] 图11为说明接收器基本UFD方法的流程图。
[0045] 图12为说明整个FLUTE/ALC/LCT/FEC构建块协议的一些方面的图。
[0046] 图13说明具有FEC有效负载ID (SBN,ESI)的实例对象。
[0047] 图14说明具有FEC有效负载ID (U0SI)的实例对象。
[0048] 在诸图中,相同项目用相同编号参考,且在圆括号中提供子索引以指示相同或等 同项目的多个实例。除非另有指示,否则最后子索引(例如,"N"或"M")并不意图限于任 何特定值,且即使说明同一编号及重新使用子索引时,一个项目的实例的编号可不同于另 一项目的实例的编号。
【具体实施方式】
[0049] 在本文的实施例中,由发送文件的编码器/发射器系统及接收文件的接收器/解 码器系统执行文件传递。发射的格式经协调而使得解码器了解编码器编码的内容。如在下 文的各种实例中展示,文件传递为一股对象传递的实例,且除非另有指示,否则应从这些实 例显而易见可将所述对象处理为文件且可能将所述文件处理为对象。
[0050] 在包传递系统中,将所述数据组织到包中且作为包来发射。每一包具有允许接收 器确定包中的内容以及布置方式的元素。通过使用本文所述的技术,提供用于发射包的灵 活性,在其中使用前向错误校正("FEC")。
[0051] 通过使用这些技术,可提供不等FEC保护以及文件的捆绑传递。"不等FEC保护" 意味着出于在易受丢包的网络上将文件的不同部分或不同文件传递到装置的目的而对那 些文件FEC保护到不同程度。"文件的捆绑传递"意味着出于在易受丢包的网络上将多个文 件或文件的多个部分传递到一或多个装置的目的而将FEC保护应用到那些文件上。众所周 知当将许多文件作为独立文件传递时,所述传递与丢包的恢复能力可比将全部文件级联在 一起为较大文件及在传递中保护所述较大文件的情况小得多。然而,需要将较大文件的结 构用信号发送为较小文件的组合,及接收器大体上需要恢复整个大文件以恢复所述大文件 内的较小文件中的任一者,即使所述接收器仅对恢复较小文件的子集感兴趣。
[0052] 因此,优选文件传递系统或方法应允许源块数目与每个源块的编码符号数目的任 何灵活组合,其用作文件的文件传递结构。还应是以下情况:文件传递方法提供对丢包的有 效保护,且支持传递文件的不同部分以不同优先级(即,具有不同代码或编码率)经保护的 所述文件,其中文件的每一部分可具有与文件的其它部分不同的源块结构及子块结构。此 夕卜,在一些情况下将文件视为对象的特定实例,但在本文应理解本文中用以描述文件的输 送及处置的实例还可用于可能未称为文件的数据对象,例如来自数据库的大块数据、视频 序列的一部分等。
[0053] 所述文件/对象传递系统或方法应提供以大文件/对象的保护效率来传递许多较 小文件/对象、所述较小文件/对象结构的简单用信号发送、以及接收器独立地仅恢复较小 文件/对象的子集而不恢复全部较小文件/对象的能力。
[0054] 文件传递系统可包括广播部分及单播部分。出于可读性,可将"广播"理解为意味 着"广播、多播及/或用于将共同数据服务到多个用户的其它机制"。"单播"指从一个源将 数据移动到一个目的地,但一个逻辑源可能包括多个组件及一个逻辑目的地可能包括多个 组件。在单播配置中,通常存在源服务器及目的地客户端,其中源服务器等待来自客户端的 请求且响应于所接收的请求而专门发送所请求数据(在以其它方式准许的情况下)到请求 客户端。如所述领域中众所周知的,单播传递到大量目的地可比广播传递到那些相同大量 目的地产生更多可扩展性挑战。
[0055] 现将描述其中这些所要质量的系统实例。
[0056] 用于发送及接收媒体数据的设各
[0057] 参考图3描述本发明的一个实施例,其展示体现本发明的块请求流式传输系统的 简化图。
[0058] 在图3中,说明块流式传输系统100,其包括块服务基础结构("BSI ") 101,所述BSI 101继而包括用于注入内容102、准备所述内容、以及通过将内容存储到内容存储区110中 来包装所述内容以用于由HTTP流式传输104服务的注入系统103,所述内容存储区110可 存取到注入系统103及HTTP流式传输服务器104两者。如所展示,系统100可能还包含 HTTP高速缓冲存储器106。在操作中,客户端108 (例如HTTP流式传输客户端)发送请求 112到HTTP流式传输服务器104,及接收来自HTTP流式传输服务器104或HTTP高速缓冲 存储器106的响应114。在每一情况下,图3中所示的元件可至少部分用软件来实施,所述 软件中包括在处理器或其它电子设备上执行的程序代码。
[0059] 内容可能包括电影、音频、2D平面视频、3D视频、其它类型的视频、图像、时控文 字、时控元数据或其类似者。一些内容可能涉及将以时控方式呈现或消耗的数据,例如用于 呈现辅助信息(电台识别、广告、股票报价、Flash?序列等)连同正在播出的其它媒体的数 据。还可使用组合其它媒体及/或仅超出音频及视频的其它混合呈现。
[0060] 如图4中所说明,媒体框可存储在块服务基础结构101(1)内,其可为(例如)HTTP 服务器、内容传递网络装置、HTTP代理、FTP代理或服务器或某一其它媒体服务器或系统。 块服务基础结构101(1)连接到网络122,其可为(例如)因特网协议("IP")网络,例如因 特网。块请求流式传输系统客户端经展示具有六个功能组件,即:块选择器123,其具备上 述元数据且执行从所述元数据指示的多个可用框中选择待请求的框或部分框的功能;块请 求者124,其接收来自块选择器123的请求指令且经由网络122向块服务基础结构101(1) 发送针对指定块、块的部分或多个块的请求以及反过来接收包括所述块的数据所必需的操 作;以及块缓冲器125 ;缓冲监视器126 ;媒体解码器127 ;及促进媒体消耗的一或多个媒体 换能器128。
[0061] 传送块请求者124所接收的块数据用于临时存储到块缓冲器125,块缓冲器存储 媒体数据。或者,可将所接收的块数据直接存储到如图3中所示的块缓冲器125中。媒体 解码器127由块缓冲器125提供媒体数据,且对此数据执行提供适合输入到媒体换能器128 所必需的此类变换,媒体换能器128以适合于用户或其它消耗的形式来呈现所述媒体。媒 体换能器的实例包含视觉显示装置,例如在移动电话、计算机系统或电视中存在的那些装 置,以及可能还包含音频呈现装置,例如扬声器或头戴式耳机。
[0062] 媒体解码器的实例将为将按照H. 264视频译码标准描述的格式的数据变换为视 频帧的模拟或数字表示(例如具有用于每一帧或样本的相关联呈现时戳的YUV格式像素 图)的函数。
[0063] 缓冲监视器126接收关于块缓冲器125的内容的信息,且基于此信息及可能其它 信息而提供输入到块选择器123,块选择器用以确定待请求的块的选择,如本文所描述。 [0064] 在本文所用的术语中,每一块具有"播出时间"或"持续时间",其表示接收器以正 常速度播放包含在所述块中的媒体所花费的时间量。在一些情况下,一块内媒体的播出可 取决于已经从先前块接收的数据。在罕见情况下,块中一些媒体的播出可取决于后续块,在 此情况下所述块的播出时间相对于可在所述块内播出而无需参考后续块的媒体来界定,且 后续块的播出时间增加在此块内可仅在已接收后续块之后播出的媒体的播出时间。由于在 一块中包含取决于后续块的媒体为罕见情况,在本发明的剩余部分中假定一个块中的媒体 不取决于后续块,但应注意所属领域的技术人员将认识到此变体可易于添加到下文所述的 实施例。
[0065] 接收器可具有例如"暂停"、"快进"、"倒退"等控制件,其可通过以不同速率播出而 导致所述块被消耗,但如果接收器可以在等于或小于不包括序列中的最后块的总播出时间 的总时间中获得及解码块的连续序列,那么接收器可在不停止的情况下将所述媒体呈现给 用户。在本文的一些描述中,媒体流中的特定位置被称为所述媒体中的特定"时间",其对应 于在媒体播出的开始与当到达视频流中的特定位置时的时间之间经过的时间。媒体流中的 时间或位置为常规概念。举例来说,当视频流每秒包括24个帧时,第一帧可被认为具有t = 0. 0秒的位置或时间,及第241个帧可被认为具有t = 10. 0秒的位置或时间。当然,在基于 帧的视频流中,位置或时间不需要为连续的,这是因为从第241帧的第一位恰好到第242帧 的第一位之前的流中的位中的每一者可全部具有相同时间值。
[0066] 采用以上术语,块请求流式传输系统(BRSS)包括向一或多个内容服务器(例如, HTTP服务器、FTP服务器等)进行请求的一或多个客户端。注入系统包括一或多个注入处 理器,其中注入处理器接收内容(实时或非实时),处理BRSS所使用的内容,且将其存储到 内容服务器可存取的存储器中(可能还连同注入处理器所产生的元数据)。
[0067] BRSS还可能含有与内容服务器协调的内容高速缓冲存储器。内容服务器及内容 高速缓冲存储器可能为接收针对文件或分段的请求(呈包含URL的HTTP请求的形式)的 常规HTTP服务器及HTTP高速缓冲存储器,且还可包含字节范围,以便请求URL所指示的不 到全部的文件或分段。客户端可能包含常规HTTP客户端,其进行HTTP服务器的请求及处 置那些请求的响应,其中HTTP客户端由新颖的客户端系统驱动,新颖的客户端系统制定请 求、将所述请求传送到HTTP客户端、从HTTP客户端获得响应、及处理那些响应(或储存、变 换等),以便将所述相应提供到呈现播放器用于由客户端装置播出。通常,客户端系统并不 预先知道将需要什么媒体(因为所述需要可能取决于用户输入、用户输入的改变等),所以 其被称为"流式传输"系统,这是因为媒体一被接收到或在随后不久就被"消耗"。结果,响 应延迟及带宽约束可致使呈现延迟,例如由于所述流赶上用户正消耗所述呈现之处而致使 呈现暂停。
[0068] 为了提供经感知具有良好质量的呈现,可在BRSS中实施数个细节,在客户端末端 处、在注入末端处或在两者处。在一些情况下,考虑到及为了处理网络处的客户端服务器接 口而进行所实施的细节。在一些实施例中,客户端系统及注入系统两者感知到增强,而在其 它实施例中,仅一侧感知到所述增强。在此类情况下,整个系统即使在一侧未感知到增强的 情况下也可受益于所述增强,而在其它情况下,所述益处仅在两侧感知到增强的情况下出 现,但当一侧未感知到时,其仍进行操作而不失败。
[0069] 图5为说明应用程序及能够传递数据到应用程序的代理系统的可能布置的图。所 描绘的特定实例为使用清单文件的媒体播放应用程序,所述清单文件消耗多个分段(即, 含有多媒体信息或样本的文件)。
[0070] 如图6中所说明,根据各种实施例,注入系统可实施为硬件与软件组件的组合。注 入系统可包括可经执行以致使所述系统执行本文论述的方法中的任何一或多者的指令集。 可将系统实现为呈计算机形式的特定机器。系统可为服务器计算机、个人计算机(PC)、或能 够执行指定待由系统进行的动作的指令集(依序或以其它方式)的任何系统。此外,虽然 仅说明单个系统,但还应采用术语"系统"以包含系统的任何集合,所述系统个别地或联合 地执行一或多个指令集以执行本文论述的方法中的任何一或多者。
[0071] 注入系统可包含注入处理器302 (例如,中央处理单元(CPU))、可在执行期间存储 程序代码的存储器304、及磁盘存储装置306,其全部经由总线300而彼此通信。系统可进 一步包含视频显示单元308 (例如,液晶显示器(LCD)或阴极射线管(CRT))。系统还可包含 用于接收内容源及传递内容存储区的字母数字输入装置310 (例如,键盘)及网络接口装置 312。
[0072] 磁盘存储单元306可包含机器可读媒体,可在其上存储体现所述方法或本文所述 的功能中的任何一或多者的一或多个指令集(例如,软件)。所述指令还可在由系统执行期 间完全或至少部分地驻留在存储器304内及/或注入处理器302内,其中存储器304及注 入处理器302还构成机器可读媒体。
[0073] 如图7中所说明,根据各种实施例,客户端系统可实施为硬件与软件组件的组合。 客户端系统可包括可经执行以致使所述系统执行本文论述的方法中的任何一或多者的指 令集。可将系统实现为呈计算机形式的特定机器。系统可为服务器计算机、个人计算机 (PC)、或能够执行指定待由系统进行的动作的指令集(依序或以其它方式)的任何系统。此 夕卜,虽然仅说明单个系统,但还应采用术语"系统"以包含系统的任何集合,所述系统个别地 或联合地执行一或多个指令集以执行本文论述的方法中的任何一或多者。
[0074] 客户端系统可包含客户端处理器402 (例如,中央处理单元(CPU))、可在执行期间 存储程序代码的存储器404及磁盘存储装置406,其全部经由总线400彼此通信。系统可进 一步包含视频显示单元408 (例如,液晶显示器(LCD)或阴极射线管(CRT))。系统还可包含 用于发送请求及接收响应的字母数字输入装置410 (例如,键盘)及网络接口装置412。 [0075] 磁盘存储单元406可包含机器可读媒体,可在其上存储体现所述方法或本文所述 的功能中的任何一或多者的一或多个指令集(例如,软件)。所述指令还可在由系统执行期 间完全或至少部分地驻留在存储器404内及/或客户端处理器402内,其中存储器404及 客户端处理器402还构成机器可读媒体。
[0076] 媒体旱现数据樽型
[0077] 图8说明图3中所示的内容存储区的可能结构,包含分段及媒体呈现描述("MPD") 文件以及MPD文件内的分段、计时及其它结构的分解。现将描述MPD结构或文件的可能实 施方案的细节。在许多实例中,将MPD描述为文件,但也可使用非文件结构。
[0078] 如所说明,内容存储区110保持多个源分段510、MPD 500及修复分段512。MPD可 能包括周期记录501,周期记录501继而可能包括表示记录502,表示记录502含有例如参 考初始化分段504及媒体分段505的分段信息503。
[0079] 某本通用f件传递("UFD")方法及系统
[0080] 现将描述基本通用文件传递("UFD")方法及对应系统,其中UFD包含优于现有文 件传递方法的显著优点。用于基本UFD方法的前向错误校正("FEC")有效负载ID包括通 用文件符号识别符("UFSI")字段,其例如可为32位字段,如图9中所说明。现将继而描 述用于基本UFD方法的发送器及接收器方法。此外,当将文件称作对象时,"UFSI"可被代 替地称作"UOSI "(通用对象符号识别符)。
[0081] 参考图10描述发送器基本UFD方法。发送器可使用现有方法来产生FEC对象发 射信息("0ΤΙ"),例如如[Raptor-RFC-5053]或[IETF-RFC-6330]中所描述(参见,例如, [IETF-RFC-6330]的4. 3段),及使用FEC 0ΤΙ来确定待用以发射文件的源块及子块结构, 并确定(SBN,ESI)对与所述文件的经编码符号之间的关系(参见,例如,[IETF-RFC-6330] 的4. 4段)。
[0082] 举例来说,如[IETF-RFC-6330]中所描述,所产生FEC 0ΤΙ可为 中F为待发射文件的大小,Α1为用以确定子符号在为Α1的倍数的存储器边界上对准的对准 因数,Τ为将在所述发射中产生及发送的符号大小,Ζ为文件将为了发射而被分割成的源块 数目,及Ν为每一源块为了发射而被分割成的子块的数目。此如图10的步骤800中所示。 [0083] 发送器可形成将在包中发送的经编码符号,及基于源块使用现有方法来产生 用于这些经编码符号的SBN及ESI,且如果使用子分块,那么还产生子块结构,例如如 [IETF-RFC-6330]中所描述。每次将发送经编码符号时,发送器可确定用于待产生的 经编码符号的SBN A及ESI B,如图10的步骤810中所示,且接着发送器可使用例如 [IETF-RFC-6330]中所描述那些技术的现有技术基于(SBN,ESI) = (A,B)而产生经编码符 号的值,如图10的步骤820中所示。接着,将用于经编码符号的UFSI C计算为C = B*Z+A, 如图10的步骤830中所示。
[0084] 发送器可在一包中发送经编码符号,其中所述包的FEC有效负载ID设置为经编码 符号的UFSI C,如图10的步骤840中所示。发送器接着可确定是否还有更多经编码符号将 发送,如图10的步骤850中所示,及如果是,那么发送器可产生待发送的额外经编码符号, 如到图10的步骤810的"是"分支所展示,及如果否,那么发送器可完成,如到图10的步骤 860的"否"分支所展示。
[0085] 存在发送器基本UFD方法的许多变体。举例来说,发送器可在所述包中的至少一 些中发送一个以上经编码符号,在此情况下FEC有效负载ID可设置为含于所述包中的第一 经编码符号的UFSI,及含于所述包中的额外符号可经选择而使得其对应UFSI值为连续。举 例来说,如果在所述包中载运三个经编码符号且第一此类符号具有UFSI = 4, 234,那么另 两个经编码符号可分别为UFSI为4, 235及4, 235的那些符号。作为其它替代方式的实例, 发送器可预定将产生多少经编码符号,且在产生经编码符号中的任一者之前确定用于所有 经编码符号的(SBN,ESI)值。作为另一实例,可直接产生UFSI值而无需产生(SBN,ESI)值 的中间步骤。
[0086] 作为变体的另一实例,可产生其它形式的FEC 0ΤΙ信息。举例来说,基本UFSI BU 可包含在用于所述文件的FEC ΟΤΙ中,其可如下使用:将由FEC发送器及接收器针对含于 包中的经编码符号而使用的UFSI为U+BU,其中U为载运所述经编码符号的包中的载运的 UFSI。举例来说,因此,如果包载运U = 1,045且FEC 0ΤΙ中的基本UFSI为BU = 2, 000, 000, 那么经编码符号UFSI为2, 001,045。使用基本UFSI具有若干优点。作为其中一个,[FLUTE]、 [ALC]、[LCT]及/或[FEC BB]中描述的协议集使发射对象识别符(也称为Τ0Ι)与待输送 的文件或对象的FEC 0ΤΙ相关联。有可能的是:用于同一文件的经编码符号可在不同时间 或不同会话中发送,及可与不同TOI相关联。而且,有利的是能够针对与每一不同TOI相关 联的包而发送以UFSI = 0开始的经编码包。通过具有指定基本UFSI作为FEC ΟΤΙ的部分 的能力,不同基本UFSI可与每一 Τ0Ι相关联,可针对每一 Τ0Ι发送用于所述文件的经编码 符号而无需发送所述不同Τ0Ι的重复经编码符号。举例来说,用于同一文件的经编码符号 可在与TOI = 1相关联及与Τ0Ι = 2相关联的包中发送,其中与TOI = 1相关联的基本UFSI 设置为〇,且其中与TOI = 2相关联的基本UFSI设置为1,000, 000。接着,用于TOI = 1及 T0I = 2两者的经编码包可含有UFSI 0、1、2等序列,且将不存在在与两T0I相关联发送的 经编码符号中发送的重复经编码符号,只要针对T0I = 1的文件发送小于1,000, 000的经 编码符号即可。
[0087] 参考图11描述接收器基本UFD方法。接收器可使用现有技术来确定与上文针对发 送器所描述相同的格式的FEC 0ΤΙ (F,Al,T,Z,N),如图11的步骤900中所示。举例来说, 可将FEC 0ΤΙ嵌入于FLUTE会话描述中,或可将FEC 0ΤΙ经编码为URL,或可经由SDP消息 获得FEC 0ΤΙ (参见[RFC 4566])。在步骤910中,接收器查看是否接收到较多经编码符号, 及其可保持在此步骤处直到其接收另一经编码符号(在此情况下接收器前进到步骤930) 或接收器确定较多经编码符号并未转为经接收(在此情况下接收器前进到步骤920)为止, 以及所述接收器尝试使用其它手段(例如使用向文件修复服务器的HTTP请求)来恢复文 件,或接收器可等待另一会话以在稍后时间接收较多经编码符号,或接收器可决定所述文 件不能恢复。
[0088] 当另一经编码符号可用时,在步骤930中,接收器确定经编码符号的C及接收经编 码符号的值。在步骤940中,接收器基于源块数目Z及UFSI C来计算A = C模Z及B = floor (C/Z),及在步骤950中,接收器将用于经编码符号的(SBN,ESI)设置为(A,B),及在 步骤960中,接收器存储经编码符号的值及(A,B)以用于文件恢复。在步骤970中,接收器 确定是否存在用以恢复文件的足够的所接收的经编码符号,及如果是,那么在步骤980中 进行恢复文件,及如果否,那么在步骤910中进行接收较多经编码符号。
[0089] 存在接收器基本UFD方法的许多变体。举例来说,接收器可在所述包中的至少一 些中接收一个以上经编码符号,在此情况下FEC有效负载ID可设置为含于所述包中的第一 经编码符号的UFSI,及所述包中的额外符号可具有连续的对应UFSI值。举例来说,如果在 包中载运三个经编码符号且第一此类符号具有UFSI = 4, 234,那么另两个经编码符号可分 别为UFSI 4, 235及4, 235的那些符号,及所述包中载运的UFSI可为UFSI = 4, 234的第一 经编码符号。作为其它替代方式的实例,接收器可预定在试图恢复之前将接收多少经编码 符号。作为另一实例,接收器可执行某一处理,其特定针对于用以确定是否已接收到足够的 经编码符号来恢复所述文件的FEC代码。作为另一实例,可直接使用UFSI值而无需在恢复 过程中产生(SBN,ESI)值的中间步骤。作为另一实例,文件的恢复可与经编码符号的接收 同时发生。作为另一实例,可使用其它形式的FEC 0ΤΙ信息。
[0090] 组合基本UFD方法与[IETF-RFC-6330]中描述的用于确定源块及子块结构的技术 提供许多优点。举例来说,当使用基本UFD方法时,由用于发射文件的目的的SBN及ESI的 组合识别的先前方法所称作的"源符号"可被看作由UFSI识别的文件符号。使F为待发射 八位字节中的文件大小,及使T为在发射文件时将用于FEC编码/解码目的的符号大小,且 因此KT = ceil(F/T)为文件中的符号总数,其中ceil(x)为大于或等于X的最小整数。
[0091] 当例如如[IETF-RFC-6330]中描述来确定源块结构及子分块结构时,上述基本 UFD方法用以将符号的识别从(SBN,ESI)格式转换到UFSI格式,用于文件符号的UFSI范围 为0,1,2,. . .,KT,及从所述文件产生的任何修复符号将具有在所述范围ΚΤ+1,ΚΤ+2等中的 UFSI。此特性允许通过仅比较符号的UFSI与ΚΤ值来确定所述符号为原始文件的部分或为 由文件产生的修复符号。此可例如可用于允许不支持FEC解码的接收器基于包中所载运的 UFSI值及基于用于所述文件的KT的值而确定哪些符号为原始文件的部分(及其在所述文 件内的位置)及哪些符号可被忽略为修复符号。
[0092] 多路复用FLUTE
[0093] 为了经由网络传递数据,通常将数据包装到消息或协议数据单元("rou")中,有 时非正式地称作包。在一些情况下,需要在rou内将用于多个对象或对象片段的数据多路 复用在一起以便实现同时接收。此可例如在混合来自一网络内的不同起点的媒体流时进行 使用。另一应用可多路复用相同rou内的多个不同流(例如,音频及视频)以用于同步播 放。另一应用为当经由其进行传递的网络并不完美时(例如,在发送器与接收器之间可存 在包的丢失)进一步增强多个较小对象的传递的可靠性。虽然在不同flute会话中载运不 同对象而无需多路复用可能为可能的,但在FLUTE中不存在用于多路复用同一包中的多个 对象或对象片段的当前供应。
[0094] FLUTE协议用信号发送方法并未完全实现通用对象传递方法。举例来说,FLUTE 协议不能够用信号发送在同一包内载运用于多个对象的数据是。在下文中描述用于扩展 FLUTE协议以实现通用对象传递的额外用信号发送及传递方法及设备。本文将这些扩展称 为"多路复用FLUTE"。现将描述基本通用文件传递("UFD")方法及对应系统,其中UFD使 用通用对象传递("U0D")及基于模板的文件传递。
[0095] U0D可用以向FLUTE补充多路复用对象输送编码。关于多路复用FLUTE,用信号 发送可用以指示U0D何时提供相同rou内的多个对象的FEC经编码数据。因此,多路复用 FLUTE增强当前FLUTE协议以实现编码相同rou内的多个对象或对象片段。
[0096] 每一 FLUTE协议数据单元("PDU")载运指示PDU载运哪一对象的数据的发射 对象识别符("Τ0Ι")。用以将Τ0Ι映射到文件及文件属性的对象目录称作文件传递表 ("FDT")。图12中展示所述结构。
[0097] 在当前FLUTE FDT中,FDT中的每一条目由Τ0Ι识别且含有关于一个文件或对象 的信息,且因此对应地载运相同Τ0Ι的每一 PDU载运用于与FDT中的Τ0Ι相关联的一个对 象的数据。所述信息可包含用以编码对象的FEC方案的类型以及如由FEC对象发射信息 ("0ΤΙ")识别的对象的FEC编码结构的描述。FEC方案由FEC编码ID识别(参见用于当 前标准值的[IANA-FEC])。
[0098] 关于多路复用FLUTE,存在称作包结构表("PST")的新结构。在FLUTE协议的此 扩展中,每一 FLUTE PDU载运指示每一 PDU经结构化的程度的包格式识别符("PFI")。在 此扩展中,PDU可含有用于一或多个对象的数据。PST中的每一条目由PFI识别且含有关 于载运PFI的PDU的PDU结构的信息,即载运FEC有效负载ID及用于对象的相关联符号的 PDU中的字段的次序、大小及含义。
[0099] 对于载运特定PFI的rou,与PST中的PFI相关联的信息提供此类PDU中载运的符 号与由其产生符号的对应对象之间的对应关系、此类rou中载运的FEC有效负载ID与FEC 有效负载ID识别的对应符号之间的对应关系、以及此类PDU中载运的FEC有效负载ID的 长度。对象的TOI可用以帮助指示PST条目中的这些对应关系。
[0100] PST中的PFI所识别的条目可相对简单或涉及较多。举例来说,在简单情况下,条 目可描述含有给定大小(例如,2字节)的一个FEC有效负载ID的PDU格式,及描述用于由 特定Τ0Ι识别的一个对象的PDU中载运的一个符号。在涉及较多的实例中,条目可指定含 有不同大小(例如,有的可为1字节大小、有的可为2字节大小、有的可为4字节大小)的 多个FEC有效负载ID的PDU格式,及在PDU中载运的符号可用于在条目中由多个Τ0Ι识别 的多个对象,及一些FEC有效负载ID可用于识别一个以上对象的符号,而其它FEC有效负 载ID可用于识别单个对象的符号。
[0101] 此外,对于一些对象可存在在PDU中载运的一个以上符号,而对于其它对象可存 在在PDU中载运的仅一个符号。在其它情况下,由Τ0Ι识别的对象可为内容文件的一部分, 例如,如通过指定用于所述内容文件的URL及FDT中的Τ0Ι条目中的字节范围来识别。
[0102] 某于樽板的f件传递
[0103] 本文所引入的基于模板的文件传递包括多个相关对象可通过其来命名、识别、参 数化及传递的方法。基于模板的文件传递通过使用模板的用信号发送及传递方法来促进, 有点类似于[Luby2010]及[Luby2012]使用用于流式传输内容的DASH传递的模板的方式。 基于模板的文件传递提供传递与相关联文件或对象的序列或集合相关联的元数据的紧凑 方式。文件或对象(或对象的部分)的序列或集合的元数据及其它性质经建构或可经建构 为以可预测方式相关,使得模板可用以以简洁形式来描述这些关系。因此,基于模板的文件 传递可提供用以用信号发送以下各项之间的关系的极其紧凑及简洁手段:位置、名称、可用 性时间、FEC信息、及与所述序列、集合或待传递的对象集合相关联的其它元数据,甚至针对 尚未经创建或尚未可用或已知的对象集合中的对象。基于模板的文件传递允许以紧凑形式 合成大部分元数据且传递到至少部分传递文件序列的装置。基于模板的文件传递允许在装 置或客户端起始文件序列中的至少一些的接收之前将大部分元数据传递到所述装置或客 户端。或者,可在文件序列中的至少一些的接收之前、期间或之后将元数据传递到客户端或 装直。
[0104] 基于模板的文件传递去除了仅在文件经创建及可用于传递之后传递文件的大部 分元数据的必要性,即,关于基于模板的文件传递,甚至可在文件经创建或已知或在发送器 处可用之前传递元数据,其中此元数据可包括传递时序信息、按需要的处置细节、在文件创 建于接收装置上之后的所述文件的位置信息及其它参数。基于模板的文件传递使得用于相 关联文件的序列或集合的元数据的传递能够为紧凑的且独立于文件本身的传递,且还独立 于文件传递的时序及用于传递的文件的创建或可用性的时序。由于在使用模板表示时与文 件相关联的元数据为紧凑且单块的,所以元数据大体上可以极高的可靠性且使用不同于用 以传递文件的手段来传递。举例来说,可使用HTTP将元数据作为较小文件传递到客户端或 装置,而可使用FLUTE经由广播或多播网络来传递文件本身。元数据可在eMBMS用户服务 描述("USD")信息内传递,或可使用会话描述协议("SDP")来传递,或在网上可用(例 如,使用HTTP)的常规文件内传递。可使用XML或HTML或多种标记语言中的任一者来表示 元数据。
[0105] 关于目前存在的FLUTE协议,使用与用以传递文件相同的传递方法来传递大部分 元数据。此外,通常在传递文件时或几乎相同时间传递特定文件的元数据。而且,存在独 特地针对每一特定文件传递的明确及特定元数据,及与文件相关联的元数据的格式并不允 许先于用于传递的文件的创建或可用性来产生及传递文件元数据。如果用于文件的元数据 在接收器处不可用,那么所述文件在接收器处的恢复大体上为不可能的,即使接收器已接 收到的所述包中用于文件的足够数据连同(原本将允许恢复文件的)用于所述文件的元数 据。
[0106] 常常将流式视频或音频作为命名文件或片段序列来传递。举例来说,DASH标准 ([3GP-DASH]、[MPEG-DASH])指定此类解决方案。当经由多播或广播启用网络(例如eMBMS 网络([MBMS]))传递流式多媒体数据(视频、音频、时控文字、等)时,FLUTE协议([FLUTE]) 使用可作为独立对象序列(有时也称为分段)传递的文件序列。
[0107] 如上所述,FLUTE中的FDT含有文件的名称还有成功收集及解码文件内容所需要 的重要元数据。另外,FDT可含有必须作为后续成功重新构建某一多媒体流的前提条件而 接收的某些文件的名称(例如,DASH初始化分段作为解码及呈现后续媒体样本的前提条件 而为正常必要的)。
[0108] 大体上关于FLUTE,任何特定分段的名称在当前分段的发射之时为未知的。实际 上,必须通过接收较新或更新FDT来了解后续文件名称。因此,必须成功地接收到用于对象 的FDT及分段本身两者。举例来说,如果接收客户端接收并非含有用于分段的元数据的相 关联FDT对象的分段,那么所述接收客户端将不能够成功地解释及传递所述分段,且因此 所述分段实际上丢失。
[0109] 如下文解释,本文所描述的方法可用以指示特定元数据为相关对象序列(例如, 对应于多媒体流的DASH分段序列)所共有的。这些方法("模板规则")提供元数据及应 用所述元数据所到的对象的简洁描述。接收客户端因此仅需要获得模板规则以便获得相关 对象序列所需的所有(或大多数)元数据,因此消除接收客户端还接收用于将传递的每一 对象的独立FDT的要求。
[0110] 在较一股情况下,提供构建规则,其为模板规则或未指定模板本身的某一其它规 则。
[0111] 在eMBMS流式传输传递的上下文中,含有用于分段的元数据的FDT的丢失将大体 上阻止接收客户端理解分段的结构,且因此致使接收客户端必须丢弃视频及/或音频的整 个分段。本文所述的方法及过程因此通过减少将归因于元数据丢失而丢弃分段的可能性来 改进传递到最终用户的体验质量。另一方面为通过使用用于相关对象序列的当前FLUTE解 决方案来实质上减少在FDT中发送的冗余元数据的量及在发送此元数据时的对应开销,用 于传递对象流而使用(及所需时延)的整个带宽量通过使用本文所述的方法及过程而得以 稍微减少。一个优点为对象流的整体传递与以其它方式所需的相比较不复杂。
[0112] 樽板 FDT
[0113] FDT载运使用于FLUTE会话的文件或对象识别符(表示为发射对象识别符 ("Τ0Ι"))与所述文件所关联的元数据(例如所述文件的URI)相关的元数据,以及传达用 于经由FLUTE传递文件的相关联FEC参数的前向错误校正对象发射信息("FEC 0ΤΙ")。 本文所述的新类型FDT含有描述相关对象序列所需的FDT元数据中的一些或全部的模板 信息。此新类型FDT(下文称作模板FDT( "TFDT"))含有关于相关对象序列的元数据信息 (包含FEC ΟΤΙ),而且包含关于传递相关对象序列的其它元数据。
[0114] 如所描述,可将T0I、FEC 0ΤΙ及对应URI信息表示为模板。举例来说,当结合PST 使用时,PST中的元数据也可表示为模板。
[0115] 将模板构建为与零或较多变化值恒定的基线。变化值可定制用于特定对象的URI、 FEC 0ΤΙ或PST信息中的参数或字符(通常用以编码某一重复模式)。
[0116] 可存在具有特殊含义的特殊值。举例来说,如上文所使用," % "定界符可用以指 示其中界定特殊值的模板(例如,在子串内)。一个此类值I用以指示在以值零开始且针对 每一后续对象递增一的相关对象序列中的对象的索引(即,序列中的位置),及(还如上文 描述)1值可在模板中用以(例如)描述用于对象的Τ0Ι序列及用于对象的URI序列等。
[0117] TFDT中的相关对象的序列使用一模板来指定,所述模板在用于相关对象序列的其 它可能元数据当中指定应用TFDT参数选项的Τ0Ι值的范围。举例来说,TFDT可使用索引从 0递增1到对象数目(其可为无界的)的变量I,且接着用于相关对象序列的Τ0Ι序列使用 一模板来指定(即,使用例如TFDT中的I值来描述),可将Τ0Ι模板表示为例如"Τ0Ι = % 1000+1*3%"的串,其指定相关对象序列中的Τ0Ι序列为1000,1003,1006,1009, ·...。
[0118] I值可在0开始,递增1,且可在TFDT中指定I的最大值,例如"最大I = 499",从 而指示在相关对象序列中存在500个对象。或者,可使最大值I未指定,在此情况下,将配 合于模板所指定的Τ0Ι模式中的任何Τ0Ι认为在相关对象序列内。TFDT还可包含用于每一 对象的子串(例如,HTTP URI前缀),其还指定为使用I值描述的模板。举例来说,在TFDT 中,Τ0Ι 模板可包含"URI = http ://example. com/object% 1+300%",其指定相关对象序 列中的URI序列如下:
[0119] http ://example. com/object300,
[0120] http ://example. com/object301,
[0121] http ://example. com/object302,
[0122] http ://example. com/object303,
[0123] 尽管此实例描述模板规则及将其应用于FLUTE的上下文中的方式,但此方法适用 于含有稍后与一股识别符所识别的文件片段匹配的文件名称的其它文件传递样式协议。因 此此方法适用于其它传递系统且通过使用元数据描述中的模板来应用(例如,DASH使用其 媒体呈现描述("MPD")模板结构中的类似方法,如[Luby2010]及[Luby2012]中所描述)。 请注意,根据RFC 2606, example, com并非实域。
[0124] 例如用于[IETF-RFC-6330]中指定的FEC编码方案的FEC ΟΤΙ包括FEC编码 ID(6)、按字节算的文件传送大小(F)、按字节算的符号及子符号对准因数(A1)、按字节算 的符号大小(T)、源块数目(Z)及每个源块的子块数目(N)。在这些特定参数中,仅F的 值通常在相关对象序列中在对象之间变化,且因此可在TFDT中指定除了之值之外的所有 FEC0TI参数的值,例如如下:
[0125] "FEC 编码 ID = 6,,,"A1 = 8,,,"T = 1320,,,"Z = 1","N = 1"
[0126] 在此实例中,TFDT中的用于相关对象序列的值指定其全部使用与FEC编码ID 6相 关联的[IETF-RFC-6330]的规则及协议,使用8字节的对准因数,具有1320字节的符号大 小,具有每个对象一个源块,及具有每个源块一个子块。在此情况下,可将变化参数(即,文 件传送大小F)前置到对象本身,及可包含每一对象中的源符号数作为每一数据包或PDU的 FEC有效负载ID中的参数中的一者。
[0127] 举例来说,FEC有效负载ID格式可包括两字节SBN值、两字节ESI值及两字节KT 值,其中SBN值指示从哪一源块产生rou中的载运的数据,ESI值指示用于PDU中载运的数 据的编码符号ID,及KT值指示包括文件的源符号的总数。替代FEC有效负载ID格式可包 括四字节U0SI值及两字节KT值,其中U0SI值指示用于在PDU中载运的数据的通用对象符 号识别符,及KT值指示包括文件的源符号总数。
[0128] 对于这两个类型的FEC有效负载ID,文件或对象本身可具有指示文件中的字节总 数的前置四字节F值,其中此F值在FEC编码之前前置,且因此出于传递文件目的而经FEC 编码的源符号包括F值,其后接着实际文件。在此情况下,用于所述文件的源符号KT总数 等于ceil ((4+F)/T),其中T为符号大小。或者,所述文件可具有指示文件的最后源符号中 的填补字节数目的前置两字节P值,及在此情况下,按字节算的文件大小为F = KT*T-P,其 中Τ为符号大小。在此情况下,用于所述文件的源符号ΚΤ总数等于ceil ((2+F)/T)。在任 一情况下,接收器可如下处理一文件。用于文件的每一接收到的PDU含有输送会话识别符 ("TSI")、Τ0Ι及FEC有效负载ID。根据TSI、PDU中载运的Τ0Ι及根据TFDT,接收器可确 定除文件或对象大小F以外的全部FEC 0ΤΙ。然而,接收器可根据每一 PDU中载运的FEC有 效负载id来确定文件中的源符号数目κτ(及接收器可根据rou中载运的tsi及τοι来识 别KT与哪一对象相关联)。根据KT及其它FEC 0ΤΙ参数,接收器可确定文件的每一此类源 块中的源块数及源符号数(及接收器还可确定每一源块分割成的子块数及每一子块的子 符号大小)。一旦已接收到用于每一源块的至少足够符号(其通常在已接收到用于所述文 件的全部ΚΤ或稍微多于ΚΤ的符号时),接收器即可FEC解码及恢复文件的ΚΤ源符号。一 旦已恢复文件的ΚΤ源符号,接收器可从前置到源符号的之或Ρ值来确定包括所述文件的源 符号的F字节。
[0129] 作为另一替代,可将四字节F值附加到文件或对象(代替前置),其中在FEC编码 之前附加 F值,且因此出于传递文件的目的而经FEC编码的源符号包括实际文件,其后接着 可能填补,其后接着F值作为文件的最后源符号的最后四字节,其中用于文件的源符号ΚΤ 的总数为ceil ((4+F)/T)。一旦接收器已恢复文件的ΚΤ源符号,接收器即根据最后恢复源 符号的最后四字节来确定包括文件的字节数F,且接着所述文件本身包括恢复源符号夫第 一 F字节。另一替代为其中将P值附加到文件来代替F文件,其具有关于形成源符号的方 式以及接收器恢复文件方式的类似程序。
[0130] 作为另一替代,FEC有效负载ID可包括两字节SBN值、两字节ESI值及四字节F 值。在此替代方案中,源符号可包括未前置或附加值的文件本身,这是因为接收器可从FEC 有效负载ID直接恢复按字节算的文件大小。作为另一替代方案,FEC有效负载ID可包括 四字节U0SI值,且F值可在扩展标头中载运,例如EXT_FTI扩展标头,其具有如在[LCT]指 定的扩展标头识别符64。
[0131] 关于本文使用TFDT的所描述的方法,不需要用于每一对象的独立FDT,这是因为 在TFDT中载运用于相关对象序列的全部共同信息,及特定针对每一对象的信息(在此实例 中)部分地载运于载运对象数据(对象中的源符号数)的包的FEC有效负载ID中及部分 地载运于对象的源符号中(即,在FEC编码之前前置或附加到对象的源符号)(按字节算的 文件大小F或等效地将被丢弃的对象的最后源符号中的字节数P)。
[0132] 举例来说,用于 RaptorQ 否 FEC ΟΤΙ (参见,例如,[IETF-RFC-6330] ;FEC编码 ID6) 可具有例如表1中展示的结构。
[0133] 表 1。
[0134] 类别 细节 实例值 必选FEC Ο?值 FEC编码ID 8位(值6) 共同FECOI1值 F(传送长度[源]> 40位(对象的传送长度),限值为946270874880 T(符号大小) 16位(字节中的符号大小) 方案特定ΟΤΙ值 Ζ(源块数) 8位 Ν(子块数) 16位 Α1(对准) 8位
[0135] 预期针对多个对象的会话,除了 F值以外的这些FEC 0ΤΙ值将全部保持恒定。如 果曾经还使用PST (例如,在PDU中将多个对象编码在一起),且协议允许可变大小的Τ0Ι或 FEC有效负载ID,那么通常每一 Τ0Ι及FEC有效负载ID的大小及存在于每一 H)U中的每一 构成对象的符号大小(按字节表示)对于相关对象序列保持不变。
[0136] 举例来说,对象的PST可指定每个PDU两对象,其中每一对象2-字节FEC有效负 载ID (在此实例中,每一对象使用独立FEC有效负载ID,在其它情况下两对象可共享同一 FEC有效负载ID)。关于此解决方案,PFI包含在每一 PDU中以指示PDU遵循哪一包格式结 构。
[0137] 关于如本文所描述的TFDT,可将PST及FDT组合成TFDT,其可如表2中所示。
[0138] 表 2。
[0139] PFI =% 1%
[0140] "对象数=2",
[0141] "第一对象FEC有效负载ID大小=2字节"
[0142] "第二对象FEC有效负载ID大小=2字节"
[0143] "第一对象=每个rou 1符号"
[0144] "第二对象=每个rou 1符号"
[0145] "第一对象 URI = http ://example. com/video% I % "
[0146] "第一对象 FEC ΟΤΙ = (6,8,664,1,1) "
[0147] "第二对象 URI = http ://example. com/audio% I % "
[0148] "第二对象 FEC ΟΤΙ = (6,8,664,1,1) "
[0149] 因此,在此实例中PDU将使用用于相关对象序列的PFI序列0,1,2,3,...,及含 有PFI值50的PDU将含有用于两对象中的每一者的664字节的一个符号,其中用于第一对 象的 URI 为 http ://example. com/video50,用于第二对象的 URI 为 http ://example. com/ audi〇50,及两对象两者具有一个源块及每个源块一个子块,及两者使用FEC编码ID 6及使 用对准因数8字节。
[0150] 下文为TFDT的实例,其中在此情况下存在一个会话,其中提供用于两相关对象序 列的元数据。在此实例中,第一文件序列可例如对应于来自DASH视频表示的视频分段序 列,及第二对象序列对应于来自DASH音频表示的DASH音频分段序列。在此实例中,使用 [IETF-RFC-6330]中指定的标准FEC有效负载ID,即每一数据包含有用于一个对象的一个 符号,及FEC有效负载ID包括8位SBN及24位ESI。在此实例中," % "用作变量及等式的 分隔符。
[0151] //TFDT,其中指定两文件序列的元数据 //此TFDT中的全部文件序列具有同一输送会话识别符 TSI = 5 //此TFDT中的全部文件序列使用同一时间标度 时间标度=10 MPD_URL = hUp://ncws.vidco_contcnt/scpt25.2012.mpd //第一对象序列元数据 <slarl_scq_tcmplatc_spcci ncation> 计数器 %I=0..99999% TO I = %2000000+I% URI = hUp://localhost.scql/objcct%I% MPDREPID = hUp:/7ncwsrccd.cxamplc.com/vidco500 STARTTRANSMISSION = %I*20% END_TRANSMISSION = %P20 + 20%
[0152] FEC_0TI = (6, 8, 1288, 1,1) <cnd_scq_tcmplatc_spccincation> //第二对象序列元数据 <slarl_scq_lcmplalc_spcciricalion> 计数器%I = 0..49999% TOI = %3000000+l% URI = hUp://localliosl.scq2/objccl%l% MPD_REP_ID = http:/7ncvvsrccd. cxamplc.com/audio64 START_TRANSMISSION = %I*40% END_TRANSMISSION = %IM0 + 80% FEC_0TI = (6, 4, 540, 1, 1) <cnd_scq_lcmplalc_spccincalion>
[0153] 在上文之此实例TFDT中,这些对象或文件序列对应于DASH MPD中描述的表示, 艮口,在 MPD_URL 之后提供的 URL http ://newsfeed. video_content/sept25. 2012. mpd 处的 ΜΗ)针对上恩TFDT中的文件序列指定的MPD_REP_ID提供用于ΜΗ)中的对应表示的识别符。 在上文实例中,MPD_REP_ID为提供于针对所述表示的MH)内的基本URI或URL,其唯一地识 别在MPD内描述的所有表示中的所述表示。此用信号发送提供用于将与在TFDT中用信号 发送的对象或文件序列相关联的传递信息与在MH)中用信号发送的表示所关联的DASH元 数据信息链接的方法。
[0154] 在第一文件序列中,FEC 0ΤΙ指定使用FEC编码ID = 6的FEC代码,其为在 [IETF-RFC-6330]中指定的RaptorQ代码,及将使用对准因数8,及每一符号大小为1288 字节,及每一对象或文件经FEC编码为一个源块,其中每个源块一个子块。对于第二文件 序列,FEC 0ΤΙ指定使用FEC编码ID = 6的FEC代码,其为在[IETF-RFC-6330]中指定的 RaptorQ代码,及将使用对准因数4,及每一符号大小为540字节,及每一对象或文件经FEC 编码为一个源块,其中每个源块一个子块。
[0155] 时间标度值提供对以每秒刻度为单位的时间测量的参考。所有时间单位使用时间 标度用每秒刻度单位来表示,例如,在上文时间标度=10的实例中,且因此时间持续时间 55指示55刻度持续时间,其对应于5. 5第二持续时间。针对上文TFDT中的每一文件序列 提供的START_TRANSMI SS10N及END_TRANSMI SS10N可用以使用模板来指示每一文件的开始 发射时间及每一文件结束发射时间。因此,对应于第一文件序列内的I的文件的数据包将 在相对于会话的开始发射时间的时间1*20与1*20+20之间发射。在此实例中,因为时间标 度=10,此意味着每一文件的数据包发射2秒,及对应于I的文件的数据包在会话的开始发 射时间之后的2*1秒处发射,且因此在来自第一文件序列的连续文件的包的发射时间中不 存在重叠。类似地,对应于第二文件序列内的I的文件的数据包将在相对于会话的开始发 射时间的时间1*40与1*40+80之间发射。在此实例中,因为时间标度=10,此意味着每一 文件的数据包发射8秒,及对应于I的文件的数据包在会话的开始发射时间之后的4*1秒 处发射,且因此在来自第二文件序列的连续文件的包的发射时间中存在4秒重叠。接收器 可使用此信息来确定用于来自文件序列的文件的数据包预期到达的时间间隔。存在使用模 板的文件的开始及结束发射时间的用信号发送的许多变体。举例来说,可使用模板针对文 件序列指示一个以上开始及结束发射时间,例如,可使用模板在TFDT中指示两开始及结束 发射时间以指示视频内容的同一 DASH流的时间移位广播。
[0156] 由于Τ0Ι由FLUTE会话中的TSI设置范围,以便接收器能够确定哪些接收到的包 应与所述文件相关联,所以Τ0Ι应不同于用相同TSI值传递的所有文件或对象。因此,如果 将在同一会话内发射两文件序列,那么其对应Τ0Ι值范围优选具有空交集,S卩,不存在重复 Τ0Ι值。存在实现此的许多方式。举例来说,一种方法为使用用于每一文件序列的依序Τ0Ι 值,但确保第一文件序列的开始Τ0Ι值及具有下一较大开始Τ0Ι值的第二文件序列的开始 Τ0Ι值分隔将用于第一文件序列的Τ0Ι值的至少最大数目。此为所用上文TFDT实例中的方 法:第一文件序列具有开始Τ0Ι值2, 000, 000,且使用至多100, 000个连续Τ0Ι值,即范围 2, 000, 000到2, 099, 999中的Τ0Ι,而第二文件序列具有开始Τ0Ι值3, 000, 000。因此,在第 一及第二文件序列的开始Τ0Ι值之间存在1,000, 000 Τ0Ι值,但这些Τ0Ι值中的仅100, 000 由第一文件序列使用,因此不存在由两文件序列使用的重复Τ0Ι值。
[0157] 实现由不同文件序列使用的无重复Τ0Ι值的另一方法为将上限置于可在单个会 话内传递的文件序列数目上。举例来说,如果在会话内存在至多256文件序列的限制,那么 第J此类文件序列可具有如下指定的Τ0Ι序列:
[0158] Τ0Ι =% J+256*!%
[0159] 接着,第J文件序列内的文件的每一 Τ0Ι将具有等于J模256的Τ0Ι,且因此这些 文件序列中的每一者的Τ0Ι将由于每一文件序列使用不同J值模256来界定其Τ0Ι序列而 不同。
[0160] 上述方法确保在一会话内传递的文件序列中的任一者中的文件中的任一者所使 用的所有Τ0Ι为不同的,但此要求可为宽松的。举例来说,如果接收器可在接收到包时确定 哪一文件为将关联的就已经足够了。文件序列内的每一文件的开始及结束发射时间还可由 接收器使用以区别不同Τ0Ι序列。在上文实例中假设第二文件序列的Τ0Ι序列改变为
[0161] Τ0Ι =% 1999990+1%
[0162] 在此情况下,用于第一文件序列及用于第二文件序列的Τ0Ι将为重叠的, 艮Ρ,第一文件序列的Τ0Ι范围为2000000-2099999,及第二文件序列的Τ0Ι范围为 1999990-2049989。然而,跟踪相对于会话发射开始的时间的接收器可确定接收到的数据包 应与哪一文件相关联。举例来说,如果从会话开始起已经过Τ秒,那么与来自第一文件序列 的文件相关联的数据包的可能Τ0Ι为2000000+f loor (Τ/2),且与来自第二文件序列的文件 相关联的数据包的可能两Τ0Ι为1999990+floor(T/4)及1999990+floor(T/4)-l。在此实 例中可验证这三个Τ0Ι总是不同的,且因此接收器可基于数据包内的接收到的Τ0Ι及经过 时间T来针对接收到的数据包确定哪一文件序列及所述序列内哪一文件将与所述数据包 相关联。
[0163] 大体来说,在用于文件的数据包的实际发送时间间隔中存在一些变化,且还有数 据包从发送器到接收器的传递时间的某一变化,且发送器及接收器的时间可未完全同步, 且因此用于区分及确定哪一文件与接收到的数据包相关联的上述方法应考虑数据包的用 信号发送时间与实际接收时间之间的公差。本文描述的用于基于Τ0Ι及可能所述包内的 TSI以及基于经过时间T来确定哪一文件序列及所述序列内的哪一文件将与接收到的数据 包相关联的方法应考虑这些公差。举例来说,可为以下情况:从系统观点看,常常以秒计的 公差为合理的,且因此TFDT内的用信号发送应具有以下性质:对于来自第一文件序列的任 何第一文件及来自第二文件序列的任何第二文件,如果用于第一文件及第二文件的用信号 发送的Τ0Ι相同,那么第二文件的用信号发送的开始发射时间应在第一文件的用信号发送 的开始发射时间之后至少10秒,或第二文件的用信号发送的结束发射时间应在第一文件 的用信号发送的开始发射之前至少10秒。
[0164] 具有重叠发射时间的所有对象的Τ0Ι可为唯一,其中所述对象序列中的每一对象 的Τ0Ι、开始发射时间及结束发射时间通过构建规则描述于模板文件传递表内。
[0165] 在终端用户装置(常常称作用户设备(或在3GPP上下文中的"UE"))运行的客户 端需要唯一地区别哪些数据包与其试图恢复的文件相关联。Τ0Ι提供此映射。然而,在一 些情况下,可能难以具有唯一 Τ0Ι。举例来说,名称的Τ0Ι空间仅有这么大,且流式传输文 件传递可能超过所述空间,尤其在存在由同一 TSI设置范围的多个流的情况下(发射会话 ID,其设置Τ0Ι =发射对象ID的范围)。
[0166] 在一些实施例中,唯一性为要求,但在其它实施例中,存在确保客户端/UE唯一地 使数据包与正确文件相关联的各种方式。举例来说,在会话内发送的每一文件可用相同TSI 及所有唯一 Τ0Ι来发送。另一实例为:发射器确保在会话内发送的所有文件在移动时间段 (在客户端/UE不与发射完全时间同步的情况下在任一端上具有保护时间间隔)内用相同 TSI发送,所有文件均具有唯一 TOI,及客户端至少稍微与发射同步而使得客户端/UE可通 过使用数据包中的T0I与接收到数据包的时间的组合而唯一地确定与每一文件相关联的 数据包。在这种情况下,客户端将基于接收到数据包的时间来确定哪些文件在当时被主动 地发送,例如基于每一文件的开始及结束发射时间,在这些时间周围具有保护时间间隔以 在客户端时钟未与文件的数据包的实际发射/接收时间完全同步的情况下扩展出在这些 开始及结束发射时间的每一侧上的时间。因此,此保护时间间隔内的所有这些文件将与唯 一 T0I相关联。
[0167] 在给定数据包到达的某一时段处或其内发射的所有文件的此类Τ0Ι集合可为集 合S,且客户端可确定哪一文件与S中的每一 Τ0Ι相关联。接着,客户端可将所接收的数据 包中的Τ0Ι与S中的Τ0Ι中的一者匹配,且因此确定根据哪一文件产生所接收的数据包中 的数据。
[0168] 这些方法的一个优点在于其可在传递多媒体流(例如如当前针对经由eMBMS传递 DASH格式化流所涵盖)时大大地增强可靠性及简单性。可靠性得以增强是因为代替必须在 发送文件的数据包的时间处或其附近传递每一文件的独立FDT,可在传递个人文件之前可 靠地传递紧凑地描述所有文件的FDT的的单个TFDT。效率得以增强是因为当使用此特定编 码时需要较小字节数来表示相同的信息量。
[0169] 存在上述TFDT方法的许多变体。举例来说,TFDT的格式可类似于FDT的格式且以 类似方式传递,即在发射(例如,FLUTE)会话内作为Τ0Ι = 0的独立对象传递。或者,TFDT 可作为与URL相关联的XML对象来传递,且接收器可使用HTTP下载URL所参考的XML对象。 用于格式化及传递TFDT信息到接收器的其它方法包含将TFDT信息包含在用于MBMS中的 用户服务描述("USD")中,以将FLUTE元数据传递到接收器。其它方法包含经由会话通 知协议("SAP")消息传递TFDT信息,及使用会话描述协议("SDP")来格式化所述TFDT 信息。其它替代方案包含格式化及传递极具特色的站点摘要或简易信息聚合("RSS")订 阅源中的TFDT信息。TFDT信息可使用方法的组合来格式化及传递,例如部分地经由USD传 递,部分地作为DASH MPD的部分传递。在一些情况下,TFDT信息的至少一些部分可经多余 地格式化及传递,即,可使用一个方法及TFDT信息的相同部分格式化及传递的TFDT信息的 一些不法可使用不同方法来格式化及传递。
[0170] 个别文件的传统传递及相关文件或对象序列的传递可全部在同一文件传递会话 内传递。相关文件序列的用信号发送可使用本文所述的TFDT方法,其中用同一会话传递 的个别文件可使用传统FDT传递。在任何情况下,如果用于相关文件序列及用于在同一会 话内传递的个别文件的元数据使得接收器可能恰当地操作为优选的,例如,个别文件的Τ0Ι 不应匹配任何文件序列的任何文件的Τ0Ι,其中针对所述文件序列而与个别文件的数据包 同时发射数据包。或者,个别文件的元数据也可包含在TFDT中,且因此TFDT信息包括个别 文件的传递元数据以及用于会话的相关文件序列。作为另一替代方案,TFDT可含有在多个 输送会话中传递的文件的元数据的全部或部分。作为另一替代方案,TFDT或多个TFDT可 含有文件的元数据,针对所述文件将包发射到多个传递会话中。
[0171] 另一 U0D 实例
[0172] 基于模板的文件传递及U0D地址互补重要用例用于多个对象的联合保护且可分 开地或在一起使用。
[0173] 基本 UOD RaptorQ 的 FEC ΟΤΙ 可完全与[IETF-RFC-6330]中的 RaptorQ 相同,但 FEC有效负载ID可得以简化。用于[IETF-RFC-6330]中的RaptorQ的FEC有效负载ID为 (SBN,ESI),而用于基本UOD RaptorQ的FEC有效负载ID为U0SI。U0SI序列中的发射符号 以有效且灵活方式来利用网络资源。
[0174] 将(SBN,ESI)对映射到U0SI的实例可为如下。为了根据已知具有Z源块的对象 的 U0SI 值 C 来确定(SBN,ESI)对,设置 ESI = f loor (C/Z)及接着设置 SBN = C-(ESI) *Z。 为了根据已知具有Z源块的对象的(SBN,ESI)对来确定U0SI值C,设置C = SBN+(ESI)*Z。 表3展示Z = 5的实例映射。
[0175] 表 3。
[0176] UOSI (C) SBN ESI 0 0 0 1 1 0 2 2 0 3 3 0 4 4 0 5 0 1 6 1 1
[0177] 图13说明具有FEC有效负载ID (SBN,ESI)的实例对象。
[0178] 图14说明具有FEC有效负载ID(UOSI)的实例对象。
[0179] 在PST中,每一条目由唯一 PFI识别。PST中的每一条目含有:(1)包中的FEC有 效负载ID的数目及大小;(2)哪一对象与包中的每一符号相关联的规范(其可使用Τ0Ι来 进行此关联);及(3)使用哪一 FEC有效负载ID用于包中的每一符号的规范。在每一包中 载运PFI以识别所述包中载运的格式及数据。
[0180] 举例来说,第一 PST条目可能指定包括各自两字节的两FEC有效负载ID的包格式 (U0SI格式),其中一个符号用于使用第一 FEC有效负载ID的具有Τ0Ι的第一对象,及一个 符号用于使用第二FEC有效负载ID的具有Τ0Ι的第二对象。
[0181] 大体来说,PFI可载运FEC有效负载Id的大小及格式列表,及所述包中载运的对象 中的每一者符号数目,及与所述FEC 0ΤΙ的联系。PFI还可在FDT中载运且与Τ0Ι相关联。 作为PFI的实例,PFI可指示与Τ0Ι相关联的包载运3个对象,其中所述包的相关联URL及 FEC 0ΤΙ以及格式为:第一对象具有1字节的U0SI及所述包中的一个符号,第二对象与第 一对象共享U0SI及使用所述包中的两符号,第三对象具有2字节U0SI及所述包中的一个 符号,及在此情况下所述包将含有用于第一对象的1字节U0SI,此U0SI将还用于第二对象, 接着用于第三对象的2字节U0SI,接着用于第一对象的一个符号、用于第二对象的两个符 号及用于第三对象的一个符号。
[0182] 如现已描述,存在某一特定实例。在阅读本发明之后所属领域的技术人员可设想 其它实施例。在其它实施例中,可有利地进行上文所揭示本发明的组合或子组合。
[0183] 解码器处的恢复可为所发射内容的准确恢复或至少大致上恢复。即使丢失一些数 据包,其仍可使用发射对象识别符而与其原始数据包相关联。这些发射对象识别符可通过 发射对象识别符构建器来构建。举例来说,如果有两发射对象识别符,那么可认为其与相同 经编码符号相关联。可将数据配置为一或多个数据对象序列。发送器及/或接收器可为经 由分组交换网络通信的电子装置或系统。可使用包构建器根据数据对象序列来产生包从而 提供包输出。元数据为如可能适用于自动处理的结构化形式的数据的实例。可使用模板及 /或模板文件传递表来产生元数据。
[0184] 组件的实例配置出于说明的目的来展示,且应理解在本发明的替代实施例中涵盖 组合、添加重新布置及其类似者。因此,虽然本发明已关于示范性实施例来描述,但所属领 域的技术人员将认识到大量修改是可能的。举例来说,本文所描述的过程可使用硬件组件、 软件组件及/或其任何组合来实施。因此,说明书和附图应在说明性意义上而非限制性意 义上看待。然而,将显而易见,可在不脱离如权利要求书中阐述的本发明的广泛精神及范围 的情况下对本发明进行各种修改及改变,且本发明意图涵盖在随附权利要求书的范围内的 全部修改及等效物。
【权利要求】
1. 一种经由包交换网络从电子装置或系统传递一或多个数据对象的方法,其中所述一 或多个数据对象的源数据由包中的经编码符号表示,使得可至少大致上从所述经编码符号 恢复所述源数据,所述方法包括: a) 产生结构化形式的数据,包含元数据;以及 b) 使用模板产生元数据以用于传递相关对象序列。
2. -种经由包交换网络从电子装置或系统传递一或多个数据对象的方法,其中所述一 或多个数据对象的源数据由包中的经编码符号表示,使得可至少大致上从所述经编码符号 恢复所述源数据,所述方法包括: a) 产生结构化形式的数据,包含元数据;以及 b) 使用多路复用对象输送编码来产生元数据。
3. -种经由网络从电子装置或系统传递数据对象序列到客户端装置的方法,其中所述 数据对象序列的源数据由包中的经编码符号表示,使得可至少大致上从所述经编码符号恢 复所述源数据,所述方法包括: 获得包括用于所述数据对象序列的传递元数据的模板文件传递表,所述数据对象序列 包括多个数据对象; 基于在用于所述数据对象序列的所述模板文件传递表中描述的发射对象识别符构建 规则来从所述数据对象序列构建用于数据对象的第一发射对象识别符; 接收一或多个数据包; 从接收到的数据包提取第二发射对象识别符; 如果所述第一发射对象识别符与所述第二发射对象识别符识别相同数据对象,那么使 包括所述接收到的数据包的经编码符号与所述数据对象相关联;以及 基于与所述数据对象相关联的所述经编码符号而至少大致上恢复用于所述数据对象 的所述源数据。
4. 根据权利要求3所述的方法,其中基于在所述模板文件传递表中描述的用于所述数 据对象序列的开始发射时间构建规则及结束发射时间构建规则来构建所述数据对象的开 始发射时间及结束发射时间,且其中所述客户端装置在所述开始发射时间与结束发射时间 之间时常接收用于所述数据对象的数据包。
5. 根据权利要求3所述的方法,其中从所述数据对象序列恢复一个以上数据对象。
6. 根据权利要求3所述的方法,其中在所述模板文件传递表中的同一会话内描述一个 以上数据对象序列。
7. 根据权利要求3所述的方法,其中所述模板文件传递表还包括关于所述数据对象序 列与DASH MPD中描述的表不的分段相关联的方式的信息。
8. 根据权利要求3所述的方法,其中所述模板文件传递表还包括所述数据对象序列中 的所有对象所共有的所述FEC对象发射信息。
9. 根据权利要求3所述的方法,其中所述模板文件传递表包括在所述模板文件传递表 由所述客户端装置获得时不存在的用于所述数据对象序列内的对象的元数据传递信息。
10. 根据权利要求3所述的方法,其中用于所有对象的在所述模板文件传递表内描述 的所述发射对象识别符为唯一的。
11. 根据权利要求10所述的方法,其中存在在所述模板文件传递表内的同一传递会话 内描述的至少两个对象序列,及用于所有对象的所述发射对象识别符为唯一的。
12. 根据权利要求3所述的方法,其中用于具有重叠发射时间的所有对象的所述发射 对象识别符为唯一的,其中所述数据对象序列中的每一对象的所述发射对象识别符及所述 开始发射时间及结束发射时间通过构建规则描述于所述模板文件传递表内。
13. 根据权利要求12所述的方法,其中存在在所述模板文件传递表内的同一传递会话 内描述的至少两个对象序列,及用于具有重叠发射时间的所有对象的所述发射对象识别符 为唯一的。
14. 一种经由网络从电子装置或系统传递数据对象序列到客户端装置的方法,其中所 述数据对象序列的源数据由包中的经编码符号表示,使得可至少大致上从所述经编码符号 恢复所述源数据,所述方法包括: 获得包括用于所述数据对象序列的传递元数据的模板文件传递表,所述数据对象序列 包括多个数据对象; 接收一或多个数据包; 从接收到的数据包提取发射对象识别符; 使包括所述接收到的数据包的经编码符号与来自所述数据对象序列的对应于所述发 射对象识别符的数据对象相关联,所述发射对象识别符如由用于所述模板文件传递表中描 述的所述数据对象序列的所述发射对象识别符构建规则来确定;以及 基于与所述数据对象相关联的所述经编码符号而至少大致上恢复用于所述数据对象 的所述源数据。
15. 根据权利要求14所述的方法,其中基于在所述模板文件传递表中描述的用于所述 数据对象序列的开始发射时间构建规则及结束发射时间构建规则来构建所述数据对象的 开始发射时间及结束发射时间,且其中所述客户端装置在所述开始发射时间与结束发射时 间之间时常接收用于所述数据对象的数据包。
16. 根据权利要求14所述的方法,其中从所述数据对象序列恢复一个以上数据对象。
17. 根据权利要求14所述的方法,其中在所述模板文件传递表中的同一会话内描述一 个以上数据对象序列。
18. 根据权利要求14所述的方法,其中所述模板文件传递表还包括关于所述数据对象 序列与DASH MPD中描述的表不的分段相关联的方式的信息。
19. 根据权利要求14所述的方法,其中所述模板文件传递表还包括所述数据对象序列 中的所有对象所共有的FEC对象发射信息。
20. 根据权利要求14所述的方法,其中所述模板文件传递表包括在所述模板文件传递 表由所述客户端装置获得时不存在的用于所述数据对象序列内的对象的元数据传递信息。
21. 根据权利要求14所述的方法,其中用于所有对象的在所述模板文件传递表内描述 的所述发射对象识别符为唯一的。
22. 根据权利要求21所述的方法,其中存在在所述模板文件传递表内的同一传递会话 内描述的至少两个对象序列,及用于所有对象的所述发射对象识别符为唯一的。
23. 根据权利要求14所述的方法,其中用于具有重叠发射时间的所有对象的所述发射 对象识别符为唯一的,其中所述数据对象序列中的每一对象的所述发射对象识别符及所述 开始发射时间及结束发射时间通过构建规则描述于所述模板文件传递表内。
24. 根据权利要求23所述的方法,其中存在在所述模板文件传递表内的同一传递会话 内描述的至少两个对象序列,及用于具有重叠发射时间的所有对象的所述发射对象识别符 为唯一的。
25. -种用于经由网络传递数据对象序列到一或多个客户端装置的对象传递服务器, 其中所述数据对象序列的源数据由包中的经编码符号表示,使得可至少大致上从所述经编 码符号恢复所述源数据,所述对象传递服务器包括: 存储装置,其用于表示所述数据对象序列的传递元数据的模板文件传递表,所述数据 对象序列包括多个数据对象; 包构建器,其基于描述于所述数据对象序列的所述模板文件传递表中的发射对象识别 符构建规则来构建来自所述数据对象序列的数据对象的第一发射对象识别符,以及基于描 述于所述数据对象序列的所述模板文件传递表中的发射对象识别符构建规则来构建来自 所述数据对象序列的不同数据对象的第二发射对象识别符;以及 包输出,其输出如由所述包构建器针对所述数据对象及所述不同数据对象而构建的一 或多个数据包,其中通过发射对象识别符来编码数据对象。
26. 根据权利要求25所述的对象传递服务器,所述数据对象进一步包括基于用于描述 于所述模板文件传递表中的所述数据对象序列的开始发射时间构建规则及结束发射时间 构建规则而构建的用于所述数据对象的开始发射时间及结束发射时间,使得所述一或多个 客户端装置在所述开始发射时间与结束发射时间之间时常接收所述数据对象的数据包。
27. 根据权利要求25所述的对象传递服务器,其中一个以上数据对象序列描述于所述 模板文件传递表中的同一会话内。
28. 根据权利要求25所述的对象传递服务器,其中所述模板文件传递表还包括关于所 述数据对象序列与DASH MPD中描述的表示的分段相关联的方式的信息。
29. 根据权利要求25所述的对象传递服务器,其中所述模板文件传递表还包括所述数 据对象序列中的所有对象所共有的FEC对象发射信息。
30. 根据权利要求25所述的对象传递服务器,其中描述于所有对象的所述模板文件传 递表内的所述发射对象识别符为唯一的。
31. 根据权利要求30所述的对象传递服务器,其中存在在所述模板文件传递表内的 同一传递会话内描述的至少两个对象序列,及用于所有对象的所述发射对象识别符为唯一 的。
32. 根据权利要求25所述的对象传递服务器,其中用于具有重叠发射时间的所有对象 的所述发射对象识别符为唯一的,其中所述数据对象序列中的每一对象的所述发射对象识 别符及所述开始发射时间及结束发射时间通过构建规则描述于所述模板文件传递表内。
33. 根据权利要求32所述的对象传递服务器,其中存在在所述模板文件传递表内的同 一传递会话内描述的至少两个对象序列,及用于具有重叠发射时间的所有对象的所述发射 对象识别符为唯一的。
【文档编号】H04L1/00GK104221315SQ201380017023
【公开日】2014年12月17日 申请日期:2013年3月26日 优先权日:2012年3月26日
【发明者】迈克尔·乔治·卢比, 凯文·罗兰·福尔, 托马斯·斯托克哈默 申请人:高通股份有限公司