(57)【特許請求の範囲】
【請求項１】
パリティ検査行列に応じて符号化されたデータの信頼度情報に基づいて前記データを復号する復号装置であって、
前記データに対する第一の検出処理に対応する前記信頼度情報を生成する信頼度生成器と、
前記信頼度情報を保存する信頼度格納メモリと、
行処理を行うことにより行処理出力値を演算する行処理演算器と、
列処理を行うことにより列処理出力値を演算する列処理演算器とを備え、
前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、
前記列処理演算器は、前記行処理演算器によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、
前記信頼度生成器は、前記第一の検出処理と同一の前記データに対する第二の検出処理に対応する信頼度情報を生成し、前記第一の検出処理に対応する信頼度情報と、前記第二の検出処理に対応する信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、
前記列処理演算器は、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報を用いて前記列処理出力値を演算することを特徴とする復号装置。
【請求項２】
前記第一の検出処理に対応する前記信頼度情報に基づいて前記列処理演算器によって演算された列処理出力値を保存する列処理出力値格納メモリをさらに備え、
前記行処理演算器は、前記第二の検出処理に基づいて生成された信頼度情報を用いた復号が行われる際に、前記列処理出力値格納メモリに保存された前記列処理出力値を前記行処理の初期値として用いることを特徴とする請求項１記載の復号装置。
【請求項３】
前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、
前記推定語の信頼度を保存する推定語信頼度格納メモリとをさらに備え、
前記推定語生成器は、前記データに対する第二の検出処理に基づいて生成された信頼度情報を用いた復号が行われる際に、前記推定語信頼度格納メモリに保存された前記第一の検出処理に対応する前記信頼度情報から生成された推定語の信頼度と、前記第二の検出処理に基づいて生成された信頼度情報及び前記行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度を更新し、前記更新した推定語の信頼度に従って推定語を生成することを特徴とする請求項１記載の復号装置。
【請求項４】
前記データに対応する複数の信頼度情報の前記信頼度格納メモリへの入力を制御する制御器をさらに備え、
前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて行処理出力値を繰り返し演算し、
前記制御器は、前記行処理演算器による前記行処理出力値の演算処理回数を監視し、前記演算処理回数が所定の回数に到達した場合、前記第二の検出処理に対応する信頼度情報を前記信頼度格納メモリに入力させることを特徴とする請求項１記載の復号装置。
【請求項５】
前記データに対応する複数の信頼度情報の前記信頼度格納メモリへの入力を制御する制御器と、
復号結果を判定する復号結果判定器とをさらに備え、
前記制御器は、前記復号結果判定器による判定結果が所定の条件を満たさなかった場合に、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことを特徴とする請求項１記載の復号装置。
【請求項６】
前記データに対応する複数の信頼度情報の前記信頼度格納メモリへの入力を制御する制御器と、
前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、
前記信頼度情報と前記行処理出力値とに基づいて生成される前記推定語が正しく復号されていることを検査するパリティ検査器とをさらに備え、
前記制御器は、前記パリティ検査器による検査結果が所定の条件を満たさなかった場合に、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことを特徴とする請求項１記載の復号装置。
【請求項７】
前記データに対応する複数の信頼度情報の前記信頼度格納メモリへの入力を制御する制御器と、
前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、
前記列処理出力値、前記行処理出力値又は前記推定語の信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定する復号結果判定器とをさらに備え、
前記制御器は、前記復号結果判定器による判定結果が所定の条件を満たさなかった場合に、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことを特徴とする請求項１記載の復号装置。
【請求項８】
前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器をさらに備え、
前記推定語生成器は、前記推定語の信頼度が前記推定語信頼度格納メモリに保存されているときに、前記更新した推定語の信頼度に従って推定語を生成することを特徴とする請求項１記載の復号装置。
【請求項９】
パリティ検査行列に応じて符号化されたデータの信頼度情報に基づいて前記データを復号する復号装置であって、
前記データに対する第一の検出処理に対応する信頼度情報を保存する信頼度格納メモリと、
行処理を行うことにより行処理出力値を演算する行処理演算器と、
列処理を行うことにより前記列処理出力値を演算する列処理演算器と、
前記列処理出力値を保存する列処理出力値格納メモリとを備え、
前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、
前記列処理演算器は、前記行処理演算器によって演算された前記行処理出力値と前記信頼度格納メモリに保存された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、
前記列処理出力値格納メモリは、前記第一の検出処理に基づいて生成された前記信頼度情報を用いて前記列処理演算器によって演算された列処理出力値を保存し、
前記行処理演算器は、前記第一の検出処理と同一の前記データに対する第二の検出処理に基づいて生成された信頼度情報を用いた復号が行われる際に、前記列処理出力値格納メモリに保存された前記列処理出力値を前記行処理の初期値として用いることを特徴とする復号装置。
【請求項１０】
パリティ検査行列に応じて符号化されたデータの信頼度情報に基づいて前記データを復号する復号装置であって、
前記データに対する第一の検出処理に対応する信頼度情報を保存する信頼度格納メモリと、
行処理を行うことにより行処理出力値を演算する行処理演算器と、
列処理を行うことにより前記列処理出力値を演算する列処理演算器と、
前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、
前記第一の検出処理に対応する前記信頼度情報から生成された前記推定語の信頼度を保存する推定語信頼度格納メモリとを備え、
前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、
前記列処理演算器は、前記行処理演算器によって演算された前記行処理出力値と前記信頼度格納メモリに保存された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、
前記信頼度格納メモリは、前記第一の検出処理に対応する信頼度情報を用いた復号処理の完了後に、前記第一の検出処理と同一の前記データに対する第二の検出処理に基づいて生成された信頼度情報を保存し、
前記列処理演算器は、前記信頼度格納メモリに保存された前記第二の検出処理に基づいて生成された信頼度情報を用いて前記列処理出力値を演算し、
前記推定語生成器は、前記第二の検出処理に基づいて生成された信頼度情報を用いた復号が行われる際に、前記推定語信頼度格納メモリに保存された前記第一の検出処理に対応する前記信頼度情報から生成された推定語の信頼度と、前記第二の検出処理に基づいて生成された信頼度情報及び前記行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度を更新し、前記更新した推定語信の頼度に従って推定語を生成することを特徴とする復号装置。
【請求項１１】
パリティ検査行列に応じて符号化されたデータの信頼度情報に基づいて前記データを復号する復号装置であって、
入力された前記データの前記信頼度情報、列処理を行うことにより演算された列処理出力値、及び信頼度情報と行処理出力値とに基づいて生成された推定語の信頼度のうちの少なくとも１つを保存するメモリと、
前記信頼度情報、前記列処理出力値及び前記推定語の信頼度のうちの少なくとも１つを用いて、前記データに対する第一の検出処理に基づいて生成された信頼度情報を用いた復号処理、及び前記第一の検出処理と同一の前記データに対する第二の検出処理に基づいて生成された信頼度情報を用いた復号処理を行う復号処理部とを備えることを特徴とする復号装置。
【請求項１２】
パリティ検査行列に応じて符号化されたデータの信頼度情報に基づいて前記データを復号する復号方法であって、
前記データに対する第一の検出処理に対応する前記信頼度情報を生成する信頼度生成ステップと、
前記信頼度情報を信頼度格納メモリに保存する信頼度格納ステップと、
行処理を行うことにより行処理出力値を演算する行処理演算ステップと、
列処理を行うことにより前記列処理出力値を演算する列処理演算ステップとを含み、
前記行処理演算ステップは、前記列処理演算ステップにおいて演算された前記列処理出力値を用いて、行処理を行うことにより行処理出力値を演算し、
前記列処理演算ステップは、前記行処理演算ステップにおいて演算された前記行処理出力値と前記信頼度生成ステップにおいて生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、
前記信頼度生成ステップは、前記第一の検出処理と同一の前記データに対する第二の検出処理に対応する信頼度情報を生成し、前記第一の検出処理に対応する信頼度情報と、前記第二の検出処理に対応する信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、
前記列処理演算ステップは、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報を用いて前記列処理出力値を演算することを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤りが発生した箇所について複数の信号を利用してデータを復号する復号装置及び復号方法に関するものである。
【背景技術】
【０００２】
近年、磁気ディスク装置又は光ディスク装置などの記憶装置の高密度化に伴い、記憶装置から読み出された信号から正確にデータを取得するための種々の技術が適用されている。従来の技術としては、誤り検出、訂正処理、及び再生エラーが検出された際に再生動作のリトライを行うリトライ処理などが、利用されている。例えば、光ディスク装置におけるリトライ処理では、フォーカスオフセット又は信号振幅などの各種リトライパラメータが変更されて誤り箇所が再度再生されることによって、再生データの信号品質を向上させている。【０００３】
更に、信号品質を向上させる技術としては、同一領域を複数回再生し、メモリ回路を用いて同一波形の加算平均を算出する手法（例えば、特許文献１及び特許文献２参照）、又は、読み出した複数のデータを比較して最も頻度が高いデータを採用する多数決手法（例えば、特許文献３及び特許文献４参照）がある。【０００４】
近年、衛星放送規格又は次世代通信規格などでは、強力な誤り訂正符号としてＬＤＰＣ（Ｌｏｗ−Ｄｅｎｓｉｔｙ−Ｐａｒｉｔｙ−Ｃｈｅｃｋ）符号が採用されている。ＬＤＰＣ符号では、従来の代数的な誤り訂正符号とは異なり、復号処理に確率推論計算を利用することで、シャノン限界に近い性能を獲得している。この様な誤り訂正技術を用いることで、エラーレートが非常に悪い再生信号に対しても誤り訂正を行うことができる。そのため、記録密度の向上及び通信容量の向上などを目的とする多くの分野で、上記の誤り訂正技術の応用が始まっている。【０００５】
しかしながら、この誤り訂正技術を用いるような再生系では、再生信号の品質が悪い。そのため、複数の再生信号を毎回同一のタイミングでサンプリングすることは非常に困難である。特許文献１及び特許文献２に開示されている従来の構成では、複数の再生信号を平均化する必要があるため、正確に同一のタイミングで複数回再生する必要がある。しかしながら、再生信号の品質が悪い場合には、同一のタイミングで再生することは非常に難しく、極端なケースでは同期回路（ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路）でのビットスリップなどが発生する。これによって、波形のサンプリングに同期ずれが発生し、再生性能が大きく劣化するという課題を有していた。【０００６】
このビットスリップが発生する場合について、図１７及び図１８を用いて簡単に説明する。図１７は、正常時のサンプリングデータの一例を示す図であり、図１８は、同期ずれが発生した場合のサンプリングデータの一例を示す図である。特許文献２に記載の光ディスク記録再生装置では、光ディスクから読み出した再生信号をＡ／Ｄ変換器でデジタル値に変換したデジタル信号がメモリに保存され、２つの再生波形を用いて平均処理が行われる。図１７に示すように、同期ずれが発生せず正常時に適切なサンプリングタイミングで再生信号が取得されれば、最大で３ｄＢのＳ／Ｎ比の改善効果を得ることができる。【０００７】
これに対して、同期ずれ（タイミングずれ）が発生すると、図１８に示すように、１回目の再生波形と２回目の再生波形とを用いて正しく平均化できなくなり、複数回再生することによって、１回だけ再生した場合よりもエラーレートを悪化させてしまう。更には、同期ずれを起こして平均化された再生信号の波形は、本来の再生レベルとは全く異なった波形となる。そのため、信号処理系は、同期パターン等による再生信号の通常の同期処理を行うことができず、誤り訂正器に正確なタイミングで信号を送ることができなくなる。【０００８】
従来の複数回の再生が行われる装置において上記の課題が発生する本質的な原因は、再生された信号を同期処理の前に平均化することに由来する。ＬＤＰＣ符号を用いるようなシステムでは、誤り訂正の前の再生信号のエラーレートが高く、上記の課題は、ますます深刻なものとなる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−２４２９０７号公報
【特許文献２】特許第４００６４４６号公報
【特許文献３】特開２００２−９３０６８号公報
【特許文献４】特開２００３−１４１８２２号公報
【発明の概要】
【００１０】
本発明は、上記の問題を解決するためになされたもので、復号されたデータのエラーレートを低減することができ、Ｓ／Ｎを向上させることができる復号装置及び復号方法を提供することを目的とするものである。
【００１１】
本発明の一局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、入力された前記データに基づいて前記信頼度情報を生成する信頼度生成器と、前記信頼度情報を保存する信頼度格納メモリと、列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する行処理演算器と、前記行処理出力値と前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算する列処理演算器と、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、前記信頼度生成器は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、前記信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、前記列処理演算器は、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報と前記行処理出力値とを用いて前記列処理出力値を演算する。
【００１２】
この構成によれば、信頼度生成器は、入力されたデータに基づいて信頼度情報を生成する。信頼度格納メモリは、信頼度情報を保存する。行処理演算器は、列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器は、行処理出力値と信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。制御器は、同一のデータブロックの信頼度情報を信頼度格納メモリに複数回入力する。信頼度生成器は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して信頼度格納メモリに保存する。列処理演算器は、信頼度格納メモリに保存された新たに生成された信頼度情報と行処理出力値とを用いて列処理出力値を演算する。
【００１３】
本発明によれば、誤り訂正前のエラーレートの高いデータに対して、同一のデータブロックの信頼度情報を用いて復号が複数回行われるので、復号されたデータのエラーレートを低減することができ、Ｓ／Ｎを向上させることができる。
【００１４】
本発明の目的、特徴及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１に係る光ディスク装置の構成を示す図である。
【図２】本発明の実施の形態１に係る誤り訂正器の詳細な構成を示す図である。
【図３】データブロック毎に繰返しデータを再生する処理について説明するための図である。
【図４】複数のデータブロックを１つの再生単位としてデータを再生する処理について説明するための図である。
【図５】本発明の実施の形態１における誤り訂正器の復号処理について説明するための第１のフローチャートである。
【図６】本発明の実施の形態１における誤り訂正器の復号処理について説明するための第２のフローチャートである。
【図７】本発明の実施の形態１における誤り訂正器によって得られるＢＥＲ（符号誤り率）特性を示す図である。
【図８】本発明の実施の形態２に係る誤り訂正器の詳細な構成を示す図である。
【図９】本発明の実施の形態２における誤り訂正器の復号処理について説明するための第１のフローチャートである。
【図１０】本発明の実施の形態２における誤り訂正器の復号処理について説明するための第２のフローチャートである。
【図１１】本発明の実施の形態３における誤り訂正器の復号処理について説明するための第１のフローチャートである。
【図１２】本発明の実施の形態３における誤り訂正器の復号処理について説明するための第２のフローチャートである。
【図１３】本発明の実施の形態４に係る誤り訂正器の詳細な構成を表す図である。
【図１４】本発明の実施の形態４における誤り訂正器の復号処理について説明するための第１のフローチャートである。
【図１５】本発明の実施の形態４における誤り訂正器の復号処理について説明するための第２のフローチャートである。
【図１６】本発明の実施の形態１〜４に係る情報通信システムの構成を示す図である。
【図１７】正常時のサンプリングデータの一例を示す図である。
【図１８】同期ずれが発生した場合のサンプリングデータの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定するものではない。
【００１７】
（実施の形態１）
以下、本発明の実施の形態１に係る復号装置及び復号方法について図面を参照しながら詳細に説明する。
【００１８】
図１は、本発明の実施の形態１に係る光ディスク装置の構成を示す図である。図１に示す光ディスク装置は、光ピックアップ１０２、プリアンプ１０３、Ａ／Ｄ変換器１０４、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路１０５、波形等化器１０６、ビタビ復号器１０７、同期信号検出器１０８、復調器１０９、誤り訂正器１１０、ウォブル検出器１１１、アドレス検出器１１２、スピンドルモータ１１３、モータドライバ１１４、サーボコントローラ１１５及びシステムコントローラ１１６を備える。
【００１９】
光ピックアップ１０２は、光ディスク１０１に光を照射するとともに、光ディスク１０１からの反射光を検出し、検出した反射光に応じた再生信号を出力する。プリアンプ１０３は、光ピックアップ１０２からの再生信号を増幅する。Ａ／Ｄ変換器１０４は、プリアンプ１０３からの出力をサンプリングする。ＰＬＬ回路１０５は、Ａ／Ｄ変換器１０４にクロックを供給する。波形等化器１０６は、Ａ／Ｄ変換器１０４からのサンプリングデータの波形整形を行う。ビタビ復号器１０７は、波形等化器１０６からの出力データを基に最尤復号を行う。同期信号検出器１０８は、ビタビ復号器１０７の復号結果から同期信号を検出する。復調器１０９は、同期信号を基準として復号結果を復調する。誤り訂正器１１０は、復調結果を誤り訂正処理する。
【００２０】
ウォブル検出器１１１は、光ディスク１０１の案内溝の蛇行成分を検出し、ウォブル信号を出力する。アドレス検出器１１２は、ウォブル検出器１１１から出力されたウォブル信号からアドレス情報を検出する。スピンドルモータ１１３は、光ディスク１０１を回転させる。モータドライバ１１４は、スピンドルモータ１１３及び光ピックアップ１０２を駆動する。サーボコントローラ１１５は、モータドライバ１１４を制御する。システムコントローラ１１６は、図示しないホストコンピュータに対して情報を送受信するとともに、光ディスク装置内の各回路に対する動作の制御及び各種設定を行う。
【００２１】
図１において、光ピックアップ１０２とプリアンプ１０３とを介して再生された記録媒体である光ディスク１０１からの再生信号は、Ａ／Ｄ変換器１０４に入力し、デジタル信号に変換される。波形等化器１０６は、入力したデジタル信号に対し、再生系の周波数特性が所定のＰＲ等化方式になるように波形整形を行う。波形が整形されたデジタル信号は、ビタビ復号器１０７によって、最も確からしいデータに復号される。
【００２２】
ＰＬＬ回路１０５は、再生信号に同期する再生クロックを生成する。Ａ／Ｄ変換器１０４以降の回路は、ＰＬＬ回路１０５から供給される再生クロックに従って動作する。同期信号検出器１０８は、ビタビ復号器１０７から出力された復号データから同期信号を検出し、同期信号の検出タイミングを復調器１０９へ出力する。復調器１０９は、同期信号の検出タイミングを基準位置として、光ディスク１０１上の記録パターンの形式から記録情報の形式へ復号データを復調する。誤り訂正器１１０は、同期処理され復調された再生データに対して誤り訂正処理を行う。
【００２３】
データは、複数のデータブロックで構成される。誤り訂正処理が完了した復号データは、システムコントローラ１１６によって、図示しないインターフェイスを通じてホストコンピュータへ転送される。
【００２４】
ウォブル検出器１１１は、光ピックアップ１０２で検出された信号から光ディスク１０１の案内溝の蛇行成分を検出する。具体的には、光ピックアップ１０２は、光ディスク１０１の案内溝に沿って分割された少なくとも２つの受光素子を備える。２つの受光素子は、光ディスク１０１からの反射光をそれぞれ検出する。２つの受光素子の差信号はプッシュプル信号と呼ばれ、これがウォブル成分を反映した信号となる。光ディスク１０１には、データを記録するためのトラックがプリグルーブとして予め形成されている。プリグループの側壁は、アドレス情報等を変調したウォブル信号により蛇行している。記録時又は再生時に反射光情報として得られるウォブル情報から、光ディスク１０１の所定の位置へのデータの記録又は再生を可能とするウォブルアドレスを読み取ることができる。
【００２５】
アドレス検出器１１２は、ウォブル検出器１１１で検出されたウォブル信号からウォブルアドレスを検出し、アドレスデータを復調する。復調されたアドレスデータは、システムコントローラ１１６に供給される。目的のアドレスにシーク動作をする際には、システムコントローラ１１６は、供給されたアドレスデータに基づいて、サーボコントローラ１１５及びモータドライバ１１４を介してスピンドルモータ１１３、光ピックアップ１０２及び図示しない光ピックアップ駆動部を制御する。これにより、システムコントローラ１１６は、光ピックアップ１０２を目的のアドレスに移動させる。
【００２６】
なお、上記の光ディスク装置は、ウォブル信号からアドレスデータを読み取っているが、デジタル信号（ＲＦ信号）に埋め込まれたアドレス情報を読み取っても良い。
【００２７】
図２は、本発明の実施の形態１に係る誤り訂正器１１０の詳細な構成を示す図である。誤り訂正器１１０は、複数のデータブロックで構成されたデータが入力され、データブロック内でパリティ検査行列によって符号化されたデータの信頼度情報に基づいてデータを復号する。
【００２８】
誤り訂正器１１０は、信頼度生成器２０１、信頼度格納メモリ２０２、行処理演算器２０３、列処理演算器２０４、第１の列処理出力値格納メモリ２０５、推定語生成器２０６、推定語格納メモリ２０７、復号結果判定器２０８、第２の列処理出力値格納メモリ２０９及び制御器２１１を備える。
【００２９】
信頼度生成器２０１は、復調器１０９からの再生データｙｉの信頼度λｎを生成する。信頼度格納メモリ２０２は、信頼度生成器２０１によって生成された信頼度λｎを保存する。行処理演算器２０３は、パリティ検査行列の行処理を行う。行処理演算器２０３は、列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器２０４は、パリティ検査行列の列処理を行う。列処理演算器２０４は、行処理出力値と信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。第１の列処理出力値格納メモリ２０５は、列処理演算器２０４によって演算された列処理出力値βｍｎを保存する。
【００３０】
推定語生成器２０６は、信頼度格納メモリ２０２に保存されている信頼度λｎと、行処理演算器２０３によって演算された行処理出力値αｍｎとに基づいて推定語ｘｎを生成する。推定語格納メモリ２０７は、推定語生成器２０６によって生成された推定語ｘｎを保存する。復号結果判定器２０８は、推定語ｘｎ、推定語信頼度Ｌｎ又は列処理出力値βｍｎなどに基づいて復号結果を判定する。なお、本実施の形態では、復号結果判定器２０８は、推定語格納メモリ２０７に保存された推定語ｘｎに基づいて復号結果を判定する。
【００３１】
第２の列処理出力値格納メモリ２０９は、繰返し再生処理時に、列処理出力値βｍｎを保存する。
【００３２】
制御器２１１は、複数のメモリ及び複数の演算処理回路によって構成される全体システム２１０に対する実行の指示及び制御などの各種処理作業を統括する。制御器２１１は、同一のデータブロックの信頼度情報を信頼度格納メモリ２０２に複数回入力する。制御器２１１は、図１に示すシステムコントローラ１１６で構成されても良いし、システムコントローラ１１６以外の他のプロセッサで構成されても良い。なお、本実施の形態において、各格納メモリは、演算処理回路とは別の外部メモリ装置であっても良いし、フリップフロップなどの回路素子を用いたレジスタのような記憶装置であっても良い。
【００３３】
第２の列処理出力値格納メモリ２０９は、前回入力された信頼度情報に基づいて列処理演算器２０４によって演算された列処理出力値を保存する。行処理演算器２０３は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、第２の列処理出力値格納メモリ２０９に保存された前回の列処理出力値を行処理の初期値として用いる。
【００３４】
また、行処理演算器２０３は、列処理演算器２０４によって演算された列処理出力値を用いて行処理出力値を繰り返し演算する。制御器２１１は、行処理演算器２０３による行処理出力値の演算処理回数を監視する。演算処理回数が所定の回数に到達した場合、制御器２１１は、前回と同一のデータブロックの信頼度情報を信頼度生成器２０１に生成させ、生成した信頼度情報を信頼度格納メモリ２０２に入力させる。
【００３５】
また、制御器２１１は、復号結果判定器２０８による判定結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリ２０２に保存されている信頼度情報を用いて再度復号処理を行う。
【００３６】
また、復号結果判定器２０８は、信頼度情報と行処理出力値とに基づいて生成される推定語が正しく復号されていることを検査するパリティ検査器を含んでも良い。この場合、制御器２１１は、パリティ検査器による検査結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリ２０２に保存されている信頼度情報を用いて再度復号処理を行う。
【００３７】
さらに、復号結果判定器２０８は、列処理出力値、行処理出力値又は推定語信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定しても良い。この場合、制御器２１１は、復号結果判定器２０８による判定結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリ２０２に保存されている信頼度情報を用いて再度復号処理を行う。
【００３８】
まず、本実施の形態の誤り訂正器１１０に、再生データｙｉが１回入力されたときの復号処理について、図２の構成に従って説明する。
【００３９】
信頼度生成器２０１は、復調器１０９から出力された再生データｙｉを、誤り訂正処理で扱える信頼度の形式に変換する。例えば、通信路モデルをＡＷＧＮ（加法的白色ガウス雑音）通信路とした場合、信頼度生成器２０１は、下記の式（１）に示すように、再生データｙｉと通信路の雑音σ２とから信頼度λｎを算出する。
【００４０】
0005884031.tif 000002
【００４１】
信頼度λｎは、再生データｙｉの尤もらしさを表す指標であれば、通信路の条件付き確率の比を用いても良いし、対数尤度比を用いても良い。対数尤度比を用いることで、演算処理が簡略化できる。なお、再生データｙｉは、軟判定情報でも良いし、硬判定情報でも良い。
【００４２】
信頼度生成器２０１は、生成した信頼度λｎを信頼度格納メモリ２０２に保存する。信頼度格納メモリ２０２に保存された信頼度λｎは、復号処理時に、列処理演算器２０４と推定語生成器２０６とに出力される。
【００４３】
行処理演算器２０３は、第１の列処理出力値格納メモリ２０５に保存されている列処理出力値βｍｎを用い、下記の式（２）に従ってパリティ検査行列の列の各要素について演算処理（行処理）を行い、演算処理結果を行処理出力値αｍｎとして出力する。
【００４４】
0005884031.tif 000003
【００４５】
ここで、Ａ（ｍ）は、パリティ検査行列Ｈのｍ行目において値が１である列インデックスの集合を表し、Ａ（ｍ）＼ｎは、集合Ａ（ｍ）からｎを取り去って得られる集合差を表す。行処理出力値αｍｎについては、ｎ’≠ｎである。なお、本実施の形態では、光ディスク装置は、行処理出力値αｍｎを保存するための行処理出力値格納メモリを備えていないが、光ディスク装置は、行処理出力値格納メモリを備えても良い。また、関数ｓｉｇｎ（ｘ）及びｆ（ｘ）は、下記の式（３）及び式（４）で定義される。
【００４６】
0005884031.tif 000004
【００４７】
0005884031.tif 000005
【００４８】
列処理演算器２０４は、下記の式（５）に従って、信頼度格納メモリ２０２に保存されている信頼度λｎと、行処理演算器２０３から出力される行処理出力値αｍｎとを用いて演算処理（列処理）を行い、演算処理結果を列処理出力値βｍｎとして出力する。列処理演算器２０４は、列処理出力値βｍｎを第１の列処理出力値格納メモリ２０５に保存する。
【００４９】
0005884031.tif 000006
【００５０】
ここで、Ｂ（ｎ）は、パリティ検査行列Ｈのｎ列目において値が１である行インデックスの集合を表し、Ｂ（ｎ）＼ｍは、集合Ｂ（ｎ）からｍを取り去って得られる集合差を表す。列処理出力値βｍｎについては、ｍ’≠ｍである。
【００５１】
推定語生成器２０６は、信頼度格納メモリ２０２に保存されている信頼度λｎと、行処理演算器２０３から出力される行処理出力値αｍｎとを用い、下記の式（６）に基づいて推定語信頼度Ｌｎを算出する。式（６）が式（５）と異なる点は、推定語信頼度Ｌｎの演算には、パリティ検査行列の要素ｍから要素ｎへの行処理出力値αｍｎ自身の値も加える点である。
【００５２】
0005884031.tif 000007
【００５３】
推定語信頼度Ｌｎの絶対値は、推定の信頼性を表し、推定語信頼度Ｌｎの絶対値が大きいほど推定の信頼性が高いことを示す。推定語生成器２０６は、下記の式（７）に従い、推定語信頼度Ｌｎの値が正であれば推定語ｘｎの値を「０」に決定し、推定語信頼度Ｌｎの値が負であれば推定語ｘｎの値を「１」に決定し、決定した推定語ｘｎを出力する。推定語生成器２０６は、推定語ｘｎを推定語格納メモリ２０７に保存する。
【００５４】
0005884031.tif 000008
【００５５】
復号結果判定器２０８は、推定語格納メモリ２０７に格納された推定語ｘｎが正しく復号されたか否かを判定する。制御器２１１は、復号結果判定器２０８の判定結果と、後述する処理ループ回数とに基づいて、復号処理を終了するか、引き続き繰返し復号処理を行うかを判断する。引き続き繰返し復号処理を行う場合は、行処理演算器２０３は、第１の列処理出力値格納メモリ２０５に保存した列処理出力値βｍｎを用いて行処理を行い、行処理出力値αｍｎを更新する。そして、列処理演算器２０４は、更新された行処理出力値αｍｎと信頼度λｎとを用いて列処理出力値βｍｎを更新する。また、推定語生成器２０６は、更新された行処理出力値αｍｎと信頼度λｎとを用いて推定語信頼度Ｌｎを更新し、推定語信頼度Ｌｎから推定語ｘｎを生成する。この詳しいシーケンスについては、フローチャートを用いて後ほど詳しく説明をする。
【００５６】
具体的には、復号結果判定器２０８は、例えば、推定語ｘｎに対してパリティ検査を行い、パリティ検査条件を満たしている場合は、推定語ｘｎに誤りが無いと判定する。または、復号結果判定器２０８は、推定語信頼度Ｌｎを用いて判定しても良い。すなわち、復号結果判定器２０８は、全ての推定語信頼度Ｌｎの絶対値の平均値が所定の条件を満たす場合、例えば全ての推定語信頼度Ｌｎの絶対値の平均値が所定の値以上である場合、推定語はｘｎ確率的に正しいと判定しても良い。推定語信頼度Ｌｎの代わりに、行処理出力値αｍｎ又は列処理出力値βｍｎを用いても判定可能である。これ以外にも、予めデータブロック内にエラーを判定できるエラー検出符号を埋め込み、エラー検出符号の検出結果に基づいて判定することもできる。本実施の形態における復号結果判定器２０８は、データブロックがエラーであることが判定可能であれば、どのような構成でも本実施の形態を実現でき、同様の効果を得ることができる。
【００５７】
復号処理が終了すると、復号判定結果及び復号データが誤り訂正器１１０の外部に出力される。これらの各種処理作業は、制御器２１１の制御に基づいて実行される。
【００５８】
次に、本実施の形態の誤り訂正器１１０に、再生データｙｉが複数回入力されたときの復号処理（繰返し再生処理）について、図２の構成に従って説明する。
【００５９】
前述の再生データｙｉが１回入力されたときの復号処理において、予め設定した処理ループ回数の復号処理を行っても復号結果判定器２０８によりエラーがあると判定された場合、制御器２１１は、入力された再生データに対する復号処理では誤り訂正が不可能と判断し、前回と同一のデータブロックを再度再生する。前回と同一のデータブロックの再生は、アドレス検出器１１２で検出されたアドレス情報に基づいて行われる。
【００６０】
信頼度生成器２０１は、前回と同一のデータブロックが再生されることにより得られた２回目の再生データｙ２ｉから、下記の式（８）に従って２回目の再生データｙ２ｉに対する信頼度λ２ｎを生成する。信頼度生成器２０１は、生成した信頼度λ２ｎを信頼度格納メモリ２０２に保存する。
【００６１】
0005884031.tif 000009
【００６２】
次に、行処理演算器２０３は、行処理出力値αｍｎを求める。ここで、２回目の復号処理が１回目の復号処理と異なる点は、１回目の復号処理では、行処理演算器２０３は、“０”を列処理出力値βｍｎの初期値として演算するのに対して、２回目の復号処理では、行処理演算器２０３は、１回目の復号処理の列処理出力値βｍｎの最終値を初期値として演算する点である。
【００６３】
１回目の復号処理の列処理出力値の最終値をβ１ｍｎとすると、２回目の行処理出力値α２ｍｎは、下記の式（９）に示すように、１回目の復号処理の行処理出力値の最終値α１ｍｎと等しくなる。
【００６４】
0005884031.tif 000010
【００６５】
これより、２回目の復号処理における列処理出力値β２ｍｎ及び推定語信頼度Ｌ２ｎは、下記の式（１０）及び式（１１）に従って求められる。
【００６６】
0005884031.tif 000011
【００６７】
0005884031.tif 000012
【００６８】
ここで、２回目の復号処理の列処理出力値β２ｍｎ及び推定語信頼度Ｌ２ｎは、１回目の再生信号のエネルギー（α１ｍ’ｎ）と２回目の再生信号のエネルギー（λ２ｎ）との両方を用いている。そのため、それぞれの再生信号だけで得られる信頼度に比べて、より高い信頼度を得ることが可能となる。
【００６９】
図３及び図４は、本実施の形態１において繰返しデータを再生する処理について説明するための図であり、図３は、データブロック毎に繰返しデータを再生する処理について説明するための図であり、図４は、複数のデータブロックを１つの再生単位としてデータを再生する処理について説明するための図である。
【００７０】
図３に示すようにデータブロック毎に繰返しデータが再生される場合は、列処理演算器２０４は、列処理出力値βｍｎを上書き更新することが可能である。そのため、誤り訂正器１１０は、１つの第１の列処理出力値格納メモリ２０５を備えれば良い。
【００７１】
これに対して、図４に示すように、複数のデータブロックを１つの再生単位として繰返しデータが再生される場合は、列処理演算器２０４は、復号判定結果がエラーだったデータブロックの列処理出力値βｍｎだけを抽出して保存する必要がある。そのため、列処理演算器２０４は、第１の列処理出力値格納メモリ２０５内の異なるメモリ空間か、あるいは第２の列処理出力値格納メモリ２０９を使用する。
【００７２】
繰返しデータが再生される際に、制御器２１１は、第１の列処理出力値格納メモリ２０５内の異なるメモリ空間又は第２の列処理出力値格納メモリ２０９に保存していた列処理出力値βｍｎを第１の列処理出力値格納メモリ２０５に移す。これにより、前回の復号処理ループの列処理出力値βｍｎの最終値を、次回の復号処理ループの列処理出力値βｍｎの初期値として使用することができる。
【００７３】
なお、第１の列処理出力値格納メモリ２０５の記憶容量にはシステム構成上、一定の上限があるケースが殆どである。そのため、第１の列処理出力値格納メモリ２０５の使用状況に応じて繰返し再生処理を制御することによって、より高速な再生を実現できる。具体的には、第１の列処理出力値格納メモリ２０５の記憶容量が上限に達した際に、繰返し再生処理に移行する制御が行われることが、より好ましい。繰返し再生処理に移行するまでの時間は、データ再生の遅延時間となるのでデータ再生の遅延時間を考慮した制御が行われることが、より望ましい。
【００７４】
このように、複数のデータブロックを１つの再生単位として繰返しデータを再生する方法は、無駄なシーク時間及び回転待ち時間を減らし、転送速度の大幅な低下を防ぐ利点がある。さらに、処理時間の主要因である回転待ち時間をできるだけ少なくするように、繰返しデータが再生されるデータブロックの長さを調整することで、さらに転送速度の低下を防ぐことができる。なお、同一のデータブロックを複数回再生する制御は、制御器２１１からの命令により行われる。
【００７５】
次に、本発明の実施の形態１における誤り訂正器１１０の復号処理について説明する。図５及び図６は、本発明の実施の形態１における誤り訂正器の復号処理について説明するためのフローチャートである。
【００７６】
まず、制御器２１１は、初期設定として、復号処理のループ回数、繰返し再生処理の回数及び列処理出力値βｍｎの初期設定を行う（ステップＳ１）。復号処理のループ回数は、列処理演算器２０４で生成された列処理出力値βｍｎを用いて再び行処理演算器２０３で行処理出力値αｍｎを生成する処理が繰返される回数である。制御器２１１は、復号処理のループ回数として、予め所定の最大回数を設定する。繰返し再生処理の回数は、同一のデータブロックを繰返し再生する回数である。制御器２１１は、繰返し再生処理の回数として、予め所定の最大回数を設定する。前述の通り、制御器２１１は、１回目の再生処理時において、列処理出力値βｍｎを０に設定する。
【００７７】
次に、信頼度生成器２０１は、受信した再生データ系列に従って、信頼度λｎを生成する（ステップＳ２）。
【００７８】
次に、信頼度生成器２０１は、生成した信頼度λｎを信頼度格納メモリ２０２に保存する（ステップＳ３）。
【００７９】
次に、行処理演算器２０３は、行処理を行うことにより、列処理出力値βｍｎから行処理出力値αｍｎを演算する（ステップＳ４）。なお、前記の通り、初回再生時における列処理出力値βｍｎは０に設定される。
【００８０】
次に、列処理演算器２０４は、列処理を行うことにより、信頼度λｎ及び行処理出力値αｍｎから列処理出力値βｍｎを演算する（ステップＳ５）。
【００８１】
次に、列処理演算器２０４は、演算した列処理出力値βｍｎを第１の列処理出力値格納メモリ２０５に保存する（ステップＳ６）。
【００８２】
次に、推定語生成器２０６は、信頼度λｎ及び行処理出力値αｍｎから推定語信頼度Ｌｎを生成し、生成した推定語信頼度Ｌｎの正負の符号に従って推定語ｘｎを生成する（ステップＳ７）。推定語生成器２０６は、推定語信頼度Ｌｎの符号の判定において、例えば推定語信頼度Ｌｎが２の補数で表現されている場合には、最上位の符号ビットの値により、正又は負を判定することができる。
【００８３】
次に、推定語生成器２０６は、生成した推定語ｘｎを推定語格納メモリ２０７に保存する（ステップＳ８）。
【００８４】
推定語ｘｎが全て生成されると、復号結果判定器２０８は、復号結果を判定する（ステップＳ９）。
【００８５】
例えば、パリティ検査により復号結果が判定される場合、復号結果判定器２０８は、ｎビットの推定語（ｘ１、ｘ２、・・・、ｘｎ）の転置行列とパリティ検査行列Ｈとを用いて、Ｈ・（ｘ１、ｘ２、・・・、ｘｎ）Ｔを計算する。復号結果判定器２０８は、この計算の結果、生成されるシンドロームが０であれば、推定語が正しく復号されたと判定し、生成されるシンドロームが０でなければ、推定語が誤って復号されたと判定する。復号結果判定器２０８は、判定結果を制御器２１へ出力する。
【００８６】
あるいは、推定語信頼度Ｌｎを用いて復号結果が判定される場合、推定語信頼度Ｌｎが０より大きい場合に推定語は０であり、逆に推定語信頼度Ｌｎが０より小さい場合に推定語は１であり、推定語信頼度が０に近いほどその推定語の確からしさが小さくなるという定義を利用してもよい。すなわち、復号結果判定器２０８は、全ての推定語信頼度Ｌｎの絶対値の平均値が所定の閾値以上であれば、推定語は確率的に正しいため、正しく復号されていると判定する。一方、復号結果判定器２０８は、全ての推定語信頼度Ｌｎの絶対値の平均値が所定の閾値より小さい場合、誤って復号されていると判定する。
【００８７】
なお、復号結果判定器２０８は、誤り検出用の符号を用いて誤りの数を検出して、復号結果を判定しても良い。
【００８８】
次に、制御器２１１は、復号結果判定器２０８による復号判定の結果、推定語が正しく復号されているか否かを判断する（ステップＳ１０）。ここで、推定語が正しく復号されていると判断された場合（ステップＳ１０でＹＥＳ）、制御器２１１は、判定結果と共に推定語（ｘ１、ｘ２、・・・、ｘｎ）を復号データとして推定語格納メモリ２０７から出力するよう制御する（ステップＳ１１）。
【００８９】
一方、推定語が正しく復号されていないと判断された場合（ステップＳ１０でＮＯ）、制御器２１１は、ループ回数が最大回数であるか否かを判断する（ステップＳ１２）。ここで、ループ回数が最大回数であると判断された場合（ステップＳ１２でＹＥＳ）、制御器２１１は、繰返し再生回数が最大回数であるか否かを判断する（ステップＳ１３）。例えば、制御器２１１は、推定語が生成された回数をカウントし、生成回数が所定の最大回数に到達した場合、その符号についてのループ処理を停止し、繰返し再生回数が最大回数であるか否かを判断する。
【００９０】
また、制御器２１１は、行処理演算器２０３による行処理演算処理回数をカウントし、演算処理回数が所定の最大回数に到達したか否かを判断しても良い。
【００９１】
繰返し再生回数が最大回数であると判断された場合（ステップＳ１３でＹＥＳ）、制御器２１１は、最終的に生成された推定語を復号データとして推定語格納メモリ２０７から出力するよう制御する（ステップＳ１１）。これにより、雑音が多く収束性の悪い符号に対して、不必要な演算処理時間が増加するのを防ぐことができる。
【００９２】
また、ステップＳ１２においてループ回数が最大回数ではないと判断された場合（ステップＳ１２でＮＯ）、制御器２１１は、ループ回数を１だけインクリメントする（ステップＳ１４）。その後、制御器２１１は、ステップＳ２の処理へ戻り、再びステップＳ２以降の処理を実行する。
【００９３】
ステップＳ１３において繰返し再生回数が最大回数ではないと判断された場合（ステップＳ１３でＮＯ）、制御器２１１は、最終的に生成された列処理出力値βｍｎを第２の列処理出力値格納メモリ２０９に保存するよう制御する（ステップＳ１５）。そして、制御器２１１は、ステップＳ１の処理へ戻り、前回と同じ領域（データブロック）を再度再生するよう指示し、前回と同じデータブロックに対応する信頼度を生成し、生成した信頼度を信頼度格納メモリ２０２に保存する処理が繰り返される。このとき、システムコントローラ１１６は、アドレス検出器１１２で検出されたアドレス情報を用いて前回と同じデータブロックを再生する。なお、アドレス情報に基づいてシーク動作を行う際に、ターゲットのアドレスよりも手前の領域にシーク動作を行うことで、前回と同じデータブロックを確実に再生することができる。
【００９４】
第２の列処理出力値格納メモリ２０９に保存した列処理出力値βｍｎは、前回の再生データに対する尤もらしさを表した値である。この値を初期値として、前回と異なる再生データに対して繰返し復号が行われることで、複数回の再生エネルギーを利用できるため、前回の再生時には訂正できなかった誤りを訂正することができる。
【００９５】
図７は、本発明の実施の形態１における誤り訂正器によって得られるＢＥＲ（符号誤り率）特性を示す図である。図７において、縦軸は、繰返し再生回数を示し、横軸は、誤り訂正後に誤り無く再生するために必要な入力信号のＢＥＲの限界値を示している。ここでは、誤り訂正後の信号に含まれるＢＥＲが１Ｅ−１１以下の状態を誤りの無い状態と定義している。
【００９６】
従来の繰返し再生を行わないシステムでは、誤り無く再生することが可能な入力信号のＢＥＲの訂正限界値は、１．７Ｅ−２であった。しかしながら、本実施の形態１の繰返し再生を行うことで、従来の訂正限界値以上に品質が悪い入力信号に対しても誤りの無い再生が可能となった。
【００９７】
また、Ａ／Ｄ変換後に波形を平均処理する従来の方法では、例えば入力信号のＢＥＲが１Ｅ−１の品質レベルであるとき、同期パターンの誤検出又は未検出により同期ずれが多数発生し、誤りの無い再生を行うことができなかった。しかしながら、本実施の形態１の方法では、１Ｅ−１以上に品質が悪い入力信号に対しても誤りの無い再生が可能となり、従来に比べて非常に高い信頼性を得ることができる。
【００９８】
かかる構成によれば、従来の繰返し再生処理を行わないシステムでは誤り訂正できないような品質の悪い信号を有するデータブロックに対して、該データブロックの信頼度情報が複数回入力され、前回の復号結果である列処理出力値βｍｎが次回の復号時に初期値として用いられる。これにより、複数回の再生エネルギーを使用でき、従来できなかったエラーレートの低減を実現することができる。また、復調器１０９において同期ずれのタイミングが補償された再生信号を用いて複数回再生処理が行われるため、従来の課題であった同期ずれを起こした状態での複数回再生処理が行われることは無い。
【００９９】
（実施の形態２）
次に、本発明の実施の形態２に係る復号装置及び復号方法について図面を参照しながら詳細に説明する。
【０１００】
図８は、本発明の実施の形態２に係る誤り訂正器の詳細な構成を示す図である。なお、実施の形態２に係る光ディスク装置の構成は、図１に示す実施の形態１に係る光ディスク装置の構成と同じであるので説明を省略する。また、図８において、図２に示す実施の形態１の誤り訂正器と同一の構成要素については、同一の符号を付し、説明を省略する。図８に示す実施の形態２の誤り訂正器と、図２に示す実施の形態１の誤り訂正器との違いは、誤り訂正器１１０が、第２の列処理出力値格納メモリ２０９の代わりに推定語信頼度格納メモリ５０１を備える点である。
【０１０１】
図８に示す誤り訂正器１１０は、信頼度生成器２０１、信頼度格納メモリ２０２、行処理演算器２０３、列処理演算器２０４、第１の列処理出力値格納メモリ２０５、推定語生成器２０６、推定語格納メモリ２０７、復号結果判定器２０８、制御器２１１及び推定語信頼度格納メモリ５０１を備える。
【０１０２】
推定語信頼度格納メモリ５０１は、推定語生成器２０６によって生成された推定語信頼度Ｌｎを保存する。
【０１０３】
推定語生成器２０６は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、推定語信頼度格納メモリ５０１に保存された前回の推定語信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語信頼度を更新し、更新した推定語信頼度に従って推定語を生成する。
【０１０４】
また、推定語生成器２０６は、推定語信頼度が推定語信頼度格納メモリ５０１に保存されているときに、更新した推定語信頼度に従って推定語を生成する。
【０１０５】
図９及び図１０は、本発明の実施の形態２における誤り訂正器の復号処理について説明するためのフローチャートである。
【０１０６】
図９及び図１０のステップＳ２１〜Ｓ３３の処理は、図５及び図６のステップＳ１〜Ｓ１２，Ｓ１４の処理と同じであるため、説明を省略する。
【０１０７】
本実施の形態２では、入力された再生データに対して、繰返し復号処理を行っても推定語が正しく復号されず（ステップＳ３０でＮＯ）、さらにループ回数が所定の最大回数に到達した場合（ステップＳ３２でＹＥＳ）、制御器２１１は、推定語信頼度格納メモリ５０１に、前回までの推定語信頼度Ｌｎが保存されているか否かを判断する（ステップＳ３４）。
【０１０８】
ここで、推定語信頼度格納メモリ５０１に前回までの推定語信頼度Ｌｎが保存されていないと判断された場合（ステップＳ３４でＮＯ）、推定語生成器２０６は、最終的に生成された推定語信頼度Ｌｎを推定語信頼度格納メモリ５０１に保存する（ステップＳ３５）。そして、制御器２１１は、ステップＳ１の処理へ戻り、前回と同じデータブロックを再度再生する。このとき、システムコントローラ１１６は、アドレス検出器１１２で検出されたアドレス情報を用いて前回と同じ領域（データブロック）を再生する。
【０１０９】
一方、推定語信頼度格納メモリ５０１に前回までの推定語信頼度Ｌｎが保存されていると判断された場合（ステップＳ３４でＹＥＳ）、推定語生成器２０６は、ステップＳ２７において最終的に生成された推定語信頼度Ｌｎと、推定語信頼度格納メモリ５０１に保存されている推定語信頼度Ｌｎとを用い、確率計算に基づいた演算処理によって推定語信頼度Ｌｎ’を生成し、生成した推定語信頼度Ｌｎ’の正負の符号に従って新たな推定語ｘｎ’を生成する（ステップＳ３６）。
【０１１０】
次に、復号結果判定器２０８は、生成された新たな推定語ｘｎ’を使って復号結果を判定する（ステップＳ３７）。
【０１１１】
次に、制御器２１１は、復号結果判定器２０８による復号判定の結果、推定語が正しく復号されているか否かを判断する（ステップＳ３８）。ここで、推定語が正しく復号されていると判断された場合（ステップＳ３８でＹＥＳ）、制御器２１１は、判定結果と共に推定語ｘｎ’を復号データとして推定語格納メモリ２０７から出力するよう制御する（ステップＳ３１）。
【０１１２】
一方、推定語が正しく復号されていないと判断された場合（ステップＳ３８でＮＯ）、制御器２１１は、繰返し再生回数が最大回数であるか否かを判断する（ステップＳ３９）。ここで、繰返し再生回数が所定の最大回数であると判断された場合（ステップＳ３９でＹＥＳ）、制御器２１１は、判定結果と共に推定語ｘｎ’を復号データとして推定語格納メモリ２０７から出力するよう制御する（ステップＳ３１）。
【０１１３】
一方、繰返し再生回数が所定の最大回数ではないと判断された場合（ステップＳ３９でＮＯ）、推定語生成器２０６は、最終的に生成された推定語信頼度Ｌｎを推定語信頼度格納メモリ５０１に保存する（ステップＳ３５）。そして、制御器２１１は、ステップＳ１の処理へ戻り、前回と同じデータブロックを再度再生する。
【０１１４】
かかる構成によれば、従来の繰返し再生処理を行わないシステムでは誤り訂正できないような品質の悪い信号を有するデータブロックに対して、該データブロックの信頼度情報が複数回入力され、前回の推定語信頼度と、今回の再生データから生成された推定語信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語信頼度が生成され、生成された推定語信頼度を用いて新たな推定語が生成される。これにより、実施の形態１と同様に、複数回の再生エネルギーが使用でき、従来できなかったエラーレートの低減を実現することができる。
【０１１５】
（実施の形態３）
次に、本発明の実施の形態３に係る復号装置及び復号方法について図面を参照しながら詳細に説明する。なお、実施の形態３に係る光ディスク装置の構成は、図１に示す実施の形態１に係る光ディスク装置の構成と同じであるので説明を省略する。
【０１１６】
実施の形態３における誤り訂正器の構成は、図８に示す実施の形態２における誤り訂正器の構成と同じである。そのため、本実施の形態３の誤り訂正器については、図８に示す誤り訂正器を用いて説明する。
【０１１７】
図１１及び図１２は、本発明の実施の形態３における誤り訂正器の復号処理について説明するためのフローチャートである。
【０１１８】
本発明の実施の形態３が、特に実施の形態２と異なる点は、前回と同じデータブロックを再度再生する処理を行う際に、新たな推定語ｘｎ’を生成するステップを、ループ回数が所定の最大回数に到達した後に行うのではなく、復号処理ループ中に行う点である。推定語生成器２０６は、今回生成された推定語信頼度Ｌｎと、推定語信頼度格納メモリ５０１に保存されている推定語信頼度Ｌｎとを用いて確率計算に基づいた演算処理を行うことにより新たな推定語信頼度Ｌｎ’を生成する。そして、推定語生成器２０６は、生成した推定語信頼度Ｌｎ’の正負の符号に従って新たな推定語ｘｎ’を生成する。
【０１１９】
図１１のステップＳ４１からステップＳ４７までの処理は、図５のステップＳ１からステップＳ７までの処理と同じであるため、説明を省略する。
【０１２０】
ステップＳ４７において推定語ｘｎが生成されると、制御器２１１は、推定語信頼度格納メモリ５０１に、前回までの推定語信頼度Ｌｎが保存されているか否かを判断する（ステップＳ４８）。ここで、推定語信頼度格納メモリ５０１に前回までの推定語信頼度Ｌｎが保存されていないと判断された場合（ステップＳ４８でＮＯ）、推定語生成器２０６は、生成された推定語ｘｎを推定語信頼度格納メモリ５０１に保存する（ステップＳ５０）。
【０１２１】
一方、推定語信頼度格納メモリ５０１に前回までの推定語信頼度Ｌｎが保存されていると判断された場合（ステップＳ４８でＹＥＳ）、推定語生成器２０６は、ステップＳ４７において最終的に生成された推定語信頼度Ｌｎと、推定語信頼度格納メモリ５０１に保存されている推定語信頼度Ｌｎとを用い、確率計算に基づいた演算処理によって推定語信頼度Ｌｎ’を生成し、生成した推定語信頼度Ｌｎ’の正負の符号に従って新たな推定語ｘｎ’を生成する（ステップＳ４９）。次に、推定語生成器２０６は、生成した推定語ｘｎ’を推定語格納メモリ２０７に保存する（ステップＳ５０）。
【０１２２】
図１１及び図１２のステップＳ５１からステップＳ５６までの処理は、図５及び図６のステップＳ９からステップＳ１４までの処理と同じであるため、説明を省略する。
【０１２３】
ステップＳ５５において繰返し再生回数が最大回数ではないと判断された場合（ステップＳ５５でＮＯ）、推定語生成器２０６は、最終的に生成された推定語信頼度Ｌｎを推定語信頼度格納メモリ５０１に保存する（ステップＳ５７）。そして、制御器２１１は、ステップＳ１の処理へ戻り、前回と同じデータブロックを再度再生する。
【０１２４】
かかる処理によれば、複数の再生信号から生成された信頼度を用いて新たな信頼度が生成され、生成された新たな信頼度を用いて通常の復号処理ループが実行される。そのため、本発明の実施の形態１及び実施の形態２と同様の効果を得ながら、更に復号処理時間を短縮することができる。
【０１２５】
（実施の形態４）
次に、本発明の実施の形態４に係る復号装置及び復号方法について図面を参照しながら詳細に説明する。
【０１２６】
図１３は、本発明の実施の形態４に係る誤り訂正器の詳細な構成を表す図である。なお、実施の形態４に係る光ディスク装置の構成は、図１に示す実施の形態１に係る光ディスク装置の構成と同じであるので説明を省略する。また、図１３において、図２に示す実施の形態１の誤り訂正器と同の構成要素については、同一の符号を付し、説明を省略する。
【０１２７】
図１３に示す誤り訂正器１１０は、信頼度生成器３０１、信頼度格納メモリ２０２、行処理演算器２０３、列処理演算器２０４、第１の列処理出力値格納メモリ２０５、推定語生成器２０６、推定語格納メモリ２０７、復号結果判定器２０８、第２の列処理出力値格納メモリ２０９及び制御器２１１を備える。
【０１２８】
図１３に示す実施の形態４の誤り訂正器と、図２に示す実施の形態１の誤り訂正器との違いは、信頼度生成器３０１が、信頼度格納メモリ２０２に信頼度情報を格納するだけでなく、信頼度格納メモリ２０２に保存された前回までの信頼度情報を用いて新たな信頼度情報を生成する点である。
【０１２９】
信頼度生成器３０１は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、信頼度格納メモリ２０２に保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を生成して信頼度格納メモリ２０２に保存する。
【０１３０】
列処理演算器２０４は、信頼度格納メモリ２０２に保存された演算処理後の信頼度情報と行処理出力値とを用いて列処理出力値を演算する。
【０１３１】
図１４及び図１５は、本発明の実施の形態４における誤り訂正器の復号処理について説明するためのフローチャートである。
【０１３２】
図１４及び図１５のステップＳ６１，Ｓ６２，Ｓ６５〜Ｓ７７の処理は、図５及び図６のステップＳ１〜Ｓ１５の処理と同じ処理であるため、説明を省略する。
【０１３３】
ステップＳ６２において信頼度λｎが生成されると、信頼度生成器３０１は、信頼度格納メモリ２０２に保存された前回までの信頼度λｎを読み出す（ステップＳ６３）。
【０１３４】
次に、信頼度生成器３０１は、受信した再生データ系列に従って、生成した信頼度λｎと、信頼度格納メモリ２０２から読み出した前回までの信頼度λｎとを用いて確率計算に基づいた演算処理を行うことにより信頼度情報を生成する（ステップＳ６４）。
【０１３５】
なお、信頼度格納メモリ２０２に前回までの信頼度λｎが保存されていない場合、ステップＳ６３及びＳ６４の処理は行われず、生成された信頼度λｎが信頼度格納メモリ２０２に保存される。
【０１３６】
ステップＳ６５以降の処理は実施の形態１における処理と同じであるが、確率計算に基づいた演算処理が行われた信頼度を用いて復号処理が行われる。
【０１３７】
確率計算に基づいた演算処理としては、例えば、信頼度指標を振幅値で定義する場合は信頼度情報を平均処理すれば良いし、信頼度指標を通信路の条件付き確率の比で定義する場合は、確率分布に基づいて平均処理すれば良いし、信頼度指標を対数尤度比で定義する場合は、積算処理すれば良い。
【０１３８】
かかる処理によれば、複数の再生信号から生成された信頼度情報が確率計算に基づいた演算処理により生成されるので、複数回の再生エネルギーを使用でき、従来できなかったエラーレートの低減を実現することができる。
【０１３９】
なお、本実施の形態４において、実施の形態１と同様に、前回の復号結果である列処理出力値βｍｎを次回の復号時に初期値として用いているが、これに限定するものではなく、確率計算に基づいた演算処理によって信頼度を新たに生成する構成だけでも、複数回再生した場合と同等の効果を得ることができる。
【０１４０】
また、本実施の形態４では、誤り訂正器１１０は、第２の列処理出力値格納メモリ２０９を備えているが、本発明は特にこれに限定されない。本実施の形態４における誤り訂正器１１０は、第２の列処理出力値格納メモリ２０９を備えず、実施の形態２及び３における推定語信頼度格納メモリ５０１を備えても良い。
【０１４１】
また、本実施の形態４において、信頼度生成器３０１は、生成した信頼度λｎと、第２の列処理出力値格納メモリ２０５に保存された列処理出力値βｍｎとを用いて新たな信頼度情報を生成しても良い。
【０１４２】
なお、本実施の形態１〜４において、再生動作中の時間を測定し、測定した再生時間が予め設定していた最大時間に達した場合に、復号処理ループ及び繰返し再生処理を終了しても良い。
【０１４３】
なお、本実施の形態１〜４において、光ディスクの回転待ち時間を減らすため、信頼度格納メモリ２０２に信頼度情報系列を所定のデータ量だけ保存してから、以降の復号処理を行っても良い。
【０１４４】
なお、本実施の形態２，３において、新たな推定語信頼度Ｌｎ’の生成方法は、上記の方法に限定されるものではなく、例えば、信頼度が２値情報であれば最も頻度が高い結果を採用することにより、必要なメモリ量を少なくすることができる。
【０１４５】
なお、本実施の形態１〜４において、光ディスクから情報を再生する光ディスク装置を示したが、これに限定するものではなく、図１６のような情報通信システムに復号装置を用いても良い。
【０１４６】
図１６は、本発明の実施の形態１〜４に係る情報通信システムの構成を示す図である。図１６の情報通信システムは、送信装置９０１、通信チャネル９０２及び受信装置９０３を備える。送信装置９０１が送信した通信情報が、通信チャネル９０２を介して受信装置９０３に送信される。通信情報とは、電気信号又は光信号などである。
【０１４７】
受信装置９０３は、プリアンプ１０３、Ａ／Ｄ変換器１０４、ＰＬＬ回路１０５、波形等化器１０６、ビタビ復号器１０７、同期信号検出器１０８、復調器１０９、誤り訂正器１１０、システムコントローラ１１６、受信器９０４及び送信器９０５を備える。なお、図１６において、図１に示す実施の形態１の光ディスク装置と同一の構成要素については、同一の符号を付し、説明を省略する。
【０１４８】
受信器９０４は、送信装置９０１によって送信された通信情報（データ）を受信し、プリアンプ１０３へ出力する。
【０１４９】
送信装置９０１が送信した通信情報に対して、図示しない制御器２１１によって誤り訂正が不可能と判断された場合、送信器９０５は、通信チャネル９０２を介して送信装置９０１に再送命令を送信する。送信装置９０１は、再送命令を受信すると、前回と同じデータブロックの通信情報を再度送信する。受信装置９０３は、実施の形態１〜３で前述したように前回の通信情報と合わせて複数回の復号処理を行う。以上の構成により、情報を送受信する情報通信システムにおいても、複数回の再生エネルギーが使用でき、従来できなかったエラーレートの低減を実現することができる。
【０１５０】
なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。
【０１５１】
本発明の一局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、入力された前記データに基づいて前記信頼度情報を生成する信頼度生成器と、前記信頼度情報を保存する信頼度格納メモリと、行処理を行うことにより行処理出力値を演算する行処理演算器と、列処理を行うことにより列処理出力値を演算する列処理演算器と、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、前記列処理演算器は、前記行処理出力値によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、前記信頼度生成器は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、前記信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、前記列処理演算器は、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報と前記行処理出力値とを用いて前記列処理出力値を演算する。
【０１５２】
この構成によれば、信頼度生成器は、入力されたデータに基づいて信頼度情報を生成する。信頼度格納メモリは、信頼度情報を保存する。行処理演算器は、行処理を行うことにより行処理出力値を演算する。列処理演算器は、列処理を行うことにより列処理出力値を演算する。制御器は、同一のデータブロックの信頼度情報を信頼度格納メモリに複数回入力する。また、行処理演算器は、列処理演算器によって演算された列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器は、行処理出力値によって演算された行処理出力値と信頼度生成器によって生成された信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。信頼度生成器は、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して信頼度格納メモリに保存する。列処理演算器は、信頼度格納メモリに保存された新たに生成された信頼度情報と行処理出力値とを用いて列処理出力値を演算する。
【０１５３】
したがって、誤り訂正前のエラーレートの高いデータに対して、同一のデータブロックの信頼度情報を用いて復号が複数回行われるので、復号されたデータのエラーレートを低減することができ、Ｓ／Ｎを向上させることができる。
【０１５４】
また、上記の復号装置において、前回入力された前記信頼度情報に基づいて前記列処理演算器によって演算された列処理出力値を保存する列処理出力値格納メモリをさらに備え、前記行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記列処理出力値格納メモリに保存された前回の前記列処理出力値を前記行処理の初期値として用いることが好ましい。
【０１５５】
この構成によれば、列処理出力値格納メモリは、前回入力された信頼度情報に基づいて列処理演算器によって演算された列処理出力値を保存する。行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、列処理出力値格納メモリに保存された前回の列処理出力値を行処理の初期値として用いる。
【０１５６】
したがって、列処理出力値格納メモリに保存された列処理出力値は、前回の再生データに対する尤もらしさを表した値であるので、列処理出力値格納メモリに保存された前回の列処理出力値を行処理の初期値として、前回と異なるデータに対して繰返し復号が行われることで、複数回の再生エネルギーを利用することができ、前回の再生時には訂正できなかった誤りを訂正することができる。
【０１５７】
また、上記の復号装置において、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、前記推定語の信頼度を保存する推定語信頼度格納メモリとをさらに備え、前記推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記推定語信頼度格納メモリに保存された前回の推定語の信頼度と、今回入力された信頼度情報及び前記行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度を更新し、前記更新した推定語の信頼度に従って推定語を生成することが好ましい。
【０１５８】
この構成によれば、推定語生成器は、信頼度情報と行処理出力値とに基づいて推定語を生成する。推定語信頼度格納メモリは、推定語の信頼度を保存する。推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、推定語信頼度格納メモリに保存された前回の推定語の信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度を更新し、更新した推定語の信頼度に従って推定語を生成する。
【０１５９】
したがって、エラーレートの高いデータを有するデータブロックに対し、前回の推定語の信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度が更新され、更新された推定語の信頼度に従って推定語が生成されるので、復号されたデータのエラーレートを低減することができ、Ｓ／Ｎを向上させることができる。
【０１６０】
また、上記の復号装置において、前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて行処理出力値を繰り返し演算し、前記制御器は、前記行処理演算器による前記行処理出力値の演算処理回数を監視し、前記演算処理回数が所定の回数に到達した場合、前回と同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに入力させることが好ましい。
【０１６１】
この構成によれば、行処理演算器は、列処理演算器によって演算された列処理出力値を用いて行処理出力値を繰り返し演算する。制御器は、行処理演算器による行処理出力値の演算処理回数を監視し、演算処理回数が所定の回数に到達した場合、前回と同一のデータブロックの信頼度情報を信頼度格納メモリに入力させる。
【０１６２】
したがって、演算処理回数が所定の回数に到達した場合、前回と同一のデータブロックの信頼度情報が信頼度格納メモリに入力されるので、雑音が多く収束性の悪いデータに対して不要な演算処理時間が増加するのを防ぐことができる。
【０１６３】
また、上記の復号装置において、復号結果を判定する復号結果判定器をさらに備え、前記制御器は、前記復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことが好ましい。
【０１６４】
この構成によれば、復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリに保存されている信頼度情報を用いて再度復号処理が行われるので、復号結果に応じて再度復号処理を行うか否かを判断することができる。
【０１６５】
また、上記の復号装置において、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、前記信頼度情報と前記行処理出力値とに基づいて生成される前記推定語が正しく復号されていることを検査するパリティ検査器とをさらに備え、前記制御器は、前記パリティ検査器による検査結果が所定の条件を満たさなかったデータブロックに対して、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことが好ましい。
【０１６６】
この構成によれば、推定語生成器は、頼度情報と行処理出力値とに基づいて推定語を生成する。パリティ検査器は、信頼度情報と行処理出力値とに基づいて生成される推定語が正しく復号されていることを検査する。そして、制御器は、パリティ検査器による検査結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリに保存されている信頼度情報を用いて再度復号処理を行う。
【０１６７】
したがって、パリティ検査器により推定語が正しく復号されていることを検査することができ、検査結果に応じて再度復号処理を行うか否かを判断することができる。
【０１６８】
また、上記の復号装置において、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、前記列処理出力値、前記行処理出力値又は前記推定語の信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定する復号結果判定器とをさらに備え、前記制御器は、前記復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、前記信頼度格納メモリに保存されている前記信頼度情報を用いて再度復号処理を行うことが好ましい。
【０１６９】
この構成によれば、推定語生成器は、頼度情報と行処理出力値とに基づいて推定語を生成する。復号結果判定器は、列処理出力値、行処理出力値又は推定語の信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定する。そして、制御器は、復号結果判定器による判定結果が所定の条件を満たさなかったデータブロックに対して、信頼度格納メモリに保存されている信頼度情報を用いて再度復号処理を行う。
【０１７０】
したがって、列処理出力値、行処理出力値又は推定語の信頼度のいずれかの演算結果と所定の閾値とを比較することにより、復号結果を判定することができ、復号結果に応じて再度復号処理を行うか否かを判断することができる。
【０１７１】
また、上記の復号装置において、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器をさらに備え、前記推定語生成器は、前記推定語の信頼度が前記推定語信頼度格納メモリに保存されているときに、前記更新した推定語の信頼度に従って推定語を生成することが好ましい。
【０１７２】
この構成によれば、推定語の信頼度が推定語信頼度格納メモリに保存されているときに、更新した推定語の信頼度に従って推定語が生成されるので、復号されたデータのエラーレートを低減することができ、Ｓ／Ｎを向上させることができる。
【０１７３】
本発明の他の局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、前記信頼度情報を保存する信頼度格納メモリと、行処理を行うことにより行処理出力値を演算する行処理演算器と、列処理を行うことにより前記列処理出力値を演算する列処理演算器と、前記列処理出力値を保存する列処理出力値格納メモリと、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、前記列処理演算器は、前記行処理出力値によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、前記列処理出力値格納メモリは、前回入力された前記信頼度情報に基づいて前記列処理演算器によって演算された列処理出力値を保存し、前記行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記列処理出力値格納メモリに保存された前回の前記列処理出力値を前記行処理の初期値として用いる。
【０１７４】
この構成によれば、信頼度格納メモリは、信頼度情報を保存する。行処理演算器は、行処理を行うことにより行処理出力値を演算する。列処理演算器は、列処理を行うことにより列処理出力値を演算する。列処理出力値格納メモリは、列処理出力値を保存する。制御器は、同一のデータブロックの信頼度情報を信頼度格納メモリに複数回入力する。また、行処理演算器は、列処理演算器によって演算された列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器は、行処理出力値によって演算された行処理出力値と信頼度生成器によって生成された信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。そして、列処理出力値格納メモリは、前回入力された信頼度情報に基づいて列処理演算器によって演算された列処理出力値を保存する。行処理演算器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、列処理出力値格納メモリに保存された前回の列処理出力値を行処理の初期値として用いる。
【０１７５】
したがって、誤り訂正前のエラーレートの高いデータに対して、同一のデータブロックの信頼度情報を用いて復号が複数回行われるので、復号されたデータのエラーレートを低減することができ、Ｓ／Ｎを向上させることができる。また、列処理出力値格納メモリに保存された列処理出力値は、前回の再生データに対する尤もらしさを表した値であるので、列処理出力値格納メモリに保存された前回の列処理出力値を行処理の初期値として、前回と異なるデータに対して繰返し復号が行われることで、複数回の再生エネルギーを利用することができ、前回の再生時には訂正できなかった誤りを訂正することができる。
【０１７６】
本発明の他の局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、前記信頼度情報を保存する信頼度格納メモリと、行処理を行うことにより行処理出力値を演算する行処理演算器と、列処理を行うことにより前記列処理出力値を演算する列処理演算器と、前記信頼度情報と前記行処理出力値とに基づいて推定語を生成する推定語生成器と、前記推定語の信頼度を保存する推定語信頼度格納メモリと、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御器とを備え、前記行処理演算器は、前記列処理演算器によって演算された前記列処理出力値を用いて、行処理を行うことにより前記行処理出力値を演算し、前記列処理演算器は、前記行処理出力値によって演算された前記行処理出力値と前記信頼度生成器によって生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、前記推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、前記推定語信頼度格納メモリに保存された前回の推定語信頼度と、今回入力された信頼度情報及び前記行処理出力値に基づいて生成された推定語信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語信頼度を更新し、前記更新した推定語信頼度に従って推定語を生成する。
【０１７７】
この構成によれば、信頼度格納メモリは、信頼度情報を保存する。行処理演算器は、行処理を行うことにより行処理出力値を演算する。列処理演算器は、列処理を行うことにより列処理出力値を演算する。推定語生成器は、信頼度情報と行処理出力値とに基づいて推定語を生成する。推定語信頼度格納メモリは、推定語の信頼度を保存する。制御器は、同一のデータブロックの信頼度情報を信頼度格納メモリに複数回入力する。また、行処理演算器は、列処理演算器によって演算された列処理出力値を用いて、行処理を行うことにより行処理出力値を演算する。列処理演算器は、行処理出力値によって演算された行処理出力値と信頼度生成器によって生成された信頼度情報とを用いて、列処理を行うことにより列処理出力値を演算する。そして、推定語生成器は、前回と同一のデータブロックの信頼度情報を用いた復号が行われる際に、推定語信頼度格納メモリに保存された前回の推定語信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語信頼度を更新し、更新した推定語信頼度に従って推定語を生成する。
【０１７８】
したがって、エラーレートの高いデータを有するデータブロックに対し、前回の推定語の信頼度と、今回入力された信頼度情報及び行処理出力値に基づいて生成された推定語の信頼度とに基づいて、確率計算に基づいた演算処理を用いて推定語の信頼度が更新され、更新された推定語の信頼度に従って推定語が生成されるので、復号されたデータのエラーレートを低減することができ、Ｓ／Ｎを向上させることができる。
【０１７９】
本発明の他の局面に係る復号装置は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号装置であって、入力された前記データに基づいて生成された前記信頼度情報、列処理を行うことにより演算された列処理出力値、及び信頼度情報と行処理出力値とに基づいて生成された推定語の信頼度のうちの少なくとも１つを保存するメモリと、前記信頼度情報、前記列処理出力値及び前記推定語の信頼度のうちの少なくとも１つを用いて、同一のデータブロックの前記信頼度情報に対して所定の復号処理を複数回行う復号処理部とを備える。
【０１８０】
この構成によれば、メモリは、入力された前記データに基づいて生成された信頼度情報、列処理を行うことにより演算された列処理出力値、及び信頼度情報と行処理出力値とに基づいて生成された推定語の信頼度のうちの少なくとも１つを保存する。復号処理部は、信頼度情報、列処理出力値及び推定語の信頼度のうちの少なくとも１つを用いて、同一のデータブロックの信頼度情報に対して所定の復号処理を複数回行う。
【０１８１】
したがって、復調器によって同期ずれが補正されたデータに対して、信頼度情報、列処理出力値及び推定語の信頼度のうちの少なくとも１つを用いて、同一のデータブロックの信頼度情報に対して所定の復号処理が複数回行われるので、同期ずれを抑えることができると共に、復号データのＳ／Ｎを向上させることができる。
【０１８２】
本発明の他の局面に係る復号方法は、複数のデータブロックで構成されたデータが入力され、前記データブロック内でパリティ検査行列によって符号化された前記データの信頼度情報に基づいて前記データを復号する復号方法であって、入力された前記データに基づいて前記信頼度情報を生成する信頼度生成ステップと、前記信頼度情報を信頼度格納メモリに保存する信頼度格納ステップと、行処理を行うことにより行処理出力値を演算する行処理演算ステップと、列処理を行うことにより前記列処理出力値を演算する列処理演算ステップと、同一のデータブロックの前記信頼度情報を前記信頼度格納メモリに複数回入力する制御ステップとを含み、前記行処理演算ステップは、前記列処理演算ステップにおいて演算された前記列処理出力値を用いて、行処理を行うことにより行処理出力値を演算し、前記列処理演算ステップは、前記行処理出力ステップにおいて演算された前記行処理出力値と前記信頼度生成ステップにおいて生成された前記信頼度情報とを用いて、列処理を行うことにより前記列処理出力値を演算し、前記信頼度生成ステップは、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、前記信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理を行うことにより信頼度情報を新たに生成して前記信頼度格納メモリに保存し、前記列処理演算ステップは、前記信頼度格納メモリに保存された前記新たに生成された信頼度情報と前記行処理出力値とを用いて前記列処理出力値を演算する。
【０１８３】
この構成によれば、信頼度生成ステップにおいて、入力されたデータに基づいて信頼度情報が生成される。信頼度格納ステップにおいて、信頼度情報が信頼度格納メモリに保存される。行処理演算ステップにおいて、行処理が行われることにより行処理出力値が演算される。列処理演算ステップにおいて、列処理が行われることにより列処理出力値が演算される。制御ステップにおいて、同一のデータブロックの信頼度情報が信頼度格納メモリに複数回入力される。また、行処理演算ステップにおいて、列処理演算で演算された列処理出力値を用いて、行処理を行うことにより行処理出力値が演算される。列処理演算ステップにおいて、行処理出力ステップで演算された行処理出力値と信頼度生成ステップで生成された信頼度情報とを用いて、列処理を行うことにより列処理出力値が演算される。信頼度生成ステップにおいて、前回と同一のデータブロックの信頼度情報を用いて復号が行われる際に、信頼度格納メモリに保存されている前回生成された信頼度情報と、今回生成された信頼度情報とを用いて、確率計算に基づいた演算処理が行われることにより信頼度情報が新たに生成されて信頼度格納メモリに保存される。列処理演算ステップにおいて、信頼度格納メモリに保存された新たに生成された信頼度情報と行処理出力値とを用いて列処理出力値が演算される。
【０１８４】
したがって、誤り訂正前のエラーレートの高いデータに対して、同一のデータブロックの信頼度情報を用いて復号が複数回行われるので、復号されたデータのエラーレートを低減することができ、Ｓ／Ｎを向上させることができる。
【０１８５】
なお、発明を実施するための形態の項においてなされた具体的な実施態様または実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と特許請求事項との範囲内で、種々変更して実施することができるものである。
【産業上の利用可能性】
【０１８６】
本発明に係る復号装置及び復号方法は、複数の再生信号を利用してデータを復号する復号装置及び復号方法に有用であり、記録媒体の高密度化、及びシステム全体のフィジビリティの向上に有用である。また、大容量の光ディスクを用いた復号装置及び復号方法にも応用でき、デジタル通信装置及びデジタル通信方法にも応用でき、集積回路にも応用できる。
【図１】
0005884031.tif 000013
【図２】
0005884031.tif 000014
【図３】
0005884031.tif 000015
【図４】
0005884031.tif 000016
【図５】
0005884031.tif 000017
【図６】
0005884031.tif 000018
【図７】
0005884031.tif 000019
【図８】
0005884031.tif 000020
【図９】
0005884031.tif 000021
【図１０】
0005884031.tif 000022
【図１１】
0005884031.tif 000023
【図１２】
0005884031.tif 000024
【図１３】
0005884031.tif 000025
【図１４】
0005884031.tif 000026
【図１５】
0005884031.tif 000027
【図１６】
0005884031.tif 000028
【図１７】
0005884031.tif 000029
【図１８】
0005884031.tif 000030