CN1620760B - 用于通信系统的多级码发生器和解码器 - Google Patents

用于通信系统的多级码发生器和解码器 Download PDF

Info

Publication number
CN1620760B
CN1620760B CN02828117.9A CN02828117A CN1620760B CN 1620760 B CN1620760 B CN 1620760B CN 02828117 A CN02828117 A CN 02828117A CN 1620760 B CN1620760 B CN 1620760B
Authority
CN
China
Prior art keywords
input symbols
symbol
symbols
redundancy
output symbol
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.)
Expired - Lifetime
Application number
CN02828117.9A
Other languages
English (en)
Other versions
CN1620760A (zh
Inventor
A·M·肖克罗拉希
S·拉森
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.)
Qualcomm Inc
Original Assignee
Digital Fountain Inc
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 Digital Fountain Inc filed Critical Digital Fountain Inc
Publication of CN1620760A publication Critical patent/CN1620760A/zh
Application granted granted Critical
Publication of CN1620760B publication Critical patent/CN1620760B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/02Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
    • H04L27/04Modulator circuits; Transmitter circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Abstract

提供了一种用于在通信信道(145)上从源(101)到目的地(170)的数据传输编码的方法。从要发送的输入码元的排序集合生成多个冗余码元。从包括输入码元和冗余码元的码元组合集合生成多个输出码元,其中可能的输出码元数远远大于码元的组合集合内的码元数,其中从码元的组合集合内多于一个码元且从码元的组合集合内少于所有码元生成至少一个输出码元,使得输入码元的排序集合可以从输出码元的任何预定数N经重新生成达到期望的准确度。

Description

