(57)【要約】【課題】少なくとも二組の誤り訂正符号を組み合わせて構成されるブロック符号の誤り訂正処理を効率良く実施し、且つ、回路規模の増大を抑制する。【解決手段】第１及び第２誤り訂正符号を付与して構成されたブロック符号の誤り訂正を行う誤り訂正装置において、バッファメモリに受信したブロック符号を格納するのと併行して、行単位で第１誤り訂正符号に基づくシンドローム演算を行い、各行の誤りの有無の判別結果を生成するシンドローム演算部と、当該判別結果をバッファリングするバッファリング部と、バッファメモリから読み出したブロック符号の各列の第２誤り訂正符号とバッファリングされた当該判別結果に基づいて訂正処理を行う訂正処理部を有する。若しくは、前述のバッファリング部を、シンドローム演算部で生成された判別結果をバッファメモリへと転送するバッファ転送部と、バッファメモリから当該判別結果を読み出してバッファリングするバッファリング部に置き換える。【選択図】  図２
2006309820.tif 000002
【特許請求の範囲】
【請求項１】
２次元配列させたデータに行方向の第１誤り訂正符号ならびに列方向の第２誤り訂正符号を付与して構成されたブロック符号を受信して誤り訂正処理を行う誤り訂正装置において、
前記受信したブロック符号を格納するバッファメモリと、
前記受信したブロック符号の行単位で、前記第１誤り訂正符号に基づくシンドローム演算を行い、前記ブロック符号の各行における誤りの有無の判別結果を生成するシンドローム演算部と、
前記判別結果をバッファリングするバッファリング部と、
前記バッファメモリから読み出された前記ブロック符号の各列に付与される前記第２の誤り訂正符号と、前記バッファリング部においてバッファリングされた前記判別結果と、に基づいて訂正処理を行う訂正処理部と、
を有することを特徴とする誤り訂正装置。
【請求項２】
前記判別結果は、前記ブロック符号の各行における誤りの有無をフラグで表現したエラーフラグであり、
前記バッファリング部は、
前記ブロック符号の全行分の前記エラーフラグをバッファリングする複数のビットマップレジスタと、
前記複数のビットマップレジスタ夫々を、前記シンドローム演算部に接続するか、前記訂正処理部に接続するか、を切り替えるための制御を行うスイッチング制御部と、
を有することを特徴とする請求項１に記載の誤り訂正装置。
【請求項３】
前記判別結果は、前記ブロック符号の各行のうち誤り有りの行を示すエラー行ポインタであって、
前記バッファリング部は、
前記シンドローム演算部ならびに前記訂正処理部がアクセス可能であり、前記エラー行ポインタをバッファリングする複数のエラー行ポインタ格納用メモリと、
前記複数のエラー行ポインタ格納用メモリ夫々を、前記シンドローム演算部に接続するか、前記訂正処理部に接続するか、を切り替えるための制御を行うスイッチング制御部と、
を有することを特徴とする請求項１に記載の誤り訂正装置。
【請求項４】
前記バッファリング部は、
前記エラー行ポインタ格納用メモリにバッファリングされた前記エラー行ポインタの個数をカウントするエラーカウンタを設けたこと、を特徴とする請求項３に記載の誤り訂正装置。
【請求項５】
２次元配列させたデータに行方向の第１誤り訂正符号ならびに列方向の第２誤り訂正符号を付与して構成されたブロック符号を受信して誤り訂正処理を行う誤り訂正装置において、
前記受信したブロック符号を格納するバッファメモリと、
前記受信したブロック符号の行単位で、前記第１誤り訂正符号に基づくシンドローム演算を行い、前記ブロック符号の各行における誤りの有無の判別結果を生成するシンドローム演算部と、
前記判別結果をバッファリングするとともに前記バッファメモリへと転送するバッファ転送部と、
前記バッファメモリから読み出した前記判別結果をバッファリングするバッファリング部と、
前記バッファメモリから読み出された前記ブロック符号の各列に付与される前記第２の誤り訂正符号と、前記バッファリング部においてバッファリングされた前記判別結果と、に基づいて訂正処理を行う訂正処理部と、
を有することを特徴とする誤り訂正装置。
【請求項６】
前記判別結果は、前記ブロック符号の各行における誤りの有無をフラグで表現したエラーフラグであり、
前記バッファ転送部は、
前記ブロック符号の前記エラーフラグを格納する複数のビットマップレジスタと、
前記エラーフラグを前記バッファメモリへ書き込むためのアドレスを生成するアドレス生成回路と、
を有することを特徴とする請求項５に記載の誤り訂正装置。
【請求項７】
前記判別結果は、前記ブロック符号の各行のうち誤り有りの行を示すエラー行ポインタであって、
前記バッファ転送部は、
前記エラー行ポインタを前記バッファメモリへ書き込むためのアドレスを生成するアドレス生成回路を有することを特徴とする請求項５に記載の誤り訂正装置。
【請求項８】
前記バッファ転送部は、
前記エラー行ポインタの個数をカウントするエラーカウンタを設けたことを特徴とする請求項７に記載の誤り訂正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正装置に関する。
【背景技術】
【０００２】
誤り訂正技術は、通信システム・放送システム・記録システム等のシステムの信頼性向上に不可欠な技術であり、また、記録システムでは、音声記録や画像記録の高密度化の基本技術となっている。誤り訂正技術の中核となる誤り訂正符号としては、これまでに数多くの研究がなされ、様々なものが提案されている。
【０００３】
誤り訂正符号の体系としては、まず、ブロック符号と畳込み符号に大分類され、また、ブロック符号は線形符号と非線形符号に分類され、さらに、線形符号は巡回符号と非巡回符号に分類される。また、これらの符号若しくは同種類の符号を少なくとも二つ組み合わせることで誤り訂正能力を更に向上させたものとして積符号と連接符号とに分類される。例えば、ＤＶＤ規格等の光ディスク記録やデジタルＶＴＲ等に用いられるリードソロモン積符号は、符合語がガロア体と呼ばれる特殊な元で構成されるリードソロモン符号（前述した巡回符号の一つ。）を２組組み合わせた積符号であり、主にバースト誤りに有効である。
【０００４】
以下、誤り訂正符号の一例としてのリードソロモン積符号に基づいたＤＶＤ規格に準拠した符号化処理について、図１６、図１７、図１８をもとに説明する。
【０００５】
光ディスクへの記録対象となる記録データは、図１６に示す２０４８バイトごとに分割される。この分割されたデータは「メインデータ」と呼ばれ、その先頭には１２バイトの「ヘッダ」が付与される。このヘッダは、４バイトのＩＤ（Identification Code）と、そのＩＤに対する２バイトの誤り検出符号ＩＥＤ（Id Error Detection Code）と、コピープロテクト情報などの６バイトの予約データＣＰＭ（Copyright Management Code）と、によって構成される。また、メインデータの末尾には４バイトのＥＤＣ（Error Detection Code）が付与される。このＥＤＣは、ヘッダが付与されたメインデータに対する誤り検出符号である。
【０００６】
メインデータにヘッダならびにＥＤＣが付与された総２０６４バイトのデータは、図１７に示すように、１７２バイト単位に区切られた１７２バイト（列）×１２行の「データセクタ」として区分けされる。なお、データセクタのうちのメインデータ２０４８バイトに対しては、ヘッダに含まれるスクランブルキーの情報をもとに、例えばＰＮ（Pseudo random Noise）系列加算によるスクランブル処理が施される。
【０００７】
１６個のデータセクタが集約されて１７２バイト×１９２行の行列（以下、「データセクタ群」と称する。）が形成される。また、データセクタ群の各列には１６行分のＰＯ符号（Outer Code Parity）が付与され、さらに、データセクタ群の各行には１０バイト分のＰＩ符号（Inner Code Parity）が付与される。なお、ＰＯ符号ならびにＰＩ符号としては、一般的に、リードソロモン符号が採用される。すなわち、ＰＯ符号ならびにＰＩ符号が付与された１８２バイト（列）×２０８行のブロック符号は、「ＥＣＣブロック」と呼ばれるリードソロモン積符号である。
【０００８】
また、図１８に示すように、１６行のＰＯ符号が、１行ごとにＰＩ符号が付与された各データセクタの後に順次配置されるべく、ＥＣＣブロック内でのインタリーブ（行入れ替え）が行われる。ここで、１つのデータセクタに１０バイト分のＰＩ符号と１行のＰＯ符号が付与された１８２バイト×１３行のデータは、「記録セクタ」として取り扱われる。そして、１６個の記録セクタによって構成された１ブロック単位分のＥＣＣブロックに対して、８−１６変調やＮＲＺＩ変換などが施された後、光ディスクへの記録が行われることになる。
【０００９】
つぎに、ＥＣＣブロックの受信再生側の復号化処理、特に、誤り訂正処理について、図１９、図２０、図２１をもとに説明する。
【００１０】
図１９は、光ディスク再生システムの概略的な構成を示す図である。光ディスク再生システムは、ＤＶＤ媒体等の光ディスク１に記録された情報（ＥＣＣブロック）を光学的に読み出す光ピックアップ２と、光ピックアップ２で読み出された情報をもとに、２値化や同期クロック抽出等のアナログ信号処理を行うフロントエンド処理部９、アナログ処理が施されたデータをもとに８／１６復調や誤り訂正処理等の復号化処理を行う復号化装置１１、復号化装置１１における処理の過程での作業用メモリとなるバッファメモリ５、復号化装置１１によって復号化後のデータを受信するホストコンピュータ７、によって構成される。また、復号化装置１１は、誤り訂正装置１０を有しており、誤り訂正装置１０は、バッファ転送部１０１、ＰＩ／ＰＯ誤り訂正処理部１０２、ＥＤＣデコーダ１０４、バッファ転送部１０５、によって構成される。
【００１１】
なお、誤り訂正装置１０における従来の誤り訂正処理の流れは、図２０のフローチャートに示すように、つぎのとおりとなる。まず、８／１６復調が施されたＥＣＣブロック分の再生データＤＩＮが、バッファ転送部１０１におけるバッファリングを介した後に、バッファメモリ５へと全て格納される（Ｓ２００）。そして、バッファメモリ５に格納された再生データＤＩＮに対してデインタリーブ処理が施される。
【００１２】
つぎに、ＰＩ／ＰＯ誤り訂正処理部１０２は、バッファメモリ５に格納された再生データＤＩＮを、ＥＣＣブロックの行単位で読み出し（Ｓ２０１）、ＥＣＣブロックの各行の再生データＤＩＮ毎に付与されるＰＩ符号に基づいて検出訂正処理（以下、ＰＩ検出訂正処理）を実行する（Ｓ２０２）。なお、この際、ＰＩ／ＰＯ誤り訂正処理部１０２は、再生データＤＩＮ内でＰＩ検出訂正処理を実施したシンボル（ビット）の位置情報を、消失フラグとして内部のレジスタ等に格納しておく。そして、ＰＩ検出訂正処理後の再生データＤＩＮ’が、バッファメモリ５へと格納される。
【００１３】
つぎに、ＰＩ／ＰＯ誤り訂正処理部１０２は、バッファメモリ５に格納された再生データＤＩＮ’を、ＥＣＣブロックの列単位で読み出し（Ｓ２０３）、ＥＣＣブロックの各列の再生データＤＩＮ’毎に、それに付与されるＰＯ符号に基づいて検出訂正処理（以下、ＰＯ検出訂正処理）を実行する（Ｓ２０４）。なお、この際に、ＰＩ誤り訂正処理の際の消失フラグを用いて消失訂正処理（以下、ＰＯ消失訂正処理）を実行することも可能である。そして、ＰＯ検出訂正処理又はＰＯ消失訂正処理後の再生データＤＩＮ’’が、バッファメモリ５へと格納される。
【００１４】
つぎに、ＥＤＣデコーダ１０４は、バッファメモリ５に格納された再生データＤＩＮ’’をデータセクタ単位で読み出して、それに付与されるＥＤＣに基づいて誤り検出を実行する。さらに、その後、バッファメモリ５に格納された再生データＤＩＮ’’にデスクランブル処理が施される。そして、バッファ転送部１０５は、バッファメモリ５から読み出した再生データＤＩＮ’’を再生データＤＯＵＴとしてホストコンピュータ７へと転送する。
【００１５】
ここで、前述したＰＩ／ＰＯ検出訂正処理の一般的な処理の流れを、例えば、以下に示す非特許文献１を参照して図２１に示しておく。なお、以下に示す特許文献１においても、ＰＩ／ＰＯ検出訂正処理ならびにＰＯ消失訂正処理の内容が開示されてある。図２１に示すように、ＰＩ／ＰＯ検出訂正処理は、誤りの有無を検証するためのシンドローム演算（Ｓ２１０）、誤りが発生したシンボル位置（以下、誤り位置）を得るための誤り位置多項式の導出（Ｓ２１１）、誤り位置多項式に所定のガロア体を定義する原始多項式の元を代入することで得られる誤り位置の計算（Ｓ２１２）、シンドロームと誤り位置と所定のガロア体を定義する原始多項式の元に基づいて得られる誤りの値（大きさ）の計算（Ｓ２１３）、そして、最終的な誤りの訂正（Ｓ２１４）の順で行われる。なお、前述した消失フラグは、誤り位置の計算（Ｓ２１２）において得られることになる。
【特許文献１】特開平１１−４１１１３号公報
【非特許文献１】江藤良純・金子敏信、「誤り訂正符号とその応用」、第１版第８刷、株式会社オーム社、平成１６年２月２５日、ｐ．１８３−１８８
【発明の開示】
【発明が解決しようとする課題】
【００１６】
ところで、少なくとも二組の誤り訂正符号を組み合わせたブロック符号（ＥＣＣブロック等）に対する従来の誤り訂正処理のシーケンスでは、夫々の誤り訂正符号に基づく誤り訂正処理のたびに、作業用メモリとしてのバッファメモリへのアクセスが行われていた。例えば、図２０のＳ２０１、Ｓ２０３に示すように、ＰＩ検出訂正処理と、ＰＯ検出訂正処理又はＰＯ消失訂正処理の両方の段階で、ＥＣＣブロックの全データをバッファメモリから読み出しを行っていた。このようなバッファメモリへのアクセスは、誤り訂正処理全体の高速化へのボトルネックとなっており、ひいては、従来の誤り訂正装置を組み込んだシステム全体の更なる高速化に支障をきたす恐れがあった。例えば、次世代光ディスクとして近年注目されているＨＤＤＶＤ（High Definition DVD）等では、光ディスクからの再生データのデータ転送速度として、更なる高速化が要請されている。しかし、従来の誤り訂正装置の仕組みのままでは、その再生データの高速なデータ転送ができない恐れがあった。なお、再生データの高速なデータ転送を実現するために、ＰＩ／ＰＯの誤り訂正処理部を別々の回路として設け、夫々の処理を並列に行うことが考えられる。しかし、この場合は、回路規模が増大するという問題が生じる。
【課題を解決するための手段】
【００１７】
前述した課題を解決するための主たる本発明は、２次元配列させたデータに行方向の第１誤り訂正符号ならびに列方向の第２誤り訂正符号を付与して構成されたブロック符号を受信して誤り訂正処理を行う誤り訂正装置において、前記受信したブロック符号を格納するバッファメモリと、前記受信したブロック符号の行単位で、前記第１誤り訂正符号に基づくシンドローム演算を行い、前記ブロック符号の各行における誤りの有無の判別結果を生成するシンドローム演算部と、前記判別結果をバッファリングするバッファリング部と、前記バッファメモリから読み出された前記ブロック符号の各列に付与される前記第２の誤り訂正符号と、前記バッファリング部においてバッファリングされた前記判別結果と、に基づいて訂正処理を行う訂正処理部と、を有する。
【００１８】
また、前述した課題を解決するためのその他の主たる本発明は、２次元配列させたデータに行方向の第１誤り訂正符号ならびに列方向の第２誤り訂正符号を付与して構成されたブロック符号を受信して誤り訂正処理を行う誤り訂正装置において、前記受信したブロック符号を格納するバッファメモリと、前記受信したブロック符号の行単位で、前記第１誤り訂正符号に基づくシンドローム演算を行い、前記ブロック符号の各行における誤りの有無の判別結果を生成するシンドローム演算部と、前記判別結果をバッファリングするとともに前記バッファメモリへと転送するバッファ転送部と、前記バッファメモリから読み出した前記判別結果をバッファリングするバッファリング部と、前記バッファメモリから読み出された前記ブロック符号の各列に付与される前記第２の誤り訂正符号と、前記バッファリング部においてバッファリングされた前記判別結果と、に基づいて訂正処理を行う訂正処理部と、を有する。
【発明の効果】
【００１９】
本発明によれば、少なくとも二組の誤り訂正符号を組み合わせて構成されるブロック符号の誤り訂正処理を効率良く実施することが可能であり、且つ、回路規模の増大を抑制した誤り訂正装置を提供することができる。
【発明を実施するための最良の形態】
【００２０】
＜光ディスク再生システムの構成＞
図１は、本発明に係る『誤り訂正装置』を含んだシステムの一例としての光ディスク再生システムの構成を示す図である。なお、本実施形態の光ディスク再生システムとしては、ＤＶＤ再生システムであるものとして説明する。よって、本実施形態の光ディスク再生システムでは、２次元配列させたデータセクタ群に対して行方向のＰＩ符号（『第１誤り訂正符号』）ならびに列方向のＰＯ符号（『第２誤り訂正符号』を組み合わせたリードソロモン積符号に基づく１ブロック単位の再生データ（『ブロック符号』）を受信して誤り訂正処理を行う。勿論、本発明に係る光ディスク再生システムとしては、ＣＤ再生システムやＨＤＤＶＤ再生システムとしてもよい。
【００２１】
光ディスク１は、ＤＶＤ±Ｒ／ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＯＭ等のＤＶＤ媒体であり、図１８に示したＥＣＣブロックのデータフォーマットに従って情報が記録されてある。また、各種プリフォーマット方式において、ＥＣＣブロック、ＥＣＣブロックを構成する１６個のデータセクタ、データセクタを構成する２６個のフレーム、夫々の先頭を示す各種シンク信号ＳＹＮＣが、光ディスク１に予め記録される。  
光ピックアップ２は、光ディスク１に対してレーザービームを照射してその反射光を受光することで、光ディスク１に記録された情報を光学的に読み取るものである。  
ＲＦアンプ３は、光ピックアップ２で読み取られた情報を増幅するアンプである。なお、ＲＦアンプ３には、一般的に、その利得を自動調整するためのＡＧＣ（Automatic Gain Control）機能が設けられる。  
信号処理装置４は、ＲＦアンプ３の出力に対して光ディスク再生に係る各種信号処理を実行するものであり、１又は複数の半導体集積回路として提供される。
【００２２】
バッファメモリ５は、本発明に係る誤り訂正処理の実行過程の作業用メモリとして設けられる、信号処理装置４の外付けメモリである。すなわち、バッファメモリ５には、本発明に係る誤り訂正処理を実行すべく、ＲＦアンプ３の出力に応じた誤り訂正処理対象のデータが１ブロック単位で格納される。なお、バッファメモリ５としては、一般的にＤＲＡＭ等が採用される。  
マイクロコンピュータ６は、光ディスク再生システム全体の制御を司るものシステムコントローラである。
【００２３】
リードチャネル回路４０は、ＲＦアンプ３の出力を２値化するとともに基準クロック信号を生成するものである。なお、ＤＶＤ−ＲＯＭ規格や次世代のＨＤＤＶＤ規格等の場合、リードチャネル回路４０は、ＰＲＭＬ（Partial Response Maximum Likelihood）方式に基づいて、ＰＲ等価処理やビタビ復号処理を併せて実行する。  
同期検出回路４２は、リードチャネル回路４０において生成された２値化信号ならびに基準クロック信号に基づいて前述したシンク信号ＳＹＮＣを生成するものである。なお、シンク信号ＳＹＮＣは、誤り訂正回路（４７，５０）へと送信される。
【００２４】
復調回路４３は、同期検出回路４２を介した２値化信号に対して８／１６変調の復調処理を施した８／１６復調データ（以下、再生データＤＩＮと称する。）を生成するものである。なお、再生データＤＩＮは、内部バス５１を介して誤り訂正装置（４７，５０）へと送信する。  
誤り訂正装置（４７，５０）は、再生データＤＩＮに対して誤り訂正処理を行う。誤り訂正処理後の再生データＤＩＮ（以下、再生データＤＯＵＴ）は、後述のホストＩ／Ｆ回路４９を介してホストコンピュータ７へと送信される。なお、誤り訂正装置（４７，５０）の内部構成ならびに動作の詳細については後述する。
【００２５】
メモリアクセス制御回路４５は、誤り訂正装置（４７，５０）からのバッファメモリ５へのアクセス要求に応じて、バッファメモリ５に応じたリード／ライトコマンドやアドレス等を生成するものである。  
メモリＩ／Ｆ回路４６は、メモリアクセス制御回路４５を介した誤り訂正装置（４７，５０）とバッファメモリ５６との間を通信可能に接続させるための通信インタフェース回路である。メモリＩ／Ｆ回路４６としては、例えば、３線式シリアルインタフェースが採用される。
【００２６】
マイコンＩ／Ｆ回路４８は、信号処理装置４とマイクロコンピュータ６との間を通信可能に接続するための通信インタフェース回路である。マイコンＩ／Ｆ回路４８としては、例えば、ＵＡＲＴ（Universal Asynchronous Receiver and Transmitter）、３線式シリアルインタフェース、Ｉ２Ｃバスインタフェース等が採用される。  
ホストＩ／Ｆ回路４９は、信号処理装置４とホストコンピュータ７との間を通信可能に接続するための通信インタフェース回路である。ホストＩ／Ｆ回路４９としては、ＡＴＡＰＩ（Attachment Packet Interface）が一般的に採用される。
【００２７】
＜第１実施形態：誤り訂正装置＞
本発明の第１実施形態に係る『誤り訂正装置４７』について、図３を適宜参照しつつ、図２に基づいて説明する。なお、説明の都合上、後述のＰＩシンドローム演算の前に通常実施されるデインタリーブ処理、ならびに、後述の誤り検出処理の後に通常実施されるデスクランブル処理の説明は省略する。
【００２８】
バッファ転送部４７１は、復調回路４３から内部バス５１を介して受信した１ブロック単位分の再生データＤＩＮ（以下、ＥＣＣブロック）をバッファリングし、メモリアクセス制御回路４５並びにメモリＩ／Ｆ回路４６を介してバッファメモリ５へと転送する。この結果、バッファメモリ５には、ＥＣＣブロックが書き込まれる（Ｓ３００）。また、バッファ転送部４７１は、バッファメモリ５へのＥＣＣブロックの転送と併行して、同一のＥＣＣブロックを、ＰＩシンドローム演算部４７３に対して転送する。
【００２９】
ＰＩシンドローム演算部４７３は、バッファ転送部４７１から転送されたＥＣＣブロックに対して、各行に付与されるＰＩ符号に基づいたシンドローム演算（以下、ＰＩシンドローム演算）を順次行う（Ｓ３０１）。すなわち、ＰＩシンドローム演算は、バッファメモリ５へのＥＣＣブロックの書き込みと併行して行われる。
【００３０】
ＰＩシンドローム演算の例としては、例えば、符号長“８”且つ情報数“４”の（８、４）リードソロモン符号の場合とし、ＥＣＣブロックの任意行の再生データＤＩＮが（Ｄ３、Ｄ２、Ｄ１、Ｄ０、Ｐ３、Ｐ２、Ｐ１、Ｐ０：但し、Ｄ３〜Ｄ０はシンボル、Ｐ３〜Ｐ０はＰＩ符号。）と表現した場合には、つぎの式（１）〜（４）で定義されるシンドロームＳ０〜Ｓ３が演算される。なお、α＾ｎ（自然数）は、ガロア体ＧＦ（２＾３）を定義する原始多項式の元である。  
Ｓ０＝Ｄ３＋Ｄ２＋Ｄ１＋Ｄ０＋Ｐ３＋Ｐ２＋Ｐ１＋Ｐ０……式（１）
Ｓ１＝α＾７・Ｄ３＋α＾６・Ｄ２＋α＾５・Ｄ１＋α＾４・Ｄ０＋α＾３・Ｐ３＋α＾２・Ｐ２＋α＾１・Ｐ１＋Ｐ０……式（２）
Ｓ２＝α＾１４・Ｄ３＋α＾１２・Ｄ２＋α＾１０・Ｄ１＋α＾８・Ｄ０＋α＾６・Ｐ３＋α＾４・Ｐ２＋α＾２・Ｐ１＋Ｐ０……式（３）
Ｓ３＝α＾２１・Ｄ３＋α＾１８・Ｄ２＋α＾１５・Ｄ１＋α＾１２・Ｄ０＋α＾９・Ｐ３＋α＾６・Ｐ２＋α＾３・Ｐ１＋Ｐ０……式（４）
【００３１】
ここで、シンボルＤ３〜Ｄ０において誤りが発生していない場合、シンドロームＳ０〜Ｓ３は全て“０”となる。一方、シンボルＤ３〜Ｄ０において誤りが発生した場合、シンドロームＳ０〜Ｓ３は“０”とは異なった値が得られる。例えば、シンボルＤ２にｅ２の大きさの誤りが加わった場合、シンドロームＳ０はｅ２となり、シンドロームＳ１はα＾６・ｅ２となり、シンドロームＳ２はα＾１２・ｅ２となり、シンドロームＳ３はα＾１８・ｅ２となる。
【００３２】
ＰＩシンドローム演算部４７３は、予め定義しておいたＰＩシンドローム演算の結果によって、ＥＣＣブロックの各行毎に、誤りが発生しているか否かを判別することが可能となる。そして、ＰＩシンドローム演算部４７３は、この誤りの有無を判別した結果を示すエラーフラグＥＲＦを、ＥＣＣブロックの各行毎に順次生成する（Ｓ３０２）。なお、エラーフラグＥＲＦは、後述のＰＯ消失訂正処理で用いられるものであるが、従来の消失訂正処理で用いられた消失フラグとは内容が異なるものである。すなわち、従来の消失フラグは、図２１において示した誤り位置多項式の導出（Ｓ２１１）ならびに誤り位置の計算（Ｓ２１２）を経て得られるが、本発明に係るエラーフラグＥＲＦは、単純にＰＩシンドローム演算の結果のみで得られる。
【００３３】
エラーフラグ・バッファリング部４７４（『バッファリング部』）は、複数のビットマップレジスタで主に構成され、ＰＩシンドローム演算部４７３において順次生成されたＥＣＣブロック全行分のエラーフラグＥＲＦをバッファリングする（Ｓ３０３）。なお、ビットマップレジスタは、所定ビット数分の１ビット記憶素子の集合体であり、ＥＣＣブロック全行分のＥＲＦが当該１ビット記憶素子夫々にビットマップ状に記憶される。なお、本実施形態では、ビットマップレジスタとして、ＥＣＣブロック全行分のエラーフラグＥＲＦをシフト動作で格納するシフトレジスタを採用する。また、シフトレジスタ以外にも、ビットマップレジスタとして、ＥＣＣブロック全行分のエラーフラグＥＲＦをランダムアクセスで格納させるＲＡＭを採用してもよい。以下では、ビットマップレジスタを用いてエラーフラグＥＲＦをバッファリングする方式のことを、「ビットマップ型」と称する。
【００３４】
また、エラーフラグ・バッファリング部４７４の別の実施形態として、エラーフラグ・バッファリング部４８０（『バッファリング部』）は、複数のＲＡＭ（『エラー行ポインタ格納用メモリ』）で主に構成され、ＰＩシンドローム演算部４７３において順次生成されたエラーフラグＥＲＦのうち、誤り有りを示すエラーフラグＥＲＦに対応したＥＣＣブロック行を示すＰＩエラーラインナンバーＥＬＮ（『エラー行ポインタ』）をバッファリングする。以下では、ＲＡＭ等を用いてＰＩエラーラインナンバーＥＬＮをバッファリングする方式のことを、「ポインタ型」と称する。
【００３５】
ＰＯ消失訂正処理部４７５は、バッファメモリ５に書き込んでおいたＥＣＣブロックをメモリアクセス制御回路４５ならびにメモリＩ／Ｆ回路４６を介して列単位で読み出す（Ｓ３０４）。そして、ＰＯ消失訂正処理部４７５は、ＥＣＣブロックの各列に付与されるＰＯ符号と、エラーフラグ・バッファリング部４７４においてバッファリングしておいたＥＣＣブロック全行分のエラーフラグＥＲＦ、若しくは、エラーフラグ・バッファリング部４８０においてバッファリングしておいた１ブロック分のＰＩエラーラインナンバーＥＬＮと、に基づいて、ＥＣＣブロックを列単位で消失訂正処理（以下、ＰＯ消失訂正処理）を行う（Ｓ３０５）。そして、ＰＯ消失訂正処理後のＥＣＣブロックが、バッファメモリ５へと改めて書き込まれる。
【００３６】
詳述すると、ＰＯ消失訂正処理部４７５は、ＰＩシンドローム演算の結果であるＥＣＣブロック全行分のエラーフラグＥＲＦ若しくは１ブロック分のＰＩエラーラインナンバーＥＬＮを参照して、ＥＣＣブロックの１列分である２０８ｂｉｔｓの再生データＤＩＮのうち、誤り有りを示すエラーフラグＥＲＦに対応した行のビットを、消失訂正位置とみなす。すなわち、消失訂正位置が、誤り位置多項式の導出や誤り位置の計算をせずに予め分かっている状態となる。よって、ＰＯ消失訂正処理部４７５は、ＥＣＣブロック全行分のエラーフラグＥＲＦ若しくは１ブロック分のＰＩエラーラインナンバーＥＬＮに基づいて、誤りの値の計算と、その誤りの値を用いた誤り訂正のみを実行すればよいことになる。例えば、前述した例を用いて説明すると、誤りの値Ｅ２は、式（１）のシンドロームＳ０のみを演算すれば得られる。また、誤り訂正は、誤り有りを示すエラーフラグＥＲＦに対応したシンボルＤ２の値から誤りの値Ｅ２を引き算すれば実施できる。
【００３７】
ＥＤＣデコーダ４７６は、バッファメモリ５からＰＯ消失訂正処理後のＥＣＣブロックを読み出して各データセクタに付与されるＥＤＣに基づいて誤り検出処理を行うことで、ＰＯ消失訂正処理の誤訂正を検証する。なお、その検証結果は、バッファメモリ５へと書き込まれる。
【００３８】
バッファ転送部４７７は、バッファメモリ５からＰＯ消失訂正処理後のＥＣＣブロックを読み出し、再生データＤＯＵＴとしてホストＩ／Ｆ回路４９を介してホストコンピュータ７へと転送する。
【００３９】
誤り訂正シーケンス制御部４７９は、同期検出回路４２において生成されたシンク信号ＳＹＮＣに基づいてＥＣＣブロックやデータセクタの先頭を識別することで、各処理部（４７１、４７３、（４７４，４８０）、４７５、４７６、４７７）に対して、本発明に係る誤り訂正処理のシーケンス制御を行うものである。なお、図４に示すように、前記の各処理部における処理は同期する。
【００４０】
図４は、誤り訂正装置４７の誤り訂正処理のタイミングチャートである。なお、（ａ）はバッファ転送部４７１からバッファメモリ５へのライト処理の流れを示し、（ｂ）はＰＩシンドローム演算部４７３におけるエラーフラグＥＲＦの生成処理の流れを示し、（ｃ）はＰＯ消失訂正処理部４７５におけるＰＯ消失訂正処理ならびにＥＤＣデコーダ４７６の誤り検出処理を一体化したデコード処理の流れを示し、（ｄ）はバッファ転送部４７７におけるバッファメモリ５からバッファ転送部４７７へのデコード処理後のリード処理の流れを示すものである。
【００４１】
まず、時刻Ｔ０からＴ１までの１ブロック期間、バッファ転送部４７１からバッファメモリ５へのＥＣＣブロック０の書き込みと、ＰＩシンドローム演算部４７３におけるＥＣＣブロック０のエラーフラグＥＲＦの生成とが並列化処理される。
【００４２】
時刻Ｔ１からＴ２までの１ブロック期間、バッファ転送部４７１からバッファメモリ５へのＥＣＣブロック１の書き込みと、ＰＩシンドローム演算部４７３におけるＥＣＣブロック１のエラーフラグＥＲＦの生成とが並列化処理される。また、ＰＯ消失訂正処理部４７５及びＥＤＣデコーダ４７６においてＥＣＣブロック０のデコード処理が行われる。
【００４３】
時刻Ｔ２からＴ３までの１ブロック期間、バッファ転送部４７１からバッファメモリ５へのＥＣＣブロック２の書き込みと、ＰＩシンドローム演算部４７３におけるＥＣＣブロック２のエラーフラグＥＲＦの生成とが並列化処理される。また、ＰＯ消失訂正処理部４７５及びＥＤＣデコーダ４７６においてＥＣＣブロック１のデコード処理が行われる。さらに、バッファメモリ５からバッファ転送部４７７へのＥＣＣブロック０のリード処理が行われる。  
時刻Ｔ３以降も、時刻Ｔ２からＴ３までの１ブロック期間と同様の処理が行われる。
【００４４】
このように、誤り訂正装置４７は、ＰＯ消失訂正処理部４７５ではバッファメモリ５へのアクセスを行うが、ＰＩシンドローム演算部４７３ではバッファメモリ５へのアクセスを行わない。すなわち、図１９に示した従来の誤り訂正装置１０が、ＰＩ検出訂正処理とＰＯ検出訂正処理（又はＰＯ消失訂正処理）毎にバッファメモリ５へアクセスを行うのと対比したとき、本発明に係る誤り訂正装置４７では、誤り訂正処理全体をとおしてのバッファメモリ５へのアクセス回数が減少する。よって、本発明に係る誤り訂正処理は、光ディスク再生において要請されるデータ転送速度に追従することができ、バッファメモリ５へのアクセスに伴う待ち時間も無く、リアルタイム処理が容易に実現できる。
【００４５】
また、ＰＩシンドローム演算部４７３では、バッファ転送部４７１からバッファメモリ５へのＥＣＣブロックの書き込み処理と併行して、ＰＩシンドローム演算処理を実行する。すなわち、図１９に示した従来のバッファ転送部１０１におけるバッファメモリ５へのＥＣＣブロックの書き込み処理と従来のＰＩ誤り訂正処理部１０２におけるＰＩ検出訂正処理とが逐次処理されるのと対比したとき、本発明では、バッファ転送部４７１におけるバッファメモリ５へのＥＣＣブロックの書き込み処理とＰＩシンドローム演算部４７３におけるＰＩシンドローム演算処理各処理が並列化処理されるので、誤り訂正処理全体をとおしての高速化が図られる。
【００４６】
さらに、ＰＩシンドローム演算部４７３では、ＰＩシンドローム演算のみを実行する。すなわち、図１９に示した従来のＰＩ誤り訂正処理部１０２が、図２１に示したように、シンドローム演算（Ｓ２１０）以外に、誤り位置多項式の導出（Ｓ２１１）、誤り位置の計算（Ｓ２１２）、誤りの値の計算（Ｓ２１３）、誤りの訂正（Ｓ２１４）の手順に従うことと対比したとき、本発明に係るＰＩシンドローム演算部４７３ではＰＩシンドローム演算のみを実行するため、誤り訂正処理全体をとおしての処理負荷が軽減されるともに高速化が図られる。また、従来のＰＩ誤り訂正処理部１０２と対比して、本発明に係るＰＩシンドローム演算部４７３の回路規模は減少する。
【００４７】
さらに、ＰＯ消失訂正処理部４７５では、ＰＩシンドローム演算部４７３で生成されたエラーフラグＥＲＦを参照して、ＰＯ消失訂正処理を実行する。すなわち、誤り位置が予め分かっていることに伴って検出訂正処理よりも２倍の訂正能力があることが知られている消失訂正処理を実行する。よって、本発明に係る誤り訂正処理は、適切な品質の誤り訂正能力を確保しつつ、光ディスク１からの再生データＤＩＮの高速なデータ転送速度に追従することができ、リアルタイム処理が容易に実現できる。
【００４８】
＝＝＝ビットマップ型のエラーフラグ・バッファリング部＝＝＝
ビットマップ型のエラーフラグ・バッファリング部４７４の構成ならびに動作について、図６、図７を適宜参照しつつ、図５をもとに説明する。
【００４９】
第１シフトレジスタ４７４１ならびに第２シフトレジスタ４７４２は、ＰＩシンドローム演算部４７３から、ＥＣＣブロック全行分（２０８ｂｉｔｓ）のエラーフラグＥＲＦ（図７（ａ）参照）と、ＥＣＣブロック各行のエラーフラグＥＲＦと同期したＥＣＣブロック各行を識別するためのＰＩラインタイミング信号ＬＴ（図７（ｂ）参照）を受信する。
【００５０】
そして、第１シフトレジスタ４７４１ならびに第２シフトレジスタ４７４２は、ＰＩラインタイミング信号ＬＴをシフトクロック信号として用いることで、ＥＣＣブロック全行分のエラーフラグＥＲＦをバッファリングする。なお、ＥＣＣブロック全行分のエラーフラグＥＲＦがバッファリングされた場合、第１シフトレジスタ４７４１ならびに第２シフトレジスタ４７４２は、夫々に格納されたＥＣＣブロック全行分のエラーフラグＥＲＦを、第１シフト出力ＳＡ（図７（ｃ）参照）、第２シフト出力ＳＢ（図７（ｄ）参照）としてセレクタ４７４５へと送信する。
【００５１】
図６は、第１シフトレジスタ４７４１ならびに第２シフトレジスタ４７４２に対して、ＥＣＣブロック全行分のエラーフラグＥＲＦがバッファリングされた状態を示すものである。なお、図６では、ＰＩシンドローム演算の結果、ＥＣＣブロックの１００行目と１９８行目に誤りが発生した例を示してある。この場合、ＰＯ消失訂正処理部４７５では、ＥＣＣブロックの１００行目の１９８行目に関するＰＯ消失訂正を実施することになる。
【００５２】
ところで、本実施形態では、第１シフトレジスタ４７４１ならびに第２シフトレジスタ４７４２を二組設けてあるが、二組に限定するものではなく三組以上設けてもよい。シフトレジスタの個数を増やすほど、シフトレジスタへのエラーフラグＥＲＦのバッファリング処理とＰＯ消失訂正処理との乖離に余裕が生まれる。
【００５３】
ＡＮＤ素子４７４３、４７４４は、本発明に係る『スイッチング制御部』の一実施形態である。ＡＮＤ素子４７４３、４７４４は、誤り訂正シーケンス制御部４７９からシフトイネーブル信号ＳＥＮとスイッチ指令ＳＷを受信して夫々のＡＮＤ演算を行う。また、ＡＮＤ素子４７４３の出力は第１シフトレジスタ４７４１におけるイネーブル信号として取り扱われ、ＡＮＤ素子４７４４の出力は第２シフトレジスタ４７４２のイネーブル信号として取り扱われる。
【００５４】
ここで、シフトイネーブル信号ＳＥＮとスイッチ指令ＳＷが“Ｈ，Ｌ”の場合、ＡＮＤ素子４７４３、４７４４の各出力が“Ｈ，Ｌ”となり、第１シフトレジスタ４７４１がシフト動作可能なＥｎａｂｌｅ状態、第２シフトレジスタ４７４２がシフト動作不可なＤｉｓａｂｌｅ状態となる。また、シフトイネーブル信号ＳＥＮとスイッチ指令ＳＷが“Ｈ，Ｈ”の場合、ＡＮＤ素子４７４３、４７４４の各出力が“Ｈ，Ｌ”となり、第１シフトレジスタ４７４１がＤｉｓａｂｌｅ状態、第２シフトレジスタ４７４２がＥｎａｂｌｅ状態となる。なお、シフトイネーブル信号ＳＥＮが“Ｌ”の場合、スイッチ指令ＳＷに関わらず、第１及び第２シフトレジスタ４７４１、４７４２はともにＤｉｓａｂｌｅ状態となる。このように、ＡＮＤ素子４７４３、４７４４によって、第１及び第２シフトレジスタ４７４１、４７４２のＥｎａｂｌｅ状態が、相補的に切り替わる。
【００５５】
セレクタ４７４５は、誤り訂正シーケンス制御部４７９から受信するスイッチ指令ＳＷ（図７（ｅ）参照）をセレクタ制御信号として用いることで、第１シフトレジスタ４７４１から受信する第１シフト出力ＳＡ、若しくは、第２シフトレジスタ４７４２から受信する第２シフト出力ＳＢの一方を選択して、ＰＯ消失訂正処理部４７５へと出力する（図７（ｆ）参照）。この結果、ＰＯ消失訂正処理部４７５は、セレクタ４７４５にて選択出力された第１シフト出力ＳＡ又は第２シフト出力ＳＢを参照してＰＯ消失訂正処理を実行する。
【００５６】
すなわち、ＡＮＤ素子４７４３、４７４４は、第１シフトレジスタ４７４１ならびに第２シフトレジスタ４７４２夫々を、シンドローム演算部４７３からのＥＣＣブロック全行分のエラーフラグＥＲＦのバッファリング用と、消失訂正処理部４７５における消失訂正処理用と、に逐次切り替える。この結果、ＥＣＣブロック全行分のエラーフラグＥＲＦのバッファリング処理と、ＰＯ消失訂正処理とが、パイプライン処理される。
【００５７】
このように、ビットマップ型のエラーフラグ・バッファリング部４７４は、ＥＣＣブロック全行分のエラーフラグＥＲＦのバッファリング処理と、ＰＯ消失訂正処理とをパイプライン処理させることで、本発明に係る誤り訂正処理全体の高速化が図られる。
【００５８】
＝＝＝ポインタ型のエラーフラグ・バッファリング部＝＝＝
ポインタ型のエラーフラグ・バッファリング部４８０の構成ならびに動作について、図９を適宜参照しつつ、図８をもとに説明する。
【００５９】
エラーフラグ・バッファリング部４８０は、ＰＩシンドローム演算部４７３から、ＥＣＣブロック各行のエラーフラグＥＲＦと、各エラーフラグＥＲＦに対応するＥＣＣブロックの行を示すポインタであるＰＩラインナンバーＬＮと、ＥＣＣブロック全行のうち、エラーカウンタ４７３１によって誤り有りの行数をカウントしたエラーカウント値ＥＣと、を受信する。
【００６０】
そして、エラーフラグ・バッファリング部４８０は、ＰＩシンドローム演算部４７３から受信した１つのエラーフラグＥＲＦが誤り有りを示す場合、そのエラーフラグＥＲＦに同期して受信したエラーカウント値ＥＣをライトアドレスとして、同じくそのエラーフラグＥＲＦに同期して受信したＰＩラインナンバーＬＮ、すなわち、誤り有りのみを示すＰＩエラーラインナンバーＥＬＮ（『エラー行ポインタ』）を、第１ＲＡＭ４８０１ならびに第２ＲＡＭ４８０２へバッファリングする。
【００６１】
さらに、エラーフラグ・バッファリング部４８０は、ＰＯ消失訂正処理部４７５におけるＰＯ消失訂正処理の実行タイミングで、第１ＲＡＭ４８０１又は第２ＲＡＭ４８０２に対するリード指令ＰＲとリードアドレスＲＡをＰＯ消失訂正処理部４７５から受信する。この結果、第１ＲＡＭ４８０１又は第２ＲＡＭ４８０２にバッファリングされたＰＩエラーラインナンバーＥＬＮが読み出されて、ＰＯ消失訂正処理部４７５へと送信される。この結果、ＰＯ消失訂正処理部４７５は、エラーフラグ・バッファリング部４８０から受信したＰＩエラーラインナンバーＥＬＮを参照しつつＰＯ消失訂正処理を実行する。
【００６２】
ここで、第１ＲＡＭ４８０１ならびに第２ＲＡＭ４８０２は、本発明に係る『エラー行ポインタ格納用メモリ』の一実施形態であり、ＰＩエラーラインナンバーＥＬＮのバッファリングをするメモリである。なお、ＥＣＣブロック全行のうち“１６”行を超える誤りが発生した場合、消失訂正ができないことが知られている。よって、第１ＲＡＭ４８０１ならびに第２ＲＡＭ４８０２の記憶容量は、「１６ｂｉｔｓ×ＰＩエラーラインナンバーＥＬＮのビット数（例えば、８ｂｉｔｓ）」あれば十分である。
【００６３】
ところで、本実施形態では、第１ＲＡＭ４８０１ならびに第２ＲＡＭ４８０２を二組設けてあるが、二組に限定するものではなく三組以上設けてもよい。ＲＡＭの個数を増やすほど、ＲＡＭへのＰＩエラーラインナンバーＥＬＮのバッファリング処理とＰＯ消失訂正処理との乖離に余裕が生まれる。
【００６４】
第１カウンタレジスタ４８０３、第２カウンタレジスタ４８０４は、夫々、第１ＲＡＭ４８０１、第２ＲＡＭ４８０２に書き込まれたＰＩエラーラインナンバーＥＬＮの個数を示す、エラーカウント値ＥＣを格納するものである。すなわち、このエラーカウント値ＥＣは、第１ＲＡＭ４８０１、第２ＲＡＭ４８０２の全アドレスのうち、どのライトアドレスまでＰＩエラーラインナンバーＥＬＮが書き込まれてあるのかを識別するとともに、Ｅｍｐｔｙ領域の先頭アドレスを示すものである。そして、このカウント値が、消失訂正可能な最大カウント値“１６”に達した場合、エラーフラグ・バッファリング４８０は、第１ＲＡＭ４８０１、第２ＲＡＭ４８０２へのＰＩエラーラインナンバーＥＬＮの書き込みを禁止する。
【００６５】
ここで、図９は、第１ＲＡＭ４８０１、第２ＲＡＭ４８０２にＰＩエラーラインナンバーＥＬＮが書き込まれた状態と、この場合の第１カウンタレジスタ４８０３と第２カウンタレジスタ４８０４の状態を示すものである。なお、図９に示す例では、ＥＣＣブロック全行のうち、１行目、１００行目、１９８行目の合計３行に誤りが発生した例を示してある。この場合、第１ＲＡＭ４８０１、第２ＲＡＭ４８０２は、アドレス０〜２までの区画領域にＰＩエラーラインナンバーＥＬＮが書き込まれており、アドレス３〜１５までの区画領域はＥｍｐｔｙ領域である。また、第１カウンタレジスタ４８０３と第２カウンタレジスタ４８０４に格納されるエラーカウント値ＥＣは“３”であり、Ｅｍｐｔｙ領域の先頭アドレスを示すことになる。
【００６６】
スイッチング制御部４８０５は、誤り訂正シーケンス制御部４７９から受信したスイッチ指令ＳＷに基づいて、第１ＲＡＭ４８０１又は第２ＲＡＭ４８０２の一方をＰＩシンドローム演算部４７３と接続させ、他方をＰＯ消失訂正処理部４７５と接続させるための制御を行う。すなわち、スイッチング制御部４８０５は、第１ＲＡＭ４８０１、第２ＲＡＭ４８０２夫々を、ＰＩエラーラインナンバーＥＬＮのバッファリング用と、ＰＯ消失訂正処理用と、に切り替える。
【００６７】
この結果、ＰＩエラーラインナンバーＥＬＮのバッファリング処理と、ＰＯ消失訂正処理がパイプライン処理されて、本発明に係る誤り訂正処理全体の高速化が図られる。さらに、ポインタ型のエラーフラグ・バッファリング部４８０は、ビットマップ型のエラーフラグ・バッファリング部４７４と対比して、回路規模が減少する。
【００６８】
＜第２実施形態：誤り訂正装置＞
本発明の第２実施形態に係る『誤り訂正装置５０』について、図１１を適宜参照しつつ、図１０に基づいて説明する。なお、説明の都合上、前述した本発明の第１実施形態に係る誤り訂正装置４７と同様に、ＰＩシンドローム演算の前に通常実施されるデインタリーブ処理、ならびに、誤り検出処理の後に通常実施されるデスクランブル処理の説明は省略する。
【００６９】
本発明の第２実施形態に係る誤り訂正装置５０は、本発明の第１実施形態に係る誤り訂正装置４７と対比して、エラーフラグ・バッファ転送部（５０４，５１１）と、エラーフラグ・バッファリング部５０５のみが異なっている。
【００７０】
エラーフラグ・バッファ転送部５０４（『バッファ転送部』）は、複数のシフトレジスタ（『ビットマップレジスタ』）で主に構成されたビットマップ型のものであり、ＰＩシンドローム演算部５０３において順次生成されたエラーフラグＥＲＦをバッファリングする。また、エラーフラグ・バッファ転送部５１１は、複数のＲＡＭで主に構成されたポインタ型のものであり、ＰＩシンドローム演算部５０３において順次生成されたエラーフラグＥＲＦのうち、誤り有りを示すエラーフラグＥＲＦに対応したＥＣＣブロック行を示すＰＩエラーラインナンバーＥＬＮ（『エラー行ポインタ』）をバッファリングする。そして、エラーフラグ・バッファ転送部（５０４，５１１）は、エラーフラグＥＲＦ若しくはＰＩエラーラインナンバーＥＬＮが、バッファメモリ５のデータビット幅を所定の自然数倍した分バッファリングされた際に（Ｓ１１３）、バッファメモリ５へバッファ転送する（Ｓ１１４）。
【００７１】
エラーフラグ・バッファリング部５０５（『バッファリング部』）は、バッファメモリ５から読み出したＥＣＣブロック全行分のエラーフラグＥＲＦ若しくは１ブロック分のＰＩエラーラインナンバーＥＬＮをバッファリングするものである（Ｓ１１５）。なお、エラーフラグ・バッファリング部５０５は、本発明に係る第１実施形態のエラーフラグ・バッファリング部４７４、４８０と同様に、ビットマップ型若しくはポインタ型として構成される。
【００７２】
なお、エラーフラグ・バッファ転送部（５０４，５１１）によって、ＥＣＣブロック全行分のエラーフラグＥＲＦ若しくは１ブロック分のＰＩエラーラインナンバーＥＬＮが一旦バッファメモリ５へと書き込まれる。このため、図１２に示すように、バッファ転送部５０１及びＰＩシンドローム演算部５０３における各処理と、ＰＯ消失訂正処理部５０６、ＥＤＣデコーダ５０７及びバッファ転送部５０８における各処理とが、非同期の関係となる。
【００７３】
図１２は、誤り訂正装置５０の誤り訂正処理のタイミングチャートである。なお、（ａ）、（ｂ）、（ｃ）、（ｄ）の説明は、図４と同様である。
【００７４】
まず、時刻Ｔ０からＴ１までの１ブロック期間、バッファ転送部５０１からバッファメモリ５へのＥＣＣブロック０の書き込みと、ＰＩシンドローム演算部５０３におけるＥＣＣブロック０のエラーフラグＥＲＦの生成とが並列化処理される。
【００７５】
時刻Ｔ１からＴ３までの１ブロック期間、バッファ転送部５０１からバッファメモリ５へのＥＣＣブロック１の書き込みと、ＰＩシンドローム演算部５０３におけるＥＣＣブロック１のエラーフラグＥＲＦの生成とが並列化処理される。
【００７６】
なお、時刻Ｔ１からＴ３までの１ブロック期間の間の時刻Ｔ２までに、エラーフラグ・バッファリング部５０５では、ＥＣＣブロック０全行分のエラーフラグ０若しくはＥＣＣブロック０のＰＩエラーラインナンバーＥＬＮのバッファリングが完了している。
【００７７】
よって、時刻Ｔ２では、時刻Ｔ３におけるバッファ転送部５０１からバッファメモリ５へのＥＣＣブロック２の書き込みとＰＩシンドローム演算部５０３におけるエラーフラグＥＲＦ生成を待たずに、ＰＯ消失訂正処理部４７５及びＥＤＣデコーダ４７６においてＥＣＣブロック０のデコード処理が非同期に行われる。そして、ＥＣＣブロック０のデコード処理が終了する時刻Ｔ４では、ＰＯ消失訂正処理部４７５及びＥＤＣデコーダ４７６においてつぎのＥＣＣブロック１に対するデコード処理が行われるとともに、バッファメモリ５からバッファ転送部５０８へのＥＣＣブロック０の読み出しが行われる。
【００７８】
図１３は、各処理部（５０１、５０３、（５０４，５１１）、５０５、５０６、５０７、５０８）によるバッファメモリ５へのアクセス状況を示すものである。なお、（ａ）はバッファ転送部５０１からバッファメモリ５へのＥＣＣブロックのライトアクセスを示し、（ｂ）はエラーフラグ・バッファ転送部５０４，５１１）からバッファメモリ５へのエラーフラグＥＲＦ（若しくはＰＩエラーラインナンバーＥＬＮ）のライトアクセスを示し、（ｃ）はＰＯ消失訂正処理部５０６及びＥＤＣデコーダ５０７におけるデコード処理に伴うバッファメモリ５へのＥＣＣブロックのリード／ライトアクセスを示し、（ｄ）はバッファ転送部５０８からバッファメモリ５へのＥＣＣブロックのリードアクセスを示し、（ｅ）は誤り訂正処理全体のバッファメモリ５へのトータルアクセスを示すものである。
【００７９】
エラーフラグ・バッファ転送部（５０４，５１１）は、図１３（ｂ）、（ｅ）に示すように、バッファ転送部５０１からバッファメモリ５へとＥＣＣブロックが書き込まれる合間に、若しくは、後述のＰＯ消失訂正処理部５０６がＰＯ消失訂正処理の際、バッファメモリ５からＥＣＣブロックの各列を読み出す合間に、バッファリングされたエラーフラグＥＲＦをバッファメモリ５へとバッファ転送することとする。この結果、各処理部（５０１、（５０４，５１１）、５０６、５０７、５０８）の間において、バッファメモリ５への各アクセスが衝突することなく効率的に行われることになる。
【００８０】
＝＝＝ビットマップ型＝＝＝
ビットマップ型のエラーフラグ・バッファ転送部５０４の構成ならびに動作について、図１４をもとに説明する。  
シフトレジスタ５０４１は、ＰＩシンドローム演算部５０３から、ＥＣＣブロック全行分（２０８ｂｉｔｓ）のエラーフラグＥＲＦを受信する。  
アドレス生成回路５４０２は、ＰＩラインカウンタ５１０１によってカウント生成されたＰＩラインナンバーＬＮに基づいて、バッファメモリ５に格納するエラーフラグＥＲＦのアドレス情報を生成し、メモリアクセス制御回路４５へと転送する。この結果、シフトレジスタ５４０１から出力されたエラーフラグＥＲＦが、メモリアクセス制御回路４５並びにメモリＩ／Ｆ回路４６を介して、アドレス生成回路５４０２において生成されたアドレス情報に基づいて、バッファメモリ５へとバッファ転送される。
【００８１】
ところで、エラーフラグ・バッファリング部５０５もまた同様に、ビットマップ型にすることが可能である。なお、この場合の構成は、図５に示した本発明の第１実施形態に係るエラーフラグ・バッファリング４７４の構成と同様であるため、説明を省略する。
【００８２】
＝＝＝ポインタ型＝＝＝
ポインタ型のエラーフラグ・バッファ転送部５１１の構成ならびに動作について、図１５をもとに説明する。
【００８３】
エラーフラグ・バッファ転送部５１１は、ＰＩシンドローム演算部５０３から、ＥＣＣブロックの各行のエラーフラグＥＲＦを受信し、誤り訂正シーケンス制御部５１０のＰＩラインカウンタ５１０１から、各エラーフラグＥＲＦに対応したＥＣＣブロックの行を示すポインタであるＰＩラインナンバーＬＮを受信する。なお、受信したエラーフラグＥＲＦ及びＰＩラインナンバーＬＮは、メモリアクセス制御回路４５へと転送される。
【００８４】
エラーカウンタ５１１１は、ＰＩシンドローム演算部５０３から受信したエラーフラグＥＲＦの誤り有りの回数（以下、エラーカウント値ＥＣ）をカウントしてメモリアクセス制御回路４５へと転送する。
【００８５】
アドレス生成回路５４０２は、ＰＩラインカウンタ５１０１から受信したＰＩラインナンバーＬＮに基づき、バッファメモリ５に格納させるＰＩエラーラインナンバーＥＬＮのアドレス情報を生成し、メモリアクセス制御回路４５へと転送する。
【００８６】
このように、メモリアクセス制御回路４５は、エラーフラグ・バッファ転送部５１１から、エラーフラグＥＲＦ、ＰＩラインナンバーＬＮ、エラーカウント値ＥＣ、アドレス情報を受信する。そして、メモリアクセス制御回路４５は、受信したエラーフラグＥＲＦが誤り有りを示す場合、そのエラーフラグＥＲＦと同期して受信したＰＩラインナンバーＬＮ（ＰＩエラーラインナンバーＥＬＮ（『エラー行ポインタ』））並びにアドレス情報を、メモリＩ／Ｆ回路４５へと転送する。この結果、メモリアクセス制御回路４５から転送されたＰＩエラーラインナンバーＥＬＮが、メモリＩ／Ｆ４６を介して、アドレス生成回路５４０２において生成されたアドレス情報に基づいて、バッファメモリ５へと書き込まれる。
【００８７】
また、メモリアクセス制御回路４５は、１ブロック分のエラーフラグＥＲＦに対応した全てのＰＩエラーラインナンバーＥＬＮがバッファメモリ５へと書き込まれた後、エラーカウンタ５１１でカウントされたエラーカウント値ＥＣを、前述と同様に、バッファメモリ５へと書き込む。このバッファメモリ５に書き込まれたエラーカウント値ＥＣは、前述した第１実施形態におけるエラーカウンタ４７３１のエラーカウント値ＥＣと同様に、エラーバッファリング部５０５の制御に用いることができる。
【００８８】
ところで、エラーフラグ・バッファリング部５０５もまた同様に、ポインタ型として実施することが可能である。なお、この場合の構成は、図８に示した本発明の第１実施形態に係るエラーフラグ・バッファリング４８０の構成と同様であるため、説明を省略する。
【００８９】
以上、本発明の実施形態について説明したが、前述した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更／改良され得るとともに、その等価物も含まれる。
【図面の簡単な説明】
【００９０】
【図１】本発明に係る誤り訂正装置を有した光ディスク再生システムの構成を示す図である。
【図２】本発明の第１実施形態に係る誤り訂正装置の構成を示す図である。
【図３】本発明の第１実施形態に係る誤り訂正装置の処理の流れを示すフローチャートである。
【図４】本発明の第１実施形態に係る誤り訂正装置の処理の流れを示すタイミングチャートである。
【図５】本発明の第１実施形態に係るビットマップ型のエラーフラグ・バッファリング部の構成を示す図である。
【図６】本発明の第１実施形態に係るビットマップ型のエラーフラグ・バッファリング部のシフトレジスタの状態を示す図である。
【図７】本発明の第１実施形態に係るビットマップ型のエラーフラグ・バッファリング部の処理の流れを示すタイミングチャートである。
【図８】本発明の第１実施形態に係るポインタ型のエラーフラグ・バッファリング部の構成を示す図である。
【図９】本発明の第１実施形態にポインタ型のエラーフラグ・バッファリング部のＲＡＭとカウンタの状態を示す図である。
【図１０】本発明の第２実施形態に係る誤り訂正装置の構成を示す図である。
【図１１】本発明の第２実施形態に係る誤り訂正装置の処理の流れを示すフローチャートである。
【図１２】本発明の第２実施形態に係る誤り訂正装置の処理の流れを示すタイミングチャートである。
【図１３】本発明の第２実施形態に係る誤り訂正装置のバッファメモリへのアクセス状況を示すタイミングチャートである。
【図１４】本発明の第２実施形態に係るビットマップ型のエラーフラグ・バッファ転送部の構成を示す図である。
【図１５】本発明の第２実施形態に係るポインタ型のエラーフラグ・バッファ転送部の構成を示す図である。
【図１６】ＤＶＤ規格のデータセクタのフォーマットを説明するための図である。
【図１７】ＤＶＤ規格のＥＣＣブロックのフォーマットを説明するための図である。
【図１８】ＤＶＤ規格のＥＣＣブロックのフォーマットを説明するための図である。
【図１９】従来の誤り訂正装置を有した光ディスク再生システムの構成を示す図である。
【図２０】従来の誤り訂正装置の処理の流れを示すフローチャートである。
【図２１】従来のＰＩ／ＰＯ誤り訂正処理の流れを示すフローチャートである。
【符号の説明】
【００９１】
１  光ディスク
２  光ピックアップ
３  ＲＦアンプ
４  信号処理装置
５  バッファメモリ
６  マイクロコンピュータ
７  ホストコンピュータ
１０、４７、５０  誤り訂正装置
１１  復号化装置
４０  リードチャネル回路
４２  同期検出回路
４３  復調回路
４６  メモリＩ／Ｆ回路
４８  マイコンＩ／Ｆ回路
４９  ホストＩ／Ｆ回路
５１  内部バス
１０１、１０５、４７１、４７７、５０１、５０８  バッファ転送部
１０２  ＰＩ／ＰＯ誤り訂正処理部
１０４、４７６、５０７  ＥＤＣデコーダ
４７３、５０３  ＰＩシンドローム演算部
４７４、４８０、５０５  エラーフラグ・バッファリング部
５０４、５１１  エラーフラグ・バッファ転送部
４７３１、５１１１  エラーカウンタ
４７４１  第１シフトレジスタ
４７４２  第２シフトレジスタ
４７４３、４７４４  ＡＮＤ素子
４７４５  セレクタ
４７５、５０６  ＰＯ消失訂正処理部
４７９、５１０  誤り訂正シーケンス制御部
５１０１  ＰＩラインカウンタ
４８０１  第１ＲＡＭ
４８０２  第２ＲＡＭ
４８０３  第１カウンタレジスタ
４８０４  第２カウンタレジスタ
４８０５  スイッチング制御部
５０４１  シフトレジスタ
５０４２、５１１２  アドレス生成回路
【図１】
2006309820.tif 000003
【図２】
2006309820.tif 000004
【図３】
2006309820.tif 000005
【図４】
2006309820.tif 000006
【図５】
2006309820.tif 000007
【図６】
2006309820.tif 000008
【図７】
2006309820.tif 000009
【図８】
2006309820.tif 000010
【図９】
2006309820.tif 000011
【図１０】
2006309820.tif 000012
【図１１】
2006309820.tif 000013
【図１２】
2006309820.tif 000014
【図１３】
2006309820.tif 000015
【図１４】
2006309820.tif 000016
【図１５】
2006309820.tif 000017
【図１６】
2006309820.tif 000018
【図１７】
2006309820.tif 000019
【図１８】
2006309820.tif 000020
【図１９】
2006309820.tif 000021
【図２０】
2006309820.tif 000022
【図２１】
2006309820.tif 000023