(57)【特許請求の範囲】
【請求項１】
所定の規則で変調されておりインターリーブされたデータ部およびパリティ部を含むデータを復調する復調手段と；
前記復調手段で復調されたデータをデインターリーブして、データ部およびパリティ部を含む複数のデータ列の集合で形成されたマトリクスを生成する生成手段と；
所定の消失フラグ生成条件が満たされたときに前記マトリクスのデータ列毎に消失フラグを立てる消失フラグ生成手段と；
前記消失フラグ生成手段により立てられた消失フラグを所定の消失フラグ使用条件下で使用して、前記マトリクス内のデータのエラー訂正を行なうエラー訂正手段とを備え、
前記消失フラグ使用条件が、前記消失フラグ生成手段により立てられた消失フラグの数が前記マトリクスのデータ列毎に所定値以上かどうかで決定されるように構成され、
前記消失フラグ生成手段により立てられた消失フラグの数が前記所定値以下の場合は立てられた消失フラグを全て使用し、前記消失フラグ生成手段により立てられた消失フラグの数が前記所定値を超える場合は、それらの消失フラグのうち最初の方の前記所定値相当数を使用するように構成されていることを特徴とするエラー訂正システム。
【請求項２】
前記復調手段で復調されたデータはリシンクコードを含み、前記消失フラグ生成手段は、このリシンクコードが検知されないことに対応して前記消失フラグを立てるように構成されていることを特徴とする請求項１に記載のエラー訂正システム。
【請求項３】
前記復調手段で復調されたデータは一定時間間隔の複数リシンクコードを含み、前記消失フラグ生成手段は、検知されなかったリシンクコードが補正されたことに対応して前記消失フラグを立てるように構成されていることを特徴とする請求項１に記載のエラー訂正システム。
【請求項４】
前記復調手段で復調されたデータが所定数を超えるエラービットを含むときに、前記消失フラグ生成手段が前記消失フラグを立てるように構成されていることを特徴とする請求項１に記載のエラー訂正システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、光ディスクなどの大容量記憶媒体から取り出されるデータのエラー訂正能力の改善に関する。
【０００２】
【従来の技術】
たとえば光ディスクから再生された生のアナログ信号は、“１”または“０”という２値のデジタル信号に変換される。この操作を２値化と呼ぶ。２値化方式にはスライスレベルによる方法と再生信号を微分した信号を利用する方法が知られている。
【０００３】
２値化されたデジタル信号はＰＬＬ（Phase Locked Loop ）回路に入力され、この回路から再生クロックと同期したデータ系列が得られる。このデータ系列をチャネルデータ系列と呼ぶ。２値化後にＰＬＬ回路を通して得られる“１”および“０”のチャネルデータ系列は、たとえば［２ー７］変調された符号系列である。
【０００４】
［２ー７］変調とは、ＲＬＬ（Run Length Limited）符号の一種であり、最小ランが“２”、最大ランが“７”であることから［２ー７］変調とよばれる。ランとは一般に同一のビット（“０”または“１”）の連続あるいは連続ビット長を意味するが、ここでは特に断らない限り“０”の連続ビット数をランと呼ぶことにする。［２ー７］変調では“１”の連続はなく、“０”の連続ビット数は“２”以上“７”以下である。このため、ＲＬＬ符号は最大反転間隔が有限な符号となる。
【０００５】
光ディスクドライブ装置のユーザが記録しようとするデータ系列（ユーザデータ系列）は“１”または“０”が多数連続する場合もあり得るが、［２ー７］変調を施すことにより、必ず一定期間内に“１”が発生する符号が得られる。ＰＬＬ回路は２値化後の信号（２値化信号）の“０”から“１”あるいは“１”から“０”の遷移のタイミングから位相比較を行なうが、［２ー７］変調を行なうことにより、位相比較の間隔は必ず一定期間内に収まるようになる。
【０００６】
前記チャネルデータ系列は復調器に入力され、ユーザデータ系列に逆変換される。ユーザデータ系列はセクタと呼ばれる単位で光ディスクに記録される。セクタの大きさには、“５１２バイト”“１ｋバイト”“２ｋバイト”などがある。
【０００７】
このセクタには、エンボス状ピットで形成されるヘッダ部分、データ記録時にレーザ光を照射することにより記録されるユーザデータ、ＶＦＯ、セクタ番号、同期コード、ＣＲＣコード、ＥＣＣコード等が付加され、［２ー７］変調が施され、たとえばマーク間記録で情報が記録される。
【０００８】
同期コードは、たとえばユーザデータ“１５バイト”に対して“１バイト”付加される特殊なデータ系列で、この同期コードによりビットずれ等を補正し、エラーの伝搬を防いでいる。ＣＲＣコードは読みとったユーザデータ内にエラーがあるか無いかを判別するなどの用途に用いており、たとえば“５１２バイト”のユーザデータに対して“４バイト”のＣＲＣコードが付加される。
【０００９】
ＥＣＣコードはエラー位置の検出およびエラー訂正を行なうためのコードで、たとえば“５１２バイト”のユーザデータに対して“８０バイト”のＥＣＣコードが付加される。セクタ番号はポインタ領域と呼ばれる部分に記録され、たとえば“５１２バイト”のユーザデータに対して“４バイト”のセクタ番号データが付加される。
【００１０】
ユーザデータはＳＣＳＩバスなどを介して、情報入力端末などから光ディスクドライブ装置に入力される。ＳＣＳＩ（Small Computer System Interface ）は小型のコンピュータの周辺装置インターフェースで、光ディスクドライブ装置、ＣＤ−ＲＯＭ、ハードディスク、イメージスキャナ等に使われている。得られたユーザデータはセクタ単位でＤＲＡＭなどのメモリに格納される。
【００１１】
ユーザデータにはインターリーブが施され、バーストエラーをランダムエラーあるいは短いバイトエラーに変換する。たとえば、“１”セクタあたりのユーザデータが“５１２バイト”のとき、ポインタ（４バイト）、ＣＲＣ（４バイト）、ＥＣＣ（８０バイト）を加えた“６００バイト”のデータは（１２０×５）のマトリクス状に配置される。
【００１２】
このマトリクスは“１２０バイト”の列５本からなるが、各列は“１０４バイト”のデータ（ユーザデータ、ポインタ、ＣＲＣのいずれか）と“１６バイト”のＥＣＣコードから構成される。このＥＣＣコードには、たとえばＬＤＣ（Long
Distant Code)と呼ばれるものが用いられる。
【００１３】
【発明が解決しようとする課題】
ＬＤＣは最小距離が長く訂正能力が高い符号で、光ディスクの標準化案の一つとなっている。この場合のＬＤＣは“１２０バイト”からなる１列でエラー検出およびエラー訂正を行なうが、消失なしの場合“８バイト”までの訂正が可能である。
【００１４】
ここで、消失とは「エラーの位置は判っているが、エラーのパターン（数値）については判らないエラー」のことをいう。
消失が正確に検出できれば、“１２０バイト”からなる一列で“１６バイト”までのエラー訂正が可能となることは知られている。しかし、従来は消失の検出は行われておらず、消失なしとして一列あたり“８バイト”までの訂正を行っている。この方法では“１”セクタあたり最大“４０バイト”（８バイトｘ５列）までのエラー訂正しかできない。
この発明の目的は、上記消失を検出することによりエラー訂正能力を改善したエラー訂正システム提供することである。
【００１５】
【課題を解決するための手段】
上記目的を達成するために、この発明のエラー訂正システムは、
所定の規則（２ー７変調規則など）で変調されておりインターリーブされたデータ部およびパリティ部を含むデータを復調する復調手段（４４・ＳＴ１２）と；
前記復調手段（４４）で復調されたデータをデインターリーブ（ＳＴ１４）して、データ部およびパリティ部（ＥＣＣ）を含む複数のデータ列の集合で形成されたマトリクスを生成する生成手段（２・ＳＴ１６）と；
所定の消失フラグ生成条件が満たされたときに（ＳＴ２４イエス）前記マトリクスのデータ列毎に消失フラグを立てる消失フラグ生成手段（ＣＰＵ３０＋ファームウエア）と；
前記消失フラグ生成手段（３０）により立てられた消失フラグを所定の消失フラグ使用条件下で使用して、前記マトリクス内のデータのエラー訂正を行なうエラー訂正手段（３２・ＳＴ２８）とを備えている。
【００１６】
ここで、前記復調手段（４４）で復調されたデータはリシンクコード（ＲＳ）を含み、前記消失フラグ生成手段（３０）は、このリシンクコード（ＲＳ）が検知されないことに対応して前記消失フラグを立てるように構成することができる。
【００１７】
また、前記復調手段（４４）で復調されたデータは一定時間間隔の複数リシンクコード（ＲＳ）を含み、前記消失フラグ生成手段（３０）は、検知されなかったリシンクコード（ＲＳ）が（検知されたリシンクコードに基づいて）補正されたことに対応して前記消失フラグを立てるように構成することができる。
【００１８】
また、前記復調手段（４４）で復調されたデータが所定数（しきい値）を超えるエラービットを含むときに、前記消失フラグ生成手段（３０）が前記消失フラグを立てるように構成することができる。（たとえばしきい値＝３の場合、エラービット数が２以下ではフラグを立てず、エラービット数が３以上でフラグを立てる。）
また、前記消失フラグ使用条件が、前記消失フラグ生成手段（３０）により立てられた消失フラグの数が前記マトリクスのデータ列毎に所定値以上かどうか（たとえば８個以上かどうか）で決定されるように構成することができる。
【００１９】
また、前記消失フラグ生成手段（３０）により立てられた消失フラグの数が前記所定値（たとえば８個）以下の場合は立てられた消失フラグを全て使用し、前記消失フラグ生成手段（３０）により立てられた消失フラグの数が前記所定値（８個）を超える場合は、それらの消失フラグのうち最初の方の前記所定値相当数を使用するように構成することができる。（消失フラグしきい値＝８の場合でいえば、消失フラグが８以下なら８以下のフラグ全てを消失訂正に使用する。消失フラグが８を超える、たとえば１６個なら、１６のうち最初に立った８個のフラグを消失訂正に使用する。）
この発明では消失を示すフラグをエラー訂正に利用するので、消失フラグを利用しない場合に比べて、訂正能力が改善される。
【００２０】
【発明の実施の形態】
以下、図面を参照して、この発明の一実施の形態に係る消失フラグを用いたエラー訂正システムを説明する。
図２において、情報記憶媒体としての光ディスク１は、モータ３によって、たとえば一定の速度で回転される。このモータ３は、モータ制御回路４により制御される。光ディスク１に対する情報の記録／再生は、光学ヘッド５によって行われる。光学ヘッド５は、リニアモータ６の可動部を構成する駆動コイル７に固定されており、その駆動コイル７はリニアモータ制御回路８に接続される。
【００２１】
リニアモータ制御回路８に速度検出器９が接続され、その速度検出器９で検出される光学ヘッド５の速度信号がリニアモータ制御回路８に送られる。リニアモータ６の固定部に、図示しない永久磁石が設けられており、駆動コイル７がリニアモータ制御回路８によって励磁されることにより、光学ヘッド５が光ディスク１の半径方向に移動される。
【００２２】
光学ヘッド５には、図示しないワイヤあるいは板ばねによって支持された対物レンズ１０が設けられる。この対物レンズ１０は、駆動コイル１１の駆動によりフォーカシング方向（レンズの光軸方向）への移動が可能となっており、また駆動コイル１２の駆動によりトラッキング方向（レンズの光軸と直交する方向）への移動も可能となっている。
【００２３】
レーザ制御回路１３の駆動制御により、半導体レーザ発振器９からレーザ光ビームが発せられる。レーザ制御回路１３は、変調回路１４とレーザ駆動回路１５からなり、ＰＬＬ回路１６から供給される記録用クロック信号に同期して動作する。変調回路１４は、エラー訂正回路３２から供給される記録データを記録に適した信号つまり［２ー７］変調データに変調する。レーザ駆動回路１５は、変調回路１４からの［２ー７］変調データに応じて、半導体レーザ発振器（あるいはアルゴンネオンレーザ発振器）１９を駆動する。
【００２４】
ＰＬＬ回路１６は、記録時、水晶発振器からの基本クロック信号を光ディスク１上の記録位置に対応した周波数に分周し、記録用のクロック信号を発生する。ＰＬＬ回路１６はまた、再生時は、再生した同期コードに対応する再生用クロック信号を発生し、さらに再生用クロック信号の周波数異常を検知する。
【００２５】
この周波数異常の検知は、再生用クロック信号の周波数が、再生するデータの光ディスク１上の記録位置に対応した所定周波数の範囲内にあるか否かによりなされる。また、ＰＬＬ回路１６は、ＣＰＵ３０からの制御信号とデータ再生回路１８のカウント部４７からの信号に応じて、記録用あるいは再生用のクロック信号を選択的に出力する。
【００２６】
半導体レーザ発振器１９から発せられるレーザ光ビームは、コリメータレンズ２０、ハーフプリズム２１、対物レンズ１０を介して光ディスク１上に照射される。光ディスク１からの反射光は、対物レンズ１０、ハーフプリズム２１、集光レンズ２２、およびシリンドリカルレンズ２３を介して、光検出器２４に導かれる。
【００２７】
光検出器２４は、４分割の光検出セル２４ａ、２４ｂ、２４ｃ、２４ｄにからなる。このうち、光検出セル２４ａの出力信号は、増幅器２５ａを介して加算器２６ａの一端に供給される。光検出セル２４ｂの出力信号は、増幅器２５ｂを介して加算器２６ｂの一端に供給される。光検出セル２４ｃの出力信号は、増幅器２５ｃを介して加算器２６ａの他端に供給される。光検出セル２４ｄの出力信号は、増幅器２５ｄを介して加算器２６ｂの他端に供給される。
【００２８】
さらに、光検出セル２４ａの出力信号は、増幅器２５ａを介して加算器２６ｃの一端に供給される。光検出セル２４ｂの出力信号は、増幅器２５ｂを介して加算器２６ｄの一端に供給される。光検出セル２４ｃの出力信号は、増幅器２５ｃを介して加算器２６ｄの他端に供給される。光検出セル２４ｄの出力信号は、増幅器２５ｄを介して加算器２６ｃの他端に供給される。
【００２９】
加算器２６ａの出力信号は差動増幅器ＯＰ２の反転入力端に供給され、その差動増幅器ＯＰの非反転入力端に加算器２６ｂの出力信号が供給される。差動増幅器ＯＰ２は、加算器２６ａ、２６ｂの両出力信号の差に応じた、フォーカス点に関する信号を出力する。この出力はフォーカシング制御回路２７に供給される。フォーカシング制御回路２７の出力信号は、フォーカシング駆動コイル１２に供給される。これにより、レーザ光ビームが、光ディスク１上で常時ジャストフォーカスとなる制御される。
【００３０】
加算器２６ｃの出力信号は差動増幅器ＯＰ１の反転入力端に供給され、その差動増幅器ＯＰ１の非反転入力端に加算器２６ｄの出力信号が供給される。差動増幅器ＯＰ１は、加算器２６ｃ、２６ｄの両出力信号の差に応じたトラック差信号を出力する。この出力はトラッキング制御回路２８に供給される。トラッキング制御回路２８は、差動増幅器ＯＰ１からのトラック差信号に応じてトラック駆動信号を作成する。
【００３１】
トラッキング制御回路２８から出力されるトラック駆動信号は、トラッキング方向の駆動コイル１１に供給される。また、トラッキング制御回路２８で用いられるトラック差信号が、リニアモータ制御回路８に供給される。
【００３２】
上記フォーカシングおよびトラッキングがなされることで、光検出器２４の各光検出セル２４ａ、…２４ｄの出力信号の和信号には、つまり加算器２６ｃ、２６ｄの両出力信号の加算である加算器２６ｅの出力信号には、トラック上に形成されたピット（記録情報）からの反射率の変化が反映される。この信号は、データ再生回路１８に供給される。データ再生回路１８は、ＰＬＬ回路１６からの再生用クロック信号に基づき、記録データを再生する。
【００３３】
また、データ再生回路１８は、加算器２６ｅの出力信号とＰＬＬ回路１６からの再生用クロック信号とに基づいてプリフォーマットデータ内のセクタマークを検出するとともに、ＰＬＬ回路１６から供給される２値化信号および再生用クロック信号に基づき、その２値化信号からアドレス情報としてのトラック番号とセクタ番号を再生する。
【００３４】
データ再生回路１８の再生データはバス２９を介してエラー訂正回路３２に供給される。エラー訂正回路３２は、再生データ内のエラー訂正コード（ＥＣＣ）によりエラーを訂正したり、あるいはインターフェース回路３５から供給される記録データにエラー訂正コード（ＥＣＣ）を付与してメモリ２に出力する。
【００３５】
このエラー訂正回路３２でエラー訂正される再生データはバス２９およびインターフェース回路３５を介して外部装置としての記憶媒体制御装置３６に供給される。記憶媒体制御装置３６から発せられる記録データは、インターフェース回路３５およびバス２９を介してエラー訂正回路３２に供給される。
【００３６】
トラッキング制御回路２８によって対物レンズ１０が移動されているとき、リニアモータ制御回路８により、対物レンズ１０が光学ヘッド５内の中心位置近傍に位置するようリニアモータ６つまり光学ヘッド５が移動される。
【００３７】
Ｄ／Ａ変換器３１は、フォーカシング制御回路２７、トラッキング制御回路２８、リニアモータ制御回路８と光ディスク装置の全体を制御するＣＰＵ３０との間での情報の授受に用いられる。
【００３８】
モータ制御回路４、リニアモータ制御回路８、レーザ制御回路１５、ＰＬＬ回路１６、データ再生回路１８、フォーカシング制御回路２７、トラッキング制御回路２８、エラー訂正回路３２等は、バス２９を介してＣＰＵ３０によって制御される。ＣＰＵ３０は、メモリ２に記録されたプログラム（システムソフトウエアまたはファームウエア）によって所定の動作を行なう。
【００３９】
ここで、光ディスク１におけるセクタフォーマットの例を図３に示す。１セクタあたりのユーザデータは“５１２バイト”の場合を示している。図中の数字は（データ）バイト数を表す。以下の説明において、単にバイトという場合はユーザバイト数を表し、チャネルビットでは１６ビットと同じである。
【００４０】
ＶＦＯ１（Variable Frequency Oscillator ）は、ＰＬＬの引き込みを行なうための領域でチャネルビットで、“０１０…”の連続を“１２”バイト（チャネルビットで１９２ビット）分記録したものである。
【００４１】
ＡＳは、（Address Sync）の略で、どこからセクタアドレスが始まるかを示す“１”バイトの同期コードであり、ＡＭ（Address Mark）とも呼ぶこともある。パターンは“0100100000000100”というデータ部分には現れない特殊なパターンが用いられる。
【００４２】
ＩＤ１（Identifier 1）〜ＩＤ３（Identifier 3）は、“５”バイトのアドレス情報を示した領域である。“５”バイトの内容はセクタアドレス（ＩＤ番号を含む）が“３”バイト、ＣＲＣが“２”バイトである。
【００４３】
セクタアドレスは、変調前ユーザビットで“２２”ビットあり、ＩＤ番号は“２”ユーザビットで、合わせて“２４”ユーザビット＝“３”バイトとなっている。したがって、このフォーマットではセクタアドレスとして“４”、“１９４”、“３０４”個の値をとることが可能である。
【００４４】
ＩＤ番号は、たとえばＩＤ１の場合は“１”で、３回重ね書きしているうちの何番目かを表す番号である。このＩＤは“１”〜“３”の値を取り得るので、“２”ビット必要となる。
【００４５】
ＣＲＣ（Cyclic Redundancy Check ）は、セクタアドレス（ＩＤ番号含む）“３”バイトに対するエラー検出符号で、“２”バイトある。このエラー検出符号により、読み込まれたＩＤ（“５”バイト）内のエラーの有無を検出することができる。
【００４６】
ＶＦＯ２もＶＦＯ１と同様にＰＬＬをロックさせるための同一パターンが“８”バイト分記録されている。
ＰＡ（Postambles）は、ポストアンブルと呼ばれる“１”バイトまたは“６”バイトの領域で、ＩＤ３あるいはデータ部の後ろに位置する。可変語長変調方式である［２ー７］変調符号に変調する際、語の区切りが最後まで必ず発生するように設けた領域である。ＰＡは、ＧＡＰ（Ｇａｐ）が無い領域で“１６”〜“３２”チャネルビットのいずれかの長さをランダムに取る。
【００４７】
ＡＬＰＣ（Auto Laser Power Control）は、“４”バイトの長さを有し、たとえば１６進表示で、“３３”“３３”“３０”“１Ａ”というパターンが記録される。ＶＦＯ３もＰＬＬロック用の領域ではあるが、同一パターンの中に同期コードを挿入し、バイト境界の同期をとることも目的とする領域である。
【００４８】
ＤＳ（Data Sync ）は、ＤＭ（Data Mark ）とも呼ばれ、後に続くデータ部のためにバイト境界の同期をとるための同期コードである。
ＤＡＴＡ（Data field）は、データ部と呼ばれ、ユーザデータ、リシンク（Resync）コード、エラー訂正コード（ＥＣＣ；Error Correction Code ）、ＣＲＣ、ポインタ領域などで構成される。これらのデータは決められた順序でマトリクス状に整列され［２ー７］変調が施された後に光ディスク１に記録される。
【００４９】
ＢＵＦ（Buffer）は、ディスク回転変動等を吸収するための領域で何も記録しない。
図１は、以上のように構成された情報処理装置（光ディスク装置）におけるデータ再生回路１８の要部（４１〜４７）を示している。
【００５０】
図１に示すように、光ディスク１から再生された信号は２値化回路４１に供給され、そこで一定のスレッシュホールドレベルＴＨを基準に２値化される。この２値化回路４１の出力信号はＰＬＬ回路１６に供給され、光ディスク再生手段の再生用クロック信号に同期したデータ系列に変換される。
【００５１】
ＰＬＬ回路１６の出力信号は８ビットシフトレジスタ４２に供給され、そこで８ビットのパラレル信号に変換される。この信号は、パターン検知回路４３、復調ＲＯＭ４４、およびエラーフラグ生成回路４５に供給される。
【００５２】
パターン検知回路４３は、８ビットシフトレジスタ４２からの信号のうち、同期信号であるリシンクコードを検知する。
復調ＲＯＭ４４は、８ビットシフトレジスタ４２からの信号をたとえば［２ー７］符号変換規則に基づいて復調する。この復調信号は、有効長カウンタ４６およびパラレル／シリアル（Ｐ／Ｓ）変換回路４７に供給される。有効長カウンタ４６は、［２ー７］符号変換による可変長ブロック符号の語境界を知るためのものである。
【００５３】
パラレル／シリアル変換回路４７は、８ビットシフトレジスタ４２の出力信号を有効長カウンタ４６の出力に応じて語（ワード；パラレルデータ）毎にシリアル信号に変換し、出力する。このシリアル出力信号はメモリ２に供給され、記憶される。
【００５４】
メモリ２には、ＣＰＵ３０の制御により、復調される各データおよび各エラー訂正コードがマトリクス状に配列して記憶される。その配列中に所定数のデータおよび所定数のエラー訂正コード（ＥＣＣ）からなるインターリーブの列が複数形成される。
【００５５】
このメモリ２内の各データおよび各エラー訂正コードのフォーマットは、図４（５１２バイトフォーマット）あるいは図５（２ｋバイトフォーマット）に例示されている。
【００５６】
図４において、ＤＳ１〜ＤＳ３はデータシンクコードで、データ部には入らないが図示されている。図４中の“１”〜“５１２”は、ユーザデータの“１”〜“５１２”バイト目を表わしている。“Ｐ１．１”〜“Ｐ１．４”は、ポインタ領域（４バイト）で、自己アドレス等が記録される。同様に、図５中の“１”〜“２０４８”は、ユーザデータの“１”〜“２０４８”バイト目を表わしており、“Ｐ１．１”〜“Ｐ１．４”はポインタ領域を表している。
【００５７】
図４において、“ＣＲＣ１”〜“ＣＲＣ４”（４バイト）により、（ユーザデータ“５１２”バイト＋ポインタ“４”バイト）のエラー検出ができる。“Ｅ１．１”〜“Ｅ５．１６”は、エラー訂正コードで、“８０”バイト分付加されている。このエラー訂正コードにより、図４の縦方向に関してエラー訂正を行なうことができる。縦方向の列をインターリーブと呼び、縦方向の列は５つでそれぞれについて番号“０”〜“４”を付し、インターリーブ“０”などと呼ぶ。
【００５８】
一つのインターリーブは、“１０４”バイトのユーザデータ、ポインタデータ、ＣＲＣと、“１６”バイトのエラー訂正コードとからなり、全体で“１２０”バイトとなっている。
【００５９】
エラー訂正コードによるエラー検出およびエラー訂正能力は、消失なしの場合一つのインターリーブについて“８”バイト、消失ありの場合は一つのインターリーブについて“１６”バイト、割り当てられる。
【００６０】
ここで、「消失」とは、位置が判っているが、エラーパターン（数値）については判らないエラーのことをいう。したがって、上述した消失ありの場合というのは、“１６”バイトのエラー全部について位置だけは判っている場合のことをいう。
【００６１】
一方、消失なしの場合とは、“８”バイトのエラー全部について、エラー位置およびエラーパターンが判らない場合をいう。エラー位置およびエラーパターンはそれぞれ一つの未知数と考えて、これが“１６”以下であれば訂正可能となる。
【００６２】
たとえば、“４”バイトについては消失なしで、“８”バイトについて消失ありのエラー“１２”バイトは訂正可能である。これは、“４”バイトについては｛（位置＋パターン）×４＝８｝、“８”バイトについては｛（パターン）×８＝８｝であり、未知数の合計が“１６”だからである。
【００６３】
図４の例では、各データおよびエラー訂正コードの“１５”バイトごとに、リシンクコード“ＲＳ１”〜“ＲＳ３９”が存している。また図５の例では、各データおよびエラー訂正コードの“３０”バイトごとに、リシンクコード“ＲＳ１”〜“ＲＳ７３”が存している。
【００６４】
図１のエラーフラグ生成回路４５は、次の［１］ないし［４］の機能ブロックを有している（図４のフォーマットの場合）。これらの機能ブロックは、専用のハードウエアまたは装置のファームウエア（システムソフトウエア）により具現できる。
【００６５】
［１］８ビットシフトレジスタ４２からの信号のうち、復調ＲＯＭ４４の符号変換規則（たとえば［２ー７］変調規則）に合致しないデータを検知し、その検知したデータと同じデータが存するメモリ２内のインターリーブを指定するためのエラーフラグ信号を発する第１指定ブロック４５１。この第１指定ブロック４５１には、符号変換規則に合致しないデータを検知するために、復調ＲＯＭ４４と同じ復調ＲＯＭが設けられている。
【００６６】
［２］第１指定ブロック４５１で指定されるインターリーブの個数が所定値たとえば“３”以上のとき、メモリ２内の全てのインターリーブを指定するためのエラーフラグ信号を発する第２指定ブロック４５２。
【００６７】
［３］パターン検知回路４３で検知される各リシンクコードの時間間隔に異常（ビット抜けなど）があるかどうか検出する異常検出ブロック４５４。
［４］異常検出ブロック４５４が異常を検出したとき、その異常の期間に対応するメモリ２内のデータを指定するためのエラーフラグ信号を発する第３指定ブロック４５３。
【００６８】
これらエラーフラグ信号は、エラー訂正回路３２に供給される。
エラー訂正回路３２は、次の［１］、［２］の機能ブロックを有する。これらの機能ブロックも、専用のハードウエアまたは装置のファームウエア（システムソフトウエア）により具現できる。
【００６９】
［１］メモリ２内の各データのうち、上記第１指定ブロック４５１または第２指定ブロック４５２からのエラーフラグ信号により指定されるインターリーブのデータの内容を、同じインターリーブのエラー訂正コードに基づいて訂正する第１訂正ブロック３２１。
【００７０】
［２］メモリ２内の各データのうち、上記第３指定ブロック４５３のエラーフラグ信号により指定されるデータの内容を、そのデータが存するインターリーブのエラー訂正コードに基づいて訂正する第２訂正ブロック３２２。
【００７１】
つぎに、図１〜図２の構成の作用を説明する。
図２の再生信号発生部から発生される再生信号は、２値化回路４１で２値化される。この２値化信号は、ＰＬＬ回路１６において、再生用クロック信号に同期したデータ系列に変換される。このＰＬＬ回路の出力は、８ビットシフトレジスタ４２でパラレル信号に変換され、パターン検知回路４３、復調ＲＯＭ４４、およびエラーフラグ生成回路４５に供給される。
【００７２】
パターン検知回路４３では、８ビットシフトレジスタ４２からの信号のうち、リシンクコードが検知される。そして、この検知信号がエラーフラグ生成回路４５に供給される。
【００７３】
復調ＲＯＭ４４では、８ビットシフトレジスタ４２からの信号が［２ー７］符号変換規則に基づいて復調される。この復調信号は、Ｐ／Ｓ変換回路４７でシリアル信号に変換され、メモリ２に供給される。
【００７４】
メモリ２では、復調される各データおよび各エラー訂正コードがマトリクス状に配列して記憶され、その配列中に所定数のデータおよび所定数のエラー訂正コード（ＥＣＣ）からなるインターリーブの列が複数形成される。
【００７５】
エラーフラグ生成回路４５では、８ビットシフトレジスタ４２からの信号のうち、復調ＲＯＭ４４の［２ー７］符号変換規則に合致しないデータが検知される。その検知されたデータと同じデータが存するメモリ２内のインターリーブを指定するためのエラーフラグ信号が、エラーフラグ生成回路４５から発せられる。
【００７６】
たとえば、図４において、［２ー７］符号変換規則に合致しないエラーデータがインターリーブ“３”に存している場合、図４の（ａ）のようにインターリーブ“３”に対しエラーフラグ”１”が立てられる。
【００７７】
エラー訂正回路３２では、エラーフラグ生成回路４５からのエラーフラグ信号に基づいてインターリーブ“３”に対する指定がなされ、インターリーブ“３”のデータの内容（パターン）が、同じインターリーブ“３”のエラー訂正コードに基づいて訂正される。
【００７８】
このように、データのエラー位置がエラーフラグ生成回路４５によって指定されることにより、各インターリーブにおける“１６”バイト分の全てのエラー訂正コードを内容（パターン）訂正のためだけに使用することができる。いわゆる消失訂正が可能となる。
【００７９】
この消失訂正により、光ディスク装置の高密度記録の効果を損なうことなく、またエラー訂正符号の多重化を行なう場合のように訂正に要する時間が長引くこともなく、エラー訂正能力の向上が図れる。
【００８０】
ところで、光ディスク１に対するたとえばゴミの付着は、“１”バイト分のデータを損なうだけでなく、その前後のデータにも悪影響を与えることが多い。このため、３個以上のインターリーブにエラーフラグが立つ状況、たとえば図４の（ｂ）のようにインターリーブ“１”“３”“４”にエラーフラグ”１”が立つ状況では、その近傍のインターリーブ“０”“２”についても同様にデータが損なわれているであろうとの判断（推定）の下に、全てのインターリーブ“０”“１”“２”“３”“４”についてエラーフラグ（実エラーフラグ）が立てられる。
【００８１】
この場合、全てのインターリーブ“０”“１”“２”“３”“４”におけるデータの内容（パターン）が、それぞれのインターリーブのエラー訂正コードに基づいて訂正される。
【００８２】
一方、［２ー７］符号変換規則で検知できないエラーとして、光ディスク１の欠陥によるビット抜け等のエラーがある。このエラーが生じたままでは、データ系列が本来のものとはまったく違うものになってしまう。
【００８３】
そこで、図１の構成では、図４の各データおよびエラー訂正コードの“１５”バイトごとに存するリシンクコード“ＲＳ１”〜“ＲＳ３９”がパターン検知回路４３で検知されるとともに、その検知される各リシンクコードの時間間隔がエラーフラグ生成回路４５でカウントされる。
【００８４】
たとえば、リシンクコード“ＲＳ１”が検知されてからリシンクコード“ＲＳ２”が検知されるまでの時間間隔が基準値より少ない場合、その両リシンクコード間が異常であるとの判定の下に、図４の（ｃ）のようにリシンクコード“ＲＳ１”と“ＲＳ２”との間のデータに対してエラーフラグ”１”が立てられる。このエラーフラグは、図５（２ｋバイトフォーマット）では、”＊”マーク（消失フラグ）で例示されている。
【００８５】
図４の場合、“ＲＳ１”と“ＲＳ２”との間の全てのデータの内容（パターン）が、それぞれのインターリーブのエラー訂正コードに基づいて訂正される。
このように、データ系列のエラーに対しても訂正ができることにより、［２ー７］符号変換規則に基づく訂正と合わせ、エラー訂正能力のさらなる向上が図れる。
【００８６】
図６は、この発明の一実施の形態に係るエラー訂正システムの動作（ファームウエア処理）を説明するフローチャートである。このフローチャートの処理は、たとえば図２のＣＰＵ３０により実行される。
【００８７】
光ディスク１からの再生信号（アナログ）が図１の２値化回路４１に入力されると（ステップＳＴ１０）、この信号は回路４１〜４２により所定の処理（図１に関して説明済み）を受け、ＲＯＭ４４において［２ー７］復調される（ステップＳＴ１２）。
【００８８】
復調されたデータは回路４６〜４７により所定の処理（図１に関して説明済み）を受け、デインターリーブされて（ステップＳＴ１４）メモリ２に格納される。メモリ２に格納された所定量のデータにより、図４または図５に示すような、データ部とＥＣＣ部とからなるマトリクスが構成される（ステップＳＴ１６）。
【００８９】
一方、ＲＯＭ４４で復調される前の２値化再生信号からパターン検知回路４３によりリシンクコードが検知され、エラーフラグ生成回路４５において２値化再生信号中のデータエラーおよび同期コード（リシンクコード、データシンクコード）がチェックされる（ステップＳＴ１８）。
【００９０】
データおよび同期コードともエラーなしならば（ステップＳＴ２０イエス）、エラー訂正することなくメモリ２からマトリクス内のデータが順に出力される（ステップＳＴ３０）。
【００９１】
データおよび／または同期コードにエラーがあった場合（ステップＳＴ２０ノー）、消失フラグの生成条件がチェックされる（ステップＳＴ２２）。ここで、消失フラグの生成条件としては、次の３つがある：
＜１＞［２ー７］変調からはずれるパターンが（図１のシフトレジスタ４２から）きたときは消失フラグを生成する。
【００９２】
＜２＞リシンクが（図１の異常検出ブロック４５４により）検知できないときは消失フラグを生成する。
＜３＞リシンクでビット補正したときは、その前およびそれ以前の消失位置（３列前）までを消失とみて、それらの列に消失フラグを立てる。それ以前に消失位置がない場合は１列前のみに消失フラグを立てる。
【００９３】
上記消失フラグ生成条件が成立しないときは（ステップＳＴ２４ノー）、通常のエラー訂正処理が行われる（ステップＳＴ２６）。
上記消失フラグ生成条件が成立するときは（ステップＳＴ２４イエス）、生成された消失フラグを所定の消失フラグ使用条件下で使用して、消失訂正処理が行われる（ステップＳＴ２８）。ここで、所定の消失フラグ使用条件としては、次のものがある：
＜４＞たとえば図７の非積符号のエラー訂正の場合、データ入力方向に並んだエラービットの数が所定のしきい値（たとえば３）以上なら、その列に消失フラグを立てて消失訂正を行なう。
【００９４】
＜５＞たとえば図８の積符号のエラー訂正の場合、データ入力方向に並んだ消失フラグの数が所定のしきい値（たとえば８）以下なら全ての消失フラグ使用して消失訂正を行なう。データ入力方向に並んだ消失フラグの数（たとえば１６）が所定のしきい値（８）を超える場合は、最初の８フラグだけを使用して消失訂正を行なう。
【００９５】
＜６＞たとえば図８の積符号のエラー訂正の場合において、マトリクスデータをデータ入力方向に沿っていくつかに分割してエラー訂正する場合は、消失訂正を行なう。
【００９６】
上記消失フラグ使用条件＜４〜６＞は、前記消失フラグの生成条件＜１〜３＞に対応して変更可能である。どのように変更するかは図６の処理を実行するファームウエアで決めておく。たとえば消失フラグの生成条件＜１＞に対しては消失フラグ使用条件＜４＞でのしきい値を”３”とし、消失フラグの生成条件＜２＞に対しては消失フラグ使用条件＜４＞でのしきい値を”４”にする、といったことが可能である。これにより（ファームウエアまたはシステムソフトウエアの書き方によって）、エラーの発生内容に応じて消失訂正の訂正能力を柔軟に変更することができる。
【００９７】
図９は、この発明の一実施の形態に係るエラー訂正システムが非積符号のエラー訂正に適用される場合において、消失訂正なしでは訂正不能なエラーが発生した場合のマトリクスを例示している。
【００９８】
図９のような１６バイトＥＣＣでは８バイトまでのエラーしか訂正できないので、たとえば図６のステップＳＴ２６では図９の１０バイトエラー訂正はできない。しかし、図９のようなエラーがステップＳＴ２４における条件成立（イエス）に該当するようにファームウエアが書かれておれば、図１０に示すように消失フラグを使用した消失訂正を行うことにより、最大１６バイトまでのエラー訂正が可能となる。すなわち、図６の消失訂正（ステップＳＴ２８）を行い、図１１に示すような訂正結果を得ることができる。
【００９９】
図１２は、この発明の一実施の形態に係るエラー訂正システムが積符号のエラー訂正に適用される場合において、消失訂正（１回目の横方向エラー訂正）により訂正可能なエラーが発生した場合のマトリクスを例示している。また図１３は、図１２の消失フラグを用いた消失訂正により横方向のエラーが訂正されたあと、訂正後のデータによる２回目のエラー訂正（縦方向）を説明する図である。
【０１００】
すなわち、図１２の横方向のエラー訂正を消失訂正してから、図１３の縦方向のエラー訂正を行うように構成すれば、ＥＣＣ１部の構成ビット数が少なくても（ここでは４バイト）比較的高い訂正能力が得られる。そして訂正後のデータがＥＣＣ２部でさらに訂正されるので、最終的な訂正能力は著しく高まる。
【０１０１】
なお、上記実施例では、［２ー７］符号変換を行なう場合を例に説明したが、他の符号変換、たとえば［１ー７］符号変換を行なう場合にも同様に実施可能である。
その他、この発明は上記実施例に限定されるものではなく、要旨を変えない範囲で種々変形実施可能である。
【０１０２】
【発明の効果】
所定条件（消失推定条件および消失フラグ生成条件）の組み合わせに基づき消失訂正を行うことにより、たとえば消失訂正なしでは“１２０バイト”からなる一列で“８バイト”までのエラー訂正しかできなかったものが、“１２０バイト”からなる一列で“１６バイト”までのエラー訂正が可能となる。
【図面の簡単な説明】
【図１】この発明の一実施の形態に係るエラー訂正システムの要部構成を示すブロック図。
【図２】図１のエラー訂正システムが適用される光ディスク装置の構成を説明する図。
【図３】図２の光ディスク装置にかけられる光ディスクのセクタフォーマットを説明する図。
【図４】図１のエラー訂正システムで用いられるデータおよびＥＣＣコードのマトリクス（１セクタ５１２バイトフォーマットの場合）を例示する図。
【図５】図１のエラー訂正システムで用いられるデータおよびＥＣＣコードのマトリクス（１セクタ２ｋバイトフォーマットの場合）を例示する図。
【図６】この発明の一実施の形態に係るエラー訂正システムの動作（ファームウエア処理）を説明するフローチャート図。
【図７】この発明の一実施の形態に係るエラー訂正システムが非積符号のエラー訂正に適用される場合を説明する図。
【図８】この発明の一実施の形態に係るエラー訂正システムが積符号のエラー訂正に適用される場合を説明する図。
【図９】この発明の一実施の形態に係るエラー訂正システムが非積符号のエラー訂正に適用される場合において、消失訂正なしでは訂正不能なエラーが発生した場合のマトリクスを例示する図。
【図１０】図９のマトリクスに消失フラグを立てた場合を例示する図。
【図１１】図１０の消失フラグを用いた消失訂正により、図９のエラーが訂正されたあとのマトリクスを示す図。
【図１２】この発明の一実施の形態に係るエラー訂正システムが積符号のエラー訂正に適用される場合において、消失訂正（１回目の横方向エラー訂正）により訂正可能なエラーが発生した場合のマトリクスを例示する図。
【図１３】図１２の消失フラグを用いた消失訂正により横方向のエラーが訂正されたあと、訂正後のデータによる２回目のエラー訂正（縦方向）を説明する図。
【符号の説明】
２…メモリ
１６…ＰＬＬ回路
１８…データ再生回路
３０…ＣＰＵ（消失訂正ファームウエア処理）
３２…エラー訂正回路
３２１…第１訂正ブロック
３２２…第２訂正ブロック
４１…２値化回路
４２…シフトレジスタ
４３…パターン検知回路（リシンクコード検知）
４４…復調ＲＯＭ（２ー７復調）
４５…エラーフラグ生成回路（消失フラグ処理）
４６…有効長カウンタ
４７…Ｐ／Ｓ（パラレル／シリアル）変換回路
４５１…第１指定ブロック（エラーフラグ発生指示）
４５２…第２指定ブロック（エラーフラグ発生指示）
４５３…第３指定ブロック（エラーフラグ発生指示）
４５４…異常検出ブロック（リシンクコードビット抜け検出）
【図１】
0003708619.tif 000002
【図２】
0003708619.tif 000003
【図３】
0003708619.tif 000004
【図４】
0003708619.tif 000005
【図５】
0003708619.tif 000006
【図６】
0003708619.tif 000007
【図７】
0003708619.tif 000008
【図８】
0003708619.tif 000009
【図９】
0003708619.tif 000010
【図１０】
0003708619.tif 000011
【図１１】
0003708619.tif 000012
【図１２】
0003708619.tif 000013
【図１３】
0003708619.tif 000014