用于通信系统的多级码发生器和解码器
本发明背景
本发明涉及通信系统内的编码和解码,尤其是对数据进行编码和解码以考虑通信的数据内的差错和间隔。
在通信信道上发送者和接收者间的文件传输是许多文献的主题。最好,接收者期望能接收到有一定确信度的发送者在信道上发送的数据的准确副本。当信道没有完美的确信度时(这是大多数物理可实现系统的情况),要考虑的问题是如何处理传输中的丢失或误传。丢失的数据(擦除)比受损的数据(差错)要更容易处理,因为接收者不能知道何时接收到了错误的受损数据。研发了许多差错纠正编码以纠正擦除和/或差错。一般,使用的特定码是基于数据发送通信的信道的不保真度和发送的数据的性质而经选择的。例如,在信道有较长时间的不保真度时,最适合该情况的是纠突发差错码。在只有较短不频繁的差错时,最好是简单的一致校验码。
在选择编码时的另一考虑是用于传输的协议。在称为“因特网”的全球互连网络中,使用分组协议用于数据传输。该协议被称为互联网协议或简称“IP”。当文件或其他数据块在IP网络上传输时,它被分成等大小的输入码元,且输入码元被放入连续的分组。不管输入码元是否实际被分成比特流,输入码元的“大小”可以用比特测量,其中当输入码元从2M的字母表中选出,输入码元大小为M比特。在该种基于分组的通信系统中,面向分组的编码方案比较合适。如果接收者能在网络内有擦除的情况下恢复原始文件的准确副本,则称该传输是可靠的。在因特网上,分组丢失经常发生,因为偶发的拥塞引起路由器内的缓冲机制达到其极限,迫使它丢失进入的分组。传输期间的擦除保护是许多研究的主题。
传输控制协议(“TCP”)是有确认机制的一种普遍使用的点到点分组控制方案。TCP对于一到一的通信性能颇佳,其中发送者和接收者在何时进行传输并接收传输以及使用的发射机和接收机上取得一致。然而,TCP一般不适合一到多或多到多的通信,其中发送者和接收者独立地确定何时以及哪里他们会发送和接收数据。
使用TCP,发送者发送排序的分组,接收者确认每个分组的接收。如果丢失了分组,则没有确认会被发送回发送者,且发送者会重发分组。分组丢失有多个原因。诸如TCP/IP协议中,确认规则使得分组不是完全失败地丢失,因为丢失的分组的可以或根据没有确认或根据来自接收者的显式请求而被重发。无论哪种方法,确认协议要求来自接收者到发送者的返回信道,该信道在丢失的分组数很大时使用率非常高。
虽然基于确认的协议一般适用于许多应用,且实际上在当前的因特网上被广泛使用,但是它们效率不高,且有时对于诸如在给Michael G.Luby的美国专利号6307487内可以完全不可行,该专利题为“Information Additive CodeGenerator and Decoder for Communication Systems”(以下被称为“Luby I”)。另外,基于确认的协议不适合广播,其中一个发送者同时发送一个文件到多个用户。例如,假设发送者在卫星信道上广播一个文件到多个接收者。每个接收者经历不同的分组丢失模式。依赖确认数据(或是肯定或是否定)以进行可靠的文件发送的确认协议需要来自每个接收者到发送者的返回信道,要提供这些信道代价极大。另外,这需要复杂并强大的发送者以能合适地处理来自接收者的所有确认数据。另一缺点是如果不同的接收者丢失不同的分组集合,重新广播只有一些接收者丢失的分组会引起其他接收者无用的重复分组接收。
有时在实际中使用的基于确认协议的另一方法是基于旋转的协议。旋转协议将输入文件分成等长度的输入码元,将每个输入码元放入分组,并连续循环通过并发送所有分组。该旋转协议的主要缺点是如果接收者即使丢失了一个分组,则接收者必须等待整个循环才能接收到丢失的那个分组。另一种角度看,即基于旋转的协议会引起大量的无用复制数据接收。例如,如果接收者接收到来自旋换开始的分组,停止接收一段时间,然后开始在旋转的开始再次接收,则会接收到大量无用的重复分组。
一种提出的解决以上问题的方案是避免使用基于确认的协议,而是使用前向差错纠正(FEC)码,诸如Reed-Solomon码或Tornado码,或是信息可加码的链式反应码以增加可靠性。使用这些编码,输出码元从内容中被生成,且被发送,而不是只发送组成内容的输入码元。擦除纠正编码诸如Reed-Solomon或Tornado编码为固定长度的内容生成固定数目的输出码元。例如,对于K个输入码元,可能生成N个输出码元。这些N个输出码元可以包括K个原始输入码元以及N-K个冗余码元。例如存储允许,则服务器可以为每个内容只计算输出码元集合一次,并使用旋转协议发送输出码元。
一些FEC编码的一个问题在于需要过度的计算功率或存储器进行操作。另一问题是输出码元的数目必须在编码过程前预先被确定。如果过度估计分组丢失率则会导致低效,且如果过低估计分组丢失率,则会导致失败。
对于传统的FEC编码,可以生成的可能的输出码元数与内容被划分的输入码元数是相同量级的。一般,大多数或所有的这些输出码元在发送步骤前的预处理步骤内生成。这些输出码元的特性为所有的输入码元可以从长度等于原始内容或比原始内容稍微长一点的输出码元任何子集合内重新生成。
Luby I内描述的实施例(在此被称为“链式反应码”)提供了一种不同于前向差错纠正的形式,解决以上问题。对于链式反应码,可以被生成的可能输出码元池一般数量要大于输入码元的数目,且来自可能池的随机输出码元可以很快地被生成。对于链式反应码,输出码元可以按在发送步骤并发基础上需要的在运行中被生成(on the fly)。链式反应码的特性是内容的所有输入码元可以从长度略微长于原始内容的随机生成输出码元集合的子集合中重新生成。
在链式反应码的一实施例中,每个输出码元作为一些输入码元的异或(XOR,用
Figure G02828117920080305D000031
表示)而获得。如果K表示总输入码元数,则每个输出码元平均上是c*ln(K)个输入码元的XOR,其中ln(K)是K个自然对数,且c是合适的常量。例如,当K等于60000时,每个输出码元平均上是28.68个输入码元的XOR,且当K=10000时,每个输出码元平均上是22.86个输入码元的XOR。大量的XOR导致输出码元更长的计算时间,因为每个该种操作涉及从存储器获取数据、实现XOR操作并更新存储器位置。
链式反应码器生成的输出码元的一特性是接收机能一旦接收到足够的输出码元时能恢复原始文件。尤其是,为了以较高概率恢复原始K输入码元,接收机需要大致K+A个输出码元。比率A/K被称为“相对接收开销”。相对接收开销取决于输入码元的数目K,且取决于解码器的可靠性。例如,在一特定实施例中,且K等于60000,5%的相对接收开销保证解码器以至少1-10-8的概率成功地对输入文件解码,且当K等于10000时,15%的相对接收开销保证解码器相同的成功概率。在一实施例中,链式反应码的相对接收开销可以由(13*sqrt(k)+200)/K而计算,其中sqrt(K)是输入码元K个数目的平方根。在该实施例中,链式反应码的相对接收开销对于小值的K更大。
在一些实施例中,输出码元使用XOR函数进行编码,连锁解码器的主计算操作实现存储器位置的XOR。该XOR的数目的大小比例与链式反应码器相同。
链式反应码在基于分组网络的通信非常有用。然而,其计算量也相对较强。例如,在链式反应码的一些特定实施例中,当输入码元K的数目为60000时,则计算每个输出码元需要平均获取28.68个随机选择的输入码元并对其进行XOR。由于服务器可以同时服务的文件数与每个输出码元需要的操作数成反比,则减少每个输出码元需要的操作数会有用。例如减少后者例如为3倍,则增加了可以从一个服务器被同时服务的文件数为3的因子。
链式反应码的另一特性需要接收开销,该开销对于给定的目标成功概率相对较大。例如,如上指出,在链式反应码的一些特定实施例中,如果K=10000,则15%的相对接收开销保证了至少1-10-8的解码成功概率。接收开销对于更小的K要增加。例如,在一些链式反应码的特定实施例中,如果K为1000,则61%的相对接收开销保证了相同概率的成功解码。而且,降低目标差错概率到10-12左右的一数目,如在诸如卫星网络上的高速内容传输的一些应用中要求的,该数目需要更大的接收开销。
本发明的简要描述
根据本发明的一实施例,提供了一种用于在通信信道上从源到目的地的数据传输编码的方法。该方法对输入码元的排序集合进行操作,并包括从输入码元生成多个冗余码元。该方法还包括从包括输入码元和冗余码元的码元组合集合生成多个输出码元,其中可能的输出码元数远远大于码元的组合集合内的码元数,其中从码元的组合集合内多于一个码元且从码元的组合集合内少于所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从输出码元的任何预定数经重新生成达到期望的准确度。
根据本发明另一实施例,提供了一系统,用于在通信信道上从源到目的地的数据编码。该系统包括被耦合以接收多个输入码元的静态编码器,多个输入码元从要发送的数据中生成。静态编码器包括冗余码元发生器,所述发生器基于输入码元生成多个冗余码元。系统附加地包括被耦合以接收多个输入码元和多个冗余码元的动态编码器,动态编码器包括输出码元发生器,所述发生器从包括多个输入码元和多个冗余码元的码元组合集合中生成多个输出码元,其中可能输出码元数远远大于组合集合内的码元数,其中从多于组合集合的码元且小于组合集合的所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从输出码元的任何预定数中重新生成达到期望的准确度。
根据本发明的另一实施例,提供了在通信信道上对从源发送的数据进行接收的方法,该方法包括接收输出码元,其中每个输出码元从输入码元和冗余码元的组合集合内的至少一个码元生成,其中至少一个输出码元从多于组合集合内的一个码元且小于组合集合内所有码元中生成,其中可能的输出码元数远远大于组合集合内的码元数,其中输入码元来自输入码元的排序集合,其中冗余码元从输入码元中生成。该方法还包括在接收到任何预定数目N输出码元时,从N个输出码元重新生成组合集合内至少一个码元的子集,所述子集包括多个重新生成的输入码元以及多个重新生成的冗余码元。该方法进一步包括如果从N个输出码元重新生成码元的至少一个子集的步骤没有按照期望的准确度重新生成输入码元,则从多个重新生成的冗余码元和/或多个重新生成的输入码元的一些重新生成至少一些未经重新生成的输入码元。
根据本发明的另一实施例,提供一系统用于接收在通信信道上从源发送的数据。该系统包括一接收模块,所述模块耦合到通信信道用于接收在通信信道上发送的输出码元,其中每个输出码元从输入码元和冗余码元的组合集合内的至少一个码元生成,其中至少一个输出码元从组合集合内多于一个码元以及组合集合内少于所有码元中生成,其中可能的输出码元数远远大于组合集合内的码元数,其中输入码元来自输入码元的排序集合,其中冗余码元从输入码元生成。系统还附加地包括动态解码器,在接收到输出码元的预定数量N后,对来自N个输出码元的组合集合内的码元子集进行解码,所述组合集合内的码元子集包括多个解码后的输入码元和多个解码后的冗余码元。系统还包括静态解码器,从多个解码后的冗余码元对未经解码的输入码元(如果有的话)的至少一些进行解码。
根据本发明的另一实施例,提供体现在载波上的计算机数据信号。计算机数据信号包括多个输出码元,其中多个输出码元表示从包括输入码元和冗余码元的排序集合的码元组合集合生成的码元,其中冗余码元从输入码元中被生成,其中可能的输出码元数远远大于码元组合集合内的码元数,其中至少一个输出码元从码元的组合集合内多于一个码元以及码元组合集合内少于所有码元中生成,且使得数据信号接收机能从输出码元的任何预定数量按期望的准确度重新生成输入码元的排序集合。
本发明可以获得多种好处。例如,在特定实施例中,减少了在信道上传输的数据编码的计算化费。在另一特定实施例中,减少了对该种数据解码的计算代价。取决于实施例,可以获得一个或多个该种好处。这些和其它好处在本发明说明中更详细地描述,尤其在以下。
在此揭示的本发明的性质和优势的进一步理解可以通过参考规范和所附附图实现。
附图的简要描述
图1是根据本发明的一实施例的通信系统框图;
图2是根据本发明的一实施例的编码器框图;
图3是根据本发明的一实施例生成冗余码元方法的简化框图;
图4是根据本发明的一实施例的静态编码器基本操作的简化框图;
图5是根据本发明的一实施例的动态编码器的简化框图;
图6是根据本发明的一实施例的动态编码器基本操作的简化框图;
图7是根据本发明一实施例的静态编码器的简化框图;
图8是根据本发明一实施例的静态编码器的基本操作简化框图;
图9是根据静态编码器的特定实施例用于计算编码参数的方法简化图;
图10是根据本发明的另一实施例的静态编码器的简化流图;
图11是根据本发明的一实施例的解码器的简化框图;
图12是根据本发明的一实施例的解码器操作简化流图;
图13是根据本发明的另一实施例的解码器操作简化流图;
图14是根据本发明的另一实施例的解码器操作的简化流图;
图15是根据本发明的一实施例的动态解码器的简化框图;
图16是根据本发明的一实施例的静态解码器的简化框图;
图17是根据本发明的另一实施例的静态解码器的简化框图;
图18是根据本发明的实施例的解码器操作的简化流图;
图19是根据本发明的实施例的解码器另一操作的简化流图;
图20是根据本发明的一实施例的关联器的简化流图;
图21是根据本发明的一特定实施例的加权选择器的简化框图;
图22是根据本发明的实施例被加权选择器使用的过程简化流图。
特定实施例的详细说明
本揭示参考美国专利号6307487(Luby I)和美国专利号6320520,两个专利发布给Michael G.Luby,题为“Information Additive Group Code Generatorand Decoder for Communication Systems”(此后被称为“Luby iII”),整个揭示在此引入作为各种目的的参考。Luby I和II提供可以用于根据本发明的一些实施例中使用的系统的方法的原理。然而可以理解,本发明不需要这些系统和方法,还可以使用其它的变体、修改或其它。
在此描述的特定实施例中,描述了被称为“多级编码”的编码方案,先对在该描述中使用的各项的意义和范围作解释。
多级编码如在此描述的对数据在多级内进行编码。一般但不总是,第一级向数据加入预定量的冗余。第二级然后使用链式反应码或类似的,以从原始数据生成输出码元,以及由第一级编码计算的冗余码元。在本发明的一个特定实施例中,接收到的数据首先使用连锁解码过程进行解码。如果该过程不能成功地完整恢复原始数据,则应用第二解码步骤。
在此描述的一些实施例的好处在于与以下将描述的链式反应码相比,只需要较少的算术操作。一些包括第一级编码和第二级编码的特定实施例的其它优势在于编码的第一级和编码的第二级可以在分开的时间和/或分开的设备完成,因此划分了计算负载。例如如果希望在传输时并发地实现编码的一部分,这会是有利的。特别是,第一级编码可以在传输前实现,而第二级编码可以与传输并发地实现。然而可以理解,在一些实施例中,第一和第二级编码可以与/或一个设备大致与传输并发地进行。许多其它的变体、修改和变化对于领域内的技术人员在阅读本申请后会明显。
在多级编码的实施例中,冗余码元在第一级编码时从输入文件生成。在这些实施例中,在第二级编码中,输出码元从输入文件和冗余码元的组合中生成。在一些这些实施例中,输出码元可以如需要被生成。在第二级包括链式反应码的实施例中,每个输出码元可以不用管其它输出码元是如何生成的而经生成。一旦生成了,这些输出码元然后可以放入分组并发送到其目的地,每个分组包含一个或多个输出码元。还可以使用非分组化传输技术作为替代。
如在此使用的,“文件”一词指任何存储在一个或多个源处且作为一个单元发送到一个或多个目的地的数据。因此,来自文件服务器或计算机存储设备的文档、图像和文件是可以被发送的“文件”的示例。文件可以是已知的大小(诸如存储在硬盘上的一兆字节图像)或可以是未知的大小(诸如从流源输出获得的文件)。无论是哪种,文件是输入码元的序列,其中每个输入码元在文件内有一位置和值。
传输是通过信道从一个或多个发送者到一个或多个接收者的数据发送过程以传送一文件。发送者有时还被称为编码器。如果一个发送者通过完美信道连接到任何数量的接收者,如果所有的数据都被正确接收,则接收到的数据可以是输入文件的准确副本。在此,我们假设信道不是完美的,这一般是实际信道的情况。在许多信道不完美中,两种在此感兴趣的是数据擦除和数据不完整(这可以被视为数据擦除的特殊情况)。数据擦除发生在信道丢失或丢弃数据时。数据不完整发生在当接收者在一些数据已经经过而接收者还未开始接收数据、当接收者在传输结束前停止接收数据、当接收者只选择接收一部分发送的数据和/或当接收者间歇断地停止并再次开始接收数据。作为数据不完整的示例,移动卫星发送者可能发送表示输入文件的数据并在接收者在范围内前开始传输。一旦接收者在范围内,数据可以被接收直到卫星移出范围,在该点接收者可以重新调整其碟形卫星天线(在该时间内它不接收数据)以开始接收另一移入范围内的卫星发送的相同输入文件的数据。如从读该描述中清楚看出的,数据不完整性是数据擦除的特殊情况,因为接收者可以将数据不完整性(且接收者有相同的问题)视为如同接收者整段时间都在,但信道丢失了在接收者开始接收数据前的所有数据。而且,如在通信系统设计内已知的,可检测差错可以被认为等价于简单地丢弃所有有检测到差错的数据块或码元的擦除。
在一些通信系统中,接收者接收多个发送者生成的数据,或是使用多个连接的一个发送者的数据。例如为了加快下载,接收者可以同时连接到多于一个发送相同文件的发送者。作为另一示例,在多播传输中,多个多波数据流可以被发送以使的接收者能将一个或多个这些流连接以匹配与连接到发送者的信道带宽匹配的集体传输速率。在所有该种情况下,要保证所有发送的数据对于接收者是独立使用的,即多个源数据在流间不是冗余的,即使当传输速率对于不同流非常不同时或当有任意丢失模式时。
一般,通信信道是连接数据传输的发送者和接收者的信道。通信信道可以是实时信道,其中信道在信道获得数据时将数据从发送者移到接收者,或通信信道可能是存储信道,该信道在将数据从发送者转移到接收者过程中存储一些或所有的数据。后者的示例是盘存储或其它存储设备。在该示例中,生成数据的程序或设备可以被认为是发送者,将数据发送到存储设备。接收者是从存储设备读取数据的程序或设备。发送者使用的将数据送到存储设备的机制、存储设备本身以及接收者使用的从存储设备获得数据的机制共同形成了信道。如果这些机制或存储设备会丢失数据,则它可以被视为通信信道内的数据擦除。
当发送者和接收者为通信信道隔开,且该通信信道内码元被擦除,则最好不要发送输入文件的准确副本,而是发送从输入文件生成的数据,该数据能帮助恢复擦除。编码器是处理该任务的电路、设备模块或编码片段。一种观看编码器操作的方式是编码器从输入码元生成输出码元,其中输入码元值序列表示输入文件。每个输入码元因此在输入文件内有一位置和一值。解码器是电路、设备、模块或编码片段,它们从接收者接收到的输出码元重建输入码元。在多级编码中,编码器和解码器进一步被分成子模块,每个实现不同的任务。
在多级编码系统的实施例中,编码器和解码器可以被进一步分成子模块,每个实现不同的任务。例如,在一些实施例中,编码器包括在此被称为静态编码器和动态编码器。如在此使用的,“静态”编码器是从输入码元集合生成多个冗余码元的编码器,其中冗余码元数在编码前被确定。静态编码码示例包括Reed-Solomon编码、Tornado编码、汉明码、低密度一致校验(LDPC)编码等。“静态解码器”一词在此被称为解码器,该解码器可以对由静态编码器编码的数据解码。
如在此使用的,“动态编码器”是从输入码元集合生成输出码元的编码器,其中可能的输出码元的数量级大于输入码元数,且其中要生成的输出码元数不需要是固定的。动态编码器的一例是链式反应码器,诸如Luby I和Luby II内描述的编码器。“动态解码器”一词在此用于指可以对由动态编码器编码的数据解码的解码器。
多级编码的实施例不受到任何特定类型的输入码元的限制。一般,输入码元的值从对一些正整数M的2M个码元的字母表中被选择。在该情况下,输入码元可以用来自输入文件的M比特数据的序列表示。M的值一般基于例如使用的应用程序、通信信道和/或输出码元的大小而确定。另外,输出码元的大小还经常基于应用、信道和/或输入码元的大小而经确定。在一些情况下,如果输出码元值和输入码元值大小相同(即用相同数量的比特表示,或从相同的字母表选出),则编码过程可以被简化。如果是该情况,则输入码元值大小在输出码元值受限时受到限制。例如,可能期望将输出码元放入有限大小的分组内。如果与输出码元相关的密钥的一些数据为了在接收机处恢复密钥而被发送,则输出码元最好较小,以在一个分组内包括输出码元值和关于密钥的数据。
作为一例,如果输入文件是多兆字节的文件,则输入文件可能被分成几千、几万或几百万的输入码元,每个输入码元对几千、几百或几个字节编码。作为另一示例,对于基于分组的因特网信道,1024字节大小的有效负荷分组可能比较合适(一字节为8比特)。在该示例中,假设每个分组包含一个输出码元和8字节辅助信息,输出码元大小为8128比特((1024-8)*8)比较合适。因此,输入码元大小可以被选为M=(1024-8)*8,即8128比特。作为另一示例,一些卫星系统使用MPEG分组标准,其中每个分组的有效负荷包括188个字节。在该示例中,假设每个分组包含一个输出码元和4字节辅助信息,则输出码元大小为1472比特((188-4)*8)比较合适。因此,输入码元大小可以被选为M=(188-4)*8,即1472比特。在使用多级编码的通用通信系统内,诸如输入码元大小(即M为输入码元编码的比特数)的应用专用参数可以是应用设定的变量。
每个输出码元有一个值。在一个以下考虑的最优实施例中,每个输出码元还与一标识符相关,该标识符被称为“密钥”。最好,每个输出码元的密钥可以简单地由接受者确定以允许接收者能互相区别输出码元。最好,一输出码元的密钥不同于其他输出码元的密钥。在本领域内有许多各种形式的密钥。例如,Luby I描述了各种形式的可以在本发明的实施例中使用的密钥。
多级编码在期望有数据擦除或接收者不在传输正好开始和结束的时候开始时特别有用。后者的情况在此被称为“数据不完整性”。关于擦除事件,多级编码共享许多在Luby I内描述的链式反应码的好处。特别是,多级输出码元是信息可加的,所以任何合适数量的分组可以被用于以一定准确性恢复输入文件。这些条件不会负面影响使用多级编码的通信过程,因为用多级编码生成的输出码元是信息附加的。例如,如果因为引起数据擦除的噪声突发而丢失了一百个分组,则可以在突发后发送额外的一百个分组以替代擦除的分组的丢失。如果因为由于接收机没有调谐到发射机开始发送时的发射机而丢失了成千个分组,则接收机可以从任何其他传输时间段甚至从另一发射机开始重新接收这些成千个分组。使用多级编码,接收机不限于接收任何特定分组集合,所以它可以从一个发射机接收一些分组,切换到另一发射机,丢失一些分组,失去给定传输的开始或结束,且仍恢复输入文件。加入并离开传输而不需要接收机-发射机协调的能力可以帮助简化通信过程。
在一些实施例中,使用多级编码发送文件可以包括从输入文件生成、形成或抽取输入码元,计算冗余码元、将输入和冗余码元编码成为一个或多个输出码元,其中每个输出码元基于其独立于所有其他输出码元的密钥而经生成,并将输出码元在信道上发送到一个或多个接收者。另外,在一些实施例中,使用多级编码接收(重建)输入文件的副本可以包括从一个或多个数据流接收输出码元的一些集合或子集,并从值和接收到的输出码元的密钥对输入码元解码。
本发明的各方面现在将参考附图进行描述。
系统概述
图1是使用多级编码的通信系统100的框图。在通信系统100内,向输入码元发生器110提供输入文件101或输入流105。输入码元发生器110从输入文件或流生成一个或多个输入码元的序列(IS(0),IS(1),IS(2),...),每个输入码元有值和位置(在图1内用括号内的整数表示)。如上所述,对于输入码元的可能值,即其字母表一般是2M个码元,使得每个输入码元编码为输入文件的M个比特。值M一般通过使用通信系统100确定,但通用系统可以包括输入码元发生器110的码元大小输入,使得M可以随每次使用而改变。输入码元发生器110的输出可以被提供给编码器115。
静态编码器130生成静态密钥流S0,S1...。生成的静态密钥数一般是有限的,且取决于编码器115的特定实施例。静态密钥的生成在以下将接着更详细地描述。动态密钥发生器120为每个要由编码器115生成的输出码元生成一动态密钥。每个动态密钥被生成,使得同一输入文件的动态密钥的很大部分是唯一的。例如,Luby I描述可以使用的密钥发生器的实施例。动态密钥发生器120和静态密钥发生器130的输出被提供给编码器115。
从动态密钥发生器120提供的每个密钥I,编码器115从输入码元发生器提供的输入码元生成输出码元,其值为B(I)。编码器115的操作在以下将详述。每个输出码元的值基于其密钥、一个或多个输入码元的一些函数以及可能从输入码元经计算的一个或多个冗余码元被生成。引起特定输出码元的输入码元和冗余码元的集合在此被称为输出码元的“关联码元”或只是其“关联”。函数(“值函数”)的选择以及相关是根据以下更详细描述的过程完成的。一般,但不总是,M对于输入和输出码元是相同的,即它们都编码为相同数目的比特。
在一些实施例中,输入码元数K为编码器115用于选择关联。如果K事先未知,诸如输入是流文件,则K可以只是一个估计。值K还可以为编码器115用于为输入码元和任何由编码器115生成的中间码元分配存储。
编码器115提供输出码元给发射模块140。发射模块140还被提供了来自动态密钥发生器120的每个该种输出码元的密钥。发射模块140发送输出码元,且取决于使用的密钥方法,发送模块140可能在信道145上将一些关于发送的输出码元的密钥的一些数据发送到接收模块150。信道145被假设为擦除信道,但这不是通信系统100的合适操作的需要。模块140、145和150还可以是任何合适的硬件组件、软件组件、物理媒质或其任何组合,只要发射模块140用于将输出码元和任何关于密钥需要的数据发送到信道145,且接收模块150用于从信道145接收码元,以及潜在的一些关于其密钥的数据。K的值如果被用于确定关联,则可以在信道145上被发送,或可以事先按照编码器115和解码器155的同意而被设定。
如上解释的,信道145可以是实时信道,诸如通过因特网的路径或从电视发射机到电视接收机或从一点到另一点的电话连接的广播链路,或信道145可以是存储信道,诸如CD-ROM、盘驱动、万维网站等。信道145甚至可以是实时信道和存储信道的组合,诸如当个人将输入文件在电话线上从个人计算机发送到因特网服务提供商(ISP)时形成的信道,输入文件被存储在万维网服务器上,接着通过因特网被发送到接收者。
由于信道145被假设是擦除信道,通信系统100不假设从接收模块150出来的输出码元和进入发射模块140的输出码元间的一对一对应。实际上,当信道145包括分组网络时,通信系统100可能甚至不能假设在通过信道145时保留了任何两个或多个分组的相对顺序。因此,输出码元的密钥使用一个或多个上述的密钥方案被确定,且不一定按输出码元离开接收模块150的顺序确定。
接收模块150将输出码元提供给解码器155,且任何数据接收模块150接收这些输出码元的密钥,这些密钥被提供给动态密钥重新发生器160。动态密钥重新发生器160重新生成接收到的输出码元的动态密钥并将这些动态密钥提供给解码器155。静态密钥发生器163重新生成静态密钥S0,S1,...并将其提供给解码器155。静态密钥发生器访问在编码和解码过程中都使用的随机数发生器135。如果随机数在该种设备上生成,则这可以是以对相同物理设备的访问形式,或是对用于生成随机数的相同算法的访问形式以获得相同的行为。解码器155使用动态密钥发生器160和静态密钥发生器163提供的密钥连同对应的输出码元以恢复输入码元(同样IS(0),IS(1),IS(2),...)。解码器155将恢复的输入码元提供给输入文件组装器165,该组装器生成输入文件101的副本170或输入流105。
编码器
图2是图1内示出的编码器115的一个特定实施例框图。编码器115包括静态编码器210、动态编码器220以及冗余计算器230。静态编码器210接收以下输入:a)输入码元发生器110提供的原始输入码元(IS(0),IS(1),...,IS(K-1))并存储在输入码元缓冲器205内;b)原始输入码元数K;c)由静态密钥发生器130提供的静态密钥S0,S1,...;以及d)冗余码元数R。在接收到这输入后,静态编码器205计算R个冗余码元RE(0),RE(1),...,RE(R-1),如下描述。一般但不总是冗余码元与输入码元有相同大小。在一特定实施例中,静态编码器210生成的冗余码元被存储在输入码元缓冲器205内。输入码元缓冲器205可以只是逻辑的,即文件可以物理地被存储在一个地方,且码元缓冲器205内的输入码元的位置只能是原始文件内的这些码元位置的重命名。
动态编码器接收输入码元和冗余码元,且如以下详述地生成输出码元。在一实施例中,其中冗余码元被存储到输入码元缓冲器205内,动态编码器220从输入码元缓冲器205接收输入码元和冗余码元。
冗余计算器230从K个输入码元计算R个冗余码元。该计算在以下详述。
在生成输出码元的速度是关键因素的情况下,输入文件可以使用静态编码器205被编码并在输出码元传输开始前存储在中间设备上。该设备可以是例如附加的位于不同于与动态编码器220的物理位置的存储设备,它可以被包括在与动态编码器220等相同的物理设备内等。在使用动态编码器220编码前文件使用静态编码器205被编码的情况下,实现动态编码器220的计算设备不需要将资源用于静态编码。因此,它可以将资源更多地用于动态编码以例如增加输入文件的生成输出码元速度、生成其它文件的输出码元、实现其他任务等。静态编码是否能或应该在动态编码前实现取决于特定的实现。
静态编码器概览
静态编码器210的一般操作参考图3和4描述。图3是说明静态编码方法的一实施例的简化流程图。在步骤305,变量j跟踪已生成多少冗余码元,该值被设定为零。然后,在步骤310,第一冗余码元RE(0)作为输入码元IS(0),...,IS(K-1)的至少一些的F0的子数被计算。然后在步骤315,变量j递增。接着,在步骤320,测试是否所有的冗余码元均被生成了(即j是否大于R-1?)。如果是,则流程结束。否则,流程进行到步骤325。在步骤325,RE(j)作为输入码元IS(0),...,IS(K-1)和先前生成的冗余码元RE(0),...,RE(j-1)的函数Fj经计算,其中Fj不需要是取决于每个输入码元或每个冗余码元的函数。步骤315、320和325经重复直到已计算了R个冗余码元。
回到图1和2,在一些实施例中,静态编码器210从静态密钥发生器130接收一个或多个静态密钥S0,S1,...。在这些实施例中,静态编码器210使用静态密钥以确定一些或所有的函数F0,F1,...Fj-1。例如,静态S0可以用于确定函数F0,静态密钥S1可以被用于确定函数F1等。或一个或多个静态密钥S0,S1,...可以被用于确定函数F0,一个或多个静态密钥S0,S1,...可以用于确定函数F1等。在其他实施例中,不需要静态密钥,因此不需要静态密钥发生器130。
回到图2和3,在一些实施例中,静态编码器210生成的冗余码元可以被存储在输入码元缓冲器205。图4是静态编码器210的一实施例的操作的简化说明。尤其是,静态编码器210用从输入码元缓冲器205接收到的输入码元IS(0),...,IS(K-1),RE(0),...,RE(j-1)的函数Fj生成冗余码元RE(j),并将其存储回输入码元缓冲器205。函数F0,F1,..FR-1的准确形式取决于特定应用。一般但不总是,函数F0,F1,...FR-1包括一些或所有它们对应的参变量的异或。如上描述,这些函数可以或实际上可能不能使用图1的静态密钥发生器130生成静态密钥。例如,在以下描述的一个特定实施例,第一几个函数实现汉明码且不使用静态密钥S0,S1,...,其中剩余的函数实现低密度一致校验编码并显式使用静态密钥。
动态编码器概览
回到图2,动态编码器220接收输入码元IS(0),...,IS(K-1)以及冗余码元RE(0),...,RE(R-1)以及要生成的每个输出码元的密钥I。该集合包括原始输入码元及冗余码元,此后会被称为“动态输入码元”集合。图5是动态编码器的一实施例的简化框图。该编码器类似于Luby I内描述的一实施例。Luby I描述该种编码器的操作的进一步细节。
动态编码器500包括加权选择器510、关联器515、值函数选择器520和计算器525。如图5示出,K+R个动态输入码元被存储在动态码元缓冲器505内。在一实施例中,动态码元缓冲器505是图2的输入码元缓冲器205。在另一实施例中,动态码元缓冲器505与输入码元缓冲器205分开。动态密钥I(由图1示出的动态密钥发生器120提供)是加权选择器510、关联器515和值函数选择器520的输入。动态输入码元数K+R被提供给这些三个组件510、515和520。计算器525经耦合以接收来自加权选择器510、关联器515和值函数选择器520的输出并接收来自动态码元缓冲器505的码元。计算器525生成输出码元值。应理解可以使用图5内示出的元件的等价安排,且这里只是根据本发明的编码器的一个示例。例如,Luby I和Luby II描述其他可以用于根据本发明其他实施例的编码器。
在操作中,从输入码元缓冲器205接收K+R个动态输入码元,并存储在动态输入码元缓冲器505内。如上解释的,每个动态输入码元有一位置(例如,输入码元的位置可以是其在输入文件内的原始位置)和值。动态输入码元不需要按其相应的顺序存储在动态输入码元缓冲器505内,只要能确定存储的动态输入码元的位置。
使用密钥I和动态输入码元数目K+R,加权选择器510确定是要与带有密钥I的输出码元的“关联”的动态输入码元数目W(I)。使用密钥I、加权W(I)以及动态输入码元数K+R,关联器515确定与输出码元相关的动态输入码元位置列表AL(I)。应理解如果关联器515能事先在不知道W(I)情况下生成AL(I),则W(I)不需要分开或显式地计算。一旦生成了AL(I),则W(I)可以被简单地确定,因为它是AL(I)内的关联的数目。
并联器515是一映射,它接收输入密钥I、数N以及数t并生成0到N-1间的整数的列表X(0),...,X(t-1)。最好,这些整数不同且在其范围上均匀分布。例如,在图5的动态编码器500情况下,N等于K+R,t等于W(I),且AL(I)是列表X(0),...,X(t-1)。
关联器515给出的映射可以采用各种形式。它可以访问真随机或伪随机比特源以使其输出随机。然而,对于相同密钥I、相同N和相同t,它应被选择生成编码器和解码器相同的输出。为了满足该要求,可以使用以密钥I为种子的编码器和解码器生成伪随机序列。取代伪随机序列,可以使用真随机序列以计算输出,但为了使之有用,用于生成输出的随机序列需要被传递到解码器。
再回到图5,一旦已知I、W(I)和A(I),输出码元的值B(I)由计算器525基于值函数F(I)经计算。合适值函数的一特点是它允许由AL(I)指明的关联的值从输出码元值B(I)和由AL(I)指明的其他W(I)-1个关联的值而被确定。  在该步骤内使用的一个最优值函数是XOR值函数,因为它满足该特性,它容易计算并容易求反。然而,还可以使用其他合适的值函数。例如Luby II描述了其他可以使用的合适值函数。
如果被使用,值函数选择器520从密钥I和K+R确定值函数F(I)。在一变体中,值函数F(I)对于所有I是相同的值函数F。在该变体,值函数选择器器520不需要,且计算器525可以用值函数F经配置。例如,值函数可以对于所有I为XOR,即输出码元值是所有其关联的值的XOR(异OR)。
对于每个密钥I,加权选择器510从I和K+R确定加权W(I)。在一变体中,加权选择器510通过使用密钥选择W(I),以首先生成随机查找数,然后使用该数字在存储其中或由加权选择器510可访问的分布表格内查找W(I)的值。如何形成和访问该种分布表格在以下进行详细描述。一旦加权选择器510确定了W(I),该值被提供给关联器515和计算器525。
使用列表AL(I)、加权W(I)和值函数选择器520提供的值函数F(I)或预选的值函数F,计算器525访问动态输入码元缓冲器505内由AL(I)引用的W(I)个动态输入码元以为当前输出码元计算值B(I)。计算AL(I)的过程示例如下,但可以使用其他的合适过程。最好,过程给予每个输入码元大致相等的机会被选择为给定输出码元的关联,且选择方式使得如果解码器没有可用的AL(I),则解码器可以复制。
动态解码器500然后输出B(I)。实际上,动态解码器500实现图6内说明的行为,即生成输出码元值B(I)作为选择的输入码元的一些值函数。在示出的示例中,值函数为XOR,输出码元的加权W(I)为3,关联联的动态输入码元(关联)在位置0、2和K+R-2且有相应的值IS(0)、IS(2)以及RE(R-2)。因此对于I的值,输出码元被计算为:
B ( I ) = IS ( 0 ) ⊕ IS ( 2 ) ⊕ RE ( R - 2 )
在使用XOR值函数情况下,可以理解冗余码元有与原始码元IS(0),...,IS(K-1)相同的比特数,且这些依次也与输出码元有相同的比特数。
生成的输出码元然后被发送并如上述被接收。在此,假设可能丢失一些输出码元或可能排序出错,或它们可能由一个或多个编码器生成。然而假设被接收到的输出码元还接收到其密钥和其值B(I)准确度保证的指示。如图1示出,这些接收到的输出码元,连同从其动态密钥发生器160、值K+R以及静态密钥发生器163生成的静态密钥S0,S1,...的指示重建的对应密钥是解码器155的输入。
静态编码器
静态编码器的主要功能是向原始数据加入冗余信息,使得在有擦除情况下有可能恢复原始数据。该种冗余信息可以帮助解码器恢复动态解码器不能恢复的输入码元。在一般的应用中,静态编码器在有擦除情况下保证能恢复到期望准确度需要的冗余码元数目的意义上是有效的,以及/或在编码过程和/或解码过程的计算代价上是有效的。例如,对于给定目标擦除率p,该擦除率在应用中由动态解码器的性能决定,目标是使得冗余码元数R尽可能地小,而同时保证如果最多丢失数据的p部分时能快速恢复原始数据。满足该要求的一类码为LDPC码,这对于领域内的技术人员是已知的。虽然这些码可以在许多情况下恢复原始数据,但在不经常的情况下,这些码能恢复除了两三个原始输入码元外的所有码元。因此在一些实施例中,在LDPC编码前,输入数据首先使用在有两三个擦除情况下可以恢复原始数据的编码。第一编码生成第一组冗余码元。在第一编码后,多个原始码元和第一组冗余码元使用LDPC编码器经编码。扩展的汉明码对于本领域内的技术人员是众知的,且在以下简要描述,适合于第一层的编码的目的,因为它能在有两三个擦除的情况下恢复原始数据,且通过加入很小量的冗余码元而完成。可以理解还可以使用其他类型的编码。例如,在一些应用中,可以接受恢复了除两三个输入码元外的所有码元。因此,在该种应用中,LDPC码单独就足够了。另外,其他类型的编码对于特定应用可能也是合适的,诸如Reed-Solomon、Tornado等。因此,可以理解根据本发明的其他实施例可以单独使用许多类型的编码或组合地使用。
图7是根据本发明的静态编码器的一特定实施例简化框图。静态编码器600包括参数计算器605、汉明编码器610以及低密度一致校验(LDPC)编码器620。参数计算器605接收K个输入码元和要生成的R个冗余码元,并生成参数D和E。D指示由汉明编码器610生成的冗余码元数,E指示由LDPC编码器620生成的冗余码元数。参数D提供给汉明编码器610,参数E被提供给LDPC编码器620。
汉明编码器610经耦合以从输入码元缓冲器625接收输入码元IS(0),...,IS(K-1)、输入码元数K以及参数D。作为响应,汉明编码器610根据汉明码生成D+1个冗余码元HA(0),HA(q),...,HA(D)。在一实施例中,输入码元缓冲器625是图2的输入码元缓冲器205。汉明编码过程向原始K个输入码元加入D+1个冗余码元,其中D是使得2D-D-1≥K的最小数。如本领域内的技术人员众知的,冗余码元的选择是使得对于所有的输入码元的可能设置,使得它们不是全为零,至少在多个输入码元以及对应的冗余码元中的至少四个不为零。该特性保证了至少能纠正三个擦除。汉明编码器610可以以任何领域内的技术人员已知的差错纠正和擦除纠正编码的多种方式实现。
LDPC编码器620经耦合以接收输入码元IS(0),...,IS(K-1)、输入码元数K+D+1和经汉明编码的冗余码元、参数E以及静态密钥S0,S1,...。作为响应,LDPC编码器620根据LDPC编码生成E个冗余码元。LDPC编码器计算的冗余码元的数目E等于R-D-1,其中R是冗余码元数目。如本领域内的技术人员已知的,有多种使用LDPC码对信息编码的方式。LDPC编码用图形结构的方式描述,该图形结构包括消息节点集合、校验节点集合以及连接消息节点到校验节点的边。有效LDPC码字集合是使得对于每个校验节点,相邻消息节点的XOR为零的消息节点的这些设置的集合。在一些应用中,最好消息节点有相同的度,即连接到相同数目的校验节点,这样简化了编码器的实现,且使得解码器的差错概率计算变得更简单。在本发明的一特定实施例中,每个消息节点连接到的校验节点的数目为四。已经知道该数目提供在编码器的运行时间/计算负载以及解码器的失败概率间可接受的折衷。而且,已知较佳地是随机地在校验节点集合间随机选择与给定消息节点相邻的校验节点。LDPC编码器620可以以领域内技术人员已知的差错纠正和擦除纠正编码的任何一种方式实现。
图8说明使用图7示出的静态编码器的本发明一实施例操作。尤其是,汉明编码器610从输入码元缓冲器205(图2)接收输入码元,并生成D+1个经汉明编码的冗余码元,这些码元被存储在输入码元缓冲器205内。然后,LDPC编码器620从输入码元缓冲器205接受输入码元和D+1个经汉明编码的冗余码元,并生成E个LDPC经编码的冗余码元,这些码元被存储在输入码元缓冲器205内。
如上所述,在一些实施例中,LDPC编码器620接收图1的静态密钥发生器130生成的静态密钥S0,S1,...。在一实施例中,静态密钥发生器130是随机数发生器,它在接收到种子(seed)后生成随机查询数序列(静态密钥S0,S1,...)。种子可以取各形式。例如,可以是真随机数发生器的值。作为另一例,种子可以是从CPU时钟以确定方式获得的字符串。无论种子是什么,它应被传递到解码器,使得相同的静态密钥序列可以由解码器生成。在许多应用中,比较有利的是种子不太大。在许多应用中,种子是32比特整数,或64比特整数。
在图6内说明的静态编码器600的一特定实施例中,参数D作为使得2D-D-1大于或等于输入码元数K的最大整数而被计算。另外,参数E被计算为R-D-1。图9是说明参数计算器的一实施例的简化流程图,诸如图7的参数计算器605,该计算器如上所述计算参数D和E。首先,在步骤705,参数D被初始化为一。然后在步骤710,确定2D-D-1是否小于K。如果不是,则流程进行到步骤730。如果是,则流程进行到步骤720,其中递增参数D。然后,流回到步骤710。一旦D经确定,则在步骤730,参数E被计数为R-D-1。
再回到图1,在一些特定应用中,在信道145上要发送的文件或流相当小。例如,输入文件可以是较短的音频消息或包括几万字节的Web网页内容。则上述的静态编码器的特定实施例可能在该种情况下性能次于最优。例如,一些上述的实施例会导致存储器和处理器速度的低效使用,因此减缓了数据的重建。而且,上述的一些实施例可能需要更大的接收开销以在由系统的用户设定的可靠性参数内重建数据。另外,一些上述的实施例可能导致重建的数据的可靠性小于所期望的。
已知解码器的失败概率当输入码元数目减少时增加。而且还已知这很大程度上是因为如果原始内容相对较小,则编码过程没有建立关于原始内容的足够信息。因此,可以使用编码器的另一实施例,它生成可以传递更多关于原始码元的信息的冗余码元。图10是根据本发明的一实施例的该种编码器的简化流程,以下将描述。
首先在步骤805,变量i被初始化为零。变量i跟踪已经生成的冗余码元数。在步骤810,数字t作为大于或等于K/2的最小奇数而经计算。在步骤815,值P1,P2,..,Pt基于K、t和静态密钥St而经生成。值P1,P2,...,Pt指明用于生成冗余码元的输入码元位置。在一特定实施例中,,诸如图5的关联器515的关联器被用于生成P1,P2,...,Pt。特别是,值t可以作为W(I)输入被提供,值K可以作为K+R个输入被提供,且静态密钥Si可以作为密钥I输入被提供。值得注意的是许多不同的t的值会生成类似的编码效果,且因此特定的选择只是示例。
在步骤820,RE(i)的值被计算为值IS(P)1,IS(P2),...,IS(Pt)的XOR。在步骤825,变量i递增一以准备计算下一冗余码元,且在步骤830,确定是否计算了所有冗余码元。如果没有,流程返回步骤815。
解码器概述
图11是说明根据本发明的解码器的一实施例的简化框图。解码器900可以例如用于实现图1的解码器155。
解码器900包括动态解码器905和静态解码器910。动态解码器905从图1内的接收模块1 50接收输出码元B(Ia),B(Ib),...且从动态密钥重新发生器160接收动态密钥Ia,Ib,Ic,...。在接收到这些数据时,动态解码器905试图重建输入码元IS(0),...,IS(K-1)以及冗余码元RE(0),...,RE(R-1)。本发明的一些实施例的优势在于动态解码器905不需要完成所有输入码元的解码。而是静态解码器910可以用于对动态解码器905未恢复的输入码元进行解码。
动态解码器905恢复的输入码元和冗余码元被存储在重建缓冲器915内。在完成动态解码后,静态解码器910试图恢复任何动态解码器905未恢复的输入码元,如果有的话。尤其是,静态解码器910从重建缓冲器915接收输入码元和冗余码元。另外,静态解码器910从静态密钥发生器130(图1)(如果使用的话)接收静态密钥S0,S1,...。回到图1,在一特定实施例中,静态密钥可以通过将公共种子通过通信信道145传递到随机数发生器135而经重新生成,该发生器135驱动静态密钥发生器130。恢复的输入码元被提供给输入文件组装器165。
图12是根据本发明说明用于解码的方法的一实施例简化流图。在步骤1005,Q个输出码元由解码器接收。Q的值可以取决于输入码元数和使用的特定动态解码器。Q的值还可以取决于解码器能恢复输入码元的期望准确度。例如,如果期望解码器以高概率恢复所有的输入码元,则Q应被选为大于输入码元数。特别是在一些应用中,当输入码元数很大,Q可以比原始输入码元数大不到3%。在其他应用中,当输入码元数较小,则Q可以比输入码元数至少大10%。尤其是Q可以被选为输入码元的数K加上数A,其中A被选择保证解码器可以以较高的概率重新生成所有的输入码元。确定数字A在以下描述。如果对于解码器不能对所有的输入码元解码(要么有时要么一直)是可接受的,则Q可以小于K+A,等于K或甚至小于K。很清楚地是,整个编码系统的一个目的经常是尽可能地减少Q,而同时以期望的准确度维持较佳概率保证解码器过程的成功。
在步骤1010,动态解码器905从Q个接收到的输出码元重新生成输入码元和冗余码元。可以理解,步骤1005和1010可以大致并发地实现。例如,动态编码器905可以在解码器接收Q个输出码元前开始重新生成输入码元和冗余码元。
在动态解码器905处理了Q个输出码元后,可以确定输入码元是否被恢复到一定的准确度。期望的准确度可以是例如所有的输入码元或小于所有输入码元的一定数目、百分比等。如果是,则流程结束。如果不是,则流程进行到步骤1020。在步骤1020,静态解码器910试图恢复任何动态解码器905不能恢复的输入码元。在静态编码器910处理了动态编码器恢复的输入码元以及冗余码元后,流程结束。
图13是根据本发明用于解码的方法的另一实施例的简化流图。该实施例类似于关于图11的描述,且包括相同的步骤1005、1010、1015和1025。但是,在步骤1025后,流程进行到步骤1030,其中确定输入码元是否被恢复到期望的准确度。如果是,则流程结束。如果不是,则流程进行到步骤1035。在步骤1035,接收一个或多个附加输出码元。然后,流程回到步骤1010,使得动态解码器905和/或静态解码器910可以试图恢复剩余的未经恢复的输入码元。
图14是根据本发明用于解码方法的另一实施例的简化流图。在步骤1055,由解码器接收输出码元,且在步骤1060,动态解码器905从接收到的输出码元重新生成输入码元和冗余码元。然后在步骤1065,确定是否应中止动态解码。该确定是基于处理的输出码元数、恢复的输入码元数、附加输入码元正在被恢复的当前速率、处理输出码元花费的时间等中的一个或多个。
需要理解的是步骤1055、1060和1065可以大致并发地实现。例如,动态解码器905可以在解码器继续接收输出码元时开始重新生成输入码元和冗余码元。另外,评估是否停止动态解码过程可以在正在接收输出码元和/或输出码元正在被动态解码器905处理时周期性地实现。
在步骤1065,如果确定不停止动态解码,则流程回到步骤1055。但是,如果在步骤1065,确定结束动态解码,则流程进行到步骤1070。在步骤1070,确定输入码元是否被恢复到期望的准确度。如果是,则流程结束。如果不是,则流程继续进行到步骤1075。在步骤1075,静态解码器910试图恢复任何动态解码器905不能恢复的输入码元。在静态解码器910处理了由动态编码器905恢复的输入码元和冗余码元后,流程结束。
动态解码器
图15根据本发明示出动态解码器一实施例。动态解码器1100包括如图5内示出的动态解码器500类似的元件。解码器1100类似于Luby I和Luby II内描述的连锁解码器的实施例。动态解码器1100包括加权选择器510、关联器515,值函数选择器520、输出码元缓冲器1105、缩减器1115、重建器1120以及重建缓冲器1125。如同编码器,值函数选择器520以及在输出码元缓冲器1105内分配给存储值函数的描述的空间是可选的,且如果值函数对于所有的输出码元相同,则可以不使用。示出重建缓冲器1125的几项,一些输入码元经重建,其他仍未知,用问号表示。例如,在图15内,在位置0、2、5、6和K-1的输入码元以及在位置0和2的冗余码元已经被恢复了,且在位置1、3和4以及位置1处的冗余码元仍要被恢复。
在操作中,对于有密钥I和值B(I)的每个接收到的输出码元,解码器1100进行以下操作。密钥I被提供给值函数选择器520、加权选择器510和关联器515。使用K+R以及动态密钥I,加权选择器510确定加权W(I)。使用K+R、动态密钥I以及W(I),关联器515生成与输出码元相关联的输入和冗余码元的W(I)个位置的列表AL(I)。可选地,使用K+R和I,值函数选择器520选择值函数F(I)。然后I、B(I)、W(I)和AL(I)以及可选的F(I)被存储在输出码元缓冲器1105的行内。值函数选择器520、加权选择器510以及关联器515如同对动态编码器220(图2)的描述对解码器1105实现相同的操作。特别是,由图15内的值函数选择器520、加权选择器510和关联器515生成的值函数F(I)、加权W(I)和列表AL(I)对于相同的动态密钥I如同对于图5内示出的对应部分相同。如果K和R随不同的输入文件而不同,则它们可以以常规的方式从编码器传递到解码器,诸如将其包括在消息头部。
重建器1120扫描输出码元缓冲器1105以寻找存储在那里的带有加权一即W(I)=1以及AL(I)只列出一个关联的输出码元。这些码元在此被称为“可解码集合”的成员。对于带有上述特性的值函数,加权一的输出码元在可解码集合内,因为动态输入码元值可以从该输出码元被确定。当然,如果使用值函数,则会使得动态输入码元在除了带有加权一的条件下经解码,该条件会被用于确定是否输出码元在可解码集合内。为了清楚起见,在此描述的示例假设可解码集合是那些带有加权一的输出码元,且这些示例扩展到其他值函数可解码条件从该描述中应很清楚。
当重建器1120找到在可解码集合内的一个输出码元时,输出码元值B(I)以及可选的值函数F(I)用于重建在AL(I)内列出的动态输入码元,且重建后的动态输入码元放入重建缓冲器1125对该输入或冗余码元合适的位置。如果指示的输入或冗余码元已经被重建,则重建器1120可丢弃新重建的动态输入码元,覆盖现存的重建后输入或冗余码元,或者如果两者不同,比较两者并生成差错。在值函数是所有关联的XOR情况下,输入或冗余码元值简单地是输出码元值。重建器1120因此只从可解码集合内的输出码元重建输入和冗余码元。一旦来自可解码集合的输出码元被用于重建输入或冗余码元,则它可以被删除以节省在输出码元缓冲器1105内的空间。删除“使用过”的输出码元还保证了重建器1120不会连续地重新访问该输出码元。
开始时,重建器1120等待直到至少接收了一个输出码元,该输出码元是可解码集合的成员。一旦使用了这一个输出码元,可解码集合会再次变空,除了一些其他输出码元可能只是这一个重建后的输入或冗余码元和一个其他的输入或冗余码元的函数。因此,从可解码集合的成员重建一个输入或冗余码元会引起其他输出码元被加入可解码集合。输出码元减少以将其加入可解码集合的过程由缩减器1115实现。
缩减器1115扫描输出码元缓冲器1105和重建缓冲器1125以找到一些输出码元,这些码元的列表AL(I)列出已经被恢复的输入或冗余码元的位置。当缩减器1115找到该种带有密钥I的“可缩减”的输出码元,缩减器1115获得在位置h处的恢复后的动态输入码元的值IS(h)并修改B(I)、W(I)以及AL(I),如下:
B(I)被设定为 B ( I ) ⊕ IS ( h )
W(I)被设定为W(I)-1
AL(I)被设定为除了h以外的AL(I)
在上述等式中,假设值函数是所有关联的值的XOR。值得注意的是XOR是其本身的反-如果情况不是这样,且原来使用另一值函数以计算输出码元,则该值函数的反在此被缩减器1115使用。如应很明显的。如果已知多余一个关联的值,则以上等式的等价可以经计算以使得B(I)只取决于任何未知的关联值(并相应地调整W(I)和L(I))。
缩减器1115的行为减少了输出码元缓冲器1105内的输出码元的加权。当输出码元的加权被减少到一(或对其他值函数发生其他可解码条件),则该输出码元成为可解码集合的成员,可以由重建器1120对其进行操作。实际上,一旦接收到充分数量的输出码元,缩减器1115和重建器1120建立连锁解码,重建器1120对可解码集合解码以恢复更多的动态输入码元,缩减器1115使用这些刚恢复的输入或冗余码元以减少更多的输出码元,使得它们被加入可解码集合等,直到可解码集合为空。
图15内示出的解码器部分以直接方式部分地重建输入和冗余码元,而不考虑存储器存储、计算周期或传输时间。当解码器存储、解码时间或传输时间(这限制了接收到的输出码元数)受限时,解码器可以经优化以更好地使用这些受限的资源。该种优化的示例在例如Luby I和Luby II内经描述。这些优化可以被用于多级编码的动态解码。另外,可以理解可以使用其他的变体和等价的解码器。
静态解码器
图16是说明静态解码器的一实施例的简化框图。该实施例可以在数据用诸如图7内描述的静态编码器编码时被使用。静态解码器1200包括LDPC解码器1205以及汉明解码器1210。LDPC解码器1205从重建缓冲器1215接收输入码元以及冗余码元,并试图重建这些在动态解码器的解码步骤之后未经恢复的重建缓冲器1215的码元。在一些实施例中,重建缓冲器1215是重建缓冲器1125(图15)。LDPC解码器1205接收由静态密钥发生器130生成的静态密钥S0,S1,...。另外,LDPC解码器1205接收K个输入码元,D个冗余汉明码元以及E个冗余LDPC码元。LDPC解码器1205以本领域内技术人员已知的方式尽可能多地恢复输入和冗余码元,并将这些值写入重建缓冲器1215内对应的位置。
汉明解码器1210还经耦合以从重建缓冲器1215接收输入码元和冗余码元。另外,汉明解码器1210接收输入码元数K、数字D,其中D+1是冗余汉明码元数。汉明解码器1210试图恢复这些未被动态解码器和LDPC解码器2005恢复的输入码元。虽然LDPC解码器2005的目的是恢复尽可能多的输入和冗余码元,汉明解码器2010只试图恢复输入码元IS(0),IS(1),...,IS(K-1)。
LDPC解码器和汉明解码器的许多变体对于本领域内的技术人员是熟知的,且可以用于本发明的各个实施例中。在一特定实施例中,汉明解码器使用高斯消去(elimination)算法实现。高斯消去算法的许多变体在本领域内已知,且可以根据本发明用于各个实施例。
在一定应用中,更优地是使用图1内示出的不同于上述一个类型的解码器155。例如,如果输入码元数K不很大,例如小于1000,则输出码元的接收概率过程内涉及的方差可以强迫解码器155收集多个输出码元,这些输出码元远显著大于K为了能使动态和静态解码器纠正规定数目的擦除。在这些情况中,可以使用不同类型的解码器。该种使用高斯消去的解码器的实施例在以下参考图17、18和19进行描述。
首先,回到图1,解码器155从接收模块150接收输出码元B(Ia),B(Ib),...,从动态密钥重新发生器160接收密钥Ia,Ib,...,且从静态密钥发生器130接收密钥S0,S1,...。另外,它接收输入码元的值K以及冗余码元的值R。在接收到该输入后,它试图重建输入码元IS(0),...,IS(K-1),这些码元被传递到输入文件组装器165以作进一步处理。
现在参考图17,解码器1300包括动态矩阵发生器1305和静态矩阵发生器1310。动态矩阵发生器1305接收输出码元B(Ia),B(Ib),...、动态密钥Ia,Ib,...以及参数K和R。另外,动态矩阵发生器1305接收其他参数A,这些参数描述应收集多少输出码元(即收集的输出码元数为K+A)。参数A的确定一般取决于用于动态和静态编码的方法,且在以下会经详述。在以下的描述中,收集的K+A个输出码元被称为B(0),B(1),...,B(K+A-1)。在接收到这些参数后,具有形式为C*转置的线形方程组(IS(0),...,IS(K-1),RE(0),...,RE(R-1))=转置(B(0),...,B(K+A-1)),该系统由动态矩阵发生器1305设定,其中C是形式为(K+A)x(K+R)的矩阵。由动态矩阵发生器1305的生成矩阵C在以下将详述。
然后静态矩阵发生器1310从动态矩阵发生器1305接收矩阵C,并使用密钥S0,S1,...以向矩阵C加入R行以获得方程组:
M*转置(IS(0),...,IS(K-1),RE(0),...,RE(R-1))=
转置(B(0),...,B(K+A-1),0,...0)
其中右边向量的最后R项为零,且其中M为(K+A+R)x(K+R)格式。最终,使用线性方程组求解1315以求解该方程组M并获得输入码元IS(0),...,IS(K-1)的一些或所有。在一特定实施例中,线性方程组求解器1315使用高斯消去算法以求解线性方程组。
动态矩阵发生器1305和静态矩阵发生器1310现在参考图5的动态编码器500和图2内的静态编码器205进一步详细描述。图18是说明动态矩阵发生器1305使用的方法的实施例。在步骤1405,动态矩阵发生器1205初始化形式为(K+A)x(K+R)的矩阵C全为零。下一步,在步骤1410,密钥Ia,Ib,...连同加权选择器510和关联器515一起用于生成加权W(0),...,W(K+A-1)以及相应的列表AL(0),...,AL(K+A-1)。每个列表AL(k)包括在范围0,...,K+R-1内的W(k)个整数。在步骤1415内,这些整数用于用AL(k)=(a(0),...,a(W(k)-1)计算C(k,1),且项C(k,a(0)),...,C(k,a(W(k)-1))被设定为1。如上所述,矩阵C生成未知(IS(0),...,IS(K-1),RE(0),...,RE(R-1))关于(B(0),...,B(K+A-1))的方程组。原因如下:一旦动态编码器选择加权W(k)以及关联列表AL(k)=(a(0),...,a(W(k)-1),则对应的输出码元B(k)可以获得为:
B ( k ) = L ( a ( 0 ) ) ⊕ L ( a ( 1 ) ) ⊕ . . . ⊕ L ( a ( W ( k ) - 1 ) ) ,
其中L(j)表示在位置j处的重建缓冲器1925的未知值。这些方程为0到K+A-1间的所有k值累加,形成期望的方程组。
图19是说明静态矩阵发生器1310使用的方法的一实施例简化流图。该实施例参考图1 0说明。在图10的步骤820内,值得注意的是冗余码元RE(i)作为 RE ( i ) = IS ( P 1 ) ⊕ . . . ⊕ IS ( P t ) 经计算,且P1,P2,...,Pt如在步骤815内在接收到密钥Si后经计算。这意味着 IS ( P 1 ) ⊕ . . . ⊕ IS ( P t ) ⊕ RE ( i ) = 0 . 用重建缓冲器的位置说明,这意味着 L ( P 1 ) ⊕ . . . ⊕ L ( P t ) ⊕ L ( i + k ) = 0 . 将M的(i,P1),...,(i,Pt),(i,i-A)项设定为1,其中i从K+A到K+A+R-1,获得矩阵M,该矩阵描述未知的(IS(0),...,IS(K-1),RE(0),...,RE(R-1))关于(B(0),...,B(K+A-1))的线性方程组,如上所述。
在步骤1505,格式为(K+A+R)x(K+R)的矩阵M通过使得M的前K+A行等于动态矩阵发生器1305计算的矩阵C而经初始化。M的剩余行经初始化为零。下一步在步骤1510,变量i经初始化为K+A。该变量跟踪M的最后R行。在步骤1512,计算与冗余码元i-K-A的相关联的数t。该步骤类似于图8的步骤810。特别是如果在图8给出的静态编码过程中偏好另一t选择,则还可以为步骤1512内计算的变量t采取该选择。在步骤1515,关联器414从静态密钥Si、输入码元数K以及整数t计算在0到K-1之间的索引P1,P2,...,Pt。然而,矩阵M的对应位置在步骤1530内被设定为1。步骤1540内的递增和步骤1550内的测试保证了M的所有最后R行被访问且经计算。
在一些实施例中,图17、18和19内示出的实施例可以比在此描述的其他实施例更优,因为比起其他实施例,它允许相对收集更少的输出码元以进行正确解码。解码器的选择很大程度上取决于应用,且取决于例如收集的输出码元数是否是关键资源。
关联器实现
回到图5,关联器515的一实施例在Luby I内描述。数N应是质数。在操作中,当该实施例用于计算AL(I)时,输入大小K+R可以经调整使得它是质数。在本发明中,冗余码元数目被选得充分大使得K+R为质数。在一些应用中,输入N是质数的条件非常有限制性。
另一用于实现关联器520的方法的实施例在图20内示出,其中N不需要为质数。首先在步骤1805,变量k被初始化为零。然后,在步骤1810处,生成随机整数Y。在一特定实施例中,输出码元的密钥被用作随机数发生器的种子。然后,在步骤1815,对整数Y与进行模数N运算以生成0到N-1间的数。在步骤1820,候选数Y与其它先前生成的Y个(X(0),X(1),...)相比经测试。如果Y已经先前被生成,则流程回到步骤1810。否则,在步骤1825,它被包括在列表X(0),X(1),...内。则在步骤1830,确定是否生成了W(I)个数。如果没有,则流程回到步骤1810。图8内说明的流程结果是W(I)个数X(0),X(1),...,X(W(I)-1)的列表,其中列表内的每个数X是0到N-1间的唯一整数。然后,在步骤835内,列表AL(I)被设定为数X(0),X(1),...,X(W(I)-1)。
加权选择器实现
编码器/解码器的性能的效率取决于图2内示出的动态编码器220生成的输出码元的加权分布,且一些分布优于其他分布。尤其是参数A的选择主要受到加权分布选择的影响,该参数A描述与输入码元数K相比收集到数据码元数超出情况。加权选择的操作方面在以下描述,接着是一些重要的加权分布的描述。图21的框图和图22的流图用于说明这些概念。
图5内示出的加权选择器510的任务如下:在接收到密钥I和长度K+R后,加权选择器输出在范围0到K+R-1内的整数W(I),该整数被称为加权。不同于关联器515,加权选择器510的输出希望不是均匀,而是偏斜的,更集中于一些加权,而关联器则理想地用均匀随机分布均匀地生成整数。
如图21示出,加权选择器510包括两个处理过程WT_INIT 1905和WT_CALC1910,以及两个表格WT_RBITS 1915和WT_DISTRIB 1920。处理过程WT_INIT 1905只在当第一密钥被传递以初始化表格WT_DISTRIB 1920时被调用。WT_DISTRIB1920的设计是系统的重要方面,且之后将更详细描述。过程WT_CALC 1910在每次被调用时被启用以基于密钥I生成加权W(I)。如在图22的流程图内示出的,WT_CALC 1910使用存储在表格WT_RBITS 1915内的密钥和随机比特以生成随机数T(2005)。然后,T的值被用于在表格WT_DISTRIB 1920内选择行号N。
如图21示出,WT_RBITS 1920内的RANGE列内的项是递增的正整数序列,结束于值MAX_VAL,且WT列是递增的正整数序列,结束于值MAX_WT。T的可能值集合是在零到MAX_VAL-1间的整数。期望的特性是T等概率地可能是可能值范围内的任何值。N的值是通过搜索RANGE列直到找到一N而确定的,该N满足RANGE(N-1)≤T<RANGE(N)(2010)。一旦找到N,值W(I)被设定为WT(N)即表格WT_DISTRIB的WT列的第N项,且这是返回的加权(2015,2020)。在图21内,对于示出的示例表格,如果T等于38500,则N被确定为4,且因此W(I)被设定为WT(4)=8。在最优实施例中,WT_DIST 1920的行经组织使得RANGE(N)-RANGE(N-1)随N递增时值递减。这最小化了通过WT_DIST 1920的平均搜索时间,即当使用从第一行开始的顺序搜索时对应值T的加权的时间。在其他实施例中,其他行的组织方式可能是更优的,且可以使用其他的搜索方法,诸如二分搜索。
选择加权分布
应为给定的编码过程选择加权分布,使得输入文件可以完整地被重建,使用a)尽可能少的输出码元,b)尽可能少的操作,以及c)尽可能高的可靠性。一般,这些最优准则可以通过准确地为输出码元选择正确的加权分布(即在所有I上的W(I)的分布)以及在输出码元上的关联的分布(即在所有I上的AL(I)的成员)而达到。要强调的是虽然可以不管加权重分布和关联选择上的分布而应用解码过程,但最优实施例会使用为接近最佳性能而选择的加权分布和关联选择上的分布。实际上,许多分布性能很好,因为选择的分布内的较小变化只会导致性能内较小的变化。
现在描述一种用于在最优实施例中确定分布的方法。使用的实际加权分布取决于输入码元的数目K。分布给出如下,连同范围(Kmin,Kmax)、因子β以及相对开销α。这有以下意义:给定K,其中Kmin≤K≤Kmax,则冗余码元数目R是用大于或等于β*K的最小整数计算的,收集的输出码元数应至少为(1+α)*K,即上述的参数A是大于或等于α*K的最小整数。在使用第一个关联器520的版本情况下,R应附加地满足K+R是质数的条件,即R是大于等于β*K的最小质数。如果应用不需要K+R为质数,则R可以被选择为大于或等于β*K的最小整数。
分布本身以以下形式的表格给出
加权1  P1
加权2  P2
加权3  P3
 …
