(57)【特許請求の範囲】
【請求項１】
データ格納媒体に格納されるデータを再生する再生装置において、
前記データ格納媒体の再生信号から検出された、前記データに含まれている同期パターンを検出する同期パターン検出手段と、
前記再生信号から再生されるクロック信号の１つの周期の開始時刻から半周期を経過した時刻および前記再生信号の振幅から定めた基準点と、前記再生信号との誤差を検出する誤差検出手段と、
前記クロック信号を基に、前記同期パターンの間隔と、予め定めた期間との差をずれ量として検出するずれ量検出手段と、
検出された前記同期パターンの間隔が分割された区間毎に、前記誤差を積算する誤差積算手段と、
連続する２つの前記同期パターンの間において、積算された前記積算値の絶対値が最大となる前記区間の時刻であるずれ発生時刻を検出するずれ発生時刻検出手段と、
予め定めた前記期間より長い期間の前記データを格納するFIFO（First In First Out）バッファと、
０以外の前記ずれ量が検出された場合、前記ずれ量および前記ずれ発生時刻を基に、前記ずれ発生時刻から前記同期パターンが検出されるまでの前記データを前記ずれ量に対応して時間方向に移動させるように、前記FIFOバッファを制御する制御手段とを備え、
前記FIFOバッファは、前記制御手段により前記ずれ量に対応して時間方向に移動させるように制御されて、自らが格納している前記データを、前記クロック信号に対するずれが補正されたデータとして出力する
ことを特徴とする再生装置。
【請求項２】
前記同期パターン検出手段は、
前記クロック信号のカウント値に基づいて、前記同期パターンが検出される検出範囲を設定する検出範囲設定手段と、
前記検出範囲において前記同期パターンが検出されなかった場合、予め定めた前記期間によって定まる時刻に、前記同期パターンの検出を示す信号を挿入する同期パターン検出信号挿入手段と
を備えることを特徴とする請求項１に記載の再生装置。
【請求項３】
前記誤差検出手段は、前記基準点と、前記再生信号との時間方向の誤差である位相誤差を検出し、
前記補正手段は、検出された前記同期パターンの間隔と予め定めた期間との差、および前記同期パターン間隔が分割された区間のうち、検出された前記位相誤差から、前記クロック信号に対する、前記データのずれが発生したと推定される前記区間の時刻を基に、前記クロック信号に対する前記データのずれを補正する
ことを特徴とする請求項１に記載の再生装置。
【請求項４】
前記誤差検出手段は、前記基準点と、前記再生信号との振幅方向の誤差であるゼロクロスオフセットを検出し、
前記補正手段は、検出された前記同期パターンの間隔と予め定めた期間との差、および前記同期パターン間隔が分割された区間のうち、検出された前記ゼロクロスオフセットから、前記クロック信号に対する、前記データのずれが発生したと推定される前記区間の時刻を基に、前記クロック信号に対する前記データのずれを補正する
ことを特徴とする請求項１に記載の再生装置。
【請求項５】
データ格納媒体に格納されるデータを再生する再生方法において、
前記データ格納媒体の再生信号から検出された、前記データに含まれている同期パターンを検出する同期パターン検出ステップと、
前記再生信号から再生されるクロック信号の１つの周期の開始時刻から半周期を経過した時刻および前記再生信号の振幅から定めた基準点と、前記再生信号との誤差を検出する誤差検出ステップと、
前記クロック信号を基に、前記同期パターンの間隔と、予め定めた期間との差をずれ量として検出するずれ量検出ステップと、
検出された前記同期パターンの間隔が分割された区間毎に、前記誤差を積算する誤差積算ステップと、
連続する２つの前記同期パターンの間において、積算された前記積算値の絶対値が最大となる前記区間の時刻であるずれ発生時刻を検出するずれ発生時刻検出ステップと、
０以外の前記ずれ量が検出された場合、予め定めた前記期間より長い期間の前記データを格納するFIFO（First In First Out）を、前記ずれ量および前記ずれ発生時刻を基に、前記ずれ発生時刻から前記同期パターンが検出されるまでの前記データを前記ずれ量に対応して時間方向に移動させるように制御する制御ステップとを含み、
前記制御ステップの処理により前記ずれ量に対応して時間方向に移動させるように制御されて、前記FIFOバッファに格納されている前記データが、前記クロック信号に対するずれが補正されたデータとして出力される
ことを特徴とする再生方法。
【請求項６】
データ格納媒体に格納されるデータを再生する再生処理用のプログラムであって、
前記データ格納媒体の再生信号から検出された、前記データに含まれている同期パターンを検出する同期パターン検出ステップと、
前記再生信号から再生されるクロック信号の１つの周期の開始時刻から半周期を経過した時刻および前記再生信号の振幅から定めた基準点と、前記再生信号との誤差を検出する誤差検出ステップと、
前記クロック信号を基に、前記同期パターンの間隔と、予め定めた期間との差をずれ量として検出するずれ量検出ステップと、
検出された前記同期パターンの間隔が分割された区間毎に、前記誤差を積算する誤差積算ステップと、
連続する２つの前記同期パターンの間において、積算された前記積算値の絶対値が最大となる前記区間の時刻であるずれ発生時刻を検出するずれ発生時刻検出ステップと、
０以外の前記ずれ量が検出された場合、予め定めた前記期間より長い期間の前記データを格納するFIFO（First In First Out）を、前記ずれ量および前記ずれ発生時刻を基に、前記ずれ発生時刻から前記同期パターンが検出されるまでの前記データを前記ずれ量に対応して時間方向に移動させるように制御する制御ステップとを含み、
前記制御ステップの処理により前記ずれ量に対応して時間方向に移動させるように制御されて、前記FIFOバッファに格納されている前記データが、前記クロック信号に対するずれが補正されたデータとして出力される
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
データ格納媒体に格納されるデータを再生する処理を、コンピュータに行わせるプログラムにおいて、
前記データ格納媒体の再生信号から検出された、前記データに含まれている同期パターンを検出する同期パターン検出ステップと、
前記再生信号から再生されるクロック信号の１つの周期の開始時刻から半周期を経過した時刻および前記再生信号の振幅から定めた基準点と、前記再生信号との誤差を検出する誤差検出ステップと、
前記クロック信号を基に、前記同期パターンの間隔と、予め定めた期間との差をずれ量として検出するずれ量検出ステップと、
検出された前記同期パターンの間隔が分割された区間毎に、前記誤差を積算する誤差積算ステップと、
連続する２つの前記同期パターンの間において、積算された前記積算値の絶対値が最大となる前記区間の時刻であるずれ発生時刻を検出するずれ発生時刻検出ステップと、
０以外の前記ずれ量が検出された場合、予め定めた前記期間より長い期間の前記データを格納するFIFO（First In First Out）を、前記ずれ量および前記ずれ発生時刻を基に、前記ずれ発生時刻から前記同期パターンが検出されるまでの前記データを前記ずれ量に対応して時間方向に移動させるように制御する制御ステップとを含む処理を実行させ、
前記制御ステップの処理により前記ずれ量に対応して時間方向に移動させるように制御されて、前記FIFOバッファに格納されている前記データが、前記クロック信号に対するずれが補正されたデータとして出力される
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は再生装置および方法、記録媒体、並びにプログラムに関し、特に、いわゆるビットスリップによるエラーをより少なくすることができるようにした再生装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
光ディスク装置、HDD（Hard Disk Drive）、デジタルビデオカセット、またはデータストリーマ等の再生装置は、記録媒体の読み取りにより取得した再生信号からクロックを生成し、生成したクロックを基準にして再生信号を処理することにより、記録媒体に記録されているデータを再生する。【０００３】
図１は、記録媒体の再生装置の従来の構成を示す図である。【０００４】
等化器１１は、記録媒体からの再生信号を整形し、その再生信号がＡ/Ｄ変換部（Analog/Digital Converter）１２へ供給される。【０００５】
Ａ/Ｄ変換部１２は、クロック生成部１３から供給される再生クロックを基に等化器１１から供給されたアナログ信号である再生信号をデジタル信号に変換し、変換後に生成されたデジタル信号をクロック生成部１３および等化器１４に供給する。【０００６】
クロック生成部１３は、位相誤差検出部２１およびVCO（Voltage Controlled Oscillator）２２からなり、PLL（Phase Locked Loop）方式により再生クロックを生成する。再生クロックは、Ａ/Ｄ変換部１２、クロック生成部１３、等化器１４およびデータ検出部１５に供給される。【０００７】
位相誤差積算部２１は、再生クロックとＡ/Ｄ変換部１２から出力されたデジタル信号との位相誤差を検出して、位相誤差に対応する信号をVCO２２に供給する。【０００８】
VCO２２は、位相誤差検出部２１からの信号を基に、位相誤差をより小さくする周波数の再生クロックを出力する。再生クロックは、さらに位相誤差検出部２１に供給される。【０００９】
等化器１４は、再生クロックを基に、デジタル信号を整形し、整形したデジタル信号をデータ検出部１５に供給する。【００１０】
データ検出部１５は、ビタビ復号によりデジタル信号の誤りを訂正し、誤りを訂正したデジタル信号を検出データとして出力する。【００１１】
記録媒体に欠陥があると、入力信号から生成されたクロックと再生されたデータとのずれ、いわゆるビットスリップが発生する。ビットスリップが発生すると、それ以後のデータにエラーが伝播し、エラーを訂正することができなくなってしまう。【００１２】
このような事態を回避するため、記録媒体には同期パターンと称する特定のパターンが、所定の決まった間隔で配置され、同期パターンによってビットスリップによるエラーの伝播が防止される。【００１３】
デジタル信号から同期パターンを検出し、クロックパルスをカウントし、カウント値に基づいて同期パターンの予想位置を設定し、カウント値に基づいて同期パターンの予想範囲を設定し、カウント値を保持し、検出した同期パターンと、カウント値と、同期パターンの予想位置と、設定された同期パターンの予想範囲と、保持されているカウント値とを参照して同期信号を出力し、この同期信号によりカウンタをリセットさせるようにしている同期回路もある（例えば、特許文献１参照）。この同期回路においては、設定された予測範囲内で同期パターンが検出された場合には、同期パターンが検出されたタイミングで同期信号が出力される一方、設定された予測範囲内で同期パターンが検出されなかった場合には、設定されたタイミングで同期信号が出力され、更に、設定した予想範囲外で同期パターンが検出された場合には、カウンタのカウント値と保持されているカウント値とを比較し、両カウント値が一致していればそのタイミングで同期信号が出力される一方、両カウントが一致していなければそのタイミングでカウンタのカウント値が保持される。【００１４】
また、再生信号より生成した再生クロックの位相のずれを検出し、この位相のずれに基づいて、再生信号の欠落及び又は増加をビットスリップ検出信号として出力し、ビットスリップによるエラーの伝播を防止しているものもある（例えば、特許文献２参照）。【００１５】
【特許文献１】特開平８−２１２７０５号公報
【００１６】
【特許文献２】特開平１０−２５５４０９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、記録媒体における記録密度が高まってきたため、ゴミやキズによる信号欠陥の発生頻度が上がってきており、単に同期パターンでバーストエラーの伝播を食い止めるだけでは記録媒体に記録されているデータの安定した読み出しが保証されているとは言えない。【００１８】
また、信号欠陥の影響でビットスリップを起こした後、現実にはPLLの位相引き込み途中において同期パターンが検出されない場合もあり、再生信号自体は回復しているにもかかわらず、さらに次の同期パターンまでバーストエラーが伝播してまい、エラーレートが上昇してしまうときがある。
【課題を解決するための手段】
【００１９】
本発明の再生装置は、データ格納媒体の再生信号から検出された、データに含まれている同期パターンを検出する同期パターン検出手段と、再生信号から再生されるクロック信号の１つの周期の開始時刻から半周期を経過した時刻および再生信号の振幅から定めた基準点と、再生信号との誤差を検出する誤差検出手段と、クロック信号を基に、同期パターンの間隔と、予め定めた期間との差をずれ量として検出するずれ量検出手段と、検出された同期パターンの間隔が分割された区間毎に、誤差を積算する誤差積算手段と、連続する２つの同期パターンの間において、積算された積算値の絶対値が最大となる区間の時刻であるずれ発生時刻を検出するずれ発生時刻検出手段と、予め定めた期間より長い期間のデータを格納するFIFO（First In First Out）バッファと、０以外のずれ量が検出された場合、ずれ量およびずれ発生時刻を基に、ずれ発生時刻から同期パターンが検出されるまでのデータをずれ量に対応して時間方向に移動させるように、FIFOバッファを制御する制御手段とを備え、FIFOバッファは、制御手段によりずれ量に対応して時間方向に移動させるように制御されて、自らが格納しているデータを、クロック信号に対するずれが補正されたデータとして出力することを特徴とする。
【００２０】
同期パターン検出手段は、クロック信号のカウント値に基づいて、同期パターンが検出される検出範囲を設定する検出範囲設定手段と、検出範囲において同期パターンが検出されなかった場合、予め定めた期間によって定まる時刻に、同期パターンの検出を示す信号を挿入する同期パターン検出信号挿入手段とを設けることができる。【００２１】
誤差検出手段は、基準点と、再生信号との時間方向の誤差である位相誤差を検出し、補正手段は、検出された同期パターンの間隔と予め定めた期間との差、および同期パターン間隔が分割された区間のうち、検出された位相誤差から、クロック信号に対する、データのずれが発生したと推定される区間の時刻を基に、クロック信号に対するデータのずれを補正することができる。【００２２】
誤差検出手段は、基準点と、再生信号との振幅方向の誤差であるゼロクロスオフセットを検出し、補正手段は、検出された同期パターンの間隔と予め定めた期間との差、および同期パターン間隔が分割された区間のうち、検出されたゼロクロスオフセットから、クロック信号に対する、データのずれが発生したと推定される区間の時刻を基に、クロック信号に対するデータのずれを補正することができる。【００２４】
本発明の再生方法は、データ格納媒体の再生信号から検出された、データに含まれている同期パターンを検出する同期パターン検出ステップと、再生信号から再生されるクロック信号の１つの周期の開始時刻から半周期を経過した時刻および再生信号の振幅から定めた基準点と、再生信号との誤差を検出する誤差検出ステップと、クロック信号を基に、同期パターンの間隔と、予め定めた期間との差をずれ量として検出するずれ量検出ステップと、検出された同期パターンの間隔が分割された区間毎に、誤差を積算する誤差積算ステップと、連続する２つの同期パターンの間において、積算された積算値の絶対値が最大となる区間の時刻であるずれ発生時刻を検出するずれ発生時刻検出ステップと、０以外のずれ量が検出された場合、予め定めた期間より長い期間のデータを格納するFIFO（First In First Out）を、ずれ量およびずれ発生時刻を基に、ずれ発生時刻から同期パターンが検出されるまでのデータをずれ量に対応して時間方向に移動させるように制御する制御ステップとを含み、制御ステップの処理によりずれ量に対応して時間方向に移動させるように制御されて、FIFOバッファに格納されているデータが、クロック信号に対するずれが補正されたデータとして出力されることを特徴とする。
【００２５】
本発明の記録媒体のプログラムは、データ格納媒体の再生信号から検出された、データに含まれている同期パターンを検出する同期パターン検出ステップと、再生信号から再生されるクロック信号の１つの周期の開始時刻から半周期を経過した時刻および再生信号の振幅から定めた基準点と、再生信号との誤差を検出する誤差検出ステップと、クロック信号を基に、同期パターンの間隔と、予め定めた期間との差をずれ量として検出するずれ量検出ステップと、検出された同期パターンの間隔が分割された区間毎に、誤差を積算する誤差積算ステップと、連続する２つの同期パターンの間において、積算された積算値の絶対値が最大となる区間の時刻であるずれ発生時刻を検出するずれ発生時刻検出ステップと、０以外のずれ量が検出された場合、予め定めた期間より長い期間のデータを格納するFIFO（First In First Out）を、ずれ量およびずれ発生時刻を基に、ずれ発生時刻から同期パターンが検出されるまでのデータをずれ量に対応して時間方向に移動させるように制御する制御ステップとを含み、制御ステップの処理によりずれ量に対応して時間方向に移動させるように制御されて、FIFOバッファに格納されているデータが、クロック信号に対するずれが補正されたデータとして出力されることを特徴とする。
【００２６】
本発明のプログラムは、データ格納媒体の再生信号から検出された、データに含まれている同期パターンを検出する同期パターン検出ステップと、再生信号から再生されるクロック信号の１つの周期の開始時刻から半周期を経過した時刻および再生信号の振幅から定めた基準点と、再生信号との誤差を検出する誤差検出ステップと、クロック信号を基に、同期パターンの間隔と、予め定めた期間との差をずれ量として検出するずれ量検出ステップと、検出された同期パターンの間隔が分割された区間毎に、誤差を積算する誤差積算ステップと、連続する２つの同期パターンの間において、積算された積算値の絶対値が最大となる区間の時刻であるずれ発生時刻を検出するずれ発生時刻検出ステップと、０以外のずれ量が検出された場合、予め定めた期間より長い期間のデータを格納するFIFO（First In First Out）を、ずれ量およびずれ発生時刻を基に、ずれ発生時刻から同期パターンが検出されるまでのデータをずれ量に対応して時間方向に移動させるように制御する制御ステップとを含む処理をコンピュータに実行させ、制御ステップの処理によりずれ量に対応して時間方向に移動させるように制御されて、FIFOバッファに格納されているデータが、クロック信号に対するずれが補正されたデータとして出力されることを特徴とする。
【００２７】
本発明の再生装置および方法、記録媒体、並びにプログラムにおいては、データ格納媒体の再生信号から検出された、データに含まれている同期パターンを検出する同期パターンが検出され、再生信号から再生されるクロック信号の１つの周期の開始時刻から半周期を経過した時刻および再生信号の振幅から定めた基準点と、再生信号との誤差が検出される。そして、クロック信号を基に、同期パターンの間隔と、予め定めた期間との差がずれ量として検出され、検出された同期パターンの間隔が分割された区間毎に、誤差が積算され、連続する２つの同期パターンの間において、積算された積算値の絶対値が最大となる区間の時刻であるずれ発生時刻が検出され、FIFO（First In First Out）バッファに、予め定めた期間より長い期間のデータが格納され、０以外のずれ量が検出された場合、ずれ量およびずれ発生時刻を基に、ずれ発生時刻から同期パターンが検出されるまでのデータをずれ量に対応して時間方向に移動させるように、FIFOバッファが制御され、FIFOバッファより、ずれ量に対応して時間方向に移動させるように制御されて、格納されているデータが、クロック信号に対するずれが補正されたデータとして出力される。
【図面の簡単な説明】
【００２８】
【図１】従来の再生装置を示すブロック図である。
【図２】本発明の再生装置の一実施の形態の構成を示すブロック図である。
【図３】同期検出部およびビットスリップ補正部の詳細を示すブロック図である。
【図４】位相誤差の検出を説明する図である。
【図５】ビットスリップが発生した場合の、連続する同期パターンに対する、ずれ量の検出およびずれが発生したと予測される時刻の検出を示すタイミングチャートである。
【図６】ビットスリップが発生した場合の、ビットスリップ発生位置の算出方法を示す図である。
【図７】同期パターン補間モードにおいて、同期パターンが検出されなかった場合の、同期パターン検出信号の挿入を説明するタイミングチャートである。
【図８】同期パターンを補間した場合の、ビットスリップ発生位置の算出方法を示す図である。
【図９】再生の処理を説明するフローチャートである。
【図１０】ビットスリップ補正を説明するフローチャートである。
【図１１】同期パターン検出の詳細を説明するフローチャートである。
【図１２】補正情報算出の処理の詳細を説明するフローチャートである。
【図１３】FIFOの制御の処理の詳細を説明するフローチャートである。
【図１４】検出データの補正を説明する図である。
【図１５】検出データの補正を説明する図である。
【図１６】検出データの補正を説明する図である。
【図１７】検出データの補正を説明する図である。
【図１８】本発明の再生装置の一実施の形態の他の構成を示すブロック図である。
【図１９】同期検出部およびビットスリップ補正部の詳細を示すブロック図である。
【図２０】ゼロクロスオフセットの検出を説明する図である。
【図２１】ビットスリップが発生した場合の、連続する同期パターンに対する、ずれ量の検出およびずれが発生したと予測される時刻の検出を示すタイミングチャートである。
【図２２】ビットスリップが発生した場合の、ビットスリップ発生位置の算出方法を示す図である。
【図２３】同期パターン補間モードにおいて、同期パターンが検出されなかった場合の、同期パターン検出信号の挿入を説明するタイミングチャートである。
【図２４】同期パターンを補間した場合の、ビットスリップ発生位置の算出方法を示す図である。
【図２５】再生の処理を説明するフローチャートである。
【図２６】ビットスリップ補正を説明するフローチャートである。
【図２７】補正情報算出の処理の詳細を説明するフローチャートである。
【符号の説明】
【００２９】
３１  等化器，  ３２  Ａ/Ｄ変換部，  ３３  クロック生成部，  ３４  等化器，  ３５  データ検出部，  ３６  エラー補正部，  ４１  位相誤差検出部，  ４２  VCO，  ５１  位相誤差検出部，  ５２  同期検出部，  ５３  ビットスリップ補正部，  ６１  ドライブ，  ７１  磁気ディスク，  ７２  光ディスク，  ７３  光磁気ディスク，  ７４  半導体メモリ，  ８１  ビットスリップ判定部，  ８２  FIFO制御部，  ８３  FIFO，  ８４  検出範囲設定部,  ８５  同期パターン検出信号挿入部,  ９１  同期パターン間隔カウンタ，  ９２  位相誤差積算部，  ９３  位相誤差最大時刻記憶部，  ３０１  ゼロクロスオフセット検出部，  ３０２  ビットスリップ補正部，  ３１１  ビットスリップ判定部，  ３２１  ゼロクロスオフセット積算部，  ３２２  ゼロクロスオフセット最大時刻記憶部
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照しながら本発明の実施の形態について説明する。【００３３】
図２は、本発明の再生装置の一実施の形態の構成を示すブロック図である。【００３４】
等化器３１は、光ディスク、ハードディスク、またはデジタルビデオカセットなどの記録媒体から図示せぬピックアップが再生した再生信号を整形し、再生された再生信号をＡ/Ｄ変換部３２に供給する。この記録媒体は、データ格納媒体の一例であり、化学的または物理的変化によってデータを記録し、再生において、機械的に駆動されるものであればよい。【００３５】
Ａ/Ｄ変換部３２は、クロック生成部３３から供給される再生クロックを基に、等化器３１から供給されたアナログ信号である再生信号をデジタル信号に変換する。Ａ/Ｄ変換部３２は、変換により生成されたデジタル信号を、クロック生成部３３および等化器３４に供給する。【００３６】
クロック生成部３３は、位相誤差検出部４１およびVCO４２からなり、PLL方式によりデジタル信号から再生クロックを生成する。【００３７】
位相誤差検出部４１は、再生クロックとＡ/Ｄ変換部３２から出力されたデジタル信号との位相誤差を検出して、位相誤差の大きさを示す信号をVCO４２に供給する。【００３８】
VCO４２は、位相誤差検出部４１からの信号を基に、位相誤差の大きさに対応させて発振周波数を変化させることにより、位相誤差をより小さくする周波数の再生クロックを出力する。再生クロックは、Ａ/Ｄ変換部３２、位相誤差検出部４１、位相誤差検出部５１、同期検出部５２、およびビットスリップ補正部５３に供給される。【００３９】
等化器３４は、再生クロックを基に、デジタル信号のエッジ位置を時間方向に調整することにより、デジタル信号を整形し、整形したデジタル信号をデータ検出部３５およびエラー補正部３６に供給する。【００４０】
以下、整形されたデジタル信号は、等化後振幅情報とも称する。【００４１】
データ検出部３５は、ビタビ復号によりデジタル信号の誤りを訂正し、誤りを訂正したデジタル信号を検出データとして出力する。なお、データ検出部３５は、ビタビ復号に限らず、他の最尤復号方式を利用するようにしてもよい。【００４２】
エラー補正部３６は、位相誤差検出部５１、同期検出部５２、およびビットスリップ補正部５３からなる。【００４３】
位相誤差検出部５１は、等化器３４から供給された等化後振幅情報と再生クロックとの位相誤差を検出して、位相誤差を示す位相誤差信号をビットスリップ補正部５３に供給する。【００４４】
同期検出部５２は、検出データと再生クロックを基に、予め定められた特定のビットパターンからなる同期パターンを検出し、同期パターンを検出したことを示す同期パターン検出信号をビットスリップ補正部５３に供給する。【００４５】
ビットスリップ補正部５３は、検出データ、位相誤差信号、同期パターン検出信号、および再生クロックを基に、ビットスリップにより発生したエラーを補正し、補正をした検出データを出力する。【００４６】
ドライブ６１は、必要に応じて再生装置に接続される。ドライブ６１には、装着された磁気ディスク７１、光ディスク７２、光磁気ディスク７３、または半導体メモリ７４が適時装着される。ドライブ６１は、装着された磁気ディスク７１、光ディスク７２、光磁気ディスク７３、または半導体メモリ７４から記憶されているプログラムを読み出して、読み出したプログラムをエラー補正部３６に供給する。【００４７】
このように、エラー補正部３６は、記録媒体の一例である磁気ディスク７１、光ディスク７２、光磁気ディスク７３、または半導体メモリ７４から読み出されたプログラムを実行することができる。【００４８】
なお、ビットスリップ補正部５３から出力された検出データは、EFM（Eight to Fourteen Modulation）などの所定の方式で復号され、ECC（Error Correction Coding）などにより誤り訂正される。【００４９】
図３は、同期検出部５２およびビットスリップ補正部５３の構成の詳細を示すブロック図である。【００５０】
ビットスリップ補正部５３は、ビットスリップ判定部８１、FIFO制御部８２、およびFIFOバッファ８３を含む。また、同期検出部５２は、検出範囲設定部８４および同期パターン検出信号挿入部８５を含む。【００５１】
さらに、ビットスリップ判定部８１は、同期パターン間隔カウンタ９１、位相誤差積算部９２、および位相誤差最大時刻記憶部９３を含む。【００５２】
検出範囲設定部８４は、再生クロック信号のカウント値に基づいて、同期パターンが検出される検出範囲を設定する。【００５３】
同期パターン検出信号挿入部８５は、検出範囲内に同期パターンが検出されない場合に、予め定められた期間に同期パターン検出信号を挿入する。ここで、予め定めた期間とは、一般的に光ディスク等の記録媒体（データ格納媒体）において、記録されているデータとは異なる同期パターンとしての特定のパターンが、通常、等間隔で記録信号に埋め込まれており、その間隔のことをいう。従って、同期パターン検出信号が挿入される期間は、記録媒体の方式によって定まる。【００５４】
ビットスリップ判定部８１は、同期検出部５２から供給された同期パターン検出信号、および位相誤差検出部５１から供給された位相誤差信号を基に、再生クロックと検出データとのずれ量を検出すると共に、再生クロックと検出データとのずれが発生したと予測される時刻を特定する。ビットスリップ判定部８１は、再生クロックと検出データとのずれ量を示す信号、およびずれが発生したと予測される時刻を示す信号をFIFO制御部８２に供給する。【００５５】
以下、再生クロックと検出データとのずれ量を示す信号、およびずれが発生したと予測される時刻を示す信号は、ビットスリップ補正情報とも称する。【００５６】
同期パターン間隔カウンタ９１は、再生クロックを基に同期検出部５２より検出された同期信号と、予め定めた期間との差をずれ量として検出する。【００５７】
位相誤差積算部９２は、連続する２つの同期パターンの間隔において、間隔が分割された区間において検出された位相誤差を積算することにより、位相誤差区間積算値を算出する。ここで、間隔が分割される区間は、予め定めた位相誤差の個数、および期間、並びに予め定めたチャンネルビットのいずれかで決定される。【００５８】
位相誤差最大時刻記憶部９３は、連続する２つの同期パターンの間において、積算された積算値の絶対値が最大となる区間の時刻である、再生クロックと等化後振幅情報とのずれが発生したと予測される時刻を検出して、その時刻を記憶する。【００５９】
FIFO制御部８２は、ビットスリップ判定部８１から供給された再生クロックと検出データとのずれ量を示す信号、およびずれが発生したと予測される時刻を示す信号を基に、FIFOバッファ８３を制御して、FIFOバッファ８３に、格納されている検出データの再生クロックに対するずれを補正させる。【００６０】
FIFOバッファ８３は、２つの同期パターンの間に配置される検出データの数以上の検出データを格納する先入れ先出しバッファである。FIFOバッファ８３は、FIFO制御部８２から供給される制御情報を基に、検出データをずれ量に対応して時間方向に移動させことで、ビットスリップ補正を行い、検出データとして出力する。【００６１】
なお、位相誤差積算部９２は、連続する２つの同期パターンの間隔において、間隔が分割された区間において検出された位相誤差を平均することにより、位相誤差区間平均値を算出されるようにしてもよい。【００６２】
次に、図４を参照して、位相誤差検出部５１における、位相誤差の検出の一例について説明する。【００６３】
図４は、横方向を時間軸tとして、再生クロックの信号波形、“１”および“０”のいずれかの値を取り得る検出データ、および等化後振幅情報の値を示す図である。図４において、data(ｎ−1)およびdata(ｎ)は、再生クロックの立ち上がりにおける、等化後振幅情報の振幅値である。data(ｎ)は、data(ｎ−1)の次の等化後振幅情報の振幅値である。【００６４】
位相誤差は、例えば、以下に示す式（１）により算出される。【００６５】
位相誤差＝[data(ｎ) + data(ｎ−1)] / [data(ｎ)−data(ｎ−1)] ・・・（１）【００６６】
式（１）によって、再生クロックに対する、等化後振幅情報の時間的なずれ量が算出される。【００６７】
位相誤差がない場合、等化後振幅情報の符号が変化する時刻は、再生クロックにおける１と０とが切り変わる時刻t0と一致する。再生クロックにおいて、１と０が切り替わる時刻t0と、等化後振幅情報の極性（符号）が変化する時刻との差（誤差）が、位相誤差である。図４の矢印は、位相誤差を示す。【００６８】
すなわち、図４で示されるように、再生クロックの１周期において、検出データは、“１”または“０”のいずれか一方の１つの値をとる。例えば、再生クロックの１周期は、再生クロックのある立ち上がりから、次の立ち上がりまでである。再生クロックの立ち上がりは、再生クロックの１周期の開始時刻および終了時刻を示していると言える。この場合、再生クロックの１周期の開始時刻から、再生クロックの1/2周期（半周期）が経過した時刻t0において、再生クロックが立ち下がる。以下、再生クロックの１周期の開始時刻から、再生クロックの1/2周期が経過した時刻t0を、半周期点と称する。【００６９】
ここで、時間と等化後振幅情報の振幅値との関係を考える。図４の下側において、横方向は、時間を示し、縦方向は、等化後振幅情報の振幅値を示す。【００７０】
等化後振幅情報に誤差が含まれていない場合、すなわち、等化後振幅情報が理想的である場合、時間と等化後振幅情報の振幅値とをそれぞれ座標値とする座標空間において、再生クロックのある周期の開始時刻、およびその開始時刻における等化後振幅情報の振幅値data(ｎ−1)によって特定される点と、再生クロックの次の周期の開始時刻、および次の周期の開始時刻における等化後振幅情報の振幅値data(ｎ)によって特定される点とを結ぶ直線は、半周期点および０である振幅値によって特定される点を通る。【００７１】
すなわち、等化後振幅情報に誤差が含まれていない場合、この直線と、０である振幅値を示す直線とは、半周期点（時刻t0）において交わることとなる。【００７２】
等化後振幅情報に誤差が含まれている場合、時間と等化後振幅情報の振幅値とをそれぞれ座標軸とする座標空間において、再生クロックのある周期の開始時刻、およびその開始時刻における等化後振幅情報の振幅値data(ｎ−1)によって特定される点と、再生クロックの次の周期の開始時刻、および次の周期の開始時刻における等化後振幅情報の振幅値data(ｎ)によって特定される点とを結んだ直線は、半周期点と０である振幅値とから特定される点を通らない。等化後振幅情報に誤差が含まれている場合、この直線と、０である振幅値を示す直線とが交わる点は、時間方向に半周期点（時刻t0）からずれる。【００７３】
以下、時間と等化後振幅情報の振幅値とをそれぞれ座標軸とする座標空間において、この直線と、０である振幅値を示す直線とが交わる点を、位相誤差点と称する。【００７４】
すなわち、位相誤差検出部５１は、誤差基準点と位相誤差点との誤差（例えば、図４の矢印）を位相誤差として検出する。【００７５】
ここで、位相誤差が検出された場合の、等化後振幅情報の振幅値data(ｎ−1)の極性と、等化後振幅情報の振幅値data(ｎ)の極性とは、異なっている必要がある。【００７６】
なお、式（１）において、時間軸方向は、任意に選択することができる。この場合、式（１）の分母におけるdata(ｎ)およびdata(ｎ−1)の順序を入れ替えるようにしてもよい。【００７７】
また、式（１）の分母は、定数にdata(ｎ)またはdata(ｎ−1)の極性（「＋」または「−」）を乗じた値としてもよい。例えば、data(ｎ−1)の極性と、２である定数とを乗じたsign（data(ｎ−1)）×２を式（１）の分母としてもよい。このとき、位相誤差は、以下に示す式（２）により算出される。【００７８】
位相誤差＝[data(ｎ) + data(ｎ−1)] / [sign（data(ｎ−1)）×２]・・・（２）【００７９】
ただし、sign（a）とは「ａ」の符号を示す関数で、a>=0のとき、sign（a）=1となり、a<0のとき、sign（a）=-1となる。【００８０】
さらに、位相誤差の検出は、位相誤差検出部５１に代えて、図２の位相誤差検出部４１によって検出された位相誤差を利用するようにしてもよい。この場合、位相誤差積算部４１は、位相誤差信号をビットスリップ補正部５３に供給し、ビットスリップ補正部５３は、位相誤差検出部４１から供給された位相誤差信号を基に、ビットスリップにより発生したエラーを補正する。【００８１】
なお、位相誤差検出部５１は、等化後振幅情報および再生クロックを基に、位相誤差信号を検出するが、さらにデータ検出部３５から出力された検出データを用いることで、より正確な位相誤差を検出することが可能となる。これは、データ検出部３５から出力された検出データは、誤りが訂正されているので、この場合、誤りが訂正された検出データの極性の切り替わりの時刻を参照することによって、位相誤差検出部５１は、等化後振幅情報と再生クロックとの位相誤差を検出することができるようになるからである。【００８２】
また、位相誤差検出部５１における位相誤差の検出方法は、図４を参照して説明した方式に限らず、他の方式であってもよい。例えば、位相誤差検出部５１は、等化後振幅情報をクラス分けして、クラス分けされた等化後振幅情報を基に、位相誤差を検出するようにしてもよい。【００８３】
図５は、ビットスリップが発生した場合の、連続する同期パターンに対する、ずれ量の検出およびずれが発生したと予測される時刻の検出を示すタイミングチャートである。【００８４】
同期パターン検出信号は、同期検出部５２によって出力され、同期パターンを検出したことを示す信号である。すなわち、例えば、同期パターン検出信号が０から１に変化した時刻は、同期パターンが検出された時刻である。【００８５】
正常同期パターンは、記録媒体の方式毎に定まる正常な同期パターンを示す。すなわち、正常同期パターンの間隔は、同期パターン検出信号の間隔と比較される、予め定めた期間を示す。【００８６】
図５で示される同期パターン検出信号および正常同期パターンの例において、図中の左側では、その前の期間においてビットスリップが発生していないので、同期パターン検出信号の時刻および正常同期パターンの時刻は、一致する。これに対して、図中の右側では、その前の期間においてビットスリップが発生しているため、同期パターン検出信号は、正常同期パターンに対して、ずれてしまう。なお、ビットスリップが発生しない場合には、同期パターン検出信号は、後述する同期カウンタ値が１９となる時刻に検出される。【００８７】
同期パターン予測範囲は、検出範囲設定部８４による同期パターンの検出の範囲を示す。例えば、同期検出部５２は、同期パターン予測範囲が１である期間に、検出データから同期パターンを検出した場合、同期パターン検出信号を０から１に変化させるが、同期パターン予測範囲が０である期間に、検出データから同期パターンを検出した場合、同期パターン検出信号を変化させない。【００８８】
同期カウンタ値は、同期パターン間隔カウンタ９１によりカウントされる値である。例えば、同期パターン間隔カウンタ９１は、同期パターン検出信号が０から１に変化したとき（所定の遅延を含む）、すなわち、同期パターン検出信号の立ち上がりで、同期カウンタ値を０に設定する。図５で示される例において、同期パターン検出信号が立ち上がってから、同期カウンタ値が０に設定されるまでには、再生クロックの１周期分の遅延がある。同期パターン間隔カウンタ９１は、再生クロックに同期して、同期カウンタ値をインクリメントする。【００８９】
図５で示される同期カウンタ値の例において、同期カウンタ値が１８となったとき、図中の右側に示されるように、同期パターン検出信号が立ち上がったので、同期カウンタ値は、１８から０に変化している。【００９０】
位相誤差区間積算値は、正常な同期パターン間隔を予め定めた数で分割した区間における位相誤差値の積算値である。例えば、正常な同期パターン間隔を予め定めた数で分割した区間を、再生クロックの４周期とした場合、位相誤差積算部９２は、再生クロックの４周期に相当する区間において、位相誤差値を積算することにより位相誤差区間積算値を算出する。【００９１】
図５で示される例において、正常な同期パターン間隔を５つに分割した区間において、位相誤差が積算される。同期パターン検出信号が０から１に変化してから、最初の区間である第１の区間において、０である位相誤差区間積算値が算出され、第１の区間の次の第２の区間において、−４である位相誤差区間積算値が算出されている。さらに、第２の区間の次の第３の区間において、２である位相誤差区間積算値が積算され、第３の区間の次の第４の区間において、−５６である位相誤差区間積算値が積算され、第４の区間の次の区間である第５区間において、３８である位相誤差区間積算値が積算されている。【００９２】
各区間における位相誤差区間積算値の絶対値が、ビットスリップ判定部８１によって算出される。【００９３】
図５で示される例において、第１の区間において、０である位相誤差区間積算値の絶対値が算出され、第２の区間において、４である位相誤差区間積算値の絶対値が算出される。さらに、第３の区間において、２である位相誤差区間積算値の絶対値が算出され、第４の区間において、５６である位相誤差区間積算値の絶対値が算出され、第５の区間において、３８である位相誤差区間積算値の絶対値が算出される。【００９４】
さらに、各区間における位相誤差区間積算最大値が、ビットスリップ判定部８１によって算出される。【００９５】
図５で示される例において、第１の区間において、初期値０と、０である位相誤差区間積算値の絶対値とが比較され、０である位相誤差区間積算最大値が算出される。第２の区間において、０である第１の区間の位相誤差区間積算最大値と、４である第２の区間の位相誤差区間積算値の絶対値とが比較され、４である位相誤差区間積算最大値が算出される。さらに、第３の区間において、４である第２の区間の位相誤差区間積算最大値と、２である第３の区間の位相誤差区間積算値の絶対値とが比較され、４である位相誤差区間積算最大値が算出され、第４の区間において、４である第３の区間の位相誤差区間積算最大値と、５６である第４の区間の位相誤差区間積算値の絶対値とが比較され、５６である位相誤差区間積算最大値が算出される。また、第５の区間において、５６である第４の区間の位相誤差区間積算最大値と、３８である第５の区間の位相誤差区間積算値の絶対値が比較され、５６である位相誤差区間積算最大値が算出される。【００９６】
位相誤差区間積算最大値の時刻は、位相誤差区間積算値の絶対値が位相誤差区間積算最大値として採用された区間における先頭の同期カウンタ値である。例えば、正常な同期パターン間隔を予め定めた数で分割した区間を、再生クロックの４周期とした場合、位相誤差最大時刻記憶部９３は、再生クロックの４周期に相当する区間において、位相誤差区間積算最大値となる区間の先頭の同期カウンタ値を記憶する。【００９７】
なお、位相誤差区間積算最大値の時刻は、位相誤差区間積算値の絶対値が位相誤差区間積算最大値として採用された区間における先頭の同期カウンタ値に限らず、位相誤差区間積算最大値として採用された区間の最後の同期カウンタ値、位相誤差区間積算最大値として採用された区間の中央の同期カウンタ値、または位相誤差区間積算最大値として採用された区間の任意の同期カウンタ値を位相誤差区間積算最大値の時刻としてもよい。【００９８】
図５で示される例において、第１の区間において、位相誤差区間積算最大値となる第１の区間の先頭の同期カウンタ値が取得され、位相誤差最大時刻記憶部９３には、０である位相誤差区間積算最大値の時刻が記憶される。第２の区間において、位相誤差区間積算値の絶対値が位相誤差区間積算最大値として採用されたので、第２の区間の先頭の同期カウンタ値が取得され、位相誤差最大時刻記憶部９３には４である位相誤差区間積算最大値の時刻が記憶される。【００９９】
さらに、第３の区間において、位相誤差区間積算値の絶対値が位相誤差区間積算最大値として採用されていないので、位相誤差最大時刻記憶部９３に記憶される位相誤差区間積算最大値の時刻は変化しない。第４の区間において、位相誤差区間積算値の絶対値が位相誤差区間積算最大値として採用されたので、位相誤差区間積算最大値となる第４の区間の先頭の同期カウンタ値が取得され、位相誤差最大時刻記憶部９３に１２である位相誤差区間積算最大値の時刻が記憶される。そして、第５の区間において、位相誤差区間積算値の絶対値が位相誤差区間積算最大値として採用されていないので、位相誤差最大時刻記憶部９３に記憶される位相誤差区間積算最大値の時刻は変化しない。【０１００】
同期間隔は、連続した２つの同期パターン検出信号の間における、再生クロック数である。すなわち、同期間隔は、同期パターン検出信号が立ち上がったときの同期カウンタ値に対応する。図５で示される例において、同期カウンタ値は、０から始まっているので、同期間隔は、同期パターン検出信号が立ち上がったときの同期カウンタ値に１が加算された値となる。【０１０１】
以下、時刻ｎの同期パターンと時刻ｍの同期パターンとの間隔を、同期パターン間隔（ｎ，ｍ）と称する。【０１０２】
同期間隔は、図５で示される例において、同期パターン間隔（ｋ−１，ｋ）において、１９である同期間隔が算出されている。なお、同期パターン間隔（ｋ−２，ｋ−１）において、２０である同期間隔が算出され、同期パターン間隔（ｋ，ｋ＋１）において、２０である同期間隔が算出される。【０１０３】
ビットスリップ補正量は、再生クロックを基準とした、同期パターン検出信号により定まる期間と、正常同期パターンにより定まる期間との差である。換言すれば、正常な同期パターンにおいて得られる同期カウンタ値の値と、同期パターン検出信号の立ち上がりによってリセットされる直前の同期カウンタ値との差である。【０１０４】
すなわち、ビットスリップ補正量は、ビットスリップによって発生した、再生クロックの周期を基準とした、再生クロックと等化後振幅情報とのずれを示す。【０１０５】
ビットスリップ補正量は、図５で示される例において、同期パターン間隔（ｋ−１，ｋ）において、すなわち、時刻ｋ−１において、０であるビットスリップ補正量が算出され、同期パターン間隔（ｋ，ｋ＋１）において、１９である同期間隔から、正常な同期間隔である２０を引き算することにより、時刻ｋにおいて、−１であるビットスリップ補正量が算出される。【０１０６】
ビットスリップ補正位置は、同期パターン検出信号が立ち上がったときに、位相誤差最大時刻記憶部９３に記憶されている、位相誤差区間積算最大値の時刻である。【０１０７】
すなわち、ビットスリップ補正位置は、再生クロックに対する、検出データ（等化後振幅情報）のずれが発生したと推定される区間の時刻を表す。【０１０８】
ビットスリップ補正位置は、図５で示される例において、時刻ｋ−１において、１であるビットスリップ補正位置が算出され、時刻ｋにおいて、１２であるビットスリップ補正位置が算出される。【０１０９】
図５で示される例において、同期パターン間隔（ｋ，ｋ＋１）において、−１であるビットスリップ補正量、および１２であるビットスリップ補正位置はビットスリップ補正情報として、FIFO制御部８２に供給される。また、ビットスリップ判定部８１は、ビットスリップ補正量、すなわちずれ量は０以外であるので、ビットスリップが発生していると判定する。【０１１０】
なお、同期パターン間隔（ｋ−１，ｋ）において、ビットスリップ補正量は０となり、ビットスリップ補正位置は１となる。しかしこの場合には、ビットスリップ補正位置の値はある値となるが、ビットスリップ補正量が０であるので、ビットスリップの補正はなされない。【０１１１】
図６は、ビットスリップが発生した場合の、ビットスリップ発生位置（再生クロックに対する、検出データ（等化後振幅情報）のずれが発生したと推定される区間の時刻）の算出方法を示す図である。【０１１２】
図６においては、同期パターン検出信号により定まる、区間Ｎ−１、区間Ｎ、および区間Ｎ＋１における、位相誤差区間積算値、検出データ、位相誤差区間積算値の絶対値、補正後の検出データ、補正される検出データの範囲について、それぞれの関係を示している。また、図６で示される例において、時刻Ａにおいて、ビットスリップが発生している。【０１１３】
波形２１１は、位相誤差積算部９２において算出される、位相誤差の積算値を示す。波形２１１に重ねて表されている四角は、それぞれ、区間ごとの位相誤差の積算値を示す。【０１１４】
検出データは、データ検出部３５において検出される。図６で示される例において、ビットスリップが発生しない場合の正常な２つの同期パターンの間には、Ｌチャンネルビットの検出データが配置される。ビットスリップが発生した場合、２つの同期パターンの間には、Ｌを超えた検出データか、またはＬ未満の検出データが配置される。【０１１５】
図６で示される例において、区間Ｎでビットスリップが発生しているので、区間Ｎの検出データは、（Ｌ＋１）チャンネルビットとなっている。【０１１６】
位相誤差区間積算値の絶対値は、位相誤差区間積算値の絶対値なので、負の値である位相誤差区間積算値は、その符号が反転されて、正の値となる。さらに、位相誤差区間積算値の絶対値を比較すると、Ｂで示される区間における位相誤差区間積算値の絶対値が、位相誤差区間積算最大値となるので、Ｂで示される区間（の時刻）がビットスリップ補正位置となる。【０１１７】
検出データは、ビットスリップが発生しない場合の正常な２つの同期パターンの間に配置される数の検出データに補正される。図６で示される例において、補正後の検出データは、Lチャンネルビットとなるように補正される。【０１１８】
この補正により、Ｂで示される区間の時刻から区間Ｎの最後までの検出データが補正される。位相誤差が大きい２１２においては、再生信号そのものが変化してしまっているので、時間方向に補正をしたとしても、正常な検出データを得ることはできない。位相誤差が小さい区間２１３においては、再生信号自体が回復しているので、時間方向の補正により、正常な検出データを得ることができるようになる。【０１１９】
このように、本発明の再生装置は、バーストエラーが発生し、バーストエラーによりビットスリップが生じた場合、ビットスリップ後に検出される同期パターンの前のエラーを訂正することができる。【０１２０】
次に、同期パターン検出信号の挿入について説明する。バーストエラーが生じると、同期パターンそのものの検出が困難になる場合がある。所定の期間において連続して同期パターンを検出できた場合、再生装置は、同期パターン補間モードに移行し、所定の時刻に同期パターン検出信号を挿入する。【０１２１】
図７は、同期パターン補間モードにおいて、同期パターンが検出されなかった場合の、同期パターン検出信号の挿入を説明するタイミングチャートである。【０１２２】
図７における同期パターン検出信号乃至再生クロック、及び同期カウンタ値乃至ビットスリップ補正位置は、図５に示す場合と同様であり、その説明は適宜省略する。【０１２３】
図７で示される例において、時刻ｋの同期パターンが、検出できず、時刻ｋにおいて、同期パターン検出信号は、立ち上がらない。図７の×印は、同期パターン検出信号が、立ち上がらないことを示す。【０１２４】
同期パターン補間モードにおいて、同期パターン予測範囲が１である期間に、検出データから同期パターンが検出されなかった場合、同期パターン検出信号挿入部８５は、検出範囲設定部８４による同期パターン予測範囲の中心、すなわち、正常同期パターンと一致する時刻に、同期パターン検出信号を挿入する。【０１２５】
なお、同期検出部５２乃至ビットスリップ補正部５３は、信号の処理に、所定の遅延時間を要するので、その遅延時間を利用して、信号の時間関係が保たれた状態で、同期パターン検出信号挿入部８５は、同期パターン検出信号を挿入する。【０１２６】
図７で示される補間後の同期パターン検出信号は、時刻ｋに同期パターン検出信号が挿入された同期パターン検出信号を示す。【０１２７】
ここで、同期パターンの挿入の手順を説明する。同期検出部５２は、最初に検出データから同期パターン自体を探す（以下、同期パターン補間解除モードと称する）。同期パターンが１つでも見つかった場合、各記録媒体の各フォーマットにしたがって、規定のクロック数の「前後」、すなわち所定の範囲に次の同期パターンがあったとき、同期パターンと、同期パターンの位置（時刻）関係の両方の発生確率の掛け合わせから、同期パターンが本物であるか否かを判定し、その同期パターンが本物であると判定された場合、その同期パターンの位置（時刻）を基準に次の同期パターンを探す。「前後」は、一般的に検出ウィンドウと称し、途中でビットスリップが発生した場合など、同期パターンの間隔が規定クロック（正常な間隔）と若干ずれる事を許容するために利用される。【０１２８】
そして、同期パターンが連続Ｎ回（実際の回路または製品の仕様で決められる設定値である）見つかった場合、検出ウィンドウをある程度狭めて、かつ、その検出ウィンドウ内に同期パターンが見つからない場合にも、同期検出部５２は、ウィンドウの中心に同期パターン（現実には、同期パターン検出信号）を挿入して同期パターンの検出を続ける（同期パターン補間モード）に移行する。ただし、同期パターンがＭ回連続（実際の回路または製品の仕様で決められる設定値である）して見つからなかった場合には、同期検出部５２は、同期パターン補間解除モードに戻る。【０１２９】
図７で示される例において、同期パターン補間モードであるので、時刻ｋにおいて同期パターン検出信号が挿入される。【０１３０】
位相誤差区間積算値は、図７で示される例において、補間後の同期パターン間隔（ｋ−１，ｋ）を５つに分割した区間において、位相誤差が積算され、補間後の同期パターン間隔（ｋ，ｋ＋１）を６つに分割した区間において、位相誤差が積算される。【０１３１】
補正後の同期パターン間隔（ｋ−１，ｋ）において、補間後の同期パターン検出信号が０から１に変化してから、最初の区間である第１の区間において、０である位相誤差区間積算値が算出され、第１の区間の次の第２の区間において、−１である位相誤差区間積算値が算出される。さらに、第２の区間の次の第３の区間において、１である位相誤差区間積算値が積算され、第３の区間の次の第４の区間において、−８である位相誤差区間積算値が積算され、第４の区間の次の区間である第５区間において、５である位相誤差区間積算値が積算される。【０１３２】
さらに、補間後の同期パターン間隔（ｋ，ｋ＋１）において、補間後の同期パターン検出信号が０から１に変化してから、最初の区間である第１の区間において、−３である位相誤差区間積算値が算出され、第１の区間の次の第２の区間において、２である位相誤差区間積算値が算出される。さらに、第２の区間の次の第３の区間において、１である位相誤差区間積算値が積算され、第３の区間の次の第４の区間において、−１である位相誤差区間積算値が積算され、第４の区間の次の区間である第５区間において、１である位相誤差区間積算値が積算される。また、ビットスリップが発生したことにより、第５区間の次の第６区間においては、０である位相誤差積算値が積算される。【０１３３】
位相誤差区間積算値の絶対値として、図７で示される例の同期パターン間隔（ｋ−１，ｋ）において、第１の区間において、０である位相誤差区間積算値の絶対値が算出され、第２の区間において、１である位相誤差区間積算値の絶対値が算出される。さらに、第３の区間において、１である位相誤差区間積算値の絶対値が算出され、第４の区間において、８である位相誤差区間積算値の絶対値が算出され、第５の区間において、５である位相誤差区間積算値の絶対値が算出されている。【０１３４】
さらに、同期パターン間隔（ｋ，ｋ＋１）において、第１の区間において、３である位相誤差区間積算値の絶対値が算出され、第２の区間において、２である位相誤差区間積算値の絶対値が算出され、第３の区間において、１である位相誤差区間積算値の絶対値が算出され、第４の区間において、１である位相誤差区間積算値の絶対値が算出され、第５の区間において、１である位相誤差区間積算値の絶対値が算出され、第６の区間において、０である位相誤差区間積算値の絶対値が算出される。【０１３５】
位相誤差区間積算最大値として、図７で示される例の同期パターン間隔（ｋ−１，ｋ）において、第１の区間において、初期値０と、０である位相誤差区間積算値の絶対値が比較され、０である位相誤差区間積算最大値が算出される。第２の区間において、０である第１の区間の位相誤差区間積算最大値と、１である第２の区間の位相誤差区間積算値の絶対値とが比較され、１である位相誤差区間積算最大値が算出される。さらに、第３の区間において、１である第２の区間の位相誤差区間積算最大値と、１である第３の区間の位相誤差区間積算値の絶対値とが比較され、１である位相誤差区間積算最大値が算出され、第４の区間において、１である第３の区間の位相誤差区間積算最大値と、８である第４の区間の位相誤差区間積算値の絶対値とが比較され、８である位相誤差区間積算最大値が算出される。また、第５の区間において、８である第４の区間の位相誤差区間積算最大値と、５である第５の区間の位相誤差区間積算値の絶対値とが比較され、８である位相誤差区間積算最大値が算出される。【０１３６】
さらに、同期パターン間隔（ｋ，ｋ＋１）において、第１の区間において、初期値０と、３である位相誤差区間積算値の絶対値とが比較され、３である位相誤差区間積算最大値が算出される。第２の区間において、３である第１の区間の位相誤差区間積算最大値と、２である第２の区間の位相誤差区間積算値の絶対値とが比較され、３である位相誤差区間積算最大値が算出される。さらに、第３の区間において、３である第２の区間の位相誤差区間積算最大値と、１である第３の区間の位相誤差区間積算値の絶対値とが比較され、３である位相誤差区間積算最大値が算出され、第４の区間において、３である第３の区間の位相誤差区間積算最大値と、１である第４の区間の位相誤差区間積算値の絶対値とが比較され、３である位相誤差区間積算最大値が算出される。【０１３７】
また、第５の区間において、３である第４の区間の位相誤差区間積算最大値と、１である第５の区間の位相誤差区間積算値の絶対値とが比較され、３である位相誤差区間積算最大値が算出され、第６の区間において、３である第５の区間の位相誤差区間積算最大値と、０である第６の区間の位相誤差区間積算値の絶対値とが比較され、３である位相誤差区間積算最大値が算出される。【０１３８】
図７で示される例の同期パターン間隔（ｋ−１，ｋ）において、位相誤差区間積算最大値の時刻として、図７で示される例において、第１の区間において、位相誤差区間積算最大値となる第１の区間の先頭の同期カウンタ値が取得され、位相誤差最大時刻記憶部９３には、０である位相誤差区間積算最大値の時刻が記憶される。第２の区間において、位相誤差区間積算値誤差の絶対値が位相誤差区間積算最大値として採用されたので、第２の区間の先頭の同期カウンタ値が取得され、位相誤差最大時刻記憶部には、４である位相誤差区間積算最大値の時刻が記憶される。【０１３９】
さらに、第３の区間において、位相誤差区間積算値誤差の絶対値が位相誤差区間積算最大値として採用されたので、位相誤差区間積算最大値となる第３の区間の先頭の同期カウンタ値が取得され、位相誤差最大時刻記憶部に８である位相誤差区間積算最大値の時刻が記憶される。第４の区間において、位相誤差区間積算値誤差の絶対値が位相誤差区間積算最大値として採用されたので、位相誤差区間積算最大値となる第４の区間の先頭の同期カウンタ値が取得され、位相誤差最大時刻記憶部に１２である位相誤差区間積算最大値の時刻が記憶される。そして、第５の区間において、位相誤差区間積算値誤差の絶対値が位相誤差区間積算最大値として採用されていないので、位相誤差最大時刻記憶部９３に記憶される位相誤差区間積算最大値の時刻は変化しない。【０１４０】
さらに、図７で示される例の同期パターン間隔（ｋ，ｋ＋１）において、位相誤差区間積算最大値の時刻として、第１の区間において、位相誤差区間積算最大値となる第１の区間の先頭の同期カウンタ値が取得され、位相誤差最大時刻記憶部９３には、０である位相誤差区間積算最大値の時刻が記憶される。第２の区間において、位相誤差区間積算値誤差の絶対値が位相誤差区間積算最大値として採用されていないので、位相誤差最大時刻記憶部９３に記憶される位相誤差区間積算最大値の時刻は変化しない。第３の区間において、位相誤差区間積算値誤差の絶対値が位相誤差区間積算最大値として採用されていないので、位相誤差最大時刻記憶部９３に記憶される位相誤差区間積算最大値の時刻は変化しない。【０１４１】
第４の区間において、位相誤差区間積算値誤差の絶対値が位相誤差区間積算最大値として採用されていないので、位相誤差最大時刻記憶部９３に記憶される位相誤差区間積算最大値の時刻は変化しない。第５の区間において、位相誤差区間積算値誤差の絶対値が位相誤差区間積算最大値として採用されていないので、位相誤差最大時刻記憶部９３に記憶される位相誤差区間積算最大値の時刻は変化しない。そして、第６の区間において、位相誤差区間積算値誤差の絶対値が位相誤差区間積算最大値として採用されていないので、位相誤差最大時刻記憶部９３に記憶される位相誤差区間積算最大値の時刻は変化しない。【０１４２】
なお、連続する区間において、位相誤差区間積算最大値が同値となった場合、前後どちらの位相誤差区間積算最大値の時刻を優先させるかは、設定により定まる。図７で示される例において、第２の区間、および第３の区間における位相誤差区間積算最大値は１であり、第３の区間における位相誤差区間積算最大値の時刻は８である。ここでは、位相誤差区間積算最大値が同値であれば、後の位相誤差区間積算最大値を優先するとしているので、第２の区間よりも第３の区間が優先される。【０１４３】
同期間隔は、図７で示される例において、補正後の同期パターン間隔（ｋ−１，ｋ）において、２０である同期間隔が算出され、補正後の同期パターン間隔（ｋ，ｋ＋１）において、２０である同期間隔が算出され、補正後の同期パターン間隔（ｋ＋１，ｋ＋２）において、２１である同期間隔が算出される。【０１４４】
ビットスリップ補正量は、図７で示される例において、補正後の同期パターン間隔（ｋ−１，ｋ）において、すなわち、時刻ｋ−１において、０であるビットスリップ補正量が算出され、補正後の同期パターン間隔（ｋ，ｋ＋１）において、すなわち、時刻ｋにおいて、０であるビットスリップ補正量が算出される。また、補正後の同期パターン間隔（ｋ＋１，ｋ＋２）において、すなわち、時刻ｋ＋１において、１であるビットスリップ補正量が算出される。【０１４５】
ここで、例えば、時刻ｋにおいて、同期パターン検出信号挿入部８５が、所定の時刻に同期パターン検出信号を挿入するので、時刻ｋにおけるビットスリップ補正量として、０が算出される。【０１４６】
ビットスリップ補正位置は、図７で示される例において、時刻ｋ−１において、０であるビットスリップ補正位置が算出され、時刻ｋにおいて、１２であるビットスリップ補正位置が算出され、時刻ｋ＋１において、０であるビットスリップ補正位置が算出される。【０１４７】
同期パターン検出信号挿入部８５が所定の時刻に同期パターン検出信号を挿入した場合、挿入した同期パターン検出信号よりも時間的に後の、最初に同期パターン検出信号が検出された時刻にビットスリップ補正が行われる。図７で示される例において、時刻ｋに同期パターン検出信号が挿入されている、時刻ｋ＋１において、ビットスリップ補正が行われ、１であるビットスリップ補正量、および１２であるビットスリップ補正位置は、ビットスリップ補正情報として、FIFO制御部８２に供給される。この場合、ビットスリップ判定部８１は、ビットスリップ補正量、すなわちずれ量は０以外であるので、ビットスリップが発生していると判定する。【０１４８】
なお、時刻ｋにおいて、ビットスリップ補正量は０となり、ビットスリップ補正位置は１２となる。しかし、この場合には、ビットスリップ補正位置の値はある値となるが、ビットスリップ補正量が０であるので、ビットスリップの補正はなされない。【０１４９】
図８は、ビットスリップが発生した場合に、同期パターンが検出されなかった場合における、ビットスリップ発生位置の算出方法を示す図である。【０１５０】
図８においては、同期パターン検出信号により定まる、区間Ｎ−１、区間Ｎ、および区間Ｎ＋１における、位相誤差区間積算値、検出データ、位相誤差区間積算値の絶対値、補正後の検出データ、および補正される検出データの範囲について、それぞれの関係を示している。【０１５１】
図８における位相誤差区間積算値乃至補正される検出データの範囲は、図６に示す場合と同様であり、その説明は適宜省略する。【０１５２】
図６で示される場合と同様に、波形２１１に重ねて表されている四角は、位相誤差区間積算値を示す。すなわち、図８で示される例において、区間Ｎ、および区間Ｎ＋１が切り変わる時刻に、同期パターン検出信号が挿入されており、波形２１１に重ねて表されている四角は、同期パターン検出信号挿入後の区間Ｎ＋１における、それぞれ、区間ごとの位相誤差の積算値を示す。【０１５３】
検出データは、図８で示される例において、ビットスリップが発生していない区間Ｎ−１において、Ｌチャンネルビットの検出データが配置されている。また、区間Ｎおよび区間Ｎ＋１において、ビットスリップが発生し、同期パターンが検出されなかったため、区間Ｎおよび区間Ｎ＋１を通した２つの区間において、（Ｌ＋Ｌ＋１）チャンネルビットの検出データが配置されている。【０１５４】
位相誤差区間積算値の絶対値は、図８で示される例において、同期パターン検出信号挿入後の区間Ｎ＋１において、Ｃにおける位相誤差区間積算値の絶対値が最大となるので、Ｃで示される区間（の時刻）がビットスリップ補正位置となる。【０１５５】
補間後の検出データは、図８で示される例において、ビットスリップが発生していないものとされた区間Ｎにおいて、Ｌチャンネルビットの検出データが配置される。換言すれば、同期パターン検出信号が挿入されるので、区間Ｎにおいて、Ｌチャンネルビットの検出データが配置され、区間Ｎ＋１には、残りの（Ｌ＋１）チャンネルビットの検出データが配置される。【０１５６】
さらに、区間Ｎ＋１における、（Ｌ＋１）チャンネルビットの検出データは、補正により、Ｌチャンネルビットとされる。【０１５７】
すなわち、ビットスリップ補正は、区間Ｎ＋１の検出データＬチャンネルビットとするように実行される。【０１５８】
補正される検出データの範囲は、区間２２１においては、再生信号そのものが変化してしまっているので、時間方向に補正をしたとしても、正常な検出データを得ることはできない。区間２２２においては、再生信号自体が回復しているので、時間方向の補正により、正常な検出データを検出することができる。【０１５９】
このように、本発明の発明装置は、同期パターンが検出されなかった場合、所定の時刻に同期パターン検出信号を挿入することで、同期パターンを補うことで、ビットスリップ後に検出される同期パターンの前のエラーを訂正することができる。【０１６０】
図９乃至図１３のフローチャートを参照して、位相誤差を使用することにより、補正プログラムを実行する再生装置の処理について説明する。【０１６１】
図９は、再生装置による、再生の処理を説明するフローチャートである。【０１６２】
ステップＳ１において、等化器３１は、光ディスク、ハードディスク、またはデジタルビデオカセットなどの、装着された記録媒体から図示せぬピックアップが再生した再生信号を整形し、再生された再生信号をＡ/Ｄ変換部３２に供給する。【０１６３】
ステップＳ２において、Ａ/Ｄ変換部３２は、クロック生成部３３から供給される再生クロックを基に、等化器３１から供給されたアナログ信号である再生信号をデジタル信号に変換する。Ａ/Ｄ変換部３２は、変換により生成されたデジタル信号を、クロック生成部３３および等化器３４に供給する。【０１６４】
ステップＳ３において、クロック生成部３３は、位相誤差検出部４１およびVCO４２からなり、PLL方式によりデジタル信号から再生クロックを生成する。【０１６５】
ステップＳ４において、等化器３４は、再生クロックを基に、デジタル信号のエッジ位置を時間方向に調整することにより、デジタル信号を整形し、整形したデジタル信号をデータ検出部３５およびエラー補正部３６に供給する。【０１６６】
ステップＳ５において、データ検出部３５は、ビタビ復号によりデジタル信号の誤りを訂正し、誤りを訂正したデジタル信号を検出データとして生成する。なお、ステップＳ５において、ビタビ復号に限らず、他の最尤復号方式によって誤りを訂正するようにしてもよい。【０１６７】
ステップＳ６において、ビットスリップ補正の処理を実行して、ステップＳ１に戻り、上述した処理を繰り返す。【０１６８】
ステップＳ６における、ビットスリップ補正の処理の詳細について、図１０のフローチャートを参照して説明する。【０１６９】
ステップＳ２１において、同期検出部５２は、同期パターンの検出処理を実行する。【０１７０】
同期パターン補間モードにおける、ステップＳ２１の処理に対応する、同期パターン検出の処理の詳細について、図１１のフローチャートを参照して説明する。【０１７１】
ステップＳ３１において、同期検出部５２は、同期パターンを検出する。例えば、同期検出部５２は、記憶媒体の方式により定まる、検出データに含まれている特定のビット配列の同期パターンを検出する。【０１７２】
ステップＳ３２において、検出範囲設定部８４は、再生クロックのカウント値に基づいて、同期パターンが検出される検出範囲を設定し、検出範囲内において同期パターンが検出されたかを否かを判定する。ステップＳ３２において、検出範囲内に同期パターンが検出されていないと判定された場合、ステップＳ３３に進み、同期パターン検出信号挿入部８５は、同期パターンを補間して、処理は終了する。例えば、ステップＳ３３において、同期パターン検出信号部８５は、予め定められた期間（正常同期パターンと一致する時刻）に同期パターンを挿入する。【０１７３】
ステップＳ３２において、検出範囲内に同期パターンが検出されたと判定された場合、同期パターンを補間する必要は無いので、ステップＳ３３の処理はスキップされ、処理は終了する。【０１７４】
図１０に戻り、ステップＳ２２において、位相誤差検出部５１は、等化器３４から供給された等化後振幅情報と再生クロックとの位相誤差を検出して、位相誤差を示す位相誤差信号をビットスリップ補正部５３に供給する。【０１７５】
ステップＳ２３において、ビットスリップ補正部５３は、再生クロックを基に、同期検出部５２より検出された同期信号と、予め定めた期間との差をずれ量として検出する。【０１７６】
ステップＳ２４において、ビットスリップ補正部５３は、補正情報算出の処理を実行する。【０１７７】
ステップＳ２４における、補正情報算出の処理の詳細について、図１２のフローチャートを参照して説明する。【０１７８】
ステップＳ４１において、位相誤差積算部９２は、所定の区間において検出された位相誤差を積算することにより、位相誤差区間積算値を算出する。【０１７９】
ステップＳ４２において、ビットスリップ判定部８１は、位相誤差区間積算値の絶対値の最大値を検出する。【０１８０】
ステップＳ４３において、位相誤差最大時刻記憶部９３は、最大の位相誤差区間積算値の絶対値が検出された時刻であるビットスリップ補正位置を検出して、処理は終了する。【０１８１】
再度、図１０に戻り、ステップＳ２５において、ビットスリップ補正部５３は、FIFO制御の処理を実行して、ビットスリップの補正処理は終了する。【０１８２】
ステップＳ２５における、FIFO制御の処理の詳細について、図１３のフローチャートを参照して説明する。【０１８３】
ステップＳ５１において、FIFO制御部８２は、ビットスリップ判定部８１より、ずれ量を示すビットスリップ補正量、およびずれ発生時刻を示すビットスリップ補正位置を取得する。【０１８４】
ステップＳ５２において、FIFO制御部８２は、０以外のずれ量が検出された場合、ずれ量に対応して時間方向に移動させるように制御する制御信号を、FIFOバッファ８３に供給して、FIFOバッファ８３の書き込みおよび読み出しを制御する。FIFOバッファ８３は、FIFO制御部８２から供給された制御情報を基に、検出データをずれ量に対応して時間方向に移動させることで、ビットスリップに対応する検出データの補正を行い、補正された検出データを出力して、処理は終了する。【０１８５】
図１４乃至図１７を参照して、ステップＳ５２における、FIFOバッファ８３をによる検出データの補正を説明する。【０１８６】
図１４は、ビットスリップ補正量が０未満である場合の、検出データの個数を増やすように制御されるFIFOバッファ８３における、検出データの補正を説明する図である。【０１８７】
FIFOバッファ８３は、ビットスリップ補正情報を基に、FIFO制御部８２より供給されるRE（Read Enable）信号、およびWE（Write Enable）信号により制御される。FIFOバッファ８３は、RE信号がオン（例えば、１である）の場合、再生クロックに同期して、記憶している検出データを順に出力し、RE信号がオフ（例えば、０である）の場合、再生クロックに同期して、同じ検出データを繰り返して出力する。【０１８８】
また、FIFOバッファ８３は、WE信号がオン（例えば、１である）の場合、再生クロックに同期して、データ検出部３５から供給された検出データを順に記憶し、WE信号がオフ（例えば、０である）の場合、再生クロックに同期して、１つ前に記憶した検出データに上書きするように、検出データを記憶する。【０１８９】
図１４乃至図１７において、Ａ乃至Ｅの文字が付された四角は、それぞれ検出データに含まれている、１つのチャンネルビットを示す。【０１９０】
図１４の左側で示されるように、データ検出部３５から、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｃであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットが、順に、FIFOバッファ８３に供給された場合を例に説明する。【０１９１】
FIFOバッファ８３は、WE信号がオンである期間に供給された、Ａ乃至Ｅであるチャンネルビットを順に記憶する。【０１９２】
FIFOバッファ８３は、RE信号がオンである期間、再生クロックに同期して、順に記憶されているＡ乃至Ｅであるチャンネルビットを、その順に従って出力する。【０１９３】
FIFOバッファ８３は、図１４で示される例において、供給されるＡ乃至Ｅの検出データに対して、WE信号を常にオンにし、RE信号をＣを読み出す時刻において、オフにすることで、FIFOバッファ８３は、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｃであるチャンネルビット、Ｃであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットを出力する。【０１９４】
図１５は、検出データを増やすように制御するFIFOバッファ８３における、データ制御を示すタイミングチャートである。【０１９５】
図１５で示される例において、供給される検出データは、図１４左側のデータ列に対応する。図１５で示される例において、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｃであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットからなる検出データが順にFIFOバッファ８３に供給される。【０１９６】
WE信号は、FIFO制御部８２から、FIFOバッファ８３へ供給される書き込み制御情報である。FIFOバッファ８３は、WE信号がオンである場合、再生クロックに同期して、書き込みポインタ（WritePointer）を進め、供給された検出データに含まれるチャンネルビットを記憶して、WE信号がオフである場合、書き込みポインタを進めることなく、供給された検出データに含まれるチャンネルビットを記憶する。【０１９７】
図１５で示される例において、WE信号は常にオンであるので、FIFOバッファ８３は、供給される検出データを検出順に記憶する。【０１９８】
図中の格納されている検出データは、FIFOバッファ８３に記憶されている検出データである。供給された検出データ、すなわち、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｃであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットが、順に記憶されている。【０１９９】
なお、図中の格納されている検出データは、供給される検出データと比較して、再生クロックの１クロック分遅れているが、これは、検出データの格納処理が、１クロック遅延して実行されることを示す。【０２００】
RE信号は、FIFO制御部８２から、FIFOバッファ８３へ供給される読み込み制御情報である。FIFOバッファ８３は、RE信号がオンである場合、再生クロックに同期して読み出しポインタ（ReadPointer）を進めて、読み出しポインタによって示されるチャンネルビットを出力し、RE信号がオフである場合、読み出しポインタを進めることなく、読み出しポインタによって示されるチャンネルビットを出力する。【０２０１】
図１５で示される例において、RE信号は、ＡまたはＢであるチャンネルビットを読み出す場合に、オンとされ、Ｃであるチャンネルビットを読み出す場合にオフとされ、さらに、ＤまたはＥであるチャンネルビットを読み出す場合に、オンとされている。【０２０２】
したがって、FIFOバッファ８３は、Ｃであるチャンネルビットを読み出したあとに、読み出しポインタを進めないので、Ｃであるチャンネルビットを２度読みすることにより、格納されている検出データに比較して、出力する検出データの数を１つ増加させる。【０２０３】
図１５で示される例において、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｃであるチャンネルビット、Ｃであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットからなる検出データが、順に出力されている。【０２０４】
なお、出力される検出データは、格納されている検出データと比較して、再生クロックの１クロック分時間方向にずれているが、これは、検出データの出力が、1クロック分遅延して実行されることを示す。【０２０５】
図１６は、ビットスリップ補正量が０を超える場合の、検出データの個数を減らすように制御されるFIFOバッファ８３における、検出データの補正を説明する図である。【０２０６】
図１６におけるFIFOバッファ８３における、検出データの補正処理は、図１４に示す場合と同様であり、その説明は適宜省略する。【０２０７】
図１６の左側で示されるように、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｃであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットが、順に、FIFOバッファ８３に供給される。【０２０８】
図１６で示される例において、WE信号はＣであるチャンネルビットを記憶する時刻にオフとされているので、FIFOバッファ８３は、RE信号がオフの場合、１つ前に記憶した検出データに上書きするので、Ｃであるチャンネルビットに、Ｄであるチャンネルビットを上書きすることで、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットを順に記憶する。【０２０９】
FIFOバッファ８３は、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットを、その順に従って出力する。【０２１０】
図１７は、検出データを減らすように制御するFIFOバッファ８３における、データ制御を示すタイミングチャートである。【０２１１】
図１７における再生クロック乃至出力される検出データは、図１５に示す場合と同様であり、その説明は適宜省略する。【０２１２】
図１７に示される例において、WE信号は、ＡまたはＢであるチャンネルビットが供給される場合に、オンとされ、Ｃであるチャンネルビットが供給される場合に、オフとされ、さらに、ＤまたはＥであるチャンネルビットが供給される場合に、オンとされている。【０２１３】
したがって、この場合、FIFOバッファ８３は、Ｃであるチャンネルビットを書き込んだ後に、書き込みポインタを停止させることで、Ｃであるチャンネルビットに、Ｄであるチャンネルビットを上書きすることにより、記憶する検出データのデータ数を１つ減少させる。【０２１４】
すなわち、FIFOバッファ８３は、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットを、順に記憶する。【０２１５】
RE信号は、図１７で示される例において、常にオンであるので、FIFOバッファ８３は、記憶している検出データを順に出力する。【０２１６】
FIFOバッファ８３は、Ａであるチャンネルビット、Ｂであるチャンネルビット、Ｄであるチャンネルビット、およびＥであるチャンネルビットを、順に出力する。【０２１７】
なお、FIFOバッファ８３は、FIFOバッファに限らず、一般的なメモリを使用するようにしてもよい。例えば、アドレス指定が一般的なメモリにおいて、検出データを増やしたい場合において、メモリの書き込みアドレスを、再生クロックに対応して、常に１増加させるようにし、メモリからの読み出しアドレスを、操作をしたい場所に停止させるか、または必要量戻させるようにしてもよい。また、検出データを減らしたい場合において、メモリの書き込みアドレスを、操作をしたい場所に停止させるか、または必要量戻させるようにし、メモリからの読み出しアドレスは、再生クロックに対応して、常に１増加されるような回路構成にするようにしてもよい。【０２１８】
一般的なメモリを使用した場合における、回路構成は、FIFOバッファを使用した場合の回路構成と同様である。【０２１９】
次に、図１８乃至図２７を参照して、上述した位相誤差値の代わりに、極性（符号）の異なる連続する２つの等化後振幅情報の振幅方向の誤差（以下、ゼロクロスオフセットと称する）を用いてビットスリップ補正を行う場合の本発明の実施の形態について説明する。【０２２０】
図１８は、本発明に係る再生装置の一実施の形態の他の構成を示すブロック図である。図２に示す場合と同様の部分には、同一の符号が付してあり、その説明は適宜省略する。【０２２１】
エラー補正部３６は、ゼロクロスオフセット検出部３０１、同期検出部５２、およびビットスリップ補正部３０２からなる。すなわち、エラー補正部３６は、図２で説明した位相誤差検出部５１およびビットスリップ補正部５３の代わりに、ゼロクロスオフセット検出部３０１およびビットスリップ補正部３０２を含むように構成してもよい。【０２２２】
ゼロクロスオフセット検出部３０１は、等化器３４から供給された等化後振幅情報およびクロック生成部３３から供給された再生クロックを基に、ゼロクロスオフセットを検出して、ゼロクロスオフセットを示すゼロクロスオフセット信号をビットスリップ補正部３０２に供給する。【０２２３】
図１９は、同期検出部およびビットスリップ補正部の詳細を示すブロック図である。図３に示す場合と同様の部分には、同一の符号が付してあり、その説明は適宜省略する。【０２２４】
ビットスリップ判定部３１１は、同期パターン間隔カウンタ９１、ゼロクロスオフセット積算部３２１、およびゼロクロスオフセット最大時刻記憶部３２２からなる。すなわち、ビットスリップ判定部３１１は、図３で説明した位相誤差積算部９２および位相誤差最大時刻記憶部９３の代わりに、ゼロクロスオフセット積算部３２１およびゼロクロスオフセット最大時刻記憶部３２２を含むように構成してもよい。【０２２５】
ゼロクロスオフセット積算部３２１は、連続する２つの同期パターンの間隔において、間隔が分割された区間において検出されたゼロクロスオフセットを積算することにより、ゼロクロスオフセット区間積算値を算出する。ここで、間隔が分割される区間は、予め定めたゼロクロスオフセットの個数、および期間、並びに予め定めたチャンネルビットのいずれかで決定される。【０２２６】
ゼロクロスオフセット最大時刻記憶部３２２は、連続する２つの同期パターンの間において、積算された積算値の絶対値が最大となる区間の時刻である、再生クロックと等化後振幅情報とのずれが発生したと予測される時刻を検出して、その時刻を記憶する。【０２２７】
次に、図２０を参照して、ゼロクロスオフセット検出部３０１における、ゼロクロスオフセットの検出の一例について説明する。【０２２８】
図２０は、横方向を時間軸tとして、再生クロックの信号波形、“１”および“０”のいずれかの値を取り得る検出データ、および等化後振幅情報の値を示す図である。図２０において、data(ｎ−1)およびdata(ｎ)は、再生クロックの立ち上がりにおける、等化後振幅情報の振幅値である。data(ｎ)は、data(ｎ−1)の次の等化後振幅情報の振幅値である。【０２２９】
ゼロクロスオフセットは、例えば、以下に示す式（３）により算出される。【０２３０】
ゼロクロスオフセット＝[data(ｎ) + data(ｎ−1)] / ２ ・・・（３）【０２３１】
式（３）によって、極性（符号）の異なる連続する２つの等化後振幅情報のオフセット量が算出される。【０２３２】
なお、式（３）において、分母は任意の０以外の整数に設定できる。この場合、例えば、２の代わりに１を設定してもよい。【０２３３】
極性（符号）の異なる連続する２つの等化後振幅情報のオフセットがゼロクロスオフセットである。図２０の矢印は、ゼロクロスオフセットを示す。【０２３４】
等化後振幅情報に誤差が含まれている場合、時間と等化後振幅情報の振幅値とをそれぞれ座標軸とする座標空間において、再生クロックのある周期の開始時刻、およびその開始時刻における等化後振幅情報の振幅値data(ｎ−1)によって特定される点と、再生クロックの次の周期の開始時刻、次の周期の開始時刻における等化後振幅情報の振幅値data(ｎ)によって特定される点とを結んだ直線は、半周期点と０である振幅値とから特定される点を通らない。等化後振幅情報に誤差が含まれている場合、半周期点（時刻t0）において、この直線は、振幅方向に０である振幅値からずれる。【０２３５】
以下、時間と等化後振幅情報の振幅値とをそれぞれ座標軸とする座標空間において、この直線上の点であって、半周期点（時刻t0）における点を、ゼロクロスオフセット点と称する。【０２３６】
すなわち、ゼロクロスオフセット検出部３０１は、誤差基準点とゼロクロスオフセット点との誤差（例えば、図２０の矢印）をゼロクロスオフセットとして検出する。【０２３７】
ここで、ゼロクロスオフセットが検出された場合の、等化後振幅情報の振幅値data(ｎ−1)の極性と、等化後振幅情報の振幅値data(ｎ)の極性とは、異なっている必要がある。【０２３８】
なお、ゼロクロスオフセット検出部３０１は、等化後振幅情報および再生クロックを基に、ゼロクロスオフセット信号を検出するが、さらにデータ検出部３５から出力された検出データを用いることで、より正確なゼロクロスオフセットを検出することが可能となる。これは、データ検出部３５から出力された検出データは、誤りが訂正されているので、この場合、誤りが訂正された検出データの極性の切り替わりの時刻を参照することによって、ゼロクロスオフセット検出部３０１は、等化後振幅情報と再生クロックとのゼロクロスオフセットを検出することができるようになるからである。【０２３９】
また、ゼロクロスオフセット検出部３０１における位相誤差の検出方法は、図２０を参照して説明した方式に限らず、他の方式であってもよい。例えば、ゼロクロスオフセット検出部３０１は、等化後振幅情報をクラス分けして、クラス分けされた等化後振幅情報を基に、ゼロクロスオフセットを検出するようにしてもよい。【０２４０】
図２１は、ビットスリップが発生した場合の、連続する同期パターンに対する、ずれ量の検出およびずれが発生したと予測される時刻の検出を示すタイミングチャートである。【０２４１】
図２１における同期パターン検出信号乃至同期カウンタ値、および同期間隔乃至ビットスリップ補正位置は、図５に示す場合と同様であり、その説明は適宜省略する。【０２４２】
ゼロクロスオフセット区間積算値は、正常な同期パターン間隔を予め定めた数で分割した区間におけるゼロクロスオフセット値の積算値である。例えば、正常な同期パターン間隔を予め定めた数で分割した区間を、再生クロックの４周期とした場合、ゼロクロスオフセット積算部３２１は、再生クロックの４周期に相当する区間において、ゼロクロスオフセット値を積算することによりゼロクロスオフセット区間積算値を算出する。【０２４３】
図２１で示される例において、正常な同期パターン間隔を５つに分割した区間において、ゼロクロスオフセットが積算される。同期パターン検出信号が０から１に変化してから、最初の区間である第１の区間において、０であるゼロクロスオフセット区間積算値が算出され、第１の区間の次の第２の区間において、−２であるゼロクロスオフセット区間積算値が算出されている。さらに、第２の区間の次の第３の区間において、１であるゼロクロスオフセット区間積算値が積算され、第３の区間の次の第４の区間において、−２７であるゼロクロスオフセット区間積算値が積算され、第４の区間の次の区間である第５区間において、２０であるゼロクロスオフセット区間積算値が積算されている。【０２４４】
各区間におけるゼロクロスオフセット区間積算値の絶対値が、ビットスリップ判定部３１１によって算出される。【０２４５】
図２１で示される例において、第１の区間において、０であるゼロクロスオフセット区間積算値の絶対値が算出され、第２の区間において、２であるゼロクロスオフセット区間積算値の絶対値が算出される。さらに、第３の区間において、１であるゼロクロスオフセット区間積算値の絶対値が算出され、第４の区間において、２７であるゼロクロスオフセット区間積算値の絶対値が算出され、第５の区間において、２０であるゼロクロスオフセット区間積算値の絶対値が算出される。【０２４６】
さらに、各区間におけるゼロクロスオフセット区間積算最大値が、ビットスリップ判定部３１１によって算出される。【０２４７】
図２１で示される例において、第１の区間において、初期値０と、０であるゼロクロスオフセット区間積算値の絶対値とが比較され、０であるゼロクロスオフセット区間積算最大値が算出される。第２の区間において、０である第１の区間のゼロクロスオフセット区間積算最大値と、２である第２の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、２であるゼロクロスオフセット区間積算最大値が算出される。さらに、第３の区間において、２である第２の区間のゼロクロスオフセット区間積算最大値と、１である第３の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、２であるゼロクロスオフセット区間積算最大値が算出され、第４の区間において、２である第３の区間のゼロクロスオフセット区間積算最大値と、２７である第４の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、２７であるゼロクロスオフセット区間積算最大値が算出される。また、第５の区間において、２７である第４の区間のゼロクロスオフセット区間積算最大値と、２０である第５の区間のゼロクロスオフセット区間積算値の絶対値が比較され、２７であるゼロクロスオフセット区間積算最大値が算出される。【０２４８】
ゼロクロスオフセット区間積算最大値の時刻は、ゼロクロスオフセット区間積算値の絶対値がゼロクロスオフセット区間積算最大値として採用された区間における先頭の同期カウンタ値である。例えば、正常な同期パターン間隔を予め定めた数で分割した区間を、再生クロックの４周期とした場合、ゼロクロスオフセット最大時刻記憶部３２２は、再生クロックの４周期に相当する区間において、ゼロクロスオフセット区間積算最大値となる区間の先頭の同期カウンタ値を記憶する。【０２４９】
なお、ゼロクロスオフセット区間積算最大値の時刻は、ゼロクロスオフセット区間積算値の絶対値がゼロクロスオフセット区間積算最大値として採用された区間における先頭の同期カウンタ値に限らず、ゼロクロスオフセット区間積算最大値として採用された区間の最後の同期カウンタ値、ゼロクロスオフセット区間積算最大値として採用された区間の中央の同期カウンタ値、またはゼロクロスオフセット区間積算最大値として採用された区間の任意の同期カウンタ値をゼロクロスオフセット区間積算最大値の時刻としてもよい。【０２５０】
図２１で示される例において、第１の区間において、ゼロクロスオフセット区間積算最大値となる第１の区間の先頭の同期カウンタ値が取得され、ゼロクロスオフセット最大時刻記憶部３２２には、０であるゼロクロスオフセット区間積算最大値の時刻が記憶される。第２の区間において、ゼロクロスオフセット区間積算値の絶対値がゼロクロスオフセット区間積算最大値として採用されたので、第２の区間の先頭の同期カウンタ値が取得され、ゼロクロスオフセット最大時刻記憶部３２２には４であるゼロクロスオフセット区間積算最大値の時刻が記憶される。【０２５１】
さらに、第３の区間において、ゼロクロスオフセット区間積算値の絶対値がゼロクロスオフセット区間積算最大値として採用されていないので、ゼロクロスオフセット最大時刻記憶部３２２に記憶されるゼロクロスオフセット区間積算最大値の時刻は変化しない。第４の区間において、ゼロクロスオフセット区間積算値の絶対値がゼロクロスオフセット区間積算最大値として採用されたので、ゼロクロスオフセット区間積算最大値となる第４の区間の先頭の同期カウンタ値が取得され、ゼロクロスオフセット最大時刻記憶部３２２に１２であるゼロクロスオフセット区間積算最大値の時刻が記憶される。そして、第５の区間において、ゼロクロスオフセット区間積算値の絶対値がゼロクロスオフセット区間積算最大値として採用されていないので、ゼロクロスオフセット最大時刻記憶部３２２に記憶されるゼロクロスオフセット区間積算最大値の時刻は変化しない。【０２５２】
ビットスリップ補正量は、図２１で示される例において、同期パターン間隔（ｋ−１，ｋ）において、すなわち、時刻ｋ−１において、０であるビットスリップ補正量が算出され、同期パターン間隔（ｋ，ｋ＋１）において、１９である同期間隔から、正常な同期間隔である２０を引き算することにより、時刻ｋにおいて、−１であるビットスリップ補正量が算出される。【０２５３】
ビットスリップ補正位置は、同期パターン検出信号が立ち上がったときに、ゼロクロスオフセット最大時刻記憶部３２２に記憶されている、ゼロクロスオフセット区間積算最大値の時刻である。【０２５４】
すなわち、ビットスリップ補正位置は、再生クロックに対する、検出データ（等化後振幅情報）のずれが発生したと推定される区間の時刻を表す。【０２５５】
ビットスリップ補正位置は、図２１で示される例において、時刻ｋ−１において、１であるビットスリップ補正位置が算出され、時刻ｋにおいて、１２であるビットスリップ補正位置が算出される。【０２５６】
図２１で示される例において、同期パターン間隔（ｋ，ｋ＋１）において、−１であるビットスリップ補正量、および１２であるビットスリップ補正位置はビットスリップ補正情報として、FIFO制御部８２に供給される。また、ビットスリップ判定部３１１は、ビットスリップ補正量、すなわちずれ量は０以外であるので、ビットスリップが発生していると判定する。【０２５７】
なお、同期パターン間隔（ｋ−１，ｋ）において、ビットスリップ補正量は０となり、ビットスリップ補正位置は１となる。しかしこの場合には、ビットスリップ補正位置の値はある値となるが、ビットスリップ補正量が０であるので、ビットスリップの補正はなされない。【０２５８】
図２２は、ビットスリップが発生した場合の、ビットスリップ発生位置（再生クロックに対する、検出データ（等化後振幅情報）のずれが発生したと推定される区間の時刻）の算出方法を示す図である。【０２５９】
図２２においては、同期パターン検出信号により定まる、区間Ｎ−１、区間Ｎ、および区間Ｎ＋１における、ゼロクロスオフセット区間積算値、検出データ、ゼロクロスオフセット区間積算値の絶対値、補正後の検出データ、補正される検出データの範囲について、それぞれの関係を示している。また、図２２で示される例において、時刻Ａにおいて、ビットスリップが発生している。【０２６０】
図２２における検出データ、並びに補正後の検出データおよび補正される検出データの範囲は、図６に示す場合と同様であり、その説明は適宜省略する。【０２６１】
波形４１１は、ゼロクロスオフセット積算部３２１において算出される、ゼロクロスオフセットの積算値を示す。波形４１１に重ねて表されている四角は、それぞれ、区間ごとのゼロクロスオフセットの積算値を示す。【０２６２】
ゼロクロスオフセット区間積算値の絶対値は、ゼロクロスオフセット区間積算値の絶対値なので、負の値であるゼロクロスオフセット区間積算値は、その符号が反転されて、正の値となる。さらに、ゼロクロスオフセット区間積算値の絶対値を比較すると、Ｂで示される区間におけるゼロクロスオフセット区間積算値の絶対値が、ゼロクロスオフセット区間積算最大値となるので、Ｂで示される区間（の時刻）がビットスリップ補正位置となる。【０２６３】
検出データは、ビットスリップが発生しない場合の正常な２つの同期パターンの間に配置される数の検出データに補正される。図２２で示される例において、補正後の検出データは、Lチャンネルビットとなるように補正される。【０２６４】
この補正により、Ｂで示される区間の時刻から区間Ｎの最後までの検出データが補正される。ゼロクロスオフセットが大きい４１２においては、再生信号そのものが変化してしまっているので、時間方向に補正をしたとしても、正常な検出データを得ることはできない。ゼロクロスオフセットが小さい区間４１３においては、再生信号自体が回復しているので、時間方向の補正により、正常な検出データを得ることができるようになる。【０２６５】
このように、本発明の再生装置は、バーストエラーが発生し、バーストエラーによりビットスリップが生じた場合、ビットスリップ後に検出される同期パターンの前のエラーを訂正することができる。【０２６６】
図２３は、同期パターン補間モードにおいて、同期パターンが検出されなかった場合の、同期パターン検出信号の挿入を説明するタイミングチャートである。【０２６７】
図２３における同期パターン検出信号乃至同期カウンタ値、および同期間隔乃至ビットスリップ補正位置は、図２１に示す場合と同様であり、その説明は適宜省略する。【０２６８】
ゼロクロスオフセット区間積算値は、図２３で示される例において、補間後の同期パターン間隔（ｋ−１，ｋ）を５つに分割した区間において、ゼロクロスオフセットが積算され、補間後の同期パターン間隔（ｋ，ｋ＋１）を６つに分割した区間において、ゼロクロスオフセットが積算される。【０２６９】
補正後の同期パターン間隔（ｋ−１，ｋ）において、補間後の同期パターン検出信号が０から１に変化してから、最初の区間である第１の区間において、０であるゼロクロスオフセット区間積算値が算出され、第１の区間の次の第２の区間において、−１であるゼロクロスオフセット区間積算値が算出される。さらに、第２の区間の次の第３の区間において、１であるゼロクロスオフセット区間積算値が積算され、第３の区間の次の第４の区間において、−４であるゼロクロスオフセット区間積算値が積算され、第４の区間の次の区間である第５区間において、２であるゼロクロスオフセット区間積算値が積算される。【０２７０】
さらに、補間後の同期パターン間隔（ｋ，ｋ＋１）において、補間後の同期パターン検出信号が０から１に変化してから、最初の区間である第１の区間において、−２であるゼロクロスオフセット区間積算値が算出され、第１の区間の次の第２の区間において、１であるゼロクロスオフセット区間積算値が算出される。さらに、第２の区間の次の第３の区間において、１であるゼロクロスオフセット区間積算値が積算され、第３の区間の次の第４の区間において、−１であるゼロクロスオフセット区間積算値が積算され、第４の区間の次の区間である第５区間において、１であるゼロクロスオフセット区間積算値が積算される。また、ビットスリップが発生したことにより、第５区間の次の第６区間においては、０であるゼロクロスオフセット積算値が積算される。【０２７１】
ゼロクロスオフセット区間積算値の絶対値として、図２３で示される例の同期パターン間隔（ｋ−１，ｋ）において、第１の区間において、０であるゼロクロスオフセット区間積算値の絶対値が算出され、第２の区間において、１であるゼロクロスオフセット区間積算値の絶対値が算出される。さらに、第３の区間において、１であるゼロクロスオフセット区間積算値の絶対値が算出され、第４の区間において、４であるゼロクロスオフセット区間積算値の絶対値が算出され、第５の区間において、２であるゼロクロスオフセット区間積算値の絶対値が算出されている。【０２７２】
さらに、同期パターン間隔（ｋ，ｋ＋１）において、第１の区間において、２であるゼロクロスオフセット区間積算値の絶対値が算出され、第２の区間において、１であるゼロクロスオフセット区間積算値の絶対値が算出され、第３の区間において、１であるゼロクロスオフセット区間積算値の絶対値が算出され、第４の区間において、１であるゼロクロスオフセット区間積算値の絶対値が算出され、第５の区間において、１であるゼロクロスオフセット区間積算値の絶対値が算出され、第６の区間において、０であるゼロクロスオフセット区間積算値の絶対値が算出される。【０２７３】
ゼロクロスオフセット区間積算最大値として、図２３で示される例の同期パターン間隔（ｋ−１，ｋ）において、第１の区間において、初期値０と、０であるゼロクロスオフセット区間積算値の絶対値が比較され、０であるゼロクロスオフセット区間積算最大値が算出される。第２の区間において、０である第１の区間のゼロクロスオフセット区間積算最大値と、１である第２の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、１であるゼロクロスオフセット区間積算最大値が算出される。さらに、第３の区間において、１である第２の区間のゼロクロスオフセット区間積算最大値と、１である第３の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、１であるゼロクロスオフセット区間積算最大値が算出され、第４の区間において、１である第３の区間のゼロクロスオフセット区間積算最大値と、４である第４の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、４であるゼロクロスオフセット区間積算最大値が算出される。また、第５の区間において、４である第４の区間のゼロクロスオフセット区間積算最大値と、２である第５の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、４であるゼロクロスオフセット区間積算最大値が算出される。【０２７４】
さらに、同期パターン間隔（ｋ，ｋ＋１）において、第１の区間において、初期値０と、２であるゼロクロスオフセット区間積算値の絶対値とが比較され、２であるゼロクロスオフセット区間積算最大値が算出される。第２の区間において、２である第１の区間のゼロクロスオフセット区間積算最大値と、１である第２の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、２であるゼロクロスオフセット区間積算最大値が算出される。さらに、第３の区間において、２である第２の区間のゼロクロスオフセット区間積算最大値と、１である第３の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、２であるゼロクロスオフセット区間積算最大値が算出され、第４の区間において、２である第３の区間のゼロクロスオフセット区間積算最大値と、１である第４の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、２であるゼロクロスオフセット区間積算最大値が算出される。【０２７５】
また、第５の区間において、２である第４の区間のゼロクロスオフセット区間積算最大値と、１である第５の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、２であるゼロクロスオフセット区間積算最大値が算出され、第６の区間において、２である第５の区間のゼロクロスオフセット区間積算最大値と、０である第６の区間のゼロクロスオフセット区間積算値の絶対値とが比較され、２であるゼロクロスオフセット区間積算最大値が算出される。【０２７６】
図２３で示される例の同期パターン間隔（ｋ−１，ｋ）において、ゼロクロスオフセット区間積算最大値の時刻として、図２３で示される例において、第１の区間において、ゼロクロスオフセット区間積算最大値となる第１の区間の先頭の同期カウンタ値が取得され、ゼロクロスオフセット最大時刻記憶部３２２には、０であるゼロクロスオフセット区間積算最大値の時刻が記憶される。第２の区間において、ゼロクロスオフセット区間積算値誤差の絶対値がゼロクロスオフセット区間積算最大値として採用されたので、第２の区間の先頭の同期カウンタ値が取得され、ゼロクロスオフセット最大時刻記憶部には、４であるゼロクロスオフセット区間積算最大値の時刻が記憶される。【０２７７】
さらに、第３の区間において、ゼロクロスオフセット区間積算値誤差の絶対値がゼロクロスオフセット区間積算最大値として採用されたので、ゼロクロスオフセット区間積算最大値となる第３の区間の先頭の同期カウンタ値が取得され、ゼロクロスオフセット最大時刻記憶部に８であるゼロクロスオフセット区間積算最大値の時刻が記憶される。第４の区間において、ゼロクロスオフセット区間積算値誤差の絶対値がゼロクロスオフセット区間積算最大値として採用されたので、ゼロクロスオフセット区間積算最大値となる第４の区間の先頭の同期カウンタ値が取得され、ゼロクロスオフセット最大時刻記憶部に１２であるゼロクロスオフセット区間積算最大値の時刻が記憶される。そして、第５の区間において、ゼロクロスオフセット区間積算値誤差の絶対値がゼロクロスオフセット区間積算最大値として採用されていないので、ゼロクロスオフセット最大時刻記憶部３２２に記憶されるゼロクロスオフセット区間積算最大値の時刻は変化しない。【０２７８】
さらに、図２３で示される例の同期パターン間隔（ｋ，ｋ＋１）において、ゼロクロスオフセット区間積算最大値の時刻として、第１の区間において、ゼロクロスオフセット区間積算最大値となる第１の区間の先頭の同期カウンタ値が取得され、ゼロクロスオフセット最大時刻記憶部３２２には、０であるゼロクロスオフセット区間積算最大値の時刻が記憶される。第２の区間において、ゼロクロスオフセット区間積算値誤差の絶対値がゼロクロスオフセット区間積算最大値として採用されていないので、ゼロクロスオフセット最大時刻記憶部３２２に記憶されるゼロクロスオフセット区間積算最大値の時刻は変化しない。第３の区間において、ゼロクロスオフセット区間積算値誤差の絶対値がゼロクロスオフセット区間積算最大値として採用されていないので、ゼロクロスオフセット最大時刻記憶部３２２に記憶されるゼロクロスオフセット区間積算最大値の時刻は変化しない。【０２７９】
第４の区間において、ゼロクロスオフセット区間積算値誤差の絶対値がゼロクロスオフセット区間積算最大値として採用されていないので、ゼロクロスオフセット最大時刻記憶部３２２に記憶されるゼロクロスオフセット区間積算最大値の時刻は変化しない。第５の区間において、ゼロクロスオフセット区間積算値誤差の絶対値がゼロクロスオフセット区間積算最大値として採用されていないので、ゼロクロスオフセット最大時刻記憶部３２２に記憶されるゼロクロスオフセット区間積算最大値の時刻は変化しない。そして、第６の区間において、ゼロクロスオフセット区間積算値誤差の絶対値がゼロクロスオフセット区間積算最大値として採用されていないので、ゼロクロスオフセット最大時刻記憶部３２２に記憶されるゼロクロスオフセット区間積算最大値の時刻は変化しない。【０２８０】
なお、連続する区間において、ゼロクロスオフセット区間積算最大値が同値となった場合、前後どちらのゼロクロスオフセット区間積算最大値の時刻を優先させるかは、設定により定まる。図２３で示される例において、第２の区間、および第３の区間におけるゼロクロスオフセット区間積算最大値は１であり、第３の区間におけるゼロクロスオフセット区間積算最大値の時刻は８である。ここでは、ゼロクロスオフセット区間積算最大値が同値であれば、後のゼロクロスオフセット区間積算最大値を優先するとしているので、第２の区間よりも第３の区間が優先される。【０２８１】
ビットスリップ補正量は、図２３で示される例において、補正後の同期パターン間隔（ｋ−１，ｋ）において、すなわち、時刻ｋ−１において、０であるビットスリップ補正量が算出され、補正後の同期パターン間隔（ｋ，ｋ＋１）において、すなわち、時刻ｋにおいて、０であるビットスリップ補正量が算出される。また、補正後の同期パターン間隔（ｋ＋１，ｋ＋２）において、すなわち、時刻ｋ＋１において、１であるビットスリップ補正量が算出される。【０２８２】
ここで、例えば、時刻ｋにおいて、同期パターン検出信号挿入部８５が、所定の時刻に同期パターン検出信号を挿入するので、時刻ｋにおけるビットスリップ補正量として、０が算出される。【０２８３】
ビットスリップ補正位置は、図２３で示される例において、時刻ｋ−１において、０であるビットスリップ補正位置が算出され、時刻ｋにおいて、１２であるビットスリップ補正位置が算出され、時刻ｋ＋１において、０であるビットスリップ補正位置が算出される。【０２８４】
同期パターン検出信号挿入部８５が所定の時刻に同期パターン検出信号を挿入した場合、挿入した同期パターン検出信号よりも時間的に後の、最初に同期パターン検出信号が検出された時刻にビットスリップ補正が行われる。図２３で示される例において、時刻ｋに同期パターン検出信号が挿入されている、時刻ｋ＋１において、ビットスリップ補正が行われ、１であるビットスリップ補正量、および１２であるビットスリップ補正位置は、ビットスリップ補正情報として、FIFO制御部８２に供給される。この場合、ビットスリップ判定部３１１は、ビットスリップ補正量、すなわちずれ量は０以外であるので、ビットスリップが発生していると判定する。【０２８５】
なお、時刻ｋにおいて、ビットスリップ補正量は０となり、ビットスリップ補正位置は１２となる。しかし、この場合には、ビットスリップ補正位置の値はある値となるが、ビットスリップ補正量が０であるので、ビットスリップの補正はなされない。【０２８６】
図２４は、ビットスリップが発生した場合に、同期パターンが検出されなかった場合における、ビットスリップ発生位置の算出方法を示す図である。【０２８７】
図２４においては、同期パターン検出信号により定まる、区間Ｎ−１、区間Ｎ、および区間Ｎ＋１における、ゼロクロスオフセット区間積算値、検出データ、ゼロクロスオフセット区間積算値の絶対値、補正後の検出データ、および補正される検出データの範囲について、それぞれの関係を示している。【０２８８】
図２４におけるゼロクロスオフセット区間積算値乃至補正される検出データの範囲は、図２２に示す場合と同様であり、その説明は適宜省略する。【０２８９】
図２２で示される場合と同様に、波形４１１に重ねて表されている四角は、ゼロクロスオフセット区間積算値を示す。すなわち、図２４で示される例において、区間Ｎ、および区間Ｎ＋１が切り変わる時刻に、同期パターン検出信号が挿入されており、波形４１１に重ねて表されている四角は、同期パターン検出信号挿入後の区間Ｎ＋１における、それぞれ、区間ごとのゼロクロスオフセットの積算値を示す。【０２９０】
検出データは、図２４で示される例において、ビットスリップが発生していない区間Ｎ−１において、Ｌチャンネルビットの検出データが配置されている。また、区間Ｎおよび区間Ｎ＋１において、ビットスリップが発生し、同期パターンが検出されなかったため、区間Ｎおよび区間Ｎ＋１を通した２つの区間において、（Ｌ＋Ｌ＋１）チャンネルビットの検出データが配置されている。【０２９１】
ゼロクロスオフセット区間積算値の絶対値は、図２４で示される例において、同期パターン検出信号挿入後の区間Ｎ＋１において、Ｃにおけるゼロクロスオフセット区間積算値の絶対値が最大となるので、Ｃで示される区間（の時刻）がビットスリップ補正位置となる。【０２９２】
補間後の検出データは、図２４で示される例において、ビットスリップが発生していないものとされた区間Ｎにおいて、Ｌチャンネルビットの検出データが配置される。換言すれば、同期パターン検出信号が挿入されるので、区間Ｎにおいて、Ｌチャンネルビットの検出データが配置され、区間Ｎ＋１には、残りの（Ｌ＋１）チャンネルビットの検出データが配置される。【０２９３】
さらに、区間Ｎ＋１における、（Ｌ＋１）チャンネルビットの検出データは、補正により、Ｌチャンネルビットとされる。【０２９４】
すなわち、ビットスリップ補正は、区間Ｎ＋１の検出データＬチャンネルビットとするように実行される。【０２９５】
補正される検出データの範囲は、区間４２１においては、再生信号そのものが変化してしまっているので、時間方向に補正をしたとしても、正常な検出データを得ることはできない。区間４２２においては、再生信号自体が回復しているので、時間方向の補正により、正常な検出データを検出することができる。【０２９６】
このように、本発明の発明装置は、同期パターンが検出されなかった場合、所定の時刻に同期パターン検出信号を挿入することで、同期パターンを補うことで、ビットスリップ後に検出される同期パターンの前のエラーを訂正することができる。【０２９７】
図２５乃至図２７のフローチャートを参照して、ゼロクロスオフセットを使用することにより、補正プログラムを実行する再生装置の処理について説明する。【０２９８】
図２５は、再生装置による、再生の処理を説明するフローチャートである。【０２９９】
ステップＳ１０１乃至ステップＳ１０５の処理のそれぞれは、図９のステップＳ１乃至ステップＳ５の処理のそれぞれと同様であり、その説明は省略する。【０３００】
ステップＳ１０６において、ゼロクロスオフセットによるビットスリップ補正の処理を実行して、ステップＳ１０１に戻り、上述した処理を繰り返す。【０３０１】
ステップＳ１０６における、ゼロクロスオフセットによるビットスリップ補正の処理の詳細について、図２６のフローチャートを参照して説明する。【０３０２】
ステップＳ１２１、ステップＳ１２３、およびステップＳ１２５の処理のそれぞれは、図１０のステップＳ２１、ステップＳ２３、およびステップＳ２５の処理のそれぞれと同様であり、その説明は省略する。【０３０３】
ステップＳ１２２において、ゼロクロスオフセット検出部３０１は、等化器３４から供給された等化後振幅情報およびクロック生成部３３から供給された再生クロックを基に、ゼロクロスオフセットを検出して、ゼロクロスオフセットを示すゼロクロスオフセット信号をビットスリップ補正部３０２に供給する。【０３０４】
ステップＳ１２４において、ビットスリップ補正部３０２は、ゼロクロスオフセットによる補正情報算出の処理を実行する。【０３０５】
ステップＳ１２４における、ゼロクロスオフセットによる補正情報算出の処理の詳細について、図２７のフローチャートを参照して説明する。【０３０６】
ステップＳ１４１において、ゼロクロスオフセット積算部３２１は、所定の区間において検出されたゼロクロスオフセットを積算することにより、ゼロクロスオフセット区間積算値を算出する。【０３０７】
ステップＳ１４２において、ビットスリップ判定部３１１は、ゼロクロスオフセット区間積算値の絶対値の最大値を検出する。【０３０８】
ステップＳ１４３において、ゼロクロスオフセット最大時刻記憶部３２２は、最大のゼロクロスオフセット区間積算値の絶対値が検出された時刻であるビットスリップ補正位置を検出して、処理は終了する。【０３０９】
図２６に戻り、ステップＳ１２５の処理を実行して、ビットスリップの補正処理は終了する。【０３１０】
以上のようにして、再生装置は、ゼロクロスオフセットを使用して、補正プログラムを実行する。【０３１１】
なお、上述した例においては、誤差を検出する処理として、誤差基準点と、位相誤差点（またはゼロクロスオフセット点）との誤差を検出するとして説明したが、本発明においては、それに限らず、時間と等化後振幅情報の振幅値とをそれぞれ座標値とする座標空間において、再生クロックのある周期の開始時刻、およびその開始時刻における等化後振幅情報の振幅値data(ｎ−1)によって特定される点と、再生クロックの次の周期の開始時刻、および次の周期の開始時刻における等化後振幅情報の振幅値data(ｎ)によって特定される点とを結ぶ直線上の点のうち、いずれかの点と、誤差基準点との誤差を検出するようにしてもよい。【０３１２】
すなわち、誤差基準点と、隣接する２つの等化後振幅情報の振幅値を基にした値との誤差を検出するようにしてもよい。【０３１３】
また、ゼロクロスオフセットを検出する処理であるが、上述した例に限らず、例えば、サンプリングの処理において、サンプリング周波数を２倍にしてオーバーサンプリングにより、半周期点における等化後振幅情報の振幅値を検出することで、ゼロクロスオフセットを検出するようにしてもよい。【０３１４】
また、半周期点における等化後振幅情報の振幅値を検出する方法は、オーバーサンプリングに限らず、補間により検出してもよい。また、半周期点における等化後振幅情報の振幅値を検出するためのＡ/Ｄ変換器を追加して検出するようにしてもよい。【０３１５】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。【０３１６】
この記録媒体は、図２または図１８に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク７１（フレキシブルディスクを含む）、光ディスク７２（CD-ROM(Compact Disc-Read Only Memory)、DVD (Digital Versatile Disc)を含む）、光磁気ディスク７３（MD(Mini-Disc)（商標）を含む）、若しくは半導体メモリ７４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、記憶部に含まれるハードディスクなどで構成される。【０３１７】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。【０３１８】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図１】
0004835156.tif 000002
【図２】
0004835156.tif 000003
【図３】
0004835156.tif 000004
【図４】
0004835156.tif 000005
【図５】
0004835156.tif 000006
【図６】
0004835156.tif 000007
【図７】
0004835156.tif 000008
【図８】
0004835156.tif 000009
【図９】
0004835156.tif 000010
【図１０】
0004835156.tif 000011
【図１１】
0004835156.tif 000012
【図１２】
0004835156.tif 000013
【図１３】
0004835156.tif 000014
【図１４】
0004835156.tif 000015
【図１５】
0004835156.tif 000016
【図１６】
0004835156.tif 000017
【図１７】
0004835156.tif 000018
【図１８】
0004835156.tif 000019
【図１９】
0004835156.tif 000020
【図２０】
0004835156.tif 000021
【図２１】
0004835156.tif 000022
【図２２】
0004835156.tif 000023
【図２３】
0004835156.tif 000024
【図２４】
0004835156.tif 000025
【図２５】
0004835156.tif 000026
【図２６】
0004835156.tif 000027
【図２７】
0004835156.tif 000028