摘要 |
Lost transmission packets are recovered using parity symbols. An encoder uses an input file of data and a key I selected from a key alphabet much larger than the number of input symbols in the input file to produce output symbols which might for example constitute entire transmission packets. An output symbol with key I generated by determining a weight, W(I), for the output symbol to be generated, selecting a number W(I) of the output symbols associated with the output symbol according to a function of I, and generating the output symbol's value B(I) from a predetermined valve function F(I) of the selected W(I) input symbols so that erasures can be recovered without grouping input symbols into blocks. An encoder can be called repeatedly to generate multiple output symbols. The output symbols are generally independent of each other, and an unbounded number (subject to the resolution of I) can be generated, if needed. A decoder receives some or all of the output symbols generated. The number of output symbols needed to decode an input file is equal to, or slightly greater than, the number of input symbols comprising the file, assuming that input symbols and output symbols represent the same number of bits of data. |