其中P1是加权1的对应概率, P2是加权2的对应概率等,且其中P1、P2,...的和为一。这意味着图21的表格WT_DISTRIB 1920有以下形式
加权1  MAX_VAL*P1
加权2  MAX_VAL*(P1+P2)
加权3  MAX_VAL*(P 1+P2+P3)
   …   …
将描述用于计算在此的表格的一般规则。设计的一个目标是使得目前的具有减少加权码元的一个非零数的输出码元尽可能地在进入动态解码过程。最好,该数目能在到动态解码结束前的整个过程中一直大于零。然而,数学分析示出这只在如果输出码元的平均加权至少与输入码元数K的对数成正比时才可能,且这是Luby I内描述的几种加权分布的设计。本发明的一些实施例将该平均加权大大减少到固定的独立于K的恒量。结果,减少加权码元的输出码元数不能期望在整个动态解码过程期间大于零。
设计加权分布的初始步骤是获得期望的动态输入码元的数目表达式,其值在动态输入码元的部分x尚未被恢复时,可以从在动态解码过程中当前可解码集合内的输出码元获得。该表达式是加权1,2,...,k的输出码元的部分P1,P2,..,Pk以及收集的输出码元数和输入和冗余码元数之比的函数。以下,该比用γ表示。可见γ=(1+α)/(1+β)。该量的数学分析示出该种动态输入码元的期望数目可以表示为
K*(1+β)*(x-e-(1+γ)*ω(1-x)),(1)
其中x表示在动态解码过程中尚未被恢复的动态输入码元部分,且
Figure G02828117920080305D000301
(x)为多项式:
P1+2*P2*x+3*P3*x2+...+k*Pk*xk-1.    (2)
由于该数目只是一个量的期望,这个量是统计性质的,所以会有变化。该变化的分析显示它与还未恢复的输入码元的期望数目即与x*K*(1+β)的方根成正比。为了合理地保证是与减少加权码元的输出码元的相邻的输入码元数总为正,则P1,...,Pk和γ的选择应使得:
K*(1+β)(x-e-(1+γ)*ω(1-x))>c*sqrt(x*K*(1+β)),(2)
其中该不等性对于在给定正实数ε和1间的所有x值均成立,且c是大于一的正实数。c越大,越能保证解码过程的成功。ε越小,则在动态解码过程最后会有更少的未经恢复输入码元。(1)越小,输出码元的平均加权越小。给定这些限制,可以为给定的ε和给定的c计算多项式
Figure G02828117920080305D000303
(x),其中所有的系数非负,这满足了ε和1之间的所有x值的上述不等性,且对此
Figure G02828117920080305D000304
(1)尽可能地小。该最优化可以由各种方法完成,例如在适当地操作上述不等性后使用单纯形算法。
现在实际表格根据以上描述被给出。以上描述内的恒量c的选择是为了保证总解码器擦除概率小于10-10。对于K>49251,差错概率小于10-12。这些表格仅作为可以被使用的加权分布示例而被提供。可以理解还可以使用其他加权分布。
表格1
K范围:9900-14800,β=0.0081,α=0.1187
  1   0.018235
  2   0.477562
  3   0.153565
  4   0.102006
  5   0.034651
  7   0.048352
  8   0.06084
  18   0.058325
  19   0.008401
  70   0.008451
  71   0.029613
表格2
K范围:14801-19680,β=0.00121,α=0.084
  1   0.019314
  2   0.483582
  3   0.160754
  4   0.081631
  5   0.067541
  8   0.094528
  18   0.041968
  19   0.019462
  66   0.007987
  67   0.023233
表格3
K范围:19681-29510,β=0.0151,α=0.0769
  1   0.013531
  2   0.488250
  3   0.164810
  4   0.070953
  5   0.084243
  8   0.050093
  9   0.042547
  19   0.055060
  62   0.00501988
  63   0.025491
表格4
K范围:29511-49250,β=0.0161,α=0.0674
  1   0.013876
  2   0.489087
  3   0.162276
  4   0.081638
  5   0.069880
  8   0.081339
  9   0.014424
  18   0.017712
  19   0.040774
  66   0.014680
  67   0.014314
表格5
K范围:49251-64780,β=0.015,α=0.0558
  1   0.009117
  2   0.492843
  3   0.165983
  4   0.072707
  5   0.082303
  8   0.056347
  9   0.036917
  19   0.055616
  65   0.022195
  66   0.005972
表格6
K范围:64781-79080,β=0.0114,α=0.05
  1   0.007969
  2   0.493570
  3   0.166220
  4   0.072646
  5   0.082558
  8   0.056058
  9   0.037229
  19   0.055590
  65   0.025023
  66   0.003135
表格7
K范围:79081-98623,β=0.01134,α=0.047
  1   0.007544
  2   0.49361
  3   0.166458
  4   0.071243
  5   0.084913
  8   0.049633
  9   0.043365
  19   0.045231
  20   0.010157
  66   0.010479
  67   0.017365
表格8
K范围:98624-118349,β=0.01377,α=0.0424
  1   0.006495
  2   0.495044
  3   0.168010
  4   0.067900
  5   0.089209
  8   0.041731
  9   0.050162
  19   0.038837
  20   0.015537
  66   0.016298
  67   0.010777
表格9
K范围:118350-∞,β=0.01579,α=0.0393
  1   0.004807
  2   0.496472
  3   0.166912
  4   0.073374
  5   0.082206
  8   0.057471
  9   0.035951
  18   0.001167
  19   0.054305
  65   0.018235
  66   0.009100
例如,如果K=33000,则冗余码元的数目可以是大于K*0.0161=531.3的最小整数R,使得K+R为质数。即R=533。收集的输出码元数应至少为(1+0.0674)*K即35225。
表格1的平均加权大致为6.75,且表格2到9的平均加权大致为6。这些平均加权与先前描述的Luby I的一实施例相比大大减少,先前的情况在K等于60000时平均加权为28.68。
较少输入码元的编码
对于任何大小的输入文件最好是相对较低的开销。如以上表格中可见,随着输入码元数K变得较小,相对开销α增加。例如,如果输入文件有10000字节,且K被选为10000使得每个码元包括一个字节,则开销大致为11%,这对于一些应用是不期望的。一种减少开销的方法是增加输入码元数K,其代价是减少输入码元大小。例如,在期望大致7%的开销时,K被选为40000。在该情况下,输入码元的大小会是2比特。然而使用非常小大小的输入码元实际上会导致计算不足。
该问题的解决方法是使用基于高斯消去法的解码器,诸如图17内描述的实施例。即使与其他实施例内描述的任何静态编码器组合的连锁解码器相比,该解码器计算效率没有那么有效,与解码器的非常小的失败概率和开销的组合使得该解决方法在一些应用内是期望的。
尤其是,当输入码元数K在800到9899之间时,以下的加权分布可以用于动态编码器220:
表格10
K范围:800-1600,β=0.08,α=0.05
  2   0.39
  3   0.095
  4   0.095
  5   0.095
  10   0.095
  19   0.095
  30   0.095
  130   0.04
根据诸如图10内描述的静态编码器的操作生成0.08*K冗余码元。解码使用诸如图17内描述的解码器完成。
作为一示例,假设输入文件大小为16000字节。输入码元的选择使得它们每个包括16个字节,使得输入码元的数目K为1000。图10内的静态编码器用于建立80个冗余码元。下一步,动态编码器220与上述的加权分布一起用于生成输出码元。接收机收集(1+α)*K=1050个输出码元并将其提供给图17的解码器。动态矩阵发生器1305建立格式为1050x1080的矩阵C。静态矩阵发生器1330建立格式1130x1080的矩阵M,并将其送到线性方程组求解器1340的系统,该系统试图对原始1000个输入码元(即输入文件)解码。
一些多级编码的一些特性
如上所述的大多数的示例,输入和输出码元对相同数量的比特进行编码,且每个输出码元被放入一个分组(分组是或者整个被接收到或者整个被丢失的传输单元)。在一些实施例中,通信系统经修改使得每个分组包含几个输出码元。输出码元值大小被设定到基于多个因子将文件初始分成输入码元时的输入码元值大小所确定的大小。解码过程保持基本不变,除了输出码元在接收到每个分组时成串到达。
输入码元和输出码元大小的设置一般由文件的大小和输出码元要在其上发送的通信系统决定。例如,如果通信系统将数据比特分组成所定义的大小的分组或以其他方式分组比特,则码元大小的设计开始于该分组进行分或组的大小。此后,设计者可以确定在一个分组或一组内可以携带多少输出码元,并确定输出码元大小。为了简洁,设计者可能会使得输入码元大小设置为等于输出码元大小,且如果输入数据使得不同的输入码元大小更方便,则也可以使用不同大小。
上述的编码过程基于原始文件生成包含输出码元的分组流。流内的每个输出码元独立于所有其他的输出码元经生成,且在可以建立的输出码元数上没有上下界。一密钥与每个输出码元关联。该密钥以及输入文件的一些内容确定输出码元值。接连生成的输出码元不需要连续的密钥,且在一些应用中,最好能随即生成密钥序列或伪随机地生成该序列。
多级解码的特性是如果原始文件可以被分成K个等大小的输入码元,且每个输出码元值长度与输入码元值的长度相同,则文件可以从平均K+A个输出码元中以很高的概率恢复,其中A与K相比较小。例如,对于上述的加权分布,如果K大于19681,则A值超过α*K的概率最多为10-12,对于K的任何值,最多为10-10。由于特定的输出码元以随机或伪随机顺序生成,且传输中的特定输出码元的丢失被假设为随机,则在恢复输入文件需要的输出码元的实际数量上存在某些小方差。在一些情况下,其中特定的K+A分组的集合不足以对整个输入文件解码,如果接收机可以从一个或多个输出分组源收集到更多的分组,则输入文件仍可以被恢复。
由于输出码元数只受到I的分辨率的限制,则可以生成大大多于K+A个输出码元。例如,如果I为32比特数,则可以生成四十亿不同的输出码元,然而文件仅可以包括K=50000个输入码元。在一些应用中,这些四十亿个输出码元只有一小部分被生成且被发送,且几乎肯定输入文件可以用很小部分的可能输出码元以及极佳的概率被恢复,输入文件可以用稍微多于K个输出码元被恢复(假设输入码元大小与输出码元大小相同)。
在一些应用中,可能可以接受不能对所有的输入码元解码,或以相对较低的概率对所有输入码元解码。在该种应用中,接收机可以在接收到K+A个输出码元后停止试图对所有的输入码元解码。或接收机可以在接收到少于K+A个输出码元后停止接收输出码元。在一些应用中,接收机可能只能接收到K个或更少的输出码元。因此,可以理解在本发明的一些实施例中,期望的准确度可能不是所有输入码元的完整恢复。
而且,在一些不完整恢复可接受的应用中,数据可以经编码使得所有的输入码元都不能被恢复,或使得完整的输入码元需要接收到比输入码元数更多的输出码元。该种编码一般要求的计算代价较少,且因此是减少编码计算代价的可接受方法。
可以理解的是,上述图内的各种功能框可以用硬件和/或软件的组合实现,且在特定实现中,可以组合一些框的一些或所有功能。类似地,可以理解,这是描述的各个方法可以用硬件和/或软件的组合而实现。
以上描述是说明性的,而不是限制型的。本发明的许多变体对于领域内的技术人员在阅读了本揭示后会变得明显。本发明的范围因此不是由描述确定,而是由以下所附的权利要求书以及其等价的完整范围确定。

Claims (52)

