Decoding device and its method

申请号 JP2000086831 申请日 2000-03-27 公开(公告)号 JP2001274694A 公开(公告)日 2001-10-05
申请人 Matsushita Electric Ind Co Ltd; 松下電器産業株式会社; 发明人 FUKUOKA TOSHIHIKO; SENDA HIROYUKI;
摘要 PROBLEM TO BE SOLVED: To prevent erroneous correction when a magnified Reed-Solomon code is decoded. SOLUTION: A decoding device is provided with a syndrome calculating part for obtaining input data syndrome from input data and correction data syndrome from a first correction data which is obtained based on input data, an evaluation polynomial and position polynomial deriving part for outputting the coefficients of the respective orders of an error evaluation polynomial and an error position polynomial based on the input data syndrome and also outputting the largeness of the error, a chain search part for outputting the root of the error position polynomial and an error correcting part for outputting error-corrected data for input data when an error exists in input data or outputting input data unless the error exists as the first correction data and also outputting input data obtained by performing a restoration processing when the error exists in the first correction data or outputting the first correction data unless the error exists as the second correction data.
权利要求 【特許請求の範囲】
  • 【請求項1】 拡大リードソロモン符号からなる受信語に誤り訂正処理を行って、訂正データを求める訂正処理部を備え、 前記訂正処理部は、生成した訂正データについて、そのシンドロームに基づいて誤りの有無を判定し、 誤りがない訂正データが生成された場合は、当該訂正データを出力する一方、誤りがない訂正データが生成できない場合は、誤り訂正前の受信語を出力する復号装置。
  • 【請求項2】 請求項1に記載の復号装置において、 前記訂正処理部は、 前記受信語から生成した訂正データに誤りが存在するときは、誤りがない訂正データが生成できないと判定することを特徴とする復号装置。
  • 【請求項3】 請求項1に記載の復号装置において、 前記訂正処理部は、 前記誤り訂正処理を、誤りがない訂正データが生成されるまで繰り返し実行するものであり、 誤り訂正処理を所定回数行っても誤りがない訂正データが生成されないときは、誤りがない訂正データが生成できないと判定することを特徴とする復号装置。
  • 【請求項4】 拡大リードソロモン符号からなる受信語を入力データとし、前記入力データのシンドロームを入力データシンドロームとして求め、当該入力データシンドロームに基づいて前記入力データに誤りが存在するか否かを示す第1のフラグ信号を出力するとともに、前記入力データに基づいて求められた第1の訂正データのシンドロームを訂正データシンドロームとして求め、当該訂正データシンドロームに基づいて前記第1の訂正データに誤りが存在するか否かを示す第2のフラグ信号を出力するシンドローム計算部と、 前記入力データシンドロームに基づいて誤り評価多項式及び誤り位置多項式の各次数の係数を求めるとともに、
    前記係数から求められた誤りの評価値及び対応する誤り位置多項式微分値に基づいて誤りの大きさを求める評価多項式・位置多項式導出部と、 前記係数に基づいて前記誤り位置多項式の根を求めるとともに、前記誤り評価多項式に前記根のそれぞれを代入して得られる誤りの評価値及び前記誤り位置多項式の導関数に前記根のそれぞれを代入して得られる誤り位置多項式微分値を求めるチェンサーチ部と、 前記第1のフラグ信号が前記入力データに誤りが存在することを示す場合は、前記根及び対応する前記誤りの大きさに基づいて、前記入力データに対して誤り訂正処理を行って得たデータを前記第1の訂正データとして出力し、前記第1のフラグ信号が前記入力データに誤りが存在しないことを示す場合は、当該入力データを前記第1
    の訂正データとして出力するとともに、 前記第2のフラグ信号が前記第1の訂正データに誤りが存在することを示す場合は、前記第1の訂正データに対して誤り訂正処理前のデータに戻す復元処理を行って得たデータを第2の訂正データとして出力し、前記第2のフラグ信号が前記第1の訂正データに誤りが存在しないことを示す場合は、当該第1の訂正データを第2の訂正データとして出力するエラー訂正部とを備えた復号装置。
  • 【請求項5】 請求項4に記載の復号装置において、 前記シンドローム計算部は、 前記入力データ及び前記エラー訂正部が出力する前記第1の訂正データを入力とし、これらを交互に出力するセレクタと、 前記セレクタが出力する前記入力データ及び前記第1の訂正データに基づいて、前記入力データシンドローム及び前記訂正データシンドロームをそれぞれ求めるシンドローム演算器と、 前記入力データシンドロームを保持して出力する入力データシンドローム保持器と、 前記訂正データシンドロームを保持して出力する訂正データシンドローム保持器と、 前記入力データシンドローム保持器が出力する前記入力データシンドロームの成分がすべて零である場合は前記入力データに誤りが存在しないことを示すように、そうでない場合は前記入力データに誤りが存在することを示すように、前記第1のフラグ信号を出力する第1のシンドローム零検出器と、 前記訂正データシンドローム保持器が出力する前記訂正データシンドロームの成分がすべて零である場合は前記第1の訂正データに誤りが存在しないことを示すように、そうでない場合は前記第1の訂正データに誤りが存在することを示すように、前記第2のフラグ信号を出力する第2のシンドローム零検出器とを備えたことを特徴とする復号装置。
  • 【請求項6】 請求項4に記載の復号装置において、 前記評価多項式・位置多項式導出部は、 ユークリッド互除演算によって、前記入力データシンドロームに基づいて前記誤り評価多項式及び前記誤り位置多項式の各次数の係数を求めて出力するものであって、 前記ユークリッド互除演算終了時に、前記誤り位置多項式の次数が前記誤り評価多項式の次数以下であっても、
    前記係数を出力することを特徴とする復号装置。
  • 【請求項7】 請求項4に記載の復号装置において、 前記チェンサーチ部は、 前記誤り位置多項式に前記拡大リードソロモン符号の根が定義されるガロア体の元を順次代入し、前記誤り位置多項式の値が零となる元を当該誤り位置多項式の根として求め、 当該誤り位置多項式の互いに異なる根の数が当該誤り位置多項式の次数未満の場合であっても、当該誤り位置多項式の根を出力することを特徴とする復号装置。
  • 【請求項8】 請求項4に記載の復号装置において、 前記エラー訂正部は、 前記第1のフラグ信号が前記入力データに誤りが存在することを示す場合は、前記入力データに対して、前記根のそれぞれに対応する誤りの位置が示すシンボルから対応する前記誤りの大きさを減じる誤り訂正処理を行って得られたデータを、そうでない場合は、前記入力データを、それぞれ前記第1の訂正データとして出力する第1
    のエラー訂正器と、 前記誤りの位置を保持して出力する誤りの位置データ保持器と、 前記誤りの大きさを保持して出力する誤りの大きさデータ保持器と、 前記第2のフラグ信号が前記第1の訂正データに誤りが存在することを示す場合は、前記第1の訂正データに対して、前記誤りの位置が示すシンボルに対応する前記誤りの大きさの値を加算して前記誤り訂正処理を行う前のデータに戻す復元処理を行って得られたデータを、そうでない場合は、前記第1の訂正データを、それぞれ前記第2の訂正データとして出力する第2のエラー訂正器とを備えたことを特徴とする復号装置。
  • 【請求項9】 請求項4に記載の復号装置において、 前記入力データを、前記エラー訂正部が第1の訂正データを求め始めるまで保持した後出力し、前記第1の訂正データを、前記エラー訂正部が前記第2の訂正データを求め始めるまで保持した後出力するデータ記憶部を更に備えたことを特徴とする復号装置。
  • 【請求項10】 拡大リードソロモン符号からなる受信語に誤り訂正処理を行って、訂正データを求める訂正処理工程を備え、 前記訂正処理工程では、生成した訂正データについて、
    そのシンドロームに基づいて誤りの有無を判定し、 誤りがない訂正データが生成された場合は、当該訂正データを求めるべき訂正データとして決定する一方、誤りがない訂正データが生成できない場合は、誤り訂正前の受信語を求めるべき訂正データとして決定する復号方法。
  • 【請求項11】 請求項10に記載の復号方法において、 前記訂正処理工程では、 前記受信語から生成した訂正データに誤りが存在するときは、誤りがない訂正データが生成できないと判定することを特徴とする復号方法。
  • 【請求項12】 請求項10に記載の復号方法において、 前記訂正処理工程では、 前記誤り訂正処理を、誤りがない訂正データが生成されるまで繰り返し実行し、 誤り訂正処理を所定回数行っても誤りがない訂正データが生成されないときは、誤りがない訂正データが生成できないと判定することを特徴とする復号方法。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【発明の属する技術分野】本発明は、拡大リードソロモン(Reed-Solomon)符号の多重誤り訂正を行う復号技術に関する。

    【0002】

    【従来の技術】各種大容量記憶装置の記憶情報、高速通信の伝送情報等において、多重誤り訂正を可能とする符号としてリードソロモン符号が広く使用されている。

    【0003】リードソロモン符号は、原始多項式をW
    (z) とし、W(z)=0の根をαとするとき、この根αを原始元とするガロア体(Galois field)上の符号であって、ブロック誤り訂正符号の1つである。 ここで、ガロア体GF(2 m )の原始元をαとし、このガロア体GF
    (2 m )の元α 0 ,α 1 ,…,α^(2 m −2)の中に根を持つリードソロモン符号を考える。 この符号では、符号長n=2 m −1であり、mビットが1処理単位、すなわち1シンボルとされる。 原情報の量はn−2tシンボル(tは誤り訂正数)である。

    【0004】リードソロモン符号の復号は、一般に、 (a)シンドローム算出 (b)誤り評価多項式及び誤り位置多項式の算出 (c)チェンサーチによる誤りの位置の算出 (d)誤りの大きさの算出 (e)誤りの位置と誤りの大きさに基づくデータの訂正 の手順で行う。 この復号方法の詳細に関しては、特開平10−135846号公報に開示されている。

    【0005】ところが、最近、ケーブルモデムやケーブルテレビ等のシステムにおいて、拡大リードソロモン符号を用いて誤り訂正を行う仕様が採用されている。 拡大リードソロモン符号は、符号長nが、符号の根が属するガロア体の元の数q以上である符号であって、符号長n
    =qの場合は1次拡大リードソロモン符号、符号長n=
    q+1の場合は2次拡大リードソロモン符号と呼ばれる。

    【0006】例えば、北米のケーブルテレビのシステムでは、ガロア体GF(2 7 )上において、原始多項式P
    (x)として、P(x)=x 7 +x 3 +1、生成多項式G
    L (x)として、G L (x)=(x+α)(x+α 2
    (x+α 3 )(x+α 4 )(x+α 5 )を用いた、誤り訂正数t=3の1次拡大リードソロモン符号が採用されている。 なお、この拡大リードソロモン符号では、誤り訂正数t=3であるにもかかわらず生成多項式G L (x)
    は5次の多項式であるため、シンドローム計算の際に通常とは異なった処理が必要となる。

    【0007】通常のリードソロモン符号は、符号長をn
    を2 mとする場合は、2 m+1個の元を有するガロア体GF
    (2 m+1 )上で符号を構成する必要があるが、拡大リードソロモン符号は、ガロア体GF(2 m )上であっても符号長nを2 m以上に伸長することが可能である。

    【0008】

    【発明が解決しようとする課題】1シンボルのビット数m=7、誤り訂正数t=3とするガロア体GF(2 7
    上のリードソロモン符号を考える。

    【0009】通常のリードソロモン符号は、ガロア体G
    F(2 7 )の元α 0 ,α 1 ,…,α 126の中に根を持ち、符号長n=127である。 生成多項式G(x)の次数は誤り訂正数tの2倍であるので、誤り訂正数t=3のとき、生成多項式G(x)は、6次の多項式を用いて、G
    (x)=(x+α)(x+α 2 )(x+α 3 )(x+
    α 4 )(x+α 5 )(x+α 6 )とすることができる。

    【0010】一方、拡大リードソロモン符号を考えれば、同じガロア体GF(2 7 )において、より長い符号長を持つ符号を構成し、誤り訂正を行うことが可能である。 例えば、符号長n=128とする拡大リードソロモン符号を考えることができる。

    【0011】通常のリードソロモン符号の復号においては、誤り位置多項式の根と誤りの位置とは1対1に対応しているため、チェンサーチによって誤り位置多項式を解くことで誤りの位置が求まる。 チェンサーチは、ガロア体のすべての元を誤り位置多項式に順次代入していき、この式の値が零になる元を誤り位置多項式の根として求める方法である。 例えば、誤り訂正数t=3の場合は、3次式となる誤り位置多項式に元を順次代入し、式の値が零になった時に代入した元が誤り位置多項式の3
    個の根として求められる。

    【0012】符号語に訂正能を超えた誤りが付加された場合は、誤り評価多項式と誤り位置多項式とが正しく導出されなかったり、チェンサーチの処理において正しく誤り位置多項式の根が導出されないことから、誤り訂正が不可能であることを認識することができる。 この場合は、誤り訂正処理を施さず、入力データをそのまま出力する。

    【0013】ところが、拡大リードソロモン符号では、
    符号長nがガロア体GF(2 7 )の0以外の元の個数より大きくなるため、元と誤りの位置とが1対1に対応せず、チェンサーチについて通常のリードソロモン符号の復号とは異なった処理を行う必要がある。

    【0014】そこで、次のように考えて、拡大リードソロモン符号を復号する。 例えば、符号長n=128の拡大リードソロモン符号は、誤り訂正数tが3の場合、情報記号122シンボルと冗長記号6シンボルとで構成される。 ガロア体GF(2 7 )では、チェンサーチによって訂正することができるのは127シンボルのみであるので、受信語128シンボルのうち、冗長記号1シンボルを除いた残りの127シンボルのみを対象として誤り訂正を行なう。

    【0015】しかし、128シンボルの符号を用いて符号のうちの127シンボルを訂正することと、訂正処理を施さない冗長記号1シンボルに対して誤りが生じる場合もあることから、訂正が正しく行われない誤訂正が発生するという問題がある。

    【0016】本発明は、このような問題を解決するものであり、拡大リードソロモン符号の受信語に対する復号の際に、誤り訂正が可能であるか否かを判定し、誤り訂正が可能である場合には正しく訂正処理を施したデータを得るとともに、誤り訂正が不可能である場合には誤訂正を行わないようにする、復号装置及び復号方法を提供することを課題とする。

    【0017】

    【課題を解決するための手段】前記課題を解決するため、請求項1の発明が講じた手段は、復号装置として、
    拡大リードソロモン符号からなる受信語に誤り訂正処理を行って、訂正データを求める訂正処理部を備え、前記訂正処理部は、生成した訂正データについて、そのシンドロームに基づいて誤りの有無を判定し、誤りがない訂正データが生成された場合は、当該訂正データを出力する一方、誤りがない訂正データが生成できない場合は、
    誤り訂正前の受信語を出力するものである。

    【0018】また、請求項2の発明では、請求項1に記載の復号装置において、前記訂正処理部は、前記受信語から生成した訂正データに誤りが存在するときは、誤りがない訂正データが生成できないと判定する。

    【0019】また、請求項3の発明では、請求項1に記載の復号装置において、前記訂正処理部は、前記誤り訂正処理を、誤りがない訂正データが生成されるまで繰り返し実行するものであり、誤り訂正処理を所定回数行っても誤りがない訂正データが生成されないときは、誤りがない訂正データが生成できないと判定する。

    【0020】また、請求項4の発明は、復号装置として、拡大リードソロモン符号からなる受信語を入力データとし、前記入力データのシンドロームを入力データシンドロームとして求め、当該入力データシンドロームに基づいて前記入力データに誤りが存在するか否かを示す第1のフラグ信号を出力するとともに、前記入力データに基づいて求められた第1の訂正データのシンドロームを訂正データシンドロームとして求め、当該訂正データシンドロームに基づいて前記第1の訂正データに誤りが存在するか否かを示す第2のフラグ信号を出力するシンドローム計算部と、前記入力データシンドロームに基づいて誤り評価多項式及び誤り位置多項式の各次数の係数を求めるとともに、前記係数から求められた誤りの評価値及び対応する誤り位置多項式微分値に基づいて誤りの大きさを求める評価多項式・位置多項式導出部と、前記係数に基づいて前記誤り位置多項式の根を求めるとともに、前記誤り評価多項式に前記根のそれぞれを代入して得られる誤りの評価値及び前記誤り位置多項式の導関数に前記根のそれぞれを代入して得られる誤り位置多項式微分値を求めるチェンサーチ部と、前記第1のフラグ信号が前記入力データに誤りが存在することを示す場合は、前記根及び対応する前記誤りの大きさに基づいて、
    前記入力データに対して誤り訂正処理を行って得たデータを前記第1の訂正データとして出力し、前記第1のフラグ信号が前記入力データに誤りが存在しないことを示す場合は、当該入力データを前記第1の訂正データとして出力するとともに、前記第2のフラグ信号が前記第1
    の訂正データに誤りが存在することを示す場合は、前記第1の訂正データに対して誤り訂正処理前のデータに戻す復元処理を行って得たデータを第2の訂正データとして出力し、前記第2のフラグ信号が前記第1の訂正データに誤りが存在しないことを示す場合は、当該第1の訂正データを第2の訂正データとして出力するエラー訂正部とを備えたものである。

    【0021】請求項4の発明によると、入力データシンドロームだけではなく、訂正データシンドロームをも求めるので、誤り訂正が正しく行われたか否かを知ることができる。

    【0022】また、請求項5の発明では、請求項4に記載の復号装置において、前記シンドローム計算部は、前記入力データ及び前記エラー訂正部が出力する前記第1
    の訂正データを入力とし、これらを交互に出力するセレクタと、前記セレクタが出力する前記入力データ及び前記第1の訂正データに基づいて、前記入力データシンドローム及び前記訂正データシンドロームをそれぞれ求めるシンドローム演算器と、前記入力データシンドロームを保持して出力する入力データシンドローム保持器と、
    前記訂正データシンドロームを保持して出力する訂正データシンドローム保持器と、前記入力データシンドローム保持器が出力する前記入力データシンドロームの成分がすべて零である場合は前記入力データに誤りが存在しないことを示すように、そうでない場合は前記入力データに誤りが存在することを示すように、前記第1のフラグ信号を出力する第1のシンドローム零検出器と、前記訂正データシンドローム保持器が出力する前記訂正データシンドロームの成分がすべて零である場合は前記第1
    の訂正データに誤りが存在しないことを示すように、そうでない場合は前記第1の訂正データに誤りが存在することを示すように、前記第2のフラグ信号を出力する第2のシンドローム零検出器とを備える。

    【0023】請求項5の発明によると、入力データシンドローム及び訂正データシンドロームを並行して求め、
    第1のフラグ信号及び第2のフラグ信号を同時に出力するので、入力データ及び第1の訂正データに誤りが存在するか否かを同時に知ることができる。

    【0024】また、請求項6の発明では、請求項4に記載の復号装置において、前記評価多項式・位置多項式導出部は、ユークリッド互除演算によって、前記入力データシンドロームに基づいて前記誤り評価多項式及び前記誤り位置多項式の各次数の係数を求めて出力するものであって、前記ユークリッド互除演算終了時に、前記誤り位置多項式の次数が前記誤り評価多項式の次数以下であっても、前記係数を出力する。

    【0025】請求項6の発明によると、ユークリッド互除演算の結果にかかわらず、誤り評価多項式及び誤り位置多項式を得ることができるので、誤りの位置及び誤りの大きさを求め、拡大リードソロモン符号の復号を行うことができる。

    【0026】また、請求項7の発明では、請求項4に記載の復号装置において、前記チェンサーチ部は、前記誤り位置多項式に前記拡大リードソロモン符号の根が定義されるガロア体の元を順次代入し、前記誤り位置多項式の値が零となる元を当該誤り位置多項式の根として求め、当該誤り位置多項式の互いに異なる根の数が当該誤り位置多項式の次数未満の場合であっても、当該誤り位置多項式の根を出力する。

    【0027】請求項7の発明によると、チェンサーチによって得られた誤り位置多項式の互いに異なる根の数にかかわらず、その根を利用することができるので、誤りの位置及び誤りの大きさを求めて、拡大リードソロモン符号の復号を行うことができる。

    【0028】また、請求項8の発明では、請求項4に記載の復号装置において、前記エラー訂正部は、前記第1
    のフラグ信号が前記入力データに誤りが存在することを示す場合は、前記入力データに対して、前記根のそれぞれに対応する誤りの位置が示すシンボルから対応する前記誤りの大きさを減じる誤り訂正処理を行って得られたデータを、そうでない場合は、前記入力データを、それぞれ前記第1の訂正データとして出力する第1のエラー訂正器と、前記誤りの位置を保持して出力する誤りの位置データ保持器と、前記誤りの大きさを保持して出力する誤りの大きさデータ保持器と、前記第2のフラグ信号が前記第1の訂正データに誤りが存在することを示す場合は、前記第1の訂正データに対して、前記誤りの位置が示すシンボルに対応する前記誤りの大きさの値を加算して前記誤り訂正処理を行う前のデータに戻す復元処理を行って得られたデータを、そうでない場合は、前記第1の訂正データを、それぞれ前記第2の訂正データとして出力する第2のエラー訂正器とを備える。

    【0029】請求項8の発明によると、入力データに対する訂正処理と、第1の訂正データに対する復元処理とを並行して行うことができ、処理を高速に行うことができる。

    【0030】また、請求項9の発明は、請求項4に記載の復号装置において、前記入力データを、前記エラー訂正部が第1の訂正データを求め始めるまで保持した後出力し、前記第1の訂正データを、前記エラー訂正部が前記第2の訂正データを求め始めるまで保持した後出力するデータ記憶部を更に備えたものである。

    【0031】請求項9の発明によると、エラー訂正部に必要なデータを適切なタイミングで供給できる。 また、
    1つの受信語に関しては、入力データ又はこの入力データから生成された第1の訂正データのいずれか一方を記憶すればよいので、データ記憶部の容量を小さくすることができる。

    【0032】また、請求項10の発明は、復号方法として、拡大リードソロモン符号からなる受信語に誤り訂正処理を行って、訂正データを求める訂正処理工程を備え、前記訂正処理工程では、生成した訂正データについて、そのシンドロームに基づいて誤りの有無を判定し、
    誤りがない訂正データが生成された場合は、当該訂正データを求めるべき訂正データとして決定する一方、誤りがない訂正データが生成できない場合は、誤り訂正前の受信語を求めるべき訂正データとして決定するものである。

    【0033】請求項1又は10の発明によると、受信語に対し、最終的に誤りがない訂正データが生成できないと判定した場合には、正しく訂正されなかったデータを出力しないようにすることができる。

    【0034】また、請求項11の発明は、請求項10に記載の復号方法において、前記訂正処理工程では、前記受信語から生成した訂正データに誤りが存在するときは、誤りがない訂正データが生成できないと判定するものである。

    【0035】請求項2又は11の発明によると、訂正データに誤りが存在するときは、それ以上誤り訂正を行うことなく、誤りがない訂正データが生成できないと判定して、誤り訂正前の受信語を出力することができる。

    【0036】また、請求項12の発明は、請求項10に記載の復号方法において、前記訂正処理工程では、前記誤り訂正処理を、誤りがない訂正データが生成されるまで繰り返し実行し、誤り訂正処理を所定回数行っても誤りがない訂正データが生成されないときは、誤りがない訂正データが生成できないと判定するものである。

    【0037】請求項3又は12の発明によると、誤り訂正を繰り返し行って、誤りがない訂正データを生成する可能性を高くすることができる。

    【0038】

    【発明の実施の形態】以下、本発明の一実施形態について、図面を参照しながら説明する。

    【0039】図1は本実施形態に係るリードソロモン復号装置の構成を示すブロック図である。 図1のリードソロモン復号装置は、シンドローム計算部10と、評価多項式・位置多項式導出部20と、チェンサーチ部30
    と、エラー訂正部40と、データ記憶部50とを備えている。 シンドローム計算部10、評価多項式・位置多項式導出部20、チェンサーチ部30及びエラー訂正部4
    0は、訂正処理部として動作する。

    【0040】図1のリードソロモン復号装置は、拡大リードソロモン符号からなる受信語を入力データDIとし、これを復号して第2の訂正データC2として出力するものである。 以下では例として、入力される拡大リードソロモン符号は、ガロア体GF(2 7 )上の1次拡大リードソロモン符号であって、1シンボルのビット数m
    =7、符号長n=128であるとする。 受信語1語は1
    28シンボルで構成されている。 また、誤り訂正数t=
    3であるものとして説明する。 したがって、この拡大リードソロモン符号は、3シンボルの誤り訂正が可能である。

    【0041】図2は、図1のリードソロモン復号装置における処理を説明するフローチャートである。 以下では、図1及び図2のステップS1〜S11を参照しながら説明する。 受信語には、受信語中の位置juのシンボルに大きさがe uの誤りが生じているとする。 ただし、
    u=1,2,…,k(k≦t)である。 このような受信語中の誤りシンボルの位置juを誤りの位置という。

    【0042】シンドローム計算部10及びデータ記憶部50には、入力データDIが入力される。 データ記憶部50は、入力データDIを記憶してエラー訂正部40に出力する。

    【0043】ステップS1では、シンドローム計算部1
    0は、入力データDIのシンドロームを入力データシンドロームSIとして算出する。

    【0044】ステップS2では、シンドローム計算部1
    0は、入力データシンドロームSIの成分がすべて零であるか否かを検出する。 シンドローム計算部10は、入力データシンドロームSIの成分がすべて零である場合は入力データDIに誤りがないと判定し、第1のフラグ信号としての第1の無誤り状態示唆信号F1をアクティブにしてエラー訂正部40に出力し、ステップS3の処理に移る。 シンドローム計算部10は、入力データシンドロームSIの成分に零ではないものがある場合は入力データDIに誤りがあると判定し、第1の無誤り状態示唆信号F1を非アクティブにしてエラー訂正部40に出力し、ステップS4の処理に移る。 いずれの場合も、シンドローム計算部10は、入力データシンドロームSI
    を評価多項式・位置多項式導出部20に出力する。

    【0045】ステップS3では、エラー訂正部40は、
    第1の無誤り状態示唆信号F1がアクティブであることから誤り訂正の必要がないことがわかるので、データ記憶部50が出力する入力データDIをそのまま、第1の訂正データとしてシンドローム計算部10及びデータ記憶部50に出力する。

    【0046】ステップS4〜S7は、第1の無誤り状態示唆信号F1が非アクティブであり、入力データDIに誤りが存在する場合の処理である。

    【0047】ステップS4では、評価多項式・位置多項式導出部20は、ユークリッド互除演算によって入力データシンドロームSIから誤り位置多項式σ(z)及び誤り評価多項式ω(z)の各次数の係数を求め、これらの多項式の係数をチェンサーチ部30に出力する。

    【0048】評価多項式・位置多項式導出部20は、データ保持器(図示せず)及びガロア演算器(図示せず)
    を備えている。 データ保持器は、入力データシンドロームSI及びユークリッド互除演算の中間結果を保持し、
    最終的に誤り位置多項式σ(z)及び誤り評価多項式ω
    (z)の各次数の係数を出力する。 ガロア演算器は、データ保持器の出力からユークリッド互除演算を行って中間結果を求め、データ保持器に出力する。 このユークリッド互除演算の詳細については、特開平10−1358
    46号公報に開示されている。

    【0049】なお、図1の評価多項式・位置多項式導出部20は、ユークリッド互除演算終了時に、誤り位置多項式σ(z)の次数が誤り評価多項式ω(z)の次数以下であっても、これらの多項式の係数を出力する。

    【0050】ステップS5では、チェンサーチ部30
    は、チェンサーチを行って、誤り位置多項式σ(z)の根α -juを求める。 すなわち、チェンサーチ部30は、
    誤り位置多項式σ(z)にガロア体GF(2 7 )の元を順次代入し、誤り位置多項式σ(z)の値が零となる元をこの誤り位置多項式σ(z)の根α -juとして求め、
    エラー訂正部40に出力する。 この際、チェンサーチ部30は、誤り位置多項式σ(z)がガロア体GF
    (2 7 )に持つ互いに異なる根の数がこの誤り位置多項式σ(z)の次数未満の場合であっても、誤り訂正が可能か否かを判断せず、根α -juをエラー訂正部40に出力する。 誤り位置多項式σ(z)の根α -juのそれぞれには、誤りの位置juが対応している。

    【0051】また、チェンサーチ部30は、誤り評価多項式ω(z)に誤り位置多項式σ(z)の根α -juのそれぞれを代入して誤りの評価値ω(α -ju )を求めるとともに、誤り位置多項式σ(z)の導関数に誤り位置多項式σ(z)の根α -juのそれぞれを代入して誤り位置多項式微分値σ'(α -ju )を求める。 チェンサーチ部3
    0は、誤りの評価値ω(α -ju )及び誤り位置多項式微分値σ'(α -ju )を評価多項式・位置多項式導出部20
    に出力する。

    【0052】ステップS6では、評価多項式・位置多項式導出部20におけるガロア演算器(図示せず)が、誤りの評価値ω(α -ju )を対応する誤り位置多項式微分値σ'(α -ju )で除算して、誤りの位置juのそれぞれのシンボル中の誤りビットを示す誤りの大きさe uを求め、エラー訂正部40に出力する。

    【0053】ステップS7では、エラー訂正部40は、
    チェンサーチ部30が出力する誤り位置多項式σ(z)
    の根α -juのそれぞれに対応した誤りの位置juと、評価多項式・位置多項式導出部20が出力する誤りの大きさe uとに基づいて、データ記憶部50が出力する入力データDIに対して誤り訂正処理を行う。 すなわち、入力データDIである受信語の誤りの位置juのシンボルから、それに対応した誤りの大きさe uを減算する。 ガロア体GF(2)の拡大体上での演算であるので、誤りの大きさe uを減算する代わりに加算してもよい。

    【0054】エラー訂正部40は、誤り訂正処理後のデータを第1の訂正データC1としてシンドローム計算部10及びデータ記憶部50に出力する。 データ記憶部5
    0は、第1の訂正データC1を記憶し、これをエラー訂正部40に再び出力する。

    【0055】ステップS8では、シンドローム計算部1
    0は、第1の訂正データC1のシンドロームを訂正データシンドロームSCとして算出する。

    【0056】ステップS9では、シンドローム計算部1
    0は、訂正データシンドロームSCの成分がすべて零であるか否かを検出する。 シンドローム計算部10は、訂正データシンドロームSCの成分がすべて零である場合は、第1の訂正データC1に誤りがないと判定し、第2
    のフラグ信号としての第2の無誤り状態示唆信号F2をアクティブにしてエラー訂正部40に出力し、ステップS10の処理に移る。 シンドローム計算部10は、訂正データシンドロームSCの成分に零ではないものがある場合は、第1の訂正データC1に誤りがあると判定し、
    第2の無誤り状態示唆信号F2を非アクティブにしてエラー訂正部40に出力し、ステップS11の処理に移る。

    【0057】ステップS10では、エラー訂正部40
    は、第2の無誤り状態示唆信号F2がアクティブであることから第1の訂正データC1に誤りがないことがわかるので、データ記憶部50が出力する第1の訂正データC1をそのまま、第2の訂正データC2として出力する。

    【0058】ステップS11では、エラー訂正部40
    は、第2の無誤り状態示唆信号F2が非アクティブであることから第1の訂正データC1に誤りがあることがわかるので、チェンサーチ部30が出力する誤り位置多項式σ(z)の根α -juのそれぞれに対応した誤りの位置juと、評価多項式・位置多項式導出部20が出力する誤りの大きさe uとに基づいて、データ記憶部50が出力する第1の訂正データC1を訂正処理前の入力データDIに復元する処理を行う。 すなわち、第1の訂正データC1の誤りの位置juのシンボルに対して、それに対応した誤りの大きさe uを加算又は減算する。 エラー訂正部40は、復元して得られた入力データDIを第2の訂正データC2として出力する。

    【0059】図3は、図1のシンドローム計算部10の構成を示すブロック図である。 図3のシンドローム計算部10は、セレクタ11と、シンドローム演算器12
    と、入力データシンドローム保持器13と、訂正データシンドローム保持器14と、第1のシンドローム零検出器15と、第2のシンドローム零検出器16とを備えている。

    【0060】セレクタ11には、入力データDI及び第1の訂正データC1が入力されており、セレクタ11
    は、これらを交互にシンドローム演算器12に出力する。 シンドローム演算器12は、セレクタ11と同期して動作しており、入力データシンドロームSIを求める計算と訂正データシンドロームSCを求める計算とを交互に行い、計算結果を入力データシンドローム保持器1
    3と訂正データシンドローム保持器14とに出力する。

    【0061】入力データシンドローム保持器13は、シンドローム演算器12の出力のうち入力データシンドロームSIのみを取り込んで保持した後、第1のシンドローム零検出器15に出力する。 第1のシンドローム零検出器15は、入力データシンドロームSIの成分がすべて零の場合は、入力データDIに誤りが存在しないと判定し、第1の無誤り状態示唆信号F1をアクティブにするとともに、入力データシンドロームSIの成分に零でないものがある場合は、入力データDIに誤りが存在すると判定し、第1の無誤り状態示唆信号F1を非アクティブにして、エラー訂正部40に出力する。 また、入力データシンドローム保持器13は、第1のシンドローム零検出器15が第1の無誤り状態示唆信号F1を出力するタイミングに同期して、入力データシンドロームSI
    を評価多項式・位置多項式導出部20に出力する。

    【0062】同様に、訂正データシンドローム保持器1
    4は、シンドローム演算器12の出力のうち訂正データシンドロームSCのみを取り込んで保持した後、第2のシンドローム零検出器16に出力する。 第2のシンドローム零検出器16は、訂正データシンドロームSCの成分がすべて零の場合は第2の無誤り状態示唆信号F2をアクティブにして、訂正データシンドロームSCの成分に零でないものがある場合は第2の無誤り状態示唆信号F2を非アクティブにして、エラー訂正部40に出力する。

    【0063】図4は、図1のエラー訂正部40の構成を示すブロック図である。 図4のエラー訂正部40は、第1のエラー訂正器41と、誤りの位置データ保持器42
    と、誤りの大きさデータ保持器43と、第2のエラー訂正器44とを備えている。

    【0064】第1のエラー訂正器41には、第1の無誤り状態示唆信号F1、データ記憶部50が出力する入力データDI、チェンサーチ部30が出力する誤り位置多項式σ(z)の根α -ju及び評価多項式・位置多項式導出部20が出力する誤りの大きさe uが入力されている。

    【0065】第1のエラー訂正器41は、第1の無誤り状態示唆信号F1がアクティブの場合は、入力データD
    Iには誤り訂正の必要がないため、入力データDIをそのまま第1の訂正データC1として出力する。 また、第1のエラー訂正器41は、第1の無誤り状態示唆信号F
    1が非アクティブの場合は、入力データDIは誤りを含み、誤り訂正の必要があるため、入力データDIにおいて根α -juに対応した誤りの位置juのそれぞれが示すシンボルに対し、その誤りの位置juに対応する誤りの大きさe uを減算又は加算する誤り訂正処理を行い、訂正処理後のデータを第1の訂正データC1として出力する。 第1のエラー訂正器41は、第1の訂正データC1
    をシンドローム計算部10及びデータ記憶部50に出力する。

    【0066】誤りの位置データ保持器42は、根α -ju
    を記憶し、第2のエラー訂正器44に出力する。 誤りの大きさデータ保持器43は、誤りの大きさe uを記憶し、第2のエラー訂正器44に出力する。

    【0067】第2のエラー訂正器44には、第2の無誤り状態示唆信号F2、データ記憶部50が出力する第1
    の訂正データC1、誤り位置多項式σ(z)の根α -ju 、誤りの大きさe uが入力されている。

    【0068】第2のエラー訂正器44は、第2の無誤り状態示唆信号F2がアクティブの場合は、第1の訂正データC1には誤り訂正の必要がないため、第1の訂正データC1をそのまま第2の訂正データC2として出力する。 また、第2のエラー訂正器44は、第2の無誤り状態示唆信号F2が非アクティブの場合は、第1の訂正データC1は誤りを含み、誤り訂正の必要があるため、根α -juに対応した誤りの位置juと誤りの大きさe uとに基づいて、第1の訂正データC1を第1のエラー訂正器41における訂正処理前の入力データDIに戻す復元処理を行う。 この処理は、第1の訂正データC1の誤りの位置juのそれぞれが示すシンボルに対し、その誤りの位置juに対応する誤りの大きさe uを加算又は減算することにより行うことができる。 第2のエラー訂正器4
    4は、復元して得られた入力データDIを第2の訂正データC2として出力する。

    【0069】このように、第2のエラー訂正器44は、
    第1のエラー訂正器41において訂正処理を正しく行うことができず、第1の訂正データC1が誤りを含むときは、第1の訂正データC1ではなく、復元した入力データDIを出力する。

    【0070】図5は、図1のリードソロモン復号装置における動作を説明するタイミング図である。 図5の(a)はシンドローム計算部10及びデータ記憶部50
    への入力データDIの入力、(b)はシンドローム計算部10での入力データシンドロームSI及び訂正データシンドロームSCの計算、(c)は評価多項式・位置多項式導出部20での誤り評価多項式ω(z)、誤り位置多項式σ(z)及び誤りの大きさe uの計算、(d)はチェンサーチ部30でのチェンサーチ、(e)はエラー訂正部40の第1及び第2の訂正データC1,C2の出力について表している。

    【0071】図5では、P0〜P5は、それぞれ第0〜
    5番目に入力されたパケットに関する処理を実行していることを示し、stopは動作を行っていない状態を示している。 なお、符号長n=128の受信語1語を1個のパケットとして扱っている。 ここでは、特にパケットP2に関する説明を中心に行う。

    【0072】第1のパイプラインステージでは、シンドローム計算部10及びデータ記憶部50にパケットP2
    が入力データDIとして入力される。 シンドローム計算部10は、パケットP2に関する入力データシンドロームSIを計算する(図5(a),(b))。

    【0073】第2のパイプラインステージでは、評価多項式・位置多項式導出部20は、まず、第1のパイプラインステージで計算されたパケットP2に関する入力データシンドロームSIを用いて、誤り評価多項式ω
    (z)及び誤り位置多項式σ(z)の各次数の係数を算出する(図5(c))。 その後、チェンサーチ部30
    は、この誤り評価多項式ω(z)及び誤り位置多項式σ
    (z)を用い、チェンサーチによってパケットP2に関する誤り位置多項式σ(z)の根α -ju 、誤りの評価値ω(α -ju )、及び誤り位置多項式微分値σ'(α -ju
    を算出する(図5(d))。 さらに、評価多項式・位置多項式導出部20は、パケットP2に関する誤りの評価値ω(α -ju )及び誤り位置多項式微分値σ'(α -ju
    を用いて、誤りの大きさe uを算出する(図5
    (c))。 第2のパイプラインステージでは、評価多項式・位置多項式導出部20及びチェンサーチ部30は、
    一方で演算処理が行われている間は、他方は停止状態となっている。

    【0074】このような処理を行うため、評価多項式・
    位置多項式導出部20及びチェンサーチ部30には、基準となるクロック信号(図示せず)の4倍の周波数のクロック信号(図示せず)が入力されている。

    【0075】第3のパイプラインステージでは、エラー訂正部40は、第2のパイプラインステージで計算されたパケットP2に関する誤り位置多項式σ(z)の根α
    -ju及び誤りの大きさe uを用いて、データ記憶部50が保持していたパケットP2の入力データDIに、必要に応じて誤り訂正処理を行って第1の訂正データC1を求める(図5(e))。 エラー訂正部40は、第1の訂正データC1をシンドローム計算部10及びデータ記憶部50に出力する。 また、第3のパイプラインステージでは、シンドローム計算部10は、パケットP2の第1の訂正データC1に基づいて、訂正データシンドロームS
    Cを計算する。 このとき、シンドローム計算部10及びデータ記憶部50にはパケットP4が入力されており、
    シンドローム計算部10は、パケットP4に関する入力データシンドロームSIの計算も行う(図5(b))。

    【0076】このように、入力データシンドロームSI
    及び訂正データシンドロームSCの計算を並行して行うため、シンドローム計算部10には、基準となるクロック信号(図示せず)の2倍の周波数のクロック信号(図示せず)が入力されている。

    【0077】第4のパイプラインステージでは、エラー訂正部40は、パケットP2の第1の訂正データC1の訂正データシンドロームSCの成分に零ではないものがあるときは、データ記憶部50が保持していた第1の訂正データC1に対して復元処理を行って得た訂正処理前の入力データDIを、また、訂正データシンドロームS
    Cの成分がすべて零のときは、データ記憶部50が保持していた第1の訂正データC1をそのまま、第2の訂正データC2として出力する。 このとき、エラー訂正部4
    0は、第2のパイプラインステージでシンドローム計算部10に入力されたパケットP3に関する誤り訂正処理をも行って第1の訂正データC1を求める(図5
    (e))。

    【0078】以上の4つのパイプラインステージで、パケットP2に関する一連の処理が終了する。 なお、エラー訂正部40及びデータ記憶部50には、基準となるクロック信号(図示せず)が入力されている。

    【0079】図6は、図3に示すシンドローム計算部1
    0の内部における動作を説明するタイミング図である。
    図6の(a)はセレクタ11への入力データDIの入力、(b)はセレクタ11への第1の訂正データC1入力、(c)はシンドローム演算器12でのシンドローム計算、(d)は入力データシンドローム保持器13からの入力データシンドロームSIの出力、(e)は第1のシンドローム零検出器15からの第1の無誤り状態示唆信号F1の出力、(f)は訂正データシンドローム保持器14からの訂正データシンドロームSCの出力、
    (g)は第2のシンドローム零検出器16からの第2の無誤り状態示唆信号F2の出力について表している。 図6において、P0〜P5は、図5と同様にそれぞれ第0
    〜5番目に入力されたパケットに関する処理を実行していることを示し、また、P2(n)は、パケットP2における第n番目のシンボルに関する処理を実行していることを示している。

    【0080】第1のパイプラインステージでは、図6
    (a),(b)のように、図3のセレクタ11には、第2のパケットP2の入力データDIとして、パケットP
    2のシンボルP2(1),P2(2),…,P2(n)
    が順に入力されるとともに、第0のパケットP0の第1
    の訂正データC1として、パケットP0のシンボルP0
    (1),P0(2),…,P0(n)が順に入力される。

    【0081】セレクタ11は、P2(1),P0
    (1),P2(2),P0(2),…,P0(n)というように、第2のパケットP2の入力データDIのシンボルと、第0のパケットP0の第1の訂正データC1のシンボルとを交互にシンドローム演算器12に出力する。 シンドローム演算器12は、セレクタ11から入力されたシンボルについて、入力された順にシンドローム計算を行う(図6(c))。 シンドローム演算器12
    は、パケットP2に関する入力データDIの入力データシンドロームSI及びパケットP0に関する第1の訂正データC1の訂正データシンドロームSCを、それぞれの第n番目のシンボルについての計算を終えたときに、
    入力データシンドローム保持器13及び訂正データシンドローム保持器14にそれぞれ出力する。 シンドローム演算器12は、1つのシンボルに対する演算処理を、入力データDIのシンボルの入力レートの2倍のレートで行う。

    【0082】第2のパイプラインステージでは、入力データシンドローム保持器13は、パケットP2に関する入力データシンドロームSIを第1のシンドローム零検出器15に出力する(図6(d))。 訂正データシンドローム保持器14は、パケットP0に関する訂正データシンドロームSCを第2のシンドローム零検出器16に出力する(図6(f))。

    【0083】また、第2のパイプラインステージでは、
    第1のシンドローム零検出器15は、パケットP2に関する入力データシンドロームSIの成分がすべて零か否かを検出した結果を第1の無誤り状態示唆信号F1として出力する。 例えば、この入力データシンドロームSI
    の成分がすべて零であり、パケットP2に誤りがないときは、第1のシンドローム零検出器15は、第1の無誤り状態示唆信号F1をアクティブにして出力する(図6
    (e))。 同様に、第2のシンドローム零検出器16
    は、パケットP0に関する訂正データシンドロームSC
    の成分がすべて零か否かを検出した結果を第2の無誤り状態示唆信号F2として出力する(図6(g))。

    【0084】第3のパイプラインステージでは、第1のパイプラインステージと同様に、シンドローム演算器1
    2は、パケットP4に関する入力データシンドロームS
    I及びパケットP2に関する訂正データシンドロームS
    Cを算出する(図6(c))。

    【0085】第4のパイプラインステージでは、第1のシンドローム零検出器15は、パケットP4に関する入力データシンドロームSIが零か否かを検出した結果を第1の無誤り状態示唆信号F1として出力する(図6
    (e))。 第2のシンドローム零検出器16は、パケットP2に関する訂正データシンドロームSCが零か否かを検出した結果を第2の無誤り状態示唆信号F2として出力する(図6(g))。 このように、シンドローム計算部10は、4つのパイプラインステージで1つのパケットに関する処理を終了する。

    【0086】以上のように、本発明に係る復号装置は、
    入力データDIに誤り訂正処理を施した後、誤り訂正されたデータC1に対して、再度シンドローム計算を行って訂正データシンドロームSCを求め、誤訂正を行ったと考えられる場合は誤り訂正前の入力データDIを出力するため、誤った訂正データを出力することを避けることができる。

    【0087】なお、以上の実施形態では、誤り訂正を1
    回行った後にのみ、生成した訂正データに誤りが含まれるか否かの判定を行ったが、誤り訂正を複数回行った後にも判定することとしてもよい。 すなわち、入力データDIを記憶しておき、訂正データに誤りが検出されなくなるまで誤り訂正を繰り返し、誤りがない訂正データが生成された場合は、その訂正データを出力し、誤り訂正を所定の回数繰り返しても誤りがない訂正データが生成されない場合は、誤りがない訂正データが生成できないと判定し、訂正前の受信語である記憶しておいた入力データDIを出力することとしてもよい。 この場合、エラー訂正部40が訂正データを出力する毎に、シンドローム計算部10は訂正データのシンドロームを求め、シンドロームが零か否かを判定してエラー訂正部40に通知するとともに、シンドロームを評価多項式・位置多項式導出部20に出力する必要がある。

    【0088】なお、マイクロプロセッサ等を用いることにより、本発明に係る復号装置をソフトウェアによって実現することも可能である。

    【0089】

    【発明の効果】以上、本発明に係る復号装置によれば、
    誤り訂正処理後のデータに対して再度シンドローム計算を行って誤り検出を行うことから、誤訂正を防ぐことができ、通常のリードソロモン符号だけではなく、拡大リードソロモン符号の復号が実現可能となる。

    【図面の簡単な説明】

    【図1】本実施形態に係るリードソロモン復号装置の構成を示すブロック図である。

    【図2】図1のリードソロモン復号装置における処理を説明するフローチャートである。

    【図3】図1のシンドローム計算部の構成を示すブロック図である。

    【図4】図1のエラー訂正部の構成を示すブロック図である。

    【図5】図1のリードソロモン復号装置における動作を説明するタイミング図である。

    【図6】図3に示すシンドローム計算部の内部における動作を説明するタイミング図である。

    【符号の説明】

    10 シンドローム計算部 11 セレクタ 12 シンドローム演算器 13 入力データシンドローム保持器 14 訂正データシンドローム保持器 15 第1のシンドローム零検出器 16 第2のシンドローム零検出器 20 評価多項式・位置多項式導出部 30 チェンサーチ部 40 エラー訂正部 41 第1のエラー訂正器 42 誤りの位置データ保持器 43 誤りの大きさデータ保持器 44 第2のエラー訂正器 50 データ記憶部 DI 入力データ C1 第1の訂正データ C2 第2の訂正データ SI 入力データシンドローム SC 訂正データシンドローム F1 第1の無誤り状態示唆信号(第1のフラグ信号) F2 第2の無誤り状態示唆信号(第2のフラグ信号)

    ───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B001 AA11 AB02 AC01 AD06 5J065 AA01 AB01 AC02 AD11 AE07 AG01 AG02 AH06 AH09 5K014 AA01 BA08 EA02 FA08

    QQ群二维码
    意见反馈