Multiple-field based code generator and decoder for communications systems
First Claim
1. A method of encoding data for transmission from a source to a destination over a communications channel that is expected to perform as an erasure channel at least partially, the method comprising:
- obtaining an ordered set of input symbols representing the data to be encoded;
selecting a plurality of field arrays of values, wherein each field array is derived from a finite field array and at least two different finite field arrays are represented;
generating a data structure that represents a coefficient matrix having entries of at least two of the field arrays derived from different finite field arrays, wherein a majority of the entries of the coefficient matrix are from a smaller finite field array, and a remainder of the entries of the coefficient matrix are from a larger finite field array;
generating output symbols as linear combinations of input symbols with coefficients taken from the data structure that represents the coefficient matrix; and
using the generated output symbols and an encoding for the data.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of encoding data for transmission from a source to a destination over a communications channel is provided. The method operates on an ordered set of input symbols and includes generating a plurality of redundant symbols from the input symbols based on linear constraints. The method also includes generating a plurality of output symbols from a combined set of symbols including the input symbols and the redundant symbols based on linear combinations, wherein at least one of the linear constraints or combinations is over a first finite field and at least one other of the linear constraints or combinations is over a different second finite field, and such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any predetermined number of the output symbols.
-
Citations
83 Claims
-
1. A method of encoding data for transmission from a source to a destination over a communications channel that is expected to perform as an erasure channel at least partially, the method comprising:
-
obtaining an ordered set of input symbols representing the data to be encoded; selecting a plurality of field arrays of values, wherein each field array is derived from a finite field array and at least two different finite field arrays are represented; generating a data structure that represents a coefficient matrix having entries of at least two of the field arrays derived from different finite field arrays, wherein a majority of the entries of the coefficient matrix are from a smaller finite field array, and a remainder of the entries of the coefficient matrix are from a larger finite field array; generating output symbols as linear combinations of input symbols with coefficients taken from the data structure that represents the coefficient matrix; and using the generated output symbols and an encoding for the data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of decoding data from a transmission received at a destination from a source over a communications channel that is expected to perform as an erasure channel at least partially, the method comprising:
-
receiving at least some of a plurality of output symbols generated from an ordered set of input symbols that were encoded into the plurality of output symbols wherein each output symbol was generated as a linear combination of one or more of the input symbols with coefficients chosen from finite fields, wherein at least one coefficient is a member of a first finite field and at least one other coefficient is a member of a second finite field that is larger than the first finite field; and regenerating the ordered set of input symbols to a desired degree of accuracy from reception of any predetermined number of the output symbols, wherein a majority of the coefficients are chosen from the smaller first finite field, and a remainder of the coefficients are chosen from the larger second finite field. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method of encoding data for transmission from a source to a destination over a communications channel that is expected to perform as an erasure channel at least partially, the method comprising:
-
obtaining an ordered set of input symbols representing the data to be encoded;
selecting a plurality of field arrays of values, wherein each field array is derived from a finite field array and at least two different finite field arrays are represented;generating a plurality of redundant symbols from the ordered set of input symbols, wherein each redundant symbol is generated based on a set of linear constraints over one or more of the input symbols and other redundant symbols with coefficients over finite fields, wherein the finite fields are such that a first finite field array and a second finite field array are different, a majority of the coefficients are chosen from a smaller of the first finite field array and the second finite field array, and a remainder of the coefficients are chosen from a larger of the first finite field array and the second finite field array; generating a plurality of output symbols from the combined set of input and redundant symbols, wherein each output symbol is generated as a linear combination of one or more of the combined set of input and redundant symbols with coefficients chosen from finite fields; using the generated output symbols and an encoding for the data. - View Dependent Claims (18, 19)
-
-
20. A method of decoding data from a transmission received at a destination from a source over a communications channel that is expected to perform as an erasure channel at least partially, the method comprising:
-
receiving at least some of the plurality of output symbols generated from a combined set of input and redundant symbols, wherein each output symbol is generated as a linear combination of one or more of a combined set of input and redundant symbols with coefficients chosen from finite fields, wherein the plurality of redundant symbols is generated from the ordered set of input symbols, wherein each redundant symbol is generated based on a set of linear constraints over one or more of the input symbols and other redundant symbols with coefficients over finite fields, wherein at least one coefficient is a member of a first finite field and at least one other coefficient is a member of a second finite field that is larger than the first finite field, a majority of the coefficients are chosen from the smaller first finite field, and a remainder of the coefficients are chosen from the larger second finite field; and regenerating the ordered set of input symbols to a desired degree of accuracy from reception of any predetermined number of the output symbols. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
-
28. An apparatus for encoding data for transmission from a source to a destination over a communications channel, the apparatus comprising:
-
memory; and a processor; the memory and processor configured to perform operations comprising; obtaining an ordered set of input symbols representing the data to be encoded; selecting a plurality of field arrays of values, wherein each field array is derived from a finite field array and at least two different finite field arrays are represented; generating a data structure that represents a coefficient matrix having entries of at least two of the field arrays derived from different finite field arrays, wherein a majority of the entries of the coefficient matrix are from a smaller finite field array, and a remainder of the entries of the coefficient matrix are from a larger finite field array; generating output symbols as linear combinations of input symbols with coefficients taken from the data structure that represents the coefficient matrix; and using the generated output symbols and an encoding for the data. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. An apparatus for decoding data from a transmission received at a destination from a source over a communications channel, the apparatus comprising:
-
memory; and a processor; the memory and processor configured to perform operations comprising; receiving at least some of a plurality of output symbols generated from an ordered set of input symbols that were encoded into the plurality of output symbols wherein each output symbol was generated as a linear combination of one or more of the input symbols with coefficients chosen from finite fields, wherein at least one coefficient is a member of a first finite field and at least one other coefficient is a member of a second finite field that is larger than the first finite field; and regenerating the ordered set of input symbols to a desired degree of accuracy from reception of any predetermined number of the output symbols, wherein a majority of the coefficients are chosen from the smaller first finite field, and a remainder of the coefficients are chosen from the larger second finite field. - View Dependent Claims (38, 39, 40, 41, 42, 43)
-
-
44. An apparatus for encoding data for transmission from a source to a destination over a communications channel, the apparatus comprising:
-
memory; and a processor; the memory and processor configured to perform operations comprising; obtaining an ordered set of input symbols representing the data to be encoded; selecting a plurality of field arrays of values, wherein each field array is derived from a finite field array and at least two different finite field arrays are represented; generating a plurality of redundant symbols from the ordered set of input symbols, wherein each redundant symbol is generated based on a set of linear constraints over one or more of the input symbols and other redundant symbols with coefficients over finite fields, wherein the finite fields are such that a first finite field array and a second finite field array are different, a majority of the coefficients are chosen from a smaller of the first finite field array and the second finite field array, and a remainder of the coefficients are chosen from a larger of the first finite field array and the second finite field array; generating a plurality of output symbols from the combined set of input and redundant symbols, wherein each output symbol is generated as a linear combination of one or more of the combined set of input and redundant symbols with coefficients chosen from finite fields; using the generated output symbols and an encoding for the data. - View Dependent Claims (45, 46)
-
-
47. An apparatus for decoding data from a transmission received at a destination from a source over a communications channel, the apparatus comprising:
-
memory; and a processor; the memory and processor configured to perform operations comprising; receiving at least some of the plurality of output symbols generated from a combined set of input and redundant symbols, wherein each output symbol is generated as a linear combination of one or more of a combined set of input and redundant symbols with coefficients chosen from finite fields, wherein the plurality of redundant symbols is generated from the ordered set of input symbols, wherein each redundant symbol is generated based on a set of linear constraints over one or more of the input symbols and other redundant symbols with coefficients over finite fields, wherein at least one coefficient is a member of a first finite field and at least one other coefficient is a member of a second finite field that is larger than the first finite field, a majority of the coefficients are chosen from the smaller first finite field, and a remainder of the coefficients are chosen from the larger second finite field; and regenerating the ordered set of input symbols to a desired degree of accuracy from reception of any predetermined number of the output symbols. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54)
-
-
55. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor to perform a method for encoding data for transmission from a source to a destination over a communications channel, the method comprising:
-
obtaining an ordered set of input symbols representing the data to be encoded; selecting a plurality of field arrays of values, wherein each field array is derived from a finite field array and at least two different finite field arrays are represented; generating a data structure that represents a coefficient matrix having entries of at least two of the field arrays derived from different finite field arrays, wherein a majority of the entries of the coefficient matrix are from a smaller finite field array, and a remainder of the entries of the coefficient matrix are from a larger finite field array; generating output symbols as linear combinations of input symbols with coefficients taken from the data structure that represents the coefficient matrix; and using the generated output symbols and an encoding for the data. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63)
-
-
64. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor to perform a method for decoding data from a transmission received at a destination from a source over a communications channel, the method comprising:
-
receiving at least some of a plurality of output symbols generated from an ordered set of input symbols that were encoded into the plurality of output symbols wherein each output symbol was generated as a linear combination of one or more of the input symbols with coefficients chosen from finite fields, wherein at least one coefficient is a member of a first finite field and at least one other coefficient is a member of a second finite field that is larger than the first finite field; and regenerating the ordered set of input symbols to a desired degree of accuracy from reception of any predetermined number of the output symbols, wherein a majority of the coefficients are chosen from the smaller first finite field, and a remainder of the coefficients are chosen from the larger second finite field. - View Dependent Claims (65, 66, 67, 68, 69, 70)
-
-
71. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor to perform a method for encoding data for transmission from a source to a destination over a communications channel, the method comprising:
-
obtaining an ordered set of input symbols representing the data to be encoded; selecting a plurality of field arrays of values, wherein each field array is derived from a finite field array and at least two different finite field arrays are represented; generating a plurality of redundant symbols from the ordered set of input symbols, wherein each redundant symbol is generated based on a set of linear constraints over one or more of the input symbols and other redundant symbols with coefficients over finite fields, wherein the finite fields are such that a first finite field array and a second finite field array are different, a majority of the coefficients are chosen from a smaller of the first finite field array and the second finite field array, and a remainder of the coefficients are chosen from a larger of the first finite field array and the second finite field array; generating a plurality of output symbols from the combined set of input and redundant symbols, wherein each output symbol is generated as a linear combination of one or more of the combined set of input and redundant symbols with coefficients chosen from finite fields; using the generated output symbols and an encoding for the data. - View Dependent Claims (72, 73)
-
-
74. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor to perform a method for decoding data from a transmission received at a destination from a source over a communications channel, the method comprising:
-
receiving at least some of the plurality of output symbols generated from a combined set of input and redundant symbols, wherein each output symbol is generated as a linear combination of one or more of a combined set of input and redundant symbols with coefficients chosen from finite fields, wherein the plurality of redundant symbols is generated from the ordered set of input symbols, wherein each redundant symbol is generated based on a set of linear constraints over one or more of the input symbols and other redundant symbols with coefficients over finite fields, wherein at least one coefficient is a member of a first finite field and at least one other coefficient is a member of a second finite field that is larger than the first finite field, a majority of the coefficients are chosen from the smaller first finite field, and a remainder of the coefficients are chosen from the larger second finite field; and regenerating the ordered set of input symbols to a desired degree of accuracy from reception of any predetermined number of the output symbols. - View Dependent Claims (75, 76, 77, 78, 79, 80, 81)
-
-
82. An apparatus for decoding data from a transmission received at a destination from a source over a communications channel, the apparatus comprising:
-
means for receiving at least some of a plurality of output symbols generated from an ordered set of input symbols that were encoded into the plurality of output symbols wherein each output symbol was generated as a linear combination of one or more of the input symbols with coefficients chosen from finite fields, wherein at least one coefficient is a member of a first finite field and at least one other coefficient is a member of a second finite field that is larger than the first finite field; and means for regenerating the ordered set of input symbols to a desired degree of accuracy from reception of any predetermined number of the output symbols, wherein a majority of the coefficients are chosen from the smaller first finite field, and a remainder of the coefficients are chosen from the larger second finite field.
-
-
83. An apparatus for decoding data from a transmission received at a destination from a source over a communications channel, the apparatus comprising:
-
means for receiving at least some of the plurality of output symbols generated from a combined set of input and redundant symbols, wherein each output symbol is generated as a linear combination of one or more of a combined set of input and redundant symbols with coefficients chosen from finite fields, wherein the plurality of redundant symbols is generated from the ordered set of input symbols, wherein each redundant symbol is generated based on a set of linear constraints over one or more of the input symbols and other redundant symbols with coefficients over finite fields, wherein at least one coefficient is a member of a first finite field and at least one other coefficient is a member of a second finite field that is larger than the first finite field, a majority of the coefficients are chosen from the smaller first finite field, and a remainder of the coefficients are chosen from the larger second finite field; and means for regenerating the ordered set of input symbols to a desired degree of accuracy from reception of any predetermined number of the output symbols.
-
Specification