1.一种用于在通信信道上从源到目的地的数据传输的编码的方法,其特征在于包括:
安排要发送的数据到输入码元的排序集合内;
从所述输入码元生成多个冗余码元;以及
从包括输入码元和冗余码元的码元组合集合生成多个输出码元,其中对于一个给定输入码元集合,可能的输出码元数远远大于码元组合集合中的码元数,其中从码元的组合集合内多于一个码元且从码元的组合集合内少于所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从任何预定数目N的输出码元经重新生成达到期望的准确度。
2.如权利要求1所述的方法,其特征在于还包括在所述通信信道上发送多个输出码元。
3.如权利要求1所述的方法,其特征在于进一步包括在存储媒质上存储多个输出码元。
4.如权利要求1所述的方法,其特征在于N大于输入码元的排序集合内的输入码元数。
5.如权利要求1所述的方法,其特征在于N小于或等于输入码元的排序集合内的输入码元数。
6.如权利要求1所述的方法,其特征在于还包括基于输入码元的排序集合内的输入码元的数目K确定要生成的冗余码元的数目R。
7.如权利要求6所述的方法,其特征在于K是输入码元数的估计。
8.如权利要求1所述的方法,其特征在于多个冗余码元根据LDPC码生成。
9.如权利要求1所述的方法,其特征在于期望的准确度是输入码元的完整恢复。
10.如权利要求1所述的方法,其特征在于期望的准确度是输入码元以高概率的完整恢复。
11.如权利要求1所述的方法,其特征在于期望的准确度是G个输入码元的恢复,其中G小于输入码元的排序集合内的输入码元数。
12.如权利要求1所述的方法,其特征在于生成多个输出码元的步骤是使用第一设备实现的,且其中生成多个冗余码元的步骤是使用与第一设备分离的第二设备实现。
13.一种用于在通信信道上从源到目的地的数据传输的编码的方法,其特征在于包括:
安排要发送的数据到输入码元的排序集合内;
从所述输入码元生成多个冗余码元;以及
从包括输入码元和冗余码元的码元组合集合生成多个输出码元,其中对于一个给定输入码元集合,可能的输出码元数远远大于码元组合集合中的码元数,其中从码元的组合集合内多于一个码元且从码元的组合集合内少于所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从任何N个输出码元重新生成达到期望的准确度,
其中所述多个冗余码元包括多个第一冗余码元和多个第二冗余码元,生成所述多个冗余码元的步骤包括:
从所述输入码元生成所述多个第一冗余码元;以及
从所述第一冗余码元和所述输入码元生成所述多个第二冗余码元。
14.如权利要求13所述的方法,其特征在于多个第一冗余码元根据汉明码生成,且其中多个第二冗余码元根据LDPC码生成。
15.如权利要求14所述的方法,其特征在于还包括:
基于输入码元的排序集合内的输入码元数K确定第一冗余码元的数目D+1;以及
基于要生成的冗余码元的数目R和D+1确定第二冗余码元数E。
16.如权利要求15所述的方法,其特征在于还包括基于K确定R。
17.如权利要求15所述的方法,其特征在于K是输入码元数的估计。
18.如权利要求15所述的方法,其特征在于D是使得2D-D-1>=K的最小整数,其中E=R-D-1。
19.一种用于在通信信道上从源到目的地的数据传输的编码的方法,其特征在于包括:
安排要发送的数据到输入码元的排序集合内;
从所述输入码元生成多个冗余码元;以及
从包括输入码元和冗余码元的码元组合集合生成多个输出码元,其中对于一个给定输入码元集合,可能的输出码元数远远大于码元组合集合中的码元数,其中从码元的组合集合内多于一个码元且从码元的组合集合内少于所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从任何N个输出码元重新生成达到期望的准确度,
其中可以从任何数量的输出码元中重新生成最多G个输入码元,其中G小于输入码元的排序集合内的输入码元数。
20.一种用于在通信信道上从源到目的地的数据传输的编码的方法,其特征在于包括:
安排要发送的数据到输入码元的排序集合内;
从所述输入码元生成多个冗余码元对于每个冗余码元包括:
a)根据一分布确定t个不同的输入码元;以及
b)按照t个不同输入码元的XOR计算每个冗余码元;以及
从包括输入码元和冗余码元的码元组合集合生成多个输出码元,其中对于一个给定输入码元集合,可能的输出码元数远远大于码元组合集合中的码元数,其中从码元的组合集合内多于一个码元且从码元的组合集合内少于所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从任何N个输出码元重新生成达到期望的准确度。
21.如权利要求20所述的方法,其特征在于t对于所有冗余码元相同。
22.如权利要求21所述的方法,其特征在于t是大于K/2的最小奇整数,其中K是输入码元的排序集合内的输入码元数。
23.如权利要求20所述的方法,其特征在于所述分布是均匀分布。
24.一种用于在通信信道上从源到目的地的数据传输的编码的方法,其特征在于包括:
安排要发送的数据到输入码元的排序集合内;
从所述输入码元生成多个冗余码元对于每个冗余码元包括:
从包括输入码元和冗余码元的码元组合集合生成多个输出码元,其中,对于一个给定输入码元集合,可能的输出码元数远远大于码元组合集合中的码元数,其中从码元的组合集合内多于一个码元且从码元的组合集合内少于所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从任何N个输出码元重新生成达到期望的准确度;以及
在所述通信信道上发送多个输出码元,其中生成多个输出码元的步骤是与发送多个输出码元的步骤大致上并发进行的。
25.如权利要求24所述的方法,其特征在于生成多个冗余码元的步骤是与发送多个输出码元步骤大致并发进行的。
26.如权利要求24所述的方法,其特征在于生成多个冗余码元的步骤是在发送多个输出码元步骤之前进行的。
27.一种用于在通信信道上对从源到目的地传输的数据编码的系统,其特征在于包括:
被耦合以接收多个输入码元的静态编码器,多个输入码元从要发送的数据中生成,静态编码器包括冗余码元发生器,所述发生器基于输入码元生成多个冗余码元;以及
被耦合以接收多个输入码元和多个冗余码元的动态编码器,动态编码器包括输出码元发生器,所述输出码元发生器从包括多个输入码元和多个冗余码元的码元组合集合中生成多个输出码元,其中可能的输出码元数远远大于码元组合集合中的码元数,其中从组合集合中多于一个码元且小于组合集合中所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从输出码元的任何预定数N中重新生成达到期望的准确度。
28.如权利要求27所述的系统,其特征在于N大于输入码元排序集合内的输入码元数。
29.如权利要求27所述的系统,其特征在于N小于或等于输入码元的排序集合内的输入码元数。
30.如权利要求27所述的系统,其特征在于还包括发射模块,所述发射模块耦合到动态编码器和通信信道,并在通信信道上接收输出码元并发送输出码元。
31.如权利要求27所述的系统,其特征在于还包括密钥发生器,所述密钥发生器耦合到静态编码器,所述静态编码器为至少一些要生成的冗余码元的每个生成密钥,其中静态编码器经耦合以接收每个密钥,且其中静态编码器基于对应的密钥生成至少一些冗余码元的每个。
32.如权利要求27所述的系统,其特征在于静态编码器包括LDPC编码器。
33.一种用于在通信信道上对从源到目的地传输的数据编码的系统,其特征在于包括:
被耦合以接收多个输入码元的静态编码器,多个输入码元从要发送的数据中生成,静态编码器包括冗余码元发生器,所述冗余码元发生器基于输入码元生成多个冗余码元;
被耦合以接收多个输入码元和多个冗余码元的动态编码器,动态编码器包括输出码元发生器,所述输出码元发生器从包括多个输入码元和多个冗余码元的码元组合集合中生成多个输出码元,其中可能的输出码元数远远大于码元组合集合中的码元数,其中从组合集合中多于一个码元且小于组合集合中所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从任何N个输出码元中重新生成达到期望的准确度;以及
密钥发生器,所述密钥发生器耦合到动态编码器,所述密钥发生器为每个要生成的输出码元生成一密钥,其中动态编码器经耦合以接收每个密钥,且其中动态编码器基于对应的密钥生成每个输出码元。
34.一种用于在通信信道上对从源到目的地传输的数据编码的系统,其特征在于包括:
被耦合以接收多个输入码元的静态编码器,多个输入码元从要发送的数据中生成,静态编码器包括冗余码元发生器,所述冗余码元发生器基于输入码元生成多个冗余码元;
被耦合以接收多个输入码元和多个冗余码元的动态编码器,动态编码器包括输出码元发生器,所述输出码元发生器从包括多个输入码元和多个冗余码元的码元组合集合中生成多个输出码元,其中可能的输出码元数远远大于码元组合集合中的码元数,其中从组合集合中多于一个码元且小于组合集合中所有码元中生成至少一个输出码元,使得输入码元的排序集合可以从任何N个输出码元中重新生成达到期望的准确度;以及
所述静态编码器还包括带有第一冗余码元发生器的第一静态编码器,以及带有第二冗余码元发生器的第二静态编码器;
所述多个冗余码元包括第一组冗余码元以及第二组冗余码元;
所述第一冗余码元发生器基于输入码元生成第一组冗余码元;以及
所述第二冗余码元发生器基于输入码元和第一组冗余码元生成第二组冗余码元。
35.如权利要求34所述的系统,其特征在于第一静态编码器包括汉明编码器,其中第二静态编码器包括LDPC编码器。
36.一种在通信信道上从源接收发送的数据的方法,其特征在于该方法包括:
接收输出码元,其中每个输出码元从输入码元和冗余码元的组合集合内的至少一个码元生成,其中至少一个输出码元从多于组合集合内的一个码元且少于组合集合内所有码元中生成,其中可能的输出码元数远远大于码元组合集合内的码元数,其中输入码元来自输入码元的排序集合,其中冗余码元从输入码元生成;
在接收到至少输出码元的一个子集后,从N个输出码元重新生成组合集合内的至少一个码元的子集,所述子集包括多个重新生成的输入码元以及多个重新生成的冗余码元;
如果从N个输出码元重新生成码元的至少一个子集的步骤没有按照期望的准确度重新生成输入码元,则从多个重新生成的冗余码元和多个重新生成的输入码元重新生成至少一些未经重新生成的输入码元。
37.如权利要求36所述的方法,其特征在于冗余码元包括第一组冗余码元和第二组冗余码元,其中至少重新生成一些未经重新生成的输入码元的步骤包括:
从第一组冗余码元的重新生成的冗余码元以及多个经重新生成的输入码元,重新生成未经重新生成的输入码元的至少一个以及第二组冗余码元的未经重新生成冗余码元;以及
如果从第一组冗余码元的重新生成冗余码元和多个重新生成输入码元的重新生成步骤没有按期望的准确度重新生成输入码元,则从第二组冗余码元的冗余码元和多个解码后输入码元重新生成至少一个未经重新生成的输入码元。
38.如权利要求37所述的方法,其特征在于一些未经重新生成的输入码元和第二组冗余码元的未经重新生成的冗余码元使用LDPC解码器重新生成,以及
其中一些输入码元使用汉明解码器从第二组冗余码元的冗余码元重新生成。
39.如权利要求36所述的方法,其特征在于重新生成至少一些未经重新生成的输入码元的步骤包括重新生成所有未经重新生成的输入码元。
40.如权利要求36所述的方法,其特征在于重新生成组合集合内的码元子集合的步骤以及重新生成至少一些未经重新生成的输入码元的步骤包括:
形成第一矩阵,所述第一矩阵为每个接收到的输出码元指示与输出码元相关联的组合集合内的码元;
使用信息增广所述第一矩阵,所述信息为每个冗余码元指示与冗余码元相关的输入码元;以及
重新生成至少一些输入码元,作为由增广的第一矩阵指明的方程组的解。
41.如权利要求36所述的方法,其特征在于N大于或等于输入码元数。
42.如权利要求36所述的方法,其特征在于N小于输入码元数。
43.如权利要求36所述的方法,其特征在于重新生成至少一些未经重新生成的输入码元包括重新生成所有的输入码元。
44.如权利要求36所述的方法,其特征在于重新生成至少一些未经重新生成的输入码元包括重新生成少于所有的输入码元。
45.如权利要求36所述的方法,其特征在于重新生成码元的至少一子集的步骤在接收到预定数量N的任何输出码元后执行。
46.如权利要求36所述的方法,其特征在于重新生成码元的至少一子集的步骤是在接收到数量N的任何输出码元后执行,其中的N使得输入码元可以被重新生成达到所希望的准确度。
47.如权利要求36所述的方法,其特征在于重新生成码元的至少一子集的步骤是与接收到输出码元大致并发地执行的。
48.一种用于接收在通信信道上从源发送的数据的系统,其特征在于包括:
接收模块,所述接收模块耦合到通信信道用于接收在通信信道上发送的输出码元,其中每个输出码元从输入码元和冗余码元的组合集合内的至少一个码元生成,其中至少一个输出码元从组合集合内多于一个码元以及组合集合内少于所有码元中生成,其中可能的输出码元数远远大于码元组合集合内的码元数,其中输入码元来自输入码元的排序集合,其中冗余码元从输入码元生成;
动态解码器,在接收到输出码元的至少一个子集后,对来自N个输出码元的组合集合内的码元子集进行解码,所述子集包括多个解码后的输入码元和多个解码后的冗余码元;以及
静态解码器,如果存在未经解码的输入码元,则从多个解码后的冗余码元对未经解码的输入码元的至少一些进行解码。
49.如权利要求48所述的系统,其特征在于所述静态解码器包括LDPC解码器。
50.如权利要求48所述的系统,其特征在于冗余码元包括第一组冗余码元和第二组冗余码元,其中静态编码器包括:
第一静态解码器,用于从第一组冗余码元的解码后冗余码元和多个解码后输入码元,对未经解码的输入码元和第二组冗余码元的未经解码的冗余码元的至少一个进行解码;
第二静态解码器,用于从第二组冗余码元的冗余码元和多个解码后的输入码元对至少一个未经解码的输入码元解码。
51.如权利要求50所述的系统,其特征在于第一静态编码器包括LDPC解码器,且其中第二静态解码器包括汉明解码器。
52.如权利要求48所述的系统,其特征在于动态解码器包括一处理器,用于执行以下步骤:
形成第一矩阵,所述第一矩阵为每个接收到的输出码元指示与输出码元相关联的组合集合内的码元;
使用信息增广所述第一矩阵,所述信息为每个冗余码元指示与冗余码元相关联的输入码元;以及
重新生成至少一些输入码元,作为由增广的第一矩阵指明的方程组的解。
CN02828117.9A 2001-12-21 2002-12-23 用于通信系统的多级码发生器和解码器 Expired - Lifetime CN1620760B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/032,156 US7068729B2 (en) 2001-12-21 2001-12-21 Multi-stage code generator and decoder for communication systems
US10/032,156 2001-12-21
PCT/US2002/041615 WO2003056703A1 (en) 2001-12-21 2002-12-23 Multi-stage code generator and decoder for communication systems

Publications (2)

Publication Number Publication Date
CN1620760A CN1620760A (zh) 2005-05-25
CN1620760B true CN1620760B (zh) 2014-02-26

Family

ID=21863404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN02828117.9A Expired - Lifetime CN1620760B (zh) 2001-12-21 2002-12-23 用于通信系统的多级码发生器和解码器

Country Status (8)

Country Link
US (4) US7068729B2 (zh)
EP (5) EP2315357A3 (zh)
JP (1) JP4157041B2 (zh)
KR (1) KR100924295B1 (zh)
CN (1) CN1620760B (zh)
AU (1) AU2002359873A1 (zh)
TW (1) TWI280748B (zh)
WO (1) WO2003056703A1 (zh)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA923086B (en) * 1991-04-29 1993-10-28 South African Medical Research A delivery system for biologicaly active growth or morphogenetic factors and a method for preparing such delivery system
US7243285B2 (en) * 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US20020129159A1 (en) * 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
WO2003105350A1 (en) * 2002-06-11 2003-12-18 Digital Fountain, Inc. Decoding of chain reaction codes through inactivation of recovered symbols
US9240810B2 (en) * 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
WO2004006443A1 (en) * 2002-07-03 2004-01-15 Hughes Electronics Corporation Bit-interleaved coded modulation using low density parity check (ldpc) codes
US6829308B2 (en) * 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
US7577207B2 (en) 2002-07-03 2009-08-18 Dtvg Licensing, Inc. Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes
US7020829B2 (en) 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
US7864869B2 (en) * 2002-07-26 2011-01-04 Dtvg Licensing, Inc. Satellite communication system utilizing low density parity check codes
US20040019845A1 (en) * 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
EP2357732B1 (en) * 2002-10-05 2022-04-06 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
US7814392B2 (en) * 2003-06-20 2010-10-12 Intel Corporation System, apparatus and methods of dynamically determined error correction codes in communication systems
EP1665539B1 (en) * 2003-10-06 2013-04-10 Digital Fountain, Inc. Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
US7447235B2 (en) 2003-10-08 2008-11-04 Digital Fountain, Inc. FEC-based reliability control protocols
JP4787167B2 (ja) * 2003-12-01 2011-10-05 デジタル ファウンテン, インコーポレイテッド サブシンボル・ベース符号を使用する消去からのデータの保護
CN103124182B (zh) * 2004-05-07 2017-05-10 数字方敦股份有限公司 文件下载和流系统
US7203871B2 (en) * 2004-06-03 2007-04-10 Cisco Technology, Inc. Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes
WO2006020826A2 (en) * 2004-08-11 2006-02-23 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
EP1800407A1 (en) * 2004-09-08 2007-06-27 Nokia Corporation System and method for adaptive low-density parity-check (ldpc) coding
WO2006038054A1 (en) * 2004-10-06 2006-04-13 Nokia Corporation Packet transmission using error correction of data packets
US8270901B2 (en) * 2004-12-17 2012-09-18 Martin E. Hellman Dropout-resistant media broadcasting system
US7865917B2 (en) * 2004-12-17 2011-01-04 Martin E Hellman Security enhanced tiered subscription broadcast system
US8627354B2 (en) 2004-12-17 2014-01-07 Martin E. Hellman Tiered subscription broadcast system
KR101066320B1 (ko) * 2005-06-07 2011-09-20 삼성전자주식회사 이동통신 시스템에서 심볼 송수신 장치 및 방법
US7676735B2 (en) * 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
US7840178B2 (en) * 2005-07-12 2010-11-23 Martin E. Hellman FM broadcast system competitive with satellite radio
US8867336B2 (en) * 2005-09-28 2014-10-21 Qualcomm Incorporated System for early detection of decoding errors
EP1788708A1 (en) * 2005-11-16 2007-05-23 BenQ Corporation Method and device for decoding encoded symbols
US7596673B2 (en) * 2005-12-08 2009-09-29 Sony Corporation Failure tolerant data storage
EP1811674A1 (en) * 2006-01-23 2007-07-25 Motorola, Inc. Apparatus and methods for jointly decoding messages based on apriori knowledge of modified codeword transmission
US7480848B2 (en) * 2006-02-10 2009-01-20 The Directv Group, Inc. Methods and apparatus to select tornado error correction parameters
WO2007095550A2 (en) * 2006-02-13 2007-08-23 Digital Fountain, Inc. Streaming and buffering using variable fec overhead and protection periods
EP1980074A4 (en) * 2006-02-13 2012-12-19 Digital Fountain Inc CONTINUOUS CONTINUOUS CONTINUOUS TRANSMISSION WITH CONCURRENT FLUX AGGREGATION FOR CONTINUOUS CONTROL CALCULATION
US9270414B2 (en) * 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
JP4808054B2 (ja) * 2006-03-17 2011-11-02 富士通株式会社 データ転送方法及び,これを適用する通信システム及びプログラム
US7971129B2 (en) * 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9419749B2 (en) * 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
WO2008003094A2 (en) 2006-06-29 2008-01-03 Digital Fountain, Inc. Efficient representation of symbol-based transformations with application to encoding and decoding of forward error correction codes
US7760699B1 (en) 2006-08-05 2010-07-20 Sandeep Malik System and method for efficient transmission of electronic information
WO2008082572A1 (en) * 2006-12-29 2008-07-10 Interdigital Technology Corporation Method and apparatus for transmitting and receiving multimedia broadcast multicast services via a dedicated downlink carrier
MY147663A (en) * 2007-01-08 2012-12-31 Interdigital Tech Corp Method and apparatus for multicasting with feedback information
EP2126865B1 (en) * 2007-01-09 2015-07-08 Mojix, Inc. Systems and methods for secure supply chain management and inventory control
US20080317243A1 (en) * 2007-03-30 2008-12-25 Ramprashad Sean A Low complexity encryption method for content that is coded by a rateless code
US8189581B2 (en) * 2007-06-20 2012-05-29 Motorola Mobility, Inc. Method, signal and apparatus for managing the transmission and receipt of broadcast channel information
WO2009036378A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US7899051B2 (en) * 2007-12-31 2011-03-01 Motorola Mobility, Inc. Broadcast channel signal, apparatus and method for transmitting and decoding broadcast channel information
FR2926941B1 (fr) * 2008-01-30 2010-04-02 St Microelectronics Sa Procede de transfert de donnees et dispositif correspondant
EP2288991B8 (en) * 2008-05-05 2018-02-28 Amplidata NV Method of storing a data set in a distributed storage system, distributed storage system and computer program product for use with said method
US20100138717A1 (en) * 2008-12-02 2010-06-03 Microsoft Corporation Fork codes for erasure coding of data blocks
US20100174968A1 (en) * 2009-01-02 2010-07-08 Microsoft Corporation Heirarchical erasure coding
US8413029B2 (en) * 2009-01-16 2013-04-02 Lsi Corporation Error correction capability adjustment of LDPC codes for storage device testing
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9015564B2 (en) 2009-08-19 2015-04-21 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among HTTP servers
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20110182514A1 (en) * 2010-01-27 2011-07-28 Silverbrook Research Pty Ltd Method of decoding coding pattern having self-encoded format
US9136981B2 (en) 2010-03-03 2015-09-15 Qualcomm Incorporated Block aggregation of objects in a communication system
KR101651683B1 (ko) * 2010-05-07 2016-08-29 삼성전자주식회사 통신 시스템에서의 채널 부호화 장치 및 방법
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8732543B1 (en) * 2010-08-05 2014-05-20 Marvell International Ltd. Tensor product codes for flash
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US20120047201A1 (en) 2010-08-20 2012-02-23 Nikhil Jain Apparatus and method of acquiring or distributing content
US8473821B2 (en) 2010-11-09 2013-06-25 Qualcomm, Incorporated Packet-level erasure protection coding in aggregated packet transmissions
US8693501B2 (en) 2010-11-23 2014-04-08 The Chinese University Of Hong Kong Subset coding for communication systems
US9088888B2 (en) * 2010-12-10 2015-07-21 Mitsubishi Electric Research Laboratories, Inc. Secure wireless communication using rate-adaptive codes
TWI445323B (zh) 2010-12-21 2014-07-11 Ind Tech Res Inst 資料傳送的混合式編解碼裝置與方法
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US20170201271A9 (en) * 2011-06-21 2017-07-13 Centre National D'etudes Spatiales Method for encoding data in bursts
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
JP5795446B2 (ja) 2011-11-01 2015-10-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated Httpサーバの間でのソースデータおよび修復データの割り当てを伴うコンテンツ配送システム
WO2013089437A1 (ko) * 2011-12-12 2013-06-20 엘지전자 주식회사 미디어 컨텐트를 수신하는 장치 및 방법
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
TWI485992B (zh) 2012-08-31 2015-05-21 Ind Tech Res Inst 猛禽碼之編碼加速裝置與方法
US9413494B2 (en) 2013-01-17 2016-08-09 Qualcomm Incorporated FEC-based reliable transport control protocols for multipath streaming
EP3035540B1 (en) 2013-08-16 2019-10-09 Nippon Telegraph and Telephone Corporation Maximum likelihood erasure decoding of sparse graph codes
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9578074B2 (en) 2013-11-11 2017-02-21 Amazon Technologies, Inc. Adaptive content transmission
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9413830B2 (en) 2013-11-11 2016-08-09 Amazon Technologies, Inc. Application streaming service
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
TWI519143B (zh) 2013-12-30 2016-01-21 財團法人工業技術研究院 通訊系統、其方法與其接收端
US9311639B2 (en) 2014-02-11 2016-04-12 Digimarc Corporation Methods, apparatus and arrangements for device to device communication
US10412151B2 (en) 2015-01-26 2019-09-10 Huawei Technologies Co., Ltd. Method and system for on-demand file repair
US10903858B2 (en) 2015-05-27 2021-01-26 Quantum Corporation Dynamically variable error correcting code (ECC) system with hybrid rateless reed-solomon ECCs
RU2656838C2 (ru) * 2015-12-01 2018-06-06 Франгиз Гильфанетдинович Хисамов Устройство синхронизации псевдослучайной последовательности на основе мажоритарного декодирования для широкополосных систем связи
CN105897277B (zh) * 2016-03-28 2019-06-14 北京交大思诺科技股份有限公司 解码器解码性能分析方法及装置
WO2019008748A1 (ja) * 2017-07-07 2019-01-10 株式会社Asj データ処理システムおよびこれを用いた分散データシステム
US10417088B2 (en) * 2017-11-09 2019-09-17 International Business Machines Corporation Data protection techniques for a non-volatile memory array
RU2674316C1 (ru) * 2017-12-29 2018-12-06 Общество с ограниченной ответственностью "Радио Гигабит" Способ реализации гибридного автоматического запроса на передачу при использовании многоуровневого кодирования данных
US11271685B2 (en) 2017-12-29 2022-03-08 Limited Liability Company “Radio Gigabit” Method of hybrid automatic repeat request implementation for data transmission with multilevel coding
CN109039532B (zh) * 2018-05-28 2021-02-09 重庆邮电大学 一种基于Raptor码的联合纠错保密方法
CN109495211B (zh) * 2018-09-30 2020-12-29 湖南瑞利德信息科技有限公司 一种信道编码和解码方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US6320520B1 (en) * 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications systems

