JP3672139B2 - Data decoding apparatus and method, and data reproducing apparatus - Google Patents
Data decoding apparatus and method, and data reproducing apparatus Download PDFInfo
- Publication number
- JP3672139B2 JP3672139B2 JP30869796A JP30869796A JP3672139B2 JP 3672139 B2 JP3672139 B2 JP 3672139B2 JP 30869796 A JP30869796 A JP 30869796A JP 30869796 A JP30869796 A JP 30869796A JP 3672139 B2 JP3672139 B2 JP 3672139B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- sector
- error correction
- decoding
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
Description
【0001】
【目次】
以下の順序で本発明を説明する。
発明の属する技術分野
従来の技術(図53〜図57)
発明が解決しようとする課題
課題を解決するための手段
発明の実施の形態(図1〜図52)
(1)第1実施例(図1〜図20)
(1−1)データ再生装置の全体構成(図1)
(1−2)ECC回路及びECC復号(図2〜図9)
(1−3)セクタ検出(図10〜図20)
(2)第2実施例
(2−1)記録データフオーマツト(図21〜図24)
(2−2)データ再生装置及びECC復号(図1、図25〜図52)
(2−3)第2実施例の動作及び効果(図43〜図45)
(3)他の実施例
発明の効果
【0002】
【発明の属する技術分野】
本発明はデータ復号装置及びその方法並びにデータ再生装置に関し、例えば、デイジタル化されてデイスクに記録されている動画像を再生するものに用いて好適なものである。
【0003】
【従来の技術】
従来、例えばMPEG(Moving Pictures Expert Group)規格による動画像がデイジタル化されて可変レートで記録されたデイスクがある。
ここで用いられているMPEGは、画像データに対してフレーム内符号画像であるIピクチヤ(Intra-Picture)、フレーム間順方向予測符号化画像であるPピクチヤ(Predictive-Picture) 、双方向予測符号化画像であるBピクチヤ(Bidirectionally predictive-Picture)の3つのタイプを規定し、これら3つの画像により画面群構造 GOP(Group Of Pictures)を形成するものである。
また音声データに対しても同様にMPEG規格を適用しているが、音声データについてはMPEG以外でも例えば、ATRAC(Aditive TRansform Acoustic Coding)によりデイジタル化及び圧縮符号化している。因みにATRAC は商標である。
【0004】
図53にデイスクに可変レートで記録されているデータを再生するデータ復号装置1を示す。データ復号装置1は、光デイスク2に記録されたデータをピツクアツプ3によつてレーザ光を照射し、その反射光から再生する。ピツクアツプ3が出力する再生信号S1は、システムコントローラ4によつて制御される復号回路系5の復調回路6に入力され、復調される。復調回路6により復調されたデータは、セクタ検出回路7を介してECC(Error Correction Code) 回路8に入力され、エラー検出及び誤り訂正が実行される。
【0005】
ここでセクタ検出回路7において、光デイスク2のセクタに割り当てられたアドレスであるセクタ番号が正常に検出されなかつた場合、トラツクジヤンプ判定回路9にセクタ番号異常信号が出力される。ECC回路8は、訂正不能のデータが生じた場合、トラツクジヤンプ判定回路9にエラー発生信号を出力する。エラー訂正されたデータは、ECC回路8からリングバツフアメモリ10に送出されて記録される。
【0006】
このときリングバツフア制御回路11は、セクタ検出回路7の出力から各セクタ毎のアドレスを読み取り、そのアドレスに対応するリングバツフアメモリ10上の書き込みアドレス(以下、ライトポインタWPという)を指定する。
また、システムコントローラ4によつて制御されるリングバツフア制御回路11は、後段の多重化データ分離回路13からのコードリクエスト信号R10に基づき、リングバツフアメモリ10に書き込まれたデータの読み出しアドレス(以下、リードポインタRPという)を指定し、その読み出しポインタRPからデータを読み出して多重化データ分離回路13に供給する。
【0007】
ここで多重化データ分離回路13のヘツダ分離回路14は、リングバツフアメモリ10から供給されたデータからパツクヘツダ及びパケツトヘツダを分離して分離回路制御回路15に供給する。分離回路制御回路15は、ヘツダー分離回路11から供給されたパケツトヘツダのストリームID(Stream IDentifier)情報に従い、スイツチング回路16の入力端子Gと出力端子(被切換端子)H1、H2を順次サイクリツクに切り換え接続することによつて、時分割多重されたデータを正しく分離して対応するコードバツフアに供給する。
【0008】
ここでビデオコードバツフア17は内部のコードバツフアの残量により、多重化データ分離回路13に対してコードリクエストR1を発生する。そして受け取つたデータを記憶する。また、ビデオデコーダ18からのコードリクエストR1を受付け、内部のデータを出力する。ビデオデコーダ18は供給されたデータからビデオ信号を再生し、出力端子OUT1から出力する。
【0009】
オーデイオコードバツフア19は内部のコードバツフアの残量により、多重化データ分離回路13に対してコードリクエストR2を発生する。そして受け取つたデータを記憶する。また、オーデイオデコーダ20からのコードリクエストR2を受付け、内部のデータを出力する。オーデイオデコーダ20は供給されたデータからオーデイオ信号を再生し、出力端子OUT2から出力する。
【0010】
このように、ビデオデコーダ18はビデオコードバツフア17にデータを要求し、ビデオコードバツフア17は多重化データ分離回路13に要求を出し、多重化データ分離回路13はリングバツフア制御回路11に対して要求を出す。この時にはデータがリングバツフアメモリ10から、今度は要求とは逆向きに流れていく。
【0011】
ここで復調回路系5におけるデータ復号について説明する。先ず、デイスク2から読み出された再生信号S1は、復調回路6にてRF処理によつて2値化信号に変換され、この信号S1のマーク長の計測結果に基づいてラフサーボがかけられる。ここでセクタ検出回路7は、システムコントローラ4のインターフエイスとしてEFM+でシンクヘツダを検出すると、PLL(Phase Locked Loop)サーボがかけられる。その後、シンクヘツダが数回連続して検出されると、EFM+復調後のデータS2がインタリーブを解かれる(以下、デインターリーブという)。
【0012】
図54に示すように、ECC回路8に送出されたEFM+復調データS2は先ず、RAM24に一旦格納された後、ECCデコーダ25、27、29において、C1/C2畳み込み・リードソロモン符号(CIRC Plus) による3系列C11(C1系列1回目)、C2及びC12(C1系列2回目)についてECC の復号を実行する。
【0013】
ECC回路8におけるECC 復号は、例えば図55に示すように、00、01、〜A8、A9の順にEFM+復調後のデータS2をRAM24へ書き込み、(EFM Write) 、RAM24へのEFM+復調後のデータが2フレーム格納されたところで、フレーム1の00′、02′、〜A8′、01、03、〜A9の順にECCデコーダ25へデータを転送することでデインタリーブされたC1系列データのECC 復号を実行する。
ここでエラー訂正は、ECCデコーダ25からエラーの位置と訂正パターンを読み出すとともに、RAM24からエラーのあるデータを読み出し(C1 read )、訂正パターンとの排他的論理和をとつて、図56に示すように、再びRAM26に書き戻すことで実行する(C1 Write)。ここでECCデコーダ25によつてC1系列のECC 復号がC2符号系列長だけ実行される。
【0014】
C1系列のECC 復号がC2符号系列長だけ実行されると、C2系列のECC 復号の実行が可能となる。次にRAM26上のデータが00′、01′、02′、03′、〜A9′の順に読み出され(C2 read )、ECCデコーダ27でC2系列のECC 復号が実行される。ここで各フレームに対する訂正不能フラグはデータに同期させて後段のECCデコーダへ転送することでイレージヤ訂正を行なうことができる。C2系列のイレージヤ訂正については、C1の訂正不能フラグを使用する。エラー訂正動作は、C1の場合と同様である。
図57に示すように、C2系列のECC 復号結果がRAM28に書き込まれ(C2 Write)、C2系列のECC 復号がC1符号系列長だけ実行されるとC12系列のECC 復号が実行可能となり、ECCデコーダ29によつて00′、01、02、03、〜A9の順に読み出される(C12 read )C12系列のECC 復号が実行される。
【0015】
ここでC12系列のイレージヤ訂正については、C2の訂正不能フラグを使用する。そして、C12のエラー訂正が終了すると、図58に示すようにRAM30に00、01、02、03、〜A9の順にC12系列のECC 復号結果が書き込まれる。こうしてRAM30には、ECC の各系列C11、C2及びC12の復号データが格納されていて、00、01、02、03、〜A9の順に読み出され(OUT read)、デスクランブル処理されて、リングバツフアメモリ10にデータ送出され、これにより必要なセクタデータが書き込まれる。
【0016】
ここで読み出しを求める出力データが属する目的セクタは、ECC 復号に用いるメモリとは別のメモリに格納した再生データからセクタアドレスを抜き出すことによつて検出される。すなわちセクタアドレスを検出するために前段のインターリーブを解くためのメモリ(RAM24)と、ECC 復号用のメモリ(RAM26、28及び30)をセクタアドレス単位にセクタアドレスが先頭に来るように割り当てている。このようにしてメモリ上に読み出された再生データよりセクタアドレスが検出され、システムコントローラ4による光デイスク2へのアクセスの際の位置情報として用いられる。
【0017】
実際、ECC回路8においてECC 復号されたECC 復号データS10は、検出されたセクタアドレスとシステムコントローラ4によつて設定した目的セクタアドレスとをリングバツフア制御回路11で比較判定して、そのアドレスが一致していればECC 復号データをリングバツフアメモリ10に書き込む。
【0018】
このECC 復号方法では、デイスクアクセスで目的セクタに対してECCのインタリーブ分を見込んで、数セクタ前のセクタを検出した後、EFM+復調された再生データをセクタの先頭にECC 復号用メモリの開始フレームを対応させて書き込み、ECC 復号を実行してリングバツフアメモリ10に復号データを書き込んでいる。
【0019】
【発明が解決しようとする課題】
ここでインターリーブされた符号化データを復号する場合、システムコントローラ4によるデイスクアクセスのためのセクタアドレス認識と、そのセクタのデータが、ECC 復号後に出力されるセクタアドレスとの間にECC 復号に要する時間分のずれが生じる。このずれのために、デイスクアクセスのときにセクタアドレスを認識した時点では該セクタのECC 復号は未だ実行されていないので、ECC 復号データS10が必ずリングバツフアメモリ10に書き込まれるものかどうかを判別することができないという問題があつた。
【0020】
またインタリーブがかかつている符号化データを復号する場合、目的セクタを検出するためのメモリと、ECC 復号に必要なメモリ等の記憶媒体とがそれぞれ別々に必要となるためメモリ容量が比較的大きくなるという問題があつた。
またセクタを認識するために、デインターリーブされたデータを任意のセクタ単位でまず復号用メモリのRAM24に書き込むが、この際光デイスク2より読み出された再生データをメモリの先頭からセクタの先頭を対応させて記憶させるため、メモリの容量はセクタのN倍分用意する必要がある。
【0021】
さらにリングバツフアメモリ10へ書き込む段階では、復号データの先頭が必ずしもセクタの先頭とは限らないのでECC 復号用のメモリ(RAM30)に記憶したECC 復号データS10の中から再び、目的セクタを検出する必要がある。このためにデイスクアクセスの際のセクタアドレスを認識する回路とは別に目的のセクタアドレスのデータであるかを認識するための別の回路を設けなければならず回路構成が複雑になるという問題があつた。
本発明は以上の点を考慮してなされたもので、ECC 復号用のメモリ容量を削減するとともに、目的セクタへのアクセスを迅速になし得るデータ復号装置及びその方法並びにデータ再生装置を提案しようとするものである。
【0022】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、記録媒体に記録された符号化データを復号するデータ復号装置において、記録媒体から読み出した符号化データを記憶するメモリと、メモリに記憶した符号化データを復号処理し、当該復号処理の結果得られる復号データをメモリに記憶させるデータ復号回路と、復号処理途中の符号化データから記録媒体における記録位置を示す位置情報を検出すると共に、当該位置情報に基づいて、当該符号化データから得られる復号データの出力可否を当該符号化データの復号処理途中で判定し、当該判定の結果を示すデータ情報を生成してメモリに記憶させるデータ情報生成回路と、メモリに記憶されたデータ情報に基づいてメモリに記憶された復号データの出力を制御するデータ出力制御回路とを設けるようにした。
【0023】
さらに本発明においては、記録媒体に記録された符号化データを復号するデータ復号方法において、記録媒体から読み出した符号化データメモリに記憶する記憶ステツプと、記メモリに記憶した符号化データを復号処理し、当該復号処理の結果得られる復号データをメモリに記憶するデータ復号ステツプと、復号処理途中の符号化データから記録媒体における記録位置を示す位置情報を検出すると共に、当該位置情報に基づいて、当該符号化データから得られる復号データの出力可否を当該符号化データの復号処理途中で判定し、当該判定の結果を示すデータ情報を生成してメモリに記憶するデータ情報生成ステツプと、メモリに記憶されたデータ情報に基づいて、メモリに記憶された復号データの出力を制御するデータ出力制御ステツプとを設けるようにした。
【0024】
このように、符号化データの復号処理とは独立して、当該符号化データより得られる復号データの出力可否を当該符号化データの復号処理途中で判定しておくと共に、当該判定の結果を示すデータ情報を符号化データ及び複合化データを記憶するメモリに記憶しておくことにより、データ情報を記憶し得るわずかな領域をメモリに別途確保しておくだけで、符号化データの復号処理終了後に復号データの出力可否の判定処理を行う場合と比べて、一段と高速に復号データの出力を開始することができる。
【0025】
さらに本発明においては、記録媒体に記録された符号化データでなる画像信号及び又は音声信号を読み出して再生するデータ再生装置において、記録媒体から読み出した符号化データを記憶するメモリと、メモリに記憶した符号化データを復号処理し、当該復号処理の結果得られる復号データをメモリに記憶させるデータ復号回路と、復号処理途中の符号化データから記録媒体における記録位置を示す位置情報を検出すると共に、当該位置情報に基づいて、当該符号化データから得られる復号データの出力可否を当該符号化データの復号処理途中で判定し、当該判定の結果を示すデータ情報を生成してメモリに記憶させるデータ情報生成回路と、メモリに記憶されたデータ情報に基づいてメモリに記憶された復号データの出力を制御するデータ出力制御回路とを有するデータ復号装置を設けるようにした。
【0026】
このように、符号化データの復号処理とは独立して、当該符号化データより得られる復号データの出力可否を当該符号化データの復号処理途中で判定しておくと共に、当該判定の結果を示すデータ情報を符号化データ及び複合化データを記憶するメモリに記憶しておくことにより、データ情報を記憶し得るわずかな領域をメモリに別途確保しておくだけで、符号化データの復号処理終了後に復号データの出力可否の判定処理を行う場合と比べて、一段と高速に復号データの出力を開始することができる。
【0027】
【発明の実施の形態】
以下図面について、本発明の一実施例を詳述する。
【0028】
(1)第1実施例
(1−1)データ再生装置の全体構成
図52との対応部分に同一符号を付した図1において40は、本発明によるデータ復号装置を用いたデータ再生装置の全体構成を示す。データ再生装置40は、光デイスク2に可変レートで記録されている画像データ及び音声データを光デイスク2に対してレーザ光を照射し、その反射光から記録されているデータを読み出して再生する。ピツクアツプ3で再生された再生信号S1は、システムコントローラ4によつて制御される復調/復号回路系35の復調回路6に送られる。復調回路6は、再生信号S1を復調してセクタ検出回路7に出力する。
【0029】
セクタ検出回路7は、供給されたデータから各セクタ毎に記録されているアドレスを検出し、リングバツフア制御回路11に出力すると共に、後段のECC回路50にセクタ同期をとつた状態でデータを出力する。システムコントローラ4によつて制御されるリングバツフア制御回路11は、リングバツフアメモリ10に対する書き込みと読み出しを制御すると共に、多重化データ分離回路13より出力されるデータを要求するコードリクエスト信号R10を監視する。
ここでセクタ検出回路7は、アドレスを検出することができなかつたり、検出したアドレスが連続していなかつた場合、リングバツフア制御回路11を介してセクタ番号異常信号をトラツクジヤンプ判定回路9に出力する。
【0030】
ECC回路50は、セクタ検出回路7より供給されるデータの誤りを検出し、データに付加されている冗長ビツトを用いて誤り訂正を実行して、FIFO(First In First Out)機能をもつトラツクジヤンプ用のリングバツフアメモリ10に出力する。リングバツフアメモリ10のデータは、多重化データ分離回路13に供給される。このときECC回路50はセクタヘツダデータを検出してセクタ検出回路7を通じてシステムコントローラ4に送出される。
ここでECC回路50は、データの誤りを訂正することができなかつた場合、エラー発生信号をシステムコントローラ4に出力する。
【0031】
トラツクジヤンプ判定回路9は、リングバツフア制御回路11の出力をモニタし、トラツクジヤンプが必要なときトラツクジヤンプ信号JP1をトラツキングサーボ回路22に出力し、ピツクアツプ3の光デイスク2に対する再生位置をトラツクジヤンプさせるようになつている。ここでシステムコントローラ4は、セクタ検出回路7からのセクタ番号異常信号、またはECC回路50からのエラー発生信号を検出すると、トラツクジヤンプ判定回路9よりトラツクジヤンプ信号をトラツキングサーボ回路22に出力してピツクアツプ3の再生位置をトラツクジヤンプさせるようになされている。
【0032】
多重化データ分離回路13へのヘツダ分離回路14は、リングバツフアメモリ10から供給されたデータからパツクヘツダ及びパケツトヘツダを分離して分離回路制御回路15に供給するとともに、時分割多重されたデータをスイツチング回路16の入力端子Gに供給する。スイツチング回路16の出力端子(被切換端子)H1、H2はそれぞれビデオコードバツフア17、オーデイオコードバツフア19の入力端子に接続されている。
ここでスイツチング回路16によつて出力端子がH1に切り換えられると、ビデオコード出力はビデオコードバツフア17を通じてビデオデコーダ18に送出され、出力端子OUT1より出力される。またスイツチング回路16によつて出力端子がH2に切り換えられると、オーデイオコード出力はオーデイオコードバツフア19を通じてオーデイオデコーダ20に送出され、出力端子OUT2より出力される。
【0033】
また、ビデオデコーダ18が発生するコードリクエスト信号R1はビデオコードバツフア17に入力された後、多重化データ分離回路13に入力されている。
同様にオーデイオデコーダ20が発生するコードリクエスト信号R2はオーデイオコードバツフア19に入力された後、多重化データ分離回路13に入力されている。
【0034】
ところで、例えば単純な画面に関するデータ処理が続き、ビデオデコーダ18の単位時間当たりのデータ消費量が少なくなると、リングバツフアメモリ10からの読み出しも少なくなる。この場合、リングバツフアメモリ10の記憶データ量が多くなり、オーバーフローするおそれがある。このため、トラツクジヤンプ判定回路9は、ライトポインタWPおよびリードポインタRPによりリングバツフアメモリ10が現在記憶しているデータ量を算出し、そのデータがあらかじめ設定された所定の基準値を越えた場合、リングバツフアメモリ10がオーバーフローするおそれがあると判断して、トラツキングサーボ回路22にトラツクジヤンプ指令を出力する。
【0035】
また、トラツクジヤンプ判定回路9は、セクタ検出回路7からのセクタ番号異常信号またはECC回路50からのエラー発生信号を検出した場合、ライトポインタWPとリードポインタRPからリングバツフアメモリ10内に残存しているデータ量を求めると共に、現在のトラツク位置から、光デイスク2が1回転する間に(光デイスク2の1回転待ちの間に)、リングバツフアメモリ10から多重化データ分離回路13の読み出しを保証するのに必要なデータ量を求める。
ここでリングバツフアメモリ10の残存データ量が大きい場合、リングバツフアメモリ10から最高の転送レートでデータが読み出されてもリングバツフアメモリ10にはアンダーフローが生じない。このため、トラツクジヤンプ判定回路9はエラー発生位置をピツクアツプ3で再度再生することによりエラー回復が可能であると判断して、トラツキングサーボ回路22にトラツクジヤンプ指令を出力する。
【0036】
(1−2)ECC回路及びECC復号
図2に示すECC回路50は、C1/C2畳み込み・リードソロモン符号(CIRC Plus) によるECC を復号する。ECC回路50は、リングバツフアメモリでなるRAM(Random access Memory)51と、EFM+復調されたデータに対して誤り訂正を実行してECC 復号するECCデコーダ52と、エラー訂正不能フラグ、エラー訂正パターン及びエラー位置を格納するためのエラーレジスタ53とによつて形成される。
【0037】
図2及び図3に示すようにECC復号は、デイスク2から読み出された再生信号S1をRF処理回路42にてRF処理及び2値化処理した後、復調回路44でEFM+の同期パターンを検出する。ここでEFM+の同期パターンが検出されると、CLV制御回路46によつて先ずラフサーボがかけられる。続いて復調回路44でEFM+のシンクパターンが検出されると、PLL(Phase Locked Loop)サーボがかけられる。その後、シンクパターンが数回連続して検出されると、EFM+復調後のデータS2がRMIF(Random Access Memory InterFace)48を通じてECC回路50のRAM51にフレーム単位で書き込まれる。そしてOCTL(出力制御回路)56を通じてリングバツフアメモリ10に出力される。
【0038】
ECC回路50では、RMIF48を通じてRAM51への書き込みアドレスを生成する。ここでRAM51から読み出されるデータはRMIF48を通じてECC制御部54及びECC復号部55に転送される。
ここでエラーが検出され、そのエラーが訂正可能であつた場合、エラー位置とエラーの訂正パターンがECC復号部55からECC制御部54に出力される。この場合、エラー位置とエラーの訂正パターンは、RAM51の各フレーム毎に出力され、エラーレジスタ53(図2)に格納される。エラー訂正は、エラーレジスタ53からエラー位置と訂正パターンとを読み出し、RAM51からエラー位置に対応するエラーデータを読み出して訂正パターンとの排他的論理和(EXclusive OR,EXOR) をとつて再びRAM51に書き戻すことで実行する。
またエラーの訂正不能が検出されたら、そのフレームの訂正不能フラグを後段のECC のイレージヤ訂正に使用するためにエラーレジスタ53に格納する。
【0039】
この結果、エラーレジスタ53にはECC の各系列C11、C2及びC12のそれぞれについてECC を解くために必要なデータとしてエラー位置及び訂正パターンが蓄積される。ここでECC を解くために必要かつ十分なエラー位置及び訂正パターンが揃えられると、ECC制御部54によつてRAM51に格納されているデータとのエラー訂正が実行される。
【0040】
ここでデータの格納アドレスRAは、図4に示すようなRAM51に書き込まれたデータよりC1系列のデータ順Dn、C1符号単位のフレームカウントFnを用いて次式
【数1】
【数2】
【数3】
【数4】
により求められる。
【0041】
ここでRMIF48はRAM51上において、ECC 復号の3系列C11、C2及びC12の結果を、その系列の先頭のデータが含まれるフレームのAA、AB、AC、AD、AE、AF番目のアドレスのいずれかに書き込む。ここで例えば、ECC 結果をAA、AB、ACに書き込むとすると、フレームカウントFnとデータ順AA、AB、ACによりECC 復号の3系列C11、C2及びC12の結果に対するRAM51のメモリアドレスを容易に生成できる。
【0042】
ここでデイスク再生装置40では、リングバツフアメモリ10から、多重化データ分離回路13への読み出しを保証するだけのデータ量を確保する必要があるためRFCKは、デイスクの記録(カツテイング)時のリフアレンス・チヤネル・ビツトレート26.6(Mbit/s)に対して、再生時のチヤネルビツトレートのほうが大きい値となるように設定しておく。
【0043】
図5に示すように、例えばRAM51のフレーム182 に対してEFM+の書き込み(EFM+ Wrire )が実行されると、同時にC11系列のデータを00、02〜A9の順にECCデコーダ52へデータ転送(C11read)する。続いてECCデコーダ52へは、C2系列のデータがデータ転送(C2read)された後、C12系列のデータ転送(C12read)が実行される。そして、各系列C11、C2、C12のECC が実行されたフレーム0はOCTL56にデータ転送(OUT) される。ここでは各系列C11、C2及びC12のECC データ転送を固定間隔で途切れがないように実行する。つまり1168サイクルのRFCK1周期中、コード長が170 〔byte〕のECC は一旦、ECC データが転送されればRFCKの周期内で必ず3回のECC データが転送されるように設定されている。
【0044】
このようにしてRAM51に蓄えられたECC の3系列C11、C2及びC12の各データS2は、RFCKの1周期内でECCデコーダ52へデータが転送される。この際、RAM51内のECC データは、そのまま残される。ここでECCデコーダ52においてECC エラーが検出され、そのECC エラーが訂正可能であつた場合、エラー位置とエラーの訂正パターンとがエラー結果ERとしてエラーレジスタ53に送出される。ECC回路50は、エラーレジスタ53から読み出される訂正パターンと、エラー位置に基づいてRAM51より読み出されるエラーのあるデータとの排他的論理和(EXOR)をとつて、再びRAM51に書き戻すことでエラー訂正を実行する。
ECC回路50からは、復号されたデータS10及びセクタヘツダデータSHとが分離されてそれぞれ、リングバツフアメモリ10及びセクタ検出回路7へ送出される。
【0045】
図6にRAM51上のECC データの各系列C11、C2及びC12の実際のデータ転送、エラー結果出力及びエラー訂正の実行制御タイミングを示す。ECC制御部54は、先ずECC復号部55へECC のC12系列のデータ転送を終了したときのタイミングでC11系列のエラー訂正(C11W)を実行する。次にRAM51から次フレームのC11系列のデータをECCデコーダ52へ転送した後のタイミングで現フレームのC2系列のエラー訂正(C2W)を実行する。さらに現フレームのC12系列のエラー訂正(C12W)を次フレームのC2系列のデータ転送後のタイミングで実行する。
【0046】
このようにECC の各3系列のデータをRAM51からECC復号部55へ連続して転送(C11R、C2R及びC12R)し、引き続いて各3系列のデータのECC エラー訂正(C11W、C2W及びC12W)を実行することにより、ECC データの読み出し及びエラー訂正をそれぞれRFCKの1周期内でなし得る。この結果、ECC の各系列C11、C2及びC12について、RFCKに対して固定間隔で、かつ途切れないようにRAM51よりデータ出力することができる。
【0047】
ここでECC の転送コード長NCYCが170 サイクル、パリテイの転送コード長PCYCがmax 14サイクルのとき、エラー結果がECC レジスタに出力されるタイミングは、次式
【数5】
によつてECC 動作クロツク(ECCK)395 サイクルのタイミングに設定される。
ここでECC回路50のRMIF48からは、C1及びC2系列分のシンボル数のECCKがカウントされ、1RFCK周期内に、C11R、C2R及びC12Rのデータ転送に同期して3回分を必ず出力するようになされている。従つて、C11の結果は、C12のデータ転送中に必ず出力される。また、C2、C12系列の結果についても、C11、C2のデータ転送中に必ず出力することができる。
【0048】
図7にECC回路50のエラー出力のタイミングの様子を示す。ここで(5)式によつて得られる(ECCK)395 サイクル後にECC 結果の出力タイミングとなるOSTT信号が出力されると、OSTT信号より3クロツク後に、OCORRECT=1となり、ODATA[7:0]、OORIG[7:0]にエラーパターンEDX 、エラーポジシヨンEAX が出力される。この例では3つのエラーED0 〜ED2 を出力する場合について記す。因みにECC スタートパルス信号ESTTは、ECCデコード部55がC1及びC2のデータの先頭を認識する信号、OCORRECT信号は、ECC 結果ODATA[7:0]、OORIG[7:0]を取り込むためのストローブ信号である。
エラーパターンEDX 、エラーポジシヨンEAX は、エラーレジスタ53に一旦保持され、その時点のECCデコーダ52へのデータ転送が終わつたところでエラー訂正が実行される。
【0049】
ここで図8に各EFM+、C11、C2、C12、OUT の1フレーム(RFCK)周期、すなわち1168サイクル中のRAM51のアクセスに要するECC 動作クロツク(ECCK)のクロツク数を示す。EFM+は、セクタシンクパターン書き込み1サイクル及び、EFM+復調出力に170 ±αサイクルを要する。ECC C11系列は、C11の読み出しに170 サイクル、C11のエラー訂正に8+8 サイクル及び、C11の書き込みに1サイクルを要し、SUB においてセクタシンクパターン読み出し1サイクル、ヘツダデータ読み出し20サイクル及びセクタ情報書き込みとして1+(14)サイクルを要する。
【0050】
さらにECC のC2系列は、C2の読み出しに170 サイクル、C2のエラー訂正に14+14 サイクル及び、C2の書き込みに1サイクルを要する。またECC C12系列は、C12の読み出しに170 サイクル、C12のエラー訂正に8+8 サイクル及び、C12の書き込みに1サイクルを要する。さらにECC 復号の終了を示すOUT をセクタ情報の読み出しに1サイクル、C11の訂正結果読み出しに1サイクル、C2のエラー訂正結果読み出しに1サイクル、C12の訂正結果読み出しに1サイクル及び、OUT に170 サイクルを要する。これによりC11、C2、C12、OUT のRAM51に対するアクセスは合計948 サイクルになる。
【0051】
ヘツダデータの読み出し等を実行するSUB は、セクタ検出回路7へのシンクコード(4バイト)+ヘツダデータ(16バイト)の転送で、セクタを検出するためのセクタ検出回路7では、ヘツダデータの中からセクタアドレスを抜き出し、CRC チエツク後、フライホイール(FW)を掛けて、システムコントローラに転送する。セクタヘツダデータSHは、図6に示すC11W後のタイミング(SUB) にて、C11系列のみECCデコードされたデータから抜き出すことにより、セクタ検出回路8を通してシステムコントローラ4はセクタアドレスを取り出すことでデイスクの位置情報をC2、C12系列のECC 復号にかかる時間だけ早く取り出す。
フライホイールは、数回シンクが未検出となつてもロツク状態を保持するような保護及び内挿動作のことである。システムコントローラ4では、目的セクタであるか否かを比較判定する。フライホイールは、RF信号から取り出した2値化信号のシンクパターンを数回連続して検出し、そのときメインシンクパターン及びサブシンクパターンを数回連続して検出すると、FWロツクする。
【0052】
また、メモリアドレスとRAM51に対するライト及びリードについてのフレーム単位動作(JOB )の実行条件を次式
【数6】
【数7】
【数8】
【数9】
のように設定する。ここでJOBXXXに対するフレームカウントをFn(XXX )としたとき、カウントは、フレーム単位のXXX に対するJOB が全て終了すると+1インクリメントされる。なお、SUB はC11に含める。
【0053】
EFM+において、シンクを数回連続して検出するとシンクパターンFWロツクとなる。このときメモリライトイネーブル信号MWENS は、MWENS =1となり、EFM+復調データの書き込みが始まる。また、シンクを数回連続して検出できない時には、シンクパターンFWアンロツクとなり、メモリライトイネーブル信号はMWENS =0となつてEFM+の書き込みが禁止され、各フレームカウンタは0にリセツトされる。ここでMWENS は、シンクパターンFWがロツクしているときに1となる信号で、MWENS=1のときにメモリへの書き込みを実行するメモリライトイネーブル信号である。
【0054】
ここで図9に、例えば、復号データの出力OUT はC11Mの4周期に1度リクエストOUTREQを出すとするとき、それぞれのリクエストに対して、OUTREQ、EFMREQ、ECCREQの順に、アクセス獲得を優先させた時のRAM51に対するアクセスの獲得タイミングを示す。ここではXXX ACK(ACKnowledge)=1で所定のJOB が実行される。 ECCデータの出力は、RFCKの立ち上がりで起動され、JOB 実行条件に基づいて実行される。ECC の各系列C11、C2及びC12は、SUB を含めてC11R−C2W−C2R−C12W−C12R−C11W−SUB の順に実行される。
【0055】
従つて、ECC の各系列C11、C2及びC12並びにOUT は、一度シンクFWがロツクし、MWENS =1の状態が続き、各JOB の実行条件が成立し続ければFn(C11)〜Fn(OUT)のカウント値の差分値は、RFCK周期で固定値となる。
ところで、本発明が適用されるデータ復号装置40では、リングバツフアメモリ10から、多重化データ分離回路13への読み出しを保証するだけのデータ量を確保する必要がある。従つてRFCKは、デイスクの記録(カツテイング)時のリフアレンス・チヤネル・ビツトレート26.6(Mbit/s)に対して、再生時のチヤネルビツトレートのほうが大きい値となるように設定する。
【0056】
(1−3)セクタ検出
図10〜図12を用いて光デイスク2の目的セクタの検出及びセクタ情報の生成について説明する。まず図10(A)及び(B)には光デイスク2より読み出される再生データのフレーム構成及びシンクワードの具体的な内容を示す。図10(B)に示すようにシンクワードは、アデイシヨナルシンク(Additional Sync)S1、C1シンク(C1 Sync)S2及びセクタシンク(Sector Sync)S3からなつている。図11は、デインタリーブ後のセクタフオーマツトを示す。
セクタ検出回路7 によつてシンクパターン(S1〜S3)を検出すると、シンクパターンFWロツクし、続いてセクタヘツダSH(HEADER)においてセクタFWした後、さらにセクタアドレスSA(ADRESS)を検出してセクタアドレスFWロツクする。
【0057】
次に図12に示すセクタ情報の各ビツトBITデータについて説明する。先ず、ビツト7はセクタシンクパターンS3の有無の検出結果を示すもので、セクタシンクパターンS3が検出されたフレームで1がセツトされる。ビツト6はシンクコードの有無の検出結果を示し、セクタ検出回路7でセクタの頭のシンクコードの位置に”HDCD”という特定コードが検出できたフレームで"1" をセツトする。ビツト5はセクタシンクの認識を示すもので、セクタシンクパターンS3とセクタシンクコードSCの情報を用いて最終的にセクタシンクであるとセクタ検出回路7で見なしたフレームを1とするもので補間されたセクタシンクになる。
【0058】
次にビツト4はCRC チエツク結果を示すもので、毎セクタCRC の演算を実行した結果、エラーが検出されなかつた場合、"0" を書き込む。
ビツト3はC1系列のECC 復号結果を示すもので、エラーが検出されなければ"0" に設定される。これはRMIF48からのC11系列のECC 復号の結果、データが訂正不能であるか否かを示すフラグをセクタ検出回路7で取り込み、このビツトに書き込んでいるものである。
【0059】
ビツト2はセクタアドレスSAの連続性を示すもので、現在、読み出されているセクタアドレス(Raw Sector Adrress,RSA)とセクタ検出回路7に保管されているセクタアドレス(Current Sector Adrress,CSA)とが等しいときに(実際にはRSAと前のセクタのCSA+1とを比較している。)、セクタに連続性があると判断し、BIT2=1 とする。
ビツト1は開始のセクタアドレスBSAの検出結果を示すもので、アドレスBSAを検出すると"1" に設定される。そしてビツト0は終了のセクタアドレスESAの検出結果を示すもので、アドレスESAを検出すると"1" に設定される。
【0060】
実際のセクタ検出は図13(A)に示すように、システムコントローラ4によつてセクタ検出回路7内のレジスタ(図示せず)へBSA設定モードSACT=1(後述する図19に示す)を設定すると共に、目的とするセクタの先頭のアドレスBSA及びセクタの最後のアドレスESAとを設定し、セクタ検出回路7内のレジスタ(図示せず)において、再生データから抜き出し、セクタアドレスFWロツクしているセクタアドレスとを比較する。この比較結果により検出したセクタアドレスが目的セクタのものであることが確認されると、この比較結果はセクタ情報(ビツト0、1)としてRAM51に書き戻される。
【0061】
ここで、SACT=1の場合、フレームMから出力可能になる(図18)。ただし、セクタアドレスによりデスクランブルの初期化が行なわれる場合は、それ以前にデスクランブルのための出力のセクタアドレスが抜き出せているのが条件となる。出力セクタアドレスは、セクタ情報のアドレス連続性により、保護された出力セクタアドレスを使用する。
【0062】
さらにこのセクタ情報は、ECC回路50によるECC 復号の終了したECC 復号データS10とともにOCTL56に送出され、ECC 復号データのデータ出力OUT の制御に用いられる。このときシステムコントローラ4は、ECC のインターリーブを見込んで、デイスクアクセス位置を目的とする光デイスク2上のセクタよりも前方の位置にトラツクジヤンプさせる。
また、このときシステムコントローラ4によつて目的とするセクタを特定しなければ予め、SACT=0に設定しておくことで、ECC 復号データを読み出せる時点からデータ出力することができる。
【0063】
セクタ情報のビツト7のセクタシンクパターンS3の有無の検出結果は、EFM+復調回路44におけるEFM+復調の際、再生データより検出されるEFM+復調データとともにフレームごとにRAM51に書き込まれ、ヘツダデータSHとともにセクタ検出回路7に転送される。セクタ検出回路7では、各フレームでセクタシンクパターンS3の有無の検出結果により光デイスク2よりセクタを認識する。ここでセクタ検出回路7において光デイスク2のセクタが認識されると、該セクタのヘツダデータSHの中からセクタアドレスSAが抜き出される。
【0064】
セクタ検出回路7では、ヘツダデータSH内のCRC チエツクの結果、アドレスの連続性、セクタフレームのC1系列のECC 復号結果等を適応的に用いてセクタアドレスSAに対してフライホイールFWがかけられる。システムコントローラ4では、フライホイールFWがかけられ保護されたセクタアドレスFWロツク状態であるセクタアドレスSAを取り出し、光デイスク2の位置情報ADD として用いる。
【0065】
セクタ情報の内、ビツト0及び1はOCTL56で参照され、セクタ情報のビツト1が"1" でビツト0が"0" のとき、すなわちセクタアドレスBSAからESAまでのセクタが検出されている場合はシステムコントローラ4の目的とするセクタのデータを出力できるように設定している。ここで、セクタアドレスESAを指定しない場合、ビツト0は、"0" を保持する。この間、ECC 復号データはリングバツフアメモリ10に出力され続けることになる。ここで例えば、OCTL56内に設けられたデータ出力コントロールレジスタ(図示せず)を用いてビツト0及び1の状態に関係なくデータ出力を制御するようにしてもよい。
【0066】
ここで、図13(B)に示すように、開始のセクタアドレスBSA及び終了のセクタアドレスESAの設定はトラツクジヤンプするとき以外にも、トラツクジヤンプ後にシステムコントローラ4から再設定することも可能である。例えば、早送り操作時に要らないデータを読み飛ばすとき等、デイスク上のアクセス位置が近接している場合は、現在のセクタアドレスSAを認識してからセクタアドレスBSA及び又はESAを再設定する。これによりトラツクジヤンプをせずともセクタアドレスBSAからのデータ出力ができる。
【0067】
ここで図14にシンクパターン(S1〜S3)がロツクしてからセクタアドレスSAが読めるようになり、データが出力されるまでの時間関係を示す。システムコントローラ4によりデイスクアクセス位置をトラツクジヤンプ後、EFM+復調が開始されてからシンクパターン(S1〜S3)がロツクすると、シンクパターンロツクSYLKがSYLK=1となる。続いて目的セクタのセクタアドレスSAが(SALK=1において)フライホイールFWロツクする。続いてECC 復号のC11実行フレームが170 以上となるとSTOK=1になり、それ以降のデータはECC 復号後にデータの出力OUT が可能となる。
実際にはSTOK= 1のタイミングよりさらにジツタ分も含めたC2系列のECC 復号分、約173 フレームを実行した後、開始セクタアドレスBSAが検出されたタイミングでECC 復号データの有効データを次段のリングバツフアメモリ10に出力させるデータストローブ信号DSTBが、DSTB= 1となり、ECC 復号データS10の有効データの出力が開始される。
【0068】
以上の構成において、実際のセクタ検出及びデータ出力は、EFM+復号データを書き込み可能にするイネーブル信号+LATCHED MWENが"1" となつた状態でまず図15に矢印で示すC11実行後のタイミングでフレームのセクタ情報のビツト7のセクタシンクパターンの有無とシンクコードSC、ヘツダデータSHのデータをセクタ検出回路7で解析してセクタアドレスSAの読み取り動作を開始する。ここでリードフレームクロツクRFCKの周期は次式、
【数10】
によつて求められる。
【0069】
続いて図16に示すように、セクタの先頭となるフレームが検出され(3フレーム)、例えばセクタ情報のビツト6及び7が"1" となるセクタ確定条件が満たされるとセクタFWがロツクする。さらに、セクタアドレスの連続性が正しいと判断されると、セクタアドレスSA確定条件が満たされ、セクタアドレスFWがロツクする(3フレーム)。この結果、(さらにジツタ等のマージン約1フレーム分を考慮した)図中矢印で示すタイミングでSALK=1となる。システムコントローラ4では、SALK=1であればFWがロツクしたセクタアドレスSAを読み出すことができる。このときのECC 復号のC11系列のフレームカウントFn(C11) 、Nは次式、
【数11】
によつて表される。
【0070】
続いて図17に示すように、C11系列のECC 復号の170 フレーム以降は、ECC 復号の各C11、C2及びC12系列全てが実行され、かつ出力されるフレームであるとRMIF48で判断されると、STOK= 1となり、出力可能であることを、SUBのタイミングでセクタ検出回路7に知らせる。
【0071】
続いて図18に示すように、セクタの頭のフレームMで開始セクタアドレスBSAが検出されたときにSTOK=1の場合、フレームMは将来、ECC 復号が実行されて出力可能なのでセクタ情報のビツト1を"1" すなわちセクタの先頭アドレスであるセクタアドレスBSAが検出されると"1" となる信号ISTTをISTT= 1にセツトし、セクタ情報のビツト7〜0がSUBの終わりのタイミングでRMIF48よりRAM51へ書き戻される。このときもし、開始セクタアドレスBSAの検出時に、STOK=0のときは、エラーとして、システムコントローラ4は、例えば前回よりも前方の位置から光デイスク2に対して再アクセスを実行する。
【0072】
ここで図19に示すように、セクタアドレスBSAが設定され、SACT=1になつたとき、データストローブ信号DSTB=1となりフレームMから順次、ECC 復号データFn(OUT) が出力可能になる(図中、矢印で示す)。ただし、セクタアドレスSAによりデスクランブルの初期化が実行される場合は、それ以前に、デスクランブルのための出力セクタアドレスSAが抜き出せていることが条件となる。出力セクタアドレスSAは、セクタ情報のアドレス連続性により保護された出力セクタアドレスSAを用いる。
【0073】
また図20に示すように、セクタアドレスBSA及びESAを設定しないSACT=0の場合、170 番目のフレーム以降のセクタの頭から出力可能になる(図中、矢印で示す)。しかし、ここで170 番目のフレームから出力できないのは、デスクランブルのための出力セクタアドレスSAが必要となるためである。このため最大1セクタ分、出力セクタアドレスSAが読み出されるのを待機する。そして出力セクタアドレスSAによりデスクランブルの初期化が実行されると、DSTB=1となりリングバツフアメモリ10への出力が開始される。
このようにセクタ情報によりセクタ検出し、目的セクタのデータの出力を制御することができる。かくしてRAM51内に僅かなセクタ情報用のメモリ領域を設定することでECC 復号に必要なメモリを増やすことなく、セクタ情報を用いて目的セクタデータに対して確実にアクセスしてデータ出力を制御することができる。
【0074】
以上の構成によれば、セクタ検出に用いるセクタ情報を格納する僅かな領域をECC回路50内の復号用のRAM51内に設けることにより、ECC回路50において復号する符号化データにインタリーブがかかつている場合でもセクタ検出用のメモリを別に設けることなく、ほぼECC 復号に用いるだけのメモリ容量でECC 復号が実行できる。
【0075】
さらに上述の実施例によれば、セクタ検出回路7において生成するセクタ情報及びRMIF48により生成するSTOK信号により、ECC 復号のC11系列を終了したタイミングで次段のリングバツフアメモリ10への出力の可否を判定することができる。これによりシステムコントローラ4によるデイスクアクセスのためのセクタアドレスSAを認識するタイミングで直ちにセクタデータを次段のリングバツフアメモリ10へ書き込むことが可能か否かを判断することができ、セクタデータに対するアクセスが高速かつ確実になし得る。
【0076】
さらに上述の実施例によれば、システムコントローラ4によつてデイスクアクセスするためのセクタアドレスSAを認識するタイミングOCCRRECT=1(図7)で次段のリングバツフアメモリ10へデータ出力することが可能か否かを判定することができるので、RAM51に格納されるECC 復号後のデータからセクタアドレスSAを検出するための回路を新たに設ける必要がなくなり、全体の回路構成を簡略化し得る。
【0077】
(2)第2実施例
(2−1)記録データフオーマツト
図21〜図24は第2実施例における記録データフオーマツトを示し、この実施例においては、1クラスタ(32kバイト)を1単位として、データが記録されている。このクラスタの構成を以下に詳述する。
【0078】
すなわち、2kバイト(2060バイト)のデータが、1セクタ分のデータとして抽出され、これに図21に示すように、4バイトのオーバヘツドが付加される。このオーバヘツドには、エラー検出のためのエラー検出符号(EDC(Error
Detection Code))などが含まれている。
【0079】
この合計2064(=2060+4)バイトの1セクタ分のデータが、図22に示すように、12×172(=2064)バイトのデータとされる。そして、この1セクタ分のデータが16個集められ、192(=12×16)×172バイトのデータとされる。この192×172バイトのデータに対して、16バイトの外符号(PO)が、縦(列)方向に各バイト毎にパリテイとして付加される。また、208(=192+16)×172バイトのデータとPOパリテイに対して、10バイトの内符号(PI)が、横(行)方向に各バイト毎にパリテイとして付加される。
【0080】
さらに、このようにして208(=192+16)×182(=172+10)バイトにブロツク化されたデータのうち、16×182バイトの外符号(PO)の行は、16個の1×182バイトの行に区分され、図23に示すように、12×182バイトの番号0〜番号15の16個のセクタデータの下に1行ずつ挿入されて、インターリーブされる。そして、13(=12+1)×182バイトのデータが1セクタのデータとされる。
【0081】
さらに、図23に示す208×182バイトのデータは、図24に示すように、縦方向に2分割され、1フレームを91バイトのデータで構成して、208×2フレームのデータとされる。91バイトのフレームデータの先頭には、さらに2バイトのフレーム同期信号(FS)が付加される。その結果、図24に示すように、1フレームのデータは合計93バイトのデータとなり、合計208×(93×2)バイトのブロツクのデータとなる。これが、1クラスタ(1ECCブロツク)分のデータとなる。そのオーバヘツド部分を除いた実データ部の大きさは2kバイト(=2048×16/1024kバイト)となる。
【0082】
すなわち、この例の場合、1クラスタ(1ECCブロツク)が16セクタより構成され、1セクタが24フレームにより構成される。このようなデータが光デイスク2にクラスタ単位で記録されていることになる。
【0083】
(2−2)データ再生装置及びECC復号
ここで図25は、第1実施例について上述したデータ再生装置40に第2実施例の記録データフオーマツトを適用する場合の、復調回路系35を示し、復調回路6(RF処理回路130、EFM+復調回路131)、セクタ検出回路7(SBCD回路134、RAMコントローラ135、RAM137)、およびECC回路50(RAMコントローラ135、ECC制御回路136、RAM137、ECCコア回路138、OCTL回路139)、並びにその周辺の回路の詳細な構成である。
【0084】
この図において、RF処理回路130は、図1に示すピツクアツプ3からのRF信号の入力を受け、この信号を2値化した後、EFM+復調回路131に出力する。EFM+復調回路131は、入力された信号に対してEFM+復調を施すと共に、同期パターンの検出を行う。CLV制御回路132は、EFM+復調回路131が出力する同期パターンに基づき、ドライブインタフエース(以下、ドライブIFと略記する)133を制御する。SBCD(サブコード)回路134はEFM+復調回路131の出力からセクタの検出を行う。RAMコントローラ135は図3のRMIF48に対応し、RAM137の読み書きを制御する。
【0085】
RAM137は、ECC制御回路136がエラー訂正処理などを実行する際に、データ等を一時的に格納するようになされている。ECCコア回路138は図3のECC復号部55に対応し、リードソロモン符号(PIとPO)を用いて、後述するECA、ECD、SGLGなどを生成し、ECC制御回路136に出力する。ECC制御回路136は、ECCコア回路138から供給されるECA、ECD、SFLGなどを用いて、実際にエラー訂正を行う。OCTL回路139は、デスクランブル処理、EDCチエツク、または、出力データの制御等を行う。また、ホストCPU140は図1のシステムコントローラ4に対応し、装置の各部の制御を行うようになれている。
【0086】
光デイスク2(図1)からの再生信号は、RF処理回路130において2値化信号に変換される。そして、2値化された信号から、EFM+復調回路131により同期パターンが検出される。そして、CLV制御回路132において、この同期パターンに基づき、ラフサーボがかけられ、その結果、データ中のシンクコード(Sync Code )(図26におけるSY0〜SY7)がさらに検出され、ドライブインタフエース133を介して光デイスク2の回転に対して、PLL(Phase Locked Loop )による位相サーボがかけられる。
【0087】
図26に、光デイスク2の物理セクタの構成例を示す。この図に示すように、物理セクタは、横方向に2つのシンクフレーム(Sync frame)、縦方向に13個のシンクフレーム、合計で26個のシンクフレームにより構成されている。各シンクフレームは32チヤンネルビツト(変調される前のデータビツトで表現すると16ビツト(=2バイト))のシンクコード(SY0〜SY7)と、1456チヤンネルビツト(変調される前のデータビツトで表現すると728ビツト(=91バイト))のデータ部から構成される。先頭のシンクフレームのデータ部には、ID情報(セクタ番号)とIED(IDに対するエラー検出符号)情報の他、メインデータ(main data )が格納されている。
【0088】
32チヤンネルビツトのシンクパターンは、データ中には表れないユニークなパターンとして、その下位22ビツトが、「0001000000000000010001」のように設定されている。
【0089】
図26の左側の各シンクフレームのデータ部には、メインデータが記録され、左側の最後のシンクフレームのデータ部には、PO情報(パリテイ)が記録されている。図26の右側のシンクフレームには、メインデータとPI情報が記録され、右側のシンクフレームの最後から2番目のシンクフレームには、EDC情報とPI情報(パリテイ)が記録され、最後のシンクフレームには、PO情報とPI情報が記録されている。
【0090】
図27は各セクタのPI情報とPO情報を除くデータの詳細を示し、ID(セクタ番号)(4バイト)、IED(IDに対するエラー検出符号(2バイト))、RSV(保留領域)(6バイト)、メインデータおよび、EDC(4バイト)により1セクタのデータが構成されている。なお、メインデータにはスクランブル処理が施されている。
【0091】
そして、このようなデータセクタが16セクタ分集められ、図22に示すように、16バイトのPO符号と10バイトのPI符号とが付加される。さらに、PO符号を含む16行が1データセクタ毎に配置されるようにインターリーブされる。そして、得られたデータは、図24に示すように、シンクコードSYx(x=0、1、2、……、7)によつて表わされるFS(フレーム同期)コードが付加され、EFM+変調される。これによりECCブロツク内の物理セクタは、図26に示すように、13×2シンクフレームにより構成される。1ECCブロツクは16セクタにより構成されるので、物理セクタアドレスの下位4ビツトは0000〜1111のいずれかとなる。その結果、ECCブロツクの先頭のセクタの物理アドレスは下位4ビツトが0000となる。
【0092】
なお、メインデータに対するスクランブル処理は、物理セクタアドレスの下位4ビツト〜7ビツトにより指定される値を初期値として生成されたスクランブルデータと、メインデータとの間で排他的論理和を演算することにより実行される。
【0093】
なお、この明細書においては、各種の信号に各種の記号が用いられているので、ここで、それらをまとめて説明する。
【0094】
block−top(Block Top )
SYLK信号がHの状態で、セクタの先頭からHとなる信号である。
C11M(Clock 11.2896 MHz)
システムの動作クロツクであり、その周波数は11.2896〔MHz〕である。
DSTB(Data strobe )
ストリームデータSDとしてメインデータが出力されているとき、Hとなるデータストローブ信号である。
ECA(ERR Correction Address)
エラーのある位置(アドレス)を示すエラー訂正アドレス信号である。
ECCK(ECC Clock )
ECCコア回路138の動作クロツクである。
ECD(Error Correction Data )
誤つたデータと排他的論理和を演算したとき、正しいデータとなるエラー訂正データである。
ECDE(ECC Code Data End)
入力データの最後を示すコントローラ信号である。
ECOD(ECC Code ERR)
エラー訂正不能のとき、Hとなる信号である。
ECOR(ECC Correction)
エラー訂正可能なデータ(ECA、ECD)の出力を示すストローブ信号である。
ECYE(ECC Cycle End )
入力符号データのサイクルの最後を示すコントローラ信号である。
EDT(ECC Data )
エラー訂正のためRAM137から読み出され、ECC制御回路36に転送されるデータである。
ESTB(Error Strobe)
エラー訂正結果ERの転送時にHとなるエラー訂正結果ストローブ信号である。
ESTT(ECC Start)
入力データの先頭を示すコントローラ信号である。
EFM+W Frame(EFM+Write Frame Counter )
RAM137へ書き込むメインフレームを表す信号である。
HDEN(Header Data Enable)
セクタヘツダデータのストローブ信号である。
main−FMSY(main Frame Sync )
各PI行のメインシンク(先頭のシンク)でHとなる信号である。
MWEN(Memory Write Enable )
EFM+復調データのRAM137への書き込みイネーブル信号である。
MWRQ(EFM Write Request)
EFM+復調データのRAM137への書き込みリクエスト信号である。
OUTE(Output Flag )
補間フラグ(出力フラグ)である。
OSTT(ECC Output Start )
所定の符号系列におけるESTTから477(ECCK)後に遅延して出力される信号である。
RDT(Read Data )
RAM137のリードデータバス上のデータである。
SALK(Sector Address Lock )
セクタアドレス(ID)が正常に検出されていることを表す信号である。
SAUL(Sector Address Unlock )
SALK信号の逆極性の信号である。
SCSY(Sector Sync )
SY0のFrameでHとなる、セクタの先頭を判別するための信号である。
SD(Stream Data )
ストリームデータ(デコード出力データ)である。
SDCK(Stream Data Clock )
ストリームデータのクロツクである。
SFLG(Sector Flag )
PI1訂正のECC訂正不能フラグである。
SINF(Sector Infomation )
セクタの先頭でHとなるセクタ情報ストローブ信号である。
SUB(SUB Data )
SBCD回路134に対して転送するIDとIEDを含むデータである。
SYLK(Sync Lock )
シンクコードが連続して3回検出されたとき、Hとなる信号である。
SYUL(Sync Unlock )
SYLK信号の逆極性の信号である。
WDT(Write Data)
RAM137のライトデータバス上のデータである。
XHWE(Sector Header Write Enable)
SBCD回路134からRAM137へ書き込むセクタ情報の出力イネーブル信号である。
【0095】
EFM+復調回路131(図25)により復調処理が施されたデータは、RAMコントローラ135の制御の下、図28に示すように、RAM137に格納される。この図28は、1ECCブロツクについて示している。RAM137に格納されているデータを読み出す場合、RAMコントローラ35は、図28に示す行および列の値を指定することにより、所望のデータを取得することができる。すなわち、図28において、第M行目の第Nバイト目にあるデータxは、2値(M,N)を指定することによりRAM137から読み出すことができる。
【0096】
ここで光デイスク2に記録されているデータセクタの先頭が、SBCD回路134において、シンクコードの種類と連続性に基づき認識されると、EFM+復調回路131により復調されたデータは、先頭データから順にRAM137に格納される。図29は、このとき関係する回路の主要部分の信号のタイミングを示している。
【0097】
すなわち、EFM+復調回路131は、図30に示すように、シンクのロツク状態を検出している。最初にステツプSP1において、図26に示すシンクコード(SY0〜SY7)を各シンクフレームにおいて検出することができたか否かを判定する。シンクコードを検出することができた場合においては、ステツプSP2に進み、変数SClockを1だけインクリメントするとともに、変数SCunlockを0にセツトする。この変数SClockは、シンクコードが連続して検出されたときの回数を表し、変数SCunlockは、シンクが連続して検出されなかつたときの回数を表す。
【0098】
次に、ステツプSP3において、変数SClockが3に等しいか否かを判定する。すなわち、シンクが連続して3回検出されたか否かを判定する。変数SClockが3より小さい場合においては、ステツプSP1に戻り、それ以降の処理を繰り返し実行する。ステツプSP3において、変数SClockが3に等しいと判定された場合、ロツク状態になつたものとして、ステツプSP4において、SYLK信号をHに設定する。そして、ステツプSP5において、さらに連続して3回シンクが検出されたか否かを判定するために、変数SClockを2に設定し、ステツプSP1に戻り、それ以降の処理を繰り返し実行する。
【0099】
これに対して、ステツプSP1において、シンクコードが検出されなかつたと判定された場合、ステツプSP6に進み、変数SCunlockを1だけインクリメントするとともに、変数SClockを0に設定する。ステツプSP7においては、変数SCunlockが3に等しいか否かを判定する。すなわち、シンクコードが3回連続して検出されなかつたか否かを判定する。連続して検出されなかつた回数が2以下である場合には、ステツプSP1に戻り、それ以降の処理を繰り返し実行する。連続して3回シンクが検出されなかつた場合においては、ステツプSP8に進み、SYLK信号をLに設定する。そして、ステツプSP9に進み、変数SCunlockを2に設定して、次のシンクコードの発生タイミングにおいても、シンクコードが検出されなかつたとき、SYLK信号をLに設定したままとすることができるように、変数SCunlockを2に設定し、ステツプSP1に戻る。
【0100】
以上のようにして、EFM+復調回路131は、シンクコードを検出し、ロツク状態になつているか否かを常に監視している。
【0101】
なお、上述の実施例においては、検出回数をそれぞれ3回としたが、基準となる連続検出回数NLOCKと、不連続の検出回数NUNLOCKは、それぞれ任意の値とすることが可能である。
【0102】
このようにEFM+復調回路131は、SYLK信号がHになつたとき、すなわち、ロツク状態になつたとき、図31のフローチヤートに示す処理を実行する。すなわち、ステツプSP21において、各セクタの先頭に配置されているシンクコードSY0が検出されたか否かを判定する。シンクコードSY0が検出された場合においては、ステツプSP22に進み、セクタの先頭であることを表すSCSY信号を所定時間Hに設定する。次にステツプSP23に進み、SYLK信号がLに変化したか否かを判定し、Lでなければ(Hのままであれば)ステツプSP21に戻り、同様の処理を繰り返し実行する。ステツプSP21において、シンクコードSY0が検出されていないと判定された場合においては、ステツプSP22の処理はスキツプされる。
【0103】
以上のようにして、EFM+復調回路131は、各セクタの先頭において、図29(A)に示すSCSY信号を発生する。
【0104】
さらに、EFM+復調回路131は、SYLK信号がHになつたとき、図32のフローチヤートに示す処理を実行する。最初に、ステツプSP31において、メインフレーム(以下、図26の横方向の2個のシンクフレームを、まとめて1個のメインフレームと称する)のシンクコード(以下、図26のシンクコードのうち、左側に示すシンクコードをメインフレームシンクと称する)を検出したか否かを判定する。メインフレームシンクを検出した場合においては、ステツプSP32に進み、EFM+復調回路131は図29(B)に示すmain−FMSY信号を発生する。ステツプSP31において、メインフレームシンクが検出されていないと判定された場合においては、ステツプSP32の処理はスキツプされる。
【0105】
次にステツプSP33に進み、SYLK信号がLに変化したか否かが判定され、変化していない場合(Hのままである場合)、ステツプSP31に戻り、それ以降の処理を繰り返し実行する。SYLK信号がLに変化した場合においては、main−FMSY信号の生成処理は中止される。
【0106】
このようにして、EFM+復調回路131は、メインフレームシンクの周期(図26における水平方向の2つのシンクフレームの周期)毎に、main−FMSY信号を発生する。
【0107】
RAMコントローラ135は、EFM+復調回路131よりSCSY信号が入力されたとき、図29(D)に示すように、MWEN信号をHに設定し、RAM137に対する、いま検出されているセクタのデータの書き込み処理を開始させる。すなわち、このときRAMコントローラ135は、図29(E)に示すように、内蔵するEFM+W Frameカウンタ(図示せず)で図26に示すメインフレームをカウントする。このカウント値は、図26に示すメインフレームの上から順番の番号を表すことになる。
【0108】
また、RAMコントローラ135は、図29(F)に示すように、内蔵するPI1 Frameカウンタ(図示せず)により、RAM137に伝送するメインフレームの番号を管理する。
【0109】
すなわち、図26に示す最初のメインフレーム(番号0のメインフレーム(図26における最上行のメインフレーム))のデータがRAM137に書き込まれたとき、ECC制御回路136は、RAMコントローラ135の制御の下に、そのメインフレームのデータの供給を受ける。そして、このデータを、ECCコア回路138に転送し、誤り訂正処理を実行させる。すなわち、PI1処理を実行させる。PI1訂正後のデータは、再びRAM137に書き戻される。
【0110】
RAMコントローラ135は、このPI1訂正(PI訂正の1回目)の実行の後、RAM137に記憶されている番号0のメインフレームのデータの中から、IDとIEDデータ(SUB)を読み出し、図29(C)の番号0で示すSUB信号のタイミングにおいて、この番号0のメインフレームのIDとIEDデータをデータバスを介してSBCD回路134に転送させる。図26に示すように、IDとIEDデータは、各セクタの先頭にのみ配置されているため、この転送処理は、番号0のメインフレームにおいてのみ実行される。SBCD回路134においては、このようにして、物理セクタのアドレス(ID)が検出される。
【0111】
そして、検出された物理セクタのアドレスの下位4ビツトにより、ECCブロツクの先頭セクタが検出される。
【0112】
図33は、以上のIDの転送に続いてblock−topを検出する場合のタイミング図を示しており、また、図34はblock−top検出以降の処理を示しており、これらの図の動作については後述する。
【0113】
図35は、上述したIDの転送のより詳細なタイミングを示すタイミング図である。図35(A)に示すように、RAMコントローラ135は、SBCD回路134に対して、RAM137からIDとIEDデータが読み出されるタイミングを表すHDEN信号を出力する。このとき、RAM137から、SBCD回路134に対して、第7ビツトから第0ビツトまでの合計8ビツトのリードデータRDT(図35(C))として、IDデータ(4バイト)とIEDデータ(2バイト)が、11.2896〔MHz〕の周波数のクロツクC11M(図35(F))に同期して転送される。このIDデータとIEDデータは、PI1訂正の結果、訂正不能の状態(この場合、SFLG信号はHとなる)にはなつていないことが、ECCコア回路138からECC制御回路136に供給されているSFLG信号(=1)により表されている。SBCD回路134は、ID(セククアドレス)の供給を受けると、そのID(セクタ)に対応するセクタ情報SIを、ホストCPU140からの指令(補間フラグの生成モード、スタートセクタ、エンドセクタなどの指令)に対応して生成する。例えば、ホストCPU140から出力が指定されたIDのセクタには、セクタ情報のビツト5に1を設定し、ビツト4に0を設定する。
【0114】
図36は、セクタ情報(SI)の構成を示している。同図に示すように、セクタ情報の各ビツトは、以下に示す情報を有している。
【0115】
ビツト7:補間フラグ(OUTF)生成モードの設定(1:補間フラグ生成モード)
ビツト6:ECCブロツクの先頭セクタ(物理セクタアドレスの下位4ビツトが0である場合に1とされる)(1:先頭セクタ)
ビツト5:スタートセクタ(物理セクタアドレスがホストCPU140で指定されたスタートセクタアドレスと一致した場合は1とされる)(1:スタートセクタ)
ビツト4:エンドセクタ(物理セクタアドレスがホストCPU140で指定されたエンドセクタアドレスと一致した場合に1とされる)(1:エンドセクタ)
ビツト3:デスクランブル初期化アドレスのビツト3(物理セクタアドレスの第7ビツト)
ビツト2:デスクランブル初期化アドレスのビツト2(物理セクタアドレスの第6ビツト)
ビツト1:デスクランブル初期化アドレスのビツト1(物理セクタアドレスの第5ビツト)
ビツト0:デスクランブル初期化アドレスのビツト0(物理セクタアドレスの第4ビツト)
【0116】
この4バイトのIDと2バイトのIEDを用いて、図38〜図40を参照して後述するようにチエツク処理が行われた後、図35(D)に示すXHWE信号が、ECC制御回路136でLにされる。このとき、SBCD回路134からRAM137に、8ビツトのライトデータWDTとしてセクタ情報SIが転送され、書き込まれる。16セクタ分のセクタ情報は、図28に示すように、上方の16個のPI行に対応するように格納される。従つて、所定のPI行の行数を指定することにより、対応するセクタ情報を得ることができる。
【0117】
実際のセクタ検出は図37(A)に示すように、ホストCPU140によつてSBCD回路134内のレジスタ(図示せず)へBSA設定モードを設定すると共に、目的とするセクタの先頭のアドレスBSA及びセクタの最後のアドレスESAとを設定し、SBCD回路134内のレジスタ(図示せず)において、再生データから抜き出し、セクタアドレスFWロツクしているセクタアドレスとを比較する。この比較結果により検出したセクタアドレスが目的セクタのものであることが確認されると、この比較結果はセクタ情報(ビツト4及び5)としてRAM137に書き戻される。
【0118】
さらにこのセクタ情報は、ECC回路50によるECC 復号の終了したECC デコードデータとともにOCTL139に送出され、ECC デコードデータ出力時の制御に用いられる。このときホストCPU140は、ECC のインターリーブを見込んで、デイスクアクセス位置を目的とする光デイスク2上のセクタよりも前方の位置にトラツクジヤンプさせる。
また、このときホストCPU140によつて目的とするセクタを特定しなければ、予め、BSA設定モードを解除しておくことで、ECC 復号データを読み出せる時点からデータ出力することができる。
【0119】
セクタ情報の内、ビツト4及び5はOCTL139で参照され、セクタ情報のビツト5が"1" でビツト4が"0" のとき、すなわちセクタアドレスBSAからESAまでのセクタが検出されている場合はホストCPU140の目的とするセクタのデータを出力できるように設定している。ここで、セクタアドレスESAを指定しない場合、ビツト0は、"0" を保持する。この間、ECC 復号データはリングバツフアメモリ10に出力され続けることになる。ここで例えば、OCTL139内に設けられたデータ出力コントロールレジスタ(図示せず)を用いてビツト0及び1の状態に関係なくデータ出力を制御するようにしてもよい。
【0120】
ここで、図37(B)に示すように、開始のセクタアドレスBSA及び終了のセクタアドレスESAの設定はトラツクジヤンプするとき以外にも、トラツクジヤンプ後にホストCPU140から再設定することも可能である。例えば、早送り操作時に要らないデータを読み飛ばすとき等、デイスク上のアクセス位置が近接している場合は、現在のセクタアドレスSAを認識してからセクタアドレスBSA及び又はESAを再設定する。これによりトラツクジヤンプをせずともセクタアドレスBSAからのデータ出力ができる。
【0121】
次に、図38〜図40のフローチヤートを参照して、SBCD回路134におけるIDとIEDのチエツク処理について説明する。
【0122】
SBCD回路134は、図38のフローチヤートに示す処理により、IEDのチエツク結果が正常である(IDにエラーがない)セクタがN個(この実施例の場合、3個)以上連続しているか否かを判定する。
【0123】
このため、最初のステツプSP41において、いま、取り込んだIEDチエツクが正常であるか否かを判定する。IEDチエツクが正常である場合においては、ステツプSP42に進み、正常であるIDのセクタの数を表す変数SAlockを1だけインクリメントする。そして、正常でないIDを有する(IDにエラーがある)セクタの連続回数を表す変数SAunlockを0に設定する。
【0124】
次に、ステツプSP43に進み、変数SAlockが3に等しいか否かを判定する。ステツプSP42でインクリメントした変数SAlockが3に等しくないと判定された場合、ステツプSP41に戻り、それ以降の処理を繰り返し実行する。ステツプSP43において、変数SAlockが3に等しいと判定された場合、すなわち、正常なIDを有するセクタが3回連続して再生されたとき、ステツプSP44に進み、フラグIECOKをHに設定する。ステツプSP45においては、さらに次のIEDチエツクが連続して正常である回数を検出するために、変数SAlockを2に設定し、ステツプSP41に戻り、それ以降の処理を繰り返し実行する。
【0125】
ステツプSP41において、IEDが正常でないと判定された場合、ステツプSP46に進み、変数SAunlockを1だけインクリメントするとともに、変数SAlockを0に設定する。そして、ステツプSP47において、変数SAunlockが3に等しいか否かを判定し、等しくない場合においては、ステツプSP41に戻り、それ以降の処理を繰り返し実行する。
【0126】
ステツプSP47において、変数SAunlockが3に等しいと判定された場合、すなわち、IEDチエツクが正常でないセクタが3回連続して検出されたとき、ステツプSP48に進み、フラグIECOKをLに設定する。次に、ステツプSP49において、次のIEDチエツクが正常でない場合に、その連続の回数が3回であることを連続して検出することができるようにするために、変数SAunlockを2に設定し、ステツプSP41に戻り、それ以降の処理を繰り返し実行する。
【0127】
以上のようにして、SBCD回路134は、IEDチエツクが連続して3回以上正常である場合においては、フラグIECOKをHに設定し、3回以上連続して正常でない場合においては、フラグIECOKをLに設定する。
【0128】
SBCD回路134は、さらに図39に示す処理により、ID(アドレス)の連続性を判定する。すなわち、1つのECCブロツク内の各セクタのIDは、順次1ずつインクリメントするように規定されている。そこで、この連続性を次のようにして判定する。
【0129】
最初に、ステツプSP61において、ID(セクタアドレス)が検出されたか否かを判定する。IDが検出された場合、ステツプSP62に進み、そのIDを次のIDと比較することができるように記憶する。そして、ステツプSP63においては、今回検出したIDが、前回検出し、ステツプSP62において記憶したIDより1だけ大きいか否かを判定する。今回のIDが前回のIDより1だけ大きい場合には、ステツプSP64に進み、正しいIDが連続して検出されたことを示す変数NS を1だけインクリメントする。また、IDが検出されなかつたり、連続していない回数を表す変数NNSを0に設定する。
【0130】
そして、ステツプSP65において、変数NS が3と等しいか否かを判定し、等しくなければ(3回連続して1ずつインクリメントしたIDが検出されていなければ)、ステツプSP61に戻り、それ以降の処理を繰り返し実行する。変数NS が3に等しいと判定された場合、ステツプSP66に進み、IDが連続して正しい状態であることを表すフラグASをHに設定する。そして、ステツプSP67において、次のIDを検出したとき、再び連続して3回正しいIDが検出されたことを検出することができるように、変数NS を2に設定し、ステツプSP61に戻り、それ以降の処理を繰り返し実行する。
【0131】
ステツプSP61において、IDが検出されなかつたり、ステツプSP63において、今回検出したIDが前回検出したIDより1だけ大きい値になつていないと判定された場合(不連続であると判定された場合)、ステツプSP68に進み、フラグSALKがHであるか否かを判定する。このフラグSALKは、図26を参照して後述するが、IEDチエツクが3回以上連続して正常であり、かつ、IDの連続性が3回以上保持されているとき、Hに設定されている。
【0132】
ステツプSP68において、フラグSALKがHに設定されていると判定された場合、ステツプSP69に進み、IDを補間する処理を実行する。すなわち、いま、IDが検出されなかつたか、あるいは、IDが連続していなかつた場合であるので、前回のIDに1を加算したIDを生成し、これを検出されたIDに代えて使用するようにする。フラグSALKがLに設定されている場合においては、このような補間処理は行われず、ステツプSP69の処理はスキツプされる。
【0133】
次に、ステツプSP70において、変数NNSを1だけインクリメントするとともに、変数NS を0に設定する。そして、ステツプSP71において、変数NNSが3と等しいか否かが判定され、等しくないと判定された場合においては、ステツプSP61に戻り、それ以降の処理を繰り返し実行する。これに対して、NNSが3に等しいと判定された場合、ステツプSP72に進み、フラグASをLに設定する。そして、ステツプSP73において、次のIDが検出されなかつた場合、連続して3回検出されなかつたことを続けて検出することができるようにするために、変数NNSを2に設定し、ステツプSP61に戻り、それ以降の処理を繰り返し実行する。
【0134】
以上のようにして、SBCD回路134は、IDの連続性が確保されているとき、フラグASをHに設定し、確保されていないとき、Lに設定する。
【0135】
SBCD回路134は、以上のようにして生成した2つのフラグIECOKとASを用いて、フラグSALKを生成する。
【0136】
すなわち、図40のステツプSP81においては、フラグIECOKがHであるか否かが判定され、Hであると判定された場合、ステツプSP82に進み、フラグASがHであるか否かが判定される。ステツプSP82において、フラグASがHであると判定された場合、ステツプSP83に進み、フラグASLKをHに設定する。
【0137】
これに対して、ステツプSP81において、フラグIECOKがLであると判定された場合、あるいは、ステツプSP82において、フラグASがLであると判定された場合、ステツプSP84に進み、フラグSALKをLに設定する。
【0138】
以上のようにして、SBCD回路34においては、IECが3回以上連続して正常であり、かつ、IDが連続して3回以上1ずつインクリメントしている場合には、フラグSALKがHに設定され、IECが連続して3回以上正常でなかつたり、あるいはIDが連続して3回以上不連続である場合には、フラグSALKがLに設定される。
【0139】
ホストCPU140は、SALKの状態と共に、先に述べたIDデータを参照して、レーザビームが現在照射されている位置(光デイスク2上のアクセス位置)を検出する。
【0140】
なお、PI1訂正の結果を図38のSAlockまたはSAunlockの条件に加えることも可能である。さらに、SAlockまたはSAunlockの回数は、前述のように3回と設定されているが、ホストCPU140により異なる値に設定することも可能である。
【0141】
SALKの状態が、SALK=Lの状態(このとき、SALK=Hとなる)で、SYLK=L(このときSYUL=Hとなる)となると、RAM37に対するEFM+復調回路31からのEFM+復調データの書き込みとECCの制御が、いずれもリセツトされる。その後、unlock状態が解除され(SAUL=Lとされ)、SYLK=Hとなると、RAM137に対してEFM+復調データの書き込みが再開される。
【0142】
なお、unlockは、ホストCPU140により強制的に実行することも可能である。例えば、トラツク間のジヤンプ実行後にホストCPU140によりunlock状態にすることで、ECC制御をリセツトすることもできる。
【0143】
また、unlock状態の解除は、ホストCPU140により実行するか、ホストCPU140の介入なしに自動的に実行するかの何れかを選択することができる。
【0144】
SYLKがHの状態(ロツク状態)であり、さらに、セクタ情報のビツト6が1の状態(セクタの先頭)である場合、SBCD回路134はSYLK=Lとなるまで(ロツクがはずれるまで)、図33に示すように、block−topをHの状態とする。block−top=Lである場合は、SCSYとmain−FMSYが共にHの状態の場合(セクタの先頭)になつたとき、EFM+W frameの値は、12の次には0に設定される。すなわち、この場合、EFM+W frameの値は各メインフレーム毎に、0〜12の値を繰り返す。
【0145】
これに対して、block−top=Hであれば、図34に示すように、EFM+W Frameの値は、その値が13以上となつた場合でも引き続きインクリメントされる。その結果、図28に示すように各ECCブロツクの各メインフレームのデータがRAM137の異なるアドレスに順次格納されることになる。
【0146】
以下同様にして、EFM+復調データのRAM137への書き込みが行われると共に、PI1訂正が実行される。そして、1ECCブロツクのデータ(208行のデータ)に対するPI1訂正が終了すると、次に、PO列方向のECC処理(PO訂正)が実行される。
【0147】
なお、PO列方向にデータを読み出す場合は、PO行のインターリーブ(図23)を解除する必要がある。従つて、例えば、図28に示す第Nバイト目の列を読み出す場合、先ず、インターリーブされたPO行をスキツプしながら、図の上から下方向に第Nバイト目の列のデータを読み出した後、再度、同じ第Nバイト目の列のPO行の符号だけを読み出し、ECCコア回路138に供給する。
【0148】
そして、ECCコア回路138が、PO訂正を終了すると(図28の右端のPI列(10列)を除く172列全ての処理が終了すると)、次に、PI2訂正(PI訂正の2回目)を実行する。なお、PI行方向のECC処理を2回実行するのは、エラーの訂正能力を向上させるためである。
【0149】
また、PO訂正では、PI1訂正の結果に基づいて生成されたエラーフラグ(PI1フラグ)に応じてイレージヤ訂正が実行される。さらに、PI2訂正においても、PO訂正の結果に応じて生成されたエラーフラグ(POフラグ)を利用してイレージヤ訂正が実行される。このようなイレージヤ訂正を行うのは、前述の場合と同様に、エラーの訂正能力を向上させるためである。
【0150】
PI2訂正の処理が終了したPI系列のデータは、RAM137からOCTL回路139に転送され、メインデータに対するデスクランブル処理が、図36に示したセクタ情報のビツト3〜ビツト0を用いて、各セクタ単位で実行される。また、このとき、OCTL回路139でEDCに関する演算が行われる。そして、その演算結果や、メインデータに付加されているエラーフラグの有無により、対象となるセクタにエラーが存在するか否かが判定される。ホストCPU140は、その判定結果に基づいて、光デイスク2から再度データを読み出すか否かを判定する。その結果、光デイスク2から再度データを読み出すと判定した場合は、光デイスク2に対するアクセスが再度実行される。また、データの読み出しを再度行わないと判定した場合は、エラーを含むセクタのデータが多重化データ分離回路13(図1)に出力される。
【0151】
ECCコア回路138は、汎用のリードソロモン符号エラー訂正用LSIにより構成され、符号長、パリテイ数、および訂正モード(通常訂正のみ、または、通常訂正およびイレージヤ訂正の2つのモード)などをプログラムすることが可能とされている。また、ECCコア回路138は、多符号連続符号化されたデータ(符号長が異なる複数の符号系列)もリアルタイムでデコードすることが可能である。なお、リードソロモン符号エラー訂正用LSIとしては、例えば、SONY(商標)のCXD307−111Gがあり、このLSIを使用して形成されたASIC(Application Specialized Integrated Circuit)をECCコアと呼ぶ。なお、図25に示すECCコア回路138には、このECCコアが使用されている。
【0152】
図41は、エラー訂正動作の実行時における信号のタイミングを示している。この図において、ESTT(図41(A))は、符号(PI行またはPO行)の先頭を示すコントロール信号であり、また、ECDE(図41(B))は、符号(PI行またはPO行)の最後を示すコントロール信号である。ECYE(図41(C))は、符号(PI行またはPO行)サイクルの最後を示すコントロール信号である。これらはいずれも、RAMコントローラ135からECC制御回路136を介してECCコア回路138に供給される。ECCコア回路138は、RAM137から供給されるデータを、これらのコントロール信号が識別する。
【0153】
図41に示すように、PI符号は、ESTTからEDCEまでの間に、182個のECCKで転送される。PO符号も、ESTTからECDEまでの間に、208個のECCKで転送される。
【0154】
なお、PI行の符号とPO列の符号の符号長が異なる場合、符号サイクル長をPI行の符号またはPO列の符号のうち、符号長の長い方(この実施例の場合、PO列の符号の208)に合わせることにより、訂正すべきデータ(EDT)およびイレージヤ訂正のためのエラーフラグ(PI1フラグ、PI2フラグ、POフラグ)を、図41に示すように、いずれの符号系列であつたとしても、同様のタイミングで入力することができる。また、符号長およびパリテイ数等のパラメータとしては任意の値を設定可能である。すなわち、設定を変更する際は、ESTT=Hとなるタイミングで、ECCコア回路138に新たな設定データを供給すると、ECCコア回路138は供給されたデータに基づき、内部設定を自動的に変更する。
【0155】
データの訂正結果は、次式で示されるように、477ECCKのサイクルで出力される。
【0156】
ここで、NCYCはPI行の符号またはPO列の符号のうちで長い方の符号長を示し、また、PCYCは長い方のパリテイ数を示している。図41に示すように、OSTT(図41(D))は、ESTT(図41(A))のタイミングから、データ出力サイクルの時間だけ遅延して(訂正結果出力のタイミングで)ECCコア回路138からECC制御回路136に出力されるものであり、この実施例では、OSTTはESTTに対して477ECCKだけ遅延されている。
【0157】
エラー検出処理が実行され、検出されたエラーが訂正可能であれば、ECCコア回路138はECC制御回路136に対して、OSTT(図42(E))=HのタイミングでO.CODEERR(図42(G))=Lを出力し、その後、ECOR(図42(F))=Hの位置に、エラーパターンを表す8ビツトのデータ(誤つたデータと排他的論理和をとつたとき正しいデータが得られるデータ)ECD〔7:0〕(図42(H))と、エラーポジシヨン(エラーのある位置(アドレス)を示す8ビツトのデータ)ECA〔7:0〕(図42(I))が出力される。
【0158】
なお、イレージヤ訂正モードにおいては、エラーフラグEFLG(図42(C))を入力したポジシヨンに対応するデータのエラーポジシヨンECA〔7:0〕(図42(I))データは必ず出力されるが、その位置のデータが正しい場合には、エラーパターンはECD〔7:0〕=00(H)となる。
【0159】
また、エラー訂正が不可能な場合には、そのタイミングチヤートは図示していないが、OSTT(図42(E))がHの状態になると同時に、O.CODEERR(図42(G))=Hとなり、その後、ECOR(図42(F))はHの状態にはならない。また、O.CODEERR(図42(G))の出力は、OSTT(図42(E))が再度Hの状態になるまでラツチされ、ECOR(図42(F))、ECD〔7:0〕(図42(H))およびECA〔7:0〕(図42(I))は、OSTT(図42(E))が次にHの状態になるまで出力され続ける。
【0160】
図43〜図45は、ECC処理実行時における制御のタイミング図を示している。ここで、図43(B)、図44(B)及び図45(B)に示すPI1−R、PO−R、または、PI2−Rは、それぞれ、PI1(PI訂正の1回目)、PO(PO訂正)、またはPI2(PI訂正の2回目)の各系列の、エラーが訂正されるデータEDT〔7:0〕とEFLG(図42(C))がRAM137からECC制御回路136を介してECCコア回路138に転送されるタイミングを示している。
【0161】
図43(A)、図44(A)及び図45(A)に示すように、EFM+復調回路131からRAM137に対して1PI行のデータEFM+W(182バイトのデータ)を書き込むために、MWRQ信号が182回供給され、これによりRAM137に1PI行分のEFM+復調データが書き込まれる。そして、この1PI行分のデータの書き込みが行われる間に、既にRAM137に書き込みが完了しているECCブロツクのデータが読み出され、ECC制御回路136を介してECCコア回路138に転送される。すなわち、1PI行分のデータをRAM137にゆつくり書き込む間に、既に書き込みが完了している他のPI行またはPO列のデータの読み出しが、3回迅速に行われる。さらに、セクタの先頭のPI行のデータを転送する場合においては、サブコードデータ(IDとIED)の読み出しも行われる。これらの書き込みと読み出しは、一方が行われているとき、他方は中止されている。
【0162】
例えば、ECCブロツクのPI1訂正を行う場合においては、1PI行分のデータの書き込みが行われる期間に、1PI行分のデータの読み出しが行われる。すなわち、RAM137から1PI行分のデータが読み出され、ECC制御回路136を介してECCコア回路138に転送される。なお、図43(B)、図44(B)及び図45(B)においては、このPI1訂正のための読み出しデータPI1−Rの読み出しに、208個のECCKを用いるようにしているが、このECCKの数は、最長のデータ長であるPO列の長さに合わせてあるためであり、PI行のデータを転送する場合には、実質的には、このうちの182個のECCKのみが実際のデータ転送に利用され、残りのECCKは、データ転送には実際には用いられない。
【0163】
図46はECC訂正処理の際のRAMコントローラ135によるRAM137に対するデータの書き込み及び読み出し処理手順を示し、RAMコントローラ135はステツプSP101においてRAM137から1PI行分のデータをECCコア回路138に転送する。この実施例の場合、ECCブロツクごとにPI符号(パリテイ)及びPO符号(パリテイ)が付加されていることにより、第1のECCブロツク分の第1回目のPI系列の訂正及び書き戻しが終了するまでは同一ECCブロツクのPO系列のデータPO−RまたはPI2系列の読み出しデータPI2−Rを転送することはできない。そこで、この場合においては、次の2×208ECCKのタイミングにおいては、特にデータは転送されない。そして、その次にサブコードデータ(SUB)が存在する場合においては、これが転送される。
【0164】
従つてRAMコントローラ135は、図46のステツプSP101及びSP102において第1のECCブロツクの1PI行分のデータ及び必要に応じてSUBコードデータの転送を順次行いながら、ステツプSP103において第1のECCブロツクの208行分のPI1−Rデータが転送されたか否かを判断し、肯定結果が得られるまで当該ステツプSP101、SP102及びSP103の処理を繰り返す。ステツプSP103において肯定結果が得られると、このことは第1のECCブロツクの208PI行分のデータ転送がすべて完了したことを表しており、このときRAMコントローラ135はステツプSP104に移つて第1のECCブロツクに続く第2のECCブロツクのPI1−Rの転送及び第1のECCブロツクのPO−Rの転送を次の182MWRQの期間において開始する。
【0165】
すなわち次の182MWRQ期間においては、最初に第1のECCブロツクに続く第2のECCブロツクのPI1−Rが転送され、次に第1のECCブロツクのPO−Rが2回転送される(2列分のPOデータが転送される)。
【0166】
このような動作が各182MWRQの期間において行われ、第1のECCブロツクの合計172列のPOデータが転送されたとき、RAMコントローラ135は、図46のステツプSP105において肯定結果を得、続くステツプSP106において図45に示すように第1のECCブロツクのPI2系列のデータPI2−Rを転送する。このデータPI2−Rは、図44(B)に示す第1のECCブロツクのデータPO−Rの転送タイミングと同一のタイミングで転送される。このタイミングにおけるデータPI1−Rは、次のECCブロツク(第2のECCブロツク)のデータのものとなる。このようにして第1のECCブロツクのPI2−Rが208PI行分転送され、第1のECCブロツクのPI1−R、PO−R及びPI2−Rの処理が終了すると、図46のステツプSP107において肯定結果が得られ、このときRAMコントローラ135は上述のステツプSP101に戻つて続くECCブロツクに対する処理を続ける。
【0167】
なお、ECCK(図42(A))は、データ転送期間においてのみ、RAMコントローラ135からECCコア回路138に出力される。また、上述したように、転送したデータの訂正結果は、その入力から、477クロツク(ECCK)後に出力されることになる。従つて、ある系列のデータにエラーが含まれているか否かの判定の結果(図43(C)、図44(C)、図45(C))は、その系列から2つ後の系列のデータが転送される際に出力されることになる(図43(B)、図44(B)、図45(B))。この出力は、後述するERR FIFO回路136B(図47)に格納される。
【0168】
以上のようにして、RAM137からECC制御回路136にエラー訂正すべきデータが入力されると、ECC制御回路136は、その例えば1PI行分のデータのPI1訂正を行い、477ECCK後に訂正結果を出力する(図43(C)、図44(C)、図45(C))。この訂正結果は、後述するECC制御回路136のバツフアとしてのERR FIFO136Bに転送され、一時的に格納される。そして、このデータは、さらにERR FIFO136Bから読み出され、エラー訂正が完了したデータとして、再びRAM137に転送され、図44(D)、図45(D)に示すように、データPI1−Wとして書き込まれる。同様に、PO訂正あるいはPI2訂正が完了したデータは、それぞれデータPO−WまたはPI2−Wとして、RAM137に書き込まれる。
【0169】
このように、RAM137に書き込まれたエラー訂正の完了したデータは、さらに図43(E)、図44(E)及び図45(E)に示すように、182SDCKの周期で各PI行毎に読み出され、OCTL回路139から出力される。
【0170】
図25との対応部分に同一符号を付して示す図47は、エラー訂正処理が実行される際の信号の流れを示すブロツク図であり、ECC制御回路136は、ERR COUNT136A、ERR FIFO136B、FLAG RAM136C、およびEX−OR(排他的論理和)回路136Dにより構成されている。
【0171】
EFM+復調回路131から出力された復調データは、RAMコントローラ135の制御の下、RAM137に書き込まれる。各セクタの先頭に記憶されているSUBデータ(IDとIED)は、RAM137から読み出され、SBCD回路134に転送される。SBCD回路134は、図36に示すようなセクタ情報SIを生成する。このセクタ情報SIは、SBCD回路134から転送され、RAM137に書き込まれる。
【0172】
RAMコントローラ135は、RAM137(記憶手段)に書き込まれている1PI行分のデータを8ビツト毎のエラー訂正データEDTとして、ECC制御回路136(エラー訂正手段)を介してECCコア回路138に供給する(図47においては、便宜上、EDTデータがECCコア回路138に直接供給されるように示されている)。ECCコア回路138は、1PI行分のデータが供給されたとき、PI符号を用いて、8ビツトのエラー訂正データECD(図42(H))と、8ビツトのエラー訂正アドレスECA(図42(I))を生成する。このエラー訂正データECDとエラー訂正アドレスECAは、ECCコア回路138からECC制御回路136のERR FIFO(First In First Out) 136Bに転送され書き込まれる。
【0173】
次に、実際にエラー訂正を行うためにRAMコントローラ135は、RAM137から、そのPI行のデータEDTを読み出し、EX−OR回路136Dに供給する。このEX−OR回路136Dには、ERR FIFO136Bからエラー訂正データECDとエラー訂正アドレスECAが供給される。EX−OR回路136Dは、エラー訂正アドレスECAで指定されるビツトにおいて、エラー訂正データECDとRAMコントローラ135より読み出されたデータEDTとの排他的論理和を演算することによりエラー訂正を行う。このエラー訂正の行われたデータは、EX−OR回路136Dから、RAMコントローラ135を介してRAM137に、再び書き戻される。
【0174】
また、ECCコア回路138は、ECDとECAから、図48に示すような8ビツトデータにより構成されるエラー訂正結果ERを生成し、ECC制御回路136のERR COUNT136Aに供給し記憶させる。そして、この1バイトのエラー訂正結果ERは、RAMコントローラ135を介して、RAM137に、そのPI行に対応して図28に示すように書き込まれる。
【0175】
なお、図48に示すエラー訂正結果ERの8ビツトデータの各ビツトには、以下のような情報が格納されている。
ビツト7:訂正不能(0:訂正可能/1:訂正不能)(その系列のエラー訂正が不可能である場合に1とされる)
ビツト6:PO(0:PI/1:PO)(その系列がPIまたはPOのいずれであるかを判別するための情報ビツト)
ビツト5:PI2(0:PI1/1:PI2)(その系列がPI1、またはPI2のいずれであるかを判別するための情報ビツト)
ビツト4:訂正数(エラー訂正数の第5ビツト(MSB)の値)
ビツト3:訂正数(4ビツトのエラー訂正数の第4ビツトの値)
ビツト2:訂正数(4ビツトのエラー訂正数の第3ビツトの値)
ビツト1:訂正数(4ビツトのエラー訂正数の第2ビツトの値)
ビツト0:訂正数(4ビツトのエラー訂正数の第1ビツトの値)
【0176】
データがPI1訂正により訂正不能であつたか否かの判定結果を示すエラーフラグ(PI1フラグ)(エラー訂正結果ERのビツト7)は、エラー訂正結果ERの一部としてERR COUNT136Aに格納される他、FLAG RAM136C(フラグ記憶手段)にも格納される。
以上のようなPI1訂正が、図28に示す208個のPI行について行われる。
【0177】
次に、RAMコントローラ135は、RAM137から最初のPO列の208バイトのデータを読み出し、ECC制御回路136を介して、EDTとして、ECCコア回路138に供給する。このECCコア回路138にはまた、FLAGRAM136Cに書き込まれているPI1フラグが読み出され、供給される。ECCコア回路138は、パターンPOとPI1フラグを利用して、通常の訂正またはイレージヤ訂正のためのECDとECAを生成する。このECDとECAは、ECCコア回路138からECC制御回路136のERR FIFO136Bに供給され、記憶される。また、ECCコア回路138が、ECDとECAに基づき生成した、そのPO列のエラー訂正結果ERが、ERR COUNT136Aに転送され、記憶される。そして、そのうちのエラー訂正結果ERのビツト7に対応するPOフラグは、FLAG RAM136Cにも書き込まれる。
【0178】
RAM137から読み出された、そのPO列のデータEDTは、EX−OR回路136Dに供給される。EX−OR回路136Dにはまた、ERR FIFO136BからECDとECAが供給される。EX−OR回路136Dは、ECAにより指定されるアドレスのビツトに対応して、ECDとEDTとの排他的論理和を演算し、エラー訂正を行う。エラー訂正されたデータは、RAM137に書き戻される。
【0179】
また、そのPO列のエラー訂正結果ERは、ERR COUNT136Aから読み出され、RAM137に書き込まれる。PO列のエラー訂正結果ERは、図28に示すように、上から順番に、172行のPI行に対応する位置に順番に書き込まれる。
以上のPO訂正が、172列のPO列について行われる。
【0180】
次に、PI2訂正を行う場合においては、PI1訂正とPO訂正が行われた後、最初の1PI行分のデータが、RAM137からEDTとして読み出され、ECCコア回路138に供給される。ECCコア回路138にはまた、FLAGRAM136Cに書き込まれたPOフラグが読み出され供給される。ECCコア回路138は、このPOフラグとパリテイPIを用いて、ECDとECAとを生成し、これをECC制御回路136をERR FIFO136Bに供給する。
【0181】
このERR FIFO136Bに書き込まれたECDとECAHは、EX−OR回路136Dに供給され、RAM137から読み出されたPI行のデータと排他的論理和演算が行われ、エラー訂正が実行される。エラー訂正が完了したデータは、EX−OR回路136Dから、RAMコントローラ135を介してRAM137に書き戻される。
【0182】
ECCコア回路138はまた、ECDとECAから、エラー訂正結果ERを生成し、ECC制御回路136のERR COUNT136Aに供給し記憶させる。このうちのビツト7に対応するPI2フラグは、FLAG RAM136Cにも書き込まれる。
【0183】
ERR COUNT136Aに書き込まれたPI2行のエラー訂正結果ERは、ERR COUNT136Aから読み出され、RAM137に書き込まれる。このPI2行のエラー訂正結果ERは、図28に示すように、ECCブロツクの208行の各PI行に対応する位置に書き込まれる。
以上のようなPI2訂正が、208行のPI行すべてについて行われる。
【0184】
図49は、RAM137にアクセスする際のバスアービトレーシヨン(調停)の様子を示すタイミング図である。この図49において、EFMREQ(図49(A))は、EFM+復調回路131がEFM+復調データのRAM137への書き込みを要求する際に、RAMコントローラ135に対して出力する信号である。OUTREQ(図49(B))は、OCTL回路139が、ECC処理が施されたデータのRAM137からの読み出しを要求する際に、RAMコントローラ135に出力する信号である。また、ECCREQ(図49(C))は、ECC制御回路136がECCコア回路138に対してデータを転送し、エラー訂正をさせるためにRAM137にアクセスしたり、エラー訂正が施されたデータを得るためにRAM137にアクセスしたり、または、SBCD回路134に対してSUB転送(IDとIEDのRAMコントローラ135に出力される信号である。
【0185】
RAMコントローラ135は、これら3つの信号に対して優先順位(Priority Level)を予め設定しており、これらの要求が同時になされた場合には、その優先順位に従つて、RAM137のアクセス権を認めるACK(認可)信号を順次出力する。EFMACK(図49(D))、OUTACK(図49(E))、ECCACK(図49(F))は、それぞれ、EFMREQ、OUTREQ、または、ECCREQに対する認可信号である。この実施例において、前述の優先順位は、OUTREQ、EFMREQ、ECCREQの順とされている。従つて、図49に示すように、RAMコントローラ135は、この順位に従つて、REQ信号に対するACK信号を出力している。これらの信号は、システムクロツクとしてのC11M(図49(G))に同期して授受される。
【0186】
このように、本実施例において、RAM137のアクセス権は、所定のサイクル毎にEFMREQ、ECCREQ、OUTREQの何れか1つに対応して与えられる。しかし、このサイクルは、RAM137の構成、種類、または、アクセスのスピードに対応して変更することも可能である。
【0187】
図50は、1ECCブロツクのデータに対してPI1訂正、PI2訂正、およびPO訂正を実行する場合に、RAM137がアクセスされる回数を示している。この図50に示すように、PI1訂正、PO訂正およびPI2訂正を実行した場合に必要となるRAM137のアクセスの回数は、1ECCブロツクあたり214716回であり、1メインフレームの平均は1033回となる。例えば、EFM+復調データの書き込み動作時におけるRAM37のアクセス回数は、1メインフレームあたり182回であり、ECCの実行サイクル長は208バイト(208メインフレーム)とされているので、37856(=182×208)回が1ブロツクあたりに必要なアクセス回数となる。このようにして各動作について必要なアクセス回数を算出し、これらの合計をとつたものが前述の値となる。
【0188】
図51は、RAM137からOCTL回路139を介してエラー訂正結果ERのデータを出力するタイミングを示すタイミング図である。この図は、図43(E)、図44(E)、図45(E)の182SDCKの期間に先行する部分を、時間軸を拡大して示している。この図において、SDCK(図51(A))はERのデータをストリームデータとして出力する場合のクロツク信号を示す。SINF(図51(B))はセクタ情報ストローブ信号であり、セクタの先頭においてSINF=Hとなると共に、転送されるデータがセクタ情報(SI)であることを示す。ESTB(図51(C))は、エラー訂正結果ストローブ信号であり、ESTB=Hとなることによりエラー訂正結果ERが転送されることを示す。なお、各PI行においてエラー訂正結果ERは、PI1訂正、PO訂正、およびPI2訂正のそれぞれに対して1バイトずつ割り当てられているので、合計で3バイトとられる。これらのデータは図28に格納されている順序で出力されるので、エラー訂正結果ERのビツト5及び6(図48)を調べることにより、どの系列の結果(データ)であるのかを判定することができる。また、PO訂正の結果が出力されないPI行では、PO訂正の結果を出力するタイミングでESTB=Lとされる。
【0189】
DSTB(図51(D))は、信号SD〔7:0〕(図51(E))がメインデータであるときにDSTB=Hとされるデータストローブ信号である。SINF、ESTB、またはDSTBの3つの信号は、OCTL回路139により生成される。なお、図51(E)に示すように、セクタ情報SIとエラー訂正結果ERは、182SDCKによりPI行方向のデータを送出する直前に出力される。
【0190】
OUTF(補間フラグ)(図51(F))は、メインデータに対するエラーフラグであり、図47のFLAG RAM136Cに格納されているPIとPOの訂正不能フラグに基づき、エラーのあるメインデータに対して補間フラグで付加されて、出力されることになる。
【0191】
OCTL回路139は、デコードが終了したセクタのデータが、出力されるべきデータであるか否かを、SBCD回路134が生成したセクタ情報のビツト4、5(図36)より判定する。セクタ情報のビツト4、5は、図36に示すように、エンドセクタとスタートセクタとをそれぞれ示している。従つて、OCTL回路139は、ビツト4=0かつビツト5=1であるセクタのデータを、出力が指定された(出力されるべき)セクタのデータとして、出力する。
【0192】
また、OCTL回路139は、例えば、メインデータのエラーフラグの有無やEDCの結果などが、ホストCPU140により予め設定された条件を満足するか否かも判定し、満足する場合、デコードデータを出力する。もし、設定された出力条件が満たされない場合には、デコードデータの出力を停止し、ホストCPU140に異常を知らせる。
【0193】
データの出力条件は、例えば次のように設定される。
(1)出力を指定されたセクタのデータである。
(2)ECC結果からエラーが検出されない。
(3)メインデータにエラーフラグが全く付加されていない。
出力条件がこのように設定された場合、これらの条件を全て満足するデータが最終的に出力される。また、以上の条件に拘らず、ホストCPU140により強制的に出力を禁止することができる。
【0194】
OCTL回路139は、図52に示すようなセクタ・データの出力手順に従つてメインデータとセクタ情報SI及びエラー訂正結果ERを順次出力する。
まずOCTL回路139は、ステツプSP111においてOCTL回路139にてセクタ情報SI(図36)のビツト4に格納されたエンドセクタ検出の結果及びビツト5に格納されているスタートセクタ検出の結果を解析して、ビツト4が0で、かつビツト5が1であるセクタ・データを出力されるべきセクタ・データであると判断する。
これにより次のステツプSP112において、デコードデータが出力されるべきデータではないと判断された場合はステツプSP114に移つてデータの出力を停止する。またデコードデータが出力条件を満たした出力されるべきデータであると判断された場合はステツプSP113に進む。
【0195】
OCTL回路139はステツプSP113において、出力データの各ストローブ信号を生成してセクタ情報SIのストローブ信号SINF(図51(B))、エラー訂正結果ERのストローブ信号ESTB(図51(C))、メインデータのストローブ信号DSTB(図51(D))を順で出力する。この結果、OCTL回路139は次のステツプSP115でセクタ情報SI、エラー訂正結果ER及びメインデータ(D0、D1、D2……)の順でデータ出力し、全てのセクタ・データを出力し終えるとセクタ・データの出力手順を終了する。
【0196】
(2−3)第2実施例の動作及び効果
以上の構成において、182MWRQ期間内にRAM137からECCコア回路138に転送されるデータ(PI1−R、PO−R及びPI2−R(図43、図44、図45))は、転送用クロツク(ECCK)に応じてRAM137から読み出される。このとき各データ(PI1−R、PO−R及びPI2−R)の転送区間相互の間にそれぞれ所定期間だけ転送用クロツク(ECCK)を停止させることにより、当該停止期間においてはデータ(PI1−R、PO−R及びPI2−R)の転送が停止される。すなわち、各データ(PI1−R、PO−R及びPI2−R)の間には所定期間だけデータの転送が行われない期間が形成される。
【0197】
この期間において、RAMコントローラ135は、PI1訂正(PI1−W)の実行後、RAM137内の番号0のメインフレームに格納されているセクタアドレス情報(ID)及びIDに対するエラー検出符号(IED)をSUB(図43(B)、図45(B))のタイミングで読み出してSBCD回路134に転送させる。SBCD回路134は、セクタアドレス情報IDを検出すると、そのセクタの開始セクタアドレスBSA及び終了セクタアドレスESAと、ホストCPU140によつて予め指定されている出力すべき目的セクタのセクタアドレスとを比較する。すなわちそのセクタが目的セクタであつたときは、その目的セクタの開始セクタアドレスBSAであることを示すためにセクタ情報SIのビツト5を”1”に設定し、さらに終了セクタアドレスESAの検出ビツト4を”0”に設定する。そしてSBCD回路134は、セクタアドレス情報IDを検出したセクタデータが目的セクタか否かをセクタ情報SIのビツト4及び5に設定した後、そのセクタ情報SIを所定のPI行に対応するようにRAM137内に設けられた僅かな領域内に格納する。
【0198】
ここでRAMコントローラ135は、EFM+復調データのRAM137への書き込みの際にECC回路50においてデコード処理されたセクタデータをOCTL回路139に転送する。
OCTL回路139は、転送されてくるセクタデータの中にセクタ情報SIを検出すると、セクタ情報SIのビツト4及び5の情報に応じてそのセクタデータが目的セクタであるか否かを判別して次段のリングバツフアメモリ10に対する出力を制御する。
【0199】
このようにSBCD回路134において、開始のセクタアドレスBSA及び終了のセクタアドレスESAを検出して予めホストCPU140によつて設定されている目的セクタであるか否かに関するセクタ情報SIを生成してRAM137内に設けられた僅かな領域内に格納しておくことにより、デコードデータの出力時、OCTL回路139においてセクタ情報SIに基づいてデコードデータの出力を制御し得る。
これにより例えば、検出したセクタアドレス情報IDをもとにしてホストCPU140によつて予め設定しておいた目的セクタのセクタアドレスとの比較処理ステツプを省略し得る。
【0200】
以上の構成によれば、ECC復号したECCブロツクデータのメインデータを次段のリングバツフアメモリ10に出力する場合、前もつてSBCD回路134において、ECC復号時にセクタデータが目的セクタであるか否かの情報をセクタ情報SIのビツト4及び5に記録しておくようにしたことにより、データ出力時に、再びセクタアドレス情報IDと目的セクタのセクタアドレスとを比較してデータ出力の可否を判定するステツプを省くことができる。
かくしてセクタ単位のECCデコードを出力する場合、ECCデコードデータからセクタアドレス情報IDを検出してセクタアドレスとの比較処理をするための回路を新たに設ける必要がなくなり、全体の回路構成を簡略化し得ると共に、セクタデータに対するアクセスを高速かつ確実になし得る。
【0201】
さらに上述の実施例によれば、RAM137内に設けられた僅かな領域内にセクタ情報SIを格納しておくようにしたことにより、特別にセクタ検出用のメモリ領域を設けずとも良く、これによりメモリ容量を節約し得る。
【0202】
さらに上述の実施例によれば、PI系列及びPO系列によつてブロツク化してECC処理するようにしたことにより、C1系列及びC2系列によるECC符号化のときのように次のECCブロツクに跨がつた斜め方向のC2系列の復号終了を待たずに1ECCブロツクのデコード終了時に、直ちにリングバツフアメモリ10へのデータ出力の可否を判断することができる。
【0203】
(3)他の実施例
なお上述の実施例においては、C1/C2畳み込み・リードソロモン符号化、又は行方向に誤り訂正内符号を付加すると共に列方向に誤り訂正外符号を付加して符号化したデータを復号した場合について述べたが、本発明はこれに限らず、広く一般にインタリーブ又はクロス・インタリーブにより誤り訂正符号が付加された符号化データの復号に適用し得る。
また上述の実施例においては、符号化データを誤り訂正符号とした場合について述べたが、本発明はこれに限らず、広く一般に符号化データを復号するのに用いることができる。
【0204】
さらに上述の実施例においては、データ再生装置40によつて光デイスク2に記録された符号化データを復号して再生する場合について述べたが、本発明はこれに限らず、一般に符号化データを記録した記録媒体から符号化データを読み出し、復号して再生する場合に適用し得る。
【0205】
【発明の効果】
上述のように本発明によれば、符号化データの復号処理とは独立して、当該符号化データより得られる復号データの出力可否を当該符号化データの復号処理途中で判定しておくと共に、当該判定の結果を示すデータ情報を符号化データ及び複合化データを記憶するメモリに記憶しておくことにより、データ情報を記憶し得るわずかな領域をメモリに別途確保しておくだけで、符号化データの復号処理終了後に復号データの出力可否の判定処理を行う場合と比べて迅速に復号データの出力を開始することができ、かくしてメモリ容量をほとんど増やすことなく、一段と迅速に復号データの出力を開始することができるデータ復号装置及びデータ復号方法を実現できる。
【0206】
また同様に、符号化データの復号処理とは独立して、当該符号化データより得られる復号データの出力可否を当該符号化データの復号処理途中で判定しておくと共に、当該判定の結果を示すデータ情報を符号化データ及び複合化データを記憶するメモリに記憶しておくことにより、データ情報を記憶し得るわずかな領域をメモリに別途確保しておくだけで、符号化データの復号処理終了後に復号データの出力可否の判定処理を行う場合と比べて迅速に復号データの出力を開始することができ、かくしてメモリ容量をほとんど増やすことなく、復号データの再生が一段と迅速になし得るデータ再生装置を実現できる。
【図面の簡単な説明】
【図1】データ再生装置の全体構成を示すブロツク図である。
【図2】図1のECC回路の構成を示すブロツク図である。
【図3】図1の復調回路、セクタ検出回路及びECC回路の接続の説明に供するブロツク図である。
【図4】図2のRAMに格納するデータの説明に供する略線図である。
【図5】図2のECC回路によるECC 結果の説明に供する略線図である。
【図6】図2のECC回路によるECC 復号の実行制御の説明に供するタイミングチヤートである。
【図7】図2のECC回路によるエラー出力の説明に供するタイミングチヤートである。
【図8】図2のECC回路のRAMに対するアクセスの説明に供する表である。
【図9】図2のECC回路のRAMに対するアクセスの優先順位の説明に供するタイミングチヤートである。
【図10】再生データのフレーム構成を示す略線図である。
【図11】復調データのセクタフオーマツトの説明に供する略線図である。
【図12】セクタ情報の説明に供する図表である。
【図13】セクタアドレスの設定の説明に供するタイミングチヤートである。
【図14】セクタ検出及びデータ出力の説明に供するタイミングチヤートである。
【図15】セクタ検出及びデータ出力の説明に供するタイミングチヤートである。
【図16】セクタ検出及びデータ出力の説明に供するタイミングチヤートである。
【図17】セクタ検出及びデータ出力の説明に供するタイミングチヤートである。
【図18】セクタ検出及びデータ出力の説明に供するタイミングチヤートである。
【図19】セクタ検出及びデータ出力の説明に供するタイミングチヤートである。
【図20】セクタ検出及びデータ出力の説明に供するタイミングチヤートである。
【図21】第2実施例のセクタデータの構成を示す略線図である。
【図22】第2実施例のECCブロツクの構成を示す略線図である。
【図23】第2実施例のPOパリテイ(外符号)のインターリーブを示す略線図である。
【図24】第2実施例のEFM変調前の32Kバイトブロツクのデータ構成を示す略線図である。
【図25】第2実施例の復調回路系の構成を示すブロツク図である。
【図26】第2実施例のEFM変調号の物理セクタの構成を示す略線図である。
【図27】第2実施例の各セクタのデータ構成を示す略線図である。
【図28】第2実施例のRAMへの格納状態の説明に供する略線図である。
【図29】第2実施例のEFM復調出力のRAMへの書込み動作を示す信号波形図である。
【図30】第2実施例のロツク検出処理手順を示すフローチヤートである。
【図31】第2実施例のSCSY信号の生成処理手順を示すフローチヤートである。
【図32】第2実施例のmain-FMSY 信号の発生処理手順を示すフローチヤートである。
【図33】第2実施例のblock-top の検出動作の説明に供する信号波形図である。
【図34】第2実施例のblock-top の検出後の処理動作の説明に供する信号波形図である。
【図35】第2実施例のSUBの転送動作の説明に供する信号波形図である。
【図36】第2実施例のセクタ情報の構成を示す略線図である。
【図37】第2実施例のセクタアドレスの設定の説明に供するタイミングチヤートである。
【図38】第2実施例のIEDの連続正常検出判定処理手順を示すフローチヤートである。
【図39】第2実施例のID(アドレス)の連続判定処理手順を示すフローチヤートである。
【図40】第2実施例のSALK生成処理手順を示すフローチヤートである。
【図41】第2実施例のエラー訂正動作の説明に供する信号波形図である。
【図42】第2実施例のエラー訂正動作の説明に供する信号波形図である。
【図43】第2実施例のECC処理の制御動作の説明に供するタイミングチヤートである。
【図44】第2実施例のECC処理の制御動作の説明に供するタイミングチヤートである。
【図45】第2実施例のECC処理の制御動作の説明に供するタイミングチヤートである。
【図46】第2実施例のECC処理のRAMコントローラの処理手順を示すフローチヤートである。
【図47】第2実施例のエラー訂正回路系の構成を示すブロツク図である。
【図48】第2実施例のエラー訂正結果を示す略線図である。
【図49】第2実施例のバスアービトレーシヨンの説明に供する信号波形図である。
【図50】第2実施例の1ECCブロツク訂正におけるRAMのアクセス回数を示す略線図である。
【図51】第2実施例のエラー訂正結果の出力の説明に供する信号波形図である。
【図52】第2実施例のセクタデータの出力の説明に供するフローチヤートである。
【図53】従来のデータ再生装置を示すブロツク図である。
【図54】図53のECC回路を示すブロツク図である。
【図55】図54のECC回路によるECC 復号の説明に供する略線図である。
【図56】図54のECC回路によるECC 復号の説明に供する略線図である。
【図57】図54のECC回路によるECC 復号の説明に供する略線図である。
【図58】図54のECC回路によるECC 復号の説明に供する略線図である。
【符号の説明】
1、40……データ再生装置、2……光デイスク、3……ピツクアツプ、4……システムコントローラ、5、35……復調回路系、6……復調回路、7……セクタ検出回路、8、50……ECC回路、9……トラツクジヤンプ判定回路、10……リングバツフアメモリ、11……リングバツフア制御回路、13……多重化データ分離回路、14……ヘツダ分離回路、15……分離回路制御回路、16……スイツチング回路、17……ビデオコードバツフア、18……ビデオデコーダ、19……オーデイオコードバツフア、20……オーデイオデコーダ、22……トラツキングサーボ回路、24、26、28、30、51……RAM、25、27、29、52……ECCデコーダ、42……RF処理回路、44、131……EFM+復調回路、46……CLV制御回路、48……RMIF、53……エラーレジスタ、54……ECC制御部、55……ECC復号部、56、139……OCTL回路、134……SBCD回路、135……RAMコントローラ、136……ECC制御回路、137……RAM、138……ECCコア回路、140……ホストCPU。[0001]
【table of contents】
The present invention will be described in the following order.
TECHNICAL FIELD OF THE INVENTION
Conventional technology (FIGS. 53 to 57)
Problems to be solved by the invention
Means for solving the problem
BEST MODE FOR CARRYING OUT THE INVENTION (FIGS. 1 to 52)
(1) 1st Example (FIGS. 1-20)
(1-1) Overall configuration of data reproducing apparatus (FIG. 1)
(1-2) ECC circuit and ECC decoding (FIGS. 2 to 9)
(1-3) Sector detection (FIGS. 10 to 20)
(2) Second embodiment
(2-1) Record data format (FIGS. 21 to 24)
(2-2) Data reproducing apparatus and ECC decoding (FIGS. 1, 25 to 52)
(2-3) Operation and effect of the second embodiment (FIGS. 43 to 45)
(3) Other embodiments
The invention's effect
[0002]
BACKGROUND OF THE INVENTION
The present invention relates to a data decoding apparatus and method, and a data reproducing apparatus, and is suitable for use, for example, for reproducing a moving image which has been digitized and recorded on a disk.
[0003]
[Prior art]
Conventionally, for example, there is a disc in which a moving image according to MPEG (Moving Pictures Expert Group) standard is digitized and recorded at a variable rate.
The MPEG used here is an I-picture (Intra-Picture) that is an intra-frame code image, a P-picture (Predictive-Picture) that is an inter-frame forward prediction encoded image, and a bi-directional prediction code. Three types of B-pictures (Bidirectionally predictive-pictures), which are converted images, are defined, and a screen group structure GOP (Group Of Pictures) is formed by these three images.
Similarly, the MPEG standard is applied to the audio data, but the audio data is also digitized and compression encoded by, for example, ATRAC (Aditive TRansform Acoustic Coding) other than MPEG. Incidentally, ATRAC is a trademark.
[0004]
FIG. 53 shows a
[0005]
Here, when the
[0006]
At this time, the ring
Further, the ring
[0007]
Here, the
[0008]
Here, the
[0009]
The
[0010]
Thus, the
[0011]
Here, data decoding in the
[0012]
As shown in FIG. 54, the EFM + demodulated data S2 sent to the
[0013]
For example, as shown in FIG. 55, the ECC decoding in the
Here, in error correction, the error position and the correction pattern are read from the
[0014]
When the ECC decoding of the C1 sequence is executed for the C2 code sequence length, the ECC decoding of the C2 sequence can be executed. Next, the data on the
As shown in FIG. 57, when the C2 sequence ECC decoding result is written in the RAM 28 (C2 Write), and the C2 sequence ECC decoding is executed for the C1 code sequence length, the C12 sequence ECC decoding can be performed. 29, the ECC decoding of the C12 sequence is executed (C12 read) which is read in the order of 00 ′, 01, 02, 03, to A9.
[0015]
Here, for the erasure correction of the C12 series, the C2 uncorrectable flag is used. When the C12 error correction is completed, the ECC decoding results of the C12 series are written in the
[0016]
Here, the target sector to which the output data to be read belongs is detected by extracting the sector address from the reproduction data stored in a memory different from the memory used for ECC decoding. That is, in order to detect the sector address, the memory for deinterleaving the previous stage (RAM 24) and the ECC decoding memory (
[0017]
Actually, the ECC decoded data S10 ECC-decoded by the
[0018]
In this ECC decoding method, an ECC interleave is estimated for a target sector by disk access, a sector several sectors before is detected, and the EFM + demodulated reproduction data is set to the start of the sector in the ECC decoding memory. Are written in correspondence with each other, and ECC decoding is executed to write the decoded data into the
[0019]
[Problems to be solved by the invention]
When decoding the interleaved encoded data here, the time required for ECC decoding between the sector address recognition for disk access by the
[0020]
In addition, when decoding interleaved encoded data, a memory for detecting the target sector and a storage medium such as a memory necessary for ECC decoding are required separately, so the memory capacity becomes relatively large. There was a problem.
In addition, in order to recognize the sector, the deinterleaved data is first written to the
[0021]
Further, at the stage of writing to the
The present invention has been made in view of the above points, and intends to propose a data decoding apparatus and method, and a data reproduction apparatus capable of reducing the memory capacity for ECC decoding and quickly accessing the target sector. To do.
[0022]
[Means for Solving the Problems]
In order to solve this problem, in the present invention, in a data decoding apparatus for decoding encoded data recorded on a recording medium, a memory for storing encoded data read from the recording medium, and encoded data stored in the memory are stored. A data decoding circuit that performs decoding processing and stores the decoded data obtained as a result of the decoding processing in a memory, and detects position information indicating a recording position on the recording medium from encoded data in the middle of the decoding processing, and based on the position information A data information generation circuit for determining whether or not to output decoded data obtained from the encoded data during decoding processing of the encoded data, generating data information indicating a result of the determination, and storing the data information in the memory; and a memory And a data output control circuit for controlling the output of the decoded data stored in the memory based on the data information stored in the memory. It was so.
[0023]
Further, in the present invention, in a data decoding method for decoding encoded data recorded on a recording medium, a storage step stored in an encoded data memory read from the recording medium and a decoding process for the encoded data stored in the recording memory Then, the data decoding step for storing the decoded data obtained as a result of the decoding process in the memory, and the position information indicating the recording position on the recording medium from the encoded data in the middle of the decoding process are detected, and based on the position information, Data information generation step for determining whether or not decoded data obtained from the encoded data can be output in the middle of the decoding process of the encoded data, generating data information indicating the result of the determination and storing it in the memory, and storing in the memory A data output control step for controlling the output of the decoded data stored in the memory based on the received data information; It was provided.
[0024]
As described above, independently of the decoding process of the encoded data, whether the output of the decoded data obtained from the encoded data is determined during the decoding process of the encoded data, and the result of the determination is shown. By storing the data information in the memory for storing the encoded data and the composite data, it is necessary to reserve only a small area in the memory where the data information can be stored. Compared with the case where the process for determining whether or not the decoded data can be output is performed, the output of the decoded data can be started at a higher speed.
[0025]
Furthermore, in the present invention, in a data reproduction apparatus that reads and reproduces an image signal and / or audio signal composed of encoded data recorded on a recording medium, a memory that stores the encoded data read from the recording medium, and a memory that stores the encoded data And decoding the encoded data, storing the decoded data obtained as a result of the decoding process in the memory, and detecting position information indicating a recording position on the recording medium from the encoded data in the middle of the decoding process, Data information for determining whether output of decoded data obtained from the encoded data is possible based on the position information during the decoding process of the encoded data, and generating data information indicating the result of the determination and storing it in the memory Data for controlling the output of the decoded data stored in the memory based on the data information stored in the generation circuit and the memory And to provide a data decoding apparatus and an output control circuit.
[0026]
As described above, independently of the decoding process of the encoded data, whether the output of the decoded data obtained from the encoded data is determined during the decoding process of the encoded data, and the result of the determination is shown. By storing the data information in the memory for storing the encoded data and the composite data, it is necessary to reserve only a small area in the memory where the data information can be stored. Compared with the case where the process for determining whether or not the decoded data can be output is performed, the output of the decoded data can be started at a higher speed.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0028]
(1) First embodiment
(1-1) Overall configuration of data reproducing apparatus
In FIG. 1, in which the same reference numerals are assigned to the parts corresponding to those of FIG. The
[0029]
The
Here, the
[0030]
The
Here, the
[0031]
The track
[0032]
The
Here, when the output terminal is switched to H1 by the switching
[0033]
The code request signal R1 generated by the
Similarly, the code
[0034]
By the way, for example, when data processing relating to a simple screen continues and the data consumption amount per unit time of the
[0035]
Further, when detecting the sector number abnormality signal from the
Here, when the amount of remaining data in the
[0036]
(1-2) ECC circuit and ECC decoding
The
[0037]
As shown in FIGS. 2 and 3, in the ECC decoding, the reproduction signal S1 read from the
[0038]
The
If an error is detected and the error can be corrected, the error position and the error correction pattern are output from the
Further, when error uncorrectability is detected, the uncorrectable flag of the frame is stored in the
[0039]
As a result, error positions and correction patterns are stored in the
[0040]
Here, the data storage address RA is expressed by the following equation using the data order Dn of the C1 series and the frame count Fn of the C1 code unit from the data written in the
[Expression 1]
[Expression 2]
[Equation 3]
[Expression 4]
Is required.
[0041]
Here, the
[0042]
Here, in the
[0043]
As shown in FIG. 5, for example, when EFM + writing (EFM + Wrire) is executed on the
[0044]
In this way, the data S2 of the three ECC series C11, C2, and C12 stored in the
From the
[0045]
FIG. 6 shows execution control timings of actual data transfer, error result output, and error correction of each series C11, C2, and C12 of ECC data on the
[0046]
In this way, the ECC three-series data is continuously transferred from the
[0047]
Here, when the ECC transfer code length NCYC is 170 cycles and the parity transfer code length PCYC is
[Equation 5]
Therefore, the timing of ECC operation clock (ECCK) is set to 395 cycles.
Here, from the
[0048]
FIG. 7 shows the error output timing of the
The error pattern EDX and the error position EAX are temporarily held in the
[0049]
FIG. 8 shows the number of ECC operation clocks (ECCK) required for accessing the
[0050]
Furthermore, the ECC C2 sequence requires 170 cycles for reading C2, 14 + 14 cycles for error correction for C2, and 1 cycle for writing C2. The ECC C12 series requires 170 cycles for reading C12, 8 + 8 cycles for error correction of C12, and 1 cycle for writing C12. Further, OUT indicating the end of ECC decoding is 1 cycle for reading sector information, 1 cycle for reading C11 correction results, 1 cycle for reading C2 error correction results, 1 cycle for reading C12 correction results, and 170 cycles for OUT. Cost. As a result, access to the
[0051]
The SUB that executes reading of the header data is the transfer of the sync code (4 bytes) + header data (16 bytes) to the
The flywheel is a protection and interpolation operation that keeps the locked state even if the sync is not detected several times. The
[0052]
Further, the execution condition of the frame unit operation (JOB) for writing to and reading from the memory address and the
[Formula 6]
[Expression 7]
[Equation 8]
[Equation 9]
Set as follows. Here, when the frame count for JOBXXX is set to Fn (XXX), the count is incremented by +1 when all the jobs for XXX in frame units are completed. SUB is included in C11.
[0053]
In EFM +, if a sync is detected several times in succession, a sync pattern FW lock is obtained. At this time, the memory write enable signal MWENS becomes MWENS = 1, and writing of EFM + demodulated data starts. When the sync cannot be detected several times in succession, the sync pattern FW is unlocked, the memory write enable signal becomes MWENS = 0, the EFM + write is prohibited, and each frame counter is reset to 0. Here, MWENS is a signal that becomes 1 when the sync pattern FW is locked, and is a memory write enable signal that executes writing to the memory when MWENS = 1.
[0054]
Here, in FIG. 9, for example, when the output OUT of the decoded data is a request OUTREQ once every four cycles of C11M, priority is given to access acquisition in the order of OUTREQ, EFMREQ, and ECCREQ for each request. The access acquisition timing for the
[0055]
Accordingly, the ECC series C11, C2, and C12 and OUT are synchronized with the sync FW once, the state of MWENS = 1 continues, and if the execution condition of each job continues to be satisfied, Fn (C11) to Fn (OUT) The difference value of the count value is a fixed value in the RFCK cycle.
By the way, in the
[0056]
(1-3) Sector detection
The detection of the target sector of the
When the sync pattern (S1 to S3) is detected by the
[0057]
Next, each bit BIT data of the sector information shown in FIG. 12 will be described. First,
[0058]
Next,
[0059]
[0060]
In actual sector detection, as shown in FIG. 13A, the
[0061]
Here, when SACT = 1, output is possible from the frame M (FIG. 18). However, when initialization of descrambling is performed using a sector address, it is a condition that an output sector address for descrambling can be extracted before that. The output sector address uses a protected output sector address due to the address continuity of the sector information.
[0062]
Further, this sector information is sent to the OCTL 56 together with the ECC decoded data S10 for which ECC decoding has been completed by the
At this time, if the target sector is not specified by the
[0063]
The detection result of the presence or absence of the sector sync pattern S3 of the
[0064]
In the
[0065]
Of the sector information,
[0066]
Here, as shown in FIG. 13B, the setting of the start sector address BSA and the end sector address ESA can be reset from the
[0067]
FIG. 14 shows a time relationship from when the sync pattern (S1 to S3) is locked until the sector address SA can be read and data is output. If the sync pattern (S1 to S3) is locked after EFM + demodulation is started after the
Actually, after executing approximately 173 frames for ECC decoding of C2 sequence including jitter more than the timing of STOK = 1, valid data of ECC decoded data is sent to the next stage at the timing when the start sector address BSA is detected. The data strobe signal DSTB to be output to the
[0068]
In the above configuration, the actual sector detection and data output are performed at the timing after execution of C11 indicated by the arrow in FIG. 15 in the state where the enable signal + LATCHED MWEN for enabling writing of EFM + decoded data is "1". The
[Expression 10]
Is required.
[0069]
Subsequently, as shown in FIG. 16, the frame at the head of the sector is detected (3 frames). For example, the sector FW is locked when the sector determination condition in which the
[Expression 11]
It is expressed by
[0070]
Subsequently, as shown in FIG. 17, after 170 frames of ECC decoding of the C11 sequence, all of the C11, C2, and C12 sequences of ECC decoding are executed, and when the
[0071]
Next, as shown in FIG. 18, when STOK = 1 when the start sector address BSA is detected in the frame M at the head of the sector, the frame M can be output in the future by ECC decoding, so the bit of the sector information can be output. When 1 is detected, that is, when the sector address BSA which is the head address of the sector is detected, the signal ISTT which becomes "1" is set to ISTT = 1, and the
[0072]
Here, as shown in FIG. 19, when the sector address BSA is set and SACT = 1, the data strobe signal DSTB = 1 and the ECC decoded data Fn (OUT) can be output sequentially from the frame M (FIG. 19). (Indicated by arrows) However, when the descrambling initialization is executed by the sector address SA, it is a condition that the output sector address SA for descrambling can be extracted before that. As the output sector address SA, the output sector address SA protected by the address continuity of the sector information is used.
[0073]
As shown in FIG. 20, when SACT = 0 in which the sector addresses BSA and ESA are not set, output is possible from the head of the sector after the 170th frame (indicated by arrows in the figure). However, the reason why the 170th frame cannot be output is that an output sector address SA for descrambling is required. Therefore, it waits for the output sector address SA to be read for a maximum of one sector. When initialization of descrambling is executed with the output sector address SA, DSTB = 1 and output to the
In this way, sector detection can be performed based on sector information, and output of data in the target sector can be controlled. Thus, by setting a small memory area for sector information in the
[0074]
According to the above configuration, by providing a small area for storing sector information used for sector detection in the
[0075]
Further, according to the above-described embodiment, whether or not the output to the
[0076]
Furthermore, according to the above-described embodiment, data can be output to the next-stage
[0077]
(2) Second embodiment
(2-1) Record data format
FIGS. 21 to 24 show the recording data format in the second embodiment. In this embodiment, data is recorded with one cluster (32 kbytes) as one unit. The configuration of this cluster will be described in detail below.
[0078]
That is, 2 kbytes (2060 bytes) of data is extracted as one sector of data, and 4 bytes of overhead is added thereto as shown in FIG. This overhead includes an error detection code (EDC (Error
Detection Code)).
[0079]
The data of one sector of the total 2064 (= 2060 + 4) bytes is 12 × 172 (= 2064) bytes as shown in FIG. Then, 16 pieces of data corresponding to one sector are collected to obtain 192 (= 12 × 16) × 172 bytes of data. A 16-byte outer code (PO) is added as parity for each byte in the vertical (column) direction to the 192 × 172-byte data. Further, with respect to 208 (= 192 + 16) × 172 bytes of data and PO parity, a 10-byte inner code (PI) is added as parity for each byte in the horizontal (row) direction.
[0080]
Further, of the data blocked in this way into 208 (= 192 + 16) × 182 (= 172 + 10) bytes, 16 × 182 byte outer code (PO) rows are 16 1 × 182 byte rows. As shown in FIG. 23, one line is inserted below the 16 sector data of
[0081]
Further, as shown in FIG. 24, the 208 × 182 byte data shown in FIG. 23 is divided into two in the vertical direction, and one frame is composed of 91 byte data to form 208 × 2 frame data. A 2-byte frame synchronization signal (FS) is further added to the head of the 91-byte frame data. As a result, as shown in FIG. 24, the data for one frame is 93 bytes in total, and the data is 208 × (93 × 2) bytes in total. This is data for one cluster (one ECC block). The size of the actual data part excluding the overhead part is 2 kbytes (= 2048 × 16/1024 kbytes).
[0082]
That is, in this example, one cluster (1 ECC block) is composed of 16 sectors, and one sector is composed of 24 frames. Such data is recorded on the
[0083]
(2-2) Data reproduction device and ECC decoding
FIG. 25 shows a
[0084]
In this figure, the
[0085]
The
[0086]
A reproduction signal from the optical disk 2 (FIG. 1) is converted into a binarized signal in the
[0087]
FIG. 26 shows a configuration example of the physical sector of the
[0088]
The sync pattern of 32 channel bits is a unique pattern that does not appear in the data, and its lower 22 bits are set to “0001000000000000000010001”.
[0089]
The main data is recorded in the data portion of each sync frame on the left side of FIG. 26, and PO information (parity) is recorded in the data portion of the last sync frame on the left side of FIG. In the right sync frame of FIG. 26, main data and PI information are recorded, and in the second sync frame from the end of the right sync frame, EDC information and PI information (parity) are recorded. In the table, PO information and PI information are recorded.
[0090]
FIG. 27 shows details of data excluding PI information and PO information of each sector, ID (sector number) (4 bytes), IED (error detection code for ID (2 bytes)), RSV (holding area) (6 bytes) ), One sector of data is composed of main data and EDC (4 bytes). The main data is scrambled.
[0091]
Then, 16 data sectors are collected, and a 16-byte PO code and a 10-byte PI code are added as shown in FIG. Further, the 16 rows including the PO code are interleaved so as to be arranged for each data sector. Then, as shown in FIG. 24, the obtained data is added with an FS (frame synchronization) code represented by a sync code SYx (x = 0, 1, 2,..., 7), and EFM + modulated. The As a result, the physical sector in the ECC block is composed of 13 × 2 sync frames as shown in FIG. Since one ECC block is composed of 16 sectors, the lower 4 bits of the physical sector address are any one of 0000-1111. As a result, the physical address of the first sector of the ECC block is 0000 in the lower 4 bits.
[0092]
The scramble process for the main data is performed by calculating an exclusive OR between the scramble data generated with the value specified by the lower 4 bits to 7 bits of the physical sector address as an initial value and the main data. Executed.
[0093]
In this specification, since various symbols are used for various signals, they will be described together here.
[0094]
block-top (Block Top)
This signal is H from the head of the sector when the SYLK signal is H.
C11M (Clock 11.2896 MHz)
This is the operation clock of the system, and its frequency is 11.2896 [MHz].
DSTB (Data strobe)
This is a data strobe signal that becomes H when main data is output as the stream data SD.
ECA (ERR Correction Address)
It is an error correction address signal indicating a position (address) where there is an error.
ECCK (ECC Clock)
This is an operation clock of the
ECD (Error Correction Data)
This is error correction data that becomes correct data when calculating an exclusive OR with erroneous data.
ECDE (ECC Code Data End)
This is a controller signal indicating the end of input data.
ECOD (ECC Code ERR)
This signal becomes H when error correction is impossible.
ECOR (ECC Correction)
It is a strobe signal indicating the output of error correctable data (ECA, ECD).
ECYE (ECC Cycle End)
It is a controller signal indicating the end of the cycle of input code data.
EDT (ECC Data)
This data is read from the
ESTB (Error Strobe)
This is an error correction result strobe signal that becomes H when the error correction result ER is transferred.
ESTT (ECC Start)
It is a controller signal indicating the head of input data.
EFM + W Frame (EFM + Write Frame Counter)
A signal representing a main frame to be written into the
HDEN (Header Data Enable)
This is a strobe signal of sector header data.
main-FMSY (main Frame Sync)
This signal is H at the main sync (first sync) of each PI row.
MWEN (Memory Write Enable)
This is an enable signal for writing EFM + demodulated data into the
MWRQ (EFM Write Request)
This is a request signal for writing EFM + demodulated data into the
OUTE (Output Flag)
This is an interpolation flag (output flag).
OSTT (ECC Output Start)
This is a signal output with a delay of 477 (ECCK) after ESTT in a predetermined code sequence.
RDT (Read Data)
Data on the read data bus of the
SALK (Sector Address Lock)
This is a signal indicating that the sector address (ID) is normally detected.
SAUL (Sector Address Unlock)
This is a signal having a polarity opposite to that of the SALK signal.
SCSY (Sector Sync)
This is a signal for determining the head of the sector, which becomes H in the frame of SY0.
SD (Stream Data)
Stream data (decoded output data).
SDCK (Stream Data Clock)
This is a stream data clock.
SFLG (Sector Flag)
This is an ECC uncorrectable flag for PI1 correction.
SINF (Sector Infomation)
This is a sector information strobe signal that becomes H at the head of the sector.
SUB (SUB Data)
This is data including ID and IED transferred to the
SYLK (Sync Lock)
This signal is H when a sync code is detected three times in succession.
SYUL (Sync Unlock)
This is a signal having a polarity opposite to that of the SYLK signal.
WDT (Write Data)
This is data on the write data bus of the
XHWE (Sector Header Write Enable)
This is an output enable signal for sector information to be written from the
[0095]
The data demodulated by the EFM + demodulating circuit 131 (FIG. 25) is stored in the
[0096]
When the head of the data sector recorded on the
[0097]
That is, the EFM +
[0098]
Next, in step SP3, it is determined whether or not the variable SClock is equal to 3. That is, it is determined whether or not a sync has been detected three times in succession. If the variable SClock is smaller than 3, the process returns to step SP1, and the subsequent processing is repeatedly executed. If it is determined in step SP3 that the variable SClock is equal to 3, the SYLK signal is set to H in step SP4 as a lock state. Then, in step SP5, in order to determine whether or not a sync has been detected three times in succession, the variable SClock is set to 2, the process returns to step SP1, and the subsequent processing is repeatedly executed.
[0099]
On the other hand, if it is determined in step SP1 that no sync code has been detected, the process proceeds to step SP6 and the variable SC. unlock Is incremented by 1 and the variable SC lock Is set to 0. In step SP7, the variable SC unlock Is equal to 3 or not. That is, it is determined whether or not the sync code has not been detected three times in succession. If the number of times of continuous detection is not more than 2, the process returns to step SP1, and the subsequent processing is repeatedly executed. If no sync is detected three times in succession, the process proceeds to step SP8, where the SYLK signal is set to L. Then, the process proceeds to step SP9 where the variable SC unlock Is set to 2 so that the SYLK signal can remain set to L when no sync code is detected even at the next sync code generation timing. unlock Is set to 2, and the process returns to step SP1.
[0100]
As described above, the EFM +
[0101]
In the above-described embodiment, the number of times of detection is set to 3 times. LOCK And the number of discontinuous detections N UNLOCK Each can be an arbitrary value.
[0102]
As described above, when the SYLK signal becomes H, that is, when the EFM +
[0103]
As described above, the EFM +
[0104]
Further, when the SYLK signal becomes H, the EFM +
[0105]
Next, proceeding to step SP33, it is determined whether or not the SYLK signal has changed to L. If it has not changed (if it remains H), the process returns to step SP31 and the subsequent processing is repeated. When the SYLK signal changes to L, the main-FMSY signal generation process is stopped.
[0106]
In this way, the EFM +
[0107]
When the SCSY signal is input from the EFM +
[0108]
In addition, as shown in FIG. 29F, the
[0109]
That is, when the data of the first main frame shown in FIG. 26 (the main frame of number 0 (the main frame in the uppermost row in FIG. 26)) is written in the
[0110]
After the execution of this PI1 correction (the first PI correction), the
[0111]
Then, the leading sector of the ECC block is detected based on the lower 4 bits of the detected physical sector address.
[0112]
FIG. 33 shows a timing chart when a block-top is detected following the transfer of the ID, and FIG. 34 shows a process after the block-top detection. Will be described later.
[0113]
FIG. 35 is a timing chart showing more detailed timing of the ID transfer described above. As shown in FIG. 35A, the
[0114]
FIG. 36 shows the configuration of sector information (SI). As shown in the figure, each bit of the sector information has the following information.
[0115]
Bit 7: Interpolation flag (OUTF) generation mode setting (1: Interpolation flag generation mode)
Bit 6: First sector of ECC block (set to 1 when lower 4 bits of physical sector address are 0) (1: first sector)
Bit 5: Start sector (If the physical sector address matches the start sector address specified by the
Bit 4: End sector (1 when the physical sector address matches the end sector address specified by the host CPU 140) (1: End sector)
Bit 3: Descramble initialization address bit 3 (7th bit of physical sector address)
Bit 2:
Bit 1: Descramble initialization address bit 1 (5th physical sector address bit)
Bit 0:
[0116]
A check process is performed using the 4-byte ID and 2-byte IED, as will be described later with reference to FIGS. 38 to 40, and the XHWE signal shown in FIG. To L. At this time, the sector information SI is transferred from the
[0117]
In actual sector detection, as shown in FIG. 37 (A), the
[0118]
Further, this sector information is sent to the
At this time, if the target sector is not specified by the
[0119]
Of the sector information,
[0120]
Here, as shown in FIG. 37 (B), the setting of the start sector address BSA and the end sector address ESA can be reset from the
[0121]
Next, ID and IED check processing in the
[0122]
The
[0123]
Therefore, in the first step SP41, it is determined whether or not the fetched IED check is normal. If the IED check is normal, the process proceeds to step SP42, and a variable SA indicating the number of sectors with a normal ID is obtained. lock Is incremented by one. A variable SA representing the number of consecutive sectors having an abnormal ID (the ID has an error) unlock Is set to 0.
[0124]
Next, proceeding to step SP43, the variable SA lock Is equal to 3 or not. Variable SA incremented at step SP42 lock Is determined not to be equal to 3, the process returns to step SP41, and the subsequent processing is repeatedly executed. In step SP43, the variable SA lock When it is determined that is equal to 3, that is, when a sector having a normal ID is reproduced three times in succession, the process proceeds to step SP44 and the flag IECOK is set to H. In step SP45, a variable SA is detected in order to detect the number of times that the next IED check is normal continuously. lock Is set to 2, and the process returns to step SP41 to repeat the subsequent processing.
[0125]
If it is determined in step SP41 that the IED is not normal, the process proceeds to step SP46 and variable SA unlock Is incremented by 1 and the variable SA lock Is set to 0. In step SP47, the variable SA unlock Is equal to 3, if not, the process returns to step SP41 to repeat the subsequent processing.
[0126]
In step SP47, the variable SA unlock Is determined to be equal to 3, that is, when a sector in which the IED check is not normal is detected three times in succession, the process proceeds to step SP48 and the flag IECOK is set to L. Next, in step SP49, when the next IED check is not normal, it is possible to continuously detect that the number of consecutive times is 3 times in the variable SA. unlock Is set to 2, and the process returns to step SP41 to repeat the subsequent processing.
[0127]
As described above, the
[0128]
The
[0129]
First, in step SP61, it is determined whether or not an ID (sector address) has been detected. If the ID is detected, the process proceeds to step SP62, and the ID is stored so that it can be compared with the next ID. In step SP63, it is determined whether or not the ID detected this time is one greater than the ID detected last time and stored in step SP62. If the current ID is one greater than the previous ID, the process proceeds to step SP64, and a variable N indicating that correct IDs are continuously detected. S Is incremented by one. In addition, a variable N representing the number of times IDs are not detected or are not consecutive. NS Is set to 0.
[0130]
In step SP65, the variable N S If it is not equal (if no ID that is incremented by 1 consecutively three times is detected), the process returns to step SP61 and the subsequent processing is repeatedly executed. Variable N S If it is determined that is equal to 3, the process proceeds to step SP66, and the flag AS indicating that the ID is continuously in a correct state is set to H. Then, in step SP67, when the next ID is detected, the variable N is detected so that it can be detected again that the correct ID has been detected three times in succession. S Is set to 2, and the process returns to step SP61 to repeat the subsequent processing.
[0131]
In step SP61, if no ID is detected, or if it is determined in step SP63 that the ID detected this time is not 1 larger than the previously detected ID (if determined to be discontinuous), Proceeding to step SP68, it is determined whether or not the flag SALK is H. This flag SALK will be described later with reference to FIG. 26, and is set to H when the IED check is normal continuously for 3 times or more and the ID continuity is maintained for 3 times or more. .
[0132]
If it is determined in step SP68 that the flag SALK is set to H, the process proceeds to step SP69, where ID interpolation processing is executed. That is, the ID is not detected or the IDs are not continuous. Therefore, an ID obtained by adding 1 to the previous ID is generated and used instead of the detected ID. To. When the flag SALK is set to L, such an interpolation process is not performed, and the process of step SP69 is skipped.
[0133]
Next, in step SP70, the variable N NS Is incremented by 1 and the variable N S Is set to 0. In step SP71, the variable N NS It is determined whether or not is equal to 3, and if it is determined that they are not equal, the process returns to step SP61 and the subsequent processing is repeatedly executed. In contrast, N NS When it is determined that is equal to 3, the process proceeds to step SP72 where the flag AS is set to L. In step SP73, if the next ID is not detected, the variable N is set so that it can be continuously detected that it has not been detected three times in succession. NS Is set to 2, and the process returns to step SP61 to repeat the subsequent processing.
[0134]
As described above, the
[0135]
The
[0136]
That is, in step SP81 in FIG. 40, it is determined whether or not the flag IECOK is H. If it is determined that the flag is H, the process proceeds to step SP82 to determine whether or not the flag AS is H. . If it is determined in step SP82 that the flag AS is H, the process proceeds to step SP83, and the flag ASLK is set to H.
[0137]
On the other hand, if it is determined in step SP81 that the flag IECOK is L, or if it is determined in step SP82 that the flag AS is L, the process proceeds to step SP84 and the flag SALK is set to L. To do.
[0138]
As described above, in the SBCD circuit 34, the flag SALK is set to H when the IEC is normal continuously for 3 times or more and the ID is incremented by 1 for 3 times or more. If the IEC is normal for 3 times or more continuously or the ID is discontinuous for 3 times or more, the flag SALK is set to L.
[0139]
The
[0140]
Note that the PI1 correction result is shown in FIG. lock Or SA unlock It is also possible to add to these conditions. In addition, SA lock Or SA unlock The number of times is set to 3 as described above, but can be set to a different value by the
[0141]
When SALK is in the state of SALK = L (SALK = H at this time) and SYLK = L (in this case, SYUL = H), writing EFM + demodulated data from EFM + demodulation circuit 31 to RAM 37 And ECC control are both reset. Thereafter, when the unlock state is canceled (SAUL = L) and SYLK = H, writing of EFM + demodulated data to the
[0142]
Unlock can be forcibly executed by the
[0143]
Also, it is possible to select whether the unlock state is executed by the
[0144]
When SYLK is in the H state (lock state) and the
[0145]
On the other hand, if block-top = H, as shown in FIG. 34, the value of EFM + W Frame is continuously incremented even when the value becomes 13 or more. As a result, as shown in FIG. 28, the data of each main frame of each ECC block is sequentially stored at different addresses in the
[0146]
In the same manner, EFM + demodulated data is written to the
[0147]
When reading data in the PO column direction, it is necessary to cancel the interleaving (FIG. 23) of the PO row. Therefore, for example, when reading the Nth byte column shown in FIG. 28, first, after reading the data of the Nth byte column from the top to the bottom, skipping the interleaved PO rows. Again, only the code of the PO row in the same Nth byte column is read and supplied to the
[0148]
Then, when the
[0149]
In PO correction, erasure correction is executed according to an error flag (PI1 flag) generated based on the result of PI1 correction. Further, in the PI2 correction, erasure correction is executed using an error flag (PO flag) generated according to the result of PO correction. Such erasure correction is performed in order to improve error correction capability, as in the case described above.
[0150]
The PI series data for which the PI2 correction processing has been completed is transferred from the
[0151]
The
[0152]
FIG. 41 shows signal timings when the error correction operation is executed. In this figure, ESTT (FIG. 41A) is a control signal indicating the head of a code (PI line or PO line), and ECDE (FIG. 41B) is a code (PI line or PO line). ) Is a control signal indicating the end of. ECYE (FIG. 41C) is a control signal indicating the end of the code (PI row or PO row) cycle. All of these are supplied from the
[0153]
As shown in FIG. 41, the PI code is transferred with 182 ECCKs from ESTT to EDCE. The PO code is also transferred with 208 ECCKs from ESTT to ECDE.
[0154]
When the code length of the PI row code is different from the code length of the PO column, the code cycle length is the longer of the code length of the PI row code or the PO column code (in this embodiment, the code of the PO column). 208), the data to be corrected (EDT) and the error flags for erasure correction (PI1 flag, PI2 flag, PO flag) are assumed to be any code series as shown in FIG. Can be input at the same timing. Moreover, arbitrary values can be set as parameters such as code length and parity number. That is, when changing the setting, if new setting data is supplied to the
[0155]
The data correction result is output in a cycle of 477 ECCK as shown by the following equation.
[0156]
Here, NCYC indicates the longer code length of the PI row code or the PO column code, and PCYC indicates the longer parity number. As shown in FIG. 41, the OSTT (FIG. 41D) is delayed from the timing of the ESTT (FIG. 41A) by the time of the data output cycle (at the timing of the correction result output). To the
[0157]
If error detection processing is executed and the detected error can be corrected, the
[0158]
In the erasure correction mode, the error position ECA [7: 0] (FIG. 42 (I)) data corresponding to the position to which the error flag EFLG (FIG. 42 (C)) is input is always output. If the data at the position is correct, the error pattern is ECD [7: 0] = 00 (H).
[0159]
When error correction is impossible, the timing chart is not shown, but at the same time the OSTT (FIG. CODEERR (FIG. 42 (G)) = H, and then ECOR (FIG. 42 (F)) does not enter the H state. O. The output of CODEERR (FIG. 42 (G)) is latched until the OSTT (FIG. 42 (E)) again becomes the H state, ECOR (FIG. 42 (F)), ECD [7: 0] (FIG. 42 (FIG. 42)). H)) and ECA [7: 0] (FIG. 42 (I)) continue to be output until OSTT (FIG. 42 (E)) next goes to the H state.
[0160]
43 to 45 show timing charts of control when the ECC process is executed. Here, PI1-R, PO-R, or PI2-R shown in FIGS. 43 (B), 44 (B), and 45 (B) are respectively PI1 (first PI correction), PO ( Data EDT [7: 0] and EFLG (FIG. 42 (C)) in each series of PO correction (PI correction) or PI2 (second PI correction) are corrected from the
[0161]
As shown in FIGS. 43 (A), 44 (A) and 45 (A), in order to write 1 PI row of data EFM + W (182-byte data) from the EFM +
[0162]
For example, when performing the PI1 correction of the ECC block, the data for one PI row is read during a period in which the data for one PI row is written. That is, data for one PI row is read from the
[0163]
FIG. 46 shows a data write / read process procedure to / from the
[0164]
Accordingly, the
[0165]
That is, in the next 182 MWRQ period, PI1-R of the second ECC block following the first ECC block is transferred first, and then PO-R of the first ECC block is transferred twice (two columns). Minutes of PO data is transferred).
[0166]
When such an operation is performed in each 182 MWRQ period and PO data of a total of 172 columns of the first ECC block is transferred, the
[0167]
Note that ECCK (FIG. 42A) is output from the
[0168]
As described above, when data to be error-corrected is input from the
[0169]
As described above, the error-corrected data written in the
[0170]
47, in which the same reference numerals are assigned to the parts corresponding to those in FIG. 25, is a block diagram showing the flow of signals when error correction processing is executed. The
[0171]
The demodulated data output from the EFM +
[0172]
The
[0173]
Next, in order to actually perform error correction, the
[0174]
Further, the
[0175]
The following information is stored in each bit of the 8-bit data of the error correction result ER shown in FIG.
Bit 7: Uncorrectable (0: Correctable / 1: Uncorrectable) (Set to 1 when error correction of the series is impossible)
Bit 6: PO (0: PI / 1: PO) (information bit for determining whether the series is PI or PO)
Bit 5: PI2 (0: PI1 / 1: PI2) (information bit for determining whether the series is PI1 or PI2)
Bit 4: Number of corrections (the value of the fifth bit (MSB) of error corrections)
Bit 3: Number of corrections (4th bit value of 4-bit error correction number)
Bit 2: Number of corrections (the value of the third bit of the 4-bit error correction number)
Bit 1: Number of corrections (value of second bit of 4-bit error correction number)
Bit 0: Number of corrections (value of first bit of 4-bit error correction number)
[0176]
An error flag (PI1 flag) (
The PI1 correction as described above is performed for 208 PI rows shown in FIG.
[0177]
Next, the
[0178]
The PO column data EDT read from the
[0179]
Further, the error correction result ER of the PO column is read from the
The above PO correction is performed for the 172 PO columns.
[0180]
Next, in the case of performing PI2 correction, after PI1 correction and PO correction are performed, data for the first one PI row is read from the
[0181]
The ECD and ECAH written to the
[0182]
The
[0183]
The error correction result ER of the PI2 line written in the
The PI2 correction as described above is performed for all the 208 PI rows.
[0184]
FIG. 49 is a timing chart showing a state of bus arbitration when accessing the
[0185]
The
[0186]
As described above, in this embodiment, the access right of the
[0187]
FIG. 50 shows the number of times the
[0188]
FIG. 51 is a timing chart showing the timing for outputting data of the error correction result ER from the
[0189]
DSTB (FIG. 51D) is a data strobe signal in which DSTB = H when the signal SD [7: 0] (FIG. 51E) is the main data. The three signals SINF, ESTB, or DSTB are generated by the
[0190]
OUTF (interpolation flag) (FIG. 51 (F)) is an error flag for the main data. Based on the PI and PO uncorrectable flags stored in the FLAG RAM 136C of FIG. It is added with an interpolation flag and output.
[0191]
The
[0192]
The
[0193]
The data output condition is set as follows, for example.
(1) Sector data for which output is designated.
(2) No error is detected from the ECC result.
(3) No error flag is added to the main data.
When the output conditions are set in this way, data that satisfies all these conditions is finally output. Regardless of the above conditions, the
[0194]
The
First, in step SP111, the
As a result, when it is determined in the next step SP112 that the decoded data is not data to be output, the process proceeds to step SP114 to stop outputting data. If it is determined that the decoded data is to be output satisfying the output condition, the process proceeds to step SP113.
[0195]
In step SP113, the
[0196]
(2-3) Operation and effect of the second embodiment
In the above configuration, data (PI1-R, PO-R, and PI2-R (FIGS. 43, 44, and 45)) transferred from the
[0197]
During this period, after executing the PI1 correction (PI1-W), the
[0198]
Here, the
When the
[0199]
As described above, the
Thereby, for example, the comparison processing step with the sector address of the target sector previously set by the
[0200]
According to the above configuration, when main data of ECC block data obtained by ECC decoding is output to the
Thus, when outputting ECC decode for each sector, it is not necessary to newly provide a circuit for detecting the sector address information ID from the ECC decode data and performing comparison processing with the sector address, and the entire circuit configuration can be simplified. At the same time, access to the sector data can be performed quickly and reliably.
[0201]
Furthermore, according to the above-described embodiment, the sector information SI is stored in a small area provided in the
[0202]
Further, according to the above-described embodiment, since the block processing is performed by the PI sequence and the PO sequence and ECC processing is performed, the next ECC block is straddled as in the case of ECC encoding by the C1 sequence and the C2 sequence. Thus, it is possible to immediately determine whether or not data can be output to the
[0203]
(3) Other embodiments
In the above-described embodiment, C1 / C2 convolution / Reed-Solomon coding, or a case where decoded data is decoded by adding an error correction inner code in the row direction and an error correction outer code in the column direction. Although described above, the present invention is not limited to this, and can be widely applied to decoding of encoded data to which an error correction code is added generally by interleaving or cross-interleaving.
In the above-described embodiments, the case where encoded data is an error correction code has been described. However, the present invention is not limited to this, and can be widely used for decoding encoded data.
[0204]
Furthermore, in the above-described embodiment, the case where the encoded data recorded on the
[0205]
【The invention's effect】
As described above, according to the present invention, independently of the decoding process of the encoded data, whether the output of the decoded data obtained from the encoded data is determined during the decoding process of the encoded data, By storing the data information indicating the result of the determination in the memory for storing the encoded data and the composite data, it is possible to perform the encoding only by securing a small area for storing the data information in the memory. Compared with the case where the process for determining whether or not to output decoded data is performed after the data decoding process is completed, the output of the decoded data can be started more quickly. Thus, the decoded data can be output more quickly without increasing the memory capacity. A data decoding apparatus and a data decoding method that can be started can be realized.
[0206]
Similarly, independently of the decoding process of the encoded data, whether to output the decoded data obtained from the encoded data is determined during the decoding process of the encoded data, and the result of the determination is shown. By storing the data information in the memory for storing the encoded data and the composite data, it is necessary to reserve a small area for storing the data information separately in the memory, and after the decoding process of the encoded data is completed. A data reproducing apparatus that can start outputting decoded data more quickly than the case where the process for determining whether or not decoded data can be output is performed, and thus can reproduce the decoded data more quickly without substantially increasing the memory capacity. realizable.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an overall configuration of a data reproducing apparatus.
FIG. 2 is a block diagram showing a configuration of the ECC circuit of FIG. 1;
FIG. 3 is a block diagram for explaining the connection of the demodulation circuit, sector detection circuit, and ECC circuit of FIG. 1;
4 is a schematic diagram for explaining data stored in a RAM of FIG. 2; FIG.
FIG. 5 is a schematic diagram for explaining an ECC result by the ECC circuit of FIG. 2;
6 is a timing chart for explaining execution control of ECC decoding by the ECC circuit of FIG. 2;
FIG. 7 is a timing chart for explaining error output by the ECC circuit of FIG. 2;
FIG. 8 is a table for explaining access to the RAM of the ECC circuit of FIG. 2;
9 is a timing chart for explaining the priority order of access to the RAM of the ECC circuit of FIG. 2;
FIG. 10 is a schematic diagram illustrating a frame configuration of reproduction data.
FIG. 11 is a schematic diagram for explaining a sector format of demodulated data.
FIG. 12 is a chart for explaining sector information.
FIG. 13 is a timing chart for explaining the setting of a sector address.
FIG. 14 is a timing chart for explaining sector detection and data output.
FIG. 15 is a timing chart for explaining sector detection and data output.
FIG. 16 is a timing chart for explaining sector detection and data output.
FIG. 17 is a timing chart for explaining sector detection and data output.
FIG. 18 is a timing chart for explaining sector detection and data output.
FIG. 19 is a timing chart for explaining sector detection and data output.
FIG. 20 is a timing chart for explaining sector detection and data output.
FIG. 21 is a schematic diagram illustrating a configuration of sector data according to the second embodiment;
FIG. 22 is a schematic diagram illustrating a configuration of an ECC block according to a second embodiment.
FIG. 23 is a schematic diagram illustrating interleaving of PO parity (outer code) according to the second embodiment;
FIG. 24 is a schematic diagram showing a data structure of a 32 Kbyte block before EFM modulation in the second embodiment;
FIG. 25 is a block diagram showing the configuration of the demodulation circuit system of the second embodiment.
FIG. 26 is a schematic diagram illustrating a configuration of a physical sector of an EFM modulation number according to the second embodiment;
FIG. 27 is a schematic diagram illustrating a data configuration of each sector according to the second embodiment;
FIG. 28 is a schematic diagram for explaining a storage state in a RAM according to the second embodiment;
FIG. 29 is a signal waveform diagram showing an operation of writing EFM demodulated output into RAM according to the second embodiment;
FIG. 30 is a flowchart showing a lock detection processing procedure according to the second embodiment;
FIG. 31 is a flowchart showing a procedure for generating an SCSY signal according to the second embodiment;
FIG. 32 is a flowchart showing a main-FMSY signal generation processing procedure according to the second embodiment;
FIG. 33 is a signal waveform diagram for explaining a block-top detection operation according to the second embodiment;
FIG. 34 is a signal waveform diagram for explaining processing operation after block-top detection according to the second embodiment;
FIG. 35 is a signal waveform diagram for explaining a SUB transfer operation according to the second embodiment;
FIG. 36 is a schematic diagram illustrating a configuration of sector information according to the second embodiment;
FIG. 37 is a timing chart used to explain the setting of sector addresses according to the second embodiment.
FIG. 38 is a flowchart showing the IED continuous normal detection determination processing procedure of the second embodiment;
FIG. 39 is a flowchart showing the ID (address) continuity determination processing procedure of the second embodiment;
FIG. 40 is a flowchart showing a SALK generation processing procedure of the second embodiment.
FIG. 41 is a signal waveform diagram for explaining an error correction operation according to the second embodiment;
FIG. 42 is a signal waveform diagram for explaining error correction operation of the second embodiment;
FIG. 43 is a timing chart for explaining the control operation of the ECC processing according to the second embodiment;
FIG. 44 is a timing chart for explaining the control operation of the ECC processing according to the second embodiment;
FIG. 45 is a timing chart used for explaining the control operation of the ECC processing according to the second embodiment;
FIG. 46 is a flowchart showing the processing procedure of the RAM controller of the ECC processing of the second embodiment.
47 is a block diagram showing a configuration of an error correction circuit system according to a second embodiment; FIG.
FIG. 48 is a schematic diagram illustrating an error correction result of the second embodiment.
FIG. 49 is a signal waveform diagram for explanation of bus arbitration of the second embodiment.
FIG. 50 is a schematic diagram illustrating the number of RAM accesses in one ECC block correction according to the second embodiment;
FIG. 51 is a signal waveform diagram for explaining output of an error correction result in the second embodiment;
FIG. 52 is a flowchart for explaining the output of sector data according to the second embodiment;
FIG. 53 is a block diagram showing a conventional data reproducing apparatus.
54 is a block diagram showing the ECC circuit of FIG. 53. FIG.
FIG. 55 is a schematic diagram for explaining ECC decoding by the ECC circuit of FIG. 54;
FIG. 56 is a schematic diagram for explaining ECC decoding by the ECC circuit of FIG. 54;
FIG. 57 is a schematic diagram for explaining ECC decoding by the ECC circuit of FIG. 54;
FIG. 58 is a schematic diagram for explaining ECC decoding by the ECC circuit of FIG. 54;
[Explanation of symbols]
DESCRIPTION OF
Claims (31)
上記記録媒体から読み出した上記符号化データを記憶するメモリと、
上記メモリに記憶した符号化データを復号処理し、当該復号処理の結果得られる復号データを上記メモリに記憶させるデータ復号回路と、
上記復号処理途中の符号化データから上記記録媒体における記録位置を示す位置情報を検出すると共に、当該位置情報に基づいて、当該符号化データから得られる復号データの出力可否を当該符号化データの復号処理途中で判定し、当該判定の結果を示すデータ情報を生成して上記メモリに記憶させるデータ情報生成回路と、
上記メモリに記憶された上記データ情報に基づいて、上記メモリに記憶された上記復号データの出力を制御するデータ出力制御回路と
を具えることを特徴とするデータ復号装置。In a data decoding apparatus for decoding encoded data recorded on a recording medium,
A memory for storing the encoded data read from the recording medium;
A data decoding circuit for decoding the encoded data stored in the memory and storing the decoded data obtained as a result of the decoding processing in the memory;
Position information indicating a recording position on the recording medium is detected from the encoded data in the middle of the decoding process, and whether or not the decoded data output from the encoded data is output based on the position information is decoded. A data information generation circuit that determines during processing, generates data information indicating a result of the determination, and stores the data information in the memory;
And a data output control circuit for controlling an output of the decoded data stored in the memory based on the data information stored in the memory .
上記データ情報生成回路は、上記判定の結果及び上記位置情報を示す上記データ情報を生成し、The data information generation circuit generates the data information indicating the determination result and the position information,
上記データ出力制御回路は、上記データ情報に基づいて、上記復号データをデスクランブル処理するThe data output control circuit descrambles the decoded data based on the data information.
ことを特徴とする請求項1に記載のデータ復号装置。The data decoding apparatus according to claim 1.
ことを特徴とする請求項1に記載のデータ復号装置。The data decoding apparatus according to claim 1, wherein the recording medium is a disk recording medium.
ことを特徴とする請求項3に記載のデータ復号装置。The data decoding apparatus according to claim 3 , wherein the data information is sector information about the disk recording medium.
ことを特徴とする請求項3に記載のデータ復号装置。The data decoding apparatus according to claim 3 , wherein the data information generation circuit detects a sector of data to be output on the disk recording medium based on the data information.
ことを特徴とする請求項4に記載のデータ復号装置。5. The data decoding apparatus according to claim 4 , wherein the sector information is sector address information corresponding to the read encoded data and an error correction result and / or sector address information corresponding to data to be output. .
ことを特徴とする請求項1に記載のデータ復号装置。The data decoding apparatus according to claim 1, wherein the memory has a first-in first-out (FIFO) function.
ことを特徴とする請求項1に記載のデータ復号装置。The data decoding apparatus according to claim 1, wherein the encoded data is interleave encoded.
ことを特徴とする請求項1に記載のデータ復号装置。The data decoding apparatus according to claim 1, wherein the encoded data is error correction code data.
ことを特徴とする請求項9に記載のデータ復号装置。The data decoding apparatus according to claim 9 , wherein the error correction code of the error correction code data is a C1 / C2 convolution / Reed-Solomon code.
ことを特徴とする請求項9に記載のデータ復号装置。The data according to claim 9 , wherein the error correction code of the error correction code data is formed by adding an error correction inner code in the row direction of the encoded data and adding an error correction outer code in the column direction. Decoding device.
上記誤り訂正内符号が付加された行方向のデータを行単位で第1のブロツク分だけエラー訂正し、
上記誤り訂正外符号が付加された列方向のデータを列単位で上記第1のブロツク分だけエラー訂正し、
上記行単位で第1のブロツク分だけエラー訂正された上記誤り訂正内符号が付加された上記行方向のデータに対して行単位で再びエラー訂正する
ことを特徴とする請求項11に記載のデータ復号装置。The data decoding circuit is
The error correction is performed on the data in the row direction to which the error correction inner code is added by the first block in units of rows,
The column-direction data to which the error correction outer code is added is error-corrected by the first block in units of columns,
12. The data according to claim 11 , wherein error correction is performed again on a row-by-row basis for the data in the row direction to which the error correction inner code that has been error-corrected by the first block in the row unit is added. Decoding device.
上記行方向のデータを1行分又は上記列方向のデータを1列分だけ転送完了したとき、当該タイミングにおいてレジスタ内に格納されているエラー位置及びエラーパターンに基づくエラー訂正を実行する
ことを特徴とする請求項12に記載のデータ復号装置。The data decoding circuit is
When the data in the row direction is transferred for one row or the data in the column direction is transferred for one column, error correction based on the error position and error pattern stored in the register is executed at the timing. The data decoding device according to claim 12 .
上記記録媒体から読み出した上記符号化データメモリに記憶する記憶ステツプと、
上記メモリに記憶した符号化データを復号処理し、当該復号処理の結果得られる復号データを上記メモリに記憶するデータ復号ステツプと、
上記復号処理途中の符号化データから上記記録媒体における記録位置を示す位置情報を検出すると共に、当該位置情報に基づいて、当該符号化データから得られる復号データの出力可否を当該符号化データの復号処理途中で判定し、当該判定の結果を示すデータ情報を生成して上記メモリに記憶するデータ情報生成ステツプと、
上記メモリに記憶された上記データ情報に基づいて、上記メモリに記憶された上記復号データの出力を制御するデータ出力制御ステツプと
を具えることを特徴とするデータ復号方法。In a data decoding method for decoding encoded data recorded on a recording medium,
A storage step of storing in the encoded data memory read from the recording medium;
A data decoding step of decoding the encoded data stored in the memory and storing the decoded data obtained as a result of the decoding processing in the memory;
Position information indicating a recording position on the recording medium is detected from the encoded data in the middle of the decoding process, and whether or not the decoded data output from the encoded data is output based on the position information is decoded. A data information generation step for determining in the middle of processing, generating data information indicating the result of the determination and storing the data information in the memory;
Based on the data information stored in the memory, the data decoding method characterized in that it comprises a data output control step for controlling output of the decoded data stored in the memory.
上記データ情報生成ステツプでは、上記判定の結果及び上記位置情報を示す上記データ情報を生成し、In the data information generation step, the data information indicating the result of the determination and the position information is generated,
上記データ出力制御ステツプでは、上記データ情報に基づいて、上記復号データをデスクランブル処理するIn the data output control step, the decoded data is descrambled based on the data information.
ことを特徴とする請求項14に記載のデータ復号方法。The data decoding method according to claim 14.
ことを特徴とする請求項14に記載のデータ復号方法。The data decoding method according to claim 14 , wherein the recording medium is a disk recording medium.
ことを特徴とする請求項16に記載のデータ復号方法。The data decoding method according to claim 16 , wherein the data information is sector information about the disk recording medium.
ことを特徴とする請求項16に記載のデータ復号方法。The data decoding method according to claim 16 , wherein, in the data information generation step, a sector of data to be output on the disk recording medium is detected based on the data information.
ことを特徴とする請求項17に記載のデータ復号方法。The data decoding method according to claim 17 , wherein the sector information is sector address information and error correction results corresponding to the read encoded data and / or sector address information corresponding to data to be output. .
ことを特徴とする請求項14に記載のデータ復号方法。The data decoding method according to claim 14 , wherein the memory has a first-in first-out (FIFO) function.
ことを特徴とする請求項14に記載のデータ復号方法。The data decoding method according to claim 14 , wherein the encoded data is interleave encoded.
ことを特徴とする請求項14に記載のデータ復号方法。The data decoding method according to claim 14 , wherein the encoded data is error correction code data.
ことを特徴とする請求項22に記載のデータ復号方法。The data decoding method according to claim 22 , wherein the error correction code of the error correction code data is a C1 / C2 convolution / Reed-Solomon code.
ことを特徴とする請求項22に記載のデータ復号方法。The data according to claim 22 , wherein the error correction code of the error correction code data includes an error correction inner code added in the row direction of the encoded data and an error correction outer code added in the column direction. Decryption method.
上記誤り訂正内符号が付加された行方向のデータを行単位で第1のブロツク分だけエラー訂正し、
上記誤り訂正外符号が付加された列方向のデータを列単位で上記第1のブロツク分だけエラー訂正し、
上記行単位で第1のブロツク分だけエラー訂正された上記誤り訂正内符号が付加された上記行方向のデータに対して行単位で再びエラー訂正する
ことを特徴とする請求項24に記載のデータ復号方法。In the above data decoding step ,
The error correction is performed on the data in the row direction to which the error correction inner code is added by the first block in units of rows,
The column-direction data to which the error correction outer code is added is error-corrected by the first block in units of columns,
25. The data according to claim 24 , wherein error correction is performed again on a row-by-row basis for the data in the row direction to which the error correction inner code that has been error-corrected by the first block in the row unit is added. Decryption method.
ことを特徴とする請求項14に記載のデータ復号方法。 15. The data decoding method according to claim 14 , wherein in the data decoding step, moving image data that has been compression-encoded is decoded.
上記記録媒体から読み出した上記符号化データを記憶するメモリと、当該メモリに記憶した符号化データを復号処理し、当該復号処理の結果得られる復号データを上記メモリに記憶させるデータ復号回路と、上記復号処理途中の符号化データから上記記録媒体における記録位置を示す位置情報を検出すると共に、当該位置情報に基づいて、当該符号化データから得られる復号データの出力可否を当該符号化データの復号処理途中で判定し、当該判定の結果を示すデータ情報を生成して上記メモリに記憶させるデータ情報生成回路と、上記メモリに記憶された上記データ情報に基づいて、上記メモリに記憶された上記復号データの出力を制御するデータ出力制御回路とを有するデータ復号装置を具える
ことを特徴とするデータ再生装置。In a data reproduction apparatus for reading and reproducing an image signal and / or an audio signal composed of encoded data recorded on a recording medium,
A memory for storing the encoded data read from the recording medium; a data decoding circuit for decoding the encoded data stored in the memory; and storing decoded data obtained as a result of the decoding process in the memory; The position information indicating the recording position on the recording medium is detected from the encoded data in the middle of the decoding process, and on the basis of the position information, whether or not the decoded data obtained from the encoded data can be output is decoded. A data information generation circuit for generating data information indicating a result of the determination and storing the data in the memory, and the decoded data stored in the memory based on the data information stored in the memory A data reproduction apparatus comprising: a data decoding apparatus having a data output control circuit for controlling the output of the data reproduction apparatus.
ことを特徴とする請求項27に記載のデータ再生装置。 The data reproduction apparatus according to claim 27 , wherein the encoded data is error correction code data, and the error correction code of the error correction code data is a C1 / C2 convolution / Reed-Solomon code.
ことを特徴とする請求項28に記載のデータ再生装置。29. The data reproducing apparatus according to claim 28 , wherein the error correction code is formed by adding an error correction inner code in the row direction of encoded data and adding an error correction outer code in the column direction.
上記誤り訂正内符号が付加された行方向のデータを行単位で第1のブロツク分だけエラー訂正し、
上記誤り訂正外符号が付加された列方向のデータを列単位で上記第1のブロツク分だけエラー訂正し、
上記行単位で第1のブロツク分だけエラー訂正された上記誤り訂正内符号が付加された上記行方向のデータに対して行単位で再びエラー訂正する
ことを特徴とする請求項29に記載のデータ再生装置。The data decoding circuit is
The error correction is performed on the data in the row direction to which the error correction inner code is added by the first block in units of rows,
The column-direction data to which the error correction outer code is added is error-corrected by the first block in units of columns,
30. The data according to claim 29 , wherein error correction is performed again on a row-by-row basis for the data in the row direction to which the error correction inner code that has been error-corrected by the first block in the row unit is added. Playback device.
上記メモリから上記行方向のデータを1行分又は上記列方向のデータを1列分だけ転送完了したとき、当該タイミングにおいてレジスタ内に格納されているエラー位置及びエラーの訂正パターンに基づくエラー訂正を実行する
ことを特徴とする請求項29に記載のデータ再生装置。The data decoding circuit is
When complete transfer from the memory the data of the row direction by one line or one column of the column direction of the data, the error correction based on the correction pattern of the error location and error stored in register in the timing The data reproducing apparatus according to claim 29 , wherein the data reproducing apparatus is executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30869796A JP3672139B2 (en) | 1996-02-19 | 1996-11-05 | Data decoding apparatus and method, and data reproducing apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8-55471 | 1996-02-19 | ||
JP5547196 | 1996-02-19 | ||
JP30869796A JP3672139B2 (en) | 1996-02-19 | 1996-11-05 | Data decoding apparatus and method, and data reproducing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09288870A JPH09288870A (en) | 1997-11-04 |
JP3672139B2 true JP3672139B2 (en) | 2005-07-13 |
Family
ID=26396364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30869796A Expired - Fee Related JP3672139B2 (en) | 1996-02-19 | 1996-11-05 | Data decoding apparatus and method, and data reproducing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3672139B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5674015B2 (en) * | 2010-10-27 | 2015-02-18 | ソニー株式会社 | Decoding apparatus and method, and program |
-
1996
- 1996-11-05 JP JP30869796A patent/JP3672139B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09288870A (en) | 1997-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3305966B2 (en) | Data decoding apparatus and method, and data reproducing apparatus | |
KR100496211B1 (en) | Data decoding device and method and data reproducing device | |
US5793724A (en) | Optical disk error-correcting code system correlating error correction with sector address | |
JP3562544B2 (en) | Decoding device and decoding method | |
EP0686973B1 (en) | Data reproducing device and data recording medium | |
KR100195015B1 (en) | Memory Controls and Methods | |
JPH1125573A (en) | High speed reproducing control device on digital video disk and method thereof | |
JPH10233701A (en) | System decoder provided with memory for correcting error for high speed data processing/transmission and memory control method for error correction | |
JP2001126398A (en) | Data reproducing device and its method | |
JP3672139B2 (en) | Data decoding apparatus and method, and data reproducing apparatus | |
JP3700885B2 (en) | Data decoding apparatus and method, and data reproducing apparatus | |
JP3564910B2 (en) | Data reproducing apparatus and data reproducing method | |
JP4140344B2 (en) | Decoding device and computer program | |
US6804182B2 (en) | Optical disc reproducing apparatus and semiconductor integrated circuit and therefor | |
JPH11177581A (en) | Data transmitter, data receiver and data recorder | |
JPH09265730A (en) | Data reproducing device and method therefor | |
KR19980066264A (en) | Data decoding apparatus and method and data reproducing apparatus | |
JPH09266564A (en) | Device and method for data decoding, and data reproducing device | |
JP3759992B2 (en) | Recorded information playback device | |
CA2385422C (en) | Data reproduction apparatus and data storage medium | |
JP2004152337A (en) | Recording and reproducing device, computer program and transmitting and receiving system | |
JP2000057712A (en) | Data reproducing device and electronic apparatus equipped with this device | |
AU708660B2 (en) | Data reproducing device and data recording medium | |
KR19990033794A (en) | Data input / output control device and method of variable bit rate buffer | |
JP2003203420A (en) | Digital information recording and reproducing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041001 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050401 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050414 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |