JP2003529233A - データを符号化及び復号化する方法及び装置 - Google Patents

データを符号化及び復号化する方法及び装置

Info

Publication number
JP2003529233A
JP2003529233A JP2001520981A JP2001520981A JP2003529233A JP 2003529233 A JP2003529233 A JP 2003529233A JP 2001520981 A JP2001520981 A JP 2001520981A JP 2001520981 A JP2001520981 A JP 2001520981A JP 2003529233 A JP2003529233 A JP 2003529233A
Authority
JP
Japan
Prior art keywords
accessing
lookup
gcd
tables
lookup table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001520981A
Other languages
English (en)
Inventor
ヤン、ジェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JP2003529233A publication Critical patent/JP2003529233A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/158Finite field arithmetic processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/159Remainder calculation, e.g. for encoding and syndrome calculation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

(57)【要約】 符号化の間、マイクロプロセッサ(201)は、通常のリード・ソロモン符号化技術によりYmを算出する。マイクロプロセッサ(201)は次に、参照テーブル(203)に対する指標としてYmを使用し、参照テーブル(203)からG0Ym,G1Ym,..., GK- 1Ymを戻される。シンドローム計算の間、パリティ・シンボルの第2の集合が、符号器に類似した方法を用いて情報シンボルから生成される。詳細には、G0Ym,..., GK- 1Ymに対応する値が、符号器がG0Ym,G1Ym,..., GK- 1Ymに対する値を決定する同様の方法で、第1参照テーブル(503)から得られる。第2参照テーブル(505)は誤り位置多項式の根を決定するように構成される。第2参照テーブルは複数のテーブルから成り、各テーブルは(Q−1)個の要素を含む。QはGF(Q)体のサイズである。(Q−1)とm(GCD(Q−1, m))の最大公約数が1である場合、m番目の参照テーブルは位置iにおいてガロア体要素α- miを格納する。GCD(Q−1,m)≠1である場合、m番目の参照テーブルは実際に、GFの要素α- (mi+j)(j=0,1,...,GCD(Q−1,m)−1)を格納する(GCD(Q−1,m))のサブテーブルから成る。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は一般的に、符号化及び複合化に関する。詳細には、リード・ソロモン
符号化及び復号化のための方法及び装置に関する。
【0002】 (発明の背景) リード・ソロモン符号は当該技術分野において公知である。リード.I.S(
Reed I.S)及びソロモン G(Solomon G)による「Journal
of Society of Industrial Application Mathematics 8」、300〜304ペー
ジ(1960)に記載の「特定の有限体における多項式コード(Polynomial cod
e over certain finite field )」において最初に説明されたように、リード・
ソロモンコードは、受信データ内の誤りを除去するために、データの送信中に使
用され得る。符合化器は、参照として本明細書に組み込まれる米国特許第4,1
42,174号及び第4,567,594号に開示されたガロア体の数学的応用
に依存する。要するに、リード・ソロモンコードは、GF(Q)で示される複数
の数からなるガロア体からのコードシンボルにより定義さる。式中のQ=2bは
2の自然数乗である。ガロア体は有限数の要素(元)を有する。GF(Q)は、
特定の要素(α)の0とQ−1による連続的な累乗(α0,α1,...,αQ
−1)により表すことのできるQ個の要素を有する。
【0003】 リード・ソロモン符号器や復号器を用いた多数の異なる方法が当該技術分野に
おいて公知である。リード・ソロモン符号を誤り訂正において使用する一つのそ
のような方法には、送信データにパリティ・シンボルの集合を付加することがあ
る。用語「シンボル」は、GF(Q)体の要素を構成するbビットを表すために
使用される。パリティ・シンボルは送信データ内の誤りを検出及び訂正するため
に使用される。より詳細には、符号器は、メッセージビットをGF(Q)のメッ
セージ多項式を形成するシンボルのブロックとして処理し、コード生成多項式(
G)でメッセージ多項式(X)を除算することによりパリティ・シンボルを導出
する。パリティ・シンボルは、剰余多項式(C)の係数として識別される。パリ
ティ・シンボルはメッセージシンボルに付加されて、コードワード多項式の係数
を形成する。コード生成多項式は、コードワードが誤り訂正グループコードの特
定のクラスに属するように、コードワードに対して所望の特性を与えるように選
択される。送信中、コードワードは、パリティ・シンボルをメッセージデータに
テイルビットとして付加することにより送信され、テイルビットは受信したメッ
セージ多項式(R)内の誤りを訂正するために受信器により使用される。
【0004】 図1は、シフトレジスタ多項式の除算回路として実装された、従来のリード・
ソロモン符号器を示す。図のように、シフトレジスタは遅延素子(D)において
ゼロに初期化される。各反復の間、m番目のデータシンボルXmは、最右の遅延
素子の内容と乗算され、シンボルYmを形成する。次に、各遅延素子の内容は、
その左方の遅延素子の内容と、YmとGmの積とを合計することにより更新され
、Gmはコード生成多項式の係数である。即ち、G(z)=G0+G1z+..
.+GK−1zK−1+zKである(積G0Ymにより更新される最左の遅延素
子は例外である)。
【0005】 パリティ・シンボルは、メッセージブロックの末尾までシフトレジスタを更新
し続けることにより生成される。メッセージブロックの最後のシンボルまで反復
を完了すると、シフトレジスタの内容はパリティ・シンボルとなる。最右の遅延
素子は、送信器によってメッセージデータに付加される最後のパリティ・シンボ
ルを含む。
【0006】 現在まで、除算処理は一般的に、専用のハードウェア(例えば、増幅器101
、遅延回路102、加算器103)により実行されているが、「ソフト」モデム
の進歩により、同処理はマイクロプロセッサ/ソフトウェアの組み合せを介して
達成されることが多くなってきている。
【0007】 ソフトモデムはリード・ソロモン符号化/復号化を実行する能力を有するが、
従来技術による実施ではかなりの処理能力が必要であるとういう問題が存在する
。図1に示した符号器では、各メッセージシンボルに対して、K回の乗算及びK
回の加算が必要とされる。ガロア体の加算は一般的にマイクロプロセッサ命令セ
ット内でサポートされる論理XOR演算であるが、ガロア体の乗算は、ほとんど
サポートされておらず、複数の命令サイクルを用いて完了される。高速モデム(
例えば、ADSLモデム又はケーブルモデム)の場合、リード・ソロモン符号器
は、約1秒間あたり100万(個)のメッセージシンボルを処理する必要がある
。必要とされる総処理能力又はMIPS(ミップス)は、通常のマイクロプロセ
ッサの総処理能力を超えない限り、処理能力の主な割合を占め得る。その結果、
マイクロプロセッサを介して全体的なモデムのファンクションを遂行することが
困難に成り得る。マイクロプロセッサがモデムのファンクションを遂行可能であ
るとしても、ホスト処理又はソフトウェアモデムに関しては、モデムによって使
用される処理能力が他のアプリケーションに対して使用可能でない場合がある。
従って、ソフトモデムで実行され得るが、従来のソフトモデムで要求されるMI
PSを使用しない、符号化/復号化の方法及び装置が必要とされている。
【0008】 (好ましい実施形態の詳細な説明) 上記の必要を解決するために、データを符号化/復号化するための方法及び装
置が本明細書において提供される。符号化の間、データシンボルXmがマイクロ
プロセッサに入力される。マイクロプロセッサは、通常のリード・ソロモン符号
技術によりYmを算出する。詳細には、Ymは、メッセージシンボルXmとシフ
トレジスタの最右の遅延素子の内容を合計することにより算出される。GF(Q
)の要素としてのYmは、Q個の異なる値のみをとるため、積G0Ym,G1Y
m,...,GK−1Ymは予め算出され、参照テーブルに格納され得る。マイ
クロプロセッサは次に、Ymを参照テーブルに対する指標として使用し、参照テ
ーブルから積G0Ym,G1Ym,...,GK−1Ymを戻される。これらの
積はシフトレジスタを更新するために使用される。
【0009】 複数の参照テーブルが復号化演算中に使用される。第1参照テーブルはシンド
ローム計算の複雑性を低減するために使用され、第2参照テーブルは誤り位置多
項式の根を決定する際の複雑性、つまりチェンサーチの複雑性を低減するために
使用される。シンドローム計算の間、G0Ym,...,GK−1Ymに対する
値は、符号器がG0Ym,G1Ym,...,GK−1Ymに対する値を決定す
るのと同様の方法で、第1参照テーブルから得られる。第2参照テーブルは、L
個の参照テーブルのグループから成り、Lは誤り位置多項式の階数である。それ
らのテーブルは、各テーブルが(Q−1)(QはGF(Q)体のサイズである)
の要素を含むように構成される。(Q−1)とm(GCD(Q−1,m))との
最大公約数が1である場合、m番目の参照テーブルは位置iにガロア体の要素α
- miを格納する。GCD(Q−1,m)≠1である場合、m番目の参照テーブ
ルは実際に、j番目のサブテーブルの位置iにGFの要素α- (mt+j)を格
納するJ=(GCD(Q−1,m)個のサブテーブルから成る。式中j=0、1
,...,J−1である。マイクロプロセッサは、誤り位置多項式の相関係数に
基づいた各参照テーブルに対する開始アドレスを初期化し、次に数回の反復によ
りチェンサーチを完了する。各反復では、マイクロプロセッサは、個別の開始ア
ドレスから同一のオフセット(d)の位置におけるL個すべてのテーブルの内容
を合計し、オフセット(d)に対応する要素が根であるか否かを判定するために
その合計値を1と比較する。
【0010】 従来技術は参照テーブルから値を得るよりも複雑な演算である乗算を必要とす
るが、マイクロプロセッサに必要とされる総処理能力又はMIPSは低減される
。更に、本発明に従って説明される参照テーブルは、マイクロプロセッサが一般
的にbの数倍であるマイクロプロセッサのレジスタ幅を使用して、一回の命令で
複数の演算を並行に行うことを可能にし、それにより、マイクロプロセッサに必
要なMIPSを更に低減する。その結果、全体のモデムのファンクションは、他
のアプリケーションを処理することができるマイクロプロセッサによりマイクロ
プロセッサを介して遂行され得る。
【0011】 本発明はデータを符号化/復号化するための方法を包含する。同方法は、デー
タシンボル(Xm)を受信し、通常の符号化/復号化技術の一部として第1の値
を算出し、参照テーブルに対する指標として第1の値を使用する工程から成る。
複数の他の値と第1の値との複数の積は参照テーブルから受信され、同複数の積
はデータを符号化/復号化するために使用される。
【0012】 本発明はデータを復号化するための方法を更に包含する。同方法は、送信デー
タ内に誤りが存在するか否かを判定するためにシンドローム計算を実行し、その
シンドローム計算に基づいて誤り位置多項式を算出し、GF(Q)体のQ個の要
素それぞれに対する多項式を評価するために複数の参照テーブルにアクセスする
ことで誤り位置多項式から誤り位置を決定するチェンサーチを実行する工程から
成る。
【0013】 最終に、本発明は、通常の符号化/復号化技術の一部として、第1の値を出力
するマイクロプロセッサと、入力値として第1の値を有し、且つ複数の他の値と
第1の値との複数の積を出力する第1参照テーブルとを有する符号器/復号器を
包含する。
【0014】 図面に戻るが、図面では同じ番号は同じ構成要素を指している。図2は、本発
明の好ましい実施形態によるリード・ソロモン符号器200のブロック図を示す
。符号器200はマイクロプロセッサ201及び参照テーブル203を有する。
本発明による好ましい実施形態では、マイクロプロセッサ201は、モトローラ
社から市販されているAltivec 可能 PowerPCプロセッサ( 128ビットレジスタ
) 、又はインテル社から市販されているPentium プロセッサを初めとするMMX
可能プロセッサ(68ビットレジスタ)及びAdvanced Microcircuit Devises(AM
D)社から市販されているK6プロセッサ等の広域レジスタ幅を備えたマイクロプ
ロセッサであることが好ましい。以下の説明において、プロセッサのレジスタは
全シフトレジスタを保持するのに十分な幅を有することが想定される。更に、参
照テーブル203はマイクロプロセッサ201から離れて表示されているが、実
際には、本発明の好ましい実施形態では参照テーブル203は内部又は外部メモ
リの一部としてマイクロプロセッサ201内に組み込まれる。参照テーブル20
3は、予め算出したG0Y,G1Y,...,GK−1Yの積を格納する。式中
のKは、コード生成多項式の階数であり、パリティ・シンボルの数に等しく、Y
はGF(Q)体のそれぞれのQの要素である。従って、テーブル203のサイズ
は、パリティ・シンボルがK個であるGF(Q)のコードに対する、Q*Kに等
しい。Q=256及びK=16の典型的な例では、そのサイズは約4KBのメモ
リに等しい。
【0015】 本発明の好ましい実施形態による符号器200の演算は以下のように行われる
。データシンボルXmがマイクロプロセッサ201により受信される。マイクロ
プロセッサ201は通常の符号化技術の一部として第1の値を算出する。詳細に
は、Ymが、メッセージシンボルXmと最右の遅延素子の内容である変数とを合
計し、リード・ソロモン符号化技術によって算出される。マイクロプロセッサ2
01は次に、参照テーブル203に対する指標としての第1の値(Ym)を使用
し、他の値とYmによる複数の積を戻される。詳細には、G0Ym,G1Ym,
...,GK−1Ymは参照テーブル203からマイクロプロセッサ203に戻
される。マイクロプロセッサは次に、これらの戻り値と並行してシフトレジスタ
の遅延素子を更新し、データシンボルXmの符号化処理を完了する。
【0016】 図3は本発明の好ましい実施形態による図2の参照テーブルを示す。明らかに
、表中のすべてのGF(Q)の要素には、G0Y,G1Y,...,GK−1Y
に対応する値が存在する。式中Y=0,1,2,...,Q−1である。これら
の値は、Yを用いてテーブル203にアクセスすると、マイクロプロセッサ20
1に出力される。本発明による好ましい実施形態では、テーブル203は、Gm
Yの値を予め算出し、且つそれらの値でテーブル203を占めることにより実現
される。詳細には、メモリは、i番目のワードがK個の積i*G0,i*G1,
...,i*GK−1を保持するQ個の連続的なワードに構成される。同ワード
は、b=log2(Q)のビット幅でK個の体に区分化され、一つの体を使用し
て、K個の積のうち一つを上記の順番で保持する。テーブルは特定のコードに対
して一定であるため、読み取り専用メモリに格納され得る。モデムが複数の演算
モードを有し得、各モードが異なるコードを使用し得る場合、モデムの演算モー
ドを決定すると、読み出し/書き込みメモリ内にテーブルを動的に生成すること
も望まれ得る。
【0017】 本発明の好ましい実施形態では、K個の乗算値G0Ym,G1Ym,...,
GK−1Ymの結果を得るために、参照テーブルが一つだけ必要とされる。直接
の利点はメッセージシンボル毎のK回の乗算を節約できることである。ガロア体
の乗算はマイクロプロセッサに計算上負担のかかる演算であるため、これは、従
来技術と比べて、マイクロプロセッサに必要とされる総処理能力又はMIPSを
大幅に低減する。その結果、全体のモデムファンクションは、他のアプリケーシ
ョンを処理できるマイクロプロセッサを用いて、マイクロプロセッサを介して遂
行される。更に、K個の積が一つのレジスタ内に格納されることは、一回のXO
R及びSHIFT命令を使用して、K個すべてのシフトレジスタの遅延素子を並
行して更新することを可能にする。別の利点は、テーブルが1ワードで一度にア
クセスされることである。各ワードは一般的に複数の連続的なバイトから成るた
め、一般的なシステムでサポートされているバーストメモリアクセスモードによ
り最大の利点が得られる。
【0018】 上記の実行では、マイクロプロセッサのレジスタはシフトレジスタ全体を保持
する十分な幅を有することが想定される。そうでない場合でも、所定のレジスタ
幅により得られる最大の利点はシフトレジスタ演算の一部を格納することで得る
ことができる。更に、上記に説明した参照テーブルはリード・ソロモン符号以外
にも適用され、サイクリックコードとして知られるコードのクラスを符号化する
ための一般的なMIPSの効率的な方法を提供する。リード・ソロモンコードは
サイクリックコードの一種である。
【0019】 図4は、本発明の好ましい実施形態による図2のリード・ソロモン符号器の演
算を示すフローチャートである。シフトレジスタは、それぞれがbビット幅であ
るK個の体に概念的に区分化されたプロセッサの1つ以上の整数レジスタとして
実現され、それぞれの体は一つの遅延素子の内容を保持する。論理フローは、マ
イクロプロセッサがシフトレジスタをすべてゼロに初期化するステップ401か
ら開始する。同論理フローは次に、メッセージデータを処理するループに入る。
ステップ402では、マイクロプロセッサ201は送信されるデータシンボル(
Xm)を受信する。ステップ403では、マイクロプロセッサ201が、Xmか
らYmに対する値を算出する。次に、ステップ405では、マイクロプロセッサ
201は、参照テーブル203に対する指標としてYmを使用して参照テーブル
203にアクセスし、G0Ym,G1Ym,...,GK−1Ymに対応する値
を参照テーブル203から取得する。プロセッサは次に、参照テーブルの出力に
よるシフトレジスタの内容であるXORによりシフトレジスタを更新し、bビッ
トだけシフトレジスタを右へSHIFTする(ステップ407)。ステップ40
8では、マイクロプロセッサ201は、マイクロプロセッサが最後のブロックの
メッセージシンボルを処理したか否かを判定する。処理していない場合は、ステ
ップ402〜408が繰り返され、処理されている場合は、マイクロプロセッサ
はステップ409でテイルビットを出力する。論理フローはステップ411で終
了する。本発明の好ましい実施形態では、テイルビットは、上記に説明したよう
に、シフトレジスタの最後の内容を出力することにより生成される。
【0020】 リード・ソロモン復号化は、図5に示されるように複数の工程を要する。ステ
ップ501では、シンドローム多項式が算出される。シンドローム多項式が、コ
ード生成多項式の根において評価された受信した多項式として定義される係数を
有する多項式であることは、当業者であれば認知できる。ステップ502では、
シンドローム=0であるか否かを判定することにより、送信データ内に誤りが存
在するか否かを判定する。ゼロ以外のシンドロームが示されるように、受信した
データ内に誤りが存在する場合、誤り位置多項式が算出され(ステップ504)
、誤り位置が誤り位置多項式(ステップ506)により決定される。最後に、ス
テップ508では、誤り量がフォーニィアルゴリズム(Forney‘s Al
gorithm)を使用して誤り位置多項式から決定される。
【0021】 上記の4つのステップでは、第1ステップと第3ステップは一般的に、マイク
ロプロセッサを用いた復号器にとっては最も計算が集中する工程である。第1ス
テップは、受信したメッセージ多項式の全体に関与し、受信したブロック内に任
意の誤りが存在するか否かに関わらず必要とされる。第3ステップの典型的なア
ルゴリズムは、GF(Q)体にあるQ個の要素すべてを検索することに関与する
。逆に、第2ステップ及び第4ステップには、上記の工程の受信したメッセージ
多項式或いはGF(Q)体のサイズに比べて一般的にかなり小さい階数を有する
シンドローム及び誤り位置多項式に関与する。
【0022】 リード・ソロモン符号化データの復号化に必要なMIPSの量を低減させるた
めに、複数の参照テーブルが復号器600により用いられる。復号器600のブ
ロック図は本発明の好ましい実施形態により図6に示される。
【0023】 第1参照テーブル(参照テーブル603)は、第1ステップの複雑性を低減さ
せるために使用される。第1参照テーブルは符号器200の参照テーブル203
と同様の方法で使用される。シンドローム計算の間、復号器600は、情報シン
ボル(Rm)が送信されるメッセージシンボル(Xm)であるかのように、受信
した情報シンボル(Rm)からテイルビットの第2の集合を生成する。シンドロ
ームは、このテイルビットの第2の集合と受信したテイルビットの合計値として
算出され得ることは、当該技術において公知である。テイルビットの第2の集合
を算出する間、G0Ym,G1Ym,...,GK−1Ymに対する値は、符号
器がG0Ym,G1Ym,...,GK−1Ymに対する値を決定するような同
様の方法で参照テーブル603から得られる。より詳細には、マイクロプロセッ
サ601は、例えば、上記に説明したように、情報シンボルRmを最右のシフト
レジスタの内容と合計して、通常のリード・ソロモン符号化技術によりYmを算
出し、次にYmを参照テーブル603に対する指標として使用する。テーブル6
03は、G0Ym,G1Ym,...,GK−1Ymを戻す。
【0024】 第2参照テーブル605は、第3ステップの複雑性を低減させるために使用さ
れる。誤り位置は誤り位置多項式λ(z)=1+λ1z+λ2z2+...+λ
LzLの根に相関する。GF多項式の根を検出する公知のアルゴリズムには、チ
ェンサーチの使用がある。チェンサーチでは、根であるか否かを判定するために
、GF(Q)体のQ要素のそれぞれに対する多項式を簡単に評価する。明らかに
、チェンサーチの直接の実行は、L番目の多項式がQ回評価される必要があるよ
うに、多くの処理能力を消費する。この処理を高速化するため、参照テーブル6
05が使用される。テーブル605は実際に、チェンサーチの間に使用されるL
個の参照テーブルの集合607〜611から成る。
【0025】 テーブル607〜611は、各テーブルが(Q−1)の要素を含むように構成
され、QはGF(Q)体のサイズである。(Q−1)とm(GCD(Q−1,m
))との最大公約数が1である場合、m番目の参照テーブルは位置iにガロア体
要素α−miを格納する。つまり、(Q−1)及びmが互いに素数である場合、
m番目の参照テーブルは位置iにガロア体(GF)要素α−miを格納する。こ
れは図7に示す。α―m(i+Q−1)=α−mi,即ち構成されたテーブルは
期間Q−1に関して周期的であり、図7はテーブルの一期間を示す。
【0026】 GCD(Q−1,m)が1と等しくない場合、m番目の参照テーブルは実際に
、GFの要素α−(mi+j)を格納する(GCD(Q−1,m)のサブテーブ
ルを含み、式中j=0,1,...,GCD(Q−1,m)−1である。各サブ
テーブルは、α―(m(i+V)+j)=α−(mi+j)であるため、期間V
=(Q−1)/GCD(Q−1,m)に関して周期的である。図8は各サブテー
ブルの一期間を示す。すべてのテーブルは任意の位置iで開始する特性を有し、
テーブルは連続した位置で{Tum:u=α0,α- 1,α- 2,...}を格
納し、Tは位置iにおける内容である。更に、各テーブル又はサブテーブルの集
合はGF(Q)のすべてのゼロ以外の要素を含む。
【0027】 チェンサーチの間、マイクロプロセッサ601は、位置α0,α- 1,α- 2
,α- 3,等において、その順序で誤り位置多項式を評価する。テーブルを使用
するために、マイクロプロセッサ601は、初期化段階中にL個の参照テーブル
それぞれに対して開始アドレスを決定する。これは、m番目の参照テーブルに対
しては、内容がλmであるテーブル内での位置を決定することにより実行され、
λmは誤り位置多項式のzmの係数である。テーブルがサブテーブルの集合であ
る場合、マイクロプロセッサ601はまずサブテーブルを選択し、選択したサブ
テーブルの開始アドレスを決定する。マイクロプロセッサ601は次に、複数回
の反復でチェンサーチを完了する。それぞれの反復では、マイクロプロセッサ6
01は、個々の開始アドレス(上記に説明した工程により決定された)から同一
オフセット(d)の位置にあるL個のテーブルすべての内容を合計する。テーブ
ルの特性により、その合計値は、S(d)=λ1u+λ2u2+...+λLu
L|u=α- d=λ(α- d)−1であり、式中のLは誤り位置多項式の階数で
ある。つまり、オフセットdでの合計値は、要素α- dと1に対する誤り位置多
項式の値の差である。従って、マイクロプロセッサは、S(d)と1を比較する
ことによりα- dが根であるか否かを判定することができる。マイクロプロセッ
サは次に、オフセットを累進させ、次の反復に備える。Bがマイクロプロセッサ
のレジスタ幅である場合、マイクロプロセッサは、各反復においてB個の連続的
な合計値を算出することが可能であり、B個のシンボルだけオフセットを累進で
きる。従って、このテーブルの利点が、2B回の乗算を一回のXOR命令で置き
換えることから得られる。
【0028】 0(α0)のオフセットは直前に受信したシンボルの誤り位置に相関し、1(
α- 1)のオフセットは直前に受信したシンボルから二番目の誤り位置に相関し
ている・・・等のため、本願出願人が誤りが起こり得る可能性のあるすべての位
置について既に余すことなく述べてきたように、最初に受信したシンボルに相関
する要素がチェックされた後に、サーチは停止する。これは、短縮されたリード
・ソロモン符号に更なる複雑性の低減を提供する。当該技術において公知である
ように、短縮されたコードは、Q−1のシンボルブロックサイズ(パリティ・シ
ンボルを含む)の本来のリード・ソロモン符号に相当し、最初の数シンボルはゼ
ロにされ、従って復号器により先験的に知られており送信されない。連続的な位
置を読み取ることによりテーブルにアクセスするため、ほとんどのプロセッサに
よりサポートされるバーストメモリモードから最大の利点を受けることができる
【0029】 図9は、本発明の好ましい実施形態によるチェンサーチに基づいた参照テーブ
ルの工程を示すフローチャートである。初期化ステップ902では、マイクロプ
ロセッサ601は、誤り位置多項式のL個の係数にそれぞれ関連した参照テーブ
ルに対応する開始アドレスを決定し、オフセット(d)をゼロに設定する。マイ
クロプロセッサ601は次に、複数の反復でチェンサーチを完了する。各反復に
関してステップ904では、マイクロプロセッサ601が、初期化段階中に決定
した参照テーブルの開始アドレスから、オフセット(d)におけるL個の参照テ
ーブルの内容すべてを合計する。次にステップ906では、マイクロプロセッサ
601は、ステップ904で得たB個の合計値とB個の1を比較する。1に等し
いBの各合計値に対して、マイクロプロセッサは、同合計値と関連したGF(Q
)の要素が誤り位置多項式の根であることを宣言する。ステップ908では、マ
イクロプロセッサはBの分だけオフセット(d)を増加させる。ステップ910
では、マイクロプロセッサは、マイクロプロセッサが可能な誤り位置のすべてを
余すことなく調べたか否かを判定し、調べられていなければ反復ステップ904
〜910を繰り返す。マイクロプロセッサが可能な誤り位置のすべてを調べた後
、処理はステップ912において終了する。
【0030】 誤り位置多項式の階数(L)はK/2を超えることができないため、K個のパ
リティ・シンボルによるリード・ソロモン符号を処理するためには、K/2のテ
ーブルが構築される必要がある。上記に説明したように、テーブル及びサブテー
ブルは周期的である。従って、サーキュラーアドレッシングがそれらのテーブル
やサブテーブルにアクセスするために使用される限り、それらのテーブルのサイ
ズは、一期間であり得る。即ちアドレスはテーブル/サブテーブルの期間でテー
ブル/サブテーブルモジュロの末尾を循環する。Q=256及びK=16の典型
的な例では、K/2のテーブルすべての全記憶容量は、(Q−1)*K/2=2
040バイトであり、2KBを下回る。サーキュラーアドレッシング機能を備え
たマイクロプロセッサの場合、各テーブルの一期間が格納される。他のマイクロ
プロセッサの場合、ソフトウェア上で循環型参照テーブルを実行するには、MI
PSを消費し得る。これらの場合、GCD(Q−1,m)+1の期間が格納され
る。この方法では、アドレスの循環は生じず、テーブル内を索引するのにリニア
アドレッシングが使用される。
【0031】 本発明の別の実施形態では、Q−1個のゼロが入力された付加的なテーブルが
作成される。そのテーブルは次に、ゼロである誤り位置多項式(λm)の係数に
使用される。
【0032】 上記に言及した発明の説明、特定の詳細、及び図面は、本発明の範囲を限定す
るようには意図されない。例えば、本発明の好ましい実施形態はリード・ソロモ
ン符号化/復号化の間に参照テーブル使用するが、当業者であれば、参照テーブ
ルが他の符号化/復号化の様式で使用され得ることは認識できる。発明者は、本
発明の精神及び範囲から逸脱することなく、多様な改良が本発明に対して行われ
得ることを意図している。また、そのようなすべての改良が特許請求の範囲及び
それらの均等の範囲内にあることも意図されている。
【図面の簡単な説明】
【図1】 従来のリード・ソロモン符号器を示したブロック図。
【図2】 本発明の好ましい実施形態によるリード・ソロモン符号器を示し
たブロック図。
【図3】 本発明の好ましい実施形態による、図2の参照テーブルを示した
図。
【図4】 本発明の好ましい実施形態による、図2のリード・ソロモン符号
器の演算を示したフローチャート。
【図5】 本発明の好ましい実施形態による、リード・ソロモン復号器に必
要な工程を示したフローチャート。
【図6】 本発明の好ましい実施形態による、リード・ソロモン復号器を示
したブロック図。
【図7】 本発明の好ましい実施形態による、GCD(Q−1,m)=1で
ある場合の、GF(Q)に対するチェンサーチ用参照テーブルを示す図。
【図8】 本発明の好ましい実施形態による、GCD(Q−1,m)≠1で
ある場合の、GF(Q)に対するチェンサーチ用参照テーブルを示す図。
【図9】 本発明の好ましい実施形態による、参照テーブルに基づくチャン
サーチの工程を示したフローチャート。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,CA,C H,CN,CR,CU,CZ,DE,DK,DM,DZ ,EE,ES,FI,GB,GD,GE,GH,GM, HR,HU,ID,IL,IN,IS,JP,KE,K G,KP,KR,KZ,LC,LK,LR,LS,LT ,LU,LV,MA,MD,MG,MK,MN,MW, MX,MZ,NO,NZ,PL,PT,RO,RU,S D,SE,SG,SI,SK,SL,TJ,TM,TR ,TT,TZ,UA,UG,UZ,VN,YU,ZA, ZW 【要約の続き】 +j)(j=0,1,...,GCD(Q−1,m)− 1)を格納する(GCD(Q−1,m))のサブテーブ ルから成る。

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 データを符号化/復号化するための方法であって、 データシンボル(Xm)を受信する工程と、 通常の符号化/復号化技術の一部として第1の値を算出する工程と、 前記第1の値を参照テーブルに対する指標として使用する工程と、 複数の他の値と第1の値との複数の積を前記参照テーブルから受信する工程と
    、 データを符号化/復号化するために前記複数の積を使用する工程と、 から成る方法。
  2. 【請求項2】 通常の符号化技術の一部として第1の値を算出する工程は通
    常のリード・ソロモン符号化技術によりYmを算出する工程を含み、メッセージ
    ビットは、GF(Q)のメッセージ多項式を構成するシンボルのブロックとして
    処理され、コード生成多項式(G)でメッセージ多項式(X)を除算することに
    よりパリティ・シンボルを導出する請求項1に記載の方法。
  3. 【請求項3】 前記複数の積を前記参照テーブルから受信する工程は、G0
    Y,G1Y,...,GK- 1Yを前記参照テーブルから受信する工程を含み、
    式中Y=0,1,2,...,Q−1であり、Gmはコード生成多項式の係数で
    ある請求項2に記載の方法。
  4. 【請求項4】 リード・ソロモン符号の変数を初めから決定する工程と、 前記変数に基づいて参照テーブルを動的に生成する工程と、 から更に成る請求項1に記載の方法。
  5. 【請求項5】 前記参照テーブルに対する指標として前記第1の値を使用す
    る工程は、シンドローム計算の間に参照テーブルに対する指標として第1の値を
    使用する工程を含む請求項1に記載の方法。
  6. 【請求項6】 第2の通常の復号化処理の一部としての参照テーブルの第2
    の集合にアクセスする工程と、 前記第2の参照テーブルにアクセスする工程に対応して前記参照テーブルの第
    2の集合からある値を受信する工程と、 を更に含む請求項1に記載のデータを復号化する方法。
  7. 【請求項7】 前記参照テーブルの第2の集合にアクセスする工程は、チェ
    ンサーチの一部として前記参照テーブルの第2の集合にアクセスする工程を含む
    請求項6に記載の方法。
  8. 【請求項8】 前記参照テーブルの第2の集合にアクセスする工程は、(Q
    −1)個の要素をそれぞれに含んだ参照テーブルの第2の集合にアクセスする工
    程を含み、(Q−1)とm(GCD(Q−1,m))の最大公約数が1である場
    合、m番目の参照テーブルは位置i=0,1,...,Q−2においてガロア体
    要素α- miを格納する請求項7に記載の方法。
  9. 【請求項9】 前記参照テーブルの第2の集合にアクセスする工程は(Q−
    1)個の要素をそれぞれに含んだ参照テーブルの第2の集合にアクセスする工程
    を含み、m番目の参照テーブルは、サブテーブルj=0,1,...,GCD(
    Q−1,m)−1の位置i=0,1,...,((Q−1)/GCD(Q−1,
    m)−1)においてGFの要素α- (mi+j)を格納するGCD(Q−1,m
    )のサブテーブルを含む請求項6に記載の方法。
  10. 【請求項10】 前記参照テーブルの第2の集合にアクセスする工程は循環
    型参照テーブルの集合にアクセスする工程を含み、前記参照テーブルの末尾を越
    えるアクセスは、前記テーブルのサイズを有するアドレスモジュロにより実行さ
    れる請求項9に記載の方法。
  11. 【請求項11】 データを復号化するための方法であって、 送信データに誤りが存在するか否かを判定するためにシンドローム計算を実行
    する工程と、 前記シンドローム計算に基づいて誤り位置多項式を算出する工程と、 GF(Q)体のQ個の要素の各々に対して多項式を評価するために複数の参照
    テーブルにアクセスすることにより、誤り位置多項式から誤り位置を決定するた
    めのチェンサーチを実行する工程と、 から成る方法。
  12. 【請求項12】 複数の参照テーブルにアクセスすることによりチェンサー
    チを実行する前記工程は、各参照テーブルが(Q−1)個の要素を含み、且つ式
    中のQがGF(Q)体のサイズである複数の参照テーブルにアクセスする工程を
    含む請求項11に記載の方法。
  13. 【請求項13】 複数の参照テーブルにアクセスすることによりチェンサー
    チを実行する工程は、(Q−1)とm(GCD(Q−1,m))の最大公約数が
    1である場合に、m番目の参照テーブルが位置i=0,1,...,Q−2にお
    いてガロア体要素α- miを格納する、複数の参照テーブルにアクセスする工程
    を含む請求項11に記載の方法。
  14. 【請求項14】 複数の参照テーブルにアクセスすることによりチェンサー
    チを実行する工程は、m番目の参照テーブルが、サブテーブルj=0,1,..
    .,GCD(Q−1,m)−1の位置i=0,1,...,((Q−1)/GC
    D(Q−1,m)−1)においてGFの要素α- (mi+j)を格納するGCD
    (Q−1,m)のサブテーブルを含む複数の参照テーブルにアクセスする工程を
    含む請求項11に記載の方法。
  15. 【請求項15】 通常の符号化/復号化技術の一部として第1の値を出力す
    るマイクロプロセッサと、 入力として前記第1の値を有し、前記第1の値と複数の他の値との複数の積を
    出力する第1参照テーブルと、 を備えた符号器/復号器。
  16. 【請求項16】 前記第1の値(Ym)は、ある変数とデータシンボル(X
    m)の合計値である請求項15に記載の装置。
  17. 【請求項17】 前記第1の値と複数の他の値との複数の積はG0Y,G1
    Y,...,GK- 1Yであり、式中Y=0,1,2,...,Q−1であり、
    Gmはコード生成多項式の係数である請求項16に記載の装置。
  18. 【請求項18】 マイクロプロセッサに接続された参照テーブルの第2の集
    合を更に備え、前記参照テーブルの第2の集合はチェンサーチの間に使用される
    請求項15に記載の復号器。
  19. 【請求項19】 前記参照テーブルの第2の集合は(Q−1)個の要素を含
    み、(Q−1)とm(GCD(Q−1,m))の最大公約数が1である場合、m
    番目の参照テーブルは位置i=0,1,...,Q−2においてガロア体要素α
    - miを格納する請求項18に記載の復号器。
  20. 【請求項20】 前記参照テーブルの第2の集合は(Q−1)個の要素を含
    み、各参照テーブルは(Q−1)の要素を含み、m番目の参照テーブルはGFの
    要素α- (mi+j)(J=0,1,...,GCD(Q−1,m)−1)を格
    納する(GCD(Q−1))のサブテーブルを含む請求項18に記載の復号器。
JP2001520981A 1999-08-27 2000-08-17 データを符号化及び復号化する方法及び装置 Pending JP2003529233A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/384,530 1999-08-27
US09/384,530 US6360348B1 (en) 1999-08-27 1999-08-27 Method and apparatus for coding and decoding data
PCT/US2000/022631 WO2001017154A2 (en) 1999-08-27 2000-08-17 Method and apparatus for coding and decoding data

Publications (1)

Publication Number Publication Date
JP2003529233A true JP2003529233A (ja) 2003-09-30

Family

ID=23517690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001520981A Pending JP2003529233A (ja) 1999-08-27 2000-08-17 データを符号化及び復号化する方法及び装置

Country Status (7)

Country Link
US (1) US6360348B1 (ja)
EP (1) EP1400022A4 (ja)
JP (1) JP2003529233A (ja)
KR (1) KR20020047134A (ja)
CN (1) CN1535505A (ja)
AU (1) AU6913900A (ja)
WO (1) WO2001017154A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007514371A (ja) * 2003-12-12 2007-05-31 アナログ・デバイシズ・インコーポレーテッド ガロア体乗算のためのルックアップテーブルを使用するリード・ソロモン符号の符号化および復号化
WO2013051139A1 (ja) * 2011-10-06 2013-04-11 株式会社日立製作所 有限体上の乗算方法、計算機、およびプログラム

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598201B1 (en) * 1999-03-15 2003-07-22 Texas Instruments Incorporated Error coding structure and method
US6850566B2 (en) * 2000-02-22 2005-02-01 Intervideo, Inc. Implementation of quantization for SIMD architecture
US6763492B1 (en) * 2000-09-26 2004-07-13 Qualcomm Incorporated Method and apparatus for encoding of linear block codes
US6934730B2 (en) * 2000-10-13 2005-08-23 Xpriori, Llc Method and system for generating a transform
US6985633B2 (en) * 2001-03-26 2006-01-10 Ramot At Tel Aviv University Ltd. Device and method for decoding class-based codewords
US6954892B2 (en) * 2002-06-06 2005-10-11 National Chiao Tung University Method for calculating syndrome polynomial in decoding error correction codes
EP1547252A4 (en) * 2002-07-29 2011-04-20 Robert Halford MULTIDIMENSIONAL DATA PROTECTION AND MIRRORING METHOD FOR MICROBIAL DATA
US7633976B2 (en) * 2002-09-19 2009-12-15 Industrial Technology Research Institute Method and apparatus for code group identification and frame synchronization by use of Reed-Solomon decoder and reliability measurement for UMTS W-CDMA
CN100388629C (zh) * 2003-12-22 2008-05-14 普天信息技术研究院 一种循环冗余校验的快速计算方法
EP1704647B1 (en) * 2004-01-15 2019-03-20 Qualcomm Incorporated A method of reed-solomon encoding and decoding
US20060123271A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR
US7788570B1 (en) * 2005-03-23 2010-08-31 Marvell International Ltd. Optimized Reed-Solomon decoder
US7370258B2 (en) * 2005-04-28 2008-05-06 Sandbridge Technologies Inc. Iterative concatenated convolutional Reed-Solomon decoding method
US7823049B2 (en) * 2006-03-15 2010-10-26 Mediatek Inc. Methods and apparatuses for generating parity symbols for data block
US7793195B1 (en) * 2006-05-11 2010-09-07 Link—A—Media Devices Corporation Incremental generation of polynomials for decoding reed-solomon codes
JP4891704B2 (ja) * 2006-08-28 2012-03-07 株式会社東芝 半導体記憶装置
JP4313391B2 (ja) * 2006-12-13 2009-08-12 株式会社日立コミュニケーションテクノロジー 光集線装置および光加入者装置
US8171368B1 (en) 2007-02-16 2012-05-01 Link—A—Media Devices Corporation Probabilistic transition rule for two-level decoding of reed-solomon codes
TWI334279B (en) * 2007-06-23 2010-12-01 Lite On Technology Corp Efficient chien search method for reed-solomon decoding and machine readable recording medium comprising instructions for performing the method
GB2460417B (en) * 2008-05-28 2011-04-06 Mirics Semiconductor Ltd Broadcast receiver system
GB2460416B (en) * 2008-05-28 2010-07-07 Mirics Semiconductor Ltd Broadcast receiver system
GB2460418B (en) * 2008-05-28 2010-04-14 Mirics Semiconductor Ltd Broadcast receiver system
JP4945513B2 (ja) * 2008-06-04 2012-06-06 ルネサスエレクトロニクス株式会社 可変長復号装置およびそれを用いた動画復号装置
JP5259343B2 (ja) * 2008-10-31 2013-08-07 株式会社東芝 メモリ装置
US8312346B2 (en) * 2009-05-01 2012-11-13 Mirics Semiconductor Limited Systems and methods for communications
US8433985B2 (en) * 2010-03-29 2013-04-30 Intel Corporation Error correction mechanisms for flash memories
US8479082B2 (en) * 2010-04-07 2013-07-02 Indian Institute Of Technology Delhi Packet error correction in networks
WO2011154750A1 (en) * 2010-06-11 2011-12-15 Mirics Limited Decoding of reed - solomon codes using look-up tables for error detection and correction
EP2434650A1 (en) 2010-09-23 2012-03-28 Panasonic Corporation Reed-Solomon encoder with simplified Galois field multipliers
CN104202057B (zh) * 2014-02-12 2019-08-16 中兴通讯股份有限公司 信息处理方法及装置
CN105024707B (zh) * 2015-07-31 2018-05-11 福建联迪商用设备有限公司 一种rs纠错解码方法
US10318433B2 (en) * 2016-12-20 2019-06-11 Texas Instruments Incorporated Streaming engine with multi dimensional circular addressing selectable at each dimension

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3668632A (en) * 1969-02-13 1972-06-06 Ibm Fast decode character error detection and correction system
US4856004A (en) * 1987-10-05 1989-08-08 Motorola, Inc. Microprocessor based BCH decoder
US4890287A (en) * 1988-03-09 1989-12-26 Magnetic Peripherals Inc. On-the-fly error correction
US4958349A (en) * 1988-11-01 1990-09-18 Ford Aerospace Corporation High data rate BCH decoder
US5329618A (en) * 1992-04-02 1994-07-12 Fibronics Ltd. Look-up table for a bridge in a data communications system
MX9603336A (es) * 1994-02-17 1997-05-31 Micrilor Inc Red de area local inalambrica de alto indice de datos.
US5627843A (en) * 1995-02-23 1997-05-06 Seagate Technology, Inc. Correcting up to two disc drive read errors and detecting the occurrence of more than two read errors
JP3622981B2 (ja) * 1995-10-03 2005-02-23 松下電器産業株式会社 誤り訂正符号化装置及び方法、並びに誤り訂正復号化装置及び方法
US5701314A (en) * 1995-12-21 1997-12-23 Cirrus Logic, Inc. On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
US5926647A (en) * 1996-10-11 1999-07-20 Divicom Inc. Processing system with dynamic alteration of a color look-up table
US6081555A (en) * 1996-12-04 2000-06-27 Conexant Systems, Inc. Methods and apparatus for implementing shell mapping techniques in the context of a PCM-based modem communications system
US5948117A (en) * 1997-01-23 1999-09-07 Quantum Corporation Modified Reed-Solomon error correction system using (W+i+1)-bit representations of symbols of GF(2w+i)
US6173429B1 (en) * 1997-03-14 2001-01-09 Harris Corporation Apparatus for providing error correction data in a digital data transfer system
US5942005A (en) * 1997-04-08 1999-08-24 International Business Machines Corporation Method and means for computationally efficient error and erasure correction in linear cyclic codes
JPH113573A (ja) * 1997-04-15 1999-01-06 Mitsubishi Electric Corp 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置
US6058500A (en) * 1998-01-20 2000-05-02 3Com Corporation High-speed syndrome calculation
KR100304193B1 (ko) * 1998-02-06 2001-11-22 윤종용 리드솔로몬복호기의역수구현회로

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007514371A (ja) * 2003-12-12 2007-05-31 アナログ・デバイシズ・インコーポレーテッド ガロア体乗算のためのルックアップテーブルを使用するリード・ソロモン符号の符号化および復号化
JP4777258B2 (ja) * 2003-12-12 2011-09-21 アナログ・デバイシズ・インコーポレーテッド ガロア体乗算のためのルックアップテーブルを使用するリード・ソロモン符号の符号化および復号化
WO2013051139A1 (ja) * 2011-10-06 2013-04-11 株式会社日立製作所 有限体上の乗算方法、計算機、およびプログラム

Also Published As

Publication number Publication date
EP1400022A2 (en) 2004-03-24
AU6913900A (en) 2001-03-26
WO2001017154A3 (en) 2004-01-08
US6360348B1 (en) 2002-03-19
WO2001017154A2 (en) 2001-03-08
CN1535505A (zh) 2004-10-06
KR20020047134A (ko) 2002-06-21
EP1400022A4 (en) 2004-05-19

Similar Documents

Publication Publication Date Title
JP2003529233A (ja) データを符号化及び復号化する方法及び装置
US6058500A (en) High-speed syndrome calculation
US5715262A (en) Errors and erasures correcting reed-solomon decoder
US5999959A (en) Galois field multiplier
US5280488A (en) Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
US7162679B2 (en) Methods and apparatus for coding and decoding data using Reed-Solomon codes
US5440570A (en) Real-time binary BCH decoder
US6279023B1 (en) System for computing the multiplicative inverse of an element of a Galois field without using tables
WO1999037030A1 (en) High-speed calculation of cyclical redundancy check sums
US20060107190A1 (en) Even-load software reed-solomon decoder
WO1995024769A2 (en) Universal reed-solomon coder/encoder
US5535225A (en) Time domain algebraic encoder/decoder
WO2009012050A2 (en) Determining a message residue
WO1997000559A1 (en) Dedicated alu architecture for 10-bit reed-solomon error correction module
JP3875274B2 (ja) 短縮ファイア符号エラートラッピング復号方法および装置
US5365529A (en) Circuitry for detecting and correcting errors in data words occurring in Reed-Solomon coded blocks and determining when errors are uncorrectable by syndrome analysis, Euclid's algorithm and a Chien search
Kounavis et al. A systematic approach to building high performance software-based CRC generators
EP1102406A2 (en) Apparatus and method for decoding digital data
JP2800723B2 (ja) リードソロモン復号器の誤り位置検出回路
US6735737B2 (en) Error correction structures and methods
EP0991196B1 (en) Method of correcting lost data and circuit thereof
JPH09162753A (ja) 符号語の復号方式
CN113946467A (zh) 从存储器装置读取数据的方法和纠错装置
JP2003168983A (ja) 復号回路および復号方法
JPH09185518A (ja) 原始元αのべき乗生成方式及びその装置