(57)【要約】【課題】  拡大リードソロモン符号を復号する際、非拡大成分及び拡大成分に対して誤訂正する場合があり、また誤りの個数の推定が間違ったとき、複数回のユークリッドアルゴリズム演算処理及び複数回のチェンサーチ処理を行う場合があった。【解決手段】  入力データシンドロームＳＩから誤りの個数推定部６０にて推定した誤りの個数ＥＮ１と、復号過程で誤りの個数算出部７０にて算出した誤りの個数ＥＮ２とを比較し、この比較結果と入力データシンドロームＳＩとに基づいて誤り訂正部４０にて誤り訂正処理を施した後、誤り訂正されたデータＣ１に対してシンドローム計算部１０にて再度シンドローム計算を行って訂正データシンドロームを求め、誤訂正を行った場合又は推定した誤りの個数ＥＮ１と算出した誤りの個数ＥＮ２とが異なる場合には入力データＤＩを第２の訂正データＣ２として出力する。【選択図】  図４
2004297757.tif 000002
【特許請求の範囲】
【請求項１】
ある誤り訂正数のリードソロモン符号又は拡大リードソロモン符号からなる受信語を入力データとして復号する方法であって、
前記入力データ並びに前記誤り訂正数のシンドロームに基づいて導出した誤り位置多項式及び誤り評価多項式を用いて、前記入力データに対して誤り訂正処理を行い、当該処理の結果を第１の訂正データとする第１の誤り訂正ステップと、
前記第１の訂正データのシンドロームを算出するシンドローム算出ステップと、
前記シンドローム算出ステップにて算出したシンドロームに基づいて、前記第１の訂正データに対して誤り訂正処理を行い、当該処理の結果を第２の訂正データとする第２の誤り訂正ステップとを備えたことを特徴とする復号方法。
【請求項２】
請求項１記載の復号方法において、
前記入力データのシンドロームに基づいて前記入力データ中に発生した誤りの個数を推定する、誤りの個数推定ステップと、
前記入力データのシンドローム並びに前記誤り訂正数に基づいて導出した誤り位置多項式及び誤り評価多項式を用いて誤りの個数を算出する、誤りの個数算出ステップとを更に備え、
前記第１の誤り訂正ステップでは、前記誤りの個数推定ステップにて推定した誤りの個数と、前記誤りの個数算出ステップにて算出した誤りの個数とを用いて、前記入力データに対して誤り訂正処理を行うことを特徴とする復号方法。
【請求項３】
請求項２記載の復号方法において、
前記第１の誤り訂正ステップは、
前記推定した誤りの個数と前記算出した誤りの個数とが等しく、かつ、前記推定した誤りの個数と前記算出した誤りの個数とがともに前記誤り訂正数以下であるという第１の判定条件の真偽を判定する、誤りの個数判定ステップと、
前記入力データの誤り訂正処理を行って、誤り訂正処理データを求め、かつ前記誤り訂正処理データに基づいて、拡大成分の誤り訂正処理データを求める誤り訂正処理ステップと、
前記誤りの個数判定ステップにおいて前記第１の判定条件が真であると判定され、かつ、前記入力データのシンドロームの成分のいずれかが零でないと判定された場合には、前記誤り訂正処理ステップにて求められた誤り訂正処理データを前記第１の訂正データとするステップと、
前記誤りの個数判定ステップにおいて前記第１の判定条件が偽であると判定されるか、又は、前記入力データのシンドロームの成分が全て零であると判定された場合には、前記入力データを前記第１の訂正データとするステップとを備えたことを特徴とする復号方法。
【請求項４】
請求項２記載の復号方法において、
前記第２の誤り訂正ステップでは、前記第１の訂正データのシンドローム並びに前記推定した誤りの個数及び前記算出した誤りの個数に基づいて、前記第１の訂正データに対して誤り訂正処理を行うことを特徴とする復号方法。
【請求項５】
請求項３記載の復号方法において、
前記第１の訂正データのシンドロームの成分が全て零であるか、又は、前記誤りの個数判定ステップにて前記第１の判定条件が偽であるという第２の判定条件の真偽を判定するステップを更に備え、
前記第２の誤り訂正ステップでは、前記第２の判定条件が真である場合には前記第１の訂正データを前記第２の訂正データとし、前記第２の判定条件が偽である場合には前記入力データを復元して前記第２の訂正データとすることを特徴とする復号方法。
【請求項６】
請求項２記載の復号方法において、
前記誤りの個数推定ステップは、
前記入力データのシンドロームの成分が全て零か否かを判断する第１のステップと、
前記入力データのシンドロームの成分が全て零である場合には誤りがないと推定する第２のステップと、
前記入力データのシンドロームの成分のいずれかが零でない場合には、前記入力データの拡大されていない成分の誤りの個数を推定するように、第１、第２、第３及び第４の誤り個数推定式を計算する第３のステップと、
前記第１、第２及び第３の誤り個数推定式の値が全て零か否かを判断する第４のステップと、
前記第４のステップにおいて前記第１、第２及び第３の誤り個数推定式の値が全て零である場合には、前記入力データのシンドロームの拡大成分が零か否かを判断する第５のステップと、
前記第５のステップにおいて前記入力データのシンドロームの拡大成分が零である場合には、誤りの個数が前記誤り訂正数から２を減じた数に等しいと推定する第６のステップと、
前記第５のステップにおいて前記入力データのシンドロームの拡大成分が零でない場合には、誤りの個数が前記誤り訂正数から１を減じた数に等しいと推定する第７のステップと、
前記第４のステップにおいて前記第１、第２又は第３の誤り個数推定式の値のいずれかが零でない場合には、前記第４の誤り個数推定式の値が零か否かを判断する第８のステップと、
前記第８のステップにおいて前記第４の誤り個数推定式の値が零である場合には、前記入力データのシンドロームの拡大成分が零か否かを判断する第９のステップと、
前記第９のステップにおいて前記入力データのシンドロームの拡大成分が零である場合には、誤りの個数が前記誤り訂正数から１を減じた数に等しいと推定する第１０のステップと、
前記第９のステップにおいて前記入力データのシンドロームの拡大成分が零でない場合には、誤りの個数が前記誤り訂正数に等しいと推定する第１１のステップと、
前記第８のステップにおいて前記第４の誤り個数推定式の値が零でない場合には、前記入力データのシンドロームの拡大成分が零か否かを判断する第１２のステップと、
前記第１２のステップにおいて前記入力データのシンドロームの拡大成分が零である場合には、誤りの個数が前記誤り訂正数に等しいと推定する第１３のステップと、
前記第１２のステップにおいて前記入力データのシンドロームの拡大成分が零でない場合には、誤りの個数が前記誤り訂正数に１を加えた数に等しいと推定する第１４のステップとを備えたことを特徴とする復号方法。
【請求項７】
請求項１〜６のいずれか１項に記載の復号方法において、
前記誤り訂正数が３であることを特徴とする復号方法。
【請求項８】
ある誤り訂正数のリードソロモン符号又は拡大リードソロモン符号からなる受信語を入力データとして復号するための復号器であって、
前記入力データのシンドロームを入力データシンドロームとして求め、前記入力データシンドロームに基づいて前記入力データに誤りが存在するか否かを示す第１のフラグ信号を出力するとともに、前記入力データ及び前記入力データシンドロームに基づいて求められた第１の訂正データのシンドロームを訂正データシンドロームとして求め、前記訂正データシンドロームに基づいて前記第１の訂正データに誤りが存在するか否かを示す第２のフラグ信号を出力するためのシンドローム計算部と、
前記シンドローム計算部にて計算された入力データシンドロームに基づいて前記入力データ中に発生した誤りの個数を推定するための誤りの個数推定部と、
前記入力データシンドロームに基づいて誤り評価多項式及び誤り位置多項式の各次数の係数を求めるとともに、前記係数から求められた誤りの評価値及び対応する誤り位置多項式微分値に基づいて誤りの大きさを求めるための評価多項式及び位置多項式導出部と、
前記係数に基づいて前記誤り位置多項式の根を求めるとともに、前記誤り評価多項式に前記根のそれぞれを代入して得られる誤りの評価値及び前記誤り位置多項式の導関数に前記根のそれぞれを代入して得られる誤り位置多項式微分値を求めるためのチェンサーチ部と、
前記入力データ並びに前記根及び前記誤りの大きさに基づいて誤りの個数を算出するための誤りの個数算出部と、
前記入力データ並びに前記根及び対応する前記誤りの大きさに基づいて、前記入力データに対して誤り訂正処理を行って誤り訂正処理データを求めるための誤り訂正部とを備え、
前記誤り訂正部は、
前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しく、かつ、前記誤りの個数推定部にて推定した誤りの個数及び前記誤りの個数算出部にて算出した誤りの個数がともに前記誤り訂正数以下であり、かつ、前記第１のフラグ信号が前記入力データに誤りが存在することを示す場合には、前記誤り訂正処理データを前記第１の訂正データとして出力し、
前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しくないか、又は、前記誤りの個数推定部にて推定した誤りの個数若しくは前記誤りの個数算出部にて算出した誤りの個数のいずれかが前記誤り訂正数より大きいか、又は、前記第１のフラグ信号が前記入力データに誤りが存在しないことを示す場合には、前記入力データを前記第１の訂正データとして出力するとともに、
前記第２のフラグ信号が前記第１の訂正データに誤りが存在することを示し、かつ、前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しく、かつ、前記誤りの個数推定部にて推定した誤りの個数及び前記誤りの個数算出部にて算出した誤りの個数がともに前記誤り訂正数以下である場合には、前記第１の訂正データに対して前記入力データに戻す復元処理を行って得たデータを第２の訂正データとして出力し、
前記第２のフラグ信号が前記第１の訂正データに誤りが存在しないことを示すか、又は、前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しくないか、又は、前記誤りの個数推定部にて推定した誤りの個数若しくは前記誤りの個数算出部にて算出した誤りの個数のいずれかが前記誤り訂正数より大きい場合には、前記第１の訂正データを第２の訂正データとして出力することを特徴とする復号器。
【請求項９】
請求項８記載の復号器において、
前記シンドローム計算部は、
前記入力データ及び前記誤り訂正部が出力する前記第１の訂正データを入力とし、入力された前記入力データと入力された前記第１の訂正データとを順次選択して出力するためのセレクタと、
前記セレクタが出力する前記入力データに基づいて前記入力データシンドロームを、前記第１の訂正データに基づいて前記訂正データシンドロームをそれぞれ求めるためのシンドローム演算器と、
前記入力データシンドロームを保持して出力するための入力データシンドローム保持器と、
前記訂正データシンドロームを保持して出力するための訂正データシンドローム保持器と、
前記入力データシンドローム保持器が出力する前記入力データシンドロームの成分が全て零である場合には前記入力データに誤りが存在しないことを示すように前記第１のフラグ信号を出力し、前記入力データシンドローム保持器が出力する前記入力データシンドロームの成分のいずれかが零でない場合には前記入力データに誤りが存在することを示すように前記第１のフラグ信号を出力するための第１のシンドローム零検出器と、
前記訂正データシンドローム保持器が出力する前記訂正データシンドロームの成分が全て零である場合には前記第１の訂正データに誤りが存在しないことを示すように前記第２のフラグ信号を出力し、前記訂正データシンドローム保持器が出力する前記訂正データシンドロームの成分のいずれかが零でない場合には前記第１の訂正データに誤りが存在することを示すように前記第２のフラグ信号を出力するための第２のシンドローム零検出器とを備えたことを特徴とする復号器。
【請求項１０】
請求項９記載の復号器において、
前記シンドローム演算器は、
前記セレクタが順次出力する前記入力データ及び前記第１の訂正データに基づいて、拡大成分でない成分の前記入力データシンドローム及び前記訂正データシンドロームをそれぞれ求めるための非拡大成分シンドローム処理器と、
前記セレクタが順次出力する前記入力データ及び前記第１の訂正データに基づいて、拡大成分の前記入力データシンドローム及び前記訂正データシンドロームをそれぞれ求めるための拡大成分シンドローム処理器と、
前記非拡大成分シンドローム処理器から出力された拡大成分でない成分の前記入力データシンドロームと、前記拡大成分シンドローム処理器から出力された拡大成分の前記入力データシンドロームとを一括し、かつ、前記非拡大成分シンドローム処理器から出力された拡大成分でない成分の前記訂正データシンドロームと、前記拡大成分シンドローム処理器から出力された拡大成分の前記訂正データシンドロームとを一括して出力するためのバスドライバとを備えたことを特徴とする復号器。
【請求項１１】
請求項８記載の復号器において、
前記誤り訂正部は、
前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とを比較するための比較部と、
前記第１の訂正データと、誤りの位置、誤りの大きさ及び誤りの個数とを出力するための第１の誤り訂正器と、
前記誤りの位置を保持して出力するための誤りの位置データ保持器と、
前記誤りの大きさを保持して出力するための誤りの大きさデータ保持器と、
前記第２の訂正データを出力するための第２の誤り訂正器とを備え、
前記比較部は、前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しく、かつ、前記誤りの個数推定部にて推定した誤りの個数及び前記誤りの個数算出部にて算出した誤りの個数がともに前記誤り訂正数以下であるか否かを示す第３のフラグ信号を出力し、
前記第１の誤り訂正器は、
前記入力データに対して、前記根のそれぞれに対応する誤りの位置が示すシンボルから対応する前記誤りの大きさを減算又は加算する誤り訂正処理を行って、誤り訂正処理データを求め、かつ、前記誤り訂正処理データに基づいて、拡大成分の誤り訂正処理データを求めて、これらを誤り訂正処理データとし、
前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しく、かつ、前記誤りの個数推定部にて推定した誤りの個数及び前記誤りの個数算出部にて算出した誤りの個数がともに前記誤り訂正数以下であることを前記第３のフラグ信号が示し、かつ、前記入力データに誤りが存在することを前記第１のフラグ信号が示す場合には、前記誤り訂正処理データを前記第１の訂正データとして出力し、
前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しくないか、又は、前記誤りの個数推定部にて推定した誤りの個数若しくは前記誤りの個数算出部にて算出した誤りの個数のいずれかが前記誤り訂正数より大きいことを前記第３のフラグ信号が示すか、又は、前記入力データに誤りが存在しないことを前記第１のフラグ信号が示す場合には、前記入力データを前記第１の訂正データとして出力し、
前記第２の誤り訂正器は、
前記第１の訂正データに誤りが存在することを前記第２のフラグ信号が示し、かつ、前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しく、かつ、前記誤りの個数推定部にて推定した誤りの個数及び前記誤りの個数算出部にて算出した誤りの個数がともに前記誤り訂正数以下であることを前記第３のフラグ信号が示す場合には、前記第１の訂正データに対して、前記誤りの位置が示すシンボルに対応する前記誤りの大きさの値を加算又は減算して前記入力データに戻す復元処理を行って得られたデータを前記第２の訂正データとして出力し、
前記第１の訂正データに誤りが存在しないことを前記第２のフラグ信号が示すか、又は、前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しくないか、又は、前記誤りの個数推定部にて推定した誤りの個数若しくは前記誤りの個数算出部にて算出した誤りの個数のいずれかが前記誤り訂正数より大きいことを前記第３のフラグ信号が示す場合には、前記第１の訂正データを前記第２の訂正データとして出力することを特徴とする復号器。
【請求項１２】
請求項１１記載の復号器において、
前記第１の誤り訂正器は、
前記第１の訂正データを出力するための誤り訂正処理器と、
拡大成分の前記第１の訂正データと、前記拡大成分に対する誤りの位置、誤りの大きさ及び誤りの個数とを出力するための拡大成分誤り訂正処理器と、
前記第１の訂正データと拡大成分の前記第１の訂正データとを一括して、前記第１の訂正データとして出力するためのバスドライバとを備え、
前記誤り訂正処理器は、
前記入力データに対して、前記根のそれぞれに対応する誤りの位置が示すシンボルから対応する前記誤りの大きさを減算又は加算する誤り訂正処理を行って、誤り訂正処理データを求め、
前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しく、かつ、前記誤りの個数推定部にて推定した誤りの個数及び前記誤りの個数算出部にて算出した誤りの個数がともに前記誤り訂正数以下であることを前記第３のフラグ信号が示し、かつ、前記入力データに誤りが存在することを前記第１のフラグ信号が示す場合には、前記誤り訂正処理データを前記第１の訂正データとして出力し、
前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しくないか、又は、前記誤りの個数推定部にて推定した誤りの個数若しくは前記誤りの個数算出部にて算出した誤りの個数のいずれかが前記誤り訂正数より大きいことを前記第３のフラグ信号が示すか、又は、前記入力データに誤りが存在しないことを前記第１のフラグ信号が示す場合には、前記入力データを前記第１の訂正データとして出力し、
前記拡大成分誤り訂正処理器は、
前記誤り訂正処理データに基づいて拡大成分の誤り訂正処理データを求めるとともに、拡大成分の誤りの個数を求め、
前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しく、かつ、前記誤りの個数推定部にて推定した誤りの個数及び前記誤りの個数算出部にて算出した誤りの個数がともに前記誤り訂正数以下であることを前記第３のフラグ信号が示し、かつ、前記入力データに誤りが存在することを前記第１のフラグ信号が示す場合には、拡大成分の前記誤り訂正処理データを拡大成分の前記第１の訂正データとして出力し、
前記誤りの個数推定部にて推定した誤りの個数と前記誤りの個数算出部にて算出した誤りの個数とが等しくないか、又は、前記誤りの個数推定部にて推定した誤りの個数若しくは前記誤りの個数算出部にて算出した誤りの個数のいずれかが前記誤り訂正数より大きいことを前記第３のフラグ信号が示すか、又は、前記入力データに誤りが存在しないことを前記第１のフラグ信号が示す場合には、拡大成分の前記入力データを拡大成分の前記第１の訂正データとして出力することを特徴とする復号器。
【請求項１３】
請求項８記載の復号器において、
前記誤り訂正部が前記第１の訂正データを求め始めるまで前記入力データを保持出力し、かつ、前記誤り訂正部が前記第２の訂正データを求め始めるまで前記第１の訂正データを保持出力するためのデータ記憶部を更に備えたことを特徴とする復号器。
【請求項１４】
請求項８〜１３のいずれか１項に記載の復号器において、
前記誤り訂正数が３であることを特徴とする復号器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リードソロモン（Reed-Solomon）符号又は拡大リードソロモン符号の多重誤り訂正を行う復号技術に関するものである。
【背景技術】
【０００２】
デジタル放送、デジタル磁気記録等において、リードソロモン符号が使用されており、例えば米国デジタルケーブルテレビシステムにおいては拡大リードソロモン符号が採用されている。
【０００３】
第１の従来技術では、拡大リードソロモン符号を復号する際、受信語である入力データに誤り訂正処理を施した後、誤り訂正されたデータに対して、シンドローム計算を再度行って訂正データシンドロームを求め、誤訂正を行った場合には誤り訂正前の入力データを出力する（特許文献１参照）。
【０００４】
第２の従来技術では、拡大リードソロモン符号を復号する際、受信語からシンドロームを生成し、このシンドロームから受信語中に生じた誤りの個数を推定し、推定した誤りの個数に応じて、ユークリッドアルゴリズム演算操作の初期値及び終了条件を変更して誤り訂正を行う（特許文献２参照）。
【特許文献１】特開２００１−２７４６９４号公報
【特許文献２】特開平１１−３５７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記第１の従来技術では、拡大成分のみならず非拡大成分に対しても誤訂正する場合があった。
【０００６】
また、上記第２の従来技術では、誤りの個数の推定が間違ったとき、複数回のユークリッドアルゴリズムの演算処理及び複数回のチェンサーチ処理を行う場合があり、更に誤訂正する場合があった。
【０００７】
本発明の目的は、リードソロモン符号又は拡大リードソロモン符号を復号する際に生じる誤訂正を防止することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は、ある誤り訂正数のリードソロモン符号又は拡大リードソロモン符号からなる受信語を入力データとして復号する方法において、入力データ並びに前記誤り訂正数のシンドロームに基づいて導出した誤り位置多項式及び誤り評価多項式を用いて入力データに対して誤り訂正処理を行って当該処理の結果を第１の訂正データとし、当該第１の訂正データのシンドロームの拡大成分及び拡大成分でない成分を算出し、当該算出したシンドロームに基づいて第１の訂正データに対して誤り訂正処理を行い、当該処理の結果を第２の訂正データとすることとしたものである。
【０００９】
更に、入力データのシンドロームに基づいて当該入力データ中に発生した誤りの個数を推定するとともに、入力データのシンドローム並びに前記誤り訂正数に基づいて導出した誤り位置多項式及び誤り評価多項式を用いて誤りの個数を算出し、推定した誤りの個数と算出した誤りの個数とを用いて前記第１の訂正データを求めることとする。
【発明の効果】
【００１０】
本発明によれば、入力データシンドロームから推定した誤りの個数と復号過程で算出した誤りの個数とを比較し、この比較結果と入力データシンドロームとに基づいて誤り訂正処理を施した後、誤り訂正されたデータに対して再度シンドローム計算を行って訂正データシンドロームを求め、誤訂正を行った場合又は推定した誤りの個数と算出した誤りの個数とが異なる場合には入力データを最終の訂正データとして出力することとしたので、拡大成分でない成分及び拡大成分に対して誤訂正を防止でき、複数回のユークリッドアルゴリズム演算処理及び複数回のチェンサーチ処理を行わずに済む。これにより、小面積、ローパワー、かつ高信頼性の復号器アーキテクチャを提供することができる。更に、拡大リードソロモン符号だけでなく、通常のリードソロモン符号に対しても誤訂正を防止できる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１２】
ここで扱う拡大リードソロモン符号は、ガロア体ＧＦ（２7）上において、
原始多項式Ｐ（ｘ） ＝ ｘ7＋ｘ3＋１
生成多項式Ｇ（ｘ） ＝ （ｘ＋α）（ｘ＋α2）（ｘ＋α3）（ｘ＋α4）（ｘ＋α5）
を用いた、
符号長ｎ＝１２８
誤り訂正数ｔ＝３
１シンボルのビット数ｍ＝７
情報シンボル数ｉ0＝１２２
パリティシンボル数ｐ0＝６
拡大前の符号多項式Ｗ0（ｘ） ＝ ｃ126ｘ126＋ｃ125ｘ125＋・・・＋ｃ1ｘ＋ｃ0
拡大パリティシンボルｃ-＝Ｗ0（α6）
＝ｃ126（α6）126＋ｃ125（α6）125＋・・・＋ｃ1α6＋ｃ0
拡大後の符号多項式Ｗ（ｘ）＝ｘＷ0（ｘ）＋ｃ-
＝ｃ126ｘ127＋ｃ125ｘ126＋・・・＋ｃ1ｘ2＋ｃ0ｘ＋ｃ-
の１次拡大リードソロモン符号である。なお、拡大前の符号、つまり拡大成分でない符号（ｃ126，ｃ125，・・・，ｃ1，ｃ0）を非拡大成分と呼ぶことにする。また、拡大パリティシンボルｃ-を拡大成分と呼ぶことにする。
【００１３】
図１及び図２は、本発明の拡大リードソロモン符号の復号方法を説明するフローチャートである。ここで、受信語である入力データＤＩに、入力データＤＩ中の位置ｊuのシンボルに大きさｅuの誤りが生じているものとする。ただし、
非拡大成分のみの受信多項式Ｙ0（ｘ）＝ｙ126ｘ126＋ｙ125ｘ125＋・・・＋ｙ1ｘ＋ｙ0
非拡大成分及び拡大成分の受信多項式Ｙ（ｘ）＝ｙ126ｘ127＋ｙ125ｘ126＋・・・＋ｙ1ｘ2＋ｙ0ｘ＋ｙ-
とする。このような入力データＤＩ中の誤りシンボルの位置ｊuを誤りの位置という。
【００１４】
まず、図１中のステップＳ１０は、第１のシンドローム算出ステップである。このステップＳ１０ではシンドローム算出を行うように、以下のステップＳ１１及びステップＳ１２を行う。
【００１５】
ステップＳ１１では、
入力データＤＩ＝（ｙ126，ｙ125，・・・，ｙ1，ｙ0，ｙ-）
のシンドロームを入力データシンドロームＳＩとして算出する。すなわち、ステップＳ１１Ａにて、非拡大成分の入力データシンドローム
ＳＩi＝Ｙ0（αi）
＝ｙ126（αi）126＋ｙ125（αi）125＋・・・＋ｙ1αi＋ｙ0
（ｉ＝１，２，３，４，５）
を算出し、ステップＳ１１Ｂにて、拡大成分の入力データシンドローム
ＳＩ6＝Ｙ0（α6）＋ｙ-
＝ｙ126（α6）126＋ｙ125（α6）125＋・・・＋ｙ1α6＋ｙ0＋ｙ-
を算出する。
【００１６】
ステップＳ１２では、入力データシンドロームＳＩの成分が全て零であるか否かを判断し、入力データシンドロームＳＩの成分が全て零である場合には入力データＤＩに誤りがないと判定し、ステップＳ５０内のステップＳ５２の処理に移る。入力データシンドロームＳＩの成分のいずれかが零でない場合には入力データＤＩに誤りがあると判定し、ステップＳ２０の処理に移る。
【００１７】
ステップＳ２０では、ユークリッドアルゴリズム演算によって、入力データシンドロームＳＩから誤り位置多項式σ（ｚ）及び誤り評価多項式ω（ｚ）の各次数の係数を求める。ユークリッドアルゴリズム演算終了時に、誤り位置多項式σ（ｚ）の次数が誤り評価多項式ω（ｚ）の次数以下である場合でも、これらの多項式の係数を出力する。
【００１８】
ステップＳ３０では、チェンサーチを行って、誤り位置多項式σ（ｚ）の根α-juを求める。すなわち、誤り位置多項式σ（ｚ）にガロア体ＧＦ（２7）の元を順次代入し、誤り位置多項式σ（ｚ）の値が零となる元をこの誤り位置多項式σ（ｚ）の根α-juとして求める。この際、誤り位置多項式σ（ｚ）がガロア体ＧＦ（２7）に持つ互いに異なる根の数が当該誤り位置多項式σ（ｚ）の次数未満である場合でも、誤り訂正が可能か否かを判断せず、根α-juを出力する。誤り位置多項式σ（ｚ）の根α-juのそれぞれには、誤りの位置ｊuが対応している。更に、誤り評価多項式ω（ｚ）に誤り位置多項式σ（ｚ）の根α-juのそれぞれを代入して誤りの評価値ω（α-ju）を求めるとともに、誤り位置多項式σ（ｚ）の導関数に誤り位置多項式σ（ｚ）の根α-juのそれぞれを代入して誤り位置多項式の微分値σ'（α-ju）を求める。
【００１９】
ステップＳ４０では、誤りの評価値ω（α-ju）を、対応する誤り位置多項式の微分値σ'（α-ju）で除算して、誤りの位置ｊuのそれぞれのシンボル中の誤りビットを示す誤りの大きさｅuを求める。
【００２０】
ステップＳ５０では、第１の誤り訂正を行う。具体的には、以下のステップＳ５１、ステップＳ５２、ステップＳ５３、及びステップＳ５４を行う。
【００２１】
ステップＳ５１では誤り訂正処理を行うように、非拡大成分及び拡大成分に対してはステップＳ５１Ａを行い、拡大成分に対してはステップＳ５１Ｂを行う。
【００２２】
ステップＳ５１Ａでは、誤り位置多項式σ（ｚ）の根α-juのそれぞれに対応した誤りの位置ｊuと、誤りの大きさｅuとに基づいて、入力データＤＩに対して誤り訂正処理を行い、誤り訂正処理データとし、
非拡大成分のみの誤り訂正処理データの多項式Ｆ0（ｘ）＝ｆ126ｘ126＋ｆ125ｘ125＋・・・＋ｆ1ｘ＋ｆ0
非拡大成分及び拡大成分の誤り訂正処理データの多項式Ｆ（ｘ）＝ｘＦ0（ｘ）＋ｆ-＝ｆ126ｘ127＋ｆ125ｘ126＋・・・＋ｆ1ｘ2＋ｆ0ｘ＋ｆ-
（ｆ-は拡大成分（暫定値））
とする。すなわち、入力データＤＩの誤りの位置ｊuのシンボルから、それに対応した誤りの大きさｅuを減算する。ガロア体ＧＦ（２）の拡大体上での演算であるので、誤りの大きさｅuを減算する代わりに加算してもよい。
【００２３】
ステップＳ５１Ｂでは、拡大成分に対して更に、非拡大成分のみの誤り訂正処理データの多項式Ｆ0（ｘ）にｘ＝α6を代入したものに誤り訂正処理データの拡大成分ｆ-（暫定値）を加算する。つまり、
Ｆ0（α6）＋ｆ-＝ｆ126（α6）126＋ｆ125（α6）125＋・・・＋ｆ1α6＋ｆ0＋ｆ-
を計算する。Ｆ0（α6）＋ｆ-が零である場合には誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りがないと考えられるので、誤り訂正処理データの拡大成分ｆ-（暫定値）をそのまま拡大成分の誤り訂正処理データとし、拡大成分の誤りの個数ＮＢ＝０とする。Ｆ0（α6）＋ｆ-が零でない場合には誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りがあると判断し、誤り訂正処理データの拡大成分ｆ-（暫定値）の誤りの大きさｅ-はＦ0（α6）＋ｆ-となる。そこで、誤り訂正処理データの拡大成分ｆ-（暫定値）に対して誤り訂正処理を行い、つまり、誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りの大きさｅ-＝Ｆ0（α6）＋ｆ-を加算し、
ｆ-＋ｅ-＝ｆ-＋Ｆ0（α6）＋ｆ-＝Ｆ0（α6）＋２ｆ-＝Ｆ0（α6）
を拡大成分の誤り訂正処理データとし、拡大成分の誤りの個数ＮＢ＝１とする。
【００２４】
一方、ステップＳ６０では、ステップＳ１０内のステップＳ１１にて計算された入力データシンドロームＳＩから入力データＤＩ中に発生した誤りの個数ＥＮ１を推定する（詳細は後で説明する）。
【００２５】
ステップＳ８０では、ステップＳ３０にて算出された誤り位置多項式σ（ｚ）の根α-juから求めた誤りの個数ＮＡと、ステップＳ５１内のステップＳ５１Ｂからの拡大成分の誤りの個数ＮＢとを加算する。つまり、
誤りの個数ＥＮ２＝ＮＡ＋ＮＢ
を算出する。ただし、拡大成分の誤りの個数を重複して加算することはない。
【００２６】
ステップＳ５０内のステップＳ５３では、ステップＳ６０にて推定した誤りの個数ＥＮ１とステップＳ８０にて算出した誤りの個数ＥＮ２とが等しく、かつ、ステップＳ６０にて推定した誤りの個数ＥＮ１とステップＳ８０にて算出した誤りの個数ＥＮ２とがともに３（誤り訂正数ｔ）以下か否か、つまり、「ＥＮ１＝ＥＮ２≦３」か否かを判断し、「ＥＮ１＝ＥＮ２≦３」の場合にはステップＳ５４の処理に移り、そうでない場合（「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」の場合）にはステップＳ５２に移る。
【００２７】
ステップＳ５４では、入力データシンドロームＳＩの成分のいずれかが零でなく、かつ、「ＥＮ１＝ＥＮ２≦３」の場合であり、誤り訂正処理データを第１の訂正データＣ１とする。
【００２８】
ステップＳ５２では、入力データシンドロームＳＩの成分が全て零であるか、又は、「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」の場合であり、入力データＤＩをそのまま第１の訂正データＣ１とする。
【００２９】
図２中のステップＳ９０では第１の訂正データＣ１のシンドローム算出を行うように、以下のステップＳ９１及びステップＳ９２を行う。
【００３０】
ステップＳ９１では、
非拡大成分のみの第１の訂正データＣ１の多項式Ｄ0（ｘ）＝ｄ126ｘ126＋ｄ125ｘ125＋・・・＋ｄ1ｘ＋ｄ0
非拡大成分及び拡大成分の第１の訂正データＣ１の多項式Ｄ（ｘ）＝ｄ126ｘ127＋ｄ125ｘ126＋・・・＋ｄ1ｘ2＋ｄ0ｘ＋ｄ-
とし、
第１の訂正データＣ１＝（ｄ126，ｄ125，・・・，ｄ1，ｄ0，ｄ-）
のシンドロームを訂正データシンドロームＳＣとして算出する。すなわち、ステップＳ９１Ａにて、非拡大成分の訂正データシンドローム
ＳＣi＝Ｄ0（αi）
＝ｄ126（αi）126＋ｄ125（αi）125＋・・・＋ｄ1αi＋ｄ0
（ｉ＝１，２，３，４，５）
を算出し、ステップＳ９１Ｂにて、拡大成分の訂正データシンドローム
ＳＣ6＝Ｄ0（α6）＋ｄ-
＝ｄ126（α6）126＋ｄ125（α6）125＋・・・＋ｄ1α6＋ｄ0＋ｄ-
を算出する。
【００３１】
ステップＳ９２では、『訂正データシンドロームＳＣの成分が全て零であるか、又は、「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」である』という判定条件の真偽を判断し、当該判定条件が真である場合には第１の訂正データＣ１に誤りがないと判定し、ステップＳ１００内のステップＳ１０１の処理に移る。そうでない場合（訂正データシンドロームＳＣの成分のいずれかが零でなく、かつ、「ＥＮ１＝ＥＮ２≦３」である場合）には第１の訂正データＣ１に誤りがあると判定し、ステップＳ１００内のステップＳ１０２の処理に移る。
【００３２】
ステップＳ１００は、第２の誤り訂正ステップである。具体的には、ステップＳ１０１及びステップＳ１０２を行う。
【００３３】
ステップＳ１０１では、第１の訂正データＣ１に誤りがないと考えられるので、第１の訂正データＣ１をそのまま、第２の訂正データＣ２として出力する。
【００３４】
ステップＳ１０２では、第１の訂正データＣ１に誤りがあると考えられるので、誤り位置多項式σ（ｚ）の根α-juのそれぞれに対応した誤りの位置ｊu及び誤りの大きさｅuと、拡大成分に対する誤りの大きさｅ-とに基づいて、第１の訂正データＣ１を入力データＤＩに復元する処理を行う。すなわち、第１の訂正データＣ１の誤りの位置ｊuのシンボルに対してはそれに対応した誤りの大きさｅuを加算又は減算し、第１の訂正データＣ１の拡大成分のシンボルに対しては更に誤りの大きさｅ-を加算又は減算する（つまり、第１の訂正データＣ１の拡大成分のシンボルに対しては誤りの大きさｅu及び誤りの大きさｅ-を加算又は減算する）。復元して得られた入力データＤＩを第２の訂正データＣ２として出力する。
【００３５】
図３は、図１中の誤りの個数推定ステップＳ６０の詳細フローチャートである。以下、図３を参照しながら誤りの個数の推定方法を説明する。
【００３６】
ステップＳ６１では、第１のシンドローム算出ステップＳ１０内の入力データシンドローム算出ステップＳ１１にて計算された入力データシンドロームＳＩの成分が全て零か否かを判断し、入力データシンドロームＳＩの成分が全て零である場合にはステップＳ６２の処理に移り、入力データシンドロームＳＩの成分のいずれかが零でない場合にはステップＳ６３の処理に移る。
【００３７】
ステップＳ６２では、入力データシンドロームＳＩの成分が全て零である場合であり、誤りの個数が０個と推定する。
【００３８】
ステップＳ６３では、入力データシンドロームＳＩの成分のいずれかが零でない場合であり、
第１の誤り個数推定式Ｎ1＝Ｓ22＋Ｓ1Ｓ3
第２の誤り個数推定式Ｎ2＝Ｓ32＋Ｓ1Ｓ5
第３の誤り個数推定式Ｎ3＝Ｓ42＋Ｓ3Ｓ5
第４の誤り個数推定式Ｎ4＝Ｓ5Ｎ1＋Ｓ3Ｎ2＋Ｓ1Ｎ3
を計算する。
【００３９】
ステップＳ６４では、第１、第２及び第３の誤り個数推定式（Ｎ1及びＮ2及びＮ3）の値が全て零か否かを判断する。Ｎ1及びＮ2及びＮ3の値が全て零である場合にはステップＳ６５の処理に移り、Ｎ1又はＮ2又はＮ3の値のいずれかが零でない場合にはステップＳ６８の処理に移る。
【００４０】
ステップＳ６５では、ステップＳ６４においてＮ1及びＮ2及びＮ3の値が全て零である場合であり、ステップＳ１１にて計算された入力データシンドロームの拡大成分ＳＩ6が零か否かを判断する。ＳＩ6が零である場合にはステップＳ６６の処理に移り、ＳＩ6が零でない場合にはステップＳ６７の処理に移る。
【００４１】
ステップＳ６６では、ステップＳ６５においてＳＩ6が零である場合であり、誤りの個数が１個と推定する。
【００４２】
ステップＳ６７では、ステップＳ６５においてＳＩ6が零でない場合であり、誤りの個数が２個と推定する。
【００４３】
ステップＳ６８では、ステップＳ６４においてＮ1又はＮ2又はＮ3の値のいずれかが零でない場合であり、第４の誤り個数推定式Ｎ4の値が零か否かを判断する。Ｎ4の値が零である場合にはステップＳ６９の処理に移り、Ｎ4の値が零でない場合にはステップＳ７２の処理に移る。
【００４４】
ステップＳ６９では、ステップＳ６８においてＮ4の値が零である場合であり、入力データシンドロームの拡大成分ＳＩ6が零か否かを判断する。ＳＩ6が零である場合にはステップＳ７０の処理に移り、ＳＩ6が零でない場合にはステップＳ７１の処理に移る。
【００４５】
ステップＳ７０では、ステップＳ６９においてＳＩ6が零である場合であり、誤りの個数が２個と推定する。
【００４６】
ステップＳ７１では、ステップＳ６９においてＳＩ6が零でない場合であり、誤りの個数が３個と推定する。
【００４７】
ステップＳ７２では、ステップＳ６８においてＮ4の値が零でない場合であり、ＳＩ6が零か否かを判断する。ＳＩ6が零である場合にはステップＳ７３の処理に移り、ＳＩ6が零でない場合にはステップＳ７４の処理に移る。
【００４８】
ステップＳ７３では、ステップＳ７２においてＳＩ6が零である場合であり、誤りの個数が３個と推定する。
【００４９】
ステップＳ７４では、ステップＳ７２においてＳＩ6が零でない場合であり、誤りの個数が４個と推定する。
【００５０】
以上のように、本復号方法によれば、入力データシンドロームＳＩから推定した誤りの個数ＥＮ１と復号過程で算出した誤りの個数ＥＮ２とを比較し、この比較結果と入力データシンドロームＳＩとに基づいて誤り訂正処理を施した後、誤り訂正されたデータＣ１に対して再度シンドローム計算を行って訂正データシンドロームＳＣを求め、誤訂正を行った場合又は推定した誤りの個数ＥＮ１と算出した誤りの個数ＥＮ２とが異なる場合には入力データＤＩを第２の訂正データＣ２として出力するため、非拡大成分及び拡大成分に対して誤訂正を防止でき、更に複数回のユークリッドアルゴリズム演算処理及び複数回のチェンサーチ処理を行わずに済む。
【００５１】
なお、図１ではステップＳ５１Ｂにおいて拡大成分の誤りの個数ＮＢを求めたが、同図中に一点鎖線で示すように、ステップＳ４０にて、入力データＤＩ及び誤り位置多項式σ（ｚ）の根α-juのそれぞれに対応した誤りの位置ｊuと、誤りの大きさｅuとに基づいて、Ｆ0（α6）＋ｆ-を計算し、Ｆ0（α6）＋ｆ-が零か否かに応じて、拡大成分の誤りの個数ＮＢを求め、その結果をステップＳ８０の処理に反映させることとしてもよい。
【００５２】
また、図１中のステップＳ５２から図２中のステップＳ１００の中へ延びる一点鎖線で示すように、入力データシンドロームＳＩの成分が全て零であるか、又は、「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」である場合には、入力データＤＩをそのまま第２の訂正データＣ２としてもよい。
【００５３】
また、図１中のステップＳ８０にて根α-juから誤りの個数ＮＡを求めたが、ステップＳ３０にて誤りの個数ＮＡを求めてもよい。図３中のステップＳ６１の代わりに図１中のステップＳ１２の判定結果を用いて、図３中のステップＳ６２及びステップＳ６３の処理をすることも可能である。
【００５４】
また、図１中のステップＳ６０、ステップＳ８０及びステップＳ５３の処理を省略することで、誤りの個数を推定したり、誤りの個数を算出したりせずに、訂正データシンドロームＳＣを算出することのみを行い、その結果を誤訂正防止のために使用してもよい。
【００５５】
次に、上記本発明の復号方法を実現するための装置構成を説明する。
【００５６】
図４は、本発明に係る拡大リードソロモン符号の復号器の構成例を示すブロック図である。図４において、１０はシンドローム計算部、２０は評価多項式及び位置多項式導出部、３０はチェンサーチ部、４０は誤り訂正部、５０はデータ記憶部、６０は誤りの個数推定部、７０は誤りの個数算出部である。
【００５７】
シンドローム計算部１０及びデータ記憶部５０には、入力データＤＩが入力される。データ記憶部５０は、入力データＤＩを記憶して当該入力データＤＩと同じデータＸＤＩを誤り訂正部４０に出力する。
【００５８】
シンドローム計算部１０は、
入力データＤＩ＝（ｙ126，ｙ125，・・・，ｙ1，ｙ0，ｙ-）
のシンドロームを入力データシンドロームＳＩとして算出する。すなわち、非拡大成分の入力データシンドローム
ＳＩi＝Ｙ0（αi）
＝ｙ126（αi）126＋ｙ125（αi）125＋・・・＋ｙ1αi＋ｙ0
（ｉ＝１，２，３，４，５）
を算出し、拡大成分の入力データシンドローム
ＳＩ6＝Ｙ0（α6）＋ｙ-
＝ｙ126（α6）126＋ｙ125（α6）125＋・・・＋ｙ1α6＋ｙ0＋ｙ-
を算出する。更に、入力データシンドロームＳＩの成分が全て零であるか否かを検出する。入力データシンドロームＳＩの成分が全て零である場合には入力データＤＩに誤りがないと判定し、第１のフラグ信号Ｆ１をアクティブにして誤り訂正部４０に出力する。入力データシンドロームＳＩの成分のいずれかが零でない場合には入力データＤＩに誤りがあると判定し、第１のフラグ信号Ｆ１を非アクティブにして誤り訂正部４０に出力する。いずれの場合も、入力データシンドロームＳＩを評価多項式及び位置多項式導出部２０並びに誤りの個数推定部６０に出力する。ただし、評価多項式及び位置多項式導出部２０に出力する入力データシンドロームをＸＳＩと表記して、誤りの個数推定部６０に出力する入力データシンドロームＳＩと区別することとする。
【００５９】
誤りの個数推定部６０では、シンドローム計算部１０にて計算された入力データシンドロームＳＩから入力データＤＩ中に発生した誤りの個数ＥＮ１を推定する。
【００６０】
評価多項式及び位置多項式導出部２０は、ユークリッドアルゴリズム演算によって、入力データシンドロームＸＳＩから誤り位置多項式σ（ｚ）及び誤り評価多項式ω（ｚ）の各次数の係数を求め、これらの多項式の係数をチェンサーチ部３０に出力する。また、評価多項式及び位置多項式導出部２０は、データ保持器及びガロア演算器を備えており、データ保持器は、入力データシンドロームＸＳＩ及びユークリッドアルゴリズム演算の中間結果を保持し、最終的に誤り位置多項式σ（ｚ）及び誤り評価多項式ω（ｚ）の各次数の係数を出力する。ガロア演算器は、データ保持器の出力からユークリッドアルゴリズム演算を行って中間結果を求め、データ保持器に出力する。なお、ユークリッドアルゴリズム演算終了時に、誤り位置多項式σ（ｚ）の次数が誤り評価多項式ω（ｚ）の次数以下である場合でも、これらの多項式の係数を出力する。
【００６１】
チェンサーチ部３０は、チェンサーチを行って、誤り位置多項式σ（ｚ）の根α-juを求める。すなわち、誤り位置多項式σ（ｚ）にガロア体ＧＦ（２7）の元を順次代入し、誤り位置多項式σ（ｚ）の値が零となる元をこの誤り位置多項式σ（ｚ）の根α-juとして求め、誤り訂正部４０及び誤りの個数算出部７０に出力する。この際、誤り位置多項式σ（ｚ）がガロア体ＧＦ（２7）に持つ互いに異なる根の数が当該誤り位置多項式σ（ｚ）の次数未満である場合でも、誤り訂正が可能か否かを判断せず、根α-juを誤り訂正部４０及び誤りの個数算出部７０に出力する。誤り位置多項式σ（ｚ）の根α-juのそれぞれには、誤りの位置ｊuが対応している。更に、誤り評価多項式ω（ｚ）に誤り位置多項式σ（ｚ）の根α-juのそれぞれを代入して、誤りの評価値ω（α-ju）を求めるとともに、誤り位置多項式σ（ｚ）の導関数に誤り位置多項式σ（ｚ）の根α-juのそれぞれを代入して、誤り位置多項式の微分値σ'（α-ju）を求め、誤りの評価値ω（α-ju）と誤り位置多項式の微分値σ'（α-ju）とを評価多項式及び位置多項式導出部２０に出力する。また、評価多項式及び位置多項式導出部２０におけるガロア演算器は、誤りの評価値ω（α-ju）を、対応する誤り位置多項式の微分値σ'（α-ju）で除算して、誤りの位置ｊuのそれぞれのシンボル中の誤りビットを示す誤りの大きさｅuを求め、これを誤り訂正部４０に出力する。
【００６２】
誤りの個数算出部７０では、チェンサーチ部３０にて算出された誤り位置多項式σ（ｚ）の根α-juから求めた誤りの個数ＮＡと、誤り訂正部４０からの拡大成分の誤りの個数ＮＢとを加算する。つまり、
誤りの個数ＥＮ２＝ＮＡ＋ＮＢ
を算出し、当該算出した誤りの個数ＥＮ２を誤り訂正部４０へ供給する。ただし、拡大成分の誤りの個数を重複して加算することはない。
【００６３】
誤り訂正部４０は、チェンサーチ部３０が出力する誤り位置多項式σ（ｚ）の根α-juのそれぞれに対応した誤りの位置ｊuと、評価多項式及び位置多項式導出部２０が出力する誤りの大きさｅuとに基づいて、データ記憶部５０が出力する入力データＸＤＩに対して誤り訂正処理を行い、誤り訂正処理データとし、
非拡大成分のみの誤り訂正処理データの多項式Ｆ0（ｘ）＝ｆ126ｘ126＋ｆ125ｘ125＋・・・＋ｆ1ｘ＋ｆ0
非拡大成分及び拡大成分の誤り訂正処理データの多項式Ｆ（ｘ）＝ｘＦ0（ｘ）＋ｆ-＝ｆ126ｘ127＋ｆ125ｘ126＋・・・＋ｆ1ｘ2＋ｆ0ｘ＋ｆ-
（ｆ-は拡大成分（暫定値））
とする。すなわち、入力データＸＤＩの誤りの位置ｊuのシンボルから、それに対応した誤りの大きさｅuを減算する。ガロア体ＧＦ（２）の拡大体上での演算であるので、誤りの大きさｅuを減算する代わりに加算してもよい。拡大成分に対しては、更に非拡大成分のみの誤り訂正処理データの多項式Ｆ0（ｘ）にｘ＝α6を代入したものに誤り訂正処理データの拡大成分ｆ-（暫定値）を加算し、つまり、
Ｆ0（α6）＋ｆ-＝ｆ126（α6）126＋ｆ125（α6）125＋・・・＋ｆ1α6＋ｆ0＋ｆ-
を計算し、Ｆ0（α6）＋ｆ-が零である場合には誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りがないと考えられるので、誤り訂正処理データの拡大成分ｆ-（暫定値）をそのまま拡大成分の誤り訂正処理データとし、拡大成分の誤りの個数ＮＢ＝０とする。Ｆ0（α6）＋ｆ-が零でない場合には誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りがあると判断し、誤り訂正処理データの拡大成分ｆ-の誤りの大きさｅ-はＦ0（α6）＋ｆ-となる。そこで、誤り訂正処理データの拡大成分ｆ-（暫定値）に対して誤り訂正処理を行い、つまり、誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りの大きさｅ-＝Ｆ0（α6）＋ｆ-を加算し、
ｆ-＋ｅ-＝ｆ-＋Ｆ0（α6）＋ｆ-＝Ｆ0（α6）＋２ｆ-＝Ｆ0（α6）
を拡大成分の誤り訂正処理データとし、拡大成分の誤りの個数ＮＢ＝１とする。そして、誤りの個数推定部６０にて推定した誤りの個数ＥＮ１と誤りの個数算出部７０にて算出した誤りの個数ＥＮ２とが等しく、かつ、誤りの個数推定部６０にて推定した誤りの個数ＥＮ１と誤りの個数算出部７０にて算出した誤りの個数ＥＮ２とがともに３（誤り訂正数ｔ）以下か否か、つまり、「ＥＮ１＝ＥＮ２≦３」か否かを検出し、「ＥＮ１＝ＥＮ２≦３」の場合には、後述する第３のフラグ信号Ｆ３をアクティブにする。更に、「ＥＮ１＝ＥＮ２≦３」（第３のフラグ信号Ｆ３がアクティブ）であり、かつ、入力データシンドロームＳＩの成分のいずれかが零でない（第１のフラグ信号Ｆ１が非アクティブであり、誤り訂正の必要がある）場合には、誤り訂正処理データを第１の訂正データＣ１としてシンドローム計算部１０及びデータ記憶部５０に出力する。そうでない場合、つまり「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」（第３のフラグ信号Ｆ３が非アクティブ）であるか、又は、入力データシンドロームＳＩの成分が全て零である（第１のフラグ信号Ｆ１がアクティブであり、誤り訂正の必要がない）場合には、データ記憶部５０が出力する入力データＸＤＩをそのまま、第１の訂正データＣ１としてシンドローム計算部１０及びデータ記憶部５０に出力する。
【００６４】
データ記憶部５０は、第１の訂正データＣ１を記憶し、これと同じ訂正データＸＣ１を誤り訂正部４０へ返す。
【００６５】
シンドローム計算部１０は、
非拡大成分のみの第１の訂正データＣ１の多項式Ｄ0（ｘ）＝ｄ126ｘ126＋ｄ125ｘ125＋・・・＋ｄ1ｘ＋ｄ0
とし、かつ、
第１の訂正データＣ１の多項式Ｄ（ｘ）＝ｄ126ｘ127＋ｄ125ｘ126＋・・・＋ｄ1ｘ2＋ｄ0ｘ＋ｄ-
として、
第１の訂正データＣ１＝（ｄ126，ｄ125，・・・，ｄ1，ｄ0，ｄ-）
のシンドロームを訂正データシンドロームＳＣとして算出する。すなわち、非拡大成分の訂正データシンドローム
ＳＣi＝Ｄ0（αi）
＝ｄ126（αi）126＋ｄ125（αi）125＋・・・＋ｄ1αi＋ｄ0
（ｉ＝１，２，３，４，５）
を算出し、拡大成分の訂正データシンドローム
ＳＣ6＝Ｄ0（α6）＋ｄ-
＝ｄ126（α6）126＋ｄ125（α6）125＋・・・＋ｄ1α6＋ｄ0＋ｄ-
を算出する。更に、『訂正データシンドロームＳＣの成分が全て零であるか、又は、「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」（第３のフラグ信号Ｆ３が非アクティブ）である』という判定条件の真偽を判断し、当該判定条件が真である場合には第１の訂正データＣ１に誤りがないと判定して、第２のフラグ信号Ｆ２をアクティブにして誤り訂正部４０に出力する。そうでない場合、つまり訂正データシンドロームＳＣの成分のいずれかが零でなく、かつ、「ＥＮ１＝ＥＮ２≦３」（第３のフラグ信号Ｆ３がアクティブ）である場合には第１の訂正データＣ１に誤りがあると判定し、第２のフラグ信号Ｆ２を非アクティブにして誤り訂正部４０に出力する。
【００６６】
誤り訂正部４０は、第２のフラグ信号Ｆ２がアクティブの場合には第１の訂正データＣ１に誤りがないと考えられるので、データ記憶部５０が出力する第１の訂正データＸＣ１をそのまま、第２の訂正データＣ２として出力する。しかし、第２のフラグ信号Ｆ２が非アクティブの場合には第１の訂正データＣ１に誤りがあると考えられるので、チェンサーチ部３０が出力する誤り位置多項式σ（ｚ）の根α-juのそれぞれに対応した誤りの位置ｊuと、評価多項式及び位置多項式導出部２０が出力する誤りの大きさｅuと、拡大成分に対する誤りの大きさｅ-とに基づいて、データ記憶部５０が出力する第１の訂正データＸＣ１を入力データＤＩに復元する処理を行う。すなわち、第１の訂正データＸＣ１の誤りの位置ｊuのシンボルに対してはそれに対応した誤りの大きさｅuを加算又は減算し、第１の訂正データＸＣ１の拡大成分のシンボルに対しては更に誤りの大きさｅ-を加算又は減算する（つまり、第１の訂正データＸＣ１の拡大成分のシンボルに対しては誤りの大きさｅu及び誤りの大きさｅ-を加算又は減算する）。復元して得られた入力データＤＩを第２の訂正データＣ２として出力する。
【００６７】
図５は、図４中のシンドローム計算部１０の要部を示すブロック図である。図５において、１１はセレクタ、１２はシンドローム演算器、１３は入力データシンドローム保持器、１４は訂正データシンドローム保持器、１５は第１のシンドローム零検出器、１６は第２のシンドローム零検出器である。
【００６８】
セレクタ１１は、モード信号ＭＯＤに従って入力データＤＩ又は第１の訂正データＣ１を選択してシンドローム演算器１２に出力する。
【００６９】
シンドローム演算器１２は、モード信号ＭＯＤに従ってセレクタ１１と同期して動作し、入力データシンドロームＳＩを求める計算と、訂正データシンドロームＳＣを求める計算とを行い、入力データシンドロームＳＩを求めた計算結果を入力データシンドローム保持器１３及び誤りの個数推定部６０に出力し、訂正データシンドロームＳＣを求めた計算結果を訂正データシンドローム保持器１４に出力する。回路規模の縮小のためには、非拡大成分シンドロームの処理と拡大成分シンドロームの処理とを同じ処理器にて行うようにシンドローム演算器１２を構成するのがよい。
【００７０】
入力データシンドローム保持器１３は、シンドローム演算器１２の出力のうち、入力データシンドロームＳＩのみをモード信号ＭＯＤに従って取り込んで保持した後、これを入力データシンドロームＸＳＩとして第１のシンドローム零検出器１５に出力する。
【００７１】
第１のシンドローム零検出器１５は、入力データシンドロームＸＳＩの成分が全て零である場合には入力データＤＩに誤りがないと判定して、第１のフラグ信号Ｆ１をアクティブにし、入力データシンドロームＸＳＩの成分のいずれかが零でない場合には入力データＤＩに誤りがあると判定して、第１のフラグ信号Ｆ１を非アクティブにし、当該第１のフラグ信号Ｆ１を誤り訂正部４０へ出力する。
【００７２】
また、入力データシンドローム保持器１３は、第１のシンドローム零検出器１５が第１のフラグ信号Ｆ１を出力するタイミングに同期して、入力データシンドロームＸＳＩを評価多項式及び位置多項式導出部２０に出力する。
【００７３】
同様に、訂正データシンドローム保持器１４は、シンドローム演算器１２の出力のうち、訂正データシンドロームＳＣのみをモード信号ＭＯＤに従って取り込んで保持した後、当該訂正データシンドロームＳＣを第２のシンドローム零検出器１６に出力する。
【００７４】
第２のシンドローム零検出器１６は、訂正データシンドロームＳＣの成分が全て零である場合には第１の訂正データＣ１に誤りがないと判定して、第２のフラグ信号Ｆ２をアクティブにし、訂正データシンドロームＳＣの成分のいずれかが零でない場合には第１の訂正データＣ１に誤りがあると判定して、第２のフラグ信号Ｆ２を非アクティブにし、当該第２のフラグ信号Ｆ２を誤り訂正部４０へ出力する。
【００７５】
図６は、図４中の誤り訂正部４０の要部を示すブロック図である。図６において、４１は第１の誤り訂正器、４２は誤りの位置データ保持器、４３は誤りの大きさデータ保持器、４４は第２の誤り訂正器、４５は比較器である。
【００７６】
比較器４５は、誤りの個数推定部６０にて推定した誤りの個数ＥＮ１と誤りの個数算出部７０にて算出した誤りの個数ＥＮ２とを比較し、更にこれら誤りの個数ＥＮ１及びＥＮ２と３（誤り訂正数ｔ）とを比較して、「ＥＮ１＝ＥＮ２≦３」の場合には第３のフラグ信号Ｆ３をアクティブにし、そうでない場合（「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」の場合）には第３のフラグ信号Ｆ３を非アクティブにして、当該第３のフラグ信号Ｆ３を第１の誤り訂正器４１及び第２の誤り訂正器４４に出力する。
【００７７】
第１の誤り訂正器４１は、第１のフラグ信号Ｆ１がアクティブ（入力データＤＩを誤り訂正する必要がない）であるか、又は、第３のフラグ信号Ｆ３が非アクティブ（「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」）である場合には、入力データＤＩをそのまま第１の訂正データＣ１として出力し、拡大成分の誤りの個数ＮＢ＝０とする。また、第１のフラグ信号Ｆ１が非アクティブ（入力データＤＩは誤りを含み、誤り訂正の必要がある）であり、かつ、第３のフラグ信号Ｆ３がアクティブ（「ＥＮ１＝ＥＮ２≦３」）である場合には、入力データＸＤＩにおいて、根α-juに対応した誤りの位置ｊuのそれぞれが示すシンボルに対し、その誤りの位置ｊuに対する誤りの大きさｅuを減算又は加算する誤り訂正を行い、訂正処理後のデータを誤り訂正処理データとする。拡大成分に対しては、更に非拡大成分のみの誤り訂正処理データの多項式Ｆ0（ｘ）にｘ＝α6を代入したものに誤り訂正処理データの拡大成分ｆ-（暫定値）を加算し、つまり、
Ｆ0（α6）＋ｆ-＝ｆ126（α6）126＋ｆ125（α6）125＋・・・＋ｆ1α6＋ｆ0＋ｆ-
を計算し、Ｆ0（α6）＋ｆ-が零である場合には誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りがないと考えられるので、誤り訂正処理データの拡大成分ｆ-（暫定値）をそのまま拡大成分の誤り訂正処理データとし、拡大成分の誤りの個数ＮＢ＝０とする。Ｆ0（α6）＋ｆ-が零でない場合には誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りがあると判断し、誤り訂正処理データの拡大成分ｆ-（暫定値）の誤りの大きさｅ-はＦ0（α6）＋ｆ-となる。そこで、誤り訂正処理データの拡大成分ｆ-（暫定値）に対して誤り訂正処理を行い、つまり、誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りの大きさｅ-＝Ｆ0（α6）＋ｆ-を加算し、
ｆ-＋ｅ-＝ｆ-＋Ｆ0（α6）＋ｆ-＝Ｆ0（α6）＋２ｆ-＝Ｆ0（α6）
を拡大成分の誤り訂正処理データとし、拡大成分の誤りの個数ＮＢ＝１とする。そして、誤り訂正処理データを第１の訂正データＣ１として出力する。上記のようして求めた第１の訂正データＣ１は、シンドローム計算部１０及びデータ記憶部５０に出力される。
【００７８】
誤りの位置データ保持器４２は、根α-juと、拡大成分に対する誤りの位置ｊ-とを記憶し、これらを第２の誤り訂正器４４に出力する。
【００７９】
誤りの大きさデータ保持器４３は、誤りの大きさｅuと、拡大成分に対する誤りの大きさｅ-とを記憶し、これらを第２の誤り訂正器４４に出力する。
【００８０】
第２の誤り訂正器４４は、第２のフラグ信号Ｆ２がアクティブ（第１の訂正データＣ１には誤り訂正の必要がない）であるか、又は、第３のフラグ信号Ｆ３が非アクティブ（「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」）である場合には、第１の訂正データＸＣ１をそのまま第２の訂正データＣ２として出力する。また、第２のフラグ信号Ｆ２が非アクティブ（第１の訂正データＣ１は誤りを含み、誤り訂正の必要がある）であり、かつ、第３のフラグ信号Ｆ３がアクティブ（「ＥＮ１＝ＥＮ２≦３」）である場合には、根α-juに対応した誤りの位置ｊuと誤りの大きさｅuとに基づき、拡大成分に対しては更に誤りの位置ｊ-と誤りの大きさｅ-とに基づいて、第１の訂正データＸＣ１を入力データＤＩに戻す復元処理を行う。この復元処理は、第１の訂正データＸＣ１の誤りの位置ｊuのそれぞれが示すシンボルに対し、その誤りの位置ｊuに対応する誤りの大きさｅuを加算又は減算することにより行うことができ、拡大成分に対しては第１の訂正データＸＣ１の誤りの位置ｊ-が示すシンボル（拡大成分）に対し、その誤りの位置ｊ-（拡大成分）に対応する誤りの大きさｅ-を更に加算又は減算する（つまり、第１の訂正データＸＣ１の拡大成分のシンボルに対しては誤りの大きさｅu及び誤りの大きさｅ-を加算又は減算する）ことにより行うことができる。このように復元して得られた入力データＤＩを第２の訂正データＣ２として出力する。上記のように、第２の誤り訂正器４４は、第１の誤り訂正器４１において誤り訂正処理を正しく行うことができず、第１の訂正データＣ１が誤りを含むときは、当該第１の訂正データＣ１ではなく、復元した入力データＤＩを出力する。
【００８１】
図７は、図６中の第１の誤り訂正部４１の要部を示すブロック図である。図７において、４１Ａは誤り訂正処理器、４１Ｂは拡大成分誤り訂正処理器、４１Ｃはバスドライバである。
【００８２】
誤り訂正処理器４１Ａは、第１のフラグ信号Ｆ１がアクティブ（入力データＤＩを誤り訂正する必要がない）であるか、又は、第３のフラグ信号Ｆ３が非アクティブ（「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」）である場合には、入力データＸＤＩをそのまま第１の訂正データとして出力する。また、第１のフラグ信号Ｆ１が非アクティブ（入力データＤＩは誤りを含み、誤り訂正の必要がある）であり、かつ、第３のフラグ信号Ｆ３がアクティブ（「ＥＮ１＝ＥＮ２≦３」）である場合には、入力データＸＤＩにおいて、根α-juに対応した誤りの位置ｊuのそれぞれが示すシンボルに対し、その誤りの位置ｊuに対する誤りの大きさｅuを減算又は加算する誤り訂正を行い、訂正処理後のデータを第１の訂正データとして出力する。
【００８３】
拡大成分誤り訂正処理器４１Ｂは、第１のフラグ信号Ｆ１がアクティブ（入力データＤＩを誤り訂正する必要がない）であるか、又は、第３のフラグ信号Ｆ３が非アクティブ（「ＥＮ１≠ＥＮ２又はＥＮ１＞３又はＥＮ２＞３」）である場合には、誤り訂正処理データの拡大成分（暫定値）、つまり拡大成分の入力データＸＤＩをそのまま拡大成分の第１の訂正データとして出力し、拡大成分の誤りの個数ＮＢ＝０とする。また、第１のフラグ信号Ｆ１が非アクティブ（入力データＤＩは誤りを含み、誤り訂正の必要がある）であり、かつ、第３のフラグ信号Ｆ３がアクティブ（「ＥＮ１＝ＥＮ２≦３」）である場合には、拡大成分に対して、更に非拡大成分のみの誤り訂正処理データの多項式Ｆ0（ｘ）にｘ＝α6を代入したものに誤り訂正処理データの拡大成分ｆ-（暫定値）を加算し、つまり、
Ｆ0（α6）＋ｆ-＝ｆ126（α6）126＋ｆ125（α6）125＋・・・＋ｆ1α6＋ｆ0＋ｆ-
を計算し、Ｆ0（α6）＋ｆ-が零である場合には誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りがないと考えられるので、誤り訂正処理データの拡大成分ｆ-（暫定値）をそのまま拡大成分の誤り訂正処理データとし、拡大成分の誤りの個数ＮＢ＝０とする。Ｆ0（α6）＋ｆ-が零でない場合には誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りがあると判断し、誤り訂正処理データの拡大成分ｆ-（暫定値）の誤りの大きさｅ-はＦ0（α6）＋ｆ-となる。そこで、誤り訂正処理データの拡大成分ｆ-（暫定値）に対して誤り訂正処理を行い、つまり、誤り訂正処理データの拡大成分ｆ-（暫定値）に誤りの大きさｅ-＝Ｆ0（α6）＋ｆ-を加算し、
ｆ-＋ｅ-＝ｆ-＋Ｆ0（α6）＋ｆ-＝Ｆ0（α6）＋２ｆ-＝Ｆ0（α6）
を拡大成分の誤り訂正処理データとし、拡大成分の誤りの個数ＮＢ＝１とする。そして、拡大成分誤り訂正処理器４１Ｂは、これら拡大成分の誤り訂正処理データを、拡大成分の第１の訂正データとして出力する。
【００８４】
バスドライバ４１Ｃは、誤り訂正処理器４１Ａからの第１の訂正データと、拡大成分誤り訂正処理器４１Ｂからの拡大成分の第１の訂正データとを一括して、非拡大成分と拡大成分とからなる第１の訂正データＣ１として出力する。
【００８５】
以上のように、図４〜図７に示した復号器では、入力データシンドロームＳＩから誤りの個数推定部６０にて推定した誤りの個数ＥＮ１と、復号過程で誤りの個数算出部７０にて算出した誤りの個数ＥＮ２とを誤り訂正部４０にて比較し、この比較結果と入力データシンドロームＳＩとに基づいて誤り訂正部４０にて誤り訂正処理を施した後、誤り訂正されたデータＣ１に対してシンドローム計算部１０にて再度シンドローム計算を行って訂正データシンドロームＳＣを求め、誤訂正を行った場合又は推定した誤りの個数ＥＮ１と算出した誤りの個数ＥＮ２とが異なる場合には入力データＤＩを第２の訂正データＣ２として出力する。
【００８６】
なお、図４の誤りの個数推定部６０の機能をシンドローム計算部１０の内部に、誤りの個数算出部７０の機能を誤り訂正部４０の内部にそれぞれ移動してもよい。
【００８７】
また、図４では誤りの個数算出部７０にて根α-juから誤りの個数ＮＡを求めたが、チェンサーチ部３０にて誤りの個数ＮＡを求めてもよい。
【００８８】
また、図７中の２つの処理器４１Ａ，４１Ｂにおける処理を同じ処理器にて行うように構成してもよい。
【００８９】
図５中のシンドローム演算器１２における非拡大成分の処理と拡大成分の処理とをそれぞれ異なる処理器で行うように構成してもよい。図８は、この場合のシンドローム演算器１２の要部を示すブロック図である。図８において、１２Ａは非拡大成分シンドローム処理器、１２Ｂは拡大成分シンドローム処理器、１２Ｃはバスドライバである。
【００９０】
非拡大成分シンドローム処理器１２Ａは、入力データＤＩの非拡大成分及び第１の訂正データＣ１の非拡大成分のシンドロームをそれぞれ算出し、バスドライバ１２Ｃに出力する。
【００９１】
拡大成分シンドローム処理器１２Ｂは、入力データＤＩの拡大成分及び第１の訂正データＣ１の拡大成分のシンドロームをそれぞれ算出し、バスドライバ１２Ｃに出力する。
【００９２】
バスドライバ１２Ｃは、非拡大成分シンドローム処理器１２Ａからの入力データ非拡大成分のシンドロームと、拡大成分シンドローム処理器１２Ｂからの入力データ拡大成分のシンドロームとを一括してこれを入力データシンドロームＳＩとし、非拡大成分シンドローム処理器１２Ａからの訂正データ非拡大成分のシンドロームと、拡大成分シンドローム処理器１２Ｂからの訂正データ拡大成分のシンドロームとを一括してこれを訂正データシンドロームＳＣとしてそれぞれ出力する。
【００９３】
好ましくは、シンドローム計算部１０による入力データシンドロームＳＩの計算等の処理を第１のステージとし、評価多項式及び位置多項式導出部２０並びにチェンサーチ部３０の処理を第２のステージとし、誤り訂正部４０による第１の訂正データＣ１の出力及びシンドローム計算部１０による訂正データシンドロームＳＣの計算等の処理を第３のステージとし、かつ誤り訂正部４０による第２の訂正データＣ２の出力処理を第４のステージとするパイプラインアーキテクチャを採用するのがよい。シンドローム計算部１０は、基準となるクロック信号の２倍の周波数で動作し、一連の復号過程において２回（第１及び第３のステージで）使用される。
【産業上の利用可能性】
【００９４】
以上説明してきたとおり、本発明に係る復号方法及び復号器は、復号の際の誤訂正を防止でき、デジタル放送、デジタル磁気記録等におけるリードソロモン符号又は拡大リードソロモン符号の多重誤り訂正に有用である。
【図面の簡単な説明】
【００９５】
【図１】本発明に係る拡大リードソロモン符号の復号方法の手順の一例を示すフローチャートである。
【図２】図１に続くフローチャートである。
【図３】図１中の誤りの個数推定ステップの詳細フローチャートである。
【図４】本発明に係る拡大リードソロモン符号の復号器の構成例を示すブロック図である。
【図５】図４中のシンドローム計算部の要部ブロック図である。
【図６】図４中の誤り訂正部の要部ブロック図である。
【図７】図６中の第１の誤り訂正部の要部ブロック図である。
【図８】図５中のシンドローム演算器の一構成例を示す要部ブロック図である。
【符号の説明】
【００９６】
Ｓ１０  第１のシンドローム算出ステップ
Ｓ２０  誤り位置多項式及び誤り評価多項式算出ステップ
Ｓ３０  誤りの位置算出ステップ
Ｓ４０  誤りの大きさ算出ステップ
Ｓ５０  第１の誤り訂正ステップ
Ｓ６０  誤りの個数推定ステップ
Ｓ８０  誤りの個数算出ステップ
Ｓ９０  第２のシンドローム算出ステップ
Ｓ１００  第２の誤り訂正ステップ
１０  シンドローム計算部
１１  セレクタ
１２  シンドローム演算器
１２Ａ  非拡大成分シンドローム処理器
１２Ｂ  拡大成分シンドローム処理器
１２Ｃ  バスドライバ
１３  入力データシンドローム保持器
１４  訂正データシンドローム保持器
１５  第１のシンドローム零検出器
１６  第２のシンドローム零検出器
２０  評価多項式及び位置多項式導出部
３０  チェンサーチ部
４０  誤り訂正部
４１  第１の誤り訂正器
４１Ａ  誤り訂正処理器
４１Ｂ  拡大成分誤り訂正処理器
４１Ｃ  バスドライバ
４２  誤りの位置データ保持器
４３  誤りの大きさデータ保持器
４４  第２の誤り訂正器
４５  比較器
５０  データ記憶部
６０  誤りの個数推定部
７０  誤りの個数算出部
Ｃ１，ＸＣ１  第１の訂正データ
Ｃ２  第２の訂正データ
ＤＩ，ＸＤＩ  入力データ（受信語）
ＥＮ１  推定した誤りの個数
ＥＮ２  算出した誤りの個数
ｅu  誤りの大きさ
ｅ-  拡大成分に対する誤りの大きさ
Ｆ１  第１のフラグ信号
Ｆ２  第２のフラグ信号
Ｆ３  第３のフラグ信号
ｊ-  拡大成分に対する誤りの位置
ＭＯＤ  モード信号
ＮＡ  誤りの個数
ＮＢ  拡大成分の誤りの個数
ＳＩ，ＸＳＩ  入力データシンドローム
ＳＣ  訂正データシンドローム
α-ju  誤り位置多項式の根
σ（ｚ）  誤り位置多項式
σ'（α-ju）  誤り位置多項式の微分値
ω（ｚ）  誤り評価多項式
ω（α-ju）  誤りの評価値
【図１】
2004297757.tif 000003
【図２】
2004297757.tif 000004
【図３】
2004297757.tif 000005
【図４】
2004297757.tif 000006
【図５】
2004297757.tif 000007
【図６】
2004297757.tif 000008
【図７】
2004297757.tif 000009
【図８】
2004297757.tif 000010