(57)【特許請求の範囲】
【請求項１】
パラレル入力されたパラレル符号データを復号するデータ処理装置において、
パラレル入力された前記パラレル符号データを分配する分配手段と、
分配された一方の前記パラレル符号データを遅延させる遅延手段と、
前記遅延手段によって遅延された前記パラレル符号データに対する第１のインデックス番号を発生する第１の発生手段と、
分配された他方の前記パラレル符号データに基づき、前記パラレル符号データに対応するパラレルの誤りパターンデータを算出する算出手段と、
前記算出手段によって算出された前記誤りパターンデータに対する第２のインデックス番号を発生する第２の発生手段と、
前記パラレル符号データの訂正数だけ、前記第２のインデックス番号が対応付けられた前記誤りパターンデータを記憶する記憶手段と、
前記記憶手段から前記誤りパターンデータおよび前記第２のインデックス番号を取得する取得手段と、
前記取得手段によって取得された前記第２のインデックス番号と、前記第１の発生手段によって発生された前記第１のインデックス番号が一致するか否かを判定する判定手段と、
前記判定手段の判定結果に基づき、前記第１のインデックス番号に対応する前記パラレル符号データに、前記第２のインデックス番号に対応する前記誤りパターンデータを加算してパラレルの復号データを生成する生成手段と
を含むことを特徴とするデータ処理装置。
【請求項２】
前記算出手段は、前記パラレル符号データに対応するパラレルの前記誤りパターンデータを、前記パラレル符号データの入力の順序とは逆の順序で前記記憶手段に出力し、
前記第１の発生手段は、前記第１のインデックス番号を、所定の値ずつインクリメントして発生し、
前記第２の発生手段は、前記第２のインデックス番号を、所定の値ずつデクリメントして発生する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記算出手段は、前記パラレル符号データに対応するシンドローム多項式を算出し、前記シンドローム多項式に基づいて少なくとも誤り位置多項式を算出し、前記誤り位置多項式に基づいて前記誤りパターンデータを算出する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記記憶手段は、LIFOメモリである
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記生成手段は、
前記第２のインデックス番号と前記第１のインデックス番号が一致すると判定された場合、前記第１のインデックス番号に対応する前記パラレル符号データに、前記第２のインデックス番号に対応するパラレルの前記誤りパターンデータを加算して前記復号データを生成し、
前記第２のインデックス番号と前記第１のインデックス番号が一致しないと判定された場合、前記第１のインデックス番号に対応する前記パラレル符号データを、そのまま前記復号データとする
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
パラレル入力されたパラレル符号データを復号するデータ処理装置のデータ処理方法において、
パラレル入力された前記パラレル符号データを分配する分配ステップと、
分配された一方の前記パラレル符号データを遅延させる遅延ステップと、
遅延された前記パラレル符号データに対する第１のインデックス番号を発生する第１の発生ステップと、
分配された他方の前記パラレル符号データに基づき、前記パラレル符号データに対応するパラレルの誤りパターンデータを算出する算出ステップと、
前記算出ステップの処理で算出された前記誤りパターンデータに対する第２のインデックス番号を発生する第２の発生ステップと、
前記パラレル符号データの訂正数だけ、前記第２のインデックス番号が対応付けられた前記誤りパターンデータをメモリに記憶させる記憶ステップと、
前記メモリから前記誤りパターンデータおよび前記第２のインデックス番号を取得する取得ステップと、
前記取得ステップの処理で取得された前記第２のインデックス番号と、前記第１の発生ステップの処理で発生された前記第１のインデックス番号が一致するか否かを判定する判定ステップと、
前記判定ステップの処理での判定結果に基づき、前記第１のインデックス番号に対応する前記パラレル符号データに、前記第２のインデックス番号に対応するパラレルの前記誤りパターンデータを加算してパラレルの復号データを生成する生成ステップと
を含むことを特徴とするデータ処理方法。
【請求項７】
パラレル入力されたパラレル符号データを復号するデータ処理装置の制御用のプログラムであって、
パラレル入力された前記パラレル符号データを分配する分配ステップと、
分配された一方の前記パラレル符号データを遅延させる遅延ステップと、
遅延された前記パラレル符号データに対する第１のインデックス番号を発生する第１の発生ステップと、
分配された他方の前記パラレル符号データに基づき、前記パラレル符号データに対応するパラレルの誤りパターンデータを算出する算出ステップと、
前記算出ステップの処理で算出された前記誤りパターンデータに対する第２のインデックス番号を発生する第２の発生ステップと、
前記パラレル符号データの訂正数だけ、前記第２のインデックス番号が対応付けられた前記誤りパターンデータをメモリに記憶させる記憶ステップと、
前記メモリから前記誤りパターンデータおよび前記第２のインデックス番号を取得する取得ステップと、
前記取得ステップの処理で取得された前記第２のインデックス番号と、前記第１の発生ステップの処理で発生された前記第１のインデックス番号が一致するか否かを判定する判定ステップと、
前記判定ステップの処理での判定結果に基づき、前記第１のインデックス番号に対応する前記パラレル符号データに、前記第２のインデックス番号に対応するパラレルの前記誤りパターンデータを加算してパラレルの復号データを生成する生成ステップと
を含む処理をデータ処理装置のコンピュータに実行させるプログラムが記録されていることを特徴とする記録媒体。
【請求項８】
パラレル入力されたパラレル符号データを復号するデータ処理装置の制御用のプログラムであって、
パラレル入力された前記パラレル符号データを分配する分配ステップと、
分配された一方の前記パラレル符号データを遅延させる遅延ステップと、
遅延された前記パラレル符号データに対する第１のインデックス番号を発生する第１の発生ステップと、
分配された他方の前記パラレル符号データに基づき、前記パラレル符号データに対応するパラレルの誤りパターンデータを算出する算出ステップと、
前記算出ステップの処理で算出された前記誤りパターンデータに対する第２のインデックス番号を発生する第２の発生ステップと、
前記パラレル符号データの訂正数だけ、前記第２のインデックス番号が対応付けられた前記誤りパターンデータをメモリに記憶させる記憶ステップと、
前記メモリから前記誤りパターンデータおよび前記第２のインデックス番号を取得する取得ステップと、
前記取得ステップの処理で取得された前記第２のインデックス番号と、前記第１の発生ステップの処理で発生された前記第１のインデックス番号が一致するか否かを判定する判定ステップと、
前記判定ステップの処理での判定結果に基づき、前記第１のインデックス番号に対応する前記パラレル符号データに、前記第２のインデックス番号に対応するパラレルの前記誤りパターンデータを加算してパラレルの復号データを生成する生成ステップと
を含む処理をデータ処理装置のコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置および方法、記録媒体、並びにプログラムに関し、例えば、受信した符号データ、あるいは、情報記録媒体から読み出した符号データを復号する場合に用いて好適なデータ処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
一般に、ディジタルデータを通信する場合、図１に示すような通信システムが用いられる。この通信システムにおいて、送信側のエンコーダ１は、ディジタルデータであるソース信号に、誤り検出符号や誤り訂正符号等の冗長性を付加してエンコードし、符号データを生成する。
【０００３】
生成された符号データは、通信路２を介してデコーダ３に送信される。ただし、通信路２を通過する符号データには、ノイズ等の影響によって誤り（エラー）が生じてしまうことがある。
【０００４】
受信側のデコーダ３は、受信した符号データに生じているエラーを、誤り検出符号や誤り訂正符号に基づいて訂正してデコードし、復号データを生成する。
【０００５】
図２は、デコーダ３の構成例を示している。受信された符号データは、デコーダ３のシンドローム発生部１１、および遅延部１３に入力される。
【０００６】
シンドローム発生部１１は、入力された符号データに対応するシンドローム多項式を算出して、誤り位置・誤り評価値多項式算出部１２に出力する。誤り位置・誤り評価値多項式算出部１２は、入力されたシンドローム多項式に基づき、誤り位置多項式係数および誤り評価値多項式係数を算出して、誤り訂正部１４に出力する。遅延部１３は、自己に入力された符号データと同一の符号データに対するシンドローム発生部１１および誤り位置・誤り評価値多項式算出部１２の処理が終了するまで、入力された符号データを遅延して誤り訂正部１４に出力する。
【０００７】
誤り訂正部１４は、誤り位置・誤り評価値多項式算出部１２から入力される誤り位置多項式係数および誤り評価値多項式係数を誤りパターンに変換し、その誤り位置を示す値とともメモリに保持する。さらに、誤り訂正部１４は、遅延部１３から入力される符号データの対応する位置に、保持していた誤りパターンを加算して、復号データを生成する。
【０００８】
なお、上述したように構成されるデコーダ３について記載されている先行技術文献は存在していない。
【０００９】
【発明が解決しようとする課題】
ところで、上述したデコーダ３は、シリアル入力される符号データをデコード処理の対象としているが、パラレル入力される符号データをデコードするようになれば、符号データが入力されてから対応する復号データが出力されるまでの遅延時間を短くすることが可能となる。しかしながら、上述したデコーダ３では、パラレル入力された符号データをデコードすることができない課題があった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、パラレルの符号データをデコードするようにして、復号データを出力するまでに要する遅延時間をより短縮できるようにすることを目的とする。
【００１１】
【課題を解決するための手段】
本発明のデータ処理装置は、パラレル入力されたパラレル符号データを分配する分配手段と、分配された一方のパラレル符号データを遅延させる遅延手段と、遅延手段によって遅延されたパラレル符号データに対する第１のインデックス番号を発生する第１の発生手段と、分配された他方のパラレル符号データに基づき、パラレル符号データに対応するパラレルの誤りパターンデータを算出する算出手段と、算出手段によって算出された誤りパターンデータに対する第２のインデックス番号を発生する第２の発生手段と、パラレル符号データの訂正数だけ、第２のインデックス番号が対応付けられた誤りパターンデータを記憶する記憶手段と、記憶手段から誤りパターンデータおよび第２のインデックス番号を取得する取得手段と、取得手段によって取得された第２のインデックス番号と、第１の発生手段によって発生された第１のインデックス番号が一致するか否かを判定する判定手段と、判定手段の判定結果に基づき、第１のインデックス番号に対応するパラレル符号データに、第２のインデックス番号に対応する誤りパターンデータを加算してパラレルの復号データを生成する生成手段とを含むことを特徴とする。
【００１２】
前記算出手段は、パラレル符号データに対応するパラレルの誤りパターンデータを、パラレル符号データの入力の順序とは逆の順序で記憶手段に出力し、第１の発生手段は、第１のインデックス番号を、所定の値ずつインクリメントして発生し、第２の発生手段は、第２のインデックス番号を、所定の値ずつデクリメントして発生するようにすることができる。
【００１３】
前記算出手段は、パラレル符号データに対応するシンドローム多項式を算出し、シンドローム多項式に基づいて少なくとも誤り位置多項式を算出し、誤り位置多項式に基づいて誤りパターンデータを算出するようにすることができる。
【００１４】
前記記憶手段は、LIFOメモリとするようにすることができる。
【００１５】
前記生成手段は、第２のインデックス番号と第１のインデックス番号が一致すると判定された場合、第１のインデックス番号に対応するパラレル符号データに、第２のインデックス番号に対応するパラレルの誤りパターンデータを加算して復号データを生成し、第２のインデックス番号と第１のインデックス番号が一致しないと判定された場合、第１のインデックス番号に対応するパラレル符号データを、そのまま復号データとするようにすることができる。
【００１６】
本発明のデータ処理方法は、パラレル入力されたパラレル符号データを分配する分配ステップと、分配された一方のパラレル符号データを遅延させる遅延ステップと、
遅延されたパラレル符号データに対する第１のインデックス番号を発生する第１の発生ステップと、分配された他方のパラレル符号データに基づき、パラレル符号データに対応するパラレルの誤りパターンデータを算出する算出ステップと、算出ステップの処理で算出された誤りパターンデータに対する第２のインデックス番号を発生する第２の発生ステップと、パラレル符号データの訂正数だけ、第２のインデックス番号が対応付けられた誤りパターンデータをメモリに記憶させる記憶ステップと、メモリから誤りパターンデータおよび第２のインデックス番号を取得する取得ステップと、取得ステップの処理で取得された第２のインデックス番号と、第１の発生ステップの処理で発生された第１のインデックス番号が一致するか否かを判定する判定ステップと、判定ステップの処理での判定結果に基づき、第１のインデックス番号に対応するパラレル符号データに、第２のインデックス番号に対応するパラレルの誤りパターンデータを加算してパラレルの復号データを生成する生成ステップとを含むことを特徴とする。
【００１７】
本発明の記録媒体は、パラレル入力されたパラレル符号データを分配する分配ステップと、分配された一方のパラレル符号データを遅延させる遅延ステップと、遅延されたパラレル符号データに対する第１のインデックス番号を発生する第１の発生ステップと、分配された他方のパラレル符号データに基づき、パラレル符号データに対応するパラレルの誤りパターンデータを算出する算出ステップと、算出ステップの処理で算出された誤りパターンデータに対する第２のインデックス番号を発生する第２の発生ステップと、パラレル符号データの訂正数だけ、第２のインデックス番号が対応付けられた誤りパターンデータをメモリに記憶させる記憶ステップと、メモリから誤りパターンデータおよび第２のインデックス番号を取得する取得ステップと、取得ステップの処理で取得された第２のインデックス番号と、第１の発生ステップの処理で発生された第１のインデックス番号が一致するか否かを判定する判定ステップと、判定ステップの処理での判定結果に基づき、第１のインデックス番号に対応するパラレル符号データに、第２のインデックス番号に対応するパラレルの誤りパターンデータを加算してパラレルの復号データを生成する生成ステップとを含む処理をデータ処理装置のコンピュータに実行させるプログラムが記録されていることを特徴とする。
【００１８】
本発明のプログラムは、パラレル入力されたパラレル符号データを分配する分配ステップと、分配された一方のパラレル符号データを遅延させる遅延ステップと、遅延されたパラレル符号データに対する第１のインデックス番号を発生する第１の発生ステップと、分配された他方のパラレル符号データに基づき、パラレル符号データに対応するパラレルの誤りパターンデータを算出する算出ステップと、算出ステップの処理で算出された誤りパターンデータに対する第２のインデックス番号を発生する第２の発生ステップと、パラレル符号データの訂正数だけ、第２のインデックス番号が対応付けられた誤りパターンデータをメモリに記憶させる記憶ステップと、メモリから誤りパターンデータおよび第２のインデックス番号を取得する取得ステップと、取得ステップの処理で取得された第２のインデックス番号と、第１の発生ステップの処理で発生された第１のインデックス番号が一致するか否かを判定する判定ステップと、判定ステップの処理での判定結果に基づき、第１のインデックス番号に対応するパラレル符号データに、第２のインデックス番号に対応するパラレルの誤りパターンデータを加算してパラレルの復号データを生成する生成ステップとを含む処理をデータ処理装置のコンピュータに実行させることを特徴とする。
【００１９】
本発明のデータ処理装置および方法、並びにプログラムにおいては、パラレル符号データに対応するパラレルの誤りパターンデータが算出され、算出された誤りパターンデータに対する第２のインデックス番号が発生され、パラレル符号データの訂正数だけ、第２のインデックス番号が対応付けられた誤りパターンデータがメモリに記憶される。さらに、メモリから誤りパターンデータおよび第２のインデックス番号が取得され、取得された第２のインデックス番号と、発生された第１のインデックス番号が一致するか否か判定され、その判定結果に基づき、第１のインデックス番号に対応するパラレル符号データに、第２のインデックス番号に対応するパラレルの誤りパターンデータが加算されてパラレルの復号データが生成される。
【００２０】
【発明の実施の形態】
本発明を適用したデコーダの構成例について、図３を参照して説明する。このデコーダ２１は、図１に示された通信システムのデコーダ３に代わるものであり、パラレル入力される符号データIDATAをデコードして、復号データODATAを生成する。
【００２１】
デコーダ２１に入力されたｍ次パラレルの符号データIDATAは、遅延部２４および並列化シンドローム発生部２５に分配される。以下、デコーダ２１にｍ次パラレル入力される符号データIDATAの各種のパラメータを、符号長ｎ＝ｍ×ｊ、訂正数ｔ、有限体Ｆ（ｑk）（ｑ＝ｐs、ｐは素数）とする。
【００２２】
制御部２２は、記録媒体２３に記憶されている制御用プログラムに基づき、デコーダ２１の全体を制御する。特に、制御部２２は、並列化誤り訂正部２７に誤りパターン算出開始信号を出力し、その後、所定のタイミングに、遅延部２４および並列化誤り訂正部２７に復号開始信号を出力する。
【００２３】
遅延部２４は、ｍ次パラレル入力される符号データIDATAを、制御部２２から復号開始信号が入力されるまで遅延して、並列化誤り訂正部２７に出力する。なお、復号開始信号は、並列化シンドローム発生部２５側に分配された、遅延部２４に入力された符号データIDATAと同一の符号データIDATAに対する所定の処理が終了したことに対応して制御部２２から出力される。
【００２４】
並列化シンドローム発生部２５は、ｍ次パラレル入力される符号データIDATAに対応するシンドローム多項式を算出して、誤り位置・誤り評価値多項式算出部２６に出力する。誤り位置・誤り評価値多項式算出部２６は、入力されたシンドローム多項式に基づき、誤り位置多項式係数SGMおよび誤り評価値多項式係数OMGを算出して、並列化誤り訂正部２７に出力する。
【００２５】
並列化誤り訂正部２７は、入力される誤り位置多項式係数SGMおよび誤り評価値多項式係数OMGに基づいて、ｍ次パラレルの誤りパターンIPATを算出し、遅延部２４から入力されるｍ次パラレルの符号データIDATAに加算して、復号データODATAを生成する。
【００２６】
図４は、デコーダ２１に順次入力されるｍ次パラレルの符号データIDATAを示している。すなわち、所定のタイミング０にｍ次パラレルの符号データIDATA（０）が、次のタイミング１にｍ次パラレルの符号データIDATA（１）が入力される。これ以降同様に、タイミングsにｍ次パラレルの符号データIDATA（s）が、ｍ次パラレルのタイミング（ｊ−１）に符号データIDATA（ｊ−１）が入力される。
【００２７】
したがって、デコーダ２１の遅延部２４は、復号開始信号が入力されたときを基準とするタイミング０にｍ次パラレルの符号データIDATA（０）を、次のタイミング１にｍ次パラレルの符号データIDATA（１）を並列化誤り訂正部２７に出力することになる。これ以降同様に、タイミングsにｍ次パラレルの符号データIDATA（s）を、タイミング（ｊ−１）にｍ次パラレルの符号データIDATA（ｊ−１）を並列化誤り訂正部２７に出力することになる。
【００２８】
図５は、並列化誤り訂正部２７の構成例を示している。並列化誤り訂正部２７において、遅延部２４から入力されるｍ次パラレルの符号データIDATAは、誤りパターン加算部３７に供給される。誤り位置・誤り評価値多項式算出部２６から入力される誤り位置多項式係数SGMおよび誤り評価値多項式係数OMGは、誤りパターン算出部３１に入力される。制御部２２から入力される誤りパターン算出開始信号は、誤りパターン算出部３１に供給され、復号開始信号は、順方向カウンタ３５および誤りパターン加算部３７に供給される。
【００２９】
誤りパターン算出部３１は、誤り位置多項式係数SGMおよび誤り評価値多項式係数OMGに基づいて、ｍ次パラレルの誤りパターンIPATを算出する。さらに、誤りパターン算出部３１は、制御部２２から入力される誤りパターン算出開始信号に従い、算出したｍ次パラレルの誤りパターンIPATを、例えば、図６に示すように、対応する符号データIDATAの入力順とは逆の順序で誤りパターン記憶部３３に出力する。
【００３０】
すなわち、制御部２２から入力される誤りパターン算出開始信号が入力されたタイミングに、ｍ次パラレルの符号データIDATA（ｊ−１）に対応するｍ次パラレルの誤りパターンIPAT（ｊ−１）を、次のタイミングに、ｍ次パラレルの符号データIDATA（ｊ−２）に対応するｍ次パラレルの誤りパターンIPAT（ｊ−２）を誤りパターン記憶部３３に出力する。これ以降同様に、ｍ次パラレルの符号データIDATA（０）に対応するｍ次パラレルの誤りパターンIPAT（０）までを誤りパターン記憶部３３に出力する。
【００３１】
逆方向カウンタ３２は、制御部２２から誤りパターン算出開始信号が入力されることに対応して、カウント値CNT１として、ｊ−１，ｊ−２，…，s，…，１，０を所定の間隔でサイクリックに発生し、誤りパターン記憶部３３に出力する。
【００３２】
したがって、誤りパターン記憶部３３には、ｍ次パラレルの誤りパターンIPAT（ｊ−１）とカウンタ値CNT１＝（ｊ−１）が同時に、次のタイミングには、ｍ次パラレルの誤りパターンIPAT（ｊ−２）とカウンタ値CNT１＝（ｊ−２）が同時に入力されることになる。これ以降同様に、ｍ次パラレルの誤りパターンIPAT（１）とカウンタ値CNT１＝（１）が同時に、ｍ次パラレルの誤りパターンIPAT（０）とカウンタ値CNT１＝（０）が同時に入力されることになる。
【００３３】
誤りパターン記憶部３３は、誤りパターン算出部３１から入力されるｍ次パラレルの誤りパターンIPAT（ｓ）（ｓ＝ｊ−１，ｊ−２，…，１，０）に基づき、それに対応するｍ次パラレルの符号データIDATA（ｓ）に誤りがあるか否かを判定し、誤りがあると判定した場合、同時に入力されたカウンタ値CNT１＝（ｓ）に、ｍ次パラレルの誤りパターンIPAT（ｓ）を対応付けて、LIFO(last-In first-out)メモリ３４に記憶させる。
【００３４】
図７は、誤りパターン記憶部３３に内蔵されたLIFOメモリ３４の構造を示している。LIFOメモリ３４は、カウンタ値CNT１とｍ次パラレルの誤りパターンIPATの組を、訂正数tと同じ組数だけ保持することができる。
【００３５】
LIFOメモリ３４は、カウンタ値CNT１をロケータLOCとして、対応するｍ次パラレルの誤りパターンIPATを記憶し、比較部３６からの要求に対応し、後入れ先出しの順序で、カウンタ値CNT１とそれに対応するｍ次パラレルの誤りパターンIPATを比較部３６に出力する。以下、LIFOメモリ３４から比較部３６に出力されるカウンタ値CNT１とｍ次パラレルの誤りパターンIPATを、それぞれ、ロケータLOC、または誤りパターンOPATと記述する。
【００３６】
順方向カウンタ３５は、制御部２２から復号開始信号が入力されたことに対応して、カウント値CNT２として、０，１，…，ｓ，…，ｊ−２，ｊ−１を所定の間隔でサイクリックに発生し、比較部３６に出力する。
【００３７】
比較部３６は、誤りパターン記憶部３３のLIFOメモリ３４に記憶されているロケータLOCと誤りパターンOPATの組のうち、最も新たに記憶された１組を読み出し、読み出したロケータLOCと、順方向カウンタ３５からのカウント値CNT２が一致するまで読み出した誤りパターンOPATを保持し、一致した場合、読み出した誤りパターンOPATを誤りパターン加算部３７に出力する。誤りパターン加算部３７に誤りパターンOPATを出力した後、比較部３６は、LIFOメモリ３４から、次に新しい１組を読み出して同様の動作を実行する。
【００３８】
例えば、比較部３６は、LIFOメモリ３４から、ロケータLOC＝ｓと誤りパターンOPAT（ｓ）が読み出されている場合、カウント値CNT２＝sであるとき、誤りパターンOPAT（ｓ）を誤りパターン加算部３７に出力する。
【００３９】
誤りパターン加算部３７は、制御部２２から復号開始信号が入力されたことに対応して、遅延部２４から入力されるｍ次パラレルの符号データIDATAに、その入力と同時に比較部３６から入力されるｍ次パラレルの誤りパターンOPATを加算して復号データODATAを生成し、図４に示すような順番で後段に出力する。
【００４０】
なお、遅延部２４から入力されるｍ次パラレルの符号データIDATAに誤りが存在しない場合、比較部３６からｍ次パラレルの誤りパターンOPATは入力されない。この場合、誤りが存在しないｍ次パラレルの符号データIDATAが、そのまま復号データODATAとされる。
【００４１】
例えば、誤りパターン加算部３７に入力されたｍ次パラレルの符号データIDATA（ｓ）に誤りが存在している場合、その入力と同時に、比較部３６からｍ次パラレルの誤りパターンOPAT（ｓ）が入力されるので、符号データIDATA（ｓ）に誤りパターンOPAT（ｓ）が加算されて復号データODATA（ｓ）が生成される。
【００４２】
また、例えば、誤りパターン加算部３７に入力されたｍ次パラレルの符号データIDATA（ｓ）に誤りが存在していない場合、比較部３６からの入力はないので、符号データIDATA（ｓ）が、そのまま復号データODATA（ｓ）とされる。
【００４３】
次に、デコーダ２１によるデコード処理について、図９のフローチャートを参照して説明する。ステップＳ１において、デコーダ２１にｍ次パラレルの符号データIDATAが入力され、遅延部２４および並列化シンドローム発生部２５に分配される。遅延部２４は、分配された一方の符号データIDATAを、制御部２２から復号開始信号が入力されるまで遅延する。
【００４４】
ステップＳ２において、並列化シンドローム発生部２５は、分配された他方の符号データIDATAに対応するシンドローム多項式を算出して、誤り位置・誤り評価値多項式算出部２６に出力する。ステップＳ３において、誤り位置・誤り評価値多項式算出部２６は、入力されたシンドローム多項式に基づき、誤り位置多項式係数SGMおよび誤り評価値多項式係数OMGを算出して、並列化誤り訂正部２７に出力する。並列化誤り訂正部２７において、誤り位置・誤り評価値多項式算出部２６から入力された誤り位置多項式係数SGMおよび誤り評価値多項式係数OMGは、誤りパターン算出部３１に供給される。
【００４５】
ステップＳ４において、誤りパターン算出部３１は、誤り位置多項式係数SGMおよび誤り評価値多項式係数OMGに基づいて、ｍ次パラレルの誤りパターンIPATを算出し、制御部２２から入力された誤りパターン算出開始信号に従い、算出したｍ次パラレルの誤りパターンIPATを、図６に示すように、対応する符号データIDATAの入力順とは逆の順序で誤りパターン記憶部３３に出力する。
【００４６】
ステップＳ５において、誤りパターン記憶部３３は、誤りパターン算出部３１から入力されるｍ次パラレルの誤りパターンIPAT（ｓ）（ｓ＝ｊ−１，ｊ−２，…，１，０）に基づき、それに対応するｍ次パラレルの符号データIDATA（ｓ）に誤りがあるか否かを判定し、誤りがあると判定した場合、同時に逆方向カウンタ３２から入力されたカウンタ値CNT１＝（ｓ）に、ｍ次パラレルの誤りパターンIPAT（ｓ）を対応付けて、LIFOメモリ３４に記憶させる。
【００４７】
誤りパターン算出部３１によりｍ次パラレルの誤りパターンIPAT（０）が算出されて、誤りパターン記憶部３３に入力され、対応する符号データIDATA（０）の誤りの有無が判断された後、制御部２２により復号開始信号が出力される。この復号開始信号に対応して、遅延部２４は、遅延していた符号データIDATAの出力を開始する。また、順方向カウンタ３５は、カウントを開始して、カウント値CNT２を比較部３６に出力する。
【００４８】
ステップＳ６において、比較部３６は、誤りパターン記憶部３３のLIFOメモリ３４に記憶されているロケータLOCと誤りパターンOPATの組のうち、最も後に記憶されたものを読み出す。ステップＳ７において、比較部３６は、読み出したロケータLOCと、順方向カウンタ３５から入力されたカウント値CNT２が一致するまで待機し、読み出したロケータLOCと、順方向カウンタ３５から入力されたカウント値CNT２が一致すると判定した場合、ステップＳ８に進み、読み出した誤りパターンOPATを誤りパターン加算部３７に出力する。
【００４９】
ステップＳ９において、誤りパターン加算部３７は、遅延部２４から入力されたｍ次パラレルの符号データIDATAに、その入力と同時に比較部３６から入力されたｍ次パラレルの誤りパターンOPATを加算して復号データODATAを生成する。
【００５０】
ただし、遅延部２４から入力されたｍ次パラレルの符号データIDATAに誤りが存在しない場合、比較部３６からｍ次パラレルの誤りパターンOPATは入力されない。この場合、誤りが存在しないｍ次パラレルの符号データIDATAを、そのまま復号データODATAとする。以上で、デコーダ３によるデコード処理の説明を終了する。
【００５１】
以上説明したように、デコーダ３は、ｍ次パラレル入力される符号データをデコードすることができるので、シリアル入力される符号データをデコードする図２に示された従来のデコーダ３に比較して、復号データが出力されるまでの遅延時間を短縮することができる。
【００５２】
なお、符号データの種類によっては、並列化誤り訂正部２７において誤り評価多項式を算出しないようにしてもよい。この場合、誤り位置多項式に基づいて得られるｍ次パラレルの誤り位置パターン列を、誤りパターンIPATとする。
【００５３】
また、符号データは、その符号長ｎが必ずしもｍの倍数ではなくてもかまわない。例えば、符号長ｎ＝ｍ（ｊ−１）＋ａ、０＜ａ＜ｍである場合、符号データIDATAのうち、ｒ｛ｍ（ｊ−１）＋ａ＋１｝，ｒ｛ｍ（ｊ−１）＋ａ｝，…，ｒ｛ｍｊ−１｝を全て０とすれば、デコーダ３１によってデコードすることが可能となる。
【００５４】
さらに、本発明は、通信システムの受信側のデコーダだけではなく、情報記録媒体から符号データを再生する再生装置にも適用することができる。
【００５５】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ（例えば、図３の制御部２２）、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体（例えば、図３の記録媒体２３）からインストールされる。
【００５６】
この記録媒体は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや記憶部に含まれるハードディスクなどで構成される。
【００５７】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００５８】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【００５９】
【発明の効果】
以上のように、本発明によれば、パラレルの符号データをデコードすることができる。また、本発明によれば、符号データが入力されてから復号データを出力するまでに要する遅延時間をより短縮することが可能となる。
【図面の簡単な説明】
【図１】ディジタルデータを符号化して通信する通信システムの構成例を示すブロック図である。
【図２】図１のデコーダの構成例を示すブロック図である。
【図３】本発明の一実施の形態であるデコーダの構成例を示すブロック図である。
【図４】デコーダにｍ次パラレル入力される符号データIDATAの一例を示す図である。
【図５】図３の並列化誤り訂正部の構成例を示すブロック図である。
【図６】図５の誤りパターン算出部が算出する誤りパターンの一例を示す図である。
【図７】図５のLIFOメモリの構造を示す図である。
【図８】図５の誤りパターン加算部が出力する復号データの一例を示す図である。
【図９】図３のデコーダによるデコード処理を説明するフローチャートである。
【符号の説明】
２１  デコーダ，  ２２  制御部，  ２３  記憶媒体，  ２４  遅延部，  ２５  並列化シンドローム発生部，  ２６  誤り位置・誤り評価多項式算出部，  ２７  並列化誤り訂正部，  ３１  誤りパターン算出部，  ３２  逆方向カウンタ，  ３３  誤りパターン記憶部，  ３４  LIFOメモリ，  ３５  順方向カウンタ，  ３６  比較部，  ３７  誤りパターン加算部
【図１】
0004147909.tif 000002
【図２】
0004147909.tif 000003
【図３】
0004147909.tif 000004
【図４】
0004147909.tif 000005
【図５】
0004147909.tif 000006
【図６】
0004147909.tif 000007
【図７】
0004147909.tif 000008
【図８】
0004147909.tif 000009
【図９】
0004147909.tif 000010