BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a communications system according to one embodiment of the present invention.
FIG. 2 is a block diagram an encoder according to one embodiment of the present invention.
FIG. 3 is a simplified block diagram of a method of generating redundant symbols according to one embodiment of the present invention.
FIG. 4 is a simplified block diagram of the basic operation of a static encoder according to one embodiment of the present invention.
FIG. 5 is a simplified block diagram of a dynamic encoder according to one embodiment of the present invention.
FIG. 6 is a simplified block diagram of a basic operation of a dynamic encoder according to one embodiment of the present invention.
FIG. 7 is a simplified block diagram of a static encoder according to one embodiment of the present invention.
FIG. 8 is a simplified block diagram of the basic operation a static encoder according to one embodiment of the present invention.
FIG. 9 is a simplified diagram of a method for calculating encoding parameters according to one specific embodiment of a static encoder.
FIG. 10 is a simplified flow diagram of a static encoder according to another embodiment of the present invention.
FIG. 11 is a simplified block diagram of a decoder according to one embodiment of the present invention.
FIG. 12 is a simplified flow diagram of an operation of a decoder according to one embodiment of the present invention.
FIG. 13 is a simplified flow diagram of an operation of a decoder according to another embodiment of the present invention.
FIG. 14 is a simplified flow diagram of an operation of a decoder according to yet another embodiment of the present invention.
FIG. 15 is a simplified block diagram of a dynamic decoder according to one embodiment of the present invention.
FIG. 16 is a simplified block diagram of a static decoder according to one embodiment of the present invention.
FIG. 17 illustrates source symbol from sub-symbol mappings.
FIG. 18 illustrates possible settings of file download parameters for various file sizes.
FIG. 19 illustrates possible settings of streaming parameters for various source block sizes.
FIG. 20 illustrates a form of a matrix that represents a relationship between source and intermediate symbols.
FIG. 21 illustrates a degree distribution for the degree generator.
FIG. 22 illustrates a form of the matrix A that can be used for decoding.
FIG. 23 illustrates a block decomposition of the matrix A that can be used for decoding.
FIG. 24
a illustrates a block decomposition of the matrix X that can be used for decoding.
FIG. 24
b illustrates a block decomposition of the matrix X after several steps of the first phase of the decoding process.
FIG. 25 illustrates a block decomposition of the matrix X after some elimination steps.
FIG. 26 illustrates a block decomposition of a sub-matrix of X after further elimination steps.
FIG. 27 illustrates a block decomposition of the matrix A after elimination and deletion steps.
FIG. 28 illustrates a block decomposition of the matrix A after further elimination and deletion steps.
FIG. 29 illustrates a block decomposition of the matrix A after further elimination steps.
FIG. 30 illustrates a block decomposition of the matrix A after yet further elimination steps.
FIG. 31 shows a table of code failure probabilities for a (120,100) code constructed according to one preferred embodiment of the invention.
FIG. 32 shows a table of code failure probabilities for a (110,100) code constructed according to one preferred embodiment of the invention.