Patent US5771244A successfully refreshed from Google Patents.
US5771244A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Universal Reed-Solomon coder/encoder
Assignee: University of Southern California
•
Filing: 1994-03-09
•
Granted: 1998-06-23
•
Expires: 2014-03-09
Abstract
Abstract A Reed-Solomon encoding and decoding system is described which uses the decoder as an encoder. The input bit is formed into a codeword having all parity symbols marked as erasures. The decoder decodes this codeword by inputting the proper parity information. Various techniques of operating a preferred Reed-Solomon coder over the Galois Field GF(257) are also described. Special calculation load reduction techniques over GF(257) and GF(256) are also described.
Inventors
- 👤 Irving S. Reed
- 👤 Chin Chi Hsu
- 👤 T. K. Truong
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-02 17:34
CPC Classifications
H; H04; H04L; H04L1/00; H04L1/004; H04L1/0056; H04L1/0057; H03; H03M; H03M13/00; H03M13/03; H03M13/05; H03M13/13; H03M13/15; H03M13/151; H04L1/0041; H04L1/0043; H04L1/0045; H04L1/0052; H04L1/0064; H04L1/0065
Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
178 words
A half-duplex system using a single Reed-Solomon decoding device, comprising the steps of: means for determining if a communication is to be decoded or encoded; a single Reed-Solomon decoder, for both said encoding and said decoding; a parity marking device, receiving a message to be encoded and forming an extended and corrupted codeword in which all parity symbols thereof have been marked as erasures; a signal switching device responsive to said determining means, switching paths to couple a signal which is determined as one to be encoded to said parity marking device, and coupling said codeword including erasure-marked parity symbols to said single Reed-Solomon decoder, and to couple a signal to be decoded, directly, without making parities as erasures to said Reed-Solomon decoder, wherein said parity marking device includes: means for obtaining a message polynomial m(x) to be encoded, and means for forming the message polynomial m(x) into a codeword of the form m(x) xd-1+P(x)c, where P(x)c represents a deliberately-corrupted and marked parity portion, and means for feeding said deliberately-corrupted and marked message to said signal switching device.
Claim 2
Dependent Claim
178 words
A half-duplex system using a single Reed-Solomon decoding device, comprising the steps of: means for determining if a communication is to be decoded or encoded; a single Reed-Solomon decoder, for both said encoding and said decoding; a parity marking device, receiving a message to be encoded and forming an extended and corrupted codeword in which all parity symbols thereof have been marked as erasures; a signal switching device responsive to said determining means, switching paths to couple a signal which is determined as one to be encoded to said parity marking device, and coupling said codeword including erasure-marked parity symbols to said single Reed-Solomon decoder, and to couple a signal to be decoded, directly, without making parities as erasures to said Reed-Solomon decoder, wherein said parity marking device includes: means for obtaining a message polynomial m(x) to be encoded, and means for forming the message polynomial m(x) into a codeword of the form m(x) xd-1+P(x)c, where P(x)c represents a deliberately-corrupted and marked parity portion, and means for feeding said deliberately-corrupted and marked message to said signal switching device.
Claim 3
Dependent Claim
128 words
A Reed-Solomon coding and/or decoding system comprising means for receiving an input sequence to be coded; means for calculating values necessary to translate the input sequence into an output sequence, and providing the output sequence based on said values, said calculating means including: two look-up tables, a NUM2POWER table having an input value of α n and an output value of n, and a POWER2NUM table having an input value of k, and an output value of α k , where α is the primitive element of the calculation step; and means for carrying out a multiplication operation c=a×b mod Q by looking up: POWER2NUM (NUM2POWER a!+NUM2POWER b!) mod (Q-1)! in said two look-up tables, such that all calculations can be carried out without any multiplications or divisions.
Claim 4
Dependent Claim
128 words
A Reed-Solomon coding and/or decoding system comprising means for receiving an input sequence to be coded; means for calculating values necessary to translate the input sequence into an output sequence, and providing the output sequence based on said values, said calculating means including: two look-up tables, a NUM2POWER table having an input value of α n and an output value of n, and a POWER2NUM table having an input value of k, and an output value of α k , where α is the primitive element of the calculation step; and means for carrying out a multiplication operation c=a×b mod Q by looking up: POWER2NUM (NUM2POWER a!+NUM2POWER b!) mod (Q-1)! in said two look-up tables, such that all calculations can be carried out without any multiplications or divisions.
Claim 5
Dependent Claim
120 words
A Reed-Solomon coding and/or decoding system comprising: means for receiving an input sequence; means for calculating values necessary to translate the input sequence into an output sequence, and providing the output sequence based on said values, said calculating means including: two look-up tables, a NUM2POWER table having an input value of α n and an output value of n, and a POWER2NUM table having an input value of k, and an output value of α k , where α is the primitive element of the calculation step; and means for carrying out a division operation c=a/b mod Q by looking up POWER2NUM (NUM2POWER a!-NUM2POWER b!) mod (Q-1)! such that all calculations can be carried out without any multiplications or divisions.
Claim 6
Dependent Claim
120 words
A Reed-Solomon coding and/or decoding system comprising: means for receiving an input sequence; means for calculating values necessary to translate the input sequence into an output sequence, and providing the output sequence based on said values, said calculating means including: two look-up tables, a NUM2POWER table having an input value of α n and an output value of n, and a POWER2NUM table having an input value of k, and an output value of α k , where α is the primitive element of the calculation step; and means for carrying out a division operation c=a/b mod Q by looking up POWER2NUM (NUM2POWER a!-NUM2POWER b!) mod (Q-1)! such that all calculations can be carried out without any multiplications or divisions.
Claim 7
Dependent Claim
17 words
A system as in claim 2, wherein said calculating means is a reduced instruction set type microprocessor.
Claim 8
Dependent Claim
17 words
A system as in claim 3, wherein said calculating means is a reduced instruction set type microprocessor.
Claim 9
Independent Claim
148 words
A method of operating a half-duplex system using a single Reed-Solomon decoding device, comprising the steps of: determining if a communication is to be decoded or encoded; providing a single Reed-Solomon decoder for both said encoding and said decoding; if said signal is determined as one to be encoded, forming an erasure-marked codeword in which all parity symbols thereof have been intentionally marked as erasures, and coupling said codeword including erasure-marked parity symbols to said Reed-Solomon decoder; if said signal is to be decoded, coupling said signal directly, without marking, to said Reed-Solomon decoder; wherein said corrupting and erasure-marking step includes the steps of: obtaining a message polynomial m(x) to be encoded; forming the message polynomial m(x) into a codeword of the form m(x) x d-1 +P(x)c, where P(x)c represents a deliberately-corrupted and erasure-marded parity portion, and feeding said deliberately-corrupted and erasure-marked message to said Reed-Solomon decoder system.
Claim 10
Independent Claim
148 words
A method of operating a half-duplex system using a single Reed-Solomon decoding device, comprising the steps of: determining if a communication is to be decoded or encoded; providing a single Reed-Solomon decoder for both said encoding and said decoding; if said signal is determined as one to be encoded, forming an erasure-marked codeword in which all parity symbols thereof have been intentionally marked as erasures, and coupling said codeword including erasure-marked parity symbols to said Reed-Solomon decoder; if said signal is to be decoded, coupling said signal directly, without marking, to said Reed-Solomon decoder; wherein said corrupting and erasure-marking step includes the steps of: obtaining a message polynomial m(x) to be encoded; forming the message polynomial m(x) into a codeword of the form m(x) x d-1 +P(x)c, where P(x)c represents a deliberately-corrupted and erasure-marded parity portion, and feeding said deliberately-corrupted and erasure-marked message to said Reed-Solomon decoder system.
Claim 11
Independent Claim
138 words
A method of Reed-Solomon coding and/or decoding an input sequence into an output sequence, comprising the steps of: receiving the input sequence; calculating values necessary to translate the input sequence into an output sequence; and providing the output sequence based on said values, wherein said calculating values step includes the steps of: storing in advance two look-up tables, a NUM2POWER table having an input value of α n and an output value of n, and a POWER2NUM table having an input value of k, and an output value of α k , where α is the primitive element of the calculating step; and carrying out a multiplication operation c=a×b mod Q by looking up: POWER2NUM (NUM2POWER a!+NUM2POWER b!) mod (Q-1)! in said two look-up tables, such that all calculations can be carried out without any multiplications or divisions.
Claim 12
Independent Claim
138 words
A method of Reed-Solomon coding and/or decoding an input sequence into an output sequence, comprising the steps of: receiving the input sequence; calculating values necessary to translate the input sequence into an output sequence; and providing the output sequence based on said values, wherein said calculating values step includes the steps of: storing in advance two look-up tables, a NUM2POWER table having an input value of α n and an output value of n, and a POWER2NUM table having an input value of k, and an output value of α k , where α is the primitive element of the calculating step; and carrying out a multiplication operation c=a×b mod Q by looking up: POWER2NUM (NUM2POWER a!+NUM2POWER b!) mod (Q-1)! in said two look-up tables, such that all calculations can be carried out without any multiplications or divisions.
Claim 13
Independent Claim
133 words
A method of Reed-Solomon coding and/or decoding an input sequence into an output sequence, comprising the steps of: receiving the input sequence; calculating values necessary to translate the input sequence into an output sequence; and providing the output sequence based on said values, wherein said calculating values step includes the steps of: storing in advance two look-up tables, a NUM2POWER table having an input value of α n and an output value of n, and a POWER2NUM table having an input value of k, and an output value of α k , where α is the primitive element of the calculating step; and carrying out a division operation c=a/b mod Q by looking up POWER2NUM (NUM2POWER a!-NUM2POWER b!) mod (Q-1)! such that all calculations can be carried out without any multiplications or divisions.
Claim 14
Independent Claim
133 words
A method of Reed-Solomon coding and/or decoding an input sequence into an output sequence, comprising the steps of: receiving the input sequence; calculating values necessary to translate the input sequence into an output sequence; and providing the output sequence based on said values, wherein said calculating values step includes the steps of: storing in advance two look-up tables, a NUM2POWER table having an input value of α n and an output value of n, and a POWER2NUM table having an input value of k, and an output value of α k , where α is the primitive element of the calculating step; and carrying out a division operation c=a/b mod Q by looking up POWER2NUM (NUM2POWER a!-NUM2POWER b!) mod (Q-1)! such that all calculations can be carried out without any multiplications or divisions.
Claim 15
Dependent Claim
17 words
A method as in claim 7 wherein said operation is carried out by a reduced-instruction-set type microprocessor.
Claim 16
Dependent Claim
17 words
A method as in claim 8 wherein said operation is carried out by a reduced-instruction-set type microprocessor.
Claim 17
Independent Claim
74 words
A method of operating to create Reed-Solomon values, comprising the steps of: obtaining a Reed-Solomon message to be decoded; computing syndromes from the data by using a forward transform defined by ##EQU68## in the Galois field of a prime number; calculating only d-1 coefficients of the desired syndromes, where d=the number of errata, according to the equation ##EQU69## calculating a decimation in time FFT-like calculation using multiple stages and creating Reed-Solomon values based thereon.
Claim 18
Independent Claim
74 words
A method of operating to create Reed-Solomon values, comprising the steps of: obtaining a Reed-Solomon message to be decoded; computing syndromes from the data by using a forward transform defined by ##EQU68## in the Galois field of a prime number; calculating only d-1 coefficients of the desired syndromes, where d=the number of errata, according to the equation ##EQU69## calculating a decimation in time FFT-like calculation using multiple stages and creating Reed-Solomon values based thereon.
Claim 19
Independent Claim
158 words
A method of using a Reed-Solomon decoder to encode a message, comprising the steps of: providing a Reed-Solomon decoder; forming an erasure-marked codeword, including a message portion and a parity portion, and including areas of said parity portion which are intentionally marked as erasures; feeding said erasure-marked codeword to the Reed-Solomon decoder; and using said Reed-Solomon decoder to decode the erasure-marked codeword into a valid codeword, which includes an intact message portion and a valid parity portion, and which hence represents an encoded message; wherein said step of forming a deliberately-corrupted and erasure-marked codeword includes the steps of: obtaining a message polynomial m(x) to be encoded; forming the message polynomial m(x) into a codeword of the form m(x) x d-1 +P(x)c, where P(x)c represents a codeword with a corrupted and erasure-marked parity portion, all portions of which are marked as erasures, and feeding the message polynomial with the corrupted and erasure-marked parity portion to said Reed-Solomon decoder system.
Claim 20
Independent Claim
158 words
A method of using a Reed-Solomon decoder to encode a message, comprising the steps of: providing a Reed-Solomon decoder; forming an erasure-marked codeword, including a message portion and a parity portion, and including areas of said parity portion which are intentionally marked as erasures; feeding said erasure-marked codeword to the Reed-Solomon decoder; and using said Reed-Solomon decoder to decode the erasure-marked codeword into a valid codeword, which includes an intact message portion and a valid parity portion, and which hence represents an encoded message; wherein said step of forming a deliberately-corrupted and erasure-marked codeword includes the steps of: obtaining a message polynomial m(x) to be encoded; forming the message polynomial m(x) into a codeword of the form m(x) x d-1 +P(x)c, where P(x)c represents a codeword with a corrupted and erasure-marked parity portion, all portions of which are marked as erasures, and feeding the message polynomial with the corrupted and erasure-marked parity portion to said Reed-Solomon decoder system.
References Cited (Backward Citations)
US4413339A
Cited
US4583225A
Cited
US4567594A
Cited
US4646301A
Cited
US4584686A
Cited
US4675869A
Cited
US4683572A
Cited
US4649541A
Cited
US4742519A
Cited
US4888778A
Cited
US5325373A
Cited
US4852099A
Cited
US4975867A
Cited
US4873688A
Cited
US4907233A
Cited
US5170399A
Cited
US5130990A
Cited
US5115436A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-06-22 | 2001-12-22 | 2002-06-23 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-06-22 | 2005-12-22 | 2006-06-23 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-06-22 | 2009-12-22 | 2010-06-23 | $7700.00 | Window Closed / Lapsed |