用于提供不等错误保护和捆绑文件传递服务的通用文件传递方法转让专利
申请号 : CN201610329577.6
文献号 : CN105812098A
文献日 : 2016-07-27
发明人 : 迈克尔·G·卢比
申请人 : 高通股份有限公司
摘要 :
权利要求 :
1.一种通过包交换网络传递来自电子装置或系统的多个数据对象的设备,其中所述多个数据对象的源数据由包中的经编码符号表示,使得从所述经编码符号恢复至少一些所述源数据,所述设备包括存储器和处理器,所述存储器和所述处理器经配置以执行以下操作:a)识别待传递的所述多个数据对象中的每一数据对象的对象传输信息“OTI”,OTI包含以八位字节为单位的所述数据对象的大小F、用以表示每一符号的八位字节的数目T,所述符号用于表示所述数据对象,以及所述数据对象为了传递而被分割成的源块的数目Z;
b)产生用于所述多个数据对象的多个包中的每一包的通用对象符号识别符“UOSI”;
c)从包括表示所述多个数据对象的所述源数据的多个源符号产生多个经编码符号,所述源符号中的每一源符号具有在所述源数据中的位置,其中产生用于给定包中所表示的至少两个数据对象的给定数据对象的经编码符号包括:
1)确定要使用的FEC编码过程;
2)从所述给定包的所述UOSI和所述给定数据对象的所述OTI,确定源块编号“SBN”和经编码符号识别符“ESI”;以及
3)至少基于以下三者针对所述经编码符号产生大小为T的经编码符号值:(a)所述FEC编码过程、(b)来自所述Z个源块中的根据所述经编码符号的所述SBN确定的源块的一个或一个以上源符号,及(c)所述经编码符号的所述ESI;
其中所述给定包的所述UOSI允许用于所述给定包中所表示的每一数据对象的每一经编码符号的识别,且用于所述给定包中所表示的所述至少两个数据对象的不同数据对象的经编码符号的所述SBN或ESI不同;
d)产生包含在步骤a)中处置的所述数据对象中的每一数据对象的所述OTI的表示的OTI字段,其中所述OTI字段还包含由所述OTI字段表示的数据对象的数目d;
e)产生用于所述多个数据对象的所述多个包,其中所述多个包中的每一包包括所述包的所述UOSI,及所述包中所表示的每一数据对象的使用所述数据对象的所述OTI和所述包的所述UOSI从所述数据对象产生的一个或一个以上经编码符号;以及f)输出呈可由所述包交换网络使用的形式的所述OTI字段和所述多个包。
2.根据权利要求1所述的设备,其中所述存储器和所述处理器经配置以执行操作使得每一数据对象的所述OTI还包含所述数据对象的每一源块为了传输而被分割成的子块的数目N。
3.根据权利要求1所述的设备,其中所述存储器和所述处理器进一步经配置以执行以下操作:
将SBN设定为等于UOSI模Z;以及
将ESI设定为等于小于或等于UOSI除以Z的商的最大整数。
4.一种通过包交换网络传递来自电子装置或系统的多个数据对象的设备,其中所述多个数据对象的源数据由包中的经编码符号表示,使得从所述经编码符号恢复至少一些所述源数据,所述设备包括存储器和处理器,所述存储器和所述处理器经配置以执行以下操作:a)识别待传递的所述多个数据对象中的每一数据对象的对象传输信息“OTI”,在一次传递中的两个数据对象的OTI可不同;
b)产生用于所述多个数据对象的多个包中的每一包的通用对象符号识别符“UOSI”;
c)从包括表示所述多个数据对象的所述源数据的多个源符号产生多个经编码符号,所述源符号中的每一源符号具有在所述源数据中的位置,其中产生用于给定包中所表示的至少两个数据对象的给定数据对象的经编码符号包括从以下三者确定所述经编码符号的值:(a)所述给定包的所述UOSI、(b)所述给定数据对象的所述OTI,及(c)一个或一个以上源符号值;其中所述给定包的所述UOSI允许用于所述给定包中所表示的每一数据对象的每一经编码符号的识别,且用于所述给定包中所表示的所述至少两个数据对象的不同数据对象的经编码符号的识别符不同;
d)产生用于待传递的所述多个数据对象的所述多个包,其中所述多个包中的每一包包括所述包的所述UOSI,及所述包中所表示的每一数据对象的使用所述数据对象的所述OTI和所述包的所述UOSI从所述数据对象产生的一个或一个以上经编码符号;以及e)至少输出呈可由所述包交换网络使用的形式的所述多个包。
5.根据权利要求4所述的设备,其中所示存储器和所述处理器进一步经配置以执行以下操作:标示符号,以使得接收器可确定符号是对应于数据对象的源符号,还是对应于可在用于恢复一个或一个以上源符号的FEC解码过程中使用的FEC修复符号,其中所述接收器通过比较包括所述符号的所述包的所述UOSI与表示数据对象中的符号的数目的值,来执行所述确定。
6.根据权利要求4所述的设备,其中所述存储器和所述处理器经配置以执行操作使得所述UOSI是非负整数,且每一数据对象的所述OTI包含以八位字节为单位的所述数据对象的大小、用以表示每一符号的八位字节的数目,所述符号用于表示所述数据对象、所述数据对象为了传递而被分割成的源块的数目、源块被分割成的子块的数目,及对应于优选存储器对准的对准因子。
7.根据权利要求4所述的设备,其中
所述存储器和所述处理器经配置以执行操作使得所述给定数据对象的所述OTI包含基本UOSI值;以及
从(a)所述给定包的所述UOSI、(b)所述给定数据对象的所述OTI及(c)一个或一个以上源符号值来确定所述经编码符号的值包括在确定所述经编码符号的值之前,用所述基本UOSI值来调整所述给定包的所述UOSI,从而允许实现所述UOSI的偏移值。
8.根据权利要求4所述的设备,其中所述存储器和所述处理器经配置以执行操作从而确定所述经编码符号的值包括使用前向纠错“FEC”,且其中对于所述给定包中所表示的所述至少两个数据对象的不同数据对象,允许不同等级的FEC保护,且从每一不同数据对象的所述OTI确定FEC保护的等级。
9.根据权利要求4所述的设备,其中所述存储器和所述处理器经配置以执行操作使得:
OTI字段包括:多个OTI子字段,每数据对象有一个OTI子字段;及指示所述多个数据对象中的数据对象的数目的计数子字段,其中并非所有所述OTI子字段都是相同的,且其中OTI子字段是独立于至少一个其他OTI子字段产生的。
10.根据权利要求9所述的设备,其中所述存储器和所述处理器经配置以执行操作使得对于OTI子字段的数据对象,每一OTI子字段包含所述数据对象的大小、所述数据对象为了输送而被分割成的源块的数目、每源块所使用的子块的数目、所使用的符号大小,和对准因子,其中至少两个数据对象的源块的所述数目不同。
11.根据权利要求4所述的设备,其中所述存储器和所述处理器经配置以执行操作使得所述多个数据对象至少包括第一数据对象和第二数据对象,其中所述传递被组织为至少两个单独包序列,其中所述第一数据对象的编码符号在第一包序列的包中出现,且在第二包序列的包中出现,且所述第二数据对象的编码符号在所述第一包序列的包中出现,但不在所述第二包序列的包中出现。
12.根据权利要求4所述的设备,其中所述存储器和所述处理器经配置以执行操作使得所述多个数据对象中的每一数据对象包括存储在将数据作为文件来存储的计算机可读媒体中的相异文件。
13.根据权利要求4所述的设备,其中所述存储器和所述处理器经配置以执行操作使得所述多个数据对象中的至少一者包括存储在将数据作为文件来存储的计算机可读媒体中的相异文件的部分。
14.一种使用电子装置或系统接收和解码通过包交换网络接收的多个数据对象的设备,其中当接收到足够的经编码符号时,所接收的经编码符号被解码成表示所述多个数据对象的源符号,所述设备包括存储器和处理器,所述存储器和所述处理器经配置以执行以下操作:a)识别所传递的所述多个数据对象中的每一数据对象的对象传输信息“OTI”,在一次传递中的两个数据对象的OTI可不同;
b)针对要用于解码的每一经编码符号,确定所述经编码符号编码数据对象的源符号所针对的所述数据对象、经编码符号值,及包括所述经编码符号的包的通用对象符号识别符“UOSI”;
c)针对要用于解码的每一经编码符号,确定用于解码的解码参数,其中确定使用包括所述经编码符号的所述包的所述UOSI和所述对应数据对象的OTI来确定所述解码参数,其中用于所述包的所述UOSI允许用于所述包中所表示的每一数据对象的每一经编码符号的识别,且用于给定包中所表示的所述至少两个数据对象的不同数据对象的经编码符号的解码参数不同;
d)使用经编码符号和步骤c)中所确定的解码参数,来将所述经编码符号解码成表示数据对象的经恢复的源符号;以及e)输出呈计算机可读形式的所述经恢复的源符号。
15.根据权利要求14所述的设备,其中所述存储器和所述处理器进一步经配置以执行以下操作:通过所述所接收的经编码符号来接收所述OTI。
16.根据权利要求14所述的设备,其中所述存储器和所述处理器经配置以执行操作使得所述解码参数包括源块编号和经编码符号识别符,其中所述存储器和所述处理器进一步经配置以执行以下操作:将所述源块编号设定为等于所述UOSI模所使用的源块的数目;以及
将所述经编码符号识别符设定为等于小于或等于UOSI除以所使用的源块的所述数目的商的最大整数。
17.根据权利要求14所述的设备,其中所述存储器和所述处理器进一步经配置以执行以下操作:针对多个所述经编码符号中的每一经编码符号,确定所述经编码符号是对应于源符号,还是对应于可在用于恢复一个或一个以上源符号的前向纠错“FEC”解码过程中使用的FEC修复符号,其中接收器通过比较包括所述经编码符号的所述包的所述UOSI与表示数据对象中的符号的数目的值,来执行所述确定。
18.根据权利要求14所述的设备,其中所述存储器和所述处理器经配置以执行操作使得所述UOSI是非负整数,且多个数据对象中的每一数据对象的所述OTI包含以八位字节为单位的每一数据对象的大小、用以表示每一符号的八位字节的数目,所述符号用于表示数据对象、每一数据对象为了传递而被分割成的源块的数目、源块被分割成的子块的数目,及对应于优选存储器对准的对准因子,其中OTI值对于所述包中所表示的所述至少两个数据对象来说是不同的,且对于所述包中所表示的所述至少两个数据对象,使用不同等级的前向纠错“FEC”。
19.一种在其上存储有处理器可执行指令的非暂时性处理器可读存储媒体,所述处理器可执行指令经配置以致使计算装置的处理器执行接收和解码通过包交换网络接收的多个数据对象的操作,其中当接收到足够的经编码符号时,所接收的经编码符号被解码成表示所述多个数据对象的源符号,所述操作包括:a)识别所传递的所述多个数据对象中的每一数据对象的对象传输信息“OTI”,其中在一次传递中的两个数据对象的OTI可不同;
b)针对要用于解码的每一经编码符号,确定所述经编码符号编码数据对象的源符号所针对的所述数据对象、经编码符号值,及包括所述经编码符号的包的通用对象符号识别符“UOSI”;
c)针对要用于解码的每一经编码符号,确定用于解码的解码参数,其中确定使用包括所述经编码符号的所述包的所述UOSI和所述对应数据对象的OTI来确定所述解码参数,其中用于所述包的所述UOSI允许用于所述包中所表示的每一数据对象的每一经编码符号的识别,且用于给定包中所表示的所述至少两个数据对象的不同数据对象的经编码符号的解码参数不同;
d)使用经编码符号和步骤c)中所确定的解码参数,来将所述经编码符号解码成表示数据对象的经恢复的源符号;以及e)输出呈计算机可读形式的所述经恢复的源符号。
20.根据权利要求19所述的非暂时性处理器可读存储媒体,其中所述存储器和所述处理器进一步经配置以执行以下操作:通过所述所接收的经编码符号来接收所述OTI。
21.根据权利要求19所述的非暂时性处理器可读存储媒体,其中所存储的所述处理器可执行指令经配置以致使所述处理器执行操作使得所述解码参数包括源块编号和经编码符号识别符,其中所述存储器和所述处理器进一步经配置以执行以下操作:将所述源块编号设定为等于所述UOSI模所使用的源块的数目;以及
将所述经编码符号识别符设定为等于小于或等于UOSI除以所使用的源块的所述数目的商的最大整数。
22.根据权利要求19所述的非暂时性处理器可读存储媒体,其中所存储的所述处理器可执行指令经配置以致使所述处理器进一步执行以下操作:针对多个所述经编码符号中的每一经编码符号,确定所述经编码符号是对应于源符号,还是对应于可在用于恢复一个或一个以上源符号的前向纠错“FEC”解码过程中使用的FEC修复符号,其中接收器通过比较包括所述经编码符号的所述包的所述UOSI与表示数据对象中的符号的数目的值,来执行所述确定。
23.根据权利要求19所述的非暂时性处理器可读存储媒体,其中所存储的所述处理器可执行指令经配置以致使所述处理器执行操作使得所述UOSI是非负整数,且多个数据对象中的每一数据对象的所述OTI包含以八位字节为单位的每一数据对象的大小、用以表示每一符号的八位字节的数目,所述符号用于表示数据对象、每一数据对象为了传递而被分割成的源块的数目、源块被分割成的子块的数目,及对应于优选存储器对准的对准因子,其中OTI值对于所述包中所表示的所述至少两个数据对象来说是不同的,且对于所述包中所表示的所述至少两个数据对象,使用不同等级的前向纠错“FEC”。
说明书 :
用于提供不等错误保护和捆绑文件传递服务的通用文件传递
方法
Providing Unequal Error Protection and Bundled File Delivery Services)”的第
61/406,091号美国临时专利申请案的优先权权益,所述申请案的全部内容为了所有目的以
引用的方式并入本文中。
Communication Systems)”的第6,307,487号美国专利(下文中为“Luby I”);
Communication Systems)”的第6,320,520号美国专利(下文中为“Luby II”);
Reaction Code Through Inactivation)”的第6,856,263号美国专利(下文中为
“Shokrollahi I”);
909,383号美国专利(下文中为“Shokrollahi II”);
Systems)”的第7,068,729号美国专利(下文中为“Shokrollahi III”);
Download and Streaming System)”的第7,418,651号美国专利(下文中为“Luby III”);
Transformations with Applications to Encoding and Decoding Various Classes of
Codes)”的第2006/0280254号美国专利公开案(下文中为“Luby IV”);
Communications Systems)”的第2007/0195894号美国专利公开案(下文中为“Shokrollahi IV”);
(Method and Apparatus Employing FEC Codes with Permanent Inactivation of
Symbols for Encoding and Decoding Processes)”的第12/604,773号美国专利申请案
(下文中为“Shokrollahi V”);
Apparatus Employing FEC Codes with Permanent Inactivation of Symbols for
Encoding and Decoding Processes)”的第61/235,285号美国临时申请案(下文中为“Luby V”);及
用的FEC码的方法和设备(Methods and Apparatus Employing FEC Codes with
Permanent Inactivation of Symbols for Encoding and Decoding Processes)”的第
12/859,161号美国专利申请案(下文中为“Shokrollahi VI”)。
和马杜·苏丹(Madhu Sudan)的“优先级编码传输(Priority Encoding Transmission)”,
IEEE信息理论会刊(IEEE Transactions on Information Theory)第42卷第6期(1996年11
月);
据的系统,其中重构数据对应于被分成几部分的优先级和所接收的被分成几部分的包
(System for Packetizing Data Encoded Corresponding to Priority Levels Where
Reconstructed Data Corresponds to Fractionalized Priority Level and Received
Fractionalized Packets)”的第5,617,541号美国专利(于1997年4月1日授予);
Instantiation)”,IETF RFC 5775(2010年4月);
5052(2007年8月);
(FLUTE--File Delivery over Unidirectional Transport)”,IETF RFC 3926(2004年10
月);
(L.Minder)的“用于对象传递的RaptorQ前向纠错方案(RaptorQ Forward Error
Correction Scheme for Object Delivery)”,draft-ietf-rmt-bb-fec-raptorq-04,可靠组播输送(2010年8月24日);
的猛禽(Raptor)前向纠错方案(Raptor Forward Error Correction Scheme for Object
Delivery)”,IETF RFC 5053(2007年9月);
(J.Crowcroft)的“在可靠组播中使用前向纠错(FEC)(The Use of Forward Error
Correction(FEC)in Reliable Multicast)”,IETF RFC 3453(2002年12月);
(Low-Density Parity-Check Code Extensions Applied for Broadcast-Communication
Integrated Content Delivery)”,NTT DOCOMO公司的研究实验室(3-6,Hikari-No-Oka,
Yokosuka,Kanagawa,239-8536,日本);及
Schemes)”,IETF RFC 5170(2008年6月)。
技术领域
背景技术
信道不具有理想保真度(其涵盖大多数物理可实现系统)时,所担心的是如何处理在传输中
丢失或混淆的数据。丢失数据(擦除)与损坏数据(错误)相比常常更容易处理,这是因为接
收者无法总是分辨出损坏数据是错误接收的数据的情况。已开发许多纠错码来对擦除和/
或错误进行纠正。通常,基于关于用以发射数据的信道的失真和所发射数据的性质的某信
息来选择所使用的特定码。举例来说,当已知信道具有长期的失真时,突发错误码可能最适合于彼应用。当只是预期短的不频发的错误时,简单的奇偶检验码可能是最佳的。
和/或擦除),那么在这个简单情况下,在缺少关于源数据的额外数据的情况下可能无法完
全恢复源数据。传输可通过空间或时间来进行。在更复杂情况下,在变换中基于源数据产生经编码数据,且将其从一个或一个以上发送器发射到接收器。如果发现源数据是经编码数
据的部分,那么将编码称为“系统的”。在系统编码的简单实例中,关于源数据的冗余信息被附到源数据的末尾,以形成经编码数据。
在时间和/或空间上分开,且任何所接收的经编码符号可并不与对应所发射的经编码符号
精确相同,且可能不按与发射经编码符号的序列精确相同的序列接收经编码符号。符号的
“大小”可按位来测量,不管符号实际上是否被分成位流,其中当符号是选自具有2M个符号的字母表时,符号具有M个位的大小。在本文中的许多实例中,按八位字节来测量符号,且码可能在具有256种可能的字段范围内(在每个八位字节内存在256种可能的8位模式),但应
理解,可使用不同的数据测量单位,且以各种方式来测量数据是熟知的。在一般文献中,术语“字节”有时与术语“八位字节”互换地使用,以指示8位值,但在一些上下文中,“字节”指示X位值,其中X不等于8,例如,X=7,且因此,一般来说,本文中使用术语“八位字节”。除非另外指示,否则本文中的实例不限于每符号特定整数或非整数个位。
够经编码符号后就恢复原始文件。具体来说,为了以高概率来恢复原始的K个源符号,接收器需要大约K+A个经编码符号。
开销可取决于解码器的可靠性,且可依据源符号的数目K而变化。类似地,相对接收开销A/K是对除信息理论最小数据量之外需要接收的额外数据量相对于正被恢复的源数据的大小
的测量,且也可取决于解码器的可靠性,且可依据源符号的数目K而变化。
数目成固定比率的数量产生数个输出符号的无码率编码器。静态编码器可能包含一个以上
固定码率的编码器。举例来说,静态编码器可能包含汉明编码器、低密度奇偶校验(“LDPC”)编码器、高密度奇偶校验(“HDPC”)编码器和/或其类似者。
号的向量的矩阵乘法。在典型的系统中,此情形的强力实施可消耗过度的计算量和具有过
多存储要求。当然,对于所接收的经编码符号的特定集合,恢复所有的原始输入符号可能是不可能的,但即使有可能,计算出结果的计算成本仍可能是高的。
[Raptor-RFC-5053]中,源块编号(SBN)是16个位,且编码符号ID(ESI)是16个位,而在
[RaptorQ-Spec]中,SBN是8个位,且ESI是24个位,如本文中图1所图解说明。此FEC有效负载ID格式的一个劣势在于必须预先确定FEC有效负载ID的分配给SBN及分配给ESI的位数目,
且有时难以确定将适用于所有文件传递参数的恰当混合。
777,216个可能经编码符号可用会多于可能会使用的数目(例如,具有8,192个源符号),可
能经编码符号的数目大了2,048倍,此在一些应用中可能从来都不需要。
言)远远不是最佳。
支持对文件的每一部分的小的存储器解码,且同时又在每一包内提供允许接收器确定文件
的每一部分的哪一符号含于每一包中的FEC有效负载ID。非常难以使用具有格式(SBN,ESI)
的FEC有效负载ID来支持此并入,这是因为对于文件的每一部分,针对文件第一部分的包中符号的对应SBN和ESI可能不同于针对文件第二部分的包中符号的SBN和ESI。
用于广播/组播文件传递的文件传递结构(即,要求服务器解译文件中的哪些部分是由所请
求的SBN和ESI参考的)的专门方法的情况下是合理的,但是此举要求知道源块和子块结构,以及符号大小T。另一方面,可存在数百万个散布在大的地理区域之上的广播/组播接收器,且要求部署专门的响应服务器从资本费用及从操作的角度来看是既昂贵又麻烦的。广泛部
署的是支持因特网传递(例如,网页、视频流式传输等)的标准HTTP网络服务器和网络高速
缓存。所需要的是支持使用标准HTTP网络服务器和网络高速缓存作为广播/组播响应服务
器的方法。
发明内容
附图说明
或只使用一个发送器的情况下的时间。
具体实施方式
组合的较大文件的结构的信号,且为了恢复大文件内的任何较小文件,接收器通常需要恢
复整个大文件,即使接收器仅关注恢复较小文件的子集也是如此。
的有效保护,且支持文件的不同部分受到不同优先级的保护的文件传递,其中文件的每一
部分可具有不同于文件的其它部分的源块结构和子块结构。再一次,在一些情况下文件被
视为对象的特定实例,但在本文中应理解,本文中用以描述文件的输送和处置的实例也可
用于可能不被称作文件的数据对象,例如来自数据库的大数据块、视频序列的部分,等等。
实例。
[RaptorQ-Spec]第4.3章),且使用FEC OTI来确定将用以发射文件的源块和子块结构,且确定(SBN,ESI)对与文件的经编码符号之间的关系(参见(例如)[RaptorQ-Spec]第4.4章)。
准因子,T是待产生且在传输中发送的符号的大小,Z是文件为了传输所分割成的源块的数
目,且N是每一源块为了传输所分割成的子块的数目。此情形如图3的步骤300中所示。
ESI B,如图3的步骤310中所示,且接着发送器可基于(SBN,ESI)=(A,B)使用现有技术(例
如,[RaptorQ-Spec]中所描述的技术)产生经编码符号的值,如图3的步骤320中所示。接着,将彼经编码符号的UFSI C计算为C=B*Z+A,如图3的步骤330中所示。
3的步骤350中所示,且如果是这样,那么发送器可产生额外经编码符号以发送,如到图3的步骤310的“是”分支所示,且如果不是这样,那么发送器可结束,如到图3的步骤360的“否”分支所示。
可预先确定产生多少经编码符号,且在产生任何经编码符号之前确定将要产生的所有经编
码符号的(SBN,ESI)值。作为另一实例,可在无产生(SBN,ESI)值的中间步骤的情况下直接
产生UFSI值。
因此,例如,如果包携带U=1,045,且FEC OTI中的基本UFSI是BU=2,000,000,那么经编码符号UFSI是2,001,045。使用基本UFSI具有若干优势。举例来说,[FLUTE]、[ALC]、[LCT]、[FEC BB]中所描述的协议组将又称作TOI的传输对象识别符与待输送的文件或对象的FEC
OTI相关联。有可能的是,相同文件的经编码符号可在不同时间或在不同会话中发送,且可与不同TOI相关联。又,能够对于与每一不同TOI相关联的包,发送以UFSI=0开始的经编码包是有利的。通过具有指定基本UFSI作为FEC OTI的部分的能力,不同基本UFSI可与文件的待发送的经编码符号所针对的每一TOI相关联,而不针对不同TOI发送重复的经编码符号。
举例来说,相同文件的经编码符号可在与TOI=1相关联及与TOI=2相关联的包中发送,其
中与TOI=1相关联的基本UFSI设定为0,且其中与TOI=2相关联的基本UFSI设定为1,000,
000。接着,TOI=1及TOI=2两者的经编码包可含有UFSI 0、UFSI 1、UFSI 2等的序列,且将不存在在与两个TOI相关联的所发送经编码符号当中发送的重复的经编码符号,只要针对
具有TOI=1的文件发送的经编码符号少于1,000,000个即可。
会话以在稍后接收更多经编码符号,或接收器可决定无法恢复文件。
=4,234。作为其它替代方案的实例,接收器可预先确定在试图恢复之前接收多少经编码符号。作为另一实例,接收器可进行用以确定是否已接收到足够用来恢复文件的经编码符号
的特定于FEC码的某种处理。作为另一实例,可在没有在恢复过程中产生(SBN,ESI)值的中
间步骤的情况下直接使用UFSI值。作为另一实例,文件的恢复可与经编码符号的接收同时
发生。作为另一实例,可使用其它形式的FEC OTI信息。
中被称作源符号的符号可在使用基本UFD方法时被视为由UFSI识别的文件符号。使F为待发
射的文件的大小(按八位字节计),且使T为当发射文件时用于FEC编码/解码目的的符号大
小,且因此KT=上限(F/T)是文件中的符号的总数目,其中上限(x)是大于或等于x的最小整数。
(SBN,ESI)格式时,文件符号的UFSI的范围是0,1,2,…,KT,且从文件产生的任何修复符号
将具有在范围KT+1、KT+2等中的UFSI。此特性允许通过简单地比较符号的UFSI与值KT来确
定符号是原始文件的部分还是从文件产生的修复符号。此情形可为有用的,(例如)允许不
支持FEC解码的接收器基于包中携带的UFSI值,且基于文件的KT值,确定哪些符号是原始文件的部分(及其在文件内的位置),且哪些符号可作为修复符号忽略。
28的任何经编码符号是修复符号,其中具有UFSI 28的经编码符号是从具有SBN=3的源块
产生,具有UFSI 29的经编码符号是从具有SBN=4的源块产生,具有UFSI 30的经编码符号
是从具有SBN=0的源块产生,等等。如所属领域的技术人员将认识到,存在此特性的许多其它优势。
者的具有ESI 1的Z个经编码符号,等等)。对于大多数传输,此简单发送次序是足够且优选的。然而,在包丢失经历可能与源块的数目Z同步的某一周期的情况下,潜在更佳的发送次序是在发送经编码符号之前随机置换Z个UFSI连续经编码符号的每一集合,即,按随机置换次序发送具有UFSI 0、…、Z-1的前Z个经编码符号,且接着按随机置换次序发送具有UFSI Z、…、2*Z-1的接下来Z个经编码符号,等等。通过此描述,应理解,“随机”可包含伪随机,除非另外指示。
源块或每源块的预先确定数目个可能的经编码符号。举例来说,产生32位FEC有效负载ID的
8位SBN和24位ESI将可能的源块的数目限于256,且将每源块的可能的经编码符号的数目限
于16,777,216。替代地,包括UFSI字段的FEC有效负载ID只限制文件的可能的经编码符号的总数,其独立于文件的源块结构。举例来说,当使用产生32位FEC有效负载ID的32位UFSI时,文件的可产生的经编码符号的总数是4,294,967,296,其独立于文件所分割成的源块的数
量,且在使用子块的情况下独立于文件的子块结构。因此,如果符号的大小是1,024个八位字节,那么在此实例中,文件大小可高达4GB,且经编码符号的数目可为文件大小的1,024
倍,其独立于文件是被分割成一个源块、16,384个源块还是4,194,304个源块。作为另一实例,文件大小可为2 TB,且经编码符号的数目可为文件大小的两倍。在所有情况下,如果使用子块结构,那么文件的可产生的经编码符号的数目独立于文件的子块结构。
[LDPC-扩展]中所描述的方法,所述方法通过改变用以编码文件的不同部分的实际FEC码来
支持UEP。除了在使用UEP时必须改变实际FEC码的劣势之外,另一劣势是由此等方法提供的保护远远不够理想。
要接收比文件中的源包多的包来恢复文件。第二问题是方法基本上使用与用来发送且保护
文件的第二部分的包的集合独立的包的集合发送且保护文件的第一部分。对于第二问题,
从针对文件的第一部分发送的130个包当中接收30个包的方差可为大的,这是因为文件的
第一部分是通过此小数目个包来发送的。
术,且基于文件的部分的优先级对于文件的每一部分使用不同的保护量而将文件的部分作
为单独的文件传递来传递,且接着可发出文件的部分之间的逻辑连接的信号,使得接收器
将知道所传递的文件是相同文件的部分。举例来说,简单UEP文件传递方法可使用上文实例中的[RaptorQ-Spec]来通过发送总计130个包来传递文件的前30KB部分,包中的每一者含
有从第一部分产生的大小为1,024八位字节的经编码符号,且接着文件的第二970KB部分可
通过发送总计1870个包而作为单独文件来传递,包中的每一者含有从第二部分产生的大小
为1,024八位字节的经编码符号。因此,针对作为单独文件发送的文件的两个部分发送总计
2,000个包。简单UEP文件传递方法是相对于[LDPC-扩展]中所描述的方法的改进,这是因为未修改FEC码自身,且是因为(如本文中图10中所示)在不同包丢失条件下文件的两个部分
的传递性能优于[LDPC-扩展]的图6中所示的性能。
接并入将为在每一包中包含文件的每一部分的具有适当大小的经编码符号,且接着包含文
件的每一部分的包括(SBN,ESI)对的单独FEC有效负载ID。然而,此方法出于几个原因而不
是有利的。
目个可能的经编码符号。举例来说,d个部分中的每一者的8位SBN和24位ESI产生(32*d)位
FEC有效负载ID,其将每部分的可能的源块的数目限于256,且将每源块的可能的经编码符
号的数目限于16,777,216。此外,如果对于d个部分中的每一者,FEC有效负载ID大小是32
位,那么此情形将意谓,只是针对每一包中的FEC有效负载ID标头,每一包中的所有部分的FEC有效负载ID总计为32*d位,例如,如果d=10,那么32*d是320位,或等效地40八位字节。
例,假设F=1MB,T=1,024八位字节,d=2,F0=32KB,F1=F-F0=992KB,且T0=64八位字节,T1=T-T0=960八位字节。在此实例中,F0/T0=512,且因此理想地,接收512个包允许恢复文件的部分0,而F1/T1=1,058.13,且因此理想地,接收1,059个包允许恢复文件的部分1。因此,在此实例中,可从粗略为恢复文件的部分1所需要的包的一半的包恢复文件的部分0。
章中所描述的方法)从文件的部分i产生经编码符号之间的映射。此等UFD-UEP方法被与文
件的其它部分独立地应用于文件的部分i,且因此,文件的不同部分可具有不同源块及子块结构,且确切地说,在文件的不同部分之间可存在每源块的不同数目个源符号及不同数目
个源块,这是因为所述方法是独立于文件的每一部分来应用的。
相同值是优选的。针对Al使用相同值确保了可在接收器处在存储器上与Al八位字节的倍数
对准地发生解码,且针对WS使用相同值确保了在接收器处在随机存取存储器(RAM)中需要
解码的最大块大小对于文件的所有部分是相同的。存在针对文件的不同部分使用不同WS值
导出FEC OTI是优选的一些应用,例如,在需要使用较少存储器来恢复文件的较高优先级部分的情况下。
端接收器解码,而低优先级部分仅可由高端接收器解码。在此实例中,针对高优先级部分使用Al=4,使得低端接收器可有效地解码此等部分可为有利的,而针对低优先级部分使用Al=8可为有利的,这是因为与Al=4相比,高端接收器可在Al=8的情况下更有效地解码此等部分。
子块结构(如果使用的话)时。
630、640和650中所示。发送器UFD-UEP方法继续产生且发送经编码包,如图6的步骤660中进行的决定所示。
包,且接收器可停留在这个步骤,直到接收器接收到另一包(在所述情况下,接收器继续进行到步骤730),或接收器确定将不会接收更多的包,在所述情况下,接收器继续进行到步骤
720,且确定已恢复文件的足够部分并停止,或者试图使用其它方法(例如,使用对文件修复服务器的HTTP请求)来恢复文件的额外部分,或接收器可等待另一会话以在稍后接收更多
包。
收文件的每一部分的一个以上经编码符号,在所述情况下,FEC有效负载ID可设定为对应于含于包中的每一部分的第一经编码符号的UFSI,且包中的每一部分的额外符号可具有连续
的对应UFSI值。举例来说,如果在包中携带有文件的每一部分的三个经编码符号,且每一部分的第一符号对应于UFSI=4,234,那么每一部分的其它两个经编码符号可分别对应于
UFSI 4,235和UFSI 4,235,且包中所携带的UFSI可能为UFSI=4,234。
的哪些部分。作为另一实例,接收器可进行用以确定是否已接收到足够用来恢复文件的每
一部分的经编码符号的特定于FEC码的某种处理。作为另一实例,可在没有在每一文件部分的恢复过程中产生(SBN,ESI)值的中间步骤的情况下直接使用UFSI值。作为另一实例,文件的部分的恢复可与经编码符号的接收同时发生。
通过具有独立地针对每一部分指定基本UFSI作为FEC OTI的部分的能力,每一部分的不同
基本UFSI可与文件的待发送的经编码符号所关于的每一TOI相关联,而不针对不同TOI发送
重复的经编码符号。举例来说,可在与TOI=1相关联及与TOI=2相关联的包中发送相同部
分的经编码符号,其中与TOI=1相关联的部分的基本UFSI设定为0,且其中与TOI=2相关联的所述相同部分的基本UFSI设定为1,000,000。接着,TOI=1及TOI=2的经编码包可含有
UFSI 0、UFSI 1、UFSI 2等的序列,且在与两个TOI相关联的所发送经编码符号当中将不存在所发送部分的重复的经编码符号,只要针对具有TOI=1的部分发送的经编码符号少于1,
000,000个即可。代替针对每一部分指定不同基本UFSI,也可有利地具有将由FEC OTI中的
所有部分使用的基本UFSI,这是因为此可减少传送FEC OTI所需要的八位字节的数目,而同时共享在FEC OTI中针对每一部分指定单独基本UFSI的许多优势,尤其是在结合此方法使
用的FEC码是信息附加FEC码(例如在Luby I中所描述的信息附加FEC码等)时,这是因为在
此情况下,所有部分的UFSI的有效范围可极大。
作源符号的符号可在使用UFD-UEP方法时被视为彼部分的由UFSI识别的文件符号。注意到
KTi=上限(Fi/Ti)是文件的部分i中的文件符号的总数目。当如(例如)[RaptorQ-Spec]中所描述,针对文件的每一部分确定源块结构和子块结构,且使用上文所描述的UFD-UEP方法来将文件的部分的符号的标识从(SBN,ESI)格式转换成UFSI格式及从UFSI格式转换成(SBN,
ESI)格式时,文件符号的UFSI的范围是0、1、2、…、KTi,且从文件产生的任何修复符号将具有在范围KTi+1、KTi+2等中的UFSI。此特性允许通过简单地比较符号的UFSI与KTi值,确定符号是文件的原始部分i的部分还是从文件的部分i产生的修复符号。此情形可为有用的,(例如)允许不支持FEC解码的接收器基于包中携带的UFSI值,且基于文件的每一部分i的值Ti
和KTi,确定包中的哪些部分含有原始文件的部分(及其在文件内的位置),且包中的哪些部分含有可忽略的修复符号。
符号,其中此等符号中的每一者具有(例如)48八位字节的大小,且因此第一部分的大小是
28*48=1,344八位字节。第二部分分割成4个源块,其中此等源块中的前3个源块各自具有4个源符号,且剩余1个源块各自具有3个源符号,其中此等符号中的每一者具有(例如)256八位字节的大小,且因此第二部分的大小是256*48=3,840八位字节。
生,如先前参看图6所描述),以及256八位字节的第二经编码符号(其为基于C从图8中所示
的文件结构的第二部分产生,如先前参看图6所描述)。包的无阴影部分携带文件的对应部
分的源符号,而有阴影部分携带从文件的对应部分产生的修复符号。在此实例中,恢复文件的第一部分所需要的包的最小数目是28,而恢复文件的第二部分所需要的包的最小数目是
15。
部分的修复符号。
都成立,即使每一部分具有独立的源块结构也是如此。对于大多数传输,此简单发送次序是足够且优选的。然而,在包丢失经历可能与源块的数目Zi同步的某一周期的情况下,潜在较佳发送次序是在发送经编码符号之前随机置换Z个UFSI连续经编码符号的每一集合,其中Z
是Zi的最大值(对于所有i=0、…、d-1),即,按随机置换次序发送具有UFSI 0、…、Z-1的前Z个经编码符号,且接着按随机置换次序发送具有UFSI Z、…、2*Z-1的接下来Z个经编码符
号,等等。另一潜在发送次序是在发送经编码符号之前随机置换待发送的所有经编码符号。
经编码符号的总数只由UFSI字段的大小限制,且独立于文件的每一部分的源块结构。此外,UFSI字段的使用提供通用且简洁的FEC有效负载ID,其允许同时识别从文件的每一部分的
完全不同源块结构产生的符号。举例来说,当使用产生32位FEC有效负载ID的32位UFSI时,对于文件可产生的经编码符号的总数是4,294,967,296,其独立于文件所分割成的源块的
数量,且对于文件的每一部分,在使用子块的情况下独立于文件的子块结构。因此,如果文件的第一部分的符号的大小是256八位字节,且文件的第二部分的符号的大小是1,024八位
字节,那么在此实例中,文件的第一部分的大小是1GB,且文件的第二部分的大小是4GB,接着经编码符号的数目可为每一文件部分的源符号的数目的1,024倍,其独立于每一文件部
分是分割成一个源块、16,384个源块,还是4,194,304个源块。
位字节,且发射总计2,048个包。
部分的经编码符号,其被用零来填满为992八位字节的全符号大小),且所有2,048个包含有第二部分的经编码符号。
UFD-UEP文件传递方法的恢复性能显著优于简单UEP文件传递方法的恢复性能:简单UEP文
件传递方法可一致地恢复包丢失率低于65%的文件的第一部分,而UFD-UEP文件传递方法
可一致地恢复包丢失率接近75%的文件的第一部分。
[RaptorQ-Spec]中指定的FEC码将文件的32个源符号编码为64个经编码符号,且在单独包
中发送每一经编码符号。如图12中可看出,归因于此方差,可达成文件的可靠传递时的丢失百分比远小于50%。
文件的编码和传输是使用与先前段落中所描述的参数相同的参数而与其它文件独立地执
行。如可看出,仅可在包丢失低于约25%(其远低于50%)时可靠地达成所有32个文件的传
递。
的传递,而是用信号表示每一部分是单独文件且d个文件被以捆绑方式来传递。假设发送器希望分别提供大小为F0、F1、…、Fd-1的d个文件的捆绑传递。发送器UFD捆绑方法将包大小T分割成大小为T0、T1、…、Td-1的d个部分,且因此T等于i个Ti的总和。T的此分割是基于F0、F1、…、Fd-1和对应文件的优先级。
于许多因素决定其希望恢复捆绑文件和/或文件部分中的哪一些,且独立于其它文件或文
件部分,只恢复彼等文件或文件部分。所属领域的技术人员在阅读本发明之后将认识到,存在UFD捆绑文件传递方法的许多可能替代版本。
的包丢失率的实质改进。
“原始次序HTTP文件”。通常,用于单播修复请求的原生HTTP支持的方法可基于SBN和ESI将对HTTP文件的源块的符号和子符号的修复请求翻译为HTTP文件内的标准HTTP八位字节范
围请求(常常被称作具有指定字节范围的HTTP部分GET请求)。此情形使标准HTTP网络高速
缓存服务器能够对此等修复请求进行服务,从而避免了大规模部署能理解如何将HTTP文件
分割成源块和源块内的源符号的专门HTTP网络高速缓存服务器的需要。
到可为标准HTTP网络高速缓存服务器的单播修复服务器的优势,从而使定义HTTP文件及分
发HTTP文件的后勤工作更简单,这是因为此等后勤工作独立于FEC编码。另一优势是,如果在会话中没有发送源符号,那么因为所有源符号“缺失”,接收器可在单播修复请求中请求源符号的任何序列,此情形可为优选的,这是因为此情形允许对源符号的连续序列的修复
请求。举例来说,假设使用具有理想恢复特性的FEC码,且一个部分的源块包括1,000个源符号,且针对源块接收700个修复符号(即使修复符号中的一些可在传输中丢失,且因此所接
收的修复符号的ESI的模式可能远远不是连续的)。接着,接收器可在单播修复请求中请求
源块的前300个连续源符号,且将此等源符号与700个修复符号组合以恢复源块。如果源符
号在HTTP文件中是连续的,那么可将单一HTTP八位字节范围请求用以请求及接收所有300
个连续源符号。接收器不一定需要进行前缀请求(即,对文件的从第一字节开始的设定数目的字节的请求),但在一些情况下,这会更简单。
数目。在其它情况下,接收器可能执行调度操作,其中接收器确定如何只使用其已经接收的修复符号来进行解码,且因此可注意到需要更特定数目个源符号。举例来说,修复符号中的一些可能是其它修复符号的冗余,在所述情况下,可能需要更多的源符号。在其它状况下,结果可能是需要较少源符号。
[RaptorQ-Spec]第4.4章中所描述的方法,以确定(KL、KS、ZL、ZS),其中前ZL个源块具有KL个源符号,且剩余ZS个源块具有KS个源符号。接着,基于A、B及符号大小T,接收器可确定源符号在文件内的开始八位字节索引如等式1中所示,其中源符号在文件内的结束八位字节
索引是EI=SI+T。接着,接收器可使用对源符号的标准HTTP八位字节范围请求。
文件,HTTP网络高速缓存服务器可具有含有修复符号的文件,或可已经扩展原始次序HTTP
文件以含有修复符号,且接收器可使用类似于本文中所描述的方法的方法来进行对修复符
号的HTTP八位字节范围请求。作为增强的另一实例,可使用如所属领域的技术人员将认识
到的类似方法,扩展此等方法以处置使用子块的情况。举例来说,接收器可使用[RaptorQ-Spec]第4.4章中所描述的方法来确定(TL、TS、NL、NS),其中源块的前NL个子块具有大小TL*Al,且源块的剩余NS个子块具有大小TS*Al。接着,基于A、B和符号大小T,接收器可确定对应于源符号的具有N个子符号的符号在文件内的开始和结束八位字节索引,且使用标准HTTP
八位字节范围请求来进行对此等八位字节的请求。
递到接收器。
序HTTP文件的优势,但所述方法具有可能需要许多不同HTTP八位字节范围请求来请求源符
号(甚至是在针对每一源块只请求连续源符号时)的劣势。此情形有至少两个原因:(1)可能存在多个源块,且缺失来自每一源块的源符号,在所述情况下,可能需要针对每一源块的单独八位字节范围请求;(2)可能存在每源块多个子块,且因此甚至从一个源块请求单一源符号也可能需要对组成源符号的多个子符号的多个HTTP八位字节范围请求,这是因为源符号
的子符号可能在原始次序HTTP文件中不连续。
等的次序,即,将UFSI次序HTTP文件中的数据的次序组织为根据递增的连续UFSI(如由FEC OTI所确定)而排序的文件符号。URL可与UFSI次序HTTP文件相关联,且可将URL提供给HTTP
网络高速缓存系统。接收器接着可使用HTTP八位字节范围请求,来在需要时请求UFSI次序
HTTP文件的部分。UFSI次序HTTP文件的一个优势是,如果接收器从源块中的每一者接收大
约相同数目个修复符号,那么获得足够用以恢复原始文件或文件部分的源符号所需要的
HTTP八位字节范围请求的数目可为最小,例如,如果针对每一源块接收完全相同数目个修
复符号,那么一个HTTP八位字节范围请求可为足够的。举例来说,对UFSI次序HTTP文件的前L*T*Z个连续八位字节的请求就足以从原始文件或文件部分的Z个源块中的每一者接收大
小为T的前L个源符号。如果在一个或一个以上会话中接收到针对Z个源符号中的每一者的
K-L个修复符号,且如果FEC码具有理想恢复特性,那么从HTTP八位字节范围请求接收的L*
T*Z个八位字节就足以FEC解码HTTP文件,其中在此实例中,假定K是Z个源块中的每一者中
的源符号的数目。
HTTP文件”。此方法在存在每源块多个子块时有用,这是因为在此情况下,每一源符号可不是原始文件或文件部分的连续部分,即,源符号的子符号可散布于按原始文件排序的源块
中。SS次序HTTP文件中的数据的次序是按第一源块的所有源符号,接着第二源块的所有源
符号,接着第三源块的所有源符号等的次序,即,SS次序HTTP文件中的数据的次序被组织为根据源块内的递增的连续ESI次序而排序的源符号,且是按递增的连续SBN次序的源块的串
接,如由FEC OTI所确定。URL可与SS次序HTTP文件相关联,且可将URL提供给HTTP网络高速缓存系统。接收器接着可使用HTTP八位字节范围请求,来在需要时请求SS次序HTTP文件的
部分。如果接收器从源块中的每一者接收不同数目个修复符号,那么SS次序HTTP文件是尤
其有利的。举例来说,如果存在各自具有1,000个源符号的两个源块,且如果接收器从一个或一个以上会话中接收到针对第一源块的900个修复符号及针对第二源块的100个修复符
号,那么接收器可对SS次序HTTP文件的前T*100个八位字节进行一个请求,且接收针对第一源块的100个源符号,且接收器可对SS次序HTTP文件的T*1,000+1到T*1,900个八位字节进
行另一请求,且接收针对第二源块的900个源符号,其中在此实例中,T是两个源块的符号大小(按八位字节计)。
HTTP八位字节请求的组合。举例来说,如果存在各自具有1,000个源符号的10个源块,且如果在一个或一个以上会话中,针对前8个源块中的每一者接收800个修复符号,针对第9个源块接收820个修复符号,且针对第10个源块接收500个修复符号,那么接收器可能进行对
UFSI次序HTTP文件的HTTP八位字节范围请求,以接收针对10个源块中的每一者的200个源
符号,且进行对SS次序HTTP文件的额外HTTP八位字节范围请求,以接收针对第10个源块的
额外300个源符号。在此实例中,接收器可接收针对第9个源块的不需要的20个源符号(假定具有理想恢复特性的FEC码),但在一些情况下,使用较小数目个HTTP八位字节范围请求来
请求多于一些源块的最小所需八位字节数的八位字节可比请求每一源块的正好所需源符
号数目(此可需要大得多的数目个不同HTTP八位字节范围请求)更有效率。
(2)、……)的序列,其中每一输入符号具有值和位置(在图13中表示为括弧中的整数)。如上M
文所解释,输入符号的可能值(即,其字母表)通常是具有2个符号的字母表,使得每一输入符号针对输入文件的M个位进行译码。值M通常是由通信系统1300的用途来确定,但通用系
统可能包含针对输入符号产生器1310的符号大小输入,使得M可在不同的用途间变化。输入符号产生器1310的输出被提供给编码器1315。
的大部分动态键是唯一的。举例来说,Luby I描述了可使用的键产生器的实施例。动态键产生器1320和静态键产生器1330的输出被提供给编码器1315。
符号的值是基于其键,基于输入符号中的一个或一个以上者及可能从输入符号计算得到的
一个或一个以上冗余符号的某一函数产生。引起特定输出符号的输入符号和冗余符号的集
合在本文中被称作输出符号的“相关联的符号”或仅称作其“关联物”。根据下文更详细描述的过程来进行函数(“值函数”)及关联物的选择。通常,但不总是,M对于输入符号和输出符号是相同的,即,输入符号和输出符号都针对相同数目个位进行译码。
块1350,且取决于所使用的键控方法,发射模块1340还可能发射关于所发射的输出符号的
键的某数据。假定信道1345是擦除信道,但此并非对于通信系统1300的恰当操作为必需的。
值K在用以确定关联物的情况下可被通过信道1345发送,或可在编码器1315和解码器1355
达成一致的情况下预先设定值K。其它元件展示于图13中(及在本文中别处,不管是否描述
为模块、步骤、过程等,都也可使用硬件、软件和/或存储在电子可读媒体上的程序代码来实施)。
换网络的情况下,通信系统1300可能甚至不能够假定在通过信道1345的过程中保持任何两
个或两个以上包的相对次序。因此,使用上文所描述的键控方案中的一个或一个以上者来
确定输出符号的键,且键不一定由输出符号离开接收模块1350的次序来确定。
输出符号的动态键,且将此等动态键提供给解码器1355。静态键产生器1363重新产生静态
键S0、S1、…,且将其提供给解码器1355。静态键产生器可存取在编码和解码过程期间都使用的随机数产生器1335。此可呈存取相同物理装置(如果在此类装置上产生随机数)的形式,
或呈存取用于产生随机数以实现相同特性的相同算法的形式。解码器1355将由动态键再生
器1360及静态键产生器1363提供的键与对应输出符号一起用来恢复输入符号(再一次IS
(0)、IS(1)、IS(2)、…)。解码器1355将经恢复的输入符号提供给输入文件重新组装器1365,输入文件重新组装器1365产生输入文件1301或输入流1305的副本1370。
发送值S()的流。每一S()值表示输出符号B(I)和键I,上文解释了输出符号B(I)和键I的使
用。举例来说,值S(A,nA)是在发射器2402(A)处产生的输出符号序列中的第“nA”个输出符号和第“nA”个键。来自一个发射器的键的序列优选地与来自其它发射器的键的序列相异,使得发射器不会重复工作。此情形在图14中通过序列S()随发射器而变的事实而图解说明。
的输出符号发射到接收器2508。所展示的两个发射器中的每一发射器可能只需要发射(K+
A)/2个输出符号,之后接收器的解码器就能够恢复整个输入文件。
么信息量可能小于单一信道信息的四倍。在彼情况下,如果数据在任何信道中丢失,那么接收器单元2510处的信息量至少是两倍且常常更多。应注意到,即使发射器只广播一个信号,但接收器在不同时间起作用(in view),所以有一个以上接收器侦听每一发射器具有优势。
在图15中,接收器单元2510执行类似于图1中所示的接收器150、解码器155、键再生器160和输入文件重新组装器165的功能的功能。
明之后,此等实例的其它变化应为显而易见的。
问题,且将受益于使用链式反应码来存储信息于光盘上。作为另一实例,卫星系统可使用擦除码以便在用于传输的功率要求方面进行折衷,通过减小功率而有目的地允许更多错误,
且链式反应译码在彼应用中将是有用的。又,已使用擦除码来开发RAID(冗余独立磁盘阵
列)系统以用于可靠地存储信息。本发明因此可证实在使用码来处置潜在有损耗或错误数
据的问题的其它应用(例如上文实例等)中是有用的。
送器和一个接收者到任何数目个进行发送和/或接收的机器之间变化。连接机器的通信媒
体可为有线的、光学的、无线的,或其类似者。上文所描述的通信系统具有应从本描述中显而易见的许多用途。
流式传输服务器104提供的服务。如图所示,系统100还可能包含HTTP高速缓存106。在操作时,例如HTTP流式传输客户端等的客户端108将请求112发送到HTTP流式传输服务器104,且从HTTP流式传输服务器104或HTTP高速缓存106接收响应114。在每一情况下,图16中所示的元件可能至少部分以软件来实施,软件中包括在处理器或其它电子器件上执行的程序代
码。
(“IP”)网络,例如因特网等。块请求流式传输系统客户端被展示为具有六个功能组件,即:
块选择器123,其被提供了上文所描述的元数据,且执行从由元数据指示的多个可用块当中选择要被请求的块或部分块的功能;块请求器124,其从块选择器123接收请求指令,且执行必要的操作以通过网络122将对指定块、块的部分或多个块的请求发送到块服务基础结构
101(1),且接收返回的包括块的数据;以及块缓冲器125;缓冲器监视器126;媒体解码器
127;和促进媒体消费的一个或一个以上媒体转换器128。
入提供给媒体转换器128,媒体转换器128使媒体呈适用于用户或其它消费的形式。媒体转
换器的实例包含视觉显示装置,例如在移动电话、计算机系统或电视中发现的视觉显示装
置等,且还可能包含音频呈现装置,例如扬声器或头戴式耳机等。
处理器,其中注入处理器接收内容(实时或非实时),处理内容以供BRSS使用,且将所述内容(可能还连同由注入处理器产生的元数据一起)存储到可由内容服务器存取的存储器中。
便请求少于由URL指示的所有文件或区段的数据)的HTTP请求的形式的对文件或区段的请
求。客户端可能包含进行对HTTP服务器的请求且处置对彼等请求的响应的常规HTTP客户
端,其中HTTP客户端由新型客户端系统驱动,所述新型客户端系统表述请求,将其传到HTTP客户端,从HTTP客户端得到响应,且处理此等响应(或存储、变换等),以便将其提供给呈现播放器(presentation player)以供客户端装置播放。通常,客户端系统预先不知道将需要何种媒体(这是因为需要可能取决于用户输入、用户输入的改变等),因此客户端系统被称
为“流式传输”系统,这是因为媒体在一被接收之后即被“消费”,或在被接收之后不久就被“消费”。结果,响应延迟和带宽约束可造成呈现的延迟,例如,在所述流赶到用户正消费所述呈现的地方时造成呈现的暂停等。
统和注入系统都感知到增强,而在其它实施例中,只有一方感知到增强。在此等情况下,即使一方未感知到增强,整个系统也可受益于增强,而在其它情况下,益处只在两方都感知到增强的情况下产生,但当一方未感知到增强时,系统仍可操作而不会出故障。
一个或一个以上者。系统可实现为呈计算机形式的特定机器。系统可为服务器计算机、个人计算机(PC)或能够执行一组指令(顺序或以其它方式)的任何系统,所述组指令指定将由彼
系统采取的动作。此外,虽然只图解说明了单个系统,但是术语“系统”还应被当作包含个别或联合地执行一组(或多组)指令以执行本文中所论述的方法中的任何一个或一个以上者
的系统的任何集合。
系统执行指令期间,指令还可完全或至少部分地驻留在存储器304和/或注入处理器302内,其中存储器304和注入处理器302也构成机器可读媒体。
的任何一个或一个以上者。系统可实现为呈计算机形式的特定机器。系统可为服务器计算
机、个人计算机(PC)或能够执行一组指令(顺序或以其它方式)的任何系统,所述组指令指
定将由彼系统采取的动作。此外,虽然只图解说明了单个系统,但是术语“系统”还应被当作包含个别或联合地执行一组(或多组)指令以执行本文中所论述的方法中的任何一个或一
个以上者的系统的任何集合。
系统执行指令期间,指令还可完全或至少部分地驻留在存储器404和/或客户端处理器402
内,其中存储器404和客户端处理器402也构成机器可读媒体。
RaptorQ FEC方案一起使用(本文中被称作“UOD-RaptorQ FEC方案”),以提供简化且增强的对象传递能力。确切地说,为基本对象传递提供了更灵活且更简单的支持,且也为不等错误保护(UEP)对象传递,为捆绑对象传递,以及为UEP和捆绑对象传递的组合提供了支持。应理解,可将合适的硬件和/或软件用以在通信装置之间实施“UOD-RaptorQ FEC方案”。
的无符号整数)来概括。UOSI是非负整数,将UOSI与FEC OTI相结合用来识别包含于携带彼
有效负载ID的包内的编码符号。
和对象i的子块数目Ni)。经编码的方案特定对象传输信息为(1+3*d)个八位字节的字段。图
21中的实例是d=2。经编码的FEC OTI接着可为(2+10*d)个八位字节的字段,其包括经编码通用FEC OTI元素与经编码方案特定FEC OTI元素的串接。
达到接收器。
数,而每一编码包的有效负载大小优选地具有至少T的大小,其中T是遍及Ti的总和,i=
1、...、d。
RaptorQ FEC方案使用的UOSI格式之间的兼容性,可能为特定格式。举例来说,对于每一对象,对象i的从UOSI值C到对应(SBN,ESI)值(A,B)的映射可能为B=下限(C/Zi)且A=C–B*Zi的情况。类似地,对于每一对象,从对象i的(SBN,ESI)值(A,B)到对应UOSI值C的映射将为C=A+B*Zi。
加的填充八位字节的情况下,此等八位字节应包含于包中,以便每一包中只包含完整符号。
其中G是包中的每一对象的编码符号的数目。
对象i(i=1、...、d),编码器确定对应于UOSI值C的(SBN,ESI)值(Ai,Bi),根据RaptorQ FEC方案[RaptorQ-Spec]的过程从对象i产生对应于(SBN,ESI)值(Ai,Bi)的大小为Ti的编码符
号Ei,将编码符号Ei附加到编码包的有效负载,且发送编码包。注意到,接收器不必知道编码包的总数。
明希望涵盖在以下权利要求书的范围内的所有修改和等效物。