← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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 09:42
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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag