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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/158—Finite field arithmetic processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/159—Remainder calculation, e.g. for encoding and syndrome calculation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6569—Implementation 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個の要素を有する。
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)内の誤りを訂正するために受信器により使用される。
おいて公知である。リード・ソロモン符号を誤り訂正において使用する一つのそ
のような方法には、送信データにパリティ・シンボルの集合を付加することがあ
る。用語「シンボル」は、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により更新される最左の遅延素
子は例外である)。
ソロモン符号器を示す。図のように、シフトレジスタは遅延素子(D)において
ゼロに初期化される。各反復の間、m番目のデータシンボルXmは、最右の遅延
素子の内容と乗算され、シンボルYmを形成する。次に、各遅延素子の内容は、
その左方の遅延素子の内容と、YmとGmの積とを合計することにより更新され
、Gmはコード生成多項式の係数である。即ち、G(z)=G0+G1z+..
.+GK−1zK−1+zKである(積G0Ymにより更新される最左の遅延素
子は例外である)。
【0005】
パリティ・シンボルは、メッセージブロックの末尾までシフトレジスタを更新
し続けることにより生成される。メッセージブロックの最後のシンボルまで反復
を完了すると、シフトレジスタの内容はパリティ・シンボルとなる。最右の遅延
素子は、送信器によってメッセージデータに付加される最後のパリティ・シンボ
ルを含む。
し続けることにより生成される。メッセージブロックの最後のシンボルまで反復
を完了すると、シフトレジスタの内容はパリティ・シンボルとなる。最右の遅延
素子は、送信器によってメッセージデータに付加される最後のパリティ・シンボ
ルを含む。
【0006】
現在まで、除算処理は一般的に、専用のハードウェア(例えば、増幅器101
、遅延回路102、加算器103)により実行されているが、「ソフト」モデム
の進歩により、同処理はマイクロプロセッサ/ソフトウェアの組み合せを介して
達成されることが多くなってきている。
、遅延回路102、加算器103)により実行されているが、「ソフト」モデム
の進歩により、同処理はマイクロプロセッサ/ソフトウェアの組み合せを介して
達成されることが多くなってきている。
【0007】
ソフトモデムはリード・ソロモン符号化/復号化を実行する能力を有するが、
従来技術による実施ではかなりの処理能力が必要であるとういう問題が存在する
。図1に示した符号器では、各メッセージシンボルに対して、K回の乗算及びK
回の加算が必要とされる。ガロア体の加算は一般的にマイクロプロセッサ命令セ
ット内でサポートされる論理XOR演算であるが、ガロア体の乗算は、ほとんど
サポートされておらず、複数の命令サイクルを用いて完了される。高速モデム(
例えば、ADSLモデム又はケーブルモデム)の場合、リード・ソロモン符号器
は、約1秒間あたり100万(個)のメッセージシンボルを処理する必要がある
。必要とされる総処理能力又はMIPS(ミップス)は、通常のマイクロプロセ
ッサの総処理能力を超えない限り、処理能力の主な割合を占め得る。その結果、
マイクロプロセッサを介して全体的なモデムのファンクションを遂行することが
困難に成り得る。マイクロプロセッサがモデムのファンクションを遂行可能であ
るとしても、ホスト処理又はソフトウェアモデムに関しては、モデムによって使
用される処理能力が他のアプリケーションに対して使用可能でない場合がある。
従って、ソフトモデムで実行され得るが、従来のソフトモデムで要求されるMI
PSを使用しない、符号化/復号化の方法及び装置が必要とされている。
従来技術による実施ではかなりの処理能力が必要であるとういう問題が存在する
。図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を戻される。これらの
積はシフトレジスタを更新するために使用される。
置が本明細書において提供される。符号化の間、データシンボル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と比較する。
ローム計算の複雑性を低減するために使用され、第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を更に低減する。その結果、全体のモデムのファンクションは、他
のアプリケーションを処理することができるマイクロプロセッサによりマイクロ
プロセッサを介して遂行され得る。
るが、マイクロプロセッサに必要とされる総処理能力又はMIPSは低減される
。更に、本発明に従って説明される参照テーブルは、マイクロプロセッサが一般
的にbの数倍であるマイクロプロセッサのレジスタ幅を使用して、一回の命令で
複数の演算を並行に行うことを可能にし、それにより、マイクロプロセッサに必
要なMIPSを更に低減する。その結果、全体のモデムのファンクションは、他
のアプリケーションを処理することができるマイクロプロセッサによりマイクロ
プロセッサを介して遂行され得る。
【0011】
本発明はデータを符号化/復号化するための方法を包含する。同方法は、デー
タシンボル(Xm)を受信し、通常の符号化/復号化技術の一部として第1の値
を算出し、参照テーブルに対する指標として第1の値を使用する工程から成る。
複数の他の値と第1の値との複数の積は参照テーブルから受信され、同複数の積
はデータを符号化/復号化するために使用される。
タシンボル(Xm)を受信し、通常の符号化/復号化技術の一部として第1の値
を算出し、参照テーブルに対する指標として第1の値を使用する工程から成る。
複数の他の値と第1の値との複数の積は参照テーブルから受信され、同複数の積
はデータを符号化/復号化するために使用される。
【0012】
本発明はデータを復号化するための方法を更に包含する。同方法は、送信デー
タ内に誤りが存在するか否かを判定するためにシンドローム計算を実行し、その
シンドローム計算に基づいて誤り位置多項式を算出し、GF(Q)体のQ個の要
素それぞれに対する多項式を評価するために複数の参照テーブルにアクセスする
ことで誤り位置多項式から誤り位置を決定するチェンサーチを実行する工程から
成る。
タ内に誤りが存在するか否かを判定するためにシンドローム計算を実行し、その
シンドローム計算に基づいて誤り位置多項式を算出し、GF(Q)体のQ個の要
素それぞれに対する多項式を評価するために複数の参照テーブルにアクセスする
ことで誤り位置多項式から誤り位置を決定するチェンサーチを実行する工程から
成る。
【0013】
最終に、本発明は、通常の符号化/復号化技術の一部として、第1の値を出力
するマイクロプロセッサと、入力値として第1の値を有し、且つ複数の他の値と
第1の値との複数の積を出力する第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のメモ
リに等しい。
明の好ましい実施形態によるリード・ソロモン符号器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の符号化処理を完了する。
。データシンボル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個の積のうち一つを上記の順番で保持する。テーブルは特定のコードに対
して一定であるため、読み取り専用メモリに格納され得る。モデムが複数の演算
モードを有し得、各モードが異なるコードを使用し得る場合、モデムの演算モー
ドを決定すると、読み出し/書き込みメモリ内にテーブルを動的に生成すること
も望まれ得る。
、表中のすべての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ワードで一度にア
クセスされることである。各ワードは一般的に複数の連続的なバイトから成るた
め、一般的なシステムでサポートされているバーストメモリアクセスモードによ
り最大の利点が得られる。
GK−1Ymの結果を得るために、参照テーブルが一つだけ必要とされる。直接
の利点はメッセージシンボル毎のK回の乗算を節約できることである。ガロア体
の乗算はマイクロプロセッサに計算上負担のかかる演算であるため、これは、従
来技術と比べて、マイクロプロセッサに必要とされる総処理能力又はMIPSを
大幅に低減する。その結果、全体のモデムファンクションは、他のアプリケーシ
ョンを処理できるマイクロプロセッサを用いて、マイクロプロセッサを介して遂
行される。更に、K個の積が一つのレジスタ内に格納されることは、一回のXO
R及びSHIFT命令を使用して、K個すべてのシフトレジスタの遅延素子を並
行して更新することを可能にする。別の利点は、テーブルが1ワードで一度にア
クセスされることである。各ワードは一般的に複数の連続的なバイトから成るた
め、一般的なシステムでサポートされているバーストメモリアクセスモードによ
り最大の利点が得られる。
【0018】
上記の実行では、マイクロプロセッサのレジスタはシフトレジスタ全体を保持
する十分な幅を有することが想定される。そうでない場合でも、所定のレジスタ
幅により得られる最大の利点はシフトレジスタ演算の一部を格納することで得る
ことができる。更に、上記に説明した参照テーブルはリード・ソロモン符号以外
にも適用され、サイクリックコードとして知られるコードのクラスを符号化する
ための一般的なMIPSの効率的な方法を提供する。リード・ソロモンコードは
サイクリックコードの一種である。
する十分な幅を有することが想定される。そうでない場合でも、所定のレジスタ
幅により得られる最大の利点はシフトレジスタ演算の一部を格納することで得る
ことができる。更に、上記に説明した参照テーブルはリード・ソロモン符号以外
にも適用され、サイクリックコードとして知られるコードのクラスを符号化する
ための一般的な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で終
了する。本発明の好ましい実施形態では、テイルビットは、上記に説明したよう
に、シフトレジスタの最後の内容を出力することにより生成される。
算を示すフローチャートである。シフトレジスタは、それぞれが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)を使用して誤り位置多項式から決定される。
ップ501では、シンドローム多項式が算出される。シンドローム多項式が、コ
ード生成多項式の根において評価された受信した多項式として定義される係数を
有する多項式であることは、当業者であれば認知できる。ステップ502では、
シンドローム=0であるか否かを判定することにより、送信データ内に誤りが存
在するか否かを判定する。ゼロ以外のシンドロームが示されるように、受信した
データ内に誤りが存在する場合、誤り位置多項式が算出され(ステップ504)
、誤り位置が誤り位置多項式(ステップ506)により決定される。最後に、ス
テップ508では、誤り量がフォーニィアルゴリズム(Forney‘s Al
gorithm)を使用して誤り位置多項式から決定される。
【0021】
上記の4つのステップでは、第1ステップと第3ステップは一般的に、マイク
ロプロセッサを用いた復号器にとっては最も計算が集中する工程である。第1ス
テップは、受信したメッセージ多項式の全体に関与し、受信したブロック内に任
意の誤りが存在するか否かに関わらず必要とされる。第3ステップの典型的なア
ルゴリズムは、GF(Q)体にあるQ個の要素すべてを検索することに関与する
。逆に、第2ステップ及び第4ステップには、上記の工程の受信したメッセージ
多項式或いはGF(Q)体のサイズに比べて一般的にかなり小さい階数を有する
シンドローム及び誤り位置多項式に関与する。
ロプロセッサを用いた復号器にとっては最も計算が集中する工程である。第1ス
テップは、受信したメッセージ多項式の全体に関与し、受信したブロック内に任
意の誤りが存在するか否かに関わらず必要とされる。第3ステップの典型的なア
ルゴリズムは、GF(Q)体にあるQ個の要素すべてを検索することに関与する
。逆に、第2ステップ及び第4ステップには、上記の工程の受信したメッセージ
多項式或いはGF(Q)体のサイズに比べて一般的にかなり小さい階数を有する
シンドローム及び誤り位置多項式に関与する。
【0022】
リード・ソロモン符号化データの復号化に必要なMIPSの量を低減させるた
めに、複数の参照テーブルが復号器600により用いられる。復号器600のブ
ロック図は本発明の好ましい実施形態により図6に示される。
めに、複数の参照テーブルが復号器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を戻す。
せるために使用される。第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から成る。
れる。誤り位置は誤り位置多項式λ(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はテーブルの一期間を示す。
され、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)のすべてのゼロ以外の要素を含む。
、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命令で置き
換えることから得られる。
,α- 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のシンボルブロックサイズ(パリティ・シ
ンボルを含む)の本来のリード・ソロモン符号に相当し、最初の数シンボルはゼ
ロにされ、従って復号器により先験的に知られており送信されない。連続的な位
置を読み取ることによりテーブルにアクセスするため、ほとんどのプロセッサに
よりサポートされるバーストメモリモードから最大の利点を受けることができる
。
α- 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において終了する。
ルの工程を示すフローチャートである。初期化ステップ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の期間が格納され
る。この方法では、アドレスの循環は生じず、テーブル内を索引するのにリニア
アドレッシングが使用される。
リティ・シンボルによるリード・ソロモン符号を処理するためには、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)の係数に
使用される。
作成される。そのテーブルは次に、ゼロである誤り位置多項式(λm)の係数に
使用される。
【0032】
上記に言及した発明の説明、特定の詳細、及び図面は、本発明の範囲を限定す
るようには意図されない。例えば、本発明の好ましい実施形態はリード・ソロモ
ン符号化/復号化の間に参照テーブル使用するが、当業者であれば、参照テーブ
ルが他の符号化/復号化の様式で使用され得ることは認識できる。発明者は、本
発明の精神及び範囲から逸脱することなく、多様な改良が本発明に対して行われ
得ることを意図している。また、そのようなすべての改良が特許請求の範囲及び
それらの均等の範囲内にあることも意図されている。
るようには意図されない。例えば、本発明の好ましい実施形態はリード・ソロモ
ン符号化/復号化の間に参照テーブル使用するが、当業者であれば、参照テーブ
ルが他の符号化/復号化の様式で使用され得ることは認識できる。発明者は、本
発明の精神及び範囲から逸脱することなく、多様な改良が本発明に対して行われ
得ることを意図している。また、そのようなすべての改良が特許請求の範囲及び
それらの均等の範囲内にあることも意図されている。
【図1】 従来のリード・ソロモン符号器を示したブロック図。
【図2】 本発明の好ましい実施形態によるリード・ソロモン符号器を示し
たブロック図。
たブロック図。
【図3】 本発明の好ましい実施形態による、図2の参照テーブルを示した
図。
図。
【図4】 本発明の好ましい実施形態による、図2のリード・ソロモン符号
器の演算を示したフローチャート。
器の演算を示したフローチャート。
【図5】 本発明の好ましい実施形態による、リード・ソロモン復号器に必
要な工程を示したフローチャート。
要な工程を示したフローチャート。
【図6】 本発明の好ましい実施形態による、リード・ソロモン復号器を示
したブロック図。
したブロック図。
【図7】 本発明の好ましい実施形態による、GCD(Q−1,m)=1で
ある場合の、GF(Q)に対するチェンサーチ用参照テーブルを示す図。
ある場合の、GF(Q)に対するチェンサーチ用参照テーブルを示す図。
【図8】 本発明の好ましい実施形態による、GCD(Q−1,m)≠1で
ある場合の、GF(Q)に対するチェンサーチ用参照テーブルを示す図。
ある場合の、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】 データを符号化/復号化するための方法であって、 データシンボル(Xm)を受信する工程と、 通常の符号化/復号化技術の一部として第1の値を算出する工程と、 前記第1の値を参照テーブルに対する指標として使用する工程と、 複数の他の値と第1の値との複数の積を前記参照テーブルから受信する工程と
、 データを符号化/復号化するために前記複数の積を使用する工程と、 から成る方法。 - 【請求項2】 通常の符号化技術の一部として第1の値を算出する工程は通
常のリード・ソロモン符号化技術によりYmを算出する工程を含み、メッセージ
ビットは、GF(Q)のメッセージ多項式を構成するシンボルのブロックとして
処理され、コード生成多項式(G)でメッセージ多項式(X)を除算することに
よりパリティ・シンボルを導出する請求項1に記載の方法。 - 【請求項3】 前記複数の積を前記参照テーブルから受信する工程は、G0
Y,G1Y,...,GK- 1Yを前記参照テーブルから受信する工程を含み、
式中Y=0,1,2,...,Q−1であり、Gmはコード生成多項式の係数で
ある請求項2に記載の方法。 - 【請求項4】 リード・ソロモン符号の変数を初めから決定する工程と、 前記変数に基づいて参照テーブルを動的に生成する工程と、 から更に成る請求項1に記載の方法。
- 【請求項5】 前記参照テーブルに対する指標として前記第1の値を使用す
る工程は、シンドローム計算の間に参照テーブルに対する指標として第1の値を
使用する工程を含む請求項1に記載の方法。 - 【請求項6】 第2の通常の復号化処理の一部としての参照テーブルの第2
の集合にアクセスする工程と、 前記第2の参照テーブルにアクセスする工程に対応して前記参照テーブルの第
2の集合からある値を受信する工程と、 を更に含む請求項1に記載のデータを復号化する方法。 - 【請求項7】 前記参照テーブルの第2の集合にアクセスする工程は、チェ
ンサーチの一部として前記参照テーブルの第2の集合にアクセスする工程を含む
請求項6に記載の方法。 - 【請求項8】 前記参照テーブルの第2の集合にアクセスする工程は、(Q
−1)個の要素をそれぞれに含んだ参照テーブルの第2の集合にアクセスする工
程を含み、(Q−1)とm(GCD(Q−1,m))の最大公約数が1である場
合、m番目の参照テーブルは位置i=0,1,...,Q−2においてガロア体
要素α- miを格納する請求項7に記載の方法。 - 【請求項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】 前記参照テーブルの第2の集合にアクセスする工程は循環
型参照テーブルの集合にアクセスする工程を含み、前記参照テーブルの末尾を越
えるアクセスは、前記テーブルのサイズを有するアドレスモジュロにより実行さ
れる請求項9に記載の方法。 - 【請求項11】 データを復号化するための方法であって、 送信データに誤りが存在するか否かを判定するためにシンドローム計算を実行
する工程と、 前記シンドローム計算に基づいて誤り位置多項式を算出する工程と、 GF(Q)体のQ個の要素の各々に対して多項式を評価するために複数の参照
テーブルにアクセスすることにより、誤り位置多項式から誤り位置を決定するた
めのチェンサーチを実行する工程と、 から成る方法。 - 【請求項12】 複数の参照テーブルにアクセスすることによりチェンサー
チを実行する前記工程は、各参照テーブルが(Q−1)個の要素を含み、且つ式
中のQがGF(Q)体のサイズである複数の参照テーブルにアクセスする工程を
含む請求項11に記載の方法。 - 【請求項13】 複数の参照テーブルにアクセスすることによりチェンサー
チを実行する工程は、(Q−1)とm(GCD(Q−1,m))の最大公約数が
1である場合に、m番目の参照テーブルが位置i=0,1,...,Q−2にお
いてガロア体要素α- miを格納する、複数の参照テーブルにアクセスする工程
を含む請求項11に記載の方法。 - 【請求項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】 通常の符号化/復号化技術の一部として第1の値を出力す
るマイクロプロセッサと、 入力として前記第1の値を有し、前記第1の値と複数の他の値との複数の積を
出力する第1参照テーブルと、 を備えた符号器/復号器。 - 【請求項16】 前記第1の値(Ym)は、ある変数とデータシンボル(X
m)の合計値である請求項15に記載の装置。 - 【請求項17】 前記第1の値と複数の他の値との複数の積はG0Y,G1
Y,...,GK- 1Yであり、式中Y=0,1,2,...,Q−1であり、
Gmはコード生成多項式の係数である請求項16に記載の装置。 - 【請求項18】 マイクロプロセッサに接続された参照テーブルの第2の集
合を更に備え、前記参照テーブルの第2の集合はチェンサーチの間に使用される
請求項15に記載の復号器。 - 【請求項19】 前記参照テーブルの第2の集合は(Q−1)個の要素を含
み、(Q−1)とm(GCD(Q−1,m))の最大公約数が1である場合、m
番目の参照テーブルは位置i=0,1,...,Q−2においてガロア体要素α
- miを格納する請求項18に記載の復号器。 - 【請求項20】 前記参照テーブルの第2の集合は(Q−1)個の要素を含
み、各参照テーブルは(Q−1)の要素を含み、m番目の参照テーブルはGFの
要素α- (mi+j)(J=0,1,...,GCD(Q−1,m)−1)を格
納する(GCD(Q−1))のサブテーブルを含む請求項18に記載の復号器。
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)
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)
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)
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 | 윤종용 | 리드솔로몬복호기의역수구현회로 |
-
1999
- 1999-08-27 US US09/384,530 patent/US6360348B1/en not_active Expired - Fee Related
-
2000
- 2000-08-17 JP JP2001520981A patent/JP2003529233A/ja active Pending
- 2000-08-17 EP EP00957537A patent/EP1400022A4/en not_active Withdrawn
- 2000-08-17 CN CNA008121400A patent/CN1535505A/zh active Pending
- 2000-08-17 KR KR1020027002559A patent/KR20020047134A/ko not_active Application Discontinuation
- 2000-08-17 AU AU69139/00A patent/AU6913900A/en not_active Abandoned
- 2000-08-17 WO PCT/US2000/022631 patent/WO2001017154A2/en not_active Application Discontinuation
Cited By (3)
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) | 原始元αのべき乗生成方式及びその装置 |