Family Cites Families (558)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US671774A (en) * 1900-06-20 1901-04-09 Henry B Prosser Sand-blasting device.
US3909721A (en) 1972-01-31 1975-09-30 Signatron Signal processing system
US4365338A (en) 1980-06-27 1982-12-21 Harris Corporation Technique for high rate digital transmission over a dynamic dispersive channel
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4589112A (en) 1984-01-26 1986-05-13 International Business Machines Corporation System for multiple error detection with single and double bit error correction
US4901319A (en) * 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
GB8815978D0 (en) 1988-07-05 1988-08-10 British Telecomm Method & apparatus for encoding decoding & transmitting data in compressed form
US5136592A (en) 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US5701582A (en) 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US7594250B2 (en) 1992-04-02 2009-09-22 Debey Henry C Method and system of program transmission optimization using a redundant transmission sequence
US5421031A (en) * 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US5329369A (en) 1990-06-01 1994-07-12 Thomson Consumer Electronics, Inc. Asymmetric picture compression
US5455823A (en) * 1990-11-06 1995-10-03 Radio Satellite Corporation Integrated communications terminal
US5164963A (en) 1990-11-07 1992-11-17 At&T Bell Laboratories Coding for digital transmission
US5465318A (en) 1991-03-28 1995-11-07 Kurzweil Applied Intelligence, Inc. Method for generating a speech recognition model for a non-vocabulary utterance
US5379297A (en) * 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
EP0543070A1 (en) * 1991-11-21 1993-05-26 International Business Machines Corporation Coding system and method using quaternary codes
US5371532A (en) 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5437287A (en) * 1992-08-17 1995-08-01 Carbomedics, Inc. Sterilization of tissue implants using iodine
US5425050A (en) 1992-10-23 1995-06-13 Massachusetts Institute Of Technology Television transmission system using spread spectrum and orthogonal frequency-division multiplex
US5372532A (en) 1993-01-26 1994-12-13 Robertson, Jr.; George W. Swivel head cap connector
EP0613249A1 (en) 1993-02-12 1994-08-31 Altera Corporation Custom look-up table with reduced number of architecture bits
DE4316297C1 (de) 1993-05-14 1994-04-07 Fraunhofer Ges Forschung Frequenzanalyseverfahren
AU665716B2 (en) 1993-07-05 1996-01-11 Mitsubishi Denki Kabushiki Kaisha A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame
US5590405A (en) 1993-10-29 1996-12-31 Lucent Technologies Inc. Communication technique employing variable information transmission
JP2576776B2 (ja) * 1993-11-10 1997-01-29 日本電気株式会社 パケット伝送方法・パケット伝送装置
US5517508A (en) * 1994-01-26 1996-05-14 Sony Corporation Method and apparatus for detection and error correction of packetized digital data
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5432787A (en) * 1994-03-24 1995-07-11 Loral Aerospace Corporation Packet data transmission system with adaptive data recovery method
US5757415A (en) * 1994-05-26 1998-05-26 Sony Corporation On-demand data transmission by dividing input data into blocks and each block into sub-blocks such that the sub-blocks are re-arranged for storage to data storage means
US5802394A (en) 1994-06-06 1998-09-01 Starlight Networks, Inc. Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US5739864A (en) 1994-08-24 1998-04-14 Macrovision Corporation Apparatus for inserting blanked formatted fingerprint data (source ID, time/date) in to a video signal
US5568614A (en) 1994-07-29 1996-10-22 International Business Machines Corporation Data streaming between peer subsystems of a computer system
US5668948A (en) 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US5926205A (en) 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US5659614A (en) 1994-11-28 1997-08-19 Bailey, Iii; John E. Method and system for creating and storing a backup copy of file data stored on a computer
US5617541A (en) 1994-12-21 1997-04-01 International Computer Science Institute System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets
JP3614907B2 (ja) 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
JPH11505685A (ja) 1995-04-27 1999-05-21 トラスティーズ・オブ・ザ・スティーブンス・インスティテュート・オブ・テクノロジー 時間限界マルチメディアネットワークアプリケーションのための高保全性伝送
US5835165A (en) 1995-06-07 1998-11-10 Lsi Logic Corporation Reduction of false locking code words in concatenated decoders
US5808738A (en) * 1995-06-13 1998-09-15 University Of South Florida Multiangle, multiwavelength particle characterization system and method
US5805825A (en) 1995-07-26 1998-09-08 Intel Corporation Method for semi-reliable, unidirectional broadcast information services
US6079041A (en) 1995-08-04 2000-06-20 Sanyo Electric Co., Ltd. Digital modulation circuit and digital demodulation circuit
US5754563A (en) * 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
KR0170298B1 (ko) 1995-10-10 1999-04-15 김광호 디지탈 비디오 테이프의 기록 방법
US5751336A (en) * 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
JP3305183B2 (ja) 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
US6012159A (en) * 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
US5852565A (en) 1996-01-30 1998-12-22 Demografx Temporal and resolution layering in advanced television
US5936659A (en) 1996-01-31 1999-08-10 Telcordia Technologies, Inc. Method for video delivery using pyramid broadcasting
US5903775A (en) * 1996-06-06 1999-05-11 International Business Machines Corporation Method for the sequential transmission of compressed video information at varying data rates
US5745504A (en) 1996-06-25 1998-04-28 Telefonaktiebolaget Lm Ericsson Bit error resilient variable length code
US5940863A (en) 1996-07-26 1999-08-17 Zenith Electronics Corporation Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators
US5936949A (en) 1996-09-05 1999-08-10 Netro Corporation Wireless ATM metropolitan area network
KR100261706B1 (ko) 1996-12-17 2000-07-15 가나이 쓰도무 디지탈방송신호의 수신장치와 수신 및 기록재생장치
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US6044485A (en) 1997-01-03 2000-03-28 Ericsson Inc. Transmitter method and transmission system using adaptive coding based on channel characteristics
US6011590A (en) * 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
US5946357A (en) 1997-01-17 1999-08-31 Telefonaktiebolaget L M Ericsson Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal
EP0854650A3 (en) 1997-01-17 2001-05-02 NOKIA TECHNOLOGY GmbH Method for addressing a service in digital video broadcasting
US5983383A (en) 1997-01-17 1999-11-09 Qualcom Incorporated Method and apparatus for transmitting and receiving concatenated code data
US6014706A (en) * 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
WO1998039927A1 (en) 1997-03-07 1998-09-11 Sanyo Electric Co., Ltd. Digital broadcast receiver and display
US6115420A (en) 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
US6087098A (en) * 1997-04-15 2000-07-11 The Trustees Of Columbia University In The City Of New York Enhanced reverse transcriptase polymerase chain assay to detect MN in patients with renal cell carcinoma
DE19716011A1 (de) 1997-04-17 1998-10-22 Abb Research Ltd Verfahren und Vorrichtung zur Informationsübertragung über Stromversorgungsleitungen
US6226259B1 (en) * 1997-04-29 2001-05-01 Canon Kabushiki Kaisha Device and method for transmitting information device and method for processing information
US5970098A (en) 1997-05-02 1999-10-19 Globespan Technologies, Inc. Multilevel encoder
US5844636A (en) 1997-05-13 1998-12-01 Hughes Electronics Corporation Method and apparatus for receiving and recording digital packet data
JP4110593B2 (ja) 1997-05-19 2008-07-02 ソニー株式会社 信号記録方法及び信号記録装置
WO1998053454A1 (fr) 1997-05-19 1998-11-26 Sanyo Electric Co., Ltd. Modulation et demodulation numeriques
JPH1141211A (ja) 1997-05-19 1999-02-12 Sanyo Electric Co Ltd ディジタル変調回路と変調方法、ディジタル復調回路と復調方法
US6128649A (en) 1997-06-02 2000-10-03 Nortel Networks Limited Dynamic selection of media streams for display
US6081907A (en) 1997-06-09 2000-06-27 Microsoft Corporation Data delivery system and method for delivering data and redundant information over a unidirectional network
US5917852A (en) 1997-06-11 1999-06-29 L-3 Communications Corporation Data scrambling system and method and communications system incorporating same
KR100240869B1 (ko) 1997-06-25 2000-01-15 윤종용 이중 다이버서티 시스템을 위한 데이터 전송 방법
US5933056A (en) * 1997-07-15 1999-08-03 Exar Corporation Single pole current mode common-mode feedback circuit
US6175944B1 (en) * 1997-07-15 2001-01-16 Lucent Technologies Inc. Methods and apparatus for packetizing data for transmission through an erasure broadcast channel
US6047069A (en) 1997-07-17 2000-04-04 Hewlett-Packard Company Method and apparatus for preserving error correction capabilities during data encryption/decryption
US6904110B2 (en) * 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US6178536B1 (en) 1997-08-14 2001-01-23 International Business Machines Corporation Coding scheme for file backup and systems based thereon
FR2767940A1 (fr) * 1997-08-29 1999-02-26 Canon Kk Procedes et dispositifs de codage et de decodage et appareils les mettant en oeuvre
EP0903955A1 (en) 1997-09-04 1999-03-24 STMicroelectronics S.r.l. Modular architecture PET decoder for ATM networks
US6088330A (en) 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
US6134596A (en) 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6018918A (en) * 1997-10-16 2000-02-01 Composite Technologies Corporation Wall panel with vapor barriers
US6272658B1 (en) 1997-10-27 2001-08-07 Kencast, Inc. Method and system for reliable broadcasting of data files and streams
US6073250A (en) 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
US6081918A (en) 1997-11-06 2000-06-27 Spielman; Daniel A. Loss resilient code with cascading series of redundant layers
US6081909A (en) 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
US6195777B1 (en) 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6163870A (en) 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
JP3472115B2 (ja) 1997-11-25 2003-12-02 Kddi株式会社 マルチチャンネルを用いるビデオデータ伝送方法及びその装置
US6243846B1 (en) 1997-12-12 2001-06-05 3Com Corporation Forward error correction system for packet based data and real time media, using cross-wise parity calculation
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6849803B1 (en) 1998-01-15 2005-02-01 Arlington Industries, Inc. Electrical connector
US6097320A (en) 1998-01-20 2000-08-01 Silicon Systems, Inc. Encoder/decoder system with suppressed error propagation
US6226301B1 (en) 1998-02-19 2001-05-01 Nokia Mobile Phones Ltd Method and apparatus for segmentation and assembly of data frames for retransmission in a telecommunications system
US6141788A (en) 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
US6278716B1 (en) 1998-03-23 2001-08-21 University Of Massachusetts Multicast with proactive forward error correction
EP1075762A1 (en) 1998-04-02 2001-02-14 Sarnoff Corporation Bursty data transmission of compressed video data
US6185265B1 (en) * 1998-04-07 2001-02-06 Worldspace Management Corp. System for time division multiplexing broadcast channels with R-1/2 or R-3/4 convolutional coding for satellite transmission via on-board baseband processing payload or transparent payload
US6067646A (en) * 1998-04-17 2000-05-23 Ameritech Corporation Method and system for adaptive interleaving
US6018359A (en) * 1998-04-24 2000-01-25 Massachusetts Institute Of Technology System and method for multicast video-on-demand delivery system
US6445717B1 (en) 1998-05-01 2002-09-03 Niwot Networks, Inc. System for recovering lost information in a data stream
US6421387B1 (en) 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6937618B1 (en) 1998-05-20 2005-08-30 Sony Corporation Separating device and method and signal receiving device and method
US6333926B1 (en) * 1998-08-11 2001-12-25 Nortel Networks Limited Multiple user CDMA basestation modem
KR100778647B1 (ko) 1998-09-04 2007-11-22 에이티 앤드 티 코포레이션 다중-안테나 장치내의 결합된 채널 코딩 및 공간-블록 코딩
US6415326B1 (en) 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US7243285B2 (en) 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
US6704370B1 (en) * 1998-10-09 2004-03-09 Nortel Networks Limited Interleaving methodology and apparatus for CDMA
IT1303735B1 (it) 1998-11-11 2001-02-23 Falorni Italia Farmaceutici S Acidi ialuronici reticolati e loro usi medici.
US6408128B1 (en) 1998-11-12 2002-06-18 Max Abecassis Replaying with supplementary information a segment of a video
US6483736B2 (en) 1998-11-16 2002-11-19 Matrix Semiconductor, Inc. Vertically stacked field programmable nonvolatile memory and method of fabrication
JP2000151426A (ja) 1998-11-17 2000-05-30 Toshiba Corp インターリーブ・デインターリーブ回路
US6166544A (en) 1998-11-25 2000-12-26 General Electric Company MR imaging system with interactive image contrast control
US6876623B1 (en) * 1998-12-02 2005-04-05 Agere Systems Inc. Tuning scheme for code division multiplex broadcasting system
DE69808809T2 (de) 1998-12-03 2003-06-18 Fraunhofer Ges Forschung Vorrichtung und verfahren zur datenübermittlung und zum datenempfang
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6496980B1 (en) 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
US6223324B1 (en) 1999-01-05 2001-04-24 Agere Systems Guardian Corp. Multiple program unequal error protection for digital audio broadcasting and other applications
JP3926499B2 (ja) 1999-01-22 2007-06-06 株式会社日立国際電気 畳み込み符号軟判定復号方式の受信装置
US6618451B1 (en) 1999-02-13 2003-09-09 Altocom Inc Efficient reduced state maximum likelihood sequence estimator
US6041001A (en) * 1999-02-25 2000-03-21 Lexar Media, Inc. Method of increasing data reliability of a flash memory device without compromising compatibility
AU2827400A (en) 1999-03-03 2000-09-21 Sony Corporation Transmitter, receiver, transmitter/receiver system, transmission method and reception method
US6785323B1 (en) * 1999-11-22 2004-08-31 Ipr Licensing, Inc. Variable rate coding for forward link
US6466698B1 (en) 1999-03-25 2002-10-15 The United States Of America As Represented By The Secretary Of The Navy Efficient embedded image and video compression system using lifted wavelets
US6609223B1 (en) 1999-04-06 2003-08-19 Kencast, Inc. Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter
US6535920B1 (en) * 1999-04-06 2003-03-18 Microsoft Corporation Analyzing, indexing and seeking of streaming information
JP3256517B2 (ja) 1999-04-06 2002-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 符号化回路、回路、パリティ生成方法及び記憶媒体
US6804202B1 (en) 1999-04-08 2004-10-12 Lg Information And Communications, Ltd. Radio protocol for mobile communication system and method
US7885340B2 (en) 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
EP1051027B1 (en) 1999-05-06 2006-05-24 Sony Corporation Methods and apparatus for data processing, methods and apparatus for data reproducing and recording media
KR100416996B1 (ko) 1999-05-10 2004-02-05 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
AU5140200A (en) 1999-05-26 2000-12-18 Enounce, Incorporated Method and apparatus for controlling time-scale modification during multi-media broadcasts
US6154452A (en) 1999-05-26 2000-11-28 Xm Satellite Radio Inc. Method and apparatus for continuous cross-channel interleaving
US6229824B1 (en) * 1999-05-26 2001-05-08 Xm Satellite Radio Inc. Method and apparatus for concatenated convolutional endcoding and interleaving
JP2000353969A (ja) 1999-06-11 2000-12-19 Sony Corp デジタル音声放送の受信機
US6577599B1 (en) 1999-06-30 2003-06-10 Sun Microsystems, Inc. Small-scale reliable multicasting
IL141800A0 (en) 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
US6643332B1 (en) 1999-07-09 2003-11-04 Lsi Logic Corporation Method and apparatus for multi-level coding of digital signals
JP3451221B2 (ja) 1999-07-22 2003-09-29 日本無線株式会社 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
US6279072B1 (en) 1999-07-22 2001-08-21 Micron Technology, Inc. Reconfigurable memory with selectable error correction storage
US6453440B1 (en) 1999-08-04 2002-09-17 Sun Microsystems, Inc. System and method for detecting double-bit errors and for correcting errors due to component failures
JP2001060934A (ja) 1999-08-20 2001-03-06 Matsushita Electric Ind Co Ltd Ofdm通信装置
US6430233B1 (en) * 1999-08-30 2002-08-06 Hughes Electronics Corporation Single-LNB satellite data receiver
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
JP4284774B2 (ja) * 1999-09-07 2009-06-24 ソニー株式会社 送信装置、受信装置、通信システム、送信方法及び通信方法
US7529806B1 (en) 1999-11-04 2009-05-05 Koninklijke Philips Electronics N.V. Partitioning of MP3 content file for emulating streaming
JP2001094625A (ja) 1999-09-27 2001-04-06 Canon Inc データ通信装置、データ通信方法及び記憶媒体
JP2003510734A (ja) 1999-09-27 2003-03-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ストリーミングのエミュレート用ファイル分割
US20050160272A1 (en) 1999-10-28 2005-07-21 Timecertain, Llc System and method for providing trusted time in content of digital data files
US6523147B1 (en) * 1999-11-11 2003-02-18 Ibiquity Digital Corporation Method and apparatus for forward error correction coding for an AM in-band on-channel digital audio broadcasting system
US6678855B1 (en) * 1999-12-02 2004-01-13 Microsoft Corporation Selecting K in a data transmission carousel using (N,K) forward error correction
US6748441B1 (en) 1999-12-02 2004-06-08 Microsoft Corporation Data carousel receiving and caching
US6798791B1 (en) * 1999-12-16 2004-09-28 Agere Systems Inc Cluster frame synchronization scheme for a satellite digital audio radio system
US6487692B1 (en) * 1999-12-21 2002-11-26 Lsi Logic Corporation Reed-Solomon decoder
US20020009137A1 (en) 2000-02-01 2002-01-24 Nelson John E. Three-dimensional video broadcasting system
US6965636B1 (en) * 2000-02-01 2005-11-15 2Wire, Inc. System and method for block error correction in packet-based digital communications
IL140504A0 (en) 2000-02-03 2002-02-10 Bandwiz Inc Broadcast system
US7304990B2 (en) 2000-02-03 2007-12-04 Bandwiz Inc. Method of encoding and transmitting data over a communication medium through division and segmentation
WO2001057667A1 (en) 2000-02-03 2001-08-09 Bandwiz, Inc. Data streaming
JP2001251287A (ja) 2000-02-24 2001-09-14 Geneticware Corp Ltd ハードウエア保護内部秘匿鍵及び可変パスコードを利用する機密データ伝送方法
DE10009443A1 (de) 2000-02-29 2001-08-30 Philips Corp Intellectual Pty Empfänger und Verfahren zum Detektieren und Dekodieren eines DQPSK-modulierten und kanalkodierten Empfangssignals
US6765866B1 (en) 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation
US6384750B1 (en) 2000-03-23 2002-05-07 Mosaid Technologies, Inc. Multi-stage lookup for translating between signals of different bit lengths
JP2001274776A (ja) 2000-03-24 2001-10-05 Toshiba Corp 情報データ伝送システムとその送信装置及び受信装置
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
WO2001076077A2 (en) * 2000-03-31 2001-10-11 Ted Szymanski Transmitter, receiver, and coding scheme to increase data rate and decrease bit error rate of an optical data link
US6473010B1 (en) 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
US8572646B2 (en) 2000-04-07 2013-10-29 Visible World Inc. System and method for simultaneous broadcast for personalized messages
DE60121930T2 (de) 2000-04-08 2007-07-26 Sun Microsystems, Inc., Santa Clara Methode zum streamen einer einzelnen medienspur zu mehreren clients
US6643336B1 (en) * 2000-04-18 2003-11-04 Widcomm, Inc. DC offset and bit timing system and method for use with a wireless transceiver
US6631172B1 (en) 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
US6742154B1 (en) 2000-05-25 2004-05-25 Ciena Corporation Forward error correction codes for digital optical network optimization
US6694476B1 (en) * 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
US6738942B1 (en) 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
GB2366159B (en) 2000-08-10 2003-10-08 Mitel Corp Combination reed-solomon and turbo coding
US6834342B2 (en) 2000-08-16 2004-12-21 Eecad, Inc. Method and system for secure communication over unstable public connections
KR100447162B1 (ko) 2000-08-19 2004-09-04 엘지전자 주식회사 래디오 링크 콘트롤(rlc)에서 프로토콜 데이터 유닛(pdu) 정보의 길이 지시자(li) 처리방법
JP2002073625A (ja) 2000-08-24 2002-03-12 Nippon Hoso Kyokai <Nhk> 放送番組に同期した情報提供の方法、サーバ及び媒体
US7340664B2 (en) 2000-09-20 2008-03-04 Lsi Logic Corporation Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
US7151754B1 (en) 2000-09-22 2006-12-19 Lucent Technologies Inc. Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding
US6486803B1 (en) 2000-09-22 2002-11-26 Digital Fountain, Inc. On demand encoding with a window
US7031257B1 (en) 2000-09-22 2006-04-18 Lucent Technologies Inc. Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol
US7490344B2 (en) 2000-09-29 2009-02-10 Visible World, Inc. System and method for seamless switching
US6411223B1 (en) 2000-10-18 2002-06-25 Digital Fountain, Inc. Generating high weight encoding symbols using a basis
US6654593B1 (en) * 2000-10-30 2003-11-25 Research In Motion Limited Combined discrete automatic gain control (AGC) and DC estimation
US7613183B1 (en) 2000-10-31 2009-11-03 Foundry Networks, Inc. System and method for router data aggregation and delivery
US6694478B1 (en) 2000-11-07 2004-02-17 Agere Systems Inc. Low delay channel codes for correcting bursts of lost packets
US6732325B1 (en) * 2000-11-08 2004-05-04 Digeo, Inc. Error-correction with limited working storage
US20020133247A1 (en) 2000-11-11 2002-09-19 Smith Robert D. System and method for seamlessly switching between media streams
US7072971B2 (en) 2000-11-13 2006-07-04 Digital Foundation, Inc. Scheduling of multiple files for serving on a server
US7240358B2 (en) 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
EP2071827A3 (en) 2000-12-15 2010-08-25 BRITISH TELECOMMUNICATIONS public limited company Transmission and reception of audio and/or video material
EP1342363B9 (en) 2000-12-15 2012-09-12 BRITISH TELECOMMUNICATIONS public limited company Transmission and reception of audio and/or video material
US6850736B2 (en) * 2000-12-21 2005-02-01 Tropian, Inc. Method and apparatus for reception quality indication in wireless communication
US7143433B1 (en) 2000-12-27 2006-11-28 Infovalve Computing Inc. Video distribution system using dynamic segmenting of video data files
US20020085013A1 (en) 2000-12-29 2002-07-04 Lippincott Louis A. Scan synchronized dual frame buffer graphics subsystem
NO315887B1 (no) * 2001-01-04 2003-11-03 Fast Search & Transfer As Fremgangsmater ved overforing og soking av videoinformasjon
US20080059532A1 (en) * 2001-01-18 2008-03-06 Kazmi Syed N Method and system for managing digital content, including streaming media
DE10103387A1 (de) 2001-01-26 2002-08-01 Thorsten Nordhoff Windkraftanlage mit einer Einrichtung zur Hindernisbefeuerung bzw. Nachtkennzeichnung
FI118830B (fi) 2001-02-08 2008-03-31 Nokia Corp Tietovirran toisto
US6868083B2 (en) 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
US20020129159A1 (en) 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
KR100464360B1 (ko) 2001-03-30 2005-01-03 삼성전자주식회사 고속 패킷 데이터 전송 이동통신시스템에서 패킷 데이터채널에 대한 효율적인 에너지 분배 장치 및 방법
US20020143953A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US6785836B2 (en) 2001-04-11 2004-08-31 Broadcom Corporation In-place data transformation for fault-tolerant disk storage systems
US6820221B2 (en) 2001-04-13 2004-11-16 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system
US7010052B2 (en) * 2001-04-16 2006-03-07 The Ohio University Apparatus and method of CTCM encoding and decoding for a digital communication system
US7035468B2 (en) * 2001-04-20 2006-04-25 Front Porch Digital Inc. Methods and apparatus for archiving, indexing and accessing audio and video data
US20020191116A1 (en) 2001-04-24 2002-12-19 Damien Kessler System and data format for providing seamless stream switching in a digital video recorder
US6497479B1 (en) 2001-04-27 2002-12-24 Hewlett-Packard Company Higher organic inks with good reliability and drytime
US7962482B2 (en) 2001-05-16 2011-06-14 Pandora Media, Inc. Methods and systems for utilizing contextual feedback to generate and modify playlists
US6760705B2 (en) * 2001-05-31 2004-07-06 Motorola, Inc. Virtual speech interface system and method of using same
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7076478B2 (en) 2001-06-26 2006-07-11 Microsoft Corporation Wrapper playlists on streaming media services
US6745364B2 (en) 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
JP2003018568A (ja) 2001-06-29 2003-01-17 Matsushita Electric Ind Co Ltd 再生システム、サーバ装置及び再生装置
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6928603B1 (en) 2001-07-19 2005-08-09 Adaptix, Inc. System and method for interference mitigation using adaptive forward error correction in a wireless RF data transmission system
US6961890B2 (en) * 2001-08-16 2005-11-01 Hewlett-Packard Development Company, L.P. Dynamic variable-length error correction code
US7110412B2 (en) 2001-09-18 2006-09-19 Sbc Technology Resources, Inc. Method and system to transport high-quality video signals
FI115418B (fi) 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US7123671B2 (en) * 2001-09-28 2006-10-17 Texas Instruments Incorporated Automatic gain control method for digital subscriber line modems
US6990624B2 (en) 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
US7480703B2 (en) 2001-11-09 2009-01-20 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user
US7363354B2 (en) 2001-11-29 2008-04-22 Nokia Corporation System and method for identifying and accessing network services
US7003712B2 (en) * 2001-11-29 2006-02-21 Emin Martinian Apparatus and method for adaptive, multimode decoding
JP2003174489A (ja) 2001-12-05 2003-06-20 Ntt Docomo Inc ストリーミング配信装置、ストリーミング配信方法
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
EP1670259A3 (en) 2002-01-23 2010-03-03 Nokia Corporation Grouping of image frames in video coding
KR100989222B1 (ko) * 2002-01-30 2010-10-20 엔엑스피 비 브이 멀티미디어 데이터로부터의 인코딩된 스트림 세트를 제공하는 방법 및 인코더와, 클라이언트 애플리케이션에 인코딩된 스트림을 제공하는 서버와, 가변 대역폭을 갖는 네트워크상에서 멀티미디어 데이터를 스트리밍하는 송신기
AU2003211057A1 (en) 2002-02-15 2003-09-09 Digital Fountain, Inc. System and method for reliably communicating the content of a live data stream
JP4126928B2 (ja) 2002-02-28 2008-07-30 日本電気株式会社 プロキシサーバ及びプロキシ制御プログラム
JP4116470B2 (ja) 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
FR2837332A1 (fr) 2002-03-15 2003-09-19 Thomson Licensing Sa Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants
CN1647428A (zh) * 2002-04-15 2005-07-27 诺基亚有限公司 通信站的rlp逻辑层
US6677864B2 (en) * 2002-04-18 2004-01-13 Telefonaktiebolaget L.M. Ericsson Method for multicast over wireless networks
JP3629008B2 (ja) 2002-04-19 2005-03-16 松下電器産業株式会社 データ受信装置及びデータ配信システム
JP3689063B2 (ja) 2002-04-19 2005-08-31 松下電器産業株式会社 データ受信装置及びデータ配信システム
EP1501318A4 (en) 2002-04-25 2006-12-06 Sharp Kk BILDCODER, IMAGE DECODER, RECORDING MEDIA AND IMAGE RECORDER
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7177658B2 (en) 2002-05-06 2007-02-13 Qualcomm, Incorporated Multi-media broadcast and multicast service (MBMS) in a wireless communications system
US7200388B2 (en) 2002-05-31 2007-04-03 Nokia Corporation Fragmented delivery of multimedia
WO2003105484A1 (en) 2002-06-11 2003-12-18 Telefonaktiebolaget L M Ericsson (Publ) Generation of mixed media streams
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
WO2003105350A1 (en) 2002-06-11 2003-12-18 Digital Fountain, Inc. Decoding of chain reaction codes through inactivation of recovered symbols
US6956875B2 (en) 2002-06-19 2005-10-18 Atlinks Usa, Inc. Technique for communicating variable bit rate data over a constant bit rate link
JP4227770B2 (ja) 2002-07-10 2009-02-18 シャープ株式会社 表示装置およびそれを備えた画像読み取り/表示システム
JP4154569B2 (ja) 2002-07-10 2008-09-24 日本電気株式会社 画像圧縮伸長装置
JP4120461B2 (ja) 2002-07-12 2008-07-16 住友電気工業株式会社 伝送データ生成方法及び伝送データ生成装置
CN1669321A (zh) * 2002-07-16 2005-09-14 诺基亚有限公司 用于在视频编码中随机存取和逐步更新图像的方法
WO2004019521A1 (ja) 2002-07-31 2004-03-04 Sharp Kabushiki Kaisha データ通信装置、その間欠通信方法、その方法を記載するプログラム、及びそのプログラムを記録する記録媒体
JP2004070712A (ja) 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
DK1529389T3 (en) 2002-08-13 2016-05-30 Nokia Technologies Oy Symbol Interleaving
US6985459B2 (en) * 2002-08-21 2006-01-10 Qualcomm Incorporated Early transmission and playout of packets in wireless communication systems
WO2004030273A1 (ja) 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム
JP3534742B1 (ja) 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
EP2357732B1 (en) 2002-10-05 2022-04-06 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
JP2004135013A (ja) 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 伝送装置及び伝送方法
FI116816B (fi) 2002-10-14 2006-02-28 Nokia Corp Median suoratoisto
US8320301B2 (en) 2002-10-25 2012-11-27 Qualcomm Incorporated MIMO WLAN system
US7289451B2 (en) * 2002-10-25 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Delay trading between communication links
US7328394B2 (en) 2002-10-30 2008-02-05 Koninklijke Philips Electronics N.V. Adaptative forward error control scheme
JP2004165922A (ja) 2002-11-12 2004-06-10 Sony Corp 情報処理装置および方法、並びにプログラム
ATE410029T1 (de) 2002-11-18 2008-10-15 British Telecomm Videoübertragung
GB0226872D0 (en) 2002-11-18 2002-12-24 British Telecomm Video transmission
KR100502609B1 (ko) 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
US7086718B2 (en) 2002-11-23 2006-08-08 Silverbrook Research Pty Ltd Thermal ink jet printhead with high nozzle areal density
JP2004192140A (ja) 2002-12-09 2004-07-08 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2004193992A (ja) 2002-12-11 2004-07-08 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
US8135073B2 (en) * 2002-12-19 2012-03-13 Trident Microsystems (Far East) Ltd Enhancing video images depending on prior image enhancements
US7164882B2 (en) * 2002-12-24 2007-01-16 Poltorak Alexander I Apparatus and method for facilitating a purchase using information provided on a media playing device
WO2004068715A2 (en) 2003-01-29 2004-08-12 Digital Fountain, Inc. Systems and processes for fast encoding of hamming codes
US7756002B2 (en) 2003-01-30 2010-07-13 Texas Instruments Incorporated Time-frequency interleaved orthogonal frequency division multiplexing ultra wide band physical layer
US7525994B2 (en) * 2003-01-30 2009-04-28 Avaya Inc. Packet data flow identification for multiplexing
US7231404B2 (en) 2003-01-31 2007-06-12 Nokia Corporation Datacast file transmission with meta-data retention
US7062272B2 (en) 2003-02-18 2006-06-13 Qualcomm Incorporated Method and apparatus to track count of broadcast content recipients in a wireless telephone network
EP1455504B1 (en) 2003-03-07 2014-11-12 Samsung Electronics Co., Ltd. Apparatus and method for processing audio signal and computer readable recording medium storing computer program for the method
JP4173755B2 (ja) 2003-03-24 2008-10-29 富士通株式会社 データ伝送サーバ
US7610487B2 (en) * 2003-03-27 2009-10-27 Microsoft Corporation Human input security codes
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
JP2004343701A (ja) 2003-04-21 2004-12-02 Matsushita Electric Ind Co Ltd データ受信再生装置、データ受信再生方法及びデータ受信再生処理プログラム
US7408486B2 (en) 2003-04-21 2008-08-05 Qbit Corporation System and method for using a microlet-based modem
US20050041736A1 (en) * 2003-05-07 2005-02-24 Bernie Butler-Smith Stereoscopic television signal processing method, transmission system and viewer enhancements
KR100492567B1 (ko) 2003-05-13 2005-06-03 엘지전자 주식회사 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법
US7113773B2 (en) 2003-05-16 2006-09-26 Qualcomm Incorporated Reliable reception of broadcast/multicast content
JP2004348824A (ja) 2003-05-21 2004-12-09 Toshiba Corp Eccエンコード方法、eccエンコード装置
US8161116B2 (en) 2003-05-23 2012-04-17 Kirusa, Inc. Method and system for communicating a data file over a network
JP2004362099A (ja) 2003-06-03 2004-12-24 Sony Corp サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
MXPA05013237A (es) 2003-06-07 2006-03-09 Samsung Electronics Co Ltd Aparato y metodo para la organizacion e interpretacion de datos multimedia en un medio de grabacion.
KR101003413B1 (ko) 2003-06-12 2010-12-23 엘지전자 주식회사 이동통신 단말기의 전송데이터 압축/해제 방법
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
RU2265960C2 (ru) 2003-06-16 2005-12-10 Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" Способ передачи информации с использованием адаптивного перемежения
US7391717B2 (en) 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US20050004997A1 (en) 2003-07-01 2005-01-06 Nokia Corporation Progressive downloading of timed multimedia content
US8149939B2 (en) 2003-07-07 2012-04-03 Samsung Electronics Co., Ltd. System of robust DTV signal transmissions that legacy DTV receivers will disregard
US7254754B2 (en) 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
KR100532450B1 (ko) 2003-07-16 2005-11-30 삼성전자주식회사 에러에 대해 강인한 특성을 가지는 데이터 기록 방법,이에 적합한 데이터 재생 방법, 그리고 이에 적합한 장치들
US20050028067A1 (en) * 2003-07-31 2005-02-03 Weirauch Charles R. Data with multiple sets of error correction codes
CN1871804B (zh) 2003-08-21 2010-09-01 高通股份有限公司 广播/多播内容的外部编码方法及其相关装置
US8694869B2 (en) 2003-08-21 2014-04-08 QUALCIMM Incorporated Methods for forward error correction coding above a radio link control layer and related apparatus
IL157885A0 (en) 2003-09-11 2004-03-28 Bamboo Mediacasting Ltd Iterative forward error correction
IL157886A0 (en) * 2003-09-11 2009-02-11 Bamboo Mediacasting Ltd Secure multicast transmission
JP4183586B2 (ja) 2003-09-12 2008-11-19 三洋電機株式会社 映像表示装置
WO2005029237A2 (en) 2003-09-15 2005-03-31 Digital Networks North America, Inc. Method and system for adaptive transcoding and transrating in a video network
KR100608715B1 (ko) 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
EP1521373B1 (en) 2003-09-30 2006-08-23 Telefonaktiebolaget LM Ericsson (publ) In-place data deinterleaving
US7559004B1 (en) 2003-10-01 2009-07-07 Sandisk Corporation Dynamic redundant area configuration in a non-volatile memory system
EP1665539B1 (en) 2003-10-06 2013-04-10 Digital Fountain, Inc. Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
US7614071B2 (en) * 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
US7516232B2 (en) * 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
AU2004306594B2 (en) * 2003-10-14 2010-05-20 Panasonic Corporation Data converter
US7650036B2 (en) * 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
US7168030B2 (en) 2003-10-17 2007-01-23 Telefonaktiebolaget Lm Ericsson (Publ) Turbo code decoder with parity information update
US8132215B2 (en) 2003-10-27 2012-03-06 Panasonic Corporation Apparatus for receiving broadcast signal
JP2005136546A (ja) 2003-10-29 2005-05-26 Sony Corp 送信装置および方法、記録媒体、並びにプログラム
EP1528702B1 (en) 2003-11-03 2008-01-23 Broadcom Corporation FEC (forward error correction) decoding with dynamic parameters
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
JP4787167B2 (ja) 2003-12-01 2011-10-05 デジタル ファウンテン, インコーポレイテッド サブシンボル・ベース符号を使用する消去からのデータの保護
US7428669B2 (en) 2003-12-07 2008-09-23 Adaptive Spectrum And Signal Alignment, Inc. Adaptive FEC codeword management
US7574706B2 (en) 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US7590118B2 (en) 2003-12-23 2009-09-15 Agere Systems Inc. Frame aggregation format
JP4536383B2 (ja) 2004-01-16 2010-09-01 株式会社エヌ・ティ・ティ・ドコモ データ受信装置およびデータ受信方法
KR100770902B1 (ko) 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
KR100834750B1 (ko) 2004-01-29 2008-06-05 삼성전자주식회사 엔코더 단에서 스케일러빌리티를 제공하는 스케일러블비디오 코딩 장치 및 방법
JP4321284B2 (ja) 2004-02-03 2009-08-26 株式会社デンソー ストリーミングデータ送信装置、および情報配信システム
US7599294B2 (en) 2004-02-13 2009-10-06 Nokia Corporation Identification and re-transmission of missing parts
KR100586883B1 (ko) 2004-03-04 2006-06-08 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법
KR100596705B1 (ko) 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US7609653B2 (en) 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
WO2005094020A1 (en) 2004-03-19 2005-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Higher layer packet framing using rlp
US7240236B2 (en) 2004-03-23 2007-07-03 Archivas, Inc. Fixed content distributed data storage using permutation ring encoding
JP4433287B2 (ja) 2004-03-25 2010-03-17 ソニー株式会社 受信装置および方法、並びにプログラム
US8842175B2 (en) 2004-03-26 2014-09-23 Broadcom Corporation Anticipatory video signal reception and processing
US20050216472A1 (en) 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
CN1938778A (zh) 2004-03-30 2007-03-28 皇家飞利浦电子股份有限公司 支持基于盘的多媒体内容的改进的特技模式性能的系统和方法
TW200534875A (en) 2004-04-23 2005-11-01 Lonza Ag Personal care compositions and concentrates for making the same
FR2869744A1 (fr) 2004-04-29 2005-11-04 Thomson Licensing Sa Methode de transmission de paquets de donnees numeriques et appareil implementant la methode
CN103124182B (zh) 2004-05-07 2017-05-10 数字方敦股份有限公司 文件下载和流系统
US7633970B2 (en) 2004-05-07 2009-12-15 Agere Systems Inc. MAC header compression for use with frame aggregation
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
US20060037057A1 (en) * 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US8331445B2 (en) 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US7139660B2 (en) 2004-07-14 2006-11-21 General Motors Corporation System and method for changing motor vehicle personalization settings
US8112531B2 (en) 2004-07-14 2012-02-07 Nokia Corporation Grouping of session objects
US8544043B2 (en) 2004-07-21 2013-09-24 Qualcomm Incorporated Methods and apparatus for providing content information to content servers
US7409626B1 (en) 2004-07-28 2008-08-05 Ikanos Communications Inc Method and apparatus for determining codeword interleaver parameters
US7376150B2 (en) 2004-07-30 2008-05-20 Nokia Corporation Point-to-point repair response mechanism for point-to-multipoint transmission systems
US7590922B2 (en) 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
US7930184B2 (en) 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
WO2006020826A2 (en) 2004-08-11 2006-02-23 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
JP4405875B2 (ja) * 2004-08-25 2010-01-27 富士通株式会社 エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2006074335A (ja) 2004-09-01 2006-03-16 Nippon Telegr & Teleph Corp <Ntt> 伝送方法、伝送システム及び伝送装置
JP4576936B2 (ja) 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
JP2006115104A (ja) 2004-10-13 2006-04-27 Daiichikosho Co Ltd 高能率符号化された時系列情報をパケット化してリアルタイム・ストリーミング送信し受信再生する方法および装置
US7529984B2 (en) 2004-11-16 2009-05-05 Infineon Technologies Ag Seamless change of depth of a general convolutional interleaver during transmission without loss of data
US7751324B2 (en) 2004-11-19 2010-07-06 Nokia Corporation Packet stream arrangement in multimedia transmission
CN101061718B (zh) 2004-11-22 2010-10-13 汤姆森研究基金有限公司 用于数字订户线路系统中的频道改变的方法和设备
CN101061659B (zh) 2004-12-02 2015-04-29 汤姆逊许可公司 自适应前向纠错的方法和设备
KR20060065482A (ko) 2004-12-10 2006-06-14 마이크로소프트 코포레이션 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스
JP2006174032A (ja) 2004-12-15 2006-06-29 Sanyo Electric Co Ltd 画像データ伝送システム、画像データ受信装置及び画像データ送信装置
JP2006174045A (ja) 2004-12-15 2006-06-29 Ntt Communications Kk 画像配信装置、プログラム及び方法
US7398454B2 (en) 2004-12-21 2008-07-08 Tyco Telecommunications (Us) Inc. System and method for forward error correction decoding using soft information
JP4391409B2 (ja) 2004-12-24 2009-12-24 株式会社第一興商 高能率符号化された時系列情報をリアルタイム・ストリーミング送信し受信再生する方法と受信装置
EP1847087A1 (en) 2005-02-08 2007-10-24 Telefonaktiebolaget LM Ericsson (publ) On-demand multi-channel streaming session over packet-switched networks
US7925097B2 (en) 2005-02-18 2011-04-12 Sanyo Electric Co., Ltd. Image display method, image coding apparatus, and image decoding apparatus
US7822139B2 (en) 2005-03-02 2010-10-26 Rohde & Schwarz Gmbh & Co. Kg Apparatus, systems, methods and computer products for providing a virtual enhanced training sequence
EP1856911A4 (en) 2005-03-07 2010-02-24 Ericsson Telefon Ab L M SWITCHING MULTIMEDIA CHANNELS
US8028322B2 (en) 2005-03-14 2011-09-27 Time Warner Cable Inc. Method and apparatus for network content download and recording
US7418649B2 (en) 2005-03-15 2008-08-26 Microsoft Corporation Efficient implementation of reed-solomon erasure resilient codes in high-rate applications
US7219289B2 (en) 2005-03-15 2007-05-15 Tandberg Data Corporation Multiply redundant raid system and XOR-efficient method and apparatus for implementing the same
US7450064B2 (en) 2005-03-22 2008-11-11 Qualcomm, Incorporated Methods and systems for deriving seed position of a subscriber station in support of unassisted GPS-type position determination in a wireless communication system
JP4487028B2 (ja) 2005-03-31 2010-06-23 ブラザー工業株式会社 配信速度制御装置、配信システム、配信速度制御方法、及び配信速度制御用プログラム
US7715842B2 (en) 2005-04-09 2010-05-11 Lg Electronics Inc. Supporting handover of mobile terminal
CA2604203A1 (en) 2005-04-13 2006-10-19 Nokia Corporation Coding, storage and signalling of scalability information
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
US8683066B2 (en) * 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US7961700B2 (en) 2005-04-28 2011-06-14 Qualcomm Incorporated Multi-carrier operation in data transmission systems
JP2006319743A (ja) 2005-05-13 2006-11-24 Toshiba Corp 受信装置
US8228994B2 (en) 2005-05-20 2012-07-24 Microsoft Corporation Multi-view video coding based on temporal and view decomposition
EP1884063A1 (en) 2005-05-24 2008-02-06 Nokia Corporation Method and apparatuses for hierarchical transmission/reception in digital broadcast
US7644335B2 (en) * 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
US7676735B2 (en) 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
JP2007013436A (ja) * 2005-06-29 2007-01-18 Toshiba Corp 符号化ストリーム再生装置
JP2007013675A (ja) 2005-06-30 2007-01-18 Sanyo Electric Co Ltd ストリーミング配信システム及びサーバ
US20070006274A1 (en) 2005-06-30 2007-01-04 Toni Paila Transmission and reception of session packets
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
ATE514246T1 (de) 2005-08-19 2011-07-15 Hewlett Packard Development Co Andeutung von verlorenen segmenten über schichtgrenzen
CN101053249B (zh) * 2005-09-09 2011-02-16 松下电器产业株式会社 图像处理方法、图像存储方法、图像处理装置及文件格式
US7924913B2 (en) 2005-09-15 2011-04-12 Microsoft Corporation Non-realtime data transcoding of multimedia content
US20070067480A1 (en) 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
US9113147B2 (en) * 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
US20070078876A1 (en) * 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
CA2562212C (en) 2005-10-05 2012-07-10 Lg Electronics Inc. Method of processing traffic information and digital broadcast system
US7164370B1 (en) * 2005-10-06 2007-01-16 Analog Devices, Inc. System and method for decoding data compressed in accordance with dictionary-based compression schemes
TWI341136B (en) 2005-10-11 2011-04-21 Nokia Corp System and method for efficient scalable stream adaptation
CN100442858C (zh) * 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
US7720096B2 (en) 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
WO2007047736A2 (en) 2005-10-19 2007-04-26 Thomson Licensing Multi-view video coding using scalable video coding
JP4727401B2 (ja) 2005-12-02 2011-07-20 日本電信電話株式会社 無線マルチキャスト伝送システム、無線送信装置及び無線マルチキャスト伝送方法
FR2894421B1 (fr) 2005-12-07 2008-01-18 Canon Kk Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique
KR100759823B1 (ko) 2005-12-08 2007-09-18 한국전자통신연구원 제로 복귀 신호 발생 장치 및 그 방법
JP4456064B2 (ja) 2005-12-21 2010-04-28 日本電信電話株式会社 パケット送信装置、受信装置、システム、およびプログラム
US20070157267A1 (en) 2005-12-30 2007-07-05 Intel Corporation Techniques to improve time seek operations
WO2007078253A2 (en) 2006-01-05 2007-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Media container file management
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
AU2007204168B2 (en) 2006-01-11 2011-02-24 Nokia Technologies Oy Backward-compatible aggregation of pictures in scalable video coding
WO2007081176A1 (en) 2006-01-12 2007-07-19 Lg Electronics Inc. Processing multiview video
WO2007086654A1 (en) 2006-01-25 2007-08-02 Lg Electronics Inc. Digital broadcasting system and method of processing data
US7262719B2 (en) 2006-01-30 2007-08-28 International Business Machines Corporation Fast data stream decoding using apriori information
RU2290768C1 (ru) 2006-01-30 2006-12-27 Общество с ограниченной ответственностью "Трафиклэнд" Система медиавещания в инфраструктуре оператора мобильной связи
GB0602314D0 (en) 2006-02-06 2006-03-15 Ericsson Telefon Ab L M Transporting packets
US20110087792A2 (en) 2006-02-07 2011-04-14 Dot Hill Systems Corporation Data replication method and apparatus
WO2007092214A1 (en) * 2006-02-08 2007-08-16 Thomson Licensing Decoding of raptor codes
WO2007095550A2 (en) 2006-02-13 2007-08-23 Digital Fountain, Inc. Streaming and buffering using variable fec overhead and protection periods
US20070200949A1 (en) 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
JP2007228205A (ja) 2006-02-23 2007-09-06 Funai Electric Co Ltd ネットワークサーバ
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
US20080010153A1 (en) 2006-04-24 2008-01-10 Pugh-O'connor Archie Computer network provided digital content under an advertising and revenue sharing basis, such as music provided via the internet with time-shifted advertisements presented by a client resident application
WO2007127741A2 (en) * 2006-04-24 2007-11-08 Sun Microsystems, Inc. Media server system
US7640353B2 (en) 2006-04-27 2009-12-29 Microsoft Corporation Guided random seek support for media streaming
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US7525993B2 (en) 2006-05-24 2009-04-28 Newport Media, Inc. Robust transmission system and method for mobile television applications
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US20100211690A1 (en) 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
TWM302355U (en) * 2006-06-09 2006-12-11 Jia-Bau Jeng Fixation and cushion structure of knee joint
JP2008011404A (ja) 2006-06-30 2008-01-17 Toshiba Corp コンテンツ処理装置及びコンテンツ処理方法
JP4392004B2 (ja) 2006-07-03 2009-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション パケット回復のための符号化および復号化技術
EP2302869A3 (en) 2006-07-20 2013-05-22 SanDisk Technologies Inc. An improved audio visual player apparatus and system and method of content distribution using the same
US7711797B1 (en) 2006-07-31 2010-05-04 Juniper Networks, Inc. Optimizing batch size for prefetching data over wide area networks
US8209736B2 (en) * 2006-08-23 2012-06-26 Mediatek Inc. Systems and methods for managing television (TV) signals
CA2661578C (en) 2006-08-24 2014-06-17 Nokia Corporation System and method for indicating track relationships in media files
US20080066136A1 (en) 2006-08-24 2008-03-13 International Business Machines Corporation System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues
JP2008109637A (ja) * 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
US8428013B2 (en) 2006-10-30 2013-04-23 Lg Electronics Inc. Method of performing random access in a wireless communcation system
JP2008118221A (ja) 2006-10-31 2008-05-22 Toshiba Corp 復号装置及び復号方法
WO2008054100A1 (en) 2006-11-01 2008-05-08 Electronics And Telecommunications Research Institute Method and apparatus for decoding metadata used for playing stereoscopic contents
JP5378227B2 (ja) 2006-11-14 2013-12-25 クゥアルコム・インコーポレイテッド チャネルスイッチングのためのシステムと方法
US8027328B2 (en) 2006-12-26 2011-09-27 Alcatel Lucent Header compression in a wireless communication network
EP2122482B1 (en) 2007-01-05 2018-11-14 Sonic IP, Inc. Video distribution system including progressive playback
US20080168516A1 (en) 2007-01-08 2008-07-10 Christopher Lance Flick Facilitating Random Access In Streaming Content
CA2675135A1 (en) 2007-01-09 2008-07-17 Nokia Corporation Method for supporting file versioning in mbms file repair
US20080172430A1 (en) 2007-01-11 2008-07-17 Andrew Thomas Thorstensen Fragmentation Compression Management
CA2656144A1 (en) 2007-01-11 2008-07-17 Panasonic Corporation Method for trick playing on streamed and encrypted multimedia
KR20080066408A (ko) 2007-01-12 2008-07-16 삼성전자주식회사 3차원 영상 처리 장치 및 방법
US9344362B2 (en) 2007-01-12 2016-05-17 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QOS control algorithm and apparatus for IPV6 label switching using the format
US8126062B2 (en) 2007-01-16 2012-02-28 Cisco Technology, Inc. Per multi-block partition breakpoint determining for hybrid variable length coding
US7721003B2 (en) 2007-02-02 2010-05-18 International Business Machines Corporation System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client
US20080192818A1 (en) 2007-02-09 2008-08-14 Dipietro Donald Vincent Systems and methods for securing media
US20080232357A1 (en) 2007-03-19 2008-09-25 Legend Silicon Corp. Ls digital fountain code
JP4838191B2 (ja) 2007-05-08 2011-12-14 シャープ株式会社 ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体
JP2008283571A (ja) 2007-05-11 2008-11-20 Ntt Docomo Inc コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法
US8275002B2 (en) 2007-05-14 2012-09-25 Samsung Electronics Co., Ltd. Broadcasting service transmitting apparatus and method and broadcasting service receiving apparatus and method for effectively accessing broadcasting service
EP2153566A1 (en) 2007-05-16 2010-02-17 Thomson Licensing Apparatus and method for encoding and decoding signals
FR2917262A1 (fr) 2007-06-05 2008-12-12 Thomson Licensing Sas Dispositif et procede de codage d'un contenu video sous la forme d'un flux scalable.
US8487982B2 (en) 2007-06-07 2013-07-16 Reald Inc. Stereoplexing for film and video applications
EP2501137A3 (en) 2007-06-11 2012-12-12 Samsung Electronics Co., Ltd. Method and apparatus for generating header information of stereoscopic image
CA2691085C (en) 2007-06-20 2016-12-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for improved media session management
KR20100030648A (ko) * 2007-06-26 2010-03-18 노키아 코포레이션 시간 레이어 스위칭 포인트들을 표시하는 시스템 및 방법
US7917702B2 (en) 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
JP2009027598A (ja) 2007-07-23 2009-02-05 Hitachi Ltd 映像配信サーバおよび映像配信方法
US8327403B1 (en) 2007-09-07 2012-12-04 United Video Properties, Inc. Systems and methods for providing remote program ordering on a user device via a web server
WO2009036378A1 (en) * 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US8233532B2 (en) 2007-09-21 2012-07-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal
US8346959B2 (en) 2007-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Client-controlled adaptive streaming
EP2046044B1 (en) 2007-10-01 2017-01-18 Cabot Communications Ltd A method and apparatus for streaming digital media content and a communication system
JP4975868B2 (ja) * 2007-10-09 2012-07-11 サムスン エレクトロニクス カンパニー リミテッド 移動通信システムにおけるmacpduの生成・解析装置及び方法
US8635360B2 (en) * 2007-10-19 2014-01-21 Google Inc. Media playback point seeking using data range requests
US8706907B2 (en) 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US20090125636A1 (en) 2007-11-13 2009-05-14 Qiong Li Payload allocation methods for scalable multimedia servers
EP2215595B1 (en) 2007-11-23 2012-02-22 Media Patents S.L. A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems
WO2009075766A2 (en) 2007-12-05 2009-06-18 Swarmcast, Inc. Dynamic bit rate scaling
JP5385598B2 (ja) 2007-12-17 2014-01-08 キヤノン株式会社 画像処理装置及び画像管理サーバ装置及びそれらの制御方法及びプログラム
US9313245B2 (en) 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
KR101506217B1 (ko) 2008-01-31 2015-03-26 삼성전자주식회사 스테레오스코픽 영상의 부분 데이터 구간 재생을 위한스테레오스코픽 영상 데이터스트림 생성 방법과 장치, 및스테레오스코픽 영상의 부분 데이터 구간 재생 방법과 장치
EP2086237B1 (en) 2008-02-04 2012-06-27 Alcatel Lucent Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions
US8151174B2 (en) 2008-02-13 2012-04-03 Sunrise IP, LLC Block modulus coding (BMC) systems and methods for block coding with non-binary modulus
US20090219985A1 (en) 2008-02-28 2009-09-03 Vasanth Swaminathan Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File
US7984097B2 (en) 2008-03-18 2011-07-19 Media Patents, S.L. Methods for transmitting multimedia files and advertisements
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US20090257508A1 (en) 2008-04-10 2009-10-15 Gaurav Aggarwal Method and system for enabling video trick modes
WO2009128642A2 (en) 2008-04-14 2009-10-22 Lg Electronics Inc. Method and apparatus for performing random access procedures
US20100049865A1 (en) * 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
US8855199B2 (en) * 2008-04-21 2014-10-07 Nokia Corporation Method and device for video coding and decoding
WO2009137705A2 (en) 2008-05-07 2009-11-12 Digital Fountain, Inc. Fast channel zapping and high quality streaming protection over a broadcast channel
US7979570B2 (en) 2008-05-12 2011-07-12 Swarmcast, Inc. Live media delivery over a packet-based computer network
JP5022301B2 (ja) 2008-05-19 2012-09-12 株式会社エヌ・ティ・ティ・ドコモ プロキシサーバおよび通信中継プログラム、並びに通信中継方法
CN101287107B (zh) 2008-05-29 2010-10-13 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
US8370887B2 (en) 2008-05-30 2013-02-05 Microsoft Corporation Media streaming with enhanced seek operation
US20100011274A1 (en) * 2008-06-12 2010-01-14 Qualcomm Incorporated Hypothetical fec decoder and signalling for decoding control
US8775566B2 (en) 2008-06-21 2014-07-08 Microsoft Corporation File format for media distribution and presentation
US8387150B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
US8468426B2 (en) 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
US8539092B2 (en) 2008-07-09 2013-09-17 Apple Inc. Video streaming using multiple channels
US20100153578A1 (en) 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US8638796B2 (en) * 2008-08-22 2014-01-28 Cisco Technology, Inc. Re-ordering segments of a large number of segmented service flows
KR101019634B1 (ko) 2008-09-04 2011-03-07 에스케이 텔레콤주식회사 미디어 전송 시스템 및 방법
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8370520B2 (en) 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
US8099476B2 (en) 2008-12-31 2012-01-17 Apple Inc. Updatable real-time or near real-time streaming
US8743906B2 (en) 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
RU2689191C2 (ru) 2009-01-26 2019-05-24 Томсон Лайсенсинг Упаковка кадров для кодирования видео
CN102301715B (zh) 2009-01-29 2015-12-16 杜比实验室特许公司 视频编码方法、视频装置和编码系统
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US8621044B2 (en) 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
WO2010120804A1 (en) 2009-04-13 2010-10-21 Reald Inc. Encoding, decoding, and distributing enhanced resolution stereoscopic video
US9807468B2 (en) 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching
WO2011009205A1 (en) 2009-07-22 2011-01-27 Jigsee Inc. Method of streaming media to heterogeneous client devices
US8355433B2 (en) 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
US20120151302A1 (en) 2010-12-10 2012-06-14 Qualcomm Incorporated Broadcast multimedia storage and access using page maps when asymmetric memory is used
US9288010B2 (en) * 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
EP2474182B1 (en) 2009-09-02 2020-12-02 Apple Inc. Mac packet data unit construction for wireless systems
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US9438861B2 (en) * 2009-10-06 2016-09-06 Microsoft Technology Licensing, Llc Integrating continuous and sparse streaming data
JP2011087103A (ja) 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
US8677005B2 (en) 2009-11-04 2014-03-18 Futurewei Technologies, Inc. System and method for media content streaming
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
CN101729857A (zh) 2009-11-24 2010-06-09 中兴通讯股份有限公司 一种接入视频服务的方法及视频播放系统
WO2011070552A1 (en) 2009-12-11 2011-06-16 Nokia Corporation Apparatus and methods for describing and timing representations in streaming media files
MX2012007838A (es) 2010-02-19 2012-07-30 Ericsson Telefon Ab L M Metodo y disposicion para adaptacion en transmision en flujo continuo de protocolo de transferencia de hipertexto.
US9185153B2 (en) 2010-02-19 2015-11-10 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for representation switching in HTTP streaming
JP5071495B2 (ja) 2010-03-04 2012-11-14 ウシオ電機株式会社 光源装置
BR112012022751B1 (pt) * 2010-03-11 2021-09-14 Electronics And Telecommunications Research Institute Aparelho e método de comunicação sem fio
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
US9497290B2 (en) 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
US8918533B2 (en) * 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
KR20120010089A (ko) 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9596447B2 (en) * 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8711933B2 (en) 2010-08-09 2014-04-29 Sony Computer Entertainment Inc. Random access point (RAP) formation using intra refreshing technique in video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
KR101737325B1 (ko) 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US8615023B2 (en) 2010-10-27 2013-12-24 Electronics And Telecommunications Research Institute Apparatus and method for transmitting/receiving data in communication system
US20120208580A1 (en) 2011-02-11 2012-08-16 Qualcomm Incorporated Forward error correction scheduling for an improved radio link protocol
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US6320520B1 (en) * 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications systems

Also Published As

Publication number Publication date
KR100924295B1 (ko) 2009-10-30
EP2315357A3 (en) 2013-04-10
US7720174B2 (en) 2010-05-18
EP2317653A2 (en) 2011-05-04
EP2369746B1 (en) 2022-04-06
TW200301623A (en) 2003-07-01
KR20040088034A (ko) 2004-10-15
US20080309525A1 (en) 2008-12-18
CN1620760A (zh) 2005-05-25
EP1468497A4 (en) 2005-05-11
US20060262877A1 (en) 2006-11-23
US7068729B2 (en) 2006-06-27
AU2002359873A1 (en) 2003-07-15
EP2317653A3 (en) 2012-08-22
US7711068B2 (en) 2010-05-04
JP4157041B2 (ja) 2008-09-24
US9236976B2 (en) 2016-01-12
EP2315357A2 (en) 2011-04-27
US20030058958A1 (en) 2003-03-27
EP2317653B1 (en) 2020-02-12
EP2369746A2 (en) 2011-09-28
TWI280748B (en) 2007-05-01
EP2315356B1 (en) 2020-02-12
EP2315356A1 (en) 2011-04-27
JP2005514828A (ja) 2005-05-19
WO2003056703A1 (en) 2003-07-10
EP1468497A1 (en) 2004-10-20
EP2369746A3 (en) 2012-09-26
US20110019769A1 (en) 2011-01-27

Similar Documents

Publication Publication Date Title
CN1620760B (zh) 用于通信系统的多级码发生器和解码器
JP5485302B2 (ja) ファイルダウンロードおよびストリーミングのシステム
JP3976163B2 (ja) 損失パケットのパケット伝送プロトコル回復方法
CA2359534C (en) Information additive group code generator and decoder for communication systems
JP5329239B2 (ja) 通信システムのための多体ベース符号の生成器および復号化器
CN100539439C (zh) 连锁反应码的系统编码和解码系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180418

Address after: California, USA

Patentee after: QUALCOMM Inc.

Address before: California, USA

Patentee before: Digital Fountain, Inc.

TR01 Transfer of patent right
CX01 Expiry of patent term

Granted publication date: 20140226

CX01 Expiry of patent term